zartui 3.1.75 → 3.1.76
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/index.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/es/media-picker/MediaPicker.d.ts +13 -0
- package/es/media-picker/MediaPicker.mjs +20 -2
- package/es/media-picker/index.d.ts +9 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/media-picker/MediaPicker.d.ts +13 -0
- package/lib/media-picker/MediaPicker.js +20 -2
- package/lib/media-picker/index.d.ts +9 -0
- package/lib/web-types.json +1 -1
- package/lib/zartui.cjs.js +21 -3
- package/lib/zartui.es.js +21 -3
- package/lib/zartui.js +58 -14
- package/lib/zartui.min.js +2 -2
- package/package.json +6 -6
package/es/index.d.ts
CHANGED
package/es/index.mjs
CHANGED
|
@@ -77,7 +77,7 @@ import { Timeline } from "./timeline/index.mjs";
|
|
|
77
77
|
import { Toast } from "./toast/index.mjs";
|
|
78
78
|
import { Uploader } from "./uploader/index.mjs";
|
|
79
79
|
import { Video } from "./video/index.mjs";
|
|
80
|
-
const version = "3.1.
|
|
80
|
+
const version = "3.1.76";
|
|
81
81
|
function install(app) {
|
|
82
82
|
const components = [
|
|
83
83
|
ActionSheet,
|
|
@@ -32,6 +32,10 @@ declare const mediaPickerProps: {
|
|
|
32
32
|
type: NumberConstructor;
|
|
33
33
|
default: number;
|
|
34
34
|
};
|
|
35
|
+
keepFileType: {
|
|
36
|
+
type: BooleanConstructor;
|
|
37
|
+
default: boolean;
|
|
38
|
+
};
|
|
35
39
|
/**
|
|
36
40
|
* {
|
|
37
41
|
* maxImageSideLength,
|
|
@@ -121,6 +125,10 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
|
|
121
125
|
type: NumberConstructor;
|
|
122
126
|
default: number;
|
|
123
127
|
};
|
|
128
|
+
keepFileType: {
|
|
129
|
+
type: BooleanConstructor;
|
|
130
|
+
default: boolean;
|
|
131
|
+
};
|
|
124
132
|
/**
|
|
125
133
|
* {
|
|
126
134
|
* maxImageSideLength,
|
|
@@ -205,6 +213,10 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
|
|
205
213
|
type: NumberConstructor;
|
|
206
214
|
default: number;
|
|
207
215
|
};
|
|
216
|
+
keepFileType: {
|
|
217
|
+
type: BooleanConstructor;
|
|
218
|
+
default: boolean;
|
|
219
|
+
};
|
|
208
220
|
/**
|
|
209
221
|
* {
|
|
210
222
|
* maxImageSideLength,
|
|
@@ -274,6 +286,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
|
|
274
286
|
maxImageSideLength: number;
|
|
275
287
|
maxImageFileSize: number;
|
|
276
288
|
maxFileSize: number;
|
|
289
|
+
keepFileType: boolean;
|
|
277
290
|
watermarkOptions: Record<string, any>;
|
|
278
291
|
maxMediaCount: number;
|
|
279
292
|
maxImageCount: number;
|
|
@@ -65,6 +65,11 @@ const mediaPickerProps = {
|
|
|
65
65
|
maxImageFileSize: makeNumberProp(1024),
|
|
66
66
|
// 单个文件大小限制(本单位为KB,默认最大1M)
|
|
67
67
|
maxFileSize: makeNumberProp(FILE_SIZE_LIMIT * 1024),
|
|
68
|
+
// 是否保持原始文件类型(不转换为jpg)
|
|
69
|
+
keepFileType: {
|
|
70
|
+
type: Boolean,
|
|
71
|
+
default: false
|
|
72
|
+
},
|
|
68
73
|
/**
|
|
69
74
|
* {
|
|
70
75
|
* maxImageSideLength,
|
|
@@ -372,10 +377,22 @@ var stdin_default = defineComponent({
|
|
|
372
377
|
}).finally(() => {
|
|
373
378
|
});
|
|
374
379
|
};
|
|
380
|
+
const getExtensionFromMimeType = (mimeType) => {
|
|
381
|
+
const mimeToExt = {
|
|
382
|
+
"image/jpeg": "jpg",
|
|
383
|
+
"image/jpg": "jpg",
|
|
384
|
+
"image/png": "png",
|
|
385
|
+
"image/gif": "gif",
|
|
386
|
+
"image/webp": "webp",
|
|
387
|
+
"image/bmp": "bmp",
|
|
388
|
+
"image/svg+xml": "svg"
|
|
389
|
+
};
|
|
390
|
+
return mimeToExt[mimeType] || "jpg";
|
|
391
|
+
};
|
|
375
392
|
const transformImageFiles = (files) => {
|
|
376
393
|
const promisesTodo = [];
|
|
377
394
|
const resizeOptions = new ResizeOptions(props.maxImageSideLength);
|
|
378
|
-
const compressOptions = new CompressOptions(props.maxImageFileSize);
|
|
395
|
+
const compressOptions = new CompressOptions(props.maxImageFileSize, props.keepFileType);
|
|
379
396
|
for (let i = 0; i < files.length; i++) {
|
|
380
397
|
const file = files[i];
|
|
381
398
|
const watermarkEnabled = props.watermarkOptions && props.watermarkOptions.watermarkConfigString && checkWatermarkConfigSupported(props.watermarkOptions.watermarkConfigString);
|
|
@@ -401,7 +418,8 @@ var stdin_default = defineComponent({
|
|
|
401
418
|
return Promise.resolve(null);
|
|
402
419
|
}
|
|
403
420
|
return file2DataURL(f).then((base64) => {
|
|
404
|
-
const
|
|
421
|
+
const ext = props.keepFileType ? getExtensionFromMimeType(f.type) : "jpg";
|
|
422
|
+
const uniqueFileName = getUniqueFileName(f, ext);
|
|
405
423
|
const media = {
|
|
406
424
|
showSrc: base64,
|
|
407
425
|
type: "photo",
|
|
@@ -28,6 +28,10 @@ export declare const MediaPicker: import("../utils").WithInstall<import("vue").D
|
|
|
28
28
|
type: NumberConstructor;
|
|
29
29
|
default: number;
|
|
30
30
|
};
|
|
31
|
+
keepFileType: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
default: boolean;
|
|
34
|
+
};
|
|
31
35
|
watermarkOptions: {
|
|
32
36
|
type: ObjectConstructor;
|
|
33
37
|
default: () => null;
|
|
@@ -102,6 +106,10 @@ export declare const MediaPicker: import("../utils").WithInstall<import("vue").D
|
|
|
102
106
|
type: NumberConstructor;
|
|
103
107
|
default: number;
|
|
104
108
|
};
|
|
109
|
+
keepFileType: {
|
|
110
|
+
type: BooleanConstructor;
|
|
111
|
+
default: boolean;
|
|
112
|
+
};
|
|
105
113
|
watermarkOptions: {
|
|
106
114
|
type: ObjectConstructor;
|
|
107
115
|
default: () => null;
|
|
@@ -161,6 +169,7 @@ export declare const MediaPicker: import("../utils").WithInstall<import("vue").D
|
|
|
161
169
|
maxImageSideLength: number;
|
|
162
170
|
maxImageFileSize: number;
|
|
163
171
|
maxFileSize: number;
|
|
172
|
+
keepFileType: boolean;
|
|
164
173
|
watermarkOptions: Record<string, any>;
|
|
165
174
|
maxMediaCount: number;
|
|
166
175
|
maxImageCount: number;
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -182,7 +182,7 @@ __reExport(stdin_exports, require("./timeline"), module.exports);
|
|
|
182
182
|
__reExport(stdin_exports, require("./toast"), module.exports);
|
|
183
183
|
__reExport(stdin_exports, require("./uploader"), module.exports);
|
|
184
184
|
__reExport(stdin_exports, require("./video"), module.exports);
|
|
185
|
-
const version = "3.1.
|
|
185
|
+
const version = "3.1.76";
|
|
186
186
|
function install(app) {
|
|
187
187
|
const components = [
|
|
188
188
|
import_action_sheet.ActionSheet,
|
|
@@ -32,6 +32,10 @@ declare const mediaPickerProps: {
|
|
|
32
32
|
type: NumberConstructor;
|
|
33
33
|
default: number;
|
|
34
34
|
};
|
|
35
|
+
keepFileType: {
|
|
36
|
+
type: BooleanConstructor;
|
|
37
|
+
default: boolean;
|
|
38
|
+
};
|
|
35
39
|
/**
|
|
36
40
|
* {
|
|
37
41
|
* maxImageSideLength,
|
|
@@ -121,6 +125,10 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
|
|
121
125
|
type: NumberConstructor;
|
|
122
126
|
default: number;
|
|
123
127
|
};
|
|
128
|
+
keepFileType: {
|
|
129
|
+
type: BooleanConstructor;
|
|
130
|
+
default: boolean;
|
|
131
|
+
};
|
|
124
132
|
/**
|
|
125
133
|
* {
|
|
126
134
|
* maxImageSideLength,
|
|
@@ -205,6 +213,10 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
|
|
205
213
|
type: NumberConstructor;
|
|
206
214
|
default: number;
|
|
207
215
|
};
|
|
216
|
+
keepFileType: {
|
|
217
|
+
type: BooleanConstructor;
|
|
218
|
+
default: boolean;
|
|
219
|
+
};
|
|
208
220
|
/**
|
|
209
221
|
* {
|
|
210
222
|
* maxImageSideLength,
|
|
@@ -274,6 +286,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
|
|
274
286
|
maxImageSideLength: number;
|
|
275
287
|
maxImageFileSize: number;
|
|
276
288
|
maxFileSize: number;
|
|
289
|
+
keepFileType: boolean;
|
|
277
290
|
watermarkOptions: Record<string, any>;
|
|
278
291
|
maxMediaCount: number;
|
|
279
292
|
maxImageCount: number;
|
|
@@ -97,6 +97,11 @@ const mediaPickerProps = {
|
|
|
97
97
|
maxImageFileSize: (0, import_utils.makeNumberProp)(1024),
|
|
98
98
|
// 单个文件大小限制(本单位为KB,默认最大1M)
|
|
99
99
|
maxFileSize: (0, import_utils.makeNumberProp)(FILE_SIZE_LIMIT * 1024),
|
|
100
|
+
// 是否保持原始文件类型(不转换为jpg)
|
|
101
|
+
keepFileType: {
|
|
102
|
+
type: Boolean,
|
|
103
|
+
default: false
|
|
104
|
+
},
|
|
100
105
|
/**
|
|
101
106
|
* {
|
|
102
107
|
* maxImageSideLength,
|
|
@@ -404,10 +409,22 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
404
409
|
}).finally(() => {
|
|
405
410
|
});
|
|
406
411
|
};
|
|
412
|
+
const getExtensionFromMimeType = (mimeType) => {
|
|
413
|
+
const mimeToExt = {
|
|
414
|
+
"image/jpeg": "jpg",
|
|
415
|
+
"image/jpg": "jpg",
|
|
416
|
+
"image/png": "png",
|
|
417
|
+
"image/gif": "gif",
|
|
418
|
+
"image/webp": "webp",
|
|
419
|
+
"image/bmp": "bmp",
|
|
420
|
+
"image/svg+xml": "svg"
|
|
421
|
+
};
|
|
422
|
+
return mimeToExt[mimeType] || "jpg";
|
|
423
|
+
};
|
|
407
424
|
const transformImageFiles = (files) => {
|
|
408
425
|
const promisesTodo = [];
|
|
409
426
|
const resizeOptions = new import_app_media_utils.ResizeOptions(props.maxImageSideLength);
|
|
410
|
-
const compressOptions = new import_app_media_utils.CompressOptions(props.maxImageFileSize);
|
|
427
|
+
const compressOptions = new import_app_media_utils.CompressOptions(props.maxImageFileSize, props.keepFileType);
|
|
411
428
|
for (let i = 0; i < files.length; i++) {
|
|
412
429
|
const file = files[i];
|
|
413
430
|
const watermarkEnabled = props.watermarkOptions && props.watermarkOptions.watermarkConfigString && (0, import_app_media_utils.checkWatermarkConfigSupported)(props.watermarkOptions.watermarkConfigString);
|
|
@@ -433,7 +450,8 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
433
450
|
return Promise.resolve(null);
|
|
434
451
|
}
|
|
435
452
|
return (0, import_media_util.file2DataURL)(f).then((base64) => {
|
|
436
|
-
const
|
|
453
|
+
const ext = props.keepFileType ? getExtensionFromMimeType(f.type) : "jpg";
|
|
454
|
+
const uniqueFileName = (0, import_media_util.getUniqueFileName)(f, ext);
|
|
437
455
|
const media = {
|
|
438
456
|
showSrc: base64,
|
|
439
457
|
type: "photo",
|
|
@@ -28,6 +28,10 @@ export declare const MediaPicker: import("../utils").WithInstall<import("vue").D
|
|
|
28
28
|
type: NumberConstructor;
|
|
29
29
|
default: number;
|
|
30
30
|
};
|
|
31
|
+
keepFileType: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
default: boolean;
|
|
34
|
+
};
|
|
31
35
|
watermarkOptions: {
|
|
32
36
|
type: ObjectConstructor;
|
|
33
37
|
default: () => null;
|
|
@@ -102,6 +106,10 @@ export declare const MediaPicker: import("../utils").WithInstall<import("vue").D
|
|
|
102
106
|
type: NumberConstructor;
|
|
103
107
|
default: number;
|
|
104
108
|
};
|
|
109
|
+
keepFileType: {
|
|
110
|
+
type: BooleanConstructor;
|
|
111
|
+
default: boolean;
|
|
112
|
+
};
|
|
105
113
|
watermarkOptions: {
|
|
106
114
|
type: ObjectConstructor;
|
|
107
115
|
default: () => null;
|
|
@@ -161,6 +169,7 @@ export declare const MediaPicker: import("../utils").WithInstall<import("vue").D
|
|
|
161
169
|
maxImageSideLength: number;
|
|
162
170
|
maxImageFileSize: number;
|
|
163
171
|
maxFileSize: number;
|
|
172
|
+
keepFileType: boolean;
|
|
164
173
|
watermarkOptions: Record<string, any>;
|
|
165
174
|
maxMediaCount: number;
|
|
166
175
|
maxImageCount: number;
|