@dxc-technology/halstack-react 0.0.0-7c1e4ad → 0.0.0-7ca87fd

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 (233) hide show
  1. package/README.md +2 -2
  2. package/babel.config.js +5 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +237 -2
  5. package/dist/V3Select/V3Select.js +549 -0
  6. package/dist/V3Select/index.d.ts +27 -0
  7. package/dist/V3Textarea/V3Textarea.js +264 -0
  8. package/dist/V3Textarea/index.d.ts +27 -0
  9. package/dist/accordion/Accordion.js +168 -63
  10. package/dist/accordion/index.d.ts +28 -0
  11. package/dist/accordion-group/AccordionGroup.js +186 -0
  12. package/dist/accordion-group/index.d.ts +16 -0
  13. package/dist/alert/Alert.js +183 -84
  14. package/dist/alert/index.d.ts +51 -0
  15. package/dist/badge/Badge.js +63 -0
  16. package/dist/box/Box.js +31 -23
  17. package/dist/box/index.d.ts +25 -0
  18. package/dist/button/Button.js +85 -28
  19. package/dist/button/Button.stories.js +14 -211
  20. package/dist/button/index.d.ts +24 -0
  21. package/dist/card/Card.js +72 -35
  22. package/dist/card/index.d.ts +22 -0
  23. package/dist/checkbox/Checkbox.js +99 -40
  24. package/dist/checkbox/index.d.ts +24 -0
  25. package/dist/chip/Chip.js +128 -36
  26. package/dist/chip/index.d.ts +22 -0
  27. package/dist/common/RequiredComponent.js +2 -8
  28. package/dist/common/utils.js +2 -22
  29. package/dist/common/variables.js +1444 -304
  30. package/dist/date/Date.js +75 -52
  31. package/dist/date/index.d.ts +27 -0
  32. package/dist/date-input/DateInput.js +400 -0
  33. package/dist/date-input/index.d.ts +95 -0
  34. package/dist/dialog/Dialog.js +58 -37
  35. package/dist/dialog/index.d.ts +18 -0
  36. package/dist/dropdown/Dropdown.js +199 -71
  37. package/dist/dropdown/index.d.ts +26 -0
  38. package/dist/file-input/FileInput.js +644 -0
  39. package/dist/file-input/FileItem.js +287 -0
  40. package/dist/file-input/index.d.ts +81 -0
  41. package/dist/footer/Footer.js +121 -46
  42. package/dist/footer/Icons.js +77 -0
  43. package/dist/footer/index.d.ts +25 -0
  44. package/dist/header/Header.js +209 -99
  45. package/dist/header/Icons.js +59 -0
  46. package/dist/header/index.d.ts +25 -0
  47. package/dist/heading/Heading.js +93 -16
  48. package/dist/heading/index.d.ts +17 -0
  49. package/dist/input-text/Icons.js +22 -0
  50. package/dist/input-text/InputText.js +289 -103
  51. package/dist/input-text/index.d.ts +36 -0
  52. package/dist/layout/ApplicationLayout.js +19 -26
  53. package/dist/layout/Icons.js +55 -0
  54. package/dist/link/Link.js +107 -41
  55. package/dist/link/index.d.ts +23 -0
  56. package/dist/main.d.ts +40 -0
  57. package/dist/main.js +96 -16
  58. package/dist/number-input/NumberInput.js +136 -0
  59. package/dist/number-input/NumberInputContext.js +16 -0
  60. package/dist/number-input/index.d.ts +113 -0
  61. package/dist/paginator/Icons.js +66 -0
  62. package/dist/paginator/Paginator.js +172 -63
  63. package/dist/paginator/index.d.ts +20 -0
  64. package/dist/password-input/PasswordInput.js +203 -0
  65. package/dist/password-input/index.d.ts +94 -0
  66. package/dist/progress-bar/ProgressBar.js +95 -38
  67. package/dist/progress-bar/index.d.ts +18 -0
  68. package/dist/radio/Radio.js +31 -17
  69. package/dist/radio/index.d.ts +23 -0
  70. package/dist/resultsetTable/ResultsetTable.js +90 -65
  71. package/dist/resultsetTable/index.d.ts +19 -0
  72. package/dist/select/Select.js +951 -270
  73. package/dist/select/index.d.ts +53 -0
  74. package/dist/sidenav/Sidenav.js +119 -9
  75. package/dist/sidenav/index.d.ts +13 -0
  76. package/dist/slider/Slider.js +211 -73
  77. package/dist/slider/index.d.ts +29 -0
  78. package/dist/spinner/Spinner.js +247 -59
  79. package/dist/spinner/index.d.ts +17 -0
  80. package/dist/switch/Switch.js +50 -27
  81. package/dist/switch/index.d.ts +24 -0
  82. package/dist/table/Table.js +51 -24
  83. package/dist/table/index.d.ts +13 -0
  84. package/dist/tabs/Tabs.js +206 -35
  85. package/dist/tabs/index.d.ts +19 -0
  86. package/dist/tag/Tag.js +85 -37
  87. package/dist/tag/index.d.ts +24 -0
  88. package/dist/text-input/TextInput.js +974 -0
  89. package/dist/text-input/index.d.ts +135 -0
  90. package/dist/textarea/Textarea.js +248 -106
  91. package/dist/textarea/index.d.ts +117 -0
  92. package/dist/toggle/Toggle.js +16 -19
  93. package/dist/toggle/index.d.ts +21 -0
  94. package/dist/toggle-group/ToggleGroup.js +156 -43
  95. package/dist/toggle-group/index.d.ts +21 -0
  96. package/dist/upload/Upload.js +13 -8
  97. package/dist/upload/buttons-upload/ButtonsUpload.js +32 -19
  98. package/dist/upload/buttons-upload/Icons.js +40 -0
  99. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -34
  100. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  101. package/dist/upload/file-upload/FileToUpload.js +64 -33
  102. package/dist/upload/file-upload/Icons.js +66 -0
  103. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  104. package/dist/upload/index.d.ts +15 -0
  105. package/dist/upload/transaction/Icons.js +160 -0
  106. package/dist/upload/transaction/Transaction.js +42 -49
  107. package/dist/upload/transactions/Transactions.js +38 -20
  108. package/dist/useTheme.js +22 -0
  109. package/dist/wizard/Icons.js +65 -0
  110. package/dist/wizard/Wizard.js +138 -60
  111. package/dist/wizard/index.d.ts +18 -0
  112. package/package.json +23 -12
  113. package/test/AccordionGroup.test.js +125 -0
  114. package/test/Date.test.js +15 -13
  115. package/test/DateInput.test.js +242 -0
  116. package/test/Dropdown.test.js +15 -0
  117. package/test/FileInput.test.js +201 -0
  118. package/test/Footer.test.js +2 -7
  119. package/test/Header.test.js +5 -10
  120. package/test/Heading.test.js +60 -12
  121. package/test/InputText.test.js +30 -27
  122. package/test/Link.test.js +12 -2
  123. package/test/NumberInput.test.js +259 -0
  124. package/test/Paginator.test.js +76 -60
  125. package/test/PasswordInput.test.js +83 -0
  126. package/test/ResultsetTable.test.js +65 -17
  127. package/test/Select.test.js +869 -132
  128. package/test/Sidenav.test.js +28 -2
  129. package/test/Slider.test.js +9 -17
  130. package/test/Spinner.test.js +5 -0
  131. package/test/Tabs.test.js +21 -0
  132. package/test/TextInput.test.js +731 -0
  133. package/test/Textarea.test.js +193 -0
  134. package/test/ToggleGroup.test.js +5 -1
  135. package/test/Upload.test.js +1 -1
  136. package/test/V3Select.test.js +212 -0
  137. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  138. package/dist/accordion/Accordion.stories.js +0 -207
  139. package/dist/accordion/readme.md +0 -96
  140. package/dist/alert/Alert.stories.js +0 -158
  141. package/dist/alert/close.svg +0 -4
  142. package/dist/alert/error.svg +0 -4
  143. package/dist/alert/info.svg +0 -4
  144. package/dist/alert/readme.md +0 -43
  145. package/dist/alert/success.svg +0 -4
  146. package/dist/alert/warning.svg +0 -4
  147. package/dist/button/readme.md +0 -93
  148. package/dist/checkbox/Checkbox.stories.js +0 -144
  149. package/dist/checkbox/readme.md +0 -116
  150. package/dist/common/services/example-service.js +0 -10
  151. package/dist/common/services/example-service.test.js +0 -12
  152. package/dist/date/Date.stories.js +0 -205
  153. package/dist/date/calendar.svg +0 -1
  154. package/dist/date/calendar_dark.svg +0 -1
  155. package/dist/date/readme.md +0 -73
  156. package/dist/dialog/Dialog.stories.js +0 -217
  157. package/dist/dialog/readme.md +0 -32
  158. package/dist/dropdown/Dropdown.stories.js +0 -249
  159. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  160. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  161. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  162. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  163. package/dist/dropdown/readme.md +0 -69
  164. package/dist/footer/Footer.stories.js +0 -94
  165. package/dist/footer/dxc_logo_wht.png +0 -0
  166. package/dist/footer/readme.md +0 -41
  167. package/dist/header/Header.stories.js +0 -176
  168. package/dist/header/close_icon.svg +0 -1
  169. package/dist/header/dxc_logo_black.png +0 -0
  170. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  171. package/dist/header/dxc_logo_white.png +0 -0
  172. package/dist/header/hamb_menu_black.svg +0 -1
  173. package/dist/header/hamb_menu_white.svg +0 -1
  174. package/dist/header/readme.md +0 -33
  175. package/dist/input-text/InputText.stories.js +0 -209
  176. package/dist/input-text/error.svg +0 -1
  177. package/dist/input-text/readme.md +0 -91
  178. package/dist/layout/facebook.svg +0 -45
  179. package/dist/layout/linkedin.svg +0 -50
  180. package/dist/layout/twitter.svg +0 -53
  181. package/dist/link/readme.md +0 -51
  182. package/dist/paginator/images/next.svg +0 -3
  183. package/dist/paginator/images/nextPage.svg +0 -3
  184. package/dist/paginator/images/previous.svg +0 -3
  185. package/dist/paginator/images/previousPage.svg +0 -3
  186. package/dist/paginator/readme.md +0 -50
  187. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  188. package/dist/progress-bar/readme.md +0 -63
  189. package/dist/radio/Radio.stories.js +0 -166
  190. package/dist/radio/readme.md +0 -70
  191. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  192. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  193. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  194. package/dist/select/Select.stories.js +0 -235
  195. package/dist/select/readme.md +0 -72
  196. package/dist/slider/Slider.stories.js +0 -241
  197. package/dist/slider/readme.md +0 -64
  198. package/dist/spinner/Spinner.stories.js +0 -183
  199. package/dist/spinner/readme.md +0 -65
  200. package/dist/switch/Switch.stories.js +0 -134
  201. package/dist/switch/readme.md +0 -133
  202. package/dist/tabs/Tabs.stories.js +0 -130
  203. package/dist/tabs/readme.md +0 -78
  204. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  205. package/dist/tabs-for-sections/readme.md +0 -78
  206. package/dist/toggle/Toggle.stories.js +0 -297
  207. package/dist/toggle/readme.md +0 -80
  208. package/dist/toggle-group/readme.md +0 -82
  209. package/dist/upload/Upload.stories.js +0 -72
  210. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  211. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  212. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  213. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  214. package/dist/upload/file-upload/audio-icon.svg +0 -4
  215. package/dist/upload/file-upload/close.svg +0 -4
  216. package/dist/upload/file-upload/file-icon.svg +0 -4
  217. package/dist/upload/file-upload/video-icon.svg +0 -4
  218. package/dist/upload/readme.md +0 -37
  219. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  220. package/dist/upload/transaction/audio-icon.svg +0 -4
  221. package/dist/upload/transaction/error-icon.svg +0 -4
  222. package/dist/upload/transaction/file-icon-err.svg +0 -4
  223. package/dist/upload/transaction/file-icon.svg +0 -4
  224. package/dist/upload/transaction/image-icon-err.svg +0 -4
  225. package/dist/upload/transaction/image-icon.svg +0 -4
  226. package/dist/upload/transaction/success-icon.svg +0 -4
  227. package/dist/upload/transaction/video-icon-err.svg +0 -4
  228. package/dist/upload/transaction/video-icon.svg +0 -4
  229. package/dist/wizard/invalid_icon.svg +0 -6
  230. package/dist/wizard/valid_icon.svg +0 -6
  231. package/dist/wizard/validation-wrong.svg +0 -6
  232. package/test/TabsForSections.test.js +0 -34
  233. package/test/Toggle.test.js +0 -43
