@hi-ui/table 4.1.3-alpha.0 → 4.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @hi-ui/table
2
2
 
3
+ ## 4.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#2597](https://github.com/XiaoMi/hiui/pull/2597) [`0ddf24960`](https://github.com/XiaoMi/hiui/commit/0ddf24960194fdd15653e34e0a6cef54b1586748) Thanks [@zyprepare](https://github.com/zyprepare)! - chore: axios 升级为 1.5.0
8
+
9
+ ### Patch Changes
10
+
11
+ - [#2608](https://github.com/XiaoMi/hiui/pull/2608) [`fb9b1281d`](https://github.com/XiaoMi/hiui/commit/fb9b1281d99ba0d21b5cb32c87b5e671272c1c8e) Thanks [@zyprepare](https://github.com/zyprepare)! - fix: 修复紧凑模式下多选项间距问题
12
+
13
+ - Updated dependencies [[`b3b36813a`](https://github.com/XiaoMi/hiui/commit/b3b36813a6968c5c96c39d1100935372e3aa5b4d)]:
14
+ - @hi-ui/select@4.2.0
15
+
3
16
  ## 4.1.2
4
17
 
5
18
  ### Patch Changes
@@ -45,12 +45,6 @@ var useTable = require('./use-table.js');
45
45
 
46
46
  var useEmbedExpand = require('./hooks/use-embed-expand.js');
47
47
 
48
- var TheadContent = require('./TheadContent.js');
49
-
50
- var ColGroupContent = require('./ColGroupContent.js');
51
-
52
- var TbodyContent = require('./TbodyContent.js');
53
-
54
48
  function _interopDefaultLegacy(e) {
55
49
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
56
50
  'default': e
@@ -67,6 +61,7 @@ var EMBED_DATA_KEY = "TABLE_EMBED_DATA_KEY_" + index.uuid();
67
61
  var DEFAULT_COLUMNS = [];
68
62
  var DEFAULT_DATA = [];
69
63
  var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
64
+ // ********************** 内嵌式面板 *********************** //
70
65
  var _a$prefixCls = _a.prefixCls,
71
66
  prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
72
67
  _a$role = _a.role,
@@ -84,7 +79,8 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
84
79
  expandedEmbedRowKeys = _a.expandedEmbedRowKeys,
85
80
  onEmbedExpand = _a.onEmbedExpand,
86
81
  expandedRender = _a.expandedRender,
87
- size = _a.size,
82
+ _a$size = _a.size,
83
+ size = _a$size === void 0 ? 'md' : _a$size,
88
84
  extra = _a.extra,
89
85
  onRow = _a.onRow,
90
86
  stickyFooter = _a.stickyFooter,
@@ -94,9 +90,7 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
94
90
  fixedColumnTrigger = _a$fixedColumnTrigger === void 0 ? 'auto' : _a$fixedColumnTrigger,
95
91
  emptyContent = _a.emptyContent,
96
92
  virtual = _a.virtual,
97
- needDoubleTable = _a.needDoubleTable,
98
- 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"]); // ********************** 内嵌式面板 *********************** //
99
-
93
+ 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"]);
100
94
 
101
95
  var _useEmbedExpand = useEmbedExpand.useEmbedExpand({
102
96
  defaultExpandedEmbedRowKeys: defaultExpandedEmbedRowKeys,
@@ -152,70 +146,48 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
152
146
 
153
147
  return columns;
154
148
  }, [embedExpandable, getEmbedPanelColumn, columns]);
155
- var i18n = core.useLocaleContext();
156
-
157
- var _useMemo = React.useMemo(function () {
158
- // 确保包含 avg 属性,且值为数字类型的字符串
159
- var avgRow = {
160
- id: 'avg',
161
- raw: {
162
- key: 'avg'
163
- }
164
- };
165
- var hasAvgColumn = false;
166
- columns.forEach(function (column, index$1) {
167
- if (index$1 === 0) {
168
- // @ts-ignore
169
- avgRow.raw[column.dataKey] = i18n.get('table.average');
170
- }
149
+ var i18n = core.useLocaleContext(); // 确保包含 avg 属性,且值为数字类型的字符串
171
150
 
172
- if (index.checkNeedTotalOrEvg(data, column, 'avg')) {
173
- hasAvgColumn = true; // @ts-ignore
174
- // @ts-ignore
151
+ var avgRow = {
152
+ id: 'avg',
153
+ raw: {
154
+ key: 'avg'
155
+ }
156
+ };
157
+ var hasAvgColumn = false;
158
+ columns.forEach(function (column, index$1) {
159
+ if (index$1 === 0) {
160
+ // @ts-ignore
161
+ avgRow.raw[column.dataKey] = i18n.get('table.average');
162
+ }
175
163
 
176
- avgRow.raw[column.dataKey] = index.getTotalOrEvgRowData(data, column, true);
177
- }
178
- });
179
- return {
180
- avgRow: avgRow,
181
- hasAvgColumn: hasAvgColumn
182
- };
183
- }, [columns, data, i18n]),
184
- avgRow = _useMemo.avgRow,
185
- hasAvgColumn = _useMemo.hasAvgColumn;
186
-
187
- var _useMemo2 = React.useMemo(function () {
188
- // 确保包含total属性,且值为数字类型的字符串
189
- var sumRow = {
190
- id: 'sum',
191
- raw: {
192
- key: 'sum'
193
- }
194
- };
195
- var hasSumColumn = false;
196
- columns.forEach(function (column, index$1) {
197
- if (index$1 === 0) {
198
- // @ts-ignore
199
- sumRow.raw[column.dataKey] = i18n.get('table.total');
200
- }
164
+ if (index.checkNeedTotalOrEvg(data, column, 'avg')) {
165
+ hasAvgColumn = true; // @ts-ignore
201
166
 
202
- if (index.checkNeedTotalOrEvg(data, column, 'total')) {
203
- hasSumColumn = true; // 获取当前数据最大小数点个数,并设置最后总和值小数点
204
- // @ts-ignore
205
- // 获取当前数据最大小数点个数,并设置最后总和值小数点
206
- // @ts-ignore
167
+ avgRow.raw[column.dataKey] = index.getTotalOrEvgRowData(data, column, true);
168
+ }
169
+ }); // 确保包含total属性,且值为数字类型的字符串
207
170
 
208
- sumRow.raw[column.dataKey] = index.getTotalOrEvgRowData(data, column, false);
209
- }
210
- });
211
- return {
212
- sumRow: sumRow,
213
- hasSumColumn: hasSumColumn
214
- };
215
- }, [columns, data, i18n]),
216
- sumRow = _useMemo2.sumRow,
217
- hasSumColumn = _useMemo2.hasSumColumn;
171
+ var sumRow = {
172
+ id: 'sum',
173
+ raw: {
174
+ key: 'sum'
175
+ }
176
+ };
177
+ var hasSumColumn = false;
178
+ columns.forEach(function (column, index$1) {
179
+ if (index$1 === 0) {
180
+ // @ts-ignore
181
+ sumRow.raw[column.dataKey] = i18n.get('table.total');
182
+ }
218
183
 
184
+ if (index.checkNeedTotalOrEvg(data, column, 'total')) {
185
+ hasSumColumn = true; // 获取当前数据最大小数点个数,并设置最后总和值小数点
186
+ // @ts-ignore
187
+
188
+ sumRow.raw[column.dataKey] = index.getTotalOrEvgRowData(data, column, false);
189
+ }
190
+ });
219
191
  var providedValue = useTable.useTable(Object.assign(Object.assign({}, rest), {
220
192
  columns: mergedColumns,
221
193
  data: data,
@@ -228,67 +200,11 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
228
200
  leftFixedColumnsWidth = providedValue.leftFixedColumnsWidth,
229
201
  rightFixedColumnsWidth = providedValue.rightFixedColumnsWidth,
230
202
  scrollSize = providedValue.scrollSize,
231
- getTableHeaderProps = providedValue.getTableHeaderProps,
232
- scrollBodyElementRef = providedValue.scrollBodyElementRef,
233
- onTableBodyScroll = providedValue.onTableBodyScroll,
234
- canScroll = providedValue.canScroll,
235
- bodyTableRef = providedValue.bodyTableRef,
236
- scrollWidth = providedValue.scrollWidth;
203
+ getTableHeaderProps = providedValue.getTableHeaderProps;
237
204
  var hasBorder = borderedProp !== null && borderedProp !== void 0 ? borderedProp : bordered;
238
205
  var extraHeader = extra && extra.header;
239
206
  var extraFooter = extra && extra.footer;
240
207
  var alwaysFixedColumn = fixedColumnTrigger === 'always';
241
-
242
- var renderTable = function renderTable() {
243
- 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", {
244
- style: {
245
- position: 'absolute',
246
- right: 0,
247
- zIndex: 11,
248
- bottom: 0,
249
- top: 0
250
- }
251
- }, extraHeader) : null), /*#__PURE__*/React__default["default"].createElement(TableBody.TableBody, {
252
- emptyContent: emptyContent
253
- })) : /*#__PURE__*/React__default["default"].createElement("div", {
254
- ref: scrollBodyElementRef,
255
- className: prefixCls + "-content",
256
- onScroll: onTableBodyScroll,
257
- style: {
258
- // 表格宽度大于div宽度才出现横向滚动条
259
- overflowX: canScroll ? 'scroll' : undefined
260
- }
261
- }, /*#__PURE__*/React__default["default"].createElement("table", {
262
- ref: bodyTableRef,
263
- style: {
264
- width: canScroll && scrollWidth !== undefined ? scrollWidth : '100%'
265
- }
266
- }, /*#__PURE__*/React__default["default"].createElement(ColGroupContent.ColGroupContent, null), /*#__PURE__*/React__default["default"].createElement(TheadContent.TheadContent, null), /*#__PURE__*/React__default["default"].createElement(TbodyContent.TbodyContent, {
267
- emptyContent: emptyContent
268
- })));
269
- };
270
-
271
- var renderFreezeShadow = function renderFreezeShadow() {
272
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, (alwaysFixedColumn || scrollSize.scrollLeft > 0) && leftFrozenColKeys.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
273
- className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--left",
274
- style: {
275
- width: leftFixedColumnsWidth + 'px'
276
- }
277
- }) : null, (alwaysFixedColumn || scrollSize.scrollRight > 0) && rightFrozenColKeys.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
278
- className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--right",
279
- style: {
280
- width: rightFixedColumnsWidth + 'px'
281
- }
282
- }) : null);
283
- };
284
-
285
- var tableFooter = /*#__PURE__*/React__default["default"].createElement("div", {
286
- className: prefixCls + "-footer",
287
- style: stickyFooter ? {
288
- position: 'sticky',
289
- bottom: stickyFooterBottom
290
- } : undefined
291
- }, extraFooter);
292
208
  var cls = classname.cx(prefixCls, className, hasBorder && prefixCls + "--bordered", striped && prefixCls + "--striped", size && prefixCls + "--size-" + size, virtual && prefixCls + "--virtual");
