@dxc-technology/halstack-react 0.0.0-abb5d48 → 0.0.0-abf35d9

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 (515) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/HalstackContext.d.ts +1336 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +234 -0
  7. package/accordion/Accordion.stories.tsx +395 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +149 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +291 -0
  19. package/alert/Alert.stories.tsx +198 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +61 -0
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +114 -0
  34. package/box/Box.stories.tsx +147 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +154 -0
  45. package/button/Button.stories.tsx +425 -0
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +160 -0
  51. package/card/Card.stories.tsx +200 -0
  52. package/card/Card.test.js +50 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +68 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +250 -0
  58. package/checkbox/Checkbox.stories.tsx +260 -0
  59. package/checkbox/Checkbox.test.js +155 -0
  60. package/checkbox/types.d.ts +68 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +153 -0
  64. package/chip/Chip.stories.tsx +206 -0
  65. package/chip/Chip.test.js +54 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/common/utils.d.ts +1 -0
  69. package/common/utils.js +22 -0
  70. package/common/variables.d.ts +1625 -0
  71. package/common/variables.js +1504 -0
  72. package/date-input/Calendar.d.ts +4 -0
  73. package/date-input/Calendar.js +258 -0
  74. package/date-input/DateInput.d.ts +4 -0
  75. package/date-input/DateInput.js +269 -0
  76. package/date-input/DateInput.stories.tsx +304 -0
  77. package/date-input/DateInput.test.js +835 -0
  78. package/date-input/DatePicker.d.ts +4 -0
  79. package/date-input/DatePicker.js +146 -0
  80. package/date-input/Icons.d.ts +6 -0
  81. package/date-input/Icons.js +75 -0
  82. package/date-input/YearPicker.d.ts +4 -0
  83. package/date-input/YearPicker.js +126 -0
  84. package/date-input/types.d.ts +158 -0
  85. package/date-input/types.js +5 -0
  86. package/dialog/Dialog.d.ts +4 -0
  87. package/dialog/Dialog.js +149 -0
  88. package/dialog/Dialog.stories.tsx +319 -0
  89. package/dialog/Dialog.test.js +369 -0
  90. package/dialog/types.d.ts +44 -0
  91. package/dialog/types.js +5 -0
  92. package/dropdown/Dropdown.d.ts +4 -0
  93. package/dropdown/Dropdown.js +388 -0
  94. package/dropdown/Dropdown.stories.tsx +438 -0
  95. package/dropdown/Dropdown.test.js +586 -0
  96. package/dropdown/DropdownMenu.d.ts +4 -0
  97. package/dropdown/DropdownMenu.js +70 -0
  98. package/dropdown/DropdownMenuItem.d.ts +4 -0
  99. package/dropdown/DropdownMenuItem.js +79 -0
  100. package/dropdown/types.d.ts +100 -0
  101. package/dropdown/types.js +5 -0
  102. package/file-input/FileInput.d.ts +4 -0
  103. package/file-input/FileInput.js +547 -0
  104. package/file-input/FileInput.stories.tsx +618 -0
  105. package/file-input/FileInput.test.js +457 -0
  106. package/file-input/FileItem.d.ts +4 -0
  107. package/file-input/FileItem.js +162 -0
  108. package/file-input/types.d.ts +129 -0
  109. package/file-input/types.js +5 -0
  110. package/flex/Flex.d.ts +4 -0
  111. package/flex/Flex.js +69 -0
  112. package/flex/Flex.stories.tsx +103 -0
  113. package/flex/types.d.ts +32 -0
  114. package/flex/types.js +5 -0
  115. package/footer/Footer.d.ts +4 -0
  116. package/footer/Footer.js +183 -0
  117. package/footer/Footer.stories.tsx +228 -0
  118. package/footer/Footer.test.js +97 -0
  119. package/footer/Icons.d.ts +2 -0
  120. package/footer/Icons.js +77 -0
  121. package/footer/types.d.ts +66 -0
  122. package/footer/types.js +5 -0
  123. package/grid/Grid.d.ts +7 -0
  124. package/grid/Grid.js +91 -0
  125. package/grid/Grid.stories.tsx +219 -0
  126. package/grid/types.d.ts +46 -0
  127. package/grid/types.js +5 -0
  128. package/header/Header.d.ts +8 -0
  129. package/header/Header.js +303 -0
  130. package/header/Header.stories.tsx +315 -0
  131. package/header/Header.test.js +79 -0
  132. package/header/Icons.d.ts +2 -0
  133. package/header/Icons.js +34 -0
  134. package/header/types.d.ts +48 -0
  135. package/header/types.js +5 -0
  136. package/heading/Heading.d.ts +4 -0
  137. package/heading/Heading.js +159 -0
  138. package/heading/Heading.stories.tsx +54 -0
  139. package/heading/Heading.test.js +186 -0
  140. package/heading/types.d.ts +33 -0
  141. package/heading/types.js +5 -0
  142. package/inset/Inset.d.ts +3 -0
  143. package/inset/Inset.js +51 -0
  144. package/inset/Inset.stories.tsx +229 -0
  145. package/inset/types.d.ts +37 -0
  146. package/inset/types.js +5 -0
  147. package/layout/ApplicationLayout.d.ts +20 -0
  148. package/layout/ApplicationLayout.js +171 -0
  149. package/layout/ApplicationLayout.stories.tsx +162 -0
  150. package/layout/Icons.d.ts +5 -0
  151. package/layout/Icons.js +66 -0
  152. package/layout/SidenavContext.d.ts +5 -0
  153. package/layout/SidenavContext.js +19 -0
  154. package/layout/types.d.ts +42 -0
  155. package/layout/types.js +5 -0
  156. package/link/Link.d.ts +4 -0
  157. package/link/Link.js +136 -0
  158. package/link/Link.stories.tsx +253 -0
  159. package/link/Link.test.js +81 -0
  160. package/link/types.d.ts +54 -0
  161. package/link/types.js +5 -0
  162. package/main.d.ts +45 -0
  163. package/{dist/main.js → main.js} +157 -83
  164. package/nav-tabs/NavTabs.d.ts +8 -0
  165. package/nav-tabs/NavTabs.js +125 -0
  166. package/nav-tabs/NavTabs.stories.tsx +260 -0
  167. package/nav-tabs/NavTabs.test.js +82 -0
  168. package/nav-tabs/Tab.d.ts +4 -0
  169. package/nav-tabs/Tab.js +150 -0
  170. package/nav-tabs/types.d.ts +53 -0
  171. package/nav-tabs/types.js +5 -0
  172. package/number-input/NumberInput.d.ts +4 -0
  173. package/number-input/NumberInput.js +76 -0
  174. package/number-input/NumberInput.stories.tsx +115 -0
  175. package/number-input/NumberInput.test.js +542 -0
  176. package/number-input/NumberInputContext.d.ts +4 -0
  177. package/number-input/NumberInputContext.js +19 -0
  178. package/number-input/numberInputContextTypes.d.ts +19 -0
  179. package/number-input/numberInputContextTypes.js +5 -0
  180. package/number-input/types.d.ts +124 -0
  181. package/number-input/types.js +5 -0
  182. package/package.json +46 -38
  183. package/paginator/Icons.d.ts +5 -0
  184. package/paginator/Icons.js +54 -0
  185. package/paginator/Paginator.d.ts +4 -0
  186. package/paginator/Paginator.js +163 -0
  187. package/paginator/Paginator.stories.tsx +87 -0
  188. package/paginator/Paginator.test.js +305 -0
  189. package/paginator/types.d.ts +38 -0
  190. package/paginator/types.js +5 -0
  191. package/paragraph/Paragraph.d.ts +5 -0
  192. package/paragraph/Paragraph.js +38 -0
  193. package/paragraph/Paragraph.stories.tsx +44 -0
  194. package/password-input/PasswordInput.d.ts +4 -0
  195. package/password-input/PasswordInput.js +166 -0
  196. package/password-input/PasswordInput.stories.tsx +131 -0
  197. package/password-input/PasswordInput.test.js +181 -0
  198. package/password-input/types.d.ts +110 -0
  199. package/password-input/types.js +5 -0
  200. package/progress-bar/ProgressBar.d.ts +4 -0
  201. package/progress-bar/ProgressBar.js +176 -0
  202. package/progress-bar/ProgressBar.stories.jsx +93 -0
  203. package/progress-bar/ProgressBar.test.js +110 -0
  204. package/progress-bar/types.d.ts +37 -0
  205. package/progress-bar/types.js +5 -0
  206. package/quick-nav/QuickNav.d.ts +4 -0
  207. package/quick-nav/QuickNav.js +117 -0
  208. package/quick-nav/QuickNav.stories.tsx +356 -0
  209. package/quick-nav/types.d.ts +21 -0
  210. package/quick-nav/types.js +5 -0
  211. package/radio-group/Radio.d.ts +4 -0
  212. package/radio-group/Radio.js +156 -0
  213. package/radio-group/RadioGroup.d.ts +4 -0
  214. package/radio-group/RadioGroup.js +283 -0
  215. package/radio-group/RadioGroup.stories.tsx +214 -0
  216. package/radio-group/RadioGroup.test.js +722 -0
  217. package/radio-group/types.d.ts +114 -0
  218. package/radio-group/types.js +5 -0
  219. package/resultsetTable/Icons.d.ts +7 -0
  220. package/resultsetTable/Icons.js +51 -0
  221. package/resultsetTable/ResultsetTable.d.ts +4 -0
  222. package/resultsetTable/ResultsetTable.js +195 -0
  223. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  224. package/resultsetTable/ResultsetTable.test.js +325 -0
  225. package/resultsetTable/types.d.ts +67 -0
  226. package/resultsetTable/types.js +5 -0
  227. package/select/Icons.d.ts +10 -0
  228. package/select/Icons.js +93 -0
  229. package/select/Listbox.d.ts +4 -0
  230. package/select/Listbox.js +169 -0
  231. package/select/Option.d.ts +4 -0
  232. package/select/Option.js +97 -0
  233. package/select/Select.d.ts +4 -0
  234. package/select/Select.js +666 -0
  235. package/select/Select.stories.tsx +971 -0
  236. package/select/Select.test.js +2228 -0
  237. package/select/types.d.ts +210 -0
  238. package/select/types.js +5 -0
  239. package/sidenav/Sidenav.d.ts +10 -0
  240. package/sidenav/Sidenav.js +266 -0
  241. package/sidenav/Sidenav.stories.tsx +282 -0
  242. package/sidenav/Sidenav.test.js +44 -0
  243. package/sidenav/types.d.ts +73 -0
  244. package/sidenav/types.js +5 -0
  245. package/slider/Slider.d.ts +4 -0
  246. package/slider/Slider.js +342 -0
  247. package/slider/Slider.stories.tsx +240 -0
  248. package/slider/Slider.test.js +250 -0
  249. package/slider/types.d.ts +86 -0
  250. package/slider/types.js +5 -0
  251. package/spinner/Spinner.d.ts +4 -0
  252. package/spinner/Spinner.js +244 -0
  253. package/spinner/Spinner.stories.jsx +129 -0
  254. package/spinner/Spinner.test.js +64 -0
  255. package/spinner/types.d.ts +32 -0
  256. package/spinner/types.js +5 -0
  257. package/switch/Switch.d.ts +4 -0
  258. package/switch/Switch.js +262 -0
  259. package/switch/Switch.stories.tsx +171 -0
  260. package/switch/Switch.test.js +225 -0
  261. package/switch/types.d.ts +66 -0
  262. package/switch/types.js +5 -0
  263. package/table/Table.d.ts +4 -0
  264. package/table/Table.js +118 -0
  265. package/table/Table.stories.jsx +356 -0
  266. package/table/Table.test.js +26 -0
  267. package/table/types.d.ts +21 -0
  268. package/table/types.js +5 -0
  269. package/tabs/Tab.d.ts +4 -0
  270. package/tabs/Tab.js +133 -0
  271. package/tabs/Tabs.d.ts +4 -0
  272. package/tabs/Tabs.js +465 -0
  273. package/tabs/Tabs.stories.tsx +226 -0
  274. package/tabs/Tabs.test.js +350 -0
  275. package/tabs/types.d.ts +92 -0
  276. package/tabs/types.js +5 -0
  277. package/tag/Tag.d.ts +4 -0
  278. package/tag/Tag.js +181 -0
  279. package/tag/Tag.stories.tsx +155 -0
  280. package/tag/Tag.test.js +60 -0
  281. package/tag/types.d.ts +69 -0
  282. package/tag/types.js +5 -0
  283. package/text-input/Icons.d.ts +8 -0
  284. package/text-input/Icons.js +60 -0
  285. package/text-input/Suggestion.d.ts +4 -0
  286. package/text-input/Suggestion.js +84 -0
  287. package/text-input/Suggestions.d.ts +4 -0
  288. package/text-input/Suggestions.js +134 -0
  289. package/text-input/TextInput.d.ts +4 -0
  290. package/text-input/TextInput.js +673 -0
  291. package/text-input/TextInput.stories.tsx +569 -0
  292. package/text-input/TextInput.test.js +1723 -0
  293. package/text-input/types.d.ts +197 -0
  294. package/text-input/types.js +5 -0
  295. package/textarea/Textarea.d.ts +4 -0
  296. package/textarea/Textarea.js +277 -0
  297. package/textarea/Textarea.stories.jsx +216 -0
  298. package/textarea/Textarea.test.js +437 -0
  299. package/textarea/types.d.ts +137 -0
  300. package/textarea/types.js +5 -0
  301. package/toggle-group/ToggleGroup.d.ts +4 -0
  302. package/toggle-group/ToggleGroup.js +218 -0
  303. package/toggle-group/ToggleGroup.stories.tsx +215 -0
  304. package/toggle-group/ToggleGroup.test.js +156 -0
  305. package/toggle-group/types.d.ts +105 -0
  306. package/toggle-group/types.js +5 -0
  307. package/typography/Typography.d.ts +4 -0
  308. package/typography/Typography.js +32 -0
  309. package/typography/Typography.stories.tsx +198 -0
  310. package/typography/types.d.ts +18 -0
  311. package/typography/types.js +5 -0
  312. package/useTheme.d.ts +1235 -0
  313. package/{dist/useTheme.js → useTheme.js} +3 -3
  314. package/useTranslatedLabels.d.ts +85 -0
  315. package/useTranslatedLabels.js +20 -0
  316. package/utils/BaseTypography.d.ts +21 -0
  317. package/utils/BaseTypography.js +108 -0
  318. package/utils/FocusLock.d.ts +13 -0
  319. package/utils/FocusLock.js +139 -0
  320. package/wizard/Wizard.d.ts +4 -0
  321. package/wizard/Wizard.js +285 -0
  322. package/wizard/Wizard.stories.tsx +253 -0
  323. package/wizard/Wizard.test.js +141 -0
  324. package/wizard/types.d.ts +64 -0
  325. package/wizard/types.js +5 -0
  326. package/README.md +0 -66
  327. package/babel.config.js +0 -8
  328. package/dist/ThemeContext.js +0 -185
  329. package/dist/accordion/Accordion.js +0 -286
  330. package/dist/accordion/Accordion.stories.js +0 -207
  331. package/dist/accordion/readme.md +0 -96
  332. package/dist/accordion-group/AccordionGroup.js +0 -156
  333. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  334. package/dist/accordion-group/readme.md +0 -70
  335. package/dist/alert/Alert.js +0 -316
  336. package/dist/alert/Alert.stories.js +0 -158
  337. package/dist/alert/close.svg +0 -4
  338. package/dist/alert/error.svg +0 -4
  339. package/dist/alert/info.svg +0 -4
  340. package/dist/alert/readme.md +0 -43
  341. package/dist/alert/success.svg +0 -4
  342. package/dist/alert/warning.svg +0 -4
  343. package/dist/badge/Badge.js +0 -42
  344. package/dist/box/Box.js +0 -149
  345. package/dist/button/Button.js +0 -221
  346. package/dist/button/Button.stories.js +0 -224
  347. package/dist/button/readme.md +0 -93
  348. package/dist/card/Card.js +0 -247
  349. package/dist/checkbox/Checkbox.js +0 -235
  350. package/dist/checkbox/Checkbox.stories.js +0 -144
  351. package/dist/checkbox/readme.md +0 -116
  352. package/dist/chip/Chip.js +0 -225
  353. package/dist/common/RequiredComponent.js +0 -40
  354. package/dist/common/services/example-service.js +0 -10
  355. package/dist/common/services/example-service.test.js +0 -12
  356. package/dist/common/utils.js +0 -42
  357. package/dist/common/variables.js +0 -522
  358. package/dist/date/Date.js +0 -359
  359. package/dist/date/Date.stories.js +0 -205
  360. package/dist/date/calendar.svg +0 -1
  361. package/dist/date/calendar_dark.svg +0 -1
  362. package/dist/date/readme.md +0 -73
  363. package/dist/dialog/Dialog.js +0 -205
  364. package/dist/dialog/Dialog.stories.js +0 -217
  365. package/dist/dialog/readme.md +0 -32
  366. package/dist/dropdown/Dropdown.js +0 -458
  367. package/dist/dropdown/Dropdown.stories.js +0 -249
  368. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  369. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  370. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  371. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  372. package/dist/dropdown/readme.md +0 -69
  373. package/dist/footer/Footer.js +0 -381
  374. package/dist/footer/Footer.stories.js +0 -94
  375. package/dist/footer/dxc_logo_wht.png +0 -0
  376. package/dist/footer/readme.md +0 -41
  377. package/dist/header/Header.js +0 -385
  378. package/dist/header/Header.stories.js +0 -176
  379. package/dist/header/close_icon.svg +0 -1
  380. package/dist/header/dxc_logo_black.png +0 -0
  381. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  382. package/dist/header/dxc_logo_white.png +0 -0
  383. package/dist/header/hamb_menu_black.svg +0 -1
  384. package/dist/header/hamb_menu_white.svg +0 -1
  385. package/dist/header/readme.md +0 -33
  386. package/dist/heading/Heading.js +0 -165
  387. package/dist/input-text/InputText.js +0 -599
  388. package/dist/input-text/InputText.stories.js +0 -209
  389. package/dist/input-text/error.svg +0 -1
  390. package/dist/input-text/readme.md +0 -91
  391. package/dist/layout/ApplicationLayout.js +0 -331
  392. package/dist/layout/facebook.svg +0 -45
  393. package/dist/layout/linkedin.svg +0 -50
  394. package/dist/layout/twitter.svg +0 -53
  395. package/dist/link/Link.js +0 -201
  396. package/dist/link/readme.md +0 -51
  397. package/dist/paginator/Paginator.js +0 -263
  398. package/dist/paginator/images/next.svg +0 -3
  399. package/dist/paginator/images/nextPage.svg +0 -3
  400. package/dist/paginator/images/previous.svg +0 -3
  401. package/dist/paginator/images/previousPage.svg +0 -3
  402. package/dist/paginator/readme.md +0 -50
  403. package/dist/progress-bar/ProgressBar.js +0 -194
  404. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  405. package/dist/progress-bar/readme.md +0 -63
  406. package/dist/radio/Radio.js +0 -192
  407. package/dist/radio/Radio.stories.js +0 -166
  408. package/dist/radio/readme.md +0 -70
  409. package/dist/resultsetTable/ResultsetTable.js +0 -333
  410. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  411. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  412. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  413. package/dist/select/Select.js +0 -492
  414. package/dist/select/Select.stories.js +0 -235
  415. package/dist/select/readme.md +0 -72
  416. package/dist/sidenav/Sidenav.js +0 -157
  417. package/dist/slider/Slider.js +0 -269
  418. package/dist/slider/Slider.stories.js +0 -241
  419. package/dist/slider/readme.md +0 -64
  420. package/dist/spinner/Spinner.js +0 -200
  421. package/dist/spinner/Spinner.stories.js +0 -183
  422. package/dist/spinner/readme.md +0 -65
  423. package/dist/switch/Switch.js +0 -196
  424. package/dist/switch/Switch.stories.js +0 -134
  425. package/dist/switch/readme.md +0 -133
  426. package/dist/table/Table.js +0 -100
  427. package/dist/tabs/Tabs.js +0 -327
  428. package/dist/tabs/Tabs.stories.js +0 -130
  429. package/dist/tabs/readme.md +0 -78
  430. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  431. package/dist/tabs-for-sections/readme.md +0 -78
  432. package/dist/tag/Tag.js +0 -268
  433. package/dist/textarea/Textarea.js +0 -240
  434. package/dist/toggle/Toggle.js +0 -222
  435. package/dist/toggle/Toggle.stories.js +0 -297
  436. package/dist/toggle/readme.md +0 -80
  437. package/dist/toggle-group/ToggleGroup.js +0 -225
  438. package/dist/toggle-group/readme.md +0 -82
  439. package/dist/upload/Upload.js +0 -211
  440. package/dist/upload/Upload.stories.js +0 -72
  441. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -125
  442. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  443. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  444. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -295
  445. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  446. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  447. package/dist/upload/file-upload/FileToUpload.js +0 -164
  448. package/dist/upload/file-upload/audio-icon.svg +0 -4
  449. package/dist/upload/file-upload/close.svg +0 -4
  450. package/dist/upload/file-upload/file-icon.svg +0 -4
  451. package/dist/upload/file-upload/video-icon.svg +0 -4
  452. package/dist/upload/files-upload/FilesToUpload.js +0 -125
  453. package/dist/upload/readme.md +0 -37
  454. package/dist/upload/transaction/Transaction.js +0 -154
  455. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  456. package/dist/upload/transaction/audio-icon.svg +0 -4
  457. package/dist/upload/transaction/error-icon.svg +0 -4
  458. package/dist/upload/transaction/file-icon-err.svg +0 -4
  459. package/dist/upload/transaction/file-icon.svg +0 -4
  460. package/dist/upload/transaction/image-icon-err.svg +0 -4
  461. package/dist/upload/transaction/image-icon.svg +0 -4
  462. package/dist/upload/transaction/success-icon.svg +0 -4
  463. package/dist/upload/transaction/video-icon-err.svg +0 -4
  464. package/dist/upload/transaction/video-icon.svg +0 -4
  465. package/dist/upload/transactions/Transactions.js +0 -124
  466. package/dist/wizard/Wizard.js +0 -357
  467. package/dist/wizard/invalid_icon.svg +0 -6
  468. package/dist/wizard/valid_icon.svg +0 -6
  469. package/dist/wizard/validation-wrong.svg +0 -6
  470. package/test/Accordion.test.js +0 -33
  471. package/test/AccordionGroup.test.js +0 -109
  472. package/test/Alert.test.js +0 -53
  473. package/test/Box.test.js +0 -10
  474. package/test/Button.test.js +0 -18
  475. package/test/Card.test.js +0 -30
  476. package/test/Checkbox.test.js +0 -45
  477. package/test/Chip.test.js +0 -25
  478. package/test/Date.test.js +0 -393
  479. package/test/Dialog.test.js +0 -23
  480. package/test/Dropdown.test.js +0 -130
  481. package/test/Footer.test.js +0 -99
  482. package/test/Header.test.js +0 -39
  483. package/test/Heading.test.js +0 -35
  484. package/test/InputText.test.js +0 -240
  485. package/test/Link.test.js +0 -42
  486. package/test/Paginator.test.js +0 -177
  487. package/test/ProgressBar.test.js +0 -35
  488. package/test/Radio.test.js +0 -37
  489. package/test/ResultsetTable.test.js +0 -330
  490. package/test/Select.test.js +0 -192
  491. package/test/Sidenav.test.js +0 -45
  492. package/test/Slider.test.js +0 -82
  493. package/test/Spinner.test.js +0 -27
  494. package/test/Switch.test.js +0 -45
  495. package/test/Table.test.js +0 -36
  496. package/test/Tabs.test.js +0 -109
  497. package/test/TabsForSections.test.js +0 -34
  498. package/test/Tag.test.js +0 -32
  499. package/test/TextArea.test.js +0 -52
  500. package/test/ToggleGroup.test.js +0 -81
  501. package/test/Upload.test.js +0 -60
  502. package/test/Wizard.test.js +0 -130
  503. package/test/mocks/pngMock.js +0 -1
  504. package/test/mocks/svgMock.js +0 -1
  505. /package/{dist/common → common}/OpenSans.css +0 -0
  506. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  507. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  508. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  509. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  510. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  511. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  512. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  513. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  514. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  515. /package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
