@instructure/ui-menu 11.7.9-snapshot-0 → 11.7.9-snapshot-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.
package/CHANGELOG.md CHANGED
@@ -3,7 +3,7 @@
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
- ## [11.7.9-snapshot-0](https://github.com/instructure/instructure-ui/compare/v11.7.8...v11.7.9-snapshot-0) (2026-10-05)
6
+ ## [11.7.9-snapshot-2](https://github.com/instructure/instructure-ui/compare/v11.7.8...v11.7.9-snapshot-2) (2026-10-12)
7
7
 
8
8
  **Note:** Version bump only for package @instructure/ui-menu
9
9
 
@@ -7,16 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = exports.MenuItem = void 0;
8
8
  var _react = require("react");
9
9
  var _keycode = _interopRequireDefault(require("keycode"));
10
- var _IconCheckSolid = require("@instructure/ui-icons/lib/generated/IconCheckSolid.js");
11
- var _IconArrowOpenEndSolid = require("@instructure/ui-icons/lib/generated/IconArrowOpenEndSolid.js");
12
- var _omitProps = require("@instructure/ui-react-utils/lib/omitProps.js");
13
- var _getElementType = require("@instructure/ui-react-utils/lib/getElementType.js");
14
- var _withDeterministicId = require("@instructure/ui-react-utils/lib/DeterministicIdContext/withDeterministicId.js");
15
- var _callRenderProp = require("@instructure/ui-react-utils/lib/callRenderProp.js");
16
- var _createChainedFunction = require("@instructure/ui-utils/lib/createChainedFunction.js");
17
- var _safeLinkProps = require("@instructure/ui-utils/lib/safeLinkProps.js");
18
- var _isActiveElement = require("@instructure/ui-dom-utils/lib/isActiveElement.js");
19
- var _findDOMNode = require("@instructure/ui-dom-utils/lib/findDOMNode.js");
10
+ var _uiIcons = require("@instructure/ui-icons");
11
+ var _uiReactUtils = require("@instructure/ui-react-utils");
12
+ var _uiUtils = require("@instructure/ui-utils");
13
+ var _uiDomUtils = require("@instructure/ui-dom-utils");
20
14
  var _emotion = require("@instructure/emotion");
21
15
  var _MenuContext = require("../../../utils/v1/MenuContext.js");
22
16
  var _styles = _interopRequireDefault(require("./styles.js"));
@@ -53,7 +47,7 @@ parent: Menu
53
47
  id: Menu.Item
54
48
  ---
55
49
  **/
56
- let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = _dec2(_class = class MenuItem extends _react.Component {
50
+ let MenuItem = exports.MenuItem = (_dec = (0, _uiReactUtils.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = _dec2(_class = class MenuItem extends _react.Component {
57
51
  static displayName = 'MenuItem';
58
52
  static componentId = 'Menu.Item';
59
53
  static allowedProps = _props.allowedProps;
@@ -128,7 +122,7 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
128
122
  e.stopPropagation();
129
123
  if (enterKey) {
130
124
  // handle space key on keyUp for FF
131
- const refNode = (0, _findDOMNode.findDOMNode)(this.ref);
125
+ const refNode = (0, _uiDomUtils.findDOMNode)(this.ref);
132
126
  refNode.click();
133
127
  }
134
128
  }
@@ -140,7 +134,7 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
140
134
  e.preventDefault();
141
135
  e.stopPropagation();
142
136
  if (spaceKey) {
143
- const refNode = (0, _findDOMNode.findDOMNode)(this.ref);
137
+ const refNode = (0, _uiDomUtils.findDOMNode)(this.ref);
144
138
  refNode.click();
145
139
  }
146
140
  }
@@ -154,7 +148,7 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
154
148
  }
155
149
  };
156
150
  get elementType() {
157
- return (0, _getElementType.getElementType)(MenuItem, this.props);
151
+ return (0, _uiReactUtils.getElementType)(MenuItem, this.props);
158
152
  }
159
153
  get role() {
160
154
  switch (this.props.type) {
@@ -170,10 +164,10 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
170
164
  return typeof this.props.selected === 'undefined' ? this.state.selected : this.props.selected;
171
165
  }
172
166
  get focused() {
173
- return (0, _isActiveElement.isActiveElement)(this.ref);
167
+ return (0, _uiDomUtils.isActiveElement)(this.ref);
174
168
  }
175
169
  focus() {
176
- const refNode = (0, _findDOMNode.findDOMNode)(this.ref);
170
+ const refNode = (0, _uiDomUtils.findDOMNode)(this.ref);
177
171
  refNode.focus();
178
172
  }
179
173
  renderContent() {
@@ -185,17 +179,17 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
185
179
  return (0, _jsxRuntime.jsxs)("span", {
186
180
  children: [(type === 'checkbox' || type === 'radio') && (0, _jsxRuntime.jsx)("span", {
187
181
  css: this.props.styles?.icon,
188
- children: this.selected && (0, _jsxRuntime.jsx)(_IconCheckSolid.IconCheckSolid, {})
182
+ children: this.selected && (0, _jsxRuntime.jsx)(_uiIcons.IconCheckSolid, {})
189
183
  }), (0, _jsxRuntime.jsx)("span", {
190
184
  css: this.props.styles?.label,
191
185
  id: this.labelId,
192
186
  children: children
193
187
  }), type === 'flyout' && (0, _jsxRuntime.jsx)("span", {
194
188
  css: this.props.styles?.icon,
195
- children: (0, _jsxRuntime.jsx)(_IconArrowOpenEndSolid.IconArrowOpenEndSolid, {})
189
+ children: (0, _jsxRuntime.jsx)(_uiIcons.IconArrowOpenEndSolid, {})
196
190
  }), renderLabelInfo && (0, _jsxRuntime.jsx)("span", {
197
191
  css: this.props.styles?.labelInfo,
198
- children: (0, _callRenderProp.callRenderProp)(renderLabelInfo)
192
+ children: (0, _uiReactUtils.callRenderProp)(renderLabelInfo)
199
193
  })]
200
194
  });
201
195
  }
@@ -209,12 +203,12 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
209
203
  href: rawHref,
210
204
  target
211
205
  } = this.props;
212
- const props = (0, _omitProps.omitProps)(this.props, MenuItem.allowedProps);
206
+ const props = (0, _uiReactUtils.omitProps)(this.props, MenuItem.allowedProps);
213
207
  const ElementType = this.elementType;
214
208
  const {
215
209
  href,
216
210
  rel
217
- } = (0, _safeLinkProps.safeLinkProps)({
211
+ } = (0, _uiUtils.safeLinkProps)({
218
212
  tag: typeof ElementType === 'string' ? ElementType : 'a',
219
213
  attr: 'href',
220
214
  href: rawHref,
@@ -234,8 +228,8 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
234
228
  "aria-controls": controls,
235
229
  "aria-checked": type === 'checkbox' || type === 'radio' ? this.selected ? 'true' : 'false' : undefined,
236
230
  onClick: this.handleClick,
237
- onKeyUp: (0, _createChainedFunction.createChainedFunction)(onKeyUp, this.handleKeyUp),
238
- onKeyDown: (0, _createChainedFunction.createChainedFunction)(onKeyDown, this.handleKeyDown),
231
+ onKeyUp: (0, _uiUtils.createChainedFunction)(onKeyUp, this.handleKeyUp),
232
+ onKeyDown: (0, _uiUtils.createChainedFunction)(onKeyDown, this.handleKeyDown),
239
233
  ref: this.handleRef,
240
234
  css: this.props.styles?.menuItem,
241
235
  onMouseOver: this.handleMouseOver,
@@ -7,11 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = exports.MenuItemGroup = void 0;
8
8
  var _react = require("react");
9
9
  var _emotion = require("@instructure/emotion");
10
- var _omitProps = require("@instructure/ui-react-utils/lib/omitProps.js");
11
- var _safeCloneElement = require("@instructure/ui-react-utils/lib/safeCloneElement.js");
12
- var _matchComponentTypes = require("@instructure/ui-react-utils/lib/matchComponentTypes.js");
13
- var _withDeterministicId = require("@instructure/ui-react-utils/lib/DeterministicIdContext/withDeterministicId.js");
14
- var _hasVisibleChildren = require("@instructure/ui-a11y-utils/lib/hasVisibleChildren.js");
10
+ var _uiReactUtils = require("@instructure/ui-react-utils");
11
+ var _uiA11yUtils = require("@instructure/ui-a11y-utils");
15
12
  var _index = require("../MenuItem/index.js");
16
13
  var _styles = _interopRequireDefault(require("./styles.js"));
17
14
  var _theme = _interopRequireDefault(require("./theme.js"));
@@ -47,7 +44,7 @@ parent: Menu
47
44
  id: Menu.Group
48
45
  ---
49
46
  **/
50
- let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = _dec2(_class = class MenuItemGroup extends _react.Component {
47
+ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _uiReactUtils.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = _dec2(_class = class MenuItemGroup extends _react.Component {
51
48
  static displayName = 'MenuItemGroup';
52
49
  static componentId = 'Menu.Group';
53
50
  static allowedProps = _props.allowedProps;
@@ -117,7 +114,7 @@ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.wit
117
114
  } = props;
118
115
  const selected = [];
119
116
  const items = _react.Children.toArray(children).filter(child => {
120
- return (0, _matchComponentTypes.matchComponentTypes)(child, [_index.MenuItem]);
117
+ return (0, _uiReactUtils.matchComponentTypes)(child, [_index.MenuItem]);
121
118
  });
122
119
  items.forEach((item, index) => {
123
120
  if ((selected.length === 0 || allowMultiple) && (item.props.selected || item.props.defaultSelected)) {
@@ -137,7 +134,7 @@ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.wit
137
134
  const {
138
135
  label
139
136
  } = this.props;
140
- return (0, _hasVisibleChildren.hasVisibleChildren)(label) ? (0, _jsxRuntime.jsx)("span", {
137
+ return (0, _uiA11yUtils.hasVisibleChildren)(label) ? (0, _jsxRuntime.jsx)("span", {
141
138
  css: this.props.styles?.label,
142
139
  children: label
143
140
  }) : label;
@@ -153,10 +150,10 @@ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.wit
153
150
  const children = this.props.children;
154
151
  let index = -1;
155
152
  return _react.Children.map(children, child => {
156
- if ((0, _matchComponentTypes.matchComponentTypes)(child, [_index.MenuItem])) {
153
+ if ((0, _uiReactUtils.matchComponentTypes)(child, [_index.MenuItem])) {
157
154
  ++index;
158
155
  const value = child.props.value || index;
159
- return (0, _safeCloneElement.safeCloneElement)(child, {
156
+ return (0, _uiReactUtils.safeCloneElement)(child, {
160
157
  tabIndex: isTabbable && index === 0 ? 0 : -1,
161
158
  controls,
162
159
  value,
@@ -174,7 +171,7 @@ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.wit
174
171
  });
175
172
  }
176
173
  render() {
177
- const props = (0, _omitProps.omitProps)(this.props, MenuItemGroup.allowedProps);
174
+ const props = (0, _uiReactUtils.omitProps)(this.props, MenuItemGroup.allowedProps);
178
175
  return (0, _jsxRuntime.jsxs)("span", {
179
176
  ...props,
180
177
  css: this.props.styles?.menuItemGroup,
@@ -7,7 +7,7 @@ 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 _omitProps = require("@instructure/ui-react-utils/lib/omitProps.js");
10
+ var _uiReactUtils = require("@instructure/ui-react-utils");
11
11
  var _styles = _interopRequireDefault(require("./styles.js"));
12
12
  var _theme = _interopRequireDefault(require("./theme.js"));
13
13
  var _props = require("./props.js");
@@ -58,7 +58,7 @@ let MenuItemSeparator = exports.MenuItemSeparator = (_dec = (0, _emotion.withSty
58
58
  this.props.makeStyles?.();
59
59
  }
60
60
  render() {
61
- const props = (0, _omitProps.omitProps)(this.props, MenuItemSeparator.allowedProps);
61
+ const props = (0, _uiReactUtils.omitProps)(this.props, MenuItemSeparator.allowedProps);
62
62
  // role="separator" would fit better here, but it causes NVDA to stop the
63
63
  // MenuItem count after it
64
64
  return (0, _jsxRuntime.jsx)("div", {
@@ -27,11 +27,9 @@ exports.default = void 0;
27
27
  var _react = require("react");
28
28
  var _keycode = _interopRequireDefault(require("keycode"));
29
29
  var _v11_ = require("@instructure/ui-popover/v11_6");
30
- var _safeCloneElement = require("@instructure/ui-react-utils/lib/safeCloneElement.js");
31
- var _matchComponentTypes = require("@instructure/ui-react-utils/lib/matchComponentTypes.js");
32
- var _withDeterministicId = require("@instructure/ui-react-utils/lib/DeterministicIdContext/withDeterministicId.js");
30
+ var _uiReactUtils = require("@instructure/ui-react-utils");
33
31
  var _console = require("@instructure/console");
34
- var _containsActiveElement = require("@instructure/ui-dom-utils/lib/containsActiveElement.js");
32
+ var _uiDomUtils = require("@instructure/ui-dom-utils");
35
33
  var _MenuContext = require("../../utils/v1/MenuContext.js");
36
34
  var _index = require("./MenuItem/index.js");
37
35
  var _index2 = require("./MenuItemGroup/index.js");
@@ -70,7 +68,7 @@ var _dec, _dec2, _class;
70
68
  category: components
71
69
  ---
72
70
  **/
73
- let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = _dec2(_class = class Menu extends _react.Component {
71
+ let Menu = exports.Menu = (_dec = (0, _uiReactUtils.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = _dec2(_class = class Menu extends _react.Component {
74
72
  static displayName = 'Menu';
75
73
  static componentId = 'Menu';
76
74
  static allowedProps = _props.allowedProps;
@@ -247,9 +245,9 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
247
245
  }
248
246
  focused() {
249
247
  if (this.shown) {
250
- return (0, _containsActiveElement.containsActiveElement)(this._menu) || this.state.hasFocus;
248
+ return (0, _uiDomUtils.containsActiveElement)(this._menu) || this.state.hasFocus;
251
249
  } else {
252
- return (0, _containsActiveElement.containsActiveElement)(this._trigger);
250
+ return (0, _uiDomUtils.containsActiveElement)(this._trigger);
253
251
  }
254
252
  }
255
253
  get focusedIndex() {
@@ -277,18 +275,18 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
277
275
  } = this.props;
278
276
  let count = 0;
279
277
  return _react.Children.map(children, child => {
280
- if (!(0, _matchComponentTypes.matchComponentTypes)(child, ['MenuItemSeparator', 'MenuItem', 'MenuItemGroup', 'Menu'])) {
278
+ if (!(0, _uiReactUtils.matchComponentTypes)(child, ['MenuItemSeparator', 'MenuItem', 'MenuItemGroup', 'Menu'])) {
281
279
  return;
282
280
  }
283
281
  count += 1;
284
282
  const isTabbable = !this.state.hasFocus && count === 1;
285
- if ((0, _matchComponentTypes.matchComponentTypes)(child, ['MenuItemSeparator'])) {
283
+ if ((0, _uiReactUtils.matchComponentTypes)(child, ['MenuItemSeparator'])) {
286
284
  return child;
287
285
  }
288
286
  const menuItemChild = child;
289
287
  const controls = menuItemChild.props['aria-controls'] || menuItemChild.props.controls || this.props['aria-controls'] || this.props.controls;
290
- if ((0, _matchComponentTypes.matchComponentTypes)(child, ['MenuItem'])) {
291
- return (0, _safeCloneElement.safeCloneElement)(child, {
288
+ if ((0, _uiReactUtils.matchComponentTypes)(child, ['MenuItem'])) {
289
+ return (0, _uiReactUtils.safeCloneElement)(child, {
292
290
  controls,
293
291
  children: child.props.children,
294
292
  disabled: disabled || child.props.disabled,
@@ -299,8 +297,8 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
299
297
  tabIndex: isTabbable ? 0 : -1
300
298
  });
301
299
  }
302
- if ((0, _matchComponentTypes.matchComponentTypes)(child, ['MenuItemGroup'])) {
303
- return (0, _safeCloneElement.safeCloneElement)(child, {
300
+ if ((0, _uiReactUtils.matchComponentTypes)(child, ['MenuItemGroup'])) {
301
+ return (0, _uiReactUtils.safeCloneElement)(child, {
304
302
  label: child.props.label,
305
303
  controls,
306
304
  disabled: disabled || child.props.disabled,
@@ -311,9 +309,9 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
311
309
  isTabbable
312
310
  });
313
311
  }
314
- if ((0, _matchComponentTypes.matchComponentTypes)(child, ['Menu'])) {
312
+ if ((0, _uiReactUtils.matchComponentTypes)(child, ['Menu'])) {
315
313
  const submenuDisabled = disabled || child.props.disabled;
316
- return (0, _safeCloneElement.safeCloneElement)(child, {
314
+ return (0, _uiReactUtils.safeCloneElement)(child, {
317
315
  type: 'flyout',
318
316
  controls,
319
317
  disabled: submenuDisabled,
@@ -420,7 +418,7 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
420
418
  popoverRef(el);
421
419
  }
422
420
  },
423
- renderTrigger: (0, _safeCloneElement.safeCloneElement)(trigger, {
421
+ renderTrigger: (0, _uiReactUtils.safeCloneElement)(trigger, {
424
422
  ref: el => {
425
423
  this._trigger = el;
426
424
  },
@@ -8,14 +8,9 @@ exports.default = exports.MenuItem = void 0;
8
8
  var _react = require("react");
9
9
  var _keycode = _interopRequireDefault(require("keycode"));
10
10
  var _uiIcons = require("@instructure/ui-icons");
11
- var _omitProps = require("@instructure/ui-react-utils/lib/omitProps.js");
12
- var _getElementType = require("@instructure/ui-react-utils/lib/getElementType.js");
13
- var _withDeterministicId = require("@instructure/ui-react-utils/lib/DeterministicIdContext/withDeterministicId.js");
14
- var _callRenderProp = require("@instructure/ui-react-utils/lib/callRenderProp.js");
15
- var _createChainedFunction = require("@instructure/ui-utils/lib/createChainedFunction.js");
16
- var _safeLinkProps = require("@instructure/ui-utils/lib/safeLinkProps.js");
17
- var _isActiveElement = require("@instructure/ui-dom-utils/lib/isActiveElement.js");
18
- var _findDOMNode = require("@instructure/ui-dom-utils/lib/findDOMNode.js");
11
+ var _uiReactUtils = require("@instructure/ui-react-utils");
12
+ var _uiUtils = require("@instructure/ui-utils");
13
+ var _uiDomUtils = require("@instructure/ui-dom-utils");
19
14
  var _emotion = require("@instructure/emotion");
20
15
  var _MenuContext = require("../../../utils/v1/MenuContext.js");
21
16
  var _styles = _interopRequireDefault(require("./styles.js"));
@@ -51,7 +46,7 @@ parent: Menu
51
46
  id: Menu.Item
52
47
  ---
53
48
  **/
54
- let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyleNew)(_styles.default), _dec(_class = _dec2(_class = class MenuItem extends _react.Component {
49
+ let MenuItem = exports.MenuItem = (_dec = (0, _uiReactUtils.withDeterministicId)(), _dec2 = (0, _emotion.withStyleNew)(_styles.default), _dec(_class = _dec2(_class = class MenuItem extends _react.Component {
55
50
  static displayName = 'MenuItem';
56
51
  static componentId = 'Menu.Item';
57
52
  static allowedProps = _props.allowedProps;
@@ -126,7 +121,7 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
126
121
  e.stopPropagation();
127
122
  if (enterKey) {
128
123
  // handle space key on keyUp for FF
129
- const refNode = (0, _findDOMNode.findDOMNode)(this.ref);
124
+ const refNode = (0, _uiDomUtils.findDOMNode)(this.ref);
130
125
  refNode.click();
131
126
  }
132
127
  }
@@ -138,7 +133,7 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
138
133
  e.preventDefault();
139
134
  e.stopPropagation();
140
135
  if (spaceKey) {
141
- const refNode = (0, _findDOMNode.findDOMNode)(this.ref);
136
+ const refNode = (0, _uiDomUtils.findDOMNode)(this.ref);
142
137
  refNode.click();
143
138
  }
144
139
  }
@@ -181,7 +176,7 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
181
176
  return this.selected ? 'inverseColor' : 'baseColor';
182
177
  };
183
178
  get elementType() {
184
- return (0, _getElementType.getElementType)(MenuItem, this.props);
179
+ return (0, _uiReactUtils.getElementType)(MenuItem, this.props);
185
180
  }
186
181
  get role() {
187
182
  switch (this.props.type) {
@@ -197,10 +192,10 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
197
192
  return typeof this.props.selected === 'undefined' ? this.state.selected : this.props.selected;
198
193
  }
199
194
  get focused() {
200
- return (0, _isActiveElement.isActiveElement)(this.ref);
195
+ return (0, _uiDomUtils.isActiveElement)(this.ref);
201
196
  }
202
197
  focus() {
203
- const refNode = (0, _findDOMNode.findDOMNode)(this.ref);
198
+ const refNode = (0, _uiDomUtils.findDOMNode)(this.ref);
204
199
  refNode.focus();
205
200
  }
206
201
  renderContent() {
@@ -228,7 +223,7 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
228
223
  })
229
224
  }), renderLabelInfo && (0, _jsxRuntime.jsx)("span", {
230
225
  css: this.props.styles?.labelInfo,
231
- children: (0, _callRenderProp.callRenderProp)(renderLabelInfo)
226
+ children: (0, _uiReactUtils.callRenderProp)(renderLabelInfo)
232
227
  })]
233
228
  });
234
229
  }
@@ -244,12 +239,12 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
244
239
  href: rawHref,
245
240
  target
246
241
  } = this.props;
247
- const props = (0, _omitProps.omitProps)(this.props, MenuItem.allowedProps);
242
+ const props = (0, _uiReactUtils.omitProps)(this.props, MenuItem.allowedProps);
248
243
  const ElementType = this.elementType;
249
244
  const {
250
245
  href,
251
246
  rel
252
- } = (0, _safeLinkProps.safeLinkProps)({
247
+ } = (0, _uiUtils.safeLinkProps)({
253
248
  tag: typeof ElementType === 'string' ? ElementType : 'a',
254
249
  attr: 'href',
255
250
  href: rawHref,
@@ -269,15 +264,15 @@ let MenuItem = exports.MenuItem = (_dec = (0, _withDeterministicId.withDetermini
269
264
  "aria-controls": controls,
270
265
  "aria-checked": type === 'checkbox' || type === 'radio' ? this.selected ? 'true' : 'false' : undefined,
271
266
  onClick: this.handleClick,
272
- onKeyUp: (0, _createChainedFunction.createChainedFunction)(onKeyUp, this.handleKeyUp),
273
- onKeyDown: (0, _createChainedFunction.createChainedFunction)(onKeyDown, this.handleKeyDown),
267
+ onKeyUp: (0, _uiUtils.createChainedFunction)(onKeyUp, this.handleKeyUp),
268
+ onKeyDown: (0, _uiUtils.createChainedFunction)(onKeyDown, this.handleKeyDown),
274
269
  ref: this.handleRef,
275
270
  css: this.props.styles?.menuItem,
276
271
  onMouseOver: this.handleMouseOver,
277
272
  onMouseEnter: this.handleMouseEnter,
278
273
  onMouseLeave: this.handleMouseLeave,
279
- onFocus: (0, _createChainedFunction.createChainedFunction)(onFocus, this.handleFocusEvent),
280
- onBlur: (0, _createChainedFunction.createChainedFunction)(onBlur, this.handleBlurEvent),
274
+ onFocus: (0, _uiUtils.createChainedFunction)(onFocus, this.handleFocusEvent),
275
+ onBlur: (0, _uiUtils.createChainedFunction)(onBlur, this.handleBlurEvent),
281
276
  "data-cid": "MenuItem",
282
277
  children: this.renderContent()
283
278
  });
@@ -7,11 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = exports.MenuItemGroup = void 0;
8
8
  var _react = require("react");
9
9
  var _emotion = require("@instructure/emotion");
10
- var _omitProps = require("@instructure/ui-react-utils/lib/omitProps.js");
11
- var _safeCloneElement = require("@instructure/ui-react-utils/lib/safeCloneElement.js");
12
- var _matchComponentTypes = require("@instructure/ui-react-utils/lib/matchComponentTypes.js");
13
- var _withDeterministicId = require("@instructure/ui-react-utils/lib/DeterministicIdContext/withDeterministicId.js");
14
- var _hasVisibleChildren = require("@instructure/ui-a11y-utils/lib/hasVisibleChildren.js");
10
+ var _uiReactUtils = require("@instructure/ui-react-utils");
11
+ var _uiA11yUtils = require("@instructure/ui-a11y-utils");
15
12
  var _index = require("../MenuItem/index.js");
16
13
  var _styles = _interopRequireDefault(require("./styles.js"));
17
14
  var _props = require("./props.js");
@@ -46,7 +43,7 @@ parent: Menu
46
43
  id: Menu.Group
47
44
  ---
48
45
  **/
49
- let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyleNew)(_styles.default), _dec(_class = _dec2(_class = class MenuItemGroup extends _react.Component {
46
+ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _uiReactUtils.withDeterministicId)(), _dec2 = (0, _emotion.withStyleNew)(_styles.default), _dec(_class = _dec2(_class = class MenuItemGroup extends _react.Component {
50
47
  static displayName = 'MenuItemGroup';
51
48
  static componentId = 'Menu.Group';
52
49
  static allowedProps = _props.allowedProps;
@@ -116,7 +113,7 @@ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.wit
116
113
  } = props;
117
114
  const selected = [];
118
115
  const items = _react.Children.toArray(children).filter(child => {
119
- return (0, _matchComponentTypes.matchComponentTypes)(child, [_index.MenuItem]);
116
+ return (0, _uiReactUtils.matchComponentTypes)(child, [_index.MenuItem]);
120
117
  });
121
118
  items.forEach((item, index) => {
122
119
  if ((selected.length === 0 || allowMultiple) && (item.props.selected || item.props.defaultSelected)) {
@@ -136,7 +133,7 @@ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.wit
136
133
  const {
137
134
  label
138
135
  } = this.props;
139
- return (0, _hasVisibleChildren.hasVisibleChildren)(label) ? (0, _jsxRuntime.jsx)("span", {
136
+ return (0, _uiA11yUtils.hasVisibleChildren)(label) ? (0, _jsxRuntime.jsx)("span", {
140
137
  css: this.props.styles?.label,
141
138
  children: label
142
139
  }) : label;
@@ -152,10 +149,10 @@ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.wit
152
149
  const children = this.props.children;
153
150
  let index = -1;
154
151
  return _react.Children.map(children, child => {
155
- if ((0, _matchComponentTypes.matchComponentTypes)(child, [_index.MenuItem])) {
152
+ if ((0, _uiReactUtils.matchComponentTypes)(child, [_index.MenuItem])) {
156
153
  ++index;
157
154
  const value = child.props.value || index;
158
- return (0, _safeCloneElement.safeCloneElement)(child, {
155
+ return (0, _uiReactUtils.safeCloneElement)(child, {
159
156
  tabIndex: isTabbable && index === 0 ? 0 : -1,
160
157
  controls,
161
158
  value,
@@ -173,7 +170,7 @@ let MenuItemGroup = exports.MenuItemGroup = (_dec = (0, _withDeterministicId.wit
173
170
  });
174
171
  }
175
172
  render() {
176
- const props = (0, _omitProps.omitProps)(this.props, MenuItemGroup.allowedProps);
173
+ const props = (0, _uiReactUtils.omitProps)(this.props, MenuItemGroup.allowedProps);
177
174
  return (0, _jsxRuntime.jsxs)("span", {
178
175
  ...props,
179
176
  css: this.props.styles?.menuItemGroup,
@@ -7,7 +7,7 @@ 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 _omitProps = require("@instructure/ui-react-utils/lib/omitProps.js");
10
+ var _uiReactUtils = require("@instructure/ui-react-utils");
11
11
  var _styles = _interopRequireDefault(require("./styles.js"));
12
12
  var _props = require("./props.js");
13
13
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
@@ -57,7 +57,7 @@ let MenuItemSeparator = exports.MenuItemSeparator = (_dec = (0, _emotion.withSty
57
57
  this.props.makeStyles?.();
58
58
  }
59
59
  render() {
60
- const props = (0, _omitProps.omitProps)(this.props, MenuItemSeparator.allowedProps);
60
+ const props = (0, _uiReactUtils.omitProps)(this.props, MenuItemSeparator.allowedProps);
61
61
  // role="separator" would fit better here, but it causes NVDA to stop the
62
62
  // MenuItem count after it
63
63
  return (0, _jsxRuntime.jsx)("div", {
@@ -27,11 +27,9 @@ exports.default = void 0;
27
27
  var _react = require("react");
28
28
  var _keycode = _interopRequireDefault(require("keycode"));
29
29
  var _latest = require("@instructure/ui-popover/latest");
30
- var _safeCloneElement = require("@instructure/ui-react-utils/lib/safeCloneElement.js");
31
- var _matchComponentTypes = require("@instructure/ui-react-utils/lib/matchComponentTypes.js");
32
- var _withDeterministicId = require("@instructure/ui-react-utils/lib/DeterministicIdContext/withDeterministicId.js");
30
+ var _uiReactUtils = require("@instructure/ui-react-utils");
33
31
  var _console = require("@instructure/console");
34
- var _containsActiveElement = require("@instructure/ui-dom-utils/lib/containsActiveElement.js");
32
+ var _uiDomUtils = require("@instructure/ui-dom-utils");
35
33
  var _MenuContext = require("../../utils/v1/MenuContext.js");
36
34
  var _index = require("./MenuItem/index.js");
37
35
  var _index2 = require("./MenuItemGroup/index.js");
@@ -69,7 +67,7 @@ var _dec, _dec2, _class;
69
67
  category: components
70
68
  ---
71
69
  **/
72
- let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyleNew)(_styles.default), _dec(_class = _dec2(_class = class Menu extends _react.Component {
70
+ let Menu = exports.Menu = (_dec = (0, _uiReactUtils.withDeterministicId)(), _dec2 = (0, _emotion.withStyleNew)(_styles.default), _dec(_class = _dec2(_class = class Menu extends _react.Component {
73
71
  static displayName = 'Menu';
74
72
  static componentId = 'Menu';
75
73
  static allowedProps = _props.allowedProps;
@@ -246,9 +244,9 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
246
244
  }
247
245
  focused() {
248
246
  if (this.shown) {
249
- return (0, _containsActiveElement.containsActiveElement)(this._menu) || this.state.hasFocus;
247
+ return (0, _uiDomUtils.containsActiveElement)(this._menu) || this.state.hasFocus;
250
248
  } else {
251
- return (0, _containsActiveElement.containsActiveElement)(this._trigger);
249
+ return (0, _uiDomUtils.containsActiveElement)(this._trigger);
252
250
  }
253
251
  }
254
252
  get focusedIndex() {
@@ -276,18 +274,18 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
276
274
  } = this.props;
277
275
  let count = 0;
278
276
  return _react.Children.map(children, child => {
279
- if (!(0, _matchComponentTypes.matchComponentTypes)(child, ['MenuItemSeparator', 'MenuItem', 'MenuItemGroup', 'Menu'])) {
277
+ if (!(0, _uiReactUtils.matchComponentTypes)(child, ['MenuItemSeparator', 'MenuItem', 'MenuItemGroup', 'Menu'])) {
280
278
  return;
281
279
  }
282
280
  count += 1;
283
281
  const isTabbable = !this.state.hasFocus && count === 1;
284
- if ((0, _matchComponentTypes.matchComponentTypes)(child, ['MenuItemSeparator'])) {
282
+ if ((0, _uiReactUtils.matchComponentTypes)(child, ['MenuItemSeparator'])) {
285
283
  return child;
286
284
  }
287
285
  const menuItemChild = child;
288
286
  const controls = menuItemChild.props['aria-controls'] || menuItemChild.props.controls || this.props['aria-controls'] || this.props.controls;
289
- if ((0, _matchComponentTypes.matchComponentTypes)(child, ['MenuItem'])) {
290
- return (0, _safeCloneElement.safeCloneElement)(child, {
287
+ if ((0, _uiReactUtils.matchComponentTypes)(child, ['MenuItem'])) {
288
+ return (0, _uiReactUtils.safeCloneElement)(child, {
291
289
  controls,
292
290
  children: child.props.children,
293
291
  disabled: disabled || child.props.disabled,
@@ -298,8 +296,8 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
298
296
  tabIndex: isTabbable ? 0 : -1
299
297
  });
300
298
  }
301
- if ((0, _matchComponentTypes.matchComponentTypes)(child, ['MenuItemGroup'])) {
302
- return (0, _safeCloneElement.safeCloneElement)(child, {
299
+ if ((0, _uiReactUtils.matchComponentTypes)(child, ['MenuItemGroup'])) {
300
+ return (0, _uiReactUtils.safeCloneElement)(child, {
303
301
  label: child.props.label,
304
302
  controls,
305
303
  disabled: disabled || child.props.disabled,
@@ -310,9 +308,9 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
310
308
  isTabbable
311
309
  });
312
310
  }
313
- if ((0, _matchComponentTypes.matchComponentTypes)(child, ['Menu'])) {
311
+ if ((0, _uiReactUtils.matchComponentTypes)(child, ['Menu'])) {
314
312
  const submenuDisabled = disabled || child.props.disabled;
315
- return (0, _safeCloneElement.safeCloneElement)(child, {
313
+ return (0, _uiReactUtils.safeCloneElement)(child, {
316
314
  type: 'flyout',
317
315
  controls,
318
316
  disabled: submenuDisabled,
@@ -419,7 +417,7 @@ let Menu = exports.Menu = (_dec = (0, _withDeterministicId.withDeterministicId)(
419
417
  popoverRef(el);
420
418
  }
421
419
  },
422
- renderTrigger: (0, _safeCloneElement.safeCloneElement)(trigger, {
420
+ renderTrigger: (0, _uiReactUtils.safeCloneElement)(trigger, {
423
421
  ref: el => {
424
422
  this._trigger = el;
425
423
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/ui-menu",
3
- "version": "11.7.9-snapshot-0",
3
+ "version": "11.7.9-snapshot-2",
4
4
  "description": "A dropdown menu component",
5
5
  "author": "Instructure, Inc. Engineering and Product Design",
6
6
  "module": "./es/index.js",
@@ -15,25 +15,25 @@
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
17
  "@babel/runtime": "^7.29.7",
18
- "keycode": "^2",
19
- "@instructure/console": "11.7.9-snapshot-0",
20
- "@instructure/emotion": "11.7.9-snapshot-0",
21
- "@instructure/shared-types": "11.7.9-snapshot-0",
22
- "@instructure/ui-dom-utils": "11.7.9-snapshot-0",
23
- "@instructure/ui-a11y-utils": "11.7.9-snapshot-0",
24
- "@instructure/ui-icons": "11.7.9-snapshot-0",
25
- "@instructure/ui-popover": "11.7.9-snapshot-0",
26
- "@instructure/ui-position": "11.7.9-snapshot-0",
27
- "@instructure/ui-react-utils": "11.7.9-snapshot-0",
28
- "@instructure/ui-themes": "11.7.9-snapshot-0",
29
- "@instructure/ui-utils": "11.7.9-snapshot-0",
30
- "@instructure/ui-view": "11.7.9-snapshot-0"
18
+ "@instructure/console": "11.7.9-snapshot-2",
19
+ "@instructure/emotion": "11.7.9-snapshot-2",
20
+ "@instructure/shared-types": "11.7.9-snapshot-2",
21
+ "@instructure/ui-a11y-utils": "11.7.9-snapshot-2",
22
+ "@instructure/ui-dom-utils": "11.7.9-snapshot-2",
23
+ "@instructure/ui-icons": "11.7.9-snapshot-2",
24
+ "@instructure/ui-popover": "11.7.9-snapshot-2",
25
+ "@instructure/ui-position": "11.7.9-snapshot-2",
26
+ "@instructure/ui-react-utils": "11.7.9-snapshot-2",
27
+ "@instructure/ui-themes": "11.7.9-snapshot-2",
28
+ "@instructure/ui-utils": "11.7.9-snapshot-2",
29
+ "@instructure/ui-view": "11.7.9-snapshot-2",
30
+ "keycode": "^2"
31
31
  },
32
32
  "devDependencies": {
33
- "vitest": "^5.0.0",
34
- "@instructure/ui-axe-check": "11.7.9-snapshot-0",
35
- "@instructure/ui-babel-preset": "11.7.9-snapshot-0",
36
- "@instructure/ui-color-utils": "11.7.9-snapshot-0"
33
+ "@instructure/ui-axe-check": "11.7.9-snapshot-2",
34
+ "@instructure/ui-babel-preset": "11.7.9-snapshot-2",
35
+ "@instructure/ui-color-utils": "11.7.9-snapshot-2",
36
+ "vitest": "^5.0.0"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "react": ">=18 <=19"