@dxc-technology/halstack-react 0.0.0-38e128d → 0.0.0-39dd536

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 (466) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +226 -0
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +169 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +151 -0
  15. package/accordion-group/types.d.ts +72 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/{dist/alert → alert}/Alert.js +46 -156
  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 +61 -0
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +116 -0
  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/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +156 -0
  45. package/button/Button.stories.tsx +283 -0
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +161 -0
  51. package/card/Card.stories.tsx +201 -0
  52. package/card/Card.test.js +50 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +67 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/{dist/checkbox → checkbox}/Checkbox.js +55 -98
  58. package/checkbox/Checkbox.stories.tsx +188 -0
  59. package/checkbox/Checkbox.test.js +78 -0
  60. package/checkbox/types.d.ts +64 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +161 -0
  64. package/chip/Chip.stories.tsx +119 -0
  65. package/chip/Chip.test.js +56 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/{dist/common → common}/OpenSans.css +0 -0
  69. package/{dist/common → common}/RequiredComponent.js +3 -11
  70. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  71. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  72. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  73. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  74. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  75. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  76. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  77. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  78. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  79. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  80. package/{dist/common → common}/utils.js +0 -0
  81. package/{dist/common → common}/variables.js +476 -417
  82. package/date-input/DateInput.d.ts +4 -0
  83. package/date-input/DateInput.js +372 -0
  84. package/date-input/DateInput.stories.tsx +138 -0
  85. package/date-input/DateInput.test.js +479 -0
  86. package/date-input/types.d.ts +107 -0
  87. package/date-input/types.js +5 -0
  88. package/dialog/Dialog.d.ts +4 -0
  89. package/dialog/Dialog.js +162 -0
  90. package/dialog/Dialog.stories.tsx +211 -0
  91. package/dialog/Dialog.test.js +70 -0
  92. package/dialog/types.d.ts +43 -0
  93. package/dialog/types.js +5 -0
  94. package/dropdown/Dropdown.d.ts +4 -0
  95. package/{dist/dropdown → dropdown}/Dropdown.js +54 -207
  96. package/dropdown/Dropdown.stories.tsx +249 -0
  97. package/dropdown/Dropdown.test.js +189 -0
  98. package/dropdown/types.d.ts +80 -0
  99. package/dropdown/types.js +5 -0
  100. package/file-input/FileInput.d.ts +4 -0
  101. package/file-input/FileInput.js +593 -0
  102. package/file-input/FileInput.stories.tsx +507 -0
  103. package/file-input/FileInput.test.js +457 -0
  104. package/file-input/FileItem.d.ts +14 -0
  105. package/file-input/FileItem.js +186 -0
  106. package/file-input/types.d.ts +112 -0
  107. package/file-input/types.js +5 -0
  108. package/flex/Flex.d.ts +4 -0
  109. package/flex/Flex.js +57 -0
  110. package/flex/Flex.stories.tsx +103 -0
  111. package/flex/types.d.ts +21 -0
  112. package/flex/types.js +5 -0
  113. package/footer/Footer.d.ts +4 -0
  114. package/footer/Footer.js +185 -0
  115. package/footer/Footer.stories.tsx +130 -0
  116. package/footer/Footer.test.js +109 -0
  117. package/footer/Icons.d.ts +2 -0
  118. package/footer/Icons.js +77 -0
  119. package/footer/types.d.ts +65 -0
  120. package/footer/types.js +5 -0
  121. package/header/Header.d.ts +7 -0
  122. package/header/Header.js +303 -0
  123. package/header/Header.stories.tsx +172 -0
  124. package/header/Header.test.js +79 -0
  125. package/header/Icons.d.ts +2 -0
  126. package/header/Icons.js +34 -0
  127. package/header/types.d.ts +47 -0
  128. package/header/types.js +5 -0
  129. package/heading/Heading.d.ts +4 -0
  130. package/{dist/heading → heading}/Heading.js +31 -90
  131. package/heading/Heading.stories.tsx +54 -0
  132. package/heading/Heading.test.js +186 -0
  133. package/heading/types.d.ts +33 -0
  134. package/heading/types.js +5 -0
  135. package/inset/Inset.d.ts +3 -0
  136. package/inset/Inset.js +51 -0
  137. package/inset/Inset.stories.tsx +229 -0
  138. package/inset/types.d.ts +37 -0
  139. package/inset/types.js +5 -0
  140. package/layout/ApplicationLayout.d.ts +20 -0
  141. package/layout/ApplicationLayout.js +171 -0
  142. package/layout/ApplicationLayout.stories.tsx +161 -0
  143. package/layout/Icons.d.ts +5 -0
  144. package/layout/Icons.js +66 -0
  145. package/layout/SidenavContext.d.ts +5 -0
  146. package/layout/SidenavContext.js +19 -0
  147. package/layout/types.d.ts +42 -0
  148. package/layout/types.js +5 -0
  149. package/link/Link.d.ts +4 -0
  150. package/link/Link.js +136 -0
  151. package/link/Link.stories.tsx +193 -0
  152. package/link/Link.test.js +83 -0
  153. package/link/types.d.ts +54 -0
  154. package/link/types.js +5 -0
  155. package/main.d.ts +44 -0
  156. package/{dist/main.js → main.js} +121 -111
  157. package/number-input/NumberInput.d.ts +4 -0
  158. package/number-input/NumberInput.js +76 -0
  159. package/number-input/NumberInput.stories.tsx +115 -0
  160. package/number-input/NumberInput.test.js +506 -0
  161. package/number-input/NumberInputContext.d.ts +4 -0
  162. package/{dist/number/NumberContext.js → number-input/NumberInputContext.js} +6 -3
  163. package/number-input/numberInputContextTypes.d.ts +19 -0
  164. package/number-input/numberInputContextTypes.js +5 -0
  165. package/number-input/types.d.ts +124 -0
  166. package/number-input/types.js +5 -0
  167. package/package.json +40 -29
  168. package/paginator/Icons.js +66 -0
  169. package/paginator/Paginator.d.ts +4 -0
  170. package/paginator/Paginator.js +171 -0
  171. package/paginator/Paginator.stories.tsx +63 -0
  172. package/paginator/Paginator.test.js +308 -0
  173. package/paginator/types.d.ts +38 -0
  174. package/paginator/types.js +5 -0
  175. package/paragraph/Paragraph.d.ts +6 -0
  176. package/paragraph/Paragraph.js +38 -0
  177. package/paragraph/Paragraph.stories.tsx +44 -0
  178. package/password-input/PasswordInput.d.ts +4 -0
  179. package/{dist/password/Password.js → password-input/PasswordInput.js} +47 -81
  180. package/password-input/PasswordInput.stories.tsx +131 -0
  181. package/password-input/PasswordInput.test.js +180 -0
  182. package/password-input/types.d.ts +110 -0
  183. package/password-input/types.js +5 -0
  184. package/progress-bar/ProgressBar.d.ts +4 -0
  185. package/progress-bar/ProgressBar.js +176 -0
  186. package/progress-bar/ProgressBar.stories.jsx +60 -0
  187. package/progress-bar/ProgressBar.test.js +110 -0
  188. package/progress-bar/types.d.ts +36 -0
  189. package/progress-bar/types.js +5 -0
  190. package/quick-nav/QuickNav.d.ts +4 -0
  191. package/quick-nav/QuickNav.js +118 -0
  192. package/quick-nav/QuickNav.stories.tsx +264 -0
  193. package/quick-nav/types.d.ts +21 -0
  194. package/quick-nav/types.js +5 -0
  195. package/radio-group/Radio.d.ts +4 -0
  196. package/radio-group/Radio.js +141 -0
  197. package/radio-group/RadioGroup.d.ts +4 -0
  198. package/radio-group/RadioGroup.js +281 -0
  199. package/radio-group/RadioGroup.stories.tsx +100 -0
  200. package/radio-group/RadioGroup.test.js +695 -0
  201. package/radio-group/types.d.ts +114 -0
  202. package/radio-group/types.js +5 -0
  203. package/resultsetTable/ResultsetTable.d.ts +4 -0
  204. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
  205. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  206. package/resultsetTable/ResultsetTable.test.js +348 -0
  207. package/resultsetTable/types.d.ts +67 -0
  208. package/resultsetTable/types.js +5 -0
  209. package/select/Icons.d.ts +10 -0
  210. package/select/Icons.js +93 -0
  211. package/select/Listbox.d.ts +4 -0
  212. package/select/Listbox.js +199 -0
  213. package/select/Option.d.ts +4 -0
  214. package/select/Option.js +110 -0
  215. package/select/Select.d.ts +4 -0
  216. package/select/Select.js +643 -0
  217. package/select/Select.stories.tsx +627 -0
  218. package/select/Select.test.js +2175 -0
  219. package/select/types.d.ts +210 -0
  220. package/select/types.js +5 -0
  221. package/sidenav/Sidenav.d.ts +10 -0
  222. package/sidenav/Sidenav.js +268 -0
  223. package/sidenav/Sidenav.stories.tsx +180 -0
  224. package/sidenav/Sidenav.test.js +44 -0
  225. package/sidenav/types.d.ts +73 -0
  226. package/sidenav/types.js +5 -0
  227. package/slider/Slider.d.ts +4 -0
  228. package/slider/Slider.js +318 -0
  229. package/slider/Slider.stories.tsx +177 -0
  230. package/slider/Slider.test.js +150 -0
  231. package/slider/types.d.ts +82 -0
  232. package/slider/types.js +5 -0
  233. package/spinner/Spinner.d.ts +4 -0
  234. package/spinner/Spinner.js +250 -0
  235. package/spinner/Spinner.stories.jsx +103 -0
  236. package/spinner/Spinner.test.js +64 -0
  237. package/spinner/types.d.ts +32 -0
  238. package/spinner/types.js +5 -0
  239. package/switch/Switch.d.ts +4 -0
  240. package/switch/Switch.js +195 -0
  241. package/switch/Switch.stories.tsx +160 -0
  242. package/switch/Switch.test.js +98 -0
  243. package/switch/types.d.ts +62 -0
  244. package/switch/types.js +5 -0
  245. package/table/Table.d.ts +4 -0
  246. package/{dist/table → table}/Table.js +12 -26
  247. package/table/Table.stories.jsx +277 -0
  248. package/table/Table.test.js +26 -0
  249. package/table/types.d.ts +21 -0
  250. package/table/types.js +5 -0
  251. package/tabs/Tabs.d.ts +4 -0
  252. package/tabs/Tabs.js +211 -0
  253. package/tabs/Tabs.stories.tsx +112 -0
  254. package/tabs/Tabs.test.js +140 -0
  255. package/tabs/types.d.ts +82 -0
  256. package/tabs/types.js +5 -0
  257. package/tabs-nav/NavTabs.d.ts +8 -0
  258. package/tabs-nav/NavTabs.js +125 -0
  259. package/tabs-nav/NavTabs.stories.tsx +170 -0
  260. package/tabs-nav/NavTabs.test.js +82 -0
  261. package/tabs-nav/Tab.d.ts +4 -0
  262. package/tabs-nav/Tab.js +130 -0
  263. package/tabs-nav/types.d.ts +53 -0
  264. package/tabs-nav/types.js +5 -0
  265. package/tag/Tag.d.ts +4 -0
  266. package/tag/Tag.js +183 -0
  267. package/tag/Tag.stories.tsx +142 -0
  268. package/tag/Tag.test.js +60 -0
  269. package/tag/types.d.ts +69 -0
  270. package/tag/types.js +5 -0
  271. package/text-input/Suggestion.d.ts +4 -0
  272. package/text-input/Suggestion.js +55 -0
  273. package/text-input/TextInput.d.ts +4 -0
  274. package/text-input/TextInput.js +761 -0
  275. package/text-input/TextInput.stories.tsx +473 -0
  276. package/text-input/TextInput.test.js +1712 -0
  277. package/text-input/types.d.ts +178 -0
  278. package/text-input/types.js +5 -0
  279. package/textarea/Textarea.d.ts +4 -0
  280. package/{dist/new-textarea/NewTextarea.js → textarea/Textarea.js} +60 -145
  281. package/textarea/Textarea.stories.jsx +157 -0
  282. package/textarea/Textarea.test.js +437 -0
  283. package/textarea/types.d.ts +137 -0
  284. package/textarea/types.js +5 -0
  285. package/toggle-group/ToggleGroup.d.ts +4 -0
  286. package/toggle-group/ToggleGroup.js +215 -0
  287. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  288. package/toggle-group/ToggleGroup.test.js +156 -0
  289. package/toggle-group/types.d.ts +105 -0
  290. package/toggle-group/types.js +5 -0
  291. package/typography/Typography.d.ts +4 -0
  292. package/typography/Typography.js +131 -0
  293. package/typography/Typography.stories.tsx +198 -0
  294. package/typography/types.d.ts +18 -0
  295. package/typography/types.js +5 -0
  296. package/useTheme.d.ts +2 -0
  297. package/{dist/useTheme.js → useTheme.js} +2 -2
  298. package/useTranslatedLabels.d.ts +2 -0
  299. package/useTranslatedLabels.js +20 -0
  300. package/wizard/Wizard.d.ts +4 -0
  301. package/wizard/Wizard.js +285 -0
  302. package/wizard/Wizard.stories.tsx +233 -0
  303. package/wizard/Wizard.test.js +141 -0
  304. package/wizard/types.d.ts +65 -0
  305. package/wizard/types.js +5 -0
  306. package/README.md +0 -66
  307. package/babel.config.js +0 -8
  308. package/dist/BackgroundColorContext.js +0 -46
  309. package/dist/ThemeContext.js +0 -248
  310. package/dist/accordion/Accordion.js +0 -353
  311. package/dist/accordion-group/AccordionGroup.js +0 -186
  312. package/dist/alert/index.d.ts +0 -51
  313. package/dist/badge/Badge.js +0 -63
  314. package/dist/box/Box.js +0 -156
  315. package/dist/button/Button.js +0 -238
  316. package/dist/card/Card.js +0 -254
  317. package/dist/checkbox/Checkbox.stories.js +0 -144
  318. package/dist/checkbox/readme.md +0 -116
  319. package/dist/chip/Chip.js +0 -265
  320. package/dist/date/Date.js +0 -379
  321. package/dist/date/Date.stories.js +0 -205
  322. package/dist/date/readme.md +0 -73
  323. package/dist/dialog/Dialog.js +0 -218
  324. package/dist/file-input/FileInput.js +0 -641
  325. package/dist/file-input/FileItem.js +0 -280
  326. package/dist/file-input/index.d.ts +0 -81
  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 -403
  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/Link.js +0 -237
  347. package/dist/link/readme.md +0 -51
  348. package/dist/main.d.ts +0 -7
  349. package/dist/new-date/NewDate.js +0 -400
  350. package/dist/new-date/index.d.ts +0 -95
  351. package/dist/new-input-text/NewInputText.js +0 -964
  352. package/dist/new-input-text/index.d.ts +0 -135
  353. package/dist/new-textarea/index.d.ts +0 -117
  354. package/dist/number/Number.js +0 -136
  355. package/dist/number/index.d.ts +0 -113
  356. package/dist/paginator/Paginator.js +0 -289
  357. package/dist/paginator/images/next.svg +0 -3
  358. package/dist/paginator/images/nextPage.svg +0 -3
  359. package/dist/paginator/images/previous.svg +0 -3
  360. package/dist/paginator/images/previousPage.svg +0 -3
  361. package/dist/paginator/readme.md +0 -50
  362. package/dist/password/index.d.ts +0 -94
  363. package/dist/password/styles.css +0 -3
  364. package/dist/progress-bar/ProgressBar.js +0 -242
  365. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  366. package/dist/progress-bar/readme.md +0 -63
  367. package/dist/radio/Radio.js +0 -209
  368. package/dist/radio/Radio.stories.js +0 -166
  369. package/dist/radio/readme.md +0 -70
  370. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  371. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  372. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  373. package/dist/select/Select.js +0 -549
  374. package/dist/sidenav/Sidenav.js +0 -179
  375. package/dist/slider/Slider.js +0 -319
  376. package/dist/slider/Slider.stories.js +0 -241
  377. package/dist/slider/readme.md +0 -64
  378. package/dist/spinner/Spinner.js +0 -381
  379. package/dist/spinner/Spinner.stories.js +0 -183
  380. package/dist/spinner/readme.md +0 -65
  381. package/dist/switch/Switch.js +0 -222
  382. package/dist/switch/Switch.stories.js +0 -134
  383. package/dist/switch/readme.md +0 -133
  384. package/dist/tabs/Tabs.js +0 -343
  385. package/dist/tabs/Tabs.stories.js +0 -130
  386. package/dist/tabs/readme.md +0 -78
  387. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  388. package/dist/tabs-for-sections/readme.md +0 -78
  389. package/dist/tag/Tag.js +0 -282
  390. package/dist/textarea/Textarea.js +0 -264
  391. package/dist/toggle/Toggle.js +0 -220
  392. package/dist/toggle/Toggle.stories.js +0 -297
  393. package/dist/toggle/readme.md +0 -80
  394. package/dist/toggle-group/ToggleGroup.js +0 -223
  395. package/dist/upload/Upload.js +0 -205
  396. package/dist/upload/Upload.stories.js +0 -72
  397. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  398. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  399. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  400. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  401. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  402. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  403. package/dist/upload/file-upload/FileToUpload.js +0 -184
  404. package/dist/upload/file-upload/audio-icon.svg +0 -4
  405. package/dist/upload/file-upload/close.svg +0 -4
  406. package/dist/upload/file-upload/file-icon.svg +0 -4
  407. package/dist/upload/file-upload/video-icon.svg +0 -4
  408. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  409. package/dist/upload/readme.md +0 -37
  410. package/dist/upload/transaction/Transaction.js +0 -175
  411. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  412. package/dist/upload/transaction/audio-icon.svg +0 -4
  413. package/dist/upload/transaction/error-icon.svg +0 -4
  414. package/dist/upload/transaction/file-icon-err.svg +0 -4
  415. package/dist/upload/transaction/file-icon.svg +0 -4
  416. package/dist/upload/transaction/image-icon-err.svg +0 -4
  417. package/dist/upload/transaction/image-icon.svg +0 -4
  418. package/dist/upload/transaction/success-icon.svg +0 -4
  419. package/dist/upload/transaction/video-icon-err.svg +0 -4
  420. package/dist/upload/transaction/video-icon.svg +0 -4
  421. package/dist/upload/transactions/Transactions.js +0 -138
  422. package/dist/wizard/Wizard.js +0 -411
  423. package/dist/wizard/invalid_icon.svg +0 -5
  424. package/dist/wizard/valid_icon.svg +0 -5
  425. package/dist/wizard/validation-wrong.svg +0 -6
  426. package/test/Accordion.test.js +0 -33
  427. package/test/AccordionGroup.test.js +0 -125
  428. package/test/Alert.test.js +0 -53
  429. package/test/Box.test.js +0 -10
  430. package/test/Button.test.js +0 -18
  431. package/test/Card.test.js +0 -30
  432. package/test/Checkbox.test.js +0 -45
  433. package/test/Chip.test.js +0 -25
  434. package/test/Date.test.js +0 -393
  435. package/test/Dialog.test.js +0 -23
  436. package/test/Dropdown.test.js +0 -145
  437. package/test/FileInput.test.js +0 -201
  438. package/test/Footer.test.js +0 -99
  439. package/test/Header.test.js +0 -39
  440. package/test/Heading.test.js +0 -35
  441. package/test/InputText.test.js +0 -240
  442. package/test/Link.test.js +0 -43
  443. package/test/NewDate.test.js +0 -232
  444. package/test/NewInputText.test.js +0 -734
  445. package/test/NewTextarea.test.js +0 -195
  446. package/test/Number.test.js +0 -257
  447. package/test/Paginator.test.js +0 -177
  448. package/test/Password.test.js +0 -83
  449. package/test/ProgressBar.test.js +0 -35
  450. package/test/Radio.test.js +0 -37
  451. package/test/ResultsetTable.test.js +0 -329
  452. package/test/Select.test.js +0 -212
  453. package/test/Sidenav.test.js +0 -45
  454. package/test/Slider.test.js +0 -82
  455. package/test/Spinner.test.js +0 -32
  456. package/test/Switch.test.js +0 -45
  457. package/test/Table.test.js +0 -36
  458. package/test/Tabs.test.js +0 -109
  459. package/test/TabsForSections.test.js +0 -34
  460. package/test/Tag.test.js +0 -32
  461. package/test/TextArea.test.js +0 -52
  462. package/test/ToggleGroup.test.js +0 -81
  463. package/test/Upload.test.js +0 -60
  464. package/test/Wizard.test.js +0 -130
  465. package/test/mocks/pngMock.js +0 -1
  466. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
