@dxc-technology/halstack-react 0.0.0-0b14645 → 0.0.0-0b2a880

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 (485) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1248 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +106 -224
  9. package/accordion/Accordion.stories.tsx +251 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +57 -0
  12. package/accordion/types.js +5 -0
  13. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +52 -135
  16. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  17. package/accordion-group/AccordionGroup.test.js +98 -0
  18. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  19. package/accordion-group/AccordionGroupAccordion.js +31 -0
  20. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  21. package/accordion-group/AccordionGroupContext.js +8 -0
  22. package/accordion-group/types.d.ts +67 -0
  23. package/accordion-group/types.js +5 -0
  24. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  25. package/action-icon/ActionIcon.d.ts +4 -0
  26. package/action-icon/ActionIcon.js +48 -0
  27. package/action-icon/ActionIcon.stories.tsx +41 -0
  28. package/action-icon/ActionIcon.test.js +64 -0
  29. package/action-icon/types.d.ts +26 -0
  30. package/action-icon/types.js +5 -0
  31. package/alert/Alert.accessibility.test.js +95 -0
  32. package/alert/Alert.d.ts +4 -0
  33. package/alert/Alert.js +36 -145
  34. package/alert/Alert.stories.tsx +198 -0
  35. package/alert/Alert.test.js +75 -0
  36. package/alert/types.d.ts +49 -0
  37. package/alert/types.js +5 -0
  38. package/badge/Badge.accessibility.test.js +129 -0
  39. package/badge/Badge.d.ts +4 -0
  40. package/badge/Badge.js +142 -40
  41. package/badge/Badge.stories.tsx +210 -0
  42. package/badge/Badge.test.js +30 -0
  43. package/badge/types.d.ts +54 -0
  44. package/badge/types.js +5 -0
  45. package/bleed/Bleed.d.ts +3 -0
  46. package/bleed/Bleed.js +43 -0
  47. package/bleed/Bleed.stories.tsx +342 -0
  48. package/bleed/types.d.ts +37 -0
  49. package/bleed/types.js +5 -0
  50. package/box/Box.accessibility.test.js +33 -0
  51. package/box/Box.d.ts +4 -0
  52. package/box/Box.js +32 -109
  53. package/box/Box.stories.tsx +119 -0
  54. package/box/Box.test.js +13 -0
  55. package/box/types.d.ts +32 -0
  56. package/box/types.js +5 -0
  57. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  58. package/bulleted-list/BulletedList.d.ts +7 -0
  59. package/bulleted-list/BulletedList.js +92 -0
  60. package/bulleted-list/BulletedList.stories.tsx +115 -0
  61. package/bulleted-list/types.d.ts +38 -0
  62. package/bulleted-list/types.js +5 -0
  63. package/button/Button.accessibility.test.js +127 -0
  64. package/button/Button.d.ts +1 -1
  65. package/button/Button.js +65 -126
  66. package/button/Button.stories.tsx +313 -294
  67. package/button/Button.test.js +38 -0
  68. package/button/types.d.ts +18 -18
  69. package/card/Card.accessibility.test.js +36 -0
  70. package/card/Card.d.ts +4 -0
  71. package/card/Card.js +59 -139
  72. package/card/Card.stories.tsx +171 -0
  73. package/card/Card.test.js +39 -0
  74. package/card/types.d.ts +62 -0
  75. package/card/types.js +5 -0
  76. package/checkbox/Checkbox.accessibility.test.js +87 -0
  77. package/checkbox/Checkbox.d.ts +2 -2
  78. package/checkbox/Checkbox.js +145 -183
  79. package/checkbox/Checkbox.stories.tsx +222 -0
  80. package/checkbox/Checkbox.test.js +199 -0
  81. package/checkbox/types.d.ts +20 -9
  82. package/chip/Chip.accessibility.test.js +67 -0
  83. package/chip/Chip.d.ts +4 -0
  84. package/chip/Chip.js +49 -146
  85. package/chip/Chip.stories.tsx +195 -0
  86. package/chip/Chip.test.js +41 -0
  87. package/chip/types.d.ts +45 -0
  88. package/chip/types.js +5 -0
  89. package/common/coreTokens.d.ts +237 -0
  90. package/common/coreTokens.js +184 -0
  91. package/common/utils.d.ts +1 -0
  92. package/common/utils.js +6 -12
  93. package/common/variables.d.ts +1394 -0
  94. package/common/variables.js +1035 -1338
  95. package/container/Container.d.ts +4 -0
  96. package/container/Container.js +194 -0
  97. package/container/Container.stories.tsx +214 -0
  98. package/container/types.d.ts +74 -0
  99. package/container/types.js +5 -0
  100. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  101. package/contextual-menu/ContextualMenu.d.ts +5 -0
  102. package/contextual-menu/ContextualMenu.js +88 -0
  103. package/contextual-menu/ContextualMenu.stories.tsx +219 -0
  104. package/contextual-menu/ContextualMenu.test.js +205 -0
  105. package/contextual-menu/GroupItem.d.ts +4 -0
  106. package/contextual-menu/GroupItem.js +67 -0
  107. package/contextual-menu/ItemAction.d.ts +4 -0
  108. package/contextual-menu/ItemAction.js +52 -0
  109. package/contextual-menu/MenuItem.d.ts +4 -0
  110. package/contextual-menu/MenuItem.js +29 -0
  111. package/contextual-menu/SingleItem.d.ts +4 -0
  112. package/contextual-menu/SingleItem.js +38 -0
  113. package/contextual-menu/types.d.ts +58 -0
  114. package/contextual-menu/types.js +5 -0
  115. package/date-input/Calendar.d.ts +4 -0
  116. package/date-input/Calendar.js +214 -0
  117. package/date-input/DateInput.accessibility.test.js +216 -0
  118. package/date-input/DateInput.d.ts +4 -0
  119. package/date-input/DateInput.js +174 -348
  120. package/date-input/DateInput.stories.tsx +285 -0
  121. package/date-input/DateInput.test.js +808 -0
  122. package/date-input/DatePicker.d.ts +4 -0
  123. package/date-input/DatePicker.js +121 -0
  124. package/date-input/YearPicker.d.ts +4 -0
  125. package/date-input/YearPicker.js +100 -0
  126. package/date-input/types.d.ts +164 -0
  127. package/date-input/types.js +5 -0
  128. package/dialog/Dialog.accessibility.test.js +69 -0
  129. package/dialog/Dialog.d.ts +4 -0
  130. package/dialog/Dialog.js +57 -149
  131. package/dialog/Dialog.stories.tsx +365 -0
  132. package/dialog/Dialog.test.js +307 -0
  133. package/dialog/types.d.ts +36 -0
  134. package/dialog/types.js +5 -0
  135. package/divider/Divider.accessibility.test.js +33 -0
  136. package/divider/Divider.d.ts +4 -0
  137. package/divider/Divider.js +36 -0
  138. package/divider/Divider.stories.tsx +223 -0
  139. package/divider/Divider.test.js +38 -0
  140. package/divider/types.d.ts +21 -0
  141. package/divider/types.js +5 -0
  142. package/dropdown/Dropdown.accessibility.test.js +180 -0
  143. package/dropdown/Dropdown.d.ts +4 -0
  144. package/dropdown/Dropdown.js +233 -364
  145. package/dropdown/Dropdown.stories.tsx +427 -0
  146. package/dropdown/Dropdown.test.js +599 -0
  147. package/dropdown/DropdownMenu.d.ts +4 -0
  148. package/dropdown/DropdownMenu.js +63 -0
  149. package/dropdown/DropdownMenuItem.d.ts +4 -0
  150. package/dropdown/DropdownMenuItem.js +70 -0
  151. package/dropdown/types.d.ts +96 -0
  152. package/dropdown/types.js +5 -0
  153. package/file-input/FileInput.accessibility.test.js +160 -0
  154. package/file-input/FileInput.d.ts +4 -0
  155. package/file-input/FileInput.js +274 -363
  156. package/file-input/FileInput.stories.tsx +618 -0
  157. package/file-input/FileInput.test.js +382 -0
  158. package/file-input/FileItem.d.ts +4 -0
  159. package/file-input/FileItem.js +61 -133
  160. package/file-input/types.d.ts +129 -0
  161. package/file-input/types.js +5 -0
  162. package/flex/Flex.d.ts +4 -0
  163. package/flex/Flex.js +57 -0
  164. package/flex/Flex.stories.tsx +112 -0
  165. package/flex/types.d.ts +97 -0
  166. package/flex/types.js +5 -0
  167. package/footer/Footer.accessibility.test.js +117 -0
  168. package/footer/Footer.d.ts +4 -0
  169. package/footer/Footer.js +75 -232
  170. package/footer/Footer.stories.tsx +196 -0
  171. package/footer/Footer.test.js +85 -0
  172. package/footer/Icons.d.ts +3 -0
  173. package/footer/Icons.js +67 -8
  174. package/footer/types.d.ts +64 -0
  175. package/footer/types.js +5 -0
  176. package/grid/Grid.d.ts +7 -0
  177. package/grid/Grid.js +76 -0
  178. package/grid/Grid.stories.tsx +219 -0
  179. package/grid/types.d.ts +115 -0
  180. package/grid/types.js +5 -0
  181. package/header/Header.accessibility.test.js +84 -0
  182. package/header/Header.d.ts +8 -0
  183. package/header/Header.js +104 -221
  184. package/header/Header.stories.tsx +251 -0
  185. package/header/Header.test.js +66 -0
  186. package/header/Icons.d.ts +2 -0
  187. package/header/Icons.js +5 -35
  188. package/header/types.d.ts +33 -0
  189. package/header/types.js +5 -0
  190. package/heading/Heading.accessibility.test.js +33 -0
  191. package/heading/Heading.d.ts +4 -0
  192. package/heading/Heading.js +16 -55
  193. package/heading/Heading.stories.tsx +54 -0
  194. package/heading/Heading.test.js +169 -0
  195. package/heading/types.d.ts +33 -0
  196. package/heading/types.js +5 -0
  197. package/icon/Icon.accessibility.test.js +30 -0
  198. package/icon/Icon.d.ts +4 -0
  199. package/icon/Icon.js +33 -0
  200. package/icon/Icon.stories.tsx +28 -0
  201. package/icon/types.d.ts +4 -0
  202. package/icon/types.js +5 -0
  203. package/image/Image.accessibility.test.js +56 -0
  204. package/image/Image.d.ts +4 -0
  205. package/image/Image.js +70 -0
  206. package/image/Image.stories.tsx +129 -0
  207. package/image/types.d.ts +72 -0
  208. package/image/types.js +5 -0
  209. package/inset/Inset.d.ts +3 -0
  210. package/inset/Inset.js +43 -0
  211. package/inset/Inset.stories.tsx +230 -0
  212. package/inset/types.d.ts +37 -0
  213. package/inset/types.js +5 -0
  214. package/layout/ApplicationLayout.d.ts +20 -0
  215. package/layout/ApplicationLayout.js +86 -184
  216. package/layout/ApplicationLayout.stories.tsx +162 -0
  217. package/layout/Icons.d.ts +7 -0
  218. package/layout/Icons.js +41 -48
  219. package/layout/types.d.ts +41 -0
  220. package/layout/types.js +5 -0
  221. package/link/Link.accessibility.test.js +112 -0
  222. package/link/Link.d.ts +4 -0
  223. package/link/Link.js +65 -131
  224. package/link/Link.stories.tsx +253 -0
  225. package/link/Link.test.js +63 -0
  226. package/link/types.d.ts +54 -0
  227. package/link/types.js +5 -0
  228. package/main.d.ts +19 -14
  229. package/main.js +92 -98
  230. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  231. package/nav-tabs/NavTabs.d.ts +7 -0
  232. package/nav-tabs/NavTabs.js +93 -0
  233. package/nav-tabs/NavTabs.stories.tsx +279 -0
  234. package/nav-tabs/NavTabs.test.js +75 -0
  235. package/nav-tabs/NavTabsContext.d.ts +3 -0
  236. package/nav-tabs/NavTabsContext.js +8 -0
  237. package/nav-tabs/Tab.d.ts +4 -0
  238. package/nav-tabs/Tab.js +117 -0
  239. package/nav-tabs/types.d.ts +52 -0
  240. package/nav-tabs/types.js +5 -0
  241. package/number-input/NumberInput.accessibility.test.js +228 -0
  242. package/number-input/NumberInput.d.ts +4 -0
  243. package/number-input/NumberInput.js +48 -90
  244. package/number-input/NumberInput.stories.tsx +131 -0
  245. package/number-input/NumberInput.test.js +989 -0
  246. package/number-input/NumberInputContext.d.ts +3 -0
  247. package/number-input/NumberInputContext.js +3 -11
  248. package/number-input/types.d.ts +136 -0
  249. package/number-input/types.js +5 -0
  250. package/package.json +52 -51
  251. package/paginator/Paginator.accessibility.test.js +79 -0
  252. package/paginator/Paginator.js +39 -103
  253. package/paginator/Paginator.stories.tsx +87 -0
  254. package/paginator/Paginator.test.js +335 -0
  255. package/paginator/types.d.ts +3 -3
  256. package/paragraph/Paragraph.accessibility.test.js +28 -0
  257. package/paragraph/Paragraph.d.ts +5 -0
  258. package/paragraph/Paragraph.js +22 -0
  259. package/paragraph/Paragraph.stories.tsx +27 -0
  260. package/password-input/PasswordInput.accessibility.test.js +153 -0
  261. package/password-input/PasswordInput.d.ts +4 -0
  262. package/password-input/PasswordInput.js +59 -162
  263. package/password-input/PasswordInput.stories.tsx +99 -0
  264. package/password-input/PasswordInput.test.js +198 -0
  265. package/password-input/types.d.ts +111 -0
  266. package/password-input/types.js +5 -0
  267. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  268. package/progress-bar/ProgressBar.d.ts +4 -0
  269. package/progress-bar/ProgressBar.js +67 -111
  270. package/progress-bar/ProgressBar.stories.tsx +93 -0
  271. package/progress-bar/ProgressBar.test.js +93 -0
  272. package/progress-bar/types.d.ts +37 -0
  273. package/progress-bar/types.js +5 -0
  274. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  275. package/quick-nav/QuickNav.d.ts +4 -0
  276. package/quick-nav/QuickNav.js +94 -0
  277. package/quick-nav/QuickNav.stories.tsx +356 -0
  278. package/quick-nav/types.d.ts +21 -0
  279. package/quick-nav/types.js +5 -0
  280. package/radio-group/Radio.d.ts +4 -0
  281. package/radio-group/Radio.js +124 -0
  282. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  283. package/radio-group/RadioGroup.d.ts +4 -0
  284. package/radio-group/RadioGroup.js +235 -0
  285. package/radio-group/RadioGroup.stories.tsx +214 -0
  286. package/radio-group/RadioGroup.test.js +756 -0
  287. package/radio-group/types.d.ts +114 -0
  288. package/radio-group/types.js +5 -0
  289. package/resultset-table/Icons.d.ts +7 -0
  290. package/resultset-table/Icons.js +47 -0
  291. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  292. package/resultset-table/ResultsetTable.d.ts +7 -0
  293. package/resultset-table/ResultsetTable.js +170 -0
  294. package/resultset-table/ResultsetTable.stories.tsx +401 -0
  295. package/resultset-table/ResultsetTable.test.js +381 -0
  296. package/resultset-table/types.d.ts +100 -0
  297. package/resultset-table/types.js +5 -0
  298. package/select/Listbox.d.ts +4 -0
  299. package/select/Listbox.js +145 -0
  300. package/select/Option.d.ts +4 -0
  301. package/select/Option.js +88 -0
  302. package/select/Select.accessibility.test.js +217 -0
  303. package/select/Select.d.ts +4 -0
  304. package/select/Select.js +248 -515
  305. package/select/Select.stories.tsx +907 -0
  306. package/select/Select.test.js +2276 -0
  307. package/select/types.d.ts +209 -0
  308. package/select/types.js +5 -0
  309. package/sidenav/Sidenav.accessibility.test.js +59 -0
  310. package/sidenav/Sidenav.d.ts +10 -0
  311. package/sidenav/Sidenav.js +137 -81
  312. package/sidenav/Sidenav.stories.tsx +277 -0
  313. package/sidenav/Sidenav.test.js +37 -0
  314. package/sidenav/SidenavContext.d.ts +5 -0
  315. package/sidenav/SidenavContext.js +13 -0
  316. package/sidenav/types.d.ts +76 -0
  317. package/sidenav/types.js +5 -0
  318. package/slider/Slider.accessibility.test.js +104 -0
  319. package/slider/Slider.d.ts +4 -0
  320. package/slider/Slider.js +165 -220
  321. package/slider/Slider.test.js +254 -0
  322. package/slider/types.d.ts +86 -0
  323. package/slider/types.js +5 -0
  324. package/spinner/Spinner.accessibility.test.js +96 -0
  325. package/spinner/Spinner.d.ts +4 -0
  326. package/spinner/Spinner.js +38 -99
  327. package/spinner/Spinner.stories.tsx +129 -0
  328. package/spinner/Spinner.test.js +55 -0
  329. package/spinner/types.d.ts +32 -0
  330. package/spinner/types.js +5 -0
  331. package/status-light/StatusLight.accessibility.test.js +157 -0
  332. package/status-light/StatusLight.d.ts +4 -0
  333. package/status-light/StatusLight.js +51 -0
  334. package/status-light/StatusLight.stories.tsx +74 -0
  335. package/status-light/StatusLight.test.js +25 -0
  336. package/status-light/types.d.ts +17 -0
  337. package/status-light/types.js +5 -0
  338. package/switch/Switch.accessibility.test.js +89 -0
  339. package/switch/Switch.d.ts +4 -0
  340. package/switch/Switch.js +150 -144
  341. package/switch/Switch.stories.tsx +137 -0
  342. package/switch/Switch.test.js +180 -0
  343. package/switch/types.d.ts +66 -0
  344. package/switch/types.js +5 -0
  345. package/table/DropdownTheme.js +62 -0
  346. package/table/Table.accessibility.test.js +82 -0
  347. package/table/Table.d.ts +8 -0
  348. package/table/Table.js +80 -37
  349. package/table/Table.stories.tsx +651 -0
  350. package/table/Table.test.js +113 -0
  351. package/table/types.d.ts +49 -0
  352. package/table/types.js +5 -0
  353. package/tabs/Tab.d.ts +4 -0
  354. package/tabs/Tab.js +117 -0
  355. package/tabs/Tabs.accessibility.test.js +56 -0
  356. package/tabs/Tabs.d.ts +4 -0
  357. package/tabs/Tabs.js +308 -194
  358. package/tabs/Tabs.stories.tsx +224 -0
  359. package/tabs/Tabs.test.js +276 -0
  360. package/tabs/types.d.ts +92 -0
  361. package/tabs/types.js +5 -0
  362. package/tag/Tag.accessibility.test.js +69 -0
  363. package/tag/Tag.d.ts +4 -0
  364. package/tag/Tag.js +55 -112
  365. package/tag/Tag.stories.tsx +152 -0
  366. package/tag/Tag.test.js +41 -0
  367. package/tag/types.d.ts +69 -0
  368. package/tag/types.js +5 -0
  369. package/text-input/Suggestion.d.ts +4 -0
  370. package/text-input/Suggestion.js +67 -0
  371. package/text-input/Suggestions.d.ts +4 -0
  372. package/text-input/Suggestions.js +86 -0
  373. package/text-input/TextInput.accessibility.test.js +321 -0
  374. package/text-input/TextInput.d.ts +4 -0
  375. package/text-input/TextInput.js +335 -593
  376. package/text-input/TextInput.stories.tsx +465 -0
  377. package/text-input/TextInput.test.js +1756 -0
  378. package/text-input/types.d.ts +205 -0
  379. package/text-input/types.js +5 -0
  380. package/textarea/Textarea.accessibility.test.js +155 -0
  381. package/textarea/Textarea.d.ts +4 -0
  382. package/textarea/Textarea.js +98 -181
  383. package/textarea/Textarea.stories.tsx +174 -0
  384. package/textarea/Textarea.test.js +406 -0
  385. package/textarea/types.d.ts +141 -0
  386. package/textarea/types.js +5 -0
  387. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  388. package/toggle-group/ToggleGroup.d.ts +4 -0
  389. package/toggle-group/ToggleGroup.js +101 -142
  390. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  391. package/toggle-group/ToggleGroup.test.js +137 -0
  392. package/toggle-group/types.d.ts +114 -0
  393. package/toggle-group/types.js +5 -0
  394. package/typography/Typography.accessibility.test.js +339 -0
  395. package/typography/Typography.d.ts +4 -0
  396. package/typography/Typography.js +23 -0
  397. package/typography/Typography.stories.tsx +198 -0
  398. package/typography/types.d.ts +18 -0
  399. package/typography/types.js +5 -0
  400. package/useTheme.d.ts +1147 -0
  401. package/useTheme.js +4 -11
  402. package/useTranslatedLabels.d.ts +85 -0
  403. package/useTranslatedLabels.js +14 -0
  404. package/utils/BaseTypography.d.ts +21 -0
  405. package/utils/BaseTypography.js +94 -0
  406. package/utils/FocusLock.d.ts +13 -0
  407. package/utils/FocusLock.js +124 -0
  408. package/wizard/Wizard.accessibility.test.js +55 -0
  409. package/wizard/Wizard.d.ts +4 -0
  410. package/wizard/Wizard.js +130 -154
  411. package/wizard/Wizard.stories.tsx +272 -0
  412. package/wizard/Wizard.test.js +114 -0
  413. package/wizard/types.d.ts +64 -0
  414. package/wizard/types.js +5 -0
  415. package/ThemeContext.js +0 -246
  416. package/V3Select/V3Select.js +0 -455
  417. package/V3Select/index.d.ts +0 -27
  418. package/V3Textarea/V3Textarea.js +0 -260
  419. package/V3Textarea/index.d.ts +0 -27
  420. package/accordion/index.d.ts +0 -28
  421. package/accordion-group/index.d.ts +0 -16
  422. package/alert/index.d.ts +0 -51
  423. package/box/index.d.ts +0 -25
  424. package/card/index.d.ts +0 -22
  425. package/chip/index.d.ts +0 -22
  426. package/common/OpenSans.css +0 -81
  427. package/common/RequiredComponent.js +0 -32
  428. package/common/fonts/OpenSans-Bold.ttf +0 -0
  429. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  430. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  431. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  432. package/common/fonts/OpenSans-Italic.ttf +0 -0
  433. package/common/fonts/OpenSans-Light.ttf +0 -0
  434. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  435. package/common/fonts/OpenSans-Regular.ttf +0 -0
  436. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  437. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  438. package/date/Date.js +0 -373
  439. package/date/index.d.ts +0 -27
  440. package/date-input/index.d.ts +0 -95
  441. package/dialog/index.d.ts +0 -18
  442. package/dropdown/index.d.ts +0 -26
  443. package/file-input/index.d.ts +0 -81
  444. package/footer/index.d.ts +0 -25
  445. package/header/index.d.ts +0 -25
  446. package/heading/index.d.ts +0 -17
  447. package/input-text/Icons.js +0 -22
  448. package/input-text/InputText.js +0 -611
  449. package/input-text/index.d.ts +0 -36
  450. package/link/index.d.ts +0 -23
  451. package/number-input/index.d.ts +0 -113
  452. package/paginator/Icons.js +0 -66
  453. package/password-input/index.d.ts +0 -94
  454. package/progress-bar/index.d.ts +0 -18
  455. package/radio/Radio.js +0 -195
  456. package/radio/index.d.ts +0 -23
  457. package/resultsetTable/ResultsetTable.js +0 -274
  458. package/resultsetTable/index.d.ts +0 -19
  459. package/select/index.d.ts +0 -131
  460. package/sidenav/index.d.ts +0 -13
  461. package/slider/index.d.ts +0 -29
  462. package/spinner/index.d.ts +0 -17
  463. package/switch/index.d.ts +0 -24
  464. package/table/index.d.ts +0 -13
  465. package/tabs/index.d.ts +0 -19
  466. package/tag/index.d.ts +0 -24
  467. package/text-input/index.d.ts +0 -135
  468. package/textarea/index.d.ts +0 -117
  469. package/toggle/Toggle.js +0 -186
  470. package/toggle/index.d.ts +0 -21
  471. package/toggle-group/index.d.ts +0 -21
  472. package/upload/Upload.js +0 -201
  473. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  474. package/upload/buttons-upload/Icons.js +0 -40
  475. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  476. package/upload/dragAndDropArea/Icons.js +0 -39
  477. package/upload/file-upload/FileToUpload.js +0 -115
  478. package/upload/file-upload/Icons.js +0 -66
  479. package/upload/files-upload/FilesToUpload.js +0 -109
  480. package/upload/index.d.ts +0 -15
  481. package/upload/transaction/Icons.js +0 -160
  482. package/upload/transaction/Transaction.js +0 -104
  483. package/upload/transactions/Transactions.js +0 -94
  484. package/wizard/Icons.js +0 -65
  485. package/wizard/index.d.ts +0 -18
