@hi-ui/table 4.3.0 → 4.3.2-alpha.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 (138) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/lib/cjs/BaseTable.js +136 -189
  3. package/lib/cjs/ColGroupContent.js +5 -28
  4. package/lib/cjs/SettingDrawer.js +76 -127
  5. package/lib/cjs/Table.js +107 -171
  6. package/lib/cjs/TableAdvancedFilter.js +49 -85
  7. package/lib/cjs/TableBody.js +42 -73
  8. package/lib/cjs/TableCell.js +56 -102
  9. package/lib/cjs/TableColumnMenu.js +39 -77
  10. package/lib/cjs/TableEmbedRow.js +11 -38
  11. package/lib/cjs/TableHeader.js +8 -33
  12. package/lib/cjs/TableRow.js +48 -88
  13. package/lib/cjs/TableSettingMenu.js +48 -94
  14. package/lib/cjs/TbodyContent.js +28 -56
  15. package/lib/cjs/TheadContent.js +20 -49
  16. package/lib/cjs/_virtual/index.js +0 -3
  17. package/lib/cjs/_virtual/index2.js +0 -3
  18. package/lib/cjs/_virtual/react-is.development.js +0 -3
  19. package/lib/cjs/_virtual/react-is.production.min.js +0 -3
  20. package/lib/cjs/context.js +0 -9
  21. package/lib/cjs/hooks/use-async-switch.js +13 -51
  22. package/lib/cjs/hooks/use-check.js +47 -77
  23. package/lib/cjs/hooks/use-col-hidden.js +16 -28
  24. package/lib/cjs/hooks/use-col-set.js +5 -18
  25. package/lib/cjs/hooks/use-col-sorter.js +18 -32
  26. package/lib/cjs/hooks/use-col-width.js +21 -57
  27. package/lib/cjs/hooks/use-colgroup.js +63 -85
  28. package/lib/cjs/hooks/use-drag.js +10 -31
  29. package/lib/cjs/hooks/use-embed-expand.js +23 -68
  30. package/lib/cjs/hooks/use-expand.js +32 -64
  31. package/lib/cjs/hooks/use-pagination.js +19 -50
  32. package/lib/cjs/hooks/use-queue.js +2 -14
  33. package/lib/cjs/icons/index.js +4 -21
  34. package/lib/cjs/index.js +0 -4
  35. package/lib/cjs/node_modules/classnames/index.js +2 -11
  36. package/lib/cjs/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js +1090 -0
  37. package/lib/cjs/node_modules/rc-resize-observer/es/index.js +10 -68
  38. package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +1 -17
  39. package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +1 -14
  40. package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +1 -25
  41. package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +1 -5
  42. package/lib/cjs/node_modules/rc-util/es/Dom/canUseDom.js +0 -2
  43. package/lib/cjs/node_modules/rc-util/es/Dom/findDOMNode.js +1 -14
  44. package/lib/cjs/node_modules/rc-util/es/hooks/useLayoutEffect.js +2 -9
  45. package/lib/cjs/node_modules/rc-util/es/raf.js +0 -11
  46. package/lib/cjs/node_modules/rc-virtual-list/es/Filler.js +6 -25
  47. package/lib/cjs/node_modules/rc-virtual-list/es/Item.js +3 -14
  48. package/lib/cjs/node_modules/rc-virtual-list/es/List.js +103 -194
  49. package/lib/cjs/node_modules/rc-virtual-list/es/ScrollBar.js +16 -96
  50. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useChildren.js +2 -11
  51. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +8 -34
  52. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +0 -10
  53. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useHeights.js +6 -39
  54. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +0 -16
  55. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +4 -9
  56. package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +3 -28
  57. package/lib/cjs/node_modules/rc-virtual-list/es/index.js +0 -2
  58. package/lib/cjs/node_modules/rc-virtual-list/es/utils/CacheMap.js +2 -9
  59. package/lib/cjs/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +0 -15
  60. package/lib/cjs/node_modules/rc-virtual-list/es/utils/isFirefox.js +0 -2
  61. package/lib/cjs/node_modules/react-is/cjs/react-is.development.js +3 -29
  62. package/lib/cjs/node_modules/react-is/cjs/react-is.production.min.js +19 -45
  63. package/lib/cjs/node_modules/react-is/index.js +0 -5
  64. package/lib/cjs/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +83 -248
  65. package/lib/cjs/packages/hooks/use-merge-refs/lib/esm/index.js +65 -0
  66. package/lib/cjs/packages/ui/scrollbar/lib/esm/Scrollbar.js +147 -0
  67. package/lib/cjs/packages/ui/scrollbar/lib/esm/styles/index.scss.js +28 -0
  68. package/lib/cjs/packages/ui/scrollbar/lib/esm/utils/index.js +68 -0
  69. package/lib/cjs/styles/index.scss.js +1 -4
  70. package/lib/cjs/use-table.js +276 -361
  71. package/lib/cjs/utils/index.js +11 -45
  72. package/lib/esm/BaseTable.js +117 -138
  73. package/lib/esm/ColGroupContent.js +3 -9
  74. package/lib/esm/SettingDrawer.js +64 -83
  75. package/lib/esm/Table.js +97 -124
  76. package/lib/esm/TableAdvancedFilter.js +37 -47
  77. package/lib/esm/TableBody.js +37 -44
  78. package/lib/esm/TableCell.js +48 -72
  79. package/lib/esm/TableColumnMenu.js +24 -38
  80. package/lib/esm/TableEmbedRow.js +8 -15
  81. package/lib/esm/TableHeader.js +5 -11
  82. package/lib/esm/TableRow.js +36 -51
  83. package/lib/esm/TableSettingMenu.js +33 -49
  84. package/lib/esm/TbodyContent.js +20 -27
  85. package/lib/esm/TheadContent.js +14 -21
  86. package/lib/esm/context.js +0 -4
  87. package/lib/esm/hooks/use-async-switch.js +9 -28
  88. package/lib/esm/hooks/use-check.js +42 -55
  89. package/lib/esm/hooks/use-col-hidden.js +16 -21
  90. package/lib/esm/hooks/use-col-set.js +5 -13
  91. package/lib/esm/hooks/use-col-sorter.js +18 -23
  92. package/lib/esm/hooks/use-col-width.js +14 -34
  93. package/lib/esm/hooks/use-colgroup.js +60 -66
  94. package/lib/esm/hooks/use-drag.js +9 -13
  95. package/lib/esm/hooks/use-embed-expand.js +20 -42
  96. package/lib/esm/hooks/use-expand.js +32 -56
  97. package/lib/esm/hooks/use-pagination.js +13 -25
  98. package/lib/esm/hooks/use-queue.js +2 -10
  99. package/lib/esm/node_modules/classnames/index.js +2 -9
  100. package/lib/esm/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js +1084 -0
  101. package/lib/esm/node_modules/rc-resize-observer/es/index.js +3 -26
  102. package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +0 -3
  103. package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +1 -2
  104. package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +0 -8
  105. package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +0 -5
  106. package/lib/esm/node_modules/rc-util/es/Dom/canUseDom.js +0 -1
  107. package/lib/esm/node_modules/rc-util/es/Dom/findDOMNode.js +1 -2
  108. package/lib/esm/node_modules/rc-util/es/hooks/useLayoutEffect.js +1 -0
  109. package/lib/esm/node_modules/rc-util/es/raf.js +0 -10
  110. package/lib/esm/node_modules/rc-virtual-list/es/Filler.js +4 -15
  111. package/lib/esm/node_modules/rc-virtual-list/es/Item.js +1 -3
  112. package/lib/esm/node_modules/rc-virtual-list/es/List.js +101 -174
  113. package/lib/esm/node_modules/rc-virtual-list/es/ScrollBar.js +14 -86
  114. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useChildren.js +0 -2
  115. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +6 -25
  116. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +0 -6
  117. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useHeights.js +4 -28
  118. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +0 -13
  119. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +4 -8
  120. package/lib/esm/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +1 -19
  121. package/lib/esm/node_modules/rc-virtual-list/es/index.js +1 -1
  122. package/lib/esm/node_modules/rc-virtual-list/es/utils/CacheMap.js +2 -8
  123. package/lib/esm/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +1 -12
  124. package/lib/esm/node_modules/rc-virtual-list/es/utils/isFirefox.js +0 -1
  125. package/lib/esm/node_modules/react-is/cjs/react-is.development.js +4 -27
  126. package/lib/esm/node_modules/react-is/cjs/react-is.production.min.js +20 -44
  127. package/lib/esm/node_modules/react-is/index.js +0 -1
  128. package/lib/esm/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +82 -248
  129. package/lib/esm/packages/hooks/use-merge-refs/lib/esm/index.js +62 -0
  130. package/lib/esm/packages/ui/scrollbar/lib/esm/Scrollbar.js +145 -0
  131. package/lib/esm/packages/ui/scrollbar/lib/esm/styles/index.scss.js +23 -0
  132. package/lib/esm/packages/ui/scrollbar/lib/esm/utils/index.js +66 -0
  133. package/lib/esm/styles/index.scss.js +1 -3
  134. package/lib/esm/use-table.js +268 -323
  135. package/lib/esm/utils/index.js +11 -41
  136. package/lib/types/context.d.ts +2 -0
  137. package/lib/types/use-table.d.ts +8 -2
  138. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @hi-ui/table
