@dxc-technology/halstack-react 0.0.0-300806f → 0.0.0-301f60b

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 (459) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/ThemeContext.d.ts +10 -0
  4. package/ThemeContext.js +243 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +247 -0
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +57 -0
  9. package/accordion/types.d.ts +64 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +170 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +133 -0
  15. package/accordion-group/types.d.ts +68 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +290 -0
  19. package/alert/Alert.stories.tsx +170 -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 +59 -0
  25. package/badge/types.d.ts +4 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +84 -0
  29. package/bleed/Bleed.stories.tsx +342 -0
  30. package/bleed/types.d.ts +13 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/{dist/box → box}/Box.js +15 -45
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +43 -0
  37. package/box/types.js +5 -0
  38. package/button/Button.d.ts +4 -0
  39. package/button/Button.js +171 -0
  40. package/button/Button.stories.tsx +274 -0
  41. package/button/Button.test.js +35 -0
  42. package/button/types.d.ts +53 -0
  43. package/button/types.js +5 -0
  44. package/card/Card.d.ts +4 -0
  45. package/{dist/card → card}/Card.js +34 -124
  46. package/card/Card.stories.tsx +201 -0
  47. package/card/Card.test.js +50 -0
  48. package/card/ice-cream.jpg +0 -0
  49. package/card/types.d.ts +67 -0
  50. package/card/types.js +5 -0
  51. package/checkbox/Checkbox.d.ts +4 -0
  52. package/{dist/checkbox → checkbox}/Checkbox.js +35 -76
  53. package/checkbox/Checkbox.stories.tsx +192 -0
  54. package/checkbox/Checkbox.test.js +65 -0
  55. package/checkbox/types.d.ts +60 -0
  56. package/checkbox/types.js +5 -0
  57. package/chip/Chip.d.ts +4 -0
  58. package/chip/Chip.js +161 -0
  59. package/chip/Chip.stories.tsx +119 -0
  60. package/chip/Chip.test.js +56 -0
  61. package/chip/types.d.ts +45 -0
  62. package/chip/types.js +5 -0
  63. package/{dist/common → common}/OpenSans.css +0 -0
  64. package/{dist/common → common}/RequiredComponent.js +3 -11
  65. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  66. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  67. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  68. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  69. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  70. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  71. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  72. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  73. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  74. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  75. package/{dist/common → common}/utils.js +0 -0
  76. package/{dist/common → common}/variables.js +591 -583
  77. package/date-input/DateInput.d.ts +4 -0
  78. package/date-input/DateInput.js +358 -0
  79. package/date-input/DateInput.stories.tsx +138 -0
  80. package/date-input/DateInput.test.js +469 -0
  81. package/date-input/types.d.ts +100 -0
  82. package/date-input/types.js +5 -0
  83. package/dialog/Dialog.d.ts +4 -0
  84. package/{dist/dialog → dialog}/Dialog.js +26 -100
  85. package/dialog/Dialog.stories.tsx +212 -0
  86. package/dialog/Dialog.test.js +40 -0
  87. package/dialog/types.d.ts +43 -0
  88. package/dialog/types.js +5 -0
  89. package/dropdown/Dropdown.d.ts +4 -0
  90. package/dropdown/Dropdown.js +395 -0
  91. package/dropdown/Dropdown.stories.tsx +249 -0
  92. package/dropdown/Dropdown.test.js +189 -0
  93. package/dropdown/types.d.ts +80 -0
  94. package/dropdown/types.js +5 -0
  95. package/file-input/FileInput.d.ts +4 -0
  96. package/file-input/FileInput.js +590 -0
  97. package/file-input/FileInput.stories.tsx +507 -0
  98. package/file-input/FileInput.test.js +457 -0
  99. package/file-input/FileItem.d.ts +14 -0
  100. package/file-input/FileItem.js +184 -0
  101. package/file-input/types.d.ts +112 -0
  102. package/file-input/types.js +5 -0
  103. package/footer/Footer.d.ts +4 -0
  104. package/footer/Footer.js +258 -0
  105. package/footer/Footer.stories.tsx +130 -0
  106. package/footer/Footer.test.js +109 -0
  107. package/footer/Icons.d.ts +2 -0
  108. package/footer/Icons.js +77 -0
  109. package/footer/types.d.ts +65 -0
  110. package/footer/types.js +5 -0
  111. package/header/Header.d.ts +7 -0
  112. package/header/Header.js +324 -0
  113. package/header/Header.stories.tsx +162 -0
  114. package/header/Header.test.js +63 -0
  115. package/header/Icons.d.ts +2 -0
  116. package/header/Icons.js +34 -0
  117. package/header/types.d.ts +47 -0
  118. package/header/types.js +5 -0
  119. package/heading/Heading.d.ts +4 -0
  120. package/{dist/heading → heading}/Heading.js +31 -90
  121. package/heading/Heading.stories.tsx +54 -0
  122. package/heading/Heading.test.js +186 -0
  123. package/heading/types.d.ts +33 -0
  124. package/heading/types.js +5 -0
  125. package/inset/Inset.d.ts +3 -0
  126. package/inset/Inset.js +84 -0
  127. package/inset/Inset.stories.tsx +229 -0
  128. package/inset/types.d.ts +13 -0
  129. package/inset/types.js +5 -0
  130. package/layout/ApplicationLayout.d.ts +10 -0
  131. package/layout/ApplicationLayout.js +231 -0
  132. package/layout/ApplicationLayout.stories.tsx +171 -0
  133. package/layout/Icons.js +55 -0
  134. package/layout/types.d.ts +57 -0
  135. package/layout/types.js +5 -0
  136. package/link/Link.d.ts +3 -0
  137. package/{dist/link → link}/Link.js +23 -111
  138. package/link/Link.stories.tsx +151 -0
  139. package/link/Link.test.js +91 -0
  140. package/link/types.d.ts +70 -0
  141. package/link/types.js +5 -0
  142. package/list/List.d.ts +4 -0
  143. package/list/List.js +47 -0
  144. package/list/List.stories.tsx +95 -0
  145. package/list/types.d.ts +7 -0
  146. package/list/types.js +5 -0
  147. package/main.d.ts +46 -0
  148. package/{dist/main.js → main.js} +131 -103
  149. package/number-input/NumberInput.d.ts +4 -0
  150. package/number-input/NumberInput.js +83 -0
  151. package/number-input/NumberInput.stories.tsx +115 -0
  152. package/number-input/NumberInput.test.js +508 -0
  153. package/number-input/NumberInputContext.d.ts +4 -0
  154. package/{dist/number/NumberContext.js → number-input/NumberInputContext.js} +6 -3
  155. package/number-input/numberInputContextTypes.d.ts +19 -0
  156. package/number-input/numberInputContextTypes.js +5 -0
  157. package/number-input/types.d.ts +117 -0
  158. package/number-input/types.js +5 -0
  159. package/package.json +34 -24
  160. package/paginator/Icons.js +66 -0
  161. package/paginator/Paginator.d.ts +4 -0
  162. package/paginator/Paginator.js +192 -0
  163. package/paginator/Paginator.stories.tsx +63 -0
  164. package/paginator/Paginator.test.js +266 -0
  165. package/paginator/types.d.ts +38 -0
  166. package/paginator/types.js +5 -0
  167. package/password-input/PasswordInput.d.ts +4 -0
  168. package/{dist/password/Password.js → password-input/PasswordInput.js} +49 -82
  169. package/password-input/PasswordInput.stories.tsx +131 -0
  170. package/password-input/PasswordInput.test.js +183 -0
  171. package/password-input/types.d.ts +107 -0
  172. package/password-input/types.js +5 -0
  173. package/progress-bar/ProgressBar.d.ts +4 -0
  174. package/progress-bar/ProgressBar.js +170 -0
  175. package/progress-bar/ProgressBar.stories.jsx +58 -0
  176. package/progress-bar/ProgressBar.test.js +65 -0
  177. package/progress-bar/types.d.ts +37 -0
  178. package/progress-bar/types.js +5 -0
  179. package/radio/Radio.d.ts +4 -0
  180. package/{dist/radio → radio}/Radio.js +17 -52
  181. package/radio/Radio.stories.tsx +192 -0
  182. package/radio/Radio.test.js +71 -0
  183. package/radio/types.d.ts +54 -0
  184. package/radio/types.js +5 -0
  185. package/radio-group/Radio.d.ts +4 -0
  186. package/radio-group/Radio.js +141 -0
  187. package/radio-group/RadioGroup.d.ts +4 -0
  188. package/radio-group/RadioGroup.js +280 -0
  189. package/radio-group/RadioGroup.stories.tsx +100 -0
  190. package/radio-group/RadioGroup.test.js +695 -0
  191. package/radio-group/types.d.ts +114 -0
  192. package/radio-group/types.js +5 -0
  193. package/resultsetTable/ResultsetTable.d.ts +4 -0
  194. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
  195. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  196. package/resultsetTable/ResultsetTable.test.js +306 -0
  197. package/resultsetTable/types.d.ts +67 -0
  198. package/resultsetTable/types.js +5 -0
  199. package/row/Row.d.ts +3 -0
  200. package/row/Row.js +127 -0
  201. package/row/Row.stories.tsx +237 -0
  202. package/row/types.d.ts +10 -0
  203. package/row/types.js +5 -0
  204. package/select/Icons.d.ts +10 -0
  205. package/select/Icons.js +93 -0
  206. package/select/Option.d.ts +4 -0
  207. package/select/Option.js +110 -0
  208. package/select/Select.d.ts +4 -0
  209. package/select/Select.js +740 -0
  210. package/select/Select.stories.tsx +582 -0
  211. package/select/Select.test.js +1900 -0
  212. package/select/types.d.ts +183 -0
  213. package/select/types.js +5 -0
  214. package/sidenav/Sidenav.d.ts +9 -0
  215. package/sidenav/Sidenav.js +136 -0
  216. package/sidenav/Sidenav.stories.tsx +182 -0
  217. package/sidenav/Sidenav.test.js +56 -0
  218. package/sidenav/types.d.ts +50 -0
  219. package/sidenav/types.js +5 -0
  220. package/slider/Slider.d.ts +4 -0
  221. package/slider/Slider.js +317 -0
  222. package/slider/Slider.stories.tsx +177 -0
  223. package/slider/Slider.test.js +129 -0
  224. package/slider/types.d.ts +78 -0
  225. package/slider/types.js +5 -0
  226. package/spinner/Spinner.d.ts +4 -0
  227. package/spinner/Spinner.js +250 -0
  228. package/spinner/Spinner.stories.jsx +103 -0
  229. package/spinner/Spinner.test.js +64 -0
  230. package/spinner/types.d.ts +32 -0
  231. package/spinner/types.js +5 -0
  232. package/stack/Stack.d.ts +3 -0
  233. package/stack/Stack.js +97 -0
  234. package/stack/Stack.stories.tsx +164 -0
  235. package/stack/types.d.ts +9 -0
  236. package/stack/types.js +5 -0
  237. package/switch/Switch.d.ts +4 -0
  238. package/{dist/switch → switch}/Switch.js +28 -71
  239. package/switch/Switch.stories.tsx +160 -0
  240. package/switch/Switch.test.js +73 -0
  241. package/switch/types.d.ts +58 -0
  242. package/switch/types.js +5 -0
  243. package/table/Table.d.ts +4 -0
  244. package/{dist/table → table}/Table.js +12 -26
  245. package/table/Table.stories.jsx +277 -0
  246. package/table/Table.test.js +26 -0
  247. package/table/types.d.ts +21 -0
  248. package/table/types.js +5 -0
  249. package/tabs/Tabs.d.ts +4 -0
  250. package/tabs/Tabs.js +213 -0
  251. package/tabs/Tabs.stories.tsx +120 -0
  252. package/tabs/Tabs.test.js +123 -0
  253. package/tabs/types.d.ts +78 -0
  254. package/tabs/types.js +5 -0
  255. package/tag/Tag.d.ts +4 -0
  256. package/tag/Tag.js +188 -0
  257. package/tag/Tag.stories.tsx +138 -0
  258. package/tag/Tag.test.js +60 -0
  259. package/tag/types.d.ts +69 -0
  260. package/tag/types.js +5 -0
  261. package/text/Text.d.ts +7 -0
  262. package/text/Text.js +30 -0
  263. package/text/Text.stories.tsx +19 -0
  264. package/text-input/TextInput.d.ts +4 -0
  265. package/text-input/TextInput.js +798 -0
  266. package/text-input/TextInput.stories.tsx +474 -0
  267. package/text-input/TextInput.test.js +1725 -0
  268. package/text-input/types.d.ts +163 -0
  269. package/text-input/types.js +5 -0
  270. package/textarea/Textarea.d.ts +4 -0
  271. package/{dist/new-textarea/NewTextarea.js → textarea/Textarea.js} +100 -154
  272. package/textarea/Textarea.stories.jsx +157 -0
  273. package/textarea/Textarea.test.js +447 -0
  274. package/textarea/types.d.ts +134 -0
  275. package/textarea/types.js +5 -0
  276. package/toggle-group/ToggleGroup.d.ts +4 -0
  277. package/toggle-group/ToggleGroup.js +214 -0
  278. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  279. package/toggle-group/ToggleGroup.test.js +125 -0
  280. package/toggle-group/types.d.ts +97 -0
  281. package/toggle-group/types.js +5 -0
  282. package/useTheme.d.ts +2 -0
  283. package/{dist/useTheme.js → useTheme.js} +1 -1
  284. package/wizard/Wizard.d.ts +4 -0
  285. package/wizard/Wizard.js +281 -0
  286. package/wizard/Wizard.stories.tsx +224 -0
  287. package/wizard/Wizard.test.js +128 -0
  288. package/wizard/types.d.ts +60 -0
  289. package/wizard/types.js +5 -0
  290. package/README.md +0 -66
  291. package/babel.config.js +0 -8
  292. package/dist/BackgroundColorContext.js +0 -46
  293. package/dist/ThemeContext.js +0 -216
  294. package/dist/accordion/Accordion.js +0 -348
  295. package/dist/accordion/Accordion.stories.js +0 -207
  296. package/dist/accordion/readme.md +0 -96
  297. package/dist/accordion-group/AccordionGroup.js +0 -188
  298. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  299. package/dist/accordion-group/readme.md +0 -70
  300. package/dist/alert/Alert.js +0 -392
  301. package/dist/alert/Alert.stories.js +0 -158
  302. package/dist/alert/close.svg +0 -4
  303. package/dist/alert/error.svg +0 -4
  304. package/dist/alert/info.svg +0 -4
  305. package/dist/alert/readme.md +0 -43
  306. package/dist/alert/success.svg +0 -4
  307. package/dist/alert/warning.svg +0 -4
  308. package/dist/badge/Badge.js +0 -63
  309. package/dist/button/Button.js +0 -232
  310. package/dist/button/Button.stories.js +0 -224
  311. package/dist/button/readme.md +0 -93
  312. package/dist/checkbox/Checkbox.stories.js +0 -144
  313. package/dist/checkbox/readme.md +0 -116
  314. package/dist/chip/Chip.js +0 -265
  315. package/dist/date/Date.js +0 -381
  316. package/dist/date/Date.stories.js +0 -205
  317. package/dist/date/readme.md +0 -73
  318. package/dist/dialog/Dialog.stories.js +0 -217
  319. package/dist/dialog/readme.md +0 -32
  320. package/dist/dropdown/Dropdown.js +0 -504
  321. package/dist/dropdown/Dropdown.stories.js +0 -249
  322. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  323. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  324. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  325. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  326. package/dist/dropdown/readme.md +0 -69
  327. package/dist/footer/Footer.js +0 -395
  328. package/dist/footer/Footer.stories.js +0 -94
  329. package/dist/footer/dxc_logo.svg +0 -15
  330. package/dist/footer/readme.md +0 -41
  331. package/dist/header/Header.js +0 -423
  332. package/dist/header/Header.stories.js +0 -176
  333. package/dist/header/close_icon.svg +0 -1
  334. package/dist/header/dxc_logo_black.svg +0 -8
  335. package/dist/header/hamb_menu_black.svg +0 -1
  336. package/dist/header/hamb_menu_white.svg +0 -1
  337. package/dist/header/readme.md +0 -33
  338. package/dist/input-text/InputText.js +0 -707
  339. package/dist/input-text/InputText.stories.js +0 -209
  340. package/dist/input-text/error.svg +0 -1
  341. package/dist/input-text/readme.md +0 -91
  342. package/dist/layout/ApplicationLayout.js +0 -331
  343. package/dist/layout/facebook.svg +0 -45
  344. package/dist/layout/linkedin.svg +0 -50
  345. package/dist/layout/twitter.svg +0 -53
  346. package/dist/link/readme.md +0 -51
  347. package/dist/new-date/NewDate.js +0 -399
  348. package/dist/new-input-text/NewInputText.js +0 -957
  349. package/dist/number/Number.js +0 -134
  350. package/dist/paginator/Paginator.js +0 -289
  351. package/dist/paginator/images/next.svg +0 -3
  352. package/dist/paginator/images/nextPage.svg +0 -3
  353. package/dist/paginator/images/previous.svg +0 -3
  354. package/dist/paginator/images/previousPage.svg +0 -3
  355. package/dist/paginator/readme.md +0 -50
  356. package/dist/password/styles.css +0 -3
  357. package/dist/progress-bar/ProgressBar.js +0 -206
  358. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  359. package/dist/progress-bar/readme.md +0 -63
  360. package/dist/radio/Radio.stories.js +0 -166
  361. package/dist/radio/readme.md +0 -70
  362. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  363. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  364. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  365. package/dist/select/Select.js +0 -585
  366. package/dist/select/Select.stories.js +0 -235
  367. package/dist/select/readme.md +0 -72
  368. package/dist/sidenav/Sidenav.js +0 -177
  369. package/dist/slider/Slider.js +0 -315
  370. package/dist/slider/Slider.stories.js +0 -241
  371. package/dist/slider/readme.md +0 -64
  372. package/dist/spinner/Spinner.js +0 -218
  373. package/dist/spinner/Spinner.stories.js +0 -183
  374. package/dist/spinner/readme.md +0 -65
  375. package/dist/switch/Switch.stories.js +0 -134
  376. package/dist/switch/readme.md +0 -133
  377. package/dist/tabs/Tabs.js +0 -343
  378. package/dist/tabs/Tabs.stories.js +0 -130
  379. package/dist/tabs/readme.md +0 -78
  380. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  381. package/dist/tabs-for-sections/readme.md +0 -78
  382. package/dist/tag/Tag.js +0 -288
  383. package/dist/textarea/Textarea.js +0 -264
  384. package/dist/toggle/Toggle.js +0 -220
  385. package/dist/toggle/Toggle.stories.js +0 -297
  386. package/dist/toggle/readme.md +0 -80
  387. package/dist/toggle-group/ToggleGroup.js +0 -241
  388. package/dist/toggle-group/readme.md +0 -82
  389. package/dist/upload/Upload.js +0 -205
  390. package/dist/upload/Upload.stories.js +0 -72
  391. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  392. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  393. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  394. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  395. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  396. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  397. package/dist/upload/file-upload/FileToUpload.js +0 -184
  398. package/dist/upload/file-upload/audio-icon.svg +0 -4
  399. package/dist/upload/file-upload/close.svg +0 -4
  400. package/dist/upload/file-upload/file-icon.svg +0 -4
  401. package/dist/upload/file-upload/video-icon.svg +0 -4
  402. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  403. package/dist/upload/readme.md +0 -37
  404. package/dist/upload/transaction/Transaction.js +0 -175
  405. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  406. package/dist/upload/transaction/audio-icon.svg +0 -4
  407. package/dist/upload/transaction/error-icon.svg +0 -4
  408. package/dist/upload/transaction/file-icon-err.svg +0 -4
  409. package/dist/upload/transaction/file-icon.svg +0 -4
  410. package/dist/upload/transaction/image-icon-err.svg +0 -4
  411. package/dist/upload/transaction/image-icon.svg +0 -4
  412. package/dist/upload/transaction/success-icon.svg +0 -4
  413. package/dist/upload/transaction/video-icon-err.svg +0 -4
  414. package/dist/upload/transaction/video-icon.svg +0 -4
  415. package/dist/upload/transactions/Transactions.js +0 -138
  416. package/dist/wizard/Wizard.js +0 -411
  417. package/dist/wizard/invalid_icon.svg +0 -5
  418. package/dist/wizard/valid_icon.svg +0 -5
  419. package/dist/wizard/validation-wrong.svg +0 -6
  420. package/test/Accordion.test.js +0 -33
  421. package/test/AccordionGroup.test.js +0 -125
  422. package/test/Alert.test.js +0 -53
  423. package/test/Box.test.js +0 -10
  424. package/test/Button.test.js +0 -18
  425. package/test/Card.test.js +0 -30
  426. package/test/Checkbox.test.js +0 -45
  427. package/test/Chip.test.js +0 -25
  428. package/test/Date.test.js +0 -393
  429. package/test/Dialog.test.js +0 -23
  430. package/test/Dropdown.test.js +0 -145
  431. package/test/Footer.test.js +0 -99
  432. package/test/Header.test.js +0 -39
  433. package/test/Heading.test.js +0 -35
  434. package/test/InputText.test.js +0 -240
  435. package/test/Link.test.js +0 -43
  436. package/test/NewDate.test.js +0 -203
  437. package/test/NewInputText.test.js +0 -817
  438. package/test/NewTextarea.test.js +0 -201
  439. package/test/Number.test.js +0 -241
  440. package/test/Paginator.test.js +0 -177
  441. package/test/Password.test.js +0 -76
  442. package/test/ProgressBar.test.js +0 -35
  443. package/test/Radio.test.js +0 -37
  444. package/test/ResultsetTable.test.js +0 -330
  445. package/test/Select.test.js +0 -189
  446. package/test/Sidenav.test.js +0 -45
  447. package/test/Slider.test.js +0 -82
  448. package/test/Spinner.test.js +0 -27
  449. package/test/Switch.test.js +0 -45
  450. package/test/Table.test.js +0 -36
  451. package/test/Tabs.test.js +0 -109
  452. package/test/TabsForSections.test.js +0 -34
  453. package/test/Tag.test.js +0 -32
  454. package/test/TextArea.test.js +0 -52
  455. package/test/ToggleGroup.test.js +0 -81
  456. package/test/Upload.test.js +0 -60
  457. package/test/Wizard.test.js +0 -130
  458. package/test/mocks/pngMock.js +0 -1
  459. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,164 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import styled from "styled-components";
