@dxc-technology/halstack-react 0.0.0-5eef226 → 0.0.0-5fab8cb

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 (540) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1221 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +28 -47
  6. package/accordion/Accordion.d.ts +4 -0
  7. package/accordion/Accordion.js +182 -0
  8. package/accordion/Accordion.stories.tsx +283 -0
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +57 -0
  11. package/accordion/types.js +5 -0
  12. package/accordion-group/AccordionGroup.d.ts +8 -0
  13. package/accordion-group/AccordionGroup.js +101 -0
  14. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  15. package/accordion-group/AccordionGroup.test.js +98 -0
  16. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  17. package/accordion-group/AccordionGroupAccordion.js +31 -0
  18. package/accordion-group/types.d.ts +67 -0
  19. package/accordion-group/types.js +5 -0
  20. package/action-icon/ActionIcon.d.ts +4 -0
  21. package/action-icon/ActionIcon.js +47 -0
  22. package/action-icon/ActionIcon.stories.tsx +41 -0
  23. package/action-icon/ActionIcon.test.js +64 -0
  24. package/action-icon/types.d.ts +26 -0
  25. package/action-icon/types.js +5 -0
  26. package/alert/Alert.d.ts +4 -0
  27. package/alert/Alert.js +254 -0
  28. package/alert/Alert.stories.tsx +198 -0
  29. package/alert/Alert.test.js +75 -0
  30. package/alert/types.d.ts +49 -0
  31. package/alert/types.js +5 -0
  32. package/badge/Badge.d.ts +4 -0
  33. package/badge/Badge.js +161 -0
  34. package/badge/Badge.stories.tsx +210 -0
  35. package/badge/Badge.test.js +30 -0
  36. package/badge/types.d.ts +54 -0
  37. package/badge/types.js +5 -0
  38. package/bleed/Bleed.d.ts +3 -0
  39. package/bleed/Bleed.js +43 -0
  40. package/bleed/Bleed.stories.tsx +342 -0
  41. package/bleed/types.d.ts +37 -0
  42. package/bleed/types.js +5 -0
  43. package/box/Box.d.ts +4 -0
  44. package/box/Box.js +75 -0
  45. package/box/Box.stories.tsx +119 -0
  46. package/box/Box.test.js +13 -0
  47. package/box/types.d.ts +32 -0
  48. package/box/types.js +5 -0
  49. package/bulleted-list/BulletedList.d.ts +7 -0
  50. package/bulleted-list/BulletedList.js +89 -0
  51. package/bulleted-list/BulletedList.stories.tsx +115 -0
  52. package/bulleted-list/types.d.ts +38 -0
  53. package/bulleted-list/types.js +5 -0
  54. package/button/Button.d.ts +4 -0
  55. package/button/Button.js +120 -0
  56. package/button/Button.stories.tsx +344 -0
  57. package/button/Button.test.js +38 -0
  58. package/button/types.d.ts +57 -0
  59. package/button/types.js +5 -0
  60. package/card/Card.d.ts +4 -0
  61. package/card/Card.js +120 -0
  62. package/card/Card.stories.tsx +171 -0
  63. package/card/Card.test.js +39 -0
  64. package/card/types.d.ts +62 -0
  65. package/card/types.js +5 -0
  66. package/checkbox/Checkbox.d.ts +4 -0
  67. package/checkbox/Checkbox.js +215 -0
  68. package/checkbox/Checkbox.stories.tsx +222 -0
  69. package/checkbox/Checkbox.test.js +199 -0
  70. package/checkbox/types.d.ts +72 -0
  71. package/checkbox/types.js +5 -0
  72. package/chip/Chip.d.ts +4 -0
  73. package/chip/Chip.js +121 -0
  74. package/chip/Chip.stories.tsx +214 -0
  75. package/chip/Chip.test.js +41 -0
  76. package/chip/types.d.ts +45 -0
  77. package/chip/types.js +5 -0
  78. package/common/OpenSans.css +69 -0
  79. package/common/coreTokens.d.ts +237 -0
  80. package/common/coreTokens.js +184 -0
  81. package/common/utils.d.ts +1 -0
  82. package/{dist/common → common}/utils.js +6 -12
  83. package/common/variables.d.ts +1367 -0
  84. package/common/variables.js +1239 -0
  85. package/container/Container.d.ts +4 -0
  86. package/container/Container.js +194 -0
  87. package/container/Container.stories.tsx +214 -0
  88. package/container/types.d.ts +74 -0
  89. package/container/types.js +5 -0
  90. package/date-input/Calendar.d.ts +4 -0
  91. package/date-input/Calendar.js +214 -0
  92. package/date-input/DateInput.d.ts +4 -0
  93. package/date-input/DateInput.js +223 -0
  94. package/date-input/DateInput.stories.tsx +285 -0
  95. package/date-input/DateInput.test.js +808 -0
  96. package/date-input/DatePicker.d.ts +4 -0
  97. package/date-input/DatePicker.js +115 -0
  98. package/date-input/Icons.d.ts +6 -0
  99. package/date-input/Icons.js +58 -0
  100. package/date-input/YearPicker.d.ts +4 -0
  101. package/date-input/YearPicker.js +100 -0
  102. package/date-input/types.d.ts +164 -0
  103. package/date-input/types.js +5 -0
  104. package/dialog/Dialog.d.ts +4 -0
  105. package/dialog/Dialog.js +104 -0
  106. package/dialog/Dialog.stories.tsx +365 -0
  107. package/dialog/Dialog.test.js +307 -0
  108. package/dialog/types.d.ts +36 -0
  109. package/dialog/types.js +5 -0
  110. package/dropdown/Dropdown.d.ts +4 -0
  111. package/dropdown/Dropdown.js +334 -0
  112. package/dropdown/Dropdown.stories.tsx +438 -0
  113. package/dropdown/Dropdown.test.js +599 -0
  114. package/dropdown/DropdownMenu.d.ts +4 -0
  115. package/dropdown/DropdownMenu.js +63 -0
  116. package/dropdown/DropdownMenuItem.d.ts +4 -0
  117. package/dropdown/DropdownMenuItem.js +67 -0
  118. package/dropdown/types.d.ts +98 -0
  119. package/dropdown/types.js +5 -0
  120. package/file-input/FileInput.d.ts +4 -0
  121. package/file-input/FileInput.js +479 -0
  122. package/file-input/FileInput.stories.tsx +618 -0
  123. package/file-input/FileInput.test.js +459 -0
  124. package/file-input/FileItem.d.ts +4 -0
  125. package/file-input/FileItem.js +135 -0
  126. package/file-input/types.d.ts +129 -0
  127. package/file-input/types.js +5 -0
  128. package/flex/Flex.d.ts +4 -0
  129. package/flex/Flex.js +57 -0
  130. package/flex/Flex.stories.tsx +112 -0
  131. package/flex/types.d.ts +97 -0
  132. package/flex/types.js +5 -0
  133. package/footer/Footer.d.ts +4 -0
  134. package/footer/Footer.js +138 -0
  135. package/footer/Footer.stories.tsx +171 -0
  136. package/footer/Footer.test.js +85 -0
  137. package/footer/Icons.d.ts +3 -0
  138. package/footer/Icons.js +136 -0
  139. package/footer/types.d.ts +64 -0
  140. package/footer/types.js +5 -0
  141. package/grid/Grid.d.ts +7 -0
  142. package/grid/Grid.js +76 -0
  143. package/grid/Grid.stories.tsx +219 -0
  144. package/grid/types.d.ts +115 -0
  145. package/grid/types.js +5 -0
  146. package/header/Header.d.ts +8 -0
  147. package/header/Header.js +220 -0
  148. package/header/Header.stories.tsx +251 -0
  149. package/header/Header.test.js +66 -0
  150. package/header/Icons.d.ts +2 -0
  151. package/header/Icons.js +29 -0
  152. package/header/types.d.ts +33 -0
  153. package/header/types.js +5 -0
  154. package/heading/Heading.d.ts +4 -0
  155. package/heading/Heading.js +137 -0
  156. package/heading/Heading.stories.tsx +54 -0
  157. package/heading/Heading.test.js +169 -0
  158. package/heading/types.d.ts +33 -0
  159. package/heading/types.js +5 -0
  160. package/image/Image.d.ts +4 -0
  161. package/image/Image.js +70 -0
  162. package/image/Image.stories.tsx +127 -0
  163. package/image/types.d.ts +72 -0
  164. package/image/types.js +5 -0
  165. package/inset/Inset.d.ts +3 -0
  166. package/inset/Inset.js +43 -0
  167. package/inset/Inset.stories.tsx +230 -0
  168. package/inset/types.d.ts +37 -0
  169. package/inset/types.js +5 -0
  170. package/layout/ApplicationLayout.d.ts +20 -0
  171. package/layout/ApplicationLayout.js +134 -0
  172. package/layout/ApplicationLayout.stories.tsx +162 -0
  173. package/layout/Icons.d.ts +8 -0
  174. package/layout/Icons.js +58 -0
  175. package/layout/SidenavContext.d.ts +5 -0
  176. package/layout/SidenavContext.js +13 -0
  177. package/layout/types.d.ts +41 -0
  178. package/layout/types.js +5 -0
  179. package/link/Link.d.ts +4 -0
  180. package/link/Link.js +115 -0
  181. package/link/Link.stories.tsx +253 -0
  182. package/link/Link.test.js +63 -0
  183. package/link/types.d.ts +54 -0
  184. package/link/types.js +5 -0
  185. package/main.d.ts +47 -0
  186. package/{dist/main.js → main.js} +147 -115
  187. package/nav-tabs/NavTabs.d.ts +8 -0
  188. package/nav-tabs/NavTabs.js +93 -0
  189. package/nav-tabs/NavTabs.stories.tsx +276 -0
  190. package/nav-tabs/NavTabs.test.js +76 -0
  191. package/nav-tabs/Tab.d.ts +4 -0
  192. package/nav-tabs/Tab.js +118 -0
  193. package/nav-tabs/types.d.ts +52 -0
  194. package/nav-tabs/types.js +5 -0
  195. package/number-input/NumberInput.d.ts +11 -0
  196. package/number-input/NumberInput.js +67 -0
  197. package/number-input/NumberInput.stories.tsx +131 -0
  198. package/number-input/NumberInput.test.js +830 -0
  199. package/number-input/types.d.ts +130 -0
  200. package/number-input/types.js +5 -0
  201. package/package.json +57 -47
  202. package/paginator/Icons.d.ts +5 -0
  203. package/paginator/Icons.js +40 -0
  204. package/paginator/Paginator.d.ts +4 -0
  205. package/paginator/Paginator.js +135 -0
  206. package/paginator/Paginator.stories.tsx +87 -0
  207. package/paginator/Paginator.test.js +335 -0
  208. package/paginator/types.d.ts +38 -0
  209. package/paginator/types.js +5 -0
  210. package/paragraph/Paragraph.d.ts +5 -0
  211. package/paragraph/Paragraph.js +22 -0
  212. package/paragraph/Paragraph.stories.tsx +27 -0
  213. package/password-input/Icons.d.ts +6 -0
  214. package/password-input/Icons.js +35 -0
  215. package/password-input/PasswordInput.d.ts +4 -0
  216. package/password-input/PasswordInput.js +97 -0
  217. package/password-input/PasswordInput.stories.tsx +99 -0
  218. package/password-input/PasswordInput.test.js +198 -0
  219. package/password-input/types.d.ts +111 -0
  220. package/password-input/types.js +5 -0
  221. package/progress-bar/ProgressBar.d.ts +4 -0
  222. package/progress-bar/ProgressBar.js +144 -0
  223. package/progress-bar/ProgressBar.stories.tsx +93 -0
  224. package/progress-bar/ProgressBar.test.js +93 -0
  225. package/progress-bar/types.d.ts +37 -0
  226. package/progress-bar/types.js +5 -0
  227. package/quick-nav/QuickNav.d.ts +4 -0
  228. package/quick-nav/QuickNav.js +94 -0
  229. package/quick-nav/QuickNav.stories.tsx +356 -0
  230. package/quick-nav/types.d.ts +21 -0
  231. package/quick-nav/types.js +5 -0
  232. package/radio-group/Radio.d.ts +4 -0
  233. package/radio-group/Radio.js +124 -0
  234. package/radio-group/RadioGroup.d.ts +4 -0
  235. package/radio-group/RadioGroup.js +235 -0
  236. package/radio-group/RadioGroup.stories.tsx +214 -0
  237. package/radio-group/RadioGroup.test.js +756 -0
  238. package/radio-group/types.d.ts +114 -0
  239. package/radio-group/types.js +5 -0
  240. package/resultset-table/Icons.d.ts +7 -0
  241. package/resultset-table/Icons.js +47 -0
  242. package/resultset-table/ResultsetTable.d.ts +4 -0
  243. package/resultset-table/ResultsetTable.js +159 -0
  244. package/resultset-table/ResultsetTable.stories.tsx +300 -0
  245. package/resultset-table/ResultsetTable.test.js +305 -0
  246. package/resultset-table/types.d.ts +67 -0
  247. package/resultset-table/types.js +5 -0
  248. package/select/Icons.d.ts +10 -0
  249. package/select/Icons.js +89 -0
  250. package/select/Listbox.d.ts +4 -0
  251. package/select/Listbox.js +143 -0
  252. package/select/Option.d.ts +4 -0
  253. package/select/Option.js +87 -0
  254. package/select/Select.d.ts +4 -0
  255. package/select/Select.js +590 -0
  256. package/select/Select.stories.tsx +971 -0
  257. package/select/Select.test.js +2370 -0
  258. package/select/types.d.ts +209 -0
  259. package/select/types.js +5 -0
  260. package/sidenav/Icons.d.ts +7 -0
  261. package/sidenav/Icons.js +47 -0
  262. package/sidenav/Sidenav.d.ts +10 -0
  263. package/sidenav/Sidenav.js +196 -0
  264. package/sidenav/Sidenav.stories.tsx +282 -0
  265. package/sidenav/Sidenav.test.js +37 -0
  266. package/sidenav/types.d.ts +76 -0
  267. package/sidenav/types.js +5 -0
  268. package/slider/Slider.d.ts +4 -0
  269. package/slider/Slider.js +285 -0
  270. package/slider/Slider.test.js +254 -0
  271. package/slider/types.d.ts +86 -0
  272. package/slider/types.js +5 -0
  273. package/spinner/Spinner.d.ts +4 -0
  274. package/spinner/Spinner.js +206 -0
  275. package/spinner/Spinner.stories.tsx +129 -0
  276. package/spinner/Spinner.test.js +55 -0
  277. package/spinner/types.d.ts +32 -0
  278. package/spinner/types.js +5 -0
  279. package/status-light/StatusLight.d.ts +4 -0
  280. package/status-light/StatusLight.js +51 -0
  281. package/status-light/StatusLight.stories.tsx +74 -0
  282. package/status-light/StatusLight.test.js +25 -0
  283. package/status-light/types.d.ts +17 -0
  284. package/status-light/types.js +5 -0
  285. package/switch/Switch.d.ts +4 -0
  286. package/switch/Switch.js +214 -0
  287. package/switch/Switch.stories.tsx +137 -0
  288. package/switch/Switch.test.js +180 -0
  289. package/switch/types.d.ts +66 -0
  290. package/switch/types.js +5 -0
  291. package/table/Table.d.ts +4 -0
  292. package/table/Table.js +96 -0
  293. package/table/Table.stories.tsx +356 -0
  294. package/table/Table.test.js +21 -0
  295. package/table/types.d.ts +21 -0
  296. package/table/types.js +5 -0
  297. package/tabs/Tab.d.ts +4 -0
  298. package/tabs/Tab.js +116 -0
  299. package/tabs/Tabs.d.ts +4 -0
  300. package/tabs/Tabs.js +384 -0
  301. package/tabs/Tabs.stories.tsx +226 -0
  302. package/tabs/Tabs.test.js +294 -0
  303. package/tabs/types.d.ts +92 -0
  304. package/tabs/types.js +5 -0
  305. package/tag/Tag.d.ts +4 -0
  306. package/tag/Tag.js +151 -0
  307. package/tag/Tag.stories.tsx +155 -0
  308. package/tag/Tag.test.js +49 -0
  309. package/tag/types.d.ts +69 -0
  310. package/tag/types.js +5 -0
  311. package/text-input/Icons.d.ts +8 -0
  312. package/text-input/Icons.js +56 -0
  313. package/text-input/Suggestion.d.ts +4 -0
  314. package/text-input/Suggestion.js +67 -0
  315. package/text-input/Suggestions.d.ts +4 -0
  316. package/text-input/Suggestions.js +84 -0
  317. package/text-input/TextInput.d.ts +4 -0
  318. package/text-input/TextInput.js +572 -0
  319. package/text-input/TextInput.stories.tsx +465 -0
  320. package/text-input/TextInput.test.js +1739 -0
  321. package/text-input/types.d.ts +205 -0
  322. package/text-input/types.js +5 -0
  323. package/textarea/Textarea.d.ts +4 -0
  324. package/textarea/Textarea.js +234 -0
  325. package/textarea/Textarea.stories.tsx +174 -0
  326. package/textarea/Textarea.test.js +406 -0
  327. package/textarea/types.d.ts +141 -0
  328. package/textarea/types.js +5 -0
  329. package/toggle-group/ToggleGroup.d.ts +4 -0
  330. package/toggle-group/ToggleGroup.js +201 -0
  331. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  332. package/toggle-group/ToggleGroup.test.js +137 -0
  333. package/toggle-group/types.d.ts +114 -0
  334. package/toggle-group/types.js +5 -0
  335. package/typography/Typography.d.ts +4 -0
  336. package/typography/Typography.js +23 -0
  337. package/typography/Typography.stories.tsx +198 -0
  338. package/typography/types.d.ts +18 -0
  339. package/typography/types.js +5 -0
  340. package/useTheme.d.ts +1120 -0
  341. package/{dist/useTheme.js → useTheme.js} +4 -11
  342. package/useTranslatedLabels.d.ts +85 -0
  343. package/useTranslatedLabels.js +14 -0
  344. package/utils/BaseTypography.d.ts +21 -0
  345. package/utils/BaseTypography.js +94 -0
  346. package/utils/FocusLock.d.ts +13 -0
  347. package/utils/FocusLock.js +124 -0
  348. package/wizard/Wizard.d.ts +4 -0
  349. package/wizard/Wizard.js +250 -0
  350. package/wizard/Wizard.stories.tsx +253 -0
  351. package/wizard/Wizard.test.js +114 -0
  352. package/wizard/types.d.ts +64 -0
  353. package/wizard/types.js +5 -0
  354. package/babel.config.js +0 -8
  355. package/dist/BackgroundColorContext.js +0 -46
  356. package/dist/ThemeContext.js +0 -216
  357. package/dist/accordion/Accordion.js +0 -356
  358. package/dist/accordion/Accordion.stories.js +0 -207
  359. package/dist/accordion/readme.md +0 -96
  360. package/dist/accordion-group/AccordionGroup.js +0 -188
  361. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  362. package/dist/accordion-group/readme.md +0 -70
  363. package/dist/alert/Alert.js +0 -318
  364. package/dist/alert/Alert.stories.js +0 -158
  365. package/dist/alert/close.svg +0 -4
  366. package/dist/alert/error.svg +0 -4
  367. package/dist/alert/info.svg +0 -4
  368. package/dist/alert/readme.md +0 -43
  369. package/dist/alert/success.svg +0 -4
  370. package/dist/alert/warning.svg +0 -4
  371. package/dist/badge/Badge.js +0 -40
  372. package/dist/box/Box.js +0 -147
  373. package/dist/button/Button.js +0 -219
  374. package/dist/button/Button.stories.js +0 -224
  375. package/dist/button/readme.md +0 -93
  376. package/dist/card/Card.js +0 -247
  377. package/dist/checkbox/Checkbox.js +0 -233
  378. package/dist/checkbox/Checkbox.stories.js +0 -144
  379. package/dist/checkbox/readme.md +0 -116
  380. package/dist/chip/Chip.js +0 -223
  381. package/dist/common/OpenSans.css +0 -81
  382. package/dist/common/RequiredComponent.js +0 -40
  383. package/dist/common/variables.js +0 -627
  384. package/dist/date/Date.js +0 -357
  385. package/dist/date/Date.stories.js +0 -205
  386. package/dist/date/calendar.svg +0 -1
  387. package/dist/date/calendar_dark.svg +0 -1
  388. package/dist/date/readme.md +0 -73
  389. package/dist/dialog/Dialog.js +0 -203
  390. package/dist/dialog/Dialog.stories.js +0 -217
  391. package/dist/dialog/readme.md +0 -32
  392. package/dist/dropdown/Dropdown.js +0 -456
  393. package/dist/dropdown/Dropdown.stories.js +0 -249
  394. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  395. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  396. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  397. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  398. package/dist/dropdown/readme.md +0 -69
  399. package/dist/footer/Footer.js +0 -405
  400. package/dist/footer/Footer.stories.js +0 -94
  401. package/dist/footer/dxc_logo_wht.png +0 -0
  402. package/dist/footer/readme.md +0 -41
  403. package/dist/header/Header.js +0 -385
  404. package/dist/header/Header.stories.js +0 -176
  405. package/dist/header/close_icon.svg +0 -1
  406. package/dist/header/dxc_logo_black.png +0 -0
  407. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  408. package/dist/header/dxc_logo_white.png +0 -0
  409. package/dist/header/hamb_menu_black.svg +0 -1
  410. package/dist/header/hamb_menu_white.svg +0 -1
  411. package/dist/header/readme.md +0 -33
  412. package/dist/heading/Heading.js +0 -163
  413. package/dist/input-text/InputText.js +0 -609
  414. package/dist/input-text/InputText.stories.js +0 -209
  415. package/dist/input-text/error.svg +0 -1
  416. package/dist/input-text/readme.md +0 -91
  417. package/dist/layout/ApplicationLayout.js +0 -331
  418. package/dist/layout/facebook.svg +0 -45
  419. package/dist/layout/linkedin.svg +0 -50
  420. package/dist/layout/twitter.svg +0 -53
  421. package/dist/link/Link.js +0 -200
  422. package/dist/link/readme.md +0 -51
  423. package/dist/paginator/Paginator.js +0 -261
  424. package/dist/paginator/images/next.svg +0 -3
  425. package/dist/paginator/images/nextPage.svg +0 -3
  426. package/dist/paginator/images/previous.svg +0 -3
  427. package/dist/paginator/images/previousPage.svg +0 -3
  428. package/dist/paginator/readme.md +0 -50
  429. package/dist/progress-bar/ProgressBar.js +0 -192
  430. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  431. package/dist/progress-bar/readme.md +0 -63
  432. package/dist/radio/Radio.js +0 -190
  433. package/dist/radio/Radio.stories.js +0 -166
  434. package/dist/radio/readme.md +0 -70
  435. package/dist/resultsetTable/ResultsetTable.js +0 -332
  436. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  437. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  438. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  439. package/dist/select/Select.js +0 -490
  440. package/dist/select/Select.stories.js +0 -235
  441. package/dist/select/readme.md +0 -72
  442. package/dist/sidenav/Sidenav.js +0 -179
  443. package/dist/slider/Slider.js +0 -267
  444. package/dist/slider/Slider.stories.js +0 -241
  445. package/dist/slider/readme.md +0 -64
  446. package/dist/spinner/Spinner.js +0 -214
  447. package/dist/spinner/Spinner.stories.js +0 -183
  448. package/dist/spinner/readme.md +0 -65
  449. package/dist/switch/Switch.js +0 -194
  450. package/dist/switch/Switch.stories.js +0 -134
  451. package/dist/switch/readme.md +0 -133
  452. package/dist/table/Table.js +0 -98
  453. package/dist/tabs/Tabs.js +0 -325
  454. package/dist/tabs/Tabs.stories.js +0 -130
  455. package/dist/tabs/readme.md +0 -78
  456. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  457. package/dist/tabs-for-sections/readme.md +0 -78
  458. package/dist/tag/Tag.js +0 -268
  459. package/dist/textarea/Textarea.js +0 -238
  460. package/dist/toggle/Toggle.js +0 -220
  461. package/dist/toggle/Toggle.stories.js +0 -297
  462. package/dist/toggle/readme.md +0 -80
  463. package/dist/toggle-group/ToggleGroup.js +0 -223
  464. package/dist/toggle-group/readme.md +0 -82
  465. package/dist/upload/Upload.js +0 -209
  466. package/dist/upload/Upload.stories.js +0 -72
  467. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -123
  468. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  469. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  470. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -293
  471. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  472. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  473. package/dist/upload/file-upload/FileToUpload.js +0 -162
  474. package/dist/upload/file-upload/audio-icon.svg +0 -4
  475. package/dist/upload/file-upload/close.svg +0 -4
  476. package/dist/upload/file-upload/file-icon.svg +0 -4
  477. package/dist/upload/file-upload/video-icon.svg +0 -4
  478. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  479. package/dist/upload/readme.md +0 -37
  480. package/dist/upload/transaction/Transaction.js +0 -152
  481. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  482. package/dist/upload/transaction/audio-icon.svg +0 -4
  483. package/dist/upload/transaction/error-icon.svg +0 -4
  484. package/dist/upload/transaction/file-icon-err.svg +0 -4
  485. package/dist/upload/transaction/file-icon.svg +0 -4
  486. package/dist/upload/transaction/image-icon-err.svg +0 -4
  487. package/dist/upload/transaction/image-icon.svg +0 -4
  488. package/dist/upload/transaction/success-icon.svg +0 -4
  489. package/dist/upload/transaction/video-icon-err.svg +0 -4
  490. package/dist/upload/transaction/video-icon.svg +0 -4
  491. package/dist/upload/transactions/Transactions.js +0 -122
  492. package/dist/wizard/Wizard.js +0 -355
  493. package/dist/wizard/invalid_icon.svg +0 -6
  494. package/dist/wizard/valid_icon.svg +0 -6
  495. package/dist/wizard/validation-wrong.svg +0 -6
  496. package/test/Accordion.test.js +0 -33
  497. package/test/AccordionGroup.test.js +0 -125
  498. package/test/Alert.test.js +0 -53
  499. package/test/Box.test.js +0 -10
  500. package/test/Button.test.js +0 -18
  501. package/test/Card.test.js +0 -30
  502. package/test/Checkbox.test.js +0 -45
  503. package/test/Chip.test.js +0 -25
  504. package/test/Date.test.js +0 -393
  505. package/test/Dialog.test.js +0 -23
  506. package/test/Dropdown.test.js +0 -130
  507. package/test/Footer.test.js +0 -99
  508. package/test/Header.test.js +0 -39
  509. package/test/Heading.test.js +0 -35
  510. package/test/InputText.test.js +0 -240
  511. package/test/Link.test.js +0 -42
  512. package/test/Paginator.test.js +0 -177
  513. package/test/ProgressBar.test.js +0 -35
  514. package/test/Radio.test.js +0 -37
  515. package/test/ResultsetTable.test.js +0 -330
  516. package/test/Select.test.js +0 -192
  517. package/test/Sidenav.test.js +0 -45
  518. package/test/Slider.test.js +0 -82
  519. package/test/Spinner.test.js +0 -27
  520. package/test/Switch.test.js +0 -45
  521. package/test/Table.test.js +0 -36
  522. package/test/Tabs.test.js +0 -109
  523. package/test/TabsForSections.test.js +0 -34
  524. package/test/Tag.test.js +0 -32
  525. package/test/TextArea.test.js +0 -52
  526. package/test/ToggleGroup.test.js +0 -81
  527. package/test/Upload.test.js +0 -60
  528. package/test/Wizard.test.js +0 -130
  529. package/test/mocks/pngMock.js +0 -1
  530. package/test/mocks/svgMock.js +0 -1
  531. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  532. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  533. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  534. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  535. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  536. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  537. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  538. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  539. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  540. /package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useResponsiveSidenavVisibility = exports.SidenavContextProvider = void 0;
