@dxc-technology/halstack-react 0.0.0-099fc65 → 0.0.0-0ab346a

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 (432) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +105 -194
  9. package/accordion/Accordion.stories.tsx +251 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +12 -23
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +39 -108
  15. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  16. package/accordion-group/AccordionGroup.test.js +98 -0
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +18 -23
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +36 -126
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +75 -0
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +4 -0
  35. package/badge/Badge.js +142 -40
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +54 -0
  39. package/bleed/Bleed.d.ts +3 -0
  40. package/bleed/Bleed.js +43 -0
  41. package/bleed/Bleed.stories.tsx +342 -0
  42. package/bleed/types.d.ts +37 -0
  43. package/box/Box.accessibility.test.js +33 -0
  44. package/box/Box.d.ts +1 -1
  45. package/box/Box.js +31 -82
  46. package/box/Box.stories.tsx +38 -51
  47. package/box/Box.test.js +13 -0
  48. package/box/types.d.ts +3 -14
  49. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  50. package/bulleted-list/BulletedList.d.ts +7 -0
  51. package/bulleted-list/BulletedList.js +92 -0
  52. package/bulleted-list/BulletedList.stories.tsx +115 -0
  53. package/bulleted-list/types.d.ts +38 -0
  54. package/bulleted-list/types.js +5 -0
  55. package/button/Button.accessibility.test.js +127 -0
  56. package/button/Button.d.ts +1 -1
  57. package/button/Button.js +65 -123
  58. package/button/Button.stories.tsx +155 -106
  59. package/button/Button.test.js +38 -0
  60. package/button/types.d.ts +12 -12
  61. package/card/Card.accessibility.test.js +36 -0
  62. package/card/Card.d.ts +1 -1
  63. package/card/Card.js +59 -103
  64. package/card/Card.stories.tsx +13 -43
  65. package/card/Card.test.js +39 -0
  66. package/card/types.d.ts +6 -11
  67. package/checkbox/Checkbox.accessibility.test.js +87 -0
  68. package/checkbox/Checkbox.d.ts +2 -2
  69. package/checkbox/Checkbox.js +145 -183
  70. package/checkbox/Checkbox.stories.tsx +166 -136
  71. package/checkbox/Checkbox.test.js +199 -0
  72. package/checkbox/types.d.ts +19 -7
  73. package/chip/Chip.accessibility.test.js +67 -0
  74. package/chip/Chip.d.ts +1 -1
  75. package/chip/Chip.js +49 -124
  76. package/chip/Chip.stories.tsx +104 -30
  77. package/chip/Chip.test.js +41 -0
  78. package/chip/types.d.ts +10 -18
  79. package/common/coreTokens.d.ts +237 -0
  80. package/common/coreTokens.js +184 -0
  81. package/common/utils.d.ts +1 -0
  82. package/common/utils.js +6 -12
  83. package/common/variables.d.ts +1395 -0
  84. package/common/variables.js +1034 -1345
  85. package/container/Container.d.ts +4 -0
  86. package/container/Container.js +194 -0
  87. package/container/Container.stories.tsx +214 -0
  88. package/container/types.d.ts +74 -0
  89. package/container/types.js +5 -0
  90. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  91. package/contextual-menu/ContextualMenu.d.ts +7 -0
  92. package/contextual-menu/ContextualMenu.js +71 -0
  93. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  94. package/contextual-menu/ContextualMenu.test.js +71 -0
  95. package/contextual-menu/MenuItemAction.d.ts +4 -0
  96. package/contextual-menu/MenuItemAction.js +46 -0
  97. package/contextual-menu/types.d.ts +22 -0
  98. package/contextual-menu/types.js +5 -0
  99. package/date-input/Calendar.d.ts +4 -0
  100. package/date-input/Calendar.js +214 -0
  101. package/date-input/DateInput.accessibility.test.js +216 -0
  102. package/date-input/DateInput.js +175 -313
  103. package/date-input/DateInput.stories.tsx +203 -56
  104. package/date-input/DateInput.test.js +808 -0
  105. package/date-input/DatePicker.d.ts +4 -0
  106. package/date-input/DatePicker.js +115 -0
  107. package/date-input/Icons.d.ts +6 -0
  108. package/date-input/Icons.js +58 -0
  109. package/date-input/YearPicker.d.ts +4 -0
  110. package/date-input/YearPicker.js +100 -0
  111. package/date-input/types.d.ts +86 -22
  112. package/dialog/Dialog.accessibility.test.js +69 -0
  113. package/dialog/Dialog.d.ts +1 -1
  114. package/dialog/Dialog.js +69 -130
  115. package/dialog/Dialog.stories.tsx +320 -167
  116. package/dialog/Dialog.test.js +307 -0
  117. package/dialog/types.d.ts +18 -25
  118. package/divider/Divider.accessibility.test.js +33 -0
  119. package/divider/Divider.d.ts +4 -0
  120. package/divider/Divider.js +36 -0
  121. package/divider/Divider.stories.tsx +223 -0
  122. package/divider/Divider.test.js +38 -0
  123. package/divider/types.d.ts +21 -0
  124. package/divider/types.js +5 -0
  125. package/dropdown/Dropdown.accessibility.test.js +180 -0
  126. package/dropdown/Dropdown.d.ts +1 -1
  127. package/dropdown/Dropdown.js +232 -330
  128. package/dropdown/Dropdown.stories.tsx +427 -0
  129. package/dropdown/Dropdown.test.js +599 -0
  130. package/dropdown/DropdownMenu.d.ts +4 -0
  131. package/dropdown/DropdownMenu.js +63 -0
  132. package/dropdown/DropdownMenuItem.d.ts +4 -0
  133. package/dropdown/DropdownMenuItem.js +70 -0
  134. package/dropdown/types.d.ts +37 -30
  135. package/file-input/FileInput.accessibility.test.js +160 -0
  136. package/file-input/FileInput.d.ts +2 -2
  137. package/file-input/FileInput.js +267 -335
  138. package/file-input/FileInput.stories.tsx +618 -0
  139. package/file-input/FileInput.test.js +382 -0
  140. package/file-input/FileItem.d.ts +4 -14
  141. package/file-input/FileItem.js +59 -122
  142. package/file-input/types.d.ts +53 -11
  143. package/flex/Flex.d.ts +4 -0
  144. package/flex/Flex.js +57 -0
  145. package/flex/Flex.stories.tsx +112 -0
  146. package/flex/types.d.ts +97 -0
  147. package/flex/types.js +5 -0
  148. package/footer/Footer.accessibility.test.js +117 -0
  149. package/footer/Footer.d.ts +1 -1
  150. package/footer/Footer.js +74 -200
  151. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +84 -39
  152. package/footer/Footer.test.js +85 -0
  153. package/footer/Icons.d.ts +3 -0
  154. package/footer/Icons.js +67 -8
  155. package/footer/types.d.ts +26 -31
  156. package/grid/Grid.d.ts +7 -0
  157. package/grid/Grid.js +76 -0
  158. package/grid/Grid.stories.tsx +219 -0
  159. package/grid/types.d.ts +115 -0
  160. package/grid/types.js +5 -0
  161. package/header/Header.accessibility.test.js +84 -0
  162. package/header/Header.d.ts +4 -3
  163. package/header/Header.js +103 -218
  164. package/header/Header.stories.tsx +152 -63
  165. package/header/Header.test.js +66 -0
  166. package/header/Icons.d.ts +2 -0
  167. package/header/Icons.js +4 -9
  168. package/header/types.d.ts +7 -21
  169. package/heading/Heading.accessibility.test.js +33 -0
  170. package/heading/Heading.js +11 -33
  171. package/heading/Heading.stories.tsx +3 -2
  172. package/heading/Heading.test.js +169 -0
  173. package/heading/types.d.ts +7 -7
  174. package/icon/Icon.accessibility.test.js +30 -0
  175. package/icon/Icon.d.ts +4 -0
  176. package/icon/Icon.js +33 -0
  177. package/icon/Icon.stories.tsx +28 -0
  178. package/icon/types.d.ts +4 -0
  179. package/icon/types.js +5 -0
  180. package/image/Image.accessibility.test.js +56 -0
  181. package/image/Image.d.ts +4 -0
  182. package/image/Image.js +70 -0
  183. package/image/Image.stories.tsx +129 -0
  184. package/image/types.d.ts +72 -0
  185. package/image/types.js +5 -0
  186. package/inset/Inset.d.ts +3 -0
  187. package/inset/Inset.js +43 -0
  188. package/inset/Inset.stories.tsx +230 -0
  189. package/inset/types.d.ts +37 -0
  190. package/inset/types.js +5 -0
  191. package/layout/ApplicationLayout.d.ts +20 -0
  192. package/layout/ApplicationLayout.js +83 -184
  193. package/layout/ApplicationLayout.stories.tsx +162 -0
  194. package/layout/Icons.d.ts +8 -0
  195. package/layout/Icons.js +49 -48
  196. package/layout/types.d.ts +41 -0
  197. package/layout/types.js +5 -0
  198. package/link/Link.accessibility.test.js +112 -0
  199. package/link/Link.d.ts +3 -2
  200. package/link/Link.js +65 -109
  201. package/link/Link.stories.tsx +159 -52
  202. package/link/Link.test.js +63 -0
  203. package/link/types.d.ts +15 -35
  204. package/main.d.ts +19 -14
  205. package/main.js +92 -98
  206. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  207. package/nav-tabs/NavTabs.d.ts +7 -0
  208. package/nav-tabs/NavTabs.js +93 -0
  209. package/nav-tabs/NavTabs.stories.tsx +279 -0
  210. package/nav-tabs/NavTabs.test.js +75 -0
  211. package/nav-tabs/NavTabsContext.d.ts +3 -0
  212. package/nav-tabs/NavTabsContext.js +8 -0
  213. package/nav-tabs/Tab.d.ts +4 -0
  214. package/nav-tabs/Tab.js +117 -0
  215. package/nav-tabs/types.d.ts +52 -0
  216. package/nav-tabs/types.js +5 -0
  217. package/number-input/NumberInput.accessibility.test.js +228 -0
  218. package/number-input/NumberInput.js +48 -48
  219. package/number-input/NumberInput.stories.tsx +44 -28
  220. package/number-input/NumberInput.test.js +989 -0
  221. package/number-input/NumberInputContext.d.ts +3 -4
  222. package/number-input/NumberInputContext.js +3 -14
  223. package/number-input/types.d.ts +34 -15
  224. package/package.json +52 -51
  225. package/paginator/Icons.d.ts +5 -0
  226. package/paginator/Icons.js +21 -47
  227. package/paginator/Paginator.accessibility.test.js +79 -0
  228. package/paginator/Paginator.js +35 -98
  229. package/paginator/Paginator.stories.tsx +24 -0
  230. package/paginator/Paginator.test.js +335 -0
  231. package/paginator/types.d.ts +3 -3
  232. package/paragraph/Paragraph.accessibility.test.js +28 -0
  233. package/paragraph/Paragraph.d.ts +5 -0
  234. package/paragraph/Paragraph.js +22 -0
  235. package/paragraph/Paragraph.stories.tsx +27 -0
  236. package/password-input/Icons.d.ts +6 -0
  237. package/password-input/Icons.js +35 -0
  238. package/password-input/PasswordInput.accessibility.test.js +153 -0
  239. package/password-input/PasswordInput.js +58 -125
  240. package/password-input/PasswordInput.stories.tsx +3 -35
  241. package/password-input/PasswordInput.test.js +198 -0
  242. package/password-input/types.d.ts +21 -17
  243. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  244. package/progress-bar/ProgressBar.js +66 -92
  245. package/progress-bar/ProgressBar.stories.tsx +93 -0
  246. package/progress-bar/ProgressBar.test.js +93 -0
  247. package/progress-bar/types.d.ts +3 -3
  248. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  249. package/quick-nav/QuickNav.d.ts +4 -0
  250. package/quick-nav/QuickNav.js +94 -0
  251. package/quick-nav/QuickNav.stories.tsx +356 -0
  252. package/quick-nav/types.d.ts +21 -0
  253. package/quick-nav/types.js +5 -0
  254. package/radio-group/Radio.d.ts +4 -0
  255. package/radio-group/Radio.js +124 -0
  256. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  257. package/radio-group/RadioGroup.d.ts +4 -0
  258. package/radio-group/RadioGroup.js +235 -0
  259. package/radio-group/RadioGroup.stories.tsx +214 -0
  260. package/radio-group/RadioGroup.test.js +756 -0
  261. package/radio-group/types.d.ts +114 -0
  262. package/radio-group/types.js +5 -0
  263. package/resultset-table/Icons.d.ts +7 -0
  264. package/resultset-table/Icons.js +47 -0
  265. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  266. package/resultset-table/ResultsetTable.d.ts +7 -0
  267. package/resultset-table/ResultsetTable.js +170 -0
  268. package/resultset-table/ResultsetTable.stories.tsx +401 -0
  269. package/resultset-table/ResultsetTable.test.js +381 -0
  270. package/{resultsetTable → resultset-table}/types.d.ts +45 -12
  271. package/resultset-table/types.js +5 -0
  272. package/select/Icons.d.ts +10 -0
  273. package/select/Icons.js +89 -0
  274. package/select/Listbox.d.ts +4 -0
  275. package/select/Listbox.js +143 -0
  276. package/select/Option.d.ts +4 -0
  277. package/select/Option.js +87 -0
  278. package/select/Select.accessibility.test.js +217 -0
  279. package/select/Select.d.ts +4 -0
  280. package/select/Select.js +240 -515
  281. package/select/Select.stories.tsx +602 -204
  282. package/select/Select.test.js +2370 -0
  283. package/select/types.d.ts +209 -0
  284. package/select/types.js +5 -0
  285. package/sidenav/Sidenav.accessibility.test.js +59 -0
  286. package/sidenav/Sidenav.d.ts +6 -5
  287. package/sidenav/Sidenav.js +137 -72
  288. package/sidenav/Sidenav.stories.tsx +246 -134
  289. package/sidenav/Sidenav.test.js +37 -0
  290. package/sidenav/SidenavContext.d.ts +5 -0
  291. package/sidenav/SidenavContext.js +13 -0
  292. package/sidenav/types.d.ts +52 -26
  293. package/slider/Slider.accessibility.test.js +104 -0
  294. package/slider/Slider.d.ts +2 -2
  295. package/slider/Slider.js +149 -181
  296. package/slider/Slider.test.js +254 -0
  297. package/slider/types.d.ts +11 -3
  298. package/spinner/Spinner.accessibility.test.js +96 -0
  299. package/spinner/Spinner.js +32 -76
  300. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  301. package/spinner/Spinner.test.js +55 -0
  302. package/spinner/types.d.ts +3 -3
  303. package/status-light/StatusLight.accessibility.test.js +157 -0
  304. package/status-light/StatusLight.d.ts +4 -0
  305. package/status-light/StatusLight.js +51 -0
  306. package/status-light/StatusLight.stories.tsx +74 -0
  307. package/status-light/StatusLight.test.js +25 -0
  308. package/status-light/types.d.ts +17 -0
  309. package/status-light/types.js +5 -0
  310. package/switch/Switch.accessibility.test.js +89 -0
  311. package/switch/Switch.d.ts +2 -2
  312. package/switch/Switch.js +150 -115
  313. package/switch/Switch.stories.tsx +45 -68
  314. package/switch/Switch.test.js +180 -0
  315. package/switch/types.d.ts +13 -5
  316. package/table/DropdownTheme.js +62 -0
  317. package/table/Table.accessibility.test.js +82 -0
  318. package/table/Table.d.ts +6 -2
  319. package/table/Table.js +79 -36
  320. package/table/Table.stories.tsx +651 -0
  321. package/table/Table.test.js +113 -0
  322. package/table/types.d.ts +34 -6
  323. package/tabs/Tab.d.ts +4 -0
  324. package/tabs/Tab.js +116 -0
  325. package/tabs/Tabs.accessibility.test.js +56 -0
  326. package/tabs/Tabs.d.ts +1 -1
  327. package/tabs/Tabs.js +318 -147
  328. package/tabs/Tabs.stories.tsx +123 -18
  329. package/tabs/Tabs.test.js +294 -0
  330. package/tabs/types.d.ts +46 -24
  331. package/tag/Tag.accessibility.test.js +69 -0
  332. package/tag/Tag.d.ts +1 -1
  333. package/tag/Tag.js +44 -86
  334. package/tag/Tag.stories.tsx +37 -30
  335. package/tag/Tag.test.js +41 -0
  336. package/tag/types.d.ts +25 -16
  337. package/text-input/Suggestion.d.ts +4 -0
  338. package/text-input/Suggestion.js +67 -0
  339. package/text-input/Suggestions.d.ts +4 -0
  340. package/text-input/Suggestions.js +86 -0
  341. package/text-input/TextInput.accessibility.test.js +321 -0
  342. package/text-input/TextInput.js +333 -552
  343. package/text-input/TextInput.stories.tsx +280 -271
  344. package/text-input/TextInput.test.js +1756 -0
  345. package/text-input/types.d.ts +71 -25
  346. package/textarea/Textarea.accessibility.test.js +155 -0
  347. package/textarea/Textarea.d.ts +4 -0
  348. package/textarea/Textarea.js +95 -177
  349. package/textarea/Textarea.stories.tsx +174 -0
  350. package/textarea/Textarea.test.js +406 -0
  351. package/textarea/types.d.ts +141 -0
  352. package/textarea/types.js +5 -0
  353. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  354. package/toggle-group/ToggleGroup.d.ts +2 -2
  355. package/toggle-group/ToggleGroup.js +98 -113
  356. package/toggle-group/ToggleGroup.stories.tsx +79 -39
  357. package/toggle-group/ToggleGroup.test.js +137 -0
  358. package/toggle-group/types.d.ts +67 -37
  359. package/typography/Typography.accessibility.test.js +339 -0
  360. package/typography/Typography.d.ts +4 -0
  361. package/typography/Typography.js +23 -0
  362. package/typography/Typography.stories.tsx +198 -0
  363. package/typography/types.d.ts +18 -0
  364. package/typography/types.js +5 -0
  365. package/useTheme.d.ts +1148 -0
  366. package/useTheme.js +4 -11
  367. package/useTranslatedLabels.d.ts +85 -0
  368. package/useTranslatedLabels.js +14 -0
  369. package/utils/BaseTypography.d.ts +21 -0
  370. package/utils/BaseTypography.js +94 -0
  371. package/utils/FocusLock.d.ts +13 -0
  372. package/utils/FocusLock.js +124 -0
  373. package/wizard/Wizard.accessibility.test.js +55 -0
  374. package/wizard/Wizard.d.ts +1 -1
  375. package/wizard/Wizard.js +123 -104
  376. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
  377. package/wizard/Wizard.test.js +114 -0
  378. package/wizard/types.d.ts +15 -15
  379. package/ThemeContext.js +0 -246
  380. package/V3Select/V3Select.js +0 -455
  381. package/V3Select/index.d.ts +0 -27
  382. package/V3Textarea/V3Textarea.js +0 -260
  383. package/V3Textarea/index.d.ts +0 -27
  384. package/card/ice-cream.jpg +0 -0
  385. package/common/OpenSans.css +0 -81
  386. package/common/RequiredComponent.js +0 -32
  387. package/common/fonts/OpenSans-Bold.ttf +0 -0
  388. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  389. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  390. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  391. package/common/fonts/OpenSans-Italic.ttf +0 -0
  392. package/common/fonts/OpenSans-Light.ttf +0 -0
  393. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  394. package/common/fonts/OpenSans-Regular.ttf +0 -0
  395. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  396. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  397. package/date/Date.js +0 -373
  398. package/date/index.d.ts +0 -27
  399. package/input-text/Icons.js +0 -22
  400. package/input-text/InputText.js +0 -611
  401. package/input-text/index.d.ts +0 -36
  402. package/number-input/numberInputContextTypes.d.ts +0 -19
  403. package/progress-bar/ProgressBar.stories.jsx +0 -58
  404. package/radio/Radio.d.ts +0 -4
  405. package/radio/Radio.js +0 -174
  406. package/radio/Radio.stories.tsx +0 -192
  407. package/radio/types.d.ts +0 -54
  408. package/resultsetTable/ResultsetTable.d.ts +0 -4
  409. package/resultsetTable/ResultsetTable.js +0 -251
  410. package/select/index.d.ts +0 -131
  411. package/slider/Slider.stories.tsx +0 -177
  412. package/table/Table.stories.jsx +0 -276
  413. package/textarea/Textarea.stories.jsx +0 -135
  414. package/textarea/index.d.ts +0 -127
  415. package/toggle/Toggle.js +0 -186
  416. package/toggle/index.d.ts +0 -21
  417. package/upload/Upload.js +0 -201
  418. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  419. package/upload/buttons-upload/Icons.js +0 -40
  420. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  421. package/upload/dragAndDropArea/Icons.js +0 -39
  422. package/upload/file-upload/FileToUpload.js +0 -115
  423. package/upload/file-upload/Icons.js +0 -66
  424. package/upload/files-upload/FilesToUpload.js +0 -109
  425. package/upload/index.d.ts +0 -15
  426. package/upload/transaction/Icons.js +0 -160
  427. package/upload/transaction/Transaction.js +0 -104
  428. package/upload/transactions/Transactions.js +0 -94
  429. package/wizard/Icons.js +0 -65
  430. /package/{radio → action-icon}/types.js +0 -0
  431. /package/{resultsetTable → badge}/types.js +0 -0
  432. /package/{number-input/numberInputContextTypes.js → bleed/types.js} +0 -0
