@dhis2-ui/menu 9.10.0 → 9.10.2

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.
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _input = require("@dhis2-ui/input");
4
+
3
5
  var _react = require("@testing-library/react");
4
6
 
5
7
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
@@ -231,4 +233,32 @@ describe('Menu Component', () => {
231
233
 
232
234
  expect(plainListItem.parentElement).not.toHaveFocus();
233
235
  });
236
+ it('does not hijack input change value if space entered [bug]', () => {
237
+ const onChange = jest.fn();
238
+ const {
239
+ getByPlaceholderText
240
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_menu.Menu, {
241
+ dataTest: menuDataTest,
242
+ dense: false
243
+ }, /*#__PURE__*/_react2.default.createElement(_menuItem.MenuItem, {
244
+ value: "myValue",
245
+ label: "Click menu item"
246
+ }), /*#__PURE__*/_react2.default.createElement(_input.Input, {
247
+ onChange: onChange,
248
+ placeholder: "test"
249
+ })));
250
+ const inputField = getByPlaceholderText('test');
251
+ inputField.focus();
252
+
253
+ _userEvent.default.keyboard('t');
254
+
255
+ _userEvent.default.keyboard('e');
256
+
257
+ _userEvent.default.keyboard(' ');
258
+
259
+ _userEvent.default.keyboard('st');
260
+
261
+ expect(inputField.value).toBe('te st');
262
+ expect(onChange).toHaveBeenCalled();
263
+ });
234
264
  });
@@ -52,10 +52,11 @@ const useMenuNavigation = children => {
52
52
 
53
53
  case 'Enter':
54
54
  case ' ':
55
- event.preventDefault();
56
-
57
55
  if (event.target.nodeName === 'LI') {
58
- event.target.children[0].click();
56
+ var _event$target$childre, _event$target$childre2;
57
+
58
+ event.preventDefault();
59
+ (_event$target$childre = event.target.children) === null || _event$target$childre === void 0 ? void 0 : (_event$target$childre2 = _event$target$childre[0]) === null || _event$target$childre2 === void 0 ? void 0 : _event$target$childre2.click();
59
60
  }
60
61
 
61
62
  break;
@@ -1,3 +1,4 @@
1
+ import { Input } from '@dhis2-ui/input';
1
2
  import { render } from '@testing-library/react';
2
3
  import userEvent from '@testing-library/user-event';
3
4
  import { mount } from 'enzyme';
@@ -193,4 +194,27 @@ describe('Menu Component', () => {
193
194
 
194
195
  expect(plainListItem.parentElement).not.toHaveFocus();
195
196
  });
197
+ it('does not hijack input change value if space entered [bug]', () => {
198
+ const onChange = jest.fn();
199
+ const {
200
+ getByPlaceholderText
201
+ } = render( /*#__PURE__*/React.createElement(Menu, {
202
+ dataTest: menuDataTest,
203
+ dense: false
204
+ }, /*#__PURE__*/React.createElement(MenuItem, {
205
+ value: "myValue",
206
+ label: "Click menu item"
207
+ }), /*#__PURE__*/React.createElement(Input, {
208
+ onChange: onChange,
209
+ placeholder: "test"
210
+ })));
211
+ const inputField = getByPlaceholderText('test');
212
+ inputField.focus();
213
+ userEvent.keyboard('t');
214
+ userEvent.keyboard('e');
215
+ userEvent.keyboard(' ');
216
+ userEvent.keyboard('st');
217
+ expect(inputField.value).toBe('te st');
218
+ expect(onChange).toHaveBeenCalled();
219
+ });
196
220
  });
@@ -43,10 +43,11 @@ export const useMenuNavigation = children => {
43
43
 
44
44
  case 'Enter':
45
45
  case ' ':
46
- event.preventDefault();
47
-
48
46
  if (event.target.nodeName === 'LI') {
49
- event.target.children[0].click();
47
+ var _event$target$childre, _event$target$childre2;
48
+
49
+ event.preventDefault();
50
+ (_event$target$childre = event.target.children) === null || _event$target$childre === void 0 ? void 0 : (_event$target$childre2 = _event$target$childre[0]) === null || _event$target$childre2 === void 0 ? void 0 : _event$target$childre2.click();
50
51
  }
51
52
 
52
53
  break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dhis2-ui/menu",
3
- "version": "9.10.0",
3
+ "version": "9.10.2",
4
4
  "description": "UI Menu",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,13 +33,13 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@dhis2/prop-types": "^3.1.2",
36
- "@dhis2-ui/card": "9.10.0",
37
- "@dhis2-ui/divider": "9.10.0",
38
- "@dhis2-ui/layer": "9.10.0",
39
- "@dhis2-ui/popper": "9.10.0",
40
- "@dhis2-ui/portal": "9.10.0",
41
- "@dhis2/ui-constants": "9.10.0",
42
- "@dhis2/ui-icons": "9.10.0",
36
+ "@dhis2-ui/card": "9.10.2",
37
+ "@dhis2-ui/divider": "9.10.2",
38
+ "@dhis2-ui/layer": "9.10.2",
39
+ "@dhis2-ui/popper": "9.10.2",
40
+ "@dhis2-ui/portal": "9.10.2",
41
+ "@dhis2/ui-constants": "9.10.2",
42
+ "@dhis2/ui-icons": "9.10.2",
43
43
  "classnames": "^2.3.1",
44
44
  "prop-types": "^15.7.2"
45
45
  },
package/types/index.d.ts CHANGED
@@ -80,7 +80,7 @@ export interface MenuItemProps {
80
80
  /**
81
81
  * A supporting element shown at the end of the menu item
82
82
  */
83
- suffix: React.ReactNode
83
+ suffix?: React.ReactNode
84
84
  tabIndex?: number
85
85
  /**
86
86
  * For using menu item as a link