@aloudata/aloudata-design 1.9.17 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/Checkbox/style/index.less +35 -9
  2. package/dist/ConfigProvider/getUserList.d.ts +13 -1
  3. package/dist/ConfigProvider/getUserList.js +5 -0
  4. package/dist/Icon/components/DragLine.d.ts +11 -0
  5. package/dist/Icon/components/DragLine.js +35 -0
  6. package/dist/Icon/index.d.ts +1 -0
  7. package/dist/Icon/index.js +1 -0
  8. package/dist/Icon/svg/drag-line.svg +5 -0
  9. package/dist/MemberPicker/components/MemberSelection.d.ts +1 -1
  10. package/dist/MemberPicker/components/MemberSelection.js +8 -3
  11. package/dist/MemberPicker/components/MultipleOption.d.ts +5 -2
  12. package/dist/MemberPicker/components/MultipleOption.js +20 -5
  13. package/dist/MemberPicker/components/NickLabel.d.ts +3 -3
  14. package/dist/MemberPicker/components/NickLabel.js +6 -6
  15. package/dist/MemberPicker/components/Panel.d.ts +7 -4
  16. package/dist/MemberPicker/components/Panel.js +70 -20
  17. package/dist/MemberPicker/components/PanelWrapper.d.ts +14 -0
  18. package/dist/MemberPicker/components/PanelWrapper.js +126 -0
  19. package/dist/MemberPicker/components/SelectedMemberTags.d.ts +3 -2
  20. package/dist/MemberPicker/components/SelectedMemberTags.js +8 -5
  21. package/dist/MemberPicker/components/SelectorFooter.js +1 -1
  22. package/dist/MemberPicker/components/SingleOption.d.ts +3 -2
  23. package/dist/MemberPicker/components/SingleOption.js +7 -4
  24. package/dist/MemberPicker/components/UserGroupSelection.d.ts +14 -0
  25. package/dist/MemberPicker/components/UserGroupSelection.js +130 -0
  26. package/dist/MemberPicker/index.d.ts +2 -0
  27. package/dist/MemberPicker/index.js +28 -17
  28. package/dist/MemberPicker/interface.d.ts +11 -5
  29. package/dist/MemberPicker/interface.js +6 -1
  30. package/dist/MemberPicker/style/index.less +18 -3
  31. package/dist/MemberPicker/utils/getUsersWithUserId.d.ts +4 -0
  32. package/dist/MemberPicker/utils/getUsersWithUserId.js +23 -2
  33. package/dist/MemberPicker/utils/index.d.ts +6 -0
  34. package/dist/MemberPicker/utils/index.js +16 -0
  35. package/dist/Radio/style/index.less +1 -1
  36. package/dist/ScrollArea/index.d.ts +1 -0
  37. package/dist/ScrollArea/index.js +6 -3
  38. package/dist/Table/components/Cell.d.ts +7 -0
  39. package/dist/Table/components/Cell.js +20 -0
  40. package/dist/Table/components/Header.d.ts +6 -0
  41. package/dist/Table/components/Header.js +19 -0
  42. package/dist/{AldTable → Table}/helper.d.ts +9 -2
  43. package/dist/Table/helper.js +121 -0
  44. package/dist/Table/hooks/useScroll.d.ts +26 -0
  45. package/dist/Table/hooks/useScroll.js +57 -0
  46. package/dist/Table/index.d.ts +3 -1
  47. package/dist/Table/index.js +176 -1
  48. package/dist/Table/style/index.less +106 -203
  49. package/dist/{AldTable → Table}/types.d.ts +5 -4
  50. package/dist/Tree/DirectoryTree.d.ts +20 -0
  51. package/dist/Tree/DirectoryTree.js +175 -0
  52. package/dist/Tree/Tree.d.ts +136 -0
  53. package/dist/Tree/Tree.js +130 -0
  54. package/dist/Tree/demo/basic/index.js +3 -2
  55. package/dist/Tree/demo/drag/index.d.ts +3 -0
  56. package/dist/Tree/demo/drag/index.js +52 -0
  57. package/dist/Tree/index.d.ts +19 -13
  58. package/dist/Tree/index.js +7 -17
  59. package/dist/Tree/style/checkbox.less +226 -0
  60. package/dist/Tree/style/directory.less +68 -0
  61. package/dist/Tree/style/index.less +68 -29
  62. package/dist/Tree/style/mixin.less +333 -0
  63. package/dist/Tree/style/reset.less +11 -0
  64. package/dist/Tree/style/rtl.less +68 -0
  65. package/dist/Tree/style/var.less +42 -0
  66. package/dist/Tree/utils/dictUtil.d.ts +9 -0
  67. package/dist/Tree/utils/dictUtil.js +74 -0
  68. package/dist/Tree/utils/dropIndicator.d.ts +9 -0
  69. package/dist/Tree/utils/dropIndicator.js +35 -0
  70. package/dist/Tree/utils/iconUtil.d.ts +5 -0
  71. package/dist/Tree/utils/iconUtil.js +63 -0
  72. package/dist/_utils/motion.d.ts +8 -0
  73. package/dist/_utils/motion.js +52 -0
  74. package/dist/_utils/reactNode.d.ts +8 -0
  75. package/dist/_utils/reactNode.js +15 -0
  76. package/dist/_utils/type.d.ts +9 -0
  77. package/dist/_utils/type.js +20 -0
  78. package/dist/index.d.ts +11 -13
  79. package/dist/index.js +6 -7
  80. package/dist/style/color/bezierEasing.less +110 -0
  81. package/dist/style/color/colorPalette.less +84 -0
  82. package/dist/style/color/colors.less +162 -0
  83. package/dist/style/color/tinyColor.less +1184 -0
  84. package/dist/style/core/index.less +2 -0
  85. package/dist/style/core/motion/fade.less +34 -0
  86. package/dist/style/core/motion/move.less +129 -0
  87. package/dist/style/core/motion/other.less +48 -0
  88. package/dist/style/core/motion/slide.less +131 -0
  89. package/dist/style/core/motion/zoom.less +179 -0
  90. package/dist/style/core/motion.less +22 -0
  91. package/dist/style/index.less +2 -0
  92. package/dist/style/mixins/index.less +1 -0
  93. package/dist/style/mixins/motion.less +33 -0
  94. package/dist/style/themes/default/default.less +24 -0
  95. package/dist/style/themes/default/index.less +1 -0
  96. package/package.json +2 -2
  97. package/dist/AldTable/helper.js +0 -109
  98. package/dist/AldTable/index.d.ts +0 -4
  99. package/dist/AldTable/index.js +0 -151
  100. package/dist/AldTable/style/index.d.ts +0 -2
  101. package/dist/AldTable/style/index.js +0 -2
  102. package/dist/AldTable/style/index.less +0 -136
  103. package/dist/Table/Table.d.ts +0 -6
  104. package/dist/Table/Table.js +0 -360
  105. package/dist/Table/components/Empty/index.d.ts +0 -3
  106. package/dist/Table/components/Empty/index.js +0 -14
  107. package/dist/Table/components/Loading/index.d.ts +0 -3
  108. package/dist/Table/components/Loading/index.js +0 -12
  109. package/dist/Table/components/TableBodyRowList/index.d.ts +0 -13
  110. package/dist/Table/components/TableBodyRowList/index.js +0 -75
  111. package/dist/Table/components/TableHead/index.d.ts +0 -23
  112. package/dist/Table/components/TableHead/index.js +0 -229
  113. package/dist/Table/constant.d.ts +0 -0
  114. package/dist/Table/constant.js +0 -0
  115. package/dist/Table/hooks/useFrame.d.ts +0 -7
  116. package/dist/Table/hooks/useFrame.js +0 -75
  117. package/dist/Table/interface.d.ts +0 -42
  118. package/dist/Table/interface.js +0 -1
  119. package/dist/Table/react-table-config.d.ts +0 -122
  120. package/dist/Table/style/variable.less +0 -4
  121. package/dist/Table/utils.d.ts +0 -15
  122. package/dist/Table/utils.js +0 -122
  123. /package/dist/{AldTable → Table}/types.js +0 -0
