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