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