ll-plus 2.4.13 → 2.4.15

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 (122) hide show
  1. package/es/component.mjs +3 -0
  2. package/es/component.mjs.map +1 -1
  3. package/es/components/advanced-filtering/index.d.ts +2 -2
  4. package/es/components/advanced-filtering/src/advanced-filtering.vue.d.ts +1 -1
  5. package/es/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +1 -1
  6. package/es/components/cropper/index.d.ts +0 -1
  7. package/es/components/cropper/src/cropper-modal.vue.d.ts +0 -1
  8. package/es/components/form/index.d.ts +2 -2
  9. package/es/components/form/src/components/form-component.vue.d.ts +1 -1
  10. package/es/components/form/src/form.vue.d.ts +1 -1
  11. package/es/components/image/index.d.ts +255 -0
  12. package/es/components/image/src/image-preview-group.vue.d.ts +121 -0
  13. package/es/components/image/src/image.d.ts +63 -0
  14. package/es/components/image/src/image.vue.d.ts +126 -0
  15. package/es/components/index.d.ts +1 -0
  16. package/es/components/key-value/index.d.ts +6 -6
  17. package/es/components/key-value/src/components/key-value-item.vue.d.ts +2 -2
  18. package/es/components/key-value/src/key-value.vue.d.ts +6 -6
  19. package/es/components/select-group/index.d.ts +1 -0
  20. package/es/components/select-group/src/select-group.vue.d.ts +1 -0
  21. package/es/index.mjs +2 -0
  22. package/es/index.mjs.map +1 -1
  23. package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs +6 -6
  24. package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs.map +1 -1
  25. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.mjs +1 -6
  26. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.mjs.map +1 -1
  27. package/es/packages/components/cropper/src/cropper-modal.vue2.mjs +16 -27
  28. package/es/packages/components/cropper/src/cropper-modal.vue2.mjs.map +1 -1
  29. package/es/packages/components/form/src/components/form-component.vue2.mjs +1 -1
  30. package/es/packages/components/form/src/components/form-component.vue2.mjs.map +1 -1
  31. package/es/packages/components/image/index.mjs +12 -0
  32. package/es/packages/components/image/index.mjs.map +1 -0
  33. package/es/packages/components/image/src/image-preview-group.vue.mjs +8 -0
  34. package/es/packages/components/image/src/image-preview-group.vue.mjs.map +1 -0
  35. package/es/packages/components/image/src/image-preview-group.vue2.mjs +32 -0
  36. package/es/packages/components/image/src/image-preview-group.vue2.mjs.map +1 -0
  37. package/es/packages/components/image/src/image.mjs +74 -0
  38. package/es/packages/components/image/src/image.mjs.map +1 -0
  39. package/es/packages/components/image/src/image.vue.mjs +8 -0
  40. package/es/packages/components/image/src/image.vue.mjs.map +1 -0
  41. package/es/packages/components/image/src/image.vue2.mjs +46 -0
  42. package/es/packages/components/image/src/image.vue2.mjs.map +1 -0
  43. package/es/packages/components/index.mjs +2 -0
  44. package/es/packages/components/index.mjs.map +1 -1
  45. package/es/packages/components/select-group/src/select-group.vue2.mjs +25 -23
  46. package/es/packages/components/select-group/src/select-group.vue2.mjs.map +1 -1
  47. package/index.full.js +288 -161
  48. package/index.full.min.js +25 -25
  49. package/index.full.min.js.map +1 -1
  50. package/index.full.min.mjs +24 -24
  51. package/index.full.min.mjs.map +1 -1
  52. package/index.full.mjs +285 -162
  53. package/lib/component.js +68 -65
  54. package/lib/component.js.map +1 -1
  55. package/lib/components/advanced-filtering/index.d.ts +2 -2
  56. package/lib/components/advanced-filtering/src/advanced-filtering.vue.d.ts +1 -1
  57. package/lib/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +1 -1
  58. package/lib/components/cropper/index.d.ts +0 -1
  59. package/lib/components/cropper/src/cropper-modal.vue.d.ts +0 -1
  60. package/lib/components/form/index.d.ts +2 -2
  61. package/lib/components/form/src/components/form-component.vue.d.ts +1 -1
  62. package/lib/components/form/src/form.vue.d.ts +1 -1
  63. package/lib/components/image/index.d.ts +255 -0
  64. package/lib/components/image/src/image-preview-group.vue.d.ts +121 -0
  65. package/lib/components/image/src/image.d.ts +63 -0
  66. package/lib/components/image/src/image.vue.d.ts +126 -0
  67. package/lib/components/index.d.ts +1 -0
  68. package/lib/components/key-value/index.d.ts +6 -6
  69. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +2 -2
  70. package/lib/components/key-value/src/key-value.vue.d.ts +6 -6
  71. package/lib/components/select-group/index.d.ts +1 -0
  72. package/lib/components/select-group/src/select-group.vue.d.ts +1 -0
  73. package/lib/index.js +70 -64
  74. package/lib/index.js.map +1 -1
  75. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js +5 -5
  76. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js.map +1 -1
  77. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.js +1 -6
  78. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.js.map +1 -1
  79. package/lib/packages/components/cropper/src/cropper-modal.vue2.js +16 -27
  80. package/lib/packages/components/cropper/src/cropper-modal.vue2.js.map +1 -1
  81. package/lib/packages/components/form/src/components/form-component.vue2.js +1 -1
  82. package/lib/packages/components/form/src/components/form-component.vue2.js.map +1 -1
  83. package/lib/packages/components/image/index.js +20 -0
  84. package/lib/packages/components/image/index.js.map +1 -0
  85. package/lib/packages/components/image/src/image-preview-group.vue.js +12 -0
  86. package/lib/packages/components/image/src/image-preview-group.vue.js.map +1 -0
  87. package/lib/packages/components/image/src/image-preview-group.vue2.js +36 -0
  88. package/lib/packages/components/image/src/image-preview-group.vue2.js.map +1 -0
  89. package/lib/packages/components/image/src/image.js +77 -0
  90. package/lib/packages/components/image/src/image.js.map +1 -0
  91. package/lib/packages/components/image/src/image.vue.js +12 -0
  92. package/lib/packages/components/image/src/image.vue.js.map +1 -0
  93. package/lib/packages/components/image/src/image.vue2.js +50 -0
  94. package/lib/packages/components/image/src/image.vue2.js.map +1 -0
  95. package/lib/packages/components/index.js +70 -64
  96. package/lib/packages/components/index.js.map +1 -1
  97. package/lib/packages/components/select-group/src/select-group.vue2.js +24 -22
  98. package/lib/packages/components/select-group/src/select-group.vue2.js.map +1 -1
  99. package/package.json +1 -1
  100. package/theme-chalk/css/images.css +1 -0
  101. package/theme-chalk/css/index.css +1 -1
  102. package/theme-chalk/css/table.css +1 -1
  103. package/theme-chalk/fonts/iconfont.js +1 -1
  104. package/theme-chalk/fonts/iconfont.json +84 -0
  105. package/types/packages/components/advanced-filtering/index.d.ts +2 -2
  106. package/types/packages/components/advanced-filtering/src/advanced-filtering.vue.d.ts +1 -1
  107. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +1 -1
  108. package/types/packages/components/cropper/index.d.ts +0 -1
  109. package/types/packages/components/cropper/src/cropper-modal.vue.d.ts +0 -1
  110. package/types/packages/components/form/index.d.ts +2 -2
  111. package/types/packages/components/form/src/components/form-component.vue.d.ts +1 -1
  112. package/types/packages/components/form/src/form.vue.d.ts +1 -1
  113. package/types/packages/components/image/index.d.ts +255 -0
  114. package/types/packages/components/image/src/image-preview-group.vue.d.ts +121 -0
  115. package/types/packages/components/image/src/image.d.ts +63 -0
  116. package/types/packages/components/image/src/image.vue.d.ts +126 -0
  117. package/types/packages/components/index.d.ts +1 -0
  118. package/types/packages/components/key-value/index.d.ts +6 -6
  119. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +2 -2
  120. package/types/packages/components/key-value/src/key-value.vue.d.ts +6 -6
  121. package/types/packages/components/select-group/index.d.ts +1 -0
  122. package/types/packages/components/select-group/src/select-group.vue.d.ts +1 -0
