@deot/vc-components 1.0.16 → 1.0.18

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.
@@ -16,6 +16,17 @@ var VcComponents = (function (exports, vue) {
16
16
  const defaults$2 = {
17
17
  Theme: {
18
18
  variables: VARIABLES
19
+ },
20
+ Portal: {
21
+ install: void 0
22
+ },
23
+ Upload: {
24
+ onRequest: void 0,
25
+ onResponse: void 0,
26
+ onMessage: void 0
27
+ },
28
+ TableColumn: {
29
+ line: void 0
19
30
  }
20
31
  };
21
32
 
@@ -53,9 +64,9 @@ var VcComponents = (function (exports, vue) {
53
64
 
54
65
  /** @jsxImportSource vue */
55
66
 
56
- const COMPONENT_NAME$1_ = 'vc-action-sheet';
67
+ const COMPONENT_NAME$1$ = 'vc-action-sheet';
57
68
  const ActionSheet = /* @__PURE__ */ vue.defineComponent({
58
- name: COMPONENT_NAME$1_,
69
+ name: COMPONENT_NAME$1$,
59
70
  props: props$1q,
60
71
  setup(props, {
61
72
  slots
@@ -242,9 +253,9 @@ var VcComponents = (function (exports, vue) {
242
253
 
243
254
  /** @jsxImportSource vue */
244
255
 
245
- const COMPONENT_NAME$1Z = 'vc-icon';
256
+ const COMPONENT_NAME$1_ = 'vc-icon';
246
257
  const Icon = /* @__PURE__ */ vue.defineComponent({
247
- name: COMPONENT_NAME$1Z,
258
+ name: COMPONENT_NAME$1_,
248
259
  props: props$1o,
249
260
  setup(props) {
250
261
  const viewBox = vue.ref('0 0 1024 1024');
@@ -443,9 +454,9 @@ var VcComponents = (function (exports, vue) {
443
454
  };
444
455
  };
445
456
 
446
- const COMPONENT_NAME$1Y = "vc-transition";
457
+ const COMPONENT_NAME$1Z = "vc-transition";
447
458
  const Transition = vue.defineComponent({
448
- name: COMPONENT_NAME$1Y,
459
+ name: COMPONENT_NAME$1Z,
449
460
  props: props$1n,
450
461
  // 当不声明emits的情况下,事件存在于attrs中
451
462
  inheritAttrs: false,
@@ -466,9 +477,9 @@ var VcComponents = (function (exports, vue) {
466
477
  }
467
478
  });
468
479
 
469
- const COMPONENT_NAME$1X = "vc-transition-collapse";
480
+ const COMPONENT_NAME$1Y = "vc-transition-collapse";
470
481
  const TransitionCollapse = vue.defineComponent({
471
- name: COMPONENT_NAME$1X,
482
+ name: COMPONENT_NAME$1Y,
472
483
  props: props$1n,
473
484
  // 当不声明emits的情况下,事件存在于attrs中
474
485
  inheritAttrs: false,
@@ -587,9 +598,9 @@ var VcComponents = (function (exports, vue) {
587
598
  }
588
599
  });
589
600
 
590
- const COMPONENT_NAME$1W = "vc-transition-fade";
601
+ const COMPONENT_NAME$1X = "vc-transition-fade";
591
602
  const TransitionFade = vue.defineComponent({
592
- name: COMPONENT_NAME$1W,
603
+ name: COMPONENT_NAME$1X,
593
604
  props: {
594
605
  ...props$1n,
595
606
  // inheritAttrs必须是false
@@ -624,9 +635,9 @@ var VcComponents = (function (exports, vue) {
624
635
  }
625
636
  });
626
637
 
627
- const COMPONENT_NAME$1V = "vc-transition-scale";
638
+ const COMPONENT_NAME$1W = "vc-transition-scale";
628
639
  const TransitionScale = vue.defineComponent({
629
- name: COMPONENT_NAME$1V,
640
+ name: COMPONENT_NAME$1W,
630
641
  props: {
631
642
  ...props$1n,
632
643
  mode: {
@@ -666,9 +677,9 @@ var VcComponents = (function (exports, vue) {
666
677
  }
667
678
  });
668
679
 
669
- const COMPONENT_NAME$1U = "vc-transition-slide";
680
+ const COMPONENT_NAME$1V = "vc-transition-slide";
670
681
  const TransitionSlide = vue.defineComponent({
671
- name: COMPONENT_NAME$1U,
682
+ name: COMPONENT_NAME$1V,
672
683
  props: {
673
684
  ...props$1n,
674
685
  mode: {
@@ -708,9 +719,9 @@ var VcComponents = (function (exports, vue) {
708
719
  }
709
720
  });
710
721
 
711
- const COMPONENT_NAME$1T = "vc-transition-zoom";
722
+ const COMPONENT_NAME$1U = "vc-transition-zoom";
712
723
  const TransitionZoom = vue.defineComponent({
713
- name: COMPONENT_NAME$1T,
724
+ name: COMPONENT_NAME$1U,
714
725
  props: {
715
726
  ...props$1n,
716
727
  mode: {
@@ -752,7 +763,7 @@ var VcComponents = (function (exports, vue) {
752
763
 
753
764
  /** @jsxImportSource vue */
754
765
 
755
- const COMPONENT_NAME$1S = 'vc-alert';
766
+ const COMPONENT_NAME$1T = 'vc-alert';
756
767
 
757
768
  // [color, borderColor, backgroundColor], -> CSS
758
769
  const THEME_MAP = {
@@ -762,7 +773,7 @@ var VcComponents = (function (exports, vue) {
762
773
  warning: ['#ffbf00', '#ffe58f', '#fffbe6']
763
774
  };
764
775
  const Alert = /* @__PURE__ */ vue.defineComponent({
765
- name: COMPONENT_NAME$1S,
776
+ name: COMPONENT_NAME$1T,
766
777
  props: props$1p,
767
778
  setup(props, {
768
779
  slots,
@@ -861,9 +872,9 @@ var VcComponents = (function (exports, vue) {
861
872
 
862
873
  /** @jsxImportSource vue */
863
874
 
864
- const COMPONENT_NAME$1R = 'vc-artboard';
875
+ const COMPONENT_NAME$1S = 'vc-artboard';
865
876
  const Artboard = /* @__PURE__ */ vue.defineComponent({
866
- name: COMPONENT_NAME$1R,
877
+ name: COMPONENT_NAME$1S,
867
878
  props: props$1m,
868
879
  setup(props, {
869
880
  slots
@@ -902,9 +913,9 @@ var VcComponents = (function (exports, vue) {
902
913
 
903
914
  /** @jsxImportSource vue */
904
915
 
905
- const COMPONENT_NAME$1Q = 'vc-spin';
916
+ const COMPONENT_NAME$1R = 'vc-spin';
906
917
  const Spin = /* @__PURE__ */ vue.defineComponent({
907
- name: COMPONENT_NAME$1Q,
918
+ name: COMPONENT_NAME$1R,
908
919
  props: props$1l,
909
920
  setup(props, {
910
921
  slots
@@ -5760,9 +5771,9 @@ var VcComponents = (function (exports, vue) {
5760
5771
  exclude: RegExp
5761
5772
  };
5762
5773
 
5763
- const COMPONENT_NAME$1P = "vc-debounce";
5774
+ const COMPONENT_NAME$1Q = "vc-debounce";
5764
5775
  const Debounce = vue.defineComponent({
5765
- name: COMPONENT_NAME$1P,
5776
+ name: COMPONENT_NAME$1Q,
5766
5777
  props: props$1k,
5767
5778
  /**
5768
5779
  * 不声明emits使得事件被透传放入attrs中, 这样可以让所有的事件透传
@@ -5834,9 +5845,9 @@ var VcComponents = (function (exports, vue) {
5834
5845
 
5835
5846
  /** @jsxImportSource vue */
5836
5847
 
5837
- const COMPONENT_NAME$1O = 'vc-button';
5848
+ const COMPONENT_NAME$1P = 'vc-button';
5838
5849
  const Button = /* @__PURE__ */ vue.defineComponent({
5839
- name: COMPONENT_NAME$1O,
5850
+ name: COMPONENT_NAME$1P,
5840
5851
  emits: ['click'],
5841
5852
  props: props$1j,
5842
5853
  setup(props, {
@@ -5916,9 +5927,9 @@ var VcComponents = (function (exports, vue) {
5916
5927
 
5917
5928
  /** @jsxImportSource vue */
5918
5929
 
5919
- const COMPONENT_NAME$1N = 'vc-button-group';
5930
+ const COMPONENT_NAME$1O = 'vc-button-group';
5920
5931
  const ButtonGroup = /* @__PURE__ */ vue.defineComponent({
5921
- name: COMPONENT_NAME$1N,
5932
+ name: COMPONENT_NAME$1O,
5922
5933
  props: props$1i,
5923
5934
  setup(props, {
5924
5935
  slots
@@ -5952,9 +5963,9 @@ var VcComponents = (function (exports, vue) {
5952
5963
 
5953
5964
  /** @jsxImportSource vue */
5954
5965
 
5955
- const COMPONENT_NAME$1M = 'vc-calendar';
5966
+ const COMPONENT_NAME$1N = 'vc-calendar';
5956
5967
  const Calendar$1 = /* @__PURE__ */ vue.defineComponent({
5957
- name: COMPONENT_NAME$1M,
5968
+ name: COMPONENT_NAME$1N,
5958
5969
  props: props$1h,
5959
5970
  setup(props, {
5960
5971
  slots
@@ -5992,9 +6003,9 @@ var VcComponents = (function (exports, vue) {
5992
6003
 
5993
6004
  /** @jsxImportSource vue */
5994
6005
 
5995
- const COMPONENT_NAME$1L = 'vc-card';
6006
+ const COMPONENT_NAME$1M = 'vc-card';
5996
6007
  const Card = /* @__PURE__ */ vue.defineComponent({
5997
- name: COMPONENT_NAME$1L,
6008
+ name: COMPONENT_NAME$1M,
5998
6009
  props: props$1g,
5999
6010
  setup(props, {
6000
6011
  slots
@@ -6030,9 +6041,9 @@ var VcComponents = (function (exports, vue) {
6030
6041
 
6031
6042
  /** @jsxImportSource vue */
6032
6043
 
6033
- const COMPONENT_NAME$1K = 'vc-carousel';
6044
+ const COMPONENT_NAME$1L = 'vc-carousel';
6034
6045
  const Carousel = /* @__PURE__ */ vue.defineComponent({
6035
- name: COMPONENT_NAME$1K,
6046
+ name: COMPONENT_NAME$1L,
6036
6047
  props: props$1f,
6037
6048
  setup(props, {
6038
6049
  slots
@@ -6056,9 +6067,9 @@ var VcComponents = (function (exports, vue) {
6056
6067
 
6057
6068
  /** @jsxImportSource vue */
6058
6069
 
6059
- const COMPONENT_NAME$1J = 'vc-cascader';
6070
+ const COMPONENT_NAME$1K = 'vc-cascader';
6060
6071
  const Cascader = /* @__PURE__ */ vue.defineComponent({
6061
- name: COMPONENT_NAME$1J,
6072
+ name: COMPONENT_NAME$1K,
6062
6073
  props: props$1e,
6063
6074
  setup(props, {
6064
6075
  slots
@@ -6190,9 +6201,9 @@ var VcComponents = (function (exports, vue) {
6190
6201
 
6191
6202
  /** @jsxImportSource vue */
6192
6203
 
6193
- const COMPONENT_NAME$1I = 'vc-chart';
6204
+ const COMPONENT_NAME$1J = 'vc-chart';
6194
6205
  const Chart = /* @__PURE__ */ vue.defineComponent({
6195
- name: COMPONENT_NAME$1I,
6206
+ name: COMPONENT_NAME$1J,
6196
6207
  props: props$1d,
6197
6208
  emits: [...EVENTS, 'ready'],
6198
6209
  setup(props, {
@@ -6423,9 +6434,9 @@ var VcComponents = (function (exports, vue) {
6423
6434
 
6424
6435
  /** @jsxImportSource vue */
6425
6436
 
6426
- const COMPONENT_NAME$1H = 'vc-checkbox';
6437
+ const COMPONENT_NAME$1I = 'vc-checkbox';
6427
6438
  const Checkbox = /* @__PURE__ */ vue.defineComponent({
6428
- name: COMPONENT_NAME$1H,
6439
+ name: COMPONENT_NAME$1I,
6429
6440
  props: props$1c,
6430
6441
  emits: ['update:modelValue', 'change'],
6431
6442
  setup(props, {
@@ -6512,9 +6523,9 @@ var VcComponents = (function (exports, vue) {
6512
6523
 
6513
6524
  /** @jsxImportSource vue */
6514
6525
 
6515
- const COMPONENT_NAME$1G = 'vc-checkbox-group';
6526
+ const COMPONENT_NAME$1H = 'vc-checkbox-group';
6516
6527
  const CheckboxGroup = /* @__PURE__ */ vue.defineComponent({
6517
- name: COMPONENT_NAME$1G,
6528
+ name: COMPONENT_NAME$1H,
6518
6529
  props: props$1b,
6519
6530
  emits: ['update:modelValue', 'change'],
6520
6531
  setup(props, {
@@ -6532,9 +6543,9 @@ var VcComponents = (function (exports, vue) {
6532
6543
 
6533
6544
  /** @jsxImportSource vue */
6534
6545
 
6535
- const COMPONENT_NAME$1F = 'vcm-checkbox';
6546
+ const COMPONENT_NAME$1G = 'vcm-checkbox';
6536
6547
  const MCheckbox = /* @__PURE__ */ vue.defineComponent({
6537
- name: COMPONENT_NAME$1F,
6548
+ name: COMPONENT_NAME$1G,
6538
6549
  props: props$1c,
6539
6550
  emits: ['update:modelValue', 'change'],
6540
6551
  setup(props, {
@@ -6574,9 +6585,9 @@ var VcComponents = (function (exports, vue) {
6574
6585
 
6575
6586
  /** @jsxImportSource vue */
6576
6587
 
6577
- const COMPONENT_NAME$1E = 'vcm-checkbox-group';
6588
+ const COMPONENT_NAME$1F = 'vcm-checkbox-group';
6578
6589
  const MCheckboxGroup = /* @__PURE__ */ vue.defineComponent({
6579
- name: COMPONENT_NAME$1E,
6590
+ name: COMPONENT_NAME$1F,
6580
6591
  props: props$1b,
6581
6592
  emits: ['update:modelValue', 'change'],
6582
6593
  setup(props, {
@@ -6635,9 +6646,9 @@ var VcComponents = (function (exports, vue) {
6635
6646
  }
6636
6647
  };
6637
6648
 
6638
- const COMPONENT_NAME$1D = "vc-customer";
6649
+ const COMPONENT_NAME$1E = "vc-customer";
6639
6650
  const Customer = vue.defineComponent({
6640
- name: COMPONENT_NAME$1D,
6651
+ name: COMPONENT_NAME$1E,
6641
6652
  props: props$19,
6642
6653
  setup(props, context) {
6643
6654
  return () => vue.h(() => {
@@ -6648,9 +6659,9 @@ var VcComponents = (function (exports, vue) {
6648
6659
 
6649
6660
  /** @jsxImportSource vue */
6650
6661
 
6651
- const COMPONENT_NAME$1C = 'vc-message';
6662
+ const COMPONENT_NAME$1D = 'vc-message';
6652
6663
  const MessageView = /* @__PURE__ */ vue.defineComponent({
6653
- name: COMPONENT_NAME$1C,
6664
+ name: COMPONENT_NAME$1D,
6654
6665
  emits: ['before-close', 'close', 'portal-fulfilled'],
6655
6666
  props: props$1a,
6656
6667
  setup(props, {
@@ -7210,7 +7221,7 @@ var VcComponents = (function (exports, vue) {
7210
7221
  }
7211
7222
  }
7212
7223
 
7213
- const COMPONENT_NAME$1B = "vc-portal";
7224
+ const COMPONENT_NAME$1C = "vc-portal";
7214
7225
  class Portal {
7215
7226
  /**
7216
7227
  * 清理Portals类型组件
@@ -7262,7 +7273,7 @@ var VcComponents = (function (exports, vue) {
7262
7273
  this.wrapper = wrapper;
7263
7274
  this.globalOptions = {
7264
7275
  ...options,
7265
- name: options?.name || wrapper.name || getUid(COMPONENT_NAME$1B)
7276
+ name: options?.name || wrapper.name || getUid(COMPONENT_NAME$1C)
7266
7277
  };
7267
7278
  }
7268
7279
  popup(propsData, options) {
@@ -7361,7 +7372,7 @@ var VcComponents = (function (exports, vue) {
7361
7372
  ...rest
7362
7373
  } = options;
7363
7374
  let useAllNodes = fragment;
7364
- const name = multiple ? `${name$}__${getUid(COMPONENT_NAME$1B)}` : name$;
7375
+ const name = multiple ? `${name$}__${getUid(COMPONENT_NAME$1C)}` : name$;
7365
7376
  const container = document.createElement(tag);
7366
7377
  const root = typeof el === "object" ? el : document.querySelector(el || "body");
7367
7378
  !alive && Portal.leafs.get(name)?.destroy();
@@ -7395,7 +7406,7 @@ var VcComponents = (function (exports, vue) {
7395
7406
  } else {
7396
7407
  const wrapper = this.wrapper;
7397
7408
  const app = vue.createApp({
7398
- name: COMPONENT_NAME$1B,
7409
+ name: COMPONENT_NAME$1C,
7399
7410
  parent,
7400
7411
  setup() {
7401
7412
  if (alive) {
@@ -7507,13 +7518,13 @@ var VcComponents = (function (exports, vue) {
7507
7518
  }
7508
7519
  };
7509
7520
 
7510
- const COMPONENT_NAME$1A = 'vc-portal-view';
7521
+ const COMPONENT_NAME$1B = 'vc-portal-view';
7511
7522
 
7512
7523
  /**
7513
7524
  * 写法不同,但与vue@2.x 保持一致
7514
7525
  */
7515
7526
  const PortalView = /* @__PURE__ */ vue.defineComponent({
7516
- name: COMPONENT_NAME$1A,
7527
+ name: COMPONENT_NAME$1B,
7517
7528
  props: props$18,
7518
7529
  setup(props, {
7519
7530
  slots
@@ -7684,9 +7695,9 @@ var VcComponents = (function (exports, vue) {
7684
7695
  return () => vue.h(props.tag, { onClick: handleClick, class: "vc-clipboard" }, slots?.default?.());
7685
7696
  };
7686
7697
 
7687
- const COMPONENT_NAME$1z = "vc-clipboard";
7698
+ const COMPONENT_NAME$1A = "vc-clipboard";
7688
7699
  const Clipboard$1 = vue.defineComponent({
7689
- name: COMPONENT_NAME$1z,
7700
+ name: COMPONENT_NAME$1A,
7690
7701
  props: props$17,
7691
7702
  setup() {
7692
7703
  return useClipboard((content) => Message.success({ content }));
@@ -7726,9 +7737,9 @@ var VcComponents = (function (exports, vue) {
7726
7737
 
7727
7738
  /** @jsxImportSource vue */
7728
7739
 
7729
- const COMPONENT_NAME$1y = 'vcm-toast';
7740
+ const COMPONENT_NAME$1z = 'vcm-toast';
7730
7741
  const MToastView = /* @__PURE__ */ vue.defineComponent({
7731
- name: COMPONENT_NAME$1y,
7742
+ name: COMPONENT_NAME$1z,
7732
7743
  emits: ['close', 'portal-fulfilled'],
7733
7744
  props: props$16,
7734
7745
  setup(props, {
@@ -7830,9 +7841,9 @@ var VcComponents = (function (exports, vue) {
7830
7841
  const error$2 = create$6({ mode: "error" });
7831
7842
  const MToast = Object.assign(MToastView, { destroy: destroy$4, info: info$2, success: success$2, loading, warning: warning$2, error: error$2 });
7832
7843
 
7833
- const COMPONENT_NAME$1x = "vcm-clipboard";
7844
+ const COMPONENT_NAME$1y = "vcm-clipboard";
7834
7845
  const MClipboard$1 = vue.defineComponent({
7835
- name: COMPONENT_NAME$1x,
7846
+ name: COMPONENT_NAME$1y,
7836
7847
  props: props$17,
7837
7848
  setup() {
7838
7849
  return useClipboard((content) => MToast.info({ content }));
@@ -7864,9 +7875,9 @@ var VcComponents = (function (exports, vue) {
7864
7875
  }
7865
7876
  };
7866
7877
 
7867
- const COMPONENT_NAME$1w = "vc-collapse";
7878
+ const COMPONENT_NAME$1x = "vc-collapse";
7868
7879
  const Collapse = vue.defineComponent({
7869
- name: COMPONENT_NAME$1w,
7880
+ name: COMPONENT_NAME$1x,
7870
7881
  props: props$15,
7871
7882
  emits: ["update:moodelValue", "change"],
7872
7883
  setup(props, { slots, emit }) {
@@ -7983,9 +7994,9 @@ var VcComponents = (function (exports, vue) {
7983
7994
  function _isSlot$3(s) {
7984
7995
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
7985
7996
  }
7986
- const COMPONENT_NAME$1v = 'vc-expand';
7997
+ const COMPONENT_NAME$1w = 'vc-expand';
7987
7998
  const Expand$1 = /* @__PURE__ */ vue.defineComponent({
7988
- name: COMPONENT_NAME$1v,
7999
+ name: COMPONENT_NAME$1w,
7989
8000
  props: props$13,
7990
8001
  setup(props, {
7991
8002
  slots
@@ -8015,9 +8026,9 @@ var VcComponents = (function (exports, vue) {
8015
8026
 
8016
8027
  /** @jsxImportSource vue */
8017
8028
 
8018
- const COMPONENT_NAME$1u = 'vc-collapse-item';
8029
+ const COMPONENT_NAME$1v = 'vc-collapse-item';
8019
8030
  const CollapseItem = /* @__PURE__ */ vue.defineComponent({
8020
- name: COMPONENT_NAME$1u,
8031
+ name: COMPONENT_NAME$1v,
8021
8032
  props: props$14,
8022
8033
  setup(props, {
8023
8034
  slots,
@@ -8092,9 +8103,9 @@ var VcComponents = (function (exports, vue) {
8092
8103
 
8093
8104
  /** @jsxImportSource vue */
8094
8105
 
8095
- const COMPONENT_NAME$1t = 'vc-color-picker';
8106
+ const COMPONENT_NAME$1u = 'vc-color-picker';
8096
8107
  const ColorPicker = /* @__PURE__ */ vue.defineComponent({
8097
- name: COMPONENT_NAME$1t,
8108
+ name: COMPONENT_NAME$1u,
8098
8109
  props: props$12,
8099
8110
  setup(props, {
8100
8111
  slots
@@ -8118,9 +8129,9 @@ var VcComponents = (function (exports, vue) {
8118
8129
 
8119
8130
  /** @jsxImportSource vue */
8120
8131
 
8121
- const COMPONENT_NAME$1s = 'vc-countdown';
8132
+ const COMPONENT_NAME$1t = 'vc-countdown';
8122
8133
  const Countdown = /* @__PURE__ */ vue.defineComponent({
8123
- name: COMPONENT_NAME$1s,
8134
+ name: COMPONENT_NAME$1t,
8124
8135
  props: props$11,
8125
8136
  setup(props, {
8126
8137
  slots
@@ -8273,7 +8284,7 @@ var VcComponents = (function (exports, vue) {
8273
8284
  hover: Boolean,
8274
8285
  always: Boolean,
8275
8286
  portalClass: [Object, String, Array],
8276
- portalStyle: Object
8287
+ portalStyle: [Object, String]
8277
8288
  };
8278
8289
 
8279
8290
  const wrapperKeys = [
@@ -8311,7 +8322,7 @@ var VcComponents = (function (exports, vue) {
8311
8322
  ...pick(props$_, wrapperKeys)
8312
8323
  };
8313
8324
 
8314
- const inputKeys$1 = [
8325
+ const inputKeys$2 = [
8315
8326
  "id",
8316
8327
  "disabled"
8317
8328
  ];
@@ -8321,7 +8332,7 @@ var VcComponents = (function (exports, vue) {
8321
8332
  ];
8322
8333
  const props$Y = {
8323
8334
  ...pick(props$Z, popoverKeys$1),
8324
- ...pick(props$$, inputKeys$1),
8335
+ ...pick(props$$, inputKeys$2),
8325
8336
  type: String,
8326
8337
  placeholder: String,
8327
8338
  clearable: {
@@ -8633,9 +8644,9 @@ var VcComponents = (function (exports, vue) {
8633
8644
 
8634
8645
  /** @jsxImportSource vue */
8635
8646
 
8636
- const COMPONENT_NAME$1r = 'vc-input';
8647
+ const COMPONENT_NAME$1s = 'vc-input';
8637
8648
  const Input = /* @__PURE__ */ vue.defineComponent({
8638
- name: COMPONENT_NAME$1r,
8649
+ name: COMPONENT_NAME$1s,
8639
8650
  inheritAttrs: false,
8640
8651
  props: {
8641
8652
  ...props$$,
@@ -8969,9 +8980,9 @@ var VcComponents = (function (exports, vue) {
8969
8980
 
8970
8981
  /** @jsxImportSource vue */
8971
8982
 
8972
- const COMPONENT_NAME$1q = 'vc-input-number';
8983
+ const COMPONENT_NAME$1r = 'vc-input-number';
8973
8984
  const InputNumber = /* @__PURE__ */ vue.defineComponent({
8974
- name: COMPONENT_NAME$1q,
8985
+ name: COMPONENT_NAME$1r,
8975
8986
  props: props$X,
8976
8987
  inheritAttrs: false,
8977
8988
  setup(props, {
@@ -9035,9 +9046,9 @@ var VcComponents = (function (exports, vue) {
9035
9046
 
9036
9047
  /** @jsxImportSource vue */
9037
9048
 
9038
- const COMPONENT_NAME$1p = 'vc-input-search';
9049
+ const COMPONENT_NAME$1q = 'vc-input-search';
9039
9050
  const InputSearch = /* @__PURE__ */ vue.defineComponent({
9040
- name: COMPONENT_NAME$1p,
9051
+ name: COMPONENT_NAME$1q,
9041
9052
  props: props$W,
9042
9053
  inheritAttrs: false,
9043
9054
  setup(props, {
@@ -9328,9 +9339,9 @@ var VcComponents = (function (exports, vue) {
9328
9339
  function _isSlot$2(s) {
9329
9340
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
9330
9341
  }
9331
- const COMPONENT_NAME$1o = 'vc-popover-wrapper';
9342
+ const COMPONENT_NAME$1p = 'vc-popover-wrapper';
9332
9343
  const PopoverWrapper = /* @__PURE__ */ vue.defineComponent({
9333
- name: COMPONENT_NAME$1o,
9344
+ name: COMPONENT_NAME$1p,
9334
9345
  props: props$_,
9335
9346
  emits: ['portal-fulfilled', 'close'],
9336
9347
  setup(props, {
@@ -9582,9 +9593,9 @@ var VcComponents = (function (exports, vue) {
9582
9593
 
9583
9594
  /** @jsxImportSource vue */
9584
9595
 
9585
- const COMPONENT_NAME$1n = 'vc-popover';
9596
+ const COMPONENT_NAME$1o = 'vc-popover';
9586
9597
  const Popover$1 = /* @__PURE__ */ vue.defineComponent({
9587
- name: COMPONENT_NAME$1n,
9598
+ name: COMPONENT_NAME$1o,
9588
9599
  props: props$Z,
9589
9600
  emits: ['update:modelValue', 'visible-change', 'ready', 'close'],
9590
9601
  setup(props, {
@@ -10685,9 +10696,9 @@ var VcComponents = (function (exports, vue) {
10685
10696
  }
10686
10697
  return view;
10687
10698
  };
10688
- const COMPONENT_NAME$1m = 'vc-date-confirm';
10699
+ const COMPONENT_NAME$1n = 'vc-date-confirm';
10689
10700
  const Confirm = /* @__PURE__ */ vue.defineComponent({
10690
- name: COMPONENT_NAME$1m,
10701
+ name: COMPONENT_NAME$1n,
10691
10702
  props: {
10692
10703
  showTime: {
10693
10704
  type: Boolean,
@@ -10751,9 +10762,9 @@ var VcComponents = (function (exports, vue) {
10751
10762
 
10752
10763
  /** @jsxImportSource vue */
10753
10764
 
10754
- const COMPONENT_NAME$1l = 'vc-date-header';
10765
+ const COMPONENT_NAME$1m = 'vc-date-header';
10755
10766
  const DateHeader = /* @__PURE__ */ vue.defineComponent({
10756
- name: COMPONENT_NAME$1l,
10767
+ name: COMPONENT_NAME$1m,
10757
10768
  props: {
10758
10769
  panelDate: Date,
10759
10770
  showNext: {
@@ -10837,9 +10848,9 @@ var VcComponents = (function (exports, vue) {
10837
10848
 
10838
10849
  /** @jsxImportSource vue */
10839
10850
 
10840
- const COMPONENT_NAME$1k = 'vc-date-table';
10851
+ const COMPONENT_NAME$1l = 'vc-date-table';
10841
10852
  const DateTable = /* @__PURE__ */ vue.defineComponent({
10842
- name: COMPONENT_NAME$1k,
10853
+ name: COMPONENT_NAME$1l,
10843
10854
  props: {
10844
10855
  value: Array,
10845
10856
  firstDayOfWeek: {
@@ -11048,9 +11059,9 @@ var VcComponents = (function (exports, vue) {
11048
11059
 
11049
11060
  /** @jsxImportSource vue */
11050
11061
 
11051
- const COMPONENT_NAME$1j = 'vc-month-table';
11062
+ const COMPONENT_NAME$1k = 'vc-month-table';
11052
11063
  const MonthTable = /* @__PURE__ */ vue.defineComponent({
11053
- name: COMPONENT_NAME$1j,
11064
+ name: COMPONENT_NAME$1k,
11054
11065
  props: {
11055
11066
  value: Array,
11056
11067
  panelDate: Date,
@@ -11182,7 +11193,7 @@ var VcComponents = (function (exports, vue) {
11182
11193
 
11183
11194
  /** @jsxImportSource vue */
11184
11195
 
11185
- const COMPONENT_NAME$1i = 'vc-quarter-table';
11196
+ const COMPONENT_NAME$1j = 'vc-quarter-table';
11186
11197
 
11187
11198
  /**
11188
11199
  * 获取季度对应的月份范围
@@ -11216,7 +11227,7 @@ var VcComponents = (function (exports, vue) {
11216
11227
  }
11217
11228
  };
11218
11229
  const QuarterTable = /* @__PURE__ */ vue.defineComponent({
11219
- name: COMPONENT_NAME$1i,
11230
+ name: COMPONENT_NAME$1j,
11220
11231
  props: {
11221
11232
  value: Array,
11222
11233
  panelDate: Date,
@@ -11339,9 +11350,9 @@ var VcComponents = (function (exports, vue) {
11339
11350
 
11340
11351
  /** @jsxImportSource vue */
11341
11352
 
11342
- const COMPONENT_NAME$1h = 'vc-shortcuts-select';
11353
+ const COMPONENT_NAME$1i = 'vc-shortcuts-select';
11343
11354
  const ShortcutsSelect = /* @__PURE__ */ vue.defineComponent({
11344
- name: COMPONENT_NAME$1h,
11355
+ name: COMPONENT_NAME$1i,
11345
11356
  props: {
11346
11357
  panelDate: Date,
11347
11358
  config: Array,
@@ -11381,9 +11392,9 @@ var VcComponents = (function (exports, vue) {
11381
11392
 
11382
11393
  /** @jsxImportSource vue */
11383
11394
 
11384
- const COMPONENT_NAME$1g = 'vc-time-select';
11395
+ const COMPONENT_NAME$1h = 'vc-time-select';
11385
11396
  const TimeSelect = /* @__PURE__ */ vue.defineComponent({
11386
- name: COMPONENT_NAME$1g,
11397
+ name: COMPONENT_NAME$1h,
11387
11398
  props: {
11388
11399
  hours: {
11389
11400
  type: [Number, String],
@@ -11662,9 +11673,9 @@ var VcComponents = (function (exports, vue) {
11662
11673
 
11663
11674
  /** @jsxImportSource vue */
11664
11675
 
11665
- const COMPONENT_NAME$1f = 'vc-year-table';
11676
+ const COMPONENT_NAME$1g = 'vc-year-table';
11666
11677
  const YearTable = /* @__PURE__ */ vue.defineComponent({
11667
- name: COMPONENT_NAME$1f,
11678
+ name: COMPONENT_NAME$1g,
11668
11679
  props: {
11669
11680
  value: Array,
11670
11681
  panelDate: Date,
@@ -11787,9 +11798,9 @@ var VcComponents = (function (exports, vue) {
11787
11798
  }
11788
11799
  return true;
11789
11800
  };
11790
- const COMPONENT_NAME$1e = 'vc-date-range-panel';
11801
+ const COMPONENT_NAME$1f = 'vc-date-range-panel';
11791
11802
  const DateRangePanel = /* @__PURE__ */ vue.defineComponent({
11792
- name: COMPONENT_NAME$1e,
11803
+ name: COMPONENT_NAME$1f,
11793
11804
  props: {
11794
11805
  ...props$V,
11795
11806
  confirm: {
@@ -12168,9 +12179,9 @@ var VcComponents = (function (exports, vue) {
12168
12179
 
12169
12180
  /** @jsxImportSource vue */
12170
12181
 
12171
- const COMPONENT_NAME$1d = 'vc-date-panel';
12182
+ const COMPONENT_NAME$1e = 'vc-date-panel';
12172
12183
  const DatePanel = /* @__PURE__ */ vue.defineComponent({
12173
- name: COMPONENT_NAME$1d,
12184
+ name: COMPONENT_NAME$1e,
12174
12185
  props: {
12175
12186
  ...props$V,
12176
12187
  type: String,
@@ -12378,9 +12389,9 @@ var VcComponents = (function (exports, vue) {
12378
12389
  const endYear = value[1].getFullYear();
12379
12390
  return startYear === endYear;
12380
12391
  };
12381
- const COMPONENT_NAME$1c = 'vc-monthrange-panel';
12392
+ const COMPONENT_NAME$1d = 'vc-monthrange-panel';
12382
12393
  const MonthRangePanel = /* @__PURE__ */ vue.defineComponent({
12383
- name: COMPONENT_NAME$1c,
12394
+ name: COMPONENT_NAME$1d,
12384
12395
  props: {
12385
12396
  ...props$V,
12386
12397
  confirm: {
@@ -12555,9 +12566,9 @@ var VcComponents = (function (exports, vue) {
12555
12566
  const endYear = value[1].getFullYear();
12556
12567
  return startYear === endYear;
12557
12568
  };
12558
- const COMPONENT_NAME$1b = 'vc-quarterrange-panel';
12569
+ const COMPONENT_NAME$1c = 'vc-quarterrange-panel';
12559
12570
  const QuarterRangePanel = /* @__PURE__ */ vue.defineComponent({
12560
- name: COMPONENT_NAME$1b,
12571
+ name: COMPONENT_NAME$1c,
12561
12572
  props: {
12562
12573
  ...props$V,
12563
12574
  confirm: {
@@ -12796,9 +12807,9 @@ var VcComponents = (function (exports, vue) {
12796
12807
  seconds
12797
12808
  };
12798
12809
  };
12799
- const COMPONENT_NAME$1a = 'vc-timerange-panel';
12810
+ const COMPONENT_NAME$1b = 'vc-timerange-panel';
12800
12811
  const TimeRangePanel = /* @__PURE__ */ vue.defineComponent({
12801
- name: COMPONENT_NAME$1a,
12812
+ name: COMPONENT_NAME$1b,
12802
12813
  props: props$U,
12803
12814
  emits: ['pick', 'clear', 'ok'],
12804
12815
  setup(props, {
@@ -12897,9 +12908,9 @@ var VcComponents = (function (exports, vue) {
12897
12908
 
12898
12909
  /** @jsxImportSource vue */
12899
12910
 
12900
- const COMPONENT_NAME$19 = 'vc-time-panel';
12911
+ const COMPONENT_NAME$1a = 'vc-time-panel';
12901
12912
  const TimePanel = /* @__PURE__ */ vue.defineComponent({
12902
- name: COMPONENT_NAME$19,
12913
+ name: COMPONENT_NAME$1a,
12903
12914
  props: props$U,
12904
12915
  emits: ['pick', 'clear', 'ok'],
12905
12916
  setup(props, {
@@ -12954,7 +12965,7 @@ var VcComponents = (function (exports, vue) {
12954
12965
 
12955
12966
  /** @jsxImportSource vue */
12956
12967
 
12957
- const COMPONENT_NAME$18 = 'vc-date-picker';
12968
+ const COMPONENT_NAME$19 = 'vc-date-picker';
12958
12969
  const getPanel$1 = type => {
12959
12970
  if (['daterange', 'datetimerange'].includes(type)) {
12960
12971
  return DateRangePanel;
@@ -12965,7 +12976,7 @@ var VcComponents = (function (exports, vue) {
12965
12976
  }
12966
12977
  return DatePanel;
12967
12978
  };
12968
- const DatePicker = createPicker(COMPONENT_NAME$18, props$10, () => {
12979
+ const DatePicker = createPicker(COMPONENT_NAME$19, props$10, () => {
12969
12980
  const props = vue.getCurrentInstance().props;
12970
12981
  const icon = vue.ref('date');
12971
12982
  const panel = vue.shallowRef({});
@@ -12998,9 +13009,9 @@ var VcComponents = (function (exports, vue) {
12998
13009
 
12999
13010
  /** @jsxImportSource vue */
13000
13011
 
13001
- const COMPONENT_NAME$17 = 'vc-divider';
13012
+ const COMPONENT_NAME$18 = 'vc-divider';
13002
13013
  const Divider = /* @__PURE__ */ vue.defineComponent({
13003
- name: COMPONENT_NAME$17,
13014
+ name: COMPONENT_NAME$18,
13004
13015
  props: props$T,
13005
13016
  setup(props, {
13006
13017
  slots
@@ -13155,7 +13166,7 @@ var VcComponents = (function (exports, vue) {
13155
13166
 
13156
13167
  /** @jsxImportSource vue */
13157
13168
 
13158
- const COMPONENT_NAME$16 = 'vc-scroller-track';
13169
+ const COMPONENT_NAME$17 = 'vc-scroller-track';
13159
13170
  const BAR_MAP = {
13160
13171
  vertical: {
13161
13172
  scroll: 'scrollTop',
@@ -13175,7 +13186,7 @@ var VcComponents = (function (exports, vue) {
13175
13186
  }
13176
13187
  };
13177
13188
  const Track$1 = /* @__PURE__ */ vue.defineComponent({
13178
- name: COMPONENT_NAME$16,
13189
+ name: COMPONENT_NAME$17,
13179
13190
  props: props$S,
13180
13191
  emits: ['change'],
13181
13192
  inheritAttrs: false,
@@ -13365,9 +13376,9 @@ var VcComponents = (function (exports, vue) {
13365
13376
 
13366
13377
  /** @jsxImportSource vue */
13367
13378
 
13368
- const COMPONENT_NAME$15 = 'vc-scroller-bar';
13379
+ const COMPONENT_NAME$16 = 'vc-scroller-bar';
13369
13380
  const Bar = /* @__PURE__ */ vue.defineComponent({
13370
- name: COMPONENT_NAME$15,
13381
+ name: COMPONENT_NAME$16,
13371
13382
  props: props$R,
13372
13383
  emits: ['change'],
13373
13384
  setup(props, {
@@ -13582,7 +13593,7 @@ var VcComponents = (function (exports, vue) {
13582
13593
 
13583
13594
  /** @jsxImportSource vue */
13584
13595
 
13585
- const COMPONENT_NAME$14 = 'vc-scroller';
13596
+ const COMPONENT_NAME$15 = 'vc-scroller';
13586
13597
 
13587
13598
  /**
13588
13599
  * 作为备选方案,目前推荐使用ScrollerWheel
@@ -13593,7 +13604,7 @@ var VcComponents = (function (exports, vue) {
13593
13604
  * 2. 增加了一层嵌套
13594
13605
  */
13595
13606
  const Scroller = /* @__PURE__ */ vue.defineComponent({
13596
- name: COMPONENT_NAME$14,
13607
+ name: COMPONENT_NAME$15,
13597
13608
  props: props$Q,
13598
13609
  emits: ['scroll'],
13599
13610
  setup(props, {
@@ -14543,7 +14554,7 @@ var VcComponents = (function (exports, vue) {
14543
14554
 
14544
14555
  /** @jsxImportSource vue */
14545
14556
 
14546
- const COMPONENT_NAME$13 = 'vc-scroller-wheel';
14557
+ const COMPONENT_NAME$14 = 'vc-scroller-wheel';
14547
14558
 
14548
14559
  /**
14549
14560
  * 为减少一层嵌套,为去除滚动bar的抖动,使用wheel模拟
@@ -14565,7 +14576,7 @@ var VcComponents = (function (exports, vue) {
14565
14576
  * 设置scrollTop不会reflow和repaint,不需要考虑transfrom来改变content(transform也只在draw完成)
14566
14577
  */
14567
14578
  const ScrollerWheel = /* @__PURE__ */ vue.defineComponent({
14568
- name: COMPONENT_NAME$13,
14579
+ name: COMPONENT_NAME$14,
14569
14580
  props: Object.assign(props$Q, {
14570
14581
  stopPropagation: {
14571
14582
  type: Boolean,
@@ -14744,9 +14755,9 @@ var VcComponents = (function (exports, vue) {
14744
14755
 
14745
14756
  /** @jsxImportSource vue */
14746
14757
 
14747
- const COMPONENT_NAME$12 = 'vc-drawer';
14758
+ const COMPONENT_NAME$13 = 'vc-drawer';
14748
14759
  const DrawerView = /* @__PURE__ */ vue.defineComponent({
14749
- name: COMPONENT_NAME$12,
14760
+ name: COMPONENT_NAME$13,
14750
14761
  props: props$P,
14751
14762
  emits: ['close', 'update:modelValue', 'visible-change'],
14752
14763
  setup(props, {
@@ -14919,9 +14930,9 @@ var VcComponents = (function (exports, vue) {
14919
14930
 
14920
14931
  /** @jsxImportSource vue */
14921
14932
 
14922
- const COMPONENT_NAME$11 = 'vc-dropdown';
14933
+ const COMPONENT_NAME$12 = 'vc-dropdown';
14923
14934
  const Dropdown = /* @__PURE__ */ vue.defineComponent({
14924
- name: COMPONENT_NAME$11,
14935
+ name: COMPONENT_NAME$12,
14925
14936
  props: props$O,
14926
14937
  setup(props, {
14927
14938
  slots
@@ -14945,9 +14956,9 @@ var VcComponents = (function (exports, vue) {
14945
14956
 
14946
14957
  /** @jsxImportSource vue */
14947
14958
 
14948
- const COMPONENT_NAME$10 = 'vc-editor';
14959
+ const COMPONENT_NAME$11 = 'vc-editor';
14949
14960
  const Editor = /* @__PURE__ */ vue.defineComponent({
14950
- name: COMPONENT_NAME$10,
14961
+ name: COMPONENT_NAME$11,
14951
14962
  props: props$N,
14952
14963
  setup(props, {
14953
14964
  slots
@@ -15091,9 +15102,9 @@ var VcComponents = (function (exports, vue) {
15091
15102
  });
15092
15103
  };
15093
15104
 
15094
- const COMPONENT_NAME$$ = "vc-form";
15105
+ const COMPONENT_NAME$10 = "vc-form";
15095
15106
  const Form = vue.defineComponent({
15096
- name: COMPONENT_NAME$$,
15107
+ name: COMPONENT_NAME$10,
15097
15108
  props: props$M,
15098
15109
  setup(props, { slots, expose }) {
15099
15110
  useForm(expose);
@@ -15545,9 +15556,9 @@ var VcComponents = (function (exports, vue) {
15545
15556
 
15546
15557
  /** @jsxImportSource vue */
15547
15558
 
15548
- const COMPONENT_NAME$_ = 'vc-form-item';
15559
+ const COMPONENT_NAME$$ = 'vc-form-item';
15549
15560
  const FormItem = /* @__PURE__ */ vue.defineComponent({
15550
- name: COMPONENT_NAME$_,
15561
+ name: COMPONENT_NAME$$,
15551
15562
  props: props$L,
15552
15563
  setup(props, {
15553
15564
  slots,
@@ -15612,9 +15623,9 @@ var VcComponents = (function (exports, vue) {
15612
15623
  }
15613
15624
  };
15614
15625
 
15615
- const COMPONENT_NAME$Z = "vcm-form";
15626
+ const COMPONENT_NAME$_ = "vcm-form";
15616
15627
  const MForm = vue.defineComponent({
15617
- name: COMPONENT_NAME$Z,
15628
+ name: COMPONENT_NAME$_,
15618
15629
  props: props$K,
15619
15630
  setup(props, { slots, expose }) {
15620
15631
  useForm(expose, {
@@ -15645,9 +15656,9 @@ var VcComponents = (function (exports, vue) {
15645
15656
 
15646
15657
  /** @jsxImportSource vue */
15647
15658
 
15648
- const COMPONENT_NAME$Y = 'vcm-form-item';
15659
+ const COMPONENT_NAME$Z = 'vcm-form-item';
15649
15660
  const MFormItem = /* @__PURE__ */ vue.defineComponent({
15650
- name: COMPONENT_NAME$Y,
15661
+ name: COMPONENT_NAME$Z,
15651
15662
  props: props$J,
15652
15663
  setup(props, {
15653
15664
  slots,
@@ -15701,9 +15712,9 @@ var VcComponents = (function (exports, vue) {
15701
15712
  }
15702
15713
  });
15703
15714
 
15704
- const COMPONENT_NAME$X = "vc-fragment";
15715
+ const COMPONENT_NAME$Y = "vc-fragment";
15705
15716
  const Fragment = vue.defineComponent({
15706
- name: COMPONENT_NAME$X,
15717
+ name: COMPONENT_NAME$Y,
15707
15718
  setup(_, { slots }) {
15708
15719
  return () => vue.h(vue.Fragment, slots.default?.());
15709
15720
  }
@@ -15720,9 +15731,9 @@ var VcComponents = (function (exports, vue) {
15720
15731
 
15721
15732
  /** @jsxImportSource vue */
15722
15733
 
15723
- const COMPONENT_NAME$W = 'vc-html-to-image';
15734
+ const COMPONENT_NAME$X = 'vc-html-to-image';
15724
15735
  const HTMLToImage = /* @__PURE__ */ vue.defineComponent({
15725
- name: COMPONENT_NAME$W,
15736
+ name: COMPONENT_NAME$X,
15726
15737
  props: props$I,
15727
15738
  setup(props, {
15728
15739
  slots
@@ -16180,7 +16191,7 @@ var VcComponents = (function (exports, vue) {
16180
16191
 
16181
16192
  /** @jsxImportSource vue */
16182
16193
 
16183
- const COMPONENT_NAME$V = 'vc-image';
16194
+ const COMPONENT_NAME$W = 'vc-image';
16184
16195
  let isSupportObjectFit = false;
16185
16196
  window.addEventListener('DOMContentLoaded', () => {
16186
16197
  isSupportObjectFit = !IS_SERVER$2 && document.documentElement.style.objectFit !== undefined;
@@ -16193,7 +16204,7 @@ var VcComponents = (function (exports, vue) {
16193
16204
  SCALE_DOWN: 'scale-down'
16194
16205
  };
16195
16206
  const Image$1 = /* @__PURE__ */ vue.defineComponent({
16196
- name: COMPONENT_NAME$V,
16207
+ name: COMPONENT_NAME$W,
16197
16208
  inheritAttrs: false,
16198
16209
  props: props$H,
16199
16210
  setup(props, {
@@ -16398,9 +16409,9 @@ var VcComponents = (function (exports, vue) {
16398
16409
 
16399
16410
  /** @jsxImportSource vue */
16400
16411
 
16401
- const COMPONENT_NAME$U = 'vc-image-crop';
16412
+ const COMPONENT_NAME$V = 'vc-image-crop';
16402
16413
  const ImageCrop = /* @__PURE__ */ vue.defineComponent({
16403
- name: COMPONENT_NAME$U,
16414
+ name: COMPONENT_NAME$V,
16404
16415
  props: props$G,
16405
16416
  setup(props, {
16406
16417
  slots
@@ -16424,9 +16435,9 @@ var VcComponents = (function (exports, vue) {
16424
16435
 
16425
16436
  /** @jsxImportSource vue */
16426
16437
 
16427
- const COMPONENT_NAME$T = 'vc-image-preview';
16438
+ const COMPONENT_NAME$U = 'vc-image-preview';
16428
16439
  const ImagePreview = /* @__PURE__ */ vue.defineComponent({
16429
- name: COMPONENT_NAME$T,
16440
+ name: COMPONENT_NAME$U,
16430
16441
  props: props$F,
16431
16442
  setup(props, {
16432
16443
  slots
@@ -16450,9 +16461,9 @@ var VcComponents = (function (exports, vue) {
16450
16461
 
16451
16462
  /** @jsxImportSource vue */
16452
16463
 
16453
- const COMPONENT_NAME$S = 'vc-image-processing';
16464
+ const COMPONENT_NAME$T = 'vc-image-processing';
16454
16465
  const ImageProcessing = /* @__PURE__ */ vue.defineComponent({
16455
- name: COMPONENT_NAME$S,
16466
+ name: COMPONENT_NAME$T,
16456
16467
  props: props$E,
16457
16468
  setup(props, {
16458
16469
  slots
@@ -16469,9 +16480,9 @@ var VcComponents = (function (exports, vue) {
16469
16480
 
16470
16481
  /** @jsxImportSource vue */
16471
16482
 
16472
- const COMPONENT_NAME$R = 'vcm-input';
16483
+ const COMPONENT_NAME$S = 'vcm-input';
16473
16484
  const MInput = /* @__PURE__ */ vue.defineComponent({
16474
- name: COMPONENT_NAME$R,
16485
+ name: COMPONENT_NAME$S,
16475
16486
  inheritAttrs: false,
16476
16487
  props: {
16477
16488
  ...props$$,
@@ -16560,9 +16571,9 @@ var VcComponents = (function (exports, vue) {
16560
16571
 
16561
16572
  /** @jsxImportSource vue */
16562
16573
 
16563
- const COMPONENT_NAME$Q = 'vcm-input-number';
16574
+ const COMPONENT_NAME$R = 'vcm-input-number';
16564
16575
  const MInputNumber = /* @__PURE__ */ vue.defineComponent({
16565
- name: COMPONENT_NAME$Q,
16576
+ name: COMPONENT_NAME$R,
16566
16577
  props: props$X,
16567
16578
  inheritAttrs: false,
16568
16579
  setup(props, {
@@ -16611,9 +16622,9 @@ var VcComponents = (function (exports, vue) {
16611
16622
 
16612
16623
  /** @jsxImportSource vue */
16613
16624
 
16614
- const COMPONENT_NAME$P = 'vcm-input-search';
16625
+ const COMPONENT_NAME$Q = 'vcm-input-search';
16615
16626
  const MInputSearch = /* @__PURE__ */ vue.defineComponent({
16616
- name: COMPONENT_NAME$P,
16627
+ name: COMPONENT_NAME$Q,
16617
16628
  props: {
16618
16629
  ...props$W,
16619
16630
  cancelText: {
@@ -16690,9 +16701,9 @@ var VcComponents = (function (exports, vue) {
16690
16701
  }
16691
16702
  };
16692
16703
 
16693
- const COMPONENT_NAME$O = "vcm-list";
16704
+ const COMPONENT_NAME$P = "vcm-list";
16694
16705
  const MList = vue.defineComponent({
16695
- name: COMPONENT_NAME$O,
16706
+ name: COMPONENT_NAME$P,
16696
16707
  props: props$D,
16697
16708
  setup(props, { slots }) {
16698
16709
  vue.provide("vc-list", { props });
@@ -16747,10 +16758,10 @@ var VcComponents = (function (exports, vue) {
16747
16758
 
16748
16759
  /** @jsxImportSource vue */
16749
16760
 
16750
- const COMPONENT_NAME$N = 'vcm-list-item';
16761
+ const COMPONENT_NAME$O = 'vcm-list-item';
16751
16762
  const HTTP_REGEX = /[a-zA-z]+:\/\/[^\s]*/;
16752
16763
  const MListItem = /* @__PURE__ */ vue.defineComponent({
16753
- name: COMPONENT_NAME$N,
16764
+ name: COMPONENT_NAME$O,
16754
16765
  props: props$C,
16755
16766
  emits: ['click'],
16756
16767
  setup(props, {
@@ -16883,11 +16894,11 @@ var VcComponents = (function (exports, vue) {
16883
16894
 
16884
16895
  /** @jsxImportSource vue */
16885
16896
 
16886
- const COMPONENT_NAME$M = 'vc-marquee';
16897
+ const COMPONENT_NAME$N = 'vc-marquee';
16887
16898
  const ANIMATION = prefixStyle('animation').camel;
16888
16899
  const TRANSFORM_KEBAB = prefixStyle('transform').kebab;
16889
16900
  const Marquee = /* @__PURE__ */ vue.defineComponent({
16890
- name: COMPONENT_NAME$M,
16901
+ name: COMPONENT_NAME$N,
16891
16902
  props: props$B,
16892
16903
  setup(props, {
16893
16904
  slots
@@ -16955,9 +16966,9 @@ var VcComponents = (function (exports, vue) {
16955
16966
  }
16956
16967
  };
16957
16968
 
16958
- const COMPONENT_NAME$L = "vc-resizer";
16969
+ const COMPONENT_NAME$M = "vc-resizer";
16959
16970
  const Resizer = vue.defineComponent({
16960
- name: COMPONENT_NAME$L,
16971
+ name: COMPONENT_NAME$M,
16961
16972
  props: props$A,
16962
16973
  emit: ["resize", "change"],
16963
16974
  setup(props, { emit, slots, expose }) {
@@ -17104,10 +17115,10 @@ var VcComponents = (function (exports, vue) {
17104
17115
 
17105
17116
  /** @jsxImportSource vue */
17106
17117
 
17107
- const COMPONENT_NAME$K = 'vc-modal';
17118
+ const COMPONENT_NAME$L = 'vc-modal';
17108
17119
  let zIndexNumber = 1002;
17109
17120
  const ModalView = /* @__PURE__ */ vue.defineComponent({
17110
- name: COMPONENT_NAME$K,
17121
+ name: COMPONENT_NAME$L,
17111
17122
  emits: ['update:modelValue', 'close', 'portal-fulfilled', 'visible-change', 'ok', 'cancel'],
17112
17123
  props: props$z,
17113
17124
  setup(props, {
@@ -17534,9 +17545,9 @@ var VcComponents = (function (exports, vue) {
17534
17545
 
17535
17546
  /** @jsxImportSource vue */
17536
17547
 
17537
- const COMPONENT_NAME$J = 'vc-modal';
17548
+ const COMPONENT_NAME$K = 'vc-modal';
17538
17549
  const MModalView = /* @__PURE__ */ vue.defineComponent({
17539
- name: COMPONENT_NAME$J,
17550
+ name: COMPONENT_NAME$K,
17540
17551
  emits: ['update:modelValue', 'portal-fulfilled', 'close', 'ok', 'cancel'],
17541
17552
  props: props$y,
17542
17553
  setup(props, {
@@ -17748,9 +17759,9 @@ var VcComponents = (function (exports, vue) {
17748
17759
 
17749
17760
  /** @jsxImportSource vue */
17750
17761
 
17751
- const COMPONENT_NAME$I = 'vc-notice';
17762
+ const COMPONENT_NAME$J = 'vc-notice';
17752
17763
  const NoticeView = /* @__PURE__ */ vue.defineComponent({
17753
- name: COMPONENT_NAME$I,
17764
+ name: COMPONENT_NAME$J,
17754
17765
  props: props$x,
17755
17766
  emits: ['portal-fulfilled', 'close', 'before-close'],
17756
17767
  setup(props, {
@@ -17923,9 +17934,9 @@ var VcComponents = (function (exports, vue) {
17923
17934
 
17924
17935
  /** @jsxImportSource vue */
17925
17936
 
17926
- const COMPONENT_NAME$H = 'vc-option';
17937
+ const COMPONENT_NAME$I = 'vc-option';
17927
17938
  const Option$1 = /* @__PURE__ */ vue.defineComponent({
17928
- name: COMPONENT_NAME$H,
17939
+ name: COMPONENT_NAME$I,
17929
17940
  props: props$w,
17930
17941
  setup(props, {
17931
17942
  slots
@@ -18038,9 +18049,9 @@ var VcComponents = (function (exports, vue) {
18038
18049
 
18039
18050
  /** @jsxImportSource vue */
18040
18051
 
18041
- const COMPONENT_NAME$G = 'vc-tag';
18052
+ const COMPONENT_NAME$H = 'vc-tag';
18042
18053
  const Tag = /* @__PURE__ */ vue.defineComponent({
18043
- name: COMPONENT_NAME$G,
18054
+ name: COMPONENT_NAME$H,
18044
18055
  props: props$u,
18045
18056
  emits: ['close', 'change'],
18046
18057
  setup(props, {
@@ -18109,9 +18120,9 @@ var VcComponents = (function (exports, vue) {
18109
18120
 
18110
18121
  /** @jsxImportSource vue */
18111
18122
 
18112
- const COMPONENT_NAME$F = 'vc-select-option';
18123
+ const COMPONENT_NAME$G = 'vc-select-option';
18113
18124
  const Option = /* @__PURE__ */ vue.defineComponent({
18114
- name: COMPONENT_NAME$F,
18125
+ name: COMPONENT_NAME$G,
18115
18126
  props: props$t,
18116
18127
  setup(props, {
18117
18128
  slots
@@ -18184,9 +18195,9 @@ var VcComponents = (function (exports, vue) {
18184
18195
 
18185
18196
  /** @jsxImportSource vue */
18186
18197
 
18187
- const COMPONENT_NAME$E = 'vc-select-option-group';
18198
+ const COMPONENT_NAME$F = 'vc-select-option-group';
18188
18199
  const OptionGroup = /* @__PURE__ */ vue.defineComponent({
18189
- name: COMPONENT_NAME$E,
18200
+ name: COMPONENT_NAME$F,
18190
18201
  props: props$s,
18191
18202
  setup(props, {
18192
18203
  slots
@@ -18205,7 +18216,7 @@ var VcComponents = (function (exports, vue) {
18205
18216
  }
18206
18217
  });
18207
18218
 
18208
- const inputKeys = [
18219
+ const inputKeys$1 = [
18209
18220
  "id",
18210
18221
  "disabled",
18211
18222
  "modelValue",
@@ -18217,7 +18228,7 @@ var VcComponents = (function (exports, vue) {
18217
18228
  ];
18218
18229
  const props$r = {
18219
18230
  ...pick(props$Z, popoverKeys),
18220
- ...pick(props$$, inputKeys),
18231
+ ...pick(props$$, inputKeys$1),
18221
18232
  data: {
18222
18233
  type: Array,
18223
18234
  default: () => []
@@ -18284,9 +18295,9 @@ var VcComponents = (function (exports, vue) {
18284
18295
  function _isSlot$1(s) {
18285
18296
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
18286
18297
  }
18287
- const COMPONENT_NAME$D = 'vc-select';
18298
+ const COMPONENT_NAME$E = 'vc-select';
18288
18299
  const Select = /* @__PURE__ */ vue.defineComponent({
18289
- name: COMPONENT_NAME$D,
18300
+ name: COMPONENT_NAME$E,
18290
18301
  props: props$r,
18291
18302
  emits: ['ready', 'close', 'visible-change', 'clear', 'change', 'update:modelValue'],
18292
18303
  setup(props, {
@@ -18530,9 +18541,9 @@ var VcComponents = (function (exports, vue) {
18530
18541
 
18531
18542
  /** @jsxImportSource vue */
18532
18543
 
18533
- const COMPONENT_NAME$C = 'vc-pagination';
18544
+ const COMPONENT_NAME$D = 'vc-pagination';
18534
18545
  const Pagination = /* @__PURE__ */ vue.defineComponent({
18535
- name: COMPONENT_NAME$C,
18546
+ name: COMPONENT_NAME$D,
18536
18547
  props: props$v,
18537
18548
  emits: ['update:current', 'change', 'page-size-change'],
18538
18549
  setup(props, {
@@ -18730,9 +18741,9 @@ var VcComponents = (function (exports, vue) {
18730
18741
 
18731
18742
  /** @jsxImportSource vue */
18732
18743
 
18733
- const COMPONENT_NAME$B = 'vc-picker';
18744
+ const COMPONENT_NAME$C = 'vc-picker';
18734
18745
  const Picker = /* @__PURE__ */ vue.defineComponent({
18735
- name: COMPONENT_NAME$B,
18746
+ name: COMPONENT_NAME$C,
18736
18747
  props: props$q,
18737
18748
  setup(props, {
18738
18749
  slots
@@ -18756,9 +18767,9 @@ var VcComponents = (function (exports, vue) {
18756
18767
 
18757
18768
  /** @jsxImportSource vue */
18758
18769
 
18759
- const COMPONENT_NAME$A = 'vc-popconfirm';
18770
+ const COMPONENT_NAME$B = 'vc-popconfirm';
18760
18771
  const Popconfirm = /* @__PURE__ */ vue.defineComponent({
18761
- name: COMPONENT_NAME$A,
18772
+ name: COMPONENT_NAME$B,
18762
18773
  props: props$p,
18763
18774
  setup(props, {
18764
18775
  slots
@@ -18784,9 +18795,9 @@ var VcComponents = (function (exports, vue) {
18784
18795
 
18785
18796
  /** @jsxImportSource vue */
18786
18797
 
18787
- const COMPONENT_NAME$z = 'vc-popup';
18798
+ const COMPONENT_NAME$A = 'vc-popup';
18788
18799
  const Popup = /* @__PURE__ */ vue.defineComponent({
18789
- name: COMPONENT_NAME$z,
18800
+ name: COMPONENT_NAME$A,
18790
18801
  props: props$o,
18791
18802
  setup(props, {
18792
18803
  slots
@@ -18813,9 +18824,9 @@ var VcComponents = (function (exports, vue) {
18813
18824
 
18814
18825
  /** @jsxImportSource vue */
18815
18826
 
18816
- const COMPONENT_NAME$y = 'vc-print';
18827
+ const COMPONENT_NAME$z = 'vc-print';
18817
18828
  const Print = /* @__PURE__ */ vue.defineComponent({
18818
- name: COMPONENT_NAME$y,
18829
+ name: COMPONENT_NAME$z,
18819
18830
  props: props$n,
18820
18831
  setup(props, {
18821
18832
  expose,
@@ -18917,9 +18928,9 @@ var VcComponents = (function (exports, vue) {
18917
18928
 
18918
18929
  /** @jsxImportSource vue */
18919
18930
 
18920
- const COMPONENT_NAME$x = 'vc-progress-circle';
18931
+ const COMPONENT_NAME$y = 'vc-progress-circle';
18921
18932
  const Circle$1 = /* @__PURE__ */ vue.defineComponent({
18922
- name: COMPONENT_NAME$x,
18933
+ name: COMPONENT_NAME$y,
18923
18934
  props: props$m,
18924
18935
  setup(props, {
18925
18936
  slots
@@ -18979,9 +18990,9 @@ var VcComponents = (function (exports, vue) {
18979
18990
 
18980
18991
  /** @jsxImportSource vue */
18981
18992
 
18982
- const COMPONENT_NAME$w = 'vc-progress-line';
18993
+ const COMPONENT_NAME$x = 'vc-progress-line';
18983
18994
  const Line$2 = /* @__PURE__ */ vue.defineComponent({
18984
- name: COMPONENT_NAME$w,
18995
+ name: COMPONENT_NAME$x,
18985
18996
  props: props$m,
18986
18997
  setup(props) {
18987
18998
  const colorStyle = vue.computed(() => {
@@ -19028,9 +19039,9 @@ var VcComponents = (function (exports, vue) {
19028
19039
  function _isSlot(s) {
19029
19040
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
19030
19041
  }
19031
- const COMPONENT_NAME$v = 'vc-progress';
19042
+ const COMPONENT_NAME$w = 'vc-progress';
19032
19043
  const Progress = /* @__PURE__ */ vue.defineComponent({
19033
- name: COMPONENT_NAME$v,
19044
+ name: COMPONENT_NAME$w,
19034
19045
  props: props$m,
19035
19046
  setup(props, {
19036
19047
  slots
@@ -19182,9 +19193,9 @@ var VcComponents = (function (exports, vue) {
19182
19193
 
19183
19194
  /** @jsxImportSource vue */
19184
19195
 
19185
- const COMPONENT_NAME$u = 'vc-radio';
19196
+ const COMPONENT_NAME$v = 'vc-radio';
19186
19197
  const Radio = /* @__PURE__ */ vue.defineComponent({
19187
- name: COMPONENT_NAME$u,
19198
+ name: COMPONENT_NAME$v,
19188
19199
  props: props$l,
19189
19200
  emits: ['update:modelValue', 'change'],
19190
19201
  setup(props, {
@@ -19295,9 +19306,9 @@ var VcComponents = (function (exports, vue) {
19295
19306
 
19296
19307
  /** @jsxImportSource vue */
19297
19308
 
19298
- const COMPONENT_NAME$t = 'vc-radio-group';
19309
+ const COMPONENT_NAME$u = 'vc-radio-group';
19299
19310
  const RadioGroup = /* @__PURE__ */ vue.defineComponent({
19300
- name: COMPONENT_NAME$t,
19311
+ name: COMPONENT_NAME$u,
19301
19312
  props: props$k,
19302
19313
  emits: ['update:modelValue', 'change'],
19303
19314
  setup(props, {
@@ -19319,9 +19330,9 @@ var VcComponents = (function (exports, vue) {
19319
19330
 
19320
19331
  /** @jsxImportSource vue */
19321
19332
 
19322
- const COMPONENT_NAME$s = 'vcm-radio';
19333
+ const COMPONENT_NAME$t = 'vcm-radio';
19323
19334
  const MRadio = /* @__PURE__ */ vue.defineComponent({
19324
- name: COMPONENT_NAME$s,
19335
+ name: COMPONENT_NAME$t,
19325
19336
  props: props$l,
19326
19337
  emits: ['update:modelValue', 'change'],
19327
19338
  setup(props, {
@@ -19362,9 +19373,9 @@ var VcComponents = (function (exports, vue) {
19362
19373
 
19363
19374
  /** @jsxImportSource vue */
19364
19375
 
19365
- const COMPONENT_NAME$r = 'vcm-radio-group';
19376
+ const COMPONENT_NAME$s = 'vcm-radio-group';
19366
19377
  const MRadioGroup = /* @__PURE__ */ vue.defineComponent({
19367
- name: COMPONENT_NAME$r,
19378
+ name: COMPONENT_NAME$s,
19368
19379
  props: props$k,
19369
19380
  emits: ['update:modelValue', 'change'],
19370
19381
  setup(props, {
@@ -19393,9 +19404,9 @@ var VcComponents = (function (exports, vue) {
19393
19404
 
19394
19405
  /** @jsxImportSource vue */
19395
19406
 
19396
- const COMPONENT_NAME$q = 'vc-rate';
19407
+ const COMPONENT_NAME$r = 'vc-rate';
19397
19408
  const Rate = /* @__PURE__ */ vue.defineComponent({
19398
- name: COMPONENT_NAME$q,
19409
+ name: COMPONENT_NAME$r,
19399
19410
  props: props$j,
19400
19411
  setup(props, {
19401
19412
  slots
@@ -19577,9 +19588,9 @@ var VcComponents = (function (exports, vue) {
19577
19588
 
19578
19589
  /** @jsxImportSource vue */
19579
19590
 
19580
- const COMPONENT_NAME$p = 'vc-recycle-list-scroll-state';
19591
+ const COMPONENT_NAME$q = 'vc-recycle-list-scroll-state';
19581
19592
  const ScrollState = /* @__PURE__ */ vue.defineComponent({
19582
- name: COMPONENT_NAME$p,
19593
+ name: COMPONENT_NAME$q,
19583
19594
  setup(_, {
19584
19595
  slots
19585
19596
  }) {
@@ -19709,12 +19720,12 @@ var VcComponents = (function (exports, vue) {
19709
19720
 
19710
19721
  /** @jsxImportSource vue */
19711
19722
 
19712
- const COMPONENT_NAME$o = 'vc-recycle-list-container';
19723
+ const COMPONENT_NAME$p = 'vc-recycle-list-container';
19713
19724
 
19714
19725
  // TODO: 抽离
19715
19726
  const transformKey = prefixStyle('transform').camel;
19716
19727
  const Container = /* @__PURE__ */ vue.defineComponent({
19717
- name: COMPONENT_NAME$o,
19728
+ name: COMPONENT_NAME$p,
19718
19729
  props: props$h,
19719
19730
  emits: ['refresh'],
19720
19731
  setup(props, {
@@ -19812,9 +19823,9 @@ var VcComponents = (function (exports, vue) {
19812
19823
 
19813
19824
  /** @jsxImportSource vue */
19814
19825
 
19815
- const COMPONENT_NAME$n = 'vc-recycle-list';
19826
+ const COMPONENT_NAME$o = 'vc-recycle-list';
19816
19827
  const RecycleList = /* @__PURE__ */ vue.defineComponent({
19817
- name: COMPONENT_NAME$n,
19828
+ name: COMPONENT_NAME$o,
19818
19829
  props: props$i,
19819
19830
  emits: ['scroll', 'row-resize'],
19820
19831
  setup(props, {
@@ -19961,21 +19972,12 @@ var VcComponents = (function (exports, vue) {
19961
19972
  const current = props.inverted ? rebuildData.value[rebuildDataIndexMap.value[index]] : rebuildData.value[index];
19962
19973
  if (!current) return; // 受到`removeUnusedPlaceholders`影响,无效的会被回收
19963
19974
 
19964
- const oldSize = current.size;
19965
19975
  const dom = preloads.value[index] || curloads.value[props.inverted ? index : index - firstItemIndex.value];
19966
19976
  if (dom) {
19967
19977
  current.size = dom[K.offsetSize] || placeholderSize.value;
19968
19978
  } else if (current) {
19969
19979
  current.size = placeholderSize.value;
19970
19980
  }
19971
-
19972
- // 这样的考虑欠佳,待优化
19973
- if (oldSize !== current.size) {
19974
- emit('row-resize', {
19975
- index: current.id,
19976
- size: current.size
19977
- });
19978
- }
19979
19981
  };
19980
19982
  const refreshItemPosition = () => {
19981
19983
  const sizes = Array.from({
@@ -20205,6 +20207,13 @@ var VcComponents = (function (exports, vue) {
20205
20207
  leading: false,
20206
20208
  trailing: true
20207
20209
  });
20210
+ const handleRowChange = (e, row) => {
20211
+ emit('row-resize', {
20212
+ index: row.id,
20213
+ height: e.height,
20214
+ width: e.width
20215
+ });
20216
+ };
20208
20217
 
20209
20218
  // 设置初始数据
20210
20219
  const setDataSource = async (v, oldV) => {
@@ -20335,7 +20344,8 @@ var VcComponents = (function (exports, vue) {
20335
20344
  "data-column": item.column,
20336
20345
  "data-size": item.size,
20337
20346
  "data-position": item.position,
20338
- "onResize": handleResize
20347
+ "onResize": handleResize,
20348
+ "onChange": e => handleRowChange(e, item)
20339
20349
  }, {
20340
20350
  default: () => [slots.default?.({
20341
20351
  row: item.data || {},
@@ -20386,9 +20396,9 @@ var VcComponents = (function (exports, vue) {
20386
20396
 
20387
20397
  /** @jsxImportSource vue */
20388
20398
 
20389
- const COMPONENT_NAME$m = 'vc-slider';
20399
+ const COMPONENT_NAME$n = 'vc-slider';
20390
20400
  const Slider = /* @__PURE__ */ vue.defineComponent({
20391
- name: COMPONENT_NAME$m,
20401
+ name: COMPONENT_NAME$n,
20392
20402
  props: props$g,
20393
20403
  setup(props, {
20394
20404
  slots
@@ -20412,9 +20422,9 @@ var VcComponents = (function (exports, vue) {
20412
20422
 
20413
20423
  /** @jsxImportSource vue */
20414
20424
 
20415
- const COMPONENT_NAME$l = 'vc-sort-list';
20425
+ const COMPONENT_NAME$m = 'vc-sort-list';
20416
20426
  const SortList = /* @__PURE__ */ vue.defineComponent({
20417
- name: COMPONENT_NAME$l,
20427
+ name: COMPONENT_NAME$m,
20418
20428
  props: props$f,
20419
20429
  setup(props, {
20420
20430
  slots
@@ -20438,9 +20448,9 @@ var VcComponents = (function (exports, vue) {
20438
20448
 
20439
20449
  /** @jsxImportSource vue */
20440
20450
 
20441
- const COMPONENT_NAME$k = 'vc-steps';
20451
+ const COMPONENT_NAME$l = 'vc-steps';
20442
20452
  const Steps = /* @__PURE__ */ vue.defineComponent({
20443
- name: COMPONENT_NAME$k,
20453
+ name: COMPONENT_NAME$l,
20444
20454
  props: props$e,
20445
20455
  setup(props, {
20446
20456
  slots
@@ -20553,9 +20563,9 @@ var VcComponents = (function (exports, vue) {
20553
20563
 
20554
20564
  /** @jsxImportSource vue */
20555
20565
 
20556
- const COMPONENT_NAME$j = 'vc-switch';
20566
+ const COMPONENT_NAME$k = 'vc-switch';
20557
20567
  const Switch = /* @__PURE__ */ vue.defineComponent({
20558
- name: COMPONENT_NAME$j,
20568
+ name: COMPONENT_NAME$k,
20559
20569
  props: props$d,
20560
20570
  // click -> onClick要被拦截,此处不能放置
20561
20571
  emits: ['update:modelValue', 'change', 'click'],
@@ -20592,9 +20602,9 @@ var VcComponents = (function (exports, vue) {
20592
20602
 
20593
20603
  /** @jsxImportSource vue */
20594
20604
 
20595
- const COMPONENT_NAME$i = 'vcm-switch';
20605
+ const COMPONENT_NAME$j = 'vcm-switch';
20596
20606
  const MSwitch = /* @__PURE__ */ vue.defineComponent({
20597
- name: COMPONENT_NAME$i,
20607
+ name: COMPONENT_NAME$j,
20598
20608
  props: props$d,
20599
20609
  // click -> onClick要被拦截,此处不能放置
20600
20610
  emits: ['update:modelValue', 'change', 'click'],
@@ -38577,6 +38587,7 @@ var VcComponents = (function (exports, vue) {
38577
38587
  });
38578
38588
  }
38579
38589
  setData(data) {
38590
+ const { primaryKey } = this.table.props;
38580
38591
  const dataInstanceChanged = this.states._data !== data;
38581
38592
  this.states._data = data;
38582
38593
  this.states.data = data;
@@ -38588,19 +38599,22 @@ var VcComponents = (function (exports, vue) {
38588
38599
  });
38589
38600
  this.states.list = data.reduce((pre, row, index) => {
38590
38601
  const cache = caches.get(row) || { heightMap: {} };
38591
- pre.push({
38592
- rows: [
38593
- {
38594
- index,
38595
- data: row,
38596
- height: cache.height || "",
38597
- heightMap: {
38598
- left: cache.heightMap.left || "",
38599
- main: cache.heightMap.main || "",
38600
- right: cache.heightMap.right || ""
38601
- }
38602
+ const rows = [
38603
+ {
38604
+ index,
38605
+ data: row,
38606
+ height: cache.height || "",
38607
+ heightMap: {
38608
+ left: cache.heightMap.left || "",
38609
+ main: cache.heightMap.main || "",
38610
+ right: cache.heightMap.right || ""
38602
38611
  }
38603
- ],
38612
+ }
38613
+ ];
38614
+ const id = primaryKey ? rows.map((rowData) => getRowValue(rowData.data, primaryKey)).join(",") : index;
38615
+ pre.push({
38616
+ id: typeof id === "undefined" ? index : id,
38617
+ rows,
38604
38618
  expand: false
38605
38619
  });
38606
38620
  return pre;
@@ -38914,9 +38928,9 @@ var VcComponents = (function (exports, vue) {
38914
38928
 
38915
38929
  /** @jsxImportSource vue */
38916
38930
 
38917
- const COMPONENT_NAME$h = 'vc-table-normal-list';
38931
+ const COMPONENT_NAME$i = 'vc-table-normal-list';
38918
38932
  const NormalList = /* @__PURE__ */ vue.defineComponent({
38919
- name: COMPONENT_NAME$h,
38933
+ name: COMPONENT_NAME$i,
38920
38934
  props: {
38921
38935
  data: {
38922
38936
  type: Array,
@@ -38931,17 +38945,19 @@ var VcComponents = (function (exports, vue) {
38931
38945
  const handleResize = (e, index) => {
38932
38946
  emit('row-resize', {
38933
38947
  index,
38934
- size: e.height
38948
+ height: e.height,
38949
+ width: e.width
38935
38950
  });
38936
38951
  };
38937
38952
  return () => {
38938
- return props.data.map((row, index) => {
38953
+ return props.data.map((mergeData, index) => {
38939
38954
  return vue.createVNode(Resizer, {
38955
+ "key": mergeData.id,
38940
38956
  "fill": false,
38941
38957
  "onChange": e => handleResize(e, index)
38942
38958
  }, {
38943
38959
  default: () => [slots.default?.({
38944
- row,
38960
+ row: mergeData,
38945
38961
  index
38946
38962
  })]
38947
38963
  });
@@ -39090,32 +39106,6 @@ var VcComponents = (function (exports, vue) {
39090
39106
  table.hoverState.value = hoverState;
39091
39107
  table.emit('cell-mouse-enter', hoverState.row, hoverState.column, hoverState.cell, e);
39092
39108
  }
39093
-
39094
- // 判断是否text-overflow, 如果是就显示tooltip
39095
- const cellChild = e.target.querySelector('.vc-table__cell');
39096
- if (!(hasClass(cellChild, 'vc-popover') && cellChild.childNodes.length)) {
39097
- return;
39098
- }
39099
- // 使用范围宽度而不是滚动宽度来确定文本是否溢出,以解决潜在的FireFox bug
39100
- // https://bugzilla.mozilla.org/show_bug.cgi?id=1074543#c3
39101
- const range = document.createRange();
39102
- range.setStart(cellChild, 0);
39103
- range.setEnd(cellChild, cellChild.childNodes.length);
39104
- const rangeWidth = range.getBoundingClientRect().width;
39105
- const padding = (parseInt(cellChild.style.paddingLeft, 10) || 0) + (parseInt(cellChild.style.paddingRight, 10) || 0);
39106
- if (rangeWidth + padding > cellChild.offsetWidth || cellChild.scrollWidth > cellChild.offsetWidth) {
39107
- Popover.open({
39108
- el: document.body,
39109
- name: 'vc-table-popover',
39110
- // 确保不重复创建
39111
- triggerEl: cell,
39112
- hover: true,
39113
- theme: 'dark',
39114
- placement: 'top',
39115
- content: cell.innerText || cell.textContent,
39116
- alone: true
39117
- });
39118
- }
39119
39109
  };
39120
39110
  const handleCellMouseLeave = e => {
39121
39111
  const cell = getCell(e);
@@ -39203,13 +39193,14 @@ var VcComponents = (function (exports, vue) {
39203
39193
  })]);
39204
39194
  })]);
39205
39195
  };
39206
- const renderMergeRow = (mergeData, mergeIndex) => {
39196
+ const renderMergeRow = mergeData => {
39207
39197
  const {
39208
- rows
39198
+ rows,
39199
+ id
39209
39200
  } = mergeData;
39210
39201
  return vue.createVNode("div", {
39211
39202
  "class": "vc-table__merge-row",
39212
- "key": mergeIndex
39203
+ "key": id
39213
39204
  }, [rows.map(row => {
39214
39205
  return renderRow(row, row.index);
39215
39206
  })]);
@@ -39217,7 +39208,7 @@ var VcComponents = (function (exports, vue) {
39217
39208
  const handleMergeRowResize = v => {
39218
39209
  if (table.props.rowHeight) return;
39219
39210
  states.list[v.index].rows.forEach(row => {
39220
- row.heightMap[props.fixed || 'main'] = v.size;
39211
+ row.heightMap[props.fixed || 'main'] = v.height;
39221
39212
  const heights = [row.heightMap.main];
39222
39213
  if (states.leftFixedCount) {
39223
39214
  heights.push(row.heightMap.left);
@@ -39269,17 +39260,15 @@ var VcComponents = (function (exports, vue) {
39269
39260
  "style": props.heightStyle
39270
39261
  }, {
39271
39262
  default: ({
39272
- row,
39273
- index
39274
- }) => renderMergeRow(row, index)
39263
+ row
39264
+ }) => renderMergeRow(row)
39275
39265
  }) : vue.createVNode(NormalList, {
39276
39266
  "data": states.list,
39277
39267
  "onRowResize": handleMergeRowResize
39278
39268
  }, {
39279
39269
  default: ({
39280
- row,
39281
- index
39282
- }) => renderMergeRow(row, index)
39270
+ row
39271
+ }) => renderMergeRow(row)
39283
39272
  })]);
39284
39273
  };
39285
39274
  }
@@ -39773,9 +39762,9 @@ var VcComponents = (function (exports, vue) {
39773
39762
 
39774
39763
  /** @jsxImportSource vue */
39775
39764
 
39776
- const COMPONENT_NAME$g = 'vc-table';
39765
+ const COMPONENT_NAME$h = 'vc-table';
39777
39766
  const Table = /* @__PURE__ */ vue.defineComponent({
39778
- name: COMPONENT_NAME$g,
39767
+ name: COMPONENT_NAME$h,
39779
39768
  props: props$c,
39780
39769
  emits: ['select', 'select-all', 'selection-change', 'cell-mouse-enter', 'cell-mouse-leave', 'cell-click', 'cell-dblclick', 'row-click', 'row-contextmenu', 'row-dblclick', 'header-click', 'header-contextmenu', 'current-change', 'header-dragend ', 'expand-change', 'sort-change'],
39781
39770
  setup(props, {
@@ -40305,6 +40294,194 @@ var VcComponents = (function (exports, vue) {
40305
40294
  }
40306
40295
  });
40307
40296
 
40297
+ const props$b = {
40298
+ tag: {
40299
+ type: String,
40300
+ default: "div"
40301
+ },
40302
+ value: {
40303
+ type: String,
40304
+ default: ""
40305
+ },
40306
+ line: {
40307
+ type: Number,
40308
+ default: 0
40309
+ },
40310
+ // TODO: 是否改为tail-indent来表示尾部缩进
40311
+ indent: {
40312
+ type: Number,
40313
+ default: 0
40314
+ },
40315
+ resize: {
40316
+ type: [Boolean, Number],
40317
+ default: 100
40318
+ },
40319
+ suffix: {
40320
+ type: String,
40321
+ default: "..."
40322
+ },
40323
+ placement: {
40324
+ type: String,
40325
+ default: "top"
40326
+ },
40327
+ portalClass: [Object, String, Array],
40328
+ portalStyle: [Object, String, Array],
40329
+ renderRow: {
40330
+ type: Function,
40331
+ default: (props$) => {
40332
+ return props$.value;
40333
+ }
40334
+ }
40335
+ };
40336
+
40337
+ const HIDDEN_TEXT_STYLE = `
40338
+ position: absolute!important;
40339
+ word-break: break-all!important;
40340
+ overflow: auto!important;
40341
+ opacity: 0!important;
40342
+ z-index: -1000!important;
40343
+ top: 0!important;
40344
+ right: 0!important;
40345
+ `;
40346
+ const SIZING_STYLE$1 = [
40347
+ "letter-spacing",
40348
+ "line-height",
40349
+ "padding-top",
40350
+ "padding-bottom",
40351
+ "font-family",
40352
+ "font-weight",
40353
+ "font-size",
40354
+ "text-rendering",
40355
+ "text-transform",
40356
+ "width",
40357
+ // 'text-indent', // 需要额外计算
40358
+ "padding-left",
40359
+ "padding-right",
40360
+ "border-width",
40361
+ "box-sizing"
40362
+ ];
40363
+ let hiddenEl$1;
40364
+ const getFitIndex = (options = {}) => {
40365
+ const { el, line, value, suffix, indent } = options;
40366
+ let lineHeight = parseInt(getStyle$1(el, "line-height"), 10);
40367
+ if (!hiddenEl$1) {
40368
+ hiddenEl$1 = document.createElement("div");
40369
+ document.body.appendChild(hiddenEl$1);
40370
+ }
40371
+ el.getAttribute("wrap") ? hiddenEl$1.setAttribute("wrap", el.getAttribute("wrap")) : hiddenEl$1.removeAttribute("wrap");
40372
+ const {
40373
+ paddingSize,
40374
+ borderSize,
40375
+ boxSizing,
40376
+ sizingStyle
40377
+ } = utils.getComputedStyle(el, SIZING_STYLE$1);
40378
+ const textIndent = `text-indent: ${parseInt(getStyle$1(el, "text-indent"), 10) + indent}px;`;
40379
+ hiddenEl$1.setAttribute("style", `${sizingStyle};${textIndent};${HIDDEN_TEXT_STYLE}`);
40380
+ let sideHeight = paddingSize || 0;
40381
+ boxSizing === "border-box" && (sideHeight += borderSize);
40382
+ if (Number.isNaN(lineHeight)) {
40383
+ hiddenEl$1.innerText = ".";
40384
+ lineHeight = hiddenEl$1.clientHeight - sideHeight;
40385
+ }
40386
+ let endIndex = 0;
40387
+ hiddenEl$1.innerText = suffix;
40388
+ value.split("").forEach((item, i) => {
40389
+ let old = hiddenEl$1.innerText;
40390
+ old = old.substring(0, old.length - suffix.length);
40391
+ hiddenEl$1.innerText = old + item + suffix;
40392
+ if (hiddenEl$1.clientHeight - sideHeight > lineHeight * line && endIndex === 0) {
40393
+ endIndex = i;
40394
+ }
40395
+ });
40396
+ return endIndex;
40397
+ };
40398
+
40399
+ /** @jsxImportSource vue */
40400
+
40401
+ const COMPONENT_NAME$g = 'vc-text';
40402
+ const Text = /* @__PURE__ */ vue.defineComponent({
40403
+ name: COMPONENT_NAME$g,
40404
+ props: props$b,
40405
+ setup(props, {
40406
+ emit
40407
+ }) {
40408
+ const instance = vue.getCurrentInstance();
40409
+ const isActive = vue.ref(false);
40410
+ const endIndex = vue.ref(0);
40411
+ const styles = vue.computed(() => {
40412
+ return {
40413
+ cursor: endIndex.value === 0 ? 'unset' : 'pointer'
40414
+ };
40415
+ });
40416
+ const calcPosition = () => {
40417
+ const {
40418
+ suffix,
40419
+ line,
40420
+ value,
40421
+ indent
40422
+ } = props;
40423
+ if (line === 0) {
40424
+ endIndex.value = 0;
40425
+ isActive.value = true;
40426
+ } else {
40427
+ endIndex.value = getFitIndex({
40428
+ el: instance.vnode.el,
40429
+ line,
40430
+ value,
40431
+ suffix,
40432
+ indent
40433
+ });
40434
+ isActive.value = true;
40435
+ }
40436
+ emit('clip', endIndex.value);
40437
+ };
40438
+ const handleResize = props.resize === true || props.resize === 0 ? calcPosition : debounce$1(calcPosition, props.resize || 0);
40439
+ const handleMouseOver = e => {
40440
+ if (endIndex.value > 0) {
40441
+ Popover.open({
40442
+ el: document.body,
40443
+ name: 'vc-text-popover',
40444
+ // 确保不重复创建
40445
+ triggerEl: e.target,
40446
+ hover: true,
40447
+ theme: 'dark',
40448
+ placement: props.placement,
40449
+ portalClass: props.portalClass,
40450
+ portalStyle: [props.portalStyle || `width: ${e.target.clientWidth}px`, 'word-break: break-all'],
40451
+ content: props.value
40452
+ });
40453
+ }
40454
+ };
40455
+ const handleMouseOut = () => {
40456
+ // Do.
40457
+ };
40458
+ ['value', 'indent', 'line'].forEach(key => {
40459
+ vue.watch(() => props[key], calcPosition);
40460
+ });
40461
+ vue.onMounted(() => {
40462
+ props.resize !== false && Resize.on(instance.vnode.el, handleResize); // 首次会执行一次
40463
+ });
40464
+ vue.onBeforeUnmount(() => {
40465
+ props.resize !== false && Resize.off(instance.vnode.el, handleResize);
40466
+ });
40467
+ const Content = props.tag;
40468
+ return () => {
40469
+ return vue.createVNode(Content, {
40470
+ "class": "vc-text",
40471
+ "style": styles.value,
40472
+ "onMouseover": handleMouseOver,
40473
+ "onMouseout": handleMouseOut
40474
+ }, {
40475
+ default: () => [isActive.value ? vue.createVNode(Customer, {
40476
+ "value": endIndex.value > 0 ? `${props.value.slice(0, endIndex.value)}${props.suffix}` : props.value,
40477
+ "index": endIndex.value,
40478
+ "render": props.renderRow
40479
+ }, null) : null]
40480
+ });
40481
+ };
40482
+ }
40483
+ });
40484
+
40308
40485
  const cellStarts = {
40309
40486
  default: {
40310
40487
  order: ''
@@ -40414,26 +40591,31 @@ var VcComponents = (function (exports, vue) {
40414
40591
  };
40415
40592
 
40416
40593
  // Cell默认渲染value 或 formatter
40417
- const defaultRenderCell = ({
40418
- row,
40419
- column = {},
40420
- rowIndex
40421
- }) => {
40594
+ const defaultRenderCell = (rowData = {}) => {
40595
+ const column = rowData.column;
40422
40596
  const {
40423
40597
  prop,
40424
40598
  formatter
40425
40599
  } = column;
40426
40600
  let value;
40427
40601
  if (prop) {
40428
- value = getPropByPath(row, prop).v;
40602
+ value = getPropByPath(rowData.row, prop).v;
40429
40603
  }
40430
40604
  if (formatter) {
40431
- return column.formatter({
40432
- row,
40433
- column,
40434
- value,
40435
- rowIndex
40436
- });
40605
+ return column.formatter(rowData);
40606
+ }
40607
+ const line = column.line || VcInstance.options.TableColumn?.line;
40608
+ if (line) {
40609
+ const style = {
40610
+ // 目前左右pading为10
40611
+ // TODO: 含有border还要-1
40612
+ width: (column.realWidth || column.width) - 20 + 'px'
40613
+ };
40614
+ return vue.createVNode(Text, {
40615
+ "style": style,
40616
+ "line": line,
40617
+ "value": value
40618
+ }, null);
40437
40619
  }
40438
40620
  return value;
40439
40621
  };
@@ -40486,6 +40668,11 @@ var VcComponents = (function (exports, vue) {
40486
40668
  type: String,
40487
40669
  default: 'default'
40488
40670
  },
40671
+ // 默认只展示一行
40672
+ line: {
40673
+ type: Number,
40674
+ default: 0
40675
+ },
40489
40676
  label: String,
40490
40677
  customClass: String,
40491
40678
  labelClass: String,
@@ -40500,7 +40687,6 @@ var VcComponents = (function (exports, vue) {
40500
40687
  columnKey: String,
40501
40688
  align: String,
40502
40689
  headerAlign: String,
40503
- showPopover: Boolean,
40504
40690
  fixed: [Boolean, String],
40505
40691
  formatter: Function,
40506
40692
  selectable: Function,
@@ -40648,12 +40834,6 @@ var VcComponents = (function (exports, vue) {
40648
40834
  "class": "vc-table-un-expand__indent"
40649
40835
  }, null);
40650
40836
  }
40651
- if (data.column.showPopover) {
40652
- $props.class += ' vc-popover';
40653
- $props.style = {
40654
- width: (data.column.realWidth || data.column.width) - 1 + 'px'
40655
- };
40656
- }
40657
40837
  const {
40658
40838
  placeholder
40659
40839
  } = table.props;
@@ -40753,7 +40933,7 @@ var VcComponents = (function (exports, vue) {
40753
40933
  const MTable = Table;
40754
40934
  const MTableColumn = TableColumn;
40755
40935
 
40756
- const props$b = {
40936
+ const props$a = {
40757
40937
  type: {
40758
40938
  type: String,
40759
40939
  validator: (v) => /^(line|card)$/.test(v),
@@ -40911,7 +41091,7 @@ var VcComponents = (function (exports, vue) {
40911
41091
  const COMPONENT_NAME$f = 'vc-tabs';
40912
41092
  const Tabs = /* @__PURE__ */ vue.defineComponent({
40913
41093
  name: COMPONENT_NAME$f,
40914
- props: props$b,
41094
+ props: props$a,
40915
41095
  emits: ['update:modelValue', 'change', 'click'],
40916
41096
  setup(props, {
40917
41097
  slots
@@ -41076,7 +41256,7 @@ var VcComponents = (function (exports, vue) {
41076
41256
  }
41077
41257
  });
41078
41258
 
41079
- const props$a = {
41259
+ const props$9 = {
41080
41260
  value: {
41081
41261
  type: [String, Number]
41082
41262
  },
@@ -41161,7 +41341,7 @@ var VcComponents = (function (exports, vue) {
41161
41341
  const COMPONENT_NAME$e = 'vc-tabs-pane';
41162
41342
  const TabsPane = /* @__PURE__ */ vue.defineComponent({
41163
41343
  name: COMPONENT_NAME$e,
41164
- props: props$a,
41344
+ props: props$9,
41165
41345
  setup(_, {
41166
41346
  slots
41167
41347
  }) {
@@ -41176,8 +41356,8 @@ var VcComponents = (function (exports, vue) {
41176
41356
  }
41177
41357
  });
41178
41358
 
41179
- const props$9 = {
41180
- ...props$b,
41359
+ const props$8 = {
41360
+ ...props$a,
41181
41361
  theme: {
41182
41362
  type: String,
41183
41363
  default: "light",
@@ -41218,7 +41398,7 @@ var VcComponents = (function (exports, vue) {
41218
41398
  const COMPONENT_NAME$d = 'vcm-tabs';
41219
41399
  const MTabs = /* @__PURE__ */ vue.defineComponent({
41220
41400
  name: COMPONENT_NAME$d,
41221
- props: props$9,
41401
+ props: props$8,
41222
41402
  emits: ['update:modelValue', 'change', 'click'],
41223
41403
  setup(props, {
41224
41404
  slots
@@ -41485,7 +41665,7 @@ var VcComponents = (function (exports, vue) {
41485
41665
  const COMPONENT_NAME$c = 'vcm-tabs-pane';
41486
41666
  const MTabsPane = /* @__PURE__ */ vue.defineComponent({
41487
41667
  name: COMPONENT_NAME$c,
41488
- props: props$a,
41668
+ props: props$9,
41489
41669
  setup(_, {
41490
41670
  slots
41491
41671
  }) {
@@ -41502,56 +41682,18 @@ var VcComponents = (function (exports, vue) {
41502
41682
 
41503
41683
  const MTag = Tag;
41504
41684
 
41505
- const props$8 = {
41506
- tag: {
41507
- type: String,
41508
- default: "div"
41509
- },
41510
- value: {
41511
- type: String,
41512
- default: ""
41513
- },
41514
- line: {
41515
- type: Number,
41516
- default: 0
41517
- },
41518
- // TODO: 是否改为tail-indent来表示尾部缩进
41519
- indent: {
41520
- type: Number,
41521
- default: 0
41522
- },
41523
- resize: {
41524
- type: [Boolean, Number],
41525
- default: 100
41526
- },
41527
- suffix: {
41528
- type: String,
41529
- default: "..."
41530
- },
41531
- placement: {
41532
- type: String,
41533
- default: "top"
41534
- },
41535
- portalClassName: [Object, String, Array],
41536
- portalStyle: [Object, String, Array],
41537
- renderRow: {
41538
- type: Function,
41539
- // 函数式可以用于高亮显示
41540
- default: (props$) => {
41541
- const { value } = props$;
41542
- return vue.h("span", {}, value);
41543
- }
41544
- }
41545
- };
41685
+ const MText = Text;
41546
41686
 
41547
- const HIDDEN_TEXT_STYLE = `
41548
- position: absolute!important;
41549
- word-break: break-all!important;
41550
- overflow: auto!important;
41551
- opacity: 0!important;
41552
- z-index: -1000!important;
41553
- top: 0!important;
41554
- right: 0!important;
41687
+ const HIDDEN_TEXTAREA_STYLE = `
41688
+ min-height:0 !important;
41689
+ max-height:none !important;
41690
+ height:0 !important;
41691
+ visibility:hidden !important;
41692
+ overflow:hidden !important;
41693
+ position:absolute !important;
41694
+ z-index:-1000 !important;
41695
+ top:0 !important;
41696
+ right:0 !important
41555
41697
  `;
41556
41698
  const SIZING_STYLE = [
41557
41699
  "letter-spacing",
@@ -41564,18 +41706,18 @@ var VcComponents = (function (exports, vue) {
41564
41706
  "text-rendering",
41565
41707
  "text-transform",
41566
41708
  "width",
41567
- // 'text-indent', // 需要额外计算
41709
+ "text-indent",
41568
41710
  "padding-left",
41569
41711
  "padding-right",
41570
41712
  "border-width",
41571
41713
  "box-sizing"
41572
41714
  ];
41573
41715
  let hiddenEl;
41574
- const getFitIndex = (options = {}) => {
41575
- const { el, line, value, suffix, indent } = options;
41576
- let lineHeight = parseInt(getStyle$1(el, "line-height"), 10);
41716
+ const getComputedHeight = (options = {}) => {
41717
+ if (IS_SERVER$2) return {};
41718
+ const { el, minRows = null, maxRows = null } = options;
41577
41719
  if (!hiddenEl) {
41578
- hiddenEl = document.createElement("div");
41720
+ hiddenEl = document.createElement("textarea");
41579
41721
  document.body.appendChild(hiddenEl);
41580
41722
  }
41581
41723
  el.getAttribute("wrap") ? hiddenEl.setAttribute("wrap", el.getAttribute("wrap")) : hiddenEl.removeAttribute("wrap");
@@ -41585,141 +41727,343 @@ var VcComponents = (function (exports, vue) {
41585
41727
  boxSizing,
41586
41728
  sizingStyle
41587
41729
  } = utils.getComputedStyle(el, SIZING_STYLE);
41588
- const textIndent = `text-indent: ${parseInt(getStyle$1(el, "text-indent"), 10) + indent}px;`;
41589
- hiddenEl.setAttribute("style", `${sizingStyle};${textIndent};${HIDDEN_TEXT_STYLE}`);
41590
- let sideHeight = paddingSize || 0;
41591
- boxSizing === "border-box" && (sideHeight += borderSize);
41592
- if (Number.isNaN(lineHeight)) {
41593
- hiddenEl.innerText = ".";
41594
- lineHeight = hiddenEl.clientHeight - sideHeight;
41730
+ hiddenEl.setAttribute("style", `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`);
41731
+ hiddenEl.value = el.value || el.placeholder || "";
41732
+ let minHeight = Number.MIN_SAFE_INTEGER;
41733
+ let maxHeight = Number.MAX_SAFE_INTEGER;
41734
+ let height = hiddenEl.scrollHeight;
41735
+ let overflowY;
41736
+ if (boxSizing === "border-box") {
41737
+ height += borderSize;
41738
+ } else if (boxSizing === "content-box") {
41739
+ height -= paddingSize;
41740
+ }
41741
+ if (minRows !== null || maxRows !== null) {
41742
+ hiddenEl.value = " ";
41743
+ const singleRowHeight = hiddenEl.scrollHeight - paddingSize;
41744
+ if (minRows !== null) {
41745
+ minHeight = singleRowHeight * minRows;
41746
+ if (boxSizing === "border-box") {
41747
+ minHeight = minHeight + paddingSize + borderSize;
41748
+ }
41749
+ height = Math.max(minHeight, height);
41750
+ }
41751
+ if (maxRows !== null) {
41752
+ maxHeight = singleRowHeight * maxRows;
41753
+ if (boxSizing === "border-box") {
41754
+ maxHeight = maxHeight + paddingSize + borderSize;
41755
+ }
41756
+ overflowY = height > maxHeight ? "" : "hidden";
41757
+ height = Math.min(maxHeight, height);
41758
+ }
41759
+ }
41760
+ if (!maxRows) {
41761
+ overflowY = "hidden";
41595
41762
  }
41596
- let endIndex = 0;
41597
- hiddenEl.innerText = suffix;
41598
- value.split("").forEach((item, i) => {
41599
- let old = hiddenEl.innerText;
41600
- old = old.substring(0, old.length - suffix.length);
41601
- hiddenEl.innerText = old + item + suffix;
41602
- if (hiddenEl.clientHeight - sideHeight > lineHeight * line && endIndex === 0) {
41603
- endIndex = i;
41763
+ return {
41764
+ height: `${height}px`,
41765
+ minHeight: `${minHeight}px`,
41766
+ maxHeight: `${maxHeight}px`,
41767
+ overflowY
41768
+ };
41769
+ };
41770
+
41771
+ const useTextarea = (textarea, expose) => {
41772
+ const attrs = vue.useAttrs();
41773
+ const instance = vue.getCurrentInstance();
41774
+ const props = instance.props;
41775
+ const { emit } = instance;
41776
+ const formItem = vue.inject("vc-form-item", {});
41777
+ const currentValue = vue.ref(null);
41778
+ const isOnComposition = vue.ref(false);
41779
+ const isFocus = vue.ref(false);
41780
+ const calcTextareaStyle = vue.ref({});
41781
+ const contentStyle = vue.ref({});
41782
+ const currentMaxlength = vue.computed(() => {
41783
+ const value = currentValue.value;
41784
+ const { maxlength, bytes } = props;
41785
+ return Array.isArray(value) || !maxlength || !bytes ? maxlength : getFitMaxLength(value, maxlength);
41786
+ });
41787
+ const sync = (v, e, force) => {
41788
+ if (!force && v === currentValue.value) return;
41789
+ if (!props.controllable) {
41790
+ currentValue.value = v;
41604
41791
  }
41792
+ emit("update:modelValue", v, e);
41793
+ emit("input", v, e);
41794
+ emit("change", v, e);
41795
+ props.allowDispatch && formItem?.change?.(v);
41796
+ };
41797
+ const forceUpdate = () => {
41798
+ instance.proxy?.$forceUpdate?.();
41799
+ };
41800
+ const refresh = () => {
41801
+ if (!props.autosize) return;
41802
+ const { minRows, maxRows } = props.autosize;
41803
+ vue.nextTick(() => {
41804
+ calcTextareaStyle.value = getComputedHeight({
41805
+ el: textarea.value,
41806
+ minRows,
41807
+ maxRows
41808
+ });
41809
+ });
41810
+ };
41811
+ const handleKeydown = (e) => {
41812
+ emit("keydown", e);
41813
+ };
41814
+ const handleKeypress = (e) => {
41815
+ emit("keypress", e);
41816
+ };
41817
+ const handleKeyup = (e) => {
41818
+ if (e.keyCode == 13) {
41819
+ emit("enter", e);
41820
+ }
41821
+ emit("keyup", e);
41822
+ };
41823
+ const handleFocus = (e) => {
41824
+ isFocus.value = true;
41825
+ emit("focus", e);
41826
+ };
41827
+ const handleBlur = (e) => {
41828
+ isFocus.value = false;
41829
+ emit("blur", e);
41830
+ props.allowDispatch && formItem?.blur?.(currentValue.value);
41831
+ };
41832
+ const handleChange = (e) => {
41833
+ emit("change", e);
41834
+ };
41835
+ const handleInput = (e) => {
41836
+ if (isOnComposition.value) return;
41837
+ let value = textarea.value.value;
41838
+ if (typeof props.maxlength !== "undefined" && props.bytes && e.inputType !== "deleteContentBackward") {
41839
+ const fitValue = getFitValue(value, props.maxlength);
41840
+ if (value !== fitValue) {
41841
+ value = fitValue;
41842
+ }
41843
+ }
41844
+ sync(value, e, e.inputType === "insertFromPaste");
41845
+ forceUpdate();
41846
+ };
41847
+ const handleComposition = (e) => {
41848
+ if (e.type === "compositionstart") {
41849
+ isOnComposition.value = true;
41850
+ }
41851
+ if (e.type === "compositionend") {
41852
+ isOnComposition.value = false;
41853
+ handleInput(e);
41854
+ }
41855
+ };
41856
+ const handleResize = (e) => {
41857
+ contentStyle.value = {
41858
+ height: `${textarea.value ? textarea.value.offsetHeight : 0}px`
41859
+ };
41860
+ emit("resize", e);
41861
+ };
41862
+ const handlePaste = (e) => {
41863
+ emit("paste", e, e.clipboardData.getData("text"));
41864
+ };
41865
+ const classes = vue.computed(() => {
41866
+ return {
41867
+ "is-focus": isFocus.value,
41868
+ "is-disabled": props.disabled
41869
+ };
41605
41870
  });
41606
- return endIndex;
41871
+ const listeners = vue.computed(() => {
41872
+ return {
41873
+ onKeyup: handleKeyup,
41874
+ onKeypress: handleKeypress,
41875
+ onKeydown: handleKeydown,
41876
+ onFocus: handleFocus,
41877
+ onBlur: handleBlur,
41878
+ onCompositionstart: handleComposition,
41879
+ onCompositionupdate: handleComposition,
41880
+ onCompositionend: handleComposition,
41881
+ onInput: handleInput,
41882
+ onChange: handleChange,
41883
+ onPaste: handlePaste
41884
+ };
41885
+ });
41886
+ const binds = vue.computed(() => {
41887
+ return {
41888
+ id: props.id,
41889
+ autocomplete: attrs.autocomplete,
41890
+ spellcheck: attrs.spellcheck,
41891
+ placeholder: attrs.placeholder,
41892
+ readonly: attrs.readonly,
41893
+ name: attrs.name,
41894
+ autofocus: attrs.autofocus,
41895
+ disabled: props.disabled,
41896
+ maxlength: props.maxlength,
41897
+ rows: props.rows,
41898
+ wrap: props.wrap
41899
+ };
41900
+ });
41901
+ vue.watch(
41902
+ () => props.modelValue,
41903
+ (v) => {
41904
+ if (props.controllable || v !== currentValue.value) {
41905
+ currentValue.value = v;
41906
+ refresh();
41907
+ }
41908
+ },
41909
+ { immediate: true }
41910
+ );
41911
+ vue.onMounted(() => {
41912
+ Resize.on(textarea.value, handleResize);
41913
+ refresh();
41914
+ });
41915
+ vue.onBeforeUnmount(() => {
41916
+ Resize.off(textarea.value, handleResize);
41917
+ });
41918
+ const exposed = useNativeEmitter(textarea);
41919
+ expose?.({
41920
+ ...exposed,
41921
+ refresh
41922
+ });
41923
+ return {
41924
+ currentValue,
41925
+ isOnComposition,
41926
+ isFocus,
41927
+ calcTextareaStyle,
41928
+ contentStyle,
41929
+ classes,
41930
+ listeners,
41931
+ binds,
41932
+ currentMaxlength
41933
+ };
41934
+ };
41935
+
41936
+ const inputKeys = [
41937
+ "id",
41938
+ "disabled",
41939
+ "maxlength",
41940
+ "allowDispatch",
41941
+ "modelValue",
41942
+ "bytes",
41943
+ "controllable"
41944
+ ];
41945
+ const props$7 = {
41946
+ ...pick(props$$, inputKeys),
41947
+ wrap: {
41948
+ type: String,
41949
+ validator: (v) => /(soft|hard)/.test(v),
41950
+ default: "soft"
41951
+ },
41952
+ rows: {
41953
+ type: Number,
41954
+ default: 2
41955
+ },
41956
+ autosize: {
41957
+ type: [Boolean, Object],
41958
+ default: false
41959
+ },
41960
+ textareaStyle: {
41961
+ type: [Object, Array]
41962
+ }
41607
41963
  };
41608
41964
 
41609
41965
  /** @jsxImportSource vue */
41610
41966
 
41611
- const COMPONENT_NAME$b = 'vc-text';
41612
- const Text = /* @__PURE__ */ vue.defineComponent({
41967
+ const COMPONENT_NAME$b = 'vc-textarea';
41968
+ const Textarea = /* @__PURE__ */ vue.defineComponent({
41613
41969
  name: COMPONENT_NAME$b,
41614
- props: props$8,
41970
+ props: Object.assign(props$7, {
41971
+ indicator: {
41972
+ type: [Boolean, Object],
41973
+ default: false
41974
+ },
41975
+ indicateClass: String
41976
+ }),
41977
+ emits: ['update:modelValue', 'input', 'change', 'focus', 'blur', 'clear', 'paste', 'keydown', 'keypress', 'keyup', 'enter', 'cancel', 'resize'],
41615
41978
  setup(props, {
41616
- emit
41979
+ expose
41617
41980
  }) {
41618
- const instance = vue.getCurrentInstance();
41619
- const isActive = vue.ref(false);
41620
- const endIndex = vue.ref(0);
41621
- const styles = vue.computed(() => {
41622
- return {
41623
- cursor: endIndex.value === 0 ? 'unset' : 'pointer'
41624
- };
41625
- });
41626
- const calcPosition = () => {
41627
- const {
41628
- suffix,
41629
- line,
41630
- value,
41631
- indent
41632
- } = props;
41633
- if (line === 0) {
41634
- endIndex.value = 0;
41635
- isActive.value = true;
41636
- } else {
41637
- endIndex.value = getFitIndex({
41638
- el: instance.vnode.el,
41639
- line,
41640
- value,
41641
- suffix,
41642
- indent
41643
- });
41644
- isActive.value = true;
41645
- }
41646
- emit('clip', endIndex.value);
41647
- };
41648
- const handleResize = props.resize === true || props.resize === 0 ? calcPosition : debounce$1(calcPosition, props.resize || 0);
41649
- const handleMouseOver = e => {
41650
- if (endIndex.value > 0) {
41651
- Popover.open({
41652
- el: document.body,
41653
- name: 'vc-text-popover',
41654
- // 确保不重复创建
41655
- triggerEl: e.target,
41656
- hover: true,
41657
- theme: 'dark',
41658
- placement: props.placement,
41659
- portalClassName: props.portalClassName,
41660
- portalStyle: props.portalStyle || `width: ${e.target.clientWidth}px`,
41661
- content: props.value
41662
- });
41663
- }
41664
- };
41665
- const handleMouseOut = () => {
41666
- // Do.
41667
- };
41668
- ['value', 'indent', 'line'].forEach(key => {
41669
- vue.watch(() => props[key], calcPosition);
41670
- });
41671
- vue.onMounted(() => {
41672
- props.resize !== false && Resize.on(instance.vnode.el, handleResize); // 首次会执行一次
41981
+ const textarea = vue.ref();
41982
+ const {
41983
+ currentValue,
41984
+ classes,
41985
+ contentStyle,
41986
+ listeners,
41987
+ binds,
41988
+ calcTextareaStyle,
41989
+ currentMaxlength
41990
+ } = useTextarea(textarea, expose);
41991
+ const indicatorNum = vue.computed(() => {
41992
+ const currentLength = (String(props.modelValue) || '').length;
41993
+ const extraLength = props.bytes ? getBytesSize(props.modelValue) || 0 : 0;
41994
+ const length = props.indicator && props.indicator.inverted ? props.maxlength + extraLength - currentLength : currentLength - extraLength;
41995
+ return `${length}/${props.maxlength}`;
41673
41996
  });
41674
- vue.onBeforeUnmount(() => {
41675
- props.resize !== false && Resize.off(instance.vnode.el, handleResize);
41997
+ const indicateInline = vue.computed(() => {
41998
+ return props.indicator && props.indicator.inline;
41676
41999
  });
41677
- const Content = props.tag;
41678
42000
  return () => {
41679
- return vue.createVNode(Content, {
41680
- "class": "vc-text",
41681
- "style": styles.value,
41682
- "onMouseover": handleMouseOver,
41683
- "onMouseout": handleMouseOut
41684
- }, {
41685
- default: () => [isActive.value ? vue.createVNode(Customer, {
41686
- "value": endIndex.value > 0 ? `${props.value.slice(0, endIndex.value)}${props.suffix}` : props.value,
41687
- "index": endIndex.value,
41688
- "render": props.renderRow
41689
- }, null) : null]
41690
- });
42001
+ return vue.createVNode("div", {
42002
+ "class": [classes.value, 'vc-textarea']
42003
+ }, [vue.createVNode("div", {
42004
+ "class": "vc-textarea__wrapper"
42005
+ }, [vue.createVNode("div", {
42006
+ "style": contentStyle.value,
42007
+ "class": ['vc-textarea__content']
42008
+ }, [vue.createVNode("textarea", vue.mergeProps({
42009
+ "ref": textarea
42010
+ }, binds.value, listeners.value, {
42011
+ "value": currentValue.value,
42012
+ "maxlength": currentMaxlength.value,
42013
+ "style": [props.textareaStyle, calcTextareaStyle.value]
42014
+ }), null)]), props.indicator && vue.createVNode("div", {
42015
+ "class": [props.indicateClass, {
42016
+ 'is-inline': indicateInline.value
42017
+ }, 'vc-textarea__indicator']
42018
+ }, [indicatorNum.value])])]);
41691
42019
  };
41692
42020
  }
41693
42021
  });
41694
42022
 
41695
- const MText = Text;
41696
-
41697
- const props$7 = {
41698
- tag: {
41699
- type: String,
41700
- default: "div"
41701
- }
41702
- };
41703
-
41704
42023
  /** @jsxImportSource vue */
41705
42024
 
41706
- const COMPONENT_NAME$a = 'vc-textarea';
41707
- const Textarea = /* @__PURE__ */ vue.defineComponent({
42025
+ const COMPONENT_NAME$a = 'vcm-textarea';
42026
+ const MTextarea = /* @__PURE__ */ vue.defineComponent({
41708
42027
  name: COMPONENT_NAME$a,
41709
- props: props$7,
42028
+ props: Object.assign(props$7, {
42029
+ align: {
42030
+ type: String,
42031
+ default: 'left'
42032
+ }
42033
+ }),
42034
+ emits: ['update:modelValue', 'input', 'change', 'focus', 'blur', 'clear', 'paste', 'keydown', 'keypress', 'keyup', 'enter', 'cancel', 'resize'],
41710
42035
  setup(props, {
41711
- slots
42036
+ expose
41712
42037
  }) {
42038
+ const textarea = vue.ref();
42039
+ const {
42040
+ currentValue,
42041
+ classes,
42042
+ contentStyle,
42043
+ listeners,
42044
+ binds,
42045
+ calcTextareaStyle,
42046
+ currentMaxlength
42047
+ } = useTextarea(textarea, expose);
41713
42048
  return () => {
41714
42049
  return vue.createVNode("div", {
41715
- "class": "vc-textarea"
41716
- }, [slots?.default?.()]);
42050
+ "class": [classes.value, 'vcm-textarea']
42051
+ }, [vue.createVNode("div", {
42052
+ "class": "vcm-textarea__wrapper"
42053
+ }, [vue.createVNode("div", {
42054
+ "style": contentStyle.value,
42055
+ "class": ['vcm-textarea__content']
42056
+ }, [vue.createVNode("textarea", vue.mergeProps({
42057
+ "ref": textarea
42058
+ }, binds.value, listeners.value, {
42059
+ "value": currentValue.value,
42060
+ "maxlength": currentMaxlength.value,
42061
+ "style": [props.textareaStyle, calcTextareaStyle.value]
42062
+ }), null)])])]);
41717
42063
  };
41718
42064
  }
41719
42065
  });
41720
42066
 
41721
- const MTextarea = Textarea;
41722
-
41723
42067
  const props$6 = {
41724
42068
  tag: {
41725
42069
  type: String,