ll-plus 2.9.10 → 2.9.12

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 (63) hide show
  1. package/es/components/icon-base/index.d.ts +2 -1
  2. package/es/components/icon-base/src/icon-base.vue.d.ts +2 -1
  3. package/es/components/operate-icon/index.d.ts +2 -1
  4. package/es/components/operate-icon/src/operate-icon.vue.d.ts +2 -1
  5. package/es/packages/components/icon-base/src/icon-base.vue2.mjs +10 -2
  6. package/es/packages/components/icon-base/src/icon-base.vue2.mjs.map +1 -1
  7. package/es/packages/components/operate-icon/src/operate-icon.vue2.mjs +18 -8
  8. package/es/packages/components/operate-icon/src/operate-icon.vue2.mjs.map +1 -1
  9. package/es/packages/components/upload-image/src/upload-image.vue2.mjs +21 -21
  10. package/es/packages/components/upload-image/src/upload-image.vue2.mjs.map +1 -1
  11. package/index.full.js +47 -29
  12. package/index.full.min.js +17 -17
  13. package/index.full.min.js.map +1 -1
  14. package/index.full.min.mjs +18 -18
  15. package/index.full.min.mjs.map +1 -1
  16. package/index.full.mjs +47 -29
  17. package/lib/components/icon-base/index.d.ts +2 -1
  18. package/lib/components/icon-base/src/icon-base.vue.d.ts +2 -1
  19. package/lib/components/operate-icon/index.d.ts +2 -1
  20. package/lib/components/operate-icon/src/operate-icon.vue.d.ts +2 -1
  21. package/lib/packages/components/icon-base/src/icon-base.vue2.js +9 -1
  22. package/lib/packages/components/icon-base/src/icon-base.vue2.js.map +1 -1
  23. package/lib/packages/components/operate-icon/src/operate-icon.vue2.js +18 -8
  24. package/lib/packages/components/operate-icon/src/operate-icon.vue2.js.map +1 -1
  25. package/lib/packages/components/upload-image/src/upload-image.vue2.js +20 -20
  26. package/lib/packages/components/upload-image/src/upload-image.vue2.js.map +1 -1
  27. package/package.json +1 -1
  28. package/theme-chalk/css/advanced-filtering.css +1 -5
  29. package/theme-chalk/css/api-component.css +1 -5
  30. package/theme-chalk/css/cascader.css +1 -5
  31. package/theme-chalk/css/checkbox.css +1 -5
  32. package/theme-chalk/css/code-editor.css +1 -5
  33. package/theme-chalk/css/color-picker.css +1 -5
  34. package/theme-chalk/css/cropper.css +1 -5
  35. package/theme-chalk/css/descriptions.css +1 -5
  36. package/theme-chalk/css/drawer.css +1 -5
  37. package/theme-chalk/css/dropdown-button-simple.css +1 -5
  38. package/theme-chalk/css/dropdown.css +1 -5
  39. package/theme-chalk/css/easy-cron.css +1 -5
  40. package/theme-chalk/css/form.css +1 -5
  41. package/theme-chalk/css/index.css +2 -6
  42. package/theme-chalk/css/input-number.css +1 -5
  43. package/theme-chalk/css/input.css +1 -5
  44. package/theme-chalk/css/key-value.css +1 -5
  45. package/theme-chalk/css/markdown-editor.css +1 -5
  46. package/theme-chalk/css/message.css +1 -5
  47. package/theme-chalk/css/modal.css +1 -5
  48. package/theme-chalk/css/new-drawer.css +1 -5
  49. package/theme-chalk/css/new-modal.css +1 -5
  50. package/theme-chalk/css/number-range.css +1 -5
  51. package/theme-chalk/css/rich-text-editor.css +1 -5
  52. package/theme-chalk/css/segmented.css +1 -5
  53. package/theme-chalk/css/switch.css +1 -5
  54. package/theme-chalk/css/table.css +1 -5
  55. package/theme-chalk/css/tabs-simple.css +1 -5
  56. package/theme-chalk/css/tag-group.css +1 -5
  57. package/theme-chalk/css/upload-image.css +1 -1
  58. package/theme-chalk/fonts/iconfont.js +1 -1
  59. package/theme-chalk/fonts/iconfont.json +7 -7
  60. package/types/packages/components/icon-base/index.d.ts +2 -1
  61. package/types/packages/components/icon-base/src/icon-base.vue.d.ts +2 -1
  62. package/types/packages/components/operate-icon/index.d.ts +2 -1
  63. package/types/packages/components/operate-icon/src/operate-icon.vue.d.ts +2 -1
