Socket
Socket
Sign inDemoInstall

rsuite-table

Package Overview
Dependencies
17
Maintainers
1
Versions
220
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 5.14.0 to 5.15.0

14

CHANGELOG.md

@@ -0,1 +1,15 @@

# [5.15.0](https://github.com/rsuite/rsuite-table/compare/5.14.0...5.15.0) (2023-10-26)
### Bug Fixes
* **Table:** fix table cell text cannot be copied ([8a9f06b](https://github.com/rsuite/rsuite-table/commit/8a9f06bf34c83ba6c48c5da2c0988c83faea2d5c))
### Features
* add a script to prepend the use client directive ([#466](https://github.com/rsuite/rsuite-table/issues/466)) ([24369c5](https://github.com/rsuite/rsuite-table/commit/24369c583786fea1757131b417ce25aa3bc3a4f8))
# [5.14.0](https://github.com/rsuite/rsuite-table/compare/5.13.0...5.14.0) (2023-10-19)

@@ -2,0 +16,0 @@

10

es/@types/common.d.ts

@@ -12,4 +12,4 @@ /// <reference types="react" />

}
export declare type SortType = 'desc' | 'asc';
export declare type TableSizeChangeEventName = 'bodyHeightChanged' | 'bodyWidthChanged' | 'widthChanged' | 'heightChanged';
export type SortType = 'desc' | 'asc';
export type TableSizeChangeEventName = 'bodyHeightChanged' | 'bodyWidthChanged' | 'widthChanged' | 'heightChanged';
export interface RowDataType<T = never> {

@@ -20,3 +20,3 @@ dataKey?: string;

}
export declare type RowKeyType = string | number;
export type RowKeyType = string | number;
export interface TableLocaleType {

@@ -26,6 +26,6 @@ emptyMessage?: string;

}
export declare type ListenerCallback = {
export type ListenerCallback = {
off: () => void;
};
export declare type ElementOffset = {
export type ElementOffset = {
top: number;

@@ -32,0 +32,0 @@ left: number;

@@ -0,1 +1,2 @@

'use client';
export {};
'use client';
import _extends from "@babel/runtime/helpers/esm/extends";

@@ -20,62 +19,55 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";

var _extends2, _extends3;
var _props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'cell' : _props$classPrefix,
_props$width = props.width,
width = _props$width === void 0 ? 0 : _props$width,
_props$left = props.left,
left = _props$left === void 0 ? 0 : _props$left,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? ROW_HEADER_HEIGHT : _props$headerHeight,
_props$depth = props.depth,
depth = _props$depth === void 0 ? 0 : _props$depth,
_props$height = props.height,
height = _props$height === void 0 ? ROW_HEIGHT : _props$height,
style = props.style,
className = props.className,
fullText = props.fullText,
firstColumn = props.firstColumn,
lastColumn = props.lastColumn,
isHeaderCell = props.isHeaderCell,
align = props.align,
children = props.children,
rowData = props.rowData,
dataKey = props.dataKey,
rowIndex = props.rowIndex,
removed = props.removed,
rowKey = props.rowKey,
rowSpan = props.rowSpan,
wordWrap = props.wordWrap,
verticalAlign = props.verticalAlign,
expanded = props.expanded,
treeCol = props.treeCol,
hasChildren = props.hasChildren,
predefinedStyle = props.predefinedStyle,
renderCell = props.renderCell,
renderTreeToggle = props.renderTreeToggle,
onClick = props.onClick,
onTreeToggle = props.onTreeToggle,
rest = _objectWithoutPropertiesLoose(props, _excluded);
classPrefix = _props$classPrefix === void 0 ? 'cell' : _props$classPrefix,
_props$width = props.width,
width = _props$width === void 0 ? 0 : _props$width,
_props$left = props.left,
left = _props$left === void 0 ? 0 : _props$left,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? ROW_HEADER_HEIGHT : _props$headerHeight,
_props$depth = props.depth,
depth = _props$depth === void 0 ? 0 : _props$depth,
_props$height = props.height,
height = _props$height === void 0 ? ROW_HEIGHT : _props$height,
style = props.style,
className = props.className,
fullText = props.fullText,
firstColumn = props.firstColumn,
lastColumn = props.lastColumn,
isHeaderCell = props.isHeaderCell,
align = props.align,
children = props.children,
rowData = props.rowData,
dataKey = props.dataKey,
rowIndex = props.rowIndex,
removed = props.removed,
rowKey = props.rowKey,
rowSpan = props.rowSpan,
wordWrap = props.wordWrap,
verticalAlign = props.verticalAlign,
expanded = props.expanded,
treeCol = props.treeCol,
hasChildren = props.hasChildren,
predefinedStyle = props.predefinedStyle,
renderCell = props.renderCell,
renderTreeToggle = props.renderTreeToggle,
onClick = props.onClick,
onTreeToggle = props.onTreeToggle,
rest = _objectWithoutPropertiesLoose(props, _excluded);
var _React$useContext = React.useContext(TableContext),
rtl = _React$useContext.rtl,
hasCustomTreeCol = _React$useContext.hasCustomTreeCol,
isTree = _React$useContext.isTree;
rtl = _React$useContext.rtl,
hasCustomTreeCol = _React$useContext.hasCustomTreeCol,
isTree = _React$useContext.isTree;
var isTreeCol = treeCol || !hasCustomTreeCol && firstColumn && isTree;
var cellHeight = typeof height === 'function' ? height(rowData) : height;
if (isTreeCol && !isHeaderCell && !rowData) {
throw new Error('[Table.Cell]: `rowData` is required for tree column');
}
var handleTreeToggle = useCallback(function (event) {
onTreeToggle === null || onTreeToggle === void 0 ? void 0 : onTreeToggle(rowKey, rowIndex, rowData, event);
}, [onTreeToggle, rowData, rowIndex, rowKey]);
var _useClassNames = useClassNames(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
var classes = merge(className, withClassPrefix({

@@ -89,7 +81,4 @@ expanded: expanded && isTreeCol,

var nextHeight = isHeaderCell ? headerHeight : cellHeight;
var styles = _extends({}, predefinedStyle, (_extends2 = {}, _extends2[fullText ? 'minWidth' : 'width'] = width, _extends2.height = nextHeight, _extends2.zIndex = depth, _extends2[rtl ? 'right' : 'left'] = left, _extends2));
var paddingKey = rtl ? 'paddingRight' : 'paddingLeft';
var contentStyles = _extends({}, style, (_extends3 = {

@@ -100,3 +89,2 @@ width: fullText ? width - 1 : width,

}, _extends3[paddingKey] = isTreeCol ? depth * LAYER_WIDTH + 10 : (style === null || style === void 0 ? void 0 : style[paddingKey]) || (style === null || style === void 0 ? void 0 : style.padding), _extends3));
if (verticalAlign) {

@@ -106,3 +94,2 @@ contentStyles.display = 'table-cell';

}
if (wordWrap) {

@@ -112,9 +99,6 @@ contentStyles.wordBreak = typeof wordWrap === 'boolean' ? 'break-all' : wordWrap;

}
var cellContent = isNil(children) && rowData && dataKey ? get(rowData, dataKey) : children;
if (typeof children === 'function') {
cellContent = children(rowData, rowIndex);
}
var renderTreeNodeExpandIcon = function renderTreeNodeExpandIcon() {

@@ -125,3 +109,2 @@ var ExpandIconComponent = expanded ? ArrowDown : ArrowRight;

});
if (isTreeCol && hasChildren) {

@@ -135,14 +118,10 @@ return /*#__PURE__*/React.createElement("span", {

}
return null;
};
var content = wordWrap ? /*#__PURE__*/React.createElement("div", {
className: prefix('wrap')
}, renderTreeNodeExpandIcon(), renderCell ? renderCell(cellContent) : cellContent) : /*#__PURE__*/React.createElement(React.Fragment, null, renderTreeNodeExpandIcon(), renderCell ? renderCell(cellContent) : cellContent);
if (removed) {
return null;
}
return /*#__PURE__*/React.createElement("div", _extends({

@@ -149,0 +128,0 @@ ref: ref,

'use client';
import _extends from "@babel/runtime/helpers/esm/extends";

@@ -11,23 +10,18 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";

var _withClassPrefix;
var fixed = props.fixed,
width = props.width,
left = props.left,
height = props.height,
style = props.style,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'cell-group' : _props$classPrefix,
className = props.className,
children = props.children,
rest = _objectWithoutPropertiesLoose(props, _excluded);
width = props.width,
left = props.left,
height = props.height,
style = props.style,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'cell-group' : _props$classPrefix,
className = props.className,
children = props.children,
rest = _objectWithoutPropertiesLoose(props, _excluded);
var _useContext = useContext(TableContext),
translateDOMPositionXY = _useContext.translateDOMPositionXY;
translateDOMPositionXY = _useContext.translateDOMPositionXY;
var _useClassNames = useClassNames(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix["fixed-" + fixed] = fixed, _withClassPrefix.scroll = !fixed, _withClassPrefix)));
var styles = _extends({

@@ -37,3 +31,2 @@ width: width,

}, style);
translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, left, 0);

@@ -40,0 +33,0 @@ return /*#__PURE__*/React.createElement("div", _extends({}, rest, {

@@ -43,3 +43,3 @@ /// <reference types="react" />

width: PropTypes.Requireable<number>;
fixed: PropTypes.Requireable<string | boolean>;
fixed: PropTypes.Requireable<NonNullable<string | boolean | null | undefined>>;
resizable: PropTypes.Requireable<boolean>;

@@ -46,0 +46,0 @@ sortable: PropTypes.Requireable<boolean>;

'use client';
import PropTypes from 'prop-types';
// eslint-disable-next-line @typescript-eslint/no-unused-vars

@@ -9,3 +7,2 @@ function Column(_props) {

}
var propTypes = {

@@ -12,0 +9,0 @@ align: PropTypes.oneOf(['left', 'center', 'right']),

'use client';
import _extends from "@babel/runtime/helpers/esm/extends";

@@ -11,14 +10,13 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";

var header = props.header,
className = props.className,
children = props.children,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'column-group' : _props$classPrefix,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? 80 : _props$headerHeight,
verticalAlign = props.verticalAlign,
align = props.align,
width = props.width,
groupHeightProp = props.groupHeaderHeight,
rest = _objectWithoutPropertiesLoose(props, _excluded);
className = props.className,
children = props.children,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'column-group' : _props$classPrefix,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? 80 : _props$headerHeight,
verticalAlign = props.verticalAlign,
align = props.align,
width = props.width,
groupHeightProp = props.groupHeaderHeight,
rest = _objectWithoutPropertiesLoose(props, _excluded);
var groupHeight = typeof groupHeightProp !== 'undefined' ? groupHeightProp : headerHeight / 2;

@@ -30,10 +28,7 @@ var restHeight = typeof groupHeightProp !== 'undefined' ? headerHeight - groupHeightProp : headerHeight / 2;

};
var _useClassNames = useClassNames(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
var classes = merge(className, withClassPrefix());
var contentStyles = _extends({}, styles, {

@@ -43,3 +38,2 @@ textAlign: align,

});
return /*#__PURE__*/React.createElement("div", _extends({

@@ -46,0 +40,0 @@ ref: ref,

import React from 'react';
import type { StandardProps } from './@types/common';
export declare type FixedType = boolean | 'left' | 'right';
export type FixedType = boolean | 'left' | 'right';
export interface Client {

@@ -5,0 +5,0 @@ clientX?: number;

'use client';
import _extends from "@babel/runtime/helpers/esm/extends";

@@ -14,25 +13,21 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";

var _extends2;
var _props$columnLeft = props.columnLeft,
columnLeft = _props$columnLeft === void 0 ? 0 : _props$columnLeft,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'column-resize-spanner' : _props$classPrefix,
height = props.height,
className = props.className,
style = props.style,
columnFixed = props.columnFixed,
defaultColumnWidth = props.defaultColumnWidth,
minWidth = props.minWidth,
onColumnResizeStart = props.onColumnResizeStart,
onColumnResizeMove = props.onColumnResizeMove,
onColumnResizeEnd = props.onColumnResizeEnd,
rest = _objectWithoutPropertiesLoose(props, _excluded);
columnLeft = _props$columnLeft === void 0 ? 0 : _props$columnLeft,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'column-resize-spanner' : _props$classPrefix,
height = props.height,
className = props.className,
style = props.style,
columnFixed = props.columnFixed,
defaultColumnWidth = props.defaultColumnWidth,
minWidth = props.minWidth,
onColumnResizeStart = props.onColumnResizeStart,
onColumnResizeMove = props.onColumnResizeMove,
onColumnResizeEnd = props.onColumnResizeEnd,
rest = _objectWithoutPropertiesLoose(props, _excluded);
var _useContext = useContext(TableContext),
rtl = _useContext.rtl;
rtl = _useContext.rtl;
var _useClassNames = useClassNames(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
var classes = merge(className, withClassPrefix());

@@ -47,3 +42,2 @@ var columnWidth = useRef(defaultColumnWidth || 0);

}
cursorDelta.current += deltaX;

@@ -55,3 +49,2 @@ columnWidth.current = clamp((defaultColumnWidth || 0) + (rtl ? -cursorDelta.current : cursorDelta.current), minWidth ? Math.max(minWidth, RESIZE_MIN_WIDTH) : RESIZE_MIN_WIDTH, 20000);

var _mouseMoveTracker$cur, _mouseMoveTracker$cur2;
isKeyDown.current = false;

@@ -80,3 +73,2 @@ onColumnResizeEnd === null || onColumnResizeEnd === void 0 ? void 0 : onColumnResizeEnd(columnWidth.current, cursorDelta.current);

var _mouseMoveTracker$cur3;
(_mouseMoveTracker$cur3 = mouseMoveTracker.current) === null || _mouseMoveTracker$cur3 === void 0 ? void 0 : _mouseMoveTracker$cur3.releaseMouseMoves();

@@ -86,9 +78,6 @@ mouseMoveTracker.current = null;

}, []);
if (columnFixed === 'right') {
return null;
}
var styles = _extends((_extends2 = {}, _extends2[rtl ? 'right' : 'left'] = columnWidth.current + columnLeft - 2, _extends2.height = height, _extends2), style);
return /*#__PURE__*/React.createElement("div", _extends({

@@ -95,0 +84,0 @@ tabIndex: -1,

@@ -0,1 +1,2 @@

'use client';
export var LAYER_WIDTH = 30;

@@ -11,13 +12,17 @@ export var SCROLLBAR_MIN_WIDTH = 14;

export var ROW_HEIGHT = 46;
export var ROW_HEADER_HEIGHT = 40; // transition-duration (ms)
export var ROW_HEADER_HEIGHT = 40;
export var TRANSITION_DURATION = 1000; // transition-timing-function (ease-out)
// transition-duration (ms)
export var TRANSITION_DURATION = 1000;
// transition-timing-function (ease-out)
export var BEZIER = 'cubic-bezier(0, 0, .58, 1)';
export var BEZIER = 'cubic-bezier(0, 0, .58, 1)'; // An attribute value added to the data row to identify whether it is expanded, used in Tree.
// An attribute value added to the data row to identify whether it is expanded, used in Tree.
export var EXPANDED_KEY = Symbol('expanded');
export var EXPANDED_KEY = Symbol('expanded'); // An attribute value added for the data row, identifying the key of the parent node, used in Tree.
// An attribute value added for the data row, identifying the key of the parent node, used in Tree.
export var PARENT_KEY = Symbol('parent');
export var PARENT_KEY = Symbol('parent'); // The attribute value added for the data row, which identifies the depth of the node (the number of parent nodes),
// The attribute value added for the data row, which identifies the depth of the node (the number of parent nodes),
// and is used in the Tree.
export var TREE_DEPTH = Symbol('treeDepth');
'use client';
import React from 'react';
var EmptyMessage = /*#__PURE__*/React.forwardRef(function (props, ref) {
var addPrefix = props.addPrefix,
locale = props.locale,
renderEmpty = props.renderEmpty,
loading = props.loading;
locale = props.locale,
renderEmpty = props.renderEmpty,
loading = props.loading;
if (loading) {
return null;
}
var emptyMessage = /*#__PURE__*/React.createElement("div", {

@@ -15,0 +12,0 @@ ref: ref,

'use client';
import _extends from "@babel/runtime/helpers/esm/extends";

@@ -22,41 +21,37 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";

var className = props.className,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'cell-header' : _props$classPrefix,
width = props.width,
dataKey = props.dataKey,
headerHeight = props.headerHeight,
children = props.children,
left = props.left,
sortable = props.sortable,
sortColumn = props.sortColumn,
sortType = props.sortType,
groupHeader = props.groupHeader,
resizable = props.resizable,
fixed = props.fixed,
minWidth = props.minWidth,
index = props.index,
flexGrow = props.flexGrow,
align = props.align,
verticalAlign = props.verticalAlign,
onColumnResizeEnd = props.onColumnResizeEnd,
onResize = props.onResize,
onColumnResizeStart = props.onColumnResizeStart,
onColumnResizeMove = props.onColumnResizeMove,
onSortColumn = props.onSortColumn,
renderSortIcon = props.renderSortIcon,
rest = _objectWithoutPropertiesLoose(props, _excluded);
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'cell-header' : _props$classPrefix,
width = props.width,
dataKey = props.dataKey,
headerHeight = props.headerHeight,
children = props.children,
left = props.left,
sortable = props.sortable,
sortColumn = props.sortColumn,
sortType = props.sortType,
groupHeader = props.groupHeader,
resizable = props.resizable,
fixed = props.fixed,
minWidth = props.minWidth,
index = props.index,
flexGrow = props.flexGrow,
align = props.align,
verticalAlign = props.verticalAlign,
onColumnResizeEnd = props.onColumnResizeEnd,
onResize = props.onResize,
onColumnResizeStart = props.onColumnResizeStart,
onColumnResizeMove = props.onColumnResizeMove,
onSortColumn = props.onSortColumn,
renderSortIcon = props.renderSortIcon,
rest = _objectWithoutPropertiesLoose(props, _excluded);
var _useState = useState(isNil(flexGrow) ? width : 0),
columnWidth = _useState[0],
setColumnWidth = _useState[1];
columnWidth = _useState[0],
setColumnWidth = _useState[1];
useUpdateEffect(function () {
setColumnWidth(isNil(flexGrow) ? width : 0);
}, [flexGrow, width]);
var _useClassNames = useClassNames(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
var classes = merge(className, withClassPrefix({

@@ -66,6 +61,4 @@ sortable: sortable

var ariaSort;
if (sortColumn === dataKey) {
ariaSort = 'other';
if (sortType === 'asc') {

@@ -77,3 +70,2 @@ ariaSort = 'ascending';

}
var handleClick = useCallback(function () {

@@ -92,7 +84,5 @@ if (sortable) {

}, [dataKey, index, onColumnResizeEnd, onResize]);
var renderSortColumn = function renderSortColumn() {
if (sortable && !groupHeader) {
var _classNames;
var SortIcon = sortColumn === dataKey && sortType ? SORTED_ICON[sortType] : Sort;

@@ -107,6 +97,4 @@ var iconClasses = classNames(prefix('icon-sort'), (_classNames = {}, _classNames[prefix("icon-sort-" + sortType)] = sortColumn === dataKey, _classNames));

}
return null;
};
return /*#__PURE__*/React.createElement("div", {

@@ -113,0 +101,0 @@ ref: ref,

@@ -0,1 +1,2 @@

'use client';
export { default as Table } from './Table';

@@ -2,0 +3,0 @@ export { default as Column } from './Column';

'use client';
import React from 'react';
var Loader = /*#__PURE__*/React.forwardRef(function (props, ref) {
var loadAnimation = props.loadAnimation,
loading = props.loading,
locale = props.locale,
addPrefix = props.addPrefix,
renderLoading = props.renderLoading;
loading = props.loading,
locale = props.locale,
addPrefix = props.addPrefix,
renderLoading = props.renderLoading;
var loadingElement = /*#__PURE__*/React.createElement("div", {

@@ -19,10 +18,11 @@ ref: ref,

className: addPrefix('loader-text')
}, locale === null || locale === void 0 ? void 0 : locale.loading))); // Custom render a loader
}, locale === null || locale === void 0 ? void 0 : locale.loading)));
// Custom render a loader
if (typeof renderLoading === 'function') {
return loading ? renderLoading(loadingElement) : null;
} // If loadAnimation is true , it returns the DOM element,
}
// If loadAnimation is true , it returns the DOM element,
// and controls whether the loader is displayed through CSS to achieve animation effect.
return loading || loadAnimation ? loadingElement : null;

@@ -29,0 +29,0 @@ });

'use client';
import React from 'react';
var MouseArea = /*#__PURE__*/React.forwardRef(function (props, ref) {
var addPrefix = props.addPrefix,
headerHeight = props.headerHeight,
height = props.height;
headerHeight = props.headerHeight,
height = props.height;
var styles = {

@@ -9,0 +8,0 @@ height: height

'use client';
import _extends from "@babel/runtime/helpers/esm/extends";

@@ -12,24 +11,21 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";

var _props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'row' : _props$classPrefix,
_props$height = props.height,
height = _props$height === void 0 ? ROW_HEIGHT : _props$height,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? ROW_HEADER_HEIGHT : _props$headerHeight,
className = props.className,
width = props.width,
top = props.top,
style = props.style,
isHeaderRow = props.isHeaderRow,
rowRef = props.rowRef,
children = props.children,
rowSpan = props.rowSpan,
rest = _objectWithoutPropertiesLoose(props, _excluded);
classPrefix = _props$classPrefix === void 0 ? 'row' : _props$classPrefix,
_props$height = props.height,
height = _props$height === void 0 ? ROW_HEIGHT : _props$height,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? ROW_HEADER_HEIGHT : _props$headerHeight,
className = props.className,
width = props.width,
top = props.top,
style = props.style,
isHeaderRow = props.isHeaderRow,
rowRef = props.rowRef,
children = props.children,
rowSpan = props.rowSpan,
rest = _objectWithoutPropertiesLoose(props, _excluded);
var _useContext = useContext(TableContext),
translateDOMPositionXY = _useContext.translateDOMPositionXY;
translateDOMPositionXY = _useContext.translateDOMPositionXY;
var _useClassNames = useClassNames(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
var classes = merge(className, withClassPrefix({

@@ -39,3 +35,2 @@ header: isHeaderRow,

}));
var styles = _extends({

@@ -45,3 +40,2 @@ minWidth: width,

}, style);
translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, 0, top);

@@ -48,0 +42,0 @@ return /*#__PURE__*/React.createElement("div", _extends({

'use client';
import _extends from "@babel/runtime/helpers/esm/extends";

@@ -15,30 +14,25 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";

var _barRef$current, _styles;
var _props$length = props.length,
length = _props$length === void 0 ? 1 : _props$length,
_props$scrollLength = props.scrollLength,
scrollLength = _props$scrollLength === void 0 ? 1 : _props$scrollLength,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'scrollbar' : _props$classPrefix,
vertical = props.vertical,
className = props.className,
tableId = props.tableId,
onMouseDown = props.onMouseDown,
onScroll = props.onScroll,
rest = _objectWithoutPropertiesLoose(props, _excluded);
length = _props$length === void 0 ? 1 : _props$length,
_props$scrollLength = props.scrollLength,
scrollLength = _props$scrollLength === void 0 ? 1 : _props$scrollLength,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'scrollbar' : _props$classPrefix,
vertical = props.vertical,
className = props.className,
tableId = props.tableId,
onMouseDown = props.onMouseDown,
onScroll = props.onScroll,
rest = _objectWithoutPropertiesLoose(props, _excluded);
var _React$useContext = React.useContext(TableContext),
translateDOMPositionXY = _React$useContext.translateDOMPositionXY;
translateDOMPositionXY = _React$useContext.translateDOMPositionXY;
var _useState = useState(false),
handlePressed = _useState[0],
setHandlePressed = _useState[1];
handlePressed = _useState[0],
setHandlePressed = _useState[1];
var _useState2 = useState({
top: 0,
left: 0
}),
barOffset = _useState2[0],
setBarOffset = _useState2[1];
top: 0,
left: 0
}),
barOffset = _useState2[0],
setBarOffset = _useState2[1];
var scrollOffset = useRef(0);

@@ -49,8 +43,6 @@ var scrollRange = useRef(scrollLength);

var mouseMoveTracker = useRef();
var _useClassNames = useClassNames(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
var classes = merge(className, withClassPrefix({

@@ -60,3 +52,4 @@ vertical: vertical,

pressed: handlePressed
}), // keep the 'fixed' class name if it has already been given by useAffix hook
}),
// keep the 'fixed' class name if it has already been given by useAffix hook
((_barRef$current = barRef.current) === null || _barRef$current === void 0 ? void 0 : _barRef$current.classList.contains('fixed')) && 'fixed');

@@ -82,3 +75,2 @@ var width = length / scrollLength * 100;

}
scrollRange.current = scrollLength;

@@ -91,7 +83,5 @@ }, [scrollLength]);

},
get handle() {
return handleRef.current;
},
onWheelScroll: function onWheelScroll(delta, momentum) {

@@ -105,3 +95,2 @@ var nextDelta = delta / (scrollLength / length);

}
scrollOffset.current = 0;

@@ -118,3 +107,2 @@ updateScrollBarPosition(0, forceDelta);

} : {};
var getSafeValue = function getSafeValue(value) {

@@ -124,6 +112,4 @@ if (value === void 0) {

}
return Math.min(Math.max(value, 0), max);
};
if (typeof forceDelta === 'undefined') {

@@ -135,3 +121,2 @@ scrollOffset.current += delta;

}
if (vertical) {

@@ -142,3 +127,2 @@ translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, 0, scrollOffset.current);

}
if (handleRef.current) {

@@ -155,11 +139,8 @@ addStyle(handleRef.current, styles);

var _handleRef$current;
if (handleRef.current && (_handleRef$current = handleRef.current) !== null && _handleRef$current !== void 0 && _handleRef$current.contains(event.target)) {
return;
}
if (typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) !== 'number' || typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.left) !== 'number') {
return;
}
var offset = vertical ? event.pageY - (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) : event.pageX - barOffset.left;

@@ -173,3 +154,2 @@ var handleWidth = length / scrollLength * length;

var _mouseMoveTracker$cur, _mouseMoveTracker$cur2;
(_mouseMoveTracker$cur = mouseMoveTracker.current) === null || _mouseMoveTracker$cur === void 0 ? void 0 : (_mouseMoveTracker$cur2 = _mouseMoveTracker$cur.releaseMouseMoves) === null || _mouseMoveTracker$cur2 === void 0 ? void 0 : _mouseMoveTracker$cur2.call(_mouseMoveTracker$cur);

@@ -180,7 +160,5 @@ mouseMoveTracker.current = null;

var _window, _window$event;
if (!mouseMoveTracker.current || !mouseMoveTracker.current.isDragging()) {
return;
}
if ((event === null || event === void 0 ? void 0 : event.buttons) === 0 || ((_window = window) === null || _window === void 0 ? void 0 : (_window$event = _window.event) === null || _window$event === void 0 ? void 0 : _window$event['buttons']) === 0) {

@@ -190,3 +168,2 @@ releaseMouseMoves();

}
handleScroll(vertical ? deltaY : deltaX, event);

@@ -203,3 +180,2 @@ }, [handleScroll, releaseMouseMoves, vertical]);

var _mouseMoveTracker$cur3;
mouseMoveTracker.current = getMouseMoveTracker();

@@ -206,0 +182,0 @@ mouseMoveTracker === null || mouseMoveTracker === void 0 ? void 0 : (_mouseMoveTracker$cur3 = mouseMoveTracker.current) === null || _mouseMoveTracker$cur3 === void 0 ? void 0 : _mouseMoveTracker$cur3.captureMouseMoves(event);

'use client';
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
var _excluded = ["affixHeader", "children", "classPrefix", "className", "data", "defaultSortType", "width", "expandedRowKeys", "defaultExpandAllRows", "defaultExpandedRowKeys", "style", "id", "isTree", "hover", "bordered", "cellBordered", "wordWrap", "loading", "locale", "showHeader", "sortColumn", "rowHeight", "sortType", "headerHeight", "minHeight", "height", "autoHeight", "fillHeight", "rtl", "translate3d", "rowKey", "virtualized", "rowClassName", "rowExpandedHeight", "disabledScroll", "affixHorizontalScrollbar", "loadAnimation", "shouldUpdateScroll", "renderRow", "renderRowExpanded", "renderLoading", "renderEmpty", "onSortColumn", "onScroll", "renderTreeToggle", "onRowClick", "onRowContextMenu", "onExpandChange", "onTouchStart", "onTouchMove", "onTouchEnd"],
_excluded2 = ["depth", "rowIndex"],
_excluded3 = ["cellHeight"];
_excluded2 = ["depth", "rowIndex"],
_excluded3 = ["cellHeight"];
import React, { useState, useRef, useCallback, useImperativeHandle, useReducer } from 'react';

@@ -23,3 +22,2 @@ import { getTranslateDOMPositionXY } from 'dom-lib/translateDOMPositionXY';

import { mergeCells, flattenData, isRTL, findRowKeys, findAllParents, shouldShowRowByExpanded, resetLeftForCells, useClassNames, useControlled, useUpdateEffect, useCellDescriptor, useTableDimension, useTableRows, useAffix, useScrollListener, usePosition, isSupportTouchEvent } from './utils';
/**

@@ -36,7 +34,6 @@ * Filter those expanded nodes.

var parents = findAllParents(rowData, rowKey);
var _expanded = shouldShowRowByExpanded(expandedRowKeys, parents);
var _expanded = shouldShowRowByExpanded(expandedRowKeys, parents); // FIXME This function is supposed to be pure.
// FIXME This function is supposed to be pure.
// Don't mutate rowData in-place!
rowData[EXPANDED_KEY] = _expanded;

@@ -48,94 +45,89 @@ rowData[TREE_DEPTH] = parents.length;

};
var DATA_PLACEHOLDER = [];
var Table = /*#__PURE__*/React.forwardRef(function (props, ref) {
var affixHeader = props.affixHeader,
children = props.children,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'rs-table' : _props$classPrefix,
className = props.className,
_props$data = props.data,
dataProp = _props$data === void 0 ? DATA_PLACEHOLDER : _props$data,
_props$defaultSortTyp = props.defaultSortType,
defaultSortType = _props$defaultSortTyp === void 0 ? SORT_TYPE.DESC : _props$defaultSortTyp,
widthProp = props.width,
expandedRowKeysProp = props.expandedRowKeys,
defaultExpandAllRows = props.defaultExpandAllRows,
defaultExpandedRowKeys = props.defaultExpandedRowKeys,
style = props.style,
id = props.id,
isTree = props.isTree,
_props$hover = props.hover,
hover = _props$hover === void 0 ? true : _props$hover,
bordered = props.bordered,
cellBordered = props.cellBordered,
wordWrap = props.wordWrap,
loading = props.loading,
_props$locale = props.locale,
locale = _props$locale === void 0 ? {
emptyMessage: 'No data found',
loading: 'Loading...'
} : _props$locale,
_props$showHeader = props.showHeader,
showHeader = _props$showHeader === void 0 ? true : _props$showHeader,
sortColumn = props.sortColumn,
_props$rowHeight = props.rowHeight,
rowHeight = _props$rowHeight === void 0 ? ROW_HEIGHT : _props$rowHeight,
sortTypeProp = props.sortType,
_props$headerHeight = props.headerHeight,
headerHeightProp = _props$headerHeight === void 0 ? ROW_HEADER_HEIGHT : _props$headerHeight,
_props$minHeight = props.minHeight,
minHeight = _props$minHeight === void 0 ? 0 : _props$minHeight,
_props$height = props.height,
height = _props$height === void 0 ? 200 : _props$height,
autoHeight = props.autoHeight,
fillHeight = props.fillHeight,
rtlProp = props.rtl,
translate3d = props.translate3d,
rowKey = props.rowKey,
virtualized = props.virtualized,
rowClassName = props.rowClassName,
_props$rowExpandedHei = props.rowExpandedHeight,
rowExpandedHeight = _props$rowExpandedHei === void 0 ? 100 : _props$rowExpandedHei,
disabledScroll = props.disabledScroll,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
loadAnimation = props.loadAnimation,
_props$shouldUpdateSc = props.shouldUpdateScroll,
shouldUpdateScroll = _props$shouldUpdateSc === void 0 ? true : _props$shouldUpdateSc,
renderRowProp = props.renderRow,
renderRowExpandedProp = props.renderRowExpanded,
renderLoading = props.renderLoading,
renderEmpty = props.renderEmpty,
onSortColumn = props.onSortColumn,
onScroll = props.onScroll,
renderTreeToggle = props.renderTreeToggle,
onRowClick = props.onRowClick,
onRowContextMenu = props.onRowContextMenu,
onExpandChange = props.onExpandChange,
onTouchStart = props.onTouchStart,
onTouchMove = props.onTouchMove,
onTouchEnd = props.onTouchEnd,
rest = _objectWithoutPropertiesLoose(props, _excluded);
children = props.children,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'rs-table' : _props$classPrefix,
className = props.className,
_props$data = props.data,
dataProp = _props$data === void 0 ? DATA_PLACEHOLDER : _props$data,
_props$defaultSortTyp = props.defaultSortType,
defaultSortType = _props$defaultSortTyp === void 0 ? SORT_TYPE.DESC : _props$defaultSortTyp,
widthProp = props.width,
expandedRowKeysProp = props.expandedRowKeys,
defaultExpandAllRows = props.defaultExpandAllRows,
defaultExpandedRowKeys = props.defaultExpandedRowKeys,
style = props.style,
id = props.id,
isTree = props.isTree,
_props$hover = props.hover,
hover = _props$hover === void 0 ? true : _props$hover,
bordered = props.bordered,
cellBordered = props.cellBordered,
wordWrap = props.wordWrap,
loading = props.loading,
_props$locale = props.locale,
locale = _props$locale === void 0 ? {
emptyMessage: 'No data found',
loading: 'Loading...'
} : _props$locale,
_props$showHeader = props.showHeader,
showHeader = _props$showHeader === void 0 ? true : _props$showHeader,
sortColumn = props.sortColumn,
_props$rowHeight = props.rowHeight,
rowHeight = _props$rowHeight === void 0 ? ROW_HEIGHT : _props$rowHeight,
sortTypeProp = props.sortType,
_props$headerHeight = props.headerHeight,
headerHeightProp = _props$headerHeight === void 0 ? ROW_HEADER_HEIGHT : _props$headerHeight,
_props$minHeight = props.minHeight,
minHeight = _props$minHeight === void 0 ? 0 : _props$minHeight,
_props$height = props.height,
height = _props$height === void 0 ? 200 : _props$height,
autoHeight = props.autoHeight,
fillHeight = props.fillHeight,
rtlProp = props.rtl,
translate3d = props.translate3d,
rowKey = props.rowKey,
virtualized = props.virtualized,
rowClassName = props.rowClassName,
_props$rowExpandedHei = props.rowExpandedHeight,
rowExpandedHeight = _props$rowExpandedHei === void 0 ? 100 : _props$rowExpandedHei,
disabledScroll = props.disabledScroll,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
loadAnimation = props.loadAnimation,
_props$shouldUpdateSc = props.shouldUpdateScroll,
shouldUpdateScroll = _props$shouldUpdateSc === void 0 ? true : _props$shouldUpdateSc,
renderRowProp = props.renderRow,
renderRowExpandedProp = props.renderRowExpanded,
renderLoading = props.renderLoading,
renderEmpty = props.renderEmpty,
onSortColumn = props.onSortColumn,
onScroll = props.onScroll,
renderTreeToggle = props.renderTreeToggle,
onRowClick = props.onRowClick,
onRowContextMenu = props.onRowContextMenu,
onExpandChange = props.onExpandChange,
onTouchStart = props.onTouchStart,
onTouchMove = props.onTouchMove,
onTouchEnd = props.onTouchEnd,
rest = _objectWithoutPropertiesLoose(props, _excluded);
var _useClassNames = useClassNames(classPrefix, typeof classPrefix !== 'undefined'),
withClassPrefix = _useClassNames.withClassPrefix,
mergeCls = _useClassNames.merge,
prefix = _useClassNames.prefix; // Use `forceUpdate` to force the component to re-render after manipulating the DOM.
withClassPrefix = _useClassNames.withClassPrefix,
mergeCls = _useClassNames.merge,
prefix = _useClassNames.prefix;
// Use `forceUpdate` to force the component to re-render after manipulating the DOM.
var _useReducer = useReducer(function (x) {
return x + 1;
}, 0),
forceUpdate = _useReducer[1];
return x + 1;
}, 0),
forceUpdate = _useReducer[1];
var _useControlled = useControlled(expandedRowKeysProp, defaultExpandAllRows ? findRowKeys(dataProp, rowKey, isFunction(renderRowExpandedProp)) : defaultExpandedRowKeys || []),
expandedRowKeys = _useControlled[0],
setExpandedRowKeys = _useControlled[1];
expandedRowKeys = _useControlled[0],
setExpandedRowKeys = _useControlled[1];
var _useState = useState(function () {
return isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp;
}),
data = _useState[0],
setData = _useState[1];
return isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp;
}),
data = _useState[0],
setData = _useState[1];
if (isTree) {

@@ -150,33 +142,29 @@ if (!rowKey) {

}
var _useTableRows = useTableRows({
data: dataProp,
expandedRowKeys: expandedRowKeys,
wordWrap: wordWrap,
prefix: prefix
}),
tableRowsMaxHeight = _useTableRows.tableRowsMaxHeight,
bindTableRowsRef = _useTableRows.bindTableRowsRef;
data: dataProp,
expandedRowKeys: expandedRowKeys,
wordWrap: wordWrap,
prefix: prefix
}),
tableRowsMaxHeight = _useTableRows.tableRowsMaxHeight,
bindTableRowsRef = _useTableRows.bindTableRowsRef;
var headerHeight = showHeader ? headerHeightProp : 0;
var rtl = rtlProp || isRTL();
var getRowHeight = function getRowHeight() {
return typeof rowHeight === 'function' ? rowHeight() : rowHeight;
};
var translateDOMPositionXY = useRef(getTranslateDOMPositionXY({
forceUseTransform: true,
enable3DTransform: translate3d
})); // Check for the existence of fixed columns in all column properties.
}));
// Check for the existence of fixed columns in all column properties.
var shouldFixedColumn = Array.from(flatten(children)).some(function (child) {
var _child$props;
return child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.fixed;
}); // Check all column properties for the existence of rowSpan.
});
// Check all column properties for the existence of rowSpan.
var shouldRowSpanColumn = Array.from(flatten(children)).some(function (child) {
var _child$props2;
return child === null || child === void 0 ? void 0 : (_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.rowSpan;

@@ -194,9 +182,8 @@ });

var scrollbarYRef = useRef(null);
var handleTableResizeChange = function handleTableResizeChange(_prevSize, event) {
forceUpdate();
/**
* Reset the position of the scroll bar after the table size changes.
*/
if (typeof shouldUpdateScroll === 'function') {

@@ -208,3 +195,2 @@ onScrollTo(shouldUpdateScroll(event));

}
if (event === 'bodyWidthChanged') {

@@ -214,41 +200,39 @@ deferUpdatePosition();

};
var _useTableDimension = useTableDimension({
// The data should be flattened,
// otherwise the array length required to calculate the scroll height in the TreeTable is not real.
data: data,
width: widthProp,
rowHeight: rowHeight,
tableRef: tableRef,
headerWrapperRef: headerWrapperRef,
prefix: prefix,
affixHeader: affixHeader,
affixHorizontalScrollbar: affixHorizontalScrollbar,
headerHeight: headerHeight,
height: height,
minHeight: minHeight,
autoHeight: autoHeight,
fillHeight: fillHeight,
children: children,
expandedRowKeys: expandedRowKeys,
showHeader: showHeader,
bordered: bordered,
onTableScroll: debounce(function (coords) {
return onScrollTo(coords);
}, 100),
onTableResizeChange: handleTableResizeChange
}),
contentHeight = _useTableDimension.contentHeight,
contentWidth = _useTableDimension.contentWidth,
minScrollY = _useTableDimension.minScrollY,
minScrollX = _useTableDimension.minScrollX,
scrollY = _useTableDimension.scrollY,
scrollX = _useTableDimension.scrollX,
tableWidth = _useTableDimension.tableWidth,
tableOffset = _useTableDimension.tableOffset,
headerOffset = _useTableDimension.headerOffset,
setScrollY = _useTableDimension.setScrollY,
setScrollX = _useTableDimension.setScrollX,
getTableHeight = _useTableDimension.getTableHeight;
// The data should be flattened,
// otherwise the array length required to calculate the scroll height in the TreeTable is not real.
data: data,
width: widthProp,
rowHeight: rowHeight,
tableRef: tableRef,
headerWrapperRef: headerWrapperRef,
prefix: prefix,
affixHeader: affixHeader,
affixHorizontalScrollbar: affixHorizontalScrollbar,
headerHeight: headerHeight,
height: height,
minHeight: minHeight,
autoHeight: autoHeight,
fillHeight: fillHeight,
children: children,
expandedRowKeys: expandedRowKeys,
showHeader: showHeader,
bordered: bordered,
onTableScroll: debounce(function (coords) {
return onScrollTo(coords);
}, 100),
onTableResizeChange: handleTableResizeChange
}),
contentHeight = _useTableDimension.contentHeight,
contentWidth = _useTableDimension.contentWidth,
minScrollY = _useTableDimension.minScrollY,
minScrollX = _useTableDimension.minScrollX,
scrollY = _useTableDimension.scrollY,
scrollX = _useTableDimension.scrollX,
tableWidth = _useTableDimension.tableWidth,
tableOffset = _useTableDimension.tableOffset,
headerOffset = _useTableDimension.headerOffset,
setScrollY = _useTableDimension.setScrollY,
setScrollX = _useTableDimension.setScrollX,
getTableHeight = _useTableDimension.getTableHeight;
useAffix({

@@ -265,85 +249,81 @@ getTableHeight: getTableHeight,

});
var _usePosition = usePosition({
data: dataProp,
height: height,
tableWidth: tableWidth,
tableRef: tableRef,
prefix: prefix,
translateDOMPositionXY: translateDOMPositionXY,
wheelWrapperRef: wheelWrapperRef,
headerWrapperRef: headerWrapperRef,
affixHeaderWrapperRef: affixHeaderWrapperRef,
tableHeaderRef: tableHeaderRef,
scrollX: scrollX,
scrollY: scrollY,
contentWidth: contentWidth,
shouldFixedColumn: shouldFixedColumn
}),
forceUpdatePosition = _usePosition.forceUpdatePosition,
deferUpdatePosition = _usePosition.deferUpdatePosition;
data: dataProp,
height: height,
tableWidth: tableWidth,
tableRef: tableRef,
prefix: prefix,
translateDOMPositionXY: translateDOMPositionXY,
wheelWrapperRef: wheelWrapperRef,
headerWrapperRef: headerWrapperRef,
affixHeaderWrapperRef: affixHeaderWrapperRef,
tableHeaderRef: tableHeaderRef,
scrollX: scrollX,
scrollY: scrollY,
contentWidth: contentWidth,
shouldFixedColumn: shouldFixedColumn
}),
forceUpdatePosition = _usePosition.forceUpdatePosition,
deferUpdatePosition = _usePosition.deferUpdatePosition;
var _useScrollListener = useScrollListener({
rtl: rtl,
data: dataProp,
height: height,
virtualized: virtualized,
getTableHeight: getTableHeight,
contentHeight: contentHeight,
headerHeight: headerHeight,
autoHeight: autoHeight,
tableBodyRef: tableBodyRef,
scrollbarXRef: scrollbarXRef,
scrollbarYRef: scrollbarYRef,
disabledScroll: disabledScroll,
loading: loading,
tableRef: tableRef,
contentWidth: contentWidth,
tableWidth: tableWidth,
scrollY: scrollY,
minScrollY: minScrollY,
minScrollX: minScrollX,
scrollX: scrollX,
setScrollX: setScrollX,
setScrollY: setScrollY,
forceUpdatePosition: forceUpdatePosition,
deferUpdatePosition: deferUpdatePosition,
onScroll: onScroll,
onTouchStart: onTouchStart,
onTouchMove: onTouchMove,
onTouchEnd: onTouchEnd
}),
isScrolling = _useScrollListener.isScrolling,
onScrollHorizontal = _useScrollListener.onScrollHorizontal,
onScrollVertical = _useScrollListener.onScrollVertical,
onScrollBody = _useScrollListener.onScrollBody,
onScrollTop = _useScrollListener.onScrollTop,
onScrollLeft = _useScrollListener.onScrollLeft,
onScrollTo = _useScrollListener.onScrollTo,
onScrollByKeydown = _useScrollListener.onScrollByKeydown;
rtl: rtl,
data: dataProp,
height: height,
virtualized: virtualized,
getTableHeight: getTableHeight,
contentHeight: contentHeight,
headerHeight: headerHeight,
autoHeight: autoHeight,
tableBodyRef: tableBodyRef,
scrollbarXRef: scrollbarXRef,
scrollbarYRef: scrollbarYRef,
disabledScroll: disabledScroll,
loading: loading,
tableRef: tableRef,
contentWidth: contentWidth,
tableWidth: tableWidth,
scrollY: scrollY,
minScrollY: minScrollY,
minScrollX: minScrollX,
scrollX: scrollX,
setScrollX: setScrollX,
setScrollY: setScrollY,
forceUpdatePosition: forceUpdatePosition,
deferUpdatePosition: deferUpdatePosition,
onScroll: onScroll,
onTouchStart: onTouchStart,
onTouchMove: onTouchMove,
onTouchEnd: onTouchEnd
}),
isScrolling = _useScrollListener.isScrolling,
onScrollHorizontal = _useScrollListener.onScrollHorizontal,
onScrollVertical = _useScrollListener.onScrollVertical,
onScrollBody = _useScrollListener.onScrollBody,
onScrollTop = _useScrollListener.onScrollTop,
onScrollLeft = _useScrollListener.onScrollLeft,
onScrollTo = _useScrollListener.onScrollTo,
onScrollByKeydown = _useScrollListener.onScrollByKeydown;
var _useCellDescriptor = useCellDescriptor({
children: children,
rtl: rtl,
mouseAreaRef: mouseAreaRef,
tableRef: tableRef,
minScrollX: minScrollX,
scrollX: scrollX,
tableWidth: tableWidth,
headerHeight: headerHeight,
showHeader: showHeader,
sortType: sortTypeProp,
defaultSortType: defaultSortType,
sortColumn: sortColumn,
prefix: prefix,
onSortColumn: onSortColumn,
// Force table update after column width change, so scrollbar re-renders.
onHeaderCellResize: forceUpdate,
rowHeight: rowHeight
}),
headerCells = _useCellDescriptor.headerCells,
bodyCells = _useCellDescriptor.bodyCells,
allColumnsWidth = _useCellDescriptor.allColumnsWidth,
hasCustomTreeCol = _useCellDescriptor.hasCustomTreeCol;
children: children,
rtl: rtl,
mouseAreaRef: mouseAreaRef,
tableRef: tableRef,
minScrollX: minScrollX,
scrollX: scrollX,
tableWidth: tableWidth,
headerHeight: headerHeight,
showHeader: showHeader,
sortType: sortTypeProp,
defaultSortType: defaultSortType,
sortColumn: sortColumn,
prefix: prefix,
onSortColumn: onSortColumn,
// Force table update after column width change, so scrollbar re-renders.
onHeaderCellResize: forceUpdate,
rowHeight: rowHeight
}),
headerCells = _useCellDescriptor.headerCells,
bodyCells = _useCellDescriptor.bodyCells,
allColumnsWidth = _useCellDescriptor.allColumnsWidth,
hasCustomTreeCol = _useCellDescriptor.hasCustomTreeCol;
var colCounts = useRef((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0);

@@ -364,7 +344,5 @@ useUpdateEffect(function () {

},
get body() {
return wheelWrapperRef.current;
},
scrollTop: onScrollTop,

@@ -374,6 +352,8 @@ scrollLeft: onScrollLeft

});
var rowWidth = allColumnsWidth > tableWidth.current ? allColumnsWidth : tableWidth.current; // Whether to show vertical scroll bar
var rowWidth = allColumnsWidth > tableWidth.current ? allColumnsWidth : tableWidth.current;
var hasVerticalScrollbar = !autoHeight && contentHeight.current > getTableHeight() - headerHeight; // Whether to show the horizontal scroll bar
// Whether to show vertical scroll bar
var hasVerticalScrollbar = !autoHeight && contentHeight.current > getTableHeight() - headerHeight;
// Whether to show the horizontal scroll bar
var hasHorizontalScrollbar = contentWidth.current > tableWidth.current;

@@ -388,3 +368,2 @@ var classes = mergeCls(className, withClassPrefix({

}));
var styles = _extends({

@@ -394,6 +373,4 @@ width: widthProp || 'auto',

}, style);
var renderRowExpanded = useCallback(function (rowData) {
var height = 0;
if (typeof rowExpandedHeight === 'function') {

@@ -404,7 +381,5 @@ height = rowExpandedHeight(rowData);

}
var styles = {
height: height
};
if (typeof renderRowExpandedProp === 'function') {

@@ -416,11 +391,8 @@ return /*#__PURE__*/React.createElement("div", {

}
return null;
}, [prefix, renderRowExpandedProp, rowExpandedHeight]);
var renderRow = function renderRow(props, cells, shouldRenderExpandedRow, rowData) {
var depth = props.depth,
rowIndex = props.rowIndex,
restRowProps = _objectWithoutPropertiesLoose(props, _excluded2);
rowIndex = props.rowIndex,
restRowProps = _objectWithoutPropertiesLoose(props, _excluded2);
if (typeof rowClassName === 'function') {

@@ -431,7 +403,4 @@ restRowProps.className = rowClassName(rowData, rowIndex);

}
var rowStyles = _extends({}, props === null || props === void 0 ? void 0 : props.style);
var rowRight = 0;
if (rtl && contentWidth.current > tableWidth.current) {

@@ -441,5 +410,5 @@ rowRight = tableWidth.current - contentWidth.current;

}
var rowNode = null;
var rowNode = null; // IF there are fixed columns, add a fixed group
// IF there are fixed columns, add a fixed group
if (shouldFixedColumn && contentWidth.current > tableWidth.current) {

@@ -451,11 +420,9 @@ var fixedLeftCells = [];

var fixedRightCellGroupWidth = 0;
for (var i = 0; i < cells.length; i++) {
var cell = cells[i];
var _cell$props = cell.props,
fixed = _cell$props.fixed,
width = _cell$props.width;
fixed = _cell$props.fixed,
width = _cell$props.width;
var isFixedStart = fixed === 'left' || fixed === true;
var isFixedEnd = fixed === 'right';
if (rtl) {

@@ -465,3 +432,2 @@ isFixedStart = fixed === 'right';

}
if (isFixedStart) {

@@ -477,7 +443,5 @@ fixedLeftCells.push(cell);

}
if (hasVerticalScrollbar && fixedRightCellGroupWidth) {
fixedRightCellGroupWidth += SCROLLBAR_WIDTH;
}
rowNode = /*#__PURE__*/React.createElement(React.Fragment, null, fixedLeftCellGroupWidth ? /*#__PURE__*/React.createElement(CellGroup, {

@@ -503,3 +467,2 @@ fixed: "left",

}
return /*#__PURE__*/React.createElement(Row, _extends({}, restRowProps, {

@@ -510,3 +473,2 @@ "data-depth": depth,

};
var renderTableHeader = function renderTableHeader(headerCells, rowWidth) {

@@ -530,4 +492,5 @@ var top = typeof affixHeader === 'number' ? affixHeader : 0;

top: top
}; // Affix header
};
// Affix header
var header = /*#__PURE__*/React.createElement("div", {

@@ -544,3 +507,2 @@ className: prefix('affix-header'),

};
var shouldRenderExpandedRow = useCallback(function (rowData) {

@@ -552,3 +514,2 @@ if (isFunction(renderRowExpandedProp) && !isTree && rowKey && expandedRowKeys.some(function (key) {

}
return false;

@@ -569,6 +530,4 @@ }, [expandedRowKeys, isTree, renderRowExpandedProp, rowKey]);

var nextExpandedRowKeys = [];
for (var i = 0; i < expandedRowKeys.length; i++) {
var key = expandedRowKeys[i];
if (key === treeRowKey) {

@@ -580,10 +539,9 @@ open = true;

}
if (!open) {
nextExpandedRowKeys.push(treeRowKey);
}
setExpandedRowKeys(nextExpandedRowKeys);
onExpandChange === null || onExpandChange === void 0 ? void 0 : onExpandChange(!open, rowData);
}, [expandedRowKeys, onExpandChange, setExpandedRowKeys]);
/**

@@ -593,12 +551,8 @@ * Records the status of merged rows.

*/
var rowSpanState = useRef({});
var renderRowData = function renderRowData(bodyCells, rowData, props, shouldRenderExpandedRow) {
var hasChildren = isTree && rowData.children && Array.isArray(rowData.children);
var nextRowKey = rowKey && typeof rowData[rowKey] !== 'undefined' ? rowData[rowKey] : props.key;
var cellHeight = props.cellHeight,
restRowProps = _objectWithoutPropertiesLoose(props, _excluded3);
restRowProps = _objectWithoutPropertiesLoose(props, _excluded3);
var rowProps = _extends({}, restRowProps, {

@@ -611,3 +565,2 @@ key: nextRowKey,

});
var expanded = expandedRowKeys.some(function (key) {

@@ -617,16 +570,14 @@ return rowKey && key === rowData[rowKey];

var cells = [];
for (var i = 0; i < bodyCells.length; i++) {
var _cell$props2, _cell$props2$rowSpan, _rowSpanState$current, _cell$props3, _rowSpanState$current2;
var _cell$props2, _cell$props2$rowSpan, _cell$props3, _rowSpanState$current, _cell$props4, _rowSpanState$current2;
var cell = bodyCells[i];
var rowSpan = (_cell$props2 = cell.props) === null || _cell$props2 === void 0 ? void 0 : (_cell$props2$rowSpan = _cell$props2.rowSpan) === null || _cell$props2$rowSpan === void 0 ? void 0 : _cell$props2$rowSpan.call(_cell$props2, rowData);
var rowSpan = (_cell$props2 = cell.props) === null || _cell$props2 === void 0 ? void 0 : (_cell$props2$rowSpan = (_cell$props3 = _cell$props2).rowSpan) === null || _cell$props2$rowSpan === void 0 ? void 0 : _cell$props2$rowSpan.call(_cell$props3, rowData);
var dataCellHeight = rowSpan ? rowSpan * (cellHeight || ROW_HEIGHT) : cellHeight;
var _cellKey = cell.props.dataKey || i;
var _cellKey = cell.props.dataKey || i; // Record the cell state of the merged row
// Record the cell state of the merged row
if (((_rowSpanState$current = rowSpanState.current[_cellKey]) === null || _rowSpanState$current === void 0 ? void 0 : _rowSpanState$current[1]) > 0) {
rowSpanState.current[_cellKey][1] -= 1; // Restart counting when merged to the last cell.
rowSpanState.current[_cellKey][1] -= 1;
// Restart counting when merged to the last cell.
if (rowSpanState.current[_cellKey][1] === 0) {

@@ -636,3 +587,2 @@ rowSpanState.current[_cellKey][0] = 0;

}
if (rowSpan) {

@@ -645,6 +595,6 @@ // The state of the initial merged cell

};
} // Cells marked as deleted when checking for merged cell.
}
var removedCell = (_cell$props3 = cell.props) !== null && _cell$props3 !== void 0 && _cell$props3.rowSpan && !rowSpan && ((_rowSpanState$current2 = rowSpanState.current[_cellKey]) === null || _rowSpanState$current2 === void 0 ? void 0 : _rowSpanState$current2[0]) !== 0 ? true : false;
// Cells marked as deleted when checking for merged cell.
var removedCell = (_cell$props4 = cell.props) !== null && _cell$props4 !== void 0 && _cell$props4.rowSpan && !rowSpan && ((_rowSpanState$current2 = rowSpanState.current[_cellKey]) === null || _rowSpanState$current2 === void 0 ? void 0 : _rowSpanState$current2[0]) !== 0 ? true : false;
cells.push( /*#__PURE__*/React.cloneElement(cell, {

@@ -665,15 +615,10 @@ hasChildren: hasChildren,

}
return renderRow(rowProps, cells, shouldRenderExpandedRow, rowData);
};
var renderScrollbar = function renderScrollbar() {
var height = getTableHeight();
if (disabledScroll) {
return null;
}
var scrollbars = [];
if (hasHorizontalScrollbar) {

@@ -692,3 +637,2 @@ scrollbars.push( /*#__PURE__*/React.createElement(Scrollbar, {

}
if (hasVerticalScrollbar) {

@@ -705,9 +649,6 @@ scrollbars.push( /*#__PURE__*/React.createElement(Scrollbar, {

}
return scrollbars;
};
var renderTableBody = function renderTableBody(bodyCells, rowWidth) {
var _visibleRows$current;
var height = getTableHeight();

@@ -723,9 +664,6 @@ var bodyHeight = height - headerHeight;

visibleRows.current = [];
if (data) {
var _top = 0; // Row position
var minTop = Math.abs(scrollY.current);
var startHeight = 0;
if (typeof rowExpandedHeight === 'function') {

@@ -736,8 +674,8 @@ startHeight = data.length ? rowExpandedHeight(data[0]) : 100;

}
var maxTop = minTop + height + startHeight;
var isCustomRowHeight = typeof rowHeight === 'function';
var isUncertainHeight = !!renderRowExpandedProp || isCustomRowHeight || wordWrap; // If virtualized is enabled and the row height in the Table is variable,
var isUncertainHeight = !!renderRowExpandedProp || isCustomRowHeight || wordWrap;
// If virtualized is enabled and the row height in the Table is variable,
// you need to loop through the data to get the height of each row.
if (isUncertainHeight && virtualized || !virtualized) {

@@ -751,3 +689,2 @@ // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.

}
for (var index = 0; index < data.length; index++) {

@@ -759,3 +696,2 @@ var _rowData = data[index];

var cellHeight = 0;
if (typeof rowHeight === 'function') {

@@ -767,3 +703,2 @@ nextRowHeight = rowHeight(_rowData);

cellHeight = nextRowHeight;
if (expandedRow) {

@@ -778,3 +713,2 @@ // If the row is expanded, the height of the expanded row is added.

}
contentHeight += nextRowHeight;

@@ -791,3 +725,2 @@ var rowProps = {

_top += nextRowHeight;
if (virtualized && !wordWrap) {

@@ -802,3 +735,2 @@ if (_top + nextRowHeight < minTop) {

}
visibleRows.current.push(renderRowData(bodyCells, _rowData, rowProps, expandedRow));

@@ -808,10 +740,11 @@ }

/** virtualized */
// If the row height of the Table is fixed, it is directly calculated by the row height and the number of rows,
// thereby reducing the performance cost of traversing all data.
var _nextRowHeight = getRowHeight();
var startIndex = Math.max(Math.floor(minTop / _nextRowHeight), 0);
var endIndex = Math.min(startIndex + Math.ceil(bodyHeight / _nextRowHeight) + 5, data.length);
var startIndex = Math.max(Math.floor(minTop / _nextRowHeight), 0);
var endIndex = Math.min(startIndex + Math.ceil(bodyHeight / _nextRowHeight) + 5, data.length); // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.
// Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.
// So supplement the display data row.
if (isSupportTouchEvent()) {

@@ -822,7 +755,5 @@ var coveredCount = Math.floor(height / _nextRowHeight * 3);

}
contentHeight = data.length * _nextRowHeight;
topHideHeight = startIndex * _nextRowHeight;
bottomHideHeight = (data.length - endIndex) * _nextRowHeight;
for (var _index = startIndex; _index < endIndex; _index++) {

@@ -843,3 +774,2 @@ var _rowData2 = data[_index];

}
var wheelStyles = {

@@ -886,3 +816,2 @@ position: 'absolute',

};
var contextValue = React.useMemo(function () {

@@ -900,3 +829,4 @@ return {

}, /*#__PURE__*/React.createElement("div", _extends({
role: isTree ? 'treegrid' : 'grid' // The aria-rowcount is specified on the element with the table.
role: isTree ? 'treegrid' : 'grid'
// The aria-rowcount is specified on the element with the table.
// Its value is an integer equal to the total number of rows available, including header rows.

@@ -903,0 +833,0 @@ ,

import React from 'react';
declare type TranslateDOMPositionXYCallback = (style: CSSStyleDeclaration, x?: number, y?: number) => void;
type TranslateDOMPositionXYCallback = (style: CSSStyleDeclaration, x?: number, y?: number) => void;
export interface TableContextProps {

@@ -4,0 +4,0 @@ rtl: boolean;

'use client';
import React from 'react';

@@ -4,0 +3,0 @@ import translateDOMPositionXY from './utils/translateDOMPositionXY';

@@ -0,8 +1,9 @@

'use client';
import defer from 'lodash/defer';
/**
* Defer callbacks to wait for DOM rendering to complete.
*/
export default (function (callback) {
defer(callback, 'deferred');
});

@@ -0,3 +1,3 @@

'use client';
import { PARENT_KEY } from '../constants';
/**

@@ -9,4 +9,5 @@ * Get all parent nodes of the given node in the flattened data

var parents = [];
var current = node[PARENT_KEY]; // Iterate up through the parent chain and add each parent to the result array
var current = node[PARENT_KEY];
// Iterate up through the parent chain and add each parent to the result array
while (current) {

@@ -16,6 +17,4 @@ parents.push(current[rowKey]);

}
return parents;
}
export default findAllParents;

@@ -0,11 +1,9 @@

'use client';
export default function findRowKeys(rows, rowKey, expanded) {
var keys = [];
if (!rowKey) {
return keys;
}
for (var i = 0; i < rows.length; i++) {
var item = rows[i];
if (item.children) {

@@ -18,4 +16,3 @@ keys.push(item[rowKey]);

}
return keys;
}

@@ -0,4 +1,4 @@

'use client';
import _extends from "@babel/runtime/helpers/esm/extends";
import { PARENT_KEY } from '../constants';
/**

@@ -11,7 +11,6 @@ * Flatten the tree data with parent association recorded on each node

var _extends2;
// Create a new flattened node with parent association
var flattened = _extends({}, node, (_extends2 = {}, _extends2[PARENT_KEY] = parent, _extends2)); // Add the flattened node and its flattened children (if any) to the result array
var flattened = _extends({}, node, (_extends2 = {}, _extends2[PARENT_KEY] = parent, _extends2));
// Add the flattened node and its flattened children (if any) to the result array
acc.push.apply(acc, [flattened].concat(node.children ? flattenData(node.children, flattened) : []));

@@ -21,3 +20,2 @@ return acc;

}
export default flattenData;

@@ -0,3 +1,5 @@

'use client';
import ReactDOM from 'react-dom';
var majorVersion = parseInt(ReactDOM.version);
/**

@@ -7,14 +9,10 @@ * Force React to flush any updates inside the provided callback synchronously.

*/
var flushSync = function flushSync(callback) {
if (majorVersion >= 18) {
var _ReactDOM$flushSync;
(_ReactDOM$flushSync = ReactDOM.flushSync) === null || _ReactDOM$flushSync === void 0 ? void 0 : _ReactDOM$flushSync.call(ReactDOM, callback);
return;
}
callback();
};
export default flushSync;
/// <reference types="react" />
import { ColumnProps } from '../Column';
export declare type Column = React.ReactElement<ColumnProps>;
export type Column = React.ReactElement<ColumnProps>;
/**

@@ -5,0 +5,0 @@ * Get the union of the props of the column itself and the props of the custom column

@@ -0,3 +1,3 @@

'use client';
import _extends from "@babel/runtime/helpers/esm/extends";
/**

@@ -19,5 +19,4 @@ * Get the union of the props of the column itself and the props of the custom column

var _column$type, _column$type$render, _column$type$render$c;
var columnDefaultProps = ((_column$type = column['type']) === null || _column$type === void 0 ? void 0 : (_column$type$render = _column$type['render']) === null || _column$type$render === void 0 ? void 0 : (_column$type$render$c = _column$type$render.call(_column$type)) === null || _column$type$render$c === void 0 ? void 0 : _column$type$render$c.props) || {};
return _extends({}, columnDefaultProps, column === null || column === void 0 ? void 0 : column.props);
}

@@ -0,1 +1,2 @@

'use client';
import _extends from "@babel/runtime/helpers/esm/extends";

@@ -6,2 +7,3 @@ import React from 'react';

import ColumnGroup from '../ColumnGroup';
/**

@@ -12,3 +14,2 @@ * Get the columns ReactElement array.

*/
function getTableColumns(children) {

@@ -20,9 +21,8 @@ var childrenArray = Array.isArray(children) ? children : [children];

var _column$props = column === null || column === void 0 ? void 0 : column.props,
header = _column$props.header,
groupChildren = _column$props.children,
align = _column$props.align,
fixed = _column$props.fixed,
verticalAlign = _column$props.verticalAlign,
groupHeaderHeight = _column$props.groupHeaderHeight;
header = _column$props.header,
groupChildren = _column$props.children,
align = _column$props.align,
fixed = _column$props.fixed,
verticalAlign = _column$props.verticalAlign,
groupHeaderHeight = _column$props.groupHeaderHeight;
var childColumns = getTableColumns(groupChildren);

@@ -38,2 +38,3 @@ return childColumns.map(function (childColumn, index) {

});
/**

@@ -46,3 +47,2 @@ * Set attributes for the first column in the group:

if (index === 0) {

@@ -55,3 +55,2 @@ groupCellProps.groupAlign = align;

}
return /*#__PURE__*/React.cloneElement(childColumn, groupCellProps);

@@ -61,3 +60,2 @@ });

var _column$props2;
// If the column is a fragment, we need to get the columns from the children.

@@ -68,11 +66,11 @@ return getTableColumns((_column$props2 = column.props) === null || _column$props2 === void 0 ? void 0 : _column$props2.children);

return getTableColumns(column);
} // If the column is not a group, we just return the column.
}
// If the column is not a group, we just return the column.
return column;
}); // Flatten the array in Columns into a one-dimensional array, and calculate lastColumn and firstColumn.
});
// Flatten the array in Columns into a one-dimensional array, and calculate lastColumn and firstColumn.
return flatten(flattenColumns).filter(Boolean);
}
export default getTableColumns;

@@ -0,9 +1,8 @@

'use client';
import React from 'react';
import isPlainObject from 'lodash/isPlainObject';
import getColumnProps from './getColumnProps';
function getTotalByColumns(columns) {
var totalFlexGrow = 0;
var totalWidth = 0;
var count = function count(items) {

@@ -13,6 +12,5 @@ Array.from(items).forEach(function (column) {

var _getColumnProps = getColumnProps(column),
flexGrow = _getColumnProps.flexGrow,
_getColumnProps$width = _getColumnProps.width,
width = _getColumnProps$width === void 0 ? 0 : _getColumnProps$width;
flexGrow = _getColumnProps.flexGrow,
_getColumnProps$width = _getColumnProps.width,
width = _getColumnProps$width === void 0 ? 0 : _getColumnProps$width;
totalFlexGrow += flexGrow || 0;

@@ -25,3 +23,2 @@ totalWidth += flexGrow ? 0 : width;

};
if (Array.isArray(columns)) {

@@ -31,10 +28,8 @@ count(columns);

var _columns$props = columns === null || columns === void 0 ? void 0 : columns.props,
flexGrow = _columns$props.flexGrow,
_columns$props$width = _columns$props.width,
width = _columns$props$width === void 0 ? 0 : _columns$props$width;
flexGrow = _columns$props.flexGrow,
_columns$props$width = _columns$props.width,
width = _columns$props$width === void 0 ? 0 : _columns$props$width;
totalFlexGrow = flexGrow || 0;
totalWidth = flexGrow ? 0 : width;
}
return {

@@ -45,3 +40,2 @@ totalFlexGrow: totalFlexGrow,

}
export default getTotalByColumns;

@@ -0,1 +1,2 @@

'use client';
export { default as prefix } from './prefix';

@@ -2,0 +3,0 @@ export { default as getTotalByColumns } from './getTotalByColumns';

@@ -0,1 +1,2 @@

'use client';
export default function isNumberOrTrue(value) {

@@ -5,4 +6,3 @@ if (typeof value === 'undefined') {

}
return !!value || value === 0;
}

@@ -0,3 +1,4 @@

'use client';
export default function isRTL() {
return typeof window !== 'undefined' && (document.body.getAttribute('dir') || document.dir) === 'rtl';
}

@@ -0,1 +1,2 @@

'use client';
import canUseDOM from 'dom-lib/canUseDOM';

@@ -2,0 +3,0 @@ export default function isSupportTouchEvent() {

@@ -0,1 +1,2 @@

'use client';
import React from 'react';

@@ -7,41 +8,37 @@ import isFunction from 'lodash/isFunction';

import HeaderCell from '../HeaderCell';
function cloneCell(Cell, props) {
return /*#__PURE__*/React.cloneElement(Cell, props);
}
function mergeCells(cells) {
var nextCells = [];
for (var i = 0; i < cells.length; i += 1) {
var _cells$i$props = cells[i].props,
width = _cells$i$props.width,
colSpan = _cells$i$props.colSpan,
groupCount = _cells$i$props.groupCount,
groupHeader = _cells$i$props.groupHeader,
groupAlign = _cells$i$props.groupAlign,
groupVerticalAlign = _cells$i$props.groupVerticalAlign,
isHeaderCell = _cells$i$props.isHeaderCell,
headerHeight = _cells$i$props.headerHeight,
groupHeaderHeight = _cells$i$props.groupHeaderHeight;
var groupChildren = []; // Add grouping to column headers.
width = _cells$i$props.width,
colSpan = _cells$i$props.colSpan,
groupCount = _cells$i$props.groupCount,
groupHeader = _cells$i$props.groupHeader,
groupAlign = _cells$i$props.groupAlign,
groupVerticalAlign = _cells$i$props.groupVerticalAlign,
isHeaderCell = _cells$i$props.isHeaderCell,
headerHeight = _cells$i$props.headerHeight,
groupHeaderHeight = _cells$i$props.groupHeaderHeight;
var groupChildren = [];
// Add grouping to column headers.
if (groupCount && isHeaderCell) {
var nextWidth = width;
var left = 0;
for (var j = 0; j < groupCount; j += 1) {
var nextCell = cells[i + j];
var _nextCell$props = nextCell.props,
nextCellWidth = _nextCell$props.width,
sortable = _nextCell$props.sortable,
children = _nextCell$props.children,
dataKey = _nextCell$props.dataKey,
onSortColumn = _nextCell$props.onSortColumn,
sortColumn = _nextCell$props.sortColumn,
sortType = _nextCell$props.sortType,
align = _nextCell$props.align,
verticalAlign = _nextCell$props.verticalAlign,
renderSortIcon = _nextCell$props.renderSortIcon;
nextCellWidth = _nextCell$props.width,
sortable = _nextCell$props.sortable,
children = _nextCell$props.children,
dataKey = _nextCell$props.dataKey,
onSortColumn = _nextCell$props.onSortColumn,
sortColumn = _nextCell$props.sortColumn,
sortType = _nextCell$props.sortType,
align = _nextCell$props.align,
verticalAlign = _nextCell$props.verticalAlign,
renderSortIcon = _nextCell$props.renderSortIcon;
if (j !== 0) {

@@ -54,3 +51,2 @@ nextWidth += nextCellWidth;

}
groupChildren.push( /*#__PURE__*/React.createElement(HeaderCell, {

@@ -70,3 +66,2 @@ key: j,

}
nextCells.push(cloneCell(cells[i], {

@@ -87,17 +82,15 @@ width: nextWidth,

// Determine whether the value is null or undefined, then merge this cell.
var _nextWidth = width;
for (var _j = 0; _j < colSpan; _j += 1) {
var _nextCell = cells[i + _j];
if (_nextCell) {
var _nextCell$props2 = _nextCell.props,
rowData = _nextCell$props2.rowData,
rowIndex = _nextCell$props2.rowIndex,
_children = _nextCell$props2.children,
colSpanWidth = _nextCell$props2.width,
_isHeaderCell = _nextCell$props2.isHeaderCell,
_dataKey = _nextCell$props2.dataKey;
rowData = _nextCell$props2.rowData,
rowIndex = _nextCell$props2.rowIndex,
_children = _nextCell$props2.children,
colSpanWidth = _nextCell$props2.width,
_isHeaderCell = _nextCell$props2.isHeaderCell,
_dataKey = _nextCell$props2.dataKey;
var cellText = isFunction(_children) ? _children(rowData, rowIndex) : get(rowData, _dataKey);
if (rowData && isNil(cellText) || _isHeaderCell && isNil(_children)) {

@@ -111,3 +104,2 @@ _nextWidth += colSpanWidth;

}
nextCells.push(cloneCell(cells[i], {

@@ -119,9 +111,6 @@ width: _nextWidth,

}
nextCells.push(cells[i]);
}
return nextCells;
}
export default mergeCells;
import React from 'react';
declare type CallbackRef<T> = (ref: T | null) => void;
declare type Ref<T> = React.MutableRefObject<T> | CallbackRef<T>;
type CallbackRef<T> = (ref: T | null) => void;
type Ref<T> = React.MutableRefObject<T> | CallbackRef<T>;
export default function mergeRefs<T>(refA?: Ref<T | null> | null, refB?: Ref<T | null> | null): React.RefCallback<T>;
export {};

@@ -0,1 +1,2 @@

'use client';
var toFnRef = function toFnRef(ref) {

@@ -6,3 +7,2 @@ return !ref || typeof ref === 'function' ? ref : function (value) {

};
export default function mergeRefs(refA, refB) {

@@ -9,0 +9,0 @@ var a = toFnRef(refA);

@@ -0,1 +1,2 @@

'use client';
import classNames from 'classnames';

@@ -7,3 +8,2 @@ import curry from 'lodash/curry';

}
if (Array.isArray(className)) {

@@ -15,11 +15,10 @@ return classNames(className.filter(function (name) {

}));
} // TODO Compatible with V4
}
// TODO Compatible with V4
if (pre[pre.length - 1] === '-') {
return "" + pre + className;
}
return pre + "-" + className;
}
export default curry(prefix);

@@ -0,1 +1,2 @@

'use client';
import requestAnimationFramePolyfill from 'dom-lib/requestAnimationFramePolyfill';

@@ -6,2 +7,3 @@ import cancelAnimationFramePolyfill from 'dom-lib/cancelAnimationFramePolyfill';

};
/**

@@ -13,6 +15,5 @@ * Recursively calls requestAnimationFrame until a specified delay has been met or exceeded.

*/
export var requestAnimationTimeout = function requestAnimationTimeout(callback, delay) {
var start; // wait for end of processing current event handler, because event handler may be long
var start;
// wait for end of processing current event handler, because event handler may be long
Promise.resolve().then(function () {

@@ -22,3 +23,2 @@ start = Date.now();

var frame = {};
var timeout = function timeout() {

@@ -31,3 +31,2 @@ if (Date.now() - start >= delay) {

};
frame = {

@@ -34,0 +33,0 @@ id: requestAnimationFramePolyfill(timeout)

@@ -0,2 +1,4 @@

'use client';
import React from 'react';
/**

@@ -7,7 +9,5 @@ * Resets the relative left distance of all cells in the array.

*/
export default function resetLeftForCells(cells, extraWidth) {
var left = 0;
var nextCells = [];
for (var i = 0; i < cells.length; i++) {

@@ -22,4 +22,3 @@ var cell = cells[i];

}
return nextCells;
}

@@ -0,1 +1,2 @@

'use client';
/**

@@ -11,10 +12,7 @@ * Check whether a row(tree) node should be expanded.

}
if (parentKeys === void 0) {
parentKeys = [];
}
for (var i = 0; i < ((_parentKeys = parentKeys) === null || _parentKeys === void 0 ? void 0 : _parentKeys.length); i++) {
var _parentKeys, _expandedRowKeys;
if (((_expandedRowKeys = expandedRowKeys) === null || _expandedRowKeys === void 0 ? void 0 : _expandedRowKeys.indexOf(parentKeys[i])) === -1) {

@@ -24,4 +22,3 @@ return false;

}
return true;
}

@@ -0,1 +1,2 @@

'use client';
/**

@@ -18,3 +19,2 @@ * 根据条件,选择性调用 a 与 b 其中一个方法。

}
export default toggle;

@@ -0,4 +1,4 @@

'use client';
import addClass from 'dom-lib/addClass';
import removeClass from 'dom-lib/removeClass';
var toggleClass = function toggleClass(node, className, condition) {

@@ -11,3 +11,2 @@ if (condition) {

};
export default (function (node, className, condition) {

@@ -17,3 +16,2 @@ if (!node) {

}
if (Array.isArray(node) || Object.getPrototypeOf(node).hasOwnProperty('length')) {

@@ -26,4 +24,3 @@ node = node;

}
toggleClass(node, className, condition);
});

@@ -0,1 +1,2 @@

'use client';
import { getTranslateDOMPositionXY } from 'dom-lib/translateDOMPositionXY';

@@ -2,0 +3,0 @@ var translateDOMPositionXY = getTranslateDOMPositionXY({

@@ -0,1 +1,2 @@

'use client';
import { useRef, useCallback, useEffect } from 'react';

@@ -9,17 +10,15 @@ import getHeight from 'dom-lib/getHeight';

import useUpdateEffect from './useUpdateEffect';
var useAffix = function useAffix(props) {
var getTableHeight = props.getTableHeight,
contentHeight = props.contentHeight,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
affixHeader = props.affixHeader,
tableOffset = props.tableOffset,
headerOffset = props.headerOffset,
headerHeight = props.headerHeight,
scrollbarXRef = props.scrollbarXRef,
affixHeaderWrapperRef = props.affixHeaderWrapperRef;
contentHeight = props.contentHeight,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
affixHeader = props.affixHeader,
tableOffset = props.tableOffset,
headerOffset = props.headerOffset,
headerHeight = props.headerHeight,
scrollbarXRef = props.scrollbarXRef,
affixHeaderWrapperRef = props.affixHeaderWrapperRef;
var scrollListener = useRef();
var handleAffixHorizontalScrollbar = useCallback(function () {
var _tableOffset$current, _scrollbarXRef$curren;
var scrollY = window.scrollY || window.pageYOffset;

@@ -31,6 +30,4 @@ var windowHeight = getHeight(window);

var fixedScrollbar = scrollY + windowHeight < height + (offsetTop + bottom) && scrollY + windowHeight - headerHeight > offsetTop + bottom;
if (scrollbarXRef !== null && scrollbarXRef !== void 0 && (_scrollbarXRef$curren = scrollbarXRef.current) !== null && _scrollbarXRef$curren !== void 0 && _scrollbarXRef$curren.root) {
toggleClass(scrollbarXRef.current.root, 'fixed', fixedScrollbar);
if (fixedScrollbar) {

@@ -45,3 +42,2 @@ addStyle(scrollbarXRef.current.root, 'bottom', bottom + "px");

var _headerOffset$current;
var top = typeof affixHeader === 'number' ? affixHeader : 0;

@@ -51,3 +47,2 @@ var scrollY = window.scrollY || window.pageYOffset;

var fixedHeader = scrollY - (offsetTop - top) >= 0 && scrollY < offsetTop - top + contentHeight.current;
if (affixHeaderWrapperRef.current) {

@@ -61,3 +56,2 @@ toggleClass(affixHeaderWrapperRef.current, 'fixed', fixedHeader);

}
if (isNumberOrTrue(affixHorizontalScrollbar)) {

@@ -67,2 +61,3 @@ handleAffixHorizontalScrollbar();

}, [affixHeader, affixHorizontalScrollbar, handleAffixTableHeader, handleAffixHorizontalScrollbar]);
/**

@@ -72,3 +67,2 @@ * Update the position of the fixed element after the height of the table changes.

*/
useUpdateEffect(handleWindowScroll, [getTableHeight]);

@@ -79,6 +73,4 @@ useEffect(function () {

}
return function () {
var _scrollListener$curre;
(_scrollListener$curre = scrollListener.current) === null || _scrollListener$curre === void 0 ? void 0 : _scrollListener$curre.off();

@@ -88,3 +80,2 @@ };

};
export default useAffix;

@@ -0,1 +1,2 @@

'use client';
import _extends from "@babel/runtime/helpers/esm/extends";

@@ -16,3 +17,2 @@ import React, { useState, useCallback, useRef } from 'react';

import useMount from './useMount';
/**

@@ -25,26 +25,23 @@ * Attach rendering-related attributes to all cells of the form and cache them.

var children = props.children,
rtl = props.rtl,
mouseAreaRef = props.mouseAreaRef,
tableRef = props.tableRef,
minScrollX = props.minScrollX,
scrollX = props.scrollX,
tableWidth = props.tableWidth,
headerHeight = props.headerHeight,
showHeader = props.showHeader,
sortTypeProp = props.sortType,
defaultSortType = props.defaultSortType,
sortColumn = props.sortColumn,
rowHeight = props.rowHeight,
onSortColumn = props.onSortColumn,
onHeaderCellResize = props.onHeaderCellResize,
prefix = props.prefix;
rtl = props.rtl,
mouseAreaRef = props.mouseAreaRef,
tableRef = props.tableRef,
minScrollX = props.minScrollX,
scrollX = props.scrollX,
tableWidth = props.tableWidth,
headerHeight = props.headerHeight,
showHeader = props.showHeader,
sortTypeProp = props.sortType,
defaultSortType = props.defaultSortType,
sortColumn = props.sortColumn,
rowHeight = props.rowHeight,
onSortColumn = props.onSortColumn,
onHeaderCellResize = props.onHeaderCellResize,
prefix = props.prefix;
var _useControlled = useControlled(sortTypeProp, defaultSortType),
sortType = _useControlled[0],
setSortType = _useControlled[1];
sortType = _useControlled[0],
setSortType = _useControlled[1];
var _useState = useState(),
cacheData = _useState[0],
setCacheData = _useState[1];
cacheData = _useState[0],
setCacheData = _useState[1];
var clearCache = useCallback(function () {

@@ -57,3 +54,2 @@ setCacheData(null);

}
if (resizing) {

@@ -65,2 +61,3 @@ addClass(tableRef.current, prefix('column-resizing'));

}, [prefix, tableRef]);
/**

@@ -70,3 +67,2 @@ * storage column width from props.

*/
var initialColumnWidths = useRef({});

@@ -84,3 +80,2 @@ var columnWidths = useRef({});

setColumnResizing(false);
if (mouseAreaRef.current) {

@@ -90,5 +85,5 @@ addStyle(mouseAreaRef.current, {

});
} // fix: https://github.com/rsuite/rsuite-table/issues/398
}
// fix: https://github.com/rsuite/rsuite-table/issues/398
flushSync(function () {

@@ -103,3 +98,2 @@ return clearCache();

var dir = 'left';
if (rtl) {

@@ -109,10 +103,7 @@ mouseAreaLeft += minScrollX.current + SCROLLBAR_WIDTH;

}
if (!fixed) {
x = mouseAreaLeft + (rtl ? -scrollX.current : scrollX.current);
}
if (mouseAreaRef.current) {
var _addStyle;
addStyle(mouseAreaRef.current, (_addStyle = {

@@ -129,3 +120,2 @@ display: 'block'

var nextSortType = sortType;
if (sortColumn === dataKey) {

@@ -135,15 +125,10 @@ nextSortType = sortType === SORT_TYPE.ASC ? SORT_TYPE.DESC : SORT_TYPE.ASC;

}
onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey, nextSortType);
}, [onSortColumn, setSortType, sortColumn, sortType]);
if (cacheData) {
return cacheData;
}
var hasCustomTreeCol = false;
var left = 0; // Cell left margin
var headerCells = []; // Table header cell
var bodyCells = []; // Table body cell

@@ -162,35 +147,29 @@

}
var columns = getTableColumns(children);
var count = columns.length;
var _getTotalByColumns = getTotalByColumns(columns),
totalFlexGrow = _getTotalByColumns.totalFlexGrow,
totalWidth = _getTotalByColumns.totalWidth;
totalFlexGrow = _getTotalByColumns.totalFlexGrow,
totalWidth = _getTotalByColumns.totalWidth;
React.Children.forEach(columns, function (column, index) {
if ( /*#__PURE__*/React.isValidElement(column)) {
var _initialColumnWidths$, _columnWidths$current;
var columnChildren = column.props.children;
var columnProps = getColumnProps(column);
var _width = columnProps.width,
resizable = columnProps.resizable,
flexGrow = columnProps.flexGrow,
minWidth = columnProps.minWidth,
onResize = columnProps.onResize,
treeCol = columnProps.treeCol;
resizable = columnProps.resizable,
flexGrow = columnProps.flexGrow,
minWidth = columnProps.minWidth,
onResize = columnProps.onResize,
treeCol = columnProps.treeCol;
if (treeCol) {
hasCustomTreeCol = true;
}
if (columnChildren.length !== 2) {
throw new Error("Component <HeaderCell> and <Cell> is required, column index: " + index + " ");
}
var headerCell = columnChildren[0];
var cell = columnChildren[1];
var cellWidthId = cell.props.dataKey + "_" + index + "_width"; // get column width from cache.
var cellWidthId = cell.props.dataKey + "_" + index + "_width";
// get column width from cache.
var initialColumnWidth = (_initialColumnWidths$ = initialColumnWidths.current) === null || _initialColumnWidths$ === void 0 ? void 0 : _initialColumnWidths$[cellWidthId];

@@ -200,2 +179,3 @@ var currentWidth = (_columnWidths$current = columnWidths.current) === null || _columnWidths$current === void 0 ? void 0 : _columnWidths$current[cellWidthId];

var isControlled = typeof _width === 'number' && typeof onResize === 'function';
/**

@@ -205,3 +185,2 @@ * in resizable mode,

*/
if (resizable && (initialColumnWidth || _width) && initialColumnWidth !== _width) {

@@ -213,10 +192,8 @@ // initial or update initialColumnWidth cache.

*/
if (currentWidth) {
columnWidths.current[cellWidthId] = _width; // update cellWidth
columnWidths.current[cellWidthId] = _width;
// update cellWidth
cellWidth = _width;
}
}
if (tableWidth.current && flexGrow && totalFlexGrow) {

@@ -228,6 +205,4 @@ var grewWidth = Math.max((tableWidth.current - totalWidth) / totalFlexGrow * flexGrow, minWidth || 60);

*/
cellWidth = resizable ? currentWidth || grewWidth : grewWidth;
}
var cellProps = _extends({}, omit(columnProps, ['children']), {

@@ -243,3 +218,2 @@ 'aria-colindex': index + 1,

});
if (showHeader && headerHeight) {

@@ -259,3 +233,2 @@ var headerCellProps = {

};
if (resizable) {

@@ -269,6 +242,4 @@ merge(headerCellProps, {

}
headerCells.push( /*#__PURE__*/React.cloneElement(headerCell, _extends({}, cellProps, headerCellProps)));
}
bodyCells.push( /*#__PURE__*/React.cloneElement(cell, cellProps));

@@ -288,3 +259,2 @@ left += cellWidth;

};
export default useCellDescriptor;
import classNames from 'classnames';
export declare type ClassValue = string | number | ClassDictionary | ClassArray | undefined | null | boolean;
export type ClassValue = string | number | ClassDictionary | ClassArray | undefined | null | boolean;
export interface ClassArray extends Array<ClassValue> {

@@ -4,0 +4,0 @@ }

@@ -0,1 +1,2 @@

'use client';
import { useCallback, useContext } from 'react';

@@ -6,2 +7,5 @@ import classNames from 'classnames';

// This is the only way I found to break circular references between ClassArray and ClassValue
// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540
//eslint-disable-line @typescript-eslint/no-empty-interface
/**

@@ -20,6 +24,6 @@ * Add a prefix to all classNames.

var _ref = useContext(TableContext) || {},
_ref$classPrefix = _ref.classPrefix,
contextClassPrefix = _ref$classPrefix === void 0 ? 'rs' : _ref$classPrefix;
_ref$classPrefix = _ref.classPrefix,
contextClassPrefix = _ref$classPrefix === void 0 ? 'rs' : _ref$classPrefix;
var componentName = controlled ? str : addPrefix(contextClassPrefix, str);
var componentName = controlled ? str : addPrefix(contextClassPrefix, str);
/**

@@ -31,3 +35,2 @@ * @example

*/
var prefix = useCallback(function () {

@@ -41,2 +44,3 @@ var mergeClasses = arguments.length ? classNames.apply(void 0, arguments).split(' ').map(function (item) {

}, [componentName]);
/**

@@ -48,3 +52,2 @@ * @example

*/
var withClassPrefix = useCallback(function () {

@@ -54,6 +57,6 @@ for (var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++) {

}
var mergeClasses = prefix(classes);
return mergeClasses ? componentName + " " + mergeClasses : componentName;
}, [componentName, prefix]);
/**

@@ -64,3 +67,2 @@ * @example

*/
var rootPrefix = function rootPrefix() {

@@ -74,3 +76,2 @@ var mergeClasses = arguments.length ? classNames.apply(void 0, arguments).split(' ').map(function (item) {

};
return {

@@ -83,3 +84,2 @@ withClassPrefix: withClassPrefix,

}
export default useClassNames;

@@ -0,2 +1,4 @@

'use client';
import { useRef, useState, useCallback } from 'react';
/**

@@ -10,12 +12,10 @@ * A hook for controlled value management.

*/
function useControlled(controlledValue, defaultValue) {
var controlledRef = useRef(false);
controlledRef.current = controlledValue !== undefined;
var _useState = useState(defaultValue),
uncontrolledValue = _useState[0],
setUncontrolledValue = _useState[1]; // If it is controlled, this directly returns the attribute value.
uncontrolledValue = _useState[0],
setUncontrolledValue = _useState[1];
// If it is controlled, this directly returns the attribute value.
var value = controlledRef.current ? controlledValue : uncontrolledValue;

@@ -30,3 +30,2 @@ var setValue = useCallback(function (nextValue) {

}
export default useControlled;

@@ -0,1 +1,2 @@

'use client';
import { useEffect, useLayoutEffect } from 'react';

@@ -2,0 +3,0 @@ import canUseDOM from 'dom-lib/canUseDOM';

@@ -0,7 +1,6 @@

'use client';
import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';
var useMount = function useMount(effect) {
useIsomorphicLayoutEffect(effect, []);
};
export default useMount;

@@ -0,1 +1,2 @@

'use client';
import { useCallback, useRef } from 'react';

@@ -8,3 +9,2 @@ import addStyle from 'dom-lib/addStyle';

import defer from './defer';
/**

@@ -17,15 +17,15 @@ * Update the position of the table according to the scrolling information of the table.

var data = props.data,
height = props.height,
tableWidth = props.tableWidth,
tableRef = props.tableRef,
prefix = props.prefix,
translateDOMPositionXY = props.translateDOMPositionXY,
wheelWrapperRef = props.wheelWrapperRef,
headerWrapperRef = props.headerWrapperRef,
affixHeaderWrapperRef = props.affixHeaderWrapperRef,
tableHeaderRef = props.tableHeaderRef,
scrollX = props.scrollX,
scrollY = props.scrollY,
contentWidth = props.contentWidth,
shouldFixedColumn = props.shouldFixedColumn;
height = props.height,
tableWidth = props.tableWidth,
tableRef = props.tableRef,
prefix = props.prefix,
translateDOMPositionXY = props.translateDOMPositionXY,
wheelWrapperRef = props.wheelWrapperRef,
headerWrapperRef = props.headerWrapperRef,
affixHeaderWrapperRef = props.affixHeaderWrapperRef,
tableHeaderRef = props.tableHeaderRef,
scrollX = props.scrollX,
scrollY = props.scrollY,
contentWidth = props.contentWidth,
shouldFixedColumn = props.shouldFixedColumn;
var duration = useRef(0);

@@ -35,3 +35,2 @@ var bezier = useRef('linear');

var _tableRef$current;
return ((_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.querySelectorAll("." + prefix('cell-group-scroll'))) || [];

@@ -41,3 +40,2 @@ }, [prefix, tableRef]);

var _tableRef$current2;
return (_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.querySelectorAll("." + prefix('cell-group-fixed-left'));

@@ -47,3 +45,2 @@ }, [prefix, tableRef]);

var _tableRef$current3;
return (_tableRef$current3 = tableRef.current) === null || _tableRef$current3 === void 0 ? void 0 : _tableRef$current3.querySelectorAll("." + prefix('cell-group-fixed-right'));

@@ -69,3 +66,2 @@ }, [prefix, tableRef]);

var scrollArrayGroups = Array.from(scrollGroups);
for (var i = 0; i < scrollArrayGroups.length; i++) {

@@ -75,5 +71,5 @@ var group = scrollArrayGroups[i];

}
updateWheelElementPosition(true);
updateWheelElementPosition(true); // Whether to show the horizontal scroll bar
// Whether to show the horizontal scroll bar
var hasHorizontalScrollbar = contentWidth.current > tableWidth.current;

@@ -88,2 +84,3 @@ var scrollbarWidth = hasHorizontalScrollbar ? 0 : SCROLLBAR_WIDTH;

}, [contentWidth, getFixedLeftCellGroups, getFixedRightCellGroups, getScrollCellGroups, updateWheelElementPosition, prefix, scrollX, tableWidth, translateDOMPositionXY]);
/**

@@ -94,3 +91,2 @@ * Update the position of the table according to the scrolling information of the table.

*/
var updatePosition = useCallback(function (nextDuration, nextBezier) {

@@ -100,8 +96,7 @@ if (nextDuration) {

}
if (nextBezier) {
bezier.current = nextBezier;
} // When there are fixed columns.
}
// When there are fixed columns.
if (shouldFixedColumn) {

@@ -111,3 +106,2 @@ updatePositionByFixedCell();

var _affixHeaderElement$h;
var headerStyle = {};

@@ -119,3 +113,2 @@ translateDOMPositionXY.current(headerStyle, scrollX.current, 0);

headerElement && addStyle(headerElement, headerStyle);
if (affixHeaderElement !== null && affixHeaderElement !== void 0 && (_affixHeaderElement$h = affixHeaderElement.hasChildNodes) !== null && _affixHeaderElement$h !== void 0 && _affixHeaderElement$h.call(affixHeaderElement)) {

@@ -125,3 +118,2 @@ addStyle(affixHeaderElement === null || affixHeaderElement === void 0 ? void 0 : affixHeaderElement.firstChild, headerStyle);

}
if (tableHeaderRef !== null && tableHeaderRef !== void 0 && tableHeaderRef.current) {

@@ -145,3 +137,2 @@ toggleClass(tableHeaderRef.current, prefix('cell-group-shadow'), scrollY.current < 0);

};
export default usePosition;

@@ -0,1 +1,2 @@

'use client';
import { useRef, useCallback, useState, useEffect } from 'react';

@@ -13,8 +14,12 @@ import WheelHandler from 'dom-lib/WheelHandler';

import flushSync from './flushSync';
import defer from './defer'; // Inertial sliding start time threshold
import defer from './defer';
var momentumTimeThreshold = 300; // Inertial sliding start vertical distance threshold
// Inertial sliding start time threshold
var momentumTimeThreshold = 300;
// Inertial sliding start vertical distance threshold
var momentumYThreshold = 15;
//List of Arrow Keys for scrolling through keys
var arrowKeysList = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
/**

@@ -35,2 +40,3 @@ * Calculate the distance of inertial sliding.

};
/**

@@ -42,33 +48,31 @@ * Add scroll, touch, and wheel monitoring events to the table,

*/
var useScrollListener = function useScrollListener(props) {
var data = props.data,
autoHeight = props.autoHeight,
tableBodyRef = props.tableBodyRef,
scrollbarXRef = props.scrollbarXRef,
scrollbarYRef = props.scrollbarYRef,
disabledScroll = props.disabledScroll,
loading = props.loading,
tableRef = props.tableRef,
contentWidth = props.contentWidth,
tableWidth = props.tableWidth,
scrollY = props.scrollY,
minScrollY = props.minScrollY,
minScrollX = props.minScrollX,
scrollX = props.scrollX,
setScrollX = props.setScrollX,
setScrollY = props.setScrollY,
virtualized = props.virtualized,
forceUpdatePosition = props.forceUpdatePosition,
deferUpdatePosition = props.deferUpdatePosition,
onScroll = props.onScroll,
onTouchMove = props.onTouchMove,
onTouchStart = props.onTouchStart,
onTouchEnd = props.onTouchEnd,
height = props.height,
getTableHeight = props.getTableHeight,
contentHeight = props.contentHeight,
headerHeight = props.headerHeight,
rtl = props.rtl;
autoHeight = props.autoHeight,
tableBodyRef = props.tableBodyRef,
scrollbarXRef = props.scrollbarXRef,
scrollbarYRef = props.scrollbarYRef,
disabledScroll = props.disabledScroll,
loading = props.loading,
tableRef = props.tableRef,
contentWidth = props.contentWidth,
tableWidth = props.tableWidth,
scrollY = props.scrollY,
minScrollY = props.minScrollY,
minScrollX = props.minScrollX,
scrollX = props.scrollX,
setScrollX = props.setScrollX,
setScrollY = props.setScrollY,
virtualized = props.virtualized,
forceUpdatePosition = props.forceUpdatePosition,
deferUpdatePosition = props.deferUpdatePosition,
onScroll = props.onScroll,
onTouchMove = props.onTouchMove,
onTouchStart = props.onTouchStart,
onTouchEnd = props.onTouchEnd,
height = props.height,
getTableHeight = props.getTableHeight,
contentHeight = props.contentHeight,
headerHeight = props.headerHeight,
rtl = props.rtl;
var wheelListener = useRef();

@@ -78,14 +82,14 @@ var touchStartListener = useRef();

var touchEndListener = useRef();
var _useState = useState(false),
isScrolling = _useState[0],
setScrolling = _useState[1];
isScrolling = _useState[0],
setScrolling = _useState[1];
var touchX = useRef(0);
var touchY = useRef(0);
var disableEventsTimeoutId = useRef(null);
var isTouching = useRef(false); // The start time within the inertial sliding range.
var isTouching = useRef(false);
var momentumStartTime = useRef(0); // The vertical starting value within the inertial sliding range.
// The start time within the inertial sliding range.
var momentumStartTime = useRef(0);
// The vertical starting value within the inertial sliding range.
var momentumStartY = useRef(0);

@@ -96,3 +100,2 @@ var shouldHandleWheelX = useCallback(function (delta) {

}
return true;

@@ -104,3 +107,2 @@ }, [disabledScroll, loading]);

}
if (typeof scrollY.current === 'number' && typeof minScrollY.current === 'number') {

@@ -111,5 +113,6 @@ return delta >= 0 && scrollY.current > minScrollY.current || delta < 0 && scrollY.current < 0;

var debounceScrollEndedCallback = useCallback(function () {
disableEventsTimeoutId.current = null; // Forces the end of scrolling to be prioritized so that virtualized long lists can update rendering.
disableEventsTimeoutId.current = null;
// Forces the end of scrolling to be prioritized so that virtualized long lists can update rendering.
// There will be no scrolling white screen.
flushSync(function () {

@@ -119,2 +122,3 @@ return setScrolling(false);

}, []);
/**

@@ -126,3 +130,2 @@ * Triggered when scrolling, including: wheel/touch/scroll

*/
var handleWheel = useCallback(function (deltaX, deltaY, momentumOptions, event) {

@@ -132,3 +135,2 @@ if (!tableRef.current) {

}
var nextScrollX = contentWidth.current <= tableWidth.current ? 0 : scrollX.current - deltaX;

@@ -141,19 +143,18 @@ var nextScrollY = scrollY.current - deltaY;

onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(x), Math.abs(y));
if (virtualized) {
// Add a state to the table during virtualized scrolling.
// Make it set CSS `pointer-events:none` on the DOM to avoid wrong event interaction.
flushSync(function () {
return setScrolling(true);
});
if (disableEventsTimeoutId.current) {
cancelAnimationTimeout(disableEventsTimeoutId.current);
}
disableEventsTimeoutId.current = requestAnimationTimeout(debounceScrollEndedCallback, // When momentum is enabled, set a delay of 50ms rendering.
disableEventsTimeoutId.current = requestAnimationTimeout(debounceScrollEndedCallback,
// When momentum is enabled, set a delay of 50ms rendering.
momentumOptions !== null && momentumOptions !== void 0 && momentumOptions.duration ? 50 : 0);
} // When the user clicks on the scrollbar, the scrollbar will be moved to the clicked position.
}
// When the user clicks on the scrollbar, the scrollbar will be moved to the clicked position.
if ((event === null || event === void 0 ? void 0 : event.type) === 'click') {

@@ -168,3 +169,2 @@ /**

}
forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);

@@ -174,3 +174,2 @@ }, [tableRef, contentWidth, tableWidth, scrollX, scrollY, minScrollY, minScrollX, setScrollX, setScrollY, onScroll, forceUpdatePosition, deferUpdatePosition, virtualized, debounceScrollEndedCallback]);

var _scrollbarXRef$curren, _scrollbarXRef$curren2, _scrollbarYRef$curren, _scrollbarYRef$curren2;
handleWheel(deltaX, deltaY, momentumOptions);

@@ -180,11 +179,10 @@ (_scrollbarXRef$curren = scrollbarXRef.current) === null || _scrollbarXRef$curren === void 0 ? void 0 : (_scrollbarXRef$curren2 = _scrollbarXRef$curren.onWheelScroll) === null || _scrollbarXRef$curren2 === void 0 ? void 0 : _scrollbarXRef$curren2.call(_scrollbarXRef$curren, deltaX);

}, [handleWheel, scrollbarXRef, scrollbarYRef]);
var wheelHandler = useRef(); // Stop unending scrolling and remove transition
var wheelHandler = useRef();
// Stop unending scrolling and remove transition
var stopScroll = useCallback(function () {
var _tableBodyRef$current, _scrollbarYRef$curren3;
var wheelElement = (_tableBodyRef$current = tableBodyRef.current) === null || _tableBodyRef$current === void 0 ? void 0 : _tableBodyRef$current.querySelector('.rs-table-body-wheel-area');
var handleElement = (_scrollbarYRef$curren3 = scrollbarYRef.current) === null || _scrollbarYRef$curren3 === void 0 ? void 0 : _scrollbarYRef$curren3.handle;
var transitionCSS = ['transition-duration', 'transition-timing-function'];
if (!virtualized && wheelElement) {

@@ -196,16 +194,15 @@ // Get the current translate position.

}
if (wheelElement) {
removeStyle(wheelElement, transitionCSS);
}
if (handleElement) {
removeStyle(handleElement, transitionCSS);
}
}, [scrollbarYRef, setScrollY, tableBodyRef, virtualized]); // Handle the Touch event and initialize it when touchstart is triggered.
}, [scrollbarYRef, setScrollY, tableBodyRef, virtualized]);
// Handle the Touch event and initialize it when touchstart is triggered.
var handleTouchStart = useCallback(function (event) {
var _event$touches$ = event.touches[0],
pageX = _event$touches$.pageX,
pageY = _event$touches$.pageY;
pageX = _event$touches$.pageX,
pageY = _event$touches$.pageY;
touchX.current = pageX;

@@ -216,7 +213,9 @@ touchY.current = pageY;

isTouching.current = true;
onTouchStart === null || onTouchStart === void 0 ? void 0 : onTouchStart(event); // Stop unfinished scrolling when Touch starts.
onTouchStart === null || onTouchStart === void 0 ? void 0 : onTouchStart(event);
// Stop unfinished scrolling when Touch starts.
stopScroll();
}, [onTouchStart, scrollY, stopScroll]); // Handle the Touch event and update the scroll when touchmove is triggered.
}, [onTouchStart, scrollY, stopScroll]);
// Handle the Touch event and update the scroll when touchmove is triggered.
var handleTouchMove = useCallback(function (event) {

@@ -226,12 +225,11 @@ if (!isTouching.current) {

}
var _event$touches$2 = event.touches[0],
pageX = _event$touches$2.pageX,
pageY = _event$touches$2.pageY;
pageX = _event$touches$2.pageX,
pageY = _event$touches$2.pageY;
var deltaX = touchX.current - pageX;
var deltaY = autoHeight ? 0 : touchY.current - pageY;
if (!shouldHandleWheelY(deltaY) && !shouldHandleWheelX(deltaX)) {
return;
}
/**

@@ -241,15 +239,12 @@ * Prevent the default touch event when the table is scrollable.

*/
if (!autoHeight && shouldHandleWheelY(deltaY)) {
var _event$preventDefault;
(_event$preventDefault = event.preventDefault) === null || _event$preventDefault === void 0 ? void 0 : _event$preventDefault.call(event);
}
var now = new Date().getTime();
onWheel(deltaX, deltaY);
touchX.current = pageX;
touchY.current = pageY; // Record the offset value and time under the condition of triggering inertial scrolling.
touchY.current = pageY;
// Record the offset value and time under the condition of triggering inertial scrolling.
if (now - momentumStartTime.current > momentumTimeThreshold) {

@@ -259,3 +254,2 @@ momentumStartY.current = scrollY.current;

}
onTouchMove === null || onTouchMove === void 0 ? void 0 : onTouchMove(event);

@@ -267,13 +261,12 @@ }, [autoHeight, onWheel, onTouchMove, scrollY, shouldHandleWheelX, shouldHandleWheelY]);

}
isTouching.current = false;
var touchDuration = new Date().getTime() - momentumStartTime.current;
var absDeltaY = Math.abs(scrollY.current - momentumStartY.current); // Enable inertial sliding.
var absDeltaY = Math.abs(scrollY.current - momentumStartY.current);
// Enable inertial sliding.
if (touchDuration < momentumTimeThreshold && absDeltaY > momentumYThreshold) {
var _momentum = momentum(scrollY.current, momentumStartY.current, touchDuration),
delta = _momentum.delta,
duration = _momentum.duration,
bezier = _momentum.bezier;
delta = _momentum.delta,
duration = _momentum.duration,
bezier = _momentum.bezier;
onWheel(0, delta, {

@@ -286,2 +279,3 @@ duration: duration,

}, [onWheel, onTouchEnd, scrollY]);
/**

@@ -292,3 +286,2 @@ * When the user uses the tab key in the Table, the onScroll event is triggered,

*/
var onScrollBody = useCallback(function (event) {

@@ -298,10 +291,7 @@ if (event.target !== tableBodyRef.current) {

}
var left = scrollLeft(event.target);
var top = scrollTop(event.target);
if (top === 0 && left === 0) {
return;
}
onWheel(left, top);

@@ -315,11 +305,11 @@ scrollLeft(event.target, 0);

}
var height = getTableHeight();
var height = getTableHeight(); // The maximum range of scrolling value is judged.
// The maximum range of scrolling value is judged.
value = Math.min(value, Math.max(0, contentHeight.current - (height - headerHeight)));
value = Math.min(value, Math.max(0, contentHeight.current - (height - headerHeight))); // The value is a value of the theoretical scroll position of the table,
// The value is a value of the theoretical scroll position of the table,
// and the scrollY coordinate value and the value of the scroll bar position are calculated by value.
return [-value, value / contentHeight.current * (height - headerHeight)];
}, [autoHeight, contentHeight, getTableHeight, headerHeight]);
var rerender = function rerender() {

@@ -333,3 +323,2 @@ setScrolling(true);

};
var getControlledScrollLeftValue = function getControlledScrollLeftValue(value) {

@@ -340,23 +329,18 @@ // The maximum range of scrolling value is judged.

};
var onScrollTop = function onScrollTop(top) {
var _scrollbarYRef$curren4, _scrollbarYRef$curren5;
if (top === void 0) {
top = 0;
}
var _getControlledScrollT = getControlledScrollTopValue(top),
nextScrollY = _getControlledScrollT[0],
handleScrollY = _getControlledScrollT[1];
nextScrollY = _getControlledScrollT[0],
handleScrollY = _getControlledScrollT[1];
var height = getTableHeight();
if (!loading && nextScrollY !== scrollY.current) {
onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(scrollX.current), Math.abs(nextScrollY));
}
setScrollY(nextScrollY);
scrollbarYRef === null || scrollbarYRef === void 0 ? void 0 : (_scrollbarYRef$curren4 = scrollbarYRef.current) === null || _scrollbarYRef$curren4 === void 0 ? void 0 : (_scrollbarYRef$curren5 = _scrollbarYRef$curren4.resetScrollBarPosition) === null || _scrollbarYRef$curren5 === void 0 ? void 0 : _scrollbarYRef$curren5.call(_scrollbarYRef$curren4, handleScrollY);
deferUpdatePosition();
/**

@@ -368,3 +352,2 @@ * After calling `scrollTop`, a white screen will appear when `virtualized` is true.

*/
if (virtualized && contentHeight.current > height) {

@@ -374,14 +357,10 @@ rerender();

};
var onScrollLeft = function onScrollLeft(left) {
var _scrollbarXRef$curren3, _scrollbarXRef$curren4;
if (left === void 0) {
left = 0;
}
var _getControlledScrollL = getControlledScrollLeftValue(left),
nextScrollX = _getControlledScrollL[0],
scrollbarX = _getControlledScrollL[1];
nextScrollX = _getControlledScrollL[0],
scrollbarX = _getControlledScrollL[1];
setScrollX(nextScrollX);

@@ -392,12 +371,9 @@ !loading && (onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(nextScrollX), Math.abs(scrollY.current)));

};
var onScrollTo = function onScrollTo(coord) {
var _ref = coord || {},
x = _ref.x,
y = _ref.y;
x = _ref.x,
y = _ref.y;
if (typeof x === 'number') {
onScrollLeft(x);
}
if (typeof y === 'number') {

@@ -407,9 +383,8 @@ onScrollTop(y);

};
useUpdateEffect(function () {
if (scrollY.current !== 0) {
onScrollTop(Math.abs(scrollY.current));
} // fix: #405 #404
}
// fix: #405 #404
deferUpdatePosition();

@@ -419,3 +394,2 @@ }, [height, data]);

var _wheelListener$curren, _touchStartListener$c, _touchMoveListener$cu, _touchEndListener$cur;
wheelHandler.current = null;

@@ -432,3 +406,2 @@ (_wheelListener$curren = wheelListener.current) === null || _wheelListener$curren === void 0 ? void 0 : _wheelListener$curren.off();

var tableBody = tableBodyRef.current;
if (tableBody) {

@@ -439,3 +412,2 @@ // Reset the listener after props is updated.

wheelListener.current = on(tableBody, 'wheel', wheelHandler.current.onWheel, options);
if (isSupportTouchEvent()) {

@@ -447,10 +419,8 @@ touchStartListener.current = on(tableBody, 'touchstart', handleTouchStart, options);

}
return releaseListeners;
}, [handleTouchEnd, handleTouchMove, handleTouchStart, onWheel, releaseListeners, shouldHandleWheelX, shouldHandleWheelY, tableBodyRef]);
var onScrollByKeydown = useCallback(function (event) {
if (event.currentTarget === event.target) {
if (event.currentTarget === event.target && arrowKeysList.indexOf(event.key) > -1) {
event.preventDefault();
var step = 40;
switch (event.key) {

@@ -460,11 +430,8 @@ case 'ArrowUp':

break;
case 'ArrowDown':
onWheel(0, step);
break;
case 'ArrowLeft':
onWheel(-step, 0);
break;
case 'ArrowRight':

@@ -479,3 +446,2 @@ onWheel(step, 0);

var _scrollbarXRef$curren5, _scrollbarXRef$curren6;
// Initialize scroll position

@@ -504,3 +470,2 @@ setScrollX(tableWidth.current - contentWidth.current - SCROLLBAR_WIDTH);

};
export default useScrollListener;

@@ -0,1 +1,2 @@

'use client';
import { useRef, useCallback } from 'react';

@@ -11,3 +12,2 @@ import getWidth from 'dom-lib/getWidth';

import debounce from 'lodash/debounce';
/**

@@ -21,20 +21,20 @@ * The dimension information of the table,

var data = props.data,
rowHeight = props.rowHeight,
tableRef = props.tableRef,
headerWrapperRef = props.headerWrapperRef,
prefix = props.prefix,
widthProp = props.width,
affixHeader = props.affixHeader,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
headerHeight = props.headerHeight,
heightProp = props.height,
autoHeight = props.autoHeight,
minHeight = props.minHeight,
fillHeight = props.fillHeight,
children = props.children,
expandedRowKeys = props.expandedRowKeys,
showHeader = props.showHeader,
bordered = props.bordered,
onTableResizeChange = props.onTableResizeChange,
onTableScroll = props.onTableScroll;
rowHeight = props.rowHeight,
tableRef = props.tableRef,
headerWrapperRef = props.headerWrapperRef,
prefix = props.prefix,
widthProp = props.width,
affixHeader = props.affixHeader,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
headerHeight = props.headerHeight,
heightProp = props.height,
autoHeight = props.autoHeight,
minHeight = props.minHeight,
fillHeight = props.fillHeight,
children = props.children,
expandedRowKeys = props.expandedRowKeys,
showHeader = props.showHeader,
bordered = props.bordered,
onTableResizeChange = props.onTableResizeChange,
onTableScroll = props.onTableScroll;
var contentHeight = useRef(0);

@@ -58,3 +58,2 @@ var contentWidth = useRef(0);

var _table$querySelectorA;
var prevContentHeight = contentHeight.current;

@@ -68,15 +67,16 @@ var table = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current;

return x + y;
}) : 0; // After setting the affixHeader property, the height of the two headers should be subtracted.
}) : 0;
contentHeight.current = Math.round(nextContentHeight - (affixHeader ? headerHeight * 2 : headerHeight)); // Whether to show the horizontal scroll bar
// After setting the affixHeader property, the height of the two headers should be subtracted.
contentHeight.current = Math.round(nextContentHeight - (affixHeader ? headerHeight * 2 : headerHeight));
var hasHorizontalScrollbar = contentWidth.current > tableWidth.current; // The height of the table content area should be added to the height occupied by the horizontal scroll bar when autoHeight is set.
// Whether to show the horizontal scroll bar
var hasHorizontalScrollbar = contentWidth.current > tableWidth.current;
// The height of the table content area should be added to the height occupied by the horizontal scroll bar when autoHeight is set.
if (autoHeight && hasHorizontalScrollbar) {
contentHeight.current += SCROLLBAR_WIDTH;
}
var height = fillHeight ? tableHeight.current : heightProp;
var tableBodyHeight = showHeader ? height - headerHeight : height;
if (!autoHeight) {

@@ -88,5 +88,5 @@ /**

minScrollY.current = -(nextContentHeight - height) - (hasHorizontalScrollbar ? SCROLLBAR_WIDTH : 0);
} // If the height of the content area is less than the height of the table, the vertical scroll bar is reset.
}
// If the height of the content area is less than the height of the table, the vertical scroll bar is reset.
if (nextContentHeight < height) {

@@ -97,9 +97,10 @@ onTableScroll === null || onTableScroll === void 0 ? void 0 : onTableScroll({

}
var currentScrollTop = Math.abs(scrollY.current);
var currentScrollTop = Math.abs(scrollY.current); // When Table is set to virtualized, the logic will be entered every time the wheel event is
// When Table is set to virtualized, the logic will be entered every time the wheel event is
// triggered to avoid resetting the scroll bar after scrolling to the bottom, so add the SCROLLBAR_WIDTH value.
var maxScrollTop = nextContentHeight + SCROLLBAR_WIDTH - tableBodyHeight;
var maxScrollTop = nextContentHeight + SCROLLBAR_WIDTH - tableBodyHeight; // If the top value of the current scroll is greater than the scrollable range,
// If the top value of the current scroll is greater than the scrollable range,
// keep the vertical scroll bar at the bottom.
if (maxScrollTop > 0 && currentScrollTop > maxScrollTop) {

@@ -116,3 +117,2 @@ if (virtualized) {

}
if (prevContentHeight !== contentHeight.current) {

@@ -124,7 +124,5 @@ onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevContentHeight, 'bodyHeightChanged');

var headerNode = headerWrapperRef === null || headerWrapperRef === void 0 ? void 0 : headerWrapperRef.current;
if (isNumberOrTrue(affixHeader) && headerNode) {
headerOffset.current = getOffset(headerNode);
}
if (isNumberOrTrue(affixHorizontalScrollbar) && tableRef !== null && tableRef !== void 0 && tableRef.current) {

@@ -139,15 +137,15 @@ tableOffset.current = getOffset(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);

var row = table === null || table === void 0 ? void 0 : table.querySelector("." + prefix('row') + ":not(.virtualized)");
var nextContentWidth = row ? getWidth(row) : 0; // Whether to show the horizontal scroll bar
var nextContentWidth = row ? getWidth(row) : 0;
// Whether to show the horizontal scroll bar
var hasHorizontalScrollbar = contentWidth.current > tableWidth.current;
var scrollbarWidth = hasHorizontalScrollbar ? 0 : SCROLLBAR_WIDTH;
contentWidth.current = nextContentWidth - (autoHeight ? scrollbarWidth : 0);
columnCount.current = (row === null || row === void 0 ? void 0 : row.querySelectorAll("." + prefix('cell')).length) || 0; // The value of SCROLLBAR_WIDTH is subtracted so that the scroll bar does not block the content part.
columnCount.current = (row === null || row === void 0 ? void 0 : row.querySelectorAll("." + prefix('cell')).length) || 0;
// The value of SCROLLBAR_WIDTH is subtracted so that the scroll bar does not block the content part.
// There is no vertical scroll bar after autoHeight.
var minScrollWidth = -(nextContentWidth - tableWidth.current) - (autoHeight ? 0 : scrollbarWidth);
if (minScrollX.current !== minScrollWidth) {
minScrollX.current = minScrollWidth;
if (scrollX.current < minScrollWidth) {

@@ -158,2 +156,3 @@ // fix: 405#issuecomment-1464831646

}
/**

@@ -164,4 +163,2 @@ * If the width of the content area and the number of columns change,

*/
if (prevWidth > 0 && prevWidth !== contentWidth.current || prevColumnCount > 0 && prevColumnCount !== columnCount.current) {

@@ -173,7 +170,5 @@ onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevWidth, 'bodyWidthChanged');

var prevWidth = tableWidth.current;
if (tableRef !== null && tableRef !== void 0 && tableRef.current) {
tableWidth.current = nextWidth || getWidth(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);
}
if (prevWidth && prevWidth !== tableWidth.current) {

@@ -183,3 +178,2 @@ scrollX.current = 0;

}
setOffsetByAffix();

@@ -189,3 +183,2 @@ }, [onTableResizeChange, setOffsetByAffix, tableRef]);

var prevHeight = tableHeight.current;
if (nextHeight) {

@@ -196,3 +189,2 @@ tableHeight.current = nextHeight;

}
if (prevHeight && prevHeight !== tableHeight.current) {

@@ -204,3 +196,2 @@ onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevHeight, 'heightChanged');

var _tableRef$current;
calculateTableContextHeight();

@@ -216,4 +207,4 @@ calculateTableContentWidth();

var changeTableWidthWhenResize = debounce(function (entries) {
var width = entries[0].contentRect.width; // bordered table width is 1px larger than the container width. fix: #405 #404
var width = entries[0].contentRect.width;
// bordered table width is 1px larger than the container width. fix: #405 #404
var widthWithBorder = width + 2;

@@ -226,3 +217,2 @@ calculateTableWidth(bordered ? widthWithBorder : width);

var _resizeObserver$curre, _containerResizeObser;
(_resizeObserver$curre = resizeObserver.current) === null || _resizeObserver$curre === void 0 ? void 0 : _resizeObserver$curre.disconnect();

@@ -247,3 +237,2 @@ (_containerResizeObser = containerResizeObserver.current) === null || _containerResizeObser === void 0 ? void 0 : _containerResizeObser.disconnect();

}, []);
var getTableHeight = function getTableHeight() {

@@ -253,10 +242,7 @@ if (fillHeight) {

}
if ((data === null || data === void 0 ? void 0 : data.length) === 0 && autoHeight) {
return heightProp;
}
return autoHeight ? Math.max(headerHeight + contentHeight.current, minHeight) : heightProp;
};
return {

@@ -277,3 +263,2 @@ contentHeight: contentHeight,

};
export default useTableDimension;

@@ -0,1 +1,2 @@

'use client';
import { useState, useCallback, useRef } from 'react';

@@ -7,3 +8,2 @@ import getHeight from 'dom-lib/getHeight';

import defer from './defer';
/**

@@ -16,12 +16,9 @@ * The row information of the table, get the DOM of all rows, and summarize the row height.

var prefix = props.prefix,
wordWrap = props.wordWrap,
data = props.data,
expandedRowKeys = props.expandedRowKeys;
wordWrap = props.wordWrap,
data = props.data,
expandedRowKeys = props.expandedRowKeys;
var _useState = useState([]),
tableRowsMaxHeight = _useState[0],
setTableRowsMaxHeight = _useState[1];
tableRowsMaxHeight = _useState[0],
setTableRowsMaxHeight = _useState[1];
var tableRows = useRef({});
var bindTableRowsRef = function bindTableRowsRef(index, rowData) {

@@ -34,3 +31,2 @@ return function (ref) {

};
var calculateRowMaxHeight = useCallback(function () {

@@ -40,7 +36,5 @@ if (wordWrap) {

var curTableRows = Object.values(tableRows.current);
for (var i = 0; i < curTableRows.length; i++) {
var _curTableRows$i = curTableRows[i],
row = _curTableRows$i[0];
row = _curTableRows$i[0];
if (row) {

@@ -50,3 +44,2 @@ var cells = row.querySelectorAll("." + prefix('cell-wrap')) || [];

var maxHeight = 0;
for (var j = 0; j < cellArray.length; j++) {

@@ -57,8 +50,7 @@ var cell = cellArray[j];

}
nextTableRowsMaxHeight.push(maxHeight);
}
} // Can't perform a React state update on an unmounted component
}
// Can't perform a React state update on an unmounted component
if (!isEmpty(tableRows.current)) {

@@ -87,3 +79,2 @@ setTableRowsMaxHeight(nextTableRowsMaxHeight);

};
export default useTableRows;

@@ -0,3 +1,3 @@

'use client';
import { useEffect, useRef } from 'react';
var useUpdateEffect = function useUpdateEffect(effect, deps) {

@@ -10,7 +10,6 @@ var isMounting = useRef(true);

}
effect(); // eslint-disable-next-line react-hooks/exhaustive-deps
effect();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, deps);
};
export default useUpdateEffect;

@@ -0,4 +1,4 @@

'use client';
import { useRef } from 'react';
import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';
var useUpdateLayoutEffect = function useUpdateLayoutEffect(effect, deps) {

@@ -11,7 +11,6 @@ var isMounting = useRef(true);

}
effect(); // eslint-disable-next-line react-hooks/exhaustive-deps
effect();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, deps);
};
export default useUpdateLayoutEffect;

@@ -12,4 +12,4 @@ /// <reference types="react" />

}
export declare type SortType = 'desc' | 'asc';
export declare type TableSizeChangeEventName = 'bodyHeightChanged' | 'bodyWidthChanged' | 'widthChanged' | 'heightChanged';
export type SortType = 'desc' | 'asc';
export type TableSizeChangeEventName = 'bodyHeightChanged' | 'bodyWidthChanged' | 'widthChanged' | 'heightChanged';
export interface RowDataType<T = never> {

@@ -20,3 +20,3 @@ dataKey?: string;

}
export declare type RowKeyType = string | number;
export type RowKeyType = string | number;
export interface TableLocaleType {

@@ -26,6 +26,6 @@ emptyMessage?: string;

}
export declare type ListenerCallback = {
export type ListenerCallback = {
off: () => void;
};
export declare type ElementOffset = {
export type ElementOffset = {
top: number;

@@ -32,0 +32,0 @@ left: number;

@@ -0,3 +1,4 @@

'use client';
"use strict";
exports.__esModule = true;

@@ -0,105 +1,79 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends4 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _omit = _interopRequireDefault(require("lodash/omit"));
var _isNil = _interopRequireDefault(require("lodash/isNil"));
var _get = _interopRequireDefault(require("lodash/get"));
var _constants = require("./constants");
var _utils = require("./utils");
var _TableContext = _interopRequireDefault(require("./TableContext"));
var _ArrowRight = _interopRequireDefault(require("@rsuite/icons/ArrowRight"));
var _ArrowDown = _interopRequireDefault(require("@rsuite/icons/ArrowDown"));
var _Column = require("./Column");
var _excluded = ["classPrefix", "width", "left", "headerHeight", "depth", "height", "style", "className", "fullText", "firstColumn", "lastColumn", "isHeaderCell", "align", "children", "rowData", "dataKey", "rowIndex", "removed", "rowKey", "rowSpan", "wordWrap", "verticalAlign", "expanded", "treeCol", "hasChildren", "predefinedStyle", "renderCell", "renderTreeToggle", "onClick", "onTreeToggle"];
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
var groupKeys = ['groupCount', 'groupHeader', 'groupHeaderHeight', 'groupAlign', 'groupVerticalAlign', 'renderSortIcon'];
var Cell = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var _extends2, _extends3;
var _props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'cell' : _props$classPrefix,
_props$width = props.width,
width = _props$width === void 0 ? 0 : _props$width,
_props$left = props.left,
left = _props$left === void 0 ? 0 : _props$left,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? _constants.ROW_HEADER_HEIGHT : _props$headerHeight,
_props$depth = props.depth,
depth = _props$depth === void 0 ? 0 : _props$depth,
_props$height = props.height,
height = _props$height === void 0 ? _constants.ROW_HEIGHT : _props$height,
style = props.style,
className = props.className,
fullText = props.fullText,
firstColumn = props.firstColumn,
lastColumn = props.lastColumn,
isHeaderCell = props.isHeaderCell,
align = props.align,
children = props.children,
rowData = props.rowData,
dataKey = props.dataKey,
rowIndex = props.rowIndex,
removed = props.removed,
rowKey = props.rowKey,
rowSpan = props.rowSpan,
wordWrap = props.wordWrap,
verticalAlign = props.verticalAlign,
expanded = props.expanded,
treeCol = props.treeCol,
hasChildren = props.hasChildren,
predefinedStyle = props.predefinedStyle,
renderCell = props.renderCell,
renderTreeToggle = props.renderTreeToggle,
onClick = props.onClick,
onTreeToggle = props.onTreeToggle,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
classPrefix = _props$classPrefix === void 0 ? 'cell' : _props$classPrefix,
_props$width = props.width,
width = _props$width === void 0 ? 0 : _props$width,
_props$left = props.left,
left = _props$left === void 0 ? 0 : _props$left,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? _constants.ROW_HEADER_HEIGHT : _props$headerHeight,
_props$depth = props.depth,
depth = _props$depth === void 0 ? 0 : _props$depth,
_props$height = props.height,
height = _props$height === void 0 ? _constants.ROW_HEIGHT : _props$height,
style = props.style,
className = props.className,
fullText = props.fullText,
firstColumn = props.firstColumn,
lastColumn = props.lastColumn,
isHeaderCell = props.isHeaderCell,
align = props.align,
children = props.children,
rowData = props.rowData,
dataKey = props.dataKey,
rowIndex = props.rowIndex,
removed = props.removed,
rowKey = props.rowKey,
rowSpan = props.rowSpan,
wordWrap = props.wordWrap,
verticalAlign = props.verticalAlign,
expanded = props.expanded,
treeCol = props.treeCol,
hasChildren = props.hasChildren,
predefinedStyle = props.predefinedStyle,
renderCell = props.renderCell,
renderTreeToggle = props.renderTreeToggle,
onClick = props.onClick,
onTreeToggle = props.onTreeToggle,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
var _React$useContext = _react["default"].useContext(_TableContext["default"]),
rtl = _React$useContext.rtl,
hasCustomTreeCol = _React$useContext.hasCustomTreeCol,
isTree = _React$useContext.isTree;
rtl = _React$useContext.rtl,
hasCustomTreeCol = _React$useContext.hasCustomTreeCol,
isTree = _React$useContext.isTree;
var isTreeCol = treeCol || !hasCustomTreeCol && firstColumn && isTree;
var cellHeight = typeof height === 'function' ? height(rowData) : height;
if (isTreeCol && !isHeaderCell && !rowData) {
throw new Error('[Table.Cell]: `rowData` is required for tree column');
}
var handleTreeToggle = (0, _react.useCallback)(function (event) {
onTreeToggle === null || onTreeToggle === void 0 ? void 0 : onTreeToggle(rowKey, rowIndex, rowData, event);
}, [onTreeToggle, rowData, rowIndex, rowKey]);
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
var classes = merge(className, withClassPrefix({

@@ -120,3 +94,2 @@ expanded: expanded && isTreeCol,

}, _extends3[paddingKey] = isTreeCol ? depth * _constants.LAYER_WIDTH + 10 : (style === null || style === void 0 ? void 0 : style[paddingKey]) || (style === null || style === void 0 ? void 0 : style.padding), _extends3));
if (verticalAlign) {

@@ -126,3 +99,2 @@ contentStyles.display = 'table-cell';

}
if (wordWrap) {

@@ -132,16 +104,11 @@ contentStyles.wordBreak = typeof wordWrap === 'boolean' ? 'break-all' : wordWrap;

}
var cellContent = (0, _isNil["default"])(children) && rowData && dataKey ? (0, _get["default"])(rowData, dataKey) : children;
if (typeof children === 'function') {
cellContent = children(rowData, rowIndex);
}
var renderTreeNodeExpandIcon = function renderTreeNodeExpandIcon() {
var ExpandIconComponent = expanded ? _ArrowDown["default"] : _ArrowRight["default"];
var expandButton = /*#__PURE__*/_react["default"].createElement(ExpandIconComponent, {
className: prefix('expand-icon')
});
if (isTreeCol && hasChildren) {

@@ -155,14 +122,10 @@ return /*#__PURE__*/_react["default"].createElement("span", {

}
return null;
};
var content = wordWrap ? /*#__PURE__*/_react["default"].createElement("div", {
className: prefix('wrap')
}, renderTreeNodeExpandIcon(), renderCell ? renderCell(cellContent) : cellContent) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, renderTreeNodeExpandIcon(), renderCell ? renderCell(cellContent) : cellContent);
if (removed) {
return null;
}
return /*#__PURE__*/_react["default"].createElement("div", (0, _extends4["default"])({

@@ -180,3 +143,2 @@ ref: ref,

});
Cell.displayName = 'Table.Cell';

@@ -212,3 +174,2 @@ Cell.propTypes = {

};
var _default = Cell;
exports["default"] = _default;
var _default = exports["default"] = Cell;

@@ -0,46 +1,32 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireWildcard(require("react"));
var _utils = require("./utils");
var _TableContext = _interopRequireDefault(require("./TableContext"));
var _excluded = ["fixed", "width", "left", "height", "style", "classPrefix", "className", "children"];
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
var CellGroup = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var _withClassPrefix;
var fixed = props.fixed,
width = props.width,
left = props.left,
height = props.height,
style = props.style,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'cell-group' : _props$classPrefix,
className = props.className,
children = props.children,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
width = props.width,
left = props.left,
height = props.height,
style = props.style,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'cell-group' : _props$classPrefix,
className = props.className,
children = props.children,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
var _useContext = (0, _react.useContext)(_TableContext["default"]),
translateDOMPositionXY = _useContext.translateDOMPositionXY;
translateDOMPositionXY = _useContext.translateDOMPositionXY;
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix["fixed-" + fixed] = fixed, _withClassPrefix.scroll = !fixed, _withClassPrefix)));

@@ -58,5 +44,3 @@ var styles = (0, _extends2["default"])({

});
CellGroup.displayName = 'Table.CellGroup';
var _default = CellGroup;
exports["default"] = _default;
var _default = exports["default"] = CellGroup;

@@ -43,3 +43,3 @@ /// <reference types="react" />

width: PropTypes.Requireable<number>;
fixed: PropTypes.Requireable<string | boolean>;
fixed: PropTypes.Requireable<NonNullable<string | boolean | null | undefined>>;
resizable: PropTypes.Requireable<boolean>;

@@ -46,0 +46,0 @@ sortable: PropTypes.Requireable<boolean>;

@@ -0,11 +1,8 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = exports.columnHandledProps = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
// eslint-disable-next-line @typescript-eslint/no-unused-vars

@@ -15,3 +12,2 @@ function Column(_props) {

}
var propTypes = {

@@ -38,5 +34,3 @@ align: _propTypes["default"].oneOf(['left', 'center', 'right']),

Column.propTypes = propTypes;
var columnHandledProps = Object.keys(propTypes);
exports.columnHandledProps = columnHandledProps;
var _default = Column;
exports["default"] = _default;
var columnHandledProps = exports.columnHandledProps = Object.keys(propTypes);
var _default = exports["default"] = Column;

@@ -0,34 +1,26 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _utils = require("./utils");
var _excluded = ["header", "className", "children", "classPrefix", "headerHeight", "verticalAlign", "align", "width", "groupHeaderHeight"];
var ColumnGroup = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var header = props.header,
className = props.className,
children = props.children,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'column-group' : _props$classPrefix,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? 80 : _props$headerHeight,
verticalAlign = props.verticalAlign,
align = props.align,
width = props.width,
groupHeightProp = props.groupHeaderHeight,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
className = props.className,
children = props.children,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'column-group' : _props$classPrefix,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? 80 : _props$headerHeight,
verticalAlign = props.verticalAlign,
align = props.align,
width = props.width,
groupHeightProp = props.groupHeaderHeight,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
var groupHeight = typeof groupHeightProp !== 'undefined' ? groupHeightProp : headerHeight / 2;

@@ -40,8 +32,6 @@ var restHeight = typeof groupHeightProp !== 'undefined' ? headerHeight - groupHeightProp : headerHeight / 2;

};
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
var classes = merge(className, withClassPrefix());

@@ -76,3 +66,2 @@ var contentStyles = (0, _extends2["default"])({}, styles, {

});
ColumnGroup.displayName = 'Table.ColumnGroup';

@@ -85,3 +74,2 @@ ColumnGroup.propTypes = {

};
var _default = ColumnGroup;
exports["default"] = _default;
var _default = exports["default"] = ColumnGroup;
import React from 'react';
import type { StandardProps } from './@types/common';
export declare type FixedType = boolean | 'left' | 'right';
export type FixedType = boolean | 'left' | 'right';
export interface Client {

@@ -5,0 +5,0 @@ clientX?: number;

@@ -0,56 +1,39 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireWildcard(require("react"));
var _clamp = _interopRequireDefault(require("lodash/clamp"));
var _DOMMouseMoveTracker = _interopRequireDefault(require("dom-lib/DOMMouseMoveTracker"));
var _utils = require("./utils");
var _TableContext = _interopRequireDefault(require("./TableContext"));
var _constants = require("./constants");
var _excluded = ["columnLeft", "classPrefix", "height", "className", "style", "columnFixed", "defaultColumnWidth", "minWidth", "onColumnResizeStart", "onColumnResizeMove", "onColumnResizeEnd"];
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
var ColumnResizeHandler = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var _extends2;
var _props$columnLeft = props.columnLeft,
columnLeft = _props$columnLeft === void 0 ? 0 : _props$columnLeft,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'column-resize-spanner' : _props$classPrefix,
height = props.height,
className = props.className,
style = props.style,
columnFixed = props.columnFixed,
defaultColumnWidth = props.defaultColumnWidth,
minWidth = props.minWidth,
onColumnResizeStart = props.onColumnResizeStart,
onColumnResizeMove = props.onColumnResizeMove,
onColumnResizeEnd = props.onColumnResizeEnd,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
columnLeft = _props$columnLeft === void 0 ? 0 : _props$columnLeft,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'column-resize-spanner' : _props$classPrefix,
height = props.height,
className = props.className,
style = props.style,
columnFixed = props.columnFixed,
defaultColumnWidth = props.defaultColumnWidth,
minWidth = props.minWidth,
onColumnResizeStart = props.onColumnResizeStart,
onColumnResizeMove = props.onColumnResizeMove,
onColumnResizeEnd = props.onColumnResizeEnd,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
var _useContext = (0, _react.useContext)(_TableContext["default"]),
rtl = _useContext.rtl;
rtl = _useContext.rtl;
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
var classes = merge(className, withClassPrefix());

@@ -65,3 +48,2 @@ var columnWidth = (0, _react.useRef)(defaultColumnWidth || 0);

}
cursorDelta.current += deltaX;

@@ -73,3 +55,2 @@ columnWidth.current = (0, _clamp["default"])((defaultColumnWidth || 0) + (rtl ? -cursorDelta.current : cursorDelta.current), minWidth ? Math.max(minWidth, _constants.RESIZE_MIN_WIDTH) : _constants.RESIZE_MIN_WIDTH, 20000);

var _mouseMoveTracker$cur, _mouseMoveTracker$cur2;
isKeyDown.current = false;

@@ -98,3 +79,2 @@ onColumnResizeEnd === null || onColumnResizeEnd === void 0 ? void 0 : onColumnResizeEnd(columnWidth.current, cursorDelta.current);

var _mouseMoveTracker$cur3;
(_mouseMoveTracker$cur3 = mouseMoveTracker.current) === null || _mouseMoveTracker$cur3 === void 0 ? void 0 : _mouseMoveTracker$cur3.releaseMouseMoves();

@@ -104,7 +84,5 @@ mouseMoveTracker.current = null;

}, []);
if (columnFixed === 'right') {
return null;
}
var styles = (0, _extends3["default"])((_extends2 = {}, _extends2[rtl ? 'right' : 'left'] = columnWidth.current + columnLeft - 2, _extends2.height = height, _extends2), style);

@@ -121,5 +99,3 @@ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends3["default"])({

});
ColumnResizeHandler.displayName = 'Table.ColumnResizeHandler';
var _default = ColumnResizeHandler;
exports["default"] = _default;
var _default = exports["default"] = ColumnResizeHandler;

@@ -0,1 +1,2 @@

'use client';
"use strict";

@@ -5,36 +6,27 @@

exports.TREE_DEPTH = exports.TRANSITION_DURATION = exports.SORT_TYPE = exports.SCROLLBAR_WIDTH = exports.SCROLLBAR_MIN_WIDTH = exports.ROW_HEIGHT = exports.ROW_HEADER_HEIGHT = exports.RESIZE_MIN_WIDTH = exports.PARENT_KEY = exports.LAYER_WIDTH = exports.EXPANDED_KEY = exports.CELL_PADDING_HEIGHT = exports.BEZIER = void 0;
var LAYER_WIDTH = 30;
exports.LAYER_WIDTH = LAYER_WIDTH;
var SCROLLBAR_MIN_WIDTH = 14;
exports.SCROLLBAR_MIN_WIDTH = SCROLLBAR_MIN_WIDTH;
var SCROLLBAR_WIDTH = 10;
exports.SCROLLBAR_WIDTH = SCROLLBAR_WIDTH;
var CELL_PADDING_HEIGHT = 26;
exports.CELL_PADDING_HEIGHT = CELL_PADDING_HEIGHT;
var RESIZE_MIN_WIDTH = 20;
exports.RESIZE_MIN_WIDTH = RESIZE_MIN_WIDTH;
var SORT_TYPE = {
var LAYER_WIDTH = exports.LAYER_WIDTH = 30;
var SCROLLBAR_MIN_WIDTH = exports.SCROLLBAR_MIN_WIDTH = 14;
var SCROLLBAR_WIDTH = exports.SCROLLBAR_WIDTH = 10;
var CELL_PADDING_HEIGHT = exports.CELL_PADDING_HEIGHT = 26;
var RESIZE_MIN_WIDTH = exports.RESIZE_MIN_WIDTH = 20;
var SORT_TYPE = exports.SORT_TYPE = {
DESC: 'desc',
ASC: 'asc'
};
exports.SORT_TYPE = SORT_TYPE;
var ROW_HEIGHT = 46;
exports.ROW_HEIGHT = ROW_HEIGHT;
var ROW_HEADER_HEIGHT = 40; // transition-duration (ms)
var ROW_HEIGHT = exports.ROW_HEIGHT = 46;
var ROW_HEADER_HEIGHT = exports.ROW_HEADER_HEIGHT = 40;
exports.ROW_HEADER_HEIGHT = ROW_HEADER_HEIGHT;
var TRANSITION_DURATION = 1000; // transition-timing-function (ease-out)
// transition-duration (ms)
var TRANSITION_DURATION = exports.TRANSITION_DURATION = 1000;
// transition-timing-function (ease-out)
var BEZIER = exports.BEZIER = 'cubic-bezier(0, 0, .58, 1)';
exports.TRANSITION_DURATION = TRANSITION_DURATION;
var BEZIER = 'cubic-bezier(0, 0, .58, 1)'; // An attribute value added to the data row to identify whether it is expanded, used in Tree.
// An attribute value added to the data row to identify whether it is expanded, used in Tree.
var EXPANDED_KEY = exports.EXPANDED_KEY = Symbol('expanded');
exports.BEZIER = BEZIER;
var EXPANDED_KEY = Symbol('expanded'); // An attribute value added for the data row, identifying the key of the parent node, used in Tree.
// An attribute value added for the data row, identifying the key of the parent node, used in Tree.
var PARENT_KEY = exports.PARENT_KEY = Symbol('parent');
exports.EXPANDED_KEY = EXPANDED_KEY;
var PARENT_KEY = Symbol('parent'); // The attribute value added for the data row, which identifies the depth of the node (the number of parent nodes),
// The attribute value added for the data row, which identifies the depth of the node (the number of parent nodes),
// and is used in the Tree.
exports.PARENT_KEY = PARENT_KEY;
var TREE_DEPTH = Symbol('treeDepth');
exports.TREE_DEPTH = TREE_DEPTH;
var TREE_DEPTH = exports.TREE_DEPTH = Symbol('treeDepth');

@@ -0,21 +1,16 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var EmptyMessage = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var addPrefix = props.addPrefix,
locale = props.locale,
renderEmpty = props.renderEmpty,
loading = props.loading;
locale = props.locale,
renderEmpty = props.renderEmpty,
loading = props.loading;
if (loading) {
return null;
}
var emptyMessage = /*#__PURE__*/_react["default"].createElement("div", {

@@ -25,8 +20,5 @@ ref: ref,

}, locale === null || locale === void 0 ? void 0 : locale.emptyMessage);
return renderEmpty ? renderEmpty(emptyMessage) : emptyMessage;
});
EmptyMessage.displayName = 'Table.EmptyMessage';
var _default = EmptyMessage;
exports["default"] = _default;
var _default = exports["default"] = EmptyMessage;

@@ -0,39 +1,22 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var _isNil = _interopRequireDefault(require("lodash/isNil"));
var _Sort = _interopRequireDefault(require("@rsuite/icons/Sort"));
var _SortUp = _interopRequireDefault(require("@rsuite/icons/SortUp"));
var _SortDown = _interopRequireDefault(require("@rsuite/icons/SortDown"));
var _ColumnResizeHandler = _interopRequireDefault(require("./ColumnResizeHandler"));
var _utils = require("./utils");
var _Cell = _interopRequireDefault(require("./Cell"));
var _excluded = ["className", "classPrefix", "width", "dataKey", "headerHeight", "children", "left", "sortable", "sortColumn", "sortType", "groupHeader", "resizable", "fixed", "minWidth", "index", "flexGrow", "align", "verticalAlign", "onColumnResizeEnd", "onResize", "onColumnResizeStart", "onColumnResizeMove", "onSortColumn", "renderSortIcon"];
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
var SORTED_ICON = {

@@ -43,44 +26,39 @@ desc: _SortDown["default"],

};
var HeaderCell = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var className = props.className,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'cell-header' : _props$classPrefix,
width = props.width,
dataKey = props.dataKey,
headerHeight = props.headerHeight,
children = props.children,
left = props.left,
sortable = props.sortable,
sortColumn = props.sortColumn,
sortType = props.sortType,
groupHeader = props.groupHeader,
resizable = props.resizable,
fixed = props.fixed,
minWidth = props.minWidth,
index = props.index,
flexGrow = props.flexGrow,
align = props.align,
verticalAlign = props.verticalAlign,
onColumnResizeEnd = props.onColumnResizeEnd,
onResize = props.onResize,
onColumnResizeStart = props.onColumnResizeStart,
onColumnResizeMove = props.onColumnResizeMove,
onSortColumn = props.onSortColumn,
renderSortIcon = props.renderSortIcon,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'cell-header' : _props$classPrefix,
width = props.width,
dataKey = props.dataKey,
headerHeight = props.headerHeight,
children = props.children,
left = props.left,
sortable = props.sortable,
sortColumn = props.sortColumn,
sortType = props.sortType,
groupHeader = props.groupHeader,
resizable = props.resizable,
fixed = props.fixed,
minWidth = props.minWidth,
index = props.index,
flexGrow = props.flexGrow,
align = props.align,
verticalAlign = props.verticalAlign,
onColumnResizeEnd = props.onColumnResizeEnd,
onResize = props.onResize,
onColumnResizeStart = props.onColumnResizeStart,
onColumnResizeMove = props.onColumnResizeMove,
onSortColumn = props.onSortColumn,
renderSortIcon = props.renderSortIcon,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
var _useState = (0, _react.useState)((0, _isNil["default"])(flexGrow) ? width : 0),
columnWidth = _useState[0],
setColumnWidth = _useState[1];
columnWidth = _useState[0],
setColumnWidth = _useState[1];
(0, _utils.useUpdateEffect)(function () {
setColumnWidth((0, _isNil["default"])(flexGrow) ? width : 0);
}, [flexGrow, width]);
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
var classes = merge(className, withClassPrefix({

@@ -90,6 +68,4 @@ sortable: sortable

var ariaSort;
if (sortColumn === dataKey) {
ariaSort = 'other';
if (sortType === 'asc') {

@@ -101,3 +77,2 @@ ariaSort = 'ascending';

}
var handleClick = (0, _react.useCallback)(function () {

@@ -116,7 +91,5 @@ if (sortable) {

}, [dataKey, index, onColumnResizeEnd, onResize]);
var renderSortColumn = function renderSortColumn() {
if (sortable && !groupHeader) {
var _classNames;
var SortIcon = sortColumn === dataKey && sortType ? SORTED_ICON[sortType] : _Sort["default"];

@@ -131,6 +104,4 @@ var iconClasses = (0, _classnames["default"])(prefix('icon-sort'), (_classNames = {}, _classNames[prefix("icon-sort-" + sortType)] = sortColumn === dataKey, _classNames));

}
return null;
};
return /*#__PURE__*/_react["default"].createElement("div", {

@@ -162,3 +133,2 @@ ref: ref,

});
HeaderCell.displayName = 'HeaderCell';

@@ -182,3 +152,2 @@ HeaderCell.propTypes = {

};
var _default = HeaderCell;
exports["default"] = _default;
var _default = exports["default"] = HeaderCell;

@@ -0,26 +1,16 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.Table = exports.HeaderCell = exports.ColumnGroup = exports.Column = exports.Cell = void 0;
var _Table = _interopRequireDefault(require("./Table"));
exports.Table = _Table["default"];
var _Column = _interopRequireDefault(require("./Column"));
exports.Column = _Column["default"];
var _Cell = _interopRequireDefault(require("./Cell"));
exports.Cell = _Cell["default"];
var _HeaderCell = _interopRequireDefault(require("./HeaderCell"));
exports.HeaderCell = _HeaderCell["default"];
var _ColumnGroup = _interopRequireDefault(require("./ColumnGroup"));
exports.ColumnGroup = _ColumnGroup["default"];

@@ -0,18 +1,14 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var Loader = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var loadAnimation = props.loadAnimation,
loading = props.loading,
locale = props.locale,
addPrefix = props.addPrefix,
renderLoading = props.renderLoading;
loading = props.loading,
locale = props.locale,
addPrefix = props.addPrefix,
renderLoading = props.renderLoading;
var loadingElement = /*#__PURE__*/_react["default"].createElement("div", {

@@ -27,16 +23,14 @@ ref: ref,

className: addPrefix('loader-text')
}, locale === null || locale === void 0 ? void 0 : locale.loading))); // Custom render a loader
}, locale === null || locale === void 0 ? void 0 : locale.loading)));
// Custom render a loader
if (typeof renderLoading === 'function') {
return loading ? renderLoading(loadingElement) : null;
} // If loadAnimation is true , it returns the DOM element,
}
// If loadAnimation is true , it returns the DOM element,
// and controls whether the loader is displayed through CSS to achieve animation effect.
return loading || loadAnimation ? loadingElement : null;
});
Loader.displayName = 'Table.Loader';
var _default = Loader;
exports["default"] = _default;
var _default = exports["default"] = Loader;

@@ -0,15 +1,12 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var MouseArea = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var addPrefix = props.addPrefix,
headerHeight = props.headerHeight,
height = props.height;
headerHeight = props.headerHeight,
height = props.height;
var styles = {

@@ -29,5 +26,3 @@ height: height

});
MouseArea.displayName = 'Table.MouseArea';
var _default = MouseArea;
exports["default"] = _default;
var _default = exports["default"] = MouseArea;

@@ -0,51 +1,37 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireWildcard(require("react"));
var _utils = require("./utils");
var _TableContext = _interopRequireDefault(require("./TableContext"));
var _constants = require("./constants");
var _excluded = ["classPrefix", "height", "headerHeight", "className", "width", "top", "style", "isHeaderRow", "rowRef", "children", "rowSpan"];
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
var Row = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var _props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'row' : _props$classPrefix,
_props$height = props.height,
height = _props$height === void 0 ? _constants.ROW_HEIGHT : _props$height,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? _constants.ROW_HEADER_HEIGHT : _props$headerHeight,
className = props.className,
width = props.width,
top = props.top,
style = props.style,
isHeaderRow = props.isHeaderRow,
rowRef = props.rowRef,
children = props.children,
rowSpan = props.rowSpan,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
classPrefix = _props$classPrefix === void 0 ? 'row' : _props$classPrefix,
_props$height = props.height,
height = _props$height === void 0 ? _constants.ROW_HEIGHT : _props$height,
_props$headerHeight = props.headerHeight,
headerHeight = _props$headerHeight === void 0 ? _constants.ROW_HEADER_HEIGHT : _props$headerHeight,
className = props.className,
width = props.width,
top = props.top,
style = props.style,
isHeaderRow = props.isHeaderRow,
rowRef = props.rowRef,
children = props.children,
rowSpan = props.rowSpan,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
var _useContext = (0, _react.useContext)(_TableContext["default"]),
translateDOMPositionXY = _useContext.translateDOMPositionXY;
translateDOMPositionXY = _useContext.translateDOMPositionXY;
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge;
var classes = merge(className, withClassPrefix({

@@ -68,5 +54,3 @@ header: isHeaderRow,

});
Row.displayName = 'Table.Row';
var _default = Row;
exports["default"] = _default;
var _default = exports["default"] = Row;

@@ -0,63 +1,44 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireWildcard(require("react"));
var _DOMMouseMoveTracker = _interopRequireDefault(require("dom-lib/DOMMouseMoveTracker"));
var _addStyle = _interopRequireDefault(require("dom-lib/addStyle"));
var _getOffset = _interopRequireDefault(require("dom-lib/getOffset"));
var _constants = require("./constants");
var _utils = require("./utils");
var _TableContext = _interopRequireDefault(require("./TableContext"));
var _excluded = ["length", "scrollLength", "classPrefix", "vertical", "className", "tableId", "onMouseDown", "onScroll"];
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
var Scrollbar = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var _barRef$current, _styles;
var _props$length = props.length,
length = _props$length === void 0 ? 1 : _props$length,
_props$scrollLength = props.scrollLength,
scrollLength = _props$scrollLength === void 0 ? 1 : _props$scrollLength,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'scrollbar' : _props$classPrefix,
vertical = props.vertical,
className = props.className,
tableId = props.tableId,
onMouseDown = props.onMouseDown,
onScroll = props.onScroll,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
length = _props$length === void 0 ? 1 : _props$length,
_props$scrollLength = props.scrollLength,
scrollLength = _props$scrollLength === void 0 ? 1 : _props$scrollLength,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'scrollbar' : _props$classPrefix,
vertical = props.vertical,
className = props.className,
tableId = props.tableId,
onMouseDown = props.onMouseDown,
onScroll = props.onScroll,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
var _React$useContext = _react["default"].useContext(_TableContext["default"]),
translateDOMPositionXY = _React$useContext.translateDOMPositionXY;
translateDOMPositionXY = _React$useContext.translateDOMPositionXY;
var _useState = (0, _react.useState)(false),
handlePressed = _useState[0],
setHandlePressed = _useState[1];
handlePressed = _useState[0],
setHandlePressed = _useState[1];
var _useState2 = (0, _react.useState)({
top: 0,
left: 0
}),
barOffset = _useState2[0],
setBarOffset = _useState2[1];
top: 0,
left: 0
}),
barOffset = _useState2[0],
setBarOffset = _useState2[1];
var scrollOffset = (0, _react.useRef)(0);

@@ -68,8 +49,6 @@ var scrollRange = (0, _react.useRef)(scrollLength);

var mouseMoveTracker = (0, _react.useRef)();
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
withClassPrefix = _useClassNames.withClassPrefix,
merge = _useClassNames.merge,
prefix = _useClassNames.prefix;
var classes = merge(className, withClassPrefix({

@@ -79,3 +58,4 @@ vertical: vertical,

pressed: handlePressed
}), // keep the 'fixed' class name if it has already been given by useAffix hook
}),
// keep the 'fixed' class name if it has already been given by useAffix hook
((_barRef$current = barRef.current) === null || _barRef$current === void 0 ? void 0 : _barRef$current.classList.contains('fixed')) && 'fixed');

@@ -101,3 +81,2 @@ var width = length / scrollLength * 100;

}
scrollRange.current = scrollLength;

@@ -110,7 +89,5 @@ }, [scrollLength]);

},
get handle() {
return handleRef.current;
},
onWheelScroll: function onWheelScroll(delta, momentum) {

@@ -124,3 +101,2 @@ var nextDelta = delta / (scrollLength / length);

}
scrollOffset.current = 0;

@@ -137,3 +113,2 @@ updateScrollBarPosition(0, forceDelta);

} : {};
var getSafeValue = function getSafeValue(value) {

@@ -143,6 +118,4 @@ if (value === void 0) {

}
return Math.min(Math.max(value, 0), max);
};
if (typeof forceDelta === 'undefined') {

@@ -154,3 +127,2 @@ scrollOffset.current += delta;

}
if (vertical) {

@@ -161,3 +133,2 @@ translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, 0, scrollOffset.current);

}
if (handleRef.current) {

@@ -174,11 +145,8 @@ (0, _addStyle["default"])(handleRef.current, styles);

var _handleRef$current;
if (handleRef.current && (_handleRef$current = handleRef.current) !== null && _handleRef$current !== void 0 && _handleRef$current.contains(event.target)) {
return;
}
if (typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) !== 'number' || typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.left) !== 'number') {
return;
}
var offset = vertical ? event.pageY - (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) : event.pageX - barOffset.left;

@@ -192,3 +160,2 @@ var handleWidth = length / scrollLength * length;

var _mouseMoveTracker$cur, _mouseMoveTracker$cur2;
(_mouseMoveTracker$cur = mouseMoveTracker.current) === null || _mouseMoveTracker$cur === void 0 ? void 0 : (_mouseMoveTracker$cur2 = _mouseMoveTracker$cur.releaseMouseMoves) === null || _mouseMoveTracker$cur2 === void 0 ? void 0 : _mouseMoveTracker$cur2.call(_mouseMoveTracker$cur);

@@ -199,7 +166,5 @@ mouseMoveTracker.current = null;

var _window, _window$event;
if (!mouseMoveTracker.current || !mouseMoveTracker.current.isDragging()) {
return;
}
if ((event === null || event === void 0 ? void 0 : event.buttons) === 0 || ((_window = window) === null || _window === void 0 ? void 0 : (_window$event = _window.event) === null || _window$event === void 0 ? void 0 : _window$event['buttons']) === 0) {

@@ -209,3 +174,2 @@ releaseMouseMoves();

}
handleScroll(vertical ? deltaY : deltaX, event);

@@ -222,3 +186,2 @@ }, [handleScroll, releaseMouseMoves, vertical]);

var _mouseMoveTracker$cur3;
mouseMoveTracker.current = getMouseMoveTracker();

@@ -249,5 +212,3 @@ mouseMoveTracker === null || mouseMoveTracker === void 0 ? void 0 : (_mouseMoveTracker$cur3 = mouseMoveTracker.current) === null || _mouseMoveTracker$cur3 === void 0 ? void 0 : _mouseMoveTracker$cur3.captureMouseMoves(event);

});
Scrollbar.displayName = 'Table.Scrollbar';
var _default = Scrollbar;
exports["default"] = _default;
var _default = exports["default"] = Scrollbar;

@@ -0,51 +1,29 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireWildcard(require("react"));
var _translateDOMPositionXY = require("dom-lib/translateDOMPositionXY");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
var _flatten = _interopRequireDefault(require("lodash/flatten"));
var _debounce = _interopRequireDefault(require("lodash/debounce"));
var _Row = _interopRequireDefault(require("./Row"));
var _CellGroup = _interopRequireDefault(require("./CellGroup"));
var _Scrollbar = _interopRequireDefault(require("./Scrollbar"));
var _MouseArea = _interopRequireDefault(require("./MouseArea"));
var _Loader = _interopRequireDefault(require("./Loader"));
var _EmptyMessage = _interopRequireDefault(require("./EmptyMessage"));
var _TableContext = _interopRequireDefault(require("./TableContext"));
var _constants = require("./constants");
var _utils = require("./utils");
var _excluded = ["affixHeader", "children", "classPrefix", "className", "data", "defaultSortType", "width", "expandedRowKeys", "defaultExpandAllRows", "defaultExpandedRowKeys", "style", "id", "isTree", "hover", "bordered", "cellBordered", "wordWrap", "loading", "locale", "showHeader", "sortColumn", "rowHeight", "sortType", "headerHeight", "minHeight", "height", "autoHeight", "fillHeight", "rtl", "translate3d", "rowKey", "virtualized", "rowClassName", "rowExpandedHeight", "disabledScroll", "affixHorizontalScrollbar", "loadAnimation", "shouldUpdateScroll", "renderRow", "renderRowExpanded", "renderLoading", "renderEmpty", "onSortColumn", "onScroll", "renderTreeToggle", "onRowClick", "onRowContextMenu", "onExpandChange", "onTouchStart", "onTouchMove", "onTouchEnd"],
_excluded2 = ["depth", "rowIndex"],
_excluded3 = ["cellHeight"];
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
_excluded2 = ["depth", "rowIndex"],
_excluded3 = ["cellHeight"];
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
/**

@@ -62,7 +40,6 @@ * Filter those expanded nodes.

var parents = (0, _utils.findAllParents)(rowData, rowKey);
var _expanded = (0, _utils.shouldShowRowByExpanded)(expandedRowKeys, parents);
var _expanded = (0, _utils.shouldShowRowByExpanded)(expandedRowKeys, parents); // FIXME This function is supposed to be pure.
// FIXME This function is supposed to be pure.
// Don't mutate rowData in-place!
rowData[_constants.EXPANDED_KEY] = _expanded;

@@ -74,95 +51,89 @@ rowData[_constants.TREE_DEPTH] = parents.length;

};
var DATA_PLACEHOLDER = [];
var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
var affixHeader = props.affixHeader,
children = props.children,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'rs-table' : _props$classPrefix,
className = props.className,
_props$data = props.data,
dataProp = _props$data === void 0 ? DATA_PLACEHOLDER : _props$data,
_props$defaultSortTyp = props.defaultSortType,
defaultSortType = _props$defaultSortTyp === void 0 ? _constants.SORT_TYPE.DESC : _props$defaultSortTyp,
widthProp = props.width,
expandedRowKeysProp = props.expandedRowKeys,
defaultExpandAllRows = props.defaultExpandAllRows,
defaultExpandedRowKeys = props.defaultExpandedRowKeys,
style = props.style,
id = props.id,
isTree = props.isTree,
_props$hover = props.hover,
hover = _props$hover === void 0 ? true : _props$hover,
bordered = props.bordered,
cellBordered = props.cellBordered,
wordWrap = props.wordWrap,
loading = props.loading,
_props$locale = props.locale,
locale = _props$locale === void 0 ? {
emptyMessage: 'No data found',
loading: 'Loading...'
} : _props$locale,
_props$showHeader = props.showHeader,
showHeader = _props$showHeader === void 0 ? true : _props$showHeader,
sortColumn = props.sortColumn,
_props$rowHeight = props.rowHeight,
rowHeight = _props$rowHeight === void 0 ? _constants.ROW_HEIGHT : _props$rowHeight,
sortTypeProp = props.sortType,
_props$headerHeight = props.headerHeight,
headerHeightProp = _props$headerHeight === void 0 ? _constants.ROW_HEADER_HEIGHT : _props$headerHeight,
_props$minHeight = props.minHeight,
minHeight = _props$minHeight === void 0 ? 0 : _props$minHeight,
_props$height = props.height,
height = _props$height === void 0 ? 200 : _props$height,
autoHeight = props.autoHeight,
fillHeight = props.fillHeight,
rtlProp = props.rtl,
translate3d = props.translate3d,
rowKey = props.rowKey,
virtualized = props.virtualized,
rowClassName = props.rowClassName,
_props$rowExpandedHei = props.rowExpandedHeight,
rowExpandedHeight = _props$rowExpandedHei === void 0 ? 100 : _props$rowExpandedHei,
disabledScroll = props.disabledScroll,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
loadAnimation = props.loadAnimation,
_props$shouldUpdateSc = props.shouldUpdateScroll,
shouldUpdateScroll = _props$shouldUpdateSc === void 0 ? true : _props$shouldUpdateSc,
renderRowProp = props.renderRow,
renderRowExpandedProp = props.renderRowExpanded,
renderLoading = props.renderLoading,
renderEmpty = props.renderEmpty,
onSortColumn = props.onSortColumn,
onScroll = props.onScroll,
renderTreeToggle = props.renderTreeToggle,
onRowClick = props.onRowClick,
onRowContextMenu = props.onRowContextMenu,
onExpandChange = props.onExpandChange,
onTouchStart = props.onTouchStart,
onTouchMove = props.onTouchMove,
onTouchEnd = props.onTouchEnd,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
children = props.children,
_props$classPrefix = props.classPrefix,
classPrefix = _props$classPrefix === void 0 ? 'rs-table' : _props$classPrefix,
className = props.className,
_props$data = props.data,
dataProp = _props$data === void 0 ? DATA_PLACEHOLDER : _props$data,
_props$defaultSortTyp = props.defaultSortType,
defaultSortType = _props$defaultSortTyp === void 0 ? _constants.SORT_TYPE.DESC : _props$defaultSortTyp,
widthProp = props.width,
expandedRowKeysProp = props.expandedRowKeys,
defaultExpandAllRows = props.defaultExpandAllRows,
defaultExpandedRowKeys = props.defaultExpandedRowKeys,
style = props.style,
id = props.id,
isTree = props.isTree,
_props$hover = props.hover,
hover = _props$hover === void 0 ? true : _props$hover,
bordered = props.bordered,
cellBordered = props.cellBordered,
wordWrap = props.wordWrap,
loading = props.loading,
_props$locale = props.locale,
locale = _props$locale === void 0 ? {
emptyMessage: 'No data found',
loading: 'Loading...'
} : _props$locale,
_props$showHeader = props.showHeader,
showHeader = _props$showHeader === void 0 ? true : _props$showHeader,
sortColumn = props.sortColumn,
_props$rowHeight = props.rowHeight,
rowHeight = _props$rowHeight === void 0 ? _constants.ROW_HEIGHT : _props$rowHeight,
sortTypeProp = props.sortType,
_props$headerHeight = props.headerHeight,
headerHeightProp = _props$headerHeight === void 0 ? _constants.ROW_HEADER_HEIGHT : _props$headerHeight,
_props$minHeight = props.minHeight,
minHeight = _props$minHeight === void 0 ? 0 : _props$minHeight,
_props$height = props.height,
height = _props$height === void 0 ? 200 : _props$height,
autoHeight = props.autoHeight,
fillHeight = props.fillHeight,
rtlProp = props.rtl,
translate3d = props.translate3d,
rowKey = props.rowKey,
virtualized = props.virtualized,
rowClassName = props.rowClassName,
_props$rowExpandedHei = props.rowExpandedHeight,
rowExpandedHeight = _props$rowExpandedHei === void 0 ? 100 : _props$rowExpandedHei,
disabledScroll = props.disabledScroll,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
loadAnimation = props.loadAnimation,
_props$shouldUpdateSc = props.shouldUpdateScroll,
shouldUpdateScroll = _props$shouldUpdateSc === void 0 ? true : _props$shouldUpdateSc,
renderRowProp = props.renderRow,
renderRowExpandedProp = props.renderRowExpanded,
renderLoading = props.renderLoading,
renderEmpty = props.renderEmpty,
onSortColumn = props.onSortColumn,
onScroll = props.onScroll,
renderTreeToggle = props.renderTreeToggle,
onRowClick = props.onRowClick,
onRowContextMenu = props.onRowContextMenu,
onExpandChange = props.onExpandChange,
onTouchStart = props.onTouchStart,
onTouchMove = props.onTouchMove,
onTouchEnd = props.onTouchEnd,
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
var _useClassNames = (0, _utils.useClassNames)(classPrefix, typeof classPrefix !== 'undefined'),
withClassPrefix = _useClassNames.withClassPrefix,
mergeCls = _useClassNames.merge,
prefix = _useClassNames.prefix; // Use `forceUpdate` to force the component to re-render after manipulating the DOM.
withClassPrefix = _useClassNames.withClassPrefix,
mergeCls = _useClassNames.merge,
prefix = _useClassNames.prefix;
// Use `forceUpdate` to force the component to re-render after manipulating the DOM.
var _useReducer = (0, _react.useReducer)(function (x) {
return x + 1;
}, 0),
forceUpdate = _useReducer[1];
return x + 1;
}, 0),
forceUpdate = _useReducer[1];
var _useControlled = (0, _utils.useControlled)(expandedRowKeysProp, defaultExpandAllRows ? (0, _utils.findRowKeys)(dataProp, rowKey, (0, _isFunction["default"])(renderRowExpandedProp)) : defaultExpandedRowKeys || []),
expandedRowKeys = _useControlled[0],
setExpandedRowKeys = _useControlled[1];
expandedRowKeys = _useControlled[0],
setExpandedRowKeys = _useControlled[1];
var _useState = (0, _react.useState)(function () {
return isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp;
}),
data = _useState[0],
setData = _useState[1];
return isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp;
}),
data = _useState[0],
setData = _useState[1];
if (isTree) {

@@ -177,33 +148,29 @@ if (!rowKey) {

}
var _useTableRows = (0, _utils.useTableRows)({
data: dataProp,
expandedRowKeys: expandedRowKeys,
wordWrap: wordWrap,
prefix: prefix
}),
tableRowsMaxHeight = _useTableRows.tableRowsMaxHeight,
bindTableRowsRef = _useTableRows.bindTableRowsRef;
data: dataProp,
expandedRowKeys: expandedRowKeys,
wordWrap: wordWrap,
prefix: prefix
}),
tableRowsMaxHeight = _useTableRows.tableRowsMaxHeight,
bindTableRowsRef = _useTableRows.bindTableRowsRef;
var headerHeight = showHeader ? headerHeightProp : 0;
var rtl = rtlProp || (0, _utils.isRTL)();
var getRowHeight = function getRowHeight() {
return typeof rowHeight === 'function' ? rowHeight() : rowHeight;
};
var translateDOMPositionXY = (0, _react.useRef)((0, _translateDOMPositionXY.getTranslateDOMPositionXY)({
forceUseTransform: true,
enable3DTransform: translate3d
})); // Check for the existence of fixed columns in all column properties.
}));
// Check for the existence of fixed columns in all column properties.
var shouldFixedColumn = Array.from((0, _flatten["default"])(children)).some(function (child) {
var _child$props;
return child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.fixed;
}); // Check all column properties for the existence of rowSpan.
});
// Check all column properties for the existence of rowSpan.
var shouldRowSpanColumn = Array.from((0, _flatten["default"])(children)).some(function (child) {
var _child$props2;
return child === null || child === void 0 ? void 0 : (_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.rowSpan;

@@ -221,9 +188,8 @@ });

var scrollbarYRef = (0, _react.useRef)(null);
var handleTableResizeChange = function handleTableResizeChange(_prevSize, event) {
forceUpdate();
/**
* Reset the position of the scroll bar after the table size changes.
*/
if (typeof shouldUpdateScroll === 'function') {

@@ -235,3 +201,2 @@ onScrollTo(shouldUpdateScroll(event));

}
if (event === 'bodyWidthChanged') {

@@ -241,41 +206,39 @@ deferUpdatePosition();

};
var _useTableDimension = (0, _utils.useTableDimension)({
// The data should be flattened,
// otherwise the array length required to calculate the scroll height in the TreeTable is not real.
data: data,
width: widthProp,
rowHeight: rowHeight,
tableRef: tableRef,
headerWrapperRef: headerWrapperRef,
prefix: prefix,
affixHeader: affixHeader,
affixHorizontalScrollbar: affixHorizontalScrollbar,
headerHeight: headerHeight,
height: height,
minHeight: minHeight,
autoHeight: autoHeight,
fillHeight: fillHeight,
children: children,
expandedRowKeys: expandedRowKeys,
showHeader: showHeader,
bordered: bordered,
onTableScroll: (0, _debounce["default"])(function (coords) {
return onScrollTo(coords);
}, 100),
onTableResizeChange: handleTableResizeChange
}),
contentHeight = _useTableDimension.contentHeight,
contentWidth = _useTableDimension.contentWidth,
minScrollY = _useTableDimension.minScrollY,
minScrollX = _useTableDimension.minScrollX,
scrollY = _useTableDimension.scrollY,
scrollX = _useTableDimension.scrollX,
tableWidth = _useTableDimension.tableWidth,
tableOffset = _useTableDimension.tableOffset,
headerOffset = _useTableDimension.headerOffset,
setScrollY = _useTableDimension.setScrollY,
setScrollX = _useTableDimension.setScrollX,
getTableHeight = _useTableDimension.getTableHeight;
// The data should be flattened,
// otherwise the array length required to calculate the scroll height in the TreeTable is not real.
data: data,
width: widthProp,
rowHeight: rowHeight,
tableRef: tableRef,
headerWrapperRef: headerWrapperRef,
prefix: prefix,
affixHeader: affixHeader,
affixHorizontalScrollbar: affixHorizontalScrollbar,
headerHeight: headerHeight,
height: height,
minHeight: minHeight,
autoHeight: autoHeight,
fillHeight: fillHeight,
children: children,
expandedRowKeys: expandedRowKeys,
showHeader: showHeader,
bordered: bordered,
onTableScroll: (0, _debounce["default"])(function (coords) {
return onScrollTo(coords);
}, 100),
onTableResizeChange: handleTableResizeChange
}),
contentHeight = _useTableDimension.contentHeight,
contentWidth = _useTableDimension.contentWidth,
minScrollY = _useTableDimension.minScrollY,
minScrollX = _useTableDimension.minScrollX,
scrollY = _useTableDimension.scrollY,
scrollX = _useTableDimension.scrollX,
tableWidth = _useTableDimension.tableWidth,
tableOffset = _useTableDimension.tableOffset,
headerOffset = _useTableDimension.headerOffset,
setScrollY = _useTableDimension.setScrollY,
setScrollX = _useTableDimension.setScrollX,
getTableHeight = _useTableDimension.getTableHeight;
(0, _utils.useAffix)({

@@ -292,85 +255,81 @@ getTableHeight: getTableHeight,

});
var _usePosition = (0, _utils.usePosition)({
data: dataProp,
height: height,
tableWidth: tableWidth,
tableRef: tableRef,
prefix: prefix,
translateDOMPositionXY: translateDOMPositionXY,
wheelWrapperRef: wheelWrapperRef,
headerWrapperRef: headerWrapperRef,
affixHeaderWrapperRef: affixHeaderWrapperRef,
tableHeaderRef: tableHeaderRef,
scrollX: scrollX,
scrollY: scrollY,
contentWidth: contentWidth,
shouldFixedColumn: shouldFixedColumn
}),
forceUpdatePosition = _usePosition.forceUpdatePosition,
deferUpdatePosition = _usePosition.deferUpdatePosition;
data: dataProp,
height: height,
tableWidth: tableWidth,
tableRef: tableRef,
prefix: prefix,
translateDOMPositionXY: translateDOMPositionXY,
wheelWrapperRef: wheelWrapperRef,
headerWrapperRef: headerWrapperRef,
affixHeaderWrapperRef: affixHeaderWrapperRef,
tableHeaderRef: tableHeaderRef,
scrollX: scrollX,
scrollY: scrollY,
contentWidth: contentWidth,
shouldFixedColumn: shouldFixedColumn
}),
forceUpdatePosition = _usePosition.forceUpdatePosition,
deferUpdatePosition = _usePosition.deferUpdatePosition;
var _useScrollListener = (0, _utils.useScrollListener)({
rtl: rtl,
data: dataProp,
height: height,
virtualized: virtualized,
getTableHeight: getTableHeight,
contentHeight: contentHeight,
headerHeight: headerHeight,
autoHeight: autoHeight,
tableBodyRef: tableBodyRef,
scrollbarXRef: scrollbarXRef,
scrollbarYRef: scrollbarYRef,
disabledScroll: disabledScroll,
loading: loading,
tableRef: tableRef,
contentWidth: contentWidth,
tableWidth: tableWidth,
scrollY: scrollY,
minScrollY: minScrollY,
minScrollX: minScrollX,
scrollX: scrollX,
setScrollX: setScrollX,
setScrollY: setScrollY,
forceUpdatePosition: forceUpdatePosition,
deferUpdatePosition: deferUpdatePosition,
onScroll: onScroll,
onTouchStart: onTouchStart,
onTouchMove: onTouchMove,
onTouchEnd: onTouchEnd
}),
isScrolling = _useScrollListener.isScrolling,
onScrollHorizontal = _useScrollListener.onScrollHorizontal,
onScrollVertical = _useScrollListener.onScrollVertical,
onScrollBody = _useScrollListener.onScrollBody,
onScrollTop = _useScrollListener.onScrollTop,
onScrollLeft = _useScrollListener.onScrollLeft,
onScrollTo = _useScrollListener.onScrollTo,
onScrollByKeydown = _useScrollListener.onScrollByKeydown;
rtl: rtl,
data: dataProp,
height: height,
virtualized: virtualized,
getTableHeight: getTableHeight,
contentHeight: contentHeight,
headerHeight: headerHeight,
autoHeight: autoHeight,
tableBodyRef: tableBodyRef,
scrollbarXRef: scrollbarXRef,
scrollbarYRef: scrollbarYRef,
disabledScroll: disabledScroll,
loading: loading,
tableRef: tableRef,
contentWidth: contentWidth,
tableWidth: tableWidth,
scrollY: scrollY,
minScrollY: minScrollY,
minScrollX: minScrollX,
scrollX: scrollX,
setScrollX: setScrollX,
setScrollY: setScrollY,
forceUpdatePosition: forceUpdatePosition,
deferUpdatePosition: deferUpdatePosition,
onScroll: onScroll,
onTouchStart: onTouchStart,
onTouchMove: onTouchMove,
onTouchEnd: onTouchEnd
}),
isScrolling = _useScrollListener.isScrolling,
onScrollHorizontal = _useScrollListener.onScrollHorizontal,
onScrollVertical = _useScrollListener.onScrollVertical,
onScrollBody = _useScrollListener.onScrollBody,
onScrollTop = _useScrollListener.onScrollTop,
onScrollLeft = _useScrollListener.onScrollLeft,
onScrollTo = _useScrollListener.onScrollTo,
onScrollByKeydown = _useScrollListener.onScrollByKeydown;
var _useCellDescriptor = (0, _utils.useCellDescriptor)({
children: children,
rtl: rtl,
mouseAreaRef: mouseAreaRef,
tableRef: tableRef,
minScrollX: minScrollX,
scrollX: scrollX,
tableWidth: tableWidth,
headerHeight: headerHeight,
showHeader: showHeader,
sortType: sortTypeProp,
defaultSortType: defaultSortType,
sortColumn: sortColumn,
prefix: prefix,
onSortColumn: onSortColumn,
// Force table update after column width change, so scrollbar re-renders.
onHeaderCellResize: forceUpdate,
rowHeight: rowHeight
}),
headerCells = _useCellDescriptor.headerCells,
bodyCells = _useCellDescriptor.bodyCells,
allColumnsWidth = _useCellDescriptor.allColumnsWidth,
hasCustomTreeCol = _useCellDescriptor.hasCustomTreeCol;
children: children,
rtl: rtl,
mouseAreaRef: mouseAreaRef,
tableRef: tableRef,
minScrollX: minScrollX,
scrollX: scrollX,
tableWidth: tableWidth,
headerHeight: headerHeight,
showHeader: showHeader,
sortType: sortTypeProp,
defaultSortType: defaultSortType,
sortColumn: sortColumn,
prefix: prefix,
onSortColumn: onSortColumn,
// Force table update after column width change, so scrollbar re-renders.
onHeaderCellResize: forceUpdate,
rowHeight: rowHeight
}),
headerCells = _useCellDescriptor.headerCells,
bodyCells = _useCellDescriptor.bodyCells,
allColumnsWidth = _useCellDescriptor.allColumnsWidth,
hasCustomTreeCol = _useCellDescriptor.hasCustomTreeCol;
var colCounts = (0, _react.useRef)((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0);

@@ -391,7 +350,5 @@ (0, _utils.useUpdateEffect)(function () {

},
get body() {
return wheelWrapperRef.current;
},
scrollTop: onScrollTop,

@@ -401,6 +358,8 @@ scrollLeft: onScrollLeft

});
var rowWidth = allColumnsWidth > tableWidth.current ? allColumnsWidth : tableWidth.current; // Whether to show vertical scroll bar
var rowWidth = allColumnsWidth > tableWidth.current ? allColumnsWidth : tableWidth.current;
var hasVerticalScrollbar = !autoHeight && contentHeight.current > getTableHeight() - headerHeight; // Whether to show the horizontal scroll bar
// Whether to show vertical scroll bar
var hasVerticalScrollbar = !autoHeight && contentHeight.current > getTableHeight() - headerHeight;
// Whether to show the horizontal scroll bar
var hasHorizontalScrollbar = contentWidth.current > tableWidth.current;

@@ -421,3 +380,2 @@ var classes = mergeCls(className, withClassPrefix({

var height = 0;
if (typeof rowExpandedHeight === 'function') {

@@ -428,7 +386,5 @@ height = rowExpandedHeight(rowData);

}
var styles = {
height: height
};
if (typeof renderRowExpandedProp === 'function') {

@@ -440,11 +396,8 @@ return /*#__PURE__*/_react["default"].createElement("div", {

}
return null;
}, [prefix, renderRowExpandedProp, rowExpandedHeight]);
var renderRow = function renderRow(props, cells, shouldRenderExpandedRow, rowData) {
var depth = props.depth,
rowIndex = props.rowIndex,
restRowProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded2);
rowIndex = props.rowIndex,
restRowProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded2);
if (typeof rowClassName === 'function') {

@@ -455,6 +408,4 @@ restRowProps.className = rowClassName(rowData, rowIndex);

}
var rowStyles = (0, _extends2["default"])({}, props === null || props === void 0 ? void 0 : props.style);
var rowRight = 0;
if (rtl && contentWidth.current > tableWidth.current) {

@@ -464,5 +415,5 @@ rowRight = tableWidth.current - contentWidth.current;

}
var rowNode = null;
var rowNode = null; // IF there are fixed columns, add a fixed group
// IF there are fixed columns, add a fixed group
if (shouldFixedColumn && contentWidth.current > tableWidth.current) {

@@ -474,11 +425,9 @@ var fixedLeftCells = [];

var fixedRightCellGroupWidth = 0;
for (var i = 0; i < cells.length; i++) {
var cell = cells[i];
var _cell$props = cell.props,
fixed = _cell$props.fixed,
width = _cell$props.width;
fixed = _cell$props.fixed,
width = _cell$props.width;
var isFixedStart = fixed === 'left' || fixed === true;
var isFixedEnd = fixed === 'right';
if (rtl) {

@@ -488,3 +437,2 @@ isFixedStart = fixed === 'right';

}
if (isFixedStart) {

@@ -500,7 +448,5 @@ fixedLeftCells.push(cell);

}
if (hasVerticalScrollbar && fixedRightCellGroupWidth) {
fixedRightCellGroupWidth += _constants.SCROLLBAR_WIDTH;
}
rowNode = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, fixedLeftCellGroupWidth ? /*#__PURE__*/_react["default"].createElement(_CellGroup["default"], {

@@ -526,3 +472,2 @@ fixed: "left",

}
return /*#__PURE__*/_react["default"].createElement(_Row["default"], (0, _extends2["default"])({}, restRowProps, {

@@ -533,3 +478,2 @@ "data-depth": depth,

};
var renderTableHeader = function renderTableHeader(headerCells, rowWidth) {

@@ -553,4 +497,5 @@ var top = typeof affixHeader === 'number' ? affixHeader : 0;

top: top
}; // Affix header
};
// Affix header
var header = /*#__PURE__*/_react["default"].createElement("div", {

@@ -561,3 +506,2 @@ className: prefix('affix-header'),

}, renderRow(rowProps, headerCells));
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, (affixHeader === 0 || affixHeader) && header, /*#__PURE__*/_react["default"].createElement("div", {

@@ -569,3 +513,2 @@ role: "rowgroup",

};
var shouldRenderExpandedRow = (0, _react.useCallback)(function (rowData) {

@@ -577,3 +520,2 @@ if ((0, _isFunction["default"])(renderRowExpandedProp) && !isTree && rowKey && expandedRowKeys.some(function (key) {

}
return false;

@@ -594,6 +536,4 @@ }, [expandedRowKeys, isTree, renderRowExpandedProp, rowKey]);

var nextExpandedRowKeys = [];
for (var i = 0; i < expandedRowKeys.length; i++) {
var key = expandedRowKeys[i];
if (key === treeRowKey) {

@@ -605,10 +545,9 @@ open = true;

}
if (!open) {
nextExpandedRowKeys.push(treeRowKey);
}
setExpandedRowKeys(nextExpandedRowKeys);
onExpandChange === null || onExpandChange === void 0 ? void 0 : onExpandChange(!open, rowData);
}, [expandedRowKeys, onExpandChange, setExpandedRowKeys]);
/**

@@ -618,5 +557,3 @@ * Records the status of merged rows.

*/
var rowSpanState = (0, _react.useRef)({});
var renderRowData = function renderRowData(bodyCells, rowData, props, shouldRenderExpandedRow) {

@@ -626,3 +563,3 @@ var hasChildren = isTree && rowData.children && Array.isArray(rowData.children);

var cellHeight = props.cellHeight,
restRowProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded3);
restRowProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded3);
var rowProps = (0, _extends2["default"])({}, restRowProps, {

@@ -639,16 +576,14 @@ key: nextRowKey,

var cells = [];
for (var i = 0; i < bodyCells.length; i++) {
var _cell$props2, _cell$props2$rowSpan, _rowSpanState$current, _cell$props3, _rowSpanState$current2;
var _cell$props2, _cell$props2$rowSpan, _cell$props3, _rowSpanState$current, _cell$props4, _rowSpanState$current2;
var cell = bodyCells[i];
var rowSpan = (_cell$props2 = cell.props) === null || _cell$props2 === void 0 ? void 0 : (_cell$props2$rowSpan = _cell$props2.rowSpan) === null || _cell$props2$rowSpan === void 0 ? void 0 : _cell$props2$rowSpan.call(_cell$props2, rowData);
var rowSpan = (_cell$props2 = cell.props) === null || _cell$props2 === void 0 ? void 0 : (_cell$props2$rowSpan = (_cell$props3 = _cell$props2).rowSpan) === null || _cell$props2$rowSpan === void 0 ? void 0 : _cell$props2$rowSpan.call(_cell$props3, rowData);
var dataCellHeight = rowSpan ? rowSpan * (cellHeight || _constants.ROW_HEIGHT) : cellHeight;
var _cellKey = cell.props.dataKey || i;
var _cellKey = cell.props.dataKey || i; // Record the cell state of the merged row
// Record the cell state of the merged row
if (((_rowSpanState$current = rowSpanState.current[_cellKey]) === null || _rowSpanState$current === void 0 ? void 0 : _rowSpanState$current[1]) > 0) {
rowSpanState.current[_cellKey][1] -= 1; // Restart counting when merged to the last cell.
rowSpanState.current[_cellKey][1] -= 1;
// Restart counting when merged to the last cell.
if (rowSpanState.current[_cellKey][1] === 0) {

@@ -658,3 +593,2 @@ rowSpanState.current[_cellKey][0] = 0;

}
if (rowSpan) {

@@ -667,6 +601,6 @@ // The state of the initial merged cell

};
} // Cells marked as deleted when checking for merged cell.
}
var removedCell = (_cell$props3 = cell.props) !== null && _cell$props3 !== void 0 && _cell$props3.rowSpan && !rowSpan && ((_rowSpanState$current2 = rowSpanState.current[_cellKey]) === null || _rowSpanState$current2 === void 0 ? void 0 : _rowSpanState$current2[0]) !== 0 ? true : false;
// Cells marked as deleted when checking for merged cell.
var removedCell = (_cell$props4 = cell.props) !== null && _cell$props4 !== void 0 && _cell$props4.rowSpan && !rowSpan && ((_rowSpanState$current2 = rowSpanState.current[_cellKey]) === null || _rowSpanState$current2 === void 0 ? void 0 : _rowSpanState$current2[0]) !== 0 ? true : false;
cells.push( /*#__PURE__*/_react["default"].cloneElement(cell, {

@@ -687,15 +621,10 @@ hasChildren: hasChildren,

}
return renderRow(rowProps, cells, shouldRenderExpandedRow, rowData);
};
var renderScrollbar = function renderScrollbar() {
var height = getTableHeight();
if (disabledScroll) {
return null;
}
var scrollbars = [];
if (hasHorizontalScrollbar) {

@@ -714,3 +643,2 @@ scrollbars.push( /*#__PURE__*/_react["default"].createElement(_Scrollbar["default"], {

}
if (hasVerticalScrollbar) {

@@ -727,9 +655,6 @@ scrollbars.push( /*#__PURE__*/_react["default"].createElement(_Scrollbar["default"], {

}
return scrollbars;
};
var renderTableBody = function renderTableBody(bodyCells, rowWidth) {
var _visibleRows$current;
var height = getTableHeight();

@@ -745,9 +670,6 @@ var bodyHeight = height - headerHeight;

visibleRows.current = [];
if (data) {
var _top = 0; // Row position
var minTop = Math.abs(scrollY.current);
var startHeight = 0;
if (typeof rowExpandedHeight === 'function') {

@@ -758,8 +680,8 @@ startHeight = data.length ? rowExpandedHeight(data[0]) : 100;

}
var maxTop = minTop + height + startHeight;
var isCustomRowHeight = typeof rowHeight === 'function';
var isUncertainHeight = !!renderRowExpandedProp || isCustomRowHeight || wordWrap; // If virtualized is enabled and the row height in the Table is variable,
var isUncertainHeight = !!renderRowExpandedProp || isCustomRowHeight || wordWrap;
// If virtualized is enabled and the row height in the Table is variable,
// you need to loop through the data to get the height of each row.
if (isUncertainHeight && virtualized || !virtualized) {

@@ -773,3 +695,2 @@ // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.

}
for (var index = 0; index < data.length; index++) {

@@ -781,3 +702,2 @@ var _rowData = data[index];

var cellHeight = 0;
if (typeof rowHeight === 'function') {

@@ -789,3 +709,2 @@ nextRowHeight = rowHeight(_rowData);

cellHeight = nextRowHeight;
if (expandedRow) {

@@ -800,3 +719,2 @@ // If the row is expanded, the height of the expanded row is added.

}
contentHeight += nextRowHeight;

@@ -813,3 +731,2 @@ var rowProps = {

_top += nextRowHeight;
if (virtualized && !wordWrap) {

@@ -824,3 +741,2 @@ if (_top + nextRowHeight < minTop) {

}
visibleRows.current.push(renderRowData(bodyCells, _rowData, rowProps, expandedRow));

@@ -830,10 +746,11 @@ }

/** virtualized */
// If the row height of the Table is fixed, it is directly calculated by the row height and the number of rows,
// thereby reducing the performance cost of traversing all data.
var _nextRowHeight = getRowHeight();
var startIndex = Math.max(Math.floor(minTop / _nextRowHeight), 0);
var endIndex = Math.min(startIndex + Math.ceil(bodyHeight / _nextRowHeight) + 5, data.length);
var startIndex = Math.max(Math.floor(minTop / _nextRowHeight), 0);
var endIndex = Math.min(startIndex + Math.ceil(bodyHeight / _nextRowHeight) + 5, data.length); // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.
// Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.
// So supplement the display data row.
if ((0, _utils.isSupportTouchEvent)()) {

@@ -844,7 +761,5 @@ var coveredCount = Math.floor(height / _nextRowHeight * 3);

}
contentHeight = data.length * _nextRowHeight;
topHideHeight = startIndex * _nextRowHeight;
bottomHideHeight = (data.length - endIndex) * _nextRowHeight;
for (var _index = startIndex; _index < endIndex; _index++) {

@@ -865,3 +780,2 @@ var _rowData2 = data[_index];

}
var wheelStyles = {

@@ -908,3 +822,2 @@ position: 'absolute',

};
var contextValue = _react["default"].useMemo(function () {

@@ -919,7 +832,7 @@ return {

}, [classPrefix, hasCustomTreeCol, isTree, rtl]);
return /*#__PURE__*/_react["default"].createElement(_TableContext["default"].Provider, {
value: contextValue
}, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
role: isTree ? 'treegrid' : 'grid' // The aria-rowcount is specified on the element with the table.
role: isTree ? 'treegrid' : 'grid'
// The aria-rowcount is specified on the element with the table.
// Its value is an integer equal to the total number of rows available, including header rows.

@@ -943,3 +856,2 @@ ,

});
Table.displayName = 'Table';

@@ -998,3 +910,2 @@ Table.propTypes = {

};
var _default = Table;
exports["default"] = _default;
var _default = exports["default"] = Table;
import React from 'react';
declare type TranslateDOMPositionXYCallback = (style: CSSStyleDeclaration, x?: number, y?: number) => void;
type TranslateDOMPositionXYCallback = (style: CSSStyleDeclaration, x?: number, y?: number) => void;
export interface TableContextProps {

@@ -4,0 +4,0 @@ rtl: boolean;

@@ -0,15 +1,10 @@

'use client';
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _translateDOMPositionXY = _interopRequireDefault(require("./utils/translateDOMPositionXY"));
var _isRTL = _interopRequireDefault(require("./utils/isRTL"));
var TableContext = /*#__PURE__*/_react["default"].createContext({

@@ -21,4 +16,2 @@ rtl: (0, _isRTL["default"])(),

});
var _default = TableContext;
exports["default"] = _default;
var _default = exports["default"] = TableContext;

@@ -0,17 +1,13 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _defer = _interopRequireDefault(require("lodash/defer"));
/**
* Defer callbacks to wait for DOM rendering to complete.
*/
var _default = function _default(callback) {
var _default = exports["default"] = function _default(callback) {
(0, _defer["default"])(callback, 'deferred');
};
exports["default"] = _default;
};

@@ -0,1 +1,2 @@

'use client';
"use strict";

@@ -5,5 +6,3 @@

exports["default"] = void 0;
var _constants = require("../constants");
/**

@@ -15,4 +14,5 @@ * Get all parent nodes of the given node in the flattened data

var parents = [];
var current = node[_constants.PARENT_KEY]; // Iterate up through the parent chain and add each parent to the result array
var current = node[_constants.PARENT_KEY];
// Iterate up through the parent chain and add each parent to the result array
while (current) {

@@ -22,7 +22,4 @@ parents.push(current[rowKey]);

}
return parents;
}
var _default = findAllParents;
exports["default"] = _default;
var _default = exports["default"] = findAllParents;

@@ -0,1 +1,2 @@

'use client';
"use strict";

@@ -5,13 +6,9 @@

exports["default"] = findRowKeys;
function findRowKeys(rows, rowKey, expanded) {
var keys = [];
if (!rowKey) {
return keys;
}
for (var i = 0; i < rows.length; i++) {
var item = rows[i];
if (item.children) {

@@ -24,4 +21,3 @@ keys.push(item[rowKey]);

}
return keys;
}

@@ -0,12 +1,9 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _constants = require("../constants");
/**

@@ -19,6 +16,6 @@ * Flatten the tree data with parent association recorded on each node

var _extends2;
// Create a new flattened node with parent association
var flattened = (0, _extends3["default"])({}, node, (_extends2 = {}, _extends2[_constants.PARENT_KEY] = parent, _extends2)); // Add the flattened node and its flattened children (if any) to the result array
var flattened = (0, _extends3["default"])({}, node, (_extends2 = {}, _extends2[_constants.PARENT_KEY] = parent, _extends2));
// Add the flattened node and its flattened children (if any) to the result array
acc.push.apply(acc, [flattened].concat(node.children ? flattenData(node.children, flattened) : []));

@@ -28,4 +25,2 @@ return acc;

}
var _default = flattenData;
exports["default"] = _default;
var _default = exports["default"] = flattenData;

@@ -0,11 +1,10 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _reactDom = _interopRequireDefault(require("react-dom"));
var majorVersion = parseInt(_reactDom["default"].version);
var majorVersion = parseInt(_reactDom["default"].version);
/**

@@ -15,15 +14,10 @@ * Force React to flush any updates inside the provided callback synchronously.

*/
var flushSync = function flushSync(callback) {
if (majorVersion >= 18) {
var _ReactDOM$flushSync;
(_ReactDOM$flushSync = _reactDom["default"].flushSync) === null || _ReactDOM$flushSync === void 0 ? void 0 : _ReactDOM$flushSync.call(_reactDom["default"], callback);
return;
}
callback();
};
var _default = flushSync;
exports["default"] = _default;
var _default = exports["default"] = flushSync;
/// <reference types="react" />
import { ColumnProps } from '../Column';
export declare type Column = React.ReactElement<ColumnProps>;
export type Column = React.ReactElement<ColumnProps>;
/**

@@ -5,0 +5,0 @@ * Get the union of the props of the column itself and the props of the custom column

@@ -0,10 +1,8 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = getColumnProps;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
/**

@@ -26,5 +24,4 @@ * Get the union of the props of the column itself and the props of the custom column

var _column$type, _column$type$render, _column$type$render$c;
var columnDefaultProps = ((_column$type = column['type']) === null || _column$type === void 0 ? void 0 : (_column$type$render = _column$type['render']) === null || _column$type$render === void 0 ? void 0 : (_column$type$render$c = _column$type$render.call(_column$type)) === null || _column$type$render$c === void 0 ? void 0 : _column$type$render$c.props) || {};
return (0, _extends2["default"])({}, columnDefaultProps, column === null || column === void 0 ? void 0 : column.props);
}

@@ -0,22 +1,14 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var ReactIs = _interopRequireWildcard(require("react-is"));
var _flatten = _interopRequireDefault(require("lodash/flatten"));
var _ColumnGroup = _interopRequireDefault(require("../ColumnGroup"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
/**

@@ -33,9 +25,8 @@ * Get the columns ReactElement array.

var _column$props = column === null || column === void 0 ? void 0 : column.props,
header = _column$props.header,
groupChildren = _column$props.children,
align = _column$props.align,
fixed = _column$props.fixed,
verticalAlign = _column$props.verticalAlign,
groupHeaderHeight = _column$props.groupHeaderHeight;
header = _column$props.header,
groupChildren = _column$props.children,
align = _column$props.align,
fixed = _column$props.fixed,
verticalAlign = _column$props.verticalAlign,
groupHeaderHeight = _column$props.groupHeaderHeight;
var childColumns = getTableColumns(groupChildren);

@@ -51,2 +42,3 @@ return childColumns.map(function (childColumn, index) {

});
/**

@@ -66,3 +58,2 @@ * Set attributes for the first column in the group:

}
return /*#__PURE__*/_react["default"].cloneElement(childColumn, groupCellProps);

@@ -72,3 +63,2 @@ });

var _column$props2;
// If the column is a fragment, we need to get the columns from the children.

@@ -79,12 +69,11 @@ return getTableColumns((_column$props2 = column.props) === null || _column$props2 === void 0 ? void 0 : _column$props2.children);

return getTableColumns(column);
} // If the column is not a group, we just return the column.
}
// If the column is not a group, we just return the column.
return column;
}); // Flatten the array in Columns into a one-dimensional array, and calculate lastColumn and firstColumn.
});
// Flatten the array in Columns into a one-dimensional array, and calculate lastColumn and firstColumn.
return (0, _flatten["default"])(flattenColumns).filter(Boolean);
}
var _default = getTableColumns;
exports["default"] = _default;
var _default = exports["default"] = getTableColumns;

@@ -0,18 +1,13 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
var _getColumnProps2 = _interopRequireDefault(require("./getColumnProps"));
function getTotalByColumns(columns) {
var totalFlexGrow = 0;
var totalWidth = 0;
var count = function count(items) {

@@ -22,6 +17,5 @@ Array.from(items).forEach(function (column) {

var _getColumnProps = (0, _getColumnProps2["default"])(column),
flexGrow = _getColumnProps.flexGrow,
_getColumnProps$width = _getColumnProps.width,
width = _getColumnProps$width === void 0 ? 0 : _getColumnProps$width;
flexGrow = _getColumnProps.flexGrow,
_getColumnProps$width = _getColumnProps.width,
width = _getColumnProps$width === void 0 ? 0 : _getColumnProps$width;
totalFlexGrow += flexGrow || 0;

@@ -34,3 +28,2 @@ totalWidth += flexGrow ? 0 : width;

};
if (Array.isArray(columns)) {

@@ -40,10 +33,8 @@ count(columns);

var _columns$props = columns === null || columns === void 0 ? void 0 : columns.props,
flexGrow = _columns$props.flexGrow,
_columns$props$width = _columns$props.width,
width = _columns$props$width === void 0 ? 0 : _columns$props$width;
flexGrow = _columns$props.flexGrow,
_columns$props$width = _columns$props.width,
width = _columns$props$width === void 0 ? 0 : _columns$props$width;
totalFlexGrow = flexGrow || 0;
totalWidth = flexGrow ? 0 : width;
}
return {

@@ -54,4 +45,2 @@ totalFlexGrow: totalFlexGrow,

}
var _default = getTotalByColumns;
exports["default"] = _default;
var _default = exports["default"] = getTotalByColumns;

@@ -0,127 +1,67 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.useUpdateLayoutEffect = exports.useUpdateEffect = exports.useTableRows = exports.useTableDimension = exports.useScrollListener = exports.usePosition = exports.useMount = exports.useIsomorphicLayoutEffect = exports.useControlled = exports.useClassNames = exports.useCellDescriptor = exports.useAffix = exports.translateDOMPositionXY = exports.toggleClass = exports.toggle = exports.shouldShowRowByExpanded = exports.resetLeftForCells = exports.requestAnimationTimeout = exports.prefix = exports.mergeRefs = exports.mergeCells = exports.isSupportTouchEvent = exports.isRTL = exports.isNumberOrTrue = exports.getTotalByColumns = exports.getTableColumns = exports.flattenData = exports.findRowKeys = exports.findAllParents = exports.defer = exports.cancelAnimationTimeout = void 0;
var _prefix = _interopRequireDefault(require("./prefix"));
exports.prefix = _prefix["default"];
var _getTotalByColumns = _interopRequireDefault(require("./getTotalByColumns"));
exports.getTotalByColumns = _getTotalByColumns["default"];
var _mergeCells = _interopRequireDefault(require("./mergeCells"));
exports.mergeCells = _mergeCells["default"];
var _toggleClass = _interopRequireDefault(require("./toggleClass"));
exports.toggleClass = _toggleClass["default"];
var _toggle = _interopRequireDefault(require("./toggle"));
exports.toggle = _toggle["default"];
var _flattenData = _interopRequireDefault(require("./flattenData"));
exports.flattenData = _flattenData["default"];
var _translateDOMPositionXY = _interopRequireDefault(require("./translateDOMPositionXY"));
exports.translateDOMPositionXY = _translateDOMPositionXY["default"];
var _isRTL = _interopRequireDefault(require("./isRTL"));
exports.isRTL = _isRTL["default"];
var _findRowKeys = _interopRequireDefault(require("./findRowKeys"));
exports.findRowKeys = _findRowKeys["default"];
var _findAllParents = _interopRequireDefault(require("./findAllParents"));
exports.findAllParents = _findAllParents["default"];
var _shouldShowRowByExpanded = _interopRequireDefault(require("./shouldShowRowByExpanded"));
exports.shouldShowRowByExpanded = _shouldShowRowByExpanded["default"];
var _resetLeftForCells = _interopRequireDefault(require("./resetLeftForCells"));
exports.resetLeftForCells = _resetLeftForCells["default"];
var _isNumberOrTrue = _interopRequireDefault(require("./isNumberOrTrue"));
exports.isNumberOrTrue = _isNumberOrTrue["default"];
var _mergeRefs = _interopRequireDefault(require("./mergeRefs"));
exports.mergeRefs = _mergeRefs["default"];
var _requestAnimationTimeout = require("./requestAnimationTimeout");
exports.cancelAnimationTimeout = _requestAnimationTimeout.cancelAnimationTimeout;
exports.requestAnimationTimeout = _requestAnimationTimeout.requestAnimationTimeout;
var _useUpdateEffect = _interopRequireDefault(require("./useUpdateEffect"));
exports.useUpdateEffect = _useUpdateEffect["default"];
var _useUpdateLayoutEffect = _interopRequireDefault(require("./useUpdateLayoutEffect"));
exports.useUpdateLayoutEffect = _useUpdateLayoutEffect["default"];
var _useIsomorphicLayoutEffect = _interopRequireDefault(require("./useIsomorphicLayoutEffect"));
exports.useIsomorphicLayoutEffect = _useIsomorphicLayoutEffect["default"];
var _useMount = _interopRequireDefault(require("./useMount"));
exports.useMount = _useMount["default"];
var _useClassNames = _interopRequireDefault(require("./useClassNames"));
exports.useClassNames = _useClassNames["default"];
var _useControlled = _interopRequireDefault(require("./useControlled"));
exports.useControlled = _useControlled["default"];
var _getTableColumns = _interopRequireDefault(require("./getTableColumns"));
exports.getTableColumns = _getTableColumns["default"];
var _useCellDescriptor = _interopRequireDefault(require("./useCellDescriptor"));
exports.useCellDescriptor = _useCellDescriptor["default"];
var _useTableDimension = _interopRequireDefault(require("./useTableDimension"));
exports.useTableDimension = _useTableDimension["default"];
var _useTableRows = _interopRequireDefault(require("./useTableRows"));
exports.useTableRows = _useTableRows["default"];
var _useAffix = _interopRequireDefault(require("./useAffix"));
exports.useAffix = _useAffix["default"];
var _useScrollListener = _interopRequireDefault(require("./useScrollListener"));
exports.useScrollListener = _useScrollListener["default"];
var _usePosition = _interopRequireDefault(require("./usePosition"));
exports.usePosition = _usePosition["default"];
var _isSupportTouchEvent = _interopRequireDefault(require("./isSupportTouchEvent"));
exports.isSupportTouchEvent = _isSupportTouchEvent["default"];
var _defer = _interopRequireDefault(require("./defer"));
exports.defer = _defer["default"];

@@ -0,1 +1,2 @@

'use client';
"use strict";

@@ -5,3 +6,2 @@

exports["default"] = isNumberOrTrue;
function isNumberOrTrue(value) {

@@ -11,4 +11,3 @@ if (typeof value === 'undefined') {

}
return !!value || value === 0;
}

@@ -0,1 +1,2 @@

'use client';
"use strict";

@@ -5,5 +6,4 @@

exports["default"] = isRTL;
function isRTL() {
return typeof window !== 'undefined' && (document.body.getAttribute('dir') || document.dir) === 'rtl';
}

@@ -0,12 +1,10 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = isSupportTouchEvent;
var _canUseDOM = _interopRequireDefault(require("dom-lib/canUseDOM"));
function isSupportTouchEvent() {
return _canUseDOM["default"] && 'ontouchstart' in window;
}

@@ -0,58 +1,48 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
var _get = _interopRequireDefault(require("lodash/get"));
var _isNil = _interopRequireDefault(require("lodash/isNil"));
var _ColumnGroup = _interopRequireDefault(require("../ColumnGroup"));
var _HeaderCell = _interopRequireDefault(require("../HeaderCell"));
function cloneCell(Cell, props) {
return /*#__PURE__*/_react["default"].cloneElement(Cell, props);
}
function mergeCells(cells) {
var nextCells = [];
for (var i = 0; i < cells.length; i += 1) {
var _cells$i$props = cells[i].props,
width = _cells$i$props.width,
colSpan = _cells$i$props.colSpan,
groupCount = _cells$i$props.groupCount,
groupHeader = _cells$i$props.groupHeader,
groupAlign = _cells$i$props.groupAlign,
groupVerticalAlign = _cells$i$props.groupVerticalAlign,
isHeaderCell = _cells$i$props.isHeaderCell,
headerHeight = _cells$i$props.headerHeight,
groupHeaderHeight = _cells$i$props.groupHeaderHeight;
var groupChildren = []; // Add grouping to column headers.
width = _cells$i$props.width,
colSpan = _cells$i$props.colSpan,
groupCount = _cells$i$props.groupCount,
groupHeader = _cells$i$props.groupHeader,
groupAlign = _cells$i$props.groupAlign,
groupVerticalAlign = _cells$i$props.groupVerticalAlign,
isHeaderCell = _cells$i$props.isHeaderCell,
headerHeight = _cells$i$props.headerHeight,
groupHeaderHeight = _cells$i$props.groupHeaderHeight;
var groupChildren = [];
// Add grouping to column headers.
if (groupCount && isHeaderCell) {
var nextWidth = width;
var left = 0;
for (var j = 0; j < groupCount; j += 1) {
var nextCell = cells[i + j];
var _nextCell$props = nextCell.props,
nextCellWidth = _nextCell$props.width,
sortable = _nextCell$props.sortable,
children = _nextCell$props.children,
dataKey = _nextCell$props.dataKey,
onSortColumn = _nextCell$props.onSortColumn,
sortColumn = _nextCell$props.sortColumn,
sortType = _nextCell$props.sortType,
align = _nextCell$props.align,
verticalAlign = _nextCell$props.verticalAlign,
renderSortIcon = _nextCell$props.renderSortIcon;
nextCellWidth = _nextCell$props.width,
sortable = _nextCell$props.sortable,
children = _nextCell$props.children,
dataKey = _nextCell$props.dataKey,
onSortColumn = _nextCell$props.onSortColumn,
sortColumn = _nextCell$props.sortColumn,
sortType = _nextCell$props.sortType,
align = _nextCell$props.align,
verticalAlign = _nextCell$props.verticalAlign,
renderSortIcon = _nextCell$props.renderSortIcon;
if (j !== 0) {

@@ -65,3 +55,2 @@ nextWidth += nextCellWidth;

}
groupChildren.push( /*#__PURE__*/_react["default"].createElement(_HeaderCell["default"], {

@@ -81,3 +70,2 @@ key: j,

}
nextCells.push(cloneCell(cells[i], {

@@ -98,17 +86,15 @@ width: nextWidth,

// Determine whether the value is null or undefined, then merge this cell.
var _nextWidth = width;
for (var _j = 0; _j < colSpan; _j += 1) {
var _nextCell = cells[i + _j];
if (_nextCell) {
var _nextCell$props2 = _nextCell.props,
rowData = _nextCell$props2.rowData,
rowIndex = _nextCell$props2.rowIndex,
_children = _nextCell$props2.children,
colSpanWidth = _nextCell$props2.width,
_isHeaderCell = _nextCell$props2.isHeaderCell,
_dataKey = _nextCell$props2.dataKey;
rowData = _nextCell$props2.rowData,
rowIndex = _nextCell$props2.rowIndex,
_children = _nextCell$props2.children,
colSpanWidth = _nextCell$props2.width,
_isHeaderCell = _nextCell$props2.isHeaderCell,
_dataKey = _nextCell$props2.dataKey;
var cellText = (0, _isFunction["default"])(_children) ? _children(rowData, rowIndex) : (0, _get["default"])(rowData, _dataKey);
if (rowData && (0, _isNil["default"])(cellText) || _isHeaderCell && (0, _isNil["default"])(_children)) {

@@ -122,3 +108,2 @@ _nextWidth += colSpanWidth;

}
nextCells.push(cloneCell(cells[i], {

@@ -130,10 +115,6 @@ width: _nextWidth,

}
nextCells.push(cells[i]);
}
return nextCells;
}
var _default = mergeCells;
exports["default"] = _default;
var _default = exports["default"] = mergeCells;
import React from 'react';
declare type CallbackRef<T> = (ref: T | null) => void;
declare type Ref<T> = React.MutableRefObject<T> | CallbackRef<T>;
type CallbackRef<T> = (ref: T | null) => void;
type Ref<T> = React.MutableRefObject<T> | CallbackRef<T>;
export default function mergeRefs<T>(refA?: Ref<T | null> | null, refB?: Ref<T | null> | null): React.RefCallback<T>;
export {};

@@ -0,1 +1,2 @@

'use client';
"use strict";

@@ -5,3 +6,2 @@

exports["default"] = mergeRefs;
var toFnRef = function toFnRef(ref) {

@@ -12,3 +12,2 @@ return !ref || typeof ref === 'function' ? ref : function (value) {

};
function mergeRefs(refA, refB) {

@@ -15,0 +14,0 @@ var a = toFnRef(refA);

@@ -0,13 +1,10 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
exports.prefix = prefix;
var _classnames = _interopRequireDefault(require("classnames"));
var _curry = _interopRequireDefault(require("lodash/curry"));
function prefix(pre, className) {

@@ -17,3 +14,2 @@ if (!pre || !className) {

}
if (Array.isArray(className)) {

@@ -25,14 +21,10 @@ return (0, _classnames["default"])(className.filter(function (name) {

}));
} // TODO Compatible with V4
}
// TODO Compatible with V4
if (pre[pre.length - 1] === '-') {
return "" + pre + className;
}
return pre + "-" + className;
}
var _default = (0, _curry["default"])(prefix);
exports["default"] = _default;
var _default = exports["default"] = (0, _curry["default"])(prefix);

@@ -0,15 +1,13 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.requestAnimationTimeout = exports.cancelAnimationTimeout = void 0;
var _requestAnimationFramePolyfill = _interopRequireDefault(require("dom-lib/requestAnimationFramePolyfill"));
var _cancelAnimationFramePolyfill = _interopRequireDefault(require("dom-lib/cancelAnimationFramePolyfill"));
var cancelAnimationTimeout = function cancelAnimationTimeout(frame) {
var cancelAnimationTimeout = exports.cancelAnimationTimeout = function cancelAnimationTimeout(frame) {
return (0, _cancelAnimationFramePolyfill["default"])(frame.id);
};
/**

@@ -21,9 +19,5 @@ * Recursively calls requestAnimationFrame until a specified delay has been met or exceeded.

*/
exports.cancelAnimationTimeout = cancelAnimationTimeout;
var requestAnimationTimeout = function requestAnimationTimeout(callback, delay) {
var start; // wait for end of processing current event handler, because event handler may be long
var requestAnimationTimeout = exports.requestAnimationTimeout = function requestAnimationTimeout(callback, delay) {
var start;
// wait for end of processing current event handler, because event handler may be long
Promise.resolve().then(function () {

@@ -33,3 +27,2 @@ start = Date.now();

var frame = {};
var timeout = function timeout() {

@@ -42,3 +35,2 @@ if (Date.now() - start >= delay) {

};
frame = {

@@ -48,4 +40,2 @@ id: (0, _requestAnimationFramePolyfill["default"])(timeout)

return frame;
};
exports.requestAnimationTimeout = requestAnimationTimeout;
};

@@ -0,10 +1,8 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = resetLeftForCells;
var _react = _interopRequireDefault(require("react"));
/**

@@ -18,6 +16,4 @@ * Resets the relative left distance of all cells in the array.

var nextCells = [];
for (var i = 0; i < cells.length; i++) {
var cell = cells[i];
var nextCell = /*#__PURE__*/_react["default"].cloneElement(cell, {

@@ -27,8 +23,6 @@ left: left,

});
left += cell.props.width;
nextCells.push(nextCell);
}
return nextCells;
}

@@ -0,1 +1,2 @@

'use client';
"use strict";

@@ -5,3 +6,2 @@

exports["default"] = shouldShowRowByExpanded;
/**

@@ -17,10 +17,7 @@ * Check whether a row(tree) node should be expanded.

}
if (parentKeys === void 0) {
parentKeys = [];
}
for (var i = 0; i < ((_parentKeys = parentKeys) === null || _parentKeys === void 0 ? void 0 : _parentKeys.length); i++) {
var _parentKeys, _expandedRowKeys;
if (((_expandedRowKeys = expandedRowKeys) === null || _expandedRowKeys === void 0 ? void 0 : _expandedRowKeys.indexOf(parentKeys[i])) === -1) {

@@ -30,4 +27,3 @@ return false;

}
return true;
}

@@ -0,1 +1,2 @@

'use client';
"use strict";

@@ -5,3 +6,2 @@

exports["default"] = void 0;
/**

@@ -24,4 +24,2 @@ * 根据条件,选择性调用 a 与 b 其中一个方法。

}
var _default = toggle;
exports["default"] = _default;
var _default = exports["default"] = toggle;

@@ -0,12 +1,9 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _addClass = _interopRequireDefault(require("dom-lib/addClass"));
var _removeClass = _interopRequireDefault(require("dom-lib/removeClass"));
var toggleClass = function toggleClass(node, className, condition) {

@@ -19,8 +16,6 @@ if (condition) {

};
var _default = function _default(node, className, condition) {
var _default = exports["default"] = function _default(node, className, condition) {
if (!node) {
return;
}
if (Array.isArray(node) || Object.getPrototypeOf(node).hasOwnProperty('length')) {

@@ -33,6 +28,3 @@ node = node;

}
toggleClass(node, className, condition);
};
exports["default"] = _default;
};

@@ -0,1 +1,2 @@

'use client';
"use strict";

@@ -5,9 +6,6 @@

exports["default"] = void 0;
var _translateDOMPositionXY = require("dom-lib/translateDOMPositionXY");
var translateDOMPositionXY = (0, _translateDOMPositionXY.getTranslateDOMPositionXY)({
enable3DTransform: true
});
var _default = translateDOMPositionXY;
exports["default"] = _default;
var _default = exports["default"] = translateDOMPositionXY;

@@ -0,38 +1,28 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = require("react");
var _getHeight = _interopRequireDefault(require("dom-lib/getHeight"));
var _addStyle = _interopRequireDefault(require("dom-lib/addStyle"));
var _removeStyle = _interopRequireDefault(require("dom-lib/removeStyle"));
var _on = _interopRequireDefault(require("dom-lib/on"));
var _toggleClass = _interopRequireDefault(require("./toggleClass"));
var _isNumberOrTrue = _interopRequireDefault(require("./isNumberOrTrue"));
var _useUpdateEffect = _interopRequireDefault(require("./useUpdateEffect"));
var useAffix = function useAffix(props) {
var getTableHeight = props.getTableHeight,
contentHeight = props.contentHeight,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
affixHeader = props.affixHeader,
tableOffset = props.tableOffset,
headerOffset = props.headerOffset,
headerHeight = props.headerHeight,
scrollbarXRef = props.scrollbarXRef,
affixHeaderWrapperRef = props.affixHeaderWrapperRef;
contentHeight = props.contentHeight,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
affixHeader = props.affixHeader,
tableOffset = props.tableOffset,
headerOffset = props.headerOffset,
headerHeight = props.headerHeight,
scrollbarXRef = props.scrollbarXRef,
affixHeaderWrapperRef = props.affixHeaderWrapperRef;
var scrollListener = (0, _react.useRef)();
var handleAffixHorizontalScrollbar = (0, _react.useCallback)(function () {
var _tableOffset$current, _scrollbarXRef$curren;
var scrollY = window.scrollY || window.pageYOffset;

@@ -44,6 +34,4 @@ var windowHeight = (0, _getHeight["default"])(window);

var fixedScrollbar = scrollY + windowHeight < height + (offsetTop + bottom) && scrollY + windowHeight - headerHeight > offsetTop + bottom;
if (scrollbarXRef !== null && scrollbarXRef !== void 0 && (_scrollbarXRef$curren = scrollbarXRef.current) !== null && _scrollbarXRef$curren !== void 0 && _scrollbarXRef$curren.root) {
(0, _toggleClass["default"])(scrollbarXRef.current.root, 'fixed', fixedScrollbar);
if (fixedScrollbar) {

@@ -58,3 +46,2 @@ (0, _addStyle["default"])(scrollbarXRef.current.root, 'bottom', bottom + "px");

var _headerOffset$current;
var top = typeof affixHeader === 'number' ? affixHeader : 0;

@@ -64,3 +51,2 @@ var scrollY = window.scrollY || window.pageYOffset;

var fixedHeader = scrollY - (offsetTop - top) >= 0 && scrollY < offsetTop - top + contentHeight.current;
if (affixHeaderWrapperRef.current) {

@@ -74,3 +60,2 @@ (0, _toggleClass["default"])(affixHeaderWrapperRef.current, 'fixed', fixedHeader);

}
if ((0, _isNumberOrTrue["default"])(affixHorizontalScrollbar)) {

@@ -80,2 +65,3 @@ handleAffixHorizontalScrollbar();

}, [affixHeader, affixHorizontalScrollbar, handleAffixTableHeader, handleAffixHorizontalScrollbar]);
/**

@@ -85,3 +71,2 @@ * Update the position of the fixed element after the height of the table changes.

*/
(0, _useUpdateEffect["default"])(handleWindowScroll, [getTableHeight]);

@@ -92,6 +77,4 @@ (0, _react.useEffect)(function () {

}
return function () {
var _scrollListener$curre;
(_scrollListener$curre = scrollListener.current) === null || _scrollListener$curre === void 0 ? void 0 : _scrollListener$curre.off();

@@ -101,4 +84,2 @@ };

};
var _default = useAffix;
exports["default"] = _default;
var _default = exports["default"] = useAffix;

@@ -0,42 +1,24 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireWildcard(require("react"));
var _addStyle2 = _interopRequireDefault(require("dom-lib/addStyle"));
var _addClass = _interopRequireDefault(require("dom-lib/addClass"));
var _removeClass = _interopRequireDefault(require("dom-lib/removeClass"));
var _omit = _interopRequireDefault(require("lodash/omit"));
var _merge = _interopRequireDefault(require("lodash/merge"));
var _constants = require("../constants");
var _useControlled2 = _interopRequireDefault(require("./useControlled"));
var _getTableColumns = _interopRequireDefault(require("./getTableColumns"));
var _getTotalByColumns2 = _interopRequireDefault(require("./getTotalByColumns"));
var _getColumnProps = _interopRequireDefault(require("./getColumnProps"));
var _useUpdateEffect = _interopRequireDefault(require("./useUpdateEffect"));
var _flushSync = _interopRequireDefault(require("./flushSync"));
var _useMount = _interopRequireDefault(require("./useMount"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
/**

@@ -49,26 +31,23 @@ * Attach rendering-related attributes to all cells of the form and cache them.

var children = props.children,
rtl = props.rtl,
mouseAreaRef = props.mouseAreaRef,
tableRef = props.tableRef,
minScrollX = props.minScrollX,
scrollX = props.scrollX,
tableWidth = props.tableWidth,
headerHeight = props.headerHeight,
showHeader = props.showHeader,
sortTypeProp = props.sortType,
defaultSortType = props.defaultSortType,
sortColumn = props.sortColumn,
rowHeight = props.rowHeight,
onSortColumn = props.onSortColumn,
onHeaderCellResize = props.onHeaderCellResize,
prefix = props.prefix;
rtl = props.rtl,
mouseAreaRef = props.mouseAreaRef,
tableRef = props.tableRef,
minScrollX = props.minScrollX,
scrollX = props.scrollX,
tableWidth = props.tableWidth,
headerHeight = props.headerHeight,
showHeader = props.showHeader,
sortTypeProp = props.sortType,
defaultSortType = props.defaultSortType,
sortColumn = props.sortColumn,
rowHeight = props.rowHeight,
onSortColumn = props.onSortColumn,
onHeaderCellResize = props.onHeaderCellResize,
prefix = props.prefix;
var _useControlled = (0, _useControlled2["default"])(sortTypeProp, defaultSortType),
sortType = _useControlled[0],
setSortType = _useControlled[1];
sortType = _useControlled[0],
setSortType = _useControlled[1];
var _useState = (0, _react.useState)(),
cacheData = _useState[0],
setCacheData = _useState[1];
cacheData = _useState[0],
setCacheData = _useState[1];
var clearCache = (0, _react.useCallback)(function () {

@@ -81,3 +60,2 @@ setCacheData(null);

}
if (resizing) {

@@ -89,2 +67,3 @@ (0, _addClass["default"])(tableRef.current, prefix('column-resizing'));

}, [prefix, tableRef]);
/**

@@ -94,3 +73,2 @@ * storage column width from props.

*/
var initialColumnWidths = (0, _react.useRef)({});

@@ -108,3 +86,2 @@ var columnWidths = (0, _react.useRef)({});

setColumnResizing(false);
if (mouseAreaRef.current) {

@@ -114,5 +91,5 @@ (0, _addStyle2["default"])(mouseAreaRef.current, {

});
} // fix: https://github.com/rsuite/rsuite-table/issues/398
}
// fix: https://github.com/rsuite/rsuite-table/issues/398
(0, _flushSync["default"])(function () {

@@ -127,3 +104,2 @@ return clearCache();

var dir = 'left';
if (rtl) {

@@ -133,10 +109,7 @@ mouseAreaLeft += minScrollX.current + _constants.SCROLLBAR_WIDTH;

}
if (!fixed) {
x = mouseAreaLeft + (rtl ? -scrollX.current : scrollX.current);
}
if (mouseAreaRef.current) {
var _addStyle;
(0, _addStyle2["default"])(mouseAreaRef.current, (_addStyle = {

@@ -153,3 +126,2 @@ display: 'block'

var nextSortType = sortType;
if (sortColumn === dataKey) {

@@ -159,15 +131,10 @@ nextSortType = sortType === _constants.SORT_TYPE.ASC ? _constants.SORT_TYPE.DESC : _constants.SORT_TYPE.ASC;

}
onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey, nextSortType);
}, [onSortColumn, setSortType, sortColumn, sortType]);
if (cacheData) {
return cacheData;
}
var hasCustomTreeCol = false;
var left = 0; // Cell left margin
var headerCells = []; // Table header cell
var bodyCells = []; // Table body cell

@@ -186,35 +153,29 @@

}
var columns = (0, _getTableColumns["default"])(children);
var count = columns.length;
var _getTotalByColumns = (0, _getTotalByColumns2["default"])(columns),
totalFlexGrow = _getTotalByColumns.totalFlexGrow,
totalWidth = _getTotalByColumns.totalWidth;
totalFlexGrow = _getTotalByColumns.totalFlexGrow,
totalWidth = _getTotalByColumns.totalWidth;
_react["default"].Children.forEach(columns, function (column, index) {
if ( /*#__PURE__*/_react["default"].isValidElement(column)) {
var _initialColumnWidths$, _columnWidths$current;
var columnChildren = column.props.children;
var columnProps = (0, _getColumnProps["default"])(column);
var _width = columnProps.width,
resizable = columnProps.resizable,
flexGrow = columnProps.flexGrow,
minWidth = columnProps.minWidth,
onResize = columnProps.onResize,
treeCol = columnProps.treeCol;
resizable = columnProps.resizable,
flexGrow = columnProps.flexGrow,
minWidth = columnProps.minWidth,
onResize = columnProps.onResize,
treeCol = columnProps.treeCol;
if (treeCol) {
hasCustomTreeCol = true;
}
if (columnChildren.length !== 2) {
throw new Error("Component <HeaderCell> and <Cell> is required, column index: " + index + " ");
}
var headerCell = columnChildren[0];
var cell = columnChildren[1];
var cellWidthId = cell.props.dataKey + "_" + index + "_width"; // get column width from cache.
var cellWidthId = cell.props.dataKey + "_" + index + "_width";
// get column width from cache.
var initialColumnWidth = (_initialColumnWidths$ = initialColumnWidths.current) === null || _initialColumnWidths$ === void 0 ? void 0 : _initialColumnWidths$[cellWidthId];

@@ -224,2 +185,3 @@ var currentWidth = (_columnWidths$current = columnWidths.current) === null || _columnWidths$current === void 0 ? void 0 : _columnWidths$current[cellWidthId];

var isControlled = typeof _width === 'number' && typeof onResize === 'function';
/**

@@ -229,3 +191,2 @@ * in resizable mode,

*/
if (resizable && (initialColumnWidth || _width) && initialColumnWidth !== _width) {

@@ -237,10 +198,8 @@ // initial or update initialColumnWidth cache.

*/
if (currentWidth) {
columnWidths.current[cellWidthId] = _width; // update cellWidth
columnWidths.current[cellWidthId] = _width;
// update cellWidth
cellWidth = _width;
}
}
if (tableWidth.current && flexGrow && totalFlexGrow) {

@@ -252,6 +211,4 @@ var grewWidth = Math.max((tableWidth.current - totalWidth) / totalFlexGrow * flexGrow, minWidth || 60);

*/
cellWidth = resizable ? currentWidth || grewWidth : grewWidth;
}
var cellProps = (0, _extends2["default"])({}, (0, _omit["default"])(columnProps, ['children']), {

@@ -267,3 +224,2 @@ 'aria-colindex': index + 1,

});
if (showHeader && headerHeight) {

@@ -283,3 +239,2 @@ var headerCellProps = {

};
if (resizable) {

@@ -293,6 +248,4 @@ (0, _merge["default"])(headerCellProps, {

}
headerCells.push( /*#__PURE__*/_react["default"].cloneElement(headerCell, (0, _extends2["default"])({}, cellProps, headerCellProps)));
}
bodyCells.push( /*#__PURE__*/_react["default"].cloneElement(cell, cellProps));

@@ -302,3 +255,2 @@ left += cellWidth;

});
var cacheCell = {

@@ -314,4 +266,2 @@ columns: columns,

};
var _default = useCellDescriptor;
exports["default"] = _default;
var _default = exports["default"] = useCellDescriptor;
import classNames from 'classnames';
export declare type ClassValue = string | number | ClassDictionary | ClassArray | undefined | null | boolean;
export type ClassValue = string | number | ClassDictionary | ClassArray | undefined | null | boolean;
export interface ClassArray extends Array<ClassValue> {

@@ -4,0 +4,0 @@ }

@@ -0,16 +1,14 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = require("react");
var _classnames = _interopRequireDefault(require("classnames"));
var _prefix = require("./prefix");
var _TableContext = _interopRequireDefault(require("../TableContext"));
// This is the only way I found to break circular references between ClassArray and ClassValue
// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540
//eslint-disable-line @typescript-eslint/no-empty-interface
/**

@@ -29,6 +27,6 @@ * Add a prefix to all classNames.

var _ref = (0, _react.useContext)(_TableContext["default"]) || {},
_ref$classPrefix = _ref.classPrefix,
contextClassPrefix = _ref$classPrefix === void 0 ? 'rs' : _ref$classPrefix;
_ref$classPrefix = _ref.classPrefix,
contextClassPrefix = _ref$classPrefix === void 0 ? 'rs' : _ref$classPrefix;
var componentName = controlled ? str : (0, _prefix.prefix)(contextClassPrefix, str);
var componentName = controlled ? str : (0, _prefix.prefix)(contextClassPrefix, str);
/**

@@ -40,3 +38,2 @@ * @example

*/
var prefix = (0, _react.useCallback)(function () {

@@ -50,2 +47,3 @@ var mergeClasses = arguments.length ? _classnames["default"].apply(void 0, arguments).split(' ').map(function (item) {

}, [componentName]);
/**

@@ -57,3 +55,2 @@ * @example

*/
var withClassPrefix = (0, _react.useCallback)(function () {

@@ -63,6 +60,6 @@ for (var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++) {

}
var mergeClasses = prefix(classes);
return mergeClasses ? componentName + " " + mergeClasses : componentName;
}, [componentName, prefix]);
/**

@@ -73,3 +70,2 @@ * @example

*/
var rootPrefix = function rootPrefix() {

@@ -83,3 +79,2 @@ var mergeClasses = arguments.length ? _classnames["default"].apply(void 0, arguments).split(' ').map(function (item) {

};
return {

@@ -92,4 +87,2 @@ withClassPrefix: withClassPrefix,

}
var _default = useClassNames;
exports["default"] = _default;
var _default = exports["default"] = useClassNames;

@@ -0,1 +1,2 @@

'use client';
"use strict";

@@ -5,5 +6,3 @@

exports["default"] = void 0;
var _react = require("react");
/**

@@ -20,8 +19,7 @@ * A hook for controlled value management.

controlledRef.current = controlledValue !== undefined;
var _useState = (0, _react.useState)(defaultValue),
uncontrolledValue = _useState[0],
setUncontrolledValue = _useState[1]; // If it is controlled, this directly returns the attribute value.
uncontrolledValue = _useState[0],
setUncontrolledValue = _useState[1];
// If it is controlled, this directly returns the attribute value.
var value = controlledRef.current ? controlledValue : uncontrolledValue;

@@ -36,4 +34,2 @@ var setValue = (0, _react.useCallback)(function (nextValue) {

}
var _default = useControlled;
exports["default"] = _default;
var _default = exports["default"] = useControlled;

@@ -0,14 +1,10 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = require("react");
var _canUseDOM = _interopRequireDefault(require("dom-lib/canUseDOM"));
var useIsomorphicLayoutEffect = _canUseDOM["default"] ? _react.useLayoutEffect : _react.useEffect;
var _default = useIsomorphicLayoutEffect;
exports["default"] = _default;
var _default = exports["default"] = useIsomorphicLayoutEffect;

@@ -0,15 +1,11 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _useIsomorphicLayoutEffect = _interopRequireDefault(require("./useIsomorphicLayoutEffect"));
var useMount = function useMount(effect) {
(0, _useIsomorphicLayoutEffect["default"])(effect, []);
};
var _default = useMount;
exports["default"] = _default;
var _default = exports["default"] = useMount;

@@ -0,22 +1,14 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = require("react");
var _addStyle = _interopRequireDefault(require("dom-lib/addStyle"));
var _constants = require("../constants");
var _toggleClass = _interopRequireDefault(require("./toggleClass"));
var _useUpdateEffect = _interopRequireDefault(require("./useUpdateEffect"));
var _isSupportTouchEvent = _interopRequireDefault(require("./isSupportTouchEvent"));
var _defer = _interopRequireDefault(require("./defer"));
/**

@@ -29,15 +21,15 @@ * Update the position of the table according to the scrolling information of the table.

var data = props.data,
height = props.height,
tableWidth = props.tableWidth,
tableRef = props.tableRef,
prefix = props.prefix,
translateDOMPositionXY = props.translateDOMPositionXY,
wheelWrapperRef = props.wheelWrapperRef,
headerWrapperRef = props.headerWrapperRef,
affixHeaderWrapperRef = props.affixHeaderWrapperRef,
tableHeaderRef = props.tableHeaderRef,
scrollX = props.scrollX,
scrollY = props.scrollY,
contentWidth = props.contentWidth,
shouldFixedColumn = props.shouldFixedColumn;
height = props.height,
tableWidth = props.tableWidth,
tableRef = props.tableRef,
prefix = props.prefix,
translateDOMPositionXY = props.translateDOMPositionXY,
wheelWrapperRef = props.wheelWrapperRef,
headerWrapperRef = props.headerWrapperRef,
affixHeaderWrapperRef = props.affixHeaderWrapperRef,
tableHeaderRef = props.tableHeaderRef,
scrollX = props.scrollX,
scrollY = props.scrollY,
contentWidth = props.contentWidth,
shouldFixedColumn = props.shouldFixedColumn;
var duration = (0, _react.useRef)(0);

@@ -47,3 +39,2 @@ var bezier = (0, _react.useRef)('linear');

var _tableRef$current;
return ((_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.querySelectorAll("." + prefix('cell-group-scroll'))) || [];

@@ -53,3 +44,2 @@ }, [prefix, tableRef]);

var _tableRef$current2;
return (_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.querySelectorAll("." + prefix('cell-group-fixed-left'));

@@ -59,3 +49,2 @@ }, [prefix, tableRef]);

var _tableRef$current3;
return (_tableRef$current3 = tableRef.current) === null || _tableRef$current3 === void 0 ? void 0 : _tableRef$current3.querySelectorAll("." + prefix('cell-group-fixed-right'));

@@ -81,3 +70,2 @@ }, [prefix, tableRef]);

var scrollArrayGroups = Array.from(scrollGroups);
for (var i = 0; i < scrollArrayGroups.length; i++) {

@@ -87,5 +75,5 @@ var group = scrollArrayGroups[i];

}
updateWheelElementPosition(true);
updateWheelElementPosition(true); // Whether to show the horizontal scroll bar
// Whether to show the horizontal scroll bar
var hasHorizontalScrollbar = contentWidth.current > tableWidth.current;

@@ -100,2 +88,3 @@ var scrollbarWidth = hasHorizontalScrollbar ? 0 : _constants.SCROLLBAR_WIDTH;

}, [contentWidth, getFixedLeftCellGroups, getFixedRightCellGroups, getScrollCellGroups, updateWheelElementPosition, prefix, scrollX, tableWidth, translateDOMPositionXY]);
/**

@@ -106,3 +95,2 @@ * Update the position of the table according to the scrolling information of the table.

*/
var updatePosition = (0, _react.useCallback)(function (nextDuration, nextBezier) {

@@ -112,8 +100,7 @@ if (nextDuration) {

}
if (nextBezier) {
bezier.current = nextBezier;
} // When there are fixed columns.
}
// When there are fixed columns.
if (shouldFixedColumn) {

@@ -123,3 +110,2 @@ updatePositionByFixedCell();

var _affixHeaderElement$h;
var headerStyle = {};

@@ -131,3 +117,2 @@ translateDOMPositionXY.current(headerStyle, scrollX.current, 0);

headerElement && (0, _addStyle["default"])(headerElement, headerStyle);
if (affixHeaderElement !== null && affixHeaderElement !== void 0 && (_affixHeaderElement$h = affixHeaderElement.hasChildNodes) !== null && _affixHeaderElement$h !== void 0 && _affixHeaderElement$h.call(affixHeaderElement)) {

@@ -137,3 +122,2 @@ (0, _addStyle["default"])(affixHeaderElement === null || affixHeaderElement === void 0 ? void 0 : affixHeaderElement.firstChild, headerStyle);

}
if (tableHeaderRef !== null && tableHeaderRef !== void 0 && tableHeaderRef.current) {

@@ -157,4 +141,2 @@ (0, _toggleClass["default"])(tableHeaderRef.current, prefix('cell-group-shadow'), scrollY.current < 0);

};
var _default = usePosition;
exports["default"] = _default;
var _default = exports["default"] = usePosition;

@@ -0,39 +1,28 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = require("react");
var _WheelHandler = _interopRequireDefault(require("dom-lib/WheelHandler"));
var _scrollLeft = _interopRequireDefault(require("dom-lib/scrollLeft"));
var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
var _on = _interopRequireDefault(require("dom-lib/on"));
var _removeStyle = _interopRequireDefault(require("dom-lib/removeStyle"));
var _requestAnimationTimeout = require("./requestAnimationTimeout");
var _useUpdateEffect = _interopRequireDefault(require("./useUpdateEffect"));
var _useMount = _interopRequireDefault(require("./useMount"));
var _constants = require("../constants");
var _isSupportTouchEvent = _interopRequireDefault(require("./isSupportTouchEvent"));
var _flushSync = _interopRequireDefault(require("./flushSync"));
var _defer = _interopRequireDefault(require("./defer"));
// Inertial sliding start time threshold
var momentumTimeThreshold = 300; // Inertial sliding start vertical distance threshold
var momentumTimeThreshold = 300;
// Inertial sliding start vertical distance threshold
var momentumYThreshold = 15;
//List of Arrow Keys for scrolling through keys
var arrowKeysList = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
/**

@@ -54,2 +43,3 @@ * Calculate the distance of inertial sliding.

};
/**

@@ -61,33 +51,31 @@ * Add scroll, touch, and wheel monitoring events to the table,

*/
var useScrollListener = function useScrollListener(props) {
var data = props.data,
autoHeight = props.autoHeight,
tableBodyRef = props.tableBodyRef,
scrollbarXRef = props.scrollbarXRef,
scrollbarYRef = props.scrollbarYRef,
disabledScroll = props.disabledScroll,
loading = props.loading,
tableRef = props.tableRef,
contentWidth = props.contentWidth,
tableWidth = props.tableWidth,
scrollY = props.scrollY,
minScrollY = props.minScrollY,
minScrollX = props.minScrollX,
scrollX = props.scrollX,
setScrollX = props.setScrollX,
setScrollY = props.setScrollY,
virtualized = props.virtualized,
forceUpdatePosition = props.forceUpdatePosition,
deferUpdatePosition = props.deferUpdatePosition,
onScroll = props.onScroll,
onTouchMove = props.onTouchMove,
onTouchStart = props.onTouchStart,
onTouchEnd = props.onTouchEnd,
height = props.height,
getTableHeight = props.getTableHeight,
contentHeight = props.contentHeight,
headerHeight = props.headerHeight,
rtl = props.rtl;
autoHeight = props.autoHeight,
tableBodyRef = props.tableBodyRef,
scrollbarXRef = props.scrollbarXRef,
scrollbarYRef = props.scrollbarYRef,
disabledScroll = props.disabledScroll,
loading = props.loading,
tableRef = props.tableRef,
contentWidth = props.contentWidth,
tableWidth = props.tableWidth,
scrollY = props.scrollY,
minScrollY = props.minScrollY,
minScrollX = props.minScrollX,
scrollX = props.scrollX,
setScrollX = props.setScrollX,
setScrollY = props.setScrollY,
virtualized = props.virtualized,
forceUpdatePosition = props.forceUpdatePosition,
deferUpdatePosition = props.deferUpdatePosition,
onScroll = props.onScroll,
onTouchMove = props.onTouchMove,
onTouchStart = props.onTouchStart,
onTouchEnd = props.onTouchEnd,
height = props.height,
getTableHeight = props.getTableHeight,
contentHeight = props.contentHeight,
headerHeight = props.headerHeight,
rtl = props.rtl;
var wheelListener = (0, _react.useRef)();

@@ -97,14 +85,14 @@ var touchStartListener = (0, _react.useRef)();

var touchEndListener = (0, _react.useRef)();
var _useState = (0, _react.useState)(false),
isScrolling = _useState[0],
setScrolling = _useState[1];
isScrolling = _useState[0],
setScrolling = _useState[1];
var touchX = (0, _react.useRef)(0);
var touchY = (0, _react.useRef)(0);
var disableEventsTimeoutId = (0, _react.useRef)(null);
var isTouching = (0, _react.useRef)(false); // The start time within the inertial sliding range.
var isTouching = (0, _react.useRef)(false);
var momentumStartTime = (0, _react.useRef)(0); // The vertical starting value within the inertial sliding range.
// The start time within the inertial sliding range.
var momentumStartTime = (0, _react.useRef)(0);
// The vertical starting value within the inertial sliding range.
var momentumStartY = (0, _react.useRef)(0);

@@ -115,3 +103,2 @@ var shouldHandleWheelX = (0, _react.useCallback)(function (delta) {

}
return true;

@@ -123,3 +110,2 @@ }, [disabledScroll, loading]);

}
if (typeof scrollY.current === 'number' && typeof minScrollY.current === 'number') {

@@ -130,5 +116,6 @@ return delta >= 0 && scrollY.current > minScrollY.current || delta < 0 && scrollY.current < 0;

var debounceScrollEndedCallback = (0, _react.useCallback)(function () {
disableEventsTimeoutId.current = null; // Forces the end of scrolling to be prioritized so that virtualized long lists can update rendering.
disableEventsTimeoutId.current = null;
// Forces the end of scrolling to be prioritized so that virtualized long lists can update rendering.
// There will be no scrolling white screen.
(0, _flushSync["default"])(function () {

@@ -138,2 +125,3 @@ return setScrolling(false);

}, []);
/**

@@ -145,3 +133,2 @@ * Triggered when scrolling, including: wheel/touch/scroll

*/
var handleWheel = (0, _react.useCallback)(function (deltaX, deltaY, momentumOptions, event) {

@@ -151,3 +138,2 @@ if (!tableRef.current) {

}
var nextScrollX = contentWidth.current <= tableWidth.current ? 0 : scrollX.current - deltaX;

@@ -160,19 +146,18 @@ var nextScrollY = scrollY.current - deltaY;

onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(x), Math.abs(y));
if (virtualized) {
// Add a state to the table during virtualized scrolling.
// Make it set CSS `pointer-events:none` on the DOM to avoid wrong event interaction.
(0, _flushSync["default"])(function () {
return setScrolling(true);
});
if (disableEventsTimeoutId.current) {
(0, _requestAnimationTimeout.cancelAnimationTimeout)(disableEventsTimeoutId.current);
}
disableEventsTimeoutId.current = (0, _requestAnimationTimeout.requestAnimationTimeout)(debounceScrollEndedCallback, // When momentum is enabled, set a delay of 50ms rendering.
disableEventsTimeoutId.current = (0, _requestAnimationTimeout.requestAnimationTimeout)(debounceScrollEndedCallback,
// When momentum is enabled, set a delay of 50ms rendering.
momentumOptions !== null && momentumOptions !== void 0 && momentumOptions.duration ? 50 : 0);
} // When the user clicks on the scrollbar, the scrollbar will be moved to the clicked position.
}
// When the user clicks on the scrollbar, the scrollbar will be moved to the clicked position.
if ((event === null || event === void 0 ? void 0 : event.type) === 'click') {

@@ -187,3 +172,2 @@ /**

}
forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);

@@ -193,3 +177,2 @@ }, [tableRef, contentWidth, tableWidth, scrollX, scrollY, minScrollY, minScrollX, setScrollX, setScrollY, onScroll, forceUpdatePosition, deferUpdatePosition, virtualized, debounceScrollEndedCallback]);

var _scrollbarXRef$curren, _scrollbarXRef$curren2, _scrollbarYRef$curren, _scrollbarYRef$curren2;
handleWheel(deltaX, deltaY, momentumOptions);

@@ -199,11 +182,10 @@ (_scrollbarXRef$curren = scrollbarXRef.current) === null || _scrollbarXRef$curren === void 0 ? void 0 : (_scrollbarXRef$curren2 = _scrollbarXRef$curren.onWheelScroll) === null || _scrollbarXRef$curren2 === void 0 ? void 0 : _scrollbarXRef$curren2.call(_scrollbarXRef$curren, deltaX);

}, [handleWheel, scrollbarXRef, scrollbarYRef]);
var wheelHandler = (0, _react.useRef)(); // Stop unending scrolling and remove transition
var wheelHandler = (0, _react.useRef)();
// Stop unending scrolling and remove transition
var stopScroll = (0, _react.useCallback)(function () {
var _tableBodyRef$current, _scrollbarYRef$curren3;
var wheelElement = (_tableBodyRef$current = tableBodyRef.current) === null || _tableBodyRef$current === void 0 ? void 0 : _tableBodyRef$current.querySelector('.rs-table-body-wheel-area');
var handleElement = (_scrollbarYRef$curren3 = scrollbarYRef.current) === null || _scrollbarYRef$curren3 === void 0 ? void 0 : _scrollbarYRef$curren3.handle;
var transitionCSS = ['transition-duration', 'transition-timing-function'];
if (!virtualized && wheelElement) {

@@ -215,16 +197,15 @@ // Get the current translate position.

}
if (wheelElement) {
(0, _removeStyle["default"])(wheelElement, transitionCSS);
}
if (handleElement) {
(0, _removeStyle["default"])(handleElement, transitionCSS);
}
}, [scrollbarYRef, setScrollY, tableBodyRef, virtualized]); // Handle the Touch event and initialize it when touchstart is triggered.
}, [scrollbarYRef, setScrollY, tableBodyRef, virtualized]);
// Handle the Touch event and initialize it when touchstart is triggered.
var handleTouchStart = (0, _react.useCallback)(function (event) {
var _event$touches$ = event.touches[0],
pageX = _event$touches$.pageX,
pageY = _event$touches$.pageY;
pageX = _event$touches$.pageX,
pageY = _event$touches$.pageY;
touchX.current = pageX;

@@ -235,7 +216,9 @@ touchY.current = pageY;

isTouching.current = true;
onTouchStart === null || onTouchStart === void 0 ? void 0 : onTouchStart(event); // Stop unfinished scrolling when Touch starts.
onTouchStart === null || onTouchStart === void 0 ? void 0 : onTouchStart(event);
// Stop unfinished scrolling when Touch starts.
stopScroll();
}, [onTouchStart, scrollY, stopScroll]); // Handle the Touch event and update the scroll when touchmove is triggered.
}, [onTouchStart, scrollY, stopScroll]);
// Handle the Touch event and update the scroll when touchmove is triggered.
var handleTouchMove = (0, _react.useCallback)(function (event) {

@@ -245,12 +228,11 @@ if (!isTouching.current) {

}
var _event$touches$2 = event.touches[0],
pageX = _event$touches$2.pageX,
pageY = _event$touches$2.pageY;
pageX = _event$touches$2.pageX,
pageY = _event$touches$2.pageY;
var deltaX = touchX.current - pageX;
var deltaY = autoHeight ? 0 : touchY.current - pageY;
if (!shouldHandleWheelY(deltaY) && !shouldHandleWheelX(deltaX)) {
return;
}
/**

@@ -260,15 +242,12 @@ * Prevent the default touch event when the table is scrollable.

*/
if (!autoHeight && shouldHandleWheelY(deltaY)) {
var _event$preventDefault;
(_event$preventDefault = event.preventDefault) === null || _event$preventDefault === void 0 ? void 0 : _event$preventDefault.call(event);
}
var now = new Date().getTime();
onWheel(deltaX, deltaY);
touchX.current = pageX;
touchY.current = pageY; // Record the offset value and time under the condition of triggering inertial scrolling.
touchY.current = pageY;
// Record the offset value and time under the condition of triggering inertial scrolling.
if (now - momentumStartTime.current > momentumTimeThreshold) {

@@ -278,3 +257,2 @@ momentumStartY.current = scrollY.current;

}
onTouchMove === null || onTouchMove === void 0 ? void 0 : onTouchMove(event);

@@ -286,13 +264,12 @@ }, [autoHeight, onWheel, onTouchMove, scrollY, shouldHandleWheelX, shouldHandleWheelY]);

}
isTouching.current = false;
var touchDuration = new Date().getTime() - momentumStartTime.current;
var absDeltaY = Math.abs(scrollY.current - momentumStartY.current); // Enable inertial sliding.
var absDeltaY = Math.abs(scrollY.current - momentumStartY.current);
// Enable inertial sliding.
if (touchDuration < momentumTimeThreshold && absDeltaY > momentumYThreshold) {
var _momentum = momentum(scrollY.current, momentumStartY.current, touchDuration),
delta = _momentum.delta,
duration = _momentum.duration,
bezier = _momentum.bezier;
delta = _momentum.delta,
duration = _momentum.duration,
bezier = _momentum.bezier;
onWheel(0, delta, {

@@ -305,2 +282,3 @@ duration: duration,

}, [onWheel, onTouchEnd, scrollY]);
/**

@@ -311,3 +289,2 @@ * When the user uses the tab key in the Table, the onScroll event is triggered,

*/
var onScrollBody = (0, _react.useCallback)(function (event) {

@@ -317,10 +294,7 @@ if (event.target !== tableBodyRef.current) {

}
var left = (0, _scrollLeft["default"])(event.target);
var top = (0, _scrollTop["default"])(event.target);
if (top === 0 && left === 0) {
return;
}
onWheel(left, top);

@@ -334,11 +308,11 @@ (0, _scrollLeft["default"])(event.target, 0);

}
var height = getTableHeight();
var height = getTableHeight(); // The maximum range of scrolling value is judged.
// The maximum range of scrolling value is judged.
value = Math.min(value, Math.max(0, contentHeight.current - (height - headerHeight)));
value = Math.min(value, Math.max(0, contentHeight.current - (height - headerHeight))); // The value is a value of the theoretical scroll position of the table,
// The value is a value of the theoretical scroll position of the table,
// and the scrollY coordinate value and the value of the scroll bar position are calculated by value.
return [-value, value / contentHeight.current * (height - headerHeight)];
}, [autoHeight, contentHeight, getTableHeight, headerHeight]);
var rerender = function rerender() {

@@ -352,3 +326,2 @@ setScrolling(true);

};
var getControlledScrollLeftValue = function getControlledScrollLeftValue(value) {

@@ -359,23 +332,18 @@ // The maximum range of scrolling value is judged.

};
var onScrollTop = function onScrollTop(top) {
var _scrollbarYRef$curren4, _scrollbarYRef$curren5;
if (top === void 0) {
top = 0;
}
var _getControlledScrollT = getControlledScrollTopValue(top),
nextScrollY = _getControlledScrollT[0],
handleScrollY = _getControlledScrollT[1];
nextScrollY = _getControlledScrollT[0],
handleScrollY = _getControlledScrollT[1];
var height = getTableHeight();
if (!loading && nextScrollY !== scrollY.current) {
onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(scrollX.current), Math.abs(nextScrollY));
}
setScrollY(nextScrollY);
scrollbarYRef === null || scrollbarYRef === void 0 ? void 0 : (_scrollbarYRef$curren4 = scrollbarYRef.current) === null || _scrollbarYRef$curren4 === void 0 ? void 0 : (_scrollbarYRef$curren5 = _scrollbarYRef$curren4.resetScrollBarPosition) === null || _scrollbarYRef$curren5 === void 0 ? void 0 : _scrollbarYRef$curren5.call(_scrollbarYRef$curren4, handleScrollY);
deferUpdatePosition();
/**

@@ -387,3 +355,2 @@ * After calling `scrollTop`, a white screen will appear when `virtualized` is true.

*/
if (virtualized && contentHeight.current > height) {

@@ -393,14 +360,10 @@ rerender();

};
var onScrollLeft = function onScrollLeft(left) {
var _scrollbarXRef$curren3, _scrollbarXRef$curren4;
if (left === void 0) {
left = 0;
}
var _getControlledScrollL = getControlledScrollLeftValue(left),
nextScrollX = _getControlledScrollL[0],
scrollbarX = _getControlledScrollL[1];
nextScrollX = _getControlledScrollL[0],
scrollbarX = _getControlledScrollL[1];
setScrollX(nextScrollX);

@@ -411,12 +374,9 @@ !loading && (onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(nextScrollX), Math.abs(scrollY.current)));

};
var onScrollTo = function onScrollTo(coord) {
var _ref = coord || {},
x = _ref.x,
y = _ref.y;
x = _ref.x,
y = _ref.y;
if (typeof x === 'number') {
onScrollLeft(x);
}
if (typeof y === 'number') {

@@ -426,9 +386,8 @@ onScrollTop(y);

};
(0, _useUpdateEffect["default"])(function () {
if (scrollY.current !== 0) {
onScrollTop(Math.abs(scrollY.current));
} // fix: #405 #404
}
// fix: #405 #404
deferUpdatePosition();

@@ -438,3 +397,2 @@ }, [height, data]);

var _wheelListener$curren, _touchStartListener$c, _touchMoveListener$cu, _touchEndListener$cur;
wheelHandler.current = null;

@@ -451,3 +409,2 @@ (_wheelListener$curren = wheelListener.current) === null || _wheelListener$curren === void 0 ? void 0 : _wheelListener$curren.off();

var tableBody = tableBodyRef.current;
if (tableBody) {

@@ -458,3 +415,2 @@ // Reset the listener after props is updated.

wheelListener.current = (0, _on["default"])(tableBody, 'wheel', wheelHandler.current.onWheel, options);
if ((0, _isSupportTouchEvent["default"])()) {

@@ -466,10 +422,8 @@ touchStartListener.current = (0, _on["default"])(tableBody, 'touchstart', handleTouchStart, options);

}
return releaseListeners;
}, [handleTouchEnd, handleTouchMove, handleTouchStart, onWheel, releaseListeners, shouldHandleWheelX, shouldHandleWheelY, tableBodyRef]);
var onScrollByKeydown = (0, _react.useCallback)(function (event) {
if (event.currentTarget === event.target) {
if (event.currentTarget === event.target && arrowKeysList.indexOf(event.key) > -1) {
event.preventDefault();
var step = 40;
switch (event.key) {

@@ -479,11 +433,8 @@ case 'ArrowUp':

break;
case 'ArrowDown':
onWheel(0, step);
break;
case 'ArrowLeft':
onWheel(-step, 0);
break;
case 'ArrowRight':

@@ -498,3 +449,2 @@ onWheel(step, 0);

var _scrollbarXRef$curren5, _scrollbarXRef$curren6;
// Initialize scroll position

@@ -523,4 +473,2 @@ setScrollX(tableWidth.current - contentWidth.current - _constants.SCROLLBAR_WIDTH);

};
var _default = useScrollListener;
exports["default"] = _default;
var _default = exports["default"] = useScrollListener;

@@ -0,28 +1,17 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = require("react");
var _getWidth = _interopRequireDefault(require("dom-lib/getWidth"));
var _getHeight = _interopRequireDefault(require("dom-lib/getHeight"));
var _getOffset = _interopRequireDefault(require("dom-lib/getOffset"));
var _constants = require("../constants");
var _resizeObserver = require("@juggle/resize-observer");
var _useMount = _interopRequireDefault(require("./useMount"));
var _useUpdateLayoutEffect = _interopRequireDefault(require("./useUpdateLayoutEffect"));
var _isNumberOrTrue = _interopRequireDefault(require("./isNumberOrTrue"));
var _debounce = _interopRequireDefault(require("lodash/debounce"));
/**

@@ -36,20 +25,20 @@ * The dimension information of the table,

var data = props.data,
rowHeight = props.rowHeight,
tableRef = props.tableRef,
headerWrapperRef = props.headerWrapperRef,
prefix = props.prefix,
widthProp = props.width,
affixHeader = props.affixHeader,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
headerHeight = props.headerHeight,
heightProp = props.height,
autoHeight = props.autoHeight,
minHeight = props.minHeight,
fillHeight = props.fillHeight,
children = props.children,
expandedRowKeys = props.expandedRowKeys,
showHeader = props.showHeader,
bordered = props.bordered,
onTableResizeChange = props.onTableResizeChange,
onTableScroll = props.onTableScroll;
rowHeight = props.rowHeight,
tableRef = props.tableRef,
headerWrapperRef = props.headerWrapperRef,
prefix = props.prefix,
widthProp = props.width,
affixHeader = props.affixHeader,
affixHorizontalScrollbar = props.affixHorizontalScrollbar,
headerHeight = props.headerHeight,
heightProp = props.height,
autoHeight = props.autoHeight,
minHeight = props.minHeight,
fillHeight = props.fillHeight,
children = props.children,
expandedRowKeys = props.expandedRowKeys,
showHeader = props.showHeader,
bordered = props.bordered,
onTableResizeChange = props.onTableResizeChange,
onTableScroll = props.onTableScroll;
var contentHeight = (0, _react.useRef)(0);

@@ -73,3 +62,2 @@ var contentWidth = (0, _react.useRef)(0);

var _table$querySelectorA;
var prevContentHeight = contentHeight.current;

@@ -83,15 +71,16 @@ var table = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current;

return x + y;
}) : 0; // After setting the affixHeader property, the height of the two headers should be subtracted.
}) : 0;
contentHeight.current = Math.round(nextContentHeight - (affixHeader ? headerHeight * 2 : headerHeight)); // Whether to show the horizontal scroll bar
// After setting the affixHeader property, the height of the two headers should be subtracted.
contentHeight.current = Math.round(nextContentHeight - (affixHeader ? headerHeight * 2 : headerHeight));
var hasHorizontalScrollbar = contentWidth.current > tableWidth.current; // The height of the table content area should be added to the height occupied by the horizontal scroll bar when autoHeight is set.
// Whether to show the horizontal scroll bar
var hasHorizontalScrollbar = contentWidth.current > tableWidth.current;
// The height of the table content area should be added to the height occupied by the horizontal scroll bar when autoHeight is set.
if (autoHeight && hasHorizontalScrollbar) {
contentHeight.current += _constants.SCROLLBAR_WIDTH;
}
var height = fillHeight ? tableHeight.current : heightProp;
var tableBodyHeight = showHeader ? height - headerHeight : height;
if (!autoHeight) {

@@ -103,5 +92,5 @@ /**

minScrollY.current = -(nextContentHeight - height) - (hasHorizontalScrollbar ? _constants.SCROLLBAR_WIDTH : 0);
} // If the height of the content area is less than the height of the table, the vertical scroll bar is reset.
}
// If the height of the content area is less than the height of the table, the vertical scroll bar is reset.
if (nextContentHeight < height) {

@@ -112,9 +101,10 @@ onTableScroll === null || onTableScroll === void 0 ? void 0 : onTableScroll({

}
var currentScrollTop = Math.abs(scrollY.current);
var currentScrollTop = Math.abs(scrollY.current); // When Table is set to virtualized, the logic will be entered every time the wheel event is
// When Table is set to virtualized, the logic will be entered every time the wheel event is
// triggered to avoid resetting the scroll bar after scrolling to the bottom, so add the SCROLLBAR_WIDTH value.
var maxScrollTop = nextContentHeight + _constants.SCROLLBAR_WIDTH - tableBodyHeight;
var maxScrollTop = nextContentHeight + _constants.SCROLLBAR_WIDTH - tableBodyHeight; // If the top value of the current scroll is greater than the scrollable range,
// If the top value of the current scroll is greater than the scrollable range,
// keep the vertical scroll bar at the bottom.
if (maxScrollTop > 0 && currentScrollTop > maxScrollTop) {

@@ -131,3 +121,2 @@ if (virtualized) {

}
if (prevContentHeight !== contentHeight.current) {

@@ -139,7 +128,5 @@ onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevContentHeight, 'bodyHeightChanged');

var headerNode = headerWrapperRef === null || headerWrapperRef === void 0 ? void 0 : headerWrapperRef.current;
if ((0, _isNumberOrTrue["default"])(affixHeader) && headerNode) {
headerOffset.current = (0, _getOffset["default"])(headerNode);
}
if ((0, _isNumberOrTrue["default"])(affixHorizontalScrollbar) && tableRef !== null && tableRef !== void 0 && tableRef.current) {

@@ -154,15 +141,15 @@ tableOffset.current = (0, _getOffset["default"])(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);

var row = table === null || table === void 0 ? void 0 : table.querySelector("." + prefix('row') + ":not(.virtualized)");
var nextContentWidth = row ? (0, _getWidth["default"])(row) : 0; // Whether to show the horizontal scroll bar
var nextContentWidth = row ? (0, _getWidth["default"])(row) : 0;
// Whether to show the horizontal scroll bar
var hasHorizontalScrollbar = contentWidth.current > tableWidth.current;
var scrollbarWidth = hasHorizontalScrollbar ? 0 : _constants.SCROLLBAR_WIDTH;
contentWidth.current = nextContentWidth - (autoHeight ? scrollbarWidth : 0);
columnCount.current = (row === null || row === void 0 ? void 0 : row.querySelectorAll("." + prefix('cell')).length) || 0; // The value of SCROLLBAR_WIDTH is subtracted so that the scroll bar does not block the content part.
columnCount.current = (row === null || row === void 0 ? void 0 : row.querySelectorAll("." + prefix('cell')).length) || 0;
// The value of SCROLLBAR_WIDTH is subtracted so that the scroll bar does not block the content part.
// There is no vertical scroll bar after autoHeight.
var minScrollWidth = -(nextContentWidth - tableWidth.current) - (autoHeight ? 0 : scrollbarWidth);
if (minScrollX.current !== minScrollWidth) {
minScrollX.current = minScrollWidth;
if (scrollX.current < minScrollWidth) {

@@ -173,2 +160,3 @@ // fix: 405#issuecomment-1464831646

}
/**

@@ -179,4 +167,2 @@ * If the width of the content area and the number of columns change,

*/
if (prevWidth > 0 && prevWidth !== contentWidth.current || prevColumnCount > 0 && prevColumnCount !== columnCount.current) {

@@ -188,7 +174,5 @@ onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevWidth, 'bodyWidthChanged');

var prevWidth = tableWidth.current;
if (tableRef !== null && tableRef !== void 0 && tableRef.current) {
tableWidth.current = nextWidth || (0, _getWidth["default"])(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);
}
if (prevWidth && prevWidth !== tableWidth.current) {

@@ -198,3 +182,2 @@ scrollX.current = 0;

}
setOffsetByAffix();

@@ -204,3 +187,2 @@ }, [onTableResizeChange, setOffsetByAffix, tableRef]);

var prevHeight = tableHeight.current;
if (nextHeight) {

@@ -211,3 +193,2 @@ tableHeight.current = nextHeight;

}
if (prevHeight && prevHeight !== tableHeight.current) {

@@ -219,3 +200,2 @@ onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevHeight, 'heightChanged');

var _tableRef$current;
calculateTableContextHeight();

@@ -231,4 +211,4 @@ calculateTableContentWidth();

var changeTableWidthWhenResize = (0, _debounce["default"])(function (entries) {
var width = entries[0].contentRect.width; // bordered table width is 1px larger than the container width. fix: #405 #404
var width = entries[0].contentRect.width;
// bordered table width is 1px larger than the container width. fix: #405 #404
var widthWithBorder = width + 2;

@@ -241,3 +221,2 @@ calculateTableWidth(bordered ? widthWithBorder : width);

var _resizeObserver$curre, _containerResizeObser;
(_resizeObserver$curre = resizeObserver.current) === null || _resizeObserver$curre === void 0 ? void 0 : _resizeObserver$curre.disconnect();

@@ -262,3 +241,2 @@ (_containerResizeObser = containerResizeObserver.current) === null || _containerResizeObser === void 0 ? void 0 : _containerResizeObser.disconnect();

}, []);
var getTableHeight = function getTableHeight() {

@@ -268,10 +246,7 @@ if (fillHeight) {

}
if ((data === null || data === void 0 ? void 0 : data.length) === 0 && autoHeight) {
return heightProp;
}
return autoHeight ? Math.max(headerHeight + contentHeight.current, minHeight) : heightProp;
};
return {

@@ -292,4 +267,2 @@ contentHeight: contentHeight,

};
var _default = useTableDimension;
exports["default"] = _default;
var _default = exports["default"] = useTableDimension;

@@ -0,20 +1,13 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = require("react");
var _getHeight = _interopRequireDefault(require("dom-lib/getHeight"));
var _useUpdateLayoutEffect = _interopRequireDefault(require("./useUpdateLayoutEffect"));
var _useMount = _interopRequireDefault(require("./useMount"));
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
var _defer = _interopRequireDefault(require("./defer"));
/**

@@ -27,12 +20,9 @@ * The row information of the table, get the DOM of all rows, and summarize the row height.

var prefix = props.prefix,
wordWrap = props.wordWrap,
data = props.data,
expandedRowKeys = props.expandedRowKeys;
wordWrap = props.wordWrap,
data = props.data,
expandedRowKeys = props.expandedRowKeys;
var _useState = (0, _react.useState)([]),
tableRowsMaxHeight = _useState[0],
setTableRowsMaxHeight = _useState[1];
tableRowsMaxHeight = _useState[0],
setTableRowsMaxHeight = _useState[1];
var tableRows = (0, _react.useRef)({});
var bindTableRowsRef = function bindTableRowsRef(index, rowData) {

@@ -45,3 +35,2 @@ return function (ref) {

};
var calculateRowMaxHeight = (0, _react.useCallback)(function () {

@@ -51,7 +40,5 @@ if (wordWrap) {

var curTableRows = Object.values(tableRows.current);
for (var i = 0; i < curTableRows.length; i++) {
var _curTableRows$i = curTableRows[i],
row = _curTableRows$i[0];
row = _curTableRows$i[0];
if (row) {

@@ -61,3 +48,2 @@ var cells = row.querySelectorAll("." + prefix('cell-wrap')) || [];

var maxHeight = 0;
for (var j = 0; j < cellArray.length; j++) {

@@ -68,8 +54,7 @@ var cell = cellArray[j];

}
nextTableRowsMaxHeight.push(maxHeight);
}
} // Can't perform a React state update on an unmounted component
}
// Can't perform a React state update on an unmounted component
if (!(0, _isEmpty["default"])(tableRows.current)) {

@@ -98,4 +83,2 @@ setTableRowsMaxHeight(nextTableRowsMaxHeight);

};
var _default = useTableRows;
exports["default"] = _default;
var _default = exports["default"] = useTableRows;

@@ -0,1 +1,2 @@

'use client';
"use strict";

@@ -5,5 +6,3 @@

exports["default"] = void 0;
var _react = require("react");
var useUpdateEffect = function useUpdateEffect(effect, deps) {

@@ -16,8 +15,6 @@ var isMounting = (0, _react.useRef)(true);

}
effect(); // eslint-disable-next-line react-hooks/exhaustive-deps
effect();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, deps);
};
var _default = useUpdateEffect;
exports["default"] = _default;
var _default = exports["default"] = useUpdateEffect;

@@ -0,12 +1,9 @@

'use client';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _react = require("react");
var _useIsomorphicLayoutEffect = _interopRequireDefault(require("./useIsomorphicLayoutEffect"));
var useUpdateLayoutEffect = function useUpdateLayoutEffect(effect, deps) {

@@ -19,8 +16,6 @@ var isMounting = (0, _react.useRef)(true);

}
effect(); // eslint-disable-next-line react-hooks/exhaustive-deps
effect();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, deps);
};
var _default = useUpdateLayoutEffect;
exports["default"] = _default;
var _default = exports["default"] = useUpdateLayoutEffect;
{
"name": "rsuite-table",
"version": "5.14.0",
"version": "5.15.0",
"description": "A React table component",

@@ -15,2 +15,3 @@ "main": "lib/index.js",

"build:docs": "rm -rf assets && NODE_ENV=production webpack",
"postbuild": "mocha test/build.test.js",
"dev": "webpack serve --mode development --port 3100 --host 0.0.0.0 --progress",

@@ -76,4 +77,4 @@ "publish:docs": "node docs/gh-pages.js",

"@types/react-dom": "^18.0.6",
"@typescript-eslint/eslint-plugin": "^4.28.2",
"@typescript-eslint/parser": "^4.28.2",
"@typescript-eslint/eslint-plugin": "^6.9.0",
"@typescript-eslint/parser": "^6.9.0",
"autoprefixer": "^8.3.0",

@@ -103,2 +104,3 @@ "babel-loader": "^8.2.2",

"gulp-babel": "^8.0.0",
"gulp-insert": "^0.5.0",
"gulp-less": "^5.0.0",

@@ -137,3 +139,3 @@ "gulp-postcss": "^7.0.1",

"ts-expect": "^1.3.0",
"typescript": "^4.5.5",
"typescript": "^5.2.2",
"url-loader": "^0.5.7",

@@ -140,0 +142,0 @@ "webpack": "^5.73.0",

@@ -15,3 +15,2 @@ import React, { useState, useCallback, useRef } from 'react';

import { ColumnProps } from '../Column';
import { CellProps } from '../Cell';
import flushSync from './flushSync';

@@ -214,4 +213,4 @@ import useMount from './useMount';

const headerCell = columnChildren[0] as React.ReactElement<CellProps>;
const cell = columnChildren[1] as React.ReactElement<CellProps>;
const headerCell = columnChildren[0] as React.ReactElement;
const cell = columnChildren[1] as React.ReactElement;

@@ -218,0 +217,0 @@ const cellWidthId = `${cell.props.dataKey}_${index}_width`;

@@ -23,2 +23,5 @@ import React, { useRef, useCallback, useState, useEffect } from 'react';

//List of Arrow Keys for scrolling through keys
const arrowKeysList = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
interface ScrollListenerProps {

@@ -510,3 +513,3 @@ rtl: boolean;

(event: React.KeyboardEvent) => {
if (event.currentTarget === event.target) {
if (event.currentTarget === event.target && arrowKeysList.indexOf(event.key) > -1) {
event.preventDefault();

@@ -513,0 +516,0 @@ const step = 40;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc