@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3624d0

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 (421) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1246 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +105 -181
  9. package/accordion/Accordion.stories.tsx +83 -149
  10. package/accordion/Accordion.test.js +32 -33
  11. package/accordion/types.d.ts +10 -17
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +38 -107
  15. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  16. package/accordion-group/AccordionGroup.test.js +55 -90
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +16 -17
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +40 -127
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -40
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -2
  39. package/bleed/Bleed.js +14 -55
  40. package/bleed/Bleed.stories.tsx +95 -95
  41. package/bleed/types.d.ts +26 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +30 -81
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -14
  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 +169 -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/bulleted-list/BulletedList.accessibility.test.js +119 -0
  61. package/bulleted-list/BulletedList.d.ts +7 -0
  62. package/bulleted-list/BulletedList.js +92 -0
  63. package/bulleted-list/BulletedList.stories.tsx +115 -0
  64. package/bulleted-list/types.d.ts +38 -0
  65. package/button/Button.accessibility.test.js +127 -0
  66. package/button/Button.d.ts +1 -1
  67. package/button/Button.js +63 -113
  68. package/button/Button.stories.tsx +151 -100
  69. package/button/Button.test.js +20 -17
  70. package/button/types.d.ts +12 -8
  71. package/card/Card.accessibility.test.js +36 -0
  72. package/card/Card.d.ts +1 -1
  73. package/card/Card.js +59 -102
  74. package/card/Card.stories.tsx +12 -42
  75. package/card/Card.test.js +11 -22
  76. package/card/types.d.ts +6 -11
  77. package/checkbox/Checkbox.accessibility.test.js +87 -0
  78. package/checkbox/Checkbox.d.ts +2 -2
  79. package/checkbox/Checkbox.js +143 -181
  80. package/checkbox/Checkbox.stories.tsx +166 -136
  81. package/checkbox/Checkbox.test.js +163 -29
  82. package/checkbox/types.d.ts +18 -6
  83. package/chip/Chip.accessibility.test.js +67 -0
  84. package/chip/Chip.js +45 -80
  85. package/chip/Chip.stories.tsx +107 -27
  86. package/chip/Chip.test.js +18 -33
  87. package/chip/types.d.ts +4 -4
  88. package/common/coreTokens.d.ts +237 -0
  89. package/common/coreTokens.js +184 -0
  90. package/common/utils.d.ts +1 -0
  91. package/common/utils.js +6 -12
  92. package/common/variables.d.ts +1392 -0
  93. package/common/variables.js +1081 -1190
  94. package/container/Container.d.ts +4 -0
  95. package/container/Container.js +194 -0
  96. package/container/Container.stories.tsx +214 -0
  97. package/container/types.d.ts +74 -0
  98. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  99. package/contextual-menu/ContextualMenu.d.ts +5 -0
  100. package/contextual-menu/ContextualMenu.js +88 -0
  101. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  102. package/contextual-menu/ContextualMenu.test.js +205 -0
  103. package/contextual-menu/GroupItem.d.ts +4 -0
  104. package/contextual-menu/GroupItem.js +67 -0
  105. package/contextual-menu/ItemAction.d.ts +4 -0
  106. package/contextual-menu/ItemAction.js +51 -0
  107. package/contextual-menu/MenuItem.d.ts +4 -0
  108. package/contextual-menu/MenuItem.js +29 -0
  109. package/contextual-menu/SingleItem.d.ts +4 -0
  110. package/contextual-menu/SingleItem.js +38 -0
  111. package/contextual-menu/types.d.ts +58 -0
  112. package/date-input/Calendar.d.ts +4 -0
  113. package/date-input/Calendar.js +214 -0
  114. package/date-input/DateInput.accessibility.test.js +228 -0
  115. package/date-input/DateInput.js +170 -306
  116. package/date-input/DateInput.stories.tsx +210 -56
  117. package/date-input/DateInput.test.js +708 -369
  118. package/date-input/DatePicker.d.ts +4 -0
  119. package/date-input/DatePicker.js +121 -0
  120. package/date-input/YearPicker.d.ts +4 -0
  121. package/date-input/YearPicker.js +100 -0
  122. package/date-input/types.d.ts +86 -22
  123. package/dialog/Dialog.accessibility.test.js +69 -0
  124. package/dialog/Dialog.d.ts +1 -1
  125. package/dialog/Dialog.js +56 -129
  126. package/dialog/Dialog.stories.tsx +326 -167
  127. package/dialog/Dialog.test.js +287 -20
  128. package/dialog/types.d.ts +18 -25
  129. package/divider/Divider.accessibility.test.js +33 -0
  130. package/divider/Divider.d.ts +4 -0
  131. package/divider/Divider.js +36 -0
  132. package/divider/Divider.stories.tsx +223 -0
  133. package/divider/Divider.test.js +38 -0
  134. package/divider/types.d.ts +21 -0
  135. package/dropdown/Dropdown.accessibility.test.js +180 -0
  136. package/dropdown/Dropdown.d.ts +1 -1
  137. package/dropdown/Dropdown.js +233 -307
  138. package/dropdown/Dropdown.stories.tsx +235 -57
  139. package/dropdown/Dropdown.test.js +575 -165
  140. package/dropdown/DropdownMenu.d.ts +4 -0
  141. package/dropdown/DropdownMenu.js +63 -0
  142. package/dropdown/DropdownMenuItem.d.ts +4 -0
  143. package/dropdown/DropdownMenuItem.js +71 -0
  144. package/dropdown/types.d.ts +35 -19
  145. package/file-input/FileInput.accessibility.test.js +160 -0
  146. package/file-input/FileInput.d.ts +2 -2
  147. package/file-input/FileInput.js +246 -393
  148. package/file-input/FileInput.stories.tsx +123 -12
  149. package/file-input/FileInput.test.js +292 -367
  150. package/file-input/FileItem.d.ts +4 -14
  151. package/file-input/FileItem.js +61 -120
  152. package/file-input/types.d.ts +25 -8
  153. package/flex/Flex.d.ts +4 -0
  154. package/flex/Flex.js +57 -0
  155. package/flex/Flex.stories.tsx +112 -0
  156. package/flex/types.d.ts +97 -0
  157. package/flex/types.js +5 -0
  158. package/footer/Footer.accessibility.test.js +125 -0
  159. package/footer/Footer.d.ts +1 -1
  160. package/footer/Footer.js +73 -191
  161. package/footer/Footer.stories.tsx +99 -21
  162. package/footer/Footer.test.js +33 -57
  163. package/footer/Icons.d.ts +3 -2
  164. package/footer/Icons.js +54 -23
  165. package/footer/types.d.ts +26 -27
  166. package/grid/Grid.d.ts +7 -0
  167. package/grid/Grid.js +76 -0
  168. package/grid/Grid.stories.tsx +219 -0
  169. package/grid/types.d.ts +115 -0
  170. package/grid/types.js +5 -0
  171. package/header/Header.accessibility.test.js +93 -0
  172. package/header/Header.d.ts +4 -3
  173. package/header/Header.js +104 -218
  174. package/header/Header.stories.tsx +168 -63
  175. package/header/Header.test.js +31 -28
  176. package/header/Icons.d.ts +2 -2
  177. package/header/Icons.js +5 -15
  178. package/header/types.d.ts +7 -21
  179. package/heading/Heading.accessibility.test.js +33 -0
  180. package/heading/Heading.js +10 -32
  181. package/heading/Heading.test.js +71 -88
  182. package/heading/types.d.ts +7 -7
  183. package/icon/Icon.accessibility.test.js +30 -0
  184. package/icon/Icon.d.ts +4 -0
  185. package/icon/Icon.js +33 -0
  186. package/icon/Icon.stories.tsx +28 -0
  187. package/icon/types.d.ts +4 -0
  188. package/icon/types.js +5 -0
  189. package/image/Image.accessibility.test.js +56 -0
  190. package/image/Image.d.ts +4 -0
  191. package/image/Image.js +70 -0
  192. package/image/Image.stories.tsx +129 -0
  193. package/image/types.d.ts +72 -0
  194. package/image/types.js +5 -0
  195. package/inset/Inset.js +14 -55
  196. package/inset/Inset.stories.tsx +37 -36
  197. package/inset/types.d.ts +26 -2
  198. package/layout/ApplicationLayout.d.ts +16 -6
  199. package/layout/ApplicationLayout.js +88 -182
  200. package/layout/ApplicationLayout.stories.tsx +85 -94
  201. package/layout/Icons.d.ts +7 -0
  202. package/layout/Icons.js +41 -48
  203. package/layout/types.d.ts +19 -35
  204. package/link/Link.accessibility.test.js +108 -0
  205. package/link/Link.d.ts +3 -2
  206. package/link/Link.js +65 -101
  207. package/link/Link.stories.tsx +157 -55
  208. package/link/Link.test.js +25 -53
  209. package/link/types.d.ts +15 -31
  210. package/main.d.ts +17 -13
  211. package/main.js +86 -101
  212. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  213. package/nav-tabs/NavTabs.d.ts +7 -0
  214. package/nav-tabs/NavTabs.js +93 -0
  215. package/nav-tabs/NavTabs.stories.tsx +279 -0
  216. package/nav-tabs/NavTabs.test.js +77 -0
  217. package/nav-tabs/NavTabsContext.d.ts +3 -0
  218. package/nav-tabs/NavTabsContext.js +8 -0
  219. package/nav-tabs/Tab.d.ts +4 -0
  220. package/nav-tabs/Tab.js +117 -0
  221. package/nav-tabs/types.d.ts +52 -0
  222. package/nav-tabs/types.js +5 -0
  223. package/number-input/NumberInput.accessibility.test.js +228 -0
  224. package/number-input/NumberInput.js +47 -44
  225. package/number-input/NumberInput.stories.tsx +44 -28
  226. package/number-input/NumberInput.test.js +862 -381
  227. package/number-input/NumberInputContext.d.ts +3 -4
  228. package/number-input/NumberInputContext.js +3 -14
  229. package/number-input/types.d.ts +34 -15
  230. package/package.json +54 -53
  231. package/paginator/Paginator.accessibility.test.js +79 -0
  232. package/paginator/Paginator.js +46 -100
  233. package/paginator/Paginator.stories.tsx +24 -0
  234. package/paginator/Paginator.test.js +280 -211
  235. package/paginator/types.d.ts +3 -3
  236. package/paragraph/Paragraph.accessibility.test.js +28 -0
  237. package/paragraph/Paragraph.d.ts +5 -0
  238. package/paragraph/Paragraph.js +22 -0
  239. package/paragraph/Paragraph.stories.tsx +27 -0
  240. package/password-input/PasswordInput.accessibility.test.js +153 -0
  241. package/password-input/PasswordInput.js +58 -124
  242. package/password-input/PasswordInput.stories.tsx +1 -33
  243. package/password-input/PasswordInput.test.js +162 -147
  244. package/password-input/types.d.ts +21 -17
  245. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  246. package/progress-bar/ProgressBar.js +68 -92
  247. package/progress-bar/ProgressBar.stories.tsx +93 -0
  248. package/progress-bar/ProgressBar.test.js +72 -44
  249. package/progress-bar/types.d.ts +3 -3
  250. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  251. package/quick-nav/QuickNav.d.ts +4 -0
  252. package/quick-nav/QuickNav.js +94 -0
  253. package/quick-nav/QuickNav.stories.tsx +356 -0
  254. package/quick-nav/types.d.ts +21 -0
  255. package/quick-nav/types.js +5 -0
  256. package/radio-group/Radio.d.ts +1 -1
  257. package/radio-group/Radio.js +59 -76
  258. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  259. package/radio-group/RadioGroup.js +73 -116
  260. package/radio-group/RadioGroup.stories.tsx +135 -17
  261. package/radio-group/RadioGroup.test.js +529 -467
  262. package/radio-group/types.d.ts +86 -9
  263. package/resultset-table/Icons.d.ts +7 -0
  264. package/resultset-table/Icons.js +47 -0
  265. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  266. package/resultset-table/ResultsetTable.d.ts +7 -0
  267. package/resultset-table/ResultsetTable.js +171 -0
  268. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  269. package/resultset-table/ResultsetTable.test.js +381 -0
  270. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  271. package/resultset-table/types.js +5 -0
  272. package/select/Listbox.d.ts +4 -0
  273. package/select/Listbox.js +155 -0
  274. package/select/Option.d.ts +4 -0
  275. package/select/Option.js +89 -0
  276. package/select/Select.accessibility.test.js +228 -0
  277. package/select/Select.js +237 -504
  278. package/select/Select.stories.tsx +533 -196
  279. package/select/Select.test.js +1953 -1588
  280. package/select/types.d.ts +65 -26
  281. package/sidenav/Sidenav.accessibility.test.js +59 -0
  282. package/sidenav/Sidenav.d.ts +6 -5
  283. package/sidenav/Sidenav.js +136 -71
  284. package/sidenav/Sidenav.stories.tsx +246 -151
  285. package/sidenav/Sidenav.test.js +26 -45
  286. package/sidenav/SidenavContext.d.ts +5 -0
  287. package/sidenav/SidenavContext.js +13 -0
  288. package/sidenav/types.d.ts +52 -26
  289. package/slider/Slider.accessibility.test.js +104 -0
  290. package/slider/Slider.d.ts +2 -2
  291. package/slider/Slider.js +149 -180
  292. package/slider/Slider.test.js +198 -73
  293. package/slider/types.d.ts +11 -3
  294. package/spinner/Spinner.accessibility.test.js +96 -0
  295. package/spinner/Spinner.js +34 -74
  296. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  297. package/spinner/Spinner.test.js +26 -35
  298. package/spinner/types.d.ts +3 -3
  299. package/status-light/StatusLight.accessibility.test.js +157 -0
  300. package/status-light/StatusLight.d.ts +4 -0
  301. package/status-light/StatusLight.js +51 -0
  302. package/status-light/StatusLight.stories.tsx +74 -0
  303. package/status-light/StatusLight.test.js +25 -0
  304. package/status-light/types.d.ts +17 -0
  305. package/status-light/types.js +5 -0
  306. package/switch/Switch.accessibility.test.js +98 -0
  307. package/switch/Switch.d.ts +2 -2
  308. package/switch/Switch.js +149 -114
  309. package/switch/Switch.stories.tsx +56 -67
  310. package/switch/Switch.test.js +146 -39
  311. package/switch/types.d.ts +13 -5
  312. package/table/DropdownTheme.js +62 -0
  313. package/table/Table.accessibility.test.js +93 -0
  314. package/table/Table.d.ts +6 -2
  315. package/table/Table.js +78 -35
  316. package/table/Table.stories.tsx +663 -0
  317. package/table/Table.test.js +95 -8
  318. package/table/types.d.ts +34 -6
  319. package/tabs/Tab.d.ts +4 -0
  320. package/tabs/Tab.js +117 -0
  321. package/tabs/Tabs.accessibility.test.js +56 -0
  322. package/tabs/Tabs.d.ts +1 -1
  323. package/tabs/Tabs.js +305 -145
  324. package/tabs/Tabs.stories.tsx +124 -14
  325. package/tabs/Tabs.test.js +220 -67
  326. package/tabs/types.d.ts +31 -17
  327. package/tag/Tag.accessibility.test.js +69 -0
  328. package/tag/Tag.js +42 -79
  329. package/tag/Tag.stories.tsx +24 -10
  330. package/tag/Tag.test.js +18 -37
  331. package/tag/types.d.ts +9 -9
  332. package/text-input/Suggestion.d.ts +4 -0
  333. package/text-input/Suggestion.js +67 -0
  334. package/text-input/Suggestions.d.ts +4 -0
  335. package/text-input/Suggestions.js +94 -0
  336. package/text-input/TextInput.accessibility.test.js +321 -0
  337. package/text-input/TextInput.js +332 -557
  338. package/text-input/TextInput.stories.tsx +282 -282
  339. package/text-input/TextInput.test.js +1442 -1377
  340. package/text-input/types.d.ts +70 -24
  341. package/textarea/Textarea.accessibility.test.js +155 -0
  342. package/textarea/Textarea.js +83 -134
  343. package/textarea/Textarea.stories.tsx +174 -0
  344. package/textarea/Textarea.test.js +168 -198
  345. package/textarea/types.d.ts +27 -16
  346. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  347. package/toggle-group/ToggleGroup.d.ts +2 -2
  348. package/toggle-group/ToggleGroup.js +94 -106
  349. package/toggle-group/ToggleGroup.stories.tsx +56 -11
  350. package/toggle-group/ToggleGroup.test.js +78 -66
  351. package/toggle-group/types.d.ts +36 -19
  352. package/typography/Typography.accessibility.test.js +339 -0
  353. package/typography/Typography.d.ts +4 -0
  354. package/typography/Typography.js +23 -0
  355. package/typography/Typography.stories.tsx +198 -0
  356. package/typography/types.d.ts +18 -0
  357. package/typography/types.js +5 -0
  358. package/useTheme.d.ts +1144 -1
  359. package/useTheme.js +4 -11
  360. package/useTranslatedLabels.d.ts +85 -0
  361. package/useTranslatedLabels.js +14 -0
  362. package/utils/BaseTypography.d.ts +21 -0
  363. package/utils/BaseTypography.js +94 -0
  364. package/utils/FocusLock.d.ts +13 -0
  365. package/utils/FocusLock.js +124 -0
  366. package/wizard/Wizard.accessibility.test.js +55 -0
  367. package/wizard/Wizard.d.ts +1 -1
  368. package/wizard/Wizard.js +78 -120
  369. package/wizard/Wizard.stories.tsx +67 -19
  370. package/wizard/Wizard.test.js +73 -87
  371. package/wizard/types.d.ts +14 -10
  372. package/ThemeContext.d.ts +0 -10
  373. package/ThemeContext.js +0 -243
  374. package/card/ice-cream.jpg +0 -0
  375. package/common/OpenSans.css +0 -81
  376. package/common/RequiredComponent.js +0 -32
  377. package/common/fonts/OpenSans-Bold.ttf +0 -0
  378. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  379. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  380. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  381. package/common/fonts/OpenSans-Italic.ttf +0 -0
  382. package/common/fonts/OpenSans-Light.ttf +0 -0
  383. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  384. package/common/fonts/OpenSans-Regular.ttf +0 -0
  385. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  386. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  387. package/list/List.d.ts +0 -4
  388. package/list/List.js +0 -47
  389. package/list/List.stories.tsx +0 -95
  390. package/list/types.d.ts +0 -7
  391. package/number-input/numberInputContextTypes.d.ts +0 -19
  392. package/paginator/Icons.js +0 -66
  393. package/progress-bar/ProgressBar.stories.jsx +0 -58
  394. package/radio/Radio.d.ts +0 -4
  395. package/radio/Radio.js +0 -174
  396. package/radio/Radio.stories.tsx +0 -192
  397. package/radio/Radio.test.js +0 -71
  398. package/radio/types.d.ts +0 -54
  399. package/resultsetTable/ResultsetTable.d.ts +0 -4
  400. package/resultsetTable/ResultsetTable.js +0 -254
  401. package/resultsetTable/ResultsetTable.test.js +0 -306
  402. package/row/Row.d.ts +0 -3
  403. package/row/Row.js +0 -127
  404. package/row/Row.stories.tsx +0 -237
  405. package/row/types.d.ts +0 -10
  406. package/slider/Slider.stories.tsx +0 -177
  407. package/stack/Stack.d.ts +0 -3
  408. package/stack/Stack.js +0 -97
  409. package/stack/Stack.stories.tsx +0 -164
  410. package/stack/types.d.ts +0 -9
  411. package/table/Table.stories.jsx +0 -277
  412. package/text/Text.d.ts +0 -7
  413. package/text/Text.js +0 -30
  414. package/text/Text.stories.tsx +0 -19
  415. package/textarea/Textarea.stories.jsx +0 -157
  416. /package/{list → action-icon}/types.js +0 -0
  417. /package/{radio → breadcrumbs}/types.js +0 -0
  418. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  419. /package/{row → container}/types.js +0 -0
  420. /package/{stack → contextual-menu}/types.js +0 -0
  421. /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
