@onewelcome/react-lib-components 0.2.0 → 0.2.3

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 (282) hide show
  1. package/dist/Breadcrumbs/Breadcrumbs.d.ts +4 -4
  2. package/dist/Button/BaseButton.d.ts +4 -4
  3. package/dist/Button/Button.d.ts +3 -3
  4. package/dist/Button/IconButton.d.ts +4 -4
  5. package/dist/ContextMenu/ContextMenu.d.ts +5 -5
  6. package/dist/ContextMenu/ContextMenuItem.d.ts +2 -2
  7. package/dist/DataGrid/DataGrid.d.ts +6 -6
  8. package/dist/DataGrid/DataGridActions/DataGridActions.d.ts +4 -4
  9. package/dist/DataGrid/DataGridActions/DataGridColumnsToggle.d.ts +3 -3
  10. package/dist/DataGrid/DataGridBody/DataGridBody.d.ts +3 -3
  11. package/dist/DataGrid/DataGridBody/DataGridCell.d.ts +2 -2
  12. package/dist/DataGrid/DataGridBody/DataGridRow.d.ts +3 -3
  13. package/dist/DataGrid/DataGridHeader/DataGridHeader.d.ts +3 -3
  14. package/dist/DataGrid/DataGridHeader/DataGridHeaderCell.d.ts +3 -3
  15. package/dist/DataGrid/datagrid.interfaces.d.ts +1 -1
  16. package/dist/Form/Checkbox/Checkbox.d.ts +5 -5
  17. package/dist/Form/Fieldset/Fieldset.d.ts +3 -3
  18. package/dist/Form/Form.d.ts +1 -1
  19. package/dist/Form/FormControl/FormControl.d.ts +3 -3
  20. package/dist/Form/FormGroup/FormGroup.d.ts +5 -5
  21. package/dist/Form/FormHelperText/FormHelperText.d.ts +3 -3
  22. package/dist/Form/FormSelectorWrapper/FormSelectorWrapper.d.ts +6 -6
  23. package/dist/Form/Input/Input.d.ts +5 -5
  24. package/dist/Form/Label/Label.d.ts +2 -2
  25. package/dist/Form/Radio/Radio.d.ts +5 -5
  26. package/dist/Form/Select/Option.d.ts +2 -2
  27. package/dist/Form/Select/Select.d.ts +5 -5
  28. package/dist/Form/Textarea/Textarea.d.ts +6 -6
  29. package/dist/Form/Toggle/Toggle.d.ts +3 -3
  30. package/dist/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.d.ts +4 -4
  31. package/dist/Form/Wrapper/InputWrapper/InputWrapper.d.ts +4 -4
  32. package/dist/Form/Wrapper/RadioWrapper/RadioWrapper.d.ts +4 -4
  33. package/dist/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +4 -4
  34. package/dist/Form/Wrapper/TextareaWrapper/TextareaWrapper.d.ts +4 -4
  35. package/dist/Form/Wrapper/Wrapper/Wrapper.d.ts +6 -6
  36. package/dist/Form/form.interfaces.d.ts +1 -1
  37. package/dist/Icon/Icon.d.ts +3 -3
  38. package/dist/Link/Link.d.ts +7 -7
  39. package/dist/Notifications/BaseModal/BaseModal.d.ts +4 -4
  40. package/dist/Notifications/BaseModal/BaseModalActions/BaseModalActions.d.ts +2 -2
  41. package/dist/Notifications/BaseModal/BaseModalContent/BaseModalContent.d.ts +2 -2
  42. package/dist/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.d.ts +2 -2
  43. package/dist/Notifications/Dialog/Dialog.d.ts +5 -5
  44. package/dist/Notifications/Dialog/DialogActions/DialogActions.d.ts +3 -3
  45. package/dist/Notifications/Dialog/DialogTitle/DialogTitle.d.ts +2 -2
  46. package/dist/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.d.ts +3 -3
  47. package/dist/Notifications/DiscardChangesModal/DiscardChangesModal.d.ts +7 -7
  48. package/dist/Notifications/Modal/Modal.d.ts +1 -1
  49. package/dist/Notifications/Modal/ModalActions/ModalActions.d.ts +1 -1
  50. package/dist/Notifications/Modal/ModalContent/ModalContent.d.ts +1 -1
  51. package/dist/Notifications/Modal/ModalHeader/ModalHeader.d.ts +1 -1
  52. package/dist/Notifications/SlideInModal/SlideInModal.d.ts +3 -3
  53. package/dist/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.d.ts +3 -3
  54. package/dist/Notifications/Snackbar/SnackbarItem/SnackbarItem.d.ts +2 -2
  55. package/dist/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +3 -3
  56. package/dist/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.d.ts +2 -2
  57. package/dist/Notifications/Snackbar/interfaces.d.ts +2 -2
  58. package/dist/Pagination/Pagination.d.ts +3 -3
  59. package/dist/Popover/Popover.d.ts +3 -3
  60. package/dist/Skeleton/Skeleton.d.ts +3 -3
  61. package/dist/StatusIndicator/StatusIndicator.d.ts +5 -5
  62. package/dist/Tabs/Tab.d.ts +1 -1
  63. package/dist/Tabs/TabButton.d.ts +2 -2
  64. package/dist/Tabs/TabPanel.d.ts +2 -2
  65. package/dist/Tabs/Tabs.d.ts +4 -4
  66. package/dist/TextEllipsis/TextEllipsis.d.ts +2 -2
  67. package/dist/Tiles/Tile.d.ts +5 -5
  68. package/dist/Tiles/Tiles.d.ts +2 -2
  69. package/dist/Tooltip/Tooltip.d.ts +3 -3
  70. package/dist/Typography/Typography.d.ts +3 -3
  71. package/dist/Wizard/BaseWizardSteps/BaseWizardSteps.d.ts +2 -2
  72. package/dist/Wizard/Wizard.d.ts +3 -3
  73. package/dist/Wizard/WizardActions/WizardActions.d.ts +2 -2
  74. package/dist/Wizard/WizardStateProvider.d.ts +2 -2
  75. package/dist/Wizard/WizardSteps/WizardSteps.d.ts +2 -2
  76. package/dist/Wizard/wizardStateReducer.d.ts +5 -5
  77. package/dist/_BaseStyling_/BaseStyling.d.ts +1 -1
  78. package/dist/hooks/usePosition.d.ts +4 -4
  79. package/dist/hooks/useRepeater.d.ts +1 -1
  80. package/dist/hooks/useScroll.d.ts +1 -1
  81. package/dist/hooks/useSpacing.d.ts +1 -1
  82. package/dist/hooks/useWrapper.d.ts +1 -1
  83. package/dist/index.d.ts +55 -55
  84. package/dist/react-lib-components.cjs.development.js +676 -578
  85. package/dist/react-lib-components.cjs.development.js.map +1 -1
  86. package/dist/react-lib-components.cjs.production.min.js +1 -1
  87. package/dist/react-lib-components.cjs.production.min.js.map +1 -1
  88. package/dist/react-lib-components.esm.js +676 -578
  89. package/dist/react-lib-components.esm.js.map +1 -1
  90. package/package.json +27 -16
  91. package/src/Breadcrumbs/Breadcrumbs.test.tsx +15 -15
  92. package/src/Breadcrumbs/Breadcrumbs.tsx +11 -11
  93. package/src/Button/BaseButton.module.scss +1 -1
  94. package/src/Button/BaseButton.test.tsx +27 -27
  95. package/src/Button/BaseButton.tsx +8 -8
  96. package/src/Button/Button.module.scss +5 -5
  97. package/src/Button/Button.test.tsx +39 -39
  98. package/src/Button/Button.tsx +10 -10
  99. package/src/Button/IconButton.module.scss +5 -5
  100. package/src/Button/IconButton.test.tsx +29 -29
  101. package/src/Button/IconButton.tsx +11 -11
  102. package/src/ContextMenu/ContextMenu.test.tsx +97 -76
  103. package/src/ContextMenu/ContextMenu.tsx +48 -42
  104. package/src/ContextMenu/ContextMenuItem.module.scss +1 -1
  105. package/src/ContextMenu/ContextMenuItem.tsx +7 -5
  106. package/src/DataGrid/DataGrid.test.tsx +193 -193
  107. package/src/DataGrid/DataGrid.tsx +26 -26
  108. package/src/DataGrid/DataGridActions/DataGridActions.test.tsx +63 -63
  109. package/src/DataGrid/DataGridActions/DataGridActions.tsx +15 -15
  110. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss +1 -1
  111. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.test.tsx +21 -21
  112. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.tsx +20 -20
  113. package/src/DataGrid/DataGridBody/DataGridBody.test.tsx +40 -40
  114. package/src/DataGrid/DataGridBody/DataGridBody.tsx +10 -10
  115. package/src/DataGrid/DataGridBody/DataGridCell.module.scss +1 -1
  116. package/src/DataGrid/DataGridBody/DataGridCell.test.tsx +25 -25
  117. package/src/DataGrid/DataGridBody/DataGridCell.tsx +6 -6
  118. package/src/DataGrid/DataGridBody/DataGridRow.test.tsx +38 -38
  119. package/src/DataGrid/DataGridBody/DataGridRow.tsx +8 -8
  120. package/src/DataGrid/DataGridHeader/DataGridHeader.module.scss +1 -2
  121. package/src/DataGrid/DataGridHeader/DataGridHeader.test.tsx +119 -119
  122. package/src/DataGrid/DataGridHeader/DataGridHeader.tsx +13 -13
  123. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss +2 -0
  124. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.test.tsx +51 -51
  125. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.tsx +14 -14
  126. package/src/DataGrid/datagrid.interfaces.ts +1 -1
  127. package/src/Form/Checkbox/Checkbox.test.tsx +74 -74
  128. package/src/Form/Checkbox/Checkbox.tsx +27 -27
  129. package/src/Form/Fieldset/Fieldset.module.scss +1 -1
  130. package/src/Form/Fieldset/Fieldset.test.tsx +35 -35
  131. package/src/Form/Fieldset/Fieldset.tsx +27 -27
  132. package/src/Form/Form.test.tsx +18 -18
  133. package/src/Form/Form.tsx +3 -3
  134. package/src/Form/FormControl/FormControl.test.tsx +22 -22
  135. package/src/Form/FormControl/FormControl.tsx +10 -10
  136. package/src/Form/FormGroup/FormGroup.test.tsx +37 -37
  137. package/src/Form/FormGroup/FormGroup.tsx +16 -16
  138. package/src/Form/FormHelperText/FormHelperText.test.tsx +18 -18
  139. package/src/Form/FormHelperText/FormHelperText.tsx +7 -7
  140. package/src/Form/FormSelectorWrapper/FormSelectorWrapper.test.tsx +15 -15
  141. package/src/Form/FormSelectorWrapper/FormSelectorWrapper.tsx +14 -14
  142. package/src/Form/Input/Input.module.scss +20 -44
  143. package/src/Form/Input/Input.test.tsx +121 -73
  144. package/src/Form/Input/Input.tsx +96 -35
  145. package/src/Form/Label/Label.test.tsx +13 -13
  146. package/src/Form/Label/Label.tsx +6 -6
  147. package/src/Form/Radio/Radio.test.tsx +35 -35
  148. package/src/Form/Radio/Radio.tsx +17 -17
  149. package/src/Form/Select/Option.test.tsx +10 -10
  150. package/src/Form/Select/Option.tsx +8 -8
  151. package/src/Form/Select/Select.module.scss +7 -9
  152. package/src/Form/Select/Select.test.tsx +144 -141
  153. package/src/Form/Select/Select.tsx +79 -78
  154. package/src/Form/Textarea/Textarea.module.scss +8 -18
  155. package/src/Form/Textarea/Textarea.test.tsx +27 -27
  156. package/src/Form/Textarea/Textarea.tsx +33 -13
  157. package/src/Form/Toggle/Toggle.module.scss +1 -1
  158. package/src/Form/Toggle/Toggle.test.tsx +22 -22
  159. package/src/Form/Toggle/Toggle.tsx +10 -10
  160. package/src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.test.tsx +39 -39
  161. package/src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx +12 -12
  162. package/src/Form/Wrapper/InputWrapper/InputWrapper.module.scss +2 -8
  163. package/src/Form/Wrapper/InputWrapper/InputWrapper.test.tsx +55 -55
  164. package/src/Form/Wrapper/InputWrapper/InputWrapper.tsx +30 -35
  165. package/src/Form/Wrapper/RadioWrapper/RadioWrapper.test.tsx +35 -35
  166. package/src/Form/Wrapper/RadioWrapper/RadioWrapper.tsx +12 -12
  167. package/src/Form/Wrapper/SelectWrapper/SelectWrapper.test.tsx +55 -55
  168. package/src/Form/Wrapper/SelectWrapper/SelectWrapper.tsx +12 -12
  169. package/src/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss +2 -11
  170. package/src/Form/Wrapper/TextareaWrapper/TextareaWrapper.test.tsx +50 -50
  171. package/src/Form/Wrapper/TextareaWrapper/TextareaWrapper.tsx +22 -22
  172. package/src/Form/Wrapper/Wrapper/Wrapper.module.scss +2 -2
  173. package/src/Form/Wrapper/Wrapper/Wrapper.test.tsx +11 -11
  174. package/src/Form/Wrapper/Wrapper/Wrapper.tsx +17 -17
  175. package/src/Form/form.interfaces.ts +1 -1
  176. package/src/Icon/Icon.module.scss +71 -71
  177. package/src/Icon/Icon.test.tsx +18 -18
  178. package/src/Icon/Icon.tsx +70 -70
  179. package/src/Link/Link.module.scss +5 -5
  180. package/src/Link/Link.test.tsx +76 -76
  181. package/src/Link/Link.tsx +27 -27
  182. package/src/Link/types.d.ts +1 -1
  183. package/src/Notifications/BaseModal/BaseModal.module.scss +1 -1
  184. package/src/Notifications/BaseModal/BaseModal.test.tsx +53 -53
  185. package/src/Notifications/BaseModal/BaseModal.tsx +16 -16
  186. package/src/Notifications/BaseModal/BaseModalActions/BaseModalActions.test.tsx +13 -13
  187. package/src/Notifications/BaseModal/BaseModalActions/BaseModalActions.tsx +5 -5
  188. package/src/Notifications/BaseModal/BaseModalContent/BaseModalContent.test.tsx +16 -16
  189. package/src/Notifications/BaseModal/BaseModalContent/BaseModalContent.tsx +5 -5
  190. package/src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.test.tsx +19 -19
  191. package/src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.tsx +10 -10
  192. package/src/Notifications/Dialog/Dialog.test.tsx +35 -35
  193. package/src/Notifications/Dialog/Dialog.tsx +19 -19
  194. package/src/Notifications/Dialog/DialogActions/DialogActions.test.tsx +14 -14
  195. package/src/Notifications/Dialog/DialogActions/DialogActions.tsx +6 -6
  196. package/src/Notifications/Dialog/DialogTitle/DialogTitle.test.tsx +12 -12
  197. package/src/Notifications/Dialog/DialogTitle/DialogTitle.tsx +6 -6
  198. package/src/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.test.tsx +20 -20
  199. package/src/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.tsx +7 -7
  200. package/src/Notifications/DiscardChangesModal/DiscardChangesModal.test.tsx +36 -36
  201. package/src/Notifications/DiscardChangesModal/DiscardChangesModal.tsx +8 -8
  202. package/src/Notifications/Modal/Modal.test.tsx +6 -6
  203. package/src/Notifications/Modal/Modal.tsx +1 -1
  204. package/src/Notifications/Modal/ModalActions/ModalActions.tsx +2 -2
  205. package/src/Notifications/Modal/ModalContent/ModalContent.tsx +2 -2
  206. package/src/Notifications/Modal/ModalHeader/ModalHeader.tsx +2 -2
  207. package/src/Notifications/SlideInModal/SlideInModal.test.tsx +16 -16
  208. package/src/Notifications/SlideInModal/SlideInModal.tsx +16 -11
  209. package/src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.test.tsx +16 -16
  210. package/src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.tsx +6 -6
  211. package/src/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.scss +2 -2
  212. package/src/Notifications/Snackbar/SnackbarItem/SnackbarItem.test.tsx +17 -17
  213. package/src/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx +23 -23
  214. package/src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.test.tsx +32 -32
  215. package/src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx +18 -18
  216. package/src/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx +3 -3
  217. package/src/Notifications/Snackbar/interfaces.ts +2 -2
  218. package/src/Notifications/Snackbar/useSnackbar.ts +2 -2
  219. package/src/Pagination/Pagination.module.scss +2 -0
  220. package/src/Pagination/Pagination.test.tsx +47 -47
  221. package/src/Pagination/Pagination.tsx +35 -35
  222. package/src/Popover/Popover.test.tsx +19 -19
  223. package/src/Popover/Popover.tsx +7 -7
  224. package/src/Skeleton/Skeleton.module.scss +2 -2
  225. package/src/Skeleton/Skeleton.test.tsx +29 -29
  226. package/src/Skeleton/Skeleton.tsx +10 -10
  227. package/src/StatusIndicator/StatusIndicator.test.tsx +38 -38
  228. package/src/StatusIndicator/StatusIndicator.tsx +9 -9
  229. package/src/Tabs/Tab.test.tsx +13 -13
  230. package/src/Tabs/Tab.tsx +1 -1
  231. package/src/Tabs/TabButton.test.tsx +28 -28
  232. package/src/Tabs/TabButton.tsx +7 -7
  233. package/src/Tabs/TabPanel.test.tsx +30 -30
  234. package/src/Tabs/TabPanel.tsx +4 -4
  235. package/src/Tabs/Tabs.test.tsx +93 -93
  236. package/src/Tabs/Tabs.tsx +25 -25
  237. package/src/TextEllipsis/TextEllipsis.test.tsx +22 -22
  238. package/src/TextEllipsis/TextEllipsis.tsx +6 -6
  239. package/src/Tiles/Tile.module.scss +1 -1
  240. package/src/Tiles/Tile.test.tsx +42 -42
  241. package/src/Tiles/Tile.tsx +22 -22
  242. package/src/Tiles/Tiles.test.tsx +30 -30
  243. package/src/Tiles/Tiles.tsx +9 -9
  244. package/src/Tooltip/Tooltip.test.tsx +35 -35
  245. package/src/Tooltip/Tooltip.tsx +21 -21
  246. package/src/Typography/Typography.module.scss +1 -1
  247. package/src/Typography/Typography.test.tsx +49 -49
  248. package/src/Typography/Typography.tsx +42 -42
  249. package/src/Wizard/BaseWizardSteps/BaseWizardSteps.module.scss +1 -1
  250. package/src/Wizard/BaseWizardSteps/BaseWizardSteps.test.tsx +26 -26
  251. package/src/Wizard/BaseWizardSteps/BaseWizardSteps.tsx +24 -24
  252. package/src/Wizard/Wizard.test.tsx +56 -56
  253. package/src/Wizard/Wizard.tsx +6 -6
  254. package/src/Wizard/WizardActions/WizardActions.test.tsx +34 -34
  255. package/src/Wizard/WizardActions/WizardActions.tsx +14 -14
  256. package/src/Wizard/WizardStateProvider.tsx +3 -3
  257. package/src/Wizard/WizardSteps/WizardSteps.test.tsx +27 -27
  258. package/src/Wizard/WizardSteps/WizardSteps.tsx +7 -7
  259. package/src/Wizard/wizardStateReducer.ts +9 -9
  260. package/src/_BaseStyling_/BaseStyling.test.tsx +14 -14
  261. package/src/_BaseStyling_/BaseStyling.tsx +50 -50
  262. package/src/hooks/useAnimation.test.tsx +12 -12
  263. package/src/hooks/useAnimation.ts +4 -4
  264. package/src/hooks/useBodyClick.test.tsx +8 -8
  265. package/src/hooks/useBodyClick.ts +3 -3
  266. package/src/hooks/useFormSelector.test.ts +17 -17
  267. package/src/hooks/useFormSelector.ts +4 -4
  268. package/src/hooks/usePosition.test.tsx +215 -215
  269. package/src/hooks/usePosition.ts +68 -68
  270. package/src/hooks/useRepeater.test.tsx +26 -26
  271. package/src/hooks/useRepeater.ts +5 -5
  272. package/src/hooks/useScroll.test.tsx +5 -5
  273. package/src/hooks/useScroll.ts +3 -3
  274. package/src/hooks/useSpacing.test.ts +40 -40
  275. package/src/hooks/useSpacing.ts +3 -3
  276. package/src/hooks/useWrapper.test.ts +12 -12
  277. package/src/hooks/useWrapper.ts +14 -7
  278. package/src/index.ts +67 -67
  279. package/src/mixins.module.scss +76 -27
  280. package/src/types.d.ts +1 -1
  281. package/src/util/helper.test.tsx +25 -25
  282. package/src/util/helper.tsx +64 -64
@@ -1,9 +1,9 @@
1
- import React, { useRef, useEffect } from 'react';
2
- import { IconButton, Props } from './IconButton';
3
- import { render } from '@testing-library/react';
1
+ import React, { useRef, useEffect } from "react";
2
+ import { IconButton, Props } from "./IconButton";
3
+ import { render } from "@testing-library/react";
4
4
 
5
5
  const defaultParams: Props = {
6
- title: 'iconbutton',
6
+ title: "iconbutton"
7
7
  };
8
8
 
9
9
  const createIconButton = (params?: (defaultParams: Props) => Props) => {
@@ -16,26 +16,26 @@ const createIconButton = (params?: (defaultParams: Props) => Props) => {
16
16
  iconButton content
17
17
  </IconButton>
18
18
  );
19
- const iconButton = queries.getByTestId('iconButton');
19
+ const iconButton = queries.getByTestId("iconButton");
20
20
 
21
21
  return {
22
22
  ...queries,
23
- iconButton,
23
+ iconButton
24
24
  };
25
25
  };
26
26
 
27
- describe('IconButton should render', () => {
28
- it('renders without crashing', () => {
27
+ describe("IconButton should render", () => {
28
+ it("renders without crashing", () => {
29
29
  const { iconButton } = createIconButton();
30
30
 
31
31
  expect(iconButton).toBeDefined();
32
32
  });
33
33
  });
34
34
 
35
- describe('ref should work', () => {
36
- it('should give back the proper data prop, this also checks if the component propagates ...rest properly', () => {
35
+ describe("ref should work", () => {
36
+ it("should give back the proper data prop, this also checks if the component propagates ...rest properly", () => {
37
37
  const ExampleComponent = ({
38
- propagateRef,
38
+ propagateRef
39
39
  }: {
40
40
  propagateRef?: (ref: React.RefObject<HTMLElement>) => void;
41
41
  }) => {
@@ -51,56 +51,56 @@ describe('ref should work', () => {
51
51
  };
52
52
 
53
53
  const refCheck = (ref: React.RefObject<HTMLElement>) => {
54
- expect(ref.current).toHaveAttribute('data-ref', 'testing');
54
+ expect(ref.current).toHaveAttribute("data-ref", "testing");
55
55
  };
56
56
 
57
57
  render(<ExampleComponent propagateRef={refCheck} />);
58
58
  });
59
59
  });
60
60
 
61
- describe('Different variants of the button', () => {
61
+ describe("Different variants of the button", () => {
62
62
  it('should have a class of "primary"', () => {
63
63
  const { iconButton } = createIconButton();
64
- expect(iconButton.classList.contains('primary')).toBe(true);
64
+ expect(iconButton.classList.contains("primary")).toBe(true);
65
65
  });
66
66
 
67
67
  it('should have a class of "secondary"', () => {
68
- const { iconButton } = createIconButton((defaultParams) => ({
68
+ const { iconButton } = createIconButton(defaultParams => ({
69
69
  ...defaultParams,
70
- color: 'secondary',
70
+ color: "secondary"
71
71
  }));
72
- expect(iconButton.classList.contains('secondary')).toBe(true);
72
+ expect(iconButton.classList.contains("secondary")).toBe(true);
73
73
  });
74
74
 
75
75
  it('should have a class of "tertiary"', () => {
76
- const { iconButton } = createIconButton((defaultParams) => ({
76
+ const { iconButton } = createIconButton(defaultParams => ({
77
77
  ...defaultParams,
78
- color: 'tertiary',
78
+ color: "tertiary"
79
79
  }));
80
- expect(iconButton.classList.contains('tertiary')).toBe(true);
80
+ expect(iconButton.classList.contains("tertiary")).toBe(true);
81
81
  });
82
82
 
83
83
  it('should have a class of "fill"', () => {
84
- const { iconButton } = createIconButton((defaultParams) => ({
84
+ const { iconButton } = createIconButton(defaultParams => ({
85
85
  ...defaultParams,
86
- variant: 'fill',
86
+ variant: "fill"
87
87
  }));
88
- expect(iconButton.classList.contains('fill')).toBe(true);
88
+ expect(iconButton.classList.contains("fill")).toBe(true);
89
89
  });
90
90
 
91
91
  it('should have a class of "outline"', () => {
92
- const { iconButton } = createIconButton((defaultParams) => ({
92
+ const { iconButton } = createIconButton(defaultParams => ({
93
93
  ...defaultParams,
94
- variant: 'outline',
94
+ variant: "outline"
95
95
  }));
96
- expect(iconButton.classList.contains('outline')).toBe(true);
96
+ expect(iconButton.classList.contains("outline")).toBe(true);
97
97
  });
98
98
 
99
99
  it('should have a class of "text"', () => {
100
- const { iconButton } = createIconButton((defaultParams) => ({
100
+ const { iconButton } = createIconButton(defaultParams => ({
101
101
  ...defaultParams,
102
- variant: 'text',
102
+ variant: "text"
103
103
  }));
104
- expect(iconButton.classList.contains('text')).toBe(true);
104
+ expect(iconButton.classList.contains("text")).toBe(true);
105
105
  });
106
106
  });
@@ -1,19 +1,19 @@
1
- import React, { Fragment } from 'react';
2
- import { BaseButton, Props as BaseButtonProps } from './BaseButton';
3
- import classes from './IconButton.module.scss';
4
- import readyclasses from '../readyclasses.module.scss';
1
+ import React, { Fragment } from "react";
2
+ import { BaseButton, Props as BaseButtonProps } from "./BaseButton";
3
+ import classes from "./IconButton.module.scss";
4
+ import readyclasses from "../readyclasses.module.scss";
5
5
 
6
6
  export interface Props extends BaseButtonProps {
7
7
  children?: React.ReactNode;
8
- iconSize?: 's' | 'm' | 'l';
9
- variant?: 'text' | 'fill' | 'outline';
8
+ iconSize?: "s" | "m" | "l";
9
+ variant?: "text" | "fill" | "outline";
10
10
  className?: string;
11
11
  title?: string;
12
12
  }
13
13
 
14
14
  export const IconButton = React.forwardRef<HTMLButtonElement, Props>(
15
15
  (
16
- { children, color = 'primary', variant = 'text', iconSize = 'm', title, className, ...rest },
16
+ { children, color = "primary", variant = "text", iconSize = "m", title, className, ...rest },
17
17
  ref
18
18
  ) => {
19
19
  if (!title) {
@@ -21,10 +21,10 @@ export const IconButton = React.forwardRef<HTMLButtonElement, Props>(
21
21
  }
22
22
 
23
23
  const iconButtonClasses = [
24
- classes['icon-button'],
24
+ classes["icon-button"],
25
25
  classes[variant],
26
26
  classes[color],
27
- classes['button-' + iconSize],
27
+ classes["button-" + iconSize]
28
28
  ];
29
29
 
30
30
  if (className) {
@@ -32,10 +32,10 @@ export const IconButton = React.forwardRef<HTMLButtonElement, Props>(
32
32
  }
33
33
 
34
34
  return (
35
- <BaseButton {...rest} ref={ref} className={iconButtonClasses.join(' ')}>
35
+ <BaseButton {...rest} ref={ref} className={iconButtonClasses.join(" ")}>
36
36
  <Fragment>
37
37
  {children}
38
- <span className={readyclasses['sr-only']}>{title}</span>
38
+ <span className={readyclasses["sr-only"]}>{title}</span>
39
39
  </Fragment>
40
40
  </BaseButton>
41
41
  );
@@ -1,15 +1,15 @@
1
- import React, { useEffect, useRef } from 'react';
2
- import { ContextMenu, Props } from './ContextMenu';
3
- import { render } from '@testing-library/react';
4
- import { Button } from '../Button/Button';
5
- import { ContextMenuItem } from './ContextMenuItem';
6
- import userEvent from '@testing-library/user-event';
1
+ import React, { useEffect, useRef } from "react";
2
+ import { ContextMenu, Props } from "./ContextMenu";
3
+ import { render } from "@testing-library/react";
4
+ import { Button } from "../Button/Button";
5
+ import { ContextMenuItem } from "./ContextMenuItem";
6
+ import userEvent from "@testing-library/user-event";
7
7
 
8
8
  const onShow = jest.fn();
9
9
  const onClick = jest.fn();
10
10
 
11
11
  const defaultParams: Props = {
12
- id: 'example-contextmenu',
12
+ id: "example-contextmenu",
13
13
  trigger: <Button data-testid="trigger">Click me for a context menu</Button>,
14
14
  children: [
15
15
  <ContextMenuItem onClick={onClick} data-testid="contextmenuitem" key="1">
@@ -20,10 +20,10 @@ const defaultParams: Props = {
20
20
  </ContextMenuItem>,
21
21
  <ContextMenuItem onClick={onClick} data-testid="contextmenuitem3" key="3">
22
22
  Example item 3
23
- </ContextMenuItem>,
23
+ </ContextMenuItem>
24
24
  ],
25
25
  show: false,
26
- onShow: onShow,
26
+ onShow: onShow
27
27
  };
28
28
 
29
29
  const createContextMenu = (params?: (defaultParams: Props) => Props) => {
@@ -34,24 +34,24 @@ const createContextMenu = (params?: (defaultParams: Props) => Props) => {
34
34
 
35
35
  const queries = render(<ContextMenu {...parameters} data-testid="contextmenu"></ContextMenu>);
36
36
 
37
- const contextmenu = queries.getByTestId('contextmenu');
38
- const trigger = queries.getByTestId('trigger');
37
+ const contextmenu = queries.getByTestId("contextmenu");
38
+ const trigger = queries.getByTestId("trigger");
39
39
 
40
40
  return {
41
41
  ...queries,
42
42
  contextmenu,
43
- trigger,
43
+ trigger
44
44
  };
45
45
  };
46
46
 
47
- describe('ContextMenu should render', () => {
48
- it('renders without crashing', () => {
47
+ describe("ContextMenu should render", () => {
48
+ it("renders without crashing", () => {
49
49
  const { contextmenu } = createContextMenu();
50
50
 
51
51
  expect(contextmenu).toBeTruthy();
52
52
  });
53
53
 
54
- it('executed onShow function', () => {
54
+ it("executed onShow function", () => {
55
55
  const { trigger } = createContextMenu();
56
56
 
57
57
  userEvent.click(trigger);
@@ -59,20 +59,36 @@ describe('ContextMenu should render', () => {
59
59
  expect(onShow).toHaveBeenCalled();
60
60
  });
61
61
 
62
- it('executed onShow function', () => {
63
- const { getByTestId } = createContextMenu((defaultParams) => ({
62
+ it("executed onShow function", () => {
63
+ const { getByTestId } = createContextMenu(defaultParams => ({
64
64
  ...defaultParams,
65
- show: true,
65
+ show: true
66
66
  }));
67
67
 
68
- const button = getByTestId('contextmenuitem');
68
+ const button = getByTestId("contextmenuitem");
69
69
 
70
70
  userEvent.click(button);
71
71
 
72
72
  expect(onClick).toHaveBeenCalled();
73
73
  });
74
74
 
75
- it('should throw an error', () => {
75
+ it("passes custom class to ContextMenuItem", () => {
76
+ const { getByRole } = createContextMenu(defaultParams => ({
77
+ ...defaultParams,
78
+ show: true,
79
+ children: [
80
+ <ContextMenuItem data-testid="contextmenuitem" key="1" className="custom">
81
+ Item 1
82
+ </ContextMenuItem>
83
+ ]
84
+ }));
85
+
86
+ const child = getByRole("menuitem");
87
+
88
+ expect(child).toHaveClass("custom");
89
+ });
90
+
91
+ it("should throw an error", () => {
76
92
  // Prevent throwing an error in the console when this test is executed. We fix this and the end of this test.
77
93
  const err = console.error;
78
94
  console.error = jest.fn();
@@ -86,7 +102,7 @@ describe('ContextMenu should render', () => {
86
102
  actual = e.message;
87
103
  }
88
104
 
89
- const expected = 'You need to provide an ID to the context menu';
105
+ const expected = "You need to provide an ID to the context menu";
90
106
 
91
107
  expect(actual).toEqual(expected);
92
108
 
@@ -94,10 +110,10 @@ describe('ContextMenu should render', () => {
94
110
  });
95
111
  });
96
112
 
97
- describe('ref should work', () => {
98
- it('should give back the proper data prop, this also checks if the component propagates ...rest properly', () => {
113
+ describe("ref should work", () => {
114
+ it("should give back the proper data prop, this also checks if the component propagates ...rest properly", () => {
99
115
  const ExampleComponent = ({
100
- propagateRef,
116
+ propagateRef
101
117
  }: {
102
118
  propagateRef?: (ref: React.RefObject<HTMLElement>) => void;
103
119
  }) => {
@@ -113,121 +129,126 @@ describe('ref should work', () => {
113
129
  };
114
130
 
115
131
  const refCheck = (ref: React.RefObject<HTMLElement>) => {
116
- expect(ref.current).toHaveAttribute('data-ref', 'testing');
132
+ expect(ref.current).toHaveAttribute("data-ref", "testing");
117
133
  };
118
134
 
119
135
  render(<ExampleComponent propagateRef={refCheck} />);
120
136
  });
121
137
  });
122
138
 
123
- describe('accessibility controls', () => {
124
- it('opening works correctly with arrow key down, then navigation should work with arrow keys', () => {
139
+ describe("accessibility controls", () => {
140
+ it("opening works correctly with arrow key down, then navigation should work with arrow keys", () => {
125
141
  const { getByTestId, trigger } = createContextMenu();
126
- const firstContextMenuItem = getByTestId('contextmenuitem');
127
- const secondContextMenuItem = getByTestId('contextmenuitem2');
128
- const thirdContextMenuItem = getByTestId('contextmenuitem3');
129
-
130
- userEvent.keyboard('{arrowdown}');
131
- userEvent.keyboard('{arrowdown}');
132
- expect(trigger).toHaveAttribute('aria-expanded', 'true');
142
+ const firstContextMenuItem = getByTestId("contextmenuitem");
143
+ const secondContextMenuItem = getByTestId("contextmenuitem2");
144
+ const thirdContextMenuItem = getByTestId("contextmenuitem3");
145
+
146
+ userEvent.tab();
147
+ userEvent.keyboard("{arrowdown}");
148
+ userEvent.keyboard("{arrowdown}");
149
+ expect(trigger).toHaveAttribute("aria-expanded", "true");
133
150
  expect(firstContextMenuItem).toHaveFocus();
134
151
 
135
- userEvent.keyboard('{arrowdown}');
152
+ userEvent.keyboard("{arrowdown}");
136
153
  expect(secondContextMenuItem).toHaveFocus();
137
154
 
138
- userEvent.keyboard('{arrowdown}');
155
+ userEvent.keyboard("{arrowdown}");
139
156
  expect(thirdContextMenuItem).toHaveFocus();
140
157
 
141
- userEvent.keyboard('{arrowdown}');
158
+ userEvent.keyboard("{arrowdown}");
142
159
  expect(firstContextMenuItem).toHaveFocus();
143
160
 
144
- userEvent.keyboard('{arrowup}');
161
+ userEvent.keyboard("{arrowup}");
145
162
  expect(thirdContextMenuItem).toHaveFocus();
146
163
 
147
- userEvent.keyboard('{arrowup}');
164
+ userEvent.keyboard("{arrowup}");
148
165
  expect(secondContextMenuItem).toHaveFocus();
149
166
  });
150
167
 
151
- it('opens correctly with enter key, closing works with escape key.', async () => {
168
+ it("opens correctly with enter key, closing works with escape key.", async () => {
152
169
  const { trigger } = createContextMenu();
153
170
 
154
- userEvent.keyboard('{enter}');
171
+ userEvent.tab();
172
+ userEvent.keyboard("{enter}");
155
173
 
156
- expect(trigger).toHaveAttribute('aria-expanded', 'true');
174
+ expect(trigger).toHaveAttribute("aria-expanded", "true");
157
175
 
158
- userEvent.keyboard('{escape}');
176
+ userEvent.keyboard("{escape}");
159
177
 
160
- expect(trigger).toHaveAttribute('aria-expanded', 'false');
178
+ expect(trigger).toHaveAttribute("aria-expanded", "false");
161
179
  });
162
180
 
163
- it('opens correctly with space, home and end buttons work', () => {
181
+ it("opens correctly with space, home and end buttons work", () => {
164
182
  const { trigger, getByTestId } = createContextMenu();
165
- const firstContextMenuItem = getByTestId('contextmenuitem');
166
- const thirdContextMenuItem = getByTestId('contextmenuitem3');
183
+ const firstContextMenuItem = getByTestId("contextmenuitem");
184
+ const thirdContextMenuItem = getByTestId("contextmenuitem3");
167
185
 
168
- userEvent.keyboard('{space}');
186
+ userEvent.tab();
187
+ userEvent.keyboard("{space}");
169
188
 
170
- expect(trigger).toHaveAttribute('aria-expanded', 'true');
189
+ expect(trigger).toHaveAttribute("aria-expanded", "true");
171
190
 
172
- userEvent.keyboard('{end}');
191
+ userEvent.keyboard("{end}");
173
192
 
174
193
  expect(thirdContextMenuItem).toHaveFocus();
175
194
 
176
- userEvent.keyboard('{home}');
195
+ userEvent.keyboard("{home}");
177
196
 
178
197
  expect(firstContextMenuItem).toHaveFocus();
179
198
  });
180
199
 
181
- it('opens correctly with space, navigate with arrow keys, select with enter', () => {
182
- onClick.mockImplementation((e) => {
183
- expect(e.target.getAttribute('data-testid')).toBe('contextmenuitem3');
200
+ it("opens correctly with space, navigate with arrow keys, select with enter", () => {
201
+ onClick.mockImplementation(e => {
202
+ expect(e.target.getAttribute("data-testid")).toBe("contextmenuitem3");
184
203
  });
185
204
 
186
- const { trigger, getByTestId } = createContextMenu((defaultParams) => ({
187
- ...defaultParams,
205
+ const { trigger, getByTestId } = createContextMenu(defaultParams => ({
206
+ ...defaultParams
188
207
  }));
189
- const thirdContextMenuItem = getByTestId('contextmenuitem3');
208
+ const thirdContextMenuItem = getByTestId("contextmenuitem3");
190
209
 
191
- userEvent.keyboard('{space}');
210
+ userEvent.tab();
211
+ userEvent.keyboard("{space}");
192
212
 
193
- expect(trigger).toHaveAttribute('aria-expanded', 'true');
213
+ expect(trigger).toHaveAttribute("aria-expanded", "true");
194
214
 
195
- userEvent.keyboard('{arrowdown}');
196
- userEvent.keyboard('{arrowdown}');
197
- userEvent.keyboard('{arrowdown}');
215
+ userEvent.keyboard("{arrowdown}");
216
+ userEvent.keyboard("{arrowdown}");
217
+ userEvent.keyboard("{arrowdown}");
198
218
 
199
219
  expect(thirdContextMenuItem).toHaveFocus();
200
220
 
201
- userEvent.keyboard('{enter}');
221
+ userEvent.keyboard("{enter}");
202
222
 
203
223
  expect(onClick).toHaveBeenCalled();
204
224
  });
205
225
 
206
- it('opens correctly with enter, navigate with arrow keys, select with space', () => {
207
- onClick.mockImplementation((e) => {
208
- expect(e.target.getAttribute('data-testid')).toBe('contextmenuitem3');
226
+ it("opens correctly with enter, navigate with arrow keys, select with space", () => {
227
+ onClick.mockImplementation(e => {
228
+ expect(e.target.getAttribute("data-testid")).toBe("contextmenuitem3");
209
229
  });
210
230
 
211
- const { trigger, getByTestId } = createContextMenu((defaultParams) => ({
212
- ...defaultParams,
231
+ const { trigger, getByTestId } = createContextMenu(defaultParams => ({
232
+ ...defaultParams
213
233
  }));
214
- const thirdContextMenuItem = getByTestId('contextmenuitem3');
234
+ const thirdContextMenuItem = getByTestId("contextmenuitem3");
215
235
 
216
- userEvent.keyboard('{enter}');
236
+ userEvent.tab();
237
+ userEvent.keyboard("{enter}");
217
238
 
218
- expect(trigger).toHaveAttribute('aria-expanded', 'true');
239
+ expect(trigger).toHaveAttribute("aria-expanded", "true");
219
240
 
220
- userEvent.keyboard('{arrowdown}');
221
- userEvent.keyboard('{arrowdown}');
222
- userEvent.keyboard('{arrowdown}');
241
+ userEvent.keyboard("{arrowdown}");
242
+ userEvent.keyboard("{arrowdown}");
243
+ userEvent.keyboard("{arrowdown}");
223
244
 
224
245
  expect(thirdContextMenuItem).toHaveFocus();
225
246
 
226
- userEvent.keyboard('{space}');
247
+ userEvent.keyboard("{space}");
227
248
 
228
249
  expect(onClick).toHaveBeenCalled();
229
250
 
230
- userEvent.keyboard('{space}');
251
+ userEvent.keyboard("{space}");
231
252
 
232
253
  expect(thirdContextMenuItem).toHaveFocus();
233
254
  });