@dxc-technology/halstack-react 0.0.0-2b5b4b0 → 0.0.0-2bca710

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 (362) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +2 -5
  3. package/HalstackContext.d.ts +1348 -0
  4. package/HalstackContext.js +335 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +110 -146
  8. package/accordion/Accordion.stories.tsx +297 -0
  9. package/accordion/Accordion.test.js +71 -0
  10. package/accordion/types.d.ts +8 -19
  11. package/accordion-group/AccordionGroup.d.ts +5 -4
  12. package/accordion-group/AccordionGroup.js +34 -76
  13. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  14. package/accordion-group/AccordionGroup.test.js +116 -0
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +43 -0
  17. package/accordion-group/types.d.ts +14 -19
  18. package/alert/Alert.js +11 -12
  19. package/alert/Alert.stories.tsx +198 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +1 -1
  22. package/badge/Badge.d.ts +4 -0
  23. package/badge/Badge.js +6 -4
  24. package/badge/types.d.ts +5 -0
  25. package/bleed/Bleed.d.ts +3 -0
  26. package/bleed/Bleed.js +51 -0
  27. package/bleed/Bleed.stories.tsx +342 -0
  28. package/bleed/types.d.ts +37 -0
  29. package/bleed/types.js +5 -0
  30. package/box/Box.d.ts +4 -0
  31. package/box/Box.js +24 -79
  32. package/box/{Box.stories.jsx → Box.stories.tsx} +38 -51
  33. package/box/Box.test.js +18 -0
  34. package/box/types.d.ts +32 -0
  35. package/box/types.js +5 -0
  36. package/bulleted-list/BulletedList.d.ts +7 -0
  37. package/bulleted-list/BulletedList.js +125 -0
  38. package/bulleted-list/BulletedList.stories.tsx +206 -0
  39. package/bulleted-list/types.d.ts +38 -0
  40. package/bulleted-list/types.js +5 -0
  41. package/button/Button.d.ts +1 -1
  42. package/button/Button.js +49 -87
  43. package/button/Button.stories.tsx +376 -244
  44. package/button/Button.test.js +46 -0
  45. package/button/types.d.ts +15 -15
  46. package/card/Card.d.ts +1 -1
  47. package/card/Card.js +39 -61
  48. package/card/Card.stories.tsx +171 -0
  49. package/card/Card.test.js +50 -0
  50. package/card/types.d.ts +3 -10
  51. package/checkbox/Checkbox.d.ts +2 -2
  52. package/checkbox/Checkbox.js +108 -111
  53. package/checkbox/Checkbox.stories.tsx +260 -0
  54. package/checkbox/Checkbox.test.js +155 -0
  55. package/checkbox/types.d.ts +13 -5
  56. package/chip/Chip.d.ts +4 -0
  57. package/chip/Chip.js +37 -118
  58. package/chip/Chip.stories.tsx +214 -0
  59. package/chip/Chip.test.js +54 -0
  60. package/chip/types.d.ts +45 -0
  61. package/chip/types.js +5 -0
  62. package/common/OpenSans.css +68 -80
  63. package/common/coreTokens.d.ts +146 -0
  64. package/common/coreTokens.js +167 -0
  65. package/common/utils.d.ts +1 -0
  66. package/common/utils.js +4 -4
  67. package/common/variables.d.ts +1494 -0
  68. package/common/variables.js +1111 -1307
  69. package/date-input/Calendar.d.ts +4 -0
  70. package/date-input/Calendar.js +258 -0
  71. package/date-input/DateInput.js +178 -268
  72. package/date-input/DateInput.stories.tsx +314 -0
  73. package/date-input/DateInput.test.js +849 -0
  74. package/date-input/DatePicker.d.ts +4 -0
  75. package/date-input/DatePicker.js +146 -0
  76. package/date-input/Icons.d.ts +6 -0
  77. package/date-input/Icons.js +75 -0
  78. package/date-input/YearPicker.d.ts +4 -0
  79. package/date-input/YearPicker.js +126 -0
  80. package/date-input/types.d.ts +71 -9
  81. package/dialog/Dialog.d.ts +1 -1
  82. package/dialog/Dialog.js +69 -103
  83. package/dialog/Dialog.stories.tsx +195 -0
  84. package/dialog/Dialog.test.js +369 -0
  85. package/dialog/types.d.ts +0 -12
  86. package/dropdown/Dropdown.d.ts +1 -1
  87. package/dropdown/Dropdown.js +248 -277
  88. package/dropdown/Dropdown.stories.tsx +438 -0
  89. package/dropdown/Dropdown.test.js +586 -0
  90. package/dropdown/DropdownMenu.d.ts +4 -0
  91. package/dropdown/DropdownMenu.js +74 -0
  92. package/dropdown/DropdownMenuItem.d.ts +4 -0
  93. package/dropdown/DropdownMenuItem.js +79 -0
  94. package/dropdown/types.d.ts +28 -17
  95. package/file-input/FileInput.d.ts +4 -0
  96. package/file-input/FileInput.js +183 -168
  97. package/file-input/FileInput.stories.tsx +618 -0
  98. package/file-input/FileInput.test.js +457 -0
  99. package/file-input/FileItem.d.ts +4 -0
  100. package/file-input/FileItem.js +50 -81
  101. package/file-input/types.d.ts +129 -0
  102. package/file-input/types.js +5 -0
  103. package/flex/Flex.d.ts +4 -0
  104. package/flex/Flex.js +71 -0
  105. package/flex/Flex.stories.tsx +112 -0
  106. package/flex/types.d.ts +97 -0
  107. package/flex/types.js +5 -0
  108. package/footer/Footer.d.ts +1 -1
  109. package/footer/Footer.js +56 -157
  110. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +38 -37
  111. package/footer/Footer.test.js +99 -0
  112. package/footer/Icons.d.ts +2 -0
  113. package/footer/Icons.js +4 -4
  114. package/footer/types.d.ts +26 -23
  115. package/grid/Grid.d.ts +7 -0
  116. package/grid/Grid.js +91 -0
  117. package/grid/Grid.stories.tsx +219 -0
  118. package/grid/types.d.ts +115 -0
  119. package/grid/types.js +5 -0
  120. package/header/Header.d.ts +8 -0
  121. package/header/Header.js +121 -171
  122. package/header/Header.stories.tsx +251 -0
  123. package/header/Header.test.js +79 -0
  124. package/header/Icons.d.ts +2 -0
  125. package/header/Icons.js +4 -29
  126. package/header/types.d.ts +34 -0
  127. package/header/types.js +5 -0
  128. package/heading/Heading.d.ts +4 -0
  129. package/heading/Heading.js +8 -25
  130. package/heading/Heading.stories.tsx +54 -0
  131. package/heading/Heading.test.js +186 -0
  132. package/heading/types.d.ts +33 -0
  133. package/heading/types.js +5 -0
  134. package/image/Image.d.ts +4 -0
  135. package/image/Image.js +85 -0
  136. package/image/Image.stories.tsx +127 -0
  137. package/image/types.d.ts +72 -0
  138. package/image/types.js +5 -0
  139. package/inset/Inset.d.ts +3 -0
  140. package/inset/Inset.js +51 -0
  141. package/inset/Inset.stories.tsx +230 -0
  142. package/inset/types.d.ts +37 -0
  143. package/inset/types.js +5 -0
  144. package/layout/ApplicationLayout.d.ts +20 -0
  145. package/layout/ApplicationLayout.js +81 -142
  146. package/layout/ApplicationLayout.stories.tsx +162 -0
  147. package/layout/Icons.d.ts +8 -0
  148. package/layout/Icons.js +52 -45
  149. package/layout/SidenavContext.d.ts +5 -0
  150. package/layout/SidenavContext.js +19 -0
  151. package/layout/types.d.ts +41 -0
  152. package/layout/types.js +5 -0
  153. package/link/Link.d.ts +4 -0
  154. package/link/Link.js +62 -109
  155. package/link/Link.stories.tsx +253 -0
  156. package/link/Link.test.js +81 -0
  157. package/link/types.d.ts +54 -0
  158. package/link/types.js +5 -0
  159. package/main.d.ts +14 -12
  160. package/main.js +76 -54
  161. package/nav-tabs/NavTabs.d.ts +8 -0
  162. package/nav-tabs/NavTabs.js +122 -0
  163. package/nav-tabs/NavTabs.stories.tsx +274 -0
  164. package/nav-tabs/NavTabs.test.js +82 -0
  165. package/nav-tabs/Tab.d.ts +4 -0
  166. package/nav-tabs/Tab.js +146 -0
  167. package/nav-tabs/types.d.ts +52 -0
  168. package/nav-tabs/types.js +5 -0
  169. package/number-input/NumberInput.d.ts +11 -0
  170. package/number-input/NumberInput.js +21 -71
  171. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +5 -5
  172. package/number-input/NumberInput.test.js +725 -0
  173. package/number-input/types.d.ts +124 -0
  174. package/number-input/types.js +5 -0
  175. package/package.json +23 -24
  176. package/paginator/Icons.d.ts +5 -0
  177. package/paginator/Icons.js +16 -28
  178. package/paginator/Paginator.js +22 -57
  179. package/paginator/Paginator.stories.tsx +24 -0
  180. package/paginator/Paginator.test.js +318 -0
  181. package/paragraph/Paragraph.d.ts +5 -0
  182. package/paragraph/Paragraph.js +38 -0
  183. package/paragraph/Paragraph.stories.tsx +44 -0
  184. package/password-input/Icons.d.ts +6 -0
  185. package/password-input/Icons.js +39 -0
  186. package/password-input/PasswordInput.d.ts +4 -0
  187. package/password-input/PasswordInput.js +42 -122
  188. package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +5 -4
  189. package/password-input/PasswordInput.test.js +174 -0
  190. package/password-input/types.d.ts +110 -0
  191. package/password-input/types.js +5 -0
  192. package/progress-bar/ProgressBar.js +63 -57
  193. package/progress-bar/ProgressBar.stories.jsx +93 -0
  194. package/progress-bar/ProgressBar.test.js +110 -0
  195. package/quick-nav/QuickNav.d.ts +4 -0
  196. package/quick-nav/QuickNav.js +117 -0
  197. package/quick-nav/QuickNav.stories.tsx +356 -0
  198. package/quick-nav/types.d.ts +21 -0
  199. package/quick-nav/types.js +5 -0
  200. package/radio-group/Radio.d.ts +4 -0
  201. package/radio-group/Radio.js +156 -0
  202. package/radio-group/RadioGroup.d.ts +4 -0
  203. package/radio-group/RadioGroup.js +281 -0
  204. package/radio-group/RadioGroup.stories.tsx +214 -0
  205. package/radio-group/RadioGroup.test.js +722 -0
  206. package/radio-group/types.d.ts +114 -0
  207. package/radio-group/types.js +5 -0
  208. package/resultsetTable/Icons.d.ts +7 -0
  209. package/resultsetTable/Icons.js +51 -0
  210. package/resultsetTable/ResultsetTable.d.ts +4 -0
  211. package/resultsetTable/ResultsetTable.js +54 -133
  212. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  213. package/resultsetTable/ResultsetTable.test.js +325 -0
  214. package/resultsetTable/types.d.ts +67 -0
  215. package/resultsetTable/types.js +5 -0
  216. package/select/Icons.d.ts +10 -0
  217. package/select/Icons.js +93 -0
  218. package/select/Listbox.d.ts +4 -0
  219. package/select/Listbox.js +169 -0
  220. package/select/Option.d.ts +4 -0
  221. package/select/Option.js +97 -0
  222. package/select/Select.d.ts +4 -0
  223. package/select/Select.js +202 -401
  224. package/select/Select.stories.tsx +971 -0
  225. package/select/Select.test.js +2228 -0
  226. package/select/types.d.ts +210 -0
  227. package/select/types.js +5 -0
  228. package/sidenav/Icons.d.ts +7 -0
  229. package/sidenav/Icons.js +51 -0
  230. package/sidenav/Sidenav.d.ts +10 -0
  231. package/sidenav/Sidenav.js +147 -54
  232. package/sidenav/Sidenav.stories.tsx +282 -0
  233. package/sidenav/Sidenav.test.js +44 -0
  234. package/sidenav/types.d.ts +76 -0
  235. package/sidenav/types.js +5 -0
  236. package/slider/Slider.d.ts +2 -2
  237. package/slider/Slider.js +150 -114
  238. package/slider/Slider.stories.tsx +240 -0
  239. package/slider/Slider.test.js +250 -0
  240. package/slider/types.d.ts +10 -7
  241. package/spinner/Spinner.d.ts +4 -0
  242. package/spinner/Spinner.js +20 -43
  243. package/spinner/Spinner.stories.jsx +53 -26
  244. package/spinner/Spinner.test.js +64 -0
  245. package/spinner/types.d.ts +32 -0
  246. package/spinner/types.js +5 -0
  247. package/switch/Switch.d.ts +2 -2
  248. package/switch/Switch.js +153 -70
  249. package/switch/Switch.stories.tsx +171 -0
  250. package/switch/Switch.test.js +225 -0
  251. package/switch/types.d.ts +10 -2
  252. package/table/Table.d.ts +4 -0
  253. package/table/Table.js +6 -6
  254. package/table/Table.stories.jsx +81 -1
  255. package/table/Table.test.js +26 -0
  256. package/table/types.d.ts +21 -0
  257. package/table/types.js +5 -0
  258. package/tabs/Tab.d.ts +4 -0
  259. package/tabs/Tab.js +132 -0
  260. package/tabs/Tabs.d.ts +1 -1
  261. package/tabs/Tabs.js +362 -112
  262. package/tabs/Tabs.stories.tsx +226 -0
  263. package/tabs/Tabs.test.js +350 -0
  264. package/tabs/types.d.ts +39 -18
  265. package/tag/Tag.d.ts +4 -0
  266. package/tag/Tag.js +38 -65
  267. package/tag/Tag.stories.tsx +155 -0
  268. package/tag/Tag.test.js +60 -0
  269. package/tag/types.d.ts +69 -0
  270. package/tag/types.js +5 -0
  271. package/text-input/Icons.d.ts +8 -0
  272. package/text-input/Icons.js +60 -0
  273. package/text-input/Suggestion.d.ts +4 -0
  274. package/text-input/Suggestion.js +84 -0
  275. package/text-input/Suggestions.d.ts +4 -0
  276. package/text-input/Suggestions.js +134 -0
  277. package/text-input/TextInput.d.ts +4 -0
  278. package/text-input/TextInput.js +272 -438
  279. package/text-input/TextInput.stories.tsx +608 -0
  280. package/text-input/TextInput.test.js +1812 -0
  281. package/text-input/types.d.ts +201 -0
  282. package/text-input/types.js +5 -0
  283. package/textarea/Textarea.d.ts +4 -0
  284. package/textarea/Textarea.js +64 -103
  285. package/textarea/Textarea.stories.jsx +104 -15
  286. package/textarea/Textarea.test.js +479 -0
  287. package/textarea/types.d.ts +141 -0
  288. package/textarea/types.js +5 -0
  289. package/toggle-group/ToggleGroup.d.ts +4 -0
  290. package/toggle-group/ToggleGroup.js +94 -96
  291. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  292. package/toggle-group/ToggleGroup.test.js +170 -0
  293. package/toggle-group/types.d.ts +114 -0
  294. package/toggle-group/types.js +5 -0
  295. package/typography/Typography.d.ts +4 -0
  296. package/typography/Typography.js +32 -0
  297. package/typography/Typography.stories.tsx +198 -0
  298. package/typography/types.d.ts +18 -0
  299. package/typography/types.js +5 -0
  300. package/useTheme.d.ts +1247 -0
  301. package/useTheme.js +3 -3
  302. package/useTranslatedLabels.d.ts +85 -0
  303. package/useTranslatedLabels.js +20 -0
  304. package/utils/BaseTypography.d.ts +21 -0
  305. package/utils/BaseTypography.js +108 -0
  306. package/utils/FocusLock.d.ts +13 -0
  307. package/utils/FocusLock.js +138 -0
  308. package/wizard/Wizard.d.ts +4 -0
  309. package/wizard/Wizard.js +119 -105
  310. package/wizard/Wizard.stories.tsx +253 -0
  311. package/wizard/Wizard.test.js +141 -0
  312. package/wizard/types.d.ts +64 -0
  313. package/wizard/types.js +5 -0
  314. package/ThemeContext.js +0 -246
  315. package/V3Select/V3Select.js +0 -455
  316. package/V3Select/index.d.ts +0 -27
  317. package/V3Textarea/V3Textarea.js +0 -260
  318. package/V3Textarea/index.d.ts +0 -27
  319. package/box/index.d.ts +0 -25
  320. package/chip/index.d.ts +0 -22
  321. package/common/RequiredComponent.js +0 -32
  322. package/date/Date.js +0 -373
  323. package/date/index.d.ts +0 -27
  324. package/file-input/index.d.ts +0 -81
  325. package/header/index.d.ts +0 -25
  326. package/heading/index.d.ts +0 -17
  327. package/input-text/Icons.js +0 -22
  328. package/input-text/InputText.js +0 -611
  329. package/input-text/index.d.ts +0 -36
  330. package/link/index.d.ts +0 -23
  331. package/number-input/NumberInputContext.js +0 -16
  332. package/number-input/index.d.ts +0 -113
  333. package/password-input/index.d.ts +0 -94
  334. package/radio/Radio.d.ts +0 -4
  335. package/radio/Radio.js +0 -174
  336. package/radio/types.d.ts +0 -54
  337. package/resultsetTable/index.d.ts +0 -19
  338. package/select/index.d.ts +0 -131
  339. package/sidenav/index.d.ts +0 -13
  340. package/spinner/index.d.ts +0 -17
  341. package/table/index.d.ts +0 -13
  342. package/tag/index.d.ts +0 -24
  343. package/text-input/index.d.ts +0 -135
  344. package/textarea/index.d.ts +0 -117
  345. package/toggle/Toggle.js +0 -186
  346. package/toggle/index.d.ts +0 -21
  347. package/toggle-group/index.d.ts +0 -21
  348. package/upload/Upload.js +0 -201
  349. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  350. package/upload/buttons-upload/Icons.js +0 -40
  351. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  352. package/upload/dragAndDropArea/Icons.js +0 -39
  353. package/upload/file-upload/FileToUpload.js +0 -115
  354. package/upload/file-upload/Icons.js +0 -66
  355. package/upload/files-upload/FilesToUpload.js +0 -109
  356. package/upload/index.d.ts +0 -15
  357. package/upload/transaction/Icons.js +0 -160
  358. package/upload/transaction/Transaction.js +0 -104
  359. package/upload/transactions/Transactions.js +0 -94
  360. package/wizard/Icons.js +0 -65
  361. package/wizard/index.d.ts +0 -18
  362. /package/{radio → badge}/types.js +0 -0