@@ -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) => any;
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) => any;
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) => any;
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) => any;
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>>;
@@ -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) => props.onClick && props.onClick(e, props.data);
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'\n})\n\n// 2.props\nconst props = defineProps(iconBaseProps)\n// 3.computed/const\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</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAgDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAGd,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,CACtB,KAAA,KAAA,CAAM,WAAW,KAAM,CAAA,OAAA,CAAQ,CAAG,EAAA,KAAA,CAAM,IAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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(unref(LlIconBase), {
197
- "is-show-tooltip": false,
198
- "is-show-container": showIconList.value[0].isShowContainer,
199
- "icon-type": showIconList.value[0].iconType,
200
- data: _ctx.data,
201
- "icon-name": "icon-more",
202
- class: normalizeClass(unref(bem).e("icon-more"))
203
- }, null, 8, ["is-show-container", "icon-type", "data", "class"])
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 :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 @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
+ {"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,4 +1,4 @@
1
- import { defineComponent, useAttrs, ref, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, createVNode, mergeProps, withCtx, createBlock, withModifiers, toDisplayString, createCommentVNode, Fragment, renderList } from 'vue';
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(_component_a_upload, mergeProps({
113
- fileList: fileList.value,
114
- "onUpdate:fileList": _cache[1] || (_cache[1] = ($event) => fileList.value = $event)
115
- }, getBindValue.value, {
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(_component_a_spin, {
127
- size: "small",
128
- spinning: props.imgLoading
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,11 +178,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
178
178
  ]),
179
179
  _: 1
180
180
  /* STABLE */
181
- }, 8, ["spinning"])
181
+ }, 16, ["fileList", "accept", "max-count", "multiple", "class"])
182
182
  ]),
183
183
  _: 1
184
184
  /* STABLE */