@@ -2,223 +2,26 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Primary = exports["default"] = void 0;
6
9
 
7
10
  var _react = _interopRequireDefault(require("react"));
8
11
 
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
12
  var _Button = _interopRequireDefault(require("./Button"));
20
13
 
21
- var onClick = (0, _addonActions.action)("onClick");
22
-
23
- onClick.toString = function () {
24
- return "onClickHandler";
14
+ var _default = {
15
+ title: "Button",
16
+ component: _Button["default"]
25
17
  };
18
+ exports["default"] = _default;
26
19
 
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
- };
20
+ var Primary = function Primary() {
21
+ return _react["default"].createElement(_Button["default"], {
22
+ mode: "primary",
23
+ label: "Primary Button"
24
+ });
206
25
  };
207
26
 
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
- });
27
+ exports.Primary = Primary;
@@ -0,0 +1,24 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+
10
+ type Props = {
11
+ label?: string;
12
+ mode?: "primary" | "secondary" | "text";
13
+ disabled?: boolean;
14
+ iconPosition?: "before" | "after";
15
+ type?: "button" | "reset" | "submit";
16
+ iconSrc?: string;
17
+ icon?: any;
18
+ onClick?: void;
19
+ margin?: Space | Margin;
20
+ size?: Size;
21
+ tabIndex?: number;
22
+ };
23
+
24
+ export default function DxcButton(props: Props): JSX.Element;
package/dist/card/Card.js CHANGED
@@ -19,16 +19,18 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
19
19
 