@@ -1,12 +1,32 @@
1
1
  import React from "react";
2
2
  import DxcHeader from "./Header";
3
+ import DxcButton from "../button/Button";
3
4
  import Title from "../../.storybook/components/Title";
4
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
6
  import { userEvent, waitFor, within } from "@storybook/testing-library";
7
+ import DxcFlex from "../flex/Flex";
8
+ import DxcLink from "../link/Link";
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";
6
13
 
7
14
  export default {
8
15
  title: "Header",
9
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
+ },
10
30
  };
11
31
 
12
32
  const options: any = [
@@ -16,24 +36,61 @@ const options: any = [
16
36
  },
17
37
  ];
18
38
 
39
+ const options2: any = [
40
+ {
41
+ value: 1,
42
+ label: "Home",
43
+ },
44
+ {
45
+ value: 2,
46
+ label: "Release notes",
47
+ },
48
+ {
49
+ value: 3,
50
+ label: "Sign out",
51
+ },
52
+ ];
53
+
54
+ const opinionatedTheme = {
55
+ header: {
56
+ baseColor: "#ffffff",
57
+ accentColor: "#000000",
58
+ fontColor: "#000000",
59
+ menuBaseColor: "#ffffff",
60
+ hamburguerColor: "#000000",
61
+ logo: "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
62
+ logoResponsive:
63
+ "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
64
+ contentColor: "#000000",
65
+ overlayColor: "#000000b3",
66
+ },
67
+ };
68
+
19
69
  export const Chromatic = () => (
20
70
  <>
21
71
  <ExampleContainer>
22
72
  <Title title="Default with dropdown" theme="light" level={4} />
23
- <DxcHeader content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />} />
73
+ <DxcHeader
74
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
75
+ />
24
76
  </ExampleContainer>