293
209
  return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
294
210
  ref: ref,
@@ -312,7 +228,37 @@ var BaseTable = /*#__PURE__*/React.forwardRef(function (_a, ref) {
312
228
  hasSumColumn: hasSumColumn,
313
229
  virtual: virtual
314
230
  })
315
- }, renderTable()), renderFreezeShadow()), tableFooter);
231
+ }, /*#__PURE__*/React__default["default"].createElement("div", Object.assign({}, getTableHeaderProps()), /*#__PURE__*/React__default["default"].createElement(TableHeader.TableHeader, {
232
+ prefixCls: prefixCls + "-header"
233
+ }), extraHeader ? /*#__PURE__*/React__default["default"].createElement("div", {
234
+ style: {
235
+ position: 'absolute',
236
+ right: 0,
237
+ zIndex: 11,
238
+ bottom: 0,
239
+ top: 0
240
+ }
241
+ }, extraHeader) : null), /*#__PURE__*/React__default["default"].createElement(TableBody.TableBody, {
242
+ prefixCls: prefixCls,
243
+ emptyContent: emptyContent
244
+ })), (alwaysFixedColumn || scrollSize.scrollLeft > 0) && leftFrozenColKeys.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
245
+ className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--left",
246
+ style: {
247
+ width: leftFixedColumnsWidth + 'px'
248
+ }
249
+ }) : null, (alwaysFixedColumn || scrollSize.scrollRight > 0) && rightFrozenColKeys.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
250
+ className: prefixCls + "-freeze-shadow " + prefixCls + "-freeze-shadow--right",
251
+ style: {
252
+ width: rightFixedColumnsWidth + 'px'
253
+ }
254
+ }) : null), /*#__PURE__*/React__default["default"].createElement("div", {
255
+ className: prefixCls + "-footer",
256
+ style: stickyFooter ? {
257
+ position: 'sticky',
258
+ bottom: stickyFooterBottom // boxShadow: '0 5px 15px 0 rgba(0, 0, 0, 0.1)'
259
+
260
+ } : undefined
261
+ }, extraFooter));
316
262
  });
317
263
 
