@dxc-technology/halstack-react 0.0.0-e9d5d69 → 0.0.0-ea9b3a2

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 (607) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +28 -47
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +169 -0
  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 +101 -0
  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 +200 -0
  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 +161 -0
  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 +75 -0
  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 +4 -0
  65. package/button/Button.js +121 -0
  66. package/button/Button.stories.tsx +325 -0
  67. package/button/Button.test.js +38 -0
  68. package/button/types.d.ts +57 -0
  69. package/button/types.js +5 -0
  70. package/card/Card.accessibility.test.js +36 -0
  71. package/card/Card.d.ts +4 -0
  72. package/card/Card.js +120 -0
  73. package/card/Card.stories.tsx +171 -0
  74. package/card/Card.test.js +39 -0
  75. package/card/types.d.ts +62 -0
  76. package/card/types.js +5 -0
  77. package/checkbox/Checkbox.accessibility.test.js +87 -0
  78. package/checkbox/Checkbox.d.ts +4 -0
  79. package/checkbox/Checkbox.js +215 -0
  80. package/checkbox/Checkbox.stories.tsx +222 -0
  81. package/checkbox/Checkbox.test.js +199 -0
  82. package/checkbox/types.d.ts +72 -0
  83. package/checkbox/types.js +5 -0
  84. package/chip/Chip.accessibility.test.js +67 -0
  85. package/chip/Chip.d.ts +4 -0
  86. package/chip/Chip.js +124 -0
  87. package/chip/Chip.stories.tsx +195 -0
  88. package/chip/Chip.test.js +41 -0
  89. package/chip/types.d.ts +45 -0
  90. package/chip/types.js +5 -0
  91. package/common/coreTokens.d.ts +237 -0
  92. package/common/coreTokens.js +184 -0
  93. package/common/utils.d.ts +1 -0
  94. package/common/utils.js +16 -0
  95. package/common/variables.d.ts +1395 -0
  96. package/common/variables.js +1267 -0
  97. package/container/Container.d.ts +4 -0
  98. package/container/Container.js +194 -0
  99. package/container/Container.stories.tsx +214 -0
  100. package/container/types.d.ts +74 -0
  101. package/container/types.js +5 -0
  102. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  103. package/contextual-menu/ContextualMenu.d.ts +7 -0
  104. package/contextual-menu/ContextualMenu.js +71 -0
  105. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  106. package/contextual-menu/ContextualMenu.test.js +71 -0
  107. package/contextual-menu/MenuItemAction.d.ts +4 -0
  108. package/contextual-menu/MenuItemAction.js +46 -0
  109. package/contextual-menu/types.d.ts +22 -0
  110. package/contextual-menu/types.js +5 -0
  111. package/date-input/Calendar.d.ts +4 -0
  112. package/date-input/Calendar.js +214 -0
  113. package/date-input/DateInput.accessibility.test.js +216 -0
  114. package/date-input/DateInput.d.ts +4 -0
  115. package/date-input/DateInput.js +223 -0
  116. package/date-input/DateInput.stories.tsx +285 -0
  117. package/date-input/DateInput.test.js +808 -0
  118. package/date-input/DatePicker.d.ts +4 -0
  119. package/date-input/DatePicker.js +115 -0
  120. package/date-input/Icons.d.ts +6 -0
  121. package/date-input/Icons.js +58 -0
  122. package/date-input/YearPicker.d.ts +4 -0
  123. package/date-input/YearPicker.js +100 -0
  124. package/date-input/types.d.ts +164 -0
  125. package/date-input/types.js +5 -0
  126. package/dialog/Dialog.accessibility.test.js +69 -0
  127. package/dialog/Dialog.d.ts +4 -0
  128. package/dialog/Dialog.js +104 -0
  129. package/dialog/Dialog.stories.tsx +365 -0
  130. package/dialog/Dialog.test.js +307 -0
  131. package/dialog/types.d.ts +36 -0
  132. package/dialog/types.js +5 -0
  133. package/divider/Divider.accessibility.test.js +33 -0
  134. package/divider/Divider.d.ts +4 -0
  135. package/divider/Divider.js +36 -0
  136. package/divider/Divider.stories.tsx +223 -0
  137. package/divider/Divider.test.js +38 -0
  138. package/divider/types.d.ts +21 -0
  139. package/divider/types.js +5 -0
  140. package/dropdown/Dropdown.accessibility.test.js +180 -0
  141. package/dropdown/Dropdown.d.ts +4 -0
  142. package/dropdown/Dropdown.js +319 -0
  143. package/dropdown/Dropdown.stories.tsx +427 -0
  144. package/dropdown/Dropdown.test.js +599 -0
  145. package/dropdown/DropdownMenu.d.ts +4 -0
  146. package/dropdown/DropdownMenu.js +63 -0
  147. package/dropdown/DropdownMenuItem.d.ts +4 -0
  148. package/dropdown/DropdownMenuItem.js +70 -0
  149. package/dropdown/types.d.ts +96 -0
  150. package/dropdown/types.js +5 -0
  151. package/file-input/FileInput.accessibility.test.js +160 -0
  152. package/file-input/FileInput.d.ts +4 -0
  153. package/file-input/FileInput.js +443 -0
  154. package/file-input/FileInput.stories.tsx +618 -0
  155. package/file-input/FileInput.test.js +382 -0
  156. package/file-input/FileItem.d.ts +4 -0
  157. package/file-input/FileItem.js +121 -0
  158. package/file-input/types.d.ts +129 -0
  159. package/file-input/types.js +5 -0
  160. package/flex/Flex.d.ts +4 -0
  161. package/flex/Flex.js +57 -0
  162. package/flex/Flex.stories.tsx +112 -0
  163. package/flex/types.d.ts +97 -0
  164. package/flex/types.js +5 -0
  165. package/footer/Footer.accessibility.test.js +117 -0
  166. package/footer/Footer.d.ts +4 -0
  167. package/footer/Footer.js +140 -0
  168. package/footer/Footer.stories.tsx +196 -0
  169. package/footer/Footer.test.js +85 -0
  170. package/footer/Icons.d.ts +3 -0
  171. package/footer/Icons.js +136 -0
  172. package/footer/types.d.ts +64 -0
  173. package/footer/types.js +5 -0
  174. package/grid/Grid.d.ts +7 -0
  175. package/grid/Grid.js +76 -0
  176. package/grid/Grid.stories.tsx +219 -0
  177. package/grid/types.d.ts +115 -0
  178. package/grid/types.js +5 -0
  179. package/header/Header.accessibility.test.js +84 -0
  180. package/header/Header.d.ts +8 -0
  181. package/header/Header.js +209 -0
  182. package/header/Header.stories.tsx +251 -0
  183. package/header/Header.test.js +66 -0
  184. package/header/Icons.d.ts +2 -0
  185. package/header/Icons.js +29 -0
  186. package/header/types.d.ts +33 -0
  187. package/header/types.js +5 -0
  188. package/heading/Heading.accessibility.test.js +33 -0
  189. package/heading/Heading.d.ts +4 -0
  190. package/heading/Heading.js +137 -0
  191. package/heading/Heading.stories.tsx +54 -0
  192. package/heading/Heading.test.js +169 -0
  193. package/heading/types.d.ts +33 -0
  194. package/heading/types.js +5 -0
  195. package/icon/Icon.accessibility.test.js +30 -0
  196. package/icon/Icon.d.ts +4 -0
  197. package/icon/Icon.js +33 -0
  198. package/icon/Icon.stories.tsx +28 -0
  199. package/icon/types.d.ts +4 -0
  200. package/icon/types.js +5 -0
  201. package/image/Image.accessibility.test.js +56 -0
  202. package/image/Image.d.ts +4 -0
  203. package/image/Image.js +70 -0
  204. package/image/Image.stories.tsx +129 -0
  205. package/image/types.d.ts +72 -0
  206. package/image/types.js +5 -0
  207. package/inset/Inset.d.ts +3 -0
  208. package/inset/Inset.js +43 -0
  209. package/inset/Inset.stories.tsx +230 -0
  210. package/inset/types.d.ts +37 -0
  211. package/inset/types.js +5 -0
  212. package/layout/ApplicationLayout.d.ts +20 -0
  213. package/layout/ApplicationLayout.js +134 -0
  214. package/layout/ApplicationLayout.stories.tsx +162 -0
  215. package/layout/Icons.d.ts +8 -0
  216. package/layout/Icons.js +56 -0
  217. package/layout/types.d.ts +41 -0
  218. package/layout/types.js +5 -0
  219. package/link/Link.accessibility.test.js +112 -0
  220. package/link/Link.d.ts +4 -0
  221. package/link/Link.js +117 -0
  222. package/link/Link.stories.tsx +253 -0
  223. package/link/Link.test.js +63 -0
  224. package/link/types.d.ts +54 -0
  225. package/link/types.js +5 -0
  226. package/main.d.ts +49 -0
  227. package/{dist/main.js → main.js} +177 -99
  228. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  229. package/nav-tabs/NavTabs.d.ts +7 -0
  230. package/nav-tabs/NavTabs.js +93 -0
  231. package/nav-tabs/NavTabs.stories.tsx +276 -0
  232. package/nav-tabs/NavTabs.test.js +76 -0
  233. package/nav-tabs/NavTabsContext.d.ts +3 -0
  234. package/nav-tabs/NavTabsContext.js +8 -0
  235. package/nav-tabs/Tab.d.ts +4 -0
  236. package/nav-tabs/Tab.js +118 -0
  237. package/nav-tabs/types.d.ts +52 -0
  238. package/nav-tabs/types.js +5 -0
  239. package/number-input/NumberInput.accessibility.test.js +228 -0
  240. package/number-input/NumberInput.d.ts +4 -0
  241. package/number-input/NumberInput.js +86 -0
  242. package/number-input/NumberInput.stories.tsx +131 -0
  243. package/number-input/NumberInput.test.js +989 -0
  244. package/number-input/NumberInputContext.d.ts +3 -0
  245. package/number-input/NumberInputContext.js +8 -0
  246. package/number-input/types.d.ts +136 -0
  247. package/number-input/types.js +5 -0
  248. package/package.json +65 -50
  249. package/paginator/Icons.d.ts +5 -0
  250. package/paginator/Icons.js +40 -0
  251. package/paginator/Paginator.accessibility.test.js +79 -0
  252. package/paginator/Paginator.d.ts +4 -0
  253. package/paginator/Paginator.js +135 -0
  254. package/paginator/Paginator.stories.tsx +87 -0
  255. package/paginator/Paginator.test.js +335 -0
  256. package/paginator/types.d.ts +38 -0
  257. package/paginator/types.js +5 -0
  258. package/paragraph/Paragraph.accessibility.test.js +28 -0
  259. package/paragraph/Paragraph.d.ts +5 -0
  260. package/paragraph/Paragraph.js +22 -0
  261. package/paragraph/Paragraph.stories.tsx +27 -0
  262. package/password-input/Icons.d.ts +6 -0
  263. package/password-input/Icons.js +35 -0
  264. package/password-input/PasswordInput.accessibility.test.js +153 -0
  265. package/password-input/PasswordInput.d.ts +4 -0
  266. package/password-input/PasswordInput.js +97 -0
  267. package/password-input/PasswordInput.stories.tsx +99 -0
  268. package/password-input/PasswordInput.test.js +198 -0
  269. package/password-input/types.d.ts +111 -0
  270. package/password-input/types.js +5 -0
  271. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  272. package/progress-bar/ProgressBar.d.ts +4 -0
  273. package/progress-bar/ProgressBar.js +144 -0
  274. package/progress-bar/ProgressBar.stories.tsx +93 -0
  275. package/progress-bar/ProgressBar.test.js +93 -0
  276. package/progress-bar/types.d.ts +37 -0
  277. package/progress-bar/types.js +5 -0
  278. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  279. package/quick-nav/QuickNav.d.ts +4 -0
  280. package/quick-nav/QuickNav.js +94 -0
  281. package/quick-nav/QuickNav.stories.tsx +356 -0
  282. package/quick-nav/types.d.ts +21 -0
  283. package/quick-nav/types.js +5 -0
  284. package/radio-group/Radio.d.ts +4 -0
  285. package/radio-group/Radio.js +124 -0
  286. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  287. package/radio-group/RadioGroup.d.ts +4 -0
  288. package/radio-group/RadioGroup.js +235 -0
  289. package/radio-group/RadioGroup.stories.tsx +214 -0
  290. package/radio-group/RadioGroup.test.js +756 -0
  291. package/radio-group/types.d.ts +114 -0
  292. package/radio-group/types.js +5 -0
  293. package/resultset-table/Icons.d.ts +7 -0
  294. package/resultset-table/Icons.js +47 -0
  295. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  296. package/resultset-table/ResultsetTable.d.ts +7 -0
  297. package/resultset-table/ResultsetTable.js +170 -0
  298. package/resultset-table/ResultsetTable.stories.tsx +401 -0
  299. package/resultset-table/ResultsetTable.test.js +381 -0
  300. package/resultset-table/types.d.ts +100 -0
  301. package/resultset-table/types.js +5 -0
  302. package/select/Icons.d.ts +10 -0
  303. package/select/Icons.js +89 -0
  304. package/select/Listbox.d.ts +4 -0
  305. package/select/Listbox.js +143 -0
  306. package/select/Option.d.ts +4 -0
  307. package/select/Option.js +87 -0
  308. package/select/Select.accessibility.test.js +217 -0
  309. package/select/Select.d.ts +4 -0
  310. package/select/Select.js +590 -0
  311. package/select/Select.stories.tsx +970 -0
  312. package/select/Select.test.js +2370 -0
  313. package/select/types.d.ts +209 -0
  314. package/select/types.js +5 -0
  315. package/sidenav/Icons.d.ts +7 -0
  316. package/sidenav/Icons.js +47 -0
  317. package/sidenav/Sidenav.accessibility.test.js +59 -0
  318. package/sidenav/Sidenav.d.ts +10 -0
  319. package/sidenav/Sidenav.js +197 -0
  320. package/sidenav/Sidenav.stories.tsx +281 -0
  321. package/sidenav/Sidenav.test.js +37 -0
  322. package/sidenav/SidenavContext.d.ts +5 -0
  323. package/sidenav/SidenavContext.js +13 -0
  324. package/sidenav/types.d.ts +76 -0
  325. package/sidenav/types.js +5 -0
  326. package/slider/Slider.accessibility.test.js +104 -0
  327. package/slider/Slider.d.ts +4 -0
  328. package/slider/Slider.js +285 -0
  329. package/slider/Slider.test.js +254 -0
  330. package/slider/types.d.ts +86 -0
  331. package/slider/types.js +5 -0
  332. package/spinner/Spinner.accessibility.test.js +96 -0
  333. package/spinner/Spinner.d.ts +4 -0
  334. package/spinner/Spinner.js +206 -0
  335. package/spinner/Spinner.stories.tsx +129 -0
  336. package/spinner/Spinner.test.js +55 -0
  337. package/spinner/types.d.ts +32 -0
  338. package/spinner/types.js +5 -0
  339. package/status-light/StatusLight.accessibility.test.js +157 -0
  340. package/status-light/StatusLight.d.ts +4 -0
  341. package/status-light/StatusLight.js +51 -0
  342. package/status-light/StatusLight.stories.tsx +74 -0
  343. package/status-light/StatusLight.test.js +25 -0
  344. package/status-light/types.d.ts +17 -0
  345. package/status-light/types.js +5 -0
  346. package/switch/Switch.accessibility.test.js +89 -0
  347. package/switch/Switch.d.ts +4 -0
  348. package/switch/Switch.js +214 -0
  349. package/switch/Switch.stories.tsx +137 -0
  350. package/switch/Switch.test.js +180 -0
  351. package/switch/types.d.ts +66 -0
  352. package/switch/types.js +5 -0
  353. package/table/DropdownTheme.js +62 -0
  354. package/table/Table.accessibility.test.js +82 -0
  355. package/table/Table.d.ts +8 -0
  356. package/table/Table.js +161 -0
  357. package/table/Table.stories.tsx +651 -0
  358. package/table/Table.test.js +113 -0
  359. package/table/types.d.ts +49 -0
  360. package/table/types.js +5 -0
  361. package/tabs/Tab.d.ts +4 -0
  362. package/tabs/Tab.js +116 -0
  363. package/tabs/Tabs.accessibility.test.js +56 -0
  364. package/tabs/Tabs.d.ts +4 -0
  365. package/tabs/Tabs.js +384 -0
  366. package/tabs/Tabs.stories.tsx +226 -0
  367. package/tabs/Tabs.test.js +294 -0
  368. package/tabs/types.d.ts +92 -0
  369. package/tabs/types.js +5 -0
  370. package/tag/Tag.accessibility.test.js +69 -0
  371. package/tag/Tag.d.ts +4 -0
  372. package/tag/Tag.js +151 -0
  373. package/tag/Tag.stories.tsx +152 -0
  374. package/tag/Tag.test.js +41 -0
  375. package/tag/types.d.ts +69 -0
  376. package/tag/types.js +5 -0
  377. package/text-input/Suggestion.d.ts +4 -0
  378. package/text-input/Suggestion.js +67 -0
  379. package/text-input/Suggestions.d.ts +4 -0
  380. package/text-input/Suggestions.js +86 -0
  381. package/text-input/TextInput.accessibility.test.js +321 -0
  382. package/text-input/TextInput.d.ts +4 -0
  383. package/text-input/TextInput.js +567 -0
  384. package/text-input/TextInput.stories.tsx +465 -0
  385. package/text-input/TextInput.test.js +1756 -0
  386. package/text-input/types.d.ts +205 -0
  387. package/text-input/types.js +5 -0
  388. package/textarea/Textarea.accessibility.test.js +155 -0
  389. package/textarea/Textarea.d.ts +4 -0
  390. package/textarea/Textarea.js +234 -0
  391. package/textarea/Textarea.stories.tsx +174 -0
  392. package/textarea/Textarea.test.js +406 -0
  393. package/textarea/types.d.ts +141 -0
  394. package/textarea/types.js +5 -0
  395. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  396. package/toggle-group/ToggleGroup.d.ts +4 -0
  397. package/toggle-group/ToggleGroup.js +201 -0
  398. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  399. package/toggle-group/ToggleGroup.test.js +137 -0
  400. package/toggle-group/types.d.ts +114 -0
  401. package/toggle-group/types.js +5 -0
  402. package/typography/Typography.accessibility.test.js +339 -0
  403. package/typography/Typography.d.ts +4 -0
  404. package/typography/Typography.js +23 -0
  405. package/typography/Typography.stories.tsx +198 -0
  406. package/typography/types.d.ts +18 -0
  407. package/typography/types.js +5 -0
  408. package/useTheme.d.ts +1148 -0
  409. package/useTheme.js +15 -0
  410. package/useTranslatedLabels.d.ts +85 -0
  411. package/useTranslatedLabels.js +14 -0
  412. package/utils/BaseTypography.d.ts +21 -0
  413. package/utils/BaseTypography.js +94 -0
  414. package/utils/FocusLock.d.ts +13 -0
  415. package/utils/FocusLock.js +124 -0
  416. package/wizard/Wizard.accessibility.test.js +55 -0
  417. package/wizard/Wizard.d.ts +4 -0
  418. package/wizard/Wizard.js +250 -0
  419. package/wizard/Wizard.stories.tsx +253 -0
  420. package/wizard/Wizard.test.js +114 -0
  421. package/wizard/types.d.ts +64 -0
  422. package/wizard/types.js +5 -0
  423. package/babel.config.js +0 -4
  424. package/dist/ThemeContext.js +0 -15
  425. package/dist/accordion/Accordion.js +0 -268
  426. package/dist/accordion/Accordion.stories.js +0 -207
  427. package/dist/accordion/readme.md +0 -96
  428. package/dist/alert/Alert.js +0 -304
  429. package/dist/alert/Alert.stories.js +0 -158
  430. package/dist/alert/close.svg +0 -4
  431. package/dist/alert/error.svg +0 -4
  432. package/dist/alert/info.svg +0 -4
  433. package/dist/alert/readme.md +0 -43
  434. package/dist/alert/success.svg +0 -4
  435. package/dist/alert/warning.svg +0 -4
  436. package/dist/box/Box.js +0 -148
  437. package/dist/button/Button.js +0 -202
  438. package/dist/button/Button.stories.js +0 -224
  439. package/dist/button/readme.md +0 -93
  440. package/dist/card/Card.js +0 -217
  441. package/dist/checkbox/Checkbox.js +0 -240
  442. package/dist/checkbox/Checkbox.stories.js +0 -144
  443. package/dist/checkbox/readme.md +0 -116
  444. package/dist/chip/Chip.js +0 -208
  445. package/dist/common/OpenSans.css +0 -81
  446. package/dist/common/RequiredComponent.js +0 -46
  447. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  448. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  449. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  450. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  451. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  452. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  453. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  454. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  455. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  456. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  457. package/dist/common/services/example-service.js +0 -10
  458. package/dist/common/services/example-service.test.js +0 -12
  459. package/dist/common/utils.js +0 -42
  460. package/dist/common/variables.js +0 -434
  461. package/dist/date/Date.js +0 -356
  462. package/dist/date/Date.stories.js +0 -205
  463. package/dist/date/calendar.svg +0 -1
  464. package/dist/date/calendar_dark.svg +0 -1
  465. package/dist/date/readme.md +0 -73
  466. package/dist/dialog/Dialog.js +0 -197
  467. package/dist/dialog/Dialog.stories.js +0 -217
  468. package/dist/dialog/readme.md +0 -32
  469. package/dist/dropdown/Dropdown.js +0 -449
  470. package/dist/dropdown/Dropdown.stories.js +0 -249
  471. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  472. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  473. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  474. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  475. package/dist/dropdown/readme.md +0 -69
  476. package/dist/footer/Footer.js +0 -371
  477. package/dist/footer/Footer.stories.js +0 -94
  478. package/dist/footer/dxc_logo_wht.png +0 -0
  479. package/dist/footer/readme.md +0 -41
  480. package/dist/header/Header.js +0 -373
  481. package/dist/header/Header.stories.js +0 -176
  482. package/dist/header/close_icon.svg +0 -1
  483. package/dist/header/dxc_logo_black.png +0 -0
  484. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  485. package/dist/header/dxc_logo_white.png +0 -0
  486. package/dist/header/hamb_menu_black.svg +0 -1
  487. package/dist/header/hamb_menu_white.svg +0 -1
  488. package/dist/header/readme.md +0 -33
  489. package/dist/heading/Heading.js +0 -153
  490. package/dist/input-text/InputText.js +0 -570
  491. package/dist/input-text/InputText.stories.js +0 -209
  492. package/dist/input-text/error.svg +0 -1
  493. package/dist/input-text/readme.md +0 -91
  494. package/dist/layout/ApplicationLayout.js +0 -335
  495. package/dist/layout/facebook.svg +0 -45
  496. package/dist/layout/linkedin.svg +0 -50
  497. package/dist/layout/twitter.svg +0 -53
  498. package/dist/link/Link.js +0 -189
  499. package/dist/link/readme.md +0 -51
  500. package/dist/paginator/Paginator.js +0 -196
  501. package/dist/paginator/images/next.svg +0 -3
  502. package/dist/paginator/images/nextPage.svg +0 -3
  503. package/dist/paginator/images/previous.svg +0 -3
  504. package/dist/paginator/images/previousPage.svg +0 -3
  505. package/dist/paginator/readme.md +0 -50
  506. package/dist/progress-bar/ProgressBar.js +0 -185
  507. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  508. package/dist/progress-bar/readme.md +0 -63
  509. package/dist/radio/Radio.js +0 -195
  510. package/dist/radio/Radio.stories.js +0 -166
  511. package/dist/radio/readme.md +0 -70
  512. package/dist/resultsetTable/ResultsetTable.js +0 -333
  513. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  514. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  515. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  516. package/dist/select/Select.js +0 -473
  517. package/dist/select/Select.stories.js +0 -235
  518. package/dist/select/readme.md +0 -72
  519. package/dist/sidenav/Sidenav.js +0 -128
  520. package/dist/slider/Slider.js +0 -266
  521. package/dist/slider/Slider.stories.js +0 -241
  522. package/dist/slider/readme.md +0 -64
  523. package/dist/spinner/Spinner.js +0 -193
  524. package/dist/spinner/Spinner.stories.js +0 -183
  525. package/dist/spinner/readme.md +0 -65
  526. package/dist/switch/Switch.js +0 -199
  527. package/dist/switch/Switch.stories.js +0 -134
  528. package/dist/switch/readme.md +0 -133
  529. package/dist/table/Table.js +0 -105
  530. package/dist/tabs/Tabs.js +0 -185
  531. package/dist/tabs/Tabs.stories.js +0 -130
  532. package/dist/tabs/readme.md +0 -78
  533. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  534. package/dist/tabs-for-sections/readme.md +0 -78
  535. package/dist/tag/Tag.js +0 -249
  536. package/dist/textarea/Textarea.js +0 -227
  537. package/dist/toggle/Toggle.js +0 -223
  538. package/dist/toggle/Toggle.stories.js +0 -297
  539. package/dist/toggle/readme.md +0 -80
  540. package/dist/toggle-group/ToggleGroup.js +0 -226
  541. package/dist/toggle-group/readme.md +0 -82
  542. package/dist/upload/Upload.js +0 -200
  543. package/dist/upload/Upload.stories.js +0 -72
  544. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  545. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  546. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  547. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  548. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  549. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  550. package/dist/upload/file-upload/FileToUpload.js +0 -158
  551. package/dist/upload/file-upload/audio-icon.svg +0 -4
  552. package/dist/upload/file-upload/close.svg +0 -4
  553. package/dist/upload/file-upload/file-icon.svg +0 -4
  554. package/dist/upload/file-upload/video-icon.svg +0 -4
  555. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  556. package/dist/upload/readme.md +0 -37
  557. package/dist/upload/transaction/Transaction.js +0 -155
  558. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  559. package/dist/upload/transaction/audio-icon.svg +0 -4
  560. package/dist/upload/transaction/error-icon.svg +0 -4
  561. package/dist/upload/transaction/file-icon-err.svg +0 -4
  562. package/dist/upload/transaction/file-icon.svg +0 -4
  563. package/dist/upload/transaction/image-icon-err.svg +0 -4
  564. package/dist/upload/transaction/image-icon.svg +0 -4
  565. package/dist/upload/transaction/success-icon.svg +0 -4
  566. package/dist/upload/transaction/video-icon-err.svg +0 -4
  567. package/dist/upload/transaction/video-icon.svg +0 -4
  568. package/dist/upload/transactions/Transactions.js +0 -120
  569. package/dist/wizard/Wizard.js +0 -340
  570. package/dist/wizard/invalid_icon.svg +0 -6
  571. package/dist/wizard/valid_icon.svg +0 -6
  572. package/dist/wizard/validation-wrong.svg +0 -6
  573. package/test/Accordion.test.js +0 -33
  574. package/test/Alert.test.js +0 -53
  575. package/test/Box.test.js +0 -10
  576. package/test/Button.test.js +0 -18
  577. package/test/Card.test.js +0 -30
  578. package/test/Checkbox.test.js +0 -45
  579. package/test/Chip.test.js +0 -25
  580. package/test/Date.test.js +0 -393
  581. package/test/Dialog.test.js +0 -23
  582. package/test/Dropdown.test.js +0 -130
  583. package/test/Footer.test.js +0 -99
  584. package/test/Header.test.js +0 -39
  585. package/test/Heading.test.js +0 -35
  586. package/test/InputText.test.js +0 -236
  587. package/test/Link.test.js +0 -33
  588. package/test/Paginator.test.js +0 -165
  589. package/test/ProgressBar.test.js +0 -35
  590. package/test/Radio.test.js +0 -37
  591. package/test/ResultsetTable.test.js +0 -282
  592. package/test/Select.test.js +0 -191
  593. package/test/Sidenav.test.js +0 -45
  594. package/test/Slider.test.js +0 -82
  595. package/test/Spinner.test.js +0 -27
  596. package/test/Switch.test.js +0 -45
  597. package/test/Table.test.js +0 -36
  598. package/test/Tabs.test.js +0 -88
  599. package/test/TabsForSections.test.js +0 -34
  600. package/test/Tag.test.js +0 -32
  601. package/test/TextArea.test.js +0 -52
  602. package/test/Toggle.test.js +0 -43
  603. package/test/ToggleGroup.test.js +0 -81
  604. package/test/Upload.test.js +0 -60
  605. package/test/Wizard.test.js +0 -130
  606. package/test/mocks/pngMock.js +0 -1
  607. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,169 @@
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 _Heading = _interopRequireDefault(require("./Heading.tsx"));
7
+ describe("Heading component tests", function () {
8
+ test("Heading renders with default level", function () {
9
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
10
+ text: "my-heading-test"
11
+ })),
12
+ getByText = _render.getByText,
13
+ getByRole = _render.getByRole;
14
+ expect(getByText("my-heading-test")).toBeTruthy();
15
+ expect(getByRole("heading", {
16
+ level: 1
17
+ })).toBeTruthy();
18
+ });
19
+ test("Heading renders with level 1", function () {
20
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
21
+ text: "my-heading-test",
22
+ level: 1
23
+ })),
24
+ getByText = _render2.getByText,
25
+ getByRole = _render2.getByRole;
26
+ expect(getByText("my-heading-test")).toBeTruthy();
27
+ expect(getByRole("heading", {
28
+ level: 1
29
+ })).toBeTruthy();
30
+ });
31
+ test("Heading renders with level 2", function () {
32
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
33
+ text: "my-heading-test",
34
+ level: 2
35
+ })),
36
+ getByText = _render3.getByText,
37
+ getByRole = _render3.getByRole;
38
+ expect(getByText("my-heading-test")).toBeTruthy();
39
+ expect(getByRole("heading", {
40
+ level: 2
41
+ })).toBeTruthy();
42
+ });
43
+ test("Heading renders with level 3", function () {
44
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
45
+ text: "my-heading-test",
46
+ level: 3
47
+ })),
48
+ getByText = _render4.getByText,
49
+ getByRole = _render4.getByRole;
50
+ expect(getByText("my-heading-test")).toBeTruthy();
51
+ expect(getByRole("heading", {
52
+ level: 3
53
+ })).toBeTruthy();
54
+ });
55
+ test("Heading renders with level 4", function () {
56
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
57
+ text: "my-heading-test",
58
+ level: 4
59
+ })),
60
+ getByText = _render5.getByText,
61
+ getByRole = _render5.getByRole;
62
+ expect(getByText("my-heading-test")).toBeTruthy();
63
+ expect(getByRole("heading", {
64
+ level: 4
65
+ })).toBeTruthy();
66
+ });
67
+ test("Heading renders with level 5", function () {
68
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
69
+ text: "my-heading-test",
70
+ level: 5
71
+ })),
72
+ getByText = _render6.getByText,
73
+ getByRole = _render6.getByRole;
74
+ expect(getByText("my-heading-test")).toBeTruthy();
75
+ expect(getByRole("heading", {
76
+ level: 5
77
+ })).toBeTruthy();
78
+ });
79
+ test("Heading renders with default level and as h5", function () {
80
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
81
+ text: "my-heading-test",
82
+ as: "h5"
83
+ })),
84
+ getByText = _render7.getByText,
85
+ getByRole = _render7.getByRole;
86
+ expect(getByText("my-heading-test")).toBeTruthy();
87
+ expect(getByRole("heading", {
88
+ level: 5
89
+ })).toBeTruthy();
90
+ });
91
+ test("Heading renders with level 1 and as h5", function () {
92
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
93
+ text: "my-heading-test",
94
+ level: 1,
95
+ as: "h5"
96
+ })),
97
+ getByText = _render8.getByText,
98
+ getByRole = _render8.getByRole;
99
+ expect(getByText("my-heading-test")).toBeTruthy();
100
+ expect(getByRole("heading", {
101
+ level: 5
102
+ })).toBeTruthy();
103
+ });
104
+ test("Heading renders with level 2 and as h4", function () {
105
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
106
+ text: "my-heading-test",
107
+ level: 2,
108
+ as: "h4"
109
+ })),
110
+ getByText = _render9.getByText,
111
+ getByRole = _render9.getByRole;
112
+ expect(getByText("my-heading-test")).toBeTruthy();
113
+ expect(getByRole("heading", {
114
+ level: 4
115
+ })).toBeTruthy();
116
+ });
117
+ test("Heading renders with level 3 and as h2", function () {
118
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
119
+ text: "my-heading-test",
120
+ level: 3,
121
+ as: "h2"
122
+ })),
123
+ getByText = _render10.getByText,
124
+ getByRole = _render10.getByRole;
125
+ expect(getByText("my-heading-test")).toBeTruthy();
126
+ expect(getByRole("heading", {
127
+ level: 2
128
+ })).toBeTruthy();
129
+ });
130
+ test("Heading renders with level 4 and as h3", function () {
131
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
132
+ text: "my-heading-test",
133
+ level: 4,
134
+ as: "h3"
135
+ })),
136
+ getByText = _render11.getByText,
137
+ getByRole = _render11.getByRole;
138
+ expect(getByText("my-heading-test")).toBeTruthy();
139
+ expect(getByRole("heading", {
140
+ level: 3
141
+ })).toBeTruthy();
142
+ });
143
+ test("Heading renders with level 5 as h4", function () {
144
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
145
+ text: "my-heading-test",
146
+ level: 5,
147
+ as: "h4"
148
+ })),
149
+ getByText = _render12.getByText,
150
+ getByRole = _render12.getByRole;
151
+ expect(getByText("my-heading-test")).toBeTruthy();
152
+ expect(getByRole("heading", {
153
+ level: 4
154
+ })).toBeTruthy();
155
+ });
156
+ test("Heading renders with level 5 and invalid as", function () {
157
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
158
+ text: "my-heading-test",
159
+ level: 5,
160
+ as: "h4afdssf"
161
+ })),
162
+ getByText = _render13.getByText,
163
+ getByRole = _render13.getByRole;
164
+ expect(getByText("my-heading-test")).toBeTruthy();
165
+ expect(getByRole("heading", {
166
+ level: 5
167
+ })).toBeTruthy();
168
+ });
169
+ });
@@ -0,0 +1,33 @@
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ type Props = {
9
+ /**
10
+ * Defines the heading level from 1 to 5. The styles of the heading are applied according to the level.
11
+ * The html tag of the heading will be the one specified in the 'as' prop.
12
+ * If 'as' is not specified, the html tag of the heading is the one specified in the 'level' prop.
13
+ */
14
+ level?: 1 | 2 | 3 | 4 | 5;
15
+ /**
16
+ * Heading text.
17
+ */
18
+ text: string;
19
+ /**
20
+ * Modifies the default weight of the heading.
21
+ */
22
+ weight?: "light" | "normal" | "bold";
23
+ /**
24
+ * Specifies the HTML tag of the heading.
25
+ */
26
+ as?: "h1" | "h2" | "h3" | "h4" | "h5";
27
+ /**
28
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
29
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
30
+ */
31
+ margin?: Space | Margin;
32
+ };
33
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,30 @@
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 _Icon = _interopRequireDefault(require("./Icon"));
10
+ describe("Icon 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(_Icon["default"], {
17
+ icon: "home"
18
+ })), container = _render.container;
19
+ _context.next = 3;
20
+ return (0, _jestAxe.axe)(container);
21
+ case 3:
22
+ results = _context.sent;
23
+ expect(results).toHaveNoViolations();
24
+ case 5:
25
+ case "end":
26
+ return _context.stop();
27
+ }
28
+ }, _callee);
29
+ })));
30
+ });
package/icon/Icon.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import IconPropsType from "./types";
3
+ declare const DxcIcon: ({ icon }: IconPropsType) => JSX.Element;
4
+ export default DxcIcon;
package/icon/Icon.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _templateObject;
12
+ var DxcIcon = function DxcIcon(_ref) {
13
+ var icon = _ref.icon;
14
+ var filled = false;
15
+ var iconName = icon;
16
+ if (icon.startsWith("filled_")) {
17
+ filled = true;
18
+ iconName = icon.replace(/filled_/g, "");
19
+ }
20
+ return /*#__PURE__*/_react["default"].createElement(IconContainer, {
21
+ role: "img",
22
+ "aria-label": icon,
23
+ filled: filled,
24
+ icon: iconName,
25
+ "aria-hidden": "true"
26
+ });
27
+ };
28
+ var IconContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-family: \"Material Symbols Outlined\";\n font-weight: normal;\n font-style: normal;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-feature-settings: \"liga\";\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n font-variation-settings: ", ";\n ::before {\n content: \"", "\";\n }\n"])), function (props) {
29
+ return props.filled ? "'FILL' 1" : "'FILL' 0";
30
+ }, function (props) {
31
+ return props.icon;
32
+ });
33
+ var _default = exports["default"] = DxcIcon;
@@ -0,0 +1,28 @@
1
+ import React from "react";
2
+ import DxcIcon from "./Icon";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { DxcTypography } from "../main";
6
+
7
+ export default {
8
+ title: "Icon",
9
+ component: DxcIcon,
10
+ };
11
+
12
+ export const Chromatic = () => (
13
+ <>
14
+ <Title title="Icon component" theme="light" level={2} />
15
+ <ExampleContainer>
16
+ <DxcTypography as="p" fontSize="1.5rem">
17
+ <DxcIcon icon="home" />
18
+ <DxcIcon icon="filled_home" />
19
+ </DxcTypography>
20
+ </ExampleContainer>
21
+ <ExampleContainer>
22
+ <DxcTypography as="p" fontSize="1.5rem" color="#b182e3">
23
+ <DxcIcon icon="home" />
24
+ <DxcIcon icon="filled_home" />
25
+ </DxcTypography>
26
+ </ExampleContainer>
27
+ </>
28
+ );
@@ -0,0 +1,4 @@
1
+ type Props = {
2
+ icon: string;
3
+ };
4
+ export default Props;
package/icon/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,56 @@
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 _Image = _interopRequireDefault(require("./Image"));
10
+ describe("Image 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(_Image["default"], {
17
+ alt: "Example image",
18
+ width: "100%",
19
+ src: "https://images.ctfassets.net/hrltx12pl8hq/5596z2BCR9KmT1KeRBrOQa/4070fd4e2f1a13f71c2c46afeb18e41c/shutterstock_451077043-hero1.jpg",
20
+ caption: "Caption"
21
+ })), container = _render.container;
22
+ _context.next = 3;
23
+ return (0, _jestAxe.axe)(container);
24
+ case 3:
25
+ results = _context.sent;
26
+ expect(results).toHaveNoViolations();
27
+ case 5:
28
+ case "end":
29
+ return _context.stop();
30
+ }
31
+ }, _callee);
32
+ })));
33
+ it("Should not have basic accessibility issues for lazy-loading mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
34
+ var _render2, container, results;
35
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
36
+ while (1) switch (_context2.prev = _context2.next) {
37
+ case 0:
38
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Image["default"], {
39
+ alt: "Example image",
40
+ width: "100%",
41
+ src: "https://images.ctfassets.net/hrltx12pl8hq/5596z2BCR9KmT1KeRBrOQa/4070fd4e2f1a13f71c2c46afeb18e41c/shutterstock_451077043-hero1.jpg",
42
+ caption: "Caption",
43
+ lazyLoading: true
44
+ })), container = _render2.container;
45
+ _context2.next = 3;
46
+ return (0, _jestAxe.axe)(container);
47
+ case 3:
48
+ results = _context2.sent;
49
+ expect(results).toHaveNoViolations();
50
+ case 5:
51
+ case "end":
52
+ return _context2.stop();
53
+ }
54
+ }, _callee2);
55
+ })));
56
+ });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import ImagePropsType from "./types";
3
+ declare const DxcImage: ({ alt, caption, lazyLoading, src, srcSet, sizes, width, height, objectFit, objectPosition, onLoad, onError, }: ImagePropsType) => React.JSX.Element;
4
+ export default DxcImage;
package/image/Image.js ADDED
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
12
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
13
+ var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
14
+ var _templateObject;
15
+ 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); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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; }
17
+ var CaptionWrapper = function CaptionWrapper(_ref) {
18
+ var condition = _ref.condition,
19
+ wrapper = _ref.wrapper,
20
+ children = _ref.children;
21
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, condition ? wrapper(children) : children);
22
+ };
23
+ var DxcImage = function DxcImage(_ref2) {
24
+ var alt = _ref2.alt,
25
+ caption = _ref2.caption,
26
+ _ref2$lazyLoading = _ref2.lazyLoading,
27
+ lazyLoading = _ref2$lazyLoading === void 0 ? false : _ref2$lazyLoading,
28
+ src = _ref2.src,
29
+ srcSet = _ref2.srcSet,
30
+ sizes = _ref2.sizes,
31
+ width = _ref2.width,
32
+ height = _ref2.height,
33
+ objectFit = _ref2.objectFit,
34
+ objectPosition = _ref2.objectPosition,
35
+ onLoad = _ref2.onLoad,
36
+ onError = _ref2.onError;
37
+ var colorsTheme = (0, _useTheme["default"])();
38
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
39
+ theme: colorsTheme.image
40
+ }, /*#__PURE__*/_react["default"].createElement(CaptionWrapper, {
41
+ condition: caption != undefined,
42
+ wrapper: function wrapper(children) {
43
+ return /*#__PURE__*/_react["default"].createElement(Figure, null, children, /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
44
+ as: "figcaption",
45
+ color: colorsTheme.image.captionFontColor,
46
+ fontFamily: colorsTheme.image.captionFontFamily,
47
+ fontSize: colorsTheme.image.captionFontSize,
48
+ fontStyle: colorsTheme.image.captionFontStyle,
49
+ fontWeight: colorsTheme.image.captionFontWeight,
50
+ lineHeight: colorsTheme.image.captionLineHeight
51
+ }, caption));
52
+ }
53
+ }, /*#__PURE__*/_react["default"].createElement("img", {
54
+ alt: alt,
55
+ loading: lazyLoading ? "lazy" : undefined,
56
+ onLoad: onLoad,
57
+ onError: onError,
58
+ src: src,
59
+ srcSet: srcSet,
60
+ sizes: sizes,
61
+ style: {
62
+ objectFit: objectFit,
63
+ objectPosition: objectPosition,
64
+ width: width,
65
+ height: height
66
+ }
67
+ })));
68
+ };
69
+ var Figure = _styledComponents["default"].figure(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: fit-content;\n margin: 0;\n padding: 0;\n"])));
70
+ var _default = exports["default"] = DxcImage;
@@ -0,0 +1,129 @@
1
+ import React from "react";
2
+ import DxcImage from "./Image";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import DxcFlex from "../flex/Flex";
6
+ import DxcInset from "../inset/Inset";
7
+ import DxcParagraph from "../paragraph/Paragraph";
8
+
9
+ export default {
10
+ title: "Image",
11
+ component: DxcImage,
12
+ };
13
+
14
+ export const Chromatic = () => (
15
+ <>
16
+ <Title title="Image component" theme="light" level={2} />
17
+ <ExampleContainer>
18
+ <Title title="Simple image" theme="light" level={4} />
19
+ <DxcImage
20
+ alt="Example image"
21
+ width="100%"
22
+ src="https://images.ctfassets.net/hrltx12pl8hq/5596z2BCR9KmT1KeRBrOQa/4070fd4e2f1a13f71c2c46afeb18e41c/shutterstock_451077043-hero1.jpg"
23
+ />
24
+ </ExampleContainer>
25
+ <ExampleContainer>
26
+ <Title title="Image with text" theme="light" level={4} />
27
+ <DxcParagraph>
28
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
29
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
30
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh tristique
31
+ porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue diam in dui
32
+ morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo nisi. Vel mus
33
+ ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit augue. In fermentum
34
+ metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae. Commodo sagittis
35
+ volutpat id lorem.
36
+ </DxcParagraph>
37
+ <DxcInset top="2rem" bottom="2rem">
38
+ <DxcImage
39
+ alt="Ratatouille is a great movie"
40
+ caption="Ratatouille with a smile on his face."
41
+ src="https://hips.hearstapps.com/es.h-cdn.co/fotoes/images/cinefilia/por-que-ratatouille-nos-sigue-enamorando-10-anos-despues/136444706-1-esl-ES/Por-que-Ratatouille-nos-sigue-enamorando-10-anos-despues.jpg"
42
+ />
43
+ </DxcInset>
44
+ <DxcParagraph>
45
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
46
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
47
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh tristique
48
+ porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue diam in dui
49
+ morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo nisi. Vel mus
50
+ ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit augue. In fermentum
51
+ metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae. Commodo sagittis
52
+ volutpat id lorem.
53
+ </DxcParagraph>
54
+ </ExampleContainer>
55
+ <ExampleContainer>
56
+ <Title title="Example image" theme="light" level={4} />
57
+ <DxcFlex gap="1rem">
58
+ <DxcImage
59
+ alt="Camera pic"
60
+ caption="Picture of a camera and the sunset."
61
+ width="500px"
62
+ src="https://assets.entrepreneur.com/content/3x2/2000/20191009140007-GettyImages-1053962188.jpeg"
63
+ />
64
+ <DxcParagraph>
65
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
66
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
67
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
68
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
69
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
70
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
71
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
72
+ Commodo sagittis volutpat id lorem. Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis
73
+ volutpat urna. Hendrerit aliquet et arcu purus. Sodales elementum sollicitudin consequat elementum tortor.
74
+ Lectus eget cursus ut ac pharetra lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus
75
+ vitae vitae aenean arcu. Nibh tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh
76
+ est sed. Netus venenatis congue diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu
77
+ nec fringilla enim purus ut justo nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper
78
+ nullam sit sagittis hendrerit augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed
79
+ enim in sed vel nec ut vitae. Commodo sagittis volutpat id lorem.
80
+ </DxcParagraph>
81
+ </DxcFlex>
82
+ </ExampleContainer>
83
+ <ExampleContainer>
84
+ <Title title="Object position" theme="light" level={4} />
85
+ <DxcImage
86
+ alt="Moon pic"
87
+ caption="Picture of the moon."
88
+ width="250px"
89
+ src="https://interactive-examples.mdn.mozilla.net/media/examples/moon.jpg"
90
+ objectPosition="right top"
91
+ objectFit="none"
92
+ />
93
+ </ExampleContainer>
94
+ <ExampleContainer>
95
+ <Title title="Object fit: contain" theme="light" level={4} />
96
+ <div style={{ display: "flex", width: "fit-content", border: "1px solid #000", padding: "0.5rem" }}>
97
+ <DxcImage
98
+ alt="Dog pic"
99
+ src="https://cc-prod.scene7.com/is/image/CCProdAuthor/What-is-Stock-Photography_P1_mobile?$pjpeg$&jpegSize=200&wid=720"
100
+ width="200px"
101
+ height="200px"
102
+ objectFit="contain"
103
+ caption="Pretty dog."
104
+ />
105
+ </div>
106
+ </ExampleContainer>
107
+ <ExampleContainer>
108
+ <Title title="Object fit: cover" theme="light" level={4} />
109
+ <div style={{ width: "75%", height: "300px" }}>
110
+ <DxcImage
111
+ alt="Spaceship pic"
112
+ src="https://media.istockphoto.com/id/1344443930/es/foto/lanzamiento-de-cohetes-del-transbordador-espacial-en-el-cielo-y-nubes-al-espacio-exterior.jpg?s=612x612&w=0&k=20&c=CO2A96GnnWvJsgZuj9WfYCVIBVzicnQDfnzwD1nomN0="
113
+ objectFit="cover"
114
+ width="50%"
115
+ height="100%"
116
+ objectPosition="0px 0px"
117
+ />
118
+ <DxcImage
119
+ alt="Spaceship pic"
120
+ src="https://media.istockphoto.com/id/1344443930/es/foto/lanzamiento-de-cohetes-del-transbordador-espacial-en-el-cielo-y-nubes-al-espacio-exterior.jpg?s=612x612&w=0&k=20&c=CO2A96GnnWvJsgZuj9WfYCVIBVzicnQDfnzwD1nomN0="
121
+ objectFit="cover"
122
+ width="50%"
123
+ height="100%"
124
+ objectPosition="0px 0px"
125
+ />
126
+ </div>
127
+ </ExampleContainer>
128
+ </>
129
+ );
@@ -0,0 +1,72 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ /**
4
+ * Alternative text description displayed when the specified image is not loaded.
5
+ *
6
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt
7
+ * See W3C alt decision tree: https://www.w3.org/WAI/tutorials/images/decision-tree/
8
+ */
9
+ alt: string;
10
+ /**
11
+ * Image legend with a descriptive purpose. It is placed below the image and is complementary to the alt attribute,
12
+ * which is required regardless of the presence of the caption or not.
13
+ */
14
+ caption?: string;
15
+ /**
16
+ * If true, the image will be loaded only when it is visible on the screen (lazy loading).
17
+ * Otherwise and by default, the image will be loaded as soon as the component is mounted (eager loading).
18
+ */
19
+ lazyLoading?: boolean;
20
+ /**
21
+ * URL of the image. This prop is required and must be valid.
22
+ */
23
+ src: string;
24
+ /**
25
+ * List of one or more strings separated by commas indicating a set of possible images for the user agent to use.
26
+ *
27
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/srcset
28
+ */
29
+ srcSet?: string;
30
+ /**
31
+ * One or more strings separated by commas, indicating a set of source sizes.
32
+ * If the srcSet attribute is absent or contains no values with a width descriptor,
33
+ * then this attribute has no effect.
34
+ *
35
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/sizes
36
+ */
37
+ sizes?: string;
38
+ /**
39
+ * Sets the rendered width of the image.
40
+ */
41
+ width?: string;
42
+ /**
43
+ * Sets the rendered height of the image.
44
+ */
45
+ height?: string;
46
+ /**
47
+ * Sets the object-fit CSS property.
48
+ *
49
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
50
+ */
51
+ objectFit?: "contain" | "cover" | "fill" | "none" | "scale-down";
52
+ /**
53
+ * Sets the object-position CSS property.
54
+ *
55
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/object-position
56
+ */
57
+ objectPosition?: string;
58
+ /**
59
+ * This function will be called when the image is loaded.
60
+ */
61
+ onLoad?: React.ReactEventHandler<HTMLImageElement>;
62
+ /**
63
+ * This function will be called when the image fails to load.
64
+ */
65
+ onError?: React.ReactEventHandler<HTMLImageElement>;
66
+ };
67
+ export type CaptionWrapperProps = {
68
+ condition: boolean;
69
+ wrapper: (children: React.ReactNode) => JSX.Element;
70
+ children: React.ReactNode;
71
+ };
72
+ export default Props;
package/image/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });