@dxc-technology/halstack-react 0.0.0-8710cb0 → 0.0.0-87842b8

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 (441) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +105 -194
  9. package/accordion/Accordion.stories.tsx +251 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +12 -23
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +39 -108
  15. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  16. package/accordion-group/AccordionGroup.test.js +98 -0
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +18 -23
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +36 -126
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +75 -0
  32. package/alert/types.d.ts +6 -6
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +4 -0
  35. package/badge/Badge.js +141 -41
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +54 -0
  39. package/badge/types.js +5 -0
  40. package/bleed/Bleed.d.ts +3 -0
  41. package/bleed/Bleed.js +43 -0
  42. package/bleed/Bleed.stories.tsx +342 -0
  43. package/bleed/types.d.ts +37 -0
  44. package/bleed/types.js +5 -0
  45. package/box/Box.accessibility.test.js +33 -0
  46. package/box/Box.d.ts +1 -1
  47. package/box/Box.js +31 -82
  48. package/box/Box.stories.tsx +38 -51
  49. package/box/Box.test.js +13 -0
  50. package/box/types.d.ts +3 -14
  51. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  52. package/bulleted-list/BulletedList.d.ts +7 -0
  53. package/bulleted-list/BulletedList.js +92 -0
  54. package/bulleted-list/BulletedList.stories.tsx +115 -0
  55. package/bulleted-list/types.d.ts +38 -0
  56. package/bulleted-list/types.js +5 -0
  57. package/button/Button.accessibility.test.js +127 -0
  58. package/button/Button.d.ts +1 -1
  59. package/button/Button.js +65 -121
  60. package/button/Button.stories.tsx +155 -106
  61. package/button/Button.test.js +38 -0
  62. package/button/types.d.ts +14 -14
  63. package/card/Card.accessibility.test.js +36 -0
  64. package/card/Card.d.ts +1 -1
  65. package/card/Card.js +59 -104
  66. package/card/Card.stories.tsx +171 -0
  67. package/card/Card.test.js +39 -0
  68. package/card/types.d.ts +8 -15
  69. package/checkbox/Checkbox.accessibility.test.js +87 -0
  70. package/checkbox/Checkbox.d.ts +2 -2
  71. package/checkbox/Checkbox.js +145 -183
  72. package/checkbox/Checkbox.stories.tsx +166 -136
  73. package/checkbox/Checkbox.test.js +199 -0
  74. package/checkbox/types.d.ts +20 -8
  75. package/chip/Chip.accessibility.test.js +67 -0
  76. package/chip/Chip.d.ts +4 -0
  77. package/chip/Chip.js +49 -146
  78. package/chip/Chip.stories.tsx +104 -30
  79. package/chip/Chip.test.js +41 -0
  80. package/chip/types.d.ts +45 -0
  81. package/chip/types.js +5 -0
  82. package/common/coreTokens.d.ts +237 -0
  83. package/common/coreTokens.js +184 -0
  84. package/common/utils.d.ts +1 -0
  85. package/common/utils.js +6 -12
  86. package/common/variables.d.ts +1395 -0
  87. package/common/variables.js +1034 -1344
  88. package/container/Container.d.ts +4 -0
  89. package/container/Container.js +194 -0
  90. package/container/Container.stories.tsx +214 -0
  91. package/container/types.d.ts +74 -0
  92. package/container/types.js +5 -0
  93. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  94. package/contextual-menu/ContextualMenu.d.ts +7 -0
  95. package/contextual-menu/ContextualMenu.js +71 -0
  96. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  97. package/contextual-menu/ContextualMenu.test.js +71 -0
  98. package/contextual-menu/MenuItemAction.d.ts +4 -0
  99. package/contextual-menu/MenuItemAction.js +46 -0
  100. package/contextual-menu/types.d.ts +22 -0
  101. package/contextual-menu/types.js +5 -0
  102. package/date-input/Calendar.d.ts +4 -0
  103. package/date-input/Calendar.js +214 -0
  104. package/date-input/DateInput.accessibility.test.js +216 -0
  105. package/date-input/DateInput.js +175 -313
  106. package/date-input/DateInput.stories.tsx +203 -56
  107. package/date-input/DateInput.test.js +808 -0
  108. package/date-input/DatePicker.d.ts +4 -0
  109. package/date-input/DatePicker.js +115 -0
  110. package/date-input/Icons.d.ts +6 -0
  111. package/date-input/Icons.js +58 -0
  112. package/date-input/YearPicker.d.ts +4 -0
  113. package/date-input/YearPicker.js +100 -0
  114. package/date-input/types.d.ts +86 -22
  115. package/dialog/Dialog.accessibility.test.js +69 -0
  116. package/dialog/Dialog.d.ts +1 -1
  117. package/dialog/Dialog.js +69 -130
  118. package/dialog/Dialog.stories.tsx +320 -167
  119. package/dialog/Dialog.test.js +307 -0
  120. package/dialog/types.d.ts +18 -25
  121. package/divider/Divider.accessibility.test.js +33 -0
  122. package/divider/Divider.d.ts +4 -0
  123. package/divider/Divider.js +36 -0
  124. package/divider/Divider.stories.tsx +223 -0
  125. package/divider/Divider.test.js +38 -0
  126. package/divider/types.d.ts +21 -0
  127. package/divider/types.js +5 -0
  128. package/dropdown/Dropdown.accessibility.test.js +180 -0
  129. package/dropdown/Dropdown.d.ts +1 -1
  130. package/dropdown/Dropdown.js +232 -330
  131. package/dropdown/Dropdown.stories.tsx +427 -0
  132. package/dropdown/Dropdown.test.js +599 -0
  133. package/dropdown/DropdownMenu.d.ts +4 -0
  134. package/dropdown/DropdownMenu.js +63 -0
  135. package/dropdown/DropdownMenuItem.d.ts +4 -0
  136. package/dropdown/DropdownMenuItem.js +70 -0
  137. package/dropdown/types.d.ts +38 -31
  138. package/file-input/FileInput.accessibility.test.js +160 -0
  139. package/file-input/FileInput.d.ts +4 -0
  140. package/file-input/FileInput.js +274 -327
  141. package/file-input/FileInput.stories.tsx +618 -0
  142. package/file-input/FileInput.test.js +459 -0
  143. package/file-input/FileItem.d.ts +4 -0
  144. package/file-input/FileItem.js +54 -112
  145. package/file-input/types.d.ts +129 -0
  146. package/file-input/types.js +5 -0
  147. package/flex/Flex.d.ts +4 -0
  148. package/flex/Flex.js +57 -0
  149. package/flex/Flex.stories.tsx +112 -0
  150. package/flex/types.d.ts +97 -0
  151. package/flex/types.js +5 -0
  152. package/footer/Footer.accessibility.test.js +117 -0
  153. package/footer/Footer.d.ts +1 -1
  154. package/footer/Footer.js +74 -200
  155. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +84 -39
  156. package/footer/Footer.test.js +85 -0
  157. package/footer/Icons.d.ts +3 -0
  158. package/footer/Icons.js +67 -8
  159. package/footer/types.d.ts +40 -37
  160. package/grid/Grid.d.ts +7 -0
  161. package/grid/Grid.js +76 -0
  162. package/grid/Grid.stories.tsx +219 -0
  163. package/grid/types.d.ts +115 -0
  164. package/grid/types.js +5 -0
  165. package/header/Header.accessibility.test.js +84 -0
  166. package/header/Header.d.ts +4 -3
  167. package/header/Header.js +100 -204
  168. package/header/Header.stories.tsx +152 -63
  169. package/header/Header.test.js +66 -0
  170. package/header/Icons.d.ts +2 -0
  171. package/header/Icons.js +4 -9
  172. package/header/types.d.ts +6 -18
  173. package/heading/Heading.accessibility.test.js +33 -0
  174. package/heading/Heading.js +11 -33
  175. package/heading/Heading.stories.tsx +54 -0
  176. package/heading/Heading.test.js +169 -0
  177. package/heading/types.d.ts +7 -7
  178. package/icon/Icon.accessibility.test.js +30 -0
  179. package/icon/Icon.d.ts +4 -0
  180. package/icon/Icon.js +33 -0
  181. package/icon/Icon.stories.tsx +28 -0
  182. package/icon/types.d.ts +4 -0
  183. package/icon/types.js +5 -0
  184. package/image/Image.accessibility.test.js +56 -0
  185. package/image/Image.d.ts +4 -0
  186. package/image/Image.js +70 -0
  187. package/image/Image.stories.tsx +129 -0
  188. package/image/types.d.ts +72 -0
  189. package/image/types.js +5 -0
  190. package/inset/Inset.d.ts +3 -0
  191. package/inset/Inset.js +43 -0
  192. package/inset/Inset.stories.tsx +230 -0
  193. package/inset/types.d.ts +37 -0
  194. package/inset/types.js +5 -0
  195. package/layout/ApplicationLayout.d.ts +20 -0
  196. package/layout/ApplicationLayout.js +83 -184
  197. package/layout/ApplicationLayout.stories.tsx +162 -0
  198. package/layout/Icons.d.ts +8 -0
  199. package/layout/Icons.js +49 -48
  200. package/layout/types.d.ts +41 -0
  201. package/layout/types.js +5 -0
  202. package/link/Link.accessibility.test.js +112 -0
  203. package/link/Link.d.ts +3 -2
  204. package/link/Link.js +65 -109
  205. package/link/Link.stories.tsx +199 -16
  206. package/link/Link.test.js +63 -0
  207. package/link/types.d.ts +15 -35
  208. package/main.d.ts +19 -14
  209. package/main.js +92 -98
  210. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  211. package/nav-tabs/NavTabs.d.ts +7 -0
  212. package/nav-tabs/NavTabs.js +93 -0
  213. package/nav-tabs/NavTabs.stories.tsx +276 -0
  214. package/nav-tabs/NavTabs.test.js +76 -0
  215. package/nav-tabs/NavTabsContext.d.ts +3 -0
  216. package/nav-tabs/NavTabsContext.js +8 -0
  217. package/nav-tabs/Tab.d.ts +4 -0
  218. package/nav-tabs/Tab.js +118 -0
  219. package/nav-tabs/types.d.ts +52 -0
  220. package/nav-tabs/types.js +5 -0
  221. package/number-input/NumberInput.accessibility.test.js +228 -0
  222. package/number-input/NumberInput.js +48 -48
  223. package/number-input/NumberInput.stories.tsx +44 -28
  224. package/number-input/NumberInput.test.js +989 -0
  225. package/number-input/NumberInputContext.d.ts +3 -0
  226. package/number-input/NumberInputContext.js +3 -11
  227. package/number-input/types.d.ts +34 -15
  228. package/package.json +52 -51
  229. package/paginator/Icons.d.ts +5 -0
  230. package/paginator/Icons.js +21 -47
  231. package/paginator/Paginator.accessibility.test.js +79 -0
  232. package/paginator/Paginator.js +35 -98
  233. package/paginator/Paginator.stories.tsx +24 -0
  234. package/paginator/Paginator.test.js +335 -0
  235. package/paginator/types.d.ts +3 -3
  236. package/paragraph/Paragraph.accessibility.test.js +28 -0
  237. package/paragraph/Paragraph.d.ts +5 -0
  238. package/paragraph/Paragraph.js +22 -0
  239. package/paragraph/Paragraph.stories.tsx +27 -0
  240. package/password-input/Icons.d.ts +6 -0
  241. package/password-input/Icons.js +35 -0
  242. package/password-input/PasswordInput.accessibility.test.js +153 -0
  243. package/password-input/PasswordInput.js +60 -125
  244. package/password-input/PasswordInput.stories.tsx +3 -35
  245. package/password-input/PasswordInput.test.js +198 -0
  246. package/password-input/types.d.ts +35 -24
  247. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  248. package/progress-bar/ProgressBar.js +66 -92
  249. package/progress-bar/ProgressBar.stories.tsx +93 -0
  250. package/progress-bar/ProgressBar.test.js +93 -0
  251. package/progress-bar/types.d.ts +3 -3
  252. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  253. package/quick-nav/QuickNav.d.ts +4 -0
  254. package/quick-nav/QuickNav.js +94 -0
  255. package/quick-nav/QuickNav.stories.tsx +356 -0
  256. package/quick-nav/types.d.ts +21 -0
  257. package/quick-nav/types.js +5 -0
  258. package/radio-group/Radio.d.ts +4 -0
  259. package/radio-group/Radio.js +124 -0
  260. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  261. package/radio-group/RadioGroup.d.ts +4 -0
  262. package/radio-group/RadioGroup.js +235 -0
  263. package/radio-group/RadioGroup.stories.tsx +214 -0
  264. package/radio-group/RadioGroup.test.js +756 -0
  265. package/radio-group/types.d.ts +114 -0
  266. package/radio-group/types.js +5 -0
  267. package/resultset-table/Icons.d.ts +7 -0
  268. package/resultset-table/Icons.js +47 -0
  269. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  270. package/resultset-table/ResultsetTable.d.ts +7 -0
  271. package/resultset-table/ResultsetTable.js +170 -0
  272. package/resultset-table/ResultsetTable.stories.tsx +401 -0
  273. package/resultset-table/ResultsetTable.test.js +381 -0
  274. package/resultset-table/types.d.ts +100 -0
  275. package/resultset-table/types.js +5 -0
  276. package/select/Icons.d.ts +10 -0
  277. package/select/Icons.js +89 -0
  278. package/select/Listbox.d.ts +4 -0
  279. package/select/Listbox.js +143 -0
  280. package/select/Option.d.ts +4 -0
  281. package/select/Option.js +87 -0
  282. package/select/Select.accessibility.test.js +217 -0
  283. package/select/Select.d.ts +4 -0
  284. package/select/Select.js +240 -515
  285. package/select/Select.stories.tsx +602 -204
  286. package/select/Select.test.js +2370 -0
  287. package/select/types.d.ts +209 -0
  288. package/select/types.js +5 -0
  289. package/sidenav/Icons.d.ts +7 -0
  290. package/sidenav/Icons.js +47 -0
  291. package/sidenav/Sidenav.accessibility.test.js +59 -0
  292. package/sidenav/Sidenav.d.ts +6 -5
  293. package/sidenav/Sidenav.js +133 -72
  294. package/sidenav/Sidenav.stories.tsx +281 -0
  295. package/sidenav/Sidenav.test.js +37 -0
  296. package/sidenav/SidenavContext.d.ts +5 -0
  297. package/sidenav/SidenavContext.js +13 -0
  298. package/sidenav/types.d.ts +52 -26
  299. package/slider/Slider.accessibility.test.js +104 -0
  300. package/slider/Slider.d.ts +2 -2
  301. package/slider/Slider.js +150 -182
  302. package/slider/Slider.test.js +254 -0
  303. package/slider/types.d.ts +11 -3
  304. package/spinner/Spinner.accessibility.test.js +96 -0
  305. package/spinner/Spinner.js +32 -76
  306. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  307. package/spinner/Spinner.test.js +55 -0
  308. package/spinner/types.d.ts +3 -3
  309. package/status-light/StatusLight.accessibility.test.js +157 -0
  310. package/status-light/StatusLight.d.ts +4 -0
  311. package/status-light/StatusLight.js +51 -0
  312. package/status-light/StatusLight.stories.tsx +74 -0
  313. package/status-light/StatusLight.test.js +25 -0
  314. package/status-light/types.d.ts +17 -0
  315. package/status-light/types.js +5 -0
  316. package/switch/Switch.accessibility.test.js +89 -0
  317. package/switch/Switch.d.ts +2 -2
  318. package/switch/Switch.js +150 -115
  319. package/switch/Switch.stories.tsx +45 -68
  320. package/switch/Switch.test.js +180 -0
  321. package/switch/types.d.ts +13 -5
  322. package/table/DropdownTheme.js +62 -0
  323. package/table/Table.accessibility.test.js +82 -0
  324. package/table/Table.d.ts +6 -2
  325. package/table/Table.js +80 -37
  326. package/table/Table.stories.tsx +651 -0
  327. package/table/Table.test.js +113 -0
  328. package/table/types.d.ts +34 -6
  329. package/tabs/Tab.d.ts +4 -0
  330. package/tabs/Tab.js +116 -0
  331. package/tabs/Tabs.accessibility.test.js +56 -0
  332. package/tabs/Tabs.d.ts +1 -1
  333. package/tabs/Tabs.js +318 -145
  334. package/tabs/Tabs.stories.tsx +226 -0
  335. package/tabs/Tabs.test.js +294 -0
  336. package/tabs/types.d.ts +48 -27
  337. package/tag/Tag.accessibility.test.js +69 -0
  338. package/tag/Tag.d.ts +1 -1
  339. package/tag/Tag.js +44 -86
  340. package/tag/Tag.stories.tsx +38 -28
  341. package/tag/Tag.test.js +49 -0
  342. package/tag/types.d.ts +25 -16
  343. package/text-input/Suggestion.d.ts +4 -0
  344. package/text-input/Suggestion.js +67 -0
  345. package/text-input/Suggestions.d.ts +4 -0
  346. package/text-input/Suggestions.js +86 -0
  347. package/text-input/TextInput.accessibility.test.js +321 -0
  348. package/text-input/TextInput.d.ts +4 -0
  349. package/text-input/TextInput.js +335 -593
  350. package/text-input/TextInput.stories.tsx +465 -0
  351. package/text-input/TextInput.test.js +1756 -0
  352. package/text-input/types.d.ts +205 -0
  353. package/text-input/types.js +5 -0
  354. package/textarea/Textarea.accessibility.test.js +155 -0
  355. package/textarea/Textarea.d.ts +4 -0
  356. package/textarea/Textarea.js +98 -181
  357. package/textarea/Textarea.stories.tsx +174 -0
  358. package/textarea/Textarea.test.js +406 -0
  359. package/textarea/types.d.ts +141 -0
  360. package/textarea/types.js +5 -0
  361. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  362. package/toggle-group/ToggleGroup.d.ts +4 -0
  363. package/toggle-group/ToggleGroup.js +100 -142
  364. package/toggle-group/ToggleGroup.stories.tsx +76 -36
  365. package/toggle-group/ToggleGroup.test.js +137 -0
  366. package/toggle-group/types.d.ts +114 -0
  367. package/toggle-group/types.js +5 -0
  368. package/typography/Typography.accessibility.test.js +339 -0
  369. package/typography/Typography.d.ts +4 -0
  370. package/typography/Typography.js +23 -0
  371. package/typography/Typography.stories.tsx +198 -0
  372. package/typography/types.d.ts +18 -0
  373. package/typography/types.js +5 -0
  374. package/useTheme.d.ts +1148 -0
  375. package/useTheme.js +4 -11
  376. package/useTranslatedLabels.d.ts +85 -0
  377. package/useTranslatedLabels.js +14 -0
  378. package/utils/BaseTypography.d.ts +21 -0
  379. package/utils/BaseTypography.js +94 -0
  380. package/utils/FocusLock.d.ts +13 -0
  381. package/utils/FocusLock.js +124 -0
  382. package/wizard/Wizard.accessibility.test.js +55 -0
  383. package/wizard/Wizard.d.ts +1 -1
  384. package/wizard/Wizard.js +123 -104
  385. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
  386. package/wizard/Wizard.test.js +114 -0
  387. package/wizard/types.d.ts +15 -15
  388. package/ThemeContext.js +0 -246
  389. package/V3Select/V3Select.js +0 -455
  390. package/V3Select/index.d.ts +0 -27
  391. package/V3Textarea/V3Textarea.js +0 -260
  392. package/V3Textarea/index.d.ts +0 -27
  393. package/chip/index.d.ts +0 -22
  394. package/common/OpenSans.css +0 -81
  395. package/common/RequiredComponent.js +0 -32
  396. package/common/fonts/OpenSans-Bold.ttf +0 -0
  397. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  398. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  399. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  400. package/common/fonts/OpenSans-Italic.ttf +0 -0
  401. package/common/fonts/OpenSans-Light.ttf +0 -0
  402. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  403. package/common/fonts/OpenSans-Regular.ttf +0 -0
  404. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  405. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  406. package/date/Date.js +0 -373
  407. package/date/index.d.ts +0 -27
  408. package/file-input/index.d.ts +0 -81
  409. package/input-text/Icons.js +0 -22
  410. package/input-text/InputText.js +0 -611
  411. package/input-text/index.d.ts +0 -36
  412. package/progress-bar/ProgressBar.stories.jsx +0 -58
  413. package/radio/Radio.d.ts +0 -4
  414. package/radio/Radio.js +0 -174
  415. package/radio/Radio.stories.tsx +0 -192
  416. package/radio/types.d.ts +0 -54
  417. package/resultsetTable/ResultsetTable.js +0 -274
  418. package/resultsetTable/index.d.ts +0 -19
  419. package/select/index.d.ts +0 -131
  420. package/slider/Slider.stories.tsx +0 -177
  421. package/table/Table.stories.jsx +0 -276
  422. package/text-input/index.d.ts +0 -135
  423. package/textarea/Textarea.stories.jsx +0 -135
  424. package/textarea/index.d.ts +0 -117
  425. package/toggle/Toggle.js +0 -186
  426. package/toggle/index.d.ts +0 -21
  427. package/toggle-group/index.d.ts +0 -21
  428. package/upload/Upload.js +0 -201
  429. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  430. package/upload/buttons-upload/Icons.js +0 -40
  431. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  432. package/upload/dragAndDropArea/Icons.js +0 -39
  433. package/upload/file-upload/FileToUpload.js +0 -115
  434. package/upload/file-upload/Icons.js +0 -66
  435. package/upload/files-upload/FilesToUpload.js +0 -109
  436. package/upload/index.d.ts +0 -15
  437. package/upload/transaction/Icons.js +0 -160
  438. package/upload/transaction/Transaction.js +0 -104
  439. package/upload/transactions/Transactions.js +0 -94
  440. package/wizard/Icons.js +0 -65
  441. /package/{radio → action-icon}/types.js +0 -0
