{"version":3,"sources":["../node_modules/rc-util/es/Dom/focus.js","../node_modules/rc-menu/es/context/IdContext.js","../node_modules/rc-menu/es/context/MenuContext.js","../node_modules/rc-menu/es/context/PathContext.js","../node_modules/rc-menu/es/context/PrivateContext.js","../node_modules/rc-menu/es/hooks/useAccessibility.js","../node_modules/rc-menu/es/hooks/useKeyRecords.js","../node_modules/rc-menu/es/utils/timeUtil.js","../node_modules/rc-menu/es/hooks/useMemoCallback.js","../node_modules/rc-menu/es/hooks/useUUID.js","../node_modules/rc-menu/es/hooks/useActive.js","../node_modules/rc-menu/es/hooks/useDirectionStyle.js","../node_modules/rc-menu/es/Icon.js","../node_modules/rc-menu/es/utils/warnUtil.js","../node_modules/rc-menu/es/MenuItem.js","../node_modules/rc-menu/es/SubMenu/SubMenuList.js","../node_modules/rc-menu/es/utils/nodeUtil.js","../node_modules/rc-menu/es/placements.js","../node_modules/rc-menu/es/utils/motionUtil.js","../node_modules/rc-menu/es/SubMenu/PopupTrigger.js","../node_modules/rc-menu/es/SubMenu/InlineSubMenuList.js","../node_modules/rc-menu/es/SubMenu/index.js","../node_modules/rc-menu/es/Menu.js","../node_modules/rc-menu/es/MenuItemGroup.js","../node_modules/rc-menu/es/Divider.js","../node_modules/rc-menu/es/index.js","../node_modules/@ant-design/icons-svg/es/asn/DownOutlined.js","../node_modules/@ant-design/icons/es/icons/DownOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/RightOutlined.js","../node_modules/@ant-design/icons/es/icons/RightOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/EllipsisOutlined.js","../node_modules/@ant-design/icons/es/icons/EllipsisOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/LeftOutlined.js","../node_modules/@ant-design/icons/es/icons/LeftOutlined.js","../node_modules/rc-overflow/es/Item.js","../node_modules/rc-overflow/es/hooks/useEffectState.js","../node_modules/rc-overflow/es/hooks/channelUpdate.js","../node_modules/rc-overflow/es/RawItem.js","../node_modules/rc-overflow/es/Overflow.js","../node_modules/rc-overflow/es/index.js"],"names":["focusable","node","includePositive","arguments","length","undefined","isVisible","nodeName","toLowerCase","isFocusableElement","includes","isContentEditable","getAttribute","tabIndexAttr","tabIndexNum","Number","tabIndex","isNaN","disabled","getFocusNodeList","res","_toConsumableArray","querySelectorAll","filter","child","unshift","IdContext","React","getMenuId","uuid","eventKey","concat","useMenuId","_excluded","MenuContext","InheritableContextProvider","_ref","children","locked","restProps","_objectWithoutProperties","context","inheritableContext","useMemo","origin","target","clone","_objectSpread","Object","keys","forEach","key","value","mergeProps","prev","next","isEqual","Provider","EmptyList","PathRegisterContext","useMeasure","PathTrackerContext","useFullPath","parentKeyPath","PathUserContext","PrivateContext","LEFT","KeyCode","RIGHT","UP","DOWN","ENTER","ESC","HOME","END","ArrowKeys","getFocusableElements","container","elements","ele","has","getNextFocusElement","parentQueryContainer","focusMenuElement","offset","sameLevelFocusableMenuElementList","count","focusIndex","findIndex","useAccessibility","mode","activeKey","isRtl","id","containerRef","getKeys","getKeyPath","triggerActiveKey","triggerAccessibilityOpen","originOnKeyDown","rafRef","activeRef","current","cleanRaf","raf","cancel","e","which","key2element","element2key","refreshElements","Set","Map","element","document","querySelector","add","set","activeElement","parentElement","getFocusElement","get","focusMenuKey","offsetObj","isRootLevel","_inline","_horizontal","_vertical","_offsets","inlineTrigger","inline","_defineProperty","horizontal","vertical","inlineSub","horizontalSub","verticalSub","sibling","getOffset","preventDefault","tryFocus","menuElement","focusTargetElement","link","targetKey","focus","targetElement","focusableElements","findContainerUL","controlId","getElementById","keyPath","parentKey","parentMenuElement","PATH_SPLIT","getPathStr","join","useKeyRecords","_React$useState","internalForceUpdate","_slicedToArray","key2pathRef","useRef","path2keyRef","_React$useState3","_React$useState4","overflowKeys","setOverflowKeys","updateRef","destroyRef","registerPath","useCallback","connectedPath","callback","Promise","resolve","then","unregisterPath","delete","refreshOverflowKeys","includeOverflow","fullPath","split","isSubPathKey","pathKeys","some","pathKey","getSubPathKeys","startsWith","push","useMemoCallback","func","funRef","_funRef$current","_len","args","Array","_key","call","apply","uniquePrefix","Math","random","toFixed","toString","slice","internalId","useActive","onMouseEnter","onMouseLeave","_React$useContext","onActive","onInactive","ret","active","domEvent","useDirectionStyle","level","rtl","inlineIndent","paddingRight","paddingLeft","Icon","icon","props","warnItemProp","item","restInfo","defineProperty","warning","_excluded2","_excluded3","LegacyMenuItem","_React$Component","_inherits","_super","_createSuper","_classCallCheck","this","_createClass","_this$props","title","attribute","elementRef","passedProps","omit","Overflow","Item","_extends","ref","InternalMenuItem","_classNames","style","className","warnKey","itemIcon","role","onClick","onKeyDown","onFocus","domDataId","prefixCls","onItemClick","contextDisabled","overflowDisabled","contextItemIcon","selectedKeys","_internalRenderMenuItem","itemCls","legacyMenuItemRef","mergedDisabled","mergedEleRef","useComposeRef","connectedKeys","getEventInfo","reverse","mergedItemIcon","_useActive","activeProps","selected","directionStyle","optionRoleProps","renderNode","component","classNames","info","isSelected","MenuItem","measure","connectedKeyPath","InternalSubMenuList","SubMenuList","displayName","parseChildren","toArray","map","index","_eventKey","_child$props","cloneProps","parseItems","items","childNodes","convertItemsToNodes","list","opt","_typeof","label","type","mergedKey","MenuItemGroup","SubMenu","Divider","autoAdjustOverflow","adjustX","adjustY","placements","topLeft","points","overflow","bottomLeft","leftTop","rightTop","placementsRtl","getMotion","motion","defaultMotions","other","popupPlacementMap","PopupTrigger","visible","popup","popupClassName","popupOffset","onVisibleChange","getPopupContainer","subMenuOpenDelay","subMenuCloseDelay","builtinPlacements","triggerSubMenuAction","forceSubMenuRender","rootClassName","_React$useState2","innerVisible","setInnerVisible","placement","popupPlacement","targetMotion","targetMotionRef","mergedMotion","leavedClassName","removeOnLeave","motionAppear","visibleRef","Trigger","stretch","popupVisible","popupAlign","action","mouseEnterDelay","mouseLeaveDelay","onPopupVisibleChange","forceRender","popupMotion","InlineSubMenuList","open","sameModeRef","destroy","setDestroy","mergedOpen","originOnVisibleChanged","onVisibleChanged","newVisible","MenuContextProvider","CSSMotion","_ref2","motionClassName","motionStyle","InternalSubMenu","internalPopupClose","expandIcon","onTitleClick","onTitleMouseEnter","onTitleMouseLeave","openKeys","contextExpandIcon","onOpenChange","_internalRenderSubMenuItem","subMenuPrefixCls","popupRef","mergedExpandIcon","originOpen","childrenSelected","childrenActive","setChildrenActive","triggerChildrenActive","newActive","mergedActive","onMergedItemClick","popupId","titleNode","isOpen","isSubMenu","triggerModeRef","triggerMode","listNode","childList","EMPTY_LIST","InternalMenuItemGroup","groupPrefixCls","stopPropagation","ExportMenu","_childList$","_ref$prefixCls","_ref$tabIndex","direction","_ref$mode","inlineCollapsed","disabledOverflow","_ref$subMenuOpenDelay","_ref$subMenuCloseDela","defaultOpenKeys","defaultActiveFirst","_ref$selectable","selectable","_ref$multiple","multiple","defaultSelectedKeys","onSelect","onDeselect","_ref$inlineIndent","_ref$triggerSubMenuAc","_ref$overflowedIndica","overflowedIndicator","overflowedIndicatorPopupClassName","openAnimation","openTransitionName","mounted","setMounted","_useMergedState","useMergedState","_useMergedState2","setUUID","newId","useUUID","postState","mergedOpenKeys","setMergedOpenKeys","triggerOpenKeys","forceFlush","doUpdate","flushSync","inlineCacheOpenKeys","setInlineCacheOpenKeys","mountRef","_React$useMemo","_React$useMemo2","mergedMode","mergedInlineCollapsed","isInlineMode","_React$useState5","_React$useState6","internalMode","setInternalMode","_React$useState7","_React$useState8","internalInlineCollapsed","setInternalInlineCollapsed","_React$useState9","_React$useState10","lastVisibleIndex","setLastVisibleIndex","allVisible","_useKeyRecords","registerPathContext","pathUserContext","_useMergedState3","_useMergedState4","mergedActiveKey","setMergedActiveKey","useImperativeHandle","options","_childList$find","_containerRef$current","_containerRef$current2","_containerRef$current3","shouldFocusKey","find","_useMergedState5","isArray","_useMergedState6","mergedSelectKeys","setMergedSelectKeys","onInternalClick","newSelectKeys","exist","selectInfo","triggerSelection","onInternalOpenChange","newOpenKeys","k","subPathKeys","getInternalPopupContainer","onInternalKeyDown","nextOpen","privateContext","wrappedChildList","itemComponent","dir","data","renderRawItem","renderRawRest","omitItems","len","originOmitItems","maxCount","INVALIDATE","RESPONSIVE","ssr","newLastIndex","display","ItemGroup","DownOutlined","AntdIcon","DownOutlinedSvg","RefIcon","RightOutlined","RightOutlinedSvg","EllipsisOutlined","EllipsisOutlinedSvg","LeftOutlined","LeftOutlinedSvg","InternalItem","invalidate","renderItem","responsive","responsiveDisabled","registerSize","itemKey","order","_props$component","Component","mergedHidden","internalRegisterSize","width","overflowStyle","childNode","opacity","height","overflowY","pointerEvents","position","overflowProps","itemNode","ResizeObserver","onResize","offsetWidth","useBatcher","updateFuncRef","MessageChannel","channel","port1","onmessage","port2","postMessage","channelUpdate","unstable_batchedUpdates","fn","useEffectState","notifyEffectUpdate","defaultValue","stateValue","setStateValue","useEvent","nextValue","InternalRawItem","OverflowContext","_restProps","contextClassName","restContext","RawItem","defaultRenderRest","omittedItems","_props$prefixCls","_props$data","_props$itemWidth","itemWidth","renderRest","suffix","fullySSR","_useEffectState","_useEffectState2","containerWidth","setContainerWidth","mergedContainerWidth","_useEffectState3","_useEffectState4","itemWidths","setItemWidths","_useEffectState5","_useEffectState6","prevRestWidth","setPrevRestWidth","_useEffectState7","_useEffectState8","restWidth","setRestWidth","_useEffectState9","_useEffectState10","suffixWidth","setSuffixWidth","_useState","useState","_useState2","suffixFixedStart","setSuffixFixedStart","_useState3","_useState4","displayCount","setDisplayCount","mergedDisplayCount","MAX_SAFE_INTEGER","_useState5","_useState6","restReady","setRestReady","itemPrefixCls","mergedRestWidth","max","isResponsive","shouldResponsive","showRest","mergedData","min","getKey","mergedRenderItem","updateDisplayCount","suffixFixedStartVal","notReady","getItemWidth","useLayoutEffect","totalWidth","lastIndex","i","currentItemWidth","displayRest","suffixStyle","left","top","restNode","itemSharedProps","internalRenderItemNode","restContextProps","_","mergedRenderRest","overflowNode","clientWidth","ForwardOverflow"],"mappings":"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","file":"static/js/3.90b25738.chunk.js","sourcesContent":["import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport isVisible from \"./isVisible\";\nfunction focusable(node) {\n var includePositive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (isVisible(node)) {\n var nodeName = node.nodeName.toLowerCase();\n var isFocusableElement =\n // Focusable element\n ['input', 'select', 'textarea', 'button'].includes(nodeName) ||\n // Editable element\n node.isContentEditable ||\n // Anchor with href element\n nodeName === 'a' && !!node.getAttribute('href');\n\n // Get tabIndex\n var tabIndexAttr = node.getAttribute('tabindex');\n var tabIndexNum = Number(tabIndexAttr);\n\n // Parse as number if validate\n var tabIndex = null;\n if (tabIndexAttr && !Number.isNaN(tabIndexNum)) {\n tabIndex = tabIndexNum;\n } else if (isFocusableElement && tabIndex === null) {\n tabIndex = 0;\n }\n\n // Block focusable if disabled\n if (isFocusableElement && node.disabled) {\n tabIndex = null;\n }\n return tabIndex !== null && (tabIndex >= 0 || includePositive && tabIndex < 0);\n }\n return false;\n}\nexport function getFocusNodeList(node) {\n var includePositive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var res = _toConsumableArray(node.querySelectorAll('*')).filter(function (child) {\n return focusable(child, includePositive);\n });\n if (focusable(node, includePositive)) {\n res.unshift(node);\n }\n return res;\n}\nvar lastFocusElement = null;\n\n/** @deprecated Do not use since this may failed when used in async */\nexport function saveLastFocusNode() {\n lastFocusElement = document.activeElement;\n}\n\n/** @deprecated Do not use since this may failed when used in async */\nexport function clearLastFocusNode() {\n lastFocusElement = null;\n}\n\n/** @deprecated Do not use since this may failed when used in async */\nexport function backLastFocusNode() {\n if (lastFocusElement) {\n try {\n // 元素可能已经被移动了\n lastFocusElement.focus();\n\n /* eslint-disable no-empty */\n } catch (e) {\n // empty\n }\n /* eslint-enable no-empty */\n }\n}\n\nexport function limitTabRange(node, e) {\n if (e.keyCode === 9) {\n var tabNodeList = getFocusNodeList(node);\n var lastTabNode = tabNodeList[e.shiftKey ? 0 : tabNodeList.length - 1];\n var leavingTab = lastTabNode === document.activeElement || node === document.activeElement;\n if (leavingTab) {\n var target = tabNodeList[e.shiftKey ? tabNodeList.length - 1 : 0];\n target.focus();\n e.preventDefault();\n }\n }\n}","import * as React from 'react';\nexport var IdContext = /*#__PURE__*/React.createContext(null);\nexport function getMenuId(uuid, eventKey) {\n if (uuid === undefined) {\n return null;\n }\n return \"\".concat(uuid, \"-\").concat(eventKey);\n}\n\n/**\n * Get `data-menu-id`\n */\nexport function useMenuId(eventKey) {\n var id = React.useContext(IdContext);\n return getMenuId(id, eventKey);\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"children\", \"locked\"];\nimport * as React from 'react';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nexport var MenuContext = /*#__PURE__*/React.createContext(null);\nfunction mergeProps(origin, target) {\n var clone = _objectSpread({}, origin);\n Object.keys(target).forEach(function (key) {\n var value = target[key];\n if (value !== undefined) {\n clone[key] = value;\n }\n });\n return clone;\n}\nexport default function InheritableContextProvider(_ref) {\n var children = _ref.children,\n locked = _ref.locked,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var context = React.useContext(MenuContext);\n var inheritableContext = useMemo(function () {\n return mergeProps(context, restProps);\n }, [context, restProps], function (prev, next) {\n return !locked && (prev[0] !== next[0] || !isEqual(prev[1], next[1], true));\n });\n return /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: inheritableContext\n }, children);\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nvar EmptyList = [];\n\n// ========================= Path Register =========================\n\nexport var PathRegisterContext = /*#__PURE__*/React.createContext(null);\nexport function useMeasure() {\n return React.useContext(PathRegisterContext);\n}\n\n// ========================= Path Tracker ==========================\nexport var PathTrackerContext = /*#__PURE__*/React.createContext(EmptyList);\nexport function useFullPath(eventKey) {\n var parentKeyPath = React.useContext(PathTrackerContext);\n return React.useMemo(function () {\n return eventKey !== undefined ? [].concat(_toConsumableArray(parentKeyPath), [eventKey]) : parentKeyPath;\n }, [parentKeyPath, eventKey]);\n}\n\n// =========================== Path User ===========================\n\nexport var PathUserContext = /*#__PURE__*/React.createContext(null);","import * as React from 'react';\nvar PrivateContext = /*#__PURE__*/React.createContext({});\nexport default PrivateContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport { getFocusNodeList } from \"rc-util/es/Dom/focus\";\nimport { getMenuId } from \"../context/IdContext\";\n\n// destruct to reduce minify size\nvar LEFT = KeyCode.LEFT,\n RIGHT = KeyCode.RIGHT,\n UP = KeyCode.UP,\n DOWN = KeyCode.DOWN,\n ENTER = KeyCode.ENTER,\n ESC = KeyCode.ESC,\n HOME = KeyCode.HOME,\n END = KeyCode.END;\nvar ArrowKeys = [UP, DOWN, LEFT, RIGHT];\nfunction getOffset(mode, isRootLevel, isRtl, which) {\n var _inline, _horizontal, _vertical, _offsets;\n var prev = 'prev';\n var next = 'next';\n var children = 'children';\n var parent = 'parent';\n\n // Inline enter is special that we use unique operation\n if (mode === 'inline' && which === ENTER) {\n return {\n inlineTrigger: true\n };\n }\n var inline = (_inline = {}, _defineProperty(_inline, UP, prev), _defineProperty(_inline, DOWN, next), _inline);\n var horizontal = (_horizontal = {}, _defineProperty(_horizontal, LEFT, isRtl ? next : prev), _defineProperty(_horizontal, RIGHT, isRtl ? prev : next), _defineProperty(_horizontal, DOWN, children), _defineProperty(_horizontal, ENTER, children), _horizontal);\n var vertical = (_vertical = {}, _defineProperty(_vertical, UP, prev), _defineProperty(_vertical, DOWN, next), _defineProperty(_vertical, ENTER, children), _defineProperty(_vertical, ESC, parent), _defineProperty(_vertical, LEFT, isRtl ? children : parent), _defineProperty(_vertical, RIGHT, isRtl ? parent : children), _vertical);\n var offsets = {\n inline: inline,\n horizontal: horizontal,\n vertical: vertical,\n inlineSub: inline,\n horizontalSub: vertical,\n verticalSub: vertical\n };\n var type = (_offsets = offsets[\"\".concat(mode).concat(isRootLevel ? '' : 'Sub')]) === null || _offsets === void 0 ? void 0 : _offsets[which];\n switch (type) {\n case prev:\n return {\n offset: -1,\n sibling: true\n };\n case next:\n return {\n offset: 1,\n sibling: true\n };\n case parent:\n return {\n offset: -1,\n sibling: false\n };\n case children:\n return {\n offset: 1,\n sibling: false\n };\n default:\n return null;\n }\n}\nfunction findContainerUL(element) {\n var current = element;\n while (current) {\n if (current.getAttribute('data-menu-list')) {\n return current;\n }\n current = current.parentElement;\n }\n\n // Normally should not reach this line\n /* istanbul ignore next */\n return null;\n}\n\n/**\n * Find focused element within element set provided\n */\nfunction getFocusElement(activeElement, elements) {\n var current = activeElement || document.activeElement;\n while (current) {\n if (elements.has(current)) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n}\n\n/**\n * Get focusable elements from the element set under provided container\n */\nfunction getFocusableElements(container, elements) {\n var list = getFocusNodeList(container, true);\n return list.filter(function (ele) {\n return elements.has(ele);\n });\n}\nfunction getNextFocusElement(parentQueryContainer, elements, focusMenuElement) {\n var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n // Key on the menu item will not get validate parent container\n if (!parentQueryContainer) {\n return null;\n }\n\n // List current level menu item elements\n var sameLevelFocusableMenuElementList = getFocusableElements(parentQueryContainer, elements);\n\n // Find next focus index\n var count = sameLevelFocusableMenuElementList.length;\n var focusIndex = sameLevelFocusableMenuElementList.findIndex(function (ele) {\n return focusMenuElement === ele;\n });\n if (offset < 0) {\n if (focusIndex === -1) {\n focusIndex = count - 1;\n } else {\n focusIndex -= 1;\n }\n } else if (offset > 0) {\n focusIndex += 1;\n }\n focusIndex = (focusIndex + count) % count;\n\n // Focus menu item\n return sameLevelFocusableMenuElementList[focusIndex];\n}\nexport default function useAccessibility(mode, activeKey, isRtl, id, containerRef, getKeys, getKeyPath, triggerActiveKey, triggerAccessibilityOpen, originOnKeyDown) {\n var rafRef = React.useRef();\n var activeRef = React.useRef();\n activeRef.current = activeKey;\n var cleanRaf = function cleanRaf() {\n raf.cancel(rafRef.current);\n };\n React.useEffect(function () {\n return function () {\n cleanRaf();\n };\n }, []);\n return function (e) {\n var which = e.which;\n if ([].concat(ArrowKeys, [ENTER, ESC, HOME, END]).includes(which)) {\n // Convert key to elements\n var elements;\n var key2element;\n var element2key;\n\n // >>> Wrap as function since we use raf for some case\n var refreshElements = function refreshElements() {\n elements = new Set();\n key2element = new Map();\n element2key = new Map();\n var keys = getKeys();\n keys.forEach(function (key) {\n var element = document.querySelector(\"[data-menu-id='\".concat(getMenuId(id, key), \"']\"));\n if (element) {\n elements.add(element);\n element2key.set(element, key);\n key2element.set(key, element);\n }\n });\n return elements;\n };\n refreshElements();\n\n // First we should find current focused MenuItem/SubMenu element\n var activeElement = key2element.get(activeKey);\n var focusMenuElement = getFocusElement(activeElement, elements);\n var focusMenuKey = element2key.get(focusMenuElement);\n var offsetObj = getOffset(mode, getKeyPath(focusMenuKey, true).length === 1, isRtl, which);\n\n // Some mode do not have fully arrow operation like inline\n if (!offsetObj && which !== HOME && which !== END) {\n return;\n }\n\n // Arrow prevent default to avoid page scroll\n if (ArrowKeys.includes(which) || [HOME, END].includes(which)) {\n e.preventDefault();\n }\n var tryFocus = function tryFocus(menuElement) {\n if (menuElement) {\n var focusTargetElement = menuElement;\n\n // Focus to link instead of menu item if possible\n var link = menuElement.querySelector('a');\n if (link !== null && link !== void 0 && link.getAttribute('href')) {\n focusTargetElement = link;\n }\n var targetKey = element2key.get(menuElement);\n triggerActiveKey(targetKey);\n\n /**\n * Do not `useEffect` here since `tryFocus` may trigger async\n * which makes React sync update the `activeKey`\n * that force render before `useRef` set the next activeKey\n */\n cleanRaf();\n rafRef.current = raf(function () {\n if (activeRef.current === targetKey) {\n focusTargetElement.focus();\n }\n });\n }\n };\n if ([HOME, END].includes(which) || offsetObj.sibling || !focusMenuElement) {\n // ========================== Sibling ==========================\n // Find walkable focus menu element container\n var parentQueryContainer;\n if (!focusMenuElement || mode === 'inline') {\n parentQueryContainer = containerRef.current;\n } else {\n parentQueryContainer = findContainerUL(focusMenuElement);\n }\n\n // Get next focus element\n var targetElement;\n var focusableElements = getFocusableElements(parentQueryContainer, elements);\n if (which === HOME) {\n targetElement = focusableElements[0];\n } else if (which === END) {\n targetElement = focusableElements[focusableElements.length - 1];\n } else {\n targetElement = getNextFocusElement(parentQueryContainer, elements, focusMenuElement, offsetObj.offset);\n }\n // Focus menu item\n tryFocus(targetElement);\n\n // ======================= InlineTrigger =======================\n } else if (offsetObj.inlineTrigger) {\n // Inline trigger no need switch to sub menu item\n triggerAccessibilityOpen(focusMenuKey);\n // =========================== Level ===========================\n } else if (offsetObj.offset > 0) {\n triggerAccessibilityOpen(focusMenuKey, true);\n cleanRaf();\n rafRef.current = raf(function () {\n // Async should resync elements\n refreshElements();\n var controlId = focusMenuElement.getAttribute('aria-controls');\n var subQueryContainer = document.getElementById(controlId);\n\n // Get sub focusable menu item\n var targetElement = getNextFocusElement(subQueryContainer, elements);\n\n // Focus menu item\n tryFocus(targetElement);\n }, 5);\n } else if (offsetObj.offset < 0) {\n var keyPath = getKeyPath(focusMenuKey, true);\n var parentKey = keyPath[keyPath.length - 2];\n var parentMenuElement = key2element.get(parentKey);\n\n // Focus menu item\n triggerAccessibilityOpen(parentKey, false);\n tryFocus(parentMenuElement);\n }\n }\n\n // Pass origin key down event\n originOnKeyDown === null || originOnKeyDown === void 0 ? void 0 : originOnKeyDown(e);\n };\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useCallback } from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { nextSlice } from \"../utils/timeUtil\";\nvar PATH_SPLIT = '__RC_UTIL_PATH_SPLIT__';\nvar getPathStr = function getPathStr(keyPath) {\n return keyPath.join(PATH_SPLIT);\n};\nvar getPathKeys = function getPathKeys(keyPathStr) {\n return keyPathStr.split(PATH_SPLIT);\n};\nexport var OVERFLOW_KEY = 'rc-menu-more';\nexport default function useKeyRecords() {\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n internalForceUpdate = _React$useState2[1];\n var key2pathRef = useRef(new Map());\n var path2keyRef = useRef(new Map());\n var _React$useState3 = React.useState([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n overflowKeys = _React$useState4[0],\n setOverflowKeys = _React$useState4[1];\n var updateRef = useRef(0);\n var destroyRef = useRef(false);\n var forceUpdate = function forceUpdate() {\n if (!destroyRef.current) {\n internalForceUpdate({});\n }\n };\n var registerPath = useCallback(function (key, keyPath) {\n // Warning for invalidate or duplicated `key`\n if (process.env.NODE_ENV !== 'production') {\n warning(!key2pathRef.current.has(key), \"Duplicated key '\".concat(key, \"' used in Menu by path [\").concat(keyPath.join(' > '), \"]\"));\n }\n\n // Fill map\n var connectedPath = getPathStr(keyPath);\n path2keyRef.current.set(connectedPath, key);\n key2pathRef.current.set(key, connectedPath);\n updateRef.current += 1;\n var id = updateRef.current;\n nextSlice(function () {\n if (id === updateRef.current) {\n forceUpdate();\n }\n });\n }, []);\n var unregisterPath = useCallback(function (key, keyPath) {\n var connectedPath = getPathStr(keyPath);\n path2keyRef.current.delete(connectedPath);\n key2pathRef.current.delete(key);\n }, []);\n var refreshOverflowKeys = useCallback(function (keys) {\n setOverflowKeys(keys);\n }, []);\n var getKeyPath = useCallback(function (eventKey, includeOverflow) {\n var fullPath = key2pathRef.current.get(eventKey) || '';\n var keys = getPathKeys(fullPath);\n if (includeOverflow && overflowKeys.includes(keys[0])) {\n keys.unshift(OVERFLOW_KEY);\n }\n return keys;\n }, [overflowKeys]);\n var isSubPathKey = useCallback(function (pathKeys, eventKey) {\n return pathKeys.some(function (pathKey) {\n var pathKeyList = getKeyPath(pathKey, true);\n return pathKeyList.includes(eventKey);\n });\n }, [getKeyPath]);\n var getKeys = function getKeys() {\n var keys = _toConsumableArray(key2pathRef.current.keys());\n if (overflowKeys.length) {\n keys.push(OVERFLOW_KEY);\n }\n return keys;\n };\n\n /**\n * Find current key related child path keys\n */\n var getSubPathKeys = useCallback(function (key) {\n var connectedPath = \"\".concat(key2pathRef.current.get(key)).concat(PATH_SPLIT);\n var pathKeys = new Set();\n _toConsumableArray(path2keyRef.current.keys()).forEach(function (pathKey) {\n if (pathKey.startsWith(connectedPath)) {\n pathKeys.add(path2keyRef.current.get(pathKey));\n }\n });\n return pathKeys;\n }, []);\n React.useEffect(function () {\n return function () {\n destroyRef.current = true;\n };\n }, []);\n return {\n // Register\n registerPath: registerPath,\n unregisterPath: unregisterPath,\n refreshOverflowKeys: refreshOverflowKeys,\n // Util\n isSubPathKey: isSubPathKey,\n getKeyPath: getKeyPath,\n getKeys: getKeys,\n getSubPathKeys: getSubPathKeys\n };\n}","export function nextSlice(callback) {\n /* istanbul ignore next */\n Promise.resolve().then(callback);\n}","import * as React from 'react';\n\n/**\n * Cache callback function that always return same ref instead.\n * This is used for context optimization.\n */\nexport default function useMemoCallback(func) {\n var funRef = React.useRef(func);\n funRef.current = func;\n var callback = React.useCallback(function () {\n var _funRef$current;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_funRef$current = funRef.current) === null || _funRef$current === void 0 ? void 0 : _funRef$current.call.apply(_funRef$current, [funRef].concat(args));\n }, []);\n return func ? callback : undefined;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nvar uniquePrefix = Math.random().toFixed(5).toString().slice(2);\nvar internalId = 0;\nexport default function useUUID(id) {\n var _useMergedState = useMergedState(id, {\n value: id\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n uuid = _useMergedState2[0],\n setUUID = _useMergedState2[1];\n React.useEffect(function () {\n internalId += 1;\n var newId = process.env.NODE_ENV === 'test' ? 'test' : \"\".concat(uniquePrefix, \"-\").concat(internalId);\n setUUID(\"rc-menu-uuid-\".concat(newId));\n }, []);\n return uuid;\n}","import * as React from 'react';\nimport { MenuContext } from \"../context/MenuContext\";\nexport default function useActive(eventKey, disabled, onMouseEnter, onMouseLeave) {\n var _React$useContext = React.useContext(MenuContext),\n activeKey = _React$useContext.activeKey,\n onActive = _React$useContext.onActive,\n onInactive = _React$useContext.onInactive;\n var ret = {\n active: activeKey === eventKey\n };\n\n // Skip when disabled\n if (!disabled) {\n ret.onMouseEnter = function (domEvent) {\n onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter({\n key: eventKey,\n domEvent: domEvent\n });\n onActive(eventKey);\n };\n ret.onMouseLeave = function (domEvent) {\n onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave({\n key: eventKey,\n domEvent: domEvent\n });\n onInactive(eventKey);\n };\n }\n return ret;\n}","import * as React from 'react';\nimport { MenuContext } from \"../context/MenuContext\";\nexport default function useDirectionStyle(level) {\n var _React$useContext = React.useContext(MenuContext),\n mode = _React$useContext.mode,\n rtl = _React$useContext.rtl,\n inlineIndent = _React$useContext.inlineIndent;\n if (mode !== 'inline') {\n return null;\n }\n var len = level;\n return rtl ? {\n paddingRight: len * inlineIndent\n } : {\n paddingLeft: len * inlineIndent\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nexport default function Icon(_ref) {\n var icon = _ref.icon,\n props = _ref.props,\n children = _ref.children;\n var iconNode;\n if (typeof icon === 'function') {\n iconNode = /*#__PURE__*/React.createElement(icon, _objectSpread({}, props));\n } else {\n // Compatible for origin definition\n iconNode = icon;\n }\n return iconNode || children || null;\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"item\"];\nimport warning from \"rc-util/es/warning\";\n\n/**\n * `onClick` event return `info.item` which point to react node directly.\n * We should warning this since it will not work on FC.\n */\nexport function warnItemProp(_ref) {\n var item = _ref.item,\n restInfo = _objectWithoutProperties(_ref, _excluded);\n Object.defineProperty(restInfo, 'item', {\n get: function get() {\n warning(false, '`info.item` is deprecated since we will move to function component that not provides React Node instance in future.');\n return item;\n }\n });\n return restInfo;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"title\", \"attribute\", \"elementRef\"],\n _excluded2 = [\"style\", \"className\", \"eventKey\", \"warnKey\", \"disabled\", \"itemIcon\", \"children\", \"role\", \"onMouseEnter\", \"onMouseLeave\", \"onClick\", \"onKeyDown\", \"onFocus\"],\n _excluded3 = [\"active\"];\nimport classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport omit from \"rc-util/es/omit\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { useMenuId } from \"./context/IdContext\";\nimport { MenuContext } from \"./context/MenuContext\";\nimport { useFullPath, useMeasure } from \"./context/PathContext\";\nimport PrivateContext from \"./context/PrivateContext\";\nimport useActive from \"./hooks/useActive\";\nimport useDirectionStyle from \"./hooks/useDirectionStyle\";\nimport Icon from \"./Icon\";\nimport { warnItemProp } from \"./utils/warnUtil\";\n// Since Menu event provide the `info.item` which point to the MenuItem node instance.\n// We have to use class component here.\n// This should be removed from doc & api in future.\nvar LegacyMenuItem = /*#__PURE__*/function (_React$Component) {\n _inherits(LegacyMenuItem, _React$Component);\n var _super = _createSuper(LegacyMenuItem);\n function LegacyMenuItem() {\n _classCallCheck(this, LegacyMenuItem);\n return _super.apply(this, arguments);\n }\n _createClass(LegacyMenuItem, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n title = _this$props.title,\n attribute = _this$props.attribute,\n elementRef = _this$props.elementRef,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n\n // Here the props are eventually passed to the DOM element.\n // React does not recognize non-standard attributes.\n // Therefore, remove the props that is not used here.\n // ref: https://github.com/ant-design/ant-design/issues/41395\n var passedProps = omit(restProps, ['eventKey', 'popupClassName', 'popupOffset', 'onTitleClick']);\n warning(!attribute, '`attribute` of Menu.Item is deprecated. Please pass attribute directly.');\n return /*#__PURE__*/React.createElement(Overflow.Item, _extends({}, attribute, {\n title: typeof title === 'string' ? title : undefined\n }, passedProps, {\n ref: elementRef\n }));\n }\n }]);\n return LegacyMenuItem;\n}(React.Component);\n/**\n * Real Menu Item component\n */\nvar InternalMenuItem = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var style = props.style,\n className = props.className,\n eventKey = props.eventKey,\n warnKey = props.warnKey,\n disabled = props.disabled,\n itemIcon = props.itemIcon,\n children = props.children,\n role = props.role,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onClick = props.onClick,\n onKeyDown = props.onKeyDown,\n onFocus = props.onFocus,\n restProps = _objectWithoutProperties(props, _excluded2);\n var domDataId = useMenuId(eventKey);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n onItemClick = _React$useContext.onItemClick,\n contextDisabled = _React$useContext.disabled,\n overflowDisabled = _React$useContext.overflowDisabled,\n contextItemIcon = _React$useContext.itemIcon,\n selectedKeys = _React$useContext.selectedKeys,\n onActive = _React$useContext.onActive;\n var _React$useContext2 = React.useContext(PrivateContext),\n _internalRenderMenuItem = _React$useContext2._internalRenderMenuItem;\n var itemCls = \"\".concat(prefixCls, \"-item\");\n var legacyMenuItemRef = React.useRef();\n var elementRef = React.useRef();\n var mergedDisabled = contextDisabled || disabled;\n var mergedEleRef = useComposeRef(ref, elementRef);\n var connectedKeys = useFullPath(eventKey);\n\n // ================================ Warn ================================\n if (process.env.NODE_ENV !== 'production' && warnKey) {\n warning(false, 'MenuItem should not leave undefined `key`.');\n }\n\n // ============================= Info =============================\n var getEventInfo = function getEventInfo(e) {\n return {\n key: eventKey,\n // Note: For legacy code is reversed which not like other antd component\n keyPath: _toConsumableArray(connectedKeys).reverse(),\n item: legacyMenuItemRef.current,\n domEvent: e\n };\n };\n\n // ============================= Icon =============================\n var mergedItemIcon = itemIcon || contextItemIcon;\n\n // ============================ Active ============================\n var _useActive = useActive(eventKey, mergedDisabled, onMouseEnter, onMouseLeave),\n active = _useActive.active,\n activeProps = _objectWithoutProperties(_useActive, _excluded3);\n\n // ============================ Select ============================\n var selected = selectedKeys.includes(eventKey);\n\n // ======================== DirectionStyle ========================\n var directionStyle = useDirectionStyle(connectedKeys.length);\n\n // ============================ Events ============================\n var onInternalClick = function onInternalClick(e) {\n if (mergedDisabled) {\n return;\n }\n var info = getEventInfo(e);\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n onItemClick(info);\n };\n var onInternalKeyDown = function onInternalKeyDown(e) {\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n if (e.which === KeyCode.ENTER) {\n var info = getEventInfo(e);\n\n // Legacy. Key will also trigger click event\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n onItemClick(info);\n }\n };\n\n /**\n * Used for accessibility. Helper will focus element without key board.\n * We should manually trigger an active\n */\n var onInternalFocus = function onInternalFocus(e) {\n onActive(eventKey);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n\n // ============================ Render ============================\n var optionRoleProps = {};\n if (props.role === 'option') {\n optionRoleProps['aria-selected'] = selected;\n }\n var renderNode = /*#__PURE__*/React.createElement(LegacyMenuItem, _extends({\n ref: legacyMenuItemRef,\n elementRef: mergedEleRef,\n role: role === null ? 'none' : role || 'menuitem',\n tabIndex: disabled ? null : -1,\n \"data-menu-id\": overflowDisabled && domDataId ? null : domDataId\n }, restProps, activeProps, optionRoleProps, {\n component: \"li\",\n \"aria-disabled\": disabled,\n style: _objectSpread(_objectSpread({}, directionStyle), style),\n className: classNames(itemCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(itemCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(itemCls, \"-selected\"), selected), _defineProperty(_classNames, \"\".concat(itemCls, \"-disabled\"), mergedDisabled), _classNames), className),\n onClick: onInternalClick,\n onKeyDown: onInternalKeyDown,\n onFocus: onInternalFocus\n }), children, /*#__PURE__*/React.createElement(Icon, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n isSelected: selected\n }),\n icon: mergedItemIcon\n }));\n if (_internalRenderMenuItem) {\n renderNode = _internalRenderMenuItem(renderNode, props, {\n selected: selected\n });\n }\n return renderNode;\n});\nfunction MenuItem(props, ref) {\n var eventKey = props.eventKey;\n\n // ==================== Record KeyPath ====================\n var measure = useMeasure();\n var connectedKeyPath = useFullPath(eventKey);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(function () {\n if (measure) {\n measure.registerPath(eventKey, connectedKeyPath);\n return function () {\n measure.unregisterPath(eventKey, connectedKeyPath);\n };\n }\n }, [connectedKeyPath]);\n if (measure) {\n return null;\n }\n\n // ======================== Render ========================\n return /*#__PURE__*/React.createElement(InternalMenuItem, _extends({}, props, {\n ref: ref\n }));\n}\nexport default /*#__PURE__*/React.forwardRef(MenuItem);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"children\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { MenuContext } from \"../context/MenuContext\";\nvar InternalSubMenuList = function InternalSubMenuList(_ref, ref) {\n var className = _ref.className,\n children = _ref.children,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n mode = _React$useContext.mode,\n rtl = _React$useContext.rtl;\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, rtl && \"\".concat(prefixCls, \"-rtl\"), \"\".concat(prefixCls, \"-sub\"), \"\".concat(prefixCls, \"-\").concat(mode === 'inline' ? 'inline' : 'vertical'), className),\n role: \"menu\"\n }, restProps, {\n \"data-menu-list\": true,\n ref: ref\n }), children);\n};\nvar SubMenuList = /*#__PURE__*/React.forwardRef(InternalSubMenuList);\nSubMenuList.displayName = 'SubMenuList';\nexport default SubMenuList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar _excluded = [\"label\", \"children\", \"key\", \"type\"];\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { Divider, MenuItem, MenuItemGroup, SubMenu } from '..';\nexport function parseChildren(children, keyPath) {\n return toArray(children).map(function (child, index) {\n if ( /*#__PURE__*/React.isValidElement(child)) {\n var _eventKey, _child$props;\n var key = child.key;\n var eventKey = (_eventKey = (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.eventKey) !== null && _eventKey !== void 0 ? _eventKey : key;\n var emptyKey = eventKey === null || eventKey === undefined;\n if (emptyKey) {\n eventKey = \"tmp_key-\".concat([].concat(_toConsumableArray(keyPath), [index]).join('-'));\n }\n var cloneProps = {\n key: eventKey,\n eventKey: eventKey\n };\n if (process.env.NODE_ENV !== 'production' && emptyKey) {\n cloneProps.warnKey = true;\n }\n return /*#__PURE__*/React.cloneElement(child, cloneProps);\n }\n return child;\n });\n}\nfunction convertItemsToNodes(list) {\n return (list || []).map(function (opt, index) {\n if (opt && _typeof(opt) === 'object') {\n var _ref = opt,\n label = _ref.label,\n children = _ref.children,\n key = _ref.key,\n type = _ref.type,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var mergedKey = key !== null && key !== void 0 ? key : \"tmp-\".concat(index);\n\n // MenuItemGroup & SubMenuItem\n if (children || type === 'group') {\n if (type === 'group') {\n // Group\n return /*#__PURE__*/React.createElement(MenuItemGroup, _extends({\n key: mergedKey\n }, restProps, {\n title: label\n }), convertItemsToNodes(children));\n }\n\n // Sub Menu\n return /*#__PURE__*/React.createElement(SubMenu, _extends({\n key: mergedKey\n }, restProps, {\n title: label\n }), convertItemsToNodes(children));\n }\n\n // MenuItem & Divider\n if (type === 'divider') {\n return /*#__PURE__*/React.createElement(Divider, _extends({\n key: mergedKey\n }, restProps));\n }\n return /*#__PURE__*/React.createElement(MenuItem, _extends({\n key: mergedKey\n }, restProps), label);\n }\n return null;\n }).filter(function (opt) {\n return opt;\n });\n}\nexport function parseItems(children, items, keyPath) {\n var childNodes = children;\n if (items) {\n childNodes = convertItemsToNodes(items);\n }\n return parseChildren(childNodes, keyPath);\n}","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nexport var placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport var placementsRtl = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n rightTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n leftTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport default placements;","export function getMotion(mode, motion, defaultMotions) {\n if (motion) {\n return motion;\n }\n if (defaultMotions) {\n return defaultMotions[mode] || defaultMotions.other;\n }\n return undefined;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\nimport raf from \"rc-util/es/raf\";\nimport { MenuContext } from \"../context/MenuContext\";\nimport { placements, placementsRtl } from \"../placements\";\nimport { getMotion } from \"../utils/motionUtil\";\nvar popupPlacementMap = {\n horizontal: 'bottomLeft',\n vertical: 'rightTop',\n 'vertical-left': 'rightTop',\n 'vertical-right': 'leftTop'\n};\nexport default function PopupTrigger(_ref) {\n var prefixCls = _ref.prefixCls,\n visible = _ref.visible,\n children = _ref.children,\n popup = _ref.popup,\n popupClassName = _ref.popupClassName,\n popupOffset = _ref.popupOffset,\n disabled = _ref.disabled,\n mode = _ref.mode,\n onVisibleChange = _ref.onVisibleChange;\n var _React$useContext = React.useContext(MenuContext),\n getPopupContainer = _React$useContext.getPopupContainer,\n rtl = _React$useContext.rtl,\n subMenuOpenDelay = _React$useContext.subMenuOpenDelay,\n subMenuCloseDelay = _React$useContext.subMenuCloseDelay,\n builtinPlacements = _React$useContext.builtinPlacements,\n triggerSubMenuAction = _React$useContext.triggerSubMenuAction,\n forceSubMenuRender = _React$useContext.forceSubMenuRender,\n rootClassName = _React$useContext.rootClassName,\n motion = _React$useContext.motion,\n defaultMotions = _React$useContext.defaultMotions;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerVisible = _React$useState2[0],\n setInnerVisible = _React$useState2[1];\n var placement = rtl ? _objectSpread(_objectSpread({}, placementsRtl), builtinPlacements) : _objectSpread(_objectSpread({}, placements), builtinPlacements);\n var popupPlacement = popupPlacementMap[mode];\n var targetMotion = getMotion(mode, motion, defaultMotions);\n var targetMotionRef = React.useRef(targetMotion);\n if (mode !== 'inline') {\n /**\n * PopupTrigger is only used for vertical and horizontal types.\n * When collapsed is unfolded, the inline animation will destroy the vertical animation.\n */\n targetMotionRef.current = targetMotion;\n }\n var mergedMotion = _objectSpread(_objectSpread({}, targetMotionRef.current), {}, {\n leavedClassName: \"\".concat(prefixCls, \"-hidden\"),\n removeOnLeave: false,\n motionAppear: true\n });\n\n // Delay to change visible\n var visibleRef = React.useRef();\n React.useEffect(function () {\n visibleRef.current = raf(function () {\n setInnerVisible(visible);\n });\n return function () {\n raf.cancel(visibleRef.current);\n };\n }, [visible]);\n return /*#__PURE__*/React.createElement(Trigger, {\n prefixCls: prefixCls,\n popupClassName: classNames(\"\".concat(prefixCls, \"-popup\"), _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), rtl), popupClassName, rootClassName),\n stretch: mode === 'horizontal' ? 'minWidth' : null,\n getPopupContainer: getPopupContainer,\n builtinPlacements: placement,\n popupPlacement: popupPlacement,\n popupVisible: innerVisible,\n popup: popup,\n popupAlign: popupOffset && {\n offset: popupOffset\n },\n action: disabled ? [] : [triggerSubMenuAction],\n mouseEnterDelay: subMenuOpenDelay,\n mouseLeaveDelay: subMenuCloseDelay,\n onPopupVisibleChange: onVisibleChange,\n forceRender: forceSubMenuRender,\n popupMotion: mergedMotion\n }, children);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport { getMotion } from \"../utils/motionUtil\";\nimport MenuContextProvider, { MenuContext } from \"../context/MenuContext\";\nimport SubMenuList from \"./SubMenuList\";\nexport default function InlineSubMenuList(_ref) {\n var id = _ref.id,\n open = _ref.open,\n keyPath = _ref.keyPath,\n children = _ref.children;\n var fixedMode = 'inline';\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n forceSubMenuRender = _React$useContext.forceSubMenuRender,\n motion = _React$useContext.motion,\n defaultMotions = _React$useContext.defaultMotions,\n mode = _React$useContext.mode;\n\n // Always use latest mode check\n var sameModeRef = React.useRef(false);\n sameModeRef.current = mode === fixedMode;\n\n // We record `destroy` mark here since when mode change from `inline` to others.\n // The inline list should remove when motion end.\n var _React$useState = React.useState(!sameModeRef.current),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n destroy = _React$useState2[0],\n setDestroy = _React$useState2[1];\n var mergedOpen = sameModeRef.current ? open : false;\n\n // ================================= Effect =================================\n // Reset destroy state when mode change back\n React.useEffect(function () {\n if (sameModeRef.current) {\n setDestroy(false);\n }\n }, [mode]);\n\n // ================================= Render =================================\n var mergedMotion = _objectSpread({}, getMotion(fixedMode, motion, defaultMotions));\n\n // No need appear since nest inlineCollapse changed\n if (keyPath.length > 1) {\n mergedMotion.motionAppear = false;\n }\n\n // Hide inline list when mode changed and motion end\n var originOnVisibleChanged = mergedMotion.onVisibleChanged;\n mergedMotion.onVisibleChanged = function (newVisible) {\n if (!sameModeRef.current && !newVisible) {\n setDestroy(true);\n }\n return originOnVisibleChanged === null || originOnVisibleChanged === void 0 ? void 0 : originOnVisibleChanged(newVisible);\n };\n if (destroy) {\n return null;\n }\n return /*#__PURE__*/React.createElement(MenuContextProvider, {\n mode: fixedMode,\n locked: !sameModeRef.current\n }, /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: mergedOpen\n }, mergedMotion, {\n forceRender: forceSubMenuRender,\n removeOnLeave: false,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }), function (_ref2) {\n var motionClassName = _ref2.className,\n motionStyle = _ref2.style;\n return /*#__PURE__*/React.createElement(SubMenuList, {\n id: id,\n className: motionClassName,\n style: motionStyle\n }, children);\n }));\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"style\", \"className\", \"title\", \"eventKey\", \"warnKey\", \"disabled\", \"internalPopupClose\", \"children\", \"itemIcon\", \"expandIcon\", \"popupClassName\", \"popupOffset\", \"onClick\", \"onMouseEnter\", \"onMouseLeave\", \"onTitleClick\", \"onTitleMouseEnter\", \"onTitleMouseLeave\"],\n _excluded2 = [\"active\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport warning from \"rc-util/es/warning\";\nimport SubMenuList from \"./SubMenuList\";\nimport { parseChildren } from \"../utils/nodeUtil\";\nimport MenuContextProvider, { MenuContext } from \"../context/MenuContext\";\nimport useMemoCallback from \"../hooks/useMemoCallback\";\nimport PopupTrigger from \"./PopupTrigger\";\nimport Icon from \"../Icon\";\nimport useActive from \"../hooks/useActive\";\nimport { warnItemProp } from \"../utils/warnUtil\";\nimport useDirectionStyle from \"../hooks/useDirectionStyle\";\nimport InlineSubMenuList from \"./InlineSubMenuList\";\nimport { PathTrackerContext, PathUserContext, useFullPath, useMeasure } from \"../context/PathContext\";\nimport { useMenuId } from \"../context/IdContext\";\nimport PrivateContext from \"../context/PrivateContext\";\nvar InternalSubMenu = function InternalSubMenu(props) {\n var _classNames;\n var style = props.style,\n className = props.className,\n title = props.title,\n eventKey = props.eventKey,\n warnKey = props.warnKey,\n disabled = props.disabled,\n internalPopupClose = props.internalPopupClose,\n children = props.children,\n itemIcon = props.itemIcon,\n expandIcon = props.expandIcon,\n popupClassName = props.popupClassName,\n popupOffset = props.popupOffset,\n onClick = props.onClick,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onTitleClick = props.onTitleClick,\n onTitleMouseEnter = props.onTitleMouseEnter,\n onTitleMouseLeave = props.onTitleMouseLeave,\n restProps = _objectWithoutProperties(props, _excluded);\n var domDataId = useMenuId(eventKey);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n mode = _React$useContext.mode,\n openKeys = _React$useContext.openKeys,\n contextDisabled = _React$useContext.disabled,\n overflowDisabled = _React$useContext.overflowDisabled,\n activeKey = _React$useContext.activeKey,\n selectedKeys = _React$useContext.selectedKeys,\n contextItemIcon = _React$useContext.itemIcon,\n contextExpandIcon = _React$useContext.expandIcon,\n onItemClick = _React$useContext.onItemClick,\n onOpenChange = _React$useContext.onOpenChange,\n onActive = _React$useContext.onActive;\n var _React$useContext2 = React.useContext(PrivateContext),\n _internalRenderSubMenuItem = _React$useContext2._internalRenderSubMenuItem;\n var _React$useContext3 = React.useContext(PathUserContext),\n isSubPathKey = _React$useContext3.isSubPathKey;\n var connectedPath = useFullPath();\n var subMenuPrefixCls = \"\".concat(prefixCls, \"-submenu\");\n var mergedDisabled = contextDisabled || disabled;\n var elementRef = React.useRef();\n var popupRef = React.useRef();\n\n // ================================ Warn ================================\n if (process.env.NODE_ENV !== 'production' && warnKey) {\n warning(false, 'SubMenu should not leave undefined `key`.');\n }\n\n // ================================ Icon ================================\n var mergedItemIcon = itemIcon || contextItemIcon;\n var mergedExpandIcon = expandIcon || contextExpandIcon;\n\n // ================================ Open ================================\n var originOpen = openKeys.includes(eventKey);\n var open = !overflowDisabled && originOpen;\n\n // =============================== Select ===============================\n var childrenSelected = isSubPathKey(selectedKeys, eventKey);\n\n // =============================== Active ===============================\n var _useActive = useActive(eventKey, mergedDisabled, onTitleMouseEnter, onTitleMouseLeave),\n active = _useActive.active,\n activeProps = _objectWithoutProperties(_useActive, _excluded2);\n\n // Fallback of active check to avoid hover on menu title or disabled item\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n childrenActive = _React$useState2[0],\n setChildrenActive = _React$useState2[1];\n var triggerChildrenActive = function triggerChildrenActive(newActive) {\n if (!mergedDisabled) {\n setChildrenActive(newActive);\n }\n };\n var onInternalMouseEnter = function onInternalMouseEnter(domEvent) {\n triggerChildrenActive(true);\n onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter({\n key: eventKey,\n domEvent: domEvent\n });\n };\n var onInternalMouseLeave = function onInternalMouseLeave(domEvent) {\n triggerChildrenActive(false);\n onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave({\n key: eventKey,\n domEvent: domEvent\n });\n };\n var mergedActive = React.useMemo(function () {\n if (active) {\n return active;\n }\n if (mode !== 'inline') {\n return childrenActive || isSubPathKey([activeKey], eventKey);\n }\n return false;\n }, [mode, active, activeKey, childrenActive, eventKey, isSubPathKey]);\n\n // ========================== DirectionStyle ==========================\n var directionStyle = useDirectionStyle(connectedPath.length);\n\n // =============================== Events ===============================\n // >>>> Title click\n var onInternalTitleClick = function onInternalTitleClick(e) {\n // Skip if disabled\n if (mergedDisabled) {\n return;\n }\n onTitleClick === null || onTitleClick === void 0 ? void 0 : onTitleClick({\n key: eventKey,\n domEvent: e\n });\n\n // Trigger open by click when mode is `inline`\n if (mode === 'inline') {\n onOpenChange(eventKey, !originOpen);\n }\n };\n\n // >>>> Context for children click\n var onMergedItemClick = useMemoCallback(function (info) {\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n onItemClick(info);\n });\n\n // >>>>> Visible change\n var onPopupVisibleChange = function onPopupVisibleChange(newVisible) {\n if (mode !== 'inline') {\n onOpenChange(eventKey, newVisible);\n }\n };\n\n /**\n * Used for accessibility. Helper will focus element without key board.\n * We should manually trigger an active\n */\n var onInternalFocus = function onInternalFocus() {\n onActive(eventKey);\n };\n\n // =============================== Render ===============================\n var popupId = domDataId && \"\".concat(domDataId, \"-popup\");\n\n // >>>>> Title\n var titleNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n role: \"menuitem\",\n style: directionStyle,\n className: \"\".concat(subMenuPrefixCls, \"-title\"),\n tabIndex: mergedDisabled ? null : -1,\n ref: elementRef,\n title: typeof title === 'string' ? title : null,\n \"data-menu-id\": overflowDisabled && domDataId ? null : domDataId,\n \"aria-expanded\": open,\n \"aria-haspopup\": true,\n \"aria-controls\": popupId,\n \"aria-disabled\": mergedDisabled,\n onClick: onInternalTitleClick,\n onFocus: onInternalFocus\n }, activeProps), title, /*#__PURE__*/React.createElement(Icon, {\n icon: mode !== 'horizontal' ? mergedExpandIcon : null,\n props: _objectSpread(_objectSpread({}, props), {}, {\n isOpen: open,\n // [Legacy] Not sure why need this mark\n isSubMenu: true\n })\n }, /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(subMenuPrefixCls, \"-arrow\")\n })));\n\n // Cache mode if it change to `inline` which do not have popup motion\n var triggerModeRef = React.useRef(mode);\n if (mode !== 'inline' && connectedPath.length > 1) {\n triggerModeRef.current = 'vertical';\n } else {\n triggerModeRef.current = mode;\n }\n if (!overflowDisabled) {\n var triggerMode = triggerModeRef.current;\n\n // Still wrap with Trigger here since we need avoid react re-mount dom node\n // Which makes motion failed\n titleNode = /*#__PURE__*/React.createElement(PopupTrigger, {\n mode: triggerMode,\n prefixCls: subMenuPrefixCls,\n visible: !internalPopupClose && open && mode !== 'inline',\n popupClassName: popupClassName,\n popupOffset: popupOffset,\n popup: /*#__PURE__*/React.createElement(MenuContextProvider\n // Special handle of horizontal mode\n , {\n mode: triggerMode === 'horizontal' ? 'vertical' : triggerMode\n }, /*#__PURE__*/React.createElement(SubMenuList, {\n id: popupId,\n ref: popupRef\n }, children)),\n disabled: mergedDisabled,\n onVisibleChange: onPopupVisibleChange\n }, titleNode);\n }\n\n // >>>>> List node\n var listNode = /*#__PURE__*/React.createElement(Overflow.Item, _extends({\n role: \"none\"\n }, restProps, {\n component: \"li\",\n style: style,\n className: classNames(subMenuPrefixCls, \"\".concat(subMenuPrefixCls, \"-\").concat(mode), className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-open\"), open), _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-active\"), mergedActive), _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-selected\"), childrenSelected), _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-disabled\"), mergedDisabled), _classNames)),\n onMouseEnter: onInternalMouseEnter,\n onMouseLeave: onInternalMouseLeave\n }), titleNode, !overflowDisabled && /*#__PURE__*/React.createElement(InlineSubMenuList, {\n id: popupId,\n open: open,\n keyPath: connectedPath\n }, children));\n if (_internalRenderSubMenuItem) {\n listNode = _internalRenderSubMenuItem(listNode, props, {\n selected: childrenSelected,\n active: mergedActive,\n open: open,\n disabled: mergedDisabled\n });\n }\n\n // >>>>> Render\n return /*#__PURE__*/React.createElement(MenuContextProvider, {\n onItemClick: onMergedItemClick,\n mode: mode === 'horizontal' ? 'vertical' : mode,\n itemIcon: mergedItemIcon,\n expandIcon: mergedExpandIcon\n }, listNode);\n};\nexport default function SubMenu(props) {\n var eventKey = props.eventKey,\n children = props.children;\n var connectedKeyPath = useFullPath(eventKey);\n var childList = parseChildren(children, connectedKeyPath);\n\n // ==================== Record KeyPath ====================\n var measure = useMeasure();\n\n // eslint-disable-next-line consistent-return\n React.useEffect(function () {\n if (measure) {\n measure.registerPath(eventKey, connectedKeyPath);\n return function () {\n measure.unregisterPath(eventKey, connectedKeyPath);\n };\n }\n }, [connectedKeyPath]);\n var renderNode;\n\n // ======================== Render ========================\n if (measure) {\n renderNode = childList;\n } else {\n renderNode = /*#__PURE__*/React.createElement(InternalSubMenu, props, childList);\n }\n return /*#__PURE__*/React.createElement(PathTrackerContext.Provider, {\n value: connectedKeyPath\n }, renderNode);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"rootClassName\", \"style\", \"className\", \"tabIndex\", \"items\", \"children\", \"direction\", \"id\", \"mode\", \"inlineCollapsed\", \"disabled\", \"disabledOverflow\", \"subMenuOpenDelay\", \"subMenuCloseDelay\", \"forceSubMenuRender\", \"defaultOpenKeys\", \"openKeys\", \"activeKey\", \"defaultActiveFirst\", \"selectable\", \"multiple\", \"defaultSelectedKeys\", \"selectedKeys\", \"onSelect\", \"onDeselect\", \"inlineIndent\", \"motion\", \"defaultMotions\", \"triggerSubMenuAction\", \"builtinPlacements\", \"itemIcon\", \"expandIcon\", \"overflowedIndicator\", \"overflowedIndicatorPopupClassName\", \"getPopupContainer\", \"onClick\", \"onOpenChange\", \"onKeyDown\", \"openAnimation\", \"openTransitionName\", \"_internalRenderMenuItem\", \"_internalRenderSubMenuItem\"];\nimport classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { useImperativeHandle } from 'react';\nimport { flushSync } from 'react-dom';\nimport isEqual from \"rc-util/es/isEqual\";\nimport { getMenuId, IdContext } from \"./context/IdContext\";\nimport MenuContextProvider from \"./context/MenuContext\";\nimport { PathRegisterContext, PathUserContext } from \"./context/PathContext\";\nimport PrivateContext from \"./context/PrivateContext\";\nimport useAccessibility from \"./hooks/useAccessibility\";\nimport useKeyRecords, { OVERFLOW_KEY } from \"./hooks/useKeyRecords\";\nimport useMemoCallback from \"./hooks/useMemoCallback\";\nimport useUUID from \"./hooks/useUUID\";\nimport MenuItem from \"./MenuItem\";\nimport SubMenu from \"./SubMenu\";\nimport { parseItems } from \"./utils/nodeUtil\";\nimport { warnItemProp } from \"./utils/warnUtil\";\n\n/**\n * Menu modify after refactor:\n * ## Add\n * - disabled\n *\n * ## Remove\n * - openTransitionName\n * - openAnimation\n * - onDestroy\n * - siderCollapsed: Seems antd do not use this prop (Need test in antd)\n * - collapsedWidth: Seems this logic should be handle by antd Layout.Sider\n */\n\n// optimize for render\nvar EMPTY_LIST = [];\nvar Menu = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _childList$, _classNames;\n var _ref = props,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-menu' : _ref$prefixCls,\n rootClassName = _ref.rootClassName,\n style = _ref.style,\n className = _ref.className,\n _ref$tabIndex = _ref.tabIndex,\n tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,\n items = _ref.items,\n children = _ref.children,\n direction = _ref.direction,\n id = _ref.id,\n _ref$mode = _ref.mode,\n mode = _ref$mode === void 0 ? 'vertical' : _ref$mode,\n inlineCollapsed = _ref.inlineCollapsed,\n disabled = _ref.disabled,\n disabledOverflow = _ref.disabledOverflow,\n _ref$subMenuOpenDelay = _ref.subMenuOpenDelay,\n subMenuOpenDelay = _ref$subMenuOpenDelay === void 0 ? 0.1 : _ref$subMenuOpenDelay,\n _ref$subMenuCloseDela = _ref.subMenuCloseDelay,\n subMenuCloseDelay = _ref$subMenuCloseDela === void 0 ? 0.1 : _ref$subMenuCloseDela,\n forceSubMenuRender = _ref.forceSubMenuRender,\n defaultOpenKeys = _ref.defaultOpenKeys,\n openKeys = _ref.openKeys,\n activeKey = _ref.activeKey,\n defaultActiveFirst = _ref.defaultActiveFirst,\n _ref$selectable = _ref.selectable,\n selectable = _ref$selectable === void 0 ? true : _ref$selectable,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === void 0 ? false : _ref$multiple,\n defaultSelectedKeys = _ref.defaultSelectedKeys,\n selectedKeys = _ref.selectedKeys,\n onSelect = _ref.onSelect,\n onDeselect = _ref.onDeselect,\n _ref$inlineIndent = _ref.inlineIndent,\n inlineIndent = _ref$inlineIndent === void 0 ? 24 : _ref$inlineIndent,\n motion = _ref.motion,\n defaultMotions = _ref.defaultMotions,\n _ref$triggerSubMenuAc = _ref.triggerSubMenuAction,\n triggerSubMenuAction = _ref$triggerSubMenuAc === void 0 ? 'hover' : _ref$triggerSubMenuAc,\n builtinPlacements = _ref.builtinPlacements,\n itemIcon = _ref.itemIcon,\n expandIcon = _ref.expandIcon,\n _ref$overflowedIndica = _ref.overflowedIndicator,\n overflowedIndicator = _ref$overflowedIndica === void 0 ? '...' : _ref$overflowedIndica,\n overflowedIndicatorPopupClassName = _ref.overflowedIndicatorPopupClassName,\n getPopupContainer = _ref.getPopupContainer,\n onClick = _ref.onClick,\n onOpenChange = _ref.onOpenChange,\n onKeyDown = _ref.onKeyDown,\n openAnimation = _ref.openAnimation,\n openTransitionName = _ref.openTransitionName,\n _internalRenderMenuItem = _ref._internalRenderMenuItem,\n _internalRenderSubMenuItem = _ref._internalRenderSubMenuItem,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var childList = React.useMemo(function () {\n return parseItems(children, items, EMPTY_LIST);\n }, [children, items]);\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mounted = _React$useState2[0],\n setMounted = _React$useState2[1];\n var containerRef = React.useRef();\n var uuid = useUUID(id);\n var isRtl = direction === 'rtl';\n\n // ========================= Warn =========================\n if (process.env.NODE_ENV !== 'production') {\n warning(!openAnimation && !openTransitionName, '`openAnimation` and `openTransitionName` is removed. Please use `motion` or `defaultMotion` instead.');\n }\n\n // ========================= Open =========================\n var _useMergedState = useMergedState(defaultOpenKeys, {\n value: openKeys,\n postState: function postState(keys) {\n return keys || EMPTY_LIST;\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedOpenKeys = _useMergedState2[0],\n setMergedOpenKeys = _useMergedState2[1];\n\n // React 18 will merge mouse event which means we open key will not sync\n // ref: https://github.com/ant-design/ant-design/issues/38818\n var triggerOpenKeys = function triggerOpenKeys(keys) {\n var forceFlush = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n function doUpdate() {\n setMergedOpenKeys(keys);\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(keys);\n }\n if (forceFlush) {\n flushSync(doUpdate);\n } else {\n doUpdate();\n }\n };\n\n // >>>>> Cache & Reset open keys when inlineCollapsed changed\n var _React$useState3 = React.useState(mergedOpenKeys),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n inlineCacheOpenKeys = _React$useState4[0],\n setInlineCacheOpenKeys = _React$useState4[1];\n var mountRef = React.useRef(false);\n\n // ========================= Mode =========================\n var _React$useMemo = React.useMemo(function () {\n if ((mode === 'inline' || mode === 'vertical') && inlineCollapsed) {\n return ['vertical', inlineCollapsed];\n }\n return [mode, false];\n }, [mode, inlineCollapsed]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n mergedMode = _React$useMemo2[0],\n mergedInlineCollapsed = _React$useMemo2[1];\n var isInlineMode = mergedMode === 'inline';\n var _React$useState5 = React.useState(mergedMode),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n internalMode = _React$useState6[0],\n setInternalMode = _React$useState6[1];\n var _React$useState7 = React.useState(mergedInlineCollapsed),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n internalInlineCollapsed = _React$useState8[0],\n setInternalInlineCollapsed = _React$useState8[1];\n React.useEffect(function () {\n setInternalMode(mergedMode);\n setInternalInlineCollapsed(mergedInlineCollapsed);\n if (!mountRef.current) {\n return;\n }\n // Synchronously update MergedOpenKeys\n if (isInlineMode) {\n setMergedOpenKeys(inlineCacheOpenKeys);\n } else {\n // Trigger open event in case its in control\n triggerOpenKeys(EMPTY_LIST);\n }\n }, [mergedMode, mergedInlineCollapsed]);\n\n // ====================== Responsive ======================\n var _React$useState9 = React.useState(0),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n lastVisibleIndex = _React$useState10[0],\n setLastVisibleIndex = _React$useState10[1];\n var allVisible = lastVisibleIndex >= childList.length - 1 || internalMode !== 'horizontal' || disabledOverflow;\n\n // Cache\n React.useEffect(function () {\n if (isInlineMode) {\n setInlineCacheOpenKeys(mergedOpenKeys);\n }\n }, [mergedOpenKeys]);\n React.useEffect(function () {\n mountRef.current = true;\n return function () {\n mountRef.current = false;\n };\n }, []);\n\n // ========================= Path =========================\n var _useKeyRecords = useKeyRecords(),\n registerPath = _useKeyRecords.registerPath,\n unregisterPath = _useKeyRecords.unregisterPath,\n refreshOverflowKeys = _useKeyRecords.refreshOverflowKeys,\n isSubPathKey = _useKeyRecords.isSubPathKey,\n getKeyPath = _useKeyRecords.getKeyPath,\n getKeys = _useKeyRecords.getKeys,\n getSubPathKeys = _useKeyRecords.getSubPathKeys;\n var registerPathContext = React.useMemo(function () {\n return {\n registerPath: registerPath,\n unregisterPath: unregisterPath\n };\n }, [registerPath, unregisterPath]);\n var pathUserContext = React.useMemo(function () {\n return {\n isSubPathKey: isSubPathKey\n };\n }, [isSubPathKey]);\n React.useEffect(function () {\n refreshOverflowKeys(allVisible ? EMPTY_LIST : childList.slice(lastVisibleIndex + 1).map(function (child) {\n return child.key;\n }));\n }, [lastVisibleIndex, allVisible]);\n\n // ======================== Active ========================\n var _useMergedState3 = useMergedState(activeKey || defaultActiveFirst && ((_childList$ = childList[0]) === null || _childList$ === void 0 ? void 0 : _childList$.key), {\n value: activeKey\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedActiveKey = _useMergedState4[0],\n setMergedActiveKey = _useMergedState4[1];\n var onActive = useMemoCallback(function (key) {\n setMergedActiveKey(key);\n });\n var onInactive = useMemoCallback(function () {\n setMergedActiveKey(undefined);\n });\n useImperativeHandle(ref, function () {\n return {\n list: containerRef.current,\n focus: function focus(options) {\n var _childList$find;\n var shouldFocusKey = mergedActiveKey !== null && mergedActiveKey !== void 0 ? mergedActiveKey : (_childList$find = childList.find(function (node) {\n return !node.props.disabled;\n })) === null || _childList$find === void 0 ? void 0 : _childList$find.key;\n if (shouldFocusKey) {\n var _containerRef$current, _containerRef$current2, _containerRef$current3;\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.querySelector(\"li[data-menu-id='\".concat(getMenuId(uuid, shouldFocusKey), \"']\"))) === null || _containerRef$current2 === void 0 ? void 0 : (_containerRef$current3 = _containerRef$current2.focus) === null || _containerRef$current3 === void 0 ? void 0 : _containerRef$current3.call(_containerRef$current2, options);\n }\n }\n };\n });\n\n // ======================== Select ========================\n // >>>>> Select keys\n var _useMergedState5 = useMergedState(defaultSelectedKeys || [], {\n value: selectedKeys,\n // Legacy convert key to array\n postState: function postState(keys) {\n if (Array.isArray(keys)) {\n return keys;\n }\n if (keys === null || keys === undefined) {\n return EMPTY_LIST;\n }\n return [keys];\n }\n }),\n _useMergedState6 = _slicedToArray(_useMergedState5, 2),\n mergedSelectKeys = _useMergedState6[0],\n setMergedSelectKeys = _useMergedState6[1];\n\n // >>>>> Trigger select\n var triggerSelection = function triggerSelection(info) {\n if (selectable) {\n // Insert or Remove\n var targetKey = info.key;\n var exist = mergedSelectKeys.includes(targetKey);\n var newSelectKeys;\n if (multiple) {\n if (exist) {\n newSelectKeys = mergedSelectKeys.filter(function (key) {\n return key !== targetKey;\n });\n } else {\n newSelectKeys = [].concat(_toConsumableArray(mergedSelectKeys), [targetKey]);\n }\n } else {\n newSelectKeys = [targetKey];\n }\n setMergedSelectKeys(newSelectKeys);\n\n // Trigger event\n var selectInfo = _objectSpread(_objectSpread({}, info), {}, {\n selectedKeys: newSelectKeys\n });\n if (exist) {\n onDeselect === null || onDeselect === void 0 ? void 0 : onDeselect(selectInfo);\n } else {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectInfo);\n }\n }\n\n // Whatever selectable, always close it\n if (!multiple && mergedOpenKeys.length && internalMode !== 'inline') {\n triggerOpenKeys(EMPTY_LIST);\n }\n };\n\n // ========================= Open =========================\n /**\n * Click for item. SubMenu do not have selection status\n */\n var onInternalClick = useMemoCallback(function (info) {\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n triggerSelection(info);\n });\n var onInternalOpenChange = useMemoCallback(function (key, open) {\n var newOpenKeys = mergedOpenKeys.filter(function (k) {\n return k !== key;\n });\n if (open) {\n newOpenKeys.push(key);\n } else if (internalMode !== 'inline') {\n // We need find all related popup to close\n var subPathKeys = getSubPathKeys(key);\n newOpenKeys = newOpenKeys.filter(function (k) {\n return !subPathKeys.has(k);\n });\n }\n if (!isEqual(mergedOpenKeys, newOpenKeys, true)) {\n triggerOpenKeys(newOpenKeys, true);\n }\n });\n var getInternalPopupContainer = useMemoCallback(getPopupContainer);\n\n // ==================== Accessibility =====================\n var triggerAccessibilityOpen = function triggerAccessibilityOpen(key, open) {\n var nextOpen = open !== null && open !== void 0 ? open : !mergedOpenKeys.includes(key);\n onInternalOpenChange(key, nextOpen);\n };\n var onInternalKeyDown = useAccessibility(internalMode, mergedActiveKey, isRtl, uuid, containerRef, getKeys, getKeyPath, setMergedActiveKey, triggerAccessibilityOpen, onKeyDown);\n\n // ======================== Effect ========================\n React.useEffect(function () {\n setMounted(true);\n }, []);\n\n // ======================= Context ========================\n var privateContext = React.useMemo(function () {\n return {\n _internalRenderMenuItem: _internalRenderMenuItem,\n _internalRenderSubMenuItem: _internalRenderSubMenuItem\n };\n }, [_internalRenderMenuItem, _internalRenderSubMenuItem]);\n\n // ======================== Render ========================\n\n // >>>>> Children\n var wrappedChildList = internalMode !== 'horizontal' || disabledOverflow ? childList :\n // Need wrap for overflow dropdown that do not response for open\n childList.map(function (child, index) {\n return (\n /*#__PURE__*/\n // Always wrap provider to avoid sub node re-mount\n React.createElement(MenuContextProvider, {\n key: child.key,\n overflowDisabled: index > lastVisibleIndex\n }, child)\n );\n });\n\n // >>>>> Container\n var container = /*#__PURE__*/React.createElement(Overflow, _extends({\n id: id,\n ref: containerRef,\n prefixCls: \"\".concat(prefixCls, \"-overflow\"),\n component: \"ul\",\n itemComponent: MenuItem,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-root\"), \"\".concat(prefixCls, \"-\").concat(internalMode), className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-inline-collapsed\"), internalInlineCollapsed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), isRtl), _classNames), rootClassName),\n dir: direction,\n style: style,\n role: \"menu\",\n tabIndex: tabIndex,\n data: wrappedChildList,\n renderRawItem: function renderRawItem(node) {\n return node;\n },\n renderRawRest: function renderRawRest(omitItems) {\n // We use origin list since wrapped list use context to prevent open\n var len = omitItems.length;\n var originOmitItems = len ? childList.slice(-len) : null;\n return /*#__PURE__*/React.createElement(SubMenu, {\n eventKey: OVERFLOW_KEY,\n title: overflowedIndicator,\n disabled: allVisible,\n internalPopupClose: len === 0,\n popupClassName: overflowedIndicatorPopupClassName\n }, originOmitItems);\n },\n maxCount: internalMode !== 'horizontal' || disabledOverflow ? Overflow.INVALIDATE : Overflow.RESPONSIVE,\n ssr: \"full\",\n \"data-menu-list\": true,\n onVisibleChange: function onVisibleChange(newLastIndex) {\n setLastVisibleIndex(newLastIndex);\n },\n onKeyDown: onInternalKeyDown\n }, restProps));\n\n // >>>>> Render\n return /*#__PURE__*/React.createElement(PrivateContext.Provider, {\n value: privateContext\n }, /*#__PURE__*/React.createElement(IdContext.Provider, {\n value: uuid\n }, /*#__PURE__*/React.createElement(MenuContextProvider, {\n prefixCls: prefixCls,\n rootClassName: rootClassName,\n mode: internalMode,\n openKeys: mergedOpenKeys,\n rtl: isRtl\n // Disabled\n ,\n disabled: disabled\n // Motion\n ,\n motion: mounted ? motion : null,\n defaultMotions: mounted ? defaultMotions : null\n // Active\n ,\n activeKey: mergedActiveKey,\n onActive: onActive,\n onInactive: onInactive\n // Selection\n ,\n selectedKeys: mergedSelectKeys\n // Level\n ,\n inlineIndent: inlineIndent\n // Popup\n ,\n subMenuOpenDelay: subMenuOpenDelay,\n subMenuCloseDelay: subMenuCloseDelay,\n forceSubMenuRender: forceSubMenuRender,\n builtinPlacements: builtinPlacements,\n triggerSubMenuAction: triggerSubMenuAction,\n getPopupContainer: getInternalPopupContainer\n // Icon\n ,\n itemIcon: itemIcon,\n expandIcon: expandIcon\n // Events\n ,\n onItemClick: onInternalClick,\n onOpenChange: onInternalOpenChange\n }, /*#__PURE__*/React.createElement(PathUserContext.Provider, {\n value: pathUserContext\n }, container), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'none'\n },\n \"aria-hidden\": true\n }, /*#__PURE__*/React.createElement(PathRegisterContext.Provider, {\n value: registerPathContext\n }, childList)))));\n});\nexport default Menu;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"title\", \"eventKey\", \"children\"],\n _excluded2 = [\"children\"];\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { MenuContext } from \"./context/MenuContext\";\nimport { useFullPath, useMeasure } from \"./context/PathContext\";\nimport { parseChildren } from \"./utils/nodeUtil\";\nvar InternalMenuItemGroup = function InternalMenuItemGroup(_ref) {\n var className = _ref.className,\n title = _ref.title,\n eventKey = _ref.eventKey,\n children = _ref.children,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls;\n var groupPrefixCls = \"\".concat(prefixCls, \"-item-group\");\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n role: \"presentation\"\n }, restProps, {\n onClick: function onClick(e) {\n return e.stopPropagation();\n },\n className: classNames(groupPrefixCls, className)\n }), /*#__PURE__*/React.createElement(\"div\", {\n role: \"presentation\",\n className: \"\".concat(groupPrefixCls, \"-title\"),\n title: typeof title === 'string' ? title : undefined\n }, title), /*#__PURE__*/React.createElement(\"ul\", {\n role: \"group\",\n className: \"\".concat(groupPrefixCls, \"-list\")\n }, children));\n};\nexport default function MenuItemGroup(_ref2) {\n var children = _ref2.children,\n props = _objectWithoutProperties(_ref2, _excluded2);\n var connectedKeyPath = useFullPath(props.eventKey);\n var childList = parseChildren(children, connectedKeyPath);\n var measure = useMeasure();\n if (measure) {\n return childList;\n }\n return /*#__PURE__*/React.createElement(InternalMenuItemGroup, omit(props, ['warnKey']), childList);\n}","import * as React from 'react';\nimport classNames from 'classnames';\nimport { MenuContext } from \"./context/MenuContext\";\nimport { useMeasure } from \"./context/PathContext\";\nexport default function Divider(_ref) {\n var className = _ref.className,\n style = _ref.style;\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls;\n var measure = useMeasure();\n if (measure) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"li\", {\n className: classNames(\"\".concat(prefixCls, \"-item-divider\"), className),\n style: style\n });\n}","import Menu from \"./Menu\";\nimport MenuItem from \"./MenuItem\";\nimport SubMenu from \"./SubMenu\";\nimport MenuItemGroup from \"./MenuItemGroup\";\nimport { useFullPath } from \"./context/PathContext\";\nimport Divider from \"./Divider\";\nexport { SubMenu, MenuItem as Item, MenuItem, MenuItemGroup, MenuItemGroup as ItemGroup, Divider, /** @private Only used for antd internal. Do not use in your production. */\nuseFullPath };\nvar ExportMenu = Menu;\nExportMenu.Item = MenuItem;\nExportMenu.SubMenu = SubMenu;\nExportMenu.ItemGroup = MenuItemGroup;\nExportMenu.Divider = Divider;\nexport default ExportMenu;","// This icon file is generated automatically.\nvar DownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\" } }] }, \"name\": \"down\", \"theme\": \"outlined\" };\nexport default DownOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DownOutlinedSvg from \"@ant-design/icons-svg/es/asn/DownOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DownOutlined = function DownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DownOutlinedSvg\n }));\n};\nvar RefIcon = /*#__PURE__*/React.forwardRef(DownOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'DownOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar RightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z\" } }] }, \"name\": \"right\", \"theme\": \"outlined\" };\nexport default RightOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport RightOutlinedSvg from \"@ant-design/icons-svg/es/asn/RightOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar RightOutlined = function RightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: RightOutlinedSvg\n }));\n};\nvar RefIcon = /*#__PURE__*/React.forwardRef(RightOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'RightOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar EllipsisOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z\" } }] }, \"name\": \"ellipsis\", \"theme\": \"outlined\" };\nexport default EllipsisOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EllipsisOutlinedSvg from \"@ant-design/icons-svg/es/asn/EllipsisOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar EllipsisOutlined = function EllipsisOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EllipsisOutlinedSvg\n }));\n};\nvar RefIcon = /*#__PURE__*/React.forwardRef(EllipsisOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'EllipsisOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar LeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z\" } }] }, \"name\": \"left\", \"theme\": \"outlined\" };\nexport default LeftOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport LeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/LeftOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar LeftOutlined = function LeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: LeftOutlinedSvg\n }));\n};\nvar RefIcon = /*#__PURE__*/React.forwardRef(LeftOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'LeftOutlined';\n}\nexport default RefIcon;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"invalidate\", \"item\", \"renderItem\", \"responsive\", \"responsiveDisabled\", \"registerSize\", \"itemKey\", \"className\", \"style\", \"children\", \"display\", \"order\", \"component\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\n// Use shared variable to save bundle size\nvar UNDEFINED = undefined;\nfunction InternalItem(props, ref) {\n var prefixCls = props.prefixCls,\n invalidate = props.invalidate,\n item = props.item,\n renderItem = props.renderItem,\n responsive = props.responsive,\n responsiveDisabled = props.responsiveDisabled,\n registerSize = props.registerSize,\n itemKey = props.itemKey,\n className = props.className,\n style = props.style,\n children = props.children,\n display = props.display,\n order = props.order,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n restProps = _objectWithoutProperties(props, _excluded);\n var mergedHidden = responsive && !display;\n // ================================ Effect ================================\n function internalRegisterSize(width) {\n registerSize(itemKey, width);\n }\n React.useEffect(function () {\n return function () {\n internalRegisterSize(null);\n };\n }, []);\n // ================================ Render ================================\n var childNode = renderItem && item !== UNDEFINED ? renderItem(item) : children;\n var overflowStyle;\n if (!invalidate) {\n overflowStyle = {\n opacity: mergedHidden ? 0 : 1,\n height: mergedHidden ? 0 : UNDEFINED,\n overflowY: mergedHidden ? 'hidden' : UNDEFINED,\n order: responsive ? order : UNDEFINED,\n pointerEvents: mergedHidden ? 'none' : UNDEFINED,\n position: mergedHidden ? 'absolute' : UNDEFINED\n };\n }\n var overflowProps = {};\n if (mergedHidden) {\n overflowProps['aria-hidden'] = true;\n }\n var itemNode = /*#__PURE__*/React.createElement(Component, _extends({\n className: classNames(!invalidate && prefixCls, className),\n style: _objectSpread(_objectSpread({}, overflowStyle), style)\n }, overflowProps, restProps, {\n ref: ref\n }), childNode);\n if (responsive) {\n itemNode = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: function onResize(_ref) {\n var offsetWidth = _ref.offsetWidth;\n internalRegisterSize(offsetWidth);\n },\n disabled: responsiveDisabled\n }, itemNode);\n }\n return itemNode;\n}\nvar Item = /*#__PURE__*/React.forwardRef(InternalItem);\nItem.displayName = 'Item';\nexport default Item;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport * as React from 'react';\nimport { unstable_batchedUpdates } from 'react-dom';\nimport channelUpdate from './channelUpdate';\n/**\n * Batcher for record any `useEffectState` need update.\n */\nexport function useBatcher() {\n // Updater Trigger\n var updateFuncRef = React.useRef(null);\n // Notify update\n var notifyEffectUpdate = function notifyEffectUpdate(callback) {\n if (!updateFuncRef.current) {\n updateFuncRef.current = [];\n channelUpdate(function () {\n unstable_batchedUpdates(function () {\n updateFuncRef.current.forEach(function (fn) {\n fn();\n });\n updateFuncRef.current = null;\n });\n });\n }\n updateFuncRef.current.push(callback);\n };\n return notifyEffectUpdate;\n}\n/**\n * Trigger state update by `useLayoutEffect` to save perf.\n */\nexport default function useEffectState(notifyEffectUpdate, defaultValue) {\n // Value\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n stateValue = _React$useState2[0],\n setStateValue = _React$useState2[1];\n // Set State\n var setEffectVal = useEvent(function (nextValue) {\n notifyEffectUpdate(function () {\n setStateValue(nextValue);\n });\n });\n return [stateValue, setEffectVal];\n}","import raf from \"rc-util/es/raf\";\nexport default function channelUpdate(callback) {\n if (typeof MessageChannel === 'undefined') {\n raf(callback);\n } else {\n var channel = new MessageChannel();\n channel.port1.onmessage = function () {\n return callback();\n };\n channel.port2.postMessage(undefined);\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"component\"],\n _excluded2 = [\"className\"],\n _excluded3 = [\"className\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Item from './Item';\nimport { OverflowContext } from './Overflow';\nvar InternalRawItem = function InternalRawItem(props, ref) {\n var context = React.useContext(OverflowContext);\n // Render directly when context not provided\n if (!context) {\n var _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _restProps = _objectWithoutProperties(props, _excluded);\n return /*#__PURE__*/React.createElement(Component, _extends({}, _restProps, {\n ref: ref\n }));\n }\n var contextClassName = context.className,\n restContext = _objectWithoutProperties(context, _excluded2);\n var className = props.className,\n restProps = _objectWithoutProperties(props, _excluded3);\n // Do not pass context to sub item to avoid multiple measure\n return /*#__PURE__*/React.createElement(OverflowContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(Item, _extends({\n ref: ref,\n className: classNames(contextClassName, className)\n }, restContext, restProps)));\n};\nvar RawItem = /*#__PURE__*/React.forwardRef(InternalRawItem);\nRawItem.displayName = 'RawItem';\nexport default RawItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"data\", \"renderItem\", \"renderRawItem\", \"itemKey\", \"itemWidth\", \"ssr\", \"style\", \"className\", \"maxCount\", \"renderRest\", \"renderRawRest\", \"suffix\", \"component\", \"itemComponent\", \"onVisibleChange\"];\nimport * as React from 'react';\nimport { useState, useMemo, useCallback } from 'react';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport Item from './Item';\nimport useEffectState, { useBatcher } from './hooks/useEffectState';\nimport RawItem from './RawItem';\nexport var OverflowContext = /*#__PURE__*/React.createContext(null);\nvar RESPONSIVE = 'responsive';\nvar INVALIDATE = 'invalidate';\nfunction defaultRenderRest(omittedItems) {\n return \"+ \".concat(omittedItems.length, \" ...\");\n}\nfunction Overflow(props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-overflow' : _props$prefixCls,\n _props$data = props.data,\n data = _props$data === void 0 ? [] : _props$data,\n renderItem = props.renderItem,\n renderRawItem = props.renderRawItem,\n itemKey = props.itemKey,\n _props$itemWidth = props.itemWidth,\n itemWidth = _props$itemWidth === void 0 ? 10 : _props$itemWidth,\n ssr = props.ssr,\n style = props.style,\n className = props.className,\n maxCount = props.maxCount,\n renderRest = props.renderRest,\n renderRawRest = props.renderRawRest,\n suffix = props.suffix,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n itemComponent = props.itemComponent,\n onVisibleChange = props.onVisibleChange,\n restProps = _objectWithoutProperties(props, _excluded);\n var fullySSR = ssr === 'full';\n var notifyEffectUpdate = useBatcher();\n var _useEffectState = useEffectState(notifyEffectUpdate, null),\n _useEffectState2 = _slicedToArray(_useEffectState, 2),\n containerWidth = _useEffectState2[0],\n setContainerWidth = _useEffectState2[1];\n var mergedContainerWidth = containerWidth || 0;\n var _useEffectState3 = useEffectState(notifyEffectUpdate, new Map()),\n _useEffectState4 = _slicedToArray(_useEffectState3, 2),\n itemWidths = _useEffectState4[0],\n setItemWidths = _useEffectState4[1];\n var _useEffectState5 = useEffectState(notifyEffectUpdate, 0),\n _useEffectState6 = _slicedToArray(_useEffectState5, 2),\n prevRestWidth = _useEffectState6[0],\n setPrevRestWidth = _useEffectState6[1];\n var _useEffectState7 = useEffectState(notifyEffectUpdate, 0),\n _useEffectState8 = _slicedToArray(_useEffectState7, 2),\n restWidth = _useEffectState8[0],\n setRestWidth = _useEffectState8[1];\n var _useEffectState9 = useEffectState(notifyEffectUpdate, 0),\n _useEffectState10 = _slicedToArray(_useEffectState9, 2),\n suffixWidth = _useEffectState10[0],\n setSuffixWidth = _useEffectState10[1];\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n suffixFixedStart = _useState2[0],\n setSuffixFixedStart = _useState2[1];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n displayCount = _useState4[0],\n setDisplayCount = _useState4[1];\n var mergedDisplayCount = React.useMemo(function () {\n if (displayCount === null && fullySSR) {\n return Number.MAX_SAFE_INTEGER;\n }\n return displayCount || 0;\n }, [displayCount, containerWidth]);\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n restReady = _useState6[0],\n setRestReady = _useState6[1];\n var itemPrefixCls = \"\".concat(prefixCls, \"-item\");\n // Always use the max width to avoid blink\n var mergedRestWidth = Math.max(prevRestWidth, restWidth);\n // ================================= Data =================================\n var isResponsive = maxCount === RESPONSIVE;\n var shouldResponsive = data.length && isResponsive;\n var invalidate = maxCount === INVALIDATE;\n /**\n * When is `responsive`, we will always render rest node to get the real width of it for calculation\n */\n var showRest = shouldResponsive || typeof maxCount === 'number' && data.length > maxCount;\n var mergedData = useMemo(function () {\n var items = data;\n if (shouldResponsive) {\n if (containerWidth === null && fullySSR) {\n items = data;\n } else {\n items = data.slice(0, Math.min(data.length, mergedContainerWidth / itemWidth));\n }\n } else if (typeof maxCount === 'number') {\n items = data.slice(0, maxCount);\n }\n return items;\n }, [data, itemWidth, containerWidth, maxCount, shouldResponsive]);\n var omittedItems = useMemo(function () {\n if (shouldResponsive) {\n return data.slice(mergedDisplayCount + 1);\n }\n return data.slice(mergedData.length);\n }, [data, mergedData, shouldResponsive, mergedDisplayCount]);\n // ================================= Item =================================\n var getKey = useCallback(function (item, index) {\n var _ref;\n if (typeof itemKey === 'function') {\n return itemKey(item);\n }\n return (_ref = itemKey && (item === null || item === void 0 ? void 0 : item[itemKey])) !== null && _ref !== void 0 ? _ref : index;\n }, [itemKey]);\n var mergedRenderItem = useCallback(renderItem || function (item) {\n return item;\n }, [renderItem]);\n function updateDisplayCount(count, suffixFixedStartVal, notReady) {\n // React 18 will sync render even when the value is same in some case.\n // We take `mergedData` as deps which may cause dead loop if it's dynamic generate.\n // ref: https://github.com/ant-design/ant-design/issues/36559\n if (displayCount === count && (suffixFixedStartVal === undefined || suffixFixedStartVal === suffixFixedStart)) {\n return;\n }\n setDisplayCount(count);\n if (!notReady) {\n setRestReady(count < data.length - 1);\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(count);\n }\n if (suffixFixedStartVal !== undefined) {\n setSuffixFixedStart(suffixFixedStartVal);\n }\n }\n // ================================= Size =================================\n function onOverflowResize(_, element) {\n setContainerWidth(element.clientWidth);\n }\n function registerSize(key, width) {\n setItemWidths(function (origin) {\n var clone = new Map(origin);\n if (width === null) {\n clone.delete(key);\n } else {\n clone.set(key, width);\n }\n return clone;\n });\n }\n function registerOverflowSize(_, width) {\n setRestWidth(width);\n setPrevRestWidth(restWidth);\n }\n function registerSuffixSize(_, width) {\n setSuffixWidth(width);\n }\n // ================================ Effect ================================\n function getItemWidth(index) {\n return itemWidths.get(getKey(mergedData[index], index));\n }\n useLayoutEffect(function () {\n if (mergedContainerWidth && typeof mergedRestWidth === 'number' && mergedData) {\n var totalWidth = suffixWidth;\n var len = mergedData.length;\n var lastIndex = len - 1;\n // When data count change to 0, reset this since not loop will reach\n if (!len) {\n updateDisplayCount(0, null);\n return;\n }\n for (var i = 0; i < len; i += 1) {\n var currentItemWidth = getItemWidth(i);\n // Fully will always render\n if (fullySSR) {\n currentItemWidth = currentItemWidth || 0;\n }\n // Break since data not ready\n if (currentItemWidth === undefined) {\n updateDisplayCount(i - 1, undefined, true);\n break;\n }\n // Find best match\n totalWidth += currentItemWidth;\n if (\n // Only one means `totalWidth` is the final width\n lastIndex === 0 && totalWidth <= mergedContainerWidth ||\n // Last two width will be the final width\n i === lastIndex - 1 && totalWidth + getItemWidth(lastIndex) <= mergedContainerWidth) {\n // Additional check if match the end\n updateDisplayCount(lastIndex, null);\n break;\n } else if (totalWidth + mergedRestWidth > mergedContainerWidth) {\n // Can not hold all the content to show rest\n updateDisplayCount(i - 1, totalWidth - currentItemWidth - suffixWidth + restWidth);\n break;\n }\n }\n if (suffix && getItemWidth(0) + suffixWidth > mergedContainerWidth) {\n setSuffixFixedStart(null);\n }\n }\n }, [mergedContainerWidth, itemWidths, restWidth, suffixWidth, getKey, mergedData]);\n // ================================ Render ================================\n var displayRest = restReady && !!omittedItems.length;\n var suffixStyle = {};\n if (suffixFixedStart !== null && shouldResponsive) {\n suffixStyle = {\n position: 'absolute',\n left: suffixFixedStart,\n top: 0\n };\n }\n var itemSharedProps = {\n prefixCls: itemPrefixCls,\n responsive: shouldResponsive,\n component: itemComponent,\n invalidate: invalidate\n };\n // >>>>> Choice render fun by `renderRawItem`\n var internalRenderItemNode = renderRawItem ? function (item, index) {\n var key = getKey(item, index);\n return /*#__PURE__*/React.createElement(OverflowContext.Provider, {\n key: key,\n value: _objectSpread(_objectSpread({}, itemSharedProps), {}, {\n order: index,\n item: item,\n itemKey: key,\n registerSize: registerSize,\n display: index <= mergedDisplayCount\n })\n }, renderRawItem(item, index));\n } : function (item, index) {\n var key = getKey(item, index);\n return /*#__PURE__*/React.createElement(Item, _extends({}, itemSharedProps, {\n order: index,\n key: key,\n item: item,\n renderItem: mergedRenderItem,\n itemKey: key,\n registerSize: registerSize,\n display: index <= mergedDisplayCount\n }));\n };\n // >>>>> Rest node\n var restNode;\n var restContextProps = {\n order: displayRest ? mergedDisplayCount : Number.MAX_SAFE_INTEGER,\n className: \"\".concat(itemPrefixCls, \"-rest\"),\n registerSize: registerOverflowSize,\n display: displayRest\n };\n if (!renderRawRest) {\n var mergedRenderRest = renderRest || defaultRenderRest;\n restNode = /*#__PURE__*/React.createElement(Item, _extends({}, itemSharedProps, restContextProps), typeof mergedRenderRest === 'function' ? mergedRenderRest(omittedItems) : mergedRenderRest);\n } else if (renderRawRest) {\n restNode = /*#__PURE__*/React.createElement(OverflowContext.Provider, {\n value: _objectSpread(_objectSpread({}, itemSharedProps), restContextProps)\n }, renderRawRest(omittedItems));\n }\n var overflowNode = /*#__PURE__*/React.createElement(Component, _extends({\n className: classNames(!invalidate && prefixCls, className),\n style: style,\n ref: ref\n }, restProps), mergedData.map(internalRenderItemNode), showRest ? restNode : null, suffix && /*#__PURE__*/React.createElement(Item, _extends({}, itemSharedProps, {\n responsive: isResponsive,\n responsiveDisabled: !shouldResponsive,\n order: mergedDisplayCount,\n className: \"\".concat(itemPrefixCls, \"-suffix\"),\n registerSize: registerSuffixSize,\n display: true,\n style: suffixStyle\n }), suffix));\n if (isResponsive) {\n overflowNode = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onOverflowResize,\n disabled: !shouldResponsive\n }, overflowNode);\n }\n return overflowNode;\n}\nvar ForwardOverflow = /*#__PURE__*/React.forwardRef(Overflow);\nForwardOverflow.displayName = 'Overflow';\nForwardOverflow.Item = RawItem;\nForwardOverflow.RESPONSIVE = RESPONSIVE;\nForwardOverflow.INVALIDATE = INVALIDATE;\n// Convert to generic type\nexport default ForwardOverflow;","import Overflow from './Overflow';\nexport default Overflow;"],"sourceRoot":""}