ll-plus 2.7.3 → 2.7.4

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 (75) hide show
  1. package/es/components/operate-icon/index.d.ts +5 -9
  2. package/es/components/operate-icon/src/operate-icon.d.ts +1 -2
  3. package/es/components/operate-icon/src/operate-icon.vue.d.ts +5 -9
  4. package/es/components/select/index.d.ts +11 -2
  5. package/es/components/select/src/select.d.ts +3 -0
  6. package/es/components/select/src/select.vue.d.ts +11 -2
  7. package/es/index.mjs +1 -1
  8. package/es/packages/components/api-component/src/components/api-url.vue2.mjs +1 -0
  9. package/es/packages/components/api-component/src/components/api-url.vue2.mjs.map +1 -1
  10. package/es/packages/components/icon-picker/src/components/modal.vue2.mjs +2 -3
  11. package/es/packages/components/icon-picker/src/components/modal.vue2.mjs.map +1 -1
  12. package/es/packages/components/index.mjs +1 -1
  13. package/es/packages/components/operate-icon/src/operate-icon.mjs +0 -12
  14. package/es/packages/components/operate-icon/src/operate-icon.mjs.map +1 -1
  15. package/es/packages/components/operate-icon/src/operate-icon.vue2.mjs +4 -8
  16. package/es/packages/components/operate-icon/src/operate-icon.vue2.mjs.map +1 -1
  17. package/es/packages/components/select/index.mjs +1 -1
  18. package/es/packages/components/select/src/select.mjs +7 -1
  19. package/es/packages/components/select/src/select.mjs.map +1 -1
  20. package/es/packages/components/select/src/select.vue2.mjs +7 -2
  21. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  22. package/es/packages/components/tag-group/src/tag-group.vue2.mjs +1 -1
  23. package/es/packages/components/tag-group/src/tag-group.vue2.mjs.map +1 -1
  24. package/es/packages/components/tree-search/src/components/header-search.vue2.mjs +2 -2
  25. package/es/packages/components/tree-search/src/components/header-search.vue2.mjs.map +1 -1
  26. package/es/packages/components/uri-input/src/uri-input.vue2.mjs +1 -0
  27. package/es/packages/components/uri-input/src/uri-input.vue2.mjs.map +1 -1
  28. package/es/utils/props/runtime.d.ts +2 -2
  29. package/index.full.js +44 -48
  30. package/index.full.min.js +16 -16
  31. package/index.full.min.js.map +1 -1
  32. package/index.full.min.mjs +19 -19
  33. package/index.full.min.mjs.map +1 -1
  34. package/index.full.mjs +44 -49
  35. package/lib/components/operate-icon/index.d.ts +5 -9
  36. package/lib/components/operate-icon/src/operate-icon.d.ts +1 -2
  37. package/lib/components/operate-icon/src/operate-icon.vue.d.ts +5 -9
  38. package/lib/components/select/index.d.ts +11 -2
  39. package/lib/components/select/src/select.d.ts +3 -0
  40. package/lib/components/select/src/select.vue.d.ts +11 -2
  41. package/lib/index.js +1 -0
  42. package/lib/index.js.map +1 -1
  43. package/lib/packages/components/api-component/src/components/api-url.vue2.js +1 -0
  44. package/lib/packages/components/api-component/src/components/api-url.vue2.js.map +1 -1
  45. package/lib/packages/components/icon-picker/src/components/modal.vue2.js +2 -3
  46. package/lib/packages/components/icon-picker/src/components/modal.vue2.js.map +1 -1
  47. package/lib/packages/components/index.js +1 -0
  48. package/lib/packages/components/index.js.map +1 -1
  49. package/lib/packages/components/operate-icon/src/operate-icon.js +0 -12
  50. package/lib/packages/components/operate-icon/src/operate-icon.js.map +1 -1
  51. package/lib/packages/components/operate-icon/src/operate-icon.vue2.js +4 -8
  52. package/lib/packages/components/operate-icon/src/operate-icon.vue2.js.map +1 -1
  53. package/lib/packages/components/select/index.js +1 -0
  54. package/lib/packages/components/select/index.js.map +1 -1
  55. package/lib/packages/components/select/src/select.js +7 -0
  56. package/lib/packages/components/select/src/select.js.map +1 -1
  57. package/lib/packages/components/select/src/select.vue2.js +7 -2
  58. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  59. package/lib/packages/components/tag-group/src/tag-group.vue2.js +1 -1
  60. package/lib/packages/components/tag-group/src/tag-group.vue2.js.map +1 -1
  61. package/lib/packages/components/tree-search/src/components/header-search.vue2.js +2 -2
  62. package/lib/packages/components/tree-search/src/components/header-search.vue2.js.map +1 -1
  63. package/lib/packages/components/uri-input/src/uri-input.vue2.js +1 -0
  64. package/lib/packages/components/uri-input/src/uri-input.vue2.js.map +1 -1
  65. package/lib/utils/props/runtime.d.ts +2 -2
  66. package/package.json +1 -1
  67. package/theme-chalk/css/index.css +1 -1
  68. package/theme-chalk/css/input.css +1 -1
  69. package/types/packages/components/operate-icon/index.d.ts +5 -9
  70. package/types/packages/components/operate-icon/src/operate-icon.d.ts +1 -2
  71. package/types/packages/components/operate-icon/src/operate-icon.vue.d.ts +5 -9
  72. package/types/packages/components/select/index.d.ts +11 -2
  73. package/types/packages/components/select/src/select.d.ts +3 -0
  74. package/types/packages/components/select/src/select.vue.d.ts +11 -2
  75. package/types/packages/utils/props/runtime.d.ts +2 -2
@@ -21,11 +21,11 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
21
21
  readonly validator: ((val: unknown) => boolean) | undefined;
22
22
  __epPropKey: true;
23
23
  };
24
- readonly trigger: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], readonly ["click"] | readonly ["hover"] | readonly ["contextmenu"] | readonly ["click", "hover"] | readonly ["click", "contextmenu"] | readonly ["hover", "contextmenu"] | readonly ["click", "hover", "contextmenu"], unknown, () => string[], boolean>;
24
+ readonly trigger: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => string[], boolean>;
25
25
  }, {
26
26
  props: import("@vue/shared").LooseRequired<{
27
27
  readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
28
- readonly trigger: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], readonly ["click"] | readonly ["hover"] | readonly ["contextmenu"] | readonly ["click", "hover"] | readonly ["click", "contextmenu"] | readonly ["hover", "contextmenu"] | readonly ["click", "hover", "contextmenu"], unknown>;
28
+ readonly trigger: string[];
29
29
  readonly showDropdown: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
30
30
  readonly showIconLimit: number;
31
31
  readonly data?: any;
@@ -33,10 +33,9 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
33
33
  readonly iconType?: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown> | undefined;
34
34
  readonly onEdit?: ((v: Event, data: any) => any) | undefined;
35
35
  readonly onDelete?: ((v: Event, data: any) => any) | undefined;
36
- readonly onOnClickMoreButton?: ((v: Event, data: any) => any) | undefined;
37
36
  readonly onOnDropdownOpenChange?: ((open: boolean) => any) | undefined;
38
37
  } & {}>;
39
- emits: ((event: "delete", v: Event, data: any) => void) & ((event: "edit", v: Event, data: any) => void) & ((event: "onClickMoreButton", v: Event, data: any) => void) & ((event: "onDropdownOpenChange", open: boolean) => void);
38
+ emits: ((event: "delete", v: Event, data: any) => void) & ((event: "edit", v: Event, data: any) => void) & ((event: "onDropdownOpenChange", open: boolean) => void);
40
39
  showIconList: import("vue").Ref<{
41
40
  readonly isShowTooltip: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
42
41
  readonly isShowContainer: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -3273,7 +3272,6 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
3273
3272
  is: (name?: string) => string;
3274
3273
  };
3275
3274
  operateIconClass: import("vue").ComputedRef<string>;
3276
- handleClickMoreButton: (e: Event, data: any) => void;
3277
3275
  marginButtonClass: (index: any, length: any) => "" | "margin-tooltip";
3278
3276
  handheOpenChange: (open: boolean) => void;
3279
3277
  handleDropdownOpenChange: (open: boolean) => void;
@@ -3442,7 +3440,6 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
3442
3440
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
3443
3441
  edit: (v: Event, data: any) => Event;
3444
3442
  delete: (v: Event, data: any) => Event;
3445
- onClickMoreButton: (v: Event, data: any) => Event;
3446
3443
  onDropdownOpenChange: (open: boolean) => true;
3447
3444
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
3448
3445
  readonly showDropdown: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
@@ -3466,15 +3463,14 @@ export declare const LlOperateIcon: import("ll-plus/es/utils").SFCWithInstall<im
3466
3463
  readonly validator: ((val: unknown) => boolean) | undefined;
3467
3464
  __epPropKey: true;
3468
3465
  };
3469
- readonly trigger: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], readonly ["click"] | readonly ["hover"] | readonly ["contextmenu"] | readonly ["click", "hover"] | readonly ["click", "contextmenu"] | readonly ["hover", "contextmenu"] | readonly ["click", "hover", "contextmenu"], unknown, () => string[], boolean>;
3466
+ readonly trigger: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => string[], boolean>;
3470
3467
  }>> & {
3471
3468
  onEdit?: ((v: Event, data: any) => any) | undefined;
3472
3469
  onDelete?: ((v: Event, data: any) => any) | undefined;
3473
- onOnClickMoreButton?: ((v: Event, data: any) => any) | undefined;
3474
3470
  onOnDropdownOpenChange?: ((open: boolean) => any) | undefined;
3475
3471
  }, {
3476
3472
  readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
3477
- readonly trigger: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], readonly ["click"] | readonly ["hover"] | readonly ["contextmenu"] | readonly ["click", "hover"] | readonly ["click", "contextmenu"] | readonly ["hover", "contextmenu"] | readonly ["click", "hover", "contextmenu"], unknown>;
3473
+ readonly trigger: string[];
3478
3474
  readonly showDropdown: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
