@dxc-technology/halstack-react 0.0.0-c6243ef → 0.0.0-c680086

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 (411) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +243 -0
  5. package/{dist/select/Select.js → V3Select/V3Select.js} +40 -134
  6. package/V3Select/index.d.ts +27 -0
  7. package/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +16 -20
  8. package/V3Textarea/index.d.ts +27 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/accordion/Accordion.js +247 -0
  11. package/accordion/Accordion.stories.tsx +307 -0
  12. package/accordion/types.d.ts +64 -0
  13. package/accordion/types.js +5 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +170 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  17. package/accordion-group/types.d.ts +68 -0
  18. package/accordion-group/types.js +5 -0
  19. package/alert/Alert.d.ts +4 -0
  20. package/{dist/alert → alert}/Alert.js +40 -153
  21. package/alert/Alert.stories.tsx +170 -0
  22. package/alert/types.d.ts +49 -0
  23. package/alert/types.js +5 -0
  24. package/badge/Badge.js +59 -0
  25. package/bleed/Bleed.d.ts +3 -0
  26. package/bleed/Bleed.js +84 -0
  27. package/bleed/Bleed.stories.tsx +342 -0
  28. package/bleed/types.d.ts +13 -0
  29. package/bleed/types.js +5 -0
  30. package/box/Box.d.ts +4 -0
  31. package/{dist/box → box}/Box.js +15 -45
  32. package/box/Box.stories.tsx +132 -0
  33. package/box/types.d.ts +43 -0
  34. package/box/types.js +5 -0
  35. package/button/Button.d.ts +4 -0
  36. package/{dist/button → button}/Button.js +27 -94
  37. package/button/Button.stories.tsx +274 -0
  38. package/button/types.d.ts +53 -0
  39. package/button/types.js +5 -0
  40. package/card/Card.d.ts +4 -0
  41. package/{dist/card → card}/Card.js +34 -124
  42. package/card/Card.stories.tsx +201 -0
  43. package/card/ice-cream.jpg +0 -0
  44. package/card/types.d.ts +67 -0
  45. package/card/types.js +5 -0
  46. package/checkbox/Checkbox.d.ts +4 -0
  47. package/{dist/checkbox → checkbox}/Checkbox.js +18 -65
  48. package/checkbox/Checkbox.stories.tsx +192 -0
  49. package/checkbox/types.d.ts +60 -0
  50. package/checkbox/types.js +5 -0
  51. package/chip/Chip.d.ts +4 -0
  52. package/chip/Chip.js +161 -0
  53. package/chip/Chip.stories.tsx +119 -0
  54. package/chip/types.d.ts +45 -0
  55. package/chip/types.js +5 -0
  56. package/{dist/common → common}/OpenSans.css +0 -0
  57. package/{dist/common → common}/RequiredComponent.js +3 -11
  58. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  62. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  63. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  64. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  65. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  66. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  67. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  68. package/{dist/common → common}/utils.js +0 -0
  69. package/{dist/common → common}/variables.js +216 -174
  70. package/{dist/date → date}/Date.js +17 -23
  71. package/date/index.d.ts +27 -0
  72. package/date-input/DateInput.d.ts +4 -0
  73. package/{dist/new-date/NewDate.js → date-input/DateInput.js} +64 -106
  74. package/date-input/DateInput.stories.tsx +138 -0
  75. package/date-input/types.d.ts +100 -0
  76. package/date-input/types.js +5 -0
  77. package/dialog/Dialog.d.ts +4 -0
  78. package/{dist/dialog → dialog}/Dialog.js +24 -76
  79. package/dialog/Dialog.stories.tsx +212 -0
  80. package/dialog/types.d.ts +43 -0
  81. package/dialog/types.js +5 -0
  82. package/dropdown/Dropdown.d.ts +4 -0
  83. package/{dist/dropdown → dropdown}/Dropdown.js +48 -197
  84. package/dropdown/Dropdown.stories.tsx +249 -0
  85. package/dropdown/types.d.ts +80 -0
  86. package/dropdown/types.js +5 -0
  87. package/file-input/FileInput.d.ts +4 -0
  88. package/file-input/FileInput.js +590 -0
  89. package/file-input/FileInput.stories.tsx +507 -0
  90. package/file-input/FileItem.d.ts +14 -0
  91. package/file-input/FileItem.js +184 -0
  92. package/file-input/types.d.ts +112 -0
  93. package/file-input/types.js +5 -0
  94. package/footer/Footer.d.ts +4 -0
  95. package/footer/Footer.js +258 -0
  96. package/footer/Footer.stories.tsx +130 -0
  97. package/footer/Icons.d.ts +2 -0
  98. package/footer/Icons.js +77 -0
  99. package/footer/types.d.ts +65 -0
  100. package/footer/types.js +5 -0
  101. package/header/Header.d.ts +7 -0
  102. package/header/Header.js +324 -0
  103. package/header/Header.stories.tsx +162 -0
  104. package/header/Icons.d.ts +2 -0
  105. package/header/Icons.js +34 -0
  106. package/header/types.d.ts +47 -0
  107. package/header/types.js +5 -0
  108. package/heading/Heading.d.ts +4 -0
  109. package/{dist/heading → heading}/Heading.js +31 -90
  110. package/heading/Heading.stories.tsx +54 -0
  111. package/heading/types.d.ts +33 -0
  112. package/heading/types.js +5 -0
  113. package/input-text/Icons.js +22 -0
  114. package/{dist/input-text → input-text}/InputText.js +39 -135
  115. package/input-text/index.d.ts +36 -0
  116. package/inset/Inset.d.ts +3 -0
  117. package/inset/Inset.js +84 -0
  118. package/inset/Inset.stories.tsx +229 -0
  119. package/inset/types.d.ts +13 -0
  120. package/inset/types.js +5 -0
  121. package/layout/ApplicationLayout.d.ts +10 -0
  122. package/{dist/layout → layout}/ApplicationLayout.js +43 -149
  123. package/layout/ApplicationLayout.stories.tsx +171 -0
  124. package/layout/Icons.js +55 -0
  125. package/layout/types.d.ts +57 -0
  126. package/layout/types.js +5 -0
  127. package/link/Link.d.ts +3 -0
  128. package/{dist/link → link}/Link.js +22 -106
  129. package/link/Link.stories.tsx +151 -0
  130. package/link/types.d.ts +70 -0
  131. package/link/types.js +5 -0
  132. package/list/List.d.ts +4 -0
  133. package/list/List.js +47 -0
  134. package/list/List.stories.tsx +95 -0
  135. package/list/types.d.ts +7 -0
  136. package/list/types.js +5 -0
  137. package/main.d.ts +49 -0
  138. package/{dist/main.js → main.js} +130 -94
  139. package/number-input/NumberInput.d.ts +4 -0
  140. package/number-input/NumberInput.js +83 -0
  141. package/number-input/NumberInput.stories.tsx +115 -0
  142. package/number-input/NumberInputContext.d.ts +4 -0
  143. package/{dist/number/NumberContext.js → number-input/NumberInputContext.js} +6 -3
  144. package/number-input/numberInputContextTypes.d.ts +19 -0
  145. package/number-input/numberInputContextTypes.js +5 -0
  146. package/number-input/types.d.ts +117 -0
  147. package/number-input/types.js +5 -0
  148. package/package.json +34 -25
  149. package/paginator/Icons.js +66 -0
  150. package/paginator/Paginator.d.ts +4 -0
  151. package/paginator/Paginator.js +192 -0
  152. package/paginator/Paginator.stories.tsx +63 -0
  153. package/paginator/types.d.ts +38 -0
  154. package/paginator/types.js +5 -0
  155. package/password-input/PasswordInput.d.ts +4 -0
  156. package/{dist/password-input → password-input}/PasswordInput.js +43 -78
  157. package/password-input/PasswordInput.stories.tsx +131 -0
  158. package/password-input/types.d.ts +107 -0
  159. package/password-input/types.js +5 -0
  160. package/progress-bar/ProgressBar.d.ts +4 -0
  161. package/{dist/progress-bar → progress-bar}/ProgressBar.js +22 -94
  162. package/progress-bar/ProgressBar.stories.jsx +58 -0
  163. package/progress-bar/types.d.ts +37 -0
  164. package/progress-bar/types.js +5 -0
  165. package/radio/Radio.d.ts +4 -0
  166. package/{dist/radio → radio}/Radio.js +17 -52
  167. package/radio/Radio.stories.tsx +192 -0
  168. package/radio/types.d.ts +54 -0
  169. package/radio/types.js +5 -0
  170. package/radio-group/Radio.d.ts +4 -0
  171. package/radio-group/Radio.js +140 -0
  172. package/radio-group/RadioGroup.d.ts +4 -0
  173. package/radio-group/RadioGroup.js +273 -0
  174. package/radio-group/RadioGroup.stories.tsx +79 -0
  175. package/radio-group/RadioGroup.test.js +248 -0
  176. package/radio-group/types.d.ts +36 -0
  177. package/radio-group/types.js +5 -0
  178. package/resultsetTable/ResultsetTable.d.ts +4 -0
  179. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
  180. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  181. package/resultsetTable/types.d.ts +67 -0
  182. package/resultsetTable/types.js +5 -0
  183. package/row/Row.d.ts +3 -0
  184. package/row/Row.js +127 -0
  185. package/row/Row.stories.tsx +237 -0
  186. package/row/types.d.ts +10 -0
  187. package/row/types.js +5 -0
  188. package/select/Select.d.ts +4 -0
  189. package/select/Select.js +863 -0
  190. package/select/Select.stories.tsx +572 -0
  191. package/select/types.d.ts +170 -0
  192. package/select/types.js +5 -0
  193. package/sidenav/Sidenav.d.ts +9 -0
  194. package/{dist/sidenav → sidenav}/Sidenav.js +21 -64
  195. package/sidenav/Sidenav.stories.tsx +182 -0
  196. package/sidenav/types.d.ts +50 -0
  197. package/sidenav/types.js +5 -0
  198. package/slider/Slider.d.ts +4 -0
  199. package/{dist/slider → slider}/Slider.js +78 -155
  200. package/slider/Slider.stories.tsx +177 -0
  201. package/slider/types.d.ts +78 -0
  202. package/slider/types.js +5 -0
  203. package/spinner/Spinner.d.ts +4 -0
  204. package/spinner/Spinner.js +250 -0
  205. package/spinner/Spinner.stories.jsx +103 -0
  206. package/spinner/types.d.ts +32 -0
  207. package/spinner/types.js +5 -0
  208. package/stack/Stack.d.ts +3 -0
  209. package/stack/Stack.js +97 -0
  210. package/stack/Stack.stories.tsx +164 -0
  211. package/stack/types.d.ts +9 -0
  212. package/stack/types.js +5 -0
  213. package/switch/Switch.d.ts +4 -0
  214. package/{dist/switch → switch}/Switch.js +28 -71
  215. package/switch/Switch.stories.tsx +160 -0
  216. package/switch/types.d.ts +58 -0
  217. package/switch/types.js +5 -0
  218. package/table/Table.d.ts +4 -0
  219. package/{dist/table → table}/Table.js +12 -26
  220. package/table/Table.stories.jsx +277 -0
  221. package/table/types.d.ts +21 -0
  222. package/table/types.js +5 -0
  223. package/tabs/Tabs.d.ts +4 -0
  224. package/tabs/Tabs.js +213 -0
  225. package/tabs/Tabs.stories.tsx +120 -0
  226. package/tabs/types.d.ts +78 -0
  227. package/tabs/types.js +5 -0
  228. package/tag/Tag.d.ts +4 -0
  229. package/tag/Tag.js +188 -0
  230. package/tag/Tag.stories.tsx +138 -0
  231. package/tag/types.d.ts +69 -0
  232. package/tag/types.js +5 -0
  233. package/text/Text.d.ts +7 -0
  234. package/text/Text.js +30 -0
  235. package/text/Text.stories.tsx +19 -0
  236. package/text-input/TextInput.d.ts +4 -0
  237. package/text-input/TextInput.js +794 -0
  238. package/text-input/TextInput.stories.tsx +456 -0
  239. package/text-input/types.d.ts +159 -0
  240. package/text-input/types.js +5 -0
  241. package/textarea/Textarea.d.ts +4 -0
  242. package/{dist/new-textarea/NewTextarea.js → textarea/Textarea.js} +40 -125
  243. package/textarea/Textarea.stories.jsx +136 -0
  244. package/textarea/types.d.ts +130 -0
  245. package/textarea/types.js +5 -0
  246. package/{dist/toggle → toggle}/Toggle.js +16 -50
  247. package/toggle/index.d.ts +21 -0
  248. package/toggle-group/ToggleGroup.d.ts +4 -0
  249. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +35 -148
  250. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  251. package/toggle-group/types.d.ts +97 -0
  252. package/toggle-group/types.js +5 -0
  253. package/{dist/upload → upload}/Upload.js +11 -15
  254. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  255. package/upload/buttons-upload/Icons.js +40 -0
  256. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  257. package/upload/dragAndDropArea/Icons.js +39 -0
  258. package/upload/file-upload/FileToUpload.js +115 -0
  259. package/upload/file-upload/Icons.js +66 -0
  260. package/{dist/upload → upload}/files-upload/FilesToUpload.js +13 -27
  261. package/upload/index.d.ts +15 -0
  262. package/upload/transaction/Icons.js +160 -0
  263. package/upload/transaction/Transaction.js +104 -0
  264. package/upload/transactions/Transactions.js +94 -0
  265. package/useTheme.d.ts +2 -0
  266. package/{dist/useTheme.js → useTheme.js} +1 -1
  267. package/wizard/Wizard.d.ts +4 -0
  268. package/wizard/Wizard.js +281 -0
  269. package/wizard/Wizard.stories.tsx +224 -0
  270. package/wizard/types.d.ts +60 -0
  271. package/wizard/types.js +5 -0
  272. package/README.md +0 -66
  273. package/babel.config.js +0 -8
  274. package/dist/BackgroundColorContext.js +0 -46
  275. package/dist/ThemeContext.js +0 -248
  276. package/dist/accordion/Accordion.js +0 -353
  277. package/dist/accordion-group/AccordionGroup.js +0 -186
  278. package/dist/alert/index.d.ts +0 -51
  279. package/dist/badge/Badge.js +0 -63
  280. package/dist/checkbox/Checkbox.stories.js +0 -144
  281. package/dist/checkbox/readme.md +0 -116
  282. package/dist/chip/Chip.js +0 -265
  283. package/dist/date/Date.stories.js +0 -205
  284. package/dist/date/readme.md +0 -73
  285. package/dist/file-input/FileInput.js +0 -644
  286. package/dist/file-input/FileItem.js +0 -280
  287. package/dist/file-input/index.d.ts +0 -81
  288. package/dist/footer/Footer.js +0 -395
  289. package/dist/footer/dxc_logo.svg +0 -15
  290. package/dist/footer/readme.md +0 -41
  291. package/dist/header/Header.js +0 -403
  292. package/dist/header/Header.stories.js +0 -176
  293. package/dist/header/close_icon.svg +0 -1
  294. package/dist/header/dxc_logo_black.svg +0 -8
  295. package/dist/header/hamb_menu_black.svg +0 -1
  296. package/dist/header/hamb_menu_white.svg +0 -1
  297. package/dist/header/readme.md +0 -33
  298. package/dist/input-text/error.svg +0 -1
  299. package/dist/input-text/readme.md +0 -91
  300. package/dist/layout/facebook.svg +0 -45
  301. package/dist/layout/linkedin.svg +0 -50
  302. package/dist/layout/twitter.svg +0 -53
  303. package/dist/link/readme.md +0 -51
  304. package/dist/main.d.ts +0 -8
  305. package/dist/new-date/index.d.ts +0 -95
  306. package/dist/new-select/NewSelect.js +0 -836
  307. package/dist/new-select/index.d.ts +0 -53
  308. package/dist/new-textarea/index.d.ts +0 -117
  309. package/dist/number/Number.js +0 -136
  310. package/dist/number/index.d.ts +0 -113
  311. package/dist/paginator/Paginator.js +0 -289
  312. package/dist/paginator/images/next.svg +0 -3
  313. package/dist/paginator/images/nextPage.svg +0 -3
  314. package/dist/paginator/images/previous.svg +0 -3
  315. package/dist/paginator/images/previousPage.svg +0 -3
  316. package/dist/paginator/readme.md +0 -50
  317. package/dist/password-input/index.d.ts +0 -94
  318. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  319. package/dist/progress-bar/readme.md +0 -63
  320. package/dist/radio/Radio.stories.js +0 -166
  321. package/dist/radio/readme.md +0 -70
  322. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  323. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  324. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  325. package/dist/slider/Slider.stories.js +0 -241
  326. package/dist/slider/readme.md +0 -64
  327. package/dist/spinner/Spinner.js +0 -381
  328. package/dist/spinner/Spinner.stories.js +0 -183
  329. package/dist/spinner/readme.md +0 -65
  330. package/dist/switch/Switch.stories.js +0 -134
  331. package/dist/switch/readme.md +0 -133
  332. package/dist/tabs/Tabs.js +0 -343
  333. package/dist/tabs/Tabs.stories.js +0 -130
  334. package/dist/tabs/readme.md +0 -78
  335. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  336. package/dist/tabs-for-sections/readme.md +0 -78
  337. package/dist/tag/Tag.js +0 -282
  338. package/dist/text-input/TextInput.js +0 -971
  339. package/dist/text-input/index.d.ts +0 -135
  340. package/dist/toggle/Toggle.stories.js +0 -297
  341. package/dist/toggle/readme.md +0 -80
  342. package/dist/upload/Upload.stories.js +0 -72
  343. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  344. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  345. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  346. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  347. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  348. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  349. package/dist/upload/file-upload/FileToUpload.js +0 -184
  350. package/dist/upload/file-upload/audio-icon.svg +0 -4
  351. package/dist/upload/file-upload/close.svg +0 -4
  352. package/dist/upload/file-upload/file-icon.svg +0 -4
  353. package/dist/upload/file-upload/video-icon.svg +0 -4
  354. package/dist/upload/readme.md +0 -37
  355. package/dist/upload/transaction/Transaction.js +0 -175
  356. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  357. package/dist/upload/transaction/audio-icon.svg +0 -4
  358. package/dist/upload/transaction/error-icon.svg +0 -4
  359. package/dist/upload/transaction/file-icon-err.svg +0 -4
  360. package/dist/upload/transaction/file-icon.svg +0 -4
  361. package/dist/upload/transaction/image-icon-err.svg +0 -4
  362. package/dist/upload/transaction/image-icon.svg +0 -4
  363. package/dist/upload/transaction/success-icon.svg +0 -4
  364. package/dist/upload/transaction/video-icon-err.svg +0 -4
  365. package/dist/upload/transaction/video-icon.svg +0 -4
  366. package/dist/upload/transactions/Transactions.js +0 -138
  367. package/dist/wizard/Wizard.js +0 -411
  368. package/dist/wizard/invalid_icon.svg +0 -5
  369. package/dist/wizard/valid_icon.svg +0 -5
  370. package/dist/wizard/validation-wrong.svg +0 -6
  371. package/test/Accordion.test.js +0 -33
  372. package/test/AccordionGroup.test.js +0 -125
  373. package/test/Alert.test.js +0 -53
  374. package/test/Box.test.js +0 -10
  375. package/test/Button.test.js +0 -18
  376. package/test/Card.test.js +0 -30
  377. package/test/Checkbox.test.js +0 -45
  378. package/test/Chip.test.js +0 -25
  379. package/test/Date.test.js +0 -393
  380. package/test/Dialog.test.js +0 -23
  381. package/test/Dropdown.test.js +0 -145
  382. package/test/FileInput.test.js +0 -201
  383. package/test/Footer.test.js +0 -99
  384. package/test/Header.test.js +0 -39
  385. package/test/Heading.test.js +0 -35
  386. package/test/InputText.test.js +0 -240
  387. package/test/Link.test.js +0 -43
  388. package/test/NewDate.test.js +0 -232
  389. package/test/NewTextarea.test.js +0 -195
  390. package/test/Number.test.js +0 -257
  391. package/test/Paginator.test.js +0 -177
  392. package/test/PasswordInput.test.js +0 -83
  393. package/test/ProgressBar.test.js +0 -35
  394. package/test/Radio.test.js +0 -37
  395. package/test/ResultsetTable.test.js +0 -329
  396. package/test/Select.test.js +0 -212
  397. package/test/Sidenav.test.js +0 -45
  398. package/test/Slider.test.js +0 -82
  399. package/test/Spinner.test.js +0 -32
  400. package/test/Switch.test.js +0 -45
  401. package/test/Table.test.js +0 -36
  402. package/test/Tabs.test.js +0 -109
  403. package/test/TabsForSections.test.js +0 -34
  404. package/test/Tag.test.js +0 -32
  405. package/test/TextArea.test.js +0 -52
  406. package/test/TextInput.test.js +0 -732
  407. package/test/ToggleGroup.test.js +0 -85
  408. package/test/Upload.test.js +0 -60
  409. package/test/Wizard.test.js +0 -130
  410. package/test/mocks/pngMock.js +0 -1
  411. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,162 @@
1
+ import React from "react";
2
+ import DxcHeader from "./Header";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { userEvent, waitFor, within } from "@storybook/testing-library";
6
+
7
+ export default {
8
+ title: "Header",
9
+ component: DxcHeader,
10
+ };
11
+
12
+ const options: any = [
13
+ {
14
+ value: 1,
15
+ label: "Amazon",
16
+ },
17
+ ];
18
+
19
+ export const Chromatic = () => (
20
+ <>
21
+ <ExampleContainer>
22
+ <Title title="Default with dropdown" theme="light" level={4} />
23
+ <DxcHeader content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />} />
24
+ </ExampleContainer>
25
+ <ExampleContainer>
26
+ <Title title="Underlined with text" theme="light" level={4} />
27
+ <DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
28
+ </ExampleContainer>
29
+ <ExampleContainer>
30
+ <Title title="Responsive" theme="light" level={4} />
31
+ <div style={{ width: "400px" }}>
32
+ <DxcHeader
33
+ responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
34
+ underlined
35
+ />
36
+ </div>
37
+ </ExampleContainer>
38
+ <Title title="Margins" theme="light" level={2} />
39
+ <ExampleContainer>
40
+ <Title title="Xxsmall margin" theme="light" level={4} />
41
+ <DxcHeader underlined margin="xxsmall" />
42
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
43
+ </ExampleContainer>
44
+ <ExampleContainer>
45
+ <Title title="Xsmall margin" theme="light" level={4} />
46
+ <DxcHeader underlined margin="xsmall" />
47
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
48
+ </ExampleContainer>
49
+ <ExampleContainer>
50
+ <Title title="Small margin" theme="light" level={4} />
51
+ <DxcHeader underlined margin="small" />
52
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
53
+ </ExampleContainer>
54
+ <ExampleContainer>
55
+ <Title title="Medium margin" theme="light" level={4} />
56
+ <DxcHeader underlined margin="medium" />
57
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
58
+ </ExampleContainer>
59
+ <ExampleContainer>
60
+ <Title title="Large margin" theme="light" level={4} />
61
+ <DxcHeader underlined margin="large" />
62
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
63
+ </ExampleContainer>
64
+ <ExampleContainer>
65
+ <Title title="Xlarge margin" theme="light" level={4} />
66
+ <DxcHeader underlined margin="xlarge" />
67
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
68
+ </ExampleContainer>
69
+ <ExampleContainer>
70
+ <Title title="Xxlarge margin" theme="light" level={4} />
71
+ <DxcHeader underlined margin="xxlarge" />
72
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
73
+ </ExampleContainer>
74
+
75
+ <Title title="Paddings" theme="light" level={2} />
76
+ <ExampleContainer>
77
+ <Title title="Xxsmall padding" theme="light" level={4} />
78
+ <DxcHeader underlined padding="xxsmall" />
79
+ </ExampleContainer>
80
+ <ExampleContainer>
81
+ <Title title="Xsmall padding" theme="light" level={4} />
82
+ <DxcHeader underlined padding="xsmall" />
83
+ </ExampleContainer>
84
+ <ExampleContainer>
85
+ <Title title="Small padding" theme="light" level={4} />
86
+ <DxcHeader underlined padding="small" />
87
+ </ExampleContainer>
88
+ <ExampleContainer>
89
+ <Title title="Medium padding" theme="light" level={4} />
90
+ <DxcHeader underlined padding="medium" />
91
+ </ExampleContainer>
92
+ <ExampleContainer>
93
+ <Title title="Large padding" theme="light" level={4} />
94
+ <DxcHeader underlined padding="large" />
95
+ </ExampleContainer>
96
+ <ExampleContainer>
97
+ <Title title="Xlarge padding" theme="light" level={4} />
98
+ <DxcHeader underlined padding="xlarge" />
99
+ </ExampleContainer>
100
+ <ExampleContainer>
101
+ <Title title="Xxlarge padding" theme="light" level={4} />
102
+ <DxcHeader underlined padding="xxlarge" />
103
+ </ExampleContainer>
104
+ </>
105
+ );
106
+
107
+ const RespHeader = () => (
108
+ <ExampleContainer>
109
+ <Title title="Responsive" theme="light" level={4} />
110
+ <div style={{ maxWidth: "400px" }}>
111
+ <DxcHeader
112
+ responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
113
+ underlined
114
+ />
115
+ </div>
116
+ </ExampleContainer>
117
+ );
118
+
119
+ const RespHeaderFocus = () => (
120
+ <ExampleContainer pseudoState="pseudo-focus">
121
+ <Title title="Responsive" theme="light" level={4} />
122
+ <div style={{ maxWidth: "400px" }}>
123
+ <DxcHeader
124
+ responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>}
125
+ underlined
126
+ />
127
+ </div>
128
+ </ExampleContainer>
129
+ );
130
+
131
+ const RespHeaderHover = () => (
132
+ <ExampleContainer pseudoState="pseudo-hover">
133
+ <Title title="Responsive" theme="light" level={4} />
134
+ <div style={{ maxWidth: "400px" }}>
135
+ <DxcHeader
136
+ responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>}
137
+ underlined
138
+ />
139
+ </div>
140
+ </ExampleContainer>
141
+ );
142
+
143
+ export const ResponsiveHeader = RespHeader.bind({});
144
+ ResponsiveHeader.play = async ({ canvasElement }) => {
145
+ const canvas = within(canvasElement);
146
+ await waitFor(() => canvas.findByText("Menu"));
147
+ await userEvent.click(canvas.getByText("Menu"));
148
+ };
149
+
150
+ export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
151
+ ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
152
+ const canvas = within(canvasElement);
153
+ await waitFor(() => canvas.findByText("Menu"));
154
+ await userEvent.click(canvas.getByText("Menu"));
155
+ };
156
+
157
+ export const ResponsiveHeaderHover = RespHeaderHover.bind({});
158
+ ResponsiveHeaderHover.play = async ({ canvasElement }) => {
159
+ const canvas = within(canvasElement);
160
+ await waitFor(() => canvas.findByText("Menu"));
161
+ await userEvent.click(canvas.getByText("Menu"));
162
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const dxcLogo: JSX.Element;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.dxcLogo = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ width: "73",
15
+ height: "40",
16
+ viewBox: "0 0 73 40"
17
+ }, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
18
+ id: "g10",
19
+ transform: "translate(0)"
20
+ }, /*#__PURE__*/_react["default"].createElement("g", {
21
+ id: "g12"
22
+ }, /*#__PURE__*/_react["default"].createElement("path", {
23
+ id: "path14",
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
+ transform: "translate(-21.028 65.555)",
26
+ fill: "#100f0d"
27
+ }), /*#__PURE__*/_react["default"].createElement("path", {
28
+ id: "path16",
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
+ transform: "translate(-21.049 88.739)",
31
+ fill: "#100f0d"
32
+ }))));
33
+
34
+ exports.dxcLogo = dxcLogo;
@@ -0,0 +1,47 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Padding = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type Props = {
10
+ /**
11
+ * Wether a contrast line should appear at the bottom of the header.
12
+ */
13
+ underlined?: boolean;
14
+ /**
15
+ * Content showed in the header. Take into account that the component applies styles
16
+ * for the first child in the content, so we recommend the use of React.Fragment
17
+ * to be applied correctly. Otherwise, the styles can be modified.
18
+ */
19
+ content?: React.ReactNode;
20
+ /**
21
+ * Content showed in responsive version. It receives the close menu handler that can
22
+ * be used to add that functionality when a element is clicked.
23
+ */
24
+ responsiveContent?: (closeHandler: () => void) => React.ReactNode;
25
+ /**
26
+ * This function will be called when the user clicks the header logo.
27
+ */
28
+ onClick?: () => void;
29
+ /**
30
+ * Size of the bottom margin to be applied to the header
31
+ * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
32
+ */
33
+ margin?: Space;
34
+ /**
35
+ * Size of the padding to be applied to the custom area of the component
36
+ * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
37
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
38
+ * order to specify different padding sizes.
39
+ */
40
+ padding?: Space | Padding;
41
+ /**
42
+ * Value of the tabindex for all interactuable elements, except those inside the
43
+ * custom area.
44
+ */
45
+ tabIndex?: number;
46
+ };
47
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -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;
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
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,99 +17,53 @@ 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
20
  var _variables = require("../common/variables.js");
25
21
 
26
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
22
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
27
23
 
28
- function _templateObject6() {
29
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"]);
24
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
30
25
 
31
- _templateObject6 = function _templateObject6() {
32
- return data;
33
- };
34
-
35
- return data;
36
- }
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
27
 
38
- function _templateObject5() {
39
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"]);
40
-
41
- _templateObject5 = function _templateObject5() {
42
- return data;
43
- };
44
-
45
- return data;
46
- }
47
-
48
- function _templateObject4() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"]);
50
-
51
- _templateObject4 = function _templateObject4() {
52
- return data;
53
- };
54
-
55
- return data;
56
- }
57
-
58
- function _templateObject3() {
59
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"]);
60
-
61
- _templateObject3 = function _templateObject3() {
62
- return data;
63
- };
64
-
65
- return data;
66
- }
67
-
68
- function _templateObject2() {
69
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"]);
70
-
71
- _templateObject2 = function _templateObject2() {
72
- return data;
73
- };
74
-
75
- return data;
76
- }
77
-
78
- function _templateObject() {
79
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
80
-
81
- _templateObject = function _templateObject() {
82
- return data;
83
- };
84
-
85
- return data;
86
- }
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
87
29
 
88
30
  var DxcHeading = function DxcHeading(_ref) {
89
31
  var _ref$level = _ref.level,
90
32
  level = _ref$level === void 0 ? 1 : _ref$level,
91
33
  _ref$text = _ref.text,
92
34
  text = _ref$text === void 0 ? "" : _ref$text,
93
- _ref$weight = _ref.weight,
94
- weight = _ref$weight === void 0 ? "" : _ref$weight,
35
+ as = _ref.as,
36
+ weight = _ref.weight,
95
37
  margin = _ref.margin;
96
38
  var colorsTheme = (0, _useTheme["default"])();
97
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
39
+
40
+ var checkValidAs = function checkValidAs() {
41
+ if (as === "h1" || as === "h2" || as === "h3" || as === "h4" || as === "h5") return as;
42
+ };
43
+
44
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
98
45
  theme: colorsTheme.heading
99
- }, _react["default"].createElement(HeadingContainer, {
46
+ }, /*#__PURE__*/_react["default"].createElement(HeadingContainer, {
100
47
  margin: margin
101
- }, level === 1 ? _react["default"].createElement(HeadingLevel1, {
48
+ }, level === 1 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel1, {
49
+ as: checkValidAs(),
102
50
  weight: weight
103
- }, text) : level === 2 ? _react["default"].createElement(HeadingLevel2, {
51
+ }, text) : level === 2 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel2, {
52
+ as: checkValidAs(),
104
53
  weight: weight
105
- }, text) : level === 3 ? _react["default"].createElement(HeadingLevel3, {
54
+ }, text) : level === 3 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel3, {
55
+ as: checkValidAs(),
106
56
  weight: weight
107
- }, text) : level === 4 ? _react["default"].createElement(HeadingLevel4, {
57
+ }, text) : level === 4 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel4, {
58
+ as: checkValidAs(),
108
59
  weight: weight
109
- }, text) : _react["default"].createElement(HeadingLevel5, {
60
+ }, text) : /*#__PURE__*/_react["default"].createElement(HeadingLevel5, {
61
+ as: checkValidAs(),
110
62
  weight: weight
111
63
  }, text)));
112
64
  };
113
65
 
114
- var HeadingContainer = _styledComponents["default"].div(_templateObject(), function (props) {
66
+ var HeadingContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
115
67
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
116
68
  }, function (props) {
117
69
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -123,7 +75,7 @@ var HeadingContainer = _styledComponents["default"].div(_templateObject(), funct
123
75
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
124
76
  });
125
77
 
126
- var HeadingLevel1 = _styledComponents["default"].h1(_templateObject2(), function (props) {
78
+ var HeadingLevel1 = _styledComponents["default"].h1(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
127
79
  return props.theme.level1FontFamily;
128
80
  }, function (props) {
129
81
  return props.theme.level1FontStyle;
@@ -139,7 +91,7 @@ var HeadingLevel1 = _styledComponents["default"].h1(_templateObject2(), function
139
91
  return props.theme.level1FontColor;
140
92
  });
141
93
 
142
- var HeadingLevel2 = _styledComponents["default"].h2(_templateObject3(), function (props) {
94
+ var HeadingLevel2 = _styledComponents["default"].h2(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
143
95
  return props.theme.level2FontFamily;
144
96
  }, function (props) {
145
97
  return props.theme.level2FontStyle;
@@ -155,7 +107,7 @@ var HeadingLevel2 = _styledComponents["default"].h2(_templateObject3(), function
155
107
  return props.theme.level2FontColor;
156
108
  });
157
109
 
158
- var HeadingLevel3 = _styledComponents["default"].h3(_templateObject4(), function (props) {
110
+ var HeadingLevel3 = _styledComponents["default"].h3(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
159
111
  return props.theme.level3FontFamily;
160
112
  }, function (props) {
161
113
  return props.theme.level3FontStyle;
@@ -171,7 +123,7 @@ var HeadingLevel3 = _styledComponents["default"].h3(_templateObject4(), function
171
123
  return props.theme.level3FontColor;
172
124
  });
173
125
 
174
- var HeadingLevel4 = _styledComponents["default"].h4(_templateObject5(), function (props) {
126
+ var HeadingLevel4 = _styledComponents["default"].h4(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
175
127
  return props.theme.level4FontFamily;
176
128
  }, function (props) {
177
129
  return props.theme.level4FontStyle;
@@ -187,7 +139,7 @@ var HeadingLevel4 = _styledComponents["default"].h4(_templateObject5(), function
187
139
  return props.theme.level4FontColor;
188
140
  });
189
141
 
190
- var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6(), function (props) {
142
+ var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
191
143
  return props.theme.level5FontFamily;
192
144
  }, function (props) {
193
145
  return props.theme.level5FontStyle;
@@ -203,16 +155,5 @@ var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6(), function
203
155
  return props.theme.level5FontColor;
204
156
  });
205
157
 
206
- DxcHeading.propTypes = {
207
- level: _propTypes["default"].number,
208
- text: _propTypes["default"].string,
209
- weight: _propTypes["default"].oneOf(["light", "normal", "bold", ""]),
210
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
211
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
212
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
213
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
214
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
215
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
216
- };
217
158
  var _default = DxcHeading;
218
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
+ );
@@ -0,0 +1,33 @@
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ declare type Props = {
9
+ /**
10
+ * Defines the heading level from 1 to 5. The styles of the heading are applied according to the level.
11
+ * The html tag of the heading will be the one specified in the 'as' prop.
12
+ * If 'as' is not specified, the html tag of the heading is the one specified in the 'level' prop.
13
+ */
14
+ level?: 1 | 2 | 3 | 4 | 5;
15
+ /**
16
+ * Heading text.
17
+ */
18
+ text: string;
19
+ /**
20
+ * Specifies the html tag of the heading.
21
+ */
22
+ as?: "h1" | "h2" | "h3" | "h4" | "h5";
23
+ /**
24
+ * Modifies the default weight of the heading.
25
+ */
26
+ weight?: "light" | "normal" | "bold";
27
+ /**
28
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
29
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
30
+ */
31
+ margin?: Space | Margin;
32
+ };
33
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _default = /*#__PURE__*/_react["default"].createElement("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ height: "24px",
15
+ viewBox: "0 0 24 24",
16
+ width: "24px",
17
+ fill: "currentColor"
18
+ }, /*#__PURE__*/_react["default"].createElement("path", {
19
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
20
+ }));
21
+
22
+ exports["default"] = _default;