ll-plus 2.1.17 → 2.1.19

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 (44) hide show
  1. package/es/components/operate-icon/index.d.ts +14 -1
  2. package/es/components/operate-icon/src/operate-icon.d.ts +6 -0
  3. package/es/components/operate-icon/src/operate-icon.mjs +9 -0
  4. package/es/components/operate-icon/src/operate-icon.mjs.map +1 -1
  5. package/es/components/operate-icon/src/operate-icon.vue.d.ts +14 -1
  6. package/es/components/operate-icon/src/operate-icon.vue2.mjs +2 -2
  7. package/es/components/operate-icon/src/operate-icon.vue2.mjs.map +1 -1
  8. package/es/utils/props/runtime.d.ts +2 -2
  9. package/index.full.js +9 -2
  10. package/index.full.min.js +9 -9
  11. package/index.full.min.js.map +1 -1
  12. package/index.full.min.mjs +8 -8
  13. package/index.full.min.mjs.map +1 -1
  14. package/index.full.mjs +9 -2
  15. package/lib/components/operate-icon/index.d.ts +14 -1
  16. package/lib/components/operate-icon/src/operate-icon.d.ts +6 -0
  17. package/lib/components/operate-icon/src/operate-icon.js +9 -0
  18. package/lib/components/operate-icon/src/operate-icon.js.map +1 -1
  19. package/lib/components/operate-icon/src/operate-icon.vue.d.ts +14 -1
  20. package/lib/components/operate-icon/src/operate-icon.vue2.js +2 -2
  21. package/lib/components/operate-icon/src/operate-icon.vue2.js.map +1 -1
  22. package/lib/utils/props/runtime.d.ts +2 -2
  23. package/package.json +1 -1
  24. package/theme-chalk/css/advanced-filtering.css +1 -1
  25. package/theme-chalk/css/cascader.css +1 -1
  26. package/theme-chalk/css/checkbox.css +1 -1
  27. package/theme-chalk/css/code-editor.css +1 -1
  28. package/theme-chalk/css/descriptions.css +1 -1
  29. package/theme-chalk/css/drawer.css +1 -1
  30. package/theme-chalk/css/dropdown.css +1 -1
  31. package/theme-chalk/css/form.css +1 -1
  32. package/theme-chalk/css/index.css +1 -1
  33. package/theme-chalk/css/input-number.css +1 -1
  34. package/theme-chalk/css/input.css +1 -1
  35. package/theme-chalk/css/key-value.css +1 -1
  36. package/theme-chalk/css/modal.css +1 -1
  37. package/theme-chalk/css/switch.css +1 -1
  38. package/theme-chalk/css/table.css +1 -1
  39. package/theme-chalk/css/tabs-simple.css +1 -1
  40. package/theme-chalk/css/tag-group.css +1 -1
  41. package/types/packages/components/operate-icon/index.d.ts +14 -1
  42. package/types/packages/components/operate-icon/src/operate-icon.d.ts +6 -0
  43. package/types/packages/components/operate-icon/src/operate-icon.vue.d.ts +14 -1
  44. package/types/packages/utils/props/runtime.d.ts +2 -2
@@ -16,6 +16,12 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
16
16
  readonly validator: ((val: unknown) => boolean) | undefined;
17
17
  __epPropKey: true;
18
18
  };
