yuang-framework-ui-pc 1.1.51 → 1.1.52

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.
Files changed (38) hide show
  1. package/es/core-components.d.ts +1 -2
  2. package/es/core-components.js +2 -4
  3. package/es/ele-upload-list/components/list-item.d.ts +1 -0
  4. package/es/ele-upload-list/components/list-item.js +11 -3
  5. package/es/ele-upload-list/index.d.ts +2 -0
  6. package/es/ele-upload-list/index.js +16 -3
  7. package/es/ele-upload-list/types.d.ts +2 -0
  8. package/es/{yu-framework-attachment-image-upload → yu-framework-attachment-upload}/index.js +31 -50
  9. package/es/yu-framework-slider-captcha-dialog/{SliderCaptcha.js → components/SliderCaptcha.js} +1 -1
  10. package/es/yu-framework-slider-captcha-dialog/index.js +1 -1
  11. package/lib/core-components.cjs +2 -4
  12. package/lib/core-components.d.ts +1 -2
  13. package/lib/ele-upload-list/components/list-item.cjs +11 -3
  14. package/lib/ele-upload-list/components/list-item.d.ts +1 -0
  15. package/lib/ele-upload-list/index.cjs +16 -3
  16. package/lib/ele-upload-list/index.d.ts +2 -0
  17. package/lib/ele-upload-list/types.d.ts +2 -0
  18. package/lib/{yu-framework-attachment-image-upload → yu-framework-attachment-upload}/index.cjs +31 -50
  19. package/lib/yu-framework-slider-captcha-dialog/{SliderCaptcha.cjs → components/SliderCaptcha.cjs} +1 -1
  20. package/lib/yu-framework-slider-captcha-dialog/index.cjs +1 -1
  21. package/package.json +2 -2
  22. package/typings/global.d.ts +1 -2
  23. package/es/yu-framework-attachment-file-upload/CommonUpload/index.d.ts +0 -161
  24. package/es/yu-framework-attachment-file-upload/CommonUpload/index.js +0 -173
  25. package/es/yu-framework-attachment-file-upload/FileUpload/index.d.ts +0 -143
  26. package/es/yu-framework-attachment-file-upload/FileUpload/index.js +0 -219
  27. package/es/yu-framework-attachment-file-upload/index.d.ts +0 -16
  28. package/es/yu-framework-attachment-file-upload/index.js +0 -55
  29. package/lib/yu-framework-attachment-file-upload/CommonUpload/index.cjs +0 -172
  30. package/lib/yu-framework-attachment-file-upload/CommonUpload/index.d.ts +0 -161
  31. package/lib/yu-framework-attachment-file-upload/FileUpload/index.cjs +0 -218
  32. package/lib/yu-framework-attachment-file-upload/FileUpload/index.d.ts +0 -143
  33. package/lib/yu-framework-attachment-file-upload/index.cjs +0 -54
  34. package/lib/yu-framework-attachment-file-upload/index.d.ts +0 -16
  35. /package/es/{yu-framework-attachment-image-upload → yu-framework-attachment-upload}/index.d.ts +0 -0
  36. /package/es/yu-framework-slider-captcha-dialog/{SliderCaptcha.d.ts → components/SliderCaptcha.d.ts} +0 -0
  37. /package/lib/{yu-framework-attachment-image-upload → yu-framework-attachment-upload}/index.d.ts +0 -0
  38. /package/lib/yu-framework-slider-captcha-dialog/{SliderCaptcha.d.ts → components/SliderCaptcha.d.ts} +0 -0
@@ -1,219 +0,0 @@
1
- import { defineComponent, ref, watch, createBlock, openBlock } from "vue";
2
- import CommonUpload from "../CommonUpload/index";
3
- const _sfc_main = /* @__PURE__ */ defineComponent({
4
- ...{ name: "FileUpload" },
5
- __name: "index",
6
- props: {
7
- modelValue: {},
8
- fileLimit: { default: 100 },
9
- readonly: { type: Boolean },
10
- disabled: { type: Boolean },
11
- preview: { type: Boolean, default: true },
12
- limit: {},
13
- multiple: { type: Boolean },
14
- drag: { type: Boolean, default: true },
15
- accept: { default: "" },
16
- itemStyle: {},
17
- buttonStyle: {},
18
- sortable: { type: [Boolean, Object], default: () => ({ forceFallback: true }) },
19
- imageProps: {},
20
- progressProps: {},
21
- previewProps: {},
22
- tools: { type: Boolean, default: true },
23
- listType: { default: "file" },
24
- beforeUploadClick: {},
25
- beforeItemEdit: {},
26
- locale: {}
27
- },
28
- emits: ["update:modelValue", "change"],
29
- setup(__props, { expose: __expose, emit: __emit }) {
30
- const props = __props;
31
- const emit = __emit;
32
- const files = ref([]);
33
- const isImage = (url) => {
34
- var _a, _b;
35
- const parts = url ? url.split(".") : [];
36
- const suffix = parts.length <= 1 || parts[0] === "" && parts.length === 2 ? "" : (_b = (_a = parts.pop()) == null ? void 0 : _a.toLowerCase) == null ? void 0 : _b.call(_a);
37
- return suffix && ["png", "jpg", "jpeg", "gif", "svg"].includes(suffix);
38
- };
39
- const getItemFileUrl = (item) => {
40
- return item.fileUrl;
41
- };
42
- const handleItemClick = (item) => {
43
- handleItemPreview(item);
44
- };
45
- const handleItemPreview = (item) => {
46
- if (!item.url) {
47
- const fileUrl = getItemFileUrl(item);
48
- if (fileUrl) {
49
- window.open(fileUrl);
50
- } else if (item.file && !item.file.type.startsWith("image")) {
51
- window.open(URL.createObjectURL(item.file));
52
- }
53
- }
54
- };
55
- const updateModelValue = (value) => {
56
- if (props.modelValue !== value) {
57
- emit("update:modelValue", value);
58
- emit("change", value);
59
- }
60
- };
61
- const clearData = () => {
62
- files.value = [];
63
- };
64
- const isDone = () => {
65
- return !files.value.some((d) => d.status !== "done");
66
- };
67
- const getDataValue = (filesValue) => {
68
- const result = [];
69
- filesValue.forEach((item) => {
70
- const fileUrl = getItemFileUrl(item);
71
- if (item.status === "done" && fileUrl != null) {
72
- result.push({ url: fileUrl, name: item.name });
73
- }
74
- });
75
- return result;
76
- };
77
- const getFilesValue = (dataValue, filesValue) => {
78
- if (!dataValue) {
79
- return filesValue.filter((item) => item.status !== "done");
80
- }
81
- const result = [];
82
- if (props.limit === 1) {
83
- try {
84
- const temp2 = JSON.parse(dataValue);
85
- if (temp2) {
86
- const url = temp2.url ?? "";
87
- result.push({
88
- key: temp2.key ?? `0-${url}`,
89
- id: temp2.id ?? ``,
90
- name: temp2.name ?? "",
91
- url: isImage(url) ? url : void 0,
92
- fileUrl: url,
93
- status: "done"
94
- });
95
- return result;
96
- }
97
- } catch (e) {
98
- console.error(e);
99
- }
100
- const temp = filesValue.find((item) => item.status !== "done");
101
- if (temp != null) {
102
- result.push(temp);
103
- }
104
- return result;
105
- }
106
- try {
107
- const temps = JSON.parse(dataValue);
108
- filesValue.forEach((item) => {
109
- const fileUrl = getItemFileUrl(item);
110
- if (fileUrl && temps.some((temp) => temp.url === fileUrl) || item.status !== "done") {
111
- result.push(item);
112
- }
113
- });
114
- temps.forEach((temp, index) => {
115
- const url = (temp == null ? void 0 : temp.url) ?? "";
116
- if (url && !result.some((item) => getItemFileUrl(item) === url)) {
117
- const key = `${index}-${url}`;
118
- const oldIndex = result.findIndex((item) => item.key === key);
119
- if (oldIndex !== -1) {
120
- result.splice(oldIndex, 1);
121
- }
122
- result.push({
123
- key,
124
- id: temp.id ?? "",
125
- name: temp.name ?? "",
126
- url: isImage(url) ? url : void 0,
127
- fileUrl: url,
128
- status: "done"
129
- });
130
- }
131
- });
132
- if (props.limit != null && result.length > props.limit) {
133
- const temp = result.filter((item) => item.status !== "done");
134
- for (const t of temp) {
135
- const i = result.indexOf(t);
136
- result.splice(i, 1);
137
- if (result.length <= props.limit) {
138
- break;
139
- }
140
- }
141
- }
142
- } catch (e) {
143
- console.error(e);
144
- filesValue.forEach((item) => {
145
- if (item.status !== "done") {
146
- result.push(item);
147
- }
148
- });
149
- }
150
- return result;
151
- };
152
- const filesIsChanged = (newFiles, oldFiles) => {
153
- if (newFiles.length !== oldFiles.length) {
154
- return true;
155
- }
156
- for (let i = 0; i < newFiles.length; i++) {
157
- const newItem = newFiles[i];
158
- const oldItem = oldFiles[i];
159
- if (newItem.key !== oldItem.key || newItem.name !== oldItem.name || getItemFileUrl(newItem) !== getItemFileUrl(oldItem) || newItem.status !== oldItem.status) {
160
- return true;
161
- }
162
- }
163
- return false;
164
- };
165
- watch(
166
- files,
167
- (filesValue) => {
168
- const dataValue = getDataValue(filesValue);
169
- if (props.limit === 1) {
170
- updateModelValue(dataValue.length ? JSON.stringify(dataValue[0]) : "");
171
- return;
172
- }
173
- updateModelValue(dataValue.length ? JSON.stringify(dataValue) : "");
174
- },
175
- { deep: true }
176
- );
177
- watch(
178
- () => props.modelValue,
179
- (dataValue) => {
180
- const filesValue = getFilesValue(dataValue, files.value);
181
- if (filesIsChanged(filesValue, files.value)) {
182
- files.value = filesValue;
183
- }
184
- },
185
- { immediate: true }
186
- );
187
- __expose({ clearData, isDone });
188
- return (_ctx, _cache) => {
189
- return openBlock(), createBlock(CommonUpload, {
190
- modelValue: files.value,
191
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => files.value = $event),
192
- fileLimit: _ctx.fileLimit,
193
- readonly: _ctx.readonly,
194
- disabled: _ctx.disabled,
195
- preview: _ctx.preview,
196
- limit: _ctx.limit,
197
- multiple: _ctx.multiple,
198
- drag: _ctx.drag,
199
- accept: _ctx.accept,
200
- itemStyle: _ctx.itemStyle,
201
- buttonStyle: _ctx.buttonStyle,
202
- sortable: _ctx.sortable,
203
- imageProps: _ctx.imageProps,
204
- progressProps: _ctx.progressProps,
205
- previewProps: _ctx.previewProps,
206
- tools: _ctx.tools,
207
- listType: _ctx.listType,
208
- beforeUploadClick: _ctx.beforeUploadClick,
209
- beforeItemEdit: _ctx.beforeItemEdit,
210
- locale: _ctx.locale,
211
- onItemClick: handleItemClick,
212
- onPreview: handleItemPreview
213
- }, null, 8, ["modelValue", "fileLimit", "readonly", "disabled", "preview", "limit", "multiple", "drag", "accept", "itemStyle", "buttonStyle", "sortable", "imageProps", "progressProps", "previewProps", "tools", "listType", "beforeUploadClick", "beforeItemEdit", "locale"]);
214
- };
215
- }
216
- });
217
- export {
218
- _sfc_main as default
219
- };
@@ -1,16 +0,0 @@
1
- import { ComponentParam } from '@/model/component/param';
2
-
3
- declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
- modelValue: import('vue').PropType<any>;
5
- param: {
6
- type: import('vue').PropType<ComponentParam>;
7
- required: true;
8
- };
9
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
10
- modelValue: import('vue').PropType<any>;
11
- param: {
12
- type: import('vue').PropType<ComponentParam>;
13
- required: true;
14
- };
15
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
16
- export default _default;
@@ -1,55 +0,0 @@
1
- import { defineComponent, mergeModels, ref, useModel, onMounted, createElementBlock, openBlock, createVNode } from "vue";
2
- import "../utils/message";
3
- import FileUpload from "./FileUpload/index";
4
- import { http } from "yuang-framework-ui-common/lib/config/httpConfig";
5
- import { getShortUuid } from "yuang-framework-ui-common/lib/utils/uuidUtils";
6
- import { application } from "yuang-framework-ui-common/lib/config/applicationConfig";
7
- const _sfc_main = /* @__PURE__ */ defineComponent({
8
- ...{ name: "YuFrameworkAttachmentFileUpload" },
9
- __name: "index",
10
- props: /* @__PURE__ */ mergeModels({
11
- modelValue: {},
12
- param: {}
13
- }, {
14
- "modelValue": {},
15
- "modelModifiers": {}
16
- }),
17
- emits: ["update:modelValue"],
18
- setup(__props) {
19
- const files = ref("");
20
- ref(false);
21
- const model = useModel(__props, "modelValue");
22
- debugger;
23
- model.value = model.value ?? getShortUuid();
24
- onMounted(() => {
25
- http.post(`${application.gatewayServerBaseUrl}/framework-api/core/framework-attachment/selectPage`, { code: model.value, pageSize: 100 }).then((res) => {
26
- let attachemtList = res.data.data.records;
27
- let fileList = [];
28
- for (let i = 0; i < attachemtList.length; i++) {
29
- fileList.push({
30
- key: attachemtList[i].id,
31
- id: attachemtList[i].id,
32
- // 需要传递name,否则表单上显示url
33
- name: attachemtList[i].name,
34
- url: attachemtList[i].fullUrl,
35
- status: "done"
36
- });
37
- }
38
- files.value = JSON.stringify(fileList);
39
- });
40
- });
41
- return (_ctx, _cache) => {
42
- return openBlock(), createElementBlock("div", null, [
43
- createVNode(FileUpload, {
44
- ref: "filesUploadRef",
45
- limit: 8,
46
- modelValue: files.value,
47
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => files.value = $event)
48
- }, null, 8, ["modelValue"])
49
- ]);
50
- };
51
- }
52
- });
53
- export {
54
- _sfc_main as default
55
- };
@@ -1,172 +0,0 @@
1
- "use strict";
2
- const vue = require("vue");
3
- const message = require("../../utils/message");
4
- const es = require("element-plus/es");
5
- const httpConfig = require("yuang-framework-ui-common/lib/config/httpConfig");
6
- const uuidUtils = require("yuang-framework-ui-common/lib/utils/uuidUtils");
7
- const applicationConfig = require("yuang-framework-ui-common/lib/config/applicationConfig");
8
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
9
- ...{ name: "CommonUpload" },
10
- __name: "index",
11
- props: /* @__PURE__ */ vue.mergeModels({
12
- fileLimit: { default: 100 },
13
- readonly: { type: Boolean },
14
- disabled: { type: Boolean },
15
- preview: { type: Boolean, default: true },
16
- limit: {},
17
- multiple: { type: Boolean },
18
- drag: { type: Boolean, default: true },
19
- accept: { default: "" },
20
- itemStyle: {},
21
- buttonStyle: {},
22
- sortable: { type: [Boolean, Object], default: () => ({ forceFallback: true }) },
23
- imageProps: {},
24
- progressProps: {},
25
- previewProps: {},
26
- tools: { type: Boolean, default: true },
27
- listType: {},
28
- beforeUploadClick: {},
29
- beforeItemEdit: {},
30
- locale: {}
31
- }, {
32
- "modelValue": {
33
- type: Array,
34
- default: () => []
35
- },
36
- "modelModifiers": {}
37
- }),
38
- emits: /* @__PURE__ */ vue.mergeModels(["itemClick", "preview"], ["update:modelValue"]),
39
- setup(__props, { emit: __emit }) {
40
- const props = __props;
41
- const emit = __emit;
42
- const images = vue.useModel(__props, "modelValue");
43
- const checkFile = (file) => {
44
- if (!file) {
45
- return;
46
- }
47
- if (props.accept === "image/*") {
48
- if (!file.type.startsWith("image")) {
49
- message.EleMessage.error("只能选择图片");
50
- return;
51
- }
52
- } else if (props.accept === ".xls,.xlsx") {
53
- if (![
54
- "application/vnd.ms-excel",
55
- "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
56
- ].includes(file.type)) {
57
- message.EleMessage.error("只能选择 excel 文件");
58
- return;
59
- }
60
- }
61
- if (props.fileLimit && file.size / 1024 / 1024 > props.fileLimit) {
62
- message.EleMessage.error(`大小不能超过 ${props.fileLimit}MB`);
63
- return;
64
- }
65
- return true;
66
- };
67
- const handleItemUpload = (uploadItem, retry) => {
68
- if (!uploadItem.file || !checkFile(uploadItem.file)) {
69
- return;
70
- }
71
- if (!retry) {
72
- images.value.push({ ...uploadItem });
73
- }
74
- const item = images.value.find((t) => t.key === uploadItem.key);
75
- if (!item) {
76
- return;
77
- }
78
- item.status = "uploading";
79
- item.progress = 0;
80
- debugger;
81
- let formData = new FormData();
82
- formData.append("code", uuidUtils.getShortUuid());
83
- formData.append("multipartFile", uploadItem.file, uploadItem.file.name);
84
- httpConfig.http({
85
- url: `/framework-api/core/framework-attachment/uploadAttachment`,
86
- method: "post",
87
- headers: {
88
- "Content-Type": "multipart/form-data"
89
- },
90
- data: formData
91
- }).then((res) => {
92
- message.EleMessage.success(res.data.message);
93
- item.progress = 100;
94
- item.status = "done";
95
- item.url = res.data.data.fullUrl;
96
- }).catch((e) => {
97
- item.status = "exception";
98
- message.EleMessage.error(e.message);
99
- });
100
- };
101
- const handleItemEditUpload = ({ item, newItem }) => {
102
- if (!checkFile(newItem.file)) {
103
- return;
104
- }
105
- const oldItem = images.value.find((t) => t.key === item.key);
106
- if (oldItem) {
107
- oldItem.url = void 0;
108
- oldItem.name = newItem.name;
109
- oldItem.file = newItem.file;
110
- oldItem.progress = 0;
111
- oldItem.status = void 0;
112
- handleItemUpload(oldItem, true);
113
- }
114
- };
115
- const handleItemRemove = (uploadItem) => {
116
- let id = uploadItem.id;
117
- es.ElMessageBox.confirm("确定要删除吗?", "系统提示", { type: "warning", draggable: true }).then(() => {
118
- httpConfig.http.get(`${applicationConfig.application.gatewayServerBaseUrl}/framework-api/core/framework-attachment/deleteInfo`, { params: { id } }).then((res) => {
119
- message.EleMessage.success(res.data.message);
120
- images.value.splice(images.value.indexOf(uploadItem), 1);
121
- });
122
- });
123
- };
124
- const handleItemClick = (item) => {
125
- emit("itemClick", item);
126
- };
127
- const handleItemPreview = (item) => {
128
- emit("preview", item);
129
- };
130
- return (_ctx, _cache) => {
131
- const _component_EleUploadList = vue.resolveComponent("EleUploadList");
132
- return vue.openBlock(), vue.createBlock(_component_EleUploadList, {
133
- modelValue: images.value,
134
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => images.value = $event),
135
- readonly: _ctx.readonly,
136
- disabled: _ctx.disabled,
137
- preview: _ctx.preview,
138
- limit: _ctx.limit,
139
- multiple: _ctx.multiple,
140
- drag: _ctx.drag,
141
- accept: _ctx.accept,
142
- itemStyle: _ctx.itemStyle,
143
- buttonStyle: _ctx.buttonStyle,
144
- sortable: _ctx.sortable,
145
- imageProps: _ctx.imageProps,
146
- progressProps: _ctx.progressProps,
147
- previewProps: _ctx.previewProps,
148
- tools: _ctx.tools,
149
- listType: _ctx.listType,
150
- beforeUploadClick: _ctx.beforeUploadClick,
151
- beforeItemEdit: _ctx.beforeItemEdit,
152
- locale: _ctx.locale,
153
- onUpload: handleItemUpload,
154
- onRetry: _cache[1] || (_cache[1] = (item) => handleItemUpload(item, true)),
155
- onRemove: handleItemRemove,
156
- onEditUpload: handleItemEditUpload,
157
- onItemClick: handleItemClick,
158
- onPreview: handleItemPreview
159
- }, vue.createSlots({ _: 2 }, [
160
- vue.renderList(Object.keys(_ctx.$slots), (name) => {
161
- return {
162
- name,
163
- fn: vue.withCtx((slotProps) => [
164
- vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(slotProps || {})))
165
- ])
166
- };
167
- })
168
- ]), 1032, ["modelValue", "readonly", "disabled", "preview", "limit", "multiple", "drag", "accept", "itemStyle", "buttonStyle", "sortable", "imageProps", "progressProps", "previewProps", "tools", "listType", "beforeUploadClick", "beforeItemEdit", "locale"]);
169
- };
170
- }
171
- });
172
- module.exports = _sfc_main;
@@ -1,161 +0,0 @@
1
- import { CSSProperties } from 'vue';
2
- import { ElProgressProps, ElImageProps } from '../../ele-app/el';
3
- import { EleImageViewerProps } from '../../ele-app/plus';
4
- import { UploadItem, ListType, BeforeUploadClick, BeforeItemEdit, UploadLocale } from '../../ele-upload-list/types';
5
-
6
- declare function __VLS_template(): Partial<Record<string, (_: any) => any>>;
7
- declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
8
- modelValue: import('vue').PropType<UploadItem[]>;
9
- drag: {
10
- type: import('vue').PropType<boolean>;
11
- default: boolean;
12
- };
13
- disabled: {
14
- type: import('vue').PropType<boolean>;
15
- };
16
- readonly: {
17
- type: import('vue').PropType<boolean>;
18
- };
19
- sortable: {
20
- type: import('vue').PropType<boolean | Record<string | number | symbol, any>>;
21
- default: () => {
22
- forceFallback: boolean;
23
- };
24
- };
25
- multiple: {
26
- type: import('vue').PropType<boolean>;
27
- };
28
- preview: {
29
- type: import('vue').PropType<boolean>;
30
- default: boolean;
31
- };
32
- accept: {
33
- type: import('vue').PropType<string>;
34
- default: string;
35
- };
36
- tools: {
37
- type: import('vue').PropType<boolean>;
38
- default: boolean;
39
- };
40
- beforeUploadClick: {
41
- type: import('vue').PropType<BeforeUploadClick>;
42
- };
43
- locale: {
44
- type: import('vue').PropType<Partial<UploadLocale>>;
45
- };
46
- imageProps: {
47
- type: import('vue').PropType<ElImageProps>;
48
- };
49
- progressProps: {
50
- type: import('vue').PropType<ElProgressProps>;
51
- };
52
- listType: {
53
- type: import('vue').PropType<ListType>;
54
- };
55
- limit: {
56
- type: import('vue').PropType<number>;
57
- };
58
- itemStyle: {
59
- type: import('vue').PropType<CSSProperties>;
60
- };
61
- buttonStyle: {
62
- type: import('vue').PropType<CSSProperties>;
63
- };
64
- previewProps: {
65
- type: import('vue').PropType<EleImageViewerProps>;
66
- };
67
- beforeItemEdit: {
68
- type: import('vue').PropType<BeforeItemEdit>;
69
- };
70
- fileLimit: {
71
- type: import('vue').PropType<number>;
72
- default: number;
73
- };
74
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
75
- itemClick: (item: UploadItem) => void;
76
- preview: (item: UploadItem) => void;
77
- }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
78
- modelValue: import('vue').PropType<UploadItem[]>;
79
- drag: {
80
- type: import('vue').PropType<boolean>;
81
- default: boolean;
82
- };
83
- disabled: {
84
- type: import('vue').PropType<boolean>;
85
- };
86
- readonly: {
87
- type: import('vue').PropType<boolean>;
88
- };
89
- sortable: {
90
- type: import('vue').PropType<boolean | Record<string | number | symbol, any>>;
91
- default: () => {
92
- forceFallback: boolean;
93
- };
94
- };
95
- multiple: {
96
- type: import('vue').PropType<boolean>;
97
- };
98
- preview: {
99
- type: import('vue').PropType<boolean>;
100
- default: boolean;
101
- };
102
- accept: {
103
- type: import('vue').PropType<string>;
104
- default: string;
105
- };
106
- tools: {
107
- type: import('vue').PropType<boolean>;
108
- default: boolean;
109
- };
110
- beforeUploadClick: {
111
- type: import('vue').PropType<BeforeUploadClick>;
112
- };
113
- locale: {
114
- type: import('vue').PropType<Partial<UploadLocale>>;
115
- };
116
- imageProps: {
117
- type: import('vue').PropType<ElImageProps>;
118
- };
119
- progressProps: {
120
- type: import('vue').PropType<ElProgressProps>;
121
- };
122
- listType: {
123
- type: import('vue').PropType<ListType>;
124
- };
125
- limit: {
126
- type: import('vue').PropType<number>;
127
- };
128
- itemStyle: {
129
- type: import('vue').PropType<CSSProperties>;
130
- };
131
- buttonStyle: {
132
- type: import('vue').PropType<CSSProperties>;
133
- };
134
- previewProps: {
135
- type: import('vue').PropType<EleImageViewerProps>;
136
- };
137
- beforeItemEdit: {
138
- type: import('vue').PropType<BeforeItemEdit>;
139
- };
140
- fileLimit: {
141
- type: import('vue').PropType<number>;
142
- default: number;
143
- };
144
- }>> & Readonly<{
145
- onItemClick?: ((item: UploadItem) => any) | undefined;
146
- onPreview?: ((item: UploadItem) => any) | undefined;
147
- }>, {
148
- drag: boolean;
149
- sortable: boolean | Record<keyof any, any>;
150
- preview: boolean;
151
- accept: string;
152
- tools: boolean;
153
- fileLimit: number;
154
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
155
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
156
- export default _default;
157
- type __VLS_WithTemplateSlots<T, S> = T & {
158
- new (): {
159
- $slots: S;
160
- };
161
- };