25
77
  <ExampleContainer>
26
78
  <Title title="Underlined with text" theme="light" level={4} />
27
79
  <DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
28
80
  </ExampleContainer>
29
81
  <ExampleContainer>
30
- <Title title="Responsive" theme="light" level={4} />
31
- <div style={{ width: "400px" }}>
32
- <DxcHeader
33
- responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
34
- underlined
35
- />
36
- </div>
82
+ <Title title="Underlined, dropdown and links" theme="light" level={4} />
83
+ <DxcHeader
84
+ content={
85
+ <DxcFlex alignItems="center" gap="4rem">
86
+ <DxcLink>Link 1</DxcLink>
87
+ <DxcLink>Link 2</DxcLink>
88
+ <DxcLink>Link 3</DxcLink>
89
+ <DxcHeader.Dropdown options={options2} label="Label" onSelectOption={() => {}} />
90
+ </DxcFlex>
91
+ }
92
+ underlined
93
+ />
37
94
  </ExampleContainer>
38
95
  <Title title="Margins" theme="light" level={2} />
39
96
  <ExampleContainer>
@@ -71,92 +128,140 @@ export const Chromatic = () => (
71
128
  <DxcHeader underlined margin="xxlarge" />
72
129
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
73
130
  </ExampleContainer>
74
-
75
- <Title title="Paddings" theme="light" level={2} />
131
+ <Title title="Opinionated theme" theme="light" level={2} />
76
132
  <ExampleContainer>
77
- <Title title="Xxsmall padding" theme="light" level={4} />
78
- <DxcHeader underlined padding="xxsmall" />
79
- </ExampleContainer>
80
- <ExampleContainer>
81
- <Title title="Xsmall padding" theme="light" level={4} />
82
- <DxcHeader underlined padding="xsmall" />
83
- </ExampleContainer>
84
- <ExampleContainer>
85
- <Title title="Small padding" theme="light" level={4} />
86
- <DxcHeader underlined padding="small" />
87
- </ExampleContainer>
88
- <ExampleContainer>
89
- <Title title="Medium padding" theme="light" level={4} />
90
- <DxcHeader underlined padding="medium" />
91
- </ExampleContainer>
92
- <ExampleContainer>
93
- <Title title="Large padding" theme="light" level={4} />
94
- <DxcHeader underlined padding="large" />
95
- </ExampleContainer>
96
- <ExampleContainer>
97
- <Title title="Xlarge padding" theme="light" level={4} />
98
- <DxcHeader underlined padding="xlarge" />
99
- </ExampleContainer>
100
- <ExampleContainer>
101
- <Title title="Xxlarge padding" theme="light" level={4} />
102
- <DxcHeader underlined padding="xxlarge" />
133
+ <HalstackProvider theme={opinionatedTheme}>
134
+ <DxcHeader
135
+ underlined
136
+ content={<DxcButton label={"Custom Button"} />}
137
+ responsiveContent={(closeHandler) => (
138
+ <>
139
+ <DxcButton label={"Custom Button"} onClick={closeHandler} />
140
+ Custom content
141
+ </>
142
+ )}
143
+ />
144
+ </HalstackProvider>
103
145
  </ExampleContainer>
104
146
  </>
105
147
  );