4
+ import DxcStack from "./Stack";
5
+
6
+ export default {
7
+ title: "Stack",
8
+ component: DxcStack,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <Title title="Default" theme="light" level={4} />
14
+ <Container>
15
+ <DxcStack>
16
+ <Placeholder></Placeholder>
17
+ <Placeholder></Placeholder>
18
+ <Placeholder></Placeholder>
19
+ </DxcStack>
20
+ </Container>
21
+ <Title title="Align = baseline" theme="light" level={4} />
22
+ <Container>
23
+ <DxcStack align="baseline">
24
+ <Placeholder paddingLeft={20}></Placeholder>
25
+ <Placeholder></Placeholder>
26
+ <Placeholder paddingRight={60}></Placeholder>
27
+ </DxcStack>
28
+ </Container>
29
+ <Title title="Align = center" theme="light" level={4} />
30
+ <Container>
31
+ <DxcStack align="center">
32
+ <Placeholder paddingLeft={20}></Placeholder>
33
+ <Placeholder></Placeholder>
34
+ <Placeholder paddingLeft={60}></Placeholder>
35
+ </DxcStack>
36
+ </Container>
37
+ <Title title="Align = end" theme="light" level={4} />
38
+ <Container>
39
+ <DxcStack align="end">
40
+ <Placeholder paddingLeft={20}></Placeholder>
41
+ <Placeholder></Placeholder>
42
+ <Placeholder paddingLeft={60}></Placeholder>
43
+ </DxcStack>
44
+ </Container>
45
+ <Title title="Align = start" theme="light" level={4} />
46
+ <Container>
47
+ <DxcStack align="start">
48
+ <Placeholder paddingLeft={20}></Placeholder>
49
+ <Placeholder></Placeholder>
50
+ <Placeholder paddingLeft={60}></Placeholder>
51
+ </DxcStack>
52
+ </Container>
53
+ <Title title="Align = stretch" theme="light" level={4} />
54
+ <Container>
55
+ <DxcStack align="stretch">
56
+ <Placeholder paddingLeft={20}></Placeholder>
57
+ <Placeholder></Placeholder>
58
+ <Placeholder paddingLeft={60}></Placeholder>
59
+ </DxcStack>
60
+ </Container>
61
+ <Title title="gutter = xxxsmall" theme="light" level={4} />
62
+ <Container>
63
+ <DxcStack gutter="xxxsmall">
64
+ <Placeholder></Placeholder>
65
+ <Placeholder></Placeholder>
66
+ <Placeholder></Placeholder>
67
+ </DxcStack>
68
+ </Container>
69
+ <Title title="gutter = xxsmall" theme="light" level={4} />
70
+ <Container>
71
+ <DxcStack gutter="xxsmall">
72
+ <Placeholder></Placeholder>
73
+ <Placeholder></Placeholder>
74
+ <Placeholder></Placeholder>
75
+ </DxcStack>
76
+ </Container>
77
+ <Title title="gutter = xsmall" theme="light" level={4} />
78
+ <Container>
79
+ <DxcStack gutter="xsmall">
80
+ <Placeholder></Placeholder>
81
+ <Placeholder></Placeholder>
82
+ <Placeholder></Placeholder>
83
+ </DxcStack>
84
+ </Container>
85
+ <Title title="gutter = small" theme="light" level={4} />
86
+ <Container>
87
+ <DxcStack gutter="small">
88
+ <Placeholder></Placeholder>
89
+ <Placeholder></Placeholder>
90
+ <Placeholder></Placeholder>
91
+ </DxcStack>
92
+ </Container>
93
+ <Title title="gutter = medium" theme="light" level={4} />
94
+ <Container>
95
+ <DxcStack gutter="medium">
96
+ <Placeholder></Placeholder>
97
+ <Placeholder></Placeholder>
98
+ <Placeholder></Placeholder>
99
+ </DxcStack>
100
+ </Container>
101
+ <Title title="gutter = large" theme="light" level={4} />
102
+ <Container>
103
+ <DxcStack gutter="large">
104
+ <Placeholder></Placeholder>
105
+ <Placeholder></Placeholder>
106
+ <Placeholder></Placeholder>
107
+ </DxcStack>
108
+ </Container>
109
+ <Title title="gutter = xlarge" theme="light" level={4} />
110
+ <Container>
111
+ <DxcStack gutter="xlarge">
112
+ <Placeholder></Placeholder>
113
+ <Placeholder></Placeholder>
114
+ <Placeholder></Placeholder>
115
+ </DxcStack>
116
+ </Container>
117
+ <Title title="gutter = xxlarge" theme="light" level={4} />
118
+ <Container>
119
+ <DxcStack gutter="xxlarge">
120
+ <Placeholder></Placeholder>
121
+ <Placeholder></Placeholder>
122
+ <Placeholder></Placeholder>
123
+ </DxcStack>
124
+ </Container>
125
+ <Title title="gutter = xxxlarge" theme="light" level={4} />
126
+ <Container>
127
+ <DxcStack gutter="xxxlarge">
128
+ <Placeholder></Placeholder>
129
+ <Placeholder></Placeholder>
130
+ <Placeholder></Placeholder>
131
+ </DxcStack>
132
+ </Container>
133
+ <Title title="gutter = xxlarge && divider" theme="light" level={4} />
134
+ <Container>
135
+ <DxcStack gutter="xxlarge" divider>
136
+ <Placeholder></Placeholder>
137
+ <Placeholder></Placeholder>
138
+ <Placeholder></Placeholder>
139
+ </DxcStack>
140
+ </Container>
141
+ <Title title="gutter = none" theme="light" level={4} />
142
+ <Container>
143
+ <DxcStack gutter="none">
144
+ <Placeholder></Placeholder>
145
+ <Placeholder></Placeholder>
146
+ <Placeholder></Placeholder>
147
+ </DxcStack>
148
+ </Container>
149
+ </>
150
+ );
151
+
152
+ const Container = styled.div`
153
+ background: #f2eafa;
154
+ padding: 10px;
155
+ `;
156
+
157
+ const Placeholder = styled.div`
158
+ min-height: 40px;
159
+ min-width: 120px;
160
+ border: 1px solid #a46ede;
161
+ background-color: #e5d5f6;
162
+ padding-left: ${({ paddingLeft }) => `${paddingLeft ?? 0}px`};
163
+ padding-right: ${({ paddingRight }) => `${paddingRight ?? 0}px`};
164
+ `;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ gutter?: "none" | "xxxsmall" | "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge" | "xxxlarge";
4
+ divider?: boolean;
5
+ align?: "start" | "center" | "end" | "baseline" | "stretch";
6
+ as?: React.ElementType;
7
+ children: React.ReactNode;
8
+ };
9
+ export default Props;
package/stack/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import SwitchPropsType from "./types";
3
+ declare const DxcSwitch: ({ checked, value, label, labelPosition, name, disabled, onChange, required, margin, size, tabIndex, }: SwitchPropsType) => JSX.Element;
4
+ export default DxcSwitch;
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -21,8 +19,6 @@ var _react = _interopRequireWildcard(require("react"));
21
19
 
