@instructure/ui-menu 10.26.1-snapshot-2 → 10.26.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +5 -18
  2. package/es/Menu/MenuItem/index.js +6 -6
  3. package/es/Menu/MenuItem/props.js +21 -1
  4. package/es/Menu/MenuItemGroup/index.js +6 -6
  5. package/es/Menu/MenuItemGroup/props.js +18 -1
  6. package/es/Menu/MenuItemSeparator/index.js +6 -6
  7. package/es/Menu/MenuItemSeparator/props.js +2 -1
  8. package/es/Menu/index.js +6 -7
  9. package/es/Menu/props.js +34 -1
  10. package/lib/Menu/MenuItem/index.js +5 -5
  11. package/lib/Menu/MenuItem/props.js +22 -1
  12. package/lib/Menu/MenuItemGroup/index.js +5 -5
  13. package/lib/Menu/MenuItemGroup/props.js +20 -1
  14. package/lib/Menu/MenuItemSeparator/index.js +5 -5
  15. package/lib/Menu/MenuItemSeparator/props.js +2 -1
  16. package/lib/Menu/index.js +5 -6
  17. package/lib/Menu/props.js +36 -1
  18. package/package.json +22 -19
  19. package/src/Menu/MenuItem/index.tsx +4 -2
  20. package/src/Menu/MenuItem/props.ts +24 -1
  21. package/src/Menu/MenuItemGroup/index.tsx +4 -2
  22. package/src/Menu/MenuItemGroup/props.ts +24 -1
  23. package/src/Menu/MenuItemSeparator/index.tsx +4 -2
  24. package/src/Menu/MenuItemSeparator/props.ts +4 -1
  25. package/src/Menu/index.tsx +5 -4
  26. package/src/Menu/props.ts +50 -2
  27. package/tsconfig.build.json +2 -0
  28. package/tsconfig.build.tsbuildinfo +1 -1
  29. package/types/Menu/MenuItem/index.d.ts +19 -1
  30. package/types/Menu/MenuItem/index.d.ts.map +1 -1
  31. package/types/Menu/MenuItem/props.d.ts +3 -2
  32. package/types/Menu/MenuItem/props.d.ts.map +1 -1
  33. package/types/Menu/MenuItemGroup/index.d.ts +13 -0
  34. package/types/Menu/MenuItemGroup/index.d.ts.map +1 -1
  35. package/types/Menu/MenuItemGroup/props.d.ts +3 -2
  36. package/types/Menu/MenuItemGroup/props.d.ts.map +1 -1
  37. package/types/Menu/MenuItemSeparator/index.d.ts +1 -0
  38. package/types/Menu/MenuItemSeparator/index.d.ts.map +1 -1
  39. package/types/Menu/MenuItemSeparator/props.d.ts +3 -2
  40. package/types/Menu/MenuItemSeparator/props.d.ts.map +1 -1
  41. package/types/Menu/index.d.ts +30 -0
  42. package/types/Menu/index.d.ts.map +1 -1
  43. package/types/Menu/props.d.ts +3 -2
  44. package/types/Menu/props.d.ts.map +1 -1
