@a2ui-vue3-elementplus/element-plus 0.1.0
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/dist/A2RealtimeRenderer.vue.d.ts +17 -0
- package/dist/A2RealtimeRenderer.vue.d.ts.map +1 -0
- package/dist/A2Surface.vue.d.ts +18 -0
- package/dist/A2Surface.vue.d.ts.map +1 -0
- package/dist/components/index.d.ts +197 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/contextKeys.d.ts +3 -0
- package/dist/contextKeys.d.ts.map +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +521 -0
- package/dist/plugin.d.ts +13 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/registerElementPlusCatalog.d.ts +3 -0
- package/dist/registerElementPlusCatalog.d.ts.map +1 -0
- package/dist/runtimeRegistry.d.ts +4 -0
- package/dist/runtimeRegistry.d.ts.map +1 -0
- package/dist/style.css +1 -0
- package/dist/useA2UI.d.ts +3 -0
- package/dist/useA2UI.d.ts.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { A2CustomComponents } from '@a2ui-vue3-elementplus/vue-renderer';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
message?: string;
|
|
4
|
+
surfaceId?: string;
|
|
5
|
+
components?: A2CustomComponents;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
8
|
+
error: (error: unknown) => any;
|
|
9
|
+
action: (action: unknown) => any;
|
|
10
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
11
|
+
onError?: ((error: unknown) => any) | undefined;
|
|
12
|
+
onAction?: ((action: unknown) => any) | undefined;
|
|
13
|
+
}>, {
|
|
14
|
+
surfaceId: string;
|
|
15
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
16
|
+
export default _default;
|
|
17
|
+
//# sourceMappingURL=A2RealtimeRenderer.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A2RealtimeRenderer.vue.d.ts","sourceRoot":"","sources":["../src/A2RealtimeRenderer.vue"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAI9E,KAAK,WAAW,GAAG;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC,CAAC;;;;;;;;eAFY,MAAM;;AAoGtB,wBASG"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { A2ComponentRegistry, A2CustomComponents } from '@a2ui-vue3-elementplus/vue-renderer';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
runtime?: any;
|
|
4
|
+
surfaceId?: string;
|
|
5
|
+
registry?: A2ComponentRegistry;
|
|
6
|
+
components?: A2CustomComponents;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
9
|
+
error: (error: unknown) => any;
|
|
10
|
+
action: (action: unknown) => any;
|
|
11
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onError?: ((error: unknown) => any) | undefined;
|
|
13
|
+
onAction?: ((action: unknown) => any) | undefined;
|
|
14
|
+
}>, {
|
|
15
|
+
surfaceId: string;
|
|
16
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
17
|
+
export default _default;
|
|
18
|
+
//# sourceMappingURL=A2Surface.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A2Surface.vue.d.ts","sourceRoot":"","sources":["../src/A2Surface.vue"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAKnG,KAAK,WAAW,GAAG;IACf,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC,CAAC;;;;;;;;eAHY,MAAM;;AAoGtB,wBASG"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { PropType, VNodeChild } from 'vue';
|
|
2
|
+
export declare const A2Text: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
3
|
+
text: (StringConstructor | NumberConstructor | BooleanConstructor)[];
|
|
4
|
+
variant: StringConstructor;
|
|
5
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
8
|
+
text: (StringConstructor | NumberConstructor | BooleanConstructor)[];
|
|
9
|
+
variant: StringConstructor;
|
|
10
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
11
|
+
export declare const A2Image: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
12
|
+
url: StringConstructor;
|
|
13
|
+
fit: StringConstructor;
|
|
14
|
+
variant: StringConstructor;
|
|
15
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
18
|
+
url: StringConstructor;
|
|
19
|
+
fit: StringConstructor;
|
|
20
|
+
variant: StringConstructor;
|
|
21
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
22
|
+
export declare const A2Icon: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
23
|
+
name: StringConstructor;
|
|
24
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
27
|
+
name: StringConstructor;
|
|
28
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
29
|
+
export declare const A2Divider: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
30
|
+
axis: StringConstructor;
|
|
31
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
34
|
+
axis: StringConstructor;
|
|
35
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
36
|
+
export declare const A2Row: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
37
|
+
justify: StringConstructor;
|
|
38
|
+
align: StringConstructor;
|
|
39
|
+
children: PropType<VNodeChild>;
|
|
40
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
43
|
+
justify: StringConstructor;
|
|
44
|
+
align: StringConstructor;
|
|
45
|
+
children: PropType<VNodeChild>;
|
|
46
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
47
|
+
export declare const A2Column: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
48
|
+
justify: StringConstructor;
|
|
49
|
+
align: StringConstructor;
|
|
50
|
+
children: PropType<VNodeChild>;
|
|
51
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
52
|
+
[key: string]: any;
|
|
53
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
54
|
+
justify: StringConstructor;
|
|
55
|
+
align: StringConstructor;
|
|
56
|
+
children: PropType<VNodeChild>;
|
|
57
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
58
|
+
export declare const A2Card: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
59
|
+
child: PropType<VNodeChild>;
|
|
60
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
61
|
+
[key: string]: any;
|
|
62
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
63
|
+
child: PropType<VNodeChild>;
|
|
64
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
65
|
+
export declare const A2Button: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
66
|
+
variant: StringConstructor;
|
|
67
|
+
child: PropType<VNodeChild>;
|
|
68
|
+
text: (StringConstructor | NumberConstructor)[];
|
|
69
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
70
|
+
[key: string]: any;
|
|
71
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "click"[], "click", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
72
|
+
variant: StringConstructor;
|
|
73
|
+
child: PropType<VNodeChild>;
|
|
74
|
+
text: (StringConstructor | NumberConstructor)[];
|
|
75
|
+
}>> & Readonly<{
|
|
76
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
77
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
78
|
+
export declare const A2TextField: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
79
|
+
label: StringConstructor;
|
|
80
|
+
modelValue: (StringConstructor | NumberConstructor)[];
|
|
81
|
+
textFieldType: StringConstructor;
|
|
82
|
+
validationRegexp: StringConstructor;
|
|
83
|
+
}>, () => any, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
84
|
+
label: StringConstructor;
|
|
85
|
+
modelValue: (StringConstructor | NumberConstructor)[];
|
|
86
|
+
textFieldType: StringConstructor;
|
|
87
|
+
validationRegexp: StringConstructor;
|
|
88
|
+
}>> & Readonly<{
|
|
89
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
90
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
91
|
+
export declare const A2CheckBox: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
92
|
+
label: StringConstructor;
|
|
93
|
+
modelValue: BooleanConstructor;
|
|
94
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
95
|
+
[key: string]: any;
|
|
96
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
97
|
+
label: StringConstructor;
|
|
98
|
+
modelValue: BooleanConstructor;
|
|
99
|
+
}>> & Readonly<{
|
|
100
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
101
|
+
}>, {
|
|
102
|
+
modelValue: boolean;
|
|
103
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
104
|
+
export declare const A2ChoicePicker: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
105
|
+
label: StringConstructor;
|
|
106
|
+
options: {
|
|
107
|
+
type: PropType<Array<{
|
|
108
|
+
label: string;
|
|
109
|
+
value: unknown;
|
|
110
|
+
}>>;
|
|
111
|
+
default: () => never[];
|
|
112
|
+
};
|
|
113
|
+
modelValue: PropType<unknown>;
|
|
114
|
+
multiple: BooleanConstructor;
|
|
115
|
+
}>, () => any, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
116
|
+
label: StringConstructor;
|
|
117
|
+
options: {
|
|
118
|
+
type: PropType<Array<{
|
|
119
|
+
label: string;
|
|
120
|
+
value: unknown;
|
|
121
|
+
}>>;
|
|
122
|
+
default: () => never[];
|
|
123
|
+
};
|
|
124
|
+
modelValue: PropType<unknown>;
|
|
125
|
+
multiple: BooleanConstructor;
|
|
126
|
+
}>> & Readonly<{
|
|
127
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
128
|
+
}>, {
|
|
129
|
+
multiple: boolean;
|
|
130
|
+
options: {
|
|
131
|
+
label: string;
|
|
132
|
+
value: unknown;
|
|
133
|
+
}[];
|
|
134
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
135
|
+
export declare const A2DateTimeInput: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
136
|
+
label: StringConstructor;
|
|
137
|
+
modelValue: PropType<unknown>;
|
|
138
|
+
enableDate: BooleanConstructor;
|
|
139
|
+
enableTime: BooleanConstructor;
|
|
140
|
+
}>, () => any, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
141
|
+
label: StringConstructor;
|
|
142
|
+
modelValue: PropType<unknown>;
|
|
143
|
+
enableDate: BooleanConstructor;
|
|
144
|
+
enableTime: BooleanConstructor;
|
|
145
|
+
}>> & Readonly<{
|
|
146
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
147
|
+
}>, {
|
|
148
|
+
enableDate: boolean;
|
|
149
|
+
enableTime: boolean;
|
|
150
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
151
|
+
export declare const A2Slider: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
152
|
+
modelValue: NumberConstructor;
|
|
153
|
+
minValue: NumberConstructor;
|
|
154
|
+
maxValue: NumberConstructor;
|
|
155
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
156
|
+
[key: string]: any;
|
|
157
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
158
|
+
modelValue: NumberConstructor;
|
|
159
|
+
minValue: NumberConstructor;
|
|
160
|
+
maxValue: NumberConstructor;
|
|
161
|
+
}>> & Readonly<{
|
|
162
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
163
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
164
|
+
export declare const A2Modal: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
165
|
+
entryPointChild: PropType<VNodeChild>;
|
|
166
|
+
contentChild: PropType<VNodeChild>;
|
|
167
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
168
|
+
[key: string]: any;
|
|
169
|
+
}>[], {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
170
|
+
entryPointChild: PropType<VNodeChild>;
|
|
171
|
+
contentChild: PropType<VNodeChild>;
|
|
172
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
173
|
+
export declare const A2Tabs: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
174
|
+
tabItems: {
|
|
175
|
+
type: PropType<Array<{
|
|
176
|
+
title: string;
|
|
177
|
+
child: VNodeChild;
|
|
178
|
+
}>>;
|
|
179
|
+
default: () => never[];
|
|
180
|
+
};
|
|
181
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
182
|
+
[key: string]: any;
|
|
183
|
+
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
184
|
+
tabItems: {
|
|
185
|
+
type: PropType<Array<{
|
|
186
|
+
title: string;
|
|
187
|
+
child: VNodeChild;
|
|
188
|
+
}>>;
|
|
189
|
+
default: () => never[];
|
|
190
|
+
};
|
|
191
|
+
}>> & Readonly<{}>, {
|
|
192
|
+
tabItems: {
|
|
193
|
+
title: string;
|
|
194
|
+
child: VNodeChild;
|
|
195
|
+
}[];
|
|
196
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
197
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAyB9E,eAAO,MAAM,MAAM;;;;;;;;iGAiBjB,CAAC;AAEH,eAAO,MAAM,OAAO;;;;;;;;;;iGAUlB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;iGAQjB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;iGAQpB,CAAC;AAEH,eAAO,MAAM,KAAK;;;cAKuB,QAAQ,CAAC,UAAU,CAAC;;;;;;cAApB,QAAQ,CAAC,UAAU,CAAC;iGAgB3D,CAAC;AAEH,eAAO,MAAM,QAAQ;;;cAKoB,QAAQ,CAAC,UAAU,CAAC;;;;;;cAApB,QAAQ,CAAC,UAAU,CAAC;iGAgB3D,CAAC;AAEH,eAAO,MAAM,MAAM;WAGmB,QAAQ,CAAC,UAAU,CAAC;;;;WAApB,QAAQ,CAAC,UAAU,CAAC;iGAKxD,CAAC;AAEH,eAAO,MAAM,QAAQ;;WAIiB,QAAQ,CAAC,UAAU,CAAC;;;;;;WAApB,QAAQ,CAAC,UAAU,CAAC;;;;iFAgBxD,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;iFAsBtB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;4EAkBrB,CAAC;AAEH,eAAO,MAAM,cAAc;;;cAKN,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;;;gBAGX,QAAQ,CAAC,OAAO,CAAC;;;;;cAHxD,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;;;gBAGX,QAAQ,CAAC,OAAO,CAAC;;;;;;;eAHhC,MAAM;eAAS,OAAO;;4EAuBjE,CAAC;AAEH,eAAO,MAAM,eAAe;;gBAIa,QAAQ,CAAC,OAAO,CAAC;;;;;gBAAjB,QAAQ,CAAC,OAAO,CAAC;;;;;;;;4EAmBxD,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;iFAiBnB,CAAC;AAEH,eAAO,MAAM,OAAO;qBAG4B,QAAQ,CAAC,UAAU,CAAC;kBACvB,QAAQ,CAAC,UAAU,CAAC;;;;qBADjB,QAAQ,CAAC,UAAU,CAAC;kBACvB,QAAQ,CAAC,UAAU,CAAC;iGAgB/D,CAAC;AAEH,eAAO,MAAM,MAAM;;cAIE,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,UAAU,CAAA;SAAE,CAAC,CAAC;;;;;;;cAArD,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,UAAU,CAAA;SAAE,CAAC,CAAC;;;;;eAA7B,MAAM;eAAS,UAAU;;4EAYpE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextKeys.d.ts","sourceRoot":"","sources":["../src/contextKeys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,eAAO,MAAM,eAAe,iBAAiB,CAAC"}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("@a2ui-vue3-elementplus/vue-renderer"),a=require("vue"),i=require("element-plus"),c=e=>Array.isArray(e)?e:e??void 0,h=(e,t)=>a.h("label",{class:"a2-field"},[e?a.h("span",{class:"a2-field__label"},e):null,t]),I=a.defineComponent({name:"A2Text",props:{text:[String,Number,Boolean],variant:String},setup(e){return()=>{const t=e.variant==="h1"||e.variant==="h2"||e.variant==="h3"||e.variant==="h4"||e.variant==="h5"?e.variant:e.variant==="caption"?"small":"p";return a.h(t,{class:["a2-text",e.variant&&`a2-text--${e.variant}`]},String(e.text??""))}}}),j=a.defineComponent({name:"A2Image",props:{url:String,fit:String,variant:String},setup(e){return()=>a.h(i.ElImage,{src:e.url,fit:e.fit,class:["a2-image",e.variant&&`a2-image--${e.variant}`]})}}),P=a.defineComponent({name:"A2Icon",props:{name:String},setup(e){return()=>a.h("span",{class:"a2-icon","aria-hidden":"true"},e.name??"")}}),k=a.defineComponent({name:"A2Divider",props:{axis:String},setup(e){return()=>a.h(i.ElDivider,{direction:e.axis==="vertical"?"vertical":"horizontal"})}}),B=a.defineComponent({name:"A2Row",props:{justify:String,align:String,children:[Array,Object,String]},setup(e){return()=>a.h("div",{class:"a2-row",style:{justifyContent:e.justify==="spaceBetween"?"space-between":e.justify,alignItems:e.align}},c(e.children))}}),U=a.defineComponent({name:"A2Column",props:{justify:String,align:String,children:[Array,Object,String]},setup(e){return()=>a.h("div",{class:"a2-column",style:{justifyContent:e.justify,alignItems:e.align}},c(e.children))}}),D=a.defineComponent({name:"A2Card",props:{child:[Array,Object,String]},setup(e){return()=>a.h(i.ElCard,{class:"a2-card"},()=>c(e.child))}}),w=a.defineComponent({name:"A2Button",props:{variant:String,child:[Array,Object,String],text:[String,Number]},emits:["click"],setup(e,{emit:t}){return()=>a.h(i.ElButton,{type:e.variant==="primary"?"primary":e.variant==="danger"?"danger":void 0,text:e.variant==="borderless",onClick:()=>t("click")},()=>c(e.child)??String(e.text??""))}}),O=a.defineComponent({name:"A2TextField",props:{label:String,modelValue:[String,Number],textFieldType:String,validationRegexp:String},emits:["update:modelValue"],setup(e,{emit:t}){const n=l=>e.textFieldType==="number"?Number(l):l;return()=>h(e.label,a.h(i.ElInput,{modelValue:e.modelValue,type:e.textFieldType==="longText"?"textarea":e.textFieldType==="obscured"?"password":"text","onUpdate:modelValue":l=>t("update:modelValue",n(l))}))}}),_=a.defineComponent({name:"A2CheckBox",props:{label:String,modelValue:Boolean},emits:["update:modelValue"],setup(e,{emit:t}){return()=>a.h(i.ElCheckbox,{modelValue:e.modelValue,"onUpdate:modelValue":n=>t("update:modelValue",!!n)},()=>e.label)}}),F=a.defineComponent({name:"A2ChoicePicker",props:{label:String,options:{type:Array,default:()=>[]},modelValue:[String,Number,Boolean,Array,Object],multiple:Boolean},emits:["update:modelValue"],setup(e,{emit:t}){return()=>h(e.label,a.h(i.ElSelect,{modelValue:e.modelValue,multiple:e.multiple,class:"a2-choice-picker","onUpdate:modelValue":n=>t("update:modelValue",n)},()=>e.options.map(n=>a.h(i.ElOption,{key:String(n.value),label:n.label,value:n.value}))))}}),N=a.defineComponent({name:"A2DateTimeInput",props:{label:String,modelValue:[String,Date,Array],enableDate:Boolean,enableTime:Boolean},emits:["update:modelValue"],setup(e,{emit:t}){return()=>{const n=e.enableTime&&!e.enableDate?i.ElTimePicker:i.ElDatePicker;return h(e.label,a.h(n,{modelValue:e.modelValue,type:e.enableDate&&e.enableTime?"datetime":"date",valueFormat:"YYYY-MM-DDTHH:mm:ss","onUpdate:modelValue":l=>t("update:modelValue",l)}))}}}),Y=a.defineComponent({name:"A2Slider",props:{modelValue:Number,minValue:Number,maxValue:Number},emits:["update:modelValue"],setup(e,{emit:t}){return()=>a.h(i.ElSlider,{modelValue:e.modelValue??0,min:e.minValue??0,max:e.maxValue??100,"onUpdate:modelValue":n=>t("update:modelValue",Array.isArray(n)?n[0]:n)})}}),q=a.defineComponent({name:"A2Modal",props:{entryPointChild:[Array,Object,String],contentChild:[Array,Object,String]},setup(e){const t=a.ref(!1);return()=>[a.h("span",{class:"a2-modal__entry",onClick:()=>t.value=!0},c(e.entryPointChild)),a.h(i.ElDialog,{modelValue:t.value,"onUpdate:modelValue":n=>t.value=n},()=>c(e.contentChild))]}}),K=a.defineComponent({name:"A2Tabs",props:{tabItems:{type:Array,default:()=>[]}},setup(e){return()=>a.h(i.ElTabs,{class:"a2-tabs"},()=>e.tabItems.map((t,n)=>a.h(i.ElTabPane,{key:n,label:t.title,name:String(n)},()=>c(t.child))))}});function r(e){return e&&typeof e=="object"&&"path"in e?String(e.path):void 0}function y(e){return r(e.selections)??r(e.value)}function $(e){return r(e.selections)!==void 0}function A(e){return e.maxAllowedSelections!==void 0?Number(e.maxAllowedSelections)!==1:e.variant==="multipleSelection"}function v(){return{Text:{component:I,propsMapper:(e,t)=>({text:t.resolveValue(e.text),variant:e.variant})},Image:{component:j,propsMapper:(e,t)=>({url:t.resolveValue(e.url),fit:e.fit,variant:e.variant})},Icon:{component:P,propsMapper:(e,t)=>({name:t.resolveValue(e.name)})},Divider:{component:k,propsMapper:e=>({axis:e.axis})},Row:{component:B,propsMapper:(e,t)=>({justify:e.justify,align:e.align,children:t.renderChildren(e.children)})},Column:{component:U,propsMapper:(e,t)=>({justify:e.justify,align:e.align,children:t.renderChildren(e.children)})},Card:{component:D,propsMapper:(e,t)=>({child:t.renderChild(e.child)})},Button:{component:w,propsMapper:(e,t)=>({variant:e.variant,child:t.renderChild(e.child),text:e.text}),eventsMapper:(e,t)=>({onClick:()=>{const n=e.action,l=n==null?void 0:n.event;l!=null&&l.name&&t.emitAction(String(l.name),l.context)}})},TextField:{component:O,dependencies:e=>[r(e.value)],propsMapper:(e,t)=>{const n=r(e.value);return{label:e.label,modelValue:n?t.getValue(n):t.resolveValue(e.value),textFieldType:e.textFieldType,validationRegexp:e.validationRegexp}},eventsMapper:(e,t)=>({"onUpdate:modelValue":n=>t.setValue(r(e.value),n)})},CheckBox:{component:_,dependencies:e=>[r(e.value)],propsMapper:(e,t)=>{const n=r(e.value);return{label:e.label,modelValue:n?!!t.getValue(n):!!t.resolveValue(e.value)}},eventsMapper:(e,t)=>({"onUpdate:modelValue":n=>t.setValue(r(e.value),n)})},ChoicePicker:{component:F,dependencies:e=>[y(e)],propsMapper:(e,t)=>{const n=y(e),l=A(e),u=n?t.getValue(n):t.resolveValue(e.selections??e.value);return{label:e.label,options:e.options,modelValue:l&&u===void 0?[]:!l&&Array.isArray(u)?u[0]:u,multiple:l}},eventsMapper:(e,t)=>({"onUpdate:modelValue":n=>{const l=A(e),u=$(e);t.setValue(y(e),!l&&u?[n]:n)}})},DateTimeInput:{component:N,dependencies:e=>[r(e.value)],propsMapper:(e,t)=>{const n=r(e.value);return{label:e.label,modelValue:n?t.getValue(n):t.resolveValue(e.value),enableDate:e.enableDate!==!1,enableTime:!!e.enableTime}},eventsMapper:(e,t)=>({"onUpdate:modelValue":n=>t.setValue(r(e.value),n)})},Slider:{component:Y,dependencies:e=>[r(e.value)],propsMapper:(e,t)=>{const n=r(e.value);return{modelValue:n?t.getValue(n):t.resolveValue(e.value),minValue:e.minValue,maxValue:e.maxValue}},eventsMapper:(e,t)=>({"onUpdate:modelValue":n=>t.setValue(r(e.value),n)})},Modal:{component:q,propsMapper:(e,t)=>({entryPointChild:t.renderChild(e.entryPointChild),contentChild:t.renderChild(e.contentChild)})},Tabs:{component:K,propsMapper:(e,t)=>({tabItems:Array.isArray(e.tabItems)?e.tabItems.map(n=>({title:t.resolveValue(n.title),child:t.renderChild(n.child)})):[]})}}}const V=Symbol.for("a2ui.element-plus.registry");function C(e){return typeof e=="object"&&e!==null||typeof e=="function"}function z(e,t){C(e)&&Object.defineProperty(e,V,{configurable:!0,enumerable:!1,value:t,writable:!0})}function G(e){if(C(e))return e[V]}const S="a2uiRuntime",g="a2uiRegistry",b=a.defineComponent({__name:"A2Surface",props:{runtime:{},surfaceId:{default:"main"},registry:{},components:{}},emits:["action","error"],setup(e,{emit:t}){const n=e,l=t,u=a.inject(g,void 0),s=a.inject(S,void 0),o=d.createComponentRegistry(v()),m=a.computed(()=>n.runtime??s),T=a.computed(()=>n.registry??G(m.value)??(u?void 0:o));return(H,p)=>(a.openBlock(),a.createBlock(a.unref(d.A2Surface),{runtime:m.value,"surface-id":e.surfaceId,registry:T.value,components:e.components,onAction:p[0]||(p[0]=f=>l("action",f)),onError:p[1]||(p[1]=f=>l("error",f))},null,8,["runtime","surface-id","registry","components"]))}});function x(e={}){const t=a.hasInjectionContext()?a.inject(g,void 0):void 0,n=e.registry??t??d.createComponentRegistry();n.registerMany(v(),"skip"),e.components&&n.registerMany(e.components);const{components:l,registry:u,...s}=e,o=d.useA2UI({...s,registry:n});return z(o.runtime,o.registry),a.hasInjectionContext()&&(a.provide(S,o.runtime),a.provide(g,o.registry)),o}const M=a.defineComponent({__name:"A2RealtimeRenderer",props:{message:{},surfaceId:{default:"main"},components:{}},emits:["action","error"],setup(e,{emit:t}){const n=e,l=t,{pushMessage:u}=x({components:n.components,onAction:s=>l("action",s),onError:s=>l("error",s)});return a.watch(()=>n.message,s=>{s&&u(s)},{immediate:!0}),(s,o)=>(a.openBlock(),a.createBlock(b,{"surface-id":e.surfaceId,components:e.components,onAction:o[0]||(o[0]=m=>l("action",m)),onError:o[1]||(o[1]=m=>l("error",m))},null,8,["surface-id","components"]))}});function E(e={}){const t=d.createComponentRegistry(v());return e.components&&t.registerMany(e.components,e.conflict??"override"),{install(n){n.provide(g,t),n.component("A2Surface",b),n.component("A2RealtimeRenderer",M)}}}const R=E();Object.defineProperty(exports,"useBaseA2UI",{enumerable:!0,get:()=>d.useA2UI});exports.A2ElementPlusPlugin=R;exports.A2RealtimeRenderer=M;exports.A2Surface=b;exports.createA2ElementPlusPlugin=E;exports.createElementPlusCatalog=v;exports.default=R;exports.useA2UI=x;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { A2ElementPlusPlugin, createA2ElementPlusPlugin } from './plugin';
|
|
2
|
+
export { createElementPlusCatalog } from './registerElementPlusCatalog';
|
|
3
|
+
export { default as A2Surface } from './A2Surface.vue';
|
|
4
|
+
export { default as A2RealtimeRenderer } from './A2RealtimeRenderer.vue';
|
|
5
|
+
export { useA2UI as useBaseA2UI } from '@a2ui-vue3-elementplus/vue-renderer';
|
|
6
|
+
export { useA2UI } from './useA2UI';
|
|
7
|
+
export type { A2ElementPlusPluginOptions } from './plugin';
|
|
8
|
+
export type { A2ComponentContext, A2ComponentRegistration, A2CustomComponents, RegisterConflictStrategy } from '@a2ui-vue3-elementplus/vue-renderer';
|
|
9
|
+
export { A2ElementPlusPlugin as default } from './plugin';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC3D,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,521 @@
|
|
|
1
|
+
import { createComponentRegistry as f, A2Surface as k, useA2UI as B } from "@a2ui-vue3-elementplus/vue-renderer";
|
|
2
|
+
import { useA2UI as Ce } from "@a2ui-vue3-elementplus/vue-renderer";
|
|
3
|
+
import { defineComponent as r, h as l, ref as P, inject as y, computed as V, openBlock as C, createBlock as M, unref as U, hasInjectionContext as h, provide as S, watch as D } from "vue";
|
|
4
|
+
import { ElTabs as w, ElTabPane as F, ElDialog as N, ElSlider as O, ElTimePicker as _, ElDatePicker as Y, ElSelect as $, ElOption as K, ElCheckbox as z, ElInput as G, ElButton as H, ElCard as L, ElDivider as q, ElImage as J } from "element-plus";
|
|
5
|
+
const c = (e) => Array.isArray(e) ? e : e ?? void 0, b = (e, t) => l("label", { class: "a2-field" }, [
|
|
6
|
+
e ? l("span", { class: "a2-field__label" }, e) : null,
|
|
7
|
+
t
|
|
8
|
+
]), Q = r({
|
|
9
|
+
name: "A2Text",
|
|
10
|
+
props: {
|
|
11
|
+
text: [String, Number, Boolean],
|
|
12
|
+
variant: String
|
|
13
|
+
},
|
|
14
|
+
setup(e) {
|
|
15
|
+
return () => {
|
|
16
|
+
const t = e.variant === "h1" || e.variant === "h2" || e.variant === "h3" || e.variant === "h4" || e.variant === "h5" ? e.variant : e.variant === "caption" ? "small" : "p";
|
|
17
|
+
return l(t, { class: ["a2-text", e.variant && `a2-text--${e.variant}`] }, String(e.text ?? ""));
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}), W = r({
|
|
21
|
+
name: "A2Image",
|
|
22
|
+
props: {
|
|
23
|
+
url: String,
|
|
24
|
+
fit: String,
|
|
25
|
+
variant: String
|
|
26
|
+
},
|
|
27
|
+
setup(e) {
|
|
28
|
+
return () => l(J, { src: e.url, fit: e.fit, class: ["a2-image", e.variant && `a2-image--${e.variant}`] });
|
|
29
|
+
}
|
|
30
|
+
}), X = r({
|
|
31
|
+
name: "A2Icon",
|
|
32
|
+
props: {
|
|
33
|
+
name: String
|
|
34
|
+
},
|
|
35
|
+
setup(e) {
|
|
36
|
+
return () => l("span", { class: "a2-icon", "aria-hidden": "true" }, e.name ?? "");
|
|
37
|
+
}
|
|
38
|
+
}), Z = r({
|
|
39
|
+
name: "A2Divider",
|
|
40
|
+
props: {
|
|
41
|
+
axis: String
|
|
42
|
+
},
|
|
43
|
+
setup(e) {
|
|
44
|
+
return () => l(q, { direction: e.axis === "vertical" ? "vertical" : "horizontal" });
|
|
45
|
+
}
|
|
46
|
+
}), ee = r({
|
|
47
|
+
name: "A2Row",
|
|
48
|
+
props: {
|
|
49
|
+
justify: String,
|
|
50
|
+
align: String,
|
|
51
|
+
children: [Array, Object, String]
|
|
52
|
+
},
|
|
53
|
+
setup(e) {
|
|
54
|
+
return () => l(
|
|
55
|
+
"div",
|
|
56
|
+
{
|
|
57
|
+
class: "a2-row",
|
|
58
|
+
style: {
|
|
59
|
+
justifyContent: e.justify === "spaceBetween" ? "space-between" : e.justify,
|
|
60
|
+
alignItems: e.align
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
c(e.children)
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
}), te = r({
|
|
67
|
+
name: "A2Column",
|
|
68
|
+
props: {
|
|
69
|
+
justify: String,
|
|
70
|
+
align: String,
|
|
71
|
+
children: [Array, Object, String]
|
|
72
|
+
},
|
|
73
|
+
setup(e) {
|
|
74
|
+
return () => l(
|
|
75
|
+
"div",
|
|
76
|
+
{
|
|
77
|
+
class: "a2-column",
|
|
78
|
+
style: {
|
|
79
|
+
justifyContent: e.justify,
|
|
80
|
+
alignItems: e.align
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
c(e.children)
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
}), ae = r({
|
|
87
|
+
name: "A2Card",
|
|
88
|
+
props: {
|
|
89
|
+
child: [Array, Object, String]
|
|
90
|
+
},
|
|
91
|
+
setup(e) {
|
|
92
|
+
return () => l(L, { class: "a2-card" }, () => c(e.child));
|
|
93
|
+
}
|
|
94
|
+
}), ne = r({
|
|
95
|
+
name: "A2Button",
|
|
96
|
+
props: {
|
|
97
|
+
variant: String,
|
|
98
|
+
child: [Array, Object, String],
|
|
99
|
+
text: [String, Number]
|
|
100
|
+
},
|
|
101
|
+
emits: ["click"],
|
|
102
|
+
setup(e, { emit: t }) {
|
|
103
|
+
return () => l(
|
|
104
|
+
H,
|
|
105
|
+
{
|
|
106
|
+
type: e.variant === "primary" ? "primary" : e.variant === "danger" ? "danger" : void 0,
|
|
107
|
+
text: e.variant === "borderless",
|
|
108
|
+
onClick: () => t("click")
|
|
109
|
+
},
|
|
110
|
+
() => c(e.child) ?? String(e.text ?? "")
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
}), le = r({
|
|
114
|
+
name: "A2TextField",
|
|
115
|
+
props: {
|
|
116
|
+
label: String,
|
|
117
|
+
modelValue: [String, Number],
|
|
118
|
+
textFieldType: String,
|
|
119
|
+
validationRegexp: String
|
|
120
|
+
},
|
|
121
|
+
emits: ["update:modelValue"],
|
|
122
|
+
setup(e, { emit: t }) {
|
|
123
|
+
const a = (n) => e.textFieldType === "number" ? Number(n) : n;
|
|
124
|
+
return () => b(
|
|
125
|
+
e.label,
|
|
126
|
+
l(G, {
|
|
127
|
+
modelValue: e.modelValue,
|
|
128
|
+
type: e.textFieldType === "longText" ? "textarea" : e.textFieldType === "obscured" ? "password" : "text",
|
|
129
|
+
"onUpdate:modelValue": (n) => t("update:modelValue", a(n))
|
|
130
|
+
})
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
}), re = r({
|
|
134
|
+
name: "A2CheckBox",
|
|
135
|
+
props: {
|
|
136
|
+
label: String,
|
|
137
|
+
modelValue: Boolean
|
|
138
|
+
},
|
|
139
|
+
emits: ["update:modelValue"],
|
|
140
|
+
setup(e, { emit: t }) {
|
|
141
|
+
return () => l(
|
|
142
|
+
z,
|
|
143
|
+
{
|
|
144
|
+
modelValue: e.modelValue,
|
|
145
|
+
"onUpdate:modelValue": (a) => t("update:modelValue", !!a)
|
|
146
|
+
},
|
|
147
|
+
() => e.label
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
}), ie = r({
|
|
151
|
+
name: "A2ChoicePicker",
|
|
152
|
+
props: {
|
|
153
|
+
label: String,
|
|
154
|
+
options: {
|
|
155
|
+
type: Array,
|
|
156
|
+
default: () => []
|
|
157
|
+
},
|
|
158
|
+
modelValue: [String, Number, Boolean, Array, Object],
|
|
159
|
+
multiple: Boolean
|
|
160
|
+
},
|
|
161
|
+
emits: ["update:modelValue"],
|
|
162
|
+
setup(e, { emit: t }) {
|
|
163
|
+
return () => b(
|
|
164
|
+
e.label,
|
|
165
|
+
l(
|
|
166
|
+
$,
|
|
167
|
+
{
|
|
168
|
+
modelValue: e.modelValue,
|
|
169
|
+
multiple: e.multiple,
|
|
170
|
+
class: "a2-choice-picker",
|
|
171
|
+
"onUpdate:modelValue": (a) => t("update:modelValue", a)
|
|
172
|
+
},
|
|
173
|
+
() => e.options.map((a) => l(K, { key: String(a.value), label: a.label, value: a.value }))
|
|
174
|
+
)
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
}), oe = r({
|
|
178
|
+
name: "A2DateTimeInput",
|
|
179
|
+
props: {
|
|
180
|
+
label: String,
|
|
181
|
+
modelValue: [String, Date, Array],
|
|
182
|
+
enableDate: Boolean,
|
|
183
|
+
enableTime: Boolean
|
|
184
|
+
},
|
|
185
|
+
emits: ["update:modelValue"],
|
|
186
|
+
setup(e, { emit: t }) {
|
|
187
|
+
return () => {
|
|
188
|
+
const a = e.enableTime && !e.enableDate ? _ : Y;
|
|
189
|
+
return b(
|
|
190
|
+
e.label,
|
|
191
|
+
l(a, {
|
|
192
|
+
modelValue: e.modelValue,
|
|
193
|
+
type: e.enableDate && e.enableTime ? "datetime" : "date",
|
|
194
|
+
valueFormat: "YYYY-MM-DDTHH:mm:ss",
|
|
195
|
+
"onUpdate:modelValue": (n) => t("update:modelValue", n)
|
|
196
|
+
})
|
|
197
|
+
);
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
}), ue = r({
|
|
201
|
+
name: "A2Slider",
|
|
202
|
+
props: {
|
|
203
|
+
modelValue: Number,
|
|
204
|
+
minValue: Number,
|
|
205
|
+
maxValue: Number
|
|
206
|
+
},
|
|
207
|
+
emits: ["update:modelValue"],
|
|
208
|
+
setup(e, { emit: t }) {
|
|
209
|
+
return () => l(O, {
|
|
210
|
+
modelValue: e.modelValue ?? 0,
|
|
211
|
+
min: e.minValue ?? 0,
|
|
212
|
+
max: e.maxValue ?? 100,
|
|
213
|
+
"onUpdate:modelValue": (a) => t("update:modelValue", Array.isArray(a) ? a[0] : a)
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}), se = r({
|
|
217
|
+
name: "A2Modal",
|
|
218
|
+
props: {
|
|
219
|
+
entryPointChild: [Array, Object, String],
|
|
220
|
+
contentChild: [Array, Object, String]
|
|
221
|
+
},
|
|
222
|
+
setup(e) {
|
|
223
|
+
const t = P(!1);
|
|
224
|
+
return () => [
|
|
225
|
+
l("span", { class: "a2-modal__entry", onClick: () => t.value = !0 }, c(e.entryPointChild)),
|
|
226
|
+
l(
|
|
227
|
+
N,
|
|
228
|
+
{
|
|
229
|
+
modelValue: t.value,
|
|
230
|
+
"onUpdate:modelValue": (a) => t.value = a
|
|
231
|
+
},
|
|
232
|
+
() => c(e.contentChild)
|
|
233
|
+
)
|
|
234
|
+
];
|
|
235
|
+
}
|
|
236
|
+
}), ce = r({
|
|
237
|
+
name: "A2Tabs",
|
|
238
|
+
props: {
|
|
239
|
+
tabItems: {
|
|
240
|
+
type: Array,
|
|
241
|
+
default: () => []
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
setup(e) {
|
|
245
|
+
return () => l(
|
|
246
|
+
w,
|
|
247
|
+
{ class: "a2-tabs" },
|
|
248
|
+
() => e.tabItems.map((t, a) => l(F, { key: a, label: t.title, name: String(a) }, () => c(t.child)))
|
|
249
|
+
);
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
function i(e) {
|
|
253
|
+
return e && typeof e == "object" && "path" in e ? String(e.path) : void 0;
|
|
254
|
+
}
|
|
255
|
+
function v(e) {
|
|
256
|
+
return i(e.selections) ?? i(e.value);
|
|
257
|
+
}
|
|
258
|
+
function me(e) {
|
|
259
|
+
return i(e.selections) !== void 0;
|
|
260
|
+
}
|
|
261
|
+
function x(e) {
|
|
262
|
+
return e.maxAllowedSelections !== void 0 ? Number(e.maxAllowedSelections) !== 1 : e.variant === "multipleSelection";
|
|
263
|
+
}
|
|
264
|
+
function A() {
|
|
265
|
+
return {
|
|
266
|
+
Text: {
|
|
267
|
+
component: Q,
|
|
268
|
+
propsMapper: (e, t) => ({
|
|
269
|
+
text: t.resolveValue(e.text),
|
|
270
|
+
variant: e.variant
|
|
271
|
+
})
|
|
272
|
+
},
|
|
273
|
+
Image: {
|
|
274
|
+
component: W,
|
|
275
|
+
propsMapper: (e, t) => ({
|
|
276
|
+
url: t.resolveValue(e.url),
|
|
277
|
+
fit: e.fit,
|
|
278
|
+
variant: e.variant
|
|
279
|
+
})
|
|
280
|
+
},
|
|
281
|
+
Icon: {
|
|
282
|
+
component: X,
|
|
283
|
+
propsMapper: (e, t) => ({
|
|
284
|
+
name: t.resolveValue(e.name)
|
|
285
|
+
})
|
|
286
|
+
},
|
|
287
|
+
Divider: {
|
|
288
|
+
component: Z,
|
|
289
|
+
propsMapper: (e) => ({
|
|
290
|
+
axis: e.axis
|
|
291
|
+
})
|
|
292
|
+
},
|
|
293
|
+
Row: {
|
|
294
|
+
component: ee,
|
|
295
|
+
propsMapper: (e, t) => ({
|
|
296
|
+
justify: e.justify,
|
|
297
|
+
align: e.align,
|
|
298
|
+
children: t.renderChildren(e.children)
|
|
299
|
+
})
|
|
300
|
+
},
|
|
301
|
+
Column: {
|
|
302
|
+
component: te,
|
|
303
|
+
propsMapper: (e, t) => ({
|
|
304
|
+
justify: e.justify,
|
|
305
|
+
align: e.align,
|
|
306
|
+
children: t.renderChildren(e.children)
|
|
307
|
+
})
|
|
308
|
+
},
|
|
309
|
+
Card: {
|
|
310
|
+
component: ae,
|
|
311
|
+
propsMapper: (e, t) => ({
|
|
312
|
+
child: t.renderChild(e.child)
|
|
313
|
+
})
|
|
314
|
+
},
|
|
315
|
+
Button: {
|
|
316
|
+
component: ne,
|
|
317
|
+
propsMapper: (e, t) => ({
|
|
318
|
+
variant: e.variant,
|
|
319
|
+
child: t.renderChild(e.child),
|
|
320
|
+
text: e.text
|
|
321
|
+
}),
|
|
322
|
+
eventsMapper: (e, t) => ({
|
|
323
|
+
onClick: () => {
|
|
324
|
+
const a = e.action, n = a == null ? void 0 : a.event;
|
|
325
|
+
n != null && n.name && t.emitAction(String(n.name), n.context);
|
|
326
|
+
}
|
|
327
|
+
})
|
|
328
|
+
},
|
|
329
|
+
TextField: {
|
|
330
|
+
component: le,
|
|
331
|
+
dependencies: (e) => [i(e.value)],
|
|
332
|
+
propsMapper: (e, t) => {
|
|
333
|
+
const a = i(e.value);
|
|
334
|
+
return {
|
|
335
|
+
label: e.label,
|
|
336
|
+
modelValue: a ? t.getValue(a) : t.resolveValue(e.value),
|
|
337
|
+
textFieldType: e.textFieldType,
|
|
338
|
+
validationRegexp: e.validationRegexp
|
|
339
|
+
};
|
|
340
|
+
},
|
|
341
|
+
eventsMapper: (e, t) => ({
|
|
342
|
+
"onUpdate:modelValue": (a) => t.setValue(i(e.value), a)
|
|
343
|
+
})
|
|
344
|
+
},
|
|
345
|
+
CheckBox: {
|
|
346
|
+
component: re,
|
|
347
|
+
dependencies: (e) => [i(e.value)],
|
|
348
|
+
propsMapper: (e, t) => {
|
|
349
|
+
const a = i(e.value);
|
|
350
|
+
return {
|
|
351
|
+
label: e.label,
|
|
352
|
+
modelValue: a ? !!t.getValue(a) : !!t.resolveValue(e.value)
|
|
353
|
+
};
|
|
354
|
+
},
|
|
355
|
+
eventsMapper: (e, t) => ({
|
|
356
|
+
"onUpdate:modelValue": (a) => t.setValue(i(e.value), a)
|
|
357
|
+
})
|
|
358
|
+
},
|
|
359
|
+
ChoicePicker: {
|
|
360
|
+
component: ie,
|
|
361
|
+
dependencies: (e) => [v(e)],
|
|
362
|
+
propsMapper: (e, t) => {
|
|
363
|
+
const a = v(e), n = x(e), u = a ? t.getValue(a) : t.resolveValue(e.selections ?? e.value);
|
|
364
|
+
return {
|
|
365
|
+
label: e.label,
|
|
366
|
+
options: e.options,
|
|
367
|
+
modelValue: n && u === void 0 ? [] : !n && Array.isArray(u) ? u[0] : u,
|
|
368
|
+
multiple: n
|
|
369
|
+
};
|
|
370
|
+
},
|
|
371
|
+
eventsMapper: (e, t) => ({
|
|
372
|
+
"onUpdate:modelValue": (a) => {
|
|
373
|
+
const n = x(e), u = me(e);
|
|
374
|
+
t.setValue(v(e), !n && u ? [a] : a);
|
|
375
|
+
}
|
|
376
|
+
})
|
|
377
|
+
},
|
|
378
|
+
DateTimeInput: {
|
|
379
|
+
component: oe,
|
|
380
|
+
dependencies: (e) => [i(e.value)],
|
|
381
|
+
propsMapper: (e, t) => {
|
|
382
|
+
const a = i(e.value);
|
|
383
|
+
return {
|
|
384
|
+
label: e.label,
|
|
385
|
+
modelValue: a ? t.getValue(a) : t.resolveValue(e.value),
|
|
386
|
+
enableDate: e.enableDate !== !1,
|
|
387
|
+
enableTime: !!e.enableTime
|
|
388
|
+
};
|
|
389
|
+
},
|
|
390
|
+
eventsMapper: (e, t) => ({
|
|
391
|
+
"onUpdate:modelValue": (a) => t.setValue(i(e.value), a)
|
|
392
|
+
})
|
|
393
|
+
},
|
|
394
|
+
Slider: {
|
|
395
|
+
component: ue,
|
|
396
|
+
dependencies: (e) => [i(e.value)],
|
|
397
|
+
propsMapper: (e, t) => {
|
|
398
|
+
const a = i(e.value);
|
|
399
|
+
return {
|
|
400
|
+
modelValue: a ? t.getValue(a) : t.resolveValue(e.value),
|
|
401
|
+
minValue: e.minValue,
|
|
402
|
+
maxValue: e.maxValue
|
|
403
|
+
};
|
|
404
|
+
},
|
|
405
|
+
eventsMapper: (e, t) => ({
|
|
406
|
+
"onUpdate:modelValue": (a) => t.setValue(i(e.value), a)
|
|
407
|
+
})
|
|
408
|
+
},
|
|
409
|
+
Modal: {
|
|
410
|
+
component: se,
|
|
411
|
+
propsMapper: (e, t) => ({
|
|
412
|
+
entryPointChild: t.renderChild(e.entryPointChild),
|
|
413
|
+
contentChild: t.renderChild(e.contentChild)
|
|
414
|
+
})
|
|
415
|
+
},
|
|
416
|
+
Tabs: {
|
|
417
|
+
component: ce,
|
|
418
|
+
propsMapper: (e, t) => ({
|
|
419
|
+
tabItems: Array.isArray(e.tabItems) ? e.tabItems.map((a) => ({
|
|
420
|
+
title: t.resolveValue(a.title),
|
|
421
|
+
child: t.renderChild(a.child)
|
|
422
|
+
})) : []
|
|
423
|
+
})
|
|
424
|
+
}
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
const T = Symbol.for("a2ui.element-plus.registry");
|
|
428
|
+
function E(e) {
|
|
429
|
+
return typeof e == "object" && e !== null || typeof e == "function";
|
|
430
|
+
}
|
|
431
|
+
function de(e, t) {
|
|
432
|
+
E(e) && Object.defineProperty(e, T, {
|
|
433
|
+
configurable: !0,
|
|
434
|
+
enumerable: !1,
|
|
435
|
+
value: t,
|
|
436
|
+
writable: !0
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
function pe(e) {
|
|
440
|
+
if (E(e))
|
|
441
|
+
return e[T];
|
|
442
|
+
}
|
|
443
|
+
const I = "a2uiRuntime", p = "a2uiRegistry", R = /* @__PURE__ */ r({
|
|
444
|
+
__name: "A2Surface",
|
|
445
|
+
props: {
|
|
446
|
+
runtime: {},
|
|
447
|
+
surfaceId: { default: "main" },
|
|
448
|
+
registry: {},
|
|
449
|
+
components: {}
|
|
450
|
+
},
|
|
451
|
+
emits: ["action", "error"],
|
|
452
|
+
setup(e, { emit: t }) {
|
|
453
|
+
const a = e, n = t, u = y(p, void 0), s = y(I, void 0), o = f(A()), m = V(() => a.runtime ?? s), j = V(
|
|
454
|
+
() => a.registry ?? pe(m.value) ?? (u ? void 0 : o)
|
|
455
|
+
);
|
|
456
|
+
return (fe, d) => (C(), M(U(k), {
|
|
457
|
+
runtime: m.value,
|
|
458
|
+
"surface-id": e.surfaceId,
|
|
459
|
+
registry: j.value,
|
|
460
|
+
components: e.components,
|
|
461
|
+
onAction: d[0] || (d[0] = (g) => n("action", g)),
|
|
462
|
+
onError: d[1] || (d[1] = (g) => n("error", g))
|
|
463
|
+
}, null, 8, ["runtime", "surface-id", "registry", "components"]));
|
|
464
|
+
}
|
|
465
|
+
});
|
|
466
|
+
function ge(e = {}) {
|
|
467
|
+
const t = h() ? y(p, void 0) : void 0, a = e.registry ?? t ?? f();
|
|
468
|
+
a.registerMany(A(), "skip"), e.components && a.registerMany(e.components);
|
|
469
|
+
const { components: n, registry: u, ...s } = e, o = B({
|
|
470
|
+
...s,
|
|
471
|
+
registry: a
|
|
472
|
+
});
|
|
473
|
+
return de(o.runtime, o.registry), h() && (S(I, o.runtime), S(p, o.registry)), o;
|
|
474
|
+
}
|
|
475
|
+
const ve = /* @__PURE__ */ r({
|
|
476
|
+
__name: "A2RealtimeRenderer",
|
|
477
|
+
props: {
|
|
478
|
+
message: {},
|
|
479
|
+
surfaceId: { default: "main" },
|
|
480
|
+
components: {}
|
|
481
|
+
},
|
|
482
|
+
emits: ["action", "error"],
|
|
483
|
+
setup(e, { emit: t }) {
|
|
484
|
+
const a = e, n = t, { pushMessage: u } = ge({
|
|
485
|
+
components: a.components,
|
|
486
|
+
onAction: (s) => n("action", s),
|
|
487
|
+
onError: (s) => n("error", s)
|
|
488
|
+
});
|
|
489
|
+
return D(
|
|
490
|
+
() => a.message,
|
|
491
|
+
(s) => {
|
|
492
|
+
s && u(s);
|
|
493
|
+
},
|
|
494
|
+
{ immediate: !0 }
|
|
495
|
+
), (s, o) => (C(), M(R, {
|
|
496
|
+
"surface-id": e.surfaceId,
|
|
497
|
+
components: e.components,
|
|
498
|
+
onAction: o[0] || (o[0] = (m) => n("action", m)),
|
|
499
|
+
onError: o[1] || (o[1] = (m) => n("error", m))
|
|
500
|
+
}, null, 8, ["surface-id", "components"]));
|
|
501
|
+
}
|
|
502
|
+
});
|
|
503
|
+
function ye(e = {}) {
|
|
504
|
+
const t = f(A());
|
|
505
|
+
return e.components && t.registerMany(e.components, e.conflict ?? "override"), {
|
|
506
|
+
install(a) {
|
|
507
|
+
a.provide(p, t), a.component("A2Surface", R), a.component("A2RealtimeRenderer", ve);
|
|
508
|
+
}
|
|
509
|
+
};
|
|
510
|
+
}
|
|
511
|
+
const he = ye();
|
|
512
|
+
export {
|
|
513
|
+
he as A2ElementPlusPlugin,
|
|
514
|
+
ve as A2RealtimeRenderer,
|
|
515
|
+
R as A2Surface,
|
|
516
|
+
ye as createA2ElementPlusPlugin,
|
|
517
|
+
A as createElementPlusCatalog,
|
|
518
|
+
he as default,
|
|
519
|
+
ge as useA2UI,
|
|
520
|
+
Ce as useBaseA2UI
|
|
521
|
+
};
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { App } from 'vue';
|
|
2
|
+
import { A2CustomComponents, RegisterConflictStrategy } from '@a2ui-vue3-elementplus/vue-renderer';
|
|
3
|
+
export interface A2ElementPlusPluginOptions {
|
|
4
|
+
components?: A2CustomComponents;
|
|
5
|
+
conflict?: RegisterConflictStrategy;
|
|
6
|
+
}
|
|
7
|
+
export declare function createA2ElementPlusPlugin(options?: A2ElementPlusPluginOptions): {
|
|
8
|
+
install(app: App): void;
|
|
9
|
+
};
|
|
10
|
+
export declare const A2ElementPlusPlugin: {
|
|
11
|
+
install(app: App): void;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAMxG,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC;AAED,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,0BAA+B;iBAOjE,GAAG;EAMnB;AAED,eAAO,MAAM,mBAAmB;iBARf,GAAG;CAQ0C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerElementPlusCatalog.d.ts","sourceRoot":"","sources":["../src/registerElementPlusCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAyC9E,wBAAgB,wBAAwB,IAAI,kBAAkB,CA0K7D"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { A2ComponentRegistry } from '@a2ui-vue3-elementplus/vue-renderer';
|
|
2
|
+
export declare function setRuntimeElementPlusRegistry(runtime: unknown, registry: A2ComponentRegistry): void;
|
|
3
|
+
export declare function getRuntimeElementPlusRegistry(runtime: unknown): A2ComponentRegistry | undefined;
|
|
4
|
+
//# sourceMappingURL=runtimeRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeRegistry.d.ts","sourceRoot":"","sources":["../src/runtimeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAQ/E,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAWnG;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAM/F"}
|
package/dist/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.a2-surface{width:100%}.a2-column,.a2-row{display:flex;gap:12px;min-width:0}.a2-column{flex-direction:column}.a2-row{flex-direction:row;flex-wrap:wrap}.a2-card{max-width:100%}.a2-text{margin:0;line-height:1.4}.a2-text--h1,.a2-text--h2,.a2-text--h3,.a2-text--h4,.a2-text--h5{font-weight:650}.a2-field{display:flex;flex-direction:column;gap:6px;min-width:220px}.a2-field__label{color:var(--el-text-color-regular);font-size:14px}.a2-choice-picker{min-width:220px}.a2-render-unknown{border:1px dashed var(--el-border-color);color:var(--el-text-color-secondary);padding:8px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useA2UI.d.ts","sourceRoot":"","sources":["../src/useA2UI.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,qCAAqC,CAAC;AAK7C,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,8DAuBnD"}
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@a2ui-vue3-elementplus/element-plus",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/EricLee823/a2ui-vue3-elementplus.git",
|
|
8
|
+
"directory": "packages/element-plus"
|
|
9
|
+
},
|
|
10
|
+
"main": "./dist/index.cjs",
|
|
11
|
+
"module": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"style": "./dist/style.css",
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"import": "./dist/index.js",
|
|
18
|
+
"require": "./dist/index.cjs"
|
|
19
|
+
},
|
|
20
|
+
"./style.css": "./dist/style.css"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist"
|
|
24
|
+
],
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public",
|
|
27
|
+
"registry": "https://registry.npmjs.org/"
|
|
28
|
+
},
|
|
29
|
+
"sideEffects": [
|
|
30
|
+
"./dist/style.css"
|
|
31
|
+
],
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"element-plus": "^2.0.0",
|
|
34
|
+
"vue": "^3.4.0 || ^3.5.0"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@a2ui-vue3-elementplus/vue-renderer": "0.1.0"
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "vite build",
|
|
41
|
+
"typecheck": "vue-tsc --noEmit -p tsconfig.json",
|
|
42
|
+
"test": "vitest run --passWithNoTests"
|
|
43
|
+
}
|
|
44
|
+
}
|