22
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
22
  var _core = require("@material-ui/core");
27
23
 
28
24
  var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
@@ -31,37 +27,25 @@ var _variables = require("../common/variables.js");
31
27
 
32
28
  var _utils = require("../common/utils.js");
33
29
 
34
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
30
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
35
31
 
36
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
32
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
37
33
 
38
- function _templateObject2() {
39
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n cursor: ", ";\n ", "\n"]);
34
+ var _templateObject, _templateObject2;
40
35
 
41
- _templateObject2 = function _templateObject2() {
42
- return data;
43
- };
44
-
45
- return data;
46
- }
36
+ 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); }
47
37
 
48
- function _templateObject() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n display: inline-flex;\n align-items: center;\n flex-direction: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n opacity: 1;\n \n .MuiSwitch-root {\n align-items: center;\n width: ", ";\n height: 45px;\n margin: 3px;\n\n .Mui-focusVisible {\n border: ", ";\n padding: 7px;\n }\n\n .MuiSwitch-track {\n /*Enabled and unchecked bar*/\n background-color: ", ";\n height: ", ";\n }\n\n .MuiSwitch-switchBase + .MuiSwitch-track {\n opacity: 1;\n }\n\n .MuiIconButton-root {\n /*Enabled and unchecked*/\n top: unset;\n .MuiSwitch-thumb {\n /*Only for thumb in all states*/\n width: ", ";\n height: ", ";\n }\n color: ", ";\n &:hover {\n background-color: transparent;\n }\n &.Mui-disabled {\n /*Disabled and unchecked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and unchecked bar*/\n background-color: ", ";\n }\n }\n &.Mui-disabled.Mui-checked {\n /*Disabled and checked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and checked bar*/\n background-color: ", ";\n }\n }\n &.Mui-checked {\n /*Enabled and checked*/\n color: ", ";\n transform: translateX(", ");\n &:hover {\n background-color: transparent;\n }\n + .MuiSwitch-track {\n /*Enabled and checked bar*/\n background-color: ", ";\n }\n }\n }\n }\n"]);
50
-
51
- _templateObject = function _templateObject() {
52
- return data;
53
- };
54
-
55
- return data;
56
- }
38
+ 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; }
57
39
 