3479
3475
  readonly showIconLimit: number;
3480
3476
  }, {}>>;
@@ -23,12 +23,11 @@ export declare const operateIconProps: {
23
23
  readonly validator: ((val: unknown) => boolean) | undefined;
24
24
  __epPropKey: true;
25
25
  };
26
- readonly trigger: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], readonly ["click"] | readonly ["hover"] | readonly ["contextmenu"] | readonly ["click", "hover"] | readonly ["click", "contextmenu"] | readonly ["hover", "contextmenu"] | readonly ["click", "hover", "contextmenu"], unknown, () => string[], boolean>;
26
+ readonly trigger: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => string[], boolean>;
27
27
  };
28
28
  export declare const operateIconEmits: {
29
29
  edit: (v: Event, data: any) => Event;
30
30
  delete: (v: Event, data: any) => Event;
31
- onClickMoreButton: (v: Event, data: any) => Event;
32
31
  onDropdownOpenChange: (open: boolean) => true;
33
32
  };
34
33
  export type OperateIconProps = ExtractPropTypes<typeof operateIconProps>;
@@ -21,11 +21,11 @@ declare const _default: import("vue").DefineComponent<{
21
21
  readonly validator: ((val: unknown) => boolean) | undefined;
22
22
  __epPropKey: true;
23
23
  };
24
- readonly trigger: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], readonly ["click"] | readonly ["hover"] | readonly ["contextmenu"] | readonly ["click", "hover"] | readonly ["click", "contextmenu"] | readonly ["hover", "contextmenu"] | readonly ["click", "hover", "contextmenu"], unknown, () => string[], boolean>;
24
+ readonly trigger: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => string[], boolean>;
25
25
  }, {
26
26
  props: import("@vue/shared").LooseRequired<{
27
27
  readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
28
- readonly trigger: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], readonly ["click"] | readonly ["hover"] | readonly ["contextmenu"] | readonly ["click", "hover"] | readonly ["click", "contextmenu"] | readonly ["hover", "contextmenu"] | readonly ["click", "hover", "contextmenu"], unknown>;
28
+ readonly trigger: string[];
29
29
  readonly showDropdown: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
30
30
  readonly showIconLimit: number;
31
31
  readonly data?: any;
@@ -33,10 +33,9 @@ declare const _default: import("vue").DefineComponent<{
33
33
  readonly iconType?: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "default" | "primary", unknown> | undefined;
34
34
  readonly onEdit?: ((v: Event, data: any) => any) | undefined;
35
35
  readonly onDelete?: ((v: Event, data: any) => any) | undefined;
36
- readonly onOnClickMoreButton?: ((v: Event, data: any) => any) | undefined;
37
36
  readonly onOnDropdownOpenChange?: ((open: boolean) => any) | undefined;
38
37
  } & {}>;
39
- emits: ((event: "delete", v: Event, data: any) => void) & ((event: "edit", v: Event, data: any) => void) & ((event: "onClickMoreButton", v: Event, data: any) => void) & ((event: "onDropdownOpenChange", open: boolean) => void);
38
+ emits: ((event: "delete", v: Event, data: any) => void) & ((event: "edit", v: Event, data: any) => void) & ((event: "onDropdownOpenChange", open: boolean) => void);
40
39
  showIconList: import("vue").Ref<{
41
40
  readonly isShowTooltip: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
42
41
  readonly isShowContainer: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -3273,7 +3272,6 @@ declare const _default: import("vue").DefineComponent<{
3273
3272
  is: (name?: string) => string;
3274
3273
  };
3275
3274
  operateIconClass: import("vue").ComputedRef<string>;
3276
- handleClickMoreButton: (e: Event, data: any) => void;
3277
3275
  marginButtonClass: (index: any, length: any) => "" | "margin-tooltip";
3278
3276
  handheOpenChange: (open: boolean) => void;
3279
3277
  handleDropdownOpenChange: (open: boolean) => void;
@@ -3442,7 +3440,6 @@ declare const _default: import("vue").DefineComponent<{
3442
3440
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
3443
3441
  edit: (v: Event, data: any) => Event;
3444
3442
  delete: (v: Event, data: any) => Event;
3445
- onClickMoreButton: (v: Event, data: any) => Event;
3446
3443
  onDropdownOpenChange: (open: boolean) => true;
3447
3444
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
3448
3445
  readonly showDropdown: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
@@ -3466,15 +3463,14 @@ declare const _default: import("vue").DefineComponent<{
3466
3463
  readonly validator: ((val: unknown) => boolean) | undefined;
3467
3464
  __epPropKey: true;
3468
3465
  };
3469
- readonly trigger: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], readonly ["click"] | readonly ["hover"] | readonly ["contextmenu"] | readonly ["click", "hover"] | readonly ["click", "contextmenu"] | readonly ["hover", "contextmenu"] | readonly ["click", "hover", "contextmenu"], unknown, () => string[], boolean>;
3466
+ readonly trigger: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => string[], boolean>;
3470
3467
  }>> & {
3471
3468
  onEdit?: ((v: Event, data: any) => any) | undefined;
3472
3469
  onDelete?: ((v: Event, data: any) => any) | undefined;
3473
- onOnClickMoreButton?: ((v: Event, data: any) => any) | undefined;
3474
3470
  onOnDropdownOpenChange?: ((open: boolean) => any) | undefined;
3475
3471
  }, {
3476
3472
  readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
3477
- readonly trigger: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], readonly ["click"] | readonly ["hover"] | readonly ["contextmenu"] | readonly ["click", "hover"] | readonly ["click", "contextmenu"] | readonly ["hover", "contextmenu"] | readonly ["click", "hover", "contextmenu"], unknown>;
3473
+ readonly trigger: string[];
3478
3474
  readonly showDropdown: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
3479
3475
  readonly showIconLimit: number;
3480
3476
  }, {}>;
@@ -1,7 +1,12 @@
1
1
  import Select from './src/select.vue';
2
2
  import SelectOption from './src/select-option.vue';
3
3
  import SelectOptGroup from './src/select-opt-group.vue';
