@geelato/web-vue 2.57.0 → 2.58.1

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 (129) hide show
  1. package/dist/arco-vue.js +874 -535
  2. package/dist/arco-vue.js.map +1 -1
  3. package/dist/arco-vue.min.js +1645 -1546
  4. package/dist/arco-vue.min.js.map +1 -1
  5. package/dist/arco.css +39 -8
  6. package/dist/arco.min.css +1 -1
  7. package/es/_components/input-label/input-label.d.ts +3 -3
  8. package/es/_components/picker/input-range.d.ts +2 -2
  9. package/es/_components/picker/input.d.ts +2 -2
  10. package/es/_components/select-view/select-view.d.ts +1 -1
  11. package/es/_utils/array.d.ts +1 -1
  12. package/es/_utils/array.js +18 -1
  13. package/es/auto-complete/auto-complete.d.ts +3 -3
  14. package/es/auto-complete/index.d.ts +9 -9
  15. package/es/calendar/calendar.d.ts +1 -1
  16. package/es/calendar/index.d.ts +3 -3
  17. package/es/cascader/cascader-panel.d.ts +1 -1
  18. package/es/cascader/cascader.d.ts +5 -5
  19. package/es/cascader/index.d.ts +15 -15
  20. package/es/checkbox/checkbox-group.d.ts +2 -2
  21. package/es/checkbox/checkbox.d.ts +1 -1
  22. package/es/checkbox/index.d.ts +5 -5
  23. package/es/color-picker/color-picker.d.ts +1 -1
  24. package/es/color-picker/index.d.ts +3 -3
  25. package/es/date-picker/index.d.ts +12 -12
  26. package/es/date-picker/panels/date/index.d.ts +2 -2
  27. package/es/date-picker/panels/week/index.d.ts +2 -2
  28. package/es/date-picker/picker-panel.d.ts +4 -4
  29. package/es/date-picker/picker.d.ts +11 -11
  30. package/es/date-picker/range-picker-panel.d.ts +4 -4
  31. package/es/date-picker/range-picker.d.ts +12 -12
  32. package/es/drawer/drawer.d.ts +24 -0
  33. package/es/drawer/drawer.js +61 -6
  34. package/es/drawer/index.d.ts +45 -0
  35. package/es/drawer/style/index.css +10 -0
  36. package/es/drawer/style/index.less +12 -0
  37. package/es/form/form-item.d.ts +3 -3
  38. package/es/form/index.d.ts +3 -3
  39. package/es/index.css +39 -8
  40. package/es/input/index.d.ts +12 -12
  41. package/es/input/input-password.d.ts +3 -3
  42. package/es/input/input.d.ts +3 -3
  43. package/es/input-number/index.d.ts +3 -3
  44. package/es/input-number/input-number.d.ts +1 -1
  45. package/es/input-number/input-number.js +2 -0
  46. package/es/input-tag/index.d.ts +21 -21
  47. package/es/input-tag/input-tag.d.ts +7 -7
  48. package/es/mention/index.d.ts +9 -9
  49. package/es/mention/mention.d.ts +3 -3
  50. package/es/menu/item.d.ts +1 -1
  51. package/es/menu/sub-menu-pop.d.ts +1 -1
  52. package/es/message/message.d.ts +1 -1
  53. package/es/modal/index.d.ts +33 -3
  54. package/es/modal/modal.d.ts +16 -1
  55. package/es/modal/modal.js +23 -6
  56. package/es/modal/modal.vue_vue_type_script_lang.js +26 -2
  57. package/es/modal/style/index.css +7 -1
  58. package/es/modal/style/index.less +8 -1
  59. package/es/pagination/index.d.ts +3 -3
  60. package/es/pagination/page-jumper.d.ts +3 -3
  61. package/es/pagination/page-options.d.ts +16 -16
  62. package/es/pagination/pagination.d.ts +1 -1
  63. package/es/radio/index.d.ts +8 -8
  64. package/es/radio/radio-group.d.ts +2 -2
  65. package/es/radio/radio.d.ts +2 -2
  66. package/es/rate/index.d.ts +9 -9
  67. package/es/rate/rate.d.ts +3 -3
  68. package/es/select/index.d.ts +16 -16
  69. package/es/select/option.d.ts +5 -5
  70. package/es/select/select.d.ts +4 -4
  71. package/es/slider/index.d.ts +12 -12
  72. package/es/slider/slider-input.d.ts +3 -3
  73. package/es/slider/slider.d.ts +5 -5
  74. package/es/switch/index.d.ts +3 -3
  75. package/es/switch/switch.d.ts +1 -1
  76. package/es/table/context.d.ts +3 -0
  77. package/es/table/hooks/use-row-selection.js +5 -3
  78. package/es/table/interface.d.ts +1 -1
  79. package/es/table/style/index.css +22 -7
  80. package/es/table/style/index.less +25 -8
  81. package/es/table/table-operation-td.d.ts +13 -13
  82. package/es/table/table-operation-td.js +6 -6
  83. package/es/table/table-operation-th.js +19 -7
  84. package/es/table/table-td.js +2 -2
  85. package/es/table/table.js +165 -33
  86. package/es/table/utils.d.ts +1 -1
  87. package/es/table/utils.js +9 -5
  88. package/es/textarea/index.d.ts +6 -6
  89. package/es/textarea/textarea.d.ts +2 -2
  90. package/es/time-picker/index.d.ts +22 -22
  91. package/es/time-picker/panel.d.ts +2 -2
  92. package/es/time-picker/range-panel.d.ts +2 -2
  93. package/es/time-picker/time-picker.d.ts +10 -10
  94. package/es/transfer/index.d.ts +16 -16
  95. package/es/transfer/transfer-view.d.ts +5 -5
  96. package/es/transfer/transfer.d.ts +7 -7
  97. package/es/tree/base-node.d.ts +5 -5
  98. package/es/tree/transition-node-list.d.ts +5 -5
  99. package/es/tree-select/index.d.ts +5 -5
  100. package/es/tree-select/tree-select.d.ts +2 -2
  101. package/es/typography/edit-content.d.ts +36 -36
  102. package/es/typography/index.d.ts +3 -3
  103. package/es/typography/title.d.ts +3 -3
  104. package/es/upload/index.d.ts +3 -3
  105. package/es/upload/upload.d.ts +1 -1
  106. package/es/verification-code/index.d.ts +6 -6
  107. package/es/verification-code/verification-code.d.ts +2 -2
  108. package/json/vetur-attributes.json +2305 -2305
  109. package/json/vetur-tags.json +865 -865
  110. package/json/web-types.json +4470 -4470
  111. package/lib/_utils/array.js +18 -1
  112. package/lib/drawer/drawer.js +63 -8
  113. package/lib/drawer/style/index.css +10 -0
  114. package/lib/drawer/style/index.less +12 -0
  115. package/lib/index.css +39 -8
  116. package/lib/input-number/input-number.js +2 -0
  117. package/lib/modal/modal.js +23 -6
  118. package/lib/modal/modal.vue_vue_type_script_lang.js +36 -12
  119. package/lib/modal/style/index.css +7 -1
  120. package/lib/modal/style/index.less +8 -1
  121. package/lib/table/hooks/use-row-selection.js +5 -3
  122. package/lib/table/style/index.css +22 -7
  123. package/lib/table/style/index.less +25 -8
  124. package/lib/table/table-operation-td.js +6 -6
  125. package/lib/table/table-operation-th.js +19 -7
  126. package/lib/table/table-td.js +2 -2
  127. package/lib/table/table.js +164 -32
  128. package/lib/table/utils.js +9 -5
  129. package/package.json +1 -1
