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 CHANGED
@@ -84,4 +84,4 @@ declare namespace _default {
84
84
  }
85
85
  export default _default;
86
86
  export function install(app: any): void;
87
- export const version: "3.1.75";
87
+ export const version: "3.1.76";
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.75";
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 uniqueFileName = getUniqueFileName(f, "jpg");
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
@@ -84,4 +84,4 @@ declare namespace _default {
84
84
  }
85
85
  export default _default;
86
86
  export function install(app: any): void;
87
- export const version: "3.1.75";
87
+ export const version: "3.1.76";
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.75";
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 uniqueFileName = (0, import_media_util.getUniqueFileName)(f, "jpg");
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;