7
+ var _react = require("react");
8
+ var SidenavContext = /*#__PURE__*/(0, _react.createContext)(null);
9
+ var SidenavContextProvider = exports.SidenavContextProvider = SidenavContext.Provider;
10
+ var useResponsiveSidenavVisibility = exports.useResponsiveSidenavVisibility = function useResponsiveSidenavVisibility() {
11
+ var changeResponsiveSidenavVisibility = (0, _react.useContext)(SidenavContext);
12
+ return changeResponsiveSidenavVisibility;
13
+ };
@@ -0,0 +1,41 @@
1
+ /// <reference types="react" />
2
+ export type AppLayoutMainPropsType = {
3
+ /**
4
+ * Everything between the tags will be displayed as the content of the main part of the application.
5
+ */
6
+ children: React.ReactNode;
7
+ };
8
+ export type AppLayoutSidenavPropsType = {
9
+ /**
10
+ * The area inside the sidenav. This area can be used to render the content inside the sidenav.
11
+ */
12
+ children: React.ReactNode;
13
+ /**
14
+ * The area assigned to render the sidenav title. It is highly recommended to use the sidenav title.
15
+ */
16
+ title?: React.ReactNode;
17
+ };
18
+ type AppLayoutPropsType = {
19
+ /**
20
+ * Text to be placed next to the hamburger button that toggles the
21
+ * visibility of the sidenav.
22
+ */
23
+ visibilityToggleLabel?: string;
24
+ /**
25
+ * Header content.
26
+ */
27
+ header?: React.ReactNode;
28
+ /**
29
+ * Sidenav content
30
+ */
31
+ sidenav?: React.ReactNode;
32
+ /**
33
+ * Footer content
34
+ */
35
+ footer?: React.ReactNode;
36
+ /**
37
+ * Use the DxcApplicationLayout.Main provided to render main content.
38
+ */
39
+ children: React.ReactElement<AppLayoutMainPropsType>;
40
+ };
41
+ 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,115 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
15
+ var _variables = require("../common/variables");
16
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
17
+ var _templateObject, _templateObject2, _templateObject3;
18
+ var _excluded = ["inheritColor", "disabled", "icon", "iconPosition", "href", "newWindow", "onClick", "margin", "tabIndex", "children"];
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
21
+ var LinkContent = /*#__PURE__*/_react["default"].memo(function (_ref) {
22
+ var iconPosition = _ref.iconPosition,
23
+ icon = _ref.icon,
24
+ children = _ref.children;
25
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, iconPosition === "after" && children, icon && /*#__PURE__*/_react["default"].createElement(LinkIconContainer, {
26
+ iconPosition: iconPosition
27
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(LinkIcon, {
28
+ src: icon
29
+ }) : icon), iconPosition === "before" && children);
30
+ });
31
+ var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
32
+ var _ref2$inheritColor = _ref2.inheritColor,
33
+ inheritColor = _ref2$inheritColor === void 0 ? false : _ref2$inheritColor,
34
+ _ref2$disabled = _ref2.disabled,
35
+ disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
36
+ icon = _ref2.icon,
37
+ _ref2$iconPosition = _ref2.iconPosition,
38
+ iconPosition = _ref2$iconPosition === void 0 ? "before" : _ref2$iconPosition,
39
+ _ref2$href = _ref2.href,
40
+ href = _ref2$href === void 0 ? "" : _ref2$href,
41
+ _ref2$newWindow = _ref2.newWindow,
42
+ newWindow = _ref2$newWindow === void 0 ? false : _ref2$newWindow,
43
+ onClick = _ref2.onClick,
44
+ margin = _ref2.margin,
45
+ _ref2$tabIndex = _ref2.tabIndex,
46
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex,
47
+ children = _ref2.children,
48
+ otherProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
49
+ var colorsTheme = (0, _useTheme["default"])();
50
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
51
+ theme: colorsTheme.link
52
+ }, /*#__PURE__*/_react["default"].createElement(StyledLink, (0, _extends2["default"])({
53
+ as: href ? "a" : "button",
54
+ tabIndex: tabIndex,
55
+ onClick: !disabled ? onClick : undefined,
56
+ href: !disabled && href ? href : undefined,
57
+ target: href ? newWindow ? "_blank" : "_self" : undefined,
58
+ disabled: disabled,
59
+ inheritColor: inheritColor,
60
+ margin: margin,
61
+ ref: ref
62
+ }, otherProps), /*#__PURE__*/_react["default"].createElement(LinkContent, {
63
+ iconPosition: iconPosition,
64
+ icon: icon,
65
+ children: children
66
+ })));
67
+ });
68
+ var StyledLink = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: baseline;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\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 width: fit-content;\n ", "\n ", "\n color: ", ";\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) {
69
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
70
+ }, function (props) {
71
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
72
+ }, function (props) {
73
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
74
+ }, function (props) {
75
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
76
+ }, function (props) {
77
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
78
+ }, function (props) {
79
+ return props.theme.fontSize;
80
+ }, function (props) {
81
+ return props.theme.fontWeight;
82
+ }, function (props) {
83
+ return props.theme.fontStyle;
84
+ }, function (props) {
85
+ return props.theme.fontFamily;
86
+ }, function (props) {
87
+ return "padding-bottom: ".concat(props.theme.underlineSpacing, ";\n border-bottom: ").concat(props.theme.underlineThickness, " ").concat(props.theme.underlineStyle, " transparent;");
88
+ }, function (props) {
89
+ return props.disabled && "cursor: default;";
90
+ }, function (props) {
91
+ return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.disabledFontColor;
92
+ }, function (props) {
93
+ return props.disabled ? "pointer-events: none;" : "";
94
+ }, function (props) {
95
+ return !props.inheritColor && !props.disabled ? props.theme.visitedFontColor : "";
96
+ }, function (props) {
97
+ return "color: ".concat(props.theme.visitedFontColor, ";\n border-bottom-color: ").concat(props.theme.visitedUnderlineColor, ";");
98
+ }, function (props) {
99
+ return "color: ".concat(props.theme.hoverFontColor, ";\n border-bottom-color: ").concat(props.theme.hoverUnderlineColor, ";\n cursor: pointer;");
100
+ }, function (props) {
101
+ return props.theme.focusColor;
102
+ }, function (props) {
103
+ return props.disabled && "outline: none";
104
+ }, function (props) {
105
+ return "color: ".concat(props.theme.activeFontColor, " !important;\n border-bottom-color: ").concat(props.theme.activeUnderlineColor, " !important;");
106
+ });
107
+ var LinkIcon = _styledComponents["default"].img(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([""])));
108
+ var LinkIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (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) {
109
+ return props.theme.iconSize;
110
+ }, function (props) {
111
+ return props.theme.iconSize;
112
+ }, function (props) {
113
+ return "".concat(props.iconPosition === "before" ? "margin-right" : "margin-left", ": ").concat(props.theme.iconSpacing);
114
+ });
115
+ var _default = exports["default"] = DxcLink;
@@ -0,0 +1,253 @@
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
+ import { HalstackProvider } from "../HalstackContext";
6
+
7
+ export default {
8
+ title: "Link",
9
+ component: DxcLink,
10
+ };
11
+
12
+ const icon = (
13
+ <svg viewBox="0 0 24 24" enableBackground="new 0 0 24 24" fill="currentColor">
14
+ <g id="Bounding_Box">
15
+ <rect fill="none" width="24" height="24" />
16
+ </g>
17
+ <g id="Master">
18
+ <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" />
19
+ </g>
20
+ </svg>
21
+ );
22
+
23
+ const opinionatedTheme = {
24
+ link: {
25
+ baseColor: "#5f249f",
26
+ },
27
+ };
28
+
29
+ export const Chromatic = () => (
30
+ <>
31
+ <Title title="With anchor" theme="light" level={2} />
32
+ <ExampleContainer>
33
+ <Title title="Disabled" theme="light" level={4} />
34
+ <DxcLink disabled>Test</DxcLink>
35
+ <Title title="Icon before" theme="light" level={4} />
36
+ <DxcLink href="https://www.google.com" icon={icon} iconPosition="before">
37
+ Test
38
+ </DxcLink>
39
+ <Title title="Icon after" theme="light" level={4} />
40
+ <DxcLink
41
+ href="https://www.youtube.com/"
42
+ icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
43
+ iconPosition="after"
44
+ >
45
+ Test
46
+ </DxcLink>
47
+ </ExampleContainer>
48
+ <ExampleContainer pseudoState="pseudo-hover">
49
+ <Title title="With link hovered" theme="light" level={4} />
50
+ <DxcLink href="https://www.dxc.com">Test</DxcLink>
51
+ </ExampleContainer>
52
+ <ExampleContainer pseudoState="pseudo-focus">
53
+ <Title title="With link focused" theme="light" level={4} />
54
+ <DxcLink href="https://www.dxc.com">Test</DxcLink>
55
+ </ExampleContainer>
56
+ <ExampleContainer pseudoState="pseudo-active">
57
+ <Title title="With link active" theme="light" level={4} />
58
+ <DxcLink href="https://www.dxc.com">Test</DxcLink>
59
+ </ExampleContainer>
60
+ <ExampleContainer pseudoState="pseudo-visited">
61
+ <Title title="With link visited" theme="light" level={4} />
62
+ <DxcLink href="https://www.amazon.com">Test</DxcLink>
63
+ </ExampleContainer>
64
+ <ExampleContainer>
65
+ <Title title="Inherit color" theme="light" level={4} />
66
+ This is a <DxcLink inheritColor>Test</DxcLink>.
67
+ </ExampleContainer>
68
+ <ExampleContainer pseudoState="pseudo-focus">
69
+ <Title title="With brackets and focus" theme="light" level={4} />
70
+ This is a (
71
+ <DxcLink inheritColor href="https://www.google.com">
72
+ Test
73
+ </DxcLink>
74
+ ).
75
+ </ExampleContainer>
76
+ <ExampleContainer pseudoState="pseudo-hover">
77
+ <Title title="Long text with hover" theme="light" level={4} />
78
+ Lorem{" "}
79
+ <DxcLink href="https://www.google.com" icon={icon}>
80
+ Test
81
+ </DxcLink>{" "}
82
+ ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
83
+ aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
84
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
85
+ Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit{" "}
86
+ <DxcLink href="https://www.google.com" icon={icon} iconPosition="after">
87
+ Test
88
+ </DxcLink>{" "}
89
+ anim id est laborum.
90
+ </ExampleContainer>
91
+ <ExampleContainer pseudoState="pseudo-focus">
92
+ <Title title="Long text with focus" theme="light" level={4} />
93
+ Lorem <DxcLink href="https://www.google.com">Test</DxcLink> ipsum dolor sit amet, consectetur adipiscing elit, sed
94
+ do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
95
+ ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit
96
+ esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
97
+ officia deserunt mollit anim id est laborum.
98
+ </ExampleContainer>
99
+ <Title title="With button" theme="light" level={2} />
100
+ <ExampleContainer>
101
+ <Title title="Disabled" theme="light" level={4} />
102
+ <DxcLink onClick={() => {}} disabled>
103
+ Test
104
+ </DxcLink>
105
+ <Title title="Icon before" theme="light" level={4} />
106
+ <DxcLink onClick={() => {}} icon={icon} iconPosition="before">
107
+ Test
108
+ </DxcLink>
109
+ <Title title="Icon after" theme="light" level={4} />
110
+ <DxcLink onClick={() => {}} icon={icon} iconPosition="after">
111
+ Test
112
+ </DxcLink>
113
+ </ExampleContainer>
114
+ <ExampleContainer pseudoState="pseudo-hover">
115
+ <Title title="With link hovered" theme="light" level={4} />
116
+ <DxcLink onClick={() => {}}>Test</DxcLink>
117
+ </ExampleContainer>
118
+ <ExampleContainer pseudoState="pseudo-focus">
119
+ <Title title="With link focused" theme="light" level={4} />
120
+ <DxcLink onClick={() => {}}>Test</DxcLink>
121
+ </ExampleContainer>
122
+ <ExampleContainer pseudoState="pseudo-active">
123
+ <Title title="With link active" theme="light" level={4} />
124
+ <DxcLink onClick={() => {}}>Test</DxcLink>
125
+ </ExampleContainer>
126
+ <ExampleContainer pseudoState="pseudo-visited">
127
+ <Title title="With link visited" theme="light" level={4} />
128
+ <DxcLink onClick={() => {}}>Test</DxcLink>
129
+ </ExampleContainer>
130
+ <ExampleContainer>
131
+ <Title title="Inherit color" theme="light" level={4} />
132
+ This is a{" "}
133
+ <DxcLink onClick={() => {}} inheritColor>
134
+ Test
135
+ </DxcLink>
136
+ .
137
+ </ExampleContainer>
138
+ <ExampleContainer pseudoState="pseudo-focus">
139
+ <Title title="With brackets and focus" theme="light" level={4} />
140
+ This is a (
141
+ <DxcLink onClick={() => {}} inheritColor>
142
+ Test
143
+ </DxcLink>
144
+ ).
145
+ </ExampleContainer>
146
+ <ExampleContainer pseudoState="pseudo-hover">
147
+ <Title title="Long text with hover" theme="light" level={4} />
148
+ Lorem{" "}
149
+ <DxcLink onClick={() => {}} href="https://www.google.com">
150
+ Test
151
+ </DxcLink>{" "}
152
+ ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
153
+ aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
154
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
155
+ Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
156
+ </ExampleContainer>
157
+ <ExampleContainer pseudoState="pseudo-focus">
158
+ <Title title="Long text with focus" theme="light" level={4} />
159
+ Lorem{" "}
160
+ <DxcLink onClick={() => {}} href="https://www.google.com">
161
+ Test
162
+ </DxcLink>{" "}
163
+ ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
164
+ aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
165
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
166
+ Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
167
+ </ExampleContainer>
168
+ <Title title="Margins" theme="light" level={2} />
169
+ <ExampleContainer>
170
+ <Title title="Xxsmall margin" theme="light" level={4} />
171
+ <DxcLink margin="xxsmall" href="https://www.facebook.com/">
172
+ Test
173
+ </DxcLink>
174
+ <Title title="Xsmall margin" theme="light" level={4} />
175
+ <DxcLink margin="xsmall" href="https://www.linkedin.com/">
176
+ Test
177
+ </DxcLink>
178
+ <Title title="Small margin" theme="light" level={4} />
179
+ <DxcLink margin="small" href="https://www.linkedin.com/">
180
+ Test
181
+ </DxcLink>
182
+ <Title title="Medium margin" theme="light" level={4} />
183
+ <DxcLink margin="medium" href="https://www.linkedin.com/">
184
+ Test
185
+ </DxcLink>
186
+ <Title title="Large margin" theme="light" level={4} />
187
+ <DxcLink margin="large" href="https://www.linkedin.com/">
188
+ Test
189
+ </DxcLink>
190
+ <Title title="Xlarge margin" theme="light" level={4} />
191
+ <DxcLink margin="xlarge" href="https://www.linkedin.com/">
192
+ Test
193
+ </DxcLink>
194
+ <Title title="Xxlarge margin" theme="light" level={4} />
195
+ <DxcLink margin="xxlarge" href="https://www.linkedin.com/">
196
+ Test
197
+ </DxcLink>
198
+ </ExampleContainer>
199
+ <Title title="Opinionated theme" theme="light" level={2} />
200
+ <ExampleContainer>
201
+ <Title title="Disabled" theme="light" level={4} />
202
+ <HalstackProvider theme={opinionatedTheme}>
203
+ <DxcLink disabled>Test</DxcLink>
204
+ </HalstackProvider>
205
+ </ExampleContainer>
206
+ <ExampleContainer>
207
+ <Title title="Icon before" theme="light" level={4} />
208
+ <HalstackProvider theme={opinionatedTheme}>
209
+ <DxcLink href="https://www.google.com" icon={icon} iconPosition="before">
210
+ Test
211
+ </DxcLink>
212
+ </HalstackProvider>
213
+ </ExampleContainer>
214
+ <ExampleContainer>
215
+ <Title title="Disabled" theme="light" level={4} />
216
+ <HalstackProvider theme={opinionatedTheme}>
217
+ <DxcLink disabled>Test</DxcLink>
218
+ </HalstackProvider>
219
+ </ExampleContainer>
220
+ <ExampleContainer>
221
+ <Title title="Icon after" theme="light" level={4} />{" "}
222
+ <HalstackProvider theme={opinionatedTheme}>
223
+ <DxcLink onClick={() => {}} icon={icon} iconPosition="after">
224
+ Test
225
+ </DxcLink>
226
+ </HalstackProvider>
227
+ </ExampleContainer>
228
+ <ExampleContainer pseudoState="pseudo-hover">
229
+ <Title title="With link hovered" theme="light" level={4} />
230
+ <HalstackProvider theme={opinionatedTheme}>
231
+ <DxcLink onClick={() => {}}>Test</DxcLink>
232
+ </HalstackProvider>
233
+ </ExampleContainer>
234
+ <ExampleContainer pseudoState="pseudo-focus">
235
+ <Title title="With link focused" theme="light" level={4} />
236
+ <HalstackProvider theme={opinionatedTheme}>
237
+ <DxcLink onClick={() => {}}>Test</DxcLink>
238
+ </HalstackProvider>
239
+ </ExampleContainer>
240
+ <ExampleContainer pseudoState="pseudo-active">
241
+ <Title title="With link active" theme="light" level={4} />
242
+ <HalstackProvider theme={opinionatedTheme}>
243
+ <DxcLink onClick={() => {}}>Test</DxcLink>
244
+ </HalstackProvider>
245
+ </ExampleContainer>
246
+ <ExampleContainer pseudoState="pseudo-visited">
247
+ <HalstackProvider theme={opinionatedTheme}>
248
+ <Title title="With link visited" theme="light" level={4} />
249
+ <DxcLink href="https://www.google.com">Test</DxcLink>
250
+ </HalstackProvider>
251
+ </ExampleContainer>
252
+ </>
253
+ );
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _Link = _interopRequireDefault(require("./Link.tsx"));
7
+ describe("Link component tests", function () {
8
+ test("Link renders with correct text", function () {
9
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link")),
10
+ getByText = _render.getByText;
11
+ expect(getByText("Link")).toBeTruthy();
12
+ });
13
+ test("Link renders with correct href", function () {
14
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
15
+ href: "/testPage"
16
+ }, "Link")),
17
+ getByRole = _render2.getByRole;
18
+ expect(getByRole("link").getAttribute("href")).toEqual("/testPage");
19
+ });
20
+ test("Link renders with correct disabled state", function () {
21
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
22
+ href: "/testPage",
23
+ disabled: true
24
+ }, "Link")),
25
+ getByText = _render3.getByText;
26
+ expect(getByText("Link").hasAttribute("href")).toBeFalsy();
27
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
28
+ onClick: function onClick() {},
29
+ disabled: true
30
+ }, "LinkButton")),
31
+ getByTextLinkButton = _render4.getByText;
32
+ expect(getByTextLinkButton("LinkButton").hasAttribute("onclick")).toBeFalsy();
33
+ });
34
+ test("Link open new tab", function () {
35
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
36
+ href: "/testPage",
37
+ newWindow: true
38
+ }, "Link")),
39
+ getByRole = _render5.getByRole;
40
+ expect(getByRole("link").getAttribute("target")).toEqual("_blank");
41
+ });
42
+ test("Link onClick called", function () {
43
+ var onClick = jest.fn();
44
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
45
+ onClick: onClick
46
+ }, "Link")),
47
+ getByText = _render6.getByText;
48
+ var link = getByText("Link");
49
+ _react2.fireEvent.click(link);
50
+ expect(onClick).toHaveBeenCalled();
51
+ });
52
+ test("Disabled link onClick not called", function () {
53
+ var onClick = jest.fn();
54
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
55
+ onClick: onClick,
56
+ disabled: true
57
+ }, "Link")),
58
+ getByText = _render7.getByText;
59
+ var link = getByText("Link");
60
+ _react2.fireEvent.click(link);
61
+ expect(onClick).toHaveBeenCalledTimes(0);
62
+ });
63
+ });
@@ -0,0 +1,54 @@
1
+ /// <reference types="react" />
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ export type LinkProps = {
11
+ /**
12
+ * If true, the link is disabled.
13
+ */
14
+ disabled?: boolean;
15
+ /**
16
+ * If true, the color is inherited from parent.
17
+ */
18
+ inheritColor?: boolean;
19
+ /**
20
+ * Element or path used as the icon that will be placed next to the link text.
21
+ */
22
+ icon?: string | SVG;
23
+ /**
24
+ * Indicates the position of the icon in the component.
25
+ */
26
+ iconPosition?: "before" | "after";
27
+ /**
28
+ * Page to be opened when the user clicks on the link.
29
+ */
30
+ href?: string;
31
+ /**
32
+ * If true, the page is opened in a new browser tab.
33
+ */
34
+ newWindow?: boolean;
35
+ /**
36
+ * If defined, the link will be displayed as a button. This
37
+ * function will be called when the user clicks the link.
38
+ */
39
+ onClick?: () => void;
40
+ /**
41
+ * Text of the link.
42
+ */
43
+ children: string;
44
+ /**
45
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
46
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
47
+ */
48
+ margin?: Space | Margin;
49
+ /**
50
+ * Value of the tabindex.
51
+ */
52
+ tabIndex?: number;
53
+ };
54
+ export {};
package/link/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/main.d.ts ADDED
@@ -0,0 +1,47 @@
1
+ import DxcAlert from "./alert/Alert";
2
+ import DxcAccordion from "./accordion/Accordion";
3
+ import DxcButton from "./button/Button";
4
+ import DxcCard from "./card/Card";
5
+ import DxcCheckbox from "./checkbox/Checkbox";
6
+ import DxcDialog from "./dialog/Dialog";
7
+ import DxcDropdown from "./dropdown/Dropdown";
8
+ import DxcSlider from "./slider/Slider";
9
+ import DxcSwitch from "./switch/Switch";
10
+ import DxcTabs from "./tabs/Tabs";
11
+ import DxcProgressBar from "./progress-bar/ProgressBar";
12
+ import DxcSpinner from "./spinner/Spinner";
13
+ import DxcTable from "./table/Table";
14
+ import DxcBox from "./box/Box";
15
+ import DxcTag from "./tag/Tag";
16
+ import DxcPaginator from "./paginator/Paginator";
17
+ import DxcWizard from "./wizard/Wizard";
18
+ import DxcLink from "./link/Link";
19
+ import DxcHeading from "./heading/Heading";
20
+ import DxcResultsetTable from "./resultset-table/ResultsetTable";
21
+ import DxcChip from "./chip/Chip";
22
+ import DxcApplicationLayout from "./layout/ApplicationLayout";
23
+ import DxcToggleGroup from "./toggle-group/ToggleGroup";
24
+ import DxcAccordionGroup from "./accordion-group/AccordionGroup";
25
+ import DxcTextInput from "./text-input/TextInput";
26
+ import DxcPasswordInput from "./password-input/PasswordInput";
27
+ import DxcDateInput from "./date-input/DateInput";
28
+ import DxcNumberInput from "./number-input/NumberInput";
29
+ import DxcTextarea from "./textarea/Textarea";
30
+ import DxcSelect from "./select/Select";
31
+ import DxcFileInput from "./file-input/FileInput";
32
+ import DxcRadioGroup from "./radio-group/RadioGroup";
33
+ import DxcBleed from "./bleed/Bleed";
34
+ import DxcInset from "./inset/Inset";
35
+ import DxcQuickNav from "./quick-nav/QuickNav";
36
+ import DxcNavTabs from "./nav-tabs/NavTabs";
37
+ import DxcFlex from "./flex/Flex";
38
+ import DxcTypography from "./typography/Typography";
39
+ import DxcParagraph from "./paragraph/Paragraph";
40
+ import DxcBulletedList from "./bulleted-list/BulletedList";
41
+ import DxcGrid from "./grid/Grid";
42
+ import DxcImage from "./image/Image";
43
+ import DxcContainer from "./container/Container";
44
+ import DxcBadge from "./badge/Badge";
45
+ import DxcStatusLight from "./status-light/StatusLight";
46
+ import HalstackContext, { HalstackProvider, HalstackLanguageContext } from "./HalstackContext";
47
+ export { DxcAlert, DxcButton, DxcCheckbox, DxcTextInput, DxcDropdown, DxcSwitch, DxcSlider, DxcTable, DxcTabs, DxcToggleGroup, DxcDialog, DxcCard, DxcProgressBar, DxcAccordion, DxcSpinner, DxcBox, DxcTag, DxcPaginator, DxcWizard, DxcLink, DxcHeading, DxcResultsetTable, DxcChip, DxcApplicationLayout, HalstackContext, HalstackLanguageContext, HalstackProvider, DxcAccordionGroup, DxcPasswordInput, DxcDateInput, DxcNumberInput, DxcTextarea, DxcSelect, DxcFileInput, DxcRadioGroup, DxcBleed, DxcInset, DxcQuickNav, DxcNavTabs, DxcFlex, DxcTypography, DxcParagraph, DxcBulletedList, DxcGrid, DxcImage, DxcContainer, DxcBadge, DxcStatusLight, };