persagy-vant 0.0.42 → 0.0.43
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/action-sheet/ActionSheet.d.ts +4 -0
- package/es/action-sheet/ActionSheet.mjs +4 -1
- package/es/action-sheet/index.css +1 -1
- package/es/action-sheet/index.d.ts +3 -0
- package/es/action-sheet/index.less +4 -0
- package/es/index.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/es/locale/lang/en-US.d.ts +6 -0
- package/es/locale/lang/en-US.mjs +6 -0
- package/es/locale/lang/zh-CN.d.ts +6 -0
- package/es/locale/lang/zh-CN.mjs +6 -0
- package/es/uploader/Uploader.d.ts +6 -1
- package/es/uploader/Uploader.mjs +80 -19
- package/es/uploader/index.css +1 -1
- package/es/uploader/index.d.ts +6 -2
- package/es/uploader/index.less +4 -0
- package/es/uploader/style/index.mjs +3 -0
- package/es/uploader/style/less.mjs +3 -0
- package/es/uploader/types.d.ts +2 -1
- package/lib/action-sheet/ActionSheet.d.ts +4 -0
- package/lib/action-sheet/ActionSheet.js +4 -1
- package/lib/action-sheet/index.css +1 -1
- package/lib/action-sheet/index.d.ts +3 -0
- package/lib/action-sheet/index.less +4 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/locale/lang/en-US.d.ts +6 -0
- package/lib/locale/lang/en-US.js +6 -0
- package/lib/locale/lang/zh-CN.d.ts +6 -0
- package/lib/locale/lang/zh-CN.js +6 -0
- package/lib/uploader/Uploader.d.ts +6 -1
- package/lib/uploader/Uploader.js +79 -18
- package/lib/uploader/index.css +1 -1
- package/lib/uploader/index.d.ts +6 -2
- package/lib/uploader/index.less +4 -0
- package/lib/uploader/style/index.js +3 -0
- package/lib/uploader/style/less.js +3 -0
- package/lib/uploader/types.d.ts +2 -1
- package/lib/vant.cjs.js +89 -20
- package/lib/vant.es.js +89 -20
- package/lib/vant.js +89 -20
- package/lib/vant.min.js +1 -1
- package/lib/web-types.json +1 -1
- package/package.json +1 -1
- package/skills/use-persagy-vant/references/component-catalog.md +1 -1
package/lib/vant.es.js
CHANGED
|
@@ -299,6 +299,12 @@ var stdin_default$29 = {
|
|
|
299
299
|
},
|
|
300
300
|
vanTabs: {
|
|
301
301
|
moreTitle: "更多标签"
|
|
302
|
+
},
|
|
303
|
+
vanUploader: {
|
|
304
|
+
sourcePickerTitle: "选择上传方式",
|
|
305
|
+
takePhoto: "拍照",
|
|
306
|
+
recordVideo: "拍视频",
|
|
307
|
+
chooseFromAlbum: "从相册选择"
|
|
302
308
|
}
|
|
303
309
|
};
|
|
304
310
|
const lang = ref("zh-CN");
|
|
@@ -1784,6 +1790,7 @@ const actionSheetProps = extend({}, popupSharedProps, {
|
|
|
1784
1790
|
closeable: truthProp,
|
|
1785
1791
|
cancelText: String,
|
|
1786
1792
|
description: String,
|
|
1793
|
+
contentAdaptive: Boolean,
|
|
1787
1794
|
closeOnPopstate: truthProp,
|
|
1788
1795
|
closeOnClickAction: Boolean,
|
|
1789
1796
|
safeAreaInsetBottom: truthProp
|
|
@@ -1892,7 +1899,9 @@ var stdin_default$1W = defineComponent({
|
|
|
1892
1899
|
}
|
|
1893
1900
|
};
|
|
1894
1901
|
return () => createVNode(Popup, mergeProps({
|
|
1895
|
-
"class": bem$1I(
|
|
1902
|
+
"class": bem$1I({
|
|
1903
|
+
"content-adaptive": props2.contentAdaptive
|
|
1904
|
+
}),
|
|
1896
1905
|
"position": "bottom",
|
|
1897
1906
|
"onUpdate:show": updateShow
|
|
1898
1907
|
}, pick(props2, popupInheritKeys$2)), {
|
|
@@ -19215,6 +19224,7 @@ const uploaderProps = {
|
|
|
19215
19224
|
accept: makeStringProp("image/*"),
|
|
19216
19225
|
capture: String,
|
|
19217
19226
|
multiple: Boolean,
|
|
19227
|
+
sourcePicker: Boolean,
|
|
19218
19228
|
label: String,
|
|
19219
19229
|
required: Boolean,
|
|
19220
19230
|
disabled: Boolean,
|
|
@@ -19244,21 +19254,26 @@ const uploaderProps = {
|
|
|
19244
19254
|
var stdin_default$7 = defineComponent({
|
|
19245
19255
|
name: name$3,
|
|
19246
19256
|
props: uploaderProps,
|
|
19247
|
-
emits: ["delete", "oversize", "click-upload", "close-preview", "click-preview", "update:modelValue"],
|
|
19257
|
+
emits: ["delete", "oversize", "click-upload", "close-preview", "click-preview", "select-source", "update:modelValue"],
|
|
19248
19258
|
setup(props2, {
|
|
19249
19259
|
emit,
|
|
19250
19260
|
slots
|
|
19251
19261
|
}) {
|
|
19252
19262
|
const inputRef = ref();
|
|
19263
|
+
const cameraInputRef = ref();
|
|
19264
|
+
const videoInputRef = ref();
|
|
19265
|
+
const sourcePickerVisible = ref(false);
|
|
19253
19266
|
const urls = [];
|
|
19254
19267
|
const getDetail = (index = props2.modelValue.length) => ({
|
|
19255
19268
|
name: props2.name,
|
|
19256
19269
|
index
|
|
19257
19270
|
});
|
|
19258
19271
|
const resetInput = () => {
|
|
19259
|
-
|
|
19260
|
-
|
|
19261
|
-
|
|
19272
|
+
[inputRef, cameraInputRef, videoInputRef].forEach((input) => {
|
|
19273
|
+
if (input.value) {
|
|
19274
|
+
input.value.value = "";
|
|
19275
|
+
}
|
|
19276
|
+
});
|
|
19262
19277
|
};
|
|
19263
19278
|
const onAfterRead = (items) => {
|
|
19264
19279
|
resetInput();
|
|
@@ -19394,21 +19409,69 @@ var stdin_default$7 = defineComponent({
|
|
|
19394
19409
|
"class": bem$3("required")
|
|
19395
19410
|
}, [createTextVNode("*")]), props2.label]);
|
|
19396
19411
|
};
|
|
19397
|
-
const
|
|
19412
|
+
const acceptTypes = () => props2.accept.split(",").map((type) => type.trim().toLowerCase()).filter(Boolean);
|
|
19413
|
+
const acceptsMediaType = (type) => acceptTypes().some((accept) => accept === `${type}/*` || accept.startsWith(`${type}/`));
|
|
19414
|
+
const triggerInput = (source) => {
|
|
19415
|
+
const target = source === "camera" ? cameraInputRef.value : source === "video" ? videoInputRef.value : inputRef.value;
|
|
19416
|
+
if (target && !props2.disabled && !props2.readonly) {
|
|
19417
|
+
emit("select-source", source);
|
|
19418
|
+
target.click();
|
|
19419
|
+
}
|
|
19420
|
+
};
|
|
19421
|
+
const onClickUpload = (event) => {
|
|
19422
|
+
emit("click-upload", event);
|
|
19423
|
+
if (props2.sourcePicker && !props2.disabled && !props2.readonly) {
|
|
19424
|
+
sourcePickerVisible.value = true;
|
|
19425
|
+
}
|
|
19426
|
+
};
|
|
19427
|
+
const renderInput = (input, accept, capture, multiple = false, hidden = false) => createVNode("input", {
|
|
19428
|
+
"ref": input,
|
|
19429
|
+
"type": "file",
|
|
19430
|
+
"class": bem$3("input", {
|
|
19431
|
+
hidden
|
|
19432
|
+
}),
|
|
19433
|
+
"accept": accept,
|
|
19434
|
+
"capture": capture,
|
|
19435
|
+
"multiple": multiple,
|
|
19436
|
+
"disabled": props2.disabled,
|
|
19437
|
+
"onChange": onChange
|
|
19438
|
+
}, null);
|
|
19439
|
+
const renderSourcePicker = () => {
|
|
19440
|
+
if (!props2.sourcePicker)
|
|
19441
|
+
return;
|
|
19442
|
+
const actions = [];
|
|
19443
|
+
if (acceptsMediaType("image")) {
|
|
19444
|
+
actions.push({
|
|
19445
|
+
name: t("takePhoto"),
|
|
19446
|
+
callback: () => triggerInput("camera")
|
|
19447
|
+
});
|
|
19448
|
+
}
|
|
19449
|
+
if (acceptsMediaType("video")) {
|
|
19450
|
+
actions.push({
|
|
19451
|
+
name: t("recordVideo"),
|
|
19452
|
+
callback: () => triggerInput("video")
|
|
19453
|
+
});
|
|
19454
|
+
}
|
|
19455
|
+
actions.push({
|
|
19456
|
+
name: t("chooseFromAlbum"),
|
|
19457
|
+
callback: () => triggerInput("album")
|
|
19458
|
+
});
|
|
19459
|
+
return createVNode(ActionSheet, {
|
|
19460
|
+
"show": sourcePickerVisible.value,
|
|
19461
|
+
"title": t("sourcePickerTitle"),
|
|
19462
|
+
"actions": actions,
|
|
19463
|
+
"contentAdaptive": true,
|
|
19464
|
+
"closeOnClickAction": true,
|
|
19465
|
+
"onUpdate:show": (show) => {
|
|
19466
|
+
sourcePickerVisible.value = show;
|
|
19467
|
+
}
|
|
19468
|
+
}, null);
|
|
19469
|
+
};
|
|
19398
19470
|
const renderUpload = () => {
|
|
19399
19471
|
if (props2.modelValue.length >= props2.maxCount || !props2.showUpload) {
|
|
19400
19472
|
return;
|
|
19401
19473
|
}
|
|
19402
|
-
const Input = props2.readonly ? null :
|
|
19403
|
-
"ref": inputRef,
|
|
19404
|
-
"type": "file",
|
|
19405
|
-
"class": bem$3("input"),
|
|
19406
|
-
"accept": props2.accept,
|
|
19407
|
-
"capture": props2.capture,
|
|
19408
|
-
"multiple": props2.multiple,
|
|
19409
|
-
"disabled": props2.disabled,
|
|
19410
|
-
"onChange": onChange
|
|
19411
|
-
}, null);
|
|
19474
|
+
const Input = props2.readonly ? null : props2.sourcePicker ? [renderInput(inputRef, props2.accept, void 0, props2.multiple, true), acceptsMediaType("image") && renderInput(cameraInputRef, "image/*", props2.capture || "environment", false, true), acceptsMediaType("video") && renderInput(videoInputRef, "video/*", props2.capture || "environment", false, true)] : renderInput(inputRef, props2.accept, props2.capture, props2.multiple);
|
|
19412
19475
|
if (slots.default) {
|
|
19413
19476
|
return createVNode("div", {
|
|
19414
19477
|
"class": bem$3("input-wrapper"),
|
|
@@ -19428,8 +19491,14 @@ var stdin_default$7 = defineComponent({
|
|
|
19428
19491
|
"class": bem$3("upload-text")
|
|
19429
19492
|
}, [props2.uploadText]), Input]);
|
|
19430
19493
|
};
|
|
19431
|
-
const chooseFile = () => {
|
|
19432
|
-
if (
|
|
19494
|
+
const chooseFile = (source) => {
|
|
19495
|
+
if (props2.disabled || props2.readonly)
|
|
19496
|
+
return;
|
|
19497
|
+
if (source) {
|
|
19498
|
+
triggerInput(source);
|
|
19499
|
+
} else if (props2.sourcePicker) {
|
|
19500
|
+
sourcePickerVisible.value = true;
|
|
19501
|
+
} else if (inputRef.value) {
|
|
19433
19502
|
inputRef.value.click();
|
|
19434
19503
|
}
|
|
19435
19504
|
};
|
|
@@ -19449,7 +19518,7 @@ var stdin_default$7 = defineComponent({
|
|
|
19449
19518
|
"class": bem$3("wrapper", {
|
|
19450
19519
|
disabled: props2.disabled
|
|
19451
19520
|
})
|
|
19452
|
-
}, [props2.uploadFirst ? createVNode(Fragment, null, [renderUpload(), renderPreviewList()]) : createVNode(Fragment, null, [renderPreviewList(), renderUpload()])])]);
|
|
19521
|
+
}, [props2.uploadFirst ? createVNode(Fragment, null, [renderUpload(), renderPreviewList()]) : createVNode(Fragment, null, [renderPreviewList(), renderUpload()])]), renderSourcePicker()]);
|
|
19453
19522
|
}
|
|
19454
19523
|
});
|
|
19455
19524
|
const Uploader = withInstall(stdin_default$7);
|
|
@@ -21329,7 +21398,7 @@ const Lazyload = {
|
|
|
21329
21398
|
});
|
|
21330
21399
|
}
|
|
21331
21400
|
};
|
|
21332
|
-
const version = "0.0.
|
|
21401
|
+
const version = "0.0.43";
|
|
21333
21402
|
function install(app) {
|
|
21334
21403
|
const components = [
|
|
21335
21404
|
ActionBar,
|
package/lib/vant.js
CHANGED
|
@@ -656,6 +656,12 @@
|
|
|
656
656
|
},
|
|
657
657
|
vanTabs: {
|
|
658
658
|
moreTitle: "更多标签"
|
|
659
|
+
},
|
|
660
|
+
vanUploader: {
|
|
661
|
+
sourcePickerTitle: "选择上传方式",
|
|
662
|
+
takePhoto: "拍照",
|
|
663
|
+
recordVideo: "拍视频",
|
|
664
|
+
chooseFromAlbum: "从相册选择"
|
|
659
665
|
}
|
|
660
666
|
};
|
|
661
667
|
const lang = vue.ref("zh-CN");
|
|
@@ -3035,6 +3041,7 @@
|
|
|
3035
3041
|
closeable: truthProp,
|
|
3036
3042
|
cancelText: String,
|
|
3037
3043
|
description: String,
|
|
3044
|
+
contentAdaptive: Boolean,
|
|
3038
3045
|
closeOnPopstate: truthProp,
|
|
3039
3046
|
closeOnClickAction: Boolean,
|
|
3040
3047
|
safeAreaInsetBottom: truthProp
|
|
@@ -3143,7 +3150,9 @@
|
|
|
3143
3150
|
}
|
|
3144
3151
|
};
|
|
3145
3152
|
return () => vue.createVNode(Popup, vue.mergeProps({
|
|
3146
|
-
"class": bem$1I(
|
|
3153
|
+
"class": bem$1I({
|
|
3154
|
+
"content-adaptive": props2.contentAdaptive
|
|
3155
|
+
}),
|
|
3147
3156
|
"position": "bottom",
|
|
3148
3157
|
"onUpdate:show": updateShow
|
|
3149
3158
|
}, pick(props2, popupInheritKeys$2)), {
|
|
@@ -20404,6 +20413,7 @@
|
|
|
20404
20413
|
accept: makeStringProp("image/*"),
|
|
20405
20414
|
capture: String,
|
|
20406
20415
|
multiple: Boolean,
|
|
20416
|
+
sourcePicker: Boolean,
|
|
20407
20417
|
label: String,
|
|
20408
20418
|
required: Boolean,
|
|
20409
20419
|
disabled: Boolean,
|
|
@@ -20433,21 +20443,26 @@
|
|
|
20433
20443
|
var stdin_default$7 = vue.defineComponent({
|
|
20434
20444
|
name: name$3,
|
|
20435
20445
|
props: uploaderProps,
|
|
20436
|
-
emits: ["delete", "oversize", "click-upload", "close-preview", "click-preview", "update:modelValue"],
|
|
20446
|
+
emits: ["delete", "oversize", "click-upload", "close-preview", "click-preview", "select-source", "update:modelValue"],
|
|
20437
20447
|
setup(props2, {
|
|
20438
20448
|
emit,
|
|
20439
20449
|
slots
|
|
20440
20450
|
}) {
|
|
20441
20451
|
const inputRef = vue.ref();
|
|
20452
|
+
const cameraInputRef = vue.ref();
|
|
20453
|
+
const videoInputRef = vue.ref();
|
|
20454
|
+
const sourcePickerVisible = vue.ref(false);
|
|
20442
20455
|
const urls = [];
|
|
20443
20456
|
const getDetail = (index = props2.modelValue.length) => ({
|
|
20444
20457
|
name: props2.name,
|
|
20445
20458
|
index
|
|
20446
20459
|
});
|
|
20447
20460
|
const resetInput = () => {
|
|
20448
|
-
|
|
20449
|
-
|
|
20450
|
-
|
|
20461
|
+
[inputRef, cameraInputRef, videoInputRef].forEach((input) => {
|
|
20462
|
+
if (input.value) {
|
|
20463
|
+
input.value.value = "";
|
|
20464
|
+
}
|
|
20465
|
+
});
|
|
20451
20466
|
};
|
|
20452
20467
|
const onAfterRead = (items) => {
|
|
20453
20468
|
resetInput();
|
|
@@ -20583,21 +20598,69 @@
|
|
|
20583
20598
|
"class": bem$3("required")
|
|
20584
20599
|
}, [vue.createTextVNode("*")]), props2.label]);
|
|
20585
20600
|
};
|
|
20586
|
-
const
|
|
20601
|
+
const acceptTypes = () => props2.accept.split(",").map((type) => type.trim().toLowerCase()).filter(Boolean);
|
|
20602
|
+
const acceptsMediaType = (type) => acceptTypes().some((accept) => accept === `${type}/*` || accept.startsWith(`${type}/`));
|
|
20603
|
+
const triggerInput = (source2) => {
|
|
20604
|
+
const target = source2 === "camera" ? cameraInputRef.value : source2 === "video" ? videoInputRef.value : inputRef.value;
|
|
20605
|
+
if (target && !props2.disabled && !props2.readonly) {
|
|
20606
|
+
emit("select-source", source2);
|
|
20607
|
+
target.click();
|
|
20608
|
+
}
|
|
20609
|
+
};
|
|
20610
|
+
const onClickUpload = (event) => {
|
|
20611
|
+
emit("click-upload", event);
|
|
20612
|
+
if (props2.sourcePicker && !props2.disabled && !props2.readonly) {
|
|
20613
|
+
sourcePickerVisible.value = true;
|
|
20614
|
+
}
|
|
20615
|
+
};
|
|
20616
|
+
const renderInput = (input, accept, capture, multiple = false, hidden = false) => vue.createVNode("input", {
|
|
20617
|
+
"ref": input,
|
|
20618
|
+
"type": "file",
|
|
20619
|
+
"class": bem$3("input", {
|
|
20620
|
+
hidden
|
|
20621
|
+
}),
|
|
20622
|
+
"accept": accept,
|
|
20623
|
+
"capture": capture,
|
|
20624
|
+
"multiple": multiple,
|
|
20625
|
+
"disabled": props2.disabled,
|
|
20626
|
+
"onChange": onChange
|
|
20627
|
+
}, null);
|
|
20628
|
+
const renderSourcePicker = () => {
|
|
20629
|
+
if (!props2.sourcePicker)
|
|
20630
|
+
return;
|
|
20631
|
+
const actions = [];
|
|
20632
|
+
if (acceptsMediaType("image")) {
|
|
20633
|
+
actions.push({
|
|
20634
|
+
name: t("takePhoto"),
|
|
20635
|
+
callback: () => triggerInput("camera")
|
|
20636
|
+
});
|
|
20637
|
+
}
|
|
20638
|
+
if (acceptsMediaType("video")) {
|
|
20639
|
+
actions.push({
|
|
20640
|
+
name: t("recordVideo"),
|
|
20641
|
+
callback: () => triggerInput("video")
|
|
20642
|
+
});
|
|
20643
|
+
}
|
|
20644
|
+
actions.push({
|
|
20645
|
+
name: t("chooseFromAlbum"),
|
|
20646
|
+
callback: () => triggerInput("album")
|
|
20647
|
+
});
|
|
20648
|
+
return vue.createVNode(ActionSheet, {
|
|
20649
|
+
"show": sourcePickerVisible.value,
|
|
20650
|
+
"title": t("sourcePickerTitle"),
|
|
20651
|
+
"actions": actions,
|
|
20652
|
+
"contentAdaptive": true,
|
|
20653
|
+
"closeOnClickAction": true,
|
|
20654
|
+
"onUpdate:show": (show) => {
|
|
20655
|
+
sourcePickerVisible.value = show;
|
|
20656
|
+
}
|
|
20657
|
+
}, null);
|
|
20658
|
+
};
|
|
20587
20659
|
const renderUpload = () => {
|
|
20588
20660
|
if (props2.modelValue.length >= props2.maxCount || !props2.showUpload) {
|
|
20589
20661
|
return;
|
|
20590
20662
|
}
|
|
20591
|
-
const Input = props2.readonly ? null :
|
|
20592
|
-
"ref": inputRef,
|
|
20593
|
-
"type": "file",
|
|
20594
|
-
"class": bem$3("input"),
|
|
20595
|
-
"accept": props2.accept,
|
|
20596
|
-
"capture": props2.capture,
|
|
20597
|
-
"multiple": props2.multiple,
|
|
20598
|
-
"disabled": props2.disabled,
|
|
20599
|
-
"onChange": onChange
|
|
20600
|
-
}, null);
|
|
20663
|
+
const Input = props2.readonly ? null : props2.sourcePicker ? [renderInput(inputRef, props2.accept, void 0, props2.multiple, true), acceptsMediaType("image") && renderInput(cameraInputRef, "image/*", props2.capture || "environment", false, true), acceptsMediaType("video") && renderInput(videoInputRef, "video/*", props2.capture || "environment", false, true)] : renderInput(inputRef, props2.accept, props2.capture, props2.multiple);
|
|
20601
20664
|
if (slots.default) {
|
|
20602
20665
|
return vue.createVNode("div", {
|
|
20603
20666
|
"class": bem$3("input-wrapper"),
|
|
@@ -20617,8 +20680,14 @@
|
|
|
20617
20680
|
"class": bem$3("upload-text")
|
|
20618
20681
|
}, [props2.uploadText]), Input]);
|
|
20619
20682
|
};
|
|
20620
|
-
const chooseFile = () => {
|
|
20621
|
-
if (
|
|
20683
|
+
const chooseFile = (source2) => {
|
|
20684
|
+
if (props2.disabled || props2.readonly)
|
|
20685
|
+
return;
|
|
20686
|
+
if (source2) {
|
|
20687
|
+
triggerInput(source2);
|
|
20688
|
+
} else if (props2.sourcePicker) {
|
|
20689
|
+
sourcePickerVisible.value = true;
|
|
20690
|
+
} else if (inputRef.value) {
|
|
20622
20691
|
inputRef.value.click();
|
|
20623
20692
|
}
|
|
20624
20693
|
};
|
|
@@ -20638,7 +20707,7 @@
|
|
|
20638
20707
|
"class": bem$3("wrapper", {
|
|
20639
20708
|
disabled: props2.disabled
|
|
20640
20709
|
})
|
|
20641
|
-
}, [props2.uploadFirst ? vue.createVNode(vue.Fragment, null, [renderUpload(), renderPreviewList()]) : vue.createVNode(vue.Fragment, null, [renderPreviewList(), renderUpload()])])]);
|
|
20710
|
+
}, [props2.uploadFirst ? vue.createVNode(vue.Fragment, null, [renderUpload(), renderPreviewList()]) : vue.createVNode(vue.Fragment, null, [renderPreviewList(), renderUpload()])]), renderSourcePicker()]);
|
|
20642
20711
|
}
|
|
20643
20712
|
});
|
|
20644
20713
|
const Uploader = withInstall(stdin_default$7);
|
|
@@ -24918,7 +24987,7 @@
|
|
|
24918
24987
|
});
|
|
24919
24988
|
}
|
|
24920
24989
|
};
|
|
24921
|
-
const version = "0.0.
|
|
24990
|
+
const version = "0.0.43";
|
|
24922
24991
|
function install(app) {
|
|
24923
24992
|
const components = [
|
|
24924
24993
|
ActionBar,
|