@dxc-technology/halstack-react 0.0.0-182d20b → 0.0.0-198050a

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 (414) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +48 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +243 -0
  5. package/V3Select/V3Select.js +455 -0
  6. package/V3Select/index.d.ts +27 -0
  7. package/V3Textarea/V3Textarea.js +260 -0
  8. package/V3Textarea/index.d.ts +27 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/accordion/Accordion.js +258 -0
  11. package/accordion/Accordion.stories.tsx +300 -0
  12. package/accordion/types.d.ts +68 -0
  13. package/accordion/types.js +5 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +170 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  17. package/accordion-group/types.d.ts +72 -0
  18. package/accordion-group/types.js +5 -0
  19. package/alert/Alert.d.ts +4 -0
  20. package/alert/Alert.js +290 -0
  21. package/alert/Alert.stories.tsx +170 -0
  22. package/alert/types.d.ts +49 -0
  23. package/alert/types.js +5 -0
  24. package/badge/Badge.js +59 -0
  25. package/box/Box.d.ts +4 -0
  26. package/box/Box.js +126 -0
  27. package/box/Box.stories.tsx +132 -0
  28. package/box/types.d.ts +43 -0
  29. package/box/types.js +5 -0
  30. package/button/Button.d.ts +4 -0
  31. package/button/Button.js +179 -0
  32. package/button/Button.stories.tsx +276 -0
  33. package/button/types.d.ts +57 -0
  34. package/button/types.js +5 -0
  35. package/card/Card.d.ts +4 -0
  36. package/card/Card.js +164 -0
  37. package/card/Card.stories.tsx +201 -0
  38. package/card/ice-cream.jpg +0 -0
  39. package/card/types.d.ts +67 -0
  40. package/card/types.js +5 -0
  41. package/checkbox/Checkbox.d.ts +4 -0
  42. package/checkbox/Checkbox.js +253 -0
  43. package/checkbox/Checkbox.stories.tsx +192 -0
  44. package/checkbox/types.d.ts +60 -0
  45. package/checkbox/types.js +5 -0
  46. package/chip/Chip.d.ts +4 -0
  47. package/chip/Chip.js +199 -0
  48. package/chip/Chip.stories.tsx +121 -0
  49. package/chip/types.d.ts +53 -0
  50. package/chip/types.js +5 -0
  51. package/{dist/common → common}/OpenSans.css +0 -0
  52. package/{dist/common → common}/RequiredComponent.js +5 -19
  53. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  55. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  56. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  57. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  58. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  62. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  63. package/common/utils.js +22 -0
  64. package/common/variables.js +1574 -0
  65. package/{dist/date → date}/Date.js +87 -70
  66. package/date/index.d.ts +27 -0
  67. package/date-input/DateInput.d.ts +4 -0
  68. package/date-input/DateInput.js +358 -0
  69. package/date-input/DateInput.stories.tsx +138 -0
  70. package/date-input/types.d.ts +100 -0
  71. package/date-input/types.js +5 -0
  72. package/dialog/Dialog.d.ts +4 -0
  73. package/dialog/Dialog.js +165 -0
  74. package/dialog/Dialog.stories.tsx +212 -0
  75. package/dialog/types.d.ts +43 -0
  76. package/dialog/types.js +5 -0
  77. package/dropdown/Dropdown.d.ts +4 -0
  78. package/dropdown/Dropdown.js +417 -0
  79. package/dropdown/Dropdown.stories.tsx +247 -0
  80. package/dropdown/types.d.ts +89 -0
  81. package/dropdown/types.js +5 -0
  82. package/file-input/FileInput.d.ts +4 -0
  83. package/file-input/FileInput.js +521 -0
  84. package/file-input/FileItem.d.ts +14 -0
  85. package/file-input/FileItem.js +184 -0
  86. package/file-input/types.d.ts +112 -0
  87. package/file-input/types.js +5 -0
  88. package/footer/Footer.d.ts +4 -0
  89. package/footer/Footer.js +260 -0
  90. package/footer/Footer.stories.tsx +130 -0
  91. package/footer/Icons.d.ts +2 -0
  92. package/footer/Icons.js +77 -0
  93. package/footer/types.d.ts +65 -0
  94. package/footer/types.js +5 -0
  95. package/header/Header.d.ts +7 -0
  96. package/header/Header.js +324 -0
  97. package/header/Header.stories.tsx +162 -0
  98. package/header/Icons.d.ts +2 -0
  99. package/header/Icons.js +34 -0
  100. package/header/types.d.ts +47 -0
  101. package/header/types.js +5 -0
  102. package/heading/Heading.d.ts +4 -0
  103. package/heading/Heading.js +159 -0
  104. package/heading/Heading.stories.tsx +53 -0
  105. package/heading/types.d.ts +33 -0
  106. package/heading/types.js +5 -0
  107. package/input-text/Icons.js +22 -0
  108. package/input-text/InputText.js +611 -0
  109. package/input-text/index.d.ts +36 -0
  110. package/layout/ApplicationLayout.d.ts +10 -0
  111. package/layout/ApplicationLayout.js +225 -0
  112. package/layout/ApplicationLayout.stories.tsx +171 -0
  113. package/layout/Icons.js +55 -0
  114. package/layout/types.d.ts +57 -0
  115. package/layout/types.js +5 -0
  116. package/link/Link.d.ts +3 -0
  117. package/link/Link.js +161 -0
  118. package/link/Link.stories.tsx +146 -0
  119. package/link/types.d.ts +74 -0
  120. package/link/types.js +5 -0
  121. package/list/List.d.ts +8 -0
  122. package/list/List.js +47 -0
  123. package/list/List.stories.tsx +85 -0
  124. package/main.d.ts +48 -0
  125. package/{dist/main.js → main.js} +165 -49
  126. package/number-input/NumberInput.d.ts +4 -0
  127. package/number-input/NumberInput.js +83 -0
  128. package/number-input/NumberInput.stories.tsx +115 -0
  129. package/number-input/NumberInputContext.d.ts +4 -0
  130. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +6 -2
  131. package/number-input/numberInputContextTypes.d.ts +19 -0
  132. package/number-input/numberInputContextTypes.js +5 -0
  133. package/number-input/types.d.ts +117 -0
  134. package/number-input/types.js +5 -0
  135. package/package.json +38 -23
  136. package/paginator/Icons.js +66 -0
  137. package/paginator/Paginator.d.ts +4 -0
  138. package/paginator/Paginator.js +192 -0
  139. package/paginator/Paginator.stories.tsx +63 -0
  140. package/paginator/types.d.ts +38 -0
  141. package/paginator/types.js +5 -0
  142. package/password-input/PasswordInput.d.ts +4 -0
  143. package/password-input/PasswordInput.js +163 -0
  144. package/password-input/PasswordInput.stories.tsx +131 -0
  145. package/password-input/types.d.ts +107 -0
  146. package/password-input/types.js +5 -0
  147. package/progress-bar/ProgressBar.d.ts +4 -0
  148. package/progress-bar/ProgressBar.js +170 -0
  149. package/progress-bar/ProgressBar.stories.jsx +58 -0
  150. package/progress-bar/types.d.ts +37 -0
  151. package/progress-bar/types.js +5 -0
  152. package/radio/Radio.d.ts +4 -0
  153. package/radio/Radio.js +174 -0
  154. package/radio/Radio.stories.tsx +192 -0
  155. package/radio/types.d.ts +54 -0
  156. package/radio/types.js +5 -0
  157. package/resultsetTable/ResultsetTable.d.ts +4 -0
  158. package/resultsetTable/ResultsetTable.js +251 -0
  159. package/resultsetTable/ResultsetTable.stories.tsx +276 -0
  160. package/resultsetTable/types.d.ts +67 -0
  161. package/resultsetTable/types.js +5 -0
  162. package/row/Row.d.ts +11 -0
  163. package/row/Row.js +124 -0
  164. package/row/Row.stories.tsx +223 -0
  165. package/select/Select.js +863 -0
  166. package/select/Select.stories.tsx +572 -0
  167. package/select/index.d.ts +131 -0
  168. package/sidenav/Sidenav.d.ts +9 -0
  169. package/sidenav/Sidenav.js +136 -0
  170. package/sidenav/Sidenav.stories.tsx +165 -0
  171. package/sidenav/types.d.ts +50 -0
  172. package/sidenav/types.js +5 -0
  173. package/slider/Slider.d.ts +4 -0
  174. package/slider/Slider.js +317 -0
  175. package/slider/Slider.stories.tsx +177 -0
  176. package/slider/types.d.ts +78 -0
  177. package/slider/types.js +5 -0
  178. package/spinner/Spinner.d.ts +4 -0
  179. package/spinner/Spinner.js +250 -0
  180. package/spinner/Spinner.stories.jsx +102 -0
  181. package/spinner/types.d.ts +32 -0
  182. package/spinner/types.js +5 -0
  183. package/stack/Stack.d.ts +10 -0
  184. package/stack/Stack.js +94 -0
  185. package/stack/Stack.stories.tsx +150 -0
  186. package/switch/Switch.d.ts +4 -0
  187. package/switch/Switch.js +179 -0
  188. package/switch/Switch.stories.tsx +160 -0
  189. package/switch/types.d.ts +58 -0
  190. package/switch/types.js +5 -0
  191. package/table/Table.d.ts +4 -0
  192. package/table/Table.js +118 -0
  193. package/table/Table.stories.jsx +276 -0
  194. package/table/types.d.ts +21 -0
  195. package/table/types.js +5 -0
  196. package/tabs/Tabs.d.ts +4 -0
  197. package/tabs/Tabs.js +213 -0
  198. package/tabs/Tabs.stories.tsx +121 -0
  199. package/tabs/types.d.ts +70 -0
  200. package/tabs/types.js +5 -0
  201. package/tag/Tag.d.ts +4 -0
  202. package/tag/Tag.js +193 -0
  203. package/tag/Tag.stories.tsx +145 -0
  204. package/tag/types.d.ts +60 -0
  205. package/tag/types.js +5 -0
  206. package/text/Text.d.ts +7 -0
  207. package/text/Text.js +30 -0
  208. package/text/Text.stories.tsx +19 -0
  209. package/text-input/TextInput.d.ts +4 -0
  210. package/text-input/TextInput.js +786 -0
  211. package/text-input/TextInput.stories.tsx +456 -0
  212. package/text-input/types.d.ts +159 -0
  213. package/text-input/types.js +5 -0
  214. package/textarea/Textarea.d.ts +4 -0
  215. package/textarea/Textarea.js +284 -0
  216. package/textarea/Textarea.stories.jsx +135 -0
  217. package/textarea/types.d.ts +130 -0
  218. package/textarea/types.js +5 -0
  219. package/{dist/toggle → toggle}/Toggle.js +30 -67
  220. package/toggle/index.d.ts +21 -0
  221. package/toggle-group/ToggleGroup.d.ts +4 -0
  222. package/toggle-group/ToggleGroup.js +214 -0
  223. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  224. package/toggle-group/types.d.ts +97 -0
  225. package/toggle-group/types.js +5 -0
  226. package/{dist/upload → upload}/Upload.js +23 -22
  227. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  228. package/upload/buttons-upload/Icons.js +40 -0
  229. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  230. package/upload/dragAndDropArea/Icons.js +39 -0
  231. package/upload/file-upload/FileToUpload.js +115 -0
  232. package/upload/file-upload/Icons.js +66 -0
  233. package/upload/files-upload/FilesToUpload.js +109 -0
  234. package/upload/index.d.ts +15 -0
  235. package/upload/transaction/Icons.js +160 -0
  236. package/upload/transaction/Transaction.js +104 -0
  237. package/upload/transactions/Transactions.js +94 -0
  238. package/useTheme.d.ts +2 -0
  239. package/useTheme.js +22 -0
  240. package/wizard/Wizard.d.ts +4 -0
  241. package/wizard/Wizard.js +281 -0
  242. package/wizard/Wizard.stories.tsx +224 -0
  243. package/wizard/types.d.ts +60 -0
  244. package/wizard/types.js +5 -0
  245. package/README.md +0 -66
  246. package/babel.config.js +0 -4
  247. package/dist/accordion/Accordion.js +0 -248
  248. package/dist/accordion/Accordion.stories.js +0 -207
  249. package/dist/accordion/readme.md +0 -96
  250. package/dist/alert/Alert.js +0 -304
  251. package/dist/alert/Alert.stories.js +0 -158
  252. package/dist/alert/close.svg +0 -4
  253. package/dist/alert/error.svg +0 -4
  254. package/dist/alert/info.svg +0 -4
  255. package/dist/alert/readme.md +0 -43
  256. package/dist/alert/success.svg +0 -4
  257. package/dist/alert/warning.svg +0 -4
  258. package/dist/box/Box.js +0 -148
  259. package/dist/button/Button.js +0 -181
  260. package/dist/button/Button.stories.js +0 -224
  261. package/dist/button/readme.md +0 -93
  262. package/dist/card/Card.js +0 -217
  263. package/dist/checkbox/Checkbox.js +0 -240
  264. package/dist/checkbox/Checkbox.stories.js +0 -144
  265. package/dist/checkbox/readme.md +0 -116
  266. package/dist/chip/Chip.js +0 -173
  267. package/dist/common/services/example-service.js +0 -10
  268. package/dist/common/services/example-service.test.js +0 -12
  269. package/dist/common/utils.js +0 -42
  270. package/dist/common/variables.js +0 -434
  271. package/dist/date/Date.stories.js +0 -205
  272. package/dist/date/calendar.svg +0 -1
  273. package/dist/date/calendar_dark.svg +0 -1
  274. package/dist/date/readme.md +0 -73
  275. package/dist/dialog/Dialog.js +0 -197
  276. package/dist/dialog/Dialog.stories.js +0 -217
  277. package/dist/dialog/readme.md +0 -32
  278. package/dist/dropdown/Dropdown.js +0 -416
  279. package/dist/dropdown/Dropdown.stories.js +0 -249
  280. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  281. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  282. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  283. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  284. package/dist/dropdown/readme.md +0 -69
  285. package/dist/footer/Footer.js +0 -346
  286. package/dist/footer/Footer.stories.js +0 -94
  287. package/dist/footer/dxc_logo_wht.png +0 -0
  288. package/dist/footer/readme.md +0 -41
  289. package/dist/header/Header.js +0 -360
  290. package/dist/header/Header.stories.js +0 -176
  291. package/dist/header/close_icon.svg +0 -1
  292. package/dist/header/dxc_logo_black.png +0 -0
  293. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  294. package/dist/header/dxc_logo_white.png +0 -0
  295. package/dist/header/hamb_menu_black.svg +0 -1
  296. package/dist/header/hamb_menu_white.svg +0 -1
  297. package/dist/header/readme.md +0 -33
  298. package/dist/heading/Heading.js +0 -153
  299. package/dist/input-text/InputText.js +0 -519
  300. package/dist/input-text/InputText.stories.js +0 -209
  301. package/dist/input-text/error.svg +0 -1
  302. package/dist/input-text/readme.md +0 -91
  303. package/dist/layout/ApplicationLayout.js +0 -333
  304. package/dist/layout/facebook.svg +0 -45
  305. package/dist/layout/linkedin.svg +0 -50
  306. package/dist/layout/twitter.svg +0 -53
  307. package/dist/link/Link.js +0 -168
  308. package/dist/link/readme.md +0 -51
  309. package/dist/paginator/Paginator.js +0 -196
  310. package/dist/paginator/images/next.svg +0 -3
  311. package/dist/paginator/images/nextPage.svg +0 -3
  312. package/dist/paginator/images/previous.svg +0 -3
  313. package/dist/paginator/images/previousPage.svg +0 -3
  314. package/dist/paginator/readme.md +0 -50
  315. package/dist/progress-bar/ProgressBar.js +0 -185
  316. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  317. package/dist/progress-bar/readme.md +0 -63
  318. package/dist/radio/Radio.js +0 -195
  319. package/dist/radio/Radio.stories.js +0 -166
  320. package/dist/radio/readme.md +0 -70
  321. package/dist/resultsetTable/ResultsetTable.js +0 -333
  322. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  323. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  324. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  325. package/dist/select/Select.js +0 -453
  326. package/dist/select/Select.stories.js +0 -235
  327. package/dist/select/readme.md +0 -72
  328. package/dist/sidenav/Sidenav.js +0 -69
  329. package/dist/slider/Slider.js +0 -258
  330. package/dist/slider/Slider.stories.js +0 -241
  331. package/dist/slider/readme.md +0 -64
  332. package/dist/spinner/Spinner.js +0 -193
  333. package/dist/spinner/Spinner.stories.js +0 -183
  334. package/dist/spinner/readme.md +0 -65
  335. package/dist/switch/Switch.js +0 -199
  336. package/dist/switch/Switch.stories.js +0 -134
  337. package/dist/switch/readme.md +0 -133
  338. package/dist/table/Table.js +0 -105
  339. package/dist/tabs/Tabs.js +0 -172
  340. package/dist/tabs/Tabs.stories.js +0 -130
  341. package/dist/tabs/readme.md +0 -78
  342. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  343. package/dist/tabs-for-sections/readme.md +0 -78
  344. package/dist/tag/Tag.js +0 -234
  345. package/dist/textarea/Textarea.js +0 -227
  346. package/dist/toggle/Toggle.stories.js +0 -297
  347. package/dist/toggle/readme.md +0 -80
  348. package/dist/toggle-group/ToggleGroup.js +0 -214
  349. package/dist/toggle-group/readme.md +0 -82
  350. package/dist/upload/Upload.stories.js +0 -72
  351. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  352. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  353. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  354. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  355. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  356. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  357. package/dist/upload/file-upload/FileToUpload.js +0 -158
  358. package/dist/upload/file-upload/audio-icon.svg +0 -4
  359. package/dist/upload/file-upload/close.svg +0 -4
  360. package/dist/upload/file-upload/file-icon.svg +0 -4
  361. package/dist/upload/file-upload/video-icon.svg +0 -4
  362. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  363. package/dist/upload/readme.md +0 -37
  364. package/dist/upload/transaction/Transaction.js +0 -155
  365. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  366. package/dist/upload/transaction/audio-icon.svg +0 -4
  367. package/dist/upload/transaction/error-icon.svg +0 -4
  368. package/dist/upload/transaction/file-icon-err.svg +0 -4
  369. package/dist/upload/transaction/file-icon.svg +0 -4
  370. package/dist/upload/transaction/image-icon-err.svg +0 -4
  371. package/dist/upload/transaction/image-icon.svg +0 -4
  372. package/dist/upload/transaction/success-icon.svg +0 -4
  373. package/dist/upload/transaction/video-icon-err.svg +0 -4
  374. package/dist/upload/transaction/video-icon.svg +0 -4
  375. package/dist/upload/transactions/Transactions.js +0 -120
  376. package/dist/wizard/Wizard.js +0 -327
  377. package/dist/wizard/invalid_icon.svg +0 -6
  378. package/dist/wizard/valid_icon.svg +0 -6
  379. package/dist/wizard/validation-wrong.svg +0 -6
  380. package/test/Accordion.test.js +0 -33
  381. package/test/Alert.test.js +0 -53
  382. package/test/Box.test.js +0 -10
  383. package/test/Button.test.js +0 -18
  384. package/test/Card.test.js +0 -30
  385. package/test/Checkbox.test.js +0 -45
  386. package/test/Chip.test.js +0 -25
  387. package/test/Date.test.js +0 -393
  388. package/test/Dialog.test.js +0 -23
  389. package/test/Dropdown.test.js +0 -130
  390. package/test/Footer.test.js +0 -99
  391. package/test/Header.test.js +0 -39
  392. package/test/Heading.test.js +0 -35
  393. package/test/InputText.test.js +0 -236
  394. package/test/Link.test.js +0 -33
  395. package/test/Paginator.test.js +0 -165
  396. package/test/ProgressBar.test.js +0 -35
  397. package/test/Radio.test.js +0 -37
  398. package/test/ResultsetTable.test.js +0 -282
  399. package/test/Select.test.js +0 -191
  400. package/test/Sidenav.test.js +0 -19
  401. package/test/Slider.test.js +0 -65
  402. package/test/Spinner.test.js +0 -27
  403. package/test/Switch.test.js +0 -45
  404. package/test/Table.test.js +0 -36
  405. package/test/Tabs.test.js +0 -88
  406. package/test/TabsForSections.test.js +0 -34
  407. package/test/Tag.test.js +0 -32
  408. package/test/TextArea.test.js +0 -52
  409. package/test/Toggle.test.js +0 -43
  410. package/test/ToggleGroup.test.js +0 -81
  411. package/test/Upload.test.js +0 -60
  412. package/test/Wizard.test.js +0 -130
  413. package/test/mocks/pngMock.js +0 -1
  414. package/test/mocks/svgMock.js +0 -1
