@vanstack/solid-ark 0.0.24 → 0.0.25
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../solid-ark.css";
|
|
2
2
|
import { t as e } from "../button-Br_upy12.js";
|
|
3
3
|
import { t } from "../badge-Dt0uZnmA.js";
|
|
4
|
-
import { t as n } from "../form-
|
|
4
|
+
import { t as n } from "../form-CsuVvlcC.js";
|
|
5
5
|
import { t as r } from "../table-Dl0ngdNr.js";
|
|
6
6
|
import { className as i, createComponent as a, effect as o, insert as s, memo as c, setAttribute as l, setStyleProperty as u, template as d, use as f } from "solid-js/web";
|
|
7
7
|
import { For as p, Show as m, createEffect as ee, createMemo as h, createSignal as g, mergeProps as _, on as te, onCleanup as v, onMount as y } from "solid-js";
|
package/dist/form/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { Form } from './Form';
|
|
2
|
-
export type { DatePickerStoredValue, FieldConfig, FieldControlProps, FieldRule, FieldRuleContext, FormExposed, FormInvalidSubmitProps, FormProps, FormSize, FormSubmitProps, } from './type';
|
|
2
|
+
export type { DatePickerStoredValue, FieldConfig, FieldControlProps, FieldRule, FieldRuleContext, FormExposed, FormFieldValues, FormInvalidSubmitProps, FormProps, FormSize, FormSubmitProps, } from './type';
|
package/dist/form/index.mjs
CHANGED
package/dist/form/type.d.ts
CHANGED
|
@@ -127,14 +127,25 @@ export interface FormSubmitProps<TData extends Record<string, unknown>> {
|
|
|
127
127
|
/** patch=true 时提供:patch 是否非空 */
|
|
128
128
|
changed?: boolean;
|
|
129
129
|
}
|
|
130
|
+
/** getFieldValues 的返回值:全部字段值 + (patch 开启时)变更集 */
|
|
131
|
+
export interface FormFieldValues<TData extends Record<string, unknown>> {
|
|
132
|
+
/** 当前全部字段值(与 onSubmit 的 value 内容一致,剔除 show=false 字段) */
|
|
133
|
+
values: TData;
|
|
134
|
+
/** patch=true 时提供:与初始值不同的字段集合 */
|
|
135
|
+
patch?: Partial<TData>;
|
|
136
|
+
/** patch=true 时提供:patch 是否非空 */
|
|
137
|
+
changed?: boolean;
|
|
138
|
+
}
|
|
130
139
|
/** 暴露给外部的表单实例(Form ref) */
|
|
131
140
|
export interface FormExposed<TData extends Record<string, unknown>> {
|
|
132
141
|
/** 校验全部字段(等待异步规则);返回是否全部通过,不触发提交 */
|
|
133
142
|
validate: () => Promise<boolean>;
|
|
143
|
+
/** 校验全部字段:通过返回同 getFieldValues(),未通过返回 false */
|
|
144
|
+
validateAndGetFieldValues: () => Promise<false | FormFieldValues<TData>>;
|
|
134
145
|
/** 重置表单 */
|
|
135
146
|
reset: () => void;
|
|
136
|
-
/**
|
|
137
|
-
getFieldValues: () => TData
|
|
147
|
+
/** 读取全部字段值与 patch(patch 开启时提供 patch/changed) */
|
|
148
|
+
getFieldValues: () => FormFieldValues<TData>;
|
|
138
149
|
/** 批量写入字段值(逐字段触发校验与 onValuesChange) */
|
|
139
150
|
setFieldValues: (values: Partial<TData>) => void;
|
|
140
151
|
/** 读取字段值 */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "./solid-ark.css";
|
|
2
2
|
import { Index as e, className as t, createComponent as n, delegateEvents as r, effect as i, insert as a, memo as o, setAttribute as s, style as c, template as l } from "solid-js/web";
|
|
3
|
-
import { For as u, Show as d, Suspense as f, createEffect as p, createMemo as m, createSignal as h, createUniqueId as g, lazy as _, mergeProps as
|
|
4
|
-
import { Field as
|
|
5
|
-
import { createForm as
|
|
3
|
+
import { For as u, Show as d, Suspense as f, createEffect as p, createMemo as m, createSignal as h, createUniqueId as g, lazy as _, mergeProps as ee, on as v, onCleanup as y } from "solid-js";
|
|
4
|
+
import { Field as b } from "@ark-ui/solid/field";
|
|
5
|
+
import { createForm as x } from "@tanstack/solid-form";
|
|
6
6
|
import { Checkbox as S } from "@ark-ui/solid/checkbox";
|
|
7
7
|
import { RadioGroup as C } from "@ark-ui/solid/radio-group";
|
|
8
8
|
import { Switch as w } from "@ark-ui/solid/switch";
|
|
@@ -14,8 +14,8 @@ function D() {
|
|
|
14
14
|
}
|
|
15
15
|
//#endregion
|
|
16
16
|
//#region src/form/components/FormCheckbox.tsx
|
|
17
|
-
var
|
|
18
|
-
function
|
|
17
|
+
var O = /*#__PURE__*/ l("<svg class=van-form-check-icon fill=none stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=3 viewBox=\"0 0 24 24\"><path d=\"M5 12l5 5l10 -10\">");
|
|
18
|
+
function k(e) {
|
|
19
19
|
return n(S.Root, {
|
|
20
20
|
get checked() {
|
|
21
21
|
return e.value ?? !1;
|
|
@@ -33,7 +33,7 @@ function O(e) {
|
|
|
33
33
|
return n(S.Indicator, {
|
|
34
34
|
class: "van-form-checkbox-indicator",
|
|
35
35
|
get children() {
|
|
36
|
-
return
|
|
36
|
+
return O();
|
|
37
37
|
}
|
|
38
38
|
});
|
|
39
39
|
}
|
|
@@ -51,8 +51,8 @@ function O(e) {
|
|
|
51
51
|
}
|
|
52
52
|
//#endregion
|
|
53
53
|
//#region src/form/components/FormCheckboxGroup.tsx
|
|
54
|
-
var
|
|
55
|
-
function
|
|
54
|
+
var A = /*#__PURE__*/ l("<svg class=van-form-check-icon fill=none stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=3 viewBox=\"0 0 24 24\"><path d=\"M5 12l5 5l10 -10\">");
|
|
55
|
+
function te(t) {
|
|
56
56
|
return n(S.Group, {
|
|
57
57
|
class: "van-form-checkbox-group",
|
|
58
58
|
get id() {
|
|
@@ -87,7 +87,7 @@ function A(t) {
|
|
|
87
87
|
return n(S.Indicator, {
|
|
88
88
|
class: "van-form-checkbox-indicator",
|
|
89
89
|
get children() {
|
|
90
|
-
return
|
|
90
|
+
return A();
|
|
91
91
|
}
|
|
92
92
|
});
|
|
93
93
|
}
|
|
@@ -120,7 +120,7 @@ function j(e) {
|
|
|
120
120
|
}, a = () => {
|
|
121
121
|
r !== void 0 && (clearTimeout(r), r = void 0, t() !== e.value() && e.onChange(t()));
|
|
122
122
|
};
|
|
123
|
-
return p(
|
|
123
|
+
return p(v(() => e.value(), (e) => n(e ?? ""))), y(() => clearTimeout(r)), {
|
|
124
124
|
local: t,
|
|
125
125
|
handleInput: i,
|
|
126
126
|
handleBlur: () => {
|
|
@@ -133,17 +133,17 @@ function j(e) {
|
|
|
133
133
|
}
|
|
134
134
|
//#endregion
|
|
135
135
|
//#region src/form/components/FormInput.tsx
|
|
136
|
-
var ne = /*#__PURE__*/ l("<svg fill=none height=14 stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2 viewBox=\"0 0 24 24\"width=14 xmlns=http://www.w3.org/2000/svg><path d=\"M18 6 6 18\"></path><path d=\"m6 6 12 12\">"),
|
|
137
|
-
function
|
|
136
|
+
var ne = /*#__PURE__*/ l("<svg fill=none height=14 stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2 viewBox=\"0 0 24 24\"width=14 xmlns=http://www.w3.org/2000/svg><path d=\"M18 6 6 18\"></path><path d=\"m6 6 12 12\">"), re = /*#__PURE__*/ l("<button aria-label=清空 type=button>"), M = /*#__PURE__*/ l("<div class=van-form-input-group>"), N = /*#__PURE__*/ l("<span class=\"van-form-input-addon van-form-input-addon-prefix\">"), P = /*#__PURE__*/ l("<span class=\"van-form-input-addon van-form-input-addon-suffix\">");
|
|
137
|
+
function F() {
|
|
138
138
|
return ne();
|
|
139
139
|
}
|
|
140
|
-
function
|
|
140
|
+
function I(e) {
|
|
141
141
|
let { local: r, handleInput: s, handleBlur: c, handleClear: l } = j({
|
|
142
142
|
value: () => e.value,
|
|
143
143
|
debounce: e.field.debounce,
|
|
144
144
|
onChange: e.onChange,
|
|
145
145
|
onBlur: e.onBlur
|
|
146
|
-
}), u, f = n(
|
|
146
|
+
}), u, f = n(b.Input, {
|
|
147
147
|
get autocomplete() {
|
|
148
148
|
return e.field.autocomplete;
|
|
149
149
|
},
|
|
@@ -164,11 +164,11 @@ function L(e) {
|
|
|
164
164
|
}
|
|
165
165
|
}), p = e.field.prefix !== void 0 || e.field.suffix !== void 0, m = e.field.clearable === !0;
|
|
166
166
|
return !p && !m ? f : (() => {
|
|
167
|
-
var s =
|
|
167
|
+
var s = M();
|
|
168
168
|
return a(s, (() => {
|
|
169
169
|
var t = o(() => e.field.prefix !== void 0);
|
|
170
170
|
return () => t() && (() => {
|
|
171
|
-
var t =
|
|
171
|
+
var t = N();
|
|
172
172
|
return a(t, () => e.field.prefix), t;
|
|
173
173
|
})();
|
|
174
174
|
})(), null), a(s, f, null), a(s, n(d, {
|
|
@@ -176,15 +176,15 @@ function L(e) {
|
|
|
176
176
|
return m && r() !== "";
|
|
177
177
|
},
|
|
178
178
|
get children() {
|
|
179
|
-
var r =
|
|
179
|
+
var r = re();
|
|
180
180
|
return r.$$click = () => {
|
|
181
181
|
l(), u?.focus();
|
|
182
|
-
}, a(r, n(
|
|
182
|
+
}, a(r, n(F, {})), i(() => t(r, `van-form-input-clear${e.field.suffix === void 0 ? "" : " van-form-input-clear-before-suffix"}`)), r;
|
|
183
183
|
}
|
|
184
184
|
}), null), a(s, (() => {
|
|
185
185
|
var t = o(() => e.field.suffix !== void 0);
|
|
186
186
|
return () => t() && (() => {
|
|
187
|
-
var t =
|
|
187
|
+
var t = P();
|
|
188
188
|
return a(t, () => e.field.suffix), t;
|
|
189
189
|
})();
|
|
190
190
|
})(), null), s;
|
|
@@ -193,7 +193,7 @@ function L(e) {
|
|
|
193
193
|
r(["click"]);
|
|
194
194
|
//#endregion
|
|
195
195
|
//#region src/form/components/FormRadio.tsx
|
|
196
|
-
function
|
|
196
|
+
function L(t) {
|
|
197
197
|
let r = m(() => t.field.options.map((e) => e.value));
|
|
198
198
|
return n(C.Root, {
|
|
199
199
|
class: "van-form-radio-group",
|
|
@@ -237,7 +237,7 @@ function R(t) {
|
|
|
237
237
|
}
|
|
238
238
|
//#endregion
|
|
239
239
|
//#region src/form/components/FormSwitch.tsx
|
|
240
|
-
function
|
|
240
|
+
function R(e) {
|
|
241
241
|
return n(w.Root, {
|
|
242
242
|
get checked() {
|
|
243
243
|
return e.value ?? !1;
|
|
@@ -268,14 +268,14 @@ function z(e) {
|
|
|
268
268
|
}
|
|
269
269
|
//#endregion
|
|
270
270
|
//#region src/form/components/FormTextarea.tsx
|
|
271
|
-
function
|
|
271
|
+
function z(e) {
|
|
272
272
|
let { local: t, handleInput: r, handleBlur: i } = j({
|
|
273
273
|
value: () => e.value,
|
|
274
274
|
debounce: e.field.debounce,
|
|
275
275
|
onChange: e.onChange,
|
|
276
276
|
onBlur: e.onBlur
|
|
277
277
|
});
|
|
278
|
-
return n(
|
|
278
|
+
return n(b.Textarea, {
|
|
279
279
|
class: "van-form-textarea",
|
|
280
280
|
onBlur: i,
|
|
281
281
|
onInput: (e) => r(e.currentTarget.value),
|
|
@@ -292,17 +292,17 @@ function B(e) {
|
|
|
292
292
|
}
|
|
293
293
|
//#endregion
|
|
294
294
|
//#region src/form/components/utils.ts
|
|
295
|
-
function
|
|
295
|
+
function B(e, t) {
|
|
296
296
|
return e.fieldType === t;
|
|
297
297
|
}
|
|
298
|
-
function
|
|
298
|
+
function V(e) {
|
|
299
299
|
if (e != null) return typeof e == "number" ? `${e}px` : e;
|
|
300
300
|
}
|
|
301
301
|
//#endregion
|
|
302
302
|
//#region src/form/components/FieldRenderer.tsx
|
|
303
|
-
var
|
|
304
|
-
function
|
|
305
|
-
return
|
|
303
|
+
var H = _(() => import("./FormDatePicker-Cazd9kkD.js").then((e) => ({ default: e.FormDatePicker }))), U = _(() => import("./FormSelect-BDZATc3u.js").then((e) => ({ default: e.FormSelect })));
|
|
304
|
+
function W(e) {
|
|
305
|
+
return B(e.field, "input") ? n(I, {
|
|
306
306
|
get field() {
|
|
307
307
|
return e.field;
|
|
308
308
|
},
|
|
@@ -313,7 +313,7 @@ function G(e) {
|
|
|
313
313
|
get value() {
|
|
314
314
|
return e.value;
|
|
315
315
|
}
|
|
316
|
-
}) :
|
|
316
|
+
}) : B(e.field, "textarea") ? n(z, {
|
|
317
317
|
get field() {
|
|
318
318
|
return e.field;
|
|
319
319
|
},
|
|
@@ -324,12 +324,12 @@ function G(e) {
|
|
|
324
324
|
get value() {
|
|
325
325
|
return e.value;
|
|
326
326
|
}
|
|
327
|
-
}) :
|
|
327
|
+
}) : B(e.field, "select") ? n(f, {
|
|
328
328
|
get fallback() {
|
|
329
329
|
return n(D, {});
|
|
330
330
|
},
|
|
331
331
|
get children() {
|
|
332
|
-
return n(
|
|
332
|
+
return n(U, {
|
|
333
333
|
get controlId() {
|
|
334
334
|
return e.controlId;
|
|
335
335
|
},
|
|
@@ -345,12 +345,12 @@ function G(e) {
|
|
|
345
345
|
}
|
|
346
346
|
});
|
|
347
347
|
}
|
|
348
|
-
}) :
|
|
348
|
+
}) : B(e.field, "datePicker") ? n(f, {
|
|
349
349
|
get fallback() {
|
|
350
350
|
return n(D, {});
|
|
351
351
|
},
|
|
352
352
|
get children() {
|
|
353
|
-
return n(
|
|
353
|
+
return n(H, {
|
|
354
354
|
get controlId() {
|
|
355
355
|
return e.controlId;
|
|
356
356
|
},
|
|
@@ -366,7 +366,7 @@ function G(e) {
|
|
|
366
366
|
}
|
|
367
367
|
});
|
|
368
368
|
}
|
|
369
|
-
}) :
|
|
369
|
+
}) : B(e.field, "checkbox") ? n(k, {
|
|
370
370
|
get controlId() {
|
|
371
371
|
return e.controlId;
|
|
372
372
|
},
|
|
@@ -377,7 +377,7 @@ function G(e) {
|
|
|
377
377
|
get value() {
|
|
378
378
|
return e.value;
|
|
379
379
|
}
|
|
380
|
-
}) :
|
|
380
|
+
}) : B(e.field, "switch") ? n(R, {
|
|
381
381
|
get controlId() {
|
|
382
382
|
return e.controlId;
|
|
383
383
|
},
|
|
@@ -388,7 +388,7 @@ function G(e) {
|
|
|
388
388
|
get value() {
|
|
389
389
|
return e.value;
|
|
390
390
|
}
|
|
391
|
-
}) :
|
|
391
|
+
}) : B(e.field, "radio") ? n(L, {
|
|
392
392
|
get controlId() {
|
|
393
393
|
return e.controlId;
|
|
394
394
|
},
|
|
@@ -399,7 +399,7 @@ function G(e) {
|
|
|
399
399
|
get value() {
|
|
400
400
|
return e.value;
|
|
401
401
|
}
|
|
402
|
-
}) :
|
|
402
|
+
}) : B(e.field, "checkbox-group") ? n(te, {
|
|
403
403
|
get controlId() {
|
|
404
404
|
return e.controlId;
|
|
405
405
|
},
|
|
@@ -414,29 +414,29 @@ function G(e) {
|
|
|
414
414
|
}
|
|
415
415
|
//#endregion
|
|
416
416
|
//#region src/form/patch.ts
|
|
417
|
+
function G(e) {
|
|
418
|
+
return q(e) || e === "" ? void 0 : Number(e);
|
|
419
|
+
}
|
|
417
420
|
function K(e) {
|
|
418
|
-
return
|
|
421
|
+
return q(e) || e === "" ? 0 : Number(e);
|
|
419
422
|
}
|
|
420
423
|
function q(e) {
|
|
421
|
-
return J(e) || e === "" ? 0 : Number(e);
|
|
422
|
-
}
|
|
423
|
-
function J(e) {
|
|
424
424
|
return e == null;
|
|
425
425
|
}
|
|
426
|
-
function
|
|
426
|
+
function J(e) {
|
|
427
427
|
return Array.isArray(e) ? [...e].sort() : [];
|
|
428
428
|
}
|
|
429
|
-
function
|
|
429
|
+
function Y(e) {
|
|
430
430
|
return e && typeof e == "object" && !Array.isArray(e) ? e : {};
|
|
431
431
|
}
|
|
432
|
-
function
|
|
432
|
+
function X(e) {
|
|
433
433
|
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
434
434
|
}
|
|
435
|
-
function
|
|
435
|
+
function ie(e, t, n) {
|
|
436
436
|
let r = {};
|
|
437
437
|
for (let i of n) {
|
|
438
438
|
let { name: n, valueType: a } = i, o = e[n], s = t[n], c;
|
|
439
|
-
c = a === "number" ? T(
|
|
439
|
+
c = a === "number" ? T(G(o), G(s)) : Array.isArray(o) || Array.isArray(s) ? T(J(o), J(s)) : X(o) || X(s) ? T(Y(o), Y(s)) : T(q(o) ? "" : o, q(s) ? "" : s), c || (r[n] = a === "number" ? K(s) : s);
|
|
440
440
|
}
|
|
441
441
|
return {
|
|
442
442
|
patch: r,
|
|
@@ -445,11 +445,11 @@ function re(e, t, n) {
|
|
|
445
445
|
}
|
|
446
446
|
//#endregion
|
|
447
447
|
//#region src/form/Form.tsx
|
|
448
|
-
var
|
|
449
|
-
function
|
|
448
|
+
var ae = /*#__PURE__*/ l("<form>"), oe = /*#__PURE__*/ l("<div class=van-form-field>");
|
|
449
|
+
function Z(e) {
|
|
450
450
|
return typeof e == "string" ? e : e && typeof e == "object" && "message" in e ? String(e.message) : String(e);
|
|
451
451
|
}
|
|
452
|
-
function
|
|
452
|
+
function se(e) {
|
|
453
453
|
let t = e.rule;
|
|
454
454
|
if (t) return {
|
|
455
455
|
onChange: typeof t == "function" ? (e) => t({
|
|
@@ -459,34 +459,43 @@ function oe(e) {
|
|
|
459
459
|
...e.validateListenTo?.length ? { onChangeListenTo: e.validateListenTo } : {}
|
|
460
460
|
};
|
|
461
461
|
}
|
|
462
|
-
function
|
|
462
|
+
function Q(e, t) {
|
|
463
463
|
return typeof e.show == "function" ? e.show(t) : e.show !== !1;
|
|
464
464
|
}
|
|
465
|
-
function
|
|
466
|
-
let n = new Set(t.filter((t) =>
|
|
465
|
+
function ce(e, t) {
|
|
466
|
+
let n = new Set(t.filter((t) => !Q(t, e)).map((e) => e.name));
|
|
467
467
|
return Object.fromEntries(Object.entries(e).filter(([e]) => !n.has(e)));
|
|
468
468
|
}
|
|
469
|
-
function
|
|
470
|
-
|
|
469
|
+
function le(e, t) {
|
|
470
|
+
return e.filter((e) => Q(e, t));
|
|
471
|
+
}
|
|
472
|
+
function $(e) {
|
|
473
|
+
let r = ee({ values: {} }, e), l = r.values, f = g(), h = (e) => `${f}-${e}`, _ = (e) => {
|
|
474
|
+
let t = ce(e, r.fields);
|
|
475
|
+
if (r.patch) {
|
|
476
|
+
let { patch: n, changed: i } = ie(l, t, le(r.fields, e));
|
|
477
|
+
return {
|
|
478
|
+
values: t,
|
|
479
|
+
patch: n,
|
|
480
|
+
changed: i
|
|
481
|
+
};
|
|
482
|
+
}
|
|
483
|
+
return { values: t };
|
|
484
|
+
}, y = x(() => ({
|
|
471
485
|
defaultValues: l,
|
|
472
486
|
onSubmit: async ({ value: e }) => {
|
|
473
|
-
let
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
changed: i
|
|
480
|
-
});
|
|
481
|
-
return;
|
|
482
|
-
}
|
|
483
|
-
await r.onSubmit?.({ value: n });
|
|
487
|
+
let { values: t, patch: n, changed: i } = _(e);
|
|
488
|
+
await r.onSubmit?.(n === void 0 ? { value: t } : {
|
|
489
|
+
value: t,
|
|
490
|
+
patch: n,
|
|
491
|
+
changed: i
|
|
492
|
+
});
|
|
484
493
|
},
|
|
485
494
|
onSubmitInvalid: ({ value: e, formApi: t }) => {
|
|
486
495
|
if (!r.onSubmitInvalid) return;
|
|
487
496
|
let n = {}, i = t.state.fieldMeta;
|
|
488
497
|
for (let [e, t] of Object.entries(i)) {
|
|
489
|
-
let r = (t?.errors ?? []).map(
|
|
498
|
+
let r = (t?.errors ?? []).map(Z).filter(Boolean);
|
|
490
499
|
r.length > 0 && (n[e] = r);
|
|
491
500
|
}
|
|
492
501
|
r.onSubmitInvalid({
|
|
@@ -496,37 +505,38 @@ function ce(e) {
|
|
|
496
505
|
}
|
|
497
506
|
}));
|
|
498
507
|
r.ref?.({
|
|
499
|
-
validate: async () => (await
|
|
500
|
-
|
|
501
|
-
|
|
508
|
+
validate: async () => (await y.validateAllFields("change"), y.state.canSubmit),
|
|
509
|
+
validateAndGetFieldValues: async () => (await y.validateAllFields("change"), y.state.canSubmit ? _(y.state.values) : !1),
|
|
510
|
+
reset: () => y.reset(),
|
|
511
|
+
getFieldValues: () => _(y.state.values),
|
|
502
512
|
setFieldValues: (e) => {
|
|
503
|
-
for (let [t, n] of Object.entries(e))
|
|
513
|
+
for (let [t, n] of Object.entries(e)) y.setFieldValue(t, n);
|
|
504
514
|
},
|
|
505
|
-
getFieldValue: (e) =>
|
|
506
|
-
setFieldValue: (e, t) =>
|
|
515
|
+
getFieldValue: (e) => y.getFieldValue(e),
|
|
516
|
+
setFieldValue: (e, t) => y.setFieldValue(e, t)
|
|
507
517
|
});
|
|
508
|
-
let
|
|
509
|
-
return p(
|
|
510
|
-
for (let [t, n] of Object.entries(e ?? {}))
|
|
511
|
-
}, { defer: !0 })), p(
|
|
512
|
-
var e =
|
|
518
|
+
let S = y.useStore((e) => e.values), C = m(() => r.fields.filter((e) => !e.hidden && Q(e, S()))), w = y.useStore((e) => e.isSubmitting), T = y.useStore((e) => e.values), E = y.setFieldValue;
|
|
519
|
+
return p(v(() => r.values, (e) => {
|
|
520
|
+
for (let [t, n] of Object.entries(e ?? {})) y.state.values[t] !== n && E(t, n);
|
|
521
|
+
}, { defer: !0 })), p(v(T, (e) => r.onValuesChange?.(e), { defer: !0 })), (() => {
|
|
522
|
+
var e = ae();
|
|
513
523
|
return e.addEventListener("submit", (e) => {
|
|
514
|
-
e.preventDefault(), e.stopPropagation(),
|
|
524
|
+
e.preventDefault(), e.stopPropagation(), y.handleSubmit();
|
|
515
525
|
}), a(e, n(u, {
|
|
516
526
|
get each() {
|
|
517
|
-
return
|
|
527
|
+
return C();
|
|
518
528
|
},
|
|
519
|
-
children: (e) => n(
|
|
529
|
+
children: (e) => n(y.Field, {
|
|
520
530
|
get name() {
|
|
521
531
|
return e.name;
|
|
522
532
|
},
|
|
523
533
|
get validators() {
|
|
524
|
-
return
|
|
534
|
+
return se(e);
|
|
525
535
|
},
|
|
526
536
|
children: (t) => {
|
|
527
|
-
let r = t(), s = m(() => (t().state.meta.errors ?? []).map(
|
|
537
|
+
let r = t(), s = m(() => (t().state.meta.errors ?? []).map(Z).filter(Boolean)), l = m(() => t().state.value), f = V(e.fieldWidth), p = f ? { width: f } : void 0;
|
|
528
538
|
return e.control ? (() => {
|
|
529
|
-
var t =
|
|
539
|
+
var t = oe();
|
|
530
540
|
return a(t, () => e.control({
|
|
531
541
|
value: l,
|
|
532
542
|
onChange: (e) => r.handleChange(e),
|
|
@@ -534,7 +544,7 @@ function ce(e) {
|
|
|
534
544
|
error: s,
|
|
535
545
|
id: h(e.name)
|
|
536
546
|
})), i((e) => c(t, p, e)), t;
|
|
537
|
-
})() : n(
|
|
547
|
+
})() : n(b.Root, {
|
|
538
548
|
class: "van-form-field",
|
|
539
549
|
get id() {
|
|
540
550
|
return h(e.name);
|
|
@@ -550,12 +560,12 @@ function ce(e) {
|
|
|
550
560
|
return o(() => !!(e.label && e.fieldType !== "checkbox" && e.fieldType !== "checkbox-group"))() && e.fieldType !== "switch";
|
|
551
561
|
},
|
|
552
562
|
get children() {
|
|
553
|
-
return o(() => !!e.renderLabel)() ? n(
|
|
563
|
+
return o(() => !!e.renderLabel)() ? n(b.Label, {
|
|
554
564
|
class: "van-form-label",
|
|
555
565
|
get children() {
|
|
556
566
|
return e.renderLabel(e.label);
|
|
557
567
|
}
|
|
558
|
-
}) : n(
|
|
568
|
+
}) : n(b.Label, {
|
|
559
569
|
class: "van-form-label",
|
|
560
570
|
get children() {
|
|
561
571
|
return e.label;
|
|
@@ -563,7 +573,7 @@ function ce(e) {
|
|
|
563
573
|
});
|
|
564
574
|
}
|
|
565
575
|
}),
|
|
566
|
-
n(
|
|
576
|
+
n(W, {
|
|
567
577
|
get controlId() {
|
|
568
578
|
return h(e.name);
|
|
569
579
|
},
|
|
@@ -579,7 +589,7 @@ function ce(e) {
|
|
|
579
589
|
return e.helperText;
|
|
580
590
|
},
|
|
581
591
|
get children() {
|
|
582
|
-
return n(
|
|
592
|
+
return n(b.HelperText, {
|
|
583
593
|
class: "van-form-helper",
|
|
584
594
|
get children() {
|
|
585
595
|
return e.helperText;
|
|
@@ -592,7 +602,7 @@ function ce(e) {
|
|
|
592
602
|
return s().length > 0;
|
|
593
603
|
},
|
|
594
604
|
get children() {
|
|
595
|
-
return o(() => !!e.renderError)() ? n(
|
|
605
|
+
return o(() => !!e.renderError)() ? n(b.ErrorText, {
|
|
596
606
|
class: "van-form-error",
|
|
597
607
|
get children() {
|
|
598
608
|
return e.renderError(s());
|
|
@@ -601,7 +611,7 @@ function ce(e) {
|
|
|
601
611
|
get each() {
|
|
602
612
|
return s();
|
|
603
613
|
},
|
|
604
|
-
children: (e) => n(
|
|
614
|
+
children: (e) => n(b.ErrorText, {
|
|
605
615
|
class: "van-form-error",
|
|
606
616
|
children: e
|
|
607
617
|
})
|
|
@@ -613,7 +623,7 @@ function ce(e) {
|
|
|
613
623
|
});
|
|
614
624
|
}
|
|
615
625
|
})
|
|
616
|
-
}), null), a(e, () => r.children?.({ isSubmitting:
|
|
626
|
+
}), null), a(e, () => r.children?.({ isSubmitting: w() }), null), i((n) => {
|
|
617
627
|
var i = `van-form-form ${r.className ?? ""}`, a = r.size ?? "default";
|
|
618
628
|
return i !== n.e && t(e, n.e = i), a !== n.t && s(e, "data-size", n.t = a), n;
|
|
619
629
|
}, {
|
|
@@ -623,4 +633,4 @@ function ce(e) {
|
|
|
623
633
|
})();
|
|
624
634
|
}
|
|
625
635
|
//#endregion
|
|
626
|
-
export {
|
|
636
|
+
export { $ as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vanstack/solid-ark",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.25",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -71,10 +71,10 @@
|
|
|
71
71
|
"vite-plugin-solid": "^2.11.0",
|
|
72
72
|
"vitest": "^4.1.10",
|
|
73
73
|
"zod": "^4.4.0",
|
|
74
|
-
"@vanstack/
|
|
75
|
-
"@vanstack/tsconfig": "0.0.1",
|
|
74
|
+
"@vanstack/eslint-config": "0.0.1",
|
|
76
75
|
"@vanstack/prettier-config": "0.0.1",
|
|
77
|
-
"@vanstack/
|
|
76
|
+
"@vanstack/vite-config": "0.0.2",
|
|
77
|
+
"@vanstack/tsconfig": "0.0.1"
|
|
78
78
|
},
|
|
79
79
|
"scripts": {
|
|
80
80
|
"build": "tsc --noEmit && vite build",
|