@dxc-technology/halstack-react 0.0.0-9253572 → 0.0.0-9282b45

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 (364) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +7 -6
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +129 -237
  7. package/accordion/Accordion.stories.tsx +306 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +68 -105
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +44 -154
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +15 -17
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +37 -77
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +63 -145
  45. package/button/Button.stories.tsx +283 -0
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +44 -137
  51. package/card/Card.stories.tsx +201 -0
  52. package/card/Card.test.js +50 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +68 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +106 -156
  58. package/checkbox/Checkbox.stories.tsx +188 -0
  59. package/checkbox/Checkbox.test.js +155 -0
  60. package/checkbox/types.d.ts +64 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +26 -130
  64. package/chip/Chip.stories.tsx +119 -0
  65. package/chip/Chip.test.js +56 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/common/RequiredComponent.js +3 -11
  69. package/common/variables.js +322 -381
  70. package/date-input/DateInput.d.ts +4 -0
  71. package/date-input/DateInput.js +83 -111
  72. package/date-input/DateInput.stories.tsx +138 -0
  73. package/date-input/DateInput.test.js +479 -0
  74. package/date-input/types.d.ts +107 -0
  75. package/date-input/types.js +5 -0
  76. package/dialog/Dialog.d.ts +4 -0
  77. package/dialog/Dialog.js +60 -116
  78. package/dialog/Dialog.stories.tsx +267 -0
  79. package/dialog/Dialog.test.js +70 -0
  80. package/dialog/types.d.ts +44 -0
  81. package/dialog/types.js +5 -0
  82. package/dropdown/Dropdown.d.ts +4 -0
  83. package/dropdown/Dropdown.js +243 -399
  84. package/dropdown/Dropdown.stories.tsx +312 -0
  85. package/dropdown/Dropdown.test.js +590 -0
  86. package/dropdown/DropdownMenu.d.ts +4 -0
  87. package/dropdown/DropdownMenu.js +80 -0
  88. package/dropdown/DropdownMenuItem.d.ts +4 -0
  89. package/dropdown/DropdownMenuItem.js +92 -0
  90. package/dropdown/types.d.ts +100 -0
  91. package/dropdown/types.js +5 -0
  92. package/file-input/FileInput.d.ts +4 -0
  93. package/file-input/FileInput.js +200 -251
  94. package/file-input/FileInput.stories.tsx +507 -0
  95. package/file-input/FileInput.test.js +457 -0
  96. package/file-input/FileItem.d.ts +14 -0
  97. package/file-input/FileItem.js +44 -145
  98. package/file-input/types.d.ts +112 -0
  99. package/file-input/types.js +5 -0
  100. package/flex/Flex.d.ts +4 -0
  101. package/flex/Flex.js +69 -0
  102. package/flex/Flex.stories.tsx +103 -0
  103. package/flex/types.d.ts +32 -0
  104. package/flex/types.js +5 -0
  105. package/footer/Footer.d.ts +4 -0
  106. package/footer/Footer.js +50 -286
  107. package/footer/Footer.stories.tsx +137 -0
  108. package/footer/Footer.test.js +109 -0
  109. package/footer/Icons.d.ts +2 -0
  110. package/footer/Icons.js +16 -16
  111. package/footer/types.d.ts +66 -0
  112. package/footer/types.js +5 -0
  113. package/header/Header.d.ts +7 -0
  114. package/header/Header.js +131 -296
  115. package/header/Header.stories.tsx +172 -0
  116. package/header/Header.test.js +79 -0
  117. package/header/Icons.d.ts +2 -0
  118. package/header/Icons.js +9 -34
  119. package/header/types.d.ts +48 -0
  120. package/header/types.js +5 -0
  121. package/heading/Heading.d.ts +4 -0
  122. package/heading/Heading.js +25 -96
  123. package/heading/Heading.stories.tsx +54 -0
  124. package/heading/Heading.test.js +186 -0
  125. package/heading/types.d.ts +33 -0
  126. package/heading/types.js +5 -0
  127. package/inset/Inset.d.ts +3 -0
  128. package/inset/Inset.js +51 -0
  129. package/inset/Inset.stories.tsx +229 -0
  130. package/inset/types.d.ts +37 -0
  131. package/inset/types.js +5 -0
  132. package/layout/ApplicationLayout.d.ts +20 -0
  133. package/layout/ApplicationLayout.js +76 -232
  134. package/layout/ApplicationLayout.stories.tsx +162 -0
  135. package/layout/Icons.d.ts +5 -0
  136. package/layout/Icons.js +19 -8
  137. package/layout/SidenavContext.d.ts +5 -0
  138. package/layout/SidenavContext.js +19 -0
  139. package/layout/types.d.ts +42 -0
  140. package/layout/types.js +5 -0
  141. package/link/Link.d.ts +4 -0
  142. package/link/Link.js +64 -165
  143. package/link/Link.stories.tsx +193 -0
  144. package/link/Link.test.js +83 -0
  145. package/link/types.d.ts +54 -0
  146. package/link/types.js +5 -0
  147. package/main.d.ts +44 -40
  148. package/main.js +114 -104
  149. package/number-input/NumberInput.d.ts +4 -0
  150. package/number-input/NumberInput.js +21 -81
  151. package/number-input/NumberInput.stories.tsx +115 -0
  152. package/number-input/NumberInput.test.js +506 -0
  153. package/number-input/NumberInputContext.d.ts +4 -0
  154. package/number-input/NumberInputContext.js +5 -2
  155. package/number-input/numberInputContextTypes.d.ts +19 -0
  156. package/number-input/numberInputContextTypes.js +5 -0
  157. package/number-input/types.d.ts +124 -0
  158. package/number-input/types.js +5 -0
  159. package/package.json +30 -23
  160. package/paginator/Icons.js +9 -9
  161. package/paginator/Paginator.d.ts +4 -0
  162. package/paginator/Paginator.js +32 -166
  163. package/paginator/Paginator.stories.tsx +63 -0
  164. package/paginator/Paginator.test.js +308 -0
  165. package/paginator/types.d.ts +38 -0
  166. package/paginator/types.js +5 -0
  167. package/paragraph/Paragraph.d.ts +6 -0
  168. package/paragraph/Paragraph.js +38 -0
  169. package/paragraph/Paragraph.stories.tsx +44 -0
  170. package/password-input/PasswordInput.d.ts +4 -0
  171. package/password-input/PasswordInput.js +44 -79
  172. package/password-input/PasswordInput.stories.tsx +131 -0
  173. package/password-input/PasswordInput.test.js +181 -0
  174. package/password-input/types.d.ts +110 -0
  175. package/password-input/types.js +5 -0
  176. package/progress-bar/ProgressBar.d.ts +4 -0
  177. package/progress-bar/ProgressBar.js +72 -138
  178. package/progress-bar/ProgressBar.stories.jsx +60 -0
  179. package/progress-bar/ProgressBar.test.js +110 -0
  180. package/progress-bar/types.d.ts +36 -0
  181. package/progress-bar/types.js +5 -0
  182. package/quick-nav/QuickNav.d.ts +4 -0
  183. package/quick-nav/QuickNav.js +117 -0
  184. package/quick-nav/QuickNav.stories.tsx +342 -0
  185. package/quick-nav/types.d.ts +21 -0
  186. package/quick-nav/types.js +5 -0
  187. package/radio-group/Radio.d.ts +4 -0
  188. package/radio-group/Radio.js +156 -0
  189. package/radio-group/RadioGroup.d.ts +4 -0
  190. package/radio-group/RadioGroup.js +283 -0
  191. package/radio-group/RadioGroup.stories.tsx +101 -0
  192. package/radio-group/RadioGroup.test.js +722 -0
  193. package/radio-group/types.d.ts +114 -0
  194. package/radio-group/types.js +5 -0
  195. package/resultsetTable/ResultsetTable.d.ts +4 -0
  196. package/resultsetTable/ResultsetTable.js +43 -147
  197. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  198. package/resultsetTable/ResultsetTable.test.js +348 -0
  199. package/resultsetTable/types.d.ts +67 -0
  200. package/resultsetTable/types.js +5 -0
  201. package/select/Icons.d.ts +10 -0
  202. package/select/Icons.js +93 -0
  203. package/select/Listbox.d.ts +4 -0
  204. package/select/Listbox.js +198 -0
  205. package/select/Option.d.ts +4 -0
  206. package/select/Option.js +110 -0
  207. package/select/Select.d.ts +4 -0
  208. package/select/Select.js +231 -724
  209. package/select/Select.stories.tsx +627 -0
  210. package/select/Select.test.js +2233 -0
  211. package/select/types.d.ts +210 -0
  212. package/select/types.js +5 -0
  213. package/sidenav/Sidenav.d.ts +10 -0
  214. package/sidenav/Sidenav.js +194 -105
  215. package/sidenav/Sidenav.stories.tsx +180 -0
  216. package/sidenav/Sidenav.test.js +44 -0
  217. package/sidenav/types.d.ts +73 -0
  218. package/sidenav/types.js +5 -0
  219. package/slider/Slider.d.ts +4 -0
  220. package/slider/Slider.js +162 -224
  221. package/slider/Slider.stories.tsx +183 -0
  222. package/slider/Slider.test.js +250 -0
  223. package/slider/types.d.ts +82 -0
  224. package/slider/types.js +5 -0
  225. package/spinner/Spinner.d.ts +4 -0
  226. package/spinner/Spinner.js +46 -177
  227. package/spinner/Spinner.stories.jsx +103 -0
  228. package/spinner/Spinner.test.js +64 -0
  229. package/spinner/types.d.ts +32 -0
  230. package/spinner/types.js +5 -0
  231. package/switch/Switch.d.ts +4 -0
  232. package/switch/Switch.js +158 -119
  233. package/switch/Switch.stories.tsx +138 -0
  234. package/switch/Switch.test.js +225 -0
  235. package/switch/types.d.ts +61 -0
  236. package/switch/types.js +5 -0
  237. package/table/Table.d.ts +4 -0
  238. package/table/Table.js +12 -26
  239. package/table/Table.stories.jsx +277 -0
  240. package/table/Table.test.js +26 -0
  241. package/table/types.d.ts +21 -0
  242. package/table/types.js +5 -0
  243. package/tabs/Tab.d.ts +4 -0
  244. package/tabs/Tab.js +135 -0
  245. package/tabs/Tabs.d.ts +4 -0
  246. package/tabs/Tabs.js +353 -229
  247. package/tabs/Tabs.stories.tsx +186 -0
  248. package/tabs/Tabs.test.js +351 -0
  249. package/tabs/types.d.ts +92 -0
  250. package/tabs/types.js +5 -0
  251. package/tabs-nav/NavTabs.d.ts +8 -0
  252. package/tabs-nav/NavTabs.js +125 -0
  253. package/tabs-nav/NavTabs.stories.tsx +170 -0
  254. package/tabs-nav/NavTabs.test.js +82 -0
  255. package/tabs-nav/Tab.d.ts +4 -0
  256. package/tabs-nav/Tab.js +130 -0
  257. package/tabs-nav/types.d.ts +53 -0
  258. package/tabs-nav/types.js +5 -0
  259. package/tag/Tag.d.ts +4 -0
  260. package/tag/Tag.js +45 -144
  261. package/tag/Tag.stories.tsx +142 -0
  262. package/tag/Tag.test.js +60 -0
  263. package/tag/types.d.ts +69 -0
  264. package/tag/types.js +5 -0
  265. package/text-input/Icons.d.ts +8 -0
  266. package/text-input/Icons.js +60 -0
  267. package/text-input/Suggestion.d.ts +4 -0
  268. package/text-input/Suggestion.js +57 -0
  269. package/text-input/Suggestions.d.ts +4 -0
  270. package/text-input/Suggestions.js +134 -0
  271. package/text-input/TextInput.d.ts +4 -0
  272. package/text-input/TextInput.js +256 -575
  273. package/text-input/TextInput.stories.tsx +481 -0
  274. package/text-input/TextInput.test.js +1714 -0
  275. package/text-input/types.d.ts +197 -0
  276. package/text-input/types.js +5 -0
  277. package/textarea/Textarea.d.ts +4 -0
  278. package/textarea/Textarea.js +50 -142
  279. package/textarea/Textarea.stories.jsx +157 -0
  280. package/textarea/Textarea.test.js +437 -0
  281. package/textarea/types.d.ts +137 -0
  282. package/textarea/types.js +5 -0
  283. package/toggle-group/ToggleGroup.d.ts +4 -0
  284. package/toggle-group/ToggleGroup.js +36 -148
  285. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  286. package/toggle-group/ToggleGroup.test.js +156 -0
  287. package/toggle-group/types.d.ts +105 -0
  288. package/toggle-group/types.js +5 -0
  289. package/typography/Typography.d.ts +4 -0
  290. package/typography/Typography.js +131 -0
  291. package/typography/Typography.stories.tsx +198 -0
  292. package/typography/types.d.ts +18 -0
  293. package/typography/types.js +5 -0
  294. package/useTheme.d.ts +2 -0
  295. package/useTheme.js +2 -2
  296. package/useTranslatedLabels.d.ts +2 -0
  297. package/useTranslatedLabels.js +20 -0
  298. package/wizard/Wizard.d.ts +4 -0
  299. package/wizard/Wizard.js +132 -252
  300. package/wizard/Wizard.stories.tsx +233 -0
  301. package/wizard/Wizard.test.js +141 -0
  302. package/wizard/types.d.ts +65 -0
  303. package/wizard/types.js +5 -0
  304. package/ThemeContext.js +0 -250
  305. package/V3Select/V3Select.js +0 -549
  306. package/V3Select/index.d.ts +0 -27
  307. package/V3Textarea/V3Textarea.js +0 -264
  308. package/V3Textarea/index.d.ts +0 -27
  309. package/accordion/index.d.ts +0 -28
  310. package/accordion-group/index.d.ts +0 -16
  311. package/alert/index.d.ts +0 -51
  312. package/box/index.d.ts +0 -25
  313. package/button/Button.stories.js +0 -27
  314. package/button/index.d.ts +0 -24
  315. package/card/index.d.ts +0 -22
  316. package/checkbox/index.d.ts +0 -24
  317. package/chip/index.d.ts +0 -22
  318. package/date/Date.js +0 -379
  319. package/date/index.d.ts +0 -27
  320. package/date-input/index.d.ts +0 -95
  321. package/dialog/index.d.ts +0 -18
  322. package/dropdown/index.d.ts +0 -26
  323. package/file-input/index.d.ts +0 -81
  324. package/footer/index.d.ts +0 -25
  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 -705
  329. package/input-text/index.d.ts +0 -36
  330. package/link/index.d.ts +0 -23
  331. package/number-input/index.d.ts +0 -113
  332. package/paginator/index.d.ts +0 -20
  333. package/password-input/index.d.ts +0 -94
  334. package/progress-bar/index.d.ts +0 -18
  335. package/radio/Radio.js +0 -209
  336. package/radio/index.d.ts +0 -23
  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/slider/index.d.ts +0 -29
  341. package/spinner/index.d.ts +0 -17
  342. package/switch/index.d.ts +0 -24
  343. package/table/index.d.ts +0 -13
  344. package/tabs/index.d.ts +0 -19
  345. package/tag/index.d.ts +0 -24
  346. package/text-input/index.d.ts +0 -135
  347. package/textarea/index.d.ts +0 -117
  348. package/toggle/Toggle.js +0 -220
  349. package/toggle/index.d.ts +0 -21
  350. package/toggle-group/index.d.ts +0 -21
  351. package/upload/Upload.js +0 -205
  352. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  353. package/upload/buttons-upload/Icons.js +0 -40
  354. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  355. package/upload/dragAndDropArea/Icons.js +0 -39
  356. package/upload/file-upload/FileToUpload.js +0 -189
  357. package/upload/file-upload/Icons.js +0 -66
  358. package/upload/files-upload/FilesToUpload.js +0 -123
  359. package/upload/index.d.ts +0 -15
  360. package/upload/transaction/Icons.js +0 -160
  361. package/upload/transaction/Transaction.js +0 -148
  362. package/upload/transactions/Transactions.js +0 -138
  363. package/wizard/Icons.js +0 -65
  364. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,283 @@
