@dxc-technology/halstack-react 0.0.0-e345e78 → 0.0.0-e3e5511

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 (269) hide show
  1. package/BackgroundColorContext.js +46 -0
  2. package/ThemeContext.js +250 -0
  3. package/V3Select/V3Select.js +549 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +264 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.js +353 -0
  8. package/accordion/index.d.ts +28 -0
  9. package/accordion-group/AccordionGroup.js +186 -0
  10. package/accordion-group/index.d.ts +16 -0
  11. package/alert/Alert.js +403 -0
  12. package/alert/index.d.ts +51 -0
  13. package/badge/Badge.js +63 -0
  14. package/{dist/box → box}/Box.js +31 -23
  15. package/box/index.d.ts +25 -0
  16. package/button/Button.js +238 -0
  17. package/button/Button.stories.js +27 -0
  18. package/button/index.d.ts +24 -0
  19. package/{dist/card → card}/Card.js +72 -35
  20. package/card/index.d.ts +22 -0
  21. package/{dist/checkbox → checkbox}/Checkbox.js +107 -32
  22. package/checkbox/index.d.ts +24 -0
  23. package/chip/Chip.js +265 -0
  24. package/chip/index.d.ts +22 -0
  25. package/{dist/common → common}/OpenSans.css +0 -0
  26. package/{dist/common → common}/RequiredComponent.js +2 -8
  27. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  28. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  29. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  30. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  31. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  32. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  33. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  34. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  35. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  36. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  37. package/common/utils.js +22 -0
  38. package/common/variables.js +1574 -0
  39. package/{dist/date → date}/Date.js +81 -59
  40. package/date/index.d.ts +27 -0
  41. package/date-input/DateInput.js +400 -0
  42. package/date-input/index.d.ts +95 -0
  43. package/{dist/dialog → dialog}/Dialog.js +61 -36
  44. package/dialog/index.d.ts +18 -0
  45. package/dropdown/Dropdown.js +544 -0
  46. package/dropdown/index.d.ts +26 -0
  47. package/file-input/FileInput.js +644 -0
  48. package/file-input/FileItem.js +287 -0
  49. package/file-input/index.d.ts +81 -0
  50. package/{dist/footer → footer}/Footer.js +122 -47
  51. package/footer/Icons.js +77 -0
  52. package/footer/index.d.ts +25 -0
  53. package/header/Header.js +470 -0
  54. package/header/Icons.js +59 -0
  55. package/header/index.d.ts +25 -0
  56. package/{dist/heading → heading}/Heading.js +93 -22
  57. package/heading/index.d.ts +17 -0
  58. package/input-text/Icons.js +22 -0
  59. package/input-text/InputText.js +705 -0
  60. package/input-text/index.d.ts +36 -0
  61. package/layout/ApplicationLayout.js +327 -0
  62. package/layout/Icons.js +55 -0
  63. package/link/Link.js +237 -0
  64. package/link/index.d.ts +23 -0
  65. package/main.d.ts +40 -0
  66. package/{dist/main.js → main.js} +112 -16
  67. package/number-input/NumberInput.js +136 -0
  68. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +3 -2
  69. package/number-input/index.d.ts +113 -0
  70. package/package.json +31 -19
  71. package/paginator/Icons.js +66 -0
  72. package/paginator/Paginator.js +305 -0
  73. package/paginator/index.d.ts +20 -0
  74. package/password-input/PasswordInput.js +203 -0
  75. package/password-input/index.d.ts +94 -0
  76. package/{dist/progress-bar → progress-bar}/ProgressBar.js +97 -44
  77. package/progress-bar/index.d.ts +18 -0
  78. package/{dist/radio → radio}/Radio.js +39 -21
  79. package/radio/index.d.ts +23 -0
  80. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +93 -69
  81. package/resultsetTable/index.d.ts +19 -0
  82. package/select/Select.js +1137 -0
  83. package/select/index.d.ts +131 -0
  84. package/sidenav/Sidenav.js +179 -0
  85. package/sidenav/index.d.ts +13 -0
  86. package/slider/Slider.js +404 -0
  87. package/slider/index.d.ts +29 -0
  88. package/spinner/Spinner.js +381 -0
  89. package/spinner/index.d.ts +17 -0
  90. package/{dist/switch → switch}/Switch.js +52 -25
  91. package/switch/index.d.ts +24 -0
  92. package/table/Table.js +132 -0
  93. package/table/index.d.ts +13 -0
  94. package/tabs/Tabs.js +343 -0
  95. package/tabs/index.d.ts +19 -0
  96. package/{dist/tag → tag}/Tag.js +100 -35
  97. package/tag/index.d.ts +24 -0
  98. package/text-input/TextInput.js +974 -0
  99. package/text-input/index.d.ts +135 -0
  100. package/textarea/Textarea.js +369 -0
  101. package/textarea/index.d.ts +117 -0
  102. package/{dist/toggle → toggle}/Toggle.js +16 -19
  103. package/toggle/index.d.ts +21 -0
  104. package/toggle-group/ToggleGroup.js +327 -0
  105. package/toggle-group/index.d.ts +21 -0
  106. package/{dist/upload → upload}/Upload.js +13 -8
  107. package/{dist/upload → upload}/buttons-upload/ButtonsUpload.js +35 -25
  108. package/upload/buttons-upload/Icons.js +40 -0
  109. package/{dist/upload → upload}/dragAndDropArea/DragAndDropArea.js +84 -37
  110. package/upload/dragAndDropArea/Icons.js +39 -0
  111. package/upload/file-upload/FileToUpload.js +189 -0
  112. package/upload/file-upload/Icons.js +66 -0
  113. package/{dist/upload → upload}/files-upload/FilesToUpload.js +16 -16
  114. package/upload/index.d.ts +15 -0
  115. package/upload/transaction/Icons.js +160 -0
  116. package/upload/transaction/Transaction.js +148 -0
  117. package/{dist/upload → upload}/transactions/Transactions.js +38 -20
  118. package/useTheme.js +22 -0
  119. package/wizard/Icons.js +65 -0
  120. package/wizard/Wizard.js +405 -0
  121. package/wizard/index.d.ts +18 -0
  122. package/README.md +0 -66
  123. package/babel.config.js +0 -4
  124. package/dist/accordion/Accordion.js +0 -264
  125. package/dist/accordion/Accordion.stories.js +0 -207
  126. package/dist/accordion/readme.md +0 -96
  127. package/dist/alert/Alert.js +0 -302
  128. package/dist/alert/Alert.stories.js +0 -158
  129. package/dist/alert/close.svg +0 -4
  130. package/dist/alert/error.svg +0 -4
  131. package/dist/alert/info.svg +0 -4
  132. package/dist/alert/readme.md +0 -43
  133. package/dist/alert/success.svg +0 -4
  134. package/dist/alert/warning.svg +0 -4
  135. package/dist/button/Button.js +0 -183
  136. package/dist/button/Button.stories.js +0 -224
  137. package/dist/button/readme.md +0 -93
  138. package/dist/checkbox/Checkbox.stories.js +0 -144
  139. package/dist/checkbox/readme.md +0 -116
  140. package/dist/chip/Chip.js +0 -170
  141. package/dist/common/services/example-service.js +0 -10
  142. package/dist/common/services/example-service.test.js +0 -12
  143. package/dist/common/utils.js +0 -42
  144. package/dist/common/variables.js +0 -260
  145. package/dist/date/Date.stories.js +0 -205
  146. package/dist/date/calendar.svg +0 -1
  147. package/dist/date/calendar_dark.svg +0 -1
  148. package/dist/date/readme.md +0 -73
  149. package/dist/dialog/Dialog.stories.js +0 -217
  150. package/dist/dialog/readme.md +0 -32
  151. package/dist/dropdown/Dropdown.js +0 -412
  152. package/dist/dropdown/Dropdown.stories.js +0 -249
  153. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  154. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  155. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  156. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  157. package/dist/dropdown/readme.md +0 -69
  158. package/dist/footer/Footer.stories.js +0 -94
  159. package/dist/footer/dxc_logo_wht.png +0 -0
  160. package/dist/footer/readme.md +0 -41
  161. package/dist/header/Header.js +0 -350
  162. package/dist/header/Header.stories.js +0 -176
  163. package/dist/header/close_icon.svg +0 -1
  164. package/dist/header/dxc_logo_black.png +0 -0
  165. package/dist/header/dxc_logo_white.png +0 -0
  166. package/dist/header/hamb_menu_black.svg +0 -1
  167. package/dist/header/hamb_menu_white.svg +0 -1
  168. package/dist/header/readme.md +0 -33
  169. package/dist/input-text/InputText.js +0 -519
  170. package/dist/input-text/InputText.stories.js +0 -209
  171. package/dist/input-text/error.svg +0 -1
  172. package/dist/input-text/readme.md +0 -91
  173. package/dist/link/Link.js +0 -136
  174. package/dist/link/readme.md +0 -51
  175. package/dist/paginator/Paginator.js +0 -178
  176. package/dist/paginator/images/next.svg +0 -3
  177. package/dist/paginator/images/nextPage.svg +0 -3
  178. package/dist/paginator/images/previous.svg +0 -3
  179. package/dist/paginator/images/previousPage.svg +0 -3
  180. package/dist/paginator/readme.md +0 -50
  181. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  182. package/dist/progress-bar/readme.md +0 -63
  183. package/dist/radio/Radio.stories.js +0 -166
  184. package/dist/radio/readme.md +0 -70
  185. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  186. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  187. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  188. package/dist/select/Select.js +0 -442
  189. package/dist/select/Select.stories.js +0 -235
  190. package/dist/select/readme.md +0 -72
  191. package/dist/sidenav/Sidenav.js +0 -217
  192. package/dist/sidenav/arrow_icon.svg +0 -3
  193. package/dist/slider/Slider.js +0 -258
  194. package/dist/slider/Slider.stories.js +0 -241
  195. package/dist/slider/readme.md +0 -64
  196. package/dist/spinner/Spinner.js +0 -196
  197. package/dist/spinner/Spinner.stories.js +0 -183
  198. package/dist/spinner/readme.md +0 -65
  199. package/dist/switch/Switch.stories.js +0 -134
  200. package/dist/switch/readme.md +0 -133
  201. package/dist/table/Table.js +0 -84
  202. package/dist/tabs/Tabs.js +0 -170
  203. package/dist/tabs/Tabs.stories.js +0 -130
  204. package/dist/tabs/readme.md +0 -78
  205. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  206. package/dist/tabs-for-sections/readme.md +0 -78
  207. package/dist/textarea/Textarea.js +0 -226
  208. package/dist/toggle/Toggle.stories.js +0 -297
  209. package/dist/toggle/readme.md +0 -80
  210. package/dist/upload/Upload.stories.js +0 -72
  211. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  212. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  213. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  214. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  215. package/dist/upload/file-upload/FileToUpload.js +0 -158
  216. package/dist/upload/file-upload/audio-icon.svg +0 -4
  217. package/dist/upload/file-upload/close.svg +0 -4
  218. package/dist/upload/file-upload/file-icon.svg +0 -4
  219. package/dist/upload/file-upload/video-icon.svg +0 -4
  220. package/dist/upload/readme.md +0 -37
  221. package/dist/upload/transaction/Transaction.js +0 -155
  222. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  223. package/dist/upload/transaction/audio-icon.svg +0 -4
  224. package/dist/upload/transaction/error-icon.svg +0 -4
  225. package/dist/upload/transaction/file-icon-err.svg +0 -4
  226. package/dist/upload/transaction/file-icon.svg +0 -4
  227. package/dist/upload/transaction/image-icon-err.svg +0 -4
  228. package/dist/upload/transaction/image-icon.svg +0 -4
  229. package/dist/upload/transaction/success-icon.svg +0 -4
  230. package/dist/upload/transaction/video-icon-err.svg +0 -4
  231. package/dist/upload/transaction/video-icon.svg +0 -4
  232. package/dist/wizard/Wizard.js +0 -310
  233. package/dist/wizard/invalid_icon.svg +0 -6
  234. package/dist/wizard/valid_icon.svg +0 -6
  235. package/dist/wizard/validation-wrong.svg +0 -6
  236. package/test/Accordion.test.js +0 -33
  237. package/test/Alert.test.js +0 -53
  238. package/test/Box.test.js +0 -10
  239. package/test/Button.test.js +0 -18
  240. package/test/Card.test.js +0 -30
  241. package/test/Checkbox.test.js +0 -45
  242. package/test/Chip.test.js +0 -25
  243. package/test/Date.test.js +0 -393
  244. package/test/Dialog.test.js +0 -23
  245. package/test/Dropdown.test.js +0 -130
  246. package/test/Footer.test.js +0 -99
  247. package/test/Header.test.js +0 -39
  248. package/test/Heading.test.js +0 -35
  249. package/test/InputText.test.js +0 -236
  250. package/test/Link.test.js +0 -25
  251. package/test/Paginator.test.js +0 -165
  252. package/test/ProgressBar.test.js +0 -35
  253. package/test/Radio.test.js +0 -37
  254. package/test/ResultsetTable.test.js +0 -282
  255. package/test/Select.test.js +0 -191
  256. package/test/Sidenav.test.js +0 -87
  257. package/test/Slider.test.js +0 -65
  258. package/test/Spinner.test.js +0 -27
  259. package/test/Switch.test.js +0 -45
  260. package/test/Table.test.js +0 -36
  261. package/test/Tabs.test.js +0 -88
  262. package/test/TabsForSections.test.js +0 -34
  263. package/test/Tag.test.js +0 -32
  264. package/test/TextArea.test.js +0 -52
  265. package/test/Toggle.test.js +0 -43
  266. package/test/Upload.test.js +0 -60
  267. package/test/Wizard.test.js +0 -130
  268. package/test/mocks/pngMock.js +0 -1
  269. package/test/mocks/svgMock.js +0 -1