package/es/table/table.js CHANGED
@@ -1,4 +1,4 @@
1
- import { defineComponent, inject, toRefs, computed, ref, reactive, watch, watchEffect, provide, onMounted, createVNode, Fragment, mergeProps, isVNode } from "vue";
1
+ import { defineComponent, inject, toRefs, computed, ref, reactive, watch, watchEffect, provide, nextTick, onMounted, createVNode, Fragment, mergeProps, isVNode } from "vue";
2
2
  import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import { isObject, isFunction, isNumber, isString, isArray, isUndefined, isNull } from "../_utils/is.js";
4
4
  import { debounce } from "../_utils/debounce.js";
@@ -279,7 +279,7 @@ var _Table = defineComponent({
279
279
  const {
280
280
  componentRef: virtualComRef,
281
281
  elementRef: virtualRef
282
- } = useComponentRef("viewportRef");
282
+ } = useComponentRef("containerRef");
283
283
  const {
284
284
  componentRef: theadComRef,
285
285
  elementRef: theadRef
@@ -475,6 +475,9 @@ var _Table = defineComponent({
475
475
  currentAllEnabledRowKeys,
476
476
  emit
477
477
  });
478
+ const currentAllEnabledRowKeySet = computed(() => new Set(currentAllEnabledRowKeys.value));
479
+ const currentSelectedRowKeySet = computed(() => new Set(currentSelectedRowKeys.value));
480
+ const selectedRowKeySet = computed(() => new Set(selectedRowKeys.value));
478
481
  const {
479
482
  expandedRowKeys,
480
483
  handleExpand,
@@ -530,18 +533,27 @@ var _Table = defineComponent({
530
533
  expand: _record.expand,
531
534
  isLeaf: _record.isLeaf
532
535
  };
533
- if (_record.children) {
534
- record.isLeaf = false;
535
- record.children = travel(_record.children);
536
+ const recordChildren = _record.children;
537
+ if (Array.isArray(recordChildren)) {
538
+ if (recordChildren.length > 0) {
539
+ record.isLeaf = false;
540
+ record.children = travel(recordChildren);
541
+ } else if (showEmptyTree.value) {
542
+ record.isLeaf = false;
543
+ record.children = [];
544
+ } else {
545
+ record.isLeaf = true;
546
+ }
536
547
  } else if (props.loadMore && !_record.isLeaf) {
537
548
  record.isLeaf = false;
538
- if (lazyLoadData[record.key]) {
539
- record.children = travel(lazyLoadData[record.key]);
549
+ const lazyChildren = lazyLoadData[record.key];
550
+ if (lazyChildren) {
551
+ record.children = travel(lazyChildren);
540
552
  }
541
553
  } else {
542
554
  record.isLeaf = true;
543
555
  }
544
- record.hasSubtree = Boolean(record.children ? props.hideExpandButtonOnEmpty ? record.children.length > 0 : true : props.loadMore && !record.isLeaf);
556
+ record.hasSubtree = Boolean(record.children ? props.hideExpandButtonOnEmpty ? record.children.length > 0 : showEmptyTree.value || record.children.length > 0 : props.loadMore && !record.isLeaf);
545
557
  result.push(record);
546
558
  }
547
559
  return result;
@@ -859,7 +871,10 @@ var _Table = defineComponent({
859
871
  resizingColumn,
860
872
  checkStrictly,
861
873
  currentAllEnabledRowKeys,
874
+ currentAllEnabledRowKeySet,
862
875
  currentSelectedRowKeys,
876
+ currentSelectedRowKeySet,
877
+ selectedRowKeySet,
863
878
  addColumn,
864
879
  removeColumn,
865
880
  onSelectAll: handleSelectAll,
@@ -879,7 +894,8 @@ var _Table = defineComponent({
879
894
  [`${prefixCls}-dragging`]: dragState.dragging,
880
895
  [`${prefixCls}-type-selection`]: Boolean(props.rowSelection),
881
896
  [`${prefixCls}-empty`]: props.data && flattenData.value.length === 0,
882
- [`${prefixCls}-layout-fixed`]: props.tableLayoutFixed || isScroll.value.x || splitTable.value || hasEllipsis.value
897
+ [`${prefixCls}-layout-fixed`]: props.tableLayoutFixed || isScroll.value.x || splitTable.value || hasEllipsis.value,
898
+ [`${prefixCls}-virtualized`]: Boolean(props.virtualListProps)
883
899
  }]);
884
900
  const paginationCls = computed(() => [`${prefixCls}-pagination`, {
885
901
  [`${prefixCls}-pagination-left`]: props.pagePosition === "tl" || props.pagePosition === "bl",
@@ -906,6 +922,13 @@ var _Table = defineComponent({
906
922
  }
907
923
  thWidth.value = width;
908
924
  };
925
+ watch(columnWidth, () => {
926
+ if (isVirtualList.value) {
927
+ nextTick(getThWidth);
928
+ }
929
+ }, {
930
+ deep: true
931
+ });
909
932
  const hasScrollBar = ref(false);
910
933
  const isTbodyHasScrollBar = () => {
911
934
  if (tbodyRef.value) {
@@ -978,11 +1001,16 @@ var _Table = defineComponent({
978
1001
  columns: allColumns
979
1002
  });
980
1003
  const getVirtualColumnStyle = (name) => {
981
- if (!isVirtualList.value || !name || !thWidth.value[name]) {
1004
+ var _a;
1005
+ if (!isVirtualList.value || !name) {
1006
+ return void 0;
1007
+ }
1008
+ const width = (_a = columnWidth[name]) != null ? _a : thWidth.value[name];
1009
+ if (!width) {
982
1010
  return void 0;
983
1011
  }
984
1012
  return {
985
- width: `${thWidth.value[name]}px`
1013
+ width: `${width}px`
986
1014
  };
987
1015
  };
988
1016
  const renderSummaryRow = (record, rowIndex) => {
@@ -1098,16 +1126,14 @@ var _Table = defineComponent({
1098
1126
  }
1099
1127
  return null;
1100
1128
  };
1101
- const renderRecord = (record, rowIndex, {
1129
+ const renderRecordRow = (record, rowIndex, {
1102
1130
  indentSize = 0,
1103
1131
  indexPath,
1104
1132
  allowDrag = true
1105
1133
  } = {}) => {
1106
- var _a;
1107
1134
  const currentKey = record.key;
1108
1135
  const currentPath = (indexPath != null ? indexPath : []).concat(rowIndex);
1109
1136
  const expandContent = renderExpandContent(record);
1110
- const showExpand = expandedRowKeys.value.includes(currentKey);
1111
1137
  const isDragTarget = dragState.sourceKey === record.key;
1112
1138
  const dragSourceEvent = dragType.value ? {
1113
1139
  draggable: allowDrag,
@@ -1140,7 +1166,7 @@ var _Table = defineComponent({
1140
1166
  handleDrop(ev);
1141
1167
  }
1142
1168
  } : {};
1143
- return createVNode(Fragment, null, [createVNode(Tr, mergeProps({
1169
+ return createVNode(Tr, mergeProps({
1144
1170
  "key": currentKey,
1145
1171
  "class": [{
1146
1172
  [`${prefixCls}-tr-draggable`]: dragType.value === "row",
@@ -1148,15 +1174,15 @@ var _Table = defineComponent({
1148
1174
  }, isFunction(props.rowClass) ? props.rowClass(record.raw, rowIndex) : props.rowClass],
1149
1175
  "rowIndex": rowIndex,
1150
1176
  "record": record,
1151
- "checked": props.rowSelection && ((_a = selectedRowKeys.value) == null ? void 0 : _a.includes(currentKey)),
1177
+ "checked": props.rowSelection && selectedRowKeySet.value.has(currentKey),
1152
1178
  "onClick": (ev) => handleRowClick(record, ev),
1153
1179
  "onDblclick": (ev) => handleRowDblclick(record, ev),
1154
1180
  "onContextmenu": (ev) => handleRowContextMenu(record, ev)
1155
1181
  }, dragType.value === "row" ? dragSourceEvent : {}, dragTargetEvent), {
1156
1182
  default: () => [operations.value.map((operation, index) => {
1157
- var _a2;
1183
+ var _a;
1158
1184
  const cellId = `${rowIndex}-${index}-${record.key}`;
1159
- const [rowspan, colspan] = props.spanAll ? (_a2 = tableSpan.value[cellId]) != null ? _a2 : [1, 1] : [1, 1];
1185
+ const [rowspan, colspan] = props.spanAll ? (_a = tableSpan.value[cellId]) != null ? _a : [1, 1] : [1, 1];
1160
1186
  if (props.spanAll && removedCells.value.includes(cellId)) {
1161
1187
  return null;
1162
1188
  }
@@ -1176,9 +1202,9 @@ var _Table = defineComponent({
1176
1202
  "drag-handle-icon": slots["drag-handle-icon"]
1177
1203
  });
1178
1204
  }), dataColumns.value.map((column, index) => {
1179
- var _a2;
1205
+ var _a;
1180
1206
  const cellId = `${rowIndex}-${props.spanAll ? operations.value.length + index : index}-${record.key}`;
1181
- const [rowspan, colspan] = (_a2 = tableSpan.value[cellId]) != null ? _a2 : [1, 1];
1207
+ const [rowspan, colspan] = (_a = tableSpan.value[cellId]) != null ? _a : [1, 1];
1182
1208
  if (removedCells.value.includes(cellId)) {
1183
1209
  return null;
1184
1210
  }
@@ -1209,13 +1235,123 @@ var _Table = defineComponent({
1209
1235
  });
1210
1236
  })],
1211
1237
  tr: slots.tr
1238
+ });
1239
+ };
1240
+ const renderRecord = (record, rowIndex, {
1241
+ indentSize = 0,
1242
+ indexPath,
1243
+ allowDrag = true
1244
+ } = {}) => {
1245
+ const currentKey = record.key;
1246
+ const currentPath = (indexPath != null ? indexPath : []).concat(rowIndex);
1247
+ const expandContent = renderExpandContent(record);
1248
+ const showExpand = expandedRowKeys.value.includes(currentKey);
1249
+ return createVNode(Fragment, null, [renderRecordRow(record, rowIndex, {
1250
+ indentSize,
1251
+ indexPath,
1252
+ allowDrag
1212
1253
  }), showExpand && renderExpand(record, {
1213
1254
  indentSize: indentSize + props.indentSize,
1214
1255
  indexPath: currentPath,
1215
- allowDrag: allowDrag && !isDragTarget,
1256
+ allowDrag,
1216
1257
  expandContent
1217
1258
  })]);
1218
1259
  };
1260
+ const renderVirtualEmptyRow = (key) => {
1261
+ return createVNode(Tr, {
1262
+ "key": key,
1263
+ "empty": true
1264
+ }, {
1265
+ default: () => [createVNode(Td, {
1266
+ "colSpan": dataColumns.value.length + operations.value.length
1267
+ }, {
1268
+ default: () => {
1269
+ var _a, _b, _c, _d, _e;
1270
+ return [(_e = (_d = (_a = slots.empty) == null ? void 0 : _a.call(slots)) != null ? _d : (_c = configCtx == null ? void 0 : (_b = configCtx.slots).empty) == null ? void 0 : _c.call(_b, {
1271
+ component: "table"
1272
+ })) != null ? _e : createVNode(Empty, null, null)];
1273
+ }
1274
+ })]
1275
+ });
1276
+ };
1277
+ const virtualListData = computed(() => {
1278
+ if (!isVirtualList.value || flattenData.value.length === 0) {
1279
+ return [];
1280
+ }
1281
+ const hasSubData = flattenData.value.some((record) => Boolean(record.hasSubtree));
1282
+ const baseIndentSize = hasSubData ? 20 : 0;
1283
+ const expandedKeySet = new Set(expandedRowKeys.value);
1284
+ const list = [];
1285
+ let recordIndex = 0;
1286
+ const travel = (data, indentSize, indexPath) => {
1287
+ data.forEach((record, index) => {
1288
+ var _a;
1289
+ const currentPath = indexPath.concat(index);
1290
+ list.push({
1291
+ type: "record",
1292
+ _key: `r-${String(record.key)}`,
1293
+ record,
1294
+ rowIndex: recordIndex,
1295
+ indentSize,
1296
+ indexPath: currentPath
1297
+ });
1298
+ recordIndex += 1;
1299
+ if (!expandedKeySet.has(record.key))
1300
+ return;
1301
+ if (record.hasSubtree) {
1302
+ if (((_a = record.children) == null ? void 0 : _a.length) === 0 && showEmptyTree.value) {
1303
+ list.push({
1304
+ type: "empty-subtree",
1305
+ _key: `empty-subtree-${String(record.key)}`
1306
+ });
1307
+ return;
1308
+ }
1309
+ if (record.children && record.children.length > 0) {
1310
+ travel(record.children, indentSize + props.indentSize, currentPath);
1311
+ }
1312
+ return;
1313
+ }
1314
+ const expandContent = renderExpandContent(record);
1315
+ if (expandContent) {
1316
+ list.push({
1317
+ type: "expand",
1318
+ _key: `expand-${String(record.key)}`,
1319
+ record
1320
+ });
1321
+ }
1322
+ });
1323
+ };
1324
+ travel(flattenData.value, baseIndentSize, []);
1325
+ return list;
1326
+ });
1327
+ const renderVirtualItem = (item) => {
1328
+ if (item.type === "record") {
1329
+ return renderRecordRow(item.record, item.rowIndex, {
1330
+ indentSize: item.indentSize,
1331
+ indexPath: item.indexPath
1332
+ });
1333
+ }
1334
+ if (item.type === "empty-subtree") {
1335
+ return renderVirtualEmptyRow(item._key);
1336
+ }
1337
+ const expandContent = renderExpandContent(item.record);
1338
+ if (!expandContent) {
1339
+ return null;
1340
+ }
1341
+ const scrollContainer = containerElement.value;
1342
+ return createVNode(Tr, {
1343
+ "key": `${item.record.key}-expand`,
1344
+ "expand": true
1345
+ }, {
1346
+ default: () => [createVNode(Td, {
1347
+ "isFixedExpand": hasLeftFixedColumn.value || hasRightFixedColumn.value,
1348
+ "containerWidth": scrollContainer == null ? void 0 : scrollContainer.clientWidth,
1349
+ "colSpan": dataColumns.value.length + operations.value.length
1350
+ }, _isSlot(expandContent) ? expandContent : {
1351
+ default: () => [expandContent]
1352
+ })]
1353
+ });
1354
+ };
1219
1355
  const renderBody = () => {
1220
1356
  const hasSubData = flattenData.value.some((record) => Boolean(record.hasSubtree));
1221
1357
  return createVNode(Tbody, null, {
@@ -1244,7 +1380,7 @@ var _Table = defineComponent({
1244
1380
  "rowSpan": groupColumns.value.length
1245
1381
  }, null);
1246
1382
  }), row.map((column, index2) => {
1247
- const resizable = props.columnResizable && Boolean(column.dataIndex) && index2 < row.length - 1;
1383
+ const resizable = props.columnResizable && Boolean(column.dataIndex) && index2 < row.length - 1 && !column.fixed;
1248
1384
  return createVNode(Th, {
1249
1385
  "key": `th-${index2}`,
1250
1386
  "ref": (ins) => {
@@ -1307,14 +1443,11 @@ var _Table = defineComponent({
1307
1443
  "onResize": handleTbodyResize
1308
1444
  }, {
1309
1445
  default: () => {
1310
- var _a2, _b2;
1446
+ var _a2, _b2, _c, _d;
1311
1447
  return [isVirtualList.value && flattenData.value.length ? createVNode(VirtualList, mergeProps({
1312
- "ref": (ins) => {
1313
- if (ins == null ? void 0 : ins.$el)
1314
- tbodyRef.value = ins.$el;
1315
- },
1448
+ "ref": virtualComRef.value,
1316
1449
  "class": `${prefixCls}-body`,
1317
- "data": flattenData.value,
1450
+ "data": virtualListData.value,
1318
1451
  "itemKey": "_key",
1319
1452
  "component": {
1320
1453
  list: "table",
@@ -1325,19 +1458,18 @@ var _Table = defineComponent({
1325
1458
  style: contentStyle.value
1326
1459
  },
1327
1460
  "paddingPosition": "list",
1328
- "height": "auto"
1461
+ "height": (_b2 = (_a2 = props.scroll) == null ? void 0 : _a2.y) != null ? _b2 : "auto"
1329
1462
  }, props.virtualListProps, {
1330
1463
  "onScroll": onTbodyScroll
1331
1464
  }), {
1332
1465
  item: ({
1333
- item,
1334
- index
1335
- }) => renderRecord(item, index)
1466
+ item
1467
+ }) => renderVirtualItem(item)
1336
1468
  }) : createVNode(Component, mergeProps({
1337
1469
  "ref": tbodyComRef,
1338
1470
  "class": `${prefixCls}-body`,
1339
1471
  "style": {
1340
- maxHeight: isNumber((_a2 = props.scroll) == null ? void 0 : _a2.y) ? `${(_b2 = props.scroll) == null ? void 0 : _b2.y}px` : "100%"
1472
+ maxHeight: isNumber((_c = props.scroll) == null ? void 0 : _c.y) ? `${(_d = props.scroll) == null ? void 0 : _d.y}px` : "100%"
1341
1473
  }
1342
1474
  }, scrollbar.value ? {
1343
1475
  outerStyle: {
@@ -28,7 +28,7 @@ export declare function mapArrayWithChildren<T extends Array<{
28
28
  }>>(arr: T): T;
29
29
  export declare function mapRawTableData<T extends TableDataWithRaw[]>(arr: T): TableDataWithRaw['raw'][];
30
30
  export declare const getLeafKeys: (record: TableDataWithRaw) => BaseType[];
31
- export declare const getSelectionStatus: (selectedRowKeys: BaseType[], leafKeys: BaseType[]) => {
31
+ export declare const getSelectionStatus: (selectedRowKeys: BaseType[] | Set<BaseType>, leafKeys: BaseType[]) => {
32
32
  checked: boolean;
33
33
  indeterminate: boolean;
34
34
  };
package/es/table/utils.js CHANGED
@@ -259,11 +259,15 @@ const getLeafKeys = (record) => {
259
259
  const getSelectionStatus = (selectedRowKeys, leafKeys) => {
260
260
  let checked = false;
261
261
  let indeterminate = false;
262
- const selectedLeafKeys = leafKeys.filter(
263
- (key) => selectedRowKeys.includes(key)
264
- );
265
- if (selectedLeafKeys.length > 0) {
266
- if (selectedLeafKeys.length >= leafKeys.length) {
262
+ const selectedSet = selectedRowKeys instanceof Set ? selectedRowKeys : new Set(selectedRowKeys);
263
+ let selectedLeafCount = 0;
264
+ for (const key of leafKeys) {
265
+ if (selectedSet.has(key)) {
266
+ selectedLeafCount += 1;
267
+ }
268
+ }
269
+ if (selectedLeafCount > 0) {
270
+ if (selectedLeafCount >= leafKeys.length) {
267
271
  checked = true;
268
272
  } else {
269
273
  indeterminate = true;
@@ -52,9 +52,9 @@ declare const Textarea: {
52
52
  onFocus?: ((ev: FocusEvent) => any) | undefined;
53
53
  onClear?: ((ev: MouseEvent) => any) | undefined;
54
54
  onInput?: ((value: string, ev: Event) => any) | undefined;
55
- onChange?: ((value: string, ev: Event) => any) | undefined;
56
55
  onBlur?: ((ev: FocusEvent) => any) | undefined;
57
56
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
57
+ onChange?: ((value: string, ev: Event) => any) | undefined;
58
58
  }>, {
59
59
  prefixCls: string;
60
60
  wrapperCls: import("vue").ComputedRef<(string | {
@@ -98,8 +98,8 @@ declare const Textarea: {
98
98
  }, import("vue").PublicProps, {
99
99
  disabled: boolean;
100
100
  error: boolean;
101
- allowClear: boolean;
102
101
  defaultValue: string;
102
+ allowClear: boolean;
103
103
  maxLength: number | {
104
104
  length: number;
105
105
  errorOnly?: boolean | undefined;
@@ -203,9 +203,9 @@ declare const Textarea: {
203
203
  onFocus?: ((ev: FocusEvent) => any) | undefined;
204
204
  onClear?: ((ev: MouseEvent) => any) | undefined;
205
205
  onInput?: ((value: string, ev: Event) => any) | undefined;
206
- onChange?: ((value: string, ev: Event) => any) | undefined;
207
206
  onBlur?: ((ev: FocusEvent) => any) | undefined;
208
207
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
208
+ onChange?: ((value: string, ev: Event) => any) | undefined;
209
209
  }>, {
210
210
  prefixCls: string;
211
211
  wrapperCls: import("vue").ComputedRef<(string | {
@@ -242,8 +242,8 @@ declare const Textarea: {
242
242
  }, {
243
243
  disabled: boolean;
244
244
  error: boolean;
245
- allowClear: boolean;
246
245
  defaultValue: string;
246
+ allowClear: boolean;
247
247
  maxLength: number | {
248
248
  length: number;
249
249
  errorOnly?: boolean | undefined;
@@ -307,9 +307,9 @@ declare const Textarea: {
307
307
  onFocus?: ((ev: FocusEvent) => any) | undefined;
308
308
  onClear?: ((ev: MouseEvent) => any) | undefined;
309
309
  onInput?: ((value: string, ev: Event) => any) | undefined;
310
- onChange?: ((value: string, ev: Event) => any) | undefined;
311
310
  onBlur?: ((ev: FocusEvent) => any) | undefined;
312
311
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
312
+ onChange?: ((value: string, ev: Event) => any) | undefined;
313
313
  }>, {
314
314
  prefixCls: string;
315
315
  wrapperCls: import("vue").ComputedRef<(string | {
@@ -353,8 +353,8 @@ declare const Textarea: {
353
353
  }, string, {
354
354
  disabled: boolean;
355
355
  error: boolean;
356
- allowClear: boolean;
357
356
  defaultValue: string;
357
+ allowClear: boolean;
358
358
  maxLength: number | {
359
359
  length: number;
360
360
  errorOnly?: boolean | undefined;
@@ -135,14 +135,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
135
135
  onFocus?: ((ev: FocusEvent) => any) | undefined;
136
136
  onClear?: ((ev: MouseEvent) => any) | undefined;
137
137
  onInput?: ((value: string, ev: Event) => any) | undefined;
138
- onChange?: ((value: string, ev: Event) => any) | undefined;
139
138
  onBlur?: ((ev: FocusEvent) => any) | undefined;
140
139
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
140
+ onChange?: ((value: string, ev: Event) => any) | undefined;
141
141
  }>, {
142
142
  disabled: boolean;
143
143
  error: boolean;
144
- allowClear: boolean;
145
144
  defaultValue: string;
145
+ allowClear: boolean;
146
146
  maxLength: number | {
147
147
  length: number;
148
148
  errorOnly?: boolean | undefined;
@@ -86,8 +86,8 @@ declare const TimePicker: {
86
86
  "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
87
87
  onClear?: (() => any) | undefined;
88
88
  onSelect?: ((timeString: string | (string | undefined)[], time: Date | (Date | undefined)[]) => any) | undefined;
89
- onChange?: ((timeString: string | (string | undefined)[] | undefined, time: Date | (Date | undefined)[] | undefined) => any) | undefined;
90
89
  "onUpdate:modelValue"?: ((timeString: string | (string | undefined)[] | undefined) => any) | undefined;
90
+ onChange?: ((timeString: string | (string | undefined)[] | undefined, time: Date | (Date | undefined)[] | undefined) => any) | undefined;
91
91
  "onPopup-visible-change"?: ((visible: boolean) => any) | undefined;
92
92
  }>, {
93
93
  refInput: import("vue").Ref<any, any>;
@@ -138,8 +138,8 @@ declare const TimePicker: {
138
138
  disabled: boolean;
139
139
  unmountOnClose: boolean;
140
140
  type: "time" | "time-range";
141
- readonly: boolean;
142
141
  error: boolean;
142
+ readonly: boolean;
143
143
  allowClear: boolean;
144
144
  format: string;
145
145
  disableConfirm: boolean;
@@ -755,7 +755,7 @@ declare const TimePicker: {
755
755
  }, {}, {}, {
756
756
  focus(): void;
757
757
  blur(): void;
758
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "press-enter" | "change" | "blur")[], "clear" | "press-enter" | "change" | "blur", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
758
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "blur" | "press-enter" | "change")[], "clear" | "blur" | "press-enter" | "change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
759
759
  size: {
760
760
  type: import("vue").PropType<"mini" | "medium" | "large" | "small">;
761
761
  };
@@ -794,9 +794,9 @@ declare const TimePicker: {
794
794
  "onPress-enter"?: ((...args: any[]) => any) | undefined;
795
795
  }>, {
796
796
  disabled: boolean;
797
+ error: boolean;
797
798
  focused: boolean;
798
799
  readonly: boolean;
799
- error: boolean;
800
800
  allowClear: boolean;
801
801
  }, {}, {
802
802
  IconHover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -956,11 +956,11 @@ declare const TimePicker: {
956
956
  "onUpdate:focusedIndex"?: ((...args: any[]) => any) | undefined;
957
957
  }>, {
958
958
  disabled: boolean | boolean[];
959
+ placeholder: string[];
960
+ error: boolean;
959
961
  focused: boolean;
960
962
  readonly: boolean;
961
- error: boolean;
962
963
  allowClear: boolean;
963
- placeholder: string[];
964
964
  value: (import("dayjs").Dayjs | undefined)[];
965
965
  }, {}, {
966
966
  IconHover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -1052,7 +1052,7 @@ declare const TimePicker: {
1052
1052
  (value: number): import("dayjs").Dayjs;
1053
1053
  };
1054
1054
  day: {
1055
- (): 0 | 1 | 2 | 4 | 3 | 6 | 5;
1055
+ (): 0 | 1 | 2 | 4 | 3 | 5 | 6;
1056
1056
  (value: number): import("dayjs").Dayjs;
1057
1057
  };
1058
1058
  hour: {
@@ -1141,7 +1141,7 @@ declare const TimePicker: {
1141
1141
  (value: number): import("dayjs").Dayjs;
1142
1142
  };
1143
1143
  day: {
1144
- (): 0 | 1 | 2 | 4 | 3 | 6 | 5;
1144
+ (): 0 | 1 | 2 | 4 | 3 | 5 | 6;
1145
1145
  (value: number): import("dayjs").Dayjs;
1146
1146
  };
1147
1147
  hour: {
@@ -1572,7 +1572,7 @@ declare const TimePicker: {
1572
1572
  (value: number): import("dayjs").Dayjs;
1573
1573
  };
1574
1574
  day: {
1575
- (): 0 | 1 | 2 | 4 | 3 | 6 | 5;
1575
+ (): 0 | 1 | 2 | 4 | 3 | 5 | 6;
1576
1576
  (value: number): import("dayjs").Dayjs;
1577
1577
  };
1578
1578
  hour: {
@@ -1661,7 +1661,7 @@ declare const TimePicker: {
1661
1661
  (value: number): import("dayjs").Dayjs;
1662
1662
  };
1663
1663
  day: {
1664
- (): 0 | 1 | 2 | 4 | 3 | 6 | 5;
1664
+ (): 0 | 1 | 2 | 4 | 3 | 5 | 6;
1665
1665
  (value: number): import("dayjs").Dayjs;
1666
1666
  };
1667
1667
  hour: {
@@ -2116,8 +2116,8 @@ declare const TimePicker: {
2116
2116
  "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
2117
2117
  onClear?: (() => any) | undefined;
2118
2118
  onSelect?: ((timeString: string | (string | undefined)[], time: Date | (Date | undefined)[]) => any) | undefined;
2119
- onChange?: ((timeString: string | (string | undefined)[] | undefined, time: Date | (Date | undefined)[] | undefined) => any) | undefined;
2120
2119
  "onUpdate:modelValue"?: ((timeString: string | (string | undefined)[] | undefined) => any) | undefined;
2120
+ onChange?: ((timeString: string | (string | undefined)[] | undefined, time: Date | (Date | undefined)[] | undefined) => any) | undefined;
2121
2121
  "onPopup-visible-change"?: ((visible: boolean) => any) | undefined;
2122
2122
  }>, {
2123
2123
  refInput: import("vue").Ref<any, any>;
@@ -2161,8 +2161,8 @@ declare const TimePicker: {
2161
2161
  disabled: boolean;
2162
2162
  unmountOnClose: boolean;
2163
2163
  type: "time" | "time-range";
2164
- readonly: boolean;
2165
2164
  error: boolean;
2165
+ readonly: boolean;
2166
2166
  allowClear: boolean;
2167
2167
  format: string;
2168
2168
  disableConfirm: boolean;
@@ -2256,8 +2256,8 @@ declare const TimePicker: {
2256
2256
  "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
2257
2257
  onClear?: (() => any) | undefined;
2258
2258
  onSelect?: ((timeString: string | (string | undefined)[], time: Date | (Date | undefined)[]) => any) | undefined;
2259
- onChange?: ((timeString: string | (string | undefined)[] | undefined, time: Date | (Date | undefined)[] | undefined) => any) | undefined;
2260
2259
  "onUpdate:modelValue"?: ((timeString: string | (string | undefined)[] | undefined) => any) | undefined;
2260
+ onChange?: ((timeString: string | (string | undefined)[] | undefined, time: Date | (Date | undefined)[] | undefined) => any) | undefined;
2261
2261
  "onPopup-visible-change"?: ((visible: boolean) => any) | undefined;
2262
2262
  }>, {
2263
2263
  refInput: import("vue").Ref<any, any>;
@@ -2308,8 +2308,8 @@ declare const TimePicker: {
2308
2308
  disabled: boolean;
2309
2309
  unmountOnClose: boolean;
2310
2310
  type: "time" | "time-range";
2311
- readonly: boolean;
2312
2311
  error: boolean;
2312
+ readonly: boolean;
2313
2313
  allowClear: boolean;
2314
2314
  format: string;
2315
2315
  disableConfirm: boolean;
@@ -2925,7 +2925,7 @@ declare const TimePicker: {
2925
2925
  }, {}, {}, {
2926
2926
  focus(): void;
2927
2927
  blur(): void;
2928
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "press-enter" | "change" | "blur")[], "clear" | "press-enter" | "change" | "blur", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
2928
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "blur" | "press-enter" | "change")[], "clear" | "blur" | "press-enter" | "change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
2929
2929
  size: {
2930
2930
  type: import("vue").PropType<"mini" | "medium" | "large" | "small">;
2931
2931
  };
@@ -2964,9 +2964,9 @@ declare const TimePicker: {
2964
2964
  "onPress-enter"?: ((...args: any[]) => any) | undefined;
2965
2965
  }>, {
2966
2966
  disabled: boolean;
2967
+ error: boolean;
2967
2968
  focused: boolean;
2968
2969
  readonly: boolean;
2969
- error: boolean;
2970
2970
  allowClear: boolean;
2971
2971
  }, {}, {
2972
2972
  IconHover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -3126,11 +3126,11 @@ declare const TimePicker: {
3126
3126
  "onUpdate:focusedIndex"?: ((...args: any[]) => any) | undefined;
3127
3127
  }>, {
3128
3128
  disabled: boolean | boolean[];
3129
+ placeholder: string[];
3130
+ error: boolean;
3129
3131
  focused: boolean;
3130
3132
  readonly: boolean;
3131
- error: boolean;
3132
3133
  allowClear: boolean;
3133
- placeholder: string[];
3134
3134
  value: (import("dayjs").Dayjs | undefined)[];
3135
3135
  }, {}, {
3136
3136
  IconHover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -3222,7 +3222,7 @@ declare const TimePicker: {
3222
3222
  (value: number): import("dayjs").Dayjs;
3223
3223
  };
3224
3224
  day: {
3225
- (): 0 | 1 | 2 | 4 | 3 | 6 | 5;
3225
+ (): 0 | 1 | 2 | 4 | 3 | 5 | 6;
3226
3226
  (value: number): import("dayjs").Dayjs;
3227
3227
  };
3228
3228
  hour: {
@@ -3311,7 +3311,7 @@ declare const TimePicker: {
3311
3311
  (value: number): import("dayjs").Dayjs;
3312
3312
  };
3313
3313
  day: {
3314
- (): 0 | 1 | 2 | 4 | 3 | 6 | 5;
3314
+ (): 0 | 1 | 2 | 4 | 3 | 5 | 6;
3315
3315
  (value: number): import("dayjs").Dayjs;
3316
3316
  };
3317
3317
  hour: {
@@ -3742,7 +3742,7 @@ declare const TimePicker: {
3742
3742
  (value: number): import("dayjs").Dayjs;
3743
3743
  };
3744
3744
  day: {
3745
- (): 0 | 1 | 2 | 4 | 3 | 6 | 5;
3745
+ (): 0 | 1 | 2 | 4 | 3 | 5 | 6;
3746
3746
  (value: number): import("dayjs").Dayjs;
3747
3747
  };
3748
3748
  hour: {
@@ -3831,7 +3831,7 @@ declare const TimePicker: {
3831
3831
  (value: number): import("dayjs").Dayjs;
3832
3832
  };
3833
3833
  day: {
3834
- (): 0 | 1 | 2 | 4 | 3 | 6 | 5;
3834
+ (): 0 | 1 | 2 | 4 | 3 | 5 | 6;
3835
3835
  (value: number): import("dayjs").Dayjs;
3836
3836
  };
3837
3837
  hour: {
@@ -41,7 +41,7 @@ declare const _default: import("vue").DefineComponent<{
41
41
  (value: number): Dayjs;
42
42
  };
43
43
  day: {
44
- (): 0 | 1 | 2 | 4 | 3 | 6 | 5;
44
+ (): 0 | 1 | 2 | 4 | 3 | 5 | 6;
45
45
  (value: number): Dayjs;
46
46
  };
47
47
  hour: {
@@ -130,7 +130,7 @@ declare const _default: import("vue").DefineComponent<{
130
130
  (value: number): Dayjs;
131
131
  };
132
132
  day: {
133
- (): 0 | 1 | 2 | 4 | 3 | 6 | 5;
133
+ (): 0 | 1 | 2 | 4 | 3 | 5 | 6;
134
134
  (value: number): Dayjs;
135
135
  };
136
136
  hour: {