{"version":3,"file":"static/js/33084.fa0ddb5f.js","mappings":"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","sources":["../node_modules/rc-table/es/Cell/index.js","../node_modules/rc-table/es/ContextSelector/index.js","../node_modules/rc-table/es/Footer/Row.js","../node_modules/rc-table/es/Footer/Summary.js","../node_modules/rc-table/es/Footer/Cell.js","../node_modules/rc-table/es/Footer/SummaryContext.js","../node_modules/rc-table/es/Footer/index.js","../node_modules/rc-table/es/sugar/ColumnGroup.js","../node_modules/rc-table/es/sugar/Column.js","../node_modules/rc-table/es/Header/HeaderRow.js","../node_modules/rc-table/es/Header/Header.js","../node_modules/rc-table/es/context/ExpandedRowContext.js","../node_modules/rc-table/es/Body/ExpandedRow.js","../node_modules/rc-table/es/context/ResizeContext.js","../node_modules/rc-table/es/Body/BodyRow.js","../node_modules/rc-table/es/hooks/useFlattenRecords.js","../node_modules/rc-table/es/Body/MeasureCell.js","../node_modules/rc-table/es/Body/MeasureRow.js","../node_modules/rc-table/es/Body/index.js","../node_modules/rc-table/es/hooks/useFrame.js","../node_modules/rc-table/es/hooks/useStickyOffsets.js","../node_modules/rc-table/es/ColGroup.js","../node_modules/rc-table/es/Panel/index.js","../node_modules/rc-table/es/utils/expandUtil.js","../node_modules/rc-table/es/stickyScrollBar.js","../node_modules/rc-table/es/hooks/useSticky.js","../node_modules/rc-table/es/FixedHolder/index.js","../node_modules/rc-table/es/Table.js","../node_modules/rc-table/es/constant.js","../node_modules/rc-table/es/context/BodyContext.js","../node_modules/rc-table/es/context/HoverContext.js","../node_modules/rc-table/es/context/PerfContext.js","../node_modules/rc-table/es/context/StickyContext.js","../node_modules/rc-table/es/context/TableContext.js","../node_modules/rc-table/es/hooks/useColumns.js","../node_modules/rc-table/es/index.js","../node_modules/rc-table/es/utils/fixUtil.js","../node_modules/rc-table/es/utils/legacyUtil.js","../node_modules/rc-table/es/utils/valueUtil.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/rc-tabs/es/TabContext.js","../node_modules/rc-tabs/es/TabPanelList/TabPane.js","../node_modules/rc-tabs/es/TabPanelList/index.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/rc-tabs/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/rc-tabs/es/hooks/useRaf.js","../node_modules/rc-tabs/es/TabNavList/TabNode.js","../node_modules/rc-tabs/es/hooks/useOffsets.js","../node_modules/rc-tabs/es/hooks/useVisibleRange.js","../node_modules/rc-tabs/es/TabNavList/AddButton.js","../node_modules/rc-tabs/es/TabNavList/OperationNode.js","../node_modules/rc-tabs/es/hooks/useTouchMove.js","../node_modules/rc-tabs/es/hooks/useSyncState.js","../node_modules/rc-tabs/es/TabNavList/index.js","../node_modules/rc-tabs/es/hooks/useRefs.js","../node_modules/rc-tabs/es/TabNavList/Wrapper.js","../node_modules/rc-tabs/es/Tabs.js","../node_modules/rc-tabs/es/hooks/useAnimateConfig.js","../node_modules/rc-tabs/es/index.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/rc-textarea/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/rc-textarea/es/calculateNodeHeight.js","../node_modules/rc-textarea/es/ResizableTextArea.js","../node_modules/rc-textarea/es/index.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"colSpan\", \"rowSpan\", \"style\", \"className\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport shallowEqual from 'shallowequal';\nimport { supportRef } from \"rc-util/es/ref\";\nimport { getPathValue, validateValue } from '../utils/valueUtil';\nimport StickyContext from '../context/StickyContext';\nimport HoverContext from '../context/HoverContext';\nimport BodyContext from '../context/BodyContext';\nimport warning from \"rc-util/es/warning\";\nimport PerfContext from '../context/PerfContext';\nimport { useContextSelector } from '../ContextSelector';\n/** Check if cell is in hover range */\n\nfunction inHoverRange(cellStartRow, cellRowSpan, startRow, endRow) {\n var cellEndRow = cellStartRow + cellRowSpan - 1;\n return cellStartRow <= endRow && cellEndRow >= startRow;\n}\n\nfunction isRenderCell(data) {\n return data && _typeof(data) === 'object' && !Array.isArray(data) && ! /*#__PURE__*/React.isValidElement(data);\n}\n\nfunction isRefComponent(component) {\n // String tag component also support ref\n if (typeof component === 'string') {\n return true;\n }\n\n return supportRef(component);\n}\n\nvar getTitleFromCellRenderChildren = function getTitleFromCellRenderChildren(_ref) {\n var ellipsis = _ref.ellipsis,\n rowType = _ref.rowType,\n children = _ref.children;\n var title;\n var ellipsisConfig = ellipsis === true ? {\n showTitle: true\n } : ellipsis;\n\n if (ellipsisConfig && (ellipsisConfig.showTitle || rowType === 'header')) {\n if (typeof children === 'string' || typeof children === 'number') {\n title = children.toString();\n } else if ( /*#__PURE__*/React.isValidElement(children) && typeof children.props.children === 'string') {\n title = children.props.children;\n }\n }\n\n return title;\n};\n\nfunction Cell(_ref2, ref) {\n var _ref4, _ref5, _classNames;\n\n var prefixCls = _ref2.prefixCls,\n className = _ref2.className,\n record = _ref2.record,\n index = _ref2.index,\n renderIndex = _ref2.renderIndex,\n dataIndex = _ref2.dataIndex,\n render = _ref2.render,\n children = _ref2.children,\n _ref2$component = _ref2.component,\n Component = _ref2$component === void 0 ? 'td' : _ref2$component,\n colSpan = _ref2.colSpan,\n rowSpan = _ref2.rowSpan,\n fixLeft = _ref2.fixLeft,\n fixRight = _ref2.fixRight,\n firstFixLeft = _ref2.firstFixLeft,\n lastFixLeft = _ref2.lastFixLeft,\n firstFixRight = _ref2.firstFixRight,\n lastFixRight = _ref2.lastFixRight,\n appendNode = _ref2.appendNode,\n _ref2$additionalProps = _ref2.additionalProps,\n additionalProps = _ref2$additionalProps === void 0 ? {} : _ref2$additionalProps,\n ellipsis = _ref2.ellipsis,\n align = _ref2.align,\n rowType = _ref2.rowType,\n isSticky = _ref2.isSticky,\n hovering = _ref2.hovering,\n onHover = _ref2.onHover;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var perfRecord = React.useContext(PerfContext);\n var supportSticky = React.useContext(StickyContext);\n\n var _React$useContext = React.useContext(BodyContext),\n allColumnsFixedLeft = _React$useContext.allColumnsFixedLeft; // ==================== Child Node ====================\n\n\n var _React$useMemo = React.useMemo(function () {\n if (validateValue(children)) {\n return [children];\n }\n\n var value = getPathValue(record, dataIndex); // Customize render node\n\n var returnChildNode = value;\n var returnCellProps = undefined;\n\n if (render) {\n var renderData = render(value, record, renderIndex);\n\n if (isRenderCell(renderData)) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`columns.render` return cell props is deprecated with perf issue, please use `onCell` instead.');\n }\n\n returnChildNode = renderData.children;\n returnCellProps = renderData.props;\n perfRecord.renderWithProps = true;\n } else {\n returnChildNode = renderData;\n }\n }\n\n return [returnChildNode, returnCellProps];\n }, [\n /* eslint-disable react-hooks/exhaustive-deps */\n // Always re-render if `renderWithProps`\n perfRecord.renderWithProps ? Math.random() : 0,\n /* eslint-enable */\n children, dataIndex, perfRecord, record, render, renderIndex]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n childNode = _React$useMemo2[0],\n legacyCellProps = _React$useMemo2[1];\n\n var mergedChildNode = childNode; // Not crash if final `childNode` is not validate ReactNode\n\n if (_typeof(mergedChildNode) === 'object' && !Array.isArray(mergedChildNode) && ! /*#__PURE__*/React.isValidElement(mergedChildNode)) {\n mergedChildNode = null;\n }\n\n if (ellipsis && (lastFixLeft || firstFixRight)) {\n mergedChildNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(cellPrefixCls, \"-content\")\n }, mergedChildNode);\n }\n\n var _ref3 = legacyCellProps || {},\n cellColSpan = _ref3.colSpan,\n cellRowSpan = _ref3.rowSpan,\n cellStyle = _ref3.style,\n cellClassName = _ref3.className,\n restCellProps = _objectWithoutProperties(_ref3, _excluded);\n\n var mergedColSpan = (_ref4 = cellColSpan !== undefined ? cellColSpan : colSpan) !== null && _ref4 !== void 0 ? _ref4 : 1;\n var mergedRowSpan = (_ref5 = cellRowSpan !== undefined ? cellRowSpan : rowSpan) !== null && _ref5 !== void 0 ? _ref5 : 1;\n\n if (mergedColSpan === 0 || mergedRowSpan === 0) {\n return null;\n } // ====================== Fixed =======================\n\n\n var fixedStyle = {};\n var isFixLeft = typeof fixLeft === 'number' && supportSticky;\n var isFixRight = typeof fixRight === 'number' && supportSticky;\n\n if (isFixLeft) {\n fixedStyle.position = 'sticky';\n fixedStyle.left = fixLeft;\n }\n\n if (isFixRight) {\n fixedStyle.position = 'sticky';\n fixedStyle.right = fixRight;\n } // ====================== Align =======================\n\n\n var alignStyle = {};\n\n if (align) {\n alignStyle.textAlign = align;\n } // ====================== Hover =======================\n\n\n var onMouseEnter = function onMouseEnter(event) {\n var _additionalProps$onMo;\n\n if (record) {\n onHover(index, index + mergedRowSpan - 1);\n }\n\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onMo = additionalProps.onMouseEnter) === null || _additionalProps$onMo === void 0 ? void 0 : _additionalProps$onMo.call(additionalProps, event);\n };\n\n var onMouseLeave = function onMouseLeave(event) {\n var _additionalProps$onMo2;\n\n if (record) {\n onHover(-1, -1);\n }\n\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onMo2 = additionalProps.onMouseLeave) === null || _additionalProps$onMo2 === void 0 ? void 0 : _additionalProps$onMo2.call(additionalProps, event);\n }; // ====================== Render ======================\n\n\n var title = getTitleFromCellRenderChildren({\n rowType: rowType,\n ellipsis: ellipsis,\n children: childNode\n });\n\n var componentProps = _objectSpread(_objectSpread(_objectSpread({\n title: title\n }, restCellProps), additionalProps), {}, {\n colSpan: mergedColSpan !== 1 ? mergedColSpan : null,\n rowSpan: mergedRowSpan !== 1 ? mergedRowSpan : null,\n className: classNames(cellPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left\"), isFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-first\"), firstFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-last\"), lastFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-all\"), lastFixLeft && allColumnsFixedLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right\"), isFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right-first\"), firstFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right-last\"), lastFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-ellipsis\"), ellipsis), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-with-append\"), appendNode), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-sticky\"), (isFixLeft || isFixRight) && isSticky && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-row-hover\"), !legacyCellProps && hovering), _classNames), additionalProps.className, cellClassName),\n style: _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, additionalProps.style), alignStyle), fixedStyle), cellStyle),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n ref: isRefComponent(Component) ? ref : null\n });\n\n return /*#__PURE__*/React.createElement(Component, componentProps, appendNode, mergedChildNode);\n}\n\nvar RefCell = /*#__PURE__*/React.forwardRef(Cell);\nRefCell.displayName = 'Cell';\nvar comparePropList = ['expanded', 'className', 'hovering'];\nvar MemoCell = /*#__PURE__*/React.memo(RefCell, function (prev, next) {\n if (next.shouldCellUpdate) {\n return (// Additional handle of expanded logic\n comparePropList.every(function (propName) {\n return prev[propName] === next[propName];\n }) && // User control update logic\n !next.shouldCellUpdate(next.record, prev.record)\n );\n }\n\n return shallowEqual(prev, next);\n});\n/** Inject hover data here, we still wish MemoCell keep simple `shouldCellUpdate` logic */\n\nvar WrappedCell = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var index = props.index,\n _props$additionalProp = props.additionalProps,\n additionalProps = _props$additionalProp === void 0 ? {} : _props$additionalProp,\n colSpan = props.colSpan,\n rowSpan = props.rowSpan;\n var cellColSpan = additionalProps.colSpan,\n cellRowSpan = additionalProps.rowSpan;\n var mergedColSpan = colSpan !== null && colSpan !== void 0 ? colSpan : cellColSpan;\n var mergedRowSpan = rowSpan !== null && rowSpan !== void 0 ? rowSpan : cellRowSpan;\n\n var _useContextSelector = useContextSelector(HoverContext, function (cxt) {\n var isHovering = inHoverRange(index, mergedRowSpan || 1, cxt === null || cxt === void 0 ? void 0 : cxt.startRow, cxt === null || cxt === void 0 ? void 0 : cxt.endRow);\n return {\n onHover: cxt === null || cxt === void 0 ? void 0 : cxt.onHover,\n hovering: isHovering\n };\n }),\n onHover = _useContextSelector.onHover,\n hovering = _useContextSelector.hovering;\n\n return /*#__PURE__*/React.createElement(MemoCell, _extends({}, props, {\n colSpan: mergedColSpan,\n rowSpan: mergedRowSpan,\n hovering: hovering,\n ref: ref,\n onHover: onHover\n }));\n});\nWrappedCell.displayName = 'WrappedCell';\nexport default WrappedCell;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport shallowEqual from 'shallowequal';\nexport function createContext() {\n var Context = /*#__PURE__*/React.createContext(null);\n\n var Provider = function Provider(_ref) {\n var value = _ref.value,\n children = _ref.children;\n var valueRef = React.useRef(value);\n valueRef.current = value;\n\n var _React$useState = React.useState(function () {\n return {\n getValue: function getValue() {\n return valueRef.current;\n },\n listeners: new Set()\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n context = _React$useState2[0];\n\n useLayoutEffect(function () {\n context.listeners.forEach(function (listener) {\n listener(value);\n });\n }, [value]);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: context\n }, children);\n };\n\n return {\n Context: Context,\n Provider: Provider\n };\n}\nexport function useContextSelector(holder, selector) {\n var eventSelector = useEvent(selector);\n var context = React.useContext(holder === null || holder === void 0 ? void 0 : holder.Context);\n\n var _ref2 = context || {},\n listeners = _ref2.listeners,\n getValue = _ref2.getValue;\n\n var _React$useState3 = React.useState(function () {\n return eventSelector(context ? getValue() : null);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n value = _React$useState4[0],\n setValue = _React$useState4[1];\n\n useLayoutEffect(function () {\n if (!context) {\n return;\n }\n\n function trigger(nextValue) {\n setValue(function (prev) {\n var selectedValue = eventSelector(nextValue);\n return shallowEqual(prev, selectedValue) ? prev : selectedValue;\n });\n }\n\n listeners.add(trigger);\n return function () {\n listeners.delete(trigger);\n };\n }, [context]);\n return value;\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport default function FooterRow(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"tr\", props, children);\n}","import Cell from './Cell';\nimport Row from './Row';\n/**\n * Syntactic sugar. Do not support HOC.\n */\n\nfunction Summary(_ref) {\n var children = _ref.children;\n return children;\n}\n\nSummary.Row = Row;\nSummary.Cell = Cell;\nexport default Summary;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport SummaryContext from './SummaryContext';\nimport Cell from '../Cell';\nimport TableContext from '../context/TableContext';\nimport { getCellFixedInfo } from '../utils/fixUtil';\nexport default function SummaryCell(_ref) {\n var className = _ref.className,\n index = _ref.index,\n children = _ref.children,\n _ref$colSpan = _ref.colSpan,\n colSpan = _ref$colSpan === void 0 ? 1 : _ref$colSpan,\n rowSpan = _ref.rowSpan,\n align = _ref.align;\n\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls,\n direction = _React$useContext.direction;\n\n var _React$useContext2 = React.useContext(SummaryContext),\n scrollColumnIndex = _React$useContext2.scrollColumnIndex,\n stickyOffsets = _React$useContext2.stickyOffsets,\n flattenColumns = _React$useContext2.flattenColumns;\n\n var lastIndex = index + colSpan - 1;\n var mergedColSpan = lastIndex + 1 === scrollColumnIndex ? colSpan + 1 : colSpan;\n var fixedInfo = getCellFixedInfo(index, index + mergedColSpan - 1, flattenColumns, stickyOffsets, direction);\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: className,\n index: index,\n component: \"td\",\n prefixCls: prefixCls,\n record: null,\n dataIndex: null,\n align: align,\n colSpan: mergedColSpan,\n rowSpan: rowSpan,\n render: function render() {\n return children;\n }\n }, fixedInfo));\n}","import * as React from 'react';\nvar SummaryContext = /*#__PURE__*/React.createContext({});\nexport default SummaryContext;","import * as React from 'react';\nimport TableContext from '../context/TableContext';\nimport Summary from './Summary';\nimport SummaryContext from './SummaryContext';\n\nfunction Footer(_ref) {\n var children = _ref.children,\n stickyOffsets = _ref.stickyOffsets,\n flattenColumns = _ref.flattenColumns;\n var tableContext = React.useContext(TableContext);\n var prefixCls = tableContext.prefixCls;\n var lastColumnIndex = flattenColumns.length - 1;\n var scrollColumn = flattenColumns[lastColumnIndex];\n var summaryContext = React.useMemo(function () {\n return {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns,\n scrollColumnIndex: (scrollColumn === null || scrollColumn === void 0 ? void 0 : scrollColumn.scrollbar) ? lastColumnIndex : null\n };\n }, [scrollColumn, flattenColumns, lastColumnIndex, stickyOffsets]);\n return /*#__PURE__*/React.createElement(SummaryContext.Provider, {\n value: summaryContext\n }, /*#__PURE__*/React.createElement(\"tfoot\", {\n className: \"\".concat(prefixCls, \"-summary\")\n }, children));\n}\n\nexport default Footer;\nexport var FooterComponents = Summary;","/* istanbul ignore next */\n\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction ColumnGroup(_) {\n return null;\n}\n\nexport default ColumnGroup;","/* istanbul ignore next */\n\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction Column(_) {\n return null;\n}\n\nexport default Column;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from '../Cell';\nimport TableContext from '../context/TableContext';\nimport { getCellFixedInfo } from '../utils/fixUtil';\nimport { getColumnsKey } from '../utils/valueUtil';\n\nfunction HeaderRow(_ref) {\n var cells = _ref.cells,\n stickyOffsets = _ref.stickyOffsets,\n flattenColumns = _ref.flattenColumns,\n RowComponent = _ref.rowComponent,\n CellComponent = _ref.cellComponent,\n onHeaderRow = _ref.onHeaderRow,\n index = _ref.index;\n\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls,\n direction = _React$useContext.direction;\n\n var rowProps;\n\n if (onHeaderRow) {\n rowProps = onHeaderRow(cells.map(function (cell) {\n return cell.column;\n }), index);\n }\n\n var columnsKey = getColumnsKey(cells.map(function (cell) {\n return cell.column;\n }));\n return /*#__PURE__*/React.createElement(RowComponent, rowProps, cells.map(function (cell, cellIndex) {\n var column = cell.column;\n var fixedInfo = getCellFixedInfo(cell.colStart, cell.colEnd, flattenColumns, stickyOffsets, direction);\n var additionalProps;\n\n if (column && column.onHeaderCell) {\n additionalProps = cell.column.onHeaderCell(column);\n }\n\n return /*#__PURE__*/React.createElement(Cell, _extends({}, cell, {\n ellipsis: column.ellipsis,\n align: column.align,\n component: CellComponent,\n prefixCls: prefixCls,\n key: columnsKey[cellIndex]\n }, fixedInfo, {\n additionalProps: additionalProps,\n rowType: \"header\"\n }));\n }));\n}\n\nHeaderRow.displayName = 'HeaderRow';\nexport default HeaderRow;","import * as React from 'react';\nimport HeaderRow from './HeaderRow';\nimport TableContext from '../context/TableContext';\n\nfunction parseHeaderRows(rootColumns) {\n var rows = [];\n\n function fillRowCells(columns, colIndex) {\n var rowIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; // Init rows\n\n rows[rowIndex] = rows[rowIndex] || [];\n var currentColIndex = colIndex;\n var colSpans = columns.filter(Boolean).map(function (column) {\n var cell = {\n key: column.key,\n className: column.className || '',\n children: column.title,\n column: column,\n colStart: currentColIndex\n };\n var colSpan = 1;\n var subColumns = column.children;\n\n if (subColumns && subColumns.length > 0) {\n colSpan = fillRowCells(subColumns, currentColIndex, rowIndex + 1).reduce(function (total, count) {\n return total + count;\n }, 0);\n cell.hasSubColumns = true;\n }\n\n if ('colSpan' in column) {\n colSpan = column.colSpan;\n }\n\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\n }\n\n cell.colSpan = colSpan;\n cell.colEnd = cell.colStart + colSpan - 1;\n rows[rowIndex].push(cell);\n currentColIndex += colSpan;\n return colSpan;\n });\n return colSpans;\n } // Generate `rows` cell data\n\n\n fillRowCells(rootColumns, 0); // Handle `rowSpan`\n\n var rowCount = rows.length;\n\n var _loop = function _loop(rowIndex) {\n rows[rowIndex].forEach(function (cell) {\n if (!('rowSpan' in cell) && !cell.hasSubColumns) {\n // eslint-disable-next-line no-param-reassign\n cell.rowSpan = rowCount - rowIndex;\n }\n });\n };\n\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\n _loop(rowIndex);\n }\n\n return rows;\n}\n\nfunction Header(_ref) {\n var stickyOffsets = _ref.stickyOffsets,\n columns = _ref.columns,\n flattenColumns = _ref.flattenColumns,\n onHeaderRow = _ref.onHeaderRow;\n\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls,\n getComponent = _React$useContext.getComponent;\n\n var rows = React.useMemo(function () {\n return parseHeaderRows(columns);\n }, [columns]);\n var WrapperComponent = getComponent(['header', 'wrapper'], 'thead');\n var trComponent = getComponent(['header', 'row'], 'tr');\n var thComponent = getComponent(['header', 'cell'], 'th');\n return /*#__PURE__*/React.createElement(WrapperComponent, {\n className: \"\".concat(prefixCls, \"-thead\")\n }, rows.map(function (row, rowIndex) {\n var rowNode = /*#__PURE__*/React.createElement(HeaderRow, {\n key: rowIndex,\n flattenColumns: flattenColumns,\n cells: row,\n stickyOffsets: stickyOffsets,\n rowComponent: trComponent,\n cellComponent: thComponent,\n onHeaderRow: onHeaderRow,\n index: rowIndex\n });\n return rowNode;\n }));\n}\n\nexport default Header;","import * as React from 'react';\nvar ExpandedRowContext = /*#__PURE__*/React.createContext(null);\nexport default ExpandedRowContext;","import * as React from 'react';\nimport Cell from '../Cell';\nimport TableContext from '../context/TableContext';\nimport ExpandedRowContext from '../context/ExpandedRowContext';\n\nfunction ExpandedRow(_ref) {\n var prefixCls = _ref.prefixCls,\n children = _ref.children,\n Component = _ref.component,\n cellComponent = _ref.cellComponent,\n className = _ref.className,\n expanded = _ref.expanded,\n colSpan = _ref.colSpan,\n isEmpty = _ref.isEmpty;\n\n var _React$useContext = React.useContext(TableContext),\n scrollbarSize = _React$useContext.scrollbarSize;\n\n var _React$useContext2 = React.useContext(ExpandedRowContext),\n fixHeader = _React$useContext2.fixHeader,\n fixColumn = _React$useContext2.fixColumn,\n componentWidth = _React$useContext2.componentWidth,\n horizonScroll = _React$useContext2.horizonScroll; // Cache render node\n\n\n return React.useMemo(function () {\n var contentNode = children;\n\n if (isEmpty ? horizonScroll : fixColumn) {\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: componentWidth - (fixHeader ? scrollbarSize : 0),\n position: 'sticky',\n left: 0,\n overflow: 'hidden'\n },\n className: \"\".concat(prefixCls, \"-expanded-row-fixed\")\n }, componentWidth !== 0 && contentNode);\n }\n\n return /*#__PURE__*/React.createElement(Component, {\n className: className,\n style: {\n display: expanded ? null : 'none'\n }\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls,\n colSpan: colSpan\n }, contentNode));\n }, [children, Component, className, expanded, colSpan, isEmpty, scrollbarSize, componentWidth, fixColumn, fixHeader, horizonScroll]);\n}\n\nexport default ExpandedRow;","import * as React from 'react';\nvar ResizeContext = /*#__PURE__*/React.createContext(null);\nexport default ResizeContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Cell from '../Cell';\nimport TableContext from '../context/TableContext';\nimport BodyContext from '../context/BodyContext';\nimport { getColumnsKey } from '../utils/valueUtil';\nimport ExpandedRow from './ExpandedRow';\n\nfunction BodyRow(props) {\n var className = props.className,\n style = props.style,\n record = props.record,\n index = props.index,\n renderIndex = props.renderIndex,\n rowKey = props.rowKey,\n rowExpandable = props.rowExpandable,\n expandedKeys = props.expandedKeys,\n onRow = props.onRow,\n _props$indent = props.indent,\n indent = _props$indent === void 0 ? 0 : _props$indent,\n RowComponent = props.rowComponent,\n cellComponent = props.cellComponent,\n childrenColumnName = props.childrenColumnName;\n\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls,\n fixedInfoList = _React$useContext.fixedInfoList;\n\n var _React$useContext2 = React.useContext(BodyContext),\n flattenColumns = _React$useContext2.flattenColumns,\n expandableType = _React$useContext2.expandableType,\n expandRowByClick = _React$useContext2.expandRowByClick,\n onTriggerExpand = _React$useContext2.onTriggerExpand,\n rowClassName = _React$useContext2.rowClassName,\n expandedRowClassName = _React$useContext2.expandedRowClassName,\n indentSize = _React$useContext2.indentSize,\n expandIcon = _React$useContext2.expandIcon,\n expandedRowRender = _React$useContext2.expandedRowRender,\n expandIconColumnIndex = _React$useContext2.expandIconColumnIndex;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n expandRended = _React$useState2[0],\n setExpandRended = _React$useState2[1];\n\n var expanded = expandedKeys && expandedKeys.has(props.recordKey);\n React.useEffect(function () {\n if (expanded) {\n setExpandRended(true);\n }\n }, [expanded]);\n var rowSupportExpand = expandableType === 'row' && (!rowExpandable || rowExpandable(record)); // Only when row is not expandable and `children` exist in record\n\n var nestExpandable = expandableType === 'nest';\n var hasNestChildren = childrenColumnName && record && record[childrenColumnName];\n var mergedExpandable = rowSupportExpand || nestExpandable; // ======================== Expandable =========================\n\n var onExpandRef = React.useRef(onTriggerExpand);\n onExpandRef.current = onTriggerExpand;\n\n var onInternalTriggerExpand = function onInternalTriggerExpand() {\n onExpandRef.current.apply(onExpandRef, arguments);\n }; // =========================== onRow ===========================\n\n\n var additionalProps = onRow === null || onRow === void 0 ? void 0 : onRow(record, index);\n\n var onClick = function onClick(event) {\n var _additionalProps$onCl;\n\n if (expandRowByClick && mergedExpandable) {\n onInternalTriggerExpand(record, event);\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onCl = additionalProps.onClick) === null || _additionalProps$onCl === void 0 ? void 0 : _additionalProps$onCl.call.apply(_additionalProps$onCl, [additionalProps, event].concat(args));\n }; // ======================== Base tr row ========================\n\n\n var computeRowClassName;\n\n if (typeof rowClassName === 'string') {\n computeRowClassName = rowClassName;\n } else if (typeof rowClassName === 'function') {\n computeRowClassName = rowClassName(record, index, indent);\n }\n\n var columnsKey = getColumnsKey(flattenColumns);\n var baseRowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, additionalProps, {\n \"data-row-key\": rowKey,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), \"\".concat(prefixCls, \"-row-level-\").concat(indent), computeRowClassName, additionalProps && additionalProps.className),\n style: _objectSpread(_objectSpread({}, style), additionalProps ? additionalProps.style : null),\n onClick: onClick\n }), flattenColumns.map(function (column, colIndex) {\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className;\n var key = columnsKey[colIndex];\n var fixedInfo = fixedInfoList[colIndex]; // ============= Used for nest expandable =============\n\n var appendCellNode;\n\n if (colIndex === (expandIconColumnIndex || 0) && nestExpandable) {\n appendCellNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n paddingLeft: \"\".concat(indentSize * indent, \"px\")\n },\n className: \"\".concat(prefixCls, \"-row-indent indent-level-\").concat(indent)\n }), expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: hasNestChildren,\n record: record,\n onExpand: onInternalTriggerExpand\n }));\n }\n\n var additionalCellProps;\n\n if (column.onCell) {\n additionalCellProps = column.onCell(record, index);\n }\n\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: columnClassName,\n ellipsis: column.ellipsis,\n align: column.align,\n component: cellComponent,\n prefixCls: prefixCls,\n key: key,\n record: record,\n index: index,\n renderIndex: renderIndex,\n dataIndex: dataIndex,\n render: render,\n shouldCellUpdate: column.shouldCellUpdate,\n expanded: appendCellNode && expanded\n }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: additionalCellProps\n }));\n })); // ======================== Expand Row =========================\n\n var expandRowNode;\n\n if (rowSupportExpand && (expandRended || expanded)) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n var computedExpandedRowClassName = expandedRowClassName && expandedRowClassName(record, index, indent);\n expandRowNode = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: expanded,\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), computedExpandedRowClassName),\n prefixCls: prefixCls,\n component: RowComponent,\n cellComponent: cellComponent,\n colSpan: flattenColumns.length,\n isEmpty: false\n }, expandContent);\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, baseRowNode, expandRowNode);\n}\n\nBodyRow.displayName = 'BodyRow';\nexport default BodyRow;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react'; // recursion (flat tree structure)\n\nfunction flatRecord(record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n var arr = [];\n arr.push({\n record: record,\n indent: indent,\n index: index\n });\n var key = getRowKey(record);\n var expanded = expandedKeys === null || expandedKeys === void 0 ? void 0 : expandedKeys.has(key);\n\n if (record && Array.isArray(record[childrenColumnName]) && expanded) {\n // expanded state, flat record\n for (var i = 0; i < record[childrenColumnName].length; i += 1) {\n var tempArr = flatRecord(record[childrenColumnName][i], indent + 1, childrenColumnName, expandedKeys, getRowKey, i);\n arr.push.apply(arr, _toConsumableArray(tempArr));\n }\n }\n\n return arr;\n}\n/**\n * flat tree data on expanded state\n *\n * @export\n * @template T\n * @param {*} data : table data\n * @param {string} childrenColumnName : 指定树形结构的列名\n * @param {Set} expandedKeys : 展开的行对应的keys\n * @param {GetRowKey} getRowKey : 获取当前rowKey的方法\n * @returns flattened data\n */\n\n\nexport default function useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey) {\n var arr = React.useMemo(function () {\n if (expandedKeys === null || expandedKeys === void 0 ? void 0 : expandedKeys.size) {\n var temp = []; // collect flattened record\n\n for (var i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i += 1) {\n var record = data[i];\n temp.push.apply(temp, _toConsumableArray(flatRecord(record, 0, childrenColumnName, expandedKeys, getRowKey, i)));\n }\n\n return temp;\n }\n\n return data === null || data === void 0 ? void 0 : data.map(function (item, index) {\n return {\n record: item,\n indent: 0,\n index: index\n };\n });\n }, [data, childrenColumnName, expandedKeys, getRowKey]);\n return arr;\n}","import * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nexport default function MeasureCell(_ref) {\n var columnKey = _ref.columnKey,\n onColumnResize = _ref.onColumnResize;\n var cellRef = React.useRef();\n React.useEffect(function () {\n if (cellRef.current) {\n onColumnResize(columnKey, cellRef.current.offsetWidth);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n data: columnKey\n }, /*#__PURE__*/React.createElement(\"td\", {\n ref: cellRef,\n style: {\n padding: 0,\n border: 0,\n height: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: 0,\n overflow: 'hidden'\n }\n }, \"\\xA0\")));\n}","import * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport MeasureCell from './MeasureCell';\nexport default function MeasureRow(_ref) {\n var prefixCls = _ref.prefixCls,\n columnsKey = _ref.columnsKey,\n onColumnResize = _ref.onColumnResize;\n return /*#__PURE__*/React.createElement(\"tr\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-measure-row\"),\n style: {\n height: 0,\n fontSize: 0\n }\n }, /*#__PURE__*/React.createElement(ResizeObserver.Collection, {\n onBatchResize: function onBatchResize(infoList) {\n infoList.forEach(function (_ref2) {\n var columnKey = _ref2.data,\n size = _ref2.size;\n onColumnResize(columnKey, size.offsetWidth);\n });\n }\n }, columnsKey.map(function (columnKey) {\n return /*#__PURE__*/React.createElement(MeasureCell, {\n key: columnKey,\n columnKey: columnKey,\n onColumnResize: onColumnResize\n });\n })));\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport TableContext from '../context/TableContext';\nimport ExpandedRow from './ExpandedRow';\nimport BodyContext from '../context/BodyContext';\nimport { getColumnsKey } from '../utils/valueUtil';\nimport ResizeContext from '../context/ResizeContext';\nimport BodyRow from './BodyRow';\nimport useFlattenRecords from '../hooks/useFlattenRecords';\nimport HoverContext from '../context/HoverContext';\nimport PerfContext from '../context/PerfContext';\nimport MeasureRow from './MeasureRow';\n\nfunction Body(_ref) {\n var data = _ref.data,\n getRowKey = _ref.getRowKey,\n measureColumnWidth = _ref.measureColumnWidth,\n expandedKeys = _ref.expandedKeys,\n onRow = _ref.onRow,\n rowExpandable = _ref.rowExpandable,\n emptyNode = _ref.emptyNode,\n childrenColumnName = _ref.childrenColumnName;\n\n var _React$useContext = React.useContext(ResizeContext),\n onColumnResize = _React$useContext.onColumnResize;\n\n var _React$useContext2 = React.useContext(TableContext),\n prefixCls = _React$useContext2.prefixCls,\n getComponent = _React$useContext2.getComponent;\n\n var _React$useContext3 = React.useContext(BodyContext),\n flattenColumns = _React$useContext3.flattenColumns;\n\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey); // =================== Performance ====================\n\n var perfRef = React.useRef({\n renderWithProps: false\n }); // ====================== Hover =======================\n\n var _React$useState = React.useState(-1),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n startRow = _React$useState2[0],\n setStartRow = _React$useState2[1];\n\n var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n endRow = _React$useState4[0],\n setEndRow = _React$useState4[1];\n\n var onHover = React.useCallback(function (start, end) {\n setStartRow(start);\n setEndRow(end);\n }, []); // ====================== Render ======================\n\n var bodyNode = React.useMemo(function () {\n var WrapperComponent = getComponent(['body', 'wrapper'], 'tbody');\n var trComponent = getComponent(['body', 'row'], 'tr');\n var tdComponent = getComponent(['body', 'cell'], 'td');\n var rows;\n\n if (data.length) {\n rows = flattenData.map(function (item, idx) {\n var record = item.record,\n indent = item.indent,\n renderIndex = item.index;\n var key = getRowKey(record, idx);\n return /*#__PURE__*/React.createElement(BodyRow, {\n key: key,\n rowKey: key,\n record: record,\n recordKey: key,\n index: idx,\n renderIndex: renderIndex,\n rowComponent: trComponent,\n cellComponent: tdComponent,\n expandedKeys: expandedKeys,\n onRow: onRow,\n getRowKey: getRowKey,\n rowExpandable: rowExpandable,\n childrenColumnName: childrenColumnName,\n indent: indent\n });\n });\n } else {\n rows = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: true,\n className: \"\".concat(prefixCls, \"-placeholder\"),\n prefixCls: prefixCls,\n component: trComponent,\n cellComponent: tdComponent,\n colSpan: flattenColumns.length,\n isEmpty: true\n }, emptyNode);\n }\n\n var columnsKey = getColumnsKey(flattenColumns);\n return /*#__PURE__*/React.createElement(WrapperComponent, {\n className: \"\".concat(prefixCls, \"-tbody\")\n }, measureColumnWidth && /*#__PURE__*/React.createElement(MeasureRow, {\n prefixCls: prefixCls,\n columnsKey: columnsKey,\n onColumnResize: onColumnResize\n }), rows);\n }, [data, prefixCls, onRow, measureColumnWidth, expandedKeys, getRowKey, getComponent, emptyNode, flattenColumns, childrenColumnName, onColumnResize, rowExpandable, flattenData]);\n return /*#__PURE__*/React.createElement(PerfContext.Provider, {\n value: perfRef.current\n }, /*#__PURE__*/React.createElement(HoverContext.Provider, {\n value: {\n startRow: startRow,\n endRow: endRow,\n onHover: onHover\n }\n }, bodyNode));\n}\n\nvar MemoBody = /*#__PURE__*/React.memo(Body);\nMemoBody.displayName = 'Body';\nexport default MemoBody;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\n/**\n * Execute code before next frame but async\n */\n\nexport function useLayoutState(defaultState) {\n var stateRef = useRef(defaultState);\n\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n\n var lastPromiseRef = useRef(null);\n var updateBatchRef = useRef([]);\n\n function setFrameState(updater) {\n updateBatchRef.current.push(updater);\n var promise = Promise.resolve();\n lastPromiseRef.current = promise;\n promise.then(function () {\n if (lastPromiseRef.current === promise) {\n var prevBatch = updateBatchRef.current;\n var prevState = stateRef.current;\n updateBatchRef.current = [];\n prevBatch.forEach(function (batchUpdater) {\n stateRef.current = batchUpdater(stateRef.current);\n });\n lastPromiseRef.current = null;\n\n if (prevState !== stateRef.current) {\n forceUpdate({});\n }\n }\n });\n }\n\n useEffect(function () {\n return function () {\n lastPromiseRef.current = null;\n };\n }, []);\n return [stateRef.current, setFrameState];\n}\n/** Lock frame, when frame pass reset the lock. */\n\nexport function useTimeoutLock(defaultState) {\n var frameRef = useRef(defaultState || null);\n var timeoutRef = useRef();\n\n function cleanUp() {\n window.clearTimeout(timeoutRef.current);\n }\n\n function setState(newState) {\n frameRef.current = newState;\n cleanUp();\n timeoutRef.current = window.setTimeout(function () {\n frameRef.current = null;\n timeoutRef.current = undefined;\n }, 100);\n }\n\n function getState() {\n return frameRef.current;\n }\n\n useEffect(function () {\n return cleanUp;\n }, []);\n return [setState, getState];\n}","import { useMemo } from 'react';\n/**\n * Get sticky column offset width\n */\n\nfunction useStickyOffsets(colWidths, columnCount, direction) {\n var stickyOffsets = useMemo(function () {\n var leftOffsets = [];\n var rightOffsets = [];\n var left = 0;\n var right = 0;\n\n for (var start = 0; start < columnCount; start += 1) {\n if (direction === 'rtl') {\n // Left offset\n rightOffsets[start] = right;\n right += colWidths[start] || 0; // Right offset\n\n var end = columnCount - start - 1;\n leftOffsets[end] = left;\n left += colWidths[end] || 0;\n } else {\n // Left offset\n leftOffsets[start] = left;\n left += colWidths[start] || 0; // Right offset\n\n var _end = columnCount - start - 1;\n\n rightOffsets[_end] = right;\n right += colWidths[_end] || 0;\n }\n }\n\n return {\n left: leftOffsets,\n right: rightOffsets\n };\n }, [colWidths, columnCount, direction]);\n return stickyOffsets;\n}\n\nexport default useStickyOffsets;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"columnType\"];\nimport * as React from 'react';\nimport { INTERNAL_COL_DEFINE } from './utils/legacyUtil';\n\nfunction ColGroup(_ref) {\n var colWidths = _ref.colWidths,\n columns = _ref.columns,\n columCount = _ref.columCount;\n var cols = [];\n var len = columCount || columns.length; // Only insert col with width & additional props\n // Skip if rest col do not have any useful info\n\n var mustInsert = false;\n\n for (var i = len - 1; i >= 0; i -= 1) {\n var width = colWidths[i];\n var column = columns && columns[i];\n var additionalProps = column && column[INTERNAL_COL_DEFINE];\n\n if (width || additionalProps || mustInsert) {\n var _ref2 = additionalProps || {},\n columnType = _ref2.columnType,\n restAdditionalProps = _objectWithoutProperties(_ref2, _excluded);\n\n cols.unshift( /*#__PURE__*/React.createElement(\"col\", _extends({\n key: i,\n style: {\n width: width\n }\n }, restAdditionalProps)));\n mustInsert = true;\n }\n }\n\n return /*#__PURE__*/React.createElement(\"colgroup\", null, cols);\n}\n\nexport default ColGroup;","import * as React from 'react';\n\nfunction Panel(_ref) {\n var className = _ref.className,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, children);\n}\n\nexport default Panel;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport function renderExpandIcon(_ref) {\n var _classNames;\n\n var prefixCls = _ref.prefixCls,\n record = _ref.record,\n onExpand = _ref.onExpand,\n expanded = _ref.expanded,\n expandable = _ref.expandable;\n var expandClassName = \"\".concat(prefixCls, \"-row-expand-icon\");\n\n if (!expandable) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, \"\".concat(prefixCls, \"-row-spaced\"))\n });\n }\n\n var onClick = function onClick(event) {\n onExpand(record, event);\n event.stopPropagation();\n };\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-expanded\"), expanded), _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-collapsed\"), !expanded), _classNames)),\n onClick: onClick\n });\n}\nexport function findAllChildrenKeys(data, getRowKey, childrenColumnName) {\n var keys = [];\n\n function dig(list) {\n (list || []).forEach(function (item, index) {\n keys.push(getRowKey(item, index));\n dig(item[childrenColumnName]);\n });\n }\n\n dig(data);\n return keys;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport getScrollBarSize from \"rc-util/es/getScrollBarSize\";\nimport classNames from 'classnames';\nimport { getOffset } from \"rc-util/es/Dom/css\";\nimport TableContext from './context/TableContext';\nimport { useLayoutState } from './hooks/useFrame';\n\nvar StickyScrollBar = function StickyScrollBar(_ref, ref) {\n var _scrollBodyRef$curren, _scrollBodyRef$curren2;\n\n var scrollBodyRef = _ref.scrollBodyRef,\n onScroll = _ref.onScroll,\n offsetScroll = _ref.offsetScroll,\n container = _ref.container;\n\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls;\n\n var bodyScrollWidth = ((_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 ? void 0 : _scrollBodyRef$curren.scrollWidth) || 0;\n var bodyWidth = ((_scrollBodyRef$curren2 = scrollBodyRef.current) === null || _scrollBodyRef$curren2 === void 0 ? void 0 : _scrollBodyRef$curren2.clientWidth) || 0;\n var scrollBarWidth = bodyScrollWidth && bodyWidth * (bodyWidth / bodyScrollWidth);\n var scrollBarRef = React.useRef();\n\n var _useLayoutState = useLayoutState({\n scrollLeft: 0,\n isHiddenScrollBar: false\n }),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n scrollState = _useLayoutState2[0],\n setScrollState = _useLayoutState2[1];\n\n var refState = React.useRef({\n delta: 0,\n x: 0\n });\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n isActive = _React$useState2[0],\n setActive = _React$useState2[1];\n\n var onMouseUp = function onMouseUp() {\n setActive(false);\n };\n\n var onMouseDown = function onMouseDown(event) {\n event.persist();\n refState.current.delta = event.pageX - scrollState.scrollLeft;\n refState.current.x = 0;\n setActive(true);\n event.preventDefault();\n };\n\n var onMouseMove = function onMouseMove(event) {\n var _window; // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n\n\n var _ref2 = event || ((_window = window) === null || _window === void 0 ? void 0 : _window.event),\n buttons = _ref2.buttons;\n\n if (!isActive || buttons === 0) {\n // If out body mouse up, we can set isActive false when mouse move\n if (isActive) {\n setActive(false);\n }\n\n return;\n }\n\n var left = refState.current.x + event.pageX - refState.current.x - refState.current.delta;\n\n if (left <= 0) {\n left = 0;\n }\n\n if (left + scrollBarWidth >= bodyWidth) {\n left = bodyWidth - scrollBarWidth;\n }\n\n onScroll({\n scrollLeft: left / bodyWidth * (bodyScrollWidth + 2)\n });\n refState.current.x = event.pageX;\n };\n\n var onContainerScroll = function onContainerScroll() {\n if (!scrollBodyRef.current) {\n return;\n }\n\n var tableOffsetTop = getOffset(scrollBodyRef.current).top;\n var tableBottomOffset = tableOffsetTop + scrollBodyRef.current.offsetHeight;\n var currentClientOffset = container === window ? document.documentElement.scrollTop + window.innerHeight : getOffset(container).top + container.clientHeight;\n\n if (tableBottomOffset - getScrollBarSize() <= currentClientOffset || tableOffsetTop >= currentClientOffset - offsetScroll) {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n isHiddenScrollBar: true\n });\n });\n } else {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n isHiddenScrollBar: false\n });\n });\n }\n };\n\n var setScrollLeft = function setScrollLeft(left) {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: left / bodyScrollWidth * bodyWidth || 0\n });\n });\n };\n\n React.useImperativeHandle(ref, function () {\n return {\n setScrollLeft: setScrollLeft\n };\n });\n React.useEffect(function () {\n var onMouseUpListener = addEventListener(document.body, 'mouseup', onMouseUp, false);\n var onMouseMoveListener = addEventListener(document.body, 'mousemove', onMouseMove, false);\n onContainerScroll();\n return function () {\n onMouseUpListener.remove();\n onMouseMoveListener.remove();\n };\n }, [scrollBarWidth, isActive]);\n React.useEffect(function () {\n var onScrollListener = addEventListener(container, 'scroll', onContainerScroll, false);\n var onResizeListener = addEventListener(window, 'resize', onContainerScroll, false);\n return function () {\n onScrollListener.remove();\n onResizeListener.remove();\n };\n }, [container]);\n React.useEffect(function () {\n if (!scrollState.isHiddenScrollBar) {\n setScrollState(function (state) {\n var bodyNode = scrollBodyRef.current;\n\n if (!bodyNode) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: bodyNode.scrollLeft / bodyNode.scrollWidth * bodyNode.clientWidth\n });\n });\n }\n }, [scrollState.isHiddenScrollBar]);\n\n if (bodyScrollWidth <= bodyWidth || !scrollBarWidth || scrollState.isHiddenScrollBar) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: getScrollBarSize(),\n width: bodyWidth,\n bottom: offsetScroll\n },\n className: \"\".concat(prefixCls, \"-sticky-scroll\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n onMouseDown: onMouseDown,\n ref: scrollBarRef,\n className: classNames(\"\".concat(prefixCls, \"-sticky-scroll-bar\"), _defineProperty({}, \"\".concat(prefixCls, \"-sticky-scroll-bar-active\"), isActive)),\n style: {\n width: \"\".concat(scrollBarWidth, \"px\"),\n transform: \"translate3d(\".concat(scrollState.scrollLeft, \"px, 0, 0)\")\n }\n }));\n};\n\nexport default /*#__PURE__*/React.forwardRef(StickyScrollBar);","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\"; // fix ssr render\n\nvar defaultContainer = canUseDom() ? window : null;\n/** Sticky header hooks */\n\nexport default function useSticky(sticky, prefixCls) {\n var _ref = _typeof(sticky) === 'object' ? sticky : {},\n _ref$offsetHeader = _ref.offsetHeader,\n offsetHeader = _ref$offsetHeader === void 0 ? 0 : _ref$offsetHeader,\n _ref$offsetSummary = _ref.offsetSummary,\n offsetSummary = _ref$offsetSummary === void 0 ? 0 : _ref$offsetSummary,\n _ref$offsetScroll = _ref.offsetScroll,\n offsetScroll = _ref$offsetScroll === void 0 ? 0 : _ref$offsetScroll,\n _ref$getContainer = _ref.getContainer,\n getContainer = _ref$getContainer === void 0 ? function () {\n return defaultContainer;\n } : _ref$getContainer;\n\n var container = getContainer() || defaultContainer;\n return React.useMemo(function () {\n var isSticky = !!sticky;\n return {\n isSticky: isSticky,\n stickyClassName: isSticky ? \"\".concat(prefixCls, \"-sticky-holder\") : '',\n offsetHeader: offsetHeader,\n offsetSummary: offsetSummary,\n offsetScroll: offsetScroll,\n container: container\n };\n }, [offsetScroll, offsetHeader, offsetSummary, prefixCls, container]);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"noData\", \"columns\", \"flattenColumns\", \"colWidths\", \"columCount\", \"stickyOffsets\", \"direction\", \"fixHeader\", \"stickyTopOffset\", \"stickyBottomOffset\", \"stickyClassName\", \"onScroll\", \"maxContentScroll\", \"children\"];\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { fillRef } from \"rc-util/es/ref\";\nimport ColGroup from '../ColGroup';\nimport TableContext from '../context/TableContext';\n\nfunction useColumnWidth(colWidths, columCount) {\n return useMemo(function () {\n var cloneColumns = [];\n\n for (var i = 0; i < columCount; i += 1) {\n var val = colWidths[i];\n\n if (val !== undefined) {\n cloneColumns[i] = val;\n } else {\n return null;\n }\n }\n\n return cloneColumns;\n }, [colWidths.join('_'), columCount]);\n}\n\nvar FixedHolder = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var className = _ref.className,\n noData = _ref.noData,\n columns = _ref.columns,\n flattenColumns = _ref.flattenColumns,\n colWidths = _ref.colWidths,\n columCount = _ref.columCount,\n stickyOffsets = _ref.stickyOffsets,\n direction = _ref.direction,\n fixHeader = _ref.fixHeader,\n stickyTopOffset = _ref.stickyTopOffset,\n stickyBottomOffset = _ref.stickyBottomOffset,\n stickyClassName = _ref.stickyClassName,\n onScroll = _ref.onScroll,\n maxContentScroll = _ref.maxContentScroll,\n children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _React$useContext = React.useContext(TableContext),\n prefixCls = _React$useContext.prefixCls,\n scrollbarSize = _React$useContext.scrollbarSize,\n isSticky = _React$useContext.isSticky;\n\n var combinationScrollBarSize = isSticky && !fixHeader ? 0 : scrollbarSize; // Pass wheel to scroll event\n\n var scrollRef = React.useRef(null);\n var setScrollRef = React.useCallback(function (element) {\n fillRef(ref, element);\n fillRef(scrollRef, element);\n }, []);\n React.useEffect(function () {\n var _scrollRef$current;\n\n function onWheel(e) {\n var currentTarget = e.currentTarget,\n deltaX = e.deltaX;\n\n if (deltaX) {\n onScroll({\n currentTarget: currentTarget,\n scrollLeft: currentTarget.scrollLeft + deltaX\n });\n e.preventDefault();\n }\n }\n\n (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.addEventListener('wheel', onWheel);\n return function () {\n var _scrollRef$current2;\n\n (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.removeEventListener('wheel', onWheel);\n };\n }, []); // Check if all flattenColumns has width\n\n var allFlattenColumnsWithWidth = React.useMemo(function () {\n return flattenColumns.every(function (column) {\n return column.width >= 0;\n });\n }, [flattenColumns]); // Add scrollbar column\n\n var lastColumn = flattenColumns[flattenColumns.length - 1];\n var ScrollBarColumn = {\n fixed: lastColumn ? lastColumn.fixed : null,\n scrollbar: true,\n onHeaderCell: function onHeaderCell() {\n return {\n className: \"\".concat(prefixCls, \"-cell-scrollbar\")\n };\n }\n };\n var columnsWithScrollbar = useMemo(function () {\n return combinationScrollBarSize ? [].concat(_toConsumableArray(columns), [ScrollBarColumn]) : columns;\n }, [combinationScrollBarSize, columns]);\n var flattenColumnsWithScrollbar = useMemo(function () {\n return combinationScrollBarSize ? [].concat(_toConsumableArray(flattenColumns), [ScrollBarColumn]) : flattenColumns;\n }, [combinationScrollBarSize, flattenColumns]); // Calculate the sticky offsets\n\n var headerStickyOffsets = useMemo(function () {\n var right = stickyOffsets.right,\n left = stickyOffsets.left;\n return _objectSpread(_objectSpread({}, stickyOffsets), {}, {\n left: direction === 'rtl' ? [].concat(_toConsumableArray(left.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]) : left,\n right: direction === 'rtl' ? right : [].concat(_toConsumableArray(right.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]),\n isSticky: isSticky\n });\n }, [combinationScrollBarSize, stickyOffsets, isSticky]);\n var mergedColumnWidth = useColumnWidth(colWidths, columCount);\n return /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread({\n overflow: 'hidden'\n }, isSticky ? {\n top: stickyTopOffset,\n bottom: stickyBottomOffset\n } : {}),\n ref: setScrollRef,\n className: classNames(className, _defineProperty({}, stickyClassName, !!stickyClassName))\n }, /*#__PURE__*/React.createElement(\"table\", {\n style: {\n tableLayout: 'fixed',\n visibility: noData || mergedColumnWidth ? null : 'hidden'\n }\n }, (!noData || !maxContentScroll || allFlattenColumnsWithWidth) && /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: mergedColumnWidth ? [].concat(_toConsumableArray(mergedColumnWidth), [combinationScrollBarSize]) : [],\n columCount: columCount + 1,\n columns: flattenColumnsWithScrollbar\n }), children(_objectSpread(_objectSpread({}, props), {}, {\n stickyOffsets: headerStickyOffsets,\n columns: columnsWithScrollbar,\n flattenColumns: flattenColumnsWithScrollbar\n }))));\n});\nFixedHolder.displayName = 'FixedHolder';\nexport default FixedHolder;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/**\n * Feature:\n * - fixed not need to set width\n * - support `rowExpandable` to config row expand logic\n * - add `summary` to support `() => ReactNode`\n *\n * Update:\n * - `dataIndex` is `array[]` now\n * - `expandable` wrap all the expand related props\n *\n * Removed:\n * - expandIconAsCell\n * - useFixedHeader\n * - rowRef\n * - columns[number].onCellClick\n * - onRowClick\n * - onRowDoubleClick\n * - onRowMouseEnter\n * - onRowMouseLeave\n * - getBodyWrapper\n * - bodyStyle\n *\n * Deprecated:\n * - All expanded props, move into expandable\n */\n\nimport * as React from 'react';\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nimport classNames from 'classnames';\nimport shallowEqual from 'shallowequal';\nimport warning from \"rc-util/es/warning\";\nimport ResizeObserver from 'rc-resize-observer';\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport ColumnGroup from './sugar/ColumnGroup';\nimport Column from './sugar/Column';\nimport Header from './Header/Header';\nimport TableContext from './context/TableContext';\nimport BodyContext from './context/BodyContext';\nimport Body from './Body';\nimport useColumns from './hooks/useColumns';\nimport { useLayoutState, useTimeoutLock } from './hooks/useFrame';\nimport { getPathValue, validateValue, getColumnsKey } from './utils/valueUtil';\nimport ResizeContext from './context/ResizeContext';\nimport useStickyOffsets from './hooks/useStickyOffsets';\nimport ColGroup from './ColGroup';\nimport { getExpandableProps } from './utils/legacyUtil';\nimport Panel from './Panel';\nimport Footer, { FooterComponents } from './Footer';\nimport { findAllChildrenKeys, renderExpandIcon } from './utils/expandUtil';\nimport { getCellFixedInfo } from './utils/fixUtil';\nimport StickyScrollBar from './stickyScrollBar';\nimport useSticky from './hooks/useSticky';\nimport FixedHolder from './FixedHolder';\nimport Summary from './Footer/Summary';\nimport StickyContext from './context/StickyContext';\nimport ExpandedRowContext from './context/ExpandedRowContext';\nimport { EXPAND_COLUMN } from './constant'; // Used for conditions cache\n\nvar EMPTY_DATA = []; // Used for customize scroll\n\nvar EMPTY_SCROLL_TARGET = {};\nexport var INTERNAL_HOOKS = 'rc-table-internal-hook';\nvar MemoTableContent = /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (prev, next) {\n if (!shallowEqual(prev.props, next.props)) {\n return false;\n } // No additional render when pinged status change.\n // This is not a bug.\n\n\n return prev.pingLeft !== next.pingLeft || prev.pingRight !== next.pingRight;\n});\n\nfunction Table(props) {\n var _classNames;\n\n var prefixCls = props.prefixCls,\n className = props.className,\n rowClassName = props.rowClassName,\n style = props.style,\n data = props.data,\n rowKey = props.rowKey,\n scroll = props.scroll,\n tableLayout = props.tableLayout,\n direction = props.direction,\n title = props.title,\n footer = props.footer,\n summary = props.summary,\n id = props.id,\n showHeader = props.showHeader,\n components = props.components,\n emptyText = props.emptyText,\n onRow = props.onRow,\n onHeaderRow = props.onHeaderRow,\n internalHooks = props.internalHooks,\n transformColumns = props.transformColumns,\n internalRefs = props.internalRefs,\n sticky = props.sticky;\n var mergedData = data || EMPTY_DATA;\n var hasData = !!mergedData.length; // ===================== Warning ======================\n\n if (process.env.NODE_ENV !== 'production') {\n ['onRowClick', 'onRowDoubleClick', 'onRowContextMenu', 'onRowMouseEnter', 'onRowMouseLeave'].forEach(function (name) {\n warning(props[name] === undefined, \"`\".concat(name, \"` is removed, please use `onRow` instead.\"));\n });\n warning(!('getBodyWrapper' in props), '`getBodyWrapper` is deprecated, please use custom `components` instead.');\n } // ==================== Customize =====================\n\n\n var getComponent = React.useCallback(function (path, defaultComponent) {\n return getPathValue(components || {}, path) || defaultComponent;\n }, [components]);\n var getRowKey = React.useMemo(function () {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n\n return function (record) {\n var key = record && record[rowKey];\n\n if (process.env.NODE_ENV !== 'production') {\n warning(key !== undefined, 'Each record in table should have a unique `key` prop, or set `rowKey` to an unique primary key.');\n }\n\n return key;\n };\n }, [rowKey]); // ====================== Expand ======================\n\n var expandableConfig = getExpandableProps(props);\n var expandIcon = expandableConfig.expandIcon,\n expandedRowKeys = expandableConfig.expandedRowKeys,\n defaultExpandedRowKeys = expandableConfig.defaultExpandedRowKeys,\n defaultExpandAllRows = expandableConfig.defaultExpandAllRows,\n expandedRowRender = expandableConfig.expandedRowRender,\n columnTitle = expandableConfig.columnTitle,\n onExpand = expandableConfig.onExpand,\n onExpandedRowsChange = expandableConfig.onExpandedRowsChange,\n expandRowByClick = expandableConfig.expandRowByClick,\n rowExpandable = expandableConfig.rowExpandable,\n expandIconColumnIndex = expandableConfig.expandIconColumnIndex,\n expandedRowClassName = expandableConfig.expandedRowClassName,\n childrenColumnName = expandableConfig.childrenColumnName,\n indentSize = expandableConfig.indentSize;\n var mergedExpandIcon = expandIcon || renderExpandIcon;\n var mergedChildrenColumnName = childrenColumnName || 'children';\n var expandableType = React.useMemo(function () {\n if (expandedRowRender) {\n return 'row';\n }\n /* eslint-disable no-underscore-dangle */\n\n /**\n * Fix https://github.com/ant-design/ant-design/issues/21154\n * This is a workaround to not to break current behavior.\n * We can remove follow code after final release.\n *\n * To other developer:\n * Do not use `__PARENT_RENDER_ICON__` in prod since we will remove this when refactor\n */\n\n\n if (props.expandable && internalHooks === INTERNAL_HOOKS && props.expandable.__PARENT_RENDER_ICON__ || mergedData.some(function (record) {\n return record && _typeof(record) === 'object' && record[mergedChildrenColumnName];\n })) {\n return 'nest';\n }\n /* eslint-enable */\n\n\n return false;\n }, [!!expandedRowRender, mergedData]);\n\n var _React$useState = React.useState(function () {\n if (defaultExpandedRowKeys) {\n return defaultExpandedRowKeys;\n }\n\n if (defaultExpandAllRows) {\n return findAllChildrenKeys(mergedData, getRowKey, mergedChildrenColumnName);\n }\n\n return [];\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerExpandedKeys = _React$useState2[0],\n setInnerExpandedKeys = _React$useState2[1];\n\n var mergedExpandedKeys = React.useMemo(function () {\n return new Set(expandedRowKeys || innerExpandedKeys || []);\n }, [expandedRowKeys, innerExpandedKeys]);\n var onTriggerExpand = React.useCallback(function (record) {\n var key = getRowKey(record, mergedData.indexOf(record));\n var newExpandedKeys;\n var hasKey = mergedExpandedKeys.has(key);\n\n if (hasKey) {\n mergedExpandedKeys.delete(key);\n newExpandedKeys = _toConsumableArray(mergedExpandedKeys);\n } else {\n newExpandedKeys = [].concat(_toConsumableArray(mergedExpandedKeys), [key]);\n }\n\n setInnerExpandedKeys(newExpandedKeys);\n\n if (onExpand) {\n onExpand(!hasKey, record);\n }\n\n if (onExpandedRowsChange) {\n onExpandedRowsChange(newExpandedKeys);\n }\n }, [getRowKey, mergedExpandedKeys, mergedData, onExpand, onExpandedRowsChange]); // Warning if use `expandedRowRender` and nest children in the same time\n\n if (process.env.NODE_ENV !== 'production' && expandedRowRender && mergedData.some(function (record) {\n return Array.isArray(record === null || record === void 0 ? void 0 : record[mergedChildrenColumnName]);\n })) {\n warning(false, '`expandedRowRender` should not use with nested Table');\n } // ====================== Column ======================\n\n\n var _React$useState3 = React.useState(0),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n componentWidth = _React$useState4[0],\n setComponentWidth = _React$useState4[1];\n\n var _useColumns = useColumns(_objectSpread(_objectSpread(_objectSpread({}, props), expandableConfig), {}, {\n expandable: !!expandedRowRender,\n columnTitle: columnTitle,\n expandedKeys: mergedExpandedKeys,\n getRowKey: getRowKey,\n // https://github.com/ant-design/ant-design/issues/23894\n onTriggerExpand: onTriggerExpand,\n expandIcon: mergedExpandIcon,\n expandIconColumnIndex: expandIconColumnIndex,\n direction: direction\n }), internalHooks === INTERNAL_HOOKS ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 2),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1];\n\n var columnContext = React.useMemo(function () {\n return {\n columns: columns,\n flattenColumns: flattenColumns\n };\n }, [columns, flattenColumns]); // ====================== Scroll ======================\n\n var fullTableRef = React.useRef();\n var scrollHeaderRef = React.useRef();\n var scrollBodyRef = React.useRef();\n var scrollBodyContainerRef = React.useRef();\n var scrollSummaryRef = React.useRef();\n\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n pingedLeft = _React$useState6[0],\n setPingedLeft = _React$useState6[1];\n\n var _React$useState7 = React.useState(false),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n pingedRight = _React$useState8[0],\n setPingedRight = _React$useState8[1];\n\n var _useLayoutState = useLayoutState(new Map()),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n colsWidths = _useLayoutState2[0],\n updateColsWidths = _useLayoutState2[1]; // Convert map to number width\n\n\n var colsKeys = getColumnsKey(flattenColumns);\n var pureColWidths = colsKeys.map(function (columnKey) {\n return colsWidths.get(columnKey);\n });\n var colWidths = React.useMemo(function () {\n return pureColWidths;\n }, [pureColWidths.join('_')]);\n var stickyOffsets = useStickyOffsets(colWidths, flattenColumns.length, direction);\n var fixHeader = scroll && validateValue(scroll.y);\n var horizonScroll = scroll && validateValue(scroll.x) || Boolean(expandableConfig.fixed);\n var fixColumn = horizonScroll && flattenColumns.some(function (_ref2) {\n var fixed = _ref2.fixed;\n return fixed;\n }); // Sticky\n\n var stickyRef = React.useRef();\n\n var _useSticky = useSticky(sticky, prefixCls),\n isSticky = _useSticky.isSticky,\n offsetHeader = _useSticky.offsetHeader,\n offsetSummary = _useSticky.offsetSummary,\n offsetScroll = _useSticky.offsetScroll,\n stickyClassName = _useSticky.stickyClassName,\n container = _useSticky.container; // Footer (Fix footer must fixed header)\n\n\n var summaryNode = summary === null || summary === void 0 ? void 0 : summary(mergedData);\n var fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed; // Scroll\n\n var scrollXStyle;\n var scrollYStyle;\n var scrollTableStyle;\n\n if (fixHeader) {\n scrollYStyle = {\n overflowY: 'scroll',\n maxHeight: scroll.y\n };\n }\n\n if (horizonScroll) {\n scrollXStyle = {\n overflowX: 'auto'\n }; // When no vertical scrollbar, should hide it\n // https://github.com/ant-design/ant-design/pull/20705\n // https://github.com/ant-design/ant-design/issues/21879\n\n if (!fixHeader) {\n scrollYStyle = {\n overflowY: 'hidden'\n };\n }\n\n scrollTableStyle = {\n width: (scroll === null || scroll === void 0 ? void 0 : scroll.x) === true ? 'auto' : scroll === null || scroll === void 0 ? void 0 : scroll.x,\n minWidth: '100%'\n };\n }\n\n var onColumnResize = React.useCallback(function (columnKey, width) {\n if (isVisible(fullTableRef.current)) {\n updateColsWidths(function (widths) {\n if (widths.get(columnKey) !== width) {\n var newWidths = new Map(widths);\n newWidths.set(columnKey, width);\n return newWidths;\n }\n\n return widths;\n });\n }\n }, []);\n\n var _useTimeoutLock = useTimeoutLock(null),\n _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n setScrollTarget = _useTimeoutLock2[0],\n getScrollTarget = _useTimeoutLock2[1];\n\n function forceScroll(scrollLeft, target) {\n if (!target) {\n return;\n }\n\n if (typeof target === 'function') {\n target(scrollLeft);\n } else if (target.scrollLeft !== scrollLeft) {\n // eslint-disable-next-line no-param-reassign\n target.scrollLeft = scrollLeft;\n }\n }\n\n var onScroll = function onScroll(_ref3) {\n var currentTarget = _ref3.currentTarget,\n scrollLeft = _ref3.scrollLeft;\n var isRTL = direction === 'rtl';\n var mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n var compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n\n if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n var _stickyRef$current;\n\n setScrollTarget(compareTarget);\n forceScroll(mergedScrollLeft, scrollHeaderRef.current);\n forceScroll(mergedScrollLeft, scrollBodyRef.current);\n forceScroll(mergedScrollLeft, scrollSummaryRef.current);\n forceScroll(mergedScrollLeft, (_stickyRef$current = stickyRef.current) === null || _stickyRef$current === void 0 ? void 0 : _stickyRef$current.setScrollLeft);\n }\n\n if (currentTarget) {\n var scrollWidth = currentTarget.scrollWidth,\n clientWidth = currentTarget.clientWidth; // There is no space to scroll\n\n if (scrollWidth === clientWidth) {\n setPingedLeft(false);\n setPingedRight(false);\n return;\n }\n\n if (isRTL) {\n setPingedLeft(-mergedScrollLeft < scrollWidth - clientWidth);\n setPingedRight(-mergedScrollLeft > 0);\n } else {\n setPingedLeft(mergedScrollLeft > 0);\n setPingedRight(mergedScrollLeft < scrollWidth - clientWidth);\n }\n }\n };\n\n var triggerOnScroll = function triggerOnScroll() {\n if (horizonScroll && scrollBodyRef.current) {\n onScroll({\n currentTarget: scrollBodyRef.current\n });\n } else {\n setPingedLeft(false);\n setPingedRight(false);\n }\n };\n\n var onFullTableResize = function onFullTableResize(_ref4) {\n var width = _ref4.width;\n\n if (width !== componentWidth) {\n triggerOnScroll();\n setComponentWidth(fullTableRef.current ? fullTableRef.current.offsetWidth : width);\n }\n }; // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\n\n\n var mounted = React.useRef(false);\n React.useEffect(function () {\n // onFullTableResize will be trigger once when ResizeObserver is mounted\n // This will reduce one duplicated triggerOnScroll time\n if (mounted.current) {\n triggerOnScroll();\n }\n }, [horizonScroll, data, columns.length]);\n React.useEffect(function () {\n mounted.current = true;\n }, []); // ===================== Effects ======================\n\n var _React$useState9 = React.useState(0),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n scrollbarSize = _React$useState10[0],\n setScrollbarSize = _React$useState10[1];\n\n var _React$useState11 = React.useState(true),\n _React$useState12 = _slicedToArray(_React$useState11, 2),\n supportSticky = _React$useState12[0],\n setSupportSticky = _React$useState12[1]; // Only IE not support, we mark as support first\n\n\n React.useEffect(function () {\n if (scrollBodyRef.current instanceof Element) {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyRef.current).width);\n } else {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyContainerRef.current).width);\n }\n\n setSupportSticky(isStyleSupport('position', 'sticky'));\n }, []); // ================== INTERNAL HOOKS ==================\n\n React.useEffect(function () {\n if (internalHooks === INTERNAL_HOOKS && internalRefs) {\n internalRefs.body.current = scrollBodyRef.current;\n }\n }); // ====================== Render ======================\n\n var TableComponent = getComponent(['table'], 'table'); // Table layout\n\n var mergedTableLayout = React.useMemo(function () {\n if (tableLayout) {\n return tableLayout;\n } // https://github.com/ant-design/ant-design/issues/25227\n // When scroll.x is max-content, no need to fix table layout\n // it's width should stretch out to fit content\n\n\n if (fixColumn) {\n return (scroll === null || scroll === void 0 ? void 0 : scroll.x) === 'max-content' ? 'auto' : 'fixed';\n }\n\n if (fixHeader || isSticky || flattenColumns.some(function (_ref5) {\n var ellipsis = _ref5.ellipsis;\n return ellipsis;\n })) {\n return 'fixed';\n }\n\n return 'auto';\n }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n var groupTableNode; // Header props\n\n var headerProps = {\n colWidths: colWidths,\n columCount: flattenColumns.length,\n stickyOffsets: stickyOffsets,\n onHeaderRow: onHeaderRow,\n fixHeader: fixHeader,\n scroll: scroll\n }; // Empty\n\n var emptyNode = React.useMemo(function () {\n if (hasData) {\n return null;\n }\n\n if (typeof emptyText === 'function') {\n return emptyText();\n }\n\n return emptyText;\n }, [hasData, emptyText]); // Body\n\n var bodyTable = /*#__PURE__*/React.createElement(Body, {\n data: mergedData,\n measureColumnWidth: fixHeader || horizonScroll || isSticky,\n expandedKeys: mergedExpandedKeys,\n rowExpandable: rowExpandable,\n getRowKey: getRowKey,\n onRow: onRow,\n emptyNode: emptyNode,\n childrenColumnName: mergedChildrenColumnName\n });\n var bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: flattenColumns.map(function (_ref6) {\n var width = _ref6.width;\n return width;\n }),\n columns: flattenColumns\n });\n var customizeScrollBody = getComponent(['body']);\n\n if (process.env.NODE_ENV !== 'production' && typeof customizeScrollBody === 'function' && hasData && !fixHeader) {\n warning(false, '`components.body` with render props is only work on `scroll.y`.');\n }\n\n if (fixHeader || isSticky) {\n // >>>>>> Fixed Header\n var bodyContent;\n\n if (typeof customizeScrollBody === 'function') {\n bodyContent = customizeScrollBody(mergedData, {\n scrollbarSize: scrollbarSize,\n ref: scrollBodyRef,\n onScroll: onScroll\n });\n headerProps.colWidths = flattenColumns.map(function (_ref7, index) {\n var width = _ref7.width;\n var colWidth = index === columns.length - 1 ? width - scrollbarSize : width;\n\n if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n return colWidth;\n }\n\n warning(false, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n return 0;\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n onScroll: onScroll,\n ref: scrollBodyRef,\n className: classNames(\"\".concat(prefixCls, \"-body\"))\n }, /*#__PURE__*/React.createElement(TableComponent, {\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, bodyColGroup, bodyTable, !fixFooter && summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns\n }, summaryNode)));\n } // Fixed holder share the props\n\n\n var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n noData: !mergedData.length,\n maxContentScroll: horizonScroll && scroll.x === 'max-content'\n }, headerProps), columnContext), {}, {\n direction: direction,\n stickyClassName: stickyClassName,\n onScroll: onScroll\n });\n\n groupTableNode = /*#__PURE__*/React.createElement(React.Fragment, null, showHeader !== false && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyTopOffset: offsetHeader,\n className: \"\".concat(prefixCls, \"-header\"),\n ref: scrollHeaderRef\n }), function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode));\n }), bodyContent, fixFooter && fixFooter !== 'top' && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyBottomOffset: offsetSummary,\n className: \"\".concat(prefixCls, \"-summary\"),\n ref: scrollSummaryRef\n }), function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode);\n }), isSticky && /*#__PURE__*/React.createElement(StickyScrollBar, {\n ref: stickyRef,\n offsetScroll: offsetScroll,\n scrollBodyRef: scrollBodyRef,\n onScroll: onScroll,\n container: container\n }));\n } else {\n // >>>>>> Unique table\n groupTableNode = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n className: classNames(\"\".concat(prefixCls, \"-content\")),\n onScroll: onScroll,\n ref: scrollBodyRef\n }, /*#__PURE__*/React.createElement(TableComponent, {\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, bodyColGroup, showHeader !== false && /*#__PURE__*/React.createElement(Header, _extends({}, headerProps, columnContext)), bodyTable, summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns\n }, summaryNode)));\n }\n\n var ariaProps = pickAttrs(props, {\n aria: true,\n data: true\n });\n var fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-right\"), pingedRight), _defineProperty(_classNames, \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), _defineProperty(_classNames, \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right'), _classNames)),\n style: style,\n id: id,\n ref: fullTableRef\n }, ariaProps), /*#__PURE__*/React.createElement(MemoTableContent, {\n pingLeft: pingedLeft,\n pingRight: pingedRight,\n props: _objectSpread(_objectSpread({}, props), {}, {\n stickyOffsets: stickyOffsets,\n mergedExpandedKeys: mergedExpandedKeys\n })\n }, title && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-title\")\n }, title(mergedData)), /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollBodyContainerRef,\n className: \"\".concat(prefixCls, \"-container\")\n }, groupTableNode), footer && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-footer\")\n }, footer(mergedData))));\n\n if (horizonScroll) {\n fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onFullTableResize\n }, fullTable);\n }\n\n var TableContextValue = React.useMemo(function () {\n return {\n prefixCls: prefixCls,\n getComponent: getComponent,\n scrollbarSize: scrollbarSize,\n direction: direction,\n fixedInfoList: flattenColumns.map(function (_, colIndex) {\n return getCellFixedInfo(colIndex, colIndex, flattenColumns, stickyOffsets, direction);\n }),\n isSticky: isSticky\n };\n }, [prefixCls, getComponent, scrollbarSize, direction, flattenColumns, stickyOffsets, isSticky]);\n var BodyContextValue = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, columnContext), {}, {\n tableLayout: mergedTableLayout,\n rowClassName: rowClassName,\n expandedRowClassName: expandedRowClassName,\n expandIcon: mergedExpandIcon,\n expandableType: expandableType,\n expandRowByClick: expandRowByClick,\n expandedRowRender: expandedRowRender,\n onTriggerExpand: onTriggerExpand,\n expandIconColumnIndex: expandIconColumnIndex,\n indentSize: indentSize,\n allColumnsFixedLeft: columnContext.flattenColumns.every(function (col) {\n return col.fixed === 'left';\n })\n });\n }, [columnContext, mergedTableLayout, rowClassName, expandedRowClassName, mergedExpandIcon, expandableType, expandRowByClick, expandedRowRender, onTriggerExpand, expandIconColumnIndex, indentSize]);\n var ExpandedRowContextValue = React.useMemo(function () {\n return {\n componentWidth: componentWidth,\n fixHeader: fixHeader,\n fixColumn: fixColumn,\n horizonScroll: horizonScroll\n };\n }, [componentWidth, fixHeader, fixColumn, horizonScroll]);\n var ResizeContextValue = React.useMemo(function () {\n return {\n onColumnResize: onColumnResize\n };\n }, [onColumnResize]);\n return /*#__PURE__*/React.createElement(StickyContext.Provider, {\n value: supportSticky\n }, /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: TableContextValue\n }, /*#__PURE__*/React.createElement(BodyContext.Provider, {\n value: BodyContextValue\n }, /*#__PURE__*/React.createElement(ExpandedRowContext.Provider, {\n value: ExpandedRowContextValue\n }, /*#__PURE__*/React.createElement(ResizeContext.Provider, {\n value: ResizeContextValue\n }, fullTable)))));\n}\n\nTable.EXPAND_COLUMN = EXPAND_COLUMN;\nTable.Column = Column;\nTable.ColumnGroup = ColumnGroup;\nTable.Summary = FooterComponents;\nTable.defaultProps = {\n rowKey: 'key',\n prefixCls: 'rc-table',\n emptyText: function emptyText() {\n return 'No Data';\n }\n};\nexport default Table;","export var EXPAND_COLUMN = {};","import * as React from 'react';\nvar BodyContext = /*#__PURE__*/React.createContext(null);\nexport default BodyContext;","import { createContext } from '../ContextSelector';\nvar HoverContext = createContext();\nexport default HoverContext;","import * as React from 'react';\nvar PerfContext = /*#__PURE__*/React.createContext({\n renderWithProps: false\n});\nexport default PerfContext;","import * as React from 'react'; // Tell cell that browser support sticky\n\nvar StickyContext = /*#__PURE__*/React.createContext(false);\nexport default StickyContext;","import * as React from 'react';\nvar TableContext = /*#__PURE__*/React.createContext(null);\nexport default TableContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"],\n _excluded2 = [\"fixed\"];\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { INTERNAL_COL_DEFINE } from '../utils/legacyUtil';\nimport { EXPAND_COLUMN } from '../constant';\nexport function convertChildrenToColumns(children) {\n return toArray(children).filter(function (node) {\n return /*#__PURE__*/React.isValidElement(node);\n }).map(function (_ref) {\n var key = _ref.key,\n props = _ref.props;\n\n var nodeChildren = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var column = _objectSpread({\n key: key\n }, restProps);\n\n if (nodeChildren) {\n column.children = convertChildrenToColumns(nodeChildren);\n }\n\n return column;\n });\n}\n\nfunction flatColumns(columns) {\n return columns.reduce(function (list, column) {\n var fixed = column.fixed; // Convert `fixed='true'` to `fixed='left'` instead\n\n var parsedFixed = fixed === true ? 'left' : fixed;\n var subColumns = column.children;\n\n if (subColumns && subColumns.length > 0) {\n return [].concat(_toConsumableArray(list), _toConsumableArray(flatColumns(subColumns).map(function (subColum) {\n return _objectSpread({\n fixed: parsedFixed\n }, subColum);\n })));\n }\n\n return [].concat(_toConsumableArray(list), [_objectSpread(_objectSpread({}, column), {}, {\n fixed: parsedFixed\n })]);\n }, []);\n}\n\nfunction warningFixed(flattenColumns) {\n var allFixLeft = true;\n\n for (var i = 0; i < flattenColumns.length; i += 1) {\n var col = flattenColumns[i];\n\n if (allFixLeft && col.fixed !== 'left') {\n allFixLeft = false;\n } else if (!allFixLeft && col.fixed === 'left') {\n warning(false, \"Index \".concat(i - 1, \" of `columns` missing `fixed='left'` prop.\"));\n break;\n }\n }\n\n var allFixRight = true;\n\n for (var _i = flattenColumns.length - 1; _i >= 0; _i -= 1) {\n var _col = flattenColumns[_i];\n\n if (allFixRight && _col.fixed !== 'right') {\n allFixRight = false;\n } else if (!allFixRight && _col.fixed === 'right') {\n warning(false, \"Index \".concat(_i + 1, \" of `columns` missing `fixed='right'` prop.\"));\n break;\n }\n }\n}\n\nfunction revertForRtl(columns) {\n return columns.map(function (column) {\n var fixed = column.fixed,\n restProps = _objectWithoutProperties(column, _excluded2); // Convert `fixed='left'` to `fixed='right'` instead\n\n\n var parsedFixed = fixed;\n\n if (fixed === 'left') {\n parsedFixed = 'right';\n } else if (fixed === 'right') {\n parsedFixed = 'left';\n }\n\n return _objectSpread({\n fixed: parsedFixed\n }, restProps);\n });\n}\n/**\n * Parse `columns` & `children` into `columns`.\n */\n\n\nfunction useColumns(_ref2, transformColumns) {\n var prefixCls = _ref2.prefixCls,\n columns = _ref2.columns,\n children = _ref2.children,\n expandable = _ref2.expandable,\n expandedKeys = _ref2.expandedKeys,\n columnTitle = _ref2.columnTitle,\n getRowKey = _ref2.getRowKey,\n onTriggerExpand = _ref2.onTriggerExpand,\n expandIcon = _ref2.expandIcon,\n rowExpandable = _ref2.rowExpandable,\n expandIconColumnIndex = _ref2.expandIconColumnIndex,\n direction = _ref2.direction,\n expandRowByClick = _ref2.expandRowByClick,\n columnWidth = _ref2.columnWidth,\n fixed = _ref2.fixed;\n var baseColumns = React.useMemo(function () {\n return columns || convertChildrenToColumns(children);\n }, [columns, children]); // ========================== Expand ==========================\n\n var withExpandColumns = React.useMemo(function () {\n if (expandable) {\n var _expandColumn;\n\n var cloneColumns = baseColumns.slice(); // >>> Warning if use `expandIconColumnIndex`\n\n if (process.env.NODE_ENV !== 'production' && expandIconColumnIndex >= 0) {\n warning(false, '`expandIconColumnIndex` is deprecated. Please use `Table.EXPAND_COLUMN` in `columns` instead.');\n } // >>> Insert expand column if not exist\n\n\n if (!cloneColumns.includes(EXPAND_COLUMN)) {\n var expandColIndex = expandIconColumnIndex || 0;\n\n if (expandColIndex >= 0) {\n cloneColumns.splice(expandColIndex, 0, EXPAND_COLUMN);\n }\n } // >>> Deduplicate additional expand column\n\n\n if (process.env.NODE_ENV !== 'production' && cloneColumns.filter(function (c) {\n return c === EXPAND_COLUMN;\n }).length > 1) {\n warning(false, 'There exist more than one `EXPAND_COLUMN` in `columns`.');\n }\n\n var expandColumnIndex = cloneColumns.indexOf(EXPAND_COLUMN);\n cloneColumns = cloneColumns.filter(function (column, index) {\n return column !== EXPAND_COLUMN || index === expandColumnIndex;\n }); // >>> Check if expand column need to fixed\n\n var prevColumn = baseColumns[expandColumnIndex];\n var fixedColumn;\n\n if ((fixed === 'left' || fixed) && !expandIconColumnIndex) {\n fixedColumn = 'left';\n } else if ((fixed === 'right' || fixed) && expandIconColumnIndex === baseColumns.length) {\n fixedColumn = 'right';\n } else {\n fixedColumn = prevColumn ? prevColumn.fixed : null;\n } // >>> Create expandable column\n\n\n var expandColumn = (_expandColumn = {}, _defineProperty(_expandColumn, INTERNAL_COL_DEFINE, {\n className: \"\".concat(prefixCls, \"-expand-icon-col\"),\n columnType: 'EXPAND_COLUMN'\n }), _defineProperty(_expandColumn, \"title\", columnTitle), _defineProperty(_expandColumn, \"fixed\", fixedColumn), _defineProperty(_expandColumn, \"className\", \"\".concat(prefixCls, \"-row-expand-icon-cell\")), _defineProperty(_expandColumn, \"width\", columnWidth), _defineProperty(_expandColumn, \"render\", function render(_, record, index) {\n var rowKey = getRowKey(record, index);\n var expanded = expandedKeys.has(rowKey);\n var recordExpandable = rowExpandable ? rowExpandable(record) : true;\n var icon = expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: recordExpandable,\n record: record,\n onExpand: onTriggerExpand\n });\n\n if (expandRowByClick) {\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: function onClick(e) {\n return e.stopPropagation();\n }\n }, icon);\n }\n\n return icon;\n }), _expandColumn);\n return cloneColumns.map(function (col) {\n return col === EXPAND_COLUMN ? expandColumn : col;\n });\n }\n\n if (process.env.NODE_ENV !== 'production' && baseColumns.includes(EXPAND_COLUMN)) {\n warning(false, '`expandable` is not config but there exist `EXPAND_COLUMN` in `columns`.');\n }\n\n return baseColumns.filter(function (col) {\n return col !== EXPAND_COLUMN;\n });\n }, [expandable, baseColumns, getRowKey, expandedKeys, expandIcon, direction]); // ========================= Transform ========================\n\n var mergedColumns = React.useMemo(function () {\n var finalColumns = withExpandColumns;\n\n if (transformColumns) {\n finalColumns = transformColumns(finalColumns);\n } // Always provides at least one column for table display\n\n\n if (!finalColumns.length) {\n finalColumns = [{\n render: function render() {\n return null;\n }\n }];\n }\n\n return finalColumns;\n }, [transformColumns, withExpandColumns, direction]); // ========================== Flatten =========================\n\n var flattenColumns = React.useMemo(function () {\n if (direction === 'rtl') {\n return revertForRtl(flatColumns(mergedColumns));\n }\n\n return flatColumns(mergedColumns);\n }, [mergedColumns, direction]); // Only check out of production since it's waste for each render\n\n if (process.env.NODE_ENV !== 'production') {\n warningFixed(direction === 'rtl' ? flattenColumns.slice().reverse() : flattenColumns);\n }\n\n return [mergedColumns, flattenColumns];\n}\n\nexport default useColumns;","import Table from './Table';\nimport { FooterComponents as Summary } from './Footer';\nimport Column from './sugar/Column';\nimport ColumnGroup from './sugar/ColumnGroup';\nimport { INTERNAL_COL_DEFINE } from './utils/legacyUtil';\nexport { Summary, Column, ColumnGroup, INTERNAL_COL_DEFINE };\nexport default Table;","export function getCellFixedInfo(colStart, colEnd, columns, stickyOffsets, direction) {\n var startColumn = columns[colStart] || {};\n var endColumn = columns[colEnd] || {};\n var fixLeft;\n var fixRight;\n\n if (startColumn.fixed === 'left') {\n fixLeft = stickyOffsets.left[colStart];\n } else if (endColumn.fixed === 'right') {\n fixRight = stickyOffsets.right[colEnd];\n }\n\n var lastFixLeft = false;\n var firstFixRight = false;\n var lastFixRight = false;\n var firstFixLeft = false;\n var nextColumn = columns[colEnd + 1];\n var prevColumn = columns[colStart - 1];\n\n if (direction === 'rtl') {\n if (fixLeft !== undefined) {\n var prevFixLeft = prevColumn && prevColumn.fixed === 'left';\n firstFixLeft = !prevFixLeft;\n } else if (fixRight !== undefined) {\n var nextFixRight = nextColumn && nextColumn.fixed === 'right';\n lastFixRight = !nextFixRight;\n }\n } else if (fixLeft !== undefined) {\n var nextFixLeft = nextColumn && nextColumn.fixed === 'left';\n lastFixLeft = !nextFixLeft;\n } else if (fixRight !== undefined) {\n var prevFixRight = prevColumn && prevColumn.fixed === 'right';\n firstFixRight = !prevFixRight;\n }\n\n return {\n fixLeft: fixLeft,\n fixRight: fixRight,\n lastFixLeft: lastFixLeft,\n firstFixRight: firstFixRight,\n lastFixRight: lastFixRight,\n firstFixLeft: firstFixLeft,\n isSticky: stickyOffsets.isSticky\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"expandable\"];\nimport warning from \"rc-util/es/warning\";\nexport var INTERNAL_COL_DEFINE = 'RC_TABLE_INTERNAL_COL_DEFINE';\nexport function getExpandableProps(props) {\n var expandable = props.expandable,\n legacyExpandableConfig = _objectWithoutProperties(props, _excluded);\n\n var config;\n\n if ('expandable' in props) {\n config = _objectSpread(_objectSpread({}, legacyExpandableConfig), expandable);\n } else {\n if (process.env.NODE_ENV !== 'production' && ['indentSize', 'expandedRowKeys', 'defaultExpandedRowKeys', 'defaultExpandAllRows', 'expandedRowRender', 'expandRowByClick', 'expandIcon', 'onExpand', 'onExpandedRowsChange', 'expandedRowClassName', 'expandIconColumnIndex', 'showExpandColumn'].some(function (prop) {\n return prop in props;\n })) {\n warning(false, 'expanded related props have been moved into `expandable`.');\n }\n\n config = legacyExpandableConfig;\n }\n\n if (config.showExpandColumn === false) {\n config.expandIconColumnIndex = -1;\n }\n\n return config;\n}","var INTERNAL_KEY_PREFIX = 'RC_TABLE_KEY';\n\nfunction toArray(arr) {\n if (arr === undefined || arr === null) {\n return [];\n }\n\n return Array.isArray(arr) ? arr : [arr];\n}\n\nexport function getPathValue(record, path) {\n // Skip if path is empty\n if (!path && typeof path !== 'number') {\n return record;\n }\n\n var pathList = toArray(path);\n var current = record;\n\n for (var i = 0; i < pathList.length; i += 1) {\n if (!current) {\n return null;\n }\n\n var prop = pathList[i];\n current = current[prop];\n }\n\n return current;\n}\nexport function getColumnsKey(columns) {\n var columnKeys = [];\n var keys = {};\n columns.forEach(function (column) {\n var _ref = column || {},\n key = _ref.key,\n dataIndex = _ref.dataIndex;\n\n var mergedKey = key || toArray(dataIndex).join('-') || INTERNAL_KEY_PREFIX;\n\n while (keys[mergedKey]) {\n mergedKey = \"\".concat(mergedKey, \"_next\");\n }\n\n keys[mergedKey] = true;\n columnKeys.push(mergedKey);\n });\n return columnKeys;\n}\nexport function validateValue(val) {\n return val !== null && val !== undefined;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext(null);","import * as React from 'react';\nimport classNames from 'classnames';\nvar TabPane = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var prefixCls = _ref.prefixCls,\n className = _ref.className,\n style = _ref.style,\n id = _ref.id,\n active = _ref.active,\n tabKey = _ref.tabKey,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id && \"\".concat(id, \"-panel-\").concat(tabKey),\n role: \"tabpanel\",\n tabIndex: active ? 0 : -1,\n \"aria-labelledby\": id && \"\".concat(id, \"-tab-\").concat(tabKey),\n \"aria-hidden\": !active,\n style: style,\n className: classNames(prefixCls, active && \"\".concat(prefixCls, \"-active\"), className),\n ref: ref\n }, children);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n TabPane.displayName = 'TabPane';\n}\n\nexport default TabPane;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"key\", \"forceRender\", \"style\", \"className\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport TabContext from '../TabContext';\nimport TabPane from './TabPane';\nexport default function TabPanelList(_ref) {\n var id = _ref.id,\n activeKey = _ref.activeKey,\n animated = _ref.animated,\n tabPosition = _ref.tabPosition,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane;\n\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 tabPanePrefixCls = \"\".concat(prefixCls, \"-tabpane\");\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content-holder\"))\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), \"\".concat(prefixCls, \"-content-\").concat(tabPosition), _defineProperty({}, \"\".concat(prefixCls, \"-content-animated\"), tabPaneAnimated))\n }, tabs.map(function (_ref2) {\n var key = _ref2.key,\n forceRender = _ref2.forceRender,\n paneStyle = _ref2.style,\n paneClassName = _ref2.className,\n restTabProps = _objectWithoutProperties(_ref2, _excluded);\n\n var active = key === activeKey;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n key: key,\n visible: active,\n forceRender: forceRender,\n removeOnLeave: !!destroyInactiveTabPane,\n leavedClassName: \"\".concat(tabPanePrefixCls, \"-hidden\")\n }, animated.tabPaneMotion), function (_ref3, ref) {\n var motionStyle = _ref3.style,\n motionClassName = _ref3.className;\n return /*#__PURE__*/React.createElement(TabPane, _extends({}, restTabProps, {\n prefixCls: tabPanePrefixCls,\n id: id,\n tabKey: key,\n animated: tabPaneAnimated,\n active: active,\n style: _objectSpread(_objectSpread({}, paneStyle), motionStyle),\n className: classNames(paneClassName, motionClassName),\n ref: ref\n }));\n });\n })));\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","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 //be compatible with react 18 StrictMode in dev\n removedRef.current = false;\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 label = _ref$tab.label,\n disabled = _ref$tab.disabled,\n closeIcon = _ref$tab.closeIcon,\n closable = _ref.closable,\n renderWrapper = _ref.renderWrapper,\n removeAriaLabel = _ref.removeAriaLabel,\n editable = _ref.editable,\n onClick = _ref.onClick,\n 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 }, label), removable && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(tabPrefix, \"-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e);\n }\n }, closeIcon || editable.removeIcon || '×'));\n return renderWrapper ? renderWrapper(node) : node;\n}\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 && tabContentSize < 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 removeAriaLabel = _ref.removeAriaLabel,\n onTabClick = _ref.onTabClick,\n getPopupContainer = _ref.getPopupContainer,\n popupClassName = _ref.popupClassName; // ======================== 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 prefixCls: \"\".concat(dropdownPrefix, \"-menu\"),\n id: popupId,\n tabIndex: -1,\n role: \"listbox\",\n \"aria-activedescendant\": selectedItemId,\n selectedKeys: [selectedKey],\n \"aria-label\": dropdownAriaLabel !== undefined ? dropdownAriaLabel : 'expanded dropdown'\n }, tabs.map(function (tab) {\n var removable = editable && tab.closable !== false && !tab.disabled;\n return /*#__PURE__*/React.createElement(MenuItem, {\n key: tab.key,\n id: \"\".concat(popupId, \"-\").concat(tab.key),\n role: \"option\",\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(tab.key),\n disabled: tab.disabled\n }, /*#__PURE__*/React.createElement(\"span\", null, tab.label), removable && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(dropdownPrefix, \"-menu-item-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e, tab.key);\n }\n }, tab.closeIcon || editable.removeIcon || '×'));\n }));\n\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: tabs.length ? open : false,\n transitionName: moreTransitionName,\n onVisibleChange: setOpen,\n overlayClassName: classNames(overlayClassName, popupClassName),\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n getPopupContainer: getPopupContainer\n }, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-more\"),\n style: moreStyle,\n tabIndex: -1,\n \"aria-hidden\": \"true\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": popupId,\n id: \"\".concat(id, \"-more\"),\n \"aria-expanded\": open,\n onKeyDown: onKeyDown\n }, moreIcon));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-nav-operations\"), className),\n style: style,\n ref: ref\n }, moreNode, /*#__PURE__*/React.createElement(AddButton, {\n prefixCls: prefixCls,\n locale: locale,\n editable: editable\n }));\n}\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 _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(null),\n _useState6 = _slicedToArray(_useState5, 2),\n wrapperWidth = _useState6[0],\n setWrapperWidth = _useState6[1];\n\n var _useState7 = useState(null),\n _useState8 = _slicedToArray(_useState7, 2),\n wrapperHeight = _useState8[0],\n setWrapperHeight = _useState8[1];\n\n var _useState9 = useState(0),\n _useState10 = _slicedToArray(_useState9, 2),\n addWidth = _useState10[0],\n setAddWidth = _useState10[1];\n\n var _useState11 = useState(0),\n _useState12 = _slicedToArray(_useState11, 2),\n addHeight = _useState12[0],\n setAddHeight = _useState12[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 _useState13 = useState(),\n _useState14 = _slicedToArray(_useState13, 2),\n lockAnimation = _useState14[0],\n setLockAnimation = _useState14[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: wrapperScrollWidth,\n height: wrapperScrollHeight\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, _tabListRef$current, _tabListRef$current2; // 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 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); // 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 _useState15 = useState(),\n _useState16 = _slicedToArray(_useState15, 2),\n inkStyle = _useState16[0],\n setInkStyle = _useState16[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 _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"renderTabBar\"],\n _excluded2 = [\"label\", \"key\"];\nimport React from \"react\"; // zombieJ: To compatible with `renderTabBar` usage.\n\nimport TabNavList from '.';\nimport { useContext } from 'react';\nimport TabContext from '../TabContext';\nimport TabPane from '../TabPanelList/TabPane'; // We have to create a TabNavList components.\n\nexport default function TabNavListWrapper(_ref) {\n var renderTabBar = _ref.renderTabBar,\n restProps = _objectWithoutProperties(_ref, _excluded);\n\n var _useContext = useContext(TabContext),\n tabs = _useContext.tabs;\n\n if (renderTabBar) {\n var tabNavBarProps = _objectSpread(_objectSpread({}, restProps), {}, {\n // Legacy support. We do not use this actually\n panes: tabs.map(function (_ref2) {\n var label = _ref2.label,\n key = _ref2.key,\n restTabProps = _objectWithoutProperties(_ref2, _excluded2);\n\n return /*#__PURE__*/React.createElement(TabPane, _extends({\n tab: label,\n key: key,\n tabKey: key\n }, restTabProps));\n })\n });\n\n return renderTabBar(tabNavBarProps, TabNavList);\n }\n\n return /*#__PURE__*/React.createElement(TabNavList, restProps);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"items\", \"direction\", \"activeKey\", \"defaultActiveKey\", \"editable\", \"animated\", \"tabPosition\", \"tabBarGutter\", \"tabBarStyle\", \"tabBarExtraContent\", \"locale\", \"moreIcon\", \"moreTransitionName\", \"destroyInactiveTabPane\", \"renderTabBar\", \"onChange\", \"onTabClick\", \"onTabScroll\", \"getPopupContainer\", \"popupClassName\"]; // 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 isMobile from \"rc-util/es/isMobile\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport TabPanelList from './TabPanelList';\nimport TabContext from './TabContext';\nimport TabNavListWrapper from './TabNavList/Wrapper';\nimport useAnimateConfig from './hooks/useAnimateConfig';\n/**\n * 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 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 items = _ref.items,\n direction = _ref.direction,\n activeKey = _ref.activeKey,\n defaultActiveKey = _ref.defaultActiveKey,\n editable = _ref.editable,\n animated = _ref.animated,\n _ref$tabPosition = _ref.tabPosition,\n tabPosition = _ref$tabPosition === void 0 ? 'top' : _ref$tabPosition,\n tabBarGutter = _ref.tabBarGutter,\n tabBarStyle = _ref.tabBarStyle,\n tabBarExtraContent = _ref.tabBarExtraContent,\n locale = _ref.locale,\n moreIcon = _ref.moreIcon,\n moreTransitionName = _ref.moreTransitionName,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane,\n renderTabBar = _ref.renderTabBar,\n onChange = _ref.onChange,\n onTabClick = _ref.onTabClick,\n onTabScroll = _ref.onTabScroll,\n getPopupContainer = _ref.getPopupContainer,\n popupClassName = _ref.popupClassName,\n restProps = _objectWithoutProperties(_ref, _excluded);\n\n var tabs = React.useMemo(function () {\n return (items || []).filter(function (item) {\n return item && _typeof(item) === 'object' && 'key' in item;\n });\n }, [items]);\n var rtl = direction === 'rtl';\n var mergedAnimated = useAnimateConfig(animated); // ======================== Mobile ========================\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]; // 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 var isActiveChanged = key !== mergedActiveKey;\n setMergedActiveKey(key);\n\n if (isActiveChanged) {\n onChange === null || onChange === void 0 ? void 0 : onChange(key);\n }\n } // ======================== Render ========================\n\n\n var sharedProps = {\n id: mergedId,\n activeKey: mergedActiveKey,\n animated: mergedAnimated,\n tabPosition: tabPosition,\n rtl: rtl,\n mobile: mobile\n };\n var tabNavBar;\n\n var tabNavBarProps = _objectSpread(_objectSpread({}, sharedProps), {}, {\n editable: editable,\n locale: locale,\n moreIcon: moreIcon,\n moreTransitionName: moreTransitionName,\n tabBarGutter: tabBarGutter,\n onTabClick: onInternalTabClick,\n onTabScroll: onTabScroll,\n extra: tabBarExtraContent,\n style: tabBarStyle,\n panes: null,\n getPopupContainer: getPopupContainer,\n popupClassName: popupClassName\n });\n\n return /*#__PURE__*/React.createElement(TabContext.Provider, {\n value: {\n tabs: tabs,\n prefixCls: prefixCls\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n id: id,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(tabPosition), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-mobile\"), mobile), _defineProperty(_classNames, \"\".concat(prefixCls, \"-editable\"), editable), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), rtl), _classNames), className)\n }, restProps), tabNavBar, /*#__PURE__*/React.createElement(TabNavListWrapper, _extends({}, tabNavBarProps, {\n renderTabBar: renderTabBar\n })), /*#__PURE__*/React.createElement(TabPanelList, _extends({\n destroyInactiveTabPane: destroyInactiveTabPane\n }, sharedProps, {\n animated: mergedAnimated\n }))));\n}\n\nvar ForwardTabs = /*#__PURE__*/React.forwardRef(Tabs);\n\nif (process.env.NODE_ENV !== 'production') {\n ForwardTabs.displayName = 'Tabs';\n}\n\nexport default ForwardTabs;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nexport default function useAnimateConfig() {\n var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n inkBar: true,\n tabPane: false\n };\n var mergedAnimated;\n\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: false\n };\n } else {\n mergedAnimated = _objectSpread({\n inkBar: true\n }, _typeof(animated) === 'object' ? animated : {});\n } // Enable tabPane animation if provide motion\n\n\n if (mergedAnimated.tabPaneMotion && mergedAnimated.tabPane === undefined) {\n mergedAnimated.tabPane = true;\n }\n\n if (!mergedAnimated.tabPaneMotion && mergedAnimated.tabPane) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`animated.tabPane` is true but `animated.tabPaneMotion` is not provided. Motion will not work.');\n }\n\n mergedAnimated.tabPane = false;\n }\n\n return mergedAnimated;\n}","import Tabs from './Tabs';\nexport default Tabs;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\nvar HIDDEN_TEXTAREA_STYLE = \"\\n min-height:0 !important;\\n max-height:none !important;\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important\\n\";\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'font-variant', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing', 'word-break'];\nvar computedStyleCache = {};\nvar hiddenTextarea;\nexport function calculateNodeStyling(node) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var nodeRef = node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n\n var style = window.getComputedStyle(node);\n var boxSizing = style.getPropertyValue('box-sizing') || style.getPropertyValue('-moz-box-sizing') || style.getPropertyValue('-webkit-box-sizing');\n var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n var sizingStyle = SIZING_STYLE.map(function (name) {\n return \"\".concat(name, \":\").concat(style.getPropertyValue(name));\n }).join(';');\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n\n return nodeInfo;\n}\nexport default function calculateNodeHeight(uiTextNode) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var minRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var maxRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tab-index', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n document.body.appendChild(hiddenTextarea);\n } // Fix wrap=\"off\" issue\n // https://github.com/ant-design/ant-design/issues/6577\n\n\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n } // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n\n\n var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n sizingStyle = _calculateNodeStyling.sizingStyle; // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n\n hiddenTextarea.setAttribute('style', \"\".concat(sizingStyle, \";\").concat(HIDDEN_TEXTAREA_STYLE));\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n var minHeight = Number.MIN_SAFE_INTEGER;\n var maxHeight = Number.MAX_SAFE_INTEGER;\n var height = hiddenTextarea.scrollHeight;\n var overflowY;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height += borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height -= paddingSize;\n }\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = ' ';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n\n height = Math.max(minHeight, height);\n }\n\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n\n return {\n height: height,\n minHeight: minHeight,\n maxHeight: maxHeight,\n overflowY: overflowY,\n resize: 'none'\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport omit from \"rc-util/es/omit\";\nimport classNames from 'classnames';\nimport calculateNodeHeight from './calculateNodeHeight';\nimport shallowEqual from 'shallowequal'; // eslint-disable-next-line @typescript-eslint/naming-convention\n\nvar RESIZE_STATUS;\n\n(function (RESIZE_STATUS) {\n RESIZE_STATUS[RESIZE_STATUS[\"NONE\"] = 0] = \"NONE\";\n RESIZE_STATUS[RESIZE_STATUS[\"RESIZING\"] = 1] = \"RESIZING\";\n RESIZE_STATUS[RESIZE_STATUS[\"RESIZED\"] = 2] = \"RESIZED\";\n})(RESIZE_STATUS || (RESIZE_STATUS = {}));\n\nvar ResizableTextArea = /*#__PURE__*/function (_React$Component) {\n _inherits(ResizableTextArea, _React$Component);\n\n var _super = _createSuper(ResizableTextArea);\n\n function ResizableTextArea(props) {\n var _this;\n\n _classCallCheck(this, ResizableTextArea);\n\n _this = _super.call(this, props);\n _this.nextFrameActionId = void 0;\n _this.resizeFrameId = void 0;\n _this.textArea = void 0;\n\n _this.saveTextArea = function (textArea) {\n _this.textArea = textArea;\n };\n\n _this.handleResize = function (size) {\n var resizeStatus = _this.state.resizeStatus;\n var _this$props = _this.props,\n autoSize = _this$props.autoSize,\n onResize = _this$props.onResize;\n\n if (resizeStatus !== RESIZE_STATUS.NONE) {\n return;\n }\n\n if (typeof onResize === 'function') {\n onResize(size);\n }\n\n if (autoSize) {\n _this.resizeOnNextFrame();\n }\n };\n\n _this.resizeOnNextFrame = function () {\n cancelAnimationFrame(_this.nextFrameActionId);\n _this.nextFrameActionId = requestAnimationFrame(_this.resizeTextarea);\n };\n\n _this.resizeTextarea = function () {\n var autoSize = _this.props.autoSize;\n\n if (!autoSize || !_this.textArea) {\n return;\n }\n\n var minRows = autoSize.minRows,\n maxRows = autoSize.maxRows;\n var textareaStyles = calculateNodeHeight(_this.textArea, false, minRows, maxRows);\n\n _this.setState({\n textareaStyles: textareaStyles,\n resizeStatus: RESIZE_STATUS.RESIZING\n }, function () {\n cancelAnimationFrame(_this.resizeFrameId);\n _this.resizeFrameId = requestAnimationFrame(function () {\n _this.setState({\n resizeStatus: RESIZE_STATUS.RESIZED\n }, function () {\n _this.resizeFrameId = requestAnimationFrame(function () {\n _this.setState({\n resizeStatus: RESIZE_STATUS.NONE\n });\n\n _this.fixFirefoxAutoScroll();\n });\n });\n });\n });\n };\n\n _this.renderTextArea = function () {\n var _this$props2 = _this.props,\n _this$props2$prefixCl = _this$props2.prefixCls,\n prefixCls = _this$props2$prefixCl === void 0 ? 'rc-textarea' : _this$props2$prefixCl,\n autoSize = _this$props2.autoSize,\n onResize = _this$props2.onResize,\n className = _this$props2.className,\n disabled = _this$props2.disabled;\n var _this$state = _this.state,\n textareaStyles = _this$state.textareaStyles,\n resizeStatus = _this$state.resizeStatus;\n var otherProps = omit(_this.props, ['prefixCls', 'onPressEnter', 'autoSize', 'defaultValue', 'onResize']);\n var cls = classNames(prefixCls, className, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled)); // Fix https://github.com/ant-design/ant-design/issues/6776\n // Make sure it could be reset when using form.getFieldDecorator\n\n if ('value' in otherProps) {\n otherProps.value = otherProps.value || '';\n }\n\n var style = _objectSpread(_objectSpread(_objectSpread({}, _this.props.style), textareaStyles), resizeStatus === RESIZE_STATUS.RESIZING ? // React will warning when mix `overflow` & `overflowY`.\n // We need to define this separately.\n {\n overflowX: 'hidden',\n overflowY: 'hidden'\n } : null);\n\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: _this.handleResize,\n disabled: !(autoSize || onResize)\n }, /*#__PURE__*/React.createElement(\"textarea\", _extends({}, otherProps, {\n className: cls,\n style: style,\n ref: _this.saveTextArea\n })));\n };\n\n _this.state = {\n textareaStyles: {},\n resizeStatus: RESIZE_STATUS.NONE\n };\n return _this;\n }\n\n _createClass(ResizableTextArea, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // Re-render with the new content or new autoSize property then recalculate the height as required.\n if (prevProps.value !== this.props.value || !shallowEqual(prevProps.autoSize, this.props.autoSize)) {\n this.resizeTextarea();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n cancelAnimationFrame(this.nextFrameActionId);\n cancelAnimationFrame(this.resizeFrameId);\n } // https://github.com/ant-design/ant-design/issues/21870\n\n }, {\n key: \"fixFirefoxAutoScroll\",\n value: function fixFirefoxAutoScroll() {\n try {\n if (document.activeElement === this.textArea) {\n var currentStart = this.textArea.selectionStart;\n var currentEnd = this.textArea.selectionEnd;\n this.textArea.setSelectionRange(currentStart, currentEnd);\n }\n } catch (e) {// Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.renderTextArea();\n }\n }]);\n\n return ResizableTextArea;\n}(React.Component);\n\nexport default ResizableTextArea;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport ResizableTextArea from './ResizableTextArea';\n\nvar TextArea = /*#__PURE__*/function (_React$Component) {\n _inherits(TextArea, _React$Component);\n\n var _super = _createSuper(TextArea);\n\n function TextArea(props) {\n var _this;\n\n _classCallCheck(this, TextArea);\n\n _this = _super.call(this, props);\n _this.resizableTextArea = void 0;\n\n _this.focus = function () {\n _this.resizableTextArea.textArea.focus();\n };\n\n _this.saveTextArea = function (resizableTextArea) {\n _this.resizableTextArea = resizableTextArea;\n };\n\n _this.handleChange = function (e) {\n var onChange = _this.props.onChange;\n\n _this.setValue(e.target.value, function () {\n _this.resizableTextArea.resizeTextarea();\n });\n\n if (onChange) {\n onChange(e);\n }\n };\n\n _this.handleKeyDown = function (e) {\n var _this$props = _this.props,\n onPressEnter = _this$props.onPressEnter,\n onKeyDown = _this$props.onKeyDown;\n\n if (e.keyCode === 13 && onPressEnter) {\n onPressEnter(e);\n }\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n };\n\n var value = typeof props.value === 'undefined' || props.value === null ? props.defaultValue : props.value;\n _this.state = {\n value: value\n };\n return _this;\n }\n\n _createClass(TextArea, [{\n key: \"setValue\",\n value: function setValue(value, callback) {\n if (!('value' in this.props)) {\n this.setState({\n value: value\n }, callback);\n }\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.resizableTextArea.textArea.blur();\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ResizableTextArea, _extends({}, this.props, {\n value: this.state.value,\n onKeyDown: this.handleKeyDown,\n onChange: this.handleChange,\n ref: this.saveTextArea\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps) {\n if ('value' in nextProps) {\n return {\n value: nextProps.value\n };\n }\n\n return null;\n }\n }]);\n\n return TextArea;\n}(React.Component);\n\nexport { ResizableTextArea };\nexport default TextArea;","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}"],"names":["_excluded","Cell","_ref2","ref","_ref4","_ref5","_classNames","prefixCls","className","record","index","renderIndex","dataIndex","render","children","_ref2$component","component","Component","colSpan","rowSpan","fixLeft","fixRight","firstFixLeft","lastFixLeft","firstFixRight","lastFixRight","appendNode","_ref2$additionalProps","additionalProps","ellipsis","align","rowType","isSticky","hovering","onHover","cellPrefixCls","concat","perfRecord","supportSticky","allColumnsFixedLeft","_React$useMemo","data","value","returnChildNode","returnCellProps","undefined","renderData","Array","isArray","props","renderWithProps","Math","random","_React$useMemo2","childNode","legacyCellProps","mergedChildNode","_ref3","cellColSpan","cellRowSpan","cellStyle","style","cellClassName","restCellProps","mergedColSpan","mergedRowSpan","fixedStyle","isFixLeft","isFixRight","position","left","right","alignStyle","textAlign","title","_ref","ellipsisConfig","showTitle","toString","getTitleFromCellRenderChildren","componentProps","onMouseEnter","event","_additionalProps$onMo","call","onMouseLeave","_additionalProps$onMo2","RefCell","displayName","comparePropList","MemoCell","prev","next","shouldCellUpdate","every","propName","WrappedCell","_props$additionalProp","_useContextSelector","cxt","isHovering","cellStartRow","startRow","endRow","inHoverRange","createContext","Context","Provider","valueRef","current","_React$useState","getValue","listeners","Set","context","forEach","listener","useContextSelector","holder","selector","eventSelector","_React$useState3","_React$useState4","setValue","add","trigger","delete","nextValue","selectedValue","Summary","Row","_ref$colSpan","_React$useContext","TableContext","direction","_React$useContext2","SummaryContext","scrollColumnIndex","stickyOffsets","flattenColumns","fixedInfo","lastColumnIndex","length","scrollColumn","summaryContext","scrollbar","FooterComponents","_","HeaderRow","rowProps","cells","RowComponent","rowComponent","CellComponent","cellComponent","onHeaderRow","map","cell","column","columnsKey","cellIndex","colStart","colEnd","onHeaderCell","key","columns","getComponent","rows","rootColumns","fillRowCells","colIndex","rowIndex","arguments","currentColIndex","filter","Boolean","subColumns","reduce","total","count","hasSubColumns","push","rowCount","_loop","parseHeaderRows","WrapperComponent","trComponent","thComponent","row","expanded","isEmpty","scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll","contentNode","width","overflow","display","BodyRow","rowKey","rowExpandable","expandedKeys","onRow","_props$indent","indent","childrenColumnName","fixedInfoList","BodyContext","expandableType","expandRowByClick","onTriggerExpand","rowClassName","expandedRowClassName","indentSize","expandIcon","expandedRowRender","expandIconColumnIndex","_React$useState2","expandRended","setExpandRended","has","recordKey","rowSupportExpand","nestExpandable","hasNestChildren","mergedExpandable","onExpandRef","computeRowClassName","onInternalTriggerExpand","apply","expandRowNode","baseRowNode","onClick","_additionalProps$onCl","_len","args","_key","appendCellNode","additionalCellProps","columnClassName","paddingLeft","expandable","onExpand","onCell","expandContent","computedExpandedRowClassName","flatRecord","getRowKey","arr","i","tempArr","MeasureCell","columnKey","onColumnResize","cellRef","offsetWidth","padding","border","height","MeasureRow","fontSize","Collection","onBatchResize","infoList","size","Body","measureColumnWidth","emptyNode","flattenData","temp","item","useFlattenRecords","perfRef","setStartRow","setEndRow","start","end","bodyNode","tdComponent","idx","PerfContext","HoverContext","MemoBody","useLayoutState","defaultState","stateRef","useRef","_useState","useState","forceUpdate","lastPromiseRef","updateBatchRef","useEffect","updater","promise","Promise","resolve","then","prevBatch","prevState","batchUpdater","colWidths","columnCount","useMemo","leftOffsets","rightOffsets","_end","cols","mustInsert","columCount","restAdditionalProps","columnType","unshift","renderExpandIcon","expandClassName","stopPropagation","StickyScrollBar","_scrollBodyRef$curren","_scrollBodyRef$curren2","scrollBodyRef","onScroll","offsetScroll","container","bodyScrollWidth","scrollWidth","bodyWidth","clientWidth","scrollBarWidth","scrollBarRef","_useLayoutState","scrollLeft","isHiddenScrollBar","_useLayoutState2","scrollState","setScrollState","refState","delta","x","isActive","setActive","onMouseUp","onMouseMove","_window","buttons","window","pageX","onContainerScroll","tableOffsetTop","top","tableBottomOffset","offsetHeight","currentClientOffset","document","documentElement","scrollTop","innerHeight","clientHeight","getScrollBarSize","state","setScrollLeft","onMouseUpListener","addEventListener","body","onMouseMoveListener","remove","onScrollListener","onResizeListener","bottom","onMouseDown","persist","preventDefault","transform","defaultContainer","FixedHolder","noData","stickyTopOffset","stickyBottomOffset","stickyClassName","maxContentScroll","combinationScrollBarSize","scrollRef","setScrollRef","element","_scrollRef$current","onWheel","e","currentTarget","deltaX","_scrollRef$current2","removeEventListener","allFlattenColumnsWithWidth","lastColumn","ScrollBarColumn","fixed","columnsWithScrollbar","flattenColumnsWithScrollbar","headerStickyOffsets","mergedColumnWidth","cloneColumns","val","join","useColumnWidth","tableLayout","visibility","EMPTY_DATA","EMPTY_SCROLL_TARGET","INTERNAL_HOOKS","MemoTableContent","pingLeft","pingRight","Table","scroll","footer","summary","id","showHeader","components","emptyText","internalHooks","transformColumns","internalRefs","sticky","mergedData","hasData","path","defaultComponent","expandableConfig","expandedRowKeys","defaultExpandedRowKeys","defaultExpandAllRows","columnTitle","onExpandedRowsChange","mergedExpandIcon","mergedChildrenColumnName","__PARENT_RENDER_ICON__","some","keys","dig","list","findAllChildrenKeys","innerExpandedKeys","setInnerExpandedKeys","mergedExpandedKeys","newExpandedKeys","indexOf","hasKey","scrollXStyle","scrollYStyle","scrollTableStyle","setComponentWidth","_useColumns","useColumns","_useColumns2","columnContext","fullTableRef","scrollHeaderRef","scrollBodyContainerRef","scrollSummaryRef","_React$useState5","_React$useState6","pingedLeft","setPingedLeft","_React$useState7","_React$useState8","pingedRight","setPingedRight","Map","colsWidths","updateColsWidths","pureColWidths","get","y","stickyRef","_useSticky","_ref$offsetHeader","offsetHeader","_ref$offsetSummary","offsetSummary","_ref$offsetScroll","_ref$getContainer","getContainer","useSticky","summaryNode","fixFooter","type","overflowY","maxHeight","overflowX","minWidth","isVisible","widths","newWidths","set","_useTimeoutLock","frameRef","timeoutRef","cleanUp","clearTimeout","newState","setTimeout","useTimeoutLock","_useTimeoutLock2","setScrollTarget","getScrollTarget","forceScroll","target","_stickyRef$current","isRTL","mergedScrollLeft","compareTarget","triggerOnScroll","mounted","_React$useState9","_React$useState10","setScrollbarSize","_React$useState11","_React$useState12","setSupportSticky","Element","groupTableNode","TableComponent","mergedTableLayout","headerProps","bodyTable","bodyColGroup","_ref6","customizeScrollBody","bodyContent","_ref7","colWidth","Number","isNaN","warning","Footer","fixedHolderProps","fixedHolderPassProps","ariaProps","pickAttrs","aria","fullTable","onResize","TableContextValue","BodyContextValue","col","ExpandedRowContextValue","ResizeContextValue","StickyContext","EXPAND_COLUMN","Column","ColumnGroup","defaultProps","_excluded2","convertChildrenToColumns","node","nodeChildren","restProps","flatColumns","parsedFixed","subColum","columnWidth","baseColumns","withExpandColumns","_expandColumn","slice","includes","expandColIndex","splice","expandColumnIndex","fixedColumn","prevColumn","expandColumn","recordExpandable","icon","mergedColumns","finalColumns","revertForRtl","getCellFixedInfo","startColumn","endColumn","nextColumn","INTERNAL_COL_DEFINE","getExpandableProps","config","legacyExpandableConfig","showExpandColumn","INTERNAL_KEY_PREFIX","toArray","getPathValue","pathList","getColumnsKey","columnKeys","mergedKey","validateValue","_extends","Object","assign","bind","source","prototype","hasOwnProperty","this","_defineProperty","obj","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","n","constructor","name","from","test","_slicedToArray","_i","Symbol","iterator","_s","_e","_arr","_n","_d","done","err","TypeError","_typeof","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","active","tabKey","role","tabIndex","TabPanelList","activeKey","animated","tabPosition","destroyInactiveTabPane","TabContext","tabs","tabPaneAnimated","tabPane","tabPanePrefixCls","forceRender","paneStyle","paneClassName","restTabProps","visible","removeOnLeave","leavedClassName","tabPaneMotion","motionStyle","motionClassName","_toConsumableArray","iter","useRaf","callback","rafRef","removedRef","raf","cancel","TabNode","_ref$tab","tab","label","disabled","closeIcon","closable","renderWrapper","removeAriaLabel","editable","onRemove","onFocus","tabPrefix","removable","onInternalClick","onKeyDown","KeyCode","SPACE","ENTER","which","onEdit","removeIcon","DEFAULT_SIZE","AddButton","locale","showAdd","addAriaLabel","addIcon","OperationNode","mobile","_ref$moreIcon","moreIcon","moreTransitionName","tabBarGutter","rtl","onTabClick","getPopupContainer","popupClassName","_useState2","open","setOpen","_useState4","selectedKey","setSelectedKey","popupId","dropdownPrefix","selectedItemId","dropdownAriaLabel","menu","domEvent","selectedKeys","selectOffset","offset","enabledTabs","selectedIndex","findIndex","ele","getElementById","scrollIntoView","moreStyle","order","overlayClassName","moreNode","overlay","transitionName","onVisibleChange","mouseEnterDelay","mouseLeaveDelay","UP","DOWN","ESC","MIN_SWIPE_DISTANCE","STOP_SWIPE_DISTANCE","REFRESH_INTERVAL","SPEED_OFF_MULTIPLE","pow","useSyncState","onChange","newValue","ExtraContent","content","extra","assertExtra","TabNavList","onTabScroll","tabsWrapperRef","tabListRef","operationsRef","innerAddButtonRef","_useRefs2","cacheRefs","useRefs","getBtnRef","removeBtnRef","tabPositionTopOrBottom","_useSyncState2","transformLeft","setTransformLeft","_useSyncState4","transformTop","setTransformTop","wrapperScrollWidth","setWrapperScrollWidth","wrapperScrollHeight","setWrapperScrollHeight","_useState6","wrapperWidth","setWrapperWidth","_useState8","wrapperHeight","setWrapperHeight","_useState10","addWidth","setAddWidth","_useState12","addHeight","setAddHeight","_useRafState","batchRef","flushUpdate","useRafState","_useRafState2","tabSizes","setTabSizes","tabOffsets","holderScrollWidth","_tabs$","lastOffset","rightOffset","_tabs","entity","useOffsets","operationsHiddenClassName","transformMin","transformMax","alignInRange","max","min","touchMovingRef","_useState14","lockAnimation","setLockAnimation","doLockAnimation","Date","now","clearTouchMoving","scrollToTab","tabOffset","newTransform","_newTransform","onOffset","touchPosition","setTouchPosition","lastTimestamp","setLastTimestamp","lastTimeDiff","setLastTimeDiff","setLastOffset","motionRef","lastWheelDirectionRef","touchEventsRef","onTouchStart","_e$touches$","touches","screenX","screenY","clearInterval","onTouchMove","_e$touches$2","offsetX","offsetY","onTouchEnd","distanceX","distanceY","absX","abs","absY","currentX","currentY","setInterval","deltaY","mixed","onProxyTouchMove","onProxyTouchEnd","passive","useTouchMove","doMove","setState","_useVisibleRange","containerSize","tabContentNodeSize","addNodeSize","unit","transformSize","basicSize","tabContentSize","addSize","mergedBasicSize","endIndex","startIndex","useVisibleRange","_useVisibleRange2","visibleStart","visibleEnd","tabNodeStyle","marginTop","tabNodes","onListHolderResize","_tabsWrapperRef$curre","_tabsWrapperRef$curre2","_innerAddButtonRef$cu","_innerAddButtonRef$cu2","_tabListRef$current","_tabListRef$current2","newAddWidth","newAddHeight","newWrapperScrollWidth","newWrapperScrollHeight","newSizes","btnNode","offsetLeft","offsetTop","startHiddenTabs","endHiddenTabs","hiddenTabs","_useState16","inkStyle","setInkStyle","activeTabOffset","inkBarRafRef","cleanInkBarRaf","newInkStyle","pingTop","pingBottom","hasDropdown","wrapPrefix","transition","inkBar","tabMoving","TabNavListWrapper","renderTabBar","useContext","panes","uuid","Tabs","_ref$prefixCls","items","defaultActiveKey","_ref$tabPosition","tabBarStyle","tabBarExtraContent","mergedAnimated","useAnimateConfig","setMobile","isMobile","_useMergedState2","useMergedState","defaultValue","mergedActiveKey","setMergedActiveKey","activeIndex","setActiveIndex","_tabs$newActiveIndex","newActiveIndex","_useMergedState4","mergedId","setMergedId","sharedProps","tabNavBarProps","isActiveChanged","tabNavBar","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_setPrototypeOf","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","_getPrototypeOf","getPrototypeOf","_possibleConstructorReturn","self","ReferenceError","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","valueOf","result","Super","NewTarget","hiddenTextarea","SIZING_STYLE","computedStyleCache","calculateNodeHeight","uiTextNode","useCache","minRows","maxRows","createElement","setAttribute","appendChild","getAttribute","removeAttribute","_calculateNodeStyling","nodeRef","getComputedStyle","boxSizing","getPropertyValue","paddingSize","parseFloat","borderSize","nodeInfo","sizingStyle","calculateNodeStyling","placeholder","minHeight","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","scrollHeight","singleRowHeight","resize","RESIZE_STATUS","_React$Component","ResizableTextArea","_super","_this","nextFrameActionId","resizeFrameId","textArea","saveTextArea","handleResize","resizeStatus","_this$props","autoSize","NONE","resizeOnNextFrame","cancelAnimationFrame","requestAnimationFrame","resizeTextarea","textareaStyles","RESIZING","RESIZED","fixFirefoxAutoScroll","renderTextArea","_this$props2","_this$props2$prefixCl","_this$state","otherProps","omit","cls","prevProps","activeElement","currentStart","selectionStart","currentEnd","selectionEnd","setSelectionRange","TextArea","resizableTextArea","focus","handleChange","handleKeyDown","onPressEnter","keyCode","blur","nextProps","unsupportedIterableToArray","arrayLikeToArray"],"sourceRoot":""}