@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.
Files changed (105) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +461 -180
  3. package/dist/MaskEngine-BEXwX4BK.js +144 -0
  4. package/dist/MaskEngine-CPr-fSPy.cjs +1 -0
  5. package/dist/ValidationEngine-BC4U1ef1.js +135 -0
  6. package/dist/ValidationEngine-Diz-qTFs.cjs +1 -0
  7. package/dist/_plugin-vue_export-helper-BHFhmbuH.cjs +1 -0
  8. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  9. package/dist/core/ConditionEvaluator.d.ts.map +1 -1
  10. package/dist/core/MaskEngine.d.ts.map +1 -1
  11. package/dist/core/ValidationEngine.d.ts +13 -0
  12. package/dist/core/ValidationEngine.d.ts.map +1 -1
  13. package/dist/core/formRegistry.d.ts +33 -0
  14. package/dist/core/formRegistry.d.ts.map +1 -0
  15. package/dist/core/inferTypes.d.ts.map +1 -1
  16. package/dist/core/schemaUtils.d.ts +38 -0
  17. package/dist/core/schemaUtils.d.ts.map +1 -1
  18. package/dist/core/serverErrors.d.ts +69 -0
  19. package/dist/core/serverErrors.d.ts.map +1 -0
  20. package/dist/core/types.d.ts +22 -2
  21. package/dist/core/types.d.ts.map +1 -1
  22. package/dist/core/useForm.d.ts +4 -1
  23. package/dist/core/useForm.d.ts.map +1 -1
  24. package/dist/core/useMultiStepForm.d.ts.map +1 -1
  25. package/dist/devtools/index.d.ts +26 -0
  26. package/dist/devtools/index.d.ts.map +1 -0
  27. package/dist/devtools.cjs +1 -0
  28. package/dist/devtools.d.ts +6 -0
  29. package/dist/devtools.js +93 -0
  30. package/dist/formRegistry-Bv1eaWQ-.js +31 -0
  31. package/dist/formRegistry-DaDmXyYY.cjs +1 -0
  32. package/dist/index.cjs +1 -1
  33. package/dist/index.d.ts +5 -3
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +392 -359
  36. package/dist/openapi.cjs +1 -0
  37. package/dist/openapi.d.ts +202 -0
  38. package/dist/openapi.js +118 -0
  39. package/dist/parsers/json.d.ts.map +1 -1
  40. package/dist/parsers/openapi.d.ts +139 -0
  41. package/dist/parsers/openapi.d.ts.map +1 -0
  42. package/dist/parsers/valibot.d.ts +13 -4
  43. package/dist/parsers/valibot.d.ts.map +1 -1
  44. package/dist/parsers/yup.d.ts +10 -4
  45. package/dist/parsers/yup.d.ts.map +1 -1
  46. package/dist/parsers/zod.d.ts +18 -4
  47. package/dist/parsers/zod.d.ts.map +1 -1
  48. package/dist/schemaUtils-Cc7CwGXB.cjs +1 -0
  49. package/dist/schemaUtils-Cvlsk24U.js +337 -0
  50. package/dist/style.css +1 -0
  51. package/dist/ui/index.d.ts +1 -0
  52. package/dist/ui/index.d.ts.map +1 -1
  53. package/dist/ui/naive/index.d.ts +11 -0
  54. package/dist/ui/naive/index.d.ts.map +1 -0
  55. package/dist/ui/primevue/index.d.ts +11 -0
  56. package/dist/ui/primevue/index.d.ts.map +1 -0
  57. package/dist/ui/shadcn/index.d.ts +11 -0
  58. package/dist/ui/shadcn/index.d.ts.map +1 -0
  59. package/dist/ui/tailwind/index.d.ts +11 -0
  60. package/dist/ui/tailwind/index.d.ts.map +1 -0
  61. package/dist/ui-naive.cjs +1 -0
  62. package/dist/ui-naive.d.ts +411 -0
  63. package/dist/ui-naive.js +667 -0
  64. package/dist/ui-primevue.cjs +1 -0
  65. package/dist/ui-primevue.d.ts +411 -0
  66. package/dist/ui-primevue.js +651 -0
  67. package/dist/ui-shadcn.cjs +1 -0
  68. package/dist/ui-shadcn.d.ts +411 -0
  69. package/dist/ui-shadcn.js +650 -0
  70. package/dist/ui-tailwind.cjs +1 -0
  71. package/dist/ui-tailwind.d.ts +411 -0
  72. package/dist/ui-tailwind.js +669 -0
  73. package/dist/ui.cjs +1 -1
  74. package/dist/ui.d.ts +61 -10
  75. package/dist/ui.js +434 -299
  76. package/dist/valibot.cjs +1 -1
  77. package/dist/valibot.d.ts +35 -4
  78. package/dist/valibot.js +47 -20
  79. package/dist/yup.cjs +1 -1
  80. package/dist/yup.d.ts +33 -5
  81. package/dist/yup.js +16 -15
  82. package/dist/zod.cjs +1 -1
  83. package/dist/zod.d.ts +41 -5
  84. package/dist/zod.js +58 -28
  85. package/package.json +99 -25
  86. package/dist/MaskEngine-BqJQYybS.js +0 -233
  87. package/dist/MaskEngine-BwAs2Zb0.cjs +0 -1
  88. package/dist/__tests__/ConditionEvaluator.test.d.ts +0 -2
  89. package/dist/__tests__/ConditionEvaluator.test.d.ts.map +0 -1
  90. package/dist/__tests__/MaskEngine.test.d.ts +0 -2
  91. package/dist/__tests__/MaskEngine.test.d.ts.map +0 -1
  92. package/dist/__tests__/ValidationEngine.test.d.ts +0 -2
  93. package/dist/__tests__/ValidationEngine.test.d.ts.map +0 -1
  94. package/dist/__tests__/parsers.test.d.ts +0 -2
  95. package/dist/__tests__/parsers.test.d.ts.map +0 -1
  96. package/dist/__tests__/phase3.test.d.ts +0 -2
  97. package/dist/__tests__/phase3.test.d.ts.map +0 -1
  98. package/dist/__tests__/phase4.test.d.ts +0 -2
  99. package/dist/__tests__/phase4.test.d.ts.map +0 -1
  100. package/dist/__tests__/useFieldArray.test.d.ts +0 -2
  101. package/dist/__tests__/useFieldArray.test.d.ts.map +0 -1
  102. package/dist/__tests__/useForm.test.d.ts +0 -2
  103. package/dist/__tests__/useForm.test.d.ts.map +0 -1
  104. package/dist/__tests__/useMultiStepForm.test.d.ts +0 -2
  105. 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}
@@ -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
@@ -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;