vant 4.3.2 → 4.4.0
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/es/address-edit/AddressEdit.mjs +1 -0
- package/es/area/Area.d.ts +6 -8
- package/es/area/Area.mjs +1 -1
- package/es/area/index.d.ts +4 -6
- package/es/back-top/BackTop.d.ts +1 -1
- package/es/back-top/BackTop.mjs +6 -3
- package/es/back-top/index.css +1 -1
- package/es/back-top/index.d.ts +1 -1
- package/es/barrage/Barrage.d.ts +93 -0
- package/es/barrage/Barrage.mjs +134 -0
- package/es/barrage/index.css +1 -0
- package/es/barrage/index.d.ts +69 -0
- package/es/barrage/index.mjs +10 -0
- package/es/barrage/style/index.d.ts +1 -0
- package/es/barrage/style/index.mjs +2 -0
- package/es/barrage/types.d.ts +7 -0
- package/es/barrage/types.mjs +0 -0
- package/es/cascader/Cascader.mjs +14 -0
- package/es/contact-list/ContactList.mjs +1 -1
- package/es/contact-list/index.css +1 -1
- package/es/date-picker/DatePicker.mjs +5 -2
- package/es/dialog/index.css +1 -1
- package/es/divider/Divider.d.ts +4 -0
- package/es/divider/Divider.mjs +4 -2
- package/es/divider/index.css +1 -1
- package/es/divider/index.d.ts +3 -0
- package/es/image-preview/ImagePreviewItem.mjs +28 -15
- package/es/index.d.ts +2 -1
- package/es/index.mjs +4 -1
- package/es/notice-bar/NoticeBar.d.ts +1 -1
- package/es/notice-bar/index.d.ts +1 -1
- package/es/signature/Signature.d.ts +13 -0
- package/es/signature/Signature.mjs +24 -8
- package/es/signature/index.css +1 -1
- package/es/signature/index.d.ts +9 -0
- package/es/uploader/Uploader.d.ts +6 -1
- package/es/uploader/Uploader.mjs +25 -10
- package/es/uploader/UploaderPreviewItem.d.ts +5 -1
- package/es/uploader/UploaderPreviewItem.mjs +6 -3
- package/es/uploader/index.d.ts +5 -1
- package/es/uploader/types.d.ts +1 -0
- package/lib/address-edit/AddressEdit.js +1 -0
- package/lib/area/Area.d.ts +6 -8
- package/lib/area/Area.js +1 -1
- package/lib/area/index.d.ts +4 -6
- package/lib/back-top/BackTop.d.ts +1 -1
- package/lib/back-top/BackTop.js +6 -3
- package/lib/back-top/index.css +1 -1
- package/lib/back-top/index.d.ts +1 -1
- package/lib/barrage/Barrage.d.ts +93 -0
- package/lib/barrage/Barrage.js +153 -0
- package/lib/barrage/index.css +1 -0
- package/lib/barrage/index.d.ts +69 -0
- package/lib/barrage/index.js +39 -0
- package/lib/barrage/style/index.d.ts +1 -0
- package/lib/barrage/style/index.js +2 -0
- package/lib/barrage/types.d.ts +7 -0
- package/lib/barrage/types.js +15 -0
- package/lib/cascader/Cascader.js +14 -0
- package/lib/contact-list/ContactList.js +1 -1
- package/lib/contact-list/index.css +1 -1
- package/lib/date-picker/DatePicker.js +5 -2
- package/lib/dialog/index.css +1 -1
- package/lib/divider/Divider.d.ts +4 -0
- package/lib/divider/Divider.js +4 -2
- package/lib/divider/index.css +1 -1
- package/lib/divider/index.d.ts +3 -0
- package/lib/image-preview/ImagePreviewItem.js +28 -15
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -1
- package/lib/notice-bar/NoticeBar.d.ts +1 -1
- package/lib/notice-bar/index.d.ts +1 -1
- package/lib/signature/Signature.d.ts +13 -0
- package/lib/signature/Signature.js +23 -7
- package/lib/signature/index.css +1 -1
- package/lib/signature/index.d.ts +9 -0
- package/lib/uploader/Uploader.d.ts +6 -1
- package/lib/uploader/Uploader.js +25 -10
- package/lib/uploader/UploaderPreviewItem.d.ts +5 -1
- package/lib/uploader/UploaderPreviewItem.js +6 -3
- package/lib/uploader/index.d.ts +5 -1
- package/lib/uploader/types.d.ts +1 -0
- package/lib/vant.cjs.js +523 -324
- package/lib/vant.es.js +523 -324
- package/lib/vant.js +523 -324
- package/lib/vant.min.js +1 -1
- package/lib/web-types.json +1 -1
- package/package.json +1 -1
@@ -53,6 +53,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
53
53
|
slots
|
54
54
|
}) {
|
55
55
|
const currentValues = (0, import_vue2.ref)(props.modelValue);
|
56
|
+
const updatedByExternalSources = (0, import_vue2.ref)(false);
|
56
57
|
const genYearOptions = () => {
|
57
58
|
const minYear = props.minDate.getFullYear();
|
58
59
|
const maxYear = props.maxDate.getFullYear();
|
@@ -68,7 +69,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
68
69
|
columnsType
|
69
70
|
} = props;
|
70
71
|
const index = columnsType.indexOf(type);
|
71
|
-
const value = currentValues.value[index];
|
72
|
+
const value = updatedByExternalSources.value ? props.modelValue[index] : currentValues.value[index];
|
72
73
|
if (value) {
|
73
74
|
return +value;
|
74
75
|
}
|
@@ -114,11 +115,13 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
114
115
|
emit("update:modelValue", newValues);
|
115
116
|
}
|
116
117
|
});
|
117
|
-
(0, import_vue2.watch)(() => props.modelValue, (newValues) => {
|
118
|
+
(0, import_vue2.watch)(() => props.modelValue, (newValues, oldValues) => {
|
119
|
+
updatedByExternalSources.value = (0, import_utils.isSameValue)(oldValues, currentValues.value);
|
118
120
|
newValues = (0, import_utils2.formatValueRange)(newValues, columns.value);
|
119
121
|
if (!(0, import_utils.isSameValue)(newValues, currentValues.value)) {
|
120
122
|
currentValues.value = newValues;
|
121
123
|
}
|
124
|
+
updatedByExternalSources.value = false;
|
122
125
|
}, {
|
123
126
|
immediate: true
|
124
127
|
});
|
package/lib/dialog/index.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
:root{--van-dialog-width: 320px;--van-dialog-small-screen-width: 90%;--van-dialog-font-size: var(--van-font-size-lg);--van-dialog-transition: var(--van-duration-base);--van-dialog-radius: 16px;--van-dialog-background: var(--van-background-2);--van-dialog-header-font-weight: var(--van-font-bold);--van-dialog-header-line-height: 24px;--van-dialog-header-padding-top: 26px;--van-dialog-header-isolated-padding: var(--van-padding-lg) 0;--van-dialog-message-padding: var(--van-padding-lg);--van-dialog-message-font-size: var(--van-font-size-md);--van-dialog-message-line-height: var(--van-line-height-md);--van-dialog-message-max-height: 60vh;--van-dialog-has-title-message-text-color: var(--van-gray-7);--van-dialog-has-title-message-padding-top: var(--van-padding-xs);--van-dialog-button-height: 48px;--van-dialog-round-button-height: 36px;--van-dialog-confirm-button-text-color: var(--van-primary-color)}.van-dialog{top:45%;width:var(--van-dialog-width);overflow:hidden;font-size:var(--van-dialog-font-size);background:var(--van-dialog-background);border-radius:var(--van-dialog-radius);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:var(--van-dialog-transition);transition-property:transform,opacity}@media (max-width: 321px){.van-dialog{width:var(--van-dialog-small-screen-width)}}.van-dialog__header{color:var(--van-text-color);padding-top:var(--van-dialog-header-padding-top);font-weight:var(--van-dialog-header-font-weight);line-height:var(--van-dialog-header-line-height);text-align:center}.van-dialog__header--isolated{padding:var(--van-dialog-header-isolated-padding)}.van-dialog__content--isolated{display:flex;align-items:center;min-height:104px}.van-dialog__message{color:var(--van-text-color);flex:1;max-height:var(--van-dialog-message-max-height);padding:26px var(--van-dialog-message-padding);overflow-y:auto;font-size:var(--van-dialog-message-font-size);line-height:var(--van-dialog-message-line-height);white-space:pre-wrap;text-align:center;word-wrap:break-word;-webkit-overflow-scrolling:touch}.van-dialog__message--has-title{padding-top:var(--van-dialog-has-title-message-padding-top);color:var(--van-dialog-has-title-message-text-color)}.van-dialog__message--left{text-align:left}.van-dialog__message--right{text-align:right}.van-dialog__message--justify{text-align:justify}.van-dialog__footer{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-dialog__confirm,.van-dialog__cancel{flex:1;height:var(--van-dialog-button-height);margin:0;border:0}.van-dialog__confirm,.van-dialog__confirm:active{color:var(--van-dialog-confirm-button-text-color)}.van-dialog--round-button .van-dialog__footer{position:relative;height:auto;padding:var(--van-padding-xs) var(--van-padding-lg) var(--van-padding-md)}.van-dialog--round-button .van-dialog__message{padding-bottom:var(--van-padding-md);color:var(--van-text-color)}.van-dialog--round-button .van-dialog__confirm,.van-dialog--round-button .van-dialog__cancel{height:var(--van-dialog-round-button-height)}.van-dialog--round-button .van-dialog__confirm{color:var(--van-white)}.van-dialog-bounce-enter-from{transform:translate3d(0,-50%,0) scale(.7);opacity:0}.van-dialog-bounce-leave-active{transform:translate3d(0,-50%,0) scale(.9);opacity:0}
|
1
|
+
:root{--van-dialog-width: 320px;--van-dialog-small-screen-width: 90%;--van-dialog-font-size: var(--van-font-size-lg);--van-dialog-transition: var(--van-duration-base);--van-dialog-radius: 16px;--van-dialog-background: var(--van-background-2);--van-dialog-header-font-weight: var(--van-font-bold);--van-dialog-header-line-height: 24px;--van-dialog-header-padding-top: 26px;--van-dialog-header-isolated-padding: var(--van-padding-lg) 0;--van-dialog-message-padding: var(--van-padding-lg);--van-dialog-message-font-size: var(--van-font-size-md);--van-dialog-message-line-height: var(--van-line-height-md);--van-dialog-message-max-height: 60vh;--van-dialog-has-title-message-text-color: var(--van-gray-7);--van-dialog-has-title-message-padding-top: var(--van-padding-xs);--van-dialog-button-height: 48px;--van-dialog-round-button-height: 36px;--van-dialog-confirm-button-text-color: var(--van-primary-color)}.van-dialog{top:45%;width:var(--van-dialog-width);overflow:hidden;font-size:var(--van-dialog-font-size);background:var(--van-dialog-background);border-radius:var(--van-dialog-radius);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:var(--van-dialog-transition);transition-property:transform,opacity}@media (max-width: 321px){.van-dialog{width:var(--van-dialog-small-screen-width)}}.van-dialog__header{color:var(--van-text-color);padding-top:var(--van-dialog-header-padding-top);font-weight:var(--van-dialog-header-font-weight);line-height:var(--van-dialog-header-line-height);text-align:center}.van-dialog__header--isolated{padding:var(--van-dialog-header-isolated-padding)}.van-dialog__content--isolated{display:flex;align-items:center;min-height:104px}.van-dialog__message{color:var(--van-text-color);flex:1;max-height:var(--van-dialog-message-max-height);padding:26px var(--van-dialog-message-padding);overflow-y:auto;font-size:var(--van-dialog-message-font-size);line-height:var(--van-dialog-message-line-height);white-space:pre-wrap;text-align:center;word-wrap:break-word;-webkit-overflow-scrolling:touch}.van-dialog__message--has-title{padding-top:var(--van-dialog-has-title-message-padding-top);color:var(--van-dialog-has-title-message-text-color)}.van-dialog__message--left{text-align:left}.van-dialog__message--right{text-align:right}.van-dialog__message--justify{text-align:justify}.van-dialog__footer{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-dialog__confirm,.van-dialog__cancel{flex:1;height:var(--van-dialog-button-height);margin:0;border:0;border-radius:0}.van-dialog__confirm,.van-dialog__confirm:active{color:var(--van-dialog-confirm-button-text-color)}.van-dialog--round-button .van-dialog__footer{position:relative;height:auto;padding:var(--van-padding-xs) var(--van-padding-lg) var(--van-padding-md)}.van-dialog--round-button .van-dialog__message{padding-bottom:var(--van-padding-md);color:var(--van-text-color)}.van-dialog--round-button .van-dialog__confirm,.van-dialog--round-button .van-dialog__cancel{height:var(--van-dialog-round-button-height)}.van-dialog--round-button .van-dialog__confirm{color:var(--van-white)}.van-dialog--round-button .van-action-bar-button--first{border-top-left-radius:var(--van-radius-max);border-bottom-left-radius:var(--van-radius-max)}.van-dialog--round-button .van-action-bar-button--last{border-top-right-radius:var(--van-radius-max);border-bottom-right-radius:var(--van-radius-max)}.van-dialog-bounce-enter-from{transform:translate3d(0,-50%,0) scale(.7);opacity:0}.van-dialog-bounce-leave-active{transform:translate3d(0,-50%,0) scale(.9);opacity:0}
|
package/lib/divider/Divider.d.ts
CHANGED
@@ -6,6 +6,7 @@ export declare const dividerProps: {
|
|
6
6
|
type: BooleanConstructor;
|
7
7
|
default: true;
|
8
8
|
};
|
9
|
+
vertical: BooleanConstructor;
|
9
10
|
contentPosition: {
|
10
11
|
type: import("vue").PropType<DividerContentPosition>;
|
11
12
|
default: DividerContentPosition;
|
@@ -18,6 +19,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
18
19
|
type: BooleanConstructor;
|
19
20
|
default: true;
|
20
21
|
};
|
22
|
+
vertical: BooleanConstructor;
|
21
23
|
contentPosition: {
|
22
24
|
type: import("vue").PropType<DividerContentPosition>;
|
23
25
|
default: DividerContentPosition;
|
@@ -28,11 +30,13 @@ declare const _default: import("vue").DefineComponent<{
|
|
28
30
|
type: BooleanConstructor;
|
29
31
|
default: true;
|
30
32
|
};
|
33
|
+
vertical: BooleanConstructor;
|
31
34
|
contentPosition: {
|
32
35
|
type: import("vue").PropType<DividerContentPosition>;
|
33
36
|
default: DividerContentPosition;
|
34
37
|
};
|
35
38
|
}>>, {
|
39
|
+
vertical: boolean;
|
36
40
|
hairline: boolean;
|
37
41
|
dashed: boolean;
|
38
42
|
contentPosition: DividerContentPosition;
|
package/lib/divider/Divider.js
CHANGED
@@ -28,6 +28,7 @@ const [name, bem] = (0, import_utils.createNamespace)("divider");
|
|
28
28
|
const dividerProps = {
|
29
29
|
dashed: Boolean,
|
30
30
|
hairline: import_utils.truthProp,
|
31
|
+
vertical: Boolean,
|
31
32
|
contentPosition: (0, import_utils.makeStringProp)("center")
|
32
33
|
};
|
33
34
|
var stdin_default = (0, import_vue2.defineComponent)({
|
@@ -43,9 +44,10 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
43
44
|
"class": bem({
|
44
45
|
dashed: props.dashed,
|
45
46
|
hairline: props.hairline,
|
46
|
-
|
47
|
+
vertical: props.vertical,
|
48
|
+
[`content-${props.contentPosition}`]: !!slots.default && !props.vertical
|
47
49
|
})
|
48
|
-
}, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
50
|
+
}, [!props.vertical && ((_a = slots.default) == null ? void 0 : _a.call(slots))]);
|
49
51
|
};
|
50
52
|
}
|
51
53
|
});
|
package/lib/divider/index.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
:root{--van-divider-margin: var(--van-padding-md) 0;--van-divider-text-color: var(--van-text-color-2);--van-divider-font-size: var(--van-font-size-md);--van-divider-line-height: 24px;--van-divider-border-color: var(--van-border-color);--van-divider-content-padding: var(--van-padding-md);--van-divider-content-left-width: 10%;--van-divider-content-right-width: 10%}.van-divider{display:flex;align-items:center;margin:var(--van-divider-margin);color:var(--van-divider-text-color);font-size:var(--van-divider-font-size);line-height:var(--van-divider-line-height);border-color:var(--van-divider-border-color);border-style:solid;border-width:0}.van-divider:before,.van-divider:after{display:block;flex:1;box-sizing:border-box;height:1px;border-color:inherit;border-style:inherit;border-width:var(--van-border-width) 0 0}.van-divider:before{content:""}.van-divider--hairline:before,.van-divider--hairline:after{transform:scaleY(.5)}.van-divider--dashed{border-style:dashed}.van-divider--content-center:before,.van-divider--content-left:before,.van-divider--content-right:before{margin-right:var(--van-divider-content-padding)}.van-divider--content-center:after,.van-divider--content-left:after,.van-divider--content-right:after{margin-left:var(--van-divider-content-padding);content:""}.van-divider--content-left:before{max-width:var(--van-divider-content-left-width)}.van-divider--content-right:after{max-width:var(--van-divider-content-right-width)}
|
1
|
+
:root{--van-divider-margin: var(--van-padding-md) 0;--van-divider-vertical-margin: 0 var(--van-padding-xs);--van-divider-text-color: var(--van-text-color-2);--van-divider-font-size: var(--van-font-size-md);--van-divider-line-height: 24px;--van-divider-border-color: var(--van-border-color);--van-divider-content-padding: var(--van-padding-md);--van-divider-content-left-width: 10%;--van-divider-content-right-width: 10%}.van-divider{display:flex;align-items:center;margin:var(--van-divider-margin);color:var(--van-divider-text-color);font-size:var(--van-divider-font-size);line-height:var(--van-divider-line-height);border-color:var(--van-divider-border-color);border-style:solid;border-width:0}.van-divider:before,.van-divider:after{display:block;flex:1;box-sizing:border-box;height:1px;border-color:inherit;border-style:inherit;border-width:var(--van-border-width) 0 0}.van-divider:before{content:""}.van-divider--hairline:before,.van-divider--hairline:after{transform:scaleY(.5)}.van-divider--dashed{border-style:dashed}.van-divider--content-center:before,.van-divider--content-left:before,.van-divider--content-right:before{margin-right:var(--van-divider-content-padding)}.van-divider--content-center:after,.van-divider--content-left:after,.van-divider--content-right:after{margin-left:var(--van-divider-content-padding);content:""}.van-divider--content-left:before{max-width:var(--van-divider-content-left-width)}.van-divider--content-right:after{max-width:var(--van-divider-content-right-width)}.van-divider--vertical{display:inline-block;width:var(--van-border-width);height:1em;margin:var(--van-divider-vertical-margin);vertical-align:middle}.van-divider--vertical:before{height:100%;border-width:0 0 0 var(--van-border-width)}.van-divider--vertical:after{display:none}.van-divider--vertical.van-divider--hairline:before{transform:scaleX(.5)}
|
package/lib/divider/index.d.ts
CHANGED
@@ -4,6 +4,7 @@ export declare const Divider: import("../utils").WithInstall<import("vue").Defin
|
|
4
4
|
type: BooleanConstructor;
|
5
5
|
default: true;
|
6
6
|
};
|
7
|
+
vertical: BooleanConstructor;
|
7
8
|
contentPosition: {
|
8
9
|
type: import("vue").PropType<import("./Divider").DividerContentPosition>;
|
9
10
|
default: import("./Divider").DividerContentPosition;
|
@@ -14,11 +15,13 @@ export declare const Divider: import("../utils").WithInstall<import("vue").Defin
|
|
14
15
|
type: BooleanConstructor;
|
15
16
|
default: true;
|
16
17
|
};
|
18
|
+
vertical: BooleanConstructor;
|
17
19
|
contentPosition: {
|
18
20
|
type: import("vue").PropType<import("./Divider").DividerContentPosition>;
|
19
21
|
default: import("./Divider").DividerContentPosition;
|
20
22
|
};
|
21
23
|
}>>, {
|
24
|
+
vertical: boolean;
|
22
25
|
hairline: boolean;
|
23
26
|
dashed: boolean;
|
24
27
|
contentPosition: import("./Divider").DividerContentPosition;
|
@@ -34,6 +34,7 @@ const getCenter = (touches) => ({
|
|
34
34
|
y: (touches[0].clientY + touches[1].clientY) / 2
|
35
35
|
});
|
36
36
|
const bem = (0, import_utils.createNamespace)("image-preview")[1];
|
37
|
+
const longImageRatio = 2.6;
|
37
38
|
var stdin_default = (0, import_vue2.defineComponent)({
|
38
39
|
props: {
|
39
40
|
src: String,
|
@@ -56,21 +57,14 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
56
57
|
moveY: 0,
|
57
58
|
moving: false,
|
58
59
|
zooming: false,
|
59
|
-
imageRatio: 0
|
60
|
-
displayWidth: 0,
|
61
|
-
displayHeight: 0
|
60
|
+
imageRatio: 0
|
62
61
|
});
|
63
62
|
const touch = (0, import_use_touch.useTouch)();
|
64
63
|
const imageRef = (0, import_vue2.ref)();
|
65
64
|
const swipeItem = (0, import_vue2.ref)();
|
66
|
-
const vertical = (0, import_vue2.
|
67
|
-
|
68
|
-
|
69
|
-
rootHeight
|
70
|
-
} = props;
|
71
|
-
const rootRatio = rootHeight / rootWidth;
|
72
|
-
return state.imageRatio > rootRatio;
|
73
|
-
});
|
65
|
+
const vertical = (0, import_vue2.ref)(false);
|
66
|
+
const isLongImage = (0, import_vue2.ref)(false);
|
67
|
+
let initialMoveY = 0;
|
74
68
|
const imageStyle = (0, import_vue2.computed)(() => {
|
75
69
|
const {
|
76
70
|
scale,
|
@@ -82,7 +76,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
82
76
|
const style = {
|
83
77
|
transitionDuration: zooming || moving ? "0s" : ".3s"
|
84
78
|
};
|
85
|
-
if (scale !== 1) {
|
79
|
+
if (scale !== 1 || isLongImage.value) {
|
86
80
|
style.transform = `matrix(${scale}, 0, 0, ${scale}, ${moveX}, ${moveY})`;
|
87
81
|
}
|
88
82
|
return style;
|
@@ -127,7 +121,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
127
121
|
state.moveY = (0, import_utils.clamp)(moveY, -maxMoveY.value, maxMoveY.value);
|
128
122
|
} else {
|
129
123
|
state.moveX = 0;
|
130
|
-
state.moveY = 0;
|
124
|
+
state.moveY = isLongImage.value ? initialMoveY : 0;
|
131
125
|
}
|
132
126
|
emit("scale", {
|
133
127
|
scale,
|
@@ -140,7 +134,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
140
134
|
};
|
141
135
|
const toggleScale = () => {
|
142
136
|
const scale = state.scale > 1 ? 1 : 2;
|
143
|
-
setScale(scale, scale === 2 ? {
|
137
|
+
setScale(scale, scale === 2 || isLongImage.value ? {
|
144
138
|
x: touch.startX.value,
|
145
139
|
y: touch.startY.value
|
146
140
|
} : void 0);
|
@@ -170,7 +164,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
170
164
|
startMoveY = state.moveY;
|
171
165
|
touchStartTime = Date.now();
|
172
166
|
isImageMoved = false;
|
173
|
-
state.moving = fingerNum === 1 && state.scale !== 1;
|
167
|
+
state.moving = fingerNum === 1 && (state.scale !== 1 || isLongImage.value);
|
174
168
|
state.zooming = fingerNum === 2 && !offsetX.value;
|
175
169
|
if (state.zooming) {
|
176
170
|
startScale = state.scale;
|
@@ -266,12 +260,30 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
266
260
|
checkTap();
|
267
261
|
touch.reset();
|
268
262
|
};
|
263
|
+
const resize = () => {
|
264
|
+
const {
|
265
|
+
rootWidth,
|
266
|
+
rootHeight
|
267
|
+
} = props;
|
268
|
+
const rootRatio = rootHeight / rootWidth;
|
269
|
+
const {
|
270
|
+
imageRatio
|
271
|
+
} = state;
|
272
|
+
vertical.value = state.imageRatio > rootRatio && imageRatio < longImageRatio;
|
273
|
+
isLongImage.value = state.imageRatio > rootRatio && imageRatio >= longImageRatio;
|
274
|
+
if (isLongImage.value) {
|
275
|
+
initialMoveY = (imageRatio * rootWidth - rootHeight) / 2;
|
276
|
+
state.moveY = initialMoveY;
|
277
|
+
}
|
278
|
+
resetScale();
|
279
|
+
};
|
269
280
|
const onLoad = (event) => {
|
270
281
|
const {
|
271
282
|
naturalWidth,
|
272
283
|
naturalHeight
|
273
284
|
} = event.target;
|
274
285
|
state.imageRatio = naturalHeight / naturalWidth;
|
286
|
+
resize();
|
275
287
|
};
|
276
288
|
(0, import_vue2.watch)(() => props.active, resetScale);
|
277
289
|
(0, import_vue2.watch)(() => props.show, (value) => {
|
@@ -279,6 +291,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
279
291
|
resetScale();
|
280
292
|
}
|
281
293
|
});
|
294
|
+
(0, import_vue2.watch)(() => [props.rootWidth, props.rootHeight], resize);
|
282
295
|
(0, import_use.useEventListener)("touchmove", onTouchMove, {
|
283
296
|
target: (0, import_vue2.computed)(() => {
|
284
297
|
var _a;
|