vant 4.9.2 → 4.9.4
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/calendar/CalendarHeader.mjs +5 -17
- package/es/calendar/utils.mjs +6 -0
- package/es/index.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/es/locale/lang/kk-KZ.d.ts +63 -0
- package/es/locale/lang/kk-KZ.mjs +81 -0
- package/es/swipe-cell/SwipeCell.mjs +7 -3
- package/es/text-ellipsis/TextEllipsis.mjs +56 -46
- package/es/uploader/Uploader.mjs +6 -8
- package/es/uploader/types.d.ts +1 -0
- package/lib/calendar/CalendarHeader.js +4 -16
- package/lib/calendar/utils.js +6 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/locale/lang/kk-KZ.d.ts +63 -0
- package/lib/locale/lang/kk-KZ.js +100 -0
- package/lib/swipe-cell/SwipeCell.js +7 -3
- package/lib/text-ellipsis/TextEllipsis.js +55 -45
- package/lib/uploader/Uploader.js +6 -8
- package/lib/uploader/types.d.ts +1 -0
- package/lib/vant.cjs.js +79 -73
- package/lib/vant.es.js +79 -73
- package/lib/vant.js +80 -74
- package/lib/vant.min.js +3 -3
- package/lib/web-types.json +1 -1
- package/package.json +11 -11
@@ -0,0 +1,100 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
5
|
+
var __export = (target, all) => {
|
6
|
+
for (var name in all)
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
8
|
+
};
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
11
|
+
for (let key of __getOwnPropNames(from))
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
14
|
+
}
|
15
|
+
return to;
|
16
|
+
};
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
18
|
+
var stdin_exports = {};
|
19
|
+
__export(stdin_exports, {
|
20
|
+
default: () => stdin_default
|
21
|
+
});
|
22
|
+
module.exports = __toCommonJS(stdin_exports);
|
23
|
+
var stdin_default = {
|
24
|
+
name: "\u0410\u0442\u044B",
|
25
|
+
tel: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D",
|
26
|
+
save: "\u0421\u0430\u049B\u0442\u0430\u0443",
|
27
|
+
clear: "\u0422\u0430\u0437\u0430\u0440\u0442\u0443",
|
28
|
+
cancel: "\u0411\u0430\u0441\u0442\u0430\u0440\u0442\u0443",
|
29
|
+
confirm: "\u0420\u0430\u0441\u0442\u0430\u0443",
|
30
|
+
delete: "\u0416\u043E\u044E",
|
31
|
+
loading: "\u0416\u04AF\u043A\u0442\u0435\u043B\u0443\u0434\u0435...",
|
32
|
+
noCoupon: "\u041A\u0443\u043F\u043E\u043D\u0434\u0430\u0440 \u0436\u043E\u049B",
|
33
|
+
nameEmpty: "\u0410\u0442\u044B-\u0436\u04E9\u043D\u0456\u04A3\u0456\u0437\u0434\u0456 \u0442\u043E\u043B\u0442\u044B\u0440\u044B\u04A3\u044B\u0437",
|
34
|
+
addContact: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u0456 \u049B\u043E\u0441\u0443",
|
35
|
+
telInvalid: "\u0414\u04B1\u0440\u044B\u0441 \u0442\u0435\u043B\u0435\u0444\u043E\u043D \u043D\u04E9\u043C\u0456\u0440\u0456\u043D \u0442\u043E\u043B\u0442\u044B\u0440\u044B\u04A3\u044B\u0437",
|
36
|
+
vanCalendar: {
|
37
|
+
end: "\u0410\u044F\u049B\u0442\u0430\u043B\u0443 \u0443\u0430\u049B\u044B\u0442\u044B",
|
38
|
+
start: "\u0411\u0430\u0441\u0442\u0430\u0443 \u0443\u0430\u049B\u044B\u0442\u044B",
|
39
|
+
title: "\u041A\u04AF\u043D\u0434\u0456 \u0442\u0430\u04A3\u0434\u0430\u0443",
|
40
|
+
weekdays: ["\u0416\u0421", "\u0414\u0421", "\u0421\u0421", "\u0421\u0420", "\u0411\u0421", "\u0416\u041C", "\u0421\u0411"],
|
41
|
+
monthTitle: (year, month) => {
|
42
|
+
const monthNames = [
|
43
|
+
"\u049A\u0430\u04A3\u0442\u0430\u0440",
|
44
|
+
"\u0410\u049B\u043F\u0430\u043D",
|
45
|
+
"\u041D\u0430\u0443\u0440\u044B\u0437",
|
46
|
+
"\u0421\u04D9\u0443\u0456\u0440",
|
47
|
+
"\u041C\u0430\u043C\u044B\u0440",
|
48
|
+
"\u041C\u0430\u0443\u0441\u044B\u043C",
|
49
|
+
"\u0428\u0456\u043B\u0434\u0435",
|
50
|
+
"\u0422\u0430\u043C\u044B\u0437",
|
51
|
+
"\u049A\u044B\u0440\u043A\u04AF\u0439\u0435\u043A",
|
52
|
+
"\u049A\u0430\u0437\u0430\u043D",
|
53
|
+
"\u049A\u0430\u0440\u0430\u0448\u0430",
|
54
|
+
"\u0416\u0435\u043B\u0442\u043E\u049B\u0441\u0430\u043D"
|
55
|
+
];
|
56
|
+
return `${year} ${monthNames[month - 1]}`;
|
57
|
+
},
|
58
|
+
rangePrompt: (maxRange) => `\u0422\u0435\u043A ${maxRange} \u043A\u04AF\u043D\u0433\u0435 \u0434\u0435\u0439\u0456\u043D \u0442\u0430\u04A3\u0434\u0430\u0439 \u0430\u043B\u0430\u0441\u044B\u0437`
|
59
|
+
},
|
60
|
+
vanCascader: {
|
61
|
+
select: "\u0422\u0430\u04A3\u0434\u0430\u04A3\u044B\u0437"
|
62
|
+
},
|
63
|
+
vanPagination: {
|
64
|
+
prev: "\u0410\u0440\u0442\u049B\u0430",
|
65
|
+
next: "\u0410\u043B\u0493\u0430"
|
66
|
+
},
|
67
|
+
vanPullRefresh: {
|
68
|
+
pulling: "\u0416\u0430\u04A3\u0430\u0440\u0442\u0443 \u04AF\u0448\u0456\u043D \u0442\u0430\u0440\u0442\u044B\u04A3\u044B\u0437...",
|
69
|
+
loosing: "\u0416\u0430\u04A3\u0430\u0440\u0442\u0443 \u04AF\u0448\u0456\u043D \u0436\u0456\u0431\u0435\u0440\u0456\u04A3\u0456\u0437..."
|
70
|
+
},
|
71
|
+
vanSubmitBar: {
|
72
|
+
label: "\u0416\u0430\u043B\u043F\u044B:"
|
73
|
+
},
|
74
|
+
vanCoupon: {
|
75
|
+
unlimited: "\u0422\u0430\u043B\u0430\u043F \u0436\u043E\u049B",
|
76
|
+
discount: (discount) => `${discount * 10}% \u0436\u0435\u04A3\u0456\u043B\u0434\u0456\u043A`,
|
77
|
+
condition: (condition) => `${condition} \u0442\u0435\u04A3\u0433\u0435\u0433\u0435 \u0436\u0435\u0442\u043A\u0435\u043D\u0434\u0435 \u049B\u043E\u043B \u0436\u0435\u0442\u0456\u043C\u0434\u0456`
|
78
|
+
},
|
79
|
+
vanCouponCell: {
|
80
|
+
title: "\u041A\u0443\u043F\u043E\u043D",
|
81
|
+
count: (count) => `${count} \u049B\u043E\u043B \u0436\u0435\u0442\u0456\u043C\u0434\u0456 \u043A\u0443\u043F\u043E\u043D`
|
82
|
+
},
|
83
|
+
vanCouponList: {
|
84
|
+
exchange: "\u0410\u0439\u044B\u0440\u0431\u0430\u0441\u0442\u0430\u0443",
|
85
|
+
close: "\u049A\u043E\u043B\u0434\u0430\u043D\u0431\u0430\u0443",
|
86
|
+
enable: "\u049A\u043E\u043B \u0436\u0435\u0442\u0456\u043C\u0434\u0456",
|
87
|
+
disabled: "\u049A\u043E\u043B\u0436\u0435\u0442\u0456\u043C\u0441\u0456\u0437",
|
88
|
+
placeholder: "\u0416\u0435\u04A3\u0456\u043B\u0434\u0456\u043A \u043A\u043E\u0434\u044B\u043D \u0435\u043D\u0433\u0456\u0437\u0456\u04A3\u0456\u0437"
|
89
|
+
},
|
90
|
+
vanAddressEdit: {
|
91
|
+
area: "\u0410\u0443\u043C\u0430\u049B",
|
92
|
+
areaEmpty: "\u0410\u0439\u043C\u0430\u049B\u0442\u044B \u0442\u0430\u04A3\u0434\u0430\u04A3\u044B\u0437",
|
93
|
+
addressEmpty: "\u0422\u043E\u043B\u044B\u049B \u043C\u0435\u043A\u0435\u043D-\u0436\u0430\u0439\u0434\u044B \u0442\u043E\u043B\u0442\u044B\u0440\u044B\u04A3\u044B\u0437",
|
94
|
+
addressDetail: "\u041C\u0435\u043A\u0435\u043D\u0436\u0430\u0439",
|
95
|
+
defaultAddress: "\u04D8\u0434\u0435\u043F\u043A\u0456 \u0436\u0435\u0442\u043A\u0456\u0437\u0443 \u043C\u0435\u043A\u0435\u043D\u0436\u0430\u0439\u044B \u0440\u0435\u0442\u0456\u043D\u0434\u0435 \u043E\u0440\u043D\u0430\u0442\u0443"
|
96
|
+
},
|
97
|
+
vanAddressList: {
|
98
|
+
add: "\u041C\u0435\u043A\u0435\u043D\u0436\u0430\u0439 \u049B\u043E\u0441\u0443"
|
99
|
+
}
|
100
|
+
};
|
@@ -123,7 +123,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
123
123
|
}, 0);
|
124
124
|
}
|
125
125
|
};
|
126
|
-
const onClick = (position = "outside") => {
|
126
|
+
const onClick = (position = "outside", event) => {
|
127
127
|
if (isInBeforeClosing)
|
128
128
|
return;
|
129
129
|
emit("click", position);
|
@@ -131,6 +131,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
131
131
|
isInBeforeClosing = true;
|
132
132
|
(0, import_utils.callInterceptor)(props.beforeClose, {
|
133
133
|
args: [{
|
134
|
+
event,
|
134
135
|
name: props.name,
|
135
136
|
position
|
136
137
|
}],
|
@@ -147,7 +148,10 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
147
148
|
if (stop) {
|
148
149
|
event.stopPropagation();
|
149
150
|
}
|
150
|
-
|
151
|
+
if (lockClick) {
|
152
|
+
return;
|
153
|
+
}
|
154
|
+
onClick(position, event);
|
151
155
|
};
|
152
156
|
const renderSideContent = (side, ref2) => {
|
153
157
|
const contentSlot = slots[side];
|
@@ -163,7 +167,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
163
167
|
open,
|
164
168
|
close
|
165
169
|
});
|
166
|
-
(0, import_use.useClickAway)(root, () => onClick("outside"), {
|
170
|
+
(0, import_use.useClickAway)(root, (event) => onClick("outside", event), {
|
167
171
|
eventName: "touchstart"
|
168
172
|
});
|
169
173
|
(0, import_use.useEventListener)("touchmove", onTouchMove, {
|
@@ -42,10 +42,11 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
42
42
|
emit,
|
43
43
|
slots
|
44
44
|
}) {
|
45
|
-
const text = (0, import_vue2.ref)(
|
45
|
+
const text = (0, import_vue2.ref)(props.content);
|
46
46
|
const expanded = (0, import_vue2.ref)(false);
|
47
47
|
const hasAction = (0, import_vue2.ref)(false);
|
48
48
|
const root = (0, import_vue2.ref)();
|
49
|
+
const actionRef = (0, import_vue2.ref)();
|
49
50
|
let needRecalculate = false;
|
50
51
|
const actionText = (0, import_vue2.computed)(() => expanded.value ? props.collapseText : props.expandText);
|
51
52
|
const pxToNum = (value) => {
|
@@ -73,57 +74,60 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
73
74
|
document.body.appendChild(container);
|
74
75
|
return container;
|
75
76
|
};
|
76
|
-
const
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
}
|
90
|
-
return dots + content.slice(right, end);
|
91
|
-
}
|
92
|
-
const middle2 = Math.round((left + right) / 2);
|
77
|
+
const calcEllipsisText = (container, maxHeight) => {
|
78
|
+
var _a, _b;
|
79
|
+
const {
|
80
|
+
content,
|
81
|
+
position,
|
82
|
+
dots
|
83
|
+
} = props;
|
84
|
+
const end = content.length;
|
85
|
+
const middle = 0 + end >> 1;
|
86
|
+
const actionHTML = slots.action ? (_b = (_a = actionRef.value) == null ? void 0 : _a.outerHTML) != null ? _b : "" : props.expandText;
|
87
|
+
const calcEllipse = () => {
|
88
|
+
const tail = (left, right) => {
|
89
|
+
if (right - left <= 1) {
|
93
90
|
if (position === "end") {
|
94
|
-
|
95
|
-
} else {
|
96
|
-
container2.innerText = dots + content.slice(middle2, end) + actionText.value;
|
97
|
-
}
|
98
|
-
if (container2.offsetHeight > maxHeight2) {
|
99
|
-
if (position === "end") {
|
100
|
-
return tail(left, middle2);
|
101
|
-
}
|
102
|
-
return tail(middle2, right);
|
91
|
+
return content.slice(0, left) + dots;
|
103
92
|
}
|
93
|
+
return dots + content.slice(right, end);
|
94
|
+
}
|
95
|
+
const middle2 = Math.round((left + right) / 2);
|
96
|
+
if (position === "end") {
|
97
|
+
container.innerText = content.slice(0, middle2) + dots;
|
98
|
+
} else {
|
99
|
+
container.innerText = dots + content.slice(middle2, end);
|
100
|
+
}
|
101
|
+
container.innerHTML += actionHTML;
|
102
|
+
if (container.offsetHeight > maxHeight) {
|
104
103
|
if (position === "end") {
|
105
|
-
return tail(
|
104
|
+
return tail(left, middle2);
|
106
105
|
}
|
107
|
-
return tail(
|
108
|
-
};
|
109
|
-
container2.innerText = tail(0, end);
|
110
|
-
};
|
111
|
-
const middleTail = (leftPart, rightPart) => {
|
112
|
-
if (leftPart[1] - leftPart[0] <= 1 && rightPart[1] - rightPart[0] <= 1) {
|
113
|
-
return content.slice(0, leftPart[0]) + dots + content.slice(rightPart[1], end);
|
106
|
+
return tail(middle2, right);
|
114
107
|
}
|
115
|
-
|
116
|
-
|
117
|
-
container2.innerText = props.content.slice(0, leftMiddle) + props.dots + props.content.slice(rightMiddle, end) + props.expandText;
|
118
|
-
if (container2.offsetHeight >= maxHeight2) {
|
119
|
-
return middleTail([leftPart[0], leftMiddle], [rightMiddle, rightPart[1]]);
|
108
|
+
if (position === "end") {
|
109
|
+
return tail(middle2, right);
|
120
110
|
}
|
121
|
-
return
|
111
|
+
return tail(left, middle2);
|
122
112
|
};
|
123
|
-
|
124
|
-
|
125
|
-
|
113
|
+
return tail(0, end);
|
114
|
+
};
|
115
|
+
const middleTail = (leftPart, rightPart) => {
|
116
|
+
if (leftPart[1] - leftPart[0] <= 1 && rightPart[1] - rightPart[0] <= 1) {
|
117
|
+
return content.slice(0, leftPart[0]) + dots + content.slice(rightPart[1], end);
|
118
|
+
}
|
119
|
+
const leftMiddle = Math.floor((leftPart[0] + leftPart[1]) / 2);
|
120
|
+
const rightMiddle = Math.ceil((rightPart[0] + rightPart[1]) / 2);
|
121
|
+
container.innerText = props.content.slice(0, leftMiddle) + props.dots + props.content.slice(rightMiddle, end);
|
122
|
+
container.innerHTML += actionHTML;
|
123
|
+
if (container.offsetHeight >= maxHeight) {
|
124
|
+
return middleTail([leftPart[0], leftMiddle], [rightMiddle, rightPart[1]]);
|
125
|
+
}
|
126
|
+
return middleTail([leftMiddle, leftPart[1]], [rightPart[0], rightMiddle]);
|
126
127
|
};
|
128
|
+
return props.position === "middle" ? middleTail([0, middle], [middle, end]) : calcEllipse();
|
129
|
+
};
|
130
|
+
const calcEllipsised = () => {
|
127
131
|
const container = cloneContainer();
|
128
132
|
if (!container) {
|
129
133
|
needRecalculate = true;
|
@@ -156,11 +160,17 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
156
160
|
expanded: expanded.value
|
157
161
|
}) : actionText.value;
|
158
162
|
return (0, import_vue.createVNode)("span", {
|
163
|
+
"ref": actionRef,
|
159
164
|
"class": bem("action"),
|
160
165
|
"onClick": onClickAction
|
161
166
|
}, [action]);
|
162
167
|
};
|
163
|
-
(0, import_vue2.onMounted)(
|
168
|
+
(0, import_vue2.onMounted)(() => {
|
169
|
+
calcEllipsised();
|
170
|
+
if (slots.action) {
|
171
|
+
(0, import_vue2.nextTick)(calcEllipsised);
|
172
|
+
}
|
173
|
+
});
|
164
174
|
(0, import_vue2.onActivated)(() => {
|
165
175
|
if (needRecalculate) {
|
166
176
|
needRecalculate = false;
|
package/lib/uploader/Uploader.js
CHANGED
@@ -216,7 +216,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
216
216
|
emit("update:modelValue", fileList);
|
217
217
|
emit("delete", item, getDetail(index));
|
218
218
|
};
|
219
|
-
const
|
219
|
+
const reuploadFile = (index) => {
|
220
220
|
isReuploading.value = true;
|
221
221
|
reuploadIndex.value = index;
|
222
222
|
(0, import_vue2.nextTick)(() => chooseFile());
|
@@ -236,7 +236,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
236
236
|
"onClick": () => emit(props.reupload ? "clickReupload" : "clickPreview", item, getDetail(index)),
|
237
237
|
"onDelete": () => deleteFile(item, index),
|
238
238
|
"onPreview": () => previewImage(item),
|
239
|
-
"onReupload": () =>
|
239
|
+
"onReupload": () => reuploadFile(index)
|
240
240
|
}, (0, import_utils.pick)(props, ["name", "lazyLoad"]), previewData), (0, import_utils.pick)(slots, ["preview-cover", "preview-delete"]));
|
241
241
|
};
|
242
242
|
const renderPreviewList = () => {
|
@@ -246,10 +246,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
246
246
|
};
|
247
247
|
const onClickUpload = (event) => emit("clickUpload", event);
|
248
248
|
const renderUpload = () => {
|
249
|
-
|
250
|
-
return;
|
251
|
-
}
|
252
|
-
const hideUploader = props.modelValue.length >= +props.maxCount && props.reupload;
|
249
|
+
const lessThanMax = props.modelValue.length < +props.maxCount;
|
253
250
|
const Input = props.readonly ? null : (0, import_vue.createVNode)("input", {
|
254
251
|
"ref": inputRef,
|
255
252
|
"type": "file",
|
@@ -265,7 +262,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
265
262
|
return (0, import_vue.withDirectives)((0, import_vue.createVNode)("div", {
|
266
263
|
"class": (0, import_utils2.bem)("input-wrapper"),
|
267
264
|
"onClick": onClickUpload
|
268
|
-
}, [slots.default(), Input]), [[import_vue.vShow,
|
265
|
+
}, [slots.default(), Input]), [[import_vue.vShow, lessThanMax]]);
|
269
266
|
}
|
270
267
|
return (0, import_vue.withDirectives)((0, import_vue.createVNode)("div", {
|
271
268
|
"class": (0, import_utils2.bem)("upload", {
|
@@ -278,7 +275,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
278
275
|
"class": (0, import_utils2.bem)("upload-icon")
|
279
276
|
}, null), props.uploadText && (0, import_vue.createVNode)("span", {
|
280
277
|
"class": (0, import_utils2.bem)("upload-text")
|
281
|
-
}, [props.uploadText]), Input]), [[import_vue.vShow, props.showUpload &&
|
278
|
+
}, [props.uploadText]), Input]), [[import_vue.vShow, props.showUpload && lessThanMax]]);
|
282
279
|
};
|
283
280
|
const chooseFile = () => {
|
284
281
|
if (inputRef.value && !props.disabled) {
|
@@ -290,6 +287,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
290
287
|
});
|
291
288
|
(0, import_use_expose.useExpose)({
|
292
289
|
chooseFile,
|
290
|
+
reuploadFile,
|
293
291
|
closeImagePreview
|
294
292
|
});
|
295
293
|
(0, import_use.useCustomFieldValue)(() => props.modelValue);
|
package/lib/uploader/types.d.ts
CHANGED
@@ -29,6 +29,7 @@ export type UploaderAfterRead = (items: UploaderFileListItem | UploaderFileListI
|
|
29
29
|
export type UploaderExpose = {
|
30
30
|
chooseFile: () => void;
|
31
31
|
closeImagePreview: () => void;
|
32
|
+
reuploadFile: (index: number) => void;
|
32
33
|
};
|
33
34
|
export type UploaderInstance = ComponentPublicInstance<UploaderProps, UploaderExpose>;
|
34
35
|
export type UploaderThemeVars = {
|
package/lib/vant.cjs.js
CHANGED
@@ -6339,11 +6339,17 @@ function getDayByOffset(date, offset) {
|
|
6339
6339
|
function getMonthByOffset(date, offset) {
|
6340
6340
|
const cloned = cloneDate(date);
|
6341
6341
|
cloned.setMonth(cloned.getMonth() + offset);
|
6342
|
+
if (cloned.getDate() !== date.getDate()) {
|
6343
|
+
cloned.setDate(0);
|
6344
|
+
}
|
6342
6345
|
return cloned;
|
6343
6346
|
}
|
6344
6347
|
function getYearByOffset(date, offset) {
|
6345
6348
|
const cloned = cloneDate(date);
|
6346
6349
|
cloned.setFullYear(cloned.getFullYear() + offset);
|
6350
|
+
if (cloned.getDate() !== date.getDate()) {
|
6351
|
+
cloned.setDate(0);
|
6352
|
+
}
|
6347
6353
|
return cloned;
|
6348
6354
|
}
|
6349
6355
|
const getPrevDay = (date) => getDayByOffset(date, -1);
|
@@ -6747,22 +6753,10 @@ var stdin_default$1e = vue.defineComponent({
|
|
6747
6753
|
slots,
|
6748
6754
|
emit
|
6749
6755
|
}) {
|
6750
|
-
const prevMonthDisabled = vue.computed(() =>
|
6751
|
-
|
6752
|
-
|
6753
|
-
|
6754
|
-
const prevYearDisabled = vue.computed(() => {
|
6755
|
-
const prevYear = getPrevYear(props2.date);
|
6756
|
-
return props2.minDate && prevYear < props2.minDate;
|
6757
|
-
});
|
6758
|
-
const nextMonthDisabled = vue.computed(() => {
|
6759
|
-
const nextMonth = getNextMonth(props2.date);
|
6760
|
-
return props2.maxDate && nextMonth > props2.maxDate;
|
6761
|
-
});
|
6762
|
-
const nextYearDisabled = vue.computed(() => {
|
6763
|
-
const nextYear = getNextYear(props2.date);
|
6764
|
-
return props2.maxDate && nextYear > props2.maxDate;
|
6765
|
-
});
|
6756
|
+
const prevMonthDisabled = vue.computed(() => props2.date && props2.minDate && compareMonth(getPrevMonth(props2.date), props2.minDate) < 0);
|
6757
|
+
const prevYearDisabled = vue.computed(() => props2.date && props2.minDate && compareMonth(getPrevYear(props2.date), props2.minDate) < 0);
|
6758
|
+
const nextMonthDisabled = vue.computed(() => props2.date && props2.maxDate && compareMonth(getNextMonth(props2.date), props2.maxDate) > 0);
|
6759
|
+
const nextYearDisabled = vue.computed(() => props2.date && props2.maxDate && compareMonth(getNextYear(props2.date), props2.maxDate) > 0);
|
6766
6760
|
const renderTitle = () => {
|
6767
6761
|
if (props2.showTitle) {
|
6768
6762
|
const text = props2.title || t$g("title");
|
@@ -14967,7 +14961,7 @@ var stdin_default$c = vue.defineComponent({
|
|
14967
14961
|
}, 0);
|
14968
14962
|
}
|
14969
14963
|
};
|
14970
|
-
const onClick = (position = "outside") => {
|
14964
|
+
const onClick = (position = "outside", event) => {
|
14971
14965
|
if (isInBeforeClosing)
|
14972
14966
|
return;
|
14973
14967
|
emit("click", position);
|
@@ -14975,6 +14969,7 @@ var stdin_default$c = vue.defineComponent({
|
|
14975
14969
|
isInBeforeClosing = true;
|
14976
14970
|
callInterceptor(props2.beforeClose, {
|
14977
14971
|
args: [{
|
14972
|
+
event,
|
14978
14973
|
name: props2.name,
|
14979
14974
|
position
|
14980
14975
|
}],
|
@@ -14991,7 +14986,10 @@ var stdin_default$c = vue.defineComponent({
|
|
14991
14986
|
if (stop) {
|
14992
14987
|
event.stopPropagation();
|
14993
14988
|
}
|
14994
|
-
|
14989
|
+
if (lockClick2) {
|
14990
|
+
return;
|
14991
|
+
}
|
14992
|
+
onClick(position, event);
|
14995
14993
|
};
|
14996
14994
|
const renderSideContent = (side, ref2) => {
|
14997
14995
|
const contentSlot = slots[side];
|
@@ -15007,7 +15005,7 @@ var stdin_default$c = vue.defineComponent({
|
|
15007
15005
|
open,
|
15008
15006
|
close
|
15009
15007
|
});
|
15010
|
-
use.useClickAway(root, () => onClick("outside"), {
|
15008
|
+
use.useClickAway(root, (event) => onClick("outside", event), {
|
15011
15009
|
eventName: "touchstart"
|
15012
15010
|
});
|
15013
15011
|
use.useEventListener("touchmove", onTouchMove, {
|
@@ -15237,10 +15235,11 @@ var stdin_default$9 = vue.defineComponent({
|
|
15237
15235
|
emit,
|
15238
15236
|
slots
|
15239
15237
|
}) {
|
15240
|
-
const text = vue.ref(
|
15238
|
+
const text = vue.ref(props2.content);
|
15241
15239
|
const expanded = vue.ref(false);
|
15242
15240
|
const hasAction = vue.ref(false);
|
15243
15241
|
const root = vue.ref();
|
15242
|
+
const actionRef = vue.ref();
|
15244
15243
|
let needRecalculate = false;
|
15245
15244
|
const actionText = vue.computed(() => expanded.value ? props2.collapseText : props2.expandText);
|
15246
15245
|
const pxToNum = (value) => {
|
@@ -15268,57 +15267,60 @@ var stdin_default$9 = vue.defineComponent({
|
|
15268
15267
|
document.body.appendChild(container);
|
15269
15268
|
return container;
|
15270
15269
|
};
|
15271
|
-
const
|
15272
|
-
|
15273
|
-
|
15274
|
-
|
15275
|
-
|
15276
|
-
|
15277
|
-
|
15278
|
-
|
15279
|
-
|
15280
|
-
|
15281
|
-
|
15282
|
-
|
15283
|
-
|
15284
|
-
}
|
15285
|
-
return dots + content.slice(right, end);
|
15286
|
-
}
|
15287
|
-
const middle2 = Math.round((left + right) / 2);
|
15270
|
+
const calcEllipsisText = (container, maxHeight) => {
|
15271
|
+
var _a, _b;
|
15272
|
+
const {
|
15273
|
+
content,
|
15274
|
+
position,
|
15275
|
+
dots
|
15276
|
+
} = props2;
|
15277
|
+
const end = content.length;
|
15278
|
+
const middle = 0 + end >> 1;
|
15279
|
+
const actionHTML = slots.action ? (_b = (_a = actionRef.value) == null ? void 0 : _a.outerHTML) != null ? _b : "" : props2.expandText;
|
15280
|
+
const calcEllipse = () => {
|
15281
|
+
const tail = (left, right) => {
|
15282
|
+
if (right - left <= 1) {
|
15288
15283
|
if (position === "end") {
|
15289
|
-
|
15290
|
-
} else {
|
15291
|
-
container2.innerText = dots + content.slice(middle2, end) + actionText.value;
|
15292
|
-
}
|
15293
|
-
if (container2.offsetHeight > maxHeight2) {
|
15294
|
-
if (position === "end") {
|
15295
|
-
return tail(left, middle2);
|
15296
|
-
}
|
15297
|
-
return tail(middle2, right);
|
15284
|
+
return content.slice(0, left) + dots;
|
15298
15285
|
}
|
15286
|
+
return dots + content.slice(right, end);
|
15287
|
+
}
|
15288
|
+
const middle2 = Math.round((left + right) / 2);
|
15289
|
+
if (position === "end") {
|
15290
|
+
container.innerText = content.slice(0, middle2) + dots;
|
15291
|
+
} else {
|
15292
|
+
container.innerText = dots + content.slice(middle2, end);
|
15293
|
+
}
|
15294
|
+
container.innerHTML += actionHTML;
|
15295
|
+
if (container.offsetHeight > maxHeight) {
|
15299
15296
|
if (position === "end") {
|
15300
|
-
return tail(
|
15297
|
+
return tail(left, middle2);
|
15301
15298
|
}
|
15302
|
-
return tail(
|
15303
|
-
};
|
15304
|
-
container2.innerText = tail(0, end);
|
15305
|
-
};
|
15306
|
-
const middleTail = (leftPart, rightPart) => {
|
15307
|
-
if (leftPart[1] - leftPart[0] <= 1 && rightPart[1] - rightPart[0] <= 1) {
|
15308
|
-
return content.slice(0, leftPart[0]) + dots + content.slice(rightPart[1], end);
|
15299
|
+
return tail(middle2, right);
|
15309
15300
|
}
|
15310
|
-
|
15311
|
-
|
15312
|
-
container2.innerText = props2.content.slice(0, leftMiddle) + props2.dots + props2.content.slice(rightMiddle, end) + props2.expandText;
|
15313
|
-
if (container2.offsetHeight >= maxHeight2) {
|
15314
|
-
return middleTail([leftPart[0], leftMiddle], [rightMiddle, rightPart[1]]);
|
15301
|
+
if (position === "end") {
|
15302
|
+
return tail(middle2, right);
|
15315
15303
|
}
|
15316
|
-
return
|
15304
|
+
return tail(left, middle2);
|
15317
15305
|
};
|
15318
|
-
|
15319
|
-
|
15320
|
-
|
15306
|
+
return tail(0, end);
|
15307
|
+
};
|
15308
|
+
const middleTail = (leftPart, rightPart) => {
|
15309
|
+
if (leftPart[1] - leftPart[0] <= 1 && rightPart[1] - rightPart[0] <= 1) {
|
15310
|
+
return content.slice(0, leftPart[0]) + dots + content.slice(rightPart[1], end);
|
15311
|
+
}
|
15312
|
+
const leftMiddle = Math.floor((leftPart[0] + leftPart[1]) / 2);
|
15313
|
+
const rightMiddle = Math.ceil((rightPart[0] + rightPart[1]) / 2);
|
15314
|
+
container.innerText = props2.content.slice(0, leftMiddle) + props2.dots + props2.content.slice(rightMiddle, end);
|
15315
|
+
container.innerHTML += actionHTML;
|
15316
|
+
if (container.offsetHeight >= maxHeight) {
|
15317
|
+
return middleTail([leftPart[0], leftMiddle], [rightMiddle, rightPart[1]]);
|
15318
|
+
}
|
15319
|
+
return middleTail([leftMiddle, leftPart[1]], [rightPart[0], rightMiddle]);
|
15321
15320
|
};
|
15321
|
+
return props2.position === "middle" ? middleTail([0, middle], [middle, end]) : calcEllipse();
|
15322
|
+
};
|
15323
|
+
const calcEllipsised = () => {
|
15322
15324
|
const container = cloneContainer();
|
15323
15325
|
if (!container) {
|
15324
15326
|
needRecalculate = true;
|
@@ -15351,11 +15353,17 @@ var stdin_default$9 = vue.defineComponent({
|
|
15351
15353
|
expanded: expanded.value
|
15352
15354
|
}) : actionText.value;
|
15353
15355
|
return vue.createVNode("span", {
|
15356
|
+
"ref": actionRef,
|
15354
15357
|
"class": bem$3("action"),
|
15355
15358
|
"onClick": onClickAction
|
15356
15359
|
}, [action]);
|
15357
15360
|
};
|
15358
|
-
vue.onMounted(
|
15361
|
+
vue.onMounted(() => {
|
15362
|
+
calcEllipsised();
|
15363
|
+
if (slots.action) {
|
15364
|
+
vue.nextTick(calcEllipsised);
|
15365
|
+
}
|
15366
|
+
});
|
15359
15367
|
vue.onActivated(() => {
|
15360
15368
|
if (needRecalculate) {
|
15361
15369
|
needRecalculate = false;
|
@@ -15954,7 +15962,7 @@ var stdin_default$5 = vue.defineComponent({
|
|
15954
15962
|
emit("update:modelValue", fileList);
|
15955
15963
|
emit("delete", item, getDetail(index));
|
15956
15964
|
};
|
15957
|
-
const
|
15965
|
+
const reuploadFile = (index) => {
|
15958
15966
|
isReuploading.value = true;
|
15959
15967
|
reuploadIndex.value = index;
|
15960
15968
|
vue.nextTick(() => chooseFile());
|
@@ -15974,7 +15982,7 @@ var stdin_default$5 = vue.defineComponent({
|
|
15974
15982
|
"onClick": () => emit(props2.reupload ? "clickReupload" : "clickPreview", item, getDetail(index)),
|
15975
15983
|
"onDelete": () => deleteFile(item, index),
|
15976
15984
|
"onPreview": () => previewImage(item),
|
15977
|
-
"onReupload": () =>
|
15985
|
+
"onReupload": () => reuploadFile(index)
|
15978
15986
|
}, pick(props2, ["name", "lazyLoad"]), previewData), pick(slots, ["preview-cover", "preview-delete"]));
|
15979
15987
|
};
|
15980
15988
|
const renderPreviewList = () => {
|
@@ -15984,10 +15992,7 @@ var stdin_default$5 = vue.defineComponent({
|
|
15984
15992
|
};
|
15985
15993
|
const onClickUpload = (event) => emit("clickUpload", event);
|
15986
15994
|
const renderUpload = () => {
|
15987
|
-
|
15988
|
-
return;
|
15989
|
-
}
|
15990
|
-
const hideUploader = props2.modelValue.length >= +props2.maxCount && props2.reupload;
|
15995
|
+
const lessThanMax = props2.modelValue.length < +props2.maxCount;
|
15991
15996
|
const Input = props2.readonly ? null : vue.createVNode("input", {
|
15992
15997
|
"ref": inputRef,
|
15993
15998
|
"type": "file",
|
@@ -16003,7 +16008,7 @@ var stdin_default$5 = vue.defineComponent({
|
|
16003
16008
|
return vue.withDirectives(vue.createVNode("div", {
|
16004
16009
|
"class": bem$1("input-wrapper"),
|
16005
16010
|
"onClick": onClickUpload
|
16006
|
-
}, [slots.default(), Input]), [[vue.vShow,
|
16011
|
+
}, [slots.default(), Input]), [[vue.vShow, lessThanMax]]);
|
16007
16012
|
}
|
16008
16013
|
return vue.withDirectives(vue.createVNode("div", {
|
16009
16014
|
"class": bem$1("upload", {
|
@@ -16016,7 +16021,7 @@ var stdin_default$5 = vue.defineComponent({
|
|
16016
16021
|
"class": bem$1("upload-icon")
|
16017
16022
|
}, null), props2.uploadText && vue.createVNode("span", {
|
16018
16023
|
"class": bem$1("upload-text")
|
16019
|
-
}, [props2.uploadText]), Input]), [[vue.vShow, props2.showUpload &&
|
16024
|
+
}, [props2.uploadText]), Input]), [[vue.vShow, props2.showUpload && lessThanMax]]);
|
16020
16025
|
};
|
16021
16026
|
const chooseFile = () => {
|
16022
16027
|
if (inputRef.value && !props2.disabled) {
|
@@ -16028,6 +16033,7 @@ var stdin_default$5 = vue.defineComponent({
|
|
16028
16033
|
});
|
16029
16034
|
useExpose({
|
16030
16035
|
chooseFile,
|
16036
|
+
reuploadFile,
|
16031
16037
|
closeImagePreview
|
16032
16038
|
});
|
16033
16039
|
use.useCustomFieldValue(() => props2.modelValue);
|
@@ -17043,7 +17049,7 @@ const Lazyload = {
|
|
17043
17049
|
});
|
17044
17050
|
}
|
17045
17051
|
};
|
17046
|
-
const version = "4.9.
|
17052
|
+
const version = "4.9.4";
|
17047
17053
|
function install(app) {
|
17048
17054
|
const components = [
|
17049
17055
|
ActionBar,
|