2
2
 
3
+ ## 4.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2654](https://github.com/XiaoMi/hiui/pull/2654) [`dc002a32a`](https://github.com/XiaoMi/hiui/commit/dc002a32a2c6f538b0df37c63d34f603647d9b70) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: 增加 scrollbar 参数,用于在 Windows 环境下优化滚动条样式
8
+
9
+ - Updated dependencies [[`b477d91db`](https://github.com/XiaoMi/hiui/commit/b477d91db15bbc92c8712a9a771af5b332779315)]:
10
+ - @hi-ui/button@4.0.6
11
+ - @hi-ui/icon-button@4.0.5
12
+ - @hi-ui/pagination@4.0.11
13
+
3
14
  ## 4.3.0
4
15
 
5
16
  ### Minor Changes
@@ -9,115 +9,78 @@
9
9
  */
10
10
  'use strict';
11
11
 
12
- var _typeof = require("@babel/runtime/helpers/typeof");
13
-
14
- Object.defineProperty(exports, '__esModule', {
15
- value: true
16
- });
17
-
18
12
  var tslib = require('tslib');
19
-
20
13
  var React = require('react');
21
-
22
14
  var classname = require('@hi-ui/classname');
23
-
24
15
  var env = require('@hi-ui/env');
25
-
26
16
  var core = require('@hi-ui/core');
27
-
28
17
  var iconButton = require('@hi-ui/icon-button');
29
-
30
18
  var icons = require('@hi-ui/icons');
31
-
32
19
  var typeAssertion = require('@hi-ui/type-assertion');
33
-
34
20
  var TableBody = require('./TableBody.js');
35
-
36
21
  var TableHeader = require('./TableHeader.js');
37
-
38
22
  var index$1 = require('./icons/index.js');
39
-
40
23
  var context = require('./context.js');
41
-
42
24
  var index = require('./utils/index.js');
43
-
44
25
  var useTable = require('./use-table.js');
45
-
46
26
  var useEmbedExpand = require('./hooks/use-embed-expand.js');
47
-
48
27
  var TheadContent = require('./TheadContent.js');
49
-
50
28
  var ColGroupContent = require('./ColGroupContent.js');
51
-
52
29
  var TbodyContent = require('./TbodyContent.js');
53
-
54
- function _interopDefaultLegacy(e) {
55
- return e && _typeof(e) === 'object' && 'default' in e ? e : {
56
- 'default': e
57
- };
58
- }
59
-
60
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
61
-
62
30
  var _role = 'table';
63
-
64
31
  var _prefix = classname.getPrefixCls('table');
65
-
66
32
  var EMBED_DATA_KEY = "TABLE_EMBED_DATA_KEY_" + index.uuid();
67
33
  var DEFAULT_COLUMNS = [];
68
34
  var DEFAULT_DATA = [];
69
35
  var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
70
36
  var _a$prefixCls = _a.prefixCls,
71
- prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
72
- _a$role = _a.role,
73
- role = _a$role === void 0 ? _role : _a$role,
74
- className = _a.className,
75
- _a$columns = _a.columns,
76
- columns = _a$columns === void 0 ? DEFAULT_COLUMNS : _a$columns,
77
- _a$data = _a.data,
78
- data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
79
- _a$striped = _a.striped,
80
- striped = _a$striped === void 0 ? false : _a$striped,
81
- borderedProp = _a.bordered,
82
- rowExpandable = _a.rowExpandable,
83
- defaultExpandedEmbedRowKeys = _a.defaultExpandedEmbedRowKeys,
84
- expandedEmbedRowKeys = _a.expandedEmbedRowKeys,
85
- onEmbedExpand = _a.onEmbedExpand,
86
- expandedRender = _a.expandedRender,
87
- _a$size = _a.size,
88
- size = _a$size === void 0 ? 'md' : _a$size,
89
- extra = _a.extra,
90
- onRow = _a.onRow,
91
- stickyFooter = _a.stickyFooter,
92
- _a$stickyFooterBottom = _a.stickyFooterBottom,
93
- stickyFooterBottom = _a$stickyFooterBottom === void 0 ? 0 : _a$stickyFooterBottom,
94
- _a$fixedColumnTrigger = _a.fixedColumnTrigger,
95
- fixedColumnTrigger = _a$fixedColumnTrigger === void 0 ? 'auto' : _a$fixedColumnTrigger,
96
- emptyContent = _a.emptyContent,
97
- virtual = _a.virtual,
98
- needDoubleTable = _a.needDoubleTable,
99
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "columns", "data", "striped", "bordered", "rowExpandable", "defaultExpandedEmbedRowKeys", "expandedEmbedRowKeys", "onEmbedExpand", "expandedRender", "size", "extra", "onRow", "onHeaderRow", "stickyFooter", "stickyFooterBottom", "fixedColumnTrigger", "emptyContent", "virtual", "needDoubleTable"]); // ********************** 内嵌式面板 *********************** //
100
-
101
-
37
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
38
+ _a$role = _a.role,
39
+ role = _a$role === void 0 ? _role : _a$role,
40
+ className = _a.className,
41
+ _a$columns = _a.columns,
42
+ columns = _a$columns === void 0 ? DEFAULT_COLUMNS : _a$columns,
43
+ _a$data = _a.data,
44
+ data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
45
+ _a$striped = _a.striped,
46
+ striped = _a$striped === void 0 ? false : _a$striped,
47
+ borderedProp = _a.bordered,
48
+ rowExpandable = _a.rowExpandable,
49
+ defaultExpandedEmbedRowKeys = _a.defaultExpandedEmbedRowKeys,
50
+ expandedEmbedRowKeys = _a.expandedEmbedRowKeys,
51
+ onEmbedExpand = _a.onEmbedExpand,
52
+ expandedRender = _a.expandedRender,
53
+ _a$size = _a.size,
54
+ size = _a$size === void 0 ? 'md' : _a$size,
55
+ extra = _a.extra,
56
+ onRow = _a.onRow,
57
+ stickyFooter = _a.stickyFooter,
58
+ _a$stickyFooterBottom = _a.stickyFooterBottom,
59
+ stickyFooterBottom = _a$stickyFooterBottom === void 0 ? 0 : _a$stickyFooterBottom,
60
+ _a$fixedColumnTrigger = _a.fixedColumnTrigger,
61
+ fixedColumnTrigger = _a$fixedColumnTrigger === void 0 ? 'auto' : _a$fixedColumnTrigger,
62
+ emptyContent = _a.emptyContent,
63
+ virtual = _a.virtual,
64
+ needDoubleTable = _a.needDoubleTable,
65
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "columns", "data", "striped", "bordered", "rowExpandable", "defaultExpandedEmbedRowKeys", "expandedEmbedRowKeys", "onEmbedExpand", "expandedRender", "size", "extra", "onRow", "onHeaderRow", "stickyFooter", "stickyFooterBottom", "fixedColumnTrigger", "emptyContent", "virtual", "needDoubleTable"]);
66
+ // ********************** 内嵌式面板 *********************** //
102
67
  var _useEmbedExpand = useEmbedExpand.useEmbedExpand({
103
- defaultExpandedEmbedRowKeys: defaultExpandedEmbedRowKeys,
104
- rowExpandable: rowExpandable,
105
- expandedEmbedRowKeys: expandedEmbedRowKeys,
106
- onEmbedExpand: onEmbedExpand,
107
- expandedRender: expandedRender
108
- }),
109
- embedExpandable = _useEmbedExpand.embedExpandable,
110
- onEmbedSwitch = _useEmbedExpand.onEmbedSwitch,
111
- isEmbedLoadingId = _useEmbedExpand.isEmbedLoadingId,
112
- getEmbedPanelById = _useEmbedExpand.getEmbedPanelById,
113
- isExpandEmbedRows = _useEmbedExpand.isExpandEmbedRows,
114
- onExpandEmbedRowsChange = _useEmbedExpand.onExpandEmbedRowsChange;
68
+ defaultExpandedEmbedRowKeys: defaultExpandedEmbedRowKeys,
69
+ rowExpandable: rowExpandable,
70
+ expandedEmbedRowKeys: expandedEmbedRowKeys,
71
+ onEmbedExpand: onEmbedExpand,
72
+ expandedRender: expandedRender
73
+ }),
74
+ embedExpandable = _useEmbedExpand.embedExpandable,
75
+ onEmbedSwitch = _useEmbedExpand.onEmbedSwitch,
76
+ isEmbedLoadingId = _useEmbedExpand.isEmbedLoadingId,
77
+ getEmbedPanelById = _useEmbedExpand.getEmbedPanelById,
78
+ isExpandEmbedRows = _useEmbedExpand.isExpandEmbedRows,
79
+ onExpandEmbedRowsChange = _useEmbedExpand.onExpandEmbedRowsChange;
115
80
  /**
116
81
  * 表格列展开折叠操作区
117
82
  */