1
+ import React from "react";
2
+ import DxcButton from "./Button";
3
+ import DxcFlex from "./../flex/Flex";
4
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
5
+ import Title from "../../.storybook/components/Title";
6
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
7
+ import DarkContainer from "../../.storybook/components/DarkSection";
8
+
9
+ export default {
10
+ title: "Button",
11
+ component: DxcButton,
12
+ };
13
+
14
+ const iconSVG = (
15
+ <svg viewBox="0 0 24 24" fill="currentColor">
16
+ <path d="M0 0h24v24H0z" fill="none" />
17
+ <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
18
+ </svg>
19
+ );
20
+ export const Chromatic = () => (
21
+ <>
22
+ <Title title="Primary" theme="light" level={2} />
23
+ <ExampleContainer>
24
+ <Title title="Enabled" theme="light" level={4} />
25
+ <DxcButton label="Primary enabled" />
26
+ </ExampleContainer>
27
+ <ExampleContainer pseudoState="pseudo-hover">
28
+ <Title title="Hovered" theme="light" level={4} />
29
+ <DxcButton label="Primary hovered" />
30
+ </ExampleContainer>
31
+ <ExampleContainer pseudoState="pseudo-focus">
32
+ <Title title="Focused" theme="light" level={4} />
33
+ <DxcButton label="Primary focused" />
34
+ </ExampleContainer>
35
+ <ExampleContainer pseudoState="pseudo-active">
36
+ <Title title="Actived" theme="light" level={4} />
37
+ <DxcButton label="Primary actived" />
38
+ </ExampleContainer>
39
+ <ExampleContainer>
40
+ <Title title="Disabled" theme="light" level={4} />
41
+ <DxcButton label="Primary disabled" disabled />
42
+ </ExampleContainer>
43
+ <ExampleContainer>
44
+ <Title title="With left icon" theme="light" level={4} />
45
+ <DxcButton label="Primary" icon={iconSVG} />
46
+ </ExampleContainer>
47
+ <ExampleContainer>
48
+ <Title title="With right icon" theme="light" level={4} />
49
+ <DxcButton label="Primary" icon={iconSVG} iconPosition="after" />
50
+ </ExampleContainer>
51
+ <ExampleContainer>
52
+ <Title title="Only icon" theme="light" level={4} />
53
+ <DxcButton icon={iconSVG} />
54
+ </ExampleContainer>
55
+ <Title title="Secondary" theme="light" level={2} />
56
+ <ExampleContainer>
57
+ <Title title="Enabled" theme="light" level={4} />
58
+ <DxcButton mode="secondary" label="Secondary enabled" />
59
+ </ExampleContainer>
60
+ <ExampleContainer pseudoState="pseudo-hover">
61
+ <Title title="Hovered" theme="light" level={4} />
62
+ <DxcButton mode="secondary" label="Secondary hovered" />
63
+ </ExampleContainer>
64
+ <ExampleContainer pseudoState="pseudo-focus">
65
+ <Title title="Focused" theme="light" level={4} />
66
+ <DxcButton mode="secondary" label="Secondary focused" />
67
+ </ExampleContainer>
68
+ <ExampleContainer pseudoState="pseudo-active">
69
+ <Title title="Actived" theme="light" level={4} />
70
+ <DxcButton mode="secondary" label="Secondary actived" />
71
+ </ExampleContainer>
72
+ <ExampleContainer>
73
+ <Title title="Disabled" theme="light" level={4} />
74
+ <DxcButton mode="secondary" disabled label="Secondary disabled" />
75
+ </ExampleContainer>
76
+ <ExampleContainer>
77
+ <Title title="With icon" theme="light" level={4} />
78
+ <DxcButton mode="secondary" label="Secondary" icon={iconSVG} />
79
+ </ExampleContainer>
80
+ <Title title="Text" theme="light" level={2} />
81
+ <ExampleContainer>
82
+ <Title title="Enabled" theme="light" level={4} />
83
+ <DxcButton mode="text" label="Text enabled" />
84
+ </ExampleContainer>
85
+ <ExampleContainer pseudoState="pseudo-hover">
86
+ <Title title="Hovered" theme="light" level={4} />
87
+ <DxcButton mode="text" label="Text hovered" />
88
+ </ExampleContainer>
89
+ <ExampleContainer pseudoState="pseudo-focus">
90
+ <Title title="Focused" theme="light" level={4} />
91
+ <DxcButton mode="text" label="Text focused" />
92
+ </ExampleContainer>
93
+ <ExampleContainer pseudoState="pseudo-active">
94
+ <Title title="Actived" theme="light" level={4} />
95
+ <DxcButton mode="text" label="Text actived" />
96
+ </ExampleContainer>
97
+ <ExampleContainer>
98
+ <Title title="Disabled" theme="light" level={4} />
99
+ <DxcButton mode="text" label="Text disabled" disabled />
100
+ </ExampleContainer>
101
+ <ExampleContainer>
102
+ <Title title="With icon" theme="light" level={4} />
103
+ <DxcButton label="Text" mode="text" icon={iconSVG} />
104
+ </ExampleContainer>
105
+ <BackgroundColorProvider color="#333333">
106
+ <DarkContainer>
107
+ <Title title="Primary" theme="dark" level={2} />
108
+ <ExampleContainer>
109
+ <Title title="Enabled" theme="dark" level={4} />
110
+ <DxcButton label="Primary enabled" />
111
+ </ExampleContainer>
112
+ <ExampleContainer pseudoState="pseudo-hover">
113
+ <Title title="Hovered" theme="dark" level={4} />
114
+ <DxcButton label="Primary hovered" />
115
+ </ExampleContainer>
116
+ <ExampleContainer pseudoState="pseudo-focus">
117
+ <Title title="Focused" theme="dark" level={4} />
118
+ <DxcButton label="Primary focused" />
119
+ </ExampleContainer>
120
+ <ExampleContainer pseudoState="pseudo-active">
121
+ <Title title="Actived" theme="dark" level={4} />
122
+ <DxcButton label="Primary actived" />
123
+ </ExampleContainer>
124
+ <ExampleContainer>
125
+ <Title title="Disabled" theme="dark" level={4} />
126
+ <DxcButton label="Primary disabled" disabled />
127
+ </ExampleContainer>
128
+ <ExampleContainer>
129
+ <Title title="With icon" theme="dark" level={4} />
130
+ <DxcButton label="Primary" icon={iconSVG} />
131
+ </ExampleContainer>
132
+ <Title title="Secondary" theme="dark" level={2} />
133
+ <ExampleContainer>
134
+ <Title title="Enabled" theme="dark" level={4} />
135
+ <DxcButton mode="secondary" label="Secondary enabled" />
136
+ </ExampleContainer>
137
+ <ExampleContainer pseudoState="pseudo-hover">
138
+ <Title title="Hovered" theme="dark" level={4} />
139
+ <DxcButton mode="secondary" label="Secondary hovered" />
140
+ </ExampleContainer>
141
+ <ExampleContainer pseudoState="pseudo-focus">
142
+ <Title title="Focused" theme="dark" level={4} />
143
+ <DxcButton mode="secondary" label="Secondary focused" />
144
+ </ExampleContainer>
145
+ <ExampleContainer pseudoState="pseudo-active">
146
+ <Title title="Actived" theme="dark" level={4} />
147
+ <DxcButton mode="secondary" label="Secondary actived" />
148
+ </ExampleContainer>
149
+ <ExampleContainer>
150
+ <Title title="Disabled" theme="dark" level={4} />
151
+ <DxcButton mode="secondary" disabled label="Secondary disabled" />
152
+ </ExampleContainer>
153
+ <ExampleContainer>
154
+ <Title title="With icon" theme="dark" level={4} />
155
+ <DxcButton mode="secondary" label="Primary" icon={iconSVG} />
156
+ </ExampleContainer>
157
+ <Title title="Text" theme="dark" level={2} />
158
+ <ExampleContainer>
159
+ <Title title="Enabled" theme="dark" level={4} />
160
+ <DxcButton mode="text" label="Text enabled" />
161
+ </ExampleContainer>
162
+ <ExampleContainer pseudoState="pseudo-hover">
163
+ <Title title="Hovered" theme="dark" level={4} />
164
+ <DxcButton mode="text" label="Text hovered" />
165
+ </ExampleContainer>
166
+ <ExampleContainer pseudoState="pseudo-focus">
167
+ <Title title="Focused" theme="dark" level={4} />
168
+ <DxcButton mode="text" label="Text focused" />
169
+ </ExampleContainer>
170
+ <ExampleContainer pseudoState="pseudo-active">
171
+ <Title title="Actived" theme="dark" level={4} />
172
+ <DxcButton mode="text" label="Text actived" />
173
+ </ExampleContainer>
174
+ <ExampleContainer>
175
+ <Title title="Disabled" theme="dark" level={4} />
176
+ <DxcButton mode="text" label="Text disabled" disabled />
177
+ </ExampleContainer>
178
+ <ExampleContainer>
179
+ <Title title="With icon" theme="dark" level={4} />
180
+ <DxcButton mode="text" label="Primary" icon={iconSVG} />
181
+ </ExampleContainer>
182
+ </DarkContainer>
183
+ </BackgroundColorProvider>
184
+ <Title title="Sizes" theme="light" level={2} />
185
+ <ExampleContainer>
186
+ <Title title="Small size" theme="light" level={4} />
187
+ <DxcButton label="Small" size="small" />
188
+ </ExampleContainer>
189
+ <ExampleContainer>
190
+ <Title title="Medium size" theme="light" level={4} />
191
+ <DxcButton label="MediumSiz" size="medium" />
192
+ </ExampleContainer>
193
+ <ExampleContainer>
194
+ <Title title="Medium size with ellipsis" theme="light" level={4} />
195
+ <DxcButton label="MediumSize" size="medium" />
196
+ </ExampleContainer>
197
+ <ExampleContainer>
198
+ <Title title="Medium size icon after" theme="light" level={4} />
199
+ <DxcButton label="Mediu" iconPosition="after" icon={iconSVG} size="medium" />
200
+ </ExampleContainer>
201
+ <ExampleContainer>
202
+ <Title title="Medium size icon before" theme="light" level={4} />
203
+ <DxcButton label="Mediu" iconPosition="before" icon={iconSVG} size="medium" />
204
+ </ExampleContainer>
205
+ <ExampleContainer>
206
+ <Title title="Medium size icon after with ellipsis" theme="light" level={4} />
207
+ <DxcButton label="Medium" iconPosition="after" icon={iconSVG} size="medium" />
208
+ </ExampleContainer>
209
+ <ExampleContainer>
210
+ <Title title="Medium size icon before with ellipsis" theme="light" level={4} />
211
+ <DxcButton label="Medium" iconPosition="before" icon={iconSVG} size="medium" />
212
+ </ExampleContainer>
213
+ <ExampleContainer>
214
+ <Title title="Large size" theme="light" level={4} />
215
+ <DxcButton label="LargeSizePrimaryButtonEx" size="large" />
216
+ </ExampleContainer>
217
+ <ExampleContainer>
218
+ <Title title="Large size with ellipsis" theme="light" level={4} />
219
+ <DxcButton label="LargeSizePrimaryButtonExa" size="large" />
220
+ </ExampleContainer>
221
+ <ExampleContainer>
222
+ <Title title="Large size icon after" theme="light" level={4} />
223
+ <DxcButton label="LargeSizePrimaryButto" iconPosition="after" icon={iconSVG} size="large" />
224
+ </ExampleContainer>
225
+ <ExampleContainer>
226
+ <Title title="Large size icon before" theme="light" level={4} />
227
+ <DxcButton label="LargeSizePrimaryButto" iconPosition="before" icon={iconSVG} size="large" />
228
+ </ExampleContainer>
229
+ <ExampleContainer>
230
+ <Title title="Large size icon after with ellipsis" theme="light" level={4} />
231
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon={iconSVG} size="large" />
232
+ </ExampleContainer>
233
+ <ExampleContainer>
234
+ <Title title="Large size icon before with ellipsis" theme="light" level={4} />
235
+ <DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon={iconSVG} size="large" />
236
+ </ExampleContainer>
237
+ <ExampleContainer>
238
+ <Title title="FillParent size" theme="light" level={4} />
239
+ <DxcButton label="FillParent" size="fillParent" />
240
+ </ExampleContainer>
241
+ <ExampleContainer>
242
+ <Title title="FitContent size" theme="light" level={4} />
243
+ <DxcButton label="FitContent" size="fitContent" />
244
+ </ExampleContainer>
245
+ <Title title="Margins" theme="light" level={2} />
246
+ <ExampleContainer>
247
+ <Title title="Xxsmall margin" theme="light" level={4} />
248
+ <DxcButton label="Xxsmall margin" margin="xxsmall" />
249
+ </ExampleContainer>
250
+ <ExampleContainer>
251
+ <Title title="Xsmall margin" theme="light" level={4} />
252
+ <DxcButton label="Xsmall margin" margin="xsmall" />
253
+ </ExampleContainer>
254
+ <ExampleContainer>
255
+ <Title title="Small margin" theme="light" level={4} />
256
+ <DxcButton label="Small margin" margin="small" />
257
+ </ExampleContainer>
258
+ <ExampleContainer>
259
+ <Title title="Medium margin" theme="light" level={4} />
260
+ <DxcButton label="Medium margin" margin="medium" />
261
+ </ExampleContainer>
262
+ <ExampleContainer>
263
+ <Title title="Large margin" theme="light" level={4} />
264
+ <DxcButton label="Large margin" margin="large" />
265
+ </ExampleContainer>
266
+ <ExampleContainer>
267
+ <Title title="Xlarge margin" theme="light" level={4} />
268
+ <DxcButton label="Xlarge margin" margin="xlarge" />
269
+ </ExampleContainer>
270
+ <ExampleContainer>
271
+ <Title title="Xxlarge margin" theme="light" level={4} />
272
+ <DxcButton label="Xxlarge margin" margin="xxlarge" />
273
+ </ExampleContainer>
274
+ <Title title="Inside a flex" theme="light" level={2} />
275
+ <ExampleContainer>
276
+ <DxcFlex direction="column" gap="0.75rem">
277
+ <DxcButton label="Button" />
278
+ <DxcButton label="Button" />
279
+ <DxcButton label="Button" />
280
+ </DxcFlex>
281
+ </ExampleContainer>
282
+ </>
283
+ );
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Button = _interopRequireDefault(require("./Button"));
10
+
11
+ describe("Button component tests", function () {
12
+ test("Button renders with correct text", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
14
+ label: "Button"
15
+ })),
16
+ getByText = _render.getByText;
17
+
18
+ expect(getByText("Button")).toBeTruthy();
19
+ });
20
+ test("Calls correct function on click", function () {
21
+ var onClick = jest.fn();
22
+
23
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
24
+ label: "Button",
25
+ onClick: onClick
26
+ })),
27
+ getByText = _render2.getByText;
28
+
29
+ var button = getByText("Button");
30
+
31
+ _react2.fireEvent.click(button);
32
+
33
+ expect(onClick).toHaveBeenCalled();
34
+ });
35
+ });
@@ -0,0 +1,53 @@
1
+ /// <reference types="react" />
2
+ export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ export declare type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ export declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ declare type Props = {
11
+ /**
12
+ * Text to be placed in the button.
13
+ */
14
+ label?: string;
15
+ /**
16
+ * The available button modes.
17
+ */
18
+ mode?: "primary" | "secondary" | "text";
19
+ /**
20
+ * If true, the component will be disabled.
21
+ */
22
+ disabled?: boolean;
23
+ /**
24
+ * Whether the icon should appear after or before the label.
25
+ */
26
+ iconPosition?: "before" | "after";
27
+ /**
28
+ * 'type' html prop of the button.
29
+ */
30
+ type?: "button" | "reset" | "submit";
31
+ /**
32
+ * Element or path used as the icon that will be placed next to the label.
33
+ */
34
+ icon?: string | SVG;
35
+ /**
36
+ * This function will be called when the user clicks the button.
37
+ */
38
+ onClick?: () => void;
39
+ /**
40
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
41
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
42
+ */
43
+ margin?: Space | Margin;
44
+ /**
45
+ * Size of the component.
46
+ */
47
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
48
+ /**
49
+ * Value of the tabindex attribute.
50
+ */
51
+ tabIndex?: number;
52
+ };
53
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/card/Card.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import CardPropsType from "./types";
3
+ declare const DxcCard: ({ imageSrc, imageBgColor, imagePadding, imagePosition, linkHref, onClick, imageCover, margin, contentPadding, tabIndex, outlined, children, }: CardPropsType) => JSX.Element;
4
+ export default DxcCard;
package/card/Card.js CHANGED
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -21,88 +19,36 @@ var _react = _interopRequireWildcard(require("react"));
21
19
 
