@paragrav/rhf-utils 0.0.27 → 0.0.30
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/errors/consoleErrors.mjs +9 -0
- package/dist/esm/errors/context/index.mjs +11 -0
- package/dist/esm/errors/context/provider.mjs +19 -0
- package/dist/esm/errors/flat/getFlatFieldErrors.mjs +22 -0
- package/dist/esm/errors/flat/useRefdFieldErrorsMemo.mjs +13 -0
- package/dist/esm/errors/nonfield/FormNonFieldErrorMarker.mjs +1 -1
- package/dist/esm/errors/nonfield/FormNonFieldErrorMarker.utils.mjs +3 -3
- package/dist/esm/errors/nonfield/FormNonFieldErrorMarkerHtmlAttribute.mjs +4 -0
- package/dist/esm/errors/orphan/getOrphanFlatFieldErrors.mjs +2 -2
- package/dist/esm/errors/orphan/useFormHasOrphanAndNoFieldErrors.mjs +5 -5
- package/dist/esm/errors/orphan/useOrphanFormErrorsMemo.mjs +14 -0
- package/dist/esm/errors/orphan/useOrphanFormErrorsToConsole.mjs +18 -0
- package/dist/esm/errors/outputErrors.mjs +8 -0
- package/dist/esm/errors/root/consts.mjs +4 -0
- package/dist/esm/errors/root/getRootFlatFieldErrors.mjs +11 -0
- package/dist/esm/errors/root/isFormErrorPathRoot.mjs +5 -0
- package/dist/esm/errors/root/useRootFormFieldErrorsMemo.mjs +6 -0
- package/dist/esm/errors/useFormErrorConsoleDebug.mjs +8 -6
- package/dist/esm/errors/{useFormErrorsOnChange.mjs → useFormErrorsMemo.mjs} +2 -2
- package/dist/esm/errors/useFormErrorsToConsole.mjs +21 -0
- package/dist/esm/errors/useFormRequestSubmit.mjs +5 -3
- package/dist/esm/form/context/parent/FormParentContextProvider.mjs +10 -0
- package/dist/esm/form/context/parent/index.mjs +6 -0
- package/dist/esm/form/context/parent/useAsFormParentState.mjs +14 -0
- package/dist/esm/form/context/parent/useFormParentIsBusy.mjs +8 -0
- package/dist/esm/form/useFormIsBusy.mjs +9 -0
- package/dist/esm/main.mjs +40 -30
- package/dist/esm/submit/useResetFormOnSubmitSuccessful.mjs +10 -7
- package/dist/esm/utils/createContext.mjs +13 -0
- package/dist/types/devtool/LazyDevTool.d.ts +2 -2
- package/dist/types/errors/consoleErrors.d.ts +13 -0
- package/dist/types/errors/context/index.d.ts +10 -0
- package/dist/types/errors/context/provider.d.ts +12 -0
- package/dist/types/errors/flat/flattenFieldErrors.d.ts +15 -0
- package/dist/types/errors/flat/getFlatFieldErrors.d.ts +25 -0
- package/dist/types/errors/flat/getFlatFieldErrorsByFilter.d.ts +9 -0
- package/dist/types/errors/flat/types.d.ts +3 -0
- package/dist/types/errors/flat/useFormFlatFieldErrorsMemo.d.ts +5 -0
- package/dist/types/errors/flat/useRefdFieldErrorsMemo.d.ts +9 -0
- package/dist/types/errors/nonfield/FormNonFieldErrorMarker.utils.d.ts +1 -6
- package/dist/types/errors/nonfield/FormNonFieldErrorMarkerHtmlAttribute.d.ts +5 -0
- package/dist/types/errors/orphan/getOrphanFlatFieldErrors.d.ts +1 -1
- package/dist/types/errors/orphan/useOrphanFormErrorsMemo.d.ts +4 -0
- package/dist/types/errors/orphan/useOrphanFormErrorsToConsole.d.ts +9 -0
- package/dist/types/errors/outputErrors.d.ts +14 -0
- package/dist/types/errors/root/FormRootErrors.d.ts +7 -0
- package/dist/types/errors/root/consts.d.ts +1 -0
- package/dist/types/errors/root/getRootFlatFieldErrors.d.ts +8 -0
- package/dist/types/errors/root/isFormErrorPathRoot.d.ts +6 -0
- package/dist/types/errors/root/useRootFormFieldErrorsMemo.d.ts +6 -0
- package/dist/types/errors/useFormErrorConsoleDebug.d.ts +1 -1
- package/dist/types/errors/useFormErrorsMemo.d.ts +7 -0
- package/dist/types/errors/useFormErrorsToConsole.d.ts +14 -0
- package/dist/types/form/Form.d.ts +21 -0
- package/dist/types/form/FormBase.d.ts +9 -0
- package/dist/types/form/FormError.d.ts +6 -0
- package/dist/types/form/context/FormProvider.d.ts +13 -0
- package/dist/types/form/context/parent/FormParentContextProvider.d.ts +5 -0
- package/dist/types/form/context/parent/index.d.ts +6 -0
- package/dist/types/form/context/parent/useAsFormParentState.d.ts +7 -0
- package/dist/types/form/context/parent/useFormParentIsBusy.d.ts +7 -0
- package/dist/types/form/context/utils/FormUtilsContextProvider.d.ts +12 -0
- package/dist/types/form/context/utils/useFormUtilsContext.d.ts +9 -0
- package/dist/types/form/search/FormSearch.d.ts +32 -0
- package/dist/types/form/search/FormSearchHiddenInputs.d.ts +13 -0
- package/dist/types/form/search/getNewSearchParams.d.ts +2 -0
- package/dist/types/form/useForm.d.ts +28 -0
- package/dist/types/form/useFormIsBusy.d.ts +2 -0
- package/dist/types/main.d.ts +10 -5
- package/dist/types/submit/useResetFormOnSubmitSuccessful.d.ts +1 -1
- package/dist/types/utils/createContext.d.ts +8 -0
- package/dist/types/utils/createRequiredContext.d.ts +8 -0
- package/dist/types/utils/fixedForwardRef.d.ts +7 -0
- package/dist/types/utils/useImperativeForwardedRef.d.ts +11 -0
- package/package.json +22 -4
- package/dist/esm/errors/getFlatFieldErrors.mjs +0 -22
- package/dist/esm/errors/orphan/useOrphanFormErrors.mjs +0 -14
- package/dist/esm/errors/orphan/useOrphanFormErrorsToConsoleError.mjs +0 -24
- package/dist/esm/errors/root/useRootFormFieldErrors.mjs +0 -6
- package/dist/esm/errors/root/utils.mjs +0 -11
- package/dist/esm/errors/useFormFieldErrors.mjs +0 -13
- /package/dist/esm/errors/{flattenFieldErrors.mjs → flat/flattenFieldErrors.mjs} +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import F from "../flat/getFlatFieldErrors.mjs";
|
|
3
|
+
import a from "../orphan/getOrphanFlatFieldErrors.mjs";
|
|
4
|
+
import i from "../root/getRootFlatFieldErrors.mjs";
|
|
5
|
+
import p from "../useFormErrorsMemo.mjs";
|
|
6
|
+
import { _FormErrorsFlatContextProvider as c } from "./index.mjs";
|
|
7
|
+
const d = ({
|
|
8
|
+
formRef: o,
|
|
9
|
+
children: t
|
|
10
|
+
}) => {
|
|
11
|
+
const e = p((s) => {
|
|
12
|
+
const r = F(s), m = i(r), n = a(r, o.current);
|
|
13
|
+
return { all: r, roots: m, orphans: n };
|
|
14
|
+
});
|
|
15
|
+
return /* @__PURE__ */ l(c, { value: e, children: t });
|
|
16
|
+
}, C = d;
|
|
17
|
+
export {
|
|
18
|
+
C as default
|
|
19
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { get as d } from "react-hook-form";
|
|
2
|
+
import l from "./flattenFieldErrors.mjs";
|
|
3
|
+
const p = (t) => {
|
|
4
|
+
const a = l(t), c = Object.keys(a);
|
|
5
|
+
return Object.fromEntries(
|
|
6
|
+
c.reduce(
|
|
7
|
+
(r, o) => {
|
|
8
|
+
const e = o.replace(n, "");
|
|
9
|
+
if (e === o)
|
|
10
|
+
return r;
|
|
11
|
+
const f = d(t, e, void 0);
|
|
12
|
+
return !f || r.some(([s]) => s === e) || r.push([e, f]), r;
|
|
13
|
+
},
|
|
14
|
+
[]
|
|
15
|
+
// entries
|
|
16
|
+
)
|
|
17
|
+
);
|
|
18
|
+
}, n = /\.(?:type|message)\b$/;
|
|
19
|
+
export {
|
|
20
|
+
p as default,
|
|
21
|
+
n as regexMaybeFieldErrorLeafNode
|
|
22
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import t from "../isFieldError.mjs";
|
|
2
|
+
import s from "../useFormErrorsMemo.mjs";
|
|
3
|
+
import i from "./getFlatFieldErrors.mjs";
|
|
4
|
+
const d = () => s(m), m = (r) => {
|
|
5
|
+
const e = i(r);
|
|
6
|
+
return Object.fromEntries(
|
|
7
|
+
Object.entries(e).filter(([, o]) => t(o))
|
|
8
|
+
);
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
d as default,
|
|
12
|
+
m as getFlatFieldFormErrors
|
|
13
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import o from "./FormNonFieldErrorMarkerHtmlAttribute.mjs";
|
|
2
|
+
const t = (r) => `[role="alert"][${o}="${r}"]`, n = (r, e) => !!e.querySelector(t(r));
|
|
2
3
|
export {
|
|
3
|
-
a as default,
|
|
4
4
|
t as getFormNonFieldErrorMarkerQuerySelector,
|
|
5
|
-
|
|
5
|
+
n as hasNonFieldErrorMarkerInDOM
|
|
6
6
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import s from "../getFlatFieldErrors.mjs";
|
|
1
|
+
import s from "../flat/getFlatFieldErrors.mjs";
|
|
2
2
|
import { hasNonFieldErrorMarkerInDOM as l } from "../nonfield/FormNonFieldErrorMarker.utils.mjs";
|
|
3
3
|
import m from "../nonfield/isNonFieldError.mjs";
|
|
4
|
-
import
|
|
4
|
+
import n from "../root/isFormErrorPathRoot.mjs";
|
|
5
5
|
const d = (o, t) => {
|
|
6
6
|
const e = s(o);
|
|
7
7
|
return Object.fromEntries(
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import r from "../../isEmptyObject.mjs";
|
|
2
|
-
import t from "../
|
|
3
|
-
import
|
|
4
|
-
const
|
|
5
|
-
const s =
|
|
2
|
+
import t from "../flat/useRefdFieldErrorsMemo.mjs";
|
|
3
|
+
import m from "./useOrphanFormErrorsMemo.mjs";
|
|
4
|
+
const n = (o) => {
|
|
5
|
+
const s = m(o), e = t();
|
|
6
6
|
return r(s) ? !1 : !r(e);
|
|
7
|
-
}, d =
|
|
7
|
+
}, d = n;
|
|
8
8
|
export {
|
|
9
9
|
d as default
|
|
10
10
|
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import "react";
|
|
2
|
+
import t from "../../isEmptyObject.mjs";
|
|
3
|
+
import e from "../useFormErrorsMemo.mjs";
|
|
4
|
+
import m from "./getOrphanFlatFieldErrors.mjs";
|
|
5
|
+
const n = (r) => e((o) => {
|
|
6
|
+
if (t(o))
|
|
7
|
+
return {};
|
|
8
|
+
if (!r.current)
|
|
9
|
+
throw new Error();
|
|
10
|
+
return m(o, r.current);
|
|
11
|
+
}), a = n;
|
|
12
|
+
export {
|
|
13
|
+
a as default
|
|
14
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import "react";
|
|
2
|
+
import n from "../useFormErrorsToConsole.mjs";
|
|
3
|
+
import t from "./useOrphanFormErrorsMemo.mjs";
|
|
4
|
+
const a = (r, s, e) => {
|
|
5
|
+
const o = t(r);
|
|
6
|
+
n("Orphan errors detected!", o, {
|
|
7
|
+
disabled: !e,
|
|
8
|
+
isDev: s,
|
|
9
|
+
isError: !0,
|
|
10
|
+
data: {
|
|
11
|
+
location: window.location,
|
|
12
|
+
orphans: o
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
}, d = a;
|
|
16
|
+
export {
|
|
17
|
+
d as default
|
|
18
|
+
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
},
|
|
1
|
+
import { useFormContext as s } from "react-hook-form";
|
|
2
|
+
import t from "./outputErrors.mjs";
|
|
3
|
+
import u from "./useFormErrorsIfAny.mjs";
|
|
4
|
+
const m = (o) => {
|
|
5
|
+
const { getValues: e } = s(), r = u();
|
|
6
|
+
o && r && t("useFormErrorConsoleDebug", { values: e(), errors: r });
|
|
7
|
+
}, i = m;
|
|
6
8
|
export {
|
|
7
|
-
|
|
9
|
+
i as default
|
|
8
10
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import a from "react";
|
|
2
|
+
import { useFormContext as c, useFormState as l } from "react-hook-form";
|
|
3
|
+
import E from "../isEmptyObject.mjs";
|
|
4
|
+
import d from "./outputErrors.mjs";
|
|
5
|
+
const v = (e, m, r) => {
|
|
6
|
+
const { getValues: f } = c(), { errors: u } = l();
|
|
7
|
+
a.useEffect(() => {
|
|
8
|
+
if (!(r != null && r.disabled) && !E(m) && (d(e, { values: f(), errors: u }, r), console[r != null && r.isError ? "error" : "debug"](e, {
|
|
9
|
+
form: {
|
|
10
|
+
values: f(),
|
|
11
|
+
// form values
|
|
12
|
+
errors: u
|
|
13
|
+
},
|
|
14
|
+
other: r == null ? void 0 : r.data
|
|
15
|
+
}), r != null && r.isError))
|
|
16
|
+
throw new Error(e);
|
|
17
|
+
}, [u]);
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
v as default
|
|
21
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import s from "react";
|
|
3
|
+
import { _FormParentContextProvider as n } from "./index.mjs";
|
|
4
|
+
const a = ({ children: t }) => {
|
|
5
|
+
const [r, o] = s.useState(!1);
|
|
6
|
+
return /* @__PURE__ */ e(n, { value: { isBusy: r, setIsBusy: o }, children: t });
|
|
7
|
+
}, P = a;
|
|
8
|
+
export {
|
|
9
|
+
P as default
|
|
10
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import o from "react";
|
|
2
|
+
import r from "../../useFormIsBusy.mjs";
|
|
3
|
+
import { _useFormParentContext as s } from "./index.mjs";
|
|
4
|
+
const n = () => {
|
|
5
|
+
const e = r(), t = s();
|
|
6
|
+
if (!t)
|
|
7
|
+
throw new Error("Parent context is not provided.");
|
|
8
|
+
o.useEffect(() => {
|
|
9
|
+
t.setIsBusy(e);
|
|
10
|
+
}, [t, e]);
|
|
11
|
+
}, c = n;
|
|
12
|
+
export {
|
|
13
|
+
c as default
|
|
14
|
+
};
|
package/dist/esm/main.mjs
CHANGED
|
@@ -1,36 +1,46 @@
|
|
|
1
1
|
import { default as e } from "./devtool/LazyDevTool.mjs";
|
|
2
|
-
import { default as
|
|
3
|
-
import { default as
|
|
4
|
-
import { default as
|
|
5
|
-
import { default as d } from "./errors/
|
|
6
|
-
import { default as
|
|
7
|
-
import { default as n } from "./errors/
|
|
8
|
-
import { default as i } from "./errors/orphan/
|
|
9
|
-
import { default as
|
|
2
|
+
import { default as s } from "./errors/context/index.mjs";
|
|
3
|
+
import { default as f } from "./errors/context/provider.mjs";
|
|
4
|
+
import { default as u } from "./errors/message/FormErrorMessage.mjs";
|
|
5
|
+
import { default as d } from "./errors/message/FormErrorMessageByPath.mjs";
|
|
6
|
+
import { default as p } from "./errors/nonfield/FormNonFieldErrorMarker.mjs";
|
|
7
|
+
import { default as n } from "./errors/nonfield/FormNonFieldErrorMarkerHtmlAttribute.mjs";
|
|
8
|
+
import { default as i } from "./errors/orphan/useFormHasOrphanAndNoFieldErrors.mjs";
|
|
9
|
+
import { default as c } from "./errors/orphan/useOrphanFormErrorsMemo.mjs";
|
|
10
|
+
import { default as b } from "./errors/orphan/useOrphanFormErrorsToConsole.mjs";
|
|
11
|
+
import { default as P } from "./errors/root/useRootFormFieldErrorsMemo.mjs";
|
|
10
12
|
import { default as O } from "./errors/useFormErrorConsoleDebug.mjs";
|
|
11
|
-
import { default as
|
|
12
|
-
import { default as
|
|
13
|
-
import { default as
|
|
14
|
-
import { default as
|
|
15
|
-
import { default as
|
|
16
|
-
import { default as T } from "./
|
|
17
|
-
import { default as
|
|
13
|
+
import { default as y } from "./errors/useFormErrorsEffect.mjs";
|
|
14
|
+
import { default as g } from "./errors/useFormErrorsIfAny.mjs";
|
|
15
|
+
import { default as N } from "./errors/useFormErrorsMemo.mjs";
|
|
16
|
+
import { default as B } from "./errors/useFormRequestSubmit.mjs";
|
|
17
|
+
import { default as H } from "./form/context/parent/FormParentContextProvider.mjs";
|
|
18
|
+
import { default as T } from "./form/context/parent/useAsFormParentState.mjs";
|
|
19
|
+
import { default as z } from "./form/context/parent/useFormParentIsBusy.mjs";
|
|
20
|
+
import { default as j } from "./submit/useFormOnSubmitSuccessful.mjs";
|
|
21
|
+
import { default as G } from "./submit/useFormOnSubmitSuccessfulAndReset.mjs";
|
|
22
|
+
import { default as K } from "./submit/useResetFormOnSubmitSuccessful.mjs";
|
|
18
23
|
export {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
u as FormErrorMessage,
|
|
25
|
+
d as FormErrorMessageByPath,
|
|
26
|
+
f as FormErrorsFlatContextProvider,
|
|
27
|
+
p as FormNonFieldErrorMarker,
|
|
28
|
+
n as FormNonFieldErrorMarkerHtmlAttribute,
|
|
29
|
+
H as FormParentContextProvider,
|
|
23
30
|
e as LazyDevTool,
|
|
31
|
+
T as useAsFormParentState,
|
|
24
32
|
O as useFormErrorConsoleDebug,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
y as useFormErrorsEffect,
|
|
34
|
+
s as useFormErrorsFlatContext,
|
|
35
|
+
g as useFormErrorsIfAny,
|
|
36
|
+
N as useFormErrorsMemo,
|
|
37
|
+
i as useFormHasOrphanAndNoFieldErrors,
|
|
38
|
+
j as useFormOnSubmitSuccessful,
|
|
39
|
+
G as useFormOnSubmitSuccessfulAndReset,
|
|
40
|
+
z as useFormParentIsBusy,
|
|
41
|
+
B as useFormRequestSubmit,
|
|
42
|
+
c as useOrphanFormErrorsMemo,
|
|
43
|
+
b as useOrphanFormErrorsToConsole,
|
|
44
|
+
K as useResetFormAfterSubmitSuccessful,
|
|
45
|
+
P as useRootFormFieldErrorsMemo
|
|
36
46
|
};
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { useFormContext as
|
|
2
|
-
import
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
t
|
|
6
|
-
|
|
1
|
+
import { useFormContext as u } from "react-hook-form";
|
|
2
|
+
import o from "./useFormOnSubmitSuccessful.mjs";
|
|
3
|
+
const r = ({
|
|
4
|
+
enabled: e,
|
|
5
|
+
...t
|
|
6
|
+
}) => {
|
|
7
|
+
const { reset: s } = u();
|
|
8
|
+
o(() => {
|
|
9
|
+
e && s(void 0, t);
|
|
7
10
|
});
|
|
8
|
-
}, f =
|
|
11
|
+
}, f = r;
|
|
9
12
|
export {
|
|
10
13
|
f as default
|
|
11
14
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { DevtoolUIProps } from '@hookform/devtools/dist/devToolUI';
|
|
3
3
|
|
|
4
|
-
type
|
|
4
|
+
export type LazyDevToolProps = Omit<DevtoolUIProps, 'control'> & {
|
|
5
5
|
isDev: boolean;
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
8
8
|
* Lazy-loaded RHF DevTool.
|
|
9
9
|
*/
|
|
10
|
-
declare const LazyDevTool: React.FC<
|
|
10
|
+
declare const LazyDevTool: React.FC<LazyDevToolProps>;
|
|
11
11
|
export default LazyDevTool;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FieldErrors, FieldValues } from 'react-hook-form';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Output form values and errors to console.
|
|
5
|
+
*/
|
|
6
|
+
declare const consoleErrors: (message: string, form: {
|
|
7
|
+
values: FieldValues;
|
|
8
|
+
errors: FieldErrors;
|
|
9
|
+
}, options?: {
|
|
10
|
+
other?: Record<string, unknown>;
|
|
11
|
+
isError?: boolean;
|
|
12
|
+
}) => void;
|
|
13
|
+
export default consoleErrors;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FlatFieldErrors } from '../flat/types';
|
|
2
|
+
|
|
3
|
+
export type FormErrorsFlatContext = {
|
|
4
|
+
all: FlatFieldErrors;
|
|
5
|
+
roots: FlatFieldErrors;
|
|
6
|
+
orphans: FlatFieldErrors;
|
|
7
|
+
};
|
|
8
|
+
declare const useFormErrorsFlatContextMaybe: () => FormErrorsFlatContext | undefined, useFormErrorsFlatContext: () => FormErrorsFlatContext, _FormErrorsFlatContextProvider: import('react').Provider<FormErrorsFlatContext | undefined>;
|
|
9
|
+
export default useFormErrorsFlatContext;
|
|
10
|
+
export { _FormErrorsFlatContextProvider, useFormErrorsFlatContextMaybe };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
type Props = React.PropsWithChildren<{
|
|
3
|
+
formRef: React.MutableRefObject<HTMLFormElement>;
|
|
4
|
+
isDev?: boolean;
|
|
5
|
+
outputErrors?: boolean;
|
|
6
|
+
}>;
|
|
7
|
+
/**
|
|
8
|
+
* Provides a flattened version of the form errors.
|
|
9
|
+
* Allows flattening and filtering to happen once per errors change.
|
|
10
|
+
*/
|
|
11
|
+
declare const FormErrorsFlatContextProvider: React.FC<Props>;
|
|
12
|
+
export default FormErrorsFlatContextProvider;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FieldErrors } from 'react-hook-form';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Only flattens a {@link FieldErrors} object.
|
|
5
|
+
* @returns e.g.,
|
|
6
|
+
* ```
|
|
7
|
+
* {
|
|
8
|
+
* "address.street.type": "too_short",
|
|
9
|
+
* "address.street.ref.value": "123",
|
|
10
|
+
* "address.street.message": "Required."
|
|
11
|
+
* }
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
declare const flattenFieldErrors: (errors: FieldErrors) => Record<string, unknown>;
|
|
15
|
+
export default flattenFieldErrors;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FlatFieldErrors } from './types';
|
|
2
|
+
import { FieldErrors } from 'react-hook-form';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Get {@link FlatFieldErrors} from {@link FieldErrors}.
|
|
6
|
+
* This makes it easy to work with potentially deeply-nested {@link FieldErrors}.
|
|
7
|
+
*
|
|
8
|
+
* @param errors {@link FieldErrors} object.
|
|
9
|
+
* @returns FlatFieldErrors object.
|
|
10
|
+
*
|
|
11
|
+
* e.g.,
|
|
12
|
+
* ```
|
|
13
|
+
* [ "address.street", { "address.street": { type: "too_short", ref: { value: "123" }, message: "Required." } } ]
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
declare const getFlatFieldErrors: (errors: FieldErrors) => FlatFieldErrors;
|
|
17
|
+
export default getFlatFieldErrors;
|
|
18
|
+
/**
|
|
19
|
+
* Regular expression to maybe match the end of a leaf node path.
|
|
20
|
+
*
|
|
21
|
+
* i.e., `name.type`, `address.street.message`
|
|
22
|
+
*
|
|
23
|
+
* iow: dot [?: non-capturing]("type" | "message")[\b word boundary][$ end of string]
|
|
24
|
+
*/
|
|
25
|
+
export declare const regexMaybeFieldErrorLeafNode: RegExp;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FieldError, FieldErrors } from 'react-hook-form';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Get flat field errors filtered by supplied predicate.
|
|
5
|
+
*/
|
|
6
|
+
declare const getFlatFieldErrorsByFilter: (errors: FieldErrors, predicate: (entry: [string, FieldError]) => boolean) => {
|
|
7
|
+
[k: string]: FieldError;
|
|
8
|
+
};
|
|
9
|
+
export default getFlatFieldErrorsByFilter;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FlatFieldErrors } from './types';
|
|
2
|
+
import { FieldErrors } from 'react-hook-form';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Use errors with refs.
|
|
6
|
+
*/
|
|
7
|
+
declare const useRefdFieldErrorsMemo: () => FlatFieldErrors;
|
|
8
|
+
export default useRefdFieldErrorsMemo;
|
|
9
|
+
export declare const getFlatFieldFormErrors: (errors: FieldErrors) => FlatFieldErrors;
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HTML data attribute for {@link FormNonFieldErrorMarker}.
|
|
3
|
-
*/
|
|
4
|
-
declare const FormNonFieldErrorMarkerHtmlAttribute = "data-paragrav-rhf-utils-nonfield-error-marker-path";
|
|
5
|
-
export default FormNonFieldErrorMarkerHtmlAttribute;
|
|
6
1
|
export declare const getFormNonFieldErrorMarkerQuerySelector: (path: string) => string;
|
|
7
|
-
export declare const hasNonFieldErrorMarkerInDOM: (path: string, parentElement: Pick<HTMLElement, 'querySelector'>) =>
|
|
2
|
+
export declare const hasNonFieldErrorMarkerInDOM: (path: string, parentElement: Pick<HTMLElement, 'querySelector'>) => boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FlatFieldErrors } from '../
|
|
1
|
+
import { FlatFieldErrors } from '../flat/types';
|
|
2
2
|
import { FieldErrors } from 'react-hook-form';
|
|
3
3
|
|
|
4
4
|
declare const getOrphanFlatFieldErrors: (errors: FieldErrors, parentElement: Pick<HTMLElement, 'querySelector'>) => FlatFieldErrors;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Logs out orphan errors to console.error.
|
|
5
|
+
*
|
|
6
|
+
* When `isDev`, it will also throw an error to bring attention to dev.
|
|
7
|
+
*/
|
|
8
|
+
declare const useOrphanFormErrorsToConsole: (formRef: React.RefObject<HTMLFormElement>, isDev?: boolean, enabled?: boolean) => void;
|
|
9
|
+
export default useOrphanFormErrorsToConsole;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FieldErrors, FieldValues } from 'react-hook-form';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Output form values and errors to console and throw in dev.
|
|
5
|
+
*/
|
|
6
|
+
declare const outputErrors: (message: string, form: {
|
|
7
|
+
values: FieldValues;
|
|
8
|
+
errors: FieldErrors;
|
|
9
|
+
}, options?: {
|
|
10
|
+
other?: Record<string, unknown>;
|
|
11
|
+
isDev?: boolean;
|
|
12
|
+
isError?: boolean;
|
|
13
|
+
}) => void;
|
|
14
|
+
export default outputErrors;
|