package/button/Button.js CHANGED
@@ -9,25 +9,23 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
- var _react = _interopRequireWildcard(require("react"));
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
15
 
18
- var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
16
+ var _react = _interopRequireWildcard(require("react"));
19
17
 
20
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
19
 
22
- var _variables = require("../common/variables.js");
20
+ var _variables = require("../common/variables");
23
21
 
24
- var _utils = require("../common/utils.js");
22
+ var _utils = require("../common/utils");
25
23
 
26
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
27
25
 
28
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
26
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
29
27
 
30
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
28
+ var _templateObject, _templateObject2, _templateObject3;
31
29
 
32
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
31
 
@@ -42,15 +40,15 @@ var DxcButton = function DxcButton(_ref) {
42
40
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
43
41
  _ref$iconPosition = _ref.iconPosition,
44
42
  iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
43
+ title = _ref.title,
45
44
  _ref$type = _ref.type,
46
45
  type = _ref$type === void 0 ? "button" : _ref$type,
47
- _ref$iconSrc = _ref.iconSrc,
48
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
49
46
  icon = _ref.icon,
50
47
  _ref$onClick = _ref.onClick,
51
- _onClick = _ref$onClick === void 0 ? "" : _ref$onClick,
48
+ _onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
52
49
  margin = _ref.margin,
53
- size = _ref.size,
50
+ _ref$size = _ref.size,
51
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
54
52
  _ref$tabIndex = _ref.tabIndex,
55
53
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
56
54
 
@@ -58,37 +56,25 @@ var DxcButton = function DxcButton(_ref) {
58
56
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
59
57
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
60
58
  theme: colorsTheme.button
61
- }, /*#__PURE__*/_react["default"].createElement(DxCButton, {
62
- type: type,
63
- margin: margin,
64
- mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
59
+ }, /*#__PURE__*/_react["default"].createElement(Button, {
60
+ "aria-label": title,
65
61
  disabled: disabled,
66
- iconPosition: iconPosition,
67
- size: size,
68
- backgroundType: backgroundType,
69
- icon: icon
70
- }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
71
- disabled: disabled,
72
- type: type,
73
- disableRipple: true,
74
- "aria-disabled": disabled ? true : false,
75
- tabIndex: disabled ? -1 : tabIndex,
76
62
  onClick: function onClick() {
77
- if (_onClick) {
78
- _onClick();
79
- }
80
- }
81
- }, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
82
- icon: icon,
83
- iconPosition: iconPosition
84
- }, label), icon ? /*#__PURE__*/_react["default"].createElement(IconContainer, {
85
- label: label,
86
- iconPosition: iconPosition
87
- }, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : iconSrc && /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
88
- label: label,
63
+ _onClick();
64
+ },
65
+ tabIndex: disabled ? -1 : tabIndex,
66
+ title: title,
67
+ type: type,
68
+ $mode: mode !== "primary" && mode !== "secondary" && mode !== "text" ? "primary" : mode,
69
+ hasLabel: label ? true : false,
70
+ hasIcon: icon ? true : false,
89
71
  iconPosition: iconPosition,
