@dxc-technology/halstack-react 0.0.0-227874a → 0.0.0-2289057

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 (426) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +8 -24
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +4 -0
  7. package/accordion/Accordion.js +120 -291
  8. package/accordion/Accordion.stories.tsx +283 -0
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +57 -0
  11. package/accordion/types.js +5 -0
  12. package/accordion-group/AccordionGroup.d.ts +8 -0
  13. package/accordion-group/AccordionGroup.js +57 -142
  14. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  15. package/accordion-group/AccordionGroup.test.js +98 -0
  16. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  17. package/accordion-group/AccordionGroupAccordion.js +31 -0
  18. package/accordion-group/types.d.ts +67 -0
  19. package/accordion-group/types.js +5 -0
  20. package/action-icon/ActionIcon.d.ts +4 -0
  21. package/action-icon/ActionIcon.js +47 -0
  22. package/action-icon/ActionIcon.stories.tsx +41 -0
  23. package/action-icon/ActionIcon.test.js +64 -0
  24. package/action-icon/types.d.ts +26 -0
  25. package/action-icon/types.js +5 -0
  26. package/alert/Alert.d.ts +4 -0
  27. package/alert/Alert.js +55 -204
  28. package/alert/Alert.stories.tsx +198 -0
  29. package/alert/Alert.test.js +75 -0
  30. package/alert/types.d.ts +49 -0
  31. package/alert/types.js +5 -0
  32. package/badge/Badge.d.ts +4 -0
  33. package/badge/Badge.js +141 -45
  34. package/badge/Badge.stories.tsx +210 -0
  35. package/badge/Badge.test.js +30 -0
  36. package/badge/types.d.ts +54 -0
  37. package/badge/types.js +5 -0
  38. package/bleed/Bleed.d.ts +3 -0
  39. package/bleed/Bleed.js +43 -0
  40. package/bleed/Bleed.stories.tsx +342 -0
  41. package/bleed/types.d.ts +37 -0
  42. package/bleed/types.js +5 -0
  43. package/box/Box.d.ts +4 -0
  44. package/box/Box.js +35 -116
  45. package/box/Box.stories.tsx +119 -0
  46. package/box/Box.test.js +13 -0
  47. package/box/types.d.ts +32 -0
  48. package/box/types.js +5 -0
  49. package/bulleted-list/BulletedList.d.ts +7 -0
  50. package/bulleted-list/BulletedList.js +89 -0
  51. package/bulleted-list/BulletedList.stories.tsx +115 -0
  52. package/bulleted-list/types.d.ts +38 -0
  53. package/bulleted-list/types.js +5 -0
  54. package/button/Button.d.ts +4 -0
  55. package/button/Button.js +67 -185
  56. package/button/Button.stories.tsx +344 -0
  57. package/button/Button.test.js +38 -0
  58. package/button/types.d.ts +57 -0
  59. package/button/types.js +5 -0
  60. package/card/Card.d.ts +4 -0
  61. package/card/Card.js +60 -194
  62. package/card/Card.stories.tsx +171 -0
  63. package/card/Card.test.js +39 -0
  64. package/card/types.d.ts +62 -0
  65. package/card/types.js +5 -0
  66. package/checkbox/Checkbox.d.ts +4 -0
  67. package/checkbox/Checkbox.js +147 -231
  68. package/checkbox/Checkbox.stories.tsx +222 -0
  69. package/checkbox/Checkbox.test.js +199 -0
  70. package/checkbox/types.d.ts +72 -0
  71. package/checkbox/types.js +5 -0
  72. package/chip/Chip.d.ts +4 -0
  73. package/chip/Chip.js +50 -194
  74. package/chip/Chip.stories.tsx +214 -0
  75. package/chip/Chip.test.js +41 -0
  76. package/chip/types.d.ts +45 -0
  77. package/chip/types.js +5 -0
  78. package/common/OpenSans.css +68 -80
  79. package/common/coreTokens.d.ts +237 -0
  80. package/common/coreTokens.js +184 -0
  81. package/common/utils.d.ts +1 -0
  82. package/common/utils.js +6 -12
  83. package/common/variables.d.ts +1395 -0
  84. package/common/variables.js +1033 -1332
  85. package/container/Container.d.ts +4 -0
  86. package/container/Container.js +194 -0
  87. package/container/Container.stories.tsx +214 -0
  88. package/container/types.d.ts +74 -0
  89. package/container/types.js +5 -0
  90. package/contextual-menu/ContextualMenu.d.ts +7 -0
  91. package/contextual-menu/ContextualMenu.js +71 -0
  92. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  93. package/contextual-menu/ContextualMenu.test.js +71 -0
  94. package/contextual-menu/MenuItemAction.d.ts +4 -0
  95. package/contextual-menu/MenuItemAction.js +46 -0
  96. package/contextual-menu/types.d.ts +22 -0
  97. package/contextual-menu/types.js +5 -0
  98. package/date-input/Calendar.d.ts +4 -0
  99. package/date-input/Calendar.js +214 -0
  100. package/date-input/DateInput.d.ts +4 -0
  101. package/date-input/DateInput.js +179 -356
  102. package/date-input/DateInput.stories.tsx +285 -0
  103. package/date-input/DateInput.test.js +808 -0
  104. package/date-input/DatePicker.d.ts +4 -0
  105. package/date-input/DatePicker.js +115 -0
  106. package/date-input/Icons.d.ts +6 -0
  107. package/date-input/Icons.js +58 -0
  108. package/date-input/YearPicker.d.ts +4 -0
  109. package/date-input/YearPicker.js +100 -0
  110. package/date-input/types.d.ts +164 -0
  111. package/date-input/types.js +5 -0
  112. package/dialog/Dialog.d.ts +4 -0
  113. package/dialog/Dialog.js +70 -184
  114. package/dialog/Dialog.stories.tsx +365 -0
  115. package/dialog/Dialog.test.js +307 -0
  116. package/dialog/types.d.ts +36 -0
  117. package/dialog/types.js +5 -0
  118. package/dropdown/Dropdown.d.ts +4 -0
  119. package/dropdown/Dropdown.js +252 -460
  120. package/dropdown/Dropdown.stories.tsx +438 -0
  121. package/dropdown/Dropdown.test.js +599 -0
  122. package/dropdown/DropdownMenu.d.ts +4 -0
  123. package/dropdown/DropdownMenu.js +63 -0
  124. package/dropdown/DropdownMenuItem.d.ts +4 -0
  125. package/dropdown/DropdownMenuItem.js +67 -0
  126. package/dropdown/types.d.ts +98 -0
  127. package/dropdown/types.js +5 -0
  128. package/file-input/FileInput.d.ts +4 -0
  129. package/file-input/FileInput.js +297 -462
  130. package/file-input/FileInput.stories.tsx +618 -0
  131. package/file-input/FileInput.test.js +459 -0
  132. package/file-input/FileItem.d.ts +4 -0
  133. package/file-input/FileItem.js +61 -213
  134. package/file-input/types.d.ts +129 -0
  135. package/file-input/types.js +5 -0
  136. package/flex/Flex.d.ts +4 -0
  137. package/flex/Flex.js +57 -0
  138. package/flex/Flex.stories.tsx +112 -0
  139. package/flex/types.d.ts +97 -0
  140. package/flex/types.js +5 -0
  141. package/footer/Footer.d.ts +4 -0
  142. package/footer/Footer.js +77 -360
  143. package/footer/Footer.stories.tsx +171 -0
  144. package/footer/Footer.test.js +85 -0
  145. package/footer/Icons.d.ts +3 -0
  146. package/footer/Icons.js +79 -20
  147. package/footer/types.d.ts +64 -0
  148. package/footer/types.js +5 -0
  149. package/grid/Grid.d.ts +7 -0
  150. package/grid/Grid.js +76 -0
  151. package/grid/Grid.stories.tsx +219 -0
  152. package/grid/types.d.ts +115 -0
  153. package/grid/types.js +5 -0
  154. package/header/Header.d.ts +8 -0
  155. package/header/Header.js +122 -372
  156. package/header/Header.stories.tsx +251 -0
  157. package/header/Header.test.js +66 -0
  158. package/header/Icons.d.ts +2 -0
  159. package/header/Icons.js +9 -39
  160. package/header/types.d.ts +33 -0
  161. package/header/types.js +5 -0
  162. package/heading/Heading.d.ts +4 -0
  163. package/heading/Heading.js +31 -124
  164. package/heading/Heading.stories.tsx +54 -0
  165. package/heading/Heading.test.js +169 -0
  166. package/heading/types.d.ts +33 -0
  167. package/heading/types.js +5 -0
  168. package/image/Image.d.ts +4 -0
  169. package/image/Image.js +70 -0
  170. package/image/Image.stories.tsx +129 -0
  171. package/image/types.d.ts +72 -0
  172. package/image/types.js +5 -0
  173. package/inset/Inset.d.ts +3 -0
  174. package/inset/Inset.js +43 -0
  175. package/inset/Inset.stories.tsx +230 -0
  176. package/inset/types.d.ts +37 -0
  177. package/inset/types.js +5 -0
  178. package/layout/ApplicationLayout.d.ts +20 -0
  179. package/layout/ApplicationLayout.js +85 -278
  180. package/layout/ApplicationLayout.stories.tsx +162 -0
  181. package/layout/Icons.d.ts +8 -0
  182. package/layout/Icons.js +51 -48
  183. package/layout/SidenavContext.d.ts +5 -0
  184. package/layout/SidenavContext.js +13 -0
  185. package/layout/types.d.ts +41 -0
  186. package/layout/types.js +5 -0
  187. package/link/Link.d.ts +4 -0
  188. package/link/Link.js +67 -189
  189. package/link/Link.stories.tsx +253 -0
  190. package/link/Link.test.js +63 -0
  191. package/link/types.d.ts +54 -0
  192. package/link/types.js +5 -0
  193. package/main.d.ts +48 -40
  194. package/main.js +130 -139
  195. package/nav-tabs/NavTabs.d.ts +8 -0
  196. package/nav-tabs/NavTabs.js +93 -0
  197. package/nav-tabs/NavTabs.stories.tsx +276 -0
  198. package/nav-tabs/NavTabs.test.js +76 -0
  199. package/nav-tabs/Tab.d.ts +4 -0
  200. package/nav-tabs/Tab.js +118 -0
  201. package/nav-tabs/types.d.ts +52 -0
  202. package/nav-tabs/types.js +5 -0
  203. package/number-input/NumberInput.d.ts +11 -0
  204. package/number-input/NumberInput.js +52 -102
  205. package/number-input/NumberInput.stories.tsx +131 -0
  206. package/number-input/NumberInput.test.js +989 -0
  207. package/number-input/types.d.ts +130 -0
  208. package/number-input/types.js +5 -0
  209. package/package.json +53 -49
  210. package/paginator/Icons.d.ts +5 -0
  211. package/paginator/Icons.js +26 -52
  212. package/paginator/Paginator.d.ts +4 -0
  213. package/paginator/Paginator.js +41 -211
  214. package/paginator/Paginator.stories.tsx +87 -0
  215. package/paginator/Paginator.test.js +335 -0
  216. package/paginator/types.d.ts +38 -0
  217. package/paginator/types.js +5 -0
  218. package/paragraph/Paragraph.d.ts +5 -0
  219. package/paragraph/Paragraph.js +22 -0
  220. package/paragraph/Paragraph.stories.tsx +27 -0
  221. package/password-input/Icons.d.ts +6 -0
  222. package/password-input/Icons.js +35 -0
  223. package/password-input/PasswordInput.d.ts +4 -0
  224. package/password-input/PasswordInput.js +66 -172
  225. package/password-input/PasswordInput.stories.tsx +99 -0
  226. package/password-input/PasswordInput.test.js +198 -0
  227. package/password-input/types.d.ts +111 -0
  228. package/password-input/types.js +5 -0
  229. package/progress-bar/ProgressBar.d.ts +4 -0
  230. package/progress-bar/ProgressBar.js +76 -174
  231. package/progress-bar/ProgressBar.stories.tsx +93 -0
  232. package/progress-bar/ProgressBar.test.js +93 -0
  233. package/progress-bar/types.d.ts +37 -0
  234. package/progress-bar/types.js +5 -0
  235. package/quick-nav/QuickNav.d.ts +4 -0
  236. package/quick-nav/QuickNav.js +94 -0
  237. package/quick-nav/QuickNav.stories.tsx +356 -0
  238. package/quick-nav/types.d.ts +21 -0
  239. package/quick-nav/types.js +5 -0
  240. package/radio-group/Radio.d.ts +4 -0
  241. package/radio-group/Radio.js +124 -0
  242. package/radio-group/RadioGroup.d.ts +4 -0
  243. package/radio-group/RadioGroup.js +235 -0
  244. package/radio-group/RadioGroup.stories.tsx +214 -0
  245. package/radio-group/RadioGroup.test.js +756 -0
  246. package/radio-group/types.d.ts +114 -0
  247. package/radio-group/types.js +5 -0
  248. package/resultset-table/Icons.d.ts +7 -0
  249. package/resultset-table/Icons.js +47 -0
  250. package/resultset-table/ResultsetTable.d.ts +7 -0
  251. package/resultset-table/ResultsetTable.js +166 -0
  252. package/resultset-table/ResultsetTable.stories.tsx +397 -0
  253. package/resultset-table/ResultsetTable.test.js +371 -0
  254. package/resultset-table/types.d.ts +73 -0
  255. package/resultset-table/types.js +5 -0
  256. package/select/Icons.d.ts +10 -0
  257. package/select/Icons.js +89 -0
  258. package/select/Listbox.d.ts +4 -0
  259. package/select/Listbox.js +143 -0
  260. package/select/Option.d.ts +4 -0
  261. package/select/Option.js +87 -0
  262. package/select/Select.d.ts +4 -0
  263. package/select/Select.js +304 -850
  264. package/select/Select.stories.tsx +971 -0
  265. package/select/Select.test.js +2370 -0
  266. package/select/types.d.ts +209 -0
  267. package/select/types.js +5 -0
  268. package/sidenav/Icons.d.ts +7 -0
  269. package/sidenav/Icons.js +47 -0
  270. package/sidenav/Sidenav.d.ts +10 -0
  271. package/sidenav/Sidenav.js +134 -117
  272. package/sidenav/Sidenav.stories.tsx +282 -0
  273. package/sidenav/Sidenav.test.js +37 -0
  274. package/sidenav/types.d.ts +76 -0
  275. package/sidenav/types.js +5 -0
  276. package/slider/Slider.d.ts +4 -0
  277. package/slider/Slider.js +172 -291
  278. package/slider/Slider.test.js +254 -0
  279. package/slider/types.d.ts +86 -0
  280. package/slider/types.js +5 -0
  281. package/spinner/Spinner.d.ts +4 -0
  282. package/spinner/Spinner.js +66 -241
  283. package/spinner/Spinner.stories.tsx +129 -0
  284. package/spinner/Spinner.test.js +55 -0
  285. package/spinner/types.d.ts +32 -0
  286. package/spinner/types.js +5 -0
  287. package/status-light/StatusLight.d.ts +4 -0
  288. package/status-light/StatusLight.js +51 -0
  289. package/status-light/StatusLight.stories.tsx +74 -0
  290. package/status-light/StatusLight.test.js +25 -0
  291. package/status-light/types.d.ts +17 -0
  292. package/status-light/types.js +5 -0
  293. package/switch/Switch.d.ts +4 -0
  294. package/switch/Switch.js +153 -161
  295. package/switch/Switch.stories.tsx +137 -0
  296. package/switch/Switch.test.js +180 -0
  297. package/switch/types.d.ts +66 -0
  298. package/switch/types.js +5 -0
  299. package/table/DropdownTheme.js +62 -0
  300. package/table/Table.d.ts +8 -0
  301. package/table/Table.js +93 -55
  302. package/table/Table.stories.tsx +658 -0
  303. package/table/Table.test.js +113 -0
  304. package/table/types.d.ts +63 -0
  305. package/table/types.js +5 -0
  306. package/tabs/Tab.d.ts +4 -0
  307. package/tabs/Tab.js +116 -0
  308. package/tabs/Tabs.d.ts +4 -0
  309. package/tabs/Tabs.js +322 -281
  310. package/tabs/Tabs.stories.tsx +226 -0
  311. package/tabs/Tabs.test.js +294 -0
  312. package/tabs/types.d.ts +92 -0
  313. package/tabs/types.js +5 -0
  314. package/tag/Tag.d.ts +4 -0
  315. package/tag/Tag.js +61 -192
  316. package/tag/Tag.stories.tsx +155 -0
  317. package/tag/Tag.test.js +49 -0
  318. package/tag/types.d.ts +69 -0
  319. package/tag/types.js +5 -0
  320. package/text-input/Icons.d.ts +8 -0
  321. package/text-input/Icons.js +56 -0
  322. package/text-input/Suggestion.d.ts +4 -0
  323. package/text-input/Suggestion.js +67 -0
  324. package/text-input/Suggestions.d.ts +4 -0
  325. package/text-input/Suggestions.js +84 -0
  326. package/text-input/TextInput.d.ts +4 -0
  327. package/text-input/TextInput.js +348 -773
  328. package/text-input/TextInput.stories.tsx +465 -0
  329. package/text-input/TextInput.test.js +1756 -0
  330. package/text-input/types.d.ts +205 -0
  331. package/text-input/types.js +5 -0
  332. package/textarea/Textarea.d.ts +4 -0
  333. package/textarea/Textarea.js +105 -240
  334. package/textarea/Textarea.stories.tsx +174 -0
  335. package/textarea/Textarea.test.js +406 -0
  336. package/textarea/types.d.ts +141 -0
  337. package/textarea/types.js +5 -0
  338. package/toggle-group/ToggleGroup.d.ts +4 -0
  339. package/toggle-group/ToggleGroup.js +107 -233
  340. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  341. package/toggle-group/ToggleGroup.test.js +137 -0
  342. package/toggle-group/types.d.ts +114 -0
  343. package/toggle-group/types.js +5 -0
  344. package/typography/Typography.d.ts +4 -0
  345. package/typography/Typography.js +23 -0
  346. package/typography/Typography.stories.tsx +198 -0
  347. package/typography/types.d.ts +18 -0
  348. package/typography/types.js +5 -0
  349. package/useTheme.d.ts +1148 -0
  350. package/useTheme.js +4 -11
  351. package/useTranslatedLabels.d.ts +85 -0
  352. package/useTranslatedLabels.js +14 -0
  353. package/utils/BaseTypography.d.ts +21 -0
  354. package/utils/BaseTypography.js +94 -0
  355. package/utils/FocusLock.d.ts +13 -0
  356. package/utils/FocusLock.js +124 -0
  357. package/wizard/Wizard.d.ts +4 -0
  358. package/wizard/Wizard.js +138 -293
  359. package/wizard/Wizard.stories.tsx +253 -0
  360. package/wizard/Wizard.test.js +114 -0
  361. package/wizard/types.d.ts +64 -0
  362. package/wizard/types.js +5 -0
  363. package/ThemeContext.js +0 -250
  364. package/V3Select/V3Select.js +0 -549
  365. package/V3Select/index.d.ts +0 -27
  366. package/V3Textarea/V3Textarea.js +0 -264
  367. package/V3Textarea/index.d.ts +0 -27
  368. package/accordion/index.d.ts +0 -28
  369. package/accordion-group/index.d.ts +0 -16
  370. package/alert/index.d.ts +0 -51
  371. package/box/index.d.ts +0 -25
  372. package/button/Button.stories.js +0 -27
  373. package/button/index.d.ts +0 -24
  374. package/card/index.d.ts +0 -22
  375. package/checkbox/index.d.ts +0 -24
  376. package/chip/index.d.ts +0 -22
  377. package/common/RequiredComponent.js +0 -40
  378. package/date/Date.js +0 -379
  379. package/date/index.d.ts +0 -27
  380. package/date-input/index.d.ts +0 -95
  381. package/dialog/index.d.ts +0 -18
  382. package/dropdown/index.d.ts +0 -26
  383. package/file-input/index.d.ts +0 -81
  384. package/footer/index.d.ts +0 -25
  385. package/header/index.d.ts +0 -25
  386. package/heading/index.d.ts +0 -17
  387. package/input-text/Icons.js +0 -22
  388. package/input-text/InputText.js +0 -705
  389. package/input-text/index.d.ts +0 -36
  390. package/link/index.d.ts +0 -23
  391. package/number-input/NumberInputContext.js +0 -16
  392. package/number-input/index.d.ts +0 -113
  393. package/paginator/index.d.ts +0 -20
  394. package/password-input/index.d.ts +0 -94
  395. package/progress-bar/index.d.ts +0 -18
  396. package/radio/Radio.js +0 -209
  397. package/radio/index.d.ts +0 -23
  398. package/resultsetTable/ResultsetTable.js +0 -358
  399. package/resultsetTable/index.d.ts +0 -19
  400. package/select/index.d.ts +0 -131
  401. package/sidenav/index.d.ts +0 -13
  402. package/slider/index.d.ts +0 -29
  403. package/spinner/index.d.ts +0 -17
  404. package/switch/index.d.ts +0 -24
  405. package/table/index.d.ts +0 -13
  406. package/tabs/index.d.ts +0 -19
  407. package/tag/index.d.ts +0 -24
  408. package/text-input/index.d.ts +0 -135
  409. package/textarea/index.d.ts +0 -117
  410. package/toggle/Toggle.js +0 -220
  411. package/toggle/index.d.ts +0 -21
  412. package/toggle-group/index.d.ts +0 -21
  413. package/upload/Upload.js +0 -205
  414. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  415. package/upload/buttons-upload/Icons.js +0 -40
  416. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  417. package/upload/dragAndDropArea/Icons.js +0 -39
  418. package/upload/file-upload/FileToUpload.js +0 -189
  419. package/upload/file-upload/Icons.js +0 -66
  420. package/upload/files-upload/FilesToUpload.js +0 -123
  421. package/upload/index.d.ts +0 -15
  422. package/upload/transaction/Icons.js +0 -160
  423. package/upload/transaction/Transaction.js +0 -148
  424. package/upload/transactions/Transactions.js +0 -138
  425. package/wizard/Icons.js +0 -65
  426. package/wizard/index.d.ts +0 -18
