ll-plus 2.9.9 → 2.9.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/icon-base/index.d.ts +2 -1
- package/es/components/icon-base/src/icon-base.vue.d.ts +2 -1
- package/es/components/operate-icon/index.d.ts +2 -1
- package/es/components/operate-icon/src/operate-icon.vue.d.ts +2 -1
- package/es/components/upload-image/index.d.ts +4 -0
- package/es/components/upload-image/src/upload-image.d.ts +1 -0
- package/es/components/upload-image/src/upload-image.vue.d.ts +4 -0
- package/es/packages/components/icon-base/src/icon-base.vue2.mjs +10 -2
- package/es/packages/components/icon-base/src/icon-base.vue2.mjs.map +1 -1
- package/es/packages/components/operate-icon/src/operate-icon.vue2.mjs +18 -8
- package/es/packages/components/operate-icon/src/operate-icon.vue2.mjs.map +1 -1
- package/es/packages/components/upload-image/src/upload-image.mjs +4 -0
- package/es/packages/components/upload-image/src/upload-image.mjs.map +1 -1
- package/es/packages/components/upload-image/src/upload-image.vue2.mjs +24 -23
- package/es/packages/components/upload-image/src/upload-image.vue2.mjs.map +1 -1
- package/index.full.js +54 -31
- package/index.full.min.js +17 -17
- package/index.full.min.js.map +1 -1
- package/index.full.min.mjs +18 -18
- package/index.full.min.mjs.map +1 -1
- package/index.full.mjs +54 -31
- package/lib/components/icon-base/index.d.ts +2 -1
- package/lib/components/icon-base/src/icon-base.vue.d.ts +2 -1
- package/lib/components/operate-icon/index.d.ts +2 -1
- package/lib/components/operate-icon/src/operate-icon.vue.d.ts +2 -1
- package/lib/components/upload-image/index.d.ts +4 -0
- package/lib/components/upload-image/src/upload-image.d.ts +1 -0
- package/lib/components/upload-image/src/upload-image.vue.d.ts +4 -0
- package/lib/packages/components/icon-base/src/icon-base.vue2.js +9 -1
- package/lib/packages/components/icon-base/src/icon-base.vue2.js.map +1 -1
- package/lib/packages/components/operate-icon/src/operate-icon.vue2.js +18 -8
- package/lib/packages/components/operate-icon/src/operate-icon.vue2.js.map +1 -1
- package/lib/packages/components/upload-image/src/upload-image.js +4 -0
- package/lib/packages/components/upload-image/src/upload-image.js.map +1 -1
- package/lib/packages/components/upload-image/src/upload-image.vue2.js +23 -22
- package/lib/packages/components/upload-image/src/upload-image.vue2.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/css/advanced-filtering.css +1 -5
- package/theme-chalk/css/api-component.css +1 -5
- package/theme-chalk/css/cascader.css +1 -5
- package/theme-chalk/css/checkbox.css +1 -5
- package/theme-chalk/css/code-editor.css +1 -5
- package/theme-chalk/css/color-picker.css +1 -5
- package/theme-chalk/css/cropper.css +1 -5
- package/theme-chalk/css/descriptions.css +1 -5
- package/theme-chalk/css/drawer.css +1 -5
- package/theme-chalk/css/dropdown-button-simple.css +1 -5
- package/theme-chalk/css/dropdown.css +1 -5
- package/theme-chalk/css/easy-cron.css +1 -5
- package/theme-chalk/css/form.css +1 -5
- package/theme-chalk/css/index.css +2 -6
- package/theme-chalk/css/input-number.css +1 -5
- package/theme-chalk/css/input.css +1 -5
- package/theme-chalk/css/key-value.css +1 -5
- package/theme-chalk/css/markdown-editor.css +1 -5
- package/theme-chalk/css/message.css +1 -5
- package/theme-chalk/css/modal.css +1 -5
- package/theme-chalk/css/new-drawer.css +1 -5
- package/theme-chalk/css/new-modal.css +1 -5
- package/theme-chalk/css/number-range.css +1 -5
- package/theme-chalk/css/rich-text-editor.css +1 -5
- package/theme-chalk/css/segmented.css +1 -5
- package/theme-chalk/css/switch.css +1 -5
- package/theme-chalk/css/table.css +1 -5
- package/theme-chalk/css/tabs-simple.css +1 -5
- package/theme-chalk/css/tag-group.css +1 -5
- package/types/packages/components/icon-base/index.d.ts +2 -1
- package/types/packages/components/icon-base/src/icon-base.vue.d.ts +2 -1
- package/types/packages/components/operate-icon/index.d.ts +2 -1
- package/types/packages/components/operate-icon/src/operate-icon.vue.d.ts +2 -1
- package/types/packages/components/upload-image/index.d.ts +4 -0
- 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 -0
|
@@ -79,6 +79,7 @@ export declare const LlIconBase: import("ll-plus/es/utils").SFCWithInstall<impor
|
|
|
79
79
|
readonly tooltipTitle?: string | undefined;
|
|
80
80
|
readonly isShowTitle?: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
|
81
81
|
} & {}>;
|
|
82
|
+
btn: import("vue").Ref<any>;
|
|
82
83
|
btnClass: import("vue").ComputedRef<string>;
|
|
83
84
|
bem: {
|
|
84
85
|
b: (blockSuffix?: string) => string;
|
|
@@ -90,7 +91,7 @@ export declare const LlIconBase: import("ll-plus/es/utils").SFCWithInstall<impor
|
|
|
90
91
|
bem: (blockSuffix: string, element: string, modifier: string) => string;
|
|
91
92
|
is: (name?: string) => string;
|
|
92
93
|
};
|
|
93
|
-
handleClickBtn: (e: Event) =>
|
|
94
|
+
handleClickBtn: (e: Event) => void;
|
|
94
95
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
95
96
|
readonly iconType: {
|
|
96
97
|
readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown>>;
|
|
@@ -78,6 +78,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
78
78
|
readonly tooltipTitle?: string | undefined;
|
|
79
79
|
readonly isShowTitle?: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
|
80
80
|
} & {}>;
|
|
81
|
+
btn: import("vue").Ref<any>;
|
|
81
82
|
btnClass: import("vue").ComputedRef<string>;
|
|
82
83
|
bem: {
|
|
83
84
|
b: (blockSuffix?: string) => string;
|
|
@@ -89,7 +90,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
89
90
|
bem: (blockSuffix: string, element: string, modifier: string) => string;
|
|
90
91
|
is: (name?: string) => string;
|
|
91
92
|
};
|
|
92
|
-
handleClickBtn: (e: Event) =>
|
|
93
|
+
handleClickBtn: (e: Event) => void;
|
|
93
94
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
94
95
|
readonly iconType: {
|
|
95
96
|
readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown>>;
|
|
@@ -3365,6 +3365,7 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
3365
3365
|
readonly tooltipTitle?: string | undefined;
|
|
3366
3366
|
readonly isShowTitle?: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
|
3367
3367
|
} & {}>;
|
|
3368
|
+
btn: import("vue").Ref<any>;
|
|
3368
3369
|
btnClass: import("vue").ComputedRef<string>;
|
|
3369
3370
|
bem: {
|
|
3370
3371
|
b: (blockSuffix?: string) => string;
|
|
@@ -3376,7 +3377,7 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
3376
3377
|
bem: (blockSuffix: string, element: string, modifier: string) => string;
|
|
3377
3378
|
is: (name?: string) => string;
|
|
3378
3379
|
};
|
|
3379
|
-
handleClickBtn: (e: Event) =>
|
|
3380
|
+
handleClickBtn: (e: Event) => void;
|
|
3380
3381
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
3381
3382
|
readonly iconType: {
|
|
3382
3383
|
readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown>>;
|
|
@@ -3365,6 +3365,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3365
3365
|
readonly tooltipTitle?: string | undefined;
|
|
3366
3366
|
readonly isShowTitle?: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
|
3367
3367
|
} & {}>;
|
|
3368
|
+
btn: import("vue").Ref<any>;
|
|
3368
3369
|
btnClass: import("vue").ComputedRef<string>;
|
|
3369
3370
|
bem: {
|
|
3370
3371
|
b: (blockSuffix?: string) => string;
|
|
@@ -3376,7 +3377,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3376
3377
|
bem: (blockSuffix: string, element: string, modifier: string) => string;
|
|
3377
3378
|
is: (name?: string) => string;
|
|
3378
3379
|
};
|
|
3379
|
-
handleClickBtn: (e: Event) =>
|
|
3380
|
+
handleClickBtn: (e: Event) => void;
|
|
3380
3381
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
3381
3382
|
readonly iconType: {
|
|
3382
3383
|
readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown>>;
|
|
@@ -25,6 +25,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
25
25
|
new (): any;
|
|
26
26
|
readonly prototype: any;
|
|
27
27
|
})[], unknown, unknown, () => void, boolean>;
|
|
28
|
+
readonly showTip: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
28
29
|
}, {
|
|
29
30
|
props: import("@vue/shared").LooseRequired<{
|
|
30
31
|
readonly iconName: string;
|
|
@@ -45,6 +46,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
45
46
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
46
47
|
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
47
48
|
readonly imgSize: number;
|
|
49
|
+
readonly showTip: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
48
50
|
readonly onChange?: ((value: string | string[]) => any) | undefined;
|
|
49
51
|
readonly "onUpdate:value"?: ((value: string | string[]) => any) | undefined;
|
|
50
52
|
} & {}>;
|
|
@@ -106,6 +108,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
106
108
|
new (): any;
|
|
107
109
|
readonly prototype: any;
|
|
108
110
|
})[], unknown, unknown, () => void, boolean>;
|
|
111
|
+
readonly showTip: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
109
112
|
}>> & {
|
|
110
113
|
onChange?: ((value: string | string[]) => any) | undefined;
|
|
111
114
|
"onUpdate:value"?: ((value: string | string[]) => any) | undefined;
|
|
@@ -128,6 +131,7 @@ export declare const LlUploadImage: import("ll-plus/es/utils").SFCWithInstall<im
|
|
|
128
131
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
129
132
|
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
130
133
|
readonly imgSize: number;
|
|
134
|
+
readonly showTip: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
131
135
|
}, {}>>;
|
|
132
136
|
export default LlUploadImage;
|
|
133
137
|
export * from './src/upload-image';
|
|
@@ -29,6 +29,7 @@ export declare const uploadImageProps: {
|
|
|
29
29
|
new (): any;
|
|
30
30
|
readonly prototype: any;
|
|
31
31
|
})[], unknown, unknown, () => void, boolean>;
|
|
32
|
+
readonly showTip: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
32
33
|
};
|
|
33
34
|
export declare const uploadImageEmits: {
|
|
34
35
|
readonly change: (value: string | string[]) => boolean;
|
|
@@ -26,6 +26,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
26
26
|
new (): any;
|
|
27
27
|
readonly prototype: any;
|
|
28
28
|
})[], unknown, unknown, () => void, boolean>;
|
|
29
|
+
readonly showTip: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
29
30
|
}, {
|
|
30
31
|
props: import("@vue/shared").LooseRequired<{
|
|
31
32
|
readonly iconName: string;
|
|
@@ -46,6 +47,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
46
47
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
47
48
|
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
48
49
|
readonly imgSize: number;
|
|
50
|
+
readonly showTip: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
49
51
|
readonly onChange?: ((value: string | string[]) => any) | undefined;
|
|
50
52
|
readonly "onUpdate:value"?: ((value: string | string[]) => any) | undefined;
|
|
51
53
|
} & {}>;
|
|
@@ -107,6 +109,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
107
109
|
new (): any;
|
|
108
110
|
readonly prototype: any;
|
|
109
111
|
})[], unknown, unknown, () => void, boolean>;
|
|
112
|
+
readonly showTip: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
110
113
|
}>> & {
|
|
111
114
|
onChange?: ((value: string | string[]) => any) | undefined;
|
|
112
115
|
"onUpdate:value"?: ((value: string | string[]) => any) | undefined;
|
|
@@ -129,5 +132,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
129
132
|
readonly imgLoading: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
130
133
|
readonly useBase64: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
131
134
|
readonly imgSize: number;
|
|
135
|
+
readonly showTip: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
132
136
|
}, {}>;
|
|
133
137
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, Fragment, createCommentVNode, createBlock, normalizeClass, withCtx, createVNode, normalizeStyle, unref, toDisplayString } from 'vue';
|
|
1
|
+
import { defineComponent, ref, computed, resolveComponent, openBlock, createElementBlock, Fragment, createCommentVNode, createBlock, normalizeClass, withCtx, createVNode, normalizeStyle, unref, toDisplayString } from 'vue';
|
|
2
2
|
import '../../../utils/index.mjs';
|
|
3
3
|
import { iconBaseProps } from './icon-base.mjs';
|
|
4
4
|
import { createNamespace } from '../../../utils/create-namespace.mjs';
|
|
@@ -12,6 +12,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
12
12
|
props: iconBaseProps,
|
|
13
13
|
setup(__props) {
|
|
14
14
|
const props = __props;
|
|
15
|
+
const btn = ref();
|
|
15
16
|
const btnClass = computed(() => {
|
|
16
17
|
const isDefault = props.iconType === "default" || !props.iconType;
|
|
17
18
|
const typeClass = isDefault ? bem.m("default") : bem.m("primary");
|
|
@@ -21,7 +22,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
21
22
|
return `${props.class} ${bem.b()} ${typeClass} ${exposedClass} ${hasTextClass} ${disabledClass}`;
|
|
22
23
|
});
|
|
23
24
|
const bem = createNamespace("icon-base");
|
|
24
|
-
const handleClickBtn = (e) =>
|
|
25
|
+
const handleClickBtn = (e) => {
|
|
26
|
+
props.onClick && props.onClick(e, props.data);
|
|
27
|
+
btn.value?.blur();
|
|
28
|
+
};
|
|
25
29
|
return (_ctx, _cache) => {
|
|
26
30
|
const _component_ll_icon = resolveComponent("ll-icon");
|
|
27
31
|
const _component_a_button = resolveComponent("a-button");
|
|
@@ -38,6 +42,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
38
42
|
}, {
|
|
39
43
|
default: withCtx(() => [
|
|
40
44
|
createVNode(_component_a_button, {
|
|
45
|
+
ref_key: "btn",
|
|
46
|
+
ref: btn,
|
|
41
47
|
type: "text",
|
|
42
48
|
disabled: _ctx.disabled,
|
|
43
49
|
class: normalizeClass(`${btnClass.value}`),
|
|
@@ -72,6 +78,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
72
78
|
[
|
|
73
79
|
createCommentVNode(" \u6CA1\u6709\u6587\u5B57\u63D0\u793A\u5F39\u7A97 "),
|
|
74
80
|
createVNode(_component_a_button, {
|
|
81
|
+
ref_key: "btn",
|
|
82
|
+
ref: btn,
|
|
75
83
|
type: "text",
|
|
76
84
|
disabled: _ctx.disabled,
|
|
77
85
|
class: normalizeClass(`${btnClass.value}`),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-base.vue2.mjs","sources":["../../../../../../packages/components/icon-base/src/icon-base.vue"],"sourcesContent":["<template>\n <!-- 有文字提示弹窗 -->\n <ll-tooltip\n v-if=\"isShowTooltip && isShow\"\n :tip=\"tooltipTitle\"\n :class=\"tooltipClass\"\n >\n <a-button\n type=\"text\"\n :disabled=\"disabled\"\n :class=\"`${btnClass}`\"\n :style=\"style\"\n @click=\"handleClickBtn\"\n >\n <ll-icon v-if=\"iconName\" :icon-name=\"iconName\" />\n <span v-if=\"isShowTitle\" :class=\"bem.e('text')\">{{ tooltipTitle }}</span>\n </a-button>\n </ll-tooltip>\n <!-- 没有文字提示弹窗 -->\n <a-button\n v-else-if=\"!isShowTooltip && isShow\"\n type=\"text\"\n :disabled=\"disabled\"\n :class=\"`${btnClass}`\"\n :style=\"style\"\n @click=\"handleClickBtn\"\n >\n <ll-icon\n v-if=\"iconName\"\n :icon-name=\"iconName\"\n :class=\"bem.e('text-icon')\"\n />\n <span v-if=\"isShowTitle\" :class=\"bem.e('text')\">{{ tooltipTitle }}</span>\n </a-button>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\nimport { iconBaseProps } from './icon-base'\n\n// 1.defineOptions\ndefineOptions({\n name: 'LlIconBase'
|
|
1
|
+
{"version":3,"file":"icon-base.vue2.mjs","sources":["../../../../../../packages/components/icon-base/src/icon-base.vue"],"sourcesContent":["<template>\n <!-- 有文字提示弹窗 -->\n <ll-tooltip\n v-if=\"isShowTooltip && isShow\"\n :tip=\"tooltipTitle\"\n :class=\"tooltipClass\"\n >\n <a-button\n ref=\"btn\"\n type=\"text\"\n :disabled=\"disabled\"\n :class=\"`${btnClass}`\"\n :style=\"style\"\n @click=\"handleClickBtn\"\n >\n <ll-icon v-if=\"iconName\" :icon-name=\"iconName\" />\n <span v-if=\"isShowTitle\" :class=\"bem.e('text')\">{{ tooltipTitle }}</span>\n </a-button>\n </ll-tooltip>\n <!-- 没有文字提示弹窗 -->\n <a-button\n v-else-if=\"!isShowTooltip && isShow\"\n ref=\"btn\"\n type=\"text\"\n :disabled=\"disabled\"\n :class=\"`${btnClass}`\"\n :style=\"style\"\n @click=\"handleClickBtn\"\n >\n <ll-icon\n v-if=\"iconName\"\n :icon-name=\"iconName\"\n :class=\"bem.e('text-icon')\"\n />\n <span v-if=\"isShowTitle\" :class=\"bem.e('text')\">{{ tooltipTitle }}</span>\n </a-button>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\nimport { iconBaseProps } from './icon-base'\n\n// 1.defineOptions\ndefineOptions({\n name: 'LlIconBase',\n})\n\n// 2.props\nconst props = defineProps(iconBaseProps)\n// 3.computed/const\nconst btn = ref()\n// button的类名样式\nconst btnClass = computed(() => {\n const isDefault = props.iconType === 'default' || !props.iconType\n // 1.类型的class\n const typeClass = isDefault ? bem.m('default') : bem.m('primary')\n // 2.是否要裸露的class\n const exposedClass = props.isShowContainer\n ? bem.m('container')\n : bem.m('exposed')\n // 3.有文本的class\n const hasTextClass = props.isShowTitle ? bem.m('has-text') : ''\n // 4.禁用的class\n const disabledClass = props.disabled\n ? isDefault\n ? bem.is('default-disable')\n : bem.is('primary-disable')\n : ''\n return `${\n props.class\n } ${bem.b()} ${typeClass} ${exposedClass} ${hasTextClass} ${disabledClass}`\n})\nconst bem = createNamespace('icon-base')\n\n// 4.methods\nconst handleClickBtn = (e: Event) => {\n props.onClick && props.onClick(e, props.data)\n btn.value?.blur()\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAkDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,MAAM,GAAI,EAAA,CAAA;AAEhB,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC9B,MAAA,MAAM,SAAY,GAAA,KAAA,CAAM,QAAa,KAAA,SAAA,IAAa,CAAC,KAAM,CAAA,QAAA,CAAA;AAEzD,MAAM,MAAA,SAAA,GAAY,YAAY,GAAI,CAAA,CAAA,CAAE,SAAS,CAAI,GAAA,GAAA,CAAI,EAAE,SAAS,CAAA,CAAA;AAEhE,MAAM,MAAA,YAAA,GAAe,MAAM,eACvB,GAAA,GAAA,CAAI,EAAE,WAAW,CAAA,GACjB,GAAI,CAAA,CAAA,CAAE,SAAS,CAAA,CAAA;AAEnB,MAAA,MAAM,eAAe,KAAM,CAAA,WAAA,GAAc,GAAI,CAAA,CAAA,CAAE,UAAU,CAAI,GAAA,EAAA,CAAA;AAE7D,MAAM,MAAA,aAAA,GAAgB,KAAM,CAAA,QAAA,GACxB,SACE,GAAA,GAAA,CAAI,EAAG,CAAA,iBAAiB,CACxB,GAAA,GAAA,CAAI,EAAG,CAAA,iBAAiB,CAC1B,GAAA,EAAA,CAAA;AACJ,MAAA,OAAO,CACL,EAAA,KAAA,CAAM,KACR,CAAA,CAAA,EAAI,IAAI,CAAE,EAAC,CAAI,CAAA,EAAA,SAAS,CAAI,CAAA,EAAA,YAAY,CAAI,CAAA,EAAA,YAAY,IAAI,aAAa,CAAA,CAAA,CAAA;AAAA,KAC1E,CAAA,CAAA;AACD,IAAM,MAAA,GAAA,GAAM,gBAAgB,WAAW,CAAA,CAAA;AAGvC,IAAM,MAAA,cAAA,GAAiB,CAAC,CAAa,KAAA;AACnC,MAAA,KAAA,CAAM,OAAW,IAAA,KAAA,CAAM,OAAQ,CAAA,CAAA,EAAG,MAAM,IAAI,CAAA,CAAA;AAC5C,MAAA,GAAA,CAAI,OAAO,IAAK,EAAA,CAAA;AAAA,KAClB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -95,6 +95,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
95
95
|
{ immediate: true, deep: true }
|
|
96
96
|
);
|
|
97
97
|
return (_ctx, _cache) => {
|
|
98
|
+
const _component_ll_tooltip = resolveComponent("ll-tooltip");
|
|
98
99
|
const _component_a_menu_item = resolveComponent("a-menu-item");
|
|
99
100
|
const _component_a_menu = resolveComponent("a-menu");
|
|
100
101
|
const _component_a_dropdown = resolveComponent("a-dropdown");
|
|
@@ -193,14 +194,23 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
193
194
|
class: normalizeClass(unref(bem).e("dropdown-container"))
|
|
194
195
|
},
|
|
195
196
|
[
|
|
196
|
-
createVNode(
|
|
197
|
-
"
|
|
198
|
-
"
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
197
|
+
createVNode(_component_ll_tooltip, {
|
|
198
|
+
title: "\u66F4\u591A",
|
|
199
|
+
placement: "topLeft"
|
|
200
|
+
}, {
|
|
201
|
+
default: withCtx(() => [
|
|
202
|
+
createVNode(unref(LlIconBase), {
|
|
203
|
+
"is-show-tooltip": false,
|
|
204
|
+
"is-show-container": showIconList.value[0].isShowContainer,
|
|
205
|
+
"icon-type": showIconList.value[0].iconType,
|
|
206
|
+
data: _ctx.data,
|
|
207
|
+
"icon-name": "icon-more",
|
|
208
|
+
class: normalizeClass(unref(bem).e("icon-more"))
|
|
209
|
+
}, null, 8, ["is-show-container", "icon-type", "data", "class"])
|
|
210
|
+
]),
|
|
211
|
+
_: 1
|
|
212
|
+
/* STABLE */
|
|
213
|
+
})
|
|
204
214
|
],
|
|
205
215
|
2
|
|
206
216
|
/* CLASS */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operate-icon.vue2.mjs","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 :is-show=\"Object.keys(item).includes('isShow') ? item.isShow : true\"\n :tooltip-class=\"bem.e(marginButtonClass(index, showIconList.length - 1))\"\n />\n <template v-if=\"modalIconList.length === 1\">\n <ll-icon-base\n v-for=\"(item, index) in modalIconList\"\n :key=\"index\"\n v-bind=\"item\"\n :data=\"data\"\n :tooltip-class=\"`${bem.e('last-icon')}`\"\n />\n </template>\n <!-- 下拉提示的icon -->\n <a-dropdown\n v-if=\"showDropdown && modalIconList.length > 1\"\n :overlay-class-name=\"`${bem.e('dropdown')} ${props.overlayClassName}`\"\n :open=\"dropdownOpen\"\n :trigger=\"trigger\"\n @open-change=\"handleDropdownOpenChange\"\n >\n <div :class=\"bem.e('dropdown-container')\">\n <ll-icon-base\n
|
|
1
|
+
{"version":3,"file":"operate-icon.vue2.mjs","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 :is-show=\"Object.keys(item).includes('isShow') ? item.isShow : true\"\n :tooltip-class=\"bem.e(marginButtonClass(index, showIconList.length - 1))\"\n />\n <template v-if=\"modalIconList.length === 1\">\n <ll-icon-base\n v-for=\"(item, index) in modalIconList\"\n :key=\"index\"\n v-bind=\"item\"\n :data=\"data\"\n :tooltip-class=\"`${bem.e('last-icon')}`\"\n />\n </template>\n <!-- 下拉提示的icon -->\n <a-dropdown\n v-if=\"showDropdown && modalIconList.length > 1\"\n :overlay-class-name=\"`${bem.e('dropdown')} ${props.overlayClassName}`\"\n :open=\"dropdownOpen\"\n :trigger=\"trigger\"\n @open-change=\"handleDropdownOpenChange\"\n >\n <div :class=\"bem.e('dropdown-container')\">\n <ll-tooltip title=\"更多\" placement=\"topLeft\">\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 </ll-tooltip>\n </div>\n <template #overlay>\n <a-menu @click=\"handleDropdownParentClick\">\n <slot>\n <template v-for=\"item in modalIconList\">\n <a-menu-item\n v-if=\"Object.keys(item).includes('isShow') ? item.isShow : true\"\n :key=\"item.iconName\"\n >\n <ll-icon-base\n v-bind=\"item\"\n :data=\"data\"\n :icon-name=\"showDropdownItemIcon ? item.iconName : ''\"\n />\n </a-menu-item>\n </template>\n </slot>\n </a-menu>\n </template>\n </a-dropdown>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport { IconBaseProps, LlIconBase } from '@ll-plus/components'\nimport { operateIconEmits, operateIconProps } 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 defaultList = 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()} ${\n isHasDropdown ? bem.m('has-dropdown') : bem.m('no-dropdown')\n }`\n})\n// 4.methods\n// 点击更多按钮\nconst marginButtonClass = (index, length) => {\n return index < length ? 'margin-tooltip' : ''\n}\nconst handleOpenChange = (open: boolean) => emits('onDropdownOpenChange', open)\n// 下拉菜单open\nconst handleDropdownOpenChange = (open: boolean) => {\n dropdownOpen.value = open\n handleOpenChange(open)\n}\nconst handleDropdownParentClick = () => {\n dropdownOpen.value = false\n handleOpenChange(false)\n}\n\n// 5.watch\nwatch(\n () => [props.list, props.showDropdown],\n (data: any) => {\n const [newList, showDropdown] = data\n const list = newList\n ? newList.filter(Boolean).filter((item) => Boolean(item.isShow))\n : defaultList.value\n const length = list.length\n if (length >= props.showIconLimit && showDropdown) {\n showIconList.value = list\n .slice(0, props.showIconLimit - 1)\n .map((item) => ({ ...item, isShowTooltip: true })) as IconBaseProps[]\n // 默认modal里面要icon后面跟文字\n const sliceList = list.slice(props.showIconLimit - 1)\n if (sliceList.length === 1) {\n modalIconList.value = sliceList.map((item: any) => ({\n ...item,\n isShowTitle: false,\n isShowTooltip: true,\n isShowContainer: false,\n }))\n } else {\n modalIconList.value = sliceList.map((item: any) => ({\n ...item,\n isShowTitle: true,\n }))\n }\n } else {\n showIconList.value = list.map((item: any) => ({\n ...item,\n isShowTooltip: true,\n })) as IconBaseProps[]\n }\n },\n { immediate: true, deep: true },\n)\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-image.mjs","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
|
|
1
|
+
{"version":3,"file":"upload-image.mjs","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 showTip: {\n type: Boolean,\n default: true,\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":[],"mappings":";;;;AAaO,MAAM,mBAAmB,UAAW,CAAA;AAAA,EACzC,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,cAAA,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,EAAM,eAA4C,QAAQ,CAAA;AAAA,IAC1D,SAAS,MAAM,IAAA;AAAA,GACjB;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAM,eAEJ,QAAQ,CAAA;AAAA,IACV,SAAS,MAAY;AAAA,KAAC;AAAA,GACxB;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;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,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, useAttrs, ref, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, createVNode,
|
|
1
|
+
import { defineComponent, useAttrs, ref, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, createVNode, withCtx, mergeProps, createBlock, withModifiers, toDisplayString, createCommentVNode, Fragment, renderList } from 'vue';
|
|
2
2
|
import { omit } from 'lodash-es';
|
|
3
3
|
import '../../../utils/index.mjs';
|
|
4
4
|
import { uploadImageProps, uploadImageEmits } from './upload-image.mjs';
|
|
@@ -93,8 +93,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
93
93
|
return (_ctx, _cache) => {
|
|
94
94
|
const _component_ll_icon = resolveComponent("ll-icon");
|
|
95
95
|
const _component_ll_image = resolveComponent("ll-image");
|
|
96
|
-
const _component_a_spin = resolveComponent("a-spin");
|
|
97
96
|
const _component_a_upload = resolveComponent("a-upload");
|
|
97
|
+
const _component_a_spin = resolveComponent("a-spin");
|
|
98
98
|
const _component_a_image = resolveComponent("a-image");
|
|
99
99
|
const _component_a_image_preview_group = resolveComponent("a-image-preview-group");
|
|
100
100
|
return openBlock(), createElementBlock(
|
|
@@ -109,24 +109,24 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
109
109
|
class: normalizeClass(unref(bem).m("preview-box"))
|
|
110
110
|
},
|
|
111
111
|
[
|
|
112
|
-
createVNode(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
},
|
|
116
|
-
accept: props.accept,
|
|
117
|
-
"show-upload-list": false,
|
|
118
|
-
"max-count": props.maxCount,
|
|
119
|
-
multiple: computedMultiple.value,
|
|
120
|
-
"before-upload": beforeUpload,
|
|
121
|
-
"custom-request": customRequest,
|
|
122
|
-
class: unref(bem).m("upload"),
|
|
123
|
-
"list-type": "picture-card"
|
|
124
|
-
}), {
|
|
112
|
+
createVNode(_component_a_spin, {
|
|
113
|
+
size: "small",
|
|
114
|
+
spinning: props.imgLoading
|
|
115
|
+
}, {
|
|
125
116
|
default: withCtx(() => [
|
|
126
|
-
createVNode(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}, {
|
|
117
|
+
createVNode(_component_a_upload, mergeProps({
|
|
118
|
+
fileList: fileList.value,
|
|
119
|
+
"onUpdate:fileList": _cache[1] || (_cache[1] = ($event) => fileList.value = $event)
|
|
120
|
+
}, getBindValue.value, {
|
|
121
|
+
accept: props.accept,
|
|
122
|
+
"show-upload-list": false,
|
|
123
|
+
"max-count": props.maxCount,
|
|
124
|
+
multiple: computedMultiple.value,
|
|
125
|
+
"before-upload": beforeUpload,
|
|
126
|
+
"custom-request": customRequest,
|
|
127
|
+
class: unref(bem).m("upload"),
|
|
128
|
+
"list-type": "picture-card"
|
|
129
|
+
}), {
|
|
130
130
|
default: withCtx(() => [
|
|
131
131
|
innerValue.value.length > 0 ? (openBlock(), createBlock(_component_ll_image, {
|
|
132
132
|
key: 0,
|
|
@@ -178,20 +178,21 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
178
178
|
]),
|
|
179
179
|
_: 1
|
|
180
180
|
/* STABLE */
|
|
181
|
-
},
|
|
181
|
+
}, 16, ["fileList", "accept", "max-count", "multiple", "class"])
|
|
182
182
|
]),
|
|
183
183
|
_: 1
|
|
184
184
|
/* STABLE */
|
|
185
|
-
},
|
|
186
|
-
|
|
185
|
+
}, 8, ["spinning"]),
|
|
186
|
+
_ctx.showTip ? (openBlock(), createElementBlock(
|
|
187
187
|
"p",
|
|
188
188
|
{
|
|
189
|
+
key: 0,
|
|
189
190
|
class: normalizeClass(unref(bem).e("tip"))
|
|
190
191
|
},
|
|
191
192
|
toDisplayString(computedTip.value),
|
|
192
193
|
3
|
|
193
194
|
/* TEXT, CLASS */
|
|
194
|
-
)
|
|
195
|
+
)) : createCommentVNode("v-if", true)
|
|
195
196
|
],
|
|
196
197
|
2
|
|
197
198
|
/* CLASS */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-image.vue2.mjs","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
|
|
1
|
+
{"version":3,"file":"upload-image.vue2.mjs","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-spin size=\"small\" :spinning=\"props.imgLoading\">\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 <ll-image\n v-if=\"innerValue.length > 0\"\n :preview=\"{ visible: false }\"\n :width=\"98\"\n :height=\"98\"\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 </ll-image>\n <ll-icon v-else :icon-name=\"props.iconName\" style=\"font-size: 30px\" />\n </a-upload>\n </a-spin>\n\n <p v-if=\"showTip\" :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\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 = fileType === 'svg+xml' ? true : 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":[],"mappings":"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"}
|