@@ -0,0 +1,69 @@
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 _jestAxe = require("jest-axe");
9
+ var _Tag = _interopRequireDefault(require("./Tag.tsx"));
10
+ var icon = /*#__PURE__*/_react["default"].createElement("svg", {
11
+ viewBox: "0 0 24 24",
12
+ fill: "currentColor"
13
+ }, /*#__PURE__*/_react["default"].createElement("path", {
14
+ d: "M0 0h24v24H0z",
15
+ fill: "none"
16
+ }), /*#__PURE__*/_react["default"].createElement("path", {
17
+ d: "M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"
18
+ }));
19
+ describe("Tag component accessibility tests", function () {
20
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
21
+ var _render, container, results;
22
+ return _regenerator["default"].wrap(function _callee$(_context) {
23
+ while (1) switch (_context.prev = _context.next) {
24
+ case 0:
25
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
26
+ label: "tag-test",
27
+ icon: icon,
28
+ iconBgColor: "#fabada",
29
+ margin: "medium",
30
+ size: "medium",
31
+ labelPosition: "before"
32
+ })), container = _render.container;
33
+ _context.next = 3;
34
+ return (0, _jestAxe.axe)(container);
35
+ case 3:
36
+ results = _context.sent;
37
+ expect(results).toHaveNoViolations();
38
+ case 5:
39
+ case "end":
40
+ return _context.stop();
41
+ }
42
+ }, _callee);
43
+ })));
44
+ it("Should not have basic accessibility issues for new-window mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
45
+ var _render2, container, results;
46
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
47
+ while (1) switch (_context2.prev = _context2.next) {
48
+ case 0:
49
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
50
+ label: "tag-test",
51
+ icon: icon,
52
+ iconBgColor: "#fabada",
53
+ margin: "medium",
54
+ size: "medium",
55
+ labelPosition: "before",
56
+ newWindow: true
57
+ })), container = _render2.container;
58
+ _context2.next = 3;
59
+ return (0, _jestAxe.axe)(container);
60
+ case 3:
61
+ results = _context2.sent;
62
+ expect(results).toHaveNoViolations();
63
+ case 5:
64
+ case "end":
65
+ return _context2.stop();
66
+ }
67
+ }, _callee2);
68
+ })));
69
+ });
package/tag/Tag.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import TagPropsType from "./types";
3
- declare const DxcTag: ({ icon, iconSrc, label, linkHref, onClick, iconBgColor, labelPosition, newWindow, margin, size, tabIndex, }: TagPropsType) => JSX.Element;
3
+ declare const DxcTag: ({ icon, label, linkHref, onClick, iconBgColor, labelPosition, newWindow, margin, size, tabIndex, }: TagPropsType) => JSX.Element;
4
4
  export default DxcTag;
