@dxc-technology/halstack-react 0.0.0-ff6151e → 0.0.0-ff6c8bf

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 (621) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1246 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +28 -47
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +171 -0
  9. package/accordion/Accordion.stories.tsx +241 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +57 -0
  12. package/accordion/types.js +5 -0
  13. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +101 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  17. package/accordion-group/AccordionGroup.test.js +98 -0
  18. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  19. package/accordion-group/AccordionGroupAccordion.js +31 -0
  20. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  21. package/accordion-group/AccordionGroupContext.js +8 -0
  22. package/accordion-group/types.d.ts +67 -0
  23. package/accordion-group/types.js +5 -0
  24. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  25. package/action-icon/ActionIcon.d.ts +4 -0
  26. package/action-icon/ActionIcon.js +48 -0
  27. package/action-icon/ActionIcon.stories.tsx +41 -0
  28. package/action-icon/ActionIcon.test.js +64 -0
  29. package/action-icon/types.d.ts +26 -0
  30. package/action-icon/types.js +5 -0
  31. package/alert/Alert.accessibility.test.js +95 -0
  32. package/alert/Alert.d.ts +4 -0
  33. package/alert/Alert.js +203 -0
  34. package/alert/Alert.stories.tsx +198 -0
  35. package/alert/Alert.test.js +75 -0
  36. package/alert/types.d.ts +49 -0
  37. package/alert/types.js +5 -0
  38. package/badge/Badge.accessibility.test.js +129 -0
  39. package/badge/Badge.d.ts +4 -0
  40. package/badge/Badge.js +161 -0
  41. package/badge/Badge.stories.tsx +210 -0
  42. package/badge/Badge.test.js +30 -0
  43. package/badge/types.d.ts +54 -0
  44. package/badge/types.js +5 -0
  45. package/bleed/Bleed.d.ts +3 -0
  46. package/bleed/Bleed.js +43 -0
  47. package/bleed/Bleed.stories.tsx +342 -0
  48. package/bleed/types.d.ts +37 -0
  49. package/bleed/types.js +5 -0
  50. package/box/Box.accessibility.test.js +33 -0
  51. package/box/Box.d.ts +4 -0
  52. package/box/Box.js +75 -0
  53. package/box/Box.stories.tsx +119 -0
  54. package/box/Box.test.js +13 -0
  55. package/box/types.d.ts +32 -0
  56. package/box/types.js +5 -0
  57. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  58. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  59. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  60. package/breadcrumbs/Breadcrumbs.js +79 -0
  61. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  62. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  63. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  64. package/breadcrumbs/Item.d.ts +4 -0
  65. package/breadcrumbs/Item.js +52 -0
  66. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  67. package/breadcrumbs/dropdownTheme.js +62 -0
  68. package/breadcrumbs/types.d.ts +16 -0
  69. package/breadcrumbs/types.js +5 -0
  70. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  71. package/bulleted-list/BulletedList.d.ts +7 -0
  72. package/bulleted-list/BulletedList.js +92 -0
  73. package/bulleted-list/BulletedList.stories.tsx +115 -0
  74. package/bulleted-list/types.d.ts +38 -0
  75. package/bulleted-list/types.js +5 -0
  76. package/button/Button.accessibility.test.js +127 -0
  77. package/button/Button.d.ts +4 -0
  78. package/button/Button.js +121 -0
  79. package/button/Button.stories.tsx +325 -0
  80. package/button/Button.test.js +38 -0
  81. package/button/types.d.ts +57 -0
  82. package/button/types.js +5 -0
  83. package/card/Card.accessibility.test.js +36 -0
  84. package/card/Card.d.ts +4 -0
  85. package/card/Card.js +121 -0
  86. package/card/Card.stories.tsx +171 -0
  87. package/card/Card.test.js +39 -0
  88. package/card/types.d.ts +62 -0
  89. package/card/types.js +5 -0
  90. package/checkbox/Checkbox.accessibility.test.js +87 -0
  91. package/checkbox/Checkbox.d.ts +4 -0
  92. package/checkbox/Checkbox.js +215 -0
  93. package/checkbox/Checkbox.stories.tsx +222 -0
  94. package/checkbox/Checkbox.test.js +199 -0
  95. package/checkbox/types.d.ts +72 -0
  96. package/checkbox/types.js +5 -0
  97. package/chip/Chip.accessibility.test.js +67 -0
  98. package/chip/Chip.d.ts +4 -0
  99. package/chip/Chip.js +126 -0
  100. package/chip/Chip.stories.tsx +199 -0
  101. package/chip/Chip.test.js +41 -0
  102. package/chip/types.d.ts +45 -0
  103. package/chip/types.js +5 -0
  104. package/common/coreTokens.d.ts +237 -0
  105. package/common/coreTokens.js +184 -0
  106. package/common/utils.d.ts +1 -0
  107. package/common/utils.js +16 -0
  108. package/common/variables.d.ts +1392 -0
  109. package/common/variables.js +1264 -0
  110. package/container/Container.d.ts +4 -0
  111. package/container/Container.js +194 -0
  112. package/container/Container.stories.tsx +214 -0
  113. package/container/types.d.ts +74 -0
  114. package/container/types.js +5 -0
  115. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  116. package/contextual-menu/ContextualMenu.d.ts +5 -0
  117. package/contextual-menu/ContextualMenu.js +88 -0
  118. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  119. package/contextual-menu/ContextualMenu.test.js +205 -0
  120. package/contextual-menu/GroupItem.d.ts +4 -0
  121. package/contextual-menu/GroupItem.js +67 -0
  122. package/contextual-menu/ItemAction.d.ts +4 -0
  123. package/contextual-menu/ItemAction.js +51 -0
  124. package/contextual-menu/MenuItem.d.ts +4 -0
  125. package/contextual-menu/MenuItem.js +29 -0
  126. package/contextual-menu/SingleItem.d.ts +4 -0
  127. package/contextual-menu/SingleItem.js +38 -0
  128. package/contextual-menu/types.d.ts +58 -0
  129. package/contextual-menu/types.js +5 -0
  130. package/date-input/Calendar.d.ts +4 -0
  131. package/date-input/Calendar.js +214 -0
  132. package/date-input/DateInput.accessibility.test.js +228 -0
  133. package/date-input/DateInput.d.ts +4 -0
  134. package/date-input/DateInput.js +222 -0
  135. package/date-input/DateInput.stories.tsx +292 -0
  136. package/date-input/DateInput.test.js +808 -0
  137. package/date-input/DatePicker.d.ts +4 -0
  138. package/date-input/DatePicker.js +121 -0
  139. package/date-input/YearPicker.d.ts +4 -0
  140. package/date-input/YearPicker.js +100 -0
  141. package/date-input/types.d.ts +164 -0
  142. package/date-input/types.js +5 -0
  143. package/dialog/Dialog.accessibility.test.js +69 -0
  144. package/dialog/Dialog.d.ts +4 -0
  145. package/dialog/Dialog.js +93 -0
  146. package/dialog/Dialog.stories.tsx +371 -0
  147. package/dialog/Dialog.test.js +307 -0
  148. package/dialog/types.d.ts +36 -0
  149. package/dialog/types.js +5 -0
  150. package/divider/Divider.accessibility.test.js +33 -0
  151. package/divider/Divider.d.ts +4 -0
  152. package/divider/Divider.js +36 -0
  153. package/divider/Divider.stories.tsx +223 -0
  154. package/divider/Divider.test.js +38 -0
  155. package/divider/types.d.ts +21 -0
  156. package/divider/types.js +5 -0
  157. package/dropdown/Dropdown.accessibility.test.js +180 -0
  158. package/dropdown/Dropdown.d.ts +4 -0
  159. package/dropdown/Dropdown.js +321 -0
  160. package/dropdown/Dropdown.stories.tsx +427 -0
  161. package/dropdown/Dropdown.test.js +599 -0
  162. package/dropdown/DropdownMenu.d.ts +4 -0
  163. package/dropdown/DropdownMenu.js +63 -0
  164. package/dropdown/DropdownMenuItem.d.ts +4 -0
  165. package/dropdown/DropdownMenuItem.js +71 -0
  166. package/dropdown/types.d.ts +96 -0
  167. package/dropdown/types.js +5 -0
  168. package/file-input/FileInput.accessibility.test.js +160 -0
  169. package/file-input/FileInput.d.ts +4 -0
  170. package/file-input/FileInput.js +443 -0
  171. package/file-input/FileInput.stories.tsx +618 -0
  172. package/file-input/FileInput.test.js +396 -0
  173. package/file-input/FileItem.d.ts +4 -0
  174. package/file-input/FileItem.js +125 -0
  175. package/file-input/types.d.ts +129 -0
  176. package/file-input/types.js +5 -0
  177. package/flex/Flex.d.ts +4 -0
  178. package/flex/Flex.js +57 -0
  179. package/flex/Flex.stories.tsx +112 -0
  180. package/flex/types.d.ts +97 -0
  181. package/flex/types.js +5 -0
  182. package/footer/Footer.accessibility.test.js +125 -0
  183. package/footer/Footer.d.ts +4 -0
  184. package/footer/Footer.js +140 -0
  185. package/footer/Footer.stories.tsx +208 -0
  186. package/footer/Footer.test.js +85 -0
  187. package/footer/Icons.d.ts +3 -0
  188. package/footer/Icons.js +108 -0
  189. package/footer/types.d.ts +64 -0
  190. package/footer/types.js +5 -0
  191. package/grid/Grid.d.ts +7 -0
  192. package/grid/Grid.js +76 -0
  193. package/grid/Grid.stories.tsx +219 -0
  194. package/grid/types.d.ts +115 -0
  195. package/grid/types.js +5 -0
  196. package/header/Header.accessibility.test.js +93 -0
  197. package/header/Header.d.ts +8 -0
  198. package/header/Header.js +210 -0
  199. package/header/Header.stories.tsx +267 -0
  200. package/header/Header.test.js +66 -0
  201. package/header/Icons.d.ts +2 -0
  202. package/header/Icons.js +24 -0
  203. package/header/types.d.ts +33 -0
  204. package/header/types.js +5 -0
  205. package/heading/Heading.accessibility.test.js +33 -0
  206. package/heading/Heading.d.ts +4 -0
  207. package/heading/Heading.js +137 -0
  208. package/heading/Heading.stories.tsx +54 -0
  209. package/heading/Heading.test.js +169 -0
  210. package/heading/types.d.ts +33 -0
  211. package/heading/types.js +5 -0
  212. package/icon/Icon.accessibility.test.js +30 -0
  213. package/icon/Icon.d.ts +4 -0
  214. package/icon/Icon.js +33 -0
  215. package/icon/Icon.stories.tsx +28 -0
  216. package/icon/types.d.ts +4 -0
  217. package/icon/types.js +5 -0
  218. package/image/Image.accessibility.test.js +56 -0
  219. package/image/Image.d.ts +4 -0
  220. package/image/Image.js +70 -0
  221. package/image/Image.stories.tsx +129 -0
  222. package/image/types.d.ts +72 -0
  223. package/image/types.js +5 -0
  224. package/inset/Inset.d.ts +3 -0
  225. package/inset/Inset.js +43 -0
  226. package/inset/Inset.stories.tsx +230 -0
  227. package/inset/types.d.ts +37 -0
  228. package/inset/types.js +5 -0
  229. package/layout/ApplicationLayout.d.ts +20 -0
  230. package/layout/ApplicationLayout.js +137 -0
  231. package/layout/ApplicationLayout.stories.tsx +162 -0
  232. package/layout/Icons.d.ts +7 -0
  233. package/layout/Icons.js +48 -0
  234. package/layout/types.d.ts +41 -0
  235. package/layout/types.js +5 -0
  236. package/link/Link.accessibility.test.js +108 -0
  237. package/link/Link.d.ts +4 -0
  238. package/link/Link.js +117 -0
  239. package/link/Link.stories.tsx +253 -0
  240. package/link/Link.test.js +63 -0
  241. package/link/types.d.ts +54 -0
  242. package/link/types.js +5 -0
  243. package/main.d.ts +50 -0
  244. package/{dist/main.js → main.js} +172 -111
  245. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  246. package/nav-tabs/NavTabs.d.ts +7 -0
  247. package/nav-tabs/NavTabs.js +93 -0
  248. package/nav-tabs/NavTabs.stories.tsx +279 -0
  249. package/nav-tabs/NavTabs.test.js +77 -0
  250. package/nav-tabs/NavTabsContext.d.ts +3 -0
  251. package/nav-tabs/NavTabsContext.js +8 -0
  252. package/nav-tabs/Tab.d.ts +4 -0
  253. package/nav-tabs/Tab.js +117 -0
  254. package/nav-tabs/types.d.ts +52 -0
  255. package/nav-tabs/types.js +5 -0
  256. package/number-input/NumberInput.accessibility.test.js +228 -0
  257. package/number-input/NumberInput.d.ts +4 -0
  258. package/number-input/NumberInput.js +86 -0
  259. package/number-input/NumberInput.stories.tsx +131 -0
  260. package/number-input/NumberInput.test.js +989 -0
  261. package/number-input/NumberInputContext.d.ts +3 -0
  262. package/number-input/NumberInputContext.js +8 -0
  263. package/number-input/types.d.ts +136 -0
  264. package/number-input/types.js +5 -0
  265. package/package.json +66 -51
  266. package/paginator/Paginator.accessibility.test.js +79 -0
  267. package/paginator/Paginator.d.ts +4 -0
  268. package/paginator/Paginator.js +138 -0
  269. package/paginator/Paginator.stories.tsx +87 -0
  270. package/paginator/Paginator.test.js +335 -0
  271. package/paginator/types.d.ts +38 -0
  272. package/paginator/types.js +5 -0
  273. package/paragraph/Paragraph.accessibility.test.js +28 -0
  274. package/paragraph/Paragraph.d.ts +5 -0
  275. package/paragraph/Paragraph.js +22 -0
  276. package/paragraph/Paragraph.stories.tsx +27 -0
  277. package/password-input/PasswordInput.accessibility.test.js +153 -0
  278. package/password-input/PasswordInput.d.ts +4 -0
  279. package/password-input/PasswordInput.js +97 -0
  280. package/password-input/PasswordInput.stories.tsx +99 -0
  281. package/password-input/PasswordInput.test.js +198 -0
  282. package/password-input/types.d.ts +111 -0
  283. package/password-input/types.js +5 -0
  284. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  285. package/progress-bar/ProgressBar.d.ts +4 -0
  286. package/progress-bar/ProgressBar.js +146 -0
  287. package/progress-bar/ProgressBar.stories.tsx +93 -0
  288. package/progress-bar/ProgressBar.test.js +93 -0
  289. package/progress-bar/types.d.ts +37 -0
  290. package/progress-bar/types.js +5 -0
  291. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  292. package/quick-nav/QuickNav.d.ts +4 -0
  293. package/quick-nav/QuickNav.js +94 -0
  294. package/quick-nav/QuickNav.stories.tsx +356 -0
  295. package/quick-nav/types.d.ts +21 -0
  296. package/quick-nav/types.js +5 -0
  297. package/radio-group/Radio.d.ts +4 -0
  298. package/radio-group/Radio.js +124 -0
  299. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  300. package/radio-group/RadioGroup.d.ts +4 -0
  301. package/radio-group/RadioGroup.js +236 -0
  302. package/radio-group/RadioGroup.stories.tsx +214 -0
  303. package/radio-group/RadioGroup.test.js +756 -0
  304. package/radio-group/types.d.ts +114 -0
  305. package/radio-group/types.js +5 -0
  306. package/resultset-table/Icons.d.ts +7 -0
  307. package/resultset-table/Icons.js +47 -0
  308. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  309. package/resultset-table/ResultsetTable.d.ts +7 -0
  310. package/resultset-table/ResultsetTable.js +171 -0
  311. package/resultset-table/ResultsetTable.stories.tsx +413 -0
  312. package/resultset-table/ResultsetTable.test.js +381 -0
  313. package/resultset-table/types.d.ts +100 -0
  314. package/resultset-table/types.js +5 -0
  315. package/select/Listbox.d.ts +4 -0
  316. package/select/Listbox.js +155 -0
  317. package/select/Option.d.ts +4 -0
  318. package/select/Option.js +89 -0
  319. package/select/Select.accessibility.test.js +228 -0
  320. package/select/Select.d.ts +4 -0
  321. package/select/Select.js +602 -0
  322. package/select/Select.stories.tsx +919 -0
  323. package/select/Select.test.js +2265 -0
  324. package/select/types.d.ts +209 -0
  325. package/select/types.js +5 -0
  326. package/sidenav/Sidenav.accessibility.test.js +59 -0
  327. package/sidenav/Sidenav.d.ts +10 -0
  328. package/sidenav/Sidenav.js +201 -0
  329. package/sidenav/Sidenav.stories.tsx +277 -0
  330. package/sidenav/Sidenav.test.js +37 -0
  331. package/sidenav/SidenavContext.d.ts +5 -0
  332. package/sidenav/SidenavContext.js +13 -0
  333. package/sidenav/types.d.ts +76 -0
  334. package/sidenav/types.js +5 -0
  335. package/slider/Slider.accessibility.test.js +104 -0
  336. package/slider/Slider.d.ts +4 -0
  337. package/slider/Slider.js +286 -0
  338. package/slider/Slider.stories.tsx +180 -0
  339. package/slider/Slider.test.js +254 -0
  340. package/slider/types.d.ts +86 -0
  341. package/slider/types.js +5 -0
  342. package/spinner/Spinner.accessibility.test.js +96 -0
  343. package/spinner/Spinner.d.ts +4 -0
  344. package/spinner/Spinner.js +210 -0
  345. package/spinner/Spinner.stories.tsx +129 -0
  346. package/spinner/Spinner.test.js +55 -0
  347. package/spinner/types.d.ts +32 -0
  348. package/spinner/types.js +5 -0
  349. package/status-light/StatusLight.accessibility.test.js +157 -0
  350. package/status-light/StatusLight.d.ts +4 -0
  351. package/status-light/StatusLight.js +51 -0
  352. package/status-light/StatusLight.stories.tsx +74 -0
  353. package/status-light/StatusLight.test.js +25 -0
  354. package/status-light/types.d.ts +17 -0
  355. package/status-light/types.js +5 -0
  356. package/switch/Switch.accessibility.test.js +98 -0
  357. package/switch/Switch.d.ts +4 -0
  358. package/switch/Switch.js +214 -0
  359. package/switch/Switch.stories.tsx +149 -0
  360. package/switch/Switch.test.js +180 -0
  361. package/switch/types.d.ts +66 -0
  362. package/switch/types.js +5 -0
  363. package/table/DropdownTheme.js +62 -0
  364. package/table/Table.accessibility.test.js +93 -0
  365. package/table/Table.d.ts +8 -0
  366. package/table/Table.js +161 -0
  367. package/table/Table.stories.tsx +663 -0
  368. package/table/Table.test.js +113 -0
  369. package/table/types.d.ts +49 -0
  370. package/table/types.js +5 -0
  371. package/tabs/Tab.d.ts +4 -0
  372. package/tabs/Tab.js +117 -0
  373. package/tabs/Tabs.accessibility.test.js +56 -0
  374. package/tabs/Tabs.d.ts +4 -0
  375. package/tabs/Tabs.js +373 -0
  376. package/tabs/Tabs.stories.tsx +230 -0
  377. package/tabs/Tabs.test.js +276 -0
  378. package/tabs/types.d.ts +92 -0
  379. package/tabs/types.js +5 -0
  380. package/tag/Tag.accessibility.test.js +69 -0
  381. package/tag/Tag.d.ts +4 -0
  382. package/tag/Tag.js +151 -0
  383. package/tag/Tag.stories.tsx +152 -0
  384. package/tag/Tag.test.js +41 -0
  385. package/tag/types.d.ts +69 -0
  386. package/tag/types.js +5 -0
  387. package/text-input/Suggestion.d.ts +4 -0
  388. package/text-input/Suggestion.js +67 -0
  389. package/text-input/Suggestions.d.ts +4 -0
  390. package/text-input/Suggestions.js +94 -0
  391. package/text-input/TextInput.accessibility.test.js +321 -0
  392. package/text-input/TextInput.d.ts +4 -0
  393. package/text-input/TextInput.js +571 -0
  394. package/text-input/TextInput.stories.tsx +474 -0
  395. package/text-input/TextInput.test.js +1756 -0
  396. package/text-input/types.d.ts +205 -0
  397. package/text-input/types.js +5 -0
  398. package/textarea/Textarea.accessibility.test.js +155 -0
  399. package/textarea/Textarea.d.ts +4 -0
  400. package/textarea/Textarea.js +235 -0
  401. package/textarea/Textarea.stories.tsx +174 -0
  402. package/textarea/Textarea.test.js +406 -0
  403. package/textarea/types.d.ts +141 -0
  404. package/textarea/types.js +5 -0
  405. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  406. package/toggle-group/ToggleGroup.d.ts +4 -0
  407. package/toggle-group/ToggleGroup.js +202 -0
  408. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  409. package/toggle-group/ToggleGroup.test.js +137 -0
  410. package/toggle-group/types.d.ts +114 -0
  411. package/toggle-group/types.js +5 -0
  412. package/typography/Typography.accessibility.test.js +339 -0
  413. package/typography/Typography.d.ts +4 -0
  414. package/typography/Typography.js +23 -0
  415. package/typography/Typography.stories.tsx +198 -0
  416. package/typography/types.d.ts +18 -0
  417. package/typography/types.js +5 -0
  418. package/useTheme.d.ts +1145 -0
  419. package/{dist/useTheme.js → useTheme.js} +4 -11
  420. package/useTranslatedLabels.d.ts +85 -0
  421. package/useTranslatedLabels.js +14 -0
  422. package/utils/BaseTypography.d.ts +21 -0
  423. package/utils/BaseTypography.js +94 -0
  424. package/utils/FocusLock.d.ts +13 -0
  425. package/utils/FocusLock.js +124 -0
  426. package/wizard/Wizard.accessibility.test.js +55 -0
  427. package/wizard/Wizard.d.ts +4 -0
  428. package/wizard/Wizard.js +239 -0
  429. package/wizard/Wizard.stories.tsx +272 -0
  430. package/wizard/Wizard.test.js +114 -0
  431. package/wizard/types.d.ts +64 -0
  432. package/wizard/types.js +5 -0
  433. package/babel.config.js +0 -4
  434. package/dist/ThemeContext.js +0 -54
  435. package/dist/accordion/Accordion.js +0 -273
  436. package/dist/accordion/Accordion.stories.js +0 -207
  437. package/dist/accordion/readme.md +0 -96
  438. package/dist/accordion-group/AccordionGroup.js +0 -159
  439. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  440. package/dist/accordion-group/readme.md +0 -70
  441. package/dist/alert/Alert.js +0 -304
  442. package/dist/alert/Alert.stories.js +0 -158
  443. package/dist/alert/close.svg +0 -4
  444. package/dist/alert/error.svg +0 -4
  445. package/dist/alert/info.svg +0 -4
  446. package/dist/alert/readme.md +0 -43
  447. package/dist/alert/success.svg +0 -4
  448. package/dist/alert/warning.svg +0 -4
  449. package/dist/badge/Badge.js +0 -58
  450. package/dist/box/Box.js +0 -148
  451. package/dist/button/Button.js +0 -202
  452. package/dist/button/Button.stories.js +0 -224
  453. package/dist/button/readme.md +0 -93
  454. package/dist/card/Card.js +0 -217
  455. package/dist/checkbox/Checkbox.js +0 -240
  456. package/dist/checkbox/Checkbox.stories.js +0 -144
  457. package/dist/checkbox/readme.md +0 -116
  458. package/dist/chip/Chip.js +0 -208
  459. package/dist/common/OpenSans.css +0 -81
  460. package/dist/common/RequiredComponent.js +0 -40
  461. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  462. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  463. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  464. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  465. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  466. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  467. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  468. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  469. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  470. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  471. package/dist/common/services/example-service.js +0 -10
  472. package/dist/common/services/example-service.test.js +0 -12
  473. package/dist/common/utils.js +0 -42
  474. package/dist/common/variables.js +0 -436
  475. package/dist/date/Date.js +0 -357
  476. package/dist/date/Date.stories.js +0 -205
  477. package/dist/date/calendar.svg +0 -1
  478. package/dist/date/calendar_dark.svg +0 -1
  479. package/dist/date/readme.md +0 -73
  480. package/dist/dialog/Dialog.js +0 -197
  481. package/dist/dialog/Dialog.stories.js +0 -217
  482. package/dist/dialog/readme.md +0 -32
  483. package/dist/dropdown/Dropdown.js +0 -449
  484. package/dist/dropdown/Dropdown.stories.js +0 -249
  485. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  486. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  487. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  488. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  489. package/dist/dropdown/readme.md +0 -69
  490. package/dist/footer/Footer.js +0 -371
  491. package/dist/footer/Footer.stories.js +0 -94
  492. package/dist/footer/dxc_logo_wht.png +0 -0
  493. package/dist/footer/readme.md +0 -41
  494. package/dist/header/Header.js +0 -373
  495. package/dist/header/Header.stories.js +0 -176
  496. package/dist/header/close_icon.svg +0 -1
  497. package/dist/header/dxc_logo_black.png +0 -0
  498. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  499. package/dist/header/dxc_logo_white.png +0 -0
  500. package/dist/header/hamb_menu_black.svg +0 -1
  501. package/dist/header/hamb_menu_white.svg +0 -1
  502. package/dist/header/readme.md +0 -33
  503. package/dist/heading/Heading.js +0 -153
  504. package/dist/input-text/InputText.js +0 -570
  505. package/dist/input-text/InputText.stories.js +0 -209
  506. package/dist/input-text/error.svg +0 -1
  507. package/dist/input-text/readme.md +0 -91
  508. package/dist/layout/ApplicationLayout.js +0 -335
  509. package/dist/layout/facebook.svg +0 -45
  510. package/dist/layout/linkedin.svg +0 -50
  511. package/dist/layout/twitter.svg +0 -53
  512. package/dist/link/Link.js +0 -192
  513. package/dist/link/readme.md +0 -51
  514. package/dist/paginator/Paginator.js +0 -232
  515. package/dist/paginator/images/next.svg +0 -3
  516. package/dist/paginator/images/nextPage.svg +0 -3
  517. package/dist/paginator/images/previous.svg +0 -3
  518. package/dist/paginator/images/previousPage.svg +0 -3
  519. package/dist/paginator/readme.md +0 -50
  520. package/dist/progress-bar/ProgressBar.js +0 -185
  521. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  522. package/dist/progress-bar/readme.md +0 -63
  523. package/dist/radio/Radio.js +0 -195
  524. package/dist/radio/Radio.stories.js +0 -166
  525. package/dist/radio/readme.md +0 -70
  526. package/dist/resultsetTable/ResultsetTable.js +0 -341
  527. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  528. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  529. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  530. package/dist/select/Select.js +0 -473
  531. package/dist/select/Select.stories.js +0 -235
  532. package/dist/select/readme.md +0 -72
  533. package/dist/sidenav/Sidenav.js +0 -128
  534. package/dist/slider/Slider.js +0 -266
  535. package/dist/slider/Slider.stories.js +0 -241
  536. package/dist/slider/readme.md +0 -64
  537. package/dist/spinner/Spinner.js +0 -193
  538. package/dist/spinner/Spinner.stories.js +0 -183
  539. package/dist/spinner/readme.md +0 -65
  540. package/dist/switch/Switch.js +0 -199
  541. package/dist/switch/Switch.stories.js +0 -134
  542. package/dist/switch/readme.md +0 -133
  543. package/dist/table/Table.js +0 -105
  544. package/dist/tabs/Tabs.js +0 -292
  545. package/dist/tabs/Tabs.stories.js +0 -130
  546. package/dist/tabs/readme.md +0 -78
  547. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  548. package/dist/tabs-for-sections/readme.md +0 -78
  549. package/dist/tag/Tag.js +0 -249
  550. package/dist/textarea/Textarea.js +0 -227
  551. package/dist/toggle/Toggle.js +0 -223
  552. package/dist/toggle/Toggle.stories.js +0 -297
  553. package/dist/toggle/readme.md +0 -80
  554. package/dist/toggle-group/ToggleGroup.js +0 -226
  555. package/dist/toggle-group/readme.md +0 -82
  556. package/dist/upload/Upload.js +0 -200
  557. package/dist/upload/Upload.stories.js +0 -72
  558. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  559. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  560. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  561. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  562. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  563. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  564. package/dist/upload/file-upload/FileToUpload.js +0 -158
  565. package/dist/upload/file-upload/audio-icon.svg +0 -4
  566. package/dist/upload/file-upload/close.svg +0 -4
  567. package/dist/upload/file-upload/file-icon.svg +0 -4
  568. package/dist/upload/file-upload/video-icon.svg +0 -4
  569. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  570. package/dist/upload/readme.md +0 -37
  571. package/dist/upload/transaction/Transaction.js +0 -155
  572. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  573. package/dist/upload/transaction/audio-icon.svg +0 -4
  574. package/dist/upload/transaction/error-icon.svg +0 -4
  575. package/dist/upload/transaction/file-icon-err.svg +0 -4
  576. package/dist/upload/transaction/file-icon.svg +0 -4
  577. package/dist/upload/transaction/image-icon-err.svg +0 -4
  578. package/dist/upload/transaction/image-icon.svg +0 -4
  579. package/dist/upload/transaction/success-icon.svg +0 -4
  580. package/dist/upload/transaction/video-icon-err.svg +0 -4
  581. package/dist/upload/transaction/video-icon.svg +0 -4
  582. package/dist/upload/transactions/Transactions.js +0 -120
  583. package/dist/wizard/Wizard.js +0 -331
  584. package/dist/wizard/invalid_icon.svg +0 -6
  585. package/dist/wizard/valid_icon.svg +0 -6
  586. package/dist/wizard/validation-wrong.svg +0 -6
  587. package/test/Accordion.test.js +0 -33
  588. package/test/AccordionGroup.test.js +0 -109
  589. package/test/Alert.test.js +0 -53
  590. package/test/Box.test.js +0 -10
  591. package/test/Button.test.js +0 -18
  592. package/test/Card.test.js +0 -30
  593. package/test/Checkbox.test.js +0 -45
  594. package/test/Chip.test.js +0 -25
  595. package/test/Date.test.js +0 -393
  596. package/test/Dialog.test.js +0 -23
  597. package/test/Dropdown.test.js +0 -130
  598. package/test/Footer.test.js +0 -99
  599. package/test/Header.test.js +0 -39
  600. package/test/Heading.test.js +0 -35
  601. package/test/InputText.test.js +0 -240
  602. package/test/Link.test.js +0 -42
  603. package/test/Paginator.test.js +0 -194
  604. package/test/ProgressBar.test.js +0 -35
  605. package/test/Radio.test.js +0 -37
  606. package/test/ResultsetTable.test.js +0 -304
  607. package/test/Select.test.js +0 -192
  608. package/test/Sidenav.test.js +0 -45
  609. package/test/Slider.test.js +0 -82
  610. package/test/Spinner.test.js +0 -27
  611. package/test/Switch.test.js +0 -45
  612. package/test/Table.test.js +0 -36
  613. package/test/Tabs.test.js +0 -109
  614. package/test/TabsForSections.test.js +0 -34
  615. package/test/Tag.test.js +0 -32
  616. package/test/TextArea.test.js +0 -52
  617. package/test/ToggleGroup.test.js +0 -81
  618. package/test/Upload.test.js +0 -60
  619. package/test/Wizard.test.js +0 -130
  620. package/test/mocks/pngMock.js +0 -1
  621. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var layoutIcons = {
10
+ facebookLogo: /*#__PURE__*/_react["default"].createElement("svg", {
11
+ version: "1.1",
12
+ x: "0px",
13
+ y: "0px",
14
+ width: "438.536px",
15
+ height: "438.536px",
16
+ viewBox: "0 0 438.536 438.536",
17
+ fill: "#FFFFFF"
18
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
19
+ d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402 c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401 c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
20
+ }))),
21
+ xLogo: /*#__PURE__*/_react["default"].createElement("svg", {
22
+ width: "256",
23
+ height: "256",
24
+ viewBox: "0 0 256 256",
25
+ fill: "none",
26
+ xmlns: "http://www.w3.org/2000/svg"
27
+ }, /*#__PURE__*/_react["default"].createElement("rect", {
28
+ width: "256",
29
+ height: "256",
30
+ rx: "40",
31
+ fill: "white"
32
+ }), /*#__PURE__*/_react["default"].createElement("path", {
33
+ d: "M140.192 118.205L187.848 64H176.556L135.158 111.056L102.117 64H64L113.975 135.163L64 192H75.2914L118.982 142.296L153.883 192H192L140.192 118.205ZM124.722 135.787L119.65 128.697L79.3634 72.3294H96.7094L129.232 117.837L134.282 124.927L176.551 184.076H159.205L124.722 135.787Z",
34
+ fill: "#0F1419"
35
+ })),
36
+ linkedinLogo: /*#__PURE__*/_react["default"].createElement("svg", {
37
+ version: "1.1",
38
+ x: "0px",
39
+ y: "0px",
40
+ width: "438.536px",
41
+ height: "438.536px",
42
+ viewBox: "0 0 438.536 438.536",
43
+ fill: "#FFFFFF"
44
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
45
+ d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332 c-6.851,6.567-15.893,9.851-27.124,9.851h-0.288c-10.848,0-19.648-3.284-26.407-9.851c-6.76-6.567-10.138-14.703-10.138-24.41 c0-9.897,3.476-18.083,10.421-24.556c6.95-6.471,15.942-9.708,26.98-9.708c11.039,0,19.89,3.237,26.553,9.708 c6.661,6.473,10.088,14.659,10.277,24.556C137.899,117.625,134.477,125.761,127.626,132.332z M370.873,367.157h-65.952v-105.92 c0-29.879-11.036-44.823-33.116-44.823c-8.374,0-15.42,2.331-21.128,6.995c-5.715,4.661-9.996,10.324-12.847,16.991 c-1.335,3.422-1.999,8.75-1.999,15.981v110.775h-65.952c0.571-119.529,0.571-185.579,0-198.142h65.952v27.974 c13.867-21.681,33.558-32.544,59.101-32.544c22.84,0,41.21,7.52,55.104,22.554c13.895,15.037,20.841,37.214,20.841,66.519v113.64 H370.873z"
46
+ })))
47
+ };
48
+ var _default = exports["default"] = layoutIcons;
@@ -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
+ });
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _Link = _interopRequireDefault(require("./Link.tsx"));
10
+ var _Flex = _interopRequireDefault(require("../flex/Flex.tsx"));
11
+ var icon = /*#__PURE__*/_react["default"].createElement("svg", {
12
+ viewBox: "0 0 24 24",
13
+ enableBackground: "new 0 0 24 24",
14
+ fill: "currentColor"
15
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("rect", {
16
+ fill: "none",
17
+ width: "24",
18
+ height: "24"
19
+ })), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
20
+ 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"
21
+ })));
22
+ describe("Link component accessibility tests", function () {
23
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
24
+ var _render, container, results;
25
+ return _regenerator["default"].wrap(function _callee$(_context) {
26
+ while (1) switch (_context.prev = _context.next) {
27
+ case 0:
28
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
29
+ href: "https://www.google.com",
30
+ icon: icon,
31
+ iconPosition: "before",
32
+ margin: "medium"
33
+ }, "Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
34
+ href: "https://www.google.com",
35
+ icon: icon,
36
+ iconPosition: "after",
37
+ margin: "medium"
38
+ }, "Link"))), container = _render.container;
39
+ _context.next = 3;
40
+ return (0, _axeHelper.axe)(container);
41
+ case 3:
42
+ results = _context.sent;
43
+ expect(results).toHaveNoViolations();
44
+ case 5:
45
+ case "end":
46
+ return _context.stop();
47
+ }
48
+ }, _callee);
49
+ })));
50
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
51
+ var _render2, container, results;
52
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
53
+ while (1) switch (_context2.prev = _context2.next) {
54
+ case 0:
55
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
56
+ href: "https://www.google.com",
57
+ icon: icon,
58
+ iconPosition: "before",
59
+ margin: "medium",
60
+ disabled: true
61
+ }, "Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
62
+ href: "https://www.google.com",
63
+ icon: icon,
64
+ iconPosition: "after",
65
+ margin: "medium",
66
+ disabled: true
67
+ }, "Link"))), container = _render2.container;
68
+ _context2.next = 3;
69
+ return (0, _axeHelper.axe)(container);
70
+ case 3:
71
+ results = _context2.sent;
72
+ expect(results).toHaveNoViolations();
73
+ case 5:
74
+ case "end":
75
+ return _context2.stop();
76
+ }
77
+ }, _callee2);
78
+ })));
79
+ it("Should not have basic accessibility issues for new-window mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
80
+ var _render3, container, results;
81
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
82
+ while (1) switch (_context3.prev = _context3.next) {
83
+ case 0:
84
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
85
+ href: "https://www.google.com",
86
+ icon: icon,
87
+ iconPosition: "before",
88
+ margin: "medium",
89
+ newWindow: true
90
+ }, "Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
91
+ href: "https://www.google.com",
92
+ icon: icon,
93
+ iconPosition: "after",
94
+ margin: "medium",
95
+ newWindow: true
96
+ }, "Link"))), container = _render3.container;
97
+ _context3.next = 3;
98
+ return (0, _axeHelper.axe)(container);
99
+ case 3:
100
+ results = _context3.sent;
101
+ expect(results).toHaveNoViolations();
102
+ case 5:
103
+ case "end":
104
+ return _context3.stop();
105
+ }
106
+ }, _callee3);
107
+ })));
108
+ });
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,117 @@
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 _Icon = _interopRequireDefault(require("../icon/Icon"));
18
+ var _templateObject, _templateObject2;
19
+ var _excluded = ["inheritColor", "disabled", "icon", "iconPosition", "href", "newWindow", "onClick", "margin", "tabIndex", "children"];
20
+ 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); }
21
+ 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 && {}.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; }
22
+ var LinkContent = /*#__PURE__*/_react["default"].memo(function (_ref) {
23
+ var iconPosition = _ref.iconPosition,
24
+ icon = _ref.icon,
25
+ children = _ref.children;
26
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, iconPosition === "after" && children, icon && /*#__PURE__*/_react["default"].createElement(LinkIconContainer, {
27
+ iconPosition: iconPosition
28
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
29
+ icon: icon
30
+ }) : icon), iconPosition === "before" && children);
31
+ });
32
+ var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
33
+ var _ref2$inheritColor = _ref2.inheritColor,
34
+ inheritColor = _ref2$inheritColor === void 0 ? false : _ref2$inheritColor,
35
+ _ref2$disabled = _ref2.disabled,
36
+ disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
37
+ icon = _ref2.icon,
38
+ _ref2$iconPosition = _ref2.iconPosition,
39
+ iconPosition = _ref2$iconPosition === void 0 ? "before" : _ref2$iconPosition,
40
+ _ref2$href = _ref2.href,
41
+ href = _ref2$href === void 0 ? "" : _ref2$href,
42
+ _ref2$newWindow = _ref2.newWindow,
43
+ newWindow = _ref2$newWindow === void 0 ? false : _ref2$newWindow,
44
+ onClick = _ref2.onClick,
45
+ margin = _ref2.margin,
46
+ _ref2$tabIndex = _ref2.tabIndex,
47
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex,
48
+ children = _ref2.children,
49
+ otherProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
50
+ var colorsTheme = (0, _useTheme["default"])();
51
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
52
+ theme: colorsTheme.link
53
+ }, /*#__PURE__*/_react["default"].createElement(StyledLink, (0, _extends2["default"])({
54
+ as: href ? "a" : "button",
55
+ tabIndex: tabIndex,
56
+ onClick: !disabled ? onClick : undefined,
57
+ href: !disabled && href ? href : undefined,
58
+ target: href ? newWindow ? "_blank" : "_self" : undefined,
59
+ disabled: disabled,
60
+ inheritColor: inheritColor,
61
+ margin: margin,
62
+ ref: ref
63
+ }, otherProps), /*#__PURE__*/_react["default"].createElement(LinkContent, {
64
+ iconPosition: iconPosition,
65
+ icon: icon,
66
+ children: children
67
+ })));
68
+ });
69
+ 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) {
70
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
71
+ }, function (props) {
72
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
73
+ }, function (props) {
74
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
75
+ }, function (props) {
76
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
77
+ }, function (props) {
78
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
79
+ }, function (props) {
80
+ return props.theme.fontSize;
81
+ }, function (props) {
82
+ return props.theme.fontWeight;
83
+ }, function (props) {
84
+ return props.theme.fontStyle;
85
+ }, function (props) {
86
+ return props.theme.fontFamily;
87
+ }, function (props) {
88
+ return "padding-bottom: ".concat(props.theme.underlineSpacing, ";\n border-bottom: ").concat(props.theme.underlineThickness, " ").concat(props.theme.underlineStyle, " transparent;");
89
+ }, function (props) {
90
+ return props.disabled && "cursor: default;";
91
+ }, function (props) {
92
+ return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.disabledFontColor;
93
+ }, function (props) {
94
+ return props.disabled ? "pointer-events: none;" : "";
95
+ }, function (props) {
96
+ return !props.inheritColor && !props.disabled ? props.theme.visitedFontColor : "";
97
+ }, function (props) {
98
+ return "color: ".concat(props.theme.visitedFontColor, ";\n border-bottom-color: ").concat(props.theme.visitedUnderlineColor, ";");
99
+ }, function (props) {
100
+ return "color: ".concat(props.theme.hoverFontColor, ";\n border-bottom-color: ").concat(props.theme.hoverUnderlineColor, ";\n cursor: pointer;");
101
+ }, function (props) {
102
+ return props.theme.focusColor;
103
+ }, function (props) {
104
+ return props.disabled && "outline: none";
105
+ }, function (props) {
106
+ return "color: ".concat(props.theme.activeFontColor, " !important;\n border-bottom-color: ").concat(props.theme.activeUnderlineColor, " !important;");
107
+ });
108
+ var LinkIconContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n overflow: hidden;\n align-self: center;\n\n font-size: ", ";\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
+ }, function (props) {
115
+ return props.theme.iconSize;
116
+ });
117
+ 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>
15
+ <rect fill="none" width="24" height="24" />
16
+ </g>
17
+ <g>
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="lock" 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="filled_home">
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
+ });