22
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
22
  var _variables = require("../common/variables.js");
27
23
 
28
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
29
25
 
30
26
  var _Box = _interopRequireDefault(require("../box/Box"));
31
27
 
32
- function _templateObject6() {
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"]);
34
-
35
- _templateObject6 = function _templateObject6() {
36
- return data;
37
- };
38
-
39
- return data;
40
- }
41
-
42
- function _templateObject5() {
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"]);
44
-
45
- _templateObject5 = function _templateObject5() {
46
- return data;
47
- };
48
-
49
- return data;
50
- }
51
-
52
- function _templateObject4() {
53
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"]);
54
-
55
- _templateObject4 = function _templateObject4() {
56
- return data;
57
- };
58
-
59
- return data;
60
- }
61
-
62
- function _templateObject3() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n text-decoration: none;\n"]);
64
-
65
- _templateObject3 = function _templateObject3() {
66
- return data;
67
- };
68
-
69
- return data;
70
- }
71
-
72
- function _templateObject2() {
73
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"]);
74
-
75
- _templateObject2 = function _templateObject2() {
76
- return data;
77
- };
78
-
79
- return data;
80
- }
81
-
82
- function _templateObject() {
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"]);
28
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
84
29
 
85
- _templateObject = function _templateObject() {
86
- return data;
87
- };
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); }
88
31
 