58
40
  var DxcSwitch = function DxcSwitch(_ref) {
59
41
  var checked = _ref.checked,
60
42
  value = _ref.value,
61
- label = _ref.label,
43
+ _ref$label = _ref.label,
44
+ label = _ref$label === void 0 ? "" : _ref$label,
62
45
  _ref$labelPosition = _ref.labelPosition,
63
46
  labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
64
- name = _ref.name,
47
+ _ref$name = _ref.name,
48
+ name = _ref$name === void 0 ? "" : _ref$name,
65
49
  _ref$disabled = _ref.disabled,
66
50
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
67
51
  onChange = _ref.onChange,
@@ -73,7 +57,7 @@ var DxcSwitch = function DxcSwitch(_ref) {
73
57
  _ref$tabIndex = _ref.tabIndex,
74
58
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
75
59
 
76
- var _useState = (0, _react.useState)(0),
60
+ var _useState = (0, _react.useState)(false),
77
61
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
78
62
  innerChecked = _useState2[0],
79
63
  setInnerChecked = _useState2[1];
@@ -81,31 +65,26 @@ var DxcSwitch = function DxcSwitch(_ref) {
81
65
  var colorsTheme = (0, _useTheme["default"])();
82
66
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
83
67
 
84
- var handlerSwitchChange = function handlerSwitchChange(newValue) {
68
+ var handlerSwitchChange = function handlerSwitchChange(event) {
85
69
  if (checked === undefined) {
86
- var isChecked = newValue.target.checked === undefined ? !innerChecked : newValue.target.checked;
87
- setInnerChecked(isChecked);
70
+ var _event$target$checked;
88
71
 
89
- if (typeof onChange === "function") {
90
- onChange(isChecked);
91
- }
92
- } else {
93
- if (typeof onChange === "function") {
94
- onChange(!checked);
95
- }
96
- }
72
+ var isChecked = (_event$target$checked = event.target.checked) !== null && _event$target$checked !== void 0 ? _event$target$checked : !innerChecked;
73
+ setInnerChecked(isChecked);
74
+ onChange === null || onChange === void 0 ? void 0 : onChange(isChecked);
75
+ } else onChange === null || onChange === void 0 ? void 0 : onChange(!checked);
97
76
  };
98
77
 
99
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
78
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
100
79
  theme: colorsTheme["switch"]
101
- }, _react["default"].createElement(SwitchContainer, {
80
+ }, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
102
81
  margin: margin,
103
82
  disabled: disabled,
104
83
  labelPosition: labelPosition,
105
84
  size: size,
106
85
  backgroundType: backgroundType
107
- }, _react["default"].createElement(_core.Switch, {
108
- checked: checked != undefined ? checked : innerChecked,
86
+ }, /*#__PURE__*/_react["default"].createElement(_core.Switch, {
87
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
109
88
  inputProps: {
110
89
  name: name,
111
90
  tabIndex: tabIndex
@@ -114,12 +93,12 @@ var DxcSwitch = function DxcSwitch(_ref) {
114
93
  value: value,
115
94
  disabled: disabled,
116
95
  disableRipple: true
117
- }), _react["default"].createElement(LabelContainer, {
96
+ }), /*#__PURE__*/_react["default"].createElement(LabelContainer, {
118
97
  labelPosition: labelPosition,
119
- onClick: disabled === true ? function () {} : handlerSwitchChange,
98
+ onClick: !disabled && handlerSwitchChange,
120
99
  disabled: disabled,
121
100
  backgroundType: backgroundType
122
- }, required && _react["default"].createElement(_RequiredComponent["default"], null), label)));
101
+ }, required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label)));
123
102
  };
