@deot/vc-components 1.0.63 → 1.0.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1358 -339
- package/dist/index.d.ts +386 -101
- package/dist/index.iife.js +1420 -401
- package/dist/index.js +1360 -343
- package/dist/index.style.css +2 -2
- package/dist/index.umd.cjs +1420 -401
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { reactive, defineComponent, createVNode, inject, shallowRef, ref, computed, onMounted, onBeforeUnmount, provide, nextTick, watch, getCurrentInstance, TransitionGroup, Transition as Transition$1, h,
|
|
1
|
+
import { reactive, defineComponent, createVNode, inject, shallowRef, ref, computed, onMounted, onBeforeUnmount, provide, nextTick, watch, getCurrentInstance, TransitionGroup, Transition as Transition$1, h, withModifiers, withDirectives, vShow, onBeforeMount, createTextVNode, mergeProps, createApp, Fragment as Fragment$1, Teleport, onUnmounted, isVNode, toRaw, onUpdated, resolveComponent, useAttrs as useAttrs$1 } from 'vue';
|
|
2
2
|
import * as $ from '@deot/helper-dom';
|
|
3
|
-
import { getScroller as getScroller$1, composedPath, scrollIntoView,
|
|
3
|
+
import { getScroller as getScroller$1, prefixStyle, composedPath, scrollIntoView, getStyle, removeClass, addClass, hasClass } from '@deot/helper-dom';
|
|
4
4
|
import * as Utils from '@deot/helper-utils';
|
|
5
5
|
import { raf, getUid, preZero, getPropByPath, throttle as throttle$1, hasOwn } from '@deot/helper-utils';
|
|
6
|
-
import { debounce, cloneDeep, pick, isEqualWith, startCase,
|
|
7
|
-
import { useAttrs, useScrollbar, getInstance } from '@deot/vc-hooks';
|
|
6
|
+
import { debounce, throttle, cloneDeep, pick, isEqualWith, startCase, concat, max, merge, isEmpty as isEmpty$1, kebabCase, difference } from 'lodash-es';
|
|
8
7
|
import { Resize } from '@deot/helper-resize';
|
|
8
|
+
import { useAttrs, useScrollbar, getInstance } from '@deot/vc-hooks';
|
|
9
9
|
import { Utils as Utils$1, IS_SERVER as IS_SERVER$1 } from '@deot/vc-shared';
|
|
10
10
|
import { Wheel } from '@deot/helper-wheel';
|
|
11
11
|
import * as Load from '@deot/helper-load';
|
|
@@ -90,7 +90,7 @@ class Instance {
|
|
|
90
90
|
}
|
|
91
91
|
const VcInstance = new Instance();
|
|
92
92
|
|
|
93
|
-
const props$
|
|
93
|
+
const props$1v = {
|
|
94
94
|
tag: {
|
|
95
95
|
type: String,
|
|
96
96
|
default: "div"
|
|
@@ -99,10 +99,10 @@ const props$1u = {
|
|
|
99
99
|
|
|
100
100
|
/** @jsxImportSource vue */
|
|
101
101
|
|
|
102
|
-
const COMPONENT_NAME$
|
|
102
|
+
const COMPONENT_NAME$2g = 'vc-action-sheet';
|
|
103
103
|
const ActionSheet = /* @__PURE__ */ defineComponent({
|
|
104
|
-
name: COMPONENT_NAME$
|
|
105
|
-
props: props$
|
|
104
|
+
name: COMPONENT_NAME$2g,
|
|
105
|
+
props: props$1v,
|
|
106
106
|
setup(props, {
|
|
107
107
|
slots
|
|
108
108
|
}) {
|
|
@@ -116,7 +116,7 @@ const ActionSheet = /* @__PURE__ */ defineComponent({
|
|
|
116
116
|
|
|
117
117
|
const MActionSheet = ActionSheet;
|
|
118
118
|
|
|
119
|
-
const props$
|
|
119
|
+
const props$1u = {
|
|
120
120
|
modelValue: {
|
|
121
121
|
type: Boolean,
|
|
122
122
|
default: false
|
|
@@ -178,11 +178,11 @@ const isWheel = (el) => {
|
|
|
178
178
|
|
|
179
179
|
/** @jsxImportSource vue */
|
|
180
180
|
|
|
181
|
-
const COMPONENT_NAME$
|
|
181
|
+
const COMPONENT_NAME$2f = 'vc-affix';
|
|
182
182
|
const Affix = /* @__PURE__ */ defineComponent({
|
|
183
|
-
name: COMPONENT_NAME$
|
|
183
|
+
name: COMPONENT_NAME$2f,
|
|
184
184
|
emits: ['update:modelValue'],
|
|
185
|
-
props: props$
|
|
185
|
+
props: props$1u,
|
|
186
186
|
setup(props, {
|
|
187
187
|
slots,
|
|
188
188
|
expose,
|
|
@@ -348,7 +348,7 @@ const Affix = /* @__PURE__ */ defineComponent({
|
|
|
348
348
|
|
|
349
349
|
const MAffix = Affix;
|
|
350
350
|
|
|
351
|
-
const props$
|
|
351
|
+
const props$1t = {
|
|
352
352
|
modelValue: {
|
|
353
353
|
type: Boolean,
|
|
354
354
|
default: true
|
|
@@ -375,7 +375,7 @@ const props$1s = {
|
|
|
375
375
|
}
|
|
376
376
|
};
|
|
377
377
|
|
|
378
|
-
const props$
|
|
378
|
+
const props$1s = {
|
|
379
379
|
type: String,
|
|
380
380
|
inherit: {
|
|
381
381
|
type: Boolean,
|
|
@@ -512,10 +512,10 @@ const IconManager = new Manager();
|
|
|
512
512
|
|
|
513
513
|
/** @jsxImportSource vue */
|
|
514
514
|
|
|
515
|
-
const COMPONENT_NAME$
|
|
515
|
+
const COMPONENT_NAME$2e = 'vc-icon';
|
|
516
516
|
const Icon = /* @__PURE__ */ defineComponent({
|
|
517
|
-
name: COMPONENT_NAME$
|
|
518
|
-
props: props$
|
|
517
|
+
name: COMPONENT_NAME$2e,
|
|
518
|
+
props: props$1s,
|
|
519
519
|
setup(props) {
|
|
520
520
|
const viewBox = ref('0 0 1024 1024');
|
|
521
521
|
const path = ref([]);
|
|
@@ -548,7 +548,7 @@ const Icon = /* @__PURE__ */ defineComponent({
|
|
|
548
548
|
}
|
|
549
549
|
});
|
|
550
550
|
|
|
551
|
-
const props$
|
|
551
|
+
const props$1r = {
|
|
552
552
|
/**
|
|
553
553
|
* 进入/离开持续时间
|
|
554
554
|
* {enter: 300, leave: 300}
|
|
@@ -713,10 +713,10 @@ const useTransition = () => {
|
|
|
713
713
|
};
|
|
714
714
|
};
|
|
715
715
|
|
|
716
|
-
const COMPONENT_NAME$
|
|
716
|
+
const COMPONENT_NAME$2d = "vc-transition";
|
|
717
717
|
const Transition = defineComponent({
|
|
718
|
-
name: COMPONENT_NAME$
|
|
719
|
-
props: props$
|
|
718
|
+
name: COMPONENT_NAME$2d,
|
|
719
|
+
props: props$1r,
|
|
720
720
|
// 当不声明emits的情况下,事件存在于attrs中
|
|
721
721
|
inheritAttrs: false,
|
|
722
722
|
setup(props, { slots, attrs }) {
|
|
@@ -736,10 +736,10 @@ const Transition = defineComponent({
|
|
|
736
736
|
}
|
|
737
737
|
});
|
|
738
738
|
|
|
739
|
-
const COMPONENT_NAME$
|
|
739
|
+
const COMPONENT_NAME$2c = "vc-transition-collapse";
|
|
740
740
|
const TransitionCollapse = defineComponent({
|
|
741
|
-
name: COMPONENT_NAME$
|
|
742
|
-
props: props$
|
|
741
|
+
name: COMPONENT_NAME$2c,
|
|
742
|
+
props: props$1r,
|
|
743
743
|
// 当不声明emits的情况下,事件存在于attrs中
|
|
744
744
|
inheritAttrs: false,
|
|
745
745
|
setup(props, { slots, attrs: _attrs }) {
|
|
@@ -853,11 +853,11 @@ const TransitionCollapse = defineComponent({
|
|
|
853
853
|
}
|
|
854
854
|
});
|
|
855
855
|
|
|
856
|
-
const COMPONENT_NAME$
|
|
856
|
+
const COMPONENT_NAME$2b = "vc-transition-fade";
|
|
857
857
|
const TransitionFade = defineComponent({
|
|
858
|
-
name: COMPONENT_NAME$
|
|
858
|
+
name: COMPONENT_NAME$2b,
|
|
859
859
|
props: {
|
|
860
|
-
...props$
|
|
860
|
+
...props$1r,
|
|
861
861
|
// inheritAttrs必须是false
|
|
862
862
|
style: {
|
|
863
863
|
type: Object,
|
|
@@ -890,11 +890,11 @@ const TransitionFade = defineComponent({
|
|
|
890
890
|
}
|
|
891
891
|
});
|
|
892
892
|
|
|
893
|
-
const COMPONENT_NAME$
|
|
893
|
+
const COMPONENT_NAME$2a = "vc-transition-scale";
|
|
894
894
|
const TransitionScale = defineComponent({
|
|
895
|
-
name: COMPONENT_NAME$
|
|
895
|
+
name: COMPONENT_NAME$2a,
|
|
896
896
|
props: {
|
|
897
|
-
...props$
|
|
897
|
+
...props$1r,
|
|
898
898
|
mode: {
|
|
899
899
|
type: String,
|
|
900
900
|
default: "both",
|
|
@@ -932,11 +932,11 @@ const TransitionScale = defineComponent({
|
|
|
932
932
|
}
|
|
933
933
|
});
|
|
934
934
|
|
|
935
|
-
const COMPONENT_NAME$
|
|
935
|
+
const COMPONENT_NAME$29 = "vc-transition-slide";
|
|
936
936
|
const TransitionSlide = defineComponent({
|
|
937
|
-
name: COMPONENT_NAME$
|
|
937
|
+
name: COMPONENT_NAME$29,
|
|
938
938
|
props: {
|
|
939
|
-
...props$
|
|
939
|
+
...props$1r,
|
|
940
940
|
mode: {
|
|
941
941
|
type: String,
|
|
942
942
|
default: "left",
|
|
@@ -974,11 +974,11 @@ const TransitionSlide = defineComponent({
|
|
|
974
974
|
}
|
|
975
975
|
});
|
|
976
976
|
|
|
977
|
-
const COMPONENT_NAME$
|
|
977
|
+
const COMPONENT_NAME$28 = "vc-transition-zoom";
|
|
978
978
|
const TransitionZoom = defineComponent({
|
|
979
|
-
name: COMPONENT_NAME$
|
|
979
|
+
name: COMPONENT_NAME$28,
|
|
980
980
|
props: {
|
|
981
|
-
...props$
|
|
981
|
+
...props$1r,
|
|
982
982
|
mode: {
|
|
983
983
|
type: String,
|
|
984
984
|
default: "x",
|
|
@@ -1018,7 +1018,7 @@ const TransitionZoom = defineComponent({
|
|
|
1018
1018
|
|
|
1019
1019
|
/** @jsxImportSource vue */
|
|
1020
1020
|
|
|
1021
|
-
const COMPONENT_NAME$
|
|
1021
|
+
const COMPONENT_NAME$27 = 'vc-alert';
|
|
1022
1022
|
|
|
1023
1023
|
// [color, borderColor, backgroundColor], -> CSS
|
|
1024
1024
|
const THEME_MAP = {
|
|
@@ -1028,8 +1028,8 @@ const THEME_MAP = {
|
|
|
1028
1028
|
warning: ['#ffbf00', '#ffe58f', '#fffbe6']
|
|
1029
1029
|
};
|
|
1030
1030
|
const Alert = /* @__PURE__ */ defineComponent({
|
|
1031
|
-
name: COMPONENT_NAME$
|
|
1032
|
-
props: props$
|
|
1031
|
+
name: COMPONENT_NAME$27,
|
|
1032
|
+
props: props$1t,
|
|
1033
1033
|
setup(props, {
|
|
1034
1034
|
slots,
|
|
1035
1035
|
emit
|
|
@@ -1118,7 +1118,7 @@ const Alert = /* @__PURE__ */ defineComponent({
|
|
|
1118
1118
|
|
|
1119
1119
|
const MAlert = Alert;
|
|
1120
1120
|
|
|
1121
|
-
const props$
|
|
1121
|
+
const props$1q = {
|
|
1122
1122
|
// canvas配置参数
|
|
1123
1123
|
options: Object,
|
|
1124
1124
|
width: {
|
|
@@ -1134,10 +1134,10 @@ const props$1p = {
|
|
|
1134
1134
|
/** @jsxImportSource vue */
|
|
1135
1135
|
|
|
1136
1136
|
const isTouch = typeof document !== 'undefined' && 'ontouchend' in document;
|
|
1137
|
-
const COMPONENT_NAME$
|
|
1137
|
+
const COMPONENT_NAME$26 = 'vc-artboard';
|
|
1138
1138
|
const Artboard = /* @__PURE__ */ defineComponent({
|
|
1139
|
-
name: COMPONENT_NAME$
|
|
1140
|
-
props: props$
|
|
1139
|
+
name: COMPONENT_NAME$26,
|
|
1140
|
+
props: props$1q,
|
|
1141
1141
|
setup(props, {
|
|
1142
1142
|
emit,
|
|
1143
1143
|
expose
|
|
@@ -1340,7 +1340,7 @@ const Artboard = /* @__PURE__ */ defineComponent({
|
|
|
1340
1340
|
|
|
1341
1341
|
const MArtboard = Artboard;
|
|
1342
1342
|
|
|
1343
|
-
const props$
|
|
1343
|
+
const props$1p = {
|
|
1344
1344
|
size: {
|
|
1345
1345
|
type: Number,
|
|
1346
1346
|
default: 28
|
|
@@ -1364,10 +1364,10 @@ const props$1o = {
|
|
|
1364
1364
|
|
|
1365
1365
|
/** @jsxImportSource vue */
|
|
1366
1366
|
|
|
1367
|
-
const COMPONENT_NAME$
|
|
1367
|
+
const COMPONENT_NAME$25 = 'vc-spin';
|
|
1368
1368
|
const Spin = /* @__PURE__ */ defineComponent({
|
|
1369
|
-
name: COMPONENT_NAME$
|
|
1370
|
-
props: props$
|
|
1369
|
+
name: COMPONENT_NAME$25,
|
|
1370
|
+
props: props$1p,
|
|
1371
1371
|
setup(props, {
|
|
1372
1372
|
slots
|
|
1373
1373
|
}) {
|
|
@@ -1401,7 +1401,7 @@ const Spin = /* @__PURE__ */ defineComponent({
|
|
|
1401
1401
|
}
|
|
1402
1402
|
});
|
|
1403
1403
|
|
|
1404
|
-
const props$
|
|
1404
|
+
const props$1o = {
|
|
1405
1405
|
wait: {
|
|
1406
1406
|
type: Number,
|
|
1407
1407
|
default: 250
|
|
@@ -1417,10 +1417,10 @@ const props$1n = {
|
|
|
1417
1417
|
exclude: RegExp
|
|
1418
1418
|
};
|
|
1419
1419
|
|
|
1420
|
-
const COMPONENT_NAME$
|
|
1420
|
+
const COMPONENT_NAME$24 = "vc-debounce";
|
|
1421
1421
|
const Debounce = defineComponent({
|
|
1422
|
-
name: COMPONENT_NAME$
|
|
1423
|
-
props: props$
|
|
1422
|
+
name: COMPONENT_NAME$24,
|
|
1423
|
+
props: props$1o,
|
|
1424
1424
|
/**
|
|
1425
1425
|
* 不声明emits使得事件被透传放入attrs中, 这样可以让所有的事件透传
|
|
1426
1426
|
* 如事件onClick
|
|
@@ -1460,7 +1460,7 @@ const Debounce = defineComponent({
|
|
|
1460
1460
|
}
|
|
1461
1461
|
});
|
|
1462
1462
|
|
|
1463
|
-
const props$
|
|
1463
|
+
const props$1n = {
|
|
1464
1464
|
tag: {
|
|
1465
1465
|
type: String,
|
|
1466
1466
|
default: "button"
|
|
@@ -1492,11 +1492,11 @@ const props$1m = {
|
|
|
1492
1492
|
|
|
1493
1493
|
/** @jsxImportSource vue */
|
|
1494
1494
|
|
|
1495
|
-
const COMPONENT_NAME$
|
|
1495
|
+
const COMPONENT_NAME$23 = 'vc-button';
|
|
1496
1496
|
const Button = /* @__PURE__ */ defineComponent({
|
|
1497
|
-
name: COMPONENT_NAME$
|
|
1497
|
+
name: COMPONENT_NAME$23,
|
|
1498
1498
|
emits: ['click'],
|
|
1499
|
-
props: props$
|
|
1499
|
+
props: props$1n,
|
|
1500
1500
|
setup(props, {
|
|
1501
1501
|
slots
|
|
1502
1502
|
}) {
|
|
@@ -1557,7 +1557,7 @@ const Button = /* @__PURE__ */ defineComponent({
|
|
|
1557
1557
|
}
|
|
1558
1558
|
});
|
|
1559
1559
|
|
|
1560
|
-
const props$
|
|
1560
|
+
const props$1m = {
|
|
1561
1561
|
vertical: {
|
|
1562
1562
|
type: Boolean,
|
|
1563
1563
|
default: false
|
|
@@ -1578,10 +1578,10 @@ const props$1l = {
|
|
|
1578
1578
|
|
|
1579
1579
|
/** @jsxImportSource vue */
|
|
1580
1580
|
|
|
1581
|
-
const COMPONENT_NAME$
|
|
1581
|
+
const COMPONENT_NAME$22 = 'vc-button-group';
|
|
1582
1582
|
const ButtonGroup = /* @__PURE__ */ defineComponent({
|
|
1583
|
-
name: COMPONENT_NAME$
|
|
1584
|
-
props: props$
|
|
1583
|
+
name: COMPONENT_NAME$22,
|
|
1584
|
+
props: props$1m,
|
|
1585
1585
|
setup(props, {
|
|
1586
1586
|
slots
|
|
1587
1587
|
}) {
|
|
@@ -1605,7 +1605,7 @@ const ButtonGroup = /* @__PURE__ */ defineComponent({
|
|
|
1605
1605
|
const MButton = Button;
|
|
1606
1606
|
const MButtonGroup = ButtonGroup;
|
|
1607
1607
|
|
|
1608
|
-
const props$
|
|
1608
|
+
const props$1l = {
|
|
1609
1609
|
tag: {
|
|
1610
1610
|
type: String,
|
|
1611
1611
|
default: "div"
|
|
@@ -1614,10 +1614,10 @@ const props$1k = {
|
|
|
1614
1614
|
|
|
1615
1615
|
/** @jsxImportSource vue */
|
|
1616
1616
|
|
|
1617
|
-
const COMPONENT_NAME$
|
|
1617
|
+
const COMPONENT_NAME$21 = 'vc-calendar';
|
|
1618
1618
|
const Calendar = /* @__PURE__ */ defineComponent({
|
|
1619
|
-
name: COMPONENT_NAME$
|
|
1620
|
-
props: props$
|
|
1619
|
+
name: COMPONENT_NAME$21,
|
|
1620
|
+
props: props$1l,
|
|
1621
1621
|
setup(props, {
|
|
1622
1622
|
slots
|
|
1623
1623
|
}) {
|
|
@@ -1631,7 +1631,7 @@ const Calendar = /* @__PURE__ */ defineComponent({
|
|
|
1631
1631
|
|
|
1632
1632
|
const MCalendar = Calendar;
|
|
1633
1633
|
|
|
1634
|
-
const props$
|
|
1634
|
+
const props$1k = {
|
|
1635
1635
|
border: {
|
|
1636
1636
|
type: Boolean,
|
|
1637
1637
|
default: true
|
|
@@ -1654,10 +1654,10 @@ const props$1j = {
|
|
|
1654
1654
|
|
|
1655
1655
|
/** @jsxImportSource vue */
|
|
1656
1656
|
|
|
1657
|
-
const COMPONENT_NAME$
|
|
1657
|
+
const COMPONENT_NAME$20 = 'vc-card';
|
|
1658
1658
|
const Card = /* @__PURE__ */ defineComponent({
|
|
1659
|
-
name: COMPONENT_NAME$
|
|
1660
|
-
props: props$
|
|
1659
|
+
name: COMPONENT_NAME$20,
|
|
1660
|
+
props: props$1k,
|
|
1661
1661
|
setup(props, {
|
|
1662
1662
|
slots
|
|
1663
1663
|
}) {
|
|
@@ -1683,31 +1683,713 @@ const Card = /* @__PURE__ */ defineComponent({
|
|
|
1683
1683
|
|
|
1684
1684
|
const MCard = Card;
|
|
1685
1685
|
|
|
1686
|
-
const
|
|
1687
|
-
|
|
1686
|
+
const useCarousel = (wrapper, content, expose) => {
|
|
1687
|
+
const instance = getCurrentInstance();
|
|
1688
|
+
const props = instance.props;
|
|
1689
|
+
const { emit } = instance;
|
|
1690
|
+
const items = ref([]);
|
|
1691
|
+
const activeIndex = ref(-1);
|
|
1692
|
+
const timer = ref(null);
|
|
1693
|
+
const offset = ref(0);
|
|
1694
|
+
const carouselId = ref(getUid("carousel"));
|
|
1695
|
+
const start = ref();
|
|
1696
|
+
const startX = ref();
|
|
1697
|
+
const startY = ref();
|
|
1698
|
+
const allowTransition = ref(false);
|
|
1699
|
+
const direction = computed(() => {
|
|
1700
|
+
return props.vertical ? "vertical" : "horizontal";
|
|
1701
|
+
});
|
|
1702
|
+
const hasLabel = computed(() => {
|
|
1703
|
+
return items.value.some((item) => item.props.label.toString().length > 0);
|
|
1704
|
+
});
|
|
1705
|
+
const dotsClasses = computed(() => {
|
|
1706
|
+
const classes = ["is-" + direction.value];
|
|
1707
|
+
if (hasLabel.value) {
|
|
1708
|
+
classes.push("is-labels");
|
|
1709
|
+
}
|
|
1710
|
+
if (props.dots === "outside" || props.card) {
|
|
1711
|
+
classes.push("is-outside");
|
|
1712
|
+
}
|
|
1713
|
+
return classes;
|
|
1714
|
+
});
|
|
1715
|
+
const resetItems = (oldIndex) => {
|
|
1716
|
+
items.value.forEach((item, index) => {
|
|
1717
|
+
item.exposed?.reset?.(index, activeIndex.value, oldIndex);
|
|
1718
|
+
});
|
|
1719
|
+
};
|
|
1720
|
+
const playSlides = () => {
|
|
1721
|
+
allowTransition.value = true;
|
|
1722
|
+
if (activeIndex.value < items.value.length - 1) {
|
|
1723
|
+
activeIndex.value++;
|
|
1724
|
+
} else if (props.loop) {
|
|
1725
|
+
activeIndex.value = 0;
|
|
1726
|
+
}
|
|
1727
|
+
};
|
|
1728
|
+
const pauseTimer = () => {
|
|
1729
|
+
if (timer.value) {
|
|
1730
|
+
clearInterval(timer.value);
|
|
1731
|
+
timer.value = null;
|
|
1732
|
+
}
|
|
1733
|
+
};
|
|
1734
|
+
const startTimer = () => {
|
|
1735
|
+
if (props.t <= 0 || !props.autoplay || timer.value) return;
|
|
1736
|
+
timer.value = setInterval(playSlides, props.t);
|
|
1737
|
+
};
|
|
1738
|
+
const setActiveItem = (index) => {
|
|
1739
|
+
if (typeof index === "string") {
|
|
1740
|
+
const filteredItems = items.value.filter((item) => item.props.name === index);
|
|
1741
|
+
if (filteredItems.length > 0) {
|
|
1742
|
+
index = items.value.indexOf(filteredItems[0]);
|
|
1743
|
+
}
|
|
1744
|
+
}
|
|
1745
|
+
index = Number(index);
|
|
1746
|
+
if (isNaN(index) || index !== Math.floor(index)) {
|
|
1747
|
+
throw new VcError("carousel", "索引必须是整数");
|
|
1748
|
+
}
|
|
1749
|
+
const length = items.value.length;
|
|
1750
|
+
const oldIndex = activeIndex.value;
|
|
1751
|
+
if (index < 0) {
|
|
1752
|
+
activeIndex.value = props.loop ? length - 1 : 0;
|
|
1753
|
+
} else if (index >= length) {
|
|
1754
|
+
activeIndex.value = props.loop ? 0 : length - 1;
|
|
1755
|
+
} else {
|
|
1756
|
+
activeIndex.value = index;
|
|
1757
|
+
}
|
|
1758
|
+
if (oldIndex === activeIndex.value) {
|
|
1759
|
+
resetItems(oldIndex);
|
|
1760
|
+
}
|
|
1761
|
+
};
|
|
1762
|
+
const prev = () => {
|
|
1763
|
+
setActiveItem(activeIndex.value - 1);
|
|
1764
|
+
};
|
|
1765
|
+
const next = () => {
|
|
1766
|
+
setActiveItem(activeIndex.value + 1);
|
|
1767
|
+
};
|
|
1768
|
+
const handleDotClick = (index) => {
|
|
1769
|
+
activeIndex.value = index;
|
|
1770
|
+
};
|
|
1771
|
+
const handleStart = (e) => {
|
|
1772
|
+
allowTransition.value = true;
|
|
1773
|
+
if (!props.draggable) return;
|
|
1774
|
+
pauseTimer();
|
|
1775
|
+
start.value = true;
|
|
1776
|
+
startX.value = e.screenX;
|
|
1777
|
+
startY.value = e.screenY;
|
|
1778
|
+
};
|
|
1779
|
+
const handleMove = (e) => {
|
|
1780
|
+
if (!start.value || !props.draggable) return;
|
|
1781
|
+
offset.value = !props.vertical ? e.screenX - startX.value : e.screenY - startY.value;
|
|
1782
|
+
resetItems();
|
|
1783
|
+
};
|
|
1784
|
+
const handleEnd = () => {
|
|
1785
|
+
if (!props.draggable) return;
|
|
1786
|
+
start.value = false;
|
|
1787
|
+
startTimer();
|
|
1788
|
+
const $offset = Math.abs(offset.value);
|
|
1789
|
+
const $direction = offset.value > 0;
|
|
1790
|
+
offset.value = 0;
|
|
1791
|
+
if ($offset > 5) {
|
|
1792
|
+
$direction && prev();
|
|
1793
|
+
!$direction && next();
|
|
1794
|
+
} else {
|
|
1795
|
+
resetItems();
|
|
1796
|
+
}
|
|
1797
|
+
};
|
|
1798
|
+
watch(
|
|
1799
|
+
() => items.value,
|
|
1800
|
+
(v) => {
|
|
1801
|
+
if (v.length > 0) setActiveItem(props.initialIndex);
|
|
1802
|
+
}
|
|
1803
|
+
);
|
|
1804
|
+
watch(
|
|
1805
|
+
() => activeIndex.value,
|
|
1806
|
+
(v, oldV) => {
|
|
1807
|
+
resetItems(oldV);
|
|
1808
|
+
emit("change", v, oldV);
|
|
1809
|
+
}
|
|
1810
|
+
);
|
|
1811
|
+
watch(
|
|
1812
|
+
() => props.autoplay,
|
|
1813
|
+
(v) => {
|
|
1814
|
+
v ? startTimer() : pauseTimer();
|
|
1815
|
+
}
|
|
1816
|
+
);
|
|
1817
|
+
watch(
|
|
1818
|
+
() => props.loop,
|
|
1819
|
+
() => {
|
|
1820
|
+
setActiveItem(activeIndex.value);
|
|
1821
|
+
}
|
|
1822
|
+
);
|
|
1823
|
+
watch(
|
|
1824
|
+
() => props.t,
|
|
1825
|
+
() => {
|
|
1826
|
+
pauseTimer();
|
|
1827
|
+
startTimer();
|
|
1828
|
+
}
|
|
1829
|
+
);
|
|
1830
|
+
onMounted(() => {
|
|
1831
|
+
nextTick(() => {
|
|
1832
|
+
if (wrapper.value) Resize.on(wrapper.value, resetItems);
|
|
1833
|
+
if (props.initialIndex < items.value.length && props.initialIndex >= 0) {
|
|
1834
|
+
activeIndex.value = props.initialIndex;
|
|
1835
|
+
}
|
|
1836
|
+
startTimer();
|
|
1837
|
+
});
|
|
1838
|
+
});
|
|
1839
|
+
onBeforeUnmount(() => {
|
|
1840
|
+
if (wrapper.value) Resize.off(wrapper.value, resetItems);
|
|
1841
|
+
pauseTimer();
|
|
1842
|
+
startTimer();
|
|
1843
|
+
});
|
|
1844
|
+
const add = (item) => {
|
|
1845
|
+
if (!item) return;
|
|
1846
|
+
nextTick(() => {
|
|
1847
|
+
if (content.value) {
|
|
1848
|
+
const index = Array.from(content.value.children).filter((i) => /vcm?-carousel-item/.test(i.className)).indexOf(item.vnode.el);
|
|
1849
|
+
items.value.splice(index, 0, item);
|
|
1850
|
+
return;
|
|
1851
|
+
}
|
|
1852
|
+
items.value.push(item);
|
|
1853
|
+
});
|
|
1854
|
+
};
|
|
1855
|
+
const remove = (item) => {
|
|
1856
|
+
if (!item) return;
|
|
1857
|
+
items.value.splice(items.value.indexOf(item), 1);
|
|
1858
|
+
};
|
|
1859
|
+
provide("vc-carousel", {
|
|
1860
|
+
props,
|
|
1861
|
+
items,
|
|
1862
|
+
offset,
|
|
1863
|
+
allowTransition,
|
|
1864
|
+
setActiveItem,
|
|
1865
|
+
wrapper,
|
|
1866
|
+
content,
|
|
1867
|
+
add,
|
|
1868
|
+
remove
|
|
1869
|
+
});
|
|
1870
|
+
expose({
|
|
1871
|
+
setActiveItem,
|
|
1872
|
+
prev,
|
|
1873
|
+
next
|
|
1874
|
+
});
|
|
1875
|
+
return {
|
|
1876
|
+
carouselId,
|
|
1877
|
+
allowTransition,
|
|
1878
|
+
items,
|
|
1879
|
+
activeIndex,
|
|
1880
|
+
offset,
|
|
1881
|
+
direction,
|
|
1882
|
+
hasLabel,
|
|
1883
|
+
dotsClasses,
|
|
1884
|
+
start,
|
|
1885
|
+
startX,
|
|
1886
|
+
startY,
|
|
1887
|
+
handleStart,
|
|
1888
|
+
handleMove,
|
|
1889
|
+
handleEnd,
|
|
1890
|
+
handleDotClick,
|
|
1891
|
+
prev,
|
|
1892
|
+
next,
|
|
1893
|
+
setActiveItem,
|
|
1894
|
+
pauseTimer,
|
|
1895
|
+
startTimer
|
|
1896
|
+
};
|
|
1897
|
+
};
|
|
1898
|
+
|
|
1899
|
+
const props$1j = {
|
|
1900
|
+
t: {
|
|
1901
|
+
type: Number,
|
|
1902
|
+
default: 3e3
|
|
1903
|
+
},
|
|
1904
|
+
card: Boolean,
|
|
1905
|
+
gutter: {
|
|
1906
|
+
type: Number,
|
|
1907
|
+
default: 0
|
|
1908
|
+
},
|
|
1909
|
+
height: [String, Number],
|
|
1910
|
+
initialIndex: {
|
|
1911
|
+
type: Number,
|
|
1912
|
+
default: 0
|
|
1913
|
+
},
|
|
1914
|
+
trigger: {
|
|
1688
1915
|
type: String,
|
|
1689
|
-
default: "
|
|
1916
|
+
default: "hover"
|
|
1917
|
+
},
|
|
1918
|
+
autoplay: {
|
|
1919
|
+
type: Boolean,
|
|
1920
|
+
default: true
|
|
1921
|
+
},
|
|
1922
|
+
dots: {
|
|
1923
|
+
type: [String, Boolean],
|
|
1924
|
+
default: "bottom"
|
|
1925
|
+
// bottom/outside | false
|
|
1926
|
+
},
|
|
1927
|
+
arrow: {
|
|
1928
|
+
type: [String, Boolean],
|
|
1929
|
+
default: "hover"
|
|
1930
|
+
// hover/always | false
|
|
1931
|
+
},
|
|
1932
|
+
loop: {
|
|
1933
|
+
type: Boolean,
|
|
1934
|
+
default: true
|
|
1935
|
+
},
|
|
1936
|
+
vertical: {
|
|
1937
|
+
type: Boolean,
|
|
1938
|
+
default: false
|
|
1939
|
+
},
|
|
1940
|
+
draggable: {
|
|
1941
|
+
type: Boolean,
|
|
1942
|
+
default: true
|
|
1690
1943
|
}
|
|
1691
1944
|
};
|
|
1692
1945
|
|
|
1693
1946
|
/** @jsxImportSource vue */
|
|
1694
1947
|
|
|
1695
|
-
const COMPONENT_NAME$
|
|
1948
|
+
const COMPONENT_NAME$1$ = 'vc-carousel';
|
|
1696
1949
|
const Carousel = /* @__PURE__ */ defineComponent({
|
|
1697
|
-
name: COMPONENT_NAME$
|
|
1950
|
+
name: COMPONENT_NAME$1$,
|
|
1951
|
+
props: props$1j,
|
|
1952
|
+
setup(props, {
|
|
1953
|
+
slots,
|
|
1954
|
+
expose
|
|
1955
|
+
}) {
|
|
1956
|
+
const isHover = ref(false);
|
|
1957
|
+
const wrapper = ref(null);
|
|
1958
|
+
const content = ref(null);
|
|
1959
|
+
const arrowDisplay = computed(() => {
|
|
1960
|
+
return props.arrow && !props.vertical;
|
|
1961
|
+
});
|
|
1962
|
+
const carousel = useCarousel(wrapper, content, expose);
|
|
1963
|
+
const itemInStage = (item, index, items) => {
|
|
1964
|
+
const length = items.length;
|
|
1965
|
+
const isInStage = item.exposed.isInStage.value;
|
|
1966
|
+
if (index === length - 1 && isInStage && items[0].exposed.isActive.value || isInStage && items[index + 1] && items[index + 1].exposed.isActive.value) {
|
|
1967
|
+
return 'left';
|
|
1968
|
+
} else if (index === 0 && isInStage && items[length - 1].exposed.isActive.value || isInStage && items[index - 1] && items[index - 1].exposed.isActive.value) {
|
|
1969
|
+
return 'right';
|
|
1970
|
+
}
|
|
1971
|
+
return false;
|
|
1972
|
+
};
|
|
1973
|
+
const handleButtonEnter = arrow => {
|
|
1974
|
+
if (props.vertical) return;
|
|
1975
|
+
carousel.items.value.forEach((item, index, items) => {
|
|
1976
|
+
if (arrow === itemInStage(item, index, items)) {
|
|
1977
|
+
item.exposed.isHover.value = true;
|
|
1978
|
+
}
|
|
1979
|
+
});
|
|
1980
|
+
};
|
|
1981
|
+
const handleButtonLeave = () => {
|
|
1982
|
+
if (props.vertical) return;
|
|
1983
|
+
carousel.items.value.forEach(item => {
|
|
1984
|
+
item.exposed.isHover.value = false;
|
|
1985
|
+
});
|
|
1986
|
+
};
|
|
1987
|
+
const handleDotHover = index => {
|
|
1988
|
+
if (props.trigger === 'hover' && index !== carousel.activeIndex.value) {
|
|
1989
|
+
carousel.activeIndex.value = index;
|
|
1990
|
+
}
|
|
1991
|
+
};
|
|
1992
|
+
const handleMouseEnter = () => {
|
|
1993
|
+
isHover.value = true;
|
|
1994
|
+
carousel.pauseTimer();
|
|
1995
|
+
};
|
|
1996
|
+
const handleMouseLeave = () => {
|
|
1997
|
+
isHover.value = false;
|
|
1998
|
+
carousel.startTimer();
|
|
1999
|
+
};
|
|
2000
|
+
const throttledArrowClick = throttle(carousel.setActiveItem);
|
|
2001
|
+
const throttledDotHover = throttle(handleDotHover);
|
|
2002
|
+
return () => {
|
|
2003
|
+
return createVNode("div", {
|
|
2004
|
+
"ref": wrapper,
|
|
2005
|
+
"class": ['vc-carousel', `is-${carousel.direction.value}`],
|
|
2006
|
+
"onMousedown": withModifiers(carousel.handleStart, ['stop', 'prevent']),
|
|
2007
|
+
"onMousemove": withModifiers(carousel.handleMove, ['stop', 'prevent']),
|
|
2008
|
+
"onMouseup": withModifiers(carousel.handleEnd, ['stop', 'prevent']),
|
|
2009
|
+
"onMouseenter": withModifiers(handleMouseEnter, ['stop']),
|
|
2010
|
+
"onMouseleave": withModifiers(handleMouseLeave, ['stop'])
|
|
2011
|
+
}, [createVNode("div", {
|
|
2012
|
+
"ref": content,
|
|
2013
|
+
"class": "vc-carousel__wrapper",
|
|
2014
|
+
"style": {
|
|
2015
|
+
height: props.height ? `${props.height}px` : 'auto'
|
|
2016
|
+
}
|
|
2017
|
+
}, [arrowDisplay.value && createVNode(TransitionSlide, {
|
|
2018
|
+
"mode": "left-part"
|
|
2019
|
+
}, {
|
|
2020
|
+
default: () => [withDirectives(createVNode("button", {
|
|
2021
|
+
"type": "button",
|
|
2022
|
+
"class": "vc-carousel__arrow is-left-arrow",
|
|
2023
|
+
"onMouseenter": () => handleButtonEnter('left'),
|
|
2024
|
+
"onMouseleave": handleButtonLeave,
|
|
2025
|
+
"onClick": withModifiers(() => throttledArrowClick(carousel.activeIndex.value - 1), ['stop'])
|
|
2026
|
+
}, [createVNode(Icon, {
|
|
2027
|
+
"type": "left"
|
|
2028
|
+
}, null)]), [[vShow, (props.arrow === 'always' || isHover.value) && (props.loop || carousel.activeIndex.value > 0)]])]
|
|
2029
|
+
}), arrowDisplay.value && createVNode(TransitionSlide, {
|
|
2030
|
+
"mode": "right-part"
|
|
2031
|
+
}, {
|
|
2032
|
+
default: () => [withDirectives(createVNode("button", {
|
|
2033
|
+
"type": "button",
|
|
2034
|
+
"class": "vc-carousel__arrow is-right-arrow",
|
|
2035
|
+
"onMouseenter": () => handleButtonEnter('right'),
|
|
2036
|
+
"onMouseleave": handleButtonLeave,
|
|
2037
|
+
"onClick": withModifiers(() => throttledArrowClick(carousel.activeIndex.value + 1), ['stop'])
|
|
2038
|
+
}, [createVNode(Icon, {
|
|
2039
|
+
"type": "right"
|
|
2040
|
+
}, null)]), [[vShow, (props.arrow === 'always' || isHover.value) && (props.loop || carousel.activeIndex.value < carousel.items.value.length - 1)]])]
|
|
2041
|
+
}), slots.default?.()]), props.dots && createVNode("ul", {
|
|
2042
|
+
"class": ['vc-carousel__dots', ...carousel.dotsClasses.value]
|
|
2043
|
+
}, [carousel.items.value.map((item, index) => createVNode("li", {
|
|
2044
|
+
"key": index,
|
|
2045
|
+
"class": ['vc-carousel__dot', `is-${carousel.direction.value}`, {
|
|
2046
|
+
'is-active': index === carousel.activeIndex.value
|
|
2047
|
+
}],
|
|
2048
|
+
"onMouseenter": () => throttledDotHover(index),
|
|
2049
|
+
"onClick": () => carousel.handleDotClick(index)
|
|
2050
|
+
}, [createVNode("button", {
|
|
2051
|
+
"class": "vc-carousel__button"
|
|
2052
|
+
}, [carousel.hasLabel.value && createVNode("span", null, [item.props.label])])]))])]);
|
|
2053
|
+
};
|
|
2054
|
+
}
|
|
2055
|
+
});
|
|
2056
|
+
|
|
2057
|
+
const props$1i = {
|
|
2058
|
+
name: String,
|
|
2059
|
+
label: {
|
|
2060
|
+
type: [String, Number],
|
|
2061
|
+
default: ""
|
|
2062
|
+
},
|
|
2063
|
+
// card大小
|
|
2064
|
+
width: {
|
|
2065
|
+
type: [Number, String],
|
|
2066
|
+
default: "70%"
|
|
2067
|
+
},
|
|
2068
|
+
// card之间间距, 或者滑动时候的间距
|
|
2069
|
+
gutter: {
|
|
2070
|
+
type: Number,
|
|
2071
|
+
default: 0
|
|
2072
|
+
},
|
|
2073
|
+
scale: {
|
|
2074
|
+
type: Number,
|
|
2075
|
+
default: 0.83
|
|
2076
|
+
}
|
|
2077
|
+
};
|
|
2078
|
+
|
|
2079
|
+
const TRANSFORM = prefixStyle("transform").camel;
|
|
2080
|
+
const useCarouselItem = (expose) => {
|
|
2081
|
+
const instance = getCurrentInstance();
|
|
2082
|
+
const carousel = inject("vc-carousel", {});
|
|
2083
|
+
const props = instance.props;
|
|
2084
|
+
const translate = ref(0);
|
|
2085
|
+
const currentScale = ref(1);
|
|
2086
|
+
const isHover = ref(false);
|
|
2087
|
+
const isActive = ref(false);
|
|
2088
|
+
const isReady = ref(false);
|
|
2089
|
+
const isInStage = ref(false);
|
|
2090
|
+
const isAnimating = ref(false);
|
|
2091
|
+
const isVertical = computed(() => {
|
|
2092
|
+
return carousel.props.vertical;
|
|
2093
|
+
});
|
|
2094
|
+
const isCard = computed(() => {
|
|
2095
|
+
return carousel.props.card;
|
|
2096
|
+
});
|
|
2097
|
+
const isMove = computed(() => {
|
|
2098
|
+
return carousel.offset.value !== 0;
|
|
2099
|
+
});
|
|
2100
|
+
const itemGutter = computed(() => {
|
|
2101
|
+
return props.gutter || carousel.props.gutter || 0;
|
|
2102
|
+
});
|
|
2103
|
+
const itemStyle = computed(() => {
|
|
2104
|
+
const translateType = isVertical.value ? "translateY" : "translateX";
|
|
2105
|
+
if (carousel.props.card) {
|
|
2106
|
+
return {
|
|
2107
|
+
[TRANSFORM]: `${translateType}(${translate.value}px) scale(${currentScale.value})`,
|
|
2108
|
+
width: props.width
|
|
2109
|
+
};
|
|
2110
|
+
} else {
|
|
2111
|
+
return {
|
|
2112
|
+
[TRANSFORM]: `${translateType}(${translate.value}px) scale(${currentScale.value})`,
|
|
2113
|
+
width: itemGutter.value ? props.width : "100%"
|
|
2114
|
+
};
|
|
2115
|
+
}
|
|
2116
|
+
});
|
|
2117
|
+
onBeforeMount(() => {
|
|
2118
|
+
carousel.add?.(instance);
|
|
2119
|
+
if (!isCard.value && itemGutter.value && carousel.props.loop) {
|
|
2120
|
+
throw new VcError("carousel", "slide模式下loop不能为true");
|
|
2121
|
+
}
|
|
2122
|
+
});
|
|
2123
|
+
onBeforeUnmount(() => {
|
|
2124
|
+
carousel.remove?.(instance);
|
|
2125
|
+
});
|
|
2126
|
+
const processIndex = (index, activeIndex, length) => {
|
|
2127
|
+
if (activeIndex === 0 && index === length - 1) {
|
|
2128
|
+
return -1;
|
|
2129
|
+
} else if (activeIndex === length - 1 && index === 0) {
|
|
2130
|
+
return length;
|
|
2131
|
+
} else if (index < activeIndex - 1 && activeIndex - index >= length / 2) {
|
|
2132
|
+
return length + 1;
|
|
2133
|
+
} else if (index > activeIndex + 1 && index - activeIndex >= length / 2) {
|
|
2134
|
+
return -2;
|
|
2135
|
+
}
|
|
2136
|
+
return index;
|
|
2137
|
+
};
|
|
2138
|
+
const calcCardTranslate = (index, activeIndex) => {
|
|
2139
|
+
let value;
|
|
2140
|
+
const widthNumber = +props.width / 100;
|
|
2141
|
+
const parentW = carousel.wrapper.value.offsetWidth;
|
|
2142
|
+
if (isInStage.value) {
|
|
2143
|
+
if (index === activeIndex) {
|
|
2144
|
+
value = parentW * (1 - widthNumber) / 2;
|
|
2145
|
+
} else if (index > activeIndex) {
|
|
2146
|
+
value = parentW * (1 + widthNumber * props.scale) / 2 + itemGutter.value;
|
|
2147
|
+
} else {
|
|
2148
|
+
value = -(parentW * ((widthNumber * props.scale - 1) / 2 + widthNumber)) - itemGutter.value;
|
|
2149
|
+
}
|
|
2150
|
+
} else if (index < activeIndex) {
|
|
2151
|
+
value = parentW * (1 - widthNumber) / 2;
|
|
2152
|
+
} else {
|
|
2153
|
+
value = parentW * (1 - widthNumber) / 2;
|
|
2154
|
+
}
|
|
2155
|
+
return value;
|
|
2156
|
+
};
|
|
2157
|
+
const calcSlideOffset = (index, activeIndex, wrapperWidth) => {
|
|
2158
|
+
const { length } = carousel.items.value;
|
|
2159
|
+
const offset = wrapperWidth - (instance.vnode?.el?.offsetWidth || 0);
|
|
2160
|
+
const gutter = itemGutter.value;
|
|
2161
|
+
if (!gutter || isVertical.value) return 0;
|
|
2162
|
+
let slideOffset = 0;
|
|
2163
|
+
if (length === 1) {
|
|
2164
|
+
return offset / 2;
|
|
2165
|
+
}
|
|
2166
|
+
if (activeIndex == 0) {
|
|
2167
|
+
if (index - activeIndex === 0) {
|
|
2168
|
+
slideOffset = gutter;
|
|
2169
|
+
} else if (index - activeIndex === 1) {
|
|
2170
|
+
slideOffset = -offset + gutter * 2;
|
|
2171
|
+
}
|
|
2172
|
+
}
|
|
2173
|
+
if (activeIndex !== 0 && activeIndex != length - 1) {
|
|
2174
|
+
if (index - activeIndex === 0) {
|
|
2175
|
+
slideOffset = offset / 2;
|
|
2176
|
+
} else if (index - activeIndex === 1) {
|
|
2177
|
+
slideOffset = -offset / 2 + gutter;
|
|
2178
|
+
} else if (index - activeIndex === -1) {
|
|
2179
|
+
slideOffset = offset * 3 / 2 - gutter;
|
|
2180
|
+
}
|
|
2181
|
+
}
|
|
2182
|
+
if (activeIndex == length - 1) {
|
|
2183
|
+
if (index - activeIndex === 0) {
|
|
2184
|
+
slideOffset = offset - gutter;
|
|
2185
|
+
} else if (index - activeIndex === -1) {
|
|
2186
|
+
slideOffset = offset * 2 - gutter * 2;
|
|
2187
|
+
}
|
|
2188
|
+
}
|
|
2189
|
+
return slideOffset;
|
|
2190
|
+
};
|
|
2191
|
+
const calcTranslate = (index, activeIndex) => {
|
|
2192
|
+
const distance = carousel.vnode.el[isVertical.value ? "offsetHeight" : "offsetWidth"];
|
|
2193
|
+
const slideOffset = calcSlideOffset(index, activeIndex, distance);
|
|
2194
|
+
return distance * (index - activeIndex) + carousel.offset.value + slideOffset;
|
|
2195
|
+
};
|
|
2196
|
+
const reset = (index, activeIndex, oldIndex) => {
|
|
2197
|
+
const { length } = carousel.items.value;
|
|
2198
|
+
if (carousel.allowTransition.value && !isCard.value && oldIndex !== void 0) {
|
|
2199
|
+
isAnimating.value = index === activeIndex || index === oldIndex;
|
|
2200
|
+
if (!isVertical.value && !isAnimating.value && itemGutter.value && (index - activeIndex === 1 || index - activeIndex === -1)) {
|
|
2201
|
+
isAnimating.value = true;
|
|
2202
|
+
}
|
|
2203
|
+
}
|
|
2204
|
+
if (index !== activeIndex && length > 2 && carousel.props.loop) {
|
|
2205
|
+
index = processIndex(index, activeIndex, length);
|
|
2206
|
+
}
|
|
2207
|
+
if (isCard.value) {
|
|
2208
|
+
if (isVertical.value) {
|
|
2209
|
+
throw new VcError("carousel", "卡片模式不支持垂直方向");
|
|
2210
|
+
}
|
|
2211
|
+
isInStage.value = Math.round(Math.abs(index - activeIndex)) <= 1;
|
|
2212
|
+
isActive.value = index === activeIndex;
|
|
2213
|
+
translate.value = calcCardTranslate(index, activeIndex);
|
|
2214
|
+
currentScale.value = isActive.value ? 1 : props.scale;
|
|
2215
|
+
} else {
|
|
2216
|
+
isActive.value = index === activeIndex;
|
|
2217
|
+
translate.value = calcTranslate(index, activeIndex);
|
|
2218
|
+
}
|
|
2219
|
+
isReady.value = true;
|
|
2220
|
+
};
|
|
2221
|
+
const handleItemClick = () => {
|
|
2222
|
+
if (parent && isCard.value) {
|
|
2223
|
+
const index = carousel.items.value.indexOf(instance);
|
|
2224
|
+
carousel.setActiveItem(index);
|
|
2225
|
+
}
|
|
2226
|
+
};
|
|
2227
|
+
expose({
|
|
2228
|
+
reset,
|
|
2229
|
+
isInStage,
|
|
2230
|
+
isHover,
|
|
2231
|
+
isActive
|
|
2232
|
+
});
|
|
2233
|
+
return {
|
|
2234
|
+
translate,
|
|
2235
|
+
currentScale,
|
|
2236
|
+
isHover,
|
|
2237
|
+
isActive,
|
|
2238
|
+
isReady,
|
|
2239
|
+
isInStage,
|
|
2240
|
+
isAnimating,
|
|
2241
|
+
isVertical,
|
|
2242
|
+
isCard,
|
|
2243
|
+
isMove,
|
|
2244
|
+
itemGutter,
|
|
2245
|
+
itemStyle,
|
|
2246
|
+
reset,
|
|
2247
|
+
handleItemClick
|
|
2248
|
+
};
|
|
2249
|
+
};
|
|
2250
|
+
|
|
2251
|
+
/** @jsxImportSource vue */
|
|
2252
|
+
|
|
2253
|
+
const COMPONENT_NAME$1_ = 'vc-carousel-item';
|
|
2254
|
+
const CarouselItem = /* @__PURE__ */ defineComponent({
|
|
2255
|
+
name: COMPONENT_NAME$1_,
|
|
1698
2256
|
props: props$1i,
|
|
2257
|
+
setup(_, {
|
|
2258
|
+
slots,
|
|
2259
|
+
expose
|
|
2260
|
+
}) {
|
|
2261
|
+
const it = useCarouselItem(expose);
|
|
2262
|
+
return () => {
|
|
2263
|
+
return withDirectives(createVNode("div", {
|
|
2264
|
+
"class": ['vc-carousel-item', {
|
|
2265
|
+
'is-active': it.isActive.value,
|
|
2266
|
+
'is-card': it.isCard.value,
|
|
2267
|
+
'is-in-stage': it.isInStage.value,
|
|
2268
|
+
'is-hover': it.isHover.value,
|
|
2269
|
+
'is-animating': it.isAnimating.value && !it.isMove.value
|
|
2270
|
+
}],
|
|
2271
|
+
"style": it.itemStyle.value,
|
|
2272
|
+
"onClick": it.handleItemClick
|
|
2273
|
+
}, [it.isCard.value && withDirectives(createVNode("div", {
|
|
2274
|
+
"class": "vc-carousel-item__mask"
|
|
2275
|
+
}, null), [[vShow, !it.isActive.value]]), slots.default?.()]), [[vShow, it.isReady.value]]);
|
|
2276
|
+
};
|
|
2277
|
+
}
|
|
2278
|
+
});
|
|
2279
|
+
|
|
2280
|
+
/** @jsxImportSource vue */
|
|
2281
|
+
|
|
2282
|
+
const COMPONENT_NAME$1Z = 'vcm-carousel';
|
|
2283
|
+
const MCarousel = /* @__PURE__ */ defineComponent({
|
|
2284
|
+
name: COMPONENT_NAME$1Z,
|
|
2285
|
+
props: {
|
|
2286
|
+
...props$1j,
|
|
2287
|
+
dots: {
|
|
2288
|
+
type: [String, Boolean],
|
|
2289
|
+
default: false
|
|
2290
|
+
},
|
|
2291
|
+
indicator: {
|
|
2292
|
+
type: Boolean,
|
|
2293
|
+
default: true
|
|
2294
|
+
}
|
|
2295
|
+
},
|
|
1699
2296
|
setup(props, {
|
|
1700
|
-
slots
|
|
2297
|
+
slots,
|
|
2298
|
+
expose
|
|
1701
2299
|
}) {
|
|
2300
|
+
const wrapper = ref(null);
|
|
2301
|
+
const content = ref(null);
|
|
2302
|
+
const carousel = useCarousel(wrapper, content, expose);
|
|
2303
|
+
let scrollStatus = 0;
|
|
2304
|
+
const handleTouchStart = e => {
|
|
2305
|
+
carousel.handleStart(e.touches[0]);
|
|
2306
|
+
scrollStatus = 0;
|
|
2307
|
+
};
|
|
2308
|
+
const handleTouchMove = e => {
|
|
2309
|
+
const absX = Math.abs(e.touches[0].screenX - carousel.startX.value);
|
|
2310
|
+
const absY = Math.abs(e.touches[0].screenY - carousel.startY.value);
|
|
2311
|
+
if (!props.vertical && absX > absY && scrollStatus !== 1) {
|
|
2312
|
+
e.preventDefault();
|
|
2313
|
+
carousel.handleMove(e.touches[0]);
|
|
2314
|
+
scrollStatus = 2;
|
|
2315
|
+
return;
|
|
2316
|
+
}
|
|
2317
|
+
if (props.vertical && absY > absX) {
|
|
2318
|
+
e.preventDefault();
|
|
2319
|
+
carousel.handleMove(e.touches[0]);
|
|
2320
|
+
return;
|
|
2321
|
+
}
|
|
2322
|
+
if (scrollStatus === 0) {
|
|
2323
|
+
scrollStatus = 1;
|
|
2324
|
+
}
|
|
2325
|
+
};
|
|
2326
|
+
|
|
2327
|
+
// e.changedTouches[0]
|
|
2328
|
+
const handleTouchEnd = () => {
|
|
2329
|
+
carousel.handleEnd();
|
|
2330
|
+
scrollStatus = 0;
|
|
2331
|
+
};
|
|
1702
2332
|
return () => {
|
|
1703
2333
|
return createVNode("div", {
|
|
1704
|
-
"
|
|
1705
|
-
|
|
2334
|
+
"ref": wrapper,
|
|
2335
|
+
"class": ['vcm-carousel', `is-${carousel.direction.value}`],
|
|
2336
|
+
"onTouchstart": withModifiers(handleTouchStart, ['stop']),
|
|
2337
|
+
"onTouchmove": withModifiers(handleTouchMove, ['stop']),
|
|
2338
|
+
"onTouchend": withModifiers(handleTouchEnd, ['stop'])
|
|
2339
|
+
}, [createVNode("div", {
|
|
2340
|
+
"ref": content,
|
|
2341
|
+
"style": {
|
|
2342
|
+
height: props.height ? `${props.height}px` : 'auto'
|
|
2343
|
+
},
|
|
2344
|
+
"class": "vcm-carousel__wrapper"
|
|
2345
|
+
}, [slots.default?.()]), props.dots && createVNode("ul", {
|
|
2346
|
+
"class": ['vcm-carousel__dots', ...carousel.dotsClasses.value]
|
|
2347
|
+
}, [carousel.items.value.map((_, index) => createVNode("li", {
|
|
2348
|
+
"key": index,
|
|
2349
|
+
"class": ['vcm-carousel__dot', 'is-' + carousel.direction.value, {
|
|
2350
|
+
'is-active': index === carousel.activeIndex.value
|
|
2351
|
+
}],
|
|
2352
|
+
"onClick": e => {
|
|
2353
|
+
e.stopPropagation();
|
|
2354
|
+
carousel.handleDotClick(index);
|
|
2355
|
+
}
|
|
2356
|
+
}, [createVNode("button", {
|
|
2357
|
+
"class": "vcm-carousel__button"
|
|
2358
|
+
}, [carousel.hasLabel.value && createVNode("span", null, [carousel.items.value[index].props.label])])]))]), !props.card && props.indicator && createVNode("div", {
|
|
2359
|
+
"class": "vcm-carousel__indicator"
|
|
2360
|
+
}, [createVNode("span", null, [carousel.activeIndex.value + 1]), createVNode("span", null, [createTextVNode(" / ")]), createVNode("span", null, [carousel.items.value.length])])]);
|
|
1706
2361
|
};
|
|
1707
2362
|
}
|
|
1708
2363
|
});
|
|
1709
2364
|
|
|
1710
|
-
|
|
2365
|
+
/** @jsxImportSource vue */
|
|
2366
|
+
|
|
2367
|
+
const COMPONENT_NAME$1Y = 'vcm-carousel-item';
|
|
2368
|
+
const MCarouselItem = /* @__PURE__ */ defineComponent({
|
|
2369
|
+
name: COMPONENT_NAME$1Y,
|
|
2370
|
+
props: props$1i,
|
|
2371
|
+
setup(_, {
|
|
2372
|
+
slots,
|
|
2373
|
+
expose
|
|
2374
|
+
}) {
|
|
2375
|
+
const it = useCarouselItem(expose);
|
|
2376
|
+
return () => {
|
|
2377
|
+
return withDirectives(createVNode("div", {
|
|
2378
|
+
"style": it.itemStyle.value,
|
|
2379
|
+
"class": {
|
|
2380
|
+
'vcm-carousel-item': true,
|
|
2381
|
+
'is-active': it.isActive.value,
|
|
2382
|
+
'is-card': it.isCard.value,
|
|
2383
|
+
'is-animating': it.isAnimating.value && !it.isMove.value,
|
|
2384
|
+
'is-in-stage': it.isInStage.value
|
|
2385
|
+
},
|
|
2386
|
+
"onClick": it.handleItemClick
|
|
2387
|
+
}, [it.isCard.value && !it.isActive.value && createVNode("div", {
|
|
2388
|
+
"class": "vcm-carousel-item__mask"
|
|
2389
|
+
}, null), slots.default?.()]), [[vShow, it.isReady.value]]);
|
|
2390
|
+
};
|
|
2391
|
+
}
|
|
2392
|
+
});
|
|
1711
2393
|
|
|
1712
2394
|
const getSelectedData = (value = [], source = []) => {
|
|
1713
2395
|
const label = [];
|
|
@@ -1988,9 +2670,9 @@ const useNativeEmitter = (input, expose) => {
|
|
|
1988
2670
|
|
|
1989
2671
|
/** @jsxImportSource vue */
|
|
1990
2672
|
|
|
1991
|
-
const COMPONENT_NAME$
|
|
2673
|
+
const COMPONENT_NAME$1X = 'vc-input';
|
|
1992
2674
|
const Input = /* @__PURE__ */ defineComponent({
|
|
1993
|
-
name: COMPONENT_NAME$
|
|
2675
|
+
name: COMPONENT_NAME$1X,
|
|
1994
2676
|
inheritAttrs: false,
|
|
1995
2677
|
props: {
|
|
1996
2678
|
...props$1h,
|
|
@@ -2325,9 +3007,9 @@ const useInputNumber = () => {
|
|
|
2325
3007
|
|
|
2326
3008
|
/** @jsxImportSource vue */
|
|
2327
3009
|
|
|
2328
|
-
const COMPONENT_NAME$
|
|
3010
|
+
const COMPONENT_NAME$1W = 'vc-input-number';
|
|
2329
3011
|
const InputNumber = /* @__PURE__ */ defineComponent({
|
|
2330
|
-
name: COMPONENT_NAME$
|
|
3012
|
+
name: COMPONENT_NAME$1W,
|
|
2331
3013
|
props: props$1g,
|
|
2332
3014
|
inheritAttrs: false,
|
|
2333
3015
|
setup(props, {
|
|
@@ -2391,9 +3073,9 @@ const props$1f = {
|
|
|
2391
3073
|
|
|
2392
3074
|
/** @jsxImportSource vue */
|
|
2393
3075
|
|
|
2394
|
-
const COMPONENT_NAME$
|
|
3076
|
+
const COMPONENT_NAME$1V = 'vc-input-search';
|
|
2395
3077
|
const InputSearch = /* @__PURE__ */ defineComponent({
|
|
2396
|
-
name: COMPONENT_NAME$
|
|
3078
|
+
name: COMPONENT_NAME$1V,
|
|
2397
3079
|
props: props$1f,
|
|
2398
3080
|
inheritAttrs: false,
|
|
2399
3081
|
setup(props, {
|
|
@@ -2786,9 +3468,9 @@ const props$1c = {
|
|
|
2786
3468
|
}
|
|
2787
3469
|
};
|
|
2788
3470
|
|
|
2789
|
-
const COMPONENT_NAME$
|
|
3471
|
+
const COMPONENT_NAME$1U = "vc-customer";
|
|
2790
3472
|
const Customer = defineComponent({
|
|
2791
|
-
name: COMPONENT_NAME$
|
|
3473
|
+
name: COMPONENT_NAME$1U,
|
|
2792
3474
|
props: props$1c,
|
|
2793
3475
|
setup(props, context) {
|
|
2794
3476
|
return () => h(() => {
|
|
@@ -2864,7 +3546,7 @@ class PortalLeaf {
|
|
|
2864
3546
|
}
|
|
2865
3547
|
}
|
|
2866
3548
|
|
|
2867
|
-
const COMPONENT_NAME$
|
|
3549
|
+
const COMPONENT_NAME$1T = "vc-portal";
|
|
2868
3550
|
class Portal {
|
|
2869
3551
|
/**
|
|
2870
3552
|
* 清理Portals类型组件
|
|
@@ -2914,7 +3596,7 @@ class Portal {
|
|
|
2914
3596
|
this.wrapper = wrapper;
|
|
2915
3597
|
this.globalOptions = {
|
|
2916
3598
|
...options,
|
|
2917
|
-
name: options?.name || wrapper.name || Utils.getUid(COMPONENT_NAME$
|
|
3599
|
+
name: options?.name || wrapper.name || Utils.getUid(COMPONENT_NAME$1T)
|
|
2918
3600
|
};
|
|
2919
3601
|
}
|
|
2920
3602
|
popup(propsData, options) {
|
|
@@ -3012,7 +3694,7 @@ class Portal {
|
|
|
3012
3694
|
...rest
|
|
3013
3695
|
} = options;
|
|
3014
3696
|
let useAllNodes = fragment;
|
|
3015
|
-
const name = multiple ? `${name$}__${Utils.getUid(COMPONENT_NAME$
|
|
3697
|
+
const name = multiple ? `${name$}__${Utils.getUid(COMPONENT_NAME$1T)}` : name$;
|
|
3016
3698
|
const container = document.createElement(tag);
|
|
3017
3699
|
const root = typeof el === "object" ? el : document.querySelector(el || "body");
|
|
3018
3700
|
!alive && Portal.leafs.get(name)?.destroy();
|
|
@@ -3046,7 +3728,7 @@ class Portal {
|
|
|
3046
3728
|
} else {
|
|
3047
3729
|
const wrapper = this.wrapper;
|
|
3048
3730
|
const app = createApp({
|
|
3049
|
-
name: COMPONENT_NAME$
|
|
3731
|
+
name: COMPONENT_NAME$1T,
|
|
3050
3732
|
parent,
|
|
3051
3733
|
setup() {
|
|
3052
3734
|
if (alive) {
|
|
@@ -3157,13 +3839,13 @@ const props$1b = {
|
|
|
3157
3839
|
}
|
|
3158
3840
|
};
|
|
3159
3841
|
|
|
3160
|
-
const COMPONENT_NAME$
|
|
3842
|
+
const COMPONENT_NAME$1S = 'vc-portal-view';
|
|
3161
3843
|
|
|
3162
3844
|
/**
|
|
3163
3845
|
* 写法不同,但与vue@2.x 保持一致
|
|
3164
3846
|
*/
|
|
3165
3847
|
const PortalView = /* @__PURE__ */ defineComponent({
|
|
3166
|
-
name: COMPONENT_NAME$
|
|
3848
|
+
name: COMPONENT_NAME$1S,
|
|
3167
3849
|
props: props$1b,
|
|
3168
3850
|
setup(props, {
|
|
3169
3851
|
slots
|
|
@@ -3183,9 +3865,9 @@ const PortalView = /* @__PURE__ */ defineComponent({
|
|
|
3183
3865
|
|
|
3184
3866
|
/** @jsxImportSource vue */
|
|
3185
3867
|
|
|
3186
|
-
const COMPONENT_NAME$
|
|
3868
|
+
const COMPONENT_NAME$1R = 'vc-popover-wrapper';
|
|
3187
3869
|
const PopoverWrapper = /* @__PURE__ */ defineComponent({
|
|
3188
|
-
name: COMPONENT_NAME$
|
|
3870
|
+
name: COMPONENT_NAME$1R,
|
|
3189
3871
|
props: props$1e,
|
|
3190
3872
|
emits: ['portal-fulfilled', 'close'],
|
|
3191
3873
|
setup(props, {
|
|
@@ -3443,9 +4125,9 @@ const PopoverPortal = new Portal(PopoverWrapper, {
|
|
|
3443
4125
|
|
|
3444
4126
|
/** @jsxImportSource vue */
|
|
3445
4127
|
|
|
3446
|
-
const COMPONENT_NAME$
|
|
4128
|
+
const COMPONENT_NAME$1Q = 'vc-popover';
|
|
3447
4129
|
const Popover$1 = /* @__PURE__ */ defineComponent({
|
|
3448
|
-
name: COMPONENT_NAME$
|
|
4130
|
+
name: COMPONENT_NAME$1Q,
|
|
3449
4131
|
props: props$1d,
|
|
3450
4132
|
emits: ['update:modelValue', 'visible-change', 'ready', 'close'],
|
|
3451
4133
|
setup(props, {
|
|
@@ -3589,9 +4271,9 @@ const Popover = Object.assign(Popover$1, {
|
|
|
3589
4271
|
|
|
3590
4272
|
/** @jsxImportSource vue */
|
|
3591
4273
|
|
|
3592
|
-
const COMPONENT_NAME$
|
|
4274
|
+
const COMPONENT_NAME$1P = 'vc-cascader-column';
|
|
3593
4275
|
const CascaderColumn = /* @__PURE__ */ defineComponent({
|
|
3594
|
-
name: COMPONENT_NAME$
|
|
4276
|
+
name: COMPONENT_NAME$1P,
|
|
3595
4277
|
emits: ['click', 'change'],
|
|
3596
4278
|
props: {
|
|
3597
4279
|
data: {
|
|
@@ -3799,9 +4481,9 @@ const props$19 = {
|
|
|
3799
4481
|
|
|
3800
4482
|
/** @jsxImportSource vue */
|
|
3801
4483
|
|
|
3802
|
-
const COMPONENT_NAME$
|
|
4484
|
+
const COMPONENT_NAME$1O = 'vc-cascader';
|
|
3803
4485
|
const Cascader = /* @__PURE__ */ defineComponent({
|
|
3804
|
-
name: COMPONENT_NAME$
|
|
4486
|
+
name: COMPONENT_NAME$1O,
|
|
3805
4487
|
inheritAttrs: false,
|
|
3806
4488
|
props: props$19,
|
|
3807
4489
|
emits: ['update:modelValue', 'visible-change', 'ready', 'change', 'close'],
|
|
@@ -4153,9 +4835,9 @@ const props$18 = {
|
|
|
4153
4835
|
|
|
4154
4836
|
/** @jsxImportSource vue */
|
|
4155
4837
|
|
|
4156
|
-
const COMPONENT_NAME$
|
|
4838
|
+
const COMPONENT_NAME$1N = 'vc-chart';
|
|
4157
4839
|
const Chart = /* @__PURE__ */ defineComponent({
|
|
4158
|
-
name: COMPONENT_NAME$
|
|
4840
|
+
name: COMPONENT_NAME$1N,
|
|
4159
4841
|
props: props$18,
|
|
4160
4842
|
emits: [...EVENTS, 'ready'],
|
|
4161
4843
|
setup(props, {
|
|
@@ -4394,9 +5076,9 @@ const useCheckbox = () => {
|
|
|
4394
5076
|
|
|
4395
5077
|
/** @jsxImportSource vue */
|
|
4396
5078
|
|
|
4397
|
-
const COMPONENT_NAME$
|
|
5079
|
+
const COMPONENT_NAME$1M = 'vc-checkbox';
|
|
4398
5080
|
const Checkbox = /* @__PURE__ */ defineComponent({
|
|
4399
|
-
name: COMPONENT_NAME$
|
|
5081
|
+
name: COMPONENT_NAME$1M,
|
|
4400
5082
|
props: props$17,
|
|
4401
5083
|
emits: ['update:modelValue', 'change'],
|
|
4402
5084
|
setup(props, {
|
|
@@ -4483,9 +5165,9 @@ const useCheckboxGroup = () => {
|
|
|
4483
5165
|
|
|
4484
5166
|
/** @jsxImportSource vue */
|
|
4485
5167
|
|
|
4486
|
-
const COMPONENT_NAME$
|
|
5168
|
+
const COMPONENT_NAME$1L = 'vc-checkbox-group';
|
|
4487
5169
|
const CheckboxGroup = /* @__PURE__ */ defineComponent({
|
|
4488
|
-
name: COMPONENT_NAME$
|
|
5170
|
+
name: COMPONENT_NAME$1L,
|
|
4489
5171
|
props: props$16,
|
|
4490
5172
|
emits: ['update:modelValue', 'change'],
|
|
4491
5173
|
setup(props, {
|
|
@@ -4503,9 +5185,9 @@ const CheckboxGroup = /* @__PURE__ */ defineComponent({
|
|
|
4503
5185
|
|
|
4504
5186
|
/** @jsxImportSource vue */
|
|
4505
5187
|
|
|
4506
|
-
const COMPONENT_NAME$
|
|
5188
|
+
const COMPONENT_NAME$1K = 'vcm-checkbox';
|
|
4507
5189
|
const MCheckbox = /* @__PURE__ */ defineComponent({
|
|
4508
|
-
name: COMPONENT_NAME$
|
|
5190
|
+
name: COMPONENT_NAME$1K,
|
|
4509
5191
|
props: props$17,
|
|
4510
5192
|
emits: ['update:modelValue', 'change'],
|
|
4511
5193
|
setup(props, {
|
|
@@ -4545,9 +5227,9 @@ const MCheckbox = /* @__PURE__ */ defineComponent({
|
|
|
4545
5227
|
|
|
4546
5228
|
/** @jsxImportSource vue */
|
|
4547
5229
|
|
|
4548
|
-
const COMPONENT_NAME$
|
|
5230
|
+
const COMPONENT_NAME$1J = 'vcm-checkbox-group';
|
|
4549
5231
|
const MCheckboxGroup = /* @__PURE__ */ defineComponent({
|
|
4550
|
-
name: COMPONENT_NAME$
|
|
5232
|
+
name: COMPONENT_NAME$1J,
|
|
4551
5233
|
props: props$16,
|
|
4552
5234
|
emits: ['update:modelValue', 'change'],
|
|
4553
5235
|
setup(props, {
|
|
@@ -4601,9 +5283,9 @@ const props$15 = {
|
|
|
4601
5283
|
|
|
4602
5284
|
/** @jsxImportSource vue */
|
|
4603
5285
|
|
|
4604
|
-
const COMPONENT_NAME$
|
|
5286
|
+
const COMPONENT_NAME$1I = 'vc-message';
|
|
4605
5287
|
const MessageView = /* @__PURE__ */ defineComponent({
|
|
4606
|
-
name: COMPONENT_NAME$
|
|
5288
|
+
name: COMPONENT_NAME$1I,
|
|
4607
5289
|
emits: ['before-close', 'close', 'portal-fulfilled'],
|
|
4608
5290
|
props: props$15,
|
|
4609
5291
|
setup(props, {
|
|
@@ -4852,9 +5534,9 @@ const useClipboard = (done) => {
|
|
|
4852
5534
|
return () => h(props.tag, { onClick: handleClick, class: "vc-clipboard" }, slots?.default?.());
|
|
4853
5535
|
};
|
|
4854
5536
|
|
|
4855
|
-
const COMPONENT_NAME$
|
|
5537
|
+
const COMPONENT_NAME$1H = "vc-clipboard";
|
|
4856
5538
|
const Clipboard$1 = defineComponent({
|
|
4857
|
-
name: COMPONENT_NAME$
|
|
5539
|
+
name: COMPONENT_NAME$1H,
|
|
4858
5540
|
props: props$14,
|
|
4859
5541
|
setup() {
|
|
4860
5542
|
return useClipboard((content) => Message.success({ content }));
|
|
@@ -4894,9 +5576,9 @@ const MTransitionZoom = TransitionZoom;
|
|
|
4894
5576
|
|
|
4895
5577
|
/** @jsxImportSource vue */
|
|
4896
5578
|
|
|
4897
|
-
const COMPONENT_NAME$
|
|
5579
|
+
const COMPONENT_NAME$1G = 'vcm-toast';
|
|
4898
5580
|
const MToastView = /* @__PURE__ */ defineComponent({
|
|
4899
|
-
name: COMPONENT_NAME$
|
|
5581
|
+
name: COMPONENT_NAME$1G,
|
|
4900
5582
|
emits: ['close', 'portal-fulfilled'],
|
|
4901
5583
|
props: props$13,
|
|
4902
5584
|
setup(props, {
|
|
@@ -4998,9 +5680,9 @@ const warning$2 = create$3({ mode: "warning" });
|
|
|
4998
5680
|
const error$2 = create$3({ mode: "error" });
|
|
4999
5681
|
const MToast = Object.assign(MToastView, { destroy: destroy$4, info: info$2, success: success$2, loading, warning: warning$2, error: error$2 });
|
|
5000
5682
|
|
|
5001
|
-
const COMPONENT_NAME$
|
|
5683
|
+
const COMPONENT_NAME$1F = "vcm-clipboard";
|
|
5002
5684
|
const MClipboard$1 = defineComponent({
|
|
5003
|
-
name: COMPONENT_NAME$
|
|
5685
|
+
name: COMPONENT_NAME$1F,
|
|
5004
5686
|
props: props$14,
|
|
5005
5687
|
setup() {
|
|
5006
5688
|
return useClipboard((content) => MToast.info({ content }));
|
|
@@ -5032,9 +5714,9 @@ const props$12 = {
|
|
|
5032
5714
|
}
|
|
5033
5715
|
};
|
|
5034
5716
|
|
|
5035
|
-
const COMPONENT_NAME$
|
|
5717
|
+
const COMPONENT_NAME$1E = "vc-collapse";
|
|
5036
5718
|
const Collapse = defineComponent({
|
|
5037
|
-
name: COMPONENT_NAME$
|
|
5719
|
+
name: COMPONENT_NAME$1E,
|
|
5038
5720
|
props: props$12,
|
|
5039
5721
|
emits: ["update:moodelValue", "change"],
|
|
5040
5722
|
setup(props, { slots, emit }) {
|
|
@@ -5151,9 +5833,9 @@ const props$10 = {
|
|
|
5151
5833
|
function _isSlot$3(s) {
|
|
5152
5834
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
|
|
5153
5835
|
}
|
|
5154
|
-
const COMPONENT_NAME$
|
|
5836
|
+
const COMPONENT_NAME$1D = 'vc-expand';
|
|
5155
5837
|
const Expand$1 = /* @__PURE__ */ defineComponent({
|
|
5156
|
-
name: COMPONENT_NAME$
|
|
5838
|
+
name: COMPONENT_NAME$1D,
|
|
5157
5839
|
props: props$10,
|
|
5158
5840
|
setup(props, {
|
|
5159
5841
|
slots
|
|
@@ -5183,9 +5865,9 @@ const Expand$1 = /* @__PURE__ */ defineComponent({
|
|
|
5183
5865
|
|
|
5184
5866
|
/** @jsxImportSource vue */
|
|
5185
5867
|
|
|
5186
|
-
const COMPONENT_NAME$
|
|
5868
|
+
const COMPONENT_NAME$1C = 'vc-collapse-item';
|
|
5187
5869
|
const CollapseItem = /* @__PURE__ */ defineComponent({
|
|
5188
|
-
name: COMPONENT_NAME$
|
|
5870
|
+
name: COMPONENT_NAME$1C,
|
|
5189
5871
|
props: props$11,
|
|
5190
5872
|
setup(props, {
|
|
5191
5873
|
slots,
|
|
@@ -5260,9 +5942,9 @@ const props$$ = {
|
|
|
5260
5942
|
|
|
5261
5943
|
/** @jsxImportSource vue */
|
|
5262
5944
|
|
|
5263
|
-
const COMPONENT_NAME$
|
|
5945
|
+
const COMPONENT_NAME$1B = 'vc-color-picker';
|
|
5264
5946
|
const ColorPicker = /* @__PURE__ */ defineComponent({
|
|
5265
|
-
name: COMPONENT_NAME$
|
|
5947
|
+
name: COMPONENT_NAME$1B,
|
|
5266
5948
|
props: props$$,
|
|
5267
5949
|
setup(props, {
|
|
5268
5950
|
slots
|
|
@@ -5325,9 +6007,9 @@ const formatter = (format, arr) => {
|
|
|
5325
6007
|
function _isSlot$2(s) {
|
|
5326
6008
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
|
|
5327
6009
|
}
|
|
5328
|
-
const COMPONENT_NAME$
|
|
6010
|
+
const COMPONENT_NAME$1A = 'vc-countdown';
|
|
5329
6011
|
const Countdown = /* @__PURE__ */ defineComponent({
|
|
5330
|
-
name: COMPONENT_NAME$
|
|
6012
|
+
name: COMPONENT_NAME$1A,
|
|
5331
6013
|
props: props$_,
|
|
5332
6014
|
emits: ['change', 'complete', 'error'],
|
|
5333
6015
|
setup(props, {
|
|
@@ -5600,9 +6282,9 @@ const value2separated = (value, options) => {
|
|
|
5600
6282
|
function _isSlot$1(s) {
|
|
5601
6283
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
|
|
5602
6284
|
}
|
|
5603
|
-
const COMPONENT_NAME$
|
|
6285
|
+
const COMPONENT_NAME$1z = 'vc-counter';
|
|
5604
6286
|
const Counter = /* @__PURE__ */ defineComponent({
|
|
5605
|
-
name: COMPONENT_NAME$
|
|
6287
|
+
name: COMPONENT_NAME$1z,
|
|
5606
6288
|
props: props$Z,
|
|
5607
6289
|
emits: ['begin', 'complete', 'change'],
|
|
5608
6290
|
setup(props, {
|
|
@@ -6865,9 +7547,9 @@ const getTimeType = type => {
|
|
|
6865
7547
|
}
|
|
6866
7548
|
return view;
|
|
6867
7549
|
};
|
|
6868
|
-
const COMPONENT_NAME$
|
|
7550
|
+
const COMPONENT_NAME$1y = 'vc-date-confirm';
|
|
6869
7551
|
const Confirm = /* @__PURE__ */ defineComponent({
|
|
6870
|
-
name: COMPONENT_NAME$
|
|
7552
|
+
name: COMPONENT_NAME$1y,
|
|
6871
7553
|
props: {
|
|
6872
7554
|
showTime: {
|
|
6873
7555
|
type: Boolean,
|
|
@@ -6931,9 +7613,9 @@ const Confirm = /* @__PURE__ */ defineComponent({
|
|
|
6931
7613
|
|
|
6932
7614
|
/** @jsxImportSource vue */
|
|
6933
7615
|
|
|
6934
|
-
const COMPONENT_NAME$
|
|
7616
|
+
const COMPONENT_NAME$1x = 'vc-date-header';
|
|
6935
7617
|
const DateHeader = /* @__PURE__ */ defineComponent({
|
|
6936
|
-
name: COMPONENT_NAME$
|
|
7618
|
+
name: COMPONENT_NAME$1x,
|
|
6937
7619
|
props: {
|
|
6938
7620
|
panelDate: Date,
|
|
6939
7621
|
showNext: {
|
|
@@ -7017,9 +7699,9 @@ const DateHeader = /* @__PURE__ */ defineComponent({
|
|
|
7017
7699
|
|
|
7018
7700
|
/** @jsxImportSource vue */
|
|
7019
7701
|
|
|
7020
|
-
const COMPONENT_NAME$
|
|
7702
|
+
const COMPONENT_NAME$1w = 'vc-date-table';
|
|
7021
7703
|
const DateTable = /* @__PURE__ */ defineComponent({
|
|
7022
|
-
name: COMPONENT_NAME$
|
|
7704
|
+
name: COMPONENT_NAME$1w,
|
|
7023
7705
|
props: {
|
|
7024
7706
|
value: Array,
|
|
7025
7707
|
firstDayOfWeek: {
|
|
@@ -7228,9 +7910,9 @@ const DateTable = /* @__PURE__ */ defineComponent({
|
|
|
7228
7910
|
|
|
7229
7911
|
/** @jsxImportSource vue */
|
|
7230
7912
|
|
|
7231
|
-
const COMPONENT_NAME$
|
|
7913
|
+
const COMPONENT_NAME$1v = 'vc-month-table';
|
|
7232
7914
|
const MonthTable = /* @__PURE__ */ defineComponent({
|
|
7233
|
-
name: COMPONENT_NAME$
|
|
7915
|
+
name: COMPONENT_NAME$1v,
|
|
7234
7916
|
props: {
|
|
7235
7917
|
value: Array,
|
|
7236
7918
|
panelDate: Date,
|
|
@@ -7362,7 +8044,7 @@ const MonthTable = /* @__PURE__ */ defineComponent({
|
|
|
7362
8044
|
|
|
7363
8045
|
/** @jsxImportSource vue */
|
|
7364
8046
|
|
|
7365
|
-
const COMPONENT_NAME$
|
|
8047
|
+
const COMPONENT_NAME$1u = 'vc-quarter-table';
|
|
7366
8048
|
|
|
7367
8049
|
/**
|
|
7368
8050
|
* 获取季度对应的月份范围
|
|
@@ -7396,7 +8078,7 @@ const getQuarterRangeByMonth = value => {
|
|
|
7396
8078
|
}
|
|
7397
8079
|
};
|
|
7398
8080
|
const QuarterTable = /* @__PURE__ */ defineComponent({
|
|
7399
|
-
name: COMPONENT_NAME$
|
|
8081
|
+
name: COMPONENT_NAME$1u,
|
|
7400
8082
|
props: {
|
|
7401
8083
|
value: Array,
|
|
7402
8084
|
panelDate: Date,
|
|
@@ -7519,9 +8201,9 @@ const QuarterTable = /* @__PURE__ */ defineComponent({
|
|
|
7519
8201
|
|
|
7520
8202
|
/** @jsxImportSource vue */
|
|
7521
8203
|
|
|
7522
|
-
const COMPONENT_NAME$
|
|
8204
|
+
const COMPONENT_NAME$1t = 'vc-shortcuts-select';
|
|
7523
8205
|
const ShortcutsSelect = /* @__PURE__ */ defineComponent({
|
|
7524
|
-
name: COMPONENT_NAME$
|
|
8206
|
+
name: COMPONENT_NAME$1t,
|
|
7525
8207
|
props: {
|
|
7526
8208
|
panelDate: Date,
|
|
7527
8209
|
config: Array,
|
|
@@ -7561,9 +8243,9 @@ const ShortcutsSelect = /* @__PURE__ */ defineComponent({
|
|
|
7561
8243
|
|
|
7562
8244
|
/** @jsxImportSource vue */
|
|
7563
8245
|
|
|
7564
|
-
const COMPONENT_NAME$
|
|
8246
|
+
const COMPONENT_NAME$1s = 'vc-time-select';
|
|
7565
8247
|
const TimeSelect = /* @__PURE__ */ defineComponent({
|
|
7566
|
-
name: COMPONENT_NAME$
|
|
8248
|
+
name: COMPONENT_NAME$1s,
|
|
7567
8249
|
props: {
|
|
7568
8250
|
hours: {
|
|
7569
8251
|
type: [Number, String],
|
|
@@ -7843,9 +8525,9 @@ const TimeSelect = /* @__PURE__ */ defineComponent({
|
|
|
7843
8525
|
|
|
7844
8526
|
/** @jsxImportSource vue */
|
|
7845
8527
|
|
|
7846
|
-
const COMPONENT_NAME$
|
|
8528
|
+
const COMPONENT_NAME$1r = 'vc-year-table';
|
|
7847
8529
|
const YearTable = /* @__PURE__ */ defineComponent({
|
|
7848
|
-
name: COMPONENT_NAME$
|
|
8530
|
+
name: COMPONENT_NAME$1r,
|
|
7849
8531
|
props: {
|
|
7850
8532
|
value: Array,
|
|
7851
8533
|
panelDate: Date,
|
|
@@ -7968,9 +8650,9 @@ const getDateIsInRange = (value, type, leftPanelDate, rightPanelDate) => {
|
|
|
7968
8650
|
}
|
|
7969
8651
|
return true;
|
|
7970
8652
|
};
|
|
7971
|
-
const COMPONENT_NAME$
|
|
8653
|
+
const COMPONENT_NAME$1q = 'vc-date-range-panel';
|
|
7972
8654
|
const DateRangePanel = /* @__PURE__ */ defineComponent({
|
|
7973
|
-
name: COMPONENT_NAME$
|
|
8655
|
+
name: COMPONENT_NAME$1q,
|
|
7974
8656
|
props: {
|
|
7975
8657
|
...props$W,
|
|
7976
8658
|
confirm: {
|
|
@@ -8349,9 +9031,9 @@ const DateRangePanel = /* @__PURE__ */ defineComponent({
|
|
|
8349
9031
|
|
|
8350
9032
|
/** @jsxImportSource vue */
|
|
8351
9033
|
|
|
8352
|
-
const COMPONENT_NAME$
|
|
9034
|
+
const COMPONENT_NAME$1p = 'vc-date-panel';
|
|
8353
9035
|
const DatePanel = /* @__PURE__ */ defineComponent({
|
|
8354
|
-
name: COMPONENT_NAME$
|
|
9036
|
+
name: COMPONENT_NAME$1p,
|
|
8355
9037
|
props: {
|
|
8356
9038
|
...props$W,
|
|
8357
9039
|
type: String,
|
|
@@ -8559,9 +9241,9 @@ const isEqualYear$1 = value => {
|
|
|
8559
9241
|
const endYear = value[1].getFullYear();
|
|
8560
9242
|
return startYear === endYear;
|
|
8561
9243
|
};
|
|
8562
|
-
const COMPONENT_NAME$
|
|
9244
|
+
const COMPONENT_NAME$1o = 'vc-monthrange-panel';
|
|
8563
9245
|
const MonthRangePanel = /* @__PURE__ */ defineComponent({
|
|
8564
|
-
name: COMPONENT_NAME$
|
|
9246
|
+
name: COMPONENT_NAME$1o,
|
|
8565
9247
|
props: {
|
|
8566
9248
|
...props$W,
|
|
8567
9249
|
confirm: {
|
|
@@ -8736,9 +9418,9 @@ const isEqualYear = value => {
|
|
|
8736
9418
|
const endYear = value[1].getFullYear();
|
|
8737
9419
|
return startYear === endYear;
|
|
8738
9420
|
};
|
|
8739
|
-
const COMPONENT_NAME$
|
|
9421
|
+
const COMPONENT_NAME$1n = 'vc-quarterrange-panel';
|
|
8740
9422
|
const QuarterRangePanel = /* @__PURE__ */ defineComponent({
|
|
8741
|
-
name: COMPONENT_NAME$
|
|
9423
|
+
name: COMPONENT_NAME$1n,
|
|
8742
9424
|
props: {
|
|
8743
9425
|
...props$W,
|
|
8744
9426
|
confirm: {
|
|
@@ -8977,9 +9659,9 @@ const getComparedDate = (leftDate, rightDate) => {
|
|
|
8977
9659
|
seconds
|
|
8978
9660
|
};
|
|
8979
9661
|
};
|
|
8980
|
-
const COMPONENT_NAME$
|
|
9662
|
+
const COMPONENT_NAME$1m = 'vc-timerange-panel';
|
|
8981
9663
|
const TimeRangePanel = /* @__PURE__ */ defineComponent({
|
|
8982
|
-
name: COMPONENT_NAME$
|
|
9664
|
+
name: COMPONENT_NAME$1m,
|
|
8983
9665
|
props: props$V,
|
|
8984
9666
|
emits: ['pick', 'clear', 'ok'],
|
|
8985
9667
|
setup(props, {
|
|
@@ -9080,9 +9762,9 @@ const TimeRangePanel = /* @__PURE__ */ defineComponent({
|
|
|
9080
9762
|
|
|
9081
9763
|
/** @jsxImportSource vue */
|
|
9082
9764
|
|
|
9083
|
-
const COMPONENT_NAME$
|
|
9765
|
+
const COMPONENT_NAME$1l = 'vc-time-panel';
|
|
9084
9766
|
const TimePanel = /* @__PURE__ */ defineComponent({
|
|
9085
|
-
name: COMPONENT_NAME$
|
|
9767
|
+
name: COMPONENT_NAME$1l,
|
|
9086
9768
|
props: props$V,
|
|
9087
9769
|
emits: ['pick', 'clear', 'ok'],
|
|
9088
9770
|
setup(props, {
|
|
@@ -9138,7 +9820,7 @@ const TimePanel = /* @__PURE__ */ defineComponent({
|
|
|
9138
9820
|
|
|
9139
9821
|
/** @jsxImportSource vue */
|
|
9140
9822
|
|
|
9141
|
-
const COMPONENT_NAME$
|
|
9823
|
+
const COMPONENT_NAME$1k = 'vc-date-picker';
|
|
9142
9824
|
const getPanel$1 = type => {
|
|
9143
9825
|
if (['daterange', 'datetimerange'].includes(type)) {
|
|
9144
9826
|
return DateRangePanel;
|
|
@@ -9149,7 +9831,7 @@ const getPanel$1 = type => {
|
|
|
9149
9831
|
}
|
|
9150
9832
|
return DatePanel;
|
|
9151
9833
|
};
|
|
9152
|
-
const DatePicker = createPicker(COMPONENT_NAME$
|
|
9834
|
+
const DatePicker = createPicker(COMPONENT_NAME$1k, props$Y, () => {
|
|
9153
9835
|
const props = getCurrentInstance().props;
|
|
9154
9836
|
const icon = ref('date');
|
|
9155
9837
|
const panel = shallowRef({});
|
|
@@ -9190,9 +9872,9 @@ const props$U = {
|
|
|
9190
9872
|
|
|
9191
9873
|
/** @jsxImportSource vue */
|
|
9192
9874
|
|
|
9193
|
-
const COMPONENT_NAME$
|
|
9875
|
+
const COMPONENT_NAME$1j = 'vc-divider';
|
|
9194
9876
|
const Divider = /* @__PURE__ */ defineComponent({
|
|
9195
|
-
name: COMPONENT_NAME$
|
|
9877
|
+
name: COMPONENT_NAME$1j,
|
|
9196
9878
|
props: props$U,
|
|
9197
9879
|
setup(props, {
|
|
9198
9880
|
slots
|
|
@@ -9328,7 +10010,7 @@ const props$R = {
|
|
|
9328
10010
|
|
|
9329
10011
|
/** @jsxImportSource vue */
|
|
9330
10012
|
|
|
9331
|
-
const COMPONENT_NAME$
|
|
10013
|
+
const COMPONENT_NAME$1i = 'vc-scroller-track';
|
|
9332
10014
|
const BAR_MAP = {
|
|
9333
10015
|
vertical: {
|
|
9334
10016
|
scroll: 'scrollTop',
|
|
@@ -9348,7 +10030,7 @@ const BAR_MAP = {
|
|
|
9348
10030
|
}
|
|
9349
10031
|
};
|
|
9350
10032
|
const Track = /* @__PURE__ */ defineComponent({
|
|
9351
|
-
name: COMPONENT_NAME$
|
|
10033
|
+
name: COMPONENT_NAME$1i,
|
|
9352
10034
|
props: props$T,
|
|
9353
10035
|
emits: ['change'],
|
|
9354
10036
|
inheritAttrs: false,
|
|
@@ -9538,9 +10220,9 @@ const Track = /* @__PURE__ */ defineComponent({
|
|
|
9538
10220
|
|
|
9539
10221
|
/** @jsxImportSource vue */
|
|
9540
10222
|
|
|
9541
|
-
const COMPONENT_NAME$
|
|
10223
|
+
const COMPONENT_NAME$1h = 'vc-scroller-bar';
|
|
9542
10224
|
const Bar = /* @__PURE__ */ defineComponent({
|
|
9543
|
-
name: COMPONENT_NAME$
|
|
10225
|
+
name: COMPONENT_NAME$1h,
|
|
9544
10226
|
props: props$S,
|
|
9545
10227
|
emits: ['change'],
|
|
9546
10228
|
setup(props, {
|
|
@@ -9775,7 +10457,7 @@ const useScroller = (expose) => {
|
|
|
9775
10457
|
|
|
9776
10458
|
/** @jsxImportSource vue */
|
|
9777
10459
|
|
|
9778
|
-
const COMPONENT_NAME$
|
|
10460
|
+
const COMPONENT_NAME$1g = 'vc-scroller';
|
|
9779
10461
|
|
|
9780
10462
|
/**
|
|
9781
10463
|
* 作为备选方案,目前推荐使用ScrollerWheel
|
|
@@ -9786,7 +10468,7 @@ const COMPONENT_NAME$1e = 'vc-scroller';
|
|
|
9786
10468
|
* 2. 增加了一层嵌套
|
|
9787
10469
|
*/
|
|
9788
10470
|
const Scroller = /* @__PURE__ */ defineComponent({
|
|
9789
|
-
name: COMPONENT_NAME$
|
|
10471
|
+
name: COMPONENT_NAME$1g,
|
|
9790
10472
|
props: props$R,
|
|
9791
10473
|
emits: ['scroll'],
|
|
9792
10474
|
setup(props, {
|
|
@@ -9847,7 +10529,7 @@ const Scroller = /* @__PURE__ */ defineComponent({
|
|
|
9847
10529
|
|
|
9848
10530
|
/** @jsxImportSource vue */
|
|
9849
10531
|
|
|
9850
|
-
const COMPONENT_NAME$
|
|
10532
|
+
const COMPONENT_NAME$1f = 'vc-scroller-wheel';
|
|
9851
10533
|
|
|
9852
10534
|
/**
|
|
9853
10535
|
* 为减少一层嵌套,为去除滚动bar的抖动,使用wheel模拟
|
|
@@ -9869,7 +10551,7 @@ const COMPONENT_NAME$1d = 'vc-scroller-wheel';
|
|
|
9869
10551
|
* 设置scrollTop不会reflow和repaint,不需要考虑transfrom来改变content(transform也只在draw完成)
|
|
9870
10552
|
*/
|
|
9871
10553
|
const ScrollerWheel = /* @__PURE__ */ defineComponent({
|
|
9872
|
-
name: COMPONENT_NAME$
|
|
10554
|
+
name: COMPONENT_NAME$1f,
|
|
9873
10555
|
props: Object.assign({}, props$R, {
|
|
9874
10556
|
stopPropagation: {
|
|
9875
10557
|
type: Boolean,
|
|
@@ -10058,9 +10740,9 @@ const props$Q = {
|
|
|
10058
10740
|
|
|
10059
10741
|
/** @jsxImportSource vue */
|
|
10060
10742
|
|
|
10061
|
-
const COMPONENT_NAME$
|
|
10743
|
+
const COMPONENT_NAME$1e = 'vc-drawer';
|
|
10062
10744
|
const DrawerView = /* @__PURE__ */ defineComponent({
|
|
10063
|
-
name: COMPONENT_NAME$
|
|
10745
|
+
name: COMPONENT_NAME$1e,
|
|
10064
10746
|
props: props$Q,
|
|
10065
10747
|
emits: ['close', 'update:modelValue', 'visible-change'],
|
|
10066
10748
|
setup(props, {
|
|
@@ -10249,9 +10931,9 @@ const props$P = {
|
|
|
10249
10931
|
|
|
10250
10932
|
/** @jsxImportSource vue */
|
|
10251
10933
|
|
|
10252
|
-
const COMPONENT_NAME$
|
|
10934
|
+
const COMPONENT_NAME$1d = 'vc-dropdown';
|
|
10253
10935
|
const Dropdown = /* @__PURE__ */ defineComponent({
|
|
10254
|
-
name: COMPONENT_NAME$
|
|
10936
|
+
name: COMPONENT_NAME$1d,
|
|
10255
10937
|
props: props$P,
|
|
10256
10938
|
inheritAttrs: false,
|
|
10257
10939
|
emits: ['update:modelValue', 'ready', 'close', 'visible-change', 'click'],
|
|
@@ -10321,9 +11003,9 @@ const Dropdown = /* @__PURE__ */ defineComponent({
|
|
|
10321
11003
|
|
|
10322
11004
|
/** @jsxImportSource vue */
|
|
10323
11005
|
|
|
10324
|
-
const COMPONENT_NAME$
|
|
11006
|
+
const COMPONENT_NAME$1c = 'vc-dropdown-menu';
|
|
10325
11007
|
const DropdownMenu = /* @__PURE__ */ defineComponent({
|
|
10326
|
-
name: COMPONENT_NAME$
|
|
11008
|
+
name: COMPONENT_NAME$1c,
|
|
10327
11009
|
setup(_, {
|
|
10328
11010
|
slots
|
|
10329
11011
|
}) {
|
|
@@ -10337,9 +11019,9 @@ const DropdownMenu = /* @__PURE__ */ defineComponent({
|
|
|
10337
11019
|
|
|
10338
11020
|
/** @jsxImportSource vue */
|
|
10339
11021
|
|
|
10340
|
-
const COMPONENT_NAME$
|
|
11022
|
+
const COMPONENT_NAME$1b = 'vc-dropdown-item';
|
|
10341
11023
|
const DropdownItem = /* @__PURE__ */ defineComponent({
|
|
10342
|
-
name: COMPONENT_NAME$
|
|
11024
|
+
name: COMPONENT_NAME$1b,
|
|
10343
11025
|
emits: ['click'],
|
|
10344
11026
|
props: {
|
|
10345
11027
|
value: {
|
|
@@ -10544,9 +11226,9 @@ const defaults = {
|
|
|
10544
11226
|
|
|
10545
11227
|
/** @jsxImportSource vue */
|
|
10546
11228
|
|
|
10547
|
-
const COMPONENT_NAME$
|
|
11229
|
+
const COMPONENT_NAME$1a = 'vc-editor-toolbar';
|
|
10548
11230
|
const EditorToolbar = /* @__PURE__ */ defineComponent({
|
|
10549
|
-
name: COMPONENT_NAME$
|
|
11231
|
+
name: COMPONENT_NAME$1a,
|
|
10550
11232
|
props: {
|
|
10551
11233
|
options: [Array, Object],
|
|
10552
11234
|
elementId: String
|
|
@@ -10754,9 +11436,9 @@ const props$O = {
|
|
|
10754
11436
|
|
|
10755
11437
|
/** @jsxImportSource vue */
|
|
10756
11438
|
|
|
10757
|
-
const COMPONENT_NAME$
|
|
11439
|
+
const COMPONENT_NAME$19 = 'vc-image-preview';
|
|
10758
11440
|
const ImagePreview$1 = /* @__PURE__ */ defineComponent({
|
|
10759
|
-
name: COMPONENT_NAME$
|
|
11441
|
+
name: COMPONENT_NAME$19,
|
|
10760
11442
|
props: props$O,
|
|
10761
11443
|
setup(props, {
|
|
10762
11444
|
slots
|
|
@@ -10951,9 +11633,9 @@ const props$N = {
|
|
|
10951
11633
|
}
|
|
10952
11634
|
};
|
|
10953
11635
|
|
|
10954
|
-
const COMPONENT_NAME$
|
|
11636
|
+
const COMPONENT_NAME$18 = "vc-upload";
|
|
10955
11637
|
const Upload$1 = defineComponent({
|
|
10956
|
-
name: COMPONENT_NAME$
|
|
11638
|
+
name: COMPONENT_NAME$18,
|
|
10957
11639
|
props: props$N,
|
|
10958
11640
|
emits: [
|
|
10959
11641
|
"message",
|
|
@@ -11487,9 +12169,9 @@ const props$M = {
|
|
|
11487
12169
|
|
|
11488
12170
|
/** @jsxImportSource vue */
|
|
11489
12171
|
|
|
11490
|
-
const COMPONENT_NAME$
|
|
12172
|
+
const COMPONENT_NAME$17 = 'vc-editor';
|
|
11491
12173
|
const Editor = /* @__PURE__ */ defineComponent({
|
|
11492
|
-
name: COMPONENT_NAME$
|
|
12174
|
+
name: COMPONENT_NAME$17,
|
|
11493
12175
|
props: props$M,
|
|
11494
12176
|
defaults,
|
|
11495
12177
|
emits: ['ready', 'blur', 'focus', 'input', 'update:modelValue', 'change'],
|
|
@@ -11678,7 +12360,7 @@ const Editor = /* @__PURE__ */ defineComponent({
|
|
|
11678
12360
|
|
|
11679
12361
|
/** @jsxImportSource vue */
|
|
11680
12362
|
|
|
11681
|
-
const COMPONENT_NAME$
|
|
12363
|
+
const COMPONENT_NAME$16 = 'vc-editor-view';
|
|
11682
12364
|
const setImages = v => {
|
|
11683
12365
|
if (!v) return;
|
|
11684
12366
|
const IMG_REGX = /<img.*?(?:>|\/>)/gi;
|
|
@@ -11696,7 +12378,7 @@ const setImages = v => {
|
|
|
11696
12378
|
return;
|
|
11697
12379
|
};
|
|
11698
12380
|
const EditorView = /* @__PURE__ */ defineComponent({
|
|
11699
|
-
name: COMPONENT_NAME$
|
|
12381
|
+
name: COMPONENT_NAME$16,
|
|
11700
12382
|
props: {
|
|
11701
12383
|
value: {
|
|
11702
12384
|
type: String,
|
|
@@ -11911,9 +12593,9 @@ const useForm = (expose, options = {}) => {
|
|
|
11911
12593
|
});
|
|
11912
12594
|
};
|
|
11913
12595
|
|
|
11914
|
-
const COMPONENT_NAME$
|
|
12596
|
+
const COMPONENT_NAME$15 = "vc-form";
|
|
11915
12597
|
const Form = defineComponent({
|
|
11916
|
-
name: COMPONENT_NAME$
|
|
12598
|
+
name: COMPONENT_NAME$15,
|
|
11917
12599
|
props: props$L,
|
|
11918
12600
|
setup(props, { slots, expose }) {
|
|
11919
12601
|
useForm(expose);
|
|
@@ -12261,9 +12943,9 @@ const useFormItem = (expose) => {
|
|
|
12261
12943
|
|
|
12262
12944
|
/** @jsxImportSource vue */
|
|
12263
12945
|
|
|
12264
|
-
const COMPONENT_NAME$
|
|
12946
|
+
const COMPONENT_NAME$14 = 'vc-form-item';
|
|
12265
12947
|
const FormItem = /* @__PURE__ */ defineComponent({
|
|
12266
|
-
name: COMPONENT_NAME$
|
|
12948
|
+
name: COMPONENT_NAME$14,
|
|
12267
12949
|
props: props$K,
|
|
12268
12950
|
setup(props, {
|
|
12269
12951
|
slots,
|
|
@@ -12331,9 +13013,9 @@ const props$J = {
|
|
|
12331
13013
|
}
|
|
12332
13014
|
};
|
|
12333
13015
|
|
|
12334
|
-
const COMPONENT_NAME$
|
|
13016
|
+
const COMPONENT_NAME$13 = "vcm-form";
|
|
12335
13017
|
const MForm = defineComponent({
|
|
12336
|
-
name: COMPONENT_NAME$
|
|
13018
|
+
name: COMPONENT_NAME$13,
|
|
12337
13019
|
props: props$J,
|
|
12338
13020
|
setup(props, { slots, expose }) {
|
|
12339
13021
|
useForm(expose, {
|
|
@@ -12364,9 +13046,9 @@ const props$I = {
|
|
|
12364
13046
|
|
|
12365
13047
|
/** @jsxImportSource vue */
|
|
12366
13048
|
|
|
12367
|
-
const COMPONENT_NAME$
|
|
13049
|
+
const COMPONENT_NAME$12 = 'vcm-form-item';
|
|
12368
13050
|
const MFormItem = /* @__PURE__ */ defineComponent({
|
|
12369
|
-
name: COMPONENT_NAME$
|
|
13051
|
+
name: COMPONENT_NAME$12,
|
|
12370
13052
|
props: props$I,
|
|
12371
13053
|
setup(props, {
|
|
12372
13054
|
slots,
|
|
@@ -12421,9 +13103,9 @@ const MFormItem = /* @__PURE__ */ defineComponent({
|
|
|
12421
13103
|
}
|
|
12422
13104
|
});
|
|
12423
13105
|
|
|
12424
|
-
const COMPONENT_NAME
|
|
13106
|
+
const COMPONENT_NAME$11 = "vc-fragment";
|
|
12425
13107
|
const Fragment = defineComponent({
|
|
12426
|
-
name: COMPONENT_NAME
|
|
13108
|
+
name: COMPONENT_NAME$11,
|
|
12427
13109
|
setup(_, { slots }) {
|
|
12428
13110
|
return () => h(Fragment$1, slots.default?.());
|
|
12429
13111
|
}
|
|
@@ -12462,9 +13144,9 @@ const props$H = {
|
|
|
12462
13144
|
|
|
12463
13145
|
/** @jsxImportSource vue */
|
|
12464
13146
|
|
|
12465
|
-
const COMPONENT_NAME$
|
|
13147
|
+
const COMPONENT_NAME$10 = 'vc-snapshot';
|
|
12466
13148
|
const Snapshot = /* @__PURE__ */ defineComponent({
|
|
12467
|
-
name: COMPONENT_NAME$
|
|
13149
|
+
name: COMPONENT_NAME$10,
|
|
12468
13150
|
props: props$H,
|
|
12469
13151
|
emits: ['ready'],
|
|
12470
13152
|
setup(props, {
|
|
@@ -12623,7 +13305,7 @@ const IMGStore$1 = new IMGStore();
|
|
|
12623
13305
|
|
|
12624
13306
|
/** @jsxImportSource vue */
|
|
12625
13307
|
|
|
12626
|
-
const COMPONENT_NAME
|
|
13308
|
+
const COMPONENT_NAME$$ = 'vc-image';
|
|
12627
13309
|
let isSupportObjectFit = false;
|
|
12628
13310
|
window.addEventListener('DOMContentLoaded', () => {
|
|
12629
13311
|
isSupportObjectFit = !IS_SERVER$1 && document.documentElement.style.objectFit !== undefined;
|
|
@@ -12636,7 +13318,7 @@ const ObjectFit = {
|
|
|
12636
13318
|
SCALE_DOWN: 'scale-down'
|
|
12637
13319
|
};
|
|
12638
13320
|
const Image$1 = /* @__PURE__ */ defineComponent({
|
|
12639
|
-
name: COMPONENT_NAME
|
|
13321
|
+
name: COMPONENT_NAME$$,
|
|
12640
13322
|
inheritAttrs: false,
|
|
12641
13323
|
props: props$G,
|
|
12642
13324
|
setup(props, {
|
|
@@ -12853,9 +13535,9 @@ const props$F = {
|
|
|
12853
13535
|
|
|
12854
13536
|
/** @jsxImportSource vue */
|
|
12855
13537
|
|
|
12856
|
-
const COMPONENT_NAME$
|
|
13538
|
+
const COMPONENT_NAME$_ = 'vc-image-crop';
|
|
12857
13539
|
const ImageCrop = /* @__PURE__ */ defineComponent({
|
|
12858
|
-
name: COMPONENT_NAME$
|
|
13540
|
+
name: COMPONENT_NAME$_,
|
|
12859
13541
|
props: props$F,
|
|
12860
13542
|
setup(props, {
|
|
12861
13543
|
slots
|
|
@@ -12881,9 +13563,9 @@ const props$E = {
|
|
|
12881
13563
|
|
|
12882
13564
|
/** @jsxImportSource vue */
|
|
12883
13565
|
|
|
12884
|
-
const COMPONENT_NAME$
|
|
13566
|
+
const COMPONENT_NAME$Z = 'vc-image-processing';
|
|
12885
13567
|
const ImageProcessing = /* @__PURE__ */ defineComponent({
|
|
12886
|
-
name: COMPONENT_NAME$
|
|
13568
|
+
name: COMPONENT_NAME$Z,
|
|
12887
13569
|
props: props$E,
|
|
12888
13570
|
setup(props, {
|
|
12889
13571
|
slots
|
|
@@ -12900,9 +13582,9 @@ const MImageProcessing = ImageProcessing;
|
|
|
12900
13582
|
|
|
12901
13583
|
/** @jsxImportSource vue */
|
|
12902
13584
|
|
|
12903
|
-
const COMPONENT_NAME$
|
|
13585
|
+
const COMPONENT_NAME$Y = 'vcm-input';
|
|
12904
13586
|
const MInput = /* @__PURE__ */ defineComponent({
|
|
12905
|
-
name: COMPONENT_NAME$
|
|
13587
|
+
name: COMPONENT_NAME$Y,
|
|
12906
13588
|
inheritAttrs: false,
|
|
12907
13589
|
props: {
|
|
12908
13590
|
...props$1h,
|
|
@@ -12991,9 +13673,9 @@ const MInput = /* @__PURE__ */ defineComponent({
|
|
|
12991
13673
|
|
|
12992
13674
|
/** @jsxImportSource vue */
|
|
12993
13675
|
|
|
12994
|
-
const COMPONENT_NAME$
|
|
13676
|
+
const COMPONENT_NAME$X = 'vcm-input-number';
|
|
12995
13677
|
const MInputNumber = /* @__PURE__ */ defineComponent({
|
|
12996
|
-
name: COMPONENT_NAME$
|
|
13678
|
+
name: COMPONENT_NAME$X,
|
|
12997
13679
|
props: props$1g,
|
|
12998
13680
|
inheritAttrs: false,
|
|
12999
13681
|
setup(props, {
|
|
@@ -13042,9 +13724,9 @@ const MInputNumber = /* @__PURE__ */ defineComponent({
|
|
|
13042
13724
|
|
|
13043
13725
|
/** @jsxImportSource vue */
|
|
13044
13726
|
|
|
13045
|
-
const COMPONENT_NAME$
|
|
13727
|
+
const COMPONENT_NAME$W = 'vcm-input-search';
|
|
13046
13728
|
const MInputSearch = /* @__PURE__ */ defineComponent({
|
|
13047
|
-
name: COMPONENT_NAME$
|
|
13729
|
+
name: COMPONENT_NAME$W,
|
|
13048
13730
|
props: {
|
|
13049
13731
|
...props$1f,
|
|
13050
13732
|
cancelText: {
|
|
@@ -13121,9 +13803,9 @@ const props$D = {
|
|
|
13121
13803
|
}
|
|
13122
13804
|
};
|
|
13123
13805
|
|
|
13124
|
-
const COMPONENT_NAME$
|
|
13806
|
+
const COMPONENT_NAME$V = "vcm-list";
|
|
13125
13807
|
const MList = defineComponent({
|
|
13126
|
-
name: COMPONENT_NAME$
|
|
13808
|
+
name: COMPONENT_NAME$V,
|
|
13127
13809
|
props: props$D,
|
|
13128
13810
|
setup(props, { slots }) {
|
|
13129
13811
|
provide("vc-list", { props });
|
|
@@ -13178,10 +13860,10 @@ const props$C = {
|
|
|
13178
13860
|
|
|
13179
13861
|
/** @jsxImportSource vue */
|
|
13180
13862
|
|
|
13181
|
-
const COMPONENT_NAME$
|
|
13863
|
+
const COMPONENT_NAME$U = 'vcm-list-item';
|
|
13182
13864
|
const HTTP_REGEX = /[a-zA-z]+:\/\/[^\s]*/;
|
|
13183
13865
|
const MListItem = /* @__PURE__ */ defineComponent({
|
|
13184
|
-
name: COMPONENT_NAME$
|
|
13866
|
+
name: COMPONENT_NAME$U,
|
|
13185
13867
|
props: props$C,
|
|
13186
13868
|
emits: ['click'],
|
|
13187
13869
|
setup(props, {
|
|
@@ -13275,11 +13957,11 @@ const props$B = {
|
|
|
13275
13957
|
|
|
13276
13958
|
/** @jsxImportSource vue */
|
|
13277
13959
|
|
|
13278
|
-
const COMPONENT_NAME$
|
|
13960
|
+
const COMPONENT_NAME$T = 'vc-marquee';
|
|
13279
13961
|
const ANIMATION = prefixStyle('animation').camel;
|
|
13280
13962
|
const TRANSFORM_KEBAB = prefixStyle('transform').kebab;
|
|
13281
13963
|
const Marquee = /* @__PURE__ */ defineComponent({
|
|
13282
|
-
name: COMPONENT_NAME$
|
|
13964
|
+
name: COMPONENT_NAME$T,
|
|
13283
13965
|
props: props$B,
|
|
13284
13966
|
setup(props, {
|
|
13285
13967
|
slots
|
|
@@ -13347,9 +14029,9 @@ const props$A = {
|
|
|
13347
14029
|
}
|
|
13348
14030
|
};
|
|
13349
14031
|
|
|
13350
|
-
const COMPONENT_NAME$
|
|
14032
|
+
const COMPONENT_NAME$S = "vc-resizer";
|
|
13351
14033
|
const Resizer = defineComponent({
|
|
13352
|
-
name: COMPONENT_NAME$
|
|
14034
|
+
name: COMPONENT_NAME$S,
|
|
13353
14035
|
props: props$A,
|
|
13354
14036
|
emits: ["resize"],
|
|
13355
14037
|
setup(props, { emit, slots, expose }) {
|
|
@@ -13519,10 +14201,10 @@ const props$z = {
|
|
|
13519
14201
|
|
|
13520
14202
|
/** @jsxImportSource vue */
|
|
13521
14203
|
|
|
13522
|
-
const COMPONENT_NAME$
|
|
14204
|
+
const COMPONENT_NAME$R = 'vc-modal';
|
|
13523
14205
|
let zIndexNumber = 1002;
|
|
13524
14206
|
const ModalView = /* @__PURE__ */ defineComponent({
|
|
13525
|
-
name: COMPONENT_NAME$
|
|
14207
|
+
name: COMPONENT_NAME$R,
|
|
13526
14208
|
emits: ['update:modelValue', 'close', 'portal-fulfilled', 'visible-change', 'ok', 'cancel'],
|
|
13527
14209
|
props: props$z,
|
|
13528
14210
|
setup(props, {
|
|
@@ -13961,9 +14643,9 @@ const props$y = {
|
|
|
13961
14643
|
|
|
13962
14644
|
/** @jsxImportSource vue */
|
|
13963
14645
|
|
|
13964
|
-
const COMPONENT_NAME$
|
|
14646
|
+
const COMPONENT_NAME$Q = 'vc-modal';
|
|
13965
14647
|
const MModalView = /* @__PURE__ */ defineComponent({
|
|
13966
|
-
name: COMPONENT_NAME$
|
|
14648
|
+
name: COMPONENT_NAME$Q,
|
|
13967
14649
|
emits: ['update:modelValue', 'portal-fulfilled', 'close', 'ok', 'cancel'],
|
|
13968
14650
|
props: props$y,
|
|
13969
14651
|
setup(props, {
|
|
@@ -14175,9 +14857,9 @@ const props$x = {
|
|
|
14175
14857
|
|
|
14176
14858
|
/** @jsxImportSource vue */
|
|
14177
14859
|
|
|
14178
|
-
const COMPONENT_NAME$
|
|
14860
|
+
const COMPONENT_NAME$P = 'vc-notice';
|
|
14179
14861
|
const NoticeView = /* @__PURE__ */ defineComponent({
|
|
14180
|
-
name: COMPONENT_NAME$
|
|
14862
|
+
name: COMPONENT_NAME$P,
|
|
14181
14863
|
props: props$x,
|
|
14182
14864
|
emits: ['portal-fulfilled', 'close', 'before-close'],
|
|
14183
14865
|
setup(props, {
|
|
@@ -14350,9 +15032,9 @@ const props$w = {
|
|
|
14350
15032
|
|
|
14351
15033
|
/** @jsxImportSource vue */
|
|
14352
15034
|
|
|
14353
|
-
const COMPONENT_NAME$
|
|
15035
|
+
const COMPONENT_NAME$O = 'vc-option';
|
|
14354
15036
|
const Option$1 = /* @__PURE__ */ defineComponent({
|
|
14355
|
-
name: COMPONENT_NAME$
|
|
15037
|
+
name: COMPONENT_NAME$O,
|
|
14356
15038
|
props: props$w,
|
|
14357
15039
|
setup(props, {
|
|
14358
15040
|
slots
|
|
@@ -14436,9 +15118,9 @@ const props$u = {
|
|
|
14436
15118
|
|
|
14437
15119
|
/** @jsxImportSource vue */
|
|
14438
15120
|
|
|
14439
|
-
const COMPONENT_NAME$
|
|
15121
|
+
const COMPONENT_NAME$N = 'vc-tag';
|
|
14440
15122
|
const Tag = /* @__PURE__ */ defineComponent({
|
|
14441
|
-
name: COMPONENT_NAME$
|
|
15123
|
+
name: COMPONENT_NAME$N,
|
|
14442
15124
|
props: props$u,
|
|
14443
15125
|
emits: ['close', 'change'],
|
|
14444
15126
|
setup(props, {
|
|
@@ -14509,9 +15191,9 @@ const props$t = {
|
|
|
14509
15191
|
|
|
14510
15192
|
/** @jsxImportSource vue */
|
|
14511
15193
|
|
|
14512
|
-
const COMPONENT_NAME$
|
|
15194
|
+
const COMPONENT_NAME$M = 'vc-select-option';
|
|
14513
15195
|
const Option = /* @__PURE__ */ defineComponent({
|
|
14514
|
-
name: COMPONENT_NAME$
|
|
15196
|
+
name: COMPONENT_NAME$M,
|
|
14515
15197
|
props: props$t,
|
|
14516
15198
|
setup(props, {
|
|
14517
15199
|
slots,
|
|
@@ -14606,9 +15288,9 @@ const props$s = {
|
|
|
14606
15288
|
|
|
14607
15289
|
/** @jsxImportSource vue */
|
|
14608
15290
|
|
|
14609
|
-
const COMPONENT_NAME$
|
|
15291
|
+
const COMPONENT_NAME$L = 'vc-select-option-group';
|
|
14610
15292
|
const OptionGroup = /* @__PURE__ */ defineComponent({
|
|
14611
|
-
name: COMPONENT_NAME$
|
|
15293
|
+
name: COMPONENT_NAME$L,
|
|
14612
15294
|
props: props$s,
|
|
14613
15295
|
setup(props, {
|
|
14614
15296
|
slots
|
|
@@ -14638,9 +15320,9 @@ const OptionGroup = /* @__PURE__ */ defineComponent({
|
|
|
14638
15320
|
|
|
14639
15321
|
/** @jsxImportSource vue */
|
|
14640
15322
|
|
|
14641
|
-
const COMPONENT_NAME$
|
|
15323
|
+
const COMPONENT_NAME$K = 'vc-select-all';
|
|
14642
15324
|
const SelectAll = /* @__PURE__ */ defineComponent({
|
|
14643
|
-
name: COMPONENT_NAME$
|
|
15325
|
+
name: COMPONENT_NAME$K,
|
|
14644
15326
|
props: {
|
|
14645
15327
|
data: {
|
|
14646
15328
|
type: Array,
|
|
@@ -14710,9 +15392,9 @@ const SelectAll = /* @__PURE__ */ defineComponent({
|
|
|
14710
15392
|
|
|
14711
15393
|
/** @jsxImportSource vue */
|
|
14712
15394
|
|
|
14713
|
-
const COMPONENT_NAME$
|
|
15395
|
+
const COMPONENT_NAME$J = 'vc-select';
|
|
14714
15396
|
const Select = /* @__PURE__ */ defineComponent({
|
|
14715
|
-
name: COMPONENT_NAME$
|
|
15397
|
+
name: COMPONENT_NAME$J,
|
|
14716
15398
|
props: props$1a,
|
|
14717
15399
|
emits: ['ready', 'close', 'visible-change', 'clear', 'change', 'update:modelValue'],
|
|
14718
15400
|
setup(props, {
|
|
@@ -15006,9 +15688,9 @@ const Select = /* @__PURE__ */ defineComponent({
|
|
|
15006
15688
|
|
|
15007
15689
|
/** @jsxImportSource vue */
|
|
15008
15690
|
|
|
15009
|
-
const COMPONENT_NAME$
|
|
15691
|
+
const COMPONENT_NAME$I = 'vc-pagination';
|
|
15010
15692
|
const Pagination = /* @__PURE__ */ defineComponent({
|
|
15011
|
-
name: COMPONENT_NAME$
|
|
15693
|
+
name: COMPONENT_NAME$I,
|
|
15012
15694
|
props: props$v,
|
|
15013
15695
|
emits: ['update:current', 'change', 'page-size-change'],
|
|
15014
15696
|
setup(props, {
|
|
@@ -15206,9 +15888,9 @@ const props$r = {
|
|
|
15206
15888
|
|
|
15207
15889
|
/** @jsxImportSource vue */
|
|
15208
15890
|
|
|
15209
|
-
const COMPONENT_NAME$
|
|
15891
|
+
const COMPONENT_NAME$H = 'vc-picker';
|
|
15210
15892
|
const Picker = /* @__PURE__ */ defineComponent({
|
|
15211
|
-
name: COMPONENT_NAME$
|
|
15893
|
+
name: COMPONENT_NAME$H,
|
|
15212
15894
|
props: props$r,
|
|
15213
15895
|
setup(props, {
|
|
15214
15896
|
slots
|
|
@@ -15271,9 +15953,9 @@ const props$q = {
|
|
|
15271
15953
|
|
|
15272
15954
|
/** @jsxImportSource vue */
|
|
15273
15955
|
|
|
15274
|
-
const COMPONENT_NAME$
|
|
15956
|
+
const COMPONENT_NAME$G = 'vc-popconfirm';
|
|
15275
15957
|
const Popconfirm = /* @__PURE__ */ defineComponent({
|
|
15276
|
-
name: COMPONENT_NAME$
|
|
15958
|
+
name: COMPONENT_NAME$G,
|
|
15277
15959
|
props: props$q,
|
|
15278
15960
|
inheritAttrs: false,
|
|
15279
15961
|
emits: ['update:modelValue', 'visible-change', 'ready', 'close', 'cancel', 'ok'],
|
|
@@ -15441,9 +16123,9 @@ const props$p = {
|
|
|
15441
16123
|
|
|
15442
16124
|
/** @jsxImportSource vue */
|
|
15443
16125
|
|
|
15444
|
-
const COMPONENT_NAME$
|
|
16126
|
+
const COMPONENT_NAME$F = 'vc-popup';
|
|
15445
16127
|
const MPopup = /* @__PURE__ */ defineComponent({
|
|
15446
|
-
name: COMPONENT_NAME$
|
|
16128
|
+
name: COMPONENT_NAME$F,
|
|
15447
16129
|
props: props$p,
|
|
15448
16130
|
emits: ['update:modelValue', 'close', 'portal-fulfilled', 'visible-change'],
|
|
15449
16131
|
setup(props, {
|
|
@@ -15570,9 +16252,9 @@ const props$o = {
|
|
|
15570
16252
|
|
|
15571
16253
|
/** @jsxImportSource vue */
|
|
15572
16254
|
|
|
15573
|
-
const COMPONENT_NAME$
|
|
16255
|
+
const COMPONENT_NAME$E = 'vc-print';
|
|
15574
16256
|
const Print = /* @__PURE__ */ defineComponent({
|
|
15575
|
-
name: COMPONENT_NAME$
|
|
16257
|
+
name: COMPONENT_NAME$E,
|
|
15576
16258
|
props: props$o,
|
|
15577
16259
|
setup(props, {
|
|
15578
16260
|
expose,
|
|
@@ -15652,7 +16334,7 @@ const props$n = {
|
|
|
15652
16334
|
},
|
|
15653
16335
|
strokeColor: {
|
|
15654
16336
|
type: String,
|
|
15655
|
-
default: "#
|
|
16337
|
+
default: "#456CF6"
|
|
15656
16338
|
},
|
|
15657
16339
|
trackColor: {
|
|
15658
16340
|
type: String,
|
|
@@ -15674,9 +16356,9 @@ const props$n = {
|
|
|
15674
16356
|
|
|
15675
16357
|
/** @jsxImportSource vue */
|
|
15676
16358
|
|
|
15677
|
-
const COMPONENT_NAME$
|
|
16359
|
+
const COMPONENT_NAME$D = 'vc-progress-circle';
|
|
15678
16360
|
const Circle = /* @__PURE__ */ defineComponent({
|
|
15679
|
-
name: COMPONENT_NAME$
|
|
16361
|
+
name: COMPONENT_NAME$D,
|
|
15680
16362
|
props: props$n,
|
|
15681
16363
|
setup(props, {
|
|
15682
16364
|
slots
|
|
@@ -15736,9 +16418,9 @@ const Circle = /* @__PURE__ */ defineComponent({
|
|
|
15736
16418
|
|
|
15737
16419
|
/** @jsxImportSource vue */
|
|
15738
16420
|
|
|
15739
|
-
const COMPONENT_NAME$
|
|
16421
|
+
const COMPONENT_NAME$C = 'vc-progress-line';
|
|
15740
16422
|
const Line = /* @__PURE__ */ defineComponent({
|
|
15741
|
-
name: COMPONENT_NAME$
|
|
16423
|
+
name: COMPONENT_NAME$C,
|
|
15742
16424
|
props: props$n,
|
|
15743
16425
|
setup(props) {
|
|
15744
16426
|
const colorStyle = computed(() => {
|
|
@@ -15785,9 +16467,9 @@ const Line = /* @__PURE__ */ defineComponent({
|
|
|
15785
16467
|
function _isSlot(s) {
|
|
15786
16468
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
|
|
15787
16469
|
}
|
|
15788
|
-
const COMPONENT_NAME$
|
|
16470
|
+
const COMPONENT_NAME$B = 'vc-progress';
|
|
15789
16471
|
const Progress = /* @__PURE__ */ defineComponent({
|
|
15790
|
-
name: COMPONENT_NAME$
|
|
16472
|
+
name: COMPONENT_NAME$B,
|
|
15791
16473
|
props: props$n,
|
|
15792
16474
|
setup(props, {
|
|
15793
16475
|
slots
|
|
@@ -15949,9 +16631,9 @@ const useRadio = () => {
|
|
|
15949
16631
|
|
|
15950
16632
|
/** @jsxImportSource vue */
|
|
15951
16633
|
|
|
15952
|
-
const COMPONENT_NAME$
|
|
16634
|
+
const COMPONENT_NAME$A = 'vc-radio';
|
|
15953
16635
|
const Radio = /* @__PURE__ */ defineComponent({
|
|
15954
|
-
name: COMPONENT_NAME$
|
|
16636
|
+
name: COMPONENT_NAME$A,
|
|
15955
16637
|
props: props$m,
|
|
15956
16638
|
emits: ['update:modelValue', 'change'],
|
|
15957
16639
|
setup(props, {
|
|
@@ -15995,9 +16677,9 @@ const Radio = /* @__PURE__ */ defineComponent({
|
|
|
15995
16677
|
|
|
15996
16678
|
/** @jsxImportSource vue */
|
|
15997
16679
|
|
|
15998
|
-
const COMPONENT_NAME$
|
|
16680
|
+
const COMPONENT_NAME$z = 'vc-radio-button';
|
|
15999
16681
|
const RadioButton = /* @__PURE__ */ defineComponent({
|
|
16000
|
-
name: COMPONENT_NAME$
|
|
16682
|
+
name: COMPONENT_NAME$z,
|
|
16001
16683
|
props: {
|
|
16002
16684
|
...props$m,
|
|
16003
16685
|
labelStyle: [String, Object],
|
|
@@ -16110,9 +16792,9 @@ const useRadioGroup = () => {
|
|
|
16110
16792
|
|
|
16111
16793
|
/** @jsxImportSource vue */
|
|
16112
16794
|
|
|
16113
|
-
const COMPONENT_NAME$
|
|
16795
|
+
const COMPONENT_NAME$y = 'vc-radio-group';
|
|
16114
16796
|
const RadioGroup = /* @__PURE__ */ defineComponent({
|
|
16115
|
-
name: COMPONENT_NAME$
|
|
16797
|
+
name: COMPONENT_NAME$y,
|
|
16116
16798
|
props: props$l,
|
|
16117
16799
|
emits: ['update:modelValue', 'change'],
|
|
16118
16800
|
setup(props, {
|
|
@@ -16133,9 +16815,9 @@ const RadioGroup = /* @__PURE__ */ defineComponent({
|
|
|
16133
16815
|
|
|
16134
16816
|
/** @jsxImportSource vue */
|
|
16135
16817
|
|
|
16136
|
-
const COMPONENT_NAME$
|
|
16818
|
+
const COMPONENT_NAME$x = 'vcm-radio';
|
|
16137
16819
|
const MRadio = /* @__PURE__ */ defineComponent({
|
|
16138
|
-
name: COMPONENT_NAME$
|
|
16820
|
+
name: COMPONENT_NAME$x,
|
|
16139
16821
|
props: props$m,
|
|
16140
16822
|
emits: ['update:modelValue', 'change'],
|
|
16141
16823
|
setup(props, {
|
|
@@ -16179,9 +16861,9 @@ const MRadio = /* @__PURE__ */ defineComponent({
|
|
|
16179
16861
|
|
|
16180
16862
|
/** @jsxImportSource vue */
|
|
16181
16863
|
|
|
16182
|
-
const COMPONENT_NAME$
|
|
16864
|
+
const COMPONENT_NAME$w = 'vcm-radio-group';
|
|
16183
16865
|
const MRadioGroup = /* @__PURE__ */ defineComponent({
|
|
16184
|
-
name: COMPONENT_NAME$
|
|
16866
|
+
name: COMPONENT_NAME$w,
|
|
16185
16867
|
props: props$l,
|
|
16186
16868
|
emits: ['update:modelValue', 'change'],
|
|
16187
16869
|
setup(props, {
|
|
@@ -16248,9 +16930,9 @@ const props$k = {
|
|
|
16248
16930
|
|
|
16249
16931
|
/** @jsxImportSource vue */
|
|
16250
16932
|
|
|
16251
|
-
const COMPONENT_NAME$
|
|
16933
|
+
const COMPONENT_NAME$v = 'vc-rate';
|
|
16252
16934
|
const Rate = /* @__PURE__ */ defineComponent({
|
|
16253
|
-
name: COMPONENT_NAME$
|
|
16935
|
+
name: COMPONENT_NAME$v,
|
|
16254
16936
|
props: props$k,
|
|
16255
16937
|
emits: ['update:modelValue', 'change'],
|
|
16256
16938
|
setup(props, {
|
|
@@ -16452,9 +17134,9 @@ const props$j = {
|
|
|
16452
17134
|
|
|
16453
17135
|
/** @jsxImportSource vue */
|
|
16454
17136
|
|
|
16455
|
-
const COMPONENT_NAME$
|
|
17137
|
+
const COMPONENT_NAME$u = 'vc-recycle-list-scroll-state';
|
|
16456
17138
|
const ScrollState = /* @__PURE__ */ defineComponent({
|
|
16457
|
-
name: COMPONENT_NAME$
|
|
17139
|
+
name: COMPONENT_NAME$u,
|
|
16458
17140
|
setup(_, {
|
|
16459
17141
|
slots
|
|
16460
17142
|
}) {
|
|
@@ -16584,12 +17266,12 @@ const useDirectionKeys = () => {
|
|
|
16584
17266
|
|
|
16585
17267
|
/** @jsxImportSource vue */
|
|
16586
17268
|
|
|
16587
|
-
const COMPONENT_NAME$
|
|
17269
|
+
const COMPONENT_NAME$t = 'vc-recycle-list-container';
|
|
16588
17270
|
|
|
16589
17271
|
// TODO: 抽离
|
|
16590
17272
|
const transformKey = $.prefixStyle('transform').camel;
|
|
16591
17273
|
const Container = /* @__PURE__ */ defineComponent({
|
|
16592
|
-
name: COMPONENT_NAME$
|
|
17274
|
+
name: COMPONENT_NAME$t,
|
|
16593
17275
|
props: props$i,
|
|
16594
17276
|
emits: ['refresh'],
|
|
16595
17277
|
setup(props, {
|
|
@@ -16687,9 +17369,9 @@ const Container = /* @__PURE__ */ defineComponent({
|
|
|
16687
17369
|
|
|
16688
17370
|
/** @jsxImportSource vue */
|
|
16689
17371
|
|
|
16690
|
-
const COMPONENT_NAME$
|
|
17372
|
+
const COMPONENT_NAME$s = 'vc-recycle-list';
|
|
16691
17373
|
const RecycleList = /* @__PURE__ */ defineComponent({
|
|
16692
|
-
name: COMPONENT_NAME$
|
|
17374
|
+
name: COMPONENT_NAME$s,
|
|
16693
17375
|
props: props$j,
|
|
16694
17376
|
emits: ['scroll', 'row-resize'],
|
|
16695
17377
|
setup(props, {
|
|
@@ -17263,9 +17945,9 @@ const props$h = {
|
|
|
17263
17945
|
|
|
17264
17946
|
/** @jsxImportSource vue */
|
|
17265
17947
|
|
|
17266
|
-
const COMPONENT_NAME$
|
|
17948
|
+
const COMPONENT_NAME$r = 'vc-slider';
|
|
17267
17949
|
const Slider = /* @__PURE__ */ defineComponent({
|
|
17268
|
-
name: COMPONENT_NAME$
|
|
17950
|
+
name: COMPONENT_NAME$r,
|
|
17269
17951
|
props: props$h,
|
|
17270
17952
|
setup(props, {
|
|
17271
17953
|
slots
|
|
@@ -17289,9 +17971,9 @@ const props$g = {
|
|
|
17289
17971
|
|
|
17290
17972
|
/** @jsxImportSource vue */
|
|
17291
17973
|
|
|
17292
|
-
const COMPONENT_NAME$
|
|
17974
|
+
const COMPONENT_NAME$q = 'vc-sort-list';
|
|
17293
17975
|
const SortList = /* @__PURE__ */ defineComponent({
|
|
17294
|
-
name: COMPONENT_NAME$
|
|
17976
|
+
name: COMPONENT_NAME$q,
|
|
17295
17977
|
props: props$g,
|
|
17296
17978
|
setup(props, {
|
|
17297
17979
|
slots
|
|
@@ -17315,9 +17997,9 @@ const props$f = {
|
|
|
17315
17997
|
|
|
17316
17998
|
/** @jsxImportSource vue */
|
|
17317
17999
|
|
|
17318
|
-
const COMPONENT_NAME$
|
|
18000
|
+
const COMPONENT_NAME$p = 'vc-steps';
|
|
17319
18001
|
const Steps = /* @__PURE__ */ defineComponent({
|
|
17320
|
-
name: COMPONENT_NAME$
|
|
18002
|
+
name: COMPONENT_NAME$p,
|
|
17321
18003
|
props: props$f,
|
|
17322
18004
|
setup(props, {
|
|
17323
18005
|
slots
|
|
@@ -17443,9 +18125,9 @@ const useSwitch = (expose) => {
|
|
|
17443
18125
|
|
|
17444
18126
|
/** @jsxImportSource vue */
|
|
17445
18127
|
|
|
17446
|
-
const COMPONENT_NAME$
|
|
18128
|
+
const COMPONENT_NAME$o = 'vc-switch';
|
|
17447
18129
|
const Switch = /* @__PURE__ */ defineComponent({
|
|
17448
|
-
name: COMPONENT_NAME$
|
|
18130
|
+
name: COMPONENT_NAME$o,
|
|
17449
18131
|
props: props$e,
|
|
17450
18132
|
// click -> onClick要被拦截,此处不能放置
|
|
17451
18133
|
emits: ['update:modelValue', 'change', 'click'],
|
|
@@ -17519,9 +18201,9 @@ const Switch = /* @__PURE__ */ defineComponent({
|
|
|
17519
18201
|
|
|
17520
18202
|
/** @jsxImportSource vue */
|
|
17521
18203
|
|
|
17522
|
-
const COMPONENT_NAME$
|
|
18204
|
+
const COMPONENT_NAME$n = 'vcm-switch';
|
|
17523
18205
|
const MSwitch = /* @__PURE__ */ defineComponent({
|
|
17524
|
-
name: COMPONENT_NAME$
|
|
18206
|
+
name: COMPONENT_NAME$n,
|
|
17525
18207
|
props: props$e,
|
|
17526
18208
|
// click -> onClick要被拦截,此处不能放置
|
|
17527
18209
|
emits: ['update:modelValue', 'change', 'click'],
|
|
@@ -18634,9 +19316,9 @@ const useStates = (mapper, $store) => {
|
|
|
18634
19316
|
|
|
18635
19317
|
/** @jsxImportSource vue */
|
|
18636
19318
|
|
|
18637
|
-
const COMPONENT_NAME$
|
|
19319
|
+
const COMPONENT_NAME$m = 'vc-table-normal-list';
|
|
18638
19320
|
const NormalList = /* @__PURE__ */ defineComponent({
|
|
18639
|
-
name: COMPONENT_NAME$
|
|
19321
|
+
name: COMPONENT_NAME$m,
|
|
18640
19322
|
props: {
|
|
18641
19323
|
data: {
|
|
18642
19324
|
type: Array,
|
|
@@ -19637,9 +20319,9 @@ const props$d = {
|
|
|
19637
20319
|
|
|
19638
20320
|
/** @jsxImportSource vue */
|
|
19639
20321
|
|
|
19640
|
-
const COMPONENT_NAME$
|
|
20322
|
+
const COMPONENT_NAME$l = 'vc-table';
|
|
19641
20323
|
const Table = /* @__PURE__ */ defineComponent({
|
|
19642
|
-
name: COMPONENT_NAME$
|
|
20324
|
+
name: COMPONENT_NAME$l,
|
|
19643
20325
|
props: props$d,
|
|
19644
20326
|
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', 'update:sort'],
|
|
19645
20327
|
setup(props, {
|
|
@@ -20842,9 +21524,9 @@ const useTabs = (options = {}) => {
|
|
|
20842
21524
|
|
|
20843
21525
|
/** @jsxImportSource vue */
|
|
20844
21526
|
|
|
20845
|
-
const COMPONENT_NAME$
|
|
21527
|
+
const COMPONENT_NAME$k = 'vc-tabs';
|
|
20846
21528
|
const Tabs = /* @__PURE__ */ defineComponent({
|
|
20847
|
-
name: COMPONENT_NAME$
|
|
21529
|
+
name: COMPONENT_NAME$k,
|
|
20848
21530
|
props: props$c,
|
|
20849
21531
|
emits: ['update:modelValue', 'change', 'click'],
|
|
20850
21532
|
setup(props, {
|
|
@@ -21097,9 +21779,9 @@ const useTabsPane = () => {
|
|
|
21097
21779
|
|
|
21098
21780
|
/** @jsxImportSource vue */
|
|
21099
21781
|
|
|
21100
|
-
const COMPONENT_NAME$
|
|
21782
|
+
const COMPONENT_NAME$j = 'vc-tabs-pane';
|
|
21101
21783
|
const TabsPane = /* @__PURE__ */ defineComponent({
|
|
21102
|
-
name: COMPONENT_NAME$
|
|
21784
|
+
name: COMPONENT_NAME$j,
|
|
21103
21785
|
props: props$b,
|
|
21104
21786
|
setup(_, {
|
|
21105
21787
|
slots
|
|
@@ -21154,9 +21836,9 @@ const props$a = {
|
|
|
21154
21836
|
|
|
21155
21837
|
/** @jsxImportSource vue */
|
|
21156
21838
|
|
|
21157
|
-
const COMPONENT_NAME$
|
|
21839
|
+
const COMPONENT_NAME$i = 'vcm-tabs';
|
|
21158
21840
|
const MTabs = /* @__PURE__ */ defineComponent({
|
|
21159
|
-
name: COMPONENT_NAME$
|
|
21841
|
+
name: COMPONENT_NAME$i,
|
|
21160
21842
|
props: props$a,
|
|
21161
21843
|
emits: ['update:modelValue', 'change', 'click'],
|
|
21162
21844
|
setup(props, {
|
|
@@ -21421,9 +22103,9 @@ const MTabs = /* @__PURE__ */ defineComponent({
|
|
|
21421
22103
|
|
|
21422
22104
|
/** @jsxImportSource vue */
|
|
21423
22105
|
|
|
21424
|
-
const COMPONENT_NAME$
|
|
22106
|
+
const COMPONENT_NAME$h = 'vcm-tabs-pane';
|
|
21425
22107
|
const MTabsPane = /* @__PURE__ */ defineComponent({
|
|
21426
|
-
name: COMPONENT_NAME$
|
|
22108
|
+
name: COMPONENT_NAME$h,
|
|
21427
22109
|
props: props$b,
|
|
21428
22110
|
setup(_, {
|
|
21429
22111
|
slots
|
|
@@ -21487,9 +22169,9 @@ const props$9 = {
|
|
|
21487
22169
|
|
|
21488
22170
|
/** @jsxImportSource vue */
|
|
21489
22171
|
|
|
21490
|
-
const COMPONENT_NAME$
|
|
22172
|
+
const COMPONENT_NAME$g = 'vc-text';
|
|
21491
22173
|
const Text = /* @__PURE__ */ defineComponent({
|
|
21492
|
-
name: COMPONENT_NAME$
|
|
22174
|
+
name: COMPONENT_NAME$g,
|
|
21493
22175
|
props: props$9,
|
|
21494
22176
|
setup(props, {
|
|
21495
22177
|
emit
|
|
@@ -21856,9 +22538,9 @@ const props$8 = {
|
|
|
21856
22538
|
|
|
21857
22539
|
/** @jsxImportSource vue */
|
|
21858
22540
|
|
|
21859
|
-
const COMPONENT_NAME$
|
|
22541
|
+
const COMPONENT_NAME$f = 'vc-textarea';
|
|
21860
22542
|
const Textarea = /* @__PURE__ */ defineComponent({
|
|
21861
|
-
name: COMPONENT_NAME$
|
|
22543
|
+
name: COMPONENT_NAME$f,
|
|
21862
22544
|
props: Object.assign({}, props$8, {
|
|
21863
22545
|
indicator: {
|
|
21864
22546
|
type: [Boolean, Object],
|
|
@@ -21914,9 +22596,9 @@ const Textarea = /* @__PURE__ */ defineComponent({
|
|
|
21914
22596
|
|
|
21915
22597
|
/** @jsxImportSource vue */
|
|
21916
22598
|
|
|
21917
|
-
const COMPONENT_NAME$
|
|
22599
|
+
const COMPONENT_NAME$e = 'vcm-textarea';
|
|
21918
22600
|
const MTextarea = /* @__PURE__ */ defineComponent({
|
|
21919
|
-
name: COMPONENT_NAME$
|
|
22601
|
+
name: COMPONENT_NAME$e,
|
|
21920
22602
|
props: Object.assign({}, props$8, {
|
|
21921
22603
|
align: {
|
|
21922
22604
|
type: String,
|
|
@@ -21999,9 +22681,9 @@ const props$7 = {
|
|
|
21999
22681
|
}
|
|
22000
22682
|
};
|
|
22001
22683
|
|
|
22002
|
-
const COMPONENT_NAME$
|
|
22684
|
+
const COMPONENT_NAME$d = "vc-theme";
|
|
22003
22685
|
const Theme = defineComponent({
|
|
22004
|
-
name: COMPONENT_NAME$
|
|
22686
|
+
name: COMPONENT_NAME$d,
|
|
22005
22687
|
props: props$7,
|
|
22006
22688
|
setup(props, { slots }) {
|
|
22007
22689
|
const themeId = Utils.getUid("vc-theme");
|
|
@@ -22084,9 +22766,9 @@ const Theme = defineComponent({
|
|
|
22084
22766
|
}
|
|
22085
22767
|
});
|
|
22086
22768
|
|
|
22087
|
-
const COMPONENT_NAME$
|
|
22769
|
+
const COMPONENT_NAME$c = "vc-theme-view";
|
|
22088
22770
|
const ThemeView = defineComponent({
|
|
22089
|
-
name: COMPONENT_NAME$
|
|
22771
|
+
name: COMPONENT_NAME$c,
|
|
22090
22772
|
props: props$7,
|
|
22091
22773
|
setup(props, { slots }) {
|
|
22092
22774
|
return () => {
|
|
@@ -22102,9 +22784,9 @@ const ThemeView = defineComponent({
|
|
|
22102
22784
|
}
|
|
22103
22785
|
});
|
|
22104
22786
|
|
|
22105
|
-
const COMPONENT_NAME$
|
|
22787
|
+
const COMPONENT_NAME$b = "vc-theme-text";
|
|
22106
22788
|
const ThemeText = defineComponent({
|
|
22107
|
-
name: COMPONENT_NAME$
|
|
22789
|
+
name: COMPONENT_NAME$b,
|
|
22108
22790
|
props: props$7,
|
|
22109
22791
|
setup(props, { slots }) {
|
|
22110
22792
|
return () => {
|
|
@@ -22120,9 +22802,9 @@ const ThemeText = defineComponent({
|
|
|
22120
22802
|
}
|
|
22121
22803
|
});
|
|
22122
22804
|
|
|
22123
|
-
const COMPONENT_NAME$
|
|
22805
|
+
const COMPONENT_NAME$a = "vc-theme-image";
|
|
22124
22806
|
const ThemeImage = defineComponent({
|
|
22125
|
-
name: COMPONENT_NAME$
|
|
22807
|
+
name: COMPONENT_NAME$a,
|
|
22126
22808
|
props: props$7,
|
|
22127
22809
|
setup(props, { slots }) {
|
|
22128
22810
|
return () => {
|
|
@@ -22174,12 +22856,12 @@ const props$6 = {
|
|
|
22174
22856
|
|
|
22175
22857
|
/** @jsxImportSource vue */
|
|
22176
22858
|
|
|
22177
|
-
const COMPONENT_NAME$
|
|
22859
|
+
const COMPONENT_NAME$9 = 'vc-time-picker';
|
|
22178
22860
|
const getPanel = type => {
|
|
22179
22861
|
const isRange = type === 'timerange';
|
|
22180
22862
|
return isRange ? TimeRangePanel : TimePanel;
|
|
22181
22863
|
};
|
|
22182
|
-
const TimePicker = createPicker(COMPONENT_NAME$
|
|
22864
|
+
const TimePicker = createPicker(COMPONENT_NAME$9, props$6, () => {
|
|
22183
22865
|
const props = getCurrentInstance().props;
|
|
22184
22866
|
const icon = ref('icon');
|
|
22185
22867
|
const panel = shallowRef({});
|
|
@@ -22215,9 +22897,9 @@ const props$5 = {
|
|
|
22215
22897
|
|
|
22216
22898
|
/** @jsxImportSource vue */
|
|
22217
22899
|
|
|
22218
|
-
const COMPONENT_NAME$
|
|
22900
|
+
const COMPONENT_NAME$8 = 'vc-timeline';
|
|
22219
22901
|
const Timeline = /* @__PURE__ */ defineComponent({
|
|
22220
|
-
name: COMPONENT_NAME$
|
|
22902
|
+
name: COMPONENT_NAME$8,
|
|
22221
22903
|
props: props$5,
|
|
22222
22904
|
setup(props, {
|
|
22223
22905
|
slots
|
|
@@ -22244,9 +22926,9 @@ const props$4 = {
|
|
|
22244
22926
|
|
|
22245
22927
|
/** @jsxImportSource vue */
|
|
22246
22928
|
|
|
22247
|
-
const COMPONENT_NAME$
|
|
22929
|
+
const COMPONENT_NAME$7 = 'vc-touch';
|
|
22248
22930
|
const Touch = /* @__PURE__ */ defineComponent({
|
|
22249
|
-
name: COMPONENT_NAME$
|
|
22931
|
+
name: COMPONENT_NAME$7,
|
|
22250
22932
|
props: props$4,
|
|
22251
22933
|
setup(props, {
|
|
22252
22934
|
slots
|
|
@@ -22754,21 +23436,68 @@ class TreeStore {
|
|
|
22754
23436
|
parentNode.insertChild({ data });
|
|
22755
23437
|
}
|
|
22756
23438
|
}
|
|
23439
|
+
/**
|
|
23440
|
+
* 级联非 strict:仅对「选中集合里的最深节点」做 setChecked(true, deep),
|
|
23441
|
+
* 避免对祖先逐个 deep 勾选把未出现在 checkedValues 里的兄弟子树再次全选。
|
|
23442
|
+
* @param checkedValues ~
|
|
23443
|
+
* @returns ~
|
|
23444
|
+
*/
|
|
23445
|
+
_getCascadeCheckedAnchorIds(checkedValues) {
|
|
23446
|
+
const checkedSet = new Set(checkedValues);
|
|
23447
|
+
const nodesMap = this.nodesMap;
|
|
23448
|
+
const anchors = [];
|
|
23449
|
+
for (const id of checkedValues) {
|
|
23450
|
+
const node = nodesMap[id];
|
|
23451
|
+
if (!node) continue;
|
|
23452
|
+
const hasSelectedChildInSet = node.childNodes.some(
|
|
23453
|
+
(child) => checkedSet.has(child.getter.value)
|
|
23454
|
+
);
|
|
23455
|
+
if (!hasSelectedChildInSet) {
|
|
23456
|
+
anchors.push(id);
|
|
23457
|
+
}
|
|
23458
|
+
}
|
|
23459
|
+
anchors.sort((a, b) => {
|
|
23460
|
+
const na = nodesMap[a];
|
|
23461
|
+
const nb = nodesMap[b];
|
|
23462
|
+
if (!na || !nb) return 0;
|
|
23463
|
+
return nb.states.level - na.states.level;
|
|
23464
|
+
});
|
|
23465
|
+
return anchors;
|
|
23466
|
+
}
|
|
22757
23467
|
_initDefaultCheckedNodes() {
|
|
22758
23468
|
const checkedValues = this.checkedValues || [];
|
|
22759
23469
|
const nodesMap = this.nodesMap;
|
|
22760
|
-
|
|
23470
|
+
if (this.checkStrictly) {
|
|
23471
|
+
checkedValues.forEach((id) => {
|
|
23472
|
+
const node = nodesMap[id];
|
|
23473
|
+
if (node) {
|
|
23474
|
+
node.setChecked(true, false);
|
|
23475
|
+
}
|
|
23476
|
+
});
|
|
23477
|
+
return;
|
|
23478
|
+
}
|
|
23479
|
+
const anchorIds = this._getCascadeCheckedAnchorIds(checkedValues);
|
|
23480
|
+
anchorIds.forEach((id) => {
|
|
22761
23481
|
const node = nodesMap[id];
|
|
22762
23482
|
if (node) {
|
|
22763
|
-
node.setChecked(true,
|
|
23483
|
+
node.setChecked(true, true);
|
|
22764
23484
|
}
|
|
22765
23485
|
});
|
|
22766
23486
|
}
|
|
22767
23487
|
_initDefaultCheckedNode(node) {
|
|
22768
23488
|
const checkedValues = this.checkedValues || [];
|
|
22769
23489
|
const nodeValue = node.getter.value;
|
|
22770
|
-
if (checkedValues.indexOf(nodeValue)
|
|
22771
|
-
|
|
23490
|
+
if (checkedValues.indexOf(nodeValue) === -1) return;
|
|
23491
|
+
if (this.checkStrictly) {
|
|
23492
|
+
node.setChecked(true, false);
|
|
23493
|
+
return;
|
|
23494
|
+
}
|
|
23495
|
+
const checkedSet = new Set(checkedValues);
|
|
23496
|
+
const hasSelectedChildInSet = node.childNodes.some(
|
|
23497
|
+
(child) => checkedSet.has(child.getter.value)
|
|
23498
|
+
);
|
|
23499
|
+
if (!hasSelectedChildInSet) {
|
|
23500
|
+
node.setChecked(true, true);
|
|
22772
23501
|
}
|
|
22773
23502
|
}
|
|
22774
23503
|
setCheckedValues(newVal) {
|
|
@@ -22996,9 +23725,9 @@ const props$3 = {
|
|
|
22996
23725
|
|
|
22997
23726
|
/** @jsxImportSource vue */
|
|
22998
23727
|
|
|
22999
|
-
const COMPONENT_NAME$
|
|
23728
|
+
const COMPONENT_NAME$6 = 'vc-tree-node';
|
|
23000
23729
|
const TreeNodeContent = /* @__PURE__ */ defineComponent({
|
|
23001
|
-
name: COMPONENT_NAME$
|
|
23730
|
+
name: COMPONENT_NAME$6,
|
|
23002
23731
|
props: props$3,
|
|
23003
23732
|
emits: ['node-expand'],
|
|
23004
23733
|
setup(props, {
|
|
@@ -23497,9 +24226,9 @@ const props$2 = {
|
|
|
23497
24226
|
|
|
23498
24227
|
/** @jsxImportSource vue */
|
|
23499
24228
|
|
|
23500
|
-
const COMPONENT_NAME$
|
|
24229
|
+
const COMPONENT_NAME$5 = 'vc-tree';
|
|
23501
24230
|
const Tree = /* @__PURE__ */ defineComponent({
|
|
23502
|
-
name: COMPONENT_NAME$
|
|
24231
|
+
name: COMPONENT_NAME$5,
|
|
23503
24232
|
props: props$2,
|
|
23504
24233
|
emits: ['update:modelValue', 'change', 'check-change', 'current-change', 'node-click', 'node-contextmenu', 'node-collapse', 'node-expand', 'check', 'node-drag-start', 'node-drag-end', 'node-drop', 'node-drag-leave', 'node-drag-enter', 'node-drag-over'],
|
|
23505
24234
|
setup(props, {
|
|
@@ -23694,6 +24423,225 @@ const Tree = /* @__PURE__ */ defineComponent({
|
|
|
23694
24423
|
}
|
|
23695
24424
|
});
|
|
23696
24425
|
|
|
24426
|
+
/** @jsxImportSource vue */
|
|
24427
|
+
|
|
24428
|
+
const COMPONENT_NAME$4 = 'vc-tree-select-content';
|
|
24429
|
+
const TreeSelectContent = /* @__PURE__ */ defineComponent({
|
|
24430
|
+
name: COMPONENT_NAME$4,
|
|
24431
|
+
props: {
|
|
24432
|
+
value: {
|
|
24433
|
+
type: Array,
|
|
24434
|
+
required: true
|
|
24435
|
+
},
|
|
24436
|
+
data: {
|
|
24437
|
+
type: Array,
|
|
24438
|
+
default: () => []
|
|
24439
|
+
},
|
|
24440
|
+
checkStrictly: {
|
|
24441
|
+
type: Boolean,
|
|
24442
|
+
default: false
|
|
24443
|
+
},
|
|
24444
|
+
renderNodeLabel: Function
|
|
24445
|
+
},
|
|
24446
|
+
emits: ['change'],
|
|
24447
|
+
setup(props, {
|
|
24448
|
+
emit
|
|
24449
|
+
}) {
|
|
24450
|
+
return () => {
|
|
24451
|
+
return createVNode(Scroller, {
|
|
24452
|
+
"class": "vc-tree-select__options",
|
|
24453
|
+
"max-height": "200px"
|
|
24454
|
+
}, {
|
|
24455
|
+
default: () => [createVNode(Tree, {
|
|
24456
|
+
"model-value": props.value,
|
|
24457
|
+
"expanded-values": props.value,
|
|
24458
|
+
"data": props.data,
|
|
24459
|
+
"checkStrictly": props.checkStrictly,
|
|
24460
|
+
"allowDispatch": false,
|
|
24461
|
+
"showCheckbox": true,
|
|
24462
|
+
"renderNodeLabel": props.renderNodeLabel,
|
|
24463
|
+
"onChange": (_, data) => emit('change', _, data)
|
|
24464
|
+
}, null)]
|
|
24465
|
+
});
|
|
24466
|
+
};
|
|
24467
|
+
}
|
|
24468
|
+
});
|
|
24469
|
+
|
|
24470
|
+
/** @jsxImportSource vue */
|
|
24471
|
+
|
|
24472
|
+
const COMPONENT_NAME$3 = 'vc-tree-select-content-cascader';
|
|
24473
|
+
const TreeSelectContentCascader = /* @__PURE__ */ defineComponent({
|
|
24474
|
+
name: COMPONENT_NAME$3,
|
|
24475
|
+
props: {
|
|
24476
|
+
value: {
|
|
24477
|
+
type: Array,
|
|
24478
|
+
required: true
|
|
24479
|
+
},
|
|
24480
|
+
data: {
|
|
24481
|
+
type: Array,
|
|
24482
|
+
default: () => []
|
|
24483
|
+
},
|
|
24484
|
+
checkStrictly: {
|
|
24485
|
+
type: Boolean,
|
|
24486
|
+
default: false
|
|
24487
|
+
},
|
|
24488
|
+
renderNodeLabel: Function,
|
|
24489
|
+
numerable: {
|
|
24490
|
+
type: Boolean,
|
|
24491
|
+
default: false
|
|
24492
|
+
},
|
|
24493
|
+
separator: {
|
|
24494
|
+
type: String,
|
|
24495
|
+
default: ','
|
|
24496
|
+
},
|
|
24497
|
+
max: {
|
|
24498
|
+
type: Number,
|
|
24499
|
+
default: 1
|
|
24500
|
+
},
|
|
24501
|
+
nullValue: {
|
|
24502
|
+
type: [Number, String, Object],
|
|
24503
|
+
default: void 0
|
|
24504
|
+
}
|
|
24505
|
+
},
|
|
24506
|
+
emits: ['change'],
|
|
24507
|
+
setup(props, {
|
|
24508
|
+
emit
|
|
24509
|
+
}) {
|
|
24510
|
+
const treeRef = ref(null);
|
|
24511
|
+
/** hover 展开路径,与 Cascader 一致 */
|
|
24512
|
+
const currentValue = ref([]);
|
|
24513
|
+
const rebuildData = computed(() => {
|
|
24514
|
+
if (!props.data.length) return [];
|
|
24515
|
+
let temp = props.data;
|
|
24516
|
+
const data = [];
|
|
24517
|
+
currentValue.value.forEach(cur => {
|
|
24518
|
+
const col = temp;
|
|
24519
|
+
data.push(col);
|
|
24520
|
+
const next = (temp.find(i => i.value == cur) || {}).children || [];
|
|
24521
|
+
temp = next;
|
|
24522
|
+
});
|
|
24523
|
+
data.push(temp);
|
|
24524
|
+
return data;
|
|
24525
|
+
});
|
|
24526
|
+
/** 驱动列区在 TreeStore 更新后重绘 */
|
|
24527
|
+
const panelTick = ref(0);
|
|
24528
|
+
const columns = computed(() => Array.from({
|
|
24529
|
+
length: currentValue.value.length + 1
|
|
24530
|
+
}).map((_, index) => index));
|
|
24531
|
+
const handleHover = (value, columnIndex) => {
|
|
24532
|
+
const len = currentValue.value.length - columnIndex;
|
|
24533
|
+
currentValue.value.splice(columnIndex, len, value);
|
|
24534
|
+
};
|
|
24535
|
+
const sync = async () => {
|
|
24536
|
+
await nextTick();
|
|
24537
|
+
const tree = treeRef.value;
|
|
24538
|
+
if (!tree) return;
|
|
24539
|
+
const data = {
|
|
24540
|
+
checkedNodes: tree.getCheckedNodes(),
|
|
24541
|
+
checkedValues: tree.getCheckedValues(),
|
|
24542
|
+
halfCheckedNodes: tree.getHalfCheckedNodes(),
|
|
24543
|
+
halfCheckedValues: tree.getHalfCheckedValues()
|
|
24544
|
+
};
|
|
24545
|
+
panelTick.value++;
|
|
24546
|
+
emit('change', null, data);
|
|
24547
|
+
};
|
|
24548
|
+
const getNodeState = item => {
|
|
24549
|
+
const tree = treeRef.value;
|
|
24550
|
+
if (!tree) {
|
|
24551
|
+
return {
|
|
24552
|
+
checked: false,
|
|
24553
|
+
indeterminate: false
|
|
24554
|
+
};
|
|
24555
|
+
}
|
|
24556
|
+
const node = tree.getNode(item);
|
|
24557
|
+
if (!node) {
|
|
24558
|
+
return {
|
|
24559
|
+
checked: false,
|
|
24560
|
+
indeterminate: false
|
|
24561
|
+
};
|
|
24562
|
+
}
|
|
24563
|
+
return {
|
|
24564
|
+
checked: !!node.states.checked,
|
|
24565
|
+
indeterminate: !!node.states.indeterminate
|
|
24566
|
+
};
|
|
24567
|
+
};
|
|
24568
|
+
const hasChildren = item => {
|
|
24569
|
+
return !!(item.children && item.children.length > 0);
|
|
24570
|
+
};
|
|
24571
|
+
const handleCheckboxChange = async (v, item) => {
|
|
24572
|
+
const tree = treeRef.value;
|
|
24573
|
+
if (!tree) return;
|
|
24574
|
+
tree.setChecked(item, v, !props.checkStrictly);
|
|
24575
|
+
sync();
|
|
24576
|
+
};
|
|
24577
|
+
const handleLabelClick = (v, item) => {
|
|
24578
|
+
const tree = treeRef.value;
|
|
24579
|
+
if (!tree) return;
|
|
24580
|
+
tree.setChecked(item, v, !props.checkStrictly);
|
|
24581
|
+
sync();
|
|
24582
|
+
};
|
|
24583
|
+
return () => {
|
|
24584
|
+
return createVNode("div", {
|
|
24585
|
+
"class": "vc-tree-select__cascader"
|
|
24586
|
+
}, [createVNode(Tree, {
|
|
24587
|
+
"ref": treeRef,
|
|
24588
|
+
"class": "vc-tree-select__cascader-tree-hidden",
|
|
24589
|
+
"model-value": props.value,
|
|
24590
|
+
"expanded-values": props.value,
|
|
24591
|
+
"data": props.data,
|
|
24592
|
+
"checkStrictly": props.checkStrictly,
|
|
24593
|
+
"allowDispatch": false,
|
|
24594
|
+
"showCheckbox": true,
|
|
24595
|
+
"renderNodeLabel": props.renderNodeLabel,
|
|
24596
|
+
"numerable": props.numerable,
|
|
24597
|
+
"separator": props.separator,
|
|
24598
|
+
"max": props.max,
|
|
24599
|
+
"nullValue": props.nullValue
|
|
24600
|
+
}, null), createVNode("div", {
|
|
24601
|
+
"class": "vc-tree-select__cascader-columns"
|
|
24602
|
+
}, [columns.value.map(columnIndex => {
|
|
24603
|
+
const col = rebuildData.value[columnIndex];
|
|
24604
|
+
if (!col || !col.length) return null;
|
|
24605
|
+
return createVNode("div", {
|
|
24606
|
+
"class": "vc-tree-select__cascader-column",
|
|
24607
|
+
"key": columnIndex
|
|
24608
|
+
}, [createVNode("div", {
|
|
24609
|
+
"class": "vc-tree-select__cascader-column-wrapper"
|
|
24610
|
+
}, [col.map(item => {
|
|
24611
|
+
const state = getNodeState(item);
|
|
24612
|
+
const isSelect = currentValue.value[columnIndex] === item.value;
|
|
24613
|
+
const child = hasChildren(item);
|
|
24614
|
+
return createVNode("div", {
|
|
24615
|
+
"key": item.value,
|
|
24616
|
+
"class": ['vc-tree-select__cascader-item', {
|
|
24617
|
+
'is-select': isSelect
|
|
24618
|
+
}],
|
|
24619
|
+
"onMouseenter": () => handleHover(item.value, columnIndex),
|
|
24620
|
+
"onClick": () => handleLabelClick(!state.checked, item)
|
|
24621
|
+
}, [createVNode("span", {
|
|
24622
|
+
"class": "vc-tree-select__cascader-checkbox",
|
|
24623
|
+
"onClick": e => e.stopPropagation()
|
|
24624
|
+
}, [createVNode(Checkbox, {
|
|
24625
|
+
"modelValue": state.checked,
|
|
24626
|
+
"indeterminate": state.indeterminate,
|
|
24627
|
+
"disabled": !!item.disabled,
|
|
24628
|
+
"onChange": v => handleCheckboxChange(v, item)
|
|
24629
|
+
}, null)]), createVNode("span", {
|
|
24630
|
+
"class": "vc-tree-select__cascader-label"
|
|
24631
|
+
}, [props.renderNodeLabel && treeRef.value?.getNode?.(item) ? createVNode(Customer, {
|
|
24632
|
+
"render": props.renderNodeLabel,
|
|
24633
|
+
"store": treeRef.value.getNode(item),
|
|
24634
|
+
"row": item
|
|
24635
|
+
}, null) : createVNode("span", null, [item.label])]), child ? createVNode(Icon, {
|
|
24636
|
+
"type": "right",
|
|
24637
|
+
"class": "vc-tree-select__cascader-icon"
|
|
24638
|
+
}, null) : null]);
|
|
24639
|
+
})])]);
|
|
24640
|
+
})])]);
|
|
24641
|
+
};
|
|
24642
|
+
}
|
|
24643
|
+
});
|
|
24644
|
+
|
|
23697
24645
|
const treeKeys = [
|
|
23698
24646
|
"checkStrictly",
|
|
23699
24647
|
"data",
|
|
@@ -23702,7 +24650,18 @@ const treeKeys = [
|
|
|
23702
24650
|
];
|
|
23703
24651
|
const props$1 = {
|
|
23704
24652
|
...props$1a,
|
|
23705
|
-
...pick(props$2, treeKeys)
|
|
24653
|
+
...pick(props$2, treeKeys),
|
|
24654
|
+
autoWidth: {
|
|
24655
|
+
type: Boolean,
|
|
24656
|
+
default: void 0
|
|
24657
|
+
},
|
|
24658
|
+
/**
|
|
24659
|
+
* 级联列模式:与 Cascader 相同的 hover 展开下一级,勾选逻辑与树形模式一致
|
|
24660
|
+
*/
|
|
24661
|
+
cascader: {
|
|
24662
|
+
type: Boolean,
|
|
24663
|
+
default: false
|
|
24664
|
+
}
|
|
23706
24665
|
};
|
|
23707
24666
|
|
|
23708
24667
|
/** @jsxImportSource vue */
|
|
@@ -23728,12 +24687,37 @@ const TreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
23728
24687
|
const searchValue = ref('');
|
|
23729
24688
|
const searchRegex = ref(new RegExp(''));
|
|
23730
24689
|
const currentValue = ref([]);
|
|
24690
|
+
const currentValueGroups = computed(() => {
|
|
24691
|
+
if (props.checkStrictly) return;
|
|
24692
|
+
if (!props.data?.length || !Array.isArray(currentValue.value) || !currentValue.value.length) {
|
|
24693
|
+
return [];
|
|
24694
|
+
}
|
|
24695
|
+
const pathMap = new Map();
|
|
24696
|
+
const traverse = (data, path = []) => {
|
|
24697
|
+
data.forEach(item => {
|
|
24698
|
+
const v = item.value;
|
|
24699
|
+
if (v == null) return;
|
|
24700
|
+
const fullPath = [...path, v];
|
|
24701
|
+
pathMap.set(v, fullPath);
|
|
24702
|
+
if (item.children?.length) traverse(item.children, fullPath);
|
|
24703
|
+
});
|
|
24704
|
+
};
|
|
24705
|
+
traverse(props.data);
|
|
24706
|
+
const allPaths = currentValue.value.map(v => pathMap.get(v)).filter(Boolean);
|
|
24707
|
+
return allPaths.filter(path => !allPaths.some(other => other !== path && other.length > path.length && path.every((v, i) => v === other[i])));
|
|
24708
|
+
});
|
|
23731
24709
|
const source = computed(() => {
|
|
23732
24710
|
return flattenData$1(props.data, {
|
|
23733
24711
|
parent: true,
|
|
23734
24712
|
cascader: true
|
|
23735
24713
|
});
|
|
23736
24714
|
});
|
|
24715
|
+
const labelMap = computed(() => {
|
|
24716
|
+
return source.value.reduce((pre, cur) => {
|
|
24717
|
+
pre[cur.value] = cur.label || '';
|
|
24718
|
+
return pre;
|
|
24719
|
+
}, {});
|
|
24720
|
+
});
|
|
23737
24721
|
const icon = computed(() => {
|
|
23738
24722
|
return isActive.value ? 'up' : 'down';
|
|
23739
24723
|
});
|
|
@@ -23750,17 +24734,34 @@ const TreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
23750
24734
|
'is-disabled': props.disabled
|
|
23751
24735
|
};
|
|
23752
24736
|
});
|
|
23753
|
-
const
|
|
24737
|
+
const displayTags = computed(() => {
|
|
23754
24738
|
if (!props.data.length) {
|
|
23755
24739
|
return [];
|
|
23756
24740
|
}
|
|
23757
|
-
|
|
24741
|
+
if (props.checkStrictly) {
|
|
24742
|
+
return currentValue.value.map(v => ({
|
|
24743
|
+
value: v,
|
|
24744
|
+
label: labelMap.value[v] || ''
|
|
24745
|
+
}));
|
|
24746
|
+
}
|
|
24747
|
+
return (currentValueGroups.value || []).map(path => {
|
|
24748
|
+
const value = path[path.length - 1];
|
|
24749
|
+
const label = path.map(v => labelMap.value[v] || '').filter(Boolean).join(' / ');
|
|
24750
|
+
return {
|
|
24751
|
+
path,
|
|
24752
|
+
value,
|
|
24753
|
+
label
|
|
24754
|
+
};
|
|
24755
|
+
});
|
|
23758
24756
|
});
|
|
23759
24757
|
const collapseTagCount = computed(() => {
|
|
23760
24758
|
if (!props.maxTags) return 0;
|
|
23761
|
-
const v =
|
|
24759
|
+
const v = displayTags.value.length - props.maxTags;
|
|
23762
24760
|
return v < 0 ? 0 : v;
|
|
23763
24761
|
});
|
|
24762
|
+
const autoWidth = computed(() => {
|
|
24763
|
+
return typeof props.autoWidth === 'boolean' ? props.autoWidth : !!props.cascader;
|
|
24764
|
+
});
|
|
23764
24765
|
|
|
23765
24766
|
/**
|
|
23766
24767
|
* v-model 同步, 外部的数据改变时不会触发
|
|
@@ -23773,8 +24774,9 @@ const TreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
23773
24774
|
separator: props.separator,
|
|
23774
24775
|
nullValue: props.nullValue
|
|
23775
24776
|
});
|
|
23776
|
-
|
|
23777
|
-
emit('
|
|
24777
|
+
const labels = displayTags.value.map(item => item.label);
|
|
24778
|
+
emit('update:modelValue', v, labels);
|
|
24779
|
+
emit('change', v, labels);
|
|
23778
24780
|
|
|
23779
24781
|
// form表单
|
|
23780
24782
|
formItem?.change?.(currentValue.value);
|
|
@@ -23799,8 +24801,15 @@ const TreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
23799
24801
|
const close = () => {
|
|
23800
24802
|
isActive.value = false;
|
|
23801
24803
|
};
|
|
23802
|
-
const handleClose =
|
|
23803
|
-
|
|
24804
|
+
const handleClose = item => {
|
|
24805
|
+
if (props.checkStrictly) {
|
|
24806
|
+
const index = currentValue.value.findIndex(v => v === item.value);
|
|
24807
|
+
if (index === -1) return;
|
|
24808
|
+
currentValue.value = currentValue.value.filter((_, i) => i !== index);
|
|
24809
|
+
} else if (item.path) {
|
|
24810
|
+
const remaining = (currentValueGroups.value || []).filter(p => !(p.length === item.path.length && p.every((v, i) => v === item.path[i])));
|
|
24811
|
+
currentValue.value = [...new Set(remaining.flat())];
|
|
24812
|
+
}
|
|
23804
24813
|
sync();
|
|
23805
24814
|
};
|
|
23806
24815
|
const handleClear = e => {
|
|
@@ -23837,6 +24846,7 @@ const TreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
23837
24846
|
multiple,
|
|
23838
24847
|
isActive,
|
|
23839
24848
|
current: currentValue,
|
|
24849
|
+
currentValueGroups,
|
|
23840
24850
|
// for portal
|
|
23841
24851
|
toggle(v) {
|
|
23842
24852
|
v = typeof v === 'boolean' ? v : !isActive.value;
|
|
@@ -23851,7 +24861,7 @@ const TreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
23851
24861
|
"trigger": props.trigger,
|
|
23852
24862
|
"tag": props.tag,
|
|
23853
24863
|
"placement": props.placement,
|
|
23854
|
-
"
|
|
24864
|
+
"autoWidth": autoWidth.value,
|
|
23855
24865
|
"disabled": props.disabled,
|
|
23856
24866
|
"portalClass": [['is-padding-none', props.portalClass]],
|
|
23857
24867
|
"class": [classes.value, its.value.class, 'vc-tree-select'],
|
|
@@ -23868,22 +24878,22 @@ const TreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
23868
24878
|
return createVNode(Input, {
|
|
23869
24879
|
"id": props.id,
|
|
23870
24880
|
"disabled": props.disabled,
|
|
23871
|
-
"modelValue":
|
|
24881
|
+
"modelValue": displayTags.value[0]?.label || props.extra,
|
|
23872
24882
|
"allow-dispatch": false,
|
|
23873
24883
|
"class": "vc-tree-select__input",
|
|
23874
24884
|
"readonly": true,
|
|
23875
24885
|
"placeholder": its.value.attrs?.placeholder || '请选择'
|
|
23876
24886
|
}, {
|
|
23877
|
-
content: multiple.value &&
|
|
24887
|
+
content: multiple.value && displayTags.value.length > 0 ? () => {
|
|
23878
24888
|
return createVNode("div", {
|
|
23879
24889
|
"class": [classes.value, 'vc-tree-select__tags']
|
|
23880
|
-
}, [
|
|
24890
|
+
}, [displayTags.value.slice(0, props.maxTags).map(item => {
|
|
23881
24891
|
return createVNode(Tag, {
|
|
23882
|
-
"key": item,
|
|
24892
|
+
"key": item.path ? item.path.join('-') : item.value,
|
|
23883
24893
|
"closable": !props.disabled,
|
|
23884
|
-
"onClose": () => handleClose(
|
|
24894
|
+
"onClose": () => handleClose(item)
|
|
23885
24895
|
}, {
|
|
23886
|
-
default: () => [
|
|
24896
|
+
default: () => [item.label]
|
|
23887
24897
|
});
|
|
23888
24898
|
}), collapseTagCount.value ? createVNode(Tag, null, {
|
|
23889
24899
|
default: () => [`+${collapseTagCount.value}...`]
|
|
@@ -23916,16 +24926,23 @@ const TreeSelect = /* @__PURE__ */ defineComponent({
|
|
|
23916
24926
|
}, [createVNode(Spin, {
|
|
23917
24927
|
"size": 16
|
|
23918
24928
|
}, null)]), createVNode(Scroller, {
|
|
23919
|
-
"class":
|
|
24929
|
+
"class": ['vc-tree-select__options', props.cascader && 'is-cascader'],
|
|
23920
24930
|
"max-height": "200px"
|
|
23921
24931
|
}, {
|
|
23922
|
-
default: () => [createVNode(
|
|
23923
|
-
"
|
|
23924
|
-
"
|
|
24932
|
+
default: () => [props.cascader ? createVNode(TreeSelectContentCascader, {
|
|
24933
|
+
"value": currentValue.value,
|
|
24934
|
+
"data": props.data,
|
|
24935
|
+
"checkStrictly": props.checkStrictly,
|
|
24936
|
+
"renderNodeLabel": props.renderNodeLabel,
|
|
24937
|
+
"numerable": props.numerable,
|
|
24938
|
+
"separator": props.separator,
|
|
24939
|
+
"max": props.max,
|
|
24940
|
+
"nullValue": props.nullValue,
|
|
24941
|
+
"onChange": handleChange
|
|
24942
|
+
}, null) : createVNode(TreeSelectContent, {
|
|
24943
|
+
"value": currentValue.value,
|
|
23925
24944
|
"data": props.data,
|
|
23926
24945
|
"checkStrictly": props.checkStrictly,
|
|
23927
|
-
"allowDispatch": false,
|
|
23928
|
-
"showCheckbox": true,
|
|
23929
24946
|
"renderNodeLabel": props.renderNodeLabel,
|
|
23930
24947
|
"onChange": handleChange
|
|
23931
24948
|
}, null)]
|
|
@@ -24492,4 +25509,4 @@ const UploadPicker = /* @__PURE__ */ defineComponent({
|
|
|
24492
25509
|
|
|
24493
25510
|
const MUploadPicker = UploadPicker;
|
|
24494
25511
|
|
|
24495
|
-
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 };
|
|
25512
|
+
export { ActionSheet, Affix, Alert, Artboard, Button, ButtonGroup, Calendar, Card, Carousel, CarouselItem, 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, MCarouselItem, 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 };
|