zartui 3.2.0 → 3.2.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 +27 -27
- package/es/action-sheet/ActionSheet.d.ts +16 -3
- package/es/action-sheet/ActionSheet.mjs +30 -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 +1 -0
- package/es/index.mjs +3 -0
- 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 +76 -24
- 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 +47 -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 +29 -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 +1 -0
- package/lib/index.js +3 -0
- 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 +75 -23
- 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 +47 -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 -1
- package/lib/zartui.cjs.js +1358 -990
- package/lib/zartui.es.js +1358 -990
- package/lib/zartui.js +1406 -1021
- package/lib/zartui.min.js +1 -1
- package/package.json +11 -11
|
@@ -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";
|
|
@@ -42,6 +42,7 @@ import { file2DataURL, getFileUniqueCode, getUniqueFileName, isAudioType, isImag
|
|
|
42
42
|
import { showImagePreview } from "../image-preview/index.mjs";
|
|
43
43
|
import { ImageProcessor, checkWatermarkConfigSupported, CompressOptions, ResizeOptions } from "@egova-mobile/app-media-utils";
|
|
44
44
|
import { wxUploadImage } from "./util/wx-util.mjs";
|
|
45
|
+
import { useExpose } from "../composables/use-expose.mjs";
|
|
45
46
|
const [name, bem] = createNamespace("media-picker");
|
|
46
47
|
const FILE_SIZE_LIMIT = 100;
|
|
47
48
|
const mediaPickerProps = {
|
|
@@ -100,7 +101,7 @@ const mediaPickerProps = {
|
|
|
100
101
|
var stdin_default = defineComponent({
|
|
101
102
|
name,
|
|
102
103
|
props: mediaPickerProps,
|
|
103
|
-
emits: ["update:mediaList", "delete"],
|
|
104
|
+
emits: ["update:mediaList", "delete", "processing"],
|
|
104
105
|
setup(props, {
|
|
105
106
|
emit,
|
|
106
107
|
slots
|
|
@@ -118,6 +119,7 @@ var stdin_default = defineComponent({
|
|
|
118
119
|
const audioRecorderInputRef = ref();
|
|
119
120
|
const audioFileInputRef = ref();
|
|
120
121
|
const fileInputRef = ref();
|
|
122
|
+
const mediaListPlaceholder = ref([]);
|
|
121
123
|
const checkFileCountBeforeAdd = (mediaType) => {
|
|
122
124
|
if (props.mediaList.length === props.maxMediaCount) {
|
|
123
125
|
showFailToast("\u5DF2\u8FBE\u5230\u6587\u4EF6\u6700\u5927\u6570\u91CF\u9650\u5236");
|
|
@@ -140,7 +142,7 @@ var stdin_default = defineComponent({
|
|
|
140
142
|
const triggerHiddenInput = (ref2) => {
|
|
141
143
|
ref2 && ref2.click();
|
|
142
144
|
};
|
|
143
|
-
const
|
|
145
|
+
const mediaPickAction = (mediaType, mediaAddType) => {
|
|
144
146
|
if (props.disabled) {
|
|
145
147
|
return;
|
|
146
148
|
}
|
|
@@ -216,24 +218,24 @@ var stdin_default = defineComponent({
|
|
|
216
218
|
return [{
|
|
217
219
|
name: "\u62CD\u6444",
|
|
218
220
|
callback: () => {
|
|
219
|
-
|
|
221
|
+
mediaPickAction("video", "take");
|
|
220
222
|
}
|
|
221
223
|
}, {
|
|
222
224
|
name: "\u89C6\u9891\u6587\u4EF6",
|
|
223
225
|
callback: () => {
|
|
224
|
-
|
|
226
|
+
mediaPickAction("video", "pick");
|
|
225
227
|
}
|
|
226
228
|
}];
|
|
227
229
|
} else if (audioOptionsVisible.value) {
|
|
228
230
|
return [{
|
|
229
231
|
name: "\u5F55\u97F3",
|
|
230
232
|
callback: () => {
|
|
231
|
-
|
|
233
|
+
mediaPickAction("audio", "take");
|
|
232
234
|
}
|
|
233
235
|
}, {
|
|
234
236
|
name: "\u97F3\u9891\u6587\u4EF6",
|
|
235
237
|
callback: () => {
|
|
236
|
-
|
|
238
|
+
mediaPickAction("audio", "pick");
|
|
237
239
|
}
|
|
238
240
|
}];
|
|
239
241
|
}
|
|
@@ -299,6 +301,7 @@ var stdin_default = defineComponent({
|
|
|
299
301
|
fileName: f.name,
|
|
300
302
|
originalName: f.name,
|
|
301
303
|
originalSize: f.size,
|
|
304
|
+
originalFile: f,
|
|
302
305
|
deletable: true,
|
|
303
306
|
message: ""
|
|
304
307
|
};
|
|
@@ -321,17 +324,13 @@ var stdin_default = defineComponent({
|
|
|
321
324
|
message: "",
|
|
322
325
|
originalName: file.name,
|
|
323
326
|
// 原始名称
|
|
324
|
-
originalSize: file.size
|
|
327
|
+
originalSize: file.size,
|
|
325
328
|
// 原始大小
|
|
329
|
+
originalFile: file
|
|
326
330
|
};
|
|
327
331
|
return media;
|
|
328
332
|
});
|
|
329
333
|
});
|
|
330
|
-
showLoadingToast({
|
|
331
|
-
message: "\u5904\u7406\u4E2D...",
|
|
332
|
-
forbidClick: true,
|
|
333
|
-
duration: 0
|
|
334
|
-
});
|
|
335
334
|
return Promise.all(mediaList).then((medias) => {
|
|
336
335
|
const _medias = [];
|
|
337
336
|
medias.forEach((media) => {
|
|
@@ -341,7 +340,6 @@ var stdin_default = defineComponent({
|
|
|
341
340
|
});
|
|
342
341
|
return _medias;
|
|
343
342
|
}).finally(() => {
|
|
344
|
-
closeToast();
|
|
345
343
|
});
|
|
346
344
|
};
|
|
347
345
|
const transformImageFiles = (files) => {
|
|
@@ -400,11 +398,6 @@ var stdin_default = defineComponent({
|
|
|
400
398
|
});
|
|
401
399
|
promisesTodo.push(promise);
|
|
402
400
|
}
|
|
403
|
-
showLoadingToast({
|
|
404
|
-
message: "\u5904\u7406\u4E2D...",
|
|
405
|
-
forbidClick: true,
|
|
406
|
-
duration: 0
|
|
407
|
-
});
|
|
408
401
|
return Promise.all(promisesTodo).then((medias) => {
|
|
409
402
|
const _medias = [];
|
|
410
403
|
medias.forEach((media) => {
|
|
@@ -414,10 +407,47 @@ var stdin_default = defineComponent({
|
|
|
414
407
|
});
|
|
415
408
|
return _medias;
|
|
416
409
|
}).finally(() => {
|
|
417
|
-
closeToast();
|
|
418
410
|
});
|
|
419
411
|
};
|
|
420
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
|
+
});
|
|
421
451
|
const notImages = files.filter((f) => !isImageType(f)).map((f) => transformNotImageFile(f));
|
|
422
452
|
let newMedias = [];
|
|
423
453
|
if (notImages.length > 0) {
|
|
@@ -440,6 +470,8 @@ var stdin_default = defineComponent({
|
|
|
440
470
|
newMedia.label = newMedia.originalName;
|
|
441
471
|
});
|
|
442
472
|
}
|
|
473
|
+
mediaListPlaceholder.value = [];
|
|
474
|
+
emit("processing", false);
|
|
443
475
|
emit("update:mediaList", [...props.mediaList, ...newMedias]);
|
|
444
476
|
if (props.afterRead) {
|
|
445
477
|
props.afterRead(newMedias);
|
|
@@ -575,7 +607,7 @@ var stdin_default = defineComponent({
|
|
|
575
607
|
"class": bem("box")
|
|
576
608
|
}, [_createVNode("div", {
|
|
577
609
|
"class": bem("button"),
|
|
578
|
-
"onClick": () =>
|
|
610
|
+
"onClick": () => mediaPickAction(mediaType, mediaAddType)
|
|
579
611
|
}, [renderIcon(mediaType, mediaAddType)]), _createVNode("div", {
|
|
580
612
|
"class": bem("label")
|
|
581
613
|
}, [label])]);
|
|
@@ -616,7 +648,7 @@ var stdin_default = defineComponent({
|
|
|
616
648
|
status,
|
|
617
649
|
message
|
|
618
650
|
} = media;
|
|
619
|
-
if (status === "uploading" || status === "failed") {
|
|
651
|
+
if (status === "processing" || status === "uploading" || status === "failed") {
|
|
620
652
|
const MaskIcon = status === "failed" ? _createVNode(ZtIcon, {
|
|
621
653
|
"name": "close",
|
|
622
654
|
"class": bem("mask-icon")
|
|
@@ -671,7 +703,7 @@ var stdin_default = defineComponent({
|
|
|
671
703
|
}
|
|
672
704
|
return _createVNode("div", {
|
|
673
705
|
"class": bem("thumbnail-label")
|
|
674
|
-
}, [media.label
|
|
706
|
+
}, [media.label]);
|
|
675
707
|
};
|
|
676
708
|
const onDelete = (media, index) => {
|
|
677
709
|
if (props.beforeDelete) {
|
|
@@ -749,6 +781,15 @@ var stdin_default = defineComponent({
|
|
|
749
781
|
showFailToast("\u6682\u4E0D\u652F\u6301\u6B64\u7C7B\u6587\u4EF6\u7684\u9884\u89C8");
|
|
750
782
|
}
|
|
751
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
|
+
};
|
|
752
793
|
const renderMediaList = () => props.mediaList.map((media, index) => {
|
|
753
794
|
const showDelete = media.deletable && media.status !== "uploading";
|
|
754
795
|
const deleteIcon = showDelete && _createVNode(DeleteIcon, {
|
|
@@ -769,6 +810,9 @@ var stdin_default = defineComponent({
|
|
|
769
810
|
actionVisible.value = false;
|
|
770
811
|
action.func && action.func();
|
|
771
812
|
};
|
|
813
|
+
useExpose({
|
|
814
|
+
mediaPickAction
|
|
815
|
+
});
|
|
772
816
|
return () => {
|
|
773
817
|
const title = props.showTitle && _createVNode("div", {
|
|
774
818
|
"class": bem("title")
|
|
@@ -799,7 +843,15 @@ var stdin_default = defineComponent({
|
|
|
799
843
|
"class": bem("grid")
|
|
800
844
|
}, {
|
|
801
845
|
default: () => [renderMediaList()]
|
|
802
|
-
}), [[_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]])]);
|
|
803
855
|
};
|
|
804
856
|
}
|
|
805
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
|
} & {
|