124
103
 
125
104
  var sizes = {
@@ -131,14 +110,10 @@ var sizes = {
131
110
  };
132
111
 
133
112
  var calculateWidth = function calculateWidth(margin, size) {
134
- if (size === "fillParent") {
135
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
136
- }
137
-
138
- return sizes[size];
113
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
139
114
  };
140
115
 
141
- var SwitchContainer = _styledComponents["default"].div(_templateObject(), function (props) {
116
+ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n display: inline-flex;\n align-items: center;\n flex-direction: ", ";\n \n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n\n .MuiSwitch-root {\n align-items: center;\n width: ", ";\n height: 45px;\n margin: 3px;\n\n .Mui-focusVisible {\n outline: ", ";\n outline-offset: -3px;\n }\n\n .MuiSwitch-track {\n /*Enabled and unchecked bar*/\n background-color: ", ";\n height: ", ";\n }\n\n .MuiSwitch-switchBase + .MuiSwitch-track {\n opacity: 1;\n }\n\n .MuiIconButton-root {\n /*Enabled and unchecked*/\n top: unset;\n .MuiSwitch-thumb {\n /*Only for thumb in all states*/\n width: ", ";\n height: ", ";\n }\n color: ", ";\n &:hover {\n background-color: transparent;\n }\n &.Mui-disabled {\n /*Disabled and unchecked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and unchecked bar*/\n background-color: ", ";\n }\n }\n &.Mui-disabled.Mui-checked {\n /*Disabled and checked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and checked bar*/\n background-color: ", ";\n }\n }\n &.Mui-checked {\n /*Enabled and checked*/\n color: ", ";\n transform: translateX(", ");\n &:hover {\n background-color: transparent;\n }\n + .MuiSwitch-track {\n /*Enabled and checked bar*/\n background-color: ", ";\n }\n }\n }\n }\n"])), function (props) {
142
117
  return calculateWidth(props.margin, props.size);
143
118
  }, function (props) {
144
119
  return props.labelPosition === "after" ? "row" : "row-reverse";
@@ -184,7 +159,7 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject(), functi
184
159
  return props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
185
160
  });
