@vunk/form 0.0.1-alpha.21 → 0.0.1-alpha.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/components/button/src/ctx.d.ts +4 -0
  2. package/components/button/src/index.vue.d.ts +10 -0
  3. package/components/checkbox/index.css +38 -0
  4. package/components/checkbox/index.js +13 -4
  5. package/components/checkbox/src/ctx.d.ts +4 -0
  6. package/components/checkbox/src/index.vue.d.ts +18 -8
  7. package/components/color-picker/src/ctx.d.ts +4 -0
  8. package/components/color-picker/src/index.vue.d.ts +13 -3
  9. package/components/date-picker/index.js +11 -5
  10. package/components/date-picker/src/ctx.d.ts +45 -42
  11. package/components/date-picker/src/ctx.js +1 -1
  12. package/components/date-picker/src/index.vue.d.ts +102 -96
  13. package/components/form/index.js +14 -5
  14. package/components/form/src/ctx.d.ts +4 -1
  15. package/components/form/src/ctx.js +5 -2
  16. package/components/form/src/index.vue.d.ts +7 -0
  17. package/components/form-item/index.js +9 -1
  18. package/components/form-item/src/ctx.d.ts +5 -1
  19. package/components/form-item/src/ctx.js +4 -0
  20. package/components/form-item/src/index.vue.d.ts +10 -0
  21. package/components/input/index.js +7 -4
  22. package/components/input/src/ctx.d.ts +46 -43
  23. package/components/input/src/ctx.js +1 -1
  24. package/components/input/src/index.vue.d.ts +96 -90
  25. package/components/input-number/index.css +14 -0
  26. package/components/input-number/index.js +12 -3
  27. package/components/input-number/src/ctx.d.ts +4 -0
  28. package/components/input-number/src/index.vue.d.ts +19 -9
  29. package/components/radio/index.css +29 -0
  30. package/components/radio/index.js +13 -4
  31. package/components/radio/src/ctx.d.ts +4 -0
  32. package/components/radio/src/index.vue.d.ts +15 -5
  33. package/components/select/index.css +11 -0
  34. package/components/select/index.js +12 -4
  35. package/components/select/src/ctx.d.ts +4 -0
  36. package/components/select/src/index.vue.d.ts +33 -23
  37. package/components/switch/index.css +11 -0
  38. package/components/switch/index.js +15 -4
  39. package/components/switch/src/ctx.d.ts +4 -0
  40. package/components/switch/src/index.vue.d.ts +14 -4
  41. package/components/upload/index.css +10 -0
  42. package/components/upload/index.js +14 -6
  43. package/components/upload/src/ctx.d.ts +4 -0
  44. package/components/upload/src/index.vue.d.ts +11 -1
  45. package/composables/index.d.ts +1 -0
  46. package/composables/index.js +318 -7
  47. package/composables/useForm.d.ts +9 -0
  48. package/composables/useSourceManager.d.ts +2 -0
  49. package/index.css +118 -0
  50. package/package.json +1 -1
  51. package/shared/element-plus/ctx.d.ts +9 -9
  52. package/shared/infer-prop/index.d.ts +16 -0
  53. package/shared/infer-prop/index.js +29 -0
@@ -3,6 +3,51 @@ declare const _default: import("vue").DefineComponent<{
3
3
  type: import("vue").PropType<import("./types").DatePickerSlots>;
4
4
  default: undefined;
5
5
  };
6
+ required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
7
+ label: StringConstructor;
8
+ labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
9
+ prop: {
10
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
11
+ readonly required: false;
12
+ readonly validator: ((val: unknown) => boolean) | undefined;
13
+ __epPropKey: true;
14
+ };
15
+ rules: {
16
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown>>;
17
+ readonly required: false;
18
+ readonly validator: ((val: unknown) => boolean) | undefined;
19
+ __epPropKey: true;
20
+ };
21
+ error: StringConstructor;
22
+ validateStatus: {
23
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
24
+ readonly required: false;
25
+ readonly validator: ((val: unknown) => boolean) | undefined;
26
+ __epPropKey: true;
27
+ };
28
+ for: StringConstructor;
29
+ inlineMessage: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, BooleanConstructor], unknown, unknown, "", boolean>;
30
+ showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
31
+ formItemSize: {
32
+ type: import("vue").PropType<"default" | "small" | "large">;
33
+ default: string;
34
+ };
35
+ formItemSlots: {
36
+ type: import("vue").PropType<import("../../form-item/src/types").FormItemSlots>;
37
+ default: undefined;
38
+ };
39
+ elRef: {
40
+ type: import("vue").PropType<any>;
41
+ required: boolean;
42
+ };
43
+ inline: {
44
+ type: BooleanConstructor;
45
+ default: boolean;
46
+ };
47
+ readonly: {
48
+ type: BooleanConstructor;
49
+ default: undefined;
50
+ };
6
51
  type: {
7
52
  type: import("vue").PropType<"year" | "month" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange">;
8
53
  default: string;
@@ -21,7 +66,6 @@ declare const _default: import("vue").DefineComponent<{
21
66
  };
22
67
  shortcuts: import("element-plus/es/utils").EpPropFinalized<ArrayConstructor, unknown, unknown, () => never[], boolean>;
23
68
  arrowControl: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
24
- label: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
25
69
  tabindex: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown, 0, boolean>;
26
70
  validateEvent: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
27
71
  unlinkPanels: BooleanConstructor;
@@ -63,7 +107,6 @@ declare const _default: import("vue").DefineComponent<{
63
107
  readonly validator: ((val: unknown) => boolean) | undefined;
64
108
  __epPropKey: true;
65
109
  };
66
- readonly: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
67
110
  disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
68
111
  placeholder: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
69
112
  popperOptions: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => Partial<import("element-plus").Options>) | (() => Partial<import("element-plus").Options>) | ((new (...args: any[]) => Partial<import("element-plus").Options>) | (() => Partial<import("element-plus").Options>))[], unknown, unknown, () => {}, boolean>;