package/tag/Tag.js CHANGED
@@ -1,78 +1,56 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
- var _variables = require("../common/variables.js");
23
-
24
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
25
-
26
- var _utils = require("../common/utils.js");
27
-
14
+ var _variables = require("../common/variables");
15
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
16
+ var _utils = require("../common/utils");
28
17
  var _Box = _interopRequireDefault(require("../box/Box"));
29
-
30
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
31
-
32
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
-
34
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
18
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
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; }
36
21
  var DxcTag = function DxcTag(_ref) {
37
22
  var icon = _ref.icon,
38
- iconSrc = _ref.iconSrc,
39
- _ref$label = _ref.label,
40
- label = _ref$label === void 0 ? "" : _ref$label,
41
- linkHref = _ref.linkHref,
42
- onClick = _ref.onClick,
43
- _ref$iconBgColor = _ref.iconBgColor,
44
- iconBgColor = _ref$iconBgColor === void 0 ? "#5f249f" : _ref$iconBgColor,
45
- _ref$labelPosition = _ref.labelPosition,
46
- labelPosition = _ref$labelPosition === void 0 ? "after" : _ref$labelPosition,
47
- _ref$newWindow = _ref.newWindow,
48
- newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
49
- margin = _ref.margin,
50
- _ref$size = _ref.size,
51
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
52
- _ref$tabIndex = _ref.tabIndex,
53
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
23
+ _ref$label = _ref.label,
24
+ label = _ref$label === void 0 ? "" : _ref$label,
25
+ linkHref = _ref.linkHref,
26
+ onClick = _ref.onClick,
27
+ _ref$iconBgColor = _ref.iconBgColor,
28
+ iconBgColor = _ref$iconBgColor === void 0 ? "#5f249f" : _ref$iconBgColor,
29
+ _ref$labelPosition = _ref.labelPosition,
30
+ labelPosition = _ref$labelPosition === void 0 ? "after" : _ref$labelPosition,
31
+ _ref$newWindow = _ref.newWindow,
32
+ newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
33
+ margin = _ref.margin,
34
+ _ref$size = _ref.size,
35
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
36
+ _ref$tabIndex = _ref.tabIndex,
37
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
54
38
  var colorsTheme = (0, _useTheme["default"])();
55
-
56
39
  var _useState = (0, _react.useState)(false),
57
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
58
- isHovered = _useState2[0],
59
- changeIsHovered = _useState2[1];
60
-
40
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
41
+ isHovered = _useState2[0],
42
+ changeIsHovered = _useState2[1];
61
43
  var clickHandler = function clickHandler() {
62
44
  onClick && onClick();
63
45
  };
64
-
65
46
  var tagContent = /*#__PURE__*/_react["default"].createElement(_Box["default"], {
66
47
  size: size,
67
48
  shadowDepth: isHovered && (onClick || linkHref) && 2 || 1
68
- }, /*#__PURE__*/_react["default"].createElement(TagContent, {
69
- labelPosition: labelPosition
70
- }, /*#__PURE__*/_react["default"].createElement(IconContainer, {
49
+ }, /*#__PURE__*/_react["default"].createElement(TagContent, null, labelPosition === "before" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
71
50
  iconBgColor: iconBgColor
72
- }, icon ? /*#__PURE__*/_react["default"].createElement(TagIconContainer, null, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : /*#__PURE__*/_react["default"].createElement(TagIcon, {
73
- src: iconSrc
74
- })), size !== "small" && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
75
-
51
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(TagIcon, {
52
+ src: icon
53
+ }) : icon), labelPosition === "after" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
76
54
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
77
55
  theme: colorsTheme.tag
78
56
  }, /*#__PURE__*/_react["default"].createElement(StyledDxcTag, {
@@ -94,19 +72,16 @@ var DxcTag = function DxcTag(_ref) {
94
72
  target: newWindow ? "_blank" : "_self"
95
73
  }, tagContent) : tagContent));
96
74
  };
