@dxc-technology/halstack-react 0.0.0-7da4003 → 0.0.0-7da4f49

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 (414) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +298 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +226 -0
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +168 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +151 -0
  15. package/accordion-group/types.d.ts +72 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/{dist/alert → alert}/Alert.js +43 -153
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +59 -0
  25. package/badge/types.d.ts +4 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +84 -0
  29. package/bleed/Bleed.stories.tsx +342 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/{dist/box → box}/Box.js +15 -45
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +43 -0
  37. package/box/types.js +5 -0
  38. package/button/Button.d.ts +4 -0
  39. package/{dist/button → button}/Button.js +34 -98
  40. package/button/Button.stories.tsx +274 -0
  41. package/button/Button.test.js +35 -0
  42. package/button/types.d.ts +53 -0
  43. package/button/types.js +5 -0
  44. package/card/Card.d.ts +4 -0
  45. package/card/Card.js +163 -0
  46. package/card/Card.stories.tsx +201 -0
  47. package/card/Card.test.js +50 -0
  48. package/card/ice-cream.jpg +0 -0
  49. package/card/types.d.ts +67 -0
  50. package/card/types.js +5 -0
  51. package/checkbox/Checkbox.d.ts +4 -0
  52. package/{dist/checkbox → checkbox}/Checkbox.js +55 -98
  53. package/checkbox/Checkbox.stories.tsx +188 -0
  54. package/checkbox/Checkbox.test.js +78 -0
  55. package/checkbox/types.d.ts +64 -0
  56. package/checkbox/types.js +5 -0
  57. package/chip/Chip.d.ts +4 -0
  58. package/chip/Chip.js +161 -0
  59. package/chip/Chip.stories.tsx +119 -0
  60. package/chip/Chip.test.js +56 -0
  61. package/chip/types.d.ts +45 -0
  62. package/chip/types.js +5 -0
  63. package/{dist/common → common}/OpenSans.css +0 -0
  64. package/{dist/common → common}/RequiredComponent.js +3 -11
  65. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  66. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  67. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  68. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  69. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  70. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  71. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  72. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  73. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  74. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  75. package/{dist/common → common}/utils.js +0 -0
  76. package/{dist/common → common}/variables.js +322 -407
  77. package/date-input/DateInput.d.ts +4 -0
  78. package/{dist/date-input → date-input}/DateInput.js +80 -108
  79. package/date-input/DateInput.stories.tsx +138 -0
  80. package/date-input/DateInput.test.js +479 -0
  81. package/date-input/types.d.ts +107 -0
  82. package/date-input/types.js +5 -0
  83. package/dialog/Dialog.d.ts +4 -0
  84. package/dialog/Dialog.js +138 -0
  85. package/dialog/Dialog.stories.tsx +212 -0
  86. package/dialog/Dialog.test.js +40 -0
  87. package/dialog/types.d.ts +43 -0
  88. package/dialog/types.js +5 -0
  89. package/dropdown/Dropdown.d.ts +4 -0
  90. package/{dist/dropdown → dropdown}/Dropdown.js +54 -207
  91. package/dropdown/Dropdown.stories.tsx +249 -0
  92. package/dropdown/Dropdown.test.js +189 -0
  93. package/dropdown/types.d.ts +80 -0
  94. package/dropdown/types.js +5 -0
  95. package/file-input/FileInput.d.ts +4 -0
  96. package/file-input/FileInput.js +593 -0
  97. package/file-input/FileInput.stories.tsx +507 -0
  98. package/file-input/FileInput.test.js +457 -0
  99. package/file-input/FileItem.d.ts +14 -0
  100. package/file-input/FileItem.js +186 -0
  101. package/file-input/types.d.ts +112 -0
  102. package/file-input/types.js +5 -0
  103. package/footer/Footer.d.ts +4 -0
  104. package/footer/Footer.js +185 -0
  105. package/footer/Footer.stories.tsx +130 -0
  106. package/footer/Footer.test.js +109 -0
  107. package/footer/Icons.d.ts +2 -0
  108. package/{dist/footer → footer}/Icons.js +15 -15
  109. package/footer/types.d.ts +65 -0
  110. package/footer/types.js +5 -0
  111. package/header/Header.d.ts +7 -0
  112. package/header/Header.js +303 -0
  113. package/header/Header.stories.tsx +172 -0
  114. package/header/Header.test.js +79 -0
  115. package/header/Icons.d.ts +2 -0
  116. package/{dist/header → header}/Icons.js +7 -32
  117. package/header/types.d.ts +47 -0
  118. package/header/types.js +5 -0
  119. package/heading/Heading.d.ts +4 -0
  120. package/{dist/heading → heading}/Heading.js +31 -90
  121. package/heading/Heading.stories.tsx +54 -0
  122. package/heading/Heading.test.js +186 -0
  123. package/heading/types.d.ts +33 -0
  124. package/heading/types.js +5 -0
  125. package/inset/Inset.d.ts +3 -0
  126. package/inset/Inset.js +84 -0
  127. package/inset/Inset.stories.tsx +229 -0
  128. package/inset/types.d.ts +37 -0
  129. package/inset/types.js +5 -0
  130. package/layout/ApplicationLayout.d.ts +10 -0
  131. package/layout/ApplicationLayout.js +218 -0
  132. package/layout/ApplicationLayout.stories.tsx +171 -0
  133. package/{dist/layout → layout}/Icons.js +7 -7
  134. package/layout/types.d.ts +57 -0
  135. package/layout/types.js +5 -0
  136. package/link/Link.d.ts +4 -0
  137. package/link/Link.js +131 -0
  138. package/link/Link.stories.tsx +186 -0
  139. package/link/Link.test.js +83 -0
  140. package/link/types.d.ts +54 -0
  141. package/link/types.js +5 -0
  142. package/list/List.d.ts +4 -0
  143. package/list/List.js +47 -0
  144. package/list/List.stories.tsx +95 -0
  145. package/list/types.d.ts +7 -0
  146. package/list/types.js +5 -0
  147. package/main.d.ts +47 -0
  148. package/{dist/main.js → main.js} +125 -99
  149. package/number-input/NumberInput.d.ts +4 -0
  150. package/number-input/NumberInput.js +76 -0
  151. package/number-input/NumberInput.stories.tsx +115 -0
  152. package/number-input/NumberInput.test.js +506 -0
  153. package/number-input/NumberInputContext.d.ts +4 -0
  154. package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
  155. package/number-input/numberInputContextTypes.d.ts +19 -0
  156. package/number-input/numberInputContextTypes.js +5 -0
  157. package/number-input/types.d.ts +124 -0
  158. package/number-input/types.js +5 -0
  159. package/package.json +38 -28
  160. package/{dist/paginator → paginator}/Icons.js +9 -9
  161. package/paginator/Paginator.d.ts +4 -0
  162. package/paginator/Paginator.js +171 -0
  163. package/paginator/Paginator.stories.tsx +63 -0
  164. package/paginator/Paginator.test.js +266 -0
  165. package/paginator/types.d.ts +38 -0
  166. package/paginator/types.js +5 -0
  167. package/password-input/PasswordInput.d.ts +4 -0
  168. package/{dist/password-input → password-input}/PasswordInput.js +45 -77
  169. package/password-input/PasswordInput.stories.tsx +131 -0
  170. package/password-input/PasswordInput.test.js +180 -0
  171. package/password-input/types.d.ts +110 -0
  172. package/password-input/types.js +5 -0
  173. package/progress-bar/ProgressBar.d.ts +4 -0
  174. package/{dist/progress-bar → progress-bar}/ProgressBar.js +23 -95
  175. package/progress-bar/ProgressBar.stories.jsx +58 -0
  176. package/progress-bar/ProgressBar.test.js +65 -0
  177. package/progress-bar/types.d.ts +37 -0
  178. package/progress-bar/types.js +5 -0
  179. package/quick-nav/QuickNav.d.ts +4 -0
  180. package/quick-nav/QuickNav.js +112 -0
  181. package/quick-nav/QuickNav.stories.tsx +237 -0
  182. package/quick-nav/types.d.ts +21 -0
  183. package/quick-nav/types.js +5 -0
  184. package/radio/Radio.d.ts +4 -0
  185. package/{dist/radio → radio}/Radio.js +23 -59
  186. package/radio/Radio.stories.tsx +192 -0
  187. package/radio/Radio.test.js +71 -0
  188. package/radio/types.d.ts +54 -0
  189. package/radio/types.js +5 -0
  190. package/radio-group/Radio.d.ts +4 -0
  191. package/radio-group/Radio.js +141 -0
  192. package/radio-group/RadioGroup.d.ts +4 -0
  193. package/radio-group/RadioGroup.js +282 -0
  194. package/radio-group/RadioGroup.stories.tsx +100 -0
  195. package/radio-group/RadioGroup.test.js +695 -0
  196. package/radio-group/types.d.ts +114 -0
  197. package/radio-group/types.js +5 -0
  198. package/resultsetTable/ResultsetTable.d.ts +4 -0
  199. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
  200. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  201. package/resultsetTable/ResultsetTable.test.js +306 -0
  202. package/resultsetTable/types.d.ts +67 -0
  203. package/resultsetTable/types.js +5 -0
  204. package/row/Row.d.ts +3 -0
  205. package/row/Row.js +127 -0
  206. package/row/Row.stories.tsx +237 -0
  207. package/row/types.d.ts +28 -0
  208. package/row/types.js +5 -0
  209. package/select/Icons.d.ts +10 -0
  210. package/select/Icons.js +93 -0
  211. package/select/Listbox.d.ts +4 -0
  212. package/select/Listbox.js +152 -0
  213. package/select/Option.d.ts +4 -0
  214. package/select/Option.js +110 -0
  215. package/select/Select.d.ts +4 -0
  216. package/select/Select.js +645 -0
  217. package/select/Select.stories.tsx +594 -0
  218. package/select/Select.test.js +2120 -0
  219. package/select/types.d.ts +213 -0
  220. package/select/types.js +5 -0
  221. package/sidenav/Sidenav.d.ts +9 -0
  222. package/{dist/sidenav → sidenav}/Sidenav.js +21 -64
  223. package/sidenav/Sidenav.stories.tsx +182 -0
  224. package/sidenav/Sidenav.test.js +56 -0
  225. package/sidenav/types.d.ts +50 -0
  226. package/sidenav/types.js +5 -0
  227. package/slider/Slider.d.ts +4 -0
  228. package/{dist/slider → slider}/Slider.js +76 -162
  229. package/slider/Slider.stories.tsx +177 -0
  230. package/slider/Slider.test.js +150 -0
  231. package/slider/types.d.ts +82 -0
  232. package/slider/types.js +5 -0
  233. package/spinner/Spinner.d.ts +4 -0
  234. package/spinner/Spinner.js +250 -0
  235. package/spinner/Spinner.stories.jsx +103 -0
  236. package/spinner/Spinner.test.js +64 -0
  237. package/spinner/types.d.ts +32 -0
  238. package/spinner/types.js +5 -0
  239. package/stack/Stack.d.ts +3 -0
  240. package/stack/Stack.js +97 -0
  241. package/stack/Stack.stories.tsx +164 -0
  242. package/stack/types.d.ts +24 -0
  243. package/stack/types.js +5 -0
  244. package/switch/Switch.d.ts +4 -0
  245. package/switch/Switch.js +195 -0
  246. package/switch/Switch.stories.tsx +160 -0
  247. package/switch/Switch.test.js +98 -0
  248. package/switch/types.d.ts +62 -0
  249. package/switch/types.js +5 -0
  250. package/table/Table.d.ts +4 -0
  251. package/{dist/table → table}/Table.js +12 -26
  252. package/table/Table.stories.jsx +277 -0
  253. package/table/Table.test.js +26 -0
  254. package/table/types.d.ts +21 -0
  255. package/table/types.js +5 -0
  256. package/tabs/Tabs.d.ts +4 -0
  257. package/tabs/Tabs.js +211 -0
  258. package/tabs/Tabs.stories.tsx +112 -0
  259. package/tabs/Tabs.test.js +140 -0
  260. package/tabs/types.d.ts +82 -0
  261. package/tabs/types.js +5 -0
  262. package/tag/Tag.d.ts +4 -0
  263. package/tag/Tag.js +183 -0
  264. package/tag/Tag.stories.tsx +142 -0
  265. package/tag/Tag.test.js +60 -0
  266. package/tag/types.d.ts +69 -0
  267. package/tag/types.js +5 -0
  268. package/text/Text.d.ts +7 -0
  269. package/text/Text.js +30 -0
  270. package/text/Text.stories.tsx +19 -0
  271. package/text-input/Suggestion.d.ts +4 -0
  272. package/text-input/Suggestion.js +55 -0
  273. package/text-input/TextInput.d.ts +4 -0
  274. package/{dist/text-input → text-input}/TextInput.js +284 -485
  275. package/text-input/TextInput.stories.tsx +474 -0
  276. package/text-input/TextInput.test.js +1712 -0
  277. package/text-input/types.d.ts +178 -0
  278. package/text-input/types.js +5 -0
  279. package/textarea/Textarea.d.ts +4 -0
  280. package/{dist/textarea → textarea}/Textarea.js +50 -142
  281. package/textarea/Textarea.stories.jsx +157 -0
  282. package/textarea/Textarea.test.js +437 -0
  283. package/textarea/types.d.ts +137 -0
  284. package/textarea/types.js +5 -0
  285. package/toggle-group/ToggleGroup.d.ts +4 -0
  286. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +36 -148
  287. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  288. package/toggle-group/ToggleGroup.test.js +156 -0
  289. package/toggle-group/types.d.ts +105 -0
  290. package/toggle-group/types.js +5 -0
  291. package/useTheme.d.ts +2 -0
  292. package/{dist/useTheme.js → useTheme.js} +2 -2
  293. package/useTranslatedLabels.d.ts +2 -0
  294. package/useTranslatedLabels.js +20 -0
  295. package/wizard/Wizard.d.ts +4 -0
  296. package/wizard/Wizard.js +292 -0
  297. package/wizard/Wizard.stories.tsx +214 -0
  298. package/wizard/Wizard.test.js +141 -0
  299. package/wizard/types.d.ts +64 -0
  300. package/wizard/types.js +5 -0
  301. package/README.md +0 -66
  302. package/babel.config.js +0 -8
  303. package/dist/BackgroundColorContext.js +0 -46
  304. package/dist/ThemeContext.js +0 -248
  305. package/dist/V3Textarea/V3Textarea.js +0 -264
  306. package/dist/accordion/Accordion.js +0 -353
  307. package/dist/accordion-group/AccordionGroup.js +0 -186
  308. package/dist/alert/index.d.ts +0 -51
  309. package/dist/badge/Badge.js +0 -63
  310. package/dist/card/Card.js +0 -254
  311. package/dist/checkbox/Checkbox.stories.js +0 -144
  312. package/dist/checkbox/readme.md +0 -116
  313. package/dist/chip/Chip.js +0 -265
  314. package/dist/date/Date.js +0 -379
  315. package/dist/date/Date.stories.js +0 -205
  316. package/dist/date/readme.md +0 -73
  317. package/dist/date-input/index.d.ts +0 -95
  318. package/dist/dialog/Dialog.js +0 -218
  319. package/dist/file-input/FileInput.js +0 -644
  320. package/dist/file-input/FileItem.js +0 -280
  321. package/dist/file-input/index.d.ts +0 -81
  322. package/dist/footer/Footer.js +0 -421
  323. package/dist/header/Header.js +0 -434
  324. package/dist/input-text/Icons.js +0 -22
  325. package/dist/input-text/InputText.js +0 -705
  326. package/dist/layout/ApplicationLayout.js +0 -327
  327. package/dist/link/Link.js +0 -237
  328. package/dist/link/readme.md +0 -51
  329. package/dist/main.d.ts +0 -8
  330. package/dist/new-select/NewSelect.js +0 -836
  331. package/dist/new-select/index.d.ts +0 -53
  332. package/dist/number-input/NumberInput.js +0 -136
  333. package/dist/number-input/index.d.ts +0 -113
  334. package/dist/paginator/Paginator.js +0 -283
  335. package/dist/password-input/index.d.ts +0 -94
  336. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  337. package/dist/progress-bar/readme.md +0 -63
  338. package/dist/radio/Radio.stories.js +0 -166
  339. package/dist/radio/readme.md +0 -70
  340. package/dist/select/Select.js +0 -549
  341. package/dist/slider/readme.md +0 -64
  342. package/dist/spinner/Spinner.js +0 -381
  343. package/dist/spinner/Spinner.stories.js +0 -183
  344. package/dist/spinner/readme.md +0 -65
  345. package/dist/switch/Switch.js +0 -222
  346. package/dist/switch/Switch.stories.js +0 -134
  347. package/dist/switch/readme.md +0 -133
  348. package/dist/tabs/Tabs.js +0 -343
  349. package/dist/tabs/Tabs.stories.js +0 -130
  350. package/dist/tabs/readme.md +0 -78
  351. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  352. package/dist/tabs-for-sections/readme.md +0 -78
  353. package/dist/tag/Tag.js +0 -282
  354. package/dist/text-input/index.d.ts +0 -135
  355. package/dist/textarea/index.d.ts +0 -117
  356. package/dist/toggle/Toggle.js +0 -220
  357. package/dist/toggle/Toggle.stories.js +0 -297
  358. package/dist/toggle/readme.md +0 -80
  359. package/dist/upload/Upload.js +0 -205
  360. package/dist/upload/Upload.stories.js +0 -72
  361. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  362. package/dist/upload/buttons-upload/Icons.js +0 -40
  363. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  364. package/dist/upload/dragAndDropArea/Icons.js +0 -39
  365. package/dist/upload/file-upload/FileToUpload.js +0 -189
  366. package/dist/upload/file-upload/Icons.js +0 -66
  367. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  368. package/dist/upload/readme.md +0 -37
  369. package/dist/upload/transaction/Icons.js +0 -160
  370. package/dist/upload/transaction/Transaction.js +0 -148
  371. package/dist/upload/transactions/Transactions.js +0 -138
  372. package/dist/wizard/Icons.js +0 -65
  373. package/dist/wizard/Wizard.js +0 -405
  374. package/test/Accordion.test.js +0 -33
  375. package/test/AccordionGroup.test.js +0 -125
  376. package/test/Alert.test.js +0 -53
  377. package/test/Box.test.js +0 -10
  378. package/test/Button.test.js +0 -18
  379. package/test/Card.test.js +0 -30
  380. package/test/Checkbox.test.js +0 -45
  381. package/test/Chip.test.js +0 -25
  382. package/test/Date.test.js +0 -397
  383. package/test/DateInput.test.js +0 -242
  384. package/test/Dialog.test.js +0 -23
  385. package/test/Dropdown.test.js +0 -145
  386. package/test/FileInput.test.js +0 -201
  387. package/test/Footer.test.js +0 -94
  388. package/test/Header.test.js +0 -34
  389. package/test/Heading.test.js +0 -35
  390. package/test/InputText.test.js +0 -248
  391. package/test/Link.test.js +0 -43
  392. package/test/NumberInput.test.js +0 -259
  393. package/test/Paginator.test.js +0 -177
  394. package/test/PasswordInput.test.js +0 -83
  395. package/test/ProgressBar.test.js +0 -35
  396. package/test/Radio.test.js +0 -37
  397. package/test/ResultsetTable.test.js +0 -329
  398. package/test/Select.test.js +0 -212
  399. package/test/Sidenav.test.js +0 -45
  400. package/test/Slider.test.js +0 -74
  401. package/test/Spinner.test.js +0 -32
  402. package/test/Switch.test.js +0 -45
  403. package/test/Table.test.js +0 -36
  404. package/test/Tabs.test.js +0 -109
  405. package/test/TabsForSections.test.js +0 -34
  406. package/test/Tag.test.js +0 -32
  407. package/test/TextInput.test.js +0 -732
  408. package/test/Textarea.test.js +0 -193
  409. package/test/ToggleGroup.test.js +0 -85
  410. package/test/Upload.test.js +0 -60
  411. package/test/V3TextArea.test.js +0 -51
  412. package/test/Wizard.test.js +0 -130
  413. package/test/mocks/pngMock.js +0 -1
  414. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,171 @@
