@dxc-technology/halstack-react 3.3.0 → 4.0.1

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 (254) hide show
  1. package/{dist/BackgroundColorContext.js → BackgroundColorContext.js} +0 -0
  2. package/ThemeContext.js +250 -0
  3. package/{dist/select/Select.js → V3Select/V3Select.js} +175 -189
  4. package/V3Select/index.d.ts +27 -0
  5. package/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +30 -26
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/{dist/accordion → accordion}/Accordion.js +66 -59
  8. package/accordion/index.d.ts +28 -0
  9. package/{dist/accordion-group → accordion-group}/AccordionGroup.js +1 -3
  10. package/accordion-group/index.d.ts +16 -0
  11. package/{dist/alert → alert}/Alert.js +126 -111
  12. package/alert/index.d.ts +51 -0
  13. package/{dist/badge → badge}/Badge.js +0 -0
  14. package/{dist/box → box}/Box.js +1 -9
  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 +0 -0
  20. package/card/index.d.ts +22 -0
  21. package/{dist/checkbox → checkbox}/Checkbox.js +26 -21
  22. package/checkbox/index.d.ts +24 -0
  23. package/{dist/chip → chip}/Chip.js +21 -25
  24. package/chip/index.d.ts +22 -0
  25. package/{dist/common → common}/OpenSans.css +0 -0
  26. package/{dist/common → common}/RequiredComponent.js +0 -0
  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/{dist/common → common}/utils.js +0 -0
  38. package/common/variables.js +1567 -0
  39. package/{dist/date → date}/Date.js +7 -9
  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 +15 -32
  44. package/dialog/index.d.ts +18 -0
  45. package/{dist/dropdown → dropdown}/Dropdown.js +117 -66
  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 +63 -49
  51. package/footer/Icons.js +77 -0
  52. package/footer/index.d.ts +25 -0
  53. package/{dist/header → header}/Header.js +123 -84
  54. package/header/Icons.js +59 -0
  55. package/header/index.d.ts +25 -0
  56. package/{dist/heading → heading}/Heading.js +13 -5
  57. package/heading/index.d.ts +17 -0
  58. package/input-text/Icons.js +22 -0
  59. package/{dist/input-text → input-text}/InputText.js +96 -63
  60. package/input-text/index.d.ts +36 -0
  61. package/{dist/layout → layout}/ApplicationLayout.js +5 -9
  62. package/layout/Icons.js +55 -0
  63. package/{dist/link → link}/Link.js +4 -8
  64. package/link/index.d.ts +23 -0
  65. package/main.d.ts +40 -0
  66. package/{dist/main.js → main.js} +62 -14
  67. package/number-input/NumberInput.js +136 -0
  68. package/number-input/NumberInputContext.js +16 -0
  69. package/number-input/index.d.ts +113 -0
  70. package/package.json +23 -17
  71. package/paginator/Icons.js +66 -0
  72. package/{dist/paginator → paginator}/Paginator.js +60 -38
  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 +63 -27
  77. package/progress-bar/index.d.ts +18 -0
  78. package/{dist/radio → radio}/Radio.js +0 -0
  79. package/radio/index.d.ts +23 -0
  80. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +1 -1
  81. package/resultsetTable/index.d.ts +19 -0
  82. package/select/Select.js +1138 -0
  83. package/select/index.d.ts +131 -0
  84. package/{dist/sidenav → sidenav}/Sidenav.js +11 -15
  85. package/sidenav/index.d.ts +13 -0
  86. package/{dist/slider → slider}/Slider.js +155 -66
  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 +0 -0
  91. package/switch/index.d.ts +24 -0
  92. package/{dist/table → table}/Table.js +5 -1
  93. package/table/index.d.ts +13 -0
  94. package/{dist/tabs → tabs}/Tabs.js +0 -0
  95. package/tabs/index.d.ts +19 -0
  96. package/{dist/tag → tag}/Tag.js +37 -35
  97. package/tag/index.d.ts +24 -0
  98. package/text-input/TextInput.js +992 -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 +0 -0
  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 +0 -0
  107. package/{dist/upload → upload}/buttons-upload/ButtonsUpload.js +12 -12
  108. package/upload/buttons-upload/Icons.js +40 -0
  109. package/{dist/upload → upload}/dragAndDropArea/DragAndDropArea.js +23 -19
  110. package/upload/dragAndDropArea/Icons.js +39 -0
  111. package/{dist/upload → upload}/file-upload/FileToUpload.js +27 -22
  112. package/upload/file-upload/Icons.js +66 -0
  113. package/{dist/upload → upload}/files-upload/FilesToUpload.js +0 -0
  114. package/upload/index.d.ts +15 -0
  115. package/upload/transaction/Icons.js +160 -0
  116. package/{dist/upload → upload}/transaction/Transaction.js +18 -41
  117. package/{dist/upload → upload}/transactions/Transactions.js +11 -11
  118. package/{dist/useTheme.js → useTheme.js} +0 -0
  119. package/wizard/Icons.js +65 -0
  120. package/{dist/wizard → wizard}/Wizard.js +11 -17
  121. package/wizard/index.d.ts +18 -0
  122. package/README.md +0 -66
  123. package/babel.config.js +0 -8
  124. package/dist/ThemeContext.js +0 -216
  125. package/dist/accordion/Accordion.stories.js +0 -207
  126. package/dist/accordion/readme.md +0 -96
  127. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  128. package/dist/accordion-group/readme.md +0 -70
  129. package/dist/alert/Alert.stories.js +0 -158
  130. package/dist/alert/close.svg +0 -4
  131. package/dist/alert/error.svg +0 -4
  132. package/dist/alert/info.svg +0 -4
  133. package/dist/alert/readme.md +0 -43
  134. package/dist/alert/success.svg +0 -4
  135. package/dist/alert/warning.svg +0 -4
  136. package/dist/button/Button.js +0 -232
  137. package/dist/button/Button.stories.js +0 -224
  138. package/dist/button/readme.md +0 -93
  139. package/dist/checkbox/Checkbox.stories.js +0 -144
  140. package/dist/checkbox/readme.md +0 -116
  141. package/dist/common/variables.js +0 -1158
  142. package/dist/date/Date.stories.js +0 -205
  143. package/dist/date/readme.md +0 -73
  144. package/dist/dialog/Dialog.stories.js +0 -217
  145. package/dist/dialog/readme.md +0 -32
  146. package/dist/dropdown/Dropdown.stories.js +0 -249
  147. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  148. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  149. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  150. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  151. package/dist/dropdown/readme.md +0 -69
  152. package/dist/footer/Footer.stories.js +0 -94
  153. package/dist/footer/dxc_logo.svg +0 -15
  154. package/dist/footer/readme.md +0 -41
  155. package/dist/header/Header.stories.js +0 -176
  156. package/dist/header/close_icon.svg +0 -1
  157. package/dist/header/dxc_logo_black.svg +0 -8
  158. package/dist/header/hamb_menu_black.svg +0 -1
  159. package/dist/header/hamb_menu_white.svg +0 -1
  160. package/dist/header/readme.md +0 -33
  161. package/dist/input-text/InputText.stories.js +0 -209
  162. package/dist/input-text/error.svg +0 -1
  163. package/dist/input-text/readme.md +0 -91
  164. package/dist/layout/facebook.svg +0 -45
  165. package/dist/layout/linkedin.svg +0 -50
  166. package/dist/layout/twitter.svg +0 -53
  167. package/dist/link/readme.md +0 -51
  168. package/dist/paginator/images/next.svg +0 -3
  169. package/dist/paginator/images/nextPage.svg +0 -3
  170. package/dist/paginator/images/previous.svg +0 -3
  171. package/dist/paginator/images/previousPage.svg +0 -3
  172. package/dist/paginator/readme.md +0 -50
  173. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  174. package/dist/progress-bar/readme.md +0 -63
  175. package/dist/radio/Radio.stories.js +0 -166
  176. package/dist/radio/readme.md +0 -70
  177. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  178. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  179. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  180. package/dist/select/Select.stories.js +0 -235
  181. package/dist/select/readme.md +0 -72
  182. package/dist/slider/Slider.stories.js +0 -241
  183. package/dist/slider/readme.md +0 -64
  184. package/dist/spinner/Spinner.js +0 -214
  185. package/dist/spinner/Spinner.stories.js +0 -183
  186. package/dist/spinner/readme.md +0 -65
  187. package/dist/switch/Switch.stories.js +0 -134
  188. package/dist/switch/readme.md +0 -133
  189. package/dist/tabs/Tabs.stories.js +0 -130
  190. package/dist/tabs/readme.md +0 -78
  191. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  192. package/dist/tabs-for-sections/readme.md +0 -78
  193. package/dist/toggle/Toggle.stories.js +0 -297
  194. package/dist/toggle/readme.md +0 -80
  195. package/dist/toggle-group/ToggleGroup.js +0 -241
  196. package/dist/toggle-group/readme.md +0 -82
  197. package/dist/upload/Upload.stories.js +0 -72
  198. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  199. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  200. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  201. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  202. package/dist/upload/file-upload/audio-icon.svg +0 -4
  203. package/dist/upload/file-upload/close.svg +0 -4
  204. package/dist/upload/file-upload/file-icon.svg +0 -4
  205. package/dist/upload/file-upload/video-icon.svg +0 -4
  206. package/dist/upload/readme.md +0 -37
  207. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  208. package/dist/upload/transaction/audio-icon.svg +0 -4
  209. package/dist/upload/transaction/error-icon.svg +0 -4
  210. package/dist/upload/transaction/file-icon-err.svg +0 -4
  211. package/dist/upload/transaction/file-icon.svg +0 -4
  212. package/dist/upload/transaction/image-icon-err.svg +0 -4
  213. package/dist/upload/transaction/image-icon.svg +0 -4
  214. package/dist/upload/transaction/success-icon.svg +0 -4
  215. package/dist/upload/transaction/video-icon-err.svg +0 -4
  216. package/dist/upload/transaction/video-icon.svg +0 -4
  217. package/dist/wizard/invalid_icon.svg +0 -5
  218. package/dist/wizard/valid_icon.svg +0 -5
  219. package/dist/wizard/validation-wrong.svg +0 -6
  220. package/test/Accordion.test.js +0 -33
  221. package/test/AccordionGroup.test.js +0 -125
  222. package/test/Alert.test.js +0 -53
  223. package/test/Box.test.js +0 -10
  224. package/test/Button.test.js +0 -18
  225. package/test/Card.test.js +0 -30
  226. package/test/Checkbox.test.js +0 -45
  227. package/test/Chip.test.js +0 -25
  228. package/test/Date.test.js +0 -393
  229. package/test/Dialog.test.js +0 -23
  230. package/test/Dropdown.test.js +0 -130
  231. package/test/Footer.test.js +0 -99
  232. package/test/Header.test.js +0 -39
  233. package/test/Heading.test.js +0 -35
  234. package/test/InputText.test.js +0 -240
  235. package/test/Link.test.js +0 -43
  236. package/test/Paginator.test.js +0 -177
  237. package/test/ProgressBar.test.js +0 -35
  238. package/test/Radio.test.js +0 -37
  239. package/test/ResultsetTable.test.js +0 -330
  240. package/test/Select.test.js +0 -192
  241. package/test/Sidenav.test.js +0 -45
  242. package/test/Slider.test.js +0 -82
  243. package/test/Spinner.test.js +0 -27
  244. package/test/Switch.test.js +0 -45
  245. package/test/Table.test.js +0 -36
  246. package/test/Tabs.test.js +0 -109
  247. package/test/TabsForSections.test.js +0 -34
  248. package/test/Tag.test.js +0 -32
  249. package/test/TextArea.test.js +0 -52
  250. package/test/ToggleGroup.test.js +0 -81
  251. package/test/Upload.test.js +0 -60
  252. package/test/Wizard.test.js +0 -130
  253. package/test/mocks/pngMock.js +0 -1
  254. package/test/mocks/svgMock.js +0 -1