97
-
98
75
  var sizes = {
99
76
  small: "42px",
100
77
  medium: "240px",
101
78
  large: "480px",
102
79
  fillParent: "100%",
103
- fitContent: "unset"
80
+ fitContent: "fit-content"
104
81
  };
105
-
106
82
  var calculateWidth = function calculateWidth(margin, size) {
107
83
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
108
84
  };
109
-
110
85
  var StyledDxcTag = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n height: ", ";\n"])), function (_ref2) {
111
86
  var hasAction = _ref2.hasAction;
112
87
  return hasAction && "pointer" || "unset";
@@ -115,51 +90,32 @@ var StyledDxcTag = _styledComponents["default"].div(_templateObject || (_templat
115
90
  return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
116
91
  }, function (_ref4) {
117
92
  var margin = _ref4.margin;
118
- return margin && margin.top ? _variables.spaces[margin.top] : "";
93
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
119
94
  }, function (_ref5) {
120
95
  var margin = _ref5.margin;
121
- return margin && margin.right ? _variables.spaces[margin.right] : "";
96
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
122
97
  }, function (_ref6) {
123
98
  var margin = _ref6.margin;
124
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
99
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
125
100
  }, function (_ref7) {
126
101
  var margin = _ref7.margin;
127
- return margin && margin.left ? _variables.spaces[margin.left] : "";
102
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
128
103
  }, function (props) {
129
104
  return calculateWidth(props.margin, props.size);
130
105
  }, function (props) {
131
106
  return props.theme.height;
132
107
  });
