zartui 3.2.1 → 3.2.3
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 +27 -27
- package/es/action-sheet/ActionSheet.d.ts +16 -3
- package/es/action-sheet/ActionSheet.mjs +29 -26
- package/es/action-sheet/index.css +1 -1
- package/es/action-sheet/index.d.ts +9 -2
- package/es/button/index.css +1 -1
- package/es/date-time-picker/DateTimePicker.d.ts +8 -0
- package/es/date-time-picker/DateTimePickerWrapper.d.ts +12 -0
- package/es/date-time-picker/index.d.ts +8 -0
- package/es/date-time-picker/utils.d.ts +4 -0
- package/es/dialog/Dialog.d.ts +6 -0
- package/es/dialog/Dialog.mjs +6 -2
- package/es/dialog/function-call.mjs +2 -0
- package/es/dialog/index.css +1 -1
- package/es/dialog/index.d.ts +4 -0
- package/es/dropdown-item/DropdownItem.mjs +1 -0
- package/es/index.d.ts +2 -1
- package/es/index.mjs +4 -1
- package/es/lazyload/vue-lazyload/index.d.ts +55 -55
- package/es/media-picker/MediaPicker.d.ts +7 -3
- package/es/media-picker/MediaPicker.mjs +73 -25
- package/es/media-picker/index.d.ts +3 -2
- package/es/media-picker/type.d.ts +2 -1
- package/es/picker/Picker.d.ts +16 -0
- package/es/picker/Picker.mjs +5 -15
- package/es/picker/PickerToolbar.d.ts +15 -1
- package/es/picker/PickerToolbar.mjs +17 -15
- package/es/picker/index.css +1 -1
- package/es/picker/index.d.ts +8 -0
- package/es/search/index.css +1 -1
- package/es/speech-recognizer/SpeechRecognizer.d.ts +51 -0
- package/es/speech-recognizer/SpeechRecognizer.mjs +209 -0
- package/es/speech-recognizer/index.css +1 -0
- package/es/speech-recognizer/index.d.ts +43 -0
- package/es/speech-recognizer/index.mjs +8 -0
- package/es/speech-recognizer/recorder.d.ts +53 -0
- package/es/speech-recognizer/recorder.mjs +75 -0
- package/es/speech-recognizer/style/index.d.ts +1 -0
- package/es/speech-recognizer/style/index.mjs +10 -0
- package/es/speech-recognizer/types.d.ts +0 -0
- package/es/speech-recognizer/types.mjs +0 -0
- package/es/tab/style/index.mjs +1 -0
- package/es/tabs/Tabs.mjs +51 -2
- package/es/tabs/index.css +1 -1
- package/es/tabs/style/index.mjs +1 -0
- package/es/time-picker/TimePicker.d.ts +12 -0
- package/es/time-picker/index.d.ts +8 -0
- package/es/vue-sfc-shim.d.ts +6 -6
- package/es/vue-tsx-shim.d.ts +23 -23
- package/lib/action-sheet/ActionSheet.d.ts +16 -3
- package/lib/action-sheet/ActionSheet.js +28 -25
- package/lib/action-sheet/index.css +1 -1
- package/lib/action-sheet/index.d.ts +9 -2
- package/lib/button/index.css +1 -1
- package/lib/date-time-picker/DateTimePicker.d.ts +8 -0
- package/lib/date-time-picker/DateTimePickerWrapper.d.ts +12 -0
- package/lib/date-time-picker/index.d.ts +8 -0
- package/lib/date-time-picker/utils.d.ts +4 -0
- package/lib/dialog/Dialog.d.ts +6 -0
- package/lib/dialog/Dialog.js +6 -2
- package/lib/dialog/function-call.js +2 -0
- package/lib/dialog/index.css +1 -1
- package/lib/dialog/index.d.ts +4 -0
- package/lib/dropdown-item/DropdownItem.js +1 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -1
- package/lib/lazyload/vue-lazyload/index.d.ts +55 -55
- package/lib/media-picker/MediaPicker.d.ts +7 -3
- package/lib/media-picker/MediaPicker.js +72 -24
- package/lib/media-picker/index.d.ts +3 -2
- package/lib/media-picker/type.d.ts +2 -1
- package/lib/picker/Picker.d.ts +16 -0
- package/lib/picker/Picker.js +4 -14
- package/lib/picker/PickerToolbar.d.ts +15 -1
- package/lib/picker/PickerToolbar.js +16 -14
- package/lib/picker/index.css +1 -1
- package/lib/picker/index.d.ts +8 -0
- package/lib/search/index.css +1 -1
- package/lib/speech-recognizer/SpeechRecognizer.d.ts +51 -0
- package/lib/speech-recognizer/SpeechRecognizer.js +238 -0
- package/lib/speech-recognizer/index.css +1 -0
- package/lib/speech-recognizer/index.d.ts +43 -0
- package/lib/speech-recognizer/index.js +37 -0
- package/lib/speech-recognizer/recorder.d.ts +53 -0
- package/lib/speech-recognizer/recorder.js +94 -0
- package/lib/speech-recognizer/style/index.d.ts +1 -0
- package/lib/speech-recognizer/style/index.js +10 -0
- package/lib/speech-recognizer/types.d.ts +0 -0
- package/lib/speech-recognizer/types.js +0 -0
- package/lib/tab/style/index.js +1 -0
- package/lib/tabs/Tabs.js +51 -2
- package/lib/tabs/index.css +1 -1
- package/lib/tabs/style/index.js +1 -0
- package/lib/time-picker/TimePicker.d.ts +12 -0
- package/lib/time-picker/index.d.ts +8 -0
- package/lib/vue-sfc-shim.d.ts +6 -6
- package/lib/vue-tsx-shim.d.ts +23 -23
- package/lib/web-types.json +1 -0
- package/lib/zartui.cjs.js +1360 -992
- package/lib/zartui.es.js +1360 -992
- package/lib/zartui.js +1408 -1023
- package/lib/zartui.min.js +1 -0
- package/package.json +9 -9
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import type { App } from 'vue';
|
|
2
|
-
|
|
3
|
-
declare type ListenEvent =
|
|
4
|
-
| 'scroll'
|
|
5
|
-
| 'wheel'
|
|
6
|
-
| 'mousewheel'
|
|
7
|
-
| 'resize'
|
|
8
|
-
| 'animationend'
|
|
9
|
-
| 'transitionend'
|
|
10
|
-
| 'touchmove';
|
|
11
|
-
|
|
12
|
-
// eslint-disable-next-line
|
|
13
|
-
declare type Callback = (listener: any, options: LazyloadOptions) => void;
|
|
14
|
-
|
|
15
|
-
declare type Filter = {
|
|
16
|
-
webp?: Callback;
|
|
17
|
-
progressive?: Callback;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
declare type Adapter = {
|
|
21
|
-
error?: Callback;
|
|
22
|
-
loaded?: Callback;
|
|
23
|
-
loading?: Callback;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export declare type LazyloadOptions = {
|
|
27
|
-
error?: string;
|
|
28
|
-
filter?: Filter;
|
|
29
|
-
silent?: boolean;
|
|
30
|
-
adapter?: Adapter;
|
|
31
|
-
loading?: string;
|
|
32
|
-
attempt?: number;
|
|
33
|
-
preLoad?: number;
|
|
34
|
-
observer?: boolean;
|
|
35
|
-
lazyImage?: boolean;
|
|
36
|
-
throttleWait?: number;
|
|
37
|
-
listenEvents?: ListenEvent[];
|
|
38
|
-
dispatchEvent?: boolean;
|
|
39
|
-
lazyComponent?: boolean;
|
|
40
|
-
observerOptions?: IntersectionObserverInit;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export declare const Lazyload: {
|
|
44
|
-
install(app: App, options?: LazyloadOptions): void;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
declare module '@vue/runtime-core' {
|
|
48
|
-
interface ComponentCustomProperties {
|
|
49
|
-
$Lazyload: {
|
|
50
|
-
$on: (event: string, handler: Callback) => void;
|
|
51
|
-
$off: (event: string, handler?: Callback) => void;
|
|
52
|
-
$once: (event: string, handler: Callback) => void;
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
}
|
|
1
|
+
import type { App } from 'vue';
|
|
2
|
+
|
|
3
|
+
declare type ListenEvent =
|
|
4
|
+
| 'scroll'
|
|
5
|
+
| 'wheel'
|
|
6
|
+
| 'mousewheel'
|
|
7
|
+
| 'resize'
|
|
8
|
+
| 'animationend'
|
|
9
|
+
| 'transitionend'
|
|
10
|
+
| 'touchmove';
|
|
11
|
+
|
|
12
|
+
// eslint-disable-next-line
|
|
13
|
+
declare type Callback = (listener: any, options: LazyloadOptions) => void;
|
|
14
|
+
|
|
15
|
+
declare type Filter = {
|
|
16
|
+
webp?: Callback;
|
|
17
|
+
progressive?: Callback;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
declare type Adapter = {
|
|
21
|
+
error?: Callback;
|
|
22
|
+
loaded?: Callback;
|
|
23
|
+
loading?: Callback;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export declare type LazyloadOptions = {
|
|
27
|
+
error?: string;
|
|
28
|
+
filter?: Filter;
|
|
29
|
+
silent?: boolean;
|
|
30
|
+
adapter?: Adapter;
|
|
31
|
+
loading?: string;
|
|
32
|
+
attempt?: number;
|
|
33
|
+
preLoad?: number;
|
|
34
|
+
observer?: boolean;
|
|
35
|
+
lazyImage?: boolean;
|
|
36
|
+
throttleWait?: number;
|
|
37
|
+
listenEvents?: ListenEvent[];
|
|
38
|
+
dispatchEvent?: boolean;
|
|
39
|
+
lazyComponent?: boolean;
|
|
40
|
+
observerOptions?: IntersectionObserverInit;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export declare const Lazyload: {
|
|
44
|
+
install(app: App, options?: LazyloadOptions): void;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
declare module '@vue/runtime-core' {
|
|
48
|
+
interface ComponentCustomProperties {
|
|
49
|
+
$Lazyload: {
|
|
50
|
+
$on: (event: string, handler: Callback) => void;
|
|
51
|
+
$off: (event: string, handler?: Callback) => void;
|
|
52
|
+
$once: (event: string, handler: Callback) => void;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ExtractPropTypes, PropType } from 'vue';
|
|
2
|
-
import type { Media, MediaAfterRead, MediaBeforeDelete, MediaBeforeRead, MediaPick, MediaPreview, MediaSizeType } from './type';
|
|
1
|
+
import { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue';
|
|
2
|
+
import type { Media, MediaAddType, MediaAfterRead, MediaBeforeDelete, MediaBeforeRead, MediaPick, MediaPreview, MediaSizeType, MediaType } from './type';
|
|
3
3
|
import { MediaPlayerProps } from '../media-player';
|
|
4
4
|
declare const mediaPickerProps: {
|
|
5
5
|
disabled: BooleanConstructor;
|
|
@@ -81,6 +81,9 @@ declare const mediaPickerProps: {
|
|
|
81
81
|
mediaPlayerProps: PropType<Partial<MediaPlayerProps>>;
|
|
82
82
|
};
|
|
83
83
|
export type MediaPickerProps = ExtractPropTypes<typeof mediaPickerProps>;
|
|
84
|
+
export type MediaPickerInstance = ComponentPublicInstance<{
|
|
85
|
+
mediaPickAction: (mediaType: MediaType, mediaAddType: MediaAddType) => void;
|
|
86
|
+
}>;
|
|
84
87
|
declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
|
85
88
|
disabled: BooleanConstructor;
|
|
86
89
|
showTitle: BooleanConstructor;
|
|
@@ -159,7 +162,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
|
|
159
162
|
default: MediaSizeType;
|
|
160
163
|
};
|
|
161
164
|
mediaPlayerProps: PropType<Partial<MediaPlayerProps>>;
|
|
162
|
-
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("delete" | "update:mediaList")[], "delete" | "update:mediaList", import("vue").PublicProps, Readonly<ExtractPropTypes<{
|
|
165
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("delete" | "processing" | "update:mediaList")[], "delete" | "processing" | "update:mediaList", import("vue").PublicProps, Readonly<ExtractPropTypes<{
|
|
163
166
|
disabled: BooleanConstructor;
|
|
164
167
|
showTitle: BooleanConstructor;
|
|
165
168
|
useFileNameAsLabel: BooleanConstructor;
|
|
@@ -239,6 +242,7 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
|
|
239
242
|
mediaPlayerProps: PropType<Partial<MediaPlayerProps>>;
|
|
240
243
|
}>> & Readonly<{
|
|
241
244
|
onDelete?: ((...args: any[]) => any) | undefined;
|
|
245
|
+
onProcessing?: ((...args: any[]) => any) | undefined;
|
|
242
246
|
"onUpdate:mediaList"?: ((...args: any[]) => any) | undefined;
|
|
243
247
|
}>, {
|
|
244
248
|
title: string;
|
|
@@ -18,7 +18,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18
18
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
19
|
});
|
|
20
20
|
};
|
|
21
|
-
import { createVNode as _createVNode,
|
|
21
|
+
import { createVNode as _createVNode, mergeProps as _mergeProps, vShow as _vShow, withDirectives as _withDirectives } from "vue";
|
|
22
22
|
import { createNamespace, isDef, isPromise, isWeixin, makeArrayProp, makeNumberProp, makeStringProp, truthProp } from "../utils/index.mjs";
|
|
23
23
|
import { computed, defineComponent, ref } from "vue";
|
|
24
24
|
import { showFailToast, showLoadingToast, closeToast } from "../toast/index.mjs";
|
|
@@ -101,7 +101,7 @@ const mediaPickerProps = {
|
|
|
101
101
|
var stdin_default = defineComponent({
|
|
102
102
|
name,
|
|
103
103
|
props: mediaPickerProps,
|
|
104
|
-
emits: ["update:mediaList", "delete"],
|
|
104
|
+
emits: ["update:mediaList", "delete", "processing"],
|
|
105
105
|
setup(props, {
|
|
106
106
|
emit,
|
|
107
107
|
slots
|
|
@@ -119,6 +119,7 @@ var stdin_default = defineComponent({
|
|
|
119
119
|
const audioRecorderInputRef = ref();
|
|
120
120
|
const audioFileInputRef = ref();
|
|
121
121
|
const fileInputRef = ref();
|
|
122
|
+
const mediaListPlaceholder = ref([]);
|
|
122
123
|
const checkFileCountBeforeAdd = (mediaType) => {
|
|
123
124
|
if (props.mediaList.length === props.maxMediaCount) {
|
|
124
125
|
showFailToast("\u5DF2\u8FBE\u5230\u6587\u4EF6\u6700\u5927\u6570\u91CF\u9650\u5236");
|
|
@@ -141,7 +142,7 @@ var stdin_default = defineComponent({
|
|
|
141
142
|
const triggerHiddenInput = (ref2) => {
|
|
142
143
|
ref2 && ref2.click();
|
|
143
144
|
};
|
|
144
|
-
const
|
|
145
|
+
const mediaPickAction = (mediaType, mediaAddType) => {
|
|
145
146
|
if (props.disabled) {
|
|
146
147
|
return;
|
|
147
148
|
}
|
|
@@ -217,24 +218,24 @@ var stdin_default = defineComponent({
|
|
|
217
218
|
return [{
|
|
218
219
|
name: "\u62CD\u6444",
|
|
219
220
|
callback: () => {
|
|
220
|
-
|
|
221
|
+
mediaPickAction("video", "take");
|
|
221
222
|
}
|
|
222
223
|
}, {
|
|
223
224
|
name: "\u89C6\u9891\u6587\u4EF6",
|
|
224
225
|
callback: () => {
|
|
225
|
-
|
|
226
|
+
mediaPickAction("video", "pick");
|
|
226
227
|
}
|
|
227
228
|
}];
|
|
228
229
|
} else if (audioOptionsVisible.value) {
|
|
229
230
|
return [{
|
|
230
231
|
name: "\u5F55\u97F3",
|
|
231
232
|
callback: () => {
|
|
232
|
-
|
|
233
|
+
mediaPickAction("audio", "take");
|
|
233
234
|
}
|
|
234
235
|
}, {
|
|
235
236
|
name: "\u97F3\u9891\u6587\u4EF6",
|
|
236
237
|
callback: () => {
|
|
237
|
-
|
|
238
|
+
mediaPickAction("audio", "pick");
|
|
238
239
|
}
|
|
239
240
|
}];
|
|
240
241
|
}
|
|
@@ -300,6 +301,7 @@ var stdin_default = defineComponent({
|
|
|
300
301
|
fileName: f.name,
|
|
301
302
|
originalName: f.name,
|
|
302
303
|
originalSize: f.size,
|
|
304
|
+
originalFile: f,
|
|
303
305
|
deletable: true,
|
|
304
306
|
message: ""
|
|
305
307
|
};
|
|
@@ -322,17 +324,13 @@ var stdin_default = defineComponent({
|
|
|
322
324
|
message: "",
|
|
323
325
|
originalName: file.name,
|
|
324
326
|
// 原始名称
|
|
325
|
-
originalSize: file.size
|
|
327
|
+
originalSize: file.size,
|
|
326
328
|
// 原始大小
|
|
329
|
+
originalFile: file
|
|
327
330
|
};
|
|
328
331
|
return media;
|
|
329
332
|
});
|
|
330
333
|
});
|
|
331
|
-
showLoadingToast({
|
|
332
|
-
message: "\u5904\u7406\u4E2D...",
|
|
333
|
-
forbidClick: true,
|
|
334
|
-
duration: 0
|
|
335
|
-
});
|
|
336
334
|
return Promise.all(mediaList).then((medias) => {
|
|
337
335
|
const _medias = [];
|
|
338
336
|
medias.forEach((media) => {
|
|
@@ -342,7 +340,6 @@ var stdin_default = defineComponent({
|
|
|
342
340
|
});
|
|
343
341
|
return _medias;
|
|
344
342
|
}).finally(() => {
|
|
345
|
-
closeToast();
|
|
346
343
|
});
|
|
347
344
|
};
|
|
348
345
|
const transformImageFiles = (files) => {
|
|
@@ -401,11 +398,6 @@ var stdin_default = defineComponent({
|
|
|
401
398
|
});
|
|
402
399
|
promisesTodo.push(promise);
|
|
403
400
|
}
|
|
404
|
-
showLoadingToast({
|
|
405
|
-
message: "\u5904\u7406\u4E2D...",
|
|
406
|
-
forbidClick: true,
|
|
407
|
-
duration: 0
|
|
408
|
-
});
|
|
409
401
|
return Promise.all(promisesTodo).then((medias) => {
|
|
410
402
|
const _medias = [];
|
|
411
403
|
medias.forEach((media) => {
|
|
@@ -415,10 +407,47 @@ var stdin_default = defineComponent({
|
|
|
415
407
|
});
|
|
416
408
|
return _medias;
|
|
417
409
|
}).finally(() => {
|
|
418
|
-
closeToast();
|
|
419
410
|
});
|
|
420
411
|
};
|
|
421
412
|
const readFiles = (files) => {
|
|
413
|
+
emit("processing", true);
|
|
414
|
+
mediaListPlaceholder.value = files.map((file) => {
|
|
415
|
+
let type;
|
|
416
|
+
if (isAudioType(file)) {
|
|
417
|
+
type = "audio";
|
|
418
|
+
} else if (isVideoType(file)) {
|
|
419
|
+
type = "video";
|
|
420
|
+
} else if (isImageType(file)) {
|
|
421
|
+
type = "photo";
|
|
422
|
+
} else {
|
|
423
|
+
type = "file";
|
|
424
|
+
}
|
|
425
|
+
return {
|
|
426
|
+
file,
|
|
427
|
+
message: "\u5904\u7406\u4E2D...",
|
|
428
|
+
status: "processing",
|
|
429
|
+
type
|
|
430
|
+
};
|
|
431
|
+
});
|
|
432
|
+
emit("processing", true);
|
|
433
|
+
mediaListPlaceholder.value = files.map((file) => {
|
|
434
|
+
let type;
|
|
435
|
+
if (isAudioType(file)) {
|
|
436
|
+
type = "audio";
|
|
437
|
+
} else if (isVideoType(file)) {
|
|
438
|
+
type = "video";
|
|
439
|
+
} else if (isImageType(file)) {
|
|
440
|
+
type = "photo";
|
|
441
|
+
} else {
|
|
442
|
+
type = "file";
|
|
443
|
+
}
|
|
444
|
+
return {
|
|
445
|
+
file,
|
|
446
|
+
message: "\u5904\u7406\u4E2D...",
|
|
447
|
+
status: "processing",
|
|
448
|
+
type
|
|
449
|
+
};
|
|
450
|
+
});
|
|
422
451
|
const notImages = files.filter((f) => !isImageType(f)).map((f) => transformNotImageFile(f));
|
|
423
452
|
let newMedias = [];
|
|
424
453
|
if (notImages.length > 0) {
|
|
@@ -441,6 +470,8 @@ var stdin_default = defineComponent({
|
|
|
441
470
|
newMedia.label = newMedia.originalName;
|
|
442
471
|
});
|
|
443
472
|
}
|
|
473
|
+
mediaListPlaceholder.value = [];
|
|
474
|
+
emit("processing", false);
|
|
444
475
|
emit("update:mediaList", [...props.mediaList, ...newMedias]);
|
|
445
476
|
if (props.afterRead) {
|
|
446
477
|
props.afterRead(newMedias);
|
|
@@ -576,7 +607,7 @@ var stdin_default = defineComponent({
|
|
|
576
607
|
"class": bem("box")
|
|
577
608
|
}, [_createVNode("div", {
|
|
578
609
|
"class": bem("button"),
|
|
579
|
-
"onClick": () =>
|
|
610
|
+
"onClick": () => mediaPickAction(mediaType, mediaAddType)
|
|
580
611
|
}, [renderIcon(mediaType, mediaAddType)]), _createVNode("div", {
|
|
581
612
|
"class": bem("label")
|
|
582
613
|
}, [label])]);
|
|
@@ -617,7 +648,7 @@ var stdin_default = defineComponent({
|
|
|
617
648
|
status,
|
|
618
649
|
message
|
|
619
650
|
} = media;
|
|
620
|
-
if (status === "uploading" || status === "failed") {
|
|
651
|
+
if (status === "processing" || status === "uploading" || status === "failed") {
|
|
621
652
|
const MaskIcon = status === "failed" ? _createVNode(ZtIcon, {
|
|
622
653
|
"name": "close",
|
|
623
654
|
"class": bem("mask-icon")
|
|
@@ -672,7 +703,7 @@ var stdin_default = defineComponent({
|
|
|
672
703
|
}
|
|
673
704
|
return _createVNode("div", {
|
|
674
705
|
"class": bem("thumbnail-label")
|
|
675
|
-
}, [media.label
|
|
706
|
+
}, [media.label]);
|
|
676
707
|
};
|
|
677
708
|
const onDelete = (media, index) => {
|
|
678
709
|
if (props.beforeDelete) {
|
|
@@ -750,6 +781,15 @@ var stdin_default = defineComponent({
|
|
|
750
781
|
showFailToast("\u6682\u4E0D\u652F\u6301\u6B64\u7C7B\u6587\u4EF6\u7684\u9884\u89C8");
|
|
751
782
|
}
|
|
752
783
|
});
|
|
784
|
+
const renderMediaListPlaceholder = () => {
|
|
785
|
+
return mediaListPlaceholder.value.map((media) => {
|
|
786
|
+
return _createVNode(ZtGridItem, {
|
|
787
|
+
"key": media.uniqueCode
|
|
788
|
+
}, {
|
|
789
|
+
default: () => [renderMediaThumbnail(media), renderMediaLabel(media), genThumbnailMask(media)]
|
|
790
|
+
});
|
|
791
|
+
});
|
|
792
|
+
};
|
|
753
793
|
const renderMediaList = () => props.mediaList.map((media, index) => {
|
|
754
794
|
const showDelete = media.deletable && media.status !== "uploading";
|
|
755
795
|
const deleteIcon = showDelete && _createVNode(DeleteIcon, {
|
|
@@ -771,7 +811,7 @@ var stdin_default = defineComponent({
|
|
|
771
811
|
action.func && action.func();
|
|
772
812
|
};
|
|
773
813
|
useExpose({
|
|
774
|
-
|
|
814
|
+
mediaPickAction
|
|
775
815
|
});
|
|
776
816
|
return () => {
|
|
777
817
|
const title = props.showTitle && _createVNode("div", {
|
|
@@ -803,7 +843,15 @@ var stdin_default = defineComponent({
|
|
|
803
843
|
"class": bem("grid")
|
|
804
844
|
}, {
|
|
805
845
|
default: () => [renderMediaList()]
|
|
806
|
-
}), [[_vShow, props.mediaList.length]])
|
|
846
|
+
}), [[_vShow, props.mediaList.length]]), _withDirectives(_createVNode(ZtGrid, {
|
|
847
|
+
"column-num": "3",
|
|
848
|
+
"border": false,
|
|
849
|
+
"square": true,
|
|
850
|
+
"gutter": "4",
|
|
851
|
+
"class": bem("grid")
|
|
852
|
+
}, {
|
|
853
|
+
default: () => [renderMediaListPlaceholder()]
|
|
854
|
+
}), [[_vShow, mediaListPlaceholder.value.length]])]);
|
|
807
855
|
};
|
|
808
856
|
}
|
|
809
857
|
});
|
|
@@ -66,7 +66,7 @@ export declare const MediaPicker: import("../utils").WithInstall<import("vue").D
|
|
|
66
66
|
default: import("./type").MediaSizeType;
|
|
67
67
|
};
|
|
68
68
|
mediaPlayerProps: import("vue").PropType<Partial<import("..").MediaPlayerProps>>;
|
|
69
|
-
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("delete" | "update:mediaList")[], "delete" | "update:mediaList", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
69
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("delete" | "processing" | "update:mediaList")[], "delete" | "processing" | "update:mediaList", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
70
70
|
disabled: BooleanConstructor;
|
|
71
71
|
showTitle: BooleanConstructor;
|
|
72
72
|
useFileNameAsLabel: BooleanConstructor;
|
|
@@ -136,6 +136,7 @@ export declare const MediaPicker: import("../utils").WithInstall<import("vue").D
|
|
|
136
136
|
mediaPlayerProps: import("vue").PropType<Partial<import("..").MediaPlayerProps>>;
|
|
137
137
|
}>> & Readonly<{
|
|
138
138
|
onDelete?: ((...args: any[]) => any) | undefined;
|
|
139
|
+
onProcessing?: ((...args: any[]) => any) | undefined;
|
|
139
140
|
"onUpdate:mediaList"?: ((...args: any[]) => any) | undefined;
|
|
140
141
|
}>, {
|
|
141
142
|
title: string;
|
|
@@ -162,7 +163,7 @@ export declare const MediaPicker: import("../utils").WithInstall<import("vue").D
|
|
|
162
163
|
imageSizeType: import("./type").MediaSizeType;
|
|
163
164
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
|
|
164
165
|
export default MediaPicker;
|
|
165
|
-
export type { MediaPickerProps } from './MediaPicker';
|
|
166
|
+
export type { MediaPickerProps, MediaPickerInstance } from './MediaPicker';
|
|
166
167
|
export type { Media, MediaType, MediaAddType, MediaUploadStatus, MediaPreview, MediaPick, MediaBeforeRead, MediaAfterRead, MediaBeforeDelete, MediaPickerThemeVars, MediaSizeType, } from './type';
|
|
167
168
|
export { defaultMedia } from './type';
|
|
168
169
|
declare module 'vue' {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type MediaType = 'photo' | 'audio' | 'video' | 'file';
|
|
2
2
|
export type MediaAddType = 'take' | 'pick' | 'take_and_pick';
|
|
3
|
-
export type MediaUploadStatus = 'uploading' | 'done' | 'failed';
|
|
3
|
+
export type MediaUploadStatus = 'processing' | 'uploading' | 'done' | 'failed';
|
|
4
4
|
export type WxMediaType = 'camera' | 'album';
|
|
5
5
|
export type MediaSizeType = 'original' | 'compressed';
|
|
6
6
|
export type Media = {
|
|
@@ -13,6 +13,7 @@ export type Media = {
|
|
|
13
13
|
fileName: string;
|
|
14
14
|
originalName: string;
|
|
15
15
|
originalSize: number;
|
|
16
|
+
originalFile?: File;
|
|
16
17
|
lastModified: number;
|
|
17
18
|
deletable: boolean;
|
|
18
19
|
status?: MediaUploadStatus;
|
package/es/picker/Picker.d.ts
CHANGED
|
@@ -30,6 +30,10 @@ export declare const pickerSharedProps: {
|
|
|
30
30
|
default: string;
|
|
31
31
|
};
|
|
32
32
|
} & {
|
|
33
|
+
title: {
|
|
34
|
+
type: PropType<string>;
|
|
35
|
+
default: string;
|
|
36
|
+
};
|
|
33
37
|
cancelButtonText: StringConstructor;
|
|
34
38
|
confirmButtonText: StringConstructor;
|
|
35
39
|
};
|
|
@@ -62,6 +66,10 @@ export declare const pickerProps: {
|
|
|
62
66
|
default: string;
|
|
63
67
|
};
|
|
64
68
|
} & {
|
|
69
|
+
title: {
|
|
70
|
+
type: PropType<string>;
|
|
71
|
+
default: string;
|
|
72
|
+
};
|
|
65
73
|
cancelButtonText: StringConstructor;
|
|
66
74
|
confirmButtonText: StringConstructor;
|
|
67
75
|
} & {
|
|
@@ -126,6 +134,10 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
|
|
126
134
|
default: string;
|
|
127
135
|
};
|
|
128
136
|
} & {
|
|
137
|
+
title: {
|
|
138
|
+
type: PropType<string>;
|
|
139
|
+
default: string;
|
|
140
|
+
};
|
|
129
141
|
cancelButtonText: StringConstructor;
|
|
130
142
|
confirmButtonText: StringConstructor;
|
|
131
143
|
} & {
|
|
@@ -188,6 +200,10 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
|
|
188
200
|
default: string;
|
|
189
201
|
};
|
|
190
202
|
} & {
|
|
203
|
+
title: {
|
|
204
|
+
type: PropType<string>;
|
|
205
|
+
default: string;
|
|
206
|
+
};
|
|
191
207
|
cancelButtonText: StringConstructor;
|
|
192
208
|
confirmButtonText: StringConstructor;
|
|
193
209
|
} & {
|
package/es/picker/Picker.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref, watch, computed, defineComponent, nextTick, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
|
2
|
-
import { pick, extend, unitToPx, truthProp,
|
|
2
|
+
import { pick, extend, unitToPx, truthProp, isSameValue, makeArrayProp, preventDefault, makeStringProp, makeNumericProp, makeNumberProp } from "../utils/index.mjs";
|
|
3
3
|
import { bem, name, isOptionExist, getColumnsType, findOptionByValue, assignDefaultFields, formatCascadeColumns, getFirstEnabledOption } from "./utils.mjs";
|
|
4
4
|
import { useChildren, useEventListener } from "@zartui/use";
|
|
5
5
|
import { useExpose } from "../composables/use-expose.mjs";
|
|
@@ -175,16 +175,6 @@ var stdin_default = defineComponent({
|
|
|
175
175
|
}), pick(slots, pickerToolbarSlots));
|
|
176
176
|
}
|
|
177
177
|
};
|
|
178
|
-
const renderTitleBar = () => {
|
|
179
|
-
if (props.showTitle) {
|
|
180
|
-
if (slots["title-bar"]) {
|
|
181
|
-
return slots["title-bar"]();
|
|
182
|
-
}
|
|
183
|
-
return _createVNode("div", {
|
|
184
|
-
"class": [bem("title"), HAPTICS_FEEDBACK]
|
|
185
|
-
}, [props.title]);
|
|
186
|
-
}
|
|
187
|
-
};
|
|
188
178
|
const buttomDivider = () => props.showToolbar ? _createVNode(Divider, {
|
|
189
179
|
"style": "margin: 0"
|
|
190
180
|
}, null) : null;
|
|
@@ -227,9 +217,9 @@ var stdin_default = defineComponent({
|
|
|
227
217
|
var _a, _b;
|
|
228
218
|
return _createVNode("div", {
|
|
229
219
|
"class": bem()
|
|
230
|
-
}, [
|
|
220
|
+
}, [renderToolbar(), props.loading ? _createVNode(Loading, {
|
|
231
221
|
"class": bem("loading")
|
|
232
|
-
}, null) : null, (_a = slots["columns-top"]) == null ? void 0 : _a.call(slots), renderColumns(), (_b = slots["columns-bottom"]) == null ? void 0 : _b.call(slots)
|
|
222
|
+
}, null) : null, (_a = slots["columns-top"]) == null ? void 0 : _a.call(slots), renderColumns(), (_b = slots["columns-bottom"]) == null ? void 0 : _b.call(slots)]);
|
|
233
223
|
};
|
|
234
224
|
const renderOptionItems = () => {
|
|
235
225
|
return currentColumns.value.map((options, columnIndex) => {
|
|
@@ -256,9 +246,9 @@ var stdin_default = defineComponent({
|
|
|
256
246
|
var _a, _b;
|
|
257
247
|
return _createVNode("div", {
|
|
258
248
|
"class": bem()
|
|
259
|
-
}, [
|
|
249
|
+
}, [renderToolbar(), props.loading ? _createVNode(Loading, {
|
|
260
250
|
"class": bem("loading")
|
|
261
|
-
}, null) : null, (_a = slots["columns-top"]) == null ? void 0 : _a.call(slots), renderOptions(), (_b = slots["columns-bottom"]) == null ? void 0 : _b.call(slots)
|
|
251
|
+
}, null) : null, (_a = slots["columns-top"]) == null ? void 0 : _a.call(slots), renderOptions(), (_b = slots["columns-bottom"]) == null ? void 0 : _b.call(slots)]);
|
|
262
252
|
};
|
|
263
253
|
return () => {
|
|
264
254
|
if (isButtonPicker.value) {
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export declare const pickerToolbarProps: {
|
|
2
|
+
title: {
|
|
3
|
+
type: import("vue").PropType<string>;
|
|
4
|
+
default: string;
|
|
5
|
+
};
|
|
2
6
|
cancelButtonText: StringConstructor;
|
|
3
7
|
confirmButtonText: StringConstructor;
|
|
4
8
|
};
|
|
@@ -6,13 +10,23 @@ export declare const pickerToolbarSlots: string[];
|
|
|
6
10
|
export type PickerToolbarPropKeys = Array<keyof typeof pickerToolbarProps>;
|
|
7
11
|
export declare const pickerToolbarPropKeys: PickerToolbarPropKeys;
|
|
8
12
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
13
|
+
title: {
|
|
14
|
+
type: import("vue").PropType<string>;
|
|
15
|
+
default: string;
|
|
16
|
+
};
|
|
9
17
|
cancelButtonText: StringConstructor;
|
|
10
18
|
confirmButtonText: StringConstructor;
|
|
11
19
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "confirm")[], "cancel" | "confirm", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
20
|
+
title: {
|
|
21
|
+
type: import("vue").PropType<string>;
|
|
22
|
+
default: string;
|
|
23
|
+
};
|
|
12
24
|
cancelButtonText: StringConstructor;
|
|
13
25
|
confirmButtonText: StringConstructor;
|
|
14
26
|
}>> & Readonly<{
|
|
15
27
|
onCancel?: ((...args: any[]) => any) | undefined;
|
|
16
28
|
onConfirm?: ((...args: any[]) => any) | undefined;
|
|
17
|
-
}>, {
|
|
29
|
+
}>, {
|
|
30
|
+
title: string;
|
|
31
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
18
32
|
export default _default;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { defineComponent, createVNode as _createVNode } from "vue";
|
|
2
2
|
import { bem, t } from "./utils.mjs";
|
|
3
|
-
import { createNamespace, HAPTICS_FEEDBACK } from "../utils/index.mjs";
|
|
4
|
-
import { Button } from "../button/index.mjs";
|
|
3
|
+
import { createNamespace, HAPTICS_FEEDBACK, makeStringProp } from "../utils/index.mjs";
|
|
5
4
|
const [name] = createNamespace("picker-toolbar");
|
|
6
5
|
const pickerToolbarProps = {
|
|
7
|
-
|
|
6
|
+
title: makeStringProp("\u8BF7\u9009\u62E9"),
|
|
8
7
|
cancelButtonText: String,
|
|
9
8
|
confirmButtonText: String
|
|
10
9
|
};
|
|
@@ -18,32 +17,35 @@ var stdin_default = defineComponent({
|
|
|
18
17
|
emit,
|
|
19
18
|
slots
|
|
20
19
|
}) {
|
|
20
|
+
const renderTitle = () => {
|
|
21
|
+
if (slots.title) {
|
|
22
|
+
return slots.title();
|
|
23
|
+
}
|
|
24
|
+
if (props.title) {
|
|
25
|
+
return _createVNode("div", {
|
|
26
|
+
"class": [bem("title"), "zt-ellipsis"]
|
|
27
|
+
}, [props.title]);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
21
30
|
const onCancel = () => emit("cancel");
|
|
22
31
|
const onConfirm = () => emit("confirm");
|
|
23
32
|
const renderCancel = () => {
|
|
24
33
|
const text = props.cancelButtonText || t("cancel");
|
|
25
|
-
return _createVNode(
|
|
26
|
-
"type": "default",
|
|
27
|
-
"hairline": true,
|
|
34
|
+
return _createVNode("div", {
|
|
28
35
|
"class": bem("cancel"),
|
|
29
36
|
"onClick": onCancel
|
|
30
|
-
},
|
|
31
|
-
default: () => [slots.cancel ? slots.cancel() : text]
|
|
32
|
-
});
|
|
37
|
+
}, [slots.cancel ? slots.cancel() : text]);
|
|
33
38
|
};
|
|
34
39
|
const renderConfirm = () => {
|
|
35
40
|
const text = props.confirmButtonText || t("confirm");
|
|
36
|
-
return _createVNode(
|
|
37
|
-
"type": "primary",
|
|
41
|
+
return _createVNode("div", {
|
|
38
42
|
"class": [bem("confirm"), HAPTICS_FEEDBACK],
|
|
39
43
|
"onClick": onConfirm
|
|
40
|
-
},
|
|
41
|
-
default: () => [slots.confirm ? slots.confirm() : text]
|
|
42
|
-
});
|
|
44
|
+
}, [slots.confirm ? slots.confirm() : text]);
|
|
43
45
|
};
|
|
44
46
|
return () => _createVNode("div", {
|
|
45
47
|
"class": bem("toolbar")
|
|
46
|
-
}, [slots.toolbar ? slots.toolbar() : [renderCancel(), renderConfirm()]]);
|
|
48
|
+
}, [slots.toolbar ? slots.toolbar() : [renderCancel(), renderTitle(), renderConfirm()]]);
|
|
47
49
|
}
|
|
48
50
|
});
|
|
49
51
|
export {
|
package/es/picker/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--zt-picker-cancel-
|
|
1
|
+
:root{--zt-picker-cancel-padding: 15px 20px;--zt-picker-confirm-padding: 15px 20px;--zt-picker-title-margin: 0 20px;--zt-picker-title-height: 56px;--zt-picker-title-border-radius: 16px 16px 0 0;--zt-picker-title-text-color: var(--zt-gray-60);--zt-picker-background: var(--zt-background-popup);--zt-picker-toolbar-height: 52px;--zt-picker-toolbar-background: var(--zt-background-popup);--zt-picker-title-background: var(--zt-background-popup);--zt-picker-option-padding: 0 var(--zt-padding-base);--zt-picker-option-text-color: var(--zt-text-color);--zt-picker-option-disabled-opacity: var(--zt-disabled-opacity);--zt-picker-option-disabled-background: var(--zt-gray-10);--zt-picker-loading-icon-color: var(--zt-primary-color);--zt-picker-loading-mask-color: rgba(255, 255, 255, .9);--zt-picker-mask-color: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4)), linear-gradient(0deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4));--zt-picker-warpper-padding: 12px 16px 4px 16px;--zt-picker-option-item-text-color: var(--zt-gray-40);--zt-picker-option-item-padding: 0 4px 8px 0;--zt-picker-options-ellipsis-height: 36px;--zt-picker-options-ellipsis-border: 1px solid var(--zt-gray-20);--zt-picker-option-item-disabled-opacity: var(--zt-disabled-opacity);--zt-picker-frame-background-color: rgba(0, 0, 0, .02)}:root[zt-theme-size=large]{--zt-picker-options-ellipsis-height: 50px}.zt-theme-dark{--zt-picker-loading-mask-color: rgba(0, 0, 0, .6);--zt-picker-mask-color: linear-gradient(180deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1)), linear-gradient(0deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1))}.zt-picker{position:relative;background:var(--zt-picker-background);-webkit-user-select:none;-moz-user-select:none;user-select:none}.zt-picker__toolbar{display:flex;align-items:center;justify-content:space-between;height:var(--zt-picker-toolbar-height);background:var(--zt-picker-toolbar-background)}.zt-picker__cancel,.zt-picker__confirm{flex:0 0 auto}.zt-picker__cancel{padding:var(--zt-picker-cancel-padding);font-size:var(--zt-font-size-md);color:var(--zt-primary-color)}.zt-picker__confirm{margin:var(--zt-picker-confirm-padding);font-size:var(--zt-font-size-md);color:var(--zt-primary-color)}.zt-picker__title{min-width:0;font-size:var(--zt-font-size-xl);color:var(--zt-picker-title-text-color);font-weight:700;margin:var(--zt-picker-title-margin)}.zt-picker__columns{position:relative;display:flex;cursor:grab}.zt-picker__options{position:relative;display:flex;cursor:grab;overflow-y:scroll}.zt-picker__options:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:0;bottom:0;left:0;border-bottom:1px solid var(--zt-border-color);transform:scaleY(.5)}.zt-picker__options:before{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:0;right:0;left:0;border-top:1px solid var(--zt-border-color);transform:scaleY(.5)}.zt-picker__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;color:var(--zt-picker-loading-icon-color);background:var(--zt-picker-loading-mask-color)}.zt-picker__frame{position:absolute;top:50%;z-index:2;transform:translateY(-50%);pointer-events:none;width:100%;background:var(--zt-picker-frame-background-color)}.zt-picker__mask{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background-image:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4)),linear-gradient(0deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4));background-repeat:no-repeat;background-position:top,bottom;transform:translateZ(0);pointer-events:none}.zt-picker-column{flex:1;overflow:hidden;font-size:var(--zt-font-size-lg)}.zt-picker-column__wrapper{transition-timing-function:cubic-bezier(.23,1,.68,1)}.zt-picker-column__item{display:flex;align-items:center;justify-content:center;padding:var(--zt-picker-option-padding);color:var(--zt-picker-option-text-color)}.zt-picker-column__item--disabled{cursor:not-allowed;opacity:var(--zt-picker-option-disabled-opacity)}.zt-picker-column__item--selected{font-weight:700;font-size:var(--zt-font-size-xl)}.zt-picker-column__unit{background:var(--zt-picker-title-background);position:absolute;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--zt-picker-option-text-color);font-size:var(--zt-font-size-lg);width:100%;height:100%}.zt-picker-column__unit-text{margin:0 4px;font-size:var(--zt-font-size-md)}.zt-picker-options{flex:1;overflow-y:scroll;font-size:var(--zt-font-size-md);margin:0;outline:0 none;padding:0}.zt-picker-options__wrapper{display:flex;flex-wrap:wrap;background-color:var(--zt-picker-background);padding:var(--zt-picker-warpper-padding)}.zt-picker-options__item{color:var(--zt-picker-option-item-text-color);padding:var(--zt-picker-option-item-padding);box-sizing:border-box;text-align:center;font-size:var(--zt-font-size-md)}.zt-picker-options__item .zt-ellipsis{height:var(--zt-picker-options-ellipsis-height);line-height:var(--zt-picker-options-ellipsis-height);border-radius:calc(var(--zt-picker-options-ellipsis-height) / 2);background:var(--zt-gray-10);padding:0 var(--zt-padding-md)}.zt-picker-options__item:active{opacity:var(--zt-active-opacity)}.zt-picker-options__item--disabled{cursor:not-allowed;color:var(--zt-gray-20)}.zt-picker-options__item--disabled .zt-ellipsis{background:var(--zt-picker-option-disabled-background)!important}.zt-picker-options__item--last{padding-right:0}.zt-picker-options__item--selected{color:var(--zt-white)}.zt-picker-options__item--selected .zt-ellipsis{background:var(--zt-primary-color)}.zt-picker-options__item--disabled-selected{cursor:not-allowed;color:var(--zt-gray)!important}.zt-picker-options__item--disabled-selected .zt-ellipsis{background:var(--zt-picker-option-disabled-background)!important}
|
package/es/picker/index.d.ts
CHANGED
|
@@ -28,6 +28,10 @@ export declare const Picker: import("../utils").WithInstall<import("vue").Define
|
|
|
28
28
|
default: string;
|
|
29
29
|
};
|
|
30
30
|
} & {
|
|
31
|
+
title: {
|
|
32
|
+
type: import("vue").PropType<string>;
|
|
33
|
+
default: string;
|
|
34
|
+
};
|
|
31
35
|
cancelButtonText: StringConstructor;
|
|
32
36
|
confirmButtonText: StringConstructor;
|
|
33
37
|
} & {
|
|
@@ -90,6 +94,10 @@ export declare const Picker: import("../utils").WithInstall<import("vue").Define
|
|
|
90
94
|
default: string;
|
|
91
95
|
};
|
|
92
96
|
} & {
|
|
97
|
+
title: {
|
|
98
|
+
type: import("vue").PropType<string>;
|
|
99
|
+
default: string;
|
|
100
|
+
};
|
|
93
101
|
cancelButtonText: StringConstructor;
|
|
94
102
|
confirmButtonText: StringConstructor;
|
|
95
103
|
} & {
|