@dxc-technology/halstack-react 0.0.0-509f1eb → 0.0.0-50acff4

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 (380) hide show
  1. package/BackgroundColorContext.js +1 -1
  2. package/HalstackContext.d.ts +31 -20
  3. package/HalstackContext.js +6 -6
  4. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  5. package/accordion/Accordion.accessibility.test.js +71 -0
  6. package/accordion/Accordion.js +17 -31
  7. package/accordion/Accordion.stories.tsx +7 -49
  8. package/accordion/Accordion.test.d.ts +1 -0
  9. package/accordion/Accordion.test.js +3 -3
  10. package/accordion/types.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  12. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  13. package/accordion-group/AccordionGroup.d.ts +2 -3
  14. package/accordion-group/AccordionGroup.js +4 -4
  15. package/accordion-group/AccordionGroup.stories.tsx +23 -23
  16. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  17. package/accordion-group/AccordionGroup.test.js +5 -9
  18. package/accordion-group/AccordionGroupAccordion.js +3 -3
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +1 -1
  22. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  23. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  24. package/action-icon/ActionIcon.d.ts +2 -2
  25. package/action-icon/ActionIcon.js +11 -6
  26. package/action-icon/ActionIcon.stories.tsx +41 -0
  27. package/action-icon/ActionIcon.test.d.ts +1 -0
  28. package/action-icon/ActionIcon.test.js +64 -0
  29. package/action-icon/types.d.ts +1 -1
  30. package/alert/Alert.accessibility.test.d.ts +1 -0
  31. package/alert/Alert.accessibility.test.js +95 -0
  32. package/alert/Alert.js +21 -72
  33. package/alert/Alert.test.d.ts +1 -0
  34. package/alert/Alert.test.js +1 -1
  35. package/badge/Badge.accessibility.test.d.ts +1 -0
  36. package/badge/Badge.accessibility.test.js +129 -0
  37. package/badge/Badge.d.ts +1 -1
  38. package/badge/Badge.js +141 -28
  39. package/badge/Badge.stories.tsx +210 -0
  40. package/badge/Badge.test.d.ts +1 -0
  41. package/badge/Badge.test.js +30 -0
  42. package/badge/types.d.ts +52 -3
  43. package/box/Box.accessibility.test.d.ts +1 -0
  44. package/box/Box.accessibility.test.js +33 -0
  45. package/box/Box.js +1 -1
  46. package/box/Box.test.d.ts +1 -0
  47. package/box/Box.test.js +1 -1
  48. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  49. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  50. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  51. package/breadcrumbs/Breadcrumbs.js +79 -0
  52. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  53. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  54. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  55. package/breadcrumbs/Item.d.ts +4 -0
  56. package/breadcrumbs/Item.js +52 -0
  57. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  58. package/breadcrumbs/dropdownTheme.js +62 -0
  59. package/breadcrumbs/types.d.ts +16 -0
  60. package/breadcrumbs/types.js +5 -0
  61. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  62. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  63. package/bulleted-list/BulletedList.js +7 -4
  64. package/bulleted-list/BulletedList.stories.tsx +1 -1
  65. package/button/Button.accessibility.test.d.ts +1 -0
  66. package/button/Button.accessibility.test.js +127 -0
  67. package/button/Button.js +5 -4
  68. package/button/Button.stories.tsx +34 -53
  69. package/button/Button.test.d.ts +1 -0
  70. package/button/Button.test.js +4 -2
  71. package/button/types.d.ts +1 -1
  72. package/card/Card.accessibility.test.d.ts +1 -0
  73. package/card/Card.accessibility.test.js +36 -0
  74. package/card/Card.js +3 -2
  75. package/card/Card.stories.tsx +1 -1
  76. package/card/Card.test.d.ts +1 -0
  77. package/card/Card.test.js +1 -1
  78. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  79. package/checkbox/Checkbox.accessibility.test.js +87 -0
  80. package/checkbox/Checkbox.js +10 -13
  81. package/checkbox/Checkbox.test.d.ts +1 -0
  82. package/checkbox/Checkbox.test.js +1 -1
  83. package/chip/Chip.accessibility.test.d.ts +1 -0
  84. package/chip/Chip.accessibility.test.js +67 -0
  85. package/chip/Chip.js +11 -6
  86. package/chip/Chip.stories.tsx +6 -25
  87. package/chip/Chip.test.d.ts +1 -0
  88. package/chip/Chip.test.js +5 -5
  89. package/common/coreTokens.js +4 -4
  90. package/common/variables.d.ts +31 -20
  91. package/common/variables.js +101 -90
  92. package/container/Container.js +1 -1
  93. package/container/Container.stories.tsx +3 -3
  94. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  95. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  96. package/contextual-menu/ContextualMenu.d.ts +5 -0
  97. package/contextual-menu/ContextualMenu.js +108 -0
  98. package/contextual-menu/ContextualMenu.stories.tsx +223 -0
  99. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  100. package/contextual-menu/ContextualMenu.test.js +247 -0
  101. package/contextual-menu/GroupItem.d.ts +4 -0
  102. package/contextual-menu/GroupItem.js +67 -0
  103. package/contextual-menu/ItemAction.d.ts +4 -0
  104. package/contextual-menu/ItemAction.js +50 -0
  105. package/contextual-menu/MenuItem.d.ts +4 -0
  106. package/contextual-menu/MenuItem.js +29 -0
  107. package/contextual-menu/SingleItem.d.ts +4 -0
  108. package/contextual-menu/SingleItem.js +38 -0
  109. package/contextual-menu/types.d.ts +61 -0
  110. package/contextual-menu/types.js +5 -0
  111. package/date-input/Calendar.js +47 -31
  112. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  113. package/date-input/DateInput.accessibility.test.js +229 -0
  114. package/date-input/DateInput.js +28 -23
  115. package/date-input/DateInput.stories.tsx +18 -12
  116. package/date-input/DateInput.test.d.ts +1 -0
  117. package/date-input/DateInput.test.js +39 -39
  118. package/date-input/DatePicker.js +13 -7
  119. package/date-input/YearPicker.js +10 -5
  120. package/date-input/types.d.ts +2 -2
  121. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  122. package/dialog/Dialog.accessibility.test.js +69 -0
  123. package/dialog/Dialog.js +9 -20
  124. package/dialog/Dialog.stories.tsx +8 -4
  125. package/dialog/Dialog.test.d.ts +1 -0
  126. package/dialog/Dialog.test.js +112 -49
  127. package/divider/Divider.accessibility.test.d.ts +1 -0
  128. package/divider/Divider.accessibility.test.js +33 -0
  129. package/divider/Divider.d.ts +4 -0
  130. package/divider/Divider.js +36 -0
  131. package/divider/Divider.stories.tsx +223 -0
  132. package/divider/Divider.test.d.ts +1 -0
  133. package/divider/Divider.test.js +38 -0
  134. package/divider/types.d.ts +21 -0
  135. package/divider/types.js +5 -0
  136. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  137. package/dropdown/Dropdown.accessibility.test.js +183 -0
  138. package/dropdown/Dropdown.js +37 -51
  139. package/dropdown/Dropdown.stories.tsx +16 -27
  140. package/dropdown/Dropdown.test.d.ts +1 -0
  141. package/dropdown/Dropdown.test.js +101 -72
  142. package/dropdown/DropdownMenu.js +4 -4
  143. package/dropdown/DropdownMenuItem.js +8 -4
  144. package/dropdown/types.d.ts +3 -5
  145. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  146. package/file-input/FileInput.accessibility.test.js +167 -0
  147. package/file-input/FileInput.js +6 -47
  148. package/file-input/FileInput.test.d.ts +1 -0
  149. package/file-input/FileInput.test.js +51 -106
  150. package/file-input/FileItem.js +18 -28
  151. package/file-input/types.d.ts +0 -4
  152. package/footer/Footer.accessibility.test.d.ts +1 -0
  153. package/footer/Footer.accessibility.test.js +125 -0
  154. package/footer/Footer.d.ts +1 -1
  155. package/footer/Footer.js +31 -16
  156. package/footer/Footer.stories.tsx +58 -2
  157. package/footer/Footer.test.d.ts +1 -0
  158. package/footer/Footer.test.js +1 -1
  159. package/footer/Icons.d.ts +1 -0
  160. package/footer/Icons.js +52 -16
  161. package/footer/types.d.ts +7 -1
  162. package/grid/Grid.stories.tsx +3 -1
  163. package/header/Header.accessibility.test.d.ts +1 -0
  164. package/header/Header.accessibility.test.js +94 -0
  165. package/header/Header.js +12 -22
  166. package/header/Header.stories.tsx +17 -1
  167. package/header/Header.test.d.ts +1 -0
  168. package/header/Header.test.js +1 -1
  169. package/header/Icons.js +1 -6
  170. package/header/types.d.ts +2 -2
  171. package/heading/Heading.accessibility.test.d.ts +1 -0
  172. package/heading/Heading.accessibility.test.js +33 -0
  173. package/heading/Heading.js +1 -1
  174. package/heading/Heading.test.d.ts +1 -0
  175. package/heading/Heading.test.js +1 -14
  176. package/icon/Icon.accessibility.test.d.ts +1 -0
  177. package/icon/Icon.accessibility.test.js +30 -0
  178. package/icon/Icon.d.ts +4 -0
  179. package/icon/Icon.js +33 -0
  180. package/icon/Icon.stories.tsx +28 -0
  181. package/icon/types.d.ts +4 -0
  182. package/icon/types.js +5 -0
  183. package/image/Image.accessibility.test.d.ts +1 -0
  184. package/image/Image.accessibility.test.js +56 -0
  185. package/image/Image.js +1 -1
  186. package/image/Image.stories.tsx +3 -1
  187. package/layout/ApplicationLayout.d.ts +1 -1
  188. package/layout/ApplicationLayout.js +10 -7
  189. package/layout/Icons.d.ts +0 -1
  190. package/layout/Icons.js +1 -11
  191. package/link/Link.accessibility.test.d.ts +1 -0
  192. package/link/Link.accessibility.test.js +108 -0
  193. package/link/Link.js +8 -6
  194. package/link/Link.stories.tsx +4 -4
  195. package/link/Link.test.d.ts +1 -0
  196. package/link/Link.test.js +1 -1
  197. package/link/types.d.ts +1 -1
  198. package/main.d.ts +6 -2
  199. package/main.js +30 -2
  200. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  201. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  202. package/nav-tabs/NavTabs.d.ts +1 -2
  203. package/nav-tabs/NavTabs.js +22 -7
  204. package/nav-tabs/NavTabs.stories.tsx +44 -24
  205. package/nav-tabs/NavTabs.test.d.ts +1 -0
  206. package/nav-tabs/NavTabs.test.js +12 -10
  207. package/nav-tabs/NavTabsContext.d.ts +3 -0
  208. package/nav-tabs/NavTabsContext.js +8 -0
  209. package/nav-tabs/Tab.js +23 -23
  210. package/nav-tabs/types.d.ts +1 -1
  211. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  212. package/number-input/NumberInput.accessibility.test.js +227 -0
  213. package/number-input/NumberInput.d.ts +0 -7
  214. package/number-input/NumberInput.js +28 -6
  215. package/number-input/NumberInput.stories.tsx +11 -16
  216. package/number-input/NumberInput.test.d.ts +1 -0
  217. package/number-input/NumberInput.test.js +167 -9
  218. package/number-input/NumberInputContext.d.ts +3 -0
  219. package/number-input/NumberInputContext.js +8 -0
  220. package/number-input/types.d.ts +6 -0
  221. package/package.json +31 -27
  222. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  223. package/paginator/Paginator.accessibility.test.js +78 -0
  224. package/paginator/Paginator.js +13 -10
  225. package/paginator/Paginator.test.d.ts +1 -0
  226. package/paginator/Paginator.test.js +2 -3
  227. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  228. package/paragraph/Paragraph.accessibility.test.js +28 -0
  229. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  230. package/password-input/PasswordInput.accessibility.test.js +152 -0
  231. package/password-input/PasswordInput.js +11 -8
  232. package/password-input/PasswordInput.stories.tsx +10 -1
  233. package/password-input/PasswordInput.test.d.ts +1 -0
  234. package/password-input/PasswordInput.test.js +6 -7
  235. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  236. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  237. package/progress-bar/ProgressBar.js +6 -4
  238. package/progress-bar/ProgressBar.test.d.ts +1 -0
  239. package/progress-bar/ProgressBar.test.js +1 -1
  240. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  241. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  242. package/quick-nav/QuickNav.js +1 -1
  243. package/radio-group/Radio.js +6 -9
  244. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  245. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  246. package/radio-group/RadioGroup.js +14 -16
  247. package/radio-group/RadioGroup.test.d.ts +1 -0
  248. package/radio-group/RadioGroup.test.js +3 -5
  249. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  250. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  251. package/resultset-table/ResultsetTable.d.ts +4 -1
  252. package/resultset-table/ResultsetTable.js +25 -13
  253. package/resultset-table/ResultsetTable.stories.tsx +119 -6
  254. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  255. package/resultset-table/ResultsetTable.test.js +77 -3
  256. package/resultset-table/types.d.ts +40 -7
  257. package/select/Listbox.js +24 -16
  258. package/select/Option.js +12 -10
  259. package/select/Select.accessibility.test.d.ts +1 -0
  260. package/select/Select.accessibility.test.js +227 -0
  261. package/select/Select.js +41 -29
  262. package/select/Select.stories.tsx +69 -112
  263. package/select/Select.test.d.ts +1 -0
  264. package/select/Select.test.js +371 -474
  265. package/select/types.d.ts +1 -1
  266. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  267. package/sidenav/Sidenav.accessibility.test.js +59 -0
  268. package/sidenav/Sidenav.js +19 -14
  269. package/sidenav/Sidenav.stories.tsx +5 -10
  270. package/sidenav/Sidenav.test.d.ts +1 -0
  271. package/sidenav/Sidenav.test.js +1 -1
  272. package/sidenav/types.d.ts +2 -2
  273. package/slider/Slider.accessibility.test.d.ts +1 -0
  274. package/slider/Slider.accessibility.test.js +103 -0
  275. package/slider/Slider.js +11 -13
  276. package/slider/Slider.stories.tsx +180 -0
  277. package/slider/Slider.test.d.ts +1 -0
  278. package/slider/Slider.test.js +13 -11
  279. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  280. package/spinner/Spinner.accessibility.test.js +96 -0
  281. package/spinner/Spinner.js +6 -2
  282. package/spinner/Spinner.test.d.ts +1 -0
  283. package/spinner/Spinner.test.js +1 -1
  284. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  285. package/status-light/StatusLight.accessibility.test.js +157 -0
  286. package/status-light/StatusLight.d.ts +4 -0
  287. package/status-light/StatusLight.js +51 -0
  288. package/status-light/StatusLight.stories.tsx +74 -0
  289. package/status-light/StatusLight.test.d.ts +1 -0
  290. package/status-light/StatusLight.test.js +25 -0
  291. package/status-light/types.d.ts +17 -0
  292. package/status-light/types.js +5 -0
  293. package/switch/Switch.accessibility.test.d.ts +1 -0
  294. package/switch/Switch.accessibility.test.js +98 -0
  295. package/switch/Switch.js +6 -9
  296. package/switch/Switch.stories.tsx +12 -0
  297. package/switch/Switch.test.d.ts +1 -0
  298. package/switch/Switch.test.js +1 -1
  299. package/table/DropdownTheme.js +62 -0
  300. package/table/Table.accessibility.test.d.ts +1 -0
  301. package/table/Table.accessibility.test.js +92 -0
  302. package/table/Table.d.ts +6 -2
  303. package/table/Table.js +74 -9
  304. package/table/Table.stories.tsx +309 -2
  305. package/table/Table.test.d.ts +1 -0
  306. package/table/Table.test.js +91 -1
  307. package/table/types.d.ts +28 -0
  308. package/tabs/Tab.js +13 -9
  309. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  310. package/tabs/Tabs.accessibility.test.js +56 -0
  311. package/tabs/Tabs.js +9 -20
  312. package/tabs/Tabs.stories.tsx +8 -4
  313. package/tabs/Tabs.test.d.ts +1 -0
  314. package/tabs/Tabs.test.js +20 -38
  315. package/tabs/types.d.ts +2 -2
  316. package/tag/Tag.accessibility.test.d.ts +1 -0
  317. package/tag/Tag.accessibility.test.js +69 -0
  318. package/tag/Tag.js +7 -7
  319. package/tag/Tag.stories.tsx +5 -8
  320. package/tag/Tag.test.d.ts +1 -0
  321. package/tag/Tag.test.js +5 -13
  322. package/tag/types.d.ts +2 -2
  323. package/text-input/Suggestion.js +1 -1
  324. package/text-input/Suggestions.js +17 -7
  325. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  326. package/text-input/TextInput.accessibility.test.js +320 -0
  327. package/text-input/TextInput.js +69 -70
  328. package/text-input/TextInput.stories.tsx +20 -8
  329. package/text-input/TextInput.test.d.ts +1 -0
  330. package/text-input/TextInput.test.js +98 -82
  331. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  332. package/textarea/Textarea.accessibility.test.js +155 -0
  333. package/textarea/Textarea.js +14 -13
  334. package/textarea/Textarea.test.d.ts +1 -0
  335. package/textarea/Textarea.test.js +1 -1
  336. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  337. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  338. package/toggle-group/ToggleGroup.js +10 -12
  339. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  340. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  341. package/toggle-group/ToggleGroup.test.js +1 -1
  342. package/toggle-group/types.d.ts +2 -2
  343. package/typography/Typography.accessibility.test.d.ts +1 -0
  344. package/typography/Typography.accessibility.test.js +339 -0
  345. package/typography/Typography.stories.tsx +1 -3
  346. package/useTheme.d.ts +31 -20
  347. package/utils/BaseTypography.js +1 -1
  348. package/utils/FocusLock.js +6 -2
  349. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  350. package/wizard/Wizard.accessibility.test.js +55 -0
  351. package/wizard/Wizard.js +14 -25
  352. package/wizard/Wizard.stories.tsx +20 -1
  353. package/wizard/Wizard.test.d.ts +1 -0
  354. package/wizard/Wizard.test.js +1 -1
  355. package/wizard/types.d.ts +2 -2
  356. package/common/OpenSans.css +0 -69
  357. package/common/fonts/OpenSans-Bold.ttf +0 -0
  358. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  359. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  360. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  361. package/common/fonts/OpenSans-Italic.ttf +0 -0
  362. package/common/fonts/OpenSans-Light.ttf +0 -0
  363. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  364. package/common/fonts/OpenSans-Regular.ttf +0 -0
  365. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  366. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  367. package/date-input/Icons.d.ts +0 -6
  368. package/date-input/Icons.js +0 -58
  369. package/paginator/Icons.d.ts +0 -5
  370. package/paginator/Icons.js +0 -40
  371. package/password-input/Icons.d.ts +0 -6
  372. package/password-input/Icons.js +0 -35
  373. package/select/Icons.d.ts +0 -10
  374. package/select/Icons.js +0 -89
  375. package/sidenav/Icons.d.ts +0 -7
  376. package/sidenav/Icons.js +0 -47
  377. package/text-input/Icons.d.ts +0 -8
  378. package/text-input/Icons.js +0 -56
  379. /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
  380. /package/{layout → sidenav}/SidenavContext.js +0 -0