20
20
  var _react = _interopRequireWildcard(require("react"));
21
21
 
22
- var _styledComponents = _interopRequireDefault(require("styled-components"));
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
23
 
24
24
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
25
 
26
26
  var _variables = require("../common/variables.js");
27
27
 
28
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
+
28
30
  var _Box = _interopRequireDefault(require("../box/Box"));
29
31
 
30
32
  function _templateObject6() {
31
- var data = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n height: 100%;\n overflow: hidden;\n"]);
33
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n overflow: hidden;\n"]);
32
34
 
33
35
  _templateObject6 = function _templateObject6() {
34
36
  return data;
@@ -38,7 +40,7 @@ function _templateObject6() {
38
40
  }
39
41
 
40
42
  function _templateObject5() {
41
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 140px;\n height: 100%;\n flex-shrink: 0;\n background: ", ";\n justify-content: center;\n align-items: center;\n display: inline-flex;\n"]);
43
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 35%;\n height: 100%;\n flex-shrink: 0;\n background: ", ";\n justify-content: center;\n align-items: center;\n display: inline-flex;\n"]);
42
44
 
43
45
  _templateObject5 = function _templateObject5() {
44
46
  return data;
@@ -58,7 +60,7 @@ function _templateObject4() {
58
60
  }
59
61
 
60
62
  function _templateObject3() {
61
- var data = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n"]);
63
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n text-decoration: none;\n"]);
62
64
 
63
65
  _templateObject3 = function _templateObject3() {
64
66
  return data;
@@ -68,7 +70,7 @@ function _templateObject3() {
68
70
  }
69
71
 
70
72
  function _templateObject2() {
71
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n flex-direction: ", ";\n height: 220px;\n width: 400px;\n &:hover {\n border-color: ", ";\n }\n"]);
73
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"]);
72
74
 
73
75
  _templateObject2 = function _templateObject2() {
74
76
  return data;
@@ -78,7 +80,7 @@ function _templateObject2() {
78
80
  }
79
81
 
80
82
  function _templateObject() {
81
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
83
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n outline: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
82
84
 
83
85
  _templateObject = function _templateObject() {
84
86
  return data;
@@ -91,38 +93,40 @@ var DxcCard = function DxcCard(_ref) {
91
93
  var imageSrc = _ref.imageSrc,
92
94
  children = _ref.children,
93
95
  margin = _ref.margin,
96
+ contentPadding = _ref.contentPadding,
94
97
  linkHref = _ref.linkHref,
95
98
  onClick = _ref.onClick,
96
99
  imageBgColor = _ref.imageBgColor,
97
100
  imagePadding = _ref.imagePadding,
98
101
  imagePosition = _ref.imagePosition,
99
102
  outlined = _ref.outlined,
100
- imageCover = _ref.imageCover;
103
+ imageCover = _ref.imageCover,
104
+ _ref$tabIndex = _ref.tabIndex,
105
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
106
+ var colorsTheme = (0, _useTheme["default"])();
101
107
 
102
108
  var _useState = (0, _react.useState)(false),
103
109
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
104
110
  isHovered = _useState2[0],
105
111
  changeIsHovered = _useState2[1];
106
112
 
107
- var clickHandler = function clickHandler() {
108
- if (onClick) {
109
- onClick();
110
- }
111
- };
112
-
113
113
  var tagContent = _react["default"].createElement(_Box["default"], {
114
114
  shadowDepth: outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
115
+ }, _react["default"].createElement(_styledComponents.ThemeProvider, {
116
+ theme: colorsTheme.card
115
117
  }, _react["default"].createElement(CardContainer, {
116
118
  hasAction: onClick || linkHref,
117
119
  outlined: outlined,
118
120
  imagePosition: imagePosition
119
- }, _react["default"].createElement(ImageContainer, {
121
+ }, imageSrc && _react["default"].createElement(ImageContainer, {
120
122
  imageBgColor: imageBgColor
121
123
  }, _react["default"].createElement(TagImage, {
122
124
  imagePadding: imagePadding,
123
125
  cover: imageCover,
124
126
  src: imageSrc
125
- })), _react["default"].createElement(CardContent, null, children)));
127
+ })), _react["default"].createElement(CardContent, {
128
+ contentPadding: contentPadding
129
+ }, children))));
126
130
 
127
131
  return _react["default"].createElement(StyledDxcCard, {
128
132
  margin: margin,
@@ -132,9 +136,11 @@ var DxcCard = function DxcCard(_ref) {
132
136
  onMouseLeave: function onMouseLeave() {
133
137
  return changeIsHovered(false);
134
138
  },
135
- onClick: clickHandler,
136
- hasAction: onClick || linkHref
139
+ onClick: onClick,
140
+ hasAction: onClick,
141
+ tabIndex: typeof onClick === "function" && !linkHref ? tabIndex : -1
137
142
  }, linkHref && _react["default"].createElement(StyledLink, {
143
+ tabIndex: tabIndex,
138
144
  href: linkHref
139
145
  }, tagContent) || tagContent);
140
146
  };
@@ -143,48 +149,71 @@ var StyledDxcCard = _styledComponents["default"].div(_templateObject(), function
143
149
  var hasAction = _ref2.hasAction;
144
150
  return hasAction && "pointer" || "unset";
145
151
  }, function (_ref3) {
146
- var margin = _ref3.margin;
147
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
152
+ var hasAction = _ref3.hasAction;
153
+ return !hasAction && "none";
148
154
  }, function (_ref4) {
149
155
  var margin = _ref4.margin;
150
- return margin && margin.top ? _variables.spaces[margin.top] : "";
156
+ return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
151
157
  }, function (_ref5) {
152
158
  var margin = _ref5.margin;
153
- return margin && margin.right ? _variables.spaces[margin.right] : "";
159
+ return margin && margin.top ? _variables.spaces[margin.top] : "";
154
160
  }, function (_ref6) {
155
161
  var margin = _ref6.margin;
156
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
162
+ return margin && margin.right ? _variables.spaces[margin.right] : "";
157
163
  }, function (_ref7) {
158
164
  var margin = _ref7.margin;
165
+ return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
166
+ }, function (_ref8) {
167
+ var margin = _ref8.margin;
159
168
  return margin && margin.left ? _variables.spaces[margin.left] : "";
160
169
  });
161
170
 
162
- var CardContainer = _styledComponents["default"].div(_templateObject2(), function (_ref8) {
163
- var imagePosition = _ref8.imagePosition;
171
+ var CardContainer = _styledComponents["default"].div(_templateObject2(), function (_ref9) {
172
+ var imagePosition = _ref9.imagePosition;
164
173
  return imagePosition === "before" && "row" || "row-reverse";
165
174
  }, function (props) {
166
- return props.hasAction ? "#FFED00" : "unset";
175
+ return props.theme.height;
176
+ }, function (props) {
177
+ return props.theme.width;
178
+ }, function (_ref10) {
179
+ var hasAction = _ref10.hasAction;
180
+ return hasAction ? "" : "unset";
167
181
  });
168
182
 
169
183
  var StyledLink = _styledComponents["default"].a(_templateObject3());
170
184
 
171
- var TagImage = _styledComponents["default"].img(_templateObject4(), function (_ref9) {
172
- var imagePadding = _ref9.imagePadding;
185
+ var TagImage = _styledComponents["default"].img(_templateObject4(), function (_ref11) {
186
+ var imagePadding = _ref11.imagePadding;
173
187
  return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
174
- }, function (_ref10) {
175
- var imagePadding = _ref10.imagePadding;
188
+ }, function (_ref12) {
189
+ var imagePadding = _ref12.imagePadding;
176
190
  return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
177
- }, function (_ref11) {
178
- var cover = _ref11.cover;
191
+ }, function (_ref13) {
192
+ var cover = _ref13.cover;
179
193
  return cover ? "cover" : "contain";
180
194
  });
181
195
 
182
- var ImageContainer = _styledComponents["default"].div(_templateObject5(), function (_ref12) {
183
- var imageBgColor = _ref12.imageBgColor;
196
+ var ImageContainer = _styledComponents["default"].div(_templateObject5(), function (_ref14) {
197
+ var imageBgColor = _ref14.imageBgColor;
184
198
  return imageBgColor;
185
199
  });
186
200
 
187
- var CardContent = _styledComponents["default"].div(_templateObject6());
201
+ var CardContent = _styledComponents["default"].div(_templateObject6(), function (_ref15) {
202
+ var contentPadding = _ref15.contentPadding;
203
+ return contentPadding && (0, _typeof2["default"])(contentPadding) !== "object" ? _variables.spaces[contentPadding] : "0px";
204
+ }, function (_ref16) {
205
+ var contentPadding = _ref16.contentPadding;
206
+ return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.top ? _variables.spaces[contentPadding.top] : "";
207
+ }, function (_ref17) {
208
+ var contentPadding = _ref17.contentPadding;
209
+ return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.right ? _variables.spaces[contentPadding.right] : "";
210
+ }, function (_ref18) {
211
+ var contentPadding = _ref18.contentPadding;
212
+ return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.bottom ? _variables.spaces[contentPadding.bottom] : "";
213
+ }, function (_ref19) {
214
+ var contentPadding = _ref19.contentPadding;
215
+ return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.left ? _variables.spaces[contentPadding.left] : "";
216
+ });
188
217
 
189
218
  DxcCard.propTypes = {
190
219
  imageSrc: _propTypes["default"].string,
@@ -200,11 +229,19 @@ DxcCard.propTypes = {
200
229
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
201
230
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
202
231
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
203
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
232
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
233
+ contentPadding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
234
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
235
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
236
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
237
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
238
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
239
+ tabIndex: _propTypes["default"].number
204
240
  };
205
241
  DxcCard.defaultProps = {
206
242
  imageSrc: null,
207
243
  margin: null,
244
+ contentPadding: null,
208
245
  outlined: false,
209
246
  imagePadding: null,
210
247
  imageCover: false,
@@ -0,0 +1,22 @@
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+
9
+ type Props = {
10
+ imageSrc?: string;
11
+ margin?: Space | Margin;
12
+ contentPadding?: any;
13
+ linkHref?: string;
14
+ onClick?: void;
15
+ imageBgColor?: string;
16
+ imagePadding?: any;
17
+ imagePosition?: "before" | "after";
18
+ outlined?: boolean;
19
+ imageCover?: boolean;
20
+ };
21
+
22
+ export default function DxcCard(props: Props): JSX.Element;