133
-
134
- var TagContent = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n flex-direction: ", ";\n width: 100%;\n height: ", ";\n"])), function (_ref8) {
135
- var labelPosition = _ref8.labelPosition;
136
- return labelPosition === "before" && "row-reverse" || "row";
137
- }, function (props) {
108
+ var TagContent = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n width: 100%;\n height: ", ";\n"])), function (props) {
138
109
  return props.theme.height;
139
110
  });
140
-
141
111
  var StyledLink = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n border-radius: 4px;\n width: 100%;\n :focus {\n outline: 2px solid ", ";\n outline-offset: 0px;\n }\n"])), function (props) {
142
112
  return props.theme.focusColor;
143
113
  });
144
-
145
114
  var StyledButton = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n background: none;\n border-radius: 4px;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: inherit;\n width: 100%;\n :focus {\n outline: 2px solid ", ";\n }\n"])), function (props) {
146
115
  return props.theme.focusColor;
147
116
  });
148
-
149
- var TagIcon = _styledComponents["default"].img(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n width: ", ";\n height: ", ";\n"])), function (props) {
150
- return props.theme.iconWidth;
151
- }, function (props) {
152
- return props.theme.iconHeight;
153
- });
154
-
155
- var TagIconContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
156
- return props.theme.iconWidth;
157
- }, function (props) {
158
- return props.theme.iconHeight;
159
- });
160
-
161
- var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n min-width: ", ";\n"])), function (_ref9) {
162
- var iconBgColor = _ref9.iconBgColor;
117
+ var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n min-width: ", ";\n overflow: hidden;\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (_ref8) {
118
+ var iconBgColor = _ref8.iconBgColor;
163
119
  return iconBgColor;
164
120
  }, function (props) {
165
121
  return props.theme.iconSectionWidth;
@@ -167,9 +123,13 @@ var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templ
167
123
  return props.theme.iconColor;
168
124
  }, function (props) {
169
125
  return props.theme.iconSectionWidth;
126
+ }, function (props) {
127
+ return props.theme.iconWidth;
128
+ }, function (props) {
129
+ return props.theme.iconHeight;
170
130
  });