package/footer/types.d.ts CHANGED
@@ -7,7 +7,7 @@ type SocialLink = {
7
7
  */
8
8
  href: string;
9
9
  /**
10
- * Element used as the icon for the link.
10
+ * Material Symbol name or SVG element as the icon used for the link.
11
11
  */
12
12
  logo: string | SVG;
13
13
  /**
@@ -54,5 +54,11 @@ type FooterPropsType = {
54
54
  * inside the custom area.
55
55
  */
56
56
  tabIndex?: number;
57
+ /**
58
+ * Determines the visual style and layout
59
+ * - "default": The default mode with full content and styling.
60
+ * - "reduced": A reduced mode with minimal content and styling.
61
+ */
62
+ mode?: "default" | "reduced";
57
63
  };
58
64
  export default FooterPropsType;
@@ -209,7 +209,9 @@ const ColoredContainer = styled.div<{ color?: string; width?: string; height?: s
209
209
  padding: 1rem;
210
210
  border: 1px solid #a46ede;
211
211
  border-radius: 0.5rem;
212
- font-family: Open Sans, sans-serif;
212
+ font-family:
213
+ Open Sans,
214
+ sans-serif;
213
215
  font-size: 1.5rem;
214
216
  font-weight: bold;
215
217
  color: #a46ede;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,94 @@
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 _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _Header = _interopRequireDefault(require("./Header"));
10
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
11
+ var _Link = _interopRequireDefault(require("../link/Link"));
12
+ var _disabledRules = require("../../test/accessibility/rules/specific/header/disabledRules.js");
13
+ var disabledRules = {
14
+ rules: _disabledRules.disabledRules.reduce(function (rulesObj, rule) {
15
+ rulesObj[rule] = {
16
+ enabled: false
17
+ };
18
+ return rulesObj;
19
+ }, {})
20
+ };
21
+ var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
22
+ viewBox: "0 0 24 24",
23
+ height: "24",
24
+ width: "24",
25
+ fill: "currentColor"
26
+ }, /*#__PURE__*/_react["default"].createElement("path", {
27
+ d: "M0 0h24v24H0z",
28
+ fill: "none"
29
+ }), /*#__PURE__*/_react["default"].createElement("path", {
30
+ d: "M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"
31
+ }));
32
+ var iconUrl = "https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png";
33
+ var options = [{
34
+ value: "1",
35
+ label: "Amazon",
36
+ icon: iconUrl
37
+ }, {
38
+ value: "2",
39
+ label: "Ebay",
40
+ icon: iconUrl
41
+ }, {
42
+ value: "3",
43
+ label: "Wallapop",
44
+ icon: iconSVG
45
+ }, {
46
+ value: "4",
47
+ label: "Aliexpress",
48
+ icon: iconSVG
49
+ }];
50
+ describe("Header component accessibility tests", function () {
51
+ beforeAll(function () {
52
+ Object.defineProperty(window, "matchMedia", {
53
+ writable: true,
54
+ value: jest.fn().mockImplementation(function () {
55
+ return {
56
+ matches: false
57
+ };
58
+ })
59
+ });
60
+ });
61
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
62
+ var _render, container, results;
63
+ return _regenerator["default"].wrap(function _callee$(_context) {
64
+ while (1) switch (_context.prev = _context.next) {
65
+ case 0:
66
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
67
+ content: /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
68
+ alignItems: "center",
69
+ gap: "4rem"
70
+ }, /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link 1"), /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link 2"), /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link 3"), /*#__PURE__*/_react["default"].createElement(_Header["default"].Dropdown, {
71
+ options: options,
72
+ label: "dropdown-test",
73
+ icon: iconSVG,
74
+ iconPosition: "after",
75
+ margin: "medium",
76
+ size: "medium",
77
+ optionsIconPosition: "after",
78
+ onSelectOption: function onSelectOption() {}
79
+ })),
80
+ margin: "medium",
81
+ underlined: true
82
+ })), container = _render.container;
83
+ _context.next = 3;
84
+ return (0, _axeHelper.axe)(container, disabledRules);
85
+ case 3:
86
+ results = _context.sent;
87
+ expect(results).toHaveNoViolations();
88
+ case 5:
89
+ case "end":
90
+ return _context.stop();
91
+ }
92
+ }, _callee);
93
+ })));
94
+ });
package/header/Header.js CHANGED
@@ -15,25 +15,10 @@ var _Icons = require("./Icons");
15
15
  var _variables = require("../common/variables");
