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.
Files changed (34) hide show
  1. package/es/components/operate-icon/index.d.ts +1 -0
  2. package/es/components/operate-icon/src/operate-icon.vue.d.ts +1 -0
  3. package/es/components/operate-icon/src/operate-icon.vue2.mjs +3 -1
  4. package/es/components/operate-icon/src/operate-icon.vue2.mjs.map +1 -1
  5. package/es/components/upload-image/index.d.ts +4 -1
  6. package/es/components/upload-image/src/upload-image.d.ts +1 -0
  7. package/es/components/upload-image/src/upload-image.mjs +4 -0
  8. package/es/components/upload-image/src/upload-image.mjs.map +1 -1
  9. package/es/components/upload-image/src/upload-image.vue.d.ts +4 -1
  10. package/es/components/upload-image/src/upload-image.vue2.mjs +4 -4
  11. package/es/components/upload-image/src/upload-image.vue2.mjs.map +1 -1
  12. package/index.full.js +10 -4
  13. package/index.full.min.js +13 -13
  14. package/index.full.min.js.map +1 -1
  15. package/index.full.min.mjs +13 -13
  16. package/index.full.min.mjs.map +1 -1
  17. package/index.full.mjs +10 -4
  18. package/lib/components/operate-icon/index.d.ts +1 -0
  19. package/lib/components/operate-icon/src/operate-icon.vue.d.ts +1 -0
  20. package/lib/components/operate-icon/src/operate-icon.vue2.js +3 -1
  21. package/lib/components/operate-icon/src/operate-icon.vue2.js.map +1 -1
  22. package/lib/components/upload-image/index.d.ts +4 -1
  23. package/lib/components/upload-image/src/upload-image.d.ts +1 -0
  24. package/lib/components/upload-image/src/upload-image.js +4 -0
  25. package/lib/components/upload-image/src/upload-image.js.map +1 -1
  26. package/lib/components/upload-image/src/upload-image.vue.d.ts +4 -1
  27. package/lib/components/upload-image/src/upload-image.vue2.js +3 -3
  28. package/lib/components/upload-image/src/upload-image.vue2.js.map +1 -1
  29. package/package.json +1 -1
  30. package/types/packages/components/operate-icon/index.d.ts +1 -0
  31. package/types/packages/components/operate-icon/src/operate-icon.vue.d.ts +1 -0
  32. package/types/packages/components/upload-image/index.d.ts +4 -1
  33. package/types/packages/components/upload-image/src/upload-image.d.ts +1 -0
  34. package/types/packages/components/upload-image/src/upload-image.vue.d.ts +4 -1
@@ -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: {
@@ -60,6 +60,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
60
60
  emits("update:dropdownOpen", false);
61
61
  }
62
62
  };
63
+ const handleDropdownParentClick = () => dropdownOpen.value = false;
63
64
  const handleIconMouseenter = () => {
64
65
  dropdownOpen.value = true;
65
66
  emits("update:dropdownOpen", true);
@@ -124,7 +125,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
124
125
  return openBlock(), createBlock(
125
126
  _component_a_menu_item,
126
127
  {
127
- key: item.iconName
128
+ key: item.iconName,
129
+ onClick: handleDropdownParentClick
128
130
  },
129
131
  {
130
132
  default: withCtx(() => [
@@ -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 :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 v-for=\"item in modalIconList\" :key=\"item.iconName\">\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}\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":[],"mappings":"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"}
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 :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":[],"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>;
@@ -11,6 +11,10 @@ const uploadImageProps = buildProps({
11
11
  type: Boolean,
12
12
  default: false
13
13
  },
14
+ useBase64: {
15
+ type: Boolean,
16
+ default: true
17
+ },
14
18
  iconName: {
15
19
  type: String,
16
20
  default: "icon-add"
@@ -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\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":[],"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,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;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.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} 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;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;
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, useAttrs, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, createVNode, mergeProps, withCtx, createBlock, withModifiers, toDisplayString, Fragment, renderList } from 'vue';
1
+ import { defineComponent, useAttrs, ref, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, createVNode, mergeProps, withCtx, createBlock, withModifiers, toDisplayString, 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';
@@ -14,7 +14,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  props: uploadImageProps,
15
15
  emits: uploadImageEmits,
16
16
  setup(__props, { emit: __emit }) {
17
- const loading = ref(false);
18
17
  const props = __props;
19
18
  const emits = __emit;
20
19
  const bem = createNamespace("upload-image");
@@ -52,9 +51,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
52
51
  return isType && isSize && props.beforeUpload?.(file, FileList);
53
52
  };
54
53
  const customRequest = async (res) => {
55
- loading.value = true;
56
54
  const fileUrl = await fileToBase64(res.file);
57
- props.maxCount === 1 ? innerValue.value = [fileUrl] : innerValue.value.push(fileUrl);
55
+ if (props.useBase64) {
56
+ props.maxCount === 1 ? innerValue.value = [fileUrl] : innerValue.value.push(fileUrl);
57
+ }
58
58
  try {
59
59
  props.customRequest?.(res, fileUrl);
60
60
  } catch (error) {
@@ -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 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 loading = ref(false)\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 loading.value = true\n const fileUrl = (await fileToBase64(res.file)) as string\n props.maxCount === 1\n ? (innerValue.value = [fileUrl])\n : innerValue.value.push(fileUrl)\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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"}
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 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":[],"mappings":"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"}
package/index.full.js CHANGED
@@ -59494,6 +59494,7 @@
59494
59494
  emits("update:dropdownOpen", false);
59495
59495
  }
59496
59496
  };
59497
+ const handleDropdownParentClick = () => dropdownOpen.value = false;
59497
59498
  const handleIconMouseenter = () => {
59498
59499
  dropdownOpen.value = true;
59499
59500
  emits("update:dropdownOpen", true);
@@ -59558,7 +59559,8 @@
59558
59559
  return require$$0.openBlock(), require$$0.createBlock(
59559
59560
  _component_a_menu_item,
59560
59561
  {
59561
- key: item.iconName
59562
+ key: item.iconName,
59563
+ onClick: handleDropdownParentClick
59562
59564
  },
59563
59565
  {
59564
59566
  default: require$$0.withCtx(() => [
@@ -76756,6 +76758,10 @@
76756
76758
  type: Boolean,
76757
76759
  default: false
76758
76760
  },
76761
+ useBase64: {
76762
+ type: Boolean,
76763
+ default: true
76764
+ },
76759
76765
  iconName: {
76760
76766
  type: String,
76761
76767
  default: "icon-add"
@@ -76798,7 +76804,6 @@
76798
76804
  props: uploadImageProps,
76799
76805
  emits: uploadImageEmits,
76800
76806
  setup(__props, { emit: __emit }) {
76801
- const loading = require$$0.ref(false);
76802
76807
  const props = __props;
76803
76808
  const emits = __emit;
76804
76809
  const bem = createNamespace("upload-image");
@@ -76836,9 +76841,10 @@
76836
76841
  return isType && isSize && props.beforeUpload?.(file, FileList);
76837
76842
  };
76838
76843
  const customRequest = async (res) => {
76839
- loading.value = true;
76840
76844
  const fileUrl = await fileToBase64(res.file);
76841
- props.maxCount === 1 ? innerValue.value = [fileUrl] : innerValue.value.push(fileUrl);
76845
+ if (props.useBase64) {
76846
+ props.maxCount === 1 ? innerValue.value = [fileUrl] : innerValue.value.push(fileUrl);
76847
+ }
76842
76848
  try {
76843
76849
  props.customRequest?.(res, fileUrl);
76844
76850
  } catch (error) {