vant 4.6.7 → 4.7.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.d.ts +2 -1
- package/es/address-edit/AddressEdit.mjs +9 -3
- package/es/address-edit/index.d.ts +2 -1
- package/es/calendar/Calendar.d.ts +2 -1
- package/es/calendar/Calendar.mjs +3 -2
- package/es/calendar/CalendarDay.d.ts +2 -1
- package/es/calendar/CalendarDay.mjs +3 -1
- package/es/calendar/CalendarMonth.d.ts +2 -1
- package/es/calendar/CalendarMonth.mjs +3 -2
- package/es/calendar/index.d.ts +2 -1
- package/es/cell/index.css +1 -1
- package/es/config-provider/ConfigProvider.mjs +5 -1
- package/es/config-provider/types.d.ts +61 -1
- package/es/dialog/function-call.d.ts +3 -3
- package/es/dialog/function-call.mjs +1 -1
- package/es/floating-panel/FloatingPanel.mjs +1 -1
- package/es/icon/index.css +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/es/nav-bar/NavBar.d.ts +8 -0
- package/es/nav-bar/NavBar.mjs +18 -4
- package/es/nav-bar/index.css +1 -1
- package/es/nav-bar/index.d.ts +6 -0
- package/es/signature/Signature.mjs +10 -6
- package/es/swipe-cell/SwipeCell.mjs +10 -1
- package/es/uploader/index.css +1 -1
- package/es/utils/interceptor.d.ts +2 -1
- package/es/utils/interceptor.mjs +3 -2
- package/lib/address-edit/AddressEdit.d.ts +2 -1
- package/lib/address-edit/AddressEdit.js +9 -3
- package/lib/address-edit/index.d.ts +2 -1
- package/lib/calendar/Calendar.d.ts +2 -1
- package/lib/calendar/Calendar.js +3 -2
- package/lib/calendar/CalendarDay.d.ts +2 -1
- package/lib/calendar/CalendarDay.js +3 -1
- package/lib/calendar/CalendarMonth.d.ts +2 -1
- package/lib/calendar/CalendarMonth.js +3 -2
- package/lib/calendar/index.d.ts +2 -1
- package/lib/cell/index.css +1 -1
- package/lib/config-provider/ConfigProvider.js +5 -1
- package/lib/config-provider/types.d.ts +61 -1
- package/lib/dialog/function-call.d.ts +3 -3
- package/lib/dialog/function-call.js +1 -1
- package/lib/floating-panel/FloatingPanel.js +1 -1
- package/lib/icon/index.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/nav-bar/NavBar.d.ts +8 -0
- package/lib/nav-bar/NavBar.js +18 -4
- package/lib/nav-bar/index.css +1 -1
- package/lib/nav-bar/index.d.ts +6 -0
- package/lib/signature/Signature.js +10 -6
- package/lib/swipe-cell/SwipeCell.js +10 -1
- package/lib/uploader/index.css +1 -1
- package/lib/utils/interceptor.d.ts +2 -1
- package/lib/utils/interceptor.js +3 -2
- package/lib/vant.cjs.js +67 -25
- package/lib/vant.es.js +67 -25
- package/lib/vant.js +67 -25
- package/lib/vant.min.js +1 -1
- package/lib/web-types.json +1 -1
- package/package.json +2 -2
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
@@ -224,7 +224,7 @@ __reExport(stdin_exports, require("./toast"), module.exports);
|
|
224
224
|
__reExport(stdin_exports, require("./tree-select"), module.exports);
|
225
225
|
__reExport(stdin_exports, require("./uploader"), module.exports);
|
226
226
|
__reExport(stdin_exports, require("./watermark"), module.exports);
|
227
|
-
const version = "4.
|
227
|
+
const version = "4.7.0";
|
228
228
|
function install(app) {
|
229
229
|
const components = [
|
230
230
|
import_action_bar.ActionBar,
|
package/lib/nav-bar/NavBar.d.ts
CHANGED
@@ -9,6 +9,8 @@ export declare const navBarProps: {
|
|
9
9
|
};
|
10
10
|
leftText: StringConstructor;
|
11
11
|
rightText: StringConstructor;
|
12
|
+
leftDisabled: BooleanConstructor;
|
13
|
+
rightDisabled: BooleanConstructor;
|
12
14
|
leftArrow: BooleanConstructor;
|
13
15
|
placeholder: BooleanConstructor;
|
14
16
|
safeAreaInsetTop: BooleanConstructor;
|
@@ -28,6 +30,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
28
30
|
};
|
29
31
|
leftText: StringConstructor;
|
30
32
|
rightText: StringConstructor;
|
33
|
+
leftDisabled: BooleanConstructor;
|
34
|
+
rightDisabled: BooleanConstructor;
|
31
35
|
leftArrow: BooleanConstructor;
|
32
36
|
placeholder: BooleanConstructor;
|
33
37
|
safeAreaInsetTop: BooleanConstructor;
|
@@ -45,6 +49,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
45
49
|
};
|
46
50
|
leftText: StringConstructor;
|
47
51
|
rightText: StringConstructor;
|
52
|
+
leftDisabled: BooleanConstructor;
|
53
|
+
rightDisabled: BooleanConstructor;
|
48
54
|
leftArrow: BooleanConstructor;
|
49
55
|
placeholder: BooleanConstructor;
|
50
56
|
safeAreaInsetTop: BooleanConstructor;
|
@@ -61,6 +67,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
61
67
|
clickable: boolean;
|
62
68
|
placeholder: boolean;
|
63
69
|
safeAreaInsetTop: boolean;
|
70
|
+
leftDisabled: boolean;
|
71
|
+
rightDisabled: boolean;
|
64
72
|
leftArrow: boolean;
|
65
73
|
}, {}>;
|
66
74
|
export default _default;
|
package/lib/nav-bar/NavBar.js
CHANGED
@@ -34,6 +34,8 @@ const navBarProps = {
|
|
34
34
|
border: import_utils.truthProp,
|
35
35
|
leftText: String,
|
36
36
|
rightText: String,
|
37
|
+
leftDisabled: Boolean,
|
38
|
+
rightDisabled: Boolean,
|
37
39
|
leftArrow: Boolean,
|
38
40
|
placeholder: Boolean,
|
39
41
|
safeAreaInsetTop: Boolean,
|
@@ -49,8 +51,16 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
49
51
|
}) {
|
50
52
|
const navBarRef = (0, import_vue2.ref)();
|
51
53
|
const renderPlaceholder = (0, import_use_placeholder.usePlaceholder)(navBarRef, bem);
|
52
|
-
const onClickLeft = (event) =>
|
53
|
-
|
54
|
+
const onClickLeft = (event) => {
|
55
|
+
if (!props.leftDisabled) {
|
56
|
+
emit("clickLeft", event);
|
57
|
+
}
|
58
|
+
};
|
59
|
+
const onClickRight = (event) => {
|
60
|
+
if (!props.rightDisabled) {
|
61
|
+
emit("clickRight", event);
|
62
|
+
}
|
63
|
+
};
|
54
64
|
const renderLeft = () => {
|
55
65
|
if (slots.left) {
|
56
66
|
return slots.left();
|
@@ -92,12 +102,16 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
92
102
|
}, [(0, import_vue.createVNode)("div", {
|
93
103
|
"class": bem("content")
|
94
104
|
}, [hasLeft && (0, import_vue.createVNode)("div", {
|
95
|
-
"class": [bem("left"
|
105
|
+
"class": [bem("left", {
|
106
|
+
disabled: props.leftDisabled
|
107
|
+
}), props.clickable && !props.leftDisabled ? import_utils.HAPTICS_FEEDBACK : ""],
|
96
108
|
"onClick": onClickLeft
|
97
109
|
}, [renderLeft()]), (0, import_vue.createVNode)("div", {
|
98
110
|
"class": [bem("title"), "van-ellipsis"]
|
99
111
|
}, [slots.title ? slots.title() : title]), hasRight && (0, import_vue.createVNode)("div", {
|
100
|
-
"class": [bem("right"
|
112
|
+
"class": [bem("right", {
|
113
|
+
disabled: props.rightDisabled
|
114
|
+
}), props.clickable && !props.rightDisabled ? import_utils.HAPTICS_FEEDBACK : ""],
|
101
115
|
"onClick": onClickRight
|
102
116
|
}, [renderRight()])])]);
|
103
117
|
};
|
package/lib/nav-bar/index.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
:root{--van-nav-bar-height: 46px;--van-nav-bar-background: var(--van-background-2);--van-nav-bar-arrow-size: 16px;--van-nav-bar-icon-color: var(--van-primary-color);--van-nav-bar-text-color: var(--van-primary-color);--van-nav-bar-title-font-size: var(--van-font-size-lg);--van-nav-bar-title-text-color: var(--van-text-color);--van-nav-bar-z-index: 1}.van-nav-bar{position:relative;z-index:var(--van-nav-bar-z-index);line-height:var(--van-line-height-lg);text-align:center;background:var(--van-nav-bar-background);-webkit-user-select:none;user-select:none}.van-nav-bar--fixed{position:fixed;top:0;left:0;width:100%}.van-nav-bar--safe-area-inset-top{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.van-nav-bar .van-icon{color:var(--van-nav-bar-icon-color)}.van-nav-bar__content{position:relative;display:flex;align-items:center;height:var(--van-nav-bar-height)}.van-nav-bar__arrow{margin-right:var(--van-padding-base);font-size:var(--van-nav-bar-arrow-size)}.van-nav-bar__title{max-width:60%;margin:0 auto;color:var(--van-nav-bar-title-text-color);font-weight:var(--van-font-bold);font-size:var(--van-nav-bar-title-font-size)}.van-nav-bar__left,.van-nav-bar__right{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 var(--van-padding-md);font-size:var(--van-font-size-md)}.van-nav-bar__left{left:0}.van-nav-bar__right{right:0}.van-nav-bar__text{color:var(--van-nav-bar-text-color)}
|
1
|
+
:root{--van-nav-bar-height: 46px;--van-nav-bar-background: var(--van-background-2);--van-nav-bar-arrow-size: 16px;--van-nav-bar-icon-color: var(--van-primary-color);--van-nav-bar-text-color: var(--van-primary-color);--van-nav-bar-title-font-size: var(--van-font-size-lg);--van-nav-bar-title-text-color: var(--van-text-color);--van-nav-bar-z-index: 1;--van-nav-bar-disabled-opacity: var(--van-disabled-opacity)}.van-nav-bar{position:relative;z-index:var(--van-nav-bar-z-index);line-height:var(--van-line-height-lg);text-align:center;background:var(--van-nav-bar-background);-webkit-user-select:none;user-select:none}.van-nav-bar--fixed{position:fixed;top:0;left:0;width:100%}.van-nav-bar--safe-area-inset-top{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.van-nav-bar .van-icon{color:var(--van-nav-bar-icon-color)}.van-nav-bar__content{position:relative;display:flex;align-items:center;height:var(--van-nav-bar-height)}.van-nav-bar__arrow{margin-right:var(--van-padding-base);font-size:var(--van-nav-bar-arrow-size)}.van-nav-bar__title{max-width:60%;margin:0 auto;color:var(--van-nav-bar-title-text-color);font-weight:var(--van-font-bold);font-size:var(--van-nav-bar-title-font-size)}.van-nav-bar__left,.van-nav-bar__right{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 var(--van-padding-md);font-size:var(--van-font-size-md)}.van-nav-bar__left--disabled,.van-nav-bar__right--disabled{cursor:not-allowed;opacity:var(--van-nav-bar-disabled-opacity)}.van-nav-bar__left{left:0}.van-nav-bar__right{right:0}.van-nav-bar__text{color:var(--van-nav-bar-text-color)}
|
package/lib/nav-bar/index.d.ts
CHANGED
@@ -8,6 +8,8 @@ export declare const NavBar: import("../utils").WithInstall<import("vue").Define
|
|
8
8
|
};
|
9
9
|
leftText: StringConstructor;
|
10
10
|
rightText: StringConstructor;
|
11
|
+
leftDisabled: BooleanConstructor;
|
12
|
+
rightDisabled: BooleanConstructor;
|
11
13
|
leftArrow: BooleanConstructor;
|
12
14
|
placeholder: BooleanConstructor;
|
13
15
|
safeAreaInsetTop: BooleanConstructor;
|
@@ -25,6 +27,8 @@ export declare const NavBar: import("../utils").WithInstall<import("vue").Define
|
|
25
27
|
};
|
26
28
|
leftText: StringConstructor;
|
27
29
|
rightText: StringConstructor;
|
30
|
+
leftDisabled: BooleanConstructor;
|
31
|
+
rightDisabled: BooleanConstructor;
|
28
32
|
leftArrow: BooleanConstructor;
|
29
33
|
placeholder: BooleanConstructor;
|
30
34
|
safeAreaInsetTop: BooleanConstructor;
|
@@ -41,6 +45,8 @@ export declare const NavBar: import("../utils").WithInstall<import("vue").Define
|
|
41
45
|
clickable: boolean;
|
42
46
|
placeholder: boolean;
|
43
47
|
safeAreaInsetTop: boolean;
|
48
|
+
leftDisabled: boolean;
|
49
|
+
rightDisabled: boolean;
|
44
50
|
leftArrow: boolean;
|
45
51
|
}, {}>>;
|
46
52
|
export default NavBar;
|
@@ -91,12 +91,16 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
91
91
|
const empty = document.createElement("canvas");
|
92
92
|
empty.width = canvas.width;
|
93
93
|
empty.height = canvas.height;
|
94
|
+
if (props.backgroundColor) {
|
95
|
+
const emptyCtx = empty.getContext("2d");
|
96
|
+
setCanvasBgColor(emptyCtx);
|
97
|
+
}
|
94
98
|
return canvas.toDataURL() === empty.toDataURL();
|
95
99
|
};
|
96
|
-
const setCanvasBgColor = () => {
|
97
|
-
if (
|
98
|
-
|
99
|
-
|
100
|
+
const setCanvasBgColor = (ctx) => {
|
101
|
+
if (ctx && props.backgroundColor) {
|
102
|
+
ctx.fillStyle = props.backgroundColor;
|
103
|
+
ctx.fillRect(0, 0, state.width, state.height);
|
100
104
|
}
|
101
105
|
};
|
102
106
|
const submit = () => {
|
@@ -119,7 +123,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
119
123
|
if (state.ctx) {
|
120
124
|
state.ctx.clearRect(0, 0, state.width, state.height);
|
121
125
|
state.ctx.closePath();
|
122
|
-
setCanvasBgColor();
|
126
|
+
setCanvasBgColor(state.ctx);
|
123
127
|
}
|
124
128
|
emit("clear");
|
125
129
|
};
|
@@ -130,7 +134,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
130
134
|
state.width = (((_b = wrapRef.value) == null ? void 0 : _b.offsetWidth) || 0) * state.ratio;
|
131
135
|
state.height = (((_c = wrapRef.value) == null ? void 0 : _c.offsetHeight) || 0) * state.ratio;
|
132
136
|
(0, import_vue2.nextTick)(() => {
|
133
|
-
setCanvasBgColor();
|
137
|
+
setCanvasBgColor(state.ctx);
|
134
138
|
});
|
135
139
|
}
|
136
140
|
});
|
@@ -47,6 +47,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
47
47
|
let opened;
|
48
48
|
let lockClick;
|
49
49
|
let startOffset;
|
50
|
+
let isInBeforeClosing;
|
50
51
|
const root = (0, import_vue2.ref)();
|
51
52
|
const leftRef = (0, import_vue2.ref)();
|
52
53
|
const rightRef = (0, import_vue2.ref)();
|
@@ -123,14 +124,22 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
123
124
|
}
|
124
125
|
};
|
125
126
|
const onClick = (position = "outside") => {
|
127
|
+
if (isInBeforeClosing)
|
128
|
+
return;
|
126
129
|
emit("click", position);
|
127
130
|
if (opened && !lockClick) {
|
131
|
+
isInBeforeClosing = true;
|
128
132
|
(0, import_utils.callInterceptor)(props.beforeClose, {
|
129
133
|
args: [{
|
130
134
|
name: props.name,
|
131
135
|
position
|
132
136
|
}],
|
133
|
-
done: () =>
|
137
|
+
done: () => {
|
138
|
+
isInBeforeClosing = false;
|
139
|
+
close(position);
|
140
|
+
},
|
141
|
+
canceled: () => isInBeforeClosing = false,
|
142
|
+
error: () => isInBeforeClosing = false
|
134
143
|
});
|
135
144
|
}
|
136
145
|
};
|
package/lib/uploader/index.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
:root{--van-uploader-size: 80px;--van-uploader-icon-size: 24px;--van-uploader-icon-color: var(--van-gray-4);--van-uploader-text-color: var(--van-text-color-2);--van-uploader-text-font-size: var(--van-font-size-sm);--van-uploader-upload-background: var(--van-gray-1);--van-uploader-upload-active-color: var(--van-active-color);--van-uploader-delete-color: var(--van-white);--van-uploader-delete-icon-size: 14px;--van-uploader-delete-background: rgba(0, 0, 0, .7);--van-uploader-file-background: var(--van-background);--van-uploader-file-icon-size: 20px;--van-uploader-file-icon-color: var(--van-gray-7);--van-uploader-file-name-padding: 0 var(--van-padding-base);--van-uploader-file-name-margin-top: var(--van-padding-xs);--van-uploader-file-name-font-size: var(--van-font-size-sm);--van-uploader-file-name-text-color: var(--van-gray-7);--van-uploader-mask-text-color: var(--van-white);--van-uploader-mask-background: rgba(50, 50, 51, .88);--van-uploader-mask-icon-size: 22px;--van-uploader-mask-message-font-size: var(--van-font-size-sm);--van-uploader-mask-message-line-height: var(--van-line-height-xs);--van-uploader-loading-icon-size: 22px;--van-uploader-loading-icon-color: var(--van-white);--van-uploader-disabled-opacity: var(--van-disabled-opacity)}.van-uploader{position:relative;display:inline-block}.van-uploader__wrapper{display:flex;flex-wrap:wrap}.van-uploader__wrapper--disabled{opacity:var(--van-uploader-disabled-opacity)}.van-uploader__input{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;cursor:pointer;opacity:0}.van-uploader__input-wrapper{position:relative}.van-uploader__input:disabled{cursor:not-allowed}.van-uploader__upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:var(--van-uploader-size);height:var(--van-uploader-size);margin:0 var(--van-padding-xs) var(--van-padding-xs) 0;background:var(--van-uploader-upload-background)}.van-uploader__upload:active{background-color:var(--van-uploader-upload-active-color)}.van-uploader__upload--readonly:active{background-color:var(--van-uploader-upload-background)}.van-uploader__upload-icon{color:var(--van-uploader-icon-color);font-size:var(--van-uploader-icon-size)}.van-uploader__upload-text{margin-top:var(--van-padding-xs);color:var(--van-uploader-text-color);font-size:var(--van-uploader-text-font-size)}.van-uploader__preview{position:relative;margin:0 var(--van-padding-xs) var(--van-padding-xs) 0;cursor:pointer}.van-uploader__preview-image{display:block;width:var(--van-uploader-size);height:var(--van-uploader-size);overflow:hidden}.van-uploader__preview-delete{position:absolute;top:0;right:0}.van-uploader__preview-delete--shadow{width:var(--van-uploader-delete-icon-size);height:var(--van-uploader-delete-icon-size);background:var(--van-uploader-delete-background);border-radius:0 0 0 12px}.van-uploader__preview-delete-icon{position:absolute;top:0;right:0;color:var(--van-uploader-delete-color);font-size:var(--van-uploader-delete-icon-size);transform:scale(.7) translate(10%,-10%)}.van-uploader__preview-cover{position:absolute;top:0;right:0;bottom:0;left:0}.van-uploader__mask{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--van-uploader-mask-text-color);background:var(--van-uploader-mask-background)}.van-uploader__mask-icon{font-size:var(--van-uploader-mask-icon-size)}.van-uploader__mask-message{margin-top:6px;padding:0 var(--van-padding-base);font-size:var(--van-uploader-mask-message-font-size);line-height:var(--van-uploader-mask-message-line-height)}.van-uploader__loading{width:var(--van-uploader-loading-icon-size);height:var(--van-uploader-loading-icon-size);color:var(--van-uploader-loading-icon-color)}.van-uploader__file{display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--van-uploader-size);height:var(--van-uploader-size);background:var(--van-uploader-file-background)}.van-uploader__file-icon{color:var(--van-uploader-file-icon-color);font-size:var(--van-uploader-file-icon-size)}.van-uploader__file-name{box-sizing:border-box;width:100%;margin-top:var(--van-uploader-file-name-margin-top);padding:var(--van-uploader-file-name-padding);color:var(--van-uploader-file-name-text-color);font-size:var(--van-uploader-file-name-font-size);text-align:center}
|
1
|
+
:root{--van-uploader-size: 80px;--van-uploader-icon-size: 24px;--van-uploader-icon-color: var(--van-gray-4);--van-uploader-text-color: var(--van-text-color-2);--van-uploader-text-font-size: var(--van-font-size-sm);--van-uploader-upload-background: var(--van-gray-1);--van-uploader-upload-active-color: var(--van-active-color);--van-uploader-delete-color: var(--van-white);--van-uploader-delete-icon-size: 14px;--van-uploader-delete-background: rgba(0, 0, 0, .7);--van-uploader-file-background: var(--van-background);--van-uploader-file-icon-size: 20px;--van-uploader-file-icon-color: var(--van-gray-7);--van-uploader-file-name-padding: 0 var(--van-padding-base);--van-uploader-file-name-margin-top: var(--van-padding-xs);--van-uploader-file-name-font-size: var(--van-font-size-sm);--van-uploader-file-name-text-color: var(--van-gray-7);--van-uploader-mask-text-color: var(--van-white);--van-uploader-mask-background: rgba(50, 50, 51, .88);--van-uploader-mask-icon-size: 22px;--van-uploader-mask-message-font-size: var(--van-font-size-sm);--van-uploader-mask-message-line-height: var(--van-line-height-xs);--van-uploader-loading-icon-size: 22px;--van-uploader-loading-icon-color: var(--van-white);--van-uploader-disabled-opacity: var(--van-disabled-opacity);--van-uploader-border-radius: 0px}.van-uploader{position:relative;display:inline-block}.van-uploader__wrapper{display:flex;flex-wrap:wrap}.van-uploader__wrapper--disabled{opacity:var(--van-uploader-disabled-opacity)}.van-uploader__input{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;cursor:pointer;opacity:0}.van-uploader__input-wrapper{position:relative}.van-uploader__input:disabled{cursor:not-allowed}.van-uploader__upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:var(--van-uploader-size);height:var(--van-uploader-size);margin:0 var(--van-padding-xs) var(--van-padding-xs) 0;background:var(--van-uploader-upload-background);border-radius:var(--van-uploader-border-radius)}.van-uploader__upload:active{background-color:var(--van-uploader-upload-active-color)}.van-uploader__upload--readonly:active{background-color:var(--van-uploader-upload-background)}.van-uploader__upload-icon{color:var(--van-uploader-icon-color);font-size:var(--van-uploader-icon-size)}.van-uploader__upload-text{margin-top:var(--van-padding-xs);color:var(--van-uploader-text-color);font-size:var(--van-uploader-text-font-size)}.van-uploader__preview{position:relative;margin:0 var(--van-padding-xs) var(--van-padding-xs) 0;cursor:pointer}.van-uploader__preview-image{display:block;width:var(--van-uploader-size);height:var(--van-uploader-size);overflow:hidden;border-radius:var(--van-uploader-border-radius)}.van-uploader__preview-delete{position:absolute;top:0;right:0}.van-uploader__preview-delete--shadow{width:var(--van-uploader-delete-icon-size);height:var(--van-uploader-delete-icon-size);background:var(--van-uploader-delete-background);border-radius:0 0 0 12px}.van-uploader__preview-delete-icon{position:absolute;top:0;right:0;color:var(--van-uploader-delete-color);font-size:var(--van-uploader-delete-icon-size);transform:scale(.7) translate(10%,-10%)}.van-uploader__preview-cover{position:absolute;top:0;right:0;bottom:0;left:0}.van-uploader__mask{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--van-uploader-mask-text-color);background:var(--van-uploader-mask-background);border-radius:var(--van-uploader-border-radius)}.van-uploader__mask-icon{font-size:var(--van-uploader-mask-icon-size)}.van-uploader__mask-message{margin-top:6px;padding:0 var(--van-padding-base);font-size:var(--van-uploader-mask-message-font-size);line-height:var(--van-uploader-mask-message-line-height)}.van-uploader__loading{width:var(--van-uploader-loading-icon-size);height:var(--van-uploader-loading-icon-size);color:var(--van-uploader-loading-icon-color)}.van-uploader__file{display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--van-uploader-size);height:var(--van-uploader-size);background:var(--van-uploader-file-background)}.van-uploader__file-icon{color:var(--van-uploader-file-icon-color);font-size:var(--van-uploader-file-icon-size)}.van-uploader__file-name{box-sizing:border-box;width:100%;margin-top:var(--van-uploader-file-name-margin-top);padding:var(--van-uploader-file-name-padding);color:var(--van-uploader-file-name-text-color);font-size:var(--van-uploader-file-name-font-size);text-align:center}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
export type Interceptor = (...args: any[]) => Promise<boolean> | boolean | undefined | void;
|
2
|
-
export declare function callInterceptor(interceptor: Interceptor | undefined, { args, done, canceled, }: {
|
2
|
+
export declare function callInterceptor(interceptor: Interceptor | undefined, { args, done, canceled, error, }: {
|
3
3
|
args?: unknown[];
|
4
4
|
done: () => void;
|
5
5
|
canceled?: () => void;
|
6
|
+
error?: () => void;
|
6
7
|
}): void;
|
package/lib/utils/interceptor.js
CHANGED
@@ -24,7 +24,8 @@ var import_basic = require("./basic");
|
|
24
24
|
function callInterceptor(interceptor, {
|
25
25
|
args = [],
|
26
26
|
done,
|
27
|
-
canceled
|
27
|
+
canceled,
|
28
|
+
error
|
28
29
|
}) {
|
29
30
|
if (interceptor) {
|
30
31
|
const returnVal = interceptor.apply(null, args);
|
@@ -35,7 +36,7 @@ function callInterceptor(interceptor, {
|
|
35
36
|
} else if (canceled) {
|
36
37
|
canceled();
|
37
38
|
}
|
38
|
-
}).catch(import_basic.noop);
|
39
|
+
}).catch(error || import_basic.noop);
|
39
40
|
} else if (returnVal) {
|
40
41
|
done();
|
41
42
|
} else if (canceled) {
|
package/lib/vant.cjs.js
CHANGED
@@ -380,7 +380,8 @@ const TAP_OFFSET = 5;
|
|
380
380
|
function callInterceptor(interceptor, {
|
381
381
|
args = [],
|
382
382
|
done,
|
383
|
-
canceled
|
383
|
+
canceled,
|
384
|
+
error
|
384
385
|
}) {
|
385
386
|
if (interceptor) {
|
386
387
|
const returnVal = interceptor.apply(null, args);
|
@@ -391,7 +392,7 @@ function callInterceptor(interceptor, {
|
|
391
392
|
} else if (canceled) {
|
392
393
|
canceled();
|
393
394
|
}
|
394
|
-
}).catch(noop);
|
395
|
+
}).catch(error || noop);
|
395
396
|
} else if (returnVal) {
|
396
397
|
done();
|
397
398
|
} else if (canceled) {
|
@@ -632,10 +633,14 @@ const configProviderProps = {
|
|
632
633
|
themeVarsScope: makeStringProp("local"),
|
633
634
|
iconPrefix: String
|
634
635
|
};
|
636
|
+
function insertDash(str) {
|
637
|
+
return str.replace(/([a-zA-Z])(\d)/g, "$1-$2");
|
638
|
+
}
|
635
639
|
function mapThemeVarsToCSSVars(themeVars) {
|
636
640
|
const cssVars = {};
|
637
641
|
Object.keys(themeVars).forEach((key) => {
|
638
|
-
|
642
|
+
const formattedKey = insertDash(kebabCase(key));
|
643
|
+
cssVars[`--van-${formattedKey}`] = themeVars[key];
|
639
644
|
});
|
640
645
|
return cssVars;
|
641
646
|
}
|
@@ -4988,7 +4993,7 @@ const addressEditProps = {
|
|
4988
4993
|
var stdin_default$1q = vue.defineComponent({
|
4989
4994
|
name: name$1g,
|
4990
4995
|
props: addressEditProps,
|
4991
|
-
emits: ["save", "focus", "delete", "clickArea", "changeArea", "changeDetail", "selectSearch", "changeDefault"],
|
4996
|
+
emits: ["save", "focus", "change", "delete", "clickArea", "changeArea", "changeDetail", "selectSearch", "changeDefault"],
|
4992
4997
|
setup(props2, {
|
4993
4998
|
emit,
|
4994
4999
|
slots
|
@@ -5022,6 +5027,12 @@ var stdin_default$1q = vue.defineComponent({
|
|
5022
5027
|
detailFocused.value = key === "addressDetail";
|
5023
5028
|
emit("focus", key);
|
5024
5029
|
};
|
5030
|
+
const onChange = (key, value) => {
|
5031
|
+
emit("change", {
|
5032
|
+
key,
|
5033
|
+
value
|
5034
|
+
});
|
5035
|
+
};
|
5025
5036
|
const rules = vue.computed(() => {
|
5026
5037
|
const {
|
5027
5038
|
validator,
|
@@ -5133,7 +5144,7 @@ var stdin_default$1q = vue.defineComponent({
|
|
5133
5144
|
"class": bem$1c("fields")
|
5134
5145
|
}, [vue.createVNode(Field, {
|
5135
5146
|
"modelValue": data.name,
|
5136
|
-
"onUpdate:modelValue": ($event) => data.name = $event,
|
5147
|
+
"onUpdate:modelValue": [($event) => data.name = $event, (val) => onChange("name", val)],
|
5137
5148
|
"clearable": true,
|
5138
5149
|
"label": t$i("name"),
|
5139
5150
|
"rules": rules.value.name,
|
@@ -5141,7 +5152,7 @@ var stdin_default$1q = vue.defineComponent({
|
|
5141
5152
|
"onFocus": () => onFocus("name")
|
5142
5153
|
}, null), vue.createVNode(Field, {
|
5143
5154
|
"modelValue": data.tel,
|
5144
|
-
"onUpdate:modelValue": ($event) => data.tel = $event,
|
5155
|
+
"onUpdate:modelValue": [($event) => data.tel = $event, (val) => onChange("tel", val)],
|
5145
5156
|
"clearable": true,
|
5146
5157
|
"type": "tel",
|
5147
5158
|
"label": t$i("tel"),
|
@@ -6136,7 +6147,7 @@ var stdin_default$1h = vue.defineComponent({
|
|
6136
6147
|
offset: makeNumberProp(0),
|
6137
6148
|
rowHeight: String
|
6138
6149
|
},
|
6139
|
-
emits: ["click"],
|
6150
|
+
emits: ["click", "clickDisabledDate"],
|
6140
6151
|
setup(props2, {
|
6141
6152
|
emit,
|
6142
6153
|
slots
|
@@ -6182,6 +6193,8 @@ var stdin_default$1h = vue.defineComponent({
|
|
6182
6193
|
const onClick = () => {
|
6183
6194
|
if (props2.item.type !== "disabled") {
|
6184
6195
|
emit("click", props2.item);
|
6196
|
+
} else {
|
6197
|
+
emit("clickDisabledDate", props2.item);
|
6185
6198
|
}
|
6186
6199
|
};
|
6187
6200
|
const renderTopInfo = () => {
|
@@ -6268,7 +6281,7 @@ const calendarMonthProps = {
|
|
6268
6281
|
var stdin_default$1g = vue.defineComponent({
|
6269
6282
|
name: name$16,
|
6270
6283
|
props: calendarMonthProps,
|
6271
|
-
emits: ["click"],
|
6284
|
+
emits: ["click", "clickDisabledDate"],
|
6272
6285
|
setup(props2, {
|
6273
6286
|
emit,
|
6274
6287
|
slots
|
@@ -6427,7 +6440,8 @@ var stdin_default$1g = vue.defineComponent({
|
|
6427
6440
|
"color": props2.color,
|
6428
6441
|
"offset": offset.value,
|
6429
6442
|
"rowHeight": rowHeight.value,
|
6430
|
-
"onClick": (item2) => emit("click", item2)
|
6443
|
+
"onClick": (item2) => emit("click", item2),
|
6444
|
+
"onClickDisabledDate": (item2) => emit("clickDisabledDate", item2)
|
6431
6445
|
}, pick(slots, ["top-info", "bottom-info"]));
|
6432
6446
|
const renderDays = () => vue.createVNode("div", {
|
6433
6447
|
"ref": daysRef,
|
@@ -6552,7 +6566,7 @@ const calendarProps = {
|
|
6552
6566
|
var stdin_default$1e = vue.defineComponent({
|
6553
6567
|
name: name$18,
|
6554
6568
|
props: calendarProps,
|
6555
|
-
emits: ["select", "confirm", "unselect", "monthShow", "overRange", "update:show", "clickSubtitle"],
|
6569
|
+
emits: ["select", "confirm", "unselect", "monthShow", "overRange", "update:show", "clickSubtitle", "clickDisabledDate"],
|
6556
6570
|
setup(props2, {
|
6557
6571
|
emit,
|
6558
6572
|
slots
|
@@ -6820,7 +6834,8 @@ var stdin_default$1e = vue.defineComponent({
|
|
6820
6834
|
"showMonthTitle": showMonthTitle,
|
6821
6835
|
"firstDayOfWeek": dayOffset.value
|
6822
6836
|
}, pick(props2, ["type", "color", "minDate", "maxDate", "showMark", "formatter", "rowHeight", "lazyRender", "showSubtitle", "allowSameDay"]), {
|
6823
|
-
"onClick": onClickDay
|
6837
|
+
"onClick": onClickDay,
|
6838
|
+
"onClickDisabledDate": (item) => emit("clickDisabledDate", item)
|
6824
6839
|
}), pick(slots, ["top-info", "bottom-info", "month-title"]));
|
6825
6840
|
};
|
6826
6841
|
const renderFooterButton = () => {
|
@@ -9398,7 +9413,7 @@ function initInstance$2() {
|
|
9398
9413
|
}
|
9399
9414
|
function showDialog(options) {
|
9400
9415
|
if (!inBrowser) {
|
9401
|
-
return Promise.resolve();
|
9416
|
+
return Promise.resolve(void 0);
|
9402
9417
|
}
|
9403
9418
|
return new Promise((resolve, reject) => {
|
9404
9419
|
if (!instance$2) {
|
@@ -10029,7 +10044,7 @@ var stdin_default$Q = vue.defineComponent({
|
|
10029
10044
|
}, {
|
10030
10045
|
immediate: true
|
10031
10046
|
});
|
10032
|
-
useLockScroll(rootRef, () => props2.lockScroll);
|
10047
|
+
useLockScroll(rootRef, () => props2.lockScroll || dragging.value);
|
10033
10048
|
use.useEventListener("touchmove", onTouchmove, {
|
10034
10049
|
target: rootRef
|
10035
10050
|
});
|
@@ -11204,6 +11219,8 @@ const navBarProps = {
|
|
11204
11219
|
border: truthProp,
|
11205
11220
|
leftText: String,
|
11206
11221
|
rightText: String,
|
11222
|
+
leftDisabled: Boolean,
|
11223
|
+
rightDisabled: Boolean,
|
11207
11224
|
leftArrow: Boolean,
|
11208
11225
|
placeholder: Boolean,
|
11209
11226
|
safeAreaInsetTop: Boolean,
|
@@ -11219,8 +11236,16 @@ var stdin_default$I = vue.defineComponent({
|
|
11219
11236
|
}) {
|
11220
11237
|
const navBarRef = vue.ref();
|
11221
11238
|
const renderPlaceholder = usePlaceholder(navBarRef, bem$z);
|
11222
|
-
const onClickLeft = (event) =>
|
11223
|
-
|
11239
|
+
const onClickLeft = (event) => {
|
11240
|
+
if (!props2.leftDisabled) {
|
11241
|
+
emit("clickLeft", event);
|
11242
|
+
}
|
11243
|
+
};
|
11244
|
+
const onClickRight = (event) => {
|
11245
|
+
if (!props2.rightDisabled) {
|
11246
|
+
emit("clickRight", event);
|
11247
|
+
}
|
11248
|
+
};
|
11224
11249
|
const renderLeft = () => {
|
11225
11250
|
if (slots.left) {
|
11226
11251
|
return slots.left();
|
@@ -11262,12 +11287,16 @@ var stdin_default$I = vue.defineComponent({
|
|
11262
11287
|
}, [vue.createVNode("div", {
|
11263
11288
|
"class": bem$z("content")
|
11264
11289
|
}, [hasLeft && vue.createVNode("div", {
|
11265
|
-
"class": [bem$z("left"
|
11290
|
+
"class": [bem$z("left", {
|
11291
|
+
disabled: props2.leftDisabled
|
11292
|
+
}), props2.clickable && !props2.leftDisabled ? HAPTICS_FEEDBACK : ""],
|
11266
11293
|
"onClick": onClickLeft
|
11267
11294
|
}, [renderLeft()]), vue.createVNode("div", {
|
11268
11295
|
"class": [bem$z("title"), "van-ellipsis"]
|
11269
11296
|
}, [slots.title ? slots.title() : title]), hasRight && vue.createVNode("div", {
|
11270
|
-
"class": [bem$z("right"
|
11297
|
+
"class": [bem$z("right", {
|
11298
|
+
disabled: props2.rightDisabled
|
11299
|
+
}), props2.clickable && !props2.rightDisabled ? HAPTICS_FEEDBACK : ""],
|
11271
11300
|
"onClick": onClickRight
|
11272
11301
|
}, [renderRight()])])]);
|
11273
11302
|
};
|
@@ -13241,12 +13270,16 @@ var stdin_default$r = vue.defineComponent({
|
|
13241
13270
|
const empty = document.createElement("canvas");
|
13242
13271
|
empty.width = canvas.width;
|
13243
13272
|
empty.height = canvas.height;
|
13273
|
+
if (props2.backgroundColor) {
|
13274
|
+
const emptyCtx = empty.getContext("2d");
|
13275
|
+
setCanvasBgColor(emptyCtx);
|
13276
|
+
}
|
13244
13277
|
return canvas.toDataURL() === empty.toDataURL();
|
13245
13278
|
};
|
13246
|
-
const setCanvasBgColor = () => {
|
13247
|
-
if (
|
13248
|
-
|
13249
|
-
|
13279
|
+
const setCanvasBgColor = (ctx) => {
|
13280
|
+
if (ctx && props2.backgroundColor) {
|
13281
|
+
ctx.fillStyle = props2.backgroundColor;
|
13282
|
+
ctx.fillRect(0, 0, state.width, state.height);
|
13250
13283
|
}
|
13251
13284
|
};
|
13252
13285
|
const submit = () => {
|
@@ -13269,7 +13302,7 @@ var stdin_default$r = vue.defineComponent({
|
|
13269
13302
|
if (state.ctx) {
|
13270
13303
|
state.ctx.clearRect(0, 0, state.width, state.height);
|
13271
13304
|
state.ctx.closePath();
|
13272
|
-
setCanvasBgColor();
|
13305
|
+
setCanvasBgColor(state.ctx);
|
13273
13306
|
}
|
13274
13307
|
emit("clear");
|
13275
13308
|
};
|
@@ -13280,7 +13313,7 @@ var stdin_default$r = vue.defineComponent({
|
|
13280
13313
|
state.width = (((_b = wrapRef.value) == null ? void 0 : _b.offsetWidth) || 0) * state.ratio;
|
13281
13314
|
state.height = (((_c = wrapRef.value) == null ? void 0 : _c.offsetHeight) || 0) * state.ratio;
|
13282
13315
|
vue.nextTick(() => {
|
13283
|
-
setCanvasBgColor();
|
13316
|
+
setCanvasBgColor(state.ctx);
|
13284
13317
|
});
|
13285
13318
|
}
|
13286
13319
|
});
|
@@ -14354,6 +14387,7 @@ var stdin_default$c = vue.defineComponent({
|
|
14354
14387
|
let opened;
|
14355
14388
|
let lockClick2;
|
14356
14389
|
let startOffset;
|
14390
|
+
let isInBeforeClosing;
|
14357
14391
|
const root = vue.ref();
|
14358
14392
|
const leftRef = vue.ref();
|
14359
14393
|
const rightRef = vue.ref();
|
@@ -14430,14 +14464,22 @@ var stdin_default$c = vue.defineComponent({
|
|
14430
14464
|
}
|
14431
14465
|
};
|
14432
14466
|
const onClick = (position = "outside") => {
|
14467
|
+
if (isInBeforeClosing)
|
14468
|
+
return;
|
14433
14469
|
emit("click", position);
|
14434
14470
|
if (opened && !lockClick2) {
|
14471
|
+
isInBeforeClosing = true;
|
14435
14472
|
callInterceptor(props2.beforeClose, {
|
14436
14473
|
args: [{
|
14437
14474
|
name: props2.name,
|
14438
14475
|
position
|
14439
14476
|
}],
|
14440
|
-
done: () =>
|
14477
|
+
done: () => {
|
14478
|
+
isInBeforeClosing = false;
|
14479
|
+
close(position);
|
14480
|
+
},
|
14481
|
+
canceled: () => isInBeforeClosing = false,
|
14482
|
+
error: () => isInBeforeClosing = false
|
14441
14483
|
});
|
14442
14484
|
}
|
14443
14485
|
};
|
@@ -16457,7 +16499,7 @@ const Lazyload = {
|
|
16457
16499
|
});
|
16458
16500
|
}
|
16459
16501
|
};
|
16460
|
-
const version = "4.
|
16502
|
+
const version = "4.7.0";
|
16461
16503
|
function install(app) {
|
16462
16504
|
const components = [
|
16463
16505
|
ActionBar,
|