106
148
 
107
- const RespHeader = () => (
149
+ export const ResponsiveHeader = () => (
108
150
  <ExampleContainer>
109
151
  <Title title="Responsive" theme="light" level={4} />
110
- <div style={{ maxWidth: "400px" }}>
111
- <DxcHeader
112
- responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
113
- underlined
114
- />
115
- </div>
152
+ <DxcHeader
153
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
154
+ responsiveContent={(closeHandler) => (
155
+ <DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />
156
+ )}
157
+ underlined
158
+ />
116
159
  </ExampleContainer>
117
160
  );
118
161
 
119
162
  const RespHeaderFocus = () => (
120
163
  <ExampleContainer pseudoState="pseudo-focus">
121
- <Title title="Responsive" theme="light" level={4} />
122
- <div style={{ maxWidth: "400px" }}>
123
- <DxcHeader
124
- responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>}
125
- underlined
126
- />
127
- </div>
164
+ <Title title="Responsive focus" theme="light" level={4} />
165
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
128
166
  </ExampleContainer>
129
167
  );
130
168
 
131
169
  const RespHeaderHover = () => (
132
170
  <ExampleContainer pseudoState="pseudo-hover">
133
- <Title title="Responsive" theme="light" level={4} />
134
- <div style={{ maxWidth: "400px" }}>
135
- <DxcHeader
136
- responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>}
137
- underlined
138
- />
139
- </div>
171
+ <Title title="Responsive hover" theme="light" level={4} />
172
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
140
173
  </ExampleContainer>
