{"version":3,"file":"index-12163fad.js","sources":["../../../../../shared/node_modules/rc-dropdown/es/hooks/useAccessibility.js","../../../../../shared/node_modules/rc-dropdown/es/Overlay.js","../../../../../shared/node_modules/rc-dropdown/es/placements.js","../../../../../shared/node_modules/rc-dropdown/es/Dropdown.js","../../../../../shared/node_modules/rc-menu/es/context/IdContext.js","../../../../../shared/node_modules/rc-menu/es/context/MenuContext.js","../../../../../shared/node_modules/rc-menu/es/context/PathContext.js","../../../../../shared/node_modules/rc-menu/es/context/PrivateContext.js","../../../../../shared/node_modules/rc-util/es/Dom/focus.js","../../../../../shared/node_modules/rc-menu/es/hooks/useAccessibility.js","../../../../../shared/node_modules/rc-menu/es/utils/timeUtil.js","../../../../../shared/node_modules/rc-menu/es/hooks/useKeyRecords.js","../../../../../shared/node_modules/rc-menu/es/hooks/useMemoCallback.js","../../../../../shared/node_modules/rc-menu/es/hooks/useUUID.js","../../../../../shared/node_modules/rc-menu/es/hooks/useActive.js","../../../../../shared/node_modules/rc-menu/es/hooks/useDirectionStyle.js","../../../../../shared/node_modules/rc-menu/es/Icon.js","../../../../../shared/node_modules/rc-menu/es/utils/warnUtil.js","../../../../../shared/node_modules/rc-menu/es/MenuItem.js","../../../../../shared/node_modules/rc-menu/es/SubMenu/SubMenuList.js","../../../../../shared/node_modules/rc-menu/es/utils/nodeUtil.js","../../../../../shared/node_modules/rc-menu/es/placements.js","../../../../../shared/node_modules/rc-menu/es/utils/motionUtil.js","../../../../../shared/node_modules/rc-menu/es/SubMenu/PopupTrigger.js","../../../../../shared/node_modules/rc-menu/es/SubMenu/InlineSubMenuList.js","../../../../../shared/node_modules/rc-menu/es/SubMenu/index.js","../../../../../shared/node_modules/rc-menu/es/Menu.js","../../../../../shared/node_modules/rc-menu/es/MenuItemGroup.js","../../../../../shared/node_modules/rc-menu/es/Divider.js","../../../../../shared/node_modules/rc-menu/es/index.js","../../../../../shared/node_modules/@ant-design/icons-svg/es/asn/EllipsisOutlined.js","../../../../../shared/node_modules/@ant-design/icons/es/icons/EllipsisOutlined.js","../../../../../shared/node_modules/rc-tabs/es/TabContext.js","../../../../../shared/node_modules/rc-tabs/es/TabPanelList/TabPane.js","../../../../../shared/node_modules/rc-tabs/es/TabPanelList/index.js","../../../../../shared/node_modules/rc-tabs/es/hooks/useOffsets.js","../../../../../shared/node_modules/rc-tabs/es/hooks/useSyncState.js","../../../../../shared/node_modules/rc-tabs/es/hooks/useTouchMove.js","../../../../../shared/node_modules/rc-tabs/es/hooks/useUpdate.js","../../../../../shared/node_modules/rc-tabs/es/hooks/useVisibleRange.js","../../../../../shared/node_modules/rc-tabs/es/util.js","../../../../../shared/node_modules/rc-tabs/es/TabNavList/AddButton.js","../../../../../shared/node_modules/rc-tabs/es/TabNavList/ExtraContent.js","../../../../../shared/node_modules/rc-tabs/es/TabNavList/OperationNode.js","../../../../../shared/node_modules/rc-tabs/es/TabNavList/TabNode.js","../../../../../shared/node_modules/rc-tabs/es/TabNavList/index.js","../../../../../shared/node_modules/rc-tabs/es/TabNavList/Wrapper.js","../../../../../shared/node_modules/rc-tabs/es/hooks/useAnimateConfig.js","../../../../../shared/node_modules/rc-tabs/es/Tabs.js","../../../../../shared/node_modules/antd/es/tabs/TabPane.js","../../../../../shared/node_modules/antd/es/tabs/hooks/useAnimateConfig.js","../../../../../shared/node_modules/antd/es/tabs/hooks/useLegacyItems.js","../../../../../shared/node_modules/antd/es/tabs/style/motion.js","../../../../../shared/node_modules/antd/es/tabs/style/index.js","../../../../../shared/node_modules/antd/es/tabs/index.js"],"sourcesContent":["import KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from \"react\";\nvar ESC = KeyCode.ESC,\n TAB = KeyCode.TAB;\nexport default function useAccessibility(_ref) {\n var visible = _ref.visible,\n triggerRef = _ref.triggerRef,\n onVisibleChange = _ref.onVisibleChange,\n autoFocus = _ref.autoFocus,\n overlayRef = _ref.overlayRef;\n var focusMenuRef = React.useRef(false);\n var handleCloseMenuAndReturnFocus = function handleCloseMenuAndReturnFocus() {\n if (visible) {\n var _triggerRef$current, _triggerRef$current$f;\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$f = _triggerRef$current.focus) === null || _triggerRef$current$f === void 0 ? void 0 : _triggerRef$current$f.call(_triggerRef$current);\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(false);\n }\n };\n var focusMenu = function focusMenu() {\n var _overlayRef$current;\n if ((_overlayRef$current = overlayRef.current) !== null && _overlayRef$current !== void 0 && _overlayRef$current.focus) {\n overlayRef.current.focus();\n focusMenuRef.current = true;\n return true;\n }\n return false;\n };\n var handleKeyDown = function handleKeyDown(event) {\n switch (event.keyCode) {\n case ESC:\n handleCloseMenuAndReturnFocus();\n break;\n case TAB:\n {\n var focusResult = false;\n if (!focusMenuRef.current) {\n focusResult = focusMenu();\n }\n if (focusResult) {\n event.preventDefault();\n } else {\n handleCloseMenuAndReturnFocus();\n }\n break;\n }\n }\n };\n React.useEffect(function () {\n if (visible) {\n window.addEventListener(\"keydown\", handleKeyDown);\n if (autoFocus) {\n // FIXME: hack with raf\n raf(focusMenu, 3);\n }\n return function () {\n window.removeEventListener(\"keydown\", handleKeyDown);\n focusMenuRef.current = false;\n };\n }\n return function () {\n focusMenuRef.current = false;\n };\n }, [visible]); // eslint-disable-line react-hooks/exhaustive-deps\n}","import React, { forwardRef, useMemo } from 'react';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nvar Overlay = /*#__PURE__*/forwardRef(function (props, ref) {\n var overlay = props.overlay,\n arrow = props.arrow,\n prefixCls = props.prefixCls;\n var overlayNode = useMemo(function () {\n var overlayElement;\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n return overlayElement;\n }, [overlay]);\n var composedRef = composeRef(ref, overlayNode === null || overlayNode === void 0 ? void 0 : overlayNode.ref);\n return /*#__PURE__*/React.createElement(React.Fragment, null, arrow && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }), /*#__PURE__*/React.cloneElement(overlayNode, {\n ref: supportRef(overlayNode) ? composedRef : undefined\n }));\n});\nexport default Overlay;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"arrow\", \"prefixCls\", \"transitionName\", \"animation\", \"align\", \"placement\", \"placements\", \"getPopupContainer\", \"showAction\", \"hideAction\", \"overlayClassName\", \"overlayStyle\", \"visible\", \"trigger\", \"autoFocus\", \"overlay\", \"children\", \"onVisibleChange\"];\nimport Trigger from '@rc-component/trigger';\nimport classNames from 'classnames';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport React from 'react';\nimport useAccessibility from \"./hooks/useAccessibility\";\nimport Overlay from \"./Overlay\";\nimport Placements from \"./placements\";\nfunction Dropdown(props, ref) {\n var _children$props;\n var _props$arrow = props.arrow,\n arrow = _props$arrow === void 0 ? false : _props$arrow,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,\n transitionName = props.transitionName,\n animation = props.animation,\n align = props.align,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,\n _props$placements = props.placements,\n placements = _props$placements === void 0 ? Placements : _props$placements,\n getPopupContainer = props.getPopupContainer,\n showAction = props.showAction,\n hideAction = props.hideAction,\n overlayClassName = props.overlayClassName,\n overlayStyle = props.overlayStyle,\n visible = props.visible,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n autoFocus = props.autoFocus,\n overlay = props.overlay,\n children = props.children,\n onVisibleChange = props.onVisibleChange,\n otherProps = _objectWithoutProperties(props, _excluded);\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n triggerVisible = _React$useState2[0],\n setTriggerVisible = _React$useState2[1];\n var mergedVisible = 'visible' in props ? visible : triggerVisible;\n var triggerRef = React.useRef(null);\n var overlayRef = React.useRef(null);\n var childRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n var handleVisibleChange = function handleVisibleChange(newVisible) {\n setTriggerVisible(newVisible);\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(newVisible);\n };\n useAccessibility({\n visible: mergedVisible,\n triggerRef: childRef,\n onVisibleChange: handleVisibleChange,\n autoFocus: autoFocus,\n overlayRef: overlayRef\n });\n var onClick = function onClick(e) {\n var onOverlayClick = props.onOverlayClick;\n setTriggerVisible(false);\n if (onOverlayClick) {\n onOverlayClick(e);\n }\n };\n var getMenuElement = function getMenuElement() {\n return /*#__PURE__*/React.createElement(Overlay, {\n ref: overlayRef,\n overlay: overlay,\n prefixCls: prefixCls,\n arrow: arrow\n });\n };\n var getMenuElementOrLambda = function getMenuElementOrLambda() {\n if (typeof overlay === 'function') {\n return getMenuElement;\n }\n return getMenuElement();\n };\n var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {\n var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,\n alignPoint = props.alignPoint;\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n return !alignPoint;\n };\n var getOpenClassName = function getOpenClassName() {\n var openClassName = props.openClassName;\n if (openClassName !== undefined) {\n return openClassName;\n }\n return \"\".concat(prefixCls, \"-open\");\n };\n var childrenNode = /*#__PURE__*/React.cloneElement(children, {\n className: classNames((_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.className, mergedVisible && getOpenClassName()),\n ref: supportRef(children) ? composeRef(childRef, children.ref) : undefined\n });\n var triggerHideAction = hideAction;\n if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {\n triggerHideAction = ['click'];\n }\n return /*#__PURE__*/React.createElement(Trigger, _extends({\n builtinPlacements: placements\n }, otherProps, {\n prefixCls: prefixCls,\n ref: triggerRef,\n popupClassName: classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-show-arrow\"), arrow)),\n popupStyle: overlayStyle,\n action: trigger,\n showAction: showAction,\n hideAction: triggerHideAction,\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: mergedVisible,\n stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',\n popup: getMenuElementOrLambda(),\n onPopupVisibleChange: handleVisibleChange,\n onPopupClick: onClick,\n getPopupContainer: getPopupContainer\n }), childrenNode);\n}\nexport default /*#__PURE__*/React.forwardRef(Dropdown);","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 _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 _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}","export function nextSlice(callback) {\n /* istanbul ignore next */\n Promise.resolve().then(callback);\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}","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 },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow\n }\n};\nexport var placementsRtl = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow\n },\n rightTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow\n },\n rightBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow\n },\n leftTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow\n },\n leftBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow\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-component/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\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: getPopupContainer\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 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 _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\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, _extends({}, props, {\n ref: ref,\n icon: EllipsisOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n EllipsisOutlined.displayName = 'EllipsisOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(EllipsisOutlined);","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext(null);","import * as React from 'react';\nimport classNames from 'classnames';\nvar TabPane = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var prefixCls = _ref.prefixCls,\n className = _ref.className,\n style = _ref.style,\n id = _ref.id,\n active = _ref.active,\n tabKey = _ref.tabKey,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id && \"\".concat(id, \"-panel-\").concat(tabKey),\n role: \"tabpanel\",\n tabIndex: active ? 0 : -1,\n \"aria-labelledby\": id && \"\".concat(id, \"-tab-\").concat(tabKey),\n \"aria-hidden\": !active,\n style: style,\n className: classNames(prefixCls, active && \"\".concat(prefixCls, \"-active\"), className),\n ref: ref\n }, children);\n});\nif (process.env.NODE_ENV !== 'production') {\n TabPane.displayName = 'TabPane';\n}\nexport default TabPane;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"key\", \"forceRender\", \"style\", \"className\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport TabContext from \"../TabContext\";\nimport TabPane from \"./TabPane\";\nexport default function TabPanelList(_ref) {\n var id = _ref.id,\n activeKey = _ref.activeKey,\n animated = _ref.animated,\n tabPosition = _ref.tabPosition,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane;\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n var tabPaneAnimated = animated.tabPane;\n var tabPanePrefixCls = \"\".concat(prefixCls, \"-tabpane\");\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content-holder\"))\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), \"\".concat(prefixCls, \"-content-\").concat(tabPosition), _defineProperty({}, \"\".concat(prefixCls, \"-content-animated\"), tabPaneAnimated))\n }, tabs.map(function (_ref2) {\n var key = _ref2.key,\n forceRender = _ref2.forceRender,\n paneStyle = _ref2.style,\n paneClassName = _ref2.className,\n restTabProps = _objectWithoutProperties(_ref2, _excluded);\n var active = key === activeKey;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n key: key,\n visible: active,\n forceRender: forceRender,\n removeOnLeave: !!destroyInactiveTabPane,\n leavedClassName: \"\".concat(tabPanePrefixCls, \"-hidden\")\n }, animated.tabPaneMotion), function (_ref3, ref) {\n var motionStyle = _ref3.style,\n motionClassName = _ref3.className;\n return /*#__PURE__*/React.createElement(TabPane, _extends({}, restTabProps, {\n prefixCls: tabPanePrefixCls,\n id: id,\n tabKey: key,\n animated: tabPaneAnimated,\n active: active,\n style: _objectSpread(_objectSpread({}, paneStyle), motionStyle),\n className: classNames(paneClassName, motionClassName),\n ref: ref\n }));\n });\n })));\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n};\nexport default function useOffsets(tabs, tabSizes, holderScrollWidth) {\n return useMemo(function () {\n var _tabs$;\n var map = new Map();\n var lastOffset = tabSizes.get((_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key) || DEFAULT_SIZE;\n var rightOffset = lastOffset.left + lastOffset.width;\n for (var i = 0; i < tabs.length; i += 1) {\n var key = tabs[i].key;\n var data = tabSizes.get(key);\n\n // Reuse last one when not exist yet\n if (!data) {\n var _tabs;\n data = tabSizes.get((_tabs = tabs[i - 1]) === null || _tabs === void 0 ? void 0 : _tabs.key) || DEFAULT_SIZE;\n }\n var entity = map.get(key) || _objectSpread({}, data);\n\n // Right\n entity.right = rightOffset - entity.left - entity.width;\n\n // Update entity\n map.set(key, entity);\n }\n return map;\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), tabSizes, holderScrollWidth]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useSyncState(defaultState, onChange) {\n var stateRef = React.useRef(defaultState);\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n function setState(updater) {\n var newValue = typeof updater === 'function' ? updater(stateRef.current) : updater;\n if (newValue !== stateRef.current) {\n onChange(newValue, stateRef.current);\n }\n stateRef.current = newValue;\n forceUpdate({});\n }\n return [stateRef.current, setState];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState, useRef } from 'react';\nvar MIN_SWIPE_DISTANCE = 0.1;\nvar STOP_SWIPE_DISTANCE = 0.01;\nvar REFRESH_INTERVAL = 20;\nvar SPEED_OFF_MULTIPLE = Math.pow(0.995, REFRESH_INTERVAL);\n\n// ================================= Hook =================================\nexport default function useTouchMove(ref, onOffset) {\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n touchPosition = _useState2[0],\n setTouchPosition = _useState2[1];\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n lastTimestamp = _useState4[0],\n setLastTimestamp = _useState4[1];\n var _useState5 = useState(0),\n _useState6 = _slicedToArray(_useState5, 2),\n lastTimeDiff = _useState6[0],\n setLastTimeDiff = _useState6[1];\n var _useState7 = useState(),\n _useState8 = _slicedToArray(_useState7, 2),\n lastOffset = _useState8[0],\n setLastOffset = _useState8[1];\n var motionRef = useRef();\n\n // ========================= Events =========================\n // >>> Touch events\n function onTouchStart(e) {\n var _e$touches$ = e.touches[0],\n screenX = _e$touches$.screenX,\n screenY = _e$touches$.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n window.clearInterval(motionRef.current);\n }\n function onTouchMove(e) {\n if (!touchPosition) return;\n e.preventDefault();\n var _e$touches$2 = e.touches[0],\n screenX = _e$touches$2.screenX,\n screenY = _e$touches$2.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n var offsetX = screenX - touchPosition.x;\n var offsetY = screenY - touchPosition.y;\n onOffset(offsetX, offsetY);\n var now = Date.now();\n setLastTimestamp(now);\n setLastTimeDiff(now - lastTimestamp);\n setLastOffset({\n x: offsetX,\n y: offsetY\n });\n }\n function onTouchEnd() {\n if (!touchPosition) return;\n setTouchPosition(null);\n setLastOffset(null);\n\n // Swipe if needed\n if (lastOffset) {\n var distanceX = lastOffset.x / lastTimeDiff;\n var distanceY = lastOffset.y / lastTimeDiff;\n var absX = Math.abs(distanceX);\n var absY = Math.abs(distanceY);\n\n // Skip swipe if low distance\n if (Math.max(absX, absY) < MIN_SWIPE_DISTANCE) return;\n var currentX = distanceX;\n var currentY = distanceY;\n motionRef.current = window.setInterval(function () {\n if (Math.abs(currentX) < STOP_SWIPE_DISTANCE && Math.abs(currentY) < STOP_SWIPE_DISTANCE) {\n window.clearInterval(motionRef.current);\n return;\n }\n currentX *= SPEED_OFF_MULTIPLE;\n currentY *= SPEED_OFF_MULTIPLE;\n onOffset(currentX * REFRESH_INTERVAL, currentY * REFRESH_INTERVAL);\n }, REFRESH_INTERVAL);\n }\n }\n\n // >>> Wheel event\n var lastWheelDirectionRef = useRef();\n function onWheel(e) {\n var deltaX = e.deltaX,\n deltaY = e.deltaY;\n\n // Convert both to x & y since wheel only happened on PC\n var mixed = 0;\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n if (absX === absY) {\n mixed = lastWheelDirectionRef.current === 'x' ? deltaX : deltaY;\n } else if (absX > absY) {\n mixed = deltaX;\n lastWheelDirectionRef.current = 'x';\n } else {\n mixed = deltaY;\n lastWheelDirectionRef.current = 'y';\n }\n if (onOffset(-mixed, -mixed)) {\n e.preventDefault();\n }\n }\n\n // ========================= Effect =========================\n var touchEventsRef = useRef(null);\n touchEventsRef.current = {\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd,\n onWheel: onWheel\n };\n React.useEffect(function () {\n function onProxyTouchStart(e) {\n touchEventsRef.current.onTouchStart(e);\n }\n function onProxyTouchMove(e) {\n touchEventsRef.current.onTouchMove(e);\n }\n function onProxyTouchEnd(e) {\n touchEventsRef.current.onTouchEnd(e);\n }\n function onProxyWheel(e) {\n touchEventsRef.current.onWheel(e);\n }\n document.addEventListener('touchmove', onProxyTouchMove, {\n passive: false\n });\n document.addEventListener('touchend', onProxyTouchEnd, {\n passive: false\n });\n\n // No need to clean up since element removed\n ref.current.addEventListener('touchstart', onProxyTouchStart, {\n passive: false\n });\n ref.current.addEventListener('wheel', onProxyWheel);\n return function () {\n document.removeEventListener('touchmove', onProxyTouchMove);\n document.removeEventListener('touchend', onProxyTouchEnd);\n };\n }, []);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useLayoutUpdateEffect } from \"rc-util/es/hooks/useLayoutEffect\";\nimport { useRef, useState } from 'react';\n\n/**\n * Help to merge callback with `useLayoutEffect`.\n * One time will only trigger once.\n */\nexport default function useUpdate(callback) {\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n count = _useState2[0],\n setCount = _useState2[1];\n var effectRef = useRef(0);\n var callbackRef = useRef();\n callbackRef.current = callback;\n\n // Trigger on `useLayoutEffect`\n useLayoutUpdateEffect(function () {\n var _callbackRef$current;\n (_callbackRef$current = callbackRef.current) === null || _callbackRef$current === void 0 ? void 0 : _callbackRef$current.call(callbackRef);\n }, [count]);\n\n // Trigger to update count\n return function () {\n if (effectRef.current !== count) {\n return;\n }\n effectRef.current += 1;\n setCount(effectRef.current);\n };\n}\nexport function useUpdateState(defaultState) {\n var batchRef = useRef([]);\n var _useState3 = useState({}),\n _useState4 = _slicedToArray(_useState3, 2),\n forceUpdate = _useState4[1];\n var state = useRef(typeof defaultState === 'function' ? defaultState() : defaultState);\n var flushUpdate = useUpdate(function () {\n var current = state.current;\n batchRef.current.forEach(function (callback) {\n current = callback(current);\n });\n batchRef.current = [];\n state.current = current;\n forceUpdate({});\n });\n function updater(callback) {\n batchRef.current.push(callback);\n flushUpdate();\n }\n return [state.current, updater];\n}","import { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n right: 0\n};\nexport default function useVisibleRange(tabOffsets, visibleTabContentValue, transform, tabContentSizeValue, addNodeSizeValue, operationNodeSizeValue, _ref) {\n var tabs = _ref.tabs,\n tabPosition = _ref.tabPosition,\n rtl = _ref.rtl;\n var charUnit;\n var position;\n var transformSize;\n if (['top', 'bottom'].includes(tabPosition)) {\n charUnit = 'width';\n position = rtl ? 'right' : 'left';\n transformSize = Math.abs(transform);\n } else {\n charUnit = 'height';\n position = 'top';\n transformSize = -transform;\n }\n return useMemo(function () {\n if (!tabs.length) {\n return [0, 0];\n }\n var len = tabs.length;\n var endIndex = len;\n for (var i = 0; i < len; i += 1) {\n var offset = tabOffsets.get(tabs[i].key) || DEFAULT_SIZE;\n if (offset[position] + offset[charUnit] > transformSize + visibleTabContentValue) {\n endIndex = i - 1;\n break;\n }\n }\n var startIndex = 0;\n for (var _i = len - 1; _i >= 0; _i -= 1) {\n var _offset = tabOffsets.get(tabs[_i].key) || DEFAULT_SIZE;\n if (_offset[position] < transformSize) {\n startIndex = _i + 1;\n break;\n }\n }\n return startIndex >= endIndex ? [0, 0] : [startIndex, endIndex];\n }, [tabOffsets, visibleTabContentValue, tabContentSizeValue, addNodeSizeValue, operationNodeSizeValue, transformSize, tabPosition, tabs.map(function (tab) {\n return tab.key;\n }).join('_'), rtl]);\n}","/**\n * We trade Map as deps which may change with same value but different ref object.\n * We should make it as hash for deps\n * */\nexport function stringify(obj) {\n var tgt;\n if (obj instanceof Map) {\n tgt = {};\n obj.forEach(function (v, k) {\n tgt[k] = v;\n });\n } else {\n tgt = obj;\n }\n return JSON.stringify(tgt);\n}\nvar RC_TABS_DOUBLE_QUOTE = 'TABS_DQ';\nexport function genDataNodeKey(key) {\n return String(key).replace(/\"/g, RC_TABS_DOUBLE_QUOTE);\n}","import * as React from 'react';\nfunction AddButton(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n editable = _ref.editable,\n locale = _ref.locale,\n style = _ref.style;\n if (!editable || editable.showAdd === false) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"button\", {\n ref: ref,\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-add\"),\n style: style,\n \"aria-label\": (locale === null || locale === void 0 ? void 0 : locale.addAriaLabel) || 'Add tab',\n onClick: function onClick(event) {\n editable.onEdit('add', {\n event: event\n });\n }\n }, editable.addIcon || '+');\n}\nexport default /*#__PURE__*/React.forwardRef(AddButton);","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nvar ExtraContent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var position = _ref.position,\n prefixCls = _ref.prefixCls,\n extra = _ref.extra;\n if (!extra) return null;\n var content;\n\n // Parse extra\n var assertExtra = {};\n if (_typeof(extra) === 'object' && ! /*#__PURE__*/React.isValidElement(extra)) {\n assertExtra = extra;\n } else {\n assertExtra.right = extra;\n }\n if (position === 'right') {\n content = assertExtra.right;\n }\n if (position === 'left') {\n content = assertExtra.left;\n }\n return content ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra-content\"),\n ref: ref\n }, content) : null;\n});\nif (process.env.NODE_ENV !== 'production') {\n ExtraContent.displayName = 'ExtraContent';\n}\nexport default ExtraContent;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport Dropdown from 'rc-dropdown';\nimport Menu, { MenuItem } from 'rc-menu';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport AddButton from \"./AddButton\";\nfunction OperationNode(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n tabs = _ref.tabs,\n locale = _ref.locale,\n mobile = _ref.mobile,\n _ref$moreIcon = _ref.moreIcon,\n moreIcon = _ref$moreIcon === void 0 ? 'More' : _ref$moreIcon,\n moreTransitionName = _ref.moreTransitionName,\n style = _ref.style,\n className = _ref.className,\n editable = _ref.editable,\n tabBarGutter = _ref.tabBarGutter,\n rtl = _ref.rtl,\n removeAriaLabel = _ref.removeAriaLabel,\n onTabClick = _ref.onTabClick,\n getPopupContainer = _ref.getPopupContainer,\n popupClassName = _ref.popupClassName;\n // ======================== Dropdown ========================\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n open = _useState2[0],\n setOpen = _useState2[1];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedKey = _useState4[0],\n setSelectedKey = _useState4[1];\n var popupId = \"\".concat(id, \"-more-popup\");\n var dropdownPrefix = \"\".concat(prefixCls, \"-dropdown\");\n var selectedItemId = selectedKey !== null ? \"\".concat(popupId, \"-\").concat(selectedKey) : null;\n var dropdownAriaLabel = locale === null || locale === void 0 ? void 0 : locale.dropdownAriaLabel;\n function onRemoveTab(event, key) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n var menu = /*#__PURE__*/React.createElement(Menu, {\n onClick: function onClick(_ref2) {\n var key = _ref2.key,\n domEvent = _ref2.domEvent;\n onTabClick(key, domEvent);\n setOpen(false);\n },\n prefixCls: \"\".concat(dropdownPrefix, \"-menu\"),\n id: popupId,\n tabIndex: -1,\n role: \"listbox\",\n \"aria-activedescendant\": selectedItemId,\n selectedKeys: [selectedKey],\n \"aria-label\": dropdownAriaLabel !== undefined ? dropdownAriaLabel : 'expanded dropdown'\n }, tabs.map(function (tab) {\n var removable = editable && tab.closable !== false && !tab.disabled;\n return /*#__PURE__*/React.createElement(MenuItem, {\n key: tab.key,\n id: \"\".concat(popupId, \"-\").concat(tab.key),\n role: \"option\",\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(tab.key),\n disabled: tab.disabled\n }, /*#__PURE__*/React.createElement(\"span\", null, tab.label), removable && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(dropdownPrefix, \"-menu-item-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e, tab.key);\n }\n }, tab.closeIcon || editable.removeIcon || '×'));\n }));\n function selectOffset(offset) {\n var enabledTabs = tabs.filter(function (tab) {\n return !tab.disabled;\n });\n var selectedIndex = enabledTabs.findIndex(function (tab) {\n return tab.key === selectedKey;\n }) || 0;\n var len = enabledTabs.length;\n for (var i = 0; i < len; i += 1) {\n selectedIndex = (selectedIndex + offset + len) % len;\n var tab = enabledTabs[selectedIndex];\n if (!tab.disabled) {\n setSelectedKey(tab.key);\n return;\n }\n }\n }\n function onKeyDown(e) {\n var which = e.which;\n if (!open) {\n if ([KeyCode.DOWN, KeyCode.SPACE, KeyCode.ENTER].includes(which)) {\n setOpen(true);\n e.preventDefault();\n }\n return;\n }\n switch (which) {\n case KeyCode.UP:\n selectOffset(-1);\n e.preventDefault();\n break;\n case KeyCode.DOWN:\n selectOffset(1);\n e.preventDefault();\n break;\n case KeyCode.ESC:\n setOpen(false);\n break;\n case KeyCode.SPACE:\n case KeyCode.ENTER:\n if (selectedKey !== null) onTabClick(selectedKey, e);\n break;\n }\n }\n\n // ========================= Effect =========================\n useEffect(function () {\n // We use query element here to avoid React strict warning\n var ele = document.getElementById(selectedItemId);\n if (ele && ele.scrollIntoView) {\n ele.scrollIntoView(false);\n }\n }, [selectedKey]);\n useEffect(function () {\n if (!open) {\n setSelectedKey(null);\n }\n }, [open]);\n\n // ========================= Render =========================\n var moreStyle = _defineProperty({}, rtl ? 'marginRight' : 'marginLeft', tabBarGutter);\n if (!tabs.length) {\n moreStyle.visibility = 'hidden';\n moreStyle.order = 1;\n }\n var overlayClassName = classNames(_defineProperty({}, \"\".concat(dropdownPrefix, \"-rtl\"), rtl));\n var moreNode = mobile ? null : /*#__PURE__*/React.createElement(Dropdown, {\n prefixCls: dropdownPrefix,\n overlay: menu,\n trigger: ['hover'],\n visible: tabs.length ? open : false,\n transitionName: moreTransitionName,\n onVisibleChange: setOpen,\n overlayClassName: classNames(overlayClassName, popupClassName),\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n getPopupContainer: getPopupContainer\n }, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-more\"),\n style: moreStyle,\n tabIndex: -1,\n \"aria-hidden\": \"true\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": popupId,\n id: \"\".concat(id, \"-more\"),\n \"aria-expanded\": open,\n onKeyDown: onKeyDown\n }, moreIcon));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-nav-operations\"), className),\n style: style,\n ref: ref\n }, moreNode, /*#__PURE__*/React.createElement(AddButton, {\n prefixCls: prefixCls,\n locale: locale,\n editable: editable\n }));\n}\nexport default /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(OperationNode), function (_, next) {\n return (\n // https://github.com/ant-design/ant-design/issues/32544\n // We'd better remove syntactic sugar in `rc-menu` since this has perf issue\n next.tabMoving\n );\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { genDataNodeKey } from \"../util\";\nfunction TabNode(_ref) {\n var _classNames;\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n active = _ref.active,\n _ref$tab = _ref.tab,\n key = _ref$tab.key,\n label = _ref$tab.label,\n disabled = _ref$tab.disabled,\n closeIcon = _ref$tab.closeIcon,\n closable = _ref.closable,\n renderWrapper = _ref.renderWrapper,\n removeAriaLabel = _ref.removeAriaLabel,\n editable = _ref.editable,\n onClick = _ref.onClick,\n onFocus = _ref.onFocus,\n style = _ref.style;\n var tabPrefix = \"\".concat(prefixCls, \"-tab\");\n var removable = editable && closable !== false && !disabled;\n function onInternalClick(e) {\n if (disabled) {\n return;\n }\n onClick(e);\n }\n function onRemoveTab(event) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n var node = /*#__PURE__*/React.createElement(\"div\", {\n key: key\n // ref={ref}\n ,\n \"data-node-key\": genDataNodeKey(key),\n className: classNames(tabPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(tabPrefix, \"-with-remove\"), removable), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-active\"), active), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-disabled\"), disabled), _classNames)),\n style: style,\n onClick: onInternalClick\n }, /*#__PURE__*/React.createElement(\"div\", {\n role: \"tab\",\n \"aria-selected\": active,\n id: id && \"\".concat(id, \"-tab-\").concat(key),\n className: \"\".concat(tabPrefix, \"-btn\"),\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(key),\n \"aria-disabled\": disabled,\n tabIndex: disabled ? null : 0,\n onClick: function onClick(e) {\n e.stopPropagation();\n onInternalClick(e);\n },\n onKeyDown: function onKeyDown(e) {\n if ([KeyCode.SPACE, KeyCode.ENTER].includes(e.which)) {\n e.preventDefault();\n onInternalClick(e);\n }\n },\n onFocus: onFocus\n }, label), removable && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(tabPrefix, \"-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e);\n }\n }, closeIcon || editable.removeIcon || '×'));\n return renderWrapper ? renderWrapper(node) : node;\n}\nexport default TabNode;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport raf from \"rc-util/es/raf\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport useOffsets from \"../hooks/useOffsets\";\nimport useSyncState from \"../hooks/useSyncState\";\nimport useTouchMove from \"../hooks/useTouchMove\";\nimport useUpdate, { useUpdateState } from \"../hooks/useUpdate\";\nimport useVisibleRange from \"../hooks/useVisibleRange\";\nimport TabContext from \"../TabContext\";\nimport { genDataNodeKey, stringify } from \"../util\";\nimport AddButton from \"./AddButton\";\nimport ExtraContent from \"./ExtraContent\";\nimport OperationNode from \"./OperationNode\";\nimport TabNode from \"./TabNode\";\nvar getSize = function getSize(refObj) {\n var _ref = refObj.current || {},\n _ref$offsetWidth = _ref.offsetWidth,\n offsetWidth = _ref$offsetWidth === void 0 ? 0 : _ref$offsetWidth,\n _ref$offsetHeight = _ref.offsetHeight,\n offsetHeight = _ref$offsetHeight === void 0 ? 0 : _ref$offsetHeight;\n return [offsetWidth, offsetHeight];\n};\n\n/**\n * Convert `SizeInfo` to unit value. Such as [123, 456] with `top` position get `123`\n */\nvar getUnitValue = function getUnitValue(size, tabPositionTopOrBottom) {\n return size[tabPositionTopOrBottom ? 0 : 1];\n};\nfunction TabNavList(props, ref) {\n var _classNames;\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n var className = props.className,\n style = props.style,\n id = props.id,\n animated = props.animated,\n activeKey = props.activeKey,\n rtl = props.rtl,\n extra = props.extra,\n editable = props.editable,\n locale = props.locale,\n tabPosition = props.tabPosition,\n tabBarGutter = props.tabBarGutter,\n children = props.children,\n onTabClick = props.onTabClick,\n onTabScroll = props.onTabScroll;\n var containerRef = useRef();\n var extraLeftRef = useRef();\n var extraRightRef = useRef();\n var tabsWrapperRef = useRef();\n var tabListRef = useRef();\n var operationsRef = useRef();\n var innerAddButtonRef = useRef();\n // const [getBtnRef, removeBtnRef] = useRefs();\n\n var tabPositionTopOrBottom = tabPosition === 'top' || tabPosition === 'bottom';\n var _useSyncState = useSyncState(0, function (next, prev) {\n if (tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'left' : 'right'\n });\n }\n }),\n _useSyncState2 = _slicedToArray(_useSyncState, 2),\n transformLeft = _useSyncState2[0],\n setTransformLeft = _useSyncState2[1];\n var _useSyncState3 = useSyncState(0, function (next, prev) {\n if (!tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'top' : 'bottom'\n });\n }\n }),\n _useSyncState4 = _slicedToArray(_useSyncState3, 2),\n transformTop = _useSyncState4[0],\n setTransformTop = _useSyncState4[1];\n var _useState = useState([0, 0]),\n _useState2 = _slicedToArray(_useState, 2),\n containerExcludeExtraSize = _useState2[0],\n setContainerExcludeExtraSize = _useState2[1];\n var _useState3 = useState([0, 0]),\n _useState4 = _slicedToArray(_useState3, 2),\n tabContentSize = _useState4[0],\n setTabContentSize = _useState4[1];\n var _useState5 = useState([0, 0]),\n _useState6 = _slicedToArray(_useState5, 2),\n addSize = _useState6[0],\n setAddSize = _useState6[1];\n var _useState7 = useState([0, 0]),\n _useState8 = _slicedToArray(_useState7, 2),\n operationSize = _useState8[0],\n setOperationSize = _useState8[1];\n var _useUpdateState = useUpdateState(new Map()),\n _useUpdateState2 = _slicedToArray(_useUpdateState, 2),\n tabSizes = _useUpdateState2[0],\n setTabSizes = _useUpdateState2[1];\n var tabOffsets = useOffsets(tabs, tabSizes, tabContentSize[0]);\n\n // ========================== Unit =========================\n var containerExcludeExtraSizeValue = getUnitValue(containerExcludeExtraSize, tabPositionTopOrBottom);\n var tabContentSizeValue = getUnitValue(tabContentSize, tabPositionTopOrBottom);\n var addSizeValue = getUnitValue(addSize, tabPositionTopOrBottom);\n var operationSizeValue = getUnitValue(operationSize, tabPositionTopOrBottom);\n var needScroll = containerExcludeExtraSizeValue < tabContentSizeValue + addSizeValue;\n var visibleTabContentValue = needScroll ? containerExcludeExtraSizeValue - operationSizeValue : containerExcludeExtraSizeValue - addSizeValue;\n\n // ========================== Util =========================\n var operationsHiddenClassName = \"\".concat(prefixCls, \"-nav-operations-hidden\");\n var transformMin = 0;\n var transformMax = 0;\n if (!tabPositionTopOrBottom) {\n transformMin = Math.min(0, visibleTabContentValue - tabContentSizeValue);\n transformMax = 0;\n } else if (rtl) {\n transformMin = 0;\n transformMax = Math.max(0, tabContentSizeValue - visibleTabContentValue);\n } else {\n transformMin = Math.min(0, visibleTabContentValue - tabContentSizeValue);\n transformMax = 0;\n }\n function alignInRange(value) {\n if (value < transformMin) {\n return transformMin;\n }\n if (value > transformMax) {\n return transformMax;\n }\n return value;\n }\n\n // ========================= Mobile ========================\n var touchMovingRef = useRef();\n var _useState9 = useState(),\n _useState10 = _slicedToArray(_useState9, 2),\n lockAnimation = _useState10[0],\n setLockAnimation = _useState10[1];\n function doLockAnimation() {\n setLockAnimation(Date.now());\n }\n function clearTouchMoving() {\n window.clearTimeout(touchMovingRef.current);\n }\n useTouchMove(tabsWrapperRef, function (offsetX, offsetY) {\n function doMove(setState, offset) {\n setState(function (value) {\n var newValue = alignInRange(value + offset);\n return newValue;\n });\n }\n\n // Skip scroll if place is enough\n if (!needScroll) {\n return false;\n }\n if (tabPositionTopOrBottom) {\n doMove(setTransformLeft, offsetX);\n } else {\n doMove(setTransformTop, offsetY);\n }\n clearTouchMoving();\n doLockAnimation();\n return true;\n });\n useEffect(function () {\n clearTouchMoving();\n if (lockAnimation) {\n touchMovingRef.current = window.setTimeout(function () {\n setLockAnimation(0);\n }, 100);\n }\n return clearTouchMoving;\n }, [lockAnimation]);\n\n // ===================== Visible Range =====================\n // Render tab node & collect tab offset\n var _useVisibleRange = useVisibleRange(tabOffsets,\n // Container\n visibleTabContentValue,\n // Transform\n tabPositionTopOrBottom ? transformLeft : transformTop,\n // Tabs\n tabContentSizeValue,\n // Add\n addSizeValue,\n // Operation\n operationSizeValue, _objectSpread(_objectSpread({}, props), {}, {\n tabs: tabs\n })),\n _useVisibleRange2 = _slicedToArray(_useVisibleRange, 2),\n visibleStart = _useVisibleRange2[0],\n visibleEnd = _useVisibleRange2[1];\n\n // ========================= Scroll ========================\n var scrollToTab = useEvent(function () {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : activeKey;\n var tabOffset = tabOffsets.get(key) || {\n width: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0\n };\n if (tabPositionTopOrBottom) {\n // ============ Align with top & bottom ============\n var newTransform = transformLeft;\n\n // RTL\n if (rtl) {\n if (tabOffset.right < transformLeft) {\n newTransform = tabOffset.right;\n } else if (tabOffset.right + tabOffset.width > transformLeft + visibleTabContentValue) {\n newTransform = tabOffset.right + tabOffset.width - visibleTabContentValue;\n }\n }\n // LTR\n else if (tabOffset.left < -transformLeft) {\n newTransform = -tabOffset.left;\n } else if (tabOffset.left + tabOffset.width > -transformLeft + visibleTabContentValue) {\n newTransform = -(tabOffset.left + tabOffset.width - visibleTabContentValue);\n }\n setTransformTop(0);\n setTransformLeft(alignInRange(newTransform));\n } else {\n // ============ Align with left & right ============\n var _newTransform = transformTop;\n if (tabOffset.top < -transformTop) {\n _newTransform = -tabOffset.top;\n } else if (tabOffset.top + tabOffset.height > -transformTop + visibleTabContentValue) {\n _newTransform = -(tabOffset.top + tabOffset.height - visibleTabContentValue);\n }\n setTransformLeft(0);\n setTransformTop(alignInRange(_newTransform));\n }\n });\n\n // ========================== Tab ==========================\n var tabNodeStyle = {};\n if (tabPosition === 'top' || tabPosition === 'bottom') {\n tabNodeStyle[rtl ? 'marginRight' : 'marginLeft'] = tabBarGutter;\n } else {\n tabNodeStyle.marginTop = tabBarGutter;\n }\n var tabNodes = tabs.map(function (tab, i) {\n var key = tab.key;\n return /*#__PURE__*/React.createElement(TabNode, {\n id: id,\n prefixCls: prefixCls,\n key: key,\n tab: tab\n /* first node should not have margin left */,\n style: i === 0 ? undefined : tabNodeStyle,\n closable: tab.closable,\n editable: editable,\n active: key === activeKey,\n renderWrapper: children,\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n onClick: function onClick(e) {\n onTabClick(key, e);\n },\n onFocus: function onFocus() {\n scrollToTab(key);\n doLockAnimation();\n if (!tabsWrapperRef.current) {\n return;\n }\n // Focus element will make scrollLeft change which we should reset back\n if (!rtl) {\n tabsWrapperRef.current.scrollLeft = 0;\n }\n tabsWrapperRef.current.scrollTop = 0;\n }\n });\n });\n\n // Update buttons records\n var updateTabSizes = function updateTabSizes() {\n return setTabSizes(function () {\n var newSizes = new Map();\n tabs.forEach(function (_ref2) {\n var _tabListRef$current;\n var key = _ref2.key;\n var btnNode = (_tabListRef$current = tabListRef.current) === null || _tabListRef$current === void 0 ? void 0 : _tabListRef$current.querySelector(\"[data-node-key=\\\"\".concat(genDataNodeKey(key), \"\\\"]\"));\n if (btnNode) {\n newSizes.set(key, {\n width: btnNode.offsetWidth,\n height: btnNode.offsetHeight,\n left: btnNode.offsetLeft,\n top: btnNode.offsetTop\n });\n }\n });\n return newSizes;\n });\n };\n useEffect(function () {\n updateTabSizes();\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_')]);\n var onListHolderResize = useUpdate(function () {\n // Update wrapper records\n var containerSize = getSize(containerRef);\n var extraLeftSize = getSize(extraLeftRef);\n var extraRightSize = getSize(extraRightRef);\n setContainerExcludeExtraSize([containerSize[0] - extraLeftSize[0] - extraRightSize[0], containerSize[1] - extraLeftSize[1] - extraRightSize[1]]);\n var newAddSize = getSize(innerAddButtonRef);\n setAddSize(newAddSize);\n var newOperationSize = getSize(operationsRef);\n setOperationSize(newOperationSize);\n\n // Which includes add button size\n var tabContentFullSize = getSize(tabListRef);\n setTabContentSize([tabContentFullSize[0] - newAddSize[0], tabContentFullSize[1] - newAddSize[1]]);\n\n // Update buttons records\n updateTabSizes();\n });\n\n // ======================== Dropdown =======================\n var startHiddenTabs = tabs.slice(0, visibleStart);\n var endHiddenTabs = tabs.slice(visibleEnd + 1);\n var hiddenTabs = [].concat(_toConsumableArray(startHiddenTabs), _toConsumableArray(endHiddenTabs));\n\n // =================== Link & Operations ===================\n var _useState11 = useState(),\n _useState12 = _slicedToArray(_useState11, 2),\n inkStyle = _useState12[0],\n setInkStyle = _useState12[1];\n var activeTabOffset = tabOffsets.get(activeKey);\n\n // Delay set ink style to avoid remove tab blink\n var inkBarRafRef = useRef();\n function cleanInkBarRaf() {\n raf.cancel(inkBarRafRef.current);\n }\n useEffect(function () {\n var newInkStyle = {};\n if (activeTabOffset) {\n if (tabPositionTopOrBottom) {\n if (rtl) {\n newInkStyle.right = activeTabOffset.right;\n } else {\n newInkStyle.left = activeTabOffset.left;\n }\n newInkStyle.width = activeTabOffset.width;\n } else {\n newInkStyle.top = activeTabOffset.top;\n newInkStyle.height = activeTabOffset.height;\n }\n }\n cleanInkBarRaf();\n inkBarRafRef.current = raf(function () {\n setInkStyle(newInkStyle);\n });\n return cleanInkBarRaf;\n }, [activeTabOffset, tabPositionTopOrBottom, rtl]);\n\n // ========================= Effect ========================\n useEffect(function () {\n scrollToTab();\n // eslint-disable-next-line\n }, [activeKey, transformMin, transformMax, stringify(activeTabOffset), stringify(tabOffsets), tabPositionTopOrBottom]);\n\n // Should recalculate when rtl changed\n useEffect(function () {\n onListHolderResize();\n // eslint-disable-next-line\n }, [rtl]);\n\n // ========================= Render ========================\n var hasDropdown = !!hiddenTabs.length;\n var wrapPrefix = \"\".concat(prefixCls, \"-nav-wrap\");\n var pingLeft;\n var pingRight;\n var pingTop;\n var pingBottom;\n if (tabPositionTopOrBottom) {\n if (rtl) {\n pingRight = transformLeft > 0;\n pingLeft = transformLeft !== transformMax;\n } else {\n pingLeft = transformLeft < 0;\n pingRight = transformLeft !== transformMin;\n }\n } else {\n pingTop = transformTop < 0;\n pingBottom = transformTop !== transformMin;\n }\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: useComposeRef(ref, containerRef),\n role: \"tablist\",\n className: classNames(\"\".concat(prefixCls, \"-nav\"), className),\n style: style,\n onKeyDown: function onKeyDown() {\n // No need animation when use keyboard\n doLockAnimation();\n }\n }, /*#__PURE__*/React.createElement(ExtraContent, {\n ref: extraLeftRef,\n position: \"left\",\n extra: extra,\n prefixCls: prefixCls\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(wrapPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-left\"), pingLeft), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-right\"), pingRight), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-top\"), pingTop), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-bottom\"), pingBottom), _classNames)),\n ref: tabsWrapperRef\n }, /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: tabListRef,\n className: \"\".concat(prefixCls, \"-nav-list\"),\n style: {\n transform: \"translate(\".concat(transformLeft, \"px, \").concat(transformTop, \"px)\"),\n transition: lockAnimation ? 'none' : undefined\n }\n }, tabNodes, /*#__PURE__*/React.createElement(AddButton, {\n ref: innerAddButtonRef,\n prefixCls: prefixCls,\n locale: locale,\n editable: editable,\n style: _objectSpread(_objectSpread({}, tabNodes.length === 0 ? undefined : tabNodeStyle), {}, {\n visibility: hasDropdown ? 'hidden' : null\n })\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-ink-bar\"), _defineProperty({}, \"\".concat(prefixCls, \"-ink-bar-animated\"), animated.inkBar)),\n style: inkStyle\n })))), /*#__PURE__*/React.createElement(OperationNode, _extends({}, props, {\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n ref: operationsRef,\n prefixCls: prefixCls,\n tabs: hiddenTabs,\n className: !hasDropdown && operationsHiddenClassName,\n tabMoving: !!lockAnimation\n })), /*#__PURE__*/React.createElement(ExtraContent, {\n ref: extraRightRef,\n position: \"right\",\n extra: extra,\n prefixCls: prefixCls\n })));\n /* eslint-enable */\n}\n\nexport default /*#__PURE__*/React.forwardRef(TabNavList);","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 = [\"renderTabBar\"],\n _excluded2 = [\"label\", \"key\"];\n// zombieJ: To compatible with `renderTabBar` usage.\n\nimport * as React from 'react';\nimport TabNavList from '.';\nimport TabContext from \"../TabContext\";\nimport TabPane from \"../TabPanelList/TabPane\";\n// We have to create a TabNavList components.\nexport default function TabNavListWrapper(_ref) {\n var renderTabBar = _ref.renderTabBar,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var _React$useContext = React.useContext(TabContext),\n tabs = _React$useContext.tabs;\n if (renderTabBar) {\n var tabNavBarProps = _objectSpread(_objectSpread({}, restProps), {}, {\n // Legacy support. We do not use this actually\n panes: tabs.map(function (_ref2) {\n var label = _ref2.label,\n key = _ref2.key,\n restTabProps = _objectWithoutProperties(_ref2, _excluded2);\n return /*#__PURE__*/React.createElement(TabPane, _extends({\n tab: label,\n key: key,\n tabKey: key\n }, restTabProps));\n })\n });\n return renderTabBar(tabNavBarProps, TabNavList);\n }\n return /*#__PURE__*/React.createElement(TabNavList, restProps);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nexport default function useAnimateConfig() {\n var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n inkBar: true,\n tabPane: false\n };\n var mergedAnimated;\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: false\n };\n } else {\n mergedAnimated = _objectSpread({\n inkBar: true\n }, _typeof(animated) === 'object' ? animated : {});\n }\n\n // Enable tabPane animation if provide motion\n if (mergedAnimated.tabPaneMotion && mergedAnimated.tabPane === undefined) {\n mergedAnimated.tabPane = true;\n }\n if (!mergedAnimated.tabPaneMotion && mergedAnimated.tabPane) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`animated.tabPane` is true but `animated.tabPaneMotion` is not provided. Motion will not work.');\n }\n mergedAnimated.tabPane = false;\n }\n return mergedAnimated;\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 _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"items\", \"direction\", \"activeKey\", \"defaultActiveKey\", \"editable\", \"animated\", \"tabPosition\", \"tabBarGutter\", \"tabBarStyle\", \"tabBarExtraContent\", \"locale\", \"moreIcon\", \"moreTransitionName\", \"destroyInactiveTabPane\", \"renderTabBar\", \"onChange\", \"onTabClick\", \"onTabScroll\", \"getPopupContainer\", \"popupClassName\"];\n// Accessibility https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Tab_Role\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport isMobile from \"rc-util/es/isMobile\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport TabPanelList from \"./TabPanelList\";\nimport TabContext from \"./TabContext\";\nimport TabNavListWrapper from \"./TabNavList/Wrapper\";\nimport useAnimateConfig from \"./hooks/useAnimateConfig\";\n\n/**\n * Should added antd:\n * - type\n *\n * Removed:\n * - onNextClick\n * - onPrevClick\n * - keyboard\n */\n\n// Used for accessibility\nvar uuid = 0;\nfunction Tabs(_ref, ref) {\n var _classNames;\n var id = _ref.id,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-tabs' : _ref$prefixCls,\n className = _ref.className,\n items = _ref.items,\n direction = _ref.direction,\n activeKey = _ref.activeKey,\n defaultActiveKey = _ref.defaultActiveKey,\n editable = _ref.editable,\n animated = _ref.animated,\n _ref$tabPosition = _ref.tabPosition,\n tabPosition = _ref$tabPosition === void 0 ? 'top' : _ref$tabPosition,\n tabBarGutter = _ref.tabBarGutter,\n tabBarStyle = _ref.tabBarStyle,\n tabBarExtraContent = _ref.tabBarExtraContent,\n locale = _ref.locale,\n moreIcon = _ref.moreIcon,\n moreTransitionName = _ref.moreTransitionName,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane,\n renderTabBar = _ref.renderTabBar,\n onChange = _ref.onChange,\n onTabClick = _ref.onTabClick,\n onTabScroll = _ref.onTabScroll,\n getPopupContainer = _ref.getPopupContainer,\n popupClassName = _ref.popupClassName,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var tabs = React.useMemo(function () {\n return (items || []).filter(function (item) {\n return item && _typeof(item) === 'object' && 'key' in item;\n });\n }, [items]);\n var rtl = direction === 'rtl';\n var mergedAnimated = useAnimateConfig(animated);\n\n // ======================== Mobile ========================\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n mobile = _useState2[0],\n setMobile = _useState2[1];\n useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ====================== Active Key ======================\n var _useMergedState = useMergedState(function () {\n var _tabs$;\n return (_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key;\n }, {\n value: activeKey,\n defaultValue: defaultActiveKey\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedActiveKey = _useMergedState2[0],\n setMergedActiveKey = _useMergedState2[1];\n var _useState3 = useState(function () {\n return tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n activeIndex = _useState4[0],\n setActiveIndex = _useState4[1];\n\n // Reset active key if not exist anymore\n useEffect(function () {\n var newActiveIndex = tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n if (newActiveIndex === -1) {\n var _tabs$newActiveIndex;\n newActiveIndex = Math.max(0, Math.min(activeIndex, tabs.length - 1));\n setMergedActiveKey((_tabs$newActiveIndex = tabs[newActiveIndex]) === null || _tabs$newActiveIndex === void 0 ? void 0 : _tabs$newActiveIndex.key);\n }\n setActiveIndex(newActiveIndex);\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), mergedActiveKey, activeIndex]);\n\n // ===================== Accessibility ====================\n var _useMergedState3 = useMergedState(null, {\n value: id\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedId = _useMergedState4[0],\n setMergedId = _useMergedState4[1];\n\n // Async generate id to avoid ssr mapping failed\n useEffect(function () {\n if (!id) {\n setMergedId(\"rc-tabs-\".concat(process.env.NODE_ENV === 'test' ? 'test' : uuid));\n uuid += 1;\n }\n }, []);\n\n // ======================== Events ========================\n function onInternalTabClick(key, e) {\n onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(key, e);\n var isActiveChanged = key !== mergedActiveKey;\n setMergedActiveKey(key);\n if (isActiveChanged) {\n onChange === null || onChange === void 0 ? void 0 : onChange(key);\n }\n }\n\n // ======================== Render ========================\n var sharedProps = {\n id: mergedId,\n activeKey: mergedActiveKey,\n animated: mergedAnimated,\n tabPosition: tabPosition,\n rtl: rtl,\n mobile: mobile\n };\n var tabNavBar;\n var tabNavBarProps = _objectSpread(_objectSpread({}, sharedProps), {}, {\n editable: editable,\n locale: locale,\n moreIcon: moreIcon,\n moreTransitionName: moreTransitionName,\n tabBarGutter: tabBarGutter,\n onTabClick: onInternalTabClick,\n onTabScroll: onTabScroll,\n extra: tabBarExtraContent,\n style: tabBarStyle,\n panes: null,\n getPopupContainer: getPopupContainer,\n popupClassName: popupClassName\n });\n return /*#__PURE__*/React.createElement(TabContext.Provider, {\n value: {\n tabs: tabs,\n prefixCls: prefixCls\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n id: id,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(tabPosition), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-mobile\"), mobile), _defineProperty(_classNames, \"\".concat(prefixCls, \"-editable\"), editable), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), rtl), _classNames), className)\n }, restProps), tabNavBar, /*#__PURE__*/React.createElement(TabNavListWrapper, _extends({}, tabNavBarProps, {\n renderTabBar: renderTabBar\n })), /*#__PURE__*/React.createElement(TabPanelList, _extends({\n destroyInactiveTabPane: destroyInactiveTabPane\n }, sharedProps, {\n animated: mergedAnimated\n }))));\n}\nvar ForwardTabs = /*#__PURE__*/React.forwardRef(Tabs);\nif (process.env.NODE_ENV !== 'production') {\n ForwardTabs.displayName = 'Tabs';\n}\nexport default ForwardTabs;","const TabPane = () => null;\nif (process.env.NODE_ENV !== 'production') {\n TabPane.displayName = 'DeprecatedTabPane';\n}\nexport default TabPane;","import { getTransitionName } from '../../_util/motion';\nconst motion = {\n motionAppear: false,\n motionEnter: true,\n motionLeave: true\n};\nexport default function useAnimateConfig(prefixCls) {\n let animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n inkBar: true,\n tabPane: false\n };\n let mergedAnimated;\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: true\n };\n } else {\n mergedAnimated = Object.assign({\n inkBar: true\n }, typeof animated === 'object' ? animated : {});\n }\n if (mergedAnimated.tabPane) {\n mergedAnimated.tabPaneMotion = Object.assign(Object.assign({}, motion), {\n motionName: getTransitionName(prefixCls, 'switch')\n });\n }\n return mergedAnimated;\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from '../../_util/warning';\nfunction filter(items) {\n return items.filter(item => item);\n}\nexport default function useLegacyItems(items, children) {\n if (items) {\n return items;\n }\n process.env.NODE_ENV !== \"production\" ? warning(!children, 'Tabs', 'Tabs.TabPane is deprecated. Please use `items` directly.') : void 0;\n const childrenItems = toArray(children).map(node => {\n if ( /*#__PURE__*/React.isValidElement(node)) {\n const {\n key,\n props\n } = node;\n const _a = props || {},\n {\n tab\n } = _a,\n restProps = __rest(_a, [\"tab\"]);\n const item = Object.assign(Object.assign({\n key: String(key)\n }, restProps), {\n label: tab\n });\n return item;\n }\n return null;\n });\n return filter(childrenItems);\n}","import { initSlideMotion } from '../../style/motion';\nconst genMotionStyle = token => {\n const {\n componentCls,\n motionDurationSlow\n } = token;\n return [{\n [componentCls]: {\n [`${componentCls}-switch`]: {\n '&-appear, &-enter': {\n transition: 'none',\n '&-start': {\n opacity: 0\n },\n '&-active': {\n opacity: 1,\n transition: `opacity ${motionDurationSlow}`\n }\n },\n '&-leave': {\n position: 'absolute',\n transition: 'none',\n inset: 0,\n '&-start': {\n opacity: 1\n },\n '&-active': {\n opacity: 0,\n transition: `opacity ${motionDurationSlow}`\n }\n }\n }\n }\n },\n // Follow code may reuse in other components\n [initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down')]];\n};\nexport default genMotionStyle;","import { genFocusStyle, resetComponent, textEllipsis } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genMotionStyle from './motion';\nconst genCardStyle = token => {\n const {\n componentCls,\n tabsCardPadding,\n cardBg,\n cardGutter,\n colorBorderSecondary,\n itemSelectedColor\n } = token;\n return {\n [`${componentCls}-card`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n margin: 0,\n padding: tabsCardPadding,\n background: cardBg,\n border: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,\n transition: `all ${token.motionDurationSlow} ${token.motionEaseInOut}`\n },\n [`${componentCls}-tab-active`]: {\n color: itemSelectedColor,\n background: token.colorBgContainer\n },\n [`${componentCls}-ink-bar`]: {\n visibility: 'hidden'\n }\n },\n // ========================== Top & Bottom ==========================\n [`&${componentCls}-top, &${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginLeft: {\n _skip_check_: true,\n value: `${cardGutter}px`\n }\n }\n }\n },\n [`&${componentCls}-top`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`\n },\n [`${componentCls}-tab-active`]: {\n borderBottomColor: token.colorBgContainer\n }\n }\n },\n [`&${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: `0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px`\n },\n [`${componentCls}-tab-active`]: {\n borderTopColor: token.colorBgContainer\n }\n }\n },\n // ========================== Left & Right ==========================\n [`&${componentCls}-left, &${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginTop: `${cardGutter}px`\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `${token.borderRadiusLG}px 0 0 ${token.borderRadiusLG}px`\n }\n },\n [`${componentCls}-tab-active`]: {\n borderRightColor: {\n _skip_check_: true,\n value: token.colorBgContainer\n }\n }\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px 0`\n }\n },\n [`${componentCls}-tab-active`]: {\n borderLeftColor: {\n _skip_check_: true,\n value: token.colorBgContainer\n }\n }\n }\n }\n }\n };\n};\nconst genDropdownStyle = token => {\n const {\n componentCls,\n itemHoverColor,\n dropdownEdgeChildVerticalPadding\n } = token;\n return {\n [`${componentCls}-dropdown`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n top: -9999,\n left: {\n _skip_check_: true,\n value: -9999\n },\n zIndex: token.zIndexPopup,\n display: 'block',\n '&-hidden': {\n display: 'none'\n },\n [`${componentCls}-dropdown-menu`]: {\n maxHeight: token.tabsDropdownHeight,\n margin: 0,\n padding: `${dropdownEdgeChildVerticalPadding}px 0`,\n overflowX: 'hidden',\n overflowY: 'auto',\n textAlign: {\n _skip_check_: true,\n value: 'left'\n },\n listStyleType: 'none',\n backgroundColor: token.colorBgContainer,\n backgroundClip: 'padding-box',\n borderRadius: token.borderRadiusLG,\n outline: 'none',\n boxShadow: token.boxShadowSecondary,\n '&-item': Object.assign(Object.assign({}, textEllipsis), {\n display: 'flex',\n alignItems: 'center',\n minWidth: token.tabsDropdownWidth,\n margin: 0,\n padding: `${token.paddingXXS}px ${token.paddingSM}px`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n '> span': {\n flex: 1,\n whiteSpace: 'nowrap'\n },\n '&-remove': {\n flex: 'none',\n marginLeft: {\n _skip_check_: true,\n value: token.marginSM\n },\n color: token.colorTextDescription,\n fontSize: token.fontSizeSM,\n background: 'transparent',\n border: 0,\n cursor: 'pointer',\n '&:hover': {\n color: itemHoverColor\n }\n },\n '&:hover': {\n background: token.controlItemBgHover\n },\n '&-disabled': {\n '&, &:hover': {\n color: token.colorTextDisabled,\n background: 'transparent',\n cursor: 'not-allowed'\n }\n }\n })\n }\n })\n };\n};\nconst genPositionStyle = token => {\n const {\n componentCls,\n margin,\n colorBorderSecondary,\n horizontalMargin,\n verticalItemPadding,\n verticalItemMargin\n } = token;\n return {\n // ========================== Top & Bottom ==========================\n [`${componentCls}-top, ${componentCls}-bottom`]: {\n flexDirection: 'column',\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n margin: horizontalMargin,\n '&::before': {\n position: 'absolute',\n right: {\n _skip_check_: true,\n value: 0\n },\n left: {\n _skip_check_: true,\n value: 0\n },\n borderBottom: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,\n content: \"''\"\n },\n [`${componentCls}-ink-bar`]: {\n height: token.lineWidthBold,\n '&-animated': {\n transition: `width ${token.motionDurationSlow}, left ${token.motionDurationSlow},\n right ${token.motionDurationSlow}`\n }\n },\n [`${componentCls}-nav-wrap`]: {\n '&::before, &::after': {\n top: 0,\n bottom: 0,\n width: token.controlHeight\n },\n '&::before': {\n left: {\n _skip_check_: true,\n value: 0\n },\n boxShadow: token.boxShadowTabsOverflowLeft\n },\n '&::after': {\n right: {\n _skip_check_: true,\n value: 0\n },\n boxShadow: token.boxShadowTabsOverflowRight\n },\n [`&${componentCls}-nav-wrap-ping-left::before`]: {\n opacity: 1\n },\n [`&${componentCls}-nav-wrap-ping-right::after`]: {\n opacity: 1\n }\n }\n }\n },\n [`${componentCls}-top`]: {\n [`> ${componentCls}-nav,\n > div > ${componentCls}-nav`]: {\n '&::before': {\n bottom: 0\n },\n [`${componentCls}-ink-bar`]: {\n bottom: 0\n }\n }\n },\n [`${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n order: 1,\n marginTop: `${margin}px`,\n marginBottom: 0,\n '&::before': {\n top: 0\n },\n [`${componentCls}-ink-bar`]: {\n top: 0\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n order: 0\n }\n },\n // ========================== Left & Right ==========================\n [`${componentCls}-left, ${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n flexDirection: 'column',\n minWidth: token.controlHeight * 1.25,\n // >>>>>>>>>>> Tab\n [`${componentCls}-tab`]: {\n padding: verticalItemPadding,\n textAlign: 'center'\n },\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n margin: verticalItemMargin\n },\n // >>>>>>>>>>> Nav\n [`${componentCls}-nav-wrap`]: {\n flexDirection: 'column',\n '&::before, &::after': {\n right: {\n _skip_check_: true,\n value: 0\n },\n left: {\n _skip_check_: true,\n value: 0\n },\n height: token.controlHeight\n },\n '&::before': {\n top: 0,\n boxShadow: token.boxShadowTabsOverflowTop\n },\n '&::after': {\n bottom: 0,\n boxShadow: token.boxShadowTabsOverflowBottom\n },\n [`&${componentCls}-nav-wrap-ping-top::before`]: {\n opacity: 1\n },\n [`&${componentCls}-nav-wrap-ping-bottom::after`]: {\n opacity: 1\n }\n },\n // >>>>>>>>>>> Ink Bar\n [`${componentCls}-ink-bar`]: {\n width: token.lineWidthBold,\n '&-animated': {\n transition: `height ${token.motionDurationSlow}, top ${token.motionDurationSlow}`\n }\n },\n [`${componentCls}-nav-list, ${componentCls}-nav-operations`]: {\n flex: '1 0 auto',\n flexDirection: 'column'\n }\n }\n },\n [`${componentCls}-left`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-ink-bar`]: {\n right: {\n _skip_check_: true,\n value: 0\n }\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n marginLeft: {\n _skip_check_: true,\n value: `-${token.lineWidth}px`\n },\n borderLeft: {\n _skip_check_: true,\n value: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`\n },\n [`> ${componentCls}-content > ${componentCls}-tabpane`]: {\n paddingLeft: {\n _skip_check_: true,\n value: token.paddingLG\n }\n }\n }\n },\n [`${componentCls}-right`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n order: 1,\n [`${componentCls}-ink-bar`]: {\n left: {\n _skip_check_: true,\n value: 0\n }\n }\n },\n [`> ${componentCls}-content-holder, > div > ${componentCls}-content-holder`]: {\n order: 0,\n marginRight: {\n _skip_check_: true,\n value: -token.lineWidth\n },\n borderRight: {\n _skip_check_: true,\n value: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`\n },\n [`> ${componentCls}-content > ${componentCls}-tabpane`]: {\n paddingRight: {\n _skip_check_: true,\n value: token.paddingLG\n }\n }\n }\n }\n };\n};\nconst genSizeStyle = token => {\n const {\n componentCls,\n cardPaddingSM,\n cardPaddingLG,\n horizontalItemPaddingSM,\n horizontalItemPaddingLG\n } = token;\n return {\n [componentCls]: {\n '&-small': {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: horizontalItemPaddingSM,\n fontSize: token.titleFontSizeSM\n }\n }\n },\n '&-large': {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: horizontalItemPaddingLG,\n fontSize: token.titleFontSizeLG\n }\n }\n }\n },\n [`${componentCls}-card`]: {\n [`&${componentCls}-small`]: {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: cardPaddingSM\n }\n },\n [`&${componentCls}-bottom`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: `0 0 ${token.borderRadius}px ${token.borderRadius}px`\n }\n },\n [`&${componentCls}-top`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: `${token.borderRadius}px ${token.borderRadius}px 0 0`\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `0 ${token.borderRadius}px ${token.borderRadius}px 0`\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav ${componentCls}-tab`]: {\n borderRadius: {\n _skip_check_: true,\n value: `${token.borderRadius}px 0 0 ${token.borderRadius}px`\n }\n }\n }\n },\n [`&${componentCls}-large`]: {\n [`> ${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n padding: cardPaddingLG\n }\n }\n }\n }\n };\n};\nconst genTabStyle = token => {\n const {\n componentCls,\n itemActiveColor,\n itemHoverColor,\n iconCls,\n tabsHorizontalItemMargin,\n horizontalItemPadding,\n itemSelectedColor\n } = token;\n const tabCls = `${componentCls}-tab`;\n return {\n [tabCls]: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n padding: horizontalItemPadding,\n fontSize: token.titleFontSize,\n background: 'transparent',\n border: 0,\n outline: 'none',\n cursor: 'pointer',\n '&-btn, &-remove': Object.assign({\n '&:focus:not(:focus-visible), &:active': {\n color: itemActiveColor\n }\n }, genFocusStyle(token)),\n '&-btn': {\n outline: 'none',\n transition: 'all 0.3s'\n },\n '&-remove': {\n flex: 'none',\n marginRight: {\n _skip_check_: true,\n value: -token.marginXXS\n },\n marginLeft: {\n _skip_check_: true,\n value: token.marginXS\n },\n color: token.colorTextDescription,\n fontSize: token.fontSizeSM,\n background: 'transparent',\n border: 'none',\n outline: 'none',\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n '&:hover': {\n color: token.colorTextHeading\n }\n },\n '&:hover': {\n color: itemHoverColor\n },\n [`&${tabCls}-active ${tabCls}-btn`]: {\n color: itemSelectedColor,\n textShadow: token.tabsActiveTextShadow\n },\n [`&${tabCls}-disabled`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n },\n [`&${tabCls}-disabled ${tabCls}-btn, &${tabCls}-disabled ${componentCls}-remove`]: {\n '&:focus, &:active': {\n color: token.colorTextDisabled\n }\n },\n [`& ${tabCls}-remove ${iconCls}`]: {\n margin: 0\n },\n [iconCls]: {\n marginRight: {\n _skip_check_: true,\n value: token.marginSM\n }\n }\n },\n [`${tabCls} + ${tabCls}`]: {\n margin: {\n _skip_check_: true,\n value: tabsHorizontalItemMargin\n }\n }\n };\n};\nconst genRtlStyle = token => {\n const {\n componentCls,\n tabsHorizontalItemMarginRTL,\n iconCls,\n cardGutter\n } = token;\n const rtlCls = `${componentCls}-rtl`;\n return {\n [rtlCls]: {\n direction: 'rtl',\n [`${componentCls}-nav`]: {\n [`${componentCls}-tab`]: {\n margin: {\n _skip_check_: true,\n value: tabsHorizontalItemMarginRTL\n },\n [`${componentCls}-tab:last-of-type`]: {\n marginLeft: {\n _skip_check_: true,\n value: 0\n }\n },\n [iconCls]: {\n marginRight: {\n _skip_check_: true,\n value: 0\n },\n marginLeft: {\n _skip_check_: true,\n value: `${token.marginSM}px`\n }\n },\n [`${componentCls}-tab-remove`]: {\n marginRight: {\n _skip_check_: true,\n value: `${token.marginXS}px`\n },\n marginLeft: {\n _skip_check_: true,\n value: `-${token.marginXXS}px`\n },\n [iconCls]: {\n margin: 0\n }\n }\n }\n },\n [`&${componentCls}-left`]: {\n [`> ${componentCls}-nav`]: {\n order: 1\n },\n [`> ${componentCls}-content-holder`]: {\n order: 0\n }\n },\n [`&${componentCls}-right`]: {\n [`> ${componentCls}-nav`]: {\n order: 0\n },\n [`> ${componentCls}-content-holder`]: {\n order: 1\n }\n },\n // ====================== Card ======================\n [`&${componentCls}-card${componentCls}-top, &${componentCls}-card${componentCls}-bottom`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-tab + ${componentCls}-tab`]: {\n marginRight: {\n _skip_check_: true,\n value: cardGutter\n },\n marginLeft: {\n _skip_check_: true,\n value: 0\n }\n }\n }\n }\n },\n [`${componentCls}-dropdown-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-menu-item`]: {\n [`${componentCls}-dropdown-rtl`]: {\n textAlign: {\n _skip_check_: true,\n value: 'right'\n }\n }\n }\n };\n};\nconst genTabsStyle = token => {\n const {\n componentCls,\n tabsCardPadding,\n cardHeight,\n cardGutter,\n itemHoverColor,\n itemActiveColor,\n colorBorderSecondary\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'flex',\n // ========================== Navigation ==========================\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n position: 'relative',\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n [`${componentCls}-nav-wrap`]: {\n position: 'relative',\n display: 'flex',\n flex: 'auto',\n alignSelf: 'stretch',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n transform: 'translate(0)',\n // >>>>> Ping shadow\n '&::before, &::after': {\n position: 'absolute',\n zIndex: 1,\n opacity: 0,\n transition: `opacity ${token.motionDurationSlow}`,\n content: \"''\",\n pointerEvents: 'none'\n }\n },\n [`${componentCls}-nav-list`]: {\n position: 'relative',\n display: 'flex',\n transition: `opacity ${token.motionDurationSlow}`\n },\n // >>>>>>>> Operations\n [`${componentCls}-nav-operations`]: {\n display: 'flex',\n alignSelf: 'stretch'\n },\n [`${componentCls}-nav-operations-hidden`]: {\n position: 'absolute',\n visibility: 'hidden',\n pointerEvents: 'none'\n },\n [`${componentCls}-nav-more`]: {\n position: 'relative',\n padding: tabsCardPadding,\n background: 'transparent',\n border: 0,\n color: token.colorText,\n '&::after': {\n position: 'absolute',\n right: {\n _skip_check_: true,\n value: 0\n },\n bottom: 0,\n left: {\n _skip_check_: true,\n value: 0\n },\n height: token.controlHeightLG / 8,\n transform: 'translateY(100%)',\n content: \"''\"\n }\n },\n [`${componentCls}-nav-add`]: Object.assign({\n minWidth: cardHeight,\n marginLeft: {\n _skip_check_: true,\n value: cardGutter\n },\n padding: `0 ${token.paddingXS}px`,\n background: 'transparent',\n border: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`,\n outline: 'none',\n cursor: 'pointer',\n color: token.colorText,\n transition: `all ${token.motionDurationSlow} ${token.motionEaseInOut}`,\n '&:hover': {\n color: itemHoverColor\n },\n '&:active, &:focus:not(:focus-visible)': {\n color: itemActiveColor\n }\n }, genFocusStyle(token))\n },\n [`${componentCls}-extra-content`]: {\n flex: 'none'\n },\n // ============================ InkBar ============================\n [`${componentCls}-ink-bar`]: {\n position: 'absolute',\n background: token.inkBarColor,\n pointerEvents: 'none'\n }\n }), genTabStyle(token)), {\n // =========================== TabPanes ===========================\n [`${componentCls}-content`]: {\n position: 'relative',\n width: '100%'\n },\n [`${componentCls}-content-holder`]: {\n flex: 'auto',\n minWidth: 0,\n minHeight: 0\n },\n [`${componentCls}-tabpane`]: {\n outline: 'none',\n '&-hidden': {\n display: 'none'\n }\n }\n }),\n [`${componentCls}-centered`]: {\n [`> ${componentCls}-nav, > div > ${componentCls}-nav`]: {\n [`${componentCls}-nav-wrap`]: {\n [`&:not([class*='${componentCls}-nav-wrap-ping'])`]: {\n justifyContent: 'center'\n }\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Tabs', token => {\n const tabsToken = mergeToken(token, {\n // `cardPadding` is empty by default, so we could calculate with dynamic `cardHeight`\n tabsCardPadding: token.cardPadding || `${(token.cardHeight - Math.round(token.fontSize * token.lineHeight)) / 2 - token.lineWidth}px ${token.padding}px`,\n dropdownEdgeChildVerticalPadding: token.paddingXXS,\n tabsActiveTextShadow: '0 0 0.25px currentcolor',\n tabsDropdownHeight: 200,\n tabsDropdownWidth: 120,\n tabsHorizontalItemMargin: `0 0 0 ${token.horizontalItemGutter}px`,\n tabsHorizontalItemMarginRTL: `0 0 0 ${token.horizontalItemGutter}px`\n });\n return [genSizeStyle(tabsToken), genRtlStyle(tabsToken), genPositionStyle(tabsToken), genDropdownStyle(tabsToken), genCardStyle(tabsToken), genTabsStyle(tabsToken), genMotionStyle(tabsToken)];\n}, token => {\n const cardHeight = token.controlHeightLG;\n return {\n zIndexPopup: token.zIndexPopupBase + 50,\n cardBg: token.colorFillAlter,\n cardHeight,\n // Initialize with empty string, because cardPadding will be calculated with cardHeight by default.\n cardPadding: ``,\n cardPaddingSM: `${token.paddingXXS * 1.5}px ${token.padding}px`,\n cardPaddingLG: `${token.paddingXS}px ${token.padding}px ${token.paddingXXS * 1.5}px`,\n titleFontSize: token.fontSize,\n titleFontSizeLG: token.fontSizeLG,\n titleFontSizeSM: token.fontSize,\n inkBarColor: token.colorPrimary,\n horizontalMargin: `0 0 ${token.margin}px 0`,\n horizontalItemGutter: 32,\n // Initialize with empty string, because horizontalItemMargin will be calculated with horizontalItemGutter by default.\n horizontalItemMargin: ``,\n horizontalItemMarginRTL: ``,\n horizontalItemPadding: `${token.paddingSM}px 0`,\n horizontalItemPaddingSM: `${token.paddingXS}px 0`,\n horizontalItemPaddingLG: `${token.padding}px 0`,\n verticalItemPadding: `${token.paddingXS}px ${token.paddingLG}px`,\n verticalItemMargin: `${token.margin}px 0 0 0`,\n itemSelectedColor: token.colorPrimary,\n itemHoverColor: token.colorPrimaryHover,\n itemActiveColor: token.colorPrimaryActive,\n cardGutter: token.marginXXS / 2\n };\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport PlusOutlined from \"@ant-design/icons/es/icons/PlusOutlined\";\nimport classNames from 'classnames';\nimport RcTabs from 'rc-tabs';\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport TabPane from './TabPane';\nimport useAnimateConfig from './hooks/useAnimateConfig';\nimport useLegacyItems from './hooks/useLegacyItems';\nimport useStyle from './style';\nfunction Tabs(_a) {\n var {\n type,\n className,\n rootClassName,\n size: customSize,\n onEdit,\n hideAdd,\n centered,\n addIcon,\n popupClassName,\n children,\n items,\n animated\n } = _a,\n props = __rest(_a, [\"type\", \"className\", \"rootClassName\", \"size\", \"onEdit\", \"hideAdd\", \"centered\", \"addIcon\", \"popupClassName\", \"children\", \"items\", \"animated\"]);\n const {\n prefixCls: customizePrefixCls,\n moreIcon = /*#__PURE__*/React.createElement(EllipsisOutlined, null)\n } = props;\n const {\n direction,\n getPrefixCls,\n getPopupContainer\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('tabs', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n let editable;\n if (type === 'editable-card') {\n editable = {\n onEdit: (editType, _ref) => {\n let {\n key,\n event\n } = _ref;\n onEdit === null || onEdit === void 0 ? void 0 : onEdit(editType === 'add' ? event : key, editType);\n },\n removeIcon: /*#__PURE__*/React.createElement(CloseOutlined, null),\n addIcon: addIcon || /*#__PURE__*/React.createElement(PlusOutlined, null),\n showAdd: hideAdd !== true\n };\n }\n const rootPrefixCls = getPrefixCls();\n process.env.NODE_ENV !== \"production\" ? warning(!('onPrevClick' in props) && !('onNextClick' in props), 'Tabs', '`onPrevClick` and `onNextClick` has been removed. Please use `onTabScroll` instead.') : void 0;\n const mergedItems = useLegacyItems(items, children);\n const mergedAnimated = useAnimateConfig(prefixCls, animated);\n const size = useSize(customSize);\n return wrapSSR( /*#__PURE__*/React.createElement(RcTabs, Object.assign({\n direction: direction,\n getPopupContainer: getPopupContainer,\n moreTransitionName: `${rootPrefixCls}-slide-up`\n }, props, {\n items: mergedItems,\n className: classNames({\n [`${prefixCls}-${size}`]: size,\n [`${prefixCls}-card`]: ['card', 'editable-card'].includes(type),\n [`${prefixCls}-editable-card`]: type === 'editable-card',\n [`${prefixCls}-centered`]: centered\n }, className, rootClassName, hashId),\n popupClassName: classNames(popupClassName, hashId),\n editable: editable,\n moreIcon: moreIcon,\n prefixCls: prefixCls,\n animated: mergedAnimated\n })));\n}\nTabs.TabPane = TabPane;\nif (process.env.NODE_ENV !== 'production') {\n Tabs.displayName = 'Tabs';\n}\nexport default Tabs;"],"names":["ESC","KeyCode","TAB","useAccessibility","_ref","visible","triggerRef","onVisibleChange","autoFocus","overlayRef","focusMenuRef","React.useRef","handleCloseMenuAndReturnFocus","_triggerRef$current","_triggerRef$current$f","focusMenu","_overlayRef$current","handleKeyDown","event","focusResult","React.useEffect","raf","Overlay","forwardRef","props","ref","overlay","arrow","prefixCls","overlayNode","useMemo","overlayElement","composedRef","composeRef","React","supportRef","autoAdjustOverflow","targetOffset","placements","_excluded","Dropdown","_children$props","_props$arrow","_props$prefixCls","transitionName","animation","align","_props$placement","placement","_props$placements","Placements","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","_props$trigger","trigger","children","otherProps","_objectWithoutProperties","_React$useState","_React$useState2","_slicedToArray","triggerVisible","setTriggerVisible","mergedVisible","childRef","handleVisibleChange","newVisible","onClick","e","onOverlayClick","getMenuElement","getMenuElementOrLambda","getMinOverlayWidthMatchTrigger","minOverlayWidthMatchTrigger","alignPoint","getOpenClassName","openClassName","childrenNode","classNames","triggerHideAction","Trigger","_extends","_defineProperty","Dropdown$1","IdContext","React.createContext","getMenuId","uuid","eventKey","useMenuId","id","React.useContext","MenuContext","mergeProps","origin","target","clone","_objectSpread","key","value","InheritableContextProvider","locked","restProps","context","inheritableContext","prev","next","isEqual","React.createElement","EmptyList","PathRegisterContext","useMeasure","PathTrackerContext","useFullPath","parentKeyPath","React.useMemo","_toConsumableArray","PathUserContext","PrivateContext","focusable","node","includePositive","isVisible","nodeName","isFocusableElement","tabIndexAttr","tabIndexNum","tabIndex","getFocusNodeList","res","child","LEFT","RIGHT","UP","DOWN","ENTER","HOME","END","ArrowKeys","getOffset","mode","isRootLevel","isRtl","which","_inline","_horizontal","_vertical","_offsets","parent","inline","horizontal","vertical","offsets","type","findContainerUL","element","current","getFocusElement","activeElement","elements","getFocusableElements","container","list","ele","getNextFocusElement","parentQueryContainer","focusMenuElement","offset","sameLevelFocusableMenuElementList","count","focusIndex","activeKey","containerRef","getKeys","getKeyPath","triggerActiveKey","triggerAccessibilityOpen","originOnKeyDown","rafRef","activeRef","cleanRaf","key2element","element2key","refreshElements","keys","focusMenuKey","offsetObj","tryFocus","menuElement","focusTargetElement","link","targetKey","targetElement","focusableElements","controlId","subQueryContainer","keyPath","parentKey","parentMenuElement","nextSlice","callback","PATH_SPLIT","getPathStr","getPathKeys","keyPathStr","OVERFLOW_KEY","useKeyRecords","React.useState","internalForceUpdate","key2pathRef","useRef","path2keyRef","_React$useState3","_React$useState4","overflowKeys","setOverflowKeys","updateRef","destroyRef","forceUpdate","registerPath","useCallback","connectedPath","unregisterPath","refreshOverflowKeys","includeOverflow","fullPath","isSubPathKey","pathKeys","pathKey","pathKeyList","getSubPathKeys","useMemoCallback","func","funRef","React.useCallback","_funRef$current","_len","args","_key","uniquePrefix","internalId","useUUID","_useMergedState","useMergedState","_useMergedState2","setUUID","newId","useActive","disabled","onMouseEnter","onMouseLeave","_React$useContext","onActive","onInactive","ret","domEvent","useDirectionStyle","level","rtl","inlineIndent","len","Icon","icon","iconNode","warnItemProp","item","restInfo","warning","_excluded2","_excluded3","LegacyMenuItem","_React$Component","_inherits","_super","_createSuper","_classCallCheck","_createClass","_this$props","title","attribute","elementRef","passedProps","omit","Overflow","React.Component","InternalMenuItem","React.forwardRef","_classNames","style","className","itemIcon","role","onKeyDown","onFocus","domDataId","onItemClick","contextDisabled","overflowDisabled","contextItemIcon","selectedKeys","_React$useContext2","_internalRenderMenuItem","itemCls","legacyMenuItemRef","mergedDisabled","mergedEleRef","useComposeRef","connectedKeys","getEventInfo","mergedItemIcon","_useActive","active","activeProps","selected","directionStyle","onInternalClick","info","onInternalKeyDown","onInternalFocus","optionRoleProps","renderNode","MenuItem","measure","connectedKeyPath","MenuItem$1","InternalSubMenuList","SubMenuList","parseChildren","toArray","index","React.isValidElement","_eventKey","_child$props","emptyKey","cloneProps","React.cloneElement","convertItemsToNodes","opt","_typeof","label","mergedKey","MenuItemGroup","SubMenu","Divider","parseItems","items","childNodes","placementsRtl","getMotion","motion","defaultMotions","popupPlacementMap","PopupTrigger","popup","popupClassName","popupOffset","subMenuOpenDelay","subMenuCloseDelay","builtinPlacements","triggerSubMenuAction","forceSubMenuRender","rootClassName","innerVisible","setInnerVisible","popupPlacement","targetMotion","targetMotionRef","mergedMotion","visibleRef","InlineSubMenuList","open","fixedMode","sameModeRef","destroy","setDestroy","mergedOpen","originOnVisibleChanged","MenuContextProvider","CSSMotion","_ref2","motionClassName","motionStyle","InternalSubMenu","internalPopupClose","expandIcon","onTitleClick","onTitleMouseEnter","onTitleMouseLeave","openKeys","contextExpandIcon","onOpenChange","_internalRenderSubMenuItem","_React$useContext3","subMenuPrefixCls","popupRef","mergedExpandIcon","originOpen","childrenSelected","childrenActive","setChildrenActive","triggerChildrenActive","newActive","onInternalMouseEnter","onInternalMouseLeave","mergedActive","onInternalTitleClick","onMergedItemClick","onPopupVisibleChange","popupId","titleNode","triggerModeRef","triggerMode","listNode","childList","EMPTY_LIST","Menu","_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","mounted","setMounted","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","shouldFocusKey","_containerRef$current","_containerRef$current2","_containerRef$current3","_useMergedState5","_useMergedState6","mergedSelectKeys","setMergedSelectKeys","triggerSelection","exist","newSelectKeys","selectInfo","onInternalOpenChange","newOpenKeys","k","subPathKeys","nextOpen","privateContext","wrappedChildList","omitItems","originOmitItems","newLastIndex","InternalMenuItemGroup","groupPrefixCls","ExportMenu","EllipsisOutlined","EllipsisOutlinedSvg","AntdIcon","EllipsisOutlined$1","TabContext","createContext","TabPane","tabKey","TabPanelList","animated","tabPosition","destroyInactiveTabPane","tabs","tabPaneAnimated","tabPanePrefixCls","forceRender","paneStyle","paneClassName","restTabProps","_ref3","DEFAULT_SIZE","useOffsets","tabSizes","holderScrollWidth","_tabs$","map","lastOffset","rightOffset","i","data","_tabs","entity","tab","useSyncState","defaultState","onChange","stateRef","setState","updater","newValue","MIN_SWIPE_DISTANCE","STOP_SWIPE_DISTANCE","REFRESH_INTERVAL","SPEED_OFF_MULTIPLE","useTouchMove","onOffset","_useState","useState","_useState2","touchPosition","setTouchPosition","_useState3","_useState4","lastTimestamp","setLastTimestamp","_useState5","_useState6","lastTimeDiff","setLastTimeDiff","_useState7","_useState8","setLastOffset","motionRef","onTouchStart","_e$touches$","screenX","screenY","onTouchMove","_e$touches$2","offsetX","offsetY","now","onTouchEnd","distanceX","distanceY","absX","absY","currentX","currentY","lastWheelDirectionRef","onWheel","deltaX","deltaY","mixed","touchEventsRef","onProxyTouchStart","onProxyTouchMove","onProxyTouchEnd","onProxyWheel","useUpdate","setCount","effectRef","callbackRef","useLayoutUpdateEffect","_callbackRef$current","useUpdateState","batchRef","state","flushUpdate","useVisibleRange","tabOffsets","visibleTabContentValue","transform","tabContentSizeValue","addNodeSizeValue","operationNodeSizeValue","charUnit","position","transformSize","endIndex","startIndex","_i","_offset","stringify","obj","tgt","v","RC_TABS_DOUBLE_QUOTE","genDataNodeKey","AddButton","editable","locale","AddButton$1","ExtraContent","extra","content","assertExtra","OperationNode","mobile","_ref$moreIcon","moreIcon","moreTransitionName","tabBarGutter","removeAriaLabel","onTabClick","setOpen","selectedKey","setSelectedKey","dropdownPrefix","selectedItemId","dropdownAriaLabel","onRemoveTab","menu","removable","selectOffset","enabledTabs","selectedIndex","useEffect","moreStyle","moreNode","OperationNode$1","React.memo","_","TabNode","_ref$tab","closeIcon","closable","renderWrapper","tabPrefix","getSize","refObj","_ref$offsetWidth","offsetWidth","_ref$offsetHeight","offsetHeight","getUnitValue","size","tabPositionTopOrBottom","TabNavList","onTabScroll","extraLeftRef","extraRightRef","tabsWrapperRef","tabListRef","operationsRef","innerAddButtonRef","_useSyncState","_useSyncState2","transformLeft","setTransformLeft","_useSyncState3","_useSyncState4","transformTop","setTransformTop","containerExcludeExtraSize","setContainerExcludeExtraSize","tabContentSize","setTabContentSize","addSize","setAddSize","operationSize","setOperationSize","_useUpdateState","_useUpdateState2","setTabSizes","containerExcludeExtraSizeValue","addSizeValue","operationSizeValue","needScroll","operationsHiddenClassName","transformMin","transformMax","alignInRange","touchMovingRef","_useState9","_useState10","lockAnimation","setLockAnimation","doLockAnimation","clearTouchMoving","doMove","_useVisibleRange","_useVisibleRange2","visibleStart","visibleEnd","scrollToTab","useEvent","tabOffset","newTransform","_newTransform","tabNodeStyle","tabNodes","updateTabSizes","newSizes","_tabListRef$current","btnNode","onListHolderResize","containerSize","extraLeftSize","extraRightSize","newAddSize","newOperationSize","tabContentFullSize","startHiddenTabs","endHiddenTabs","hiddenTabs","_useState11","_useState12","inkStyle","setInkStyle","activeTabOffset","inkBarRafRef","cleanInkBarRaf","newInkStyle","hasDropdown","wrapPrefix","pingLeft","pingRight","pingTop","pingBottom","ResizeObserver","TabNavList$1","TabNavListWrapper","renderTabBar","tabNavBarProps","useAnimateConfig","mergedAnimated","Tabs","defaultActiveKey","_ref$tabPosition","tabBarStyle","tabBarExtraContent","setMobile","isMobile","activeIndex","setActiveIndex","newActiveIndex","_tabs$newActiveIndex","mergedId","setMergedId","onInternalTabClick","isActiveChanged","sharedProps","tabNavBar","ForwardTabs","TabPane$1","getTransitionName","__rest","this","s","t","p","filter","useLegacyItems","childrenItems","_a","genMotionStyle","token","componentCls","motionDurationSlow","initSlideMotion","genMotionStyle$1","genCardStyle","tabsCardPadding","cardBg","cardGutter","colorBorderSecondary","itemSelectedColor","genDropdownStyle","itemHoverColor","dropdownEdgeChildVerticalPadding","resetComponent","textEllipsis","genPositionStyle","margin","horizontalMargin","verticalItemPadding","verticalItemMargin","genSizeStyle","cardPaddingSM","cardPaddingLG","horizontalItemPaddingSM","horizontalItemPaddingLG","genTabStyle","itemActiveColor","iconCls","tabsHorizontalItemMargin","horizontalItemPadding","tabCls","genFocusStyle","genRtlStyle","tabsHorizontalItemMarginRTL","genTabsStyle","cardHeight","useStyle","genComponentStyleHook","tabsToken","mergeToken","customSize","onEdit","hideAdd","centered","addIcon","customizePrefixCls","getPrefixCls","ConfigContext","wrapSSR","hashId","editType","CloseOutlined","PlusOutlined","rootPrefixCls","mergedItems","useSize","RcTabs"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54]}