package/badge/Badge.js ADDED
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
+
18
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
19
+
20
+ function _templateObject() {
21
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n width: ", ";\n height: ", ";\n border-radius: ", ";\n display: flex;\n padding-bottom: 1px;\n padding-right: 1px;\n flex-wrap: wrap;\n box-sizing: border-box;\n align-items: center;\n line-height: 1;\n align-content: center;\n flex-direction: row;\n justify-content: center;\n"]);
22
+
23
+ _templateObject = function _templateObject() {
24
+ return data;
25
+ };
26
+
27
+ return data;
28
+ }
29
+
30
+ var DxcBadge = function DxcBadge(_ref) {
31
+ var notificationText = _ref.notificationText;
32
+ var colorsTheme = (0, _useTheme["default"])();
33
+ return _react["default"].createElement(_styledComponents.ThemeProvider, {
34
+ theme: colorsTheme.tabs
35
+ }, _react["default"].createElement(StyledDxcBadge, {
36
+ notificationText: notificationText
37
+ }, _react["default"].createElement("span", null, notificationText)));
38
+ };
39
+
40
+ var StyledDxcBadge = _styledComponents["default"].div(_templateObject(), function (props) {
41
+ return props.theme.badgeBackgroundColor;
42
+ }, function (props) {
43
+ return props.theme.badgeFontFamily;
44
+ }, function (props) {
45
+ return props.theme.badgeFontSize;
46
+ }, function (props) {
47
+ return props.theme.badgeFontStyle;
48
+ }, function (props) {
49
+ return props.theme.badgeFontWeight;
50
+ }, function (props) {
51
+ return props.theme.badgeFontColor;
52
+ }, function (props) {
53
+ return props.theme.badgeLetterSpacing;
54
+ }, function (props) {
55
+ return props.notificationText === true ? props.theme.badgeWidth : props.theme.badgeWidthWithNotificationNumber;
56
+ }, function (props) {
57
+ return props.notificationText === true ? props.theme.badgeHeight : props.theme.badgeHeightWithNotificationNumber;
58
+ }, function (props) {
59
+ return props.notificationText === true ? props.theme.badgeRadius : props.theme.badgeRadiusWithNotificationNumber;
60
+ });
61
+
62
+ var _default = DxcBadge;
63
+ exports["default"] = _default;
@@ -15,7 +15,7 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
15
 