118
-
119
-
120
- var getEmbedPanelColumn = React__default["default"].useCallback(function (embedExpandable) {
83
+ var getEmbedPanelColumn = React.useCallback(function (embedExpandable) {
121
84
  var embedPanelColumn = {
122
85
  dataKey: EMBED_DATA_KEY,
123
86
  title: '',
@@ -138,111 +101,104 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
138
101
  onSwitch: function onSwitch(shouldExpanded) {
139
102
  onExpandEmbedRowsChange(rowItem, shouldExpanded);
140
103
  },
141
- expandedIcon: /*#__PURE__*/React__default["default"].createElement(icons.MinusSquareOutlined, null),
142
- collapsedIcon: /*#__PURE__*/React__default["default"].createElement(icons.PlusSquareOutlined, null)
104
+ expandedIcon: /*#__PURE__*/React.createElement(icons.MinusSquareOutlined, null),
105
+ collapsedIcon: /*#__PURE__*/React.createElement(icons.PlusSquareOutlined, null)
143
106
  });
144
107
  }
145
108
  };
146
109
  return embedPanelColumn;
147
110
  }, [prefixCls, isExpandEmbedRows, onExpandEmbedRowsChange, isEmbedLoadingId]);
148
- var mergedColumns = React__default["default"].useMemo(function () {
111
+ var mergedColumns = React.useMemo(function () {
149
112
  if (embedExpandable) {
150
113
  var embedColumn = getEmbedPanelColumn(embedExpandable);
151
114
  return [embedColumn].concat(columns);
152
115
  }
153
-
154
116
  return columns;
155
117
  }, [embedExpandable, getEmbedPanelColumn, columns]);
156
118
  var i18n = core.useLocaleContext();
157
-
158
119
  var _useMemo = React.useMemo(function () {
159
- // 确保包含 avg 属性,且值为数字类型的字符串
160
- var avgRow = {
161
- id: 'avg',
162
- raw: {
163
- key: 'avg'
164
- }
165
- };
166
- var hasAvgColumn = false;
167
- columns.forEach(function (column, index$1) {
168
- if (index$1 === 0) {
169
- // @ts-ignore
170
- avgRow.raw[column.dataKey] = i18n.get('table.average');
171
- }
172
-
173
- if (index.checkNeedTotalOrEvg(data, column, 'avg')) {
174
- hasAvgColumn = true; // @ts-ignore
175
- // @ts-ignore
176
-
177
- avgRow.raw[column.dataKey] = index.getTotalOrEvgRowData(data, column, true);
178
- }
179
- });
180
- return {
181
- avgRow: avgRow,
182
- hasAvgColumn: hasAvgColumn
183
- };
184
- }, [columns, data, i18n]),
185
- avgRow = _useMemo.avgRow,
186
- hasAvgColumn = _useMemo.hasAvgColumn;
187
-
120
+ // 确保包含 avg 属性,且值为数字类型的字符串
121
+ var avgRow = {
122
+ id: 'avg',
123
+ raw: {
124
+ key: 'avg'
125
+ }
126
+ };
127
+ var hasAvgColumn = false;
128
+ columns.forEach(function (column, index$1) {
129
+ if (index$1 === 0) {
130
+ // @ts-ignore
131
+ avgRow.raw[column.dataKey] = i18n.get('table.average');
132
+ }
133
+ if (index.checkNeedTotalOrEvg(data, column, 'avg')) {
134
+ hasAvgColumn = true;
135
+ // @ts-ignore
136
+ // @ts-ignore
137
+ avgRow.raw[column.dataKey] = index.getTotalOrEvgRowData(data, column, true);
138
+ }
139
+ });
140
+ return {
141
+ avgRow: avgRow,
142
+ hasAvgColumn: hasAvgColumn
143
+ };
144
+ }, [columns, data, i18n]),
145
+ avgRow = _useMemo.avgRow,
146
+ hasAvgColumn = _useMemo.hasAvgColumn;
188
147
  var _useMemo2 = React.useMemo(function () {
189
- // 确保包含total属性,且值为数字类型的字符串
190
- var sumRow = {
191
- id: 'sum',
192
- raw: {
193
- key: 'sum'
194
- }
195
- };
196
- var hasSumColumn = false;
197
- columns.forEach(function (column, index$1) {
198
- if (index$1 === 0) {
199
- // @ts-ignore
200
- sumRow.raw[column.dataKey] = i18n.get('table.total');
201
- }
202
-
203
- if (index.checkNeedTotalOrEvg(data, column, 'total')) {
204
- hasSumColumn = true; // 获取当前数据最大小数点个数,并设置最后总和值小数点
205
- // @ts-ignore
206
- // 获取当前数据最大小数点个数,并设置最后总和值小数点
207
- // @ts-ignore
208
-
209
- sumRow.raw[column.dataKey] = index.getTotalOrEvgRowData(data, column, false);
210
- }
211
- });
212
- return {
213
- sumRow: sumRow,
214
- hasSumColumn: hasSumColumn
215
- };
216
- }, [columns, data, i18n]),
217
- sumRow = _useMemo2.sumRow,
218
- hasSumColumn = _useMemo2.hasSumColumn;
219
-
148
+ // 确保包含total属性,且值为数字类型的字符串
149
+ var sumRow = {
150
+ id: 'sum',
151
+ raw: {
152
+ key: 'sum'
153
+ }
154
+ };
155
+ var hasSumColumn = false;
156
+ columns.forEach(function (column, index$1) {
157
+ if (index$1 === 0) {
158
+ // @ts-ignore
159
+ sumRow.raw[column.dataKey] = i18n.get('table.total');
160
+ }
161
+ if (index.checkNeedTotalOrEvg(data, column, 'total')) {
162
+ hasSumColumn = true;
163
+ // 获取当前数据最大小数点个数,并设置最后总和值小数点
164
+ // @ts-ignore
165
+ // 获取当前数据最大小数点个数,并设置最后总和值小数点
166
+ // @ts-ignore
167
+ sumRow.raw[column.dataKey] = index.getTotalOrEvgRowData(data, column, false);
168
+ }
169
+ });
170
+ return {
171
+ sumRow: sumRow,
172
+ hasSumColumn: hasSumColumn
173
+ };
174
+ }, [columns, data, i18n]),
175
+ sumRow = _useMemo2.sumRow,
176
+ hasSumColumn = _useMemo2.hasSumColumn;
220
177
  var providedValue = useTable.useTable(Object.assign(Object.assign({}, rest), {
221
178
  columns: mergedColumns,
222
179
  data: data,
223
180
  virtual: virtual
224
181
  }));
