{"version":3,"file":"js/chunk.0777911630866cae.js","mappings":"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","sources":["webpack:///./node_modules/rc-tabs/es/TabContext.js","webpack:///./node_modules/rc-tabs/es/TabPanelList/TabPane.js","webpack:///./node_modules/rc-tabs/es/TabPanelList/index.js","webpack:///./node_modules/rc-tabs/es/hooks/useOffsets.js","webpack:///./node_modules/rc-tabs/es/hooks/useSyncState.js","webpack:///./node_modules/rc-tabs/es/hooks/useTouchMove.js","webpack:///./node_modules/rc-tabs/es/hooks/useUpdate.js","webpack:///./node_modules/rc-tabs/es/hooks/useVisibleRange.js","webpack:///./node_modules/rc-tabs/es/util.js","webpack:///./node_modules/rc-tabs/es/TabNavList/AddButton.js","webpack:///./node_modules/rc-tabs/es/TabNavList/ExtraContent.js","webpack:///./node_modules/rc-tabs/es/TabNavList/OperationNode.js","webpack:///./node_modules/rc-tabs/es/TabNavList/TabNode.js","webpack:///./node_modules/rc-tabs/es/TabNavList/index.js","webpack:///./node_modules/rc-tabs/es/TabNavList/Wrapper.js","webpack:///./node_modules/rc-tabs/es/Tabs.js","webpack:///./node_modules/rc-tabs/es/hooks/useAnimateConfig.js","webpack:///./node_modules/rc-tabs/es/index.js"],"sourcesContent":["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];\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<HTMLDivElement>();\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 _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;","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 Tabs from \"./Tabs\";\nexport default Tabs;"],"names":["createContext","React","_ref","ref","prefixCls","className","style","id","active","tabKey","children","concat","role","tabIndex","classNames","_excluded","TabPanelList","activeKey","animated","tabPosition","destroyInactiveTabPane","_React$useContext","TabContext","tabs","tabPaneAnimated","tabPane","tabPanePrefixCls","_defineProperty","map","_ref2","key","forceRender","paneStyle","paneClassName","restTabProps","_objectWithoutProperties","CSSMotion","_extends","visible","removeOnLeave","leavedClassName","tabPaneMotion","_ref3","motionStyle","motionClassName","TabPane","_objectSpread","DEFAULT_SIZE","width","height","left","top","useSyncState","defaultState","onChange","stateRef","_React$useState","forceUpdate","_slicedToArray","current","updater","newValue","SPEED_OFF_MULTIPLE","Math","pow","useUpdate","callback","_useState","useState","_useState2","count","setCount","effectRef","useRef","callbackRef","useLayoutUpdateEffect","_callbackRef$current","call","right","stringify","obj","tgt","Map","forEach","v","k","JSON","genDataNodeKey","String","replace","AddButton","editable","locale","showAdd","type","addAriaLabel","onClick","event","onEdit","addIcon","content","position","extra","assertExtra","_typeof","OperationNode","mobile","_ref$moreIcon","moreIcon","moreTransitionName","tabBarGutter","rtl","removeAriaLabel","onTabClick","getPopupContainer","popupClassName","open","setOpen","_useState3","_useState4","selectedKey","setSelectedKey","popupId","dropdownPrefix","selectedItemId","dropdownAriaLabel","menu","Menu","domEvent","selectedKeys","undefined","tab","removable","closable","disabled","MenuItem","label","e","stopPropagation","preventDefault","closeIcon","removeIcon","selectOffset","offset","enabledTabs","filter","selectedIndex","findIndex","len","length","i","useEffect","ele","document","getElementById","scrollIntoView","moreStyle","visibility","order","overlayClassName","moreNode","Dropdown","overlay","trigger","transitionName","onVisibleChange","mouseEnterDelay","mouseLeaveDelay","onKeyDown","which","KeyCode","includes","_","next","_classNames","_ref$tab","renderWrapper","onFocus","tabPrefix","onInternalClick","node","getSize","refObj","_ref$offsetWidth","offsetWidth","_ref$offsetHeight","offsetHeight","getUnitValue","size","tabPositionTopOrBottom","TabNavList","props","onTabScroll","containerRef","extraLeftRef","extraRightRef","tabsWrapperRef","tabListRef","operationsRef","innerAddButtonRef","_useSyncState","prev","direction","_useSyncState2","transformLeft","setTransformLeft","_useSyncState3","_useSyncState4","transformTop","setTransformTop","containerExcludeExtraSize","setContainerExcludeExtraSize","tabContentSize","setTabContentSize","_useState5","_useState6","addSize","setAddSize","_useState7","_useState8","operationSize","setOperationSize","_useUpdateState","batchRef","state","flushUpdate","push","useUpdateState","_useUpdateState2","tabSizes","setTabSizes","tabOffsets","holderScrollWidth","useMemo","_tabs$","lastOffset","get","rightOffset","_tabs","data","entity","set","join","useOffsets","containerExcludeExtraSizeValue","tabContentSizeValue","addSizeValue","operationSizeValue","needScroll","visibleTabContentValue","operationsHiddenClassName","transformMin","transformMax","alignInRange","value","max","min","touchMovingRef","_useState9","_useState10","lockAnimation","setLockAnimation","doLockAnimation","Date","now","clearTouchMoving","window","clearTimeout","onOffset","touchPosition","setTouchPosition","lastTimestamp","setLastTimestamp","lastTimeDiff","setLastTimeDiff","setLastOffset","motionRef","lastWheelDirectionRef","touchEventsRef","onTouchStart","_e$touches$","touches","screenX","screenY","x","y","clearInterval","onTouchMove","_e$touches$2","offsetX","offsetY","onTouchEnd","distanceX","distanceY","absX","abs","absY","currentX","currentY","setInterval","onWheel","deltaX","deltaY","mixed","onProxyTouchMove","onProxyTouchEnd","addEventListener","passive","removeEventListener","useTouchMove","doMove","setState","setTimeout","_useVisibleRange","transform","addNodeSizeValue","operationNodeSizeValue","charUnit","transformSize","endIndex","startIndex","_i","useVisibleRange","_useVisibleRange2","visibleStart","visibleEnd","scrollToTab","useEvent","arguments","tabOffset","newTransform","_newTransform","tabNodeStyle","marginTop","tabNodes","TabNode","scrollLeft","scrollTop","updateTabSizes","newSizes","_tabListRef$current","btnNode","querySelector","offsetLeft","offsetTop","onListHolderResize","containerSize","extraLeftSize","extraRightSize","newAddSize","newOperationSize","tabContentFullSize","startHiddenTabs","slice","endHiddenTabs","hiddenTabs","_toConsumableArray","_useState11","_useState12","inkStyle","setInkStyle","activeTabOffset","inkBarRafRef","cleanInkBarRaf","raf","newInkStyle","pingLeft","pingRight","pingTop","pingBottom","hasDropdown","wrapPrefix","ResizeObserver","onResize","useComposeRef","ExtraContent","transition","inkBar","tabMoving","_excluded2","TabNavListWrapper","renderTabBar","restProps","panes","uuid","Tabs","_ref$prefixCls","items","defaultActiveKey","_ref$tabPosition","tabBarStyle","tabBarExtraContent","item","mergedAnimated","useAnimateConfig","setMobile","isMobile","_useMergedState","useMergedState","defaultValue","_useMergedState2","mergedActiveKey","setMergedActiveKey","activeIndex","setActiveIndex","_tabs$newActiveIndex","newActiveIndex","_useMergedState3","_useMergedState4","mergedId","setMergedId","sharedProps","tabNavBarProps","isActiveChanged","Provider","tabNavBar"],"sourceRoot":""}