@@ -84,46 +127,6 @@ declare const _default: import("vue").DefineComponent<{
84
127
  __epPropKey: true;
85
128
  };
86
129
  isRange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
87
- required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
88
- labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
89
- prop: {
90
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
91
- readonly required: false;
92
- readonly validator: ((val: unknown) => boolean) | undefined;
93
- __epPropKey: true;
94
- };
95
- rules: {
96
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown>>;
97
- readonly required: false;
98
- readonly validator: ((val: unknown) => boolean) | undefined;
99
- __epPropKey: true;
100
- };
101
- error: StringConstructor;
102
- validateStatus: {
103
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
104
- readonly required: false;
105
- readonly validator: ((val: unknown) => boolean) | undefined;
106
- __epPropKey: true;
107
- };
108
- for: StringConstructor;
109
- inlineMessage: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, BooleanConstructor], unknown, unknown, "", boolean>;
110
- showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
111
- formItemSize: {
112
- type: import("vue").PropType<"default" | "small" | "large">;
113
- default: string;
114
- };
115
- formItemSlots: {
116
- type: import("vue").PropType<import("../../form-item/src/types").FormItemSlots>;
117
- default: undefined;
118
- };
119
- elRef: {
120
- type: import("vue").PropType<any>;
121
- required: boolean;
122
- };
123
- inline: {
124
- type: BooleanConstructor;
125
- default: boolean;
126
- };
127
130
  }, {
128
131
  formItemBindProps: import("vue").ComputedRef<{
129
132
  required: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
@@ -140,6 +143,7 @@ declare const _default: import("vue").DefineComponent<{
140
143
  formItemSlots: import("../../form-item/src/types").FormItemSlots | undefined;
141
144
  elRef: any;
142
145
  inline: boolean;
146
+ readonly: boolean | undefined;
143
147
  }>;
144
148
  datePickerBindProps: import("vue").ComputedRef<{
145
149
  label: string | undefined;
@@ -147,27 +151,26 @@ declare const _default: import("vue").DefineComponent<{
147
151
  name: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").SingleOrRange<string> & {}) | (() => import("element-plus").SingleOrRange<string>) | ((new (...args: any[]) => import("element-plus").SingleOrRange<string> & {}) | (() => import("element-plus").SingleOrRange<string>))[], unknown, unknown>;
148
152
  disabled: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
149
153
  id: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").SingleOrRange<string> & {}) | (() => import("element-plus").SingleOrRange<string>) | ((new (...args: any[]) => import("element-plus").SingleOrRange<string> & {}) | (() => import("element-plus").SingleOrRange<string>))[], unknown, unknown> | undefined;
150
- modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").ModelValueType & {}) | (() => import("element-plus").ModelValueType) | ((new (...args: any[]) => import("element-plus").ModelValueType & {}) | (() => import("element-plus").ModelValueType))[], unknown, unknown>;
151
- tabindex: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
152
- validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
153
- popperClass: string;
154
154
  disabledDate: Function | undefined;
155
155
  cellClassName: Function | undefined;
156
156
  shortcuts: unknown[];
157
157
  arrowControl: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
158
+ tabindex: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
159
+ validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
158
160
  unlinkPanels: boolean;
159
161
  disabledHours: import("element-plus/es/components/time-picker/src/props/shared").GetDisabledHours | undefined;
160
162
  disabledMinutes: import("element-plus/es/components/time-picker/src/props/shared").GetDisabledMinutes | undefined;
161
163
  disabledSeconds: import("element-plus/es/components/time-picker/src/props/shared").GetDisabledSeconds | undefined;
164
+ popperClass: string;
162
165
  format: string | undefined;
163
166
  valueFormat: string | undefined;
164
167
  clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
165
168
  clearIcon: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>;
166
169
  editable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
167
170
  prefixIcon: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>;
168
- readonly: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
169
171
  placeholder: string;
170
172
  popperOptions: Partial<import("element-plus").Options>;
173
+ modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").ModelValueType & {}) | (() => import("element-plus").ModelValueType) | ((new (...args: any[]) => import("element-plus").ModelValueType & {}) | (() => import("element-plus").ModelValueType))[], unknown, unknown>;
171
174
  rangeSeparator: string;
172
175
  startPlaceholder: string | undefined;
173
176
  endPlaceholder: string | undefined;
@@ -185,6 +188,7 @@ declare const _default: import("vue").DefineComponent<{
185
188
  "panel-change": (...e: any[]) => void;
186
189
  "visible-change": (...e: any[]) => void;
187
190
  };
191
+ readonly: import("vue").ComputedRef<boolean>;
188
192
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
189
193
  'update:modelValue': null;
190
194
  change: null;
@@ -199,6 +203,51 @@ declare const _default: import("vue").DefineComponent<{
199
203
  type: import("vue").PropType<import("./types").DatePickerSlots>;
200
204
  default: undefined;
201
205
  };
206
+ required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
207
+ label: StringConstructor;
208
+ labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
209
+ prop: {
210
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
211
+ readonly required: false;
212
+ readonly validator: ((val: unknown) => boolean) | undefined;
213
+ __epPropKey: true;
214
+ };
215
+ rules: {
216
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown>>;
217
+ readonly required: false;
218
+ readonly validator: ((val: unknown) => boolean) | undefined;
219
+ __epPropKey: true;
220
+ };
221
+ error: StringConstructor;
222
+ validateStatus: {
223
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
224
+ readonly required: false;
225
+ readonly validator: ((val: unknown) => boolean) | undefined;
226
+ __epPropKey: true;
227
+ };
228
+ for: StringConstructor;
229
+ inlineMessage: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, BooleanConstructor], unknown, unknown, "", boolean>;
230
+ showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
231
+ formItemSize: {
232
+ type: import("vue").PropType<"default" | "small" | "large">;
233
+ default: string;
234
+ };
235
+ formItemSlots: {
236
+ type: import("vue").PropType<import("../../form-item/src/types").FormItemSlots>;
237
+ default: undefined;
238
+ };
239
+ elRef: {
240
+ type: import("vue").PropType<any>;
241
+ required: boolean;
242
+ };
243
+ inline: {
244
+ type: BooleanConstructor;
245
+ default: boolean;
246
+ };
247
+ readonly: {
248
+ type: BooleanConstructor;
249
+ default: undefined;
250
+ };
202
251
  type: {
203
252
  type: import("vue").PropType<"year" | "month" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange">;
204
253
  default: string;
@@ -217,7 +266,6 @@ declare const _default: import("vue").DefineComponent<{
217
266
  };
218
267
  shortcuts: import("element-plus/es/utils").EpPropFinalized<ArrayConstructor, unknown, unknown, () => never[], boolean>;
219
268
  arrowControl: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
220
- label: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
221
269
  tabindex: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown, 0, boolean>;
222
270
  validateEvent: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
223
271
  unlinkPanels: BooleanConstructor;
@@ -259,7 +307,6 @@ declare const _default: import("vue").DefineComponent<{
259
307
  readonly validator: ((val: unknown) => boolean) | undefined;
260
308
  __epPropKey: true;
261
309
  };
262
- readonly: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
263
310
  disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
264
311
  placeholder: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
265
312
  popperOptions: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => Partial<import("element-plus").Options>) | (() => Partial<import("element-plus").Options>) | ((new (...args: any[]) => Partial<import("element-plus").Options>) | (() => Partial<import("element-plus").Options>))[], unknown, unknown, () => {}, boolean>;
@@ -280,50 +327,10 @@ declare const _default: import("vue").DefineComponent<{
280
327
  __epPropKey: true;
281
328
  };
282
329
  isRange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
283
- required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
284
- labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
285
- prop: {
286
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => import("element-plus").FormItemProp & {}) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
287
- readonly required: false;
288
- readonly validator: ((val: unknown) => boolean) | undefined;
289
- __epPropKey: true;
290
- };
291
- rules: {
292
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>))[], unknown, unknown>>;
293
- readonly required: false;
294
- readonly validator: ((val: unknown) => boolean) | undefined;
295
- __epPropKey: true;
296
- };
297
- error: StringConstructor;
298
- validateStatus: {
299
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "error" | "success" | "validating", unknown>>;
300
- readonly required: false;
301
- readonly validator: ((val: unknown) => boolean) | undefined;
302
- __epPropKey: true;
303
- };
304
- for: StringConstructor;
305
- inlineMessage: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, BooleanConstructor], unknown, unknown, "", boolean>;
306
- showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
307
- formItemSize: {
308
- type: import("vue").PropType<"default" | "small" | "large">;
309
- default: string;
310
- };
311
- formItemSlots: {
312
- type: import("vue").PropType<import("../../form-item/src/types").FormItemSlots>;
313
- default: undefined;
314
- };
315
- elRef: {
316
- type: import("vue").PropType<any>;
317
- required: boolean;
318
- };
319
- inline: {
320
- type: BooleanConstructor;
321
- default: boolean;
322
- };
323
330
  }>> & {
324
- onChange?: ((...args: any[]) => any) | undefined;
325
331
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
326
332
  onBlur?: ((...args: any[]) => any) | undefined;
333
+ onChange?: ((...args: any[]) => any) | undefined;
327
334
  onFocus?: ((...args: any[]) => any) | undefined;
328
335
  onKeydown?: ((...args: any[]) => any) | undefined;
329
336
  "onCalendar-change"?: ((...args: any[]) => any) | undefined;
@@ -332,29 +339,28 @@ declare const _default: import("vue").DefineComponent<{
332
339
  }, {
333
340
  required: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
334
341
  type: "year" | "month" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange";
335
- label: string;
336
342
  labelWidth: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
337
343
  inlineMessage: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
338
344
  showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
339
345
  formItemSize: "default" | "small" | "large";
340
346
  formItemSlots: import("../../form-item/src/types").FormItemSlots;
341
347
  inline: boolean;
348
+ readonly: boolean;
342
349
  name: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").SingleOrRange<string> & {}) | (() => import("element-plus").SingleOrRange<string>) | ((new (...args: any[]) => import("element-plus").SingleOrRange<string> & {}) | (() => import("element-plus").SingleOrRange<string>))[], unknown, unknown>;
343
350
  disabled: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
344
- modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").ModelValueType & {}) | (() => import("element-plus").ModelValueType) | ((new (...args: any[]) => import("element-plus").ModelValueType & {}) | (() => import("element-plus").ModelValueType))[], unknown, unknown>;
345
- tabindex: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
346
- validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
347
- popperClass: string;
348
351
  shortcuts: unknown[];
349
352
  arrowControl: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
353
+ tabindex: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
354
+ validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
350
355
  unlinkPanels: boolean;
356
+ popperClass: string;
351
357
  clearable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
352
358
  clearIcon: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>;
353
359
  editable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
354
360
  prefixIcon: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>;
355
- readonly: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
356
361
  placeholder: string;
357
362
  popperOptions: Partial<import("element-plus").Options>;
363
+ modelValue: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("element-plus").ModelValueType & {}) | (() => import("element-plus").ModelValueType) | ((new (...args: any[]) => import("element-plus").ModelValueType & {}) | (() => import("element-plus").ModelValueType))[], unknown, unknown>;
358
364
  rangeSeparator: string;
359
365
  isRange: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
360
366
  datePickerSlots: import("./types").DatePickerSlots;
@@ -1,6 +1,7 @@
1
1
  import { formProps, formEmits, ElForm } from 'element-plus';
2
2
  import { bindPropsFactory, onEmitsFactory } from '@vunk/core/shared/utils-vue';
3
- import { defineComponent, shallowRef, provide, resolveComponent, openBlock, createBlock, mergeProps, toHandlers, withCtx, createVNode, renderSlot } from 'vue';
3
+ import { NOOP } from '@vunk/core/shared/utils-function';
4
+ import { defineComponent, shallowRef, getCurrentInstance, provide, resolveComponent, openBlock, createBlock, mergeProps, toHandlers, withCtx, createVNode, renderSlot } from 'vue';
4
5
  import { VkfFormItemRenderer } from '@vunk/form/components/form-item-renderer';
5
6
  import { createFormBindProps, createFormOnEmits } from '@vunk/form/shared/element-plus';
6
7
  import { getValue } from '@vunk/core/shared/helper';
@@ -34,10 +35,12 @@ const props = __spreadProps(__spreadValues({}, formProps), {
34
35
  type: Array,
35
36
  default: () => []
36
37
  },
38
+ readonly: {
39
+ type: Boolean
40
+ },
37
41
  elRef: {
38
42
  type: Function,
39
- default: () => () => {
40
- }
43
+ default: () => NOOP
41
44
  }
42
45
  });
43
46
  const createBindProps = bindPropsFactory(props);
@@ -68,6 +71,8 @@ var script = defineComponent({
68
71
  const formProps = createFormBindProps(props2, ["model"]);
69
72
  const formEmits = createFormOnEmits(emit);
70
73
  const formRef = shallowRef();
74
+ const vm = getCurrentInstance();
75
+ provide("vkfFormVm", vm);
71
76
  provide("elFormRef", formRef);
72
77
  const getRef = (e) => {
73
78
  formRef.value = e;
@@ -86,7 +91,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
86
91
  const _component_VkfFormItemRendererTemplateDefault = resolveComponent("VkfFormItemRendererTemplateDefault");
87
92
  const _component_VkfFormItemRenderer = resolveComponent("VkfFormItemRenderer");
88
93
  const _component_ElForm = resolveComponent("ElForm");
89
- return openBlock(), createBlock(_component_ElForm, mergeProps(_ctx.formProps, toHandlers(_ctx.formEmits), {
94
+ return openBlock(), createBlock(_component_ElForm, mergeProps({
95
+ class: {
96
+ "is-readonly": _ctx.readonly
97
+ }
98
+ }, _ctx.formProps, toHandlers(_ctx.formEmits), {
90
99
  model: _ctx.model || _ctx.data,
91
100
  ref: _ctx.getRef
92
101
  }), {
@@ -104,7 +113,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
104
113
  renderSlot(_ctx.$slots, "default")
105
114
  ]),
106
115
  _: 3
107
- }, 16, ["model"]);
116
+ }, 16, ["class", "model"]);
108
117
  }
109
118
 
110
119
  script.render = render;
@@ -9,6 +9,9 @@ export declare const props: {
9
9
  type: PropType<any[]>;
10
10
  default: () => never[];
11
11
  };
12
+ readonly: {
13
+ type: BooleanConstructor;
14
+ };
12
15
  elRef: {
13
16
  type: PropType<(arg: {
14
17
  $: import("vue").ComponentInternalInstance;
@@ -310,7 +313,7 @@ export declare const props: {
310
313
  hideRequiredAsterisk: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
311
314
  scrollToError: BooleanConstructor;
312
315
  };
313
- export declare const createBindProps: <T2 extends import("@vunk/core").NormalObject, EX extends (Extract<"labelWidth", keyof T2> | Extract<"rules", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"size", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"data", keyof T2> | Extract<"disabled", keyof T2> | Extract<"model", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"labelSuffix", keyof T2> | Extract<"statusIcon", keyof T2> | Extract<"validateOnRuleChange", keyof T2> | Extract<"hideRequiredAsterisk", keyof T2> | Extract<"scrollToError", keyof T2> | Extract<"formItems", keyof T2>)[] | undefined>(propsArg: T2, excludes?: EX | undefined) => import("vue").ComputedRef<{ [P in EX extends (infer KE)[] ? Exclude<Extract<"labelWidth", keyof T2>, KE> | Exclude<Extract<"rules", keyof T2>, KE> | Exclude<Extract<"inlineMessage", keyof T2>, KE> | Exclude<Extract<"showMessage", keyof T2>, KE> | Exclude<Extract<"size", keyof T2>, KE> | Exclude<Extract<"elRef", keyof T2>, KE> | Exclude<Extract<"inline", keyof T2>, KE> | Exclude<Extract<"data", keyof T2>, KE> | Exclude<Extract<"disabled", keyof T2>, KE> | Exclude<Extract<"model", keyof T2>, KE> | Exclude<Extract<"labelPosition", keyof T2>, KE> | Exclude<Extract<"labelSuffix", keyof T2>, KE> | Exclude<Extract<"statusIcon", keyof T2>, KE> | Exclude<Extract<"validateOnRuleChange", keyof T2>, KE> | Exclude<Extract<"hideRequiredAsterisk", keyof T2>, KE> | Exclude<Extract<"scrollToError", keyof T2>, KE> | Exclude<Extract<"formItems", keyof T2>, KE> : Extract<"labelWidth", keyof T2> | Extract<"rules", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"size", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"data", keyof T2> | Extract<"disabled", keyof T2> | Extract<"model", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"labelSuffix", keyof T2> | Extract<"statusIcon", keyof T2> | Extract<"validateOnRuleChange", keyof T2> | Extract<"hideRequiredAsterisk", keyof T2> | Extract<"scrollToError", keyof T2> | Extract<"formItems", keyof T2>]: { [k in Extract<"labelWidth", keyof T2> | Extract<"rules", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"size", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"data", keyof T2> | Extract<"disabled", keyof T2> | Extract<"model", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"labelSuffix", keyof T2> | Extract<"statusIcon", keyof T2> | Extract<"validateOnRuleChange", keyof T2> | Extract<"hideRequiredAsterisk", keyof T2> | Extract<"scrollToError", keyof T2> | Extract<"formItems", keyof T2>]: T2[k]; }[P]; }>;
316
+ export declare const createBindProps: <T2 extends import("@vunk/core").NormalObject, EX extends (Extract<"labelWidth", keyof T2> | Extract<"rules", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"size", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2> | Extract<"data", keyof T2> | Extract<"disabled", keyof T2> | Extract<"model", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"labelSuffix", keyof T2> | Extract<"statusIcon", keyof T2> | Extract<"validateOnRuleChange", keyof T2> | Extract<"hideRequiredAsterisk", keyof T2> | Extract<"scrollToError", keyof T2> | Extract<"formItems", keyof T2>)[] | undefined>(propsArg: T2, excludes?: EX | undefined) => import("vue").ComputedRef<{ [P in EX extends (infer KE)[] ? Exclude<Extract<"labelWidth", keyof T2>, KE> | Exclude<Extract<"rules", keyof T2>, KE> | Exclude<Extract<"inlineMessage", keyof T2>, KE> | Exclude<Extract<"showMessage", keyof T2>, KE> | Exclude<Extract<"size", keyof T2>, KE> | Exclude<Extract<"elRef", keyof T2>, KE> | Exclude<Extract<"inline", keyof T2>, KE> | Exclude<Extract<"readonly", keyof T2>, KE> | Exclude<Extract<"data", keyof T2>, KE> | Exclude<Extract<"disabled", keyof T2>, KE> | Exclude<Extract<"model", keyof T2>, KE> | Exclude<Extract<"labelPosition", keyof T2>, KE> | Exclude<Extract<"labelSuffix", keyof T2>, KE> | Exclude<Extract<"statusIcon", keyof T2>, KE> | Exclude<Extract<"validateOnRuleChange", keyof T2>, KE> | Exclude<Extract<"hideRequiredAsterisk", keyof T2>, KE> | Exclude<Extract<"scrollToError", keyof T2>, KE> | Exclude<Extract<"formItems", keyof T2>, KE> : Extract<"labelWidth", keyof T2> | Extract<"rules", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"size", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2> | Extract<"data", keyof T2> | Extract<"disabled", keyof T2> | Extract<"model", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"labelSuffix", keyof T2> | Extract<"statusIcon", keyof T2> | Extract<"validateOnRuleChange", keyof T2> | Extract<"hideRequiredAsterisk", keyof T2> | Extract<"scrollToError", keyof T2> | Extract<"formItems", keyof T2>]: { [k in Extract<"labelWidth", keyof T2> | Extract<"rules", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"size", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2> | Extract<"data", keyof T2> | Extract<"disabled", keyof T2> | Extract<"model", keyof T2> | Extract<"labelPosition", keyof T2> | Extract<"labelSuffix", keyof T2> | Extract<"statusIcon", keyof T2> | Extract<"validateOnRuleChange", keyof T2> | Extract<"hideRequiredAsterisk", keyof T2> | Extract<"scrollToError", keyof T2> | Extract<"formItems", keyof T2>]: T2[k]; }[P]; }>;
314
317
  export declare const emits: {
315
318
  setData: (e: SetDataEvent) => SetDataEvent<any>;
316
319
  validate: null;
@@ -1,5 +1,6 @@
1
1
  import { formProps, formEmits } from 'element-plus';
2
2
  import { bindPropsFactory, onEmitsFactory } from '@vunk/core/shared/utils-vue';
3
+ import { NOOP } from '@vunk/core/shared/utils-function';
3
4
 
4
5
  var __defProp = Object.defineProperty;
5
6
  var __defProps = Object.defineProperties;
@@ -29,10 +30,12 @@ const props = __spreadProps(__spreadValues({}, formProps), {
29
30
  type: Array,
30
31
  default: () => []
31
32
  },
33
+ readonly: {
34
+ type: Boolean
35
+ },
32
36
  elRef: {
33
37
  type: Function,
34
- default: () => () => {
35
- }
38
+ default: () => NOOP
36
39
  }
37
40
  });
38
41
  const createBindProps = bindPropsFactory(props);
@@ -8,6 +8,9 @@ declare const _default: import("vue").DefineComponent<{
8
8
  type: import("vue").PropType<any[]>;
9
9
  default: () => never[];
10
10
  };
11
+ readonly: {
12
+ type: BooleanConstructor;
13
+ };
11
14
  elRef: {
12
15
  type: import("vue").PropType<(arg: {
13
16
  $: import("vue").ComponentInternalInstance;
@@ -341,6 +344,9 @@ declare const _default: import("vue").DefineComponent<{
341
344
  type: import("vue").PropType<any[]>;
342
345
  default: () => never[];
343
346
  };
347
+ readonly: {
348
+ type: BooleanConstructor;
349
+ };
344
350
  elRef: {
345
351
  type: import("vue").PropType<(arg: {
346
352
  $: import("vue").ComponentInternalInstance;
@@ -922,6 +928,7 @@ declare const _default: import("vue").DefineComponent<{
922
928
  scrollToField: (prop: import("element-plus").FormItemProp) => void;
923
929
  }> & {} & import("vue").ComponentCustomProperties) => any;
924
930
  inline: boolean;
931
+ readonly: boolean;
925
932
  data: Record<string, any>;
926
933
  disabled: boolean;
927
934
  labelPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "left" | "right", unknown>;
@@ -2,6 +2,7 @@ import { formItemProps, ElFormItem } from 'element-plus';
2
2
  import { bindPropsFactory } from '@vunk/core/shared/utils-vue';
3
3
  import { defineComponent, resolveComponent, openBlock, createBlock, mergeProps, createSlots, withCtx, renderSlot, renderList, resolveDynamicComponent } from 'vue';
4
4
  import { createFormItemBindProps } from '@vunk/form/shared/element-plus';
5
+ import { useComputedReadonly } from '@vunk/form/composables';
5
6
 
6
7
  var __defProp = Object.defineProperty;
7
8
  var __defProps = Object.defineProperties;
@@ -38,6 +39,10 @@ const _props = __spreadProps(__spreadValues({}, formItemProps), {
38
39
  inline: {
39
40
  type: Boolean,
40
41
  default: false
42
+ },
43
+ readonly: {
44
+ type: Boolean,
45
+ default: void 0
41
46
  }
42
47
  });
43
48
  Reflect.deleteProperty(_props, "size");
@@ -58,8 +63,10 @@ var script = defineComponent({
58
63
  props,
59
64
  setup(props2) {
60
65
  const formItemBindProps = createFormItemBindProps(props2);
66
+ const readonly = useComputedReadonly(props2);
61
67
  return {
62
- formItemBindProps
68
+ formItemBindProps,
69
+ readonly
63
70
  };
64
71
  }
65
72
  });
@@ -68,6 +75,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
68
75
  const _component_ElFormItem = resolveComponent("ElFormItem");
69
76
  return openBlock(), createBlock(_component_ElFormItem, mergeProps({
70
77
  class: {
78
+ "is-readonly": _ctx.readonly,
71
79
  "vkf-form-item--inline": _ctx.inline
72
80
  }
73
81
  }, _ctx.formItemBindProps, {
@@ -17,6 +17,10 @@ export declare const props: Omit<{
17
17
  type: BooleanConstructor;
18
18
  default: boolean;
19
19
  };
20
+ readonly: {
21
+ type: BooleanConstructor;
22
+ default: undefined;
23
+ };
20
24
  label: StringConstructor;
21
25
  labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
22
26
  prop: {
@@ -49,4 +53,4 @@ export declare const props: Omit<{
49
53
  __epPropKey: true;
50
54
  };
51
55
  }, "size">;
52
- export declare const createBindProps: <T2 extends import("@vunk/core").NormalObject, EX extends (Extract<"required", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"prop", keyof T2> | Extract<"rules", keyof T2> | Extract<"error", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2>)[] | undefined>(propsArg: T2, excludes?: EX | undefined) => import("vue").ComputedRef<{ [P in EX extends (infer KE)[] ? Exclude<Extract<"required", keyof T2>, KE> | Exclude<Extract<"label", keyof T2>, KE> | Exclude<Extract<"labelWidth", keyof T2>, KE> | Exclude<Extract<"prop", keyof T2>, KE> | Exclude<Extract<"rules", keyof T2>, KE> | Exclude<Extract<"error", keyof T2>, KE> | Exclude<Extract<"validateStatus", keyof T2>, KE> | Exclude<Extract<"for", keyof T2>, KE> | Exclude<Extract<"inlineMessage", keyof T2>, KE> | Exclude<Extract<"showMessage", keyof T2>, KE> | Exclude<Extract<"formItemSize", keyof T2>, KE> | Exclude<Extract<"formItemSlots", keyof T2>, KE> | Exclude<Extract<"elRef", keyof T2>, KE> | Exclude<Extract<"inline", keyof T2>, KE> : Extract<"required", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"prop", keyof T2> | Extract<"rules", keyof T2> | Extract<"error", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2>]: { [k in Extract<"required", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"prop", keyof T2> | Extract<"rules", keyof T2> | Extract<"error", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2>]: T2[k]; }[P]; }>;
56
+ export declare const createBindProps: <T2 extends import("@vunk/core").NormalObject, EX extends (Extract<"required", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"prop", keyof T2> | Extract<"rules", keyof T2> | Extract<"error", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2>)[] | undefined>(propsArg: T2, excludes?: EX | undefined) => import("vue").ComputedRef<{ [P in EX extends (infer KE)[] ? Exclude<Extract<"required", keyof T2>, KE> | Exclude<Extract<"label", keyof T2>, KE> | Exclude<Extract<"labelWidth", keyof T2>, KE> | Exclude<Extract<"prop", keyof T2>, KE> | Exclude<Extract<"rules", keyof T2>, KE> | Exclude<Extract<"error", keyof T2>, KE> | Exclude<Extract<"validateStatus", keyof T2>, KE> | Exclude<Extract<"for", keyof T2>, KE> | Exclude<Extract<"inlineMessage", keyof T2>, KE> | Exclude<Extract<"showMessage", keyof T2>, KE> | Exclude<Extract<"formItemSize", keyof T2>, KE> | Exclude<Extract<"formItemSlots", keyof T2>, KE> | Exclude<Extract<"elRef", keyof T2>, KE> | Exclude<Extract<"inline", keyof T2>, KE> | Exclude<Extract<"readonly", keyof T2>, KE> : Extract<"required", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"prop", keyof T2> | Extract<"rules", keyof T2> | Extract<"error", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2>]: { [k in Extract<"required", keyof T2> | Extract<"label", keyof T2> | Extract<"labelWidth", keyof T2> | Extract<"prop", keyof T2> | Extract<"rules", keyof T2> | Extract<"error", keyof T2> | Extract<"validateStatus", keyof T2> | Extract<"for", keyof T2> | Extract<"inlineMessage", keyof T2> | Extract<"showMessage", keyof T2> | Extract<"formItemSize", keyof T2> | Extract<"formItemSlots", keyof T2> | Extract<"elRef", keyof T2> | Extract<"inline", keyof T2> | Extract<"readonly", keyof T2>]: T2[k]; }[P]; }>;
@@ -36,6 +36,10 @@ const _props = __spreadProps(__spreadValues({}, formItemProps), {
36
36
  inline: {
37
37
  type: Boolean,
38
38
  default: false
39
+ },
40
+ readonly: {
41
+ type: Boolean,
42
+ default: void 0
39
43
  }
40
44
  });
41
45
  Reflect.deleteProperty(_props, "size");
@@ -15,6 +15,10 @@ declare const _default: import("vue").DefineComponent<Omit<{
15
15
  type: BooleanConstructor;
16
16
  default: boolean;
17
17
  };
18
+ readonly: {
19
+ type: BooleanConstructor;
20
+ default: undefined;
21
+ };
18
22
  label: StringConstructor;
19
23
  labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
20
24
  prop: {
@@ -59,6 +63,7 @@ declare const _default: import("vue").DefineComponent<Omit<{
59
63
  inlineMessage: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, BooleanConstructor], unknown, unknown>;
60
64
  showMessage: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
61
65
  }>;
66
+ readonly: import("vue").ComputedRef<boolean>;
62
67
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<Omit<{
63
68
  formItemSize: {
64
69
  type: import("vue").PropType<"default" | "small" | "large">;
@@ -76,6 +81,10 @@ declare const _default: import("vue").DefineComponent<Omit<{
76
81
  type: BooleanConstructor;
77
82
  default: boolean;
78
83
  };
84
+ readonly: {
85
+ type: BooleanConstructor;
86
+ default: undefined;
87
+ };
79
88
  label: StringConstructor;
80
89
  labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
81
90
  prop: {
@@ -115,5 +124,6 @@ declare const _default: import("vue").DefineComponent<Omit<{
115
124
  formItemSize: "default" | "small" | "large";
116
125
  formItemSlots: import("./types").FormItemSlots;
117
126
  inline: boolean;
127
+ readonly: boolean;
118
128
  }>;
119
129
  export default _default;
@@ -3,6 +3,7 @@ import { _VkfFormItemCtx, VkfFormItem } from '@vunk/form/components/form-item';
3
3
  import { bindPropsFactory, onEmitsFactory } from '@vunk/core/shared/utils-vue';
4
4
  import { defineComponent, resolveComponent, openBlock, createBlock, normalizeProps, guardReactiveProps, withCtx, createVNode, mergeProps, toHandlers, createSlots, renderSlot, renderList, resolveDynamicComponent } from 'vue';
5
5
  import { createInputBindProps, createInputOnEmits } from '@vunk/form/shared/element-plus';
6
+ import { useComputedReadonly } from '@vunk/form/composables';
6
7
 
7
8
  var __defProp = Object.defineProperty;
8
9
  var __defProps = Object.defineProperties;
@@ -23,7 +24,7 @@ var __spreadValues = (a, b) => {
23
24
  return a;
24
25
  };
25
26
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
26
- const props = __spreadProps(__spreadValues(__spreadValues({}, _VkfFormItemCtx.props), inputProps), {
27
+ const props = __spreadProps(__spreadValues(__spreadValues({}, inputProps), _VkfFormItemCtx.props), {
27
28
  maxlength: {
28
29
  type: Number,
29
30
  required: false
@@ -62,12 +63,14 @@ var script = defineComponent({
62
63
  emits,
63
64
  props,
64
65
  setup(props2, { emit }) {
65
- const inputBindProps = createInputBindProps(props2);
66
+ const inputBindProps = createInputBindProps(props2, ["readonly"]);
66
67
  const inputOnEmits = createInputOnEmits(emit);
67
68
  const formItemBindProps = _VkfFormItemCtx.createBindProps(props2);
69
+ const readonly = useComputedReadonly(props2);
68
70
  return {
69
71
  inputBindProps,
70
72
  formItemBindProps,
73
+ readonly,
71
74
  inputOnEmits
72
75
  };
73
76
  }
@@ -82,7 +85,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
82
85
  maxlength: _ctx.maxlength,
83
86
  minlength: _ctx.minlength,
84
87
  rows: _ctx.rows
85
- }, _ctx.inputBindProps, toHandlers(_ctx.inputOnEmits)), createSlots({
88
+ }, _ctx.inputBindProps, toHandlers(_ctx.inputOnEmits), { readonly: _ctx.readonly }), createSlots({
86
89
  default: withCtx(() => [
87
90
  renderSlot(_ctx.$slots, "default")
88
91
  ]),
@@ -96,7 +99,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
96
99
  ])
97
100
  };
98
101
  })
99
- ]), 1040, ["maxlength", "minlength", "rows"])
102
+ ]), 1040, ["maxlength", "minlength", "rows", "readonly"])
100
103
  ]),
101
104
  _: 3
102
105
  }, 16);