225
182
  var rootProps = providedValue.rootProps,
226
- bordered = providedValue.bordered,
227
- leftFrozenColKeys = providedValue.leftFrozenColKeys,
228
- rightFrozenColKeys = providedValue.rightFrozenColKeys,
229
- leftFixedColumnsWidth = providedValue.leftFixedColumnsWidth,
230
- rightFixedColumnsWidth = providedValue.rightFixedColumnsWidth,
231
- scrollSize = providedValue.scrollSize,
232
- getTableHeaderProps = providedValue.getTableHeaderProps,
233
- scrollBodyElementRef = providedValue.scrollBodyElementRef,
234
- onTableBodyScroll = providedValue.onTableBodyScroll,
235
- canScroll = providedValue.canScroll,
236
- bodyTableRef = providedValue.bodyTableRef,
237
- scrollWidth = providedValue.scrollWidth,
238
- footerRender = providedValue.footerRender;
183
+ bordered = providedValue.bordered,
184
+ leftFrozenColKeys = providedValue.leftFrozenColKeys,
185
+ rightFrozenColKeys = providedValue.rightFrozenColKeys,
186
+ leftFixedColumnsWidth = providedValue.leftFixedColumnsWidth,
187
+ rightFixedColumnsWidth = providedValue.rightFixedColumnsWidth,
188
+ scrollSize = providedValue.scrollSize,
189
+ getTableHeaderProps = providedValue.getTableHeaderProps,
190
+ scrollBodyElementRef = providedValue.scrollBodyElementRef,
191
+ onTableBodyScroll = providedValue.onTableBodyScroll,
192
+ canScroll = providedValue.canScroll,
193
+ bodyTableRef = providedValue.bodyTableRef,
194
+ scrollWidth = providedValue.scrollWidth,
195
+ footerRender = providedValue.footerRender;
239
196
  var hasBorder = borderedProp !== null && borderedProp !== void 0 ? borderedProp : bordered;
