@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.cjs CHANGED
@@ -44,7 +44,6 @@ class VcError {
44
44
  if (!message || !target) return;
45
45
  message = `[@deot/vc - ${target}]: ${message}`;
46
46
  this.message = message;
47
- /* istanbul ignore next -- @preserve */
48
47
  process.env.NODE_ENV === "development" && console.error(message);
49
48
  }
50
49
  }
@@ -53,31 +52,38 @@ const VARIABLES = {};
53
52
 
54
53
  const nil = void 0;
55
54
  const defaults$2 = {
56
- UploadPicker: {
57
- enhancer: nil
58
- },
59
55
  Editor: {
60
56
  options: nil,
61
57
  enhancer: nil
62
58
  },
63
- Theme: {
64
- variables: VARIABLES
65
- },
66
59
  Portal: {
67
60
  install: nil
68
61
  },
69
- Upload: {
70
- onRequest: nil,
71
- onResponse: nil,
72
- onMessage: nil
73
- },
74
- TableColumn: {
75
- line: nil
62
+ RecycleList: {
63
+ renderRefresh: nil,
64
+ renderPlaceholder: nil,
65
+ renderLoading: nil,
66
+ renderComplete: nil,
67
+ renderEmpty: nil
76
68
  },
77
69
  Snapshot: {
78
70
  options: nil,
79
71
  source: nil,
80
72
  download: nil
73
+ },
74
+ TableColumn: {
75
+ line: nil
76
+ },
77
+ Theme: {
78
+ variables: VARIABLES
79
+ },
80
+ Upload: {
81
+ onRequest: nil,
82
+ onResponse: nil,
83
+ onMessage: nil
84
+ },
85
+ UploadPicker: {
86
+ enhancer: nil
81
87
  }
82
88
  };
83
89
 
@@ -106,7 +112,7 @@ class Instance {
106
112
  }
107
113
  const VcInstance = new Instance();
108
114
 
109
- const props$1t = {
115
+ const props$1u = {
110
116
  tag: {
111
117
  type: String,
112
118
  default: "div"
@@ -115,10 +121,10 @@ const props$1t = {
115
121
 
116
122
  /** @jsxImportSource vue */
117
123
 
118
- const COMPONENT_NAME$29 = 'vc-action-sheet';
124
+ const COMPONENT_NAME$2a = 'vc-action-sheet';
119
125
  const ActionSheet = /* @__PURE__ */ vue.defineComponent({
120
- name: COMPONENT_NAME$29,
121
- props: props$1t,
126
+ name: COMPONENT_NAME$2a,
127
+ props: props$1u,
122
128
  setup(props, {
123
129
  slots
124
130
  }) {
@@ -132,7 +138,7 @@ const ActionSheet = /* @__PURE__ */ vue.defineComponent({
132
138
 
133
139
  const MActionSheet = ActionSheet;
134
140
 
135
- const props$1s = {
141
+ const props$1t = {
136
142
  modelValue: {
137
143
  type: Boolean,
138
144
  default: false
@@ -194,11 +200,11 @@ const isWheel = (el) => {
194
200
 
195
201
  /** @jsxImportSource vue */
196
202
 
197
- const COMPONENT_NAME$28 = 'vc-affix';
203
+ const COMPONENT_NAME$29 = 'vc-affix';
198
204
  const Affix = /* @__PURE__ */ vue.defineComponent({
199
- name: COMPONENT_NAME$28,
205
+ name: COMPONENT_NAME$29,
200
206
  emits: ['update:modelValue'],
201
- props: props$1s,
207
+ props: props$1t,
202
208
  setup(props, {
203
209
  slots,
204
210
  expose,
@@ -364,7 +370,7 @@ const Affix = /* @__PURE__ */ vue.defineComponent({
364
370
 
365
371
  const MAffix = Affix;
366
372
 
367
- const props$1r = {
373
+ const props$1s = {
368
374
  modelValue: {
369
375
  type: Boolean,
370
376
  default: true
@@ -391,7 +397,7 @@ const props$1r = {
391
397
  }
392
398
  };
393
399
 
394
- const props$1q = {
400
+ const props$1r = {
395
401
  type: String,
396
402
  inherit: {
397
403
  type: Boolean,
@@ -429,7 +435,6 @@ class Manager {
429
435
  const key = `${prefix}${url}`;
430
436
  const cache = window.localStorage.getItem(key);
431
437
  let icons = JSON.parse(cache || '""');
432
- /* istanbul ignore next -- @preserve */
433
438
  if (!icons) {
434
439
  const data = await new Promise((resolve$) => {
435
440
  const request = new XMLHttpRequest();
@@ -464,7 +469,6 @@ class Manager {
464
469
  });
465
470
  resolve();
466
471
  } catch (e) {
467
- /* istanbul ignore next -- @preserve */
468
472
  reject(new VcError("icon", e));
469
473
  }
470
474
  })();
@@ -476,7 +480,6 @@ class Manager {
476
480
  const icons = {};
477
481
  setTimeout(() => {
478
482
  try {
479
- /* istanbul ignore next -- @preserve */
480
483
  IS_DEV && console.time(url);
481
484
  svgStr.replace(svgReg, "$1")?.match(symbolReg)?.forEach(
482
485
  (i) => i.replace(basicReg, (_, ...args) => {
@@ -491,23 +494,19 @@ class Manager {
491
494
  return "";
492
495
  })
493
496
  );
494
- /* istanbul ignore next -- @preserve */
495
497
  IS_DEV && console.timeEnd(url);
496
498
  resolve(icons);
497
499
  } catch (e) {
498
- /* istanbul ignore next -- @preserve */
499
500
  reject(new VcError("icon", e));
500
501
  }
501
502
  }, 0);
502
503
  });
503
504
  }
504
505
  on(type, fn) {
505
- /* istanbul ignore next -- @preserve */
506
506
  if (typeof type !== "string" || typeof fn !== "function") return this;
507
507
  this.events[type] = this.events[type] || [];
508
508
  if (this.events[type].length >= 100) {
509
509
  delete this.events[type];
510
- /* istanbul ignore else -- @preserve */
511
510
  if (!IS_SERVER) {
512
511
  throw new VcError("icon", `${type} nonexistent`);
513
512
  }
@@ -516,7 +515,6 @@ class Manager {
516
515
  return this;
517
516
  }
518
517
  off(type, fn) {
519
- /* istanbul ignore next -- @preserve */
520
518
  if (typeof type !== "string" || typeof fn !== "function") return this;
521
519
  this.events[type] = this.events[type]?.filter((i) => i != fn);
522
520
  return this;
@@ -536,10 +534,10 @@ const IconManager = new Manager();
536
534
 
537
535
  /** @jsxImportSource vue */
538
536
 
539
- const COMPONENT_NAME$27 = 'vc-icon';
537
+ const COMPONENT_NAME$28 = 'vc-icon';
540
538
  const Icon = /* @__PURE__ */ vue.defineComponent({
541
- name: COMPONENT_NAME$27,
542
- props: props$1q,
539
+ name: COMPONENT_NAME$28,
540
+ props: props$1r,
543
541
  setup(props) {
544
542
  const viewBox = vue.ref('0 0 1024 1024');
545
543
  const path = vue.ref([]);
@@ -572,7 +570,7 @@ const Icon = /* @__PURE__ */ vue.defineComponent({
572
570
  }
573
571
  });
574
572
 
575
- const props$1p = {
573
+ const props$1q = {
576
574
  /**
577
575
  * 进入/离开持续时间
578
576
  * {enter: 300, leave: 300}
@@ -737,10 +735,10 @@ const useTransition = () => {
737
735
  };
738
736
  };
739
737
 
740
- const COMPONENT_NAME$26 = "vc-transition";
738
+ const COMPONENT_NAME$27 = "vc-transition";
741
739
  const Transition = vue.defineComponent({
742
- name: COMPONENT_NAME$26,
743
- props: props$1p,
740
+ name: COMPONENT_NAME$27,
741
+ props: props$1q,
744
742
  // 当不声明emits的情况下,事件存在于attrs中
745
743
  inheritAttrs: false,
746
744
  setup(props, { slots, attrs }) {
@@ -760,10 +758,10 @@ const Transition = vue.defineComponent({
760
758
  }
761
759
  });
762
760
 
763
- const COMPONENT_NAME$25 = "vc-transition-collapse";
761
+ const COMPONENT_NAME$26 = "vc-transition-collapse";
764
762
  const TransitionCollapse = vue.defineComponent({
765
- name: COMPONENT_NAME$25,
766
- props: props$1p,
763
+ name: COMPONENT_NAME$26,
764
+ props: props$1q,
767
765
  // 当不声明emits的情况下,事件存在于attrs中
768
766
  inheritAttrs: false,
769
767
  setup(props, { slots, attrs: _attrs }) {
@@ -780,7 +778,6 @@ const TransitionCollapse = vue.defineComponent({
780
778
  const handleBeforeEnter = (el) => {
781
779
  const duration = props.duration.enter || props.duration;
782
780
  el.style.transition = getTransitionStyle(duration);
783
- /* istanbul ignore next -- @preserve */
784
781
  if (!el.dataset) {
785
782
  el.dataset = {};
786
783
  }
@@ -797,7 +794,6 @@ const TransitionCollapse = vue.defineComponent({
797
794
  const next = createNext(done, duration);
798
795
  try {
799
796
  el.dataset.oldOverflow = el.style.overflow;
800
- /* istanbul ignore next -- @preserve */
801
797
  if (el.scrollHeight !== 0) {
802
798
  el.style.height = el.scrollHeight + "px";
803
799
  el.style.paddingTop = el.dataset.oldPaddingTop + "px";
@@ -820,7 +816,6 @@ const TransitionCollapse = vue.defineComponent({
820
816
  attrs.onAfterEnter?.(el);
821
817
  };
822
818
  const handleBeforeLeave = (el) => {
823
- /* istanbul ignore next -- @preserve */
824
819
  if (!el.dataset) {
825
820
  el.dataset = {};
826
821
  }
@@ -837,7 +832,6 @@ const TransitionCollapse = vue.defineComponent({
837
832
  const next = createNext(done, duration);
838
833
  try {
839
834
  const leaveDuration = props.duration.leave || props.duration;
840
- /* istanbul ignore next -- @preserve */
841
835
  if (el.scrollHeight !== 0) {
842
836
  el.style.transition = getTransitionStyle(leaveDuration);
843
837
  el.style.height = "0px";
@@ -881,11 +875,11 @@ const TransitionCollapse = vue.defineComponent({
881
875
  }
882
876
  });
883
877
 
884
- const COMPONENT_NAME$24 = "vc-transition-fade";
878
+ const COMPONENT_NAME$25 = "vc-transition-fade";
885
879
  const TransitionFade = vue.defineComponent({
886
- name: COMPONENT_NAME$24,
880
+ name: COMPONENT_NAME$25,
887
881
  props: {
888
- ...props$1p,
882
+ ...props$1q,
889
883
  // inheritAttrs必须是false
890
884
  style: {
891
885
  type: Object,
@@ -918,11 +912,11 @@ const TransitionFade = vue.defineComponent({
918
912
  }
919
913
  });
920
914
 
921
- const COMPONENT_NAME$23 = "vc-transition-scale";
915
+ const COMPONENT_NAME$24 = "vc-transition-scale";
922
916
  const TransitionScale = vue.defineComponent({
923
- name: COMPONENT_NAME$23,
917
+ name: COMPONENT_NAME$24,
924
918
  props: {
925
- ...props$1p,
919
+ ...props$1q,
926
920
  mode: {
927
921
  type: String,
928
922
  default: "both",
@@ -960,11 +954,11 @@ const TransitionScale = vue.defineComponent({
960
954
  }
961
955
  });
962
956
 
963
- const COMPONENT_NAME$22 = "vc-transition-slide";
957
+ const COMPONENT_NAME$23 = "vc-transition-slide";
964
958
  const TransitionSlide = vue.defineComponent({
965
- name: COMPONENT_NAME$22,
959
+ name: COMPONENT_NAME$23,
966
960
  props: {
967
- ...props$1p,
961
+ ...props$1q,
968
962
  mode: {
969
963
  type: String,
970
964
  default: "left",
@@ -1002,11 +996,11 @@ const TransitionSlide = vue.defineComponent({
1002
996
  }
1003
997
  });
1004
998
 
1005
- const COMPONENT_NAME$21 = "vc-transition-zoom";
999
+ const COMPONENT_NAME$22 = "vc-transition-zoom";
1006
1000
  const TransitionZoom = vue.defineComponent({
1007
- name: COMPONENT_NAME$21,
1001
+ name: COMPONENT_NAME$22,
1008
1002
  props: {
1009
- ...props$1p,
1003
+ ...props$1q,
1010
1004
  mode: {
1011
1005
  type: String,
1012
1006
  default: "x",
@@ -1046,7 +1040,7 @@ const TransitionZoom = vue.defineComponent({
1046
1040
 
1047
1041
  /** @jsxImportSource vue */
1048
1042
 
1049
- const COMPONENT_NAME$20 = 'vc-alert';
1043
+ const COMPONENT_NAME$21 = 'vc-alert';
1050
1044
 
1051
1045
  // [color, borderColor, backgroundColor], -> CSS
1052
1046
  const THEME_MAP = {
@@ -1056,8 +1050,8 @@ const THEME_MAP = {
1056
1050
  warning: ['#ffbf00', '#ffe58f', '#fffbe6']
1057
1051
  };
1058
1052
  const Alert = /* @__PURE__ */ vue.defineComponent({
1059
- name: COMPONENT_NAME$20,
1060
- props: props$1r,
1053
+ name: COMPONENT_NAME$21,
1054
+ props: props$1s,
1061
1055
  setup(props, {
1062
1056
  slots,
1063
1057
  emit
@@ -1146,7 +1140,7 @@ const Alert = /* @__PURE__ */ vue.defineComponent({
1146
1140
 
1147
1141
  const MAlert = Alert;
1148
1142
 
1149
- const props$1o = {
1143
+ const props$1p = {
1150
1144
  // canvas配置参数
1151
1145
  options: Object,
1152
1146
  width: {
@@ -1162,10 +1156,10 @@ const props$1o = {
1162
1156
  /** @jsxImportSource vue */
1163
1157
 
1164
1158
  const isTouch = typeof document !== 'undefined' && 'ontouchend' in document;
1165
- const COMPONENT_NAME$1$ = 'vc-artboard';
1159
+ const COMPONENT_NAME$20 = 'vc-artboard';
1166
1160
  const Artboard = /* @__PURE__ */ vue.defineComponent({
1167
- name: COMPONENT_NAME$1$,
1168
- props: props$1o,
1161
+ name: COMPONENT_NAME$20,
1162
+ props: props$1p,
1169
1163
  setup(props, {
1170
1164
  emit,
1171
1165
  expose
@@ -1368,7 +1362,7 @@ const Artboard = /* @__PURE__ */ vue.defineComponent({
1368
1362
 
1369
1363
  const MArtboard = Artboard;
1370
1364
 
1371
- const props$1n = {
1365
+ const props$1o = {
1372
1366
  size: {
1373
1367
  type: Number,
1374
1368
  default: 28
@@ -1392,10 +1386,10 @@ const props$1n = {
1392
1386
 
1393
1387
  /** @jsxImportSource vue */
1394
1388
 
1395
- const COMPONENT_NAME$1_ = 'vc-spin';
1389
+ const COMPONENT_NAME$1$ = 'vc-spin';
1396
1390
  const Spin = /* @__PURE__ */ vue.defineComponent({
1397
- name: COMPONENT_NAME$1_,
1398
- props: props$1n,
1391
+ name: COMPONENT_NAME$1$,
1392
+ props: props$1o,
1399
1393
  setup(props, {
1400
1394
  slots
1401
1395
  }) {
@@ -1429,7 +1423,7 @@ const Spin = /* @__PURE__ */ vue.defineComponent({
1429
1423
  }
1430
1424
  });
1431
1425
 
1432
- const props$1m = {
1426
+ const props$1n = {
1433
1427
  wait: {
1434
1428
  type: Number,
1435
1429
  default: 250
@@ -1445,10 +1439,10 @@ const props$1m = {
1445
1439
  exclude: RegExp
1446
1440
  };
1447
1441
 
1448
- const COMPONENT_NAME$1Z = "vc-debounce";
1442
+ const COMPONENT_NAME$1_ = "vc-debounce";
1449
1443
  const Debounce = vue.defineComponent({
1450
- name: COMPONENT_NAME$1Z,
1451
- props: props$1m,
1444
+ name: COMPONENT_NAME$1_,
1445
+ props: props$1n,
1452
1446
  /**
1453
1447
  * 不声明emits使得事件被透传放入attrs中, 这样可以让所有的事件透传
1454
1448
  * 如事件onClick
@@ -1463,7 +1457,6 @@ const Debounce = vue.defineComponent({
1463
1457
  () => {
1464
1458
  const { wait, exclude, include } = props;
1465
1459
  const ons = Object.entries(attrs).reduce((pre, [key, callback]) => {
1466
- /* istanbul ignore else -- @preserve */
1467
1460
  if ((!exclude || !exclude.test(key)) && (!include || include.test(key)) && typeof callback === "function") {
1468
1461
  pre[key] = lodashEs.debounce(callback, wait, {
1469
1462
  leading: true,
@@ -1489,7 +1482,7 @@ const Debounce = vue.defineComponent({
1489
1482
  }
1490
1483
  });
1491
1484
 
1492
- const props$1l = {
1485
+ const props$1m = {
1493
1486
  tag: {
1494
1487
  type: String,
1495
1488
  default: "button"
@@ -1521,11 +1514,11 @@ const props$1l = {
1521
1514
 
1522
1515
  /** @jsxImportSource vue */
1523
1516
 
1524
- const COMPONENT_NAME$1Y = 'vc-button';
1517
+ const COMPONENT_NAME$1Z = 'vc-button';
1525
1518
  const Button = /* @__PURE__ */ vue.defineComponent({
1526
- name: COMPONENT_NAME$1Y,
1519
+ name: COMPONENT_NAME$1Z,
1527
1520
  emits: ['click'],
1528
- props: props$1l,
1521
+ props: props$1m,
1529
1522
  setup(props, {
1530
1523
  slots
1531
1524
  }) {
@@ -1586,7 +1579,7 @@ const Button = /* @__PURE__ */ vue.defineComponent({
1586
1579
  }
1587
1580
  });
1588
1581
 
1589
- const props$1k = {
1582
+ const props$1l = {
1590
1583
  vertical: {
1591
1584
  type: Boolean,
1592
1585
  default: false
@@ -1607,10 +1600,10 @@ const props$1k = {
1607
1600
 
1608
1601
  /** @jsxImportSource vue */
1609
1602
 
1610
- const COMPONENT_NAME$1X = 'vc-button-group';
1603
+ const COMPONENT_NAME$1Y = 'vc-button-group';
1611
1604
  const ButtonGroup = /* @__PURE__ */ vue.defineComponent({
1612
- name: COMPONENT_NAME$1X,
1613
- props: props$1k,
1605
+ name: COMPONENT_NAME$1Y,
1606
+ props: props$1l,
1614
1607
  setup(props, {
1615
1608
  slots
1616
1609
  }) {
@@ -1634,7 +1627,7 @@ const ButtonGroup = /* @__PURE__ */ vue.defineComponent({
1634
1627
  const MButton = Button;
1635
1628
  const MButtonGroup = ButtonGroup;
1636
1629
 
1637
- const props$1j = {
1630
+ const props$1k = {
1638
1631
  tag: {
1639
1632
  type: String,
1640
1633
  default: "div"
@@ -1643,10 +1636,10 @@ const props$1j = {
1643
1636
 
1644
1637
  /** @jsxImportSource vue */
1645
1638
 
1646
- const COMPONENT_NAME$1W = 'vc-calendar';
1639
+ const COMPONENT_NAME$1X = 'vc-calendar';
1647
1640
  const Calendar = /* @__PURE__ */ vue.defineComponent({
1648
- name: COMPONENT_NAME$1W,
1649
- props: props$1j,
1641
+ name: COMPONENT_NAME$1X,
1642
+ props: props$1k,
1650
1643
  setup(props, {
1651
1644
  slots
1652
1645
  }) {
@@ -1660,7 +1653,7 @@ const Calendar = /* @__PURE__ */ vue.defineComponent({
1660
1653
 
1661
1654
  const MCalendar = Calendar;
1662
1655
 
1663
- const props$1i = {
1656
+ const props$1j = {
1664
1657
  border: {
1665
1658
  type: Boolean,
1666
1659
  default: true
@@ -1683,10 +1676,10 @@ const props$1i = {
1683
1676
 
1684
1677
  /** @jsxImportSource vue */
1685
1678
 
1686
- const COMPONENT_NAME$1V = 'vc-card';
1679
+ const COMPONENT_NAME$1W = 'vc-card';
1687
1680
  const Card = /* @__PURE__ */ vue.defineComponent({
1688
- name: COMPONENT_NAME$1V,
1689
- props: props$1i,
1681
+ name: COMPONENT_NAME$1W,
1682
+ props: props$1j,
1690
1683
  setup(props, {
1691
1684
  slots
1692
1685
  }) {
@@ -1712,7 +1705,7 @@ const Card = /* @__PURE__ */ vue.defineComponent({
1712
1705
 
1713
1706
  const MCard = Card;
1714
1707
 
1715
- const props$1h = {
1708
+ const props$1i = {
1716
1709
  tag: {
1717
1710
  type: String,
1718
1711
  default: "div"
@@ -1721,10 +1714,10 @@ const props$1h = {
1721
1714
 
1722
1715
  /** @jsxImportSource vue */
1723
1716
 
1724
- const COMPONENT_NAME$1U = 'vc-carousel';
1717
+ const COMPONENT_NAME$1V = 'vc-carousel';
1725
1718
  const Carousel = /* @__PURE__ */ vue.defineComponent({
1726
- name: COMPONENT_NAME$1U,
1727
- props: props$1h,
1719
+ name: COMPONENT_NAME$1V,
1720
+ props: props$1i,
1728
1721
  setup(props, {
1729
1722
  slots
1730
1723
  }) {
@@ -1765,7 +1758,7 @@ const getSelectedData = (value = [], source = []) => {
1765
1758
  });
1766
1759
  };
1767
1760
 
1768
- const props$1g = {
1761
+ const props$1h = {
1769
1762
  // Array, 作为select等数组存放临时值
1770
1763
  modelValue: [String, Number, Array],
1771
1764
  disabled: {
@@ -2017,12 +2010,12 @@ const useNativeEmitter = (input, expose) => {
2017
2010
 
2018
2011
  /** @jsxImportSource vue */
2019
2012
 
2020
- const COMPONENT_NAME$1T = 'vc-input';
2013
+ const COMPONENT_NAME$1U = 'vc-input';
2021
2014
  const Input = /* @__PURE__ */ vue.defineComponent({
2022
- name: COMPONENT_NAME$1T,
2015
+ name: COMPONENT_NAME$1U,
2023
2016
  inheritAttrs: false,
2024
2017
  props: {
2025
- ...props$1g,
2018
+ ...props$1h,
2026
2019
  indicator: {
2027
2020
  type: [Boolean, Object],
2028
2021
  default: false
@@ -2124,8 +2117,8 @@ const Input = /* @__PURE__ */ vue.defineComponent({
2124
2117
  }
2125
2118
  });
2126
2119
 
2127
- const props$1f = {
2128
- ...props$1g,
2120
+ const props$1g = {
2121
+ ...props$1h,
2129
2122
  min: {
2130
2123
  type: Number,
2131
2124
  default: 0
@@ -2354,10 +2347,10 @@ const useInputNumber = () => {
2354
2347
 
2355
2348
  /** @jsxImportSource vue */
2356
2349
 
2357
- const COMPONENT_NAME$1S = 'vc-input-number';
2350
+ const COMPONENT_NAME$1T = 'vc-input-number';
2358
2351
  const InputNumber = /* @__PURE__ */ vue.defineComponent({
2359
- name: COMPONENT_NAME$1S,
2360
- props: props$1f,
2352
+ name: COMPONENT_NAME$1T,
2353
+ props: props$1g,
2361
2354
  inheritAttrs: false,
2362
2355
  setup(props, {
2363
2356
  slots,
@@ -2410,8 +2403,8 @@ const InputNumber = /* @__PURE__ */ vue.defineComponent({
2410
2403
  }
2411
2404
  });
2412
2405
 
2413
- const props$1e = {
2414
- ...props$1g,
2406
+ const props$1f = {
2407
+ ...props$1h,
2415
2408
  enterText: {
2416
2409
  type: [Boolean, String],
2417
2410
  default: true
@@ -2420,10 +2413,10 @@ const props$1e = {
2420
2413
 
2421
2414
  /** @jsxImportSource vue */
2422
2415
 
2423
- const COMPONENT_NAME$1R = 'vc-input-search';
2416
+ const COMPONENT_NAME$1S = 'vc-input-search';
2424
2417
  const InputSearch = /* @__PURE__ */ vue.defineComponent({
2425
- name: COMPONENT_NAME$1R,
2426
- props: props$1e,
2418
+ name: COMPONENT_NAME$1S,
2419
+ props: props$1f,
2427
2420
  inheritAttrs: false,
2428
2421
  setup(props, {
2429
2422
  emit,
@@ -2455,7 +2448,7 @@ const InputSearch = /* @__PURE__ */ vue.defineComponent({
2455
2448
  }
2456
2449
  });
2457
2450
 
2458
- const props$1d = {
2451
+ const props$1e = {
2459
2452
  modelValue: Boolean,
2460
2453
  animation: String,
2461
2454
  placement: {
@@ -2534,7 +2527,7 @@ const wrapperKeys = [
2534
2527
  "autoWidth",
2535
2528
  "always"
2536
2529
  ];
2537
- const props$1c = {
2530
+ const props$1d = {
2538
2531
  trigger: {
2539
2532
  type: String,
2540
2533
  default: "hover",
@@ -2552,7 +2545,7 @@ const props$1c = {
2552
2545
  type: Boolean,
2553
2546
  default: true
2554
2547
  },
2555
- ...lodashEs.pick(props$1d, wrapperKeys)
2548
+ ...lodashEs.pick(props$1e, wrapperKeys)
2556
2549
  };
2557
2550
 
2558
2551
  const EXTRA_DISTANCE = 4;
@@ -2808,17 +2801,17 @@ const usePos = () => {
2808
2801
  };
2809
2802
  };
2810
2803
 
2811
- const props$1b = {
2804
+ const props$1c = {
2812
2805
  render: {
2813
2806
  type: Function,
2814
2807
  default: () => null
2815
2808
  }
2816
2809
  };
2817
2810
 
2818
- const COMPONENT_NAME$1Q = "vc-customer";
2811
+ const COMPONENT_NAME$1R = "vc-customer";
2819
2812
  const Customer = vue.defineComponent({
2820
- name: COMPONENT_NAME$1Q,
2821
- props: props$1b,
2813
+ name: COMPONENT_NAME$1R,
2814
+ props: props$1c,
2822
2815
  setup(props, context) {
2823
2816
  return () => vue.h(() => {
2824
2817
  return props.render(context.attrs, context);
@@ -2893,7 +2886,7 @@ class PortalLeaf {
2893
2886
  }
2894
2887
  }
2895
2888
 
2896
- const COMPONENT_NAME$1P = "vc-portal";
2889
+ const COMPONENT_NAME$1Q = "vc-portal";
2897
2890
  class Portal {
2898
2891
  /**
2899
2892
  * 清理Portals类型组件
@@ -2923,7 +2916,6 @@ class Portal {
2923
2916
  }
2924
2917
  }
2925
2918
  } catch (e) {
2926
- /* istanbul ignore next -- @preserve */
2927
2919
  throw new VcError("instance", e);
2928
2920
  }
2929
2921
  }
@@ -2934,7 +2926,6 @@ class Portal {
2934
2926
  try {
2935
2927
  Portal.leafs.forEach((leaf) => leaf.destroy());
2936
2928
  } catch (e) {
2937
- /* istanbul ignore next -- @preserve */
2938
2929
  throw new VcError("instance", e);
2939
2930
  }
2940
2931
  }
@@ -2945,7 +2936,7 @@ class Portal {
2945
2936
  this.wrapper = wrapper;
2946
2937
  this.globalOptions = {
2947
2938
  ...options,
2948
- name: options?.name || wrapper.name || Utils__namespace.getUid(COMPONENT_NAME$1P)
2939
+ name: options?.name || wrapper.name || Utils__namespace.getUid(COMPONENT_NAME$1Q)
2949
2940
  };
2950
2941
  }
2951
2942
  popup(propsData, options) {
@@ -3007,7 +2998,6 @@ class Portal {
3007
2998
  return (...args) => {
3008
2999
  const done = () => {
3009
3000
  const leaf = getLeaf();
3010
- /* istanbul ignore next -- @preserve */
3011
3001
  if (!leaf) {
3012
3002
  throw new VcError("portal", "实例不存在或已卸载");
3013
3003
  }
@@ -3044,7 +3034,7 @@ class Portal {
3044
3034
  ...rest
3045
3035
  } = options;
3046
3036
  let useAllNodes = fragment;
3047
- const name = multiple ? `${name$}__${Utils__namespace.getUid(COMPONENT_NAME$1P)}` : name$;
3037
+ const name = multiple ? `${name$}__${Utils__namespace.getUid(COMPONENT_NAME$1Q)}` : name$;
3048
3038
  const container = document.createElement(tag);
3049
3039
  const root = typeof el === "object" ? el : document.querySelector(el || "body");
3050
3040
  !alive && Portal.leafs.get(name)?.destroy();
@@ -3058,7 +3048,6 @@ class Portal {
3058
3048
  if (isDestroyed()) return;
3059
3049
  onDestroyed?.(...args);
3060
3050
  leaf.app?.unmount();
3061
- /* istanbul ignore else -- @preserve */
3062
3051
  if (useAllNodes) {
3063
3052
  root?.contains(container) && root.removeChild(container);
3064
3053
  } else if (container && container._children) {
@@ -3079,23 +3068,20 @@ class Portal {
3079
3068
  } else {
3080
3069
  const wrapper = this.wrapper;
3081
3070
  const app = vue.createApp({
3082
- name: COMPONENT_NAME$1P,
3071
+ name: COMPONENT_NAME$1Q,
3083
3072
  parent,
3084
3073
  setup() {
3085
3074
  if (alive) {
3086
3075
  const handleExtra = (e) => {
3087
3076
  try {
3088
3077
  const path = e.path || $__namespace.composedPath(e);
3089
- /* istanbul ignore else -- @preserve */
3090
3078
  if (container && e.target && !container.contains(e.target) && !path?.some((item) => vcShared.Utils.eleInRegExp(item, aliveRegExp))) {
3091
- /* istanbul ignore else -- @preserve */
3092
3079
  if (leaf.wrapper && leaf.wrapper?.[aliveVisibleKey]) {
3093
3080
  typeof leaf.wrapper[aliveVisibleKey] === "function" ? leaf.wrapper[aliveVisibleKey](false) : leaf.wrapper[aliveVisibleKey] = false;
3094
3081
  }
3095
3082
  leaveDelay ? setTimeout($onDestroyed, leaveDelay) : $onDestroyed();
3096
3083
  }
3097
3084
  } catch (error) {
3098
- /* istanbul ignore next -- @preserve */
3099
3085
  throw new VcError("portal", error);
3100
3086
  }
3101
3087
  };
@@ -3186,21 +3172,21 @@ class Portal {
3186
3172
  }
3187
3173
  }
3188
3174
 
3189
- const props$1a = {
3175
+ const props$1b = {
3190
3176
  tag: {
3191
3177
  type: String,
3192
3178
  default: "div"
3193
3179
  }
3194
3180
  };
3195
3181
 
3196
- const COMPONENT_NAME$1O = 'vc-portal-view';
3182
+ const COMPONENT_NAME$1P = 'vc-portal-view';
3197
3183
 
3198
3184
  /**
3199
3185
  * 写法不同,但与vue@2.x 保持一致
3200
3186
  */
3201
3187
  const PortalView = /* @__PURE__ */ vue.defineComponent({
3202
- name: COMPONENT_NAME$1O,
3203
- props: props$1a,
3188
+ name: COMPONENT_NAME$1P,
3189
+ props: props$1b,
3204
3190
  setup(props, {
3205
3191
  slots
3206
3192
  }) {
@@ -3219,10 +3205,10 @@ const PortalView = /* @__PURE__ */ vue.defineComponent({
3219
3205
 
3220
3206
  /** @jsxImportSource vue */
3221
3207
 
3222
- const COMPONENT_NAME$1N = 'vc-popover-wrapper';
3208
+ const COMPONENT_NAME$1O = 'vc-popover-wrapper';
3223
3209
  const PopoverWrapper = /* @__PURE__ */ vue.defineComponent({
3224
- name: COMPONENT_NAME$1N,
3225
- props: props$1d,
3210
+ name: COMPONENT_NAME$1O,
3211
+ props: props$1e,
3226
3212
  emits: ['portal-fulfilled', 'close'],
3227
3213
  setup(props, {
3228
3214
  emit,
@@ -3479,10 +3465,10 @@ const PopoverPortal = new Portal(PopoverWrapper, {
3479
3465
 
3480
3466
  /** @jsxImportSource vue */
3481
3467
 
3482
- const COMPONENT_NAME$1M = 'vc-popover';
3468
+ const COMPONENT_NAME$1N = 'vc-popover';
3483
3469
  const Popover$1 = /* @__PURE__ */ vue.defineComponent({
3484
- name: COMPONENT_NAME$1M,
3485
- props: props$1c,
3470
+ name: COMPONENT_NAME$1N,
3471
+ props: props$1d,
3486
3472
  emits: ['update:modelValue', 'visible-change', 'ready', 'close'],
3487
3473
  setup(props, {
3488
3474
  emit,
@@ -3625,9 +3611,9 @@ const Popover = Object.assign(Popover$1, {
3625
3611
 
3626
3612
  /** @jsxImportSource vue */
3627
3613
 
3628
- const COMPONENT_NAME$1L = 'vc-cascader-column';
3614
+ const COMPONENT_NAME$1M = 'vc-cascader-column';
3629
3615
  const CascaderColumn = /* @__PURE__ */ vue.defineComponent({
3630
- name: COMPONENT_NAME$1L,
3616
+ name: COMPONENT_NAME$1M,
3631
3617
  emits: ['click', 'change'],
3632
3618
  props: {
3633
3619
  data: {
@@ -3745,9 +3731,9 @@ const popoverKeys$1 = [
3745
3731
  "portal",
3746
3732
  "portalClass"
3747
3733
  ];
3748
- const props$19 = {
3749
- ...lodashEs.pick(props$1c, popoverKeys$1),
3750
- ...lodashEs.pick(props$1g, inputKeys$2),
3734
+ const props$1a = {
3735
+ ...lodashEs.pick(props$1d, popoverKeys$1),
3736
+ ...lodashEs.pick(props$1h, inputKeys$2),
3751
3737
  renderOption: [Function],
3752
3738
  renderOptionGroup: [Function],
3753
3739
  data: {
@@ -3813,8 +3799,8 @@ const props$19 = {
3813
3799
  label: String
3814
3800
  };
3815
3801
 
3816
- const props$18 = {
3817
- ...props$19,
3802
+ const props$19 = {
3803
+ ...props$1a,
3818
3804
  data: {
3819
3805
  type: Array,
3820
3806
  default: () => []
@@ -3835,11 +3821,11 @@ const props$18 = {
3835
3821
 
3836
3822
  /** @jsxImportSource vue */
3837
3823
 
3838
- const COMPONENT_NAME$1K = 'vc-cascader';
3824
+ const COMPONENT_NAME$1L = 'vc-cascader';
3839
3825
  const Cascader = /* @__PURE__ */ vue.defineComponent({
3840
- name: COMPONENT_NAME$1K,
3826
+ name: COMPONENT_NAME$1L,
3841
3827
  inheritAttrs: false,
3842
- props: props$18,
3828
+ props: props$19,
3843
3829
  emits: ['update:modelValue', 'visible-change', 'ready', 'change', 'close'],
3844
3830
  setup(props, {
3845
3831
  emit,
@@ -4175,7 +4161,7 @@ const EVENTS = [
4175
4161
  "contextmenu"
4176
4162
  ];
4177
4163
 
4178
- const props$17 = {
4164
+ const props$18 = {
4179
4165
  options: Object,
4180
4166
  pluginOptions: Object,
4181
4167
  theme: [String, Object],
@@ -4190,14 +4176,15 @@ const props$17 = {
4190
4176
 
4191
4177
  /** @jsxImportSource vue */
4192
4178
 
4193
- const COMPONENT_NAME$1J = 'vc-chart';
4179
+ const COMPONENT_NAME$1K = 'vc-chart';
4194
4180
  const Chart = /* @__PURE__ */ vue.defineComponent({
4195
- name: COMPONENT_NAME$1J,
4196
- props: props$17,
4181
+ name: COMPONENT_NAME$1K,
4182
+ props: props$18,
4197
4183
  emits: [...EVENTS, 'ready'],
4198
4184
  setup(props, {
4199
4185
  emit,
4200
- slots
4186
+ slots,
4187
+ expose
4201
4188
  }) {
4202
4189
  const instance = vue.getCurrentInstance();
4203
4190
  const chart = vue.shallowRef(null);
@@ -4296,6 +4283,12 @@ const Chart = /* @__PURE__ */ vue.defineComponent({
4296
4283
  }
4297
4284
  });
4298
4285
  });
4286
+
4287
+ // 如果存在内存泄漏,chart.value.getOption() 获取配置项,查看series参数等情况
4288
+ expose({
4289
+ chart,
4290
+ refresh
4291
+ });
4299
4292
  vue.onUnmounted(destroy);
4300
4293
  return () => {
4301
4294
  return vue.createVNode("div", {
@@ -4308,7 +4301,7 @@ const Chart = /* @__PURE__ */ vue.defineComponent({
4308
4301
 
4309
4302
  const MChart = Chart;
4310
4303
 
4311
- const props$16 = {
4304
+ const props$17 = {
4312
4305
  disabled: {
4313
4306
  type: Boolean,
4314
4307
  default: false
@@ -4424,10 +4417,10 @@ const useCheckbox = () => {
4424
4417
 
4425
4418
  /** @jsxImportSource vue */
4426
4419
 
4427
- const COMPONENT_NAME$1I = 'vc-checkbox';
4420
+ const COMPONENT_NAME$1J = 'vc-checkbox';
4428
4421
  const Checkbox = /* @__PURE__ */ vue.defineComponent({
4429
- name: COMPONENT_NAME$1I,
4430
- props: props$16,
4422
+ name: COMPONENT_NAME$1J,
4423
+ props: props$17,
4431
4424
  emits: ['update:modelValue', 'change'],
4432
4425
  setup(props, {
4433
4426
  slots
@@ -4464,7 +4457,7 @@ const Checkbox = /* @__PURE__ */ vue.defineComponent({
4464
4457
  }
4465
4458
  });
4466
4459
 
4467
- const props$15 = {
4460
+ const props$16 = {
4468
4461
  modelValue: {
4469
4462
  type: Array,
4470
4463
  default: () => []
@@ -4513,10 +4506,10 @@ const useCheckboxGroup = () => {
4513
4506
 
4514
4507
  /** @jsxImportSource vue */
4515
4508
 
4516
- const COMPONENT_NAME$1H = 'vc-checkbox-group';
4509
+ const COMPONENT_NAME$1I = 'vc-checkbox-group';
4517
4510
  const CheckboxGroup = /* @__PURE__ */ vue.defineComponent({
4518
- name: COMPONENT_NAME$1H,
4519
- props: props$15,
4511
+ name: COMPONENT_NAME$1I,
4512
+ props: props$16,
4520
4513
  emits: ['update:modelValue', 'change'],
4521
4514
  setup(props, {
4522
4515
  slots
@@ -4533,10 +4526,10 @@ const CheckboxGroup = /* @__PURE__ */ vue.defineComponent({
4533
4526
 
4534
4527
  /** @jsxImportSource vue */
4535
4528
 
4536
- const COMPONENT_NAME$1G = 'vcm-checkbox';
4529
+ const COMPONENT_NAME$1H = 'vcm-checkbox';
4537
4530
  const MCheckbox = /* @__PURE__ */ vue.defineComponent({
4538
- name: COMPONENT_NAME$1G,
4539
- props: props$16,
4531
+ name: COMPONENT_NAME$1H,
4532
+ props: props$17,
4540
4533
  emits: ['update:modelValue', 'change'],
4541
4534
  setup(props, {
4542
4535
  slots
@@ -4575,10 +4568,10 @@ const MCheckbox = /* @__PURE__ */ vue.defineComponent({
4575
4568
 
4576
4569
  /** @jsxImportSource vue */
4577
4570
 
4578
- const COMPONENT_NAME$1F = 'vcm-checkbox-group';
4571
+ const COMPONENT_NAME$1G = 'vcm-checkbox-group';
4579
4572
  const MCheckboxGroup = /* @__PURE__ */ vue.defineComponent({
4580
- name: COMPONENT_NAME$1F,
4581
- props: props$15,
4573
+ name: COMPONENT_NAME$1G,
4574
+ props: props$16,
4582
4575
  emits: ['update:modelValue', 'change'],
4583
4576
  setup(props, {
4584
4577
  slots
@@ -4593,7 +4586,7 @@ const MCheckboxGroup = /* @__PURE__ */ vue.defineComponent({
4593
4586
  }
4594
4587
  });
4595
4588
 
4596
- const props$14 = {
4589
+ const props$15 = {
4597
4590
  content: [String, Function],
4598
4591
  mask: {
4599
4592
  type: Boolean,
@@ -4631,11 +4624,11 @@ const props$14 = {
4631
4624
 
4632
4625
  /** @jsxImportSource vue */
4633
4626
 
4634
- const COMPONENT_NAME$1E = 'vc-message';
4627
+ const COMPONENT_NAME$1F = 'vc-message';
4635
4628
  const MessageView = /* @__PURE__ */ vue.defineComponent({
4636
- name: COMPONENT_NAME$1E,
4629
+ name: COMPONENT_NAME$1F,
4637
4630
  emits: ['before-close', 'close', 'portal-fulfilled'],
4638
- props: props$14,
4631
+ props: props$15,
4639
4632
  setup(props, {
4640
4633
  emit,
4641
4634
  expose
@@ -4765,7 +4758,7 @@ const warning$3 = create$4({ mode: "warning" });
4765
4758
  const error$3 = create$4({ mode: "error" });
4766
4759
  const Message = Object.assign(MessageView, { destroy: destroy$5, info: info$3, success: success$3, loading: loading$1, warning: warning$3, error: error$3 });
4767
4760
 
4768
- const props$13 = {
4761
+ const props$14 = {
4769
4762
  value: String,
4770
4763
  tag: {
4771
4764
  type: [String, Object, Function],
@@ -4882,10 +4875,10 @@ const useClipboard = (done) => {
4882
4875
  return () => vue.h(props.tag, { onClick: handleClick, class: "vc-clipboard" }, slots?.default?.());
4883
4876
  };
4884
4877
 
4885
- const COMPONENT_NAME$1D = "vc-clipboard";
4878
+ const COMPONENT_NAME$1E = "vc-clipboard";
4886
4879
  const Clipboard$1 = vue.defineComponent({
4887
- name: COMPONENT_NAME$1D,
4888
- props: props$13,
4880
+ name: COMPONENT_NAME$1E,
4881
+ props: props$14,
4889
4882
  setup() {
4890
4883
  return useClipboard((content) => Message.success({ content }));
4891
4884
  }
@@ -4893,7 +4886,7 @@ const Clipboard$1 = vue.defineComponent({
4893
4886
 
4894
4887
  const Clipboard = Object.assign(Clipboard$1, group);
4895
4888
 
4896
- const props$12 = {
4889
+ const props$13 = {
4897
4890
  content: [String, Function],
4898
4891
  maskClosable: {
4899
4892
  type: Boolean,
@@ -4924,11 +4917,11 @@ const MTransitionZoom = TransitionZoom;
4924
4917
 
4925
4918
  /** @jsxImportSource vue */
4926
4919
 
4927
- const COMPONENT_NAME$1C = 'vcm-toast';
4920
+ const COMPONENT_NAME$1D = 'vcm-toast';
4928
4921
  const MToastView = /* @__PURE__ */ vue.defineComponent({
4929
- name: COMPONENT_NAME$1C,
4922
+ name: COMPONENT_NAME$1D,
4930
4923
  emits: ['close', 'portal-fulfilled'],
4931
- props: props$12,
4924
+ props: props$13,
4932
4925
  setup(props, {
4933
4926
  emit,
4934
4927
  expose
@@ -5028,10 +5021,10 @@ const warning$2 = create$3({ mode: "warning" });
5028
5021
  const error$2 = create$3({ mode: "error" });
5029
5022
  const MToast = Object.assign(MToastView, { destroy: destroy$4, info: info$2, success: success$2, loading, warning: warning$2, error: error$2 });
5030
5023
 
5031
- const COMPONENT_NAME$1B = "vcm-clipboard";
5024
+ const COMPONENT_NAME$1C = "vcm-clipboard";
5032
5025
  const MClipboard$1 = vue.defineComponent({
5033
- name: COMPONENT_NAME$1B,
5034
- props: props$13,
5026
+ name: COMPONENT_NAME$1C,
5027
+ props: props$14,
5035
5028
  setup() {
5036
5029
  return useClipboard((content) => MToast.info({ content }));
5037
5030
  }
@@ -5039,7 +5032,7 @@ const MClipboard$1 = vue.defineComponent({
5039
5032
 
5040
5033
  const MClipboard = Object.assign(MClipboard$1, group);
5041
5034
 
5042
- const props$11 = {
5035
+ const props$12 = {
5043
5036
  tag: {
5044
5037
  type: String,
5045
5038
  default: "div"
@@ -5062,10 +5055,10 @@ const props$11 = {
5062
5055
  }
5063
5056
  };
5064
5057
 
5065
- const COMPONENT_NAME$1A = "vc-collapse";
5058
+ const COMPONENT_NAME$1B = "vc-collapse";
5066
5059
  const Collapse = vue.defineComponent({
5067
- name: COMPONENT_NAME$1A,
5068
- props: props$11,
5060
+ name: COMPONENT_NAME$1B,
5061
+ props: props$12,
5069
5062
  emits: ["update:moodelValue", "change"],
5070
5063
  setup(props, { slots, emit }) {
5071
5064
  const instance = vue.getCurrentInstance();
@@ -5150,7 +5143,7 @@ const Collapse = vue.defineComponent({
5150
5143
  }
5151
5144
  });
5152
5145
 
5153
- const props$10 = {
5146
+ const props$11 = {
5154
5147
  tag: {
5155
5148
  type: String,
5156
5149
  default: "div"
@@ -5160,7 +5153,7 @@ const props$10 = {
5160
5153
  }
5161
5154
  };
5162
5155
 
5163
- const props$$ = {
5156
+ const props$10 = {
5164
5157
  tag: {
5165
5158
  type: String,
5166
5159
  default: "div"
@@ -5178,13 +5171,13 @@ const props$$ = {
5178
5171
 
5179
5172
  /** @jsxImportSource vue */
5180
5173
 
5181
- function _isSlot$2(s) {
5174
+ function _isSlot$3(s) {
5182
5175
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
5183
5176
  }
5184
- const COMPONENT_NAME$1z = 'vc-expand';
5177
+ const COMPONENT_NAME$1A = 'vc-expand';
5185
5178
  const Expand$1 = /* @__PURE__ */ vue.defineComponent({
5186
- name: COMPONENT_NAME$1z,
5187
- props: props$$,
5179
+ name: COMPONENT_NAME$1A,
5180
+ props: props$10,
5188
5181
  setup(props, {
5189
5182
  slots
5190
5183
  }) {
@@ -5202,7 +5195,7 @@ const Expand$1 = /* @__PURE__ */ vue.defineComponent({
5202
5195
  enter: 200,
5203
5196
  leave: 200
5204
5197
  }
5205
- }, _isSlot$2(_slot = vue.withDirectives(vue.createVNode(Content, null, {
5198
+ }, _isSlot$3(_slot = vue.withDirectives(vue.createVNode(Content, null, {
5206
5199
  default: () => [(props.alive || !props.alive && isActive.value) && slots.default?.()]
5207
5200
  }), [[vue.vShow, isActive.value]])) ? _slot : {
5208
5201
  default: () => [_slot]
@@ -5213,10 +5206,10 @@ const Expand$1 = /* @__PURE__ */ vue.defineComponent({
5213
5206
 
5214
5207
  /** @jsxImportSource vue */
5215
5208
 
5216
- const COMPONENT_NAME$1y = 'vc-collapse-item';
5209
+ const COMPONENT_NAME$1z = 'vc-collapse-item';
5217
5210
  const CollapseItem = /* @__PURE__ */ vue.defineComponent({
5218
- name: COMPONENT_NAME$1y,
5219
- props: props$10,
5211
+ name: COMPONENT_NAME$1z,
5212
+ props: props$11,
5220
5213
  setup(props, {
5221
5214
  slots,
5222
5215
  expose
@@ -5281,7 +5274,7 @@ const CollapseItem = /* @__PURE__ */ vue.defineComponent({
5281
5274
  const MCollapse = Collapse;
5282
5275
  const MCollapseItem = CollapseItem;
5283
5276
 
5284
- const props$_ = {
5277
+ const props$$ = {
5285
5278
  tag: {
5286
5279
  type: String,
5287
5280
  default: "div"
@@ -5290,10 +5283,10 @@ const props$_ = {
5290
5283
 
5291
5284
  /** @jsxImportSource vue */
5292
5285
 
5293
- const COMPONENT_NAME$1x = 'vc-color-picker';
5286
+ const COMPONENT_NAME$1y = 'vc-color-picker';
5294
5287
  const ColorPicker = /* @__PURE__ */ vue.defineComponent({
5295
- name: COMPONENT_NAME$1x,
5296
- props: props$_,
5288
+ name: COMPONENT_NAME$1y,
5289
+ props: props$$,
5297
5290
  setup(props, {
5298
5291
  slots
5299
5292
  }) {
@@ -5307,7 +5300,7 @@ const ColorPicker = /* @__PURE__ */ vue.defineComponent({
5307
5300
 
5308
5301
  const MColorPicker = ColorPicker;
5309
5302
 
5310
- const props$Z = {
5303
+ const props$_ = {
5311
5304
  tag: {
5312
5305
  type: String,
5313
5306
  default: "span"
@@ -5352,14 +5345,14 @@ const formatter = (format, arr) => {
5352
5345
 
5353
5346
  /** @jsxImportSource vue */
5354
5347
 
5355
- function _isSlot$1(s) {
5348
+ function _isSlot$2(s) {
5356
5349
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
5357
5350
  }
5358
- const COMPONENT_NAME$1w = 'vc-countdown';
5351
+ const COMPONENT_NAME$1x = 'vc-countdown';
5359
5352
  const Countdown = /* @__PURE__ */ vue.defineComponent({
5360
- name: COMPONENT_NAME$1w,
5361
- props: props$Z,
5362
- emits: ['change', 'finish', 'error'],
5353
+ name: COMPONENT_NAME$1x,
5354
+ props: props$_,
5355
+ emits: ['change', 'complete', 'error'],
5363
5356
  setup(props, {
5364
5357
  emit,
5365
5358
  slots
@@ -5449,7 +5442,7 @@ const Countdown = /* @__PURE__ */ vue.defineComponent({
5449
5442
  second: '00',
5450
5443
  millisecond: '00'
5451
5444
  });
5452
- emit('finish');
5445
+ emit('complete');
5453
5446
  } else {
5454
5447
  emit('change', {
5455
5448
  timestamp,
@@ -5487,7 +5480,7 @@ const Countdown = /* @__PURE__ */ vue.defineComponent({
5487
5480
  return (// @ts-ignore
5488
5481
  vue.createVNode(Content, {
5489
5482
  "class": "vc-countdown"
5490
- }, _isSlot$1(_slot = slots.default(binds.value)) ? _slot : {
5483
+ }, _isSlot$2(_slot = slots.default(binds.value)) ? _slot : {
5491
5484
  default: () => [_slot]
5492
5485
  })
5493
5486
  );
@@ -5510,6 +5503,345 @@ const Countdown = /* @__PURE__ */ vue.defineComponent({
5510
5503
 
5511
5504
  const MCountdown = Countdown;
5512
5505
 
5506
+ const props$Z = {
5507
+ tag: {
5508
+ type: String,
5509
+ default: "span"
5510
+ },
5511
+ value: [Number, String],
5512
+ placeholder: String,
5513
+ precision: {
5514
+ type: Number,
5515
+ default: 0
5516
+ },
5517
+ duration: {
5518
+ type: Number,
5519
+ default: 500
5520
+ },
5521
+ decimal: {
5522
+ type: String,
5523
+ default: "."
5524
+ },
5525
+ separator: {
5526
+ type: String,
5527
+ default: ","
5528
+ },
5529
+ numerals: {
5530
+ type: Array,
5531
+ default: () => []
5532
+ },
5533
+ smartEasingThreshold: {
5534
+ type: Number,
5535
+ default: 999
5536
+ },
5537
+ smartEasingAmount: {
5538
+ type: Number,
5539
+ default: 333
5540
+ },
5541
+ easing: {
5542
+ type: [Function, Boolean],
5543
+ default: true
5544
+ },
5545
+ // 10.90 -> 10.9
5546
+ zeroless: {
5547
+ type: Boolean,
5548
+ default: false
5549
+ },
5550
+ // 为true时,自行管理start/update
5551
+ controllable: {
5552
+ type: Boolean,
5553
+ default: false
5554
+ },
5555
+ render: Function
5556
+ };
5557
+
5558
+ const separated2value = (value, options) => {
5559
+ if (typeof value === "number" || typeof value !== "string") return value;
5560
+ const escapeRegExp = (s) => s.replace(/([.,' ])/g, "\\$1");
5561
+ const sep = escapeRegExp(options.separator);
5562
+ const dec = escapeRegExp(options.decimal);
5563
+ const num = (value || "").replace(new RegExp(sep, "g"), "").replace(new RegExp(dec, "g"), ".");
5564
+ return parseFloat(num);
5565
+ };
5566
+ const value2separated = (value, options) => {
5567
+ const num = typeof value === "number" ? value : parseFloat(value);
5568
+ if (value === "" || Number.isNaN(num)) {
5569
+ return {
5570
+ negative: "",
5571
+ integer: "",
5572
+ decimal: "",
5573
+ separated: "",
5574
+ float: "",
5575
+ value: ""
5576
+ };
5577
+ }
5578
+ const negative = num < 0 ? "-" : "";
5579
+ let [integer, decimal = ""] = `${Math.abs(num)}`.split(".");
5580
+ let separated = integer;
5581
+ if (options.separator) {
5582
+ let v = "";
5583
+ let j = 0;
5584
+ const factor = 3;
5585
+ for (let i = 0, len = separated.length; i < len; ++i) {
5586
+ if (i !== 0 && j % factor === 0) {
5587
+ v = options.separator + v;
5588
+ }
5589
+ j++;
5590
+ v = separated[len - i - 1] + v;
5591
+ }
5592
+ separated = v;
5593
+ }
5594
+ const precision$ = options.zeroless ? Math.min(options.precision, decimal.length) : options.precision;
5595
+ if (precision$) {
5596
+ decimal = decimal.slice(0, precision$).padEnd(precision$, "0");
5597
+ } else {
5598
+ decimal = "";
5599
+ }
5600
+ if (options?.numerals?.length) {
5601
+ separated = separated.replace(/[0-9]/g, (w) => options.numerals[+w]);
5602
+ decimal = decimal.replace(/[0-9]/g, (w) => options.numerals[+w]);
5603
+ }
5604
+ const _decimal = decimal ? options.decimal + decimal : "";
5605
+ return {
5606
+ negative,
5607
+ integer,
5608
+ decimal,
5609
+ separated,
5610
+ float: `${negative}${integer}${_decimal}`,
5611
+ value: `${negative}${separated}${_decimal}`
5612
+ };
5613
+ };
5614
+
5615
+ /** @jsxImportSource vue */
5616
+
5617
+ function _isSlot$1(s) {
5618
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
5619
+ }
5620
+ const COMPONENT_NAME$1w = 'vc-counter';
5621
+ const Counter = /* @__PURE__ */ vue.defineComponent({
5622
+ name: COMPONENT_NAME$1w,
5623
+ props: props$Z,
5624
+ emits: ['begin', 'complete', 'change'],
5625
+ setup(props, {
5626
+ emit,
5627
+ expose,
5628
+ slots
5629
+ }) {
5630
+ const startTime = vue.ref(null);
5631
+ const duration = vue.ref(props.duration);
5632
+ const remaining = vue.ref(duration.value);
5633
+ const startVal = vue.ref(0);
5634
+ const endVal = vue.ref(separated2value(props.value, props));
5635
+ const frameVal = vue.ref(startVal.value);
5636
+ const finalEndVal = vue.ref(null);
5637
+ const useEasing = vue.ref(!!props.easing);
5638
+ const isStart = vue.ref(false);
5639
+ const isPaused = vue.ref(false);
5640
+ const isComplete = vue.ref(false);
5641
+ const countdown = vue.ref(false);
5642
+ const rAF = vue.ref(null);
5643
+ const prints = vue.reactive({
5644
+ negative: '',
5645
+ integer: '',
5646
+ decimal: '',
5647
+ separated: '',
5648
+ float: '',
5649
+ value: ''
5650
+ });
5651
+
5652
+ // t: current time, b: beginning value, c: change in value, d: duration
5653
+ const easing = vue.computed(() => {
5654
+ return typeof props.easing === 'function' ? props.easing : (t, b, c, d) => c * (-Math.pow(2, -10 * t / d) + 1) * 1024 / 1023 + b;
5655
+ });
5656
+ const displayValue = vue.computed(() => {
5657
+ if (props.value === '' || typeof props.value !== 'string' && typeof props.value !== 'number') {
5658
+ return props.placeholder;
5659
+ }
5660
+ return prints.value;
5661
+ });
5662
+ const binds = vue.computed(() => {
5663
+ return {
5664
+ ...prints,
5665
+ value: displayValue.value
5666
+ };
5667
+ });
5668
+ const determineDirectionAndSmartEasing = () => {
5669
+ const v = finalEndVal.value !== null ? finalEndVal.value : endVal.value;
5670
+ countdown.value = startVal.value > v;
5671
+ const animateAmount = v - startVal.value;
5672
+ if (Math.abs(animateAmount) > props.smartEasingThreshold && props.easing) {
5673
+ finalEndVal.value = v;
5674
+ const up = countdown.value ? 1 : -1;
5675
+ endVal.value = v + up * props.smartEasingAmount;
5676
+ duration.value = duration.value / 2;
5677
+ } else {
5678
+ endVal.value = v;
5679
+ finalEndVal.value = null;
5680
+ }
5681
+ if (finalEndVal.value !== null) {
5682
+ useEasing.value = false;
5683
+ } else {
5684
+ useEasing.value = !!props.easing;
5685
+ }
5686
+ };
5687
+ const run = () => {
5688
+ const done = timestamp => {
5689
+ if (!startTime.value) {
5690
+ startTime.value = timestamp;
5691
+ }
5692
+ const progress = timestamp - startTime.value;
5693
+ remaining.value = duration.value - progress;
5694
+ if (useEasing.value) {
5695
+ if (countdown.value) {
5696
+ frameVal.value = startVal.value - easing.value(progress, 0, startVal.value - endVal.value, duration.value);
5697
+ } else {
5698
+ frameVal.value = easing.value(progress, startVal.value, endVal.value - startVal.value, duration.value);
5699
+ }
5700
+ } else {
5701
+ frameVal.value = startVal.value + (endVal.value - startVal.value) * (progress / duration.value);
5702
+ }
5703
+ const wentPast = countdown.value ? frameVal.value < endVal.value : frameVal.value > endVal.value;
5704
+ frameVal.value = wentPast ? endVal.value : frameVal.value;
5705
+ print(frameVal.value);
5706
+ if (progress < duration.value) {
5707
+ rAF.value = requestAnimationFrame(done);
5708
+ } else if (finalEndVal.value !== null) {
5709
+ update(finalEndVal.value);
5710
+ } else {
5711
+ emit('complete');
5712
+ isComplete.value = true;
5713
+ }
5714
+ };
5715
+ determineDirectionAndSmartEasing();
5716
+ rAF.value = requestAnimationFrame(done);
5717
+ };
5718
+ const print = num => {
5719
+ Object.assign(prints, value2separated(num, props));
5720
+ emit('change', prints);
5721
+ };
5722
+ const resetDuration = () => {
5723
+ startTime.value = null;
5724
+ duration.value = props.duration;
5725
+ remaining.value = duration.value;
5726
+ };
5727
+ const cancel = () => {
5728
+ if (rAF.value === null || typeof rAF.value === 'undefined') return;
5729
+ cancelAnimationFrame(rAF.value);
5730
+ };
5731
+ const start = () => {
5732
+ if (isComplete.value || isStart.value) return;
5733
+ cancel();
5734
+ resetDuration();
5735
+ isPaused.value = false;
5736
+ isComplete.value = false;
5737
+ startVal.value = 0;
5738
+ frameVal.value = 0;
5739
+ isStart.value = true;
5740
+ emit('begin');
5741
+ if (duration.value > 0) {
5742
+ run();
5743
+ } else {
5744
+ print(endVal.value);
5745
+ }
5746
+ };
5747
+ const pause = () => {
5748
+ if (isComplete.value) return;
5749
+ if (!isPaused.value) {
5750
+ cancel();
5751
+ }
5752
+ isPaused.value = true;
5753
+ };
5754
+ const resume = () => {
5755
+ if (isComplete.value) return;
5756
+ if (isPaused.value) {
5757
+ startTime.value = null;
5758
+ duration.value = remaining.value;
5759
+ startVal.value = frameVal.value;
5760
+ run();
5761
+ }
5762
+ isPaused.value = false;
5763
+ };
5764
+ const update = newEndVal => {
5765
+ if (!isStart.value) return;
5766
+ cancel();
5767
+ startTime.value = null;
5768
+ endVal.value = +newEndVal;
5769
+ if (endVal.value === frameVal.value) {
5770
+ return;
5771
+ }
5772
+ startVal.value = frameVal.value;
5773
+ if (finalEndVal.value === null) {
5774
+ resetDuration();
5775
+ }
5776
+ finalEndVal.value = null;
5777
+ run();
5778
+ };
5779
+ const end = () => {
5780
+ if (isComplete.value) return;
5781
+ cancel();
5782
+ resetDuration();
5783
+ startVal.value = +props.value;
5784
+ frameVal.value = startVal.value;
5785
+ print(frameVal.value);
5786
+ emit('complete');
5787
+ isComplete.value = true;
5788
+ };
5789
+ const restart = () => {
5790
+ isStart.value = false;
5791
+ isComplete.value = false;
5792
+ start();
5793
+ };
5794
+ vue.watch(() => props.value, () => {
5795
+ if (props.controllable || !isStart.value) return;
5796
+ update(props.value);
5797
+ });
5798
+ vue.watch(() => props.precision, () => {
5799
+ if (props.controllable || !isStart.value || !isComplete.value) return;
5800
+ print(+props.value);
5801
+ });
5802
+ expose({
5803
+ start,
5804
+ pause,
5805
+ resume,
5806
+ update,
5807
+ end,
5808
+ restart,
5809
+ cancel,
5810
+ print
5811
+ });
5812
+ vue.onMounted(() => !props.controllable && start());
5813
+ vue.onBeforeUnmount(cancel);
5814
+ const Content = props.tag;
5815
+ return () => {
5816
+ if (slots.default) {
5817
+ let _slot;
5818
+ return (// @ts-ignore
5819
+ vue.createVNode(Content, {
5820
+ "class": "vc-counter"
5821
+ }, _isSlot$1(_slot = slots.default(binds.value)) ? _slot : {
5822
+ default: () => [_slot]
5823
+ })
5824
+ );
5825
+ }
5826
+ if (props.render) {
5827
+ return vue.createVNode(Customer, vue.mergeProps({
5828
+ "class": "vc-counter",
5829
+ "render": props.render
5830
+ }, binds.value), null);
5831
+ }
5832
+ return (// @ts-ignore
5833
+ vue.createVNode(Content, {
5834
+ "class": "vc-counter"
5835
+ }, {
5836
+ default: () => [displayValue.value]
5837
+ })
5838
+ );
5839
+ };
5840
+ }
5841
+ });
5842
+
5843
+ const MCounter = Counter;
5844
+
5513
5845
  const props$Y = {
5514
5846
  type: {
5515
5847
  type: String,
@@ -5533,8 +5865,8 @@ const popoverKeys = [
5533
5865
  "portalClass"
5534
5866
  ];
5535
5867
  const props$X = {
5536
- ...lodashEs.pick(props$1c, popoverKeys),
5537
- ...lodashEs.pick(props$1g, inputKeys$1),
5868
+ ...lodashEs.pick(props$1d, popoverKeys),
5869
+ ...lodashEs.pick(props$1h, inputKeys$1),
5538
5870
  type: String,
5539
5871
  placeholder: String,
5540
5872
  clearable: {
@@ -10056,7 +10388,7 @@ const DropdownItem = /* @__PURE__ */ vue.defineComponent({
10056
10388
  }) {
10057
10389
  const owner = vcHooks.getInstance('dropdown', 'dropdownId');
10058
10390
  const currentValue = vue.computed(() => {
10059
- const v = typeof props.value === 'undefined' || props.value === '' ? props.label : props.value;
10391
+ const v = typeof props.value === 'undefined' ? props.label : props.value;
10060
10392
  return v;
10061
10393
  });
10062
10394
  const classes = vue.computed(() => {
@@ -12580,7 +12912,7 @@ const MInput = /* @__PURE__ */ vue.defineComponent({
12580
12912
  name: COMPONENT_NAME$V,
12581
12913
  inheritAttrs: false,
12582
12914
  props: {
12583
- ...props$1g,
12915
+ ...props$1h,
12584
12916
  right: {
12585
12917
  type: Boolean,
12586
12918
  default: false
@@ -12669,7 +13001,7 @@ const MInput = /* @__PURE__ */ vue.defineComponent({
12669
13001
  const COMPONENT_NAME$U = 'vcm-input-number';
12670
13002
  const MInputNumber = /* @__PURE__ */ vue.defineComponent({
12671
13003
  name: COMPONENT_NAME$U,
12672
- props: props$1f,
13004
+ props: props$1g,
12673
13005
  inheritAttrs: false,
12674
13006
  setup(props, {
12675
13007
  slots,
@@ -12721,7 +13053,7 @@ const COMPONENT_NAME$T = 'vcm-input-search';
12721
13053
  const MInputSearch = /* @__PURE__ */ vue.defineComponent({
12722
13054
  name: COMPONENT_NAME$T,
12723
13055
  props: {
12724
- ...props$1e,
13056
+ ...props$1f,
12725
13057
  cancelText: {
12726
13058
  type: String,
12727
13059
  default: '取消'
@@ -13017,7 +13349,7 @@ const props$A = {
13017
13349
  default: "div"
13018
13350
  },
13019
13351
  fill: {
13020
- type: Boolean,
13352
+ type: [Boolean, Array],
13021
13353
  default: true
13022
13354
  }
13023
13355
  };
@@ -13031,6 +13363,13 @@ const Resizer = vue.defineComponent({
13031
13363
  const width = vue.ref(0);
13032
13364
  const height = vue.ref(0);
13033
13365
  const current = vue.ref();
13366
+ const classes = vue.computed(() => {
13367
+ const v = Array.isArray(props.fill) ? props.fill : [props.fill, props.fill];
13368
+ return {
13369
+ "is-fill-width": v[0],
13370
+ "is-fill-height": v[1]
13371
+ };
13372
+ });
13034
13373
  const currentExposed = vue.computed(() => {
13035
13374
  return {
13036
13375
  height: height.value,
@@ -13081,7 +13420,7 @@ const Resizer = vue.defineComponent({
13081
13420
  props.tag,
13082
13421
  {
13083
13422
  ref: current,
13084
- class: ["vc-resizer", { "is-fill": props.fill }]
13423
+ class: ["vc-resizer", classes.value]
13085
13424
  },
13086
13425
  slots.default?.(currentExposed.value)
13087
13426
  );
@@ -14300,7 +14639,7 @@ const OptionGroup = /* @__PURE__ */ vue.defineComponent({
14300
14639
  const COMPONENT_NAME$H = 'vc-select';
14301
14640
  const Select = /* @__PURE__ */ vue.defineComponent({
14302
14641
  name: COMPONENT_NAME$H,
14303
- props: props$19,
14642
+ props: props$1a,
14304
14643
  emits: ['ready', 'close', 'visible-change', 'clear', 'change', 'update:modelValue'],
14305
14644
  setup(props, {
14306
14645
  emit,
@@ -16011,7 +16350,7 @@ const props$j = {
16011
16350
  },
16012
16351
  scrollerOptions: Object,
16013
16352
  renderEmpty: Function,
16014
- renderFinish: Function,
16353
+ renderComplete: Function,
16015
16354
  renderLoading: Function,
16016
16355
  renderPlaceholder: Function,
16017
16356
  renderRefresh: Function
@@ -16045,9 +16384,9 @@ const ScrollState = /* @__PURE__ */ vue.defineComponent({
16045
16384
  }, [vue.createVNode(Spin, {
16046
16385
  "size": 20
16047
16386
  }, null)]))]), owner.isEnd.value && (owner.data.length ? vue.createVNode("div", {
16048
- "class": "vc-recycle-list__finish"
16049
- }, [slots.finish?.() || owner.renderer.value.finish ? vue.createVNode(Customer, {
16050
- "render": owner.renderer.value.finish
16387
+ "class": "vc-recycle-list__complete"
16388
+ }, [slots.complete?.() || owner.renderer.value.complete ? vue.createVNode(Customer, {
16389
+ "render": owner.renderer.value.complete
16051
16390
  }, null) : vue.createVNode("div", {
16052
16391
  "class": "vc-recycle-list__center"
16053
16392
  }, [vue.createTextVNode("\u5DF2\u5168\u90E8\u52A0\u8F7D~")])]) : vue.createVNode("div", {
@@ -16343,7 +16682,7 @@ const RecycleList = /* @__PURE__ */ vue.defineComponent({
16343
16682
  refresh: props.renderRefresh || globalProps.renderRefresh,
16344
16683
  placeholder: props.renderPlaceholder || globalProps.renderPlaceholder,
16345
16684
  loading: props.renderLoading || globalProps.renderLoading,
16346
- finish: props.renderFinish || globalProps.renderFinish,
16685
+ complete: props.renderComplete || globalProps.renderComplete,
16347
16686
  empty: props.renderEmpty || globalProps.renderEmpty
16348
16687
  };
16349
16688
  });
@@ -16398,26 +16737,22 @@ const RecycleList = /* @__PURE__ */ vue.defineComponent({
16398
16737
  const index$ = rebuildDataIndexMap.value[index];
16399
16738
  typeof index$ === 'undefined' ? rebuildData.value.unshift(node) : rebuildData.value[index$] = node;
16400
16739
  };
16401
- // 更新item.size
16402
16740
  const refreshItemSize = index => {
16403
16741
  const current = props.inverted ? rebuildData.value[rebuildDataIndexMap.value[index]] : rebuildData.value[index];
16404
- if (!current) return; // 受到`removeUnusedPlaceholders`影响,无效的会被回收
16405
16742
 
16406
- const oldSize = current.size;
16743
+ // 受到`removeUnusedPlaceholders`影响,无效的会被回收
16744
+ if (!current) return;
16745
+ const original = Object.assign({}, current);
16407
16746
  const dom = preloads.value[index] || curloads.value[props.inverted ? index : index - firstItemIndex.value];
16408
16747
  if (dom) {
16409
16748
  current.size = dom[K.offsetSize] || placeholderSize.value;
16410
16749
  } else if (current) {
16411
16750
  current.size = placeholderSize.value;
16412
16751
  }
16413
-
16414
- // 这样的考虑欠佳,待优化
16415
- if (oldSize !== current.size) {
16416
- emit('row-resize', {
16417
- index: current.id,
16418
- size: current.size
16419
- });
16420
- }
16752
+ return {
16753
+ original,
16754
+ changed: current
16755
+ };
16421
16756
  };
16422
16757
  const refreshItemPosition = () => {
16423
16758
  const sizes = Array.from({
@@ -16487,18 +16822,24 @@ const RecycleList = /* @__PURE__ */ vue.defineComponent({
16487
16822
  const refreshLayout = async (start, end) => {
16488
16823
  isRefreshLayout = 1;
16489
16824
  const promiseTasks = [];
16825
+ const resizeChanges = [];
16490
16826
  let item;
16491
16827
  for (let i = start; i < end; i++) {
16492
16828
  item = props.inverted ? rebuildData.value[rebuildDataIndexMap.value[i]] : rebuildData.value[i];
16493
- if (item && item.loaded) {
16494
- continue;
16495
- }
16829
+ if (item && item.loaded) continue;
16496
16830
  setItemData(i, originalData[i]);
16497
- promiseTasks.push(vue.nextTick(() => refreshItemSize(i)));
16831
+ promiseTasks.push(vue.nextTick(() => {
16832
+ const e = refreshItemSize(i);
16833
+ e && resizeChanges.push(e.changed);
16834
+ }));
16498
16835
  }
16499
16836
  await Promise.all(promiseTasks);
16500
16837
  refreshItemPosition();
16501
16838
  setFirstItemIndex();
16839
+ resizeChanges.length > 0 && emit('row-resize', resizeChanges.map(i => ({
16840
+ size: i.size,
16841
+ index: i.id
16842
+ })));
16502
16843
  interrupter.next();
16503
16844
  isRefreshLayout = 0;
16504
16845
  };
@@ -18213,11 +18554,19 @@ const NormalList = /* @__PURE__ */ vue.defineComponent({
18213
18554
  emit,
18214
18555
  slots
18215
18556
  }) {
18557
+ let resizeChanges = [];
18558
+ const emitChanges = () => {
18559
+ if (resizeChanges.length > 0) {
18560
+ emit('row-resize', resizeChanges);
18561
+ resizeChanges = [];
18562
+ }
18563
+ };
18216
18564
  const handleResize = (e, index) => {
18217
- emit('row-resize', {
18565
+ resizeChanges.push({
18218
18566
  index,
18219
18567
  size: e.height
18220
18568
  });
18569
+ vue.nextTick(emitChanges);
18221
18570
  };
18222
18571
  return () => {
18223
18572
  return props.data.map((mergeData, index) => {
@@ -18576,22 +18925,25 @@ const TableBody = /* @__PURE__ */ vue.defineComponent({
18576
18925
  return renderRow(row, row.index);
18577
18926
  })]);
18578
18927
  };
18579
- const handleMergeRowResize = v => {
18928
+ const handleMergeRowResize = changes => {
18580
18929
  if (table.props.rowHeight) return;
18581
- states.list[v.index].rows.forEach(row => {
18582
- const old = row.heightMap[props.fixed || 'main'];
18583
- if (old === v.size) return;
18584
- row.heightMap[props.fixed || 'main'] = v.size;
18585
- const heights = [row.heightMap.main];
18586
- if (states.leftFixedCount) {
18587
- heights.push(row.heightMap.left);
18588
- }
18589
- if (states.rightFixedCount) {
18590
- heights.push(row.heightMap.right);
18591
- }
18592
- if (heights.every(i => !!i)) {
18593
- row.height = Math.max(row.heightMap.left, row.heightMap.main, row.heightMap.right) || '';
18594
- }
18930
+ // 批量处理所有尺寸变化
18931
+ changes.forEach(v => {
18932
+ states.list[v.index].rows.forEach(row => {
18933
+ const old = row.heightMap[props.fixed || 'main'];
18934
+ if (old === v.size) return;
18935
+ row.heightMap[props.fixed || 'main'] = v.size;
18936
+ const heights = [row.heightMap.main];
18937
+ if (states.leftFixedCount) {
18938
+ heights.push(row.heightMap.left);
18939
+ }
18940
+ if (states.rightFixedCount) {
18941
+ heights.push(row.heightMap.right);
18942
+ }
18943
+ if (heights.every(i => !!i)) {
18944
+ row.height = Math.max(row.heightMap.left, row.heightMap.main, row.heightMap.right) || '';
18945
+ }
18946
+ });
18595
18947
  });
18596
18948
  };
18597
18949
  expose({
@@ -21366,7 +21718,7 @@ const inputKeys = [
21366
21718
  "controllable"
21367
21719
  ];
21368
21720
  const props$8 = {
21369
- ...lodashEs.pick(props$1g, inputKeys),
21721
+ ...lodashEs.pick(props$1h, inputKeys),
21370
21722
  wrap: {
21371
21723
  type: String,
21372
21724
  validator: (v) => /(soft|hard)/.test(v),
@@ -21537,7 +21889,6 @@ const Theme = vue.defineComponent({
21537
21889
  setup(props, { slots }) {
21538
21890
  const themeId = Utils__namespace.getUid("vc-theme");
21539
21891
  const setVar = (name) => {
21540
- /* istanbul ignore next -- @preserve */
21541
21892
  if (!name) return "";
21542
21893
  const globals = VcInstance.options.Theme?.variables;
21543
21894
  return props.variables?.[name] || globals?.[name] || `var(--${name})`;
@@ -21573,7 +21924,6 @@ const Theme = vue.defineComponent({
21573
21924
  }
21574
21925
  });
21575
21926
  const setCss = (attrs) => {
21576
- /* istanbul ignore next -- @preserve */
21577
21927
  if (!attrs || typeof attrs === "string") return attrs;
21578
21928
  let content = "";
21579
21929
  Object.entries(attrs).forEach(([key, val]) => {
@@ -21582,7 +21932,6 @@ const Theme = vue.defineComponent({
21582
21932
  return content;
21583
21933
  };
21584
21934
  const resetPseudo = () => {
21585
- /* istanbul ignore next -- @preserve */
21586
21935
  if (typeof document === "undefined") return;
21587
21936
  const { pseudo } = props;
21588
21937
  if (!pseudo) return Load__namespace.removeStyle(themeId);
@@ -22962,7 +23311,7 @@ const treeNodeContentKeys = [
22962
23311
  "allowDispatch"
22963
23312
  ];
22964
23313
  const props$2 = {
22965
- ...lodashEs.pick(props$19, selectKeys),
23314
+ ...lodashEs.pick(props$1a, selectKeys),
22966
23315
  ...lodashEs.pick(props$3, treeNodeContentKeys),
22967
23316
  // 暂不支持,仅作为默认值
22968
23317
  max: {
@@ -23235,7 +23584,7 @@ const treeKeys = [
23235
23584
  "renderNodeLabel"
23236
23585
  ];
23237
23586
  const props$1 = {
23238
- ...props$19,
23587
+ ...props$1a,
23239
23588
  ...lodashEs.pick(props$2, treeKeys)
23240
23589
  };
23241
23590
 
@@ -24044,6 +24393,7 @@ exports.Collapse = Collapse;
24044
24393
  exports.CollapseItem = CollapseItem;
24045
24394
  exports.ColorPicker = ColorPicker;
24046
24395
  exports.Countdown = Countdown;
24396
+ exports.Counter = Counter;
24047
24397
  exports.Customer = Customer;
24048
24398
  exports.DatePicker = DatePicker;
24049
24399
  exports.Debounce = Debounce;
@@ -24088,6 +24438,7 @@ exports.MCollapse = MCollapse;
24088
24438
  exports.MCollapseItem = MCollapseItem;
24089
24439
  exports.MColorPicker = MColorPicker;
24090
24440
  exports.MCountdown = MCountdown;
24441
+ exports.MCounter = MCounter;
24091
24442
  exports.MCustomer = MCustomer;
24092
24443
  exports.MDatePicker = MDatePicker;
24093
24444
  exports.MDebounce = Debounce;