89
- return data;
90
- }
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
91
33
 
92
34
  var DxcCard = function DxcCard(_ref) {
93
35
  var imageSrc = _ref.imageSrc,
94
- children = _ref.children,
95
- margin = _ref.margin,
96
- contentPadding = _ref.contentPadding,
36
+ _ref$imageBgColor = _ref.imageBgColor,
37
+ imageBgColor = _ref$imageBgColor === void 0 ? "black" : _ref$imageBgColor,
38
+ imagePadding = _ref.imagePadding,
39
+ _ref$imagePosition = _ref.imagePosition,
40
+ imagePosition = _ref$imagePosition === void 0 ? "before" : _ref$imagePosition,
97
41
  linkHref = _ref.linkHref,
98
42
  onClick = _ref.onClick,
99
- imageBgColor = _ref.imageBgColor,
100
- imagePadding = _ref.imagePadding,
101
- imagePosition = _ref.imagePosition,
102
- outlined = _ref.outlined,
103
- imageCover = _ref.imageCover,
43
+ _ref$imageCover = _ref.imageCover,
44
+ imageCover = _ref$imageCover === void 0 ? false : _ref$imageCover,
45
+ margin = _ref.margin,
46
+ contentPadding = _ref.contentPadding,
104
47
  _ref$tabIndex = _ref.tabIndex,
105
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
48
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
49
+ _ref$outlined = _ref.outlined,
50
+ outlined = _ref$outlined === void 0 ? true : _ref$outlined,
51
+ children = _ref.children;
106
52
  var colorsTheme = (0, _useTheme["default"])();
107
53
 
108
54
  var _useState = (0, _react.useState)(false),
@@ -110,25 +56,15 @@ var DxcCard = function DxcCard(_ref) {
110
56
  isHovered = _useState2[0],
111
57
  changeIsHovered = _useState2[1];
112
58
 
113
- var tagContent = _react["default"].createElement(_Box["default"], {
114
- shadowDepth: outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
115
- }, _react["default"].createElement(_styledComponents.ThemeProvider, {
116
- theme: colorsTheme.card
117
- }, _react["default"].createElement(CardContainer, {
118
- hasAction: onClick || linkHref,
119
- outlined: outlined,
120
- imagePosition: imagePosition
121
- }, imageSrc && _react["default"].createElement(ImageContainer, {
59
+ var imageComponent = /*#__PURE__*/_react["default"].createElement(ImageContainer, {
122
60
  imageBgColor: imageBgColor
123
- }, _react["default"].createElement(TagImage, {
61
+ }, /*#__PURE__*/_react["default"].createElement(TagImage, {
124
62
  imagePadding: imagePadding,
125
63
  cover: imageCover,
126
64
  src: imageSrc
127
- })), _react["default"].createElement(CardContent, {
128
- contentPadding: contentPadding
129
- }, children))));
65
+ }));
130
66
 
131
- return _react["default"].createElement(StyledDxcCard, {
67
+ return /*#__PURE__*/_react["default"].createElement(StyledDxcCard, {
132
68
  margin: margin,
133
69
  onMouseEnter: function onMouseEnter() {
134
70
  return changeIsHovered(true);
@@ -137,15 +73,23 @@ var DxcCard = function DxcCard(_ref) {
137
73
  return changeIsHovered(false);
138
74
  },
139
75
  onClick: onClick,
140
- hasAction: onClick,
141
- tabIndex: typeof onClick === "function" && !linkHref ? tabIndex : -1
142
- }, linkHref && _react["default"].createElement(StyledLink, {
143
- tabIndex: tabIndex,
76
+ hasAction: onClick || linkHref,
77
+ tabIndex: onClick || linkHref ? tabIndex : -1,
78
+ as: linkHref && "a",
144
79
  href: linkHref
145
- }, tagContent) || tagContent);
80
+ }, /*#__PURE__*/_react["default"].createElement(_Box["default"], {
81
+ shadowDepth: !outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
82
+ }, /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
83
+ theme: colorsTheme.card
84
+ }, /*#__PURE__*/_react["default"].createElement(CardContainer, {
85
+ hasAction: onClick || linkHref,
86
+ imagePosition: imagePosition
87
+ }, imageSrc && imagePosition === "before" && imageComponent, /*#__PURE__*/_react["default"].createElement(CardContent, {
88
+ contentPadding: contentPadding
89
+ }, children), imageSrc && imagePosition === "after" && imageComponent))));
146
90
  };