19
+ readonly iconType: {
20
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown>>;
21
+ readonly required: false;
22
+ readonly validator: ((val: unknown) => boolean) | undefined;
23
+ __epPropKey: true;
24
+ };
19
25
  }, {
20
26
  props: import("@vue/shared").LooseRequired<{
21
27
  readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -23,6 +29,7 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
23
29
  readonly showDropdown: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
24
30
  readonly showIconLimit: number;
25
31
  readonly data?: any;
32
+ readonly iconType?: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown> | undefined;
26
33
  readonly list?: import("ll-plus/es/index").IconBaseProps[] | undefined;
27
34
  readonly "onUpdate:value"?: ((bool: boolean) => any) | undefined;
28
35
  readonly onEdit?: ((v: Event, data: any) => any) | undefined;
@@ -54,7 +61,7 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
54
61
  }[]>;
55
62
  dropdownOpen: import("vue").Ref<boolean>;
56
63
  defualtList: import("vue").Ref<{
57
- iconType: string;
64
+ iconType: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown>;
58
65
  isShowContainer: boolean;
59
66
  iconName: string;
60
67
  tooltipTitle: string;
@@ -214,6 +221,12 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
214
221
  readonly validator: ((val: unknown) => boolean) | undefined;
215
222
  __epPropKey: true;
216
223
  };
224
+ readonly iconType: {
225
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown>>;
226
+ readonly required: false;
227
+ readonly validator: ((val: unknown) => boolean) | undefined;
228
+ __epPropKey: true;
229
+ };
217
230
  }>> & {
218
231
  "onUpdate:value"?: ((bool: boolean) => any) | undefined;
219
232
  onEdit?: ((v: Event, data: any) => any) | undefined;
@@ -18,6 +18,12 @@ export declare const operateIconProps: {
18
18
  readonly validator: ((val: unknown) => boolean) | undefined;
19
19
  __epPropKey: true;
20
20
  };
21
+ readonly iconType: {
22
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown>>;
23
+ readonly required: false;
24
+ readonly validator: ((val: unknown) => boolean) | undefined;
25
+ __epPropKey: true;
26
+ };
21
27
  };