16
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
17
17
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
18
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
18
19
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
19
20
  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); }
20
- 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; }
21
- var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
22
- xmlns: "http://www.w3.org/2000/svg",
23
- viewBox: "0 0 24 24",
24
- height: "24",
25
- width: "24"
26
- }, /*#__PURE__*/_react["default"].createElement("path", {
27
- d: "M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6Z"
28
- }));
29
- var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
30
- xmlns: "http://www.w3.org/2000/svg",
31
- viewBox: "0 0 24 24",
32
- width: "24",
33
- height: "24"
34
- }, /*#__PURE__*/_react["default"].createElement("path", {
35
- d: "M3,8H21a1,1,0,0,0,0-2H3A1,1,0,0,0,3,8Zm18,8H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Zm0-5H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z"
36
- }));
21
+ 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 && {}.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; }
37
22
  var Dropdown = function Dropdown(props) {
38
23
  return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
39
24
  };
@@ -109,15 +94,20 @@ var DxcHeader = function DxcHeader(_ref2) {
109
94
  onClick: onClick
110
95
  }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, null, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
111
96
  tabIndex: tabIndex,
112
- onClick: handleMenu
113
- }, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
97
+ onClick: handleMenu,
98
+ "aria-label": "Show options"
99
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
100
+ icon: "menu"
101
+ }), translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
114
102
  hasVisibility: isMenuVisible