@@ -0,0 +1,121 @@
1
+ import _ from 'lodash';
2
+ import Cell from "./components/Cell";
3
+ import Header from "./components/Header";
4
+ export function getTableColumns(_ref) {
5
+ var columns = _ref.columns,
6
+ columnSizing = _ref.columnSizing,
7
+ totalWidth = _ref.totalWidth;
8
+ var columnWidths = getColumnWidths(columns, columnSizing, totalWidth);
9
+ return _.map(columns, function (col, index) {
10
+ return {
11
+ // 这里还需要排除掉空字符串的情况,id 不能为 ''
12
+ accessorKey: col.dataIndex || "column-".concat(index),
13
+ header: Header,
14
+ cell: Cell,
15
+ size: columnWidths[index],
16
+ meta: col
17
+ };
18
+ });
19
+ }
20
+
21
+ /**
22
+ * 计算
23
+ * @param columns
24
+ * @param columnSizing
25
+ * @param totalWidth
26
+ * @returns
27
+ */
28
+ export function getColumnWidths(columns, columnSizing, totalWidth) {
29
+ // 可改变列宽情况,react-table 可拖动列宽要求列宽值必须是数字,因为将百分比列宽转换为数字
30
+ var DEFAULT_WIDTH = 150;
31
+ // 计算出每个列的具体宽度值
32
+ var columnWidthInfos = _.map(columns, function (col) {
33
+ var width = col.width;
34
+ if (typeof width === 'number') {
35
+ return {
36
+ width: width,
37
+ isSpecific: true
38
+ };
39
+ }
40
+ if (typeof width === 'string' && isPercentage(width)) {
41
+ var widthNum = getNumberFromPercentageStr(width);
42
+ return {
43
+ width: widthNum * totalWidth / 100,
44
+ isSpecific: false
45
+ };
46
+ }
47
+ return {
48
+ width: DEFAULT_WIDTH,
49
+ isSpecific: false,
50
+ radio: 0
51
+ };
52
+ });
53
+ var totalColumnWidth = _.sum(columnWidthInfos.map(function (col) {
54
+ return col.width;
55
+ }));
56
+ if (totalWidth !== totalColumnWidth) {
57
+ // 如果实际宽度不等于列总宽度之和,则将差额的宽度按列宽的比例分配给各个没有设置具体宽度值的列
58
+
59
+ // 指定了具体值的列的总宽度
60
+ var specificWidth = _.sum(_.filter(columnWidthInfos, function (col) {
61
+ return col.isSpecific;
62
+ }).map(function (col) {
63
+ return col.width;
64
+ }));
65
+ var offset = totalWidth - totalColumnWidth;
66
+
67
+ // 计算每个没有设置具体宽度值的列应该分到的差值的占比
68
+ var totalOffsetWidth = totalColumnWidth - specificWidth;
69
+ var newColumnWidths = columnWidthInfos.map(function (colWidthInfo) {
70
+ if (colWidthInfo.isSpecific) {
71
+ return colWidthInfo.width;
72
+ }
73
+ // 未指定具体宽度值的列,分配差值
74
+ if (totalOffsetWidth !== 0) {
75
+ var radio = colWidthInfo.width / totalOffsetWidth;
76
+ return colWidthInfo.width + offset * radio;
77
+ }
78
+ return 0;
79
+ });
80
+
81
+ // 计算新的列宽度总和
82
+ var newTotalColumnWidth = _.sum(newColumnWidths);
83
+
84
+ // 计算并处理可能存在的误差
85
+ var errorWidth = totalWidth - newTotalColumnWidth;
86
+
87
+ // 将误差加到最后一个没有指定具体值的列上
88
+ var colIndex = _.findLastIndex(columnWidthInfos, function (columnWidthInfo) {
89
+ return !columnWidthInfo.isSpecific;
90
+ });
91
+ if (colIndex !== -1) {
92
+ var newWidth = newColumnWidths[colIndex] + errorWidth;
93
+ if (newWidth >= 0) {
94
+ newColumnWidths[colIndex] += errorWidth;
95
+ }
96
+ }
97
+ return newColumnWidths;
98
+ } else {
99
+ return _.map(columnWidthInfos, function (columnWidthInfo) {
100
+ return columnWidthInfo.width;
101
+ });
102
+ }
103
+ }
104
+ export function getNumberFromPercentageStr(str) {
105
+ var numberStr = str.replace('%', '');
106
+ return parseFloat(numberStr);
107
+ }
108
+
109
+ /**
110
+ * 判断是否百分比字符串
111
+ * @param str
112
+ * @returns
113
+ */
114
+ export function isPercentage(str) {
115
+ var regex = /^100(\.\d+)?%?$|^\d{1,2}(\.\d+)?%$/;
116
+ return regex.test(str);
117
+ }
118
+ var ALD_PREFIX = 'ald-table';
119
+ export function prefixCls(className) {
120
+ return "".concat(ALD_PREFIX, "-").concat(className);
121
+ }
@@ -0,0 +1,26 @@
1
+ /// <reference types="react" />
2
+ import { IScroll } from '../types';
3
+ /**
4
+ * 横向滚动条相关逻辑
5
+ * @param props
6
+ * @returns
7
+ */
8
+ export default function useScrollX(props: IProps): {
9
+ realWidth: number | undefined;
10
+ headerRef: import("react").RefObject<HTMLDivElement>;
11
+ onBodyScroll: (e: React.UIEvent<HTMLDivElement>) => void;
12
+ };
13
+ interface IProps {
14
+ scroll: IScroll;
15
+ totalSize: {
16
+ width: number;
17
+ height: number;
18
+ } | null;
19
+ }
20
+ /**
21
+ * 获取可用实际宽度
22
+ * @param scrollX 横向宽度值
23
+ * @param width 容器的宽度
24
+ */
25
+ export declare function getRealWidth(scrollX: IScroll['x'], width: number): number;
26
+ export {};
@@ -0,0 +1,57 @@
1
+ import { useCallback, useMemo, useRef } from 'react';
2
+ import { getNumberFromPercentageStr } from "../helper";
3
+ /**
4
+ * 横向滚动条相关逻辑
5
+ * @param props
6
+ * @returns
7
+ */
8
+ export default function useScrollX(props) {
9
+ var scroll = props.scroll,
10
+ totalSize = props.totalSize;
11
+ var headerRef = useRef(null);
12
+ var animationFrameId = useRef(null);
13
+ var x = scroll.x;
14
+ var realWidth = useMemo(function () {
15
+ if (!totalSize) {
16
+ return;
17
+ }
18
+ return getRealWidth(x, totalSize.width);
19
+ }, [x, totalSize]);
20
+ var onBodyScroll = useCallback(function (e) {
21
+ // animationFrame 可以保证横向滚动时,header 和 body 不会出现不同步的情况
22
+ if (animationFrameId.current !== null) {
23
+ window.cancelAnimationFrame(animationFrameId.current);
24
+ }
25
+ var scrollLeft = e.target.scrollLeft;
26
+ animationFrameId.current = window.requestAnimationFrame(function () {
27
+ var _headerRef$current;
28
+ (_headerRef$current = headerRef.current) === null || _headerRef$current === void 0 ? void 0 : _headerRef$current.scrollTo({
29
+ left: scrollLeft
30
+ });
31
+ });
32
+ }, []);
33
+ return {
34
+ realWidth: realWidth,
35
+ headerRef: headerRef,
36
+ onBodyScroll: onBodyScroll
37
+ };
38
+ }
39
+ /**
40
+ * 获取可用实际宽度
41
+ * @param scrollX 横向宽度值
42
+ * @param width 容器的宽度
43
+ */
44
+ export function getRealWidth(scrollX, width) {
45
+ if (typeof scrollX === 'string') {
46
+ var percent = getNumberFromPercentageStr(scrollX);
47
+ if (isNaN(percent)) {
48
+ console.error('scroll.x is not percentage string');
49
+ return width;
50
+ }
51
+ return percent * width / 100;
52
+ }
53
+ if (typeof scrollX === 'number') {
54
+ return scrollX;
55
+ }
56
+ return width;
57
+ }
@@ -1,2 +1,4 @@
1
- import Table from './Table';
1
+ import React from 'react';
2
+ import { ITableProps } from './types';
3
+ declare function Table<TDataItem extends object>(props: ITableProps<TDataItem>): React.JSX.Element;
2
4
  export default Table;
