vant 4.6.4-beta.2 → 4.6.5
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/README.md +4 -1
- package/es/dropdown-menu/DropdownMenu.d.ts +3 -0
- package/es/dropdown-menu/DropdownMenu.mjs +7 -3
- package/es/dropdown-menu/index.css +1 -1
- package/es/dropdown-menu/index.d.ts +2 -0
- package/es/floating-bubble/FloatingBubble.mjs +6 -4
- package/es/floating-panel/FloatingPanel.d.ts +4 -0
- package/es/floating-panel/FloatingPanel.mjs +14 -8
- package/es/floating-panel/index.d.ts +3 -0
- package/es/image-preview/ImagePreview.d.ts +13 -0
- package/es/image-preview/ImagePreview.mjs +2 -0
- package/es/image-preview/ImagePreviewItem.d.ts +3 -0
- package/es/image-preview/ImagePreviewItem.mjs +8 -3
- package/es/image-preview/function-call.mjs +1 -0
- package/es/image-preview/index.d.ts +9 -0
- package/es/image-preview/types.d.ts +1 -0
- package/es/index.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/es/list/List.d.ts +7 -4
- package/es/list/List.mjs +5 -3
- package/es/list/index.d.ts +2 -0
- package/es/locale/lang/sr-RS.d.ts +63 -0
- package/es/locale/lang/sr-RS.mjs +73 -0
- package/es/text-ellipsis/TextEllipsis.mjs +7 -7
- package/es/toast/index.d.ts +1 -1
- package/lib/dropdown-menu/DropdownMenu.d.ts +3 -0
- package/lib/dropdown-menu/DropdownMenu.js +7 -3
- package/lib/dropdown-menu/index.css +1 -1
- package/lib/dropdown-menu/index.d.ts +2 -0
- package/lib/floating-bubble/FloatingBubble.js +5 -3
- package/lib/floating-panel/FloatingPanel.d.ts +4 -0
- package/lib/floating-panel/FloatingPanel.js +12 -6
- package/lib/floating-panel/index.d.ts +3 -0
- package/lib/image-preview/ImagePreview.d.ts +13 -0
- package/lib/image-preview/ImagePreview.js +2 -0
- package/lib/image-preview/ImagePreviewItem.d.ts +3 -0
- package/lib/image-preview/ImagePreviewItem.js +8 -3
- package/lib/image-preview/function-call.js +1 -0
- package/lib/image-preview/index.d.ts +9 -0
- package/lib/image-preview/types.d.ts +1 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/list/List.d.ts +7 -4
- package/lib/list/List.js +4 -2
- package/lib/list/index.d.ts +2 -0
- package/lib/locale/lang/sr-RS.d.ts +63 -0
- package/lib/locale/lang/sr-RS.js +92 -0
- package/lib/text-ellipsis/TextEllipsis.js +7 -7
- package/lib/toast/index.d.ts +1 -1
- package/lib/vant.cjs.js +47 -25
- package/lib/vant.es.js +47 -25
- package/lib/vant.js +47 -25
- package/lib/vant.min.js +1 -1
- package/lib/web-types.json +1 -1
- package/package.json +3 -3
@@ -0,0 +1,73 @@
|
|
1
|
+
var stdin_default = {
|
2
|
+
name: "Ime i prezime",
|
3
|
+
tel: "Broj telefona",
|
4
|
+
save: "Sa\u010Duvaj",
|
5
|
+
clear: "Prazno",
|
6
|
+
cancel: "Otka\u017Ei",
|
7
|
+
confirm: "Potvrdi",
|
8
|
+
delete: "Brisanje",
|
9
|
+
loading: "U\u010Ditavanje...",
|
10
|
+
noCoupon: "Jo\u0161 nema kupona",
|
11
|
+
nameEmpty: "Molimo unesite ime",
|
12
|
+
addContact: "Dodaj kontakte",
|
13
|
+
telInvalid: "Molimo unesite broj telefona",
|
14
|
+
vanCalendar: {
|
15
|
+
end: "Zavr\u0161etak",
|
16
|
+
start: "Po\u010Detak",
|
17
|
+
title: "Izaberite Datum",
|
18
|
+
weekdays: [
|
19
|
+
"Nedelja",
|
20
|
+
"Ponedeljak",
|
21
|
+
"Utorak",
|
22
|
+
"Sreda",
|
23
|
+
"\u010Cetvrtak",
|
24
|
+
"Petak",
|
25
|
+
"Subota"
|
26
|
+
],
|
27
|
+
monthTitle: (year, month) => `${year}/${month}`,
|
28
|
+
rangePrompt: (maxRange) => `Izaberite do ${maxRange} dana`
|
29
|
+
},
|
30
|
+
vanCascader: {
|
31
|
+
select: "Molimo izaberite "
|
32
|
+
},
|
33
|
+
vanPagination: {
|
34
|
+
prev: "Prethodna strana",
|
35
|
+
next: "Sledec\u0301a strana"
|
36
|
+
},
|
37
|
+
vanPullRefresh: {
|
38
|
+
pulling: "Prevucite nadole da osve\u017Eite...",
|
39
|
+
loosing: "Otpustite da osve\u017Eite..."
|
40
|
+
},
|
41
|
+
vanSubmitBar: {
|
42
|
+
label: "Ukupno:"
|
43
|
+
},
|
44
|
+
vanCoupon: {
|
45
|
+
unlimited: "No threshold",
|
46
|
+
discount: (discount) => `${discount} puta`,
|
47
|
+
condition: (condition) => `Dostupno za preko ${condition} juana`
|
48
|
+
},
|
49
|
+
vanCouponCell: {
|
50
|
+
title: "Kupon",
|
51
|
+
count: (count) => `Dostupan ${count}`
|
52
|
+
},
|
53
|
+
vanCouponList: {
|
54
|
+
exchange: "Razmeni",
|
55
|
+
close: "Ne koristi",
|
56
|
+
enable: "Iskoristi",
|
57
|
+
disabled: "Nedostupno",
|
58
|
+
placeholder: "Unesite promo kod"
|
59
|
+
},
|
60
|
+
vanAddressEdit: {
|
61
|
+
area: "Region",
|
62
|
+
areaEmpty: "Molimo odaberite region",
|
63
|
+
addressEmpty: "Molimo upi\u0161ite adresu",
|
64
|
+
addressDetail: "Adresa",
|
65
|
+
defaultAddress: "Postavi kao podrazumevanu adresu za isporuku"
|
66
|
+
},
|
67
|
+
vanAddressList: {
|
68
|
+
add: "Dodaj adresu"
|
69
|
+
}
|
70
|
+
};
|
71
|
+
export {
|
72
|
+
stdin_default as default
|
73
|
+
};
|
@@ -22,7 +22,7 @@ var stdin_default = defineComponent({
|
|
22
22
|
const expanded = ref(false);
|
23
23
|
const hasAction = ref(false);
|
24
24
|
const root = ref();
|
25
|
-
const actionText = computed(() => expanded.value ? props.
|
25
|
+
const actionText = computed(() => expanded.value ? props.collapseText : props.expandText);
|
26
26
|
const pxToNum = (value) => {
|
27
27
|
if (!value)
|
28
28
|
return 0;
|
@@ -64,7 +64,7 @@ var stdin_default = defineComponent({
|
|
64
64
|
}
|
65
65
|
return dots + content.slice(right, end);
|
66
66
|
}
|
67
|
-
const middle2 = Math.round(left + right
|
67
|
+
const middle2 = Math.round((left + right) / 2);
|
68
68
|
if (position === "end") {
|
69
69
|
container2.innerText = content.slice(0, middle2) + dots + actionText.value;
|
70
70
|
} else {
|
@@ -85,11 +85,11 @@ var stdin_default = defineComponent({
|
|
85
85
|
};
|
86
86
|
const middleTail = (leftPart, rightPart) => {
|
87
87
|
if (leftPart[1] - leftPart[0] <= 1 && rightPart[1] - rightPart[0] <= 1) {
|
88
|
-
return content.slice(0, leftPart[
|
88
|
+
return content.slice(0, leftPart[0]) + dots + content.slice(rightPart[1], end);
|
89
89
|
}
|
90
|
-
const leftMiddle = Math.floor(leftPart[0] + leftPart[1]
|
91
|
-
const rightMiddle = Math.ceil(rightPart[0] + rightPart[1]
|
92
|
-
container2.innerText = props.content.slice(0, leftMiddle) + props.dots +
|
90
|
+
const leftMiddle = Math.floor((leftPart[0] + leftPart[1]) / 2);
|
91
|
+
const rightMiddle = Math.ceil((rightPart[0] + rightPart[1]) / 2);
|
92
|
+
container2.innerText = props.content.slice(0, leftMiddle) + props.dots + props.content.slice(rightMiddle, end) + props.expandText;
|
93
93
|
if (container2.offsetHeight >= maxHeight2) {
|
94
94
|
return middleTail([leftPart[0], leftMiddle], [rightMiddle, rightPart[1]]);
|
95
95
|
}
|
@@ -124,7 +124,7 @@ var stdin_default = defineComponent({
|
|
124
124
|
const renderAction = () => _createVNode("span", {
|
125
125
|
"class": bem("action"),
|
126
126
|
"onClick": onClickAction
|
127
|
-
}, [
|
127
|
+
}, [actionText.value]);
|
128
128
|
onMounted(calcEllipsised);
|
129
129
|
watch(() => [props.content, props.rows, props.position], calcEllipsised);
|
130
130
|
useEventListener("resize", calcEllipsised);
|
package/es/toast/index.d.ts
CHANGED
@@ -79,7 +79,7 @@ export default Toast;
|
|
79
79
|
export { toastProps } from './Toast';
|
80
80
|
export { showToast, closeToast, showFailToast, showLoadingToast, showSuccessToast, allowMultipleToast, setToastDefaultOptions, resetToastDefaultOptions, } from './function-call';
|
81
81
|
export type { ToastProps } from './Toast';
|
82
|
-
export type { ToastType, ToastOptions, ToastPosition, ToastThemeVars, ToastWordBreak, } from './types';
|
82
|
+
export type { ToastType, ToastOptions, ToastPosition, ToastThemeVars, ToastWordBreak, ToastWrapperInstance, } from './types';
|
83
83
|
declare module 'vue' {
|
84
84
|
interface GlobalComponents {
|
85
85
|
VanToast: typeof Toast;
|
@@ -23,6 +23,7 @@ export declare const dropdownMenuProps: {
|
|
23
23
|
type: BooleanConstructor;
|
24
24
|
default: true;
|
25
25
|
};
|
26
|
+
swipeThreshold: (NumberConstructor | StringConstructor)[];
|
26
27
|
};
|
27
28
|
export type DropdownMenuProps = ExtractPropTypes<typeof dropdownMenuProps>;
|
28
29
|
export declare const DROPDOWN_KEY: InjectionKey<DropdownMenuProvide>;
|
@@ -49,6 +50,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
49
50
|
type: BooleanConstructor;
|
50
51
|
default: true;
|
51
52
|
};
|
53
|
+
swipeThreshold: (NumberConstructor | StringConstructor)[];
|
52
54
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
|
53
55
|
overlay: {
|
54
56
|
type: BooleanConstructor;
|
@@ -72,6 +74,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
72
74
|
type: BooleanConstructor;
|
73
75
|
default: true;
|
74
76
|
};
|
77
|
+
swipeThreshold: (NumberConstructor | StringConstructor)[];
|
75
78
|
}>>, {
|
76
79
|
overlay: boolean;
|
77
80
|
duration: string | number;
|
@@ -36,7 +36,8 @@ const dropdownMenuProps = {
|
|
36
36
|
direction: (0, import_utils.makeStringProp)("down"),
|
37
37
|
activeColor: String,
|
38
38
|
closeOnClickOutside: import_utils.truthProp,
|
39
|
-
closeOnClickOverlay: import_utils.truthProp
|
39
|
+
closeOnClickOverlay: import_utils.truthProp,
|
40
|
+
swipeThreshold: import_utils.numericProp
|
40
41
|
};
|
41
42
|
const DROPDOWN_KEY = Symbol(name);
|
42
43
|
var stdin_default = (0, import_vue2.defineComponent)({
|
@@ -55,6 +56,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
55
56
|
} = (0, import_use.useChildren)(DROPDOWN_KEY);
|
56
57
|
const scrollParent = (0, import_use.useScrollParent)(root);
|
57
58
|
const opened = (0, import_vue2.computed)(() => children.some((item) => item.state.showWrapper));
|
59
|
+
const scrollable = (0, import_vue2.computed)(() => props.swipeThreshold && children.length > +props.swipeThreshold);
|
58
60
|
const barStyle = (0, import_vue2.computed)(() => {
|
59
61
|
if (opened.value && (0, import_utils.isDef)(props.zIndex)) {
|
60
62
|
return {
|
@@ -111,7 +113,8 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
111
113
|
"role": "button",
|
112
114
|
"tabindex": disabled ? void 0 : 0,
|
113
115
|
"class": [bem("item", {
|
114
|
-
disabled
|
116
|
+
disabled,
|
117
|
+
grow: scrollable.value
|
115
118
|
}), {
|
116
119
|
[import_utils.HAPTICS_FEEDBACK]: !disabled
|
117
120
|
}],
|
@@ -155,7 +158,8 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
155
158
|
"ref": barRef,
|
156
159
|
"style": barStyle.value,
|
157
160
|
"class": bem("bar", {
|
158
|
-
opened: opened.value
|
161
|
+
opened: opened.value,
|
162
|
+
scrollable: scrollable.value
|
159
163
|
})
|
160
164
|
}, [children.map(renderTitle)]), (_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
161
165
|
};
|
@@ -1 +1 @@
|
|
1
|
-
:root{--van-dropdown-menu-height: 48px;--van-dropdown-menu-background: var(--van-background-2);--van-dropdown-menu-shadow: 0 2px 12px rgba(100, 101, 102, .12);--van-dropdown-menu-title-font-size: 15px;--van-dropdown-menu-title-text-color: var(--van-text-color);--van-dropdown-menu-title-active-text-color: var(--van-primary-color);--van-dropdown-menu-title-disabled-text-color: var(--van-text-color-2);--van-dropdown-menu-title-padding: 0 var(--van-padding-xs);--van-dropdown-menu-title-line-height: var(--van-line-height-lg);--van-dropdown-menu-option-active-color: var(--van-primary-color);--van-dropdown-menu-content-max-height: 80%}.van-dropdown-menu{-webkit-user-select:none;user-select:none}.van-dropdown-menu__bar{position:relative;display:flex;height:var(--van-dropdown-menu-height);background:var(--van-dropdown-menu-background);box-shadow:var(--van-dropdown-menu-shadow)}.van-dropdown-menu__bar--opened{z-index:calc(var(--van-dropdown-item-z-index) + 1)}.van-dropdown-menu__item{display:flex;flex:1;align-items:center;justify-content:center;min-width:0}.van-dropdown-menu__item--disabled .van-dropdown-menu__title{color:var(--van-dropdown-menu-title-disabled-text-color)}.van-dropdown-menu__title{position:relative;box-sizing:border-box;max-width:100%;padding:var(--van-dropdown-menu-title-padding);color:var(--van-dropdown-menu-title-text-color);font-size:var(--van-dropdown-menu-title-font-size);line-height:var(--van-dropdown-menu-title-line-height)}.van-dropdown-menu__title:after{position:absolute;top:50%;right:-4px;margin-top:-5px;border:3px solid;border-color:transparent transparent var(--van-gray-4) var(--van-gray-4);transform:rotate(-45deg);opacity:.8;content:""}.van-dropdown-menu__title--active{color:var(--van-dropdown-menu-title-active-text-color)}.van-dropdown-menu__title--active:after{border-color:transparent transparent currentColor currentColor}.van-dropdown-menu__title--down:after{margin-top:-1px;transform:rotate(135deg)}
|
1
|
+
:root{--van-dropdown-menu-height: 48px;--van-dropdown-menu-background: var(--van-background-2);--van-dropdown-menu-shadow: 0 2px 12px rgba(100, 101, 102, .12);--van-dropdown-menu-title-font-size: 15px;--van-dropdown-menu-title-text-color: var(--van-text-color);--van-dropdown-menu-title-active-text-color: var(--van-primary-color);--van-dropdown-menu-title-disabled-text-color: var(--van-text-color-2);--van-dropdown-menu-title-padding: 0 var(--van-padding-xs);--van-dropdown-menu-title-line-height: var(--van-line-height-lg);--van-dropdown-menu-option-active-color: var(--van-primary-color);--van-dropdown-menu-content-max-height: 80%}.van-dropdown-menu{-webkit-user-select:none;user-select:none}.van-dropdown-menu__bar{position:relative;display:flex;height:var(--van-dropdown-menu-height);background:var(--van-dropdown-menu-background);box-shadow:var(--van-dropdown-menu-shadow)}.van-dropdown-menu__bar--opened{z-index:calc(var(--van-dropdown-item-z-index) + 1)}.van-dropdown-menu__bar--scrollable{padding-left:var(--van-padding-base);padding-right:var(--van-padding-xs);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.van-dropdown-menu__bar--scrollable::-webkit-scrollbar{display:none}.van-dropdown-menu__item{display:flex;flex:1;align-items:center;justify-content:center;min-width:0}.van-dropdown-menu__item--disabled .van-dropdown-menu__title{color:var(--van-dropdown-menu-title-disabled-text-color)}.van-dropdown-menu__item--grow{flex:1 0 auto;padding-left:var(--van-padding-base);padding-right:var(--van-padding-sm)}.van-dropdown-menu__title{position:relative;box-sizing:border-box;max-width:100%;padding:var(--van-dropdown-menu-title-padding);color:var(--van-dropdown-menu-title-text-color);font-size:var(--van-dropdown-menu-title-font-size);line-height:var(--van-dropdown-menu-title-line-height)}.van-dropdown-menu__title:after{position:absolute;top:50%;right:-4px;margin-top:-5px;border:3px solid;border-color:transparent transparent var(--van-gray-4) var(--van-gray-4);transform:rotate(-45deg);opacity:.8;content:""}.van-dropdown-menu__title--active{color:var(--van-dropdown-menu-title-active-text-color)}.van-dropdown-menu__title--active:after{border-color:transparent transparent currentColor currentColor}.van-dropdown-menu__title--down:after{margin-top:-1px;transform:rotate(135deg)}
|
@@ -22,6 +22,7 @@ export declare const DropdownMenu: import("../utils").WithInstall<import("vue").
|
|
22
22
|
type: BooleanConstructor;
|
23
23
|
default: true;
|
24
24
|
};
|
25
|
+
swipeThreshold: (NumberConstructor | StringConstructor)[];
|
25
26
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
26
27
|
overlay: {
|
27
28
|
type: BooleanConstructor;
|
@@ -45,6 +46,7 @@ export declare const DropdownMenu: import("../utils").WithInstall<import("vue").
|
|
45
46
|
type: BooleanConstructor;
|
46
47
|
default: true;
|
47
48
|
};
|
49
|
+
swipeThreshold: (NumberConstructor | StringConstructor)[];
|
48
50
|
}>>, {
|
49
51
|
overlay: boolean;
|
50
52
|
duration: string | number;
|
@@ -57,11 +57,13 @@ const floatingBubbleProps = {
|
|
57
57
|
const [name, bem] = (0, import_utils.createNamespace)("floating-bubble");
|
58
58
|
var stdin_default = (0, import_vue2.defineComponent)({
|
59
59
|
name,
|
60
|
+
inheritAttrs: false,
|
60
61
|
props: floatingBubbleProps,
|
61
62
|
emits: ["click", "update:offset", "offsetChange"],
|
62
63
|
setup(props, {
|
63
64
|
slots,
|
64
|
-
emit
|
65
|
+
emit,
|
66
|
+
attrs
|
65
67
|
}) {
|
66
68
|
const rootRef = (0, import_vue2.ref)();
|
67
69
|
const state = (0, import_vue2.ref)({
|
@@ -182,7 +184,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
182
184
|
}
|
183
185
|
});
|
184
186
|
return () => {
|
185
|
-
const Content = (0, import_vue.withDirectives)((0, import_vue.createVNode)("div", {
|
187
|
+
const Content = (0, import_vue.withDirectives)((0, import_vue.createVNode)("div", (0, import_vue.mergeProps)({
|
186
188
|
"class": bem(),
|
187
189
|
"ref": rootRef,
|
188
190
|
"onTouchstartPassive": onTouchStart,
|
@@ -190,7 +192,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
190
192
|
"onTouchcancel": onTouchEnd,
|
191
193
|
"onClick": onClick,
|
192
194
|
"style": rootStyle.value
|
193
|
-
}, [slots.default ? slots.default() : (0, import_vue.createVNode)(import_icon.default, {
|
195
|
+
}, attrs), [slots.default ? slots.default() : (0, import_vue.createVNode)(import_icon.default, {
|
194
196
|
"name": props.icon,
|
195
197
|
"class": bem("icon")
|
196
198
|
}, null)]), [[import_vue.vShow, show.value]]);
|
@@ -16,6 +16,7 @@ export declare const floatingPanelProps: {
|
|
16
16
|
type: BooleanConstructor;
|
17
17
|
default: true;
|
18
18
|
};
|
19
|
+
lockScroll: BooleanConstructor;
|
19
20
|
safeAreaInsetBottom: {
|
20
21
|
type: BooleanConstructor;
|
21
22
|
default: true;
|
@@ -39,6 +40,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
39
40
|
type: BooleanConstructor;
|
40
41
|
default: true;
|
41
42
|
};
|
43
|
+
lockScroll: BooleanConstructor;
|
42
44
|
safeAreaInsetBottom: {
|
43
45
|
type: BooleanConstructor;
|
44
46
|
default: true;
|
@@ -60,6 +62,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
60
62
|
type: BooleanConstructor;
|
61
63
|
default: true;
|
62
64
|
};
|
65
|
+
lockScroll: BooleanConstructor;
|
63
66
|
safeAreaInsetBottom: {
|
64
67
|
type: BooleanConstructor;
|
65
68
|
default: true;
|
@@ -71,6 +74,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
71
74
|
height: string | number;
|
72
75
|
safeAreaInsetBottom: boolean;
|
73
76
|
duration: string | number;
|
77
|
+
lockScroll: boolean;
|
74
78
|
anchors: number[];
|
75
79
|
contentDraggable: boolean;
|
76
80
|
}, {}>;
|
@@ -33,10 +33,10 @@ const floatingPanelProps = {
|
|
33
33
|
anchors: (0, import_utils.makeArrayProp)(),
|
34
34
|
duration: (0, import_utils.makeNumericProp)(0.2),
|
35
35
|
contentDraggable: import_utils.truthProp,
|
36
|
+
lockScroll: Boolean,
|
36
37
|
safeAreaInsetBottom: import_utils.truthProp
|
37
38
|
};
|
38
39
|
const [name, bem] = (0, import_utils.createNamespace)("floating-panel");
|
39
|
-
const DAMP = 0.2;
|
40
40
|
var stdin_default = (0, import_vue2.defineComponent)({
|
41
41
|
name,
|
42
42
|
props: floatingPanelProps,
|
@@ -45,6 +45,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
45
45
|
emit,
|
46
46
|
slots
|
47
47
|
}) {
|
48
|
+
const DAMP = 0.2;
|
48
49
|
const rootRef = (0, import_vue2.ref)();
|
49
50
|
const contentRef = (0, import_vue2.ref)();
|
50
51
|
const height = (0, import_use_sync_prop_ref.useSyncPropRef)(() => +props.height, (value) => emit("update:height", value));
|
@@ -77,24 +78,28 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
77
78
|
return moveY;
|
78
79
|
};
|
79
80
|
let startY;
|
81
|
+
let maxScroll = -1;
|
80
82
|
const touch = (0, import_use_touch.useTouch)();
|
81
83
|
const onTouchstart = (e) => {
|
82
84
|
touch.start(e);
|
83
85
|
dragging.value = true;
|
84
86
|
startY = -height.value;
|
87
|
+
maxScroll = -1;
|
85
88
|
};
|
86
89
|
const onTouchmove = (e) => {
|
87
90
|
var _a;
|
88
91
|
touch.move(e);
|
89
92
|
const target = e.target;
|
90
93
|
if (contentRef.value === target || ((_a = contentRef.value) == null ? void 0 : _a.contains(target))) {
|
94
|
+
const {
|
95
|
+
scrollTop
|
96
|
+
} = contentRef.value;
|
97
|
+
maxScroll = Math.max(maxScroll, scrollTop);
|
91
98
|
if (!props.contentDraggable)
|
92
99
|
return;
|
93
100
|
if (-startY < boundary.value.max) {
|
94
|
-
|
95
|
-
|
96
|
-
e.stopPropagation();
|
97
|
-
} else if (!(contentRef.value.scrollTop <= 0 && touch.deltaY.value > 0)) {
|
101
|
+
(0, import_utils.preventDefault)(e, true);
|
102
|
+
} else if (!(scrollTop <= 0 && touch.deltaY.value > 0) || maxScroll > 0) {
|
98
103
|
return;
|
99
104
|
}
|
100
105
|
}
|
@@ -102,6 +107,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
102
107
|
height.value = -ease(moveY);
|
103
108
|
};
|
104
109
|
const onTouchend = () => {
|
110
|
+
maxScroll = -1;
|
105
111
|
dragging.value = false;
|
106
112
|
height.value = (0, import_utils.closest)(anchors.value, height.value);
|
107
113
|
if (height.value !== -startY) {
|
@@ -115,7 +121,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
115
121
|
}, {
|
116
122
|
immediate: true
|
117
123
|
});
|
118
|
-
(0, import_use_lock_scroll.useLockScroll)(rootRef, () =>
|
124
|
+
(0, import_use_lock_scroll.useLockScroll)(rootRef, () => props.lockScroll);
|
119
125
|
(0, import_use.useEventListener)("touchmove", onTouchmove, {
|
120
126
|
target: rootRef
|
121
127
|
});
|
@@ -15,6 +15,7 @@ export declare const FloatingPanel: import("../utils").WithInstall<import("vue")
|
|
15
15
|
type: BooleanConstructor;
|
16
16
|
default: true;
|
17
17
|
};
|
18
|
+
lockScroll: BooleanConstructor;
|
18
19
|
safeAreaInsetBottom: {
|
19
20
|
type: BooleanConstructor;
|
20
21
|
default: true;
|
@@ -36,6 +37,7 @@ export declare const FloatingPanel: import("../utils").WithInstall<import("vue")
|
|
36
37
|
type: BooleanConstructor;
|
37
38
|
default: true;
|
38
39
|
};
|
40
|
+
lockScroll: BooleanConstructor;
|
39
41
|
safeAreaInsetBottom: {
|
40
42
|
type: BooleanConstructor;
|
41
43
|
default: true;
|
@@ -47,6 +49,7 @@ export declare const FloatingPanel: import("../utils").WithInstall<import("vue")
|
|
47
49
|
height: string | number;
|
48
50
|
safeAreaInsetBottom: boolean;
|
49
51
|
duration: string | number;
|
52
|
+
lockScroll: boolean;
|
50
53
|
anchors: number[];
|
51
54
|
contentDraggable: boolean;
|
52
55
|
}, {}>>;
|
@@ -50,6 +50,10 @@ export declare const imagePreviewProps: {
|
|
50
50
|
type: BooleanConstructor;
|
51
51
|
default: true;
|
52
52
|
};
|
53
|
+
closeOnClickOverlay: {
|
54
|
+
type: BooleanConstructor;
|
55
|
+
default: true;
|
56
|
+
};
|
53
57
|
closeIconPosition: {
|
54
58
|
type: PropType<PopupCloseIconPosition>;
|
55
59
|
default: PopupCloseIconPosition;
|
@@ -106,6 +110,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
106
110
|
type: BooleanConstructor;
|
107
111
|
default: true;
|
108
112
|
};
|
113
|
+
closeOnClickOverlay: {
|
114
|
+
type: BooleanConstructor;
|
115
|
+
default: true;
|
116
|
+
};
|
109
117
|
closeIconPosition: {
|
110
118
|
type: PropType<PopupCloseIconPosition>;
|
111
119
|
default: PopupCloseIconPosition;
|
@@ -160,6 +168,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
160
168
|
type: BooleanConstructor;
|
161
169
|
default: true;
|
162
170
|
};
|
171
|
+
closeOnClickOverlay: {
|
172
|
+
type: BooleanConstructor;
|
173
|
+
default: true;
|
174
|
+
};
|
163
175
|
closeIconPosition: {
|
164
176
|
type: PropType<PopupCloseIconPosition>;
|
165
177
|
default: PopupCloseIconPosition;
|
@@ -176,6 +188,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
176
188
|
loop: boolean;
|
177
189
|
overlay: boolean;
|
178
190
|
show: boolean;
|
191
|
+
closeOnClickOverlay: boolean;
|
179
192
|
closeIcon: string;
|
180
193
|
closeable: boolean;
|
181
194
|
closeOnPopstate: boolean;
|
@@ -61,6 +61,7 @@ const imagePreviewProps = {
|
|
61
61
|
startPosition: (0, import_utils.makeNumericProp)(0),
|
62
62
|
showIndicators: Boolean,
|
63
63
|
closeOnPopstate: import_utils.truthProp,
|
64
|
+
closeOnClickOverlay: import_utils.truthProp,
|
64
65
|
closeIconPosition: (0, import_utils.makeStringProp)("top-right"),
|
65
66
|
teleport: [String, Object]
|
66
67
|
};
|
@@ -145,6 +146,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
145
146
|
"rootWidth": state.rootWidth,
|
146
147
|
"rootHeight": state.rootHeight,
|
147
148
|
"disableZoom": state.disableZoom,
|
149
|
+
"closeOnClickOverlay": props.closeOnClickOverlay,
|
148
150
|
"onScale": emitScale,
|
149
151
|
"onClose": emitClose,
|
150
152
|
"onLongPress": () => emit("longPress", {
|
@@ -19,6 +19,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
19
19
|
required: true;
|
20
20
|
};
|
21
21
|
disableZoom: BooleanConstructor;
|
22
|
+
closeOnClickOverlay: BooleanConstructor;
|
22
23
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "scale" | "longPress")[], "close" | "scale" | "longPress", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
23
24
|
src: StringConstructor;
|
24
25
|
show: BooleanConstructor;
|
@@ -40,12 +41,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
40
41
|
required: true;
|
41
42
|
};
|
42
43
|
disableZoom: BooleanConstructor;
|
44
|
+
closeOnClickOverlay: BooleanConstructor;
|
43
45
|
}>> & {
|
44
46
|
onClose?: ((...args: any[]) => any) | undefined;
|
45
47
|
onScale?: ((...args: any[]) => any) | undefined;
|
46
48
|
onLongPress?: ((...args: any[]) => any) | undefined;
|
47
49
|
}, {
|
48
50
|
show: boolean;
|
51
|
+
closeOnClickOverlay: boolean;
|
49
52
|
disableZoom: boolean;
|
50
53
|
}, {}>;
|
51
54
|
export default _default;
|
@@ -44,7 +44,8 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
44
44
|
maxZoom: (0, import_utils.makeRequiredProp)(import_utils.numericProp),
|
45
45
|
rootWidth: (0, import_utils.makeRequiredProp)(Number),
|
46
46
|
rootHeight: (0, import_utils.makeRequiredProp)(Number),
|
47
|
-
disableZoom: Boolean
|
47
|
+
disableZoom: Boolean,
|
48
|
+
closeOnClickOverlay: Boolean
|
48
49
|
},
|
49
50
|
emits: ["scale", "close", "longPress"],
|
50
51
|
setup(props, {
|
@@ -204,7 +205,8 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
204
205
|
}
|
205
206
|
}
|
206
207
|
};
|
207
|
-
const checkTap = () => {
|
208
|
+
const checkTap = (event) => {
|
209
|
+
var _a;
|
208
210
|
if (fingerNum > 1) {
|
209
211
|
return;
|
210
212
|
}
|
@@ -221,6 +223,9 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
221
223
|
doubleTapTimer = null;
|
222
224
|
toggleScale();
|
223
225
|
} else {
|
226
|
+
if (!props.closeOnClickOverlay && event.target === ((_a = swipeItem.value) == null ? void 0 : _a.$el)) {
|
227
|
+
return;
|
228
|
+
}
|
224
229
|
doubleTapTimer = setTimeout(() => {
|
225
230
|
emit("close");
|
226
231
|
doubleTapTimer = null;
|
@@ -258,7 +263,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
258
263
|
}
|
259
264
|
}
|
260
265
|
(0, import_utils.preventDefault)(event, stopPropagation);
|
261
|
-
checkTap();
|
266
|
+
checkTap(event);
|
262
267
|
touch.reset();
|
263
268
|
};
|
264
269
|
const resize = () => {
|
@@ -48,6 +48,10 @@ export declare const ImagePreview: import("../utils").WithInstall<import("vue").
|
|
48
48
|
type: BooleanConstructor;
|
49
49
|
default: true;
|
50
50
|
};
|
51
|
+
closeOnClickOverlay: {
|
52
|
+
type: BooleanConstructor;
|
53
|
+
default: true;
|
54
|
+
};
|
51
55
|
closeIconPosition: {
|
52
56
|
type: import("vue").PropType<import("..").PopupCloseIconPosition>;
|
53
57
|
default: import("..").PopupCloseIconPosition;
|
@@ -102,6 +106,10 @@ export declare const ImagePreview: import("../utils").WithInstall<import("vue").
|
|
102
106
|
type: BooleanConstructor;
|
103
107
|
default: true;
|
104
108
|
};
|
109
|
+
closeOnClickOverlay: {
|
110
|
+
type: BooleanConstructor;
|
111
|
+
default: true;
|
112
|
+
};
|
105
113
|
closeIconPosition: {
|
106
114
|
type: import("vue").PropType<import("..").PopupCloseIconPosition>;
|
107
115
|
default: import("..").PopupCloseIconPosition;
|
@@ -118,6 +126,7 @@ export declare const ImagePreview: import("../utils").WithInstall<import("vue").
|
|
118
126
|
loop: boolean;
|
119
127
|
overlay: boolean;
|
120
128
|
show: boolean;
|
129
|
+
closeOnClickOverlay: boolean;
|
121
130
|
closeIcon: string;
|
122
131
|
closeable: boolean;
|
123
132
|
closeOnPopstate: boolean;
|