@macrulez/vue-form-schema 0.1.7 → 0.2.0
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/LICENSE +21 -0
- package/README.md +461 -180
- package/dist/MaskEngine-BEXwX4BK.js +144 -0
- package/dist/MaskEngine-CPr-fSPy.cjs +1 -0
- package/dist/ValidationEngine-BC4U1ef1.js +135 -0
- package/dist/ValidationEngine-Diz-qTFs.cjs +1 -0
- package/dist/_plugin-vue_export-helper-BHFhmbuH.cjs +1 -0
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
- package/dist/core/ConditionEvaluator.d.ts.map +1 -1
- package/dist/core/MaskEngine.d.ts.map +1 -1
- package/dist/core/ValidationEngine.d.ts +13 -0
- package/dist/core/ValidationEngine.d.ts.map +1 -1
- package/dist/core/formRegistry.d.ts +33 -0
- package/dist/core/formRegistry.d.ts.map +1 -0
- package/dist/core/inferTypes.d.ts.map +1 -1
- package/dist/core/schemaUtils.d.ts +38 -0
- package/dist/core/schemaUtils.d.ts.map +1 -1
- package/dist/core/serverErrors.d.ts +69 -0
- package/dist/core/serverErrors.d.ts.map +1 -0
- package/dist/core/types.d.ts +22 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/useForm.d.ts +4 -1
- package/dist/core/useForm.d.ts.map +1 -1
- package/dist/core/useMultiStepForm.d.ts.map +1 -1
- package/dist/devtools/index.d.ts +26 -0
- package/dist/devtools/index.d.ts.map +1 -0
- package/dist/devtools.cjs +1 -0
- package/dist/devtools.d.ts +6 -0
- package/dist/devtools.js +93 -0
- package/dist/formRegistry-Bv1eaWQ-.js +31 -0
- package/dist/formRegistry-DaDmXyYY.cjs +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +392 -359
- package/dist/openapi.cjs +1 -0
- package/dist/openapi.d.ts +202 -0
- package/dist/openapi.js +118 -0
- package/dist/parsers/json.d.ts.map +1 -1
- package/dist/parsers/openapi.d.ts +139 -0
- package/dist/parsers/openapi.d.ts.map +1 -0
- package/dist/parsers/valibot.d.ts +13 -4
- package/dist/parsers/valibot.d.ts.map +1 -1
- package/dist/parsers/yup.d.ts +10 -4
- package/dist/parsers/yup.d.ts.map +1 -1
- package/dist/parsers/zod.d.ts +18 -4
- package/dist/parsers/zod.d.ts.map +1 -1
- package/dist/schemaUtils-Cc7CwGXB.cjs +1 -0
- package/dist/schemaUtils-Cvlsk24U.js +337 -0
- package/dist/style.css +1 -0
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/naive/index.d.ts +11 -0
- package/dist/ui/naive/index.d.ts.map +1 -0
- package/dist/ui/primevue/index.d.ts +11 -0
- package/dist/ui/primevue/index.d.ts.map +1 -0
- package/dist/ui/shadcn/index.d.ts +11 -0
- package/dist/ui/shadcn/index.d.ts.map +1 -0
- package/dist/ui/tailwind/index.d.ts +11 -0
- package/dist/ui/tailwind/index.d.ts.map +1 -0
- package/dist/ui-naive.cjs +1 -0
- package/dist/ui-naive.d.ts +411 -0
- package/dist/ui-naive.js +667 -0
- package/dist/ui-primevue.cjs +1 -0
- package/dist/ui-primevue.d.ts +411 -0
- package/dist/ui-primevue.js +651 -0
- package/dist/ui-shadcn.cjs +1 -0
- package/dist/ui-shadcn.d.ts +411 -0
- package/dist/ui-shadcn.js +650 -0
- package/dist/ui-tailwind.cjs +1 -0
- package/dist/ui-tailwind.d.ts +411 -0
- package/dist/ui-tailwind.js +669 -0
- package/dist/ui.cjs +1 -1
- package/dist/ui.d.ts +61 -10
- package/dist/ui.js +434 -299
- package/dist/valibot.cjs +1 -1
- package/dist/valibot.d.ts +35 -4
- package/dist/valibot.js +47 -20
- package/dist/yup.cjs +1 -1
- package/dist/yup.d.ts +33 -5
- package/dist/yup.js +16 -15
- package/dist/zod.cjs +1 -1
- package/dist/zod.d.ts +41 -5
- package/dist/zod.js +58 -28
- package/package.json +99 -25
- package/dist/MaskEngine-BqJQYybS.js +0 -233
- package/dist/MaskEngine-BwAs2Zb0.cjs +0 -1
- package/dist/__tests__/ConditionEvaluator.test.d.ts +0 -2
- package/dist/__tests__/ConditionEvaluator.test.d.ts.map +0 -1
- package/dist/__tests__/MaskEngine.test.d.ts +0 -2
- package/dist/__tests__/MaskEngine.test.d.ts.map +0 -1
- package/dist/__tests__/ValidationEngine.test.d.ts +0 -2
- package/dist/__tests__/ValidationEngine.test.d.ts.map +0 -1
- package/dist/__tests__/parsers.test.d.ts +0 -2
- package/dist/__tests__/parsers.test.d.ts.map +0 -1
- package/dist/__tests__/phase3.test.d.ts +0 -2
- package/dist/__tests__/phase3.test.d.ts.map +0 -1
- package/dist/__tests__/phase4.test.d.ts +0 -2
- package/dist/__tests__/phase4.test.d.ts.map +0 -1
- package/dist/__tests__/useFieldArray.test.d.ts +0 -2
- package/dist/__tests__/useFieldArray.test.d.ts.map +0 -1
- package/dist/__tests__/useForm.test.d.ts +0 -2
- package/dist/__tests__/useForm.test.d.ts.map +0 -1
- package/dist/__tests__/useMultiStepForm.test.d.ts +0 -2
- package/dist/__tests__/useMultiStepForm.test.d.ts.map +0 -1
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
import { watchEffect as f } from "vue";
|
|
2
|
+
import { g as d, i as v } from "./ValidationEngine-BC4U1ef1.js";
|
|
3
|
+
const y = [
|
|
4
|
+
"===",
|
|
5
|
+
"!==",
|
|
6
|
+
"==",
|
|
7
|
+
"!=",
|
|
8
|
+
"<=",
|
|
9
|
+
">=",
|
|
10
|
+
"&&",
|
|
11
|
+
"||",
|
|
12
|
+
"(",
|
|
13
|
+
")",
|
|
14
|
+
"[",
|
|
15
|
+
"]",
|
|
16
|
+
".",
|
|
17
|
+
"?",
|
|
18
|
+
":",
|
|
19
|
+
"!",
|
|
20
|
+
"<",
|
|
21
|
+
">",
|
|
22
|
+
"+",
|
|
23
|
+
"-",
|
|
24
|
+
"*",
|
|
25
|
+
"/",
|
|
26
|
+
"%"
|
|
27
|
+
], m = /* @__PURE__ */ new Set(["__proto__", "prototype", "constructor"]);
|
|
28
|
+
function w(r) {
|
|
29
|
+
const e = [];
|
|
30
|
+
let t = 0;
|
|
31
|
+
for (; t < r.length; ) {
|
|
32
|
+
const s = r[t];
|
|
33
|
+
if (/\s/.test(s)) {
|
|
34
|
+
t++;
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (s === '"' || s === "'") {
|
|
38
|
+
const i = s;
|
|
39
|
+
let a = t + 1, o = "";
|
|
40
|
+
for (; a < r.length && r[a] !== i; )
|
|
41
|
+
o += r[a], a++;
|
|
42
|
+
if (r[a] !== i) throw new Error("Unterminated string literal");
|
|
43
|
+
e.push({ type: "str", value: o }), t = a + 1;
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (/[0-9]/.test(s)) {
|
|
47
|
+
let i = t;
|
|
48
|
+
for (; i < r.length && /[0-9.]/.test(r[i]); ) i++;
|
|
49
|
+
e.push({ type: "num", value: Number(r.slice(t, i)) }), t = i;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (/[A-Za-z_$]/.test(s)) {
|
|
53
|
+
let i = t;
|
|
54
|
+
for (; i < r.length && /[A-Za-z0-9_$]/.test(r[i]); ) i++;
|
|
55
|
+
e.push({ type: "ident", value: r.slice(t, i) }), t = i;
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
const n = y.find((i) => r.startsWith(i, t));
|
|
59
|
+
if (n) {
|
|
60
|
+
e.push({ type: "op", value: n }), t += n.length;
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
throw new Error(`Unexpected character "${s}"`);
|
|
64
|
+
}
|
|
65
|
+
return e.push({ type: "eof" }), e;
|
|
66
|
+
}
|
|
67
|
+
class b {
|
|
68
|
+
constructor(e, t) {
|
|
69
|
+
this.tokens = e, this.values = t, this.pos = 0;
|
|
70
|
+
}
|
|
71
|
+
parse() {
|
|
72
|
+
const e = this.parseTernary();
|
|
73
|
+
if (this.peek().type !== "eof") throw new Error("Unexpected trailing tokens");
|
|
74
|
+
return e;
|
|
75
|
+
}
|
|
76
|
+
peek() {
|
|
77
|
+
return this.tokens[this.pos];
|
|
78
|
+
}
|
|
79
|
+
next() {
|
|
80
|
+
return this.tokens[this.pos++];
|
|
81
|
+
}
|
|
82
|
+
isOp(e) {
|
|
83
|
+
const t = this.peek();
|
|
84
|
+
return t.type === "op" && t.value === e;
|
|
85
|
+
}
|
|
86
|
+
expectOp(e) {
|
|
87
|
+
const t = this.next();
|
|
88
|
+
if (t.type !== "op" || t.value !== e) throw new Error(`Expected "${e}"`);
|
|
89
|
+
}
|
|
90
|
+
parseTernary() {
|
|
91
|
+
const e = this.parseLogicalOr();
|
|
92
|
+
if (this.isOp("?")) {
|
|
93
|
+
this.next();
|
|
94
|
+
const t = this.parseTernary();
|
|
95
|
+
this.expectOp(":");
|
|
96
|
+
const s = this.parseTernary();
|
|
97
|
+
return e ? t : s;
|
|
98
|
+
}
|
|
99
|
+
return e;
|
|
100
|
+
}
|
|
101
|
+
parseLogicalOr() {
|
|
102
|
+
let e = this.parseLogicalAnd();
|
|
103
|
+
for (; this.isOp("||"); )
|
|
104
|
+
this.next(), e = e || this.parseLogicalAnd();
|
|
105
|
+
return e;
|
|
106
|
+
}
|
|
107
|
+
parseLogicalAnd() {
|
|
108
|
+
let e = this.parseEquality();
|
|
109
|
+
for (; this.isOp("&&"); )
|
|
110
|
+
this.next(), e = e && this.parseEquality();
|
|
111
|
+
return e;
|
|
112
|
+
}
|
|
113
|
+
parseEquality() {
|
|
114
|
+
let e = this.parseRelational();
|
|
115
|
+
for (; ; ) {
|
|
116
|
+
const t = this.peek();
|
|
117
|
+
if (t.type !== "op" || !["==", "!=", "===", "!=="].includes(t.value)) break;
|
|
118
|
+
this.next();
|
|
119
|
+
const s = this.parseRelational();
|
|
120
|
+
switch (t.value) {
|
|
121
|
+
case "==":
|
|
122
|
+
e = e == s;
|
|
123
|
+
break;
|
|
124
|
+
case "!=":
|
|
125
|
+
e = e != s;
|
|
126
|
+
break;
|
|
127
|
+
case "===":
|
|
128
|
+
e = e === s;
|
|
129
|
+
break;
|
|
130
|
+
case "!==":
|
|
131
|
+
e = e !== s;
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return e;
|
|
136
|
+
}
|
|
137
|
+
parseRelational() {
|
|
138
|
+
let e = this.parseAdditive();
|
|
139
|
+
for (; ; ) {
|
|
140
|
+
const t = this.peek();
|
|
141
|
+
if (t.type !== "op" || !["<=", ">=", "<", ">"].includes(t.value)) break;
|
|
142
|
+
this.next();
|
|
143
|
+
const s = this.parseAdditive();
|
|
144
|
+
switch (t.value) {
|
|
145
|
+
case "<=":
|
|
146
|
+
e = e <= s;
|
|
147
|
+
break;
|
|
148
|
+
case ">=":
|
|
149
|
+
e = e >= s;
|
|
150
|
+
break;
|
|
151
|
+
case "<":
|
|
152
|
+
e = e < s;
|
|
153
|
+
break;
|
|
154
|
+
case ">":
|
|
155
|
+
e = e > s;
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return e;
|
|
160
|
+
}
|
|
161
|
+
parseAdditive() {
|
|
162
|
+
let e = this.parseMultiplicative();
|
|
163
|
+
for (; ; ) {
|
|
164
|
+
const t = this.peek();
|
|
165
|
+
if (t.type !== "op" || !["+", "-"].includes(t.value)) break;
|
|
166
|
+
this.next();
|
|
167
|
+
const s = this.parseMultiplicative();
|
|
168
|
+
e = t.value === "+" ? e + s : e - s;
|
|
169
|
+
}
|
|
170
|
+
return e;
|
|
171
|
+
}
|
|
172
|
+
parseMultiplicative() {
|
|
173
|
+
let e = this.parseUnary();
|
|
174
|
+
for (; ; ) {
|
|
175
|
+
const t = this.peek();
|
|
176
|
+
if (t.type !== "op" || !["*", "/", "%"].includes(t.value)) break;
|
|
177
|
+
this.next();
|
|
178
|
+
const s = this.parseUnary();
|
|
179
|
+
t.value === "*" ? e = e * s : t.value === "/" ? e = e / s : e = e % s;
|
|
180
|
+
}
|
|
181
|
+
return e;
|
|
182
|
+
}
|
|
183
|
+
parseUnary() {
|
|
184
|
+
return this.isOp("!") ? (this.next(), !this.parseUnary()) : this.isOp("-") ? (this.next(), -this.parseUnary()) : this.parsePrimary();
|
|
185
|
+
}
|
|
186
|
+
parsePrimary() {
|
|
187
|
+
const e = this.next();
|
|
188
|
+
if (e.type === "num" || e.type === "str") return e.value;
|
|
189
|
+
if (e.type === "ident") {
|
|
190
|
+
if (e.value === "true") return !0;
|
|
191
|
+
if (e.value === "false") return !1;
|
|
192
|
+
if (e.value === "null") return null;
|
|
193
|
+
if (e.value === "undefined") return;
|
|
194
|
+
if (e.value !== "values") throw new Error(`Unknown identifier "${e.value}"`);
|
|
195
|
+
return this.parseMemberChain(this.values);
|
|
196
|
+
}
|
|
197
|
+
if (e.type === "op" && e.value === "(") {
|
|
198
|
+
const t = this.parseTernary();
|
|
199
|
+
return this.expectOp(")"), t;
|
|
200
|
+
}
|
|
201
|
+
throw new Error("Unexpected token");
|
|
202
|
+
}
|
|
203
|
+
parseMemberChain(e) {
|
|
204
|
+
let t = e;
|
|
205
|
+
for (; ; )
|
|
206
|
+
if (this.isOp(".")) {
|
|
207
|
+
this.next();
|
|
208
|
+
const s = this.next();
|
|
209
|
+
if (s.type !== "ident") throw new Error("Expected property name");
|
|
210
|
+
t = this.readProp(t, s.value);
|
|
211
|
+
} else if (this.isOp("[")) {
|
|
212
|
+
this.next();
|
|
213
|
+
const s = this.parseTernary();
|
|
214
|
+
this.expectOp("]"), t = this.readProp(t, String(s));
|
|
215
|
+
} else
|
|
216
|
+
break;
|
|
217
|
+
return t;
|
|
218
|
+
}
|
|
219
|
+
readProp(e, t) {
|
|
220
|
+
if (!m.has(t) && e != null && typeof e == "object")
|
|
221
|
+
return e[t];
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
function k(r, e) {
|
|
225
|
+
try {
|
|
226
|
+
const t = w(r);
|
|
227
|
+
return !!new b(t, e).parse();
|
|
228
|
+
} catch {
|
|
229
|
+
return console.warn(`[vue-form-schema] Invalid or unsupported expression: "${r}"`), !0;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
class x {
|
|
233
|
+
constructor() {
|
|
234
|
+
this.stopHandle = null;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Start reactively watching values and writing evaluated fields into
|
|
238
|
+
* `resolvedFields`. Also handles clearOnHide side effect.
|
|
239
|
+
*/
|
|
240
|
+
start(e, t, s, n) {
|
|
241
|
+
this.stopHandle = f(() => {
|
|
242
|
+
const i = t.value, a = s.value, o = this.evaluateFields(e, i);
|
|
243
|
+
n && this.clearHiddenValues(e, o, i, t, a), s.value = o;
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
stop() {
|
|
247
|
+
var e;
|
|
248
|
+
(e = this.stopHandle) == null || e.call(this), this.stopHandle = null;
|
|
249
|
+
}
|
|
250
|
+
/** Recursively evaluate visible/disabled/options for each field */
|
|
251
|
+
evaluateFields(e, t) {
|
|
252
|
+
return e.map((s) => {
|
|
253
|
+
const n = this.resolveBoolean(s.visible, t, !0), i = this.resolveBoolean(s.disabled, t, !1);
|
|
254
|
+
let a;
|
|
255
|
+
if (typeof s.options == "function") {
|
|
256
|
+
const l = s.options(t);
|
|
257
|
+
a = l instanceof Promise ? void 0 : l;
|
|
258
|
+
} else
|
|
259
|
+
a = s.options;
|
|
260
|
+
return {
|
|
261
|
+
...s,
|
|
262
|
+
visible: n,
|
|
263
|
+
disabled: i,
|
|
264
|
+
options: a,
|
|
265
|
+
fields: s.fields ? this.evaluateFields(s.fields, t) : void 0
|
|
266
|
+
};
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
resolveBoolean(e, t, s) {
|
|
270
|
+
return e === void 0 ? s : typeof e == "boolean" ? e : typeof e == "function" ? e(t) : typeof e == "string" ? k(e, t) : s;
|
|
271
|
+
}
|
|
272
|
+
clearHiddenValues(e, t, s, n, i) {
|
|
273
|
+
for (let a = 0; a < e.length; a++) {
|
|
274
|
+
const o = e[a], l = t[a], p = this.wasVisible(i, o.name), h = l.visible;
|
|
275
|
+
if (p && !h) {
|
|
276
|
+
const c = d(s, o.name), u = o.defaultValue ?? null;
|
|
277
|
+
c !== u && (n.value = v(n.value, o.name, u));
|
|
278
|
+
}
|
|
279
|
+
o.fields && l.fields && this.clearHiddenValues(o.fields, l.fields, s, n, i);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
wasVisible(e, t) {
|
|
283
|
+
const s = e.find((n) => n.name === t);
|
|
284
|
+
return s ? s.visible !== !1 : !0;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
function g(r, e) {
|
|
288
|
+
return new x().evaluateFields(r, e);
|
|
289
|
+
}
|
|
290
|
+
function A(...r) {
|
|
291
|
+
const e = /* @__PURE__ */ new Map();
|
|
292
|
+
for (const t of r)
|
|
293
|
+
for (const s of t)
|
|
294
|
+
e.set(s.name, s);
|
|
295
|
+
return Array.from(e.values());
|
|
296
|
+
}
|
|
297
|
+
function P(r, e) {
|
|
298
|
+
const t = new Set(e);
|
|
299
|
+
return r.filter((s) => !t.has(s.name));
|
|
300
|
+
}
|
|
301
|
+
function U(r, e) {
|
|
302
|
+
const t = new Set(e);
|
|
303
|
+
return r.filter((s) => t.has(s.name));
|
|
304
|
+
}
|
|
305
|
+
function F(r, e, t) {
|
|
306
|
+
return r.map((s) => s.name === e ? { ...s, ...t } : s);
|
|
307
|
+
}
|
|
308
|
+
function T(r, e) {
|
|
309
|
+
const t = [];
|
|
310
|
+
for (const [s, n] of Object.entries(e))
|
|
311
|
+
for (const i of n)
|
|
312
|
+
t.push({
|
|
313
|
+
...i,
|
|
314
|
+
visible: E(i.visible, r, s)
|
|
315
|
+
});
|
|
316
|
+
return t;
|
|
317
|
+
}
|
|
318
|
+
function E(r, e, t) {
|
|
319
|
+
return (s) => {
|
|
320
|
+
if (s[e] !== t) return !1;
|
|
321
|
+
if (r === void 0) return !0;
|
|
322
|
+
const [n] = g(
|
|
323
|
+
[{ type: "text", name: "__discriminatedFields_probe__", visible: r }],
|
|
324
|
+
s
|
|
325
|
+
);
|
|
326
|
+
return n.visible === !0;
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
export {
|
|
330
|
+
x as C,
|
|
331
|
+
F as a,
|
|
332
|
+
T as d,
|
|
333
|
+
g as e,
|
|
334
|
+
A as m,
|
|
335
|
+
P as o,
|
|
336
|
+
U as p
|
|
337
|
+
};
|
package/dist/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vfs-pv-dropzone[data-v-1fed53d8]{position:relative;border:2px dashed var(--p-surface-300, #cbd5e1);border-radius:6px;padding:1.5rem;text-align:center;transition:border-color .15s}.vfs-pv-dropzone[data-v-1fed53d8]:hover{border-color:var(--p-primary-color, #6366f1)}.vfs-pv-dropzone--dragging[data-v-1fed53d8]{border-color:var(--p-primary-color, #6366f1);background:var(--p-primary-50, rgba(99, 102, 241, .08))}.vfs-pv-dropzone--error[data-v-1fed53d8]{border-color:var(--p-red-500, #ef4444)}.vfs-pv-dropzone__input[data-v-1fed53d8]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.vfs-pv-dropzone__input[data-v-1fed53d8]:disabled{cursor:not-allowed}.vfs-pv-dropzone__hint[data-v-1fed53d8]{pointer-events:none;font-size:.875rem;color:var(--p-surface-500, #64748b)}.vfs-pv-dropzone__accept[data-v-1fed53d8]{font-size:.75rem;margin-top:.25rem}.vfs-pv-filelist[data-v-1fed53d8]{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.vfs-pv-filelist__item[data-v-1fed53d8]{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--p-surface-200, #e2e8f0);border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.vfs-pv-filelist__name[data-v-1fed53d8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vfs-pv-filelist__size[data-v-1fed53d8]{margin-left:.5rem;flex-shrink:0;font-size:.75rem;color:var(--p-surface-500, #64748b)}.vfs-pv-filelist__remove[data-v-1fed53d8]{margin-left:.5rem;flex-shrink:0;color:var(--p-surface-500, #64748b);background:none;border:none;cursor:pointer}.vfs-pv-filelist__remove[data-v-1fed53d8]:hover{color:var(--p-red-500, #ef4444)}.vfs-naive-dropzone[data-v-781d7342]{position:relative;border:2px dashed #d9d9d9;border-radius:3px;padding:1.5rem;text-align:center;transition:border-color .15s}.vfs-naive-dropzone[data-v-781d7342]:hover{border-color:#36ad6a}.vfs-naive-dropzone--dragging[data-v-781d7342]{border-color:#36ad6a;background:#36ad6a14}.vfs-naive-dropzone--error[data-v-781d7342]{border-color:#d03050}.vfs-naive-dropzone__input[data-v-781d7342]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.vfs-naive-dropzone__input[data-v-781d7342]:disabled{cursor:not-allowed}.vfs-naive-dropzone__hint[data-v-781d7342]{pointer-events:none;font-size:.875rem;color:#00000080}.vfs-naive-dropzone__accept[data-v-781d7342]{font-size:.75rem;margin-top:.25rem}.vfs-naive-filelist[data-v-781d7342]{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.vfs-naive-filelist__item[data-v-781d7342]{display:flex;align-items:center;justify-content:space-between;border:1px solid #e0e0e6;border-radius:3px;padding:.5rem .75rem;font-size:.875rem}.vfs-naive-filelist__name[data-v-781d7342]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vfs-naive-filelist__size[data-v-781d7342]{margin-left:.5rem;flex-shrink:0;font-size:.75rem;color:#00000080}.vfs-naive-filelist__remove[data-v-781d7342]{margin-left:.5rem;flex-shrink:0;color:#00000080;background:none;border:none;cursor:pointer}.vfs-naive-filelist__remove[data-v-781d7342]:hover{color:#d03050}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -8,4 +8,5 @@ export { default as CheckboxField } from './fields/CheckboxField.vue';
|
|
|
8
8
|
export { default as RadioField } from './fields/RadioField.vue';
|
|
9
9
|
export { default as DateField } from './fields/DateField.vue';
|
|
10
10
|
export { default as ArrayField } from './fields/ArrayField.vue';
|
|
11
|
+
export { default as FileField } from './fields/FileField.vue';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { default as NaiveFormRenderer } from './NaiveFormRenderer.vue';
|
|
2
|
+
export { default as NuTextField } from './TextField.vue';
|
|
3
|
+
export { default as NuNumberField } from './NumberField.vue';
|
|
4
|
+
export { default as NuTextareaField } from './TextareaField.vue';
|
|
5
|
+
export { default as NuSelectField } from './SelectField.vue';
|
|
6
|
+
export { default as NuCheckboxField } from './CheckboxField.vue';
|
|
7
|
+
export { default as NuRadioField } from './RadioField.vue';
|
|
8
|
+
export { default as NuDateField } from './DateField.vue';
|
|
9
|
+
export { default as NuFileField } from './FileField.vue';
|
|
10
|
+
export { default as NuArrayField } from './ArrayField.vue';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/naive/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { default as PrimeVueFormRenderer } from './PrimeVueFormRenderer.vue';
|
|
2
|
+
export { default as PvTextField } from './TextField.vue';
|
|
3
|
+
export { default as PvNumberField } from './NumberField.vue';
|
|
4
|
+
export { default as PvTextareaField } from './TextareaField.vue';
|
|
5
|
+
export { default as PvSelectField } from './SelectField.vue';
|
|
6
|
+
export { default as PvCheckboxField } from './CheckboxField.vue';
|
|
7
|
+
export { default as PvRadioField } from './RadioField.vue';
|
|
8
|
+
export { default as PvDateField } from './DateField.vue';
|
|
9
|
+
export { default as PvFileField } from './FileField.vue';
|
|
10
|
+
export { default as PvArrayField } from './ArrayField.vue';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/primevue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { default as ShadcnFormRenderer } from './ShadcnFormRenderer.vue';
|
|
2
|
+
export { default as ShTextField } from './TextField.vue';
|
|
3
|
+
export { default as ShNumberField } from './NumberField.vue';
|
|
4
|
+
export { default as ShTextareaField } from './TextareaField.vue';
|
|
5
|
+
export { default as ShSelectField } from './SelectField.vue';
|
|
6
|
+
export { default as ShCheckboxField } from './CheckboxField.vue';
|
|
7
|
+
export { default as ShRadioField } from './RadioField.vue';
|
|
8
|
+
export { default as ShDateField } from './DateField.vue';
|
|
9
|
+
export { default as ShFileField } from './FileField.vue';
|
|
10
|
+
export { default as ShArrayField } from './ArrayField.vue';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/shadcn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { default as TailwindFormRenderer } from './TailwindFormRenderer.vue';
|
|
2
|
+
export { default as TwTextField } from './TextField.vue';
|
|
3
|
+
export { default as TwNumberField } from './NumberField.vue';
|
|
4
|
+
export { default as TwTextareaField } from './TextareaField.vue';
|
|
5
|
+
export { default as TwSelectField } from './SelectField.vue';
|
|
6
|
+
export { default as TwCheckboxField } from './CheckboxField.vue';
|
|
7
|
+
export { default as TwRadioField } from './RadioField.vue';
|
|
8
|
+
export { default as TwDateField } from './DateField.vue';
|
|
9
|
+
export { default as TwFileField } from './FileField.vue';
|
|
10
|
+
export { default as TwArrayField } from './ArrayField.vue';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tailwind/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),p=require("naive-ui"),V=require("./MaskEngine-CPr-fSPy.cjs"),S=require("./ValidationEngine-Diz-qTFs.cjs"),q=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),g=e.defineComponent({__name:"TextField",props:{field:{},modelValue:{},error:{},touched:{type:Boolean}},emits:["update:modelValue","blur"],setup(t,{emit:m}){const o=t,c=m,r=e.ref(null);let d=null;const a=e.computed(()=>{var n;return!!(o.touched&&((n=o.error)!=null&&n.length))});return e.onMounted(()=>{var u;const n=(u=r.value)==null?void 0:u.inputElRef;n&&o.field.mask&&(d=V.bindMask(n,o.field.mask))}),e.onUnmounted(()=>d==null?void 0:d()),(n,u)=>(e.openBlock(),e.createBlock(e.unref(p.NFormItem),{label:t.field.label,required:t.field.required,"validation-status":a.value?"error":void 0,"show-feedback":a.value},e.createSlots({default:e.withCtx(()=>[e.createVNode(e.unref(p.NInput),{ref_key:"inputRef",ref:r,type:"text","input-props":{id:t.field.name,name:t.field.name},value:t.modelValue??"",placeholder:t.field.placeholder,disabled:t.field.disabled===!0,status:a.value?"error":void 0,"onUpdate:value":u[0]||(u[0]=f=>c("update:modelValue",f)),onBlur:u[1]||(u[1]=f=>c("blur"))},null,8,["input-props","value","placeholder","disabled","status"])]),_:2},[a.value?{name:"feedback",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.error,(f,b)=>(e.openBlock(),e.createElementBlock("div",{key:b},e.toDisplayString(f),1))),128))]),key:"0"}:void 0]),1032,["label","required","validation-status","show-feedback"]))}}),N=e.defineComponent({__name:"NumberField",props:{field:{},modelValue:{},error:{},touched:{type:Boolean}},emits:["update:modelValue","blur"],setup(t,{emit:m}){const o=t,c=m,r=e.computed(()=>{var d;return!!(o.touched&&((d=o.error)!=null&&d.length))});return(d,a)=>(e.openBlock(),e.createBlock(e.unref(p.NFormItem),{label:t.field.label,required:t.field.required,"validation-status":r.value?"error":void 0,"show-feedback":r.value},e.createSlots({default:e.withCtx(()=>[e.createVNode(e.unref(p.NInputNumber),{style:{width:"100%"},"input-props":{id:t.field.name,name:t.field.name},value:t.modelValue,placeholder:t.field.placeholder,disabled:t.field.disabled===!0,status:r.value?"error":void 0,"onUpdate:value":a[0]||(a[0]=n=>c("update:modelValue",n)),onBlur:a[1]||(a[1]=n=>c("blur"))},null,8,["input-props","value","placeholder","disabled","status"])]),_:2},[r.value?{name:"feedback",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.error,(n,u)=>(e.openBlock(),e.createElementBlock("div",{key:u},e.toDisplayString(n),1))),128))]),key:"0"}:void 0]),1032,["label","required","validation-status","show-feedback"]))}}),C=e.defineComponent({__name:"TextareaField",props:{field:{},modelValue:{},error:{},touched:{type:Boolean}},emits:["update:modelValue","blur"],setup(t,{emit:m}){const o=t,c=m,r=e.computed(()=>{var d;return!!(o.touched&&((d=o.error)!=null&&d.length))});return(d,a)=>(e.openBlock(),e.createBlock(e.unref(p.NFormItem),{label:t.field.label,required:t.field.required,"validation-status":r.value?"error":void 0,"show-feedback":r.value},e.createSlots({default:e.withCtx(()=>[e.createVNode(e.unref(p.NInput),{type:"textarea","input-props":{id:t.field.name,name:t.field.name},value:t.modelValue??"",placeholder:t.field.placeholder,disabled:t.field.disabled===!0,status:r.value?"error":void 0,autosize:{minRows:3},"onUpdate:value":a[0]||(a[0]=n=>c("update:modelValue",n)),onBlur:a[1]||(a[1]=n=>c("blur"))},null,8,["input-props","value","placeholder","disabled","status"])]),_:2},[r.value?{name:"feedback",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.error,(n,u)=>(e.openBlock(),e.createElementBlock("div",{key:u},e.toDisplayString(n),1))),128))]),key:"0"}:void 0]),1032,["label","required","validation-status","show-feedback"]))}}),x=e.defineComponent({__name:"SelectField",props:{field:{},modelValue:{},error:{},touched:{type:Boolean}},emits:["update:modelValue","blur"],setup(t,{emit:m}){const o=t,c=m,r=e.computed(()=>{var n;return!!(o.touched&&((n=o.error)!=null&&n.length))}),d=e.computed(()=>Array.isArray(o.field.options)?o.field.options:[]),a=e.computed(()=>o.modelValue);return(n,u)=>(e.openBlock(),e.createBlock(e.unref(p.NFormItem),{label:t.field.label,required:t.field.required,"validation-status":r.value?"error":void 0,"show-feedback":r.value},e.createSlots({default:e.withCtx(()=>[e.createVNode(e.unref(p.NSelect),{"input-props":{id:t.field.name,name:t.field.name},value:a.value,options:d.value,placeholder:t.field.placeholder??"Select an option",disabled:t.field.disabled===!0||t.field.optionsLoading,loading:t.field.optionsLoading,status:r.value?"error":void 0,"onUpdate:value":u[0]||(u[0]=f=>c("update:modelValue",f)),onBlur:u[1]||(u[1]=f=>c("blur"))},null,8,["input-props","value","options","placeholder","disabled","loading","status"])]),_:2},[r.value?{name:"feedback",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.error,(f,b)=>(e.openBlock(),e.createElementBlock("div",{key:b},e.toDisplayString(f),1))),128))]),key:"0"}:void 0]),1032,["label","required","validation-status","show-feedback"]))}}),F=e.defineComponent({__name:"CheckboxField",props:{field:{},modelValue:{type:[Boolean,null]},error:{},touched:{type:Boolean}},emits:["update:modelValue","blur"],setup(t,{emit:m}){const o=m;return(c,r)=>{var d,a;return e.openBlock(),e.createBlock(e.unref(p.NFormItem),{"show-label":!1,"show-feedback":t.touched&&!!((d=t.error)!=null&&d.length)},e.createSlots({default:e.withCtx(()=>[e.createVNode(e.unref(p.NCheckbox),{checked:!!t.modelValue,disabled:t.field.disabled===!0,"onUpdate:checked":r[0]||(r[0]=n=>o("update:modelValue",n)),onBlur:r[1]||(r[1]=n=>o("blur"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.field.label),1)]),_:1},8,["checked","disabled"])]),_:2},[t.touched&&((a=t.error)!=null&&a.length)?{name:"feedback",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.error,(n,u)=>(e.openBlock(),e.createElementBlock("div",{key:u},e.toDisplayString(n),1))),128))]),key:"0"}:void 0]),1032,["show-feedback"])}}}),w=e.defineComponent({__name:"RadioField",props:{field:{},modelValue:{},error:{},touched:{type:Boolean}},emits:["update:modelValue","blur"],setup(t,{emit:m}){const o=t,c=m,r=e.computed(()=>{var n;return!!(o.touched&&((n=o.error)!=null&&n.length))}),d=e.computed(()=>(Array.isArray(o.field.options)?o.field.options:[]).map(n=>({label:n.label,value:n.value}))),a=e.computed(()=>o.modelValue);return(n,u)=>(e.openBlock(),e.createBlock(e.unref(p.NFormItem),{label:t.field.label,required:t.field.required,"validation-status":r.value?"error":void 0,"show-feedback":r.value},e.createSlots({default:e.withCtx(()=>[e.createVNode(e.unref(p.NRadioGroup),{name:t.field.name,value:a.value,disabled:t.field.disabled===!0,"onUpdate:value":u[0]||(u[0]=f=>c("update:modelValue",f)),onBlur:u[1]||(u[1]=f=>c("blur"))},{default:e.withCtx(()=>[e.createVNode(e.unref(p.NSpace),{vertical:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,f=>(e.openBlock(),e.createBlock(e.unref(p.NRadio),{key:String(f.value),value:f.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.label),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["name","value","disabled"])]),_:2},[r.value?{name:"feedback",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.error,(f,b)=>(e.openBlock(),e.createElementBlock("div",{key:b},e.toDisplayString(f),1))),128))]),key:"0"}:void 0]),1032,["label","required","validation-status","show-feedback"]))}}),E=e.defineComponent({__name:"DateField",props:{field:{},modelValue:{},error:{},touched:{type:Boolean}},emits:["update:modelValue","blur"],setup(t,{emit:m}){const o=t,c=m,r=e.computed(()=>{var d;return!!(o.touched&&((d=o.error)!=null&&d.length))});return(d,a)=>(e.openBlock(),e.createBlock(e.unref(p.NFormItem),{label:t.field.label,required:t.field.required,"validation-status":r.value?"error":void 0,"show-feedback":r.value},e.createSlots({default:e.withCtx(()=>[e.createVNode(e.unref(p.NDatePicker),{type:"date","value-format":"yyyy-MM-dd",style:{width:"100%"},"formatted-value":t.modelValue,disabled:t.field.disabled===!0,status:r.value?"error":void 0,"onUpdate:formattedValue":a[0]||(a[0]=n=>c("update:modelValue",n??"")),onBlur:a[1]||(a[1]=n=>c("blur"))},null,8,["formatted-value","disabled","status"])]),_:2},[r.value?{name:"feedback",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.error,(n,u)=>(e.openBlock(),e.createElementBlock("div",{key:u},e.toDisplayString(n),1))),128))]),key:"0"}:void 0]),1032,["label","required","validation-status","show-feedback"]))}}),R={style:{width:"100%"}},z=["id","name","accept","multiple","disabled"],L={class:"vfs-naive-dropzone__hint"},I={key:0,class:"vfs-naive-dropzone__accept"},T={key:0,class:"vfs-naive-filelist"},U={class:"vfs-naive-filelist__name"},A={class:"vfs-naive-filelist__size"},M=["aria-label","onClick"],P=e.defineComponent({__name:"FileField",props:{field:{},modelValue:{},error:{},touched:{type:Boolean}},emits:["update:modelValue","blur"],setup(t,{emit:m}){const o=t,c=m,r=e.ref(!1),d=e.ref(null),a=e.computed(()=>{var l;return!!(o.touched&&((l=o.error)!=null&&l.length))}),n=e.computed(()=>o.modelValue?Array.isArray(o.modelValue)?o.modelValue:[o.modelValue]:[]),u=e.computed(()=>o.field.multiple??!1);function f(l){if(!l||l.length===0){c("update:modelValue",null);return}c("update:modelValue",u.value?Array.from(l):l[0])}function b(l){f(l.target.files),c("blur")}function B(l){var s;r.value=!1,l.preventDefault(),f(((s=l.dataTransfer)==null?void 0:s.files)??null),c("blur")}function h(l){const s=n.value.filter((v,i)=>i!==l);s.length===0?(c("update:modelValue",null),d.value&&(d.value.value="")):c("update:modelValue",u.value?s:s[0])}function k(l){return l<1024?`${l} B`:l<1024*1024?`${(l/1024).toFixed(1)} KB`:`${(l/(1024*1024)).toFixed(1)} MB`}return(l,s)=>(e.openBlock(),e.createBlock(e.unref(p.NFormItem),{label:t.field.label,required:t.field.required,"validation-status":a.value?"error":void 0,"show-feedback":a.value},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",R,[e.createElementVNode("div",{class:e.normalizeClass(["vfs-naive-dropzone",{"vfs-naive-dropzone--dragging":r.value,"vfs-naive-dropzone--error":a.value}]),onDragover:s[0]||(s[0]=e.withModifiers(v=>r.value=!0,["prevent"])),onDragleave:s[1]||(s[1]=v=>r.value=!1),onDrop:B},[e.createElementVNode("input",{id:t.field.name,ref_key:"inputRef",ref:d,type:"file",name:t.field.name,accept:t.field.accept,multiple:u.value,disabled:t.field.disabled===!0,class:"vfs-naive-dropzone__input",onChange:b},null,40,z),e.createElementVNode("div",L,[e.createElementVNode("p",null,e.toDisplayString(r.value?"Drop files here":"Click to upload or drag & drop"),1),t.field.accept?(e.openBlock(),e.createElementBlock("p",I,e.toDisplayString(t.field.accept),1)):e.createCommentVNode("",!0)])],34),n.value.length?(e.openBlock(),e.createElementBlock("ul",T,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(v,i)=>(e.openBlock(),e.createElementBlock("li",{key:`${v.name}-${i}`,class:"vfs-naive-filelist__item"},[e.createElementVNode("span",U,e.toDisplayString(v.name),1),e.createElementVNode("span",A,e.toDisplayString(k(v.size)),1),e.createElementVNode("button",{type:"button","aria-label":`Remove ${v.name}`,class:"vfs-naive-filelist__remove",onClick:y=>h(i)}," × ",8,M)]))),128))])):e.createCommentVNode("",!0)])]),_:2},[a.value?{name:"feedback",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.error,(v,i)=>(e.openBlock(),e.createElementBlock("div",{key:i},e.toDisplayString(v),1))),128))]),key:"0"}:void 0]),1032,["label","required","validation-status","show-feedback"]))}}),$=q._export_sfc(P,[["__scopeId","data-v-781d7342"]]),j={style:{"margin-bottom":"1rem"}},G={key:0,style:{"margin-bottom":"0.5rem","font-weight":"500","font-size":"0.875rem"}},H={style:{flex:"1"}},D=e.defineComponent({__name:"ArrayField",props:{field:{},form:{},components:{}},setup(t){const m=t,o=V.useRegistry(),c={text:g,email:g,number:N,textarea:C,select:x,checkbox:F,radio:w,date:E};function r(k){var l;return k.component?k.component:((l=m.components)==null?void 0:l[k.type])??o[k.type]??c[k.type]??null}const{rows:d,append:a,remove:n}=V.useFieldArray(m.form,m.field.name);function u(k){return S.getByPath(m.form.values.value,k.name)}function f(k,l){m.form.setField(k.name,l)}function b(k){var s;const l=m.form;(s=l.touchField)==null||s.call(l,k.name)}function B(k){return m.form.errors.value[k.name]??[]}function h(k){return m.form.touched.value[k.name]??!1}return(k,l)=>(e.openBlock(),e.createElementBlock("div",j,[t.field.label?(e.openBlock(),e.createElementBlock("div",G,e.toDisplayString(t.field.label),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),s=>(e.openBlock(),e.createBlock(e.unref(p.NCard),{key:s.key,size:"small",style:{"margin-bottom":"0.5rem"}},{default:e.withCtx(()=>[e.createVNode(e.unref(p.NFlex),{align:"flex-start",justify:"space-between"},{default:e.withCtx(()=>[e.createElementVNode("div",H,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.fields,v=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:v.name},[r(v)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r(v)),{key:0,field:v,"model-value":u(v),error:B(v),touched:h(v),"onUpdate:modelValue":i=>f(v,i),onBlur:i=>b(v)},null,40,["field","model-value","error","touched","onUpdate:modelValue","onBlur"])):e.createCommentVNode("",!0)],64))),128))]),e.createVNode(e.unref(p.NButton),{text:"",type:"error",size:"small",onClick:v=>e.unref(n)(s.index)},{default:e.withCtx(()=>[...l[1]||(l[1]=[e.createTextVNode("Remove",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024))),128)),e.createVNode(e.unref(p.NButton),{dashed:"",size:"small",onClick:l[0]||(l[0]=s=>e.unref(a)())},{default:e.withCtx(()=>[...l[2]||(l[2]=[e.createTextVNode("+ Add row",-1)])]),_:1})]))}}),K=e.defineComponent({__name:"NaiveFormRenderer",props:{form:{},components:{},submitLabel:{},fields:{}},emits:["submit"],setup(t,{emit:m}){const o=t,c=V.useRegistry(),r=m,d={text:g,email:g,number:N,textarea:C,select:x,checkbox:F,radio:w,date:E,file:$};function a(l){var s;return l.component?l.component:((s=o.components)==null?void 0:s[l.type])??c[l.type]??d[l.type]??null}function n(l){return S.getByPath(o.form.values.value,l.name)}function u(l,s){o.form.setField(l.name,s)}function f(l){var v;const s=o.form;(v=s.touchField)==null||v.call(s,l.name)}function b(l){return o.form.errors.value[l.name]??[]}function B(l){return o.form.touched.value[l.name]??!1}const h=e.computed(()=>(o.fields??o.form.fields.value).filter(l=>l.visible!==!1));async function k(l){l.preventDefault(),await o.form.submit(),r("submit")}return(l,s)=>{const v=e.resolveComponent("NaiveFormRenderer",!0);return e.openBlock(),e.createElementBlock("form",{novalidate:"",onSubmit:k},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,i=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i.name},[l.$slots[`field-${i.name}`]?e.renderSlot(l.$slots,`field-${i.name}`,{key:0,field:i,value:n(i),error:b(i),touched:B(i),setValue:y=>u(i,y),touch:()=>f(i)}):i.type==="group"?(e.openBlock(),e.createBlock(e.unref(p.NCard),{key:1,title:i.label,size:"small",style:{"margin-bottom":"1rem"}},{default:e.withCtx(()=>[i.fields?(e.openBlock(),e.createBlock(v,{key:0,form:t.form,fields:i.fields,components:t.components},null,8,["form","fields","components"])):e.createCommentVNode("",!0)]),_:2},1032,["title"])):i.type==="array"?(e.openBlock(),e.createBlock(D,{key:2,field:i,form:t.form,components:t.components},null,8,["field","form","components"])):a(i)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a(i)),{key:3,field:i,"model-value":n(i),error:b(i),touched:B(i),"onUpdate:modelValue":y=>u(i,y),onBlur:y=>f(i)},null,40,["field","model-value","error","touched","onUpdate:modelValue","onBlur"])):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(l.$slots,"submit",{isSubmitting:t.form.isSubmitting.value,isValid:t.form.isValid.value},()=>[e.createVNode(e.unref(p.NButton),{"attr-type":"submit",type:"primary",disabled:t.form.isSubmitting.value,style:{"margin-top":"0.5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.submitLabel??"Submit"),1)]),_:1},8,["disabled"])])],32)}}});exports.NaiveFormRenderer=K;exports.NuArrayField=D;exports.NuCheckboxField=F;exports.NuDateField=E;exports.NuFileField=$;exports.NuNumberField=N;exports.NuRadioField=w;exports.NuSelectField=x;exports.NuTextField=g;exports.NuTextareaField=C;
|