115
103
  }, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
116
104
  tabIndex: tabIndex,
117
105
  onClick: handleMenu,
118
106
  "aria-label": translatedLabels.header.closeIcon,
119
107
  title: translatedLabels.header.closeIcon
120
- }, closeIcon)), /*#__PURE__*/_react["default"].createElement(Content, {
108
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
109
+ icon: "close"
110
+ }))), /*#__PURE__*/_react["default"].createElement(Content, {
121
111
  isResponsive: isResponsive,
122
112
  responsiveContent: responsiveContent,
123
113
  handleMenu: handleMenu,
@@ -161,7 +151,7 @@ var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_temp
161
151
  var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n color: ", ";\n"])), function (props) {
162
152
  return props.theme.contentColor;
163
153
  });
164
- var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
154
+ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n & > span {\n font-size: 24px;\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
165
155
  return props.theme.hamburguerHoverColor;
166
156
  }, function (props) {
167
157
  return props.theme.hamburguerFocusColor;
@@ -200,7 +190,7 @@ var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11
200
190
  return props.theme.logoWidth;
201
191
  });
202
192
  var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
203
- var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
193
+ var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n font-size: 24px;\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
204
194
  return props.theme.hamburguerFocusColor;
205
195
  });
206
196
  var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n height: 100%;\n color: ", ";\n"])), function (props) {