package/CHANGELOG.md CHANGED
@@ -3,30 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [10.26.1-snapshot-2](https://github.com/instructure/instructure-ui/compare/v10.26.0...v10.26.1-snapshot-2) (2025-10-06)
6
+ ## [10.26.2](https://github.com/instructure/instructure-ui/compare/v10.26.1...v10.26.2) (2025-10-13)
7
7
 
8
+ **Note:** Version bump only for package @instructure/ui-menu
8
9
 
9
- ### Features
10
10
 
11
- * **many:** instUI v11 release ([36f5438](https://github.com/instructure/instructure-ui/commit/36f54382669186227ba24798bbf7201ef2f5cd4c))
12
11
 
13
12
 
14
- ### BREAKING CHANGES
15
13
 
16
- * **many:** InstUI v11 contains the following breaking changes:
17
- - React 16 and 17 are no longer supported
18
- - remove `PropTypes` from all packages
19
- - remove `CodeEditor` component
20
- - remove `@instui/theme-registry` package
21
- - remove `@testable`, `@experimental`, `@hack` decorators
22
- - InstUISettingsProvider's `as` prop is removed
23
- - `canvas.use()`, `canvasHighContrast.use()` functions are removed
24
- - `canvasThemeLocal`, `canvasHighContrastThemeLocal` are removed
25
- - `variables` field on theme objects are removed
26
- - remove deprecated props from Table: Row's `isStacked`, Body's
27
- `isStacked`, `hover`, and `headers`
28
- - `Table`'s `caption` prop is now required
29
- - `ui-dom-utils`'s `getComputedStyle` can now return `undefined`
14
+ ## [10.26.1](https://github.com/instructure/instructure-ui/compare/v10.26.0...v10.26.1) (2025-10-06)
15
+
16
+ **Note:** Version bump only for package @instructure/ui-menu
30
17
 
31
18
 
32
19
 
@@ -1,4 +1,4 @@
1
- var _dec, _dec2, _class, _MenuItem, _IconCheckSolid, _IconArrowOpenEndSoli;
1
+ var _dec, _dec2, _dec3, _class, _MenuItem, _IconCheckSolid, _IconArrowOpenEndSoli;
2
2
  /*
3
3
  * The MIT License (MIT)
4
4
  *
@@ -29,11 +29,12 @@ import { IconCheckSolid, IconArrowOpenEndSolid } from '@instructure/ui-icons';
29
29
  import { omitProps, getElementType, withDeterministicId, callRenderProp } from '@instructure/ui-react-utils';
30
30
  import { createChainedFunction } from '@instructure/ui-utils';
31
31
  import { isActiveElement, findDOMNode } from '@instructure/ui-dom-utils';
32
+ import { testable } from '@instructure/ui-testable';
32
33
  import { withStyle } from '@instructure/emotion';
33
34
  import { MenuContext } from '../../MenuContext';
34
35
  import generateStyle from './styles';
35
36
  import generateComponentTheme from './theme';
36
- import { allowedProps } from './props';
37
+ import { propTypes, allowedProps } from './props';
37
38
  import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
38
39
  /**
39
40
  ---
@@ -41,7 +42,7 @@ parent: Menu
41
42
  id: Menu.Item
42
43
  ---
43
44
  **/
44
- let MenuItem = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle, generateComponentTheme), _dec(_class = _dec2(_class = (_MenuItem = class MenuItem extends Component {
45
+ let MenuItem = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle, generateComponentTheme), _dec3 = testable(), _dec(_class = _dec2(_class = _dec3(_class = (_MenuItem = class MenuItem extends Component {
45
46
  constructor(props) {
46
47
  super(props);
47
48
  this.labelId = void 0;
@@ -209,13 +210,12 @@ let MenuItem = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle, g
209
210
  ref: this.handleRef,
210
211
  css: (_this$props$styles5 = this.props.styles) === null || _this$props$styles5 === void 0 ? void 0 : _this$props$styles5.menuItem,
211
212
  onMouseOver: this.handleMouseOver,
212
- "data-cid": "MenuItem",
213
213
  children: this.renderContent()
214
214
  });
215
215
  }
216
- }, _MenuItem.displayName = "MenuItem", _MenuItem.componentId = 'Menu.Item', _MenuItem.allowedProps = allowedProps, _MenuItem.defaultProps = {
216
+ }, _MenuItem.displayName = "MenuItem", _MenuItem.componentId = 'Menu.Item', _MenuItem.propTypes = propTypes, _MenuItem.allowedProps = allowedProps, _MenuItem.defaultProps = {
217
217
  type: 'button',
218
218
  disabled: false
219
- }, _MenuItem.contextType = MenuContext, _MenuItem)) || _class) || _class);
219
+ }, _MenuItem.contextType = MenuContext, _MenuItem)) || _class) || _class) || _class);
220
220
  export default MenuItem;
221
221
  export { MenuItem };
@@ -22,5 +22,25 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
+ import PropTypes from 'prop-types';
26
+ import { controllable } from '@instructure/ui-prop-types';
27
+ const propTypes = {
28
+ children: PropTypes.node.isRequired,
29
+ defaultSelected: PropTypes.bool,
30
+ selected: controllable(PropTypes.bool, 'onSelect', 'defaultSelected'),
31
+ onSelect: PropTypes.func,
32
+ onClick: PropTypes.func,
33
+ onKeyDown: PropTypes.func,
34
+ onKeyUp: PropTypes.func,
35
+ onMouseOver: PropTypes.func,
36
+ controls: PropTypes.string,
37
+ disabled: PropTypes.bool,
38
+ as: PropTypes.elementType,
39
+ type: PropTypes.oneOf(['button', 'checkbox', 'radio', 'flyout']),
40
+ value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
41
+ href: PropTypes.string,
42
+ target: PropTypes.string,
43
+ renderLabelInfo: PropTypes.node
44
+ };
25
45
  const allowedProps = ['children', 'defaultSelected', 'selected', 'onSelect', 'onClick', 'onKeyDown', 'onKeyUp', 'onMouseOver', 'controls', 'disabled', 'as', 'type', 'value', 'href', 'target', 'renderLabelInfo'];
26
- export { allowedProps };
46
+ export { propTypes, allowedProps };
@@ -1,4 +1,4 @@
1
- var _dec, _dec2, _class, _MenuItemGroup;
1
+ var _dec, _dec2, _dec3, _class, _MenuItemGroup;
2
2
  /*
3
3
  * The MIT License (MIT)
4
4
  *
@@ -27,10 +27,11 @@ import { Children, Component } from 'react';
27
27
  import { withStyle } from '@instructure/emotion';
28
28
  import { omitProps, safeCloneElement, matchComponentTypes, withDeterministicId } from '@instructure/ui-react-utils';
29
29
  import { hasVisibleChildren } from '@instructure/ui-a11y-utils';
30
+ import { testable } from '@instructure/ui-testable';
30
31
  import { MenuItem } from '../MenuItem';
31
32
  import generateStyle from './styles';
32
33
  import generateComponentTheme from './theme';
33
- import { allowedProps } from './props';
34
+ import { propTypes, allowedProps } from './props';
34
35
  import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
35
36
  /**
36
37
  ---
@@ -38,7 +39,7 @@ parent: Menu
38
39
  id: Menu.Group
39
40
  ---
40
41
  **/
41
- let MenuItemGroup = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle, generateComponentTheme), _dec(_class = _dec2(_class = (_MenuItemGroup = class MenuItemGroup extends Component {
42
+ let MenuItemGroup = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle, generateComponentTheme), _dec3 = testable(), _dec(_class = _dec2(_class = _dec3(_class = (_MenuItemGroup = class MenuItemGroup extends Component {
42
43
  constructor(props) {
43
44
  super(props);
44
45
  this.ref = null;
@@ -157,7 +158,6 @@ let MenuItemGroup = (_dec = withDeterministicId(), _dec2 = withStyle(generateSty
157
158
  ...props,
158
159
  css: (_this$props$styles2 = this.props.styles) === null || _this$props$styles2 === void 0 ? void 0 : _this$props$styles2.menuItemGroup,
159
160
  ref: this.handleRef,
160
- "data-cid": "MenuItemGroup",
161
161
  children: [this.renderLabel(), _jsx("div", {
162
162
  css: (_this$props$styles3 = this.props.styles) === null || _this$props$styles3 === void 0 ? void 0 : _this$props$styles3.items,
163
163
  "aria-disabled": this.props.disabled ? 'true' : void 0,
@@ -165,12 +165,12 @@ let MenuItemGroup = (_dec = withDeterministicId(), _dec2 = withStyle(generateSty
165
165
  })]
166
166
  });
167
167
  }
168
- }, _MenuItemGroup.displayName = "MenuItemGroup", _MenuItemGroup.componentId = 'Menu.Group', _MenuItemGroup.allowedProps = allowedProps, _MenuItemGroup.defaultProps = {
168
+ }, _MenuItemGroup.displayName = "MenuItemGroup", _MenuItemGroup.componentId = 'Menu.Group', _MenuItemGroup.propTypes = propTypes, _MenuItemGroup.allowedProps = allowedProps, _MenuItemGroup.defaultProps = {
169
169
  disabled: false,
170
170
  children: null,
171
171
  isTabbable: false,
172
172
  allowMultiple: false,
173
173
  defaultSelected: []
174
- }, _MenuItemGroup)) || _class) || _class);
174
+ }, _MenuItemGroup)) || _class) || _class) || _class);
175
175
  export default MenuItemGroup;
176
176
  export { MenuItemGroup };
@@ -22,5 +22,22 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
+ import PropTypes from 'prop-types';
26
+ import { controllable, Children as ChildrenPropTypes } from '@instructure/ui-prop-types';
27
+ import { MenuItem } from '../MenuItem';
28
+ import { MenuItemSeparator } from '../MenuItemSeparator';
29
+ const propTypes = {
30
+ label: PropTypes.node.isRequired,
31
+ allowMultiple: PropTypes.bool,
32
+ children: ChildrenPropTypes.oneOf([MenuItem, MenuItemSeparator]),
33
+ selected: controllable(PropTypes.array, 'onSelect', 'defaultSelected'),
34
+ defaultSelected: PropTypes.array,
35
+ onSelect: PropTypes.func,
36
+ onMouseOver: PropTypes.func,
37
+ controls: PropTypes.string,
38
+ itemRef: PropTypes.func,
39
+ disabled: PropTypes.bool,
40
+ isTabbable: PropTypes.bool
41
+ };
25
42
  const allowedProps = ['label', 'allowMultiple', 'children', 'selected', 'defaultSelected', 'onSelect', 'onMouseOver', 'controls', 'itemRef', 'disabled', 'isTabbable'];
26
- export { allowedProps };
43
+ export { propTypes, allowedProps };
@@ -1,4 +1,4 @@
1
- var _dec, _class, _MenuItemSeparator;
1
+ var _dec, _dec2, _class, _MenuItemSeparator;
2
2
  /*
3
3
  * The MIT License (MIT)
4
4
  *
@@ -25,10 +25,11 @@ var _dec, _class, _MenuItemSeparator;
25
25
 
26
26
  import { Component } from 'react';
27
27
  import { withStyle } from '@instructure/emotion';
28
+ import { testable } from '@instructure/ui-testable';
28
29
  import { omitProps } from '@instructure/ui-react-utils';
29
30
  import generateStyle from './styles';
30
31
  import generateComponentTheme from './theme';
31
- import { allowedProps } from './props';
32
+ import { propTypes, allowedProps } from './props';
32
33
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
33
34
  /**
34
35
  ---
@@ -37,7 +38,7 @@ id: Menu.Separator
37
38
  ---
38
39
  @module MenuItemSeparator
39
40
  **/
40
- let MenuItemSeparator = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class = (_MenuItemSeparator = class MenuItemSeparator extends Component {
41
+ let MenuItemSeparator = (_dec = withStyle(generateStyle, generateComponentTheme), _dec2 = testable(), _dec(_class = _dec2(_class = (_MenuItemSeparator = class MenuItemSeparator extends Component {
41
42
  constructor(...args) {
42
43
  super(...args);
43
44
  this.ref = null;
@@ -62,10 +63,9 @@ let MenuItemSeparator = (_dec = withStyle(generateStyle, generateComponentTheme)
62
63
  ...props,
63
64
  role: "presentation",
64
65
  css: (_this$props$styles = this.props.styles) === null || _this$props$styles === void 0 ? void 0 : _this$props$styles.menuItemSeparator,
65
- ref: this.handleRef,
66
- "data-cid": "MenuItemSeparator"
66
+ ref: this.handleRef
67
67
  });
68
68
  }
69
- }, _MenuItemSeparator.displayName = "MenuItemSeparator", _MenuItemSeparator.componentId = 'Menu.Separator', _MenuItemSeparator.allowedProps = allowedProps, _MenuItemSeparator)) || _class);
69
+ }, _MenuItemSeparator.displayName = "MenuItemSeparator", _MenuItemSeparator.componentId = 'Menu.Separator', _MenuItemSeparator.propTypes = propTypes, _MenuItemSeparator.allowedProps = allowedProps, _MenuItemSeparator)) || _class) || _class);
70
70
  export default MenuItemSeparator;
71
71
  export { MenuItemSeparator };
@@ -25,5 +25,6 @@
25
25
  // keeping here to keep the structure of props.ts
26
26
  // eslint-disable-next-line
27
27
 
28
+ const propTypes = {};
28
29
  const allowedProps = [];
29
- export { allowedProps };
30
+ export { propTypes, allowedProps };
package/es/Menu/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var _dec, _dec2, _class, _Menu;
1
+ var _dec, _dec2, _dec3, _class, _Menu;
2
2
  /*
3
3
  * The MIT License (MIT)
4
4
  *
@@ -29,6 +29,7 @@ import { Popover } from '@instructure/ui-popover';
29
29
  import { safeCloneElement, matchComponentTypes, withDeterministicId } from '@instructure/ui-react-utils';
30
30
  import { logError as error } from '@instructure/console';
31
31
  import { containsActiveElement } from '@instructure/ui-dom-utils';
32
+ import { testable } from '@instructure/ui-testable';
32
33
  import { MenuContext } from '../MenuContext';
33
34
  import { MenuItem } from './MenuItem';
34
35
  import { MenuItemGroup } from './MenuItemGroup';
@@ -36,14 +37,14 @@ import { MenuItemSeparator } from './MenuItemSeparator';
36
37
  import { withStyle } from '@instructure/emotion';
37
38
  import generateStyle from './styles';
38
39
  import generateComponentTheme from './theme';
39
- import { allowedProps } from './props';
40
+ import { propTypes, allowedProps } from './props';
40
41
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
41
42
  /**
42
43
  ---
43
44
  category: components
44
45
  ---
45
46
  **/
46
- let Menu = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle, generateComponentTheme), _dec(_class = _dec2(_class = (_Menu = class Menu extends Component {
47
+ let Menu = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle, generateComponentTheme), _dec3 = testable(), _dec(_class = _dec2(_class = _dec3(_class = (_Menu = class Menu extends Component {
47
48
  constructor(props) {
48
49
  super(props);
49
50
  this.state = {
@@ -316,7 +317,6 @@ let Menu = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle, gener
316
317
  onKeyDown: this.handleMenuKeyDown,
317
318
  onKeyUp: onKeyUp,
318
319
  ref: this.handleRef,
319
- "data-cid": "Menu",
320
320
  children: this.renderChildren()
321
321
  })
322
322
  });
@@ -338,7 +338,6 @@ let Menu = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle, gener
338
338
  offsetX = _this$props5.offsetX,
339
339
  offsetY = _this$props5.offsetY;
340
340
  return trigger ? _jsx(Popover, {
341
- "data-cid": "Menu",
342
341
  isShowingContent: show,
343
342
  defaultIsShowingContent: defaultShow,
344
343
  onHideContent: (event, {
@@ -388,7 +387,7 @@ let Menu = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle, gener
388
387
  children: this.renderMenu()
389
388
  }) : this.renderMenu();
390
389
  }
391
- }, _Menu.displayName = "Menu", _Menu.componentId = 'Menu', _Menu.allowedProps = allowedProps, _Menu.defaultProps = {
390
+ }, _Menu.displayName = "Menu", _Menu.componentId = 'Menu', _Menu.propTypes = propTypes, _Menu.allowedProps = allowedProps, _Menu.defaultProps = {
392
391
  label: null,
393
392
  disabled: false,
394
393
  trigger: null,
@@ -401,6 +400,6 @@ let Menu = (_dec = withDeterministicId(), _dec2 = withStyle(generateStyle, gener
401
400
  withArrow: true,
402
401
  offsetX: 0,
403
402
  offsetY: 0
404
- }, _Menu.Item = MenuItem, _Menu.Group = MenuItemGroup, _Menu.Separator = MenuItemSeparator, _Menu.contextType = MenuContext, _Menu)) || _class) || _class);
403
+ }, _Menu.Item = MenuItem, _Menu.Group = MenuItemGroup, _Menu.Separator = MenuItemSeparator, _Menu.contextType = MenuContext, _Menu)) || _class) || _class) || _class);
405
404
  export default Menu;
406
405
  export { Menu, MenuItem, MenuItemGroup, MenuItemSeparator };
package/es/Menu/props.js CHANGED
@@ -22,5 +22,38 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
+ import PropTypes from 'prop-types';
26
+ import { PositionPropTypes } from '@instructure/ui-position';
27
+ import { controllable, Children as ChildrenPropTypes } from '@instructure/ui-prop-types';
28
+ const propTypes = {
29
+ children: ChildrenPropTypes.oneOf(['MenuItem', 'MenuItemGroup', 'MenuItemSeparator', 'Menu']),
30
+ label: PropTypes.string,
31
+ disabled: PropTypes.bool,
32
+ trigger: PropTypes.node,
33
+ placement: PositionPropTypes.placement,
34
+ defaultShow: PropTypes.bool,
35
+ show: controllable(PropTypes.bool, 'onToggle', 'defaultShow'),
36
+ onToggle: PropTypes.func,
37
+ onSelect: PropTypes.func,
38
+ onDismiss: PropTypes.func,
39
+ onFocus: PropTypes.func,
40
+ onMouseOver: PropTypes.func,
41
+ onKeyDown: PropTypes.func,
42
+ onKeyUp: PropTypes.func,
43
+ menuRef: PropTypes.func,
44
+ popoverRef: PropTypes.func,
45
+ mountNode: PositionPropTypes.mountNode,
46
+ constrain: PositionPropTypes.constrain,
47
+ shouldHideOnSelect: PropTypes.bool,
48
+ shouldFocusTriggerOnClose: PropTypes.bool,
49
+ positionContainerDisplay: PropTypes.oneOf(['inline-block', 'block']),
50
+ type: PropTypes.oneOf(['flyout']),
51
+ id: PropTypes.string,
52
+ withArrow: PropTypes.bool,
53
+ offsetX: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
54
+ offsetY: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
55
+ maxHeight: PropTypes.string,
56
+ renderLabelInfo: PropTypes.node
57
+ };
25
58
  const allowedProps = ['children', 'label', 'disabled', 'trigger', 'placement', 'defaultShow', 'show', 'onToggle', 'onSelect', 'onDismiss', 'onFocus', 'onMouseOver', 'onKeyDown', 'onKeyUp', 'menuRef', 'popoverRef', 'mountNode', 'constrain', 'shouldHideOnSelect', 'shouldFocusTriggerOnClose', 'positionContainerDisplay', 'type', 'id', 'withArrow', 'offsetX', 'offsetY', 'maxHeight', 'renderLabelInfo'];
26
- export { allowedProps };
59
+ export { propTypes, allowedProps };
@@ -16,13 +16,14 @@ var _callRenderProp = require("@instructure/ui-react-utils/lib/callRenderProp.js
16
16
  var _createChainedFunction = require("@instructure/ui-utils/lib/createChainedFunction.js");
17
17
  var _isActiveElement = require("@instructure/ui-dom-utils/lib/isActiveElement.js");
18
18
  var _findDOMNode = require("@instructure/ui-dom-utils/lib/findDOMNode.js");
19
+ var _testable = require("@instructure/ui-testable/lib/testable.js");
19
20
  var _emotion = require("@instructure/emotion");
20
21
  var _MenuContext = require("../../MenuContext");
21
22
  var _styles = _interopRequireDefault(require("./styles"));
22
23
  var _theme = _interopRequireDefault(require("./theme"));
23
24
  var _props = require("./props");
24
25
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
25
- var _dec, _dec2, _class, _MenuItem, _IconCheckSolid, _IconArrowOpenEndSoli;
26
+ var _dec, _dec2, _dec3, _class, _MenuItem, _IconCheckSolid, _IconArrowOpenEndSoli;
26
27
  /*
27
28
  * The MIT License (MIT)
28
29
  *
@@ -52,7 +53,7 @@ parent: Menu
52
53
  id: Menu.Item
53
54
  ---
54
55
  **/
55
- let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = _dec2(_class = (_MenuItem = class MenuItem extends _react.Component {
56
+ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec3 = (0, _testable.testable)(), _dec(_class = _dec2(_class = _dec3(_class = (_MenuItem = class MenuItem extends _react.Component {
56
57
  constructor(props) {
57
58
  super(props);
58
59
  this.labelId = void 0;
@@ -220,12 +221,11 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
220
221
  ref: this.handleRef,
221
222
  css: (_this$props$styles5 = this.props.styles) === null || _this$props$styles5 === void 0 ? void 0 : _this$props$styles5.menuItem,
222
223
  onMouseOver: this.handleMouseOver,
223
- "data-cid": "MenuItem",
224
224
  children: this.renderContent()
225
225
  });
226
226
  }
227
- }, _MenuItem.displayName = "MenuItem", _MenuItem.componentId = 'Menu.Item', _MenuItem.allowedProps = _props.allowedProps, _MenuItem.defaultProps = {
227
+ }, _MenuItem.displayName = "MenuItem", _MenuItem.componentId = 'Menu.Item', _MenuItem.propTypes = _props.propTypes, _MenuItem.allowedProps = _props.allowedProps, _MenuItem.defaultProps = {
228
228
  type: 'button',
229
229
  disabled: false
230
- }, _MenuItem.contextType = _MenuContext.MenuContext, _MenuItem)) || _class) || _class);
230
+ }, _MenuItem.contextType = _MenuContext.MenuContext, _MenuItem)) || _class) || _class) || _class);
231
231
  var _default = exports.default = MenuItem;
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _controllable = require("@instructure/ui-prop-types/lib/controllable.js");
7
10
  /*
8
11
  * The MIT License (MIT)
9
12
  *
@@ -28,4 +31,22 @@ exports.allowedProps = void 0;
28
31
  * SOFTWARE.
29
32
  */
30
33
 
34
+ const propTypes = exports.propTypes = {
35
+ children: _propTypes.default.node.isRequired,
36
+ defaultSelected: _propTypes.default.bool,
37
+ selected: (0, _controllable.controllable)(_propTypes.default.bool, 'onSelect', 'defaultSelected'),
38
+ onSelect: _propTypes.default.func,
39
+ onClick: _propTypes.default.func,
40
+ onKeyDown: _propTypes.default.func,
41
+ onKeyUp: _propTypes.default.func,
42
+ onMouseOver: _propTypes.default.func,
43
+ controls: _propTypes.default.string,
44
+ disabled: _propTypes.default.bool,
45
+ as: _propTypes.default.elementType,
46
+ type: _propTypes.default.oneOf(['button', 'checkbox', 'radio', 'flyout']),
47
+ value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
48
+ href: _propTypes.default.string,
49
+ target: _propTypes.default.string,
50
+ renderLabelInfo: _propTypes.default.node
51
+ };
31
52
  const allowedProps = exports.allowedProps = ['children', 'defaultSelected', 'selected', 'onSelect', 'onClick', 'onKeyDown', 'onKeyUp', 'onMouseOver', 'controls', 'disabled', 'as', 'type', 'value', 'href', 'target', 'renderLabelInfo'];