186
161
 
187
- var LabelContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
162
+ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n cursor: ", ";\n ", "\n"])), function (props) {
188
163
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
189
164
  }, function (props) {
190
165
  return props.theme.labelFontFamily;
@@ -200,23 +175,5 @@ var LabelContainer = _styledComponents["default"].span(_templateObject2(), funct
200
175
  return props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
201
176
  });
202
177
 
203
- DxcSwitch.propTypes = {
204
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
205
- checked: _propTypes["default"].bool,
206
- value: _propTypes["default"].any,
207
- label: _propTypes["default"].string,
208
- labelPosition: _propTypes["default"].oneOf(["after", "before", ""]),
209
- name: _propTypes["default"].string,
210
- disabled: _propTypes["default"].bool,
211
- onChange: _propTypes["default"].func,
212
- required: _propTypes["default"].bool,
213
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
214
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
215
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
216
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
217
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
218
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
219
- tabIndex: _propTypes["default"].number
220
- };
221
178
  var _default = DxcSwitch;
222
179
  exports["default"] = _default;
@@ -0,0 +1,160 @@
1
+ import React from "react";
2
+ import { userEvent, within } from "@storybook/testing-library";
3
+ import DxcSwitch from "./Switch";
4
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
5
+ import Title from "../../.storybook/components/Title";
6
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
7
+ import DarkContainer from "../../.storybook/components/DarkSection";
8
+
9
+ export default {
10
+ title: "Switch",
11
+ component: DxcSwitch,
12
+ };
13
+
14
+ export const Chromatic = () => (
15
+ <>
16
+ <ExampleContainer>
17
+ <Title title="With label after" theme="light" level={4} />
18
+ <DxcSwitch label="Switch" labelPosition="after" />
19
+ </ExampleContainer>
20
+ <ExampleContainer>
21
+ <Title title="Without label" theme="light" level={4} />
22
+ <DxcSwitch />
23
+ </ExampleContainer>
24
+ <ExampleContainer>
25
+ <Title title="Checked" theme="light" level={4} />
26
+ <DxcSwitch label="Switch" checked />
27
+ </ExampleContainer>
28
+ <ExampleContainer>
29
+ <Title title="Required" theme="light" level={4} />
30
+ <DxcSwitch label="Switch" required />
31
+ </ExampleContainer>
32
+ <ExampleContainer>
33
+ <Title title="Disabled" theme="light" level={4} />
34
+ <DxcSwitch label="Switch" disabled />
35
+ </ExampleContainer>
36
+ <ExampleContainer>
37
+ <Title title="Disabled required" theme="light" level={4} />
38
+ <DxcSwitch label="Switch" disabled required labelPosition="after" />
39
+ </ExampleContainer>
40
+ <ExampleContainer>
41
+ <Title title="Disabled checked" theme="light" level={4} />
42
+ <DxcSwitch label="Switch" disabled checked labelPosition="after" />
43
+ </ExampleContainer>
44
+ <BackgroundColorProvider color="#333333">
45
+ <DarkContainer>
46
+ <ExampleContainer>
47
+ <Title title="With label" theme="dark" level={4} />
48
+ <DxcSwitch label="Switch" />
49
+ </ExampleContainer>
50
+ <ExampleContainer>
51
+ <Title title="Checked" theme="dark" level={4} />
52
+ <DxcSwitch label="Switch" checked />
53
+ </ExampleContainer>
54
+ <ExampleContainer>
55
+ <Title title="Required" theme="dark" level={4} />
56
+ <DxcSwitch label="Switch" required />
57
+ </ExampleContainer>
58
+ <ExampleContainer>
59
+ <Title title="Disabled" theme="dark" level={4} />
60
+ <DxcSwitch label="Switch" disabled />
61
+ </ExampleContainer>
62
+ <ExampleContainer>
63
+ <Title title="Disabled required" theme="dark" level={4} />
64
+ <DxcSwitch label="Switch" disabled required labelPosition="after" />
65
+ </ExampleContainer>
66
+ <ExampleContainer>
67
+ <Title title="Disabled checked" theme="dark" level={4} />
68
+ <DxcSwitch label="Switch" disabled checked labelPosition="after" />
69
+ </ExampleContainer>
70
+ </DarkContainer>
71
+ </BackgroundColorProvider>
72
+ <Title title="Margins" theme="light" level={2} />
73
+ <ExampleContainer>
74
+ <Title title="Xxsmall margin" theme="light" level={4} />
75
+ <DxcSwitch label="Xxsmall" margin="xxsmall" />
76
+ </ExampleContainer>
77
+ <ExampleContainer>
78
+ <Title title="Xsmall margin" theme="light" level={4} />
79
+ <DxcSwitch label="Xsmall" margin="xsmall" />
80
+ </ExampleContainer>
81
+ <ExampleContainer>
82
+ <Title title="Small margin" theme="light" level={4} />
83
+ <DxcSwitch label="Small" margin="small" />
84
+ </ExampleContainer>
85
+ <ExampleContainer>
86
+ <Title title="Medium margin" theme="light" level={4} />
87
+ <DxcSwitch label="Medium" margin="medium" />
88
+ </ExampleContainer>
89
+ <ExampleContainer>
90
+ <Title title="Large margin" theme="light" level={4} />
91
+ <DxcSwitch label="Large" margin="large" />
92
+ </ExampleContainer>
93
+ <ExampleContainer>
94
+ <Title title="Xlarge margin" theme="light" level={4} />
95
+ <DxcSwitch label="Xlarge" margin="xlarge" />
96
+ </ExampleContainer>
97
+ <ExampleContainer>
98
+ <Title title="Xxlarge margin" theme="light" level={4} />
99
+ <DxcSwitch label="Xxlarge" margin="xxlarge" />
100
+ </ExampleContainer>
101
+ <Title title="Sizes" theme="light" level={2} />
102
+ <ExampleContainer>
103
+ <Title title="Small size" theme="light" level={4} />
104
+ <DxcSwitch label="Small" size="small" />
105
+ </ExampleContainer>
106
+ <ExampleContainer>
107
+ <Title title="Medium size (with large label)" theme="light" level={4} />
108
+ <DxcSwitch label="Very very very large label or even huge" size="medium" />
109
+ </ExampleContainer>
110
+ <ExampleContainer>
111
+ <Title title="Medium size (with long label)" theme="light" level={4} />
112
+ <DxcSwitch
113
+ label="Large texttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt"
114
+ labelPosition="after"
115
+ size="medium"
116
+ />
117
+ </ExampleContainer>
118
+ <ExampleContainer>
119
+ <Title title="Large size" theme="light" level={4} />
120
+ <DxcSwitch label="Large" size="large" />
121
+ </ExampleContainer>
122
+ <ExampleContainer>
123
+ <Title title="FillParent size" theme="light" level={4} />
124
+ <DxcSwitch label="FillParent" size="fillParent" />
125
+ </ExampleContainer>
126
+ <ExampleContainer>
127
+ <Title title="FitContent size" theme="light" level={4} />
128
+ <DxcSwitch label="FitContent" size="fitContent" />
129
+ </ExampleContainer>
130
+ </>
131
+ );
132
+
133
+ const Switch = () => (
134
+ <ExampleContainer>
135
+ <Title title="Focused" theme="light" level={4} />
136
+ <DxcSwitch label="Switch" />
137
+ </ExampleContainer>
138
+ );
139
+ export const FocusedSwitch = Switch.bind({});
140
+ FocusedSwitch.play = async ({ canvasElement }) => {
141
+ const canvas = within(canvasElement);
142
+ canvas.getByRole("checkbox").focus();
143
+ };
144
+
145
+ const DarkSwitch = () => (
146
+ <BackgroundColorProvider color="#333333">
147
+ <DarkContainer>
148
+ <ExampleContainer>
149
+ <Title title="Focused" theme="dark" level={4} />
150
+ <DxcSwitch label="Switch" />
151
+ </ExampleContainer>
152
+ </DarkContainer>
153
+ </BackgroundColorProvider>
154
+ );
155
+
156
+ export const FocusedSwitchOnDark = DarkSwitch.bind({});
157
+ FocusedSwitchOnDark.play = async ({ canvasElement }) => {
158
+ const canvas = within(canvasElement);
159
+ canvas.getByRole("checkbox").focus();
160
+ };
@@ -0,0 +1,73 @@
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 _Switch = _interopRequireDefault(require("./Switch"));
10
+
11
+ describe("Switch component tests", function () {
12
+ test("Switch renders with correct text", function () {
13
+ var onChange = jest.fn(function (returnedValue) {
14
+ expect(returnedValue).toBe(true);
15
+ });
16
+
17
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
18
+ label: "SwitchComponent",
19
+ checked: false,
20
+ onChange: onChange
21
+ })),
22
+ getByText = _render.getByText;
23
+
24
+ expect(getByText("SwitchComponent")).toBeTruthy();
25
+ });
26
+ test("Calls correct function on click", function () {
27
+ var onChange = jest.fn();
28
+
29
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
30
+ label: "SwitchComponent",
31
+ checked: false,
32
+ onChange: onChange
33
+ })),
34
+ getByText = _render2.getByText;
35
+
36
+ _react2.fireEvent.click(getByText("SwitchComponent"));
37
+
38
+ expect(onChange).toHaveBeenCalled();
39
+ });
40
+ test("Everytime the user clicks the component the onchange function is called with the correct value CONTROLLED COMPONENT", function () {
41
+ var onChange = jest.fn();
42
+
43
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
44
+ label: "SwitchComponent",
45
+ checked: false,
46
+ onChange: onChange
47
+ })),
48
+ getByText = _render3.getByText;
49
+
50
+ _react2.fireEvent.click(getByText("SwitchComponent"));
51
+
52
+ _react2.fireEvent.click(getByText("SwitchComponent"));
53
+
54
+ expect(onChange.mock.calls[0][0]).toBe(true);
55
+ expect(onChange.mock.calls[1][0]).toBe(true);
56
+ });
57
+ test("Everytime the user clicks the component the onchange function is called with the correct value UNCONTROLLED COMPONENT", function () {
58
+ var onChange = jest.fn();
59
+
60
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
61
+ label: "SwitchComponent",
62
+ onChange: onChange
63
+ })),
64
+ getByText = _render4.getByText;
65
+
66
+ _react2.fireEvent.click(getByText("SwitchComponent"));
67
+
68
+ _react2.fireEvent.click(getByText("SwitchComponent"));
69
+
70
+ expect(onChange.mock.calls[0][0]).toBe(true);
71
+ expect(onChange.mock.calls[1][0]).toBe(false);
72
+ });
73
+ });