package/button/types.d.ts CHANGED
@@ -1,19 +1,19 @@
1
- declare type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
1
+ /// <reference types="react" />
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type SVG = string | (HTMLElement & SVGElement);
10
- declare type Props = {
9
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ type Props = {
11
11
  /**
12
- * Text to be placed next to the button.
12
+ * Text to be placed in the button.
13
13
  */
14
14
  label?: string;
15
15
  /**
16
- * Uses one of the available button modes.
16
+ * The available button modes.
17
17
  */
18
18
  mode?: "primary" | "secondary" | "text";
19
19
  /**
@@ -25,32 +25,32 @@ declare type Props = {
25
25
  */
26
26
  iconPosition?: "before" | "after";
27
27
  /**
28
- * This prop corresponds to the 'type' prop of the button in html.
28
+ * Value for the HTML properties title and aria-label.
29
29
  */
30
- type?: "button" | "reset" | "submit";
30
+ title?: string;
31
31
  /**
32
- * DEPRECATED. URL of the icon that will be placed next to the button label.
32
+ * 'type' html prop of the button.
33
33
  */
34
- iconSrc?: string;
34
+ type?: "button" | "reset" | "submit";
35
35
  /**
36
- * Element used as the icon that will be placed next to the button label.
36
+ * Material Symbol name or SVG element as the icon that will be placed next to the label.
37
37
  */
38
- icon?: SVG;
38
+ icon?: string | SVG;
39
39
  /**
40
- * This function will be called when the user clicks the button. The event object will be passed as a parameter.
40
+ * This function will be called when the user clicks the button.
41
41
  */
42
- onClick?: any;
42
+ onClick?: () => void;
43
43
  /**
44
44
  * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
45
45
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
46
46
  */
47
47
  margin?: Space | Margin;
48
48
  /**
49
- * Size of the component ('small' | 'medium' | 'large' | 'fillParent' | 'fitContent').
49
+ * Size of the component.
50
50
  */
51
- size?: Size;
51
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
52
52
  /**
53
- * Value of the tabindex.
53
+ * Value of the tabindex attribute.
54
54
  */
55
55
  tabIndex?: number;
56
56
  };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _Card = _interopRequireDefault(require("./Card.tsx"));
10
+ describe("Card component accessibility tests", function () {
11
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
12
+ var _render, container, results;
13
+ return _regenerator["default"].wrap(function _callee$(_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
17
+ linkHref: "https://www.dxc.com",
18
+ imageSrc: "https://picsum.photos/id/1022/200/300",
19
+ imagePosition: "after",
20
+ imagePadding: "xsmall",
21
+ margin: "medium",
22
+ imageBgColor: "yellow",
23
+ imageCover: true
24
+ }, "test-card")), container = _render.container;
25
+ _context.next = 3;
26
+ return (0, _jestAxe.axe)(container);
27
+ case 3:
28
+ results = _context.sent;
29
+ expect(results).toHaveNoViolations();
30
+ case 5:
31
+ case "end":
32
+ return _context.stop();
33
+ }
34
+ }, _callee);
35
+ })));
36
+ });
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, tabIndex, outlined, children, }: CardPropsType) => JSX.Element;
4
+ export default DxcCard;
package/card/Card.js CHANGED
@@ -1,80 +1,46 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
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
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
33
-
34
- 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); }
35
-
36
- 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; }
37
-
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 && {}.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; }
38
20
  var DxcCard = function DxcCard(_ref) {
39
21
  var imageSrc = _ref.imageSrc,
40
- children = _ref.children,
41
- margin = _ref.margin,
42
- contentPadding = _ref.contentPadding,
43
- linkHref = _ref.linkHref,
44
- onClick = _ref.onClick,
45
- imageBgColor = _ref.imageBgColor,
46
- imagePadding = _ref.imagePadding,
47
- imagePosition = _ref.imagePosition,
48
- outlined = _ref.outlined,
49
- imageCover = _ref.imageCover,
50
- _ref$tabIndex = _ref.tabIndex,
51
- 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;
52
37
  var colorsTheme = (0, _useTheme["default"])();
53
-
54
38
  var _useState = (0, _react.useState)(false),
55
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
56
- isHovered = _useState2[0],
57
- changeIsHovered = _useState2[1];
58
-
59
- var tagContent = /*#__PURE__*/_react["default"].createElement(_Box["default"], {
60
- shadowDepth: outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
61
- }, /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
62
- theme: colorsTheme.card
63
- }, /*#__PURE__*/_react["default"].createElement(CardContainer, {
64
- hasAction: onClick || linkHref,
65
- outlined: outlined,
66
- imagePosition: imagePosition
67
- }, imageSrc && /*#__PURE__*/_react["default"].createElement(ImageContainer, {
68
- imageBgColor: imageBgColor
69
- }, /*#__PURE__*/_react["default"].createElement(TagImage, {
70
- imagePadding: imagePadding,
71
- cover: imageCover,
72
- src: imageSrc
73
- })), /*#__PURE__*/_react["default"].createElement(CardContent, {
74
- contentPadding: contentPadding
75
- }, children))));
76
-
77
- return /*#__PURE__*/_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,
78
44
  margin: margin,