4
- export declare const LlSelect: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{}, {
4
+ export declare const LlSelect: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
5
+ allowClear: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
6
+ }, {
7
+ props: import("@vue/shared").LooseRequired<{
8
+ readonly allowClear: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
9
+ } & {}>;
5
10
  bem: {
6
11
  b: (blockSuffix?: string) => string;
7
12
  e: (element?: string) => string;
@@ -794,7 +799,11 @@ export declare const LlSelect: import("ll-plus/es/utils").SFCWithInstall<import(
794
799
  readonly OptGroup: import("ant-design-vue/es/vc-select/OptGroup").OptionGroupFC;
795
800
  readonly SECRET_COMBOBOX_MODE_DO_NOT_USE: "SECRET_COMBOBOX_MODE_DO_NOT_USE";
796
801
  };
797
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>>;
802
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
803
+ allowClear: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
804
+ }>>, {
805
+ allowClear: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
806
+ }, {}>>;
798
807
  export declare const LlSelectOption: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
799
808
  class: StringConstructor;
800
809
  disabled: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, boolean, boolean>;
@@ -3,6 +3,9 @@ import type { SelectProps as AntSelectProps } from 'ant-design-vue';
3
3
  import type Select from './select.vue';
4
4
  import type SelectOption from './select-option.vue';
5
5
  import type SelectOptGroup from './select-opt-group.vue';
6
+ export declare const selectProps: {
7
+ allowClear: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
8
+ };
6
9
  export declare const selectOptionProps: {
7
10
  class: StringConstructor;
8
11
  disabled: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, boolean, boolean>;
@@ -1,4 +1,9 @@
1
- declare const _default: import("vue").DefineComponent<{}, {
1
+ declare const _default: import("vue").DefineComponent<{
2
+ allowClear: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
3
+ }, {
4
+ props: import("@vue/shared").LooseRequired<{
5
+ readonly allowClear: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
6
+ } & {}>;
2
7
  bem: {
3
8
  b: (blockSuffix?: string) => string;
4
9
  e: (element?: string) => string;
@@ -791,5 +796,9 @@ declare const _default: import("vue").DefineComponent<{}, {
791
796
  readonly OptGroup: import("ant-design-vue/es/vc-select/OptGroup").OptionGroupFC;
792
797
  readonly SECRET_COMBOBOX_MODE_DO_NOT_USE: "SECRET_COMBOBOX_MODE_DO_NOT_USE";
793
798
  };
794
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
799
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
800
+ allowClear: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
801
+ }>>, {
802
+ allowClear: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
803
+ }, {}>;
795
804
  export default _default;
package/es/index.mjs CHANGED
@@ -88,7 +88,7 @@ export { LlRadio, LlRadioButton, LlRadioGroup } from './packages/components/radi
88
88
  export { FALLBACK_IMAGE, defaultEditorConfig, defaultToolbarConfig, richTextEditorEmits, richTextEditorProps } from './packages/components/rich-text-editor/src/rich-text-editor.mjs';
89
89
  export { LlRichTextEditor } from './packages/components/rich-text-editor/index.mjs';
90
90
  export { LlSegmented } from './packages/components/segmented/index.mjs';
91
- export { selectOptGroupProps, selectOptionProps } from './packages/components/select/src/select.mjs';
91
+ export { selectOptGroupProps, selectOptionProps, selectProps } from './packages/components/select/src/select.mjs';
92
92
  export { LlSelect, LlSelectOptGroup, LlSelectOption } from './packages/components/select/index.mjs';
93
93
  export { LEFT_SELECT_MIN_WIDTH, selectGroupData, selectGroupEmits, selectGroupFormType, selectGroupProps } from './packages/components/select-group/src/select-group.mjs';
94
94
  export { LlSelectGroup } from './packages/components/select-group/index.mjs';
@@ -37,6 +37,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
37
37
  disabled: unref(disabled),
38
38
  options: unref(methods),
39
39
  style: { "width": "150px" },
40
+ "allow-clear": false,
40
41
  onChange: handleChange
41
42
  }, null, 8, ["value", "disabled", "options"]),
42
43
  createVNode(_component_ll_input, {
@@ -1 +1 @@
1
- {"version":3,"file":"api-url.vue2.mjs","sources":["../../../../../../../packages/components/api-component/src/components/api-url.vue"],"sourcesContent":["<template>\n <a-input-group compact>\n <ll-select\n v-model:value=\"innerValue.method\"\n :disabled=\"disabled\"\n :options=\"methods\"\n style=\"width: 150px\"\n @change=\"handleChange\"\n />\n <ll-input\n v-model:value=\"innerValue.url\"\n :disabled=\"disabled\"\n style=\"width: 50%\"\n placeholder=\"请输入地址(去除前置URL)\"\n @input=\"handleChange\"\n />\n </a-input-group>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, inject, watch } from 'vue'\nimport { methods, apiUrlProps, apiUrlEmits, type HttpModel } from '../config'\n\nconst props = defineProps(apiUrlProps)\nconst emits = defineEmits(apiUrlEmits)\n\nconst disabled = inject('disabled')\n\nconst innerValue = ref<HttpModel>(props.value)\n\nconst handleChange = () => {\n emits('change', innerValue.value)\n emits('update:value', innerValue.value)\n}\n\nwatch(\n () => props.value,\n val => {\n innerValue.value = val\n },\n {\n deep: true\n }\n)\n</script>\n\n<style scoped></style>\n"],"names":[],"mappings":";;;;;;;;;;AAuBA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAM,MAAA,QAAA,GAAW,OAAO,UAAU,CAAA,CAAA;AAElC,IAAM,MAAA,UAAA,GAAa,GAAe,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAE7C,IAAA,MAAM,eAAe,MAAM;AACzB,MAAM,KAAA,CAAA,QAAA,EAAU,WAAW,KAAK,CAAA,CAAA;AAChC,MAAM,KAAA,CAAA,cAAA,EAAgB,WAAW,KAAK,CAAA,CAAA;AAAA,KACxC,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAO,GAAA,KAAA;AACL,QAAA,UAAA,CAAW,KAAQ,GAAA,GAAA,CAAA;AAAA,OACrB;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"api-url.vue2.mjs","sources":["../../../../../../../packages/components/api-component/src/components/api-url.vue"],"sourcesContent":["<template>\n <a-input-group compact>\n <ll-select\n v-model:value=\"innerValue.method\"\n :disabled=\"disabled\"\n :options=\"methods\"\n style=\"width: 150px\"\n :allow-clear=\"false\"\n @change=\"handleChange\"\n />\n <ll-input\n v-model:value=\"innerValue.url\"\n :disabled=\"disabled\"\n style=\"width: 50%\"\n placeholder=\"请输入地址(去除前置URL)\"\n @input=\"handleChange\"\n />\n </a-input-group>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, inject, watch } from 'vue'\nimport { methods, apiUrlProps, apiUrlEmits, type HttpModel } from '../config'\n\nconst props = defineProps(apiUrlProps)\nconst emits = defineEmits(apiUrlEmits)\n\nconst disabled = inject('disabled')\n\nconst innerValue = ref<HttpModel>(props.value)\n\nconst handleChange = () => {\n emits('change', innerValue.value)\n emits('update:value', innerValue.value)\n}\n\nwatch(\n () => props.value,\n val => {\n innerValue.value = val\n },\n {\n deep: true\n }\n)\n</script>\n\n<style scoped></style>\n"],"names":[],"mappings":";;;;;;;;;;AAwBA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAM,MAAA,QAAA,GAAW,OAAO,UAAU,CAAA,CAAA;AAElC,IAAM,MAAA,UAAA,GAAa,GAAe,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAE7C,IAAA,MAAM,eAAe,MAAM;AACzB,MAAM,KAAA,CAAA,QAAA,EAAU,WAAW,KAAK,CAAA,CAAA;AAChC,MAAM,KAAA,CAAA,cAAA,EAAgB,WAAW,KAAK,CAAA,CAAA;AAAA,KACxC,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAO,GAAA,KAAA;AACL,QAAA,UAAA,CAAW,KAAQ,GAAA,GAAA,CAAA;AAAA,OACrB;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -67,7 +67,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
67
67
  });
68
68
  return (_ctx, _cache) => {
69
69
  const _component_ll_icon = resolveComponent("ll-icon");
70
- const _component_a_input = resolveComponent("a-input");
70
+ const _component_ll_input = resolveComponent("ll-input");
71
71
  const _component_a_form_item = resolveComponent("a-form-item");
72
72
  const _component_a_button = resolveComponent("a-button");
73
73
  const _component_a_space = resolveComponent("a-space");
@@ -99,11 +99,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
99
99
  [
100
100
  createVNode(_component_a_form_item, { name: "h" }, {
101
101
  default: withCtx(() => [
102
- createVNode(_component_a_input, {
102
+ createVNode(_component_ll_input, {
103
103
  value: searchIconValue.value,
104
104
  "onUpdate:value": _cache[0] || (_cache[0] = ($event) => searchIconValue.value = $event),
105
105
  class: normalizeClass(unref(bem).e("input")),
106
- "allow-clear": "",
107
106
  placeholder: "\u641C\u7D22..."
108
107
  }, {
109
108
  prefix: withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"modal.vue2.mjs","sources":["../../../../../../../packages/components/icon-picker/src/components/modal.vue"],"sourcesContent":["<template>\n <ll-new-modal\n :open=\"visible\"\n :title=\"'图标选择'\"\n :class=\"`icon-picker-modal-wrapper ${bem.b()}`\"\n width=\"766px\"\n :keyboard=\"false\"\n :mask-closable=\"false\"\n :is-show-footer-shadow=\"isShowContentBottomBox\"\n footer-shadow-placement=\"outer\"\n @ok=\"handleOk\"\n @cancel=\"handleCancel\"\n >\n <div :class=\"bem.e('modal-content')\">\n <div :class=\"bem.e('input-container')\">\n <a-form-item name=\"h\">\n <a-input\n v-model:value=\"searchIconValue\"\n :class=\"bem.e('input')\"\n allow-clear\n placeholder=\"搜索...\"\n >\n <template #prefix>\n <ll-icon icon-name=\"icon-search\" />\n </template>\n </a-input>\n </a-form-item>\n </div>\n <div ref=\"scrollRef\" :class=\"bem.e('list')\">\n <a-space :size=\"[16, 16]\" wrap :class=\"bem.e('space')\">\n <a-button\n v-for=\"item in iconList\"\n :key=\"item.icon_id\"\n type=\"default\"\n :class=\"[\n bem.e('button'),\n selectIcon === item.font_class ? bem.is('active') : ''\n ]\"\n @click=\"handleSelectIcon(item)\"\n >\n <template #icon>\n <ll-icon\n :icon-name=\"'icon-' + item.font_class\"\n style=\"font-size: 28px\"\n />\n </template>\n </a-button>\n </a-space>\n </div>\n </div>\n </ll-new-modal>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, ref, watch, watchEffect } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\nimport { iconPickerModalProps, iconPickerModalEmits } from '../config'\n\nimport type { IconPickerItem } from '../config'\nimport { useScroll } from '@ll-plus/hooks'\n\ndefineOptions({\n name: 'LlIconPickerModal'\n})\n\nconst props = defineProps(iconPickerModalProps)\nconst emits = defineEmits(iconPickerModalEmits)\n\nconst { scrollPosition, isHasScrollBar, scrollRef } = useScroll()\n\nconst searchIconValue = ref('')\nconst selectIcon = ref('')\nconst iconList = ref<IconPickerItem[]>([])\nconst bem = createNamespace('icon-picker-modal')\n\n// 是否显示内容区域底部的阴影div\nconst isShowContentBottomBox = computed(() => {\n return isHasScrollBar.value && scrollPosition.value !== 'bottom'\n})\n\nconst handleOk = () => {\n emits('changeIconValue', selectIcon.value)\n emits('update:visible')\n}\nconst handleCancel = () => emits('update:visible')\nconst handleSelectIcon = (icon: IconPickerItem) =>\n (selectIcon.value = icon?.font_class as string)\n\nwatch(\n () => props.visible,\n newVisible => {\n // 清空查询值\n if (newVisible) searchIconValue.value = ''\n\n if (newVisible && props.value) selectIcon.value = props.value\n },\n {\n immediate: true\n }\n)\nwatch(\n () => props.data,\n newData => {\n iconList.value = [...newData]\n },\n {\n immediate: true\n }\n)\nwatch(searchIconValue, () => {\n iconList.value = props.data.filter(\n ele => ~ele.font_class!.indexOf(searchIconValue.value)\n )\n})\n\n// 滚动条回到顶部\nwatchEffect(() => {\n if (props.visible) {\n // 头部有步骤条回到顶部\n if (isHasScrollBar && scrollRef.value && !scrollRef.value.scrollTop) {\n scrollRef.value.scrollTop = 0\n scrollPosition.value = 'top'\n }\n }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAiEA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAA,MAAM,EAAE,cAAA,EAAgB,cAAgB,EAAA,SAAA,KAAc,SAAU,EAAA,CAAA;AAEhE,IAAM,MAAA,eAAA,GAAkB,IAAI,EAAE,CAAA,CAAA;AAC9B,IAAM,MAAA,UAAA,GAAa,IAAI,EAAE,CAAA,CAAA;AACzB,IAAM,MAAA,QAAA,GAAW,GAAsB,CAAA,EAAE,CAAA,CAAA;AACzC,IAAM,MAAA,GAAA,GAAM,gBAAgB,mBAAmB,CAAA,CAAA;AAG/C,IAAM,MAAA,sBAAA,GAAyB,SAAS,MAAM;AAC5C,MAAO,OAAA,cAAA,CAAe,KAAS,IAAA,cAAA,CAAe,KAAU,KAAA,QAAA,CAAA;AAAA,KACzD,CAAA,CAAA;AAED,IAAA,MAAM,WAAW,MAAM;AACrB,MAAM,KAAA,CAAA,iBAAA,EAAmB,WAAW,KAAK,CAAA,CAAA;AACzC,MAAA,KAAA,CAAM,gBAAgB,CAAA,CAAA;AAAA,KACxB,CAAA;AACA,IAAM,MAAA,YAAA,GAAe,MAAM,KAAA,CAAM,gBAAgB,CAAA,CAAA;AACjD,IAAA,MAAM,gBAAmB,GAAA,CAAC,IACvB,KAAA,UAAA,CAAW,QAAQ,IAAM,EAAA,UAAA,CAAA;AAE5B,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,OAAA;AAAA,MACZ,CAAc,UAAA,KAAA;AAEZ,QAAI,IAAA,UAAA;AAAY,UAAA,eAAA,CAAgB,KAAQ,GAAA,EAAA,CAAA;AAExC,QAAA,IAAI,cAAc,KAAM,CAAA,KAAA;AAAO,UAAA,UAAA,CAAW,QAAQ,KAAM,CAAA,KAAA,CAAA;AAAA,OAC1D;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AACA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,CAAW,OAAA,KAAA;AACT,QAAS,QAAA,CAAA,KAAA,GAAQ,CAAC,GAAG,OAAO,CAAA,CAAA;AAAA,OAC9B;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AACA,IAAA,KAAA,CAAM,iBAAiB,MAAM;AAC3B,MAAS,QAAA,CAAA,KAAA,GAAQ,MAAM,IAAK,CAAA,MAAA;AAAA,QAC1B,SAAO,CAAC,GAAA,CAAI,UAAY,CAAA,OAAA,CAAQ,gBAAgB,KAAK,CAAA;AAAA,OACvD,CAAA;AAAA,KACD,CAAA,CAAA;AAGD,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,IAAI,MAAM,OAAS,EAAA;AAEjB,QAAA,IAAI,kBAAkB,SAAU,CAAA,KAAA,IAAS,CAAC,SAAA,CAAU,MAAM,SAAW,EAAA;AACnE,UAAA,SAAA,CAAU,MAAM,SAAY,GAAA,CAAA,CAAA;AAC5B,UAAA,cAAA,CAAe,KAAQ,GAAA,KAAA,CAAA;AAAA,SACzB;AAAA,OACF;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"modal.vue2.mjs","sources":["../../../../../../../packages/components/icon-picker/src/components/modal.vue"],"sourcesContent":["<template>\n <ll-new-modal\n :open=\"visible\"\n :title=\"'图标选择'\"\n :class=\"`icon-picker-modal-wrapper ${bem.b()}`\"\n width=\"766px\"\n :keyboard=\"false\"\n :mask-closable=\"false\"\n :is-show-footer-shadow=\"isShowContentBottomBox\"\n footer-shadow-placement=\"outer\"\n @ok=\"handleOk\"\n @cancel=\"handleCancel\"\n >\n <div :class=\"bem.e('modal-content')\">\n <div :class=\"bem.e('input-container')\">\n <a-form-item name=\"h\">\n <ll-input\n v-model:value=\"searchIconValue\"\n :class=\"bem.e('input')\"\n placeholder=\"搜索...\"\n >\n <template #prefix>\n <ll-icon icon-name=\"icon-search\" />\n </template>\n </ll-input>\n </a-form-item>\n </div>\n <div ref=\"scrollRef\" :class=\"bem.e('list')\">\n <a-space :size=\"[16, 16]\" wrap :class=\"bem.e('space')\">\n <a-button\n v-for=\"item in iconList\"\n :key=\"item.icon_id\"\n type=\"default\"\n :class=\"[\n bem.e('button'),\n selectIcon === item.font_class ? bem.is('active') : ''\n ]\"\n @click=\"handleSelectIcon(item)\"\n >\n <template #icon>\n <ll-icon\n :icon-name=\"'icon-' + item.font_class\"\n style=\"font-size: 28px\"\n />\n </template>\n </a-button>\n </a-space>\n </div>\n </div>\n </ll-new-modal>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, ref, watch, watchEffect } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\nimport { iconPickerModalProps, iconPickerModalEmits } from '../config'\n\nimport type { IconPickerItem } from '../config'\nimport { useScroll } from '@ll-plus/hooks'\n\ndefineOptions({\n name: 'LlIconPickerModal'\n})\n\nconst props = defineProps(iconPickerModalProps)\nconst emits = defineEmits(iconPickerModalEmits)\n\nconst { scrollPosition, isHasScrollBar, scrollRef } = useScroll()\n\nconst searchIconValue = ref('')\nconst selectIcon = ref('')\nconst iconList = ref<IconPickerItem[]>([])\nconst bem = createNamespace('icon-picker-modal')\n\n// 是否显示内容区域底部的阴影div\nconst isShowContentBottomBox = computed(() => {\n return isHasScrollBar.value && scrollPosition.value !== 'bottom'\n})\n\nconst handleOk = () => {\n emits('changeIconValue', selectIcon.value)\n emits('update:visible')\n}\nconst handleCancel = () => emits('update:visible')\nconst handleSelectIcon = (icon: IconPickerItem) =>\n (selectIcon.value = icon?.font_class as string)\n\nwatch(\n () => props.visible,\n newVisible => {\n // 清空查询值\n if (newVisible) searchIconValue.value = ''\n\n if (newVisible && props.value) selectIcon.value = props.value\n },\n {\n immediate: true\n }\n)\nwatch(\n () => props.data,\n newData => {\n iconList.value = [...newData]\n },\n {\n immediate: true\n }\n)\nwatch(searchIconValue, () => {\n iconList.value = props.data.filter(\n ele => ~ele.font_class!.indexOf(searchIconValue.value)\n )\n})\n\n// 滚动条回到顶部\nwatchEffect(() => {\n if (props.visible) {\n // 头部有步骤条回到顶部\n if (isHasScrollBar && scrollRef.value && !scrollRef.value.scrollTop) {\n scrollRef.value.scrollTop = 0\n scrollPosition.value = 'top'\n }\n }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAgEA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAA,MAAM,EAAE,cAAA,EAAgB,cAAgB,EAAA,SAAA,KAAc,SAAU,EAAA,CAAA;AAEhE,IAAM,MAAA,eAAA,GAAkB,IAAI,EAAE,CAAA,CAAA;AAC9B,IAAM,MAAA,UAAA,GAAa,IAAI,EAAE,CAAA,CAAA;AACzB,IAAM,MAAA,QAAA,GAAW,GAAsB,CAAA,EAAE,CAAA,CAAA;AACzC,IAAM,MAAA,GAAA,GAAM,gBAAgB,mBAAmB,CAAA,CAAA;AAG/C,IAAM,MAAA,sBAAA,GAAyB,SAAS,MAAM;AAC5C,MAAO,OAAA,cAAA,CAAe,KAAS,IAAA,cAAA,CAAe,KAAU,KAAA,QAAA,CAAA;AAAA,KACzD,CAAA,CAAA;AAED,IAAA,MAAM,WAAW,MAAM;AACrB,MAAM,KAAA,CAAA,iBAAA,EAAmB,WAAW,KAAK,CAAA,CAAA;AACzC,MAAA,KAAA,CAAM,gBAAgB,CAAA,CAAA;AAAA,KACxB,CAAA;AACA,IAAM,MAAA,YAAA,GAAe,MAAM,KAAA,CAAM,gBAAgB,CAAA,CAAA;AACjD,IAAA,MAAM,gBAAmB,GAAA,CAAC,IACvB,KAAA,UAAA,CAAW,QAAQ,IAAM,EAAA,UAAA,CAAA;AAE5B,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,OAAA;AAAA,MACZ,CAAc,UAAA,KAAA;AAEZ,QAAI,IAAA,UAAA;AAAY,UAAA,eAAA,CAAgB,KAAQ,GAAA,EAAA,CAAA;AAExC,QAAA,IAAI,cAAc,KAAM,CAAA,KAAA;AAAO,UAAA,UAAA,CAAW,QAAQ,KAAM,CAAA,KAAA,CAAA;AAAA,OAC1D;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AACA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,CAAW,OAAA,KAAA;AACT,QAAS,QAAA,CAAA,KAAA,GAAQ,CAAC,GAAG,OAAO,CAAA,CAAA;AAAA,OAC9B;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AACA,IAAA,KAAA,CAAM,iBAAiB,MAAM;AAC3B,MAAS,QAAA,CAAA,KAAA,GAAQ,MAAM,IAAK,CAAA,MAAA;AAAA,QAC1B,SAAO,CAAC,GAAA,CAAI,UAAY,CAAA,OAAA,CAAQ,gBAAgB,KAAK,CAAA;AAAA,OACvD,CAAA;AAAA,KACD,CAAA,CAAA;AAGD,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,IAAI,MAAM,OAAS,EAAA;AAEjB,QAAA,IAAI,kBAAkB,SAAU,CAAA,KAAA,IAAS,CAAC,SAAA,CAAU,MAAM,SAAW,EAAA;AACnE,UAAA,SAAA,CAAU,MAAM,SAAY,GAAA,CAAA,CAAA;AAC5B,UAAA,cAAA,CAAe,KAAQ,GAAA,KAAA,CAAA;AAAA,SACzB;AAAA,OACF;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -102,7 +102,7 @@ export { numberRangeEmits, numberRangeProps } from './number-range/src/number-ra
102
102
  export { operateIconEmits, operateIconProps } from './operate-icon/src/operate-icon.mjs';
103
103
  export { OperateTreeEmits, operateTreeEmits, operateTreeProps } from './operate-tree/src/operate-tree.mjs';
104
104
  export { FALLBACK_IMAGE, defaultEditorConfig, defaultToolbarConfig, richTextEditorEmits, richTextEditorProps } from './rich-text-editor/src/rich-text-editor.mjs';
105
- export { selectOptGroupProps, selectOptionProps } from './select/src/select.mjs';
105
+ export { selectOptGroupProps, selectOptionProps, selectProps } from './select/src/select.mjs';
106
106
  export { LEFT_SELECT_MIN_WIDTH, selectGroupData, selectGroupEmits, selectGroupFormType, selectGroupProps } from './select-group/src/select-group.mjs';
107
107
  export { ImenuSwitchType, menuSwitchRadioList, tableHeaderSearchEmits, tableHeaderSearchProps } from './table/src/config/header-search.mjs';
108
108
  export { mainTableEmits, mainTableProps, tableContentType } from './table/src/config/main-table.mjs';
@@ -4,15 +4,6 @@ import { buildProps, definePropType } from '../../../utils/props/runtime.mjs';
4
4
  import { iconTypes } from '../../icon-base/src/icon-base.mjs';
5
5
 
6
6
  "use strict";
7
- const trigger = [
8
- ["click"],
9
- ["hover"],
10
- ["contextmenu"],
11
- ["click", "hover"],
12
- ["click", "contextmenu"],
13
- ["hover", "contextmenu"],
14
- ["click", "hover", "contextmenu"]
15
- ];
16
7
  const operateIconProps = buildProps({
17
8
  /**
18
9
  * @description 是否显示dropdown
@@ -59,7 +50,6 @@ const operateIconProps = buildProps({
59
50
  */
60
51
  trigger: {
61
52
  type: definePropType(Object),
62
- values: trigger,
63
53
  default: () => ["click"]
64
54
  }
65
55
  });
@@ -68,8 +58,6 @@ const operateIconEmits = {
68
58
  // 点击编辑
69
59
  delete: (v, data) => v || data,
70
60
  // 点击删除
71
- onClickMoreButton: (v, data) => v || data,
72
- // 点击更新按钮
73
61
  onDropdownOpenChange: (open) => open || true
74
62
  // 下拉菜单的open
75
63
  };
@@ -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 { 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\nconst trigger = [\n ['click'],\n ['hover'],\n ['contextmenu'],\n ['click', 'hover'],\n ['click', 'contextmenu'],\n ['hover', 'contextmenu'],\n ['click', 'hover', 'contextmenu']\n] as const\n\nexport const operateIconProps = buildProps({\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 /**\n * @description 触发下拉的行为\n */\n trigger: {\n type: definePropType<string[]>(Object),\n values: trigger,\n default: () => ['click']\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 onClickMoreButton: (v: Event, data: any) => v || data, // 点击更新按钮\n onDropdownOpenChange: (open: boolean) => open || true // 下拉菜单的open\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":";;;;;;AAQA,MAAM,OAAU,GAAA;AAAA,EACd,CAAC,OAAO,CAAA;AAAA,EACR,CAAC,OAAO,CAAA;AAAA,EACR,CAAC,aAAa,CAAA;AAAA,EACd,CAAC,SAAS,OAAO,CAAA;AAAA,EACjB,CAAC,SAAS,aAAa,CAAA;AAAA,EACvB,CAAC,SAAS,aAAa,CAAA;AAAA,EACvB,CAAC,OAAS,EAAA,OAAA,EAAS,aAAa,CAAA;AAClC,CAAA,CAAA;AAEO,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,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;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAAyB,MAAM,CAAA;AAAA,IACrC,MAAQ,EAAA,OAAA;AAAA,IACR,OAAA,EAAS,MAAM,CAAC,OAAO,CAAA;AAAA,GACzB;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,iBAAmB,EAAA,CAAC,CAAU,EAAA,IAAA,KAAc,CAAK,IAAA,IAAA;AAAA;AAAA,EACjD,oBAAA,EAAsB,CAAC,IAAA,KAAkB,IAAQ,IAAA,IAAA;AAAA;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 { 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 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 /**\n * @description 触发下拉的行为\n */\n trigger: {\n type: definePropType<string[]>(Object),\n default: () => ['click']\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 onDropdownOpenChange: (open: boolean) => open || true // 下拉菜单的open\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,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;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAAyB,MAAM,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,CAAC,OAAO,CAAA;AAAA,GACzB;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,oBAAA,EAAsB,CAAC,IAAA,KAAkB,IAAQ,IAAA,IAAA;AAAA;AACnD;;;;"}
@@ -51,8 +51,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
51
51
  const isHasDropdown = props.showDropdown && modalIconList.value.length;
52
52
  return `${bem.b()} ${isHasDropdown ? bem.m("has-dropdown") : ""}`;
53
53
  });
54
- console.log(props.trigger, "trigger");
55
- const handleClickMoreButton = (e, data) => emits("onClickMoreButton", e, data);
56
54
  const marginButtonClass = (index, length) => {
57
55
  return index < length ? "margin-tooltip" : "";
58
56
  };
@@ -117,7 +115,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
117
115
  onOpenChange: handleDropdownOpenChange
118
116
  }, {
119
117
  overlay: withCtx(() => [
120
- createVNode(_component_a_menu, null, {
118
+ createVNode(_component_a_menu, { onClick: handleDropdownParentClick }, {
121
119
  default: withCtx(() => [
122
120
  renderSlot(_ctx.$slots, "default", {}, () => [
123
121
  (openBlock(true), createElementBlock(
@@ -131,8 +129,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
131
129
  (Object.keys(item).includes("isShow") ? item.isShow : true) ? (openBlock(), createBlock(
132
130
  _component_a_menu_item,
133
131
  {
134
- key: item.iconName,
135
- onClick: handleDropdownParentClick
132
+ key: item.iconName
136
133
  },
137
134
  {
138
135
  default: withCtx(() => [
@@ -171,9 +168,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
171
168
  "icon-type": showIconList.value[0].iconType,
172
169
  data: _ctx.data,
173
170
  "icon-name": "icon-more",
174
- class: normalizeClass(unref(bem).e("icon-more")),
175
- "on-click": (e) => handleClickMoreButton(e, _ctx.data)
176
- }, null, 8, ["is-show-container", "icon-type", "data", "class", "on-click"])
171
+ class: normalizeClass(unref(bem).e("icon-more"))
172
+ }, null, 8, ["is-show-container", "icon-type", "data", "class"])
177
173
  ],
178
174
  2
179
175
  /* 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 <!-- 下拉提示的icon -->\n <a-dropdown\n v-if=\"showDropdown && modalIconList.length\"\n :overlay-class-name=\"bem.e('dropdown')\"\n :open=\"dropdownOpen\"\n :trigger=\"trigger\"\n @open-change=\"handleDropdownOpenChange\"\n >\n <!-- @mouseenter=\"handleIconMouseenter\" -->\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 :on-click=\"e => handleClickMoreButton(e, data)\"\n />\n </div>\n <template #overlay>\n <a-menu>\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 @click=\"handleDropdownParentClick\"\n >\n <ll-icon-base v-bind=\"item\" :data=\"data\" />\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 { 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})\nconsole.log(props.trigger, 'trigger')\n// 4.methods\n// 点击更多按钮\nconst handleClickMoreButton = (e: Event, data: any) =>\n emits('onClickMoreButton', e, data)\nconst marginButtonClass = (index, length) => {\n return index < length ? 'margin-tooltip' : ''\n}\nconst handheOpenChange = (open: boolean) => emits('onDropdownOpenChange', open)\n// 下拉菜单open\nconst handleDropdownOpenChange = (open: boolean) => {\n // if (!open) {\n // dropdownOpen.value = false\n // }\n dropdownOpen.value = open\n handheOpenChange(open)\n}\nconst handleDropdownParentClick = () => {\n dropdownOpen.value = false\n handheOpenChange(false)\n}\n// icon鼠标悬浮\n// const handleIconMouseenter = () => {\n// dropdownOpen.value = true\n// handheOpenChange(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.filter(Boolean) : 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 :is-show=\"Object.keys(item).includes('isShow') ? item.isShow : true\"\n :tooltip-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 :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 v-bind=\"item\" :data=\"data\" />\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 { 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// 4.methods\n// 点击更多按钮\nconst marginButtonClass = (index, length) => {\n return index < length ? 'margin-tooltip' : ''\n}\nconst handheOpenChange = (open: boolean) => emits('onDropdownOpenChange', open)\n// 下拉菜单open\nconst handleDropdownOpenChange = (open: boolean) => {\n dropdownOpen.value = open\n handheOpenChange(open)\n}\nconst handleDropdownParentClick = () => {\n dropdownOpen.value = false\n handheOpenChange(false)\n}\n\n// 5.watch\nwatch(\n () => [props.list, props.showDropdown],\n (data: any) => {\n const [newList, showDropdown] = data\n const list = newList ? newList.filter(Boolean) : 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":";;;;;;;;;;;;;;;;AA4DA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAGd,IAAM,MAAA,YAAA,GAAe,GAAqB,CAAA,EAAE,CAAA,CAAA;AAC5C,IAAM,MAAA,aAAA,GAAgB,GAAqB,CAAA,EAAE,CAAA,CAAA;AAC7C,IAAM,MAAA,YAAA,GAAe,IAAI,KAAK,CAAA,CAAA;AAC9B,IAAA,MAAM,cAAc,GAAI,CAAA;AAAA;AAAA,MAEtB;AAAA,QACE,QAAU,EAAA,QAAA,CAAS,MAAM,KAAA,CAAM,YAAY,SAAS,CAAA;AAAA;AAAA,QACpD,eAAiB,EAAA,KAAA;AAAA;AAAA,QACjB,QAAU,EAAA,WAAA;AAAA,QACV,YAAc,EAAA,cAAA;AAAA,QACd,UAAU,KAAM,CAAA,QAAA;AAAA,QAChB,OAAA,EAAS,CAAC,CAAA,EAAU,IAAc,KAAA;AAChC,UAAM,KAAA,CAAA,MAAA,EAAQ,GAAG,IAAI,CAAA,CAAA;AAAA,SACvB;AAAA,OACF;AAAA,MACA;AAAA,QACE,QAAU,EAAA,QAAA,CAAS,MAAM,KAAA,CAAM,YAAY,SAAS,CAAA;AAAA;AAAA,QACpD,eAAiB,EAAA,KAAA;AAAA;AAAA,QACjB,QAAU,EAAA,aAAA;AAAA,QACV,YAAc,EAAA,cAAA;AAAA,QACd,UAAU,KAAM,CAAA,QAAA;AAAA,QAChB,OAAA,EAAS,CAAC,CAAA,EAAU,IAAc,KAAA;AAChC,UAAM,KAAA,CAAA,QAAA,EAAU,GAAG,IAAI,CAAA,CAAA;AAAA,SACzB;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AACD,IAAM,MAAA,GAAA,GAAM,gBAAgB,cAAc,CAAA,CAAA;AAC1C,IAAM,MAAA,gBAAA,GAAmB,SAAS,MAAM;AACtC,MAAA,MAAM,aAAgB,GAAA,KAAA,CAAM,YAAgB,IAAA,aAAA,CAAc,KAAM,CAAA,MAAA,CAAA;AAChE,MAAO,OAAA,CAAA,EAAG,GAAI,CAAA,CAAA,EAAG,CAAA,CAAA,EAAI,gBAAgB,GAAI,CAAA,CAAA,CAAE,cAAc,CAAA,GAAI,EAAE,CAAA,CAAA,CAAA;AAAA,KAChE,CAAA,CAAA;AAGD,IAAM,MAAA,iBAAA,GAAoB,CAAC,KAAA,EAAO,MAAW,KAAA;AAC3C,MAAO,OAAA,KAAA,GAAQ,SAAS,gBAAmB,GAAA,EAAA,CAAA;AAAA,KAC7C,CAAA;AACA,IAAA,MAAM,gBAAmB,GAAA,CAAC,IAAkB,KAAA,KAAA,CAAM,wBAAwB,IAAI,CAAA,CAAA;AAE9E,IAAM,MAAA,wBAAA,GAA2B,CAAC,IAAkB,KAAA;AAClD,MAAA,YAAA,CAAa,KAAQ,GAAA,IAAA,CAAA;AACrB,MAAA,gBAAA,CAAiB,IAAI,CAAA,CAAA;AAAA,KACvB,CAAA;AACA,IAAA,MAAM,4BAA4B,MAAM;AACtC,MAAA,YAAA,CAAa,KAAQ,GAAA,KAAA,CAAA;AACrB,MAAA,gBAAA,CAAiB,KAAK,CAAA,CAAA;AAAA,KACxB,CAAA;AAGA,IAAA,KAAA;AAAA,MACE,MAAM,CAAC,KAAM,CAAA,IAAA,EAAM,MAAM,YAAY,CAAA;AAAA,MACrC,CAAC,IAAc,KAAA;AACb,QAAM,MAAA,CAAC,OAAS,EAAA,YAAY,CAAI,GAAA,IAAA,CAAA;AAChC,QAAA,MAAM,OAAO,OAAU,GAAA,OAAA,CAAQ,MAAO,CAAA,OAAO,IAAI,WAAY,CAAA,KAAA,CAAA;AAC7D,QAAA,MAAM,SAAS,IAAK,CAAA,MAAA,CAAA;AACpB,QAAI,IAAA,MAAA,IAAU,KAAM,CAAA,aAAA,IAAiB,YAAc,EAAA;AACjD,UAAA,YAAA,CAAa,QAAQ,IAAK,CAAA,KAAA;AAAA,YACxB,CAAA;AAAA,YACA,MAAM,aAAgB,GAAA,CAAA;AAAA,WACxB,CAAA;AAEA,UAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CACnB,KAAM,CAAA,KAAA,CAAM,gBAAgB,CAAC,CAAA,CAC7B,GAAI,CAAA,CAAC,UAAe,EAAE,GAAG,IAAM,EAAA,WAAA,EAAa,MAAO,CAAA,CAAA,CAAA;AAAA,SACjD,MAAA;AACL,UAAA,YAAA,CAAa,KAAQ,GAAA,IAAA,CAAA;AAAA,SACvB;AAAA,OACF;AAAA,MACA,EAAE,SAAA,EAAW,IAAM,EAAA,IAAA,EAAM,IAAK,EAAA;AAAA,KAChC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@ import '../../utils/index.mjs';
2
2
  import Select from './src/select.vue.mjs';
3
3
  import SelectOption from './src/select-option.vue.mjs';
4
4
  import SelectOptGroup from './src/select-opt-group.vue.mjs';
5
- export { selectOptGroupProps, selectOptionProps } from './src/select.mjs';
5
+ export { selectOptGroupProps, selectOptionProps, selectProps } from './src/select.mjs';
6
6
  import { withInstall } from '../../utils/with-install.mjs';
7
7
 
8
8
  "use strict";
@@ -2,6 +2,12 @@ import '../../../utils/index.mjs';
2
2
  import { buildProps, definePropType } from '../../../utils/props/runtime.mjs';
3
3
 
4
4
  "use strict";
5
+ const selectProps = buildProps({
6
+ allowClear: {
7
+ type: Boolean,
8
+ default: true
9
+ }
10
+ });
5
11
  const selectOptionProps = buildProps({
6
12
  class: String,
7
13
  disabled: {
@@ -22,5 +28,5 @@ const selectOptGroupProps = buildProps({
22
28
  }
23
29
  });
24
30
 
25
- export { selectOptGroupProps, selectOptionProps };
31
+ export { selectOptGroupProps, selectOptionProps, selectProps };
26
32
  //# sourceMappingURL=select.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nimport type { SelectProps as AntSelectProps } from 'ant-design-vue'\nimport type Select from './select.vue'\nimport type SelectOption from './select-option.vue'\nimport type SelectOptGroup from './select-opt-group.vue'\n\nexport const selectOptionProps = buildProps({\n class: String,\n disabled: {\n type: String,\n default: false\n },\n key: String,\n title: String,\n value: {\n type: definePropType<string | number>([String, Number])\n }\n})\n\nexport const selectOptGroupProps = buildProps({\n key: String,\n label: {\n type: String,\n default: ''\n }\n})\n\n// props\nexport type SelectProps = AntSelectProps\n\nexport type SelctOptionProps = ExtractPropTypes<typeof selectOptionProps>\n\nexport type SelectOptGroupGroupProps = ExtractPropTypes<\n typeof selectOptGroupProps\n>\n\n// instance\nexport type SelectInstance = InstanceType<typeof Select>\n\nexport type SelectOptionInstance = InstanceType<typeof SelectOption>\n\nexport type SelectOptGroupInstance = InstanceType<typeof SelectOptGroup>\n"],"names":[],"mappings":";;;;AASO,MAAM,oBAAoB,UAAW,CAAA;AAAA,EAC1C,KAAO,EAAA,MAAA;AAAA,EACP,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,GAAK,EAAA,MAAA;AAAA,EACL,KAAO,EAAA,MAAA;AAAA,EACP,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,cAAA,CAAgC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,GACxD;AACF,CAAC,EAAA;AAEM,MAAM,sBAAsB,UAAW,CAAA;AAAA,EAC5C,GAAK,EAAA,MAAA;AAAA,EACL,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nimport type { SelectProps as AntSelectProps } from 'ant-design-vue'\nimport type Select from './select.vue'\nimport type SelectOption from './select-option.vue'\nimport type SelectOptGroup from './select-opt-group.vue'\n\nexport const selectProps = buildProps({\n allowClear: {\n type: Boolean,\n default: true\n }\n})\nexport const selectOptionProps = buildProps({\n class: String,\n disabled: {\n type: String,\n default: false\n },\n key: String,\n title: String,\n value: {\n type: definePropType<string | number>([String, Number])\n }\n})\n\nexport const selectOptGroupProps = buildProps({\n key: String,\n label: {\n type: String,\n default: ''\n }\n})\n\n// props\nexport type SelectProps = AntSelectProps\n\nexport type SelctOptionProps = ExtractPropTypes<typeof selectOptionProps>\n\nexport type SelectOptGroupGroupProps = ExtractPropTypes<\n typeof selectOptGroupProps\n>\n\n// instance\nexport type SelectInstance = InstanceType<typeof Select>\n\nexport type SelectOptionInstance = InstanceType<typeof SelectOption>\n\nexport type SelectOptGroupInstance = InstanceType<typeof SelectOptGroup>\n"],"names":[],"mappings":";;;;AASO,MAAM,cAAc,UAAW,CAAA;AAAA,EACpC,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAC,EAAA;AACM,MAAM,oBAAoB,UAAW,CAAA;AAAA,EAC1C,KAAO,EAAA,MAAA;AAAA,EACP,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,GAAK,EAAA,MAAA;AAAA,EACL,KAAO,EAAA,MAAA;AAAA,EACP,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,cAAA,CAAgC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,GACxD;AACF,CAAC,EAAA;AAEM,MAAM,sBAAsB,UAAW,CAAA;AAAA,EAC5C,GAAK,EAAA,MAAA;AAAA,EACL,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAC;;;;"}
@@ -1,19 +1,24 @@
1
1
  import { defineComponent, useAttrs, openBlock, createBlock, unref, mergeProps, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps } from 'vue';
2
2
  import { Select } from 'ant-design-vue';
3
3
  import '../../../utils/index.mjs';
4
+ import { selectProps } from './select.mjs';
4
5
  import { createNamespace } from '../../../utils/create-namespace.mjs';
5
6
 
6
7
  "use strict";
7
8
  var _sfc_main = /* @__PURE__ */ defineComponent({
8
9
  ...{ name: "LlSelect" },
9
10
  __name: "select",
11
+ props: selectProps,
10
12
  setup(__props) {
13
+ const props = __props;
11
14
  const bem = createNamespace("select");
12
15
  const attrs = useAttrs();
13
16
  return (_ctx, _cache) => {
14
17
  return openBlock(), createBlock(unref(Select), mergeProps({
15
18
  class: unref(bem).b()
16
- }, unref(attrs)), createSlots({
19
+ }, unref(attrs), {
20
+ "allow-clear": props.allowClear
21
+ }), createSlots({
17
22
  _: 2
18
23
  /* DYNAMIC */
19
24
  }, [
@@ -25,7 +30,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
25
30
  ])
26
31
  };
27
32
  })
28
- ]), 1040, ["class"]);
33
+ ]), 1040, ["class", "allow-clear"]);
29
34
  };
30
35
  }
31
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"select.vue2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <Select :class=\"bem.b()\" v-bind=\"attrs\">\n <template v-for=\"item in Object.keys($slots)\" :key=\"item\" #[item]=\"data\">\n <slot :name=\"item\" v-bind=\"data || {}\"></slot>\n </template>\n </Select>\n</template>\n\n<script setup lang=\"ts\">\nimport { useAttrs } from 'vue'\nimport { Select } from 'ant-design-vue'\nimport { createNamespace } from '@ll-plus/utils'\n\ndefineOptions({ name: 'LlSelect' })\n\nconst bem = createNamespace('select')\n\nconst attrs = useAttrs()\n</script>\n"],"names":[],"mappings":";;;;;;;;;;AAeA,IAAM,MAAA,GAAA,GAAM,gBAAgB,QAAQ,CAAA,CAAA;AAEpC,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"select.vue2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <Select :class=\"bem.b()\" v-bind=\"attrs\" :allow-clear=\"props.allowClear\">\n <template v-for=\"item in Object.keys($slots)\" :key=\"item\" #[item]=\"data\">\n <slot :name=\"item\" v-bind=\"data || {}\"></slot>\n </template>\n </Select>\n</template>\n\n<script setup lang=\"ts\">\nimport { useAttrs } from 'vue'\nimport { Select } from 'ant-design-vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport { selectProps } from './select'\n\ndefineOptions({ name: 'LlSelect' })\nconst props = defineProps(selectProps)\n\nconst bem = createNamespace('select')\n\nconst attrs = useAttrs()\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,GAAA,GAAM,gBAAgB,QAAQ,CAAA,CAAA;AAEpC,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -235,7 +235,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
235
235
  "onUpdate:value": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event),
236
236
  placeholder: "\u8F93\u5165\u540E\u56DE\u8F66\u65B0\u5EFA",
237
237
  "prefix-icon": `icon-search`,
238
- style: { width: "300px", paddingLeft: "18px" },
238
+ style: { width: "300px" },
239
239
  onPressEnter: withModifiers(handleEnter, ["prevent"])
240
240
  }, null, 8, ["value"]),
241
241
  filterOptionsValue.value.length > 0 ? (openBlock(), createElementBlock(
@@ -1 +1 @@
1
- {"version":3,"file":"tag-group.vue2.mjs","sources":["../../../../../../packages/components/tag-group/src/tag-group.vue"],"sourcesContent":["<template>\n <a-spin :spinning=\"loading\">\n <div ref=\"tagsTypeRef\" :class=\"bem.b()\">\n <div :class=\"bem.e('tag-container')\">\n <template v-for=\"(item, i) in value\" :key=\"i\">\n <div\n :ref=\"getTagRefs(i)\"\n :class=\"[\n bem.m('item'),\n !shownArr.includes(item) ? bem.is('hidden') : ''\n ]\"\n >\n <div :class=\"bem.m('text')\">\n {{ item }}\n </div>\n <span :class=\"bem.m('close')\" @click=\"handleDel(i)\">\n <ll-icon\n icon-name=\"icon-close2\"\n :class-name=\"bem.m('close-icon')\"\n />\n </span>\n </div>\n </template>\n </div>\n\n <div :class=\"bem.e('add-container')\">\n <div v-if=\"more > 0\" :class=\"bem.m('more')\">+{{ more }}</div>\n <Popover\n v-model:open=\"visible\"\n :overlay-class-name=\"bem.e('popover')\"\n arrow-point-at-center\n trigger=\"click\"\n placement=\"bottom\"\n >\n <template #content>\n <LlInput\n v-model:value=\"inputValue\"\n placeholder=\"输入后回车新建\"\n :prefix-icon=\"`icon-search`\"\n :style=\"{ width: '300px', paddingLeft: '18px' }\"\n @press-enter.prevent=\"handleEnter\"\n />\n <ul\n v-if=\"filterOptionsValue.length > 0\"\n :class=\"bem.m('select-box')\"\n >\n <li\n v-for=\"(item, i) in filterOptionsValue\"\n :key=\"i\"\n :class=\"bem.m('select-item')\"\n @click=\"handleClickFilter(item)\"\n >\n <span :class=\"bem.m('select-text')\">\n {{ item }}\n </span>\n <ll-icon\n v-if=\"value.indexOf(item) >= 0\"\n icon-name=\"icon-check\"\n :class=\"bem.m('select-check')\"\n color=\"#1890FF\"\n />\n </li>\n </ul>\n </template>\n <div\n ref=\"btnRef\"\n :class=\"[\n mouseMove || visible ? bem.is('active') : '',\n bem.m('add-item')\n ]\"\n @mouseover=\"mouseMove = true\"\n @mouseleave=\"mouseMove = false\"\n >\n <ll-icon\n icon-name=\"icon-add\"\n :color=\"'#666'\"\n :class-name=\"bem.m('add-icon')\"\n />\n </div>\n </Popover>\n </div>\n </div>\n </a-spin>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n ref,\n reactive,\n nextTick,\n onMounted,\n toRef,\n watch,\n onUnmounted\n} from 'vue'\nimport { Form } from 'ant-design-vue'\n\nimport { Popover } from 'ant-design-vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport { tagGroupProps, tagGroupEmits } from './tag-group'\nimport type { Ref } from 'vue'\ndefineOptions({ name: 'LlTagGroup' })\n\nconst props = defineProps(tagGroupProps)\nconst emits = defineEmits(tagGroupEmits)\nconst bem = createNamespace('tag-group')\nconst formItemContext = Form.useInjectFormItemContext()\n\nconst loading = ref(false)\nconst inputValue = ref('')\nconst visible = ref(false)\nconst value = toRef(props.value?.length ? props.value.split(',') : [])\nconst more = ref(0)\nconst btnRef = ref()\nconst mouseMove = ref(false)\nconst tagsTypeRef = ref<HTMLDivElement | null>(null)\nconst tagRefs: Ref<HTMLDivElement>[] = reactive([])\nconst filterOptionsValue = ref(props.options)\nconst innerOptions = ref(props.options)\nconst tagsTypeWidth = ref(0)\nconst shownArr = ref<string[]>([])\nconst getTagRefs = (i: number) => {\n return (el: any) => {\n if (el) {\n tagRefs[i] = toRef(el)\n } else {\n tagRefs.splice(i, 1)\n }\n }\n}\n\nconst getWidth = () => {\n nextTick(() => {\n setTimeout(() => {\n if (tagsTypeRef.value) {\n tagsTypeWidth.value = tagsTypeRef.value.offsetWidth - 90\n }\n }, 0)\n })\n}\n\nconst handleEnter = () => {\n let arr = value.value\n if (!inputValue.value) return\n if (innerOptions.value.indexOf(inputValue.value) < 0) {\n innerOptions.value.push(inputValue.value)\n emits('update:options', innerOptions.value)\n arr.push(inputValue.value)\n } else {\n if (arr.indexOf(inputValue.value) < 0) {\n arr.push(inputValue.value)\n } else {\n arr = arr.filter(e => e !== inputValue.value)\n }\n }\n value.value = arr\n // inputValue.value = ''\n}\n\nconst handleDel = (idx: number) => {\n value.value.splice(idx, 1)\n}\n\nconst handleClickFilter = (item: string) => {\n let arr = value.value\n if (arr.indexOf(item) >= 0) {\n arr = arr.filter(e => e !== item)\n } else {\n arr.push(item)\n }\n value.value = arr\n}\nwatch(\n () => props.options,\n n => {\n innerOptions.value = n\n },\n {\n deep: true,\n immediate: true\n }\n)\nwatch(\n [() => value.value.length, tagsTypeWidth],\n async (n, o) => {\n await nextTick()\n const arr: string[] = []\n let moreLeftValue = 0\n for (const i in value.value) {\n const tagetWidth = tagRefs[i].value.offsetWidth + 10\n\n if (moreLeftValue + tagetWidth >= n[1]) {\n break\n } else {\n moreLeftValue += tagetWidth\n arr.push(value.value[i])\n }\n }\n more.value = n[0] - arr.length > 0 ? n[0] - arr.length : 0\n shownArr.value = arr\n emits('update:value', value.value.join(','))\n emits('change', value.value.join(','))\n\n if (o[0]) {\n if (n[0] !== o[0]) {\n formItemContext.onFieldChange()\n formItemContext.onFieldBlur()\n }\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\nwatch(\n () => [innerOptions, inputValue],\n () => {\n if (!inputValue.value) filterOptionsValue.value = innerOptions.value\n filterOptionsValue.value = innerOptions.value.filter(\n (e: string) => e.indexOf(inputValue.value) >= 0\n )\n },\n {\n deep: true,\n immediate: true\n }\n)\nonMounted(async () => {\n getWidth()\n window.addEventListener('resize', getWidth)\n})\nonUnmounted(() => {\n window.removeEventListener('resize', getWidth)\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag-group.vue2.mjs","sources":["../../../../../../packages/components/tag-group/src/tag-group.vue"],"sourcesContent":["<template>\n <a-spin :spinning=\"loading\">\n <div ref=\"tagsTypeRef\" :class=\"bem.b()\">\n <div :class=\"bem.e('tag-container')\">\n <template v-for=\"(item, i) in value\" :key=\"i\">\n <div\n :ref=\"getTagRefs(i)\"\n :class=\"[\n bem.m('item'),\n !shownArr.includes(item) ? bem.is('hidden') : ''\n ]\"\n >\n <div :class=\"bem.m('text')\">\n {{ item }}\n </div>\n <span :class=\"bem.m('close')\" @click=\"handleDel(i)\">\n <ll-icon\n icon-name=\"icon-close2\"\n :class-name=\"bem.m('close-icon')\"\n />\n </span>\n </div>\n </template>\n </div>\n\n <div :class=\"bem.e('add-container')\">\n <div v-if=\"more > 0\" :class=\"bem.m('more')\">+{{ more }}</div>\n <Popover\n v-model:open=\"visible\"\n :overlay-class-name=\"bem.e('popover')\"\n arrow-point-at-center\n trigger=\"click\"\n placement=\"bottom\"\n >\n <template #content>\n <LlInput\n v-model:value=\"inputValue\"\n placeholder=\"输入后回车新建\"\n :prefix-icon=\"`icon-search`\"\n :style=\"{ width: '300px' }\"\n @press-enter.prevent=\"handleEnter\"\n />\n <ul\n v-if=\"filterOptionsValue.length > 0\"\n :class=\"bem.m('select-box')\"\n >\n <li\n v-for=\"(item, i) in filterOptionsValue\"\n :key=\"i\"\n :class=\"bem.m('select-item')\"\n @click=\"handleClickFilter(item)\"\n >\n <span :class=\"bem.m('select-text')\">\n {{ item }}\n </span>\n <ll-icon\n v-if=\"value.indexOf(item) >= 0\"\n icon-name=\"icon-check\"\n :class=\"bem.m('select-check')\"\n color=\"#1890FF\"\n />\n </li>\n </ul>\n </template>\n <div\n ref=\"btnRef\"\n :class=\"[\n mouseMove || visible ? bem.is('active') : '',\n bem.m('add-item')\n ]\"\n @mouseover=\"mouseMove = true\"\n @mouseleave=\"mouseMove = false\"\n >\n <ll-icon\n icon-name=\"icon-add\"\n :color=\"'#666'\"\n :class-name=\"bem.m('add-icon')\"\n />\n </div>\n </Popover>\n </div>\n </div>\n </a-spin>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n ref,\n reactive,\n nextTick,\n onMounted,\n toRef,\n watch,\n onUnmounted\n} from 'vue'\nimport { Form } from 'ant-design-vue'\n\nimport { Popover } from 'ant-design-vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport { tagGroupProps, tagGroupEmits } from './tag-group'\nimport type { Ref } from 'vue'\ndefineOptions({ name: 'LlTagGroup' })\n\nconst props = defineProps(tagGroupProps)\nconst emits = defineEmits(tagGroupEmits)\nconst bem = createNamespace('tag-group')\nconst formItemContext = Form.useInjectFormItemContext()\n\nconst loading = ref(false)\nconst inputValue = ref('')\nconst visible = ref(false)\nconst value = toRef(props.value?.length ? props.value.split(',') : [])\nconst more = ref(0)\nconst btnRef = ref()\nconst mouseMove = ref(false)\nconst tagsTypeRef = ref<HTMLDivElement | null>(null)\nconst tagRefs: Ref<HTMLDivElement>[] = reactive([])\nconst filterOptionsValue = ref(props.options)\nconst innerOptions = ref(props.options)\nconst tagsTypeWidth = ref(0)\nconst shownArr = ref<string[]>([])\nconst getTagRefs = (i: number) => {\n return (el: any) => {\n if (el) {\n tagRefs[i] = toRef(el)\n } else {\n tagRefs.splice(i, 1)\n }\n }\n}\n\nconst getWidth = () => {\n nextTick(() => {\n setTimeout(() => {\n if (tagsTypeRef.value) {\n tagsTypeWidth.value = tagsTypeRef.value.offsetWidth - 90\n }\n }, 0)\n })\n}\n\nconst handleEnter = () => {\n let arr = value.value\n if (!inputValue.value) return\n if (innerOptions.value.indexOf(inputValue.value) < 0) {\n innerOptions.value.push(inputValue.value)\n emits('update:options', innerOptions.value)\n arr.push(inputValue.value)\n } else {\n if (arr.indexOf(inputValue.value) < 0) {\n arr.push(inputValue.value)\n } else {\n arr = arr.filter(e => e !== inputValue.value)\n }\n }\n value.value = arr\n // inputValue.value = ''\n}\n\nconst handleDel = (idx: number) => {\n value.value.splice(idx, 1)\n}\n\nconst handleClickFilter = (item: string) => {\n let arr = value.value\n if (arr.indexOf(item) >= 0) {\n arr = arr.filter(e => e !== item)\n } else {\n arr.push(item)\n }\n value.value = arr\n}\nwatch(\n () => props.options,\n n => {\n innerOptions.value = n\n },\n {\n deep: true,\n immediate: true\n }\n)\nwatch(\n [() => value.value.length, tagsTypeWidth],\n async (n, o) => {\n await nextTick()\n const arr: string[] = []\n let moreLeftValue = 0\n for (const i in value.value) {\n const tagetWidth = tagRefs[i].value.offsetWidth + 10\n\n if (moreLeftValue + tagetWidth >= n[1]) {\n break\n } else {\n moreLeftValue += tagetWidth\n arr.push(value.value[i])\n }\n }\n more.value = n[0] - arr.length > 0 ? n[0] - arr.length : 0\n shownArr.value = arr\n emits('update:value', value.value.join(','))\n emits('change', value.value.join(','))\n\n if (o[0]) {\n if (n[0] !== o[0]) {\n formItemContext.onFieldChange()\n formItemContext.onFieldBlur()\n }\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\nwatch(\n () => [innerOptions, inputValue],\n () => {\n if (!inputValue.value) filterOptionsValue.value = innerOptions.value\n filterOptionsValue.value = innerOptions.value.filter(\n (e: string) => e.indexOf(inputValue.value) >= 0\n )\n },\n {\n deep: true,\n immediate: true\n }\n)\nonMounted(async () => {\n getWidth()\n window.addEventListener('resize', getWidth)\n})\nonUnmounted(() => {\n window.removeEventListener('resize', getWidth)\n})\n</script>\n"],"names":[],"mappings":"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"}