{"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":""}