79
45
  onMouseEnter: function onMouseEnter() {
80
46
  return changeIsHovered(true);
@@ -83,15 +49,25 @@ var DxcCard = function DxcCard(_ref) {
83
49
  return changeIsHovered(false);
84
50
  },
85
51
  onClick: onClick,
86
- hasAction: onClick,
87
- tabIndex: typeof onClick === "function" && !linkHref ? tabIndex : -1
88
- }, linkHref && /*#__PURE__*/_react["default"].createElement(StyledLink, {
89
- tabIndex: tabIndex,
52
+ tabIndex: onClick || linkHref ? tabIndex : -1,
53
+ as: linkHref && "a",
90
54
  href: linkHref
91
- }, 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)))));
92
69
  };
93
-
94
- 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"])), 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) {
95
71
  var hasAction = _ref2.hasAction;
96
72
  return hasAction && "pointer" || "unset";
97
73
  }, function (_ref3) {
@@ -102,21 +78,22 @@ var StyledDxcCard = _styledComponents["default"].div(_templateObject || (_templa
102
78
  return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
103
79
  }, function (_ref5) {
104
80
  var margin = _ref5.margin;
105
- return margin && margin.top ? _variables.spaces[margin.top] : "";
81
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
106
82
  }, function (_ref6) {
107
83
  var margin = _ref6.margin;
108
- return margin && margin.right ? _variables.spaces[margin.right] : "";
84
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
109
85
  }, function (_ref7) {
110
86
  var margin = _ref7.margin;
111
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
87
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
112
88
  }, function (_ref8) {
113
89
  var margin = _ref8.margin;
114
- 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 }";
115
94
  });
