@dxc-technology/halstack-react 0.0.0-011babe → 0.0.0-0271b6e

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 (472) 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 +248 -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 +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 +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +126 -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/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/card/Card.js +164 -0
  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/checkbox/Checkbox.js +247 -0
  53. package/checkbox/Checkbox.stories.tsx +192 -0
  54. package/checkbox/Checkbox.test.js +78 -0
  55. package/checkbox/types.d.ts +64 -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/common/utils.js +22 -0
  76. package/common/variables.js +1373 -0
  77. package/date-input/DateInput.d.ts +4 -0
  78. package/date-input/DateInput.js +354 -0
  79. package/date-input/DateInput.stories.tsx +138 -0
  80. package/date-input/DateInput.test.js +492 -0
  81. package/date-input/types.d.ts +104 -0
  82. package/date-input/types.js +5 -0
  83. package/dialog/Dialog.d.ts +4 -0
  84. package/dialog/Dialog.js +166 -0
  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/heading/Heading.js +159 -0
  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/link/Link.js +153 -0
  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 +47 -0
  148. package/{dist/main.js → main.js} +149 -65
  149. package/number-input/NumberInput.d.ts +4 -0
  150. package/number-input/NumberInput.js +76 -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/number-input/NumberInputContext.js +19 -0
  155. package/number-input/numberInputContextTypes.d.ts +19 -0
  156. package/number-input/numberInputContextTypes.js +5 -0
  157. package/number-input/types.d.ts +121 -0
  158. package/number-input/types.js +5 -0
  159. package/package.json +35 -23
  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/password-input/PasswordInput.js +163 -0
  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/quick-nav/QuickNav.d.ts +4 -0
  180. package/quick-nav/QuickNav.js +66 -0
  181. package/quick-nav/QuickNav.stories.tsx +237 -0
  182. package/quick-nav/types.d.ts +21 -0
  183. package/quick-nav/types.js +5 -0
  184. package/radio/Radio.d.ts +4 -0
  185. package/radio/Radio.js +174 -0
  186. package/radio/Radio.stories.tsx +192 -0
  187. package/radio/Radio.test.js +71 -0
  188. package/radio/types.d.ts +54 -0
  189. package/radio/types.js +5 -0
  190. package/radio-group/Radio.d.ts +4 -0
  191. package/radio-group/Radio.js +141 -0
  192. package/radio-group/RadioGroup.d.ts +4 -0
  193. package/radio-group/RadioGroup.js +280 -0
  194. package/radio-group/RadioGroup.stories.tsx +100 -0
  195. package/radio-group/RadioGroup.test.js +695 -0
  196. package/radio-group/types.d.ts +114 -0
  197. package/radio-group/types.js +5 -0
  198. package/resultsetTable/ResultsetTable.d.ts +4 -0
  199. package/resultsetTable/ResultsetTable.js +254 -0
  200. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  201. package/resultsetTable/ResultsetTable.test.js +306 -0
  202. package/resultsetTable/types.d.ts +67 -0
  203. package/resultsetTable/types.js +5 -0
  204. package/row/Row.d.ts +3 -0
  205. package/row/Row.js +127 -0
  206. package/row/Row.stories.tsx +237 -0
  207. package/row/types.d.ts +28 -0
  208. package/row/types.js +5 -0
  209. package/select/Icons.d.ts +10 -0
  210. package/select/Icons.js +93 -0
  211. package/select/Option.d.ts +4 -0
  212. package/select/Option.js +110 -0
  213. package/select/Select.d.ts +4 -0
  214. package/select/Select.js +740 -0
  215. package/select/Select.stories.tsx +582 -0
  216. package/select/Select.test.js +2016 -0
  217. package/select/types.d.ts +191 -0
  218. package/select/types.js +5 -0
  219. package/sidenav/Sidenav.d.ts +9 -0
  220. package/sidenav/Sidenav.js +136 -0
  221. package/sidenav/Sidenav.stories.tsx +182 -0
  222. package/sidenav/Sidenav.test.js +56 -0
  223. package/sidenav/types.d.ts +50 -0
  224. package/sidenav/types.js +5 -0
  225. package/slider/Slider.d.ts +4 -0
  226. package/slider/Slider.js +318 -0
  227. package/slider/Slider.stories.tsx +177 -0
  228. package/slider/Slider.test.js +150 -0
  229. package/slider/types.d.ts +82 -0
  230. package/slider/types.js +5 -0
  231. package/spinner/Spinner.d.ts +4 -0
  232. package/spinner/Spinner.js +250 -0
  233. package/spinner/Spinner.stories.jsx +103 -0
  234. package/spinner/Spinner.test.js +64 -0
  235. package/spinner/types.d.ts +32 -0
  236. package/spinner/types.js +5 -0
  237. package/stack/Stack.d.ts +3 -0
  238. package/stack/Stack.js +97 -0
  239. package/stack/Stack.stories.tsx +164 -0
  240. package/stack/types.d.ts +24 -0
  241. package/stack/types.js +5 -0
  242. package/switch/Switch.d.ts +4 -0
  243. package/switch/Switch.js +192 -0
  244. package/switch/Switch.stories.tsx +160 -0
  245. package/switch/Switch.test.js +98 -0
  246. package/switch/types.d.ts +62 -0
  247. package/switch/types.js +5 -0
  248. package/table/Table.d.ts +4 -0
  249. package/table/Table.js +118 -0
  250. package/table/Table.stories.jsx +277 -0
  251. package/table/Table.test.js +26 -0
  252. package/table/types.d.ts +21 -0
  253. package/table/types.js +5 -0
  254. package/tabs/Tabs.d.ts +4 -0
  255. package/tabs/Tabs.js +213 -0
  256. package/tabs/Tabs.stories.tsx +120 -0
  257. package/tabs/Tabs.test.js +123 -0
  258. package/tabs/types.d.ts +78 -0
  259. package/tabs/types.js +5 -0
  260. package/tag/Tag.d.ts +4 -0
  261. package/tag/Tag.js +186 -0
  262. package/tag/Tag.stories.tsx +142 -0
  263. package/tag/Tag.test.js +60 -0
  264. package/tag/types.d.ts +69 -0
  265. package/tag/types.js +5 -0
  266. package/text/Text.d.ts +7 -0
  267. package/text/Text.js +30 -0
  268. package/text/Text.stories.tsx +19 -0
  269. package/text-input/TextInput.d.ts +4 -0
  270. package/text-input/TextInput.js +798 -0
  271. package/text-input/TextInput.stories.tsx +474 -0
  272. package/text-input/TextInput.test.js +1725 -0
  273. package/text-input/types.d.ts +163 -0
  274. package/text-input/types.js +5 -0
  275. package/textarea/Textarea.d.ts +4 -0
  276. package/textarea/Textarea.js +286 -0
  277. package/textarea/Textarea.stories.jsx +157 -0
  278. package/textarea/Textarea.test.js +437 -0
  279. package/textarea/types.d.ts +134 -0
  280. package/textarea/types.js +5 -0
  281. package/toggle-group/ToggleGroup.d.ts +4 -0
  282. package/toggle-group/ToggleGroup.js +214 -0
  283. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  284. package/toggle-group/ToggleGroup.test.js +125 -0
  285. package/toggle-group/types.d.ts +97 -0
  286. package/toggle-group/types.js +5 -0
  287. package/useTheme.d.ts +2 -0
  288. package/{dist/useTheme.js → useTheme.js} +1 -1
  289. package/wizard/Wizard.d.ts +4 -0
  290. package/wizard/Wizard.js +286 -0
  291. package/wizard/Wizard.stories.tsx +214 -0
  292. package/wizard/Wizard.test.js +141 -0
  293. package/wizard/types.d.ts +64 -0
  294. package/wizard/types.js +5 -0
  295. package/README.md +0 -66
  296. package/babel.config.js +0 -8
  297. package/dist/ThemeContext.js +0 -185
  298. package/dist/accordion/Accordion.js +0 -274
  299. package/dist/accordion/Accordion.stories.js +0 -207
  300. package/dist/accordion/readme.md +0 -96
  301. package/dist/accordion-group/AccordionGroup.js +0 -156
  302. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  303. package/dist/accordion-group/readme.md +0 -70
  304. package/dist/alert/Alert.js +0 -307
  305. package/dist/alert/Alert.stories.js +0 -158
  306. package/dist/alert/close.svg +0 -4
  307. package/dist/alert/error.svg +0 -4
  308. package/dist/alert/info.svg +0 -4
  309. package/dist/alert/readme.md +0 -43
  310. package/dist/alert/success.svg +0 -4
  311. package/dist/alert/warning.svg +0 -4
  312. package/dist/badge/Badge.js +0 -42
  313. package/dist/box/Box.js +0 -147
  314. package/dist/button/Button.js +0 -209
  315. package/dist/button/Button.stories.js +0 -224
  316. package/dist/button/readme.md +0 -93
  317. package/dist/card/Card.js +0 -217
  318. package/dist/checkbox/Checkbox.js +0 -231
  319. package/dist/checkbox/Checkbox.stories.js +0 -144
  320. package/dist/checkbox/readme.md +0 -116
  321. package/dist/chip/Chip.js +0 -209
  322. package/dist/common/services/example-service.js +0 -10
  323. package/dist/common/services/example-service.test.js +0 -12
  324. package/dist/common/utils.js +0 -42
  325. package/dist/common/variables.js +0 -431
  326. package/dist/date/Date.js +0 -352
  327. package/dist/date/Date.stories.js +0 -205
  328. package/dist/date/calendar.svg +0 -1
  329. package/dist/date/calendar_dark.svg +0 -1
  330. package/dist/date/readme.md +0 -73
  331. package/dist/dialog/Dialog.js +0 -201
  332. package/dist/dialog/Dialog.stories.js +0 -217
  333. package/dist/dialog/readme.md +0 -32
  334. package/dist/dropdown/Dropdown.js +0 -454
  335. package/dist/dropdown/Dropdown.stories.js +0 -249
  336. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  337. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  338. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  339. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  340. package/dist/dropdown/readme.md +0 -69
  341. package/dist/footer/Footer.js +0 -372
  342. package/dist/footer/Footer.stories.js +0 -94
  343. package/dist/footer/dxc_logo_wht.png +0 -0
  344. package/dist/footer/readme.md +0 -41
  345. package/dist/header/Header.js +0 -372
  346. package/dist/header/Header.stories.js +0 -176
  347. package/dist/header/close_icon.svg +0 -1
  348. package/dist/header/dxc_logo_black.png +0 -0
  349. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  350. package/dist/header/dxc_logo_white.png +0 -0
  351. package/dist/header/hamb_menu_black.svg +0 -1
  352. package/dist/header/hamb_menu_white.svg +0 -1
  353. package/dist/header/readme.md +0 -33
  354. package/dist/heading/Heading.js +0 -155
  355. package/dist/input-text/InputText.js +0 -577
  356. package/dist/input-text/InputText.stories.js +0 -209
  357. package/dist/input-text/error.svg +0 -1
  358. package/dist/input-text/readme.md +0 -91
  359. package/dist/layout/ApplicationLayout.js +0 -330
  360. package/dist/layout/facebook.svg +0 -45
  361. package/dist/layout/linkedin.svg +0 -50
  362. package/dist/layout/twitter.svg +0 -53
  363. package/dist/link/Link.js +0 -189
  364. package/dist/link/readme.md +0 -51
  365. package/dist/paginator/Paginator.js +0 -251
  366. package/dist/paginator/images/next.svg +0 -3
  367. package/dist/paginator/images/nextPage.svg +0 -3
  368. package/dist/paginator/images/previous.svg +0 -3
  369. package/dist/paginator/images/previousPage.svg +0 -3
  370. package/dist/paginator/readme.md +0 -50
  371. package/dist/progress-bar/ProgressBar.js +0 -190
  372. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  373. package/dist/progress-bar/readme.md +0 -63
  374. package/dist/radio/Radio.js +0 -192
  375. package/dist/radio/Radio.stories.js +0 -166
  376. package/dist/radio/readme.md +0 -70
  377. package/dist/resultsetTable/ResultsetTable.js +0 -326
  378. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  379. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  380. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  381. package/dist/select/Select.js +0 -485
  382. package/dist/select/Select.stories.js +0 -235
  383. package/dist/select/readme.md +0 -72
  384. package/dist/sidenav/Sidenav.js +0 -127
  385. package/dist/slider/Slider.js +0 -267
  386. package/dist/slider/Slider.stories.js +0 -241
  387. package/dist/slider/readme.md +0 -64
  388. package/dist/spinner/Spinner.js +0 -196
  389. package/dist/spinner/Spinner.stories.js +0 -183
  390. package/dist/spinner/readme.md +0 -65
  391. package/dist/switch/Switch.js +0 -192
  392. package/dist/switch/Switch.stories.js +0 -134
  393. package/dist/switch/readme.md +0 -133
  394. package/dist/table/Table.js +0 -96
  395. package/dist/tabs/Tabs.js +0 -311
  396. package/dist/tabs/Tabs.stories.js +0 -130
  397. package/dist/tabs/readme.md +0 -78
  398. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  399. package/dist/tabs-for-sections/readme.md +0 -78
  400. package/dist/tag/Tag.js +0 -251
  401. package/dist/textarea/Textarea.js +0 -232
  402. package/dist/toggle/Toggle.js +0 -222
  403. package/dist/toggle/Toggle.stories.js +0 -297
  404. package/dist/toggle/readme.md +0 -80
  405. package/dist/toggle-group/ToggleGroup.js +0 -213
  406. package/dist/toggle-group/readme.md +0 -82
  407. package/dist/upload/Upload.js +0 -202
  408. package/dist/upload/Upload.stories.js +0 -72
  409. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -123
  410. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  411. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  412. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -286
  413. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  414. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  415. package/dist/upload/file-upload/FileToUpload.js +0 -160
  416. package/dist/upload/file-upload/audio-icon.svg +0 -4
  417. package/dist/upload/file-upload/close.svg +0 -4
  418. package/dist/upload/file-upload/file-icon.svg +0 -4
  419. package/dist/upload/file-upload/video-icon.svg +0 -4
  420. package/dist/upload/files-upload/FilesToUpload.js +0 -122
  421. package/dist/upload/readme.md +0 -37
  422. package/dist/upload/transaction/Transaction.js +0 -154
  423. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  424. package/dist/upload/transaction/audio-icon.svg +0 -4
  425. package/dist/upload/transaction/error-icon.svg +0 -4
  426. package/dist/upload/transaction/file-icon-err.svg +0 -4
  427. package/dist/upload/transaction/file-icon.svg +0 -4
  428. package/dist/upload/transaction/image-icon-err.svg +0 -4
  429. package/dist/upload/transaction/image-icon.svg +0 -4
  430. package/dist/upload/transaction/success-icon.svg +0 -4
  431. package/dist/upload/transaction/video-icon-err.svg +0 -4
  432. package/dist/upload/transaction/video-icon.svg +0 -4
  433. package/dist/upload/transactions/Transactions.js +0 -122
  434. package/dist/wizard/Wizard.js +0 -339
  435. package/dist/wizard/invalid_icon.svg +0 -6
  436. package/dist/wizard/valid_icon.svg +0 -6
  437. package/dist/wizard/validation-wrong.svg +0 -6
  438. package/test/Accordion.test.js +0 -33
  439. package/test/AccordionGroup.test.js +0 -109
  440. package/test/Alert.test.js +0 -53
  441. package/test/Box.test.js +0 -10
  442. package/test/Button.test.js +0 -18
  443. package/test/Card.test.js +0 -30
  444. package/test/Checkbox.test.js +0 -45
  445. package/test/Chip.test.js +0 -25
  446. package/test/Date.test.js +0 -393
  447. package/test/Dialog.test.js +0 -23
  448. package/test/Dropdown.test.js +0 -130
  449. package/test/Footer.test.js +0 -99
  450. package/test/Header.test.js +0 -39
  451. package/test/Heading.test.js +0 -35
  452. package/test/InputText.test.js +0 -240
  453. package/test/Link.test.js +0 -42
  454. package/test/Paginator.test.js +0 -177
  455. package/test/ProgressBar.test.js +0 -35
  456. package/test/Radio.test.js +0 -37
  457. package/test/ResultsetTable.test.js +0 -330
  458. package/test/Select.test.js +0 -192
  459. package/test/Sidenav.test.js +0 -45
  460. package/test/Slider.test.js +0 -82
  461. package/test/Spinner.test.js +0 -27
  462. package/test/Switch.test.js +0 -45
  463. package/test/Table.test.js +0 -36
  464. package/test/Tabs.test.js +0 -109
  465. package/test/TabsForSections.test.js +0 -34
  466. package/test/Tag.test.js +0 -32
  467. package/test/TextArea.test.js +0 -52
  468. package/test/ToggleGroup.test.js +0 -81
  469. package/test/Upload.test.js +0 -60
  470. package/test/Wizard.test.js +0 -130
  471. package/test/mocks/pngMock.js +0 -1
  472. package/test/mocks/svgMock.js +0 -1
