{"version":3,"file":"272b1f642de7bd4c31536a8935780d27c4375e38-f0fc0c9c911cd6fccda0.js","mappings":"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","sources":["webpack://gatsby-starter-default/./node_modules/@ant-design/icons-svg/es/asn/PlusOutlined.js","webpack://gatsby-starter-default/./node_modules/@ant-design/icons/es/icons/PlusOutlined.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/hooks/useRaf.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/TabNavList/TabNode.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/hooks/useOffsets.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/hooks/useVisibleRange.js","webpack://gatsby-starter-default/./node_modules/rc-dropdown/es/placements.js","webpack://gatsby-starter-default/./node_modules/rc-dropdown/es/Dropdown.js","webpack://gatsby-starter-default/./node_modules/rc-dropdown/es/index.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/TabNavList/AddButton.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/TabNavList/OperationNode.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/TabContext.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/hooks/useTouchMove.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/hooks/useSyncState.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/TabNavList/index.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/hooks/useRefs.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/TabPanelList/index.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/TabPanelList/TabPane.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/Tabs.js","webpack://gatsby-starter-default/./node_modules/rc-tabs/es/index.js","webpack://gatsby-starter-default/./node_modules/antd/es/tabs/index.js","webpack://gatsby-starter-default/./src/assets/images/hero-banner-image.png"],"sourcesContent":["// This icon file is generated automatically.\nvar PlusOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"defs\",\n \"attrs\": {},\n \"children\": [{\n \"tag\": \"style\",\n \"attrs\": {}\n }]\n }, {\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\"\n }\n }, {\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z\"\n }\n }]\n },\n \"name\": \"plus\",\n \"theme\": \"outlined\"\n};\nexport default PlusOutlined;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\"; // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport PlusOutlinedSvg from \"@ant-design/icons-svg/es/asn/PlusOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar PlusOutlined = function PlusOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: PlusOutlinedSvg\n }));\n};\n\nPlusOutlined.displayName = 'PlusOutlined';\nexport default /*#__PURE__*/React.forwardRef(PlusOutlined);","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default function useRaf(callback) {\n var rafRef = useRef();\n var removedRef = useRef(false);\n\n function trigger() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (!removedRef.current) {\n raf.cancel(rafRef.current);\n rafRef.current = raf(function () {\n callback.apply(void 0, args);\n });\n }\n }\n\n useEffect(function () {\n return function () {\n removedRef.current = true;\n raf.cancel(rafRef.current);\n };\n }, []);\n return trigger;\n}\nexport function useRafState(defaultState) {\n var batchRef = useRef([]);\n\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n\n var state = useRef(typeof defaultState === 'function' ? defaultState() : defaultState);\n var flushUpdate = useRaf(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\n function updater(callback) {\n batchRef.current.push(callback);\n flushUpdate();\n }\n\n return [state.current, updater];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\n\nfunction TabNode(_ref, ref) {\n var _classNames;\n\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n active = _ref.active,\n _ref$tab = _ref.tab,\n key = _ref$tab.key,\n tab = _ref$tab.tab,\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 onRemove = _ref.onRemove,\n onFocus = _ref.onFocus,\n style = _ref.style,\n className = _ref.className;\n var tabPrefix = \"\".concat(prefixCls, \"-tab\");\n React.useEffect(function () {\n return onRemove;\n }, []);\n var removable = editable && closable !== false && !disabled;\n\n function onInternalClick(e) {\n if (disabled) {\n return;\n }\n\n onClick(e);\n }\n\n function onRemoveTab(event) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n\n var node = /*#__PURE__*/React.createElement(\"div\", {\n key: key,\n ref: ref,\n className: classNames(tabPrefix, className, (_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 }, tab), 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}\n\nexport default /*#__PURE__*/React.forwardRef(TabNode);","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\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\n for (var i = 0; i < tabs.length; i += 1) {\n var key = tabs[i].key;\n var data = tabSizes.get(key); // Reuse last one when not exist yet\n\n if (!data) {\n var _tabs;\n\n data = tabSizes.get((_tabs = tabs[i - 1]) === null || _tabs === void 0 ? void 0 : _tabs.key) || DEFAULT_SIZE;\n }\n\n var entity = map.get(key) || _objectSpread({}, data); // Right\n\n\n entity.right = rightOffset - entity.left - entity.width; // Update entity\n\n map.set(key, entity);\n }\n\n return map;\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), tabSizes, holderScrollWidth]);\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, containerSize, tabContentNodeSize, addNodeSize, _ref) {\n var tabs = _ref.tabs,\n tabPosition = _ref.tabPosition,\n rtl = _ref.rtl;\n var unit;\n var position;\n var transformSize;\n\n if (['top', 'bottom'].includes(tabPosition)) {\n unit = 'width';\n position = rtl ? 'right' : 'left';\n transformSize = Math.abs(containerSize.left);\n } else {\n unit = 'height';\n position = 'top';\n transformSize = -containerSize.top;\n }\n\n var basicSize = containerSize[unit];\n var tabContentSize = tabContentNodeSize[unit];\n var addSize = addNodeSize[unit];\n var mergedBasicSize = basicSize;\n\n if (tabContentSize + addSize > basicSize) {\n mergedBasicSize = basicSize - addSize;\n }\n\n return useMemo(function () {\n if (!tabs.length) {\n return [0, 0];\n }\n\n var len = tabs.length;\n var endIndex = len;\n\n for (var i = 0; i < len; i += 1) {\n var offset = tabOffsets.get(tabs[i].key) || DEFAULT_SIZE;\n\n if (offset[position] + offset[unit] > transformSize + mergedBasicSize) {\n endIndex = i - 1;\n break;\n }\n }\n\n var startIndex = 0;\n\n for (var _i = len - 1; _i >= 0; _i -= 1) {\n var _offset = tabOffsets.get(tabs[_i].key) || DEFAULT_SIZE;\n\n if (_offset[position] < transformSize) {\n startIndex = _i + 1;\n break;\n }\n }\n\n return [startIndex, endIndex];\n }, [tabOffsets, transformSize, mergedBasicSize, tabPosition, tabs.map(function (tab) {\n return tab.key;\n }).join('_'), rtl]);\n}","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topCenter: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomCenter: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\nimport Placements from './placements';\n\nfunction Dropdown(props, ref) {\n var _props$arrow = props.arrow,\n arrow = _props$arrow === void 0 ? false : _props$arrow,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,\n transitionName = props.transitionName,\n animation = props.animation,\n align = props.align,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,\n _props$placements = props.placements,\n placements = _props$placements === void 0 ? Placements : _props$placements,\n getPopupContainer = props.getPopupContainer,\n showAction = props.showAction,\n hideAction = props.hideAction,\n overlayClassName = props.overlayClassName,\n overlayStyle = props.overlayStyle,\n visible = props.visible,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n otherProps = _objectWithoutProperties(props, [\"arrow\", \"prefixCls\", \"transitionName\", \"animation\", \"align\", \"placement\", \"placements\", \"getPopupContainer\", \"showAction\", \"hideAction\", \"overlayClassName\", \"overlayStyle\", \"visible\", \"trigger\"]);\n\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n triggerVisible = _React$useState2[0],\n setTriggerVisible = _React$useState2[1];\n\n var mergedVisible = 'visible' in props ? visible : triggerVisible;\n var triggerRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n\n var getOverlayElement = function getOverlayElement() {\n var overlay = props.overlay;\n var overlayElement;\n\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n\n return overlayElement;\n };\n\n var onClick = function onClick(e) {\n var onOverlayClick = props.onOverlayClick;\n var overlayProps = getOverlayElement().props;\n setTriggerVisible(false);\n\n if (onOverlayClick) {\n onOverlayClick(e);\n }\n\n if (overlayProps.onClick) {\n overlayProps.onClick(e);\n }\n };\n\n var onVisibleChange = function onVisibleChange(visible) {\n var onVisibleChange = props.onVisibleChange;\n setTriggerVisible(visible);\n\n if (typeof onVisibleChange === 'function') {\n onVisibleChange(visible);\n }\n };\n\n var getMenuElement = function getMenuElement() {\n var overlayElement = getOverlayElement();\n var extraOverlayProps = {\n prefixCls: \"\".concat(prefixCls, \"-menu\"),\n onClick: onClick\n };\n\n if (typeof overlayElement.type === 'string') {\n delete extraOverlayProps.prefixCls;\n }\n\n return React.createElement(React.Fragment, null, arrow && React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }), React.cloneElement(overlayElement, extraOverlayProps));\n };\n\n var getMenuElementOrLambda = function getMenuElementOrLambda() {\n var overlay = props.overlay;\n\n if (typeof overlay === 'function') {\n return getMenuElement;\n }\n\n return getMenuElement();\n };\n\n var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {\n var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,\n alignPoint = props.alignPoint;\n\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n\n return !alignPoint;\n };\n\n var getOpenClassName = function getOpenClassName() {\n var openClassName = props.openClassName;\n\n if (openClassName !== undefined) {\n return openClassName;\n }\n\n return \"\".concat(prefixCls, \"-open\");\n };\n\n var renderChildren = function renderChildren() {\n var children = props.children;\n var childrenProps = children.props ? children.props : {};\n var childClassName = classNames(childrenProps.className, getOpenClassName());\n return triggerVisible && children ? React.cloneElement(children, {\n className: childClassName\n }) : children;\n };\n\n var triggerHideAction = hideAction;\n\n if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {\n triggerHideAction = ['click'];\n }\n\n return React.createElement(Trigger, Object.assign({}, otherProps, {\n prefixCls: prefixCls,\n ref: triggerRef,\n popupClassName: classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-show-arrow\"), arrow)),\n popupStyle: overlayStyle,\n builtinPlacements: placements,\n action: trigger,\n showAction: showAction,\n hideAction: triggerHideAction || [],\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: mergedVisible,\n stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',\n popup: getMenuElementOrLambda(),\n onPopupVisibleChange: onVisibleChange,\n getPopupContainer: getPopupContainer\n }), renderChildren());\n}\n\nexport default React.forwardRef(Dropdown);","import Dropdown from './Dropdown';\nexport default Dropdown;","import * as React from 'react';\n\nfunction AddButton(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n editable = _ref.editable,\n locale = _ref.locale,\n style = _ref.style;\n\n if (!editable || editable.showAdd === false) {\n return null;\n }\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}\n\nexport default /*#__PURE__*/React.forwardRef(AddButton);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useState, useEffect } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport Menu, { MenuItem } from 'rc-menu';\nimport Dropdown from 'rc-dropdown';\nimport AddButton from './AddButton';\n\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; // ======================== Dropdown ========================\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n open = _useState2[0],\n setOpen = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedKey = _useState4[0],\n setSelectedKey = _useState4[1];\n\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\n function onRemoveTab(event, key) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\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 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.tab), 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\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\n for (var i = 0; i < len; i += 1) {\n selectedIndex = (selectedIndex + offset + len) % len;\n var tab = enabledTabs[selectedIndex];\n\n if (!tab.disabled) {\n setSelectedKey(tab.key);\n return;\n }\n }\n }\n\n function onKeyDown(e) {\n var which = e.which;\n\n if (!open) {\n if ([KeyCode.DOWN, KeyCode.SPACE, KeyCode.ENTER].includes(which)) {\n setOpen(true);\n e.preventDefault();\n }\n\n return;\n }\n\n switch (which) {\n case KeyCode.UP:\n selectOffset(-1);\n e.preventDefault();\n break;\n\n case KeyCode.DOWN:\n selectOffset(1);\n e.preventDefault();\n break;\n\n case KeyCode.ESC:\n setOpen(false);\n break;\n\n case KeyCode.SPACE:\n case KeyCode.ENTER:\n if (selectedKey !== null) onTabClick(selectedKey, e);\n break;\n }\n } // ========================= Effect =========================\n\n\n useEffect(function () {\n // We use query element here to avoid React strict warning\n var ele = document.getElementById(selectedItemId);\n\n if (ele && ele.scrollIntoView) {\n ele.scrollIntoView(false);\n }\n }, [selectedKey]);\n useEffect(function () {\n if (!open) {\n setSelectedKey(null);\n }\n }, [open]); // ========================= Render =========================\n\n var moreStyle = _defineProperty({}, rtl ? 'marginRight' : 'marginLeft', tabBarGutter);\n\n if (!tabs.length) {\n moreStyle.visibility = 'hidden';\n moreStyle.order = 1;\n }\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: open,\n transitionName: moreTransitionName,\n onVisibleChange: setOpen,\n overlayClassName: overlayClassName,\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1\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}\n\nexport default /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(OperationNode), function (_, next) {\n return (// 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 { createContext } from 'react';\nexport default /*#__PURE__*/createContext(null);","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); // ================================= Hook =================================\n\nexport default function useTouchMove(ref, onOffset) {\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n touchPosition = _useState2[0],\n setTouchPosition = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n lastTimestamp = _useState4[0],\n setLastTimestamp = _useState4[1];\n\n var _useState5 = useState(0),\n _useState6 = _slicedToArray(_useState5, 2),\n lastTimeDiff = _useState6[0],\n setLastTimeDiff = _useState6[1];\n\n var _useState7 = useState(),\n _useState8 = _slicedToArray(_useState7, 2),\n lastOffset = _useState8[0],\n setLastOffset = _useState8[1];\n\n var motionRef = useRef(); // ========================= Events =========================\n // >>> Touch events\n\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\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\n function onTouchEnd() {\n if (!touchPosition) return;\n setTouchPosition(null);\n setLastOffset(null); // Swipe if needed\n\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); // Skip swipe if low distance\n\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\n currentX *= SPEED_OFF_MULTIPLE;\n currentY *= SPEED_OFF_MULTIPLE;\n onOffset(currentX * REFRESH_INTERVAL, currentY * REFRESH_INTERVAL);\n }, REFRESH_INTERVAL);\n }\n } // >>> Wheel event\n\n\n var lastWheelDirectionRef = useRef();\n\n function onWheel(e) {\n var deltaX = e.deltaX,\n deltaY = e.deltaY; // Convert both to x & y since wheel only happened on PC\n\n var mixed = 0;\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n\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\n if (onOffset(-mixed, -mixed)) {\n e.preventDefault();\n }\n } // ========================= Effect =========================\n\n\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\n function onProxyTouchMove(e) {\n touchEventsRef.current.onTouchMove(e);\n }\n\n function onProxyTouchEnd(e) {\n touchEventsRef.current.onTouchEnd(e);\n }\n\n function onProxyWheel(e) {\n touchEventsRef.current.onWheel(e);\n }\n\n document.addEventListener('touchmove', onProxyTouchMove, {\n passive: false\n });\n document.addEventListener('touchend', onProxyTouchEnd, {\n passive: false\n }); // No need to clean up since element removed\n\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 * as React from 'react';\nexport default function useSyncState(defaultState, onChange) {\n var stateRef = React.useRef(defaultState);\n\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n\n function setState(updater) {\n var newValue = typeof updater === 'function' ? updater(stateRef.current) : updater;\n\n if (newValue !== stateRef.current) {\n onChange(newValue, stateRef.current);\n }\n\n stateRef.current = newValue;\n forceUpdate({});\n }\n\n return [stateRef.current, setState];\n}","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 _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport { useState, useRef, useEffect } from 'react';\nimport classNames from 'classnames';\nimport raf from \"rc-util/es/raf\";\nimport ResizeObserver from 'rc-resize-observer';\nimport useRaf, { useRafState } from '../hooks/useRaf';\nimport TabNode from './TabNode';\nimport useOffsets from '../hooks/useOffsets';\nimport useVisibleRange from '../hooks/useVisibleRange';\nimport OperationNode from './OperationNode';\nimport TabContext from '../TabContext';\nimport useTouchMove from '../hooks/useTouchMove';\nimport useRefs from '../hooks/useRefs';\nimport AddButton from './AddButton';\nimport useSyncState from '../hooks/useSyncState';\n\nvar ExtraContent = function ExtraContent(_ref) {\n var position = _ref.position,\n prefixCls = _ref.prefixCls,\n extra = _ref.extra;\n if (!extra) return null;\n var content; // Parse extra\n\n var assertExtra = {};\n\n if (extra && _typeof(extra) === 'object' && ! /*#__PURE__*/React.isValidElement(extra)) {\n assertExtra = extra;\n } else {\n assertExtra.right = extra;\n }\n\n if (position === 'right') {\n content = assertExtra.right;\n }\n\n if (position === 'left') {\n content = assertExtra.left;\n }\n\n return content ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra-content\")\n }, content) : null;\n};\n\nfunction TabNavList(props, ref) {\n var _classNames;\n\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n\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 tabsWrapperRef = useRef();\n var tabListRef = useRef();\n var operationsRef = useRef();\n var innerAddButtonRef = useRef();\n\n var _useRefs = useRefs(),\n _useRefs2 = _slicedToArray(_useRefs, 2),\n getBtnRef = _useRefs2[0],\n removeBtnRef = _useRefs2[1];\n\n var tabPositionTopOrBottom = tabPosition === 'top' || tabPosition === 'bottom';\n\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\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\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n wrapperScrollWidth = _useState2[0],\n setWrapperScrollWidth = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n wrapperScrollHeight = _useState4[0],\n setWrapperScrollHeight = _useState4[1];\n\n var _useState5 = useState(0),\n _useState6 = _slicedToArray(_useState5, 2),\n wrapperContentWidth = _useState6[0],\n setWrapperContentWidth = _useState6[1];\n\n var _useState7 = useState(0),\n _useState8 = _slicedToArray(_useState7, 2),\n wrapperContentHeight = _useState8[0],\n setWrapperContentHeight = _useState8[1];\n\n var _useState9 = useState(null),\n _useState10 = _slicedToArray(_useState9, 2),\n wrapperWidth = _useState10[0],\n setWrapperWidth = _useState10[1];\n\n var _useState11 = useState(null),\n _useState12 = _slicedToArray(_useState11, 2),\n wrapperHeight = _useState12[0],\n setWrapperHeight = _useState12[1];\n\n var _useState13 = useState(0),\n _useState14 = _slicedToArray(_useState13, 2),\n addWidth = _useState14[0],\n setAddWidth = _useState14[1];\n\n var _useState15 = useState(0),\n _useState16 = _slicedToArray(_useState15, 2),\n addHeight = _useState16[0],\n setAddHeight = _useState16[1];\n\n var _useRafState = useRafState(new Map()),\n _useRafState2 = _slicedToArray(_useRafState, 2),\n tabSizes = _useRafState2[0],\n setTabSizes = _useRafState2[1];\n\n var tabOffsets = useOffsets(tabs, tabSizes, wrapperScrollWidth); // ========================== Util =========================\n\n var operationsHiddenClassName = \"\".concat(prefixCls, \"-nav-operations-hidden\");\n var transformMin = 0;\n var transformMax = 0;\n\n if (!tabPositionTopOrBottom) {\n transformMin = Math.min(0, wrapperHeight - wrapperScrollHeight);\n transformMax = 0;\n } else if (rtl) {\n transformMin = 0;\n transformMax = Math.max(0, wrapperScrollWidth - wrapperWidth);\n } else {\n transformMin = Math.min(0, wrapperWidth - wrapperScrollWidth);\n transformMax = 0;\n }\n\n function alignInRange(value) {\n if (value < transformMin) {\n return transformMin;\n }\n\n if (value > transformMax) {\n return transformMax;\n }\n\n return value;\n } // ========================= Mobile ========================\n\n\n var touchMovingRef = useRef();\n\n var _useState17 = useState(),\n _useState18 = _slicedToArray(_useState17, 2),\n lockAnimation = _useState18[0],\n setLockAnimation = _useState18[1];\n\n function doLockAnimation() {\n setLockAnimation(Date.now());\n }\n\n function clearTouchMoving() {\n window.clearTimeout(touchMovingRef.current);\n }\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 if (tabPositionTopOrBottom) {\n // Skip scroll if place is enough\n if (wrapperWidth >= wrapperScrollWidth) {\n return false;\n }\n\n doMove(setTransformLeft, offsetX);\n } else {\n if (wrapperHeight >= wrapperScrollHeight) {\n return false;\n }\n\n doMove(setTransformTop, offsetY);\n }\n\n clearTouchMoving();\n doLockAnimation();\n return true;\n });\n useEffect(function () {\n clearTouchMoving();\n\n if (lockAnimation) {\n touchMovingRef.current = window.setTimeout(function () {\n setLockAnimation(0);\n }, 100);\n }\n\n return clearTouchMoving;\n }, [lockAnimation]); // ========================= Scroll ========================\n\n function scrollToTab() {\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\n if (tabPositionTopOrBottom) {\n // ============ Align with top & bottom ============\n var newTransform = transformLeft; // RTL\n\n if (rtl) {\n if (tabOffset.right < transformLeft) {\n newTransform = tabOffset.right;\n } else if (tabOffset.right + tabOffset.width > transformLeft + wrapperWidth) {\n newTransform = tabOffset.right + tabOffset.width - wrapperWidth;\n }\n } // LTR\n else if (tabOffset.left < -transformLeft) {\n newTransform = -tabOffset.left;\n } else if (tabOffset.left + tabOffset.width > -transformLeft + wrapperWidth) {\n newTransform = -(tabOffset.left + tabOffset.width - wrapperWidth);\n }\n\n setTransformTop(0);\n setTransformLeft(alignInRange(newTransform));\n } else {\n // ============ Align with left & right ============\n var _newTransform = transformTop;\n\n if (tabOffset.top < -transformTop) {\n _newTransform = -tabOffset.top;\n } else if (tabOffset.top + tabOffset.height > -transformTop + wrapperHeight) {\n _newTransform = -(tabOffset.top + tabOffset.height - wrapperHeight);\n }\n\n setTransformLeft(0);\n setTransformTop(alignInRange(_newTransform));\n }\n } // ========================== Tab ==========================\n // Render tab node & collect tab offset\n\n\n var _useVisibleRange = useVisibleRange(tabOffsets, {\n width: wrapperWidth,\n height: wrapperHeight,\n left: transformLeft,\n top: transformTop\n }, {\n width: wrapperContentWidth,\n height: wrapperContentHeight\n }, {\n width: addWidth,\n height: addHeight\n }, _objectSpread(_objectSpread({}, props), {}, {\n tabs: tabs\n })),\n _useVisibleRange2 = _slicedToArray(_useVisibleRange, 2),\n visibleStart = _useVisibleRange2[0],\n visibleEnd = _useVisibleRange2[1];\n\n var tabNodeStyle = {};\n\n if (tabPosition === 'top' || tabPosition === 'bottom') {\n tabNodeStyle[rtl ? 'marginRight' : 'marginLeft'] = tabBarGutter;\n } else {\n tabNodeStyle.marginTop = tabBarGutter;\n }\n\n var tabNodes = tabs.map(function (tab, i) {\n var key = tab.key,\n tabClassName = tab.className;\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 ,\n style: i === 0 ? undefined : tabNodeStyle,\n className: tabClassName,\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 ref: getBtnRef(key),\n onClick: function onClick(e) {\n onTabClick(key, e);\n },\n onRemove: function onRemove() {\n removeBtnRef(key);\n },\n onFocus: function onFocus() {\n scrollToTab(key);\n doLockAnimation();\n\n if (!tabsWrapperRef.current) {\n return;\n } // Focus element will make scrollLeft change which we should reset back\n\n\n if (!rtl) {\n tabsWrapperRef.current.scrollLeft = 0;\n }\n\n tabsWrapperRef.current.scrollTop = 0;\n }\n });\n });\n var onListHolderResize = useRaf(function () {\n var _tabsWrapperRef$curre, _tabsWrapperRef$curre2, _innerAddButtonRef$cu, _innerAddButtonRef$cu2, _operationsRef$curren, _operationsRef$curren2, _tabListRef$current, _tabListRef$current2, _operationsRef$curren3; // Update wrapper records\n\n\n var offsetWidth = ((_tabsWrapperRef$curre = tabsWrapperRef.current) === null || _tabsWrapperRef$curre === void 0 ? void 0 : _tabsWrapperRef$curre.offsetWidth) || 0;\n var offsetHeight = ((_tabsWrapperRef$curre2 = tabsWrapperRef.current) === null || _tabsWrapperRef$curre2 === void 0 ? void 0 : _tabsWrapperRef$curre2.offsetHeight) || 0;\n var newAddWidth = ((_innerAddButtonRef$cu = innerAddButtonRef.current) === null || _innerAddButtonRef$cu === void 0 ? void 0 : _innerAddButtonRef$cu.offsetWidth) || 0;\n var newAddHeight = ((_innerAddButtonRef$cu2 = innerAddButtonRef.current) === null || _innerAddButtonRef$cu2 === void 0 ? void 0 : _innerAddButtonRef$cu2.offsetHeight) || 0;\n var newOperationWidth = ((_operationsRef$curren = operationsRef.current) === null || _operationsRef$curren === void 0 ? void 0 : _operationsRef$curren.offsetWidth) || 0;\n var newOperationHeight = ((_operationsRef$curren2 = operationsRef.current) === null || _operationsRef$curren2 === void 0 ? void 0 : _operationsRef$curren2.offsetHeight) || 0;\n setWrapperWidth(offsetWidth);\n setWrapperHeight(offsetHeight);\n setAddWidth(newAddWidth);\n setAddHeight(newAddHeight);\n var newWrapperScrollWidth = (((_tabListRef$current = tabListRef.current) === null || _tabListRef$current === void 0 ? void 0 : _tabListRef$current.offsetWidth) || 0) - newAddWidth;\n var newWrapperScrollHeight = (((_tabListRef$current2 = tabListRef.current) === null || _tabListRef$current2 === void 0 ? void 0 : _tabListRef$current2.offsetHeight) || 0) - newAddHeight;\n setWrapperScrollWidth(newWrapperScrollWidth);\n setWrapperScrollHeight(newWrapperScrollHeight);\n var isOperationHidden = (_operationsRef$curren3 = operationsRef.current) === null || _operationsRef$curren3 === void 0 ? void 0 : _operationsRef$curren3.className.includes(operationsHiddenClassName);\n setWrapperContentWidth(newWrapperScrollWidth - (isOperationHidden ? 0 : newOperationWidth));\n setWrapperContentHeight(newWrapperScrollHeight - (isOperationHidden ? 0 : newOperationHeight)); // Update buttons records\n\n setTabSizes(function () {\n var newSizes = new Map();\n tabs.forEach(function (_ref2) {\n var key = _ref2.key;\n var btnNode = getBtnRef(key).current;\n\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 }); // ======================== Dropdown =======================\n\n var startHiddenTabs = tabs.slice(0, visibleStart);\n var endHiddenTabs = tabs.slice(visibleEnd + 1);\n var hiddenTabs = [].concat(_toConsumableArray(startHiddenTabs), _toConsumableArray(endHiddenTabs)); // =================== Link & Operations ===================\n\n var _useState19 = useState(),\n _useState20 = _slicedToArray(_useState19, 2),\n inkStyle = _useState20[0],\n setInkStyle = _useState20[1];\n\n var activeTabOffset = tabOffsets.get(activeKey); // Delay set ink style to avoid remove tab blink\n\n var inkBarRafRef = useRef();\n\n function cleanInkBarRaf() {\n raf.cancel(inkBarRafRef.current);\n }\n\n useEffect(function () {\n var newInkStyle = {};\n\n if (activeTabOffset) {\n if (tabPositionTopOrBottom) {\n if (rtl) {\n newInkStyle.right = activeTabOffset.right;\n } else {\n newInkStyle.left = activeTabOffset.left;\n }\n\n newInkStyle.width = activeTabOffset.width;\n } else {\n newInkStyle.top = activeTabOffset.top;\n newInkStyle.height = activeTabOffset.height;\n }\n }\n\n cleanInkBarRaf();\n inkBarRafRef.current = raf(function () {\n setInkStyle(newInkStyle);\n });\n return cleanInkBarRaf;\n }, [activeTabOffset, tabPositionTopOrBottom, rtl]); // ========================= Effect ========================\n\n useEffect(function () {\n scrollToTab();\n }, [activeKey, activeTabOffset, tabOffsets, tabPositionTopOrBottom]); // Should recalculate when rtl changed\n\n useEffect(function () {\n onListHolderResize();\n }, [rtl, tabBarGutter, activeKey, tabs.map(function (tab) {\n return tab.key;\n }).join('_')]); // ========================= Render ========================\n\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\n if (tabPositionTopOrBottom) {\n if (rtl) {\n pingRight = transformLeft > 0;\n pingLeft = transformLeft + wrapperWidth < wrapperScrollWidth;\n } else {\n pingLeft = transformLeft < 0;\n pingRight = -transformLeft + wrapperWidth < wrapperScrollWidth;\n }\n } else {\n pingTop = transformTop < 0;\n pingBottom = -transformTop + wrapperHeight < wrapperScrollHeight;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\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 position: \"left\",\n extra: extra,\n prefixCls: prefixCls\n }), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onListHolderResize\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 position: \"right\",\n extra: extra,\n prefixCls: prefixCls\n }));\n /* eslint-enable */\n}\n\nexport default /*#__PURE__*/React.forwardRef(TabNavList);","import * as React from 'react';\nimport { useRef } from 'react';\nexport default function useRefs() {\n var cacheRefs = useRef(new Map());\n\n function getRef(key) {\n if (!cacheRefs.current.has(key)) {\n cacheRefs.current.set(key, /*#__PURE__*/React.createRef());\n }\n\n return cacheRefs.current.get(key);\n }\n\n function removeRef(key) {\n cacheRefs.current.delete(key);\n }\n\n return [getRef, removeRef];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport TabContext from '../TabContext';\nexport default function TabPanelList(_ref) {\n var id = _ref.id,\n activeKey = _ref.activeKey,\n animated = _ref.animated,\n tabPosition = _ref.tabPosition,\n rtl = _ref.rtl,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane;\n\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n\n var tabPaneAnimated = animated.tabPane;\n var activeIndex = tabs.findIndex(function (tab) {\n return tab.key === activeKey;\n });\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 style: activeIndex && tabPaneAnimated ? _defineProperty({}, rtl ? 'marginRight' : 'marginLeft', \"-\".concat(activeIndex, \"00%\")) : null\n }, tabs.map(function (tab) {\n return /*#__PURE__*/React.cloneElement(tab.node, {\n key: tab.key,\n prefixCls: prefixCls,\n tabKey: tab.key,\n id: id,\n animated: tabPaneAnimated,\n active: tab.key === activeKey,\n destroyInactiveTabPane: destroyInactiveTabPane\n });\n })));\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport default function TabPane(_ref) {\n var prefixCls = _ref.prefixCls,\n forceRender = _ref.forceRender,\n className = _ref.className,\n style = _ref.style,\n id = _ref.id,\n active = _ref.active,\n animated = _ref.animated,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane,\n tabKey = _ref.tabKey,\n children = _ref.children;\n\n var _React$useState = React.useState(forceRender),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visited = _React$useState2[0],\n setVisited = _React$useState2[1];\n\n React.useEffect(function () {\n if (active) {\n setVisited(true);\n } else if (destroyInactiveTabPane) {\n setVisited(false);\n }\n }, [active, destroyInactiveTabPane]);\n var mergedStyle = {};\n\n if (!active) {\n if (animated) {\n mergedStyle.visibility = 'hidden';\n mergedStyle.height = 0;\n mergedStyle.overflowY = 'hidden';\n } else {\n mergedStyle.display = 'none';\n }\n }\n\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: _objectSpread(_objectSpread({}, mergedStyle), style),\n className: classNames(\"\".concat(prefixCls, \"-tabpane\"), active && \"\".concat(prefixCls, \"-tabpane-active\"), className)\n }, (active || visited || forceRender) && children);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"children\", \"direction\", \"activeKey\", \"defaultActiveKey\", \"editable\", \"animated\", \"tabPosition\", \"tabBarGutter\", \"tabBarStyle\", \"tabBarExtraContent\", \"locale\", \"moreIcon\", \"moreTransitionName\", \"destroyInactiveTabPane\", \"renderTabBar\", \"onChange\", \"onTabClick\", \"onTabScroll\"]; // Accessibility https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Tab_Role\n\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport TabNavList from './TabNavList';\nimport TabPanelList from './TabPanelList';\nimport TabPane from './TabPanelList/TabPane';\nimport TabContext from './TabContext';\n/**\n * Should added antd:\n * - type\n *\n * Removed:\n * - onNextClick\n * - onPrevClick\n * - keyboard\n */\n// Used for accessibility\n\nvar uuid = 0;\n\nfunction parseTabList(children) {\n return toArray(children).map(function (node) {\n if ( /*#__PURE__*/React.isValidElement(node)) {\n var key = node.key !== undefined ? String(node.key) : undefined;\n return _objectSpread(_objectSpread({\n key: key\n }, node.props), {}, {\n node: node\n });\n }\n\n return null;\n }).filter(function (tab) {\n return tab;\n });\n}\n\nfunction Tabs(_ref, ref) {\n var _classNames;\n\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 children = _ref.children,\n direction = _ref.direction,\n activeKey = _ref.activeKey,\n defaultActiveKey = _ref.defaultActiveKey,\n editable = _ref.editable,\n _ref$animated = _ref.animated,\n animated = _ref$animated === void 0 ? {\n inkBar: true,\n tabPane: false\n } : _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 restProps = _objectWithoutProperties(_ref, _excluded);\n\n var tabs = parseTabList(children);\n var rtl = direction === 'rtl';\n var mergedAnimated;\n\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: true\n };\n } else {\n mergedAnimated = _objectSpread({\n inkBar: true,\n tabPane: false\n }, _typeof(animated) === 'object' ? animated : {});\n } // ======================== Mobile ========================\n\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n mobile = _useState2[0],\n setMobile = _useState2[1];\n\n useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []); // ====================== Active Key ======================\n\n var _useMergedState = useMergedState(function () {\n var _tabs$;\n\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\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]; // Reset active key if not exist anymore\n\n\n useEffect(function () {\n var newActiveIndex = tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n\n if (newActiveIndex === -1) {\n var _tabs$newActiveIndex;\n\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\n setActiveIndex(newActiveIndex);\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), mergedActiveKey, activeIndex]); // ===================== Accessibility ====================\n\n var _useMergedState3 = useMergedState(null, {\n value: id\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedId = _useMergedState4[0],\n setMergedId = _useMergedState4[1];\n\n var mergedTabPosition = tabPosition;\n\n if (mobile && !['left', 'right'].includes(tabPosition)) {\n mergedTabPosition = 'top';\n } // Async generate id to avoid ssr mapping failed\n\n\n useEffect(function () {\n if (!id) {\n setMergedId(\"rc-tabs-\".concat(process.env.NODE_ENV === 'test' ? 'test' : uuid));\n uuid += 1;\n }\n }, []); // ======================== Events ========================\n\n function onInternalTabClick(key, e) {\n onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(key, e);\n setMergedActiveKey(key);\n onChange === null || onChange === void 0 ? void 0 : onChange(key);\n } // ======================== Render ========================\n\n\n var sharedProps = {\n id: mergedId,\n activeKey: mergedActiveKey,\n animated: mergedAnimated,\n tabPosition: mergedTabPosition,\n rtl: rtl,\n mobile: mobile\n };\n var tabNavBar;\n\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: children\n });\n\n if (renderTabBar) {\n tabNavBar = renderTabBar(tabNavBarProps, TabNavList);\n } else {\n tabNavBar = /*#__PURE__*/React.createElement(TabNavList, tabNavBarProps);\n }\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(mergedTabPosition), (_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(TabPanelList, _extends({\n destroyInactiveTabPane: destroyInactiveTabPane\n }, sharedProps, {\n animated: mergedAnimated\n }))));\n}\n\nvar ForwardTabs = /*#__PURE__*/React.forwardRef(Tabs);\nForwardTabs.TabPane = TabPane;\nexport default ForwardTabs;","import Tabs from './Tabs';\nimport TabPane from './TabPanelList/TabPane';\nexport { TabPane };\nexport default Tabs;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport RcTabs, { TabPane } from 'rc-tabs';\nimport classNames from 'classnames';\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport PlusOutlined from \"@ant-design/icons/es/icons/PlusOutlined\";\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport devWarning from '../_util/devWarning';\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\n\nfunction Tabs(_a) {\n var type = _a.type,\n className = _a.className,\n propSize = _a.size,\n _onEdit = _a.onEdit,\n hideAdd = _a.hideAdd,\n centered = _a.centered,\n addIcon = _a.addIcon,\n props = __rest(_a, [\"type\", \"className\", \"size\", \"onEdit\", \"hideAdd\", \"centered\", \"addIcon\"]);\n\n var customizePrefixCls = props.prefixCls,\n _props$moreIcon = props.moreIcon,\n moreIcon = _props$moreIcon === void 0 ? /*#__PURE__*/React.createElement(EllipsisOutlined, null) : _props$moreIcon;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var prefixCls = getPrefixCls('tabs', customizePrefixCls);\n var editable;\n\n if (type === 'editable-card') {\n editable = {\n onEdit: function onEdit(editType, _ref) {\n var key = _ref.key,\n event = _ref.event;\n _onEdit === null || _onEdit === void 0 ? void 0 : _onEdit(editType === 'add' ? event : key, editType);\n },\n removeIcon: /*#__PURE__*/React.createElement(CloseOutlined, null),\n addIcon: addIcon || /*#__PURE__*/React.createElement(PlusOutlined, null),\n showAdd: hideAdd !== true\n };\n }\n\n var rootPrefixCls = getPrefixCls();\n devWarning(!('onPrevClick' in props) && !('onNextClick' in props), 'Tabs', '`onPrevClick` and `onNextClick` has been removed. Please use `onTabScroll` instead.');\n return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (contextSize) {\n var _classNames;\n\n var size = propSize !== undefined ? propSize : contextSize;\n return /*#__PURE__*/React.createElement(RcTabs, _extends({\n direction: direction,\n moreTransitionName: \"\".concat(rootPrefixCls, \"-slide-up\")\n }, props, {\n className: classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(size), size), _defineProperty(_classNames, \"\".concat(prefixCls, \"-card\"), ['card', 'editable-card'].includes(type)), _defineProperty(_classNames, \"\".concat(prefixCls, \"-editable-card\"), type === 'editable-card'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-centered\"), centered), _classNames), className),\n editable: editable,\n moreIcon: moreIcon,\n prefixCls: prefixCls\n }));\n });\n}\n\nTabs.TabPane = TabPane;\nexport default Tabs;","export default __webpack_public_path__ + \"static/hero-banner-image-640233ecfe1ab7a789c1dd52deadef5a.png\";"],"names":["props","ref","AntdIcon","icon","displayName","useRaf","callback","rafRef","useRef","removedRef","useEffect","current","raf","_len","arguments","length","args","Array","_key","apply","TabNode","_ref","_classNames","prefixCls","id","active","_ref$tab","tab","key","disabled","closeIcon","closable","renderWrapper","removeAriaLabel","editable","onClick","onRemove","onFocus","style","className","tabPrefix","concat","removable","onInternalClick","e","node","role","tabIndex","stopPropagation","onKeyDown","KeyCode","includes","which","preventDefault","type","event","onEdit","removeIcon","DEFAULT_SIZE","width","height","left","top","right","autoAdjustOverflow","adjustX","adjustY","targetOffset","topLeft","points","overflow","offset","topCenter","topRight","bottomLeft","bottomCenter","bottomRight","_props$arrow","arrow","_props$prefixCls","transitionName","animation","align","_props$placement","placement","_props$placements","placements","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","visible","_props$trigger","trigger","otherProps","_React$useState","_React$useState2","triggerVisible","setTriggerVisible","mergedVisible","triggerRef","openClassName","children","childrenProps","childClassName","minOverlayWidthMatchTrigger","alignPoint","getOverlayElement","overlay","onOverlayClick","overlayProps","getMenuElement","overlayElement","extraOverlayProps","triggerHideAction","indexOf","Object","assign","popupClassName","popupStyle","builtinPlacements","action","popupPlacement","popupAlign","popupTransitionName","popupAnimation","popupVisible","stretch","popup","onPopupVisibleChange","onVisibleChange","undefined","AddButton","locale","showAdd","addAriaLabel","addIcon","OperationNode","tabs","mobile","_ref$moreIcon","moreIcon","moreTransitionName","tabBarGutter","rtl","onTabClick","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","selectedKey","setSelectedKey","popupId","dropdownPrefix","selectedItemId","dropdownAriaLabel","menu","_ref2","domEvent","selectedKeys","map","selectOffset","enabledTabs","filter","selectedIndex","findIndex","len","i","ele","document","getElementById","scrollIntoView","moreStyle","visibility","order","moreNode","mouseEnterDelay","mouseLeaveDelay","_","next","createContext","SPEED_OFF_MULTIPLE","Math","pow","useSyncState","defaultState","onChange","stateRef","forceUpdate","updater","newValue","ExtraContent","content","position","extra","assertExtra","TabNavList","cacheRefs","_React$useContext","TabContext","animated","activeKey","tabPosition","onTabScroll","tabsWrapperRef","tabListRef","operationsRef","innerAddButtonRef","_useRefs","Map","has","set","get","delete","_useRefs2","getBtnRef","removeBtnRef","tabPositionTopOrBottom","_useSyncState","prev","direction","_useSyncState2","transformLeft","setTransformLeft","_useSyncState3","_useSyncState4","transformTop","setTransformTop","wrapperScrollWidth","setWrapperScrollWidth","wrapperScrollHeight","setWrapperScrollHeight","_useState5","_useState6","wrapperContentWidth","setWrapperContentWidth","_useState7","_useState8","wrapperContentHeight","setWrapperContentHeight","_useState9","_useState10","wrapperWidth","setWrapperWidth","_useState11","_useState12","wrapperHeight","setWrapperHeight","_useState13","_useState14","addWidth","setAddWidth","_useState15","_useState16","addHeight","setAddHeight","_useRafState","batchRef","state","flushUpdate","forEach","push","useRafState","_useRafState2","tabSizes","setTabSizes","tabOffsets","holderScrollWidth","useMemo","_tabs$","lastOffset","rightOffset","_tabs","data","entity","join","useOffsets","operationsHiddenClassName","transformMin","transformMax","alignInRange","value","max","min","touchMovingRef","_useState17","_useState18","lockAnimation","setLockAnimation","doLockAnimation","Date","now","clearTouchMoving","window","clearTimeout","scrollToTab","tabOffset","newTransform","_newTransform","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","containerSize","tabContentNodeSize","addNodeSize","unit","transformSize","basicSize","tabContentSize","addSize","mergedBasicSize","endIndex","startIndex","_i","useVisibleRange","_useVisibleRange2","visibleStart","visibleEnd","tabNodeStyle","marginTop","tabNodes","tabClassName","scrollLeft","scrollTop","onListHolderResize","_tabsWrapperRef$curre","_tabsWrapperRef$curre2","_innerAddButtonRef$cu","_innerAddButtonRef$cu2","_operationsRef$curren","_operationsRef$curren2","_tabListRef$current","_tabListRef$current2","_operationsRef$curren3","offsetWidth","offsetHeight","newAddWidth","newAddHeight","newOperationWidth","newOperationHeight","newWrapperScrollWidth","newWrapperScrollHeight","isOperationHidden","newSizes","btnNode","offsetLeft","offsetTop","startHiddenTabs","slice","endHiddenTabs","hiddenTabs","_useState19","_useState20","inkStyle","setInkStyle","activeTabOffset","inkBarRafRef","cleanInkBarRaf","newInkStyle","pingLeft","pingRight","pingTop","pingBottom","hasDropdown","wrapPrefix","onResize","transform","transition","inkBar","tabMoving","TabPanelList","destroyInactiveTabPane","tabPaneAnimated","tabPane","activeIndex","tabKey","TabPane","forceRender","visited","setVisited","mergedStyle","overflowY","display","_excluded","uuid","Tabs","mergedAnimated","_ref$prefixCls","defaultActiveKey","_ref$animated","_ref$tabPosition","tabBarStyle","tabBarExtraContent","renderTabBar","restProps","toArray","String","parseTabList","setMobile","isMobile","_useMergedState","useMergedState","defaultValue","_useMergedState2","mergedActiveKey","setMergedActiveKey","setActiveIndex","_tabs$newActiveIndex","newActiveIndex","_useMergedState3","_useMergedState4","mergedId","setMergedId","mergedTabPosition","tabNavBar","sharedProps","tabNavBarProps","panes","Provider","ForwardTabs","__rest","s","t","p","prototype","hasOwnProperty","call","getOwnPropertySymbols","propertyIsEnumerable","_a","propSize","size","_onEdit","hideAdd","centered","customizePrefixCls","_props$moreIcon","EllipsisOutlined","getPrefixCls","editType","CloseOutlined","PlusOutlined","rootPrefixCls","devWarning","SizeContext","contextSize"],"sourceRoot":""}