240
197
  var extraHeader = extra && extra.header;
241
198
  var extraFooter = extra && extra.footer;
242
199
  var alwaysFixedColumn = fixedColumnTrigger === 'always';
243
-
244
200
  var renderTable = function renderTable() {
245
- return needDoubleTable ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", Object.assign({}, getTableHeaderProps()), /*#__PURE__*/React__default["default"].createElement(TableHeader.TableHeader, null), extraHeader ? /*#__PURE__*/React__default["default"].createElement("div", {
201
+ return needDoubleTable ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", Object.assign({}, getTableHeaderProps()), /*#__PURE__*/React.createElement(TableHeader.TableHeader, null), extraHeader ? /*#__PURE__*/React.createElement("div", {
246
202
  style: {
247
203
  position: 'absolute',
248
204
  right: 0,
@@ -250,9 +206,9 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
250
206
  bottom: 0,
251
207
  top: 0
252
208
  }
253
- }, extraHeader) : null), /*#__PURE__*/React__default["default"].createElement(TableBody.TableBody, {
209
+ }, extraHeader) : null), /*#__PURE__*/React.createElement(TableBody.TableBody, {
254
210
  emptyContent: emptyContent
255
- })) : /*#__PURE__*/React__default["default"].createElement("div", {
211
+ })) : /*#__PURE__*/React.createElement("div", {
256
212
  ref: scrollBodyElementRef,
257
213
  className: prefixCls + "-content",
258
214
  onScroll: onTableBodyScroll,
@@ -260,45 +216,43 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
260
216
  // 表格宽度大于div宽度才出现横向滚动条
261
217
  overflowX: canScroll ? 'scroll' : undefined
262
218
  }
263
- }, /*#__PURE__*/React__default["default"].createElement("table", {
219
+ }, /*#__PURE__*/React.createElement("table", {
264
220
  ref: bodyTableRef,
265
221
  style: {
266
222
  width: canScroll && scrollWidth !== undefined ? scrollWidth : '100%'
267
223
  }
268
- }, /*#__PURE__*/React__default["default"].createElement(ColGroupContent.ColGroupContent, null), /*#__PURE__*/React__default["default"].createElement(TheadContent.TheadContent, null), /*#__PURE__*/React__default["default"].createElement(TbodyContent.TbodyContent, {
224
+ }, /*#__PURE__*/React.createElement(ColGroupContent.ColGroupContent, null), /*#__PURE__*/React.createElement(TheadContent.TheadContent, null), /*#__PURE__*/React.createElement(TbodyContent.TbodyContent, {
269
225
  emptyContent: emptyContent
270
226
  })));
271
227
  };