90
- src: iconSrc
91
- }))));
72
+ backgroundType: backgroundType,
73
+ size: size,
74
+ margin: margin
75
+ }, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
76
+ src: icon
77
+ }) : icon)));
92
78
  };
93
79
 
94
80
  var sizes = {
@@ -96,40 +82,25 @@ var sizes = {
96
82
  medium: "120px",
97
83
  large: "240px",
98
84
  fillParent: "100%",
99
- fitContent: "unset"
85
+ fitContent: "fit-content"
100
86
  };
101
87
 
102
88
  var calculateWidth = function calculateWidth(margin, size) {
103
- if (size === "fillParent") {
104
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
105
- }
106
-
107
- return sizes[size];
89
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
108
90
  };
109
91
 
110
- var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n line-height: ", ";\n font-size: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n text-transform: none;\n white-space: nowrap;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
111
- return props.theme.labelFontLineHeight;
112
- }, function (props) {
113
- return props.theme.fontSize;
114
- }, function (props) {
115
- return !props.icon || props.iconPosition === "before" ? "8px" : "0px";
116
- }, function (props) {
117
- return !props.icon || props.iconPosition === "after" ? "8px" : "0px";
118
- });
92
+ var getButtonStyles = function getButtonStyles(props) {
93
+ var $mode = props.$mode,
94
+ backgroundType = props.backgroundType,
95
+ disabled = props.disabled;
96
+ return "\n border-radius: ".concat($mode === "primary" ? props.theme.primaryBorderRadius : $mode === "secondary" ? props.theme.secondaryBorderRadius : props.theme.textBorderRadius, ";\n border-width: ").concat($mode === "primary" ? props.theme.primaryBorderThickness : $mode === "secondary" ? props.theme.secondaryBorderThickness : props.theme.textBorderThickness, ";\n border-style: ").concat($mode === "primary" ? props.theme.primaryBorderStyle : $mode === "secondary" ? props.theme.secondaryBorderStyle : props.theme.textBorderStyle, ";\n font-family: ").concat($mode === "primary" ? props.theme.primaryFontFamily : $mode === "secondary" ? props.theme.secondaryFontFamily : props.theme.textFontFamily, ";\n font-size: ").concat($mode === "primary" ? props.theme.primaryFontSize : $mode === "secondary" ? props.theme.secondaryFontSize : props.theme.textFontSize, ";\n font-weight: ").concat($mode === "primary" ? props.theme.primaryFontWeight : $mode === "secondary" ? props.theme.secondaryFontWeight : props.theme.textFontWeight, ";\n background-color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor : backgroundType === "dark" ? props.theme.textBackgroundColorOnDark : props.theme.textBackgroundColor, ";\n color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryFontColorOnDark : props.theme.primaryFontColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor : backgroundType === "dark" ? props.theme.textFontColorOnDark : props.theme.textFontColor, ";\n border-color: ").concat($mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryBorderColorOnDark : props.theme.secondaryBorderColor : "", ";\n &:hover {\n background-color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverBackgroundColorOnDark : props.theme.secondaryHoverBackgroundColor : backgroundType === "dark" ? props.theme.textHoverBackgroundColorOnDark : props.theme.textHoverBackgroundColor, ";\n color: ").concat($mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor : "", ";\n }\n &:focus {\n border-color: ").concat($mode === "secondary" ? "transparent" : "", ";\n }\n &:active {\n background-color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryActiveBackgroundColorOnDark : props.theme.secondaryActiveBackgroundColor : backgroundType === "dark" ? props.theme.textActiveBackgroundColorOnDark : props.theme.textActiveBackgroundColor, ";\n color: ").concat($mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor : "", ";\n border-color: ").concat($mode === "secondary" ? "transparent" : "", ";\n outline: none;\n box-shadow: ").concat(!disabled ? "0 0 0 2px ".concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor) : "", ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryDisabledBackgroundColorOnDark : props.theme.primaryDisabledBackgroundColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledBackgroundColorOnDark : props.theme.secondaryDisabledBackgroundColor : backgroundType === "dark" ? props.theme.textDisabledBackgroundColorOnDark : props.theme.textDisabledBackgroundColor, ";\n color: ").concat($mode === "primary" ? backgroundType === "dark" ? props.theme.primaryDisabledFontColorOnDark : props.theme.primaryDisabledFontColor : $mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor : backgroundType === "dark" ? props.theme.textDisabledFontColorOnDark : props.theme.textDisabledFontColor, ";\n border-color: ").concat($mode === "secondary" ? backgroundType === "dark" ? props.theme.secondaryDisabledBorderColorOnDark : props.theme.secondaryDisabledBorderColor : "", ";\n }\n ");
97
+ };
119
98
 
