@paragrav/rhf-utils 0.0.66 → 0.0.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client/zod/index.mjs +5 -4
- package/dist/esm/errors/context/provider.mjs +5 -5
- package/dist/esm/errors/flat/filterFlatFieldErrors.mjs +10 -0
- package/dist/esm/errors/flat/useFormFlatFieldErrorsMemo.mjs +6 -0
- package/dist/esm/errors/isFieldErrorRefd.mjs +4 -0
- package/dist/esm/errors/nonfield/FormNonFieldErrorMarker.utils.mjs +2 -2
- package/dist/esm/errors/orphan/getIsOrphanFormErrorWithParentElement.mjs +5 -0
- package/dist/esm/errors/orphan/getOrphansFromFieldErrors.mjs +3 -6
- package/dist/esm/errors/orphan/getOrphansFromFlatFieldErrors.mjs +6 -7
- package/dist/esm/errors/orphan/isOrphanFormError.mjs +6 -6
- package/dist/esm/errors/orphan/useFormHasOnlyOrphanFieldErrorsMemo.mjs +10 -0
- package/dist/esm/errors/orphan/useOrphanFormErrorsMemo.mjs +6 -6
- package/dist/esm/errors/root/getRootsFromFieldErrors.mjs +3 -6
- package/dist/esm/errors/root/getRootsFromFlatFieldErrors.mjs +5 -4
- package/dist/esm/errors/root/isFlatFieldErrorEntryPathRoot.mjs +5 -0
- package/dist/esm/errors/root/useRootFormFieldErrorsMemo.mjs +1 -1
- package/dist/esm/errors/{useFormErrorsMemo.mjs → useFormErrorsTransformMemo.mjs} +4 -1
- package/dist/esm/exports.mjs +16 -16
- package/dist/esm/form/_Form.mjs +47 -46
- package/dist/esm/form/useForm.mjs +11 -9
- package/dist/types/client/config.d.ts +37 -0
- package/dist/types/{src/client → client}/index.d.ts +0 -1
- package/dist/types/errors/flat/filterFlatFieldErrors.d.ts +9 -0
- package/dist/types/{src/errors → errors}/flat/types.d.ts +4 -0
- package/dist/types/errors/flat/useFormFlatFieldErrorsMemo.d.ts +7 -0
- package/dist/types/{src/errors → errors}/flat/useRefdFieldErrorsMemo.d.ts +1 -1
- package/dist/types/errors/isFieldErrorRefd.d.ts +7 -0
- package/dist/types/errors/isFlatFieldErrorEntryRefd.d.ts +7 -0
- package/dist/types/errors/nonfield/FormNonFieldErrorMarker.utils.d.ts +2 -0
- package/dist/types/errors/orphan/getIsOrphanFormErrorWithParentElement.d.ts +7 -0
- package/dist/types/errors/orphan/useFormHasOnlyOrphanFieldErrorsMemo.d.ts +6 -0
- package/dist/types/errors/root/getRootsFromFlatFieldErrors.d.ts +2 -0
- package/dist/types/errors/root/isFlatFieldErrorEntryPathRoot.d.ts +7 -0
- package/dist/types/{src/errors → errors}/root/isFormErrorPathRoot.d.ts +1 -0
- package/dist/types/errors/useFormErrorsTransformMemo.d.ts +7 -0
- package/dist/types/{src/exports.d.ts → exports.d.ts} +2 -2
- package/dist/types/{src/form → form}/_Form.d.ts +2 -2
- package/dist/types/{src/form → form}/useForm.d.ts +3 -1
- package/dist/types/{src/form → form}/useFormOptions.d.ts +0 -14
- package/package.json +78 -153
- package/dist/esm/errors/flat/useRefdFieldErrorsMemo.mjs +0 -13
- package/dist/esm/errors/isFieldError.mjs +0 -4
- package/dist/esm/errors/orphan/useFormHasOrphanAndNoFieldErrors.mjs +0 -10
- package/dist/esm/node_modules/@hookform/resolvers/zod/dist/zod.mjs +0 -49
- package/dist/types/src/client/config.d.ts +0 -19
- package/dist/types/src/errors/flat/useFormFlatFieldErrorsMemo.d.ts +0 -5
- package/dist/types/src/errors/nonfield/FormNonFieldErrorMarker.utils.d.ts +0 -2
- package/dist/types/src/errors/root/getRootsFromFlatFieldErrors.d.ts +0 -4
- /package/dist/types/{src/client → client}/context.d.ts +0 -0
- /package/dist/types/{src/client → client}/zod/context/index.d.ts +0 -0
- /package/dist/types/{src/client → client}/zod/context/provider.d.ts +0 -0
- /package/dist/types/{src/client → client}/zod/index.d.ts +0 -0
- /package/dist/types/{src/devtool → devtool}/LazyDevTool.d.ts +0 -0
- /package/dist/types/{src/env-conditions → env-conditions}/development.d.ts +0 -0
- /package/dist/types/{src/env-conditions → env-conditions}/production.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/consoleErrors.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/context/index.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/context/provider.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/flat/flattenFieldErrors.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/flat/getFlatFieldErrors.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/isFieldError.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/message/FormErrorMessage.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/message/FormErrorMessageByPath.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/nonfield/FormNonFieldErrorMarker.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/nonfield/FormNonFieldErrorMarker.spec.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/nonfield/FormNonFieldErrorMarkerHtmlAttribute.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/nonfield/isNonFieldError.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/orphan/getOrphansFromFieldErrors.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/orphan/getOrphansFromFlatFieldErrors.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/orphan/isOrphanFormError.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/orphan/useFormHasOrphanAndNoFieldErrors.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/orphan/useOrphanFormErrorsMemo.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/orphan/useOrphanFormErrorsToConsole.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/outputErrors.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/root/FormRootErrors.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/root/FormRootErrorsFromContext.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/root/consts.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/root/getRootsFromFieldErrors.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/root/useRootFormFieldErrorsMemo.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/useFormErrorConsoleDebug.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/useFormErrorsEffect.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/useFormErrorsIfAny.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/useFormErrorsMemo.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/useFormErrorsToConsole.d.ts +0 -0
- /package/dist/types/{src/errors → errors}/useFormRequestSubmit.d.ts +0 -0
- /package/dist/types/{src/form → form}/FormWithProviders.d.ts +0 -0
- /package/dist/types/{src/form → form}/SafeFieldValues.d.ts +0 -0
- /package/dist/types/{src/form → form}/_FormBase.d.ts +0 -0
- /package/dist/types/{src/form → form}/_FormProviders.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/group/FormGroupContextProvider.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/group/index.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/group/useFormGroupChildIsMountedTracker.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/group/useFormGroupChildIsSubmittingTracker.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/group/useFormGroupChildTracker.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/group/useFormGroupIsAnyBusy.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/group/useFormGroupIsChildBusy.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/group/useFormGroupIsParentBusy.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/group/useFormGroupParentTracker.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/group/useFormOrParentIsBusy.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/utils/FormUtilsContextProvider.d.ts +0 -0
- /package/dist/types/{src/form → form}/context/utils/useFormUtilsContext.d.ts +0 -0
- /package/dist/types/{src/form → form}/useFormIsBusy.d.ts +0 -0
- /package/dist/types/{src/form → form}/utils/getSubmitterButtonData.d.ts +0 -0
- /package/dist/types/{src/main.d.ts → main.d.ts} +0 -0
- /package/dist/types/{src/submit → submit}/error/FormSubmitError.d.ts +0 -0
- /package/dist/types/{src/submit → submit}/error/setCtxErrorsByFormSubmitError.d.ts +0 -0
- /package/dist/types/{src/submit → submit}/useFormOnSubmitSuccessful.d.ts +0 -0
- /package/dist/types/{src/submit → submit}/useFormOnSubmitSuccessfulAndReset.d.ts +0 -0
- /package/dist/types/{src/submit → submit}/useResetFormOnSubmitError.d.ts +0 -0
- /package/dist/types/{src/submit → submit}/useResetFormOnSubmitSuccessful.d.ts +0 -0
- /package/dist/types/{src/submit → submit}/useSubmitFormOnChange.d.ts +0 -0
- /package/dist/types/{src/utils → utils}/createContext.d.ts +0 -0
- /package/dist/types/{src/utils → utils}/fixedForwardRef.d.ts +0 -0
- /package/dist/types/{src/utils → utils}/isEmptyObject.d.ts +0 -0
- /package/dist/types/{src/utils → utils}/useImperativeForwardedRef.d.ts +0 -0
- /package/dist/types/{src/utils → utils}/useThrowAsyncError.d.ts +0 -0
- /package/dist/types/{src/utils → utils}/useToggle.d.ts +0 -0
|
@@ -7,7 +7,6 @@ const p = (t) => (r) => {
|
|
|
7
7
|
r
|
|
8
8
|
);
|
|
9
9
|
return {
|
|
10
|
-
config: r,
|
|
11
10
|
useForm: (o, s) => F(
|
|
12
11
|
e(o, s)
|
|
13
12
|
),
|
|
@@ -30,6 +29,7 @@ const p = (t) => (r) => {
|
|
|
30
29
|
var s, m, i, n, f, a, h;
|
|
31
30
|
return {
|
|
32
31
|
...o,
|
|
32
|
+
config: r,
|
|
33
33
|
rhf: {
|
|
34
34
|
...(s = r.defaultOptions) == null ? void 0 : s.rhf,
|
|
35
35
|
...o.rhf,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { zodResolver as t } from "
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import { zodResolver as t } from "@hookform/resolvers/zod";
|
|
2
|
+
import "zod";
|
|
3
|
+
import { createRhfUtilsClient as o } from "../index.mjs";
|
|
4
|
+
const l = o(t);
|
|
4
5
|
export {
|
|
5
|
-
|
|
6
|
+
l as createZodRhfUtilsClient
|
|
6
7
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as F } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import p from "../
|
|
2
|
+
import a from "../flat/getFlatFieldErrors.mjs";
|
|
3
|
+
import i from "../orphan/getOrphansFromFlatFieldErrors.mjs";
|
|
4
|
+
import l from "../root/getRootsFromFlatFieldErrors.mjs";
|
|
5
|
+
import p from "../useFormErrorsTransformMemo.mjs";
|
|
6
6
|
import { _FormErrorsFlatContextProvider as c } from "./index.mjs";
|
|
7
7
|
const u = ({
|
|
8
8
|
formRef: o,
|
|
@@ -11,7 +11,7 @@ const u = ({
|
|
|
11
11
|
const e = p((s) => {
|
|
12
12
|
if (!o.current)
|
|
13
13
|
return;
|
|
14
|
-
const r =
|
|
14
|
+
const r = a(s), m = l(r), n = i(r, o.current);
|
|
15
15
|
return { all: r, roots: m, orphans: n };
|
|
16
16
|
});
|
|
17
17
|
return /* @__PURE__ */ F(c, { value: e, children: t });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import o from "./FormNonFieldErrorMarkerHtmlAttribute.mjs";
|
|
2
|
-
const t = (r) => `[role="alert"][${o}="${r}"]`,
|
|
2
|
+
const t = (r) => `[role="alert"][${o}="${r}"]`, i = (r, e) => !!e.querySelector(t(r));
|
|
3
3
|
export {
|
|
4
4
|
t as getFormNonFieldErrorMarkerQuerySelector,
|
|
5
|
-
|
|
5
|
+
i as isNonFieldErrorMarkerInDOM
|
|
6
6
|
};
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
const a = (r, o) =>
|
|
4
|
-
const t = e(r);
|
|
5
|
-
return s(t, o);
|
|
6
|
-
};
|
|
1
|
+
import t from "../flat/getFlatFieldErrors.mjs";
|
|
2
|
+
import e from "./getOrphansFromFlatFieldErrors.mjs";
|
|
3
|
+
const a = (r, o) => e(t(r), o);
|
|
7
4
|
export {
|
|
8
5
|
a as default
|
|
9
6
|
};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
);
|
|
1
|
+
import e from "../flat/filterFlatFieldErrors.mjs";
|
|
2
|
+
import o from "./getIsOrphanFormErrorWithParentElement.mjs";
|
|
3
|
+
const F = (r, t) => e(
|
|
4
|
+
o(t)
|
|
5
|
+
)(r);
|
|
7
6
|
export {
|
|
8
|
-
|
|
7
|
+
F as default
|
|
9
8
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import m from "../
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
const
|
|
1
|
+
import m from "../isFieldErrorRefd.mjs";
|
|
2
|
+
import { isNonFieldErrorMarkerInDOM as t } from "../nonfield/FormNonFieldErrorMarker.utils.mjs";
|
|
3
|
+
import e from "../root/isFormErrorPathRoot.mjs";
|
|
4
|
+
const d = (r, o, i) => (
|
|
5
5
|
// not root path
|
|
6
|
-
!
|
|
6
|
+
!e(r) && // non-field
|
|
7
7
|
!m(o) && // does not have marker
|
|
8
8
|
!t(r, i)
|
|
9
9
|
);
|
|
10
10
|
export {
|
|
11
|
-
|
|
11
|
+
d as default
|
|
12
12
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import s from "../../utils/isEmptyObject.mjs";
|
|
2
|
+
import t from "../flat/useFormFlatFieldErrorsMemo.mjs";
|
|
3
|
+
import m from "./useOrphanFormErrorsMemo.mjs";
|
|
4
|
+
const n = (o) => {
|
|
5
|
+
const e = t(), r = m(o);
|
|
6
|
+
return s(r) ? !1 : Object.keys(e).length !== Object.keys(r).length;
|
|
7
|
+
}, i = n;
|
|
8
|
+
export {
|
|
9
|
+
i as default
|
|
10
|
+
};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import "react";
|
|
2
2
|
import t from "../../utils/isEmptyObject.mjs";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
const s = (r) =>
|
|
3
|
+
import m from "../useFormErrorsTransformMemo.mjs";
|
|
4
|
+
import e from "./getOrphansFromFieldErrors.mjs";
|
|
5
|
+
const s = (r) => m((o) => {
|
|
6
6
|
if (t(o))
|
|
7
7
|
return {};
|
|
8
8
|
if (!r.current)
|
|
9
9
|
throw new Error();
|
|
10
|
-
return
|
|
11
|
-
}),
|
|
10
|
+
return e(o, r.current);
|
|
11
|
+
}), a = s;
|
|
12
12
|
export {
|
|
13
|
-
|
|
13
|
+
a as default
|
|
14
14
|
};
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
const F = (r) =>
|
|
4
|
-
const o = t(r);
|
|
5
|
-
return e(o);
|
|
6
|
-
};
|
|
1
|
+
import o from "../flat/getFlatFieldErrors.mjs";
|
|
2
|
+
import t from "./getRootsFromFlatFieldErrors.mjs";
|
|
3
|
+
const F = (r) => t(o(r));
|
|
7
4
|
export {
|
|
8
5
|
F as default
|
|
9
6
|
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import r from "../flat/filterFlatFieldErrors.mjs";
|
|
2
|
+
import o from "./isFlatFieldErrorEntryPathRoot.mjs";
|
|
3
|
+
const l = r(
|
|
4
|
+
o
|
|
4
5
|
);
|
|
5
6
|
export {
|
|
6
|
-
|
|
7
|
+
l as default
|
|
7
8
|
};
|
package/dist/esm/exports.mjs
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { createZodRhfUtilsClient as e } from "./client/zod/index.mjs";
|
|
2
2
|
import { default as s } from "./client/zod/context/index.mjs";
|
|
3
3
|
import { default as u } from "./client/zod/context/provider.mjs";
|
|
4
|
-
import { default as
|
|
4
|
+
import { default as f } from "./devtool/LazyDevTool.mjs";
|
|
5
5
|
import { default as d } from "./errors/context/index.mjs";
|
|
6
6
|
import { default as x } from "./errors/context/provider.mjs";
|
|
7
7
|
import { default as n } from "./errors/message/FormErrorMessage.mjs";
|
|
8
8
|
import { default as E } from "./errors/message/FormErrorMessageByPath.mjs";
|
|
9
9
|
import { default as c } from "./errors/nonfield/FormNonFieldErrorMarker.mjs";
|
|
10
10
|
import { default as S } from "./errors/nonfield/FormNonFieldErrorMarkerHtmlAttribute.mjs";
|
|
11
|
-
import { default as y } from "./errors/orphan/
|
|
12
|
-
import { default as
|
|
11
|
+
import { default as y } from "./errors/orphan/useFormHasOnlyOrphanFieldErrorsMemo.mjs";
|
|
12
|
+
import { default as O } from "./errors/orphan/useOrphanFormErrorsMemo.mjs";
|
|
13
13
|
import { default as P } from "./errors/orphan/useOrphanFormErrorsToConsole.mjs";
|
|
14
14
|
import { default as I } from "./errors/root/useRootFormFieldErrorsMemo.mjs";
|
|
15
|
-
import { default as
|
|
15
|
+
import { default as g } from "./errors/useFormErrorConsoleDebug.mjs";
|
|
16
16
|
import { default as B } from "./errors/useFormErrorsEffect.mjs";
|
|
17
|
-
import { default as
|
|
18
|
-
import { default as D } from "./errors/
|
|
19
|
-
import { default as
|
|
17
|
+
import { default as A } from "./errors/useFormErrorsIfAny.mjs";
|
|
18
|
+
import { default as D } from "./errors/useFormErrorsTransformMemo.mjs";
|
|
19
|
+
import { default as H } from "./errors/useFormRequestSubmit.mjs";
|
|
20
20
|
import { default as q } from "./form/useForm.mjs";
|
|
21
21
|
import { default as L } from "./form/context/utils/FormUtilsContextProvider.mjs";
|
|
22
22
|
import { default as w } from "./form/context/utils/useFormUtilsContext.mjs";
|
|
@@ -28,7 +28,7 @@ import { default as rr } from "./form/context/group/useFormGroupIsAnyBusy.mjs";
|
|
|
28
28
|
import { default as er } from "./form/context/group/useFormGroupIsChildBusy.mjs";
|
|
29
29
|
import { default as sr } from "./form/context/group/useFormGroupIsParentBusy.mjs";
|
|
30
30
|
import { default as ur } from "./form/context/group/useFormGroupParentTracker.mjs";
|
|
31
|
-
import { default as
|
|
31
|
+
import { default as fr } from "./form/context/group/useFormOrParentIsBusy.mjs";
|
|
32
32
|
import { default as dr } from "./form/utils/getSubmitterButtonData.mjs";
|
|
33
33
|
import { FormSubmitError as xr } from "./submit/error/FormSubmitError.mjs";
|
|
34
34
|
import { default as nr } from "./submit/useFormOnSubmitSuccessful.mjs";
|
|
@@ -45,16 +45,16 @@ export {
|
|
|
45
45
|
S as FormNonFieldErrorMarkerHtmlAttribute,
|
|
46
46
|
xr as FormSubmitError,
|
|
47
47
|
L as FormUtilsContextProvider,
|
|
48
|
-
|
|
48
|
+
f as LazyDevTool,
|
|
49
49
|
u as RhfUtilsZodContextProvider,
|
|
50
50
|
e as createZodRhfUtilsClient,
|
|
51
51
|
dr as getSubmitterButtonData,
|
|
52
52
|
q as useForm,
|
|
53
|
-
|
|
53
|
+
g as useFormErrorConsoleDebug,
|
|
54
54
|
B as useFormErrorsEffect,
|
|
55
55
|
d as useFormErrorsFlatContext,
|
|
56
|
-
|
|
57
|
-
D as
|
|
56
|
+
A as useFormErrorsIfAny,
|
|
57
|
+
D as useFormErrorsTransformMemo,
|
|
58
58
|
V as useFormGroupChildIsMountedTracker,
|
|
59
59
|
X as useFormGroupChildIsSubmittingTracker,
|
|
60
60
|
_ as useFormGroupChildTracker,
|
|
@@ -62,13 +62,13 @@ export {
|
|
|
62
62
|
er as useFormGroupIsChildBusy,
|
|
63
63
|
sr as useFormGroupIsParentBusy,
|
|
64
64
|
ur as useFormGroupParentTracker,
|
|
65
|
-
y as
|
|
65
|
+
y as useFormHasOnlyOrphanFieldErrorsMemo,
|
|
66
66
|
nr as useFormOnSubmitSuccessful,
|
|
67
67
|
Er as useFormOnSubmitSuccessfulAndReset,
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
fr as useFormOrParentIsBusy,
|
|
69
|
+
H as useFormRequestSubmit,
|
|
70
70
|
w as useFormUtilsContext,
|
|
71
|
-
|
|
71
|
+
O as useOrphanFormErrorsMemo,
|
|
72
72
|
P as useOrphanFormErrorsToConsole,
|
|
73
73
|
Sr as useResetFormAfterSubmitSuccessful,
|
|
74
74
|
cr as useResetFormOnSubmitError,
|
package/dist/esm/form/_Form.mjs
CHANGED
|
@@ -1,89 +1,90 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as B, jsx as p } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { useFormContext as
|
|
4
|
-
import
|
|
5
|
-
import { FormSubmitError as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
function
|
|
10
|
-
formId:
|
|
3
|
+
import { useFormContext as N } from "react-hook-form";
|
|
4
|
+
import P from "../devtool/LazyDevTool.mjs";
|
|
5
|
+
import { FormSubmitError as T } from "../submit/error/FormSubmitError.mjs";
|
|
6
|
+
import V from "../submit/error/setCtxErrorsByFormSubmitError.mjs";
|
|
7
|
+
import _ from "../submit/useResetFormOnSubmitError.mjs";
|
|
8
|
+
import O from "./_FormBase.mjs";
|
|
9
|
+
function G({
|
|
10
|
+
formId: c,
|
|
11
11
|
formRef: l,
|
|
12
12
|
form: t,
|
|
13
|
-
|
|
13
|
+
config: n,
|
|
14
|
+
children: o
|
|
14
15
|
}) {
|
|
15
|
-
var
|
|
16
|
-
const a =
|
|
17
|
-
|
|
18
|
-
disabled: !((
|
|
16
|
+
var b, S, h, E, F;
|
|
17
|
+
const a = N();
|
|
18
|
+
_({
|
|
19
|
+
disabled: !((b = t == null ? void 0 : t.options) != null && b.resetValuesOnSubmitError)
|
|
19
20
|
});
|
|
20
|
-
const
|
|
21
|
-
var
|
|
22
|
-
(
|
|
21
|
+
const y = async (s) => {
|
|
22
|
+
var e;
|
|
23
|
+
(e = t == null ? void 0 : t.options) != null && e.stopSubmitPropagation && s.stopPropagation();
|
|
23
24
|
try {
|
|
24
25
|
await a.handleSubmit(
|
|
25
|
-
|
|
26
|
+
j,
|
|
26
27
|
t == null ? void 0 : t.onSubmitInvalid
|
|
27
|
-
)(
|
|
28
|
-
} catch (
|
|
29
|
-
|
|
28
|
+
)(s);
|
|
29
|
+
} catch (i) {
|
|
30
|
+
v(i, s);
|
|
30
31
|
}
|
|
31
|
-
},
|
|
32
|
-
var
|
|
33
|
-
return (
|
|
32
|
+
}, j = (s, e) => {
|
|
33
|
+
var i;
|
|
34
|
+
return (i = t == null ? void 0 : t.onSubmit) == null ? void 0 : i.call(
|
|
34
35
|
t,
|
|
35
|
-
|
|
36
|
+
s,
|
|
36
37
|
a,
|
|
37
|
-
|
|
38
|
+
e
|
|
38
39
|
);
|
|
39
|
-
},
|
|
40
|
-
var
|
|
41
|
-
const
|
|
40
|
+
}, v = (s, e) => {
|
|
41
|
+
var x, C;
|
|
42
|
+
const i = s instanceof T ? (
|
|
42
43
|
// consumer can manually throw FormSubmitError (e.g., manual validation)
|
|
43
|
-
|
|
44
|
+
s
|
|
44
45
|
) : (
|
|
45
46
|
// if error is not FormSubmitError, consumer can provide global handler
|
|
46
|
-
(
|
|
47
|
+
(x = n == null ? void 0 : n.onSubmitError) == null ? void 0 : x.call(n, s)
|
|
47
48
|
);
|
|
48
|
-
|
|
49
|
+
i && V(a, i), (C = t == null ? void 0 : t.onSubmitError) == null || C.call(
|
|
49
50
|
t,
|
|
50
|
-
|
|
51
|
+
s,
|
|
51
52
|
a,
|
|
52
|
-
|
|
53
|
+
e
|
|
53
54
|
);
|
|
54
55
|
}, u = {
|
|
55
|
-
formId:
|
|
56
|
+
formId: c,
|
|
56
57
|
formRef: l,
|
|
57
58
|
ctx: a,
|
|
58
59
|
options: t == null ? void 0 : t.options
|
|
59
|
-
}, d = (
|
|
60
|
-
var
|
|
61
|
-
const
|
|
62
|
-
return
|
|
60
|
+
}, d = (s) => {
|
|
61
|
+
var i;
|
|
62
|
+
const e = (i = n == null ? void 0 : n.Children) == null ? void 0 : i[s];
|
|
63
|
+
return e && /* @__PURE__ */ p(e, { ...u });
|
|
63
64
|
};
|
|
64
|
-
return /* @__PURE__ */
|
|
65
|
-
|
|
65
|
+
return /* @__PURE__ */ B(
|
|
66
|
+
O,
|
|
66
67
|
{
|
|
67
68
|
noValidate: !0,
|
|
68
69
|
style: {
|
|
69
70
|
position: "relative"
|
|
70
71
|
},
|
|
71
72
|
...t == null ? void 0 : t.props,
|
|
72
|
-
className: [(
|
|
73
|
+
className: [(S = t == null ? void 0 : t.options) == null ? void 0 : S.classNames, ((h = t == null ? void 0 : t.props) == null ? void 0 : h.className) ?? ""].join(
|
|
73
74
|
" "
|
|
74
75
|
),
|
|
75
|
-
onSubmit:
|
|
76
|
+
onSubmit: y,
|
|
76
77
|
formRef: l,
|
|
77
78
|
children: [
|
|
78
79
|
d("top"),
|
|
79
|
-
((
|
|
80
|
+
((E = t == null ? void 0 : t.options) == null ? void 0 : E.devTool) !== "disabled" && /* @__PURE__ */ p(P, { placement: "top-right", ...(F = t == null ? void 0 : t.options) == null ? void 0 : F.devTool }),
|
|
80
81
|
(t == null ? void 0 : t.Fields) && /* @__PURE__ */ p(t.Fields, { ...u }),
|
|
81
|
-
|
|
82
|
+
o,
|
|
82
83
|
d("bottom")
|
|
83
84
|
]
|
|
84
85
|
}
|
|
85
86
|
);
|
|
86
87
|
}
|
|
87
88
|
export {
|
|
88
|
-
|
|
89
|
+
G as default
|
|
89
90
|
};
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import n from "react";
|
|
2
|
-
import { useForm as
|
|
3
|
-
import
|
|
4
|
-
const
|
|
5
|
-
|
|
2
|
+
import { useForm as i } from "react-hook-form";
|
|
3
|
+
import c from "../submit/useSubmitFormOnChange.mjs";
|
|
4
|
+
const P = ({
|
|
5
|
+
config: m,
|
|
6
|
+
rhf: p,
|
|
6
7
|
form: o,
|
|
7
|
-
utils:
|
|
8
|
+
utils: u
|
|
8
9
|
}) => {
|
|
9
10
|
var t;
|
|
10
|
-
const s = n.useId(), e =
|
|
11
|
-
return
|
|
11
|
+
const s = n.useId(), e = i(p), r = n.useRef(null);
|
|
12
|
+
return c(r, {
|
|
12
13
|
disabled: !((t = o == null ? void 0 : o.options) != null && t.submitOnChange)
|
|
13
14
|
}), {
|
|
14
15
|
id: s,
|
|
@@ -18,15 +19,16 @@ const l = ({
|
|
|
18
19
|
formId: s,
|
|
19
20
|
formRef: r,
|
|
20
21
|
rhfForm: e,
|
|
21
|
-
utils:
|
|
22
|
+
utils: u
|
|
22
23
|
},
|
|
23
24
|
formProps: {
|
|
24
25
|
formId: s,
|
|
25
26
|
formRef: r,
|
|
27
|
+
config: m,
|
|
26
28
|
form: o
|
|
27
29
|
}
|
|
28
30
|
};
|
|
29
31
|
};
|
|
30
32
|
export {
|
|
31
|
-
|
|
33
|
+
P as default
|
|
32
34
|
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { FormSubmitError } from '../submit/error/FormSubmitError';
|
|
2
|
+
import { UseFormOptions } from '../form/useFormOptions';
|
|
3
|
+
import { UseFormFieldsProps } from '../form/useForm';
|
|
4
|
+
import { _FormSlots } from '../form/_Form';
|
|
5
|
+
import { UseFormProps } from 'react-hook-form';
|
|
6
|
+
|
|
7
|
+
export type ClientConfig = {
|
|
8
|
+
/**
|
|
9
|
+
* Default options for all forms. (Are overridden by form-specific options.)
|
|
10
|
+
*/
|
|
11
|
+
defaultOptions?: {
|
|
12
|
+
/**
|
|
13
|
+
* Default RHF `useForm` settings.
|
|
14
|
+
*
|
|
15
|
+
* (Exposes only non-local props.)
|
|
16
|
+
*/
|
|
17
|
+
rhf?: Pick<UseFormProps, 'mode' | 'reValidateMode' | 'resetOptions' | 'context' | 'shouldFocusError' | 'shouldUnregister' | 'shouldUseNativeValidation' | 'progressive' | 'criteriaMode' | 'delayError'>;
|
|
18
|
+
/**
|
|
19
|
+
* Default global options settings.
|
|
20
|
+
*
|
|
21
|
+
* Extend this type to inject custom options/functionality via `Children` component.
|
|
22
|
+
*/
|
|
23
|
+
form?: UseFormOptions;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Components injected by slot across all forms.
|
|
27
|
+
* (Per-form injection can be done via Fields prop.)
|
|
28
|
+
*
|
|
29
|
+
* top: e.g., block navigation on dirty form.
|
|
30
|
+
* bottom: e.g., root errors list.
|
|
31
|
+
*/
|
|
32
|
+
Children?: Partial<Record<_FormSlots, React.FC<UseFormFieldsProps>>>;
|
|
33
|
+
/**
|
|
34
|
+
* Handle non-{@link FormSubmitError} errors. Optionally, return {@link FormSubmitError} to merge into context errors.
|
|
35
|
+
*/
|
|
36
|
+
onSubmitError?: (error: unknown) => FormSubmitError | undefined;
|
|
37
|
+
};
|
|
@@ -13,7 +13,6 @@ export type ObjectSchema<TInputKey extends string, TOutputKey extends string> =
|
|
|
13
13
|
[key in TOutputKey]: SafeFieldValues;
|
|
14
14
|
};
|
|
15
15
|
export type CreateRhfUtilsClient<TObjectSchema extends ObjectSchema<TObjectSchemaInputKey, TObjectSchemaOutputKey>, TObjectSchemaInputKey extends string, TObjectSchemaOutputKey extends string> = {
|
|
16
|
-
config: ClientConfig;
|
|
17
16
|
useForm: <TSchema extends TObjectSchema, TSchemaInput extends SafeFieldValues = TSchema[TObjectSchemaInputKey], TSchemaOutput extends SafeFieldValues = TSchema[TObjectSchemaOutputKey]>(schema: TSchema, props: UseFormProps<TSchemaInput, TSchemaOutput>) => UseFormReturn<TSchemaInput, TSchemaOutput>;
|
|
18
17
|
FormWithProviders: <TSchema extends TObjectSchema, TSchemaInput extends SafeFieldValues = TSchema[TObjectSchemaInputKey], TSchemaOutput extends SafeFieldValues = TSchema[TObjectSchemaOutputKey]>(props: {
|
|
19
18
|
schema: TSchema;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FlatFieldErrorEntry, FlatFieldErrors } from './types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Filter {@link FlatFieldErrors} by a predicate.
|
|
5
|
+
*
|
|
6
|
+
* (Encapsulates to and from Object entries.)
|
|
7
|
+
*/
|
|
8
|
+
declare const makeFlatFieldErrorsFilter: (predicate: (entry: FlatFieldErrorEntry, index: number) => boolean) => (errors: FlatFieldErrors) => FlatFieldErrors;
|
|
9
|
+
export default makeFlatFieldErrorsFilter;
|
|
@@ -11,3 +11,7 @@ import { FieldError } from 'react-hook-form';
|
|
|
11
11
|
* ```
|
|
12
12
|
*/
|
|
13
13
|
export type FlatFieldErrors = Record<string, FieldError>;
|
|
14
|
+
/**
|
|
15
|
+
* Return from `Object.entries` on {@link FlatFieldErrors}.
|
|
16
|
+
*/
|
|
17
|
+
export type FlatFieldErrorEntry = [path: string, error: FieldError];
|
|
@@ -2,7 +2,7 @@ import { FlatFieldErrors } from './types';
|
|
|
2
2
|
import { FieldErrors } from 'react-hook-form';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Use
|
|
5
|
+
* Use {@link FieldErrors} with `ref`s as {@link FlatFieldErrors}.
|
|
6
6
|
*/
|
|
7
7
|
declare const useRefdFieldErrorsMemo: () => FlatFieldErrors;
|
|
8
8
|
export default useRefdFieldErrorsMemo;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FlatFieldErrorEntry } from './flat/types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Util wrapper for {@link isFieldErrorRefd} for usage with {@link FlatFieldErrorEntry}.
|
|
5
|
+
*/
|
|
6
|
+
declare const isFlatFieldErrorEntryRefd: ([, error]: FlatFieldErrorEntry) => boolean;
|
|
7
|
+
export default isFlatFieldErrorEntryRefd;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FlatFieldErrorEntry } from '../flat/types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Util wrapper for {@link isOrphanFormError} for usage with {@link FlatFieldErrorEntry}.
|
|
5
|
+
*/
|
|
6
|
+
declare const getIsFlatFieldErrorEntryOrphanByParentElement: (parentElement: Pick<HTMLElement, 'querySelector'>) => ([path, error]: FlatFieldErrorEntry) => boolean;
|
|
7
|
+
export default getIsFlatFieldErrorEntryOrphanByParentElement;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determined if there are orphan errors and no field errors.
|
|
3
|
+
* (May be useful when reporting or displaying a specific message to user.)
|
|
4
|
+
*/
|
|
5
|
+
declare const useFormHasOnlyOrphanFieldErrorsMemo: (formRef: React.RefObject<HTMLFormElement>) => boolean;
|
|
6
|
+
export default useFormHasOnlyOrphanFieldErrorsMemo;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FlatFieldErrorEntry } from '../flat/types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Util wrapper for {@link isFormErrorPathRoot} for usage with {@link FlatFieldErrorEntry}.
|
|
5
|
+
*/
|
|
6
|
+
declare const isFlatFieldErrorEntryPathRoot: ([path]: FlatFieldErrorEntry) => boolean;
|
|
7
|
+
export default isFlatFieldErrorEntryPathRoot;
|