318
264
  if (env.__DEV__) {
package/lib/cjs/Table.js CHANGED
@@ -66,13 +66,7 @@ var Loading__default = /*#__PURE__*/_interopDefaultLegacy(Loading);
66
66
  var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
67
67
 
68
68
  var _prefix = classname.getPrefixCls('table');
69
- /**
70
- * 需要使用双表格的场景对应的 API
71
- * 这些场景下的功能无法通过单表格实现,故而设计成双表格,即表头和表体分别用一个 table 实现
72
- */
73
-
74
69
 
75
- var DOUBLE_TABLE_SCENE = ['maxHeight', 'sticky', 'stickyTop', 'setting', 'virtual'];
76
70
  var STANDARD_PRESET = {
77
71
  striped: true,
78
72
  bordered: true,
@@ -91,6 +85,7 @@ var DEFAULT_PAGINATION = {
91
85
  */
92
86
 
93
87
  var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
88
+ // ************************ 预置标准模式 ************************ //
94
89
  var _a$prefixCls = _a.prefixCls,
95
90
  prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
96
91
  _a$standard = _a.standard,
@@ -113,13 +108,8 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
113
108
  extra = _a.extra,
114
109
  _a$data = _a.data,
115
110
  data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
116
- rest = tslib.__rest(_a, ["prefixCls", "standard", "loading", "dataSource", "pagination", "uniqueId", "columns", "hiddenColKeys", "onHiddenColKeysChange", "sortedColKeys", "onSortedColKeysChange", "checkDisabledColKeys", "onSetColKeysChange", "rowSelection", "fieldKey", "extra", "data"]); // 是否需要双表格
117
-
118
-
119
- var needDoubleTable = DOUBLE_TABLE_SCENE.some(function (prop) {
120
- return !!rest[prop];
121
- });
122
- var virtual = rest.virtual; // ************************ 预置标准模式 ************************ //
111
+ virtual = _a.virtual,
112
+ rest = tslib.__rest(_a, ["prefixCls", "standard", "loading", "dataSource", "pagination", "uniqueId", "columns", "hiddenColKeys", "onHiddenColKeysChange", "sortedColKeys", "onSortedColKeysChange", "checkDisabledColKeys", "onSetColKeysChange", "rowSelection", "fieldKey", "extra", "data", "virtual"]);
123
113
 
124
114
  var tableProps = reactUtils.withDefaultProps(rest, standard ? STANDARD_PRESET : undefined);
125
115
 
@@ -331,7 +321,6 @@ var Table = /*#__PURE__*/React.forwardRef(function (_a, ref) {
331
321
  data: mergedData,
332
322
  fieldKey: fieldKey,
333
323
  virtual: virtual,
334
- needDoubleTable: needDoubleTable,
335
324
  extra: Object.assign({
336
325
  header: setting ? /*#__PURE__*/React__default["default"].createElement(TableSettingMenu.TableSettingMenu, {
337
326
  prefixCls: prefixCls + "-setting",
@@ -27,14 +27,12 @@ var useLatest = require('@hi-ui/use-latest');
27
27
 
28
28
  var typeAssertion = require('@hi-ui/type-assertion');
29
29
 
30
+ var emptyState = require('@hi-ui/empty-state');
31
+
30
32
  var TableRow = require('./TableRow.js');
31
33
 
32
34
  var context = require('./context.js');
33
35
 
34
- var ColGroupContent = require('./ColGroupContent.js');
35
-
36
- var TbodyContent = require('./TbodyContent.js');
37
-
38
36
  function _interopDefaultLegacy(e) {
39
37
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
40
38
  'default': e
@@ -56,8 +54,10 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
56
54
 
57
55
  var _useTableContext = context.useTableContext(),
58
56
  columns = _useTableContext.columns,
57
+ leafColumns = _useTableContext.leafColumns,
59
58
  isExpandTreeRows = _useTableContext.isExpandTreeRows,
60
59
  transitionData = _useTableContext.transitionData,
60
+ getColgroupProps = _useTableContext.getColgroupProps,
61
61
  bodyTableRef = _useTableContext.bodyTableRef,
62
62
  scrollBodyElementRef = _useTableContext.scrollBodyElementRef,
63
63
  onTableBodyScroll = _useTableContext.onTableBodyScroll,
@@ -65,6 +65,10 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
65
65
  maxHeight = _useTableContext.maxHeight,
66
66
  canScroll = _useTableContext.canScroll,
67
67
  scrollWidth = _useTableContext.scrollWidth,
68
+ hasAvgColumn = _useTableContext.hasAvgColumn,
69
+ avgRow = _useTableContext.avgRow,
70
+ hasSumColumn = _useTableContext.hasSumColumn,
71
+ sumRow = _useTableContext.sumRow,
68
72
  colWidths = _useTableContext.colWidths,
69
73
  virtual = _useTableContext.virtual,
70
74
  measureRowElementRef = _useTableContext.measureRowElementRef;
@@ -153,7 +157,7 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
153
157
  rowData: row
154
158
  }, getRequiredProps(row.id))));
155
159
  }
156
- })) : TbodyContent.renderEmptyContent(Object.assign({
160
+ })) : renderEmptyContent(Object.assign({
157
161
  className: prefixCls + "-empty-content",
158
162
  colSpan: columns.length,
159
163
  emptyContent: emptyContent
@@ -177,11 +181,65 @@ var TableBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
177
181
  style: {
178
182
  width: canScroll && scrollWidth !== undefined ? scrollWidth : '100%'
179
183
  }
180
- }, /*#__PURE__*/React__default["default"].createElement(ColGroupContent.ColGroupContent, null), /*#__PURE__*/React__default["default"].createElement(TbodyContent.TbodyContent, null)));
184
+ }, /*#__PURE__*/React__default["default"].createElement("colgroup", null, leafColumns.map(function (col, idx) {
185
+ return /*#__PURE__*/React__default["default"].createElement("col", Object.assign({
186
+ key: idx,
187
+ className: prefixCls + "-col"
188
+ }, getColgroupProps(col, idx)));
189
+ })), /*#__PURE__*/React__default["default"].createElement("tbody", null, typeAssertion.isArrayNonEmpty(transitionData) ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, transitionData.map(function (row, index) {
190
+ return /*#__PURE__*/React__default["default"].createElement(TableRow.TableRow, Object.assign({
191
+ ref: index === 0 ? measureRowElementRef : null,
192
+ // key={depth + index}
193
+ key: row.id,
194
+ // @ts-ignore
195
+ rowIndex: index,
196
+ rowData: row
197
+ }, getRequiredProps(row.id)));
198
+ }), hasSumColumn ? /*#__PURE__*/React__default["default"].createElement(TableRow.TableRow, {
199
+ key: sumRow.id,
200
+ rowIndex: transitionData.length,
201
+ rowData: sumRow,
202
+ isSumRow: true
203
+ }) : null, hasAvgColumn ? /*#__PURE__*/React__default["default"].createElement(TableRow.TableRow, {
204
+ key: avgRow.id,
205
+ rowIndex: transitionData.length + 1,
206
+ rowData: avgRow,
207
+ isAvgRow: true
208
+ }) : null) : // 空状态,colSpan 占满表格整行
209
+ renderEmptyContent(Object.assign({
210
+ className: prefixCls + "-empty-content",
211
+ colSpan: columns.length,
212
+ emptyContent: emptyContent
213
+ }, scrollBodyElementRef.current ? {
214
+ scrollBodyWidth: window.getComputedStyle(scrollBodyElementRef.current).getPropertyValue('width')
215
+ } : {})))));
181
216
  });
182
217
 
183
218
  if (env.__DEV__) {
184
219
  TableBody.displayName = 'TableBody';
185
220
  }
221
+ /**
222
+ * 负责空状态渲染
223
+ */
224
+
225
+
226
+ var renderEmptyContent = function renderEmptyContent(_ref2) {
227
+ var className = _ref2.className,
228
+ colSpan = _ref2.colSpan,
229
+ emptyContent = _ref2.emptyContent,
230
+ scrollBodyWidth = _ref2.scrollBodyWidth;
231
+ return /*#__PURE__*/React__default["default"].createElement("tr", {
232
+ className: className
233
+ }, /*#__PURE__*/React__default["default"].createElement("td", {
234
+ colSpan: colSpan
235
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
236
+ style: {
237
+ position: 'sticky',
238
+ left: 0,
239
+ width: scrollBodyWidth !== null && scrollBodyWidth !== void 0 ? scrollBodyWidth : '100%',
240
+ overflow: 'hidden'
241
+ }
242
+ }, emptyContent || /*#__PURE__*/React__default["default"].createElement(emptyState.EmptyState, null))));
243
+ };
186
244
 