@@ -1,232 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
- var _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 _core = require("@material-ui/core");
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 .MuiButton-label {\n display: flex;\n flex-direction: ", ";\n align-items: center;\n }\n letter-spacing: ", ";\n\n box-shadow: none;\n font-size: ", ";\n font-weight: ", ";\n min-width: ", ";\n\n width: 100%;\n height: ", ";\n font-family: ", ";\n &:focus {\n outline: ", " auto 1px;\n }\n transition: color 0.16s ease-in-out, background-color 0.16s ease-in-out;\n transition: color 0.16s ease-in-out, border-color 0.16s ease-in-out;\n &:hover {\n transition: color 0.16s ease-in-out, background-color 0.16s ease-in-out;\n transition: color 0.16s ease-in-out, border-color 0.16s ease-in-out;\n }\n ", "\n }\n"]);
36
-
37
- _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: ", ";\n max-width: ", ";\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: ", ";\n max-width: ", ";\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"]);
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
- }, _react["default"].createElement(_core.Button, {
108
- disabled: disabled,
109
- type: type,
110
- disableRipple: true,
111
- "aria-disabled": disabled ? true : false,
112
- tabIndex: disabled ? -1 : tabIndex,
113
- onClick: function onClick() {
114
- if (_onClick) {
115
- _onClick();
116
- }
117
- }
118
- }, _react["default"].createElement(LabelContainer, null, label), icon ? _react["default"].createElement(IconContainer, {
119
- label: label,
120
- iconPosition: iconPosition
121
- }, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : iconSrc && _react["default"].createElement(ButtonIcon, {
122
- label: label,
123
- iconPosition: iconPosition,
124
- src: iconSrc
125
- }))));
126
- };
127
-
128
- var sizes = {
129
- small: "42px",
130
- medium: "120px",
131
- large: "240px",
132
- fillParent: "100%",
133
- fitContent: "unset"
134
- };
135
-
136
- var calculateWidth = function calculateWidth(margin, size) {
137
- if (size === "fillParent") {
138
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
139
- }
140
-
141
- return sizes[size];
142
- };
143
-
144
- var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
145
- return props.theme.labelFontLineHeight;
146
- }, function (props) {
147
- return props.theme.fontSize;
148
- });
149
-
150
- var IconContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
151
- return props.theme.iconSize;
152
- }, function (props) {
153
- return props.theme.iconSize;
154
- }, function (props) {
155
- return props.iconPosition === "after" && props.label !== "" && "8px" || "0px";
156
- }, function (props) {
157
- return props.iconPosition === "before" && props.label !== "" && "8px" || "0px";
158
- });
159
-
160
- var ButtonIcon = _styledComponents["default"].img(_templateObject3(), function (props) {
161
- return props.theme.iconSize;
162
- }, function (props) {
163
- return props.theme.iconSize;
164
- }, 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.iconPosition === "after" && "row" || "row-reverse";
186
- }, function (props) {
187
- return props.theme.labelLetterSpacing;
188
- }, function (props) {
189
- return props.theme.fontSize;
190
- }, function (props) {
191
- return props.theme.fontWeight;
192
- }, function (props) {
193
- return props.size === "small" && "calc(100% - 22px)" || "unset";
194
- }, function (props) {
195
- return props.theme.height;
196
- }, function (props) {
197
- return props.theme.fontFamily;
198
- }, function (props) {
199
- return props.theme.focusColor;
200
- }, function (props) {
201
- var mode = props.mode,
202
- backgroundType = props.backgroundType;
203
-
204
- if (mode === "primary") {
205
- return "\n border-radius: ".concat(props.theme.primaryBorderRadius, ";\n border-width: ").concat(props.theme.primaryBorderThickness, ";\n border-style: ").concat(props.theme.primaryBorderStyle, ";\n border-color: ").concat(backgroundType === "dark" ? props.theme.primaryBorderColorOnDark : props.theme.primaryBorderColor, ";\n font-family: ").concat(props.theme.primaryFontFamily, ";\n font-size: ").concat(props.theme.primaryFontSize, ";\n font-weight: ").concat(props.theme.primaryFontWeight, ";\n\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 padding-right:").concat(props.size === "small" && "11px" || "24px", ";\n padding-left:").concat(props.size === "small" && "11px" || "24px", ";\n padding-top:").concat(props.theme.primaryPaddingTop, ";\n padding-bottom:").concat(props.theme.primaryPaddingBottom, ";\n &:hover{\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverFontColorOnDark : props.theme.primaryHoverFontColor, " !important; \n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor, " !important;\n \n }\n &:focus {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverFontColorOnDark : props.theme.primaryHoverFontColor, " !important;\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 ");
206
- } else if (mode === "secondary") {
207
- 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 padding-right:").concat(props.size === "small" && "9px" || "28px", ";\n padding-left:").concat(props.size === "small" && "9px" || "28px", ";\n padding-top:").concat(props.theme.secondaryPaddingTop, ";\n padding-bottom:").concat(props.theme.secondaryPaddingBottom, ";\n \n color: ").concat(backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor, " !important;\n \n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryOutlinedColorOnDark : props.theme.secondaryOutlinedColor, ";\n &:hover{\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverOutlinedColorOnDark : props.theme.secondaryHoverOutlinedColor, ";\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 }\n &:focus {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important; \n }\n &:disabled{\n cursor: not-allowed;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledOutlinedColorOnDark : props.theme.secondaryDisabledOutlinedColor, ";\n }\n .MuiButton-label {\n z-index: 5\n }\n\n ");
208
- } else if (mode === "text") {
209
- return "\n border-radius: ".concat(props.theme.textBorderRadius, ";\n border-width:").concat(props.theme.textBorderThickness, ";\n border-style:").concat(props.theme.textBorderStyle, ";\n border-color:").concat(backgroundType === "dark" ? props.theme.textBorderColorOnDark : props.theme.textBorderColor, ";\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 padding-right:").concat(props.size === "small" && "11px" || "30px", ";\n padding-left:").concat(props.size === "small" && "11px" || "30px", ";\n padding-top:").concat(props.theme.textPaddingTop, ";\n padding-bottom:").concat(props.theme.textPaddingBottom, ";\n\n &:hover{\n background-color: ").concat(backgroundType === "dark" ? props.theme.textHoverBackgroundColorOnDark : props.theme.textHoverBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.textHoverFontColorOnDark : props.theme.textHoverFontColor, " !important;\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textActiveBackgroundColorOnDark : props.theme.textActiveBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.textHoverFontColorOnDark : props.theme.textHoverFontColor, " !important;\n }\n &:focus {\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 &: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 }\n ");
210
- }
211
- });
212
-
213
- DxcButton.propTypes = {
214
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
215
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
216
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
217
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
218
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
219
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
220
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
221
- label: _propTypes["default"].string,
222
- mode: _propTypes["default"].oneOf(["primary", "secondary", "text"]),
223
- disabled: _propTypes["default"].bool,
224
- iconPosition: _propTypes["default"].oneOf(["after", "before"]),
225
- onClick: _propTypes["default"].func,
226
- iconSrc: _propTypes["default"].string,
227
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
228
- type: _propTypes["default"].oneOf(["button", "reset", "submit"]),
229
- tabIndex: _propTypes["default"].number
230
- };
231
- var _default = DxcButton;
232
- exports["default"] = _default;
@@ -1,224 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
-
7
- var _react = _interopRequireDefault(require("react"));
8
-
9
- var _react2 = require("@storybook/react");
10
-
11
- var _addonActions = require("@storybook/addon-actions");
12
-
13
- var _addonKnobs = require("@storybook/addon-knobs");
14
-
15
- var _run_icon_black = _interopRequireDefault(require("../../.storybook/public/run_icon_black.png"));
16
-
17
- var _readme = _interopRequireDefault(require("./readme.md"));
18
-
19
- var _Button = _interopRequireDefault(require("./Button"));
20
-
21
- var onClick = (0, _addonActions.action)("onClick");
22
-
23
- onClick.toString = function () {
24
- return "onClickHandler";
25
- };
26
-
27
- (0, _react2.storiesOf)("Form Components|Button", module).add("Types", function () {
28
- return _react["default"].createElement("div", null, _react["default"].createElement("h3", null, "Light"), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
29
- mode: "basic",
30
- theme: "light",
31
- label: "Basic Button",
32
- onClick: onClick
33
- }), _react["default"].createElement(_Button["default"], {
34
- mode: "raised",
35
- theme: "light",
36
- label: "Raised Button",
37
- onClick: onClick
38
- }), _react["default"].createElement(_Button["default"], {
39
- mode: "flat",
40
- theme: "light",
41
- label: "Flat Button",
42
- onClick: onClick
43
- }), _react["default"].createElement(_Button["default"], {
44
- mode: "outlined",
45
- theme: "light",
46
- label: "Outlined Button",
47
- onClick: onClick
48
- })), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
49
- disabled: true,
50
- mode: "basic",
51
- theme: "light",
52
- label: "Basic Button",
53
- onClick: onClick
54
- }), _react["default"].createElement(_Button["default"], {
55
- disabled: true,
56
- mode: "raised",
57
- theme: "light",
58
- label: "Raised Button",
59
- onClick: onClick
60
- }), _react["default"].createElement(_Button["default"], {
61
- disabled: true,
62
- mode: "flat",
63
- theme: "light",
64
- label: "Flat Button",
65
- onClick: onClick
66
- }), _react["default"].createElement(_Button["default"], {
67
- disabled: true,
68
- mode: "outlined",
69
- theme: "light",
70
- label: "Outlined Button",
71
- onClick: onClick
72
- })), _react["default"].createElement("h3", null, "Dark"), _react["default"].createElement("div", {
73
- style: {
74
- background: "black"
75
- }
76
- }, _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
77
- mode: "basic",
78
- theme: "dark",
79
- label: "Basic Button",
80
- onClick: onClick
81
- }), _react["default"].createElement(_Button["default"], {
82
- mode: "raised",
83
- theme: "dark",
84
- label: "Raised Button",
85
- onClick: onClick
86
- }), _react["default"].createElement(_Button["default"], {
87
- mode: "flat",
88
- theme: "dark",
89
- label: "Flat Button",
90
- onClick: onClick
91
- }), _react["default"].createElement(_Button["default"], {
92
- mode: "outlined",
93
- theme: "dark",
94
- label: "Outlined Button",
95
- onClick: onClick
96
- })), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
97
- disabled: true,
98
- mode: "basic",
99
- theme: "dark",
100
- label: "Basic Button",
101
- onClick: onClick
102
- }), _react["default"].createElement(_Button["default"], {
103
- disabled: true,
104
- mode: "raised",
105
- theme: "dark",
106
- label: "Raised Button",
107
- onClick: onClick
108
- }), _react["default"].createElement(_Button["default"], {
109
- disabled: true,
110
- mode: "flat",
111
- theme: "dark",
112
- label: "Flat Button",
113
- onClick: onClick
114
- }), _react["default"].createElement(_Button["default"], {
115
- disabled: true,
116
- mode: "outlined",
117
- theme: "dark",
118
- label: "Outlined Button",
119
- onClick: onClick
120
- }))), _react["default"].createElement("h3", null, "With icon"), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
121
- mode: "basic",
122
- theme: "light",
123
- label: "Basic Button",
124
- onClick: onClick,
125
- iconPosition: "after",
126
- iconSrc: _run_icon_black["default"]
127
- }), _react["default"].createElement(_Button["default"], {
128
- mode: "raised",
129
- theme: "light",
130
- label: "Raised Button",
131
- onClick: onClick,
132
- iconPosition: "after",
133
- iconSrc: _run_icon_black["default"]
134
- }), _react["default"].createElement(_Button["default"], {
135
- mode: "flat",
136
- theme: "light",
137
- label: "Flat Button",
138
- onClick: onClick,
139
- iconSrc: _run_icon_black["default"]
140
- }), _react["default"].createElement(_Button["default"], {
141
- mode: "outlined",
142
- theme: "light",
143
- label: "Outlined Button",
144
- onClick: onClick,
145
- iconPosition: "after",
146
- iconSrc: _run_icon_black["default"]
147
- })), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
148
- disabled: true,
149
- mode: "basic",
150
- theme: "light",
151
- label: "Basic Button",
152
- onClick: onClick,
153
- iconPosition: "after",
154
- iconSrc: _run_icon_black["default"]
155
- }), _react["default"].createElement(_Button["default"], {
156
- disabled: true,
157
- mode: "raised",
158
- theme: "light",
159
- label: "Raised Button",
160
- onClick: onClick,
161
- iconPosition: "after",
162
- iconSrc: _run_icon_black["default"]
163
- }), _react["default"].createElement(_Button["default"], {
164
- disabled: true,
165
- mode: "flat",
166
- theme: "light",
167
- label: "Flat Button",
168
- onClick: onClick,
169
- iconPosition: "after",
170
- iconSrc: _run_icon_black["default"]
171
- }), _react["default"].createElement(_Button["default"], {
172
- disabled: true,
173
- mode: "outlined",
174
- theme: "light",
175
- label: "Outlined Button",
176
- onClick: onClick,
177
- iconPosition: "after",
178
- iconSrc: _run_icon_black["default"]
179
- })));
180
- }, {
181
- notes: {
182
- markdown: _readme["default"]
183
- }
184
- });
185
-
186
- var knobProps = function knobProps() {
187
- return {
188
- label: (0, _addonKnobs.text)("label", "Test Button"),
189
- mode: (0, _addonKnobs.select)("mode", {
190
- basic: "basic",
191
- raised: "raised",
192
- flat: "flat",
193
- outlined: "outlined"
194
- }, "basic"),
195
- theme: (0, _addonKnobs.select)("theme", {
196
- light: "light",
197
- dark: "dark"
198
- }, "light"),
199
- disabled: (0, _addonKnobs["boolean"])("disabled", false),
200
- iconPosition: (0, _addonKnobs.select)("icon position", {
201
- before: "before",
202
- after: "after"
203
- }, "before"),
204
- icon: (0, _addonKnobs["boolean"])("With Icon", true)
205
- };
206
- };
207
-
208
- (0, _react2.storiesOf)("Form Components|Button", module).add("Knobs example", function () {
209
- var props = knobProps();
210
- return _react["default"].createElement("div", {
211
- style: {
212
- background: props.theme === "dark" && "black" || "transparent"
213
- }
214
- }, props.icon && _react["default"].createElement(_Button["default"], (0, _extends2["default"])({}, props, {
215
- onClick: onClick,
216
- iconSrc: _run_icon_black["default"]
217
- })) || _react["default"].createElement(_Button["default"], (0, _extends2["default"])({}, props, {
218
- onClick: onClick
219
- })));
220
- }, {
221
- notes: {
222
- markdown: _readme["default"]
223
- }
224
- });
@@ -1,93 +0,0 @@
1
- # DXC Button Component
2
-
3
- ## Usage
4
-
5
- ```js
6
- import { DxcButton } from "@dxc-technology/halstack-react";
7
-
8
- <DxcButton onClick={handleClick} label="Test Button" />;
9
- ```
10
-
11
- ## Props
12
-
13
- <table>
14
- <tr style="background-color: grey">
15
- <td>Name</td>
16
- <td>Default</td>
17
- <td>Description</td>
18
- </tr>
19
- <tr>
20
- <td>mode: 'basic' | 'outlined' | 'raised' | 'flat'</td>
21
- <td><code>'basic'</code></td>
22
- <td>Uses on of the available button modes.</td>
23
- </tr>
24
- <tr>
25
- <td>theme: 'light' |'dark'</td>
26
- <td><code>'light'</code></td>
27
- <td>Uses one of the available button modes.</td>
28
- </tr>
29
- <tr>
30
- <td>label: string</td>
31
- <td><code>'basic'</code></td>
32
- <td>Text to be placed next to the button.</td>
33
- </tr>
34
- <tr>
35
- <td>iconSrc: string</td>
36
- <td></td>
37
- <td>URL of the icon that will be placed next to the button label.</td>
38
- </tr>
39
- <tr>
40
- <td>iconPosition: 'before' | 'after'</td>
41
- <td><code>'before'</code></td>
42
- <td>Whether the icon should appear after or before the label.</td>
43
- </tr>
44
- <tr>
45
- <td>disabled: boolean</td>
46
- <td><code>false</code></td>
47
- <td>If true, the component will be disabled.</td>
48
- </tr>
49
- <tr>
50
- <td>disableRipple: boolean</td>
51
- <td><code>false</code></td>
52
- <td>If true, the ripple effect will be disabled.</td>
53
- </tr>
54
- <tr>
55
- <td>onClick: function</td>
56
- <td></td>
57
- <td>This function will be called when the user clicks the button. The event object will be passed as a parameter.</td>
58
- </tr>
59
-
60
- </table>
61
-
62
- ## Examples
63
-
64
- - Basic button - Light theme - Enabled - Icon after label - With ripple
65
-
66
- ```js
67
- import React from "react";
68
-
69
- import { DxcButton } from "@dxc-technology/halstack-react";
70
-
71
- function App() {
72
- const handleOnClick = event => {
73
- console.log("Button clicked");
74
- };
75
-
76
- return (
77
- <div>
78
- <DxcButton
79
- label="Basic"
80
- mode="basic"
81
- disabled={false}
82
- theme="light"
83
- disableRipple={false}
84
- iconPosition="after"
85
- iconSrc="/images/run_icon.png"
86
- onClick={handleOnClick}
87
- />
88
- </div>
89
- );
90
- }
91
-
92
- export default App;
93
- ```