@dxc-technology/halstack-react 0.0.0-b653a33 → 0.0.0-b6bbb51

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 (545) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1237 -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 +159 -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/common/utils.js +16 -0
  83. package/common/variables.d.ts +1383 -0
  84. package/common/variables.js +1255 -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 +336 -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} +151 -111
  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 +7 -0
  243. package/resultset-table/ResultsetTable.js +167 -0
  244. package/resultset-table/ResultsetTable.stories.tsx +381 -0
  245. package/resultset-table/ResultsetTable.test.js +371 -0
  246. package/resultset-table/types.d.ts +73 -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/ActionsCell.d.ts +4 -0
  292. package/table/ActionsCell.js +55 -0
  293. package/table/DropdownTheme.js +58 -0
  294. package/table/Table.d.ts +7 -0
  295. package/table/Table.js +113 -0
  296. package/table/Table.stories.tsx +615 -0
  297. package/table/Table.test.js +113 -0
  298. package/table/types.d.ts +60 -0
  299. package/table/types.js +5 -0
  300. package/tabs/Tab.d.ts +4 -0
  301. package/tabs/Tab.js +116 -0
  302. package/tabs/Tabs.d.ts +4 -0
  303. package/tabs/Tabs.js +384 -0
  304. package/tabs/Tabs.stories.tsx +226 -0
  305. package/tabs/Tabs.test.js +294 -0
  306. package/tabs/types.d.ts +92 -0
  307. package/tabs/types.js +5 -0
  308. package/tag/Tag.d.ts +4 -0
  309. package/tag/Tag.js +151 -0
  310. package/tag/Tag.stories.tsx +155 -0
  311. package/tag/Tag.test.js +49 -0
  312. package/tag/types.d.ts +69 -0
  313. package/tag/types.js +5 -0
  314. package/text-input/Icons.d.ts +8 -0
  315. package/text-input/Icons.js +56 -0
  316. package/text-input/Suggestion.d.ts +4 -0
  317. package/text-input/Suggestion.js +67 -0
  318. package/text-input/Suggestions.d.ts +4 -0
  319. package/text-input/Suggestions.js +84 -0
  320. package/text-input/TextInput.d.ts +4 -0
  321. package/text-input/TextInput.js +572 -0
  322. package/text-input/TextInput.stories.tsx +465 -0
  323. package/text-input/TextInput.test.js +1739 -0
  324. package/text-input/types.d.ts +205 -0
  325. package/text-input/types.js +5 -0
  326. package/textarea/Textarea.d.ts +4 -0
  327. package/textarea/Textarea.js +234 -0
  328. package/textarea/Textarea.stories.tsx +174 -0
  329. package/textarea/Textarea.test.js +406 -0
  330. package/textarea/types.d.ts +141 -0
  331. package/textarea/types.js +5 -0
  332. package/toggle-group/ToggleGroup.d.ts +4 -0
  333. package/toggle-group/ToggleGroup.js +201 -0
  334. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  335. package/toggle-group/ToggleGroup.test.js +137 -0
  336. package/toggle-group/types.d.ts +114 -0
  337. package/toggle-group/types.js +5 -0
  338. package/typography/Typography.d.ts +4 -0
  339. package/typography/Typography.js +23 -0
  340. package/typography/Typography.stories.tsx +198 -0
  341. package/typography/types.d.ts +18 -0
  342. package/typography/types.js +5 -0
  343. package/useTheme.d.ts +1136 -0
  344. package/{dist/useTheme.js → useTheme.js} +4 -11
  345. package/useTranslatedLabels.d.ts +85 -0
  346. package/useTranslatedLabels.js +14 -0
  347. package/utils/BaseTypography.d.ts +21 -0
  348. package/utils/BaseTypography.js +94 -0
  349. package/utils/FocusLock.d.ts +13 -0
  350. package/utils/FocusLock.js +124 -0
  351. package/wizard/Wizard.d.ts +4 -0
  352. package/wizard/Wizard.js +250 -0
  353. package/wizard/Wizard.stories.tsx +253 -0
  354. package/wizard/Wizard.test.js +114 -0
  355. package/wizard/types.d.ts +64 -0
  356. package/wizard/types.js +5 -0
  357. package/babel.config.js +0 -8
  358. package/dist/ThemeContext.js +0 -158
  359. package/dist/accordion/Accordion.js +0 -268
  360. package/dist/accordion/Accordion.stories.js +0 -207
  361. package/dist/accordion/readme.md +0 -96
  362. package/dist/accordion-group/AccordionGroup.js +0 -159
  363. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  364. package/dist/accordion-group/readme.md +0 -70
  365. package/dist/alert/Alert.js +0 -303
  366. package/dist/alert/Alert.stories.js +0 -158
  367. package/dist/alert/close.svg +0 -4
  368. package/dist/alert/error.svg +0 -4
  369. package/dist/alert/info.svg +0 -4
  370. package/dist/alert/readme.md +0 -43
  371. package/dist/alert/success.svg +0 -4
  372. package/dist/alert/warning.svg +0 -4
  373. package/dist/badge/Badge.js +0 -42
  374. package/dist/box/Box.js +0 -145
  375. package/dist/button/Button.js +0 -199
  376. package/dist/button/Button.stories.js +0 -224
  377. package/dist/button/readme.md +0 -93
  378. package/dist/card/Card.js +0 -217
  379. package/dist/checkbox/Checkbox.js +0 -229
  380. package/dist/checkbox/Checkbox.stories.js +0 -144
  381. package/dist/checkbox/readme.md +0 -116
  382. package/dist/chip/Chip.js +0 -203
  383. package/dist/common/OpenSans.css +0 -81
  384. package/dist/common/RequiredComponent.js +0 -40
  385. package/dist/common/services/example-service.js +0 -10
  386. package/dist/common/services/example-service.test.js +0 -12
  387. package/dist/common/utils.js +0 -42
  388. package/dist/common/variables.js +0 -377
  389. package/dist/date/Date.js +0 -357
  390. package/dist/date/Date.stories.js +0 -205
  391. package/dist/date/calendar.svg +0 -1
  392. package/dist/date/calendar_dark.svg +0 -1
  393. package/dist/date/readme.md +0 -73
  394. package/dist/dialog/Dialog.js +0 -195
  395. package/dist/dialog/Dialog.stories.js +0 -217
  396. package/dist/dialog/readme.md +0 -32
  397. package/dist/dropdown/Dropdown.js +0 -446
  398. package/dist/dropdown/Dropdown.stories.js +0 -249
  399. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  400. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  401. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  402. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  403. package/dist/dropdown/readme.md +0 -69
  404. package/dist/footer/Footer.js +0 -366
  405. package/dist/footer/Footer.stories.js +0 -94
  406. package/dist/footer/dxc_logo_wht.png +0 -0
  407. package/dist/footer/readme.md +0 -41
  408. package/dist/header/Header.js +0 -368
  409. package/dist/header/Header.stories.js +0 -176
  410. package/dist/header/close_icon.svg +0 -1
  411. package/dist/header/dxc_logo_black.png +0 -0
  412. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  413. package/dist/header/dxc_logo_white.png +0 -0
  414. package/dist/header/hamb_menu_black.svg +0 -1
  415. package/dist/header/hamb_menu_white.svg +0 -1
  416. package/dist/header/readme.md +0 -33
  417. package/dist/heading/Heading.js +0 -153
  418. package/dist/input-text/InputText.js +0 -570
  419. package/dist/input-text/InputText.stories.js +0 -209
  420. package/dist/input-text/error.svg +0 -1
  421. package/dist/input-text/readme.md +0 -91
  422. package/dist/layout/ApplicationLayout.js +0 -332
  423. package/dist/layout/facebook.svg +0 -45
  424. package/dist/layout/linkedin.svg +0 -50
  425. package/dist/layout/twitter.svg +0 -53
  426. package/dist/link/Link.js +0 -187
  427. package/dist/link/readme.md +0 -51
  428. package/dist/paginator/Paginator.js +0 -254
  429. package/dist/paginator/images/next.svg +0 -3
  430. package/dist/paginator/images/nextPage.svg +0 -3
  431. package/dist/paginator/images/previous.svg +0 -3
  432. package/dist/paginator/images/previousPage.svg +0 -3
  433. package/dist/paginator/readme.md +0 -50
  434. package/dist/progress-bar/ProgressBar.js +0 -185
  435. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  436. package/dist/progress-bar/readme.md +0 -63
  437. package/dist/radio/Radio.js +0 -195
  438. package/dist/radio/Radio.stories.js +0 -166
  439. package/dist/radio/readme.md +0 -70
  440. package/dist/resultsetTable/ResultsetTable.js +0 -327
  441. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  442. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  443. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  444. package/dist/select/Select.js +0 -473
  445. package/dist/select/Select.stories.js +0 -235
  446. package/dist/select/readme.md +0 -72
  447. package/dist/sidenav/Sidenav.js +0 -125
  448. package/dist/slider/Slider.js +0 -257
  449. package/dist/slider/Slider.stories.js +0 -241
  450. package/dist/slider/readme.md +0 -64
  451. package/dist/spinner/Spinner.js +0 -192
  452. package/dist/spinner/Spinner.stories.js +0 -183
  453. package/dist/spinner/readme.md +0 -65
  454. package/dist/switch/Switch.js +0 -190
  455. package/dist/switch/Switch.stories.js +0 -134
  456. package/dist/switch/readme.md +0 -133
  457. package/dist/table/Table.js +0 -104
  458. package/dist/tabs/Tabs.js +0 -302
  459. package/dist/tabs/Tabs.stories.js +0 -130
  460. package/dist/tabs/readme.md +0 -78
  461. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  462. package/dist/tabs-for-sections/readme.md +0 -78
  463. package/dist/tag/Tag.js +0 -249
  464. package/dist/textarea/Textarea.js +0 -224
  465. package/dist/toggle/Toggle.js +0 -223
  466. package/dist/toggle/Toggle.stories.js +0 -297
  467. package/dist/toggle/readme.md +0 -80
  468. package/dist/toggle-group/ToggleGroup.js +0 -223
  469. package/dist/toggle-group/readme.md +0 -82
  470. package/dist/upload/Upload.js +0 -200
  471. package/dist/upload/Upload.stories.js +0 -72
  472. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  473. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  474. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  475. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  476. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  477. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  478. package/dist/upload/file-upload/FileToUpload.js +0 -158
  479. package/dist/upload/file-upload/audio-icon.svg +0 -4
  480. package/dist/upload/file-upload/close.svg +0 -4
  481. package/dist/upload/file-upload/file-icon.svg +0 -4
  482. package/dist/upload/file-upload/video-icon.svg +0 -4
  483. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  484. package/dist/upload/readme.md +0 -37
  485. package/dist/upload/transaction/Transaction.js +0 -155
  486. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  487. package/dist/upload/transaction/audio-icon.svg +0 -4
  488. package/dist/upload/transaction/error-icon.svg +0 -4
  489. package/dist/upload/transaction/file-icon-err.svg +0 -4
  490. package/dist/upload/transaction/file-icon.svg +0 -4
  491. package/dist/upload/transaction/image-icon-err.svg +0 -4
  492. package/dist/upload/transaction/image-icon.svg +0 -4
  493. package/dist/upload/transaction/success-icon.svg +0 -4
  494. package/dist/upload/transaction/video-icon-err.svg +0 -4
  495. package/dist/upload/transaction/video-icon.svg +0 -4
  496. package/dist/upload/transactions/Transactions.js +0 -120
  497. package/dist/wizard/Wizard.js +0 -328
  498. package/dist/wizard/invalid_icon.svg +0 -6
  499. package/dist/wizard/valid_icon.svg +0 -6
  500. package/dist/wizard/validation-wrong.svg +0 -6
  501. package/test/Accordion.test.js +0 -33
  502. package/test/AccordionGroup.test.js +0 -109
  503. package/test/Alert.test.js +0 -53
  504. package/test/Box.test.js +0 -10
  505. package/test/Button.test.js +0 -18
  506. package/test/Card.test.js +0 -30
  507. package/test/Checkbox.test.js +0 -45
  508. package/test/Chip.test.js +0 -25
  509. package/test/Date.test.js +0 -393
  510. package/test/Dialog.test.js +0 -23
  511. package/test/Dropdown.test.js +0 -130
  512. package/test/Footer.test.js +0 -99
  513. package/test/Header.test.js +0 -39
  514. package/test/Heading.test.js +0 -35
  515. package/test/InputText.test.js +0 -240
  516. package/test/Link.test.js +0 -42
  517. package/test/Paginator.test.js +0 -177
  518. package/test/ProgressBar.test.js +0 -35
  519. package/test/Radio.test.js +0 -37
  520. package/test/ResultsetTable.test.js +0 -330
  521. package/test/Select.test.js +0 -192
  522. package/test/Sidenav.test.js +0 -45
  523. package/test/Slider.test.js +0 -82
  524. package/test/Spinner.test.js +0 -27
  525. package/test/Switch.test.js +0 -45
  526. package/test/Table.test.js +0 -36
  527. package/test/Tabs.test.js +0 -109
  528. package/test/TabsForSections.test.js +0 -34
  529. package/test/Tag.test.js +0 -32
  530. package/test/TextArea.test.js +0 -52
  531. package/test/ToggleGroup.test.js +0 -81
  532. package/test/Upload.test.js +0 -60
  533. package/test/Wizard.test.js +0 -130
  534. package/test/mocks/pngMock.js +0 -1
  535. package/test/mocks/svgMock.js +0 -1
  536. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  537. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  538. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  539. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  540. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  541. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  542. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  543. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  544. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  545. /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, };