@dxc-technology/halstack-react 0.0.0-1810844 → 0.0.0-1819a7a

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 (418) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +48 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +243 -0
  5. package/V3Select/V3Select.js +455 -0
  6. package/V3Select/index.d.ts +27 -0
  7. package/V3Textarea/V3Textarea.js +260 -0
  8. package/V3Textarea/index.d.ts +27 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/accordion/Accordion.js +258 -0
  11. package/accordion/Accordion.stories.tsx +300 -0
  12. package/accordion/types.d.ts +68 -0
  13. package/accordion/types.js +5 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +170 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  17. package/accordion-group/types.d.ts +72 -0
  18. package/accordion-group/types.js +5 -0
  19. package/alert/Alert.d.ts +4 -0
  20. package/alert/Alert.js +290 -0
  21. package/alert/Alert.stories.tsx +170 -0
  22. package/alert/types.d.ts +49 -0
  23. package/alert/types.js +5 -0
  24. package/badge/Badge.js +59 -0
  25. package/box/Box.d.ts +4 -0
  26. package/box/Box.js +126 -0
  27. package/box/Box.stories.tsx +132 -0
  28. package/box/types.d.ts +43 -0
  29. package/box/types.js +5 -0
  30. package/button/Button.d.ts +4 -0
  31. package/button/Button.js +179 -0
  32. package/button/Button.stories.tsx +276 -0
  33. package/button/types.d.ts +57 -0
  34. package/button/types.js +5 -0
  35. package/card/Card.d.ts +4 -0
  36. package/card/Card.js +164 -0
  37. package/card/Card.stories.tsx +201 -0
  38. package/card/ice-cream.jpg +0 -0
  39. package/card/types.d.ts +67 -0
  40. package/card/types.js +5 -0
  41. package/checkbox/Checkbox.d.ts +4 -0
  42. package/checkbox/Checkbox.js +253 -0
  43. package/checkbox/Checkbox.stories.tsx +192 -0
  44. package/checkbox/types.d.ts +60 -0
  45. package/checkbox/types.js +5 -0
  46. package/chip/Chip.d.ts +4 -0
  47. package/chip/Chip.js +199 -0
  48. package/chip/Chip.stories.tsx +121 -0
  49. package/chip/types.d.ts +53 -0
  50. package/chip/types.js +5 -0
  51. package/{dist/common → common}/OpenSans.css +0 -0
  52. package/{dist/common → common}/RequiredComponent.js +3 -11
  53. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  55. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  56. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  57. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  58. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  62. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  63. package/common/utils.js +22 -0
  64. package/common/variables.js +1574 -0
  65. package/{dist/date → date}/Date.js +81 -65
  66. package/date/index.d.ts +27 -0
  67. package/date-input/DateInput.d.ts +4 -0
  68. package/date-input/DateInput.js +358 -0
  69. package/date-input/DateInput.stories.tsx +138 -0
  70. package/date-input/types.d.ts +100 -0
  71. package/date-input/types.js +5 -0
  72. package/dialog/Dialog.d.ts +4 -0
  73. package/dialog/Dialog.js +165 -0
  74. package/dialog/Dialog.stories.tsx +212 -0
  75. package/dialog/types.d.ts +43 -0
  76. package/dialog/types.js +5 -0
  77. package/dropdown/Dropdown.d.ts +4 -0
  78. package/dropdown/Dropdown.js +417 -0
  79. package/dropdown/types.d.ts +89 -0
  80. package/dropdown/types.js +5 -0
  81. package/file-input/FileInput.d.ts +4 -0
  82. package/file-input/FileInput.js +521 -0
  83. package/file-input/FileItem.d.ts +14 -0
  84. package/file-input/FileItem.js +184 -0
  85. package/file-input/types.d.ts +112 -0
  86. package/file-input/types.js +5 -0
  87. package/footer/Footer.d.ts +4 -0
  88. package/footer/Footer.js +260 -0
  89. package/footer/Footer.stories.tsx +130 -0
  90. package/footer/Icons.d.ts +2 -0
  91. package/footer/Icons.js +77 -0
  92. package/footer/types.d.ts +65 -0
  93. package/footer/types.js +5 -0
  94. package/header/Header.d.ts +7 -0
  95. package/header/Header.js +324 -0
  96. package/header/Header.stories.tsx +162 -0
  97. package/header/Icons.d.ts +2 -0
  98. package/header/Icons.js +34 -0
  99. package/header/types.d.ts +47 -0
  100. package/header/types.js +5 -0
  101. package/heading/Heading.d.ts +4 -0
  102. package/heading/Heading.js +159 -0
  103. package/heading/Heading.stories.tsx +53 -0
  104. package/heading/types.d.ts +33 -0
  105. package/heading/types.js +5 -0
  106. package/input-text/Icons.js +22 -0
  107. package/input-text/InputText.js +611 -0
  108. package/input-text/index.d.ts +36 -0
  109. package/layout/ApplicationLayout.d.ts +10 -0
  110. package/layout/ApplicationLayout.js +225 -0
  111. package/layout/ApplicationLayout.stories.tsx +171 -0
  112. package/layout/Icons.js +55 -0
  113. package/layout/types.d.ts +57 -0
  114. package/layout/types.js +5 -0
  115. package/link/Link.d.ts +3 -0
  116. package/link/Link.js +161 -0
  117. package/link/Link.stories.tsx +146 -0
  118. package/link/types.d.ts +74 -0
  119. package/link/types.js +5 -0
  120. package/list/List.d.ts +7 -0
  121. package/list/List.js +37 -0
  122. package/list/List.stories.tsx +70 -0
  123. package/main.d.ts +48 -0
  124. package/{dist/main.js → main.js} +147 -55
  125. package/number-input/NumberInput.d.ts +4 -0
  126. package/number-input/NumberInput.js +83 -0
  127. package/number-input/NumberInput.stories.tsx +115 -0
  128. package/number-input/NumberInputContext.d.ts +4 -0
  129. package/number-input/NumberInputContext.js +19 -0
  130. package/number-input/numberInputContextTypes.d.ts +19 -0
  131. package/number-input/numberInputContextTypes.js +5 -0
  132. package/number-input/types.d.ts +117 -0
  133. package/number-input/types.js +5 -0
  134. package/package.json +32 -23
  135. package/paginator/Icons.js +66 -0
  136. package/paginator/Paginator.d.ts +4 -0
  137. package/paginator/Paginator.js +192 -0
  138. package/paginator/Paginator.stories.tsx +63 -0
  139. package/paginator/types.d.ts +38 -0
  140. package/paginator/types.js +5 -0
  141. package/password-input/PasswordInput.d.ts +4 -0
  142. package/password-input/PasswordInput.js +163 -0
  143. package/password-input/PasswordInput.stories.tsx +131 -0
  144. package/password-input/types.d.ts +107 -0
  145. package/password-input/types.js +5 -0
  146. package/progress-bar/ProgressBar.d.ts +4 -0
  147. package/progress-bar/ProgressBar.js +170 -0
  148. package/progress-bar/ProgressBar.stories.jsx +58 -0
  149. package/progress-bar/types.d.ts +37 -0
  150. package/progress-bar/types.js +5 -0
  151. package/radio/Radio.d.ts +4 -0
  152. package/radio/Radio.js +174 -0
  153. package/radio/Radio.stories.tsx +192 -0
  154. package/radio/types.d.ts +54 -0
  155. package/radio/types.js +5 -0
  156. package/resultsetTable/ResultsetTable.d.ts +4 -0
  157. package/resultsetTable/ResultsetTable.js +251 -0
  158. package/resultsetTable/ResultsetTable.stories.tsx +276 -0
  159. package/resultsetTable/types.d.ts +67 -0
  160. package/resultsetTable/types.js +5 -0
  161. package/row/Row.d.ts +11 -0
  162. package/row/Row.js +124 -0
  163. package/row/Row.stories.tsx +223 -0
  164. package/select/Select.js +863 -0
  165. package/select/Select.stories.tsx +572 -0
  166. package/select/index.d.ts +131 -0
  167. package/sidenav/Sidenav.d.ts +9 -0
  168. package/sidenav/Sidenav.js +136 -0
  169. package/sidenav/Sidenav.stories.tsx +165 -0
  170. package/sidenav/types.d.ts +50 -0
  171. package/sidenav/types.js +5 -0
  172. package/slider/Slider.d.ts +4 -0
  173. package/slider/Slider.js +317 -0
  174. package/slider/Slider.stories.tsx +177 -0
  175. package/slider/types.d.ts +78 -0
  176. package/slider/types.js +5 -0
  177. package/spinner/Spinner.d.ts +4 -0
  178. package/spinner/Spinner.js +250 -0
  179. package/spinner/Spinner.stories.jsx +102 -0
  180. package/spinner/types.d.ts +32 -0
  181. package/spinner/types.js +5 -0
  182. package/stack/Stack.d.ts +10 -0
  183. package/stack/Stack.js +94 -0
  184. package/stack/Stack.stories.tsx +150 -0
  185. package/switch/Switch.d.ts +4 -0
  186. package/switch/Switch.js +179 -0
  187. package/switch/Switch.stories.tsx +160 -0
  188. package/switch/types.d.ts +58 -0
  189. package/switch/types.js +5 -0
  190. package/table/Table.d.ts +4 -0
  191. package/table/Table.js +118 -0
  192. package/table/Table.stories.jsx +276 -0
  193. package/table/types.d.ts +21 -0
  194. package/table/types.js +5 -0
  195. package/tabs/Tabs.d.ts +4 -0
  196. package/tabs/Tabs.js +213 -0
  197. package/tabs/Tabs.stories.tsx +121 -0
  198. package/tabs/types.d.ts +70 -0
  199. package/tabs/types.js +5 -0
  200. package/tag/Tag.d.ts +4 -0
  201. package/tag/Tag.js +193 -0
  202. package/tag/Tag.stories.tsx +145 -0
  203. package/tag/types.d.ts +60 -0
  204. package/tag/types.js +5 -0
  205. package/text/Text.d.ts +7 -0
  206. package/text/Text.js +30 -0
  207. package/text/Text.stories.tsx +19 -0
  208. package/text-input/TextInput.d.ts +4 -0
  209. package/text-input/TextInput.js +786 -0
  210. package/text-input/TextInput.stories.tsx +456 -0
  211. package/text-input/types.d.ts +159 -0
  212. package/text-input/types.js +5 -0
  213. package/textarea/Textarea.d.ts +4 -0
  214. package/textarea/Textarea.js +284 -0
  215. package/textarea/Textarea.stories.jsx +135 -0
  216. package/textarea/types.d.ts +130 -0
  217. package/textarea/types.js +5 -0
  218. package/{dist/toggle → toggle}/Toggle.js +30 -67
  219. package/toggle/index.d.ts +21 -0
  220. package/toggle-group/ToggleGroup.d.ts +4 -0
  221. package/toggle-group/ToggleGroup.js +217 -0
  222. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  223. package/toggle-group/types.d.ts +84 -0
  224. package/toggle-group/types.js +5 -0
  225. package/{dist/upload → upload}/Upload.js +23 -22
  226. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  227. package/upload/buttons-upload/Icons.js +40 -0
  228. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  229. package/upload/dragAndDropArea/Icons.js +39 -0
  230. package/upload/file-upload/FileToUpload.js +115 -0
  231. package/upload/file-upload/Icons.js +66 -0
  232. package/upload/files-upload/FilesToUpload.js +109 -0
  233. package/upload/index.d.ts +15 -0
  234. package/upload/transaction/Icons.js +160 -0
  235. package/upload/transaction/Transaction.js +104 -0
  236. package/upload/transactions/Transactions.js +94 -0
  237. package/useTheme.d.ts +2 -0
  238. package/{dist/useTheme.js → useTheme.js} +1 -1
  239. package/wizard/Wizard.d.ts +4 -0
  240. package/wizard/Wizard.js +281 -0
  241. package/wizard/Wizard.stories.tsx +224 -0
  242. package/wizard/types.d.ts +60 -0
  243. package/wizard/types.js +5 -0
  244. package/README.md +0 -66
  245. package/babel.config.js +0 -8
  246. package/dist/ThemeContext.js +0 -144
  247. package/dist/accordion/Accordion.js +0 -268
  248. package/dist/accordion/Accordion.stories.js +0 -207
  249. package/dist/accordion/readme.md +0 -96
  250. package/dist/accordion-group/AccordionGroup.js +0 -159
  251. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  252. package/dist/accordion-group/readme.md +0 -70
  253. package/dist/alert/Alert.js +0 -303
  254. package/dist/alert/Alert.stories.js +0 -158
  255. package/dist/alert/close.svg +0 -4
  256. package/dist/alert/error.svg +0 -4
  257. package/dist/alert/info.svg +0 -4
  258. package/dist/alert/readme.md +0 -43
  259. package/dist/alert/success.svg +0 -4
  260. package/dist/alert/warning.svg +0 -4
  261. package/dist/badge/Badge.js +0 -42
  262. package/dist/box/Box.js +0 -145
  263. package/dist/button/Button.js +0 -199
  264. package/dist/button/Button.stories.js +0 -224
  265. package/dist/button/readme.md +0 -93
  266. package/dist/card/Card.js +0 -217
  267. package/dist/checkbox/Checkbox.js +0 -229
  268. package/dist/checkbox/Checkbox.stories.js +0 -144
  269. package/dist/checkbox/readme.md +0 -116
  270. package/dist/chip/Chip.js +0 -203
  271. package/dist/common/services/example-service.js +0 -10
  272. package/dist/common/services/example-service.test.js +0 -12
  273. package/dist/common/utils.js +0 -42
  274. package/dist/common/variables.js +0 -393
  275. package/dist/date/Date.stories.js +0 -205
  276. package/dist/date/calendar.svg +0 -1
  277. package/dist/date/calendar_dark.svg +0 -1
  278. package/dist/date/readme.md +0 -73
  279. package/dist/dialog/Dialog.js +0 -197
  280. package/dist/dialog/Dialog.stories.js +0 -217
  281. package/dist/dialog/readme.md +0 -32
  282. package/dist/dropdown/Dropdown.js +0 -449
  283. package/dist/dropdown/Dropdown.stories.js +0 -249
  284. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  285. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  286. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  287. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  288. package/dist/dropdown/readme.md +0 -69
  289. package/dist/footer/Footer.js +0 -366
  290. package/dist/footer/Footer.stories.js +0 -94
  291. package/dist/footer/dxc_logo_wht.png +0 -0
  292. package/dist/footer/readme.md +0 -41
  293. package/dist/header/Header.js +0 -373
  294. package/dist/header/Header.stories.js +0 -176
  295. package/dist/header/close_icon.svg +0 -1
  296. package/dist/header/dxc_logo_black.png +0 -0
  297. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  298. package/dist/header/dxc_logo_white.png +0 -0
  299. package/dist/header/hamb_menu_black.svg +0 -1
  300. package/dist/header/hamb_menu_white.svg +0 -1
  301. package/dist/header/readme.md +0 -33
  302. package/dist/heading/Heading.js +0 -153
  303. package/dist/input-text/InputText.js +0 -570
  304. package/dist/input-text/InputText.stories.js +0 -209
  305. package/dist/input-text/error.svg +0 -1
  306. package/dist/input-text/readme.md +0 -91
  307. package/dist/layout/ApplicationLayout.js +0 -332
  308. package/dist/layout/facebook.svg +0 -45
  309. package/dist/layout/linkedin.svg +0 -50
  310. package/dist/layout/twitter.svg +0 -53
  311. package/dist/link/Link.js +0 -192
  312. package/dist/link/readme.md +0 -51
  313. package/dist/paginator/Paginator.js +0 -254
  314. package/dist/paginator/images/next.svg +0 -3
  315. package/dist/paginator/images/nextPage.svg +0 -3
  316. package/dist/paginator/images/previous.svg +0 -3
  317. package/dist/paginator/images/previousPage.svg +0 -3
  318. package/dist/paginator/readme.md +0 -50
  319. package/dist/progress-bar/ProgressBar.js +0 -185
  320. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  321. package/dist/progress-bar/readme.md +0 -63
  322. package/dist/radio/Radio.js +0 -195
  323. package/dist/radio/Radio.stories.js +0 -166
  324. package/dist/radio/readme.md +0 -70
  325. package/dist/resultsetTable/ResultsetTable.js +0 -327
  326. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  327. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  328. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  329. package/dist/select/Select.js +0 -473
  330. package/dist/select/Select.stories.js +0 -235
  331. package/dist/select/readme.md +0 -72
  332. package/dist/sidenav/Sidenav.js +0 -125
  333. package/dist/slider/Slider.js +0 -257
  334. package/dist/slider/Slider.stories.js +0 -241
  335. package/dist/slider/readme.md +0 -64
  336. package/dist/spinner/Spinner.js +0 -192
  337. package/dist/spinner/Spinner.stories.js +0 -183
  338. package/dist/spinner/readme.md +0 -65
  339. package/dist/switch/Switch.js +0 -190
  340. package/dist/switch/Switch.stories.js +0 -134
  341. package/dist/switch/readme.md +0 -133
  342. package/dist/table/Table.js +0 -104
  343. package/dist/tabs/Tabs.js +0 -302
  344. package/dist/tabs/Tabs.stories.js +0 -130
  345. package/dist/tabs/readme.md +0 -78
  346. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  347. package/dist/tabs-for-sections/readme.md +0 -78
  348. package/dist/tag/Tag.js +0 -249
  349. package/dist/textarea/Textarea.js +0 -224
  350. package/dist/toggle/Toggle.stories.js +0 -297
  351. package/dist/toggle/readme.md +0 -80
  352. package/dist/toggle-group/ToggleGroup.js +0 -223
  353. package/dist/toggle-group/readme.md +0 -82
  354. package/dist/upload/Upload.stories.js +0 -72
  355. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  356. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  357. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  358. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  359. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  360. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  361. package/dist/upload/file-upload/FileToUpload.js +0 -158
  362. package/dist/upload/file-upload/audio-icon.svg +0 -4
  363. package/dist/upload/file-upload/close.svg +0 -4
  364. package/dist/upload/file-upload/file-icon.svg +0 -4
  365. package/dist/upload/file-upload/video-icon.svg +0 -4
  366. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  367. package/dist/upload/readme.md +0 -37
  368. package/dist/upload/transaction/Transaction.js +0 -155
  369. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  370. package/dist/upload/transaction/audio-icon.svg +0 -4
  371. package/dist/upload/transaction/error-icon.svg +0 -4
  372. package/dist/upload/transaction/file-icon-err.svg +0 -4
  373. package/dist/upload/transaction/file-icon.svg +0 -4
  374. package/dist/upload/transaction/image-icon-err.svg +0 -4
  375. package/dist/upload/transaction/image-icon.svg +0 -4
  376. package/dist/upload/transaction/success-icon.svg +0 -4
  377. package/dist/upload/transaction/video-icon-err.svg +0 -4
  378. package/dist/upload/transaction/video-icon.svg +0 -4
  379. package/dist/upload/transactions/Transactions.js +0 -120
  380. package/dist/wizard/Wizard.js +0 -328
  381. package/dist/wizard/invalid_icon.svg +0 -6
  382. package/dist/wizard/valid_icon.svg +0 -6
  383. package/dist/wizard/validation-wrong.svg +0 -6
  384. package/test/Accordion.test.js +0 -33
  385. package/test/AccordionGroup.test.js +0 -109
  386. package/test/Alert.test.js +0 -53
  387. package/test/Box.test.js +0 -10
  388. package/test/Button.test.js +0 -18
  389. package/test/Card.test.js +0 -30
  390. package/test/Checkbox.test.js +0 -45
  391. package/test/Chip.test.js +0 -25
  392. package/test/Date.test.js +0 -393
  393. package/test/Dialog.test.js +0 -23
  394. package/test/Dropdown.test.js +0 -130
  395. package/test/Footer.test.js +0 -99
  396. package/test/Header.test.js +0 -39
  397. package/test/Heading.test.js +0 -35
  398. package/test/InputText.test.js +0 -240
  399. package/test/Link.test.js +0 -42
  400. package/test/Paginator.test.js +0 -177
  401. package/test/ProgressBar.test.js +0 -35
  402. package/test/Radio.test.js +0 -37
  403. package/test/ResultsetTable.test.js +0 -330
  404. package/test/Select.test.js +0 -192
  405. package/test/Sidenav.test.js +0 -45
  406. package/test/Slider.test.js +0 -82
  407. package/test/Spinner.test.js +0 -27
  408. package/test/Switch.test.js +0 -45
  409. package/test/Table.test.js +0 -36
  410. package/test/Tabs.test.js +0 -109
  411. package/test/TabsForSections.test.js +0 -34
  412. package/test/Tag.test.js +0 -32
  413. package/test/TextArea.test.js +0 -52
  414. package/test/ToggleGroup.test.js +0 -81
  415. package/test/Upload.test.js +0 -60
  416. package/test/Wizard.test.js +0 -130
  417. package/test/mocks/pngMock.js +0 -1
  418. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,300 @@
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} theme={undefined}>
129
+ <DxcAccordion
130
+ label="Dark Accordion"
131
+ isExpanded
132
+ assistiveText="Assistive text"
133
+ icon={folderIcon}
134
+ padding="medium"
135
+ >
136
+ <div style={{ display: "flex", flexDirection: "column" }}>
137
+ <DxcTextInput label="Label" helperText="HelperText" placeholder="Placeholder" size="fillParent" />
138
+ <DxcButton label="Submit" size="medium" />
139
+ </div>
140
+ </DxcAccordion>
141
+ </ThemeProvider>
142
+ </ExampleContainer>
143
+ <Title title="Paddings" theme="light" level={2} />
144
+ <ExampleContainer>
145
+ <Title title="Xxsmall padding" theme="light" level={4} />
146
+ <DxcAccordion label="Xxsmall padding" isExpanded padding="xxsmall">
147
+ <div>
148
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
149
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
150
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
151
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
152
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
153
+ est laborum.
154
+ </div>
155
+ </DxcAccordion>
156
+ </ExampleContainer>
157
+ <ExampleContainer>
158
+ <Title title="Xsmall padding" theme="light" level={4} />
159
+ <DxcAccordion label="Xsmall padding" isExpanded padding="xsmall">
160
+ <div>
161
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
162
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
163
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
164
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
165
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
166
+ est laborum.
167
+ </div>
168
+ </DxcAccordion>
169
+ </ExampleContainer>
170
+ <ExampleContainer>
171
+ <Title title="Small padding" theme="light" level={4} />
172
+ <DxcAccordion label="Small padding" isExpanded padding="small">
173
+ <div>
174
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
175
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
176
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
177
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
178
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
179
+ est laborum.
180
+ </div>
181
+ </DxcAccordion>
182
+ </ExampleContainer>
183
+ <ExampleContainer>
184
+ <Title title="Medium padding" theme="light" level={4} />
185
+ <DxcAccordion label="Medium padding" isExpanded padding="medium">
186
+ <div>
187
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
188
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
189
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
190
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
191
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
192
+ est laborum.
193
+ </div>
194
+ </DxcAccordion>
195
+ </ExampleContainer>
196
+ <ExampleContainer>
197
+ <Title title="Large padding" theme="light" level={4} />
198
+ <DxcAccordion label="Large padding" isExpanded padding="large">
199
+ <div>
200
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
201
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
202
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
203
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
204
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
205
+ est laborum.
206
+ </div>
207
+ </DxcAccordion>
208
+ </ExampleContainer>
209
+ <ExampleContainer>
210
+ <Title title="Xlarge padding" theme="light" level={4} />
211
+ <DxcAccordion label="Xlarge padding" isExpanded padding="xlarge">
212
+ <div>
213
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
214
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
215
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
216
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
217
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
218
+ est laborum.
219
+ </div>
220
+ </DxcAccordion>
221
+ </ExampleContainer>
222
+ <ExampleContainer>
223
+ <Title title="Xxlarge padding" theme="light" level={4} />
224
+ <DxcAccordion label="Xxlarge padding" isExpanded padding="xxlarge">
225
+ <div>
226
+ <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
227
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
228
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
229
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
230
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
231
+ est laborum.
232
+ </div>
233
+ </DxcAccordion>
234
+ </ExampleContainer>
235
+ <Title title="Margins" theme="light" level={2} />
236
+ <ExampleContainer>
237
+ <Title title="Xxsmall margin" theme="light" level={4} />
238
+ <DxcAccordion label="Xxsmall margin" margin="xxsmall">
239
+ <div>
240
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
241
+ lobortis eget.
242
+ </div>
243
+ </DxcAccordion>
244
+ </ExampleContainer>
245
+ <ExampleContainer>
246
+ <Title title="Xsmall margin" theme="light" level={4} />
247
+ <DxcAccordion label="Xsmall margin" margin="xsmall">
248
+ <div>
249
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
250
+ lobortis eget.
251
+ </div>
252
+ </DxcAccordion>
253
+ </ExampleContainer>
254
+ <ExampleContainer>
255
+ <Title title="Small margin" theme="light" level={4} />
256
+ <DxcAccordion label="Small margin" margin="small">
257
+ <div>
258
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
259
+ lobortis eget.
260
+ </div>
261
+ </DxcAccordion>
262
+ </ExampleContainer>
263
+ <ExampleContainer>
264
+ <Title title="Medium margin" theme="light" level={4} />
265
+ <DxcAccordion label="Medium margin" margin="medium">
266
+ <div>
267
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
268
+ lobortis eget.
269
+ </div>
270
+ </DxcAccordion>
271
+ </ExampleContainer>
272
+ <ExampleContainer>
273
+ <Title title="Large margin" theme="light" level={4} />
274
+ <DxcAccordion label="Large margin" margin="large">
275
+ <div>
276
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
277
+ lobortis eget.
278
+ </div>
279
+ </DxcAccordion>
280
+ </ExampleContainer>
281
+ <ExampleContainer>
282
+ <Title title="Xlarge margin" theme="light" level={4} />
283
+ <DxcAccordion label="Xlarge margin" margin="xlarge">
284
+ <div>
285
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
286
+ lobortis eget.
287
+ </div>
288
+ </DxcAccordion>
289
+ </ExampleContainer>
290
+ <ExampleContainer>
291
+ <Title title="Xxlarge margin" theme="light" level={4} />
292
+ <DxcAccordion label="Xxlarge margin" margin="xxlarge">
293
+ <div>
294
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
295
+ lobortis eget.
296
+ </div>
297
+ </DxcAccordion>
298
+ </ExampleContainer>
299
+ </>
300
+ );
@@ -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> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
16
+ declare type Props = {
17
+ /**
18
+ * The panel label.
19
+ */
20
+ label: string;
21
+ /**
22
+ * Represents the state of the panel. When true, the component will be
23
+ * expanded. If undefined, the component will be uncontrolled and its
24
+ * value will be managed internally by the component.
25
+ */
26
+ isExpanded?: boolean;
27
+ /**
28
+ * Element used as the icon that will be placed next to panel label.
29
+ */
30
+ icon?: SVG;
31
+ /**
32
+ * @deprecated URL of the icon that will be placed next to panel label.
33
+ */
34
+ iconSrc?: string;
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;