16
16
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
17
 
18
- var _react = _interopRequireWildcard(require("react"));
18
+ var _react = _interopRequireDefault(require("react"));
19
19
 
20
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
@@ -25,12 +25,12 @@ var _variables = require("../common/variables.js");
25
25
 
26
26
  var _utils = require("../common/utils.js");
27
27
 
28
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
28
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
29
 
30
- require("../common/OpenSans.css");
30
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
31
31
 
32
32
  function _templateObject() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n border-radius: 4px;\n overflow: hidden;\n font-family: \"Open Sans\", sans-serif;\n width: ", ";\n background-color: ", ";\n box-shadow: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"]);
33
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n letter-spacing: ", ";\n overflow: hidden;\n width: ", ";\n background-color: ", ";\n box-shadow: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"]);
34
34
 
35
35
  _templateObject = function _templateObject() {
36
36
  return data;
@@ -48,10 +48,7 @@ var DxcBox = function DxcBox(_ref) {
48
48
  children = _ref.children,
49
49
  _ref$size = _ref.size,
50
50
  size = _ref$size === void 0 ? "fitContent" : _ref$size;
51
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
52
- var colorsTheme = (0, _react.useMemo)(function () {
53
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
54
- }, [customTheme]);
51
+ var colorsTheme = (0, _useTheme["default"])();
55
52
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
56
53
  theme: colorsTheme.box
57
54
  }, _react["default"].createElement(StyledDxcBox, {
@@ -60,7 +57,9 @@ var DxcBox = function DxcBox(_ref) {
60
57
  margin: margin,
61
58
  padding: padding,
62
59
  size: size
63
- }, children));
60
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
61
+ color: colorsTheme.box.backgroundColor
62
+ }, children)));
64
63
  };
65
64
 
66
65
  var sizes = {
@@ -82,42 +81,51 @@ var calculateWidth = function calculateWidth(margin, size, padding) {
82
81
  var StyledDxcBox = _styledComponents["default"].div(_templateObject(), function (_ref2) {
83
82
  var display = _ref2.display;
84
83
  return display;
84
+ }, function (props) {
85
+ return props.theme.borderRadius;
86
+ }, function (props) {
87
+ return props.theme.borderThickness;
88
+ }, function (props) {
89
+ return props.theme.borderStyle;
90
+ }, function (props) {
91
+ return props.theme.borderColor;
92
+ }, function (props) {
93
+ return props.theme.letterSpacing;
85
94
  }, function (props) {
86
95
  return calculateWidth(props.margin, props.size, props.padding);
87
96
  }, function (props) {
88
97
  return props.theme.backgroundColor;
98
+ }, function (props) {
99
+ return props.shadowDepth === 1 ? "".concat(props.theme.oneShadowDepthShadowOffsetX, " ").concat(props.theme.oneShadowDepthShadowOffsetY, " ").concat(props.theme.oneShadowDepthShadowBlur, " ").concat(props.theme.oneShadowDepthShadowSpread, " ").concat(props.theme.oneShadowDepthShadowColor) : props.shadowDepth === 2 ? "".concat(props.theme.twoShadowDepthShadowOffsetX, " ").concat(props.theme.twoShadowDepthShadowOffsetY, " ").concat(props.theme.twoShadowDepthShadowBlur, " ").concat(props.theme.twoShadowDepthShadowSpread, " ").concat(props.theme.twoShadowDepthShadowColor) : "".concat(props.theme.noneShadowDepthShadowOffsetX, " ").concat(props.theme.noneShadowDepthShadowOffsetY, " ").concat(props.theme.noneShadowDepthShadowBlur, " ").concat(props.theme.noneShadowDepthShadowSpread, " ").concat(props.theme.noneShadowDepthShadowColor);
89
100
  }, function (_ref3) {
90
- var shadowDepth = _ref3.shadowDepth;
91
- return shadowDepth === 1 ? "0px 2px 1px -1px rgba(0,0,0,0.2), 0px 1px 1px 0px rgba(0,0,0,0.14), 0px 1px 3px 0px rgba(0,0,0,0.12)" : shadowDepth === 2 ? "0px 3px 3px -2px rgba(0,0,0,0.2), 0px 3px 4px 0px rgba(0,0,0,0.14), 0px 1px 8px 0px rgba(0,0,0,0.12)" : "none";
101
+ var margin = _ref3.margin;
102
+ return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
92
103
  }, function (_ref4) {
93
104
  var margin = _ref4.margin;
94
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
105
+ return margin && margin.top ? _variables.spaces[margin.top] : "";
95
106
  }, function (_ref5) {
96
107
  var margin = _ref5.margin;
97
- return margin && margin.top ? _variables.spaces[margin.top] : "";
108
+ return margin && margin.right ? _variables.spaces[margin.right] : "";
98
109
  }, function (_ref6) {
99
110
  var margin = _ref6.margin;
100
- return margin && margin.right ? _variables.spaces[margin.right] : "";
111
+ return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
101
112
  }, function (_ref7) {
102
113
  var margin = _ref7.margin;
103
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
104
- }, function (_ref8) {
105
- var margin = _ref8.margin;
106
114
  return margin && margin.left ? _variables.spaces[margin.left] : "";
115
+ }, function (_ref8) {
116
+ var padding = _ref8.padding;
117
+ return padding && (0, _typeof2["default"])(padding) !== "object" ? _variables.spaces[padding] : "0px";
107
118
  }, function (_ref9) {
108
119
  var padding = _ref9.padding;
109
- return padding && (0, _typeof2["default"])(padding) !== "object" ? _variables.spaces[padding] : "0px";
120
+ return padding && padding.top ? _variables.spaces[padding.top] : "";
110
121
  }, function (_ref10) {
111
122
  var padding = _ref10.padding;
112
- return padding && padding.top ? _variables.spaces[padding.top] : "";
123
+ return padding && padding.right ? _variables.spaces[padding.right] : "";
113
124
  }, function (_ref11) {
114
125
  var padding = _ref11.padding;
115
- return padding && padding.right ? _variables.spaces[padding.right] : "";
126
+ return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
116
127
  }, function (_ref12) {
117
128
  var padding = _ref12.padding;
118
- return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
119
- }, function (_ref13) {
120
- var padding = _ref13.padding;
121
129
  return padding && padding.left ? _variables.spaces[padding.left] : "";
122
130
  });
123
131
 
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,238 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
21
+
22
+ var _propTypes = _interopRequireDefault(require("prop-types"));
23
+
24
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
+
26
+ var _variables = require("../common/variables.js");
27
+
28
+ var _utils = require("../common/utils.js");
29
+
30
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
+
32
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
33
+
34
+ function _templateObject4() {
35
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-block;\n width: ", ";\n cursor: ", ";\n\n .MuiButtonBase-root {\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n\n .MuiButton-label {\n display: flex;\n flex-direction: ", ";\n align-items: center;\n }\n\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n min-width: ", ";\n width: 100%;\n height: 40px;\n transition: none !important;\n\n &:focus {\n border-color: transparent;\n box-shadow: 0 0 0 2px\n ", ";\n }\n\n ", "\n }\n"]);
36
+
37
+ _templateObject4 = function _templateObject4() {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
44
+ function _templateObject3() {
45
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n"]);
46
+
47
+ _templateObject3 = function _templateObject3() {
48
+ return data;
49
+ };
50
+
51
+ return data;
52
+ }
53
+
54
+ function _templateObject2() {
55
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 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
+
57
+ _templateObject2 = function _templateObject2() {
58
+ return data;
59
+ };
60
+
61
+ return data;
62
+ }
63
+
64
+ function _templateObject() {
65
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n line-height: ", ";\n font-size: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n text-transform: none;\n margin-right: ", ";\n margin-left: ", ";\n"]);
66
+
67
+ _templateObject = function _templateObject() {
68
+ return data;
69
+ };
70
+
71
+ return data;
72
+ }
73
+
74
+ var DxcButton = function DxcButton(_ref) {
75
+ var _ref$label = _ref.label,
76
+ label = _ref$label === void 0 ? "" : _ref$label,
77
+ _ref$mode = _ref.mode,
78
+ mode = _ref$mode === void 0 ? "primary" : _ref$mode,
79
+ _ref$disabled = _ref.disabled,
80
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
81
+ _ref$iconPosition = _ref.iconPosition,
82
+ iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
83
+ _ref$type = _ref.type,
84
+ type = _ref$type === void 0 ? "button" : _ref$type,
85
+ _ref$iconSrc = _ref.iconSrc,
86
+ iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
87
+ icon = _ref.icon,
88
+ _ref$onClick = _ref.onClick,
89
+ _onClick = _ref$onClick === void 0 ? "" : _ref$onClick,
90
+ margin = _ref.margin,
91
+ size = _ref.size,
92
+ _ref$tabIndex = _ref.tabIndex,
93
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
94
+
95
+ var colorsTheme = (0, _useTheme["default"])();
96
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
97
+ return _react["default"].createElement(_styledComponents.ThemeProvider, {
98
+ theme: colorsTheme.button
99
+ }, _react["default"].createElement(DxCButton, {
100
+ type: type,
101
+ margin: margin,
102
+ mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
103
+ disabled: disabled,
104
+ iconPosition: iconPosition,
105
+ size: size,
106
+ backgroundType: backgroundType,
107
+ icon: icon
108
+ }, _react["default"].createElement(_Button["default"], {
109
+ disabled: disabled,
110
+ type: type,
111
+ disableRipple: true,
112
+ "aria-disabled": disabled ? true : false,
113
+ tabIndex: disabled ? -1 : tabIndex,
114
+ onClick: function onClick() {
115
+ if (_onClick) {
116
+ _onClick();
117
+ }
118
+ }
119
+ }, label && _react["default"].createElement(LabelContainer, {
120
+ icon: icon,
121
+ iconPosition: iconPosition
122
+ }, label), icon ? _react["default"].createElement(IconContainer, {
123
+ label: label,
124
+ iconPosition: iconPosition
125
+ }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(ButtonIcon, {
126
+ label: label,
127
+ iconPosition: iconPosition,
128
+ src: iconSrc
129
+ }))));
130
+ };
131
+
132
+ var sizes = {
133
+ small: "42px",
134
+ medium: "120px",
135
+ large: "240px",
136
+ fillParent: "100%",
137
+ fitContent: "unset"
138
+ };
139
+
140
+ var calculateWidth = function calculateWidth(margin, size) {
141
+ if (size === "fillParent") {
142
+ return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
143
+ }
144
+
145
+ return sizes[size];
146
+ };
147
+
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
+ });
157
+
158
+ var IconContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
159
+ return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
160
+ }, function (props) {
161
+ return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
162
+ });
163
+
164
+ var ButtonIcon = _styledComponents["default"].img(_templateObject3(), function (props) {
165
+ return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
166
+ }, function (props) {
167
+ return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
168
+ });
169
+
170
+ var DxCButton = _styledComponents["default"].div(_templateObject4(), function (props) {
171
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
172
+ }, function (props) {
173
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
174
+ }, function (props) {
175
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
176
+ }, function (props) {
177
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
178
+ }, function (props) {
179
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
180
+ }, function (props) {
181
+ return calculateWidth(props.margin, props.size);
182
+ }, function (props) {
183
+ return props.disabled && "not-allowed" || "pointer";
184
+ }, function (props) {
185
+ return props.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;
192
+ }, function (props) {
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;
202
+ }, function (props) {
203
+ return props.size === "small" && "calc(100% - 22px)" || "unset";
204
+ }, function (props) {
205
+ return props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor;
206
+ }, function (props) {
207
+ var mode = props.mode,
208
+ backgroundType = props.backgroundType;
209
+
210
+ if (mode === "primary") {
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 ");
212
+ } else if (mode === "secondary") {
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 ");
214
+ } else if (mode === "text") {
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 ");
216
+ }
217
+ });
218
+
219
+ DxcButton.propTypes = {
220
+ size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
221
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
222
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
223
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
224
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
225
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
226
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
227
+ label: _propTypes["default"].string,
228
+ mode: _propTypes["default"].oneOf(["primary", "secondary", "text"]),
229
+ disabled: _propTypes["default"].bool,
230
+ iconPosition: _propTypes["default"].oneOf(["after", "before"]),
231
+ onClick: _propTypes["default"].func,
232
+ iconSrc: _propTypes["default"].string,
233
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
234
+ type: _propTypes["default"].oneOf(["button", "reset", "submit"]),
235
+ tabIndex: _propTypes["default"].number
236
+ };
237
+ var _default = DxcButton;
238
+ exports["default"] = _default;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Primary = exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _Button = _interopRequireDefault(require("./Button"));
13
+
14
+ var _default = {
15
+ title: "Button",
16
+ component: _Button["default"]
17
+ };
18
+ exports["default"] = _default;
19
+
20
+ var Primary = function Primary() {
21
+ return _react["default"].createElement(_Button["default"], {
22
+ mode: "primary",
23
+ label: "Primary Button"
24
+ });
25
+ };
26
+
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;