@@ -12,12 +12,13 @@ var _safeCloneElement = require("@instructure/ui-react-utils/lib/safeCloneElemen
12
12
  var _matchComponentTypes = require("@instructure/ui-react-utils/lib/matchComponentTypes.js");
13
13
  var _withDeterministicId = require("@instructure/ui-react-utils/lib/DeterministicIdContext/withDeterministicId.js");
14
14
  var _hasVisibleChildren = require("@instructure/ui-a11y-utils/lib/hasVisibleChildren.js");
15
+ var _testable = require("@instructure/ui-testable/lib/testable.js");
15
16
  var _MenuItem = require("../MenuItem");
16
17
  var _styles = _interopRequireDefault(require("./styles"));
17
18
  var _theme = _interopRequireDefault(require("./theme"));
18
19
  var _props = require("./props");
19
20
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
20
- var _dec, _dec2, _class, _MenuItemGroup;
21
+ var _dec, _dec2, _dec3, _class, _MenuItemGroup;
21
22
  /*
22
23
  * The MIT License (MIT)
23
24
  *
@@ -47,7 +48,7 @@ parent: Menu
47
48
  id: Menu.Group
48
49
  ---
49
50
  **/
50
- let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = _dec2(_class = (_MenuItemGroup = class MenuItemGroup extends _react.Component {
51
+ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec3 = (0, _testable.testable)(), _dec(_class = _dec2(_class = _dec3(_class = (_MenuItemGroup = class MenuItemGroup extends _react.Component {
51
52
  constructor(props) {
52
53
  super(props);
53
54
  this.ref = null;
@@ -166,7 +167,6 @@ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.wit
166
167
  ...props,
167
168
  css: (_this$props$styles2 = this.props.styles) === null || _this$props$styles2 === void 0 ? void 0 : _this$props$styles2.menuItemGroup,
168
169
  ref: this.handleRef,
169
- "data-cid": "MenuItemGroup",
170
170
  children: [this.renderLabel(), (0, _jsxRuntime.jsx)("div", {
171
171
  css: (_this$props$styles3 = this.props.styles) === null || _this$props$styles3 === void 0 ? void 0 : _this$props$styles3.items,
172
172
  "aria-disabled": this.props.disabled ? 'true' : void 0,
@@ -174,11 +174,11 @@ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.wit
174
174
  })]
175
175
  });
176
176
  }
177
- }, _MenuItemGroup.displayName = "MenuItemGroup", _MenuItemGroup.componentId = 'Menu.Group', _MenuItemGroup.allowedProps = _props.allowedProps, _MenuItemGroup.defaultProps = {
177
+ }, _MenuItemGroup.displayName = "MenuItemGroup", _MenuItemGroup.componentId = 'Menu.Group', _MenuItemGroup.propTypes = _props.propTypes, _MenuItemGroup.allowedProps = _props.allowedProps, _MenuItemGroup.defaultProps = {
178
178
  disabled: false,
179
179
  children: null,
180
180
  isTabbable: false,
181
181
  allowMultiple: false,
182
182
  defaultSelected: []
183
- }, _MenuItemGroup)) || _class) || _class);
183
+ }, _MenuItemGroup)) || _class) || _class) || _class);
184
184
  var _default = exports.default = MenuItemGroup;
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _controllable = require("@instructure/ui-prop-types/lib/controllable.js");
10
+ var _Children = require("@instructure/ui-prop-types/lib/Children.js");
11
+ var _MenuItem = require("../MenuItem");
12
+ var _MenuItemSeparator = require("../MenuItemSeparator");
7
13
  /*
8
14
  * The MIT License (MIT)
9
15
  *
@@ -28,4 +34,17 @@ exports.allowedProps = void 0;
28
34
  * SOFTWARE.
29
35
  */
30
36
 
37
+ const propTypes = exports.propTypes = {
38
+ label: _propTypes.default.node.isRequired,
39
+ allowMultiple: _propTypes.default.bool,
40
+ children: _Children.Children.oneOf([_MenuItem.MenuItem, _MenuItemSeparator.MenuItemSeparator]),
41
+ selected: (0, _controllable.controllable)(_propTypes.default.array, 'onSelect', 'defaultSelected'),
42
+ defaultSelected: _propTypes.default.array,
43
+ onSelect: _propTypes.default.func,
44
+ onMouseOver: _propTypes.default.func,
45
+ controls: _propTypes.default.string,
46
+ itemRef: _propTypes.default.func,
47
+ disabled: _propTypes.default.bool,
48
+ isTabbable: _propTypes.default.bool
49
+ };
31
50
  const allowedProps = exports.allowedProps = ['label', 'allowMultiple', 'children', 'selected', 'defaultSelected', 'onSelect', 'onMouseOver', 'controls', 'itemRef', 'disabled', 'isTabbable'];
@@ -7,12 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = exports.MenuItemSeparator = void 0;
8
8
  var _react = require("react");
9
9
  var _emotion = require("@instructure/emotion");
10
+ var _testable = require("@instructure/ui-testable/lib/testable.js");
10
11
  var _omitProps = require("@instructure/ui-react-utils/lib/omitProps.js");
11
12
  var _styles = _interopRequireDefault(require("./styles"));
12
13
  var _theme = _interopRequireDefault(require("./theme"));
13
14
  var _props = require("./props");
14
15
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
15
- var _dec, _class, _MenuItemSeparator;
16
+ var _dec, _dec2, _class, _MenuItemSeparator;
16
17
  /*
17
18
  * The MIT License (MIT)
18
19
  *
@@ -43,7 +44,7 @@ id: Menu.Separator
43
44
  ---
44
45
  @module MenuItemSeparator
45
46
  **/
46
- let MenuItemSeparator = exports.MenuItemSeparator = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = (_MenuItemSeparator = class MenuItemSeparator extends _react.Component {
47
+ let MenuItemSeparator = exports.MenuItemSeparator = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec2 = (0, _testable.testable)(), _dec(_class = _dec2(_class = (_MenuItemSeparator = class MenuItemSeparator extends _react.Component {
47
48
  constructor(...args) {
48
49
  super(...args);
49
50
  this.ref = null;
@@ -68,9 +69,8 @@ let MenuItemSeparator = exports.MenuItemSeparator = (_dec = (0, _emotion.withSty
68
69
  ...props,
69
70
  role: "presentation",
70
71
  css: (_this$props$styles = this.props.styles) === null || _this$props$styles === void 0 ? void 0 : _this$props$styles.menuItemSeparator,
71
- ref: this.handleRef,
72
- "data-cid": "MenuItemSeparator"
72
+ ref: this.handleRef
73
73
  });
74
74
  }
75
- }, _MenuItemSeparator.displayName = "MenuItemSeparator", _MenuItemSeparator.componentId = 'Menu.Separator', _MenuItemSeparator.allowedProps = _props.allowedProps, _MenuItemSeparator)) || _class);
75
+ }, _MenuItemSeparator.displayName = "MenuItemSeparator", _MenuItemSeparator.componentId = 'Menu.Separator', _MenuItemSeparator.propTypes = _props.propTypes, _MenuItemSeparator.allowedProps = _props.allowedProps, _MenuItemSeparator)) || _class) || _class);
76
76
  var _default = exports.default = MenuItemSeparator;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.allowedProps = void 0;