141
174
  );
142
175
 
143
- export const ResponsiveHeader = RespHeader.bind({});
144
- ResponsiveHeader.play = async ({ canvasElement }) => {
145
- const canvas = within(canvasElement);
146
- await waitFor(() => canvas.findByText("Menu"));
147
- await userEvent.click(canvas.getByText("Menu"));
176
+ const RespHeaderMenuMobile = () => (
177
+ <ExampleContainer>
178
+ <Title title="Responsive menu" theme="light" level={4} />
179
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
180
+ </ExampleContainer>
181
+ );
182
+
183
+ const RespHeaderMenuTablet = () => (
184
+ <ExampleContainer>
185
+ <Title title="Responsive menu" theme="light" level={4} />
186
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
187
+ </ExampleContainer>
188
+ );
189
+
190
+ const RespHeaderMenuOpinionated = () => (
191
+ <ExampleContainer>
192
+ <Title title="Responsive menu" theme="light" level={4} />
193
+ <HalstackProvider theme={opinionatedTheme}>
194
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
195
+ </HalstackProvider>
196
+ </ExampleContainer>
197
+ );
198
+
199
+ ResponsiveHeader.parameters = {
200
+ viewport: {
201
+ defaultViewport: "iphonex",
202
+ },
203
+ chromatic: { viewports: [375] },
148
204
  };
149
205
 
150
206
  export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
207
+ ResponsiveHeaderFocus.parameters = {
208
+ viewport: {
209
+ defaultViewport: "iphonex",
210
+ },
211
+ chromatic: { viewports: [375] },
212
+ };
151
213
  ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
152
214
  const canvas = within(canvasElement);
153
215
  await waitFor(() => canvas.findByText("Menu"));
154
- await userEvent.click(canvas.getByText("Menu"));
155
216
  };