185
- }, 16, ["fileList", "accept", "max-count", "multiple", "class"]),
185
+ }, 8, ["spinning"]),
186
186
  _ctx.showTip ? (openBlock(), createElementBlock(
187
187
  "p",
188
188
  {
@@ -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 <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-spin>\n </a-upload>\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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"}
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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"}
package/index.full.js CHANGED
@@ -64572,6 +64572,7 @@
64572
64572
  props: iconBaseProps,
64573
64573
  setup(__props) {
64574
64574
  const props = __props;
64575
+ const btn = require$$0.ref();
64575
64576
  const btnClass = require$$0.computed(() => {
64576
64577
  const isDefault = props.iconType === "default" || !props.iconType;
64577
64578
  const typeClass = isDefault ? bem.m("default") : bem.m("primary");
@@ -64581,7 +64582,10 @@
64581
64582
  return `${props.class} ${bem.b()} ${typeClass} ${exposedClass} ${hasTextClass} ${disabledClass}`;
64582
64583
  });
64583
64584
  const bem = createNamespace("icon-base");
64584
- const handleClickBtn = (e) => props.onClick && props.onClick(e, props.data);
64585
+ const handleClickBtn = (e) => {
64586
+ props.onClick && props.onClick(e, props.data);
64587
+ btn.value?.blur();
64588
+ };
64585
64589
  return (_ctx, _cache) => {
64586
64590
  const _component_ll_icon = require$$0.resolveComponent("ll-icon");
64587
64591
  const _component_a_button = require$$0.resolveComponent("a-button");
@@ -64598,6 +64602,8 @@
64598
64602
  }, {
64599
64603
  default: require$$0.withCtx(() => [
64600
64604
  require$$0.createVNode(_component_a_button, {
64605
+ ref_key: "btn",
64606
+ ref: btn,
64601
64607
  type: "text",
64602
64608
  disabled: _ctx.disabled,
64603
64609
  class: require$$0.normalizeClass(`${btnClass.value}`),
@@ -64632,6 +64638,8 @@
64632
64638
  [
64633
64639
  require$$0.createCommentVNode(" \u6CA1\u6709\u6587\u5B57\u63D0\u793A\u5F39\u7A97 "),
64634
64640
  require$$0.createVNode(_component_a_button, {
64641
+ ref_key: "btn",
64642
+ ref: btn,
64635
64643
  type: "text",
64636
64644
  disabled: _ctx.disabled,
64637
64645
  class: require$$0.normalizeClass(`${btnClass.value}`),
@@ -73810,6 +73818,7 @@
73810
73818
  { immediate: true, deep: true }
73811
73819
  );
73812
73820
  return (_ctx, _cache) => {
73821
+ const _component_ll_tooltip = require$$0.resolveComponent("ll-tooltip");
73813
73822
  const _component_a_menu_item = require$$0.resolveComponent("a-menu-item");
73814
73823
  const _component_a_menu = require$$0.resolveComponent("a-menu");
73815
73824
  const _component_a_dropdown = require$$0.resolveComponent("a-dropdown");
@@ -73908,14 +73917,23 @@
73908
73917
  class: require$$0.normalizeClass(require$$0.unref(bem).e("dropdown-container"))
73909
73918
  },
73910
73919
  [
73911
- require$$0.createVNode(require$$0.unref(LlIconBase), {
73912
- "is-show-tooltip": false,
73913
- "is-show-container": showIconList.value[0].isShowContainer,
73914
- "icon-type": showIconList.value[0].iconType,
73915
- data: _ctx.data,
73916
- "icon-name": "icon-more",
73917
- class: require$$0.normalizeClass(require$$0.unref(bem).e("icon-more"))
73918
- }, null, 8, ["is-show-container", "icon-type", "data", "class"])
73920
+ require$$0.createVNode(_component_ll_tooltip, {
73921
+ title: "\u66F4\u591A",
73922
+ placement: "topLeft"
73923
+ }, {
73924
+ default: require$$0.withCtx(() => [
73925
+ require$$0.createVNode(require$$0.unref(LlIconBase), {
73926
+ "is-show-tooltip": false,
73927
+ "is-show-container": showIconList.value[0].isShowContainer,
73928
+ "icon-type": showIconList.value[0].iconType,
73929
+ data: _ctx.data,
73930
+ "icon-name": "icon-more",
73931
+ class: require$$0.normalizeClass(require$$0.unref(bem).e("icon-more"))
73932
+ }, null, 8, ["is-show-container", "icon-type", "data", "class"])
73933
+ ]),
73934
+ _: 1
73935
+ /* STABLE */
73936
+ })
73919
73937
  ],
73920
73938
  2
73921
73939
  /* CLASS */
@@ -86182,8 +86200,8 @@
86182
86200
  return (_ctx, _cache) => {
86183
86201
  const _component_ll_icon = require$$0.resolveComponent("ll-icon");
86184
86202
  const _component_ll_image = require$$0.resolveComponent("ll-image");
86185
- const _component_a_spin = require$$0.resolveComponent("a-spin");
86186
86203
  const _component_a_upload = require$$0.resolveComponent("a-upload");
86204
+ const _component_a_spin = require$$0.resolveComponent("a-spin");
86187
86205
  const _component_a_image = require$$0.resolveComponent("a-image");
86188
86206
  const _component_a_image_preview_group = require$$0.resolveComponent("a-image-preview-group");
86189
86207
  return require$$0.openBlock(), require$$0.createElementBlock(
@@ -86198,24 +86216,24 @@
86198
86216
  class: require$$0.normalizeClass(require$$0.unref(bem).m("preview-box"))
86199
86217
  },
86200
86218
  [
86201
- require$$0.createVNode(_component_a_upload, require$$0.mergeProps({
86202
- fileList: fileList.value,
86203
- "onUpdate:fileList": _cache[1] || (_cache[1] = ($event) => fileList.value = $event)
86204
- }, getBindValue.value, {
86205
- accept: props.accept,
86206
- "show-upload-list": false,
86207
- "max-count": props.maxCount,
86208
- multiple: computedMultiple.value,
86209
- "before-upload": beforeUpload,
86210
- "custom-request": customRequest,
86211
- class: require$$0.unref(bem).m("upload"),
86212
- "list-type": "picture-card"
86213
- }), {
86219
+ require$$0.createVNode(_component_a_spin, {
86220
+ size: "small",
86221
+ spinning: props.imgLoading
86222
+ }, {
86214
86223
  default: require$$0.withCtx(() => [
86215
- require$$0.createVNode(_component_a_spin, {
86216
- size: "small",
86217
- spinning: props.imgLoading
86218
- }, {
86224
+ require$$0.createVNode(_component_a_upload, require$$0.mergeProps({
86225
+ fileList: fileList.value,
86226
+ "onUpdate:fileList": _cache[1] || (_cache[1] = ($event) => fileList.value = $event)
86227
+ }, getBindValue.value, {
86228
+ accept: props.accept,
86229
+ "show-upload-list": false,
86230
+ "max-count": props.maxCount,
86231
+ multiple: computedMultiple.value,
86232
+ "before-upload": beforeUpload,
86233
+ "custom-request": customRequest,
86234
+ class: require$$0.unref(bem).m("upload"),
86235
+ "list-type": "picture-card"
86236
+ }), {
86219
86237
  default: require$$0.withCtx(() => [
86220
86238
  innerValue.value.length > 0 ? (require$$0.openBlock(), require$$0.createBlock(_component_ll_image, {
86221
86239
  key: 0,
@@ -86267,11 +86285,11 @@
86267
86285
  ]),
86268
86286
  _: 1
86269
86287
  /* STABLE */
86270
- }, 8, ["spinning"])
86288
+ }, 16, ["fileList", "accept", "max-count", "multiple", "class"])
86271
86289
  ]),
86272
86290
  _: 1
86273
86291
  /* STABLE */
86274
- }, 16, ["fileList", "accept", "max-count", "multiple", "class"]),
86292
+ }, 8, ["spinning"]),
86275
86293
  _ctx.showTip ? (require$$0.openBlock(), require$$0.createElementBlock(
86276
86294
  "p",
86277
86295
  {