@dxc-technology/halstack-react 0.0.0-5a1e592 → 0.0.0-5a4d834

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +74 -144
  4. package/HalstackContext.js +35 -50
  5. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.js +33 -87
  8. package/accordion/Accordion.stories.tsx +8 -64
  9. package/accordion/Accordion.test.d.ts +1 -0
  10. package/accordion/Accordion.test.js +19 -34
  11. package/accordion/types.d.ts +6 -6
  12. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  13. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  14. package/accordion-group/AccordionGroup.d.ts +2 -3
  15. package/accordion-group/AccordionGroup.js +17 -44
  16. package/accordion-group/AccordionGroup.stories.tsx +24 -24
  17. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  18. package/accordion-group/AccordionGroup.test.js +41 -63
  19. package/accordion-group/AccordionGroupAccordion.js +11 -23
  20. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  21. package/accordion-group/AccordionGroupContext.js +8 -0
  22. package/accordion-group/types.d.ts +7 -7
  23. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  24. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  25. package/action-icon/ActionIcon.d.ts +4 -0
  26. package/action-icon/ActionIcon.js +48 -0
  27. package/action-icon/ActionIcon.stories.tsx +41 -0
  28. package/action-icon/ActionIcon.test.d.ts +1 -0
  29. package/action-icon/ActionIcon.test.js +64 -0
  30. package/action-icon/types.d.ts +26 -0
  31. package/alert/Alert.accessibility.test.d.ts +1 -0
  32. package/alert/Alert.accessibility.test.js +95 -0
  33. package/alert/Alert.js +34 -120
  34. package/alert/Alert.test.d.ts +1 -0
  35. package/alert/Alert.test.js +29 -46
  36. package/alert/types.d.ts +5 -5
  37. package/badge/Badge.accessibility.test.d.ts +1 -0
  38. package/badge/Badge.accessibility.test.js +129 -0
  39. package/badge/Badge.d.ts +1 -1
  40. package/badge/Badge.js +142 -42
  41. package/badge/Badge.stories.tsx +210 -0
  42. package/badge/Badge.test.d.ts +1 -0
  43. package/badge/Badge.test.js +30 -0
  44. package/badge/types.d.ts +52 -3
  45. package/bar-chart/BarChart.d.ts +4 -0
  46. package/bar-chart/BarChart.js +152 -0
  47. package/bar-chart/BarChart.stories.tsx +281 -0
  48. package/bar-chart/BarChart.test.d.ts +1 -0
  49. package/bar-chart/BarChart.test.js +194 -0
  50. package/bar-chart/theme.d.ts +3 -0
  51. package/bar-chart/theme.js +31 -0
  52. package/bar-chart/types.d.ts +137 -0
  53. package/bar-chart/types.js +5 -0
  54. package/bleed/Bleed.js +13 -21
  55. package/bleed/Bleed.stories.tsx +0 -1
  56. package/bleed/types.d.ts +2 -2
  57. package/box/Box.accessibility.test.d.ts +1 -0
  58. package/box/Box.accessibility.test.js +33 -0
  59. package/box/Box.js +11 -33
  60. package/box/Box.test.d.ts +1 -0
  61. package/box/Box.test.js +2 -7
  62. package/box/types.d.ts +3 -3
  63. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  64. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  65. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  66. package/breadcrumbs/Breadcrumbs.js +79 -0
  67. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  68. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  69. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  70. package/breadcrumbs/Item.d.ts +4 -0
  71. package/breadcrumbs/Item.js +52 -0
  72. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  73. package/breadcrumbs/dropdownTheme.js +62 -0
  74. package/breadcrumbs/types.d.ts +40 -0
  75. package/breadcrumbs/types.js +5 -0
  76. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  77. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  78. package/bulleted-list/BulletedList.js +22 -55
  79. package/bulleted-list/BulletedList.stories.tsx +2 -93
  80. package/bulleted-list/types.d.ts +5 -5
  81. package/button/Button.accessibility.test.d.ts +1 -0
  82. package/button/Button.accessibility.test.js +127 -0
  83. package/button/Button.js +36 -59
  84. package/button/Button.stories.tsx +35 -135
  85. package/button/Button.test.d.ts +1 -0
  86. package/button/Button.test.js +14 -22
  87. package/button/types.d.ts +5 -5
  88. package/card/Card.accessibility.test.d.ts +1 -0
  89. package/card/Card.accessibility.test.js +36 -0
  90. package/card/Card.js +23 -45
  91. package/card/Card.stories.tsx +1 -1
  92. package/card/Card.test.d.ts +1 -0
  93. package/card/Card.test.js +11 -22
  94. package/card/types.d.ts +5 -5
  95. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  96. package/checkbox/Checkbox.accessibility.test.js +87 -0
  97. package/checkbox/Checkbox.js +59 -116
  98. package/checkbox/Checkbox.stories.tsx +0 -54
  99. package/checkbox/Checkbox.test.d.ts +1 -0
  100. package/checkbox/Checkbox.test.js +80 -109
  101. package/checkbox/types.d.ts +4 -4
  102. package/chip/Chip.accessibility.test.d.ts +1 -0
  103. package/chip/Chip.accessibility.test.js +67 -0
  104. package/chip/Chip.js +22 -36
  105. package/chip/Chip.stories.tsx +6 -25
  106. package/chip/Chip.test.d.ts +1 -0
  107. package/chip/Chip.test.js +18 -31
  108. package/chip/types.d.ts +4 -4
  109. package/common/coreTokens.d.ts +105 -15
  110. package/common/coreTokens.js +40 -24
  111. package/common/utils.js +2 -8
  112. package/common/variables.d.ts +80 -141
  113. package/common/variables.js +150 -224
  114. package/container/Container.d.ts +4 -0
  115. package/container/Container.js +194 -0
  116. package/container/Container.stories.tsx +214 -0
  117. package/container/types.d.ts +176 -0
  118. package/container/types.js +5 -0
  119. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  120. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  121. package/contextual-menu/ContextualMenu.d.ts +5 -0
  122. package/contextual-menu/ContextualMenu.js +136 -0
  123. package/contextual-menu/ContextualMenu.stories.tsx +231 -0
  124. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  125. package/contextual-menu/ContextualMenu.test.js +247 -0
  126. package/contextual-menu/GroupItem.d.ts +4 -0
  127. package/contextual-menu/GroupItem.js +67 -0
  128. package/contextual-menu/ItemAction.d.ts +4 -0
  129. package/contextual-menu/ItemAction.js +88 -0
  130. package/contextual-menu/MenuItem.d.ts +4 -0
  131. package/contextual-menu/MenuItem.js +29 -0
  132. package/contextual-menu/SingleItem.d.ts +4 -0
  133. package/contextual-menu/SingleItem.js +38 -0
  134. package/contextual-menu/types.d.ts +65 -0
  135. package/contextual-menu/types.js +5 -0
  136. package/date-input/Calendar.js +59 -87
  137. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  138. package/date-input/DateInput.accessibility.test.js +229 -0
  139. package/date-input/DateInput.js +64 -107
  140. package/date-input/DateInput.stories.tsx +19 -42
  141. package/date-input/DateInput.test.d.ts +1 -0
  142. package/date-input/DateInput.test.js +668 -709
  143. package/date-input/DatePicker.js +23 -48
  144. package/date-input/YearPicker.js +17 -38
  145. package/date-input/types.d.ts +28 -26
  146. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  147. package/dialog/Dialog.accessibility.test.js +69 -0
  148. package/dialog/Dialog.js +21 -59
  149. package/dialog/Dialog.stories.tsx +174 -0
  150. package/dialog/Dialog.test.d.ts +1 -0
  151. package/dialog/Dialog.test.js +216 -215
  152. package/dialog/types.d.ts +18 -13
  153. package/divider/Divider.accessibility.test.d.ts +1 -0
  154. package/divider/Divider.accessibility.test.js +33 -0
  155. package/divider/Divider.d.ts +4 -0
  156. package/divider/Divider.js +36 -0
  157. package/divider/Divider.stories.tsx +224 -0
  158. package/divider/Divider.test.d.ts +1 -0
  159. package/divider/Divider.test.js +38 -0
  160. package/divider/types.d.ts +21 -0
  161. package/divider/types.js +5 -0
  162. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  163. package/dropdown/Dropdown.accessibility.test.js +183 -0
  164. package/dropdown/Dropdown.js +66 -153
  165. package/dropdown/Dropdown.stories.tsx +16 -27
  166. package/dropdown/Dropdown.test.d.ts +1 -0
  167. package/dropdown/Dropdown.test.js +434 -392
  168. package/dropdown/DropdownMenu.js +12 -23
  169. package/dropdown/DropdownMenuItem.js +13 -21
  170. package/dropdown/types.d.ts +20 -24
  171. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  172. package/file-input/FileInput.accessibility.test.js +167 -0
  173. package/file-input/FileInput.js +177 -286
  174. package/file-input/FileInput.stories.tsx +1 -1
  175. package/file-input/FileInput.test.d.ts +1 -0
  176. package/file-input/FileInput.test.js +303 -356
  177. package/file-input/FileItem.js +29 -66
  178. package/file-input/types.d.ts +9 -13
  179. package/flex/Flex.js +25 -39
  180. package/flex/types.d.ts +6 -6
  181. package/footer/Footer.accessibility.test.d.ts +1 -0
  182. package/footer/Footer.accessibility.test.js +125 -0
  183. package/footer/Footer.d.ts +1 -1
  184. package/footer/Footer.js +43 -68
  185. package/footer/Footer.stories.tsx +58 -2
  186. package/footer/Footer.test.d.ts +1 -0
  187. package/footer/Footer.test.js +19 -33
  188. package/footer/Icons.d.ts +3 -2
  189. package/footer/Icons.js +53 -22
  190. package/footer/types.d.ts +17 -17
  191. package/grid/Grid.js +1 -16
  192. package/grid/Grid.stories.tsx +3 -1
  193. package/grid/types.d.ts +10 -10
  194. package/header/Header.accessibility.test.d.ts +1 -0
  195. package/header/Header.accessibility.test.js +94 -0
  196. package/header/Header.d.ts +1 -1
  197. package/header/Header.js +38 -104
  198. package/header/Header.stories.tsx +17 -1
  199. package/header/Header.test.d.ts +1 -0
  200. package/header/Header.test.js +13 -26
  201. package/header/Icons.d.ts +2 -2
  202. package/header/Icons.js +3 -13
  203. package/header/types.d.ts +7 -8
  204. package/heading/Heading.accessibility.test.d.ts +1 -0
  205. package/heading/Heading.accessibility.test.js +33 -0
  206. package/heading/Heading.js +9 -31
  207. package/heading/Heading.test.d.ts +1 -0
  208. package/heading/Heading.test.js +65 -95
  209. package/heading/types.d.ts +7 -7
  210. package/icon/Icon.accessibility.test.d.ts +1 -0
  211. package/icon/Icon.accessibility.test.js +30 -0
  212. package/icon/Icon.d.ts +4 -0
  213. package/icon/Icon.js +33 -0
  214. package/icon/Icon.stories.tsx +28 -0
  215. package/icon/types.d.ts +4 -0
  216. package/icon/types.js +5 -0
  217. package/image/Image.accessibility.test.d.ts +1 -0
  218. package/image/Image.accessibility.test.js +56 -0
  219. package/image/Image.d.ts +2 -2
  220. package/image/Image.js +17 -32
  221. package/image/Image.stories.tsx +3 -1
  222. package/image/types.d.ts +2 -2
  223. package/inset/Inset.js +13 -21
  224. package/inset/types.d.ts +2 -2
  225. package/layout/ApplicationLayout.d.ts +2 -2
  226. package/layout/ApplicationLayout.js +23 -60
  227. package/layout/Icons.d.ts +4 -5
  228. package/layout/Icons.js +2 -16
  229. package/layout/types.d.ts +3 -3
  230. package/link/Link.accessibility.test.d.ts +1 -0
  231. package/link/Link.accessibility.test.js +108 -0
  232. package/link/Link.js +28 -47
  233. package/link/Link.stories.tsx +4 -4
  234. package/link/Link.test.d.ts +1 -0
  235. package/link/Link.test.js +24 -42
  236. package/link/types.d.ts +14 -14
  237. package/main.d.ts +9 -4
  238. package/main.js +46 -60
  239. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  240. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  241. package/nav-tabs/NavTabs.d.ts +1 -2
  242. package/nav-tabs/NavTabs.js +34 -48
  243. package/nav-tabs/NavTabs.stories.tsx +45 -25
  244. package/nav-tabs/NavTabs.test.d.ts +1 -0
  245. package/nav-tabs/NavTabs.test.js +46 -51
  246. package/nav-tabs/NavTabsContext.d.ts +3 -0
  247. package/nav-tabs/NavTabsContext.js +8 -0
  248. package/nav-tabs/Tab.js +38 -67
  249. package/nav-tabs/types.d.ts +10 -10
  250. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  251. package/number-input/NumberInput.accessibility.test.js +227 -0
  252. package/number-input/NumberInput.d.ts +0 -7
  253. package/number-input/NumberInput.js +51 -40
  254. package/number-input/NumberInput.stories.tsx +37 -26
  255. package/number-input/NumberInput.test.d.ts +1 -0
  256. package/number-input/NumberInput.test.js +839 -576
  257. package/number-input/NumberInputContext.d.ts +3 -0
  258. package/number-input/NumberInputContext.js +8 -0
  259. package/number-input/types.d.ts +17 -5
  260. package/package.json +49 -41
  261. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  262. package/paginator/Paginator.accessibility.test.js +78 -0
  263. package/paginator/Paginator.js +27 -52
  264. package/paginator/Paginator.test.d.ts +1 -0
  265. package/paginator/Paginator.test.js +226 -210
  266. package/paginator/types.d.ts +3 -3
  267. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  268. package/paragraph/Paragraph.accessibility.test.js +28 -0
  269. package/paragraph/Paragraph.js +3 -19
  270. package/paragraph/Paragraph.stories.tsx +0 -17
  271. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  272. package/password-input/PasswordInput.accessibility.test.js +152 -0
  273. package/password-input/PasswordInput.js +36 -55
  274. package/password-input/PasswordInput.stories.tsx +11 -35
  275. package/password-input/PasswordInput.test.d.ts +1 -0
  276. package/password-input/PasswordInput.test.js +153 -130
  277. package/password-input/types.d.ts +8 -7
  278. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  279. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  280. package/progress-bar/ProgressBar.js +26 -56
  281. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  282. package/progress-bar/ProgressBar.test.d.ts +1 -0
  283. package/progress-bar/ProgressBar.test.js +36 -53
  284. package/progress-bar/types.d.ts +3 -3
  285. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  286. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  287. package/quick-nav/QuickNav.js +4 -27
  288. package/quick-nav/QuickNav.stories.tsx +1 -1
  289. package/quick-nav/types.d.ts +10 -10
  290. package/radio-group/Radio.js +15 -50
  291. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  292. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  293. package/radio-group/RadioGroup.js +37 -85
  294. package/radio-group/RadioGroup.test.d.ts +1 -0
  295. package/radio-group/RadioGroup.test.js +505 -500
  296. package/radio-group/types.d.ts +5 -5
  297. package/resultset-table/Icons.d.ts +7 -0
  298. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  299. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  300. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  301. package/resultset-table/ResultsetTable.d.ts +7 -0
  302. package/{resultsetTable → resultset-table}/ResultsetTable.js +79 -76
  303. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +119 -6
  304. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  305. package/resultset-table/ResultsetTable.test.js +450 -0
  306. package/{resultsetTable → resultset-table}/types.d.ts +47 -13
  307. package/resultset-table/types.js +5 -0
  308. package/select/Listbox.d.ts +3 -3
  309. package/select/Listbox.js +44 -66
  310. package/select/Option.d.ts +3 -3
  311. package/select/Option.js +36 -40
  312. package/select/Select.accessibility.test.d.ts +1 -0
  313. package/select/Select.accessibility.test.js +227 -0
  314. package/select/Select.js +127 -310
  315. package/select/Select.stories.tsx +74 -117
  316. package/select/Select.test.d.ts +1 -0
  317. package/select/Select.test.js +1913 -1973
  318. package/select/selectUtils.d.ts +41 -0
  319. package/select/selectUtils.js +129 -0
  320. package/select/types.d.ts +15 -16
  321. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  322. package/sidenav/Sidenav.accessibility.test.js +59 -0
  323. package/sidenav/Sidenav.js +44 -81
  324. package/sidenav/Sidenav.stories.tsx +5 -10
  325. package/sidenav/Sidenav.test.d.ts +1 -0
  326. package/sidenav/Sidenav.test.js +4 -11
  327. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  328. package/{layout → sidenav}/SidenavContext.js +3 -9
  329. package/sidenav/types.d.ts +20 -20
  330. package/slider/Slider.accessibility.test.d.ts +1 -0
  331. package/slider/Slider.accessibility.test.js +103 -0
  332. package/slider/Slider.js +66 -125
  333. package/slider/Slider.stories.tsx +0 -60
  334. package/slider/Slider.test.d.ts +1 -0
  335. package/slider/Slider.test.js +118 -112
  336. package/slider/types.d.ts +4 -4
  337. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  338. package/spinner/Spinner.accessibility.test.js +96 -0
  339. package/spinner/Spinner.d.ts +1 -1
  340. package/spinner/Spinner.js +43 -96
  341. package/spinner/Spinner.test.d.ts +1 -0
  342. package/spinner/Spinner.test.js +26 -35
  343. package/spinner/types.d.ts +3 -3
  344. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  345. package/status-light/StatusLight.accessibility.test.js +157 -0
  346. package/status-light/StatusLight.d.ts +4 -0
  347. package/status-light/StatusLight.js +51 -0
  348. package/status-light/StatusLight.stories.tsx +74 -0
  349. package/status-light/StatusLight.test.d.ts +1 -0
  350. package/status-light/StatusLight.test.js +25 -0
  351. package/status-light/types.d.ts +17 -0
  352. package/status-light/types.js +5 -0
  353. package/switch/Switch.accessibility.test.d.ts +1 -0
  354. package/switch/Switch.accessibility.test.js +98 -0
  355. package/switch/Switch.js +49 -100
  356. package/switch/Switch.stories.tsx +12 -34
  357. package/switch/Switch.test.d.ts +1 -0
  358. package/switch/Switch.test.js +52 -97
  359. package/switch/types.d.ts +4 -4
  360. package/table/DropdownTheme.js +62 -0
  361. package/table/Table.accessibility.test.d.ts +1 -0
  362. package/table/Table.accessibility.test.js +92 -0
  363. package/table/Table.d.ts +6 -2
  364. package/table/Table.js +76 -33
  365. package/table/{Table.stories.jsx → Table.stories.tsx} +309 -2
  366. package/table/Table.test.d.ts +1 -0
  367. package/table/Table.test.js +92 -7
  368. package/table/types.d.ts +34 -6
  369. package/tabs/Tab.js +22 -37
  370. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  371. package/tabs/Tabs.accessibility.test.js +56 -0
  372. package/tabs/Tabs.js +59 -147
  373. package/tabs/Tabs.stories.tsx +8 -4
  374. package/tabs/Tabs.test.d.ts +1 -0
  375. package/tabs/Tabs.test.js +58 -132
  376. package/tabs/types.d.ts +21 -21
  377. package/tag/Tag.accessibility.test.d.ts +1 -0
  378. package/tag/Tag.accessibility.test.js +69 -0
  379. package/tag/Tag.js +27 -57
  380. package/tag/Tag.stories.tsx +5 -8
  381. package/tag/Tag.test.d.ts +1 -0
  382. package/tag/Tag.test.js +18 -37
  383. package/tag/types.d.ts +9 -9
  384. package/text-input/Suggestion.js +9 -26
  385. package/text-input/Suggestions.d.ts +1 -1
  386. package/text-input/Suggestions.js +30 -70
  387. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  388. package/text-input/TextInput.accessibility.test.js +320 -0
  389. package/text-input/TextInput.js +190 -301
  390. package/text-input/TextInput.stories.tsx +29 -160
  391. package/text-input/TextInput.test.d.ts +1 -0
  392. package/text-input/TextInput.test.js +1226 -1283
  393. package/text-input/types.d.ts +21 -17
  394. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  395. package/textarea/Textarea.accessibility.test.js +155 -0
  396. package/textarea/Textarea.js +60 -103
  397. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -108
  398. package/textarea/Textarea.test.d.ts +1 -0
  399. package/textarea/Textarea.test.js +136 -209
  400. package/textarea/types.d.ts +5 -5
  401. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  402. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  403. package/toggle-group/ToggleGroup.js +25 -67
  404. package/toggle-group/ToggleGroup.stories.tsx +5 -5
  405. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  406. package/toggle-group/ToggleGroup.test.js +49 -82
  407. package/toggle-group/types.d.ts +12 -12
  408. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  409. package/tooltip/Tooltip.accessibility.test.js +144 -0
  410. package/tooltip/Tooltip.d.ts +4 -0
  411. package/tooltip/Tooltip.js +50 -0
  412. package/tooltip/Tooltip.stories.tsx +111 -0
  413. package/tooltip/Tooltip.test.d.ts +1 -0
  414. package/tooltip/Tooltip.test.js +112 -0
  415. package/tooltip/types.d.ts +16 -0
  416. package/tooltip/types.js +5 -0
  417. package/typography/Typography.accessibility.test.d.ts +1 -0
  418. package/typography/Typography.accessibility.test.js +339 -0
  419. package/typography/Typography.js +4 -13
  420. package/typography/Typography.stories.tsx +1 -3
  421. package/typography/Typography.test.js +23 -0
  422. package/typography/types.d.ts +1 -1
  423. package/useTheme.d.ts +60 -138
  424. package/useTheme.js +1 -8
  425. package/useTranslatedLabels.d.ts +11 -0
  426. package/useTranslatedLabels.js +1 -7
  427. package/utils/BaseTypography.d.ts +2 -2
  428. package/utils/BaseTypography.js +60 -70
  429. package/utils/FocusLock.js +26 -39
  430. package/utils/useWidth.d.ts +2 -0
  431. package/utils/useWidth.js +30 -0
  432. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  433. package/wizard/Wizard.accessibility.test.js +55 -0
  434. package/wizard/Wizard.js +27 -73
  435. package/wizard/Wizard.stories.tsx +20 -1
  436. package/wizard/Wizard.test.d.ts +1 -0
  437. package/wizard/Wizard.test.js +54 -81
  438. package/wizard/types.d.ts +8 -8
  439. package/common/OpenSans.css +0 -69
  440. package/common/fonts/OpenSans-Bold.ttf +0 -0
  441. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  442. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  443. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  444. package/common/fonts/OpenSans-Italic.ttf +0 -0
  445. package/common/fonts/OpenSans-Light.ttf +0 -0
  446. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  447. package/common/fonts/OpenSans-Regular.ttf +0 -0
  448. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  449. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  450. package/date-input/Icons.d.ts +0 -6
  451. package/date-input/Icons.js +0 -75
  452. package/paginator/Icons.d.ts +0 -5
  453. package/paginator/Icons.js +0 -54
  454. package/password-input/Icons.d.ts +0 -6
  455. package/password-input/Icons.js +0 -39
  456. package/resultsetTable/Icons.d.ts +0 -7
  457. package/resultsetTable/ResultsetTable.d.ts +0 -4
  458. package/resultsetTable/ResultsetTable.test.js +0 -325
  459. package/select/Icons.d.ts +0 -10
  460. package/select/Icons.js +0 -93
  461. package/sidenav/Icons.d.ts +0 -7
  462. package/sidenav/Icons.js +0 -51
  463. package/text-input/Icons.d.ts +0 -8
  464. package/text-input/Icons.js +0 -60
  465. /package/{resultsetTable → action-icon}/types.js +0 -0
  466. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/badge/types.d.ts CHANGED
@@ -1,5 +1,54 @@
1
- declare type Props = {
2
- notificationText: boolean | number | string;
3
- disabled?: boolean;
1
+ /// <reference types="react" />
2
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
+ export type ContextualProps = {
4
+ /**
5
+ * Text to be placed in the badge.
6
+ */
7
+ label: string;
8
+ /**
9
+ * The available badge modes.
10
+ */
11
+ mode?: "contextual";
12
+ /**
13
+ * In notification mode, if the number entered as label is greater that this notification limit, +99 will be shown. If not, the entered text will be shown as label.
14
+ */
15
+ notificationLimit?: never;
16
+ /**
17
+ * Affects the visual style of the badge. It can be used following semantic purposes or not.
18
+ */
19
+ color?: "grey" | "blue" | "green" | "orange" | "red" | "yellow" | "purple";
4
20
  };
21
+ export type NotificationProps = {
22
+ /**
23
+ * Text to be placed in the badge.
24
+ */
25
+ label?: number;
26
+ /**
27
+ * The available badge modes.
28
+ */
29
+ mode: "notification";
30
+ /**
31
+ * In notification mode, if the number entered as label is greater that this notification limit, +99 will be shown. If not, the entered text will be shown as label.
32
+ */
33
+ notificationLimit?: number;
34
+ /**
35
+ * Affects the visual style of the badge. It can be used following semantic purposes or not.
36
+ */
37
+ color?: never;
38
+ };
39
+ export type CommonProps = {
40
+ /**
41
+ * Text representing advisory information related to the badge. Under the hood, this prop also serves as an accessible label for the component.
42
+ */
43
+ title?: string;
44
+ /**
45
+ * Material Symbol name or SVG element used as the icon that will be placed next to the badge label in contextual mode.
46
+ */
47
+ icon?: string | SVG;
48
+ /**
49
+ * Size of the component.
50
+ */
51
+ size?: "small" | "medium" | "large";
52
+ };
53
+ type Props = (ContextualProps | NotificationProps) & CommonProps;
5
54
  export default Props;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import BarChartProps, { DataTypes } from "./types";
3
+ declare const DxcBarChart: <X extends DataTypes>({ chartTitle, error, horizontalBars, legendTitle, loading, onFilterChange, onHighlightChange, onRetry, series, showFilter, showLegend, stackedBars, xDomain, xFormatter, xTitle, yDomain, yFormatter, yTitle, }: BarChartProps<X>) => React.JSX.Element;
4
+ export default DxcBarChart;
@@ -0,0 +1,152 @@
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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _components = require("@cloudscape-design/components");
13
+ var _theming = require("@cloudscape-design/components/theming");
14
+ var _theme = _interopRequireDefault(require("./theme"));
15
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
16
+ var _main = require("../main");
17
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
18
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
19
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
20
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
21
+ 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); }
22
+ 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 && {}.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; }
23
+ /**
24
+ * Cloudscape Design Components - Theming
25
+ * https://cloudscape.design/foundation/visual-foundation/theming/
26
+ */
27
+ (0, _theming.applyTheme)({
28
+ theme: _theme["default"]
29
+ });
30
+ var StatusMessage = /*#__PURE__*/(0, _react.memo)(function (_ref) {
31
+ var title = _ref.title,
32
+ description = _ref.description;
33
+ return /*#__PURE__*/_react["default"].createElement(StatusMessageContainer, null, /*#__PURE__*/_react["default"].createElement("strong", null, title), description);
34
+ });
35
+ var InsetWrapper = function InsetWrapper(_ref2) {
36
+ var condition = _ref2.condition,
37
+ children = _ref2.children;
38
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, condition ? /*#__PURE__*/_react["default"].createElement(_main.DxcInset, {
39
+ top: "0.5rem"
40
+ }, children) : children);
41
+ };
42
+ var DxcBarChart = function DxcBarChart(_ref3) {
43
+ var chartTitle = _ref3.chartTitle,
44
+ error = _ref3.error,
45
+ horizontalBars = _ref3.horizontalBars,
46
+ legendTitle = _ref3.legendTitle,
47
+ loading = _ref3.loading,
48
+ onFilterChange = _ref3.onFilterChange,
49
+ _onHighlightChange = _ref3.onHighlightChange,
50
+ onRetry = _ref3.onRetry,
51
+ series = _ref3.series,
52
+ showFilter = _ref3.showFilter,
53
+ showLegend = _ref3.showLegend,
54
+ stackedBars = _ref3.stackedBars,
55
+ xDomain = _ref3.xDomain,
56
+ xFormatter = _ref3.xFormatter,
57
+ xTitle = _ref3.xTitle,
58
+ yDomain = _ref3.yDomain,
59
+ yFormatter = _ref3.yFormatter,
60
+ yTitle = _ref3.yTitle;
61
+ var _useState = (0, _react.useState)(series),
62
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
63
+ filteredData = _useState2[0],
64
+ setFilteredData = _useState2[1];
65
+ var filters = (0, _react.useMemo)(function () {
66
+ return series.map(function (series) {
67
+ return series.title;
68
+ });
69
+ }, [series]);
70
+ var _useState3 = (0, _react.useState)(filters),
71
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
72
+ selectedFilters = _useState4[0],
73
+ setSelectedFilters = _useState4[1];
74
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
75
+ var filterData = (0, _react.useCallback)(function (value) {
76
+ setSelectedFilters(value);
77
+ setFilteredData(series.filter(function (series) {
78
+ return value.includes(series.title);
79
+ }));
80
+ }, [series]);
81
+ return loading ? /*#__PURE__*/_react["default"].createElement(LoadingContainer, null, /*#__PURE__*/_react["default"].createElement(_main.DxcSpinner, {
82
+ mode: "small"
83
+ }), translatedLabels.barChart.loadingDataMessage) : error ? /*#__PURE__*/_react["default"].createElement(ErrorStatus, null, /*#__PURE__*/_react["default"].createElement(Label, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
84
+ icon: "cancel"
85
+ }), error), onRetry && /*#__PURE__*/_react["default"].createElement(_main.DxcButton, {
86
+ label: translatedLabels.barChart.retryButtonLabel,
87
+ mode: "secondary",
88
+ onClick: function onClick() {
89
+ onRetry();
90
+ }
91
+ })) : /*#__PURE__*/_react["default"].createElement(_main.DxcGrid, {
92
+ gap: "1rem"
93
+ }, chartTitle && /*#__PURE__*/_react["default"].createElement(_main.DxcGrid.Item, {
94
+ placeSelf: "center"
95
+ }, /*#__PURE__*/_react["default"].createElement(_main.DxcHeading, {
96
+ text: chartTitle,
97
+ level: 2
98
+ })), showFilter && /*#__PURE__*/_react["default"].createElement(_main.DxcSelect, {
99
+ label: translatedLabels.barChart.filterLabel,
100
+ multiple: true,
101
+ onChange: function onChange(_ref4) {
102
+ var visibleSeries = _ref4.value;
103
+ filterData(visibleSeries);
104
+ onFilterChange === null || onFilterChange === void 0 ? void 0 : onFilterChange(visibleSeries);
105
+ },
106
+ options: filters.map(function (filter) {
107
+ return {
108
+ label: filter,
109
+ value: filter
110
+ };
111
+ }),
112
+ placeholder: translatedLabels.barChart.filterPlaceholder,
113
+ searchable: true,
114
+ value: selectedFilters
115
+ }), /*#__PURE__*/_react["default"].createElement(InsetWrapper, {
116
+ condition: !yTitle && !horizontalBars
117
+ }, /*#__PURE__*/_react["default"].createElement(_components.BarChart, {
118
+ ariaLabel: translatedLabels.barChart.ariaLabel,
119
+ empty: /*#__PURE__*/_react["default"].createElement(StatusMessage, {
120
+ title: translatedLabels.barChart.noDataMessageTitle,
121
+ description: translatedLabels.barChart.noDataMessageBody
122
+ }),
123
+ hideFilter: true,
124
+ hideLegend: !showLegend,
125
+ horizontalBars: horizontalBars,
126
+ legendTitle: legendTitle,
127
+ noMatch: /*#__PURE__*/_react["default"].createElement(StatusMessage, {
128
+ title: translatedLabels.barChart.noMatchesMessageTitle,
129
+ description: translatedLabels.barChart.noMatchesMessageBody
130
+ }),
131
+ onHighlightChange: function onHighlightChange(highlightedSeries) {
132
+ var _highlightedSeries$de;
133
+ var highlightedSeriesTitle = (_highlightedSeries$de = highlightedSeries.detail.highlightedSeries) === null || _highlightedSeries$de === void 0 ? void 0 : _highlightedSeries$de.title;
134
+ _onHighlightChange === null || _onHighlightChange === void 0 ? void 0 : _onHighlightChange(highlightedSeriesTitle);
135
+ },
136
+ series: series,
137
+ stackedBars: stackedBars,
138
+ visibleSeries: filteredData,
139
+ xDomain: xDomain,
140
+ xTickFormatter: xFormatter,
141
+ xTitle: xTitle,
142
+ yDomain: yDomain,
143
+ yTickFormatter: yFormatter,
144
+ yTitle: yTitle
145
+ })));
146
+ };
147
+ var sharedStyles = (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n font-family: ", ";\n font-size: ", ";\n min-height: 500px;\n"])), _coreTokens["default"].type_sans, _coreTokens["default"].type_scale_02);
148
+ var ErrorStatus = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n flex-direction: column;\n gap: ", ";\n color: ", ";\n"])), sharedStyles, _coreTokens["default"].spacing_16, _coreTokens["default"].color_red_700);
149
+ var Label = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n\n > span {\n font-size: 20px;\n }\n"])), _coreTokens["default"].spacing_4);
150
+ var LoadingContainer = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n gap: ", ";\n color: ", ";\n"])), sharedStyles, _coreTokens["default"].spacing_8, _coreTokens["default"].color_grey_900);
151
+ var StatusMessageContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n flex-direction: column;\n gap: ", ";\n color: ", ";\n"])), sharedStyles, _coreTokens["default"].spacing_4, _coreTokens["default"].color_grey_800);
152
+ var _default = exports["default"] = DxcBarChart;
@@ -0,0 +1,281 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcBarChart from "./BarChart";
5
+ import { userEvent, within } from "@storybook/test";
6
+
7
+ export default {
8
+ title: "Bar Chart",
9
+ component: DxcBarChart,
10
+ };
11
+
12
+ const series = [
13
+ {
14
+ title: "Series 1",
15
+ type: "bar",
16
+ data: [
17
+ { x: 0, y: 100000 },
18
+ { x: 1, y: 200000 },
19
+ { x: 2, y: 300000 },
20
+ { x: 3, y: 400000 },
21
+ { x: 4, y: 500000 },
22
+ ],
23
+ },
24
+ {
25
+ title: "Series 2",
26
+ type: "bar",
27
+ data: [
28
+ { x: 0, y: 50000 },
29
+ { x: 1, y: 100000 },
30
+ { x: 2, y: 150000 },
31
+ { x: 3, y: 200000 },
32
+ { x: 4, y: 250000 },
33
+ ],
34
+ },
35
+ {
36
+ title: "Series 3",
37
+ type: "bar",
38
+ data: [
39
+ { x: 0, y: 200000 },
40
+ { x: 1, y: 400000 },
41
+ { x: 2, y: 600000 },
42
+ { x: 3, y: 800000 },
43
+ { x: 4, y: 1000000 },
44
+ ],
45
+ },
46
+ {
47
+ title: "Series 4",
48
+ type: "bar",
49
+ data: [
50
+ { x: 0, y: 100000 },
51
+ { x: 1, y: 200000 },
52
+ { x: 2, y: 400000 },
53
+ { x: 3, y: 700000 },
54
+ { x: 4, y: 900000 },
55
+ ],
56
+ },
57
+ {
58
+ title: "Series 5",
59
+ type: "bar",
60
+ data: [
61
+ { x: 0, y: 50000 },
62
+ { x: 1, y: 500000 },
63
+ { x: 2, y: 800000 },
64
+ { x: 3, y: 900000 },
65
+ { x: 4, y: 100000 },
66
+ ],
67
+ },
68
+ {
69
+ title: "Series 6",
70
+ type: "bar",
71
+ data: [
72
+ { x: 0, y: 10000 },
73
+ { x: 1, y: 250000 },
74
+ { x: 2, y: 550000 },
75
+ { x: 3, y: 750000 },
76
+ { x: 4, y: 950000 },
77
+ ],
78
+ },
79
+ {
80
+ title: "Average",
81
+ type: "threshold",
82
+ y: 400000,
83
+ },
84
+ ];
85
+
86
+ const BarChart = () => (
87
+ <>
88
+ <Title title="Basic bar chart" theme="light" level={4} />
89
+ <ExampleContainer>
90
+ <DxcBarChart
91
+ series={[
92
+ {
93
+ title: "Series 1",
94
+ type: "bar",
95
+ data: [
96
+ { x: 0, y: 100000 },
97
+ { x: 1, y: 200000 },
98
+ { x: 2, y: 300000 },
99
+ { x: 3, y: 400000 },
100
+ { x: 4, y: 500000 },
101
+ ],
102
+ },
103
+ {
104
+ title: "Average",
105
+ type: "threshold",
106
+ y: 300000,
107
+ },
108
+ ]}
109
+ xDomain={[0, 1, 2, 3, 4]}
110
+ yDomain={[0, 600000]}
111
+ />
112
+ </ExampleContainer>
113
+ <Title title="Horizontal bar chart" theme="light" level={4} />
114
+ <ExampleContainer>
115
+ <DxcBarChart
116
+ series={[
117
+ {
118
+ title: "Series 1",
119
+ type: "bar",
120
+ data: [
121
+ { x: 0, y: 100000 },
122
+ { x: 1, y: 200000 },
123
+ { x: 2, y: 300000 },
124
+ ],
125
+ },
126
+ {
127
+ title: "Series 2",
128
+ type: "bar",
129
+ data: [
130
+ { x: 0, y: 50000 },
131
+ { x: 1, y: 100000 },
132
+ { x: 2, y: 150000 },
133
+ ],
134
+ },
135
+ ]}
136
+ xDomain={[0, 1, 2]}
137
+ yDomain={[0, 600000]}
138
+ horizontalBars
139
+ />
140
+ </ExampleContainer>
141
+ <Title title="Stacked bar chart" theme="light" level={4} />
142
+ <ExampleContainer>
143
+ <DxcBarChart series={series as any} xDomain={[0, 1, 2, 3, 4]} yDomain={[0, 5000000]} stackedBars />
144
+ </ExampleContainer>
145
+ <Title title="Stacked & horizontal bar chart" theme="light" level={4} />
146
+ <ExampleContainer>
147
+ <DxcBarChart series={series as any} xDomain={[0, 1, 2, 3, 4]} yDomain={[0, 5000000]} stackedBars horizontalBars />
148
+ </ExampleContainer>
149
+ <Title title="Complete bar chart" theme="light" level={4} />
150
+ <ExampleContainer>
151
+ <DxcBarChart
152
+ chartTitle="Bar Chart"
153
+ series={series as any}
154
+ xDomain={[0, 1, 2, 3, 4]}
155
+ yDomain={[0, 1000000]}
156
+ xTitle="X Axis"
157
+ yTitle="Y Axis"
158
+ showFilter
159
+ showLegend
160
+ legendTitle="Legend"
161
+ />
162
+ </ExampleContainer>
163
+ <Title title="Error state" theme="light" level={4} />
164
+ <ExampleContainer>
165
+ <DxcBarChart series={[]} error="Error loading data." />
166
+ </ExampleContainer>
167
+ <Title title="Error state with 'Retry' action" theme="light" level={4} />
168
+ <ExampleContainer>
169
+ <DxcBarChart series={[]} error="Error loading data." onRetry={() => {}} />
170
+ </ExampleContainer>
171
+ <Title title="Loading state" theme="light" level={4} />
172
+ <ExampleContainer>
173
+ <DxcBarChart series={[]} loading />
174
+ </ExampleContainer>
175
+ <Title title="No data" theme="light" level={4} />
176
+ <ExampleContainer>
177
+ <DxcBarChart series={[]} />
178
+ </ExampleContainer>
179
+ <Title title="No matching data" theme="light" level={4} />
180
+ <ExampleContainer>
181
+ <DxcBarChart
182
+ series={[
183
+ {
184
+ title: "Series 1",
185
+ type: "bar",
186
+ data: [
187
+ { x: 0, y: 100000 },
188
+ { x: 1, y: 200000 },
189
+ { x: 2, y: 300000 },
190
+ { x: 3, y: 400000 },
191
+ { x: 4, y: 500000 },
192
+ ],
193
+ },
194
+ {
195
+ title: "Series 2",
196
+ type: "bar",
197
+ data: [
198
+ { x: 0, y: 50000 },
199
+ { x: 1, y: 100000 },
200
+ { x: 2, y: 150000 },
201
+ { x: 3, y: 200000 },
202
+ { x: 4, y: 250000 },
203
+ ],
204
+ },
205
+ {
206
+ title: "Series 3",
207
+ type: "bar",
208
+ data: [
209
+ { x: 0, y: 200000 },
210
+ { x: 1, y: 400000 },
211
+ { x: 2, y: 600000 },
212
+ { x: 3, y: 800000 },
213
+ { x: 4, y: 1000000 },
214
+ ],
215
+ },
216
+ {
217
+ title: "Series 4",
218
+ type: "bar",
219
+ data: [
220
+ { x: 0, y: 100000 },
221
+ { x: 1, y: 200000 },
222
+ { x: 2, y: 400000 },
223
+ { x: 3, y: 700000 },
224
+ { x: 4, y: 900000 },
225
+ ],
226
+ },
227
+ {
228
+ title: "Series 5",
229
+ type: "bar",
230
+ data: [
231
+ { x: 0, y: 50000 },
232
+ { x: 1, y: 500000 },
233
+ { x: 2, y: 800000 },
234
+ { x: 3, y: 900000 },
235
+ { x: 4, y: 100000 },
236
+ ],
237
+ },
238
+ {
239
+ title: "Series 6",
240
+ type: "bar",
241
+ data: [
242
+ { x: 0, y: 10000 },
243
+ { x: 1, y: 250000 },
244
+ { x: 2, y: 550000 },
245
+ { x: 3, y: 750000 },
246
+ { x: 4, y: 950000 },
247
+ ],
248
+ },
249
+ {
250
+ title: "Series 7",
251
+ type: "bar",
252
+ data: [
253
+ { x: 0, y: 20000 },
254
+ { x: 1, y: 150000 },
255
+ { x: 2, y: 350000 },
256
+ { x: 3, y: 450000 },
257
+ { x: 4, y: 750000 },
258
+ ],
259
+ },
260
+ {
261
+ title: "Average",
262
+ type: "threshold",
263
+ y: 400000,
264
+ },
265
+ ]}
266
+ xDomain={[0, 1, 2, 3, 4]}
267
+ yDomain={[0, 1000000]}
268
+ showFilter
269
+ xTitle="X Axis"
270
+ yTitle="Y Axis"
271
+ legendTitle="Legend"
272
+ />
273
+ </ExampleContainer>
274
+ </>
275
+ );
276
+
277
+ export const Chromatic = BarChart.bind({});
278
+ Chromatic.play = async ({ canvasElement }) => {
279
+ const canvas = within(canvasElement);
280
+ await userEvent.click(canvas.getAllByTitle("Clear selection")[1]);
281
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,194 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _BarChart = _interopRequireDefault(require("./BarChart"));
11
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
12
+ // Mocking applyTheme function to avoid issues with Cloudscape theming
13
+ jest.mock("@cloudscape-design/components/theming", function () {
14
+ return {
15
+ applyTheme: jest.fn()
16
+ };
17
+ });
18
+
19
+ // Mocking DOMRect for Radix Primitive Popover
20
+ global.globalThis = global;
21
+ global.DOMRect = {
22
+ fromRect: function fromRect() {
23
+ return {
24
+ top: 0,
25
+ left: 0,
26
+ bottom: 0,
27
+ right: 0,
28
+ width: 0,
29
+ height: 0
30
+ };
31
+ }
32
+ };
33
+ global.ResizeObserver = /*#__PURE__*/function () {
34
+ function ResizeObserver() {
35
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
36
+ }
37
+ return (0, _createClass2["default"])(ResizeObserver, [{
38
+ key: "observe",
39
+ value: function observe() {}
40
+ }, {
41
+ key: "unobserve",
42
+ value: function unobserve() {}
43
+ }, {
44
+ key: "disconnect",
45
+ value: function disconnect() {}
46
+ }]);
47
+ }();
48
+ describe("Bar Chart component tests", function () {
49
+ test("onFilterChange is called when the value of the select is changed", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
50
+ var onFilterChange, _render, getByText, getByRole, getAllByRole;
51
+ return _regenerator["default"].wrap(function _callee$(_context) {
52
+ while (1) switch (_context.prev = _context.next) {
53
+ case 0:
54
+ onFilterChange = jest.fn();
55
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_BarChart["default"], {
56
+ showFilter: true,
57
+ onFilterChange: onFilterChange,
58
+ chartTitle: "Bar Chart",
59
+ series: [{
60
+ title: "Series 1",
61
+ type: "bar",
62
+ data: [{
63
+ x: 0,
64
+ y: 100000
65
+ }, {
66
+ x: 1,
67
+ y: 200000
68
+ }, {
69
+ x: 2,
70
+ y: 300000
71
+ }, {
72
+ x: 3,
73
+ y: 400000
74
+ }, {
75
+ x: 4,
76
+ y: 500000
77
+ }]
78
+ }, {
79
+ title: "Average",
80
+ type: "threshold",
81
+ y: 300000
82
+ }]
83
+ })), getByText = _render.getByText, getByRole = _render.getByRole, getAllByRole = _render.getAllByRole;
84
+ expect(getByText("Bar Chart")).toBeTruthy();
85
+ expect(getByText("Filter displayed data")).toBeTruthy();
86
+ _context.next = 6;
87
+ return _userEvent["default"].click(getByRole("combobox"));
88
+ case 6:
89
+ expect(getByText("Series 1")).toBeTruthy();
90
+ expect(getByText("Average")).toBeTruthy();
91
+ _context.next = 10;
92
+ return _userEvent["default"].click(getAllByRole("option")[1]);
93
+ case 10:
94
+ expect(onFilterChange).toHaveBeenCalled();
95
+ expect(onFilterChange).toHaveBeenCalledWith(["Series 1"]);
96
+ case 12:
97
+ case "end":
98
+ return _context.stop();
99
+ }
100
+ }, _callee);
101
+ })));
102
+ test("onHighlightChange is called when a legend's series is hovered/clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
103
+ var onHighlightChange, _render2, getByText;
104
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
105
+ while (1) switch (_context2.prev = _context2.next) {
106
+ case 0:
107
+ onHighlightChange = jest.fn();
108
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_BarChart["default"], {
109
+ showLegend: true,
110
+ legendTitle: "Legend",
111
+ onHighlightChange: onHighlightChange,
112
+ series: [{
113
+ title: "Series 1",
114
+ type: "bar",
115
+ data: [{
116
+ x: 0,
117
+ y: 100000
118
+ }, {
119
+ x: 1,
120
+ y: 200000
121
+ }, {
122
+ x: 2,
123
+ y: 300000
124
+ }, {
125
+ x: 3,
126
+ y: 400000
127
+ }, {
128
+ x: 4,
129
+ y: 500000
130
+ }]
131
+ }, {
132
+ title: "Average",
133
+ type: "threshold",
134
+ y: 300000
135
+ }]
136
+ })), getByText = _render2.getByText;
137
+ expect(getByText("Legend")).toBeTruthy();
138
+ _context2.next = 5;
139
+ return _userEvent["default"].hover(getByText("Series 1"));
140
+ case 5:
141
+ expect(onHighlightChange).toHaveBeenCalled();
142
+ expect(onHighlightChange).toHaveBeenCalledWith("Series 1");
143
+ case 7:
144
+ case "end":
145
+ return _context2.stop();
146
+ }
147
+ }, _callee2);
148
+ })));
149
+ test("onRetry is called when the retry button is clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
150
+ var onRetry, _render3, getByText, getByRole;
151
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
152
+ while (1) switch (_context3.prev = _context3.next) {
153
+ case 0:
154
+ onRetry = jest.fn();
155
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_BarChart["default"], {
156
+ onRetry: onRetry,
157
+ error: "Error",
158
+ series: [{
159
+ title: "Series 1",
160
+ type: "bar",
161
+ data: [{
162
+ x: 0,
163
+ y: 100000
164
+ }, {
165
+ x: 1,
166
+ y: 200000
167
+ }, {
168
+ x: 2,
169
+ y: 300000
170
+ }, {
171
+ x: 3,
172
+ y: 400000
173
+ }, {
174
+ x: 4,
175
+ y: 500000
176
+ }]
177
+ }, {
178
+ title: "Average",
179
+ type: "threshold",
180
+ y: 300000
181
+ }]
182
+ })), getByText = _render3.getByText, getByRole = _render3.getByRole;
183
+ expect(getByText("Error")).toBeTruthy();
184
+ _context3.next = 5;
185
+ return _userEvent["default"].click(getByRole("button"));
186
+ case 5:
187
+ expect(onRetry).toHaveBeenCalled();
188
+ case 6:
189
+ case "end":
190
+ return _context3.stop();
191
+ }
192
+ }, _callee3);
193
+ })));
194
+ });