@dxc-technology/halstack-react 0.0.0-ba36a4a → 0.0.0-ba408d4

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 (249) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/{dist/select/Select.js → V3Select/V3Select.js} +116 -246
  4. package/V3Select/index.d.ts +27 -0
  5. package/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +14 -18
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/{dist/accordion → accordion}/Accordion.js +23 -87
  8. package/accordion/index.d.ts +28 -0
  9. package/{dist/accordion-group → accordion-group}/AccordionGroup.js +13 -15
  10. package/accordion-group/index.d.ts +16 -0
  11. package/{dist/alert → alert}/Alert.js +42 -136
  12. package/alert/index.d.ts +51 -0
  13. package/badge/Badge.js +59 -0
  14. package/{dist/box → box}/Box.js +9 -13
  15. package/box/index.d.ts +25 -0
  16. package/button/Button.d.ts +4 -0
  17. package/{dist/button → button}/Button.js +16 -72
  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 +19 -73
  22. package/card/index.d.ts +22 -0
  23. package/{dist/checkbox → checkbox}/Checkbox.js +16 -41
  24. package/checkbox/index.d.ts +24 -0
  25. package/{dist/chip → chip}/Chip.js +17 -61
  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/{dist/common → common}/variables.js +347 -139
  41. package/{dist/date → date}/Date.js +20 -28
  42. package/date/index.d.ts +27 -0
  43. package/{dist/new-date/NewDate.js → date-input/DateInput.js} +85 -92
  44. package/date-input/index.d.ts +95 -0
  45. package/{dist/dialog → dialog}/Dialog.js +16 -50
  46. package/dialog/index.d.ts +18 -0
  47. package/{dist/dropdown → dropdown}/Dropdown.js +37 -131
  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/{dist/footer → footer}/Footer.js +53 -151
  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/{dist/heading → heading}/Heading.js +30 -72
  59. package/heading/index.d.ts +17 -0
  60. package/input-text/Icons.js +22 -0
  61. package/{dist/input-text → input-text}/InputText.js +37 -133
  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/{dist/link → link}/Link.js +20 -78
  66. package/link/index.d.ts +23 -0
  67. package/main.d.ts +44 -0
  68. package/{dist/main.js → main.js} +104 -92
  69. package/{dist/number/Number.js → number-input/NumberInput.js} +10 -20
  70. package/{dist/number/NumberContext.js → number-input/NumberInputContext.js} +2 -2
  71. package/number-input/index.d.ts +113 -0
  72. package/package.json +31 -23
  73. package/paginator/Icons.js +66 -0
  74. package/paginator/Paginator.d.ts +4 -0
  75. package/paginator/Paginator.js +198 -0
  76. package/paginator/types.d.ts +38 -0
  77. package/paginator/types.js +5 -0
  78. package/{dist/password/Password.js → password-input/PasswordInput.js} +27 -28
  79. package/password-input/index.d.ts +94 -0
  80. package/{dist/progress-bar → progress-bar}/ProgressBar.js +18 -72
  81. package/progress-bar/index.d.ts +18 -0
  82. package/{dist/radio → radio}/Radio.js +12 -26
  83. package/radio/index.d.ts +23 -0
  84. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +35 -119
  85. package/resultsetTable/index.d.ts +19 -0
  86. package/select/Select.js +865 -0
  87. package/select/index.d.ts +131 -0
  88. package/{dist/sidenav → sidenav}/Sidenav.js +17 -49
  89. package/sidenav/index.d.ts +13 -0
  90. package/{dist/slider → slider}/Slider.js +79 -58
  91. package/slider/index.d.ts +29 -0
  92. package/{dist/spinner → spinner}/Spinner.js +38 -152
  93. package/spinner/index.d.ts +17 -0
  94. package/{dist/switch → switch}/Switch.js +12 -26
  95. package/switch/index.d.ts +24 -0
  96. package/{dist/table → table}/Table.js +10 -24
  97. package/table/index.d.ts +13 -0
  98. package/{dist/tabs → tabs}/Tabs.js +26 -110
  99. package/tabs/index.d.ts +19 -0
  100. package/{dist/tag → tag}/Tag.js +40 -120
  101. package/tag/index.d.ts +24 -0
  102. package/text-input/TextInput.js +825 -0
  103. package/text-input/index.d.ts +135 -0
  104. package/{dist/new-textarea/NewTextarea.js → textarea/Textarea.js} +81 -110
  105. package/textarea/index.d.ts +117 -0
  106. package/{dist/toggle → toggle}/Toggle.js +15 -49
  107. package/toggle/index.d.ts +21 -0
  108. package/toggle-group/ToggleGroup.js +243 -0
  109. package/toggle-group/index.d.ts +21 -0
  110. package/{dist/upload → upload}/Upload.js +11 -15
  111. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  112. package/upload/buttons-upload/Icons.js +40 -0
  113. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  114. package/upload/dragAndDropArea/Icons.js +39 -0
  115. package/upload/file-upload/FileToUpload.js +115 -0
  116. package/upload/file-upload/Icons.js +66 -0
  117. package/{dist/upload → upload}/files-upload/FilesToUpload.js +12 -26
  118. package/upload/index.d.ts +15 -0
  119. package/upload/transaction/Icons.js +160 -0
  120. package/upload/transaction/Transaction.js +104 -0
  121. package/upload/transactions/Transactions.js +94 -0
  122. package/{dist/useTheme.js → useTheme.js} +0 -0
  123. package/wizard/Icons.js +65 -0
  124. package/{dist/wizard → wizard}/Wizard.js +32 -172
  125. package/wizard/index.d.ts +18 -0
  126. package/README.md +0 -66
  127. package/babel.config.js +0 -8
  128. package/dist/BackgroundColorContext.js +0 -46
  129. package/dist/ThemeContext.js +0 -240
  130. package/dist/badge/Badge.js +0 -63
  131. package/dist/checkbox/Checkbox.stories.js +0 -144
  132. package/dist/checkbox/readme.md +0 -116
  133. package/dist/date/Date.stories.js +0 -205
  134. package/dist/date/readme.md +0 -73
  135. package/dist/footer/Footer.stories.js +0 -94
  136. package/dist/footer/dxc_logo.svg +0 -15
  137. package/dist/footer/readme.md +0 -41
  138. package/dist/header/Header.js +0 -403
  139. package/dist/header/Header.stories.js +0 -176
  140. package/dist/header/close_icon.svg +0 -1
  141. package/dist/header/dxc_logo_black.svg +0 -8
  142. package/dist/header/hamb_menu_black.svg +0 -1
  143. package/dist/header/hamb_menu_white.svg +0 -1
  144. package/dist/header/readme.md +0 -33
  145. package/dist/input-text/InputText.stories.js +0 -209
  146. package/dist/input-text/error.svg +0 -1
  147. package/dist/input-text/readme.md +0 -91
  148. package/dist/layout/facebook.svg +0 -45
  149. package/dist/layout/linkedin.svg +0 -50
  150. package/dist/layout/twitter.svg +0 -53
  151. package/dist/link/readme.md +0 -51
  152. package/dist/new-input-text/NewInputText.js +0 -961
  153. package/dist/paginator/Paginator.js +0 -289
  154. package/dist/paginator/images/next.svg +0 -3
  155. package/dist/paginator/images/nextPage.svg +0 -3
  156. package/dist/paginator/images/previous.svg +0 -3
  157. package/dist/paginator/images/previousPage.svg +0 -3
  158. package/dist/paginator/readme.md +0 -50
  159. package/dist/password/styles.css +0 -3
  160. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  161. package/dist/progress-bar/readme.md +0 -63
  162. package/dist/radio/Radio.stories.js +0 -166
  163. package/dist/radio/readme.md +0 -70
  164. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  165. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  166. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  167. package/dist/select/Select.stories.js +0 -235
  168. package/dist/select/readme.md +0 -72
  169. package/dist/slider/Slider.stories.js +0 -241
  170. package/dist/slider/readme.md +0 -64
  171. package/dist/spinner/Spinner.stories.js +0 -183
  172. package/dist/spinner/readme.md +0 -65
  173. package/dist/switch/Switch.stories.js +0 -134
  174. package/dist/switch/readme.md +0 -133
  175. package/dist/tabs/Tabs.stories.js +0 -130
  176. package/dist/tabs/readme.md +0 -78
  177. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  178. package/dist/tabs-for-sections/readme.md +0 -78
  179. package/dist/toggle/Toggle.stories.js +0 -297
  180. package/dist/toggle/readme.md +0 -80
  181. package/dist/toggle-group/ToggleGroup.js +0 -223
  182. package/dist/upload/Upload.stories.js +0 -72
  183. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  184. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  185. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  186. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  187. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  188. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  189. package/dist/upload/file-upload/FileToUpload.js +0 -184
  190. package/dist/upload/file-upload/audio-icon.svg +0 -4
  191. package/dist/upload/file-upload/close.svg +0 -4
  192. package/dist/upload/file-upload/file-icon.svg +0 -4
  193. package/dist/upload/file-upload/video-icon.svg +0 -4
  194. package/dist/upload/readme.md +0 -37
  195. package/dist/upload/transaction/Transaction.js +0 -175
  196. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  197. package/dist/upload/transaction/audio-icon.svg +0 -4
  198. package/dist/upload/transaction/error-icon.svg +0 -4
  199. package/dist/upload/transaction/file-icon-err.svg +0 -4
  200. package/dist/upload/transaction/file-icon.svg +0 -4
  201. package/dist/upload/transaction/image-icon-err.svg +0 -4
  202. package/dist/upload/transaction/image-icon.svg +0 -4
  203. package/dist/upload/transaction/success-icon.svg +0 -4
  204. package/dist/upload/transaction/video-icon-err.svg +0 -4
  205. package/dist/upload/transaction/video-icon.svg +0 -4
  206. package/dist/upload/transactions/Transactions.js +0 -138
  207. package/dist/wizard/invalid_icon.svg +0 -5
  208. package/dist/wizard/valid_icon.svg +0 -5
  209. package/dist/wizard/validation-wrong.svg +0 -6
  210. package/test/Accordion.test.js +0 -33
  211. package/test/AccordionGroup.test.js +0 -125
  212. package/test/Alert.test.js +0 -53
  213. package/test/Box.test.js +0 -10
  214. package/test/Button.test.js +0 -18
  215. package/test/Card.test.js +0 -30
  216. package/test/Checkbox.test.js +0 -45
  217. package/test/Chip.test.js +0 -25
  218. package/test/Date.test.js +0 -393
  219. package/test/Dialog.test.js +0 -23
  220. package/test/Dropdown.test.js +0 -145
  221. package/test/Footer.test.js +0 -99
  222. package/test/Header.test.js +0 -39
  223. package/test/Heading.test.js +0 -35
  224. package/test/InputText.test.js +0 -240
  225. package/test/Link.test.js +0 -43
  226. package/test/NewDate.test.js +0 -203
  227. package/test/NewInputText.test.js +0 -817
  228. package/test/NewTextarea.test.js +0 -201
  229. package/test/Number.test.js +0 -241
  230. package/test/Paginator.test.js +0 -177
  231. package/test/Password.test.js +0 -76
  232. package/test/ProgressBar.test.js +0 -35
  233. package/test/Radio.test.js +0 -37
  234. package/test/ResultsetTable.test.js +0 -330
  235. package/test/Select.test.js +0 -189
  236. package/test/Sidenav.test.js +0 -45
  237. package/test/Slider.test.js +0 -82
  238. package/test/Spinner.test.js +0 -32
  239. package/test/Switch.test.js +0 -45
  240. package/test/Table.test.js +0 -36
  241. package/test/Tabs.test.js +0 -109
  242. package/test/TabsForSections.test.js +0 -34
  243. package/test/Tag.test.js +0 -32
  244. package/test/TextArea.test.js +0 -52
  245. package/test/ToggleGroup.test.js +0 -81
  246. package/test/Upload.test.js +0 -60
  247. package/test/Wizard.test.js +0 -130
  248. package/test/mocks/pngMock.js +0 -1
  249. package/test/mocks/svgMock.js +0 -1