171
-
172
- var TagLabel = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
131
+ var TagIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
132
+ var TagLabel = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
173
133
  return props.theme.fontFamily;
174
134
  }, function (props) {
175
135
  return props.theme.fontSize;
@@ -188,6 +148,4 @@ var TagLabel = _styledComponents["default"].div(_templateObject8 || (_templateOb
188
148
  }, function (props) {
189
149
  return props.theme.labelPaddingRight;
190
150
  });
191
-
192
- var _default = DxcTag;
193
- exports["default"] = _default;
151
+ var _default = exports["default"] = DxcTag;
@@ -3,35 +3,36 @@ import { userEvent, within } from "@storybook/testing-library";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
5
  import DxcTag from "./Tag";
6
+ import { HalstackProvider } from "../HalstackContext";
6
7
 
7
8
  export default {
8
9
  title: "Tag",
9
10
  component: DxcTag,
10
11
  };
11
12
 
12
- const icon = () => {
13
- return (
14
- <svg viewBox="0 0 24 24" fill="currentColor">
15
- <path d="M0 0h24v24H0z" fill="none" />
16
- <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
17
- </svg>
18
- );
19
- };
20
- const largeIcon = () => {
21
- return (
22
- <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
23
- <path d="M0 0h24v24H0V0z" fill="none" />
24
- <path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z" />
25
- </svg>
26
- );
13
+ const icon = (
14
+ <svg viewBox="0 0 24 24" fill="currentColor">
15
+ <path d="M0 0h24v24H0z" fill="none" />
16
+ <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
17
+ </svg>
18
+ );
19
+
20
+ const largeIcon = (
21
+ <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
22
+ <path d="M0 0h24v24H0V0z" fill="none" />
23
+ <path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z" />
24
+ </svg>
25
+ );
26
+
27
+ const opinionatedTheme = {
28
+ tag: {
29
+ fontColor: "#000000",
30
+ iconColor: "#ffffff",
31
+ },
27
32
  };
28
33
 
29
34
  export const Chromatic = () => (
30
35
  <>
31
- <ExampleContainer>
32
- <Title title="Without label" theme="light" level={4} />
33
- <DxcTag />
34
- </ExampleContainer>
35
36
  <ExampleContainer>
36
37
  <Title title="With icon" theme="light" level={4} />
37
38
  <DxcTag icon={icon} />
@@ -46,7 +47,10 @@ export const Chromatic = () => (
46
47
  </ExampleContainer>
47
48
  <ExampleContainer>
48
49
  <Title title="With label and icon" theme="light" level={4} />
49
- <DxcTag label="Tag" icon={icon} />
50
+ <DxcTag
51
+ label="Tag"
52
+ icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
53
+ />
50
54
  </ExampleContainer>
51
55
  <ExampleContainer>
52
56
  <Title title="With right icon" theme="light" level={4} />
@@ -102,37 +106,43 @@ export const Chromatic = () => (
102
106
  <Title title="Sizes" theme="light" level={2} />
103
107
  <ExampleContainer>
104
108
  <Title title="Small size" theme="light" level={4} />
105
- <DxcTag label="Small" size="small" />
109
+ <DxcTag label="Small" size="small" icon={icon} />
106
110
  </ExampleContainer>
107
111
  <ExampleContainer>
108
112
  <Title title="Medium size" theme="light" level={4} />
109
- <DxcTag label="Medium size medium s" size="medium" />
113
+ <DxcTag label="Medium size medium s" size="medium" icon={icon} />
110
114
  </ExampleContainer>
111
115
  <ExampleContainer>
112
116
  <Title title="Medium size with ellipsis" theme="light" level={4} />
113
- <DxcTag label="Medium size medium si medium" size="medium" />
117
+ <DxcTag label="Medium size medium si medium" size="medium" icon={icon} />
114
118
  </ExampleContainer>
115
119
  <ExampleContainer>
116
120
  <Title title="Large size" theme="light" level={4} />
117
- <DxcTag label="Large size large size large size large size large size" size="large" />
121
+ <DxcTag label="Large size large size large size large size large size" size="large" icon={icon} />
118
122
  </ExampleContainer>
119
123
  <ExampleContainer>
120
124
  <Title title="Large size with ellipsis" theme="light" level={4} />
121
- <DxcTag label="Large size large size large size large size large size large size" size="large" />
125
+ <DxcTag label="Large size large size large size large size large size large size" size="large" icon={icon} />
122
126
  </ExampleContainer>
123
127
  <ExampleContainer>
124
128
  <Title title="FillParent size" theme="light" level={4} />
125
- <DxcTag label="FillParent" size="fillParent" />
129
+ <DxcTag label="FillParent" size="fillParent" icon={icon} />
126
130
  </ExampleContainer>
127
131
  <ExampleContainer>
128
132
  <Title title="FitContent size" theme="light" level={4} />
129
- <DxcTag label="FitContent" size="fitContent" />
133
+ <DxcTag label="FitContent" size="fitContent" icon={icon} />
134
+ </ExampleContainer>
135
+ <Title title="Opinionated theme" theme="light" level={2} />
136
+ <ExampleContainer>
137
+ <HalstackProvider theme={opinionatedTheme}>
138
+ <DxcTag label="Tag" icon={icon} />
139
+ </HalstackProvider>
130
140
  </ExampleContainer>
131
141
  </>
132
142
  );
133
143
 
134
144
  const LinkTag = () => (
135
- <ExampleContainer>
145
+ <ExampleContainer expanded>
136
146
  <Title title="Hover link tag" theme="light" level={4} />
137
147
  <DxcTag label="Tag" icon={icon} linkHref="https://www.dxc.com" />
138
148
  </ExampleContainer>
@@ -0,0 +1,49 @@
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 _Tag = _interopRequireDefault(require("./Tag.tsx"));
7
+ describe("Tag component tests", function () {
8
+ test("Tag renders with correct label", function () {
9
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
10
+ label: "tag-test"
11
+ })),
12
+ getByText = _render.getByText;
13
+ expect(getByText("tag-test")).toBeTruthy();
14
+ });
15
+ test("Tag renders with correct label before", function () {
16
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
17
+ label: "tag-test",
18
+ labelPosition: "before"
19
+ })),
20
+ getByText = _render2.getByText;
21
+ expect(getByText("tag-test")).toBeTruthy();
22
+ });
23
+ test("Tag renders with correct icon", function () {
24
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
25
+ label: "tag-test",
26
+ icon: "/test-icon.jpg"
27
+ })),
28
+ getByRole = _render3.getByRole;
29
+ expect(getByRole("img").getAttribute("src")).toBe("/test-icon.jpg");
30
+ });
31
+ test("Tag renders with link href", function () {
32
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
33
+ label: "tag-test",
34
+ linkHref: "/test/page"
35
+ })),
36
+ getByRole = _render4.getByRole;
37
+ expect(getByRole("link").getAttribute("href")).toBe("/test/page");
38
+ });
39
+ test("Call correct function on click", function () {
40
+ var onClick = jest.fn();
41
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
42
+ label: "tag-test",
43
+ onClick: onClick
44
+ })),
45
+ getByText = _render5.getByText;
46
+ _react2.fireEvent.click(getByText("tag-test"));
47
+ expect(onClick).toHaveBeenCalled();
48
+ });
49
+ });
package/tag/types.d.ts CHANGED
@@ -1,25 +1,13 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type SVG = React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
10
- declare type Props = {
11
- /**
12
- * Element used as the icon that will be placed next to the label.
13
- */
14
- icon?: SVG;
15
- /**
16
- * @deprecated URL of the icon.
17
- */
18
- iconSrc?: string;
19
- /**
20
- * Text to be placed next inside the tag.
21
- */
22
- label?: string;
9
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ type TagCommonProps = {
23
11
  /**
24
12
  * If defined, the tag will be displayed as an anchor, using this prop as "href".
25
13
  * Component will show some visual feedback on hover.
@@ -57,4 +45,25 @@ declare type Props = {
57
45
  */
58
46
  tabIndex?: number;
59
47
  };
48
+ type TagLabelProps = TagCommonProps & {
49
+ /**
50
+ * Element or path used as the icon that will be placed next to the label.
51
+ */
52
+ icon?: string | SVG;
53
+ /**
54
+ * Text to be placed next inside the tag.
55
+ */
56
+ label: string;
57
+ };
58
+ type TagIconProps = TagCommonProps & {
59
+ /**
60
+ * Element or path used as the icon that will be placed next to the label.
61
+ */
62
+ icon: string | SVG;
63
+ /**
64
+ * Text to be placed next inside the tag.
65
+ */
66
+ label?: string;
67
+ };
68
+ type Props = TagLabelProps | TagIconProps;
60
69
  export default Props;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SuggestionProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ id, value, onClick, suggestion, isLast, visuallyFocused, highlighted, }: SuggestionProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _templateObject, _templateObject2;
