@patternfly/react-core 4.236.1 → 4.236.4

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 (168) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/esm/components/AboutModal/AboutModal.js +2 -2
  3. package/dist/esm/components/AboutModal/AboutModal.js.map +1 -1
  4. package/dist/esm/components/Alert/Alert.d.ts +2 -0
  5. package/dist/esm/components/Alert/Alert.d.ts.map +1 -1
  6. package/dist/esm/components/Alert/Alert.js +2 -2
  7. package/dist/esm/components/Alert/Alert.js.map +1 -1
  8. package/dist/esm/components/AlertGroup/AlertGroupInline.d.ts.map +1 -1
  9. package/dist/esm/components/AlertGroup/AlertGroupInline.js +4 -1
  10. package/dist/esm/components/AlertGroup/AlertGroupInline.js.map +1 -1
  11. package/dist/esm/components/ContextSelector/ContextSelector.js +2 -2
  12. package/dist/esm/components/ContextSelector/ContextSelector.js.map +1 -1
  13. package/dist/esm/components/ContextSelector/ContextSelectorToggle.d.ts.map +1 -1
  14. package/dist/esm/components/ContextSelector/ContextSelectorToggle.js +5 -7
  15. package/dist/esm/components/ContextSelector/ContextSelectorToggle.js.map +1 -1
  16. package/dist/esm/components/Dropdown/Toggle.d.ts.map +1 -1
  17. package/dist/esm/components/Dropdown/Toggle.js +2 -3
  18. package/dist/esm/components/Dropdown/Toggle.js.map +1 -1
  19. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  20. package/dist/esm/components/Modal/Modal.js +2 -2
  21. package/dist/esm/components/Modal/Modal.js.map +1 -1
  22. package/dist/esm/components/NumberInput/NumberInput.d.ts.map +1 -1
  23. package/dist/esm/components/NumberInput/NumberInput.js +3 -3
  24. package/dist/esm/components/NumberInput/NumberInput.js.map +1 -1
  25. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +1 -1
  26. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.js +2 -3
  27. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
  28. package/dist/esm/components/Pagination/Navigation.js +2 -2
  29. package/dist/esm/components/Pagination/Navigation.js.map +1 -1
  30. package/dist/esm/components/SearchInput/AdvancedSearchMenu.d.ts.map +1 -1
  31. package/dist/esm/components/SearchInput/AdvancedSearchMenu.js +2 -3
  32. package/dist/esm/components/SearchInput/AdvancedSearchMenu.js.map +1 -1
  33. package/dist/esm/components/Tabs/OverflowTab.d.ts.map +1 -1
  34. package/dist/esm/components/Tabs/OverflowTab.js +1 -1
  35. package/dist/esm/components/Tabs/OverflowTab.js.map +1 -1
  36. package/dist/esm/components/Tabs/TabButton.d.ts.map +1 -1
  37. package/dist/esm/components/Tabs/TabButton.js +1 -1
  38. package/dist/esm/components/Tabs/TabButton.js.map +1 -1
  39. package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
  40. package/dist/esm/components/Tabs/Tabs.js +2 -2
  41. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  42. package/dist/esm/components/TimePicker/TimePicker.js +2 -2
  43. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  44. package/dist/esm/components/Tooltip/Tooltip.js +3 -3
  45. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  46. package/dist/esm/components/Wizard/Wizard.js +2 -2
  47. package/dist/esm/components/Wizard/Wizard.js.map +1 -1
  48. package/dist/js/components/AboutModal/AboutModal.js +1 -1
  49. package/dist/js/components/AboutModal/AboutModal.js.map +1 -1
  50. package/dist/js/components/Alert/Alert.d.ts +2 -0
  51. package/dist/js/components/Alert/Alert.d.ts.map +1 -1
  52. package/dist/js/components/Alert/Alert.js +2 -2
  53. package/dist/js/components/Alert/Alert.js.map +1 -1
  54. package/dist/js/components/AlertGroup/AlertGroupInline.d.ts.map +1 -1
  55. package/dist/js/components/AlertGroup/AlertGroupInline.js +4 -1
  56. package/dist/js/components/AlertGroup/AlertGroupInline.js.map +1 -1
  57. package/dist/js/components/ContextSelector/ContextSelector.js +1 -1
  58. package/dist/js/components/ContextSelector/ContextSelector.js.map +1 -1
  59. package/dist/js/components/ContextSelector/ContextSelectorToggle.d.ts.map +1 -1
  60. package/dist/js/components/ContextSelector/ContextSelectorToggle.js +4 -6
  61. package/dist/js/components/ContextSelector/ContextSelectorToggle.js.map +1 -1
  62. package/dist/js/components/Dropdown/Toggle.d.ts.map +1 -1
  63. package/dist/js/components/Dropdown/Toggle.js +1 -2
  64. package/dist/js/components/Dropdown/Toggle.js.map +1 -1
  65. package/dist/js/components/Modal/Modal.d.ts.map +1 -1
  66. package/dist/js/components/Modal/Modal.js +1 -1
  67. package/dist/js/components/Modal/Modal.js.map +1 -1
  68. package/dist/js/components/NumberInput/NumberInput.d.ts.map +1 -1
  69. package/dist/js/components/NumberInput/NumberInput.js +2 -2
  70. package/dist/js/components/NumberInput/NumberInput.js.map +1 -1
  71. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +1 -1
  72. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.js +1 -2
  73. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
  74. package/dist/js/components/Pagination/Navigation.js +1 -1
  75. package/dist/js/components/Pagination/Navigation.js.map +1 -1
  76. package/dist/js/components/SearchInput/AdvancedSearchMenu.d.ts.map +1 -1
  77. package/dist/js/components/SearchInput/AdvancedSearchMenu.js +1 -2
  78. package/dist/js/components/SearchInput/AdvancedSearchMenu.js.map +1 -1
  79. package/dist/js/components/Tabs/OverflowTab.d.ts.map +1 -1
  80. package/dist/js/components/Tabs/OverflowTab.js +1 -1
  81. package/dist/js/components/Tabs/OverflowTab.js.map +1 -1
  82. package/dist/js/components/Tabs/TabButton.d.ts.map +1 -1
  83. package/dist/js/components/Tabs/TabButton.js +1 -1
  84. package/dist/js/components/Tabs/TabButton.js.map +1 -1
  85. package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
  86. package/dist/js/components/Tabs/Tabs.js +2 -2
  87. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  88. package/dist/js/components/TimePicker/TimePicker.js +2 -2
  89. package/dist/js/components/TimePicker/TimePicker.js.map +1 -1
  90. package/dist/js/components/Tooltip/Tooltip.js +2 -2
  91. package/dist/js/components/Tooltip/Tooltip.js.map +1 -1
  92. package/dist/js/components/Wizard/Wizard.js +1 -1
  93. package/dist/js/components/Wizard/Wizard.js.map +1 -1
  94. package/dist/umd/react-core.min.css +549 -534
  95. package/dist/umd/react-core.min.js +5 -5
  96. package/package.json +6 -6
  97. package/src/components/AboutModal/AboutModal.tsx +2 -2
  98. package/src/components/AboutModal/__tests__/AboutModal.test.tsx +5 -2
  99. package/src/components/Alert/Alert.tsx +4 -0
  100. package/src/components/Alert/__tests__/Alert.test.tsx +3 -2
  101. package/src/components/AlertGroup/AlertGroupInline.tsx +3 -2
  102. package/src/components/AlertGroup/__tests__/AlertGroup.test.tsx +6 -4
  103. package/src/components/Avatar/__tests__/Avatar.test.tsx +69 -3
  104. package/src/components/Avatar/__tests__/__snapshots__/Avatar.test.tsx.snap +3 -2
  105. package/src/components/Card/examples/CardLegacySelectable.tsx +1 -1
  106. package/src/components/Checkbox/__tests__/Checkbox.test.tsx +4 -2
  107. package/src/components/ChipGroup/__tests__/ChipGroup.test.tsx +4 -2
  108. package/src/components/ClipboardCopy/__tests__/ClipboardCopyButton.test.tsx +4 -2
  109. package/src/components/ClipboardCopy/__tests__/ClipboardCopyToggle.test.tsx +4 -2
  110. package/src/components/ContextSelector/ContextSelector.tsx +2 -2
  111. package/src/components/ContextSelector/ContextSelectorToggle.tsx +5 -9
  112. package/src/components/ContextSelector/__tests__/ContextSelector.test.tsx +4 -2
  113. package/src/components/ContextSelector/__tests__/ContextSelectorItem.test.tsx +3 -2
  114. package/src/components/ContextSelector/__tests__/ContextSelectorToggle.test.tsx +20 -10
  115. package/src/components/DataList/__tests__/DataList.test.tsx +3 -2
  116. package/src/components/DataList/__tests__/DataListCheck.test.tsx +3 -2
  117. package/src/components/Drawer/__tests__/Drawer.test.tsx +6 -3
  118. package/src/components/Dropdown/Toggle.tsx +2 -3
  119. package/src/components/Dropdown/__tests__/Dropdown.test.tsx +3 -2
  120. package/src/components/Dropdown/__tests__/DropdownToggle.test.tsx +6 -4
  121. package/src/components/Dropdown/__tests__/DropdownToggleAction.test.tsx +3 -2
  122. package/src/components/Dropdown/__tests__/DropdownToggleCheckbox.test.tsx +4 -2
  123. package/src/components/ExpandableSection/__tests__/ExpandableSection.test.tsx +3 -2
  124. package/src/components/Form/__tests__/FormGroup.test.tsx +6 -4
  125. package/src/components/FormSelect/__tests__/FormSelect.test.tsx +3 -3
  126. package/src/components/Label/__tests__/Label.test.tsx +4 -2
  127. package/src/components/LabelGroup/__tests__/LabelGroup.test.tsx +4 -2
  128. package/src/components/LabelGroup/examples/LabelGroupEditableAdd.tsx +1 -1
  129. package/src/components/LabelGroup/examples/LabelGroupEditableAddDropdown.tsx +1 -1
  130. package/src/components/LabelGroup/examples/LabelGroupEditableAddModal.tsx +5 -5
  131. package/src/components/LoginPage/__tests__/LoginForm.test.tsx +9 -6
  132. package/src/components/Modal/Modal.tsx +2 -2
  133. package/src/components/Modal/__tests__/Modal.test.tsx +5 -2
  134. package/src/components/Modal/__tests__/ModalBoxCloseButton.test.tsx +3 -2
  135. package/src/components/Nav/__tests__/Nav.test.tsx +10 -6
  136. package/src/components/NumberInput/NumberInput.tsx +3 -3
  137. package/src/components/NumberInput/__tests__/NumberInput.test.tsx +42 -17
  138. package/src/components/OptionsMenu/OptionsMenuToggleWithText.tsx +2 -3
  139. package/src/components/Page/examples/PageCenteredSection.tsx +1 -1
  140. package/src/components/Pagination/Navigation.tsx +2 -2
  141. package/src/components/Pagination/__tests__/Pagination.test.tsx +83 -44
  142. package/src/components/Radio/__tests__/Radio.test.tsx +4 -2
  143. package/src/components/SearchInput/AdvancedSearchMenu.tsx +2 -3
  144. package/src/components/SearchInput/__tests__/SearchInput.test.tsx +32 -34
  145. package/src/components/SearchInput/__tests__/__snapshots__/SearchInput.test.tsx.snap +4 -1
  146. package/src/components/Select/__tests__/Select.test.tsx +17 -9
  147. package/src/components/Select/__tests__/SelectToggle.test.tsx +14 -8
  148. package/src/components/SimpleList/__tests__/SimpleList.test.tsx +6 -4
  149. package/src/components/Switch/__tests__/Switch.test.tsx +4 -2
  150. package/src/components/Tabs/OverflowTab.tsx +1 -0
  151. package/src/components/Tabs/TabButton.tsx +6 -1
  152. package/src/components/Tabs/Tabs.tsx +2 -0
  153. package/src/components/Tabs/__tests__/OverflowTab.test.tsx +42 -23
  154. package/src/components/Tabs/__tests__/__snapshots__/OverflowTab.test.tsx.snap +1 -0
  155. package/src/components/Tabs/__tests__/__snapshots__/Tab.test.tsx.snap +1 -0
  156. package/src/components/Tabs/__tests__/__snapshots__/TabButton.test.tsx.snap +1 -0
  157. package/src/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +67 -0
  158. package/src/components/TextArea/__tests__/TextArea.test.tsx +4 -2
  159. package/src/components/TextInput/__tests__/TextInput.test.tsx +4 -2
  160. package/src/components/TextInputGroup/__tests__/TextInputGroupMain.test.tsx +13 -9
  161. package/src/components/TimePicker/TimePicker.tsx +2 -2
  162. package/src/components/TimePicker/__tests__/TimePicker.test.tsx +36 -26
  163. package/src/components/ToggleGroup/__tests__/ToggleGroup.test.tsx +4 -2
  164. package/src/components/Tooltip/Tooltip.tsx +3 -3
  165. package/src/components/Wizard/Wizard.tsx +2 -2
  166. package/src/components/Wizard/__tests__/Wizard.test.tsx +18 -14
  167. package/src/demos/PrimaryDetail.md +1 -1
  168. package/src/next/components/Wizard/__tests__/Wizard.test.tsx +21 -15
@@ -7,7 +7,7 @@ import { TimePicker, TimePickerProps } from '../TimePicker';
7
7
 
8
8
  describe('TimePicker', () => {
9
9
  describe('test timepicker onChange method with valid values', () => {
10
- const testOnChange = ({
10
+ const testOnChange = async ({
11
11
  inputProps,
12
12
  expects
13
13
  }: {
@@ -15,49 +15,51 @@ describe('TimePicker', () => {
15
15
  expects: { hour: number; minutes: number; seconds: number };
16
16
  }) => {
17
17
  const onChange = jest.fn();
18
+ const user = userEvent.setup();
19
+
18
20
  render(<TimePicker onChange={onChange} {...inputProps} aria-label="time picker" />);
19
21
 
20
- userEvent.type(screen.getByLabelText('time picker'), String(inputProps.value));
21
- expect(onChange).toHaveBeenCalledWith(inputProps.value, expects.hour, expects.minutes, expects.seconds, true);
22
+ await user.type(screen.getByLabelText('time picker'), String(inputProps.value));
23
+ expect(onChange).toHaveBeenCalledWith(inputProps.value, expects.hour, expects.minutes, expects.seconds, true)
22
24
  };
23
25
 
24
- test('should return the correct value using the AM/PM pattern - midnight', () => {
25
- testOnChange({
26
+ test('should return the correct value using the AM/PM pattern - midnight', async () => {
27
+ await testOnChange({
26
28
  inputProps: { value: '12:00 AM', is24Hour: false },
27
29
  expects: { hour: 0, minutes: 0, seconds: null }
28
30
  });
29
31
  });
30
32
 
31
- test('should return the correct value using the AM/PM pattern - midday', () => {
32
- testOnChange({
33
+ test('should return the correct value using the AM/PM pattern - midday', async () => {
34
+ await testOnChange({
33
35
  inputProps: { value: '12:35 PM', is24Hour: false },
34
36
  expects: { hour: 12, minutes: 35, seconds: null }
35
37
  });
36
38
  });
37
39
 
38
- test('should return the correct value using the AM/PM pattern - last minute of the day', () => {
39
- testOnChange({
40
+ test('should return the correct value using the AM/PM pattern - last minute of the day', async () => {
41
+ await testOnChange({
40
42
  inputProps: { value: '11:59 PM', is24Hour: false },
41
43
  expects: { hour: 23, minutes: 59, seconds: null }
42
44
  });
43
45
  });
44
46
 
45
- test('should return the correct value using the 24h pattern - midnight', () => {
46
- testOnChange({
47
+ test('should return the correct value using the 24h pattern - midnight', async () => {
48
+ await testOnChange({
47
49
  inputProps: { value: '00:00:00', is24Hour: true, includeSeconds: true },
48
50
  expects: { hour: 0, minutes: 0, seconds: 0 }
49
51
  });
50
52
  });
51
53
 
52
- test('should return the correct value using the 24h pattern - midday', () => {
53
- testOnChange({
54
+ test('should return the correct value using the 24h pattern - midday', async () => {
55
+ await testOnChange({
54
56
  inputProps: { value: '12:35', is24Hour: false },
55
57
  expects: { hour: 12, minutes: 35, seconds: null }
56
58
  });
57
59
  });
58
60
 
59
- test('should return the correct value using the 24h pattern - last minute of the day', () => {
60
- testOnChange({
61
+ test('should return the correct value using the 24h pattern - last minute of the day', async () => {
62
+ await testOnChange({
61
63
  inputProps: { value: '23:59', is24Hour: true },
62
64
  expects: { hour: 23, minutes: 59, seconds: null }
63
65
  });
@@ -75,16 +77,17 @@ describe('TimePicker', () => {
75
77
  expect(screen.getByLabelText('time picker')).not.toHaveClass('pf-m-error');
76
78
  });
77
79
 
78
- test('should stay valid after onChange', () => {
80
+ test('should stay valid after onChange', async () => {
79
81
  const validateTime = (_time: string) => {
80
82
  return true;
81
83
  };
84
+ const user = userEvent.setup();
82
85
 
83
86
  render(<TimePicker value="00:00" validateTime={validateTime} aria-label="time picker" />);
84
87
 
85
88
  const input = screen.getByLabelText('time picker');
86
89
 
87
- userEvent.type(input, '01:00');
90
+ await user.type(input, '01:00');
88
91
  expect(input).not.toHaveClass('pf-m-error');
89
92
  });
90
93
 
@@ -92,6 +95,7 @@ describe('TimePicker', () => {
92
95
  const validateTime = (_time: string) => {
93
96
  return false;
94
97
  };
98
+ const user = userEvent.setup();
95
99
 
96
100
  render(
97
101
  <>
@@ -100,10 +104,10 @@ describe('TimePicker', () => {
100
104
  </>
101
105
  );
102
106
 
103
- userEvent.type(screen.getByLabelText('time picker'), '01:00');
107
+ await user.type(screen.getByLabelText('time picker'), '01:00');
104
108
  expect(screen.queryByText('Invalid time format')).toBeNull();
105
109
 
106
- userEvent.click(screen.getByText('Other element'));
110
+ await user.click(screen.getByText('Other element'));
107
111
  expect(screen.getByText('Invalid time format')).toBeInTheDocument();
108
112
  });
109
113
  });
@@ -115,21 +119,27 @@ describe('TimePicker', () => {
115
119
  includeSeconds: true
116
120
  };
117
121
 
118
- it('should be valid still with a max value of "11:59:59 PM" by default', () => {
122
+ it('should be valid still with a max value of "11:59:59 PM" by default', async () => {
123
+ const user = userEvent.setup();
124
+
119
125
  render(<TimePicker {...baseProps} />);
120
126
 
121
- userEvent.type(screen.getByLabelText(baseProps['aria-label']), '11:59:59 PM');
127
+ await user.type(screen.getByLabelText(baseProps['aria-label']), '11:59:59 PM');
122
128
  expect(screen.queryByText('Invalid time format')).toBeNull();
123
129
  });
124
130
 
125
- it('should be valid still with a max value of "23:59:59" by default when using 24 hour time', () => {
131
+ it('should be valid still with a max value of "23:59:59" by default when using 24 hour time', async () => {
132
+ const user = userEvent.setup();
133
+
126
134
  render(<TimePicker {...baseProps} value="20:00" is24Hour />);
127
135
 
128
- userEvent.type(screen.getByLabelText(baseProps['aria-label']), '23:59:59');
136
+ await user.type(screen.getByLabelText(baseProps['aria-label']), '23:59:59');
129
137
  expect(screen.queryByText('Invalid time format')).toBeNull();
130
138
  });
131
139
 
132
- it('should be invalid with a max value of "24:00:00" by default', () => {
140
+ it('should be invalid with a max value of "24:00:00" by default', async () => {
141
+ const user = userEvent.setup();
142
+
133
143
  render(
134
144
  <>
135
145
  <div>Other element</div>
@@ -137,10 +147,10 @@ describe('TimePicker', () => {
137
147
  </>
138
148
  );
139
149
 
140
- userEvent.type(screen.getByLabelText(baseProps['aria-label']), '24:00:00');
150
+ await user.type(screen.getByLabelText(baseProps['aria-label']), '24:00:00');
141
151
  expect(screen.queryByText('Invalid time format')).toBeNull();
142
152
 
143
- userEvent.click(screen.getByText('Other element'));
153
+ await user.click(screen.getByText('Other element'));
144
154
  expect(screen.getByText('Invalid time format')).toBeInTheDocument();
145
155
  });
146
156
  });
@@ -40,12 +40,14 @@ describe('ToggleGroup', () => {
40
40
  expect(asFragment()).toMatchSnapshot();
41
41
  });
42
42
 
43
- test('item passes selection and event to onChange handler', () => {
43
+ test('item passes selection and event to onChange handler', async () => {
44
+ const user = userEvent.setup();
45
+
44
46
  render(
45
47
  <ToggleGroupItem text="test" buttonId="toggleGroupItem" onChange={props.onChange} aria-label="onChange handler" />
46
48
  );
47
49
 
48
- userEvent.click(screen.getByRole('button'));
50
+ await user.click(screen.getByRole('button'));
49
51
  expect(props.onChange).toHaveBeenCalledWith(true, expect.any(Object));
50
52
  });
51
53
 
@@ -4,7 +4,7 @@ import styles from '@patternfly/react-styles/css/components/Tooltip/tooltip';
4
4
  import { css } from '@patternfly/react-styles';
5
5
  import { TooltipContent } from './TooltipContent';
6
6
  import { TooltipArrow } from './TooltipArrow';
7
- import { KEY_CODES } from '../../helpers/constants';
7
+ import { KeyTypes } from '../../helpers/constants';
8
8
  import tooltipMaxWidth from '@patternfly/react-tokens/dist/esm/c_tooltip_MaxWidth';
9
9
  import { ReactElement } from 'react';
10
10
  import { Popper, getOpacityTransition } from '../../helpers/Popper/Popper';
@@ -209,13 +209,13 @@ export const Tooltip: React.FunctionComponent<TooltipProps> = ({
209
209
 
210
210
  const onDocumentKeyDown = (event: KeyboardEvent) => {
211
211
  if (!triggerManually) {
212
- if (event.keyCode === KEY_CODES.ESCAPE_KEY && visible) {
212
+ if (event.key === KeyTypes.Escape && visible) {
213
213
  hide();
214
214
  }
215
215
  }
216
216
  };
217
217
  const onTriggerEnter = (event: KeyboardEvent) => {
218
- if (event.keyCode === KEY_CODES.ENTER) {
218
+ if (event.key === KeyTypes.Enter) {
219
219
  if (!visible) {
220
220
  show();
221
221
  } else {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { KEY_CODES } from '../../helpers/constants';
2
+ import { KeyTypes } from '../../helpers/constants';
3
3
  import { css } from '@patternfly/react-styles';
4
4
  import styles from '@patternfly/react-styles/css/components/Wizard/wizard';
5
5
  import { Modal, ModalVariant } from '../Modal';
@@ -178,7 +178,7 @@ export class Wizard extends React.Component<WizardProps, WizardState> {
178
178
  }
179
179
 
180
180
  private handleKeyClicks = (event: KeyboardEvent): void => {
181
- if (event.keyCode === KEY_CODES.ESCAPE_KEY) {
181
+ if (event.key === KeyTypes.Escape) {
182
182
  if (this.state.isNavOpen) {
183
183
  this.setState({ isNavOpen: !this.state.isNavOpen });
184
184
  } else if (this.props.isOpen) {
@@ -223,13 +223,14 @@ describe('Wizard', () => {
223
223
  expect(main).toHaveAttribute('aria-labelledby', 'main-aria-labelledby');
224
224
  });
225
225
 
226
- test('wiz with onCurrentStepChanged setter', () => {
226
+ test('wiz with onCurrentStepChanged setter', async () => {
227
227
  const stepA = { name: 'A', component: <p>Step 1</p> };
228
228
  const stepB = { name: 'B', component: <p>Step 2</p> };
229
229
  const stepC = { name: 'C', component: <p>Step 3</p> };
230
230
 
231
231
  const steps: WizardStep[] = [ stepA, stepB, stepC ];
232
232
  const setter = jest.fn();
233
+ const user = userEvent.setup();
233
234
 
234
235
  render(
235
236
  <Wizard
@@ -239,15 +240,15 @@ describe('Wizard', () => {
239
240
  />
240
241
  );
241
242
  expect(setter).toHaveBeenLastCalledWith(expect.objectContaining(stepA));
242
- userEvent.click(screen.getByText(/next/i));
243
+ await user.click(screen.getByText(/next/i));
243
244
  expect(setter).toHaveBeenLastCalledWith(expect.objectContaining(stepB));
244
- userEvent.click(screen.getByText(/next/i));
245
+ await user.click(screen.getByText(/next/i));
245
246
  expect(setter).toHaveBeenLastCalledWith(expect.objectContaining(stepC));
246
- userEvent.click(screen.getByText('A'));
247
+ await user.click(screen.getByText('A'));
247
248
  expect(setter).toHaveBeenLastCalledWith(expect.objectContaining(stepA));
248
- userEvent.click(screen.getByText(/next/i));
249
+ await user.click(screen.getByText(/next/i));
249
250
  expect(setter).toHaveBeenLastCalledWith(expect.objectContaining(stepB));
250
- userEvent.click(screen.getByText(/back/i));
251
+ await user.click(screen.getByText(/back/i));
251
252
  expect(setter).toHaveBeenLastCalledWith(expect.objectContaining(stepA));
252
253
  });
253
254
  });
@@ -274,14 +275,15 @@ describe('Wizard', () => {
274
275
  expect(screen.getByRole('button',{ name: "E" })).toBeDisabled();
275
276
  });
276
277
 
277
- test('wiz skip the step disabled when press the next/back button', () => {
278
+ test('wiz skip the step disabled when press the next/back button', async () => {
278
279
  const steps: WizardStep[] = [
279
280
  { name: 'A', component: <p>Step 1</p>},
280
281
  { name: 'B', component: <p>Step 2</p>, isDisabled: true },
281
282
  { name: 'C', component: <p>Step 3</p>},
282
283
 
283
284
  ];
284
-
285
+ const user = userEvent.setup();
286
+
285
287
  render(
286
288
  <Wizard
287
289
  navAriaLabel="nav aria-label"
@@ -290,19 +292,20 @@ describe('Wizard', () => {
290
292
  />
291
293
  );
292
294
 
293
- userEvent.click(screen.getByRole('button', { name: 'Next' }));
295
+ await user.click(screen.getByRole('button', { name: 'Next' }));
294
296
  expect(screen.getByRole('button',{ name: "C" })).toHaveClass('pf-m-current')
295
297
 
296
- userEvent.click(screen.getByRole('button', { name: 'Back' }));
298
+ await user.click(screen.getByRole('button', { name: 'Back' }));
297
299
  expect(screen.getByRole('button',{ name: "A" })).toHaveClass('pf-m-current')
298
300
  });
299
301
 
300
- test('wiz skip the step when click on the nav item disabled', () => {
302
+ test('wiz skip the step when click on the nav item disabled', async () => {
301
303
  const steps: WizardStep[] = [
302
304
  { name: 'A', component: <p>Step 1</p>},
303
305
  { name: 'B', component: <p>Step 2</p>, isDisabled: true },
304
306
  { name: 'C', component: <p>Step 3</p>}
305
307
  ];
308
+ const user = userEvent.setup();
306
309
 
307
310
  render(
308
311
  <Wizard
@@ -315,7 +318,7 @@ describe('Wizard', () => {
315
318
  const navItemButton = screen.getByRole('button',{ name: "B" })
316
319
  const navItemButtonSelected = screen.getByRole('button',{ name: "A" })
317
320
 
318
- userEvent.click(navItemButton);
321
+ await user.click(navItemButton);
319
322
 
320
323
  expect(navItemButton).not.toHaveClass('pf-m-current')
321
324
  expect(navItemButtonSelected).toHaveClass('pf-m-current')
@@ -343,7 +346,7 @@ describe('Wizard', () => {
343
346
  expect(screen.getByRole('button',{ name: "A-2" })).toBeDisabled();
344
347
  });
345
348
 
346
- test('startAtStep can be used to externally control the current step of the wizard', () => {
349
+ test('startAtStep can be used to externally control the current step of the wizard', async () => {
347
350
  const WizardTest = () => {
348
351
  const [step, setStep] = React.useState(1);
349
352
 
@@ -364,12 +367,13 @@ test('startAtStep can be used to externally control the current step of the wiza
364
367
  </>
365
368
  );
366
369
  };
370
+ const user = userEvent.setup();
367
371
 
368
372
  render(<WizardTest />);
369
373
 
370
374
  expect(screen.queryByText('Step 2')).not.toBeInTheDocument();
371
375
 
372
- userEvent.click(screen.getByRole('button', { name: 'Increment step'}))
376
+ await user.click(screen.getByRole('button', { name: 'Increment step'}))
373
377
 
374
378
  expect(screen.getByText('Step 2')).toBeVisible();
375
379
  });
@@ -1264,7 +1264,7 @@ class PrimaryDetailCardView extends React.Component {
1264
1264
  return;
1265
1265
  }
1266
1266
 
1267
- if ([13, 32].includes(event.keyCode)) {
1267
+ if (['Enter', ' '].includes(event.key)) {
1268
1268
  if (event.currentTarget.id === this.state.activeCard) {
1269
1269
  this.setState({
1270
1270
  isDrawerExpanded: !this.state.isDrawerExpanded,
@@ -202,7 +202,8 @@ describe('Wizard', () => {
202
202
  expect(wizard).toHaveStyle('width: 500px');
203
203
  });
204
204
 
205
- it('calls onNavByIndex on nav item click', () => {
205
+ it('calls onNavByIndex on nav item click', async () => {
206
+ const user = userEvent.setup();
206
207
  const onNavByIndex = jest.fn();
207
208
 
208
209
  render(
@@ -212,11 +213,12 @@ describe('Wizard', () => {
212
213
  </Wizard>
213
214
  );
214
215
 
215
- userEvent.click(screen.getByRole('button', { name: 'Test step 2' }));
216
+ await user.click(screen.getByRole('button', { name: 'Test step 2' }));
216
217
  expect(onNavByIndex).toHaveBeenCalled();
217
218
  });
218
219
 
219
- it('calls onNext and not onSave on next button click when not on the last step', () => {
220
+ it('calls onNext and not onSave on next button click when not on the last step', async () => {
221
+ const user = userEvent.setup();
220
222
  const onNext = jest.fn();
221
223
  const onSave = jest.fn();
222
224
 
@@ -227,13 +229,14 @@ describe('Wizard', () => {
227
229
  </Wizard>
228
230
  );
229
231
 
230
- userEvent.click(screen.getByRole('button', { name: 'Next' }));
232
+ await user.click(screen.getByRole('button', { name: 'Next' }));
231
233
 
232
234
  expect(onNext).toHaveBeenCalled();
233
235
  expect(onSave).not.toHaveBeenCalled();
234
236
  });
235
237
 
236
- it('calls onBack on back button click', () => {
238
+ it('calls onBack on back button click', async () => {
239
+ const user = userEvent.setup();
237
240
  const onBack = jest.fn();
238
241
 
239
242
  render(
@@ -243,13 +246,14 @@ describe('Wizard', () => {
243
246
  </Wizard>
244
247
  );
245
248
 
246
- userEvent.click(screen.getByRole('button', { name: 'Test step 2' }));
247
- userEvent.click(screen.getByRole('button', { name: 'Back' }));
249
+ await user.click(screen.getByRole('button', { name: 'Test step 2' }));
250
+ await user.click(screen.getByRole('button', { name: 'Back' }));
248
251
 
249
252
  expect(onBack).toHaveBeenCalled();
250
253
  });
251
254
 
252
- it('calls onSave and not onClose on next button click when on the last step', () => {
255
+ it('calls onSave and not onClose on next button click when on the last step', async () => {
256
+ const user = userEvent.setup();
253
257
  const onSave = jest.fn();
254
258
  const onClose = jest.fn();
255
259
 
@@ -260,14 +264,15 @@ describe('Wizard', () => {
260
264
  </Wizard>
261
265
  );
262
266
 
263
- userEvent.click(screen.getByRole('button', { name: 'Test step 2' }));
264
- userEvent.click(screen.getByRole('button', { name: 'Next' }));
267
+ await user.click(screen.getByRole('button', { name: 'Test step 2' }));
268
+ await user.click(screen.getByRole('button', { name: 'Next' }));
265
269
 
266
270
  expect(onSave).toHaveBeenCalled();
267
271
  expect(onClose).not.toHaveBeenCalled();
268
272
  });
269
273
 
270
- it('calls onClose when onSave is not specified on next button click when on the last step', () => {
274
+ it('calls onClose when onSave is not specified on next button click when on the last step', async () => {
275
+ const user = userEvent.setup();
271
276
  const onClose = jest.fn();
272
277
 
273
278
  render(
@@ -277,13 +282,14 @@ describe('Wizard', () => {
277
282
  </Wizard>
278
283
  );
279
284
 
280
- userEvent.click(screen.getByRole('button', { name: 'Test step 2' }));
281
- userEvent.click(screen.getByRole('button', { name: 'Next' }));
285
+ await user.click(screen.getByRole('button', { name: 'Test step 2' }));
286
+ await user.click(screen.getByRole('button', { name: 'Next' }));
282
287
 
283
288
  expect(onClose).toHaveBeenCalled();
284
289
  });
285
290
 
286
- it('calls onClose on cancel link click', () => {
291
+ it('calls onClose on cancel link click', async () => {
292
+ const user = userEvent.setup();
287
293
  const onClose = jest.fn();
288
294
 
289
295
  render(
@@ -292,7 +298,7 @@ describe('Wizard', () => {
292
298
  </Wizard>
293
299
  );
294
300
 
295
- userEvent.click(screen.getByRole('button', { name: 'Cancel' }));
301
+ await user.click(screen.getByRole('button', { name: 'Cancel' }));
296
302
  expect(onClose).toHaveBeenCalled();
297
303
  });
298
304
  });