@@ -1,25 +1,21 @@
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
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
13
 
16
14
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
15
 
18
16
  var _react = _interopRequireWildcard(require("react"));
19
17
 
20
- var _core = require("@material-ui/core");
21
-
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
23
19
 
24
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
21
 
@@ -31,45 +27,11 @@ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
27
 
32
28
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
33
29
 
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"]);
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
46
31
 
47
- _templateObject3 = function _templateObject3() {
48
- return data;
49
- };
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); }
50
33
 
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\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
- }
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; }
73
35
 
74
36
  var DxcButton = function DxcButton(_ref) {
75
37
  var _ref$label = _ref.label,
@@ -94,9 +56,9 @@ var DxcButton = function DxcButton(_ref) {
94
56
 
95
57
  var colorsTheme = (0, _useTheme["default"])();
96
58
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
97
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
59
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
98
60
  theme: colorsTheme.button
99
- }, _react["default"].createElement(DxCButton, {
61
+ }, /*#__PURE__*/_react["default"].createElement(DxCButton, {
100
62
  type: type,
101
63
  margin: margin,
102
64
  mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
@@ -105,7 +67,7 @@ var DxcButton = function DxcButton(_ref) {
105
67
  size: size,
106
68
  backgroundType: backgroundType,
107
69
  icon: icon
108
- }, _react["default"].createElement(_core.Button, {
70
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
109
71
  disabled: disabled,
110
72
  type: type,
111
73
  disableRipple: true,
@@ -116,13 +78,13 @@ var DxcButton = function DxcButton(_ref) {
116
78
  _onClick();
117
79
  }
118
80
  }
119
- }, label && _react["default"].createElement(LabelContainer, {
81
+ }, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
120
82
  icon: icon,
121
83
  iconPosition: iconPosition
122
- }, label), icon ? _react["default"].createElement(IconContainer, {
84
+ }, label), icon ? /*#__PURE__*/_react["default"].createElement(IconContainer, {
123
85
  label: label,
124
86
  iconPosition: iconPosition
125
- }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(ButtonIcon, {
87
+ }, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : iconSrc && /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
126
88
  label: label,
127
89
  iconPosition: iconPosition,
128
90
  src: iconSrc
@@ -145,7 +107,7 @@ var calculateWidth = function calculateWidth(margin, size) {
145
107
  return sizes[size];
146
108
  };
147
109
 
148
- var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
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) {
149
111
  return props.theme.labelFontLineHeight;
150
112
  }, function (props) {
151
113
  return props.theme.fontSize;
@@ -155,19 +117,19 @@ var LabelContainer = _styledComponents["default"].span(_templateObject(), functi
155
117
  return !props.icon || props.iconPosition === "after" ? "8px" : "0px";
156
118
  });
157
119
 
158
- var IconContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
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) {
159
121
  return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
160
122
  }, function (props) {
161
123
  return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
162
124
  });
163
125
 
164
- var ButtonIcon = _styledComponents["default"].img(_templateObject3(), function (props) {
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) {
165
127
  return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
166
128
  }, function (props) {
167
129
  return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
168
130
  });
169
131
 
170
- var DxCButton = _styledComponents["default"].div(_templateObject4(), function (props) {
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) {
171
133
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
172
134
  }, function (props) {
173
135
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -216,23 +178,5 @@ var DxCButton = _styledComponents["default"].div(_templateObject4(), function (p
216
178
  }
217
179
  });
218
180
 
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
181
  var _default = DxcButton;
238
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
+ `;
@@ -0,0 +1,57 @@
1
+ declare type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type SVG = string | (HTMLElement & SVGElement);
10
+ declare type Props = {
11
+ /**
12
+ * Text to be placed next to the button.
13
+ */
14
+ label?: string;
15
+ /**
16
+ * Uses one of the available button modes.
17
+ */
18
+ mode?: "primary" | "secondary" | "text";
19
+ /**
20
+ * If true, the component will be disabled.
21
+ */
22
+ disabled?: boolean;
23
+ /**
24
+ * Whether the icon should appear after or before the label.
25
+ */
26
+ iconPosition?: "before" | "after";
27
+ /**
28
+ * This prop corresponds to the 'type' prop of the button in html.
29
+ */
30
+ type?: "button" | "reset" | "submit";
31
+ /**
32
+ * DEPRECATED. URL of the icon that will be placed next to the button label.
33
+ */
34
+ iconSrc?: string;
35
+ /**
36
+ * Element used as the icon that will be placed next to the button label.
37
+ */
38
+ icon?: SVG;
39
+ /**
40
+ * This function will be called when the user clicks the button. The event object will be passed as a parameter.
41
+ */
42
+ onClick?: any;
43
+ /**
44
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
45
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
46
+ */
47
+ margin?: Space | Margin;
48
+ /**
49
+ * Size of the component ('small' | 'medium' | 'large' | 'fillParent' | 'fitContent').
50
+ */
51
+ size?: Size;
52
+ /**
53
+ * Value of the tabindex.
54
+ */
55
+ tabIndex?: number;
56
+ };
57
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });