Comparing version 9.6.4 to 9.7.0
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray"; | ||
import * as React from 'react'; | ||
var EmptyList = []; | ||
var EmptyList = []; // ========================= Path Register ========================= | ||
export var PathRegisterContext = /*#__PURE__*/React.createContext(null); | ||
@@ -15,3 +16,4 @@ export function useMeasure() { | ||
}, [parentKeyPath, eventKey]); | ||
} | ||
} // =========================== Path User =========================== | ||
export var PathUserContext = /*#__PURE__*/React.createContext(null); |
import * as React from 'react'; | ||
import classNames from 'classnames'; | ||
import { MenuContext } from './context/MenuContext'; | ||
import { useMeasure } from './context/PathContext'; | ||
import { MenuContext } from "./context/MenuContext"; | ||
import { useMeasure } from "./context/PathContext"; | ||
export default function Divider(_ref) { | ||
@@ -6,0 +6,0 @@ var className = _ref.className, |
@@ -6,3 +6,3 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; | ||
import { getFocusNodeList } from "rc-util/es/Dom/focus"; | ||
import { getMenuId } from '../context/IdContext'; // destruct to reduce minify size | ||
import { getMenuId } from "../context/IdContext"; // destruct to reduce minify size | ||
@@ -215,3 +215,3 @@ var LEFT = KeyCode.LEFT, | ||
if (link === null || link === void 0 ? void 0 : link.getAttribute('href')) { | ||
if (link !== null && link !== void 0 && link.getAttribute('href')) { | ||
focusTargetElement = link; | ||
@@ -218,0 +218,0 @@ } |
import * as React from 'react'; | ||
import { MenuContext } from '../context/MenuContext'; | ||
import { MenuContext } from "../context/MenuContext"; | ||
export default function useActive(eventKey, disabled, onMouseEnter, onMouseLeave) { | ||
@@ -4,0 +4,0 @@ var _React$useContext = React.useContext(MenuContext), |
import * as React from 'react'; | ||
import { MenuContext } from '../context/MenuContext'; | ||
import { MenuContext } from "../context/MenuContext"; | ||
export default function useDirectionStyle(level) { | ||
@@ -4,0 +4,0 @@ var _React$useContext = React.useContext(MenuContext), |
@@ -6,3 +6,3 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray"; | ||
import warning from "rc-util/es/warning"; | ||
import { nextSlice } from '../utils/timeUtil'; | ||
import { nextSlice } from "../utils/timeUtil"; | ||
var PATH_SPLIT = '__RC_UTIL_PATH_SPLIT__'; | ||
@@ -9,0 +9,0 @@ |
@@ -1,7 +0,7 @@ | ||
import Menu from './Menu'; | ||
import MenuItem from './MenuItem'; | ||
import SubMenu from './SubMenu'; | ||
import MenuItemGroup from './MenuItemGroup'; | ||
import { useFullPath } from './context/PathContext'; | ||
import Divider from './Divider'; | ||
import Menu from "./Menu"; | ||
import MenuItem from "./MenuItem"; | ||
import SubMenu from "./SubMenu"; | ||
import MenuItemGroup from "./MenuItemGroup"; | ||
import { useFullPath } from "./context/PathContext"; | ||
import Divider from "./Divider"; | ||
export { SubMenu, MenuItem as Item, MenuItem, MenuItemGroup, MenuItemGroup as ItemGroup, Divider, | ||
@@ -8,0 +8,0 @@ /** @private Only used for antd internal. Do not use in your production. */ |
140
es/Menu.js
@@ -9,2 +9,3 @@ import _extends from "@babel/runtime/helpers/esm/extends"; | ||
import * as React from 'react'; | ||
import { flushSync } from 'react-dom'; | ||
import classNames from 'classnames'; | ||
@@ -15,14 +16,14 @@ import shallowEqual from 'shallowequal'; | ||
import Overflow from 'rc-overflow'; | ||
import MenuItem from './MenuItem'; | ||
import { parseItems } from './utils/nodeUtil'; | ||
import MenuContextProvider from './context/MenuContext'; | ||
import useMemoCallback from './hooks/useMemoCallback'; | ||
import { warnItemProp } from './utils/warnUtil'; | ||
import SubMenu from './SubMenu'; | ||
import useAccessibility from './hooks/useAccessibility'; | ||
import useUUID from './hooks/useUUID'; | ||
import { PathRegisterContext, PathUserContext } from './context/PathContext'; | ||
import useKeyRecords, { OVERFLOW_KEY } from './hooks/useKeyRecords'; | ||
import { getMenuId, IdContext } from './context/IdContext'; | ||
import PrivateContext from './context/PrivateContext'; | ||
import MenuItem from "./MenuItem"; | ||
import { parseItems } from "./utils/nodeUtil"; | ||
import MenuContextProvider from "./context/MenuContext"; | ||
import useMemoCallback from "./hooks/useMemoCallback"; | ||
import { warnItemProp } from "./utils/warnUtil"; | ||
import SubMenu from "./SubMenu"; | ||
import useAccessibility from "./hooks/useAccessibility"; | ||
import useUUID from "./hooks/useUUID"; | ||
import { PathRegisterContext, PathUserContext } from "./context/PathContext"; | ||
import useKeyRecords, { OVERFLOW_KEY } from "./hooks/useKeyRecords"; | ||
import { getMenuId, IdContext } from "./context/IdContext"; | ||
import PrivateContext from "./context/PrivateContext"; | ||
import { useImperativeHandle } from 'react'; | ||
@@ -47,56 +48,57 @@ /** | ||
var _props$prefixCls = props.prefixCls, | ||
prefixCls = _props$prefixCls === void 0 ? 'rc-menu' : _props$prefixCls, | ||
rootClassName = props.rootClassName, | ||
style = props.style, | ||
className = props.className, | ||
_props$tabIndex = props.tabIndex, | ||
tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex, | ||
items = props.items, | ||
children = props.children, | ||
direction = props.direction, | ||
id = props.id, | ||
_props$mode = props.mode, | ||
mode = _props$mode === void 0 ? 'vertical' : _props$mode, | ||
inlineCollapsed = props.inlineCollapsed, | ||
disabled = props.disabled, | ||
disabledOverflow = props.disabledOverflow, | ||
_props$subMenuOpenDel = props.subMenuOpenDelay, | ||
subMenuOpenDelay = _props$subMenuOpenDel === void 0 ? 0.1 : _props$subMenuOpenDel, | ||
_props$subMenuCloseDe = props.subMenuCloseDelay, | ||
subMenuCloseDelay = _props$subMenuCloseDe === void 0 ? 0.1 : _props$subMenuCloseDe, | ||
forceSubMenuRender = props.forceSubMenuRender, | ||
defaultOpenKeys = props.defaultOpenKeys, | ||
openKeys = props.openKeys, | ||
activeKey = props.activeKey, | ||
defaultActiveFirst = props.defaultActiveFirst, | ||
_props$selectable = props.selectable, | ||
selectable = _props$selectable === void 0 ? true : _props$selectable, | ||
_props$multiple = props.multiple, | ||
multiple = _props$multiple === void 0 ? false : _props$multiple, | ||
defaultSelectedKeys = props.defaultSelectedKeys, | ||
selectedKeys = props.selectedKeys, | ||
onSelect = props.onSelect, | ||
onDeselect = props.onDeselect, | ||
_props$inlineIndent = props.inlineIndent, | ||
inlineIndent = _props$inlineIndent === void 0 ? 24 : _props$inlineIndent, | ||
motion = props.motion, | ||
defaultMotions = props.defaultMotions, | ||
_props$triggerSubMenu = props.triggerSubMenuAction, | ||
triggerSubMenuAction = _props$triggerSubMenu === void 0 ? 'hover' : _props$triggerSubMenu, | ||
builtinPlacements = props.builtinPlacements, | ||
itemIcon = props.itemIcon, | ||
expandIcon = props.expandIcon, | ||
_props$overflowedIndi = props.overflowedIndicator, | ||
overflowedIndicator = _props$overflowedIndi === void 0 ? '...' : _props$overflowedIndi, | ||
overflowedIndicatorPopupClassName = props.overflowedIndicatorPopupClassName, | ||
getPopupContainer = props.getPopupContainer, | ||
onClick = props.onClick, | ||
onOpenChange = props.onOpenChange, | ||
onKeyDown = props.onKeyDown, | ||
openAnimation = props.openAnimation, | ||
openTransitionName = props.openTransitionName, | ||
_internalRenderMenuItem = props._internalRenderMenuItem, | ||
_internalRenderSubMenuItem = props._internalRenderSubMenuItem, | ||
restProps = _objectWithoutProperties(props, _excluded); | ||
var _ref = props, | ||
_ref$prefixCls = _ref.prefixCls, | ||
prefixCls = _ref$prefixCls === void 0 ? 'rc-menu' : _ref$prefixCls, | ||
rootClassName = _ref.rootClassName, | ||
style = _ref.style, | ||
className = _ref.className, | ||
_ref$tabIndex = _ref.tabIndex, | ||
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex, | ||
items = _ref.items, | ||
children = _ref.children, | ||
direction = _ref.direction, | ||
id = _ref.id, | ||
_ref$mode = _ref.mode, | ||
mode = _ref$mode === void 0 ? 'vertical' : _ref$mode, | ||
inlineCollapsed = _ref.inlineCollapsed, | ||
disabled = _ref.disabled, | ||
disabledOverflow = _ref.disabledOverflow, | ||
_ref$subMenuOpenDelay = _ref.subMenuOpenDelay, | ||
subMenuOpenDelay = _ref$subMenuOpenDelay === void 0 ? 0.1 : _ref$subMenuOpenDelay, | ||
_ref$subMenuCloseDela = _ref.subMenuCloseDelay, | ||
subMenuCloseDelay = _ref$subMenuCloseDela === void 0 ? 0.1 : _ref$subMenuCloseDela, | ||
forceSubMenuRender = _ref.forceSubMenuRender, | ||
defaultOpenKeys = _ref.defaultOpenKeys, | ||
openKeys = _ref.openKeys, | ||
activeKey = _ref.activeKey, | ||
defaultActiveFirst = _ref.defaultActiveFirst, | ||
_ref$selectable = _ref.selectable, | ||
selectable = _ref$selectable === void 0 ? true : _ref$selectable, | ||
_ref$multiple = _ref.multiple, | ||
multiple = _ref$multiple === void 0 ? false : _ref$multiple, | ||
defaultSelectedKeys = _ref.defaultSelectedKeys, | ||
selectedKeys = _ref.selectedKeys, | ||
onSelect = _ref.onSelect, | ||
onDeselect = _ref.onDeselect, | ||
_ref$inlineIndent = _ref.inlineIndent, | ||
inlineIndent = _ref$inlineIndent === void 0 ? 24 : _ref$inlineIndent, | ||
motion = _ref.motion, | ||
defaultMotions = _ref.defaultMotions, | ||
_ref$triggerSubMenuAc = _ref.triggerSubMenuAction, | ||
triggerSubMenuAction = _ref$triggerSubMenuAc === void 0 ? 'hover' : _ref$triggerSubMenuAc, | ||
builtinPlacements = _ref.builtinPlacements, | ||
itemIcon = _ref.itemIcon, | ||
expandIcon = _ref.expandIcon, | ||
_ref$overflowedIndica = _ref.overflowedIndicator, | ||
overflowedIndicator = _ref$overflowedIndica === void 0 ? '...' : _ref$overflowedIndica, | ||
overflowedIndicatorPopupClassName = _ref.overflowedIndicatorPopupClassName, | ||
getPopupContainer = _ref.getPopupContainer, | ||
onClick = _ref.onClick, | ||
onOpenChange = _ref.onOpenChange, | ||
onKeyDown = _ref.onKeyDown, | ||
openAnimation = _ref.openAnimation, | ||
openTransitionName = _ref.openTransitionName, | ||
_internalRenderMenuItem = _ref._internalRenderMenuItem, | ||
_internalRenderSubMenuItem = _ref._internalRenderSubMenuItem, | ||
restProps = _objectWithoutProperties(_ref, _excluded); | ||
@@ -151,3 +153,7 @@ var childList = React.useMemo(function () { | ||
var triggerOpenKeys = function triggerOpenKeys(keys) { | ||
setMergedOpenKeys(keys); | ||
// Prevent React18 auto batch since trigger openKeys on same time | ||
// which makes mergedOpenKeys closure problem | ||
flushSync(function () { | ||
setMergedOpenKeys(keys); | ||
}); | ||
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(keys); | ||
@@ -154,0 +160,0 @@ }; // >>>>> Cache & Reset open keys when inlineCollapsed changed |
@@ -19,13 +19,14 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; | ||
import omit from "rc-util/es/omit"; | ||
import { MenuContext } from './context/MenuContext'; | ||
import useActive from './hooks/useActive'; | ||
import { warnItemProp } from './utils/warnUtil'; | ||
import Icon from './Icon'; | ||
import useDirectionStyle from './hooks/useDirectionStyle'; | ||
import { useFullPath, useMeasure } from './context/PathContext'; | ||
import { useMenuId } from './context/IdContext'; | ||
import PrivateContext from './context/PrivateContext'; // Since Menu event provide the `info.item` which point to the MenuItem node instance. | ||
import { MenuContext } from "./context/MenuContext"; | ||
import useActive from "./hooks/useActive"; | ||
import { warnItemProp } from "./utils/warnUtil"; | ||
import Icon from "./Icon"; | ||
import useDirectionStyle from "./hooks/useDirectionStyle"; | ||
import { useFullPath, useMeasure } from "./context/PathContext"; | ||
import { useMenuId } from "./context/IdContext"; | ||
import PrivateContext from "./context/PrivateContext"; | ||
// Since Menu event provide the `info.item` which point to the MenuItem node instance. | ||
// We have to use class component here. | ||
// This should be removed from doc & api in future. | ||
var LegacyMenuItem = /*#__PURE__*/function (_React$Component) { | ||
@@ -32,0 +33,0 @@ _inherits(LegacyMenuItem, _React$Component); |
@@ -8,5 +8,5 @@ import _extends from "@babel/runtime/helpers/esm/extends"; | ||
import omit from "rc-util/es/omit"; | ||
import { parseChildren } from './utils/nodeUtil'; | ||
import { MenuContext } from './context/MenuContext'; | ||
import { useFullPath, useMeasure } from './context/PathContext'; | ||
import { parseChildren } from "./utils/nodeUtil"; | ||
import { MenuContext } from "./context/MenuContext"; | ||
import { useFullPath, useMeasure } from "./context/PathContext"; | ||
@@ -13,0 +13,0 @@ var InternalMenuItemGroup = function InternalMenuItemGroup(_ref) { |
@@ -12,15 +12,15 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; | ||
import warning from "rc-util/es/warning"; | ||
import SubMenuList from './SubMenuList'; | ||
import { parseChildren } from '../utils/nodeUtil'; | ||
import MenuContextProvider, { MenuContext } from '../context/MenuContext'; | ||
import useMemoCallback from '../hooks/useMemoCallback'; | ||
import PopupTrigger from './PopupTrigger'; | ||
import Icon from '../Icon'; | ||
import useActive from '../hooks/useActive'; | ||
import { warnItemProp } from '../utils/warnUtil'; | ||
import useDirectionStyle from '../hooks/useDirectionStyle'; | ||
import InlineSubMenuList from './InlineSubMenuList'; | ||
import { PathTrackerContext, PathUserContext, useFullPath, useMeasure } from '../context/PathContext'; | ||
import { useMenuId } from '../context/IdContext'; | ||
import PrivateContext from '../context/PrivateContext'; | ||
import SubMenuList from "./SubMenuList"; | ||
import { parseChildren } from "../utils/nodeUtil"; | ||
import MenuContextProvider, { MenuContext } from "../context/MenuContext"; | ||
import useMemoCallback from "../hooks/useMemoCallback"; | ||
import PopupTrigger from "./PopupTrigger"; | ||
import Icon from "../Icon"; | ||
import useActive from "../hooks/useActive"; | ||
import { warnItemProp } from "../utils/warnUtil"; | ||
import useDirectionStyle from "../hooks/useDirectionStyle"; | ||
import InlineSubMenuList from "./InlineSubMenuList"; | ||
import { PathTrackerContext, PathUserContext, useFullPath, useMeasure } from "../context/PathContext"; | ||
import { useMenuId } from "../context/IdContext"; | ||
import PrivateContext from "../context/PrivateContext"; | ||
@@ -27,0 +27,0 @@ var InternalSubMenu = function InternalSubMenu(props) { |
@@ -6,5 +6,5 @@ import _extends from "@babel/runtime/helpers/esm/extends"; | ||
import CSSMotion from 'rc-motion'; | ||
import { getMotion } from '../utils/motionUtil'; | ||
import MenuContextProvider, { MenuContext } from '../context/MenuContext'; | ||
import SubMenuList from './SubMenuList'; | ||
import { getMotion } from "../utils/motionUtil"; | ||
import MenuContextProvider, { MenuContext } from "../context/MenuContext"; | ||
import SubMenuList from "./SubMenuList"; | ||
export default function InlineSubMenuList(_ref) { | ||
@@ -11,0 +11,0 @@ var id = _ref.id, |
@@ -8,5 +8,5 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; | ||
import raf from "rc-util/es/raf"; | ||
import { MenuContext } from '../context/MenuContext'; | ||
import { placements, placementsRtl } from '../placements'; | ||
import { getMotion } from '../utils/motionUtil'; | ||
import { MenuContext } from "../context/MenuContext"; | ||
import { placements, placementsRtl } from "../placements"; | ||
import { getMotion } from "../utils/motionUtil"; | ||
var popupPlacementMap = { | ||
@@ -13,0 +13,0 @@ horizontal: 'bottomLeft', |
@@ -6,3 +6,3 @@ import _extends from "@babel/runtime/helpers/esm/extends"; | ||
import classNames from 'classnames'; | ||
import { MenuContext } from '../context/MenuContext'; | ||
import { MenuContext } from "../context/MenuContext"; | ||
@@ -9,0 +9,0 @@ var InternalSubMenuList = function InternalSubMenuList(_ref, ref) { |
@@ -12,6 +12,6 @@ import _extends from "@babel/runtime/helpers/esm/extends"; | ||
if ( /*#__PURE__*/React.isValidElement(child)) { | ||
var _child$props$eventKey, _child$props; | ||
var _eventKey, _child$props; | ||
var key = child.key; | ||
var eventKey = (_child$props$eventKey = (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.eventKey) !== null && _child$props$eventKey !== void 0 ? _child$props$eventKey : key; | ||
var eventKey = (_eventKey = (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.eventKey) !== null && _eventKey !== void 0 ? _eventKey : key; | ||
var emptyKey = eventKey === null || eventKey === undefined; | ||
@@ -42,7 +42,8 @@ | ||
if (opt && _typeof(opt) === 'object') { | ||
var label = opt.label, | ||
children = opt.children, | ||
key = opt.key, | ||
type = opt.type, | ||
restProps = _objectWithoutProperties(opt, _excluded); | ||
var _ref = opt, | ||
label = _ref.label, | ||
children = _ref.children, | ||
key = _ref.key, | ||
type = _ref.type, | ||
restProps = _objectWithoutProperties(_ref, _excluded); | ||
@@ -49,0 +50,0 @@ var mergedKey = key !== null && key !== void 0 ? key : "tmp-".concat(index); // MenuItemGroup & SubMenuItem |
@@ -22,3 +22,4 @@ "use strict"; | ||
var EmptyList = []; | ||
var EmptyList = []; // ========================= Path Register ========================= | ||
var PathRegisterContext = /*#__PURE__*/React.createContext(null); | ||
@@ -40,5 +41,6 @@ exports.PathRegisterContext = PathRegisterContext; | ||
}, [parentKeyPath, eventKey]); | ||
} | ||
} // =========================== Path User =========================== | ||
var PathUserContext = /*#__PURE__*/React.createContext(null); | ||
exports.PathUserContext = PathUserContext; |
@@ -235,3 +235,3 @@ "use strict"; | ||
if (link === null || link === void 0 ? void 0 : link.getAttribute('href')) { | ||
if (link !== null && link !== void 0 && link.getAttribute('href')) { | ||
focusTargetElement = link; | ||
@@ -238,0 +238,0 @@ } |
117
lib/Menu.js
@@ -26,2 +26,4 @@ "use strict"; | ||
var _reactDom = require("react-dom"); | ||
var _classnames = _interopRequireDefault(require("classnames")); | ||
@@ -84,56 +86,57 @@ | ||
var _props$prefixCls = props.prefixCls, | ||
prefixCls = _props$prefixCls === void 0 ? 'rc-menu' : _props$prefixCls, | ||
rootClassName = props.rootClassName, | ||
style = props.style, | ||
className = props.className, | ||
_props$tabIndex = props.tabIndex, | ||
tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex, | ||
items = props.items, | ||
children = props.children, | ||
direction = props.direction, | ||
id = props.id, | ||
_props$mode = props.mode, | ||
mode = _props$mode === void 0 ? 'vertical' : _props$mode, | ||
inlineCollapsed = props.inlineCollapsed, | ||
disabled = props.disabled, | ||
disabledOverflow = props.disabledOverflow, | ||
_props$subMenuOpenDel = props.subMenuOpenDelay, | ||
subMenuOpenDelay = _props$subMenuOpenDel === void 0 ? 0.1 : _props$subMenuOpenDel, | ||
_props$subMenuCloseDe = props.subMenuCloseDelay, | ||
subMenuCloseDelay = _props$subMenuCloseDe === void 0 ? 0.1 : _props$subMenuCloseDe, | ||
forceSubMenuRender = props.forceSubMenuRender, | ||
defaultOpenKeys = props.defaultOpenKeys, | ||
openKeys = props.openKeys, | ||
activeKey = props.activeKey, | ||
defaultActiveFirst = props.defaultActiveFirst, | ||
_props$selectable = props.selectable, | ||
selectable = _props$selectable === void 0 ? true : _props$selectable, | ||
_props$multiple = props.multiple, | ||
multiple = _props$multiple === void 0 ? false : _props$multiple, | ||
defaultSelectedKeys = props.defaultSelectedKeys, | ||
selectedKeys = props.selectedKeys, | ||
onSelect = props.onSelect, | ||
onDeselect = props.onDeselect, | ||
_props$inlineIndent = props.inlineIndent, | ||
inlineIndent = _props$inlineIndent === void 0 ? 24 : _props$inlineIndent, | ||
motion = props.motion, | ||
defaultMotions = props.defaultMotions, | ||
_props$triggerSubMenu = props.triggerSubMenuAction, | ||
triggerSubMenuAction = _props$triggerSubMenu === void 0 ? 'hover' : _props$triggerSubMenu, | ||
builtinPlacements = props.builtinPlacements, | ||
itemIcon = props.itemIcon, | ||
expandIcon = props.expandIcon, | ||
_props$overflowedIndi = props.overflowedIndicator, | ||
overflowedIndicator = _props$overflowedIndi === void 0 ? '...' : _props$overflowedIndi, | ||
overflowedIndicatorPopupClassName = props.overflowedIndicatorPopupClassName, | ||
getPopupContainer = props.getPopupContainer, | ||
onClick = props.onClick, | ||
onOpenChange = props.onOpenChange, | ||
onKeyDown = props.onKeyDown, | ||
openAnimation = props.openAnimation, | ||
openTransitionName = props.openTransitionName, | ||
_internalRenderMenuItem = props._internalRenderMenuItem, | ||
_internalRenderSubMenuItem = props._internalRenderSubMenuItem, | ||
restProps = (0, _objectWithoutProperties2.default)(props, _excluded); | ||
var _ref = props, | ||
_ref$prefixCls = _ref.prefixCls, | ||
prefixCls = _ref$prefixCls === void 0 ? 'rc-menu' : _ref$prefixCls, | ||
rootClassName = _ref.rootClassName, | ||
style = _ref.style, | ||
className = _ref.className, | ||
_ref$tabIndex = _ref.tabIndex, | ||
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex, | ||
items = _ref.items, | ||
children = _ref.children, | ||
direction = _ref.direction, | ||
id = _ref.id, | ||
_ref$mode = _ref.mode, | ||
mode = _ref$mode === void 0 ? 'vertical' : _ref$mode, | ||
inlineCollapsed = _ref.inlineCollapsed, | ||
disabled = _ref.disabled, | ||
disabledOverflow = _ref.disabledOverflow, | ||
_ref$subMenuOpenDelay = _ref.subMenuOpenDelay, | ||
subMenuOpenDelay = _ref$subMenuOpenDelay === void 0 ? 0.1 : _ref$subMenuOpenDelay, | ||
_ref$subMenuCloseDela = _ref.subMenuCloseDelay, | ||
subMenuCloseDelay = _ref$subMenuCloseDela === void 0 ? 0.1 : _ref$subMenuCloseDela, | ||
forceSubMenuRender = _ref.forceSubMenuRender, | ||
defaultOpenKeys = _ref.defaultOpenKeys, | ||
openKeys = _ref.openKeys, | ||
activeKey = _ref.activeKey, | ||
defaultActiveFirst = _ref.defaultActiveFirst, | ||
_ref$selectable = _ref.selectable, | ||
selectable = _ref$selectable === void 0 ? true : _ref$selectable, | ||
_ref$multiple = _ref.multiple, | ||
multiple = _ref$multiple === void 0 ? false : _ref$multiple, | ||
defaultSelectedKeys = _ref.defaultSelectedKeys, | ||
selectedKeys = _ref.selectedKeys, | ||
onSelect = _ref.onSelect, | ||
onDeselect = _ref.onDeselect, | ||
_ref$inlineIndent = _ref.inlineIndent, | ||
inlineIndent = _ref$inlineIndent === void 0 ? 24 : _ref$inlineIndent, | ||
motion = _ref.motion, | ||
defaultMotions = _ref.defaultMotions, | ||
_ref$triggerSubMenuAc = _ref.triggerSubMenuAction, | ||
triggerSubMenuAction = _ref$triggerSubMenuAc === void 0 ? 'hover' : _ref$triggerSubMenuAc, | ||
builtinPlacements = _ref.builtinPlacements, | ||
itemIcon = _ref.itemIcon, | ||
expandIcon = _ref.expandIcon, | ||
_ref$overflowedIndica = _ref.overflowedIndicator, | ||
overflowedIndicator = _ref$overflowedIndica === void 0 ? '...' : _ref$overflowedIndica, | ||
overflowedIndicatorPopupClassName = _ref.overflowedIndicatorPopupClassName, | ||
getPopupContainer = _ref.getPopupContainer, | ||
onClick = _ref.onClick, | ||
onOpenChange = _ref.onOpenChange, | ||
onKeyDown = _ref.onKeyDown, | ||
openAnimation = _ref.openAnimation, | ||
openTransitionName = _ref.openTransitionName, | ||
_internalRenderMenuItem = _ref._internalRenderMenuItem, | ||
_internalRenderSubMenuItem = _ref._internalRenderSubMenuItem, | ||
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded); | ||
var childList = React.useMemo(function () { | ||
@@ -187,3 +190,7 @@ return (0, _nodeUtil.parseItems)(children, items, EMPTY_LIST); | ||
var triggerOpenKeys = function triggerOpenKeys(keys) { | ||
setMergedOpenKeys(keys); | ||
// Prevent React18 auto batch since trigger openKeys on same time | ||
// which makes mergedOpenKeys closure problem | ||
(0, _reactDom.flushSync)(function () { | ||
setMergedOpenKeys(keys); | ||
}); | ||
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(keys); | ||
@@ -190,0 +197,0 @@ }; // >>>>> Cache & Reset open keys when inlineCollapsed changed |
@@ -36,6 +36,6 @@ "use strict"; | ||
if ( /*#__PURE__*/React.isValidElement(child)) { | ||
var _child$props$eventKey, _child$props; | ||
var _eventKey, _child$props; | ||
var key = child.key; | ||
var eventKey = (_child$props$eventKey = (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.eventKey) !== null && _child$props$eventKey !== void 0 ? _child$props$eventKey : key; | ||
var eventKey = (_eventKey = (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.eventKey) !== null && _eventKey !== void 0 ? _eventKey : key; | ||
var emptyKey = eventKey === null || eventKey === undefined; | ||
@@ -66,7 +66,8 @@ | ||
if (opt && (0, _typeof2.default)(opt) === 'object') { | ||
var label = opt.label, | ||
children = opt.children, | ||
key = opt.key, | ||
type = opt.type, | ||
restProps = (0, _objectWithoutProperties2.default)(opt, _excluded); | ||
var _ref = opt, | ||
label = _ref.label, | ||
children = _ref.children, | ||
key = _ref.key, | ||
type = _ref.type, | ||
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded); | ||
var mergedKey = key !== null && key !== void 0 ? key : "tmp-".concat(index); // MenuItemGroup & SubMenuItem | ||
@@ -73,0 +74,0 @@ |
{ | ||
"name": "rc-menu", | ||
"version": "9.6.4", | ||
"version": "9.7.0", | ||
"description": "menu ui component for react", | ||
@@ -35,3 +35,3 @@ "keywords": [ | ||
"compile": "father build && lessc assets/index.less assets/index.css", | ||
"coverage": "father test --coverage", | ||
"coverage": "rc-test --coverage", | ||
"docs:build": "dumi build", | ||
@@ -44,3 +44,3 @@ "docs:deploy": "gh-pages -d .doc", | ||
"start": "dumi dev", | ||
"test": "father test" | ||
"test": "rc-test" | ||
}, | ||
@@ -51,3 +51,3 @@ "dependencies": { | ||
"rc-motion": "^2.4.3", | ||
"rc-overflow": "^1.2.0", | ||
"rc-overflow": "^1.2.8", | ||
"rc-trigger": "^5.1.2", | ||
@@ -67,11 +67,12 @@ "rc-util": "^5.12.0", | ||
"eslint": "^7.0.0", | ||
"father": "^2.22.0", | ||
"father-build": "^1.18.6", | ||
"father": "^4.0.0", | ||
"gh-pages": "^3.1.0", | ||
"less": "^3.10.3", | ||
"np": "^6.0.0", | ||
"rc-test": "^7.0.14", | ||
"react": "^18.0.0", | ||
"react-dom": "^18.0.0", | ||
"regenerator-runtime": "^0.13.7", | ||
"typescript": "^4.0.5" | ||
"typescript": "^4.0.5", | ||
"@rc-component/father-plugin": "^1.0.0" | ||
}, | ||
@@ -78,0 +79,0 @@ "peerDependencies": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
248373
4934
19
Updatedrc-overflow@^1.2.8