@dxc-technology/halstack-react 0.0.0-c908d78 → 0.0.0-ca55cbe

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 (337) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +2 -5
  3. package/HalstackContext.d.ts +1336 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +118 -142
  7. package/accordion/Accordion.stories.tsx +395 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +9 -8
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +18 -39
  12. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  13. package/accordion-group/AccordionGroup.test.js +126 -0
  14. package/accordion-group/types.d.ts +15 -8
  15. package/alert/Alert.js +10 -9
  16. package/alert/Alert.stories.tsx +198 -0
  17. package/alert/Alert.test.js +92 -0
  18. package/alert/types.d.ts +1 -1
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -4
  21. package/badge/types.d.ts +5 -0
  22. package/bleed/Bleed.d.ts +3 -0
  23. package/bleed/Bleed.js +51 -0
  24. package/bleed/Bleed.stories.tsx +342 -0
  25. package/bleed/types.d.ts +37 -0
  26. package/bleed/types.js +5 -0
  27. package/box/Box.d.ts +1 -1
  28. package/box/Box.js +29 -44
  29. package/box/Box.stories.tsx +15 -0
  30. package/box/Box.test.js +18 -0
  31. package/box/types.d.ts +1 -4
  32. package/bulleted-list/BulletedList.d.ts +7 -0
  33. package/bulleted-list/BulletedList.js +125 -0
  34. package/bulleted-list/BulletedList.stories.tsx +206 -0
  35. package/bulleted-list/types.d.ts +11 -0
  36. package/bulleted-list/types.js +5 -0
  37. package/button/Button.d.ts +1 -1
  38. package/button/Button.js +61 -85
  39. package/button/Button.stories.tsx +375 -243
  40. package/button/Button.test.js +35 -0
  41. package/button/types.d.ts +8 -12
  42. package/card/Card.js +35 -40
  43. package/card/Card.stories.tsx +200 -0
  44. package/card/Card.test.js +50 -0
  45. package/card/ice-cream.jpg +0 -0
  46. package/card/types.d.ts +5 -6
  47. package/checkbox/Checkbox.d.ts +2 -2
  48. package/checkbox/Checkbox.js +108 -111
  49. package/checkbox/Checkbox.stories.tsx +198 -130
  50. package/checkbox/Checkbox.test.js +155 -0
  51. package/checkbox/types.d.ts +13 -5
  52. package/chip/Chip.d.ts +4 -0
  53. package/chip/Chip.js +24 -92
  54. package/chip/Chip.stories.tsx +206 -0
  55. package/chip/Chip.test.js +54 -0
  56. package/chip/types.d.ts +45 -0
  57. package/chip/types.js +5 -0
  58. package/common/OpenSans.css +68 -80
  59. package/common/coreTokens.d.ts +146 -0
  60. package/common/coreTokens.js +167 -0
  61. package/common/utils.d.ts +1 -0
  62. package/common/utils.js +4 -4
  63. package/common/variables.d.ts +1482 -0
  64. package/common/variables.js +1100 -1308
  65. package/date-input/Calendar.d.ts +4 -0
  66. package/date-input/Calendar.js +258 -0
  67. package/date-input/DateInput.js +174 -266
  68. package/date-input/DateInput.stories.tsx +304 -0
  69. package/date-input/DateInput.test.js +835 -0
  70. package/date-input/DatePicker.d.ts +4 -0
  71. package/date-input/DatePicker.js +146 -0
  72. package/date-input/Icons.d.ts +6 -0
  73. package/date-input/Icons.js +75 -0
  74. package/date-input/YearPicker.d.ts +4 -0
  75. package/date-input/YearPicker.js +126 -0
  76. package/date-input/types.d.ts +67 -9
  77. package/dialog/Dialog.js +79 -95
  78. package/dialog/Dialog.stories.tsx +319 -0
  79. package/dialog/Dialog.test.js +369 -0
  80. package/dialog/types.d.ts +1 -0
  81. package/dropdown/Dropdown.d.ts +1 -1
  82. package/dropdown/Dropdown.js +248 -277
  83. package/dropdown/Dropdown.stories.tsx +438 -0
  84. package/dropdown/Dropdown.test.js +586 -0
  85. package/dropdown/DropdownMenu.d.ts +4 -0
  86. package/dropdown/DropdownMenu.js +74 -0
  87. package/dropdown/DropdownMenuItem.d.ts +4 -0
  88. package/dropdown/DropdownMenuItem.js +79 -0
  89. package/dropdown/types.d.ts +28 -17
  90. package/file-input/FileInput.d.ts +4 -0
  91. package/file-input/FileInput.js +183 -168
  92. package/file-input/FileInput.stories.tsx +618 -0
  93. package/file-input/FileInput.test.js +457 -0
  94. package/file-input/FileItem.d.ts +4 -0
  95. package/file-input/FileItem.js +50 -81
  96. package/file-input/types.d.ts +129 -0
  97. package/file-input/types.js +5 -0
  98. package/flex/Flex.d.ts +4 -0
  99. package/flex/Flex.js +71 -0
  100. package/flex/Flex.stories.tsx +112 -0
  101. package/flex/types.d.ts +97 -0
  102. package/flex/types.js +5 -0
  103. package/footer/Footer.d.ts +1 -1
  104. package/footer/Footer.js +34 -117
  105. package/footer/Footer.stories.tsx +228 -0
  106. package/footer/Footer.test.js +97 -0
  107. package/footer/Icons.d.ts +2 -0
  108. package/footer/Icons.js +4 -4
  109. package/footer/types.d.ts +23 -18
  110. package/grid/Grid.d.ts +7 -0
  111. package/grid/Grid.js +91 -0
  112. package/grid/Grid.stories.tsx +219 -0
  113. package/grid/types.d.ts +115 -0
  114. package/grid/types.js +5 -0
  115. package/header/Header.d.ts +3 -2
  116. package/header/Header.js +110 -131
  117. package/header/Header.stories.tsx +315 -0
  118. package/header/Header.test.js +79 -0
  119. package/header/Icons.d.ts +2 -0
  120. package/header/Icons.js +2 -2
  121. package/header/types.d.ts +5 -2
  122. package/heading/Heading.d.ts +4 -0
  123. package/heading/Heading.js +8 -25
  124. package/heading/Heading.stories.tsx +54 -0
  125. package/heading/Heading.test.js +186 -0
  126. package/heading/types.d.ts +33 -0
  127. package/heading/types.js +5 -0
  128. package/inset/Inset.d.ts +3 -0
  129. package/inset/Inset.js +51 -0
  130. package/inset/Inset.stories.tsx +230 -0
  131. package/inset/types.d.ts +37 -0
  132. package/inset/types.js +5 -0
  133. package/layout/ApplicationLayout.d.ts +20 -0
  134. package/layout/ApplicationLayout.js +72 -136
  135. package/layout/ApplicationLayout.stories.tsx +162 -0
  136. package/layout/Icons.d.ts +5 -0
  137. package/layout/Icons.js +13 -2
  138. package/layout/SidenavContext.d.ts +5 -0
  139. package/layout/SidenavContext.js +19 -0
  140. package/layout/types.d.ts +41 -0
  141. package/layout/types.js +5 -0
  142. package/link/Link.d.ts +3 -2
  143. package/link/Link.js +64 -89
  144. package/link/Link.stories.tsx +253 -0
  145. package/link/Link.test.js +81 -0
  146. package/link/types.d.ts +7 -27
  147. package/main.d.ts +13 -12
  148. package/main.js +68 -54
  149. package/nav-tabs/NavTabs.d.ts +8 -0
  150. package/nav-tabs/NavTabs.js +125 -0
  151. package/nav-tabs/NavTabs.stories.tsx +260 -0
  152. package/nav-tabs/NavTabs.test.js +82 -0
  153. package/nav-tabs/Tab.d.ts +4 -0
  154. package/nav-tabs/Tab.js +150 -0
  155. package/nav-tabs/types.d.ts +53 -0
  156. package/nav-tabs/types.js +5 -0
  157. package/number-input/NumberInput.d.ts +4 -0
  158. package/number-input/NumberInput.js +16 -68
  159. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +5 -5
  160. package/number-input/NumberInput.test.js +542 -0
  161. package/number-input/NumberInputContext.d.ts +4 -0
  162. package/number-input/NumberInputContext.js +5 -2
  163. package/number-input/numberInputContextTypes.d.ts +19 -0
  164. package/number-input/numberInputContextTypes.js +5 -0
  165. package/number-input/types.d.ts +124 -0
  166. package/number-input/types.js +5 -0
  167. package/package.json +22 -23
  168. package/paginator/Icons.d.ts +5 -0
  169. package/paginator/Icons.js +16 -28
  170. package/paginator/Paginator.js +21 -56
  171. package/paginator/Paginator.stories.tsx +24 -0
  172. package/paginator/Paginator.test.js +305 -0
  173. package/paragraph/Paragraph.d.ts +5 -0
  174. package/paragraph/Paragraph.js +38 -0
  175. package/paragraph/Paragraph.stories.tsx +44 -0
  176. package/password-input/PasswordInput.js +23 -19
  177. package/password-input/PasswordInput.stories.tsx +3 -3
  178. package/password-input/PasswordInput.test.js +181 -0
  179. package/password-input/types.d.ts +29 -19
  180. package/progress-bar/ProgressBar.js +63 -57
  181. package/progress-bar/ProgressBar.stories.jsx +47 -12
  182. package/progress-bar/ProgressBar.test.js +110 -0
  183. package/quick-nav/QuickNav.d.ts +4 -0
  184. package/quick-nav/QuickNav.js +117 -0
  185. package/quick-nav/QuickNav.stories.tsx +356 -0
  186. package/quick-nav/types.d.ts +21 -0
  187. package/quick-nav/types.js +5 -0
  188. package/radio-group/Radio.d.ts +4 -0
  189. package/radio-group/Radio.js +156 -0
  190. package/radio-group/RadioGroup.d.ts +4 -0
  191. package/radio-group/RadioGroup.js +283 -0
  192. package/radio-group/RadioGroup.stories.tsx +214 -0
  193. package/radio-group/RadioGroup.test.js +722 -0
  194. package/radio-group/types.d.ts +114 -0
  195. package/radio-group/types.js +5 -0
  196. package/resultsetTable/Icons.d.ts +7 -0
  197. package/resultsetTable/Icons.js +51 -0
  198. package/resultsetTable/ResultsetTable.d.ts +4 -0
  199. package/resultsetTable/ResultsetTable.js +54 -133
  200. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  201. package/resultsetTable/ResultsetTable.test.js +325 -0
  202. package/resultsetTable/types.d.ts +67 -0
  203. package/resultsetTable/types.js +5 -0
  204. package/select/Icons.d.ts +10 -0
  205. package/select/Icons.js +93 -0
  206. package/select/Listbox.d.ts +4 -0
  207. package/select/Listbox.js +169 -0
  208. package/select/Option.d.ts +4 -0
  209. package/select/Option.js +97 -0
  210. package/select/Select.d.ts +4 -0
  211. package/select/Select.js +202 -401
  212. package/select/Select.stories.tsx +971 -0
  213. package/select/Select.test.js +2228 -0
  214. package/select/types.d.ts +210 -0
  215. package/select/types.js +5 -0
  216. package/sidenav/Icons.d.ts +7 -0
  217. package/sidenav/Icons.js +51 -0
  218. package/sidenav/Sidenav.d.ts +10 -0
  219. package/sidenav/Sidenav.js +147 -54
  220. package/sidenav/Sidenav.stories.tsx +282 -0
  221. package/sidenav/Sidenav.test.js +44 -0
  222. package/sidenav/types.d.ts +76 -0
  223. package/sidenav/types.js +5 -0
  224. package/slider/Slider.d.ts +2 -2
  225. package/slider/Slider.js +150 -114
  226. package/slider/Slider.stories.tsx +240 -0
  227. package/slider/Slider.test.js +250 -0
  228. package/slider/types.d.ts +10 -7
  229. package/spinner/Spinner.js +20 -26
  230. package/spinner/Spinner.stories.jsx +53 -26
  231. package/spinner/Spinner.test.js +64 -0
  232. package/switch/Switch.d.ts +2 -2
  233. package/switch/Switch.js +153 -70
  234. package/switch/Switch.stories.tsx +54 -43
  235. package/switch/Switch.test.js +225 -0
  236. package/switch/types.d.ts +10 -2
  237. package/table/Table.js +6 -6
  238. package/table/Table.stories.jsx +81 -1
  239. package/table/Table.test.js +26 -0
  240. package/tabs/Tab.d.ts +4 -0
  241. package/tabs/Tab.js +132 -0
  242. package/tabs/Tabs.d.ts +1 -1
  243. package/tabs/Tabs.js +362 -112
  244. package/tabs/Tabs.stories.tsx +226 -0
  245. package/tabs/Tabs.test.js +350 -0
  246. package/tabs/types.d.ts +39 -18
  247. package/tag/Tag.d.ts +1 -1
  248. package/tag/Tag.js +25 -37
  249. package/tag/Tag.stories.tsx +38 -28
  250. package/tag/Tag.test.js +60 -0
  251. package/tag/types.d.ts +23 -14
  252. package/text-input/Icons.d.ts +8 -0
  253. package/text-input/Icons.js +60 -0
  254. package/text-input/Suggestion.d.ts +4 -0
  255. package/text-input/Suggestion.js +84 -0
  256. package/text-input/Suggestions.d.ts +4 -0
  257. package/text-input/Suggestions.js +134 -0
  258. package/text-input/TextInput.d.ts +4 -0
  259. package/text-input/TextInput.js +235 -387
  260. package/text-input/TextInput.stories.tsx +569 -0
  261. package/text-input/TextInput.test.js +1723 -0
  262. package/text-input/types.d.ts +197 -0
  263. package/text-input/types.js +5 -0
  264. package/textarea/Textarea.d.ts +4 -0
  265. package/textarea/Textarea.js +41 -82
  266. package/textarea/Textarea.stories.jsx +96 -15
  267. package/textarea/Textarea.test.js +435 -0
  268. package/textarea/types.d.ts +137 -0
  269. package/textarea/types.js +5 -0
  270. package/toggle-group/ToggleGroup.d.ts +4 -0
  271. package/toggle-group/ToggleGroup.js +24 -49
  272. package/toggle-group/ToggleGroup.stories.tsx +215 -0
  273. package/toggle-group/ToggleGroup.test.js +156 -0
  274. package/toggle-group/types.d.ts +105 -0
  275. package/toggle-group/types.js +5 -0
  276. package/typography/Typography.d.ts +4 -0
  277. package/typography/Typography.js +32 -0
  278. package/typography/Typography.stories.tsx +198 -0
  279. package/typography/types.d.ts +18 -0
  280. package/typography/types.js +5 -0
  281. package/useTheme.d.ts +1235 -0
  282. package/useTheme.js +3 -3
  283. package/useTranslatedLabels.d.ts +85 -0
  284. package/useTranslatedLabels.js +20 -0
  285. package/utils/BaseTypography.d.ts +21 -0
  286. package/utils/BaseTypography.js +108 -0
  287. package/utils/FocusLock.d.ts +13 -0
  288. package/utils/FocusLock.js +139 -0
  289. package/wizard/Wizard.d.ts +4 -0
  290. package/wizard/Wizard.js +119 -105
  291. package/wizard/Wizard.stories.tsx +253 -0
  292. package/wizard/Wizard.test.js +141 -0
  293. package/wizard/types.d.ts +64 -0
  294. package/wizard/types.js +5 -0
  295. package/ThemeContext.js +0 -246
  296. package/V3Select/V3Select.js +0 -455
  297. package/V3Select/index.d.ts +0 -27
  298. package/V3Textarea/V3Textarea.js +0 -260
  299. package/V3Textarea/index.d.ts +0 -27
  300. package/chip/index.d.ts +0 -22
  301. package/common/RequiredComponent.js +0 -32
  302. package/date/Date.js +0 -373
  303. package/date/index.d.ts +0 -27
  304. package/file-input/index.d.ts +0 -81
  305. package/footer/Footer.stories.jsx +0 -151
  306. package/heading/index.d.ts +0 -17
  307. package/input-text/Icons.js +0 -22
  308. package/input-text/InputText.js +0 -611
  309. package/input-text/index.d.ts +0 -36
  310. package/number-input/index.d.ts +0 -113
  311. package/radio/Radio.d.ts +0 -4
  312. package/radio/Radio.js +0 -174
  313. package/radio/Radio.stories.tsx +0 -192
  314. package/radio/types.d.ts +0 -54
  315. package/resultsetTable/index.d.ts +0 -19
  316. package/select/index.d.ts +0 -131
  317. package/sidenav/index.d.ts +0 -13
  318. package/text-input/index.d.ts +0 -135
  319. package/textarea/index.d.ts +0 -117
  320. package/toggle/Toggle.js +0 -186
  321. package/toggle/index.d.ts +0 -21
  322. package/toggle-group/index.d.ts +0 -21
  323. package/upload/Upload.js +0 -201
  324. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  325. package/upload/buttons-upload/Icons.js +0 -40
  326. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  327. package/upload/dragAndDropArea/Icons.js +0 -39
  328. package/upload/file-upload/FileToUpload.js +0 -115
  329. package/upload/file-upload/Icons.js +0 -66
  330. package/upload/files-upload/FilesToUpload.js +0 -109
  331. package/upload/index.d.ts +0 -15
  332. package/upload/transaction/Icons.js +0 -160
  333. package/upload/transaction/Transaction.js +0 -104
  334. package/upload/transactions/Transactions.js +0 -94
  335. package/wizard/Icons.js +0 -65
  336. package/wizard/index.d.ts +0 -18
  337. /package/{radio → badge}/types.js +0 -0