package/card/Card.js CHANGED
@@ -1,134 +1,46 @@
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
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
12
  var _react = _interopRequireWildcard(require("react"));
21
-
22
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
28
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
-
14
+ var _variables = require("../common/variables");
15
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
30
16
  var _Box = _interopRequireDefault(require("../box/Box"));
31
-
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"]);
84
-
85
- _templateObject = function _templateObject() {
86
- return data;
87
- };
88
-
89
- return data;
90
- }
91
-
17
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
92
20
  var DxcCard = function DxcCard(_ref) {
93
21
  var imageSrc = _ref.imageSrc,
94
- children = _ref.children,
95
- margin = _ref.margin,
96
- contentPadding = _ref.contentPadding,
97
- linkHref = _ref.linkHref,
98
- onClick = _ref.onClick,
99
- imageBgColor = _ref.imageBgColor,
100
- imagePadding = _ref.imagePadding,
101
- imagePosition = _ref.imagePosition,
102
- outlined = _ref.outlined,
103
- imageCover = _ref.imageCover,
104
- _ref$tabIndex = _ref.tabIndex,
105
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
22
+ _ref$imageBgColor = _ref.imageBgColor,
23
+ imageBgColor = _ref$imageBgColor === void 0 ? "black" : _ref$imageBgColor,
24
+ imagePadding = _ref.imagePadding,
25
+ _ref$imagePosition = _ref.imagePosition,
26
+ imagePosition = _ref$imagePosition === void 0 ? "before" : _ref$imagePosition,
27
+ linkHref = _ref.linkHref,
28
+ onClick = _ref.onClick,
29
+ _ref$imageCover = _ref.imageCover,
30
+ imageCover = _ref$imageCover === void 0 ? false : _ref$imageCover,
31
+ margin = _ref.margin,
32
+ _ref$tabIndex = _ref.tabIndex,
33
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
34
+ _ref$outlined = _ref.outlined,
35
+ outlined = _ref$outlined === void 0 ? true : _ref$outlined,
36
+ children = _ref.children;
106
37
  var colorsTheme = (0, _useTheme["default"])();
107
-
108
38
  var _useState = (0, _react.useState)(false),
109
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
110
- isHovered = _useState2[0],
111
- changeIsHovered = _useState2[1];
112
-
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, {
122
- imageBgColor: imageBgColor
123
- }, _react["default"].createElement(TagImage, {
124
- imagePadding: imagePadding,
125
- cover: imageCover,
126
- src: imageSrc
127
- })), _react["default"].createElement(CardContent, {
128
- contentPadding: contentPadding
129
- }, children))));
130
-
131
- return _react["default"].createElement(StyledDxcCard, {
39
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
40
+ isHovered = _useState2[0],
41
+ changeIsHovered = _useState2[1];
42
+ return /*#__PURE__*/_react["default"].createElement(Card, {
43
+ hasAction: onClick || linkHref ? true : false,
132
44
  margin: margin,
133
45
  onMouseEnter: function onMouseEnter() {
134
46
  return changeIsHovered(true);
@@ -137,15 +49,25 @@ var DxcCard = function DxcCard(_ref) {
137
49
  return changeIsHovered(false);
138
50
  },
139
51
  onClick: onClick,
140
- hasAction: onClick,
141
- tabIndex: typeof onClick === "function" && !linkHref ? tabIndex : -1
142
- }, linkHref && _react["default"].createElement(StyledLink, {
143
- tabIndex: tabIndex,
52
+ tabIndex: onClick || linkHref ? tabIndex : -1,
53
+ as: linkHref && "a",
144
54
  href: linkHref
145
- }, tagContent) || tagContent);
55
+ }, /*#__PURE__*/_react["default"].createElement(_Box["default"], {
56
+ shadowDepth: !outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
57
+ }, /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
58
+ theme: colorsTheme.card
59
+ }, /*#__PURE__*/_react["default"].createElement(CardContainer, {
60
+ hasAction: onClick || linkHref ? true : false,
61
+ imagePosition: imageSrc ? imagePosition : "none"
62
+ }, imageSrc && /*#__PURE__*/_react["default"].createElement(ImageContainer, {
63
+ imageBgColor: imageBgColor
64
+ }, /*#__PURE__*/_react["default"].createElement(TagImage, {
65
+ imagePadding: imagePadding,
66
+ imageCover: imageCover,
67
+ src: imageSrc
68
+ })), /*#__PURE__*/_react["default"].createElement(CardContent, null, children)))));
146
69
  };
