@volverjs/form-vue 1.0.0-beta.6 → 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 +329 -285
- 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 +56 -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
|
-
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, 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
|
-
return
|
|
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
|
-
|
|
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 (
|
|
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(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
|
|
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,74 +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
|
-
if (JSON.stringify(y) === JSON.stringify(
|
|
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)))
|
|
354
383
|
return;
|
|
355
|
-
|
|
384
|
+
n.value = typeof (y == null ? void 0 : y.clone) == "function" ? y.clone() : JSON.parse(JSON.stringify(y));
|
|
356
385
|
}
|
|
357
386
|
},
|
|
358
387
|
{ deep: !0 }
|
|
359
|
-
),
|
|
360
|
-
var y,
|
|
361
|
-
if (
|
|
362
|
-
const
|
|
388
|
+
), O(r, async (m) => {
|
|
389
|
+
var y, x, I, U, N;
|
|
390
|
+
if (m === k.invalid) {
|
|
391
|
+
const l = A(
|
|
363
392
|
u.value
|
|
364
393
|
);
|
|
365
|
-
|
|
394
|
+
h("invalid", l), (y = t == null ? void 0 : t.onInvalid) == null || y.call(t, l);
|
|
366
395
|
return;
|
|
367
396
|
}
|
|
368
|
-
if (
|
|
369
|
-
const
|
|
370
|
-
|
|
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);
|
|
371
400
|
return;
|
|
372
401
|
}
|
|
373
|
-
if (
|
|
374
|
-
const
|
|
375
|
-
|
|
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);
|
|
376
405
|
}
|
|
377
|
-
if (
|
|
378
|
-
if ((u.value || t != null && t.continuosValidation ||
|
|
379
|
-
const
|
|
380
|
-
|
|
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
|
|
381
410
|
);
|
|
382
|
-
|
|
411
|
+
h("update:modelValue", l), (N = t == null ? void 0 : t.onUpdate) == null || N.call(t, l);
|
|
383
412
|
}
|
|
384
|
-
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;
|
|
385
421
|
}
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
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
|
|
395
434
|
}), {
|
|
396
|
-
formData:
|
|
397
|
-
submit:
|
|
398
|
-
validate:
|
|
399
|
-
ignoreUpdates:
|
|
400
|
-
stopUpdatesWatch:
|
|
401
|
-
errors:
|
|
402
|
-
status:
|
|
403
|
-
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
|
|
404
444
|
};
|
|
405
445
|
},
|
|
406
446
|
render() {
|
|
407
|
-
const
|
|
408
|
-
var
|
|
409
|
-
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, {
|
|
410
450
|
formData: this.formData,
|
|
411
451
|
submit: this.submit,
|
|
412
452
|
validate: this.validate,
|
|
@@ -414,26 +454,27 @@ const me = (e, s, t, o) => z({
|
|
|
414
454
|
stopUpdatesWatch: this.stopUpdatesWatch,
|
|
415
455
|
errors: this.errors,
|
|
416
456
|
status: this.status,
|
|
417
|
-
invalid: this.invalid
|
|
457
|
+
invalid: this.invalid,
|
|
458
|
+
readonly: this.isReadonly
|
|
418
459
|
})) ?? this.$slots.default;
|
|
419
460
|
};
|
|
420
|
-
return
|
|
461
|
+
return p(
|
|
421
462
|
this.tag,
|
|
422
463
|
{
|
|
423
464
|
onSubmit: re(this.submit, ["prevent"])
|
|
424
465
|
},
|
|
425
466
|
(this.template ?? (t == null ? void 0 : t.template)) && o ? [
|
|
426
|
-
|
|
467
|
+
p(
|
|
427
468
|
o,
|
|
428
469
|
{
|
|
429
470
|
schema: this.template ?? (t == null ? void 0 : t.template)
|
|
430
471
|
},
|
|
431
472
|
{
|
|
432
|
-
default:
|
|
473
|
+
default: v
|
|
433
474
|
}
|
|
434
475
|
)
|
|
435
476
|
] : {
|
|
436
|
-
default:
|
|
477
|
+
default: v
|
|
437
478
|
}
|
|
438
479
|
);
|
|
439
480
|
}
|
|
@@ -441,18 +482,19 @@ const me = (e, s, t, o) => z({
|
|
|
441
482
|
return {
|
|
442
483
|
errors: u,
|
|
443
484
|
status: r,
|
|
444
|
-
invalid:
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
485
|
+
invalid: s,
|
|
486
|
+
readonly: f,
|
|
487
|
+
formData: n,
|
|
488
|
+
validate: a,
|
|
489
|
+
submit: c,
|
|
490
|
+
ignoreUpdates: b,
|
|
491
|
+
stopUpdatesWatch: g,
|
|
450
492
|
/**
|
|
451
493
|
* An hack to add types to the default slot
|
|
452
494
|
*/
|
|
453
495
|
VvForm: V
|
|
454
496
|
};
|
|
455
|
-
},
|
|
497
|
+
}, ye = (e, i) => z({
|
|
456
498
|
name: "VvFormWrapper",
|
|
457
499
|
props: {
|
|
458
500
|
name: {
|
|
@@ -467,33 +509,33 @@ const me = (e, s, t, o) => z({
|
|
|
467
509
|
emits: ["invalid", "valid"],
|
|
468
510
|
expose: ["fields", "invalid"],
|
|
469
511
|
setup(o, { emit: u }) {
|
|
470
|
-
const r =
|
|
471
|
-
M(
|
|
472
|
-
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),
|
|
473
515
|
errors: f,
|
|
474
|
-
fields:
|
|
475
|
-
}),
|
|
476
|
-
|
|
477
|
-
(
|
|
478
|
-
|
|
479
|
-
|
|
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);
|
|
480
522
|
});
|
|
481
523
|
},
|
|
482
524
|
{ deep: !0 }
|
|
483
|
-
),
|
|
525
|
+
), O(
|
|
484
526
|
() => new Map(f.value),
|
|
485
|
-
(
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
}), Array.from(
|
|
489
|
-
const v =
|
|
490
|
-
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);
|
|
491
533
|
}));
|
|
492
534
|
},
|
|
493
535
|
{ deep: !0 }
|
|
494
536
|
);
|
|
495
|
-
const c =
|
|
496
|
-
return
|
|
537
|
+
const c = w(() => r != null && r.invalid.value ? f.value.size > 0 : !1);
|
|
538
|
+
return O(c, () => {
|
|
497
539
|
c.value ? u("invalid") : u("valid");
|
|
498
540
|
}), {
|
|
499
541
|
formData: r == null ? void 0 : r.formData,
|
|
@@ -501,16 +543,16 @@ const me = (e, s, t, o) => z({
|
|
|
501
543
|
submit: r == null ? void 0 : r.submit,
|
|
502
544
|
validate: r == null ? void 0 : r.validate,
|
|
503
545
|
invalid: c,
|
|
504
|
-
fields:
|
|
546
|
+
fields: n,
|
|
505
547
|
fieldsErrors: f
|
|
506
548
|
};
|
|
507
549
|
},
|
|
508
550
|
render() {
|
|
509
551
|
var o, u;
|
|
510
|
-
return this.tag ?
|
|
552
|
+
return this.tag ? p(this.tag, null, {
|
|
511
553
|
default: () => {
|
|
512
|
-
var r,
|
|
513
|
-
return ((
|
|
554
|
+
var r, s;
|
|
555
|
+
return ((s = (r = this.$slots).default) == null ? void 0 : s.call(r, {
|
|
514
556
|
invalid: this.invalid,
|
|
515
557
|
formData: this.formData,
|
|
516
558
|
submit: this.submit,
|
|
@@ -528,7 +570,7 @@ const me = (e, s, t, o) => z({
|
|
|
528
570
|
fieldsErrors: this.fieldsErrors
|
|
529
571
|
})) ?? this.$slots.defalut;
|
|
530
572
|
}
|
|
531
|
-
}),
|
|
573
|
+
}), be = (e, i) => {
|
|
532
574
|
const t = z({
|
|
533
575
|
name: "VvFormTemplate",
|
|
534
576
|
props: {
|
|
@@ -538,66 +580,66 @@ const me = (e, s, t, o) => z({
|
|
|
538
580
|
}
|
|
539
581
|
},
|
|
540
582
|
setup(o, { slots: u }) {
|
|
541
|
-
const r =
|
|
583
|
+
const r = B(e);
|
|
542
584
|
if (r != null && r.formData)
|
|
543
585
|
return () => {
|
|
544
|
-
var
|
|
545
|
-
const
|
|
546
|
-
let
|
|
547
|
-
const f =
|
|
548
|
-
const
|
|
549
|
-
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,
|
|
550
592
|
vvName: v,
|
|
551
|
-
vvSlots:
|
|
552
|
-
vvChildren:
|
|
553
|
-
vvIf:
|
|
554
|
-
vvElseIf:
|
|
555
|
-
vvType:
|
|
556
|
-
vvDefaultValue:
|
|
557
|
-
vvShowValid:
|
|
558
|
-
vvContent:
|
|
593
|
+
vvSlots: h,
|
|
594
|
+
vvChildren: m,
|
|
595
|
+
vvIf: y,
|
|
596
|
+
vvElseIf: x,
|
|
597
|
+
vvType: I,
|
|
598
|
+
vvDefaultValue: U,
|
|
599
|
+
vvShowValid: N,
|
|
600
|
+
vvContent: l,
|
|
559
601
|
..._
|
|
560
|
-
} =
|
|
561
|
-
if (
|
|
562
|
-
if (typeof
|
|
602
|
+
} = g;
|
|
603
|
+
if (y !== void 0) {
|
|
604
|
+
if (typeof y == "string" ? n = !!L(
|
|
563
605
|
Object(r.formData.value),
|
|
564
|
-
|
|
565
|
-
) : typeof
|
|
606
|
+
y
|
|
607
|
+
) : typeof y == "function" ? n = C(y(r)) : n = C(y), !n)
|
|
566
608
|
return c;
|
|
567
|
-
} else if (
|
|
568
|
-
if (
|
|
609
|
+
} else if (x !== void 0 && n !== void 0) {
|
|
610
|
+
if (n || (typeof x == "string" ? n = !!L(
|
|
569
611
|
Object(r.formData.value),
|
|
570
|
-
|
|
571
|
-
) : typeof
|
|
612
|
+
x
|
|
613
|
+
) : typeof x == "function" ? n = C(x(r)) : n = C(x), !n))
|
|
572
614
|
return c;
|
|
573
615
|
} else
|
|
574
|
-
|
|
575
|
-
const
|
|
576
|
-
schema:
|
|
616
|
+
n = void 0;
|
|
617
|
+
const W = m ? p(t, {
|
|
618
|
+
schema: m
|
|
577
619
|
}) : void 0;
|
|
578
620
|
return v ? (c.push(
|
|
579
|
-
|
|
580
|
-
|
|
621
|
+
p(
|
|
622
|
+
i,
|
|
581
623
|
{
|
|
582
624
|
name: v,
|
|
583
|
-
is:
|
|
584
|
-
type:
|
|
585
|
-
defaultValue:
|
|
586
|
-
showValid:
|
|
625
|
+
is: V,
|
|
626
|
+
type: I,
|
|
627
|
+
defaultValue: U,
|
|
628
|
+
showValid: N,
|
|
587
629
|
props: _
|
|
588
630
|
},
|
|
589
|
-
|
|
631
|
+
h ?? W ?? l
|
|
590
632
|
)
|
|
591
|
-
), c) :
|
|
592
|
-
|
|
593
|
-
|
|
633
|
+
), c) : V ? (c.push(
|
|
634
|
+
p(
|
|
635
|
+
V,
|
|
594
636
|
_,
|
|
595
|
-
|
|
637
|
+
h ?? W ?? l
|
|
596
638
|
)
|
|
597
|
-
), c) : (
|
|
639
|
+
), c) : (m && c.push(W), c);
|
|
598
640
|
}, []);
|
|
599
641
|
return f.push(
|
|
600
|
-
(
|
|
642
|
+
(a = u == null ? void 0 : u.default) == null ? void 0 : a.call(u, {
|
|
601
643
|
formData: r == null ? void 0 : r.formData.value,
|
|
602
644
|
submit: r == null ? void 0 : r.submit,
|
|
603
645
|
validate: r == null ? void 0 : r.validate,
|
|
@@ -610,63 +652,65 @@ const me = (e, s, t, o) => z({
|
|
|
610
652
|
}
|
|
611
653
|
});
|
|
612
654
|
return t;
|
|
613
|
-
},
|
|
614
|
-
const t = Symbol(), o = Symbol(), u = Symbol(), r =
|
|
655
|
+
}, R = (e, i = {}) => {
|
|
656
|
+
const t = Symbol(), o = Symbol(), u = Symbol(), r = ye(
|
|
615
657
|
t,
|
|
616
658
|
o
|
|
617
|
-
),
|
|
659
|
+
), s = me(
|
|
618
660
|
t,
|
|
619
661
|
o,
|
|
620
662
|
u,
|
|
621
|
-
|
|
622
|
-
),
|
|
663
|
+
i
|
|
664
|
+
), n = be(t, s), {
|
|
623
665
|
VvForm: f,
|
|
624
|
-
errors:
|
|
666
|
+
errors: a,
|
|
625
667
|
status: c,
|
|
626
|
-
invalid:
|
|
668
|
+
invalid: b,
|
|
669
|
+
readonly: g,
|
|
627
670
|
formData: V,
|
|
628
|
-
validate:
|
|
629
|
-
submit:
|
|
630
|
-
ignoreUpdates:
|
|
671
|
+
validate: v,
|
|
672
|
+
submit: h,
|
|
673
|
+
ignoreUpdates: m,
|
|
631
674
|
stopUpdatesWatch: y
|
|
632
|
-
} = he(e, t,
|
|
675
|
+
} = he(e, t, i, n);
|
|
633
676
|
return {
|
|
634
677
|
VvForm: f,
|
|
635
678
|
VvFormWrapper: r,
|
|
636
|
-
VvFormField:
|
|
637
|
-
VvFormTemplate:
|
|
679
|
+
VvFormField: s,
|
|
680
|
+
VvFormTemplate: n,
|
|
638
681
|
formInjectionKey: t,
|
|
639
682
|
formWrapperInjectionKey: o,
|
|
640
683
|
formFieldInjectionKey: u,
|
|
641
|
-
errors:
|
|
684
|
+
errors: a,
|
|
642
685
|
status: c,
|
|
643
|
-
invalid:
|
|
686
|
+
invalid: b,
|
|
687
|
+
readonly: g,
|
|
644
688
|
formData: V,
|
|
645
|
-
validate:
|
|
646
|
-
submit:
|
|
647
|
-
ignoreUpdates:
|
|
689
|
+
validate: v,
|
|
690
|
+
submit: h,
|
|
691
|
+
ignoreUpdates: m,
|
|
648
692
|
stopUpdatesWatch: y
|
|
649
693
|
};
|
|
650
|
-
},
|
|
651
|
-
let
|
|
652
|
-
return e.schema && (
|
|
653
|
-
...
|
|
694
|
+
}, D = Symbol(), ke = (e) => {
|
|
695
|
+
let i = {};
|
|
696
|
+
return e.schema && (i = R(e.schema, e)), {
|
|
697
|
+
...i,
|
|
654
698
|
install(t, { global: o = !1 } = {}) {
|
|
655
|
-
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));
|
|
656
700
|
}
|
|
657
701
|
};
|
|
658
|
-
},
|
|
702
|
+
}, we = (e, i = {}) => te() ? R(
|
|
659
703
|
e,
|
|
660
704
|
{
|
|
661
|
-
...
|
|
662
|
-
...
|
|
705
|
+
...B(D, {}),
|
|
706
|
+
...i
|
|
663
707
|
}
|
|
664
|
-
) :
|
|
708
|
+
) : R(e, i), Oe = (e, i = {}) => R(e, i);
|
|
665
709
|
export {
|
|
666
710
|
d as FormFieldType,
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
711
|
+
ke as createForm,
|
|
712
|
+
K as defaultObjectBySchema,
|
|
713
|
+
Oe as formFactory,
|
|
714
|
+
D as pluginInjectionKey,
|
|
715
|
+
we as useForm
|
|
672
716
|
};
|