@@ -0,0 +1,126 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ readonly alt: {
3
+ readonly type: import("vue").PropType<string>;
4
+ readonly required: false;
5
+ readonly validator: ((val: unknown) => boolean) | undefined;
6
+ __epPropKey: true;
7
+ };
8
+ readonly fallback: {
9
+ readonly type: import("vue").PropType<string>;
10
+ readonly required: false;
11
+ readonly validator: ((val: unknown) => boolean) | undefined;
12
+ __epPropKey: true;
13
+ };
14
+ readonly width: {
15
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>>;
16
+ readonly required: false;
17
+ readonly validator: ((val: unknown) => boolean) | undefined;
18
+ __epPropKey: true;
19
+ };
20
+ readonly height: {
21
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>>;
22
+ readonly required: false;
23
+ readonly validator: ((val: unknown) => boolean) | undefined;
24
+ __epPropKey: true;
25
+ };
26
+ readonly placeholder: {
27
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
28
+ readonly required: false;
29
+ readonly validator: ((val: unknown) => boolean) | undefined;
30
+ __epPropKey: true;
31
+ };
32
+ readonly preview: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => boolean | import("./image").ImagePreviewType) | (() => boolean | import("./image").ImagePreviewType) | ((new (...args: any[]) => boolean | import("./image").ImagePreviewType) | (() => boolean | import("./image").ImagePreviewType))[], unknown, unknown, true, boolean>;
33
+ readonly src: {
34
+ readonly type: import("vue").PropType<string>;
35
+ readonly required: false;
36
+ readonly validator: ((val: unknown) => boolean) | undefined;
37
+ __epPropKey: true;
38
+ };
39
+ readonly previewMask: {
40
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => false | (() => any)) | (() => false | (() => any)) | ((new (...args: any[]) => false | (() => any)) | (() => false | (() => any)))[], unknown, unknown>>;
41
+ readonly required: false;
42
+ readonly validator: ((val: unknown) => boolean) | undefined;
43
+ __epPropKey: true;
44
+ };
45
+ readonly isShowBorder: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
46
+ readonly borderRadius: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "6px", boolean>;
47
+ }, {
48
+ props: import("@vue/shared").LooseRequired<{
49
+ readonly borderRadius: string;
50
+ readonly preview: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => boolean | import("./image").ImagePreviewType) | (() => boolean | import("./image").ImagePreviewType) | ((new (...args: any[]) => boolean | import("./image").ImagePreviewType) | (() => boolean | import("./image").ImagePreviewType))[], unknown, unknown>;
51
+ readonly isShowBorder: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
52
+ readonly height?: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown> | undefined;
53
+ readonly width?: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown> | undefined;
54
+ readonly placeholder?: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
55
+ readonly src?: string | undefined;
56
+ readonly alt?: string | undefined;
57
+ readonly previewMask?: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => false | (() => any)) | (() => false | (() => any)) | ((new (...args: any[]) => false | (() => any)) | (() => false | (() => any)))[], unknown, unknown> | undefined;
58
+ readonly fallback?: string | undefined;
59
+ } & {}>;
60
+ bem: {
61
+ b: (blockSuffix?: string) => string;
62
+ e: (element?: string) => string;
63
+ m: (modifier?: string) => string;
64
+ be: (blockSuffix?: string, element?: string) => string;
65
+ em: (element: string, modifier: string) => string;
66
+ bm: (blockSuffix: string, modifier: string) => string;
67
+ bem: (blockSuffix: string, element: string, modifier: string) => string;
68
+ is: (name?: string) => string;
69
+ };
70
+ computedFallback: import("vue").ComputedRef<string>;
71
+ getImageClass: import("vue").ComputedRef<string>;
72
+ getImageStyle: import("vue").ComputedRef<{
73
+ borderRadius: string;
74
+ }>;
75
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
76
+ readonly alt: {
77
+ readonly type: import("vue").PropType<string>;
78
+ readonly required: false;
79
+ readonly validator: ((val: unknown) => boolean) | undefined;
80
+ __epPropKey: true;
81
+ };
82
+ readonly fallback: {
83
+ readonly type: import("vue").PropType<string>;
84
+ readonly required: false;
85
+ readonly validator: ((val: unknown) => boolean) | undefined;
86
+ __epPropKey: true;
87
+ };
88
+ readonly width: {
89
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>>;
90
+ readonly required: false;
91
+ readonly validator: ((val: unknown) => boolean) | undefined;
92
+ __epPropKey: true;
93
+ };
94
+ readonly height: {
95
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>>;
96
+ readonly required: false;
97
+ readonly validator: ((val: unknown) => boolean) | undefined;
98
+ __epPropKey: true;
99
+ };
100
+ readonly placeholder: {
101
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
102
+ readonly required: false;
103
+ readonly validator: ((val: unknown) => boolean) | undefined;
104
+ __epPropKey: true;
105
+ };
106
+ readonly preview: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => boolean | import("./image").ImagePreviewType) | (() => boolean | import("./image").ImagePreviewType) | ((new (...args: any[]) => boolean | import("./image").ImagePreviewType) | (() => boolean | import("./image").ImagePreviewType))[], unknown, unknown, true, boolean>;
107
+ readonly src: {
108
+ readonly type: import("vue").PropType<string>;
109
+ readonly required: false;
110
+ readonly validator: ((val: unknown) => boolean) | undefined;
111
+ __epPropKey: true;
112
+ };
113
+ readonly previewMask: {
114
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => false | (() => any)) | (() => false | (() => any)) | ((new (...args: any[]) => false | (() => any)) | (() => false | (() => any)))[], unknown, unknown>>;
115
+ readonly required: false;
116
+ readonly validator: ((val: unknown) => boolean) | undefined;
117
+ __epPropKey: true;
118
+ };
119
+ readonly isShowBorder: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
120
+ readonly borderRadius: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "6px", boolean>;
121
+ }>>, {
122
+ readonly borderRadius: string;
123
+ readonly preview: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => boolean | import("./image").ImagePreviewType) | (() => boolean | import("./image").ImagePreviewType) | ((new (...args: any[]) => boolean | import("./image").ImagePreviewType) | (() => boolean | import("./image").ImagePreviewType))[], unknown, unknown>;
124
+ readonly isShowBorder: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
125
+ }, {}>;
126
+ export default _default;
@@ -21,6 +21,7 @@ export * from './form-item';
21
21
  export * from './icon';
22
22
  export * from './icon-base';
23
23
  export * from './icon-picker';
24
+ export * from './image';
24
25
  export * from './input';
25
26
  export * from './input-number';
26
27
  export * from './key-value';
@@ -1595,7 +1595,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
1595
1595
  } & {}>;
1596
1596
  emits: (event: "changeField", item: any) => void;
1597
1597
  formData: import("ll-plus/es/index").FormData;
1598
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
1598
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
1599
1599
  handleChange: (...arg: any[]) => void;
1600
1600
  readonly checkedType: string[];
1601
1601
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -4405,7 +4405,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
4405
4405
  } & {}>;
4406
4406
  emits: (event: "changeField", item: any) => void;
4407
4407
  formData: import("ll-plus/es/index").FormData;
4408
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
4408
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
4409
4409
  handleChange: (...arg: any[]) => void;
4410
4410
  readonly checkedType: string[];
4411
4411
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -6550,7 +6550,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
6550
6550
  } & {}>;
6551
6551
  emits: (event: "changeField", item: any) => void;
