@volverjs/form-vue 1.0.0-beta.6 → 1.0.0-beta.8
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/index.es.js +312 -271
- package/dist/index.umd.js +1 -1
- package/dist/src/VvForm.d.ts +99 -110
- package/dist/src/VvFormField.d.ts +11 -1
- package/dist/src/VvFormTemplate.d.ts +22 -54
- package/dist/src/VvFormWrapper.d.ts +45 -80
- package/dist/src/index.d.ts +569 -773
- package/dist/src/types.d.ts +2 -0
- package/package.json +22 -22
- package/src/VvForm.ts +56 -7
- package/src/VvFormField.ts +14 -0
- package/src/index.ts +2 -0
- package/src/types.ts +12 -10
package/dist/index.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as z, computed as
|
|
1
|
+
import { defineComponent as z, computed as w, onMounted as P, onBeforeUnmount as j, inject as B, toRefs as H, watch as O, unref as C, provide as M, readonly as E, resolveComponent as S, defineAsyncComponent as F, h as p, ref as $, toRaw as A, isProxy as ee, withModifiers as re, getCurrentInstance as te } from "vue";
|
|
2
2
|
import { watchIgnorable as ae, throttleFilter as ne } from "@vueuse/core";
|
|
3
|
-
import { ZodObject as
|
|
4
|
-
function
|
|
3
|
+
import { ZodObject as Z, ZodDefault as ue, ZodNullable as le, ZodSchema as se, ZodArray as ie, ZodEffects as fe, ZodOptional as oe } from "zod";
|
|
4
|
+
function J(e) {
|
|
5
5
|
return Array.isArray(e);
|
|
6
6
|
}
|
|
7
7
|
function de(e) {
|
|
@@ -10,38 +10,38 @@ function de(e) {
|
|
|
10
10
|
function q(e) {
|
|
11
11
|
return e === null;
|
|
12
12
|
}
|
|
13
|
-
function
|
|
13
|
+
function Q(e) {
|
|
14
14
|
return typeof e == "object";
|
|
15
15
|
}
|
|
16
|
-
function
|
|
16
|
+
function X(e) {
|
|
17
17
|
return typeof e == "string";
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
function G(e) {
|
|
20
20
|
return typeof e > "u";
|
|
21
21
|
}
|
|
22
22
|
const ve = /^[0-9]+$/, ce = ["__proto__", "prototype", "constructor"];
|
|
23
|
-
function
|
|
23
|
+
function L(e, s, t) {
|
|
24
24
|
const o = de(t) ? t : void 0;
|
|
25
|
-
if (!
|
|
25
|
+
if (!Q(e) || !X(s))
|
|
26
26
|
return o;
|
|
27
|
-
const u =
|
|
27
|
+
const u = T(s);
|
|
28
28
|
if (u.length !== 0) {
|
|
29
29
|
for (const r of u) {
|
|
30
30
|
if (r === "*")
|
|
31
31
|
continue;
|
|
32
|
-
const l = function(
|
|
33
|
-
return
|
|
32
|
+
const l = function(n) {
|
|
33
|
+
return n.map((i) => G(i) || q(i) ? i : J(i) ? l(i) : i[r]);
|
|
34
34
|
};
|
|
35
|
-
if (
|
|
35
|
+
if (J(e) && !ve.test(r) ? e = l(e) : e = e[r], G(e) || q(e))
|
|
36
36
|
break;
|
|
37
37
|
}
|
|
38
|
-
return
|
|
38
|
+
return G(e) ? o : e;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
function
|
|
42
|
-
if (!
|
|
41
|
+
function Y(e, s, t) {
|
|
42
|
+
if (!Q(e) || !X(s))
|
|
43
43
|
return;
|
|
44
|
-
const o =
|
|
44
|
+
const o = T(s);
|
|
45
45
|
if (o.length === 0)
|
|
46
46
|
return;
|
|
47
47
|
const u = o.length;
|
|
@@ -51,20 +51,20 @@ function X(e, s, t) {
|
|
|
51
51
|
e[l] = t;
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
if (l === "*" &&
|
|
55
|
-
const
|
|
56
|
-
for (const
|
|
57
|
-
|
|
54
|
+
if (l === "*" && J(e)) {
|
|
55
|
+
const n = o.slice(r + 1).join(".");
|
|
56
|
+
for (const i of e)
|
|
57
|
+
Y(i, n, t);
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
|
-
|
|
60
|
+
G(e[l]) && (e[l] = {}), e = e[l];
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
function
|
|
63
|
+
function T(e) {
|
|
64
64
|
const s = e.split(/[.]|(?:\[(\d|\*)\])/).filter((t) => !!t);
|
|
65
65
|
return s.some((t) => ce.indexOf(t) !== -1) ? [] : s;
|
|
66
66
|
}
|
|
67
|
-
var d = /* @__PURE__ */ ((e) => (e.text = "text", e.number = "number", e.email = "email", e.password = "password", e.tel = "tel", e.url = "url", e.search = "search", e.date = "date", e.time = "time", e.datetimeLocal = "datetime-local", e.month = "month", e.week = "week", e.color = "color", e.select = "select", e.checkbox = "checkbox", e.radio = "radio", e.textarea = "textarea", e.radioGroup = "radioGroup", e.checkboxGroup = "checkboxGroup", e.combobox = "combobox", e.custom = "custom", e))(d || {}),
|
|
67
|
+
var d = /* @__PURE__ */ ((e) => (e.text = "text", e.number = "number", e.email = "email", e.password = "password", e.tel = "tel", e.url = "url", e.search = "search", e.date = "date", e.time = "time", e.datetimeLocal = "datetime-local", e.month = "month", e.week = "week", e.color = "color", e.select = "select", e.checkbox = "checkbox", e.radio = "radio", e.textarea = "textarea", e.radioGroup = "radioGroup", e.checkboxGroup = "checkboxGroup", e.combobox = "combobox", e.custom = "custom", e))(d || {}), k = /* @__PURE__ */ ((e) => (e.invalid = "invalid", e.valid = "valid", e.submitting = "submitting", e.updated = "updated", e.unknown = "unknown", e))(k || {});
|
|
68
68
|
const me = (e, s, t, o) => z({
|
|
69
69
|
name: "VvFormField",
|
|
70
70
|
props: {
|
|
@@ -96,72 +96,76 @@ const me = (e, s, t, o) => z({
|
|
|
96
96
|
lazyLoad: {
|
|
97
97
|
type: Boolean,
|
|
98
98
|
default: !1
|
|
99
|
+
},
|
|
100
|
+
readonly: {
|
|
101
|
+
type: Boolean,
|
|
102
|
+
default: void 0
|
|
99
103
|
}
|
|
100
104
|
},
|
|
101
105
|
emits: ["invalid", "valid", "update:formData", "update:modelValue"],
|
|
102
106
|
expose: ["invalid", "invalidLabel", "errors"],
|
|
103
107
|
setup(u, { slots: r, emit: l }) {
|
|
104
|
-
const
|
|
108
|
+
const n = w({
|
|
105
109
|
get() {
|
|
106
|
-
if (
|
|
107
|
-
return
|
|
108
|
-
Object(
|
|
110
|
+
if (a != null && a.formData)
|
|
111
|
+
return L(
|
|
112
|
+
Object(a.formData.value),
|
|
109
113
|
String(u.name)
|
|
110
114
|
);
|
|
111
115
|
},
|
|
112
|
-
set(
|
|
113
|
-
|
|
114
|
-
Object(
|
|
116
|
+
set(f) {
|
|
117
|
+
a != null && a.formData && (Y(
|
|
118
|
+
Object(a.formData.value),
|
|
115
119
|
String(u.name),
|
|
116
|
-
|
|
120
|
+
f
|
|
117
121
|
), l("update:modelValue", {
|
|
118
|
-
newValue:
|
|
119
|
-
formData:
|
|
122
|
+
newValue: n.value,
|
|
123
|
+
formData: a == null ? void 0 : a.formData
|
|
120
124
|
}));
|
|
121
125
|
}
|
|
122
126
|
});
|
|
123
|
-
|
|
124
|
-
|
|
127
|
+
P(() => {
|
|
128
|
+
n.value === void 0 && u.defaultValue !== void 0 && (n.value = u.defaultValue);
|
|
125
129
|
}), j(() => {
|
|
126
|
-
|
|
130
|
+
h(), m();
|
|
127
131
|
});
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
const
|
|
131
|
-
if (
|
|
132
|
-
return
|
|
133
|
-
}),
|
|
134
|
-
var
|
|
135
|
-
return (
|
|
136
|
-
}), v =
|
|
137
|
-
v.value ? (l("invalid",
|
|
132
|
+
const i = B(s, void 0);
|
|
133
|
+
i && i.fields.value.add(u.name);
|
|
134
|
+
const a = B(e), { props: c, name: b } = H(u), g = w(() => {
|
|
135
|
+
if (a != null && a.errors.value)
|
|
136
|
+
return L(a.errors.value, String(u.name));
|
|
137
|
+
}), V = w(() => {
|
|
138
|
+
var f;
|
|
139
|
+
return (f = g.value) == null ? void 0 : f._errors;
|
|
140
|
+
}), v = w(() => g.value !== void 0), h = O(v, () => {
|
|
141
|
+
v.value ? (l("invalid", V.value), i && i.errors.value.set(
|
|
138
142
|
u.name,
|
|
139
143
|
{
|
|
140
|
-
_errors:
|
|
144
|
+
_errors: V.value
|
|
141
145
|
}
|
|
142
|
-
)) : (l("valid",
|
|
146
|
+
)) : (l("valid", n.value), i && i.errors.value.delete(
|
|
143
147
|
u.name
|
|
144
148
|
));
|
|
145
|
-
}),
|
|
146
|
-
() =>
|
|
149
|
+
}), m = O(
|
|
150
|
+
() => a == null ? void 0 : a.formData,
|
|
147
151
|
() => {
|
|
148
|
-
l("update:formData",
|
|
152
|
+
l("update:formData", a == null ? void 0 : a.formData);
|
|
149
153
|
},
|
|
150
154
|
{ deep: !0 }
|
|
151
|
-
),
|
|
152
|
-
|
|
153
|
-
},
|
|
154
|
-
let
|
|
155
|
-
return typeof
|
|
156
|
-
(
|
|
155
|
+
), y = (f) => {
|
|
156
|
+
n.value = f;
|
|
157
|
+
}, x = w(() => {
|
|
158
|
+
let f = c.value;
|
|
159
|
+
return typeof f == "function" && (f = f(a == null ? void 0 : a.formData)), Object.keys(f).reduce(
|
|
160
|
+
(_, W) => (_[W] = C(f[W]), _),
|
|
157
161
|
{}
|
|
158
162
|
);
|
|
159
|
-
}),
|
|
160
|
-
...
|
|
161
|
-
name:
|
|
163
|
+
}), I = w(() => a != null && a.readonly.value ? !0 : x.value.readonly ?? u.readonly), U = w(() => ({
|
|
164
|
+
...x.value,
|
|
165
|
+
name: x.value.name ?? u.name,
|
|
162
166
|
invalid: v.value,
|
|
163
|
-
valid: u.showValid ? !!(!v.value &&
|
|
164
|
-
type: ((
|
|
167
|
+
valid: u.showValid ? !!(!v.value && n.value) : void 0,
|
|
168
|
+
type: ((f) => {
|
|
165
169
|
if ([
|
|
166
170
|
d.text,
|
|
167
171
|
d.number,
|
|
@@ -176,65 +180,67 @@ const me = (e, s, t, o) => z({
|
|
|
176
180
|
d.month,
|
|
177
181
|
d.week,
|
|
178
182
|
d.color
|
|
179
|
-
].includes(
|
|
180
|
-
return
|
|
183
|
+
].includes(f))
|
|
184
|
+
return f;
|
|
181
185
|
})(u.type),
|
|
182
|
-
invalidLabel:
|
|
183
|
-
modelValue:
|
|
184
|
-
|
|
186
|
+
invalidLabel: V.value,
|
|
187
|
+
modelValue: n.value,
|
|
188
|
+
readonly: I.value,
|
|
189
|
+
"onUpdate:modelValue": y
|
|
185
190
|
}));
|
|
186
191
|
return M(t, {
|
|
187
|
-
name:
|
|
188
|
-
errors:
|
|
189
|
-
}), { component:
|
|
192
|
+
name: E(b),
|
|
193
|
+
errors: E(g)
|
|
194
|
+
}), { component: w(() => {
|
|
190
195
|
if (u.type === d.custom)
|
|
191
196
|
return {
|
|
192
197
|
render() {
|
|
193
|
-
var
|
|
194
|
-
return ((
|
|
195
|
-
modelValue:
|
|
196
|
-
onUpdate:
|
|
197
|
-
submit:
|
|
198
|
-
validate:
|
|
198
|
+
var f;
|
|
199
|
+
return ((f = r.default) == null ? void 0 : f.call(r, {
|
|
200
|
+
modelValue: n.value,
|
|
201
|
+
onUpdate: y,
|
|
202
|
+
submit: a == null ? void 0 : a.submit,
|
|
203
|
+
validate: a == null ? void 0 : a.validate,
|
|
199
204
|
invalid: v.value,
|
|
200
|
-
invalidLabel:
|
|
201
|
-
formData:
|
|
202
|
-
formErrors:
|
|
203
|
-
errors:
|
|
205
|
+
invalidLabel: V.value,
|
|
206
|
+
formData: a == null ? void 0 : a.formData.value,
|
|
207
|
+
formErrors: a == null ? void 0 : a.errors.value,
|
|
208
|
+
errors: g.value,
|
|
209
|
+
readonly: I.value
|
|
204
210
|
})) ?? r.defalut;
|
|
205
211
|
}
|
|
206
212
|
};
|
|
207
213
|
if (!((o == null ? void 0 : o.lazyLoad) ?? u.lazyLoad)) {
|
|
208
|
-
let
|
|
214
|
+
let f;
|
|
209
215
|
switch (u.type) {
|
|
210
216
|
case d.select:
|
|
211
|
-
|
|
217
|
+
f = S("VvSelect");
|
|
212
218
|
break;
|
|
213
219
|
case d.checkbox:
|
|
214
|
-
|
|
220
|
+
f = S("VvCheckbox");
|
|
215
221
|
break;
|
|
216
222
|
case d.radio:
|
|
217
|
-
|
|
223
|
+
f = S("VvRadio");
|
|
218
224
|
break;
|
|
219
225
|
case d.textarea:
|
|
220
|
-
|
|
226
|
+
f = S("VvTextarea");
|
|
221
227
|
break;
|
|
222
228
|
case d.radioGroup:
|
|
223
|
-
|
|
229
|
+
f = S("VvRadioGroup");
|
|
224
230
|
break;
|
|
225
231
|
case d.checkboxGroup:
|
|
226
|
-
|
|
232
|
+
f = S("VvCheckboxGroup");
|
|
227
233
|
break;
|
|
228
234
|
case d.combobox:
|
|
229
|
-
|
|
235
|
+
f = S("VvCombobox");
|
|
230
236
|
break;
|
|
231
237
|
default:
|
|
232
|
-
|
|
238
|
+
f = S("VvInputText");
|
|
233
239
|
}
|
|
234
|
-
if (typeof
|
|
235
|
-
return
|
|
240
|
+
if (typeof f != "string")
|
|
241
|
+
return f;
|
|
236
242
|
console.warn(
|
|
237
|
-
`[form-vue warn]: ${
|
|
243
|
+
`[form-vue warn]: ${f} not found, the component will be loaded asynchronously. To avoid this warning, please set "lazyLoad" option.`
|
|
238
244
|
);
|
|
239
245
|
}
|
|
240
246
|
return F(async () => {
|
|
@@ -256,12 +262,12 @@ const me = (e, s, t, o) => z({
|
|
|
256
262
|
}
|
|
257
263
|
return import("@volverjs/ui-vue/vv-input-text");
|
|
258
264
|
});
|
|
259
|
-
}), hasProps:
|
|
265
|
+
}), hasProps: U, invalid: v };
|
|
260
266
|
},
|
|
261
267
|
render() {
|
|
262
|
-
return this.is ?
|
|
268
|
+
return this.is ? p(this.is, this.hasProps, this.$slots) : this.type === d.custom ? p(this.component, null, this.$slots) : p(this.component, this.hasProps, this.$slots);
|
|
263
269
|
}
|
|
264
|
-
}),
|
|
270
|
+
}), K = (e, s = {}) => {
|
|
265
271
|
const t = (r) => {
|
|
266
272
|
let l = r;
|
|
267
273
|
for (; l instanceof fe; )
|
|
@@ -269,51 +275,53 @@ const me = (e, s, t, o) => z({
|
|
|
269
275
|
return l instanceof oe && (l = l._def.innerType), l;
|
|
270
276
|
}, o = t(e);
|
|
271
277
|
return {
|
|
272
|
-
...(o instanceof
|
|
278
|
+
...(o instanceof Z ? o._def.unknownKeys === "passthrough" : !1) ? s : {},
|
|
273
279
|
...Object.fromEntries(
|
|
274
280
|
Object.entries(o.shape).map(
|
|
275
281
|
([r, l]) => {
|
|
276
|
-
const
|
|
277
|
-
let
|
|
278
|
-
if (
|
|
279
|
-
return [r,
|
|
280
|
-
if (
|
|
281
|
-
const c = l.safeParse(
|
|
282
|
+
const n = s[r];
|
|
283
|
+
let i = t(l), a;
|
|
284
|
+
if (i instanceof ue && (a = i._def.defaultValue(), i = i._def.innerType), n === null && i instanceof le)
|
|
285
|
+
return [r, n];
|
|
286
|
+
if (i instanceof se) {
|
|
287
|
+
const c = l.safeParse(n);
|
|
282
288
|
if (c.success)
|
|
283
|
-
return [r, c.data ??
|
|
289
|
+
return [r, c.data ?? a];
|
|
284
290
|
}
|
|
285
|
-
if (
|
|
286
|
-
const c = t(
|
|
287
|
-
if (c instanceof
|
|
291
|
+
if (i instanceof ie && Array.isArray(n) && n.length) {
|
|
292
|
+
const c = t(i._def.type);
|
|
293
|
+
if (c instanceof Z)
|
|
288
294
|
return [
|
|
289
295
|
r,
|
|
290
|
-
|
|
291
|
-
(
|
|
296
|
+
n.map(
|
|
297
|
+
(b) => K(
|
|
292
298
|
c,
|
|
293
|
-
|
|
299
|
+
b && typeof b == "object" ? b : void 0
|
|
294
300
|
)
|
|
295
|
-
) ??
|
|
301
|
+
) ?? a
|
|
296
302
|
];
|
|
297
303
|
}
|
|
298
|
-
return
|
|
304
|
+
return i instanceof Z ? [
|
|
299
305
|
r,
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
306
|
+
K(
|
|
307
|
+
i,
|
|
308
|
+
n && typeof n == "object" ? n : a
|
|
303
309
|
)
|
|
304
|
-
] : [r,
|
|
310
|
+
] : [r, a];
|
|
305
311
|
}
|
|
306
312
|
)
|
|
307
313
|
)
|
|
308
314
|
};
|
|
309
315
|
}, he = (e, s, t, o) => {
|
|
310
|
-
const u =
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
316
|
+
const u = $(), r = $(), l = w(() => r.value === k.invalid), n = $(), i = $(!1), a = async (v = n.value) => {
|
|
317
|
+
if (i.value)
|
|
318
|
+
return !0;
|
|
319
|
+
const h = await e.safeParseAsync(v);
|
|
320
|
+
return h.success ? (u.value = void 0, r.value = k.valid, n.value = h.data, !0) : (u.value = h.error.format(), r.value = k.invalid, !1);
|
|
321
|
+
}, c = async () => i.value || !await a() ? !1 : (r.value = k.submitting, !0), { ignoreUpdates: b, stop: g } = ae(
|
|
322
|
+
n,
|
|
315
323
|
() => {
|
|
316
|
-
r.value =
|
|
324
|
+
r.value = k.updated;
|
|
317
325
|
},
|
|
318
326
|
{
|
|
319
327
|
deep: !0,
|
|
@@ -330,6 +338,10 @@ const me = (e, s, t, o) => z({
|
|
|
330
338
|
type: Object,
|
|
331
339
|
default: () => ({})
|
|
332
340
|
},
|
|
341
|
+
readonly: {
|
|
342
|
+
type: Boolean,
|
|
343
|
+
default: (t == null ? void 0 : t.readonly) ?? !1
|
|
344
|
+
},
|
|
333
345
|
tag: {
|
|
334
346
|
type: String,
|
|
335
347
|
default: "form"
|
|
@@ -339,74 +351,99 @@ const me = (e, s, t, o) => z({
|
|
|
339
351
|
default: void 0
|
|
340
352
|
}
|
|
341
353
|
},
|
|
342
|
-
emits: [
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
354
|
+
emits: [
|
|
355
|
+
"invalid",
|
|
356
|
+
"valid",
|
|
357
|
+
"submit",
|
|
358
|
+
"update:modelValue",
|
|
359
|
+
"update:readonly"
|
|
360
|
+
],
|
|
361
|
+
expose: [
|
|
362
|
+
"submit",
|
|
363
|
+
"validate",
|
|
364
|
+
"errors",
|
|
365
|
+
"status",
|
|
366
|
+
"valid",
|
|
367
|
+
"invalid",
|
|
368
|
+
"readonly"
|
|
369
|
+
],
|
|
370
|
+
setup(v, { emit: h }) {
|
|
371
|
+
return n.value = K(
|
|
346
372
|
e,
|
|
347
|
-
|
|
348
|
-
),
|
|
349
|
-
() =>
|
|
350
|
-
(
|
|
351
|
-
if (
|
|
352
|
-
const y = ee(
|
|
353
|
-
if (JSON.stringify(y) === JSON.stringify(
|
|
373
|
+
A(v.modelValue)
|
|
374
|
+
), O(
|
|
375
|
+
() => v.modelValue,
|
|
376
|
+
(m) => {
|
|
377
|
+
if (m) {
|
|
378
|
+
const y = ee(m) ? A(m) : m;
|
|
379
|
+
if (JSON.stringify(y) === JSON.stringify(A(n.value)))
|
|
354
380
|
return;
|
|
355
|
-
|
|
381
|
+
n.value = typeof (y == null ? void 0 : y.clone) == "function" ? y.clone() : JSON.parse(JSON.stringify(y));
|
|
356
382
|
}
|
|
357
383
|
},
|
|
358
384
|
{ deep: !0 }
|
|
359
|
-
),
|
|
360
|
-
var y,
|
|
361
|
-
if (
|
|
362
|
-
const
|
|
385
|
+
), O(r, async (m) => {
|
|
386
|
+
var y, x, I, U, N;
|
|
387
|
+
if (m === k.invalid) {
|
|
388
|
+
const f = A(
|
|
363
389
|
u.value
|
|
364
390
|
);
|
|
365
|
-
|
|
391
|
+
h("invalid", f), (y = t == null ? void 0 : t.onInvalid) == null || y.call(t, f);
|
|
366
392
|
return;
|
|
367
393
|
}
|
|
368
|
-
if (
|
|
369
|
-
const
|
|
370
|
-
|
|
394
|
+
if (m === k.valid) {
|
|
395
|
+
const f = A(n.value);
|
|
396
|
+
h("valid", f), (x = t == null ? void 0 : t.onValid) == null || x.call(t, f), h("update:modelValue", f), (I = t == null ? void 0 : t.onUpdate) == null || I.call(t, f);
|
|
371
397
|
return;
|
|
372
398
|
}
|
|
373
|
-
if (
|
|
374
|
-
const
|
|
375
|
-
|
|
399
|
+
if (m === k.submitting) {
|
|
400
|
+
const f = A(n.value);
|
|
401
|
+
h("submit", f), (U = t == null ? void 0 : t.onSubmit) == null || U.call(t, f);
|
|
376
402
|
}
|
|
377
|
-
if (
|
|
378
|
-
if ((u.value || t != null && t.continuosValidation ||
|
|
379
|
-
const
|
|
380
|
-
|
|
403
|
+
if (m === k.updated) {
|
|
404
|
+
if ((u.value || t != null && t.continuosValidation || v.continuosValidation) && await a(), !n.value || !v.modelValue || JSON.stringify(n.value) !== JSON.stringify(v.modelValue)) {
|
|
405
|
+
const f = A(
|
|
406
|
+
n.value
|
|
381
407
|
);
|
|
382
|
-
|
|
408
|
+
h("update:modelValue", f), (N = t == null ? void 0 : t.onUpdate) == null || N.call(t, f);
|
|
383
409
|
}
|
|
384
|
-
r.value ===
|
|
410
|
+
r.value === k.updated && (r.value = k.unknown);
|
|
411
|
+
}
|
|
412
|
+
}), P(() => {
|
|
413
|
+
v.readonly && !i.value && (i.value = v.readonly);
|
|
414
|
+
}), O(
|
|
415
|
+
() => v.readonly,
|
|
416
|
+
(m) => {
|
|
417
|
+
i.value = m;
|
|
385
418
|
}
|
|
419
|
+
), O(i, (m) => {
|
|
420
|
+
m !== v.readonly && h("update:readonly", i.value);
|
|
386
421
|
}), M(s, {
|
|
387
|
-
formData:
|
|
388
|
-
submit:
|
|
389
|
-
validate:
|
|
390
|
-
ignoreUpdates:
|
|
391
|
-
stopUpdatesWatch:
|
|
392
|
-
errors:
|
|
393
|
-
status:
|
|
394
|
-
invalid: l
|
|
422
|
+
formData: n,
|
|
423
|
+
submit: c,
|
|
424
|
+
validate: a,
|
|
425
|
+
ignoreUpdates: b,
|
|
426
|
+
stopUpdatesWatch: g,
|
|
427
|
+
errors: E(u),
|
|
428
|
+
status: E(r),
|
|
429
|
+
invalid: l,
|
|
430
|
+
readonly: i
|
|
395
431
|
}), {
|
|
396
|
-
formData:
|
|
397
|
-
submit:
|
|
398
|
-
validate:
|
|
399
|
-
ignoreUpdates:
|
|
400
|
-
stopUpdatesWatch:
|
|
401
|
-
errors:
|
|
402
|
-
status:
|
|
403
|
-
invalid: l
|
|
432
|
+
formData: n,
|
|
433
|
+
submit: c,
|
|
434
|
+
validate: a,
|
|
435
|
+
ignoreUpdates: b,
|
|
436
|
+
stopUpdatesWatch: g,
|
|
437
|
+
errors: E(u),
|
|
438
|
+
status: E(r),
|
|
439
|
+
invalid: l,
|
|
440
|
+
isReadonly: i
|
|
404
441
|
};
|
|
405
442
|
},
|
|
406
443
|
render() {
|
|
407
|
-
const
|
|
408
|
-
var
|
|
409
|
-
return ((
|
|
444
|
+
const v = () => {
|
|
445
|
+
var h, m;
|
|
446
|
+
return ((m = (h = this.$slots) == null ? void 0 : h.default) == null ? void 0 : m.call(h, {
|
|
410
447
|
formData: this.formData,
|
|
411
448
|
submit: this.submit,
|
|
412
449
|
validate: this.validate,
|
|
@@ -414,26 +451,27 @@ const me = (e, s, t, o) => z({
|
|
|
414
451
|
stopUpdatesWatch: this.stopUpdatesWatch,
|
|
415
452
|
errors: this.errors,
|
|
416
453
|
status: this.status,
|
|
417
|
-
invalid: this.invalid
|
|
454
|
+
invalid: this.invalid,
|
|
455
|
+
readonly: this.isReadonly
|
|
418
456
|
})) ?? this.$slots.default;
|
|
419
457
|
};
|
|
420
|
-
return
|
|
458
|
+
return p(
|
|
421
459
|
this.tag,
|
|
422
460
|
{
|
|
423
461
|
onSubmit: re(this.submit, ["prevent"])
|
|
424
462
|
},
|
|
425
463
|
(this.template ?? (t == null ? void 0 : t.template)) && o ? [
|
|
426
|
-
|
|
464
|
+
p(
|
|
427
465
|
o,
|
|
428
466
|
{
|
|
429
467
|
schema: this.template ?? (t == null ? void 0 : t.template)
|
|
430
468
|
},
|
|
431
469
|
{
|
|
432
|
-
default:
|
|
470
|
+
default: v
|
|
433
471
|
}
|
|
434
472
|
)
|
|
435
473
|
] : {
|
|
436
|
-
default:
|
|
474
|
+
default: v
|
|
437
475
|
}
|
|
438
476
|
);
|
|
439
477
|
}
|
|
@@ -442,17 +480,18 @@ const me = (e, s, t, o) => z({
|
|
|
442
480
|
errors: u,
|
|
443
481
|
status: r,
|
|
444
482
|
invalid: l,
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
483
|
+
readonly: i,
|
|
484
|
+
formData: n,
|
|
485
|
+
validate: a,
|
|
486
|
+
submit: c,
|
|
487
|
+
ignoreUpdates: b,
|
|
488
|
+
stopUpdatesWatch: g,
|
|
450
489
|
/**
|
|
451
490
|
* An hack to add types to the default slot
|
|
452
491
|
*/
|
|
453
492
|
VvForm: V
|
|
454
493
|
};
|
|
455
|
-
},
|
|
494
|
+
}, ye = (e, s) => z({
|
|
456
495
|
name: "VvFormWrapper",
|
|
457
496
|
props: {
|
|
458
497
|
name: {
|
|
@@ -467,33 +506,33 @@ const me = (e, s, t, o) => z({
|
|
|
467
506
|
emits: ["invalid", "valid"],
|
|
468
507
|
expose: ["fields", "invalid"],
|
|
469
508
|
setup(o, { emit: u }) {
|
|
470
|
-
const r =
|
|
509
|
+
const r = B(e), l = B(s, void 0), n = $(/* @__PURE__ */ new Set()), i = $(/* @__PURE__ */ new Map()), { name: a } = H(o);
|
|
471
510
|
M(s, {
|
|
472
|
-
name:
|
|
473
|
-
errors:
|
|
474
|
-
fields:
|
|
475
|
-
}),
|
|
476
|
-
|
|
477
|
-
(
|
|
478
|
-
l != null && l.fields &&
|
|
479
|
-
l == null || l.fields.value.add(
|
|
511
|
+
name: E(a),
|
|
512
|
+
errors: i,
|
|
513
|
+
fields: n
|
|
514
|
+
}), O(
|
|
515
|
+
n,
|
|
516
|
+
(b) => {
|
|
517
|
+
l != null && l.fields && b.forEach((g) => {
|
|
518
|
+
l == null || l.fields.value.add(g);
|
|
480
519
|
});
|
|
481
520
|
},
|
|
482
521
|
{ deep: !0 }
|
|
483
|
-
),
|
|
484
|
-
() => new Map(
|
|
485
|
-
(
|
|
486
|
-
l != null && l.errors && (Array.from(
|
|
487
|
-
l.errors.value.delete(
|
|
488
|
-
}), Array.from(
|
|
489
|
-
const v =
|
|
490
|
-
v && l.errors.value.set(
|
|
522
|
+
), O(
|
|
523
|
+
() => new Map(i.value),
|
|
524
|
+
(b, g) => {
|
|
525
|
+
l != null && l.errors && (Array.from(g.keys()).forEach((V) => {
|
|
526
|
+
l.errors.value.delete(V);
|
|
527
|
+
}), Array.from(b.keys()).forEach((V) => {
|
|
528
|
+
const v = b.get(V);
|
|
529
|
+
v && l.errors.value.set(V, v);
|
|
491
530
|
}));
|
|
492
531
|
},
|
|
493
532
|
{ deep: !0 }
|
|
494
533
|
);
|
|
495
|
-
const c =
|
|
496
|
-
return
|
|
534
|
+
const c = w(() => r != null && r.invalid.value ? i.value.size > 0 : !1);
|
|
535
|
+
return O(c, () => {
|
|
497
536
|
c.value ? u("invalid") : u("valid");
|
|
498
537
|
}), {
|
|
499
538
|
formData: r == null ? void 0 : r.formData,
|
|
@@ -501,13 +540,13 @@ const me = (e, s, t, o) => z({
|
|
|
501
540
|
submit: r == null ? void 0 : r.submit,
|
|
502
541
|
validate: r == null ? void 0 : r.validate,
|
|
503
542
|
invalid: c,
|
|
504
|
-
fields:
|
|
505
|
-
fieldsErrors:
|
|
543
|
+
fields: n,
|
|
544
|
+
fieldsErrors: i
|
|
506
545
|
};
|
|
507
546
|
},
|
|
508
547
|
render() {
|
|
509
548
|
var o, u;
|
|
510
|
-
return this.tag ?
|
|
549
|
+
return this.tag ? p(this.tag, null, {
|
|
511
550
|
default: () => {
|
|
512
551
|
var r, l;
|
|
513
552
|
return ((l = (r = this.$slots).default) == null ? void 0 : l.call(r, {
|
|
@@ -528,7 +567,7 @@ const me = (e, s, t, o) => z({
|
|
|
528
567
|
fieldsErrors: this.fieldsErrors
|
|
529
568
|
})) ?? this.$slots.defalut;
|
|
530
569
|
}
|
|
531
|
-
}),
|
|
570
|
+
}), be = (e, s) => {
|
|
532
571
|
const t = z({
|
|
533
572
|
name: "VvFormTemplate",
|
|
534
573
|
props: {
|
|
@@ -538,66 +577,66 @@ const me = (e, s, t, o) => z({
|
|
|
538
577
|
}
|
|
539
578
|
},
|
|
540
579
|
setup(o, { slots: u }) {
|
|
541
|
-
const r =
|
|
580
|
+
const r = B(e);
|
|
542
581
|
if (r != null && r.formData)
|
|
543
582
|
return () => {
|
|
544
|
-
var
|
|
583
|
+
var a;
|
|
545
584
|
const l = typeof o.schema == "function" ? o.schema(r) : o.schema;
|
|
546
|
-
let
|
|
547
|
-
const
|
|
548
|
-
const
|
|
549
|
-
vvIs:
|
|
585
|
+
let n;
|
|
586
|
+
const i = l.reduce((c, b) => {
|
|
587
|
+
const g = typeof b == "function" ? b(r) : b, {
|
|
588
|
+
vvIs: V,
|
|
550
589
|
vvName: v,
|
|
551
|
-
vvSlots:
|
|
552
|
-
vvChildren:
|
|
553
|
-
vvIf:
|
|
554
|
-
vvElseIf:
|
|
555
|
-
vvType:
|
|
556
|
-
vvDefaultValue:
|
|
557
|
-
vvShowValid:
|
|
558
|
-
vvContent:
|
|
590
|
+
vvSlots: h,
|
|
591
|
+
vvChildren: m,
|
|
592
|
+
vvIf: y,
|
|
593
|
+
vvElseIf: x,
|
|
594
|
+
vvType: I,
|
|
595
|
+
vvDefaultValue: U,
|
|
596
|
+
vvShowValid: N,
|
|
597
|
+
vvContent: f,
|
|
559
598
|
..._
|
|
560
|
-
} =
|
|
561
|
-
if (
|
|
562
|
-
if (typeof
|
|
599
|
+
} = g;
|
|
600
|
+
if (y !== void 0) {
|
|
601
|
+
if (typeof y == "string" ? n = !!L(
|
|
563
602
|
Object(r.formData.value),
|
|
564
|
-
|
|
565
|
-
) : typeof
|
|
603
|
+
y
|
|
604
|
+
) : typeof y == "function" ? n = C(y(r)) : n = C(y), !n)
|
|
566
605
|
return c;
|
|
567
|
-
} else if (
|
|
568
|
-
if (
|
|
606
|
+
} else if (x !== void 0 && n !== void 0) {
|
|
607
|
+
if (n || (typeof x == "string" ? n = !!L(
|
|
569
608
|
Object(r.formData.value),
|
|
570
|
-
|
|
571
|
-
) : typeof
|
|
609
|
+
x
|
|
610
|
+
) : typeof x == "function" ? n = C(x(r)) : n = C(x), !n))
|
|
572
611
|
return c;
|
|
573
612
|
} else
|
|
574
|
-
|
|
575
|
-
const
|
|
576
|
-
schema:
|
|
613
|
+
n = void 0;
|
|
614
|
+
const W = m ? p(t, {
|
|
615
|
+
schema: m
|
|
577
616
|
}) : void 0;
|
|
578
617
|
return v ? (c.push(
|
|
579
|
-
|
|
618
|
+
p(
|
|
580
619
|
s,
|
|
581
620
|
{
|
|
582
621
|
name: v,
|
|
583
|
-
is:
|
|
584
|
-
type:
|
|
585
|
-
defaultValue:
|
|
586
|
-
showValid:
|
|
622
|
+
is: V,
|
|
623
|
+
type: I,
|
|
624
|
+
defaultValue: U,
|
|
625
|
+
showValid: N,
|
|
587
626
|
props: _
|
|
588
627
|
},
|
|
589
|
-
|
|
628
|
+
h ?? W ?? f
|
|
590
629
|
)
|
|
591
|
-
), c) :
|
|
592
|
-
|
|
593
|
-
|
|
630
|
+
), c) : V ? (c.push(
|
|
631
|
+
p(
|
|
632
|
+
V,
|
|
594
633
|
_,
|
|
595
|
-
|
|
634
|
+
h ?? W ?? f
|
|
596
635
|
)
|
|
597
|
-
), c) : (
|
|
636
|
+
), c) : (m && c.push(W), c);
|
|
598
637
|
}, []);
|
|
599
|
-
return
|
|
600
|
-
(
|
|
638
|
+
return i.push(
|
|
639
|
+
(a = u == null ? void 0 : u.default) == null ? void 0 : a.call(u, {
|
|
601
640
|
formData: r == null ? void 0 : r.formData.value,
|
|
602
641
|
submit: r == null ? void 0 : r.submit,
|
|
603
642
|
validate: r == null ? void 0 : r.validate,
|
|
@@ -605,13 +644,13 @@ const me = (e, s, t, o) => z({
|
|
|
605
644
|
status: r == null ? void 0 : r.status.value,
|
|
606
645
|
invalid: r == null ? void 0 : r.invalid.value
|
|
607
646
|
})
|
|
608
|
-
),
|
|
647
|
+
), i;
|
|
609
648
|
};
|
|
610
649
|
}
|
|
611
650
|
});
|
|
612
651
|
return t;
|
|
613
|
-
},
|
|
614
|
-
const t = Symbol(), o = Symbol(), u = Symbol(), r =
|
|
652
|
+
}, R = (e, s = {}) => {
|
|
653
|
+
const t = Symbol(), o = Symbol(), u = Symbol(), r = ye(
|
|
615
654
|
t,
|
|
616
655
|
o
|
|
617
656
|
), l = me(
|
|
@@ -619,54 +658,56 @@ const me = (e, s, t, o) => z({
|
|
|
619
658
|
o,
|
|
620
659
|
u,
|
|
621
660
|
s
|
|
622
|
-
),
|
|
623
|
-
VvForm:
|
|
624
|
-
errors:
|
|
661
|
+
), n = be(t, l), {
|
|
662
|
+
VvForm: i,
|
|
663
|
+
errors: a,
|
|
625
664
|
status: c,
|
|
626
|
-
invalid:
|
|
665
|
+
invalid: b,
|
|
666
|
+
readonly: g,
|
|
627
667
|
formData: V,
|
|
628
|
-
validate:
|
|
629
|
-
submit:
|
|
630
|
-
ignoreUpdates:
|
|
668
|
+
validate: v,
|
|
669
|
+
submit: h,
|
|
670
|
+
ignoreUpdates: m,
|
|
631
671
|
stopUpdatesWatch: y
|
|
632
|
-
} = he(e, t, s,
|
|
672
|
+
} = he(e, t, s, n);
|
|
633
673
|
return {
|
|
634
|
-
VvForm:
|
|
674
|
+
VvForm: i,
|
|
635
675
|
VvFormWrapper: r,
|
|
636
676
|
VvFormField: l,
|
|
637
|
-
VvFormTemplate:
|
|
677
|
+
VvFormTemplate: n,
|
|
638
678
|
formInjectionKey: t,
|
|
639
679
|
formWrapperInjectionKey: o,
|
|
640
680
|
formFieldInjectionKey: u,
|
|
641
|
-
errors:
|
|
681
|
+
errors: a,
|
|
642
682
|
status: c,
|
|
643
|
-
invalid:
|
|
683
|
+
invalid: b,
|
|
684
|
+
readonly: g,
|
|
644
685
|
formData: V,
|
|
645
|
-
validate:
|
|
646
|
-
submit:
|
|
647
|
-
ignoreUpdates:
|
|
686
|
+
validate: v,
|
|
687
|
+
submit: h,
|
|
688
|
+
ignoreUpdates: m,
|
|
648
689
|
stopUpdatesWatch: y
|
|
649
690
|
};
|
|
650
|
-
},
|
|
691
|
+
}, D = Symbol(), ke = (e) => {
|
|
651
692
|
let s = {};
|
|
652
|
-
return e.schema && (s =
|
|
693
|
+
return e.schema && (s = R(e.schema, e)), {
|
|
653
694
|
...s,
|
|
654
695
|
install(t, { global: o = !1 } = {}) {
|
|
655
|
-
t.provide(
|
|
696
|
+
t.provide(D, e), o && (t.config.globalProperties.$vvForm = e, s != null && s.VvForm && t.component("VvForm", s.VvForm), s != null && s.VvFormWrapper && t.component("VvFormWrapper", s.VvFormWrapper), s != null && s.VvFormField && t.component("VvFormField", s.VvFormField), s != null && s.VvFormTemplate && t.component("VvFormTemplate", s.VvFormTemplate));
|
|
656
697
|
}
|
|
657
698
|
};
|
|
658
|
-
},
|
|
699
|
+
}, we = (e, s = {}) => te() ? R(
|
|
659
700
|
e,
|
|
660
701
|
{
|
|
661
|
-
...
|
|
702
|
+
...B(D, {}),
|
|
662
703
|
...s
|
|
663
704
|
}
|
|
664
|
-
) :
|
|
705
|
+
) : R(e, s), Oe = (e, s = {}) => R(e, s);
|
|
665
706
|
export {
|
|
666
707
|
d as FormFieldType,
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
708
|
+
ke as createForm,
|
|
709
|
+
K as defaultObjectBySchema,
|
|
710
|
+
Oe as formFactory,
|
|
711
|
+
D as pluginInjectionKey,
|
|
712
|
+
we as useForm
|
|
672
713
|
};
|