@dxc-technology/halstack-react 0.0.0-8c89dca → 0.0.0-8d625da

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 (702) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1246 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +28 -47
  6. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  7. package/accordion/Accordion.accessibility.test.js +71 -0
  8. package/accordion/Accordion.d.ts +4 -0
  9. package/accordion/Accordion.js +168 -0
  10. package/accordion/Accordion.stories.tsx +241 -0
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +56 -0
  13. package/accordion/types.d.ts +57 -0
  14. package/accordion/types.js +5 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  16. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  17. package/accordion-group/AccordionGroup.d.ts +7 -0
  18. package/accordion-group/AccordionGroup.js +101 -0
  19. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  20. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  21. package/accordion-group/AccordionGroup.test.js +94 -0
  22. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  23. package/accordion-group/AccordionGroupAccordion.js +31 -0
  24. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  25. package/accordion-group/AccordionGroupContext.js +8 -0
  26. package/accordion-group/types.d.ts +67 -0
  27. package/accordion-group/types.js +5 -0
  28. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  29. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  30. package/action-icon/ActionIcon.d.ts +4 -0
  31. package/action-icon/ActionIcon.js +48 -0
  32. package/action-icon/ActionIcon.stories.tsx +41 -0
  33. package/action-icon/ActionIcon.test.d.ts +1 -0
  34. package/action-icon/ActionIcon.test.js +64 -0
  35. package/action-icon/types.d.ts +26 -0
  36. package/action-icon/types.js +5 -0
  37. package/alert/Alert.accessibility.test.d.ts +1 -0
  38. package/alert/Alert.accessibility.test.js +95 -0
  39. package/alert/Alert.d.ts +4 -0
  40. package/alert/Alert.js +203 -0
  41. package/alert/Alert.stories.tsx +198 -0
  42. package/alert/Alert.test.d.ts +1 -0
  43. package/alert/Alert.test.js +75 -0
  44. package/alert/types.d.ts +49 -0
  45. package/alert/types.js +5 -0
  46. package/badge/Badge.accessibility.test.d.ts +1 -0
  47. package/badge/Badge.accessibility.test.js +129 -0
  48. package/badge/Badge.d.ts +4 -0
  49. package/badge/Badge.js +161 -0
  50. package/badge/Badge.stories.tsx +210 -0
  51. package/badge/Badge.test.d.ts +1 -0
  52. package/badge/Badge.test.js +30 -0
  53. package/badge/types.d.ts +54 -0
  54. package/badge/types.js +5 -0
  55. package/bleed/Bleed.d.ts +3 -0
  56. package/bleed/Bleed.js +43 -0
  57. package/bleed/Bleed.stories.tsx +342 -0
  58. package/bleed/types.d.ts +37 -0
  59. package/bleed/types.js +5 -0
  60. package/box/Box.accessibility.test.d.ts +1 -0
  61. package/box/Box.accessibility.test.js +33 -0
  62. package/box/Box.d.ts +4 -0
  63. package/box/Box.js +75 -0
  64. package/box/Box.stories.tsx +119 -0
  65. package/box/Box.test.d.ts +1 -0
  66. package/box/Box.test.js +13 -0
  67. package/box/types.d.ts +32 -0
  68. package/box/types.js +5 -0
  69. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  70. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  71. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  72. package/breadcrumbs/Breadcrumbs.js +79 -0
  73. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  74. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  75. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  76. package/breadcrumbs/Item.d.ts +4 -0
  77. package/breadcrumbs/Item.js +52 -0
  78. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  79. package/breadcrumbs/dropdownTheme.js +62 -0
  80. package/breadcrumbs/types.d.ts +16 -0
  81. package/breadcrumbs/types.js +5 -0
  82. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  83. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  84. package/bulleted-list/BulletedList.d.ts +7 -0
  85. package/bulleted-list/BulletedList.js +92 -0
  86. package/bulleted-list/BulletedList.stories.tsx +115 -0
  87. package/bulleted-list/types.d.ts +38 -0
  88. package/bulleted-list/types.js +5 -0
  89. package/button/Button.accessibility.test.d.ts +1 -0
  90. package/button/Button.accessibility.test.js +127 -0
  91. package/button/Button.d.ts +4 -0
  92. package/button/Button.js +121 -0
  93. package/button/Button.stories.tsx +325 -0
  94. package/button/Button.test.d.ts +1 -0
  95. package/button/Button.test.js +38 -0
  96. package/button/types.d.ts +57 -0
  97. package/button/types.js +5 -0
  98. package/card/Card.accessibility.test.d.ts +1 -0
  99. package/card/Card.accessibility.test.js +36 -0
  100. package/card/Card.d.ts +4 -0
  101. package/card/Card.js +121 -0
  102. package/card/Card.stories.tsx +171 -0
  103. package/card/Card.test.d.ts +1 -0
  104. package/card/Card.test.js +39 -0
  105. package/card/types.d.ts +62 -0
  106. package/card/types.js +5 -0
  107. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  108. package/checkbox/Checkbox.accessibility.test.js +87 -0
  109. package/checkbox/Checkbox.d.ts +4 -0
  110. package/checkbox/Checkbox.js +212 -0
  111. package/checkbox/Checkbox.stories.tsx +222 -0
  112. package/checkbox/Checkbox.test.d.ts +1 -0
  113. package/checkbox/Checkbox.test.js +199 -0
  114. package/checkbox/types.d.ts +72 -0
  115. package/checkbox/types.js +5 -0
  116. package/chip/Chip.accessibility.test.d.ts +1 -0
  117. package/chip/Chip.accessibility.test.js +67 -0
  118. package/chip/Chip.d.ts +4 -0
  119. package/chip/Chip.js +126 -0
  120. package/chip/Chip.stories.tsx +199 -0
  121. package/chip/Chip.test.d.ts +1 -0
  122. package/chip/Chip.test.js +41 -0
  123. package/chip/types.d.ts +45 -0
  124. package/chip/types.js +5 -0
  125. package/common/coreTokens.d.ts +237 -0
  126. package/common/coreTokens.js +184 -0
  127. package/common/utils.d.ts +1 -0
  128. package/{dist/common → common}/utils.js +6 -12
  129. package/common/variables.d.ts +1392 -0
  130. package/common/variables.js +1264 -0
  131. package/container/Container.d.ts +4 -0
  132. package/container/Container.js +194 -0
  133. package/container/Container.stories.tsx +214 -0
  134. package/container/types.d.ts +74 -0
  135. package/container/types.js +5 -0
  136. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  137. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  138. package/contextual-menu/ContextualMenu.d.ts +5 -0
  139. package/contextual-menu/ContextualMenu.js +88 -0
  140. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  141. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  142. package/contextual-menu/ContextualMenu.test.js +205 -0
  143. package/contextual-menu/GroupItem.d.ts +4 -0
  144. package/contextual-menu/GroupItem.js +67 -0
  145. package/contextual-menu/ItemAction.d.ts +4 -0
  146. package/contextual-menu/ItemAction.js +51 -0
  147. package/contextual-menu/MenuItem.d.ts +4 -0
  148. package/contextual-menu/MenuItem.js +29 -0
  149. package/contextual-menu/SingleItem.d.ts +4 -0
  150. package/contextual-menu/SingleItem.js +38 -0
  151. package/contextual-menu/types.d.ts +58 -0
  152. package/contextual-menu/types.js +5 -0
  153. package/date-input/Calendar.d.ts +4 -0
  154. package/date-input/Calendar.js +214 -0
  155. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  156. package/date-input/DateInput.accessibility.test.js +230 -0
  157. package/date-input/DateInput.d.ts +4 -0
  158. package/date-input/DateInput.js +222 -0
  159. package/date-input/DateInput.stories.tsx +292 -0
  160. package/date-input/DateInput.test.d.ts +1 -0
  161. package/date-input/DateInput.test.js +809 -0
  162. package/date-input/DatePicker.d.ts +4 -0
  163. package/date-input/DatePicker.js +121 -0
  164. package/date-input/YearPicker.d.ts +4 -0
  165. package/date-input/YearPicker.js +100 -0
  166. package/date-input/types.d.ts +164 -0
  167. package/date-input/types.js +5 -0
  168. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  169. package/dialog/Dialog.accessibility.test.js +69 -0
  170. package/dialog/Dialog.d.ts +4 -0
  171. package/dialog/Dialog.js +93 -0
  172. package/dialog/Dialog.stories.tsx +370 -0
  173. package/dialog/Dialog.test.d.ts +1 -0
  174. package/dialog/Dialog.test.js +371 -0
  175. package/dialog/types.d.ts +36 -0
  176. package/dialog/types.js +5 -0
  177. package/divider/Divider.accessibility.test.d.ts +1 -0
  178. package/divider/Divider.accessibility.test.js +33 -0
  179. package/divider/Divider.d.ts +4 -0
  180. package/divider/Divider.js +36 -0
  181. package/divider/Divider.stories.tsx +223 -0
  182. package/divider/Divider.test.d.ts +1 -0
  183. package/divider/Divider.test.js +38 -0
  184. package/divider/types.d.ts +21 -0
  185. package/divider/types.js +5 -0
  186. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  187. package/dropdown/Dropdown.accessibility.test.js +184 -0
  188. package/dropdown/Dropdown.d.ts +4 -0
  189. package/dropdown/Dropdown.js +320 -0
  190. package/dropdown/Dropdown.stories.tsx +427 -0
  191. package/dropdown/Dropdown.test.d.ts +1 -0
  192. package/dropdown/Dropdown.test.js +629 -0
  193. package/dropdown/DropdownMenu.d.ts +4 -0
  194. package/dropdown/DropdownMenu.js +63 -0
  195. package/dropdown/DropdownMenuItem.d.ts +4 -0
  196. package/dropdown/DropdownMenuItem.js +71 -0
  197. package/dropdown/types.d.ts +96 -0
  198. package/dropdown/types.js +5 -0
  199. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  200. package/file-input/FileInput.accessibility.test.js +167 -0
  201. package/file-input/FileInput.d.ts +4 -0
  202. package/file-input/FileInput.js +440 -0
  203. package/file-input/FileInput.stories.tsx +618 -0
  204. package/file-input/FileInput.test.d.ts +1 -0
  205. package/file-input/FileInput.test.js +404 -0
  206. package/file-input/FileItem.d.ts +4 -0
  207. package/file-input/FileItem.js +125 -0
  208. package/file-input/types.d.ts +129 -0
  209. package/file-input/types.js +5 -0
  210. package/flex/Flex.d.ts +4 -0
  211. package/flex/Flex.js +57 -0
  212. package/flex/Flex.stories.tsx +112 -0
  213. package/flex/types.d.ts +97 -0
  214. package/flex/types.js +5 -0
  215. package/footer/Footer.accessibility.test.d.ts +1 -0
  216. package/footer/Footer.accessibility.test.js +125 -0
  217. package/footer/Footer.d.ts +4 -0
  218. package/footer/Footer.js +140 -0
  219. package/footer/Footer.stories.tsx +208 -0
  220. package/footer/Footer.test.d.ts +1 -0
  221. package/footer/Footer.test.js +85 -0
  222. package/footer/Icons.d.ts +3 -0
  223. package/footer/Icons.js +108 -0
  224. package/footer/types.d.ts +64 -0
  225. package/footer/types.js +5 -0
  226. package/grid/Grid.d.ts +7 -0
  227. package/grid/Grid.js +76 -0
  228. package/grid/Grid.stories.tsx +219 -0
  229. package/grid/types.d.ts +115 -0
  230. package/grid/types.js +5 -0
  231. package/header/Header.accessibility.test.d.ts +1 -0
  232. package/header/Header.accessibility.test.js +94 -0
  233. package/header/Header.d.ts +8 -0
  234. package/header/Header.js +210 -0
  235. package/header/Header.stories.tsx +267 -0
  236. package/header/Header.test.d.ts +1 -0
  237. package/header/Header.test.js +66 -0
  238. package/header/Icons.d.ts +2 -0
  239. package/header/Icons.js +24 -0
  240. package/header/types.d.ts +33 -0
  241. package/header/types.js +5 -0
  242. package/heading/Heading.accessibility.test.d.ts +1 -0
  243. package/heading/Heading.accessibility.test.js +33 -0
  244. package/heading/Heading.d.ts +4 -0
  245. package/{dist/heading → heading}/Heading.js +34 -119
  246. package/heading/Heading.stories.tsx +54 -0
  247. package/heading/Heading.test.d.ts +1 -0
  248. package/heading/Heading.test.js +156 -0
  249. package/heading/types.d.ts +33 -0
  250. package/heading/types.js +5 -0
  251. package/icon/Icon.accessibility.test.d.ts +1 -0
  252. package/icon/Icon.accessibility.test.js +30 -0
  253. package/icon/Icon.d.ts +4 -0
  254. package/icon/Icon.js +33 -0
  255. package/icon/Icon.stories.tsx +28 -0
  256. package/icon/types.d.ts +4 -0
  257. package/icon/types.js +5 -0
  258. package/image/Image.accessibility.test.d.ts +1 -0
  259. package/image/Image.accessibility.test.js +56 -0
  260. package/image/Image.d.ts +4 -0
  261. package/image/Image.js +70 -0
  262. package/image/Image.stories.tsx +129 -0
  263. package/image/types.d.ts +72 -0
  264. package/image/types.js +5 -0
  265. package/inset/Inset.d.ts +3 -0
  266. package/inset/Inset.js +43 -0
  267. package/inset/Inset.stories.tsx +230 -0
  268. package/inset/types.d.ts +37 -0
  269. package/inset/types.js +5 -0
  270. package/layout/ApplicationLayout.d.ts +20 -0
  271. package/layout/ApplicationLayout.js +137 -0
  272. package/layout/ApplicationLayout.stories.tsx +162 -0
  273. package/layout/Icons.d.ts +7 -0
  274. package/layout/Icons.js +48 -0
  275. package/layout/types.d.ts +41 -0
  276. package/layout/types.js +5 -0
  277. package/link/Link.accessibility.test.d.ts +1 -0
  278. package/link/Link.accessibility.test.js +108 -0
  279. package/link/Link.d.ts +4 -0
  280. package/link/Link.js +117 -0
  281. package/link/Link.stories.tsx +253 -0
  282. package/link/Link.test.d.ts +1 -0
  283. package/link/Link.test.js +63 -0
  284. package/link/types.d.ts +54 -0
  285. package/link/types.js +5 -0
  286. package/main.d.ts +50 -0
  287. package/{dist/main.js → main.js} +168 -115
  288. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  289. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  290. package/nav-tabs/NavTabs.d.ts +7 -0
  291. package/nav-tabs/NavTabs.js +108 -0
  292. package/nav-tabs/NavTabs.stories.tsx +294 -0
  293. package/nav-tabs/NavTabs.test.d.ts +1 -0
  294. package/nav-tabs/NavTabs.test.js +77 -0
  295. package/nav-tabs/NavTabsContext.d.ts +3 -0
  296. package/nav-tabs/NavTabsContext.js +8 -0
  297. package/nav-tabs/Tab.d.ts +4 -0
  298. package/nav-tabs/Tab.js +117 -0
  299. package/nav-tabs/types.d.ts +52 -0
  300. package/nav-tabs/types.js +5 -0
  301. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  302. package/number-input/NumberInput.accessibility.test.js +228 -0
  303. package/number-input/NumberInput.d.ts +4 -0
  304. package/number-input/NumberInput.js +86 -0
  305. package/number-input/NumberInput.stories.tsx +131 -0
  306. package/number-input/NumberInput.test.d.ts +1 -0
  307. package/number-input/NumberInput.test.js +989 -0
  308. package/number-input/NumberInputContext.d.ts +3 -0
  309. package/number-input/NumberInputContext.js +8 -0
  310. package/number-input/types.d.ts +136 -0
  311. package/number-input/types.js +5 -0
  312. package/package.json +66 -54
  313. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  314. package/paginator/Paginator.accessibility.test.js +79 -0
  315. package/paginator/Paginator.d.ts +4 -0
  316. package/paginator/Paginator.js +138 -0
  317. package/paginator/Paginator.stories.tsx +87 -0
  318. package/paginator/Paginator.test.d.ts +1 -0
  319. package/paginator/Paginator.test.js +335 -0
  320. package/paginator/types.d.ts +38 -0
  321. package/paginator/types.js +5 -0
  322. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  323. package/paragraph/Paragraph.accessibility.test.js +28 -0
  324. package/paragraph/Paragraph.d.ts +5 -0
  325. package/paragraph/Paragraph.js +22 -0
  326. package/paragraph/Paragraph.stories.tsx +27 -0
  327. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  328. package/password-input/PasswordInput.accessibility.test.js +153 -0
  329. package/password-input/PasswordInput.d.ts +4 -0
  330. package/password-input/PasswordInput.js +97 -0
  331. package/password-input/PasswordInput.stories.tsx +99 -0
  332. package/password-input/PasswordInput.test.d.ts +1 -0
  333. package/password-input/PasswordInput.test.js +198 -0
  334. package/password-input/types.d.ts +111 -0
  335. package/password-input/types.js +5 -0
  336. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  337. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  338. package/progress-bar/ProgressBar.d.ts +4 -0
  339. package/progress-bar/ProgressBar.js +146 -0
  340. package/progress-bar/ProgressBar.stories.tsx +93 -0
  341. package/progress-bar/ProgressBar.test.d.ts +1 -0
  342. package/progress-bar/ProgressBar.test.js +93 -0
  343. package/progress-bar/types.d.ts +37 -0
  344. package/progress-bar/types.js +5 -0
  345. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  346. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  347. package/quick-nav/QuickNav.d.ts +4 -0
  348. package/quick-nav/QuickNav.js +94 -0
  349. package/quick-nav/QuickNav.stories.tsx +356 -0
  350. package/quick-nav/types.d.ts +21 -0
  351. package/quick-nav/types.js +5 -0
  352. package/radio-group/Radio.d.ts +4 -0
  353. package/radio-group/Radio.js +121 -0
  354. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  355. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  356. package/radio-group/RadioGroup.d.ts +4 -0
  357. package/radio-group/RadioGroup.js +233 -0
  358. package/radio-group/RadioGroup.stories.tsx +214 -0
  359. package/radio-group/RadioGroup.test.d.ts +1 -0
  360. package/radio-group/RadioGroup.test.js +754 -0
  361. package/radio-group/types.d.ts +114 -0
  362. package/radio-group/types.js +5 -0
  363. package/resultset-table/Icons.d.ts +7 -0
  364. package/resultset-table/Icons.js +47 -0
  365. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  366. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  367. package/resultset-table/ResultsetTable.d.ts +7 -0
  368. package/resultset-table/ResultsetTable.js +171 -0
  369. package/resultset-table/ResultsetTable.stories.tsx +413 -0
  370. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  371. package/resultset-table/ResultsetTable.test.js +380 -0
  372. package/resultset-table/types.d.ts +100 -0
  373. package/resultset-table/types.js +5 -0
  374. package/select/Listbox.d.ts +4 -0
  375. package/select/Listbox.js +151 -0
  376. package/select/Option.d.ts +4 -0
  377. package/select/Option.js +89 -0
  378. package/select/Select.accessibility.test.d.ts +1 -0
  379. package/select/Select.accessibility.test.js +228 -0
  380. package/select/Select.d.ts +4 -0
  381. package/select/Select.js +600 -0
  382. package/select/Select.stories.tsx +919 -0
  383. package/select/Select.test.d.ts +1 -0
  384. package/select/Select.test.js +2268 -0
  385. package/select/types.d.ts +209 -0
  386. package/select/types.js +5 -0
  387. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  388. package/sidenav/Sidenav.accessibility.test.js +59 -0
  389. package/sidenav/Sidenav.d.ts +10 -0
  390. package/sidenav/Sidenav.js +201 -0
  391. package/sidenav/Sidenav.stories.tsx +277 -0
  392. package/sidenav/Sidenav.test.d.ts +1 -0
  393. package/sidenav/Sidenav.test.js +37 -0
  394. package/sidenav/SidenavContext.d.ts +5 -0
  395. package/sidenav/SidenavContext.js +13 -0
  396. package/sidenav/types.d.ts +76 -0
  397. package/sidenav/types.js +5 -0
  398. package/slider/Slider.accessibility.test.d.ts +1 -0
  399. package/slider/Slider.accessibility.test.js +104 -0
  400. package/slider/Slider.d.ts +4 -0
  401. package/slider/Slider.js +283 -0
  402. package/slider/Slider.stories.tsx +180 -0
  403. package/slider/Slider.test.d.ts +1 -0
  404. package/slider/Slider.test.js +257 -0
  405. package/slider/types.d.ts +86 -0
  406. package/slider/types.js +5 -0
  407. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  408. package/spinner/Spinner.accessibility.test.js +96 -0
  409. package/spinner/Spinner.d.ts +4 -0
  410. package/spinner/Spinner.js +210 -0
  411. package/spinner/Spinner.stories.tsx +129 -0
  412. package/spinner/Spinner.test.d.ts +1 -0
  413. package/spinner/Spinner.test.js +55 -0
  414. package/spinner/types.d.ts +32 -0
  415. package/spinner/types.js +5 -0
  416. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  417. package/status-light/StatusLight.accessibility.test.js +157 -0
  418. package/status-light/StatusLight.d.ts +4 -0
  419. package/status-light/StatusLight.js +51 -0
  420. package/status-light/StatusLight.stories.tsx +74 -0
  421. package/status-light/StatusLight.test.d.ts +1 -0
  422. package/status-light/StatusLight.test.js +25 -0
  423. package/status-light/types.d.ts +17 -0
  424. package/status-light/types.js +5 -0
  425. package/switch/Switch.accessibility.test.d.ts +1 -0
  426. package/switch/Switch.accessibility.test.js +98 -0
  427. package/switch/Switch.d.ts +4 -0
  428. package/switch/Switch.js +211 -0
  429. package/switch/Switch.stories.tsx +149 -0
  430. package/switch/Switch.test.d.ts +1 -0
  431. package/switch/Switch.test.js +180 -0
  432. package/switch/types.d.ts +66 -0
  433. package/switch/types.js +5 -0
  434. package/table/DropdownTheme.js +62 -0
  435. package/table/Table.accessibility.test.d.ts +1 -0
  436. package/table/Table.accessibility.test.js +93 -0
  437. package/table/Table.d.ts +8 -0
  438. package/table/Table.js +161 -0
  439. package/table/Table.stories.tsx +663 -0
  440. package/table/Table.test.d.ts +1 -0
  441. package/table/Table.test.js +112 -0
  442. package/table/types.d.ts +49 -0
  443. package/table/types.js +5 -0
  444. package/tabs/Tab.d.ts +4 -0
  445. package/tabs/Tab.js +117 -0
  446. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  447. package/tabs/Tabs.accessibility.test.js +56 -0
  448. package/tabs/Tabs.d.ts +4 -0
  449. package/tabs/Tabs.js +373 -0
  450. package/tabs/Tabs.stories.tsx +230 -0
  451. package/tabs/Tabs.test.d.ts +1 -0
  452. package/tabs/Tabs.test.js +276 -0
  453. package/tabs/types.d.ts +92 -0
  454. package/tabs/types.js +5 -0
  455. package/tag/Tag.accessibility.test.d.ts +1 -0
  456. package/tag/Tag.accessibility.test.js +69 -0
  457. package/tag/Tag.d.ts +4 -0
  458. package/tag/Tag.js +151 -0
  459. package/tag/Tag.stories.tsx +152 -0
  460. package/tag/Tag.test.d.ts +1 -0
  461. package/tag/Tag.test.js +41 -0
  462. package/tag/types.d.ts +69 -0
  463. package/tag/types.js +5 -0
  464. package/text-input/Suggestion.d.ts +4 -0
  465. package/text-input/Suggestion.js +67 -0
  466. package/text-input/Suggestions.d.ts +4 -0
  467. package/text-input/Suggestions.js +94 -0
  468. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  469. package/text-input/TextInput.accessibility.test.js +321 -0
  470. package/text-input/TextInput.d.ts +4 -0
  471. package/text-input/TextInput.js +569 -0
  472. package/text-input/TextInput.stories.tsx +474 -0
  473. package/text-input/TextInput.test.d.ts +1 -0
  474. package/text-input/TextInput.test.js +1756 -0
  475. package/text-input/types.d.ts +205 -0
  476. package/text-input/types.js +5 -0
  477. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  478. package/textarea/Textarea.accessibility.test.js +155 -0
  479. package/textarea/Textarea.d.ts +4 -0
  480. package/textarea/Textarea.js +235 -0
  481. package/textarea/Textarea.stories.tsx +174 -0
  482. package/textarea/Textarea.test.d.ts +1 -0
  483. package/textarea/Textarea.test.js +406 -0
  484. package/textarea/types.d.ts +141 -0
  485. package/textarea/types.js +5 -0
  486. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  487. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  488. package/toggle-group/ToggleGroup.d.ts +4 -0
  489. package/toggle-group/ToggleGroup.js +199 -0
  490. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  491. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  492. package/toggle-group/ToggleGroup.test.js +137 -0
  493. package/toggle-group/types.d.ts +114 -0
  494. package/toggle-group/types.js +5 -0
  495. package/typography/Typography.accessibility.test.d.ts +1 -0
  496. package/typography/Typography.accessibility.test.js +339 -0
  497. package/typography/Typography.d.ts +4 -0
  498. package/typography/Typography.js +23 -0
  499. package/typography/Typography.stories.tsx +198 -0
  500. package/typography/types.d.ts +18 -0
  501. package/typography/types.js +5 -0
  502. package/useTheme.d.ts +1145 -0
  503. package/{dist/useTheme.js → useTheme.js} +4 -11
  504. package/useTranslatedLabels.d.ts +85 -0
  505. package/useTranslatedLabels.js +14 -0
  506. package/utils/BaseTypography.d.ts +21 -0
  507. package/utils/BaseTypography.js +94 -0
  508. package/utils/FocusLock.d.ts +13 -0
  509. package/utils/FocusLock.js +124 -0
  510. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  511. package/wizard/Wizard.accessibility.test.js +55 -0
  512. package/wizard/Wizard.d.ts +4 -0
  513. package/wizard/Wizard.js +239 -0
  514. package/wizard/Wizard.stories.tsx +272 -0
  515. package/wizard/Wizard.test.d.ts +1 -0
  516. package/wizard/Wizard.test.js +114 -0
  517. package/wizard/types.d.ts +64 -0
  518. package/wizard/types.js +5 -0
  519. package/babel.config.js +0 -8
  520. package/dist/BackgroundColorContext.js +0 -46
  521. package/dist/ThemeContext.js +0 -216
  522. package/dist/accordion/Accordion.js +0 -346
  523. package/dist/accordion/Accordion.stories.js +0 -207
  524. package/dist/accordion/readme.md +0 -96
  525. package/dist/accordion-group/AccordionGroup.js +0 -188
  526. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  527. package/dist/accordion-group/readme.md +0 -70
  528. package/dist/alert/Alert.js +0 -388
  529. package/dist/alert/Alert.stories.js +0 -158
  530. package/dist/alert/close.svg +0 -4
  531. package/dist/alert/error.svg +0 -4
  532. package/dist/alert/info.svg +0 -4
  533. package/dist/alert/readme.md +0 -43
  534. package/dist/alert/success.svg +0 -4
  535. package/dist/alert/warning.svg +0 -4
  536. package/dist/badge/Badge.js +0 -63
  537. package/dist/box/Box.js +0 -164
  538. package/dist/button/Button.js +0 -232
  539. package/dist/button/Button.stories.js +0 -224
  540. package/dist/button/readme.md +0 -93
  541. package/dist/card/Card.js +0 -254
  542. package/dist/checkbox/Checkbox.js +0 -291
  543. package/dist/checkbox/Checkbox.stories.js +0 -144
  544. package/dist/checkbox/readme.md +0 -116
  545. package/dist/chip/Chip.js +0 -269
  546. package/dist/common/OpenSans.css +0 -81
  547. package/dist/common/RequiredComponent.js +0 -40
  548. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  549. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  550. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  551. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  552. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  553. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  554. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  555. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  556. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  557. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  558. package/dist/common/variables.js +0 -1157
  559. package/dist/date/Date.js +0 -381
  560. package/dist/date/Date.stories.js +0 -205
  561. package/dist/date/readme.md +0 -73
  562. package/dist/dialog/Dialog.js +0 -235
  563. package/dist/dialog/Dialog.stories.js +0 -217
  564. package/dist/dialog/readme.md +0 -32
  565. package/dist/dropdown/Dropdown.js +0 -492
  566. package/dist/dropdown/Dropdown.stories.js +0 -249
  567. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  568. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  569. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  570. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  571. package/dist/dropdown/readme.md +0 -69
  572. package/dist/footer/Footer.js +0 -405
  573. package/dist/footer/Footer.stories.js +0 -94
  574. package/dist/footer/dxc_logo_wht.png +0 -0
  575. package/dist/footer/readme.md +0 -41
  576. package/dist/header/Header.js +0 -431
  577. package/dist/header/Header.stories.js +0 -176
  578. package/dist/header/close_icon.svg +0 -1
  579. package/dist/header/dxc_logo_black.png +0 -0
  580. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  581. package/dist/header/dxc_logo_white.png +0 -0
  582. package/dist/header/hamb_menu_black.svg +0 -1
  583. package/dist/header/hamb_menu_white.svg +0 -1
  584. package/dist/header/readme.md +0 -33
  585. package/dist/input-text/InputText.js +0 -669
  586. package/dist/input-text/InputText.stories.js +0 -209
  587. package/dist/input-text/error.svg +0 -1
  588. package/dist/input-text/readme.md +0 -91
  589. package/dist/layout/ApplicationLayout.js +0 -331
  590. package/dist/layout/facebook.svg +0 -45
  591. package/dist/layout/linkedin.svg +0 -50
  592. package/dist/layout/twitter.svg +0 -53
  593. package/dist/link/Link.js +0 -237
  594. package/dist/link/readme.md +0 -51
  595. package/dist/paginator/Paginator.js +0 -283
  596. package/dist/paginator/images/next.svg +0 -3
  597. package/dist/paginator/images/nextPage.svg +0 -3
  598. package/dist/paginator/images/previous.svg +0 -3
  599. package/dist/paginator/images/previousPage.svg +0 -3
  600. package/dist/paginator/readme.md +0 -50
  601. package/dist/progress-bar/ProgressBar.js +0 -206
  602. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  603. package/dist/progress-bar/readme.md +0 -63
  604. package/dist/radio/Radio.js +0 -209
  605. package/dist/radio/Radio.stories.js +0 -166
  606. package/dist/radio/readme.md +0 -70
  607. package/dist/resultsetTable/ResultsetTable.js +0 -375
  608. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  609. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  610. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  611. package/dist/select/Select.js +0 -563
  612. package/dist/select/Select.stories.js +0 -235
  613. package/dist/select/readme.md +0 -72
  614. package/dist/sidenav/Sidenav.js +0 -183
  615. package/dist/slider/Slider.js +0 -315
  616. package/dist/slider/Slider.stories.js +0 -241
  617. package/dist/slider/readme.md +0 -64
  618. package/dist/spinner/Spinner.js +0 -214
  619. package/dist/spinner/Spinner.stories.js +0 -183
  620. package/dist/spinner/readme.md +0 -65
  621. package/dist/switch/Switch.js +0 -222
  622. package/dist/switch/Switch.stories.js +0 -134
  623. package/dist/switch/readme.md +0 -133
  624. package/dist/table/Table.js +0 -128
  625. package/dist/tabs/Tabs.js +0 -343
  626. package/dist/tabs/Tabs.stories.js +0 -130
  627. package/dist/tabs/readme.md +0 -78
  628. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  629. package/dist/tabs-for-sections/readme.md +0 -78
  630. package/dist/tag/Tag.js +0 -280
  631. package/dist/textarea/Textarea.js +0 -260
  632. package/dist/toggle/Toggle.js +0 -220
  633. package/dist/toggle/Toggle.stories.js +0 -297
  634. package/dist/toggle/readme.md +0 -80
  635. package/dist/toggle-group/ToggleGroup.js +0 -241
  636. package/dist/toggle-group/readme.md +0 -82
  637. package/dist/upload/Upload.js +0 -205
  638. package/dist/upload/Upload.stories.js +0 -72
  639. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  640. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  641. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  642. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -325
  643. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  644. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  645. package/dist/upload/file-upload/FileToUpload.js +0 -184
  646. package/dist/upload/file-upload/audio-icon.svg +0 -4
  647. package/dist/upload/file-upload/close.svg +0 -4
  648. package/dist/upload/file-upload/file-icon.svg +0 -4
  649. package/dist/upload/file-upload/video-icon.svg +0 -4
  650. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  651. package/dist/upload/readme.md +0 -37
  652. package/dist/upload/transaction/Transaction.js +0 -171
  653. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  654. package/dist/upload/transaction/audio-icon.svg +0 -4
  655. package/dist/upload/transaction/error-icon.svg +0 -4
  656. package/dist/upload/transaction/file-icon-err.svg +0 -4
  657. package/dist/upload/transaction/file-icon.svg +0 -4
  658. package/dist/upload/transaction/image-icon-err.svg +0 -4
  659. package/dist/upload/transaction/image-icon.svg +0 -4
  660. package/dist/upload/transaction/success-icon.svg +0 -4
  661. package/dist/upload/transaction/video-icon-err.svg +0 -4
  662. package/dist/upload/transaction/video-icon.svg +0 -4
  663. package/dist/upload/transactions/Transactions.js +0 -138
  664. package/dist/wizard/Wizard.js +0 -411
  665. package/dist/wizard/invalid_icon.svg +0 -5
  666. package/dist/wizard/valid_icon.svg +0 -5
  667. package/dist/wizard/validation-wrong.svg +0 -6
  668. package/test/Accordion.test.js +0 -33
  669. package/test/AccordionGroup.test.js +0 -125
  670. package/test/Alert.test.js +0 -53
  671. package/test/Box.test.js +0 -10
  672. package/test/Button.test.js +0 -18
  673. package/test/Card.test.js +0 -30
  674. package/test/Checkbox.test.js +0 -45
  675. package/test/Chip.test.js +0 -25
  676. package/test/Date.test.js +0 -393
  677. package/test/Dialog.test.js +0 -23
  678. package/test/Dropdown.test.js +0 -130
  679. package/test/Footer.test.js +0 -99
  680. package/test/Header.test.js +0 -39
  681. package/test/Heading.test.js +0 -35
  682. package/test/InputText.test.js +0 -240
  683. package/test/Link.test.js +0 -43
  684. package/test/Paginator.test.js +0 -177
  685. package/test/ProgressBar.test.js +0 -35
  686. package/test/Radio.test.js +0 -37
  687. package/test/ResultsetTable.test.js +0 -330
  688. package/test/Select.test.js +0 -192
  689. package/test/Sidenav.test.js +0 -45
  690. package/test/Slider.test.js +0 -82
  691. package/test/Spinner.test.js +0 -27
  692. package/test/Switch.test.js +0 -45
  693. package/test/Table.test.js +0 -36
  694. package/test/Tabs.test.js +0 -109
  695. package/test/TabsForSections.test.js +0 -34
  696. package/test/Tag.test.js +0 -32
  697. package/test/TextArea.test.js +0 -52
  698. package/test/ToggleGroup.test.js +0 -81
  699. package/test/Upload.test.js +0 -60
  700. package/test/Wizard.test.js +0 -130
  701. package/test/mocks/pngMock.js +0 -1
  702. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,267 @@