187
245
  exports.TableBody = TableBody;
@@ -17,15 +17,19 @@ Object.defineProperty(exports, '__esModule', {
17
17
 
18
18
  var React = require('react');
19
19
 
20
+ var reactResizable = require('react-resizable');
21
+
20
22
  var classname = require('@hi-ui/classname');
21
23
 
22
24
  var env = require('@hi-ui/env');
23
25
 
26
+ var typeAssertion = require('@hi-ui/type-assertion');
27
+
24
28
  var context = require('./context.js');
25
29
 
26
- var ColGroupContent = require('./ColGroupContent.js');
30
+ var TableAdvancedFilter = require('./TableAdvancedFilter.js');
27
31
 
28
- var TheadContent = require('./TheadContent.js');
32
+ var useCheckState = require('@hi-ui/use-check-state');
29
33
 
30
34
  function _interopDefaultLegacy(e) {
31
35
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
@@ -43,10 +47,21 @@ var TableHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
43
47
  className = _ref.className;
44
48
 
45
49
  var _useTableContext = context.useTableContext(),
50
+ groupedColumns = _useTableContext.groupedColumns,
51
+ resizable = _useTableContext.resizable,
52
+ colWidths = _useTableContext.colWidths,
53
+ isHoveredHighlightCol = _useTableContext.isHoveredHighlightCol,
54
+ isHighlightedCol = _useTableContext.isHighlightedCol,
55
+ getColgroupProps = _useTableContext.getColgroupProps,
56
+ onColumnResizable = _useTableContext.onColumnResizable,
57
+ getStickyColProps = _useTableContext.getStickyColProps,
46
58
  onTableBodyScrollMock = _useTableContext.onTableBodyScrollMock,
47
59
  scrollHeaderElementRef = _useTableContext.scrollHeaderElementRef,
48
- getTableHeaderProps = _useTableContext.getTableHeaderProps;
60
+ leafColumns = _useTableContext.leafColumns,
61
+ getTableHeaderProps = _useTableContext.getTableHeaderProps,
62
+ showColMenu = _useTableContext.showColMenu;
49
63
 
64
+ var activeColumnKeysAction = useCheckState.useCheckState();
50
65
  var cls = classname.cx(prefixCls, className);
51
66
  return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
52
67
  className: cls,
@@ -56,9 +71,60 @@ var TableHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
56
71
  width: '100%',
57
72
  position: 'relative'
58
73
  }
59
- }, /*#__PURE__*/React__default["default"].createElement(ColGroupContent.ColGroupContent, null), /*#__PURE__*/React__default["default"].createElement(TheadContent.TheadContent, {
74
+ }, /*#__PURE__*/React__default["default"].createElement("colgroup", null, leafColumns.map(function (col, idx) {
75
+ return /*#__PURE__*/React__default["default"].createElement("col", Object.assign({
76
+ key: idx,
77
+ className: prefixCls + "-col"
78
+ }, getColgroupProps(col, idx)));
79
+ })), /*#__PURE__*/React__default["default"].createElement("thead", {
60
80
  onWheel: onTableBodyScrollMock
61
- })));
81
+ }, groupedColumns.map(function (cols, colsIndex) {
82
+ return /*#__PURE__*/React__default["default"].createElement("tr", {
83
+ key: colsIndex
84
+ }, cols.map(function (col, colIndex) {
85
+ var _ref2 = col || {},
86
+ dataKey = _ref2.dataKey,
87
+ title = _ref2.title,
88
+ raw = _ref2.raw;
89
+
90
+ var titleContent = typeAssertion.isFunction(title) ? title(col) : title;
91
+ var cell = /*#__PURE__*/React__default["default"].createElement("th", Object.assign({
92
+ key: dataKey
93
+ }, getStickyColProps(col), {
94
+ className: classname.cx(prefixCls + "-cell", raw.className, isHighlightedCol(dataKey) && prefixCls + "-cell__col--highlight", isHoveredHighlightCol(dataKey) && prefixCls + "-cell__col--hovered-highlight", activeColumnKeysAction.has(dataKey) && prefixCls + "-cell__col--active"),
95
+ // @ts-ignore
96
+ colSpan: col.colSpan,
97
+ // @ts-ignore
98
+ rowSpan: col.rowSpan
99
+ }), titleContent, TableAdvancedFilter.renderFilter({
100
+ prefixCls: prefixCls + "-filter",
101
+ columnKey: dataKey,
102
+ showColMenu: showColMenu,
103
+ column: col,
104
+ onOpen: function onOpen() {
105
+ return activeColumnKeysAction.add(dataKey);
106
+ },
107
+ onClose: function onClose() {
108
+ return activeColumnKeysAction.remove(dataKey);
109
+ }
110
+ }));
111
+ return resizable && colIndex !== colWidths.length - 1 ? /*#__PURE__*/React__default["default"].createElement(reactResizable.Resizable, {
112
+ key: colIndex,
113
+ className: prefixCls + "__resizable",
114
+ draggableOpts: {
115
+ enableUserSelectHack: false
116
+ },
117
+ handle: /*#__PURE__*/React__default["default"].createElement("span", {
118
+ className: prefixCls + "__resizable-handle"
119
+ }),
120
+ height: 0,
121
+ width: colWidths[colIndex],
122
+ onResize: function onResize(evt, options) {
123
+ onColumnResizable(evt, options, colIndex);
124
+ }
125
+ }, cell) : cell;
126
+ }));
127
+ }))));
62
128
  });
63
129
 
64
130
  if (env.__DEV__) {
@@ -12,7 +12,7 @@
12
12
  Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
- var css_248z = ".hi-v4-table {-webkit-box-sizing: border-box;box-sizing: border-box;font-size: 14px;position: relative; }.hi-v4-table table {width: 100%;text-align: left;background-color: var(--hi-v4-color-static-white, #fff);border-radius: 2px 2px 0 0;border-spacing: 0;border-collapse: separate;display: table;table-layout: fixed; }.hi-v4-table__wrapper {position: relative;z-index: 0; }.hi-v4-table__switcher.hi-v4-icon-button {color: var(--hi-v4-color-gray-500, #929aa6); }.hi-v4-table__switcher--expanded.hi-v4-icon-button {color: var(--hi-v4-color-primary-400, var(--hi-v4-color-brandblue-400, #4a9eff)); }.hi-v4-table--size-md table tbody > tr:not(.hi-v4-table-empty-content) > td {padding: var(--hi-v4-spacing-7, 14px); }.hi-v4-table--size-md table thead > tr > th {padding: var(--hi-v4-spacing-7, 14px); }.hi-v4-table--size-sm table tbody > tr:not(.hi-v4-table-empty-content) > td {padding: var(--hi-v4-spacing-5, 10px); }.hi-v4-table--size-sm table thead > tr > th {padding: var(--hi-v4-spacing-5, 10px); }.hi-v4-table--size-lg table tbody > tr:not(.hi-v4-table-empty-content) > td {padding: var(--hi-v4-spacing-9, 18px); }.hi-v4-table--size-lg table thead > tr > th {padding: var(--hi-v4-spacing-9, 18px); }.hi-v4-table--bordered table thead > tr > th {border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }.hi-v4-table--bordered table td {border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }.hi-v4-table--bordered .hi-v4-table-header {border-top: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0);border-left: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }.hi-v4-table--bordered .hi-v4-table-body {border-left: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }.hi-v4-table--sticky {position: -webkit-sticky;position: sticky;top: 0; }.hi-v4-table--virtual {width: 100%;overflow: hidden; }.hi-v4-table--virtual .hi-v4-table-cell {-webkit-box-sizing: border-box;box-sizing: border-box; }.hi-v4-table-header {position: relative;-webkit-box-sizing: border-box;box-sizing: border-box;overflow: hidden; }.hi-v4-table-header__resizable {position: relative;background-clip: padding-box; }.hi-v4-table-header__resizable-handle {-webkit-box-sizing: content-box;box-sizing: content-box;position: absolute;width: 2px;height: 100%;bottom: 0;right: 0;border-left: 2px solid var(--hi-v4-color-gray-50, #f5f7fa);cursor: col-resize;z-index: 1; }.hi-v4-table-header__resizable:hover .hi-v4-table-header__resizable-handle {background-color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa)); }.hi-v4-table-header-cell {background-color: var(--hi-v4-color-gray-50, #f5f7fa); }.hi-v4-table-header-cell.hi-v4-table-header-cell__col--highlight, .hi-v4-table-header-cell.hi-v4-table-header-cell__col--hovered-highlight, .hi-v4-table-header-cell.hi-v4-table-header-cell__col--active {background-color: var(--hi-v4-color-gray-100, #f2f4f7); }.hi-v4-table-header-cell.hi-v4-table-header-cell__col--highlight[data-sticky], .hi-v4-table-header-cell.hi-v4-table-header-cell__col--hovered-highlight[data-sticky], .hi-v4-table-header-cell.hi-v4-table-header-cell__col--active[data-sticky] {background-color: var(--hi-v4-color-gray-100, #f2f4f7); }.hi-v4-table-row--hover:hover > .hi-v4-table-cell {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe)); }.hi-v4-table-row--striped > .hi-v4-table-cell {background-color: var(--hi-v4-color-gray-50, #f5f7fa); }.hi-v4-table-row--expanded > .hi-v4-table-cell {color: var(--hi-v4-color-gray-800, #1f2937); }.hi-v4-table-row--error > .hi-v4-table-cell {color: var(--hi-v4-color-danger-500, var(--hi-v4-color-red-500, #ff5959)); }.hi-v4-table-row--highlight > .hi-v4-table-cell {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe)); }.hi-v4-table-row--dragging > .hi-v4-table-cell {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe)); }.hi-v4-table-row--drag-top > .hi-v4-table-cell {border-top: 2px dashed var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa)); }.hi-v4-table-row--drag-bottom > .hi-v4-table-cell {border-bottom: 2px dashed var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa)); }.hi-v4-table-row--avg > .hi-v4-table-cell, .hi-v4-table-row--total > .hi-v4-table-cell {background-color: var(--hi-v4-color-gray-50, #f5f7fa); }.hi-v4-table-row--avg:hover > .hi-v4-table-cell, .hi-v4-table-row--total:hover > .hi-v4-table-cell {background-color: var(--hi-v4-color-gray-50, #f5f7fa); }.hi-v4-table-row--virtual {display: -webkit-box;display: -ms-flexbox;display: flex; }.hi-v4-table-header .hi-v4-table-header-col, .hi-v4-table-header .hi-v4-table-col {background-color: var(--hi-v4-color-gray-50, #f5f7fa); }.hi-v4-table-body .hi-v4-table-header-col[data-hover-highlight], .hi-v4-table-body .hi-v4-table-col[data-hover-highlight] {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe)); }.hi-v4-table-header .hi-v4-table-header-col[data-hover-highlight], .hi-v4-table-header .hi-v4-table-col[data-hover-highlight] {background-color: var(--hi-v4-color-gray-100, #f2f4f7); }.hi-v4-table-body, .hi-v4-table-content {position: relative;overflow: auto; }.hi-v4-table-header-cell {color: var(--hi-v4-color-gray-700, #1f2733);font-size: var(--hi-v4-text-size-md, 0.875rem);font-weight: var(--hi-v4-text-weight-medium, 500);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-8, 16px);border-bottom: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-300, #dfe2e8); }.hi-v4-table-header-cell.hi-v4-table__embed-col, .hi-v4-table-header-cell.hi-v4-table__selection-col {padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-5, 10px); }.hi-v4-table-cell {word-break: break-word;border-bottom: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-300, #dfe2e8);font-size: var(--hi-v4-text-size-md, 0.875rem);font-weight: var(--hi-v4-text-weight-normal, 400);color: var(--hi-v4-color-gray-700, #1f2733);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-8, 16px);background-color: var(--hi-v4-color-static-white, #fff); }.hi-v4-table-cell__indent {display: inline-block;width: 14px;height: 100%;margin-right: var(--hi-v4-spacing-1, 2px); }.hi-v4-table-cell__switcher.hi-v4-icon-button {margin-right: var(--hi-v4-spacing-1, 2px);color: var(--hi-v4-color-gray-500, #929aa6); }.hi-v4-table-cell.hi-v4-table__embed-col, .hi-v4-table-cell.hi-v4-table__selection-col {padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-5, 10px); }.hi-v4-table-cell.hi-v4-table-cell__col--highlight {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe)); }.hi-v4-table-cell.hi-v4-table-cell__col--hovered-highlight {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe)); }.hi-v4-table-freeze-shadow {position: absolute;top: 0;bottom: 0;z-index: 20;pointer-events: none;overflow: hidden;height: 100%;width: 200px; }.hi-v4-table-freeze-shadow--left {margin-right: 10px;left: 0;-webkit-box-shadow: 6px 0 6px -4px rgba(0, 0, 0, 0.15);box-shadow: 6px 0 6px -4px rgba(0, 0, 0, 0.15); }.hi-v4-table-freeze-shadow--right {margin-left: 10px;right: 0;-webkit-box-shadow: -6px 0 6px -4px rgba(0, 0, 0, 0.15);box-shadow: -6px 0 6px -4px rgba(0, 0, 0, 0.15); }.hi-v4-table-header-filter-dropdown__trigger.hi-v4-icon-button {margin-left: 4px; }.hi-v4-table-header-filter-dropdown__content {width: 124px;padding: var(--hi-v4-spacing-6, 12px) var(--hi-v4-spacing-4, 8px);font-weight: var(--hi-v4-text-weight-normal, 400); }.hi-v4-table-header-filter-dropdown__item {margin-top: var(--hi-v4-spacing-4, 8px);padding: var(--hi-v4-spacing-3, 6px) var(--hi-v4-spacing-4, 8px);border-radius: var(--hi-v4-border-radius-md, 4px);display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;-webkit-box-align: center;-ms-flex-align: center;align-items: center;cursor: pointer;color: var(--hi-v4-color-gray-700, #1f2733);font-size: var(--hi-v4-text-size-md, 0.875rem); }.hi-v4-table-header-filter-dropdown__item:first-child {margin-top: 0; }.hi-v4-table-header-filter-dropdown__item:hover {background-color: var(--hi-v4-color-gray-50, #f5f7fa); }.hi-v4-table-header-filter-dropdown__item--active {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe)); }.hi-v4-table-header-filter-dropdown__item--active:hover {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe)); }.hi-v4-table-header-filter-sorter {display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;height: 20px;vertical-align: middle;margin-left: 6px; }.hi-v4-table-header-filter-sorter__icon {display: inline-block;height: 8px;cursor: pointer;overflow: hidden;font-weight: var(--hi-v4-text-weight-normal, 400);color: var(--hi-v4-color-gray-500, #929aa6); }.hi-v4-table-header-filter-sorter__icon svg {position: relative;top: -5px; }.hi-v4-table-header-filter-sorter__icon--active {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa)); }.hi-v4-table-header-filter-custom__trigger {margin-left: 6px;color: var(--hi-v4-color-gray-500, #929aa6);cursor: pointer; }.hi-v4-table-header-filter-custom__content {padding: 12px 8px; }.hi-v4-table-embed-row {position: relative;z-index: 0; }.hi-v4-table-embed-row > td {background-color: var(--hi-v4-color-gray-200, #ebedf0);padding: var(--hi-v4-spacing-10, 20px); }.hi-v4-table-setting {position: absolute;height: 100%;z-index: 11;-webkit-box-sizing: border-box;box-sizing: border-box;right: 0;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;border-left: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-300, #dfe2e8);border-bottom: none;border-top: none;color: var(--hi-v4-color-gray-500, #929aa6);cursor: pointer;font-size: var(--hi-v4-text-size-sm, 0.75rem);width: 18px;background: var(--hi-v4-color-gray-50, #f5f7fa); }.hi-v4-table-setting__btn-group {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end; }.hi-v4-table-setting-item {position: relative;padding-top: var(--hi-v4-spacing-1, 2px);padding-bottom: var(--hi-v4-spacing-1, 2px);-webkit-box-sizing: border-box;box-sizing: border-box; }.hi-v4-table-setting-item__wrap {-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;cursor: move;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;padding: var(--hi-v4-spacing-3, 6px) var(--hi-v4-spacing-4, 8px);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);border-radius: var(--hi-v4-border-radius-md, 4px); }.hi-v4-table-setting-item__wrap:hover {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe)); }.hi-v4-table-setting-item--dragging .hi-v4-table-setting-item__wrap {opacity: 0.6; }.hi-v4-table-setting-item::before {position: absolute;left: 0;z-index: 9999;display: none;-webkit-box-sizing: border-box;box-sizing: border-box;width: 8px;height: 8px;content: '';background-color: var(--hi-v4-color-static-white, #fff);border: 1px solid var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));border-radius: 100%; }.hi-v4-table-setting-item::after {position: absolute;content: '';z-index: 9998;display: block;-webkit-box-sizing: border-box;box-sizing: border-box;border-bottom-width: 0;border-bottom-style: solid;border-bottom-color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));left: 0;width: 100%; }.hi-v4-table-setting-item::before, .hi-v4-table-setting-item::after {margin-left: -10px;margin-right: -10px; }.hi-v4-table-setting-item--direction-before::before {display: block;top: -0.5px;-webkit-transform: translateY(-4px);transform: translateY(-4px); }.hi-v4-table-setting-item--direction-before::after {top: -0.5px;border-bottom-width: 1px; }.hi-v4-table-setting-item--direction-after::before {display: block;bottom: 0.5px;-webkit-transform: translateY(4px);transform: translateY(4px); }.hi-v4-table-setting-item--direction-after::after {bottom: 0.5px;border-bottom-width: 1px; }.hi-v4-table-pagination {display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;row-gap: 8px;padding: var(--hi-v4-spacing-6, 12px) 0;background-color: var(--hi-v4-color-static-white, #fff); }.hi-v4-table-pagination--placement-left {-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start; }.hi-v4-table-pagination--placement-right {-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end; }.hi-v4-table-pagination--placement-middle {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center; }.hi-v4-table-empty-content td {text-align: center;padding: var(--hi-v4-spacing-12, 24px) 0; }.hi-v4-table--bordered .hi-v4-table-empty-content td {border-bottom: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-300, #dfe2e8); }.hi-v4-setting-drawer .hi-v4-setting__btn-group {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end; }.hi-v4-setting-item {position: relative;padding-top: var(--hi-v4-spacing-1, 2px);padding-bottom: var(--hi-v4-spacing-1, 2px);-webkit-box-sizing: border-box;box-sizing: border-box; }.hi-v4-setting-item__wrap {-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;cursor: move;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;padding: var(--hi-v4-spacing-3, 6px) var(--hi-v4-spacing-4, 8px);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);border-radius: var(--hi-v4-border-radius-md, 4px); }.hi-v4-setting-item__wrap:hover {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe)); }.hi-v4-setting-item--dragging .hi-v4-setting-item__wrap {opacity: 0.6; }.hi-v4-setting-item::before {position: absolute;left: 0;z-index: 9999;display: none;-webkit-box-sizing: border-box;box-sizing: border-box;width: 8px;height: 8px;content: '';background-color: var(--hi-v4-color-static-white, #fff);border: 1px solid var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));border-radius: 100%; }.hi-v4-setting-item::after {position: absolute;content: '';z-index: 9998;display: block;-webkit-box-sizing: border-box;box-sizing: border-box;border-bottom-width: 0;border-bottom-style: solid;border-bottom-color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));left: 0;width: 100%; }.hi-v4-setting-item::before, .hi-v4-setting-item::after {margin-left: -10px;margin-right: -10px; }.hi-v4-setting-item--direction-before::before {display: block;top: -0.5px;-webkit-transform: translateY(-4px);transform: translateY(-4px); }.hi-v4-setting-item--direction-before::after {top: -0.5px;border-bottom-width: 1px; }.hi-v4-setting-item--direction-after::before {display: block;bottom: 0.5px;-webkit-transform: translateY(4px);transform: translateY(4px); }.hi-v4-setting-item--direction-after::after {bottom: 0.5px;border-bottom-width: 1px; }";
15
+ var css_248z = ".hi-v4-table {-webkit-box-sizing: border-box;box-sizing: border-box;font-size: 14px;position: relative;}.hi-v4-table table {width: 100%;text-align: left;background-color: var(--hi-v4-color-static-white, #fff);border-radius: 2px 2px 0 0;border-spacing: 0;border-collapse: separate;display: table;table-layout: fixed;}.hi-v4-table__wrapper {position: relative;z-index: 0;}.hi-v4-table__switcher.hi-v4-icon-button {color: var(--hi-v4-color-gray-500, #929aa6);}.hi-v4-table__switcher--expanded.hi-v4-icon-button {color: var(--hi-v4-color-primary-400, var(--hi-v4-color-brandblue-400, #4a9eff));}.hi-v4-table--size-md table tbody > tr:not(.hi-v4-table-empty-content) > td {padding: var(--hi-v4-spacing-7, 14px);}.hi-v4-table--size-md table tbody > tr:not(.hi-v4-table-empty-content) > td.hi-v4-table__selection-col {padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-5, 10px);}.hi-v4-table--size-md table thead > tr > th {padding: var(--hi-v4-spacing-7, 14px);}.hi-v4-table--size-md table thead > tr > th.hi-v4-table__selection-col {padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-5, 10px);}.hi-v4-table--size-sm table tbody > tr:not(.hi-v4-table-empty-content) > td {padding: var(--hi-v4-spacing-5, 10px);}.hi-v4-table--size-sm table tbody > tr:not(.hi-v4-table-empty-content) > td.hi-v4-table__selection-col {padding: var(--hi-v4-spacing-5, 10px);}.hi-v4-table--size-sm table thead > tr > th {padding: var(--hi-v4-spacing-5, 10px);}.hi-v4-table--size-sm table thead > tr > th.hi-v4-table__selection-col {padding: var(--hi-v4-spacing-5, 10px);}.hi-v4-table--size-lg table tbody > tr:not(.hi-v4-table-empty-content) > td {padding: var(--hi-v4-spacing-9, 18px);}.hi-v4-table--size-lg table tbody > tr:not(.hi-v4-table-empty-content) > td.hi-v4-table__selection-col {padding: var(--hi-v4-spacing-9, 18px) var(--hi-v4-spacing-5, 10px);}.hi-v4-table--size-lg table thead > tr > th {padding: var(--hi-v4-spacing-9, 18px);}.hi-v4-table--size-lg table thead > tr > th.hi-v4-table__selection-col {padding: var(--hi-v4-spacing-9, 18px) var(--hi-v4-spacing-5, 10px);}.hi-v4-table--bordered table thead > tr > th {border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0);}.hi-v4-table--bordered table td {border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0);}.hi-v4-table--bordered .hi-v4-table-header {border-top: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0);border-left: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0);}.hi-v4-table--bordered .hi-v4-table-body {border-left: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0);}.hi-v4-table--sticky {position: -webkit-sticky;position: sticky;top: 0;}.hi-v4-table--virtual {width: 100%;overflow: hidden;}.hi-v4-table--virtual .hi-v4-table-cell {-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v4-table-header {position: relative;-webkit-box-sizing: border-box;box-sizing: border-box;overflow: hidden;}.hi-v4-table-header__resizable {position: relative;background-clip: padding-box;}.hi-v4-table-header__resizable-handle {-webkit-box-sizing: content-box;box-sizing: content-box;position: absolute;width: 2px;height: 100%;bottom: 0;right: 0;border-left: 2px solid var(--hi-v4-color-gray-50, #f5f7fa);cursor: col-resize;z-index: 1;}.hi-v4-table-header__resizable:hover .hi-v4-table-header__resizable-handle {background-color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-table-header-cell {background-color: var(--hi-v4-color-gray-50, #f5f7fa);color: var(--hi-v4-color-gray-700, #1f2733);font-size: var(--hi-v4-text-size-md, 0.875rem);font-weight: var(--hi-v4-text-weight-medium, 500);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-8, 16px);border-bottom: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-300, #dfe2e8);}.hi-v4-table-header-cell.hi-v4-table__embed-col, .hi-v4-table-header-cell.hi-v4-table__selection-col {padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-5, 10px);}.hi-v4-table-header-cell.hi-v4-table-header-cell__col--highlight, .hi-v4-table-header-cell.hi-v4-table-header-cell__col--hovered-highlight, .hi-v4-table-header-cell.hi-v4-table-header-cell__col--active {background-color: var(--hi-v4-color-gray-100, #f2f4f7);}.hi-v4-table-header-cell.hi-v4-table-header-cell__col--highlight[data-sticky], .hi-v4-table-header-cell.hi-v4-table-header-cell__col--hovered-highlight[data-sticky], .hi-v4-table-header-cell.hi-v4-table-header-cell__col--active[data-sticky] {background-color: var(--hi-v4-color-gray-100, #f2f4f7);}.hi-v4-table-row--hover:hover > .hi-v4-table-cell {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-table-row--striped > .hi-v4-table-cell {background-color: var(--hi-v4-color-gray-50, #f5f7fa);}.hi-v4-table-row--expanded > .hi-v4-table-cell {color: var(--hi-v4-color-gray-800, #1f2937);}.hi-v4-table-row--error > .hi-v4-table-cell {color: var(--hi-v4-color-danger-500, var(--hi-v4-color-red-500, #ff5959));}.hi-v4-table-row--highlight > .hi-v4-table-cell {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-table-row--dragging > .hi-v4-table-cell {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-table-row--drag-top > .hi-v4-table-cell {border-top: 2px dashed var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-table-row--drag-bottom > .hi-v4-table-cell {border-bottom: 2px dashed var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-table-row--avg > .hi-v4-table-cell, .hi-v4-table-row--total > .hi-v4-table-cell {background-color: var(--hi-v4-color-gray-50, #f5f7fa);}.hi-v4-table-row--avg:hover > .hi-v4-table-cell, .hi-v4-table-row--total:hover > .hi-v4-table-cell {background-color: var(--hi-v4-color-gray-50, #f5f7fa);}.hi-v4-table-row--virtual {display: -webkit-box;display: -ms-flexbox;display: flex;}.hi-v4-table-header .hi-v4-table-header-col, .hi-v4-table-header .hi-v4-table-col {background-color: var(--hi-v4-color-gray-50, #f5f7fa);}.hi-v4-table-body .hi-v4-table-header-col[data-hover-highlight], .hi-v4-table-body .hi-v4-table-col[data-hover-highlight] {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-table-header .hi-v4-table-header-col[data-hover-highlight], .hi-v4-table-header .hi-v4-table-col[data-hover-highlight] {background-color: var(--hi-v4-color-gray-100, #f2f4f7);}.hi-v4-table-body {position: relative;overflow: auto;}.hi-v4-table-cell {word-break: break-word;border-bottom: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-300, #dfe2e8);font-size: var(--hi-v4-text-size-md, 0.875rem);font-weight: var(--hi-v4-text-weight-normal, 400);color: var(--hi-v4-color-gray-700, #1f2733);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-8, 16px);background-color: var(--hi-v4-color-static-white, #fff);}.hi-v4-table-cell__indent {display: inline-block;width: 14px;height: 100%;margin-right: var(--hi-v4-spacing-1, 2px);}.hi-v4-table-cell__switcher.hi-v4-icon-button {margin-right: var(--hi-v4-spacing-1, 2px);color: var(--hi-v4-color-gray-500, #929aa6);}.hi-v4-table-cell.hi-v4-table__embed-col, .hi-v4-table-cell.hi-v4-table__selection-col {padding: var(--hi-v4-spacing-7, 14px) var(--hi-v4-spacing-5, 10px);}.hi-v4-table-cell.hi-v4-table-cell__col--highlight {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-table-cell.hi-v4-table-cell__col--hovered-highlight {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-table-freeze-shadow {position: absolute;top: 0;bottom: 0;z-index: 20;pointer-events: none;overflow: hidden;height: 100%;width: 200px;}.hi-v4-table-freeze-shadow--left {margin-right: 10px;left: 0;-webkit-box-shadow: 6px 0 6px -4px rgba(0, 0, 0, 0.15);box-shadow: 6px 0 6px -4px rgba(0, 0, 0, 0.15);}.hi-v4-table-freeze-shadow--right {margin-left: 10px;right: 0;-webkit-box-shadow: -6px 0 6px -4px rgba(0, 0, 0, 0.15);box-shadow: -6px 0 6px -4px rgba(0, 0, 0, 0.15);}.hi-v4-table-header-filter-dropdown__trigger.hi-v4-icon-button {margin-left: 4px;}.hi-v4-table-header-filter-dropdown__content {width: 124px;padding: var(--hi-v4-spacing-6, 12px) var(--hi-v4-spacing-4, 8px);font-weight: var(--hi-v4-text-weight-normal, 400);}.hi-v4-table-header-filter-dropdown__item {margin-top: var(--hi-v4-spacing-4, 8px);padding: var(--hi-v4-spacing-3, 6px) var(--hi-v4-spacing-4, 8px);border-radius: var(--hi-v4-border-radius-md, 4px);display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;-webkit-box-align: center;-ms-flex-align: center;align-items: center;cursor: pointer;color: var(--hi-v4-color-gray-700, #1f2733);font-size: var(--hi-v4-text-size-md, 0.875rem);}.hi-v4-table-header-filter-dropdown__item:first-child {margin-top: 0;}.hi-v4-table-header-filter-dropdown__item:hover {background-color: var(--hi-v4-color-gray-50, #f5f7fa);}.hi-v4-table-header-filter-dropdown__item--active {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-table-header-filter-dropdown__item--active:hover {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-table-header-filter-sorter {display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;height: 20px;vertical-align: middle;margin-left: 6px;}.hi-v4-table-header-filter-sorter__icon {display: inline-block;height: 8px;cursor: pointer;overflow: hidden;font-weight: var(--hi-v4-text-weight-normal, 400);color: var(--hi-v4-color-gray-500, #929aa6);}.hi-v4-table-header-filter-sorter__icon svg {position: relative;top: -5px;}.hi-v4-table-header-filter-sorter__icon--active {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-table-header-filter-custom__trigger {margin-left: 6px;color: var(--hi-v4-color-gray-500, #929aa6);cursor: pointer;}.hi-v4-table-header-filter-custom__content {padding: 12px 8px;}.hi-v4-table-embed-row {position: relative;z-index: 0;}.hi-v4-table-embed-row > td {background-color: var(--hi-v4-color-gray-200, #ebedf0);padding: var(--hi-v4-spacing-10, 20px);}.hi-v4-table-setting {position: absolute;height: 100%;z-index: 11;-webkit-box-sizing: border-box;box-sizing: border-box;right: 0;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;border-left: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-300, #dfe2e8);border-bottom: none;border-top: none;color: var(--hi-v4-color-gray-500, #929aa6);cursor: pointer;font-size: var(--hi-v4-text-size-sm, 0.75rem);width: 18px;background: var(--hi-v4-color-gray-50, #f5f7fa);}.hi-v4-table-setting__btn-group {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;}.hi-v4-table-setting-item {position: relative;padding-top: var(--hi-v4-spacing-1, 2px);padding-bottom: var(--hi-v4-spacing-1, 2px);-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v4-table-setting-item__wrap {-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;cursor: move;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;padding: var(--hi-v4-spacing-3, 6px) var(--hi-v4-spacing-4, 8px);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);border-radius: var(--hi-v4-border-radius-md, 4px);}.hi-v4-table-setting-item__wrap:hover {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-table-setting-item--dragging .hi-v4-table-setting-item__wrap {opacity: 0.6;}.hi-v4-table-setting-item::before {position: absolute;left: 0;z-index: 9999;display: none;-webkit-box-sizing: border-box;box-sizing: border-box;width: 8px;height: 8px;content: \"\";background-color: var(--hi-v4-color-static-white, #fff);border: 1px solid var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));border-radius: 100%;}.hi-v4-table-setting-item::after {position: absolute;content: \"\";z-index: 9998;display: block;-webkit-box-sizing: border-box;box-sizing: border-box;border-bottom-width: 0;border-bottom-style: solid;border-bottom-color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));left: 0;width: 100%;}.hi-v4-table-setting-item::before, .hi-v4-table-setting-item::after {margin-left: -10px;margin-right: -10px;}.hi-v4-table-setting-item--direction-before::before {display: block;top: -0.5px;-webkit-transform: translateY(-4px);transform: translateY(-4px);}.hi-v4-table-setting-item--direction-before::after {top: -0.5px;border-bottom-width: 1px;}.hi-v4-table-setting-item--direction-after::before {display: block;bottom: 0.5px;-webkit-transform: translateY(4px);transform: translateY(4px);}.hi-v4-table-setting-item--direction-after::after {bottom: 0.5px;border-bottom-width: 1px;}.hi-v4-table-pagination {display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;row-gap: 8px;padding: var(--hi-v4-spacing-6, 12px) 0;background-color: var(--hi-v4-color-static-white, #fff);}.hi-v4-table-pagination--placement-left {-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start;}.hi-v4-table-pagination--placement-right {-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;}.hi-v4-table-pagination--placement-middle {-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}.hi-v4-table-empty-content td {text-align: center;padding: var(--hi-v4-spacing-12, 24px) 0;}.hi-v4-table--bordered .hi-v4-table-empty-content td {border-bottom: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-300, #dfe2e8);}.hi-v4-setting-drawer .hi-v4-setting__btn-group {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end;}.hi-v4-setting-item {position: relative;padding-top: var(--hi-v4-spacing-1, 2px);padding-bottom: var(--hi-v4-spacing-1, 2px);-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v4-setting-item__wrap {-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;cursor: move;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;padding: var(--hi-v4-spacing-3, 6px) var(--hi-v4-spacing-4, 8px);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);border-radius: var(--hi-v4-border-radius-md, 4px);}.hi-v4-setting-item__wrap:hover {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-setting-item--dragging .hi-v4-setting-item__wrap {opacity: 0.6;}.hi-v4-setting-item::before {position: absolute;left: 0;z-index: 9999;display: none;-webkit-box-sizing: border-box;box-sizing: border-box;width: 8px;height: 8px;content: \"\";background-color: var(--hi-v4-color-static-white, #fff);border: 1px solid var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));border-radius: 100%;}.hi-v4-setting-item::after {position: absolute;content: \"\";z-index: 9998;display: block;-webkit-box-sizing: border-box;box-sizing: border-box;border-bottom-width: 0;border-bottom-style: solid;border-bottom-color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));left: 0;width: 100%;}.hi-v4-setting-item::before, .hi-v4-setting-item::after {margin-left: -10px;margin-right: -10px;}.hi-v4-setting-item--direction-before::before {display: block;top: -0.5px;-webkit-transform: translateY(-4px);transform: translateY(-4px);}.hi-v4-setting-item--direction-before::after {top: -0.5px;border-bottom-width: 1px;}.hi-v4-setting-item--direction-after::before {display: block;bottom: 0.5px;-webkit-transform: translateY(4px);transform: translateY(4px);}.hi-v4-setting-item--direction-after::after {bottom: 0.5px;border-bottom-width: 1px;}";
16
16
 
17
17
  var __styleInject__ = require('style-inject')["default"];
18
18