vant 4.9.0 → 4.9.2
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 +5 -4
- package/es/action-bar-button/ActionBarButton.d.ts +3 -3
- package/es/action-bar-button/index.d.ts +2 -2
- package/es/action-bar-icon/ActionBarIcon.d.ts +3 -3
- package/es/action-bar-icon/index.d.ts +2 -2
- package/es/address-list/AddressList.d.ts +13 -13
- package/es/address-list/AddressList.mjs +20 -4
- package/es/address-list/AddressListItem.d.ts +3 -0
- package/es/address-list/AddressListItem.mjs +19 -7
- package/es/address-list/index.d.ts +2 -2
- package/es/address-list/style/index.mjs +1 -0
- package/es/area/utils.mjs +3 -3
- package/es/button/Button.d.ts +3 -3
- package/es/button/index.d.ts +2 -2
- package/es/card/Card.mjs +3 -3
- package/es/cell/Cell.d.ts +3 -3
- package/es/cell/index.d.ts +2 -2
- package/es/composables/use-route.d.ts +1 -2
- package/es/floating-panel/FloatingPanel.mjs +11 -5
- package/es/form/Form.d.ts +3 -0
- package/es/form/Form.mjs +9 -2
- package/es/form/index.d.ts +2 -0
- package/es/grid-item/GridItem.d.ts +3 -3
- package/es/grid-item/index.d.ts +2 -2
- package/es/index.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/es/notify/types.d.ts +3 -0
- package/es/sidebar-item/SidebarItem.d.ts +3 -3
- package/es/sidebar-item/index.d.ts +2 -2
- package/es/stepper/Stepper.mjs +1 -0
- package/es/tab/Tab.d.ts +3 -3
- package/es/tab/index.d.ts +2 -2
- package/es/tabbar-item/TabbarItem.d.ts +3 -3
- package/es/tabbar-item/index.d.ts +2 -2
- package/es/tabs/index.css +1 -1
- package/es/tabs/utils.mjs +3 -1
- package/es/uploader/index.d.ts +1 -1
- package/lib/action-bar-button/ActionBarButton.d.ts +3 -3
- package/lib/action-bar-button/index.d.ts +2 -2
- package/lib/action-bar-icon/ActionBarIcon.d.ts +3 -3
- package/lib/action-bar-icon/index.d.ts +2 -2
- package/lib/address-list/AddressList.d.ts +13 -13
- package/lib/address-list/AddressList.js +19 -3
- package/lib/address-list/AddressListItem.d.ts +3 -0
- package/lib/address-list/AddressListItem.js +19 -7
- package/lib/address-list/index.d.ts +2 -2
- package/lib/address-list/style/index.js +1 -0
- package/lib/area/utils.js +3 -3
- package/lib/button/Button.d.ts +3 -3
- package/lib/button/index.d.ts +2 -2
- package/lib/card/Card.js +2 -2
- package/lib/cell/Cell.d.ts +3 -3
- package/lib/cell/index.d.ts +2 -2
- package/lib/composables/use-route.d.ts +1 -2
- package/lib/floating-panel/FloatingPanel.js +11 -5
- package/lib/form/Form.d.ts +3 -0
- package/lib/form/Form.js +9 -2
- package/lib/form/index.d.ts +2 -0
- package/lib/grid-item/GridItem.d.ts +3 -3
- package/lib/grid-item/index.d.ts +2 -2
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/notify/types.d.ts +3 -0
- package/lib/sidebar-item/SidebarItem.d.ts +3 -3
- package/lib/sidebar-item/index.d.ts +2 -2
- package/lib/stepper/Stepper.js +1 -0
- package/lib/tab/Tab.d.ts +3 -3
- package/lib/tab/index.d.ts +2 -2
- package/lib/tabbar-item/TabbarItem.d.ts +3 -3
- package/lib/tabbar-item/index.d.ts +2 -2
- package/lib/tabs/index.css +1 -1
- package/lib/tabs/utils.js +3 -1
- package/lib/uploader/index.d.ts +1 -1
- package/lib/vant.cjs.js +342 -300
- package/lib/vant.es.js +342 -300
- package/lib/vant.js +344 -302
- package/lib/vant.min.js +3 -3
- package/lib/web-types.json +1 -1
- package/package.json +15 -15
package/lib/vant.js
CHANGED
@@ -2369,7 +2369,7 @@
|
|
2369
2369
|
return propRef;
|
2370
2370
|
};
|
2371
2371
|
/**
|
2372
|
-
* @vue/shared v3.4.
|
2372
|
+
* @vue/shared v3.4.29
|
2373
2373
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
2374
2374
|
* @license MIT
|
2375
2375
|
**/
|
@@ -2424,8 +2424,8 @@
|
|
2424
2424
|
}
|
2425
2425
|
for (const key in styles) {
|
2426
2426
|
const value = styles[key];
|
2427
|
-
const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);
|
2428
2427
|
if (isString(value) || typeof value === "number") {
|
2428
|
+
const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);
|
2429
2429
|
ret += `${normalizedKey}:${value};`;
|
2430
2430
|
}
|
2431
2431
|
}
|
@@ -2456,11 +2456,13 @@
|
|
2456
2456
|
let count = 0;
|
2457
2457
|
const from = scroller.scrollLeft;
|
2458
2458
|
const frames = duration === 0 ? 1 : Math.round(duration * 1e3 / 16);
|
2459
|
+
let scrollLeft = from;
|
2459
2460
|
function cancel() {
|
2460
2461
|
cancelRaf(rafId);
|
2461
2462
|
}
|
2462
2463
|
function animate() {
|
2463
|
-
|
2464
|
+
scrollLeft += (to - from) / frames;
|
2465
|
+
scroller.scrollLeft = scrollLeft;
|
2464
2466
|
if (++count < frames) {
|
2465
2467
|
rafId = raf(animate);
|
2466
2468
|
}
|
@@ -4033,9 +4035,9 @@
|
|
4033
4035
|
const showCounty = +columnsNum > 2;
|
4034
4036
|
const getProvinceChildren = () => {
|
4035
4037
|
if (showCity) {
|
4036
|
-
return placeholder.length ? [
|
4038
|
+
return placeholder.length > 1 ? [
|
4037
4039
|
makeOption(
|
4038
|
-
placeholder[
|
4040
|
+
placeholder[1],
|
4039
4041
|
AREA_EMPTY_CODE,
|
4040
4042
|
showCounty ? [] : void 0
|
4041
4043
|
)
|
@@ -4053,7 +4055,7 @@
|
|
4053
4055
|
if (showCity) {
|
4054
4056
|
const getCityChildren = () => {
|
4055
4057
|
if (showCounty) {
|
4056
|
-
return placeholder.length ? [makeOption(placeholder[
|
4058
|
+
return placeholder.length > 2 ? [makeOption(placeholder[2])] : [];
|
4057
4059
|
}
|
4058
4060
|
};
|
4059
4061
|
Object.keys(city).forEach((code) => {
|
@@ -4283,6 +4285,7 @@
|
|
4283
4285
|
labelAlign: String,
|
4284
4286
|
inputAlign: String,
|
4285
4287
|
scrollToError: Boolean,
|
4288
|
+
scrollToErrorPosition: String,
|
4286
4289
|
validateFirst: Boolean,
|
4287
4290
|
submitOnEnter: truthProp,
|
4288
4291
|
showErrorMessage: truthProp,
|
@@ -4396,8 +4399,14 @@
|
|
4396
4399
|
values,
|
4397
4400
|
errors
|
4398
4401
|
});
|
4399
|
-
|
4400
|
-
|
4402
|
+
const {
|
4403
|
+
scrollToError,
|
4404
|
+
scrollToErrorPosition
|
4405
|
+
} = props2;
|
4406
|
+
if (scrollToError && errors[0].name) {
|
4407
|
+
scrollToField(errors[0].name, scrollToErrorPosition ? {
|
4408
|
+
block: scrollToErrorPosition
|
4409
|
+
} : void 0);
|
4401
4410
|
}
|
4402
4411
|
});
|
4403
4412
|
};
|
@@ -5791,7 +5800,71 @@
|
|
5791
5800
|
}
|
5792
5801
|
});
|
5793
5802
|
const RadioGroup = withInstall(stdin_default$1q);
|
5794
|
-
const [name$1f, bem$1b] = createNamespace("
|
5803
|
+
const [name$1f, bem$1b] = createNamespace("checkbox-group");
|
5804
|
+
const checkboxGroupProps = {
|
5805
|
+
max: numericProp,
|
5806
|
+
shape: makeStringProp("round"),
|
5807
|
+
disabled: Boolean,
|
5808
|
+
iconSize: numericProp,
|
5809
|
+
direction: String,
|
5810
|
+
modelValue: makeArrayProp(),
|
5811
|
+
checkedColor: String
|
5812
|
+
};
|
5813
|
+
const CHECKBOX_GROUP_KEY = Symbol(name$1f);
|
5814
|
+
var stdin_default$1p = vue.defineComponent({
|
5815
|
+
name: name$1f,
|
5816
|
+
props: checkboxGroupProps,
|
5817
|
+
emits: ["change", "update:modelValue"],
|
5818
|
+
setup(props2, {
|
5819
|
+
emit,
|
5820
|
+
slots
|
5821
|
+
}) {
|
5822
|
+
const {
|
5823
|
+
children,
|
5824
|
+
linkChildren
|
5825
|
+
} = useChildren(CHECKBOX_GROUP_KEY);
|
5826
|
+
const updateValue = (value) => emit("update:modelValue", value);
|
5827
|
+
const toggleAll = (options = {}) => {
|
5828
|
+
if (typeof options === "boolean") {
|
5829
|
+
options = {
|
5830
|
+
checked: options
|
5831
|
+
};
|
5832
|
+
}
|
5833
|
+
const {
|
5834
|
+
checked,
|
5835
|
+
skipDisabled
|
5836
|
+
} = options;
|
5837
|
+
const checkedChildren = children.filter((item) => {
|
5838
|
+
if (!item.props.bindGroup) {
|
5839
|
+
return false;
|
5840
|
+
}
|
5841
|
+
if (item.props.disabled && skipDisabled) {
|
5842
|
+
return item.checked.value;
|
5843
|
+
}
|
5844
|
+
return checked != null ? checked : !item.checked.value;
|
5845
|
+
});
|
5846
|
+
const names = checkedChildren.map((item) => item.name);
|
5847
|
+
updateValue(names);
|
5848
|
+
};
|
5849
|
+
vue.watch(() => props2.modelValue, (value) => emit("change", value));
|
5850
|
+
useExpose({
|
5851
|
+
toggleAll
|
5852
|
+
});
|
5853
|
+
useCustomFieldValue(() => props2.modelValue);
|
5854
|
+
linkChildren({
|
5855
|
+
props: props2,
|
5856
|
+
updateValue
|
5857
|
+
});
|
5858
|
+
return () => {
|
5859
|
+
var _a;
|
5860
|
+
return vue.createVNode("div", {
|
5861
|
+
"class": bem$1b([props2.direction])
|
5862
|
+
}, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
5863
|
+
};
|
5864
|
+
}
|
5865
|
+
});
|
5866
|
+
const CheckboxGroup = withInstall(stdin_default$1p);
|
5867
|
+
const [name$1e, bem$1a] = createNamespace("tag");
|
5795
5868
|
const tagProps = {
|
5796
5869
|
size: String,
|
5797
5870
|
mark: Boolean,
|
@@ -5803,8 +5876,8 @@
|
|
5803
5876
|
textColor: String,
|
5804
5877
|
closeable: Boolean
|
5805
5878
|
};
|
5806
|
-
var stdin_default$
|
5807
|
-
name: name$
|
5879
|
+
var stdin_default$1o = vue.defineComponent({
|
5880
|
+
name: name$1e,
|
5808
5881
|
props: tagProps,
|
5809
5882
|
emits: ["close"],
|
5810
5883
|
setup(props2, {
|
@@ -5847,12 +5920,12 @@
|
|
5847
5920
|
}
|
5848
5921
|
const CloseIcon = closeable && vue.createVNode(Icon, {
|
5849
5922
|
"name": "cross",
|
5850
|
-
"class": [bem$
|
5923
|
+
"class": [bem$1a("close"), HAPTICS_FEEDBACK],
|
5851
5924
|
"onClick": onClose
|
5852
5925
|
}, null);
|
5853
5926
|
return vue.createVNode("span", {
|
5854
5927
|
"style": getStyle(),
|
5855
|
-
"class": bem$
|
5928
|
+
"class": bem$1a([classes, type])
|
5856
5929
|
}, [(_a = slots.default) == null ? void 0 : _a.call(slots), CloseIcon]);
|
5857
5930
|
};
|
5858
5931
|
return () => vue.createVNode(vue.Transition, {
|
@@ -5862,7 +5935,7 @@
|
|
5862
5935
|
});
|
5863
5936
|
}
|
5864
5937
|
});
|
5865
|
-
const Tag = withInstall(stdin_default$
|
5938
|
+
const Tag = withInstall(stdin_default$1o);
|
5866
5939
|
const checkerProps = {
|
5867
5940
|
name: unknownProp,
|
5868
5941
|
disabled: Boolean,
|
@@ -5872,7 +5945,7 @@
|
|
5872
5945
|
labelPosition: String,
|
5873
5946
|
labelDisabled: Boolean
|
5874
5947
|
};
|
5875
|
-
var stdin_default$
|
5948
|
+
var stdin_default$1n = vue.defineComponent({
|
5876
5949
|
props: extend({}, checkerProps, {
|
5877
5950
|
bem: makeRequiredProp(Function),
|
5878
5951
|
role: String,
|
@@ -6001,9 +6074,9 @@
|
|
6001
6074
|
const radioProps = extend({}, checkerProps, {
|
6002
6075
|
shape: String
|
6003
6076
|
});
|
6004
|
-
const [name$
|
6005
|
-
var stdin_default$
|
6006
|
-
name: name$
|
6077
|
+
const [name$1d, bem$19] = createNamespace("radio");
|
6078
|
+
var stdin_default$1m = vue.defineComponent({
|
6079
|
+
name: name$1d,
|
6007
6080
|
props: radioProps,
|
6008
6081
|
emits: ["update:modelValue"],
|
6009
6082
|
setup(props2, {
|
@@ -6024,8 +6097,8 @@
|
|
6024
6097
|
emit("update:modelValue", props2.name);
|
6025
6098
|
}
|
6026
6099
|
};
|
6027
|
-
return () => vue.createVNode(stdin_default$
|
6028
|
-
"bem": bem$
|
6100
|
+
return () => vue.createVNode(stdin_default$1n, vue.mergeProps({
|
6101
|
+
"bem": bem$19,
|
6029
6102
|
"role": "radio",
|
6030
6103
|
"parent": parent,
|
6031
6104
|
"checked": checked(),
|
@@ -6033,14 +6106,97 @@
|
|
6033
6106
|
}, props2), pick(slots, ["default", "icon"]));
|
6034
6107
|
}
|
6035
6108
|
});
|
6036
|
-
const Radio = withInstall(stdin_default$
|
6037
|
-
const [name$
|
6038
|
-
|
6039
|
-
|
6109
|
+
const Radio = withInstall(stdin_default$1m);
|
6110
|
+
const [name$1c, bem$18] = createNamespace("checkbox");
|
6111
|
+
const checkboxProps = extend({}, checkerProps, {
|
6112
|
+
shape: String,
|
6113
|
+
bindGroup: truthProp,
|
6114
|
+
indeterminate: {
|
6115
|
+
type: Boolean,
|
6116
|
+
default: null
|
6117
|
+
}
|
6118
|
+
});
|
6119
|
+
var stdin_default$1l = vue.defineComponent({
|
6120
|
+
name: name$1c,
|
6121
|
+
props: checkboxProps,
|
6122
|
+
emits: ["change", "update:modelValue"],
|
6123
|
+
setup(props2, {
|
6124
|
+
emit,
|
6125
|
+
slots
|
6126
|
+
}) {
|
6127
|
+
const {
|
6128
|
+
parent
|
6129
|
+
} = useParent(CHECKBOX_GROUP_KEY);
|
6130
|
+
const setParentValue = (checked2) => {
|
6131
|
+
const {
|
6132
|
+
name: name2
|
6133
|
+
} = props2;
|
6134
|
+
const {
|
6135
|
+
max,
|
6136
|
+
modelValue
|
6137
|
+
} = parent.props;
|
6138
|
+
const value = modelValue.slice();
|
6139
|
+
if (checked2) {
|
6140
|
+
const overlimit = max && value.length >= +max;
|
6141
|
+
if (!overlimit && !value.includes(name2)) {
|
6142
|
+
value.push(name2);
|
6143
|
+
if (props2.bindGroup) {
|
6144
|
+
parent.updateValue(value);
|
6145
|
+
}
|
6146
|
+
}
|
6147
|
+
} else {
|
6148
|
+
const index = value.indexOf(name2);
|
6149
|
+
if (index !== -1) {
|
6150
|
+
value.splice(index, 1);
|
6151
|
+
if (props2.bindGroup) {
|
6152
|
+
parent.updateValue(value);
|
6153
|
+
}
|
6154
|
+
}
|
6155
|
+
}
|
6156
|
+
};
|
6157
|
+
const checked = vue.computed(() => {
|
6158
|
+
if (parent && props2.bindGroup) {
|
6159
|
+
return parent.props.modelValue.indexOf(props2.name) !== -1;
|
6160
|
+
}
|
6161
|
+
return !!props2.modelValue;
|
6162
|
+
});
|
6163
|
+
const toggle = (newValue = !checked.value) => {
|
6164
|
+
if (parent && props2.bindGroup) {
|
6165
|
+
setParentValue(newValue);
|
6166
|
+
} else {
|
6167
|
+
emit("update:modelValue", newValue);
|
6168
|
+
}
|
6169
|
+
if (props2.indeterminate !== null)
|
6170
|
+
emit("change", newValue);
|
6171
|
+
};
|
6172
|
+
vue.watch(() => props2.modelValue, (value) => {
|
6173
|
+
if (props2.indeterminate === null)
|
6174
|
+
emit("change", value);
|
6175
|
+
});
|
6176
|
+
useExpose({
|
6177
|
+
toggle,
|
6178
|
+
props: props2,
|
6179
|
+
checked
|
6180
|
+
});
|
6181
|
+
useCustomFieldValue(() => props2.modelValue);
|
6182
|
+
return () => vue.createVNode(stdin_default$1n, vue.mergeProps({
|
6183
|
+
"bem": bem$18,
|
6184
|
+
"role": "checkbox",
|
6185
|
+
"parent": parent,
|
6186
|
+
"checked": checked.value,
|
6187
|
+
"onToggle": toggle
|
6188
|
+
}, props2), pick(slots, ["default", "icon"]));
|
6189
|
+
}
|
6190
|
+
});
|
6191
|
+
const Checkbox = withInstall(stdin_default$1l);
|
6192
|
+
const [name$1b, bem$17] = createNamespace("address-item");
|
6193
|
+
var stdin_default$1k = vue.defineComponent({
|
6194
|
+
name: name$1b,
|
6040
6195
|
props: {
|
6041
6196
|
address: makeRequiredProp(Object),
|
6042
6197
|
disabled: Boolean,
|
6043
6198
|
switchable: Boolean,
|
6199
|
+
singleChoice: Boolean,
|
6044
6200
|
defaultTagText: String,
|
6045
6201
|
rightIcon: makeStringProp("edit")
|
6046
6202
|
},
|
@@ -6057,7 +6213,7 @@
|
|
6057
6213
|
};
|
6058
6214
|
const renderRightIcon = () => vue.createVNode(Icon, {
|
6059
6215
|
"name": props2.rightIcon,
|
6060
|
-
"class": bem$
|
6216
|
+
"class": bem$17("edit"),
|
6061
6217
|
"onClick": (event) => {
|
6062
6218
|
event.stopPropagation();
|
6063
6219
|
emit("edit");
|
@@ -6072,7 +6228,7 @@
|
|
6072
6228
|
return vue.createVNode(Tag, {
|
6073
6229
|
"type": "primary",
|
6074
6230
|
"round": true,
|
6075
|
-
"class": bem$
|
6231
|
+
"class": bem$17("tag")
|
6076
6232
|
}, {
|
6077
6233
|
default: () => [props2.defaultTagText]
|
6078
6234
|
});
|
@@ -6082,20 +6238,30 @@
|
|
6082
6238
|
const {
|
6083
6239
|
address,
|
6084
6240
|
disabled,
|
6085
|
-
switchable
|
6241
|
+
switchable,
|
6242
|
+
singleChoice
|
6086
6243
|
} = props2;
|
6087
6244
|
const Info = [vue.createVNode("div", {
|
6088
|
-
"class": bem$
|
6245
|
+
"class": bem$17("name")
|
6089
6246
|
}, [`${address.name} ${address.tel}`, renderTag()]), vue.createVNode("div", {
|
6090
|
-
"class": bem$
|
6247
|
+
"class": bem$17("address")
|
6091
6248
|
}, [address.address])];
|
6092
6249
|
if (switchable && !disabled) {
|
6093
|
-
|
6094
|
-
|
6095
|
-
|
6096
|
-
|
6097
|
-
|
6098
|
-
|
6250
|
+
if (singleChoice) {
|
6251
|
+
return vue.createVNode(Radio, {
|
6252
|
+
"name": address.id,
|
6253
|
+
"iconSize": 18
|
6254
|
+
}, {
|
6255
|
+
default: () => [Info]
|
6256
|
+
});
|
6257
|
+
} else {
|
6258
|
+
return vue.createVNode(Checkbox, {
|
6259
|
+
"name": address.id,
|
6260
|
+
"iconSize": 18
|
6261
|
+
}, {
|
6262
|
+
default: () => [Info]
|
6263
|
+
});
|
6264
|
+
}
|
6099
6265
|
}
|
6100
6266
|
return Info;
|
6101
6267
|
};
|
@@ -6105,13 +6271,13 @@
|
|
6105
6271
|
disabled
|
6106
6272
|
} = props2;
|
6107
6273
|
return vue.createVNode("div", {
|
6108
|
-
"class": bem$
|
6274
|
+
"class": bem$17({
|
6109
6275
|
disabled
|
6110
6276
|
}),
|
6111
6277
|
"onClick": onClick
|
6112
6278
|
}, [vue.createVNode(Cell, {
|
6113
6279
|
"border": false,
|
6114
|
-
"titleClass": bem$
|
6280
|
+
"titleClass": bem$17("title")
|
6115
6281
|
}, {
|
6116
6282
|
title: renderContent,
|
6117
6283
|
"right-icon": renderRightIcon
|
@@ -6121,10 +6287,10 @@
|
|
6121
6287
|
};
|
6122
6288
|
}
|
6123
6289
|
});
|
6124
|
-
const [name$
|
6290
|
+
const [name$1a, bem$16, t$h] = createNamespace("address-list");
|
6125
6291
|
const addressListProps = {
|
6126
6292
|
list: makeArrayProp(),
|
6127
|
-
modelValue: numericProp,
|
6293
|
+
modelValue: [...numericProp, Array],
|
6128
6294
|
switchable: truthProp,
|
6129
6295
|
disabledText: String,
|
6130
6296
|
disabledList: makeArrayProp(),
|
@@ -6133,14 +6299,15 @@
|
|
6133
6299
|
defaultTagText: String,
|
6134
6300
|
rightIcon: makeStringProp("edit")
|
6135
6301
|
};
|
6136
|
-
var stdin_default$
|
6137
|
-
name: name$
|
6302
|
+
var stdin_default$1j = vue.defineComponent({
|
6303
|
+
name: name$1a,
|
6138
6304
|
props: addressListProps,
|
6139
6305
|
emits: ["add", "edit", "select", "clickItem", "editDisabled", "selectDisabled", "update:modelValue"],
|
6140
6306
|
setup(props2, {
|
6141
6307
|
slots,
|
6142
6308
|
emit
|
6143
6309
|
}) {
|
6310
|
+
const singleChoice = vue.computed(() => !Array.isArray(props2.modelValue));
|
6144
6311
|
const renderItem = (item, index, disabled) => {
|
6145
6312
|
const onEdit = () => emit(disabled ? "editDisabled" : "edit", item, index);
|
6146
6313
|
const onClick = (event) => emit("clickItem", item, index, {
|
@@ -6149,14 +6316,24 @@
|
|
6149
6316
|
const onSelect = () => {
|
6150
6317
|
emit(disabled ? "selectDisabled" : "select", item, index);
|
6151
6318
|
if (!disabled) {
|
6152
|
-
|
6319
|
+
if (singleChoice.value) {
|
6320
|
+
emit("update:modelValue", item.id);
|
6321
|
+
} else {
|
6322
|
+
const value = props2.modelValue;
|
6323
|
+
if (value.includes(item.id)) {
|
6324
|
+
emit("update:modelValue", value.filter((id) => id !== item.id));
|
6325
|
+
} else {
|
6326
|
+
emit("update:modelValue", [...value, item.id]);
|
6327
|
+
}
|
6328
|
+
}
|
6153
6329
|
}
|
6154
6330
|
};
|
6155
|
-
return vue.createVNode(stdin_default$
|
6331
|
+
return vue.createVNode(stdin_default$1k, {
|
6156
6332
|
"key": item.id,
|
6157
6333
|
"address": item,
|
6158
6334
|
"disabled": disabled,
|
6159
6335
|
"switchable": props2.switchable,
|
6336
|
+
"singleChoice": singleChoice.value,
|
6160
6337
|
"defaultTagText": props2.defaultTagText,
|
6161
6338
|
"rightIcon": props2.rightIcon,
|
6162
6339
|
"onEdit": onEdit,
|
@@ -6173,13 +6350,13 @@
|
|
6173
6350
|
}
|
6174
6351
|
};
|
6175
6352
|
const renderBottom = () => props2.showAddButton ? vue.createVNode("div", {
|
6176
|
-
"class": [bem$
|
6353
|
+
"class": [bem$16("bottom"), "van-safe-area-bottom"]
|
6177
6354
|
}, [vue.createVNode(Button, {
|
6178
6355
|
"round": true,
|
6179
6356
|
"block": true,
|
6180
6357
|
"type": "primary",
|
6181
6358
|
"text": props2.addButtonText || t$h("add"),
|
6182
|
-
"class": bem$
|
6359
|
+
"class": bem$16("add"),
|
6183
6360
|
"onClick": () => emit("add")
|
6184
6361
|
}, null)]) : void 0;
|
6185
6362
|
return () => {
|
@@ -6187,11 +6364,15 @@
|
|
6187
6364
|
const List2 = renderList(props2.list);
|
6188
6365
|
const DisabledList = renderList(props2.disabledList, true);
|
6189
6366
|
const DisabledText = props2.disabledText && vue.createVNode("div", {
|
6190
|
-
"class": bem$
|
6367
|
+
"class": bem$16("disabled-text")
|
6191
6368
|
}, [props2.disabledText]);
|
6192
6369
|
return vue.createVNode("div", {
|
6193
|
-
"class": bem$
|
6194
|
-
}, [(_a = slots.top) == null ? void 0 : _a.call(slots), vue.createVNode(
|
6370
|
+
"class": bem$16()
|
6371
|
+
}, [(_a = slots.top) == null ? void 0 : _a.call(slots), !singleChoice.value && Array.isArray(props2.modelValue) ? vue.createVNode(CheckboxGroup, {
|
6372
|
+
"modelValue": props2.modelValue
|
6373
|
+
}, {
|
6374
|
+
default: () => [List2]
|
6375
|
+
}) : vue.createVNode(RadioGroup, {
|
6195
6376
|
"modelValue": props2.modelValue
|
6196
6377
|
}, {
|
6197
6378
|
default: () => [List2]
|
@@ -6199,7 +6380,7 @@
|
|
6199
6380
|
};
|
6200
6381
|
}
|
6201
6382
|
});
|
6202
|
-
const AddressList = withInstall(stdin_default$
|
6383
|
+
const AddressList = withInstall(stdin_default$1j);
|
6203
6384
|
const hasIntersectionObserver = inBrowser && "IntersectionObserver" in window && "IntersectionObserverEntry" in window && "intersectionRatio" in window.IntersectionObserverEntry.prototype;
|
6204
6385
|
const modeType = {
|
6205
6386
|
event: "event",
|
@@ -6352,7 +6533,7 @@
|
|
6352
6533
|
this.caches.shift();
|
6353
6534
|
}
|
6354
6535
|
}
|
6355
|
-
const [name$
|
6536
|
+
const [name$19, bem$15] = createNamespace("back-top");
|
6356
6537
|
const backTopProps = {
|
6357
6538
|
right: numericProp,
|
6358
6539
|
bottom: numericProp,
|
@@ -6365,8 +6546,8 @@
|
|
6365
6546
|
default: "body"
|
6366
6547
|
}
|
6367
6548
|
};
|
6368
|
-
var stdin_default$
|
6369
|
-
name: name$
|
6549
|
+
var stdin_default$1i = vue.defineComponent({
|
6550
|
+
name: name$19,
|
6370
6551
|
inheritAttrs: false,
|
6371
6552
|
props: backTopProps,
|
6372
6553
|
emits: ["click"],
|
@@ -6435,19 +6616,19 @@
|
|
6435
6616
|
return () => {
|
6436
6617
|
const Content = vue.createVNode("div", vue.mergeProps({
|
6437
6618
|
"ref": !props2.teleport ? root : void 0,
|
6438
|
-
"class": bem$
|
6619
|
+
"class": bem$15({
|
6439
6620
|
active: show.value
|
6440
6621
|
}),
|
6441
6622
|
"style": style.value,
|
6442
6623
|
"onClick": onClick
|
6443
6624
|
}, attrs), [slots.default ? slots.default() : vue.createVNode(Icon, {
|
6444
6625
|
"name": "back-top",
|
6445
|
-
"class": bem$
|
6626
|
+
"class": bem$15("icon")
|
6446
6627
|
}, null)]);
|
6447
6628
|
if (props2.teleport) {
|
6448
6629
|
return [vue.createVNode("div", {
|
6449
6630
|
"ref": root,
|
6450
|
-
"class": bem$
|
6631
|
+
"class": bem$15("placeholder")
|
6451
6632
|
}, null), vue.createVNode(vue.Teleport, {
|
6452
6633
|
"to": props2.teleport
|
6453
6634
|
}, {
|
@@ -6458,7 +6639,7 @@
|
|
6458
6639
|
};
|
6459
6640
|
}
|
6460
6641
|
});
|
6461
|
-
const BackTop = withInstall(stdin_default$
|
6642
|
+
const BackTop = withInstall(stdin_default$1i);
|
6462
6643
|
var __async = (__this, __arguments, generator) => {
|
6463
6644
|
return new Promise((resolve, reject) => {
|
6464
6645
|
var fulfilled = (value) => {
|
@@ -6487,9 +6668,9 @@
|
|
6487
6668
|
delay: makeNumberProp(300),
|
6488
6669
|
modelValue: makeArrayProp()
|
6489
6670
|
};
|
6490
|
-
const [name$
|
6491
|
-
var stdin_default$
|
6492
|
-
name: name$
|
6671
|
+
const [name$18, bem$14] = createNamespace("barrage");
|
6672
|
+
var stdin_default$1h = vue.defineComponent({
|
6673
|
+
name: name$18,
|
6493
6674
|
props: barrageProps,
|
6494
6675
|
emits: ["update:modelValue"],
|
6495
6676
|
setup(props2, {
|
@@ -6497,7 +6678,7 @@
|
|
6497
6678
|
slots
|
6498
6679
|
}) {
|
6499
6680
|
const barrageWrapper = vue.ref();
|
6500
|
-
const className = bem$
|
6681
|
+
const className = bem$14("item");
|
6501
6682
|
const total = vue.ref(0);
|
6502
6683
|
const barrageItems = [];
|
6503
6684
|
const createBarrageItem = (text, delay = props2.delay) => {
|
@@ -6578,15 +6759,15 @@
|
|
6578
6759
|
return () => {
|
6579
6760
|
var _a;
|
6580
6761
|
return vue.createVNode("div", {
|
6581
|
-
"class": bem$
|
6762
|
+
"class": bem$14(),
|
6582
6763
|
"ref": barrageWrapper,
|
6583
6764
|
"style": rootStyle.value
|
6584
6765
|
}, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
6585
6766
|
};
|
6586
6767
|
}
|
6587
6768
|
});
|
6588
|
-
const Barrage = withInstall(stdin_default$
|
6589
|
-
const [name$
|
6769
|
+
const Barrage = withInstall(stdin_default$1h);
|
6770
|
+
const [name$17, bem$13, t$g] = createNamespace("calendar");
|
6590
6771
|
const formatMonthTitle = (date) => t$g("monthTitle", date.getFullYear(), date.getMonth() + 1);
|
6591
6772
|
function compareMonth(date1, date2) {
|
6592
6773
|
const year1 = date1.getFullYear();
|
@@ -6680,9 +6861,9 @@
|
|
6680
6861
|
}
|
6681
6862
|
return value;
|
6682
6863
|
});
|
6683
|
-
const [name$
|
6684
|
-
var stdin_default$
|
6685
|
-
name: name$
|
6864
|
+
const [name$16] = createNamespace("calendar-day");
|
6865
|
+
var stdin_default$1g = vue.defineComponent({
|
6866
|
+
name: name$16,
|
6686
6867
|
props: {
|
6687
6868
|
item: makeRequiredProp(Object),
|
6688
6869
|
color: String,
|
@@ -6746,7 +6927,7 @@
|
|
6746
6927
|
} = props2.item;
|
6747
6928
|
if (topInfo || slots["top-info"]) {
|
6748
6929
|
return vue.createVNode("div", {
|
6749
|
-
"class": bem$
|
6930
|
+
"class": bem$13("top-info")
|
6750
6931
|
}, [slots["top-info"] ? slots["top-info"](props2.item) : topInfo]);
|
6751
6932
|
}
|
6752
6933
|
};
|
@@ -6756,7 +6937,7 @@
|
|
6756
6937
|
} = props2.item;
|
6757
6938
|
if (bottomInfo || slots["bottom-info"]) {
|
6758
6939
|
return vue.createVNode("div", {
|
6759
|
-
"class": bem$
|
6940
|
+
"class": bem$13("bottom-info")
|
6760
6941
|
}, [slots["bottom-info"] ? slots["bottom-info"](props2.item) : bottomInfo]);
|
6761
6942
|
}
|
6762
6943
|
};
|
@@ -6773,7 +6954,7 @@
|
|
6773
6954
|
const Nodes = [renderTopInfo(), text, renderBottomInfo()];
|
6774
6955
|
if (type === "selected") {
|
6775
6956
|
return vue.createVNode("div", {
|
6776
|
-
"class": bem$
|
6957
|
+
"class": bem$13("selected-day"),
|
6777
6958
|
"style": {
|
6778
6959
|
width: rowHeight,
|
6779
6960
|
height: rowHeight,
|
@@ -6790,21 +6971,21 @@
|
|
6790
6971
|
} = props2.item;
|
6791
6972
|
if (type === "placeholder") {
|
6792
6973
|
return vue.createVNode("div", {
|
6793
|
-
"class": bem$
|
6974
|
+
"class": bem$13("day"),
|
6794
6975
|
"style": style.value
|
6795
6976
|
}, null);
|
6796
6977
|
}
|
6797
6978
|
return vue.createVNode("div", {
|
6798
6979
|
"role": "gridcell",
|
6799
6980
|
"style": style.value,
|
6800
|
-
"class": [bem$
|
6981
|
+
"class": [bem$13("day", type), className],
|
6801
6982
|
"tabindex": type === "disabled" ? void 0 : -1,
|
6802
6983
|
"onClick": onClick
|
6803
6984
|
}, [renderContent()]);
|
6804
6985
|
};
|
6805
6986
|
}
|
6806
6987
|
});
|
6807
|
-
const [name$
|
6988
|
+
const [name$15] = createNamespace("calendar-month");
|
6808
6989
|
const calendarMonthProps = {
|
6809
6990
|
date: makeRequiredProp(Date),
|
6810
6991
|
type: String,
|
@@ -6821,8 +7002,8 @@
|
|
6821
7002
|
showMonthTitle: Boolean,
|
6822
7003
|
firstDayOfWeek: Number
|
6823
7004
|
};
|
6824
|
-
var stdin_default$
|
6825
|
-
name: name$
|
7005
|
+
var stdin_default$1f = vue.defineComponent({
|
7006
|
+
name: name$15,
|
6826
7007
|
props: calendarMonthProps,
|
6827
7008
|
emits: ["click", "clickDisabledDate"],
|
6828
7009
|
setup(props2, {
|
@@ -6929,7 +7110,7 @@
|
|
6929
7110
|
const renderTitle = () => {
|
6930
7111
|
if (props2.showMonthTitle) {
|
6931
7112
|
return vue.createVNode("div", {
|
6932
|
-
"class": bem$
|
7113
|
+
"class": bem$13("month-title")
|
6933
7114
|
}, [slots["month-title"] ? slots["month-title"]({
|
6934
7115
|
date: props2.date,
|
6935
7116
|
text: title.value
|
@@ -6939,7 +7120,7 @@
|
|
6939
7120
|
const renderMark = () => {
|
6940
7121
|
if (props2.showMark && shouldRender.value) {
|
6941
7122
|
return vue.createVNode("div", {
|
6942
|
-
"class": bem$
|
7123
|
+
"class": bem$13("month-mark")
|
6943
7124
|
}, [props2.date.getMonth() + 1]);
|
6944
7125
|
}
|
6945
7126
|
};
|
@@ -6979,7 +7160,7 @@
|
|
6979
7160
|
setScrollTop(body, daysRect.top + rowOffset + body.scrollTop - useRect(body).top);
|
6980
7161
|
}
|
6981
7162
|
};
|
6982
|
-
const renderDay = (item, index) => vue.createVNode(stdin_default$
|
7163
|
+
const renderDay = (item, index) => vue.createVNode(stdin_default$1g, {
|
6983
7164
|
"item": item,
|
6984
7165
|
"index": index,
|
6985
7166
|
"color": props2.color,
|
@@ -6991,7 +7172,7 @@
|
|
6991
7172
|
const renderDays = () => vue.createVNode("div", {
|
6992
7173
|
"ref": daysRef,
|
6993
7174
|
"role": "grid",
|
6994
|
-
"class": bem$
|
7175
|
+
"class": bem$13("days")
|
6995
7176
|
}, [renderMark(), (shouldRender.value ? days : placeholders).value.map(renderDay)]);
|
6996
7177
|
useExpose({
|
6997
7178
|
getTitle,
|
@@ -7001,14 +7182,14 @@
|
|
7001
7182
|
disabledDays
|
7002
7183
|
});
|
7003
7184
|
return () => vue.createVNode("div", {
|
7004
|
-
"class": bem$
|
7185
|
+
"class": bem$13("month"),
|
7005
7186
|
"ref": monthRef
|
7006
7187
|
}, [renderTitle(), renderDays()]);
|
7007
7188
|
}
|
7008
7189
|
});
|
7009
|
-
const [name$
|
7010
|
-
var stdin_default$
|
7011
|
-
name: name$
|
7190
|
+
const [name$14] = createNamespace("calendar-header");
|
7191
|
+
var stdin_default$1e = vue.defineComponent({
|
7192
|
+
name: name$14,
|
7012
7193
|
props: {
|
7013
7194
|
date: Date,
|
7014
7195
|
minDate: Date,
|
@@ -7046,7 +7227,7 @@
|
|
7046
7227
|
const text = props2.title || t$g("title");
|
7047
7228
|
const title = slots.title ? slots.title() : text;
|
7048
7229
|
return vue.createVNode("div", {
|
7049
|
-
"class": bem$
|
7230
|
+
"class": bem$13("header-title")
|
7050
7231
|
}, [title]);
|
7051
7232
|
}
|
7052
7233
|
};
|
@@ -7063,7 +7244,7 @@
|
|
7063
7244
|
const onMonthChange = () => onPanelChange((isNext ? getNextMonth : getPrevMonth)(props2.date));
|
7064
7245
|
const onYearChange = () => onPanelChange((isNext ? getNextYear : getPrevYear)(props2.date));
|
7065
7246
|
const MonthAction = vue.createVNode("view", {
|
7066
|
-
"class": bem$
|
7247
|
+
"class": bem$13("header-action", {
|
7067
7248
|
disabled: monthDisabled
|
7068
7249
|
}),
|
7069
7250
|
"onClick": monthDisabled ? void 0 : onMonthChange
|
@@ -7076,7 +7257,7 @@
|
|
7076
7257
|
"name": monthIconName
|
7077
7258
|
}, null)]);
|
7078
7259
|
const YearAction = showYearAction && vue.createVNode("view", {
|
7079
|
-
"class": bem$
|
7260
|
+
"class": bem$13("header-action", {
|
7080
7261
|
disabled: yearDisabled
|
7081
7262
|
}),
|
7082
7263
|
"onClick": yearDisabled ? void 0 : onYearChange
|
@@ -7098,12 +7279,12 @@
|
|
7098
7279
|
}) : props2.subtitle;
|
7099
7280
|
const canSwitch = props2.switchMode !== "none";
|
7100
7281
|
return vue.createVNode("div", {
|
7101
|
-
"class": bem$
|
7282
|
+
"class": bem$13("header-subtitle", {
|
7102
7283
|
"with-swicth": canSwitch
|
7103
7284
|
}),
|
7104
7285
|
"onClick": onClickSubtitle
|
7105
7286
|
}, [canSwitch ? [renderAction(), vue.createVNode("div", {
|
7106
|
-
"class": bem$
|
7287
|
+
"class": bem$13("header-subtitle-text")
|
7107
7288
|
}, [title]), renderAction(true)] : title]);
|
7108
7289
|
}
|
7109
7290
|
};
|
@@ -7114,13 +7295,13 @@
|
|
7114
7295
|
const weekdays = t$g("weekdays");
|
7115
7296
|
const renderWeekDays2 = [...weekdays.slice(firstDayOfWeek, 7), ...weekdays.slice(0, firstDayOfWeek)];
|
7116
7297
|
return vue.createVNode("div", {
|
7117
|
-
"class": bem$
|
7298
|
+
"class": bem$13("weekdays")
|
7118
7299
|
}, [renderWeekDays2.map((text) => vue.createVNode("span", {
|
7119
|
-
"class": bem$
|
7300
|
+
"class": bem$13("weekday")
|
7120
7301
|
}, [text]))]);
|
7121
7302
|
};
|
7122
7303
|
return () => vue.createVNode("div", {
|
7123
|
-
"class": bem$
|
7304
|
+
"class": bem$13("header")
|
7124
7305
|
}, [renderTitle(), renderSubtitle(), renderWeekDays()]);
|
7125
7306
|
}
|
7126
7307
|
});
|
@@ -7167,8 +7348,8 @@
|
|
7167
7348
|
validator: (val) => val >= 0 && val <= 6
|
7168
7349
|
}
|
7169
7350
|
};
|
7170
|
-
var stdin_default$
|
7171
|
-
name: name$
|
7351
|
+
var stdin_default$1d = vue.defineComponent({
|
7352
|
+
name: name$17,
|
7172
7353
|
props: calendarProps,
|
7173
7354
|
emits: ["select", "confirm", "unselect", "monthShow", "overRange", "update:show", "clickSubtitle", "clickDisabledDate", "panelChange"],
|
7174
7355
|
setup(props2, {
|
@@ -7458,7 +7639,7 @@
|
|
7458
7639
|
const updateShow = (value) => emit("update:show", value);
|
7459
7640
|
const renderMonth = (date, index) => {
|
7460
7641
|
const showMonthTitle = index !== 0 || !props2.showSubtitle;
|
7461
|
-
return vue.createVNode(stdin_default$
|
7642
|
+
return vue.createVNode(stdin_default$1f, vue.mergeProps({
|
7462
7643
|
"ref": canSwitch.value ? currentMonthRef : setMonthRefs(index),
|
7463
7644
|
"date": date,
|
7464
7645
|
"currentDate": currentDate.value,
|
@@ -7485,7 +7666,7 @@
|
|
7485
7666
|
"block": true,
|
7486
7667
|
"type": "primary",
|
7487
7668
|
"color": props2.color,
|
7488
|
-
"class": bem$
|
7669
|
+
"class": bem$13("confirm"),
|
7489
7670
|
"disabled": disabled,
|
7490
7671
|
"nativeType": "button",
|
7491
7672
|
"onClick": onConfirm
|
@@ -7497,15 +7678,15 @@
|
|
7497
7678
|
}
|
7498
7679
|
};
|
7499
7680
|
const renderFooter = () => vue.createVNode("div", {
|
7500
|
-
"class": [bem$
|
7681
|
+
"class": [bem$13("footer"), {
|
7501
7682
|
"van-safe-area-bottom": props2.safeAreaInsetBottom
|
7502
7683
|
}]
|
7503
7684
|
}, [renderFooterButton()]);
|
7504
7685
|
const renderCalendar = () => {
|
7505
7686
|
var _a, _b;
|
7506
7687
|
return vue.createVNode("div", {
|
7507
|
-
"class": bem$
|
7508
|
-
}, [vue.createVNode(stdin_default$
|
7688
|
+
"class": bem$13()
|
7689
|
+
}, [vue.createVNode(stdin_default$1e, {
|
7509
7690
|
"date": (_a = currentMonthRef.value) == null ? void 0 : _a.date,
|
7510
7691
|
"maxDate": maxDate.value,
|
7511
7692
|
"minDate": minDate.value,
|
@@ -7519,7 +7700,7 @@
|
|
7519
7700
|
"onPanelChange": onPanelChange
|
7520
7701
|
}, pick(slots, ["title", "subtitle", "prev-month", "prev-year", "next-month", "next-year"])), vue.createVNode("div", {
|
7521
7702
|
"ref": bodyRef,
|
7522
|
-
"class": bem$
|
7703
|
+
"class": bem$13("body"),
|
7523
7704
|
"onScroll": canSwitch.value ? void 0 : onScroll
|
7524
7705
|
}, [canSwitch.value ? renderMonth(currentPanelDate.value, 0) : months.value.map(renderMonth)]), renderFooter()]);
|
7525
7706
|
};
|
@@ -7539,7 +7720,7 @@
|
|
7539
7720
|
if (props2.poppable) {
|
7540
7721
|
return vue.createVNode(Popup, {
|
7541
7722
|
"show": props2.show,
|
7542
|
-
"class": bem$
|
7723
|
+
"class": bem$13("popup"),
|
7543
7724
|
"round": props2.round,
|
7544
7725
|
"position": props2.position,
|
7545
7726
|
"closeable": props2.showTitle || props2.showSubtitle,
|
@@ -7556,8 +7737,8 @@
|
|
7556
7737
|
};
|
7557
7738
|
}
|
7558
7739
|
});
|
7559
|
-
const Calendar = withInstall(stdin_default$
|
7560
|
-
const [name$
|
7740
|
+
const Calendar = withInstall(stdin_default$1d);
|
7741
|
+
const [name$13, bem$12] = createNamespace("image");
|
7561
7742
|
const imageProps = {
|
7562
7743
|
src: String,
|
7563
7744
|
alt: String,
|
@@ -7578,8 +7759,8 @@
|
|
7578
7759
|
crossorigin: String,
|
7579
7760
|
referrerpolicy: String
|
7580
7761
|
};
|
7581
|
-
var stdin_default$
|
7582
|
-
name: name$
|
7762
|
+
var stdin_default$1c = vue.defineComponent({
|
7763
|
+
name: name$13,
|
7583
7764
|
props: imageProps,
|
7584
7765
|
emits: ["load", "error"],
|
7585
7766
|
setup(props2, {
|
@@ -7640,13 +7821,13 @@
|
|
7640
7821
|
const renderPlaceholder = () => {
|
7641
7822
|
if (loading.value && props2.showLoading) {
|
7642
7823
|
return vue.createVNode("div", {
|
7643
|
-
"class": bem$
|
7644
|
-
}, [renderIcon(props2.loadingIcon, bem$
|
7824
|
+
"class": bem$12("loading")
|
7825
|
+
}, [renderIcon(props2.loadingIcon, bem$12("loading-icon"), slots.loading)]);
|
7645
7826
|
}
|
7646
7827
|
if (error.value && props2.showError) {
|
7647
7828
|
return vue.createVNode("div", {
|
7648
|
-
"class": bem$
|
7649
|
-
}, [renderIcon(props2.errorIcon, bem$
|
7829
|
+
"class": bem$12("error")
|
7830
|
+
}, [renderIcon(props2.errorIcon, bem$12("error-icon"), slots.error)]);
|
7650
7831
|
}
|
7651
7832
|
};
|
7652
7833
|
const renderImage = () => {
|
@@ -7655,7 +7836,7 @@
|
|
7655
7836
|
}
|
7656
7837
|
const attrs = {
|
7657
7838
|
alt: props2.alt,
|
7658
|
-
class: bem$
|
7839
|
+
class: bem$12("img"),
|
7659
7840
|
style: {
|
7660
7841
|
objectFit: props2.fit,
|
7661
7842
|
objectPosition: props2.position
|
@@ -7715,7 +7896,7 @@
|
|
7715
7896
|
return () => {
|
7716
7897
|
var _a;
|
7717
7898
|
return vue.createVNode("div", {
|
7718
|
-
"class": bem$
|
7899
|
+
"class": bem$12({
|
7719
7900
|
round: props2.round,
|
7720
7901
|
block: props2.block
|
7721
7902
|
}),
|
@@ -7724,8 +7905,8 @@
|
|
7724
7905
|
};
|
7725
7906
|
}
|
7726
7907
|
});
|
7727
|
-
const Image$1 = withInstall(stdin_default$
|
7728
|
-
const [name$
|
7908
|
+
const Image$1 = withInstall(stdin_default$1c);
|
7909
|
+
const [name$12, bem$11] = createNamespace("card");
|
7729
7910
|
const cardProps = {
|
7730
7911
|
tag: String,
|
7731
7912
|
num: numericProp,
|
@@ -7739,8 +7920,8 @@
|
|
7739
7920
|
thumbLink: String,
|
7740
7921
|
originPrice: numericProp
|
7741
7922
|
};
|
7742
|
-
var stdin_default$
|
7743
|
-
name: name$
|
7923
|
+
var stdin_default$1b = vue.defineComponent({
|
7924
|
+
name: name$12,
|
7744
7925
|
props: cardProps,
|
7745
7926
|
emits: ["clickThumb"],
|
7746
7927
|
setup(props2, {
|
@@ -7753,14 +7934,14 @@
|
|
7753
7934
|
}
|
7754
7935
|
if (props2.title) {
|
7755
7936
|
return vue.createVNode("div", {
|
7756
|
-
"class": [bem$
|
7937
|
+
"class": [bem$11("title"), "van-multi-ellipsis--l2"]
|
7757
7938
|
}, [props2.title]);
|
7758
7939
|
}
|
7759
7940
|
};
|
7760
7941
|
const renderThumbTag = () => {
|
7761
7942
|
if (slots.tag || props2.tag) {
|
7762
7943
|
return vue.createVNode("div", {
|
7763
|
-
"class": bem$
|
7944
|
+
"class": bem$11("tag")
|
7764
7945
|
}, [slots.tag ? slots.tag() : vue.createVNode(Tag, {
|
7765
7946
|
"mark": true,
|
7766
7947
|
"type": "primary"
|
@@ -7785,7 +7966,7 @@
|
|
7785
7966
|
if (slots.thumb || props2.thumb) {
|
7786
7967
|
return vue.createVNode("a", {
|
7787
7968
|
"href": props2.thumbLink,
|
7788
|
-
"class": bem$
|
7969
|
+
"class": bem$11("thumb"),
|
7789
7970
|
"onClick": (event) => emit("clickThumb", event)
|
7790
7971
|
}, [renderThumbImage(), renderThumbTag()]);
|
7791
7972
|
}
|
@@ -7796,19 +7977,19 @@
|
|
7796
7977
|
}
|
7797
7978
|
if (props2.desc) {
|
7798
7979
|
return vue.createVNode("div", {
|
7799
|
-
"class": [bem$
|
7980
|
+
"class": [bem$11("desc"), "van-ellipsis"]
|
7800
7981
|
}, [props2.desc]);
|
7801
7982
|
}
|
7802
7983
|
};
|
7803
7984
|
const renderPriceText = () => {
|
7804
7985
|
const priceArr = props2.price.toString().split(".");
|
7805
7986
|
return vue.createVNode("div", null, [vue.createVNode("span", {
|
7806
|
-
"class": bem$
|
7987
|
+
"class": bem$11("price-currency")
|
7807
7988
|
}, [props2.currency]), vue.createVNode("span", {
|
7808
|
-
"class": bem$
|
7809
|
-
}, [priceArr[0]]), vue.createTextVNode("."), vue.createVNode("span", {
|
7810
|
-
"class": bem$
|
7811
|
-
}, [priceArr[1]])]);
|
7989
|
+
"class": bem$11("price-integer")
|
7990
|
+
}, [priceArr[0]]), priceArr.length > 1 && vue.createVNode(vue.Fragment, null, [vue.createTextVNode("."), vue.createVNode("span", {
|
7991
|
+
"class": bem$11("price-decimal")
|
7992
|
+
}, [priceArr[1]])])]);
|
7812
7993
|
};
|
7813
7994
|
return () => {
|
7814
7995
|
var _a, _b, _c;
|
@@ -7817,34 +7998,34 @@
|
|
7817
7998
|
const showOriginPrice = slots["origin-price"] || isDef(props2.originPrice);
|
7818
7999
|
const showBottom = showNum || showPrice || showOriginPrice || slots.bottom;
|
7819
8000
|
const Price = showPrice && vue.createVNode("div", {
|
7820
|
-
"class": bem$
|
8001
|
+
"class": bem$11("price")
|
7821
8002
|
}, [slots.price ? slots.price() : renderPriceText()]);
|
7822
8003
|
const OriginPrice = showOriginPrice && vue.createVNode("div", {
|
7823
|
-
"class": bem$
|
8004
|
+
"class": bem$11("origin-price")
|
7824
8005
|
}, [slots["origin-price"] ? slots["origin-price"]() : `${props2.currency} ${props2.originPrice}`]);
|
7825
8006
|
const Num = showNum && vue.createVNode("div", {
|
7826
|
-
"class": bem$
|
8007
|
+
"class": bem$11("num")
|
7827
8008
|
}, [slots.num ? slots.num() : `x${props2.num}`]);
|
7828
8009
|
const Footer = slots.footer && vue.createVNode("div", {
|
7829
|
-
"class": bem$
|
8010
|
+
"class": bem$11("footer")
|
7830
8011
|
}, [slots.footer()]);
|
7831
8012
|
const Bottom = showBottom && vue.createVNode("div", {
|
7832
|
-
"class": bem$
|
8013
|
+
"class": bem$11("bottom")
|
7833
8014
|
}, [(_a = slots["price-top"]) == null ? void 0 : _a.call(slots), Price, OriginPrice, Num, (_b = slots.bottom) == null ? void 0 : _b.call(slots)]);
|
7834
8015
|
return vue.createVNode("div", {
|
7835
|
-
"class": bem$
|
8016
|
+
"class": bem$11()
|
7836
8017
|
}, [vue.createVNode("div", {
|
7837
|
-
"class": bem$
|
8018
|
+
"class": bem$11("header")
|
7838
8019
|
}, [renderThumb(), vue.createVNode("div", {
|
7839
|
-
"class": bem$
|
8020
|
+
"class": bem$11("content", {
|
7840
8021
|
centered: props2.centered
|
7841
8022
|
})
|
7842
8023
|
}, [vue.createVNode("div", null, [renderTitle(), renderDesc(), (_c = slots.tags) == null ? void 0 : _c.call(slots)]), Bottom])]), Footer]);
|
7843
8024
|
};
|
7844
8025
|
}
|
7845
8026
|
});
|
7846
|
-
const Card = withInstall(stdin_default$
|
7847
|
-
const [name$
|
8027
|
+
const Card = withInstall(stdin_default$1b);
|
8028
|
+
const [name$11, bem$10, t$f] = createNamespace("cascader");
|
7848
8029
|
const cascaderProps = {
|
7849
8030
|
title: String,
|
7850
8031
|
options: makeArrayProp(),
|
@@ -7857,8 +8038,8 @@
|
|
7857
8038
|
placeholder: String,
|
7858
8039
|
activeColor: String
|
7859
8040
|
};
|
7860
|
-
var stdin_default$
|
7861
|
-
name: name$
|
8041
|
+
var stdin_default$1a = vue.defineComponent({
|
8042
|
+
name: name$11,
|
7862
8043
|
props: cascaderProps,
|
7863
8044
|
emits: ["close", "change", "finish", "clickTab", "update:modelValue"],
|
7864
8045
|
setup(props2, {
|
@@ -7967,12 +8148,12 @@
|
|
7967
8148
|
title
|
7968
8149
|
}) => emit("clickTab", name2, title);
|
7969
8150
|
const renderHeader = () => props2.showHeader ? vue.createVNode("div", {
|
7970
|
-
"class": bem$
|
8151
|
+
"class": bem$10("header")
|
7971
8152
|
}, [vue.createVNode("h2", {
|
7972
|
-
"class": bem$
|
8153
|
+
"class": bem$10("title")
|
7973
8154
|
}, [slots.title ? slots.title() : props2.title]), props2.closeable ? vue.createVNode(Icon, {
|
7974
8155
|
"name": props2.closeIcon,
|
7975
|
-
"class": [bem$
|
8156
|
+
"class": [bem$10("close-icon"), HAPTICS_FEEDBACK],
|
7976
8157
|
"onClick": onClose
|
7977
8158
|
}, null) : null]) : null;
|
7978
8159
|
const renderOption = (option, selectedOption, tabIndex) => {
|
@@ -7988,7 +8169,7 @@
|
|
7988
8169
|
return vue.createVNode("li", {
|
7989
8170
|
"ref": selected ? setSelectedElementRefs(tabIndex) : void 0,
|
7990
8171
|
"role": "menuitemradio",
|
7991
|
-
"class": [bem$
|
8172
|
+
"class": [bem$10("option", {
|
7992
8173
|
selected,
|
7993
8174
|
disabled
|
7994
8175
|
}), option.className],
|
@@ -8001,12 +8182,12 @@
|
|
8001
8182
|
"onClick": () => onSelect(option, tabIndex)
|
8002
8183
|
}, [Text, selected ? vue.createVNode(Icon, {
|
8003
8184
|
"name": "success",
|
8004
|
-
"class": bem$
|
8185
|
+
"class": bem$10("selected-icon")
|
8005
8186
|
}, null) : null]);
|
8006
8187
|
};
|
8007
8188
|
const renderOptions = (options, selectedOption, tabIndex) => vue.createVNode("ul", {
|
8008
8189
|
"role": "menu",
|
8009
|
-
"class": bem$
|
8190
|
+
"class": bem$10("options")
|
8010
8191
|
}, [options.map((option) => renderOption(option, selectedOption, tabIndex))]);
|
8011
8192
|
const renderTab = (tab, tabIndex) => {
|
8012
8193
|
const {
|
@@ -8017,7 +8198,7 @@
|
|
8017
8198
|
const title = selected ? selected[textKey] : placeholder;
|
8018
8199
|
return vue.createVNode(Tab, {
|
8019
8200
|
"title": title,
|
8020
|
-
"titleClass": bem$
|
8201
|
+
"titleClass": bem$10("tab", {
|
8021
8202
|
unselected: !selected
|
8022
8203
|
})
|
8023
8204
|
}, {
|
@@ -8036,7 +8217,7 @@
|
|
8036
8217
|
"onUpdate:active": ($event) => activeTab.value = $event,
|
8037
8218
|
"shrink": true,
|
8038
8219
|
"animated": true,
|
8039
|
-
"class": bem$
|
8220
|
+
"class": bem$10("tabs"),
|
8040
8221
|
"color": props2.activeColor,
|
8041
8222
|
"swipeable": props2.swipeable,
|
8042
8223
|
"onClickTab": onClickTab
|
@@ -8071,19 +8252,19 @@
|
|
8071
8252
|
updateTabs();
|
8072
8253
|
});
|
8073
8254
|
return () => vue.createVNode("div", {
|
8074
|
-
"class": bem$
|
8255
|
+
"class": bem$10()
|
8075
8256
|
}, [renderHeader(), renderTabs()]);
|
8076
8257
|
}
|
8077
8258
|
});
|
8078
|
-
const Cascader = withInstall(stdin_default$
|
8079
|
-
const [name$
|
8259
|
+
const Cascader = withInstall(stdin_default$1a);
|
8260
|
+
const [name$10, bem$$] = createNamespace("cell-group");
|
8080
8261
|
const cellGroupProps = {
|
8081
8262
|
title: String,
|
8082
8263
|
inset: Boolean,
|
8083
8264
|
border: truthProp
|
8084
8265
|
};
|
8085
|
-
var stdin_default$
|
8086
|
-
name: name$
|
8266
|
+
var stdin_default$19 = vue.defineComponent({
|
8267
|
+
name: name$10,
|
8087
8268
|
inheritAttrs: false,
|
8088
8269
|
props: cellGroupProps,
|
8089
8270
|
setup(props2, {
|
@@ -8093,7 +8274,7 @@
|
|
8093
8274
|
const renderGroup = () => {
|
8094
8275
|
var _a;
|
8095
8276
|
return vue.createVNode("div", vue.mergeProps({
|
8096
|
-
"class": [bem
|
8277
|
+
"class": [bem$$({
|
8097
8278
|
inset: props2.inset
|
8098
8279
|
}), {
|
8099
8280
|
[BORDER_TOP_BOTTOM]: props2.border && !props2.inset
|
@@ -8101,7 +8282,7 @@
|
|
8101
8282
|
}, attrs, useScopeId()), [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
8102
8283
|
};
|
8103
8284
|
const renderTitle = () => vue.createVNode("div", {
|
8104
|
-
"class": bem
|
8285
|
+
"class": bem$$("title", {
|
8105
8286
|
inset: props2.inset
|
8106
8287
|
})
|
8107
8288
|
}, [slots.title ? slots.title() : props2.title]);
|
@@ -8113,153 +8294,7 @@
|
|
8113
8294
|
};
|
8114
8295
|
}
|
8115
8296
|
});
|
8116
|
-
const CellGroup = withInstall(stdin_default$
|
8117
|
-
const [name$11, bem$10] = createNamespace("checkbox-group");
|
8118
|
-
const checkboxGroupProps = {
|
8119
|
-
max: numericProp,
|
8120
|
-
shape: makeStringProp("round"),
|
8121
|
-
disabled: Boolean,
|
8122
|
-
iconSize: numericProp,
|
8123
|
-
direction: String,
|
8124
|
-
modelValue: makeArrayProp(),
|
8125
|
-
checkedColor: String
|
8126
|
-
};
|
8127
|
-
const CHECKBOX_GROUP_KEY = Symbol(name$11);
|
8128
|
-
var stdin_default$1a = vue.defineComponent({
|
8129
|
-
name: name$11,
|
8130
|
-
props: checkboxGroupProps,
|
8131
|
-
emits: ["change", "update:modelValue"],
|
8132
|
-
setup(props2, {
|
8133
|
-
emit,
|
8134
|
-
slots
|
8135
|
-
}) {
|
8136
|
-
const {
|
8137
|
-
children,
|
8138
|
-
linkChildren
|
8139
|
-
} = useChildren(CHECKBOX_GROUP_KEY);
|
8140
|
-
const updateValue = (value) => emit("update:modelValue", value);
|
8141
|
-
const toggleAll = (options = {}) => {
|
8142
|
-
if (typeof options === "boolean") {
|
8143
|
-
options = {
|
8144
|
-
checked: options
|
8145
|
-
};
|
8146
|
-
}
|
8147
|
-
const {
|
8148
|
-
checked,
|
8149
|
-
skipDisabled
|
8150
|
-
} = options;
|
8151
|
-
const checkedChildren = children.filter((item) => {
|
8152
|
-
if (!item.props.bindGroup) {
|
8153
|
-
return false;
|
8154
|
-
}
|
8155
|
-
if (item.props.disabled && skipDisabled) {
|
8156
|
-
return item.checked.value;
|
8157
|
-
}
|
8158
|
-
return checked != null ? checked : !item.checked.value;
|
8159
|
-
});
|
8160
|
-
const names = checkedChildren.map((item) => item.name);
|
8161
|
-
updateValue(names);
|
8162
|
-
};
|
8163
|
-
vue.watch(() => props2.modelValue, (value) => emit("change", value));
|
8164
|
-
useExpose({
|
8165
|
-
toggleAll
|
8166
|
-
});
|
8167
|
-
useCustomFieldValue(() => props2.modelValue);
|
8168
|
-
linkChildren({
|
8169
|
-
props: props2,
|
8170
|
-
updateValue
|
8171
|
-
});
|
8172
|
-
return () => {
|
8173
|
-
var _a;
|
8174
|
-
return vue.createVNode("div", {
|
8175
|
-
"class": bem$10([props2.direction])
|
8176
|
-
}, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
|
8177
|
-
};
|
8178
|
-
}
|
8179
|
-
});
|
8180
|
-
const [name$10, bem$$] = createNamespace("checkbox");
|
8181
|
-
const checkboxProps = extend({}, checkerProps, {
|
8182
|
-
shape: String,
|
8183
|
-
bindGroup: truthProp,
|
8184
|
-
indeterminate: {
|
8185
|
-
type: Boolean,
|
8186
|
-
default: null
|
8187
|
-
}
|
8188
|
-
});
|
8189
|
-
var stdin_default$19 = vue.defineComponent({
|
8190
|
-
name: name$10,
|
8191
|
-
props: checkboxProps,
|
8192
|
-
emits: ["change", "update:modelValue"],
|
8193
|
-
setup(props2, {
|
8194
|
-
emit,
|
8195
|
-
slots
|
8196
|
-
}) {
|
8197
|
-
const {
|
8198
|
-
parent
|
8199
|
-
} = useParent(CHECKBOX_GROUP_KEY);
|
8200
|
-
const setParentValue = (checked2) => {
|
8201
|
-
const {
|
8202
|
-
name: name2
|
8203
|
-
} = props2;
|
8204
|
-
const {
|
8205
|
-
max,
|
8206
|
-
modelValue
|
8207
|
-
} = parent.props;
|
8208
|
-
const value = modelValue.slice();
|
8209
|
-
if (checked2) {
|
8210
|
-
const overlimit = max && value.length >= +max;
|
8211
|
-
if (!overlimit && !value.includes(name2)) {
|
8212
|
-
value.push(name2);
|
8213
|
-
if (props2.bindGroup) {
|
8214
|
-
parent.updateValue(value);
|
8215
|
-
}
|
8216
|
-
}
|
8217
|
-
} else {
|
8218
|
-
const index = value.indexOf(name2);
|
8219
|
-
if (index !== -1) {
|
8220
|
-
value.splice(index, 1);
|
8221
|
-
if (props2.bindGroup) {
|
8222
|
-
parent.updateValue(value);
|
8223
|
-
}
|
8224
|
-
}
|
8225
|
-
}
|
8226
|
-
};
|
8227
|
-
const checked = vue.computed(() => {
|
8228
|
-
if (parent && props2.bindGroup) {
|
8229
|
-
return parent.props.modelValue.indexOf(props2.name) !== -1;
|
8230
|
-
}
|
8231
|
-
return !!props2.modelValue;
|
8232
|
-
});
|
8233
|
-
const toggle = (newValue = !checked.value) => {
|
8234
|
-
if (parent && props2.bindGroup) {
|
8235
|
-
setParentValue(newValue);
|
8236
|
-
} else {
|
8237
|
-
emit("update:modelValue", newValue);
|
8238
|
-
}
|
8239
|
-
if (props2.indeterminate !== null)
|
8240
|
-
emit("change", newValue);
|
8241
|
-
};
|
8242
|
-
vue.watch(() => props2.modelValue, (value) => {
|
8243
|
-
if (props2.indeterminate === null)
|
8244
|
-
emit("change", value);
|
8245
|
-
});
|
8246
|
-
useExpose({
|
8247
|
-
toggle,
|
8248
|
-
props: props2,
|
8249
|
-
checked
|
8250
|
-
});
|
8251
|
-
useCustomFieldValue(() => props2.modelValue);
|
8252
|
-
return () => vue.createVNode(stdin_default$1o, vue.mergeProps({
|
8253
|
-
"bem": bem$$,
|
8254
|
-
"role": "checkbox",
|
8255
|
-
"parent": parent,
|
8256
|
-
"checked": checked.value,
|
8257
|
-
"onToggle": toggle
|
8258
|
-
}, props2), pick(slots, ["default", "icon"]));
|
8259
|
-
}
|
8260
|
-
});
|
8261
|
-
const Checkbox = withInstall(stdin_default$19);
|
8262
|
-
const CheckboxGroup = withInstall(stdin_default$1a);
|
8297
|
+
const CellGroup = withInstall(stdin_default$19);
|
8263
8298
|
const [name$$, bem$_] = createNamespace("circle");
|
8264
8299
|
let uid = 0;
|
8265
8300
|
const format = (rate) => Math.min(Math.max(+rate, 0), 100);
|
@@ -10766,6 +10801,16 @@
|
|
10766
10801
|
useEventListener("touchmove", onTouchmove, {
|
10767
10802
|
target: rootRef
|
10768
10803
|
});
|
10804
|
+
const renderHeader = () => {
|
10805
|
+
if (slots.header) {
|
10806
|
+
return slots.header();
|
10807
|
+
}
|
10808
|
+
return vue.createVNode("div", {
|
10809
|
+
"class": bem$I("header")
|
10810
|
+
}, [vue.createVNode("div", {
|
10811
|
+
"class": bem$I("header-bar")
|
10812
|
+
}, null)]);
|
10813
|
+
};
|
10769
10814
|
return () => {
|
10770
10815
|
var _a;
|
10771
10816
|
return vue.createVNode("div", {
|
@@ -10777,11 +10822,7 @@
|
|
10777
10822
|
"onTouchstartPassive": onTouchstart,
|
10778
10823
|
"onTouchend": onTouchend,
|
10779
10824
|
"onTouchcancel": onTouchend
|
10780
|
-
}, [vue.createVNode("div", {
|
10781
|
-
"class": bem$I("header")
|
10782
|
-
}, [vue.createVNode("div", {
|
10783
|
-
"class": bem$I("header-bar")
|
10784
|
-
}, null)]), vue.createVNode("div", {
|
10825
|
+
}, [renderHeader(), vue.createVNode("div", {
|
10785
10826
|
"class": bem$I("content"),
|
10786
10827
|
"ref": contentRef
|
10787
10828
|
}, [(_a = slots.default) == null ? void 0 : _a.call(slots)])]);
|
@@ -15937,6 +15978,7 @@
|
|
15937
15978
|
"readonly": props2.disableInput,
|
15938
15979
|
"inputmode": props2.integer ? "numeric" : "decimal",
|
15939
15980
|
"placeholder": props2.placeholder,
|
15981
|
+
"autocomplete": "off",
|
15940
15982
|
"aria-valuemax": props2.max,
|
15941
15983
|
"aria-valuemin": props2.min,
|
15942
15984
|
"aria-valuenow": current2.value,
|
@@ -18214,7 +18256,7 @@
|
|
18214
18256
|
});
|
18215
18257
|
}
|
18216
18258
|
};
|
18217
|
-
const version = "4.9.
|
18259
|
+
const version = "4.9.2";
|
18218
18260
|
function install(app) {
|
18219
18261
|
const components = [
|
18220
18262
|
ActionBar,
|