22
28
  export declare const operateIconEmits: {
23
29
  edit: (v: Event, data: any) => Event;
@@ -1,6 +1,8 @@
1
1
  import '../../../utils/index.mjs';
2
2
  import { isBoolean } from 'lodash-unified';
3
+ import '../../index.mjs';
3
4
  import { buildProps, definePropType } from '../../../utils/props/runtime.mjs';
5
+ import { iconTypes } from '../../icon-base/src/icon-base.mjs';
4
6
 
5
7
  "use strict";
6
8
  const operateIconProps = buildProps({
@@ -43,6 +45,13 @@ const operateIconProps = buildProps({
43
45
  */
44
46
  data: {
45
47
  type: definePropType(void 0)
48
+ },
49
+ /**
50
+ * @description 默认icon(edit和delete)的颜色
51
+ */
52
+ iconType: {
53
+ type: String,
54
+ values: iconTypes
46
55
  }
47
56
  });
48
57
  const operateIconEmits = {
@@ -1 +1 @@
1
- {"version":3,"file":"operate-icon.mjs","sources":["../../../../../packages/components/operate-icon/src/operate-icon.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport { isBoolean } from 'lodash-unified'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type OperateIcon from './operate-icon.vue'\nimport type { IconBaseProps } from '@ll-plus/components'\n\nexport const operateIconProps = buildProps({\n /**\n * @description 监听dropdown是否打开和关闭\n */\n dropdownOpen: {\n type: Boolean,\n default: false\n },\n /**\n * @description 是否显示dropdown\n */\n showDropdown: {\n type: Boolean,\n default: false\n },\n /**\n * @description icon列表\n */\n list: {\n type: definePropType<IconBaseProps[]>(Array)\n },\n /**\n * @description 是否禁用\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * @description 显示多少个icon,其余在弹窗中显示\n */\n showIconLimit: {\n type: Number,\n default: 3\n },\n /**\n * @description 点击按钮传递的数据\n */\n data: {\n type: definePropType<any>(undefined)\n }\n} as const)\n\nexport const operateIconEmits = {\n edit: (v: Event, data: any) => v || data, // 点击编辑\n delete: (v: Event, data: any) => v || data, // 点击删除\n 'update:dropdownOpen': (bool: boolean) => isBoolean(bool),\n 'update:value': (bool: boolean) => isBoolean(bool)\n}\n\n// props\nexport type OperateIconProps = ExtractPropTypes<typeof operateIconProps>\n\n// emits\nexport type OperateIconEmits = typeof operateIconEmits\n\n// instance\nexport type OperateIconInstance = InstanceType<typeof OperateIcon>\n"],"names":[],"mappings":";;;;;AAQO,MAAM,mBAAmB,UAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAIzC,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAgC,KAAK,CAAA;AAAA,GAC7C;AAAA;AAAA;AAAA;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAoB,KAAS,CAAA,CAAA;AAAA,GACrC;AACF,CAAU,EAAA;AAEH,MAAM,gBAAmB,GAAA;AAAA,EAC9B,IAAM,EAAA,CAAC,CAAU,EAAA,IAAA,KAAc,CAAK,IAAA,IAAA;AAAA;AAAA,EACpC,MAAQ,EAAA,CAAC,CAAU,EAAA,IAAA,KAAc,CAAK,IAAA,IAAA;AAAA;AAAA,EACtC,qBAAuB,EAAA,CAAC,IAAkB,KAAA,SAAA,CAAU,IAAI,CAAA;AAAA,EACxD,cAAgB,EAAA,CAAC,IAAkB,KAAA,SAAA,CAAU,IAAI,CAAA;AACnD;;;;"}
1
+ {"version":3,"file":"operate-icon.mjs","sources":["../../../../../packages/components/operate-icon/src/operate-icon.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport { isBoolean } from 'lodash-unified'\nimport { iconTypes } from '@ll-plus/components'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type OperateIcon from './operate-icon.vue'\nimport type { IconBaseProps } from '@ll-plus/components'\n\nexport const operateIconProps = buildProps({\n /**\n * @description 监听dropdown是否打开和关闭\n */\n dropdownOpen: {\n type: Boolean,\n default: false\n },\n /**\n * @description 是否显示dropdown\n */\n showDropdown: {\n type: Boolean,\n default: false\n },\n /**\n * @description icon列表\n */\n list: {\n type: definePropType<IconBaseProps[]>(Array)\n },\n /**\n * @description 是否禁用\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * @description 显示多少个icon,其余在弹窗中显示\n */\n showIconLimit: {\n type: Number,\n default: 3\n },\n /**\n * @description 点击按钮传递的数据\n */\n data: {\n type: definePropType<any>(undefined)\n },\n /**\n * @description 默认icon(edit和delete)的颜色\n */\n iconType: {\n type: String,\n values: iconTypes\n }\n} as const)\n\nexport const operateIconEmits = {\n edit: (v: Event, data: any) => v || data, // 点击编辑\n delete: (v: Event, data: any) => v || data, // 点击删除\n 'update:dropdownOpen': (bool: boolean) => isBoolean(bool),\n 'update:value': (bool: boolean) => isBoolean(bool)\n}\n\n// props\nexport type OperateIconProps = ExtractPropTypes<typeof operateIconProps>\n\n// emits\nexport type OperateIconEmits = typeof operateIconEmits\n\n// instance\nexport type OperateIconInstance = InstanceType<typeof OperateIcon>\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,mBAAmB,UAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAIzC,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAgC,KAAK,CAAA;AAAA,GAC7C;AAAA;AAAA;AAAA;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAoB,KAAS,CAAA,CAAA;AAAA,GACrC;AAAA;AAAA;AAAA;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,SAAA;AAAA,GACV;AACF,CAAU,EAAA;AAEH,MAAM,gBAAmB,GAAA;AAAA,EAC9B,IAAM,EAAA,CAAC,CAAU,EAAA,IAAA,KAAc,CAAK,IAAA,IAAA;AAAA;AAAA,EACpC,MAAQ,EAAA,CAAC,CAAU,EAAA,IAAA,KAAc,CAAK,IAAA,IAAA;AAAA;AAAA,EACtC,qBAAuB,EAAA,CAAC,IAAkB,KAAA,SAAA,CAAU,IAAI,CAAA;AAAA,EACxD,cAAgB,EAAA,CAAC,IAAkB,KAAA,SAAA,CAAU,IAAI,CAAA;AACnD;;;;"}
@@ -16,6 +16,12 @@ declare const _default: import("vue").DefineComponent<{
16
16
  readonly validator: ((val: unknown) => boolean) | undefined;
17
17
  __epPropKey: true;
18
18
  };
19
+ readonly iconType: {
20
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown>>;
21
+ readonly required: false;
22
+ readonly validator: ((val: unknown) => boolean) | undefined;
23
+ __epPropKey: true;
24
+ };
19
25
  }, {
20
26
  props: import("@vue/shared").LooseRequired<{
21
27
  readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -23,6 +29,7 @@ declare const _default: import("vue").DefineComponent<{
23
29
  readonly showDropdown: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
24
30
  readonly showIconLimit: number;
25
31
  readonly data?: any;
32
+ readonly iconType?: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown> | undefined;
26
33
  readonly list?: IconBaseProps[] | undefined;
27
34
  readonly "onUpdate:value"?: ((bool: boolean) => any) | undefined;
28
35
  readonly onEdit?: ((v: Event, data: any) => any) | undefined;
@@ -54,7 +61,7 @@ declare const _default: import("vue").DefineComponent<{
54
61
  }[]>;
55
62
  dropdownOpen: import("vue").Ref<boolean>;
56
63
  defualtList: import("vue").Ref<{
57
- iconType: string;
64
+ iconType: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown>;
58
65
  isShowContainer: boolean;
59
66
  iconName: string;
60
67
  tooltipTitle: string;
@@ -214,6 +221,12 @@ declare const _default: import("vue").DefineComponent<{
214
221
  readonly validator: ((val: unknown) => boolean) | undefined;
215
222
  __epPropKey: true;
216
223
  };
224
+ readonly iconType: {
225
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown>>;
226
+ readonly required: false;
227
+ readonly validator: ((val: unknown) => boolean) | undefined;
228
+ __epPropKey: true;
229
+ };
217
230
  }>> & {
218
231
  "onUpdate:value"?: ((bool: boolean) => any) | undefined;
219
232
  onEdit?: ((v: Event, data: any) => any) | undefined;
@@ -22,7 +22,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
22
22
  const defualtList = ref([
23
23
  // 默认的icon列表
24
24
  {
25
- iconType: "primary",
25
+ iconType: computed(() => props.iconType || "primary"),
26
26
  // default默认为灰色
27
27
  isShowContainer: false,
28
28
  // 是否显示icon容器
@@ -34,7 +34,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
34
34
  }
35
35
  },
36
36
  {
37
- iconType: "primary",
37
+ iconType: computed(() => props.iconType || "primary"),
38
38
  // default默认为灰色
39
39
  isShowContainer: false,
40
40
  // 是否显示icon容器
@@ -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 in showIconList\"\n v-bind=\"item\"\n :key=\"item.iconName\"\n :data=\"data\"\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 />\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: '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: '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\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 in showIconList\"\n v-bind=\"item\"\n :key=\"item.iconName\"\n :data=\"data\"\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 />\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\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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"}
@@ -27,6 +27,6 @@ export declare const buildProp: <Type = never, Value = never, Validator = never,
27
27
  export type TestProps = Record<string, {
28
28
  [epPropKey]: true;
29
29
  } | NativePropType | EpPropInput<any, any, any, any, any>>;
30
- export declare const buildProps: <Props extends Record<string, {
30
+ export declare const buildProps: <Props extends Record<string, NativePropType | EpPropInput<any, any, any, any, any> | {
31
31
  __epPropKey: true;
32
- } | NativePropType | EpPropInput<any, any, any, any, any>>>(props: Props) => { [K in keyof Props]: IfEpProp<Props[K], Props[K], IfNativePropType<Props[K], Props[K], EpPropConvert<Props[K]>>>; };
32
+ }>>(props: Props) => { [K in keyof Props]: IfEpProp<Props[K], Props[K], IfNativePropType<Props[K], Props[K], EpPropConvert<Props[K]>>>; };
package/index.full.js CHANGED
@@ -46634,6 +46634,13 @@
46634
46634
  */
46635
46635
  data: {
46636
46636
  type: definePropType(void 0)
46637
+ },
46638
+ /**
46639
+ * @description 默认icon(edit和delete)的颜色
46640
+ */
46641
+ iconType: {
46642
+ type: String,
46643
+ values: iconTypes
46637
46644
  }
46638
46645
  });
46639
46646
  const operateIconEmits = {
@@ -46661,7 +46668,7 @@
46661
46668
  const defualtList = require$$0.ref([
46662
46669
  // 默认的icon列表
46663
46670
  {
46664
- iconType: "primary",
46671
+ iconType: require$$0.computed(() => props.iconType || "primary"),
46665
46672
  // default默认为灰色
46666
46673
  isShowContainer: false,
46667
46674
  // 是否显示icon容器
@@ -46673,7 +46680,7 @@
46673
46680
  }
46674
46681
  },
46675
46682
  {
46676
- iconType: "primary",
46683
+ iconType: require$$0.computed(() => props.iconType || "primary"),
46677
46684
  // default默认为灰色
46678
46685
  isShowContainer: false,
46679
46686
  // 是否显示icon容器