{"version":3,"file":"f113ec19f702c21cca17.bundle.js","mappings":"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","sources":["webpack://spartner/./node_modules/rc-table/es/constant.js","webpack://spartner/./node_modules/rc-table/es/hooks/useColumns/useWidthColumns.js","webpack://spartner/./node_modules/rc-table/es/hooks/useColumns/index.js","webpack://spartner/./node_modules/rc-table/es/context/TableContext.js","webpack://spartner/./node_modules/rc-table/es/hooks/useRenderTimes.js","webpack://spartner/./node_modules/rc-table/es/context/PerfContext.js","webpack://spartner/./node_modules/rc-table/es/utils/valueUtil.js","webpack://spartner/./node_modules/rc-table/es/Cell/index.js","webpack://spartner/./node_modules/rc-table/es/Cell/useCellRender.js","webpack://spartner/./node_modules/rc-table/es/Cell/useHoverState.js","webpack://spartner/./node_modules/rc-table/es/utils/fixUtil.js","webpack://spartner/./node_modules/rc-table/es/Footer/SummaryContext.js","webpack://spartner/./node_modules/rc-table/es/Footer/Row.js","webpack://spartner/./node_modules/rc-table/es/Footer/Summary.js","webpack://spartner/./node_modules/rc-table/es/Footer/Cell.js","webpack://spartner/./node_modules/rc-table/es/Footer/index.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/es/Collection.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/es/utils/observerUtil.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/es/SingleObserver/index.js","webpack://spartner/./node_modules/rc-table/node_modules/rc-resize-observer/es/index.js","webpack://spartner/./node_modules/rc-table/es/hooks/useFlattenRecords.js","webpack://spartner/./node_modules/rc-table/es/hooks/useRowInfo.js","webpack://spartner/./node_modules/rc-table/es/Body/ExpandedRow.js","webpack://spartner/./node_modules/rc-table/es/Body/BodyRow.js","webpack://spartner/./node_modules/rc-table/es/Body/MeasureCell.js","webpack://spartner/./node_modules/rc-table/es/Body/MeasureRow.js","webpack://spartner/./node_modules/rc-table/es/Body/index.js","webpack://spartner/./node_modules/rc-table/es/ColGroup.js","webpack://spartner/./node_modules/rc-table/es/FixedHolder/index.js","webpack://spartner/./node_modules/rc-table/es/Header/HeaderRow.js","webpack://spartner/./node_modules/rc-table/es/Header/Header.js","webpack://spartner/./node_modules/rc-table/es/utils/expandUtil.js","webpack://spartner/./node_modules/rc-table/es/hooks/useFrame.js","webpack://spartner/./node_modules/rc-table/es/hooks/useSticky.js","webpack://spartner/./node_modules/rc-table/es/hooks/useStickyOffsets.js","webpack://spartner/./node_modules/rc-table/es/Panel/index.js","webpack://spartner/./node_modules/rc-table/es/stickyScrollBar.js","webpack://spartner/./node_modules/rc-table/es/Table.js","webpack://spartner/./node_modules/rc-table/es/hooks/useHover.js","webpack://spartner/./node_modules/rc-table/es/hooks/useExpand.js","webpack://spartner/./node_modules/rc-table/es/hooks/useFixedInfo.js","webpack://spartner/./node_modules/rc-table/es/sugar/Column.js","webpack://spartner/./node_modules/rc-table/es/sugar/ColumnGroup.js","webpack://spartner/./node_modules/rc-table/es/VirtualTable/context.js","webpack://spartner/./node_modules/rc-table/es/VirtualTable/VirtualCell.js","webpack://spartner/./node_modules/rc-table/es/VirtualTable/BodyLine.js","webpack://spartner/./node_modules/rc-table/es/VirtualTable/BodyGrid.js","webpack://spartner/./node_modules/rc-table/es/VirtualTable/index.js","webpack://spartner/./node_modules/rc-table/es/utils/legacyUtil.js","webpack://spartner/./node_modules/rc-tabs/es/TabContext.js","webpack://spartner/./node_modules/rc-tabs/es/hooks/useOffsets.js","webpack://spartner/./node_modules/rc-tabs/es/hooks/useSyncState.js","webpack://spartner/./node_modules/rc-tabs/es/hooks/useTouchMove.js","webpack://spartner/./node_modules/rc-tabs/es/hooks/useUpdate.js","webpack://spartner/./node_modules/rc-tabs/es/hooks/useVisibleRange.js","webpack://spartner/./node_modules/rc-tabs/es/util.js","webpack://spartner/./node_modules/rc-tabs/es/TabNavList/AddButton.js","webpack://spartner/./node_modules/rc-tabs/es/TabNavList/ExtraContent.js","webpack://spartner/./node_modules/rc-tabs/es/TabNavList/OperationNode.js","webpack://spartner/./node_modules/rc-tabs/es/TabNavList/TabNode.js","webpack://spartner/./node_modules/rc-tabs/es/TabNavList/index.js","webpack://spartner/./node_modules/rc-tabs/es/hooks/useIndicator.js","webpack://spartner/./node_modules/rc-tabs/es/TabPanelList/TabPane.js","webpack://spartner/./node_modules/rc-tabs/es/TabNavList/Wrapper.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/context.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/DomWrapper.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/interface.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/util/motion.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/hooks/useStepQueue.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/hooks/useStatus.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/hooks/useDomMotionEvents.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/hooks/useNextFrame.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/CSSMotion.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/util/diff.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/CSSMotionList.js","webpack://spartner/./node_modules/rc-tabs/node_modules/rc-motion/es/index.js","webpack://spartner/./node_modules/rc-tabs/es/TabPanelList/index.js","webpack://spartner/./node_modules/rc-tabs/es/Tabs.js","webpack://spartner/./node_modules/rc-tabs/es/index.js","webpack://spartner/./node_modules/rc-tabs/es/hooks/useAnimateConfig.js","webpack://spartner/./node_modules/rc-textarea/es/calculateNodeHeight.js","webpack://spartner/./node_modules/rc-textarea/es/ResizableTextArea.js","webpack://spartner/./node_modules/rc-textarea/es/TextArea.js","webpack://spartner/./node_modules/rc-textarea/es/index.js"],"sourcesContent":["export var EXPAND_COLUMN = {};\nexport var INTERNAL_HOOKS = 'rc-table-internal-hook';","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nfunction parseColWidth(totalWidth) {\n var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n if (typeof width === 'number') {\n return width;\n }\n if (width.endsWith('%')) {\n return totalWidth * parseFloat(width) / 100;\n }\n return null;\n}\n\n/**\n * Fill all column with width\n */\nexport default function useWidthColumns(flattenColumns, scrollWidth, clientWidth) {\n return React.useMemo(function () {\n // Fill width if needed\n if (scrollWidth && scrollWidth > 0) {\n var totalWidth = 0;\n var missWidthCount = 0;\n\n // collect not given width column\n flattenColumns.forEach(function (col) {\n var colWidth = parseColWidth(scrollWidth, col.width);\n if (colWidth) {\n totalWidth += colWidth;\n } else {\n missWidthCount += 1;\n }\n });\n\n // Fill width\n var maxFitWidth = Math.max(scrollWidth, clientWidth);\n var restWidth = Math.max(maxFitWidth - totalWidth, missWidthCount);\n var restCount = missWidthCount;\n var avgWidth = restWidth / missWidthCount;\n var realTotal = 0;\n var filledColumns = flattenColumns.map(function (col) {\n var clone = _objectSpread({}, col);\n var colWidth = parseColWidth(scrollWidth, clone.width);\n if (colWidth) {\n clone.width = colWidth;\n } else {\n var colAvgWidth = Math.floor(avgWidth);\n clone.width = restCount === 1 ? restWidth : colAvgWidth;\n restWidth -= colAvgWidth;\n restCount -= 1;\n }\n realTotal += clone.width;\n return clone;\n });\n\n // If realTotal is less than clientWidth,\n // We need extend column width\n if (realTotal < maxFitWidth) {\n var scale = maxFitWidth / realTotal;\n restWidth = maxFitWidth;\n filledColumns.forEach(function (col, index) {\n var colWidth = Math.floor(col.width * scale);\n col.width = index === filledColumns.length - 1 ? restWidth : colWidth;\n restWidth -= colWidth;\n });\n }\n return [filledColumns, Math.max(realTotal, maxFitWidth)];\n }\n return [flattenColumns, scrollWidth];\n }, [flattenColumns, scrollWidth, clientWidth]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"],\n _excluded2 = [\"fixed\"];\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { EXPAND_COLUMN } from \"../../constant\";\nimport { INTERNAL_COL_DEFINE } from \"../../utils/legacyUtil\";\nimport useWidthColumns from \"./useWidthColumns\";\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 var nodeChildren = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var column = _objectSpread({\n key: key\n }, restProps);\n if (nodeChildren) {\n column.children = convertChildrenToColumns(nodeChildren);\n }\n return column;\n });\n}\nfunction flatColumns(columns) {\n var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key';\n return columns.filter(function (column) {\n return column && _typeof(column) === 'object';\n }).reduce(function (list, column, index) {\n var fixed = column.fixed;\n // Convert `fixed='true'` to `fixed='left'` instead\n var parsedFixed = fixed === true ? 'left' : fixed;\n var mergedKey = \"\".concat(parentKey, \"-\").concat(index);\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return [].concat(_toConsumableArray(list), _toConsumableArray(flatColumns(subColumns, mergedKey).map(function (subColum) {\n return _objectSpread({\n fixed: parsedFixed\n }, subColum);\n })));\n }\n return [].concat(_toConsumableArray(list), [_objectSpread(_objectSpread({\n key: mergedKey\n }, column), {}, {\n fixed: parsedFixed\n })]);\n }, []);\n}\nfunction warningFixed(flattenColumns) {\n var allFixLeft = true;\n for (var i = 0; i < flattenColumns.length; i += 1) {\n var col = flattenColumns[i];\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 var allFixRight = true;\n for (var _i = flattenColumns.length - 1; _i >= 0; _i -= 1) {\n var _col = flattenColumns[_i];\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}\nfunction revertForRtl(columns) {\n return columns.map(function (column) {\n var fixed = column.fixed,\n restProps = _objectWithoutProperties(column, _excluded2);\n\n // Convert `fixed='left'` to `fixed='right'` instead\n var parsedFixed = fixed;\n if (fixed === 'left') {\n parsedFixed = 'right';\n } else if (fixed === 'right') {\n parsedFixed = 'left';\n }\n return _objectSpread({\n fixed: parsedFixed\n }, restProps);\n });\n}\n\n/**\n * Parse `columns` & `children` into `columns`.\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 scrollWidth = _ref2.scrollWidth,\n clientWidth = _ref2.clientWidth;\n var baseColumns = React.useMemo(function () {\n return columns || convertChildrenToColumns(children);\n }, [columns, children]);\n\n // ========================== Expand ==========================\n var withExpandColumns = React.useMemo(function () {\n if (expandable) {\n var _expandColumn;\n var cloneColumns = baseColumns.slice();\n\n // >>> Warning if use `expandIconColumnIndex`\n if (process.env.NODE_ENV !== 'production' && expandIconColumnIndex >= 0) {\n warning(false, '`expandIconColumnIndex` is deprecated. Please use `Table.EXPAND_COLUMN` in `columns` instead.');\n }\n\n // >>> Insert expand column if not exist\n if (!cloneColumns.includes(EXPAND_COLUMN)) {\n var expandColIndex = expandIconColumnIndex || 0;\n if (expandColIndex >= 0) {\n cloneColumns.splice(expandColIndex, 0, EXPAND_COLUMN);\n }\n }\n\n // >>> Deduplicate additional expand column\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 var expandColumnIndex = cloneColumns.indexOf(EXPAND_COLUMN);\n cloneColumns = cloneColumns.filter(function (column, index) {\n return column !== EXPAND_COLUMN || index === expandColumnIndex;\n });\n\n // >>> Check if expand column need to fixed\n var prevColumn = baseColumns[expandColumnIndex];\n var fixedColumn;\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 }\n\n // >>> Create expandable column\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 if (expandRowByClick) {\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: function onClick(e) {\n return e.stopPropagation();\n }\n }, icon);\n }\n return icon;\n }), _expandColumn);\n return cloneColumns.map(function (col) {\n return col === EXPAND_COLUMN ? expandColumn : col;\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 return baseColumns.filter(function (col) {\n return col !== EXPAND_COLUMN;\n });\n }, [expandable, baseColumns, getRowKey, expandedKeys, expandIcon, direction]);\n\n // ========================= Transform ========================\n var mergedColumns = React.useMemo(function () {\n var finalColumns = withExpandColumns;\n if (transformColumns) {\n finalColumns = transformColumns(finalColumns);\n }\n\n // Always provides at least one column for table display\n if (!finalColumns.length) {\n finalColumns = [{\n render: function render() {\n return null;\n }\n }];\n }\n return finalColumns;\n }, [transformColumns, withExpandColumns, direction]);\n\n // ========================== Flatten =========================\n var flattenColumns = React.useMemo(function () {\n if (direction === 'rtl') {\n return revertForRtl(flatColumns(mergedColumns));\n }\n return flatColumns(mergedColumns);\n }, [mergedColumns, direction, scrollWidth]);\n\n // Only check out of production since it's waste for each render\n if (process.env.NODE_ENV !== 'production') {\n warningFixed(direction === 'rtl' ? flattenColumns.slice().reverse() : flattenColumns);\n }\n\n // ========================= FillWidth ========================\n var _useWidthColumns = useWidthColumns(flattenColumns, scrollWidth, clientWidth),\n _useWidthColumns2 = _slicedToArray(_useWidthColumns, 2),\n filledColumns = _useWidthColumns2[0],\n realScrollWidth = _useWidthColumns2[1];\n return [mergedColumns, filledColumns, realScrollWidth];\n}\nexport default useColumns;","import { createContext, createImmutable } from '@rc-component/context';\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { makeImmutable, responseImmutable, useImmutableMark };\nvar TableContext = createContext();\nexport default TableContext;","/* istanbul ignore file */\nimport * as React from 'react';\nfunction useRenderTimes(props, debug) {\n // Render times\n var timesRef = React.useRef(0);\n timesRef.current += 1;\n\n // Props changed\n var propsRef = React.useRef(props);\n var keys = [];\n Object.keys(props || {}).map(function (key) {\n var _propsRef$current;\n if ((props === null || props === void 0 ? void 0 : props[key]) !== ((_propsRef$current = propsRef.current) === null || _propsRef$current === void 0 ? void 0 : _propsRef$current[key])) {\n keys.push(key);\n }\n });\n propsRef.current = props;\n\n // Cache keys since React rerender may cause it lost\n var keysRef = React.useRef([]);\n if (keys.length) {\n keysRef.current = keys;\n }\n React.useDebugValue(timesRef.current);\n React.useDebugValue(keysRef.current.join(', '));\n if (debug) {\n console.log(\"\".concat(debug, \":\"), timesRef.current, keysRef.current);\n }\n return timesRef.current;\n}\nexport default process.env.NODE_ENV !== 'production' ? useRenderTimes : function () {};\nexport var RenderBlock = /*#__PURE__*/React.memo(function () {\n var times = useRenderTimes();\n return /*#__PURE__*/React.createElement(\"h1\", null, \"Render Times: \", times);\n});\nRenderBlock.displayName = 'RenderBlock';","import * as React from 'react';\n// TODO: Remove when use `responsiveImmutable`\nvar PerfContext = /*#__PURE__*/React.createContext({\n renderWithProps: false\n});\nexport default PerfContext;","var INTERNAL_KEY_PREFIX = 'RC_TABLE_KEY';\nfunction toArray(arr) {\n if (arr === undefined || arr === null) {\n return [];\n }\n return Array.isArray(arr) ? arr : [arr];\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 var mergedKey = key || toArray(dataIndex).join('-') || INTERNAL_KEY_PREFIX;\n while (keys[mergedKey]) {\n mergedKey = \"\".concat(mergedKey, \"_next\");\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}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport useCellRender from \"./useCellRender\";\nimport useHoverState from \"./useHoverState\";\nimport { useEvent } from 'rc-util';\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 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 return title;\n};\nfunction Cell(props) {\n var _ref2, _ref3, _legacyCellProps$colS, _ref4, _ref5, _legacyCellProps$rowS, _additionalProps$titl, _classNames;\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var Component = props.component,\n children = props.children,\n ellipsis = props.ellipsis,\n scope = props.scope,\n prefixCls = props.prefixCls,\n className = props.className,\n align = props.align,\n record = props.record,\n render = props.render,\n dataIndex = props.dataIndex,\n renderIndex = props.renderIndex,\n shouldCellUpdate = props.shouldCellUpdate,\n index = props.index,\n rowType = props.rowType,\n colSpan = props.colSpan,\n rowSpan = props.rowSpan,\n fixLeft = props.fixLeft,\n fixRight = props.fixRight,\n firstFixLeft = props.firstFixLeft,\n lastFixLeft = props.lastFixLeft,\n firstFixRight = props.firstFixRight,\n lastFixRight = props.lastFixRight,\n appendNode = props.appendNode,\n _props$additionalProp = props.additionalProps,\n additionalProps = _props$additionalProp === void 0 ? {} : _props$additionalProp,\n isSticky = props.isSticky;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var _useContext = useContext(TableContext, ['supportSticky', 'allColumnsFixedLeft']),\n supportSticky = _useContext.supportSticky,\n allColumnsFixedLeft = _useContext.allColumnsFixedLeft;\n\n // ====================== Value =======================\n var _useCellRender = useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate),\n _useCellRender2 = _slicedToArray(_useCellRender, 2),\n childNode = _useCellRender2[0],\n legacyCellProps = _useCellRender2[1];\n\n // ====================== Fixed =======================\n var fixedStyle = {};\n var isFixLeft = typeof fixLeft === 'number' && supportSticky;\n var isFixRight = typeof fixRight === 'number' && supportSticky;\n if (isFixLeft) {\n fixedStyle.position = 'sticky';\n fixedStyle.left = fixLeft;\n }\n if (isFixRight) {\n fixedStyle.position = 'sticky';\n fixedStyle.right = fixRight;\n }\n\n // ================ RowSpan & ColSpan =================\n var mergedColSpan = (_ref2 = (_ref3 = (_legacyCellProps$colS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.colSpan) !== null && _legacyCellProps$colS !== void 0 ? _legacyCellProps$colS : additionalProps.colSpan) !== null && _ref3 !== void 0 ? _ref3 : colSpan) !== null && _ref2 !== void 0 ? _ref2 : 1;\n var mergedRowSpan = (_ref4 = (_ref5 = (_legacyCellProps$rowS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.rowSpan) !== null && _legacyCellProps$rowS !== void 0 ? _legacyCellProps$rowS : additionalProps.rowSpan) !== null && _ref5 !== void 0 ? _ref5 : rowSpan) !== null && _ref4 !== void 0 ? _ref4 : 1;\n\n // ====================== Hover =======================\n var _useHoverState = useHoverState(index, mergedRowSpan),\n _useHoverState2 = _slicedToArray(_useHoverState, 2),\n hovering = _useHoverState2[0],\n onHover = _useHoverState2[1];\n var onMouseEnter = useEvent(function (event) {\n var _additionalProps$onMo;\n if (record) {\n onHover(index, index + mergedRowSpan - 1);\n }\n additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo = additionalProps.onMouseEnter) === null || _additionalProps$onMo === void 0 || _additionalProps$onMo.call(additionalProps, event);\n });\n var onMouseLeave = useEvent(function (event) {\n var _additionalProps$onMo2;\n if (record) {\n onHover(-1, -1);\n }\n additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo2 = additionalProps.onMouseLeave) === null || _additionalProps$onMo2 === void 0 || _additionalProps$onMo2.call(additionalProps, event);\n });\n\n // ====================== Render ======================\n if (mergedColSpan === 0 || mergedRowSpan === 0) {\n return null;\n }\n\n // >>>>> Title\n var title = (_additionalProps$titl = additionalProps.title) !== null && _additionalProps$titl !== void 0 ? _additionalProps$titl : getTitleFromCellRenderChildren({\n rowType: rowType,\n ellipsis: ellipsis,\n children: childNode\n });\n\n // >>>>> ClassName\n var mergedClassName = 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, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.className);\n\n // >>>>> Style\n var alignStyle = {};\n if (align) {\n alignStyle.textAlign = align;\n }\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, fixedStyle), additionalProps.style), alignStyle), legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.style);\n\n // >>>>> Children Node\n var mergedChildNode = childNode;\n\n // Not crash if final `childNode` is not validate ReactNode\n if (_typeof(mergedChildNode) === 'object' && !Array.isArray(mergedChildNode) && ! /*#__PURE__*/React.isValidElement(mergedChildNode)) {\n mergedChildNode = null;\n }\n if (ellipsis && (lastFixLeft || firstFixRight)) {\n mergedChildNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(cellPrefixCls, \"-content\")\n }, mergedChildNode);\n }\n return /*#__PURE__*/React.createElement(Component, _extends({}, legacyCellProps, additionalProps, {\n className: mergedClassName,\n style: mergedStyle\n // A11y\n ,\n title: title,\n scope: scope\n // Hover\n ,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave\n //Span\n ,\n colSpan: mergedColSpan !== 1 ? mergedColSpan : null,\n rowSpan: mergedRowSpan !== 1 ? mergedRowSpan : null\n }), appendNode, mergedChildNode);\n}\nexport default /*#__PURE__*/React.memo(Cell);","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport { validateValue } from \"../utils/valueUtil\";\nimport { useImmutableMark } from \"../context/TableContext\";\nfunction isRenderCell(data) {\n return data && _typeof(data) === 'object' && !Array.isArray(data) && ! /*#__PURE__*/React.isValidElement(data);\n}\nexport default function useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate) {\n // TODO: Remove this after next major version\n var perfRecord = React.useContext(PerfContext);\n var mark = useImmutableMark();\n\n // ======================== Render ========================\n var retData = useMemo(function () {\n if (validateValue(children)) {\n return [children];\n }\n var path = dataIndex === null || dataIndex === undefined || dataIndex === '' ? [] : Array.isArray(dataIndex) ? dataIndex : [dataIndex];\n var value = getValue(record, path);\n\n // Customize render node\n var returnChildNode = value;\n var returnCellProps = undefined;\n if (render) {\n var renderData = render(value, record, renderIndex);\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 returnChildNode = renderData.children;\n returnCellProps = renderData.props;\n perfRecord.renderWithProps = true;\n } else {\n returnChildNode = renderData;\n }\n }\n return [returnChildNode, returnCellProps];\n }, [\n // Force update deps\n mark,\n // Normal deps\n record, children, dataIndex, render, renderIndex], function (prev, next) {\n if (shouldCellUpdate) {\n var _prev = _slicedToArray(prev, 2),\n prevRecord = _prev[1];\n var _next = _slicedToArray(next, 2),\n nextRecord = _next[1];\n return shouldCellUpdate(nextRecord, prevRecord);\n }\n\n // Legacy mode should always update\n if (perfRecord.renderWithProps) {\n return true;\n }\n return !isEqual(prev, next, true);\n });\n return retData;\n}","import { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\n/** Check if cell is in hover range */\nfunction inHoverRange(cellStartRow, cellRowSpan, startRow, endRow) {\n var cellEndRow = cellStartRow + cellRowSpan - 1;\n return cellStartRow <= endRow && cellEndRow >= startRow;\n}\nexport default function useHoverState(rowIndex, rowSpan) {\n return useContext(TableContext, function (ctx) {\n var hovering = inHoverRange(rowIndex, rowSpan || 1, ctx.hoverStartRow, ctx.hoverEndRow);\n return [hovering, ctx.onHover];\n });\n}","export function getCellFixedInfo(colStart, colEnd, columns, stickyOffsets, direction, curColumns) {\n var startColumn = columns[colStart] || {};\n var endColumn = columns[colEnd] || {};\n var fixLeft;\n var fixRight;\n if (startColumn.fixed === 'left') {\n fixLeft = stickyOffsets.left[direction === 'rtl' ? colEnd : colStart];\n } else if (endColumn.fixed === 'right') {\n fixRight = stickyOffsets.right[direction === 'rtl' ? colStart : colEnd];\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 // no children only\n var canLastFix = !(curColumns !== null && curColumns !== void 0 && curColumns.children);\n if (direction === 'rtl') {\n if (fixLeft !== undefined) {\n var prevFixLeft = prevColumn && prevColumn.fixed === 'left';\n firstFixLeft = !prevFixLeft && canLastFix;\n } else if (fixRight !== undefined) {\n var nextFixRight = nextColumn && nextColumn.fixed === 'right';\n lastFixRight = !nextFixRight && canLastFix;\n }\n } else if (fixLeft !== undefined) {\n var nextFixLeft = nextColumn && nextColumn.fixed === 'left';\n lastFixLeft = !nextFixLeft && canLastFix;\n } else if (fixRight !== undefined) {\n var prevFixRight = prevColumn && prevColumn.fixed === 'right';\n firstFixRight = !prevFixRight && canLastFix;\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 * as React from 'react';\nvar SummaryContext = /*#__PURE__*/React.createContext({});\nexport default SummaryContext;","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 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 */\nfunction Summary(_ref) {\n var children = _ref.children;\n return children;\n}\nSummary.Row = Row;\nSummary.Cell = Cell;\nexport default Summary;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nimport SummaryContext from \"./SummaryContext\";\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 var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n var _React$useContext = React.useContext(SummaryContext),\n scrollColumnIndex = _React$useContext.scrollColumnIndex,\n stickyOffsets = _React$useContext.stickyOffsets,\n flattenColumns = _React$useContext.flattenColumns,\n columns = _React$useContext.columns;\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, columns === null || columns === void 0 ? void 0 : columns[index]);\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 { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport Summary from \"./Summary\";\nimport SummaryContext from \"./SummaryContext\";\nfunction Footer(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var children = props.children,\n stickyOffsets = props.stickyOffsets,\n flattenColumns = props.flattenColumns,\n columns = props.columns;\n var prefixCls = useContext(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 && scrollColumn.scrollbar ? lastColumnIndex : null,\n columns: columns\n };\n }, [scrollColumn, flattenColumns, lastColumnIndex, stickyOffsets, columns]);\n return /*#__PURE__*/React.createElement(SummaryContext.Provider, {\n value: summaryContext\n }, /*#__PURE__*/React.createElement(\"tfoot\", {\n className: \"\".concat(prefixCls, \"-summary\")\n }, children));\n}\nexport default responseImmutable(Footer);\nexport var FooterComponents = Summary;","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","import * as React from 'react';\nexport var CollectionContext = /*#__PURE__*/React.createContext(null);\n/**\n * Collect all the resize event from children ResizeObserver\n */\nexport function Collection(_ref) {\n var children = _ref.children,\n onBatchResize = _ref.onBatchResize;\n var resizeIdRef = React.useRef(0);\n var resizeInfosRef = React.useRef([]);\n var onCollectionResize = React.useContext(CollectionContext);\n var onResize = React.useCallback(function (size, element, data) {\n resizeIdRef.current += 1;\n var currentId = resizeIdRef.current;\n resizeInfosRef.current.push({\n size: size,\n element: element,\n data: data\n });\n Promise.resolve().then(function () {\n if (currentId === resizeIdRef.current) {\n onBatchResize === null || onBatchResize === void 0 || onBatchResize(resizeInfosRef.current);\n resizeInfosRef.current = [];\n }\n });\n\n // Continue bubbling if parent exist\n onCollectionResize === null || onCollectionResize === void 0 || onCollectionResize(size, element, data);\n }, [onBatchResize, onCollectionResize]);\n return /*#__PURE__*/React.createElement(CollectionContext.Provider, {\n value: onResize\n }, children);\n}","import ResizeObserver from 'resize-observer-polyfill';\n// =============================== Const ===============================\nvar elementListeners = new Map();\nfunction onResize(entities) {\n entities.forEach(function (entity) {\n var _elementListeners$get;\n var target = entity.target;\n (_elementListeners$get = elementListeners.get(target)) === null || _elementListeners$get === void 0 || _elementListeners$get.forEach(function (listener) {\n return listener(target);\n });\n });\n}\n\n// Note: ResizeObserver polyfill not support option to measure border-box resize\nvar resizeObserver = new ResizeObserver(onResize);\n\n// Dev env only\nexport var _el = process.env.NODE_ENV !== 'production' ? elementListeners : null; // eslint-disable-line\nexport var _rs = process.env.NODE_ENV !== 'production' ? onResize : null; // eslint-disable-line\n\n// ============================== Observe ==============================\nexport function observe(element, callback) {\n if (!elementListeners.has(element)) {\n elementListeners.set(element, new Set());\n resizeObserver.observe(element);\n }\n elementListeners.get(element).add(callback);\n}\nexport function unobserve(element, callback) {\n if (elementListeners.has(element)) {\n elementListeners.get(element).delete(callback);\n if (!elementListeners.get(element).size) {\n resizeObserver.unobserve(element);\n elementListeners.delete(element);\n }\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import _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';\n/**\n * Fallback to findDOMNode if origin ref do not provide any dom element\n */\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n var _super = _createSuper(DomWrapper);\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n return _super.apply(this, arguments);\n }\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n return DomWrapper;\n}(React.Component);\nexport { DomWrapper as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _createSuper(t) {\n var r = isNativeReflectConstruct();\n return function () {\n var e,\n o = getPrototypeOf(t);\n if (r) {\n var s = getPrototypeOf(this).constructor;\n e = Reflect.construct(o, arguments, s);\n } else e = o.apply(this, arguments);\n return possibleConstructorReturn(this, e);\n };\n}\nexport { _createSuper as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { supportRef, useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { CollectionContext } from \"../Collection\";\nimport { observe, unobserve } from \"../utils/observerUtil\";\nimport DomWrapper from \"./DomWrapper\";\nfunction SingleObserver(props, ref) {\n var children = props.children,\n disabled = props.disabled;\n var elementRef = React.useRef(null);\n var wrapperRef = React.useRef(null);\n var onCollectionResize = React.useContext(CollectionContext);\n\n // =========================== Children ===========================\n var isRenderProps = typeof children === 'function';\n var mergedChildren = isRenderProps ? children(elementRef) : children;\n\n // ============================= Size =============================\n var sizeRef = React.useRef({\n width: -1,\n height: -1,\n offsetWidth: -1,\n offsetHeight: -1\n });\n\n // ============================= Ref ==============================\n var canRef = !isRenderProps && /*#__PURE__*/React.isValidElement(mergedChildren) && supportRef(mergedChildren);\n var originRef = canRef ? mergedChildren.ref : null;\n var mergedRef = useComposeRef(originRef, elementRef);\n var getDom = function getDom() {\n var _elementRef$current;\n return findDOMNode(elementRef.current) || (\n // Support `nativeElement` format\n elementRef.current && _typeof(elementRef.current) === 'object' ? findDOMNode((_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 ? void 0 : _elementRef$current.nativeElement) : null) || findDOMNode(wrapperRef.current);\n };\n React.useImperativeHandle(ref, function () {\n return getDom();\n });\n\n // =========================== Observe ============================\n var propsRef = React.useRef(props);\n propsRef.current = props;\n\n // Handler\n var onInternalResize = React.useCallback(function (target) {\n var _propsRef$current = propsRef.current,\n onResize = _propsRef$current.onResize,\n data = _propsRef$current.data;\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n var offsetWidth = target.offsetWidth,\n offsetHeight = target.offsetHeight;\n\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n if (sizeRef.current.width !== fixedWidth || sizeRef.current.height !== fixedHeight || sizeRef.current.offsetWidth !== offsetWidth || sizeRef.current.offsetHeight !== offsetHeight) {\n var size = {\n width: fixedWidth,\n height: fixedHeight,\n offsetWidth: offsetWidth,\n offsetHeight: offsetHeight\n };\n sizeRef.current = size;\n\n // IE is strange, right?\n var mergedOffsetWidth = offsetWidth === Math.round(width) ? width : offsetWidth;\n var mergedOffsetHeight = offsetHeight === Math.round(height) ? height : offsetHeight;\n var sizeInfo = _objectSpread(_objectSpread({}, size), {}, {\n offsetWidth: mergedOffsetWidth,\n offsetHeight: mergedOffsetHeight\n });\n\n // Let collection know what happened\n onCollectionResize === null || onCollectionResize === void 0 || onCollectionResize(sizeInfo, target, data);\n if (onResize) {\n // defer the callback but not defer to next frame\n Promise.resolve().then(function () {\n onResize(sizeInfo, target);\n });\n }\n }\n }, []);\n\n // Dynamic observe\n React.useEffect(function () {\n var currentElement = getDom();\n if (currentElement && !disabled) {\n observe(currentElement, onInternalResize);\n }\n return function () {\n return unobserve(currentElement, onInternalResize);\n };\n }, [elementRef.current, disabled]);\n\n // ============================ Render ============================\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperRef\n }, canRef ? /*#__PURE__*/React.cloneElement(mergedChildren, {\n ref: mergedRef\n }) : mergedChildren);\n}\nvar RefSingleObserver = /*#__PURE__*/React.forwardRef(SingleObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefSingleObserver.displayName = 'SingleObserver';\n}\nexport default RefSingleObserver;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { warning } from \"rc-util/es/warning\";\nimport SingleObserver from \"./SingleObserver\";\nimport { Collection } from \"./Collection\";\nvar INTERNAL_PREFIX_KEY = 'rc-observer-key';\nimport { _rs } from \"./utils/observerUtil\";\nexport { /** @private Test only for mock trigger resize event */\n_rs };\nfunction ResizeObserver(props, ref) {\n var children = props.children;\n var childNodes = typeof children === 'function' ? [children] : toArray(children);\n if (process.env.NODE_ENV !== 'production') {\n if (childNodes.length > 1) {\n warning(false, 'Find more than one child node with `children` in ResizeObserver. Please use ResizeObserver.Collection instead.');\n } else if (childNodes.length === 0) {\n warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');\n }\n }\n return childNodes.map(function (child, index) {\n var key = (child === null || child === void 0 ? void 0 : child.key) || \"\".concat(INTERNAL_PREFIX_KEY, \"-\").concat(index);\n return /*#__PURE__*/React.createElement(SingleObserver, _extends({}, props, {\n key: key,\n ref: index === 0 ? ref : undefined\n }), child);\n });\n}\nvar RefResizeObserver = /*#__PURE__*/React.forwardRef(ResizeObserver);\nif (process.env.NODE_ENV !== 'production') {\n RefResizeObserver.displayName = 'ResizeObserver';\n}\nRefResizeObserver.Collection = Collection;\nexport default RefResizeObserver;","import * as React from 'react';\n// recursion (flat tree structure)\nfunction fillRecords(list, record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n list.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 if (record && Array.isArray(record[childrenColumnName]) && expanded) {\n // expanded state, flat record\n for (var i = 0; i < record[childrenColumnName].length; i += 1) {\n fillRecords(list, record[childrenColumnName][i], indent + 1, childrenColumnName, expandedKeys, getRowKey, i);\n }\n }\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 */\nexport default function useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey) {\n var arr = React.useMemo(function () {\n if (expandedKeys !== null && expandedKeys !== void 0 && expandedKeys.size) {\n var list = [];\n\n // collect flattened record\n for (var i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i += 1) {\n var record = data[i];\n\n // using array.push or spread operator may cause \"Maximum call stack size exceeded\" exception if array size is big enough.\n fillRecords(list, record, 0, childrenColumnName, expandedKeys, getRowKey, i);\n }\n return list;\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 _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport { useEvent } from 'rc-util';\nimport classNames from 'classnames';\nexport default function useRowInfo(record, rowKey, recordIndex, indent) {\n var context = useContext(TableContext, ['prefixCls', 'fixedInfoList', 'flattenColumns', 'expandableType', 'expandRowByClick', 'onTriggerExpand', 'rowClassName', 'expandedRowClassName', 'indentSize', 'expandIcon', 'expandedRowRender', 'expandIconColumnIndex', 'expandedKeys', 'childrenColumnName', 'rowExpandable', 'onRow']);\n var flattenColumns = context.flattenColumns,\n expandableType = context.expandableType,\n expandedKeys = context.expandedKeys,\n childrenColumnName = context.childrenColumnName,\n onTriggerExpand = context.onTriggerExpand,\n rowExpandable = context.rowExpandable,\n onRow = context.onRow,\n expandRowByClick = context.expandRowByClick,\n rowClassName = context.rowClassName;\n\n // ======================= Expandable =======================\n // Only when row is not expandable and `children` exist in record\n var nestExpandable = expandableType === 'nest';\n var rowSupportExpand = expandableType === 'row' && (!rowExpandable || rowExpandable(record));\n var mergedExpandable = rowSupportExpand || nestExpandable;\n var expanded = expandedKeys && expandedKeys.has(rowKey);\n var hasNestChildren = childrenColumnName && record && record[childrenColumnName];\n var onInternalTriggerExpand = useEvent(onTriggerExpand);\n\n // ========================= onRow ==========================\n var rowProps = onRow === null || onRow === void 0 ? void 0 : onRow(record, recordIndex);\n var onRowClick = rowProps === null || rowProps === void 0 ? void 0 : rowProps.onClick;\n var onClick = function onClick(event) {\n if (expandRowByClick && mergedExpandable) {\n onTriggerExpand(record, event);\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 onRowClick === null || onRowClick === void 0 || onRowClick.apply(void 0, [event].concat(args));\n };\n\n // ====================== RowClassName ======================\n var computeRowClassName;\n if (typeof rowClassName === 'string') {\n computeRowClassName = rowClassName;\n } else if (typeof rowClassName === 'function') {\n computeRowClassName = rowClassName(record, recordIndex, indent);\n }\n\n // ========================= Column =========================\n var columnsKey = getColumnsKey(flattenColumns);\n return _objectSpread(_objectSpread({}, context), {}, {\n columnsKey: columnsKey,\n nestExpandable: nestExpandable,\n expanded: expanded,\n hasNestChildren: hasNestChildren,\n record: record,\n onTriggerExpand: onInternalTriggerExpand,\n rowSupportExpand: rowSupportExpand,\n expandable: mergedExpandable,\n rowProps: _objectSpread(_objectSpread({}, rowProps), {}, {\n className: classNames(computeRowClassName, rowProps === null || rowProps === void 0 ? void 0 : rowProps.className),\n onClick: onClick\n })\n });\n}","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nfunction ExpandedRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var prefixCls = props.prefixCls,\n children = props.children,\n Component = props.component,\n cellComponent = props.cellComponent,\n className = props.className,\n expanded = props.expanded,\n colSpan = props.colSpan,\n isEmpty = props.isEmpty;\n var _useContext = useContext(TableContext, ['scrollbarSize', 'fixHeader', 'fixColumn', 'componentWidth', 'horizonScroll']),\n scrollbarSize = _useContext.scrollbarSize,\n fixHeader = _useContext.fixHeader,\n fixColumn = _useContext.fixColumn,\n componentWidth = _useContext.componentWidth,\n horizonScroll = _useContext.horizonScroll;\n\n // Cache render node\n var contentNode = children;\n if (isEmpty ? horizonScroll && componentWidth : 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 }, contentNode);\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}\nexport default ExpandedRow;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport useRowInfo from \"../hooks/useRowInfo\";\nimport ExpandedRow from \"./ExpandedRow\";\n// ==================================================================================\n// == getCellProps ==\n// ==================================================================================\nexport function getCellProps(rowInfo, column, colIndex, indent, index) {\n var record = rowInfo.record,\n prefixCls = rowInfo.prefixCls,\n columnsKey = rowInfo.columnsKey,\n fixedInfoList = rowInfo.fixedInfoList,\n expandIconColumnIndex = rowInfo.expandIconColumnIndex,\n nestExpandable = rowInfo.nestExpandable,\n indentSize = rowInfo.indentSize,\n expandIcon = rowInfo.expandIcon,\n expanded = rowInfo.expanded,\n hasNestChildren = rowInfo.hasNestChildren,\n onTriggerExpand = rowInfo.onTriggerExpand;\n var key = columnsKey[colIndex];\n var fixedInfo = fixedInfoList[colIndex];\n\n // ============= Used for nest expandable =============\n var appendCellNode;\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: onTriggerExpand\n }));\n }\n var additionalCellProps;\n if (column.onCell) {\n additionalCellProps = column.onCell(record, index);\n }\n return {\n key: key,\n fixedInfo: fixedInfo,\n appendCellNode: appendCellNode,\n additionalCellProps: additionalCellProps || {}\n };\n}\n\n// ==================================================================================\n// == getCellProps ==\n// ==================================================================================\nfunction BodyRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\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 _props$indent = props.indent,\n indent = _props$indent === void 0 ? 0 : _props$indent,\n RowComponent = props.rowComponent,\n cellComponent = props.cellComponent,\n scopeCellComponent = props.scopeCellComponent;\n var rowInfo = useRowInfo(record, rowKey, index, indent);\n var prefixCls = rowInfo.prefixCls,\n flattenColumns = rowInfo.flattenColumns,\n expandedRowClassName = rowInfo.expandedRowClassName,\n expandedRowRender = rowInfo.expandedRowRender,\n rowProps = rowInfo.rowProps,\n expanded = rowInfo.expanded,\n rowSupportExpand = rowInfo.rowSupportExpand;\n\n // Force render expand row if expanded before\n var expandedRef = React.useRef(false);\n expandedRef.current || (expandedRef.current = expanded);\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n // ======================== Base tr row ========================\n var baseRowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, rowProps, {\n \"data-row-key\": rowKey,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), \"\".concat(prefixCls, \"-row-level-\").concat(indent), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className),\n style: _objectSpread(_objectSpread({}, style), rowProps === null || rowProps === void 0 ? void 0 : rowProps.style)\n }), flattenColumns.map(function (column, colIndex) {\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className;\n var _getCellProps = getCellProps(rowInfo, column, colIndex, indent, index),\n key = _getCellProps.key,\n fixedInfo = _getCellProps.fixedInfo,\n appendCellNode = _getCellProps.appendCellNode,\n additionalCellProps = _getCellProps.additionalCellProps;\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: columnClassName,\n ellipsis: column.ellipsis,\n align: column.align,\n scope: column.rowScope,\n component: column.rowScope ? scopeCellComponent : 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 }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: additionalCellProps\n }));\n }));\n\n // ======================== Expand Row =========================\n var expandRowNode;\n if (rowSupportExpand && (expandedRef.current || 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 return /*#__PURE__*/React.createElement(React.Fragment, null, baseRowNode, expandRowNode);\n}\nBodyRow.displayName = 'BodyRow';\nexport default responseImmutable(BodyRow);","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 { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport BodyRow from \"./BodyRow\";\nimport ExpandedRow from \"./ExpandedRow\";\nimport MeasureRow from \"./MeasureRow\";\nfunction Body(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var data = props.data,\n measureColumnWidth = props.measureColumnWidth;\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent', 'onColumnResize', 'flattenColumns', 'getRowKey', 'expandedKeys', 'childrenColumnName', 'emptyNode']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent,\n onColumnResize = _useContext.onColumnResize,\n flattenColumns = _useContext.flattenColumns,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n childrenColumnName = _useContext.childrenColumnName,\n emptyNode = _useContext.emptyNode;\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // =================== Performance ====================\n var perfRef = React.useRef({\n renderWithProps: false\n });\n\n // ====================== Render ======================\n var WrapperComponent = getComponent(['body', 'wrapper'], 'tbody');\n var trComponent = getComponent(['body', 'row'], 'tr');\n var tdComponent = getComponent(['body', 'cell'], 'td');\n var thComponent = getComponent(['body', 'cell'], 'th');\n var rows;\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 index: idx,\n renderIndex: renderIndex,\n rowComponent: trComponent,\n cellComponent: tdComponent,\n scopeCellComponent: thComponent,\n getRowKey: getRowKey,\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 var columnsKey = getColumnsKey(flattenColumns);\n return /*#__PURE__*/React.createElement(PerfContext.Provider, {\n value: perfRef.current\n }, /*#__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}\nBody.displayName = 'Body';\nexport default responseImmutable(Body);","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\";\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;\n\n // Only insert col with width & additional props\n // Skip if rest col do not have any useful info\n var mustInsert = false;\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 if (width || additionalProps || mustInsert) {\n var _ref2 = additionalProps || {},\n columnType = _ref2.columnType,\n restAdditionalProps = _objectWithoutProperties(_ref2, _excluded);\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 return /*#__PURE__*/React.createElement(\"colgroup\", null, cols);\n}\nexport default ColGroup;","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 { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport { fillRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport ColGroup from \"../ColGroup\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nfunction useColumnWidth(colWidths, columCount) {\n return useMemo(function () {\n var cloneColumns = [];\n for (var i = 0; i < columCount; i += 1) {\n var val = colWidths[i];\n if (val !== undefined) {\n cloneColumns[i] = val;\n } else {\n return null;\n }\n }\n return cloneColumns;\n }, [colWidths.join('_'), columCount]);\n}\nvar FixedHolder = /*#__PURE__*/React.forwardRef(function (props, ref) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var className = props.className,\n noData = props.noData,\n columns = props.columns,\n flattenColumns = props.flattenColumns,\n colWidths = props.colWidths,\n columCount = props.columCount,\n stickyOffsets = props.stickyOffsets,\n direction = props.direction,\n fixHeader = props.fixHeader,\n stickyTopOffset = props.stickyTopOffset,\n stickyBottomOffset = props.stickyBottomOffset,\n stickyClassName = props.stickyClassName,\n onScroll = props.onScroll,\n maxContentScroll = props.maxContentScroll,\n children = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var _useContext = useContext(TableContext, ['prefixCls', 'scrollbarSize', 'isSticky']),\n prefixCls = _useContext.prefixCls,\n scrollbarSize = _useContext.scrollbarSize,\n isSticky = _useContext.isSticky;\n var combinationScrollBarSize = isSticky && !fixHeader ? 0 : scrollbarSize;\n\n // Pass wheel to scroll event\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 function onWheel(e) {\n var _ref = e,\n currentTarget = _ref.currentTarget,\n deltaX = _ref.deltaX;\n if (deltaX) {\n onScroll({\n currentTarget: currentTarget,\n scrollLeft: currentTarget.scrollLeft + deltaX\n });\n e.preventDefault();\n }\n }\n (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 || _scrollRef$current.addEventListener('wheel', onWheel);\n return function () {\n var _scrollRef$current2;\n (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 || _scrollRef$current2.removeEventListener('wheel', onWheel);\n };\n }, []);\n\n // Check if all flattenColumns has width\n var allFlattenColumnsWithWidth = React.useMemo(function () {\n return flattenColumns.every(function (column) {\n return column.width;\n });\n }, [flattenColumns]);\n\n // Add scrollbar column\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]);\n\n // Calculate the sticky offsets\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({}, restProps), {}, {\n stickyOffsets: headerStickyOffsets,\n columns: columnsWithScrollbar,\n flattenColumns: flattenColumnsWithScrollbar\n }))));\n});\nFixedHolder.displayName = 'FixedHolder';\n\n/** Return a table in div as fixed element which contains sticky info */\n// export default responseImmutable(FixedHolder);\nexport default /*#__PURE__*/React.memo(FixedHolder);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\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 tdCellComponent = _ref.tdCellComponent,\n onHeaderRow = _ref.onHeaderRow,\n index = _ref.index;\n var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n var rowProps;\n if (onHeaderRow) {\n rowProps = onHeaderRow(cells.map(function (cell) {\n return cell.column;\n }), index);\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, column);\n var additionalProps;\n if (column && column.onHeaderCell) {\n additionalProps = cell.column.onHeaderCell(column);\n }\n return /*#__PURE__*/React.createElement(Cell, _extends({}, cell, {\n scope: column.title ? cell.colSpan > 1 ? 'colgroup' : 'col' : null,\n ellipsis: column.ellipsis,\n align: column.align,\n component: column.title ? CellComponent : tdCellComponent,\n prefixCls: prefixCls,\n key: columnsKey[cellIndex]\n }, fixedInfo, {\n additionalProps: additionalProps,\n rowType: \"header\"\n }));\n }));\n}\nHeaderRow.displayName = 'HeaderRow';\nexport default HeaderRow;","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport HeaderRow from \"./HeaderRow\";\nfunction parseHeaderRows(rootColumns) {\n var rows = [];\n function fillRowCells(columns, colIndex) {\n var rowIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n // Init rows\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 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 if ('colSpan' in column) {\n colSpan = column.colSpan;\n }\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\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 }\n\n // Generate `rows` cell data\n fillRowCells(rootColumns, 0);\n\n // Handle `rowSpan`\n var rowCount = rows.length;\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 for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\n _loop(rowIndex);\n }\n return rows;\n}\nfunction Header(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var stickyOffsets = props.stickyOffsets,\n columns = props.columns,\n flattenColumns = props.flattenColumns,\n onHeaderRow = props.onHeaderRow;\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent;\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 var tdComponent = getComponent(['header', 'cell'], 'td');\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 tdCellComponent: tdComponent,\n onHeaderRow: onHeaderRow,\n index: rowIndex\n });\n return rowNode;\n }));\n}\nexport default responseImmutable(Header);","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 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 if (!expandable) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, \"\".concat(prefixCls, \"-row-spaced\"))\n });\n }\n var onClick = function onClick(event) {\n onExpand(record, event);\n event.stopPropagation();\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 function dig(list) {\n (list || []).forEach(function (item, index) {\n keys.push(getRowKey(item, index));\n dig(item[childrenColumnName]);\n });\n }\n dig(data);\n return keys;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\n/**\n * Execute code before next frame but async\n */\nexport function useLayoutState(defaultState) {\n var stateRef = useRef(defaultState);\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n var lastPromiseRef = useRef(null);\n var updateBatchRef = useRef([]);\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 if (prevState !== stateRef.current) {\n forceUpdate({});\n }\n }\n });\n }\n useEffect(function () {\n return function () {\n lastPromiseRef.current = null;\n };\n }, []);\n return [stateRef.current, setFrameState];\n}\n\n/** Lock frame, when frame pass reset the lock. */\nexport function useTimeoutLock(defaultState) {\n var frameRef = useRef(defaultState || null);\n var timeoutRef = useRef();\n function cleanUp() {\n window.clearTimeout(timeoutRef.current);\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 function getState() {\n return frameRef.current;\n }\n useEffect(function () {\n return cleanUp;\n }, []);\n return [setState, getState];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\n// fix ssr render\nvar defaultContainer = canUseDom() ? window : null;\n\n/** Sticky header hooks */\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 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 { useMemo } from 'react';\n/**\n * Get sticky column offset width\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 for (var start = 0; start < columnCount; start += 1) {\n if (direction === 'rtl') {\n // Left offset\n rightOffsets[start] = right;\n right += colWidths[start] || 0;\n\n // Right offset\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;\n\n // Right offset\n var _end = columnCount - start - 1;\n rightOffsets[_end] = right;\n right += colWidths[_end] || 0;\n }\n }\n return {\n left: leftOffsets,\n right: rightOffsets\n };\n }, [colWidths, columnCount, direction]);\n return stickyOffsets;\n}\nexport default useStickyOffsets;","import * as React from 'react';\nfunction Panel(_ref) {\n var className = _ref.className,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, children);\n}\nexport default Panel;","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 { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport { getOffset } from \"rc-util/es/Dom/css\";\nimport getScrollBarSize from \"rc-util/es/getScrollBarSize\";\nimport * as React from 'react';\nimport TableContext from \"./context/TableContext\";\nimport { useLayoutState } from \"./hooks/useFrame\";\nvar StickyScrollBar = function StickyScrollBar(_ref, ref) {\n var _scrollBodyRef$curren, _scrollBodyRef$curren2;\n var scrollBodyRef = _ref.scrollBodyRef,\n onScroll = _ref.onScroll,\n offsetScroll = _ref.offsetScroll,\n container = _ref.container;\n var prefixCls = useContext(TableContext, 'prefixCls');\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 var _useLayoutState = useLayoutState({\n scrollLeft: 0,\n isHiddenScrollBar: false\n }),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n scrollState = _useLayoutState2[0],\n setScrollState = _useLayoutState2[1];\n var refState = React.useRef({\n delta: 0,\n x: 0\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 var onMouseUp = function onMouseUp() {\n setActive(false);\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 var onMouseMove = function onMouseMove(event) {\n var _window;\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n var _ref2 = event || ((_window = window) === null || _window === void 0 ? void 0 : _window.event),\n buttons = _ref2.buttons;\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 return;\n }\n var left = refState.current.x + event.pageX - refState.current.x - refState.current.delta;\n if (left <= 0) {\n left = 0;\n }\n if (left + scrollBarWidth >= bodyWidth) {\n left = bodyWidth - scrollBarWidth;\n }\n onScroll({\n scrollLeft: left / bodyWidth * (bodyScrollWidth + 2)\n });\n refState.current.x = event.pageX;\n };\n var onContainerScroll = function onContainerScroll() {\n if (!scrollBodyRef.current) {\n return;\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 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 var setScrollLeft = function setScrollLeft(left) {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: left / bodyScrollWidth * bodyWidth || 0\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 if (!bodyNode) {\n return state;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: bodyNode.scrollLeft / bodyNode.scrollWidth * bodyNode.clientWidth\n });\n });\n }\n }, [scrollState.isHiddenScrollBar]);\n if (bodyScrollWidth <= bodyWidth || !scrollBarWidth || scrollState.isHiddenScrollBar) {\n return null;\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};\nexport default /*#__PURE__*/React.forwardRef(StickyScrollBar);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\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 classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport Body from \"./Body\";\nimport ColGroup from \"./ColGroup\";\nimport { EXPAND_COLUMN, INTERNAL_HOOKS } from \"./constant\";\nimport TableContext, { makeImmutable } from \"./context/TableContext\";\nimport FixedHolder from \"./FixedHolder\";\nimport Footer, { FooterComponents } from \"./Footer\";\nimport Summary from \"./Footer/Summary\";\nimport Header from \"./Header/Header\";\nimport useColumns from \"./hooks/useColumns\";\nimport useExpand from \"./hooks/useExpand\";\nimport useFixedInfo from \"./hooks/useFixedInfo\";\nimport { useLayoutState, useTimeoutLock } from \"./hooks/useFrame\";\nimport useHover from \"./hooks/useHover\";\nimport useSticky from \"./hooks/useSticky\";\nimport useStickyOffsets from \"./hooks/useStickyOffsets\";\nimport Panel from \"./Panel\";\nimport StickyScrollBar from \"./stickyScrollBar\";\nimport Column from \"./sugar/Column\";\nimport ColumnGroup from \"./sugar/ColumnGroup\";\nimport { getColumnsKey, validateValue } from \"./utils/valueUtil\";\nexport var DEFAULT_PREFIX = 'rc-table';\n\n// Used for conditions cache\nvar EMPTY_DATA = [];\n\n// Used for customize scroll\nvar EMPTY_SCROLL_TARGET = {};\nfunction defaultEmpty() {\n return 'No Data';\n}\nfunction Table(tableProps, ref) {\n var _classNames;\n var props = _objectSpread({\n rowKey: 'key',\n prefixCls: DEFAULT_PREFIX,\n emptyText: defaultEmpty\n }, tableProps);\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 caption = props.caption,\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 tailor = props.tailor,\n getContainerWidth = props.getContainerWidth,\n sticky = props.sticky;\n var mergedData = data || EMPTY_DATA;\n var hasData = !!mergedData.length;\n var useInternalHooks = internalHooks === INTERNAL_HOOKS;\n\n // ===================== Warning ======================\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 }\n\n // ==================== Customize =====================\n var getComponent = React.useCallback(function (path, defaultComponent) {\n return getValue(components, path) || defaultComponent;\n }, [components]);\n var getRowKey = React.useMemo(function () {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return function (record) {\n var key = record && record[rowKey];\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 return key;\n };\n }, [rowKey]);\n var customizeScrollBody = getComponent(['body']);\n\n // ====================== Hover =======================\n var _useHover = useHover(),\n _useHover2 = _slicedToArray(_useHover, 3),\n startRow = _useHover2[0],\n endRow = _useHover2[1],\n onHover = _useHover2[2];\n\n // ====================== Expand ======================\n var _useExpand = useExpand(props, mergedData, getRowKey),\n _useExpand2 = _slicedToArray(_useExpand, 6),\n expandableConfig = _useExpand2[0],\n expandableType = _useExpand2[1],\n mergedExpandedKeys = _useExpand2[2],\n mergedExpandIcon = _useExpand2[3],\n mergedChildrenColumnName = _useExpand2[4],\n onTriggerExpand = _useExpand2[5];\n\n // ====================== Column ======================\n var scrollX = scroll === null || scroll === void 0 ? void 0 : scroll.x;\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n componentWidth = _React$useState2[0],\n setComponentWidth = _React$useState2[1];\n var _useColumns = useColumns(_objectSpread(_objectSpread(_objectSpread({}, props), expandableConfig), {}, {\n expandable: !!expandableConfig.expandedRowRender,\n columnTitle: expandableConfig.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: expandableConfig.expandIconColumnIndex,\n direction: direction,\n scrollWidth: useInternalHooks && tailor && typeof scrollX === 'number' ? scrollX : null,\n clientWidth: componentWidth\n }), useInternalHooks ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 3),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1],\n flattenScrollX = _useColumns2[2];\n var mergedScrollX = flattenScrollX !== null && flattenScrollX !== void 0 ? flattenScrollX : scrollX;\n var columnContext = React.useMemo(function () {\n return {\n columns: columns,\n flattenColumns: flattenColumns\n };\n }, [columns, flattenColumns]);\n\n // ======================= Refs =======================\n var fullTableRef = React.useRef();\n var scrollHeaderRef = React.useRef();\n var scrollBodyRef = React.useRef();\n var scrollBodyContainerRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: fullTableRef.current,\n scrollTo: function scrollTo(config) {\n var _scrollBodyRef$curren3;\n if (scrollBodyRef.current instanceof HTMLElement) {\n // Native scroll\n var index = config.index,\n top = config.top,\n key = config.key;\n if (top) {\n var _scrollBodyRef$curren;\n (_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 || _scrollBodyRef$curren.scrollTo({\n top: top\n });\n } else {\n var _scrollBodyRef$curren2;\n var mergedKey = key !== null && key !== void 0 ? key : getRowKey(mergedData[index]);\n (_scrollBodyRef$curren2 = scrollBodyRef.current.querySelector(\"[data-row-key=\\\"\".concat(mergedKey, \"\\\"]\"))) === null || _scrollBodyRef$curren2 === void 0 || _scrollBodyRef$curren2.scrollIntoView();\n }\n } else if ((_scrollBodyRef$curren3 = scrollBodyRef.current) !== null && _scrollBodyRef$curren3 !== void 0 && _scrollBodyRef$curren3.scrollTo) {\n // Pass to proxy\n scrollBodyRef.current.scrollTo(config);\n }\n }\n };\n });\n\n // ====================== Scroll ======================\n var scrollSummaryRef = React.useRef();\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n pingedLeft = _React$useState4[0],\n setPingedLeft = _React$useState4[1];\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n pingedRight = _React$useState6[0],\n setPingedRight = _React$useState6[1];\n var _useLayoutState = useLayoutState(new Map()),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n colsWidths = _useLayoutState2[0],\n updateColsWidths = _useLayoutState2[1];\n\n // Convert map to number width\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(mergedScrollX) || Boolean(expandableConfig.fixed);\n var fixColumn = horizonScroll && flattenColumns.some(function (_ref) {\n var fixed = _ref.fixed;\n return fixed;\n });\n\n // Sticky\n var stickyRef = React.useRef();\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;\n\n // Footer (Fix footer must fixed header)\n var summaryNode = React.useMemo(function () {\n return summary === null || summary === void 0 ? void 0 : summary(mergedData);\n }, [summary, mergedData]);\n var fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed;\n\n // Scroll\n var scrollXStyle;\n var scrollYStyle;\n var scrollTableStyle;\n if (fixHeader) {\n scrollYStyle = {\n overflowY: 'scroll',\n maxHeight: scroll.y\n };\n }\n if (horizonScroll) {\n scrollXStyle = {\n overflowX: 'auto'\n };\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 if (!fixHeader) {\n scrollYStyle = {\n overflowY: 'hidden'\n };\n }\n scrollTableStyle = {\n width: mergedScrollX === true ? 'auto' : mergedScrollX,\n minWidth: '100%'\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 return widths;\n });\n }\n }, []);\n var _useTimeoutLock = useTimeoutLock(null),\n _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n setScrollTarget = _useTimeoutLock2[0],\n getScrollTarget = _useTimeoutLock2[1];\n function forceScroll(scrollLeft, target) {\n if (!target) {\n return;\n }\n if (typeof target === 'function') {\n target(scrollLeft);\n } else if (target.scrollLeft !== scrollLeft) {\n target.scrollLeft = scrollLeft;\n\n // Delay to force scroll position if not sync\n // ref: https://github.com/ant-design/ant-design/issues/37179\n if (target.scrollLeft !== scrollLeft) {\n setTimeout(function () {\n target.scrollLeft = scrollLeft;\n }, 0);\n }\n }\n }\n var onScroll = useEvent(function (_ref2) {\n var currentTarget = _ref2.currentTarget,\n scrollLeft = _ref2.scrollLeft;\n var isRTL = direction === 'rtl';\n var mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n var compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n var _stickyRef$current;\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 var measureTarget = currentTarget || scrollHeaderRef.current;\n if (measureTarget) {\n var scrollWidth = measureTarget.scrollWidth,\n clientWidth = measureTarget.clientWidth;\n // There is no space to scroll\n if (scrollWidth === clientWidth) {\n setPingedLeft(false);\n setPingedRight(false);\n return;\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 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 var onFullTableResize = function onFullTableResize(_ref3) {\n var width = _ref3.width;\n var mergedWidth = fullTableRef.current ? fullTableRef.current.offsetWidth : width;\n if (useInternalHooks && getContainerWidth && fullTableRef.current) {\n mergedWidth = getContainerWidth(fullTableRef.current, mergedWidth) || mergedWidth;\n }\n if (mergedWidth !== componentWidth) {\n triggerOnScroll();\n setComponentWidth(mergedWidth);\n }\n };\n\n // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\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 }, []);\n\n // ===================== Effects ======================\n var _React$useState7 = React.useState(0),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n scrollbarSize = _React$useState8[0],\n setScrollbarSize = _React$useState8[1];\n var _React$useState9 = React.useState(true),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n supportSticky = _React$useState10[0],\n setSupportSticky = _React$useState10[1]; // Only IE not support, we mark as support first\n\n React.useEffect(function () {\n if (!tailor || !useInternalHooks) {\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 }, []);\n\n // ================== INTERNAL HOOKS ==================\n React.useEffect(function () {\n if (useInternalHooks && internalRefs) {\n internalRefs.body.current = scrollBodyRef.current;\n }\n });\n\n // ========================================================================\n // == Render ==\n // ========================================================================\n // =================== Render: Func ===================\n var renderFixedHeaderTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode));\n }, [fixFooter, summaryNode]);\n var renderFixedFooterTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode);\n }, [summaryNode]);\n\n // =================== Render: Node ===================\n var TableComponent = getComponent(['table'], 'table');\n\n // Table layout\n var mergedTableLayout = React.useMemo(function () {\n if (tableLayout) {\n return tableLayout;\n }\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 if (fixColumn) {\n return mergedScrollX === 'max-content' ? 'auto' : 'fixed';\n }\n if (fixHeader || isSticky || flattenColumns.some(function (_ref4) {\n var ellipsis = _ref4.ellipsis;\n return ellipsis;\n })) {\n return 'fixed';\n }\n return 'auto';\n }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n var groupTableNode;\n\n // Header props\n var headerProps = {\n colWidths: colWidths,\n columCount: flattenColumns.length,\n stickyOffsets: stickyOffsets,\n onHeaderRow: onHeaderRow,\n fixHeader: fixHeader,\n scroll: scroll\n };\n\n // Empty\n var emptyNode = React.useMemo(function () {\n if (hasData) {\n return null;\n }\n if (typeof emptyText === 'function') {\n return emptyText();\n }\n return emptyText;\n }, [hasData, emptyText]);\n\n // Body\n var bodyTable = /*#__PURE__*/React.createElement(Body, {\n data: mergedData,\n measureColumnWidth: fixHeader || horizonScroll || isSticky\n });\n var bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: flattenColumns.map(function (_ref5) {\n var width = _ref5.width;\n return width;\n }),\n columns: flattenColumns\n });\n var captionElement = caption !== null && caption !== undefined ? /*#__PURE__*/React.createElement(\"caption\", {\n className: \"\".concat(prefixCls, \"-caption\")\n }, caption) : undefined;\n var dataProps = pickAttrs(props, {\n data: true\n });\n var ariaProps = pickAttrs(props, {\n aria: true\n });\n if (fixHeader || isSticky) {\n // >>>>>> Fixed Header\n var bodyContent;\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 (_ref6, index) {\n var width = _ref6.width;\n var colWidth = index === flattenColumns.length - 1 ? width - scrollbarSize : width;\n if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n return colWidth;\n }\n if (process.env.NODE_ENV !== 'production') {\n warning(props.columns.length === 0, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n }\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, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, bodyTable, !fixFooter && summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns,\n columns: columns\n }, summaryNode)));\n }\n\n // Fixed holder share the props\n var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n noData: !mergedData.length,\n maxContentScroll: horizonScroll && mergedScrollX === 'max-content'\n }, headerProps), columnContext), {}, {\n direction: direction,\n stickyClassName: stickyClassName,\n onScroll: onScroll\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 }), renderFixedHeaderTable), bodyContent, fixFooter && fixFooter !== 'top' && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyBottomOffset: offsetSummary,\n className: \"\".concat(prefixCls, \"-summary\"),\n ref: scrollSummaryRef\n }), renderFixedFooterTable), isSticky && scrollBodyRef.current && scrollBodyRef.current instanceof Element && /*#__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, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, showHeader !== false && /*#__PURE__*/React.createElement(Header, _extends({}, headerProps, columnContext)), bodyTable, summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns,\n columns: columns\n }, summaryNode)));\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 }, dataProps), 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 if (horizonScroll) {\n fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onFullTableResize\n }, fullTable);\n }\n var fixedInfoList = useFixedInfo(flattenColumns, stickyOffsets, direction, columns);\n var TableContextValue = React.useMemo(function () {\n return {\n // Scroll\n scrollX: mergedScrollX,\n // Table\n prefixCls: prefixCls,\n getComponent: getComponent,\n scrollbarSize: scrollbarSize,\n direction: direction,\n fixedInfoList: fixedInfoList,\n isSticky: isSticky,\n supportSticky: supportSticky,\n componentWidth: componentWidth,\n fixHeader: fixHeader,\n fixColumn: fixColumn,\n horizonScroll: horizonScroll,\n // Body\n tableLayout: mergedTableLayout,\n rowClassName: rowClassName,\n expandedRowClassName: expandableConfig.expandedRowClassName,\n expandIcon: mergedExpandIcon,\n expandableType: expandableType,\n expandRowByClick: expandableConfig.expandRowByClick,\n expandedRowRender: expandableConfig.expandedRowRender,\n onTriggerExpand: onTriggerExpand,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n indentSize: expandableConfig.indentSize,\n allColumnsFixedLeft: flattenColumns.every(function (col) {\n return col.fixed === 'left';\n }),\n emptyNode: emptyNode,\n // Column\n columns: columns,\n flattenColumns: flattenColumns,\n onColumnResize: onColumnResize,\n // Row\n hoverStartRow: startRow,\n hoverEndRow: endRow,\n onHover: onHover,\n rowExpandable: expandableConfig.rowExpandable,\n onRow: onRow,\n getRowKey: getRowKey,\n expandedKeys: mergedExpandedKeys,\n childrenColumnName: mergedChildrenColumnName\n };\n }, [\n // Scroll\n mergedScrollX,\n // Table\n prefixCls, getComponent, scrollbarSize, direction, fixedInfoList, isSticky, supportSticky, componentWidth, fixHeader, fixColumn, horizonScroll,\n // Body\n mergedTableLayout, rowClassName, expandableConfig.expandedRowClassName, mergedExpandIcon, expandableType, expandableConfig.expandRowByClick, expandableConfig.expandedRowRender, onTriggerExpand, expandableConfig.expandIconColumnIndex, expandableConfig.indentSize, emptyNode,\n // Column\n columns, flattenColumns, onColumnResize,\n // Row\n startRow, endRow, onHover, expandableConfig.rowExpandable, onRow, getRowKey, mergedExpandedKeys, mergedChildrenColumnName]);\n return /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: TableContextValue\n }, fullTable);\n}\nvar RefTable = /*#__PURE__*/React.forwardRef(Table);\nif (process.env.NODE_ENV !== 'production') {\n RefTable.displayName = 'Table';\n}\nexport function genTable(shouldTriggerRender) {\n return makeImmutable(RefTable, shouldTriggerRender);\n}\nvar ImmutableTable = genTable();\nImmutableTable.EXPAND_COLUMN = EXPAND_COLUMN;\nImmutableTable.INTERNAL_HOOKS = INTERNAL_HOOKS;\nImmutableTable.Column = Column;\nImmutableTable.ColumnGroup = ColumnGroup;\nImmutableTable.Summary = FooterComponents;\nexport default ImmutableTable;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useHover() {\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 var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n endRow = _React$useState4[0],\n setEndRow = _React$useState4[1];\n var onHover = React.useCallback(function (start, end) {\n setStartRow(start);\n setEndRow(end);\n }, []);\n return [startRow, endRow, onHover];\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { INTERNAL_HOOKS } from \"../constant\";\nimport { findAllChildrenKeys, renderExpandIcon } from \"../utils/expandUtil\";\nimport { getExpandableProps } from \"../utils/legacyUtil\";\nexport default function useExpand(props, mergedData, getRowKey) {\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 onExpand = expandableConfig.onExpand,\n onExpandedRowsChange = expandableConfig.onExpandedRowsChange,\n childrenColumnName = expandableConfig.childrenColumnName;\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 * 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 if (props.expandable && props.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 return false;\n }, [!!expandedRowRender, mergedData]);\n var _React$useState = React.useState(function () {\n if (defaultExpandedRowKeys) {\n return defaultExpandedRowKeys;\n }\n if (defaultExpandAllRows) {\n return findAllChildrenKeys(mergedData, getRowKey, mergedChildrenColumnName);\n }\n return [];\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerExpandedKeys = _React$useState2[0],\n setInnerExpandedKeys = _React$useState2[1];\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 if (hasKey) {\n mergedExpandedKeys.delete(key);\n newExpandedKeys = _toConsumableArray(mergedExpandedKeys);\n } else {\n newExpandedKeys = [].concat(_toConsumableArray(mergedExpandedKeys), [key]);\n }\n setInnerExpandedKeys(newExpandedKeys);\n if (onExpand) {\n onExpand(!hasKey, record);\n }\n if (onExpandedRowsChange) {\n onExpandedRowsChange(newExpandedKeys);\n }\n }, [getRowKey, mergedExpandedKeys, mergedData, onExpand, onExpandedRowsChange]);\n\n // Warning if use `expandedRowRender` and nest children in the same time\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 }\n return [expandableConfig, expandableType, mergedExpandedKeys, mergedExpandIcon, mergedChildrenColumnName, onTriggerExpand];\n}","import useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nexport default function useFixedInfo(flattenColumns, stickyOffsets, direction, columns) {\n var fixedInfoList = flattenColumns.map(function (_, colIndex) {\n return getCellFixedInfo(colIndex, colIndex, flattenColumns, stickyOffsets, direction, columns === null || columns === void 0 ? void 0 : columns[colIndex]);\n });\n return useMemo(function () {\n return fixedInfoList;\n }, [fixedInfoList], function (prev, next) {\n return !isEqual(prev, next);\n });\n}","/* istanbul ignore next */\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */ // eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction Column(_) {\n return null;\n}\nexport default Column;","/* istanbul ignore next */\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */ // eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction ColumnGroup(_) {\n return null;\n}\nexport default ColumnGroup;","import { createContext } from '@rc-component/context';\nexport var StaticContext = createContext(null);\nexport var GridContext = createContext(null);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { getCellProps } from \"../Body/BodyRow\";\nimport Cell from \"../Cell\";\nimport { GridContext } from \"./context\";\n/**\n * Return the width of the column by `colSpan`.\n * When `colSpan` is `0` will be trade as `1`.\n */\nexport function getColumnWidth(colIndex, colSpan, columnsOffset) {\n var mergedColSpan = colSpan || 1;\n return columnsOffset[colIndex + mergedColSpan] - (columnsOffset[colIndex] || 0);\n}\nfunction VirtualCell(props) {\n var rowInfo = props.rowInfo,\n column = props.column,\n colIndex = props.colIndex,\n indent = props.indent,\n index = props.index,\n renderIndex = props.renderIndex,\n record = props.record,\n style = props.style,\n className = props.className,\n inverse = props.inverse,\n getHeight = props.getHeight;\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className,\n colWidth = column.width;\n var _useContext = useContext(GridContext, ['columnsOffset']),\n columnsOffset = _useContext.columnsOffset;\n var _getCellProps = getCellProps(rowInfo, column, colIndex, indent, index),\n key = _getCellProps.key,\n fixedInfo = _getCellProps.fixedInfo,\n appendCellNode = _getCellProps.appendCellNode,\n additionalCellProps = _getCellProps.additionalCellProps;\n var cellStyle = additionalCellProps.style,\n _additionalCellProps$ = additionalCellProps.colSpan,\n colSpan = _additionalCellProps$ === void 0 ? 1 : _additionalCellProps$,\n _additionalCellProps$2 = additionalCellProps.rowSpan,\n rowSpan = _additionalCellProps$2 === void 0 ? 1 : _additionalCellProps$2;\n\n // ========================= ColWidth =========================\n // column width\n var startColIndex = colIndex - 1;\n var concatColWidth = getColumnWidth(startColIndex, colSpan, columnsOffset);\n\n // margin offset\n var marginOffset = colSpan > 1 ? colWidth - concatColWidth : 0;\n\n // ========================== Style ===========================\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread({}, cellStyle), style), {}, {\n flex: \"0 0 \".concat(concatColWidth, \"px\"),\n width: \"\".concat(concatColWidth, \"px\"),\n marginRight: marginOffset,\n pointerEvents: 'auto'\n });\n\n // When `colSpan` or `rowSpan` is `0`, should skip render.\n var needHide = React.useMemo(function () {\n if (inverse) {\n return rowSpan <= 1;\n } else {\n return colSpan === 0 || rowSpan === 0 || rowSpan > 1;\n }\n }, [rowSpan, colSpan, inverse]);\n\n // 0 rowSpan or colSpan should not render\n if (needHide) {\n mergedStyle.visibility = 'hidden';\n } else if (inverse) {\n mergedStyle.height = getHeight === null || getHeight === void 0 ? void 0 : getHeight(rowSpan);\n }\n var mergedRender = needHide ? function () {\n return null;\n } : render;\n\n // ========================== Render ==========================\n var cellSpan = {};\n\n // Virtual should reset `colSpan` & `rowSpan`\n if (rowSpan === 0 || colSpan === 0) {\n cellSpan.rowSpan = 1;\n cellSpan.colSpan = 1;\n }\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: classNames(columnClassName, className),\n ellipsis: column.ellipsis,\n align: column.align,\n scope: column.rowScope,\n component: \"div\",\n prefixCls: rowInfo.prefixCls,\n key: key,\n record: record,\n index: index,\n renderIndex: renderIndex,\n dataIndex: dataIndex,\n render: mergedRender,\n shouldCellUpdate: column.shouldCellUpdate\n }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: _objectSpread(_objectSpread({}, additionalCellProps), {}, {\n style: mergedStyle\n }, cellSpan)\n }));\n}\nexport default VirtualCell;","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 _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"data\", \"index\", \"className\", \"rowKey\", \"style\", \"extra\", \"getHeight\"];\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useRowInfo from \"../hooks/useRowInfo\";\nimport VirtualCell from \"./VirtualCell\";\nvar BodyLine = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n index = props.index,\n className = props.className,\n rowKey = props.rowKey,\n style = props.style,\n extra = props.extra,\n getHeight = props.getHeight,\n restProps = _objectWithoutProperties(props, _excluded);\n var record = data.record,\n indent = data.indent,\n renderIndex = data.index;\n var _useContext = useContext(TableContext, ['prefixCls', 'flattenColumns', 'fixColumn', 'componentWidth', 'scrollX']),\n scrollX = _useContext.scrollX,\n flattenColumns = _useContext.flattenColumns,\n prefixCls = _useContext.prefixCls,\n fixColumn = _useContext.fixColumn,\n componentWidth = _useContext.componentWidth;\n var rowInfo = useRowInfo(record, rowKey, index, indent);\n\n // ========================== Expand ==========================\n var rowSupportExpand = rowInfo.rowSupportExpand,\n expanded = rowInfo.expanded,\n rowProps = rowInfo.rowProps,\n expandedRowRender = rowInfo.expandedRowRender,\n expandedRowClassName = rowInfo.expandedRowClassName;\n var expandRowNode;\n if (rowSupportExpand && expanded) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n var computedExpandedRowClassName = expandedRowClassName === null || expandedRowClassName === void 0 ? void 0 : expandedRowClassName(record, index, indent);\n var additionalProps = {};\n if (fixColumn) {\n additionalProps = {\n style: _defineProperty({}, '--virtual-width', \"\".concat(componentWidth, \"px\"))\n };\n }\n var rowCellCls = \"\".concat(prefixCls, \"-expanded-row-cell\");\n expandRowNode = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), computedExpandedRowClassName)\n }, /*#__PURE__*/React.createElement(Cell, {\n component: \"div\",\n prefixCls: prefixCls,\n className: classNames(rowCellCls, _defineProperty({}, \"\".concat(rowCellCls, \"-fixed\"), fixColumn)),\n additionalProps: additionalProps\n }, expandContent));\n }\n\n // ========================== Render ==========================\n\n var rowStyle = _objectSpread(_objectSpread({}, style), {}, {\n width: scrollX\n });\n if (extra) {\n rowStyle.position = 'absolute';\n rowStyle.pointerEvents = 'none';\n }\n var rowNode = /*#__PURE__*/React.createElement(\"div\", _extends({}, rowProps, restProps, {\n ref: rowSupportExpand ? null : ref,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className, _defineProperty({}, \"\".concat(prefixCls, \"-row-extra\"), extra)),\n style: _objectSpread(_objectSpread({}, rowStyle), rowProps === null || rowProps === void 0 ? void 0 : rowProps.style)\n }), flattenColumns.map(function (column, colIndex) {\n return /*#__PURE__*/React.createElement(VirtualCell, {\n key: colIndex,\n rowInfo: rowInfo,\n column: column,\n colIndex: colIndex,\n indent: indent,\n index: index,\n renderIndex: renderIndex,\n record: record,\n inverse: extra,\n getHeight: getHeight\n });\n }));\n if (rowSupportExpand) {\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref\n }, rowNode, expandRowNode);\n }\n return rowNode;\n});\nvar ResponseBodyLine = responseImmutable(BodyLine);\nif (process.env.NODE_ENV !== 'production') {\n ResponseBodyLine.displayName = 'BodyLine';\n}\nexport default ResponseBodyLine;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport BodyLine from \"./BodyLine\";\nimport { GridContext, StaticContext } from \"./context\";\nvar Grid = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n onScroll = props.onScroll;\n var _useContext = useContext(TableContext, ['flattenColumns', 'onColumnResize', 'getRowKey', 'prefixCls', 'expandedKeys', 'childrenColumnName', 'emptyNode', 'scrollX']),\n flattenColumns = _useContext.flattenColumns,\n onColumnResize = _useContext.onColumnResize,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n prefixCls = _useContext.prefixCls,\n childrenColumnName = _useContext.childrenColumnName,\n emptyNode = _useContext.emptyNode,\n scrollX = _useContext.scrollX;\n var _useContext2 = useContext(StaticContext),\n sticky = _useContext2.sticky,\n scrollY = _useContext2.scrollY,\n listItemHeight = _useContext2.listItemHeight;\n\n // =========================== Ref ============================\n var listRef = React.useRef();\n\n // =========================== Data ===========================\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // ========================== Column ==========================\n var columnsWidth = React.useMemo(function () {\n var total = 0;\n return flattenColumns.map(function (_ref) {\n var width = _ref.width,\n key = _ref.key;\n total += width;\n return [key, width, total];\n });\n }, [flattenColumns]);\n var columnsOffset = React.useMemo(function () {\n return columnsWidth.map(function (colWidth) {\n return colWidth[2];\n });\n }, [columnsWidth]);\n React.useEffect(function () {\n columnsWidth.forEach(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n width = _ref3[1];\n onColumnResize(key, width);\n });\n }, [columnsWidth]);\n\n // =========================== Ref ============================\n React.useImperativeHandle(ref, function () {\n var obj = {\n scrollTo: function scrollTo(config) {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollTo(config);\n }\n };\n Object.defineProperty(obj, 'scrollLeft', {\n get: function get() {\n var _listRef$current2;\n return ((_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.getScrollInfo().x) || 0;\n },\n set: function set(value) {\n var _listRef$current3;\n (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 || _listRef$current3.scrollTo({\n left: value\n });\n }\n });\n return obj;\n });\n\n // ======================= Col/Row Span =======================\n var getRowSpan = function getRowSpan(column, index) {\n var _flattenData$index;\n var record = (_flattenData$index = flattenData[index]) === null || _flattenData$index === void 0 ? void 0 : _flattenData$index.record;\n var onCell = column.onCell;\n if (onCell) {\n var _cellProps$rowSpan;\n var cellProps = onCell(record, index);\n return (_cellProps$rowSpan = cellProps === null || cellProps === void 0 ? void 0 : cellProps.rowSpan) !== null && _cellProps$rowSpan !== void 0 ? _cellProps$rowSpan : 1;\n }\n return 1;\n };\n var extraRender = function extraRender(info) {\n var start = info.start,\n end = info.end,\n getSize = info.getSize,\n offsetY = info.offsetY;\n\n // Do nothing if no data\n if (end < 0) {\n return null;\n }\n\n // Find first rowSpan column\n var firstRowSpanColumns = flattenColumns.filter(\n // rowSpan is 0\n function (column) {\n return getRowSpan(column, start) === 0;\n });\n var startIndex = start;\n var _loop = function _loop(i) {\n firstRowSpanColumns = firstRowSpanColumns.filter(function (column) {\n return getRowSpan(column, i) === 0;\n });\n if (!firstRowSpanColumns.length) {\n startIndex = i;\n return 1; // break\n }\n };\n for (var i = start; i >= 0; i -= 1) {\n if (_loop(i)) break;\n }\n\n // Find last rowSpan column\n var lastRowSpanColumns = flattenColumns.filter(\n // rowSpan is not 1\n function (column) {\n return getRowSpan(column, end) !== 1;\n });\n var endIndex = end;\n var _loop2 = function _loop2(_i) {\n lastRowSpanColumns = lastRowSpanColumns.filter(function (column) {\n return getRowSpan(column, _i) !== 1;\n });\n if (!lastRowSpanColumns.length) {\n endIndex = Math.max(_i - 1, end);\n return 1; // break\n }\n };\n for (var _i = end; _i < flattenData.length; _i += 1) {\n if (_loop2(_i)) break;\n }\n\n // Collect the line who has rowSpan\n var spanLines = [];\n var _loop3 = function _loop3(_i2) {\n var item = flattenData[_i2];\n\n // This code will never reach, just incase\n if (!item) {\n return 1; // continue\n }\n if (flattenColumns.some(function (column) {\n return getRowSpan(column, _i2) > 1;\n })) {\n spanLines.push(_i2);\n }\n };\n for (var _i2 = startIndex; _i2 <= endIndex; _i2 += 1) {\n if (_loop3(_i2)) continue;\n }\n\n // Patch extra line on the page\n var nodes = spanLines.map(function (index) {\n var item = flattenData[index];\n var rowKey = getRowKey(item.record, index);\n var getHeight = function getHeight(rowSpan) {\n var endItemIndex = index + rowSpan - 1;\n var endItemKey = getRowKey(flattenData[endItemIndex].record, endItemIndex);\n var sizeInfo = getSize(rowKey, endItemKey);\n return sizeInfo.bottom - sizeInfo.top;\n };\n var sizeInfo = getSize(rowKey);\n return /*#__PURE__*/React.createElement(BodyLine, {\n key: index,\n data: item,\n rowKey: rowKey,\n index: index,\n style: {\n top: -offsetY + sizeInfo.top\n },\n extra: true,\n getHeight: getHeight\n });\n });\n return nodes;\n };\n\n // ========================= Context ==========================\n var gridContext = React.useMemo(function () {\n return {\n columnsOffset: columnsOffset\n };\n }, [columnsOffset]);\n\n // ========================== Render ==========================\n var tblPrefixCls = \"\".concat(prefixCls, \"-tbody\");\n var bodyContent;\n if (flattenData.length) {\n // ========================== Sticky Scroll Bar ==========================\n var horizontalScrollBarStyle = {};\n if (sticky) {\n horizontalScrollBarStyle.position = 'sticky';\n horizontalScrollBarStyle.bottom = 0;\n if (_typeof(sticky) === 'object' && sticky.offsetScroll) {\n horizontalScrollBarStyle.bottom = sticky.offsetScroll;\n }\n }\n bodyContent = /*#__PURE__*/React.createElement(VirtualList, {\n fullHeight: false,\n ref: listRef,\n styles: {\n horizontalScrollBar: horizontalScrollBarStyle\n },\n className: classNames(tblPrefixCls, \"\".concat(tblPrefixCls, \"-virtual\")),\n height: scrollY,\n itemHeight: listItemHeight || 24,\n data: flattenData,\n itemKey: function itemKey(item) {\n return getRowKey(item.record);\n },\n scrollWidth: scrollX,\n onVirtualScroll: function onVirtualScroll(_ref4) {\n var x = _ref4.x;\n onScroll({\n scrollLeft: x\n });\n },\n extraRender: extraRender\n }, function (item, index, itemProps) {\n var rowKey = getRowKey(item.record, index);\n return /*#__PURE__*/React.createElement(BodyLine, _extends({\n data: item,\n rowKey: rowKey,\n index: index\n }, itemProps));\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-placeholder\"))\n }, /*#__PURE__*/React.createElement(Cell, {\n component: \"div\",\n prefixCls: prefixCls\n }, emptyNode));\n }\n return /*#__PURE__*/React.createElement(GridContext.Provider, {\n value: gridContext\n }, bodyContent);\n});\nvar ResponseGrid = responseImmutable(Grid);\nif (process.env.NODE_ENV !== 'production') {\n ResponseGrid.displayName = 'ResponseGrid';\n}\nexport default ResponseGrid;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport { warning } from 'rc-util';\nimport * as React from 'react';\nimport { INTERNAL_HOOKS } from \"../constant\";\nimport { makeImmutable } from \"../context/TableContext\";\nimport Table, { DEFAULT_PREFIX } from \"../Table\";\nimport Grid from \"./BodyGrid\";\nimport { StaticContext } from \"./context\";\nvar renderBody = function renderBody(rawData, props) {\n var ref = props.ref,\n onScroll = props.onScroll;\n return /*#__PURE__*/React.createElement(Grid, {\n ref: ref,\n data: rawData,\n onScroll: onScroll\n });\n};\nfunction VirtualTable(props, ref) {\n var columns = props.columns,\n scroll = props.scroll,\n sticky = props.sticky,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? DEFAULT_PREFIX : _props$prefixCls,\n className = props.className,\n listItemHeight = props.listItemHeight,\n components = props.components;\n var _ref = scroll || {},\n scrollX = _ref.x,\n scrollY = _ref.y;\n\n // Fill scrollX\n if (typeof scrollX !== 'number') {\n if (process.env.NODE_ENV !== 'production') {\n warning(!scrollX, '`scroll.x` in virtual table must be number.');\n }\n scrollX = 1;\n }\n\n // Fill scrollY\n if (typeof scrollY !== 'number') {\n scrollY = 500;\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`scroll.y` in virtual table must be number.');\n }\n }\n\n // ========================= Context ==========================\n var context = React.useMemo(function () {\n return {\n sticky: sticky,\n scrollY: scrollY,\n listItemHeight: listItemHeight\n };\n }, [sticky, scrollY, listItemHeight]);\n\n // ========================== Render ==========================\n return /*#__PURE__*/React.createElement(StaticContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Table, _extends({}, props, {\n className: classNames(className, \"\".concat(prefixCls, \"-virtual\")),\n scroll: _objectSpread(_objectSpread({}, scroll), {}, {\n x: scrollX\n }),\n components: _objectSpread(_objectSpread({}, components), {}, {\n body: renderBody\n }),\n columns: columns,\n internalHooks: INTERNAL_HOOKS,\n tailor: true,\n ref: ref\n })));\n}\nvar RefVirtualTable = /*#__PURE__*/React.forwardRef(VirtualTable);\nif (process.env.NODE_ENV !== 'production') {\n RefVirtualTable.displayName = 'VirtualTable';\n}\nexport function genVirtualTable(shouldTriggerRender) {\n return makeImmutable(RefVirtualTable, shouldTriggerRender);\n}\nexport default genVirtualTable();","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 var config;\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', 'title'].some(function (prop) {\n return prop in props;\n })) {\n warning(false, 'expanded related props have been moved into `expandable`.');\n }\n config = legacyExpandableConfig;\n }\n if (config.showExpandColumn === false) {\n config.expandIconColumnIndex = -1;\n }\n return config;\n}","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext(null);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n};\nexport default function useOffsets(tabs, tabSizes, holderScrollWidth) {\n return useMemo(function () {\n var _tabs$;\n var map = new Map();\n var lastOffset = tabSizes.get((_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key) || DEFAULT_SIZE;\n var rightOffset = lastOffset.left + lastOffset.width;\n for (var i = 0; i < tabs.length; i += 1) {\n var key = tabs[i].key;\n var data = tabSizes.get(key);\n\n // Reuse last one when not exist yet\n if (!data) {\n var _tabs;\n data = tabSizes.get((_tabs = tabs[i - 1]) === null || _tabs === void 0 ? void 0 : _tabs.key) || DEFAULT_SIZE;\n }\n var entity = map.get(key) || _objectSpread({}, data);\n\n // Right\n entity.right = rightOffset - entity.left - entity.width;\n\n // Update entity\n map.set(key, entity);\n }\n return map;\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), tabSizes, holderScrollWidth]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useSyncState(defaultState, onChange) {\n var stateRef = React.useRef(defaultState);\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n function setState(updater) {\n var newValue = typeof updater === 'function' ? updater(stateRef.current) : updater;\n if (newValue !== stateRef.current) {\n onChange(newValue, stateRef.current);\n }\n stateRef.current = newValue;\n forceUpdate({});\n }\n return [stateRef.current, setState];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nvar MIN_SWIPE_DISTANCE = 0.1;\nvar STOP_SWIPE_DISTANCE = 0.01;\nvar REFRESH_INTERVAL = 20;\nvar SPEED_OFF_MULTIPLE = Math.pow(0.995, REFRESH_INTERVAL);\n\n// ================================= Hook =================================\nexport default function useTouchMove(ref, onOffset) {\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n touchPosition = _useState2[0],\n setTouchPosition = _useState2[1];\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n lastTimestamp = _useState4[0],\n setLastTimestamp = _useState4[1];\n var _useState5 = useState(0),\n _useState6 = _slicedToArray(_useState5, 2),\n lastTimeDiff = _useState6[0],\n setLastTimeDiff = _useState6[1];\n var _useState7 = useState(),\n _useState8 = _slicedToArray(_useState7, 2),\n lastOffset = _useState8[0],\n setLastOffset = _useState8[1];\n var motionRef = useRef();\n\n // ========================= Events =========================\n // >>> Touch events\n function onTouchStart(e) {\n var _e$touches$ = e.touches[0],\n screenX = _e$touches$.screenX,\n screenY = _e$touches$.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n window.clearInterval(motionRef.current);\n }\n function onTouchMove(e) {\n if (!touchPosition) return;\n e.preventDefault();\n var _e$touches$2 = e.touches[0],\n screenX = _e$touches$2.screenX,\n screenY = _e$touches$2.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n var offsetX = screenX - touchPosition.x;\n var offsetY = screenY - touchPosition.y;\n onOffset(offsetX, offsetY);\n var now = Date.now();\n setLastTimestamp(now);\n setLastTimeDiff(now - lastTimestamp);\n setLastOffset({\n x: offsetX,\n y: offsetY\n });\n }\n function onTouchEnd() {\n if (!touchPosition) return;\n setTouchPosition(null);\n setLastOffset(null);\n\n // Swipe if needed\n if (lastOffset) {\n var distanceX = lastOffset.x / lastTimeDiff;\n var distanceY = lastOffset.y / lastTimeDiff;\n var absX = Math.abs(distanceX);\n var absY = Math.abs(distanceY);\n\n // Skip swipe if low distance\n if (Math.max(absX, absY) < MIN_SWIPE_DISTANCE) return;\n var currentX = distanceX;\n var currentY = distanceY;\n motionRef.current = window.setInterval(function () {\n if (Math.abs(currentX) < STOP_SWIPE_DISTANCE && Math.abs(currentY) < STOP_SWIPE_DISTANCE) {\n window.clearInterval(motionRef.current);\n return;\n }\n currentX *= SPEED_OFF_MULTIPLE;\n currentY *= SPEED_OFF_MULTIPLE;\n onOffset(currentX * REFRESH_INTERVAL, currentY * REFRESH_INTERVAL);\n }, REFRESH_INTERVAL);\n }\n }\n\n // >>> Wheel event\n var lastWheelDirectionRef = useRef();\n function onWheel(e) {\n var deltaX = e.deltaX,\n deltaY = e.deltaY;\n\n // Convert both to x & y since wheel only happened on PC\n var mixed = 0;\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n if (absX === absY) {\n mixed = lastWheelDirectionRef.current === 'x' ? deltaX : deltaY;\n } else if (absX > absY) {\n mixed = deltaX;\n lastWheelDirectionRef.current = 'x';\n } else {\n mixed = deltaY;\n lastWheelDirectionRef.current = 'y';\n }\n if (onOffset(-mixed, -mixed)) {\n e.preventDefault();\n }\n }\n\n // ========================= Effect =========================\n var touchEventsRef = useRef(null);\n touchEventsRef.current = {\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd,\n onWheel: onWheel\n };\n React.useEffect(function () {\n function onProxyTouchStart(e) {\n touchEventsRef.current.onTouchStart(e);\n }\n function onProxyTouchMove(e) {\n touchEventsRef.current.onTouchMove(e);\n }\n function onProxyTouchEnd(e) {\n touchEventsRef.current.onTouchEnd(e);\n }\n function onProxyWheel(e) {\n touchEventsRef.current.onWheel(e);\n }\n document.addEventListener('touchmove', onProxyTouchMove, {\n passive: false\n });\n document.addEventListener('touchend', onProxyTouchEnd, {\n passive: false\n });\n\n // No need to clean up since element removed\n ref.current.addEventListener('touchstart', onProxyTouchStart, {\n passive: false\n });\n ref.current.addEventListener('wheel', onProxyWheel);\n return function () {\n document.removeEventListener('touchmove', onProxyTouchMove);\n document.removeEventListener('touchend', onProxyTouchEnd);\n };\n }, []);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useLayoutUpdateEffect } from \"rc-util/es/hooks/useLayoutEffect\";\nimport { useRef, useState } from 'react';\n\n/**\n * Help to merge callback with `useLayoutEffect`.\n * One time will only trigger once.\n */\nexport default function useUpdate(callback) {\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n count = _useState2[0],\n setCount = _useState2[1];\n var effectRef = useRef(0);\n var callbackRef = useRef();\n callbackRef.current = callback;\n\n // Trigger on `useLayoutEffect`\n useLayoutUpdateEffect(function () {\n var _callbackRef$current;\n (_callbackRef$current = callbackRef.current) === null || _callbackRef$current === void 0 || _callbackRef$current.call(callbackRef);\n }, [count]);\n\n // Trigger to update count\n return function () {\n if (effectRef.current !== count) {\n return;\n }\n effectRef.current += 1;\n setCount(effectRef.current);\n };\n}\nexport function useUpdateState(defaultState) {\n var batchRef = useRef([]);\n var _useState3 = useState({}),\n _useState4 = _slicedToArray(_useState3, 2),\n forceUpdate = _useState4[1];\n var state = useRef(typeof defaultState === 'function' ? defaultState() : defaultState);\n var flushUpdate = useUpdate(function () {\n var current = state.current;\n batchRef.current.forEach(function (callback) {\n current = callback(current);\n });\n batchRef.current = [];\n state.current = current;\n forceUpdate({});\n });\n function updater(callback) {\n batchRef.current.push(callback);\n flushUpdate();\n }\n return [state.current, updater];\n}","import { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n right: 0\n};\nexport default function useVisibleRange(tabOffsets, visibleTabContentValue, transform, tabContentSizeValue, addNodeSizeValue, operationNodeSizeValue, _ref) {\n var tabs = _ref.tabs,\n tabPosition = _ref.tabPosition,\n rtl = _ref.rtl;\n var charUnit;\n var position;\n var transformSize;\n if (['top', 'bottom'].includes(tabPosition)) {\n charUnit = 'width';\n position = rtl ? 'right' : 'left';\n transformSize = Math.abs(transform);\n } else {\n charUnit = 'height';\n position = 'top';\n transformSize = -transform;\n }\n return useMemo(function () {\n if (!tabs.length) {\n return [0, 0];\n }\n var len = tabs.length;\n var endIndex = len;\n for (var i = 0; i < len; i += 1) {\n var offset = tabOffsets.get(tabs[i].key) || DEFAULT_SIZE;\n if (offset[position] + offset[charUnit] > transformSize + visibleTabContentValue) {\n endIndex = i - 1;\n break;\n }\n }\n var startIndex = 0;\n for (var _i = len - 1; _i >= 0; _i -= 1) {\n var _offset = tabOffsets.get(tabs[_i].key) || DEFAULT_SIZE;\n if (_offset[position] < transformSize) {\n startIndex = _i + 1;\n break;\n }\n }\n return startIndex >= endIndex ? [0, 0] : [startIndex, endIndex];\n }, [tabOffsets, visibleTabContentValue, tabContentSizeValue, addNodeSizeValue, operationNodeSizeValue, transformSize, tabPosition, tabs.map(function (tab) {\n return tab.key;\n }).join('_'), rtl]);\n}","/**\n * We trade Map as deps which may change with same value but different ref object.\n * We should make it as hash for deps\n * */\nexport function stringify(obj) {\n var tgt;\n if (obj instanceof Map) {\n tgt = {};\n obj.forEach(function (v, k) {\n tgt[k] = v;\n });\n } else {\n tgt = obj;\n }\n return JSON.stringify(tgt);\n}\nvar RC_TABS_DOUBLE_QUOTE = 'TABS_DQ';\nexport function genDataNodeKey(key) {\n return String(key).replace(/\"/g, RC_TABS_DOUBLE_QUOTE);\n}\nexport function getRemovable(closable, closeIcon, editable, disabled) {\n if (\n // Only editable tabs can be removed\n !editable ||\n // Tabs cannot be removed when disabled\n disabled ||\n // closable is false\n closable === false ||\n // If closable is undefined, the remove button should be hidden when closeIcon is null or false\n closable === undefined && (closeIcon === false || closeIcon === null)) {\n return false;\n }\n return true;\n}","import * as React from 'react';\nvar AddButton = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n editable = props.editable,\n locale = props.locale,\n style = props.style;\n if (!editable || editable.showAdd === false) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"button\", {\n ref: ref,\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-add\"),\n style: style,\n \"aria-label\": (locale === null || locale === void 0 ? void 0 : locale.addAriaLabel) || 'Add tab',\n onClick: function onClick(event) {\n editable.onEdit('add', {\n event: event\n });\n }\n }, editable.addIcon || '+');\n});\nexport default AddButton;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nvar ExtraContent = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var position = props.position,\n prefixCls = props.prefixCls,\n extra = props.extra;\n if (!extra) {\n return null;\n }\n var content;\n\n // Parse extra\n var assertExtra = {};\n if (_typeof(extra) === 'object' && ! /*#__PURE__*/React.isValidElement(extra)) {\n assertExtra = extra;\n } else {\n assertExtra.right = extra;\n }\n if (position === 'right') {\n content = assertExtra.right;\n }\n if (position === 'left') {\n content = assertExtra.left;\n }\n return content ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra-content\"),\n ref: ref\n }, content) : null;\n});\nif (process.env.NODE_ENV !== 'production') {\n ExtraContent.displayName = 'ExtraContent';\n}\nexport default ExtraContent;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport Dropdown from 'rc-dropdown';\nimport Menu, { MenuItem } from 'rc-menu';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { getRemovable } from \"../util\";\nimport AddButton from \"./AddButton\";\nvar OperationNode = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n id = props.id,\n tabs = props.tabs,\n locale = props.locale,\n mobile = props.mobile,\n _props$moreIcon = props.moreIcon,\n moreIcon = _props$moreIcon === void 0 ? 'More' : _props$moreIcon,\n moreTransitionName = props.moreTransitionName,\n style = props.style,\n className = props.className,\n editable = props.editable,\n tabBarGutter = props.tabBarGutter,\n rtl = props.rtl,\n removeAriaLabel = props.removeAriaLabel,\n onTabClick = props.onTabClick,\n getPopupContainer = props.getPopupContainer,\n popupClassName = props.popupClassName;\n // ======================== Dropdown ========================\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n open = _useState2[0],\n setOpen = _useState2[1];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedKey = _useState4[0],\n setSelectedKey = _useState4[1];\n var popupId = \"\".concat(id, \"-more-popup\");\n var dropdownPrefix = \"\".concat(prefixCls, \"-dropdown\");\n var selectedItemId = selectedKey !== null ? \"\".concat(popupId, \"-\").concat(selectedKey) : null;\n var dropdownAriaLabel = locale === null || locale === void 0 ? void 0 : locale.dropdownAriaLabel;\n function onRemoveTab(event, key) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n var menu = /*#__PURE__*/React.createElement(Menu, {\n onClick: function onClick(_ref) {\n var key = _ref.key,\n domEvent = _ref.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 closable = tab.closable,\n disabled = tab.disabled,\n closeIcon = tab.closeIcon,\n key = tab.key,\n label = tab.label;\n var removable = getRemovable(closable, closeIcon, editable, disabled);\n return /*#__PURE__*/React.createElement(MenuItem, {\n key: key,\n id: \"\".concat(popupId, \"-\").concat(key),\n role: \"option\",\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(key),\n disabled: disabled\n }, /*#__PURE__*/React.createElement(\"span\", null, 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, key);\n }\n }, closeIcon || editable.removeIcon || '×'));\n }));\n function selectOffset(offset) {\n var enabledTabs = tabs.filter(function (tab) {\n return !tab.disabled;\n });\n var selectedIndex = enabledTabs.findIndex(function (tab) {\n return tab.key === selectedKey;\n }) || 0;\n var len = enabledTabs.length;\n for (var i = 0; i < len; i += 1) {\n selectedIndex = (selectedIndex + offset + len) % len;\n var tab = enabledTabs[selectedIndex];\n if (!tab.disabled) {\n setSelectedKey(tab.key);\n return;\n }\n }\n }\n function onKeyDown(e) {\n var which = e.which;\n if (!open) {\n if ([KeyCode.DOWN, KeyCode.SPACE, KeyCode.ENTER].includes(which)) {\n setOpen(true);\n e.preventDefault();\n }\n return;\n }\n switch (which) {\n case KeyCode.UP:\n selectOffset(-1);\n e.preventDefault();\n break;\n case KeyCode.DOWN:\n selectOffset(1);\n e.preventDefault();\n break;\n case KeyCode.ESC:\n setOpen(false);\n break;\n case KeyCode.SPACE:\n case KeyCode.ENTER:\n if (selectedKey !== null) {\n onTabClick(selectedKey, e);\n }\n break;\n }\n }\n\n // ========================= Effect =========================\n useEffect(function () {\n // We use query element here to avoid React strict warning\n var ele = document.getElementById(selectedItemId);\n if (ele && ele.scrollIntoView) {\n ele.scrollIntoView(false);\n }\n }, [selectedKey]);\n useEffect(function () {\n if (!open) {\n setSelectedKey(null);\n }\n }, [open]);\n\n // ========================= Render =========================\n var moreStyle = _defineProperty({}, rtl ? 'marginRight' : 'marginLeft', tabBarGutter);\n if (!tabs.length) {\n moreStyle.visibility = 'hidden';\n moreStyle.order = 1;\n }\n var overlayClassName = classNames(_defineProperty({}, \"\".concat(dropdownPrefix, \"-rtl\"), rtl));\n var moreNode = mobile ? null : /*#__PURE__*/React.createElement(Dropdown, {\n prefixCls: dropdownPrefix,\n overlay: menu,\n trigger: ['hover'],\n visible: tabs.length ? open : false,\n transitionName: moreTransitionName,\n onVisibleChange: setOpen,\n overlayClassName: classNames(overlayClassName, popupClassName),\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n getPopupContainer: getPopupContainer\n }, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-more\"),\n style: moreStyle,\n tabIndex: -1,\n \"aria-hidden\": \"true\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": popupId,\n id: \"\".concat(id, \"-more\"),\n \"aria-expanded\": open,\n onKeyDown: onKeyDown\n }, moreIcon));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-nav-operations\"), className),\n style: style,\n ref: ref\n }, moreNode, /*#__PURE__*/React.createElement(AddButton, {\n prefixCls: prefixCls,\n locale: locale,\n editable: editable\n }));\n});\nexport default /*#__PURE__*/React.memo(OperationNode, function (_, next) {\n return (\n // https://github.com/ant-design/ant-design/issues/32544\n // We'd better remove syntactic sugar in `rc-menu` since this has perf issue\n next.tabMoving\n );\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { genDataNodeKey, getRemovable } from \"../util\";\nvar TabNode = function TabNode(props) {\n var _classNames;\n var prefixCls = props.prefixCls,\n id = props.id,\n active = props.active,\n _props$tab = props.tab,\n key = _props$tab.key,\n label = _props$tab.label,\n disabled = _props$tab.disabled,\n closeIcon = _props$tab.closeIcon,\n icon = _props$tab.icon,\n closable = props.closable,\n renderWrapper = props.renderWrapper,\n removeAriaLabel = props.removeAriaLabel,\n editable = props.editable,\n onClick = props.onClick,\n onFocus = props.onFocus,\n style = props.style;\n var tabPrefix = \"\".concat(prefixCls, \"-tab\");\n var removable = getRemovable(closable, closeIcon, editable, disabled);\n function onInternalClick(e) {\n if (disabled) {\n return;\n }\n onClick(e);\n }\n function onRemoveTab(event) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n var labelNode = React.useMemo(function () {\n return icon && typeof label === 'string' ? /*#__PURE__*/React.createElement(\"span\", null, label) : label;\n }, [label, icon]);\n var node = /*#__PURE__*/React.createElement(\"div\", {\n key: key\n // ref={ref}\n ,\n \"data-node-key\": genDataNodeKey(key),\n className: classNames(tabPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(tabPrefix, \"-with-remove\"), removable), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-active\"), active), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-disabled\"), disabled), _classNames)),\n style: style,\n onClick: onInternalClick\n }, /*#__PURE__*/React.createElement(\"div\", {\n role: \"tab\",\n \"aria-selected\": active,\n id: id && \"\".concat(id, \"-tab-\").concat(key),\n className: \"\".concat(tabPrefix, \"-btn\"),\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(key),\n \"aria-disabled\": disabled,\n tabIndex: disabled ? null : 0,\n onClick: function onClick(e) {\n e.stopPropagation();\n onInternalClick(e);\n },\n onKeyDown: function onKeyDown(e) {\n if ([KeyCode.SPACE, KeyCode.ENTER].includes(e.which)) {\n e.preventDefault();\n onInternalClick(e);\n }\n },\n onFocus: onFocus\n }, icon && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(tabPrefix, \"-icon\")\n }, icon), label && labelNode), removable && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(tabPrefix, \"-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e);\n }\n }, closeIcon || editable.removeIcon || '×'));\n return renderWrapper ? renderWrapper(node) : node;\n};\nexport default TabNode;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport useIndicator from \"../hooks/useIndicator\";\nimport useOffsets from \"../hooks/useOffsets\";\nimport useSyncState from \"../hooks/useSyncState\";\nimport useTouchMove from \"../hooks/useTouchMove\";\nimport useUpdate, { useUpdateState } from \"../hooks/useUpdate\";\nimport useVisibleRange from \"../hooks/useVisibleRange\";\nimport TabContext from \"../TabContext\";\nimport { genDataNodeKey, stringify } from \"../util\";\nimport AddButton from \"./AddButton\";\nimport ExtraContent from \"./ExtraContent\";\nimport OperationNode from \"./OperationNode\";\nimport TabNode from \"./TabNode\";\nvar getTabSize = function getTabSize(tab, containerRect) {\n // tabListRef\n var offsetWidth = tab.offsetWidth,\n offsetHeight = tab.offsetHeight,\n offsetTop = tab.offsetTop,\n offsetLeft = tab.offsetLeft;\n var _tab$getBoundingClien = tab.getBoundingClientRect(),\n width = _tab$getBoundingClien.width,\n height = _tab$getBoundingClien.height,\n x = _tab$getBoundingClien.x,\n y = _tab$getBoundingClien.y;\n\n // Use getBoundingClientRect to avoid decimal inaccuracy\n if (Math.abs(width - offsetWidth) < 1) {\n return [width, height, x - containerRect.x, y - containerRect.y];\n }\n return [offsetWidth, offsetHeight, offsetLeft, offsetTop];\n};\nvar getSize = function getSize(refObj) {\n var _ref = refObj.current || {},\n _ref$offsetWidth = _ref.offsetWidth,\n offsetWidth = _ref$offsetWidth === void 0 ? 0 : _ref$offsetWidth,\n _ref$offsetHeight = _ref.offsetHeight,\n offsetHeight = _ref$offsetHeight === void 0 ? 0 : _ref$offsetHeight;\n\n // Use getBoundingClientRect to avoid decimal inaccuracy\n if (refObj.current) {\n var _refObj$current$getBo = refObj.current.getBoundingClientRect(),\n width = _refObj$current$getBo.width,\n height = _refObj$current$getBo.height;\n if (Math.abs(width - offsetWidth) < 1) {\n return [width, height];\n }\n }\n return [offsetWidth, offsetHeight];\n};\n\n/**\n * Convert `SizeInfo` to unit value. Such as [123, 456] with `top` position get `123`\n */\nvar getUnitValue = function getUnitValue(size, tabPositionTopOrBottom) {\n return size[tabPositionTopOrBottom ? 0 : 1];\n};\nvar TabNavList = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\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 indicatorSize = props.indicatorSize;\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n var containerRef = useRef(null);\n var extraLeftRef = useRef(null);\n var extraRightRef = useRef(null);\n var tabsWrapperRef = useRef(null);\n var tabListRef = useRef(null);\n var operationsRef = useRef(null);\n var innerAddButtonRef = useRef(null);\n var tabPositionTopOrBottom = tabPosition === 'top' || tabPosition === 'bottom';\n var _useSyncState = useSyncState(0, function (next, prev) {\n if (tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'left' : 'right'\n });\n }\n }),\n _useSyncState2 = _slicedToArray(_useSyncState, 2),\n transformLeft = _useSyncState2[0],\n setTransformLeft = _useSyncState2[1];\n var _useSyncState3 = useSyncState(0, function (next, prev) {\n if (!tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'top' : 'bottom'\n });\n }\n }),\n _useSyncState4 = _slicedToArray(_useSyncState3, 2),\n transformTop = _useSyncState4[0],\n setTransformTop = _useSyncState4[1];\n var _useState = useState([0, 0]),\n _useState2 = _slicedToArray(_useState, 2),\n containerExcludeExtraSize = _useState2[0],\n setContainerExcludeExtraSize = _useState2[1];\n var _useState3 = useState([0, 0]),\n _useState4 = _slicedToArray(_useState3, 2),\n tabContentSize = _useState4[0],\n setTabContentSize = _useState4[1];\n var _useState5 = useState([0, 0]),\n _useState6 = _slicedToArray(_useState5, 2),\n addSize = _useState6[0],\n setAddSize = _useState6[1];\n var _useState7 = useState([0, 0]),\n _useState8 = _slicedToArray(_useState7, 2),\n operationSize = _useState8[0],\n setOperationSize = _useState8[1];\n var _useUpdateState = useUpdateState(new Map()),\n _useUpdateState2 = _slicedToArray(_useUpdateState, 2),\n tabSizes = _useUpdateState2[0],\n setTabSizes = _useUpdateState2[1];\n var tabOffsets = useOffsets(tabs, tabSizes, tabContentSize[0]);\n\n // ========================== Unit =========================\n var containerExcludeExtraSizeValue = getUnitValue(containerExcludeExtraSize, tabPositionTopOrBottom);\n var tabContentSizeValue = getUnitValue(tabContentSize, tabPositionTopOrBottom);\n var addSizeValue = getUnitValue(addSize, tabPositionTopOrBottom);\n var operationSizeValue = getUnitValue(operationSize, tabPositionTopOrBottom);\n var needScroll = containerExcludeExtraSizeValue < tabContentSizeValue + addSizeValue;\n var visibleTabContentValue = needScroll ? containerExcludeExtraSizeValue - operationSizeValue : containerExcludeExtraSizeValue - addSizeValue;\n\n // ========================== Util =========================\n var operationsHiddenClassName = \"\".concat(prefixCls, \"-nav-operations-hidden\");\n var transformMin = 0;\n var transformMax = 0;\n if (!tabPositionTopOrBottom) {\n transformMin = Math.min(0, visibleTabContentValue - tabContentSizeValue);\n transformMax = 0;\n } else if (rtl) {\n transformMin = 0;\n transformMax = Math.max(0, tabContentSizeValue - visibleTabContentValue);\n } else {\n transformMin = Math.min(0, visibleTabContentValue - tabContentSizeValue);\n transformMax = 0;\n }\n function alignInRange(value) {\n if (value < transformMin) {\n return transformMin;\n }\n if (value > transformMax) {\n return transformMax;\n }\n return value;\n }\n\n // ========================= Mobile ========================\n var touchMovingRef = useRef(null);\n var _useState9 = useState(),\n _useState10 = _slicedToArray(_useState9, 2),\n lockAnimation = _useState10[0],\n setLockAnimation = _useState10[1];\n function doLockAnimation() {\n setLockAnimation(Date.now());\n }\n function clearTouchMoving() {\n if (touchMovingRef.current) {\n 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 // Skip scroll if place is enough\n if (!needScroll) {\n return false;\n }\n if (tabPositionTopOrBottom) {\n doMove(setTransformLeft, offsetX);\n } else {\n doMove(setTransformTop, offsetY);\n }\n clearTouchMoving();\n doLockAnimation();\n return true;\n });\n useEffect(function () {\n clearTouchMoving();\n if (lockAnimation) {\n touchMovingRef.current = setTimeout(function () {\n setLockAnimation(0);\n }, 100);\n }\n return clearTouchMoving;\n }, [lockAnimation]);\n\n // ===================== Visible Range =====================\n // Render tab node & collect tab offset\n var _useVisibleRange = useVisibleRange(tabOffsets,\n // Container\n visibleTabContentValue,\n // Transform\n tabPositionTopOrBottom ? transformLeft : transformTop,\n // Tabs\n tabContentSizeValue,\n // Add\n addSizeValue,\n // Operation\n operationSizeValue, _objectSpread(_objectSpread({}, props), {}, {\n tabs: tabs\n })),\n _useVisibleRange2 = _slicedToArray(_useVisibleRange, 2),\n visibleStart = _useVisibleRange2[0],\n visibleEnd = _useVisibleRange2[1];\n\n // ========================= Scroll ========================\n var scrollToTab = useEvent(function () {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : activeKey;\n var tabOffset = tabOffsets.get(key) || {\n width: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0\n };\n if (tabPositionTopOrBottom) {\n // ============ Align with top & bottom ============\n var newTransform = transformLeft;\n\n // RTL\n if (rtl) {\n if (tabOffset.right < transformLeft) {\n newTransform = tabOffset.right;\n } else if (tabOffset.right + tabOffset.width > transformLeft + visibleTabContentValue) {\n newTransform = tabOffset.right + tabOffset.width - visibleTabContentValue;\n }\n }\n // LTR\n else if (tabOffset.left < -transformLeft) {\n newTransform = -tabOffset.left;\n } else if (tabOffset.left + tabOffset.width > -transformLeft + visibleTabContentValue) {\n newTransform = -(tabOffset.left + tabOffset.width - visibleTabContentValue);\n }\n setTransformTop(0);\n setTransformLeft(alignInRange(newTransform));\n } else {\n // ============ Align with left & right ============\n var _newTransform = transformTop;\n if (tabOffset.top < -transformTop) {\n _newTransform = -tabOffset.top;\n } else if (tabOffset.top + tabOffset.height > -transformTop + visibleTabContentValue) {\n _newTransform = -(tabOffset.top + tabOffset.height - visibleTabContentValue);\n }\n setTransformLeft(0);\n setTransformTop(alignInRange(_newTransform));\n }\n });\n\n // ========================== Tab ==========================\n var tabNodeStyle = {};\n if (tabPosition === 'top' || tabPosition === 'bottom') {\n tabNodeStyle[rtl ? 'marginRight' : 'marginLeft'] = tabBarGutter;\n } else {\n tabNodeStyle.marginTop = tabBarGutter;\n }\n var tabNodes = tabs.map(function (tab, i) {\n var key = tab.key;\n return /*#__PURE__*/React.createElement(TabNode, {\n id: id,\n prefixCls: prefixCls,\n key: key,\n tab: tab\n /* first node should not have margin left */,\n style: i === 0 ? undefined : tabNodeStyle,\n closable: tab.closable,\n editable: editable,\n active: key === activeKey,\n renderWrapper: children,\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n onClick: function onClick(e) {\n onTabClick(key, e);\n },\n onFocus: function onFocus() {\n scrollToTab(key);\n doLockAnimation();\n if (!tabsWrapperRef.current) {\n return;\n }\n // Focus element will make scrollLeft change which we should reset back\n if (!rtl) {\n tabsWrapperRef.current.scrollLeft = 0;\n }\n tabsWrapperRef.current.scrollTop = 0;\n }\n });\n });\n\n // Update buttons records\n var updateTabSizes = function updateTabSizes() {\n return setTabSizes(function () {\n var _tabListRef$current;\n var newSizes = new Map();\n var listRect = (_tabListRef$current = tabListRef.current) === null || _tabListRef$current === void 0 ? void 0 : _tabListRef$current.getBoundingClientRect();\n tabs.forEach(function (_ref2) {\n var _tabListRef$current2;\n var key = _ref2.key;\n var btnNode = (_tabListRef$current2 = tabListRef.current) === null || _tabListRef$current2 === void 0 ? void 0 : _tabListRef$current2.querySelector(\"[data-node-key=\\\"\".concat(genDataNodeKey(key), \"\\\"]\"));\n if (btnNode) {\n var _getTabSize = getTabSize(btnNode, listRect),\n _getTabSize2 = _slicedToArray(_getTabSize, 4),\n width = _getTabSize2[0],\n height = _getTabSize2[1],\n left = _getTabSize2[2],\n top = _getTabSize2[3];\n newSizes.set(key, {\n width: width,\n height: height,\n left: left,\n top: top\n });\n }\n });\n return newSizes;\n });\n };\n useEffect(function () {\n updateTabSizes();\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_')]);\n var onListHolderResize = useUpdate(function () {\n // Update wrapper records\n var containerSize = getSize(containerRef);\n var extraLeftSize = getSize(extraLeftRef);\n var extraRightSize = getSize(extraRightRef);\n setContainerExcludeExtraSize([containerSize[0] - extraLeftSize[0] - extraRightSize[0], containerSize[1] - extraLeftSize[1] - extraRightSize[1]]);\n var newAddSize = getSize(innerAddButtonRef);\n setAddSize(newAddSize);\n var newOperationSize = getSize(operationsRef);\n setOperationSize(newOperationSize);\n\n // Which includes add button size\n var tabContentFullSize = getSize(tabListRef);\n setTabContentSize([tabContentFullSize[0] - newAddSize[0], tabContentFullSize[1] - newAddSize[1]]);\n\n // Update buttons records\n updateTabSizes();\n });\n\n // ======================== Dropdown =======================\n var startHiddenTabs = tabs.slice(0, visibleStart);\n var endHiddenTabs = tabs.slice(visibleEnd + 1);\n var hiddenTabs = [].concat(_toConsumableArray(startHiddenTabs), _toConsumableArray(endHiddenTabs));\n\n // =================== Link & Operations ===================\n var activeTabOffset = tabOffsets.get(activeKey);\n var _useIndicator = useIndicator({\n activeTabOffset: activeTabOffset,\n horizontal: tabPositionTopOrBottom,\n rtl: rtl,\n indicatorSize: indicatorSize\n }),\n indicatorStyle = _useIndicator.style;\n\n // ========================= Effect ========================\n useEffect(function () {\n scrollToTab();\n // eslint-disable-next-line\n }, [activeKey, transformMin, transformMax, stringify(activeTabOffset), stringify(tabOffsets), tabPositionTopOrBottom]);\n\n // Should recalculate when rtl changed\n useEffect(function () {\n onListHolderResize();\n // eslint-disable-next-line\n }, [rtl]);\n\n // ========================= Render ========================\n var hasDropdown = !!hiddenTabs.length;\n var wrapPrefix = \"\".concat(prefixCls, \"-nav-wrap\");\n var pingLeft;\n var pingRight;\n var pingTop;\n var pingBottom;\n if (tabPositionTopOrBottom) {\n if (rtl) {\n pingRight = transformLeft > 0;\n pingLeft = transformLeft !== transformMax;\n } else {\n pingLeft = transformLeft < 0;\n pingRight = transformLeft !== transformMin;\n }\n } else {\n pingTop = transformTop < 0;\n pingBottom = transformTop !== transformMin;\n }\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: useComposeRef(ref, containerRef),\n role: \"tablist\",\n className: classNames(\"\".concat(prefixCls, \"-nav\"), className),\n style: style,\n onKeyDown: function onKeyDown() {\n // No need animation when use keyboard\n doLockAnimation();\n }\n }, /*#__PURE__*/React.createElement(ExtraContent, {\n ref: extraLeftRef,\n position: \"left\",\n extra: extra,\n prefixCls: prefixCls\n }), /*#__PURE__*/React.createElement(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: indicatorStyle\n }))))), /*#__PURE__*/React.createElement(OperationNode, _extends({}, props, {\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n ref: operationsRef,\n prefixCls: prefixCls,\n tabs: hiddenTabs,\n className: !hasDropdown && operationsHiddenClassName,\n tabMoving: !!lockAnimation\n })), /*#__PURE__*/React.createElement(ExtraContent, {\n ref: extraRightRef,\n position: \"right\",\n extra: extra,\n prefixCls: prefixCls\n })));\n /* eslint-enable */\n});\n\nexport default TabNavList;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport raf from \"rc-util/es/raf\";\nimport { useEffect, useRef, useState } from 'react';\nvar useIndicator = function useIndicator(_ref) {\n var activeTabOffset = _ref.activeTabOffset,\n horizontal = _ref.horizontal,\n rtl = _ref.rtl,\n indicatorSize = _ref.indicatorSize;\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n inkStyle = _useState2[0],\n setInkStyle = _useState2[1];\n var inkBarRafRef = useRef();\n var getLength = function getLength(origin) {\n if (typeof indicatorSize === 'function') {\n return indicatorSize(origin);\n }\n if (typeof indicatorSize === 'number') {\n return indicatorSize;\n }\n return origin;\n };\n\n // Delay set ink style to avoid remove tab blink\n function cleanInkBarRaf() {\n raf.cancel(inkBarRafRef.current);\n }\n useEffect(function () {\n var newInkStyle = {};\n if (activeTabOffset) {\n if (horizontal) {\n if (rtl) {\n newInkStyle.right = activeTabOffset.right + activeTabOffset.width / 2;\n newInkStyle.transform = 'translateX(50%)';\n } else {\n newInkStyle.left = activeTabOffset.left + activeTabOffset.width / 2;\n newInkStyle.transform = 'translateX(-50%)';\n }\n newInkStyle.width = getLength(activeTabOffset.width);\n } else {\n newInkStyle.top = activeTabOffset.top + activeTabOffset.height / 2;\n newInkStyle.transform = 'translateY(-50%)';\n newInkStyle.height = getLength(activeTabOffset.height);\n }\n }\n cleanInkBarRaf();\n inkBarRafRef.current = raf(function () {\n setInkStyle(newInkStyle);\n });\n return cleanInkBarRaf;\n }, [activeTabOffset, horizontal, rtl, indicatorSize]);\n return {\n style: inkStyle\n };\n};\nexport default useIndicator;","import classNames from 'classnames';\nimport * as React from 'react';\nvar TabPane = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n id = props.id,\n active = props.active,\n tabKey = props.tabKey,\n children = props.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id && \"\".concat(id, \"-panel-\").concat(tabKey),\n role: \"tabpanel\",\n tabIndex: active ? 0 : -1,\n \"aria-labelledby\": id && \"\".concat(id, \"-tab-\").concat(tabKey),\n \"aria-hidden\": !active,\n style: style,\n className: classNames(prefixCls, active && \"\".concat(prefixCls, \"-active\"), className),\n ref: ref\n }, children);\n});\nif (process.env.NODE_ENV !== 'production') {\n TabPane.displayName = 'TabPane';\n}\nexport default TabPane;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"renderTabBar\"],\n _excluded2 = [\"label\", \"key\"];\n// zombieJ: To compatible with `renderTabBar` usage.\n\nimport * as React from 'react';\nimport TabNavList from '.';\nimport TabContext from \"../TabContext\";\nimport TabPane from \"../TabPanelList/TabPane\";\n// We have to create a TabNavList components.\nvar TabNavListWrapper = function TabNavListWrapper(_ref) {\n var renderTabBar = _ref.renderTabBar,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var _React$useContext = React.useContext(TabContext),\n tabs = _React$useContext.tabs;\n if (renderTabBar) {\n var tabNavBarProps = _objectSpread(_objectSpread({}, restProps), {}, {\n // Legacy support. We do not use this actually\n panes: tabs.map(function (_ref2) {\n var label = _ref2.label,\n key = _ref2.key,\n restTabProps = _objectWithoutProperties(_ref2, _excluded2);\n return /*#__PURE__*/React.createElement(TabPane, _extends({\n tab: label,\n key: key,\n tabKey: key\n }, restTabProps));\n })\n });\n return renderTabBar(tabNavBarProps, TabNavList);\n }\n return /*#__PURE__*/React.createElement(TabNavList, restProps);\n};\nif (process.env.NODE_ENV !== 'production') {\n TabNavListWrapper.displayName = 'TabNavListWrapper';\n}\nexport default TabNavListWrapper;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport var Context = /*#__PURE__*/React.createContext({});\nexport default function MotionProvider(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: props\n }, children);\n}","import _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';\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n var _super = _createSuper(DomWrapper);\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n return _super.apply(this, arguments);\n }\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n return DomWrapper;\n}(React.Component);\nexport default DomWrapper;","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';\n/**\n * Used for disabled motion case.\n * Prepare stage will still work but start & active will be skipped.\n */\nexport var STEP_PREPARED = 'prepared';","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\";\n// ================= Transition =================\n// Event wrapper. Copy from react source code\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n style = _document$createEleme.style;\n}\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n var prefixMap = vendorPrefixes[eventName];\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { useEffect, useLayoutEffect } from 'react';\n\n// It's safe to use `useLayoutEffect` but the warning is annoying\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport { STEP_ACTIVATED, STEP_ACTIVE, STEP_NONE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useNextFrame from \"./useNextFrame\";\nvar FULL_STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\nvar SIMPLE_STEP_QUEUE = [STEP_PREPARE, STEP_PREPARED];\n\n/** Skip current step */\nexport var SkipStep = false;\n/** Current step should be update in */\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, prepareOnly, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n var STEP_QUEUE = prepareOnly ? SIMPLE_STEP_QUEUE : FULL_STEP_QUEUE;\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else if (nextStep) {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEvent } from 'rc-util';\nimport useState from \"rc-util/es/hooks/useState\";\nimport useSyncState from \"rc-util/es/hooks/useSyncState\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { STATUS_APPEAR, STATUS_ENTER, STATUS_LEAVE, STATUS_NONE, STEP_ACTIVE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useDomMotionEvents from \"./useDomMotionEvents\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useStepQueue, { DoStep, isActive, SkipStep } from \"./useStepQueue\";\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n var _useSyncState = useSyncState(STATUS_NONE),\n _useSyncState2 = _slicedToArray(_useSyncState, 2),\n getStatus = _useSyncState2[0],\n setStatus = _useSyncState2[1];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n style = _useState4[0],\n setStyle = _useState4[1];\n var currentStatus = getStatus();\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null);\n\n // =========================== Dom Node ===========================\n function getDomElement() {\n return getElement();\n }\n\n // ========================== Motion End ==========================\n var activeRef = useRef(false);\n\n /**\n * Clean up status & style\n */\n function updateMotionEndStatus() {\n setStatus(STATUS_NONE);\n setStyle(null, true);\n }\n var onInternalMotionEnd = useEvent(function (event) {\n var status = getStatus();\n // Do nothing since not in any transition status.\n // This may happen when `motionDeadline` trigger.\n if (status === STATUS_NONE) {\n return;\n }\n var element = getDomElement();\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n var currentActive = activeRef.current;\n var canEnd;\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n }\n\n // Only update status when `canEnd` and not destroyed\n if (currentActive && canEnd !== false) {\n updateMotionEndStatus();\n }\n });\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0];\n\n // ============================= Step =============================\n var getEventHandlers = function getEventHandlers(targetStatus) {\n switch (targetStatus) {\n case STATUS_APPEAR:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onAppearPrepare), STEP_START, onAppearStart), STEP_ACTIVE, onAppearActive);\n case STATUS_ENTER:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onEnterPrepare), STEP_START, onEnterStart), STEP_ACTIVE, onEnterActive);\n case STATUS_LEAVE:\n return _defineProperty(_defineProperty(_defineProperty({}, STEP_PREPARE, onLeavePrepare), STEP_START, onLeaveStart), STEP_ACTIVE, onLeaveActive);\n default:\n return {};\n }\n };\n var eventHandlers = React.useMemo(function () {\n return getEventHandlers(currentStatus);\n }, [currentStatus]);\n var _useStepQueue = useStepQueue(currentStatus, !supportMotion, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n if (!onPrepare) {\n return SkipStep;\n }\n return onPrepare(getDomElement());\n }\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n if (step === STEP_ACTIVE && currentStatus !== STATUS_NONE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n if (step === STEP_PREPARED) {\n updateMotionEndStatus();\n }\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n var active = isActive(step);\n activeRef.current = active;\n\n // ============================ Status ============================\n // Update with new status\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n // if (!supportMotion) {\n // return;\n // }\n\n var nextStatus;\n\n // Appear\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n }\n\n // Enter\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n }\n\n // Leave\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n }\n var nextEventHandlers = getEventHandlers(nextStatus);\n\n // Update to next status\n if (nextStatus && (supportMotion || nextEventHandlers[STEP_PREPARE])) {\n setStatus(nextStatus);\n startStep();\n } else {\n // Set back in case no motion but prev status has prepare step\n setStatus(STATUS_NONE);\n }\n }, [visible]);\n\n // ============================ Effect ============================\n // Reset when motion changed\n useEffect(function () {\n if (\n // Cancel appear\n currentStatus === STATUS_APPEAR && !motionAppear ||\n // Cancel enter\n currentStatus === STATUS_ENTER && !motionEnter ||\n // Cancel leave\n currentStatus === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []);\n\n // Trigger `onVisibleChanged`\n var firstMountChangeRef = React.useRef(false);\n useEffect(function () {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n if (asyncVisible !== undefined && currentStatus === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged === null || onVisibleChanged === void 0 || onVisibleChanged(asyncVisible);\n }\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, currentStatus]);\n\n // ============================ Styles ============================\n var mergedStyle = style;\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n return [currentStatus, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from \"../util/motion\";\nexport default (function (onInternalMotionEnd) {\n var cacheElementRef = useRef();\n\n // Remove events\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n }\n\n // Patch events\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd);\n\n // Save as cache in case dom removed trigger by `motionDeadline`\n cacheElementRef.current = element;\n }\n }\n\n // Clean up when removed\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\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 _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport classNames from 'classnames';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport { Context } from \"./context\";\nimport DomWrapper from \"./DomWrapper\";\nimport useStatus from \"./hooks/useStatus\";\nimport { isActive } from \"./hooks/useStepQueue\";\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from \"./interface\";\nimport { getTransitionName, supportTransition } from \"./util/motion\";\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n function isSupportTransition(props, contextMotion) {\n return !!(props.motionName && transitionSupport && contextMotion !== false);\n }\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var _React$useContext = React.useContext(Context),\n contextMotion = _React$useContext.motion;\n var supportMotion = isSupportTransition(props, contextMotion);\n\n // Ref to the react node, it may be a HTMLElement\n var nodeRef = useRef();\n // Ref to the dom wrapper in case ref can not pass to HTMLElement\n var wrapperNodeRef = useRef();\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3];\n\n // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n var renderedRef = React.useRef(mergedVisible);\n if (mergedVisible) {\n renderedRef.current = true;\n }\n\n // ====================== Refs ======================\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]);\n\n // ===================== Render =====================\n var motionChildren;\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current && leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender || !removeOnLeave && !leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n // In motion\n var statusSuffix;\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n var motionCls = getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix));\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), _defineProperty(_defineProperty({}, motionCls, motionCls && statusSuffix), motionName, typeof motionName === 'string')),\n style: statusStyle\n }), setNodeRef);\n }\n\n // Auto inject ref if child node not have `ref` props\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var _ref = motionChildren,\n originNodeRef = _ref.ref;\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys);\n\n // Check prev keys to insert or keep\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n }\n\n // If not hit, it means key is removed\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n });\n\n // Add rest to the list\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n });\n\n // Update `STATUS_ADD` to `STATUS_KEEP`\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"component\", \"children\", \"onVisibleChanged\", \"onAllRemoved\"],\n _excluded2 = [\"status\"];\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from \"./CSSMotion\";\nimport { diffKeys, parseKeys, STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED } from \"./util/diff\";\nimport { supportTransition } from \"./util/motion\";\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearPrepare', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n var _super = _createSuper(CSSMotionList);\n function CSSMotionList() {\n var _this;\n _classCallCheck(this, CSSMotionList);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n keyEntities: []\n });\n // ZombieJ: Return the count of rest keys. It's safe to refactor if need more info.\n _defineProperty(_assertThisInitialized(_this), \"removeKey\", function (removeKey) {\n _this.setState(function (prevState) {\n var nextKeyEntities = prevState.keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n });\n return {\n keyEntities: nextKeyEntities\n };\n }, function () {\n var keyEntities = _this.state.keyEntities;\n var restKeysCount = keyEntities.filter(function (_ref) {\n var status = _ref.status;\n return status !== STATUS_REMOVED;\n }).length;\n if (restKeysCount === 0 && _this.props.onAllRemoved) {\n _this.props.onAllRemoved();\n }\n });\n });\n return _this;\n }\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var keyEntities = this.state.keyEntities;\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n onAllRemoved = _this$props.onAllRemoved,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2, index) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, _excluded2);\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 || _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n if (!changedVisible) {\n _this2.removeKey(eventProps.key);\n }\n }\n }), function (props, ref) {\n return children(_objectSpread(_objectSpread({}, props), {}, {\n index: index\n }), ref);\n });\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n });\n\n // Remove if already mark as removed\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n return true;\n })\n };\n }\n }]);\n return CSSMotionList;\n }(React.Component);\n _defineProperty(CSSMotionList, \"defaultProps\", {\n component: 'div'\n });\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from \"./CSSMotion\";\nimport CSSMotionList from \"./CSSMotionList\";\nexport { default as Provider } from \"./context\";\nexport { CSSMotionList };\nexport default CSSMotion;","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\", \"destroyInactiveTabPane\"];\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport * as React from 'react';\nimport TabContext from \"../TabContext\";\nimport TabPane from \"./TabPane\";\nvar TabPanelList = function TabPanelList(props) {\n var id = props.id,\n activeKey = props.activeKey,\n animated = props.animated,\n tabPosition = props.tabPosition,\n destroyInactiveTabPane = props.destroyInactiveTabPane;\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n var tabPaneAnimated = animated.tabPane;\n var tabPanePrefixCls = \"\".concat(prefixCls, \"-tabpane\");\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content-holder\"))\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), \"\".concat(prefixCls, \"-content-\").concat(tabPosition), _defineProperty({}, \"\".concat(prefixCls, \"-content-animated\"), tabPaneAnimated))\n }, tabs.map(function (item) {\n var key = item.key,\n forceRender = item.forceRender,\n paneStyle = item.style,\n paneClassName = item.className,\n itemDestroyInactiveTabPane = item.destroyInactiveTabPane,\n restTabProps = _objectWithoutProperties(item, _excluded);\n var active = key === activeKey;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n key: key,\n visible: active,\n forceRender: forceRender,\n removeOnLeave: !!(destroyInactiveTabPane || itemDestroyInactiveTabPane),\n leavedClassName: \"\".concat(tabPanePrefixCls, \"-hidden\")\n }, animated.tabPaneMotion), function (_ref, ref) {\n var motionStyle = _ref.style,\n motionClassName = _ref.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};\nexport default TabPanelList;","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\", \"indicatorSize\"];\n// Accessibility https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Tab_Role\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport useAnimateConfig from \"./hooks/useAnimateConfig\";\nimport TabContext from \"./TabContext\";\nimport TabNavListWrapper from \"./TabNavList/Wrapper\";\nimport TabPanelList from \"./TabPanelList\";\n\n/**\n * Should added antd:\n * - type\n *\n * Removed:\n * - onNextClick\n * - onPrevClick\n * - keyboard\n */\n\n// Used for accessibility\nvar uuid = 0;\nvar Tabs = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var id = props.id,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-tabs' : _props$prefixCls,\n className = props.className,\n items = props.items,\n direction = props.direction,\n activeKey = props.activeKey,\n defaultActiveKey = props.defaultActiveKey,\n editable = props.editable,\n animated = props.animated,\n _props$tabPosition = props.tabPosition,\n tabPosition = _props$tabPosition === void 0 ? 'top' : _props$tabPosition,\n tabBarGutter = props.tabBarGutter,\n tabBarStyle = props.tabBarStyle,\n tabBarExtraContent = props.tabBarExtraContent,\n locale = props.locale,\n moreIcon = props.moreIcon,\n moreTransitionName = props.moreTransitionName,\n destroyInactiveTabPane = props.destroyInactiveTabPane,\n renderTabBar = props.renderTabBar,\n onChange = props.onChange,\n onTabClick = props.onTabClick,\n onTabScroll = props.onTabScroll,\n getPopupContainer = props.getPopupContainer,\n popupClassName = props.popupClassName,\n indicatorSize = props.indicatorSize,\n restProps = _objectWithoutProperties(props, _excluded);\n var tabs = React.useMemo(function () {\n return (items || []).filter(function (item) {\n return item && _typeof(item) === 'object' && 'key' in item;\n });\n }, [items]);\n var rtl = direction === 'rtl';\n var mergedAnimated = useAnimateConfig(animated);\n\n // ======================== Mobile ========================\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n mobile = _useState2[0],\n setMobile = _useState2[1];\n useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ====================== Active Key ======================\n var _useMergedState = useMergedState(function () {\n var _tabs$;\n return (_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key;\n }, {\n value: activeKey,\n defaultValue: defaultActiveKey\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedActiveKey = _useMergedState2[0],\n setMergedActiveKey = _useMergedState2[1];\n var _useState3 = useState(function () {\n return tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n activeIndex = _useState4[0],\n setActiveIndex = _useState4[1];\n\n // Reset active key if not exist anymore\n useEffect(function () {\n var newActiveIndex = tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n if (newActiveIndex === -1) {\n var _tabs$newActiveIndex;\n newActiveIndex = Math.max(0, Math.min(activeIndex, tabs.length - 1));\n setMergedActiveKey((_tabs$newActiveIndex = tabs[newActiveIndex]) === null || _tabs$newActiveIndex === void 0 ? void 0 : _tabs$newActiveIndex.key);\n }\n setActiveIndex(newActiveIndex);\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), mergedActiveKey, activeIndex]);\n\n // ===================== Accessibility ====================\n var _useMergedState3 = useMergedState(null, {\n value: id\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedId = _useMergedState4[0],\n setMergedId = _useMergedState4[1];\n\n // Async generate id to avoid ssr mapping failed\n useEffect(function () {\n if (!id) {\n setMergedId(\"rc-tabs-\".concat(process.env.NODE_ENV === 'test' ? 'test' : uuid));\n uuid += 1;\n }\n }, []);\n\n // ======================== Events ========================\n function onInternalTabClick(key, e) {\n onTabClick === null || onTabClick === void 0 || onTabClick(key, e);\n var isActiveChanged = key !== mergedActiveKey;\n setMergedActiveKey(key);\n if (isActiveChanged) {\n onChange === null || onChange === void 0 || onChange(key);\n }\n }\n\n // ======================== Render ========================\n var sharedProps = {\n id: mergedId,\n activeKey: mergedActiveKey,\n animated: mergedAnimated,\n tabPosition: tabPosition,\n rtl: rtl,\n mobile: mobile\n };\n var 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 indicatorSize: indicatorSize\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), /*#__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});\nif (process.env.NODE_ENV !== 'production') {\n Tabs.displayName = 'Tabs';\n}\nexport default Tabs;","import Tabs from \"./Tabs\";\nexport default Tabs;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nexport default function useAnimateConfig() {\n var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n inkBar: true,\n tabPane: false\n };\n var mergedAnimated;\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: false\n };\n } else {\n mergedAnimated = _objectSpread({\n inkBar: true\n }, _typeof(animated) === 'object' ? animated : {});\n }\n\n // Enable tabPane animation if provide motion\n if (mergedAnimated.tabPaneMotion && mergedAnimated.tabPane === undefined) {\n mergedAnimated.tabPane = true;\n }\n if (!mergedAnimated.tabPaneMotion && mergedAnimated.tabPane) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`animated.tabPane` is true but `animated.tabPaneMotion` is not provided. Motion will not work.');\n }\n mergedAnimated.tabPane = false;\n }\n return mergedAnimated;\n}","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\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 pointer-events: none !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', 'white-space'];\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 if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\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 if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n return nodeInfo;\n}\nexport default function calculateAutoSizeStyle(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 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 }\n\n // Fix wrap=\"off\" issue\n // https://github.com/ant-design/ant-design/issues/6577\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n sizingStyle = _calculateNodeStyling.sizingStyle;\n\n // 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 hiddenTextarea.setAttribute('style', \"\".concat(sizingStyle, \";\").concat(HIDDEN_TEXTAREA_STYLE));\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n var minHeight = undefined;\n var maxHeight = undefined;\n var overflowY;\n var height = hiddenTextarea.scrollHeight;\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 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 if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n var style = {\n height: height,\n overflowY: overflowY,\n resize: 'none'\n };\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n return style;\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 _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"onPressEnter\", \"defaultValue\", \"value\", \"autoSize\", \"onResize\", \"className\", \"style\", \"disabled\", \"onChange\", \"onInternalAutoSize\"];\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport calculateAutoSizeStyle from \"./calculateNodeHeight\";\nvar RESIZE_START = 0;\nvar RESIZE_MEASURING = 1;\nvar RESIZE_STABLE = 2;\nvar ResizableTextArea = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _ref = props,\n prefixCls = _ref.prefixCls,\n onPressEnter = _ref.onPressEnter,\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n autoSize = _ref.autoSize,\n onResize = _ref.onResize,\n className = _ref.className,\n style = _ref.style,\n disabled = _ref.disabled,\n onChange = _ref.onChange,\n onInternalAutoSize = _ref.onInternalAutoSize,\n restProps = _objectWithoutProperties(_ref, _excluded);\n\n // =============================== Value ================================\n var _useMergedState = useMergedState(defaultValue, {\n value: value,\n postState: function postState(val) {\n return val !== null && val !== void 0 ? val : '';\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setMergedValue = _useMergedState2[1];\n var onInternalChange = function onInternalChange(event) {\n setMergedValue(event.target.value);\n onChange === null || onChange === void 0 || onChange(event);\n };\n\n // ================================ Ref =================================\n var textareaRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n textArea: textareaRef.current\n };\n });\n\n // ============================== AutoSize ==============================\n var _React$useMemo = React.useMemo(function () {\n if (autoSize && _typeof(autoSize) === 'object') {\n return [autoSize.minRows, autoSize.maxRows];\n }\n return [];\n }, [autoSize]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n minRows = _React$useMemo2[0],\n maxRows = _React$useMemo2[1];\n var needAutoSize = !!autoSize;\n\n // =============================== Scroll ===============================\n // https://github.com/ant-design/ant-design/issues/21870\n var fixFirefoxAutoScroll = function fixFirefoxAutoScroll() {\n try {\n // FF has bug with jump of scroll to top. We force back here.\n if (document.activeElement === textareaRef.current) {\n var _textareaRef$current = textareaRef.current,\n selectionStart = _textareaRef$current.selectionStart,\n selectionEnd = _textareaRef$current.selectionEnd,\n scrollTop = _textareaRef$current.scrollTop;\n\n // Fix Safari bug which not rollback when break line\n // This makes Chinese IME can't input. Do not fix this\n // const { value: tmpValue } = textareaRef.current;\n // textareaRef.current.value = '';\n // textareaRef.current.value = tmpValue;\n\n textareaRef.current.setSelectionRange(selectionStart, selectionEnd);\n textareaRef.current.scrollTop = scrollTop;\n }\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n };\n\n // =============================== Resize ===============================\n var _React$useState = React.useState(RESIZE_STABLE),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n resizeState = _React$useState2[0],\n setResizeState = _React$useState2[1];\n var _React$useState3 = React.useState(),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n autoSizeStyle = _React$useState4[0],\n setAutoSizeStyle = _React$useState4[1];\n var startResize = function startResize() {\n setResizeState(RESIZE_START);\n if (process.env.NODE_ENV === 'test') {\n onInternalAutoSize === null || onInternalAutoSize === void 0 || onInternalAutoSize();\n }\n };\n\n // Change to trigger resize measure\n useLayoutEffect(function () {\n if (needAutoSize) {\n startResize();\n }\n }, [value, minRows, maxRows, needAutoSize]);\n useLayoutEffect(function () {\n if (resizeState === RESIZE_START) {\n setResizeState(RESIZE_MEASURING);\n } else if (resizeState === RESIZE_MEASURING) {\n var textareaStyles = calculateAutoSizeStyle(textareaRef.current, false, minRows, maxRows);\n\n // Safari has bug that text will keep break line on text cut when it's prev is break line.\n // ZombieJ: This not often happen. So we just skip it.\n // const { selectionStart, selectionEnd, scrollTop } = textareaRef.current;\n // const { value: tmpValue } = textareaRef.current;\n // textareaRef.current.value = '';\n // textareaRef.current.value = tmpValue;\n\n // if (document.activeElement === textareaRef.current) {\n // textareaRef.current.scrollTop = scrollTop;\n // textareaRef.current.setSelectionRange(selectionStart, selectionEnd);\n // }\n\n setResizeState(RESIZE_STABLE);\n setAutoSizeStyle(textareaStyles);\n } else {\n fixFirefoxAutoScroll();\n }\n }, [resizeState]);\n\n // We lock resize trigger by raf to avoid Safari warning\n var resizeRafRef = React.useRef();\n var cleanRaf = function cleanRaf() {\n raf.cancel(resizeRafRef.current);\n };\n var onInternalResize = function onInternalResize(size) {\n if (resizeState === RESIZE_STABLE) {\n onResize === null || onResize === void 0 || onResize(size);\n if (autoSize) {\n cleanRaf();\n resizeRafRef.current = raf(function () {\n startResize();\n });\n }\n }\n };\n React.useEffect(function () {\n return cleanRaf;\n }, []);\n\n // =============================== Render ===============================\n var mergedAutoSizeStyle = needAutoSize ? autoSizeStyle : null;\n var mergedStyle = _objectSpread(_objectSpread({}, style), mergedAutoSizeStyle);\n if (resizeState === RESIZE_START || resizeState === RESIZE_MEASURING) {\n mergedStyle.overflowY = 'hidden';\n mergedStyle.overflowX = 'hidden';\n }\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onInternalResize,\n disabled: !(autoSize || onResize)\n }, /*#__PURE__*/React.createElement(\"textarea\", _extends({}, restProps, {\n ref: textareaRef,\n style: mergedStyle,\n className: classNames(prefixCls, className, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled)),\n disabled: disabled,\n value: mergedValue,\n onChange: onInternalChange\n })));\n});\nexport default ResizableTextArea;","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 _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"defaultValue\", \"value\", \"onFocus\", \"onBlur\", \"onChange\", \"allowClear\", \"maxLength\", \"onCompositionStart\", \"onCompositionEnd\", \"suffix\", \"prefixCls\", \"classes\", \"showCount\", \"count\", \"className\", \"style\", \"disabled\", \"hidden\", \"classNames\", \"styles\", \"onResize\"];\nimport clsx from 'classnames';\nimport { BaseInput } from 'rc-input';\nimport useCount from \"rc-input/es/hooks/useCount\";\nimport { resolveOnChange } from \"rc-input/es/utils/commonUtils\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport ResizableTextArea from \"./ResizableTextArea\";\nvar TextArea = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _countConfig$max, _clsx;\n var defaultValue = _ref.defaultValue,\n customValue = _ref.value,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onChange = _ref.onChange,\n allowClear = _ref.allowClear,\n maxLength = _ref.maxLength,\n onCompositionStart = _ref.onCompositionStart,\n onCompositionEnd = _ref.onCompositionEnd,\n suffix = _ref.suffix,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-textarea' : _ref$prefixCls,\n classes = _ref.classes,\n showCount = _ref.showCount,\n count = _ref.count,\n className = _ref.className,\n style = _ref.style,\n disabled = _ref.disabled,\n hidden = _ref.hidden,\n classNames = _ref.classNames,\n styles = _ref.styles,\n onResize = _ref.onResize,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useMergedState = useMergedState(defaultValue, {\n value: customValue,\n defaultValue: defaultValue\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n var formatValue = value === undefined || value === null ? '' : String(value);\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n focused = _React$useState2[0],\n setFocused = _React$useState2[1];\n var compositionRef = React.useRef(false);\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n textareaResized = _React$useState4[0],\n setTextareaResized = _React$useState4[1];\n\n // =============================== Ref ================================\n var resizableTextAreaRef = useRef(null);\n var getTextArea = function getTextArea() {\n var _resizableTextAreaRef;\n return (_resizableTextAreaRef = resizableTextAreaRef.current) === null || _resizableTextAreaRef === void 0 ? void 0 : _resizableTextAreaRef.textArea;\n };\n var focus = function focus() {\n getTextArea().focus();\n };\n useImperativeHandle(ref, function () {\n return {\n resizableTextArea: resizableTextAreaRef.current,\n focus: focus,\n blur: function blur() {\n getTextArea().blur();\n }\n };\n });\n useEffect(function () {\n setFocused(function (prev) {\n return !disabled && prev;\n });\n }, [disabled]);\n\n // =========================== Select Range ===========================\n var _React$useState5 = React.useState(null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n selection = _React$useState6[0],\n setSelection = _React$useState6[1];\n React.useEffect(function () {\n if (selection) {\n var _getTextArea;\n (_getTextArea = getTextArea()).setSelectionRange.apply(_getTextArea, _toConsumableArray(selection));\n }\n }, [selection]);\n\n // ============================== Count ===============================\n var countConfig = useCount(count, showCount);\n var mergedMax = (_countConfig$max = countConfig.max) !== null && _countConfig$max !== void 0 ? _countConfig$max : maxLength;\n\n // Max length value\n var hasMaxLength = Number(mergedMax) > 0;\n var valueLength = countConfig.strategy(formatValue);\n var isOutOfRange = !!mergedMax && valueLength > mergedMax;\n\n // ============================== Change ==============================\n var triggerChange = function triggerChange(e, currentValue) {\n var cutValue = currentValue;\n if (!compositionRef.current && countConfig.exceedFormatter && countConfig.max && countConfig.strategy(currentValue) > countConfig.max) {\n cutValue = countConfig.exceedFormatter(currentValue, {\n max: countConfig.max\n });\n if (currentValue !== cutValue) {\n setSelection([getTextArea().selectionStart || 0, getTextArea().selectionEnd || 0]);\n }\n }\n setValue(cutValue);\n resolveOnChange(e.currentTarget, e, onChange, cutValue);\n };\n\n // =========================== Value Update ===========================\n var onInternalCompositionStart = function onInternalCompositionStart(e) {\n compositionRef.current = true;\n onCompositionStart === null || onCompositionStart === void 0 || onCompositionStart(e);\n };\n var onInternalCompositionEnd = function onInternalCompositionEnd(e) {\n compositionRef.current = false;\n triggerChange(e, e.currentTarget.value);\n onCompositionEnd === null || onCompositionEnd === void 0 || onCompositionEnd(e);\n };\n var onInternalChange = function onInternalChange(e) {\n triggerChange(e, e.target.value);\n };\n var handleKeyDown = function handleKeyDown(e) {\n var onPressEnter = rest.onPressEnter,\n onKeyDown = rest.onKeyDown;\n if (e.key === 'Enter' && onPressEnter) {\n onPressEnter(e);\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown(e);\n };\n var handleFocus = function handleFocus(e) {\n setFocused(true);\n onFocus === null || onFocus === void 0 || onFocus(e);\n };\n var handleBlur = function handleBlur(e) {\n setFocused(false);\n onBlur === null || onBlur === void 0 || onBlur(e);\n };\n\n // ============================== Reset ===============================\n var handleReset = function handleReset(e) {\n setValue('');\n focus();\n resolveOnChange(getTextArea(), e, onChange);\n };\n var suffixNode = suffix;\n var dataCount;\n if (countConfig.show) {\n if (countConfig.showFormatter) {\n dataCount = countConfig.showFormatter({\n value: formatValue,\n count: valueLength,\n maxLength: mergedMax\n });\n } else {\n dataCount = \"\".concat(valueLength).concat(hasMaxLength ? \" / \".concat(mergedMax) : '');\n }\n suffixNode = /*#__PURE__*/React.createElement(React.Fragment, null, suffixNode, /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(\"\".concat(prefixCls, \"-data-count\"), classNames === null || classNames === void 0 ? void 0 : classNames.count),\n style: styles === null || styles === void 0 ? void 0 : styles.count\n }, dataCount));\n }\n var handleResize = function handleResize(size) {\n var _getTextArea2;\n onResize === null || onResize === void 0 || onResize(size);\n if ((_getTextArea2 = getTextArea()) !== null && _getTextArea2 !== void 0 && _getTextArea2.style.height) {\n setTextareaResized(true);\n }\n };\n var isPureTextArea = !rest.autoSize && !showCount && !allowClear;\n var textarea = /*#__PURE__*/React.createElement(BaseInput, {\n value: formatValue,\n allowClear: allowClear,\n handleReset: handleReset,\n suffix: suffixNode,\n prefixCls: prefixCls,\n classes: {\n affixWrapper: clsx(classes === null || classes === void 0 ? void 0 : classes.affixWrapper, (_clsx = {}, _defineProperty(_clsx, \"\".concat(prefixCls, \"-show-count\"), showCount), _defineProperty(_clsx, \"\".concat(prefixCls, \"-textarea-allow-clear\"), allowClear), _clsx))\n },\n disabled: disabled,\n focused: focused,\n className: clsx(className, isOutOfRange && \"\".concat(prefixCls, \"-out-of-range\")),\n style: _objectSpread(_objectSpread({}, style), textareaResized && !isPureTextArea ? {\n height: 'auto'\n } : {}),\n dataAttrs: {\n affixWrapper: {\n 'data-count': typeof dataCount === 'string' ? dataCount : undefined\n }\n },\n hidden: hidden,\n inputElement: /*#__PURE__*/React.createElement(ResizableTextArea, _extends({}, rest, {\n maxLength: maxLength,\n onKeyDown: handleKeyDown,\n onChange: onInternalChange,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onCompositionStart: onInternalCompositionStart,\n onCompositionEnd: onInternalCompositionEnd,\n className: clsx(classNames === null || classNames === void 0 ? void 0 : classNames.textarea),\n style: _objectSpread(_objectSpread({}, styles === null || styles === void 0 ? void 0 : styles.textarea), {}, {\n resize: style === null || style === void 0 ? void 0 : style.resize\n }),\n disabled: disabled,\n prefixCls: prefixCls,\n onResize: handleResize,\n ref: resizableTextAreaRef\n }))\n });\n return textarea;\n});\nexport default TextArea;","import TextArea from \"./TextArea\";\nexport { default as ResizableTextArea } from \"./ResizableTextArea\";\nexport default TextArea;"],"names":["EXPAND_COLUMN","INTERNAL_HOOKS","parseColWidth","totalWidth","width","arguments","length","undefined","endsWith","parseFloat","_excluded","_excluded2","convertChildrenToColumns","children","toArray","filter","node","map","_ref","key","props","nodeChildren","restProps","column","flatColumns","columns","parentKey","reduce","list","index","fixed","parsedFixed","mergedKey","concat","subColumns","subColum","_ref2","transformColumns","prefixCls","expandable","expandedKeys","columnTitle","getRowKey","onTriggerExpand","expandIcon","rowExpandable","expandIconColumnIndex","direction","expandRowByClick","columnWidth","scrollWidth","clientWidth","baseColumns","withExpandColumns","_expandColumn","cloneColumns","slice","includes","expandColIndex","splice","expandColumnIndex","indexOf","fixedColumn","prevColumn","expandColumn","className","columnType","_","record","rowKey","expanded","has","recordExpandable","icon","onExpand","onClick","e","stopPropagation","col","mergedColumns","finalColumns","render","_useWidthColumns","flattenColumns","missWidthCount","forEach","colWidth","maxFitWidth","Math","max","restWidth","restCount","avgWidth","realTotal","filledColumns","clone","colAvgWidth","floor","scale","useWidthColumns","revertForRtl","_useWidthColumns2","realScrollWidth","_createImmutable","makeImmutable","responseImmutable","useImmutableMark","times","timesRef","current","propsRef","keys","Object","_propsRef$current","push","keysRef","join","useRenderTimes","displayName","renderWithProps","getColumnsKey","columnKeys","arr","dataIndex","Array","isArray","validateValue","val","Cell","_ref3","_legacyCellProps$colS","_ref4","_ref5","_legacyCellProps$rowS","_additionalProps$titl","_classNames","Component","component","ellipsis","scope","align","renderIndex","shouldCellUpdate","rowType","colSpan","rowSpan","fixLeft","fixRight","firstFixLeft","lastFixLeft","firstFixRight","lastFixRight","appendNode","_props$additionalProp","additionalProps","isSticky","cellPrefixCls","_useContext","supportSticky","allColumnsFixedLeft","_useCellRender","perfRecord","mark","useMemo","data","path","value","get","returnChildNode","returnCellProps","renderData","prev","next","prevRecord","nextRecord","isEqual","useCellRender","_useCellRender2","childNode","legacyCellProps","fixedStyle","isFixLeft","isFixRight","position","left","right","mergedColSpan","mergedRowSpan","_useHoverState","rowIndex","ctx","cellStartRow","cellRowSpan","startRow","endRow","hoverStartRow","hoverEndRow","onHover","useHoverState","_useHoverState2","hovering","onMouseEnter","event","_additionalProps$onMo","call","onMouseLeave","_additionalProps$onMo2","title","ellipsisConfig","showTitle","toString","getTitleFromCellRenderChildren","mergedClassName","alignStyle","textAlign","mergedStyle","style","mergedChildNode","getCellFixedInfo","colStart","colEnd","stickyOffsets","curColumns","startColumn","endColumn","nextColumn","canLastFix","Summary","Row","_ref$colSpan","_React$useContext","scrollColumnIndex","fixedInfo","lastColumnIndex","scrollColumn","summaryContext","scrollbar","Provider","FooterComponents","_extends","assign","bind","n","t","r","hasOwnProperty","apply","_typeof","o","Symbol","iterator","constructor","prototype","toPropertyKey","i","toPrimitive","TypeError","String","_defineProperty","defineProperty","enumerable","configurable","writable","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","CollectionContext","elementListeners","Map","resizeObserver","entities","entity","_elementListeners$get","target","listener","_defineProperties","_setPrototypeOf","setPrototypeOf","__proto__","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","DomWrapper","_React$Component","create","_inherits","_super","s","this","ReferenceError","a","_classCallCheck","_createClass","SingleObserver","ref","disabled","elementRef","wrapperRef","onCollectionResize","isRenderProps","mergedChildren","sizeRef","height","offsetWidth","offsetHeight","canRef","originRef","mergedRef","getDom","_elementRef$current","findDOMNode","nativeElement","onInternalResize","onResize","_target$getBoundingCl","getBoundingClientRect","fixedWidth","fixedHeight","size","mergedOffsetWidth","round","mergedOffsetHeight","sizeInfo","Promise","resolve","then","element","callback","currentElement","set","Set","observe","add","delete","unobserve","ResizeObserver","child","RefResizeObserver","Collection","onBatchResize","resizeIdRef","resizeInfosRef","currentId","fillRecords","indent","childrenColumnName","useFlattenRecords","item","useRowInfo","recordIndex","computeRowClassName","context","expandableType","onRow","rowClassName","nestExpandable","rowSupportExpand","mergedExpandable","hasNestChildren","onInternalTriggerExpand","rowProps","onRowClick","columnsKey","_len","args","_key","cellComponent","isEmpty","scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll","contentNode","overflow","display","getCellProps","rowInfo","colIndex","appendCellNode","additionalCellProps","fixedInfoList","indentSize","paddingLeft","onCell","BodyRow","_props$indent","RowComponent","rowComponent","scopeCellComponent","expandedRowClassName","expandedRowRender","expandedRef","expandRowNode","baseRowNode","columnClassName","_getCellProps","rowScope","expandContent","computedExpandedRowClassName","MeasureCell","columnKey","onColumnResize","cellRef","padding","border","MeasureRow","fontSize","infoList","Body","rows","measureColumnWidth","getComponent","emptyNode","flattenData","perfRef","WrapperComponent","trComponent","tdComponent","thComponent","idx","colWidths","cols","mustInsert","columCount","restAdditionalProps","unshift","FixedHolder","noData","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","combinationScrollBarSize","scrollRef","setScrollRef","_scrollRef$current","onWheel","currentTarget","deltaX","scrollLeft","preventDefault","addEventListener","_scrollRef$current2","removeEventListener","allFlattenColumnsWithWidth","every","lastColumn","ScrollBarColumn","onHeaderCell","columnsWithScrollbar","flattenColumnsWithScrollbar","headerStickyOffsets","mergedColumnWidth","useColumnWidth","top","bottom","tableLayout","visibility","HeaderRow","cells","CellComponent","tdCellComponent","onHeaderRow","cell","cellIndex","rootColumns","fillRowCells","currentColIndex","total","count","hasSubColumns","rowCount","_loop","parseHeaderRows","row","renderExpandIcon","expandClassName","useLayoutState","defaultState","stateRef","useRef","_useState","useState","forceUpdate","lastPromiseRef","updateBatchRef","useEffect","updater","promise","prevBatch","prevState","batchUpdater","defaultContainer","window","StickyScrollBar","_scrollBodyRef$curren","_scrollBodyRef$curren2","scrollBodyRef","offsetScroll","container","bodyScrollWidth","bodyWidth","scrollBarWidth","scrollBarRef","_useLayoutState","isHiddenScrollBar","_useLayoutState2","scrollState","setScrollState","refState","delta","x","_React$useState","_React$useState2","isActive","setActive","onMouseUp","onMouseMove","_window","buttons","pageX","onContainerScroll","tableOffsetTop","tableBottomOffset","currentClientOffset","document","documentElement","scrollTop","innerHeight","clientHeight","getScrollBarSize","state","setScrollLeft","onMouseUpListener","body","onMouseMoveListener","remove","onScrollListener","onResizeListener","bodyNode","onMouseDown","persist","transform","DEFAULT_PREFIX","EMPTY_DATA","EMPTY_SCROLL_TARGET","defaultEmpty","tableProps","emptyText","scroll","footer","summary","caption","id","showHeader","components","internalHooks","internalRefs","tailor","getContainerWidth","sticky","mergedData","hasData","useInternalHooks","defaultComponent","customizeScrollBody","_useHover","setStartRow","_React$useState3","_React$useState4","setEndRow","start","end","useHover","_useHover2","_useExpand","expandableConfig","expandedRowKeys","defaultExpandedRowKeys","defaultExpandAllRows","onExpandedRowsChange","mergedExpandIcon","mergedChildrenColumnName","__PARENT_RENDER_ICON__","some","dig","findAllChildrenKeys","innerExpandedKeys","setInnerExpandedKeys","mergedExpandedKeys","newExpandedKeys","hasKey","useExpand","_useExpand2","scrollX","setComponentWidth","_useColumns","useColumns","_useColumns2","flattenScrollX","mergedScrollX","columnContext","fullTableRef","scrollHeaderRef","scrollBodyContainerRef","scrollTo","config","_scrollBodyRef$curren3","HTMLElement","querySelector","scrollIntoView","scrollXStyle","scrollYStyle","scrollTableStyle","scrollSummaryRef","pingedLeft","setPingedLeft","_React$useState5","_React$useState6","pingedRight","setPingedRight","colsWidths","updateColsWidths","pureColWidths","columnCount","leftOffsets","rightOffsets","_end","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","_useTimeoutLock","frameRef","timeoutRef","cleanUp","clearTimeout","newState","setTimeout","useTimeoutLock","_useTimeoutLock2","setScrollTarget","getScrollTarget","forceScroll","useEvent","_stickyRef$current","isRTL","mergedScrollLeft","compareTarget","measureTarget","triggerOnScroll","mounted","_React$useState7","_React$useState8","setScrollbarSize","_React$useState9","_React$useState10","setSupportSticky","Element","groupTableNode","renderFixedHeaderTable","fixedHolderPassProps","renderFixedFooterTable","TableComponent","mergedTableLayout","headerProps","bodyTable","bodyColGroup","captionElement","dataProps","pickAttrs","ariaProps","aria","bodyContent","_ref6","Number","isNaN","fixedHolderProps","fullTable","mergedWidth","useFixedInfo","TableContextValue","RefTable","genTable","shouldTriggerRender","ImmutableTable","Column","ColumnGroup","StaticContext","GridContext","inverse","getHeight","columnsOffset","cellStyle","_additionalCellProps$","_additionalCellProps$2","concatColWidth","getColumnWidth","marginOffset","flex","marginRight","pointerEvents","needHide","mergedRender","cellSpan","extra","rowCellCls","rowStyle","rowNode","_useContext2","scrollY","listItemHeight","listRef","columnsWidth","obj","_listRef$current","_listRef$current2","getScrollInfo","_listRef$current3","getRowSpan","_flattenData$index","_cellProps$rowSpan","cellProps","gridContext","tblPrefixCls","horizontalScrollBarStyle","fullHeight","styles","horizontalScrollBar","itemHeight","itemKey","onVirtualScroll","extraRender","info","getSize","offsetY","firstRowSpanColumns","startIndex","lastRowSpanColumns","endIndex","_loop2","_i","spanLines","_loop3","_i2","endItemIndex","endItemKey","itemProps","renderBody","rawData","VirtualTable","_props$prefixCls","RefVirtualTable","genVirtualTable","INTERNAL_COL_DEFINE","getExpandableProps","legacyExpandableConfig","showExpandColumn","createContext","DEFAULT_SIZE","useSyncState","onChange","newValue","SPEED_OFF_MULTIPLE","pow","useUpdate","_useState2","setCount","effectRef","callbackRef","_callbackRef$current","stringify","tgt","v","k","JSON","genDataNodeKey","replace","getRemovable","closable","closeIcon","editable","AddButton","locale","showAdd","addAriaLabel","onEdit","addIcon","content","assertExtra","OperationNode","tabs","mobile","_props$moreIcon","moreIcon","moreTransitionName","tabBarGutter","rtl","removeAriaLabel","onTabClick","getPopupContainer","popupClassName","open","setOpen","_useState3","_useState4","selectedKey","setSelectedKey","popupId","dropdownPrefix","selectedItemId","dropdownAriaLabel","menu","domEvent","tabIndex","role","selectedKeys","tab","label","removable","onRemoveTab","removeIcon","selectOffset","offset","enabledTabs","selectedIndex","findIndex","len","ele","getElementById","moreStyle","order","overlayClassName","moreNode","overlay","trigger","visible","transitionName","onVisibleChange","mouseEnterDelay","mouseLeaveDelay","onKeyDown","which","KeyCode","UP","DOWN","ESC","SPACE","ENTER","active","_props$tab","renderWrapper","onFocus","tabPrefix","onInternalClick","labelNode","refObj","_ref$offsetWidth","_ref$offsetHeight","_refObj$current$getBo","abs","getUnitValue","tabPositionTopOrBottom","TabNavList","animated","activeKey","tabPosition","onTabScroll","indicatorSize","TabContext","containerRef","extraLeftRef","extraRightRef","tabsWrapperRef","tabListRef","operationsRef","innerAddButtonRef","_useSyncState","_useSyncState2","transformLeft","setTransformLeft","_useSyncState3","_useSyncState4","transformTop","setTransformTop","containerExcludeExtraSize","setContainerExcludeExtraSize","tabContentSize","setTabContentSize","_useState5","_useState6","addSize","setAddSize","_useState7","_useState8","operationSize","setOperationSize","_useUpdateState","batchRef","flushUpdate","useUpdateState","_useUpdateState2","tabSizes","setTabSizes","tabOffsets","holderScrollWidth","_tabs$","lastOffset","rightOffset","_tabs","useOffsets","containerExcludeExtraSizeValue","tabContentSizeValue","addSizeValue","operationSizeValue","needScroll","visibleTabContentValue","operationsHiddenClassName","transformMin","transformMax","alignInRange","min","touchMovingRef","_useState9","_useState10","lockAnimation","setLockAnimation","doLockAnimation","Date","now","clearTouchMoving","onOffset","touchPosition","setTouchPosition","lastTimestamp","setLastTimestamp","lastTimeDiff","setLastTimeDiff","setLastOffset","motionRef","lastWheelDirectionRef","touchEventsRef","onTouchStart","_e$touches$","touches","screenX","screenY","clearInterval","onTouchMove","_e$touches$2","offsetX","onTouchEnd","distanceX","distanceY","absX","absY","currentX","currentY","setInterval","deltaY","mixed","onProxyTouchMove","onProxyTouchEnd","passive","useTouchMove","doMove","setState","_useVisibleRange","addNodeSizeValue","operationNodeSizeValue","charUnit","transformSize","useVisibleRange","_useVisibleRange2","visibleStart","visibleEnd","scrollToTab","tabOffset","newTransform","_newTransform","tabNodeStyle","marginTop","tabNodes","updateTabSizes","_tabListRef$current","newSizes","listRect","_tabListRef$current2","btnNode","_getTabSize","containerRect","offsetTop","offsetLeft","_tab$getBoundingClien","getTabSize","_getTabSize2","onListHolderResize","containerSize","extraLeftSize","extraRightSize","newAddSize","newOperationSize","tabContentFullSize","startHiddenTabs","endHiddenTabs","hiddenTabs","activeTabOffset","indicatorStyle","horizontal","inkStyle","setInkStyle","inkBarRafRef","getLength","origin","cleanInkBarRaf","raf","cancel","newInkStyle","pingLeft","pingRight","pingTop","pingBottom","hasDropdown","wrapPrefix","transition","inkBar","tabMoving","TabPane","tabKey","renderTabBar","panes","restTabProps","Context","STATUS_NONE","STATUS_APPEAR","STATUS_ENTER","STATUS_LEAVE","STEP_NONE","STEP_PREPARE","STEP_START","STEP_ACTIVE","STEP_ACTIVATED","STEP_PREPARED","makePrefixMap","styleProp","eventName","prefixes","toLowerCase","domSupport","win","vendorPrefixes","animationend","transitionend","animation","_document$createEleme","createElement","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","getTransitionName","transitionType","match","toUpperCase","canUseDom","useLayoutEffect","FULL_STEP_QUEUE","SIMPLE_STEP_QUEUE","SkipStep","step","useStatus","supportMotion","getElement","_ref$motionEnter","motionEnter","_ref$motionAppear","motionAppear","_ref$motionLeave","motionLeave","motionDeadline","motionLeaveImmediately","onAppearPrepare","onEnterPrepare","onLeavePrepare","onAppearStart","onEnterStart","onLeaveStart","onAppearActive","onEnterActive","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","onVisibleChanged","asyncVisible","setAsyncVisible","getStatus","setStatus","setStyle","currentStatus","mountedRef","deadlineRef","getDomElement","activeRef","updateMotionEndStatus","onInternalMotionEnd","status","deadline","canEnd","currentActive","_useDomMotionEvents","cacheElementRef","removeMotionEvents","useDomMotionEvents","patchMotionEvents","getEventHandlers","targetStatus","eventHandlers","_useStepQueue","prepareOnly","setStep","_useNextFrame","nextFrameRef","cancelNextFrame","nextFrame","delay","nextFrameId","isCanceled","useNextFrame","_useNextFrame2","STEP_QUEUE","nextStep","result","doNext","useStepQueue","newStep","onPrepare","_eventHandlers$step","_useStepQueue2","startStep","nextStatus","isMounted","nextEventHandlers","firstMountChangeRef","transitionSupport","CSSMotion","_props$visible","_props$removeOnLeave","removeOnLeave","forceRender","motionName","leavedClassName","eventProps","contextMotion","isSupportTransition","motion","nodeRef","wrapperNodeRef","_useStatus","_useStatus2","statusStep","statusStyle","mergedVisible","renderedRef","motionChildren","setNodeRef","mergedProps","statusSuffix","motionCls","STATUS_ADD","STATUS_KEEP","STATUS_REMOVE","STATUS_REMOVED","wrapKeyToObject","keyObj","parseKeys","MOTION_PROP_NAMES","CSSMotionList","_this","keyEntities","removeKey","onAllRemoved","_this2","_this$props","_onVisibleChanged","motionProps","prop","changedVisible","parsedKeyObjects","mixedKeyEntities","prevKeys","currentKeys","currentIndex","currentLen","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","matchKey","diffKeys","prevEntity","find","destroyInactiveTabPane","tabPaneAnimated","tabPane","tabPanePrefixCls","paneStyle","paneClassName","itemDestroyInactiveTabPane","tabPaneMotion","motionStyle","motionClassName","uuid","items","defaultActiveKey","_props$tabPosition","tabBarStyle","tabBarExtraContent","mergedAnimated","useAnimateConfig","setMobile","isMobile","_useMergedState","useMergedState","defaultValue","_useMergedState2","mergedActiveKey","setMergedActiveKey","activeIndex","setActiveIndex","_tabs$newActiveIndex","newActiveIndex","_useMergedState3","_useMergedState4","mergedId","setMergedId","sharedProps","tabNavBarProps","isActiveChanged","hiddenTextarea","SIZING_STYLE","computedStyleCache","onPressEnter","autoSize","onInternalAutoSize","postState","mergedValue","setMergedValue","textareaRef","textArea","_React$useMemo","minRows","maxRows","_React$useMemo2","needAutoSize","resizeState","setResizeState","autoSizeStyle","setAutoSizeStyle","startResize","textareaStyles","uiTextNode","useCache","setAttribute","appendChild","getAttribute","removeAttribute","_calculateNodeStyling","getComputedStyle","boxSizing","getPropertyValue","paddingSize","borderSize","nodeInfo","sizingStyle","name","calculateNodeStyling","placeholder","minHeight","scrollHeight","singleRowHeight","resize","calculateAutoSizeStyle","activeElement","_textareaRef$current","selectionStart","selectionEnd","setSelectionRange","fixFirefoxAutoScroll","resizeRafRef","cleanRaf","mergedAutoSizeStyle","_countConfig$max","_clsx","customValue","onBlur","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","_ref$prefixCls","classes","showCount","hidden","classNames","rest","setValue","formatValue","focused","setFocused","compositionRef","textareaResized","setTextareaResized","resizableTextAreaRef","getTextArea","_resizableTextAreaRef","focus","useImperativeHandle","resizableTextArea","blur","selection","setSelection","_getTextArea","dataCount","countConfig","useCount","mergedMax","hasMaxLength","valueLength","strategy","isOutOfRange","triggerChange","currentValue","cutValue","exceedFormatter","suffixNode","show","showFormatter","isPureTextArea","handleReset","affixWrapper","dataAttrs","inputElement","textarea","_getTextArea2"],"sourceRoot":""}