272
-
273
228
  var renderFreezeShadow = function renderFreezeShadow() {
274
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, (alwaysFixedColumn || scrollSize.scrollLeft > 0) && leftFrozenColKeys.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
229
+ return /*#__PURE__*/React.createElement(React.Fragment, null, (alwaysFixedColumn || scrollSize.scrollLeft > 0) && leftFrozenColKeys.length > 0 ? /*#__PURE__*/React.createElement("div", {
275
230
  className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--left",
276
231
  style: {
277
232
  width: leftFixedColumnsWidth + 'px'
278
233
  }
279
- }) : null, (alwaysFixedColumn || scrollSize.scrollRight > 0) && rightFrozenColKeys.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
234
+ }) : null, (alwaysFixedColumn || scrollSize.scrollRight > 0) && rightFrozenColKeys.length > 0 ? /*#__PURE__*/React.createElement("div", {
280
235
  className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--right",
281
236
  style: {
282
237
  width: rightFixedColumnsWidth + 'px'
283
238
  }
284
239
  }) : null);
285
240
  };
286
-
287
- var tableFooter = /*#__PURE__*/React__default["default"].createElement("div", {
241
+ var tableFooter = /*#__PURE__*/React.createElement("div", {
288
242
  className: prefixCls + "-footer",
289
243
  style: stickyFooter ? {
290
244
  position: 'sticky',
291
245
  bottom: stickyFooterBottom
292
246
  } : undefined
293
- }, typeAssertion.isFunction(footerRender) ? footerRender( /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, extraFooter)) : extraFooter);
247
+ }, typeAssertion.isFunction(footerRender) ? footerRender( /*#__PURE__*/React.createElement(React.Fragment, null, extraFooter)) : extraFooter);
294
248
  var cls = classname.cx(prefixCls, className, hasBorder && prefixCls + "--bordered", striped && prefixCls + "--striped", size && prefixCls + "--size-" + size, virtual && prefixCls + "--virtual");