6
+ exports.propTypes = exports.allowedProps = void 0;
7
7
  /*
8
8
  * The MIT License (MIT)
9
9
  *
@@ -31,4 +31,5 @@ exports.allowedProps = void 0;
31
31
  // keeping here to keep the structure of props.ts
32
32
  // eslint-disable-next-line
33
33
 
34
+ const propTypes = exports.propTypes = {};
34
35
  const allowedProps = exports.allowedProps = [];
package/lib/Menu/index.js CHANGED
@@ -32,6 +32,7 @@ var _matchComponentTypes = require("@instructure/ui-react-utils/lib/matchCompone
32
32
  var _withDeterministicId = require("@instructure/ui-react-utils/lib/DeterministicIdContext/withDeterministicId.js");
33
33
  var _console = require("@instructure/console");
34
34
  var _containsActiveElement = require("@instructure/ui-dom-utils/lib/containsActiveElement.js");
35
+ var _testable = require("@instructure/ui-testable/lib/testable.js");
35
36
  var _MenuContext = require("../MenuContext");
36
37
  var _MenuItem = require("./MenuItem");
37
38
  var _MenuItemGroup = require("./MenuItemGroup");
@@ -41,7 +42,7 @@ var _styles = _interopRequireDefault(require("./styles"));
41
42
  var _theme = _interopRequireDefault(require("./theme"));
42
43
  var _props = require("./props");
43
44
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
44
- var _dec, _dec2, _class, _Menu;
45
+ var _dec, _dec2, _dec3, _class, _Menu;
45
46
  /*
46
47
  * The MIT License (MIT)
47
48
  *
@@ -70,7 +71,7 @@ var _dec, _dec2, _class, _Menu;
70
71
  category: components
71
72
  ---
72
73
  **/
73
- let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = _dec2(_class = (_Menu = class Menu extends _react.Component {
74
+ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec3 = (0, _testable.testable)(), _dec(_class = _dec2(_class = _dec3(_class = (_Menu = class Menu extends _react.Component {
74
75
  constructor(props) {
75
76
  super(props);
76
77
  this.state = {
@@ -343,7 +344,6 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
343
344
  onKeyDown: this.handleMenuKeyDown,
344
345
  onKeyUp: onKeyUp,
345
346
  ref: this.handleRef,
346
- "data-cid": "Menu",
347
347
  children: this.renderChildren()
348
348
  })
349
349
  });
@@ -365,7 +365,6 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
365
365
  offsetX = _this$props5.offsetX,
366
366
  offsetY = _this$props5.offsetY;
367
367
  return trigger ? (0, _jsxRuntime.jsx)(_Popover.Popover, {
368
- "data-cid": "Menu",
369
368
  isShowingContent: show,
370
369
  defaultIsShowingContent: defaultShow,
371
370
  onHideContent: (event, {
@@ -415,7 +414,7 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
415
414
  children: this.renderMenu()
416
415
  }) : this.renderMenu();
417
416
  }
418
- }, _Menu.displayName = "Menu", _Menu.componentId = 'Menu', _Menu.allowedProps = _props.allowedProps, _Menu.defaultProps = {
417
+ }, _Menu.displayName = "Menu", _Menu.componentId = 'Menu', _Menu.propTypes = _props.propTypes, _Menu.allowedProps = _props.allowedProps, _Menu.defaultProps = {
419
418
  label: null,
420
419
  disabled: false,
421
420
  trigger: null,
@@ -428,5 +427,5 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
428
427
  withArrow: true,
429
428
  offsetX: 0,
430
429
  offsetY: 0
431
- }, _Menu.Item = _MenuItem.MenuItem, _Menu.Group = _MenuItemGroup.MenuItemGroup, _Menu.Separator = _MenuItemSeparator.MenuItemSeparator, _Menu.contextType = _MenuContext.MenuContext, _Menu)) || _class) || _class);
430
+ }, _Menu.Item = _MenuItem.MenuItem, _Menu.Group = _MenuItemGroup.MenuItemGroup, _Menu.Separator = _MenuItemSeparator.MenuItemSeparator, _Menu.contextType = _MenuContext.MenuContext, _Menu)) || _class) || _class) || _class);
432
431
  var _default = exports.default = Menu;