116
-
117
- 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 (_ref9) {
118
- var imagePosition = _ref9.imagePosition;
119
- 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";
120
97
  }, function (props) {
121
98
  return props.theme.height;
122
99
  }, function (props) {
@@ -125,76 +102,19 @@ var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templ
125
102
  var hasAction = _ref10.hasAction;
126
103
  return hasAction ? "" : "unset";
127
104
  });
128
-
129
- var StyledLink = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n text-decoration: none;\n"])));
130
-
131
- var TagImage = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
105
+ var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
132
106
  var imagePadding = _ref11.imagePadding;
133
- 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], ")");
134
108
  }, function (_ref12) {
135
109
  var imagePadding = _ref12.imagePadding;
136
- 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], ")");
137
111
  }, function (_ref13) {
138
- var cover = _ref13.cover;
139
- return cover ? "cover" : "contain";
112
+ var imageCover = _ref13.imageCover;
113
+ return imageCover ? "cover" : "contain";
140
114
  });
141
-
142
- var ImageContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (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) {
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) {
143
116
  var imageBgColor = _ref14.imageBgColor;
144
117
  return imageBgColor;
145
118
  });
146
-
147
- var CardContent = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (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) {
148
- var contentPadding = _ref15.contentPadding;
149
- return contentPadding && (0, _typeof2["default"])(contentPadding) !== "object" ? _variables.spaces[contentPadding] : "0px";
150
- }, function (_ref16) {
151
- var contentPadding = _ref16.contentPadding;
152
- return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.top ? _variables.spaces[contentPadding.top] : "";
153
- }, function (_ref17) {
154
- var contentPadding = _ref17.contentPadding;
155
- return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.right ? _variables.spaces[contentPadding.right] : "";
156
- }, function (_ref18) {
157
- var contentPadding = _ref18.contentPadding;
158
- return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.bottom ? _variables.spaces[contentPadding.bottom] : "";
159
- }, function (_ref19) {
160
- var contentPadding = _ref19.contentPadding;
161
- return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.left ? _variables.spaces[contentPadding.left] : "";
162
- });
163
-
164
- DxcCard.propTypes = {
165
- imageSrc: _propTypes["default"].string,
166
- imageBgColor: _propTypes["default"].string,
167
- imagePadding: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces))),
168
- imagePosition: _propTypes["default"].oneOf(["before", "after"]),
169
- linkHref: _propTypes["default"].string,
170
- onClick: _propTypes["default"].func,
171
- outlined: _propTypes["default"].bool,
172
- imageCover: _propTypes["default"].bool,
173
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
174
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
175
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
176
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
177
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
178
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
179
- contentPadding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
180
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
181
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
182
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
183
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
184
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
185
- tabIndex: _propTypes["default"].number
186
- };
187
- DxcCard.defaultProps = {
188
- imageSrc: null,
189
- margin: null,
190
- contentPadding: null,
191
- outlined: false,
192
- imagePadding: null,
193
- imageCover: false,
194
- linkHref: null,
195
- onClick: null,
196
- imageBgColor: "black",
197
- imagePosition: "before"
198
- };
199
- var _default = DxcCard;
200
- 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
+ });