@@ -1,2 +1,177 @@
1
- import Table from "./Table";
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
4
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
9
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
10
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
+ import { flexRender, getCoreRowModel, useReactTable } from '@tanstack/react-table';
12
+ import classnames from 'classnames';
13
+ import _ from 'lodash';
14
+ import ResizeObserver from 'rc-resize-observer';
15
+ import React, { useMemo, useState } from 'react';
16
+ import { Empty, Pagination, ScrollArea, Spin } from '..';
17
+ import { getTableColumns, prefixCls } from "./helper";
18
+ import useScrollX from "./hooks/useScroll";
19
+ // 32 行高 + 1 底线高度
20
+ var HEADER_HEIGHT = 33;
21
+ function Table(props) {
22
+ var _classnames;
23
+ var columns = props.columns,
24
+ data = props.data,
25
+ rowKey = props.rowKey,
26
+ columnSizing = props.columnSizing,
27
+ sticky = props.sticky,
28
+ loading = props.loading,
29
+ pagination = props.pagination,
30
+ _props$scroll = props.scroll,
31
+ scroll = _props$scroll === void 0 ? {} : _props$scroll,
32
+ emptyComponent = props.empty,
33
+ _props$rowClassName = props.rowClassName,
34
+ rowClassName = _props$rowClassName === void 0 ? function () {
35
+ return '';
36
+ } : _props$rowClassName;
37
+ var _useState = useState(null),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ totalSize = _useState2[0],
40
+ setTotalSize = _useState2[1];
41
+ var y = scroll.y;
42
+ var _useScrollX = useScrollX({
43
+ totalSize: totalSize,
44
+ scroll: scroll
45
+ }),
46
+ realWidth = _useScrollX.realWidth,
47
+ onBodyScroll = _useScrollX.onBodyScroll,
48
+ headerRef = _useScrollX.headerRef;
49
+ var tableColumns = useMemo(function () {
50
+ if (!totalSize || !realWidth) {
51
+ return [];
52
+ }
53
+ return getTableColumns({
54
+ columns: columns,
55
+ columnSizing: !!columnSizing,
56
+ totalWidth: realWidth
57
+ });
58
+ }, [columns, totalSize, columnSizing, realWidth]);
59
+ var tableInstance = useReactTable({
60
+ columns: tableColumns,
61
+ data: data,
62
+ getCoreRowModel: getCoreRowModel(),
63
+ getRowId: function getRowId(row, index) {
64
+ var rowKeyStr = index;
65
+ if (typeof rowKey === 'function') {
66
+ rowKeyStr = rowKey(row);
67
+ } else if (rowKey !== undefined) {
68
+ rowKeyStr = _.get(row, rowKey, index);
69
+ }
70
+ return _.toString(rowKeyStr);
71
+ },
72
+ columnResizeMode: 'onChange'
73
+ });
74
+
75
+ // 渲染 header
76
+ var headerGroups = tableInstance.getHeaderGroups();
77
+ var _tableInstance$getRow = tableInstance.getRowModel(),
78
+ rows = _tableInstance$getRow.rows;
79
+ var isStickyWork = !!sticky && y === undefined;
80
+ var headerStyle = {};
81
+ if (isStickyWork && _.get(sticky, 'offsetHeader')) {
82
+ headerStyle.top = _.get(sticky, 'offsetHeader', 0);
83
+ }
84
+ var headerContent = /*#__PURE__*/React.createElement("div", {
85
+ className: classnames(prefixCls('header'), (_classnames = {}, _defineProperty(_classnames, prefixCls('sticky'), isStickyWork), _defineProperty(_classnames, prefixCls('overflow-x'), true), _classnames)),
86
+ ref: headerRef,
87
+ style: headerStyle
88
+ }, _.map(headerGroups, function (headerGroup) {
89
+ return /*#__PURE__*/React.createElement("div", {
90
+ className: prefixCls('tr'),
91
+ key: headerGroup.id
92
+ }, _.map(headerGroup.headers, function (header) {
93
+ var _classnames2;
94
+ return /*#__PURE__*/React.createElement("div", {
95
+ className: prefixCls('th'),
96
+ style: {
97
+ width: header.getSize()
98
+ },
99
+ key: header.id
100
+ }, flexRender(header.column.columnDef.header, header.getContext()), columnSizing && /*#__PURE__*/React.createElement("div", {
101
+ onMouseDown: header.getResizeHandler(),
102
+ onTouchStart: header.getResizeHandler(),
103
+ className: classnames(prefixCls('resizer'), (_classnames2 = {}, _defineProperty(_classnames2, prefixCls('self-resizing'), header.column.getIsResizing()), _defineProperty(_classnames2, prefixCls('resizing'), tableInstance.getState().columnSizingInfo.isResizingColumn), _classnames2))
104
+ }));
105
+ }));
106
+ }));
107
+
108
+ // 渲染 body
109
+ var bodyContent = /*#__PURE__*/React.createElement(Spin, {
110
+ spinning: !!loading,
111
+ tip: "Loading..."
112
+ }, /*#__PURE__*/React.createElement("div", {
113
+ className: prefixCls('body'),
114
+ style: {
115
+ width: tableInstance.getTotalSize()
116
+ }
117
+ }, rows.length === 0 && !loading ? emptyComponent || /*#__PURE__*/React.createElement("div", {
118
+ className: prefixCls('empty')
119
+ }, /*#__PURE__*/React.createElement(Empty, {
120
+ title: "No Data",
121
+ image: Empty.PRESENTED_IMAGE_SEARCH
122
+ })) : _.map(rows, function (row, rowIndex) {
123
+ return /*#__PURE__*/React.createElement("div", {
124
+ key: row.id,
125
+ className: classnames(prefixCls('tr'), rowClassName(row.original, rowIndex))
126
+ }, _.map(row.getVisibleCells(), function (cell) {
127
+ return /*#__PURE__*/React.createElement("div", {
128
+ className: prefixCls('td'),
129
+ key: cell.id,
130
+ style: {
131
+ width: cell.column.getSize()
132
+ }
133
+ }, flexRender(cell.column.columnDef.cell, cell.getContext()));
134
+ }));
135
+ })));
136
+ var tableContent = y && totalSize ? /*#__PURE__*/React.createElement("div", {
137
+ className: prefixCls('content')
138
+ }, /*#__PURE__*/React.createElement("div", {
139
+ className: prefixCls('header'),
140
+ style: {
141
+ height: HEADER_HEIGHT
142
+ }
143
+ }, headerContent), /*#__PURE__*/React.createElement("div", {
144
+ style: {
145
+ height: totalSize.height - HEADER_HEIGHT
146
+ },
147
+ className: prefixCls('body-scroll')
148
+ }, /*#__PURE__*/React.createElement(ScrollArea, {
149
+ onViewportScroll: onBodyScroll
150
+ }, bodyContent))) : /*#__PURE__*/React.createElement("div", {
151
+ className: prefixCls('content')
152
+ }, headerContent, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(ScrollArea, {
153
+ onViewportScroll: onBodyScroll
154
+ }, bodyContent)));
155
+ var tableStyle = {};
156
+ if (y) {
157
+ tableStyle.height = y;
158
+ }
159
+ return /*#__PURE__*/React.createElement("div", {
160
+ className: prefixCls('container'),
161
+ style: tableStyle
162
+ }, /*#__PURE__*/React.createElement(ResizeObserver, {
163
+ onResize: function onResize(size) {
164
+ // 在 Modal 中使用表格组件,偶现 width 和 offsetWidth 不一致的情况,导致表格宽度不正确,具体原因未找到
165
+ // 实践发现 offsetWidth 一直是正确的宽度
166
+ setTotalSize({
167
+ width: size.offsetWidth,
168
+ height: size.offsetHeight
169
+ });
170
+ }
171
+ }, /*#__PURE__*/React.createElement("div", {
172
+ className: classnames(prefixCls('main'), _defineProperty({}, prefixCls('overflow-hidden'), !!y))
173
+ }, tableContent)), pagination && /*#__PURE__*/React.createElement("div", {
174
+ className: prefixCls('pagination')
175
+ }, /*#__PURE__*/React.createElement(Pagination, pagination)));
176
+ }
2
177
  export default Table;