@dxc-technology/halstack-react 0.0.0-d9521d7 → 0.0.0-da224ae

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 (360) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/V3Select/V3Select.js +455 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +260 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +258 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +170 -0
  13. package/accordion-group/types.d.ts +72 -0
  14. package/accordion-group/types.js +5 -0
  15. package/alert/Alert.d.ts +4 -0
  16. package/alert/Alert.js +290 -0
  17. package/alert/Alert.stories.tsx +170 -0
  18. package/alert/types.d.ts +49 -0
  19. package/alert/types.js +5 -0
  20. package/badge/Badge.js +59 -0
  21. package/box/Box.d.ts +4 -0
  22. package/box/Box.js +129 -0
  23. package/box/Box.stories.tsx +132 -0
  24. package/box/types.d.ts +47 -0
  25. package/box/types.js +5 -0
  26. package/button/Button.d.ts +4 -0
  27. package/button/Button.js +177 -0
  28. package/button/Button.stories.tsx +276 -0
  29. package/button/types.d.ts +57 -0
  30. package/button/types.js +5 -0
  31. package/card/Card.d.ts +4 -0
  32. package/card/Card.js +165 -0
  33. package/card/types.d.ts +69 -0
  34. package/card/types.js +5 -0
  35. package/checkbox/Checkbox.d.ts +4 -0
  36. package/checkbox/Checkbox.js +253 -0
  37. package/checkbox/Checkbox.stories.tsx +192 -0
  38. package/checkbox/types.d.ts +60 -0
  39. package/checkbox/types.js +5 -0
  40. package/chip/Chip.js +221 -0
  41. package/chip/Chip.stories.tsx +121 -0
  42. package/chip/index.d.ts +22 -0
  43. package/{dist/common → common}/OpenSans.css +0 -0
  44. package/{dist/common → common}/RequiredComponent.js +5 -19
  45. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  51. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  52. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  55. package/common/utils.js +22 -0
  56. package/common/variables.js +1577 -0
  57. package/{dist/date → date}/Date.js +87 -71
  58. package/date/index.d.ts +27 -0
  59. package/date-input/DateInput.d.ts +4 -0
  60. package/date-input/DateInput.js +361 -0
  61. package/date-input/DateInput.stories.tsx +138 -0
  62. package/date-input/types.d.ts +100 -0
  63. package/date-input/types.js +5 -0
  64. package/dialog/Dialog.d.ts +4 -0
  65. package/dialog/Dialog.js +165 -0
  66. package/dialog/Dialog.stories.tsx +212 -0
  67. package/dialog/types.d.ts +43 -0
  68. package/dialog/types.js +5 -0
  69. package/dropdown/Dropdown.d.ts +4 -0
  70. package/dropdown/Dropdown.js +417 -0
  71. package/dropdown/types.d.ts +89 -0
  72. package/dropdown/types.js +5 -0
  73. package/file-input/FileInput.js +532 -0
  74. package/file-input/FileItem.js +193 -0
  75. package/file-input/index.d.ts +81 -0
  76. package/footer/Footer.d.ts +4 -0
  77. package/footer/Footer.js +266 -0
  78. package/footer/Footer.stories.jsx +151 -0
  79. package/footer/Icons.js +77 -0
  80. package/footer/types.d.ts +61 -0
  81. package/footer/types.js +5 -0
  82. package/header/Header.d.ts +7 -0
  83. package/header/Header.js +324 -0
  84. package/header/Icons.js +34 -0
  85. package/header/types.d.ts +45 -0
  86. package/header/types.js +5 -0
  87. package/heading/Heading.d.ts +4 -0
  88. package/heading/Heading.js +159 -0
  89. package/heading/types.d.ts +33 -0
  90. package/heading/types.js +5 -0
  91. package/input-text/Icons.js +22 -0
  92. package/input-text/InputText.js +611 -0
  93. package/input-text/index.d.ts +36 -0
  94. package/layout/ApplicationLayout.js +235 -0
  95. package/layout/Icons.js +55 -0
  96. package/link/Link.d.ts +3 -0
  97. package/link/Link.js +161 -0
  98. package/link/Link.stories.tsx +70 -0
  99. package/link/types.d.ts +74 -0
  100. package/link/types.js +5 -0
  101. package/main.d.ts +44 -0
  102. package/{dist/main.js → main.js} +143 -43
  103. package/number-input/NumberInput.d.ts +4 -0
  104. package/number-input/NumberInput.js +86 -0
  105. package/number-input/NumberInput.stories.tsx +115 -0
  106. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +3 -2
  107. package/number-input/types.d.ts +117 -0
  108. package/number-input/types.js +5 -0
  109. package/package.json +39 -24
  110. package/paginator/Icons.js +66 -0
  111. package/paginator/Paginator.d.ts +4 -0
  112. package/paginator/Paginator.js +198 -0
  113. package/paginator/Paginator.stories.tsx +63 -0
  114. package/paginator/types.d.ts +38 -0
  115. package/paginator/types.js +5 -0
  116. package/password-input/PasswordInput.d.ts +4 -0
  117. package/password-input/PasswordInput.js +162 -0
  118. package/password-input/PasswordInput.stories.tsx +131 -0
  119. package/password-input/types.d.ts +100 -0
  120. package/password-input/types.js +5 -0
  121. package/progress-bar/ProgressBar.d.ts +4 -0
  122. package/progress-bar/ProgressBar.js +170 -0
  123. package/progress-bar/ProgressBar.stories.jsx +58 -0
  124. package/progress-bar/types.d.ts +37 -0
  125. package/progress-bar/types.js +5 -0
  126. package/radio/Radio.d.ts +4 -0
  127. package/radio/Radio.js +174 -0
  128. package/radio/Radio.stories.tsx +192 -0
  129. package/radio/types.d.ts +54 -0
  130. package/radio/types.js +5 -0
  131. package/resultsetTable/ResultsetTable.js +274 -0
  132. package/resultsetTable/index.d.ts +19 -0
  133. package/select/Select.js +865 -0
  134. package/select/Select.stories.tsx +572 -0
  135. package/select/index.d.ts +131 -0
  136. package/sidenav/Sidenav.d.ts +9 -0
  137. package/sidenav/Sidenav.js +136 -0
  138. package/sidenav/types.d.ts +50 -0
  139. package/sidenav/types.js +5 -0
  140. package/slider/Slider.d.ts +4 -0
  141. package/slider/Slider.js +317 -0
  142. package/slider/Slider.stories.tsx +177 -0
  143. package/slider/types.d.ts +78 -0
  144. package/slider/types.js +5 -0
  145. package/spinner/Spinner.d.ts +4 -0
  146. package/spinner/Spinner.js +250 -0
  147. package/spinner/Spinner.stories.jsx +102 -0
  148. package/spinner/types.d.ts +32 -0
  149. package/spinner/types.js +5 -0
  150. package/switch/Switch.d.ts +4 -0
  151. package/switch/Switch.js +179 -0
  152. package/switch/Switch.stories.tsx +160 -0
  153. package/switch/types.d.ts +58 -0
  154. package/switch/types.js +5 -0
  155. package/table/Table.d.ts +4 -0
  156. package/table/Table.js +118 -0
  157. package/table/Table.stories.jsx +276 -0
  158. package/table/types.d.ts +21 -0
  159. package/table/types.js +5 -0
  160. package/tabs/Tabs.d.ts +4 -0
  161. package/tabs/Tabs.js +211 -0
  162. package/tabs/types.d.ts +71 -0
  163. package/tabs/types.js +5 -0
  164. package/tag/Tag.d.ts +4 -0
  165. package/tag/Tag.js +193 -0
  166. package/tag/Tag.stories.tsx +145 -0
  167. package/tag/types.d.ts +60 -0
  168. package/tag/types.js +5 -0
  169. package/text-input/TextInput.js +825 -0
  170. package/text-input/index.d.ts +135 -0
  171. package/textarea/Textarea.js +317 -0
  172. package/textarea/Textarea.stories.jsx +135 -0
  173. package/textarea/index.d.ts +117 -0
  174. package/{dist/toggle → toggle}/Toggle.js +30 -67
  175. package/toggle/index.d.ts +21 -0
  176. package/toggle-group/ToggleGroup.js +243 -0
  177. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  178. package/toggle-group/index.d.ts +21 -0
  179. package/{dist/upload → upload}/Upload.js +23 -22
  180. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  181. package/upload/buttons-upload/Icons.js +40 -0
  182. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  183. package/upload/dragAndDropArea/Icons.js +39 -0
  184. package/upload/file-upload/FileToUpload.js +115 -0
  185. package/upload/file-upload/Icons.js +66 -0
  186. package/upload/files-upload/FilesToUpload.js +109 -0
  187. package/upload/index.d.ts +15 -0
  188. package/upload/transaction/Icons.js +160 -0
  189. package/upload/transaction/Transaction.js +104 -0
  190. package/upload/transactions/Transactions.js +94 -0
  191. package/useTheme.js +22 -0
  192. package/wizard/Icons.js +65 -0
  193. package/wizard/Wizard.d.ts +4 -0
  194. package/wizard/Wizard.js +231 -0
  195. package/wizard/Wizard.stories.jsx +224 -0
  196. package/wizard/types.d.ts +64 -0
  197. package/wizard/types.js +5 -0
  198. package/README.md +0 -66
  199. package/babel.config.js +0 -4
  200. package/dist/accordion/Accordion.js +0 -242
  201. package/dist/accordion/Accordion.stories.js +0 -207
  202. package/dist/accordion/readme.md +0 -96
  203. package/dist/alert/Alert.js +0 -304
  204. package/dist/alert/Alert.stories.js +0 -158
  205. package/dist/alert/close.svg +0 -4
  206. package/dist/alert/error.svg +0 -4
  207. package/dist/alert/info.svg +0 -4
  208. package/dist/alert/readme.md +0 -43
  209. package/dist/alert/success.svg +0 -4
  210. package/dist/alert/warning.svg +0 -4
  211. package/dist/box/Box.js +0 -148
  212. package/dist/button/Button.js +0 -181
  213. package/dist/button/Button.stories.js +0 -224
  214. package/dist/button/readme.md +0 -93
  215. package/dist/card/Card.js +0 -217
  216. package/dist/checkbox/Checkbox.js +0 -240
  217. package/dist/checkbox/Checkbox.stories.js +0 -144
  218. package/dist/checkbox/readme.md +0 -116
  219. package/dist/chip/Chip.js +0 -173
  220. package/dist/common/services/example-service.js +0 -10
  221. package/dist/common/services/example-service.test.js +0 -12
  222. package/dist/common/utils.js +0 -42
  223. package/dist/common/variables.js +0 -400
  224. package/dist/date/Date.stories.js +0 -205
  225. package/dist/date/calendar.svg +0 -1
  226. package/dist/date/calendar_dark.svg +0 -1
  227. package/dist/date/readme.md +0 -73
  228. package/dist/dialog/Dialog.js +0 -197
  229. package/dist/dialog/Dialog.stories.js +0 -217
  230. package/dist/dialog/readme.md +0 -32
  231. package/dist/dropdown/Dropdown.js +0 -424
  232. package/dist/dropdown/Dropdown.stories.js +0 -249
  233. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  234. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  235. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  236. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  237. package/dist/dropdown/readme.md +0 -69
  238. package/dist/footer/Footer.js +0 -346
  239. package/dist/footer/Footer.stories.js +0 -94
  240. package/dist/footer/dxc_logo_wht.png +0 -0
  241. package/dist/footer/readme.md +0 -41
  242. package/dist/header/Header.js +0 -372
  243. package/dist/header/Header.stories.js +0 -176
  244. package/dist/header/close_icon.svg +0 -1
  245. package/dist/header/dxc_logo_black.png +0 -0
  246. package/dist/header/dxc_logo_white.png +0 -0
  247. package/dist/header/hamb_menu_black.svg +0 -1
  248. package/dist/header/hamb_menu_white.svg +0 -1
  249. package/dist/header/readme.md +0 -33
  250. package/dist/heading/Heading.js +0 -153
  251. package/dist/input-text/InputText.js +0 -519
  252. package/dist/input-text/InputText.stories.js +0 -209
  253. package/dist/input-text/error.svg +0 -1
  254. package/dist/input-text/readme.md +0 -91
  255. package/dist/link/Link.js +0 -136
  256. package/dist/link/readme.md +0 -51
  257. package/dist/paginator/Paginator.js +0 -196
  258. package/dist/paginator/images/next.svg +0 -3
  259. package/dist/paginator/images/nextPage.svg +0 -3
  260. package/dist/paginator/images/previous.svg +0 -3
  261. package/dist/paginator/images/previousPage.svg +0 -3
  262. package/dist/paginator/readme.md +0 -50
  263. package/dist/progress-bar/ProgressBar.js +0 -185
  264. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  265. package/dist/progress-bar/readme.md +0 -63
  266. package/dist/radio/Radio.js +0 -195
  267. package/dist/radio/Radio.stories.js +0 -166
  268. package/dist/radio/readme.md +0 -70
  269. package/dist/resultsetTable/ResultsetTable.js +0 -333
  270. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  271. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  272. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  273. package/dist/select/Select.js +0 -451
  274. package/dist/select/Select.stories.js +0 -235
  275. package/dist/select/readme.md +0 -72
  276. package/dist/sidenav/Sidenav.js +0 -236
  277. package/dist/sidenav/arrow_icon.svg +0 -3
  278. package/dist/slider/Slider.js +0 -258
  279. package/dist/slider/Slider.stories.js +0 -241
  280. package/dist/slider/readme.md +0 -64
  281. package/dist/spinner/Spinner.js +0 -193
  282. package/dist/spinner/Spinner.stories.js +0 -183
  283. package/dist/spinner/readme.md +0 -65
  284. package/dist/switch/Switch.js +0 -199
  285. package/dist/switch/Switch.stories.js +0 -134
  286. package/dist/switch/readme.md +0 -133
  287. package/dist/table/Table.js +0 -87
  288. package/dist/tabs/Tabs.js +0 -172
  289. package/dist/tabs/Tabs.stories.js +0 -130
  290. package/dist/tabs/readme.md +0 -78
  291. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  292. package/dist/tabs-for-sections/readme.md +0 -78
  293. package/dist/tag/Tag.js +0 -217
  294. package/dist/textarea/Textarea.js +0 -227
  295. package/dist/toggle/Toggle.stories.js +0 -297
  296. package/dist/toggle/readme.md +0 -80
  297. package/dist/upload/Upload.stories.js +0 -72
  298. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  299. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  300. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  301. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  302. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  303. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  304. package/dist/upload/file-upload/FileToUpload.js +0 -158
  305. package/dist/upload/file-upload/audio-icon.svg +0 -4
  306. package/dist/upload/file-upload/close.svg +0 -4
  307. package/dist/upload/file-upload/file-icon.svg +0 -4
  308. package/dist/upload/file-upload/video-icon.svg +0 -4
  309. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  310. package/dist/upload/readme.md +0 -37
  311. package/dist/upload/transaction/Transaction.js +0 -155
  312. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  313. package/dist/upload/transaction/audio-icon.svg +0 -4
  314. package/dist/upload/transaction/error-icon.svg +0 -4
  315. package/dist/upload/transaction/file-icon-err.svg +0 -4
  316. package/dist/upload/transaction/file-icon.svg +0 -4
  317. package/dist/upload/transaction/image-icon-err.svg +0 -4
  318. package/dist/upload/transaction/image-icon.svg +0 -4
  319. package/dist/upload/transaction/success-icon.svg +0 -4
  320. package/dist/upload/transaction/video-icon-err.svg +0 -4
  321. package/dist/upload/transaction/video-icon.svg +0 -4
  322. package/dist/upload/transactions/Transactions.js +0 -120
  323. package/dist/wizard/Wizard.js +0 -327
  324. package/dist/wizard/invalid_icon.svg +0 -6
  325. package/dist/wizard/valid_icon.svg +0 -6
  326. package/dist/wizard/validation-wrong.svg +0 -6
  327. package/test/Accordion.test.js +0 -33
  328. package/test/Alert.test.js +0 -53
  329. package/test/Box.test.js +0 -10
  330. package/test/Button.test.js +0 -18
  331. package/test/Card.test.js +0 -30
  332. package/test/Checkbox.test.js +0 -45
  333. package/test/Chip.test.js +0 -25
  334. package/test/Date.test.js +0 -393
  335. package/test/Dialog.test.js +0 -23
  336. package/test/Dropdown.test.js +0 -130
  337. package/test/Footer.test.js +0 -99
  338. package/test/Header.test.js +0 -39
  339. package/test/Heading.test.js +0 -35
  340. package/test/InputText.test.js +0 -236
  341. package/test/Link.test.js +0 -25
  342. package/test/Paginator.test.js +0 -165
  343. package/test/ProgressBar.test.js +0 -35
  344. package/test/Radio.test.js +0 -37
  345. package/test/ResultsetTable.test.js +0 -282
  346. package/test/Select.test.js +0 -191
  347. package/test/Sidenav.test.js +0 -87
  348. package/test/Slider.test.js +0 -65
  349. package/test/Spinner.test.js +0 -27
  350. package/test/Switch.test.js +0 -45
  351. package/test/Table.test.js +0 -36
  352. package/test/Tabs.test.js +0 -88
  353. package/test/TabsForSections.test.js +0 -34
  354. package/test/Tag.test.js +0 -32
  355. package/test/TextArea.test.js +0 -52
  356. package/test/Toggle.test.js +0 -43
  357. package/test/Upload.test.js +0 -60
  358. package/test/Wizard.test.js +0 -130
  359. package/test/mocks/pngMock.js +0 -1
  360. package/test/mocks/svgMock.js +0 -1
package/dist/box/Box.js DELETED
@@ -1,148 +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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
19
-
20
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
- var _variables = require("../common/variables.js");
25
-
26
- var _utils = require("../common/utils.js");
27
-
28
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
29
-
30
- require("../common/OpenSans.css");
31
-
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"]);
34
-
35
- _templateObject = function _templateObject() {
36
- return data;
37
- };
38
-
39
- return data;
40
- }
41
-
42
- var DxcBox = function DxcBox(_ref) {
43
- var shadowDepth = _ref.shadowDepth,
44
- margin = _ref.margin,
45
- padding = _ref.padding,
46
- _ref$display = _ref.display,
47
- display = _ref$display === void 0 ? "inline-flex" : _ref$display,
48
- children = _ref.children,
49
- _ref$size = _ref.size,
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]);
55
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
56
- theme: colorsTheme.box
57
- }, _react["default"].createElement(StyledDxcBox, {
58
- shadowDepth: shadowDepth,
59
- display: display,
60
- margin: margin,
61
- padding: padding,
62
- size: size
63
- }, children));
64
- };
65
-
66
- var sizes = {
67
- small: "48px",
68
- medium: "240px",
69
- large: "480px",
70
- fillParent: "100%",
71
- fitContent: "unset"
72
- };
73
-
74
- var calculateWidth = function calculateWidth(margin, size, padding) {
75
- if (size === "fillParent") {
76
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), " -\n ").concat((0, _utils.getMargin)(padding, "left"), " - ").concat((0, _utils.getMargin)(padding, "right"), ")");
77
- }
78
-
79
- return sizes[size];
80
- };
81
-
82
- var StyledDxcBox = _styledComponents["default"].div(_templateObject(), function (_ref2) {
83
- var display = _ref2.display;
84
- return display;
85
- }, function (props) {
86
- return calculateWidth(props.margin, props.size, props.padding);
87
- }, function (props) {
88
- return props.theme.backgroundColor;
89
- }, 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";
92
- }, function (_ref4) {
93
- var margin = _ref4.margin;
94
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
95
- }, function (_ref5) {
96
- var margin = _ref5.margin;
97
- return margin && margin.top ? _variables.spaces[margin.top] : "";
98
- }, function (_ref6) {
99
- var margin = _ref6.margin;
100
- return margin && margin.right ? _variables.spaces[margin.right] : "";
101
- }, function (_ref7) {
102
- var margin = _ref7.margin;
103
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
104
- }, function (_ref8) {
105
- var margin = _ref8.margin;
106
- return margin && margin.left ? _variables.spaces[margin.left] : "";
107
- }, function (_ref9) {
108
- var padding = _ref9.padding;
109
- return padding && (0, _typeof2["default"])(padding) !== "object" ? _variables.spaces[padding] : "0px";
110
- }, function (_ref10) {
111
- var padding = _ref10.padding;
112
- return padding && padding.top ? _variables.spaces[padding.top] : "";
113
- }, function (_ref11) {
114
- var padding = _ref11.padding;
115
- return padding && padding.right ? _variables.spaces[padding.right] : "";
116
- }, function (_ref12) {
117
- var padding = _ref12.padding;
118
- return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
119
- }, function (_ref13) {
120
- var padding = _ref13.padding;
121
- return padding && padding.left ? _variables.spaces[padding.left] : "";
122
- });
123
-
124
- DxcBox.propTypes = {
125
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
126
- display: _propTypes["default"].string,
127
- shadowDepth: _propTypes["default"].oneOf([0, 1, 2]),
128
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
129
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
130
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
131
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
132
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
133
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
134
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
135
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
136
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
137
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
138
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
139
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
140
- };
141
- DxcBox.defaultProps = {
142
- shadowDepth: 2,
143
- display: "inline-flex",
144
- margin: null,
145
- padding: null
146
- };
147
- var _default = DxcBox;
148
- exports["default"] = _default;
@@ -1,181 +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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
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
- require("../common/OpenSans.css");
27
-
28
- var _variables = require("../common/variables.js");
29
-
30
- var _utils = require("../common/utils.js");
31
-
32
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
33
-
34
- function _templateObject3() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-block;\n width: ", ";\n cursor: ", ";\n\n .MuiButtonBase-root {\n .MuiButton-label {\n display: flex;\n flex-direction: ", ";\n align-items: center;\n }\n letter-spacing: 1px;\n box-shadow: none;\n font-size: 14px;\n font-weight: 500;\n min-width: ", ";\n border-radius: 4px;\n width: 100%;\n min-height: 43px;\n line-height: 1;\n font-family: \"Open Sans\", sans-serif;\n &:focus {\n outline: ", " auto 1px;\n }\n transition: color 0.16s ease-in-out, background-color 0.16s ease-in-out;\n transition: color 0.16s ease-in-out, border-color 0.16s ease-in-out;\n &:hover {\n transition: color 0.16s ease-in-out, background-color 0.16s ease-in-out;\n transition: color 0.16s ease-in-out, border-color 0.16s ease-in-out;\n }\n ", "\n }\n"]);
36
-
37
- _templateObject3 = function _templateObject3() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject2() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 20px;\n max-width: 20px;\n margin-left: ", ";\n margin-right: ", ";\n"]);
46
-
47
- _templateObject2 = function _templateObject2() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
53
-
54
- function _templateObject() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n line-height: 18px;\n font-size: 14px;\n text-overflow: ellipsis;\n overflow: hidden;\n"]);
56
-
57
- _templateObject = function _templateObject() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- var DxcButton = function DxcButton(_ref) {
65
- var _ref$label = _ref.label,
66
- label = _ref$label === void 0 ? "" : _ref$label,
67
- _ref$mode = _ref.mode,
68
- mode = _ref$mode === void 0 ? "primary" : _ref$mode,
69
- _ref$disabled = _ref.disabled,
70
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
71
- _ref$iconPosition = _ref.iconPosition,
72
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
73
- _ref$iconSrc = _ref.iconSrc,
74
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
75
- _ref$onClick = _ref.onClick,
76
- _onClick = _ref$onClick === void 0 ? "" : _ref$onClick,
77
- margin = _ref.margin,
78
- size = _ref.size;
79
-
80
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
81
- var colorsTheme = (0, _react.useMemo)(function () {
82
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
83
- }, [customTheme]);
84
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
85
- theme: colorsTheme.button
86
- }, _react["default"].createElement(DxCButton, {
87
- margin: margin,
88
- mode: mode,
89
- disabled: disabled,
90
- iconPosition: iconPosition,
91
- size: size
92
- }, _react["default"].createElement(_core.Button, {
93
- disabled: disabled,
94
- disableRipple: true,
95
- "aria-disabled": disabled ? true : false,
96
- onClick: function onClick() {
97
- if (_onClick) {
98
- _onClick();
99
- }
100
- }
101
- }, _react["default"].createElement(LabelContainer, null, label), iconSrc && _react["default"].createElement(ButtonIcon, {
102
- label: label,
103
- iconPosition: iconPosition,
104
- src: iconSrc
105
- }))));
106
- };
107
-
108
- var sizes = {
109
- small: "42px",
110
- medium: "120px",
111
- large: "240px",
112
- fillParent: "100%",
113
- fitContent: "unset"
114
- };
115
-
116
- var calculateWidth = function calculateWidth(margin, size) {
117
- if (size === "fillParent") {
118
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
119
- }
120
-
121
- return sizes[size];
122
- };
123
-
124
- var LabelContainer = _styledComponents["default"].span(_templateObject());
125
-
126
- var ButtonIcon = _styledComponents["default"].img(_templateObject2(), function (props) {
127
- return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
128
- }, function (props) {
129
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
130
- });
131
-
132
- var DxCButton = _styledComponents["default"].div(_templateObject3(), function (props) {
133
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
134
- }, function (props) {
135
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
136
- }, function (props) {
137
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
138
- }, function (props) {
139
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
140
- }, function (props) {
141
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
142
- }, function (props) {
143
- return calculateWidth(props.margin, props.size);
144
- }, function (props) {
145
- return props.disabled && "not-allowed" || "pointer";
146
- }, function (props) {
147
- return props.iconPosition === "after" && "row" || "row-reverse";
148
- }, function (props) {
149
- return props.size === "small" && "calc(100% - 22px)" || "unset";
150
- }, function (props) {
151
- return props.theme.focusColor;
152
- }, function (props) {
153
- var mode = props.mode;
154
-
155
- if (mode === "primary") {
156
- return "\n background-color: ".concat(props.theme.color, ";\n color: ").concat(props.theme.primaryFontColor, ";\n padding: ").concat(props.size === "small" && "11px" || "12px 30px", ";\n &:hover{\n background-color: ").concat(props.theme.hoverColor, ";\n color: ").concat(props.theme.primaryHoverFontColor, "; \n }\n &:active {\n background-color: ").concat(props.theme.hoverColor).concat(props.theme.primaryActiveOpacity, " !important;\n color: ").concat(props.theme.primaryHoverFontColor, " !important;\n }\n &:focus {\n background-color: ").concat(props.theme.hoverColor, ";\n color: ").concat(props.theme.primaryHoverFontColor, "; \n }\n &:disabled{ \n background-color: ").concat(props.theme.color, ";\n opacity: ").concat(props.theme.disabledOpacity, ";\n color: ").concat(props.theme.primaryFontColor, ";\n cursor:not-allowed;\n }\n .MuiButton-label {\n z-index: 5\n }\n ");
157
- } else if (mode === "secondary") {
158
- return "\n background-color: ".concat(props.theme.secondaryBackgroundColor, ";\n padding: ").concat(props.size === "small" && "9px" || "10px 28px", ";\n color: ").concat(props.theme.secondaryFontColor, ";\n border: 2px solid;\n border-color: ").concat(props.theme.color, ";\n &:hover{\n border-color: ").concat(props.theme.hoverColor, ";\n background-color: ").concat(props.theme.hoverColor).concat(props.theme.secondaryHoverOpacity, ";\n }\n &:active {\n background-color: ").concat(props.theme.hoverColor).concat(props.theme.secondaryActiveOpacity, " !important;\n color: ").concat(props.theme.textFontColor, " !important;\n }\n &:focus {\n background-color: ").concat(props.theme.secondaryBackgroundColor, ";\n color: ").concat(props.theme.textFontColor, "; \n }\n &:disabled{\n background-color: ").concat(props.theme.secondaryBackgroundColor, ";\n border-color: ").concat(props.theme.color, ";\n color: ").concat(props.theme.secondaryFontColor, ";\n cursor:not-allowed;\n opacity: ").concat(props.theme.disabledOpacity, ";\n }\n .MuiButton-label {\n z-index: 5\n }\n\n ");
159
- } else if (mode === "text") {
160
- return "\n background-color: ".concat(props.theme.textBackgroundColor, ";\n color: ").concat(props.theme.textFontColor, ";\n padding: ").concat(props.size === "small" && "11px" || "12px 30px", ";\n &:hover{\n background-color: ").concat(props.theme.hoverColor, ";\n color: ").concat(props.theme.textHoverFontColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.hoverColor).concat(props.theme.textActiveOpacity, " !important;\n color: ").concat(props.theme.textHoverFontColor, " !important;\n }\n &:focus {\n background-color: ").concat(props.theme.hoverColor, ";\n color: ").concat(props.theme.textHoverFontColor, "; \n }\n &:disabled{\n background-color: ").concat(props.theme.textBackgroundColor, ";\n opacity: ").concat(props.theme.disabledOpacity, ";\n color: ").concat(props.theme.textFontColor, ";\n cursor:not-allowed;\n }\n ");
161
- }
162
- });
163
-
164
- DxcButton.propTypes = {
165
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
166
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
167
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
168
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
169
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
170
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
171
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
172
- label: _propTypes["default"].string,
173
- mode: _propTypes["default"].oneOf(["primary", "secondary", "text"]),
174
- disabled: _propTypes["default"].bool,
175
- theme: _propTypes["default"].oneOf(["dark", "light"]),
176
- iconPosition: _propTypes["default"].oneOf(["after", "before"]),
177
- onClick: _propTypes["default"].func,
178
- iconSrc: _propTypes["default"].string
179
- };
180
- var _default = DxcButton;
181
- 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
- ```