13
+ 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); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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; }
15
+ var transformSpecialChars = function transformSpecialChars(str) {
16
+ var specialCharsRegex = /[\\*()\[\]{}+?/]/;
17
+ var value = str;
18
+ if (specialCharsRegex.test(value)) {
19
+ var regexAsString = specialCharsRegex.toString().split("");
20
+ var uniqueSpecialChars = regexAsString.filter(function (item, index) {
21
+ return regexAsString.indexOf(item) === index;
22
+ });
23
+ uniqueSpecialChars.forEach(function (specialChar) {
24
+ if (str.includes(specialChar)) value = value.replace(specialChar, "\\" + specialChar);
25
+ });
26
+ }
27
+ return value;
28
+ };
29
+ var Suggestion = function Suggestion(_ref) {
30
+ var id = _ref.id,
31
+ value = _ref.value,
32
+ _onClick = _ref.onClick,
33
+ suggestion = _ref.suggestion,
34
+ isLast = _ref.isLast,
35
+ visuallyFocused = _ref.visuallyFocused,
36
+ highlighted = _ref.highlighted;
37
+ var matchedSuggestion = (0, _react.useMemo)(function () {
38
+ var regEx = new RegExp(transformSpecialChars(value), "i");
39
+ return {
40
+ matchedWords: suggestion.match(regEx),
41
+ noMatchedWords: suggestion.replace(regEx, "")
42
+ };
43
+ }, [value, suggestion]);
44
+ return /*#__PURE__*/_react["default"].createElement(SuggestionContainer, {
45
+ id: id,
46
+ onClick: function onClick() {
47
+ _onClick(suggestion);
48
+ },
49
+ visuallyFocused: visuallyFocused,
50
+ role: "option",
51
+ "aria-selected": visuallyFocused ? true : undefined
52
+ }, /*#__PURE__*/_react["default"].createElement(StyledSuggestion, {
53
+ isLast: isLast,
54
+ visuallyFocused: visuallyFocused
55
+ }, highlighted ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("strong", null, matchedSuggestion.matchedWords), matchedSuggestion.noMatchedWords) : suggestion));
56
+ };
57
+ var SuggestionContainer = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0 0.5rem;\n line-height: 1.715em;\n cursor: pointer;\n box-shadow: inset 0 0 0 2px\n ", ";\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
58
+ return props.visuallyFocused ? props.theme.focusListOptionBorderColor : "transparent";
59
+ }, function (props) {
60
+ return props.theme.hoverListOptionBackgroundColor;
61
+ }, function (props) {
62
+ return props.theme.activeListOptionBackgroundColor;
63
+ });
64
+ var StyledSuggestion = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding: 0.25rem 0.5rem 0.188rem 0.5rem;\n ", ";\n"])), function (props) {
65
+ return props.isLast || props.visuallyFocused ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
66
+ });
67
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Suggestion);
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SuggestionsProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ id, value, suggestions, visualFocusIndex, highlightedSuggestions, searchHasErrors, isSearching, suggestionOnClick, styles, }: SuggestionsProps) => JSX.Element>;
4
+ export default _default;