6552
6552
  formData: import("ll-plus/es/index").FormData;
6553
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
6553
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
6554
6554
  handleChange: (...arg: any[]) => void;
6555
6555
  readonly checkedType: string[];
6556
6556
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -9360,7 +9360,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
9360
9360
  } & {}>;
9361
9361
  emits: (event: "changeField", item: any) => void;
9362
9362
  formData: import("ll-plus/es/index").FormData;
9363
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
9363
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
9364
9364
  handleChange: (...arg: any[]) => void;
9365
9365
  readonly checkedType: string[];
9366
9366
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -11433,7 +11433,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
11433
11433
  } & {}>;
11434
11434
  emits: (event: "changeField", item: any) => void;
11435
11435
  formData: import("ll-plus/es/index").FormData;
11436
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
11436
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
11437
11437
  handleChange: (...arg: any[]) => void;
11438
11438
  readonly checkedType: string[];
11439
11439
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -14243,7 +14243,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
14243
14243
  } & {}>;
14244
14244
  emits: (event: "changeField", item: any) => void;
14245
14245
  formData: import("ll-plus/es/index").FormData;
14246
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
14246
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
14247
14247
  handleChange: (...arg: any[]) => void;
14248
14248
  readonly checkedType: string[];
14249
14249
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -1512,7 +1512,7 @@ declare const _default: import("vue").DefineComponent<{
1512
1512
  } & {}>;
1513
1513
  emits: (event: "changeField", item: any) => void;
1514
1514
  formData: import("ll-plus/es/components").FormData;
1515
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
1515
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
1516
1516
  handleChange: (...arg: any[]) => void;
1517
1517
  readonly checkedType: string[];
1518
1518
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -4322,7 +4322,7 @@ declare const _default: import("vue").DefineComponent<{
4322
4322
  } & {}>;
4323
4323
  emits: (event: "changeField", item: any) => void;
4324
4324
  formData: import("ll-plus/es/components").FormData;
4325
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
4325
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
4326
4326
  handleChange: (...arg: any[]) => void;
4327
4327
  readonly checkedType: string[];
4328
4328
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -1595,7 +1595,7 @@ declare const _default: import("vue").DefineComponent<{
1595
1595
  } & {}>;
1596
1596
  emits: (event: "changeField", item: any) => void;
1597
1597
  formData: import("ll-plus/es/index").FormData;
1598
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
1598
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
1599
1599
  handleChange: (...arg: any[]) => void;
1600
1600
  readonly checkedType: string[];
1601
1601
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -4405,7 +4405,7 @@ declare const _default: import("vue").DefineComponent<{
4405
4405
  } & {}>;
4406
4406
  emits: (event: "changeField", item: any) => void;
4407
4407
  formData: import("ll-plus/es/index").FormData;
4408
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
4408
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
4409
4409
  handleChange: (...arg: any[]) => void;
4410
4410
  readonly checkedType: string[];
4411
4411
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -6550,7 +6550,7 @@ declare const _default: import("vue").DefineComponent<{
6550
6550
  } & {}>;
6551
6551
  emits: (event: "changeField", item: any) => void;
6552
6552
  formData: import("ll-plus/es/index").FormData;
6553
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
6553
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
6554
6554
  handleChange: (...arg: any[]) => void;
6555
6555
  readonly checkedType: string[];
6556
6556
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -9360,7 +9360,7 @@ declare const _default: import("vue").DefineComponent<{
9360
9360
  } & {}>;
9361
9361
  emits: (event: "changeField", item: any) => void;
9362
9362
  formData: import("ll-plus/es/index").FormData;
9363
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
9363
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
9364
9364
  handleChange: (...arg: any[]) => void;
9365
9365
  readonly checkedType: string[];
9366
9366
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -11433,7 +11433,7 @@ declare const _default: import("vue").DefineComponent<{
11433
11433
  } & {}>;
11434
11434
  emits: (event: "changeField", item: any) => void;
11435
11435
  formData: import("ll-plus/es/index").FormData;
11436
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
11436
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
11437
11437
  handleChange: (...arg: any[]) => void;
11438
11438
  readonly checkedType: string[];
11439
11439
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -14243,7 +14243,7 @@ declare const _default: import("vue").DefineComponent<{
14243
14243
  } & {}>;
14244
14244
  emits: (event: "changeField", item: any) => void;
14245
14245
  formData: import("ll-plus/es/index").FormData;
14246
- getBindValue: (item: any) => import("lodash").Omit<any, "label">;
14246
+ getBindValue: (item: any) => import("lodash").Omit<any, "onChange" | "change" | "label">;
14247
14247
  handleChange: (...arg: any[]) => void;
14248
14248
  readonly checkedType: string[];
14249
14249
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -57,6 +57,7 @@ export declare const LlSelectGroup: import("ll-plus/es/utils").SFCWithInstall<im
57
57
  leftSelectWidth: import("vue").ComputedRef<string>;
58
58
  handleSelectChange: (_: string, options: any) => void;
59
59
  handleChange: () => void;
60
+ setSelectGroup: (selectValue: string, currentValue: any) => void;
60
61
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
61
62
  change: (selectV: string, value?: any) => boolean;
62
63
  onSelectChange: (selectV: string, item: import("./src/select-group").SelectGroupData) => boolean;
