@deot/vc-components 1.0.58 → 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
@@ -30,31 +30,38 @@ const VARIABLES = {};
30
30
 
31
31
  const nil = void 0;
32
32
  const defaults$2 = {
33
- UploadPicker: {
34
- enhancer: nil
35
- },
36
33
  Editor: {
37
34
  options: nil,
38
35
  enhancer: nil
39
36
  },
40
- Theme: {
41
- variables: VARIABLES
42
- },
43
37
  Portal: {
44
38
  install: nil
45
39
  },
46
- Upload: {
47
- onRequest: nil,
48
- onResponse: nil,
49
- onMessage: nil
50
- },
51
- TableColumn: {
52
- line: nil
40
+ RecycleList: {
41
+ renderRefresh: nil,
42
+ renderPlaceholder: nil,
43
+ renderLoading: nil,
44
+ renderComplete: nil,
45
+ renderEmpty: nil
53
46
  },
54
47
  Snapshot: {
55
48
  options: nil,
56
49
  source: nil,
57
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
58
65
  }
59
66
  };
60
67
 
@@ -83,7 +90,7 @@ class Instance {
83
90
  }
84
91
  const VcInstance = new Instance();
85
92
 
86
- const props$1t = {
93
+ const props$1u = {
87
94
  tag: {
88
95
  type: String,
89
96
  default: "div"
@@ -92,10 +99,10 @@ const props$1t = {
92
99
 
93
100
  /** @jsxImportSource vue */
94
101
 
95
- const COMPONENT_NAME$29 = 'vc-action-sheet';
102
+ const COMPONENT_NAME$2a = 'vc-action-sheet';
96
103
  const ActionSheet = /* @__PURE__ */ defineComponent({
97
- name: COMPONENT_NAME$29,
98
- props: props$1t,
104
+ name: COMPONENT_NAME$2a,
105
+ props: props$1u,
99
106
  setup(props, {
100
107
  slots
101
108
  }) {
@@ -109,7 +116,7 @@ const ActionSheet = /* @__PURE__ */ defineComponent({
109
116
 
110
117
  const MActionSheet = ActionSheet;
111
118
 
112
- const props$1s = {
119
+ const props$1t = {
113
120
  modelValue: {
114
121
  type: Boolean,
115
122
  default: false
@@ -171,11 +178,11 @@ const isWheel = (el) => {
171
178
 
172
179
  /** @jsxImportSource vue */
173
180
 
174
- const COMPONENT_NAME$28 = 'vc-affix';
181
+ const COMPONENT_NAME$29 = 'vc-affix';
175
182
  const Affix = /* @__PURE__ */ defineComponent({
176
- name: COMPONENT_NAME$28,
183
+ name: COMPONENT_NAME$29,
177
184
  emits: ['update:modelValue'],
178
- props: props$1s,
185
+ props: props$1t,
179
186
  setup(props, {
180
187
  slots,
181
188
  expose,
@@ -341,7 +348,7 @@ const Affix = /* @__PURE__ */ defineComponent({
341
348
 
342
349
  const MAffix = Affix;
343
350
 
344
- const props$1r = {
351
+ const props$1s = {
345
352
  modelValue: {
346
353
  type: Boolean,
347
354
  default: true
@@ -368,7 +375,7 @@ const props$1r = {
368
375
  }
369
376
  };
370
377
 
371
- const props$1q = {
378
+ const props$1r = {
372
379
  type: String,
373
380
  inherit: {
374
381
  type: Boolean,
@@ -505,10 +512,10 @@ const IconManager = new Manager();
505
512
 
506
513
  /** @jsxImportSource vue */
507
514
 
508
- const COMPONENT_NAME$27 = 'vc-icon';
515
+ const COMPONENT_NAME$28 = 'vc-icon';
509
516
  const Icon = /* @__PURE__ */ defineComponent({
510
- name: COMPONENT_NAME$27,
511
- props: props$1q,
517
+ name: COMPONENT_NAME$28,
518
+ props: props$1r,
512
519
  setup(props) {
513
520
  const viewBox = ref('0 0 1024 1024');
514
521
  const path = ref([]);
@@ -541,7 +548,7 @@ const Icon = /* @__PURE__ */ defineComponent({
541
548
  }
542
549
  });
543
550
 
544
- const props$1p = {
551
+ const props$1q = {
545
552
  /**
546
553
  * 进入/离开持续时间
547
554
  * {enter: 300, leave: 300}
@@ -706,10 +713,10 @@ const useTransition = () => {
706
713
  };
707
714
  };
708
715
 
709
- const COMPONENT_NAME$26 = "vc-transition";
716
+ const COMPONENT_NAME$27 = "vc-transition";
710
717
  const Transition = defineComponent({
711
- name: COMPONENT_NAME$26,
712
- props: props$1p,
718
+ name: COMPONENT_NAME$27,
719
+ props: props$1q,
713
720
  // 当不声明emits的情况下,事件存在于attrs中
714
721
  inheritAttrs: false,
715
722
  setup(props, { slots, attrs }) {
@@ -729,10 +736,10 @@ const Transition = defineComponent({
729
736
  }
730
737
  });
731
738
 
732
- const COMPONENT_NAME$25 = "vc-transition-collapse";
739
+ const COMPONENT_NAME$26 = "vc-transition-collapse";
733
740
  const TransitionCollapse = defineComponent({
734
- name: COMPONENT_NAME$25,
735
- props: props$1p,
741
+ name: COMPONENT_NAME$26,
742
+ props: props$1q,
736
743
  // 当不声明emits的情况下,事件存在于attrs中
737
744
  inheritAttrs: false,
738
745
  setup(props, { slots, attrs: _attrs }) {
@@ -846,11 +853,11 @@ const TransitionCollapse = defineComponent({
846
853
  }
847
854
  });
848
855
 
849
- const COMPONENT_NAME$24 = "vc-transition-fade";
856
+ const COMPONENT_NAME$25 = "vc-transition-fade";
850
857
  const TransitionFade = defineComponent({
851
- name: COMPONENT_NAME$24,
858
+ name: COMPONENT_NAME$25,
852
859
  props: {
853
- ...props$1p,
860
+ ...props$1q,
854
861
  // inheritAttrs必须是false
855
862
  style: {
856
863
  type: Object,
@@ -883,11 +890,11 @@ const TransitionFade = defineComponent({
883
890
  }
884
891
  });
885
892
 
886
- const COMPONENT_NAME$23 = "vc-transition-scale";
893
+ const COMPONENT_NAME$24 = "vc-transition-scale";
887
894
  const TransitionScale = defineComponent({
888
- name: COMPONENT_NAME$23,
895
+ name: COMPONENT_NAME$24,
889
896
  props: {
890
- ...props$1p,
897
+ ...props$1q,
891
898
  mode: {
892
899
  type: String,
893
900
  default: "both",
@@ -925,11 +932,11 @@ const TransitionScale = defineComponent({
925
932
  }
926
933
  });
927
934
 
928
- const COMPONENT_NAME$22 = "vc-transition-slide";
935
+ const COMPONENT_NAME$23 = "vc-transition-slide";
929
936
  const TransitionSlide = defineComponent({
930
- name: COMPONENT_NAME$22,
937
+ name: COMPONENT_NAME$23,
931
938
  props: {
932
- ...props$1p,
939
+ ...props$1q,
933
940
  mode: {
934
941
  type: String,
935
942
  default: "left",
@@ -967,11 +974,11 @@ const TransitionSlide = defineComponent({
967
974
  }
968
975
  });
969
976
 
970
- const COMPONENT_NAME$21 = "vc-transition-zoom";
977
+ const COMPONENT_NAME$22 = "vc-transition-zoom";
971
978
  const TransitionZoom = defineComponent({
972
- name: COMPONENT_NAME$21,
979
+ name: COMPONENT_NAME$22,
973
980
  props: {
974
- ...props$1p,
981
+ ...props$1q,
975
982
  mode: {
976
983
  type: String,
977
984
  default: "x",
@@ -1011,7 +1018,7 @@ const TransitionZoom = defineComponent({
1011
1018
 
1012
1019
  /** @jsxImportSource vue */
1013
1020
 
1014
- const COMPONENT_NAME$20 = 'vc-alert';
1021
+ const COMPONENT_NAME$21 = 'vc-alert';
1015
1022
 
1016
1023
  // [color, borderColor, backgroundColor], -> CSS
1017
1024
  const THEME_MAP = {
@@ -1021,8 +1028,8 @@ const THEME_MAP = {
1021
1028
  warning: ['#ffbf00', '#ffe58f', '#fffbe6']
1022
1029
  };
1023
1030
  const Alert = /* @__PURE__ */ defineComponent({
1024
- name: COMPONENT_NAME$20,
1025
- props: props$1r,
1031
+ name: COMPONENT_NAME$21,
1032
+ props: props$1s,
1026
1033
  setup(props, {
1027
1034
  slots,
1028
1035
  emit
@@ -1111,7 +1118,7 @@ const Alert = /* @__PURE__ */ defineComponent({
1111
1118
 
1112
1119
  const MAlert = Alert;
1113
1120
 
1114
- const props$1o = {
1121
+ const props$1p = {
1115
1122
  // canvas配置参数
1116
1123
  options: Object,
1117
1124
  width: {
@@ -1127,10 +1134,10 @@ const props$1o = {
1127
1134
  /** @jsxImportSource vue */
1128
1135
 
1129
1136
  const isTouch = typeof document !== 'undefined' && 'ontouchend' in document;
1130
- const COMPONENT_NAME$1$ = 'vc-artboard';
1137
+ const COMPONENT_NAME$20 = 'vc-artboard';
1131
1138
  const Artboard = /* @__PURE__ */ defineComponent({
1132
- name: COMPONENT_NAME$1$,
1133
- props: props$1o,
1139
+ name: COMPONENT_NAME$20,
1140
+ props: props$1p,
1134
1141
  setup(props, {
1135
1142
  emit,
1136
1143
  expose
@@ -1333,7 +1340,7 @@ const Artboard = /* @__PURE__ */ defineComponent({
1333
1340
 
1334
1341
  const MArtboard = Artboard;
1335
1342
 
1336
- const props$1n = {
1343
+ const props$1o = {
1337
1344
  size: {
1338
1345
  type: Number,
1339
1346
  default: 28
@@ -1357,10 +1364,10 @@ const props$1n = {
1357
1364
 
1358
1365
  /** @jsxImportSource vue */
1359
1366
 
1360
- const COMPONENT_NAME$1_ = 'vc-spin';
1367
+ const COMPONENT_NAME$1$ = 'vc-spin';
1361
1368
  const Spin = /* @__PURE__ */ defineComponent({
1362
- name: COMPONENT_NAME$1_,
1363
- props: props$1n,
1369
+ name: COMPONENT_NAME$1$,
1370
+ props: props$1o,
1364
1371
  setup(props, {
1365
1372
  slots
1366
1373
  }) {
@@ -1394,7 +1401,7 @@ const Spin = /* @__PURE__ */ defineComponent({
1394
1401
  }
1395
1402
  });
1396
1403
 
1397
- const props$1m = {
1404
+ const props$1n = {
1398
1405
  wait: {
1399
1406
  type: Number,
1400
1407
  default: 250
@@ -1410,10 +1417,10 @@ const props$1m = {
1410
1417
  exclude: RegExp
1411
1418
  };
1412
1419
 
1413
- const COMPONENT_NAME$1Z = "vc-debounce";
1420
+ const COMPONENT_NAME$1_ = "vc-debounce";
1414
1421
  const Debounce = defineComponent({
1415
- name: COMPONENT_NAME$1Z,
1416
- props: props$1m,
1422
+ name: COMPONENT_NAME$1_,
1423
+ props: props$1n,
1417
1424
  /**
1418
1425
  * 不声明emits使得事件被透传放入attrs中, 这样可以让所有的事件透传
1419
1426
  * 如事件onClick
@@ -1453,7 +1460,7 @@ const Debounce = defineComponent({
1453
1460
  }
1454
1461
  });
1455
1462
 
1456
- const props$1l = {
1463
+ const props$1m = {
1457
1464
  tag: {
1458
1465
  type: String,
1459
1466
  default: "button"
@@ -1485,11 +1492,11 @@ const props$1l = {
1485
1492
 
1486
1493
  /** @jsxImportSource vue */
1487
1494
 
1488
- const COMPONENT_NAME$1Y = 'vc-button';
1495
+ const COMPONENT_NAME$1Z = 'vc-button';
1489
1496
  const Button = /* @__PURE__ */ defineComponent({
1490
- name: COMPONENT_NAME$1Y,
1497
+ name: COMPONENT_NAME$1Z,
1491
1498
  emits: ['click'],
1492
- props: props$1l,
1499
+ props: props$1m,
1493
1500
  setup(props, {
1494
1501
  slots
1495
1502
  }) {
@@ -1550,7 +1557,7 @@ const Button = /* @__PURE__ */ defineComponent({
1550
1557
  }
1551
1558
  });
1552
1559
 
1553
- const props$1k = {
1560
+ const props$1l = {
1554
1561
  vertical: {
1555
1562
  type: Boolean,
1556
1563
  default: false
@@ -1571,10 +1578,10 @@ const props$1k = {
1571
1578
 
1572
1579
  /** @jsxImportSource vue */
1573
1580
 
1574
- const COMPONENT_NAME$1X = 'vc-button-group';
1581
+ const COMPONENT_NAME$1Y = 'vc-button-group';
1575
1582
  const ButtonGroup = /* @__PURE__ */ defineComponent({
1576
- name: COMPONENT_NAME$1X,
1577
- props: props$1k,
1583
+ name: COMPONENT_NAME$1Y,
1584
+ props: props$1l,
1578
1585
  setup(props, {
1579
1586
  slots
1580
1587
  }) {
@@ -1598,7 +1605,7 @@ const ButtonGroup = /* @__PURE__ */ defineComponent({
1598
1605
  const MButton = Button;
1599
1606
  const MButtonGroup = ButtonGroup;
1600
1607
 
1601
- const props$1j = {
1608
+ const props$1k = {
1602
1609
  tag: {
1603
1610
  type: String,
1604
1611
  default: "div"
@@ -1607,10 +1614,10 @@ const props$1j = {
1607
1614
 
1608
1615
  /** @jsxImportSource vue */
1609
1616
 
1610
- const COMPONENT_NAME$1W = 'vc-calendar';
1617
+ const COMPONENT_NAME$1X = 'vc-calendar';
1611
1618
  const Calendar = /* @__PURE__ */ defineComponent({
1612
- name: COMPONENT_NAME$1W,
1613
- props: props$1j,
1619
+ name: COMPONENT_NAME$1X,
1620
+ props: props$1k,
1614
1621
  setup(props, {
1615
1622
  slots
1616
1623
  }) {
@@ -1624,7 +1631,7 @@ const Calendar = /* @__PURE__ */ defineComponent({
1624
1631
 
1625
1632
  const MCalendar = Calendar;
1626
1633
 
1627
- const props$1i = {
1634
+ const props$1j = {
1628
1635
  border: {
1629
1636
  type: Boolean,
1630
1637
  default: true
@@ -1647,10 +1654,10 @@ const props$1i = {
1647
1654
 
1648
1655
  /** @jsxImportSource vue */
1649
1656
 
1650
- const COMPONENT_NAME$1V = 'vc-card';
1657
+ const COMPONENT_NAME$1W = 'vc-card';
1651
1658
  const Card = /* @__PURE__ */ defineComponent({
1652
- name: COMPONENT_NAME$1V,
1653
- props: props$1i,
1659
+ name: COMPONENT_NAME$1W,
1660
+ props: props$1j,
1654
1661
  setup(props, {
1655
1662
  slots
1656
1663
  }) {
@@ -1676,7 +1683,7 @@ const Card = /* @__PURE__ */ defineComponent({
1676
1683
 
1677
1684
  const MCard = Card;
1678
1685
 
1679
- const props$1h = {
1686
+ const props$1i = {
1680
1687
  tag: {
1681
1688
  type: String,
1682
1689
  default: "div"
@@ -1685,10 +1692,10 @@ const props$1h = {
1685
1692
 
1686
1693
  /** @jsxImportSource vue */
1687
1694
 
1688
- const COMPONENT_NAME$1U = 'vc-carousel';
1695
+ const COMPONENT_NAME$1V = 'vc-carousel';
1689
1696
  const Carousel = /* @__PURE__ */ defineComponent({
1690
- name: COMPONENT_NAME$1U,
1691
- props: props$1h,
1697
+ name: COMPONENT_NAME$1V,
1698
+ props: props$1i,
1692
1699
  setup(props, {
1693
1700
  slots
1694
1701
  }) {
@@ -1729,7 +1736,7 @@ const getSelectedData = (value = [], source = []) => {
1729
1736
  });
1730
1737
  };
1731
1738
 
1732
- const props$1g = {
1739
+ const props$1h = {
1733
1740
  // Array, 作为select等数组存放临时值
1734
1741
  modelValue: [String, Number, Array],
1735
1742
  disabled: {
@@ -1981,12 +1988,12 @@ const useNativeEmitter = (input, expose) => {
1981
1988
 
1982
1989
  /** @jsxImportSource vue */
1983
1990
 
1984
- const COMPONENT_NAME$1T = 'vc-input';
1991
+ const COMPONENT_NAME$1U = 'vc-input';
1985
1992
  const Input = /* @__PURE__ */ defineComponent({
1986
- name: COMPONENT_NAME$1T,
1993
+ name: COMPONENT_NAME$1U,
1987
1994
  inheritAttrs: false,
1988
1995
  props: {
1989
- ...props$1g,
1996
+ ...props$1h,
1990
1997
  indicator: {
1991
1998
  type: [Boolean, Object],
1992
1999
  default: false
@@ -2088,8 +2095,8 @@ const Input = /* @__PURE__ */ defineComponent({
2088
2095
  }
2089
2096
  });
2090
2097
 
2091
- const props$1f = {
2092
- ...props$1g,
2098
+ const props$1g = {
2099
+ ...props$1h,
2093
2100
  min: {
2094
2101
  type: Number,
2095
2102
  default: 0
@@ -2318,10 +2325,10 @@ const useInputNumber = () => {
2318
2325
 
2319
2326
  /** @jsxImportSource vue */
2320
2327
 
2321
- const COMPONENT_NAME$1S = 'vc-input-number';
2328
+ const COMPONENT_NAME$1T = 'vc-input-number';
2322
2329
  const InputNumber = /* @__PURE__ */ defineComponent({
2323
- name: COMPONENT_NAME$1S,
2324
- props: props$1f,
2330
+ name: COMPONENT_NAME$1T,
2331
+ props: props$1g,
2325
2332
  inheritAttrs: false,
2326
2333
  setup(props, {
2327
2334
  slots,
@@ -2374,8 +2381,8 @@ const InputNumber = /* @__PURE__ */ defineComponent({
2374
2381
  }
2375
2382
  });
2376
2383
 
2377
- const props$1e = {
2378
- ...props$1g,
2384
+ const props$1f = {
2385
+ ...props$1h,
2379
2386
  enterText: {
2380
2387
  type: [Boolean, String],
2381
2388
  default: true
@@ -2384,10 +2391,10 @@ const props$1e = {
2384
2391
 
2385
2392
  /** @jsxImportSource vue */
2386
2393
 
2387
- const COMPONENT_NAME$1R = 'vc-input-search';
2394
+ const COMPONENT_NAME$1S = 'vc-input-search';
2388
2395
  const InputSearch = /* @__PURE__ */ defineComponent({
2389
- name: COMPONENT_NAME$1R,
2390
- props: props$1e,
2396
+ name: COMPONENT_NAME$1S,
2397
+ props: props$1f,
2391
2398
  inheritAttrs: false,
2392
2399
  setup(props, {
2393
2400
  emit,
@@ -2419,7 +2426,7 @@ const InputSearch = /* @__PURE__ */ defineComponent({
2419
2426
  }
2420
2427
  });
2421
2428
 
2422
- const props$1d = {
2429
+ const props$1e = {
2423
2430
  modelValue: Boolean,
2424
2431
  animation: String,
2425
2432
  placement: {
@@ -2498,7 +2505,7 @@ const wrapperKeys = [
2498
2505
  "autoWidth",
2499
2506
  "always"
2500
2507
  ];
2501
- const props$1c = {
2508
+ const props$1d = {
2502
2509
  trigger: {
2503
2510
  type: String,
2504
2511
  default: "hover",
@@ -2516,7 +2523,7 @@ const props$1c = {
2516
2523
  type: Boolean,
2517
2524
  default: true
2518
2525
  },
2519
- ...pick(props$1d, wrapperKeys)
2526
+ ...pick(props$1e, wrapperKeys)
2520
2527
  };
2521
2528
 
2522
2529
  const EXTRA_DISTANCE = 4;
@@ -2772,17 +2779,17 @@ const usePos = () => {
2772
2779
  };
2773
2780
  };
2774
2781
 
2775
- const props$1b = {
2782
+ const props$1c = {
2776
2783
  render: {
2777
2784
  type: Function,
2778
2785
  default: () => null
2779
2786
  }
2780
2787
  };
2781
2788
 
2782
- const COMPONENT_NAME$1Q = "vc-customer";
2789
+ const COMPONENT_NAME$1R = "vc-customer";
2783
2790
  const Customer = defineComponent({
2784
- name: COMPONENT_NAME$1Q,
2785
- props: props$1b,
2791
+ name: COMPONENT_NAME$1R,
2792
+ props: props$1c,
2786
2793
  setup(props, context) {
2787
2794
  return () => h(() => {
2788
2795
  return props.render(context.attrs, context);
@@ -2857,7 +2864,7 @@ class PortalLeaf {
2857
2864
  }
2858
2865
  }
2859
2866
 
2860
- const COMPONENT_NAME$1P = "vc-portal";
2867
+ const COMPONENT_NAME$1Q = "vc-portal";
2861
2868
  class Portal {
2862
2869
  /**
2863
2870
  * 清理Portals类型组件
@@ -2907,7 +2914,7 @@ class Portal {
2907
2914
  this.wrapper = wrapper;
2908
2915
  this.globalOptions = {
2909
2916
  ...options,
2910
- name: options?.name || wrapper.name || Utils.getUid(COMPONENT_NAME$1P)
2917
+ name: options?.name || wrapper.name || Utils.getUid(COMPONENT_NAME$1Q)
2911
2918
  };
2912
2919
  }
2913
2920
  popup(propsData, options) {
@@ -3005,7 +3012,7 @@ class Portal {
3005
3012
  ...rest
3006
3013
  } = options;
3007
3014
  let useAllNodes = fragment;
3008
- const name = multiple ? `${name$}__${Utils.getUid(COMPONENT_NAME$1P)}` : name$;
3015
+ const name = multiple ? `${name$}__${Utils.getUid(COMPONENT_NAME$1Q)}` : name$;
3009
3016
  const container = document.createElement(tag);
3010
3017
  const root = typeof el === "object" ? el : document.querySelector(el || "body");
3011
3018
  !alive && Portal.leafs.get(name)?.destroy();
@@ -3039,7 +3046,7 @@ class Portal {
3039
3046
  } else {
3040
3047
  const wrapper = this.wrapper;
3041
3048
  const app = createApp({
3042
- name: COMPONENT_NAME$1P,
3049
+ name: COMPONENT_NAME$1Q,
3043
3050
  parent,
3044
3051
  setup() {
3045
3052
  if (alive) {
@@ -3143,21 +3150,21 @@ class Portal {
3143
3150
  }
3144
3151
  }
3145
3152
 
3146
- const props$1a = {
3153
+ const props$1b = {
3147
3154
  tag: {
3148
3155
  type: String,
3149
3156
  default: "div"
3150
3157
  }
3151
3158
  };
3152
3159
 
3153
- const COMPONENT_NAME$1O = 'vc-portal-view';
3160
+ const COMPONENT_NAME$1P = 'vc-portal-view';
3154
3161
 
3155
3162
  /**
3156
3163
  * 写法不同,但与vue@2.x 保持一致
3157
3164
  */
3158
3165
  const PortalView = /* @__PURE__ */ defineComponent({
3159
- name: COMPONENT_NAME$1O,
3160
- props: props$1a,
3166
+ name: COMPONENT_NAME$1P,
3167
+ props: props$1b,
3161
3168
  setup(props, {
3162
3169
  slots
3163
3170
  }) {
@@ -3176,10 +3183,10 @@ const PortalView = /* @__PURE__ */ defineComponent({
3176
3183
 
3177
3184
  /** @jsxImportSource vue */
3178
3185
 
3179
- const COMPONENT_NAME$1N = 'vc-popover-wrapper';
3186
+ const COMPONENT_NAME$1O = 'vc-popover-wrapper';
3180
3187
  const PopoverWrapper = /* @__PURE__ */ defineComponent({
3181
- name: COMPONENT_NAME$1N,
3182
- props: props$1d,
3188
+ name: COMPONENT_NAME$1O,
3189
+ props: props$1e,
3183
3190
  emits: ['portal-fulfilled', 'close'],
3184
3191
  setup(props, {
3185
3192
  emit,
@@ -3436,10 +3443,10 @@ const PopoverPortal = new Portal(PopoverWrapper, {
3436
3443
 
3437
3444
  /** @jsxImportSource vue */
3438
3445
 
3439
- const COMPONENT_NAME$1M = 'vc-popover';
3446
+ const COMPONENT_NAME$1N = 'vc-popover';
3440
3447
  const Popover$1 = /* @__PURE__ */ defineComponent({
3441
- name: COMPONENT_NAME$1M,
3442
- props: props$1c,
3448
+ name: COMPONENT_NAME$1N,
3449
+ props: props$1d,
3443
3450
  emits: ['update:modelValue', 'visible-change', 'ready', 'close'],
3444
3451
  setup(props, {
3445
3452
  emit,
@@ -3582,9 +3589,9 @@ const Popover = Object.assign(Popover$1, {
3582
3589
 
3583
3590
  /** @jsxImportSource vue */
3584
3591
 
3585
- const COMPONENT_NAME$1L = 'vc-cascader-column';
3592
+ const COMPONENT_NAME$1M = 'vc-cascader-column';
3586
3593
  const CascaderColumn = /* @__PURE__ */ defineComponent({
3587
- name: COMPONENT_NAME$1L,
3594
+ name: COMPONENT_NAME$1M,
3588
3595
  emits: ['click', 'change'],
3589
3596
  props: {
3590
3597
  data: {
@@ -3702,9 +3709,9 @@ const popoverKeys$1 = [
3702
3709
  "portal",
3703
3710
  "portalClass"
3704
3711
  ];
3705
- const props$19 = {
3706
- ...pick(props$1c, popoverKeys$1),
3707
- ...pick(props$1g, inputKeys$2),
3712
+ const props$1a = {
3713
+ ...pick(props$1d, popoverKeys$1),
3714
+ ...pick(props$1h, inputKeys$2),
3708
3715
  renderOption: [Function],
3709
3716
  renderOptionGroup: [Function],
3710
3717
  data: {
@@ -3770,8 +3777,8 @@ const props$19 = {
3770
3777
  label: String
3771
3778
  };
3772
3779
 
3773
- const props$18 = {
3774
- ...props$19,
3780
+ const props$19 = {
3781
+ ...props$1a,
3775
3782
  data: {
3776
3783
  type: Array,
3777
3784
  default: () => []
@@ -3792,11 +3799,11 @@ const props$18 = {
3792
3799
 
3793
3800
  /** @jsxImportSource vue */
3794
3801
 
3795
- const COMPONENT_NAME$1K = 'vc-cascader';
3802
+ const COMPONENT_NAME$1L = 'vc-cascader';
3796
3803
  const Cascader = /* @__PURE__ */ defineComponent({
3797
- name: COMPONENT_NAME$1K,
3804
+ name: COMPONENT_NAME$1L,
3798
3805
  inheritAttrs: false,
3799
- props: props$18,
3806
+ props: props$19,
3800
3807
  emits: ['update:modelValue', 'visible-change', 'ready', 'change', 'close'],
3801
3808
  setup(props, {
3802
3809
  emit,
@@ -4132,7 +4139,7 @@ const EVENTS = [
4132
4139
  "contextmenu"
4133
4140
  ];
4134
4141
 
4135
- const props$17 = {
4142
+ const props$18 = {
4136
4143
  options: Object,
4137
4144
  pluginOptions: Object,
4138
4145
  theme: [String, Object],
@@ -4147,10 +4154,10 @@ const props$17 = {
4147
4154
 
4148
4155
  /** @jsxImportSource vue */
4149
4156
 
4150
- const COMPONENT_NAME$1J = 'vc-chart';
4157
+ const COMPONENT_NAME$1K = 'vc-chart';
4151
4158
  const Chart = /* @__PURE__ */ defineComponent({
4152
- name: COMPONENT_NAME$1J,
4153
- props: props$17,
4159
+ name: COMPONENT_NAME$1K,
4160
+ props: props$18,
4154
4161
  emits: [...EVENTS, 'ready'],
4155
4162
  setup(props, {
4156
4163
  emit,
@@ -4254,6 +4261,8 @@ const Chart = /* @__PURE__ */ defineComponent({
4254
4261
  }
4255
4262
  });
4256
4263
  });
4264
+
4265
+ // 如果存在内存泄漏,chart.value.getOption() 获取配置项,查看series参数等情况
4257
4266
  expose({
4258
4267
  chart,
4259
4268
  refresh
@@ -4270,7 +4279,7 @@ const Chart = /* @__PURE__ */ defineComponent({
4270
4279
 
4271
4280
  const MChart = Chart;
4272
4281
 
4273
- const props$16 = {
4282
+ const props$17 = {
4274
4283
  disabled: {
4275
4284
  type: Boolean,
4276
4285
  default: false
@@ -4386,10 +4395,10 @@ const useCheckbox = () => {
4386
4395
 
4387
4396
  /** @jsxImportSource vue */
4388
4397
 
4389
- const COMPONENT_NAME$1I = 'vc-checkbox';
4398
+ const COMPONENT_NAME$1J = 'vc-checkbox';
4390
4399
  const Checkbox = /* @__PURE__ */ defineComponent({
4391
- name: COMPONENT_NAME$1I,
4392
- props: props$16,
4400
+ name: COMPONENT_NAME$1J,
4401
+ props: props$17,
4393
4402
  emits: ['update:modelValue', 'change'],
4394
4403
  setup(props, {
4395
4404
  slots
@@ -4426,7 +4435,7 @@ const Checkbox = /* @__PURE__ */ defineComponent({
4426
4435
  }
4427
4436
  });
4428
4437
 
4429
- const props$15 = {
4438
+ const props$16 = {
4430
4439
  modelValue: {
4431
4440
  type: Array,
4432
4441
  default: () => []
@@ -4475,10 +4484,10 @@ const useCheckboxGroup = () => {
4475
4484
 
4476
4485
  /** @jsxImportSource vue */
4477
4486
 
4478
- const COMPONENT_NAME$1H = 'vc-checkbox-group';
4487
+ const COMPONENT_NAME$1I = 'vc-checkbox-group';
4479
4488
  const CheckboxGroup = /* @__PURE__ */ defineComponent({
4480
- name: COMPONENT_NAME$1H,
4481
- props: props$15,
4489
+ name: COMPONENT_NAME$1I,
4490
+ props: props$16,
4482
4491
  emits: ['update:modelValue', 'change'],
4483
4492
  setup(props, {
4484
4493
  slots
@@ -4495,10 +4504,10 @@ const CheckboxGroup = /* @__PURE__ */ defineComponent({
4495
4504
 
4496
4505
  /** @jsxImportSource vue */
4497
4506
 
4498
- const COMPONENT_NAME$1G = 'vcm-checkbox';
4507
+ const COMPONENT_NAME$1H = 'vcm-checkbox';
4499
4508
  const MCheckbox = /* @__PURE__ */ defineComponent({
4500
- name: COMPONENT_NAME$1G,
4501
- props: props$16,
4509
+ name: COMPONENT_NAME$1H,
4510
+ props: props$17,
4502
4511
  emits: ['update:modelValue', 'change'],
4503
4512
  setup(props, {
4504
4513
  slots
@@ -4537,10 +4546,10 @@ const MCheckbox = /* @__PURE__ */ defineComponent({
4537
4546
 
4538
4547
  /** @jsxImportSource vue */
4539
4548
 
4540
- const COMPONENT_NAME$1F = 'vcm-checkbox-group';
4549
+ const COMPONENT_NAME$1G = 'vcm-checkbox-group';
4541
4550
  const MCheckboxGroup = /* @__PURE__ */ defineComponent({
4542
- name: COMPONENT_NAME$1F,
4543
- props: props$15,
4551
+ name: COMPONENT_NAME$1G,
4552
+ props: props$16,
4544
4553
  emits: ['update:modelValue', 'change'],
4545
4554
  setup(props, {
4546
4555
  slots
@@ -4555,7 +4564,7 @@ const MCheckboxGroup = /* @__PURE__ */ defineComponent({
4555
4564
  }
4556
4565
  });
4557
4566
 
4558
- const props$14 = {
4567
+ const props$15 = {
4559
4568
  content: [String, Function],
4560
4569
  mask: {
4561
4570
  type: Boolean,
@@ -4593,11 +4602,11 @@ const props$14 = {
4593
4602
 
4594
4603
  /** @jsxImportSource vue */
4595
4604
 
4596
- const COMPONENT_NAME$1E = 'vc-message';
4605
+ const COMPONENT_NAME$1F = 'vc-message';
4597
4606
  const MessageView = /* @__PURE__ */ defineComponent({
4598
- name: COMPONENT_NAME$1E,
4607
+ name: COMPONENT_NAME$1F,
4599
4608
  emits: ['before-close', 'close', 'portal-fulfilled'],
4600
- props: props$14,
4609
+ props: props$15,
4601
4610
  setup(props, {
4602
4611
  emit,
4603
4612
  expose
@@ -4727,7 +4736,7 @@ const warning$3 = create$4({ mode: "warning" });
4727
4736
  const error$3 = create$4({ mode: "error" });
4728
4737
  const Message = Object.assign(MessageView, { destroy: destroy$5, info: info$3, success: success$3, loading: loading$1, warning: warning$3, error: error$3 });
4729
4738
 
4730
- const props$13 = {
4739
+ const props$14 = {
4731
4740
  value: String,
4732
4741
  tag: {
4733
4742
  type: [String, Object, Function],
@@ -4844,10 +4853,10 @@ const useClipboard = (done) => {
4844
4853
  return () => h(props.tag, { onClick: handleClick, class: "vc-clipboard" }, slots?.default?.());
4845
4854
  };
4846
4855
 
4847
- const COMPONENT_NAME$1D = "vc-clipboard";
4856
+ const COMPONENT_NAME$1E = "vc-clipboard";
4848
4857
  const Clipboard$1 = defineComponent({
4849
- name: COMPONENT_NAME$1D,
4850
- props: props$13,
4858
+ name: COMPONENT_NAME$1E,
4859
+ props: props$14,
4851
4860
  setup() {
4852
4861
  return useClipboard((content) => Message.success({ content }));
4853
4862
  }
@@ -4855,7 +4864,7 @@ const Clipboard$1 = defineComponent({
4855
4864
 
4856
4865
  const Clipboard = Object.assign(Clipboard$1, group);
4857
4866
 
4858
- const props$12 = {
4867
+ const props$13 = {
4859
4868
  content: [String, Function],
4860
4869
  maskClosable: {
4861
4870
  type: Boolean,
@@ -4886,11 +4895,11 @@ const MTransitionZoom = TransitionZoom;
4886
4895
 
4887
4896
  /** @jsxImportSource vue */
4888
4897
 
4889
- const COMPONENT_NAME$1C = 'vcm-toast';
4898
+ const COMPONENT_NAME$1D = 'vcm-toast';
4890
4899
  const MToastView = /* @__PURE__ */ defineComponent({
4891
- name: COMPONENT_NAME$1C,
4900
+ name: COMPONENT_NAME$1D,
4892
4901
  emits: ['close', 'portal-fulfilled'],
4893
- props: props$12,
4902
+ props: props$13,
4894
4903
  setup(props, {
4895
4904
  emit,
4896
4905
  expose
@@ -4990,10 +4999,10 @@ const warning$2 = create$3({ mode: "warning" });
4990
4999
  const error$2 = create$3({ mode: "error" });
4991
5000
  const MToast = Object.assign(MToastView, { destroy: destroy$4, info: info$2, success: success$2, loading, warning: warning$2, error: error$2 });
4992
5001
 
4993
- const COMPONENT_NAME$1B = "vcm-clipboard";
5002
+ const COMPONENT_NAME$1C = "vcm-clipboard";
4994
5003
  const MClipboard$1 = defineComponent({
4995
- name: COMPONENT_NAME$1B,
4996
- props: props$13,
5004
+ name: COMPONENT_NAME$1C,
5005
+ props: props$14,
4997
5006
  setup() {
4998
5007
  return useClipboard((content) => MToast.info({ content }));
4999
5008
  }
@@ -5001,7 +5010,7 @@ const MClipboard$1 = defineComponent({
5001
5010
 
5002
5011
  const MClipboard = Object.assign(MClipboard$1, group);
5003
5012
 
5004
- const props$11 = {
5013
+ const props$12 = {
5005
5014
  tag: {
5006
5015
  type: String,
5007
5016
  default: "div"
@@ -5024,10 +5033,10 @@ const props$11 = {
5024
5033
  }
5025
5034
  };
5026
5035
 
5027
- const COMPONENT_NAME$1A = "vc-collapse";
5036
+ const COMPONENT_NAME$1B = "vc-collapse";
5028
5037
  const Collapse = defineComponent({
5029
- name: COMPONENT_NAME$1A,
5030
- props: props$11,
5038
+ name: COMPONENT_NAME$1B,
5039
+ props: props$12,
5031
5040
  emits: ["update:moodelValue", "change"],
5032
5041
  setup(props, { slots, emit }) {
5033
5042
  const instance = getCurrentInstance();
@@ -5112,7 +5121,7 @@ const Collapse = defineComponent({
5112
5121
  }
5113
5122
  });
5114
5123
 
5115
- const props$10 = {
5124
+ const props$11 = {
5116
5125
  tag: {
5117
5126
  type: String,
5118
5127
  default: "div"
@@ -5122,7 +5131,7 @@ const props$10 = {
5122
5131
  }
5123
5132
  };
5124
5133
 
5125
- const props$$ = {
5134
+ const props$10 = {
5126
5135
  tag: {
5127
5136
  type: String,
5128
5137
  default: "div"
@@ -5140,13 +5149,13 @@ const props$$ = {
5140
5149
 
5141
5150
  /** @jsxImportSource vue */
5142
5151
 
5143
- function _isSlot$2(s) {
5152
+ function _isSlot$3(s) {
5144
5153
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
5145
5154
  }
5146
- const COMPONENT_NAME$1z = 'vc-expand';
5155
+ const COMPONENT_NAME$1A = 'vc-expand';
5147
5156
  const Expand$1 = /* @__PURE__ */ defineComponent({
5148
- name: COMPONENT_NAME$1z,
5149
- props: props$$,
5157
+ name: COMPONENT_NAME$1A,
5158
+ props: props$10,
5150
5159
  setup(props, {
5151
5160
  slots
5152
5161
  }) {
@@ -5164,7 +5173,7 @@ const Expand$1 = /* @__PURE__ */ defineComponent({
5164
5173
  enter: 200,
5165
5174
  leave: 200
5166
5175
  }
5167
- }, _isSlot$2(_slot = withDirectives(createVNode(Content, null, {
5176
+ }, _isSlot$3(_slot = withDirectives(createVNode(Content, null, {
5168
5177
  default: () => [(props.alive || !props.alive && isActive.value) && slots.default?.()]
5169
5178
  }), [[vShow, isActive.value]])) ? _slot : {
5170
5179
  default: () => [_slot]
@@ -5175,10 +5184,10 @@ const Expand$1 = /* @__PURE__ */ defineComponent({
5175
5184
 
5176
5185
  /** @jsxImportSource vue */
5177
5186
 
5178
- const COMPONENT_NAME$1y = 'vc-collapse-item';
5187
+ const COMPONENT_NAME$1z = 'vc-collapse-item';
5179
5188
  const CollapseItem = /* @__PURE__ */ defineComponent({
5180
- name: COMPONENT_NAME$1y,
5181
- props: props$10,
5189
+ name: COMPONENT_NAME$1z,
5190
+ props: props$11,
5182
5191
  setup(props, {
5183
5192
  slots,
5184
5193
  expose
@@ -5243,7 +5252,7 @@ const CollapseItem = /* @__PURE__ */ defineComponent({
5243
5252
  const MCollapse = Collapse;
5244
5253
  const MCollapseItem = CollapseItem;
5245
5254
 
5246
- const props$_ = {
5255
+ const props$$ = {
5247
5256
  tag: {
5248
5257
  type: String,
5249
5258
  default: "div"
@@ -5252,10 +5261,10 @@ const props$_ = {
5252
5261
 
5253
5262
  /** @jsxImportSource vue */
5254
5263
 
5255
- const COMPONENT_NAME$1x = 'vc-color-picker';
5264
+ const COMPONENT_NAME$1y = 'vc-color-picker';
5256
5265
  const ColorPicker = /* @__PURE__ */ defineComponent({
5257
- name: COMPONENT_NAME$1x,
5258
- props: props$_,
5266
+ name: COMPONENT_NAME$1y,
5267
+ props: props$$,
5259
5268
  setup(props, {
5260
5269
  slots
5261
5270
  }) {
@@ -5269,7 +5278,7 @@ const ColorPicker = /* @__PURE__ */ defineComponent({
5269
5278
 
5270
5279
  const MColorPicker = ColorPicker;
5271
5280
 
5272
- const props$Z = {
5281
+ const props$_ = {
5273
5282
  tag: {
5274
5283
  type: String,
5275
5284
  default: "span"
@@ -5314,14 +5323,14 @@ const formatter = (format, arr) => {
5314
5323
 
5315
5324
  /** @jsxImportSource vue */
5316
5325
 
5317
- function _isSlot$1(s) {
5326
+ function _isSlot$2(s) {
5318
5327
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
5319
5328
  }
5320
- const COMPONENT_NAME$1w = 'vc-countdown';
5329
+ const COMPONENT_NAME$1x = 'vc-countdown';
5321
5330
  const Countdown = /* @__PURE__ */ defineComponent({
5322
- name: COMPONENT_NAME$1w,
5323
- props: props$Z,
5324
- emits: ['change', 'finish', 'error'],
5331
+ name: COMPONENT_NAME$1x,
5332
+ props: props$_,
5333
+ emits: ['change', 'complete', 'error'],
5325
5334
  setup(props, {
5326
5335
  emit,
5327
5336
  slots
@@ -5411,7 +5420,7 @@ const Countdown = /* @__PURE__ */ defineComponent({
5411
5420
  second: '00',
5412
5421
  millisecond: '00'
5413
5422
  });
5414
- emit('finish');
5423
+ emit('complete');
5415
5424
  } else {
5416
5425
  emit('change', {
5417
5426
  timestamp,
@@ -5449,7 +5458,7 @@ const Countdown = /* @__PURE__ */ defineComponent({
5449
5458
  return (// @ts-ignore
5450
5459
  createVNode(Content, {
5451
5460
  "class": "vc-countdown"
5452
- }, _isSlot$1(_slot = slots.default(binds.value)) ? _slot : {
5461
+ }, _isSlot$2(_slot = slots.default(binds.value)) ? _slot : {
5453
5462
  default: () => [_slot]
5454
5463
  })
5455
5464
  );
@@ -5472,6 +5481,345 @@ const Countdown = /* @__PURE__ */ defineComponent({
5472
5481
 
5473
5482
  const MCountdown = Countdown;
5474
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
+
5475
5823
  const props$Y = {
5476
5824
  type: {
5477
5825
  type: String,
@@ -5495,8 +5843,8 @@ const popoverKeys = [
5495
5843
  "portalClass"
5496
5844
  ];
5497
5845
  const props$X = {
5498
- ...pick(props$1c, popoverKeys),
5499
- ...pick(props$1g, inputKeys$1),
5846
+ ...pick(props$1d, popoverKeys),
5847
+ ...pick(props$1h, inputKeys$1),
5500
5848
  type: String,
5501
5849
  placeholder: String,
5502
5850
  clearable: {
@@ -12542,7 +12890,7 @@ const MInput = /* @__PURE__ */ defineComponent({
12542
12890
  name: COMPONENT_NAME$V,
12543
12891
  inheritAttrs: false,
12544
12892
  props: {
12545
- ...props$1g,
12893
+ ...props$1h,
12546
12894
  right: {
12547
12895
  type: Boolean,
12548
12896
  default: false
@@ -12631,7 +12979,7 @@ const MInput = /* @__PURE__ */ defineComponent({
12631
12979
  const COMPONENT_NAME$U = 'vcm-input-number';
12632
12980
  const MInputNumber = /* @__PURE__ */ defineComponent({
12633
12981
  name: COMPONENT_NAME$U,
12634
- props: props$1f,
12982
+ props: props$1g,
12635
12983
  inheritAttrs: false,
12636
12984
  setup(props, {
12637
12985
  slots,
@@ -12683,7 +13031,7 @@ const COMPONENT_NAME$T = 'vcm-input-search';
12683
13031
  const MInputSearch = /* @__PURE__ */ defineComponent({
12684
13032
  name: COMPONENT_NAME$T,
12685
13033
  props: {
12686
- ...props$1e,
13034
+ ...props$1f,
12687
13035
  cancelText: {
12688
13036
  type: String,
12689
13037
  default: '取消'
@@ -14269,7 +14617,7 @@ const OptionGroup = /* @__PURE__ */ defineComponent({
14269
14617
  const COMPONENT_NAME$H = 'vc-select';
14270
14618
  const Select = /* @__PURE__ */ defineComponent({
14271
14619
  name: COMPONENT_NAME$H,
14272
- props: props$19,
14620
+ props: props$1a,
14273
14621
  emits: ['ready', 'close', 'visible-change', 'clear', 'change', 'update:modelValue'],
14274
14622
  setup(props, {
14275
14623
  emit,
@@ -15980,7 +16328,7 @@ const props$j = {
15980
16328
  },
15981
16329
  scrollerOptions: Object,
15982
16330
  renderEmpty: Function,
15983
- renderFinish: Function,
16331
+ renderComplete: Function,
15984
16332
  renderLoading: Function,
15985
16333
  renderPlaceholder: Function,
15986
16334
  renderRefresh: Function
@@ -16014,9 +16362,9 @@ const ScrollState = /* @__PURE__ */ defineComponent({
16014
16362
  }, [createVNode(Spin, {
16015
16363
  "size": 20
16016
16364
  }, null)]))]), owner.isEnd.value && (owner.data.length ? createVNode("div", {
16017
- "class": "vc-recycle-list__finish"
16018
- }, [slots.finish?.() || owner.renderer.value.finish ? createVNode(Customer, {
16019
- "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
16020
16368
  }, null) : createVNode("div", {
16021
16369
  "class": "vc-recycle-list__center"
16022
16370
  }, [createTextVNode("\u5DF2\u5168\u90E8\u52A0\u8F7D~")])]) : createVNode("div", {
@@ -16312,7 +16660,7 @@ const RecycleList = /* @__PURE__ */ defineComponent({
16312
16660
  refresh: props.renderRefresh || globalProps.renderRefresh,
16313
16661
  placeholder: props.renderPlaceholder || globalProps.renderPlaceholder,
16314
16662
  loading: props.renderLoading || globalProps.renderLoading,
16315
- finish: props.renderFinish || globalProps.renderFinish,
16663
+ complete: props.renderComplete || globalProps.renderComplete,
16316
16664
  empty: props.renderEmpty || globalProps.renderEmpty
16317
16665
  };
16318
16666
  });
@@ -21348,7 +21696,7 @@ const inputKeys = [
21348
21696
  "controllable"
21349
21697
  ];
21350
21698
  const props$8 = {
21351
- ...pick(props$1g, inputKeys),
21699
+ ...pick(props$1h, inputKeys),
21352
21700
  wrap: {
21353
21701
  type: String,
21354
21702
  validator: (v) => /(soft|hard)/.test(v),
@@ -22941,7 +23289,7 @@ const treeNodeContentKeys = [
22941
23289
  "allowDispatch"
22942
23290
  ];
22943
23291
  const props$2 = {
22944
- ...pick(props$19, selectKeys),
23292
+ ...pick(props$1a, selectKeys),
22945
23293
  ...pick(props$3, treeNodeContentKeys),
22946
23294
  // 暂不支持,仅作为默认值
22947
23295
  max: {
@@ -23214,7 +23562,7 @@ const treeKeys = [
23214
23562
  "renderNodeLabel"
23215
23563
  ];
23216
23564
  const props$1 = {
23217
- ...props$19,
23565
+ ...props$1a,
23218
23566
  ...pick(props$2, treeKeys)
23219
23567
  };
23220
23568
 
@@ -24005,4 +24353,4 @@ const UploadPicker = /* @__PURE__ */ defineComponent({
24005
24353
 
24006
24354
  const MUploadPicker = UploadPicker;
24007
24355
 
24008
- 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 };