120
- var IconContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
121
- return !props.label ? "0px" : props.iconPosition === "after" && props.label !== "" && "8px" || "8px";
99
+ var Button = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n gap: 0.5rem;\n align-items: center;\n justify-content: center;\n width: ", ";\n height: 40px;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n cursor: pointer;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px\n ", ";\n }\n\n ", "\n"])), function (props) {
100
+ return props.iconPosition === "after" ? "row" : "row-reverse";
122
101
  }, function (props) {
123
- return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
124
- });
125
-
126
- var ButtonIcon = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
127
- return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
102
+ return calculateWidth(props.margin, props.size);
128
103
  }, function (props) {
129
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
130
- });
131
-
132
- var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-block;\n width: ", ";\n cursor: ", ";\n\n .MuiButtonBase-root {\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n\n .MuiButton-label {\n display: flex;\n flex-direction: ", ";\n align-items: center;\n }\n\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n min-width: ", ";\n width: 100%;\n height: 40px;\n transition: none !important;\n\n &:focus {\n border-color: transparent;\n box-shadow: 0 0 0 2px\n ", ";\n }\n\n ", "\n }\n"])), function (props) {
133
104
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
134
105
  }, function (props) {
135
106
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -139,20 +110,14 @@ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateO
139
110
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
140
111
  }, function (props) {
141
112
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
142
- }, function (props) {
143
- return calculateWidth(props.margin, props.size);
144
- }, function (props) {
145
- return props.disabled && "not-allowed" || "pointer";
146
- }, function (props) {
147
- return props.theme.paddingLeft;
148
- }, function (props) {
149
- return props.theme.paddingRight;
150
113
  }, function (props) {
151
114
  return props.theme.paddingTop;
152
115
  }, function (props) {
153
116
  return props.theme.paddingBottom;
154
117
  }, function (props) {
155
- return props.iconPosition === "after" && "row" || "row-reverse";
118
+ return props.hasIcon && !props.hasLabel ? props.theme.paddingLeft : "calc(".concat(props.theme.paddingLeft, " + 8px)");
119
+ }, function (props) {
120
+ return props.hasIcon && !props.hasLabel ? props.theme.paddingRight : "calc(".concat(props.theme.paddingRight, " + 8px)");
156
121
  }, function (props) {
157
122
  return props.theme.fontFamily;
158
123
  }, function (props) {
@@ -161,22 +126,19 @@ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateO
161
126
  return props.theme.fontWeight;
162
127
  }, function (props) {
163
128
  return props.theme.labelLetterSpacing;
164
- }, function (props) {
165
- return props.size === "small" && "calc(100% - 22px)" || "unset";
166
129
  }, function (props) {
167
130
  return props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor;
168
131
  }, function (props) {
169
- var mode = props.mode,
170
- backgroundType = props.backgroundType;
132
+ return getButtonStyles(props);
133
+ });
171
134
 