@@ -0,0 +1,315 @@
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
+
11
+ export default {
12
+ title: "Header",
13
+ component: DxcHeader,
14
+ };
15
+
16
+ const options: any = [
17
+ {
18
+ value: 1,
19
+ label: "Amazon",
20
+ },
21
+ ];
22
+
23
+ const options2: any = [
24
+ {
25
+ value: 1,
26
+ label: "Home",
27
+ },
28
+ {
29
+ value: 2,
30
+ label: "Release notes",
31
+ },
32
+ {
33
+ value: 3,
34
+ label: "Sign out",
35
+ },
36
+ ];
37
+
38
+ const opinionatedTheme = {
39
+ header: {
40
+ baseColor: "#ffffff",
41
+ accentColor: "#000000",
42
+ fontColor: "#000000",
43
+ menuBaseColor: "#ffffff",
44
+ hamburguerColor: "#000000",
45
+ logo: (
46
+ <svg xmlns="http://www.w3.org/2000/svg" width="73" height="40" viewBox="0 0 73 40">
47
+ <g id="g10" transform="translate(0)">
48
+ <g id="g12">
49
+ <path
50
+ id="path14"
51
+ 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"
52
+ transform="translate(-21.028 65.555)"
53
+ fill="#100f0d"
54
+ />
55
+ <path
56
+ id="path16"
57
+ 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"
58
+ transform="translate(-21.049 88.739)"
59
+ fill="#5f249f"
60
+ />
61
+ </g>
62
+ </g>
63
+ </svg>
64
+ ),
65
+ logoResponsive: (
66
+ <svg xmlns="http://www.w3.org/2000/svg" width="73" height="40" viewBox="0 0 73 40">
67
+ <g id="g10" transform="translate(0)">
68
+ <g id="g12">
69
+ <path
70
+ id="path14"
71
+ 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"
72
+ transform="translate(-21.028 65.555)"
73
+ fill="#100f0d"
74
+ />
75
+ <path
76
+ id="path16"
77
+ 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"
78
+ transform="translate(-21.049 88.739)"
79
+ fill="#5f249f"
80
+ />
81
+ </g>
82
+ </g>
83
+ </svg>
84
+ ),
85
+ contentColor: "#000000",
86
+ overlayColor: "#000000b3",
87
+ },
88
+ };
89
+
90
+ export const Chromatic = () => (
91
+ <>
92
+ <ExampleContainer>
93
+ <Title title="Default with dropdown" theme="light" level={4} />
94
+ <DxcHeader
95
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
96
+ />
97
+ </ExampleContainer>
98
+ <ExampleContainer>
99
+ <Title title="Underlined with text" theme="light" level={4} />
100
+ <DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
101
+ </ExampleContainer>
102
+ <ExampleContainer>
103
+ <Title title="Underlined, dropdown and links" theme="light" level={4} />
104
+ <DxcHeader
105
+ content={
106
+ <DxcFlex alignItems="center" gap="4rem">
107
+ <DxcLink>Link 1</DxcLink>
108
+ <DxcLink>Link 2</DxcLink>
109
+ <DxcLink>Link 3</DxcLink>
110
+ <DxcHeader.Dropdown options={options2} label="Label" onSelectOption={() => {}} />
111
+ </DxcFlex>
112
+ }
113
+ underlined
114
+ />
115
+ </ExampleContainer>
116
+ <Title title="Margins" theme="light" level={2} />
117
+ <ExampleContainer>
118
+ <Title title="Xxsmall margin" theme="light" level={4} />
119
+ <DxcHeader underlined margin="xxsmall" />
120
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
121
+ </ExampleContainer>
122
+ <ExampleContainer>
123
+ <Title title="Xsmall margin" theme="light" level={4} />
124
+ <DxcHeader underlined margin="xsmall" />
125
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
126
+ </ExampleContainer>
127
+ <ExampleContainer>
128
+ <Title title="Small margin" theme="light" level={4} />
129
+ <DxcHeader underlined margin="small" />
130
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
131
+ </ExampleContainer>
132
+ <ExampleContainer>
133
+ <Title title="Medium margin" theme="light" level={4} />
134
+ <DxcHeader underlined margin="medium" />
135
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
136
+ </ExampleContainer>
137
+ <ExampleContainer>
138
+ <Title title="Large margin" theme="light" level={4} />
139
+ <DxcHeader underlined margin="large" />
140
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
141
+ </ExampleContainer>
142
+ <ExampleContainer>
143
+ <Title title="Xlarge margin" theme="light" level={4} />
144
+ <DxcHeader underlined margin="xlarge" />
145
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
146
+ </ExampleContainer>
147
+ <ExampleContainer>
148
+ <Title title="Xxlarge margin" theme="light" level={4} />
149
+ <DxcHeader underlined margin="xxlarge" />
150
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
151
+ </ExampleContainer>
152
+ <Title title="Paddings" theme="light" level={2} />
153
+ <ExampleContainer>
154
+ <Title title="Xxsmall padding" theme="light" level={4} />
155
+ <DxcHeader underlined padding="xxsmall" />
156
+ </ExampleContainer>
157
+ <ExampleContainer>
158
+ <Title title="Xsmall padding" theme="light" level={4} />
159
+ <DxcHeader underlined padding="xsmall" />
160
+ </ExampleContainer>
161
+ <ExampleContainer>
162
+ <Title title="Small padding" theme="light" level={4} />
163
+ <DxcHeader underlined padding="small" />
164
+ </ExampleContainer>
165
+ <ExampleContainer>
166
+ <Title title="Medium padding" theme="light" level={4} />
167
+ <DxcHeader underlined padding="medium" />
168
+ </ExampleContainer>
169
+ <ExampleContainer>
170
+ <Title title="Large padding" theme="light" level={4} />
171
+ <DxcHeader underlined padding="large" />
172
+ </ExampleContainer>
173
+ <ExampleContainer>
174
+ <Title title="Xlarge padding" theme="light" level={4} />
175
+ <DxcHeader underlined padding="xlarge" />
176
+ </ExampleContainer>
177
+ <ExampleContainer>
178
+ <Title title="Xxlarge padding" theme="light" level={4} />
179
+ <DxcHeader underlined padding="xxlarge" />
180
+ </ExampleContainer>
181
+ <Title title="Opinionated theme" theme="light" level={2} />
182
+ <ExampleContainer>
183
+ <HalstackProvider theme={opinionatedTheme}>
184
+ <DxcHeader
185
+ underlined
186
+ content={<DxcButton label={"Custom Button"} />}
187
+ responsiveContent={(closeHandler) => (
188
+ <>
189
+ <DxcButton label={"Custom Button"} onClick={closeHandler} />
190
+ Custom content
191
+ </>
192
+ )}
193
+ />
194
+ </HalstackProvider>
195
+ </ExampleContainer>
196
+ </>
197
+ );
198
+
199
+ export const ResponsiveHeader = () => (
200
+ <ExampleContainer>
201
+ <Title title="Responsive" theme="light" level={4} />
202
+ <DxcHeader
203
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />}
204
+ responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
205
+ underlined
206
+ />
207
+ </ExampleContainer>
208
+ );
209
+
210
+ const RespHeaderFocus = () => (
211
+ <ExampleContainer pseudoState="pseudo-focus">
212
+ <Title title="Responsive focus" theme="light" level={4} />
213
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
214
+ </ExampleContainer>
215
+ );
216
+
217
+ const RespHeaderHover = () => (
218
+ <ExampleContainer pseudoState="pseudo-hover">
219
+ <Title title="Responsive hover" theme="light" level={4} />
220
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
221
+ </ExampleContainer>
222
+ );
223
+
224
+ const RespHeaderMenuMobile = () => (
225
+ <ExampleContainer>
226
+ <Title title="Responsive menu" theme="light" level={4} />
227
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
228
+ </ExampleContainer>
229
+ );
230
+
231
+ const RespHeaderMenuTablet = () => (
232
+ <ExampleContainer>
233
+ <Title title="Responsive menu" theme="light" level={4} />
234
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
235
+ </ExampleContainer>
236
+ );
237
+
238
+ const RespHeaderMenuOpinionated = () => (
239
+ <ExampleContainer>
240
+ <Title title="Responsive menu" theme="light" level={4} />
241
+ <HalstackProvider theme={opinionatedTheme}>
242
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
243
+ </HalstackProvider>
244
+ </ExampleContainer>
245
+ );
246
+
247
+ ResponsiveHeader.parameters = {
248
+ viewport: {
249
+ defaultViewport: "iphonex",
250
+ },
251
+ chromatic: { viewports: [375] },
252
+ };
253
+
254
+ export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
255
+ ResponsiveHeaderFocus.parameters = {
256
+ viewport: {
257
+ defaultViewport: "iphonex",
258
+ },
259
+ chromatic: { viewports: [375] },
260
+ };
261
+ ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
262
+ const canvas = within(canvasElement);
263
+ await waitFor(() => canvas.findByText("Menu"));
264
+ };
265
+
266
+ export const ResponsiveHeaderHover = RespHeaderHover.bind({});
267
+ ResponsiveHeaderHover.parameters = {
268
+ viewport: {
269
+ defaultViewport: "iphonex",
270
+ },
271
+ chromatic: { viewports: [375] },
272
+ };
273
+ ResponsiveHeaderHover.play = async ({ canvasElement }) => {
274
+ const canvas = within(canvasElement);
275
+ await waitFor(() => canvas.findByText("Menu"));
276
+ };
277
+
278
+ export const ResponsiveHeaderMenuMobile = RespHeaderMenuMobile.bind({});
279
+ ResponsiveHeaderMenuMobile.parameters = {
280
+ viewport: {
281
+ defaultViewport: "iphonex",
282
+ },
283
+ chromatic: { viewports: [375] },
284
+ };
285
+ ResponsiveHeaderMenuMobile.play = async ({ canvasElement }) => {
286
+ const canvas = within(canvasElement);
287
+ await waitFor(() => canvas.findByText("Menu"));
288
+ await userEvent.click(canvas.getByText("Menu"));
289
+ };
290
+
291
+ export const ResponsiveHeaderMenuTablet = RespHeaderMenuTablet.bind({});
292
+ ResponsiveHeaderMenuTablet.parameters = {
293
+ viewport: {
294
+ defaultViewport: "pixelxl",
295
+ },
296
+ chromatic: { viewports: [720] },
297
+ };
298
+ ResponsiveHeaderMenuTablet.play = async ({ canvasElement }) => {
299
+ const canvas = within(canvasElement);
300
+ await waitFor(() => canvas.findByText("Menu"));
301
+ await userEvent.click(canvas.getByText("Menu"));
302
+ };
303
+
304
+ export const ResponsiveHeaderMenuOpinionated = RespHeaderMenuOpinionated.bind({});
305
+ ResponsiveHeaderMenuOpinionated.parameters = {
306
+ viewport: {
307
+ defaultViewport: "pixelxl",
308
+ },
309
+ chromatic: { viewports: [720] },
310
+ };
311
+ ResponsiveHeaderMenuOpinionated.play = async ({ canvasElement }) => {
312
+ const canvas = within(canvasElement);
313
+ await waitFor(() => canvas.findByText("Menu"));
314
+ await userEvent.click(canvas.getByText("Menu"));
315
+ };
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Header = _interopRequireDefault(require("./Header.tsx"));
10
+
11
+ describe("Header component tests", function () {
12
+ beforeAll(function () {
13
+ Object.defineProperty(window, "matchMedia", {
14
+ writable: true,
15
+ value: jest.fn().mockImplementation(function () {
16
+ return {
17
+ matches: false
18
+ };
19
+ })
20
+ });
21
+ });
22
+ test("Header renders with default logo", function () {
23
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], null)),
24
+ getByTitle = _render.getByTitle;
25
+
26
+ expect(getByTitle("DXC Logo")).toBeTruthy();
27
+ });
28
+ test("Call correct function on logo click", function () {
29
+ var onClick = jest.fn();
30
+
31
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
32
+ onClick: onClick
33
+ })),
34
+ getByTitle = _render2.getByTitle;
35
+
36
+ var logo = getByTitle("DXC Logo");
37
+
38
+ _react2.fireEvent.click(logo);
39
+
40
+ expect(onClick).toHaveBeenCalled();
41
+ });
42
+ test("Header renders with correct children", function () {
43
+ // We need to force the offsetWidth value
44
+ Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
45
+ configurable: true,
46
+ value: 1024
47
+ });
48
+
49
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
50
+ content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
51
+ })),
52
+ getByText = _render3.getByText;
53
+
54
+ expect(getByText("header-child-text")).toBeTruthy();
55
+ });
56
+ test("Header renders menu button in mobile", function () {
57
+ Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
58
+ configurable: true,
59
+ value: 425
60
+ });
61
+ Object.defineProperty(window, "matchMedia", {
62
+ writable: true,
63
+ value: jest.fn().mockImplementation(function () {
64
+ return {
65
+ matches: true
66
+ };
67
+ })
68
+ });
69
+
70
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
71
+ responsiveContent: function responsiveContent() {
72
+ return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
73
+ }
74
+ })),
75
+ getByText = _render4.getByText;
76
+
77
+ expect(getByText("Menu")).toBeTruthy();
78
+ });
79
+ });
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const dxcLogo: JSX.Element;
package/header/Icons.js CHANGED
@@ -23,12 +23,12 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
23
23
  id: "path14",
24
24
  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
25
  transform: "translate(-21.028 65.555)",
26
- fill: "#100f0d"
26
+ fill: "#010101"
27
27
  }), /*#__PURE__*/_react["default"].createElement("path", {
28
28
  id: "path16",
29
29
  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
30
  transform: "translate(-21.049 88.739)",
31
- fill: "#100f0d"
31
+ fill: "#603494"
32
32
  }))));
33
33
 
34
34
  exports.dxcLogo = dxcLogo;
package/header/types.d.ts CHANGED
@@ -27,11 +27,14 @@ declare type Props = {
27
27
  */
28
28
  onClick?: () => void;
29
29
  /**
30
- * Size of the bottom margin to be applied to the header.
30
+ * Size of the bottom margin to be applied to the header
31
+ * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
31
32
  */
32
33
  margin?: Space;
33
34
  /**
34
- * Size of the padding to be applied to the custom area of the component.
35
+ * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
36
+ * Size of the padding to be applied to the custom area of the component
37
+ * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
35
38
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
36
39
  * order to specify different padding sizes.
37
40
  */
@@ -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;
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -19,11 +17,9 @@ var _react = _interopRequireDefault(require("react"));
19
17
 
20
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
19
 
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
- var _variables = require("../common/variables.js");
20
+ var _variables = require("../common/variables");
25
21
 
26
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
22
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
27
23
 
28
24
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
29
25
 
@@ -37,8 +33,7 @@ var DxcHeading = function DxcHeading(_ref) {
37
33
  _ref$text = _ref.text,
38
34
  text = _ref$text === void 0 ? "" : _ref$text,
39
35
  as = _ref.as,
40
- _ref$weight = _ref.weight,
41
- weight = _ref$weight === void 0 ? "" : _ref$weight,
36
+ weight = _ref.weight,
42
37
  margin = _ref.margin;
43
38
  var colorsTheme = (0, _useTheme["default"])();
44
39
 
@@ -51,19 +46,19 @@ var DxcHeading = function DxcHeading(_ref) {
51
46
  }, /*#__PURE__*/_react["default"].createElement(HeadingContainer, {
52
47
  margin: margin
53
48
  }, level === 1 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel1, {
54
- as: checkValidAs(as),
49
+ as: checkValidAs(),
55
50
  weight: weight
56
51
  }, text) : level === 2 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel2, {
57
- as: checkValidAs(as),
52
+ as: checkValidAs(),
58
53
  weight: weight
59
54
  }, text) : level === 3 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel3, {
60
- as: checkValidAs(as),
55
+ as: checkValidAs(),
61
56
  weight: weight
62
57
  }, text) : level === 4 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel4, {
63
- as: checkValidAs(as),
58
+ as: checkValidAs(),
64
59
  weight: weight
65
60
  }, text) : /*#__PURE__*/_react["default"].createElement(HeadingLevel5, {
66
- as: checkValidAs(as),
61
+ as: checkValidAs(),
67
62
  weight: weight
68
63
  }, text)));
69
64
  };
@@ -160,17 +155,5 @@ var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6 || (_templa
160
155
  return props.theme.level5FontColor;
161
156
  });
162
157
 
163
- DxcHeading.propTypes = {
164
- level: _propTypes["default"].number,
165
- text: _propTypes["default"].string,
166
- as: _propTypes["default"].oneOf(["h1", "h2", "h3", "h4", "h5"]),
167
- weight: _propTypes["default"].oneOf(["light", "normal", "bold", ""]),
168
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
169
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
170
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
171
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
172
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
173
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
174
- };
175
158
  var _default = DxcHeading;
176
159
  exports["default"] = _default;
@@ -0,0 +1,54 @@
1
+ import React from "react";
2
+ import DxcHeading from "./Heading";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+
6
+ export default {
7
+ title: "Heading",
8
+ component: DxcHeading,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <Title title="Levels" theme="light" level={2} />
14
+ <ExampleContainer>
15
+ <Title title="Level 1" theme="light" level={4} />
16
+ <DxcHeading text="Heading for sections within the page" />
17
+ <Title title="Level 2" theme="light" level={4} />
18
+ <DxcHeading text="Heading for sections within the page" level={2} />
19
+ <Title title="Level 3" theme="light" level={4} />
20
+ <DxcHeading text="Heading for sections within the page" level={3} />
21
+ <Title title="Level 4" theme="light" level={4} />
22
+ <DxcHeading text="Heading for sections within the page" level={4} />
23
+ <Title title="Level 5" theme="light" level={4} />
24
+ <DxcHeading text="Heading for sections within the page" level={5} />
25
+ </ExampleContainer>
26
+ <Title title="Weights" theme="light" level={2} />
27
+ <ExampleContainer>
28
+ <Title title="'light' Weight" theme="light" level={4} />
29
+ <DxcHeading text="Heading for sections within the page" level={2} weight="light" />
30
+ <Title title="'normal' Weight" theme="light" level={4} />
31
+ <DxcHeading text="Heading for sections within the page" level={2} weight="normal" />
32
+ <Title title="'bold' Weight" theme="light" level={4} />
33
+ <DxcHeading text="Heading for sections within the page" level={2} weight="bold" />
34
+ </ExampleContainer>
35
+ <Title title="Margins" theme="light" level={2} />
36
+ <ExampleContainer>
37
+ <Title title="Xxsmall" theme="light" level={4} />
38
+ <DxcHeading text="Xxsmall" margin="xxsmall" />
39
+ <Title title="Xsmall" theme="light" level={4} />
40
+ <DxcHeading text="Xsmall" margin="xsmall" />
41
+ <Title title="Small" theme="light" level={4} />
42
+ <DxcHeading text="Small" margin="small" />
43
+ <Title title="Medium" theme="light" level={4} />
44
+ <DxcHeading text="Medium" margin="medium" />
45
+ <Title title="Large" theme="light" level={4} />
46
+ <DxcHeading text="Large" margin="large" />
47
+ <Title title="Xlarge" theme="light" level={4} />
48
+ <DxcHeading text="Xlarge" margin="xlarge" />
49
+ <Title title="Xxlarge" theme="light" level={4} />
50
+ <DxcHeading text="Xxlarge" margin="xxlarge" />
51
+ <hr />
52
+ </ExampleContainer>
53
+ </>
54
+ );