147
-
148
- var StyledDxcCard = _styledComponents["default"].div(_templateObject(), function (_ref2) {
70
+ var Card = _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"])), function (_ref2) {
149
71
  var hasAction = _ref2.hasAction;
150
72
  return hasAction && "pointer" || "unset";
151
73
  }, function (_ref3) {
@@ -156,21 +78,22 @@ var StyledDxcCard = _styledComponents["default"].div(_templateObject(), function
156
78
  return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
157
79
  }, function (_ref5) {
158
80
  var margin = _ref5.margin;
159
- return margin && margin.top ? _variables.spaces[margin.top] : "";
81
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
160
82
  }, function (_ref6) {
161
83
  var margin = _ref6.margin;
162
- return margin && margin.right ? _variables.spaces[margin.right] : "";
84
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
163
85
  }, function (_ref7) {
164
86
  var margin = _ref7.margin;
165
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
87
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
166
88
  }, function (_ref8) {
167
89
  var margin = _ref8.margin;
168
- return margin && margin.left ? _variables.spaces[margin.left] : "";
90
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
91
+ }, function (_ref9) {
92
+ var hasAction = _ref9.hasAction;
93
+ return hasAction && ":focus {\n outline: #0095ff auto 1px;\n }";
169
94
  });
170
-
171
- var CardContainer = _styledComponents["default"].div(_templateObject2(), function (_ref9) {
172
- var imagePosition = _ref9.imagePosition;
173
- return imagePosition === "before" && "row" || "row-reverse";
95
+ var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"])), function (props) {
96
+ return props.imagePosition === "after" ? "row-reverse" : "row";
174
97
  }, function (props) {
175
98
  return props.theme.height;
176
99
  }, function (props) {
@@ -179,76 +102,19 @@ var CardContainer = _styledComponents["default"].div(_templateObject2(), functio
179
102
  var hasAction = _ref10.hasAction;
180
103
  return hasAction ? "" : "unset";
181
104
  });
182
-
183
- var StyledLink = _styledComponents["default"].a(_templateObject3());
184
-
185
- var TagImage = _styledComponents["default"].img(_templateObject4(), function (_ref11) {
105
+ var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
186
106
  var imagePadding = _ref11.imagePadding;
187
- return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
107
+ return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
188
108
  }, function (_ref12) {
189
109
  var imagePadding = _ref12.imagePadding;
190
- return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
110
+ return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
191
111
  }, function (_ref13) {
192
- var cover = _ref13.cover;
193
- return cover ? "cover" : "contain";
112
+ var imageCover = _ref13.imageCover;
113
+ return imageCover ? "cover" : "contain";
194
114
  });
195
-
196
- var ImageContainer = _styledComponents["default"].div(_templateObject5(), function (_ref14) {
115
+ var ImageContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n width: 35%;\n height: 100%;\n background-color: ", ";\n"])), function (_ref14) {
197
116
  var imageBgColor = _ref14.imageBgColor;
198
117
  return imageBgColor;
199
118
  });
200
-
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
- });
217
-
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
- var _default = DxcCard;
254
- exports["default"] = _default;
119
+ var CardContent = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n overflow: hidden;\n"])));
120
+ var _default = exports["default"] = DxcCard;
@@ -0,0 +1,171 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcCard from "./Card";
5
+ import { userEvent, within } from "@storybook/testing-library";
6
+
7
+ export default {
8
+ title: "Card",
9
+ component: DxcCard,
10
+ };
11
+
12
+ const Card = () => (
13
+ <>
14
+ <Title title="Default" theme="light" level={4} />
15
+ <ExampleContainer>
16
+ <DxcCard>Default</DxcCard>
17
+ </ExampleContainer>
18
+ <Title title="Not outlined" theme="light" level={4} />
19
+ <ExampleContainer>
20
+ <DxcCard outlined={false}>Not outlined</DxcCard>
21
+ </ExampleContainer>
22
+ <Title title="Default with link" theme="light" level={4} />
23
+ <ExampleContainer>
24
+ <DxcCard linkHref="https://www.dxc.com">Default with link</DxcCard>
25
+ </ExampleContainer>
26
+ <Title title="Focused default with link" theme="light" level={4} />
27
+ <ExampleContainer>
28
+ <DxcCard linkHref="https://www.dxc.com">Focused default with link</DxcCard>
29
+ </ExampleContainer>
30
+ <Title title="Hovered default with link" theme="light" level={4} />
31
+ <ExampleContainer>
32
+ <DxcCard linkHref="https://www.dxc.com">Hovered default with link</DxcCard>
33
+ </ExampleContainer>
34
+ <Title title="Default with action" theme="light" level={4} />
35
+ <ExampleContainer>
36
+ <DxcCard onClick={() => {}}>Default with action</DxcCard>
37
+ </ExampleContainer>
38
+ <Title title="Default with image" theme="light" level={4} />
39
+ <ExampleContainer>
40
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300">Default</DxcCard>
41
+ </ExampleContainer>
42
+ <Title title="Default image with background color" theme="light" level={4} />
43
+ <ExampleContainer>
44
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageBgColor="yellow">
45
+ Background color
46
+ </DxcCard>
47
+ </ExampleContainer>
48
+ <Title title="Default image with position after" theme="light" level={4} />
49
+ <ExampleContainer>
50
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePosition="after">
51
+ Position after
52
+ </DxcCard>
53
+ </ExampleContainer>
54
+ <Title title="Image cover" theme="light" level={4} />
55
+ <ExampleContainer>
56
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageCover>
57
+ Image cover
58
+ </DxcCard>
59
+ </ExampleContainer>
60
+ <Title title="Image cover with position after" theme="light" level={4} />
61
+ <ExampleContainer>
62
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageCover imagePosition="after">
63
+ Image cover with position after
64
+ </DxcCard>
65
+ </ExampleContainer>
66
+ <Title title="Image padding" theme="light" level={2} />
67
+ <ExampleContainer>
68
+ <Title title="Xxsmall" theme="light" level={4} />
69
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xxsmall" imageCover>
70
+ Xxsmall
71
+ </DxcCard>
72
+ </ExampleContainer>
73
+ <ExampleContainer>
74
+ <Title title="Xsmall" theme="light" level={4} />
75
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xsmall" imageCover>
76
+ Xsmall
77
+ </DxcCard>
78
+ </ExampleContainer>
79
+ <ExampleContainer>
80
+ <Title title="Small" theme="light" level={4} />
81
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="small" imageCover>
82
+ Small
83
+ </DxcCard>
84
+ </ExampleContainer>
85
+ <ExampleContainer>
86
+ <Title title="Medium" theme="light" level={4} />
87
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="medium" imageCover>
88
+ Medium
89
+ </DxcCard>
90
+ </ExampleContainer>
91
+ <ExampleContainer>
92
+ <Title title="Large" theme="light" level={4} />
93
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="large" imageCover>
94
+ Large
95
+ </DxcCard>
96
+ </ExampleContainer>
97
+ <ExampleContainer>
98
+ <Title title="Xlarge" theme="light" level={4} />
99
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xlarge" imageCover>
100
+ Xlarge
101
+ </DxcCard>
102
+ </ExampleContainer>
103
+ <ExampleContainer>
104
+ <Title title="Xxlarge" theme="light" level={4} />
105
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xxlarge" imageCover>
106
+ Xxlarge
107
+ </DxcCard>
108
+ </ExampleContainer>
109
+ <Title title="Margin" theme="light" level={2} />
110
+ <ExampleContainer>
111
+ <Title title="Xxsmall" theme="light" level={4} />
112
+ <DxcCard margin="xxsmall">Xxsmall</DxcCard>
113
+ </ExampleContainer>
114
+ <ExampleContainer>
115
+ <Title title="Xsmall" theme="light" level={4} />
116
+ <DxcCard margin="xsmall">Xsmall</DxcCard>
117
+ </ExampleContainer>
118
+ <ExampleContainer>
119
+ <Title title="Small" theme="light" level={4} />
120
+ <DxcCard margin="small">Small</DxcCard>
121
+ </ExampleContainer>
122
+ <ExampleContainer>
123
+ <Title title="Medium" theme="light" level={4} />
124
+ <DxcCard margin="medium">Medium</DxcCard>
125
+ </ExampleContainer>
126
+ <ExampleContainer>
127
+ <Title title="Large" theme="light" level={4} />
128
+ <DxcCard margin="large">Large</DxcCard>
129
+ </ExampleContainer>
130
+ <ExampleContainer>
131
+ <Title title="Xlarge" theme="light" level={4} />
132
+ <DxcCard margin="xlarge">Xlarge</DxcCard>
133
+ </ExampleContainer>
134
+ <ExampleContainer>
135
+ <Title title="Xxlarge" theme="light" level={4} />
136
+ <DxcCard margin="xxlarge">Xxlarge</DxcCard>
137
+ </ExampleContainer>
138
+ </>
139
+ );
140
+
141
+ const actionCard = () => (
142
+ <>
143
+ <ExampleContainer>
144
+ <Title title="Focused default with action" theme="light" level={4} />
145
+ <DxcCard onClick={() => {}}>Focused default with action</DxcCard>
146
+ </ExampleContainer>
147
+ <ExampleContainer expanded>
148
+ <Title title="Hovered default with action" theme="light" level={4} />
149
+ <DxcCard onClick={() => {}}>Hovered default with action</DxcCard>
150
+ </ExampleContainer>
151
+ </>
152
+ );
153
+
154
+ const linkStates = async (focusCard, hoverCard) => {
155
+ await focusCard.focus();
156
+ await userEvent.hover(hoverCard);
157
+ };
158
+
159
+ export const ActionCardStates = actionCard.bind({});
160
+ ActionCardStates.play = async ({ canvasElement }) => {
161
+ const canvas = within(canvasElement);
162
+ await userEvent.tab();
163
+ await userEvent.hover(canvas.getAllByText("Hovered default with action")[1]);
164
+ };
165
+
166
+ export const Chromatic = Card.bind({});
167
+ Chromatic.play = async ({ canvasElement }) => {
168
+ const canvas = within(canvasElement);
169
+ const linkCards = canvas.getAllByRole("link");
170
+ await linkStates(linkCards[1], linkCards[2]);
171
+ };
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _Card = _interopRequireDefault(require("./Card.tsx"));
7
+ describe("Card component tests", function () {
8
+ test("Card renders with correct content", function () {
9
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
10
+ getByText = _render.getByText;
11
+ expect(getByText("test-card")).toBeTruthy();
12
+ });
13
+ test("Card renders with correct href", function () {
14
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
15
+ linkHref: "/testPage"
16
+ }, "test-card")),
17
+ getByRole = _render2.getByRole;
18
+ var card = getByRole("link");
19
+ expect(card.getAttribute("href")).toEqual("/testPage");
20
+ });
21
+ test("Card renders with correct image", function () {
22
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
23
+ imageSrc: "/testImage"
24
+ }, "test-card")),
25
+ getByRole = _render3.getByRole;
26
+ var card = getByRole("img");
27
+ expect(card.getAttribute("src")).toEqual("/testImage");
28
+ });
29
+ test("OnClick function is called", function () {
30
+ var onClick = jest.fn();
31
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
32
+ onClick: onClick
33
+ }, "test-card")),
34
+ getByText = _render4.getByText;
35
+ var card = getByText("test-card");
36
+ _react2.fireEvent.click(card);
37
+ expect(onClick).toHaveBeenCalled();
38
+ });
39
+ });
@@ -0,0 +1,62 @@
1
+ /// <reference types="react" />
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Size = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ type Props = {
10
+ /**
11
+ * URL of the image that will be placed in the card component.
12
+ * In case of omission, the image container will not appear and
13
+ * the content will occupy its space.
14
+ */
15
+ imageSrc?: string;
16
+ /**
17
+ * Color of the image background.
18
+ */
19
+ imageBgColor?: string;
20
+ /**
21
+ * Size of the padding to be applied to the image section of the
22
+ * component. You can pass an object with 'top', 'bottom', 'left'
23
+ * and 'right' properties in order to specify different padding sizes.
24
+ */
25
+ imagePadding?: Space | Size;
26
+ /**
27
+ * Whether the image should appear in relation to the content.
28
+ */
29
+ imagePosition?: "before" | "after";
30
+ /**
31
+ * If defined, the tag will be displayed as an anchor, using this prop
32
+ * as "href". Component will show some visual feedback on hover.
33
+ */
34
+ linkHref?: string;
35
+ /**
36
+ * This function will be called when the user clicks the card. Component
37
+ * will show some visual feedback on hover.
38
+ */
39
+ onClick?: () => void;
40
+ /**
41
+ * Whether the image must cover the whole image area of the card.
42
+ */
43
+ imageCover?: boolean;
44
+ /**
45
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
46
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
47
+ */
48
+ margin?: Space | Size;
49
+ /**
50
+ * Value of the tabindex attribute applied when the component is clickable.
51
+ */
52
+ tabIndex?: number;
53
+ /**
54
+ * Determines whether or not the component should have an outline.
55
+ */
56
+ outlined?: boolean;
57
+ /**
58
+ * Custom content that will be placed inside the component.
59
+ */
60
+ children?: React.ReactNode;
61
+ };
62
+ export default Props;
package/card/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import CheckboxPropsType from "./types";
3
+ declare const DxcCheckbox: React.ForwardRefExoticComponent<CheckboxPropsType & React.RefAttributes<HTMLDivElement>>;
4
+ export default DxcCheckbox;