156
217
 
157
218
  export const ResponsiveHeaderHover = RespHeaderHover.bind({});
219
+ ResponsiveHeaderHover.parameters = {
220
+ viewport: {
221
+ defaultViewport: "iphonex",
222
+ },
223
+ chromatic: { viewports: [375] },
224
+ };
158
225
  ResponsiveHeaderHover.play = async ({ canvasElement }) => {
159
226
  const canvas = within(canvasElement);
160
227
  await waitFor(() => canvas.findByText("Menu"));
228
+ };
229
+
230
+ export const ResponsiveHeaderMenuMobile = RespHeaderMenuMobile.bind({});
231
+ ResponsiveHeaderMenuMobile.parameters = {
232
+ viewport: {
233
+ defaultViewport: "iphonex",
234
+ },
235
+ chromatic: { viewports: [375] },
236
+ };
237
+ ResponsiveHeaderMenuMobile.play = async ({ canvasElement }) => {
238
+ const canvas = within(canvasElement);
239
+ await waitFor(() => canvas.findByText("Menu"));
240
+ await userEvent.click(canvas.getByText("Menu"));
241
+ };
242
+
243
+ export const ResponsiveHeaderMenuTablet = RespHeaderMenuTablet.bind({});
244
+ ResponsiveHeaderMenuTablet.parameters = {
245
+ viewport: {
246
+ defaultViewport: "pixelxl",
247
+ },
248
+ chromatic: { viewports: [720] },
249
+ };
250
+ ResponsiveHeaderMenuTablet.play = async ({ canvasElement }) => {
251
+ const canvas = within(canvasElement);
252
+ await waitFor(() => canvas.findByText("Menu"));
253
+ await userEvent.click(canvas.getByText("Menu"));
254
+ };
255
+
256
+ export const ResponsiveHeaderMenuOpinionated = RespHeaderMenuOpinionated.bind({});
257
+ ResponsiveHeaderMenuOpinionated.parameters = {
258
+ viewport: {
259
+ defaultViewport: "pixelxl",
260
+ },
261
+ chromatic: { viewports: [720] },
262
+ };
263
+ ResponsiveHeaderMenuOpinionated.play = async ({ canvasElement }) => {
264
+ const canvas = within(canvasElement);
265
+ await waitFor(() => canvas.findByText("Menu"));
161
266
  await userEvent.click(canvas.getByText("Menu"));
162
267
  };
@@ -1,34 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
- var _Header = _interopRequireDefault(require("./Header"));
10
-
11
- var _linkedin = _interopRequireDefault(require("../../app/src/images/linkedin.svg"));
12
-
6
+ var _Header = _interopRequireDefault(require("./Header.tsx"));
13
7
  describe("Header component tests", function () {
8
+ beforeAll(function () {
9
+ Object.defineProperty(window, "matchMedia", {
10
+ writable: true,
11
+ value: jest.fn().mockImplementation(function () {
12
+ return {
13
+ matches: false
14
+ };
15
+ })
16
+ });
17
+ });
14
18
  test("Header renders with default logo", function () {
15
19
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], null)),
16
- getByTitle = _render.getByTitle;
17
-
20
+ getByTitle = _render.getByTitle;
18
21
  expect(getByTitle("DXC Logo")).toBeTruthy();
19
22
  });
20
23
  test("Call correct function on logo click", function () {
21
24
  var onClick = jest.fn();
22
-
23
25
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
24
- onClick: onClick
25
- })),
26
- getByTitle = _render2.getByTitle;
27
-
26
+ onClick: onClick
27
+ })),
28
+ getByTitle = _render2.getByTitle;
28
29
  var logo = getByTitle("DXC Logo");
29
-
30
30
  _react2.fireEvent.click(logo);
31
-
32
31
  expect(onClick).toHaveBeenCalled();
33
32
  });
34
33
  test("Header renders with correct children", function () {
@@ -37,12 +36,10 @@ describe("Header component tests", function () {
37
36
  configurable: true,
38
37
  value: 1024
39
38
  });
40
-
41
39
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
42
- content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
43
- })),
44
- getByText = _render3.getByText;
45
-
40
+ content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
41
+ })),
42
+ getByText = _render3.getByText;
46
43
  expect(getByText("header-child-text")).toBeTruthy();
47
44
  });
48
45
  test("Header renders menu button in mobile", function () {
@@ -50,14 +47,20 @@ describe("Header component tests", function () {
50
47
  configurable: true,
51
48
  value: 425
52
49
  });
53
-
50
+ Object.defineProperty(window, "matchMedia", {
51
+ writable: true,
52
+ value: jest.fn().mockImplementation(function () {
53
+ return {
54
+ matches: true
55
+ };
56
+ })
57
+ });
54
58
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
55
- responsiveContent: function responsiveContent(closeMenu) {
56
- return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
57
- }
58
- })),
59
- getByText = _render4.getByText;
60
-
59
+ responsiveContent: function responsiveContent() {
60
+ return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
61
+ }
62
+ })),
63
+ getByText = _render4.getByText;
61
64
  expect(getByText("Menu")).toBeTruthy();
62
65
  });
63
66
  });
package/header/Icons.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- /// <reference types="react" />
2
- export declare const dxcLogo: JSX.Element;
1
+ import React from "react";
2
+ export declare const dxcLogo: React.JSX.Element;
package/header/Icons.js CHANGED
@@ -1,34 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.dxcLogo = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
- var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
9
+ var dxcLogo = exports.dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
13
10
  xmlns: "http://www.w3.org/2000/svg",
14
11
  width: "73",
15
12
  height: "40",
16
13
  viewBox: "0 0 73 40"
17
14
  }, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
18
- id: "g10",
19
15
  transform: "translate(0)"