295
- return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
249
+ return /*#__PURE__*/React.createElement("div", Object.assign({
296
250
  ref: ref,
297
251
  role: role,
298
252
  className: cls
299
- }, rootProps), /*#__PURE__*/React__default["default"].createElement("div", {
253
+ }, rootProps), /*#__PURE__*/React.createElement("div", {
300
254
  className: prefixCls + "__wrapper"
301
- }, /*#__PURE__*/React__default["default"].createElement(context.TableProvider, {
255
+ }, /*#__PURE__*/React.createElement(context.TableProvider, {
302
256
  value: Object.assign(Object.assign({}, providedValue), {
303
257
  striped: striped,
304
258
  onRow: onRow,
@@ -316,33 +270,28 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
316
270
  })
317
271
  }, renderTable()), renderFreezeShadow()), tableFooter);
318
272
  });
319
-
320
273
  if (env.__DEV__) {
321
274
  BaseTable.displayName = 'BaseTable';
322
275
  }
323
-
324
276
  var renderSwitcher = function renderSwitcher(_ref) {
325
277
  var prefixCls = _ref.prefixCls,
326
- rowExpand = _ref.rowExpand,
327
- loading = _ref.loading,
328
- expanded = _ref.expanded,
329
- onSwitch = _ref.onSwitch,
330
- expandedIcon = _ref.expandedIcon,
331
- collapsedIcon = _ref.collapsedIcon;
332
-
333
- if ( /*#__PURE__*/React__default["default"].isValidElement(rowExpand)) {
278
+ rowExpand = _ref.rowExpand,
279
+ loading = _ref.loading,
280
+ expanded = _ref.expanded,
281
+ onSwitch = _ref.onSwitch,
282
+ expandedIcon = _ref.expandedIcon,
283
+ collapsedIcon = _ref.collapsedIcon;
284
+ if ( /*#__PURE__*/React.isValidElement(rowExpand)) {
334
285
  return rowExpand;
335
286
  }
336
-
337
287
  if (rowExpand === true) {
338
288
  if (loading) {
339
- return /*#__PURE__*/React__default["default"].createElement(iconButton.IconButton, {
289
+ return /*#__PURE__*/React.createElement(iconButton.IconButton, {
340
290
  className: classname.cx(prefixCls + "__switcher", prefixCls + "__switcher--loading"),
341
291
  icon: index$1.defaultLoadingIcon
342
292
  });
343
293
  }
344
-
345
- return /*#__PURE__*/React__default["default"].createElement(iconButton.IconButton, {
294
+ return /*#__PURE__*/React.createElement(iconButton.IconButton, {
346
295
  tabIndex: -1,
347
296
  className: classname.cx(prefixCls + "__switcher", prefixCls + "__switcher--" + (expanded ? 'expanded' : 'collapse')),
348
297
  icon: expanded ? expandedIcon : collapsedIcon,
@@ -353,9 +302,7 @@ var renderSwitcher = function renderSwitcher(_ref) {
353
302
  }
354
303
  });
355
304
  }
356
-
357
305
  return null;
358
306
  };
359
-
360
307
  exports.BaseTable = BaseTable;
361
308
  exports.EMBED_DATA_KEY = EMBED_DATA_KEY;
@@ -9,48 +9,25 @@
9
9
  */
10
10
  'use strict';
11
11
 
12
- var _typeof = require("@babel/runtime/helpers/typeof");
13
-
14
- Object.defineProperty(exports, '__esModule', {
15
- value: true
16
- });
17
-
18
12
  var React = require('react');
19
-
20
13
  var classname = require('@hi-ui/classname');
21
-
22
14
  var env = require('@hi-ui/env');
23
-
24
15
  var context = require('./context.js');
25
-
26
- function _interopDefaultLegacy(e) {
27
- return e && _typeof(e) === 'object' && 'default' in e ? e : {
28
- 'default': e
29
- };
30
- }
31
-
32
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
-
34
16
  var _prefix = classname.getPrefixCls('table-colgroup');
35
-
36
17
  var ColGroupContent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
37
18
  var _ref$prefixCls = _ref.prefixCls,
38
- prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls;
39
-
19
+ prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls;
40
20
  var _useTableContext = context.useTableContext(),
41
- getColgroupProps = _useTableContext.getColgroupProps,
42
- leafColumns = _useTableContext.leafColumns;
43
-
44
- return /*#__PURE__*/React__default["default"].createElement("colgroup", null, leafColumns.map(function (col, idx) {
45
- return /*#__PURE__*/React__default["default"].createElement("col", Object.assign({
21
+ getColgroupProps = _useTableContext.getColgroupProps,
22
+ leafColumns = _useTableContext.leafColumns;
23
+ return /*#__PURE__*/React.createElement("colgroup", null, leafColumns.map(function (col, idx) {
24
+ return /*#__PURE__*/React.createElement("col", Object.assign({
46
25
  key: idx,
47
26
  className: prefixCls + "-col"
48
27
  }, getColgroupProps(col, idx)));
49
28
  }));
50
29
  });
51
-
52
30
  if (env.__DEV__) {
53
31
  ColGroupContent.displayName = 'ColGroupContent';
54
32
  }
55
-
56
33
  exports.ColGroupContent = ColGroupContent;