@jnrs/vue-core 1.1.7 → 1.2.2
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/components/JnDatetime.vue.d.ts +6 -0
- package/dist/components/JnDialog.vue.d.ts +35 -0
- package/dist/components/JnFileUpload.vue.d.ts +441 -0
- package/dist/components/JnPagination.vue.d.ts +29 -0
- package/dist/components/JnSelectTemplate.vue.d.ts +508 -0
- package/dist/components/index.d.ts +7 -1
- package/dist/components/index.js +1498 -138
- package/dist/composables/index.d.ts +2 -1
- package/dist/composables/index.js +3 -122
- package/dist/composables/useMouseSelection.d.ts +21 -0
- package/dist/composables/useReactivityTableHeight.d.ts +19 -0
- package/dist/types/base.d.ts +59 -0
- package/dist/useMouseSelection-v7Ud0vBn.js +207 -0
- package/package.json +1 -1
- package/dist/composables/useAsyncTableHeight.d.ts +0 -15
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
import { FormInstance } from 'element-plus';
|
|
2
|
+
import { ElSize } from '../types/base';
|
|
3
|
+
import { nextTick } from 'vue';
|
|
4
|
+
type SelectableTableRow = Record<string, unknown> & {
|
|
5
|
+
_selected?: boolean;
|
|
6
|
+
};
|
|
7
|
+
type ModelValue = SelectableTableRow | SelectableTableRow[] | string | number;
|
|
8
|
+
interface Props {
|
|
9
|
+
/**
|
|
10
|
+
* 列表接口(必填)
|
|
11
|
+
*/
|
|
12
|
+
listApi: Function;
|
|
13
|
+
/**
|
|
14
|
+
* 列表名称
|
|
15
|
+
* @default ''
|
|
16
|
+
*/
|
|
17
|
+
tableName?: string;
|
|
18
|
+
/**
|
|
19
|
+
* 列表宽度
|
|
20
|
+
* @default '60%'
|
|
21
|
+
*/
|
|
22
|
+
tableWidth?: string;
|
|
23
|
+
/**
|
|
24
|
+
* 列表查询参数
|
|
25
|
+
* @default {}
|
|
26
|
+
*/
|
|
27
|
+
listParams?: Record<string, unknown>;
|
|
28
|
+
/**
|
|
29
|
+
* 列表查询参数前置处理函数
|
|
30
|
+
* @default () => {}
|
|
31
|
+
*/
|
|
32
|
+
listParamsHandle?: (params: Record<string, unknown>) => Record<string, unknown>;
|
|
33
|
+
/**
|
|
34
|
+
* 列表查询参数后置处理函数
|
|
35
|
+
* @default () => {}
|
|
36
|
+
*/
|
|
37
|
+
listParamsHandleAfter?: (params: Record<string, unknown>) => Record<string, unknown>;
|
|
38
|
+
/**
|
|
39
|
+
* 真实数据匹配的键值对名,后续取值赋值都用 keyValue.label 和 keyValue.value
|
|
40
|
+
* @default { label: 'name', value: 'id', code: 'code' }
|
|
41
|
+
*/
|
|
42
|
+
keyValue?: {
|
|
43
|
+
label: string;
|
|
44
|
+
value: string;
|
|
45
|
+
code?: string;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* 双向绑定值(支持多种类型)
|
|
49
|
+
*/
|
|
50
|
+
modelValue?: Record<string, unknown> | Record<string, unknown>[] | number | string;
|
|
51
|
+
/**
|
|
52
|
+
* 宽度
|
|
53
|
+
* @default '100%'
|
|
54
|
+
*/
|
|
55
|
+
width?: string;
|
|
56
|
+
/**
|
|
57
|
+
* 简单数据类型,仅返回 keyValue.value
|
|
58
|
+
* @default true
|
|
59
|
+
*/
|
|
60
|
+
simpleValue?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* option 组件是否显示 [全部]
|
|
63
|
+
* @default false
|
|
64
|
+
*/
|
|
65
|
+
showAllTips?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* 仅显示选择器
|
|
68
|
+
* @default false
|
|
69
|
+
*/
|
|
70
|
+
onlyOption?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* 仅显示选择按钮
|
|
73
|
+
* @default false
|
|
74
|
+
*/
|
|
75
|
+
onlyButton?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* 是否可筛选
|
|
78
|
+
* @default true
|
|
79
|
+
*/
|
|
80
|
+
filterable?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* 是否可清空
|
|
83
|
+
* @default true
|
|
84
|
+
*/
|
|
85
|
+
clearable?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* 按钮文字
|
|
88
|
+
* @default '更多'
|
|
89
|
+
*/
|
|
90
|
+
buttonDialogText?: string;
|
|
91
|
+
/**
|
|
92
|
+
* 按钮大小
|
|
93
|
+
* @default 'default'
|
|
94
|
+
*/
|
|
95
|
+
size?: ElSize;
|
|
96
|
+
/**
|
|
97
|
+
* 父级组件的表单对象
|
|
98
|
+
* @default null
|
|
99
|
+
*/
|
|
100
|
+
formRef?: FormInstance;
|
|
101
|
+
/**
|
|
102
|
+
* 父级表单验证的字段名(使用时必须同时传递 formRef)
|
|
103
|
+
* @default ''
|
|
104
|
+
*/
|
|
105
|
+
validateFieldName?: string;
|
|
106
|
+
/**
|
|
107
|
+
* 可选择的数量
|
|
108
|
+
* @default 1
|
|
109
|
+
*/
|
|
110
|
+
limit?: number;
|
|
111
|
+
/**
|
|
112
|
+
* 表单查询参数
|
|
113
|
+
*/
|
|
114
|
+
queryForm?: Record<string, unknown>;
|
|
115
|
+
/**
|
|
116
|
+
* 初始查询参数
|
|
117
|
+
*/
|
|
118
|
+
initialParams?: Record<string, unknown>;
|
|
119
|
+
/**
|
|
120
|
+
* 下拉框查询参数远程过滤参数的 key 值
|
|
121
|
+
* @default 'name'
|
|
122
|
+
*/
|
|
123
|
+
remoteFilterKey?: string;
|
|
124
|
+
}
|
|
125
|
+
declare function __VLS_template(): {
|
|
126
|
+
attrs: Partial<{}>;
|
|
127
|
+
slots: {
|
|
128
|
+
form?(_: {}): any;
|
|
129
|
+
table?(_: {}): any;
|
|
130
|
+
};
|
|
131
|
+
refs: {
|
|
132
|
+
searchFormRef: ({
|
|
133
|
+
$: import('vue').ComponentInternalInstance;
|
|
134
|
+
$data: {};
|
|
135
|
+
$props: Partial<{
|
|
136
|
+
readonly disabled: boolean;
|
|
137
|
+
readonly inline: boolean;
|
|
138
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
139
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
140
|
+
readonly inlineMessage: boolean;
|
|
141
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
142
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
|
|
143
|
+
readonly labelSuffix: string;
|
|
144
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
145
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
146
|
+
readonly statusIcon: boolean;
|
|
147
|
+
readonly hideRequiredAsterisk: boolean;
|
|
148
|
+
readonly scrollToError: boolean;
|
|
149
|
+
}> & Omit<{
|
|
150
|
+
readonly disabled: boolean;
|
|
151
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "top" | "left" | "right", unknown>;
|
|
152
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
|
|
153
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
154
|
+
readonly labelSuffix: string;
|
|
155
|
+
readonly inline: boolean;
|
|
156
|
+
readonly inlineMessage: boolean;
|
|
157
|
+
readonly statusIcon: boolean;
|
|
158
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
159
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
160
|
+
readonly hideRequiredAsterisk: boolean;
|
|
161
|
+
readonly scrollToError: boolean;
|
|
162
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
163
|
+
readonly size?: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "large" | "default" | "small", unknown> | undefined;
|
|
164
|
+
readonly model?: Record<string, any> | undefined;
|
|
165
|
+
readonly rules?: Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>> | undefined;
|
|
166
|
+
onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined | undefined;
|
|
167
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "inline" | "inlineMessage" | "statusIcon" | "showMessage" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "scrollIntoViewOptions">;
|
|
168
|
+
$attrs: {
|
|
169
|
+
[x: string]: unknown;
|
|
170
|
+
};
|
|
171
|
+
$refs: {
|
|
172
|
+
[x: string]: unknown;
|
|
173
|
+
};
|
|
174
|
+
$slots: Readonly<{
|
|
175
|
+
[name: string]: import('vue').Slot<any> | undefined;
|
|
176
|
+
}>;
|
|
177
|
+
$root: import('vue').ComponentPublicInstance | null;
|
|
178
|
+
$parent: import('vue').ComponentPublicInstance | null;
|
|
179
|
+
$host: Element | null;
|
|
180
|
+
$emit: (event: "validate", prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void;
|
|
181
|
+
$el: any;
|
|
182
|
+
$options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
|
|
183
|
+
readonly model: ObjectConstructor;
|
|
184
|
+
readonly rules: {
|
|
185
|
+
readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>>>;
|
|
186
|
+
readonly required: false;
|
|
187
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
188
|
+
__epPropKey: true;
|
|
189
|
+
};
|
|
190
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
191
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
|
|
192
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
193
|
+
readonly labelSuffix: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
194
|
+
readonly inline: BooleanConstructor;
|
|
195
|
+
readonly inlineMessage: BooleanConstructor;
|
|
196
|
+
readonly statusIcon: BooleanConstructor;
|
|
197
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
198
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
199
|
+
readonly hideRequiredAsterisk: BooleanConstructor;
|
|
200
|
+
readonly scrollToError: BooleanConstructor;
|
|
201
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown, true, boolean>;
|
|
202
|
+
readonly size: {
|
|
203
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
204
|
+
readonly required: false;
|
|
205
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
206
|
+
__epPropKey: true;
|
|
207
|
+
};
|
|
208
|
+
readonly disabled: BooleanConstructor;
|
|
209
|
+
}>> & {
|
|
210
|
+
onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
|
|
211
|
+
}, {
|
|
212
|
+
validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
213
|
+
validateField: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
214
|
+
resetFields: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
215
|
+
clearValidate: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
216
|
+
scrollToField: (prop: import('element-plus').FormItemProp) => void;
|
|
217
|
+
getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
|
|
218
|
+
fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
|
|
219
|
+
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
220
|
+
validate: (prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void;
|
|
221
|
+
}, string, {
|
|
222
|
+
readonly disabled: boolean;
|
|
223
|
+
readonly inline: boolean;
|
|
224
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
225
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
226
|
+
readonly inlineMessage: boolean;
|
|
227
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
228
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
|
|
229
|
+
readonly labelSuffix: string;
|
|
230
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
231
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
232
|
+
readonly statusIcon: boolean;
|
|
233
|
+
readonly hideRequiredAsterisk: boolean;
|
|
234
|
+
readonly scrollToError: boolean;
|
|
235
|
+
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
|
|
236
|
+
beforeCreate?: (() => void) | (() => void)[];
|
|
237
|
+
created?: (() => void) | (() => void)[];
|
|
238
|
+
beforeMount?: (() => void) | (() => void)[];
|
|
239
|
+
mounted?: (() => void) | (() => void)[];
|
|
240
|
+
beforeUpdate?: (() => void) | (() => void)[];
|
|
241
|
+
updated?: (() => void) | (() => void)[];
|
|
242
|
+
activated?: (() => void) | (() => void)[];
|
|
243
|
+
deactivated?: (() => void) | (() => void)[];
|
|
244
|
+
beforeDestroy?: (() => void) | (() => void)[];
|
|
245
|
+
beforeUnmount?: (() => void) | (() => void)[];
|
|
246
|
+
destroyed?: (() => void) | (() => void)[];
|
|
247
|
+
unmounted?: (() => void) | (() => void)[];
|
|
248
|
+
renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
|
|
249
|
+
renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
|
|
250
|
+
errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
|
|
251
|
+
};
|
|
252
|
+
$forceUpdate: () => void;
|
|
253
|
+
$nextTick: typeof nextTick;
|
|
254
|
+
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
|
|
255
|
+
} & Readonly<{
|
|
256
|
+
readonly disabled: boolean;
|
|
257
|
+
readonly inline: boolean;
|
|
258
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
259
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
260
|
+
readonly inlineMessage: boolean;
|
|
261
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
262
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
|
|
263
|
+
readonly labelSuffix: string;
|
|
264
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
265
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
266
|
+
readonly statusIcon: boolean;
|
|
267
|
+
readonly hideRequiredAsterisk: boolean;
|
|
268
|
+
readonly scrollToError: boolean;
|
|
269
|
+
}> & Omit<Readonly<import('vue').ExtractPropTypes<{
|
|
270
|
+
readonly model: ObjectConstructor;
|
|
271
|
+
readonly rules: {
|
|
272
|
+
readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>>>;
|
|
273
|
+
readonly required: false;
|
|
274
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
275
|
+
__epPropKey: true;
|
|
276
|
+
};
|
|
277
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
278
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
|
|
279
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
280
|
+
readonly labelSuffix: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
281
|
+
readonly inline: BooleanConstructor;
|
|
282
|
+
readonly inlineMessage: BooleanConstructor;
|
|
283
|
+
readonly statusIcon: BooleanConstructor;
|
|
284
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
285
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
286
|
+
readonly hideRequiredAsterisk: BooleanConstructor;
|
|
287
|
+
readonly scrollToError: BooleanConstructor;
|
|
288
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown, true, boolean>;
|
|
289
|
+
readonly size: {
|
|
290
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
291
|
+
readonly required: false;
|
|
292
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
293
|
+
__epPropKey: true;
|
|
294
|
+
};
|
|
295
|
+
readonly disabled: BooleanConstructor;
|
|
296
|
+
}>> & {
|
|
297
|
+
onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
|
|
298
|
+
}, "disabled" | "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "inline" | "inlineMessage" | "statusIcon" | "showMessage" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields"> & import('vue').ShallowUnwrapRef<{
|
|
299
|
+
validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
300
|
+
validateField: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
301
|
+
resetFields: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
302
|
+
clearValidate: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
303
|
+
scrollToField: (prop: import('element-plus').FormItemProp) => void;
|
|
304
|
+
getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
|
|
305
|
+
fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
|
|
306
|
+
}> & {} & import('vue').ComponentCustomProperties & {} & {
|
|
307
|
+
$slots: {
|
|
308
|
+
default?(_: {}): any;
|
|
309
|
+
};
|
|
310
|
+
}) | null;
|
|
311
|
+
};
|
|
312
|
+
rootEl: any;
|
|
313
|
+
};
|
|
314
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
315
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
316
|
+
"update:modelValue": (value: ModelValue) => any;
|
|
317
|
+
change: (value: ModelValue) => any;
|
|
318
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
319
|
+
"onUpdate:modelValue"?: ((value: ModelValue) => any) | undefined;
|
|
320
|
+
onChange?: ((value: ModelValue) => any) | undefined;
|
|
321
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
322
|
+
searchFormRef: ({
|
|
323
|
+
$: import('vue').ComponentInternalInstance;
|
|
324
|
+
$data: {};
|
|
325
|
+
$props: Partial<{
|
|
326
|
+
readonly disabled: boolean;
|
|
327
|
+
readonly inline: boolean;
|
|
328
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
329
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
330
|
+
readonly inlineMessage: boolean;
|
|
331
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
332
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
|
|
333
|
+
readonly labelSuffix: string;
|
|
334
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
335
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
336
|
+
readonly statusIcon: boolean;
|
|
337
|
+
readonly hideRequiredAsterisk: boolean;
|
|
338
|
+
readonly scrollToError: boolean;
|
|
339
|
+
}> & Omit<{
|
|
340
|
+
readonly disabled: boolean;
|
|
341
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "top" | "left" | "right", unknown>;
|
|
342
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
|
|
343
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
344
|
+
readonly labelSuffix: string;
|
|
345
|
+
readonly inline: boolean;
|
|
346
|
+
readonly inlineMessage: boolean;
|
|
347
|
+
readonly statusIcon: boolean;
|
|
348
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
349
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
350
|
+
readonly hideRequiredAsterisk: boolean;
|
|
351
|
+
readonly scrollToError: boolean;
|
|
352
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
353
|
+
readonly size?: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "large" | "default" | "small", unknown> | undefined;
|
|
354
|
+
readonly model?: Record<string, any> | undefined;
|
|
355
|
+
readonly rules?: Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>> | undefined;
|
|
356
|
+
onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined | undefined;
|
|
357
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "inline" | "inlineMessage" | "statusIcon" | "showMessage" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "scrollIntoViewOptions">;
|
|
358
|
+
$attrs: {
|
|
359
|
+
[x: string]: unknown;
|
|
360
|
+
};
|
|
361
|
+
$refs: {
|
|
362
|
+
[x: string]: unknown;
|
|
363
|
+
};
|
|
364
|
+
$slots: Readonly<{
|
|
365
|
+
[name: string]: import('vue').Slot<any> | undefined;
|
|
366
|
+
}>;
|
|
367
|
+
$root: import('vue').ComponentPublicInstance | null;
|
|
368
|
+
$parent: import('vue').ComponentPublicInstance | null;
|
|
369
|
+
$host: Element | null;
|
|
370
|
+
$emit: (event: "validate", prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void;
|
|
371
|
+
$el: any;
|
|
372
|
+
$options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
|
|
373
|
+
readonly model: ObjectConstructor;
|
|
374
|
+
readonly rules: {
|
|
375
|
+
readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>>>;
|
|
376
|
+
readonly required: false;
|
|
377
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
378
|
+
__epPropKey: true;
|
|
379
|
+
};
|
|
380
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
381
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
|
|
382
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
383
|
+
readonly labelSuffix: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
384
|
+
readonly inline: BooleanConstructor;
|
|
385
|
+
readonly inlineMessage: BooleanConstructor;
|
|
386
|
+
readonly statusIcon: BooleanConstructor;
|
|
387
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
388
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
389
|
+
readonly hideRequiredAsterisk: BooleanConstructor;
|
|
390
|
+
readonly scrollToError: BooleanConstructor;
|
|
391
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown, true, boolean>;
|
|
392
|
+
readonly size: {
|
|
393
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
394
|
+
readonly required: false;
|
|
395
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
396
|
+
__epPropKey: true;
|
|
397
|
+
};
|
|
398
|
+
readonly disabled: BooleanConstructor;
|
|
399
|
+
}>> & {
|
|
400
|
+
onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
|
|
401
|
+
}, {
|
|
402
|
+
validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
403
|
+
validateField: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
404
|
+
resetFields: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
405
|
+
clearValidate: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
406
|
+
scrollToField: (prop: import('element-plus').FormItemProp) => void;
|
|
407
|
+
getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
|
|
408
|
+
fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
|
|
409
|
+
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
410
|
+
validate: (prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void;
|
|
411
|
+
}, string, {
|
|
412
|
+
readonly disabled: boolean;
|
|
413
|
+
readonly inline: boolean;
|
|
414
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
415
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
416
|
+
readonly inlineMessage: boolean;
|
|
417
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
418
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
|
|
419
|
+
readonly labelSuffix: string;
|
|
420
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
421
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
422
|
+
readonly statusIcon: boolean;
|
|
423
|
+
readonly hideRequiredAsterisk: boolean;
|
|
424
|
+
readonly scrollToError: boolean;
|
|
425
|
+
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
|
|
426
|
+
beforeCreate?: (() => void) | (() => void)[];
|
|
427
|
+
created?: (() => void) | (() => void)[];
|
|
428
|
+
beforeMount?: (() => void) | (() => void)[];
|
|
429
|
+
mounted?: (() => void) | (() => void)[];
|
|
430
|
+
beforeUpdate?: (() => void) | (() => void)[];
|
|
431
|
+
updated?: (() => void) | (() => void)[];
|
|
432
|
+
activated?: (() => void) | (() => void)[];
|
|
433
|
+
deactivated?: (() => void) | (() => void)[];
|
|
434
|
+
beforeDestroy?: (() => void) | (() => void)[];
|
|
435
|
+
beforeUnmount?: (() => void) | (() => void)[];
|
|
436
|
+
destroyed?: (() => void) | (() => void)[];
|
|
437
|
+
unmounted?: (() => void) | (() => void)[];
|
|
438
|
+
renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
|
|
439
|
+
renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
|
|
440
|
+
errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
|
|
441
|
+
};
|
|
442
|
+
$forceUpdate: () => void;
|
|
443
|
+
$nextTick: typeof nextTick;
|
|
444
|
+
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
|
|
445
|
+
} & Readonly<{
|
|
446
|
+
readonly disabled: boolean;
|
|
447
|
+
readonly inline: boolean;
|
|
448
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
449
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
450
|
+
readonly inlineMessage: boolean;
|
|
451
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
452
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
|
|
453
|
+
readonly labelSuffix: string;
|
|
454
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
455
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
456
|
+
readonly statusIcon: boolean;
|
|
457
|
+
readonly hideRequiredAsterisk: boolean;
|
|
458
|
+
readonly scrollToError: boolean;
|
|
459
|
+
}> & Omit<Readonly<import('vue').ExtractPropTypes<{
|
|
460
|
+
readonly model: ObjectConstructor;
|
|
461
|
+
readonly rules: {
|
|
462
|
+
readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>>>;
|
|
463
|
+
readonly required: false;
|
|
464
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
465
|
+
__epPropKey: true;
|
|
466
|
+
};
|
|
467
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
468
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
|
|
469
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
470
|
+
readonly labelSuffix: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
471
|
+
readonly inline: BooleanConstructor;
|
|
472
|
+
readonly inlineMessage: BooleanConstructor;
|
|
473
|
+
readonly statusIcon: BooleanConstructor;
|
|
474
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
475
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
476
|
+
readonly hideRequiredAsterisk: BooleanConstructor;
|
|
477
|
+
readonly scrollToError: BooleanConstructor;
|
|
478
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown, true, boolean>;
|
|
479
|
+
readonly size: {
|
|
480
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
481
|
+
readonly required: false;
|
|
482
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
483
|
+
__epPropKey: true;
|
|
484
|
+
};
|
|
485
|
+
readonly disabled: BooleanConstructor;
|
|
486
|
+
}>> & {
|
|
487
|
+
onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
|
|
488
|
+
}, "disabled" | "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "inline" | "inlineMessage" | "statusIcon" | "showMessage" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields"> & import('vue').ShallowUnwrapRef<{
|
|
489
|
+
validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
490
|
+
validateField: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
491
|
+
resetFields: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
492
|
+
clearValidate: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
493
|
+
scrollToField: (prop: import('element-plus').FormItemProp) => void;
|
|
494
|
+
getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
|
|
495
|
+
fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
|
|
496
|
+
}> & {} & import('vue').ComponentCustomProperties & {} & {
|
|
497
|
+
$slots: {
|
|
498
|
+
default?(_: {}): any;
|
|
499
|
+
};
|
|
500
|
+
}) | null;
|
|
501
|
+
}, any>;
|
|
502
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
503
|
+
export default _default;
|
|
504
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
505
|
+
new (): {
|
|
506
|
+
$slots: S;
|
|
507
|
+
};
|
|
508
|
+
};
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { default as GlobalSetting } from './GlobalSetting.vue';
|
|
2
2
|
import { default as JnImageView } from './JnImageView.vue';
|
|
3
3
|
import { default as JnPdfView } from './JnPdfView.vue';
|
|
4
|
-
|
|
4
|
+
import { default as JnDatetime } from './JnDatetime.vue';
|
|
5
|
+
import { default as JnFileUpload } from './JnFileUpload.vue';
|
|
6
|
+
import { default as JnPagination } from './JnPagination.vue';
|
|
7
|
+
import { default as JnDialog } from './JnDialog.vue';
|
|
8
|
+
import { default as JnTable } from './JnTable.vue';
|
|
9
|
+
import { default as JnSelectTemplate } from './JnSelectTemplate.vue';
|
|
10
|
+
export { GlobalSetting, JnImageView, JnPdfView, JnDatetime, JnFileUpload, JnPagination, JnDialog, JnTable, JnSelectTemplate };
|