1
+ import React from "react";
2
+ import DxcHeader from "./Header";
3
+ import DxcButton from "../button/Button";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
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";
13
+
14
+ export default {
15
+ title: "Header",
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
+ },
30
+ };
31
+
32
+ const options: any = [
33
+ {
34
+ value: 1,
35
+ label: "Amazon",
36
+ },
37
+ ];
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
+
69
+ export const Chromatic = () => (
70
+ <>
71
+ <ExampleContainer>
72
+ <Title title="Default with dropdown" theme="light" level={4} />
73
+ <DxcHeader
74
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
75
+ />
76
+ </ExampleContainer>
77
+ <ExampleContainer>
78
+ <Title title="Underlined with text" theme="light" level={4} />
79
+ <DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
80
+ </ExampleContainer>
81
+ <ExampleContainer>
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
+ />
94
+ </ExampleContainer>
95
+ <Title title="Margins" theme="light" level={2} />
96
+ <ExampleContainer>
97
+ <Title title="Xxsmall margin" theme="light" level={4} />
98
+ <DxcHeader underlined margin="xxsmall" />
99
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
100
+ </ExampleContainer>
101
+ <ExampleContainer>
102
+ <Title title="Xsmall margin" theme="light" level={4} />
103
+ <DxcHeader underlined margin="xsmall" />
104
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
105
+ </ExampleContainer>
106
+ <ExampleContainer>
107
+ <Title title="Small margin" theme="light" level={4} />
108
+ <DxcHeader underlined margin="small" />
109
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
110
+ </ExampleContainer>
111
+ <ExampleContainer>
112
+ <Title title="Medium margin" theme="light" level={4} />
113
+ <DxcHeader underlined margin="medium" />
114
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
115
+ </ExampleContainer>
116
+ <ExampleContainer>
117
+ <Title title="Large margin" theme="light" level={4} />
118
+ <DxcHeader underlined margin="large" />
119
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
120
+ </ExampleContainer>
121
+ <ExampleContainer>
122
+ <Title title="Xlarge margin" theme="light" level={4} />
123
+ <DxcHeader underlined margin="xlarge" />
124
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
125
+ </ExampleContainer>
126
+ <ExampleContainer>
127
+ <Title title="Xxlarge margin" theme="light" level={4} />
128
+ <DxcHeader underlined margin="xxlarge" />
129
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
130
+ </ExampleContainer>
131
+ <Title title="Opinionated theme" theme="light" level={2} />
132
+ <ExampleContainer>
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>
145
+ </ExampleContainer>
146
+ </>
147
+ );
148
+
149
+ export const ResponsiveHeader = () => (
150
+ <ExampleContainer>
151
+ <Title title="Responsive" theme="light" level={4} />
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
+ />
159
+ </ExampleContainer>
160
+ );
161
+
162
+ const RespHeaderFocus = () => (
163
+ <ExampleContainer pseudoState="pseudo-focus">
164
+ <Title title="Responsive focus" theme="light" level={4} />
165
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
166
+ </ExampleContainer>
167
+ );
168
+
169
+ const RespHeaderHover = () => (
170
+ <ExampleContainer pseudoState="pseudo-hover">
171
+ <Title title="Responsive hover" theme="light" level={4} />
172
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
173
+ </ExampleContainer>
174
+ );
175
+
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] },
204
+ };
205
+
206
+ export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
207
+ ResponsiveHeaderFocus.parameters = {
208
+ viewport: {
209
+ defaultViewport: "iphonex",
210
+ },
211
+ chromatic: { viewports: [375] },
212
+ };
213
+ ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
214
+ const canvas = within(canvasElement);
215
+ await waitFor(() => canvas.findByText("Menu"));
216
+ };
217
+
218
+ export const ResponsiveHeaderHover = RespHeaderHover.bind({});
219
+ ResponsiveHeaderHover.parameters = {
220
+ viewport: {
221
+ defaultViewport: "iphonex",
222
+ },
223
+ chromatic: { viewports: [375] },
224
+ };
225
+ ResponsiveHeaderHover.play = async ({ canvasElement }) => {
226
+ const canvas = within(canvasElement);
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"));
266
+ await userEvent.click(canvas.getByText("Menu"));
267
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _Header = _interopRequireDefault(require("./Header"));
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
+ });
18
+ test("Header renders with default logo", function () {
19
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], null)),
20
+ getByTitle = _render.getByTitle;
21
+ expect(getByTitle("DXC Logo")).toBeTruthy();
22
+ });
23
+ test("Call correct function on logo click", function () {
24
+ var onClick = jest.fn();
25
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
26
+ onClick: onClick
27
+ })),
28
+ getByTitle = _render2.getByTitle;
29
+ var logo = getByTitle("DXC Logo");
30
+ _react2.fireEvent.click(logo);
31
+ expect(onClick).toHaveBeenCalled();
32
+ });
33
+ test("Header renders with correct children", function () {
34
+ // We need to force the offsetWidth value
35
+ Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
36
+ configurable: true,
37
+ value: 1024
38
+ });
39
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
40
+ content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
41
+ })),
42
+ getByText = _render3.getByText;
43
+ expect(getByText("header-child-text")).toBeTruthy();
44
+ });
45
+ test("Header renders menu button in mobile", function () {
46
+ Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
47
+ configurable: true,
48
+ value: 425
49
+ });
50
+ Object.defineProperty(window, "matchMedia", {
51
+ writable: true,
52
+ value: jest.fn().mockImplementation(function () {
53
+ return {
54
+ matches: true
55
+ };
56
+ })
57
+ });
58
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
59
+ responsiveContent: function responsiveContent() {
60
+ return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
61
+ }
62
+ })),
63
+ getByText = _render4.getByText;
64
+ expect(getByText("Menu")).toBeTruthy();
65
+ });
66
+ });
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const dxcLogo: React.JSX.Element;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.dxcLogo = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var dxcLogo = exports.dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
10
+ xmlns: "http://www.w3.org/2000/svg",
11
+ width: "73",
12
+ height: "40",
13
+ viewBox: "0 0 73 40"
14
+ }, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
15
+ transform: "translate(0)"
16
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
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",
18
+ transform: "translate(-21.028 65.555)",
19
+ fill: "#010101"
20
+ }), /*#__PURE__*/_react["default"].createElement("path", {
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",
22
+ transform: "translate(-21.049 88.739)",
23
+ fill: "#603494"
24
+ }))));
@@ -0,0 +1,33 @@
1
+ /// <reference types="react" />
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Props = {
4
+ /**
5
+ * Whether a contrast line should appear at the bottom of the header.
6
+ */
7
+ underlined?: boolean;
8
+ /**
9
+ * Content shown in the header. Take into account that the component applies styles
10
+ * for the first child in the content, so we recommend the use of React.Fragment
11
+ * to be applied correctly. Otherwise, the styles can be modified.
12
+ */
13
+ content?: React.ReactNode;
14
+ /**
15
+ * Content shown in responsive version. It receives the close menu handler that can
16
+ * be used to add that functionality when a element is clicked.
17
+ */
18
+ responsiveContent?: (closeHandler: () => void) => React.ReactNode;
19
+ /**
20
+ * This function will be called when the user clicks the header logo.
21
+ */
22
+ onClick?: () => void;
23
+ /**
24
+ * Size of the bottom margin to be applied to the header.
25
+ */
26
+ margin?: Space;
27
+ /**
28
+ * Value of the tabindex for all interactive elements, except those inside the
29
+ * custom area.
30
+ */
31
+ tabIndex?: number;
32
+ };
33
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1 @@
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
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import HeadingPropsType from "./types";
3
+ declare const DxcHeading: ({ level, text, as, weight, margin }: HeadingPropsType) => JSX.Element;
4
+ export default DxcHeading;