@@ -3,14 +3,30 @@ import DxcHeader from "./Header";
3
3
  import DxcButton from "../button/Button";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
- import { userEvent, waitFor, within } from "@storybook/testing-library";
6
+ import { userEvent, waitFor, within } from "@storybook/test";
7
7
  import DxcFlex from "../flex/Flex";
8
8
  import DxcLink from "../link/Link";
9
9
  import { HalstackProvider } from "../HalstackContext";
10
+ import { INITIAL_VIEWPORTS } from "@storybook/addon-viewport";
11
+ import { disabledRules } from "../../test/accessibility/rules/specific/header/disabledRules";
12
+ import preview from "../../.storybook/preview";
10
13
 
11
14
  export default {
12
15
  title: "Header",
13
16
  component: DxcHeader,
17
+ parameters: {
18
+ a11y: {
19
+ config: {
20
+ rules: [
21
+ ...disabledRules.map((ruleId) => ({ id: ruleId, enabled: false })),
22
+ ...preview?.parameters?.a11y?.config?.rules,
23
+ ],
24
+ },
25
+ },
26
+ viewport: {
27
+ viewports: INITIAL_VIEWPORTS,
28
+ },
29
+ },
14
30
  };
15
31
 
16
32
  const options: any = [
@@ -0,0 +1 @@
1
+ export {};
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  var _react = _interopRequireDefault(require("react"));
5
5
  var _react2 = require("@testing-library/react");
6
- var _Header = _interopRequireDefault(require("./Header.tsx"));
6
+ var _Header = _interopRequireDefault(require("./Header"));
7
7
  describe("Header component tests", function () {
8
8
  beforeAll(function () {
9
9
  Object.defineProperty(window, "matchMedia", {
package/header/Icons.js CHANGED
@@ -12,17 +12,12 @@ var dxcLogo = exports.dxcLogo = /*#__PURE__*/_react["default"].createElement("sv
12
12
  height: "40",
13
13
  viewBox: "0 0 73 40"
14
14
  }, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
15
- id: "g10",
16
15
  transform: "translate(0)"
17
- }, /*#__PURE__*/_react["default"].createElement("g", {
18
- id: "g12"
19
- }, /*#__PURE__*/_react["default"].createElement("path", {
20
- id: "path14",
16
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
21
17
  d: "M91.613-28.177v2.514H90.231V-28.15l-2.415-3.82h1.616l1.5,2.532,1.526-2.532h1.571ZM83.9-25.555A3.15,3.15,0,0,1,80.6-28.8v-.018a3.231,3.231,0,0,1,3.294-3.262,3.442,3.442,0,0,1,2.469.865l-.87,1.054a2.311,2.311,0,0,0-1.643-.64,1.891,1.891,0,0,0-1.8,1.964v.018a1.886,1.886,0,0,0,1.9,2,2.2,2.2,0,0,0,1.3-.378v-.9H83.858v-1.2h2.729v2.738A4.071,4.071,0,0,1,83.9-25.555Zm-6.416-3.261a1.913,1.913,0,0,0-1.9-1.982A1.883,1.883,0,0,0,73.7-28.835v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,77.486-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018A3.255,3.255,0,0,1,75.6-32.078a3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,75.583-25.555Zm-9.173-.108V-31.97h1.382v5.045h3.133v1.261Zm-3.433-3.153a1.913,1.913,0,0,0-1.9-1.982,1.883,1.883,0,0,0-1.886,1.964v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,62.978-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018a3.255,3.255,0,0,1,3.348-3.262,3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,61.075-25.555Zm-6.508-.108-3.043-4.009v4.009H50.159V-31.97h1.275l2.944,3.883V-31.97h1.364v6.306Zm-8.246,0v-2.531h-2.55v2.531H42.389V-31.97h1.382v2.5h2.55v-2.5H47.7v6.306Zm-8.432.108A3.178,3.178,0,0,1,34.666-28.8v-.018a3.2,3.2,0,0,1,3.276-3.262,3.237,3.237,0,0,1,2.478.973l-.88,1.018a2.315,2.315,0,0,0-1.606-.712,1.866,1.866,0,0,0-1.822,1.964v.018a1.87,1.87,0,0,0,1.822,1.982,2.265,2.265,0,0,0,1.651-.739l.88.891A3.206,3.206,0,0,1,37.889-25.555Zm-9.805-.108V-31.97h4.739v1.235H29.458v1.279h2.962v1.234H29.458V-26.9h3.411v1.234ZM24.322-30.69v5.027H22.939V-30.69H21.028v-1.28h5.206v1.28H24.322",
22
18
  transform: "translate(-21.028 65.555)",
23
19
  fill: "#010101"
24
20
  }), /*#__PURE__*/_react["default"].createElement("path", {
25
- id: "path16",
26
21
  d: "M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978",
27
22
  transform: "translate(-21.049 88.739)",
28
23
  fill: "#603494"
package/header/types.d.ts CHANGED
@@ -6,13 +6,13 @@ type Props = {
6
6
  */
7
7
  underlined?: boolean;
8
8
  /**
9
- * Content showed in the header. Take into account that the component applies styles
9
+ * Content shown in the header. Take into account that the component applies styles
10
10
  * for the first child in the content, so we recommend the use of React.Fragment
11
11
  * to be applied correctly. Otherwise, the styles can be modified.
12
12
  */
13
13
  content?: React.ReactNode;
14
14
  /**
15
- * Content showed in responsive version. It receives the close menu handler that can
15
+ * Content shown in responsive version. It receives the close menu handler that can
16
16
  * be used to add that functionality when a element is clicked.
17
17
  */
18
18
  responsiveContent?: (closeHandler: () => void) => React.ReactNode;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,33 @@
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 _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _Heading = _interopRequireDefault(require("./Heading"));
10
+ describe("Heading 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(_Heading["default"], {
17
+ text: "my-heading-test",
18
+ level: 1,
19
+ margin: "medium",
20
+ weight: "bold"
21
+ })), container = _render.container;
22
+ _context.next = 3;
23
+ return (0, _axeHelper.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
+ });
@@ -14,7 +14,7 @@ var _variables = require("../common/variables");
14
14
  var _useTheme = _interopRequireDefault(require("../useTheme"));
15
15
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
16
16
  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); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
17
+ 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; }
18
18
  var DxcHeading = function DxcHeading(_ref) {
19
19
  var _ref$level = _ref.level,
20
20
  level = _ref$level === void 0 ? 1 : _ref$level,
@@ -0,0 +1 @@
1
+ export {};
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  var _react = _interopRequireDefault(require("react"));
5
5
  var _react2 = require("@testing-library/react");
6
- var _Heading = _interopRequireDefault(require("./Heading.tsx"));
6
+ var _Heading = _interopRequireDefault(require("./Heading"));
7
7
  describe("Heading component tests", function () {
8
8
  test("Heading renders with default level", function () {
9
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
@@ -153,17 +153,4 @@ describe("Heading component tests", function () {
153
153
  level: 4
154
154
  })).toBeTruthy();
155
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
156
  });
@@ -0,0 +1 @@
1
+ export {};
@@ -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 _axeHelper = require("../../test/accessibility/axe-helper.js");
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, _axeHelper.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 @import url(\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:FILL@0..1\");\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 @@
1
+ export {};
@@ -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 _axeHelper = require("../../test/accessibility/axe-helper.js");
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, _axeHelper.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, _axeHelper.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
+ });
package/image/Image.js CHANGED
@@ -13,7 +13,7 @@ var _useTheme = _interopRequireDefault(require("../useTheme"));
13
13
  var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
14
14
  var _templateObject;
15
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; }
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 && {}.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
17
  var CaptionWrapper = function CaptionWrapper(_ref) {
18
18
  var condition = _ref.condition,
19
19
  wrapper = _ref.wrapper,
@@ -2,7 +2,9 @@ import React from "react";
2
2
  import DxcImage from "./Image";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
- import { DxcFlex, DxcInset, DxcParagraph } from "../main";
5
+ import DxcFlex from "../flex/Flex";
6
+ import DxcInset from "../inset/Inset";
7
+ import DxcParagraph from "../paragraph/Paragraph";
6
8
 
7
9
  export default {
8
10
  title: "Image",
@@ -7,7 +7,7 @@ declare const DxcApplicationLayout: {
7
7
  Dropdown: (props: import("../dropdown/types").default) => React.JSX.Element;
8
8
  };
9
9
  Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
10
- Footer: ({ socialLinks, bottomLinks, copyright, children, margin, tabIndex, }: import("../footer/types").default) => JSX.Element;
10
+ Footer: ({ socialLinks, bottomLinks, copyright, children, margin, tabIndex, mode, }: import("../footer/types").default) => JSX.Element;
11
11
  SideNav: {
12
12
  ({ title, children }: import("../sidenav/types").default): JSX.Element;
13
13
  Section: ({ children }: import("../sidenav/types").SidenavSectionPropsType) => JSX.Element;