@dxc-technology/halstack-react 0.0.0-dedf1af → 0.0.0-df9dd3c

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 (428) 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/V3Select/V3Select.js +455 -0
  6. package/V3Select/index.d.ts +27 -0
  7. package/V3Textarea/V3Textarea.js +260 -0
  8. package/V3Textarea/index.d.ts +27 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/accordion/Accordion.js +258 -0
  11. package/accordion/Accordion.stories.tsx +300 -0
  12. package/accordion/types.d.ts +68 -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 +72 -0
  18. package/accordion-group/types.js +5 -0
  19. package/alert/Alert.d.ts +4 -0
  20. package/alert/Alert.js +290 -0
  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/box/Box.d.ts +4 -0
  26. package/box/Box.js +126 -0
  27. package/box/Box.stories.tsx +132 -0
  28. package/box/types.d.ts +43 -0
  29. package/box/types.js +5 -0
  30. package/button/Button.d.ts +4 -0
  31. package/button/Button.js +179 -0
  32. package/button/Button.stories.tsx +276 -0
  33. package/button/types.d.ts +57 -0
  34. package/button/types.js +5 -0
  35. package/card/Card.d.ts +4 -0
  36. package/card/Card.js +164 -0
  37. package/card/Card.stories.tsx +201 -0
  38. package/card/ice-cream.jpg +0 -0
  39. package/card/types.d.ts +67 -0
  40. package/card/types.js +5 -0
  41. package/checkbox/Checkbox.d.ts +4 -0
  42. package/checkbox/Checkbox.js +253 -0
  43. package/checkbox/Checkbox.stories.tsx +192 -0
  44. package/checkbox/types.d.ts +60 -0
  45. package/checkbox/types.js +5 -0
  46. package/chip/Chip.d.ts +4 -0
  47. package/chip/Chip.js +199 -0
  48. package/chip/Chip.stories.tsx +121 -0
  49. package/chip/types.d.ts +53 -0
  50. package/chip/types.js +5 -0
  51. package/{dist/common → common}/OpenSans.css +0 -0
  52. package/{dist/common → common}/RequiredComponent.js +3 -11
  53. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  55. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  56. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  57. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  58. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  62. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  63. package/common/utils.js +22 -0
  64. package/common/variables.js +1605 -0
  65. package/{dist/date → date}/Date.js +78 -57
  66. package/date/index.d.ts +27 -0
  67. package/date-input/DateInput.d.ts +4 -0
  68. package/date-input/DateInput.js +358 -0
  69. package/date-input/DateInput.stories.tsx +138 -0
  70. package/date-input/types.d.ts +100 -0
  71. package/date-input/types.js +5 -0
  72. package/dialog/Dialog.d.ts +4 -0
  73. package/dialog/Dialog.js +166 -0
  74. package/dialog/Dialog.stories.tsx +212 -0
  75. package/dialog/types.d.ts +43 -0
  76. package/dialog/types.js +5 -0
  77. package/dropdown/Dropdown.d.ts +4 -0
  78. package/dropdown/Dropdown.js +417 -0
  79. package/dropdown/Dropdown.stories.tsx +247 -0
  80. package/dropdown/types.d.ts +89 -0
  81. package/dropdown/types.js +5 -0
  82. package/file-input/FileInput.d.ts +4 -0
  83. package/file-input/FileInput.js +590 -0
  84. package/file-input/FileInput.stories.tsx +506 -0
  85. package/file-input/FileItem.d.ts +14 -0
  86. package/file-input/FileItem.js +184 -0
  87. package/file-input/types.d.ts +112 -0
  88. package/file-input/types.js +5 -0
  89. package/footer/Footer.d.ts +4 -0
  90. package/footer/Footer.js +260 -0
  91. package/footer/Footer.stories.tsx +130 -0
  92. package/footer/Icons.d.ts +2 -0
  93. package/footer/Icons.js +77 -0
  94. package/footer/types.d.ts +65 -0
  95. package/footer/types.js +5 -0
  96. package/header/Header.d.ts +7 -0
  97. package/header/Header.js +324 -0
  98. package/header/Header.stories.tsx +162 -0
  99. package/header/Icons.d.ts +2 -0
  100. package/header/Icons.js +34 -0
  101. package/header/types.d.ts +47 -0
  102. package/header/types.js +5 -0
  103. package/heading/Heading.d.ts +4 -0
  104. package/heading/Heading.js +159 -0
  105. package/heading/Heading.stories.tsx +53 -0
  106. package/heading/types.d.ts +33 -0
  107. package/heading/types.js +5 -0
  108. package/input-text/Icons.js +22 -0
  109. package/input-text/InputText.js +611 -0
  110. package/input-text/index.d.ts +36 -0
  111. package/layout/ApplicationLayout.d.ts +10 -0
  112. package/layout/ApplicationLayout.js +225 -0
  113. package/layout/ApplicationLayout.stories.tsx +171 -0
  114. package/layout/Icons.js +55 -0
  115. package/layout/types.d.ts +57 -0
  116. package/layout/types.js +5 -0
  117. package/link/Link.d.ts +3 -0
  118. package/link/Link.js +161 -0
  119. package/link/Link.stories.tsx +146 -0
  120. package/link/types.d.ts +74 -0
  121. package/link/types.js +5 -0
  122. package/list/List.d.ts +8 -0
  123. package/list/List.js +47 -0
  124. package/list/List.stories.tsx +85 -0
  125. package/main.d.ts +48 -0
  126. package/{dist/main.js → main.js} +147 -55
  127. package/number-input/NumberInput.d.ts +4 -0
  128. package/number-input/NumberInput.js +83 -0
  129. package/number-input/NumberInput.stories.tsx +115 -0
  130. package/number-input/NumberInputContext.d.ts +4 -0
  131. package/number-input/NumberInputContext.js +19 -0
  132. package/number-input/numberInputContextTypes.d.ts +19 -0
  133. package/number-input/numberInputContextTypes.js +5 -0
  134. package/number-input/types.d.ts +117 -0
  135. package/number-input/types.js +5 -0
  136. package/package.json +34 -23
  137. package/paginator/Icons.js +66 -0
  138. package/paginator/Paginator.d.ts +4 -0
  139. package/paginator/Paginator.js +192 -0
  140. package/paginator/Paginator.stories.tsx +63 -0
  141. package/paginator/types.d.ts +38 -0
  142. package/paginator/types.js +5 -0
  143. package/password-input/PasswordInput.d.ts +4 -0
  144. package/password-input/PasswordInput.js +163 -0
  145. package/password-input/PasswordInput.stories.tsx +131 -0
  146. package/password-input/types.d.ts +107 -0
  147. package/password-input/types.js +5 -0
  148. package/progress-bar/ProgressBar.d.ts +4 -0
  149. package/progress-bar/ProgressBar.js +170 -0
  150. package/progress-bar/ProgressBar.stories.jsx +58 -0
  151. package/progress-bar/types.d.ts +37 -0
  152. package/progress-bar/types.js +5 -0
  153. package/radio/Radio.d.ts +4 -0
  154. package/radio/Radio.js +174 -0
  155. package/radio/Radio.stories.tsx +192 -0
  156. package/radio/types.d.ts +54 -0
  157. package/radio/types.js +5 -0
  158. package/radio-group/Radio.d.ts +4 -0
  159. package/radio-group/Radio.js +109 -0
  160. package/radio-group/RadioGroup.d.ts +4 -0
  161. package/radio-group/RadioGroup.js +166 -0
  162. package/radio-group/RadioGroup.stories.tsx +56 -0
  163. package/radio-group/types.d.ts +37 -0
  164. package/radio-group/types.js +5 -0
  165. package/resultsetTable/ResultsetTable.d.ts +4 -0
  166. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +90 -165
  167. package/resultsetTable/ResultsetTable.stories.tsx +276 -0
  168. package/resultsetTable/types.d.ts +67 -0
  169. package/resultsetTable/types.js +5 -0
  170. package/row/Row.d.ts +11 -0
  171. package/row/Row.js +124 -0
  172. package/row/Row.stories.tsx +223 -0
  173. package/select/Select.d.ts +4 -0
  174. package/select/Select.js +863 -0
  175. package/select/Select.stories.tsx +572 -0
  176. package/select/types.d.ts +170 -0
  177. package/select/types.js +5 -0
  178. package/sidenav/Sidenav.d.ts +9 -0
  179. package/sidenav/Sidenav.js +136 -0
  180. package/sidenav/Sidenav.stories.tsx +165 -0
  181. package/sidenav/types.d.ts +50 -0
  182. package/sidenav/types.js +5 -0
  183. package/slider/Slider.d.ts +4 -0
  184. package/slider/Slider.js +317 -0
  185. package/slider/Slider.stories.tsx +177 -0
  186. package/slider/types.d.ts +78 -0
  187. package/slider/types.js +5 -0
  188. package/spinner/Spinner.d.ts +4 -0
  189. package/spinner/Spinner.js +250 -0
  190. package/spinner/Spinner.stories.jsx +102 -0
  191. package/spinner/types.d.ts +32 -0
  192. package/spinner/types.js +5 -0
  193. package/stack/Stack.d.ts +10 -0
  194. package/stack/Stack.js +94 -0
  195. package/stack/Stack.stories.tsx +150 -0
  196. package/switch/Switch.d.ts +4 -0
  197. package/switch/Switch.js +179 -0
  198. package/switch/Switch.stories.tsx +160 -0
  199. package/switch/types.d.ts +58 -0
  200. package/switch/types.js +5 -0
  201. package/table/Table.d.ts +4 -0
  202. package/table/Table.js +118 -0
  203. package/table/Table.stories.jsx +276 -0
  204. package/table/types.d.ts +21 -0
  205. package/table/types.js +5 -0
  206. package/tabs/Tabs.d.ts +4 -0
  207. package/tabs/Tabs.js +213 -0
  208. package/tabs/Tabs.stories.tsx +121 -0
  209. package/tabs/types.d.ts +70 -0
  210. package/tabs/types.js +5 -0
  211. package/tag/Tag.d.ts +4 -0
  212. package/tag/Tag.js +193 -0
  213. package/tag/Tag.stories.tsx +145 -0
  214. package/tag/types.d.ts +60 -0
  215. package/tag/types.js +5 -0
  216. package/text/Text.d.ts +7 -0
  217. package/text/Text.js +30 -0
  218. package/text/Text.stories.tsx +19 -0
  219. package/text-input/TextInput.d.ts +4 -0
  220. package/text-input/TextInput.js +786 -0
  221. package/text-input/TextInput.stories.tsx +456 -0
  222. package/text-input/types.d.ts +159 -0
  223. package/text-input/types.js +5 -0
  224. package/textarea/Textarea.d.ts +4 -0
  225. package/textarea/Textarea.js +284 -0
  226. package/textarea/Textarea.stories.jsx +135 -0
  227. package/textarea/types.d.ts +130 -0
  228. package/textarea/types.js +5 -0
  229. package/{dist/toggle → toggle}/Toggle.js +30 -67
  230. package/toggle/index.d.ts +21 -0
  231. package/toggle-group/ToggleGroup.d.ts +4 -0
  232. package/toggle-group/ToggleGroup.js +214 -0
  233. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  234. package/toggle-group/types.d.ts +97 -0
  235. package/toggle-group/types.js +5 -0
  236. package/{dist/upload → upload}/Upload.js +23 -22
  237. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  238. package/upload/buttons-upload/Icons.js +40 -0
  239. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  240. package/upload/dragAndDropArea/Icons.js +39 -0
  241. package/upload/file-upload/FileToUpload.js +115 -0
  242. package/upload/file-upload/Icons.js +66 -0
  243. package/upload/files-upload/FilesToUpload.js +109 -0
  244. package/upload/index.d.ts +15 -0
  245. package/upload/transaction/Icons.js +160 -0
  246. package/upload/transaction/Transaction.js +104 -0
  247. package/upload/transactions/Transactions.js +94 -0
  248. package/useTheme.d.ts +2 -0
  249. package/{dist/useTheme.js → useTheme.js} +1 -1
  250. package/wizard/Wizard.d.ts +4 -0
  251. package/wizard/Wizard.js +281 -0
  252. package/wizard/Wizard.stories.tsx +224 -0
  253. package/wizard/types.d.ts +60 -0
  254. package/wizard/types.js +5 -0
  255. package/README.md +0 -66
  256. package/babel.config.js +0 -8
  257. package/dist/ThemeContext.js +0 -180
  258. package/dist/accordion/Accordion.js +0 -268
  259. package/dist/accordion/Accordion.stories.js +0 -207
  260. package/dist/accordion/readme.md +0 -96
  261. package/dist/accordion-group/AccordionGroup.js +0 -156
  262. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  263. package/dist/accordion-group/readme.md +0 -70
  264. package/dist/alert/Alert.js +0 -303
  265. package/dist/alert/Alert.stories.js +0 -158
  266. package/dist/alert/close.svg +0 -4
  267. package/dist/alert/error.svg +0 -4
  268. package/dist/alert/info.svg +0 -4
  269. package/dist/alert/readme.md +0 -43
  270. package/dist/alert/success.svg +0 -4
  271. package/dist/alert/warning.svg +0 -4
  272. package/dist/badge/Badge.js +0 -42
  273. package/dist/box/Box.js +0 -145
  274. package/dist/button/Button.js +0 -199
  275. package/dist/button/Button.stories.js +0 -224
  276. package/dist/button/readme.md +0 -93
  277. package/dist/card/Card.js +0 -217
  278. package/dist/checkbox/Checkbox.js +0 -229
  279. package/dist/checkbox/Checkbox.stories.js +0 -144
  280. package/dist/checkbox/readme.md +0 -116
  281. package/dist/chip/Chip.js +0 -205
  282. package/dist/common/services/example-service.js +0 -10
  283. package/dist/common/services/example-service.test.js +0 -12
  284. package/dist/common/utils.js +0 -42
  285. package/dist/common/variables.js +0 -351
  286. package/dist/date/Date.stories.js +0 -205
  287. package/dist/date/calendar.svg +0 -1
  288. package/dist/date/calendar_dark.svg +0 -1
  289. package/dist/date/readme.md +0 -73
  290. package/dist/dialog/Dialog.js +0 -195
  291. package/dist/dialog/Dialog.stories.js +0 -217
  292. package/dist/dialog/readme.md +0 -32
  293. package/dist/dropdown/Dropdown.js +0 -446
  294. package/dist/dropdown/Dropdown.stories.js +0 -249
  295. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  296. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  297. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  298. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  299. package/dist/dropdown/readme.md +0 -69
  300. package/dist/footer/Footer.js +0 -366
  301. package/dist/footer/Footer.stories.js +0 -94
  302. package/dist/footer/dxc_logo_wht.png +0 -0
  303. package/dist/footer/readme.md +0 -41
  304. package/dist/header/Header.js +0 -368
  305. package/dist/header/Header.stories.js +0 -176
  306. package/dist/header/close_icon.svg +0 -1
  307. package/dist/header/dxc_logo_black.png +0 -0
  308. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  309. package/dist/header/dxc_logo_white.png +0 -0
  310. package/dist/header/hamb_menu_black.svg +0 -1
  311. package/dist/header/hamb_menu_white.svg +0 -1
  312. package/dist/header/readme.md +0 -33
  313. package/dist/heading/Heading.js +0 -153
  314. package/dist/input-text/InputText.js +0 -561
  315. package/dist/input-text/InputText.stories.js +0 -209
  316. package/dist/input-text/error.svg +0 -1
  317. package/dist/input-text/readme.md +0 -91
  318. package/dist/layout/ApplicationLayout.js +0 -330
  319. package/dist/layout/facebook.svg +0 -45
  320. package/dist/layout/linkedin.svg +0 -50
  321. package/dist/layout/twitter.svg +0 -53
  322. package/dist/link/Link.js +0 -187
  323. package/dist/link/readme.md +0 -51
  324. package/dist/paginator/Paginator.js +0 -247
  325. package/dist/paginator/images/next.svg +0 -3
  326. package/dist/paginator/images/nextPage.svg +0 -3
  327. package/dist/paginator/images/previous.svg +0 -3
  328. package/dist/paginator/images/previousPage.svg +0 -3
  329. package/dist/paginator/readme.md +0 -50
  330. package/dist/progress-bar/ProgressBar.js +0 -184
  331. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  332. package/dist/progress-bar/readme.md +0 -63
  333. package/dist/radio/Radio.js +0 -190
  334. package/dist/radio/Radio.stories.js +0 -166
  335. package/dist/radio/readme.md +0 -70
  336. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  337. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  338. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  339. package/dist/select/Select.js +0 -475
  340. package/dist/select/Select.stories.js +0 -235
  341. package/dist/select/readme.md +0 -72
  342. package/dist/sidenav/Sidenav.js +0 -123
  343. package/dist/slider/Slider.js +0 -257
  344. package/dist/slider/Slider.stories.js +0 -241
  345. package/dist/slider/readme.md +0 -64
  346. package/dist/spinner/Spinner.js +0 -190
  347. package/dist/spinner/Spinner.stories.js +0 -183
  348. package/dist/spinner/readme.md +0 -65
  349. package/dist/switch/Switch.js +0 -190
  350. package/dist/switch/Switch.stories.js +0 -134
  351. package/dist/switch/readme.md +0 -133
  352. package/dist/table/Table.js +0 -90
  353. package/dist/tabs/Tabs.js +0 -302
  354. package/dist/tabs/Tabs.stories.js +0 -130
  355. package/dist/tabs/readme.md +0 -78
  356. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  357. package/dist/tabs-for-sections/readme.md +0 -78
  358. package/dist/tag/Tag.js +0 -249
  359. package/dist/textarea/Textarea.js +0 -220
  360. package/dist/toggle/Toggle.stories.js +0 -297
  361. package/dist/toggle/readme.md +0 -80
  362. package/dist/toggle-group/ToggleGroup.js +0 -209
  363. package/dist/toggle-group/readme.md +0 -82
  364. package/dist/upload/Upload.stories.js +0 -72
  365. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  366. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  367. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  368. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  369. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  370. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  371. package/dist/upload/file-upload/FileToUpload.js +0 -158
  372. package/dist/upload/file-upload/audio-icon.svg +0 -4
  373. package/dist/upload/file-upload/close.svg +0 -4
  374. package/dist/upload/file-upload/file-icon.svg +0 -4
  375. package/dist/upload/file-upload/video-icon.svg +0 -4
  376. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  377. package/dist/upload/readme.md +0 -37
  378. package/dist/upload/transaction/Transaction.js +0 -155
  379. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  380. package/dist/upload/transaction/audio-icon.svg +0 -4
  381. package/dist/upload/transaction/error-icon.svg +0 -4
  382. package/dist/upload/transaction/file-icon-err.svg +0 -4
  383. package/dist/upload/transaction/file-icon.svg +0 -4
  384. package/dist/upload/transaction/image-icon-err.svg +0 -4
  385. package/dist/upload/transaction/image-icon.svg +0 -4
  386. package/dist/upload/transaction/success-icon.svg +0 -4
  387. package/dist/upload/transaction/video-icon-err.svg +0 -4
  388. package/dist/upload/transaction/video-icon.svg +0 -4
  389. package/dist/upload/transactions/Transactions.js +0 -120
  390. package/dist/wizard/Wizard.js +0 -325
  391. package/dist/wizard/invalid_icon.svg +0 -6
  392. package/dist/wizard/valid_icon.svg +0 -6
  393. package/dist/wizard/validation-wrong.svg +0 -6
  394. package/test/Accordion.test.js +0 -33
  395. package/test/AccordionGroup.test.js +0 -109
  396. package/test/Alert.test.js +0 -53
  397. package/test/Box.test.js +0 -10
  398. package/test/Button.test.js +0 -18
  399. package/test/Card.test.js +0 -30
  400. package/test/Checkbox.test.js +0 -45
  401. package/test/Chip.test.js +0 -25
  402. package/test/Date.test.js +0 -393
  403. package/test/Dialog.test.js +0 -23
  404. package/test/Dropdown.test.js +0 -130
  405. package/test/Footer.test.js +0 -99
  406. package/test/Header.test.js +0 -39
  407. package/test/Heading.test.js +0 -35
  408. package/test/InputText.test.js +0 -240
  409. package/test/Link.test.js +0 -42
  410. package/test/Paginator.test.js +0 -177
  411. package/test/ProgressBar.test.js +0 -35
  412. package/test/Radio.test.js +0 -37
  413. package/test/ResultsetTable.test.js +0 -330
  414. package/test/Select.test.js +0 -192
  415. package/test/Sidenav.test.js +0 -45
  416. package/test/Slider.test.js +0 -82
  417. package/test/Spinner.test.js +0 -27
  418. package/test/Switch.test.js +0 -45
  419. package/test/Table.test.js +0 -36
  420. package/test/Tabs.test.js +0 -109
  421. package/test/TabsForSections.test.js +0 -34
  422. package/test/Tag.test.js +0 -32
  423. package/test/TextArea.test.js +0 -52
  424. package/test/ToggleGroup.test.js +0 -81
  425. package/test/Upload.test.js +0 -60
  426. package/test/Wizard.test.js +0 -130
  427. package/test/mocks/pngMock.js +0 -1
  428. 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;
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
+
20
+ var _variables = require("../common/variables.js");
21
+
22
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
23
+
24
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ var DxcHeading = function DxcHeading(_ref) {
31
+ var _ref$level = _ref.level,
32
+ level = _ref$level === void 0 ? 1 : _ref$level,
33
+ _ref$text = _ref.text,
34
+ text = _ref$text === void 0 ? "" : _ref$text,
35
+ as = _ref.as,
36
+ weight = _ref.weight,
37
+ margin = _ref.margin;
38
+ var colorsTheme = (0, _useTheme["default"])();
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, {
45
+ theme: colorsTheme.heading
46
+ }, /*#__PURE__*/_react["default"].createElement(HeadingContainer, {
47
+ margin: margin
48
+ }, level === 1 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel1, {
49
+ as: checkValidAs(),
50
+ weight: weight
51
+ }, text) : level === 2 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel2, {
52
+ as: checkValidAs(),
53
+ weight: weight
54
+ }, text) : level === 3 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel3, {
55
+ as: checkValidAs(),
56
+ weight: weight
57
+ }, text) : level === 4 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel4, {
58
+ as: checkValidAs(),
59
+ weight: weight
60
+ }, text) : /*#__PURE__*/_react["default"].createElement(HeadingLevel5, {
61
+ as: checkValidAs(),
62
+ weight: weight
63
+ }, text)));
64
+ };
65
+
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) {
67
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
68
+ }, function (props) {
69
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
70
+ }, function (props) {
71
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
72
+ }, function (props) {
73
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
74
+ }, function (props) {
75
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
76
+ });
77
+
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) {
79
+ return props.theme.level1FontFamily;
80
+ }, function (props) {
81
+ return props.theme.level1FontStyle;
82
+ }, function (props) {
83
+ return props.theme.level1FontSize;
84
+ }, function (props) {
85
+ return props.theme.level1LineHeight;
86
+ }, function (props) {
87
+ return props.weight === "normal" ? "400" : props.weight === "light" ? "300" : props.weight === "bold" ? "600" : props.theme.level1FontWeight;
88
+ }, function (props) {
89
+ return props.theme.level1LetterSpacing;
90
+ }, function (props) {
91
+ return props.theme.level1FontColor;
92
+ });
93
+
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) {
95
+ return props.theme.level2FontFamily;
96
+ }, function (props) {
97
+ return props.theme.level2FontStyle;
98
+ }, function (props) {
99
+ return props.theme.level2FontSize;
100
+ }, function (props) {
101
+ return props.theme.level2LineHeight;
102
+ }, function (props) {
103
+ return props.weight === "normal" ? "400" : props.weight === "light" ? "300" : props.weight === "bold" ? "600" : props.theme.level2FontWeight;
104
+ }, function (props) {
105
+ return props.theme.level2LetterSpacing;
106
+ }, function (props) {
107
+ return props.theme.level2FontColor;
108
+ });
109
+
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) {
111
+ return props.theme.level3FontFamily;
112
+ }, function (props) {
113
+ return props.theme.level3FontStyle;
114
+ }, function (props) {
115
+ return props.theme.level3FontSize;
116
+ }, function (props) {
117
+ return props.theme.level3LineHeight;
118
+ }, function (props) {
119
+ return props.weight === "normal" ? "400" : props.weight === "light" ? "300" : props.weight === "bold" ? "600" : props.theme.level3FontWeight;
120
+ }, function (props) {
121
+ return props.theme.level3LetterSpacing;
122
+ }, function (props) {
123
+ return props.theme.level3FontColor;
124
+ });
125
+
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) {
127
+ return props.theme.level4FontFamily;
128
+ }, function (props) {
129
+ return props.theme.level4FontStyle;
130
+ }, function (props) {
131
+ return props.theme.level4FontSize;
132
+ }, function (props) {
133
+ return props.theme.level4LineHeight;
134
+ }, function (props) {
135
+ return props.weight === "normal" ? "400" : props.weight === "light" ? "300" : props.weight === "bold" ? "600" : props.theme.level4FontWeight;
136
+ }, function (props) {
137
+ return props.theme.level4LetterSpacing;
138
+ }, function (props) {
139
+ return props.theme.level4FontColor;
140
+ });
141
+
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) {
143
+ return props.theme.level5FontFamily;
144
+ }, function (props) {
145
+ return props.theme.level5FontStyle;
146
+ }, function (props) {
147
+ return props.theme.level5FontSize;
148
+ }, function (props) {
149
+ return props.theme.level5LineHeight;
150
+ }, function (props) {
151
+ return props.weight === "normal" ? "400" : props.weight === "light" ? "300" : props.weight === "bold" ? "600" : props.theme.level5FontWeight;
152
+ }, function (props) {
153
+ return props.theme.level5LetterSpacing;
154
+ }, function (props) {
155
+ return props.theme.level5FontColor;
156
+ });
157
+
158
+ var _default = DxcHeading;
159
+ exports["default"] = _default;
@@ -0,0 +1,53 @@
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={4} weight="normal" />
32
+ <Title title="'bold' Weight" theme="light" level={4} />
33
+ <DxcHeading text="Heading for sections within the page" 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
+ </ExampleContainer>
52
+ </>
53
+ );
@@ -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;