@dxc-technology/halstack-react 0.0.0-9d82cb9 → 0.0.0-9e25510

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 (553) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1286 -0
  4. package/HalstackContext.js +320 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  7. package/accordion/Accordion.accessibility.test.js +71 -0
  8. package/accordion/Accordion.d.ts +1 -1
  9. package/accordion/Accordion.js +102 -192
  10. package/accordion/Accordion.stories.tsx +83 -149
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +56 -0
  13. package/accordion/types.d.ts +11 -22
  14. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  16. package/accordion-group/AccordionGroup.d.ts +3 -3
  17. package/accordion-group/AccordionGroup.js +38 -107
  18. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +94 -0
  21. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  22. package/accordion-group/AccordionGroupAccordion.js +31 -0
  23. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  24. package/accordion-group/AccordionGroupContext.js +8 -0
  25. package/accordion-group/types.d.ts +17 -22
  26. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  27. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  28. package/action-icon/ActionIcon.d.ts +4 -0
  29. package/action-icon/ActionIcon.js +48 -0
  30. package/action-icon/ActionIcon.stories.tsx +41 -0
  31. package/action-icon/ActionIcon.test.d.ts +1 -0
  32. package/action-icon/ActionIcon.test.js +64 -0
  33. package/action-icon/types.d.ts +26 -0
  34. package/alert/Alert.accessibility.test.d.ts +1 -0
  35. package/alert/Alert.accessibility.test.js +95 -0
  36. package/alert/Alert.js +40 -127
  37. package/alert/Alert.stories.tsx +28 -0
  38. package/alert/Alert.test.d.ts +1 -0
  39. package/alert/Alert.test.js +75 -0
  40. package/alert/types.d.ts +5 -5
  41. package/badge/Badge.accessibility.test.d.ts +1 -0
  42. package/badge/Badge.accessibility.test.js +129 -0
  43. package/badge/Badge.d.ts +4 -0
  44. package/badge/Badge.js +142 -40
  45. package/badge/Badge.stories.tsx +210 -0
  46. package/badge/Badge.test.d.ts +1 -0
  47. package/badge/Badge.test.js +30 -0
  48. package/badge/types.d.ts +54 -0
  49. package/bar-chart/BarChart.d.ts +4 -0
  50. package/bar-chart/BarChart.js +157 -0
  51. package/bar-chart/BarChart.stories.tsx +281 -0
  52. package/bar-chart/BarChart.test.d.ts +1 -0
  53. package/bar-chart/BarChart.test.js +194 -0
  54. package/bar-chart/theme.d.ts +3 -0
  55. package/bar-chart/theme.js +31 -0
  56. package/bar-chart/types.d.ts +137 -0
  57. package/bleed/Bleed.d.ts +2 -2
  58. package/bleed/Bleed.js +14 -55
  59. package/bleed/Bleed.stories.tsx +95 -96
  60. package/bleed/types.d.ts +26 -2
  61. package/box/Box.accessibility.test.d.ts +1 -0
  62. package/box/Box.accessibility.test.js +33 -0
  63. package/box/Box.d.ts +1 -1
  64. package/box/Box.js +30 -81
  65. package/box/Box.stories.tsx +38 -51
  66. package/box/Box.test.d.ts +1 -0
  67. package/box/Box.test.js +13 -0
  68. package/box/types.d.ts +3 -14
  69. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  70. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  71. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  72. package/breadcrumbs/Breadcrumbs.js +79 -0
  73. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  74. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  75. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  76. package/breadcrumbs/Item.d.ts +4 -0
  77. package/breadcrumbs/Item.js +52 -0
  78. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  79. package/breadcrumbs/dropdownTheme.js +62 -0
  80. package/breadcrumbs/types.d.ts +40 -0
  81. package/breadcrumbs/types.js +5 -0
  82. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  83. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  84. package/bulleted-list/BulletedList.d.ts +7 -0
  85. package/bulleted-list/BulletedList.js +92 -0
  86. package/bulleted-list/BulletedList.stories.tsx +115 -0
  87. package/bulleted-list/types.d.ts +38 -0
  88. package/bulleted-list/types.js +5 -0
  89. package/button/Button.accessibility.test.d.ts +1 -0
  90. package/button/Button.accessibility.test.js +127 -0
  91. package/button/Button.d.ts +1 -1
  92. package/button/Button.js +63 -113
  93. package/button/Button.stories.tsx +151 -100
  94. package/button/Button.test.d.ts +1 -0
  95. package/button/Button.test.js +38 -0
  96. package/button/types.d.ts +12 -8
  97. package/card/Card.accessibility.test.d.ts +1 -0
  98. package/card/Card.accessibility.test.js +36 -0
  99. package/card/Card.d.ts +1 -1
  100. package/card/Card.js +59 -102
  101. package/card/Card.stories.tsx +13 -43
  102. package/card/Card.test.d.ts +1 -0
  103. package/card/Card.test.js +39 -0
  104. package/card/types.d.ts +6 -11
  105. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  106. package/checkbox/Checkbox.accessibility.test.js +87 -0
  107. package/checkbox/Checkbox.d.ts +2 -2
  108. package/checkbox/Checkbox.js +140 -181
  109. package/checkbox/Checkbox.stories.tsx +166 -136
  110. package/checkbox/Checkbox.test.d.ts +1 -0
  111. package/checkbox/Checkbox.test.js +199 -0
  112. package/checkbox/types.d.ts +18 -6
  113. package/chip/Chip.accessibility.test.d.ts +1 -0
  114. package/chip/Chip.accessibility.test.js +67 -0
  115. package/chip/Chip.d.ts +1 -1
  116. package/chip/Chip.js +49 -122
  117. package/chip/Chip.stories.tsx +105 -31
  118. package/chip/Chip.test.d.ts +1 -0
  119. package/chip/Chip.test.js +41 -0
  120. package/chip/types.d.ts +8 -16
  121. package/common/coreTokens.d.ts +236 -0
  122. package/common/coreTokens.js +183 -0
  123. package/common/utils.d.ts +1 -0
  124. package/common/utils.js +6 -12
  125. package/common/variables.d.ts +1438 -0
  126. package/common/variables.js +1119 -1427
  127. package/container/Container.d.ts +4 -0
  128. package/container/Container.js +194 -0
  129. package/container/Container.stories.tsx +214 -0
  130. package/container/types.d.ts +176 -0
  131. package/container/types.js +5 -0
  132. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  133. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  134. package/contextual-menu/ContextualMenu.d.ts +5 -0
  135. package/contextual-menu/ContextualMenu.js +136 -0
  136. package/contextual-menu/ContextualMenu.stories.tsx +231 -0
  137. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  138. package/contextual-menu/ContextualMenu.test.js +247 -0
  139. package/contextual-menu/GroupItem.d.ts +4 -0
  140. package/contextual-menu/GroupItem.js +67 -0
  141. package/contextual-menu/ItemAction.d.ts +4 -0
  142. package/contextual-menu/ItemAction.js +88 -0
  143. package/contextual-menu/MenuItem.d.ts +4 -0
  144. package/contextual-menu/MenuItem.js +29 -0
  145. package/contextual-menu/SingleItem.d.ts +4 -0
  146. package/contextual-menu/SingleItem.js +38 -0
  147. package/contextual-menu/types.d.ts +65 -0
  148. package/contextual-menu/types.js +5 -0
  149. package/date-input/Calendar.d.ts +4 -0
  150. package/date-input/Calendar.js +230 -0
  151. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  152. package/date-input/DateInput.accessibility.test.js +229 -0
  153. package/date-input/DateInput.js +263 -310
  154. package/date-input/DateInput.stories.tsx +215 -57
  155. package/date-input/DateInput.test.d.ts +1 -0
  156. package/date-input/DateInput.test.js +808 -0
  157. package/date-input/DatePicker.d.ts +4 -0
  158. package/date-input/DatePicker.js +121 -0
  159. package/date-input/YearPicker.d.ts +4 -0
  160. package/date-input/YearPicker.js +105 -0
  161. package/date-input/types.d.ts +86 -22
  162. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  163. package/dialog/Dialog.accessibility.test.js +69 -0
  164. package/dialog/Dialog.d.ts +1 -1
  165. package/dialog/Dialog.js +56 -129
  166. package/dialog/Dialog.stories.tsx +324 -167
  167. package/dialog/Dialog.test.d.ts +1 -0
  168. package/dialog/Dialog.test.js +370 -0
  169. package/dialog/types.d.ts +18 -25
  170. package/divider/Divider.accessibility.test.d.ts +1 -0
  171. package/divider/Divider.accessibility.test.js +33 -0
  172. package/divider/Divider.d.ts +4 -0
  173. package/divider/Divider.js +36 -0
  174. package/divider/Divider.stories.tsx +224 -0
  175. package/divider/Divider.test.d.ts +1 -0
  176. package/divider/Divider.test.js +38 -0
  177. package/divider/types.d.ts +21 -0
  178. package/divider/types.js +5 -0
  179. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  180. package/dropdown/Dropdown.accessibility.test.js +183 -0
  181. package/dropdown/Dropdown.d.ts +1 -1
  182. package/dropdown/Dropdown.js +213 -329
  183. package/dropdown/Dropdown.stories.tsx +245 -65
  184. package/dropdown/Dropdown.test.d.ts +1 -0
  185. package/dropdown/Dropdown.test.js +628 -0
  186. package/dropdown/DropdownMenu.d.ts +4 -0
  187. package/dropdown/DropdownMenu.js +63 -0
  188. package/dropdown/DropdownMenuItem.d.ts +4 -0
  189. package/dropdown/DropdownMenuItem.js +71 -0
  190. package/dropdown/types.d.ts +37 -30
  191. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  192. package/file-input/FileInput.accessibility.test.js +167 -0
  193. package/file-input/FileInput.d.ts +2 -2
  194. package/file-input/FileInput.js +243 -395
  195. package/file-input/FileInput.stories.tsx +123 -12
  196. package/file-input/FileInput.test.d.ts +1 -0
  197. package/file-input/FileInput.test.js +404 -0
  198. package/file-input/FileItem.d.ts +4 -14
  199. package/file-input/FileItem.js +61 -120
  200. package/file-input/types.d.ts +24 -11
  201. package/flex/Flex.d.ts +4 -0
  202. package/flex/Flex.js +57 -0
  203. package/flex/Flex.stories.tsx +112 -0
  204. package/flex/types.d.ts +97 -0
  205. package/flex/types.js +5 -0
  206. package/footer/Footer.accessibility.test.d.ts +1 -0
  207. package/footer/Footer.accessibility.test.js +125 -0
  208. package/footer/Footer.d.ts +1 -1
  209. package/footer/Footer.js +73 -193
  210. package/footer/Footer.stories.tsx +99 -21
  211. package/footer/Footer.test.d.ts +1 -0
  212. package/footer/Footer.test.js +85 -0
  213. package/footer/Icons.d.ts +3 -2
  214. package/footer/Icons.js +54 -23
  215. package/footer/types.d.ts +26 -27
  216. package/grid/Grid.d.ts +7 -0
  217. package/grid/Grid.js +76 -0
  218. package/grid/Grid.stories.tsx +221 -0
  219. package/grid/types.d.ts +115 -0
  220. package/grid/types.js +5 -0
  221. package/header/Header.accessibility.test.d.ts +1 -0
  222. package/header/Header.accessibility.test.js +94 -0
  223. package/header/Header.d.ts +4 -3
  224. package/header/Header.js +104 -218
  225. package/header/Header.stories.tsx +169 -64
  226. package/header/Header.test.d.ts +1 -0
  227. package/header/Header.test.js +66 -0
  228. package/header/Icons.d.ts +2 -2
  229. package/header/Icons.js +5 -15
  230. package/header/types.d.ts +7 -21
  231. package/heading/Heading.accessibility.test.d.ts +1 -0
  232. package/heading/Heading.accessibility.test.js +33 -0
  233. package/heading/Heading.js +10 -32
  234. package/heading/Heading.test.d.ts +1 -0
  235. package/heading/Heading.test.js +156 -0
  236. package/heading/types.d.ts +7 -7
  237. package/icon/Icon.accessibility.test.d.ts +1 -0
  238. package/icon/Icon.accessibility.test.js +30 -0
  239. package/icon/Icon.d.ts +4 -0
  240. package/icon/Icon.js +33 -0
  241. package/icon/Icon.stories.tsx +28 -0
  242. package/icon/types.d.ts +4 -0
  243. package/icon/types.js +5 -0
  244. package/image/Image.accessibility.test.d.ts +1 -0
  245. package/image/Image.accessibility.test.js +56 -0
  246. package/image/Image.d.ts +4 -0
  247. package/image/Image.js +70 -0
  248. package/image/Image.stories.tsx +129 -0
  249. package/image/types.d.ts +72 -0
  250. package/image/types.js +5 -0
  251. package/inset/Inset.js +14 -55
  252. package/inset/Inset.stories.tsx +37 -36
  253. package/inset/types.d.ts +26 -2
  254. package/layout/ApplicationLayout.d.ts +16 -6
  255. package/layout/ApplicationLayout.js +88 -176
  256. package/layout/ApplicationLayout.stories.tsx +85 -94
  257. package/layout/Icons.d.ts +7 -0
  258. package/layout/Icons.js +41 -48
  259. package/layout/types.d.ts +19 -35
  260. package/link/Link.accessibility.test.d.ts +1 -0
  261. package/link/Link.accessibility.test.js +108 -0
  262. package/link/Link.d.ts +3 -2
  263. package/link/Link.js +64 -108
  264. package/link/Link.stories.tsx +161 -54
  265. package/link/Link.test.d.ts +1 -0
  266. package/link/Link.test.js +63 -0
  267. package/link/types.d.ts +15 -35
  268. package/main.d.ts +21 -18
  269. package/main.js +96 -120
  270. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  271. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  272. package/nav-tabs/NavTabs.d.ts +7 -0
  273. package/nav-tabs/NavTabs.js +108 -0
  274. package/nav-tabs/NavTabs.stories.tsx +294 -0
  275. package/nav-tabs/NavTabs.test.d.ts +1 -0
  276. package/nav-tabs/NavTabs.test.js +77 -0
  277. package/nav-tabs/NavTabsContext.d.ts +3 -0
  278. package/nav-tabs/NavTabsContext.js +8 -0
  279. package/nav-tabs/Tab.d.ts +4 -0
  280. package/nav-tabs/Tab.js +117 -0
  281. package/nav-tabs/types.d.ts +52 -0
  282. package/nav-tabs/types.js +5 -0
  283. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  284. package/number-input/NumberInput.accessibility.test.js +227 -0
  285. package/number-input/NumberInput.js +51 -45
  286. package/number-input/NumberInput.stories.tsx +39 -28
  287. package/number-input/NumberInput.test.d.ts +1 -0
  288. package/number-input/NumberInput.test.js +988 -0
  289. package/number-input/NumberInputContext.d.ts +3 -4
  290. package/number-input/NumberInputContext.js +3 -14
  291. package/number-input/types.d.ts +34 -15
  292. package/package.json +60 -55
  293. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  294. package/paginator/Paginator.accessibility.test.js +78 -0
  295. package/paginator/Paginator.js +46 -100
  296. package/paginator/Paginator.stories.tsx +24 -0
  297. package/paginator/Paginator.test.d.ts +1 -0
  298. package/paginator/Paginator.test.js +334 -0
  299. package/paginator/types.d.ts +3 -3
  300. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  301. package/paragraph/Paragraph.accessibility.test.js +28 -0
  302. package/paragraph/Paragraph.d.ts +5 -0
  303. package/paragraph/Paragraph.js +22 -0
  304. package/paragraph/Paragraph.stories.tsx +27 -0
  305. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  306. package/password-input/PasswordInput.accessibility.test.js +152 -0
  307. package/password-input/PasswordInput.js +62 -125
  308. package/password-input/PasswordInput.stories.tsx +11 -34
  309. package/password-input/PasswordInput.test.d.ts +1 -0
  310. package/password-input/PasswordInput.test.js +197 -0
  311. package/password-input/types.d.ts +21 -17
  312. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  313. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  314. package/progress-bar/ProgressBar.js +68 -92
  315. package/progress-bar/ProgressBar.stories.tsx +93 -0
  316. package/progress-bar/ProgressBar.test.d.ts +1 -0
  317. package/progress-bar/ProgressBar.test.js +93 -0
  318. package/progress-bar/types.d.ts +3 -3
  319. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  320. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  321. package/quick-nav/QuickNav.d.ts +4 -0
  322. package/quick-nav/QuickNav.js +94 -0
  323. package/quick-nav/QuickNav.stories.tsx +356 -0
  324. package/quick-nav/types.d.ts +21 -0
  325. package/quick-nav/types.js +5 -0
  326. package/radio-group/Radio.d.ts +1 -1
  327. package/radio-group/Radio.js +66 -75
  328. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  329. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  330. package/radio-group/RadioGroup.js +110 -145
  331. package/radio-group/RadioGroup.stories.tsx +171 -36
  332. package/radio-group/RadioGroup.test.d.ts +1 -0
  333. package/radio-group/RadioGroup.test.js +754 -0
  334. package/radio-group/types.d.ts +88 -10
  335. package/resultset-table/Icons.d.ts +7 -0
  336. package/resultset-table/Icons.js +47 -0
  337. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  338. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  339. package/resultset-table/ResultsetTable.d.ts +7 -0
  340. package/resultset-table/ResultsetTable.js +198 -0
  341. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +169 -31
  342. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  343. package/resultset-table/ResultsetTable.test.js +450 -0
  344. package/{resultsetTable → resultset-table}/types.d.ts +47 -13
  345. package/resultset-table/types.js +5 -0
  346. package/select/Listbox.d.ts +4 -0
  347. package/select/Listbox.js +147 -0
  348. package/select/Option.d.ts +4 -0
  349. package/select/Option.js +93 -0
  350. package/select/Select.accessibility.test.d.ts +1 -0
  351. package/select/Select.accessibility.test.js +227 -0
  352. package/select/Select.js +213 -593
  353. package/select/Select.stories.tsx +611 -255
  354. package/select/Select.test.d.ts +1 -0
  355. package/select/Select.test.js +2168 -0
  356. package/select/selectUtils.d.ts +41 -0
  357. package/select/selectUtils.js +129 -0
  358. package/select/types.d.ts +65 -26
  359. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  360. package/sidenav/Sidenav.accessibility.test.js +59 -0
  361. package/sidenav/Sidenav.d.ts +6 -5
  362. package/sidenav/Sidenav.js +136 -71
  363. package/sidenav/Sidenav.stories.tsx +246 -151
  364. package/sidenav/Sidenav.test.d.ts +1 -0
  365. package/sidenav/Sidenav.test.js +37 -0
  366. package/sidenav/SidenavContext.d.ts +5 -0
  367. package/sidenav/SidenavContext.js +13 -0
  368. package/sidenav/types.d.ts +52 -26
  369. package/slider/Slider.accessibility.test.d.ts +1 -0
  370. package/slider/Slider.accessibility.test.js +103 -0
  371. package/slider/Slider.d.ts +2 -2
  372. package/slider/Slider.js +147 -181
  373. package/slider/Slider.stories.tsx +68 -65
  374. package/slider/Slider.test.d.ts +1 -0
  375. package/slider/Slider.test.js +256 -0
  376. package/slider/types.d.ts +11 -3
  377. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  378. package/spinner/Spinner.accessibility.test.js +96 -0
  379. package/spinner/Spinner.d.ts +1 -1
  380. package/spinner/Spinner.js +50 -109
  381. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  382. package/spinner/Spinner.test.d.ts +1 -0
  383. package/spinner/Spinner.test.js +55 -0
  384. package/spinner/types.d.ts +3 -3
  385. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  386. package/status-light/StatusLight.accessibility.test.js +157 -0
  387. package/status-light/StatusLight.d.ts +4 -0
  388. package/status-light/StatusLight.js +51 -0
  389. package/status-light/StatusLight.stories.tsx +74 -0
  390. package/status-light/StatusLight.test.d.ts +1 -0
  391. package/status-light/StatusLight.test.js +25 -0
  392. package/status-light/types.d.ts +17 -0
  393. package/status-light/types.js +5 -0
  394. package/switch/Switch.accessibility.test.d.ts +1 -0
  395. package/switch/Switch.accessibility.test.js +98 -0
  396. package/switch/Switch.d.ts +2 -2
  397. package/switch/Switch.js +146 -114
  398. package/switch/Switch.stories.tsx +56 -67
  399. package/switch/Switch.test.d.ts +1 -0
  400. package/switch/Switch.test.js +180 -0
  401. package/switch/types.d.ts +13 -5
  402. package/table/DropdownTheme.js +62 -0
  403. package/table/Table.accessibility.test.d.ts +1 -0
  404. package/table/Table.accessibility.test.js +92 -0
  405. package/table/Table.d.ts +6 -2
  406. package/table/Table.js +78 -35
  407. package/table/Table.stories.tsx +663 -0
  408. package/table/Table.test.d.ts +1 -0
  409. package/table/Table.test.js +111 -0
  410. package/table/types.d.ts +34 -6
  411. package/tabs/Tab.d.ts +4 -0
  412. package/tabs/Tab.js +117 -0
  413. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  414. package/tabs/Tabs.accessibility.test.js +56 -0
  415. package/tabs/Tabs.d.ts +1 -1
  416. package/tabs/Tabs.js +306 -146
  417. package/tabs/Tabs.stories.tsx +127 -19
  418. package/tabs/Tabs.test.d.ts +1 -0
  419. package/tabs/Tabs.test.js +276 -0
  420. package/tabs/types.d.ts +46 -24
  421. package/tag/Tag.accessibility.test.d.ts +1 -0
  422. package/tag/Tag.accessibility.test.js +69 -0
  423. package/tag/Tag.d.ts +1 -1
  424. package/tag/Tag.js +43 -85
  425. package/tag/Tag.stories.tsx +37 -30
  426. package/tag/Tag.test.d.ts +1 -0
  427. package/tag/Tag.test.js +41 -0
  428. package/tag/types.d.ts +25 -16
  429. package/text-input/Suggestion.d.ts +4 -0
  430. package/text-input/Suggestion.js +67 -0
  431. package/text-input/Suggestions.d.ts +4 -0
  432. package/text-input/Suggestions.js +94 -0
  433. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  434. package/text-input/TextInput.accessibility.test.js +320 -0
  435. package/text-input/TextInput.js +323 -569
  436. package/text-input/TextInput.stories.tsx +293 -272
  437. package/text-input/TextInput.test.d.ts +1 -0
  438. package/text-input/TextInput.test.js +1755 -0
  439. package/text-input/types.d.ts +70 -24
  440. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  441. package/textarea/Textarea.accessibility.test.js +155 -0
  442. package/textarea/Textarea.js +82 -131
  443. package/textarea/Textarea.stories.tsx +174 -0
  444. package/textarea/Textarea.test.d.ts +1 -0
  445. package/textarea/Textarea.test.js +406 -0
  446. package/textarea/types.d.ts +27 -16
  447. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  448. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  449. package/toggle-group/ToggleGroup.d.ts +2 -2
  450. package/toggle-group/ToggleGroup.js +92 -107
  451. package/toggle-group/ToggleGroup.stories.tsx +57 -12
  452. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  453. package/toggle-group/ToggleGroup.test.js +137 -0
  454. package/toggle-group/types.d.ts +36 -19
  455. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  456. package/tooltip/Tooltip.accessibility.test.js +144 -0
  457. package/tooltip/Tooltip.d.ts +4 -0
  458. package/tooltip/Tooltip.js +50 -0
  459. package/tooltip/Tooltip.stories.tsx +111 -0
  460. package/tooltip/Tooltip.test.d.ts +1 -0
  461. package/tooltip/Tooltip.test.js +112 -0
  462. package/tooltip/types.d.ts +16 -0
  463. package/tooltip/types.js +5 -0
  464. package/typography/Typography.accessibility.test.d.ts +1 -0
  465. package/typography/Typography.accessibility.test.js +339 -0
  466. package/typography/Typography.d.ts +4 -0
  467. package/typography/Typography.js +23 -0
  468. package/typography/Typography.stories.tsx +196 -0
  469. package/typography/Typography.test.js +23 -0
  470. package/typography/types.d.ts +18 -0
  471. package/typography/types.js +5 -0
  472. package/useTheme.d.ts +1173 -1
  473. package/useTheme.js +4 -11
  474. package/useTranslatedLabels.d.ts +96 -0
  475. package/useTranslatedLabels.js +14 -0
  476. package/utils/BaseTypography.d.ts +21 -0
  477. package/utils/BaseTypography.js +98 -0
  478. package/utils/FocusLock.d.ts +13 -0
  479. package/utils/FocusLock.js +125 -0
  480. package/utils/useWidth.d.ts +2 -0
  481. package/utils/useWidth.js +30 -0
  482. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  483. package/wizard/Wizard.accessibility.test.js +55 -0
  484. package/wizard/Wizard.d.ts +1 -1
  485. package/wizard/Wizard.js +78 -120
  486. package/wizard/Wizard.stories.tsx +68 -20
  487. package/wizard/Wizard.test.d.ts +1 -0
  488. package/wizard/Wizard.test.js +114 -0
  489. package/wizard/types.d.ts +14 -10
  490. package/ThemeContext.d.ts +0 -15
  491. package/ThemeContext.js +0 -243
  492. package/V3Select/V3Select.js +0 -455
  493. package/V3Select/index.d.ts +0 -27
  494. package/V3Textarea/V3Textarea.js +0 -260
  495. package/V3Textarea/index.d.ts +0 -27
  496. package/card/ice-cream.jpg +0 -0
  497. package/common/OpenSans.css +0 -81
  498. package/common/RequiredComponent.js +0 -32
  499. package/common/fonts/OpenSans-Bold.ttf +0 -0
  500. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  501. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  502. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  503. package/common/fonts/OpenSans-Italic.ttf +0 -0
  504. package/common/fonts/OpenSans-Light.ttf +0 -0
  505. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  506. package/common/fonts/OpenSans-Regular.ttf +0 -0
  507. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  508. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  509. package/date/Date.js +0 -373
  510. package/date/index.d.ts +0 -27
  511. package/input-text/Icons.js +0 -22
  512. package/input-text/InputText.js +0 -611
  513. package/input-text/index.d.ts +0 -36
  514. package/list/List.d.ts +0 -8
  515. package/list/List.js +0 -47
  516. package/list/List.stories.tsx +0 -95
  517. package/number-input/numberInputContextTypes.d.ts +0 -19
  518. package/paginator/Icons.js +0 -66
  519. package/progress-bar/ProgressBar.stories.jsx +0 -58
  520. package/radio/Radio.d.ts +0 -4
  521. package/radio/Radio.js +0 -174
  522. package/radio/Radio.stories.tsx +0 -192
  523. package/radio/types.d.ts +0 -54
  524. package/resultsetTable/ResultsetTable.d.ts +0 -4
  525. package/resultsetTable/ResultsetTable.js +0 -251
  526. package/row/Row.d.ts +0 -11
  527. package/row/Row.js +0 -127
  528. package/row/Row.stories.tsx +0 -239
  529. package/stack/Stack.d.ts +0 -10
  530. package/stack/Stack.js +0 -97
  531. package/stack/Stack.stories.tsx +0 -166
  532. package/table/Table.stories.jsx +0 -277
  533. package/text/Text.d.ts +0 -7
  534. package/text/Text.js +0 -30
  535. package/text/Text.stories.tsx +0 -19
  536. package/textarea/Textarea.stories.jsx +0 -136
  537. package/toggle/Toggle.js +0 -186
  538. package/toggle/index.d.ts +0 -21
  539. package/upload/Upload.js +0 -201
  540. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  541. package/upload/buttons-upload/Icons.js +0 -40
  542. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  543. package/upload/dragAndDropArea/Icons.js +0 -39
  544. package/upload/file-upload/FileToUpload.js +0 -115
  545. package/upload/file-upload/Icons.js +0 -66
  546. package/upload/files-upload/FilesToUpload.js +0 -109
  547. package/upload/index.d.ts +0 -15
  548. package/upload/transaction/Icons.js +0 -160
  549. package/upload/transaction/Transaction.js +0 -104
  550. package/upload/transactions/Transactions.js +0 -94
  551. /package/{radio → action-icon}/types.js +0 -0
  552. /package/{resultsetTable → badge}/types.js +0 -0
  553. /package/{number-input/numberInputContextTypes.js → bar-chart/types.js} +0 -0
@@ -1,49 +1,48 @@
1
1
  import React from "react";
2
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
3
  import Title from "../../.storybook/components/Title";
7
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
8
- import { ThemeProvider } from "../ThemeContext";
5
+ import { HalstackProvider } from "../HalstackContext";
9
6
 
10
7
  export default {
11
8
  title: "Accordion",
12
9
  component: DxcAccordion,
13
10
  };
14
11
 
15
- const folderIcon = (
12
+ const smallIcon = (
13
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20">
14
+ <path d="m7.646 18.333-.313-2.625q-.208-.125-.458-.27-.25-.146-.458-.271l-2.438 1.021-2.354-4.063 2.083-1.583V9.458L1.625 7.875l2.354-4.063 2.438 1.021q.208-.125.458-.27.25-.146.458-.271l.313-2.625h4.708l.313 2.625q.208.125.458.271.25.145.458.27l2.438-1.021 2.354 4.063-2.063 1.583v1.084l2.063 1.583-2.354 4.063-2.438-1.021q-.208.125-.458.271-.25.145-.458.27l-.313 2.625ZM10 12.979q1.229 0 2.104-.875T12.979 10q0-1.229-.875-2.104T10 7.021q-1.229 0-2.104.875T7.021 10q0 1.229.875 2.104t2.104.875Zm0-1.75q-.5 0-.865-.364-.364-.365-.364-.865t.364-.865q.365-.364.865-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.854 6.583h1.666l.25-2.166q.605-.167 1.167-.5.562-.334 1.021-.792l2.021.854.833-1.375-1.771-1.354q.104-.292.146-.604.042-.313.042-.646 0-.292-.042-.594t-.125-.635l1.771-1.375-.834-1.375-2.02.875q-.48-.479-1.032-.802-.552-.323-1.156-.49l-.271-2.187H9.167l-.271 2.187q-.604.167-1.156.49-.552.323-1.011.781l-2.021-.854-.833 1.375 1.75 1.354q-.083.333-.125.646-.042.312-.042.604t.042.594q.042.302.125.635l-1.75 1.375.833 1.375 2.021-.854q.459.458 1.011.781.552.323 1.156.49Z" />
15
+ </svg>
16
+ );
17
+
18
+ const facebookIcon = (
16
19
  <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"
20
+ version="1.1"
21
+ x="0px"
22
+ y="0px"
23
+ width="438.536px"
24
+ height="438.536px"
25
+ viewBox="0 0 438.536 438.536"
22
26
  fill="currentColor"
23
27
  >
24
28
  <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
+ <path
30
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
31
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
32
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
33
+ C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
34
+ c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
35
+ c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
36
+ />
29
37
  </g>
30
38
  </svg>
31
39
  );
32
40
 
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
+ const opinionatedTheme = {
41
42
  accordion: {
42
- backgroundColor: "#000000",
43
- assistiveTextFontColor: "#ffffff",
44
- titleLabelFontColor: "#ffffff",
45
- arrowColor: "#5f249f",
46
- iconColor: "#5f249f",
43
+ accentColor: "#5f249f",
44
+ titleFontColor: "#000000",
45
+ assistiveTextFontColor: "#666666",
47
46
  },
48
47
  };
49
48
 
@@ -52,7 +51,7 @@ export const Chromatic = () => (
52
51
  <Title title="Component anatomy" theme="light" level={2} />
53
52
  <ExampleContainer>
54
53
  <Title title="With label" theme="light" level={4} />
55
- <DxcAccordion label="Accordion">
54
+ <DxcAccordion label="Accordion 1">
56
55
  <div>
57
56
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
58
57
  lobortis eget.
@@ -61,7 +60,7 @@ export const Chromatic = () => (
61
60
  </ExampleContainer>
62
61
  <ExampleContainer>
63
62
  <Title title="With assistive text" theme="light" level={4} />
64
- <DxcAccordion label="Accordion" assistiveText="Assistive text">
63
+ <DxcAccordion label="Accordion 2" assistiveText="Assistive text">
65
64
  <div>
66
65
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
67
66
  lobortis eget.
@@ -70,7 +69,16 @@ export const Chromatic = () => (
70
69
  </ExampleContainer>
71
70
  <ExampleContainer>
72
71
  <Title title="With icon" theme="light" level={4} />
73
- <DxcAccordion label="Accordion" assistiveText="Assistive text" icon={folderIcon}>
72
+ <DxcAccordion label="Accordion 3" assistiveText="Assistive text" icon="folder">
73
+ <div>
74
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
75
+ lobortis eget.
76
+ </div>
77
+ </DxcAccordion>
78
+ </ExampleContainer>
79
+ <ExampleContainer>
80
+ <Title title="With smaller icon" theme="light" level={4} />
81
+ <DxcAccordion label="Accordion 4" assistiveText="Assistive text" icon={smallIcon}>
74
82
  <div>
75
83
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
76
84
  lobortis eget.
@@ -78,8 +86,8 @@ export const Chromatic = () => (
78
86
  </DxcAccordion>
79
87
  </ExampleContainer>
80
88
  <ExampleContainer>
81
- <Title title="With bigger icon 48x48" theme="light" level={4} />
82
- <DxcAccordion label="Accordion" assistiveText="Assistive text" icon={thumbIcon}>
89
+ <Title title="With bigger icon (SVG)" theme="light" level={4} />
90
+ <DxcAccordion label="Accordion Test" assistiveText="Assistive text" icon={facebookIcon}>
83
91
  <div>
84
92
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
85
93
  lobortis eget.
@@ -116,128 +124,13 @@ export const Chromatic = () => (
116
124
  </ExampleContainer>
117
125
  <ExampleContainer>
118
126
  <Title title="Disabled" theme="light" level={4} />
119
- <DxcAccordion label="Disabled" assistiveText="Assistive text" icon={folderIcon} disabled>
127
+ <DxcAccordion label="Disabled" assistiveText="Assistive text" icon="folder" disabled>
120
128
  <div>
121
129
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
122
130
  lobortis eget.
123
131
  </div>
124
132
  </DxcAccordion>
125
133
  </ExampleContainer>
126
- <ExampleContainer>
127
- <Title title="Background color provider over accordion content" theme="light" level={4} />
128
- <ThemeProvider advancedTheme={advancedTheme}>
129
- <DxcAccordion
130
- label="Dark Accordion"
131
- isExpanded
132
- assistiveText="Assistive text"
133
- icon={folderIcon}
134
- padding="medium"
135
- >
136
- <div style={{ display: "flex", flexDirection: "column" }}>
137
- <DxcTextInput
138
- label="Label"
139
- helperText="HelperText"
140
- placeholder="Placeholder"
141
- size="fillParent"
142
- margin={{ bottom: "medium" }}
143
- />
144
- <DxcButton label="Submit" size="medium" />
145
- </div>
146
- </DxcAccordion>
147
- </ThemeProvider>
148
- </ExampleContainer>
149
- <Title title="Paddings" theme="light" level={2} />
150
- <ExampleContainer>
151
- <Title title="Xxsmall padding" theme="light" level={4} />
152
- <DxcAccordion label="Xxsmall padding" isExpanded padding="xxsmall">
153
- <div>
154
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
155
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
156
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
157
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
158
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
159
- est laborum.
160
- </div>
161
- </DxcAccordion>
162
- </ExampleContainer>
163
- <ExampleContainer>
164
- <Title title="Xsmall padding" theme="light" level={4} />
165
- <DxcAccordion label="Xsmall padding" isExpanded padding="xsmall">
166
- <div>
167
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
168
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
169
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
170
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
171
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
172
- est laborum.
173
- </div>
174
- </DxcAccordion>
175
- </ExampleContainer>
176
- <ExampleContainer>
177
- <Title title="Small padding" theme="light" level={4} />
178
- <DxcAccordion label="Small padding" isExpanded padding="small">
179
- <div>
180
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
181
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
182
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
183
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
184
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
185
- est laborum.
186
- </div>
187
- </DxcAccordion>
188
- </ExampleContainer>
189
- <ExampleContainer>
190
- <Title title="Medium padding" theme="light" level={4} />
191
- <DxcAccordion label="Medium padding" isExpanded padding="medium">
192
- <div>
193
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
194
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
195
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
196
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
197
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
198
- est laborum.
199
- </div>
200
- </DxcAccordion>
201
- </ExampleContainer>
202
- <ExampleContainer>
203
- <Title title="Large padding" theme="light" level={4} />
204
- <DxcAccordion label="Large padding" isExpanded padding="large">
205
- <div>
206
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
207
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
208
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
209
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
210
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
211
- est laborum.
212
- </div>
213
- </DxcAccordion>
214
- </ExampleContainer>
215
- <ExampleContainer>
216
- <Title title="Xlarge padding" theme="light" level={4} />
217
- <DxcAccordion label="Xlarge padding" isExpanded padding="xlarge">
218
- <div>
219
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
220
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
221
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
222
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
223
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
224
- est laborum.
225
- </div>
226
- </DxcAccordion>
227
- </ExampleContainer>
228
- <ExampleContainer>
229
- <Title title="Xxlarge padding" theme="light" level={4} />
230
- <DxcAccordion label="Xxlarge padding" isExpanded padding="xxlarge">
231
- <div>
232
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
233
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
234
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
235
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
236
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
237
- est laborum.
238
- </div>
239
- </DxcAccordion>
240
- </ExampleContainer>
241
134
  <Title title="Margins" theme="light" level={2} />
242
135
  <ExampleContainer>
243
136
  <Title title="Xxsmall margin" theme="light" level={4} />
@@ -301,7 +194,48 @@ export const Chromatic = () => (
301
194
  lobortis eget.
302
195
  </div>
303
196
  </DxcAccordion>
304
- <hr />
197
+ </ExampleContainer>
198
+ <Title title="Opinionated theme" theme="light" level={2} />
199
+ <ExampleContainer>
200
+ <Title title="With assistive text and icon" theme="light" level={4} />
201
+ <HalstackProvider theme={opinionatedTheme}>
202
+ <DxcAccordion label="Accordion" assistiveText="Assistive text" icon="folder">
203
+ Content
204
+ </DxcAccordion>
205
+ </HalstackProvider>
206
+ </ExampleContainer>
207
+ <ExampleContainer pseudoState="pseudo-hover">
208
+ <Title title="Hovered" theme="light" level={4} />
209
+ <HalstackProvider theme={opinionatedTheme}>
210
+ <DxcAccordion label="Hovered">
211
+ <div>
212
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
213
+ leo lobortis eget.
214
+ </div>
215
+ </DxcAccordion>
216
+ </HalstackProvider>
217
+ </ExampleContainer>
218
+ <ExampleContainer pseudoState="pseudo-active">
219
+ <Title title="Active" theme="light" level={4} />
220
+ <HalstackProvider theme={opinionatedTheme}>
221
+ <DxcAccordion label="Active">
222
+ <div>
223
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
224
+ leo lobortis eget.
225
+ </div>
226
+ </DxcAccordion>
227
+ </HalstackProvider>
228
+ </ExampleContainer>
229
+ <ExampleContainer>
230
+ <Title title="Disabled" theme="light" level={4} />
231
+ <HalstackProvider theme={opinionatedTheme}>
232
+ <DxcAccordion label="Disabled" assistiveText="Assistive text" icon="folder" disabled>
233
+ <div>
234
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
235
+ leo lobortis eget.
236
+ </div>
237
+ </DxcAccordion>
238
+ </HalstackProvider>
305
239
  </ExampleContainer>
306
240
  </>
307
241
  );
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,56 @@
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 _Accordion = _interopRequireDefault(require("./Accordion"));
7
+ describe("Accordion component tests", function () {
8
+ test("Renders with correct aria accessibility attributes", function () {
9
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
10
+ label: "Accordion",
11
+ defaultIsExpanded: true
12
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "test-expanded"))),
13
+ getByRole = _render.getByRole;
14
+ var accordion = getByRole("button");
15
+ var panel = getByRole("region");
16
+ expect(accordion.getAttribute("aria-controls")).toBe(panel.id);
17
+ expect(panel.getAttribute("aria-labelledby")).toBe(accordion.id);
18
+ });
19
+ test("Renders expanded by default when it is uncontrolled", function () {
20
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
21
+ label: "Accordion",
22
+ defaultIsExpanded: true
23
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "test-expanded"))),
24
+ getByRole = _render2.getByRole;
25
+ var accordion = getByRole("button");
26
+ expect(accordion.getAttribute("aria-expanded")).toBe("true");
27
+ });
28
+ test("Calls correct function on click", function () {
29
+ var onChange = jest.fn();
30
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
31
+ label: "Accordion",
32
+ onChange: onChange
33
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "test-expanded"))),
34
+ getByText = _render3.getByText;
35
+ _react2.fireEvent.click(getByText("Accordion"));
36
+ expect(onChange).toHaveBeenCalled();
37
+ });
38
+ test("Controlled accordion", function () {
39
+ var onChange = jest.fn();
40
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
41
+ label: "Accordion",
42
+ onChange: onChange,
43
+ isExpanded: true
44
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "test-expanded"))),
45
+ getByText = _render4.getByText,
46
+ getByRole = _render4.getByRole;
47
+ expect(getByRole("button").getAttribute("aria-expanded")).toBe("true");
48
+ _react2.fireEvent.click(getByText("Accordion"));
49
+ _react2.fireEvent.click(getByText("Accordion"));
50
+ _react2.fireEvent.click(getByText("Accordion"));
51
+ expect(onChange).toHaveBeenCalledTimes(3);
52
+ expect(onChange.mock.calls[0][0]).toBe(false);
53
+ expect(onChange.mock.calls[1][0]).toBe(false);
54
+ expect(onChange.mock.calls[2][0]).toBe(false);
55
+ });
56
+ });
@@ -1,23 +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
- declare type Props = {
9
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ type Props = {
17
11
  /**
18
12
  * The panel label.
19
13
  */
20
14
  label: string;
15
+ /**
16
+ * Initial state of the panel, only when it is uncontrolled.
17
+ */
18
+ defaultIsExpanded?: boolean;
21
19
  /**
22
20
  * Represents the state of the panel. When true, the component will be
23
21
  * expanded. If undefined, the component will be uncontrolled and its
@@ -25,13 +23,9 @@ declare type Props = {
25
23
  */
26
24
  isExpanded?: boolean;
27
25
  /**
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.
26
+ * Material Symbol name or SVG element used as the icon that will be placed next to panel label.
33
27
  */
34
- iconSrc?: string;
28
+ icon?: string | SVG;
35
29
  /**
36
30
  * Assistive text to be placed on the right side of the panel.
37
31
  */
@@ -56,12 +50,7 @@ declare type Props = {
56
50
  */
57
51
  margin?: Space | Margin;
58
52
  /**
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.
53
+ * Value of the tabindex attribute.
65
54
  */
66
55
  tabIndex?: number;
67
56
  };
@@ -0,0 +1,82 @@
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 _AccordionGroup = _interopRequireDefault(require("./AccordionGroup"));
9
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
10
+ var folderIcon = /*#__PURE__*/_react["default"].createElement("svg", {
11
+ xmlns: "http://www.w3.org/2000/svg",
12
+ enableBackground: "new 0 0 24 24",
13
+ height: "24px",
14
+ viewBox: "0 0 24 24",
15
+ width: "24px",
16
+ fill: "currentColor"
17
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("rect", {
18
+ fill: "none",
19
+ height: "24",
20
+ width: "24"
21
+ })), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
22
+ 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"
23
+ })));
24
+ describe("Accordion component accessibility tests", function () {
25
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
26
+ var _render, container, results;
27
+ return _regenerator["default"].wrap(function _callee$(_context) {
28
+ while (1) switch (_context.prev = _context.next) {
29
+ case 0:
30
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
31
+ defaultIndexActive: 1,
32
+ margin: "small"
33
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
34
+ label: "Accordion1",
35
+ assistiveText: "Assistive Text1",
36
+ icon: folderIcon
37
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "First accordion")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
38
+ label: "Accordion2",
39
+ assistiveText: "Assistive Text2",
40
+ icon: folderIcon
41
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Second accordion")))), container = _render.container;
42
+ _context.next = 3;
43
+ return (0, _axeHelper.axe)(container);
44
+ case 3:
45
+ results = _context.sent;
46
+ expect(results).toHaveNoViolations();
47
+ case 5:
48
+ case "end":
49
+ return _context.stop();
50
+ }
51
+ }, _callee);
52
+ })));
53
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
54
+ var _render2, container, results;
55
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
56
+ while (1) switch (_context2.prev = _context2.next) {
57
+ case 0:
58
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
59
+ defaultIndexActive: 1,
60
+ margin: "small",
61
+ disabled: true
62
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
63
+ label: "Accordion1",
64
+ assistiveText: "Assistive Text1",
65
+ icon: folderIcon
66
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "First accordion")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
67
+ label: "Accordion2",
68
+ assistiveText: "Assistive Text2",
69
+ icon: folderIcon
70
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Second accordion")))), container = _render2.container;
71
+ _context2.next = 3;
72
+ return (0, _axeHelper.axe)(container);
73
+ case 3:
74
+ results = _context2.sent;
75
+ expect(results).toHaveNoViolations();
76
+ case 5:
77
+ case "end":
78
+ return _context2.stop();
79
+ }
80
+ }, _callee2);
81
+ })));
82
+ });
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
- import AccordionGroupPropsType, { AccordionPropsType } from "./types";
2
+ import AccordionGroupPropsType from "./types";
3
3
  declare const DxcAccordionGroup: {
4
- ({ indexActive, disabled, onActiveChange, margin, children, }: AccordionGroupPropsType): JSX.Element;
5
- Accordion: ({ ...childProps }: AccordionPropsType) => JSX.Element;
4
+ ({ defaultIndexActive, indexActive, disabled, onActiveChange, margin, children, }: AccordionGroupPropsType): JSX.Element;
5
+ Accordion: ({ ...childProps }: import("./types").AccordionPropsType) => JSX.Element;
6
6
  };
7
7
  export default DxcAccordionGroup;