@paragrav/rhf-utils 0.0.68 → 0.0.70

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 (27) hide show
  1. package/dist/esm/client/zod/context/provider.mjs +1 -1
  2. package/dist/esm/client/zod/createZodRhfUtilsClient.mjs +7 -0
  3. package/dist/esm/errors/flat/FlatFieldErrorsList.mjs +17 -0
  4. package/dist/esm/errors/flat/context/FlatFieldErrorsContextProvider.mjs +21 -0
  5. package/dist/esm/errors/flat/context/useFlatFieldErrorsContext.mjs +11 -0
  6. package/dist/esm/errors/message/FormErrorMessageByPath.mjs +8 -11
  7. package/dist/esm/exports.mjs +78 -76
  8. package/dist/esm/form/_FormProviders.mjs +8 -9
  9. package/dist/esm/form/context/utils/FormUtilsContextProvider.mjs +20 -13
  10. package/dist/esm/form/useForm.mjs +0 -1
  11. package/dist/types/client/config.d.ts +2 -0
  12. package/dist/types/client/index.d.ts +1 -1
  13. package/dist/types/client/zod/context/index.d.ts +1 -1
  14. package/dist/types/client/zod/createZodRhfUtilsClient.d.ts +6 -0
  15. package/dist/types/errors/flat/FlatFieldErrorsList.d.ts +7 -0
  16. package/dist/types/errors/flat/context/FlatFieldErrorsContextProvider.d.ts +11 -0
  17. package/dist/types/errors/flat/context/useFlatFieldErrorsContext.d.ts +10 -0
  18. package/dist/types/errors/message/FormErrorMessageByPath.d.ts +3 -1
  19. package/dist/types/errors/root/RootErrorsListFromFlatFieldErrorsContext.d.ts +3 -0
  20. package/dist/types/exports.d.ts +4 -3
  21. package/dist/types/form/_FormProviders.d.ts +3 -4
  22. package/dist/types/form/context/utils/FormUtilsContextProvider.d.ts +11 -6
  23. package/dist/types/form/useForm.d.ts +2 -2
  24. package/package.json +28 -15
  25. package/dist/esm/client/zod/index.mjs +0 -7
  26. package/dist/esm/errors/context/index.mjs +0 -11
  27. package/dist/esm/errors/context/provider.mjs +0 -21
@@ -1,6 +1,6 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import i from "react";
3
- import { createZodRhfUtilsClient as s } from "../index.mjs";
3
+ import s from "../createZodRhfUtilsClient.mjs";
4
4
  import { _RhfUtilsContextProvider as f } from "./index.mjs";