172
- if (mode === "primary") {
173
- return "\n border-radius: ".concat(props.theme.primaryBorderRadius, ";\n border-width: ").concat(props.theme.primaryBorderThickness, ";\n border-style: ").concat(props.theme.primaryBorderStyle, ";\n font-family: ").concat(props.theme.primaryFontFamily, ";\n font-size: ").concat(props.theme.primaryFontSize, ";\n font-weight: ").concat(props.theme.primaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor, ";\n color: ").concat(backgroundType && backgroundType === "dark" ? props.theme.primaryFontColorOnDark : props.theme.primaryFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled { \n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledBackgroundColorOnDark : props.theme.primaryDisabledBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledFontColorOnDark : props.theme.primaryDisabledFontColor, "!important; \n }\n .MuiButton-label {\n z-index: 5;\n }\n ");
174
- } else if (mode === "secondary") {
175
- return "\n border-radius: ".concat(props.theme.secondaryBorderRadius, ";\n border-width: ").concat(props.theme.secondaryBorderThickness, ";\n border-style: ").concat(props.theme.secondaryBorderStyle, ";\n font-family: ").concat(props.theme.secondaryFontFamily, ";\n font-size: ").concat(props.theme.secondaryFontSize, ";\n font-weight: ").concat(props.theme.secondaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBorderColorOnDark : props.theme.secondaryBorderColor, ";\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverBackgroundColorOnDark : props.theme.secondaryHoverBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryActiveBackgroundColorOnDark : props.theme.secondaryActiveBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBackgroundColorOnDark : props.theme.secondaryDisabledBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBorderColorOnDark : props.theme.secondaryDisabledBorderColor, ";\n }\n .MuiButton-label {\n z-index: 5;\n }\n ");
176
- } else if (mode === "text") {
177
- return "\n border-radius: ".concat(props.theme.textBorderRadius, ";\n border-width: ").concat(props.theme.textBorderThickness, ";\n border-style: ").concat(props.theme.textBorderStyle, ";\n font-family: ").concat(props.theme.textFontFamily, ";\n font-size: ").concat(props.theme.textFontSize, ";\n font-weight: ").concat(props.theme.textFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.textBackgroundColorOnDark : props.theme.textBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.textFontColorOnDark : props.theme.textFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textHoverBackgroundColorOnDark : props.theme.textHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textActiveBackgroundColorOnDark : props.theme.textActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor:not-allowed;\n color: ").concat(backgroundType === "dark" ? props.theme.textDisabledFontColorOnDark : props.theme.textDisabledFontColor, " !important;\n background-color: ").concat(backgroundType === "dark" ? props.theme.textDisabledBackgroundColorOnDark : props.theme.textDisabledBackgroundColor, ";\n }\n ");
178
- }
135
+ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (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"])), function (props) {
136
+ return props.theme.labelFontLineHeight;
137
+ }, function (props) {
138
+ return props.theme.fontSize;
179
139
  });
180
140
 
141
+ var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n img,\n svg {\n height: 24px;\n width: 24px;\n }\n"])));
142
+
181
143
  var _default = DxcButton;
182
144
  exports["default"] = _default;