ll-plus 2.5.17 → 2.5.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/breadcrumb-card/index.d.ts +0 -13
- package/es/components/breadcrumb-card/src/breadcrumb-card.d.ts +0 -6
- package/es/components/breadcrumb-card/src/breadcrumb-card.vue.d.ts +0 -13
- package/es/components/cropper/index.d.ts +16 -0
- package/es/components/cropper/src/cropper-image.d.ts +4 -0
- package/es/components/cropper/src/cropper-modal.vue.d.ts +16 -0
- package/es/packages/components/breadcrumb-card/src/breadcrumb-card.mjs +4 -4
- package/es/packages/components/breadcrumb-card/src/breadcrumb-card.mjs.map +1 -1
- package/es/packages/components/breadcrumb-card/src/breadcrumb-card.vue2.mjs +1 -16
- package/es/packages/components/breadcrumb-card/src/breadcrumb-card.vue2.mjs.map +1 -1
- package/es/packages/components/cropper/src/cropper-image.mjs +28 -3
- package/es/packages/components/cropper/src/cropper-image.mjs.map +1 -1
- package/es/packages/components/cropper/src/cropper-modal.vue2.mjs +3 -3
- package/es/packages/components/cropper/src/cropper-modal.vue2.mjs.map +1 -1
- package/es/packages/components/select-group/src/select-group.vue2.mjs +8 -5
- package/es/packages/components/select-group/src/select-group.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/main-table.vue2.mjs +278 -291
- package/es/packages/components/table/src/components/main-table.vue2.mjs.map +1 -1
- package/index.full.js +319 -319
- package/index.full.min.js +4 -8
- package/index.full.min.js.map +1 -1
- package/index.full.min.mjs +15 -19
- package/index.full.min.mjs.map +1 -1
- package/index.full.mjs +319 -319
- package/lib/components/breadcrumb-card/index.d.ts +0 -13
- package/lib/components/breadcrumb-card/src/breadcrumb-card.d.ts +0 -6
- package/lib/components/breadcrumb-card/src/breadcrumb-card.vue.d.ts +0 -13
- package/lib/components/cropper/index.d.ts +16 -0
- package/lib/components/cropper/src/cropper-image.d.ts +4 -0
- package/lib/components/cropper/src/cropper-modal.vue.d.ts +16 -0
- package/lib/packages/components/breadcrumb-card/src/breadcrumb-card.js +3 -3
- package/lib/packages/components/breadcrumb-card/src/breadcrumb-card.js.map +1 -1
- package/lib/packages/components/breadcrumb-card/src/breadcrumb-card.vue2.js +0 -15
- package/lib/packages/components/breadcrumb-card/src/breadcrumb-card.vue2.js.map +1 -1
- package/lib/packages/components/cropper/src/cropper-image.js +28 -3
- package/lib/packages/components/cropper/src/cropper-image.js.map +1 -1
- package/lib/packages/components/cropper/src/cropper-modal.vue2.js +3 -3
- package/lib/packages/components/cropper/src/cropper-modal.vue2.js.map +1 -1
- package/lib/packages/components/select-group/src/select-group.vue2.js +8 -5
- package/lib/packages/components/select-group/src/select-group.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/main-table.vue2.js +277 -290
- package/lib/packages/components/table/src/components/main-table.vue2.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/css/index.css +1 -1
- package/theme-chalk/css/table.css +1 -1
- package/theme-chalk/fonts/iconfont.js +1 -1
- package/theme-chalk/fonts/iconfont.json +30 -9
- package/types/packages/components/breadcrumb-card/index.d.ts +0 -13
- package/types/packages/components/breadcrumb-card/src/breadcrumb-card.d.ts +0 -6
- package/types/packages/components/breadcrumb-card/src/breadcrumb-card.vue.d.ts +0 -13
- package/types/packages/components/cropper/index.d.ts +16 -0
- package/types/packages/components/cropper/src/cropper-image.d.ts +4 -0
- package/types/packages/components/cropper/src/cropper-modal.vue.d.ts +16 -0
|
@@ -9,12 +9,6 @@ export declare const LlBreadcrumbCard: import("ll-plus/es/utils").SFCWithInstall
|
|
|
9
9
|
__epPropKey: true;
|
|
10
10
|
};
|
|
11
11
|
readonly zIndex: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1000, boolean>;
|
|
12
|
-
readonly getContainer: {
|
|
13
|
-
readonly type: import("vue").PropType<() => false | HTMLElement>;
|
|
14
|
-
readonly required: false;
|
|
15
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
16
|
-
__epPropKey: true;
|
|
17
|
-
};
|
|
18
12
|
readonly keyboard: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
19
13
|
readonly visible: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
20
14
|
readonly title: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "标题", boolean>;
|
|
@@ -26,7 +20,6 @@ export declare const LlBreadcrumbCard: import("ll-plus/es/utils").SFCWithInstall
|
|
|
26
20
|
readonly keyboard: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
27
21
|
readonly isShowFooterShadow: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
28
22
|
readonly footerShadowPlacement: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "inner" | "outer", unknown>;
|
|
29
|
-
readonly getContainer?: (() => false | HTMLElement) | undefined;
|
|
30
23
|
readonly rootClass?: string | undefined;
|
|
31
24
|
readonly "onUpdate:visible"?: ((bool: boolean) => any) | undefined;
|
|
32
25
|
readonly onClose?: ((bool: boolean) => any) | undefined;
|
|
@@ -65,12 +58,6 @@ export declare const LlBreadcrumbCard: import("ll-plus/es/utils").SFCWithInstall
|
|
|
65
58
|
__epPropKey: true;
|
|
66
59
|
};
|
|
67
60
|
readonly zIndex: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1000, boolean>;
|
|
68
|
-
readonly getContainer: {
|
|
69
|
-
readonly type: import("vue").PropType<() => false | HTMLElement>;
|
|
70
|
-
readonly required: false;
|
|
71
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
72
|
-
__epPropKey: true;
|
|
73
|
-
};
|
|
74
61
|
readonly keyboard: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
75
62
|
readonly visible: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
76
63
|
readonly title: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "标题", boolean>;
|
|
@@ -10,12 +10,6 @@ export declare const breadcrumbCardProps: {
|
|
|
10
10
|
__epPropKey: true;
|
|
11
11
|
};
|
|
12
12
|
readonly zIndex: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1000, boolean>;
|
|
13
|
-
readonly getContainer: {
|
|
14
|
-
readonly type: import("vue").PropType<() => HTMLElement | HTMLElement | false>;
|
|
15
|
-
readonly required: false;
|
|
16
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
17
|
-
__epPropKey: true;
|
|
18
|
-
};
|
|
19
13
|
readonly keyboard: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
20
14
|
readonly visible: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
21
15
|
readonly title: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "标题", boolean>;
|
|
@@ -8,12 +8,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
8
8
|
__epPropKey: true;
|
|
9
9
|
};
|
|
10
10
|
readonly zIndex: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1000, boolean>;
|
|
11
|
-
readonly getContainer: {
|
|
12
|
-
readonly type: import("vue").PropType<() => false | HTMLElement>;
|
|
13
|
-
readonly required: false;
|
|
14
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
15
|
-
__epPropKey: true;
|
|
16
|
-
};
|
|
17
11
|
readonly keyboard: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
18
12
|
readonly visible: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
19
13
|
readonly title: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "标题", boolean>;
|
|
@@ -25,7 +19,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
25
19
|
readonly keyboard: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
26
20
|
readonly isShowFooterShadow: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
27
21
|
readonly footerShadowPlacement: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "inner" | "outer", unknown>;
|
|
28
|
-
readonly getContainer?: (() => false | HTMLElement) | undefined;
|
|
29
22
|
readonly rootClass?: string | undefined;
|
|
30
23
|
readonly "onUpdate:visible"?: ((bool: boolean) => any) | undefined;
|
|
31
24
|
readonly onClose?: ((bool: boolean) => any) | undefined;
|
|
@@ -64,12 +57,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
64
57
|
__epPropKey: true;
|
|
65
58
|
};
|
|
66
59
|
readonly zIndex: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1000, boolean>;
|
|
67
|
-
readonly getContainer: {
|
|
68
|
-
readonly type: import("vue").PropType<() => false | HTMLElement>;
|
|
69
|
-
readonly required: false;
|
|
70
|
-
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
71
|
-
__epPropKey: true;
|
|
72
|
-
};
|
|
73
60
|
readonly keyboard: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
74
61
|
readonly visible: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
75
62
|
readonly title: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "标题", boolean>;
|
|
@@ -93,11 +93,19 @@ export declare const LlCropperModal: import("ll-plus/es/utils").SFCWithInstall<i
|
|
|
93
93
|
readonly circled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
94
94
|
readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
95
95
|
readonly avatar: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
96
|
+
readonly avatarSize: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 64, boolean>;
|
|
97
|
+
readonly avatarType: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "circle" | "square") | (() => "circle" | "square") | ((new (...args: any[]) => "circle" | "square") | (() => "circle" | "square"))[], unknown, unknown, () => "circle", boolean>;
|
|
98
|
+
readonly title: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "图片裁剪", boolean>;
|
|
99
|
+
readonly width: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "800px", boolean>;
|
|
96
100
|
}, {
|
|
97
101
|
props: import("@vue/shared").LooseRequired<{
|
|
98
102
|
readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
103
|
+
readonly title: string;
|
|
104
|
+
readonly width: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
99
105
|
readonly avatar: string;
|
|
100
106
|
readonly circled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
107
|
+
readonly avatarSize: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
108
|
+
readonly avatarType: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => "circle" | "square") | (() => "circle" | "square") | ((new (...args: any[]) => "circle" | "square") | (() => "circle" | "square"))[], unknown, unknown>;
|
|
101
109
|
readonly onConfirm?: ((params: {
|
|
102
110
|
blob: Blob;
|
|
103
111
|
previewSource: string;
|
|
@@ -228,6 +236,10 @@ export declare const LlCropperModal: import("ll-plus/es/utils").SFCWithInstall<i
|
|
|
228
236
|
readonly circled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
229
237
|
readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
230
238
|
readonly avatar: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
239
|
+
readonly avatarSize: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 64, boolean>;
|
|
240
|
+
readonly avatarType: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "circle" | "square") | (() => "circle" | "square") | ((new (...args: any[]) => "circle" | "square") | (() => "circle" | "square"))[], unknown, unknown, () => "circle", boolean>;
|
|
241
|
+
readonly title: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "图片裁剪", boolean>;
|
|
242
|
+
readonly width: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "800px", boolean>;
|
|
231
243
|
}>> & {
|
|
232
244
|
onConfirm?: ((params: {
|
|
233
245
|
blob: Blob;
|
|
@@ -235,8 +247,12 @@ export declare const LlCropperModal: import("ll-plus/es/utils").SFCWithInstall<i
|
|
|
235
247
|
}) => any) | undefined;
|
|
236
248
|
}, {
|
|
237
249
|
readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
250
|
+
readonly title: string;
|
|
251
|
+
readonly width: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
238
252
|
readonly avatar: string;
|
|
239
253
|
readonly circled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
254
|
+
readonly avatarSize: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
255
|
+
readonly avatarType: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => "circle" | "square") | (() => "circle" | "square") | ((new (...args: any[]) => "circle" | "square") | (() => "circle" | "square"))[], unknown, unknown>;
|
|
240
256
|
}, {}>>;
|
|
241
257
|
export * from './src/cropper-image';
|
|
242
258
|
declare module 'vue' {
|
|
@@ -36,6 +36,10 @@ export declare const cropperModalProps: {
|
|
|
36
36
|
readonly circled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
37
37
|
readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
38
38
|
readonly avatar: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
39
|
+
readonly avatarSize: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 64, boolean>;
|
|
40
|
+
readonly avatarType: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "circle" | "square") | (() => "circle" | "square") | ((new (...args: any[]) => "circle" | "square") | (() => "circle" | "square"))[], unknown, unknown, () => "circle", boolean>;
|
|
41
|
+
readonly title: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "图片裁剪", boolean>;
|
|
42
|
+
readonly width: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "800px", boolean>;
|
|
39
43
|
};
|
|
40
44
|
export declare const cropperModalEmits: {
|
|
41
45
|
readonly confirm: (params: {
|
|
@@ -5,11 +5,19 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5
5
|
readonly circled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
6
6
|
readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
7
7
|
readonly avatar: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
8
|
+
readonly avatarSize: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 64, boolean>;
|
|
9
|
+
readonly avatarType: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "circle" | "square") | (() => "circle" | "square") | ((new (...args: any[]) => "circle" | "square") | (() => "circle" | "square"))[], unknown, unknown, () => "circle", boolean>;
|
|
10
|
+
readonly title: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "图片裁剪", boolean>;
|
|
11
|
+
readonly width: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "800px", boolean>;
|
|
8
12
|
}, {
|
|
9
13
|
props: import("@vue/shared").LooseRequired<{
|
|
10
14
|
readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
15
|
+
readonly title: string;
|
|
16
|
+
readonly width: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
11
17
|
readonly avatar: string;
|
|
12
18
|
readonly circled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
19
|
+
readonly avatarSize: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
20
|
+
readonly avatarType: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => "circle" | "square") | (() => "circle" | "square") | ((new (...args: any[]) => "circle" | "square") | (() => "circle" | "square"))[], unknown, unknown>;
|
|
13
21
|
readonly onConfirm?: ((params: {
|
|
14
22
|
blob: Blob;
|
|
15
23
|
previewSource: string;
|
|
@@ -140,6 +148,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
140
148
|
readonly circled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
141
149
|
readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
142
150
|
readonly avatar: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
151
|
+
readonly avatarSize: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 64, boolean>;
|
|
152
|
+
readonly avatarType: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "circle" | "square") | (() => "circle" | "square") | ((new (...args: any[]) => "circle" | "square") | (() => "circle" | "square"))[], unknown, unknown, () => "circle", boolean>;
|
|
153
|
+
readonly title: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "图片裁剪", boolean>;
|
|
154
|
+
readonly width: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "800px", boolean>;
|
|
143
155
|
}>> & {
|
|
144
156
|
onConfirm?: ((params: {
|
|
145
157
|
blob: Blob;
|
|
@@ -147,7 +159,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
147
159
|
}) => any) | undefined;
|
|
148
160
|
}, {
|
|
149
161
|
readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
162
|
+
readonly title: string;
|
|
163
|
+
readonly width: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
150
164
|
readonly avatar: string;
|
|
151
165
|
readonly circled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
166
|
+
readonly avatarSize: import("ll-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
167
|
+
readonly avatarType: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => "circle" | "square") | (() => "circle" | "square") | ((new (...args: any[]) => "circle" | "square") | (() => "circle" | "square"))[], unknown, unknown>;
|
|
152
168
|
}, {}>;
|
|
153
169
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import '../../../utils/index.mjs';
|
|
2
2
|
import '../../new-drawer/index.mjs';
|
|
3
|
-
import { buildProps
|
|
3
|
+
import { buildProps } from '../../../utils/props/runtime.mjs';
|
|
4
4
|
import { footerShadowPlacement } from '../../new-drawer/src/drawer.mjs';
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
@@ -37,9 +37,9 @@ const breadcrumbCardProps = buildProps({
|
|
|
37
37
|
/**
|
|
38
38
|
* @description 指定BreadcrumbCard挂载的节点,并在容器内展现,false为挂载在当前位置
|
|
39
39
|
*/
|
|
40
|
-
getContainer: {
|
|
41
|
-
|
|
42
|
-
},
|
|
40
|
+
// getContainer: {
|
|
41
|
+
// type: definePropType<() => HTMLElement | HTMLElement | false>(Object)
|
|
42
|
+
// },
|
|
43
43
|
/**
|
|
44
44
|
* @description 是否支持键盘esc关闭
|
|
45
45
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb-card.mjs","sources":["../../../../../../packages/components/breadcrumb-card/src/breadcrumb-card.ts"],"sourcesContent":["import { buildProps
|
|
1
|
+
{"version":3,"file":"breadcrumb-card.mjs","sources":["../../../../../../packages/components/breadcrumb-card/src/breadcrumb-card.ts"],"sourcesContent":["import { buildProps } from '@ll-plus/utils'\nimport { footerShadowPlacement } from '../../new-drawer'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type BreadcrumbCard from './breadcrumb-card.vue'\n\nexport const breadcrumbCardProps = buildProps({\n // buildProps和defineprops一样\n /**\n * @description 滚动是否显示底部阴影\n */\n isShowFooterShadow: {\n type: Boolean,\n default: true\n },\n /**\n * @description 决定底部阴影的方向(外部和内部),默认由内容区域来决定\n */\n footerShadowPlacement: {\n type: String,\n values: footerShadowPlacement,\n default: 'inner'\n },\n /**\n * @description 最外层的class\n */\n rootClass: {\n type: String\n },\n /**\n * @description 设置BreadcrumbCard的z-index\n */\n zIndex: {\n type: Number,\n default: 1000\n },\n /**\n * @description 指定BreadcrumbCard挂载的节点,并在容器内展现,false为挂载在当前位置\n */\n // getContainer: {\n // type: definePropType<() => HTMLElement | HTMLElement | false>(Object)\n // },\n /**\n * @description 是否支持键盘esc关闭\n */\n keyboard: {\n type: Boolean,\n default: true\n },\n /**\n * @description 是否可见\n */\n visible: {\n type: Boolean,\n default: false\n },\n /**\n * @description 标题\n */\n title: {\n type: String,\n default: '标题'\n }\n} as const)\n\nexport const breadcrumbCardEmits = {\n close: (bool: boolean) => bool, // 点击左侧返回关闭事件\n 'update:visible': (bool: boolean) => bool // 关闭打开弹窗\n}\n\n// props\nexport type BreadcrumbCardProps = ExtractPropTypes<typeof breadcrumbCardProps> // ExtractPropTypes和defineCpmponent类似\n\n// instance\nexport type BreadcrumbCardInstance = InstanceType<typeof BreadcrumbCard>\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,sBAAsB,UAAW,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAK5C,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,qBAAuB,EAAA;AAAA,IACrB,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,qBAAA;AAAA,IACR,OAAS,EAAA,OAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,mBAAsB,GAAA;AAAA,EACjC,KAAA,EAAO,CAAC,IAAkB,KAAA,IAAA;AAAA;AAAA,EAC1B,gBAAA,EAAkB,CAAC,IAAkB,KAAA,IAAA;AAAA;AACvC;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, computed,
|
|
1
|
+
import { defineComponent, ref, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, createElementVNode, createCommentVNode, createVNode, withCtx, createTextVNode, toDisplayString, renderSlot, mergeProps } from 'vue';
|
|
2
2
|
import '../../../utils/index.mjs';
|
|
3
3
|
import '../../../hooks/index.mjs';
|
|
4
4
|
import { breadcrumbCardProps, breadcrumbCardEmits } from './breadcrumb-card.mjs';
|
|
@@ -33,21 +33,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
33
33
|
emits("update:visible", false);
|
|
34
34
|
emits("close", props.visible);
|
|
35
35
|
};
|
|
36
|
-
watch(
|
|
37
|
-
() => [props.visible, props.getContainer, breadcrumbCardRef.value],
|
|
38
|
-
() => {
|
|
39
|
-
if (props.visible && breadcrumbCardRef && breadcrumbCardRef.value) {
|
|
40
|
-
console.log(props, 123);
|
|
41
|
-
if (props.getContainer) {
|
|
42
|
-
const parentNode = typeof props.getContainer === "function" ? props.getContainer() : props.getContainer;
|
|
43
|
-
parentNode.appendChild(breadcrumbCardRef.value);
|
|
44
|
-
} else {
|
|
45
|
-
document.body.appendChild(breadcrumbCardRef.value);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
{ immediate: true, deep: true }
|
|
50
|
-
);
|
|
51
36
|
const scrollTop = () => {
|
|
52
37
|
if (scrollRef && scrollRef.value) {
|
|
53
38
|
scrollRef.value.scrollTop = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb-card.vue2.mjs","sources":["../../../../../../packages/components/breadcrumb-card/src/breadcrumb-card.vue"],"sourcesContent":["<template>\n <div\n v-if=\"visible\"\n ref=\"breadcrumbCardRef\"\n :class=\"`${bem.b()} ${rootClass}`\"\n :style=\"rootStyle\"\n >\n <div :class=\"bem.e('container')\">\n <!-- 头部导航栏 -->\n <div :class=\"bem.e('header')\">\n <!-- 左边返回 -->\n <a-breadcrumb :class=\"bem.e('back')\">\n <a-breadcrumb-item class=\"icon\" @click=\"handleClose\">\n <ll-icon\n icon-name=\"icon-return-arrow\"\n class=\"back-icon\"\n :class=\"bem.e('back-icon')\"\n />\n </a-breadcrumb-item>\n <a-breadcrumb-item :class=\"bem.e('title')\">\n {{ title }}\n </a-breadcrumb-item>\n </a-breadcrumb>\n <!-- 头部右边插槽 -->\n <slot name=\"extra\" />\n </div>\n <!-- 内容区域 -->\n <div :class=\"`${bem.e('content')}`\" v-bind=\"$attrs\">\n <!-- 内容滚动区域 -->\n <div ref=\"scrollRef\" :class=\"`${bem.e('content-container')}`\">\n <slot />\n </div>\n </div>\n <!-- 底部footer -->\n <div\n v-if=\"$slots.footer\"\n :class=\"`${bem.e('footer')} ${\n isShowContentBottomBox ? bem.e('footer-shadow') : ''\n }`\"\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed
|
|
1
|
+
{"version":3,"file":"breadcrumb-card.vue2.mjs","sources":["../../../../../../packages/components/breadcrumb-card/src/breadcrumb-card.vue"],"sourcesContent":["<template>\n <div\n v-if=\"visible\"\n ref=\"breadcrumbCardRef\"\n :class=\"`${bem.b()} ${rootClass}`\"\n :style=\"rootStyle\"\n >\n <div :class=\"bem.e('container')\">\n <!-- 头部导航栏 -->\n <div :class=\"bem.e('header')\">\n <!-- 左边返回 -->\n <a-breadcrumb :class=\"bem.e('back')\">\n <a-breadcrumb-item class=\"icon\" @click=\"handleClose\">\n <ll-icon\n icon-name=\"icon-return-arrow\"\n class=\"back-icon\"\n :class=\"bem.e('back-icon')\"\n />\n </a-breadcrumb-item>\n <a-breadcrumb-item :class=\"bem.e('title')\">\n {{ title }}\n </a-breadcrumb-item>\n </a-breadcrumb>\n <!-- 头部右边插槽 -->\n <slot name=\"extra\" />\n </div>\n <!-- 内容区域 -->\n <div :class=\"`${bem.e('content')}`\" v-bind=\"$attrs\">\n <!-- 内容滚动区域 -->\n <div ref=\"scrollRef\" :class=\"`${bem.e('content-container')}`\">\n <slot />\n </div>\n </div>\n <!-- 底部footer -->\n <div\n v-if=\"$slots.footer\"\n :class=\"`${bem.e('footer')} ${\n isShowContentBottomBox ? bem.e('footer-shadow') : ''\n }`\"\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed } from 'vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport { useScroll } from '@ll-plus/hooks'\n\nimport { breadcrumbCardProps, breadcrumbCardEmits } from './breadcrumb-card'\n\n// 1.defineOptions\ndefineOptions({\n name: 'LlBreadcrumbCard'\n})\n\n// 2.props/emits\nconst props = defineProps(breadcrumbCardProps)\nconst emits = defineEmits(breadcrumbCardEmits)\n\n// 3.hooks\nconst { scrollPosition, isHasScrollBar, scrollRef } = useScroll()\n\n// 4.ref/computed/const\nconst breadcrumbCardRef = ref<HTMLElement>()\n// 设置rootStyle获取z-index\nconst rootStyle = computed(() => {\n return { zIndex: props.zIndex }\n})\n// 是否显示底部的阴影\nconst isShowContentBottomBox = computed(() => {\n // 如果顶部的阴影为true则说明是内部的容器在滚动产品的阴影 则由容器的滚动情况来决定阴影\n if (props.footerShadowPlacement === 'inner') {\n return (\n props.isShowFooterShadow &&\n isHasScrollBar.value &&\n scrollPosition.value !== 'bottom'\n )\n } else {\n // 如果顶部的阴影为false,则说明不是内部容器滚动,则底部的阴影由 外部的isShowFooterShadow来决定\n return props.isShowFooterShadow\n }\n})\nconst bem = createNamespace('breadcrumb-card')\n\n// 5.methods\n// 点击头部返回图标\nconst handleClose = async () => {\n emits('update:visible', false)\n emits('close', props.visible)\n}\n// 6.watchEffect\n// 监听添加弹窗的位置\n// watchEffect(() => {\n// if (props.visible && breadcrumbCardRef.value) {\n// // 添加到指定的位置下\n// if (isAdd.value) return\n// if (props.getContainer) {\n// const parentNode: any =\n// typeof props.getContainer === 'function'\n// ? props.getContainer()\n// : props.getContainer\n// parentNode.appendChild(breadcrumbCardRef.value!)\n// } else {\n// // 添加到body下\n// document.body.appendChild(breadcrumbCardRef.value!)\n// }\n// isAdd.value = true\n// }\n// })\n\n// 滚动条返回顶部\nconst scrollTop = () => {\n if (scrollRef && scrollRef.value) {\n scrollRef.value.scrollTop = 0\n scrollPosition.value = 'top'\n }\n}\n\n// 7.defineExpose\ndefineExpose({\n scrollTop\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA2DA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAGd,IAAA,MAAM,EAAE,cAAA,EAAgB,cAAgB,EAAA,SAAA,KAAc,SAAU,EAAA,CAAA;AAGhE,IAAA,MAAM,oBAAoB,GAAiB,EAAA,CAAA;AAE3C,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAO,OAAA,EAAE,MAAQ,EAAA,KAAA,CAAM,MAAO,EAAA,CAAA;AAAA,KAC/B,CAAA,CAAA;AAED,IAAM,MAAA,sBAAA,GAAyB,SAAS,MAAM;AAE5C,MAAI,IAAA,KAAA,CAAM,0BAA0B,OAAS,EAAA;AAC3C,QAAA,OACE,KAAM,CAAA,kBAAA,IACN,cAAe,CAAA,KAAA,IACf,eAAe,KAAU,KAAA,QAAA,CAAA;AAAA,OAEtB,MAAA;AAEL,QAAA,OAAO,KAAM,CAAA,kBAAA,CAAA;AAAA,OACf;AAAA,KACD,CAAA,CAAA;AACD,IAAM,MAAA,GAAA,GAAM,gBAAgB,iBAAiB,CAAA,CAAA;AAI7C,IAAA,MAAM,cAAc,YAAY;AAC9B,MAAA,KAAA,CAAM,kBAAkB,KAAK,CAAA,CAAA;AAC7B,MAAM,KAAA,CAAA,OAAA,EAAS,MAAM,OAAO,CAAA,CAAA;AAAA,KAC9B,CAAA;AAsBA,IAAA,MAAM,YAAY,MAAM;AACtB,MAAI,IAAA,SAAA,IAAa,UAAU,KAAO,EAAA;AAChC,QAAA,SAAA,CAAU,MAAM,SAAY,GAAA,CAAA,CAAA;AAC5B,QAAA,cAAA,CAAe,KAAQ,GAAA,KAAA,CAAA;AAAA,OACzB;AAAA,KACF,CAAA;AAGA,IAAa,QAAA,CAAA;AAAA,MACX,SAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -65,9 +65,34 @@ const cropperImageEmits = {
|
|
|
65
65
|
cropendError: () => true
|
|
66
66
|
};
|
|
67
67
|
const cropperModalProps = buildProps({
|
|
68
|
-
circled: {
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
circled: {
|
|
69
|
+
type: Boolean,
|
|
70
|
+
default: true
|
|
71
|
+
},
|
|
72
|
+
disabled: {
|
|
73
|
+
type: Boolean,
|
|
74
|
+
default: false
|
|
75
|
+
},
|
|
76
|
+
avatar: {
|
|
77
|
+
type: String,
|
|
78
|
+
default: ""
|
|
79
|
+
},
|
|
80
|
+
avatarSize: {
|
|
81
|
+
type: [String, Number],
|
|
82
|
+
default: 64
|
|
83
|
+
},
|
|
84
|
+
avatarType: {
|
|
85
|
+
type: definePropType(String),
|
|
86
|
+
default: () => "circle"
|
|
87
|
+
},
|
|
88
|
+
title: {
|
|
89
|
+
type: String,
|
|
90
|
+
default: "\u56FE\u7247\u88C1\u526A"
|
|
91
|
+
},
|
|
92
|
+
width: {
|
|
93
|
+
type: [String, Number],
|
|
94
|
+
default: "800px"
|
|
95
|
+
}
|
|
71
96
|
});
|
|
72
97
|
const cropperModalEmits = {
|
|
73
98
|
confirm: (params) => !!params
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cropper-image.mjs","sources":["../../../../../../packages/components/cropper/src/cropper-image.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes, CSSProperties } from 'vue'\nimport type Cropper from 'cropperjs'\nimport type CropperImage from './cropper-image.vue'\nimport type CropperModal from './cropper-modal.vue'\n\nexport interface CropendResult {\n imgBase64: string\n imgInfo: Cropper.Data\n}\n\nexport const defaultCropperOptions: Cropper.Options = {\n aspectRatio: 1,\n zoomable: true,\n zoomOnTouch: true,\n zoomOnWheel: true,\n cropBoxMovable: true,\n cropBoxResizable: true,\n toggleDragModeOnDblclick: true,\n autoCrop: true,\n background: true,\n highlight: true,\n center: true,\n responsive: true,\n restore: true,\n checkCrossOrigin: true,\n checkOrientation: true,\n scalable: true,\n modal: true,\n guides: true,\n movable: true,\n rotatable: true\n}\n\nexport const cropperImageProps = buildProps({\n src: {\n type: String,\n required: true\n },\n alt: {\n type: String\n },\n circled: {\n type: Boolean,\n default: false\n },\n realTimePreview: {\n type: Boolean,\n default: true\n },\n height: {\n type: [String, Number],\n default: '360px'\n },\n crossorigin: {\n type: definePropType<'' | 'anonymous' | 'use-credentials' | undefined>(\n String\n ),\n default: undefined\n },\n imageStyle: {\n type: definePropType<CSSProperties>(Object),\n default: () => ({})\n },\n options: {\n type: definePropType<Cropper.Options>(Object),\n default: () => ({})\n }\n} as const)\n\nexport const cropperImageEmits = {\n cropend: (params: CropendResult) => !!params,\n onReady: (cropper: Cropper) => !!cropper,\n cropendError: () => true\n} as const\n\nexport const cropperModalProps = buildProps({\n circled: {
|
|
1
|
+
{"version":3,"file":"cropper-image.mjs","sources":["../../../../../../packages/components/cropper/src/cropper-image.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes, CSSProperties } from 'vue'\nimport type Cropper from 'cropperjs'\nimport type CropperImage from './cropper-image.vue'\nimport type CropperModal from './cropper-modal.vue'\n\nexport interface CropendResult {\n imgBase64: string\n imgInfo: Cropper.Data\n}\n\nexport const defaultCropperOptions: Cropper.Options = {\n aspectRatio: 1,\n zoomable: true,\n zoomOnTouch: true,\n zoomOnWheel: true,\n cropBoxMovable: true,\n cropBoxResizable: true,\n toggleDragModeOnDblclick: true,\n autoCrop: true,\n background: true,\n highlight: true,\n center: true,\n responsive: true,\n restore: true,\n checkCrossOrigin: true,\n checkOrientation: true,\n scalable: true,\n modal: true,\n guides: true,\n movable: true,\n rotatable: true\n}\n\nexport const cropperImageProps = buildProps({\n src: {\n type: String,\n required: true\n },\n alt: {\n type: String\n },\n circled: {\n type: Boolean,\n default: false\n },\n realTimePreview: {\n type: Boolean,\n default: true\n },\n height: {\n type: [String, Number],\n default: '360px'\n },\n crossorigin: {\n type: definePropType<'' | 'anonymous' | 'use-credentials' | undefined>(\n String\n ),\n default: undefined\n },\n imageStyle: {\n type: definePropType<CSSProperties>(Object),\n default: () => ({})\n },\n options: {\n type: definePropType<Cropper.Options>(Object),\n default: () => ({})\n }\n} as const)\n\nexport const cropperImageEmits = {\n cropend: (params: CropendResult) => !!params,\n onReady: (cropper: Cropper) => !!cropper,\n cropendError: () => true\n} as const\n\nexport const cropperModalProps = buildProps({\n circled: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n avatar: {\n type: String,\n default: ''\n },\n avatarSize: {\n type: [String, Number],\n default: 64\n },\n avatarType: {\n type: definePropType<'square' | 'circle'>(String),\n default: () => 'circle'\n },\n title: {\n type: String,\n default: '图片裁剪'\n },\n width: {\n type: [String, Number],\n default: '800px'\n }\n} as const)\n\nexport const cropperModalEmits = {\n confirm: (params: { blob: Blob; previewSource: string }) => !!params\n} as const\n\n// props\nexport type CropperImageProps = ExtractPropTypes<typeof cropperImageProps>\nexport type CropperModalProps = ExtractPropTypes<typeof cropperModalProps>\n\n// emits\nexport type CropperImageEmits = typeof cropperImageEmits\nexport type CropperModalEmits = typeof cropperModalEmits\n\n// instance\nexport type CropperImageInstance = InstanceType<typeof CropperImage>\nexport type CropperModalInstance = InstanceType<typeof CropperModal>\n"],"names":[],"mappings":"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"}
|
|
@@ -71,8 +71,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
71
71
|
[
|
|
72
72
|
createVNode(_component_ll_modal, {
|
|
73
73
|
open: open.value,
|
|
74
|
-
title:
|
|
75
|
-
width:
|
|
74
|
+
title: props.title,
|
|
75
|
+
width: props.width,
|
|
76
76
|
keyboard: false,
|
|
77
77
|
"mask-closable": false,
|
|
78
78
|
"ok-text": "\u786E\u5B9A",
|
|
@@ -374,7 +374,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
374
374
|
]),
|
|
375
375
|
_: 1
|
|
376
376
|
/* STABLE */
|
|
377
|
-
}, 8, ["open"]),
|
|
377
|
+
}, 8, ["open", "title", "width"]),
|
|
378
378
|
createElementVNode(
|
|
379
379
|
"div",
|
|
380
380
|
{
|
|
@@ -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=\"
|
|
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=\"props.title\"\n :width=\"props.width\"\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 <a-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 </a-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-image\n :preview=\"false\"\n :src=\"previewSource\"\n :width=\"32\"\n :height=\"32\"\n />\n <ll-image\n :preview=\"false\"\n :src=\"previewSource\"\n :width=\"48\"\n :height=\"48\"\n />\n <ll-image\n :preview=\"false\"\n :src=\"previewSource\"\n :width=\"64\"\n :height=\"64\"\n />\n <ll-image\n :preview=\"false\"\n :src=\"previewSource\"\n :width=\"80\"\n :height=\"80\"\n />\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-image :src=\"avatar\" :width=\"64\" :height=\"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 { 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('')\n\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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"}
|
|
@@ -50,6 +50,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
50
50
|
value.value === -1 ? null : value.value
|
|
51
51
|
);
|
|
52
52
|
};
|
|
53
|
+
const setSelectGroup = (selectValue, currentValue) => {
|
|
54
|
+
typeSelectValue.value = selectValue;
|
|
55
|
+
value.value = currentValue;
|
|
56
|
+
};
|
|
53
57
|
watch(
|
|
54
58
|
() => props.data,
|
|
55
59
|
(newData) => {
|
|
@@ -79,6 +83,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
79
83
|
return newItem;
|
|
80
84
|
});
|
|
81
85
|
newList.value = list;
|
|
86
|
+
if (newList.value.length && !props.selectValue) {
|
|
87
|
+
typeSelectValue.value = newList.value[0].value;
|
|
88
|
+
}
|
|
82
89
|
}
|
|
83
90
|
},
|
|
84
91
|
{
|
|
@@ -86,14 +93,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
86
93
|
immediate: true
|
|
87
94
|
}
|
|
88
95
|
);
|
|
89
|
-
const setSelectGroup = (selectValue, currentValue) => {
|
|
90
|
-
typeSelectValue.value = selectValue;
|
|
91
|
-
value.value = currentValue;
|
|
92
|
-
};
|
|
93
96
|
watch(
|
|
94
97
|
() => [props.value, props.selectValue],
|
|
95
98
|
([currentValue, selectValue]) => {
|
|
96
|
-
typeSelectValue.value = selectValue || newList.value[0].value;
|
|
99
|
+
typeSelectValue.value = selectValue || newList.value.length ? newList.value[0].value : "";
|
|
97
100
|
if (typeSelectValue.value) {
|
|
98
101
|
const find = newList.value.find((e) => e.value === typeSelectValue.value);
|
|
99
102
|
selectItem.value = find;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-group.vue2.mjs","sources":["../../../../../../packages/components/select-group/src/select-group.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bemContainer.b()\">\n <a-input-group compact>\n <!-- 左侧select -->\n <a-select\n v-model:value=\"typeSelectValue\"\n class=\"select-group-left-select-container\"\n :style=\"{ minWidth: leftSelectWidth }\"\n @change=\"handleSelectChange\"\n >\n <a-select-option\n v-for=\"item in newList\"\n :key=\"item.name\"\n :value=\"item.value\"\n :item=\"item\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n <!-- 右侧组合表单 -->\n <!-- input输入框 -->\n <template\n v-if=\"\n !selectItem?.showFormType || selectItem?.showFormType === 'input'\n \"\n >\n <a-input\n v-model:value=\"value\"\n :class=\"bem.e('right-input')\"\n :placeholder=\"selectItem?.placeholder\"\n @press-enter=\"handleChange\"\n >\n <template #suffix>\n <ll-icon :icon-name=\"`icon-search`\" @click=\"handleChange\" />\n </template>\n </a-input>\n </template>\n <!-- select下拉框 -->\n <template v-else-if=\"selectItem?.showFormType === 'select'\">\n <a-select\n v-model:value=\"value\"\n :class=\"bem.e('right-select')\"\n popup-class-name=\"select-group-right-select\"\n :options=\"selectItem?.options\"\n :placeholder=\"selectItem?.placeholder\"\n :field-names=\"selectItem?.fieldNames\"\n @change=\"handleChange\"\n >\n <a-select-option\n v-for=\"item in selectItem.list\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n </template>\n <!-- 日期选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'range-picker'\">\n <a-range-picker\n v-model:value=\"value\"\n :class=\"bem.e('right-range-picker')\"\n @change=\"handleChange\"\n />\n </template>\n <!-- 树选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'treeSelect'\">\n <a-tree-select\n v-model:value=\"value\"\n :class=\"bem.e('right-tree-select')\"\n :field-names=\"selectItem.fieldNames\"\n :placeholder=\"selectItem?.placeholder\"\n :tree-data=\"selectItem.list\"\n @select=\"handleChange\"\n ></a-tree-select>\n </template>\n <template v-else>\n <slot name=\"extra\" v-bind=\"selectItem\" />\n </template>\n </a-input-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue'\nimport { has } from 'lodash-es'\n\nimport { selectGroupProps, selectGroupEmits } from './select-group'\nimport { createNamespace } from '@ll-plus/utils'\nimport { hasValue } from '../../advanced-filtering'\nimport { LEFT_SELECT_MIN_WIDTH } from './select-group'\n\nimport type { SelectGroupData } from './select-group'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlSelectGroup' })\n\n// 1.props/emits\nconst props = defineProps(selectGroupProps)\nconst emits = defineEmits(selectGroupEmits)\n\n// 3.ref/const\nconst typeSelectValue = ref('1') // selectinput组合select的值\nconst value = ref<any>('') // 左边的value\nconst selectItem = ref<SelectGroupData>() // 选中表单的类型\nconst newList = ref<SelectGroupData[]>([]) // 处理后的数据,比如select的类型前面加个全部\nconst bem = createNamespace('select-group')\nconst bemContainer = createNamespace('select-group-container')\n\n// 动态计算左边文字最长的宽度\nconst leftSelectWidth = computed(() => {\n const names = newList.value.map(item => item.name.length)\n const maxNameLength = Math.max(...names)\n if (maxNameLength <= 3) {\n return LEFT_SELECT_MIN_WIDTH + 'px'\n }\n const width = LEFT_SELECT_MIN_WIDTH + (maxNameLength - 3) * 14\n return width + 'px'\n})\n\n// 4.methods\n// 第一个select的change\nconst handleSelectChange = (_: string, options: any) => {\n const item = options.item\n const formType = item.showFormType\n // 如果\n if (!formType || formType === 'input' || formType === 'treeSelect') {\n value.value = ''\n } else if (formType === 'range-picker') {\n value.value = [undefined, undefined]\n } else if (formType === 'select') {\n value.value = item.noFirstAddAll ? undefined : -1\n }\n selectItem.value = options.item\n emits('onSelectChange', _, item)\n}\n// 整合处理change\nconst handleChange = () => {\n // 过滤-1的下拉全部\n emits(\n 'change',\n selectItem.value?.value as string,\n value.value === -1 ? null : value.value\n )\n}\n\n// 5.watch\n// 已第一个为标准\nwatch(\n () => props.data as SelectGroupData[],\n newData => {\n let list: SelectGroupData[] = []\n if (newData && newData.length) {\n list = newData.map(item => {\n const newItem = { ...item }\n if (newItem.showFormType === 'select') {\n if (has(newItem, 'options') && !newItem.noFirstAddAll) {\n newItem.options = [\n {\n label: '全部',\n value: -1\n },\n ...newItem.options!\n ]\n } else if (has(newItem, 'list') && !newItem.noFirstAddAll) {\n newItem.list = [\n {\n name: '全部',\n value: -1\n },\n ...newItem.list!\n ]\n }\n }\n return newItem\n })\n\n newList.value = list\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nconst setSelectGroup = (selectValue: string, currentValue: any) => {\n typeSelectValue.value = selectValue\n value.value = currentValue\n}\n\nwatch(\n () => [props.value, props.selectValue] as [any, string],\n ([currentValue, selectValue]) => {\n typeSelectValue.value = selectValue || newList.value[0].value\n if (typeSelectValue.value) {\n const find = newList.value.find(e => e.value === typeSelectValue.value)\n selectItem.value = find\n if (find && find.showFormType === 'select' && !find.noFirstAddAll) {\n value.value = !hasValue(currentValue) ? -1 : currentValue\n } else {\n value.value = currentValue\n }\n }\n },\n {\n immediate: true\n }\n)\n\ndefineExpose({ setSelectGroup })\n</script>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select-group.vue2.mjs","sources":["../../../../../../packages/components/select-group/src/select-group.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bemContainer.b()\">\n <a-input-group compact>\n <!-- 左侧select -->\n <a-select\n v-model:value=\"typeSelectValue\"\n class=\"select-group-left-select-container\"\n :style=\"{ minWidth: leftSelectWidth }\"\n @change=\"handleSelectChange\"\n >\n <a-select-option\n v-for=\"item in newList\"\n :key=\"item.name\"\n :value=\"item.value\"\n :item=\"item\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n <!-- 右侧组合表单 -->\n <!-- input输入框 -->\n <template\n v-if=\"\n !selectItem?.showFormType || selectItem?.showFormType === 'input'\n \"\n >\n <a-input\n v-model:value=\"value\"\n :class=\"bem.e('right-input')\"\n :placeholder=\"selectItem?.placeholder\"\n @press-enter=\"handleChange\"\n >\n <template #suffix>\n <ll-icon :icon-name=\"`icon-search`\" @click=\"handleChange\" />\n </template>\n </a-input>\n </template>\n <!-- select下拉框 -->\n <template v-else-if=\"selectItem?.showFormType === 'select'\">\n <a-select\n v-model:value=\"value\"\n :class=\"bem.e('right-select')\"\n popup-class-name=\"select-group-right-select\"\n :options=\"selectItem?.options\"\n :placeholder=\"selectItem?.placeholder\"\n :field-names=\"selectItem?.fieldNames\"\n @change=\"handleChange\"\n >\n <a-select-option\n v-for=\"item in selectItem.list\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n </template>\n <!-- 日期选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'range-picker'\">\n <a-range-picker\n v-model:value=\"value\"\n :class=\"bem.e('right-range-picker')\"\n @change=\"handleChange\"\n />\n </template>\n <!-- 树选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'treeSelect'\">\n <a-tree-select\n v-model:value=\"value\"\n :class=\"bem.e('right-tree-select')\"\n :field-names=\"selectItem.fieldNames\"\n :placeholder=\"selectItem?.placeholder\"\n :tree-data=\"selectItem.list\"\n @select=\"handleChange\"\n ></a-tree-select>\n </template>\n <template v-else>\n <slot name=\"extra\" v-bind=\"selectItem\" />\n </template>\n </a-input-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue'\nimport { has } from 'lodash-es'\n\nimport { selectGroupProps, selectGroupEmits } from './select-group'\nimport { createNamespace } from '@ll-plus/utils'\nimport { hasValue } from '../../advanced-filtering'\nimport { LEFT_SELECT_MIN_WIDTH } from './select-group'\n\nimport type { SelectGroupData } from './select-group'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlSelectGroup' })\n\n// 1.props/emits\nconst props = defineProps(selectGroupProps)\nconst emits = defineEmits(selectGroupEmits)\n\n// 3.ref/const\nconst typeSelectValue = ref('1') // selectinput组合select的值\nconst value = ref<any>('') // 左边的value\nconst selectItem = ref<SelectGroupData>() // 选中表单的类型\nconst newList = ref<SelectGroupData[]>([]) // 处理后的数据,比如select的类型前面加个全部\nconst bem = createNamespace('select-group')\nconst bemContainer = createNamespace('select-group-container')\n\n// 动态计算左边文字最长的宽度\nconst leftSelectWidth = computed(() => {\n const names = newList.value.map(item => item.name.length)\n const maxNameLength = Math.max(...names)\n if (maxNameLength <= 3) {\n return LEFT_SELECT_MIN_WIDTH + 'px'\n }\n const width = LEFT_SELECT_MIN_WIDTH + (maxNameLength - 3) * 14\n return width + 'px'\n})\n\n// 4.methods\n// 第一个select的change\nconst handleSelectChange = (_: string, options: any) => {\n const item = options.item\n const formType = item.showFormType\n // 如果\n if (!formType || formType === 'input' || formType === 'treeSelect') {\n value.value = ''\n } else if (formType === 'range-picker') {\n value.value = [undefined, undefined]\n } else if (formType === 'select') {\n value.value = item.noFirstAddAll ? undefined : -1\n }\n selectItem.value = options.item\n emits('onSelectChange', _, item)\n}\n// 整合处理change\nconst handleChange = () => {\n // 过滤-1的下拉全部\n emits(\n 'change',\n selectItem.value?.value as string,\n value.value === -1 ? null : value.value\n )\n}\nconst setSelectGroup = (selectValue: string, currentValue: any) => {\n typeSelectValue.value = selectValue\n value.value = currentValue\n}\n\n// 5.watch\n// 已第一个为标准\nwatch(\n () => props.data as SelectGroupData[],\n newData => {\n let list: SelectGroupData[] = []\n if (newData && newData.length) {\n list = newData.map(item => {\n const newItem = { ...item }\n if (newItem.showFormType === 'select') {\n if (has(newItem, 'options') && !newItem.noFirstAddAll) {\n newItem.options = [\n {\n label: '全部',\n value: -1\n },\n ...newItem.options!\n ]\n } else if (has(newItem, 'list') && !newItem.noFirstAddAll) {\n newItem.list = [\n {\n name: '全部',\n value: -1\n },\n ...newItem.list!\n ]\n }\n }\n return newItem\n })\n\n newList.value = list\n if (newList.value.length && !props.selectValue) {\n typeSelectValue.value = newList.value[0].value\n }\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nwatch(\n () => [props.value, props.selectValue] as [any, string],\n ([currentValue, selectValue]) => {\n typeSelectValue.value =\n selectValue || newList.value.length ? newList.value[0].value : ''\n if (typeSelectValue.value) {\n const find = newList.value.find(e => e.value === typeSelectValue.value)\n selectItem.value = find\n if (find && find.showFormType === 'select' && !find.noFirstAddAll) {\n value.value = !hasValue(currentValue) ? -1 : currentValue\n } else {\n value.value = currentValue\n }\n }\n },\n {\n immediate: true\n }\n)\n\ndefineExpose({ setSelectGroup })\n</script>\n"],"names":[],"mappings":"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"}
|