{"version":3,"file":"vendor-85215fdc.prod.95d7c4280e01e85da457.js","mappings":"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","sources":["webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/hooks/useRaf.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/TabNavList/TabNode.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/hooks/useOffsets.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/hooks/useVisibleRange.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/TabNavList/AddButton.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/TabNavList/OperationNode.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/TabContext.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/hooks/useTouchMove.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/hooks/useSyncState.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/TabNavList/index.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/hooks/useRefs.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/TabPanelList/index.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/TabPanelList/TabPane.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/Tabs.js","webpack://landing-page/./.yarn/__virtual__/rc-tabs-virtual-c8b5c5ee6e/0/cache/rc-tabs-npm-11.10.1-34fbf095b6-88693a1898.zip/node_modules/rc-tabs/es/index.js"],"sourcesContent":["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 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, (_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}","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 onTabClick = _ref.onTabClick;\n\n // ======================== Dropdown ========================\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 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 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 }, tab.tab);\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.forwardRef(OperationNode);","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 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 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;\n\n // Update wrapper records\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 ref: operationsRef,\n prefixCls: prefixCls,\n tabs: hiddenTabs,\n className: !hasDropdown && operationsHiddenClassName\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\"];\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 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;"],"names":["useRaf","callback","rafRef","useRef","removedRef","useEffect","current","raf","_len","arguments","length","args","Array","_key","apply","TabNode","_ref","ref","_classNames","prefixCls","id","active","_ref$tab","tab","key","disabled","closeIcon","closable","renderWrapper","removeAriaLabel","editable","onClick","onRemove","onFocus","style","tabPrefix","concat","removable","onInternalClick","e","node","className","role","tabIndex","stopPropagation","onKeyDown","KeyCode","includes","which","preventDefault","type","event","onEdit","removeIcon","DEFAULT_SIZE","width","height","left","top","right","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","undefined","map","MenuItem","selectOffset","offset","enabledTabs","filter","selectedIndex","findIndex","len","i","ele","document","getElementById","scrollIntoView","moreStyle","visibility","order","overlayClassName","moreNode","overlay","trigger","visible","transitionName","onVisibleChange","mouseEnterDelay","mouseLeaveDelay","createContext","SPEED_OFF_MULTIPLE","Math","pow","useSyncState","defaultState","onChange","stateRef","_React$useState","forceUpdate","updater","newValue","ExtraContent","content","position","extra","assertExtra","TabNavList","props","cacheRefs","_React$useContext","TabContext","animated","activeKey","tabPosition","children","onTabScroll","tabsWrapperRef","tabListRef","operationsRef","innerAddButtonRef","_useRefs","Map","has","set","get","delete","_useRefs2","getBtnRef","removeBtnRef","tabPositionTopOrBottom","_useSyncState","next","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","addSize","mergedBasicSize","endIndex","startIndex","_i","useVisibleRange","_useVisibleRange2","visibleStart","visibleEnd","tabNodeStyle","marginTop","tabNodes","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","TabPanelList","destroyInactiveTabPane","tabPaneAnimated","tabPane","activeIndex","tabKey","TabPane","forceRender","_React$useState2","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"],"sourceRoot":""}