5
5
  const n = ({ config: t, children: o }) => {
6
6
  const [r] = i.useState(() => s(t));
@@ -0,0 +1,7 @@
1
+ import { zodResolver as t } from "@hookform/resolvers/zod";
2
+ import "zod";
3
+ import { createRhfUtilsClient as e } from "../index.mjs";
4
+ const o = e(t), s = o;
5
+ export {
6
+ s as default
7
+ };
@@ -0,0 +1,17 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import l from "../../utils/isEmptyObject.mjs";
3
+ const a = ({ errors: t }) => {
4
+ if (t && !l(t))
5
+ return /* @__PURE__ */ e("ul", { children: Object.values(t).map((r, i) => /* @__PURE__ */ e(
6
+ "li",
7
+ {
8
+ role: "alert",
9
+ "aria-live": "polite",
10
+ children: r.message
11
+ },
12
+ i
13
+ )) });
14
+ }, m = a;
15
+ export {
16
+ m as default
17
+ };
@@ -0,0 +1,21 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import l from "../../orphan/getOrphansFromFlatFieldErrors.mjs";
3
+ import F from "../../root/getRootsFromFlatFieldErrors.mjs";
4
+ import a from "../../useFormErrorsTransformMemo.mjs";
5
+ import d from "../getFlatFieldErrors.mjs";
6
+ import { _FormErrorsFlatContextProvider as p } from "./useFlatFieldErrorsContext.mjs";
7
+ const c = ({
8
+ formRef: o,
9
+ children: t
10
+ }) => {
11
+ const e = a((s) => {
12
+ if (!o.current)
13
+ return;
14
+ const r = d(s), m = F(r), n = l(r, o.current);
15
+ return { all: r, roots: m, orphans: n };
16
+ });
17
+ return /* @__PURE__ */ i(p, { value: e, children: t });
18
+ }, C = c;
19
+ export {
20
+ C as default
21
+ };
@@ -0,0 +1,11 @@
1
+ import t from "../../../utils/createContext.mjs";
2
+ const [
3
+ o,
4
+ r,
5
+ s
6
+ ] = t(), a = r;
7
+ export {
8
+ s as _FormErrorsFlatContextProvider,
9
+ a as default,
10
+ o as useFlatFieldErrorsContextMaybe
11
+ };
@@ -1,17 +1,14 @@
1
1
  import { jsxs as n, Fragment as a, jsx as e } from "react/jsx-runtime";
2
2
  import { useFormState as g, get as i } from "react-hook-form";
3
- import p from "../nonfield/FormNonFieldErrorMarker.mjs";
4
- import F from "./FormErrorMessage.mjs";
5
- const c = ({ name: o, ...s }) => {
6
- const { errors: t } = g(), r = i(t, o, void 0);
7
- if (!(r != null && r.message))
8
- return null;
9
- const m = s.Component ?? F;
3
+ import F from "../nonfield/FormNonFieldErrorMarker.mjs";
4
+ import c from "./FormErrorMessage.mjs";
5
+ const p = ({ path: o, ...s }) => {
6
+ const { errors: m } = g(), r = i(m, o, void 0), t = s.Component ?? c;
10
7
  return /* @__PURE__ */ n(a, { children: [
11
- /* @__PURE__ */ e(p, { path: o }),
12
- /* @__PURE__ */ e(m, { message: r.message })
8
+ /* @__PURE__ */ e(F, { path: o }),
9
+ (r == null ? void 0 : r.message) && /* @__PURE__ */ e(t, { message: r.message })
13
10
  ] });
14
- }, h = c;
11
+ }, l = p;
15
12
  export {
16
- h as default
13
+ l as default
17
14
  };
@@ -1,78 +1,80 @@
1
- import { createZodRhfUtilsClient as e } from "./client/zod/index.mjs";
2
- import { default as s } from "./client/zod/context/index.mjs";
3
- import { default as u } from "./client/zod/context/provider.mjs";
4
- import { default as f } from "./devtool/LazyDevTool.mjs";
5
- import { default as d } from "./errors/context/index.mjs";
6
- import { default as x } from "./errors/context/provider.mjs";
7
- import { default as n } from "./errors/message/FormErrorMessage.mjs";
8
- import { default as E } from "./errors/message/FormErrorMessageByPath.mjs";
9
- import { default as c } from "./errors/nonfield/FormNonFieldErrorMarker.mjs";
10
- import { default as S } from "./errors/nonfield/FormNonFieldErrorMarkerHtmlAttribute.mjs";
11
- import { default as y } from "./errors/orphan/useFormHasOnlyOrphanFieldErrorsMemo.mjs";
12
- import { default as O } from "./errors/orphan/useOrphanFormErrorsMemo.mjs";
13
- import { default as P } from "./errors/orphan/useOrphanFormErrorsToConsole.mjs";
14
- import { default as I } from "./errors/root/useRootFormFieldErrorsMemo.mjs";
15
- import { default as g } from "./errors/useFormErrorConsoleDebug.mjs";
16
- import { default as B } from "./errors/useFormErrorsEffect.mjs";
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
- import { default as q } from "./form/useForm.mjs";
21
- import { default as L } from "./form/context/utils/FormUtilsContextProvider.mjs";
22
- import { default as w } from "./form/context/utils/useFormUtilsContext.mjs";
23
- import { default as K } from "./form/context/group/FormGroupContextProvider.mjs";
24
- import { default as V } from "./form/context/group/useFormGroupChildIsMountedTracker.mjs";
25
- import { default as X } from "./form/context/group/useFormGroupChildIsSubmittingTracker.mjs";
26
- import { default as _ } from "./form/context/group/useFormGroupChildTracker.mjs";
27
- import { default as rr } from "./form/context/group/useFormGroupIsAnyBusy.mjs";
28
- import { default as er } from "./form/context/group/useFormGroupIsChildBusy.mjs";
29
- import { default as sr } from "./form/context/group/useFormGroupIsParentBusy.mjs";
30
- import { default as ur } from "./form/context/group/useFormGroupParentTracker.mjs";
31
- import { default as fr } from "./form/context/group/useFormOrParentIsBusy.mjs";
32
- import { default as dr } from "./form/utils/getSubmitterButtonData.mjs";
33
- import { FormSubmitError as xr } from "./submit/error/FormSubmitError.mjs";
34
- import { default as nr } from "./submit/useFormOnSubmitSuccessful.mjs";
35
- import { default as Er } from "./submit/useFormOnSubmitSuccessfulAndReset.mjs";
36
- import { default as cr } from "./submit/useResetFormOnSubmitError.mjs";
37
- import { default as Sr } from "./submit/useResetFormOnSubmitSuccessful.mjs";
38
- import { default as yr } from "./submit/useSubmitFormOnChange.mjs";
1
+ import { default as e } from "./client/zod/context/index.mjs";
2
+ import { default as s } from "./client/zod/context/provider.mjs";
3
+ import { default as u } from "./client/zod/createZodRhfUtilsClient.mjs";
4
+ import { default as m } from "./devtool/LazyDevTool.mjs";
5
+ import { default as d } from "./errors/flat/context/FlatFieldErrorsContextProvider.mjs";
6
+ import { default as x } from "./errors/flat/context/useFlatFieldErrorsContext.mjs";
7
+ import { default as i } from "./errors/flat/FlatFieldErrorsList.mjs";
8
+ import { default as E } from "./errors/message/FormErrorMessage.mjs";
9
+ import { default as c } from "./errors/message/FormErrorMessageByPath.mjs";
10
+ import { default as S } from "./errors/nonfield/FormNonFieldErrorMarker.mjs";
11
+ import { default as y } from "./errors/nonfield/FormNonFieldErrorMarkerHtmlAttribute.mjs";
12
+ import { default as O } from "./errors/orphan/useFormHasOnlyOrphanFieldErrorsMemo.mjs";
13
+ import { default as P } from "./errors/orphan/useOrphanFormErrorsMemo.mjs";
14
+ import { default as I } from "./errors/orphan/useOrphanFormErrorsToConsole.mjs";
15
+ import { default as g } from "./errors/root/useRootFormFieldErrorsMemo.mjs";
16
+ import { default as B } from "./errors/useFormErrorConsoleDebug.mjs";
17
+ import { default as A } from "./errors/useFormErrorsEffect.mjs";
18
+ import { default as D } from "./errors/useFormErrorsIfAny.mjs";
19
+ import { default as H } from "./errors/useFormErrorsTransformMemo.mjs";
20
+ import { default as N } from "./errors/useFormRequestSubmit.mjs";
21
+ import { default as z } from "./form/useForm.mjs";
22
+ import { default as w } from "./form/context/utils/FormUtilsContextProvider.mjs";
23
+ import { default as K } from "./form/context/utils/useFormUtilsContext.mjs";
24
+ import { default as V } from "./form/context/group/FormGroupContextProvider.mjs";
25
+ import { default as X } from "./form/context/group/useFormGroupChildIsMountedTracker.mjs";
26
+ import { default as _ } from "./form/context/group/useFormGroupChildIsSubmittingTracker.mjs";
27
+ import { default as rr } from "./form/context/group/useFormGroupChildTracker.mjs";
28
+ import { default as er } from "./form/context/group/useFormGroupIsAnyBusy.mjs";
29
+ import { default as sr } from "./form/context/group/useFormGroupIsChildBusy.mjs";
30
+ import { default as ur } from "./form/context/group/useFormGroupIsParentBusy.mjs";
31
+ import { default as mr } from "./form/context/group/useFormGroupParentTracker.mjs";
32
+ import { default as dr } from "./form/context/group/useFormOrParentIsBusy.mjs";
33
+ import { default as xr } from "./form/utils/getSubmitterButtonData.mjs";
34
+ import { FormSubmitError as ir } from "./submit/error/FormSubmitError.mjs";
35
+ import { default as Er } from "./submit/useFormOnSubmitSuccessful.mjs";
36
+ import { default as cr } from "./submit/useFormOnSubmitSuccessfulAndReset.mjs";
37
+ import { default as Sr } from "./submit/useResetFormOnSubmitError.mjs";
38
+ import { default as yr } from "./submit/useResetFormOnSubmitSuccessful.mjs";
39
+ import { default as Or } from "./submit/useSubmitFormOnChange.mjs";
39
40
  export {
40
- n as FormErrorMessage,
41
- E as FormErrorMessageByPath,
42
- x as FormErrorsFlatContextProvider,
43
- K as FormGroupContextProvider,
44
- c as FormNonFieldErrorMarker,
45
- S as FormNonFieldErrorMarkerHtmlAttribute,
46
- xr as FormSubmitError,
47
- L as FormUtilsContextProvider,
48
- f as LazyDevTool,
49
- u as RhfUtilsZodContextProvider,
50
- e as createZodRhfUtilsClient,
51
- dr as getSubmitterButtonData,
52
- q as useForm,
53
- g as useFormErrorConsoleDebug,
54
- B as useFormErrorsEffect,
55
- d as useFormErrorsFlatContext,
56
- A as useFormErrorsIfAny,
57
- D as useFormErrorsTransformMemo,
58
- V as useFormGroupChildIsMountedTracker,
59
- X as useFormGroupChildIsSubmittingTracker,
60
- _ as useFormGroupChildTracker,
61
- rr as useFormGroupIsAnyBusy,
62
- er as useFormGroupIsChildBusy,
63
- sr as useFormGroupIsParentBusy,
64
- ur as useFormGroupParentTracker,
65
- y as useFormHasOnlyOrphanFieldErrorsMemo,
66
- nr as useFormOnSubmitSuccessful,
67
- Er as useFormOnSubmitSuccessfulAndReset,
68
- fr as useFormOrParentIsBusy,
69
- H as useFormRequestSubmit,
70
- w as useFormUtilsContext,
71
- O as useOrphanFormErrorsMemo,
72
- P as useOrphanFormErrorsToConsole,
73
- Sr as useResetFormAfterSubmitSuccessful,
74
- cr as useResetFormOnSubmitError,
75
- s as useRhfUtilsZodContext,
76
- I as useRootFormFieldErrorsMemo,
77
- yr as useSubmitFormOnChange
41
+ d as FlatFieldErrorsContextProvider,
42
+ i as FlatFieldErrorsList,
43
+ E as FormErrorMessage,
44
+ c as FormErrorMessageByPath,
45
+ V as FormGroupContextProvider,
46
+ S as FormNonFieldErrorMarker,
47
+ y as FormNonFieldErrorMarkerHtmlAttribute,
48
+ ir as FormSubmitError,
49
+ w as FormUtilsContextProvider,
50
+ m as LazyDevTool,
51
+ s as RhfUtilsZodContextProvider,
52
+ u as createZodRhfUtilsClient,
53
+ xr as getSubmitterButtonData,
54
+ x as useFlatFieldErrorsContext,
55
+ z as useForm,
56
+ B as useFormErrorConsoleDebug,
57
+ A as useFormErrorsEffect,
58
+ D as useFormErrorsIfAny,
59
+ H as useFormErrorsTransformMemo,
60
+ X as useFormGroupChildIsMountedTracker,
61
+ _ as useFormGroupChildIsSubmittingTracker,
62
+ rr as useFormGroupChildTracker,
63
+ er as useFormGroupIsAnyBusy,
64
+ sr as useFormGroupIsChildBusy,
65
+ ur as useFormGroupIsParentBusy,
66
+ mr as useFormGroupParentTracker,
67
+ O as useFormHasOnlyOrphanFieldErrorsMemo,
68
+ Er as useFormOnSubmitSuccessful,
69
+ cr as useFormOnSubmitSuccessfulAndReset,
70
+ dr as useFormOrParentIsBusy,
71
+ N as useFormRequestSubmit,
72
+ K as useFormUtilsContext,
73
+ P as useOrphanFormErrorsMemo,
74
+ I as useOrphanFormErrorsToConsole,
75
+ yr as useResetFormAfterSubmitSuccessful,
76
+ Sr as useResetFormOnSubmitError,
77
+ e as useRhfUtilsZodContext,
78
+ g as useRootFormFieldErrorsMemo,
79
+ Or as useSubmitFormOnChange
78
80
  };
@@ -1,16 +1,15 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { FormProvider as d } from "react-hook-form";
3
- import n from "../errors/context/provider.mjs";
4
- import l from "./context/utils/FormUtilsContextProvider.mjs";
5
- function v({
6
- formId: t,
2
+ import { FormProvider as m } from "react-hook-form";
3
+ import d from "../errors/flat/context/FlatFieldErrorsContextProvider.mjs";
4
+ import n from "./context/utils/FormUtilsContextProvider.mjs";
5
+ function f({
7
6
  formRef: o,
8
- rhfForm: i,
9
- utils: m,
7
+ rhfForm: t,
8
+ utils: i,
10
9
  children: e
11
10
  }) {
12
- return /* @__PURE__ */ r(d, { ...i, children: /* @__PURE__ */ r(n, { formRef: o, children: /* @__PURE__ */ r(l, { formId: t, formRef: o, ...m, children: e }) }) });
11
+ return /* @__PURE__ */ r(m, { ...t, children: /* @__PURE__ */ r(d, { formRef: o, children: /* @__PURE__ */ r(n, { formRef: o, ...i, children: e }) }) });
13
12
  }
14
13
  export {
15
- v as default
14
+ f as default
16
15
  };
@@ -1,21 +1,28 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { isDevelopment as i } from "../../../env-conditions/production.mjs";
3
- import p from "../../../errors/orphan/useOrphanFormErrorsToConsole.mjs";
4
- import s from "../../../errors/useFormErrorConsoleDebug.mjs";
5
- import F from "../../../errors/useFormRequestSubmit.mjs";
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import { isDevelopment as s } from "../../../env-conditions/production.mjs";
3
+ import F from "../../../errors/orphan/useOrphanFormErrorsToConsole.mjs";
4
+ import l from "../../../errors/useFormErrorConsoleDebug.mjs";
5
+ import a from "../../../errors/useFormRequestSubmit.mjs";
6
6
  import u from "../../../submit/useFormOnSubmitSuccessfulAndReset.mjs";
7
- import a from "../../../submit/useResetFormOnSubmitSuccessful.mjs";
8
- import { _FormUtilsContextProvider as l } from "./useFormUtilsContext.mjs";
9
- function O({
7
+ import C from "../../../submit/useResetFormOnSubmitSuccessful.mjs";
8
+ import { _FormUtilsContextProvider as f } from "./useFormUtilsContext.mjs";
9
+ function P({
10
+ // options
11
+ disableFormErrorConsoleDebug: n,
12
+ disableOrphanFormErrorsToConsole: m,
13
+ resetFormAfterSubmitSuccessful: t,
14
+ // props
10
15
  formRef: o,
11
16
  onSubmitSuccessfulAndReset: r,
12
- children: m
17
+ children: e
13
18
  }) {
14
- const t = F(o);
15
- return s(i), p(o, !0), a({ enabled: !!r }), u(() => {
19
+ const i = a(o);
20
+ return l(s), F(o, !m), C({
21
+ enabled: t || !!r
22
+ }), u(() => {
16
23
  r == null || r();
17
- }), /* @__PURE__ */ e(l, { value: { formRef: o, requestSubmit: t }, children: m });
24
+ }), /* @__PURE__ */ p(f, { value: { formRef: o, requestSubmit: i }, children: e });
18
25
  }
19
26
  export {
20
- O as default
27
+ P as default
21
28
  };
@@ -16,7 +16,6 @@ const P = ({
16
16
  ref: r,
17
17
  context: e,
18
18
  providerProps: {
19
- formId: s,
20
19
  formRef: r,
21
20
  rhfForm: e,
22
21
  utils: u
@@ -1,6 +1,7 @@
1
1
  import { FormSubmitError } from '../submit/error/FormSubmitError';
2
2
  import { UseFormOptions } from '../form/useFormOptions';
3
3
  import { UseFormFieldsProps } from '../form/useForm';
4
+ import { FormUtilsOptions } from '../form/context/utils/FormUtilsContextProvider';
4
5
  import { _FormSlots } from '../form/_Form';
5
6
  import { UseFormProps } from 'react-hook-form';
6
7
 
@@ -21,6 +22,7 @@ export type ClientConfig = {
21
22
  * Extend this type to inject custom options/functionality via `Children` component.
22
23
  */
23
24
  form?: UseFormOptions;
25
+ utils?: FormUtilsOptions;
24
26
  };
25
27
  /**
26
28
  * Components injected by slot across all forms.
@@ -1,7 +1,7 @@
1
- import { ClientConfig } from './config';
2
1
  import { UseFormProps, UseFormReturn } from '../form/useForm';
3
2
  import { SafeFieldValues } from '../form/SafeFieldValues';
4
3
  import { FormWithProvidersProps } from '../form/FormWithProviders';
4
+ import { ClientConfig } from './config';
5
5
  import { Resolver } from 'react-hook-form';
6
6
 
7
7
  /**
@@ -1,4 +1,4 @@
1
- import { ZodTypeFieldValues } from '..';
1
+ import { ZodTypeFieldValues } from '../createZodRhfUtilsClient';
2
2
  import { RhfUtilsClientContext } from '../../context';
3
3
 
4
4
  export type RhfUtilsZodClientContext = RhfUtilsClientContext<ZodTypeFieldValues, '_input', '_output'>;
@@ -0,0 +1,6 @@
1
+ import { SafeFieldValues } from '../../form/SafeFieldValues';
2
+ import { z } from 'zod';
3
+
4
+ export type ZodTypeFieldValues = z.ZodType<SafeFieldValues>;
5
+ declare const createZodRhfUtilsClient: (config: import('../config').ClientConfig) => import('..').CreateRhfUtilsClient<ZodTypeFieldValues, "_input", "_output">;
6
+ export default createZodRhfUtilsClient;
@@ -0,0 +1,7 @@
1
+ import { FlatFieldErrors } from './types';
2
+
3
+ export type Props = {
4
+ errors: FlatFieldErrors | null | undefined;
5
+ };
6
+ declare const FlatFieldErrorsList: React.FC<Props>;
7
+ export default FlatFieldErrorsList;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ type Props = React.PropsWithChildren<{
3
+ formRef: React.RefObject<HTMLFormElement>;
4
+ outputErrors?: boolean;
5
+ }>;
6
+ /**
7
+ * Provides a flattened version of the form errors.
8
+ * Allows flattening and filtering to happen once per errors change.
9
+ */
10
+ declare const FlatFieldErrorsContextProvider: React.FC<Props>;
11
+ export default FlatFieldErrorsContextProvider;
@@ -0,0 +1,10 @@
1
+ import { FlatFieldErrors } from '../types';
2
+
3
+ export type FlatFieldErrorsContext = {
4
+ all: FlatFieldErrors;
5
+ roots: FlatFieldErrors;
6
+ orphans: FlatFieldErrors;
7
+ };
8
+ declare const useFlatFieldErrorsContextMaybe: () => FlatFieldErrorsContext | undefined, useFlatFieldErrorsContext: () => FlatFieldErrorsContext, _FormErrorsFlatContextProvider: import('react').Provider<FlatFieldErrorsContext | undefined>;
9
+ export default useFlatFieldErrorsContext;
10
+ export { _FormErrorsFlatContextProvider, useFlatFieldErrorsContextMaybe };
@@ -1,6 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  type Props = {
3
- name: string;
3
+ /** Field name as flat path. (e.g., "address.street") */
4
+ path: string;
5
+ /** Optional component to use to display message. (Defaults to {@link FormErrorMessage}) */
4
6
  Component?: React.FC<{
5
7
  message: string;
6
8
  }>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const RootErrorsListFromFlatFieldErrorsContext: React.FC;
3
+ export default RootErrorsListFromFlatFieldErrorsContext;
@@ -1,10 +1,11 @@
1
1
  export type { ClientConfig } from './client/config';
2
- export { createZodRhfUtilsClient } from './client/zod';
3
2
  export { default as useRhfUtilsZodContext } from './client/zod/context';
4
3
  export { default as RhfUtilsZodContextProvider } from './client/zod/context/provider';
4
+ export { default as createZodRhfUtilsClient } from './client/zod/createZodRhfUtilsClient';
5
5
  export { default as LazyDevTool } from './devtool/LazyDevTool';
6
- export { default as useFormErrorsFlatContext } from './errors/context';
7
- export { default as FormErrorsFlatContextProvider } from './errors/context/provider';
6
+ export { default as FlatFieldErrorsContextProvider } from './errors/flat/context/FlatFieldErrorsContextProvider';
7
+ export { default as useFlatFieldErrorsContext } from './errors/flat/context/useFlatFieldErrorsContext';
8
+ export { default as FlatFieldErrorsList } from './errors/flat/FlatFieldErrorsList';
8
9
  export { default as FormErrorMessage } from './errors/message/FormErrorMessage';
9
10
  export { default as FormErrorMessageByPath } from './errors/message/FormErrorMessageByPath';
10
11
  export { default as FormNonFieldErrorMarker } from './errors/nonfield/FormNonFieldErrorMarker';
@@ -1,12 +1,11 @@
1
1
  import { SafeFieldValues } from './SafeFieldValues';
2
- import { FormUtilsContextProviderProps } from './context/utils/FormUtilsContextProvider';
2
+ import { FormUtilsOptions } from './context/utils/FormUtilsContextProvider';
3
3
  import { UseFormReturn } from 'react-hook-form';
4
4
 
5
5
  export type _FormProvidersProps<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues> = React.PropsWithChildren<{
6
- formId: string;
7
6
  formRef: React.RefObject<HTMLFormElement>;
8
7
  rhfForm: UseFormReturn<TFieldValues, unknown, TTransformedValues>;
9
- utils?: FormUtilsContextProviderProps;
8
+ utils?: FormUtilsOptions;
10
9
  }>;
11
- declare function _FormProviders<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues>({ formId, formRef, rhfForm, utils, children, }: _FormProvidersProps<TFieldValues, TTransformedValues>): import("react/jsx-runtime").JSX.Element;
10
+ declare function _FormProviders<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues>({ formRef, rhfForm, utils, children, }: _FormProvidersProps<TFieldValues, TTransformedValues>): import("react/jsx-runtime").JSX.Element;
12
11
  export default _FormProviders;
@@ -1,11 +1,16 @@
1
1
  /// <reference types="react" />
2
- export type FormUtilsContextProviderProps = {
3
- /** Callback after successful submit, and form reset. */
4
- onSubmitSuccessfulAndReset?: () => void;
2
+ export type FormUtilsOptions = {
3
+ /** Disable `console.debug` of field errors in dev. */
4
+ disableFormErrorConsoleDebug?: boolean;
5
+ /** Disable `console.error` of orphan field errors. */
6
+ disableOrphanFormErrorsToConsole?: boolean;
7
+ /** Reset form after successful submit. */
8
+ resetFormAfterSubmitSuccessful?: boolean;
5
9
  };
6
10
  type Props = React.PropsWithChildren<{
7
- formId: string;
8
11
  formRef: React.RefObject<HTMLFormElement>;
9
- } & FormUtilsContextProviderProps>;
10
- declare function FormUtilsContextProvider({ formRef, onSubmitSuccessfulAndReset, children, }: Props): import("react/jsx-runtime").JSX.Element;
12
+ /** Callback after successful submit, and form reset. */
13
+ onSubmitSuccessfulAndReset?: () => void;
14
+ } & FormUtilsOptions>;
15
+ declare function FormUtilsContextProvider({ disableFormErrorConsoleDebug, disableOrphanFormErrorsToConsole, resetFormAfterSubmitSuccessful, formRef, onSubmitSuccessfulAndReset, children, }: Props): import("react/jsx-runtime").JSX.Element;
11
16
  export default FormUtilsContextProvider;
@@ -1,6 +1,6 @@
1
1
  import { UseFormOptions } from './useFormOptions';
2
2
  import { SafeFieldValues } from './SafeFieldValues';
3
- import { FormUtilsContextProviderProps } from './context/utils/FormUtilsContextProvider';
3
+ import { FormUtilsOptions } from './context/utils/FormUtilsContextProvider';
4
4
  import { _FormProvidersProps } from './_FormProviders';
5
5
  import { _FormProps } from './_Form';
6
6
  import { ClientConfig } from '../client/config';
@@ -28,7 +28,7 @@ export type UseFormProps<TFieldValues extends SafeFieldValues, TTransformedValue
28
28
  options?: UseFormOptions;
29
29
  props?: React.PropsWithoutRef<JSX.IntrinsicElements['form']>;
30
30
  };
31
- utils?: FormUtilsContextProviderProps;
31
+ utils?: FormUtilsOptions;
32
32
  };
33
33
  /**
34
34
  * Core Rhf Form hook. Use `Form` in `index.ts` for most cases.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@paragrav/rhf-utils",
3
3
  "author": "paragrav.dev",
4
4
  "license": "MIT",
5
- "version": "0.0.68",
5
+ "version": "0.0.70",
6
6
  "description": "Integration utilities for react-hook-form.",
7
7
  "type": "module",
8
8
  "sideEffects": false,
@@ -37,6 +37,18 @@
37
37
  "default": "./dist/esm/devtool/LazyDevTool.mjs",
38
38
  "types": "./dist/types/devtool/LazyDevTool.d.ts"
39
39
  },
40
+ "./errors/flat/context/FlatFieldErrorsContextProvider": {
41
+ "default": "./dist/esm/errors/flat/context/FlatFieldErrorsContextProvider.mjs",
42
+ "types": "./dist/types/errors/flat/context/FlatFieldErrorsContextProvider.d.ts"
43
+ },
44
+ "./errors/flat/context/useFlatFieldErrorsContext": {
45
+ "default": "./dist/esm/errors/flat/context/useFlatFieldErrorsContext.mjs",
46
+ "types": "./dist/types/errors/flat/context/useFlatFieldErrorsContext.d.ts"
47
+ },
48
+ "./errors/flat/FlatFieldErrorsList": {
49
+ "default": "./dist/esm/errors/flat/FlatFieldErrorsList.mjs",
50
+ "types": "./dist/types/errors/flat/FlatFieldErrorsList.d.ts"
51
+ },
40
52
  "./errors/FormErrorMessage": {
41
53
  "default": "./dist/esm/errors/message/FormErrorMessage.mjs",
42
54
  "types": "./dist/types/errors/message/FormErrorMessage.d.ts"
@@ -93,14 +105,6 @@
93
105
  "default": "./dist/esm/form/useForm.mjs",
94
106
  "types": "./dist/types/form/useForm.d.ts"
95
107
  },
96
- "./form/context/FormUtilsContextProvider": {
97
- "default": "./dist/esm/form/context/FormUtilsContextProvider.mjs",
98
- "types": "./dist/types/form/context/FormUtilsContextProvider.d.ts"
99
- },
100
- "./form/context/useFormUtilsContext": {
101
- "default": "./dist/esm/form/context/useFormUtilsContext.mjs",
102
- "types": "./dist/types/form/context/useFormUtilsContext.d.ts"
103
- },
104
108
  "./form/context/group/FormGroupContextProvider": {
105
109
  "default": "./dist/esm/form/context/group/FormGroupContextProvider.mjs",
106
110
  "types": "./dist/types/form/context/group/FormGroupContextProvider.d.ts"
@@ -137,7 +141,15 @@
137
141
  "default": "./dist/esm/form/context/group/useFormGroupIsParentBusy.mjs",
138
142
  "types": "./dist/types/form/context/group/useFormGroupIsParentBusy.d.ts"
139
143
  },
140
- "./form/context/utils/getSubmitterButtonData": {
144
+ "./form/context/utils/FormUtilsContextProvider": {
145
+ "default": "./dist/esm/form/context/utils/FormUtilsContextProvider.mjs",
146
+ "types": "./dist/types/form/context/utils/FormUtilsContextProvider.d.ts"
147
+ },
148
+ "./form/context/utils/useFormUtilsContext": {
149
+ "default": "./dist/esm/form/context/utils/useFormUtilsContext.mjs",
150
+ "types": "./dist/types/form/context/utils/useFormUtilsContext.d.ts"
151
+ },
152
+ "./form/utils/getSubmitterButtonData": {
141
153
  "default": "./dist/esm/form/utils/getSubmitterButtonData.mjs",
142
154
  "types": "./dist/types/form/utils/getSubmitterButtonData.d.ts"
143
155
  },
@@ -167,18 +179,19 @@
167
179
  }
168
180
  },
169
181
  "scripts": {
170
- "build": "npm install && npm run validate && vite build",
182
+ "build": "vite build",
171
183
  "build:dev": "vite build --config vite.config.dev.ts",
172
184
  "dev": "vite --config vite.config.dev.ts",
173
185
  "lint": "eslint --ignore-path ./.gitignore --ext ts,tsx --report-unused-disable-directives --max-warnings 0 .",
174
- "preinstall": "npx only-allow npm",
186
+ "preinstall": "npx only-allow pnpm",
175
187
  "prepare": "husky",
188
+ "prepublishOnly": "pnpm build",
176
189
  "preview": "vite preview --config vite.config.dev.ts",
177
190
  "test": "vitest",
178
191
  "test:ct": "playwright test -c playwright-ct.config.ts",
179
192
  "test:ct:ui": "playwright test -c playwright-ct.config.ts --ui",
180
193
  "tsc": "tsc",
181
- "validate": "cross-env CI=1 npm run tsc & npm run lint & npm run test & npm run test:ct"
194
+ "validate": "cross-env CI=1 pnpm install && pnpm tsc & pnpm lint & pnpm test && pnpm test:ct"
182
195
  },
183
196
  "peerDependencies": {
184
197
  "@hookform/devtools": "^4",
@@ -219,9 +232,9 @@
219
232
  },
220
233
  "engines": {
221
234
  "node": ">=20.12",
222
- "npm": "^10.2.4"
235
+ "pnpm": ">=9.0.6"
223
236
  },
224
- "packageManager": "npm@10.2.4",
237
+ "packageManager": "pnpm@9.0.6",
225
238
  "repository": {
226
239
  "type": "git",
227
240
  "url": "git+https://github.com/paragrav/rhf-utils.git"
@@ -1,7 +0,0 @@
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);
5
- export {
6
- l as createZodRhfUtilsClient
7
- };
@@ -1,11 +0,0 @@
1
- import r from "../../utils/createContext.mjs";
2
- const [
3
- e,
4
- t,
5
- s
6
- ] = r(), a = t;
7
- export {
8
- s as _FormErrorsFlatContextProvider,
9
- a as default,
10
- e as useFormErrorsFlatContextMaybe
11
- };
@@ -1,21 +0,0 @@
1
- import { jsx as F } from "react/jsx-runtime";
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
- import { _FormErrorsFlatContextProvider as c } from "./index.mjs";
7
- const u = ({
8
- formRef: o,
9
- children: t
10
- }) => {
11
- const e = p((s) => {
12
- if (!o.current)
13
- return;
14
- const r = a(s), m = l(r), n = i(r, o.current);
15
- return { all: r, roots: m, orphans: n };
16
- });
17
- return /* @__PURE__ */ F(c, { value: e, children: t });
18
- }, C = u;
19
- export {
20
- C as default
21
- };