package/test/Tabs.test.js DELETED
@@ -1,88 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcTabs from "../src/tabs/Tabs";
4
-
5
- const sampleTabs = [
6
- {
7
- label: "Tab-1",
8
- },
9
- {
10
- label: "Tab-2",
11
- },
12
- {
13
- label: "Tab-3",
14
- },
15
- ];
16
-
17
- describe("Tabs component tests", () => {
18
- test("Tabs render with correct labels", () => {
19
- const { getByText } = render(<DxcTabs tabs={sampleTabs}></DxcTabs>);
20
- expect(getByText("Tab-1")).toBeTruthy();
21
- expect(getByText("Tab-2")).toBeTruthy();
22
- expect(getByText("Tab-3")).toBeTruthy();
23
- });
24
-
25
- test("Tabs render with correct icons", () => {
26
- const { getAllByRole } = render(
27
- <DxcTabs
28
- tabs={[
29
- {
30
- label: "Tab-1",
31
- iconSrc: "/testIcon1.png",
32
- },
33
- {
34
- label: "Tab-2",
35
- iconSrc: "/testIcon2.png",
36
- },
37
- {
38
- label: "Tab-3",
39
- iconSrc: "/testIcon3.png",
40
- },
41
- ]}
42
- ></DxcTabs>
43
- );
44
- expect(getAllByRole("img")[0].getAttribute("src")).toBe("/testIcon1.png");
45
- expect(getAllByRole("img")[1].getAttribute("src")).toBe("/testIcon2.png");
46
- expect(getAllByRole("img")[2].getAttribute("src")).toBe("/testIcon3.png");
47
- });
48
-
49
- test("Tabs render with disabled tab", () => {
50
- const { getAllByRole } = render(
51
- <DxcTabs
52
- tabs={[
53
- {
54
- label: "Tab-1",
55
- isDisabled: true,
56
- },
57
- {
58
- label: "Tab-2",
59
- },
60
- ]}
61
- ></DxcTabs>
62
- );
63
- expect(getAllByRole("tab")[0].hasAttribute("disabled")).toBeTruthy();
64
- expect(getAllByRole("tab")[1].hasAttribute("disabled")).toBeFalsy();
65
- });
66
-
67
- test("Uncontrolled tabs", () => {
68
- const onTabClick = jest.fn();
69
- const { getByText } = render(<DxcTabs tabs={sampleTabs} onTabClick={onTabClick}></DxcTabs>);
70
- const tab1 = getByText("Tab-1");
71
- const tab2 = getByText("Tab-2");
72
- fireEvent.click(tab2);
73
- expect(onTabClick).toHaveBeenCalledWith(1);
74
- fireEvent.click(tab1);
75
- expect(onTabClick).toHaveBeenCalledWith(0);
76
- });
77
-
78
- test("Controlled tabs", () => {
79
- const onTabClick = jest.fn();
80
- const { getByText } = render(<DxcTabs tabs={sampleTabs} onTabClick={onTabClick} activeTabIndex={0}></DxcTabs>);
81
- const tab2 = getByText("Tab-2");
82
- const tab3 = getByText("Tab-3");
83
- fireEvent.click(tab2);
84
- expect(onTabClick).toHaveBeenCalledWith(1);
85
- fireEvent.click(tab3);
86
- expect(onTabClick).toHaveBeenCalledWith(2);
87
- });
88
- });
@@ -1,34 +0,0 @@
1
- import React from "react";
2
- import { render } from "@testing-library/react";
3
- import DxcTabsForSections from "../src/tabs-for-sections/TabsForSections";
4
-
5
- const sections = [
6
- {
7
- tabLabel: "S1",
8
- section: () => <div>test-section-1</div>,
9
- },
10
- {
11
- tabLabel: "S2",
12
- section: () => <div>test-section-2</div>,
13
- },
14
- {
15
- tabLabel: "S3",
16
- section: () => <div>test-section-3</div>,
17
- },
18
- ];
19
-
20
- describe("TabsForSections component tests", () => {
21
- test("TabsForSections renders with correct sections label", () => {
22
- const { getByText } = render(<DxcTabsForSections sections={sections}></DxcTabsForSections>);
23
- expect(getByText("S1")).toBeTruthy();
24
- expect(getByText("S2")).toBeTruthy();
25
- expect(getByText("S3")).toBeTruthy();
26
- });
27
-
28
- test("TabsForSections renders with correct sections content", () => {
29
- const { getByText } = render(<DxcTabsForSections sections={sections}></DxcTabsForSections>);
30
- expect(getByText("test-section-1")).toBeTruthy();
31
- expect(getByText("test-section-2")).toBeTruthy();
32
- expect(getByText("test-section-3")).toBeTruthy();
33
- });
34
- });
package/test/Tag.test.js DELETED
@@ -1,32 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcTag from "../src/tag/Tag";
4
-
5
- describe("Tag component tests", () => {
6
- test("Tag renders with correct label", () => {
7
- const { getByText } = render(<DxcTag label="tag-test"></DxcTag>);
8
- expect(getByText("tag-test")).toBeTruthy();
9
- });
10
-
11
- test("Tag renders with correct label before", () => {
12
- const { getByText } = render(<DxcTag label="tag-test" labelPosition="before"></DxcTag>);
13
- expect(getByText("tag-test")).toBeTruthy();
14
- });
15
-
16
- test("Tag renders with correct icon", () => {
17
- const { getByRole } = render(<DxcTag label="tag-test" iconSrc="/test-icon.jpg"></DxcTag>);
18
- expect(getByRole("img").getAttribute("src")).toBe("/test-icon.jpg");
19
- });
20
-
21
- test("Tag renders with link href", () => {
22
- const { getByRole } = render(<DxcTag label="tag-test" linkHref="/test/page"></DxcTag>);
23
- expect(getByRole("link").getAttribute("href")).toBe("/test/page");
24
- });
25
-
26
- test("Call correct function on click", () => {
27
- const onClick = jest.fn();
28
- const { getByText } = render(<DxcTag label="tag-test" onClick={onClick}></DxcTag>);
29
- fireEvent.click(getByText("tag-test"));
30
- expect(onClick).toHaveBeenCalled();
31
- });
32
- });
@@ -1,52 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcTextarea from "../src/textarea/Textarea";
4
-
5
- describe("TextArea component tests", () => {
6
- test("TextArea renders with correct text", () => {
7
- const { getByText } = render(<DxcTextarea label="TextArea label" />);
8
- expect(getByText("TextArea label")).toBeTruthy();
9
- });
10
-
11
- test("onChange function is called correctly", () => {
12
- const onChange = jest.fn();
13
-
14
- const { getByRole } = render(<DxcTextarea label="TextArea label" onChange={onChange} />);
15
- const input = getByRole("textbox");
16
- fireEvent.change(input, { target: { value: "Testing..." } });
17
- expect(onChange).toHaveBeenCalled();
18
- expect(onChange).toHaveBeenCalledWith("Testing...");
19
- });
20
-
21
- test("onBlur function is called correctly", () => {
22
- const onBlur = jest.fn();
23
-
24
- const { getByRole } = render(<DxcTextarea label="TextArea label" onBlur={onBlur} />);
25
- const input = getByRole("textbox");
26
- fireEvent.change(input, { target: { value: "Testing..." } });
27
- fireEvent.blur(input);
28
- expect(onBlur).toHaveBeenCalled();
29
- expect(onBlur).toHaveBeenCalledWith("Testing...");
30
- });
31
-
32
- test("Controlled component", () => {
33
- const onChange = jest.fn();
34
- const { getByRole } = render(<DxcTextarea label="TextArea label" value="TextArea Value" onChange={onChange} />);
35
- const input = getByRole("textbox");
36
- fireEvent.change(input, { target: { value: "Tests" } });
37
- expect(onChange).toHaveBeenCalled();
38
- expect(onChange).toHaveBeenCalledWith("Tests");
39
- expect(input.value).toBe("TextArea Value");
40
- });
41
-
42
- test("Uncontrolled component", () => {
43
- const onChange = jest.fn();
44
- const { getByRole } = render(<DxcTextarea label="TextArea label" onChange={onChange} />);
45
- const input = getByRole("textbox");
46
- fireEvent.change(input, { target: { value: "Tests" } });
47
- expect(onChange).toHaveBeenCalled();
48
- expect(onChange).toHaveBeenCalledWith("Tests");
49
- expect(input.value).toBe("Tests");
50
- });
51
-
52
- });
@@ -1,43 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcToggle from "../src/toggle/Toggle";
4
-
5
- describe("Toggle component tests", () => {
6
- test("Toggle renders with correct text", () => {
7
- const { getByText } = render(<DxcToggle label="Toggle" />);
8
- expect(getByText("Toggle")).toBeTruthy();
9
- });
10
-
11
- test("Calls correct function on click", () => {
12
- const onClick = jest.fn();
13
- const { getByText} = render(<DxcToggle label="ToggleTest" onClick={onClick} />);
14
- fireEvent.click(getByText("ToggleTest"));
15
- expect(onClick).toHaveBeenCalled();
16
- });
17
-
18
- test("Calls correct function on click with the correct value.", () => {
19
- const onClick = jest.fn();
20
- const { getByText, rerender } = render(<DxcToggle label="ToggleTest" onClick={onClick} />);
21
-
22
- fireEvent.click(getByText("ToggleTest"));
23
- rerender(<DxcToggle label="ToggleTest" onClick={onClick} selected={true} />);
24
- fireEvent.click(getByText("ToggleTest"));
25
- expect(onClick.mock.calls[0][0]).toBe(true);
26
- expect(onClick.mock.calls[1][0]).toBe(false);
27
- });
28
-
29
-
30
- test("Calls correct function on click with the correct value, if it´s controlled and the user doesn´t change the value the function always receives the same", () => {
31
- const onClick = jest.fn();
32
- const { getByText } = render(<DxcToggle label="ToggleTest" selected={true} onClick={onClick} />);
33
-
34
- fireEvent.click(getByText("ToggleTest"));
35
- fireEvent.click(getByText("ToggleTest"));
36
- fireEvent.click(getByText("ToggleTest"));
37
- expect(onClick).toHaveBeenCalledTimes(3);
38
- expect(onClick.mock.calls[0][0]).toBe(false);
39
- expect(onClick.mock.calls[1][0]).toBe(false);
40
- expect(onClick.mock.calls[2][0]).toBe(false);
41
- });
42
-
43
- });
@@ -1,81 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcToggleGroup from "../src/toggle-group/ToggleGroup";
4
-
5
- const options = [
6
- {
7
- value: 1,
8
- label: "Amazon",
9
- },
10
- {
11
- value: 2,
12
- label: "Ebay",
13
- },
14
- {
15
- value: 3,
16
- label: "Apple",
17
- },
18
- {
19
- value: 4,
20
- label: "Google",
21
- },
22
- ];
23
-
24
- describe("Toggle group component tests", () => {
25
- test("Toggle group renders with correct labels", () => {
26
- const { getByText } = render(<DxcToggleGroup options={options} />);
27
- expect(getByText("Amazon")).toBeTruthy();
28
- expect(getByText("Ebay")).toBeTruthy();
29
- expect(getByText("Apple")).toBeTruthy();
30
- expect(getByText("Google")).toBeTruthy();
31
- });
32
-
33
- test("Uncontrolled toggle group calls correct function on change with value", () => {
34
- const onChange = jest.fn();
35
- const { getByText } = render(<DxcToggleGroup options={options} onChange={onChange} />);
36
-
37
- const option = getByText("Ebay");
38
- fireEvent.click(option);
39
- expect(onChange).toHaveBeenCalledWith(2);
40
- });
41
-
42
- test("Controlled toggle group calls correct function on change with value", () => {
43
- const onChange = jest.fn();
44
- const { getByText } = render(<DxcToggleGroup options={options} onChange={onChange} value={1} />);
45
-
46
- const option = getByText("Ebay");
47
- fireEvent.click(option);
48
- expect(onChange).toHaveBeenCalledWith(2);
49
- });
50
-
51
- test("Function on change is not called when disable", () => {
52
- const onChange = jest.fn();
53
- const { getByText } = render(<DxcToggleGroup options={options} onChange={onChange} disabled />);
54
-
55
- const option = getByText("Ebay");
56
- fireEvent.click(option);
57
- expect(onChange).toHaveBeenCalledTimes(0);
58
- });
59
-
60
- test("Uncontrolled multiple toggle group calls correct function on change with value when is multiple", () => {
61
- const onChange = jest.fn();
62
- const { getByText } = render(<DxcToggleGroup options={options} onChange={onChange} multiple />);
63
-
64
- const option = getByText("Ebay");
65
- fireEvent.click(option);
66
- expect(onChange).toHaveBeenCalledWith([2]);
67
- });
68
-
69
- test("Controlled multiple toggle returns always same values", () => {
70
- const onChange = jest.fn();
71
- const { getByText } = render(<DxcToggleGroup options={options} onChange={onChange} value={[1]} multiple />);
72
-
73
- const option = getByText("Ebay");
74
- fireEvent.click(option);
75
- expect(onChange).toHaveBeenCalledWith([1, 2]);
76
-
77
- const option2 = getByText("Google");
78
- fireEvent.click(option2);
79
- expect(onChange).toHaveBeenNthCalledWith(2, [1, 4]);
80
- });
81
- });
@@ -1,60 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent, act, createEvent } from "@testing-library/react";
3
- import DxcUpload from "../src/upload/Upload";
4
-
5
- describe("Upload component tests", () => {
6
- test("Upload renders with correct text", () => {
7
- const { getByText } = render(<DxcUpload margin="small"></DxcUpload>);
8
- expect(getByText("There are no files to upload")).toBeTruthy();
9
- expect(getByText("Drag and drop your files here or choose one from your computer")).toBeTruthy();
10
- expect(getByText("CHOOSE FILES")).toBeTruthy();
11
- });
12
-
13
- test("Upload shows file information", () => {
14
- const myfunction = jest.fn();
15
- const { getByText } = render(<DxcUpload margin="small"></DxcUpload>);
16
-
17
- const dropZone = getByText("There are no files to upload");
18
- const dropEvent = createEvent.drop(dropZone);
19
- const fileList = [new File(["(⌐□_□)"], "test.png", { type: "image/png" })];
20
-
21
- Object.defineProperty(dropEvent, "dataTransfer", {
22
- value: {
23
- files: fileList,
24
- clearData: myfunction,
25
- },
26
- });
27
-
28
- act(() => {
29
- fireEvent(dropZone, dropEvent);
30
- });
31
- expect(getByText("test.png")).toBeTruthy();
32
- expect(getByText("image/png")).toBeTruthy();
33
- expect(getByText("UPLOAD")).toBeTruthy();
34
- });
35
-
36
- test("Calls correct function callbackUpload", () => {
37
- const onCallbackUpload = jest.fn(() => new Promise(resolve => setTimeout(resolve, 1000)));
38
- const myfunction = jest.fn();
39
- const { getByText } = render(<DxcUpload margin="small" callbackUpload={onCallbackUpload}></DxcUpload>);
40
-
41
- const dropZone = getByText("There are no files to upload");
42
- const dropEvent = createEvent.drop(dropZone);
43
- const fileList = [new File(["(⌐□_□)"], "test.png", { type: "image/png" })];
44
-
45
- Object.defineProperty(dropEvent, "dataTransfer", {
46
- value: {
47
- files: fileList,
48
- clearData: myfunction,
49
- },
50
- });
51
-
52
- act(() => {
53
- fireEvent(dropZone, dropEvent);
54
- });
55
- act(() => {
56
- fireEvent.click(getByText("UPLOAD"));
57
- });
58
- expect(onCallbackUpload).toHaveBeenCalled();
59
- });
60
- });
@@ -1,130 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcWizard from "../src/wizard/Wizard";
4
-
5
- describe("Wizard components tests", () => {
6
- test("Wizard renders with correct steps", () => {
7
- const { getByText } = render(
8
- <DxcWizard
9
- steps={[
10
- {
11
- label: "first-step",
12
- },
13
- {
14
- label: "second-step",
15
- },
16
- ]}
17
- ></DxcWizard>
18
- );
19
-
20
- expect(getByText("first-step")).toBeTruthy();
21
- expect(getByText("second-step")).toBeTruthy();
22
- });
23
-
24
- test("Click on step text", () => {
25
- const onClick = jest.fn();
26
- const { getByText } = render(
27
- <DxcWizard
28
- onStepClick={onClick}
29
- steps={[
30
- {
31
- label: "first-step",
32
- },
33
- ]}
34
- ></DxcWizard>
35
- );
36
-
37
- const step = getByText("first-step");
38
- fireEvent.click(step);
39
- expect(onClick).toHaveBeenCalled();
40
- });
41
-
42
- test("Click on step description", () => {
43
- const onClick = jest.fn();
44
- const { getByText } = render(
45
- <DxcWizard
46
- onStepClick={onClick}
47
- steps={[
48
- {
49
- label: "first-step",
50
- description: "step-description",
51
- },
52
- ]}
53
- ></DxcWizard>
54
- );
55
-
56
- const step = getByText("step-description");
57
- fireEvent.click(step);
58
- expect(onClick).toHaveBeenCalled();
59
- });
60
-
61
- test("Click on step number", () => {
62
- const onClick = jest.fn();
63
- const { getByText } = render(
64
- <DxcWizard
65
- onStepClick={onClick}
66
- steps={[
67
- {
68
- label: "first-step",
69
- },
70
- ]}
71
- ></DxcWizard>
72
- );
73
-
74
- const step = getByText("1");
75
- fireEvent.click(step);
76
- expect(onClick).toHaveBeenCalled();
77
- });
78
-
79
- test("Click on disable step", () => {
80
- const onClick = jest.fn();
81
- const { getByText } = render(
82
- <DxcWizard
83
- onStepClick={onClick}
84
- steps={[
85
- {
86
- label: "first-step",
87
- },
88
- {
89
- label: "second-step",
90
- disabled: true,
91
- },
92
- ]}
93
- ></DxcWizard>
94
- );
95
-
96
- const step = getByText("second-step");
97
- fireEvent.click(step);
98
- expect(onClick).toHaveBeenCalledTimes(0);
99
- });
100
-
101
- test("Controlled wizard function is called", () => {
102
- const onClick = jest.fn((i) => i);
103
- const { getByText } = render(
104
- <DxcWizard
105
- currentStep={1}
106
- onStepClick={onClick}
107
- steps={[
108
- {
109
- label: "first-step",
110
- },
111
- {
112
- label: "second-step",
113
- },
114
- ]}
115
- ></DxcWizard>
116
- );
117
-
118
- const step1 = getByText("first-step");
119
- const step2 = getByText("second-step");
120
- fireEvent.click(step1);
121
- fireEvent.click(step2);
122
- fireEvent.click(step1);
123
-
124
- expect(onClick).toHaveBeenCalledTimes(3);
125
- //Test the received value in the onClick function
126
- expect(onClick).toHaveBeenNthCalledWith(1, 0);
127
- expect(onClick).toHaveBeenNthCalledWith(2, 1);
128
- expect(onClick).toHaveBeenNthCalledWith(3, 0);
129
- });
130
- });
@@ -1 +0,0 @@
1
- module.exports = 'ImageMock';
@@ -1 +0,0 @@
1
- module.exports = 'IconMock';