@@ -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 { ThemeProvider } from "../ThemeContext";
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
+ enable-background="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
+ <ThemeProvider 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
+ </ThemeProvider>
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
+ });
@@ -0,0 +1,68 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type Padding = {
10
+ top?: Space;
11
+ bottom?: Space;
12
+ left?: Space;
13
+ right?: Space;
14
+ };
15
+ declare type SVG = React.SVGProps<SVGSVGElement>;
16
+ declare type Props = {
17
+ /**
18
+ * The panel label.
19
+ */
20
+ label: string;
21
+ /**
22
+ * Initial state of the panel, only when it is uncontrolled.
23
+ */
24
+ defaultIsExpanded?: boolean;
25
+ /**
26
+ * Represents the state of the panel. When true, the component will be
27
+ * expanded. If undefined, the component will be uncontrolled and its
28
+ * value will be managed internally by the component.
29
+ */
30
+ isExpanded?: boolean;
31
+ /**
32
+ * Element or path used as the icon that will be placed next to panel label.
33
+ */
34
+ icon?: string | SVG;
35
+ /**
36
+ * Assistive text to be placed on the right side of the panel.
37
+ */
38
+ assistiveText?: string;
39
+ /**
40
+ * If true, the component will be disabled.
41
+ */
42
+ disabled?: boolean;
43
+ /**
44
+ * This function will be called when the user clicks the accordion to expand or collapse
45
+ * the panel. The new state of the panel will be passed as a parameter.
46
+ */
47
+ onChange?: (isExpanded: boolean) => void;
48
+ /**
49
+ * The expanded panel of the accordion. This area can be used to render
50
+ * custom content.
51
+ */
52
+ children: React.ReactNode;
53
+ /**
54
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
55
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
56
+ */
57
+ margin?: Space | Margin;
58
+ /**
59
+ * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
60
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
61
+ */
62
+ padding?: Space | Padding;
63
+ /**
64
+ * Value of the tabindex.
65
+ */
66
+ tabIndex?: number;
67
+ };
68
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import AccordionGroupPropsType, { AccordionPropsType } from "./types";
3
+ declare const DxcAccordionGroup: {
4
+ ({ indexActive, disabled, onActiveChange, margin, children, }: AccordionGroupPropsType): JSX.Element;
5
+ Accordion: ({ ...childProps }: AccordionPropsType) => JSX.Element;
6
+ };
7
+ export default DxcAccordionGroup;
@@ -0,0 +1,170 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
21
+
22
+ var _react = _interopRequireWildcard(require("react"));
23
+
24
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
+
26
+ var _Accordion = _interopRequireDefault(require("../accordion/Accordion"));
27
+
28
+ var _utils = require("../common/utils.js");
29
+
30
+ var _variables = require("../common/variables.js");
31
+
32
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
33
+
34
+ var _templateObject;
35
+
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); }
37
+
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; }
39
+
40
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
+
42
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
43
+
44
+ var AccordionGroupAccordionContext = /*#__PURE__*/(0, _react.createContext)(null);
45
+
46
+ var AccordionGroupAccordion = function AccordionGroupAccordion(_ref) {
47
+ var childProps = (0, _extends2["default"])({}, _ref);
48
+
49
+ var _useContext = (0, _react.useContext)(AccordionGroupAccordionContext),
50
+ innerIsExpanded = _useContext.innerIsExpanded,
51
+ handlerActiveChange = _useContext.handlerActiveChange,
52
+ disabled = _useContext.disabled,
53
+ index = _useContext.index;
54
+
55
+ return /*#__PURE__*/_react["default"].createElement(_Accordion["default"], (0, _extends2["default"])({
56
+ isExpanded: innerIsExpanded === index,
57
+ onChange: function onChange() {
58
+ handlerActiveChange(index);
59
+ },
60
+ disabled: disabled
61
+ }, childProps), childProps.children);
62
+ };
63
+
64
+ var DxcAccordionGroup = function DxcAccordionGroup(_ref2) {
65
+ var indexActive = _ref2.indexActive,
66
+ _ref2$disabled = _ref2.disabled,
67
+ disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
68
+ onActiveChange = _ref2.onActiveChange,
69
+ margin = _ref2.margin,
70
+ children = _ref2.children;
71
+ var colorsTheme = (0, _useTheme["default"])();
72
+
73
+ var _useState = (0, _react.useState)(0),
74
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
75
+ innerIsExpanded = _useState2[0],
76
+ setInnerIsExpanded = _useState2[1];
77
+
78
+ var handlerActiveChange = (0, _react.useCallback)(function (index) {
79
+ indexActive === undefined ? setInnerIsExpanded(function (prev) {
80
+ return index === prev ? -1 : index;
81
+ }) : setInnerIsExpanded(indexActive);
82
+ !disabled && (onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(index));
83
+ }, [disabled, indexActive, onActiveChange]);
84
+ var value = (0, _react.useMemo)(function () {
85
+ return {
86
+ innerIsExpanded: innerIsExpanded,
87
+ handlerActiveChange: handlerActiveChange,
88
+ disabled: disabled
89
+ };
90
+ }, [innerIsExpanded, disabled]);
91
+ (0, _react.useEffect)(function () {
92
+ setInnerIsExpanded(indexActive);
93
+ }, [indexActive]);
94
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
95
+ theme: colorsTheme.accordion
96
+ }, /*#__PURE__*/_react["default"].createElement(AccordionGroupContainer, {
97
+ margin: margin,
98
+ disabled: disabled
99
+ }, (Array.isArray(children) ? children : [children]).filter(function (child) {
100
+ return child.type === AccordionGroupAccordion;
101
+ }).map(function (accordion, index) {
102
+ return /*#__PURE__*/_react["default"].createElement(AccordionGroupAccordionContext.Provider, {
103
+ value: _objectSpread({
104
+ index: index
105
+ }, value)
106
+ }, accordion);
107
+ })));
108
+ };
109
+
110
+ DxcAccordionGroup.Accordion = AccordionGroupAccordion;
111
+
112
+ var calculateWidth = function calculateWidth(margin) {
113
+ return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
114
+ };
115
+
116
+ var AccordionGroupContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n width: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n cursor: ", ";\n\n & > :not(div:last-child) {\n & > div:first-child {\n border-radius: 0;\n border-bottom: ", ";\n border-color: ", ";\n\n & > .Mui-expanded {\n border-radius: 0;\n }\n & > .MuiButtonBase-root {\n border-radius: 0;\n }\n }\n }\n\n & > div:first-child {\n & > div:first-child {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n border-bottom: ", ";\n border-color: ", ";\n\n & > .Mui-expanded {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n }\n & > .MuiButtonBase-root {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n }\n }\n }\n\n & > div:last-child {\n & > div:first-child {\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n\n & > .Mui-expanded {\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n & > .MuiButtonBase-root {\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n }\n"])), function (props) {
117
+ return calculateWidth(props.margin);
118
+ }, function (_ref3) {
119
+ var margin = _ref3.margin;
120
+ return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
121
+ }, function (_ref4) {
122
+ var margin = _ref4.margin;
123
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
124
+ }, function (_ref5) {
125
+ var margin = _ref5.margin;
126
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
127
+ }, function (_ref6) {
128
+ var margin = _ref6.margin;
129
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
130
+ }, function (_ref7) {
131
+ var margin = _ref7.margin;
132
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
133
+ }, function (props) {
134
+ return props.disabled ? "not-allowed" : "pointer";
135
+ }, function (props) {
136
+ return "".concat(props.theme.accordionGroupSeparatorBorderThickness, " ").concat(props.theme.accordionGroupSeparatorBorderStyle);
137
+ }, function (props) {
138
+ return props.theme.accordionGroupSeparatorBorderColor;
139
+ }, function (props) {
140
+ return props.theme.borderRadius;
141
+ }, function (props) {
142
+ return props.theme.borderRadius;
143
+ }, function (props) {
144
+ return "".concat(props.theme.accordionGroupSeparatorBorderThickness, " ").concat(props.theme.accordionGroupSeparatorBorderStyle);
145
+ }, function (props) {
146
+ return props.theme.accordionGroupSeparatorBorderColor;
147
+ }, function (props) {
148
+ return props.theme.borderRadius;
149
+ }, function (props) {
150
+ return props.theme.borderRadius;
151
+ }, function (props) {
152
+ return props.theme.borderRadius;
153
+ }, function (props) {
154
+ return props.theme.borderRadius;
155
+ }, function (props) {
156
+ return props.theme.borderRadius;
157
+ }, function (props) {
158
+ return props.theme.borderRadius;
159
+ }, function (props) {
160
+ return props.theme.borderRadius;
161
+ }, function (props) {
162
+ return props.theme.borderRadius;
163
+ }, function (props) {
164
+ return props.theme.borderRadius;
165
+ }, function (props) {
166
+ return props.theme.borderRadius;
167
+ });
168
+
169
+ var _default = DxcAccordionGroup;
170
+ exports["default"] = _default;