ll-plus 2.3.9 → 2.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/operate-icon/index.d.ts +1 -0
- package/es/components/operate-icon/src/operate-icon.vue.d.ts +1 -0
- package/es/components/operate-icon/src/operate-icon.vue2.mjs +3 -1
- package/es/components/operate-icon/src/operate-icon.vue2.mjs.map +1 -1
- package/es/components/upload-image/index.d.ts +4 -1
- package/es/components/upload-image/src/upload-image.d.ts +1 -0
- package/es/components/upload-image/src/upload-image.mjs +4 -0
- package/es/components/upload-image/src/upload-image.mjs.map +1 -1
- package/es/components/upload-image/src/upload-image.vue.d.ts +4 -1
- package/es/components/upload-image/src/upload-image.vue2.mjs +4 -4
- package/es/components/upload-image/src/upload-image.vue2.mjs.map +1 -1
- package/index.full.js +10 -4
- package/index.full.min.js +13 -13
- package/index.full.min.js.map +1 -1
- package/index.full.min.mjs +13 -13
- package/index.full.min.mjs.map +1 -1
- package/index.full.mjs +10 -4
- package/lib/components/operate-icon/index.d.ts +1 -0
- package/lib/components/operate-icon/src/operate-icon.vue.d.ts +1 -0
- package/lib/components/operate-icon/src/operate-icon.vue2.js +3 -1
- package/lib/components/operate-icon/src/operate-icon.vue2.js.map +1 -1
- package/lib/components/upload-image/index.d.ts +4 -1
- package/lib/components/upload-image/src/upload-image.d.ts +1 -0
- package/lib/components/upload-image/src/upload-image.js +4 -0
- package/lib/components/upload-image/src/upload-image.js.map +1 -1
- package/lib/components/upload-image/src/upload-image.vue.d.ts +4 -1
- package/lib/components/upload-image/src/upload-image.vue2.js +3 -3
- package/lib/components/upload-image/src/upload-image.vue2.js.map +1 -1
- package/package.json +1 -1
- package/types/packages/components/operate-icon/index.d.ts +1 -0
- package/types/packages/components/operate-icon/src/operate-icon.vue.d.ts +1 -0
- package/types/packages/components/upload-image/index.d.ts +4 -1
- package/types/packages/components/upload-image/src/upload-image.d.ts +1 -0
- package/types/packages/components/upload-image/src/upload-image.vue.d.ts +4 -1
package/index.full.mjs
CHANGED
|
@@ -59473,6 +59473,7 @@ var _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
59473
59473
|
emits("update:dropdownOpen", false);
|
|
59474
59474
|
}
|
|
59475
59475
|
};
|
|
59476
|
+
const handleDropdownParentClick = () => dropdownOpen.value = false;
|
|
59476
59477
|
const handleIconMouseenter = () => {
|
|
59477
59478
|
dropdownOpen.value = true;
|
|
59478
59479
|
emits("update:dropdownOpen", true);
|
|
@@ -59537,7 +59538,8 @@ var _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
59537
59538
|
return openBlock(), createBlock(
|
|
59538
59539
|
_component_a_menu_item,
|
|
59539
59540
|
{
|
|
59540
|
-
key: item.iconName
|
|
59541
|
+
key: item.iconName,
|
|
59542
|
+
onClick: handleDropdownParentClick
|
|
59541
59543
|
},
|
|
59542
59544
|
{
|
|
59543
59545
|
default: withCtx(() => [
|
|
@@ -76735,6 +76737,10 @@ const uploadImageProps = buildProps({
|
|
|
76735
76737
|
type: Boolean,
|
|
76736
76738
|
default: false
|
|
76737
76739
|
},
|
|
76740
|
+
useBase64: {
|
|
76741
|
+
type: Boolean,
|
|
76742
|
+
default: true
|
|
76743
|
+
},
|
|
76738
76744
|
iconName: {
|
|
76739
76745
|
type: String,
|
|
76740
76746
|
default: "icon-add"
|
|
@@ -76777,7 +76783,6 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
76777
76783
|
props: uploadImageProps,
|
|
76778
76784
|
emits: uploadImageEmits,
|
|
76779
76785
|
setup(__props, { emit: __emit }) {
|
|
76780
|
-
const loading = ref(false);
|
|
76781
76786
|
const props = __props;
|
|
76782
76787
|
const emits = __emit;
|
|
76783
76788
|
const bem = createNamespace("upload-image");
|
|
@@ -76815,9 +76820,10 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
76815
76820
|
return isType && isSize && props.beforeUpload?.(file, FileList);
|
|
76816
76821
|
};
|
|
76817
76822
|
const customRequest = async (res) => {
|
|
76818
|
-
loading.value = true;
|
|
76819
76823
|
const fileUrl = await fileToBase64(res.file);
|
|
76820
|
-
props.
|
|
76824
|
+
if (props.useBase64) {
|
|
76825
|
+
props.maxCount === 1 ? innerValue.value = [fileUrl] : innerValue.value.push(fileUrl);
|
|
76826
|
+
}
|
|
76821
76827
|
try {
|
|
76822
76828
|
props.customRequest?.(res, fileUrl);
|
|
76823
76829
|
} catch (error) {
|
|
@@ -83,6 +83,7 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
83
83
|
operateIconClass: import("vue").ComputedRef<string>;
|
|
84
84
|
marginButtonClass: (index: any, length: any) => "" | "margin-button-container";
|
|
85
85
|
handleDropdownOpenChange: (open: boolean) => void;
|
|
86
|
+
handleDropdownParentClick: () => boolean;
|
|
86
87
|
handleIconMouseenter: () => void;
|
|
87
88
|
readonly LlIconBase: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
88
89
|
readonly iconType: {
|
|
@@ -83,6 +83,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
83
83
|
operateIconClass: import("vue").ComputedRef<string>;
|
|
84
84
|
marginButtonClass: (index: any, length: any) => "" | "margin-button-container";
|
|
85
85
|
handleDropdownOpenChange: (open: boolean) => void;
|
|
86
|
+
handleDropdownParentClick: () => boolean;
|
|
86
87
|
handleIconMouseenter: () => void;
|
|
87
88
|
readonly LlIconBase: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
88
89
|
readonly iconType: {
|
|
@@ -64,6 +64,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
64
64
|
emits("update:dropdownOpen", false);
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
|
+
const handleDropdownParentClick = () => dropdownOpen.value = false;
|
|
67
68
|
const handleIconMouseenter = () => {
|
|
68
69
|
dropdownOpen.value = true;
|
|
69
70
|
emits("update:dropdownOpen", true);
|
|
@@ -128,7 +129,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
128
129
|
return vue.openBlock(), vue.createBlock(
|
|
129
130
|
_component_a_menu_item,
|
|
130
131
|
{
|
|
131
|
-
key: item.iconName
|
|
132
|
+
key: item.iconName,
|
|
133
|
+
onClick: handleDropdownParentClick
|
|
132
134
|
},
|
|
133
135
|
{
|
|
134
136
|
default: vue.withCtx(() => [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operate-icon.vue2.js","sources":["../../../../../packages/components/operate-icon/src/operate-icon.vue"],"sourcesContent":["<template>\n <div :class=\"operateIconClass\">\n <!-- 显示的icon -->\n <ll-icon-base\n v-for=\"(item, index) in showIconList\"\n v-bind=\"item\"\n :key=\"item.iconName\"\n :data=\"data\"\n :class=\"bem.e(marginButtonClass(index, showIconList.length - 1))\"\n />\n <!-- 下拉提示的icon -->\n <a-dropdown\n v-if=\"showDropdown && modalIconList.length\"\n :overlay-class-name=\"bem.e('dropdown')\"\n :open=\"dropdownOpen\"\n @open-change=\"handleDropdownOpenChange\"\n >\n <div\n :class=\"bem.e('dropdown-container')\"\n @mouseenter=\"handleIconMouseenter\"\n >\n <ll-icon-base\n :is-show-tooltip=\"false\"\n :is-show-container=\"showIconList[0].isShowContainer\"\n :icon-type=\"showIconList[0].iconType\"\n :data=\"data\"\n icon-name=\"icon-more\"\n :class=\"bem.e('icon-more')\"\n />\n </div>\n <template #overlay>\n <a-menu>\n <slot>\n <a-menu-item
|
|
1
|
+
{"version":3,"file":"operate-icon.vue2.js","sources":["../../../../../packages/components/operate-icon/src/operate-icon.vue"],"sourcesContent":["<template>\n <div :class=\"operateIconClass\">\n <!-- 显示的icon -->\n <ll-icon-base\n v-for=\"(item, index) in showIconList\"\n v-bind=\"item\"\n :key=\"item.iconName\"\n :data=\"data\"\n :class=\"bem.e(marginButtonClass(index, showIconList.length - 1))\"\n />\n <!-- 下拉提示的icon -->\n <a-dropdown\n v-if=\"showDropdown && modalIconList.length\"\n :overlay-class-name=\"bem.e('dropdown')\"\n :open=\"dropdownOpen\"\n @open-change=\"handleDropdownOpenChange\"\n >\n <div\n :class=\"bem.e('dropdown-container')\"\n @mouseenter=\"handleIconMouseenter\"\n >\n <ll-icon-base\n :is-show-tooltip=\"false\"\n :is-show-container=\"showIconList[0].isShowContainer\"\n :icon-type=\"showIconList[0].iconType\"\n :data=\"data\"\n icon-name=\"icon-more\"\n :class=\"bem.e('icon-more')\"\n />\n </div>\n <template #overlay>\n <a-menu>\n <slot>\n <a-menu-item\n v-for=\"item in modalIconList\"\n :key=\"item.iconName\"\n @click=\"handleDropdownParentClick\"\n >\n <ll-icon-base v-bind=\"item\" :data=\"data\" />\n </a-menu-item>\n </slot>\n </a-menu>\n </template>\n </a-dropdown>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport { IconBaseProps, LlIconBase } from '@ll-plus/components'\nimport { operateIconProps, operateIconEmits } from './operate-icon'\n\n// 1.defineOptions\ndefineOptions({\n name: 'LlOperateIcon'\n})\n\n// 2.props/emits\nconst props = defineProps(operateIconProps)\nconst emits = defineEmits(operateIconEmits)\n\n// 3.ref/const\nconst showIconList = ref<IconBaseProps[]>([]) // 显示的icon列表\nconst modalIconList = ref<IconBaseProps[]>([]) // 弹窗的icon列表\nconst dropdownOpen = ref(false) // 下拉菜单的open\nconst defualtList = ref([\n // 默认的icon列表\n {\n iconType: computed(() => props.iconType || 'primary'), // default默认为灰色\n isShowContainer: false, // 是否显示icon容器\n iconName: 'icon-edit',\n tooltipTitle: '编辑',\n disabled: props.disabled,\n onClick: (e: Event, data: any) => {\n emits('edit', e, data)\n }\n },\n {\n iconType: computed(() => props.iconType || 'primary'), // default默认为灰色\n isShowContainer: false, // 是否显示icon容器\n iconName: 'icon-delete',\n tooltipTitle: '删除',\n disabled: props.disabled,\n onClick: (e: Event, data: any) => {\n emits('delete', e, data)\n }\n }\n])\nconst bem = createNamespace('operate-icon')\nconst operateIconClass = computed(() => {\n const isHasDropdown = props.showDropdown && modalIconList.value.length\n return `${bem.b()} ${isHasDropdown ? bem.m('has-dropdown') : ''}`\n})\n\n// 4.methods\nconst marginButtonClass = (index, length) => {\n return index < length ? 'margin-button-container' : ''\n}\n// 下拉菜单open\nconst handleDropdownOpenChange = (open: boolean) => {\n if (!open) {\n dropdownOpen.value = false\n emits('update:dropdownOpen', false)\n }\n}\nconst handleDropdownParentClick = () => (dropdownOpen.value = false)\n// icon鼠标悬浮\nconst handleIconMouseenter = () => {\n dropdownOpen.value = true\n emits('update:dropdownOpen', true)\n}\n\n// 5.watch\nwatch(\n () => [props.list, props.showDropdown],\n (data: any) => {\n const [newList, showDropdown] = data\n const list = newList ? newList : defualtList.value\n const length = list.length\n if (length >= props.showIconLimit && showDropdown) {\n showIconList.value = list.slice(\n 0,\n props.showIconLimit - 1\n ) as IconBaseProps[]\n // 默认modal里面要icon后面跟文字\n modalIconList.value = list\n .slice(props.showIconLimit - 1)\n .map((item: any) => ({ ...item, isShowTitle: true }))\n } else {\n showIconList.value = list as IconBaseProps[]\n }\n },\n { immediate: true, deep: true }\n)\n</script>\n"],"names":["ref","computed","createNamespace","watch"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
2
2
|
readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
|
|
3
3
|
readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
4
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
4
5
|
readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
|
|
5
6
|
readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
|
|
6
7
|
readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
|
|
@@ -25,7 +26,6 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
25
26
|
readonly prototype: any;
|
|
26
27
|
})[], unknown, unknown, () => void, boolean>;
|
|
27
28
|
}, {
|
|
28
|
-
loading: import("vue").Ref<boolean>;
|
|
29
29
|
props: import("@vue/shared").LooseRequired<{
|
|
30
30
|
readonly value: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown>;
|
|
31
31
|
readonly accept: string;
|
|
@@ -43,6 +43,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
43
43
|
readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
|
|
44
44
|
readonly iconName: string;
|
|
45
45
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
46
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
46
47
|
readonly imgSize: number;
|
|
47
48
|
readonly onChange?: ((value: string | string[]) => any) | undefined;
|
|
48
49
|
readonly "onUpdate:value"?: ((value: string | string[]) => any) | undefined;
|
|
@@ -81,6 +82,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
81
82
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
82
83
|
readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
|
|
83
84
|
readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
85
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
84
86
|
readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
|
|
85
87
|
readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
|
|
86
88
|
readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
|
|
@@ -124,6 +126,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
124
126
|
readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
|
|
125
127
|
readonly iconName: string;
|
|
126
128
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
129
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
127
130
|
readonly imgSize: number;
|
|
128
131
|
}, {}>>;
|
|
129
132
|
export default LlUploadImage;
|
|
@@ -5,6 +5,7 @@ import type UploadImage from './upload-image.vue';
|
|
|
5
5
|
export declare const uploadImageProps: {
|
|
6
6
|
readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
|
|
7
7
|
readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
8
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
8
9
|
readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
|
|
9
10
|
readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
|
|
10
11
|
readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-image.js","sources":["../../../../../packages/components/upload-image/src/upload-image.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nimport type {\n UploadProps,\n FileType\n} from 'ant-design-vue/es/upload/interface.d.ts'\n\nimport type { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface.d.ts'\n\nimport type UploadImage from './upload-image.vue'\n\nexport const uploadImageProps = buildProps({\n value: {\n type: definePropType<string | string[]>([String, Array]),\n default: []\n },\n imgLoading: {\n type: Boolean,\n default: false\n },\n iconName: {\n type: String,\n default: 'icon-add'\n },\n maxCount: {\n type: Number,\n default: 1\n },\n accept: {\n type: String,\n default: '.jpg,.png,.jpeg,.svg'\n },\n imgSize: {\n type: Number,\n default: 2 * 1024 * 1024\n },\n tip: {\n type: [String, Boolean],\n default: true\n },\n beforeUpload: {\n type: definePropType<UploadProps['beforeUpload']>(Function),\n default: () => true\n },\n customRequest: {\n type: definePropType<\n (options: UploadRequestOption, base64: string) => void\n >(Function),\n default: (): void => {}\n }\n} as const)\n\nexport const uploadImageEmits = {\n change: (value: string | string[]) => !!value,\n 'update:value': (value: string | string[]) => !!value\n} as const\n\nexport type RcFileType = FileType\n\nexport type RcUploadRequestOption = UploadRequestOption\n\nexport type RcUploadProps = UploadProps\n\n// props\nexport type UploadImageProps = ExtractPropTypes<typeof uploadImageProps>\n\n// emits\nexport type UploadImageEmits = typeof uploadImageEmits\n\n// instance\nexport type UploadImageInstance = InstanceType<typeof UploadImage>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAaO,MAAM,mBAAmBA,kBAAW,CAAA;AAAA,EACzC,KAAO,EAAA;AAAA,IACL,IAAM,EAAAC,sBAAA,CAAkC,CAAC,MAAA,EAAQ,KAAK,CAAC,CAAA;AAAA,IACvD,SAAS,EAAC;AAAA,GACZ;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,UAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,sBAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,IAAI,IAAO,GAAA,IAAA;AAAA,GACtB;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,IACtB,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAA4C,QAAQ,CAAA;AAAA,IAC1D,SAAS,MAAM,IAAA;AAAA,GACjB;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMA,uBAEJ,QAAQ,CAAA;AAAA,IACV,SAAS,MAAY;AAAA,KAAC;AAAA,GACxB;AACF,CAAU,EAAA;AAEH,MAAM,gBAAmB,GAAA;AAAA,EAC9B,MAAQ,EAAA,CAAC,KAA6B,KAAA,CAAC,CAAC,KAAA;AAAA,EACxC,cAAgB,EAAA,CAAC,KAA6B,KAAA,CAAC,CAAC,KAAA;AAClD;;;;;"}
|
|
1
|
+
{"version":3,"file":"upload-image.js","sources":["../../../../../packages/components/upload-image/src/upload-image.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nimport type {\n UploadProps,\n FileType\n} from 'ant-design-vue/es/upload/interface.d.ts'\n\nimport type { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface.d.ts'\n\nimport type UploadImage from './upload-image.vue'\n\nexport const uploadImageProps = buildProps({\n value: {\n type: definePropType<string | string[]>([String, Array]),\n default: []\n },\n imgLoading: {\n type: Boolean,\n default: false\n },\n useBase64: {\n type: Boolean,\n default: true\n },\n iconName: {\n type: String,\n default: 'icon-add'\n },\n maxCount: {\n type: Number,\n default: 1\n },\n accept: {\n type: String,\n default: '.jpg,.png,.jpeg,.svg'\n },\n imgSize: {\n type: Number,\n default: 2 * 1024 * 1024\n },\n tip: {\n type: [String, Boolean],\n default: true\n },\n beforeUpload: {\n type: definePropType<UploadProps['beforeUpload']>(Function),\n default: () => true\n },\n customRequest: {\n type: definePropType<\n (options: UploadRequestOption, base64: string) => void\n >(Function),\n default: (): void => {}\n }\n} as const)\n\nexport const uploadImageEmits = {\n change: (value: string | string[]) => !!value,\n 'update:value': (value: string | string[]) => !!value\n} as const\n\nexport type RcFileType = FileType\n\nexport type RcUploadRequestOption = UploadRequestOption\n\nexport type RcUploadProps = UploadProps\n\n// props\nexport type UploadImageProps = ExtractPropTypes<typeof uploadImageProps>\n\n// emits\nexport type UploadImageEmits = typeof uploadImageEmits\n\n// instance\nexport type UploadImageInstance = InstanceType<typeof UploadImage>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAaO,MAAM,mBAAmBA,kBAAW,CAAA;AAAA,EACzC,KAAO,EAAA;AAAA,IACL,IAAM,EAAAC,sBAAA,CAAkC,CAAC,MAAA,EAAQ,KAAK,CAAC,CAAA;AAAA,IACvD,SAAS,EAAC;AAAA,GACZ;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,UAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,sBAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,IAAI,IAAO,GAAA,IAAA;AAAA,GACtB;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAA,EAAM,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,IACtB,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAA4C,QAAQ,CAAA;AAAA,IAC1D,SAAS,MAAM,IAAA;AAAA,GACjB;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMA,uBAEJ,QAAQ,CAAA;AAAA,IACV,SAAS,MAAY;AAAA,KAAC;AAAA,GACxB;AACF,CAAU,EAAA;AAEH,MAAM,gBAAmB,GAAA;AAAA,EAC9B,MAAQ,EAAA,CAAC,KAA6B,KAAA,CAAC,CAAC,KAAA;AAAA,EACxC,cAAgB,EAAA,CAAC,KAA6B,KAAA,CAAC,CAAC,KAAA;AAClD;;;;;"}
|
|
@@ -2,6 +2,7 @@ import type { FileType } from 'ant-design-vue/es/upload/interface.d.ts';
|
|
|
2
2
|
declare const _default: import("vue").DefineComponent<{
|
|
3
3
|
readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
|
|
4
4
|
readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
5
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
5
6
|
readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
|
|
6
7
|
readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
|
|
7
8
|
readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
|
|
@@ -26,7 +27,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
26
27
|
readonly prototype: any;
|
|
27
28
|
})[], unknown, unknown, () => void, boolean>;
|
|
28
29
|
}, {
|
|
29
|
-
loading: import("vue").Ref<boolean>;
|
|
30
30
|
props: import("@vue/shared").LooseRequired<{
|
|
31
31
|
readonly value: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown>;
|
|
32
32
|
readonly accept: string;
|
|
@@ -44,6 +44,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
44
44
|
readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
|
|
45
45
|
readonly iconName: string;
|
|
46
46
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
47
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
47
48
|
readonly imgSize: number;
|
|
48
49
|
readonly onChange?: ((value: string | string[]) => any) | undefined;
|
|
49
50
|
readonly "onUpdate:value"?: ((value: string | string[]) => any) | undefined;
|
|
@@ -82,6 +83,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
82
83
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
83
84
|
readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
|
|
84
85
|
readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
86
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
85
87
|
readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
|
|
86
88
|
readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
|
|
87
89
|
readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
|
|
@@ -125,6 +127,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
125
127
|
readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
|
|
126
128
|
readonly iconName: string;
|
|
127
129
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
130
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
128
131
|
readonly imgSize: number;
|
|
129
132
|
}, {}>;
|
|
130
133
|
export default _default;
|
|
@@ -18,7 +18,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
18
18
|
props: uploadImage.uploadImageProps,
|
|
19
19
|
emits: uploadImage.uploadImageEmits,
|
|
20
20
|
setup(__props, { emit: __emit }) {
|
|
21
|
-
const loading = vue.ref(false);
|
|
22
21
|
const props = __props;
|
|
23
22
|
const emits = __emit;
|
|
24
23
|
const bem = createNamespace.createNamespace("upload-image");
|
|
@@ -56,9 +55,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
56
55
|
return isType && isSize && props.beforeUpload?.(file$1, FileList);
|
|
57
56
|
};
|
|
58
57
|
const customRequest = async (res) => {
|
|
59
|
-
loading.value = true;
|
|
60
58
|
const fileUrl = await file.fileToBase64(res.file);
|
|
61
|
-
props.
|
|
59
|
+
if (props.useBase64) {
|
|
60
|
+
props.maxCount === 1 ? innerValue.value = [fileUrl] : innerValue.value.push(fileUrl);
|
|
61
|
+
}
|
|
62
62
|
try {
|
|
63
63
|
props.customRequest?.(res, fileUrl);
|
|
64
64
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-image.vue2.js","sources":["../../../../../packages/components/upload-image/src/upload-image.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bem.m('preview-box')\">\n <a-upload\n v-model:fileList=\"fileList\"\n v-bind=\"getBindValue\"\n :accept=\"props.accept\"\n :show-upload-list=\"false\"\n :max-count=\"props.maxCount\"\n :multiple=\"computedMultiple\"\n :before-upload=\"beforeUpload\"\n :custom-request=\"customRequest\"\n :class=\"bem.m('upload')\"\n list-type=\"picture-card\"\n >\n <a-spin size=\"small\" :spinning=\"props.imgLoading\">\n <a-image\n v-if=\"innerValue.length > 0\"\n :preview=\"{ visible: false }\"\n :width=\"100\"\n :height=\"100\"\n :src=\"innerValue[0]\"\n :style=\"{\n objectFit: 'contain'\n }\"\n >\n <template #previewMask>\n <div :class=\"bem.m('preview-mask')\">\n <a href=\"javascript:;\" @click.stop=\"imageVisible = true\">\n <ll-icon\n :icon-name=\"`icon-pwd-look`\"\n :class=\"bem.e('image-icon')\"\n />\n </a>\n <a href=\"javascript:;\" @click.stop=\"handleRemoveImage\">\n <ll-icon\n :icon-name=\"`icon-delete`\"\n :class=\"bem.e('image-icon')\"\n />\n </a>\n </div>\n </template>\n </a-image>\n <ll-icon v-else :icon-name=\"props.iconName\" style=\"font-size: 30px\" />\n </a-spin>\n </a-upload>\n <p :class=\"bem.e('tip')\">{{ computedTip }}</p>\n </div>\n\n <div style=\"display: none\">\n <a-image-preview-group\n :preview=\"{\n visible: imageVisible,\n onVisibleChange: (vis: boolean) => (imageVisible = vis)\n }\"\n >\n <a-image v-for=\"item in innerValue\" :key=\"item\" :src=\"item\" />\n </a-image-preview-group>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, useAttrs, computed } from 'vue'\nimport { omit } from 'lodash-es'\nimport { createNamespace, formatFileSize, fileToBase64 } from '@ll-plus/utils'\nimport { uploadImageProps, uploadImageEmits } from './upload-image'\nimport { message, Form } from 'ant-design-vue'\n\nimport type {\n UploadProps,\n FileType\n} from 'ant-design-vue/es/upload/interface.d.ts'\n// import type {\n// // BeforeUploadFileType,\n// UploadRequestOption\n// } from 'ant-design-vue/es/vc-upload/interface.d.ts'\n//1.Init props/emits/bem/attrs\n\ndefineOptions({ name: 'LlUploadImage' })\n\nconst
|
|
1
|
+
{"version":3,"file":"upload-image.vue2.js","sources":["../../../../../packages/components/upload-image/src/upload-image.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bem.m('preview-box')\">\n <a-upload\n v-model:fileList=\"fileList\"\n v-bind=\"getBindValue\"\n :accept=\"props.accept\"\n :show-upload-list=\"false\"\n :max-count=\"props.maxCount\"\n :multiple=\"computedMultiple\"\n :before-upload=\"beforeUpload\"\n :custom-request=\"customRequest\"\n :class=\"bem.m('upload')\"\n list-type=\"picture-card\"\n >\n <a-spin size=\"small\" :spinning=\"props.imgLoading\">\n <a-image\n v-if=\"innerValue.length > 0\"\n :preview=\"{ visible: false }\"\n :width=\"100\"\n :height=\"100\"\n :src=\"innerValue[0]\"\n :style=\"{\n objectFit: 'contain'\n }\"\n >\n <template #previewMask>\n <div :class=\"bem.m('preview-mask')\">\n <a href=\"javascript:;\" @click.stop=\"imageVisible = true\">\n <ll-icon\n :icon-name=\"`icon-pwd-look`\"\n :class=\"bem.e('image-icon')\"\n />\n </a>\n <a href=\"javascript:;\" @click.stop=\"handleRemoveImage\">\n <ll-icon\n :icon-name=\"`icon-delete`\"\n :class=\"bem.e('image-icon')\"\n />\n </a>\n </div>\n </template>\n </a-image>\n <ll-icon v-else :icon-name=\"props.iconName\" style=\"font-size: 30px\" />\n </a-spin>\n </a-upload>\n <p :class=\"bem.e('tip')\">{{ computedTip }}</p>\n </div>\n\n <div style=\"display: none\">\n <a-image-preview-group\n :preview=\"{\n visible: imageVisible,\n onVisibleChange: (vis: boolean) => (imageVisible = vis)\n }\"\n >\n <a-image v-for=\"item in innerValue\" :key=\"item\" :src=\"item\" />\n </a-image-preview-group>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, useAttrs, computed } from 'vue'\nimport { omit } from 'lodash-es'\nimport { createNamespace, formatFileSize, fileToBase64 } from '@ll-plus/utils'\nimport { uploadImageProps, uploadImageEmits } from './upload-image'\nimport { message, Form } from 'ant-design-vue'\n\nimport type {\n UploadProps,\n FileType\n} from 'ant-design-vue/es/upload/interface.d.ts'\n// import type {\n// // BeforeUploadFileType,\n// UploadRequestOption\n// } from 'ant-design-vue/es/vc-upload/interface.d.ts'\n//1.Init props/emits/bem/attrs\n\ndefineOptions({ name: 'LlUploadImage' })\n\nconst props = defineProps(uploadImageProps)\n\nconst emits = defineEmits(uploadImageEmits)\n\nconst bem = createNamespace('upload-image')\n\nconst attrs = useAttrs()\n\nconst fileList = ref([])\n\nconst imageVisible = ref(false)\n\nconst innerValue = ref<string[]>(\n Array.isArray(props.value)\n ? [...props.value]\n : props.value\n ? [props.value]\n : []\n)\n\nconst formItemContext = Form.useInjectFormItemContext()\n\nconst computedAccept = computed(() => {\n return props.accept\n ? props.accept\n .split(',')\n .map(e => e.replace('.', ''))\n .join(',')\n : props.accept\n})\n\nconst computedTip = computed(() => {\n return typeof props.tip === 'string'\n ? props.tip\n : props.tip\n ? `支持${computedAccept.value}格式,不超过${formatFileSize(\n props.imgSize\n )}。`\n : ''\n})\n\nconst computedMultiple = computed(() => props.maxCount > 1)\n\nconst getBindValue = computed(() => ({\n ...omit({ ...attrs }, [...Object.keys(uploadImageProps)])\n}))\n\nconst beforeUpload = async (file: FileType, FileList: FileType[]) => {\n const fileType = file.type.toLowerCase().replace('image/', '')\n const isType = props.accept.includes(fileType)\n const isSize = file.size <= props.imgSize\n if (!isType) {\n message.error(`${file.name} 需要为${computedAccept.value}格式。`)\n return false\n }\n if (!isSize) {\n message.error(`${file.name} 文件不得大于${formatFileSize(props.imgSize)}。`)\n return false\n }\n return isType && isSize && props.beforeUpload?.(file, FileList)\n}\n\nconst customRequest: UploadProps['customRequest'] = async (res: any) => {\n const fileUrl = (await fileToBase64(res.file)) as string\n if (props.useBase64) {\n props.maxCount === 1\n ? (innerValue.value = [fileUrl])\n : innerValue.value.push(fileUrl)\n }\n try {\n props.customRequest?.(res, fileUrl)\n } catch (error) {\n innerValue.value.splice(innerValue.value.length - 1, 1)\n message.error('上传失败')\n }\n}\n\nconst handleRemoveImage = async () => {\n const index = innerValue.value.length - 1\n innerValue.value.splice(index, 1)\n\n setValue()\n}\n\nconst setValue = () => {\n const value =\n props.maxCount === 1\n ? innerValue.value.length\n ? innerValue.value[0]\n : ''\n : innerValue.value\n emits('update:value', value)\n emits('change', value)\n formItemContext.onFieldChange()\n}\n\nwatch(\n () => props.value,\n newVal => {\n if (newVal !== innerValue.value) {\n innerValue.value = Array.isArray(newVal)\n ? [...newVal]\n : newVal\n ? [newVal]\n : []\n }\n }\n)\n\nwatch(\n innerValue,\n () => {\n setValue()\n },\n {\n deep: true\n }\n)\n</script>\n"],"names":["createNamespace","useAttrs","ref","Form","computed","formatFileSize","omit","uploadImageProps","file","message","fileToBase64","watch"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -83,6 +83,7 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
83
83
|
operateIconClass: import("vue").ComputedRef<string>;
|
|
84
84
|
marginButtonClass: (index: any, length: any) => "" | "margin-button-container";
|
|
85
85
|
handleDropdownOpenChange: (open: boolean) => void;
|
|
86
|
+
handleDropdownParentClick: () => boolean;
|
|
86
87
|
handleIconMouseenter: () => void;
|
|
87
88
|
readonly LlIconBase: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
88
89
|
readonly iconType: {
|
|
@@ -83,6 +83,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
83
83
|
operateIconClass: import("vue").ComputedRef<string>;
|
|
84
84
|
marginButtonClass: (index: any, length: any) => "" | "margin-button-container";
|
|
85
85
|
handleDropdownOpenChange: (open: boolean) => void;
|
|
86
|
+
handleDropdownParentClick: () => boolean;
|
|
86
87
|
handleIconMouseenter: () => void;
|
|
87
88
|
readonly LlIconBase: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
88
89
|
readonly iconType: {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
2
2
|
readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
|
|
3
3
|
readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
4
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
4
5
|
readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
|
|
5
6
|
readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
|
|
6
7
|
readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
|
|
@@ -25,7 +26,6 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
25
26
|
readonly prototype: any;
|
|
26
27
|
})[], unknown, unknown, () => void, boolean>;
|
|
27
28
|
}, {
|
|
28
|
-
loading: import("vue").Ref<boolean>;
|
|
29
29
|
props: import("@vue/shared").LooseRequired<{
|
|
30
30
|
readonly value: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown>;
|
|
31
31
|
readonly accept: string;
|
|
@@ -43,6 +43,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
43
43
|
readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
|
|
44
44
|
readonly iconName: string;
|
|
45
45
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
46
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
46
47
|
readonly imgSize: number;
|
|
47
48
|
readonly onChange?: ((value: string | string[]) => any) | undefined;
|
|
48
49
|
readonly "onUpdate:value"?: ((value: string | string[]) => any) | undefined;
|
|
@@ -81,6 +82,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
81
82
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
82
83
|
readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
|
|
83
84
|
readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
85
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
84
86
|
readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
|
|
85
87
|
readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
|
|
86
88
|
readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
|
|
@@ -124,6 +126,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
124
126
|
readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
|
|
125
127
|
readonly iconName: string;
|
|
126
128
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
129
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
127
130
|
readonly imgSize: number;
|
|
128
131
|
}, {}>>;
|
|
129
132
|
export default LlUploadImage;
|
|
@@ -5,6 +5,7 @@ import type UploadImage from './upload-image.vue';
|
|
|
5
5
|
export declare const uploadImageProps: {
|
|
6
6
|
readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
|
|
7
7
|
readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
8
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
8
9
|
readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
|
|
9
10
|
readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
|
|
10
11
|
readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
|
|
@@ -2,6 +2,7 @@ import type { FileType } from 'ant-design-vue/es/upload/interface.d.ts';
|
|
|
2
2
|
declare const _default: import("vue").DefineComponent<{
|
|
3
3
|
readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
|
|
4
4
|
readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
5
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
5
6
|
readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
|
|
6
7
|
readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
|
|
7
8
|
readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
|
|
@@ -26,7 +27,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
26
27
|
readonly prototype: any;
|
|
27
28
|
})[], unknown, unknown, () => void, boolean>;
|
|
28
29
|
}, {
|
|
29
|
-
loading: import("vue").Ref<boolean>;
|
|
30
30
|
props: import("@vue/shared").LooseRequired<{
|
|
31
31
|
readonly value: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown>;
|
|
32
32
|
readonly accept: string;
|
|
@@ -44,6 +44,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
44
44
|
readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
|
|
45
45
|
readonly iconName: string;
|
|
46
46
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
47
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
47
48
|
readonly imgSize: number;
|
|
48
49
|
readonly onChange?: ((value: string | string[]) => any) | undefined;
|
|
49
50
|
readonly "onUpdate:value"?: ((value: string | string[]) => any) | undefined;
|
|
@@ -82,6 +83,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
82
83
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
83
84
|
readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown, readonly [], boolean>;
|
|
84
85
|
readonly imgLoading: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
86
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
85
87
|
readonly iconName: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "icon-add", boolean>;
|
|
86
88
|
readonly maxCount: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
|
|
87
89
|
readonly accept: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".jpg,.png,.jpeg,.svg", boolean>;
|
|
@@ -125,6 +127,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
125
127
|
readonly tip: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
|
|
126
128
|
readonly iconName: string;
|
|
127
129
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
130
|
+
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
128
131
|
readonly imgSize: number;
|
|
129
132
|
}, {}>;
|
|
130
133
|
export default _default;
|