@@ -57,6 +57,7 @@ declare const _default: import("vue").DefineComponent<{
57
57
  leftSelectWidth: import("vue").ComputedRef<string>;
58
58
  handleSelectChange: (_: string, options: any) => void;
59
59
  handleChange: () => void;
60
+ setSelectGroup: (selectValue: string, currentValue: any) => void;
60
61
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
61
62
  change: (selectV: string, value?: any) => boolean;
62
63
  onSelectChange: (selectV: string, item: SelectGroupData) => boolean;
package/es/index.mjs CHANGED
@@ -55,6 +55,8 @@ export { iconPickerProps } from './packages/components/icon-picker/src/config/ic
55
55
  export { iconPickerModalEmits, iconPickerModalProps } from './packages/components/icon-picker/src/config/modal.mjs';
56
56
  export { iconPickerSearchEmits, iconPickerSearchProps } from './packages/components/icon-picker/src/config/search.mjs';
57
57
  export { LlIconPicker } from './packages/components/icon-picker/index.mjs';
58
+ export { FALL_BACK_IMG, imageProps } from './packages/components/image/src/image.mjs';
59
+ export { LlImage, LlImagePreviewGroup } from './packages/components/image/index.mjs';
58
60
  export { inputProps } from './packages/components/input/src/input.mjs';
59
61
  export { LlInput } from './packages/components/input/index.mjs';
60
62
  export { inputNumberEmits, inputNumberProps } from './packages/components/input-number/src/input-number.mjs';
package/es/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../packages/ll-plus/index.ts"],"sourcesContent":["import installer from './defaults'\n// 按需导入 import {ZIcon} from 'll-plus'\nexport * from '@ll-plus/components/index'\n\nexport const install = installer.install\nexport default installer\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,UAAU,SAAU,CAAA;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../packages/ll-plus/index.ts"],"sourcesContent":["import installer from './defaults'\n// 按需导入 import {ZIcon} from 'll-plus'\nexport * from '@ll-plus/components/index'\n\nexport const install = installer.install\nexport default installer\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,UAAU,SAAU,CAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import '../../../utils/index.mjs';
2
- import { has, isNull, isUndefined, isEqual } from 'lodash-es';
2
+ import { has, isNull, isEqual, isUndefined } from 'lodash-es';
3
3
  import { buildProps, definePropType } from '../../../utils/props/runtime.mjs';
4
4
 
5
5
  "use strict";
@@ -11,9 +11,9 @@ const initValue = (columns, values) => {
11
11
  let value = has(values, column.key) ? values[column.key] : null;
12
12
  if (has(column, "options") && !column.unUseDefaultOption) {
13
13
  if (column.type === "checkbox-group" || has(column, "mode")) {
14
- value = isNull(value) || isUndefined(value) || Array.isArray(value) && value.length === 0 ? [ALL_VALUE] : value;
14
+ value = !hasValue(value) || Array.isArray(value) && value.length === 0 ? [ALL_VALUE] : value;
15
15
  } else {
16
- value = isNull(value) || isUndefined(value) ? ALL_VALUE : value;
16
+ value = !hasValue(value) ? ALL_VALUE : value;
17
17
  }
18
18
  }
19
19
  copyValues[column.key] = value;
@@ -24,12 +24,12 @@ const initValue = (columns, values) => {
24
24
  const filterAllValue = (values, column) => {
25
25
  let value = null;
26
26
  if (Array.isArray(values)) {
27
- value = values.filter((item) => item !== ALL_VALUE);
27
+ value = values.filter((item) => item !== ALL_VALUE || !hasValue(values));
28
28
  if (column && column.type === "number-range") {
29
29
  value = values ? values.every((e) => !isNull(e)) ? values : null : null;
30
30
  }
31
31
  } else {
32
- value = values === ALL_VALUE ? null : values;
32
+ value = values === ALL_VALUE || !hasValue(values) ? null : values;
33
33
  }
34
34
  return value;
35
35
  };
@@ -69,7 +69,7 @@ const findLabelByValue = (tree, value) => {
69
69
  return _findLabel(tree).join(",");
70
70
  };
71
71
  const hasValue = (value) => {
72
- return Array.isArray(value) ? value.length > 0 : !isNull(value) && !isUndefined(value);
72
+ return Array.isArray(value) ? value.length > 0 : !isNull(value) && !isUndefined(value) && value !== "";
73
73
  };
74
74
  const advancedFilteringProps = buildProps({
75
75
  filterColumns: {
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-filtering.mjs","sources":["../../../../../../packages/components/advanced-filtering/src/advanced-filtering.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport { has, isNull, isUndefined, isEqual } from 'lodash-es'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormProps as AntFormProps, TooltipProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type advancedFiltering from './advanced-filtering.vue'\nimport type advancedFilteringParams from './components/advanced-filtering-params.vue'\nimport type advancedFilteringTags from './components/advanced-filtering-tags.vue'\n\nexport interface IAvancedFilteringTag {\n label: string\n key: string\n value: string | string[]\n showValue: string | string[]\n}\n\nexport const ALL_VALUE: string = '_ALL'\n\nexport type FilterColumn = FormColumn<{\n unUseDefaultOption?: boolean\n defaultOptionLabel?: string\n}>\n\nexport const initValue = (columns: FilterColumn[], values: any) => {\n const copyValues = {}\n if (columns.length) {\n columns.forEach(column => {\n let value: any = has(values, column.key) ? values[column.key] : null\n if (has(column, 'options') && !column.unUseDefaultOption) {\n if (column.type === 'checkbox-group' || has(column, 'mode')) {\n value =\n isNull(value) ||\n isUndefined(value) ||\n (Array.isArray(value) && value.length === 0)\n ? [ALL_VALUE]\n : value\n } else {\n value = isNull(value) || isUndefined(value) ? ALL_VALUE : value\n }\n }\n copyValues[column.key] = value\n })\n }\n\n return copyValues\n}\n\nexport const filterAllValue = (\n values: string | string[],\n column: FilterColumn\n): any => {\n let value: any = null\n if (Array.isArray(values)) {\n value = values.filter(item => item !== ALL_VALUE)\n if (column && column.type === 'number-range') {\n value = values ? (values.every(e => !isNull(e)) ? values : null) : null\n }\n } else {\n value = values === ALL_VALUE ? null : values\n }\n\n return value\n}\n\nexport const treeDataFormat = (\n arr = [] as any[],\n fieldNames: { [key: string]: string }\n) => {\n let options = [] as any[]\n if (!arr) return []\n options = arr.map((e: any) => {\n const obj: any = {}\n obj.label = e[fieldNames.label]\n obj.value = e[fieldNames.value]\n if (e[fieldNames.children] && e[fieldNames.children].length) {\n obj.children = treeDataFormat(e[fieldNames.children], fieldNames)\n }\n\n return obj\n })\n return options\n}\n\n// const isEqual = (val1,val2)=>{\n\n// }\n\nexport const findLabelByValue = (\n tree: FilterColumn['options'],\n value: any\n): string => {\n // 递归函数,用于遍历 Tree 数据\n function _findLabel(nodes: FilterColumn['options']): string[] {\n const labels: string[] = []\n if (!nodes) return []\n for (const node of nodes) {\n if (isEqual(node.value, value)) {\n labels.push(node.label)\n }\n if (node.children && node.children.length > 0) {\n const childLabels = _findLabel(node.children)\n if (childLabels) {\n labels.push(...childLabels)\n }\n }\n }\n return labels.length > 0 ? labels : []\n }\n // 开始递归查找\n return _findLabel(tree).join(',')\n}\n\nexport const hasValue = (value: any) => {\n return Array.isArray(value)\n ? value.length > 0\n : !isNull(value) && !isUndefined(value)\n}\n\nexport const advancedFilteringProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n overlayStyle: {\n type: definePropType<TooltipProps['overlayStyle']>(Object),\n default: () => ({\n width: '500px'\n })\n }\n} as const)\n\nexport const advancedFilteringParamsProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n showFooter: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport const advancedFilteringEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringParamsEmits = {\n close: () => true,\n confirm: () => true,\n changeValue: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringTagsEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\n// props\nexport type AdvancedFilteringProps = ExtractPropTypes<\n typeof advancedFilteringProps\n>\n\nexport type AdvancedFilteringParamsProps = ExtractPropTypes<\n typeof advancedFilteringParamsProps\n>\n\n// emits\nexport type AdvancedFilteringEmits = typeof advancedFilteringEmits\n\nexport type AdvancedFilteringParamsEmits = typeof advancedFilteringParamsEmits\n\nexport type AdvancedFilteringTagsEmits = typeof advancedFilteringTagsEmits\n\n// instance\nexport type AdvancedFilteringInstance = InstanceType<typeof advancedFiltering>\n\nexport type AdvancedFilteringParamsInstance = InstanceType<\n typeof advancedFilteringParams\n>\n\nexport type AdvancedFilteringTagsInstance = InstanceType<\n typeof advancedFilteringTags\n>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced-filtering.mjs","sources":["../../../../../../packages/components/advanced-filtering/src/advanced-filtering.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport { has, isNull, isUndefined, isEqual } from 'lodash-es'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormProps as AntFormProps, TooltipProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type advancedFiltering from './advanced-filtering.vue'\nimport type advancedFilteringParams from './components/advanced-filtering-params.vue'\nimport type advancedFilteringTags from './components/advanced-filtering-tags.vue'\n\nexport interface IAvancedFilteringTag {\n label: string\n key: string\n value: string | string[]\n showValue: string | string[]\n}\n\nexport const ALL_VALUE: string = '_ALL'\n\nexport type FilterColumn = FormColumn<{\n unUseDefaultOption?: boolean\n defaultOptionLabel?: string\n}>\n\nexport const initValue = (columns: FilterColumn[], values: any) => {\n const copyValues = {}\n if (columns.length) {\n columns.forEach(column => {\n let value: any = has(values, column.key) ? values[column.key] : null\n if (has(column, 'options') && !column.unUseDefaultOption) {\n if (column.type === 'checkbox-group' || has(column, 'mode')) {\n value =\n !hasValue(value) || (Array.isArray(value) && value.length === 0)\n ? [ALL_VALUE]\n : value\n } else {\n value = !hasValue(value) ? ALL_VALUE : value\n }\n }\n copyValues[column.key] = value\n })\n }\n\n return copyValues\n}\n\nexport const filterAllValue = (\n values: string | string[],\n column: FilterColumn\n): any => {\n let value: any = null\n if (Array.isArray(values)) {\n value = values.filter(item => item !== ALL_VALUE || !hasValue(values))\n if (column && column.type === 'number-range') {\n value = values ? (values.every(e => !isNull(e)) ? values : null) : null\n }\n } else {\n value = values === ALL_VALUE || !hasValue(values) ? null : values\n }\n\n return value\n}\n\nexport const treeDataFormat = (\n arr = [] as any[],\n fieldNames: { [key: string]: string }\n) => {\n let options = [] as any[]\n if (!arr) return []\n options = arr.map((e: any) => {\n const obj: any = {}\n obj.label = e[fieldNames.label]\n obj.value = e[fieldNames.value]\n if (e[fieldNames.children] && e[fieldNames.children].length) {\n obj.children = treeDataFormat(e[fieldNames.children], fieldNames)\n }\n\n return obj\n })\n return options\n}\n\n// const isEqual = (val1,val2)=>{\n\n// }\n\nexport const findLabelByValue = (\n tree: FilterColumn['options'],\n value: any\n): string => {\n // 递归函数,用于遍历 Tree 数据\n function _findLabel(nodes: FilterColumn['options']): string[] {\n const labels: string[] = []\n if (!nodes) return []\n for (const node of nodes) {\n if (isEqual(node.value, value)) {\n labels.push(node.label)\n }\n if (node.children && node.children.length > 0) {\n const childLabels = _findLabel(node.children)\n if (childLabels) {\n labels.push(...childLabels)\n }\n }\n }\n return labels.length > 0 ? labels : []\n }\n // 开始递归查找\n return _findLabel(tree).join(',')\n}\n\nexport const hasValue = (value: any) => {\n return Array.isArray(value)\n ? value.length > 0\n : !isNull(value) && !isUndefined(value) && value !== ''\n}\n\nexport const advancedFilteringProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n overlayStyle: {\n type: definePropType<TooltipProps['overlayStyle']>(Object),\n default: () => ({\n width: '500px'\n })\n }\n} as const)\n\nexport const advancedFilteringParamsProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n showFooter: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport const advancedFilteringEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringParamsEmits = {\n close: () => true,\n confirm: () => true,\n changeValue: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringTagsEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\n// props\nexport type AdvancedFilteringProps = ExtractPropTypes<\n typeof advancedFilteringProps\n>\n\nexport type AdvancedFilteringParamsProps = ExtractPropTypes<\n typeof advancedFilteringParamsProps\n>\n\n// emits\nexport type AdvancedFilteringEmits = typeof advancedFilteringEmits\n\nexport type AdvancedFilteringParamsEmits = typeof advancedFilteringParamsEmits\n\nexport type AdvancedFilteringTagsEmits = typeof advancedFilteringTagsEmits\n\n// instance\nexport type AdvancedFilteringInstance = InstanceType<typeof advancedFiltering>\n\nexport type AdvancedFilteringParamsInstance = InstanceType<\n typeof advancedFilteringParams\n>\n\nexport type AdvancedFilteringTagsInstance = InstanceType<\n typeof advancedFilteringTags\n>\n"],"names":[],"mappings":"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"}
@@ -68,13 +68,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
68
68
  () => props.value,
69
69
  (val) => {
70
70
  const value = cloneDeep(val);
71
- const cloneInnerValue = cloneDeep(innerValue.value);
72
71
  const obj = initValue(computeFormColumns.value, value);
73
- const comparedObj = initValue(
74
- computeFormColumns.value,
75
- cloneInnerValue
76
- );
77
- if (JSON.stringify(obj) !== JSON.stringify(comparedObj)) {
72
+ if (JSON.stringify(val) !== JSON.stringify(innerValue.value)) {
78
73
  innerValue.value = cloneDeep(obj);
79
74
  }
80
75
  if (key.value === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-filtering-params.vue2.mjs","sources":["../../../../../../../packages/components/advanced-filtering/src/components/advanced-filtering-params.vue"],"sourcesContent":["<template>\n <a-card title=\"高级筛选\" :class=\"bem.b()\" :bordered=\"false\">\n <template #extra>\n <ll-icon\n icon-name=\"icon-close2\"\n :style=\"{\n cursor: 'pointer'\n }\"\n @click=\"handleClose\"\n />\n </template>\n <div :class=\"bem.m('content')\">\n <ll-form\n v-if=\"props.filterColumns.length > 0\"\n v-bind=\"$attrs\"\n :form-columns=\"computeFormColumns\"\n :form-options=\"props.formOptions\"\n :form-data=\"innerValue\"\n :row-options=\"\n $attrs['row-options'] || {\n gutter: 30\n }\n \"\n @change=\"handleChange\"\n />\n <div v-else :class=\"bem.m('empty')\">\n <p>暂无数据</p>\n </div>\n </div>\n <div v-if=\"props.showFooter\" :class=\"bem.m('footer')\">\n <ll-button\n type=\"primary\"\n style=\"margin-right: 16px\"\n @click=\"handleAdvancedFilterConfirm\"\n >\n 确定\n </ll-button>\n <ll-button @click=\"handleClose\">取消</ll-button>\n </div>\n </a-card>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed } from 'vue'\nimport { has, cloneDeep } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport { LlForm } from '@ll-plus/components'\nimport {\n advancedFilteringParamsProps,\n advancedFilteringParamsEmits,\n ALL_VALUE,\n initValue,\n filterAllValue\n} from '../advanced-filtering'\n\nimport type { FormChangeEvent } from '@ll-plus/components'\n\ndefineOptions({ name: 'LlAdvancedFilteringParams' })\n\nconst props = defineProps(advancedFilteringParamsProps)\n\nconst emits = defineEmits(advancedFilteringParamsEmits)\n\nconst bem = createNamespace('advanced-filtering-params')\n\nconst innerValue = ref({})\n\nconst key = ref(0)\n\nconst computeFormColumns = computed(() => {\n return props.filterColumns.map(column => {\n if (has(column, 'options')) {\n if (\n (column.options.length && column.options[0].value === ALL_VALUE) ||\n column.unUseDefaultOption\n ) {\n return column\n }\n column.options = [\n {\n label: column?.defaultOptionLabel ?? '全部',\n value: ALL_VALUE\n },\n ...column.options\n ]\n }\n return column\n })\n})\n\nconst handleClose = () => {\n emits('close')\n}\n\nconst handleAdvancedFilterConfirm = () => {\n emits('confirm')\n}\n\nconst handleChange = (params: FormChangeEvent) => {\n setData(params)\n}\n\nconst setData = (params: FormChangeEvent) => {\n const value = cloneDeep(params.formData)\n const obj: Record<string, any> = {}\n computeFormColumns.value.forEach(item => {\n const i = item.key\n obj[i] = filterAllValue(value[i], item)\n })\n emits('update:value', obj)\n emits('changeValue', { ...params, formData: obj })\n}\n\nwatch(\n () => props.value,\n val => {\n const value = cloneDeep(val)\n const cloneInnerValue = cloneDeep(innerValue.value)\n const obj: Record<string, any> = initValue(computeFormColumns.value, value)\n\n const comparedObj: Record<string, any> = initValue(\n computeFormColumns.value,\n cloneInnerValue\n )\n if (JSON.stringify(obj) !== JSON.stringify(comparedObj)) {\n innerValue.value = cloneDeep(obj)\n }\n if (key.value === 0) {\n innerValue.value = cloneDeep(obj)\n key.value++\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n// watch(\n// () => innerValue.value,\n// val => {\n// setData(val)\n// },\n// {\n// deep: true,\n// immediate: true\n// }\n// )\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced-filtering-params.vue2.mjs","sources":["../../../../../../../packages/components/advanced-filtering/src/components/advanced-filtering-params.vue"],"sourcesContent":["<template>\n <a-card title=\"高级筛选\" :class=\"bem.b()\" :bordered=\"false\">\n <template #extra>\n <ll-icon\n icon-name=\"icon-close2\"\n :style=\"{\n cursor: 'pointer'\n }\"\n @click=\"handleClose\"\n />\n </template>\n <div :class=\"bem.m('content')\">\n <ll-form\n v-if=\"props.filterColumns.length > 0\"\n v-bind=\"$attrs\"\n :form-columns=\"computeFormColumns\"\n :form-options=\"props.formOptions\"\n :form-data=\"innerValue\"\n :row-options=\"\n $attrs['row-options'] || {\n gutter: 30\n }\n \"\n @change=\"handleChange\"\n />\n <div v-else :class=\"bem.m('empty')\">\n <p>暂无数据</p>\n </div>\n </div>\n <div v-if=\"props.showFooter\" :class=\"bem.m('footer')\">\n <ll-button\n type=\"primary\"\n style=\"margin-right: 16px\"\n @click=\"handleAdvancedFilterConfirm\"\n >\n 确定\n </ll-button>\n <ll-button @click=\"handleClose\">取消</ll-button>\n </div>\n </a-card>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed } from 'vue'\nimport { has, cloneDeep } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport { LlForm } from '@ll-plus/components'\nimport {\n advancedFilteringParamsProps,\n advancedFilteringParamsEmits,\n ALL_VALUE,\n initValue,\n filterAllValue\n} from '../advanced-filtering'\n\nimport type { FormChangeEvent } from '@ll-plus/components'\n\ndefineOptions({ name: 'LlAdvancedFilteringParams' })\n\nconst props = defineProps(advancedFilteringParamsProps)\n\nconst emits = defineEmits(advancedFilteringParamsEmits)\n\nconst bem = createNamespace('advanced-filtering-params')\n\nconst innerValue = ref({})\n\nconst key = ref(0)\n\nconst computeFormColumns = computed(() => {\n return props.filterColumns.map(column => {\n if (has(column, 'options')) {\n if (\n (column.options.length && column.options[0].value === ALL_VALUE) ||\n column.unUseDefaultOption\n ) {\n return column\n }\n column.options = [\n {\n label: column?.defaultOptionLabel ?? '全部',\n value: ALL_VALUE\n },\n ...column.options\n ]\n }\n return column\n })\n})\n\nconst handleClose = () => {\n emits('close')\n}\n\nconst handleAdvancedFilterConfirm = () => {\n emits('confirm')\n}\n\nconst handleChange = (params: FormChangeEvent) => {\n setData(params)\n}\n\nconst setData = (params: FormChangeEvent) => {\n const value = cloneDeep(params.formData)\n const obj: Record<string, any> = {}\n computeFormColumns.value.forEach(item => {\n const i = item.key\n obj[i] = filterAllValue(value[i], item)\n })\n emits('update:value', obj)\n emits('changeValue', { ...params, formData: obj })\n}\n\nwatch(\n () => props.value,\n val => {\n const value = cloneDeep(val)\n // const cloneInnerValue = cloneDeep(innerValue.value)\n const obj: Record<string, any> = initValue(computeFormColumns.value, value)\n\n // const comparedObj: Record<string, any> = initValue(\n // computeFormColumns.value,\n // cloneInnerValue\n // )\n // console.log({ obj, comparedObj, val }, innerValue.value)\n if (JSON.stringify(val) !== JSON.stringify(innerValue.value)) {\n innerValue.value = cloneDeep(obj)\n }\n if (key.value === 0) {\n innerValue.value = cloneDeep(obj)\n key.value++\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n// watch(\n// () => innerValue.value,\n// val => {\n// setData(val)\n// },\n// {\n// deep: true,\n// immediate: true\n// }\n// )\n</script>\n"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ import { dataURLtoBlob } from '../../../utils/file.mjs';
8
8
 
9
9
  "use strict";
10
10
  const _hoisted_1 = ["src"];
11
- const _hoisted_2 = ["src"];
12
11
  var _sfc_main = /* @__PURE__ */ defineComponent({
13
12
  ...{ name: "LlCropperModal" },
14
13
  __name: "cropper-modal",
@@ -20,7 +19,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
20
19
  const bem = createNamespace("cropper-modal");
21
20
  const src = ref(props.avatar || "");
22
21
  const avatar = ref(props.avatar || "");
23
- console.log(src, avatar, "avatar");
24
22
  const open = ref(false);
25
23
  const previewSource = ref("");
26
24
  const cropper = ref();
@@ -60,10 +58,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
60
58
  avatar.value = previewSource.value;
61
59
  open.value = false;
62
60
  }
63
- const handleAvatarClick = (_, avatarSrc) => {
64
- src.value = avatarSrc;
65
- avatar.value = avatarSrc;
66
- };
67
61
  return (_ctx, _cache) => {
68
62
  const _component_ll_icon = resolveComponent("ll-icon");
69
63
  const _component_ll_button = resolveComponent("ll-button");
@@ -373,28 +367,23 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
373
367
  _: 1
374
368
  /* STABLE */
375
369
  }, 8, ["open"]),
376
- renderSlot(_ctx.$slots, "default", {}, () => [
377
- createElementVNode(
378
- "div",
379
- {
380
- class: normalizeClass(unref(bem).e("cropper-avatar")),
381
- onClick: handleOpen
382
- },
383
- [
384
- !avatar.value ? (openBlock(), createBlock(_component_ll_avatar, {
385
- key: 0,
386
- size: 64,
387
- onClick: handleAvatarClick
388
- })) : (openBlock(), createElementBlock("img", {
389
- key: 1,
370
+ createElementVNode(
371
+ "div",
372
+ {
373
+ class: normalizeClass(unref(bem).e("cropper-avatar")),
374
+ onClick: handleOpen
375
+ },
376
+ [
377
+ renderSlot(_ctx.$slots, "default", { src: avatar.value }, () => [
378
+ createVNode(_component_ll_avatar, {
390
379
  src: avatar.value,
391
- alt: ""
392
- }, null, 8, _hoisted_2))
393
- ],
394
- 2
395
- /* CLASS */
396
- )
397
- ])
380
+ size: 64
381
+ }, null, 8, ["src"])
382
+ ])
383
+ ],
384
+ 2
385
+ /* CLASS */
386
+ )
398
387
  ],
399
388
  64
400
389
  /* STABLE_FRAGMENT */
@@ -1 +1 @@
1
- {"version":3,"file":"cropper-modal.vue2.mjs","sources":["../../../../../../packages/components/cropper/src/cropper-modal.vue"],"sourcesContent":["<template>\n <ll-modal\n :open=\"open\"\n :title=\"'图片裁剪'\"\n width=\"800px\"\n :keyboard=\"false\"\n :mask-closable=\"false\"\n :ok-text=\"'确定'\"\n @cancel=\"open = false\"\n @ok=\"handleOk\"\n >\n <div :class=\"bem.b()\">\n <div :class=\"bem.e('left')\">\n <div :class=\"bem.e('cropper')\">\n <cropper-image\n v-if=\"src\"\n :src=\"src\"\n height=\"300px\"\n :circled=\"circled\"\n @cropend=\"handleCropend\"\n @on-ready=\"handleReady\"\n />\n </div>\n <div :class=\"bem.e('toolbar')\">\n <Upload\n :file-list=\"[]\"\n accept=\"image/*\"\n :before-upload=\"handleBeforeUpload\"\n >\n <ll-tooltip :title=\"'选择图片'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n @click=\"handlerToolbar('reset')\"\n >\n <ll-icon icon-name=\"icon-upload\" />\n </ll-button>\n </ll-tooltip>\n </Upload>\n <ll-space>\n <ll-tooltip :tip=\"'重置'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('reset')\"\n >\n <ll-icon icon-name=\"icon-refresh\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'逆时针旋转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('rotate', -45)\"\n >\n <ll-icon icon-name=\"icon-counter-clockwise\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'顺时针旋转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('rotate', 45)\"\n >\n <ll-icon icon-name=\"icon-flip-horizontal\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'水平翻转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('scaleX')\"\n >\n <ll-icon icon-name=\"icon-flip-horizontal\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'垂直翻转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('scaleY')\"\n >\n <ll-icon icon-name=\"icon-flip-vertical\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'放大'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('zoom', 0.1)\"\n >\n <ll-icon icon-name=\"icon-amplify1\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'缩小'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('zoom', -0.1)\"\n >\n <ll-icon icon-name=\"icon-scale\" />\n </ll-button>\n </ll-tooltip>\n </ll-space>\n </div>\n </div>\n <div :class=\"bem.e('right')\">\n <div :class=\"bem.e('preview')\">\n <img v-if=\"previewSource\" :src=\"previewSource\" :alt=\"'预览'\" />\n </div>\n <template v-if=\"previewSource\">\n <div :class=\"bem.e('group')\">\n <ll-avatar :src=\"previewSource\" size=\"large\" />\n <ll-avatar :src=\"previewSource\" :size=\"48\" />\n <ll-avatar :src=\"previewSource\" :size=\"64\" />\n <ll-avatar :src=\"previewSource\" :size=\"80\" />\n </div>\n </template>\n </div>\n </div>\n </ll-modal>\n <slot>\n <div :class=\"bem.e('cropper-avatar')\" @click=\"handleOpen\">\n <ll-avatar v-if=\"!avatar\" :size=\"64\" @click=\"handleAvatarClick\">\n </ll-avatar>\n\n <img v-else :src=\"avatar\" alt=\"\" />\n </div>\n </slot>\n</template>\n<script lang=\"ts\" setup>\n//@ts-ignore\nimport type Cropper from 'cropperjs'\n\nimport { ref } from 'vue'\nimport { Upload } from 'ant-design-vue'\nimport { createNamespace, dataURLtoBlob, type Nullable } from '@ll-plus/utils'\nimport CropperImage from './cropper-image.vue'\nimport {\n cropperModalProps,\n cropperModalEmits,\n type CropendResult\n} from './cropper-image'\n\ndefineOptions({ name: 'LlCropperModal' })\nconst props = defineProps(cropperModalProps)\nconst emits = defineEmits(cropperModalEmits)\nconst bem = createNamespace('cropper-modal')\nconst src = ref(props.avatar || '')\nconst avatar = ref(props.avatar || '')\nconsole.log(src, avatar, 'avatar')\nconst open = ref(false)\nconst previewSource = ref('')\nconst cropper = ref<Nullable<Cropper>>()\nlet scaleX = 1\nlet scaleY = 1\n\n// Block upload\nfunction handleBeforeUpload(file: File) {\n const reader = new FileReader()\n reader.readAsDataURL(file)\n src.value = ''\n previewSource.value = ''\n reader.onload = function (e) {\n src.value = (e.target?.result as string) ?? ''\n // filename = file.name\n }\n return false\n}\nfunction handleOpen() {\n open.value = true\n}\nfunction handleCropend({ imgBase64 }: CropendResult) {\n previewSource.value = imgBase64\n}\n\nfunction handleReady(cropperInstance: Cropper) {\n cropper.value = cropperInstance\n}\nfunction handlerToolbar(event: string, arg?: number) {\n if (event === 'scaleX') {\n scaleX = arg = scaleX === -1 ? 1 : -1\n }\n if (event === 'scaleY') {\n scaleY = arg = scaleY === -1 ? 1 : -1\n }\n cropper?.value?.[event]?.(arg)\n}\n\nasync function handleOk() {\n const blob = dataURLtoBlob(previewSource.value)\n emits('confirm', { blob, previewSource: previewSource.value })\n avatar.value = previewSource.value\n open.value = false\n}\nconst handleAvatarClick = (_: any, avatarSrc: string) => {\n src.value = avatarSrc\n avatar.value = avatarSrc\n}\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cropper-modal.vue2.mjs","sources":["../../../../../../packages/components/cropper/src/cropper-modal.vue"],"sourcesContent":["<template>\n <ll-modal\n :open=\"open\"\n :title=\"'图片裁剪'\"\n width=\"800px\"\n :keyboard=\"false\"\n :mask-closable=\"false\"\n :ok-text=\"'确定'\"\n @cancel=\"open = false\"\n @ok=\"handleOk\"\n >\n <div :class=\"bem.b()\">\n <div :class=\"bem.e('left')\">\n <div :class=\"bem.e('cropper')\">\n <cropper-image\n v-if=\"src\"\n :src=\"src\"\n height=\"300px\"\n :circled=\"circled\"\n @cropend=\"handleCropend\"\n @on-ready=\"handleReady\"\n />\n </div>\n <div :class=\"bem.e('toolbar')\">\n <Upload\n :file-list=\"[]\"\n accept=\"image/*\"\n :before-upload=\"handleBeforeUpload\"\n >\n <ll-tooltip :title=\"'选择图片'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n @click=\"handlerToolbar('reset')\"\n >\n <ll-icon icon-name=\"icon-upload\" />\n </ll-button>\n </ll-tooltip>\n </Upload>\n <ll-space>\n <ll-tooltip :tip=\"'重置'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('reset')\"\n >\n <ll-icon icon-name=\"icon-refresh\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'逆时针旋转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('rotate', -45)\"\n >\n <ll-icon icon-name=\"icon-counter-clockwise\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'顺时针旋转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('rotate', 45)\"\n >\n <ll-icon icon-name=\"icon-flip-horizontal\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'水平翻转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('scaleX')\"\n >\n <ll-icon icon-name=\"icon-flip-horizontal\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'垂直翻转'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('scaleY')\"\n >\n <ll-icon icon-name=\"icon-flip-vertical\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'放大'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('zoom', 0.1)\"\n >\n <ll-icon icon-name=\"icon-amplify1\" />\n </ll-button>\n </ll-tooltip>\n <ll-tooltip :tip=\"'缩小'\" placement=\"bottom\">\n <ll-button\n type=\"primary\"\n size=\"small\"\n :disabled=\"!src\"\n @click=\"handlerToolbar('zoom', -0.1)\"\n >\n <ll-icon icon-name=\"icon-scale\" />\n </ll-button>\n </ll-tooltip>\n </ll-space>\n </div>\n </div>\n <div :class=\"bem.e('right')\">\n <div :class=\"bem.e('preview')\">\n <img v-if=\"previewSource\" :src=\"previewSource\" :alt=\"'预览'\" />\n </div>\n <template v-if=\"previewSource\">\n <div :class=\"bem.e('group')\">\n <ll-avatar :src=\"previewSource\" size=\"large\" />\n <ll-avatar :src=\"previewSource\" :size=\"48\" />\n <ll-avatar :src=\"previewSource\" :size=\"64\" />\n <ll-avatar :src=\"previewSource\" :size=\"80\" />\n </div>\n </template>\n </div>\n </div>\n </ll-modal>\n <div :class=\"bem.e('cropper-avatar')\" @click=\"handleOpen\">\n <slot :src=\"avatar\">\n <ll-avatar :src=\"avatar\" :size=\"64\" />\n </slot>\n </div>\n</template>\n<script lang=\"ts\" setup>\n//@ts-ignore\nimport type Cropper from 'cropperjs'\n\nimport { ref } from 'vue'\nimport { Upload } from 'ant-design-vue'\nimport { createNamespace, dataURLtoBlob, type Nullable } from '@ll-plus/utils'\nimport CropperImage from './cropper-image.vue'\nimport {\n cropperModalProps,\n cropperModalEmits,\n type CropendResult\n} from './cropper-image'\n\ndefineOptions({ name: 'LlCropperModal' })\nconst props = defineProps(cropperModalProps)\nconst emits = defineEmits(cropperModalEmits)\nconst bem = createNamespace('cropper-modal')\nconst src = ref(props.avatar || '')\nconst avatar = ref(props.avatar || '')\nconst open = ref(false)\nconst previewSource = ref('')\nconst cropper = ref<Nullable<Cropper>>()\nlet scaleX = 1\nlet scaleY = 1\n\n// Block upload\nfunction handleBeforeUpload(file: File) {\n const reader = new FileReader()\n reader.readAsDataURL(file)\n src.value = ''\n previewSource.value = ''\n reader.onload = function (e) {\n src.value = (e.target?.result as string) ?? ''\n // filename = file.name\n }\n return false\n}\nfunction handleOpen() {\n open.value = true\n}\nfunction handleCropend({ imgBase64 }: CropendResult) {\n previewSource.value = imgBase64\n}\n\nfunction handleReady(cropperInstance: Cropper) {\n cropper.value = cropperInstance\n}\nfunction handlerToolbar(event: string, arg?: number) {\n if (event === 'scaleX') {\n scaleX = arg = scaleX === -1 ? 1 : -1\n }\n if (event === 'scaleY') {\n scaleY = arg = scaleY === -1 ? 1 : -1\n }\n cropper?.value?.[event]?.(arg)\n}\n\nasync function handleOk() {\n const blob = dataURLtoBlob(previewSource.value)\n emits('confirm', { blob, previewSource: previewSource.value })\n avatar.value = previewSource.value\n open.value = false\n}\n</script>\n"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
15
15
  const formData = reactive(props.formData);
16
16
  const getBindValue = (item) => {
17
17
  const obj = { ...item };
18
- return omit(obj, ["label"]);
18
+ return omit(obj, ["label", "onChange", "change"]);
19
19
  };
20
20
  const handleChange = (...arg) => {
21
21
  const item = props.item;
@@ -1 +1 @@
1
- {"version":3,"file":"form-component.vue2.mjs","sources":["../../../../../../../packages/components/form/src/components/form-component.vue"],"sourcesContent":["<template>\n <template v-if=\"checkedType.includes(item.type)\">\n <component\n :is=\"`ll-${item.type}`\"\n v-model:checked=\"formData[item.key]\"\n v-bind=\"getBindValue(item)\"\n @change=\"handleChange\"\n />\n </template>\n <template v-else>\n <component\n :is=\"`ll-${item.type}`\"\n v-model:value=\"formData[item.key]\"\n v-bind=\"getBindValue(item)\"\n @change=\"handleChange\"\n />\n </template>\n</template>\n\n<script setup lang=\"ts\">\nimport { reactive } from 'vue'\nimport { omit, has } from 'lodash-es'\nimport {\n formComponentProps,\n formComponentEmits,\n checkedType,\n type FormColumn\n} from '../config'\n\nconst props = defineProps(formComponentProps)\n\nconst emits = defineEmits(formComponentEmits)\n\nconst formData = reactive(props.formData)\n\nconst getBindValue = (item: FormColumn) => {\n const obj = { ...item }\n return omit(obj, ['label'])\n}\n\nconst handleChange = (...arg) => {\n const item: FormColumn = props.item\n if (has(item, 'change')) {\n item.change(...arg)\n }\n if (has(item, 'onChange')) {\n item.onChange(...arg)\n }\n emits('changeField', item)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;AA6BA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAM,MAAA,QAAA,GAAW,QAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAExC,IAAM,MAAA,YAAA,GAAe,CAAC,IAAqB,KAAA;AACzC,MAAM,MAAA,GAAA,GAAM,EAAE,GAAG,IAAK,EAAA,CAAA;AACtB,MAAA,OAAO,IAAK,CAAA,GAAA,EAAK,CAAC,OAAO,CAAC,CAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,IAAI,GAAQ,KAAA;AAC/B,MAAA,MAAM,OAAmB,KAAM,CAAA,IAAA,CAAA;AAC/B,MAAI,IAAA,GAAA,CAAI,IAAM,EAAA,QAAQ,CAAG,EAAA;AACvB,QAAK,IAAA,CAAA,MAAA,CAAO,GAAG,GAAG,CAAA,CAAA;AAAA,OACpB;AACA,MAAI,IAAA,GAAA,CAAI,IAAM,EAAA,UAAU,CAAG,EAAA;AACzB,QAAK,IAAA,CAAA,QAAA,CAAS,GAAG,GAAG,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,KAAA,CAAM,eAAe,IAAI,CAAA,CAAA;AAAA,KAC3B,CAAA;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"form-component.vue2.mjs","sources":["../../../../../../../packages/components/form/src/components/form-component.vue"],"sourcesContent":["<template>\n <template v-if=\"checkedType.includes(item.type)\">\n <component\n :is=\"`ll-${item.type}`\"\n v-model:checked=\"formData[item.key]\"\n v-bind=\"getBindValue(item)\"\n @change=\"handleChange\"\n />\n </template>\n <template v-else>\n <component\n :is=\"`ll-${item.type}`\"\n v-model:value=\"formData[item.key]\"\n v-bind=\"getBindValue(item)\"\n @change=\"handleChange\"\n />\n </template>\n</template>\n\n<script setup lang=\"ts\">\nimport { reactive } from 'vue'\nimport { omit, has } from 'lodash-es'\nimport {\n formComponentProps,\n formComponentEmits,\n checkedType,\n type FormColumn\n} from '../config'\n\nconst props = defineProps(formComponentProps)\n\nconst emits = defineEmits(formComponentEmits)\n\nconst formData = reactive(props.formData)\n\nconst getBindValue = (item: FormColumn) => {\n const obj = { ...item }\n return omit(obj, ['label', 'onChange', 'change'])\n}\n\nconst handleChange = (...arg) => {\n const item: FormColumn = props.item\n if (has(item, 'change')) {\n item.change(...arg)\n }\n if (has(item, 'onChange')) {\n item.onChange(...arg)\n }\n emits('changeField', item)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;AA6BA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAM,MAAA,QAAA,GAAW,QAAS,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAExC,IAAM,MAAA,YAAA,GAAe,CAAC,IAAqB,KAAA;AACzC,MAAM,MAAA,GAAA,GAAM,EAAE,GAAG,IAAK,EAAA,CAAA;AACtB,MAAA,OAAO,KAAK,GAAK,EAAA,CAAC,OAAS,EAAA,UAAA,EAAY,QAAQ,CAAC,CAAA,CAAA;AAAA,KAClD,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,IAAI,GAAQ,KAAA;AAC/B,MAAA,MAAM,OAAmB,KAAM,CAAA,IAAA,CAAA;AAC/B,MAAI,IAAA,GAAA,CAAI,IAAM,EAAA,QAAQ,CAAG,EAAA;AACvB,QAAK,IAAA,CAAA,MAAA,CAAO,GAAG,GAAG,CAAA,CAAA;AAAA,OACpB;AACA,MAAI,IAAA,GAAA,CAAI,IAAM,EAAA,UAAU,CAAG,EAAA;AACzB,QAAK,IAAA,CAAA,QAAA,CAAS,GAAG,GAAG,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,KAAA,CAAM,eAAe,IAAI,CAAA,CAAA;AAAA,KAC3B,CAAA;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,12 @@
1
+ import '../../utils/index.mjs';
2
+ import Image from './src/image.vue.mjs';
3
+ import ImagePreviewGroup from './src/image-preview-group.vue.mjs';
4
+ export { FALL_BACK_IMG, imageProps } from './src/image.mjs';
5
+ import { withInstall } from '../../utils/with-install.mjs';
6
+
7
+ "use strict";
8
+ const LlImage = withInstall(Image);
9
+ const LlImagePreviewGroup = withInstall(ImagePreviewGroup);
10
+
11
+ export { LlImage, LlImagePreviewGroup, LlImage as default };
12
+ //# sourceMappingURL=index.mjs.map