20
- }, /*#__PURE__*/_react["default"].createElement("g", {
21
- id: "g12"
22
- }, /*#__PURE__*/_react["default"].createElement("path", {
23
- id: "path14",
16
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
24
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",
25
18
  transform: "translate(-21.028 65.555)",
26
- fill: "#100f0d"
19
+ fill: "#010101"
27
20
  }), /*#__PURE__*/_react["default"].createElement("path", {
28
- id: "path16",
29
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",
30
22
  transform: "translate(-21.049 88.739)",
31
- fill: "#100f0d"
32
- }))));
33
-
34
- exports.dxcLogo = dxcLogo;
23
+ fill: "#603494"
24
+ }))));
package/header/types.d.ts CHANGED
@@ -1,24 +1,18 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Padding = {
4
- top?: Space;
5
- bottom?: Space;
6
- left?: Space;
7
- right?: Space;
8
- };
9
- declare type Props = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Props = {
10
4
  /**
11
- * Wether a contrast line should appear at the bottom of the header.
5
+ * Whether a contrast line should appear at the bottom of the header.
12
6
  */
13
7
  underlined?: boolean;
14
8
  /**
15
- * 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
16
10
  * for the first child in the content, so we recommend the use of React.Fragment
17
11
  * to be applied correctly. Otherwise, the styles can be modified.
18
12
  */
19
13
  content?: React.ReactNode;
20
14
  /**
21
- * 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
22
16
  * be used to add that functionality when a element is clicked.
23
17
  */
24
18
  responsiveContent?: (closeHandler: () => void) => React.ReactNode;
@@ -27,19 +21,11 @@ declare type Props = {
27
21
  */
28
22
  onClick?: () => void;
29
23
  /**
30
- * Size of the bottom margin to be applied to the header
31
- * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
24
+ * Size of the bottom margin to be applied to the header.
32
25
  */
33
26
  margin?: Space;
34
27
  /**
35
- * Size of the padding to be applied to the custom area of the component
36
- * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
37
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
38
- * order to specify different padding sizes.
39
- */
40
- padding?: Space | Padding;
41
- /**
42
- * Value of the tabindex for all interactuable elements, except those inside the
28
+ * Value of the tabindex for all interactive elements, except those inside the
43
29
  * custom area.
44
30
  */
45
31
  tabIndex?: number;
@@ -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.tsx"));
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
+ });
@@ -1,46 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _react = _interopRequireDefault(require("react"));
17
-
18
12
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
-
20
- var _variables = require("../common/variables.js");
21
-
13
+ var _variables = require("../common/variables");
22
14
  var _useTheme = _interopRequireDefault(require("../useTheme"));
23
-
24
15
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
25
-
26
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
-
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
-
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 && {}.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; }
30
18
  var DxcHeading = function DxcHeading(_ref) {
31
19
  var _ref$level = _ref.level,
32
- level = _ref$level === void 0 ? 1 : _ref$level,
33
- _ref$text = _ref.text,
34
- text = _ref$text === void 0 ? "" : _ref$text,
35
- as = _ref.as,
36
- weight = _ref.weight,
37
- margin = _ref.margin;
20
+ level = _ref$level === void 0 ? 1 : _ref$level,
21
+ _ref$text = _ref.text,
22
+ text = _ref$text === void 0 ? "" : _ref$text,
23
+ as = _ref.as,
24
+ weight = _ref.weight,
25
+ margin = _ref.margin;
38
26
  var colorsTheme = (0, _useTheme["default"])();
39
-
40
27
  var checkValidAs = function checkValidAs() {
41
28
  if (as === "h1" || as === "h2" || as === "h3" || as === "h4" || as === "h5") return as;
42
29
  };
43
-
44
30
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
45
31
  theme: colorsTheme.heading
46
32
  }, /*#__PURE__*/_react["default"].createElement(HeadingContainer, {
@@ -62,7 +48,6 @@ var DxcHeading = function DxcHeading(_ref) {
62
48
  weight: weight
63
49
  }, text)));
64
50
  };
65
-
66
51
  var HeadingContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
67
52
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
68
53
  }, function (props) {
@@ -74,7 +59,6 @@ var HeadingContainer = _styledComponents["default"].div(_templateObject || (_tem
74
59
  }, function (props) {
75
60
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
76
61
  });
77
-
78
62
  var HeadingLevel1 = _styledComponents["default"].h1(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
79
63
  return props.theme.level1FontFamily;
80
64
  }, function (props) {
@@ -90,7 +74,6 @@ var HeadingLevel1 = _styledComponents["default"].h1(_templateObject2 || (_templa
90
74
  }, function (props) {
91
75
  return props.theme.level1FontColor;
92
76
  });
93
-
94
77
  var HeadingLevel2 = _styledComponents["default"].h2(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
95
78
  return props.theme.level2FontFamily;
96
79
  }, function (props) {
@@ -106,7 +89,6 @@ var HeadingLevel2 = _styledComponents["default"].h2(_templateObject3 || (_templa
106
89
  }, function (props) {
107
90
  return props.theme.level2FontColor;
108
91
  });
109
-
110
92
  var HeadingLevel3 = _styledComponents["default"].h3(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
111
93
  return props.theme.level3FontFamily;
112
94
  }, function (props) {
@@ -122,7 +104,6 @@ var HeadingLevel3 = _styledComponents["default"].h3(_templateObject4 || (_templa
122
104
  }, function (props) {
123
105
  return props.theme.level3FontColor;
124
106
  });
125
-
126
107
  var HeadingLevel4 = _styledComponents["default"].h4(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
127
108
  return props.theme.level4FontFamily;
128
109
  }, function (props) {
@@ -138,7 +119,6 @@ var HeadingLevel4 = _styledComponents["default"].h4(_templateObject5 || (_templa
138
119
  }, function (props) {
139
120
  return props.theme.level4FontColor;
140
121
  });
141
-
142
122
  var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
143
123
  return props.theme.level5FontFamily;
144
124
  }, function (props) {
@@ -154,6 +134,4 @@ var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6 || (_templa
154
134
  }, function (props) {
155
135
  return props.theme.level5FontColor;
156
136
  });
157
-
158
- var _default = DxcHeading;
159
- exports["default"] = _default;
137
+ var _default = exports["default"] = DxcHeading;