+
22
+ var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/ExpansionPanel"));
23
+
24
+ var _ExpansionPanelSummary = _interopRequireDefault(require("@material-ui/core/ExpansionPanelSummary"));
25
+
26
+ var _ExpansionPanelDetails = _interopRequireDefault(require("@material-ui/core/ExpansionPanelDetails"));
27
+
28
+ var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
29
+
30
+ var _utils = require("../common/utils.js");
31
+
32
+ var _variables = require("../common/variables.js");
33
+
34
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
35
+
36
+ var _BackgroundColorContext = require("../BackgroundColorContext");
37
+
38
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
39
+
40
+ 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); }
41
+
42
+ 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; }
43
+
44
+ var DxcAccordion = function DxcAccordion(_ref) {
45
+ var _ref$label = _ref.label,
46
+ label = _ref$label === void 0 ? "" : _ref$label,
47
+ defaultIsExpanded = _ref.defaultIsExpanded,
48
+ isExpanded = _ref.isExpanded,
49
+ icon = _ref.icon,
50
+ _ref$assistiveText = _ref.assistiveText,
51
+ assistiveText = _ref$assistiveText === void 0 ? "" : _ref$assistiveText,
52
+ _ref$disabled = _ref.disabled,
53
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
54
+ onChange = _ref.onChange,
55
+ children = _ref.children,
56
+ margin = _ref.margin,
57
+ padding = _ref.padding,
58
+ _ref$tabIndex = _ref.tabIndex,
59
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
60
+
61
+ var _useState = (0, _react.useState)(defaultIsExpanded !== null && defaultIsExpanded !== void 0 ? defaultIsExpanded : false),
62
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
63
+ innerIsExpanded = _useState2[0],
64
+ setInnerIsExpanded = _useState2[1];
65
+
66
+ var colorsTheme = (0, _useTheme["default"])();
67
+
68
+ var handlerAccordion = function handlerAccordion() {
69
+ if (isExpanded == null) {
70
+ setInnerIsExpanded(!innerIsExpanded);
71
+ }
72
+
73
+ if (typeof onChange === "function") {
74
+ onChange(isExpanded == null ? !innerIsExpanded : !isExpanded);
75
+ }
76
+ };
77
+
78
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
79
+ theme: colorsTheme.accordion
80
+ }, /*#__PURE__*/_react["default"].createElement(DXCAccordion, {
81
+ padding: padding,
82
+ margin: margin,
83
+ disabled: disabled,
84
+ icon: icon
85
+ }, /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], {
86
+ disabled: disabled,
87
+ onChange: handlerAccordion,
88
+ expanded: isExpanded != null ? isExpanded : innerIsExpanded
89
+ }, /*#__PURE__*/_react["default"].createElement(_ExpansionPanelSummary["default"], {
90
+ expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null),
91
+ tabIndex: disabled ? -1 : tabIndex
92
+ }, /*#__PURE__*/_react["default"].createElement(AccordionInfo, {
93
+ disabled: disabled
94
+ }, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
95
+ disabled: disabled
96
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(AccordionIcon, {
97
+ src: icon
98
+ }) : icon), /*#__PURE__*/_react["default"].createElement(AccordionLabel, null, label)), assistiveText && /*#__PURE__*/_react["default"].createElement(AccordionAssistiveText, {
99
+ disabled: disabled
100
+ }, assistiveText)), /*#__PURE__*/_react["default"].createElement(_ExpansionPanelDetails["default"], null, /*#__PURE__*/_react["default"].createElement(AccordionContent, {
101
+ disabled: disabled
102
+ }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
103
+ color: colorsTheme.accordion.backgroundColor
104
+ }, children))))));
105
+ };
106
+
107
+ var calculateWidth = function calculateWidth(margin) {
108
+ return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
109
+ };
110
+
111
+ var DXCAccordion = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-width: 280px;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n cursor: ", ";\n\n .MuiPaper-root {\n min-width: 0;\n display: flex;\n left: 85px;\n background-color: ", " !important;\n box-shadow: ", ";\n position: static;\n width: 100%;\n border-radius: ", ";\n\n &.Mui-expanded {\n border-radius: ", ";\n }\n &.MuiExpansionPanel-root {\n display: flex;\n flex-direction: column;\n min-height: 48px;\n }\n &.MuiExpansionPanel-rounded {\n border-radius: ", ";\n }\n .MuiButtonBase-root.MuiExpansionPanelSummary-root {\n min-height: 48px;\n height: 48px;\n\n :focus {\n outline-color: ", ";\n outline-style: ", ";\n outline-width: ", ";\n background-color: ", ";\n }\n :hover {\n background-color: ", ";\n }\n :active {\n background-color: ", ";\n }\n &.Mui-disabled {\n opacity: 1;\n }\n }\n .MuiButtonBase-root {\n border-radius: ", ";\n\n &.Mui-expanded {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n .MuiSvgIcon-root {\n opacity: 1;\n }\n }\n &.MuiIconButton-root {\n height: auto;\n }\n .MuiExpansionPanelSummary-content {\n padding-top: ", ";\n padding-bottom: ", ";\n padding-right: ", ";\n padding-left: ", ";\n min-width: 0;\n &.Mui-expanded {\n div:nth-child(2) {\n opacity: 1;\n }\n }\n :hover {\n div {\n opacity: 1;\n }\n }\n }\n }\n .MuiTouchRipple-root {\n display: none;\n }\n }\n .MuiCollapse-hidden {\n display: none;\n }\n .MuiCollapse-container {\n border-radius: 0px 0px 4px 4px;\n cursor: default;\n width: 100%;\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n .MuiExpansionPanelDetails-root {\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"])), function (props) {
112
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
113
+ }, function (props) {
114
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
115
+ }, function (props) {
116
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
117
+ }, function (props) {
118
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
119
+ }, function (props) {
120
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
121
+ }, function (props) {
122
+ return calculateWidth(props.margin);
123
+ }, function (props) {
124
+ return props.disabled && "not-allowed" || "pointer";
125
+ }, function (props) {
126
+ return props.theme.backgroundColor;
127
+ }, function (props) {
128
+ return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
129
+ }, function (props) {
130
+ return props.theme.borderRadius;
131
+ }, function (props) {
132
+ return props.theme.borderRadius;
133
+ }, function (props) {
134
+ return props.theme.borderRadius;
135
+ }, function (props) {
136
+ return props.theme.focusBorderColor;
137
+ }, function (props) {
138
+ return props.theme.focusBorderStyle;
139
+ }, function (props) {
140
+ return props.theme.focusBorderThickness;
141
+ }, function (props) {
142
+ return props.theme.backgroundColor;
143
+ }, function (props) {
144
+ return "".concat(props.theme.hoverBackgroundColor);
145
+ }, function (props) {
146
+ return "".concat(props.theme.hoverBackgroundColor);
147
+ }, function (props) {
148
+ return props.theme.borderRadius;
149
+ }, function (props) {
150
+ return props.theme.titleLabelPaddingTop;
151
+ }, function (props) {
152
+ return props.theme.titleLabelPaddingBottom;
153
+ }, function (props) {
154
+ return props.theme.titleLabelPaddingRight;
155
+ }, function (props) {
156
+ return props.theme.titleLabelPaddingLeft;
157
+ }, function (props) {
158
+ return props.disabled ? props.theme.disabledArrowColor : props.theme.arrowColor;
159
+ }, function (props) {
160
+ return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
161
+ }, function (props) {
162
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
163
+ }, function (props) {
164
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
165
+ }, function (props) {
166
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
167
+ }, function (props) {
168
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
169
+ });
170
+
171
+ var AccordionInfo = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n padding-left: ", ";\n padding-right: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
172
+ return props.theme.titlePaddingLeft;
173
+ }, function (props) {
174
+ return props.theme.titlePaddingRight;
175
+ }, function (props) {
176
+ return props.theme.titleLabelFontFamily;
177
+ }, function (props) {
178
+ return props.theme.titleLabelFontSize;
179
+ }, function (props) {
180
+ return props.theme.titleLabelFontStyle;
181
+ }, function (props) {
182
+ return props.theme.titleFonLabeltWeight;
183
+ }, function (props) {
184
+ return props.disabled ? props.theme.disabledTitleLabelFontColor : props.theme.titleLabelFontColor;
185
+ });
186
+
187
+ var AccordionLabel = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])([""])));
188
+
189
+ var AccordionContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n"])));
190
+
191
+ var AccordionAssistiveText = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n padding-left: ", ";\n padding-right: ", ";\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: ", ";\n text-align: end;\n"])), function (props) {
192
+ return props.theme.assistiveTextPaddingLeft;
193
+ }, function (props) {
194
+ return props.theme.assistiveTextPaddingRight;
195
+ }, function (props) {
196
+ return props.theme.assistiveTextFontSize;
197
+ }, function (props) {
198
+ return props.theme.assistiveTextFontFamily;
199
+ }, function (props) {
200
+ return props.theme.assistiveTextFontStyle;
201
+ }, function (props) {
202
+ return props.theme.assistiveTextFontWeight;
203
+ }, function (props) {
204
+ return props.disabled ? props.theme.disabledAssistiveTextFontColor : props.theme.assistiveTextFontColor;
205
+ }, function (props) {
206
+ return props.theme.assistiveTextLetterSpacing;
207
+ }, function (props) {
208
+ return props.theme.assistiveTextMinWidth;
209
+ });
210
+
211
+ var IconContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
212
+ return props.theme.iconSize;
213
+ }, function (props) {
214
+ return props.theme.iconSize;
215
+ }, function (props) {
216
+ return props.theme.iconMarginLeft;
217
+ }, function (props) {
218
+ return props.theme.iconMarginRigth;
219
+ }, function (props) {
220
+ return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
221
+ });
222
+
223
+ var AccordionIcon = _styledComponents["default"].img(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])([""])));
224
+
225
+ var _default = DxcAccordion;
226
+ exports["default"] = _default;
@@ -0,0 +1,307 @@
1
+ import React from "react";
2
+ import DxcAccordion from "./Accordion";
3
+ import DxcHeading from "../heading/Heading";
4
+ import DxcTextInput from "../text-input/TextInput";
5
+ import DxcButton from "../button/Button";
6
+ import Title from "../../.storybook/components/Title";
7
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
8
+ import { HalstackProvider } from "../HalstackContext";
9
+
10
+ export default {
11
+ title: "Accordion",
12
+ component: DxcAccordion,
13
+ };
14
+
15
+ const folderIcon = (
16
+ <svg
17
+ xmlns="http://www.w3.org/2000/svg"
18
+ enableBackground="new 0 0 24 24"
19
+ height="24px"
20
+ viewBox="0 0 24 24"
21
+ width="24px"
22
+ fill="currentColor"
23
+ >
24
+ <g>
25
+ <rect fill="none" height="24" width="24" />
26
+ </g>
27
+ <g>
28
+ <path d="M20,6h-8l-2-2H4C2.9,4,2.01,4.9,2.01,6L2,18c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M16,16h2v-2h-2v-2 h2v-2h-2V8h4v10h-4V16z M16,16h-2v2H4V6h5.17l2,2H14v2h2v2h-2v2h2V16z" />
29
+ </g>
30
+ </svg>
31
+ );
32
+
33
+ const thumbIcon = (
34
+ <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
35
+ <path d="M0 0h24v24H0V0z" fill="none" />
36
+ <path d="M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2z" />
37
+ </svg>
38
+ );
39
+
40
+ const advancedTheme = {
41
+ accordion: {
42
+ backgroundColor: "#000000",
43
+ assistiveTextFontColor: "#ffffff",
44
+ titleLabelFontColor: "#ffffff",
45
+ arrowColor: "#5f249f",
46
+ iconColor: "#5f249f",
47
+ },
48
+ };
49
+
50
+ export const Chromatic = () => (
51
+ <>
52
+ <Title title="Component anatomy" theme="light" level={2} />
53
+ <ExampleContainer>
54
+ <Title title="With label" theme="light" level={4} />
55
+ <DxcAccordion label="Accordion">
56
+ <div>
57
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
58
+ lobortis eget.
59
+ </div>
60
+ </DxcAccordion>
61
+ </ExampleContainer>
62
+ <ExampleContainer>
63
+ <Title title="With assistive text" theme="light" level={4} />
64
+ <DxcAccordion label="Accordion" assistiveText="Assistive text">
65
+ <div>
66
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
67
+ lobortis eget.
68
+ </div>
69
+ </DxcAccordion>
70
+ </ExampleContainer>
71
+ <ExampleContainer>
72
+ <Title title="With icon" theme="light" level={4} />
73
+ <DxcAccordion label="Accordion" assistiveText="Assistive text" icon={folderIcon}>
74
+ <div>
75
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
76
+ lobortis eget.
77
+ </div>
78
+ </DxcAccordion>
79
+ </ExampleContainer>
80
+ <ExampleContainer>
81
+ <Title title="With bigger icon 48x48" theme="light" level={4} />
82
+ <DxcAccordion label="Accordion" assistiveText="Assistive text" icon={thumbIcon}>
83
+ <div>
84
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
85
+ lobortis eget.
86
+ </div>
87
+ </DxcAccordion>
88
+ </ExampleContainer>
89
+ <Title title="States" theme="light" level={2} />
90
+ <ExampleContainer pseudoState="pseudo-focus">
91
+ <Title title="Focused" theme="light" level={4} />
92
+ <DxcAccordion label="Focused">
93
+ <div>
94
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
95
+ lobortis eget.
96
+ </div>
97
+ </DxcAccordion>
98
+ </ExampleContainer>
99
+ <ExampleContainer pseudoState="pseudo-hover">
100
+ <Title title="Hovered" theme="light" level={4} />
101
+ <DxcAccordion label="Hovered">
102
+ <div>
103
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
104
+ lobortis eget.
105
+ </div>
106
+ </DxcAccordion>
107
+ </ExampleContainer>
108
+ <ExampleContainer pseudoState="pseudo-active">
109
+ <Title title="Active" theme="light" level={4} />
110
+ <DxcAccordion label="Active">
111
+ <div>
112
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
113
+ lobortis eget.
114
+ </div>
115
+ </DxcAccordion>
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="Disabled" theme="light" level={4} />
119
+ <DxcAccordion label="Disabled" assistiveText="Assistive text" icon={folderIcon} disabled>
120
+ <div>
121
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
122
+ lobortis eget.
123
+ </div>
124
+ </DxcAccordion>
125
+ </ExampleContainer>
126
+ <ExampleContainer>
127
+ <Title title="Background color provider over accordion content" theme="light" level={4} />
128
+ <HalstackProvider advancedTheme={advancedTheme}>
129
+ <DxcAccordion
130
+ label="Dark Accordion"
131
+ defaultIsExpanded
132
+ assistiveText="Assistive text"
133
+ icon={folderIcon}
134
+ padding="medium"
135
+ >
136
+ <div style={{ display: "flex", flexDirection: "column" }}>
137
+ <DxcTextInput
138
+ label="Label"
139
+ helperText="HelperText"
140
+ placeholder="Placeholder"
141
+ size="fillParent"
142
+ margin={{ bottom: "medium" }}
143
+ />
144
+ <DxcButton label="Submit" size="medium" />
145
+ </div>
146
+ </DxcAccordion>
147
+ </HalstackProvider>
148
+ </ExampleContainer>
149
+ <Title title="Paddings" theme="light" level={2} />
150
+ <ExampleContainer>
151
+ <Title title="Xxsmall padding" theme="light" level={4} />
152
+ <DxcAccordion label="Xxsmall padding" defaultIsExpanded padding="xxsmall">
153
+ <div>
154
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
155
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
156
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
157
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
158
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
159
+ est laborum.
160
+ </div>
161
+ </DxcAccordion>
162
+ </ExampleContainer>
163
+ <ExampleContainer>
164
+ <Title title="Xsmall padding" theme="light" level={4} />
165
+ <DxcAccordion label="Xsmall padding" defaultIsExpanded padding="xsmall">
166
+ <div>
167
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
168
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
169
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
170
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
171
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
172
+ est laborum.
173
+ </div>
174
+ </DxcAccordion>
175
+ </ExampleContainer>
176
+ <ExampleContainer>
177
+ <Title title="Small padding" theme="light" level={4} />
178
+ <DxcAccordion label="Small padding" defaultIsExpanded padding="small">
179
+ <div>
180
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
181
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
182
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
183
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
184
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
185
+ est laborum.
186
+ </div>
187
+ </DxcAccordion>
188
+ </ExampleContainer>
189
+ <ExampleContainer>
190
+ <Title title="Medium padding" theme="light" level={4} />
191
+ <DxcAccordion label="Medium padding" defaultIsExpanded padding="medium">
192
+ <div>
193
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
194
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
195
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
196
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
197
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
198
+ est laborum.
199
+ </div>
200
+ </DxcAccordion>
201
+ </ExampleContainer>
202
+ <ExampleContainer>
203
+ <Title title="Large padding" theme="light" level={4} />
204
+ <DxcAccordion label="Large padding" defaultIsExpanded padding="large">
205
+ <div>
206
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
207
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
208
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
209
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
210
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
211
+ est laborum.
212
+ </div>
213
+ </DxcAccordion>
214
+ </ExampleContainer>
215
+ <ExampleContainer>
216
+ <Title title="Xlarge padding" theme="light" level={4} />
217
+ <DxcAccordion label="Xlarge padding" defaultIsExpanded padding="xlarge">
218
+ <div>
219
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
220
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
221
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
222
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
223
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
224
+ est laborum.
225
+ </div>
226
+ </DxcAccordion>
227
+ </ExampleContainer>
228
+ <ExampleContainer>
229
+ <Title title="Xxlarge padding" theme="light" level={4} />
230
+ <DxcAccordion label="Xxlarge padding" defaultIsExpanded padding="xxlarge">
231
+ <div>
232
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
233
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
234
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
235
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
236
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
237
+ est laborum.
238
+ </div>
239
+ </DxcAccordion>
240
+ </ExampleContainer>
241
+ <Title title="Margins" theme="light" level={2} />
242
+ <ExampleContainer>
243
+ <Title title="Xxsmall margin" theme="light" level={4} />
244
+ <DxcAccordion label="Xxsmall margin" margin="xxsmall">
245
+ <div>
246
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
247
+ lobortis eget.
248
+ </div>
249
+ </DxcAccordion>
250
+ </ExampleContainer>
251
+ <ExampleContainer>
252
+ <Title title="Xsmall margin" theme="light" level={4} />
253
+ <DxcAccordion label="Xsmall margin" margin="xsmall">
254
+ <div>
255
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
256
+ lobortis eget.
257
+ </div>
258
+ </DxcAccordion>
259
+ </ExampleContainer>
260
+ <ExampleContainer>
261
+ <Title title="Small margin" theme="light" level={4} />
262
+ <DxcAccordion label="Small margin" margin="small">
263
+ <div>
264
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
265
+ lobortis eget.
266
+ </div>
267
+ </DxcAccordion>
268
+ </ExampleContainer>
269
+ <ExampleContainer>
270
+ <Title title="Medium margin" theme="light" level={4} />
271
+ <DxcAccordion label="Medium margin" margin="medium">
272
+ <div>
273
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
274
+ lobortis eget.
275
+ </div>
276
+ </DxcAccordion>
277
+ </ExampleContainer>
278
+ <ExampleContainer>
279
+ <Title title="Large margin" theme="light" level={4} />
280
+ <DxcAccordion label="Large margin" margin="large">
281
+ <div>
282
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
283
+ lobortis eget.
284
+ </div>
285
+ </DxcAccordion>
286
+ </ExampleContainer>
287
+ <ExampleContainer>
288
+ <Title title="Xlarge margin" theme="light" level={4} />
289
+ <DxcAccordion label="Xlarge margin" margin="xlarge">
290
+ <div>
291
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
292
+ lobortis eget.
293
+ </div>
294
+ </DxcAccordion>
295
+ </ExampleContainer>
296
+ <ExampleContainer>
297
+ <Title title="Xxlarge margin" theme="light" level={4} />
298
+ <DxcAccordion label="Xxlarge margin" margin="xxlarge">
299
+ <div>
300
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
301
+ lobortis eget.
302
+ </div>
303
+ </DxcAccordion>
304
+ <hr />
305
+ </ExampleContainer>
306
+ </>
307
+ );
@@ -0,0 +1,72 @@
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 _Accordion = _interopRequireDefault(require("./Accordion"));
10
+
11
+ describe("Accordion component tests", function () {
12
+ test("Accordion renders with correct text", function () {
13
+ var onChange = jest.fn();
14
+
15
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
16
+ label: "Accordion",
17
+ assistiveText: "Assistive text",
18
+ onChange: onChange
19
+ })),
20
+ getByText = _render.getByText;
21
+
22
+ expect(getByText("Accordion")).toBeTruthy();
23
+ expect(getByText("Assistive text")).toBeTruthy();
24
+ });
25
+ test("Accordion renders expanded by default when it is uncontrolled", function () {
26
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
27
+ label: "Accordion",
28
+ defaultIsExpanded: true
29
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "test-expanded"))),
30
+ getByRole = _render2.getByRole;
31
+
32
+ var accordion = getByRole("button");
33
+ expect(accordion.getAttribute("aria-expanded")).toBe("true");
34
+ });
35
+ test("Calls correct function on click", function () {
36
+ var onChange = jest.fn();
37
+
38
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
39
+ label: "Accordion",
40
+ onChange: onChange
41
+ })),
42
+ getByText = _render3.getByText;
43
+
44
+ _react2.fireEvent.click(getByText("Accordion"));
45
+
46
+ expect(onChange).toHaveBeenCalled();
47
+ });
48
+ test("Controlled accordion", function () {
49
+ var onChange = jest.fn();
50
+
51
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
52
+ label: "Accordion",
53
+ onChange: onChange,
54
+ isExpanded: true
55
+ })),
56
+ getByText = _render4.getByText,
57
+ getByRole = _render4.getByRole;
58
+
59
+ expect(getByRole("button").getAttribute("aria-expanded")).toBe("true");
60
+
61
+ _react2.fireEvent.click(getByText("Accordion"));
62
+
63
+ _react2.fireEvent.click(getByText("Accordion"));
64
+
65
+ _react2.fireEvent.click(getByText("Accordion"));
66
+
67
+ expect(onChange).toHaveBeenCalledTimes(3);
68
+ expect(onChange.mock.calls[0][0]).toBe(false);
69
+ expect(onChange.mock.calls[1][0]).toBe(false);
70
+ expect(onChange.mock.calls[2][0]).toBe(false);
71
+ });
72
+ });