@@ -1,10 +1,11 @@
1
1
  import React from "react";
2
2
  import DxcAccordionGroup from "./AccordionGroup";
3
+ import DxcInset from "../inset/Inset";
3
4
  import Title from "../../.storybook/components/Title";
4
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
6
 
6
7
  export default {
7
- title: "Accordion group",
8
+ title: "Accordion Group",
8
9
  component: DxcAccordionGroup,
9
10
  };
10
11
 
@@ -14,69 +15,95 @@ export const Chromatic = () => (
14
15
  <ExampleContainer>
15
16
  <Title title="Default" theme="light" level={4} />
16
17
  <DxcAccordionGroup>
17
- <DxcAccordionGroup.Accordion label="Accordion1" assistiveText="Assistive text" padding="medium">
18
- <div>
18
+ <DxcAccordionGroup.Accordion label="Accordion1" assistiveText="Assistive text">
19
+ <DxcInset space="2rem">
19
20
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
20
21
  leo lobortis eget.
21
- </div>
22
+ </DxcInset>
22
23
  </DxcAccordionGroup.Accordion>
23
- <DxcAccordionGroup.Accordion label="Accordion2" assistiveText="Assistive text" padding="medium">
24
- <div>
24
+ <DxcAccordionGroup.Accordion label="Accordion2" assistiveText="Assistive text">
25
+ <DxcInset space="2rem">
25
26
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
26
27
  leo lobortis eget.
27
- </div>
28
+ </DxcInset>
28
29
  </DxcAccordionGroup.Accordion>
29
- <DxcAccordionGroup.Accordion label="Accordion2" assistiveText="Assistive text" padding="medium">
30
- <div>
30
+ <DxcAccordionGroup.Accordion label="Accordion2" assistiveText="Assistive text">
31
+ <DxcInset space="2rem">
31
32
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
32
33
  leo lobortis eget.
33
- </div>
34
+ </DxcInset>
34
35
  </DxcAccordionGroup.Accordion>
35
36
  </DxcAccordionGroup>
36
37
  </ExampleContainer>
37
38
  <ExampleContainer>
38
39
  <Title title="Expanded" theme="light" level={4} />
39
- <DxcAccordionGroup indexActive={1}>
40
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
41
- <div>
40
+ <DxcAccordionGroup defaultIndexActive={1}>
41
+ <DxcAccordionGroup.Accordion label="Accordion1">
42
+ <DxcInset space="2rem">
42
43
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
43
44
  dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
44
45
  ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
45
46
  nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
46
47
  anim id est laborum.
47
- </div>
48
+ </DxcInset>
48
49
  </DxcAccordionGroup.Accordion>
49
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
50
- <div>
50
+ <DxcAccordionGroup.Accordion label="Accordion2">
51
+ <DxcInset space="2rem">
51
52
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
52
53
  leo lobortis eget.
53
- </div>
54
+ </DxcInset>
54
55
  </DxcAccordionGroup.Accordion>
55
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
56
- <div>
56
+ <DxcAccordionGroup.Accordion label="Accordion2">
57
+ <DxcInset space="2rem">
57
58
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
58
59
  leo lobortis eget.
59
- </div>
60
+ </DxcInset>
60
61
  </DxcAccordionGroup.Accordion>
61
62
  </DxcAccordionGroup>
62
63
  </ExampleContainer>
63
64
  <ExampleContainer>
64
65
  <Title title="Disabled" theme="light" level={4} />
65
66
  <DxcAccordionGroup disabled>
66
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
67
- <div>
67
+ <DxcAccordionGroup.Accordion label="Accordion1">
68
+ <DxcInset space="2rem">
68
69
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
69
70
  dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
70
71
  ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
71
72
  nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
72
73
  anim id est laborum.
73
- </div>
74
+ </DxcInset>
74
75
  </DxcAccordionGroup.Accordion>
75
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
76
- <div>
76
+ <DxcAccordionGroup.Accordion label="Accordion2">
77
+ <DxcInset space="2rem">
77
78
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
78
79
  leo lobortis eget.
79
- </div>
80
+ </DxcInset>
81
+ </DxcAccordionGroup.Accordion>
82
+ </DxcAccordionGroup>
83
+ </ExampleContainer>
84
+ <ExampleContainer pseudoState="pseudo-focus">
85
+ <Title title="Focused" theme="light" level={4} />
86
+ <DxcAccordionGroup defaultIndexActive={2}>
87
+ <DxcAccordionGroup.Accordion label="Accordion1">
88
+ <DxcInset space="2rem">
89
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
90
+ dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
91
+ ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
92
+ nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
93
+ anim id est laborum.
94
+ </DxcInset>
95
+ </DxcAccordionGroup.Accordion>
96
+ <DxcAccordionGroup.Accordion label="Accordion2">
97
+ <DxcInset space="2rem">
98
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
99
+ leo lobortis eget.
100
+ </DxcInset>
101
+ </DxcAccordionGroup.Accordion>
102
+ <DxcAccordionGroup.Accordion label="Accordion2">
103
+ <DxcInset space="2rem">
104
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
105
+ leo lobortis eget.
106
+ </DxcInset>
80
107
  </DxcAccordionGroup.Accordion>
81
108
  </DxcAccordionGroup>
82
109
  </ExampleContainer>
@@ -84,140 +111,140 @@ export const Chromatic = () => (
84
111
  <ExampleContainer>
85
112
  <Title title="Xxsmall" theme="light" level={4} />
86
113
  <DxcAccordionGroup margin="xxsmall">
87
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
88
- <div>
114
+ <DxcAccordionGroup.Accordion label="Accordion1">
115
+ <DxcInset space="2rem">
89
116
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
90
117
  dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
91
118
  ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
92
119
  nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
93
120
  anim id est laborum.
94
- </div>
121
+ </DxcInset>
95
122
  </DxcAccordionGroup.Accordion>
96
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
97
- <div>
123
+ <DxcAccordionGroup.Accordion label="Accordion2">
124
+ <DxcInset space="2rem">
98
125
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
99
126
  leo lobortis eget.
100
- </div>
127
+ </DxcInset>
101
128
  </DxcAccordionGroup.Accordion>
102
129
  </DxcAccordionGroup>
103
130
  </ExampleContainer>
104
131
  <ExampleContainer>
105
132
  <Title title="Xsmall" theme="light" level={4} />
106
133
  <DxcAccordionGroup margin="xsmall">
107
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
108
- <div>
134
+ <DxcAccordionGroup.Accordion label="Accordion1">
135
+ <DxcInset space="2rem">
109
136
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
110
137
  dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
111
138
  ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
112
139
  nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
113
140
  anim id est laborum.
114
- </div>
141
+ </DxcInset>
115
142
  </DxcAccordionGroup.Accordion>
116
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
117
- <div>
143
+ <DxcAccordionGroup.Accordion label="Accordion2">
144
+ <DxcInset space="2rem">
118
145
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
119
146
  leo lobortis eget.
120
- </div>
147
+ </DxcInset>
121
148
  </DxcAccordionGroup.Accordion>
122
149
  </DxcAccordionGroup>
123
150
  </ExampleContainer>
124
151
  <ExampleContainer>
125
152
  <Title title="Small" theme="light" level={4} />
126
153
  <DxcAccordionGroup margin="small">
127
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
128
- <div>
154
+ <DxcAccordionGroup.Accordion label="Accordion1">
155
+ <DxcInset space="2rem">
129
156
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
130
157
  dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
131
158
  ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
132
159
  nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
133
160
  anim id est laborum.
134
- </div>
161
+ </DxcInset>
135
162
  </DxcAccordionGroup.Accordion>
136
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
137
- <div>
163
+ <DxcAccordionGroup.Accordion label="Accordion2">
164
+ <DxcInset space="2rem">
138
165
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
139
166
  leo lobortis eget.
140
- </div>
167
+ </DxcInset>
141
168
  </DxcAccordionGroup.Accordion>
142
169
  </DxcAccordionGroup>
143
170
  </ExampleContainer>
144
171
  <ExampleContainer>
145
172
  <Title title="Medium" theme="light" level={4} />
146
173
  <DxcAccordionGroup margin="medium">
147
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
148
- <div>
174
+ <DxcAccordionGroup.Accordion label="Accordion1">
175
+ <DxcInset space="2rem">
149
176
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
150
177
  dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
151
178
  ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
152
179
  nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
153
180
  anim id est laborum.
154
- </div>
181
+ </DxcInset>
155
182
  </DxcAccordionGroup.Accordion>
156
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
157
- <div>
183
+ <DxcAccordionGroup.Accordion label="Accordion2">
184
+ <DxcInset space="2rem">
158
185
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
159
186
  leo lobortis eget.
160
- </div>
187
+ </DxcInset>
161
188
  </DxcAccordionGroup.Accordion>
162
189
  </DxcAccordionGroup>
163
190
  </ExampleContainer>
164
191
  <ExampleContainer>
165
192
  <Title title="Large" theme="light" level={4} />
166
193
  <DxcAccordionGroup margin="large">
167
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
168
- <div>
194
+ <DxcAccordionGroup.Accordion label="Accordion1">
195
+ <DxcInset space="2rem">
169
196
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
170
197
  dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
171
198
  ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
172
199
  nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
173
200
  anim id est laborum.
174
- </div>
201
+ </DxcInset>
175
202
  </DxcAccordionGroup.Accordion>
176
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
177
- <div>
203
+ <DxcAccordionGroup.Accordion label="Accordion2">
204
+ <DxcInset space="2rem">
178
205
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
179
206
  leo lobortis eget.
180
- </div>
207
+ </DxcInset>
181
208
  </DxcAccordionGroup.Accordion>
182
209
  </DxcAccordionGroup>
183
210
  </ExampleContainer>
184
211
  <ExampleContainer>
185
212
  <Title title="Xlarge" theme="light" level={4} />
186
213
  <DxcAccordionGroup margin="xlarge">
187
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
188
- <div>
214
+ <DxcAccordionGroup.Accordion label="Accordion1">
215
+ <DxcInset space="2rem">
189
216
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
190
217
  dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
191
218
  ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
192
219
  nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
193
220
  anim id est laborum.
194
- </div>
221
+ </DxcInset>
195
222
  </DxcAccordionGroup.Accordion>
196
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
197
- <div>
223
+ <DxcAccordionGroup.Accordion label="Accordion2">
224
+ <DxcInset space="2rem">
198
225
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
199
226
  leo lobortis eget.
200
- </div>
227
+ </DxcInset>
201
228
  </DxcAccordionGroup.Accordion>
202
229
  </DxcAccordionGroup>
203
230
  </ExampleContainer>
204
231
  <ExampleContainer>
205
232
  <Title title="Xxlarge" theme="light" level={4} />
206
233
  <DxcAccordionGroup margin="xxlarge">
207
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
208
- <div>
234
+ <DxcAccordionGroup.Accordion label="Accordion1">
235
+ <DxcInset space="2rem">
209
236
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
210
237
  dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
211
238
  ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
212
239
  nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
213
240
  anim id est laborum.
214
- </div>
241
+ </DxcInset>
215
242
  </DxcAccordionGroup.Accordion>
216
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
217
- <div>
243
+ <DxcAccordionGroup.Accordion label="Accordion2">
244
+ <DxcInset space="2rem">
218
245
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
219
246
  leo lobortis eget.
220
- </div>
247
+ </DxcInset>
221
248
  </DxcAccordionGroup.Accordion>
222
249
  </DxcAccordionGroup>
223
250
  </ExampleContainer>
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _AccordionGroup = _interopRequireDefault(require("./AccordionGroup.tsx"));
7
+ describe("Accordion component tests", function () {
8
+ test("Uncontrolled accordion group calls correct function on click", function () {
9
+ var onActiveChange = jest.fn();
10
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
11
+ margin: "large",
12
+ onActiveChange: onActiveChange
13
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
14
+ label: "Accordion1",
15
+ margin: "large"
16
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
17
+ label: "Accordion2"
18
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")))),
19
+ getByText = _render.getByText,
20
+ getAllByRole = _render.getAllByRole;
21
+ expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
22
+ expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
23
+ _react2.fireEvent.click(getByText("Accordion1"));
24
+ expect(onActiveChange).toHaveBeenCalled();
25
+ expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
26
+ expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
27
+ });
28
+ test("Uncontrolled accordion group renders initially with an accordion expanded using defaultIndexActive", function () {
29
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
30
+ defaultIndexActive: 1
31
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
32
+ label: "Accordion1"
33
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "First accordion")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
34
+ label: "Accordion2"
35
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Second accordion")))),
36
+ queryByText = _render2.queryByText,
37
+ getByText = _render2.getByText,
38
+ getAllByRole = _render2.getAllByRole;
39
+ expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
40
+ expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("true");
41
+ expect(getByText("Second accordion")).toBeTruthy();
42
+ expect(queryByText("First accordion")).toBeFalsy();
43
+ });
44
+ test("Controlled accordion with indexActive change", function () {
45
+ var onActiveChange = jest.fn();
46
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
47
+ margin: "large",
48
+ indexActive: 1,
49
+ onActiveChange: onActiveChange
50
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
51
+ label: "Accordion1",
52
+ margin: "large"
53
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Text1")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
54
+ label: "Accordion2"
55
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
56
+ queryByText = _render3.queryByText,
57
+ getByText = _render3.getByText,
58
+ getAllByRole = _render3.getAllByRole,
59
+ rerender = _render3.rerender;
60
+ expect(queryByText("Text1")).toBeFalsy();
61
+ expect(getByText("Text2")).toBeTruthy();
62
+ _react2.fireEvent.click(getByText("Accordion1"));
63
+ _react2.fireEvent.click(getByText("Accordion2"));
64
+ expect(onActiveChange.mock.calls[0][0]).toBe(0);
65
+ expect(onActiveChange.mock.calls[1][0]).toBe(1);
66
+ expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
67
+ expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("true");
68
+ rerender( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
69
+ margin: "large",
70
+ indexActive: 0,
71
+ onActiveChange: onActiveChange
72
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
73
+ label: "Accordion1",
74
+ margin: "large"
75
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Text1")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
76
+ label: "Accordion2"
77
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2"))));
78
+ expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
79
+ expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
80
+ });
81
+ test("Disabled uncontrolled accordion group", function () {
82
+ var onActiveChange = jest.fn();
83
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
84
+ margin: "large",
85
+ onActiveChange: onActiveChange,
86
+ disabled: true
87
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
88
+ label: "Accordion1",
89
+ margin: "large"
90
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Text1")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
91
+ label: "Accordion2"
92
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
93
+ getByText = _render4.getByText;
94
+ _react2.fireEvent.click(getByText("Accordion1"));
95
+ _react2.fireEvent.click(getByText("Accordion2"));
96
+ expect(onActiveChange).toHaveBeenCalledTimes(0);
97
+ });
98
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { AccordionPropsType } from "./types";
3
+ declare const AccordionGroupAccordion: ({ ...childProps }: AccordionPropsType) => JSX.Element;
4
+ export default AccordionGroupAccordion;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _Accordion = _interopRequireDefault(require("../accordion/Accordion"));
13
+ var _AccordionGroupContext = require("./AccordionGroupContext");
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
16
+ var AccordionGroupAccordion = function AccordionGroupAccordion(_ref) {
17
+ var childProps = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(_ref), _ref));
18
+ var _useContext = (0, _react.useContext)(_AccordionGroupContext.AccordionGroupAccordionContext),
19
+ activeIndex = _useContext.activeIndex,
20
+ handlerActiveChange = _useContext.handlerActiveChange,
21
+ disabled = _useContext.disabled,
22
+ index = _useContext.index;
23
+ return /*#__PURE__*/_react["default"].createElement(_Accordion["default"], (0, _extends2["default"])({
24
+ isExpanded: activeIndex === index,
25
+ onChange: function onChange() {
26
+ handlerActiveChange(index);
27
+ },
28
+ disabled: disabled
29
+ }, childProps), childProps.children);
30
+ };
31
+ var _default = exports["default"] = AccordionGroupAccordion;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { AccordionGroupAccordionContextProps } from "./types";
3
+ export declare const AccordionGroupAccordionContext: import("react").Context<AccordionGroupAccordionContextProps>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AccordionGroupAccordionContext = void 0;
7
+ var _react = require("react");
8
+ var AccordionGroupAccordionContext = exports.AccordionGroupAccordionContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -1,31 +1,21 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
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
- export declare type AccordionPropsType = {
9
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ export type AccordionPropsType = {
17
11
  /**
18
12
  * The panel label.
19
13
  */
20
- label?: string;
21
- /**
22
- * Element used as the icon that will be placed next to panel label.
23
- */
24
- icon?: SVG;
14
+ label: string;
25
15
  /**
26
- * @deprecated URL of the icon that will be placed next to panel label.
16
+ * Material Symbol name or SVG element used as the icon that will be placed next to panel label.
27
17
  */
28
- iconSrc?: string;
18
+ icon?: string | SVG;
29
19
  /**
30
20
  * Assistive text to be placed on the right side of the panel.
31
21
  */
@@ -34,18 +24,17 @@ export declare type AccordionPropsType = {
34
24
  * If true, the component will be disabled.
35
25
  */
36
26
  disabled?: boolean;
37
- /**
38
- * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
39
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
40
- */
41
- padding?: Space | Padding;
42
27
  /**
43
28
  * The expanded panel of the accordion. This area can be used to render
44
29
  * custom content.
45
30
  */
46
31
  children: React.ReactNode;
47
32
  };
48
- declare type Props = {
33
+ type Props = {
34
+ /**
35
+ * Initially active accordion, only when it is uncontrolled.
36
+ */
37
+ defaultIndexActive?: number;
49
38
  /**
50
39
  * The index of the active accordion. If undefined, the component will be uncontrolled and the active accordion will be managed internally by the component.
51
40
  * If null, the component will be controlled and all accordions will be closed.
@@ -69,4 +58,10 @@ declare type Props = {
69
58
  */
70
59
  children: React.ReactElement<AccordionPropsType>[] | React.ReactElement<AccordionPropsType>;
71
60
  };
61
+ export type AccordionGroupAccordionContextProps = {
62
+ activeIndex: number;
63
+ handlerActiveChange: (index: number) => void;
64
+ disabled: boolean;
65
+ index: number;
66
+ };
72
67
  export default Props;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _ActionIcon = _interopRequireDefault(require("./ActionIcon.tsx"));
9
+ var _jestAxe = require("jest-axe");
10
+ var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
11
+ width: "24px",
12
+ height: "24px",
13
+ viewBox: "0 0 24 24",
14
+ fill: "currentColor"
15
+ }, /*#__PURE__*/_react["default"].createElement("path", {
16
+ d: "M0 0h24v24H0z",
17
+ fill: "none"
18
+ }), /*#__PURE__*/_react["default"].createElement("path", {
19
+ d: "M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"
20
+ }));
21
+ describe("Action icon component accessibility tests", function () {
22
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
23
+ var _render, container, results;
24
+ return _regenerator["default"].wrap(function _callee$(_context) {
25
+ while (1) switch (_context.prev = _context.next) {
26
+ case 0:
27
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ActionIcon["default"], {
28
+ icon: iconSVG,
29
+ title: "favourite"
30
+ })), container = _render.container;
31
+ _context.next = 3;
32
+ return (0, _jestAxe.axe)(container);
33
+ case 3:
34
+ results = _context.sent;
35
+ expect(results).toHaveNoViolations();
36
+ case 5:
37
+ case "end":
38
+ return _context.stop();
39
+ }
40
+ }, _callee);
41
+ })));
42
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
43
+ var _render2, container, results;
44
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
45
+ while (1) switch (_context2.prev = _context2.next) {
46
+ case 0:
47
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ActionIcon["default"], {
48
+ icon: iconSVG,
49
+ title: "disabled",
50
+ disabled: true
51
+ })), container = _render2.container;
52
+ _context2.next = 3;
53
+ return (0, _jestAxe.axe)(container);
54
+ case 3:
55
+ results = _context2.sent;
56
+ expect(results).toHaveNoViolations();
57
+ case 5:
58
+ case "end":
59
+ return _context2.stop();
60
+ }
61
+ }, _callee2);
62
+ })));
63
+ });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import ActionIconPropsTypes from "./types";
3
+ declare const DxcActionIcon: React.ForwardRefExoticComponent<ActionIconPropsTypes & React.RefAttributes<HTMLButtonElement>>;
4
+ export default DxcActionIcon;