@dxc-technology/halstack-react 0.0.0-38e128d → 0.0.0-397893c

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 (531) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1235 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +28 -47
  6. package/accordion/Accordion.d.ts +4 -0
  7. package/accordion/Accordion.js +182 -0
  8. package/accordion/Accordion.stories.tsx +283 -0
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +57 -0
  11. package/accordion/types.js +5 -0
  12. package/accordion-group/AccordionGroup.d.ts +8 -0
  13. package/accordion-group/AccordionGroup.js +101 -0
  14. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  15. package/accordion-group/AccordionGroup.test.js +98 -0
  16. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  17. package/accordion-group/AccordionGroupAccordion.js +31 -0
  18. package/accordion-group/types.d.ts +67 -0
  19. package/accordion-group/types.js +5 -0
  20. package/action-icon/ActionIcon.d.ts +4 -0
  21. package/action-icon/ActionIcon.js +47 -0
  22. package/action-icon/ActionIcon.stories.tsx +41 -0
  23. package/action-icon/ActionIcon.test.js +64 -0
  24. package/action-icon/types.d.ts +26 -0
  25. package/action-icon/types.js +5 -0
  26. package/alert/Alert.d.ts +4 -0
  27. package/alert/Alert.js +254 -0
  28. package/alert/Alert.stories.tsx +198 -0
  29. package/alert/Alert.test.js +75 -0
  30. package/alert/types.d.ts +49 -0
  31. package/alert/types.js +5 -0
  32. package/badge/Badge.d.ts +4 -0
  33. package/badge/Badge.js +48 -0
  34. package/badge/types.d.ts +5 -0
  35. package/badge/types.js +5 -0
  36. package/bleed/Bleed.d.ts +3 -0
  37. package/bleed/Bleed.js +43 -0
  38. package/bleed/Bleed.stories.tsx +342 -0
  39. package/bleed/types.d.ts +37 -0
  40. package/bleed/types.js +5 -0
  41. package/box/Box.d.ts +4 -0
  42. package/box/Box.js +75 -0
  43. package/box/Box.stories.tsx +119 -0
  44. package/box/Box.test.js +13 -0
  45. package/box/types.d.ts +32 -0
  46. package/box/types.js +5 -0
  47. package/bulleted-list/BulletedList.d.ts +7 -0
  48. package/bulleted-list/BulletedList.js +89 -0
  49. package/bulleted-list/BulletedList.stories.tsx +115 -0
  50. package/bulleted-list/types.d.ts +38 -0
  51. package/bulleted-list/types.js +5 -0
  52. package/button/Button.d.ts +4 -0
  53. package/button/Button.js +120 -0
  54. package/button/Button.stories.tsx +344 -0
  55. package/button/Button.test.js +38 -0
  56. package/button/types.d.ts +57 -0
  57. package/button/types.js +5 -0
  58. package/card/Card.d.ts +4 -0
  59. package/card/Card.js +120 -0
  60. package/card/Card.stories.tsx +171 -0
  61. package/card/Card.test.js +39 -0
  62. package/card/types.d.ts +62 -0
  63. package/card/types.js +5 -0
  64. package/checkbox/Checkbox.d.ts +4 -0
  65. package/checkbox/Checkbox.js +215 -0
  66. package/checkbox/Checkbox.stories.tsx +222 -0
  67. package/checkbox/Checkbox.test.js +199 -0
  68. package/checkbox/types.d.ts +72 -0
  69. package/checkbox/types.js +5 -0
  70. package/chip/Chip.d.ts +4 -0
  71. package/chip/Chip.js +121 -0
  72. package/chip/Chip.stories.tsx +214 -0
  73. package/chip/Chip.test.js +41 -0
  74. package/chip/types.d.ts +45 -0
  75. package/chip/types.js +5 -0
  76. package/common/OpenSans.css +69 -0
  77. package/common/coreTokens.d.ts +237 -0
  78. package/common/coreTokens.js +184 -0
  79. package/common/utils.d.ts +1 -0
  80. package/{dist/common → common}/utils.js +6 -12
  81. package/common/variables.d.ts +1381 -0
  82. package/common/variables.js +1253 -0
  83. package/container/Container.d.ts +4 -0
  84. package/container/Container.js +194 -0
  85. package/container/Container.stories.tsx +214 -0
  86. package/container/types.d.ts +74 -0
  87. package/container/types.js +5 -0
  88. package/date-input/Calendar.d.ts +4 -0
  89. package/date-input/Calendar.js +214 -0
  90. package/date-input/DateInput.d.ts +4 -0
  91. package/date-input/DateInput.js +223 -0
  92. package/date-input/DateInput.stories.tsx +285 -0
  93. package/date-input/DateInput.test.js +808 -0
  94. package/date-input/DatePicker.d.ts +4 -0
  95. package/date-input/DatePicker.js +115 -0
  96. package/date-input/Icons.d.ts +6 -0
  97. package/date-input/Icons.js +58 -0
  98. package/date-input/YearPicker.d.ts +4 -0
  99. package/date-input/YearPicker.js +100 -0
  100. package/date-input/types.d.ts +164 -0
  101. package/date-input/types.js +5 -0
  102. package/dialog/Dialog.d.ts +4 -0
  103. package/dialog/Dialog.js +104 -0
  104. package/dialog/Dialog.stories.tsx +365 -0
  105. package/dialog/Dialog.test.js +307 -0
  106. package/dialog/types.d.ts +36 -0
  107. package/dialog/types.js +5 -0
  108. package/dropdown/Dropdown.d.ts +4 -0
  109. package/dropdown/Dropdown.js +334 -0
  110. package/dropdown/Dropdown.stories.tsx +438 -0
  111. package/dropdown/Dropdown.test.js +599 -0
  112. package/dropdown/DropdownMenu.d.ts +4 -0
  113. package/dropdown/DropdownMenu.js +63 -0
  114. package/dropdown/DropdownMenuItem.d.ts +4 -0
  115. package/dropdown/DropdownMenuItem.js +67 -0
  116. package/dropdown/types.d.ts +98 -0
  117. package/dropdown/types.js +5 -0
  118. package/file-input/FileInput.d.ts +4 -0
  119. package/file-input/FileInput.js +479 -0
  120. package/file-input/FileInput.stories.tsx +618 -0
  121. package/file-input/FileInput.test.js +459 -0
  122. package/file-input/FileItem.d.ts +4 -0
  123. package/file-input/FileItem.js +135 -0
  124. package/file-input/types.d.ts +129 -0
  125. package/file-input/types.js +5 -0
  126. package/flex/Flex.d.ts +4 -0
  127. package/flex/Flex.js +57 -0
  128. package/flex/Flex.stories.tsx +112 -0
  129. package/flex/types.d.ts +97 -0
  130. package/flex/types.js +5 -0
  131. package/footer/Footer.d.ts +4 -0
  132. package/footer/Footer.js +138 -0
  133. package/footer/Footer.stories.tsx +171 -0
  134. package/footer/Footer.test.js +85 -0
  135. package/footer/Icons.d.ts +3 -0
  136. package/footer/Icons.js +136 -0
  137. package/footer/types.d.ts +64 -0
  138. package/footer/types.js +5 -0
  139. package/grid/Grid.d.ts +7 -0
  140. package/grid/Grid.js +76 -0
  141. package/grid/Grid.stories.tsx +219 -0
  142. package/grid/types.d.ts +115 -0
  143. package/grid/types.js +5 -0
  144. package/header/Header.d.ts +8 -0
  145. package/header/Header.js +220 -0
  146. package/header/Header.stories.tsx +251 -0
  147. package/header/Header.test.js +66 -0
  148. package/header/Icons.d.ts +2 -0
  149. package/header/Icons.js +29 -0
  150. package/header/types.d.ts +33 -0
  151. package/header/types.js +5 -0
  152. package/heading/Heading.d.ts +4 -0
  153. package/{dist/heading → heading}/Heading.js +34 -115
  154. package/heading/Heading.stories.tsx +54 -0
  155. package/heading/Heading.test.js +169 -0
  156. package/heading/types.d.ts +33 -0
  157. package/heading/types.js +5 -0
  158. package/image/Image.d.ts +4 -0
  159. package/image/Image.js +70 -0
  160. package/image/Image.stories.tsx +127 -0
  161. package/image/types.d.ts +72 -0
  162. package/image/types.js +5 -0
  163. package/inset/Inset.d.ts +3 -0
  164. package/inset/Inset.js +43 -0
  165. package/inset/Inset.stories.tsx +230 -0
  166. package/inset/types.d.ts +37 -0
  167. package/inset/types.js +5 -0
  168. package/layout/ApplicationLayout.d.ts +20 -0
  169. package/layout/ApplicationLayout.js +134 -0
  170. package/layout/ApplicationLayout.stories.tsx +162 -0
  171. package/layout/Icons.d.ts +8 -0
  172. package/layout/Icons.js +58 -0
  173. package/layout/SidenavContext.d.ts +5 -0
  174. package/layout/SidenavContext.js +13 -0
  175. package/layout/types.d.ts +41 -0
  176. package/layout/types.js +5 -0
  177. package/link/Link.d.ts +4 -0
  178. package/link/Link.js +115 -0
  179. package/link/Link.stories.tsx +253 -0
  180. package/link/Link.test.js +63 -0
  181. package/link/types.d.ts +54 -0
  182. package/link/types.js +5 -0
  183. package/main.d.ts +47 -0
  184. package/{dist/main.js → main.js} +130 -146
  185. package/nav-tabs/NavTabs.d.ts +8 -0
  186. package/nav-tabs/NavTabs.js +93 -0
  187. package/nav-tabs/NavTabs.stories.tsx +274 -0
  188. package/nav-tabs/NavTabs.test.js +75 -0
  189. package/nav-tabs/Tab.d.ts +4 -0
  190. package/nav-tabs/Tab.js +117 -0
  191. package/nav-tabs/types.d.ts +52 -0
  192. package/nav-tabs/types.js +5 -0
  193. package/number-input/NumberInput.d.ts +11 -0
  194. package/number-input/NumberInput.js +67 -0
  195. package/number-input/NumberInput.stories.tsx +131 -0
  196. package/number-input/NumberInput.test.js +830 -0
  197. package/number-input/types.d.ts +130 -0
  198. package/number-input/types.js +5 -0
  199. package/package.json +58 -50
  200. package/paginator/Icons.d.ts +5 -0
  201. package/paginator/Icons.js +40 -0
  202. package/paginator/Paginator.d.ts +4 -0
  203. package/paginator/Paginator.js +135 -0
  204. package/paginator/Paginator.stories.tsx +87 -0
  205. package/paginator/Paginator.test.js +335 -0
  206. package/paginator/types.d.ts +38 -0
  207. package/paginator/types.js +5 -0
  208. package/paragraph/Paragraph.d.ts +5 -0
  209. package/paragraph/Paragraph.js +22 -0
  210. package/paragraph/Paragraph.stories.tsx +27 -0
  211. package/password-input/Icons.d.ts +6 -0
  212. package/password-input/Icons.js +35 -0
  213. package/password-input/PasswordInput.d.ts +4 -0
  214. package/password-input/PasswordInput.js +97 -0
  215. package/password-input/PasswordInput.stories.tsx +99 -0
  216. package/password-input/PasswordInput.test.js +198 -0
  217. package/password-input/types.d.ts +111 -0
  218. package/password-input/types.js +5 -0
  219. package/progress-bar/ProgressBar.d.ts +4 -0
  220. package/progress-bar/ProgressBar.js +144 -0
  221. package/progress-bar/ProgressBar.stories.tsx +93 -0
  222. package/progress-bar/ProgressBar.test.js +93 -0
  223. package/progress-bar/types.d.ts +37 -0
  224. package/progress-bar/types.js +5 -0
  225. package/quick-nav/QuickNav.d.ts +4 -0
  226. package/quick-nav/QuickNav.js +94 -0
  227. package/quick-nav/QuickNav.stories.tsx +356 -0
  228. package/quick-nav/types.d.ts +21 -0
  229. package/quick-nav/types.js +5 -0
  230. package/radio-group/Radio.d.ts +4 -0
  231. package/radio-group/Radio.js +124 -0
  232. package/radio-group/RadioGroup.d.ts +4 -0
  233. package/radio-group/RadioGroup.js +235 -0
  234. package/radio-group/RadioGroup.stories.tsx +214 -0
  235. package/radio-group/RadioGroup.test.js +756 -0
  236. package/radio-group/types.d.ts +114 -0
  237. package/radio-group/types.js +5 -0
  238. package/resultset-table/Icons.d.ts +7 -0
  239. package/resultset-table/Icons.js +47 -0
  240. package/resultset-table/ResultsetTable.d.ts +4 -0
  241. package/resultset-table/ResultsetTable.js +159 -0
  242. package/resultset-table/ResultsetTable.stories.tsx +300 -0
  243. package/resultset-table/ResultsetTable.test.js +305 -0
  244. package/resultset-table/types.d.ts +67 -0
  245. package/resultset-table/types.js +5 -0
  246. package/select/Icons.d.ts +10 -0
  247. package/select/Icons.js +89 -0
  248. package/select/Listbox.d.ts +4 -0
  249. package/select/Listbox.js +143 -0
  250. package/select/Option.d.ts +4 -0
  251. package/select/Option.js +87 -0
  252. package/select/Select.d.ts +4 -0
  253. package/select/Select.js +590 -0
  254. package/select/Select.stories.tsx +971 -0
  255. package/select/Select.test.js +2370 -0
  256. package/select/types.d.ts +209 -0
  257. package/select/types.js +5 -0
  258. package/sidenav/Icons.d.ts +7 -0
  259. package/sidenav/Icons.js +47 -0
  260. package/sidenav/Sidenav.d.ts +10 -0
  261. package/sidenav/Sidenav.js +196 -0
  262. package/sidenav/Sidenav.stories.tsx +282 -0
  263. package/sidenav/Sidenav.test.js +37 -0
  264. package/sidenav/types.d.ts +76 -0
  265. package/sidenav/types.js +5 -0
  266. package/slider/Slider.d.ts +4 -0
  267. package/slider/Slider.js +285 -0
  268. package/slider/Slider.test.js +254 -0
  269. package/slider/types.d.ts +86 -0
  270. package/slider/types.js +5 -0
  271. package/spinner/Spinner.d.ts +4 -0
  272. package/spinner/Spinner.js +206 -0
  273. package/spinner/Spinner.stories.tsx +129 -0
  274. package/spinner/Spinner.test.js +55 -0
  275. package/spinner/types.d.ts +32 -0
  276. package/spinner/types.js +5 -0
  277. package/status-light/StatusLight.d.ts +4 -0
  278. package/status-light/StatusLight.js +51 -0
  279. package/status-light/StatusLight.stories.tsx +74 -0
  280. package/status-light/StatusLight.test.js +25 -0
  281. package/status-light/types.d.ts +17 -0
  282. package/status-light/types.js +5 -0
  283. package/switch/Switch.d.ts +4 -0
  284. package/switch/Switch.js +214 -0
  285. package/switch/Switch.stories.tsx +137 -0
  286. package/switch/Switch.test.js +180 -0
  287. package/switch/types.d.ts +66 -0
  288. package/switch/types.js +5 -0
  289. package/table/Table.d.ts +4 -0
  290. package/{dist/table → table}/Table.js +14 -50
  291. package/table/Table.stories.tsx +356 -0
  292. package/table/Table.test.js +21 -0
  293. package/table/types.d.ts +21 -0
  294. package/table/types.js +5 -0
  295. package/tabs/Tab.d.ts +4 -0
  296. package/tabs/Tab.js +113 -0
  297. package/tabs/Tabs.d.ts +4 -0
  298. package/tabs/Tabs.js +384 -0
  299. package/tabs/Tabs.stories.tsx +226 -0
  300. package/tabs/Tabs.test.js +294 -0
  301. package/tabs/types.d.ts +92 -0
  302. package/tabs/types.js +5 -0
  303. package/tag/Tag.d.ts +4 -0
  304. package/tag/Tag.js +151 -0
  305. package/tag/Tag.stories.tsx +155 -0
  306. package/tag/Tag.test.js +49 -0
  307. package/tag/types.d.ts +69 -0
  308. package/tag/types.js +5 -0
  309. package/text-input/Icons.d.ts +8 -0
  310. package/text-input/Icons.js +56 -0
  311. package/text-input/Suggestion.d.ts +4 -0
  312. package/text-input/Suggestion.js +67 -0
  313. package/text-input/Suggestions.d.ts +4 -0
  314. package/text-input/Suggestions.js +84 -0
  315. package/text-input/TextInput.d.ts +4 -0
  316. package/text-input/TextInput.js +572 -0
  317. package/text-input/TextInput.stories.tsx +465 -0
  318. package/text-input/TextInput.test.js +1739 -0
  319. package/text-input/types.d.ts +205 -0
  320. package/text-input/types.js +5 -0
  321. package/textarea/Textarea.d.ts +4 -0
  322. package/textarea/Textarea.js +234 -0
  323. package/textarea/Textarea.stories.tsx +174 -0
  324. package/textarea/Textarea.test.js +406 -0
  325. package/textarea/types.d.ts +141 -0
  326. package/textarea/types.js +5 -0
  327. package/toggle-group/ToggleGroup.d.ts +4 -0
  328. package/toggle-group/ToggleGroup.js +201 -0
  329. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  330. package/toggle-group/ToggleGroup.test.js +137 -0
  331. package/toggle-group/types.d.ts +114 -0
  332. package/toggle-group/types.js +5 -0
  333. package/typography/Typography.d.ts +4 -0
  334. package/typography/Typography.js +23 -0
  335. package/typography/Typography.stories.tsx +198 -0
  336. package/typography/types.d.ts +18 -0
  337. package/typography/types.js +5 -0
  338. package/useTheme.d.ts +1134 -0
  339. package/{dist/useTheme.js → useTheme.js} +4 -11
  340. package/useTranslatedLabels.d.ts +85 -0
  341. package/useTranslatedLabels.js +14 -0
  342. package/utils/BaseTypography.d.ts +21 -0
  343. package/utils/BaseTypography.js +94 -0
  344. package/utils/FocusLock.d.ts +13 -0
  345. package/utils/FocusLock.js +124 -0
  346. package/wizard/Wizard.d.ts +4 -0
  347. package/wizard/Wizard.js +250 -0
  348. package/wizard/Wizard.stories.tsx +253 -0
  349. package/wizard/Wizard.test.js +114 -0
  350. package/wizard/types.d.ts +64 -0
  351. package/wizard/types.js +5 -0
  352. package/babel.config.js +0 -8
  353. package/dist/BackgroundColorContext.js +0 -46
  354. package/dist/ThemeContext.js +0 -248
  355. package/dist/accordion/Accordion.js +0 -353
  356. package/dist/accordion-group/AccordionGroup.js +0 -186
  357. package/dist/alert/Alert.js +0 -403
  358. package/dist/alert/index.d.ts +0 -51
  359. package/dist/badge/Badge.js +0 -63
  360. package/dist/box/Box.js +0 -156
  361. package/dist/button/Button.js +0 -238
  362. package/dist/card/Card.js +0 -254
  363. package/dist/checkbox/Checkbox.js +0 -300
  364. package/dist/checkbox/Checkbox.stories.js +0 -144
  365. package/dist/checkbox/readme.md +0 -116
  366. package/dist/chip/Chip.js +0 -265
  367. package/dist/common/OpenSans.css +0 -81
  368. package/dist/common/RequiredComponent.js +0 -40
  369. package/dist/common/variables.js +0 -1441
  370. package/dist/date/Date.js +0 -379
  371. package/dist/date/Date.stories.js +0 -205
  372. package/dist/date/readme.md +0 -73
  373. package/dist/dialog/Dialog.js +0 -218
  374. package/dist/dropdown/Dropdown.js +0 -544
  375. package/dist/file-input/FileInput.js +0 -641
  376. package/dist/file-input/FileItem.js +0 -280
  377. package/dist/file-input/index.d.ts +0 -81
  378. package/dist/footer/Footer.js +0 -395
  379. package/dist/footer/Footer.stories.js +0 -94
  380. package/dist/footer/dxc_logo.svg +0 -15
  381. package/dist/footer/readme.md +0 -41
  382. package/dist/header/Header.js +0 -403
  383. package/dist/header/Header.stories.js +0 -176
  384. package/dist/header/close_icon.svg +0 -1
  385. package/dist/header/dxc_logo_black.svg +0 -8
  386. package/dist/header/hamb_menu_black.svg +0 -1
  387. package/dist/header/hamb_menu_white.svg +0 -1
  388. package/dist/header/readme.md +0 -33
  389. package/dist/input-text/InputText.js +0 -707
  390. package/dist/input-text/InputText.stories.js +0 -209
  391. package/dist/input-text/error.svg +0 -1
  392. package/dist/input-text/readme.md +0 -91
  393. package/dist/layout/ApplicationLayout.js +0 -331
  394. package/dist/layout/facebook.svg +0 -45
  395. package/dist/layout/linkedin.svg +0 -50
  396. package/dist/layout/twitter.svg +0 -53
  397. package/dist/link/Link.js +0 -237
  398. package/dist/link/readme.md +0 -51
  399. package/dist/main.d.ts +0 -7
  400. package/dist/new-date/NewDate.js +0 -400
  401. package/dist/new-date/index.d.ts +0 -95
  402. package/dist/new-input-text/NewInputText.js +0 -964
  403. package/dist/new-input-text/index.d.ts +0 -135
  404. package/dist/new-textarea/NewTextarea.js +0 -362
  405. package/dist/new-textarea/index.d.ts +0 -117
  406. package/dist/number/Number.js +0 -136
  407. package/dist/number/NumberContext.js +0 -16
  408. package/dist/number/index.d.ts +0 -113
  409. package/dist/paginator/Paginator.js +0 -289
  410. package/dist/paginator/images/next.svg +0 -3
  411. package/dist/paginator/images/nextPage.svg +0 -3
  412. package/dist/paginator/images/previous.svg +0 -3
  413. package/dist/paginator/images/previousPage.svg +0 -3
  414. package/dist/paginator/readme.md +0 -50
  415. package/dist/password/Password.js +0 -200
  416. package/dist/password/index.d.ts +0 -94
  417. package/dist/password/styles.css +0 -3
  418. package/dist/progress-bar/ProgressBar.js +0 -242
  419. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  420. package/dist/progress-bar/readme.md +0 -63
  421. package/dist/radio/Radio.js +0 -209
  422. package/dist/radio/Radio.stories.js +0 -166
  423. package/dist/radio/readme.md +0 -70
  424. package/dist/resultsetTable/ResultsetTable.js +0 -358
  425. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  426. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  427. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  428. package/dist/select/Select.js +0 -549
  429. package/dist/sidenav/Sidenav.js +0 -179
  430. package/dist/slider/Slider.js +0 -319
  431. package/dist/slider/Slider.stories.js +0 -241
  432. package/dist/slider/readme.md +0 -64
  433. package/dist/spinner/Spinner.js +0 -381
  434. package/dist/spinner/Spinner.stories.js +0 -183
  435. package/dist/spinner/readme.md +0 -65
  436. package/dist/switch/Switch.js +0 -222
  437. package/dist/switch/Switch.stories.js +0 -134
  438. package/dist/switch/readme.md +0 -133
  439. package/dist/tabs/Tabs.js +0 -343
  440. package/dist/tabs/Tabs.stories.js +0 -130
  441. package/dist/tabs/readme.md +0 -78
  442. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  443. package/dist/tabs-for-sections/readme.md +0 -78
  444. package/dist/tag/Tag.js +0 -282
  445. package/dist/textarea/Textarea.js +0 -264
  446. package/dist/toggle/Toggle.js +0 -220
  447. package/dist/toggle/Toggle.stories.js +0 -297
  448. package/dist/toggle/readme.md +0 -80
  449. package/dist/toggle-group/ToggleGroup.js +0 -223
  450. package/dist/upload/Upload.js +0 -205
  451. package/dist/upload/Upload.stories.js +0 -72
  452. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  453. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  454. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  455. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  456. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  457. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  458. package/dist/upload/file-upload/FileToUpload.js +0 -184
  459. package/dist/upload/file-upload/audio-icon.svg +0 -4
  460. package/dist/upload/file-upload/close.svg +0 -4
  461. package/dist/upload/file-upload/file-icon.svg +0 -4
  462. package/dist/upload/file-upload/video-icon.svg +0 -4
  463. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  464. package/dist/upload/readme.md +0 -37
  465. package/dist/upload/transaction/Transaction.js +0 -175
  466. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  467. package/dist/upload/transaction/audio-icon.svg +0 -4
  468. package/dist/upload/transaction/error-icon.svg +0 -4
  469. package/dist/upload/transaction/file-icon-err.svg +0 -4
  470. package/dist/upload/transaction/file-icon.svg +0 -4
  471. package/dist/upload/transaction/image-icon-err.svg +0 -4
  472. package/dist/upload/transaction/image-icon.svg +0 -4
  473. package/dist/upload/transaction/success-icon.svg +0 -4
  474. package/dist/upload/transaction/video-icon-err.svg +0 -4
  475. package/dist/upload/transaction/video-icon.svg +0 -4
  476. package/dist/upload/transactions/Transactions.js +0 -138
  477. package/dist/wizard/Wizard.js +0 -411
  478. package/dist/wizard/invalid_icon.svg +0 -5
  479. package/dist/wizard/valid_icon.svg +0 -5
  480. package/dist/wizard/validation-wrong.svg +0 -6
  481. package/test/Accordion.test.js +0 -33
  482. package/test/AccordionGroup.test.js +0 -125
  483. package/test/Alert.test.js +0 -53
  484. package/test/Box.test.js +0 -10
  485. package/test/Button.test.js +0 -18
  486. package/test/Card.test.js +0 -30
  487. package/test/Checkbox.test.js +0 -45
  488. package/test/Chip.test.js +0 -25
  489. package/test/Date.test.js +0 -393
  490. package/test/Dialog.test.js +0 -23
  491. package/test/Dropdown.test.js +0 -145
  492. package/test/FileInput.test.js +0 -201
  493. package/test/Footer.test.js +0 -99
  494. package/test/Header.test.js +0 -39
  495. package/test/Heading.test.js +0 -35
  496. package/test/InputText.test.js +0 -240
  497. package/test/Link.test.js +0 -43
  498. package/test/NewDate.test.js +0 -232
  499. package/test/NewInputText.test.js +0 -734
  500. package/test/NewTextarea.test.js +0 -195
  501. package/test/Number.test.js +0 -257
  502. package/test/Paginator.test.js +0 -177
  503. package/test/Password.test.js +0 -83
  504. package/test/ProgressBar.test.js +0 -35
  505. package/test/Radio.test.js +0 -37
  506. package/test/ResultsetTable.test.js +0 -329
  507. package/test/Select.test.js +0 -212
  508. package/test/Sidenav.test.js +0 -45
  509. package/test/Slider.test.js +0 -82
  510. package/test/Spinner.test.js +0 -32
  511. package/test/Switch.test.js +0 -45
  512. package/test/Table.test.js +0 -36
  513. package/test/Tabs.test.js +0 -109
  514. package/test/TabsForSections.test.js +0 -34
  515. package/test/Tag.test.js +0 -32
  516. package/test/TextArea.test.js +0 -52
  517. package/test/ToggleGroup.test.js +0 -81
  518. package/test/Upload.test.js +0 -60
  519. package/test/Wizard.test.js +0 -130
  520. package/test/mocks/pngMock.js +0 -1
  521. package/test/mocks/svgMock.js +0 -1
  522. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  523. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  524. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  525. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  526. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  527. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  528. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  529. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  530. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  531. /package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