147
91
 
148
- var StyledDxcCard = _styledComponents["default"].div(_templateObject(), function (_ref2) {
92
+ var StyledDxcCard = _styledComponents["default"].div(_templateObject || (_templateObject = (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 text-decoration: none;\n\n ", "\n"])), function (_ref2) {
149
93
  var hasAction = _ref2.hasAction;
150
94
  return hasAction && "pointer" || "unset";
151
95
  }, function (_ref3) {
@@ -166,12 +110,12 @@ var StyledDxcCard = _styledComponents["default"].div(_templateObject(), function
166
110
  }, function (_ref8) {
167
111
  var margin = _ref8.margin;
168
112
  return margin && margin.left ? _variables.spaces[margin.left] : "";
113
+ }, function (_ref9) {
114
+ var hasAction = _ref9.hasAction;
115
+ return hasAction && ":focus {\n outline: #0095ff auto 1px;\n }";
169
116
  });
170
117
 
171
- var CardContainer = _styledComponents["default"].div(_templateObject2(), function (_ref9) {
172
- var imagePosition = _ref9.imagePosition;
173
- return imagePosition === "before" && "row" || "row-reverse";
174
- }, function (props) {
118
+ var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"])), function (props) {
175
119
  return props.theme.height;
176
120
  }, function (props) {
177
121
  return props.theme.width;
@@ -180,9 +124,7 @@ var CardContainer = _styledComponents["default"].div(_templateObject2(), functio
180
124
  return hasAction ? "" : "unset";
181
125
  });
182
126
 
183
- var StyledLink = _styledComponents["default"].a(_templateObject3());
184
-
185
- var TagImage = _styledComponents["default"].img(_templateObject4(), function (_ref11) {
127
+ var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
186
128
  var imagePadding = _ref11.imagePadding;
187
129
  return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
188
130
  }, function (_ref12) {
@@ -193,12 +135,12 @@ var TagImage = _styledComponents["default"].img(_templateObject4(), function (_r
193
135
  return cover ? "cover" : "contain";
194
136
  });
195
137
 
196
- var ImageContainer = _styledComponents["default"].div(_templateObject5(), function (_ref14) {
138
+ var ImageContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (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"])), function (_ref14) {
197
139
  var imageBgColor = _ref14.imageBgColor;
198
140
  return imageBgColor;
199
141
  });
200
142
 
201
- var CardContent = _styledComponents["default"].div(_templateObject6(), function (_ref15) {
143
+ var CardContent = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (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"])), function (_ref15) {
202
144
  var contentPadding = _ref15.contentPadding;
203
145
  return contentPadding && (0, _typeof2["default"])(contentPadding) !== "object" ? _variables.spaces[contentPadding] : "0px";
204
146
  }, function (_ref16) {
@@ -215,40 +157,5 @@ var CardContent = _styledComponents["default"].div(_templateObject6(), function
215
157
  return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.left ? _variables.spaces[contentPadding.left] : "";
216
158
  });
217
159
 
218
- DxcCard.propTypes = {
219
- imageSrc: _propTypes["default"].string,
220
- imageBgColor: _propTypes["default"].string,
221
- imagePadding: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces))),
222
- imagePosition: _propTypes["default"].oneOf(["before", "after"]),
223
- linkHref: _propTypes["default"].string,
224
- onClick: _propTypes["default"].func,
225
- outlined: _propTypes["default"].bool,
226
- imageCover: _propTypes["default"].bool,
227
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
228
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
229
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
230
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
231
- right: _propTypes["default"].oneOf(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
240
- };
241
- DxcCard.defaultProps = {
242
- imageSrc: null,
243
- margin: null,
244
- contentPadding: null,
245
- outlined: false,
246
- imagePadding: null,
247
- imageCover: false,
248
- linkHref: null,
249
- onClick: null,
250
- imageBgColor: "black",
251
- imagePosition: "before"
252
- };
253
160
  var _default = DxcCard;
254
161
  exports["default"] = _default;