package/tag/Tag.js ADDED
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
+
22
+ var _variables = require("../common/variables");
23
+
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
25
+
26
+ var _utils = require("../common/utils");
27
+
28
+ var _Box = _interopRequireDefault(require("../box/Box"));
29
+
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
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
+
36
+ var DxcTag = function DxcTag(_ref) {
37
+ var icon = _ref.icon,
38
+ _ref$label = _ref.label,
39
+ label = _ref$label === void 0 ? "" : _ref$label,
40
+ linkHref = _ref.linkHref,
41
+ onClick = _ref.onClick,
42
+ _ref$iconBgColor = _ref.iconBgColor,
43
+ iconBgColor = _ref$iconBgColor === void 0 ? "#5f249f" : _ref$iconBgColor,
44
+ _ref$labelPosition = _ref.labelPosition,
45
+ labelPosition = _ref$labelPosition === void 0 ? "after" : _ref$labelPosition,
46
+ _ref$newWindow = _ref.newWindow,
47
+ newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
48
+ margin = _ref.margin,
49
+ _ref$size = _ref.size,
50
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
51
+ _ref$tabIndex = _ref.tabIndex,
52
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
53
+ var colorsTheme = (0, _useTheme["default"])();
54
+
55
+ var _useState = (0, _react.useState)(false),
56
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
57
+ isHovered = _useState2[0],
58
+ changeIsHovered = _useState2[1];
59
+
60
+ var clickHandler = function clickHandler() {
61
+ onClick && onClick();
62
+ };
63
+
64
+ var tagContent = /*#__PURE__*/_react["default"].createElement(_Box["default"], {
65
+ size: size,
66
+ shadowDepth: isHovered && (onClick || linkHref) && 2 || 1
67
+ }, /*#__PURE__*/_react["default"].createElement(TagContent, null, labelPosition === "before" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
68
+ iconBgColor: iconBgColor
69
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(TagIcon, {
70
+ src: icon
71
+ }) : icon), labelPosition === "after" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
72
+
73
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
74
+ theme: colorsTheme.tag
75
+ }, /*#__PURE__*/_react["default"].createElement(StyledDxcTag, {
76
+ margin: margin,
77
+ size: size,
78
+ onMouseEnter: function onMouseEnter() {
79
+ return changeIsHovered(true);
80
+ },
81
+ onMouseLeave: function onMouseLeave() {
82
+ return changeIsHovered(false);
83
+ },
84
+ onClick: clickHandler,
85
+ hasAction: onClick || linkHref
86
+ }, onClick ? /*#__PURE__*/_react["default"].createElement(StyledButton, {
87
+ tabIndex: tabIndex
88
+ }, tagContent) : linkHref ? /*#__PURE__*/_react["default"].createElement(StyledLink, {
89
+ tabIndex: tabIndex,
90
+ href: linkHref,
91
+ target: newWindow ? "_blank" : "_self"
92
+ }, tagContent) : tagContent));
93
+ };
94
+
95
+ var sizes = {
96
+ small: "42px",
97
+ medium: "240px",
98
+ large: "480px",
99
+ fillParent: "100%",
100
+ fitContent: "fit-content"
101
+ };
102
+
103
+ var calculateWidth = function calculateWidth(margin, size) {
104
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
105
+ };
106
+
107
+ 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) {
108
+ var hasAction = _ref2.hasAction;
109
+ return hasAction && "pointer" || "unset";
110
+ }, function (_ref3) {
111
+ var margin = _ref3.margin;
112
+ return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
113
+ }, function (_ref4) {
114
+ var margin = _ref4.margin;
115
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
116
+ }, function (_ref5) {
117
+ var margin = _ref5.margin;
118
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
119
+ }, function (_ref6) {
120
+ var margin = _ref6.margin;
121
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
122
+ }, function (_ref7) {
123
+ var margin = _ref7.margin;
124
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
125
+ }, function (props) {
126
+ return calculateWidth(props.margin, props.size);
127
+ }, function (props) {
128
+ return props.theme.height;
129
+ });
130
+
131
+ 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) {
132
+ return props.theme.height;
133
+ });
134
+
135
+ 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) {
136
+ return props.theme.focusColor;
137
+ });
138
+
139
+ 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) {
140
+ return props.theme.focusColor;
141
+ });
142
+
143
+ 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) {
144
+ var iconBgColor = _ref8.iconBgColor;
145
+ return iconBgColor;
146
+ }, function (props) {
147
+ return props.theme.iconSectionWidth;
148
+ }, function (props) {
149
+ return props.theme.iconColor;
150
+ }, function (props) {
151
+ return props.theme.iconSectionWidth;
152
+ }, function (props) {
153
+ return props.theme.iconWidth;
154
+ }, function (props) {
155
+ return props.theme.iconHeight;
156
+ });
157
+
158
+ var TagIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
159
+
160
+ 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) {
161
+ return props.theme.fontFamily;
162
+ }, function (props) {
163
+ return props.theme.fontSize;
164
+ }, function (props) {
165
+ return props.theme.fontStyle;
166
+ }, function (props) {
167
+ return props.theme.fontWeight;
168
+ }, function (props) {
169
+ return props.theme.fontColor;
170
+ }, function (props) {
171
+ return props.theme.labelPaddingTop;
172
+ }, function (props) {
173
+ return props.theme.labelPaddingBottom;
174
+ }, function (props) {
175
+ return props.theme.labelPaddingLeft;
176
+ }, function (props) {
177
+ return props.theme.labelPaddingRight;
178
+ });
179
+
180
+ var _default = DxcTag;
181
+ exports["default"] = _default;
@@ -0,0 +1,155 @@
1
+ import React from "react";
2
+ import { userEvent, within } from "@storybook/testing-library";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import DxcTag from "./Tag";
6
+ import { HalstackProvider } from "../HalstackContext";
7
+
8
+ export default {
9
+ title: "Tag",
10
+ component: DxcTag,
11
+ };
12
+
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
+ },
32
+ };
33
+
34
+ export const Chromatic = () => (
35
+ <>
36
+ <ExampleContainer>
37
+ <Title title="With icon" theme="light" level={4} />
38
+ <DxcTag icon={icon} />
39
+ </ExampleContainer>
40
+ <ExampleContainer>
41
+ <Title title="With large icon" theme="light" level={4} />
42
+ <DxcTag icon={largeIcon} />
43
+ </ExampleContainer>
44
+ <ExampleContainer>
45
+ <Title title="With label" theme="light" level={4} />
46
+ <DxcTag label="Tag" />
47
+ </ExampleContainer>
48
+ <ExampleContainer>
49
+ <Title title="With label and icon" theme="light" level={4} />
50
+ <DxcTag
51
+ label="Tag"
52
+ icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
53
+ />
54
+ </ExampleContainer>
55
+ <ExampleContainer>
56
+ <Title title="With right icon" theme="light" level={4} />
57
+ <DxcTag label="Tag" icon={icon} labelPosition="before" />
58
+ </ExampleContainer>
59
+ <ExampleContainer>
60
+ <Title title="Icon background color" theme="light" level={4} />
61
+ <DxcTag label="Tag" icon={icon} iconBgColor="#fabada" />
62
+ </ExampleContainer>
63
+ <ExampleContainer pseudoState="pseudo-focus">
64
+ <Title title="With link focused" theme="light" level={4} />
65
+ <DxcTag icon={icon} label="Tag" linkHref="https://www.dxc.com" />
66
+ </ExampleContainer>
67
+ <ExampleContainer pseudoState="pseudo-focus">
68
+ <Title title="With action focused" theme="light" level={4} />
69
+ <DxcTag
70
+ icon={icon}
71
+ label="Tag"
72
+ onClick={() => {
73
+ console.log("click");
74
+ }}
75
+ />
76
+ </ExampleContainer>
77
+ <Title title="Margins" theme="light" level={2} />
78
+ <ExampleContainer>
79
+ <Title title="Xxsmall margin" theme="light" level={4} />
80
+ <DxcTag label="Xxsmall" margin="xxsmall" />
81
+ </ExampleContainer>
82
+ <ExampleContainer>
83
+ <Title title="Xsmall margin" theme="light" level={4} />
84
+ <DxcTag label="Xsmall" margin="xsmall" />
85
+ </ExampleContainer>
86
+ <ExampleContainer>
87
+ <Title title="Small margin" theme="light" level={4} />
88
+ <DxcTag label="Small" margin="small" />
89
+ </ExampleContainer>
90
+ <ExampleContainer>
91
+ <Title title="Medium margin" theme="light" level={4} />
92
+ <DxcTag label="Medium" margin="medium" />
93
+ </ExampleContainer>
94
+ <ExampleContainer>
95
+ <Title title="Large margin" theme="light" level={4} />
96
+ <DxcTag label="Large" margin="large" />
97
+ </ExampleContainer>
98
+ <ExampleContainer>
99
+ <Title title="Xlarge margin" theme="light" level={4} />
100
+ <DxcTag label="Xlarge" margin="xlarge" />
101
+ </ExampleContainer>
102
+ <ExampleContainer>
103
+ <Title title="Xxlarge margin" theme="light" level={4} />
104
+ <DxcTag label="Xxlarge" margin="xxlarge" />
105
+ </ExampleContainer>
106
+ <Title title="Sizes" theme="light" level={2} />
107
+ <ExampleContainer>
108
+ <Title title="Small size" theme="light" level={4} />
109
+ <DxcTag label="Small" size="small" icon={icon} />
110
+ </ExampleContainer>
111
+ <ExampleContainer>
112
+ <Title title="Medium size" theme="light" level={4} />
113
+ <DxcTag label="Medium size medium s" size="medium" icon={icon} />
114
+ </ExampleContainer>
115
+ <ExampleContainer>
116
+ <Title title="Medium size with ellipsis" theme="light" level={4} />
117
+ <DxcTag label="Medium size medium si medium" size="medium" icon={icon} />
118
+ </ExampleContainer>
119
+ <ExampleContainer>
120
+ <Title title="Large size" theme="light" level={4} />
121
+ <DxcTag label="Large size large size large size large size large size" size="large" icon={icon} />
122
+ </ExampleContainer>
123
+ <ExampleContainer>
124
+ <Title title="Large size with ellipsis" theme="light" level={4} />
125
+ <DxcTag label="Large size large size large size large size large size large size" size="large" icon={icon} />
126
+ </ExampleContainer>
127
+ <ExampleContainer>
128
+ <Title title="FillParent size" theme="light" level={4} />
129
+ <DxcTag label="FillParent" size="fillParent" icon={icon} />
130
+ </ExampleContainer>
131
+ <ExampleContainer>
132
+ <Title title="FitContent size" theme="light" level={4} />
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>
140
+ </ExampleContainer>
141
+ </>
142
+ );
143
+
144
+ const LinkTag = () => (
145
+ <ExampleContainer expanded>
146
+ <Title title="Hover link tag" theme="light" level={4} />
147
+ <DxcTag label="Tag" icon={icon} linkHref="https://www.dxc.com" />
148
+ </ExampleContainer>
149
+ );
150
+
151
+ export const HoverLinkTag = LinkTag.bind({});
152
+ HoverLinkTag.play = async ({ canvasElement }) => {
153
+ const canvas = within(canvasElement);
154
+ await userEvent.hover(canvas.getByText("Tag"));
155
+ };
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Tag = _interopRequireDefault(require("./Tag.tsx"));
10
+
11
+ describe("Tag component tests", function () {
12
+ test("Tag renders with correct label", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
14
+ label: "tag-test"
15
+ })),
16
+ getByText = _render.getByText;
17
+
18
+ expect(getByText("tag-test")).toBeTruthy();
19
+ });
20
+ test("Tag renders with correct label before", function () {
21
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
22
+ label: "tag-test",
23
+ labelPosition: "before"
24
+ })),
25
+ getByText = _render2.getByText;
26
+
27
+ expect(getByText("tag-test")).toBeTruthy();
28
+ });
29
+ test("Tag renders with correct icon", function () {
30
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
31
+ label: "tag-test",
32
+ icon: "/test-icon.jpg"
33
+ })),
34
+ getByRole = _render3.getByRole;
35
+
36
+ expect(getByRole("img").getAttribute("src")).toBe("/test-icon.jpg");
37
+ });
38
+ test("Tag renders with link href", function () {
39
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
40
+ label: "tag-test",
41
+ linkHref: "/test/page"
42
+ })),
43
+ getByRole = _render4.getByRole;
44
+
45
+ expect(getByRole("link").getAttribute("href")).toBe("/test/page");
46
+ });
47
+ test("Call correct function on click", function () {
48
+ var onClick = jest.fn();
49
+
50
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
51
+ label: "tag-test",
52
+ onClick: onClick
53
+ })),
54
+ getByText = _render5.getByText;
55
+
56
+ _react2.fireEvent.click(getByText("tag-test"));
57
+
58
+ expect(onClick).toHaveBeenCalled();
59
+ });
60
+ });
package/tag/types.d.ts ADDED
@@ -0,0 +1,69 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ declare type TagCommonProps = {
11
+ /**
12
+ * If defined, the tag will be displayed as an anchor, using this prop as "href".
13
+ * Component will show some visual feedback on hover.
14
+ */
15
+ linkHref?: string;
16
+ /**
17
+ * If defined, the tag will be displayed as a button. This function will
18
+ * be called when the user clicks the tag. Component will show some
19
+ * visual feedback on hover.
20
+ */
21
+ onClick?: () => void;
22
+ /**
23
+ * Background color of the icon section of the tag.
24
+ */
25
+ iconBgColor?: string;
26
+ /**
27
+ * Whether the label should appear after or before the icon.
28
+ */
29
+ labelPosition?: "before" | "after";
30
+ /**
31
+ * If true, the page is opened in a new browser tab.
32
+ */
33
+ newWindow?: boolean;
34
+ /**
35
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
36
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
37
+ */
38
+ margin?: Space | Margin;
39
+ /**
40
+ * Size of the component.
41
+ */
42
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
43
+ /**
44
+ * Value of the tabindex attribute.
45
+ */
46
+ tabIndex?: number;
47
+ };
48
+ declare 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
+ declare 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
+ declare type Props = TagLabelProps | TagIconProps;
69
+ export default Props;
package/tag/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ declare const icons: {
3
+ error: JSX.Element;
4
+ clear: JSX.Element;
5
+ increment: JSX.Element;
6
+ decrement: JSX.Element;
7
+ };
8
+ export default icons;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var icons = {
13
+ error: /*#__PURE__*/_react["default"].createElement("svg", {
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ height: "24px",
16
+ viewBox: "0 0 24 24",
17
+ width: "24px",
18
+ fill: "currentColor"
19
+ }, /*#__PURE__*/_react["default"].createElement("path", {
20
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
21
+ })),
22
+ clear: /*#__PURE__*/_react["default"].createElement("svg", {
23
+ xmlns: "http://www.w3.org/2000/svg",
24
+ width: "24",
25
+ height: "24",
26
+ viewBox: "0 0 24 24",
27
+ fill: "currentColor"
28
+ }, /*#__PURE__*/_react["default"].createElement("path", {
29
+ d: "M0 0h24v24H0V0z",
30
+ fill: "none"
31
+ }), /*#__PURE__*/_react["default"].createElement("path", {
32
+ d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
33
+ })),
34
+ increment: /*#__PURE__*/_react["default"].createElement("svg", {
35
+ xmlns: "http://www.w3.org/2000/svg",
36
+ height: "24px",
37
+ viewBox: "0 0 24 24",
38
+ width: "24px",
39
+ fill: "currentColor"
40
+ }, /*#__PURE__*/_react["default"].createElement("path", {
41
+ d: "M0 0h24v24H0z",
42
+ fill: "none"
43
+ }), /*#__PURE__*/_react["default"].createElement("path", {
44
+ d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
45
+ })),
46
+ decrement: /*#__PURE__*/_react["default"].createElement("svg", {
47
+ xmlns: "http://www.w3.org/2000/svg",
48
+ height: "24px",
49
+ viewBox: "0 0 24 24",
50
+ width: "24px",
51
+ fill: "currentColor"
52
+ }, /*#__PURE__*/_react["default"].createElement("path", {
53
+ d: "M0 0h24v24H0z",
54
+ fill: "none"
55
+ }), /*#__PURE__*/_react["default"].createElement("path", {
56
+ d: "M19 13H5v-2h14v2z"
57
+ }))
58
+ };
59
+ var _default = icons;
60
+ exports["default"] = _default;
@@ -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,84 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
17
+
18
+ var _templateObject, _templateObject2;
19
+
20
+ 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); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
23
+
24
+ var transformSpecialChars = function transformSpecialChars(str) {
25
+ var specialCharsRegex = /[\\*()\[\]{}+?/]/;
26
+ var value = str;
27
+
28
+ if (specialCharsRegex.test(value)) {
29
+ var regexAsString = specialCharsRegex.toString().split("");
30
+ var uniqueSpecialChars = regexAsString.filter(function (item, index) {
31
+ return regexAsString.indexOf(item) === index;
32
+ });
33
+ uniqueSpecialChars.forEach(function (specialChar) {
34
+ if (str.includes(specialChar)) value = value.replace(specialChar, "\\" + specialChar);
35
+ });
36
+ }
37
+
38
+ return value;
39
+ };
40
+
41
+ var Suggestion = function Suggestion(_ref) {
42
+ var id = _ref.id,
43
+ value = _ref.value,
44
+ _onClick = _ref.onClick,
45
+ suggestion = _ref.suggestion,
46
+ isLast = _ref.isLast,
47
+ visuallyFocused = _ref.visuallyFocused,
48
+ highlighted = _ref.highlighted;
49
+ var matchedSuggestion = (0, _react.useMemo)(function () {
50
+ var regEx = new RegExp(transformSpecialChars(value), "i");
51
+ return {
52
+ matchedWords: suggestion.match(regEx),
53
+ noMatchedWords: suggestion.replace(regEx, "")
54
+ };
55
+ }, [value, suggestion]);
56
+ return /*#__PURE__*/_react["default"].createElement(SuggestionContainer, {
57
+ id: id,
58
+ onClick: function onClick() {
59
+ _onClick(suggestion);
60
+ },
61
+ visuallyFocused: visuallyFocused,
62
+ role: "option",
63
+ "aria-selected": visuallyFocused ? true : undefined
64
+ }, /*#__PURE__*/_react["default"].createElement(StyledSuggestion, {
65
+ isLast: isLast,
66
+ visuallyFocused: visuallyFocused
67
+ }, highlighted ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("strong", null, matchedSuggestion.matchedWords), matchedSuggestion.noMatchedWords) : suggestion));
68
+ };
69
+
70
+ 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) {
71
+ return props.visuallyFocused ? props.theme.focusListOptionBorderColor : "transparent";
72
+ }, function (props) {
73
+ return props.theme.hoverListOptionBackgroundColor;
74
+ }, function (props) {
75
+ return props.theme.activeListOptionBackgroundColor;
76
+ });
77
+
78
+ 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) {
79
+ return props.isLast || props.visuallyFocused ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
80
+ });
81
+
82
+ var _default = /*#__PURE__*/_react["default"].memo(Suggestion);
83
+
84
+ exports["default"] = _default;
@@ -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, getTextInputWidth, }: SuggestionsProps) => JSX.Element>;
4
+ export default _default;