@deot/vc-components 1.0.57 → 1.0.59

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/dist/index.js CHANGED
@@ -22,7 +22,6 @@ class VcError {
22
22
  if (!message || !target) return;
23
23
  message = `[@deot/vc - ${target}]: ${message}`;
24
24
  this.message = message;
25
- /* istanbul ignore next -- @preserve */
26
25
  process.env.NODE_ENV === "development" && console.error(message);
27
26
  }
28
27
  }
@@ -31,31 +30,38 @@ const VARIABLES = {};
31
30
 
32
31
  const nil = void 0;
33
32
  const defaults$2 = {
34
- UploadPicker: {
35
- enhancer: nil
36
- },
37
33
  Editor: {
38
34
  options: nil,
39
35
  enhancer: nil
40
36
  },
41
- Theme: {
42
- variables: VARIABLES
43
- },
44
37
  Portal: {
45
38
  install: nil
46
39
  },
47
- Upload: {
48
- onRequest: nil,
49
- onResponse: nil,
50
- onMessage: nil
51
- },
52
- TableColumn: {
53
- line: nil
40
+ RecycleList: {
41
+ renderRefresh: nil,
42
+ renderPlaceholder: nil,
43
+ renderLoading: nil,
44
+ renderComplete: nil,
45
+ renderEmpty: nil
54
46
  },
55
47
  Snapshot: {
56
48
  options: nil,
57
49
  source: nil,
58
50
  download: nil
51
+ },
52
+ TableColumn: {
53
+ line: nil
54
+ },
55
+ Theme: {
56
+ variables: VARIABLES
57
+ },
58
+ Upload: {
59
+ onRequest: nil,
60
+ onResponse: nil,
61
+ onMessage: nil
62
+ },
63
+ UploadPicker: {
64
+ enhancer: nil
59
65
  }
60
66
  };
61
67
 
@@ -84,7 +90,7 @@ class Instance {
84
90
  }
85
91
  const VcInstance = new Instance();
86
92
 
87
- const props$1t = {
93
+ const props$1u = {
88
94
  tag: {
89
95
  type: String,
90
96
  default: "div"
@@ -93,10 +99,10 @@ const props$1t = {
93
99
 
94
100
  /** @jsxImportSource vue */
95
101
 
96
- const COMPONENT_NAME$29 = 'vc-action-sheet';
102
+ const COMPONENT_NAME$2a = 'vc-action-sheet';
97
103
  const ActionSheet = /* @__PURE__ */ defineComponent({
98
- name: COMPONENT_NAME$29,
99
- props: props$1t,
104
+ name: COMPONENT_NAME$2a,
105
+ props: props$1u,
100
106
  setup(props, {
101
107
  slots
102
108
  }) {
@@ -110,7 +116,7 @@ const ActionSheet = /* @__PURE__ */ defineComponent({
110
116
 
111
117
  const MActionSheet = ActionSheet;
112
118
 
113
- const props$1s = {
119
+ const props$1t = {
114
120
  modelValue: {
115
121
  type: Boolean,
116
122
  default: false
@@ -172,11 +178,11 @@ const isWheel = (el) => {
172
178
 
173
179
  /** @jsxImportSource vue */
174
180
 
175
- const COMPONENT_NAME$28 = 'vc-affix';
181
+ const COMPONENT_NAME$29 = 'vc-affix';
176
182
  const Affix = /* @__PURE__ */ defineComponent({
177
- name: COMPONENT_NAME$28,
183
+ name: COMPONENT_NAME$29,
178
184
  emits: ['update:modelValue'],
179
- props: props$1s,
185
+ props: props$1t,
180
186
  setup(props, {
181
187
  slots,
182
188
  expose,
@@ -342,7 +348,7 @@ const Affix = /* @__PURE__ */ defineComponent({
342
348
 
343
349
  const MAffix = Affix;
344
350
 
345
- const props$1r = {
351
+ const props$1s = {
346
352
  modelValue: {
347
353
  type: Boolean,
348
354
  default: true
@@ -369,7 +375,7 @@ const props$1r = {
369
375
  }
370
376
  };
371
377
 
372
- const props$1q = {
378
+ const props$1r = {
373
379
  type: String,
374
380
  inherit: {
375
381
  type: Boolean,
@@ -407,7 +413,6 @@ class Manager {
407
413
  const key = `${prefix}${url}`;
408
414
  const cache = window.localStorage.getItem(key);
409
415
  let icons = JSON.parse(cache || '""');
410
- /* istanbul ignore next -- @preserve */
411
416
  if (!icons) {
412
417
  const data = await new Promise((resolve$) => {
413
418
  const request = new XMLHttpRequest();
@@ -442,7 +447,6 @@ class Manager {
442
447
  });
443
448
  resolve();
444
449
  } catch (e) {
445
- /* istanbul ignore next -- @preserve */
446
450
  reject(new VcError("icon", e));
447
451
  }
448
452
  })();
@@ -454,7 +458,6 @@ class Manager {
454
458
  const icons = {};
455
459
  setTimeout(() => {
456
460
  try {
457
- /* istanbul ignore next -- @preserve */
458
461
  IS_DEV && console.time(url);
459
462
  svgStr.replace(svgReg, "$1")?.match(symbolReg)?.forEach(
460
463
  (i) => i.replace(basicReg, (_, ...args) => {
@@ -469,23 +472,19 @@ class Manager {
469
472
  return "";
470
473
  })
471
474
  );
472
- /* istanbul ignore next -- @preserve */
473
475
  IS_DEV && console.timeEnd(url);
474
476
  resolve(icons);
475
477
  } catch (e) {
476
- /* istanbul ignore next -- @preserve */
477
478
  reject(new VcError("icon", e));
478
479
  }
479
480
  }, 0);
480
481
  });
481
482
  }
482
483
  on(type, fn) {
483
- /* istanbul ignore next -- @preserve */
484
484
  if (typeof type !== "string" || typeof fn !== "function") return this;
485
485
  this.events[type] = this.events[type] || [];
486
486
  if (this.events[type].length >= 100) {
487
487
  delete this.events[type];
488
- /* istanbul ignore else -- @preserve */
489
488
  if (!IS_SERVER) {
490
489
  throw new VcError("icon", `${type} nonexistent`);
491
490
  }
@@ -494,7 +493,6 @@ class Manager {
494
493
  return this;
495
494
  }
496
495
  off(type, fn) {
497
- /* istanbul ignore next -- @preserve */
498
496
  if (typeof type !== "string" || typeof fn !== "function") return this;
499
497
  this.events[type] = this.events[type]?.filter((i) => i != fn);
500
498
  return this;
@@ -514,10 +512,10 @@ const IconManager = new Manager();
514
512
 
515
513
  /** @jsxImportSource vue */
516
514
 
517
- const COMPONENT_NAME$27 = 'vc-icon';
515
+ const COMPONENT_NAME$28 = 'vc-icon';
518
516
  const Icon = /* @__PURE__ */ defineComponent({
519
- name: COMPONENT_NAME$27,
520
- props: props$1q,
517
+ name: COMPONENT_NAME$28,
518
+ props: props$1r,
521
519
  setup(props) {
522
520
  const viewBox = ref('0 0 1024 1024');
523
521
  const path = ref([]);
@@ -550,7 +548,7 @@ const Icon = /* @__PURE__ */ defineComponent({
550
548
  }
551
549
  });
552
550
 
553
- const props$1p = {
551
+ const props$1q = {
554
552
  /**
555
553
  * 进入/离开持续时间
556
554
  * {enter: 300, leave: 300}
@@ -715,10 +713,10 @@ const useTransition = () => {
715
713
  };
716
714
  };
717
715
 
718
- const COMPONENT_NAME$26 = "vc-transition";
716
+ const COMPONENT_NAME$27 = "vc-transition";
719
717
  const Transition = defineComponent({
720
- name: COMPONENT_NAME$26,
721
- props: props$1p,
718
+ name: COMPONENT_NAME$27,
719
+ props: props$1q,
722
720
  // 当不声明emits的情况下,事件存在于attrs中
723
721
  inheritAttrs: false,
724
722
  setup(props, { slots, attrs }) {
@@ -738,10 +736,10 @@ const Transition = defineComponent({
738
736
  }
739
737
  });
740
738
 
741
- const COMPONENT_NAME$25 = "vc-transition-collapse";
739
+ const COMPONENT_NAME$26 = "vc-transition-collapse";
742
740
  const TransitionCollapse = defineComponent({
743
- name: COMPONENT_NAME$25,
744
- props: props$1p,
741
+ name: COMPONENT_NAME$26,
742
+ props: props$1q,
745
743
  // 当不声明emits的情况下,事件存在于attrs中
746
744
  inheritAttrs: false,
747
745
  setup(props, { slots, attrs: _attrs }) {
@@ -758,7 +756,6 @@ const TransitionCollapse = defineComponent({
758
756
  const handleBeforeEnter = (el) => {
759
757
  const duration = props.duration.enter || props.duration;
760
758
  el.style.transition = getTransitionStyle(duration);
761
- /* istanbul ignore next -- @preserve */
762
759
  if (!el.dataset) {
763
760
  el.dataset = {};
764
761
  }
@@ -775,7 +772,6 @@ const TransitionCollapse = defineComponent({
775
772
  const next = createNext(done, duration);
776
773
  try {
777
774
  el.dataset.oldOverflow = el.style.overflow;
778
- /* istanbul ignore next -- @preserve */
779
775
  if (el.scrollHeight !== 0) {
780
776
  el.style.height = el.scrollHeight + "px";
781
777
  el.style.paddingTop = el.dataset.oldPaddingTop + "px";
@@ -798,7 +794,6 @@ const TransitionCollapse = defineComponent({
798
794
  attrs.onAfterEnter?.(el);
799
795
  };
800
796
  const handleBeforeLeave = (el) => {
801
- /* istanbul ignore next -- @preserve */
802
797
  if (!el.dataset) {
803
798
  el.dataset = {};
804
799
  }
@@ -815,7 +810,6 @@ const TransitionCollapse = defineComponent({
815
810
  const next = createNext(done, duration);
816
811
  try {
817
812
  const leaveDuration = props.duration.leave || props.duration;
818
- /* istanbul ignore next -- @preserve */
819
813
  if (el.scrollHeight !== 0) {
820
814
  el.style.transition = getTransitionStyle(leaveDuration);
821
815
  el.style.height = "0px";
@@ -859,11 +853,11 @@ const TransitionCollapse = defineComponent({
859
853
  }
860
854
  });
861
855
 
862
- const COMPONENT_NAME$24 = "vc-transition-fade";
856
+ const COMPONENT_NAME$25 = "vc-transition-fade";
863
857
  const TransitionFade = defineComponent({
864
- name: COMPONENT_NAME$24,
858
+ name: COMPONENT_NAME$25,
865
859
  props: {
866
- ...props$1p,
860
+ ...props$1q,
867
861
  // inheritAttrs必须是false
868
862
  style: {
869
863
  type: Object,
@@ -896,11 +890,11 @@ const TransitionFade = defineComponent({
896
890
  }
897
891
  });
898
892
 
899
- const COMPONENT_NAME$23 = "vc-transition-scale";
893
+ const COMPONENT_NAME$24 = "vc-transition-scale";
900
894
  const TransitionScale = defineComponent({
901
- name: COMPONENT_NAME$23,
895
+ name: COMPONENT_NAME$24,
902
896
  props: {
903
- ...props$1p,
897
+ ...props$1q,
904
898
  mode: {
905
899
  type: String,
906
900
  default: "both",
@@ -938,11 +932,11 @@ const TransitionScale = defineComponent({
938
932
  }
939
933
  });
940
934
 
941
- const COMPONENT_NAME$22 = "vc-transition-slide";
935
+ const COMPONENT_NAME$23 = "vc-transition-slide";
942
936
  const TransitionSlide = defineComponent({
943
- name: COMPONENT_NAME$22,
937
+ name: COMPONENT_NAME$23,
944
938
  props: {
945
- ...props$1p,
939
+ ...props$1q,
946
940
  mode: {
947
941
  type: String,
948
942
  default: "left",
@@ -980,11 +974,11 @@ const TransitionSlide = defineComponent({
980
974
  }
981
975
  });
982
976
 
983
- const COMPONENT_NAME$21 = "vc-transition-zoom";
977
+ const COMPONENT_NAME$22 = "vc-transition-zoom";
984
978
  const TransitionZoom = defineComponent({
985
- name: COMPONENT_NAME$21,
979
+ name: COMPONENT_NAME$22,
986
980
  props: {
987
- ...props$1p,
981
+ ...props$1q,
988
982
  mode: {
989
983
  type: String,
990
984
  default: "x",
@@ -1024,7 +1018,7 @@ const TransitionZoom = defineComponent({
1024
1018
 
1025
1019
  /** @jsxImportSource vue */
1026
1020
 
1027
- const COMPONENT_NAME$20 = 'vc-alert';
1021
+ const COMPONENT_NAME$21 = 'vc-alert';
1028
1022
 
1029
1023
  // [color, borderColor, backgroundColor], -> CSS
1030
1024
  const THEME_MAP = {
@@ -1034,8 +1028,8 @@ const THEME_MAP = {
1034
1028
  warning: ['#ffbf00', '#ffe58f', '#fffbe6']
1035
1029
  };
1036
1030
  const Alert = /* @__PURE__ */ defineComponent({
1037
- name: COMPONENT_NAME$20,
1038
- props: props$1r,
1031
+ name: COMPONENT_NAME$21,
1032
+ props: props$1s,
1039
1033
  setup(props, {
1040
1034
  slots,
1041
1035
  emit
@@ -1124,7 +1118,7 @@ const Alert = /* @__PURE__ */ defineComponent({
1124
1118
 
1125
1119
  const MAlert = Alert;
1126
1120
 
1127
- const props$1o = {
1121
+ const props$1p = {
1128
1122
  // canvas配置参数
1129
1123
  options: Object,
1130
1124
  width: {
@@ -1140,10 +1134,10 @@ const props$1o = {
1140
1134
  /** @jsxImportSource vue */
1141
1135
 
1142
1136
  const isTouch = typeof document !== 'undefined' && 'ontouchend' in document;
1143
- const COMPONENT_NAME$1$ = 'vc-artboard';
1137
+ const COMPONENT_NAME$20 = 'vc-artboard';
1144
1138
  const Artboard = /* @__PURE__ */ defineComponent({
1145
- name: COMPONENT_NAME$1$,
1146
- props: props$1o,
1139
+ name: COMPONENT_NAME$20,
1140
+ props: props$1p,
1147
1141
  setup(props, {
1148
1142
  emit,
1149
1143
  expose
@@ -1346,7 +1340,7 @@ const Artboard = /* @__PURE__ */ defineComponent({
1346
1340
 
1347
1341
  const MArtboard = Artboard;
1348
1342
 
1349
- const props$1n = {
1343
+ const props$1o = {
1350
1344
  size: {
1351
1345
  type: Number,
1352
1346
  default: 28
@@ -1370,10 +1364,10 @@ const props$1n = {
1370
1364
 
1371
1365
  /** @jsxImportSource vue */
1372
1366
 
1373
- const COMPONENT_NAME$1_ = 'vc-spin';
1367
+ const COMPONENT_NAME$1$ = 'vc-spin';
1374
1368
  const Spin = /* @__PURE__ */ defineComponent({
1375
- name: COMPONENT_NAME$1_,
1376
- props: props$1n,
1369
+ name: COMPONENT_NAME$1$,
1370
+ props: props$1o,
1377
1371
  setup(props, {
1378
1372
  slots
1379
1373
  }) {
@@ -1407,7 +1401,7 @@ const Spin = /* @__PURE__ */ defineComponent({
1407
1401
  }
1408
1402
  });
1409
1403
 
1410
- const props$1m = {
1404
+ const props$1n = {
1411
1405
  wait: {
1412
1406
  type: Number,
1413
1407
  default: 250
@@ -1423,10 +1417,10 @@ const props$1m = {
1423
1417
  exclude: RegExp
1424
1418
  };
1425
1419
 
1426
- const COMPONENT_NAME$1Z = "vc-debounce";
1420
+ const COMPONENT_NAME$1_ = "vc-debounce";
1427
1421
  const Debounce = defineComponent({
1428
- name: COMPONENT_NAME$1Z,
1429
- props: props$1m,
1422
+ name: COMPONENT_NAME$1_,
1423
+ props: props$1n,
1430
1424
  /**
1431
1425
  * 不声明emits使得事件被透传放入attrs中, 这样可以让所有的事件透传
1432
1426
  * 如事件onClick
@@ -1441,7 +1435,6 @@ const Debounce = defineComponent({
1441
1435
  () => {
1442
1436
  const { wait, exclude, include } = props;
1443
1437
  const ons = Object.entries(attrs).reduce((pre, [key, callback]) => {
1444
- /* istanbul ignore else -- @preserve */
1445
1438
  if ((!exclude || !exclude.test(key)) && (!include || include.test(key)) && typeof callback === "function") {
1446
1439
  pre[key] = debounce(callback, wait, {
1447
1440
  leading: true,
@@ -1467,7 +1460,7 @@ const Debounce = defineComponent({
1467
1460
  }
1468
1461
  });
1469
1462
 
1470
- const props$1l = {
1463
+ const props$1m = {
1471
1464
  tag: {
1472
1465
  type: String,
1473
1466
  default: "button"
@@ -1499,11 +1492,11 @@ const props$1l = {
1499
1492
 
1500
1493
  /** @jsxImportSource vue */
1501
1494
 
1502
- const COMPONENT_NAME$1Y = 'vc-button';
1495
+ const COMPONENT_NAME$1Z = 'vc-button';
1503
1496
  const Button = /* @__PURE__ */ defineComponent({
1504
- name: COMPONENT_NAME$1Y,
1497
+ name: COMPONENT_NAME$1Z,
1505
1498
  emits: ['click'],
1506
- props: props$1l,
1499
+ props: props$1m,
1507
1500
  setup(props, {
1508
1501
  slots
1509
1502
  }) {
@@ -1564,7 +1557,7 @@ const Button = /* @__PURE__ */ defineComponent({
1564
1557
  }
1565
1558
  });
1566
1559
 
1567
- const props$1k = {
1560
+ const props$1l = {
1568
1561
  vertical: {
1569
1562
  type: Boolean,
1570
1563
  default: false
@@ -1585,10 +1578,10 @@ const props$1k = {
1585
1578
 
1586
1579
  /** @jsxImportSource vue */
1587
1580
 
1588
- const COMPONENT_NAME$1X = 'vc-button-group';
1581
+ const COMPONENT_NAME$1Y = 'vc-button-group';
1589
1582
  const ButtonGroup = /* @__PURE__ */ defineComponent({
1590
- name: COMPONENT_NAME$1X,
1591
- props: props$1k,
1583
+ name: COMPONENT_NAME$1Y,
1584
+ props: props$1l,
1592
1585
  setup(props, {
1593
1586
  slots
1594
1587
  }) {
@@ -1612,7 +1605,7 @@ const ButtonGroup = /* @__PURE__ */ defineComponent({
1612
1605
  const MButton = Button;
1613
1606
  const MButtonGroup = ButtonGroup;
1614
1607
 
1615
- const props$1j = {
1608
+ const props$1k = {
1616
1609
  tag: {
1617
1610
  type: String,
1618
1611
  default: "div"
@@ -1621,10 +1614,10 @@ const props$1j = {
1621
1614
 
1622
1615
  /** @jsxImportSource vue */
1623
1616
 
1624
- const COMPONENT_NAME$1W = 'vc-calendar';
1617
+ const COMPONENT_NAME$1X = 'vc-calendar';
1625
1618
  const Calendar = /* @__PURE__ */ defineComponent({
1626
- name: COMPONENT_NAME$1W,
1627
- props: props$1j,
1619
+ name: COMPONENT_NAME$1X,
1620
+ props: props$1k,
1628
1621
  setup(props, {
1629
1622
  slots
1630
1623
  }) {
@@ -1638,7 +1631,7 @@ const Calendar = /* @__PURE__ */ defineComponent({
1638
1631
 
1639
1632
  const MCalendar = Calendar;
1640
1633
 
1641
- const props$1i = {
1634
+ const props$1j = {
1642
1635
  border: {
1643
1636
  type: Boolean,
1644
1637
  default: true
@@ -1661,10 +1654,10 @@ const props$1i = {
1661
1654
 
1662
1655
  /** @jsxImportSource vue */
1663
1656
 
1664
- const COMPONENT_NAME$1V = 'vc-card';
1657
+ const COMPONENT_NAME$1W = 'vc-card';
1665
1658
  const Card = /* @__PURE__ */ defineComponent({
1666
- name: COMPONENT_NAME$1V,
1667
- props: props$1i,
1659
+ name: COMPONENT_NAME$1W,
1660
+ props: props$1j,
1668
1661
  setup(props, {
1669
1662
  slots
1670
1663
  }) {
@@ -1690,7 +1683,7 @@ const Card = /* @__PURE__ */ defineComponent({
1690
1683
 
1691
1684
  const MCard = Card;
1692
1685
 
1693
- const props$1h = {
1686
+ const props$1i = {
1694
1687
  tag: {
1695
1688
  type: String,
1696
1689
  default: "div"
@@ -1699,10 +1692,10 @@ const props$1h = {
1699
1692
 
1700
1693
  /** @jsxImportSource vue */
1701
1694
 
1702
- const COMPONENT_NAME$1U = 'vc-carousel';
1695
+ const COMPONENT_NAME$1V = 'vc-carousel';
1703
1696
  const Carousel = /* @__PURE__ */ defineComponent({
1704
- name: COMPONENT_NAME$1U,
1705
- props: props$1h,
1697
+ name: COMPONENT_NAME$1V,
1698
+ props: props$1i,
1706
1699
  setup(props, {
1707
1700
  slots
1708
1701
  }) {
@@ -1743,7 +1736,7 @@ const getSelectedData = (value = [], source = []) => {
1743
1736
  });
1744
1737
  };
1745
1738
 
1746
- const props$1g = {
1739
+ const props$1h = {
1747
1740
  // Array, 作为select等数组存放临时值
1748
1741
  modelValue: [String, Number, Array],
1749
1742
  disabled: {
@@ -1995,12 +1988,12 @@ const useNativeEmitter = (input, expose) => {
1995
1988
 
1996
1989
  /** @jsxImportSource vue */
1997
1990
 
1998
- const COMPONENT_NAME$1T = 'vc-input';
1991
+ const COMPONENT_NAME$1U = 'vc-input';
1999
1992
  const Input = /* @__PURE__ */ defineComponent({
2000
- name: COMPONENT_NAME$1T,
1993
+ name: COMPONENT_NAME$1U,
2001
1994
  inheritAttrs: false,
2002
1995
  props: {
2003
- ...props$1g,
1996
+ ...props$1h,
2004
1997
  indicator: {
2005
1998
  type: [Boolean, Object],
2006
1999
  default: false
@@ -2102,8 +2095,8 @@ const Input = /* @__PURE__ */ defineComponent({
2102
2095
  }
2103
2096
  });
2104
2097
 
2105
- const props$1f = {
2106
- ...props$1g,
2098
+ const props$1g = {
2099
+ ...props$1h,
2107
2100
  min: {
2108
2101
  type: Number,
2109
2102
  default: 0
@@ -2332,10 +2325,10 @@ const useInputNumber = () => {
2332
2325
 
2333
2326
  /** @jsxImportSource vue */
2334
2327
 
2335
- const COMPONENT_NAME$1S = 'vc-input-number';
2328
+ const COMPONENT_NAME$1T = 'vc-input-number';
2336
2329
  const InputNumber = /* @__PURE__ */ defineComponent({
2337
- name: COMPONENT_NAME$1S,
2338
- props: props$1f,
2330
+ name: COMPONENT_NAME$1T,
2331
+ props: props$1g,
2339
2332
  inheritAttrs: false,
2340
2333
  setup(props, {
2341
2334
  slots,
@@ -2388,8 +2381,8 @@ const InputNumber = /* @__PURE__ */ defineComponent({
2388
2381
  }
2389
2382
  });
2390
2383
 
2391
- const props$1e = {
2392
- ...props$1g,
2384
+ const props$1f = {
2385
+ ...props$1h,
2393
2386
  enterText: {
2394
2387
  type: [Boolean, String],
2395
2388
  default: true
@@ -2398,10 +2391,10 @@ const props$1e = {
2398
2391
 
2399
2392
  /** @jsxImportSource vue */
2400
2393
 
2401
- const COMPONENT_NAME$1R = 'vc-input-search';
2394
+ const COMPONENT_NAME$1S = 'vc-input-search';
2402
2395
  const InputSearch = /* @__PURE__ */ defineComponent({
2403
- name: COMPONENT_NAME$1R,
2404
- props: props$1e,
2396
+ name: COMPONENT_NAME$1S,
2397
+ props: props$1f,
2405
2398
  inheritAttrs: false,
2406
2399
  setup(props, {
2407
2400
  emit,
@@ -2433,7 +2426,7 @@ const InputSearch = /* @__PURE__ */ defineComponent({
2433
2426
  }
2434
2427
  });
2435
2428
 
2436
- const props$1d = {
2429
+ const props$1e = {
2437
2430
  modelValue: Boolean,
2438
2431
  animation: String,
2439
2432
  placement: {
@@ -2512,7 +2505,7 @@ const wrapperKeys = [
2512
2505
  "autoWidth",
2513
2506
  "always"
2514
2507
  ];
2515
- const props$1c = {
2508
+ const props$1d = {
2516
2509
  trigger: {
2517
2510
  type: String,
2518
2511
  default: "hover",
@@ -2530,7 +2523,7 @@ const props$1c = {
2530
2523
  type: Boolean,
2531
2524
  default: true
2532
2525
  },
2533
- ...pick(props$1d, wrapperKeys)
2526
+ ...pick(props$1e, wrapperKeys)
2534
2527
  };
2535
2528
 
2536
2529
  const EXTRA_DISTANCE = 4;
@@ -2786,17 +2779,17 @@ const usePos = () => {
2786
2779
  };
2787
2780
  };
2788
2781
 
2789
- const props$1b = {
2782
+ const props$1c = {
2790
2783
  render: {
2791
2784
  type: Function,
2792
2785
  default: () => null
2793
2786
  }
2794
2787
  };
2795
2788
 
2796
- const COMPONENT_NAME$1Q = "vc-customer";
2789
+ const COMPONENT_NAME$1R = "vc-customer";
2797
2790
  const Customer = defineComponent({
2798
- name: COMPONENT_NAME$1Q,
2799
- props: props$1b,
2791
+ name: COMPONENT_NAME$1R,
2792
+ props: props$1c,
2800
2793
  setup(props, context) {
2801
2794
  return () => h(() => {
2802
2795
  return props.render(context.attrs, context);
@@ -2871,7 +2864,7 @@ class PortalLeaf {
2871
2864
  }
2872
2865
  }
2873
2866
 
2874
- const COMPONENT_NAME$1P = "vc-portal";
2867
+ const COMPONENT_NAME$1Q = "vc-portal";
2875
2868
  class Portal {
2876
2869
  /**
2877
2870
  * 清理Portals类型组件
@@ -2901,7 +2894,6 @@ class Portal {
2901
2894
  }
2902
2895
  }
2903
2896
  } catch (e) {
2904
- /* istanbul ignore next -- @preserve */
2905
2897
  throw new VcError("instance", e);
2906
2898
  }
2907
2899
  }
@@ -2912,7 +2904,6 @@ class Portal {
2912
2904
  try {
2913
2905
  Portal.leafs.forEach((leaf) => leaf.destroy());
2914
2906
  } catch (e) {
2915
- /* istanbul ignore next -- @preserve */
2916
2907
  throw new VcError("instance", e);
2917
2908
  }
2918
2909
  }
@@ -2923,7 +2914,7 @@ class Portal {
2923
2914
  this.wrapper = wrapper;
2924
2915
  this.globalOptions = {
2925
2916
  ...options,
2926
- name: options?.name || wrapper.name || Utils.getUid(COMPONENT_NAME$1P)
2917
+ name: options?.name || wrapper.name || Utils.getUid(COMPONENT_NAME$1Q)
2927
2918
  };
2928
2919
  }
2929
2920
  popup(propsData, options) {
@@ -2985,7 +2976,6 @@ class Portal {
2985
2976
  return (...args) => {
2986
2977
  const done = () => {
2987
2978
  const leaf = getLeaf();
2988
- /* istanbul ignore next -- @preserve */
2989
2979
  if (!leaf) {
2990
2980
  throw new VcError("portal", "实例不存在或已卸载");
2991
2981
  }
@@ -3022,7 +3012,7 @@ class Portal {
3022
3012
  ...rest
3023
3013
  } = options;
3024
3014
  let useAllNodes = fragment;
3025
- const name = multiple ? `${name$}__${Utils.getUid(COMPONENT_NAME$1P)}` : name$;
3015
+ const name = multiple ? `${name$}__${Utils.getUid(COMPONENT_NAME$1Q)}` : name$;
3026
3016
  const container = document.createElement(tag);
3027
3017
  const root = typeof el === "object" ? el : document.querySelector(el || "body");
3028
3018
  !alive && Portal.leafs.get(name)?.destroy();
@@ -3036,7 +3026,6 @@ class Portal {
3036
3026
  if (isDestroyed()) return;
3037
3027
  onDestroyed?.(...args);
3038
3028
  leaf.app?.unmount();
3039
- /* istanbul ignore else -- @preserve */
3040
3029
  if (useAllNodes) {
3041
3030
  root?.contains(container) && root.removeChild(container);
3042
3031
  } else if (container && container._children) {
@@ -3057,23 +3046,20 @@ class Portal {
3057
3046
  } else {
3058
3047
  const wrapper = this.wrapper;
3059
3048
  const app = createApp({
3060
- name: COMPONENT_NAME$1P,
3049
+ name: COMPONENT_NAME$1Q,
3061
3050
  parent,
3062
3051
  setup() {
3063
3052
  if (alive) {
3064
3053
  const handleExtra = (e) => {
3065
3054
  try {
3066
3055
  const path = e.path || $.composedPath(e);
3067
- /* istanbul ignore else -- @preserve */
3068
3056
  if (container && e.target && !container.contains(e.target) && !path?.some((item) => Utils$1.eleInRegExp(item, aliveRegExp))) {
3069
- /* istanbul ignore else -- @preserve */
3070
3057
  if (leaf.wrapper && leaf.wrapper?.[aliveVisibleKey]) {
3071
3058
  typeof leaf.wrapper[aliveVisibleKey] === "function" ? leaf.wrapper[aliveVisibleKey](false) : leaf.wrapper[aliveVisibleKey] = false;
3072
3059
  }
3073
3060
  leaveDelay ? setTimeout($onDestroyed, leaveDelay) : $onDestroyed();
3074
3061
  }
3075
3062
  } catch (error) {
3076
- /* istanbul ignore next -- @preserve */
3077
3063
  throw new VcError("portal", error);
3078
3064
  }
3079
3065
  };
@@ -3164,21 +3150,21 @@ class Portal {
3164
3150
  }
3165
3151
  }
3166
3152
 
3167
- const props$1a = {
3153
+ const props$1b = {
3168
3154
  tag: {
3169
3155
  type: String,
3170
3156
  default: "div"
3171
3157
  }
3172
3158
  };
3173
3159
 
3174
- const COMPONENT_NAME$1O = 'vc-portal-view';
3160
+ const COMPONENT_NAME$1P = 'vc-portal-view';
3175
3161
 
3176
3162
  /**
3177
3163
  * 写法不同,但与vue@2.x 保持一致
3178
3164
  */
3179
3165
  const PortalView = /* @__PURE__ */ defineComponent({
3180
- name: COMPONENT_NAME$1O,
3181
- props: props$1a,
3166
+ name: COMPONENT_NAME$1P,
3167
+ props: props$1b,
3182
3168
  setup(props, {
3183
3169
  slots
3184
3170
  }) {
@@ -3197,10 +3183,10 @@ const PortalView = /* @__PURE__ */ defineComponent({
3197
3183
 
3198
3184
  /** @jsxImportSource vue */
3199
3185
 
3200
- const COMPONENT_NAME$1N = 'vc-popover-wrapper';
3186
+ const COMPONENT_NAME$1O = 'vc-popover-wrapper';
3201
3187
  const PopoverWrapper = /* @__PURE__ */ defineComponent({
3202
- name: COMPONENT_NAME$1N,
3203
- props: props$1d,
3188
+ name: COMPONENT_NAME$1O,
3189
+ props: props$1e,
3204
3190
  emits: ['portal-fulfilled', 'close'],
3205
3191
  setup(props, {
3206
3192
  emit,
@@ -3457,10 +3443,10 @@ const PopoverPortal = new Portal(PopoverWrapper, {
3457
3443
 
3458
3444
  /** @jsxImportSource vue */
3459
3445
 
3460
- const COMPONENT_NAME$1M = 'vc-popover';
3446
+ const COMPONENT_NAME$1N = 'vc-popover';
3461
3447
  const Popover$1 = /* @__PURE__ */ defineComponent({
3462
- name: COMPONENT_NAME$1M,
3463
- props: props$1c,
3448
+ name: COMPONENT_NAME$1N,
3449
+ props: props$1d,
3464
3450
  emits: ['update:modelValue', 'visible-change', 'ready', 'close'],
3465
3451
  setup(props, {
3466
3452
  emit,
@@ -3603,9 +3589,9 @@ const Popover = Object.assign(Popover$1, {
3603
3589
 
3604
3590
  /** @jsxImportSource vue */
3605
3591
 
3606
- const COMPONENT_NAME$1L = 'vc-cascader-column';
3592
+ const COMPONENT_NAME$1M = 'vc-cascader-column';
3607
3593
  const CascaderColumn = /* @__PURE__ */ defineComponent({
3608
- name: COMPONENT_NAME$1L,
3594
+ name: COMPONENT_NAME$1M,
3609
3595
  emits: ['click', 'change'],
3610
3596
  props: {
3611
3597
  data: {
@@ -3723,9 +3709,9 @@ const popoverKeys$1 = [
3723
3709
  "portal",
3724
3710
  "portalClass"
3725
3711
  ];
3726
- const props$19 = {
3727
- ...pick(props$1c, popoverKeys$1),
3728
- ...pick(props$1g, inputKeys$2),
3712
+ const props$1a = {
3713
+ ...pick(props$1d, popoverKeys$1),
3714
+ ...pick(props$1h, inputKeys$2),
3729
3715
  renderOption: [Function],
3730
3716
  renderOptionGroup: [Function],
3731
3717
  data: {
@@ -3791,8 +3777,8 @@ const props$19 = {
3791
3777
  label: String
3792
3778
  };
3793
3779
 
3794
- const props$18 = {
3795
- ...props$19,
3780
+ const props$19 = {
3781
+ ...props$1a,
3796
3782
  data: {
3797
3783
  type: Array,
3798
3784
  default: () => []
@@ -3813,11 +3799,11 @@ const props$18 = {
3813
3799
 
3814
3800
  /** @jsxImportSource vue */
3815
3801
 
3816
- const COMPONENT_NAME$1K = 'vc-cascader';
3802
+ const COMPONENT_NAME$1L = 'vc-cascader';
3817
3803
  const Cascader = /* @__PURE__ */ defineComponent({
3818
- name: COMPONENT_NAME$1K,
3804
+ name: COMPONENT_NAME$1L,
3819
3805
  inheritAttrs: false,
3820
- props: props$18,
3806
+ props: props$19,
3821
3807
  emits: ['update:modelValue', 'visible-change', 'ready', 'change', 'close'],
3822
3808
  setup(props, {
3823
3809
  emit,
@@ -4153,7 +4139,7 @@ const EVENTS = [
4153
4139
  "contextmenu"
4154
4140
  ];
4155
4141
 
4156
- const props$17 = {
4142
+ const props$18 = {
4157
4143
  options: Object,
4158
4144
  pluginOptions: Object,
4159
4145
  theme: [String, Object],
@@ -4168,14 +4154,15 @@ const props$17 = {
4168
4154
 
4169
4155
  /** @jsxImportSource vue */
4170
4156
 
4171
- const COMPONENT_NAME$1J = 'vc-chart';
4157
+ const COMPONENT_NAME$1K = 'vc-chart';
4172
4158
  const Chart = /* @__PURE__ */ defineComponent({
4173
- name: COMPONENT_NAME$1J,
4174
- props: props$17,
4159
+ name: COMPONENT_NAME$1K,
4160
+ props: props$18,
4175
4161
  emits: [...EVENTS, 'ready'],
4176
4162
  setup(props, {
4177
4163
  emit,
4178
- slots
4164
+ slots,
4165
+ expose
4179
4166
  }) {
4180
4167
  const instance = getCurrentInstance();
4181
4168
  const chart = shallowRef(null);
@@ -4274,6 +4261,12 @@ const Chart = /* @__PURE__ */ defineComponent({
4274
4261
  }
4275
4262
  });
4276
4263
  });
4264
+
4265
+ // 如果存在内存泄漏,chart.value.getOption() 获取配置项,查看series参数等情况
4266
+ expose({
4267
+ chart,
4268
+ refresh
4269
+ });
4277
4270
  onUnmounted(destroy);
4278
4271
  return () => {
4279
4272
  return createVNode("div", {
@@ -4286,7 +4279,7 @@ const Chart = /* @__PURE__ */ defineComponent({
4286
4279
 
4287
4280
  const MChart = Chart;
4288
4281
 
4289
- const props$16 = {
4282
+ const props$17 = {
4290
4283
  disabled: {
4291
4284
  type: Boolean,
4292
4285
  default: false
@@ -4402,10 +4395,10 @@ const useCheckbox = () => {
4402
4395
 
4403
4396
  /** @jsxImportSource vue */
4404
4397
 
4405
- const COMPONENT_NAME$1I = 'vc-checkbox';
4398
+ const COMPONENT_NAME$1J = 'vc-checkbox';
4406
4399
  const Checkbox = /* @__PURE__ */ defineComponent({
4407
- name: COMPONENT_NAME$1I,
4408
- props: props$16,
4400
+ name: COMPONENT_NAME$1J,
4401
+ props: props$17,
4409
4402
  emits: ['update:modelValue', 'change'],
4410
4403
  setup(props, {
4411
4404
  slots
@@ -4442,7 +4435,7 @@ const Checkbox = /* @__PURE__ */ defineComponent({
4442
4435
  }
4443
4436
  });
4444
4437
 
4445
- const props$15 = {
4438
+ const props$16 = {
4446
4439
  modelValue: {
4447
4440
  type: Array,
4448
4441
  default: () => []
@@ -4491,10 +4484,10 @@ const useCheckboxGroup = () => {
4491
4484
 
4492
4485
  /** @jsxImportSource vue */
4493
4486
 
4494
- const COMPONENT_NAME$1H = 'vc-checkbox-group';
4487
+ const COMPONENT_NAME$1I = 'vc-checkbox-group';
4495
4488
  const CheckboxGroup = /* @__PURE__ */ defineComponent({
4496
- name: COMPONENT_NAME$1H,
4497
- props: props$15,
4489
+ name: COMPONENT_NAME$1I,
4490
+ props: props$16,
4498
4491
  emits: ['update:modelValue', 'change'],
4499
4492
  setup(props, {
4500
4493
  slots
@@ -4511,10 +4504,10 @@ const CheckboxGroup = /* @__PURE__ */ defineComponent({
4511
4504
 
4512
4505
  /** @jsxImportSource vue */
4513
4506
 
4514
- const COMPONENT_NAME$1G = 'vcm-checkbox';
4507
+ const COMPONENT_NAME$1H = 'vcm-checkbox';
4515
4508
  const MCheckbox = /* @__PURE__ */ defineComponent({
4516
- name: COMPONENT_NAME$1G,
4517
- props: props$16,
4509
+ name: COMPONENT_NAME$1H,
4510
+ props: props$17,
4518
4511
  emits: ['update:modelValue', 'change'],
4519
4512
  setup(props, {
4520
4513
  slots
@@ -4553,10 +4546,10 @@ const MCheckbox = /* @__PURE__ */ defineComponent({
4553
4546
 
4554
4547
  /** @jsxImportSource vue */
4555
4548
 
4556
- const COMPONENT_NAME$1F = 'vcm-checkbox-group';
4549
+ const COMPONENT_NAME$1G = 'vcm-checkbox-group';
4557
4550
  const MCheckboxGroup = /* @__PURE__ */ defineComponent({
4558
- name: COMPONENT_NAME$1F,
4559
- props: props$15,
4551
+ name: COMPONENT_NAME$1G,
4552
+ props: props$16,
4560
4553
  emits: ['update:modelValue', 'change'],
4561
4554
  setup(props, {
4562
4555
  slots
@@ -4571,7 +4564,7 @@ const MCheckboxGroup = /* @__PURE__ */ defineComponent({
4571
4564
  }
4572
4565
  });
4573
4566
 
4574
- const props$14 = {
4567
+ const props$15 = {
4575
4568
  content: [String, Function],
4576
4569
  mask: {
4577
4570
  type: Boolean,
@@ -4609,11 +4602,11 @@ const props$14 = {
4609
4602
 
4610
4603
  /** @jsxImportSource vue */
4611
4604
 
4612
- const COMPONENT_NAME$1E = 'vc-message';
4605
+ const COMPONENT_NAME$1F = 'vc-message';
4613
4606
  const MessageView = /* @__PURE__ */ defineComponent({
4614
- name: COMPONENT_NAME$1E,
4607
+ name: COMPONENT_NAME$1F,
4615
4608
  emits: ['before-close', 'close', 'portal-fulfilled'],
4616
- props: props$14,
4609
+ props: props$15,
4617
4610
  setup(props, {
4618
4611
  emit,
4619
4612
  expose
@@ -4743,7 +4736,7 @@ const warning$3 = create$4({ mode: "warning" });
4743
4736
  const error$3 = create$4({ mode: "error" });
4744
4737
  const Message = Object.assign(MessageView, { destroy: destroy$5, info: info$3, success: success$3, loading: loading$1, warning: warning$3, error: error$3 });
4745
4738
 
4746
- const props$13 = {
4739
+ const props$14 = {
4747
4740
  value: String,
4748
4741
  tag: {
4749
4742
  type: [String, Object, Function],
@@ -4860,10 +4853,10 @@ const useClipboard = (done) => {
4860
4853
  return () => h(props.tag, { onClick: handleClick, class: "vc-clipboard" }, slots?.default?.());
4861
4854
  };
4862
4855
 
4863
- const COMPONENT_NAME$1D = "vc-clipboard";
4856
+ const COMPONENT_NAME$1E = "vc-clipboard";
4864
4857
  const Clipboard$1 = defineComponent({
4865
- name: COMPONENT_NAME$1D,
4866
- props: props$13,
4858
+ name: COMPONENT_NAME$1E,
4859
+ props: props$14,
4867
4860
  setup() {
4868
4861
  return useClipboard((content) => Message.success({ content }));
4869
4862
  }
@@ -4871,7 +4864,7 @@ const Clipboard$1 = defineComponent({
4871
4864
 
4872
4865
  const Clipboard = Object.assign(Clipboard$1, group);
4873
4866
 
4874
- const props$12 = {
4867
+ const props$13 = {
4875
4868
  content: [String, Function],
4876
4869
  maskClosable: {
4877
4870
  type: Boolean,
@@ -4902,11 +4895,11 @@ const MTransitionZoom = TransitionZoom;
4902
4895
 
4903
4896
  /** @jsxImportSource vue */
4904
4897
 
4905
- const COMPONENT_NAME$1C = 'vcm-toast';
4898
+ const COMPONENT_NAME$1D = 'vcm-toast';
4906
4899
  const MToastView = /* @__PURE__ */ defineComponent({
4907
- name: COMPONENT_NAME$1C,
4900
+ name: COMPONENT_NAME$1D,
4908
4901
  emits: ['close', 'portal-fulfilled'],
4909
- props: props$12,
4902
+ props: props$13,
4910
4903
  setup(props, {
4911
4904
  emit,
4912
4905
  expose
@@ -5006,10 +4999,10 @@ const warning$2 = create$3({ mode: "warning" });
5006
4999
  const error$2 = create$3({ mode: "error" });
5007
5000
  const MToast = Object.assign(MToastView, { destroy: destroy$4, info: info$2, success: success$2, loading, warning: warning$2, error: error$2 });
5008
5001
 
5009
- const COMPONENT_NAME$1B = "vcm-clipboard";
5002
+ const COMPONENT_NAME$1C = "vcm-clipboard";
5010
5003
  const MClipboard$1 = defineComponent({
5011
- name: COMPONENT_NAME$1B,
5012
- props: props$13,
5004
+ name: COMPONENT_NAME$1C,
5005
+ props: props$14,
5013
5006
  setup() {
5014
5007
  return useClipboard((content) => MToast.info({ content }));
5015
5008
  }
@@ -5017,7 +5010,7 @@ const MClipboard$1 = defineComponent({
5017
5010
 
5018
5011
  const MClipboard = Object.assign(MClipboard$1, group);
5019
5012
 
5020
- const props$11 = {
5013
+ const props$12 = {
5021
5014
  tag: {
5022
5015
  type: String,
5023
5016
  default: "div"
@@ -5040,10 +5033,10 @@ const props$11 = {
5040
5033
  }
5041
5034
  };
5042
5035
 
5043
- const COMPONENT_NAME$1A = "vc-collapse";
5036
+ const COMPONENT_NAME$1B = "vc-collapse";
5044
5037
  const Collapse = defineComponent({
5045
- name: COMPONENT_NAME$1A,
5046
- props: props$11,
5038
+ name: COMPONENT_NAME$1B,
5039
+ props: props$12,
5047
5040
  emits: ["update:moodelValue", "change"],
5048
5041
  setup(props, { slots, emit }) {
5049
5042
  const instance = getCurrentInstance();
@@ -5128,7 +5121,7 @@ const Collapse = defineComponent({
5128
5121
  }
5129
5122
  });
5130
5123
 
5131
- const props$10 = {
5124
+ const props$11 = {
5132
5125
  tag: {
5133
5126
  type: String,
5134
5127
  default: "div"
@@ -5138,7 +5131,7 @@ const props$10 = {
5138
5131
  }
5139
5132
  };
5140
5133
 
5141
- const props$$ = {
5134
+ const props$10 = {
5142
5135
  tag: {
5143
5136
  type: String,
5144
5137
  default: "div"
@@ -5156,13 +5149,13 @@ const props$$ = {
5156
5149
 
5157
5150
  /** @jsxImportSource vue */
5158
5151
 
5159
- function _isSlot$2(s) {
5152
+ function _isSlot$3(s) {
5160
5153
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
5161
5154
  }
5162
- const COMPONENT_NAME$1z = 'vc-expand';
5155
+ const COMPONENT_NAME$1A = 'vc-expand';
5163
5156
  const Expand$1 = /* @__PURE__ */ defineComponent({
5164
- name: COMPONENT_NAME$1z,
5165
- props: props$$,
5157
+ name: COMPONENT_NAME$1A,
5158
+ props: props$10,
5166
5159
  setup(props, {
5167
5160
  slots
5168
5161
  }) {
@@ -5180,7 +5173,7 @@ const Expand$1 = /* @__PURE__ */ defineComponent({
5180
5173
  enter: 200,
5181
5174
  leave: 200
5182
5175
  }
5183
- }, _isSlot$2(_slot = withDirectives(createVNode(Content, null, {
5176
+ }, _isSlot$3(_slot = withDirectives(createVNode(Content, null, {
5184
5177
  default: () => [(props.alive || !props.alive && isActive.value) && slots.default?.()]
5185
5178
  }), [[vShow, isActive.value]])) ? _slot : {
5186
5179
  default: () => [_slot]
@@ -5191,10 +5184,10 @@ const Expand$1 = /* @__PURE__ */ defineComponent({
5191
5184
 
5192
5185
  /** @jsxImportSource vue */
5193
5186
 
5194
- const COMPONENT_NAME$1y = 'vc-collapse-item';
5187
+ const COMPONENT_NAME$1z = 'vc-collapse-item';
5195
5188
  const CollapseItem = /* @__PURE__ */ defineComponent({
5196
- name: COMPONENT_NAME$1y,
5197
- props: props$10,
5189
+ name: COMPONENT_NAME$1z,
5190
+ props: props$11,
5198
5191
  setup(props, {
5199
5192
  slots,
5200
5193
  expose
@@ -5259,7 +5252,7 @@ const CollapseItem = /* @__PURE__ */ defineComponent({
5259
5252
  const MCollapse = Collapse;
5260
5253
  const MCollapseItem = CollapseItem;
5261
5254
 
5262
- const props$_ = {
5255
+ const props$$ = {
5263
5256
  tag: {
5264
5257
  type: String,
5265
5258
  default: "div"
@@ -5268,10 +5261,10 @@ const props$_ = {
5268
5261
 
5269
5262
  /** @jsxImportSource vue */
5270
5263
 
5271
- const COMPONENT_NAME$1x = 'vc-color-picker';
5264
+ const COMPONENT_NAME$1y = 'vc-color-picker';
5272
5265
  const ColorPicker = /* @__PURE__ */ defineComponent({
5273
- name: COMPONENT_NAME$1x,
5274
- props: props$_,
5266
+ name: COMPONENT_NAME$1y,
5267
+ props: props$$,
5275
5268
  setup(props, {
5276
5269
  slots
5277
5270
  }) {
@@ -5285,7 +5278,7 @@ const ColorPicker = /* @__PURE__ */ defineComponent({
5285
5278
 
5286
5279
  const MColorPicker = ColorPicker;
5287
5280
 
5288
- const props$Z = {
5281
+ const props$_ = {
5289
5282
  tag: {
5290
5283
  type: String,
5291
5284
  default: "span"
@@ -5330,14 +5323,14 @@ const formatter = (format, arr) => {
5330
5323
 
5331
5324
  /** @jsxImportSource vue */
5332
5325
 
5333
- function _isSlot$1(s) {
5326
+ function _isSlot$2(s) {
5334
5327
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
5335
5328
  }
5336
- const COMPONENT_NAME$1w = 'vc-countdown';
5329
+ const COMPONENT_NAME$1x = 'vc-countdown';
5337
5330
  const Countdown = /* @__PURE__ */ defineComponent({
5338
- name: COMPONENT_NAME$1w,
5339
- props: props$Z,
5340
- emits: ['change', 'finish', 'error'],
5331
+ name: COMPONENT_NAME$1x,
5332
+ props: props$_,
5333
+ emits: ['change', 'complete', 'error'],
5341
5334
  setup(props, {
5342
5335
  emit,
5343
5336
  slots
@@ -5427,7 +5420,7 @@ const Countdown = /* @__PURE__ */ defineComponent({
5427
5420
  second: '00',
5428
5421
  millisecond: '00'
5429
5422
  });
5430
- emit('finish');
5423
+ emit('complete');
5431
5424
  } else {
5432
5425
  emit('change', {
5433
5426
  timestamp,
@@ -5465,7 +5458,7 @@ const Countdown = /* @__PURE__ */ defineComponent({
5465
5458
  return (// @ts-ignore
5466
5459
  createVNode(Content, {
5467
5460
  "class": "vc-countdown"
5468
- }, _isSlot$1(_slot = slots.default(binds.value)) ? _slot : {
5461
+ }, _isSlot$2(_slot = slots.default(binds.value)) ? _slot : {
5469
5462
  default: () => [_slot]
5470
5463
  })
5471
5464
  );
@@ -5488,6 +5481,345 @@ const Countdown = /* @__PURE__ */ defineComponent({
5488
5481
 
5489
5482
  const MCountdown = Countdown;
5490
5483
 
5484
+ const props$Z = {
5485
+ tag: {
5486
+ type: String,
5487
+ default: "span"
5488
+ },
5489
+ value: [Number, String],
5490
+ placeholder: String,
5491
+ precision: {
5492
+ type: Number,
5493
+ default: 0
5494
+ },
5495
+ duration: {
5496
+ type: Number,
5497
+ default: 500
5498
+ },
5499
+ decimal: {
5500
+ type: String,
5501
+ default: "."
5502
+ },
5503
+ separator: {
5504
+ type: String,
5505
+ default: ","
5506
+ },
5507
+ numerals: {
5508
+ type: Array,
5509
+ default: () => []
5510
+ },
5511
+ smartEasingThreshold: {
5512
+ type: Number,
5513
+ default: 999
5514
+ },
5515
+ smartEasingAmount: {
5516
+ type: Number,
5517
+ default: 333
5518
+ },
5519
+ easing: {
5520
+ type: [Function, Boolean],
5521
+ default: true
5522
+ },
5523
+ // 10.90 -> 10.9
5524
+ zeroless: {
5525
+ type: Boolean,
5526
+ default: false
5527
+ },
5528
+ // 为true时,自行管理start/update
5529
+ controllable: {
5530
+ type: Boolean,
5531
+ default: false
5532
+ },
5533
+ render: Function
5534
+ };
5535
+
5536
+ const separated2value = (value, options) => {
5537
+ if (typeof value === "number" || typeof value !== "string") return value;
5538
+ const escapeRegExp = (s) => s.replace(/([.,' ])/g, "\\$1");
5539
+ const sep = escapeRegExp(options.separator);
5540
+ const dec = escapeRegExp(options.decimal);
5541
+ const num = (value || "").replace(new RegExp(sep, "g"), "").replace(new RegExp(dec, "g"), ".");
5542
+ return parseFloat(num);
5543
+ };
5544
+ const value2separated = (value, options) => {
5545
+ const num = typeof value === "number" ? value : parseFloat(value);
5546
+ if (value === "" || Number.isNaN(num)) {
5547
+ return {
5548
+ negative: "",
5549
+ integer: "",
5550
+ decimal: "",
5551
+ separated: "",
5552
+ float: "",
5553
+ value: ""
5554
+ };
5555
+ }
5556
+ const negative = num < 0 ? "-" : "";
5557
+ let [integer, decimal = ""] = `${Math.abs(num)}`.split(".");
5558
+ let separated = integer;
5559
+ if (options.separator) {
5560
+ let v = "";
5561
+ let j = 0;
5562
+ const factor = 3;
5563
+ for (let i = 0, len = separated.length; i < len; ++i) {
5564
+ if (i !== 0 && j % factor === 0) {
5565
+ v = options.separator + v;
5566
+ }
5567
+ j++;
5568
+ v = separated[len - i - 1] + v;
5569
+ }
5570
+ separated = v;
5571
+ }
5572
+ const precision$ = options.zeroless ? Math.min(options.precision, decimal.length) : options.precision;
5573
+ if (precision$) {
5574
+ decimal = decimal.slice(0, precision$).padEnd(precision$, "0");
5575
+ } else {
5576
+ decimal = "";
5577
+ }
5578
+ if (options?.numerals?.length) {
5579
+ separated = separated.replace(/[0-9]/g, (w) => options.numerals[+w]);
5580
+ decimal = decimal.replace(/[0-9]/g, (w) => options.numerals[+w]);
5581
+ }
5582
+ const _decimal = decimal ? options.decimal + decimal : "";
5583
+ return {
5584
+ negative,
5585
+ integer,
5586
+ decimal,
5587
+ separated,
5588
+ float: `${negative}${integer}${_decimal}`,
5589
+ value: `${negative}${separated}${_decimal}`
5590
+ };
5591
+ };
5592
+
5593
+ /** @jsxImportSource vue */
5594
+
5595
+ function _isSlot$1(s) {
5596
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
5597
+ }
5598
+ const COMPONENT_NAME$1w = 'vc-counter';
5599
+ const Counter = /* @__PURE__ */ defineComponent({
5600
+ name: COMPONENT_NAME$1w,
5601
+ props: props$Z,
5602
+ emits: ['begin', 'complete', 'change'],
5603
+ setup(props, {
5604
+ emit,
5605
+ expose,
5606
+ slots
5607
+ }) {
5608
+ const startTime = ref(null);
5609
+ const duration = ref(props.duration);
5610
+ const remaining = ref(duration.value);
5611
+ const startVal = ref(0);
5612
+ const endVal = ref(separated2value(props.value, props));
5613
+ const frameVal = ref(startVal.value);
5614
+ const finalEndVal = ref(null);
5615
+ const useEasing = ref(!!props.easing);
5616
+ const isStart = ref(false);
5617
+ const isPaused = ref(false);
5618
+ const isComplete = ref(false);
5619
+ const countdown = ref(false);
5620
+ const rAF = ref(null);
5621
+ const prints = reactive({
5622
+ negative: '',
5623
+ integer: '',
5624
+ decimal: '',
5625
+ separated: '',
5626
+ float: '',
5627
+ value: ''
5628
+ });
5629
+
5630
+ // t: current time, b: beginning value, c: change in value, d: duration
5631
+ const easing = computed(() => {
5632
+ return typeof props.easing === 'function' ? props.easing : (t, b, c, d) => c * (-Math.pow(2, -10 * t / d) + 1) * 1024 / 1023 + b;
5633
+ });
5634
+ const displayValue = computed(() => {
5635
+ if (props.value === '' || typeof props.value !== 'string' && typeof props.value !== 'number') {
5636
+ return props.placeholder;
5637
+ }
5638
+ return prints.value;
5639
+ });
5640
+ const binds = computed(() => {
5641
+ return {
5642
+ ...prints,
5643
+ value: displayValue.value
5644
+ };
5645
+ });
5646
+ const determineDirectionAndSmartEasing = () => {
5647
+ const v = finalEndVal.value !== null ? finalEndVal.value : endVal.value;
5648
+ countdown.value = startVal.value > v;
5649
+ const animateAmount = v - startVal.value;
5650
+ if (Math.abs(animateAmount) > props.smartEasingThreshold && props.easing) {
5651
+ finalEndVal.value = v;
5652
+ const up = countdown.value ? 1 : -1;
5653
+ endVal.value = v + up * props.smartEasingAmount;
5654
+ duration.value = duration.value / 2;
5655
+ } else {
5656
+ endVal.value = v;
5657
+ finalEndVal.value = null;
5658
+ }
5659
+ if (finalEndVal.value !== null) {
5660
+ useEasing.value = false;
5661
+ } else {
5662
+ useEasing.value = !!props.easing;
5663
+ }
5664
+ };
5665
+ const run = () => {
5666
+ const done = timestamp => {
5667
+ if (!startTime.value) {
5668
+ startTime.value = timestamp;
5669
+ }
5670
+ const progress = timestamp - startTime.value;
5671
+ remaining.value = duration.value - progress;
5672
+ if (useEasing.value) {
5673
+ if (countdown.value) {
5674
+ frameVal.value = startVal.value - easing.value(progress, 0, startVal.value - endVal.value, duration.value);
5675
+ } else {
5676
+ frameVal.value = easing.value(progress, startVal.value, endVal.value - startVal.value, duration.value);
5677
+ }
5678
+ } else {
5679
+ frameVal.value = startVal.value + (endVal.value - startVal.value) * (progress / duration.value);
5680
+ }
5681
+ const wentPast = countdown.value ? frameVal.value < endVal.value : frameVal.value > endVal.value;
5682
+ frameVal.value = wentPast ? endVal.value : frameVal.value;
5683
+ print(frameVal.value);
5684
+ if (progress < duration.value) {
5685
+ rAF.value = requestAnimationFrame(done);
5686
+ } else if (finalEndVal.value !== null) {
5687
+ update(finalEndVal.value);
5688
+ } else {
5689
+ emit('complete');
5690
+ isComplete.value = true;
5691
+ }
5692
+ };
5693
+ determineDirectionAndSmartEasing();
5694
+ rAF.value = requestAnimationFrame(done);
5695
+ };
5696
+ const print = num => {
5697
+ Object.assign(prints, value2separated(num, props));
5698
+ emit('change', prints);
5699
+ };
5700
+ const resetDuration = () => {
5701
+ startTime.value = null;
5702
+ duration.value = props.duration;
5703
+ remaining.value = duration.value;
5704
+ };
5705
+ const cancel = () => {
5706
+ if (rAF.value === null || typeof rAF.value === 'undefined') return;
5707
+ cancelAnimationFrame(rAF.value);
5708
+ };
5709
+ const start = () => {
5710
+ if (isComplete.value || isStart.value) return;
5711
+ cancel();
5712
+ resetDuration();
5713
+ isPaused.value = false;
5714
+ isComplete.value = false;
5715
+ startVal.value = 0;
5716
+ frameVal.value = 0;
5717
+ isStart.value = true;
5718
+ emit('begin');
5719
+ if (duration.value > 0) {
5720
+ run();
5721
+ } else {
5722
+ print(endVal.value);
5723
+ }
5724
+ };
5725
+ const pause = () => {
5726
+ if (isComplete.value) return;
5727
+ if (!isPaused.value) {
5728
+ cancel();
5729
+ }
5730
+ isPaused.value = true;
5731
+ };
5732
+ const resume = () => {
5733
+ if (isComplete.value) return;
5734
+ if (isPaused.value) {
5735
+ startTime.value = null;
5736
+ duration.value = remaining.value;
5737
+ startVal.value = frameVal.value;
5738
+ run();
5739
+ }
5740
+ isPaused.value = false;
5741
+ };
5742
+ const update = newEndVal => {
5743
+ if (!isStart.value) return;
5744
+ cancel();
5745
+ startTime.value = null;
5746
+ endVal.value = +newEndVal;
5747
+ if (endVal.value === frameVal.value) {
5748
+ return;
5749
+ }
5750
+ startVal.value = frameVal.value;
5751
+ if (finalEndVal.value === null) {
5752
+ resetDuration();
5753
+ }
5754
+ finalEndVal.value = null;
5755
+ run();
5756
+ };
5757
+ const end = () => {
5758
+ if (isComplete.value) return;
5759
+ cancel();
5760
+ resetDuration();
5761
+ startVal.value = +props.value;
5762
+ frameVal.value = startVal.value;
5763
+ print(frameVal.value);
5764
+ emit('complete');
5765
+ isComplete.value = true;
5766
+ };
5767
+ const restart = () => {
5768
+ isStart.value = false;
5769
+ isComplete.value = false;
5770
+ start();
5771
+ };
5772
+ watch(() => props.value, () => {
5773
+ if (props.controllable || !isStart.value) return;
5774
+ update(props.value);
5775
+ });
5776
+ watch(() => props.precision, () => {
5777
+ if (props.controllable || !isStart.value || !isComplete.value) return;
5778
+ print(+props.value);
5779
+ });
5780
+ expose({
5781
+ start,
5782
+ pause,
5783
+ resume,
5784
+ update,
5785
+ end,
5786
+ restart,
5787
+ cancel,
5788
+ print
5789
+ });
5790
+ onMounted(() => !props.controllable && start());
5791
+ onBeforeUnmount(cancel);
5792
+ const Content = props.tag;
5793
+ return () => {
5794
+ if (slots.default) {
5795
+ let _slot;
5796
+ return (// @ts-ignore
5797
+ createVNode(Content, {
5798
+ "class": "vc-counter"
5799
+ }, _isSlot$1(_slot = slots.default(binds.value)) ? _slot : {
5800
+ default: () => [_slot]
5801
+ })
5802
+ );
5803
+ }
5804
+ if (props.render) {
5805
+ return createVNode(Customer, mergeProps({
5806
+ "class": "vc-counter",
5807
+ "render": props.render
5808
+ }, binds.value), null);
5809
+ }
5810
+ return (// @ts-ignore
5811
+ createVNode(Content, {
5812
+ "class": "vc-counter"
5813
+ }, {
5814
+ default: () => [displayValue.value]
5815
+ })
5816
+ );
5817
+ };
5818
+ }
5819
+ });
5820
+
5821
+ const MCounter = Counter;
5822
+
5491
5823
  const props$Y = {
5492
5824
  type: {
5493
5825
  type: String,
@@ -5511,8 +5843,8 @@ const popoverKeys = [
5511
5843
  "portalClass"
5512
5844
  ];
5513
5845
  const props$X = {
5514
- ...pick(props$1c, popoverKeys),
5515
- ...pick(props$1g, inputKeys$1),
5846
+ ...pick(props$1d, popoverKeys),
5847
+ ...pick(props$1h, inputKeys$1),
5516
5848
  type: String,
5517
5849
  placeholder: String,
5518
5850
  clearable: {
@@ -10034,7 +10366,7 @@ const DropdownItem = /* @__PURE__ */ defineComponent({
10034
10366
  }) {
10035
10367
  const owner = getInstance('dropdown', 'dropdownId');
10036
10368
  const currentValue = computed(() => {
10037
- const v = typeof props.value === 'undefined' || props.value === '' ? props.label : props.value;
10369
+ const v = typeof props.value === 'undefined' ? props.label : props.value;
10038
10370
  return v;
10039
10371
  });
10040
10372
  const classes = computed(() => {
@@ -12558,7 +12890,7 @@ const MInput = /* @__PURE__ */ defineComponent({
12558
12890
  name: COMPONENT_NAME$V,
12559
12891
  inheritAttrs: false,
12560
12892
  props: {
12561
- ...props$1g,
12893
+ ...props$1h,
12562
12894
  right: {
12563
12895
  type: Boolean,
12564
12896
  default: false
@@ -12647,7 +12979,7 @@ const MInput = /* @__PURE__ */ defineComponent({
12647
12979
  const COMPONENT_NAME$U = 'vcm-input-number';
12648
12980
  const MInputNumber = /* @__PURE__ */ defineComponent({
12649
12981
  name: COMPONENT_NAME$U,
12650
- props: props$1f,
12982
+ props: props$1g,
12651
12983
  inheritAttrs: false,
12652
12984
  setup(props, {
12653
12985
  slots,
@@ -12699,7 +13031,7 @@ const COMPONENT_NAME$T = 'vcm-input-search';
12699
13031
  const MInputSearch = /* @__PURE__ */ defineComponent({
12700
13032
  name: COMPONENT_NAME$T,
12701
13033
  props: {
12702
- ...props$1e,
13034
+ ...props$1f,
12703
13035
  cancelText: {
12704
13036
  type: String,
12705
13037
  default: '取消'
@@ -12995,7 +13327,7 @@ const props$A = {
12995
13327
  default: "div"
12996
13328
  },
12997
13329
  fill: {
12998
- type: Boolean,
13330
+ type: [Boolean, Array],
12999
13331
  default: true
13000
13332
  }
13001
13333
  };
@@ -13009,6 +13341,13 @@ const Resizer = defineComponent({
13009
13341
  const width = ref(0);
13010
13342
  const height = ref(0);
13011
13343
  const current = ref();
13344
+ const classes = computed(() => {
13345
+ const v = Array.isArray(props.fill) ? props.fill : [props.fill, props.fill];
13346
+ return {
13347
+ "is-fill-width": v[0],
13348
+ "is-fill-height": v[1]
13349
+ };
13350
+ });
13012
13351
  const currentExposed = computed(() => {
13013
13352
  return {
13014
13353
  height: height.value,
@@ -13059,7 +13398,7 @@ const Resizer = defineComponent({
13059
13398
  props.tag,
13060
13399
  {
13061
13400
  ref: current,
13062
- class: ["vc-resizer", { "is-fill": props.fill }]
13401
+ class: ["vc-resizer", classes.value]
13063
13402
  },
13064
13403
  slots.default?.(currentExposed.value)
13065
13404
  );
@@ -14278,7 +14617,7 @@ const OptionGroup = /* @__PURE__ */ defineComponent({
14278
14617
  const COMPONENT_NAME$H = 'vc-select';
14279
14618
  const Select = /* @__PURE__ */ defineComponent({
14280
14619
  name: COMPONENT_NAME$H,
14281
- props: props$19,
14620
+ props: props$1a,
14282
14621
  emits: ['ready', 'close', 'visible-change', 'clear', 'change', 'update:modelValue'],
14283
14622
  setup(props, {
14284
14623
  emit,
@@ -15989,7 +16328,7 @@ const props$j = {
15989
16328
  },
15990
16329
  scrollerOptions: Object,
15991
16330
  renderEmpty: Function,
15992
- renderFinish: Function,
16331
+ renderComplete: Function,
15993
16332
  renderLoading: Function,
15994
16333
  renderPlaceholder: Function,
15995
16334
  renderRefresh: Function
@@ -16023,9 +16362,9 @@ const ScrollState = /* @__PURE__ */ defineComponent({
16023
16362
  }, [createVNode(Spin, {
16024
16363
  "size": 20
16025
16364
  }, null)]))]), owner.isEnd.value && (owner.data.length ? createVNode("div", {
16026
- "class": "vc-recycle-list__finish"
16027
- }, [slots.finish?.() || owner.renderer.value.finish ? createVNode(Customer, {
16028
- "render": owner.renderer.value.finish
16365
+ "class": "vc-recycle-list__complete"
16366
+ }, [slots.complete?.() || owner.renderer.value.complete ? createVNode(Customer, {
16367
+ "render": owner.renderer.value.complete
16029
16368
  }, null) : createVNode("div", {
16030
16369
  "class": "vc-recycle-list__center"
16031
16370
  }, [createTextVNode("\u5DF2\u5168\u90E8\u52A0\u8F7D~")])]) : createVNode("div", {
@@ -16321,7 +16660,7 @@ const RecycleList = /* @__PURE__ */ defineComponent({
16321
16660
  refresh: props.renderRefresh || globalProps.renderRefresh,
16322
16661
  placeholder: props.renderPlaceholder || globalProps.renderPlaceholder,
16323
16662
  loading: props.renderLoading || globalProps.renderLoading,
16324
- finish: props.renderFinish || globalProps.renderFinish,
16663
+ complete: props.renderComplete || globalProps.renderComplete,
16325
16664
  empty: props.renderEmpty || globalProps.renderEmpty
16326
16665
  };
16327
16666
  });
@@ -16376,26 +16715,22 @@ const RecycleList = /* @__PURE__ */ defineComponent({
16376
16715
  const index$ = rebuildDataIndexMap.value[index];
16377
16716
  typeof index$ === 'undefined' ? rebuildData.value.unshift(node) : rebuildData.value[index$] = node;
16378
16717
  };
16379
- // 更新item.size
16380
16718
  const refreshItemSize = index => {
16381
16719
  const current = props.inverted ? rebuildData.value[rebuildDataIndexMap.value[index]] : rebuildData.value[index];
16382
- if (!current) return; // 受到`removeUnusedPlaceholders`影响,无效的会被回收
16383
16720
 
16384
- const oldSize = current.size;
16721
+ // 受到`removeUnusedPlaceholders`影响,无效的会被回收
16722
+ if (!current) return;
16723
+ const original = Object.assign({}, current);
16385
16724
  const dom = preloads.value[index] || curloads.value[props.inverted ? index : index - firstItemIndex.value];
16386
16725
  if (dom) {
16387
16726
  current.size = dom[K.offsetSize] || placeholderSize.value;
16388
16727
  } else if (current) {
16389
16728
  current.size = placeholderSize.value;
16390
16729
  }
16391
-
16392
- // 这样的考虑欠佳,待优化
16393
- if (oldSize !== current.size) {
16394
- emit('row-resize', {
16395
- index: current.id,
16396
- size: current.size
16397
- });
16398
- }
16730
+ return {
16731
+ original,
16732
+ changed: current
16733
+ };
16399
16734
  };
16400
16735
  const refreshItemPosition = () => {
16401
16736
  const sizes = Array.from({
@@ -16465,18 +16800,24 @@ const RecycleList = /* @__PURE__ */ defineComponent({
16465
16800
  const refreshLayout = async (start, end) => {
16466
16801
  isRefreshLayout = 1;
16467
16802
  const promiseTasks = [];
16803
+ const resizeChanges = [];
16468
16804
  let item;
16469
16805
  for (let i = start; i < end; i++) {
16470
16806
  item = props.inverted ? rebuildData.value[rebuildDataIndexMap.value[i]] : rebuildData.value[i];
16471
- if (item && item.loaded) {
16472
- continue;
16473
- }
16807
+ if (item && item.loaded) continue;
16474
16808
  setItemData(i, originalData[i]);
16475
- promiseTasks.push(nextTick(() => refreshItemSize(i)));
16809
+ promiseTasks.push(nextTick(() => {
16810
+ const e = refreshItemSize(i);
16811
+ e && resizeChanges.push(e.changed);
16812
+ }));
16476
16813
  }
16477
16814
  await Promise.all(promiseTasks);
16478
16815
  refreshItemPosition();
16479
16816
  setFirstItemIndex();
16817
+ resizeChanges.length > 0 && emit('row-resize', resizeChanges.map(i => ({
16818
+ size: i.size,
16819
+ index: i.id
16820
+ })));
16480
16821
  interrupter.next();
16481
16822
  isRefreshLayout = 0;
16482
16823
  };
@@ -18191,11 +18532,19 @@ const NormalList = /* @__PURE__ */ defineComponent({
18191
18532
  emit,
18192
18533
  slots
18193
18534
  }) {
18535
+ let resizeChanges = [];
18536
+ const emitChanges = () => {
18537
+ if (resizeChanges.length > 0) {
18538
+ emit('row-resize', resizeChanges);
18539
+ resizeChanges = [];
18540
+ }
18541
+ };
18194
18542
  const handleResize = (e, index) => {
18195
- emit('row-resize', {
18543
+ resizeChanges.push({
18196
18544
  index,
18197
18545
  size: e.height
18198
18546
  });
18547
+ nextTick(emitChanges);
18199
18548
  };
18200
18549
  return () => {
18201
18550
  return props.data.map((mergeData, index) => {
@@ -18554,22 +18903,25 @@ const TableBody = /* @__PURE__ */ defineComponent({
18554
18903
  return renderRow(row, row.index);
18555
18904
  })]);
18556
18905
  };
18557
- const handleMergeRowResize = v => {
18906
+ const handleMergeRowResize = changes => {
18558
18907
  if (table.props.rowHeight) return;
18559
- states.list[v.index].rows.forEach(row => {
18560
- const old = row.heightMap[props.fixed || 'main'];
18561
- if (old === v.size) return;
18562
- row.heightMap[props.fixed || 'main'] = v.size;
18563
- const heights = [row.heightMap.main];
18564
- if (states.leftFixedCount) {
18565
- heights.push(row.heightMap.left);
18566
- }
18567
- if (states.rightFixedCount) {
18568
- heights.push(row.heightMap.right);
18569
- }
18570
- if (heights.every(i => !!i)) {
18571
- row.height = Math.max(row.heightMap.left, row.heightMap.main, row.heightMap.right) || '';
18572
- }
18908
+ // 批量处理所有尺寸变化
18909
+ changes.forEach(v => {
18910
+ states.list[v.index].rows.forEach(row => {
18911
+ const old = row.heightMap[props.fixed || 'main'];
18912
+ if (old === v.size) return;
18913
+ row.heightMap[props.fixed || 'main'] = v.size;
18914
+ const heights = [row.heightMap.main];
18915
+ if (states.leftFixedCount) {
18916
+ heights.push(row.heightMap.left);
18917
+ }
18918
+ if (states.rightFixedCount) {
18919
+ heights.push(row.heightMap.right);
18920
+ }
18921
+ if (heights.every(i => !!i)) {
18922
+ row.height = Math.max(row.heightMap.left, row.heightMap.main, row.heightMap.right) || '';
18923
+ }
18924
+ });
18573
18925
  });
18574
18926
  };
18575
18927
  expose({
@@ -21344,7 +21696,7 @@ const inputKeys = [
21344
21696
  "controllable"
21345
21697
  ];
21346
21698
  const props$8 = {
21347
- ...pick(props$1g, inputKeys),
21699
+ ...pick(props$1h, inputKeys),
21348
21700
  wrap: {
21349
21701
  type: String,
21350
21702
  validator: (v) => /(soft|hard)/.test(v),
@@ -21515,7 +21867,6 @@ const Theme = defineComponent({
21515
21867
  setup(props, { slots }) {
21516
21868
  const themeId = Utils.getUid("vc-theme");
21517
21869
  const setVar = (name) => {
21518
- /* istanbul ignore next -- @preserve */
21519
21870
  if (!name) return "";
21520
21871
  const globals = VcInstance.options.Theme?.variables;
21521
21872
  return props.variables?.[name] || globals?.[name] || `var(--${name})`;
@@ -21551,7 +21902,6 @@ const Theme = defineComponent({
21551
21902
  }
21552
21903
  });
21553
21904
  const setCss = (attrs) => {
21554
- /* istanbul ignore next -- @preserve */
21555
21905
  if (!attrs || typeof attrs === "string") return attrs;
21556
21906
  let content = "";
21557
21907
  Object.entries(attrs).forEach(([key, val]) => {
@@ -21560,7 +21910,6 @@ const Theme = defineComponent({
21560
21910
  return content;
21561
21911
  };
21562
21912
  const resetPseudo = () => {
21563
- /* istanbul ignore next -- @preserve */
21564
21913
  if (typeof document === "undefined") return;
21565
21914
  const { pseudo } = props;
21566
21915
  if (!pseudo) return Load.removeStyle(themeId);
@@ -22940,7 +23289,7 @@ const treeNodeContentKeys = [
22940
23289
  "allowDispatch"
22941
23290
  ];
22942
23291
  const props$2 = {
22943
- ...pick(props$19, selectKeys),
23292
+ ...pick(props$1a, selectKeys),
22944
23293
  ...pick(props$3, treeNodeContentKeys),
22945
23294
  // 暂不支持,仅作为默认值
22946
23295
  max: {
@@ -23213,7 +23562,7 @@ const treeKeys = [
23213
23562
  "renderNodeLabel"
23214
23563
  ];
23215
23564
  const props$1 = {
23216
- ...props$19,
23565
+ ...props$1a,
23217
23566
  ...pick(props$2, treeKeys)
23218
23567
  };
23219
23568
 
@@ -24004,4 +24353,4 @@ const UploadPicker = /* @__PURE__ */ defineComponent({
24004
24353
 
24005
24354
  const MUploadPicker = UploadPicker;
24006
24355
 
24007
- export { ActionSheet, Affix, Alert, Artboard, Button, ButtonGroup, Calendar, Card, Carousel, Cascader, Chart, Checkbox, CheckboxGroup, Clipboard, Collapse, CollapseItem, ColorPicker, Countdown, Customer, DatePicker, Debounce, Divider, Drawer, DrawerView, Dropdown, DropdownItem, DropdownMenu, Editor, EditorView, Expand$1 as Expand, Form, FormItem, Fragment, Icon, IconManager, Image$1 as Image, ImageCrop, ImagePreview, ImageProcessing, Input, InputNumber, InputSearch, MList as List, MListItem as ListItem, MActionSheet, MAffix, MAlert, MArtboard, MButton, MButtonGroup, MCalendar, MCard, MCarousel, MCascader, MChart, MCheckbox, MCheckboxGroup, MClipboard, MCollapse, MCollapseItem, MColorPicker, MCountdown, MCustomer, MDatePicker, Debounce as MDebounce, MDivider, MDrawer, MDrawerView, MDropdown, MDropdownItem, MDropdownMenu, MEditor, MEditorView, MExpand, MForm, MFormItem, MFragment, MIcon, MImage, MImageCrop, MImagePreview, MImageProcessing, MInput, MInputNumber, MInputSearch, MList, MListItem, MMarquee, MMessage, modal as MModal, MModalView, MNotice, MOption, MPagination, MPicker, MPopconfirm, MPopover, MPopup, MPortal, MPrint, MProgress, MRadio, MRadioButton, MRadioGroup, MRate, MRecycleList, MResizer, MScroller, MSelect, MSlider, MSnapshot, MSortList, MSpin, MSteps, MSwitch, MTable, MTableColumn, MTabs, MTabsPane, MTag, MText, MTextarea, MTimePicker, MTimeline, MToast, MToastView, MTouch, MTransition, MTransitionCollapse, MTransitionFade, MTransitionScale, MTransitionSlide, MTransitionZoom, MTree, MTreeSelect, MUpload, MUploadPicker, Marquee, Message, MessageView, Modal, ModalView, Notice, NoticeView, Option$1 as Option, Pagination, Picker, Popconfirm, Popover, Popup, Portal, PortalView, Print, Progress, Radio, RadioButton, RadioGroup, Rate, RecycleList, Resizer, Scroller, ScrollerWheel, Select, Slider, Snapshot, SortList, Spin, Steps, Switch, Table, TableColumn, Tabs, TabsPane, Tag, Text, Textarea, Theme, ThemeImage, ThemeText, ThemeView, TimePicker, Timeline, Toast, ToastView, Touch, Transition, TransitionCollapse, TransitionFade, TransitionScale, TransitionSlide, TransitionZoom, Tree, TreeSelect, Upload, UploadPicker, VcError, VcInstance };
24356
+ export { ActionSheet, Affix, Alert, Artboard, Button, ButtonGroup, Calendar, Card, Carousel, Cascader, Chart, Checkbox, CheckboxGroup, Clipboard, Collapse, CollapseItem, ColorPicker, Countdown, Counter, Customer, DatePicker, Debounce, Divider, Drawer, DrawerView, Dropdown, DropdownItem, DropdownMenu, Editor, EditorView, Expand$1 as Expand, Form, FormItem, Fragment, Icon, IconManager, Image$1 as Image, ImageCrop, ImagePreview, ImageProcessing, Input, InputNumber, InputSearch, MList as List, MListItem as ListItem, MActionSheet, MAffix, MAlert, MArtboard, MButton, MButtonGroup, MCalendar, MCard, MCarousel, MCascader, MChart, MCheckbox, MCheckboxGroup, MClipboard, MCollapse, MCollapseItem, MColorPicker, MCountdown, MCounter, MCustomer, MDatePicker, Debounce as MDebounce, MDivider, MDrawer, MDrawerView, MDropdown, MDropdownItem, MDropdownMenu, MEditor, MEditorView, MExpand, MForm, MFormItem, MFragment, MIcon, MImage, MImageCrop, MImagePreview, MImageProcessing, MInput, MInputNumber, MInputSearch, MList, MListItem, MMarquee, MMessage, modal as MModal, MModalView, MNotice, MOption, MPagination, MPicker, MPopconfirm, MPopover, MPopup, MPortal, MPrint, MProgress, MRadio, MRadioButton, MRadioGroup, MRate, MRecycleList, MResizer, MScroller, MSelect, MSlider, MSnapshot, MSortList, MSpin, MSteps, MSwitch, MTable, MTableColumn, MTabs, MTabsPane, MTag, MText, MTextarea, MTimePicker, MTimeline, MToast, MToastView, MTouch, MTransition, MTransitionCollapse, MTransitionFade, MTransitionScale, MTransitionSlide, MTransitionZoom, MTree, MTreeSelect, MUpload, MUploadPicker, Marquee, Message, MessageView, Modal, ModalView, Notice, NoticeView, Option$1 as Option, Pagination, Picker, Popconfirm, Popover, Popup, Portal, PortalView, Print, Progress, Radio, RadioButton, RadioGroup, Rate, RecycleList, Resizer, Scroller, ScrollerWheel, Select, Slider, Snapshot, SortList, Spin, Steps, Switch, Table, TableColumn, Tabs, TabsPane, Tag, Text, Textarea, Theme, ThemeImage, ThemeText, ThemeView, TimePicker, Timeline, Toast, ToastView, Touch, Transition, TransitionCollapse, TransitionFade, TransitionScale, TransitionSlide, TransitionZoom, Tree, TreeSelect, Upload, UploadPicker, VcError, VcInstance };