@@ -1,83 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import userEvent from "@testing-library/user-event";
4
- import DxcPassword from "../src/password/Password";
5
-
6
- describe("Password component tests", () => {
7
- test("Password renders with label", () => {
8
- const { getByText } = render(<DxcPassword label="Password label" />);
9
- expect(getByText("Password label")).toBeTruthy();
10
- });
11
-
12
- test("Password renders with helper text", () => {
13
- const { getByText } = render(<DxcPassword helperText="Helper text" />);
14
- expect(getByText("Helper text")).toBeTruthy();
15
- });
16
-
17
- test("Password renders error", () => {
18
- const { getByText } = render(<DxcPassword error="Error message." />);
19
- expect(getByText("Error message.")).toBeTruthy();
20
- });
21
-
22
- test("onChange function is called correctly", () => {
23
- const onChange = jest.fn();
24
- const { getByRole } = render(<DxcPassword label="Password" onChange={onChange} />);
25
- const password = getByRole("textbox");
26
- userEvent.type(password, "Pa$$w0rd");
27
- expect(onChange).toHaveBeenCalledWith({ value: "P", error: null });
28
- expect(password.value).toBe("Pa$$w0rd");
29
- });
30
-
31
- test("onBlur function is called correctly", () => {
32
- const onBlur = jest.fn();
33
- const { getByRole } = render(<DxcPassword label="Password" onBlur={onBlur} />);
34
- const password = getByRole("textbox");
35
- userEvent.type(password, "Pa$$w0rd");
36
- fireEvent.blur(password);
37
- expect(onBlur).toHaveBeenCalledWith({ value: "Pa$$w0rd", error: null });
38
- expect(password.value).toBe("Pa$$w0rd");
39
- });
40
-
41
- test("Clear password value", () => {
42
- const { getAllByRole, getByRole } = render(<DxcPassword label="Password" clearable />);
43
- const password = getByRole("textbox");
44
- userEvent.type(password, "Pa$$w0rd");
45
- expect(password.value).toBe("Pa$$w0rd");
46
- const clearButton = getAllByRole("button")[0];
47
- userEvent.click(clearButton);
48
- expect(password.value).toBe("");
49
- });
50
-
51
- test("Non clearable password has no clear icon", () => {
52
- const { getAllByRole, getByRole } = render(<DxcPassword label="Password" />);
53
- const password = getByRole("textbox");
54
- userEvent.type(password, "Pa$$w0rd");
55
- expect(password.value).toBe("Pa$$w0rd");
56
- const buttons = getAllByRole("button");
57
- expect(buttons.length).toBe(1);
58
- });
59
-
60
- test("Show/hide password button works correctly", () => {
61
- const { getAllByRole, getByRole } = render(<DxcPassword label="Password" clearable />);
62
- const password = getByRole("textbox");
63
- userEvent.type(password, "Pa$$w0rd");
64
- expect(password.value).toBe("Pa$$w0rd");
65
- expect(password.type).toBe("password");
66
- const showButton = getAllByRole("button")[1];
67
- userEvent.click(showButton);
68
- expect(password.type).toBe("text");
69
- });
70
-
71
- test("Password has correct accesibility attributes", () => {
72
- const { getByRole } = render(<DxcPassword label="Password" />);
73
- const password = getByRole("textbox");
74
- expect(password.getAttribute("aria-autocomplete")).toBeNull();
75
- expect(password.getAttribute("aria-controls")).toBeNull();
76
- const showButton = getByRole("button");
77
- expect(showButton.getAttribute("aria-expanded")).toBe("false");
78
- expect(showButton.getAttribute("aria-label")).toBe("Show");
79
- userEvent.click(showButton);
80
- expect(showButton.getAttribute("aria-expanded")).toBe("true");
81
- expect(showButton.getAttribute("aria-label")).toBe("Hide");
82
- });
83
- });
@@ -1,35 +0,0 @@
1
- import React from "react";
2
- import { render } from "@testing-library/react";
3
- import DxcProgressBar from "../src/progress-bar/ProgressBar";
4
-
5
- describe("ProgressBar component tests", () => {
6
- test("ProgressBar renders with label", () => {
7
- const { getByText } = render(<DxcProgressBar label="test-label"></DxcProgressBar>);
8
- expect(getByText("test-label")).toBeTruthy();
9
- });
10
-
11
- test("Overlay progressBar renders with label", () => {
12
- const { getByText } = render(<DxcProgressBar label="test-label" overlay></DxcProgressBar>);
13
- expect(getByText("test-label")).toBeTruthy();
14
- });
15
-
16
- test("ProgressBar renders with default value", () => {
17
- const { getByText } = render(<DxcProgressBar showValue></DxcProgressBar>);
18
- expect(getByText("100 %")).toBeTruthy();
19
- });
20
-
21
- test("Overlay progressBar renders with default value", () => {
22
- const { getByText } = render(<DxcProgressBar showValue overlay></DxcProgressBar>);
23
- expect(getByText("100 %")).toBeTruthy();
24
- });
25
-
26
- test("ProgressBar renders with value", () => {
27
- const { getByText } = render(<DxcProgressBar showValue value={25}></DxcProgressBar>);
28
- expect(getByText("25 %")).toBeTruthy();
29
- });
30
-
31
- test("Overlay progressBar renders with value", () => {
32
- const { getByText } = render(<DxcProgressBar showValue value={25} overlay></DxcProgressBar>);
33
- expect(getByText("25 %")).toBeTruthy();
34
- });
35
- });
@@ -1,37 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcRadio from "../src/radio/Radio";
4
-
5
- describe("Radio component tests", () => {
6
- test("Radio renders correctly", () => {
7
- const { getByText } = render(<DxcRadio label="Radio button" />);
8
- expect(getByText("Radio button")).toBeTruthy();
9
- });
10
- test("Calls correct function on click", () => {
11
- const onClick = jest.fn();
12
- const { getByText} = render(<DxcRadio label="Radio button" onClick={onClick} />);
13
- fireEvent.click(getByText("Radio button"));
14
-
15
- expect(onClick).toHaveBeenCalled();
16
- expect(onClick).toHaveBeenCalledWith(true);
17
- });
18
- test("Controlled Radio", () => {
19
- const onClick = jest.fn();
20
- const { getByText, getByRole } = render(<DxcRadio label="Radio button" checked={false} onClick={onClick} />);
21
- expect(getByRole("radio").checked).toBe(false);
22
- fireEvent.click(getByText("Radio button"));
23
- expect(onClick).toHaveBeenCalled();
24
- expect(onClick).toHaveBeenCalledWith(true);
25
- expect(getByRole("radio").checked).toBe(false);
26
- });
27
- test("Uncontrolled Radio", () => {
28
- const onClick = jest.fn();
29
- const { getByText, getByRole } = render(<DxcRadio label="Radio button" onClick={onClick} />);
30
- expect(getByRole("radio").checked).toBe(false);
31
- fireEvent.click(getByText("Radio button"));
32
- expect(onClick).toHaveBeenCalled();
33
- expect(onClick).toHaveBeenCalledWith(true);
34
- expect(getByRole("radio").checked).toBe(false);
35
- });
36
-
37
- });
@@ -1,329 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent, act } from "@testing-library/react";
3
- import userEvent from "@testing-library/user-event";
4
-
5
- import DxcResultsetTable from "../src/resultsetTable/ResultsetTable";
6
-
7
- const columns = [
8
- {
9
- displayValue: "Id",
10
- isSortable: false,
11
- },
12
- {
13
- displayValue: "Name",
14
- isSortable: true,
15
- },
16
- {
17
- displayValue: "City",
18
- isSortable: false,
19
- },
20
- ];
21
-
22
- const rows = [
23
- [
24
- {
25
- displayValue: "001",
26
- sortValue: "001",
27
- },
28
- {
29
- displayValue: "Peter",
30
- sortValue: "Peter",
31
- },
32
- {
33
- displayValue: "Oviedo",
34
- sortValue: "Oviedo",
35
- },
36
- ],
37
- [
38
- {
39
- displayValue: "002",
40
- sortValue: "002",
41
- },
42
- {
43
- displayValue: "Louis",
44
- sortValue: "Louis",
45
- },
46
- {
47
- displayValue: "Oviedo",
48
- sortValue: "Oviedo",
49
- },
50
- {
51
- displayValue: "",
52
- },
53
- ],
54
- [
55
- {
56
- displayValue: "003",
57
- sortValue: "003",
58
- },
59
- {
60
- displayValue: "Lana",
61
- sortValue: "Lana",
62
- },
63
- {
64
- displayValue: "Albacete",
65
- sortValue: "Albacete",
66
- },
67
- ],
68
- [
69
- {
70
- displayValue: "004",
71
- sortValue: "004",
72
- },
73
- {
74
- displayValue: "Rick",
75
- sortValue: "Rick",
76
- },
77
- {
78
- displayValue: "Albacete",
79
- sortValue: "Albacete",
80
- },
81
- ],
82
- [
83
- {
84
- displayValue: "005",
85
- sortValue: "005",
86
- },
87
- {
88
- displayValue: "Mark",
89
- sortValue: "Mark",
90
- },
91
- {
92
- displayValue: "Madrid",
93
- sortValue: "Madrid",
94
- },
95
- ],
96
- [
97
- {
98
- displayValue: "006",
99
- sortValue: "006",
100
- },
101
- {
102
- displayValue: "Cris",
103
- sortValue: "Cris",
104
- },
105
- {
106
- displayValue: "Barcelona",
107
- sortValue: "Barcelona",
108
- },
109
- {
110
- displayValue: "",
111
- },
112
- ],
113
- [
114
- {
115
- displayValue: "007",
116
- sortValue: "007",
117
- },
118
- {
119
- displayValue: "Susan",
120
- sortValue: "Susan",
121
- },
122
- {
123
- displayValue: "Madrid",
124
- sortValue: "Madrid",
125
- },
126
- ],
127
- [
128
- {
129
- displayValue: "008",
130
- sortValue: "008",
131
- },
132
- {
133
- displayValue: "Tina",
134
- sortValue: "Tina",
135
- },
136
- {
137
- displayValue: "Barcelona",
138
- sortValue: "Barcelona",
139
- },
140
- ],
141
- [
142
- {
143
- displayValue: "009",
144
- sortValue: "009",
145
- },
146
- {
147
- displayValue: "Kevin",
148
- sortValue: "Kevin",
149
- },
150
- {
151
- displayValue: "Oviedo",
152
- sortValue: "Oviedo",
153
- },
154
- {
155
- displayValue: "",
156
- },
157
- ],
158
- [
159
- {
160
- displayValue: "010",
161
- sortValue: "010",
162
- },
163
- {
164
- displayValue: "Cosmin",
165
- sortValue: "Cosmin",
166
- },
167
- {
168
- displayValue: "Barcelona",
169
- sortValue: "Barcelona",
170
- },
171
- {
172
- displayValue: "",
173
- },
174
- ],
175
- ];
176
-
177
- const rows2 = [
178
- [
179
- {
180
- displayValue: "546",
181
- sortValue: "465",
182
- },
183
- {
184
- displayValue: "OtherValue",
185
- sortValue: "OtherValue",
186
- },
187
- {
188
- displayValue: "OtherValue",
189
- sortValue: "OtherValue",
190
- },
191
- ],
192
- [
193
- {
194
- displayValue: "978",
195
- sortValue: "465",
196
- },
197
- {
198
- displayValue: "OtherValue",
199
- sortValue: "OtherValue",
200
- },
201
- {
202
- displayValue: "OtherValue",
203
- sortValue: "OtherValue",
204
- },
205
- {
206
- displayValue: "",
207
- },
208
- ],
209
- [
210
- {
211
- displayValue: "678",
212
- sortValue: "344",
213
- },
214
- {
215
- displayValue: "OtherValue",
216
- sortValue: "OtherValue",
217
- },
218
- {
219
- displayValue: "OtherValue",
220
- sortValue: "OtherValue",
221
- },
222
- ],
223
- ];
224
-
225
- describe("ResultsetTable component tests", () => {
226
- test("ResultsetTable rendered correctly", () => {
227
- const { getByText } = render(
228
- <DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>
229
- );
230
- expect(getByText("Peter")).toBeTruthy();
231
- });
232
- test("Resultsettable shows as many rows as itemsPerPage", () => {
233
- const { getAllByRole } = render(
234
- <DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>
235
- );
236
- expect(getAllByRole("row").length - 1).toEqual(3);
237
- });
238
-
239
- test("Resultsettable shows rows on second page", () => {
240
- const { getByText, getAllByRole } = render(
241
- <DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>
242
- );
243
- expect(getByText("Peter")).toBeTruthy();
244
- expect(getByText("Louis")).toBeTruthy();
245
- expect(getByText("Lana")).toBeTruthy();
246
- expect(getAllByRole("row").length - 1).toEqual(3);
247
- const nextButton = getAllByRole("button")[3];
248
- fireEvent.click(nextButton);
249
- expect(getByText("4 to 6 of 10")).toBeTruthy();
250
- // expect(getByText("Page: 2 of 4")).toBeTruthy();
251
- expect(getByText("Rick")).toBeTruthy();
252
- expect(getByText("Mark")).toBeTruthy();
253
- expect(getByText("Cris")).toBeTruthy();
254
- expect(getAllByRole("row").length - 1).toEqual(3);
255
- });
256
-
257
- test("Resultsettable goToPage works as expected", () => {
258
- const { getByText, getAllByRole, getByRole } = render(
259
- <DxcResultsetTable columns={columns} showGoToPage={true} rows={rows} itemsPerPage={3}></DxcResultsetTable>
260
- );
261
- expect(getByText("Peter")).toBeTruthy();
262
- expect(getByText("Louis")).toBeTruthy();
263
- expect(getByText("Lana")).toBeTruthy();
264
- expect(getAllByRole("row").length - 1).toEqual(3);
265
- const goToPageSelect = getAllByRole("button")[2];
266
- act(() => {
267
- userEvent.click(goToPageSelect);
268
- });
269
- const goToPageOption = getByText("2");
270
- act(() => {
271
- userEvent.click(goToPageOption);
272
- });
273
-
274
- expect(getByText("4 to 6 of 10")).toBeTruthy();
275
- expect(getByText("Rick")).toBeTruthy();
276
- expect(getByText("Mark")).toBeTruthy();
277
- expect(getByText("Cris")).toBeTruthy();
278
- expect(getAllByRole("row").length - 1).toEqual(3);
279
- });
280
-
281
- test("Resultsettable going to the last page shows only one row", () => {
282
- const { getByText, getAllByRole } = render(
283
- <DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>
284
- );
285
- debugger;
286
- const lastButton = getAllByRole("button")[4];
287
- fireEvent.click(lastButton);
288
- expect(getByText("10 to 10 of 10")).toBeTruthy();
289
- expect(getAllByRole("row")).toHaveLength(2);
290
- expect(getByText("Cosmin")).toBeTruthy();
291
- });
292
-
293
- test("Resultsettable sort rows by column", () => {
294
- const component = render(<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>);
295
- expect(component.queryByText("Peter")).toBeTruthy();
296
- fireEvent.click(component.queryByText("Name"));
297
- expect(component.queryByText("Tina")).not.toBeTruthy();
298
- expect(component.queryByText("Cosmin")).toBeTruthy();
299
-
300
- fireEvent.click(component.queryByText("Name"));
301
- expect(component.queryByText("Tina")).toBeTruthy();
302
- expect(component.queryByText("Cosmin")).not.toBeTruthy();
303
- });
304
- test("Resultsettable change rows should go to first page", () => {
305
- const { queryByText, rerender } = render(
306
- <DxcResultsetTable columns={columns} rows={rows} itemsPerPage={3}></DxcResultsetTable>
307
- );
308
- expect(queryByText("Peter")).toBeTruthy();
309
- rerender(<DxcResultsetTable columns={columns} rows={rows2} itemsPerPage={3}></DxcResultsetTable>);
310
- expect(queryByText("1 to 3 of 3")).toBeTruthy();
311
- });
312
-
313
- test("Resultsettable change itemsPerPage should go to first page", () => {
314
- const { getAllByRole, queryByText, rerender } = render(
315
- <DxcResultsetTable
316
- columns={columns}
317
- rows={rows}
318
- itemsPerPage={3}
319
- itemsPerPageOptions={[2, 3]}
320
- ></DxcResultsetTable>
321
- );
322
- const lastButton = getAllByRole("button")[5];
323
- fireEvent.click(lastButton);
324
- expect(getAllByRole("row").length - 1).toEqual(1);
325
- rerender(<DxcResultsetTable columns={columns} rows={rows} itemsPerPage={6}></DxcResultsetTable>);
326
- expect(getAllByRole("row").length - 1).toEqual(6);
327
- expect(queryByText("Peter")).toBeTruthy();
328
- });
329
- });
@@ -1,212 +0,0 @@
1
- import React from "react";
2
- import { render, act } from "@testing-library/react";
3
- import userEvent from "@testing-library/user-event";
4
- import DxcSelect from "../src/select/Select";
5
-
6
- const optionsWithoutIcon = [
7
- {
8
- value: 1,
9
- label: "Amazon",
10
- },
11
- {
12
- value: 2,
13
- label: "Ebay",
14
- },
15
- {
16
- value: 3,
17
- label: "Apple",
18
- },
19
- ];
20
-
21
- const optionsWithIcons = [
22
- {
23
- value: 1,
24
- label: "Image 1",
25
- icon: (
26
- <svg
27
- data-testid="image-1"
28
- xmlns="http://www.w3.org/2000/svg"
29
- height="24px"
30
- viewBox="0 0 24 24"
31
- width="24px"
32
- fill="currentColor"
33
- >
34
- <path d="M0 0h24v24H0V0z" fill="none" />
35
- <path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" />
36
- </svg>
37
- ),
38
- },
39
- {
40
- value: 2,
41
- label: "Image 2",
42
- icon: (
43
- <svg
44
- data-testid="image-2"
45
- version="1.1"
46
- x="0px"
47
- y="0px"
48
- width="24px"
49
- height="24px"
50
- viewBox="0 0 24 24"
51
- enable-background="new 0 0 24 24"
52
- >
53
- <g id="Bounding_Box">
54
- <rect fill="none" width="24" height="24" />
55
- </g>
56
- <g id="Master">
57
- <path d="M19,9.3V4h-3v2.6L12,3L2,12h3v8h5v-6h4v6h5v-8h3L19,9.3z M10,10c0-1.1,0.9-2,2-2s2,0.9,2,2H10z" />
58
- </g>
59
- </svg>
60
- ),
61
- },
62
- ];
63
-
64
- describe("Select component tests", () => {
65
- test("Select renders with correct label", () => {
66
- const { getByText } = render(<DxcSelect label="test-select-label"></DxcSelect>);
67
- expect(getByText("test-select-label")).toBeTruthy();
68
- });
69
-
70
- test("Select renders options when select is clicked", () => {
71
- const { getByText, getByRole, queryByText } = render(
72
- <DxcSelect label="test-select-name" options={optionsWithoutIcon}></DxcSelect>
73
- );
74
- //Before are not shown
75
- expect(queryByText("Amazon")).toBeFalsy();
76
- expect(queryByText("Ebay")).toBeFalsy();
77
- expect(queryByText("Apple")).toBeFalsy();
78
- const select = getByRole("button");
79
- act(() => {
80
- userEvent.click(select);
81
- });
82
- expect(getByText("Amazon")).toBeTruthy();
83
- expect(getByText("Ebay")).toBeTruthy();
84
- expect(getByText("Apple")).toBeTruthy();
85
- });
86
-
87
- test("Select renders options with icons before", () => {
88
- const { getByRole, getByTestId } = render(
89
- <DxcSelect label="test-select-name" options={optionsWithIcons}></DxcSelect>
90
- );
91
- const select = getByRole("button");
92
- act(() => {
93
- userEvent.click(select);
94
- });
95
- expect(getByTestId("image-1")).toBeTruthy();
96
- expect(getByTestId("image-2")).toBeTruthy();
97
- });
98
-
99
- test("Select renders options with icons after", () => {
100
- const { getByRole, getByTestId } = render(
101
- <DxcSelect label="test-select-name" options={optionsWithIcons} iconPosition="after"></DxcSelect>
102
- );
103
- const select = getByRole("button");
104
- act(() => {
105
- userEvent.click(select);
106
- });
107
- expect(getByTestId("image-1")).toBeTruthy();
108
- expect(getByTestId("image-2")).toBeTruthy();
109
- });
110
-
111
- test("Select renders with a default value", () => {
112
- const { getByText } = render(
113
- <DxcSelect label="test-select-name" options={optionsWithoutIcon} value={1}></DxcSelect>
114
- );
115
- expect(getByText("Amazon")).toBeTruthy();
116
- });
117
-
118
- test("Select renders with multiple default values", () => {
119
- const { getByText } = render(
120
- <DxcSelect label="test-select-name" options={optionsWithoutIcon} value={[1, 2]} multiple></DxcSelect>
121
- );
122
- expect(getByText("Amazon, Ebay")).toBeTruthy();
123
- });
124
-
125
- test("Disabled select is not clickable", () => {
126
- const { getByText, queryByText } = render(
127
- <DxcSelect label="test-select-name" options={optionsWithoutIcon} disabled></DxcSelect>
128
- );
129
- expect(queryByText("Amazon")).toBeFalsy();
130
- expect(queryByText("Ebay")).toBeFalsy();
131
- expect(queryByText("Apple")).toBeFalsy();
132
- const select = getByText("test-select-name");
133
- act(() => {
134
- userEvent.click(select);
135
- });
136
- expect(queryByText("Amazon")).toBeFalsy();
137
- expect(queryByText("Ebay")).toBeFalsy();
138
- expect(queryByText("Apple")).toBeFalsy();
139
- });
140
-
141
- test("Controlled select with unique value", () => {
142
- const onChange = jest.fn();
143
- const { getByText, getAllByText } = render(
144
- <DxcSelect label="test-select-name" options={optionsWithoutIcon} value={1} onChange={onChange}></DxcSelect>
145
- );
146
- const select = getByText("Amazon");
147
- act(() => {
148
- userEvent.click(select);
149
- });
150
- const option2 = getByText("Ebay");
151
- act(() => {
152
- userEvent.click(option2);
153
- });
154
- expect(onChange).toHaveBeenCalledWith(2);
155
- //The value is not changed
156
- expect(getAllByText("Amazon").length).toBe(2);
157
- });
158
-
159
- test("Controlled select with multiple values", () => {
160
- const onChange = jest.fn();
161
- const { getByText } = render(
162
- <DxcSelect
163
- label="test-select-name"
164
- options={optionsWithoutIcon}
165
- value={[1, 2]}
166
- multiple
167
- onChange={onChange}
168
- ></DxcSelect>
169
- );
170
- const select = getByText("Amazon, Ebay");
171
- act(() => {
172
- userEvent.click(select);
173
- });
174
- const option3 = getByText("Apple");
175
- act(() => {
176
- userEvent.click(option3);
177
- });
178
- expect(onChange).toHaveBeenCalledWith([1, 2, 3]);
179
- //The value is not changed
180
- expect(getByText("Amazon, Ebay")).toBeTruthy();
181
- });
182
-
183
- test("Uncontrolled select with multiple values", () => {
184
- const onChange = jest.fn();
185
- const { getByText, getByRole } = render(
186
- <DxcSelect label="test-select-name" options={optionsWithoutIcon} multiple onChange={onChange}></DxcSelect>
187
- );
188
- const select = getByRole("button");
189
- act(() => {
190
- userEvent.click(select);
191
- });
192
- act(() => {
193
- userEvent.click(getByText("Amazon"));
194
- });
195
- expect(onChange).toHaveBeenCalledWith([1]);
196
- act(() => {
197
- userEvent.click(getByText("Ebay"));
198
- });
199
- expect(onChange).toHaveBeenCalledWith([1, 2]);
200
- expect(getByText("Amazon, Ebay")).toBeTruthy();
201
- act(() => {
202
- userEvent.click(getByText("Apple"));
203
- });
204
- expect(onChange).toHaveBeenCalledWith([1, 2, 3]);
205
- expect(getByText("Amazon, Ebay, Apple")).toBeTruthy();
206
- act(() => {
207
- userEvent.click(getByText("Amazon"));
208
- });
209
- expect(onChange).toHaveBeenCalledWith([2, 3]);
210
- expect(getByText("Ebay, Apple")).toBeTruthy();
211
- });
212
- });