1
+ import React from "react";
2
+ import DxcApplicationLayout from "./ApplicationLayout";
3
+ import DxcSidenav from "../sidenav/Sidenav";
4
+ import Title from "../../.storybook/components/Title";
5
+ import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
6
+ import { userEvent, within, waitFor } from "@storybook/testing-library";
7
+
8
+ export default {
9
+ title: "Application Layout ",
10
+ component: DxcApplicationLayout,
11
+ parameters: {
12
+ viewport: {
13
+ viewports: INITIAL_VIEWPORTS,
14
+ }
15
+ }
16
+ };
17
+
18
+ export const DefaultApplicationLayout = () => (
19
+ <>
20
+ <DxcApplicationLayout>
21
+ <DxcApplicationLayout.Main>
22
+ <Title title="Default application layout" theme="light" level={4} />
23
+ <p>Main Content</p>
24
+ <p>Main Content</p>
25
+ <p>Main Content</p>
26
+ <p>Main Content</p>
27
+ </DxcApplicationLayout.Main>
28
+ </DxcApplicationLayout>
29
+ </>
30
+ );
31
+
32
+ export const ApplicationLayoutWithDefaultSidenav = () => (
33
+ <>
34
+ <DxcApplicationLayout>
35
+ <DxcApplicationLayout.SideNav>
36
+ <DxcSidenav.Title>Application layout with sidenav</DxcSidenav.Title>
37
+ <p>SideNav Content</p>
38
+ <p>SideNav Content</p>
39
+ <p>SideNav Content</p>
40
+ <p>SideNav Content</p>
41
+ <p>SideNav Content</p>
42
+ </DxcApplicationLayout.SideNav>
43
+ <DxcApplicationLayout.Main>
44
+ <p>Main Content</p>
45
+ <p>Main Content</p>
46
+ <p>Main Content</p>
47
+ <p>Main Content</p>
48
+ </DxcApplicationLayout.Main>
49
+ </DxcApplicationLayout>
50
+ </>
51
+ );
52
+
53
+ export const ApplicationLayoutWithPushSidenav = () => (
54
+ <>
55
+ <DxcApplicationLayout>
56
+ <DxcApplicationLayout.SideNav mode="push">
57
+ <DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
58
+ <p>SideNav Content</p>
59
+ <p>SideNav Content</p>
60
+ <p>SideNav Content</p>
61
+ <p>SideNav Content</p>
62
+ <p>SideNav Content</p>
63
+ </DxcApplicationLayout.SideNav>
64
+ <DxcApplicationLayout.Main>
65
+ <p>Main Content</p>
66
+ <p>Main Content</p>
67
+ <p>Main Content</p>
68
+ <p>Main Content</p>
69
+ </DxcApplicationLayout.Main>
70
+ </DxcApplicationLayout>
71
+ </>
72
+ );
73
+
74
+ export const ApplicationLayoutWithArrowSidenav = () => (
75
+ <>
76
+ <DxcApplicationLayout>
77
+ <DxcApplicationLayout.SideNav mode="overlay" displayArrow>
78
+ <DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
79
+ <p>SideNav Content</p>
80
+ <p>SideNav Content</p>
81
+ <p>SideNav Content</p>
82
+ <p>SideNav Content</p>
83
+ <p>SideNav Content</p>
84
+ </DxcApplicationLayout.SideNav>
85
+ <DxcApplicationLayout.Main>
86
+ <p>Main Content</p>
87
+ <p>Main Content</p>
88
+ <p>Main Content</p>
89
+ <p>Main Content</p>
90
+ </DxcApplicationLayout.Main>
91
+ </DxcApplicationLayout>
92
+ </>
93
+ );
94
+
95
+ export const ApplicationLayoutWithResponsiveSidenav = () => (
96
+ <>
97
+ <DxcApplicationLayout>
98
+ <DxcApplicationLayout.SideNav>
99
+ <DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
100
+ <p>SideNav Content</p>
101
+ <p>SideNav Content</p>
102
+ <p>SideNav Content</p>
103
+ <p>SideNav Content</p>
104
+ <p>SideNav Content</p>
105
+ </DxcApplicationLayout.SideNav>
106
+ <DxcApplicationLayout.Main>
107
+ <p>Main Content</p>
108
+ <p>Main Content</p>
109
+ <p>Main Content</p>
110
+ <p>Main Content</p>
111
+ </DxcApplicationLayout.Main>
112
+ </DxcApplicationLayout>
113
+ </>
114
+ );
115
+
116
+ ApplicationLayoutWithResponsiveSidenav.parameters = {
117
+ viewport: {
118
+ defaultViewport: 'pixel',
119
+ },
120
+ };
121
+
122
+ export const ApplicationLayoutWithCustomHeader = () => (
123
+ <>
124
+ <DxcApplicationLayout>
125
+ <DxcApplicationLayout.Header> <p>Custom Header</p> </DxcApplicationLayout.Header>
126
+ <DxcApplicationLayout.SideNav>
127
+ <DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
128
+ <p>SideNav Content</p>
129
+ <p>SideNav Content</p>
130
+ <p>SideNav Content</p>
131
+ <p>SideNav Content</p>
132
+ <p>SideNav Content</p>
133
+ </DxcApplicationLayout.SideNav>
134
+ <DxcApplicationLayout.Main>
135
+ <p>Main Content</p>
136
+ <p>Main Content</p>
137
+ <p>Main Content</p>
138
+ <p>Main Content</p>
139
+ </DxcApplicationLayout.Main>
140
+ </DxcApplicationLayout>
141
+ </>
142
+ );
143
+
144
+ export const ApplicationLayoutWithCustomFooter = () => (
145
+ <>
146
+ <DxcApplicationLayout>
147
+ <DxcApplicationLayout.SideNav>
148
+ <DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
149
+ <p>SideNav Content</p>
150
+ <p>SideNav Content</p>
151
+ <p>SideNav Content</p>
152
+ <p>SideNav Content</p>
153
+ <p>SideNav Content</p>
154
+ </DxcApplicationLayout.SideNav>
155
+ <DxcApplicationLayout.Main>
156
+ <p>Main Content</p>
157
+ <p>Main Content</p>
158
+ <p>Main Content</p>
159
+ <p>Main Content</p>
160
+ </DxcApplicationLayout.Main>
161
+ <DxcApplicationLayout.Footer> <p>Custom Footer</p> </DxcApplicationLayout.Footer>
162
+ </DxcApplicationLayout>
163
+ </>
164
+ );
165
+
166
+ export const ApplicationLayoutWithClosingSidenav = ApplicationLayoutWithArrowSidenav.bind({});
167
+ ApplicationLayoutWithClosingSidenav.play = async ({ canvasElement }) => {
168
+ const canvas = within(canvasElement);
169
+ const arrow = canvas.getByRole("button");
170
+ await userEvent.click(arrow);
171
+ };
@@ -5,11 +5,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.linkedinLogo = exports.twitterLogo = exports.facebookLogo = void 0;
8
+ exports.twitterLogo = exports.linkedinLogo = exports.facebookLogo = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
- var facebookLogo = _react["default"].createElement("svg", {
12
+ var facebookLogo = /*#__PURE__*/_react["default"].createElement("svg", {
13
13
  version: "1.1",
14
14
  id: "Capa_1",
15
15
  x: "0px",
@@ -18,13 +18,13 @@ var facebookLogo = _react["default"].createElement("svg", {
18
18
  height: "438.536px",
19
19
  viewBox: "0 0 438.536 438.536",
20
20
  fill: "#FFFFFF"
21
- }, _react["default"].createElement("g", null, _react["default"].createElement("path", {
21
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
22
22
  d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402 c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401 c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
23
23
  })));
24
24
 
25
25
  exports.facebookLogo = facebookLogo;
26
26
 
27
- var twitterLogo = _react["default"].createElement("svg", {
27
+ var twitterLogo = /*#__PURE__*/_react["default"].createElement("svg", {
28
28
  version: "1.1",
29
29
  id: "Capa_1",
30
30
  x: "0px",
@@ -33,13 +33,13 @@ var twitterLogo = _react["default"].createElement("svg", {
33
33
  height: "438.536px",
34
34
  viewBox: "0 0 438.536 438.536",
35
35
  fill: "#FFFFFF"
36
- }, _react["default"].createElement("g", null, _react["default"].createElement("path", {
36
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
37
37
  d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M335.471,168.735c0.191,1.713,0.288,4.278,0.288,7.71 c0,15.989-2.334,32.025-6.995,48.104c-4.661,16.087-11.8,31.504-21.416,46.254c-9.606,14.749-21.074,27.791-34.396,39.115 c-13.325,11.32-29.311,20.365-47.968,27.117c-18.648,6.762-38.637,10.143-59.953,10.143c-33.116,0-63.76-8.952-91.931-26.836 c4.568,0.568,9.329,0.855,14.275,0.855c27.6,0,52.439-8.565,74.519-25.7c-12.941-0.185-24.506-4.179-34.688-11.991 c-10.185-7.803-17.273-17.699-21.271-29.691c4.947,0.76,8.658,1.137,11.132,1.137c4.187,0,9.042-0.76,14.56-2.279 c-13.894-2.669-25.598-9.562-35.115-20.697c-9.519-11.136-14.277-23.84-14.277-38.114v-0.571 c10.085,4.755,19.602,7.229,28.549,7.422c-17.321-11.613-25.981-28.265-25.981-49.963c0-10.66,2.758-20.747,8.278-30.264 c15.035,18.464,33.311,33.213,54.816,44.252c21.507,11.038,44.54,17.227,69.092,18.558c-0.95-3.616-1.427-8.186-1.427-13.704 c0-16.562,5.853-30.692,17.56-42.399c11.703-11.706,25.837-17.561,42.394-17.561c17.515,0,32.079,6.283,43.688,18.846 c13.134-2.474,25.892-7.33,38.26-14.56c-4.757,14.652-13.613,25.788-26.55,33.402c12.368-1.716,23.88-4.95,34.537-9.708 C357.458,149.793,347.462,160.166,335.471,168.735z"
38
38
  })));
39
39
 
40
40
  exports.twitterLogo = twitterLogo;
41
41
 
42
- var linkedinLogo = _react["default"].createElement("svg", {
42
+ var linkedinLogo = /*#__PURE__*/_react["default"].createElement("svg", {
43
43
  version: "1.1",
44
44
  id: "Capa_1",
45
45
  x: "0px",
@@ -48,7 +48,7 @@ var linkedinLogo = _react["default"].createElement("svg", {
48
48
  height: "438.536px",
49
49
  viewBox: "0 0 438.536 438.536",
50
50
  fill: "#FFFFFF"
51
- }, _react["default"].createElement("g", null, _react["default"].createElement("path", {
51
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
52
52
  d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332 c-6.851,6.567-15.893,9.851-27.124,9.851h-0.288c-10.848,0-19.648-3.284-26.407-9.851c-6.76-6.567-10.138-14.703-10.138-24.41 c0-9.897,3.476-18.083,10.421-24.556c6.95-6.471,15.942-9.708,26.98-9.708c11.039,0,19.89,3.237,26.553,9.708 c6.661,6.473,10.088,14.659,10.277,24.556C137.899,117.625,134.477,125.761,127.626,132.332z M370.873,367.157h-65.952v-105.92 c0-29.879-11.036-44.823-33.116-44.823c-8.374,0-15.42,2.331-21.128,6.995c-5.715,4.661-9.996,10.324-12.847,16.991 c-1.335,3.422-1.999,8.75-1.999,15.981v110.775h-65.952c0.571-119.529,0.571-185.579,0-198.142h65.952v27.974 c13.867-21.681,33.558-32.544,59.101-32.544c22.84,0,41.21,7.52,55.104,22.554c13.895,15.037,20.841,37.214,20.841,66.519v113.64 H370.873z"
53
53
  })));
54
54
 
@@ -0,0 +1,57 @@
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 ChildrenType = AppLayoutHeaderPropsType | AppLayoutMainPropsType | AppLayoutFooterPropsType | AppLayoutSidenavPropsType;
10
+ export declare type AppLayoutHeaderPropsType = {
11
+ /**
12
+ * Everything between this tags will be displayed as a header, at the top of the screen.
13
+ * This is optional and if it is not specified, the DxcHeader will be shown by default.
14
+ */
15
+ children?: React.ReactNode;
16
+ };
17
+ export declare type AppLayoutMainPropsType = {
18
+ /**
19
+ * Everything between the tags will be displayed as the content of the main part of the application.
20
+ */
21
+ children: React.ReactNode;
22
+ };
23
+ export declare type AppLayoutFooterPropsType = {
24
+ /**
25
+ * Everything between the tags will be displayed as a footer, at the bottom of the screen.
26
+ * This is optional and if it is not specified, the DxcFooter will be shown by default.
27
+ */
28
+ children?: React.ReactNode;
29
+ };
30
+ export declare type AppLayoutSidenavPropsType = {
31
+ /**
32
+ * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
33
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
34
+ */
35
+ padding?: Space | Padding;
36
+ /**
37
+ * The area inside the sidenav. This area can be used to render custom content.
38
+ */
39
+ children: React.ReactNode;
40
+ /**
41
+ * If false, the arrow button is hidden.
42
+ * In lower resolutions the arrow will be always displayed.
43
+ */
44
+ displayArrow?: boolean;
45
+ /**
46
+ * Default action over the content of the page, overlay the content or push to the right ('push' | 'overlay').
47
+ * In lower resolutions the mode will always be overlay.
48
+ */
49
+ mode: "push" | "overlay";
50
+ };
51
+ declare type AppLayoutPropsType = {
52
+ /**
53
+ * The area inside the sidenav. This area can be used to render custom content.
54
+ */
55
+ children: React.ReactElement<ChildrenType> | React.ReactElement<ChildrenType>[];
56
+ };
57
+ export default AppLayoutPropsType;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/link/Link.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { LinkProps } from "./types";
3
+ declare const DxcLink: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
4
+ export default DxcLink;
package/link/Link.js ADDED
@@ -0,0 +1,131 @@
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 = _interopRequireWildcard(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;
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 LinkContent = /*#__PURE__*/_react["default"].memo(function (_ref) {
31
+ var iconPosition = _ref.iconPosition,
32
+ icon = _ref.icon,
33
+ children = _ref.children;
34
+ return /*#__PURE__*/_react["default"].createElement(LinkText, null, iconPosition === "after" && children, icon && /*#__PURE__*/_react["default"].createElement(LinkIconContainer, {
35
+ iconPosition: iconPosition
36
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(LinkIcon, {
37
+ src: icon
38
+ }) : icon), iconPosition === "before" && children);
39
+ });
40
+
41
+ var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
42
+ var _ref2$inheritColor = _ref2.inheritColor,
43
+ inheritColor = _ref2$inheritColor === void 0 ? false : _ref2$inheritColor,
44
+ _ref2$disabled = _ref2.disabled,
45
+ disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
46
+ icon = _ref2.icon,
47
+ _ref2$iconPosition = _ref2.iconPosition,
48
+ iconPosition = _ref2$iconPosition === void 0 ? "before" : _ref2$iconPosition,
49
+ _ref2$href = _ref2.href,
50
+ href = _ref2$href === void 0 ? "" : _ref2$href,
51
+ _ref2$newWindow = _ref2.newWindow,
52
+ newWindow = _ref2$newWindow === void 0 ? false : _ref2$newWindow,
53
+ onClick = _ref2.onClick,
54
+ margin = _ref2.margin,
55
+ _ref2$tabIndex = _ref2.tabIndex,
56
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex,
57
+ children = _ref2.children;
58
+ var colorsTheme = (0, _useTheme["default"])();
59
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
60
+ theme: colorsTheme.link
61
+ }, /*#__PURE__*/_react["default"].createElement(StyledLink, {
62
+ as: href ? "a" : "button",
63
+ tabIndex: tabIndex,
64
+ onClick: !disabled && onClick,
65
+ href: !disabled && href ? href : undefined,
66
+ target: href ? newWindow ? "_blank" : "_self" : undefined,
67
+ disabled: disabled,
68
+ inheritColor: inheritColor,
69
+ margin: margin,
70
+ ref: ref
71
+ }, /*#__PURE__*/_react["default"].createElement(LinkContent, {
72
+ iconPosition: iconPosition,
73
+ icon: icon,
74
+ children: children
75
+ })));
76
+ });
77
+
78
+ var StyledLink = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n font-family: ", ";\n text-decoration-color: transparent;\n\n ", "\n ", "\n color: ", ";\n ", "\n\n &:visited {\n color: ", ";\n &:hover {\n ", "\n }\n }\n &:hover {\n ", "\n }\n &:focus {\n border-radius: 2px;\n outline: 2px solid ", ";\n ", "\n }\n &:active {\n ", "\n }\n"])), function (props) {
79
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
80
+ }, function (props) {
81
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
82
+ }, function (props) {
83
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
84
+ }, function (props) {
85
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
86
+ }, function (props) {
87
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
88
+ }, function (props) {
89
+ return props.theme.fontSize;
90
+ }, function (props) {
91
+ return props.theme.fontWeight;
92
+ }, function (props) {
93
+ return props.theme.fontStyle;
94
+ }, function (props) {
95
+ return props.theme.fontFamily;
96
+ }, function (props) {
97
+ return "padding-bottom: ".concat(props.theme.underlineSpacing, ";\n border-bottom: ").concat(props.theme.underlineThickness, " ").concat(props.theme.underlineStyle, " transparent;");
98
+ }, function (props) {
99
+ return props.disabled && "cursor: default;";
100
+ }, function (props) {
101
+ return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.disabledColor;
102
+ }, function (props) {
103
+ return props.disabled ? "pointer-events: none;" : "";
104
+ }, function (props) {
105
+ return !props.inheritColor && !props.disabled ? props.theme.visitedFontColor : "";
106
+ }, function (props) {
107
+ return "color: ".concat(props.theme.visitedFontColor, ";\n border-bottom-color: ").concat(props.theme.visitedUnderlineColor, ";");
108
+ }, function (props) {
109
+ return "color: ".concat(props.theme.hoverFontColor, ";\n border-bottom-color: ").concat(props.theme.hoverUnderlineColor, ";\n cursor: pointer;");
110
+ }, function (props) {
111
+ return props.theme.focusColor;
112
+ }, function (props) {
113
+ return props.disabled && "outline: none";
114
+ }, function (props) {
115
+ return "color: ".concat(props.theme.activeFontColor, " !important;\n border-bottom-color: ").concat(props.theme.activeUnderlineColor, " !important;");
116
+ });
117
+
118
+ var LinkText = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: baseline;\n max-width: 100%;\n"])));
119
+
120
+ var LinkIcon = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])([""])));
121
+
122
+ var LinkIconContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n overflow: hidden;\n align-self: center;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
123
+ return props.theme.iconSize;
124
+ }, function (props) {
125
+ return props.theme.iconSize;
126
+ }, function (props) {
127
+ return "".concat(props.iconPosition === "before" ? "margin-right" : "margin-left", ": ").concat(props.theme.iconSpacing);
128
+ });
129
+
130
+ var _default = DxcLink;
131
+ exports["default"] = _default;
@@ -0,0 +1,186 @@
1
+ import React from "react";
2
+ import DxcLink from "./Link";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+
6
+ export default {
7
+ title: "Link",
8
+ component: DxcLink,
9
+ };
10
+
11
+ const icon = (
12
+ <svg viewBox="0 0 24 24" enable-background="new 0 0 24 24" fill="currentColor">
13
+ <g id="Bounding_Box">
14
+ <rect fill="none" width="24" height="24" />
15
+ </g>
16
+ <g id="Master">
17
+ <path d="M19,9.3V4h-3v2.6L12,3L2,12h3v8h5v-6h4v6h5v-8h3L19,9.3z M10,10c0-1.1,0.9-2,2-2s2,0.9,2,2H10z" />
18
+ </g>
19
+ </svg>
20
+ );
21
+
22
+ export const Chromatic = () => (
23
+ <>
24
+ <Title title="With anchor" theme="light" level={2} />
25
+ <ExampleContainer>
26
+ <Title title="Disabled" theme="light" level={4} />
27
+ <DxcLink disabled>Test</DxcLink>
28
+ <Title title="Icon before" theme="light" level={4} />
29
+ <DxcLink href="https://www.google.com" icon={icon} iconPosition="before">
30
+ Test
31
+ </DxcLink>
32
+ <Title title="Icon after" theme="light" level={4} />
33
+ <DxcLink
34
+ href="https://www.youtube.com/"
35
+ icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
36
+ iconPosition="after"
37
+ >
38
+ Test
39
+ </DxcLink>
40
+ </ExampleContainer>
41
+ <ExampleContainer pseudoState="pseudo-hover">
42
+ <Title title="With link hovered" theme="light" level={4} />
43
+ <DxcLink href="https://www.dxc.com">Test</DxcLink>
44
+ </ExampleContainer>
45
+ <ExampleContainer pseudoState="pseudo-focus">
46
+ <Title title="With link focused" theme="light" level={4} />
47
+ <DxcLink href="https://www.dxc.com">Test</DxcLink>
48
+ </ExampleContainer>
49
+ <ExampleContainer pseudoState="pseudo-active">
50
+ <Title title="With link active" theme="light" level={4} />
51
+ <DxcLink href="https://www.dxc.com">Test</DxcLink>
52
+ </ExampleContainer>
53
+ <ExampleContainer pseudoState="pseudo-visited">
54
+ <Title title="With link visited" theme="light" level={4} />
55
+ <DxcLink href="https://www.amazon.com">Test</DxcLink>
56
+ </ExampleContainer>
57
+ <ExampleContainer>
58
+ <Title title="Inherit color" theme="light" level={4} />
59
+ This is a <DxcLink inheritColor>Test</DxcLink>.
60
+ </ExampleContainer>
61
+ <ExampleContainer pseudoState="pseudo-focus">
62
+ <Title title="With brackets and focus" theme="light" level={4} />
63
+ This is a (
64
+ <DxcLink inheritColor href="https://www.google.com">
65
+ Test
66
+ </DxcLink>
67
+ ).
68
+ </ExampleContainer>
69
+ <ExampleContainer pseudoState="pseudo-hover">
70
+ <Title title="Long text with hover" theme="light" level={4} />
71
+ Lorem <DxcLink href="https://www.google.com">Test</DxcLink> ipsum dolor sit amet, consectetur adipiscing elit, sed
72
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
73
+ ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit
74
+ esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
75
+ officia deserunt mollit anim id est laborum.
76
+ </ExampleContainer>
77
+ <ExampleContainer pseudoState="pseudo-focus">
78
+ <Title title="Long text with focus" theme="light" level={4} />
79
+ Lorem <DxcLink href="https://www.google.com">Test</DxcLink> ipsum dolor sit amet, consectetur adipiscing elit, sed
80
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
81
+ ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit
82
+ esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
83
+ officia deserunt mollit anim id est laborum.
84
+ </ExampleContainer>
85
+ <Title title="With button" theme="light" level={2} />
86
+ <ExampleContainer>
87
+ <Title title="Disabled" theme="light" level={4} />
88
+ <DxcLink onClick={() => {}} disabled>
89
+ Test
90
+ </DxcLink>
91
+ <Title title="Icon before" theme="light" level={4} />
92
+ <DxcLink onClick={() => {}} icon={icon} iconPosition="before">
93
+ Test
94
+ </DxcLink>
95
+ <Title title="Icon after" theme="light" level={4} />
96
+ <DxcLink onClick={() => {}} icon={icon} iconPosition="after">
97
+ Test
98
+ </DxcLink>
99
+ </ExampleContainer>
100
+ <ExampleContainer pseudoState="pseudo-hover">
101
+ <Title title="With link hovered" theme="light" level={4} />
102
+ <DxcLink onClick={() => {}}>Test</DxcLink>
103
+ </ExampleContainer>
104
+ <ExampleContainer pseudoState="pseudo-focus">
105
+ <Title title="With link focused" theme="light" level={4} />
106
+ <DxcLink onClick={() => {}}>Test</DxcLink>
107
+ </ExampleContainer>
108
+ <ExampleContainer pseudoState="pseudo-active">
109
+ <Title title="With link active" theme="light" level={4} />
110
+ <DxcLink onClick={() => {}}>Test</DxcLink>
111
+ </ExampleContainer>
112
+ <ExampleContainer pseudoState="pseudo-visited">
113
+ <Title title="With link visited" theme="light" level={4} />
114
+ <DxcLink onClick={() => {}}>Test</DxcLink>
115
+ </ExampleContainer>
116
+ <ExampleContainer>
117
+ <Title title="Inherit color" theme="light" level={4} />
118
+ This is a{" "}
119
+ <DxcLink onClick={() => {}} inheritColor>
120
+ Test
121
+ </DxcLink>
122
+ .
123
+ </ExampleContainer>
124
+ <ExampleContainer pseudoState="pseudo-focus">
125
+ <Title title="With brackets and focus" theme="light" level={4} />
126
+ This is a (
127
+ <DxcLink onClick={() => {}} inheritColor>
128
+ Test
129
+ </DxcLink>
130
+ ).
131
+ </ExampleContainer>
132
+ <ExampleContainer pseudoState="pseudo-hover">
133
+ <Title title="Long text with hover" theme="light" level={4} />
134
+ Lorem{" "}
135
+ <DxcLink onClick={() => {}} href="https://www.google.com">
136
+ Test
137
+ </DxcLink>{" "}
138
+ ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
139
+ aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
140
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
141
+ Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
142
+ </ExampleContainer>
143
+ <ExampleContainer pseudoState="pseudo-focus">
144
+ <Title title="Long text with focus" theme="light" level={4} />
145
+ Lorem{" "}
146
+ <DxcLink onClick={() => {}} href="https://www.google.com">
147
+ Test
148
+ </DxcLink>{" "}
149
+ ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
150
+ aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
151
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
152
+ Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
153
+ </ExampleContainer>
154
+ <Title title="Margins" theme="light" level={2} />
155
+ <ExampleContainer>
156
+ <Title title="Xxsmall margin" theme="light" level={4} />
157
+ <DxcLink margin="xxsmall" href="https://www.facebook.com/">
158
+ Test
159
+ </DxcLink>
160
+ <Title title="Xsmall margin" theme="light" level={4} />
161
+ <DxcLink margin="xsmall" href="https://www.linkedin.com/">
162
+ Test
163
+ </DxcLink>
164
+ <Title title="Small margin" theme="light" level={4} />
165
+ <DxcLink margin="small" href="https://www.linkedin.com/">
166
+ Test
167
+ </DxcLink>
168
+ <Title title="Medium margin" theme="light" level={4} />
169
+ <DxcLink margin="medium" href="https://www.linkedin.com/">
170
+ Test
171
+ </DxcLink>
172
+ <Title title="Large margin" theme="light" level={4} />
173
+ <DxcLink margin="large" href="https://www.linkedin.com/">
174
+ Test
175
+ </DxcLink>
176
+ <Title title="Xlarge margin" theme="light" level={4} />
177
+ <DxcLink margin="xlarge" href="https://www.linkedin.com/">
178
+ Test
179
+ </DxcLink>
180
+ <Title title="Xxlarge margin" theme="light" level={4} />
181
+ <DxcLink margin="xxlarge" href="https://www.linkedin.com/">
182
+ Test
183
+ </DxcLink>
184
+ </ExampleContainer>
185
+ </>
186
+ );