@paragrav/rhf-utils 0.0.23 → 0.0.27

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 (66) hide show
  1. package/dist/esm/devtool/LazyDevTool.mjs +16 -0
  2. package/dist/esm/errors/getFlatFieldErrors.mjs +22 -0
  3. package/dist/esm/errors/isFieldError.mjs +4 -0
  4. package/dist/esm/errors/message/FormErrorMessage.mjs +14 -0
  5. package/dist/esm/errors/message/FormErrorMessageByPath.mjs +17 -0
  6. package/dist/esm/errors/nonfield/isNonFieldError.mjs +5 -0
  7. package/dist/{errors/orphan/utils.mjs → esm/errors/orphan/getOrphanFlatFieldErrors.mjs} +7 -7
  8. package/dist/esm/errors/orphan/useFormHasOrphanAndNoFieldErrors.mjs +10 -0
  9. package/dist/{errors → esm/errors}/orphan/useOrphanFormErrors.mjs +2 -2
  10. package/dist/esm/errors/orphan/useOrphanFormErrorsToConsoleError.mjs +24 -0
  11. package/dist/{errors → esm/errors}/useFormErrorsIfAny.mjs +1 -1
  12. package/dist/esm/errors/useFormFieldErrors.mjs +13 -0
  13. package/dist/esm/isEmptyObject.mjs +4 -0
  14. package/dist/esm/main.mjs +36 -0
  15. package/dist/types/devtool/LazyDevTool.d.ts +11 -0
  16. package/dist/types/errors/isFieldError.d.ts +7 -0
  17. package/dist/types/errors/message/FormErrorMessage.d.ts +8 -0
  18. package/dist/types/errors/message/FormErrorMessageByPath.d.ts +9 -0
  19. package/dist/{errors/nonfield/utils.d.ts → types/errors/nonfield/isNonFieldError.d.ts} +3 -2
  20. package/dist/types/errors/orphan/getOrphanFlatFieldErrors.d.ts +5 -0
  21. package/dist/types/errors/orphan/useFormHasOrphanAndNoFieldErrors.d.ts +9 -0
  22. package/dist/types/errors/orphan/useOrphanFormErrorsToConsoleError.d.ts +9 -0
  23. package/dist/types/errors/useFormFieldErrors.d.ts +6 -0
  24. package/dist/types/isEmptyObject.d.ts +2 -0
  25. package/dist/{main.d.ts → types/main.d.ts} +4 -1
  26. package/package.json +46 -33
  27. package/dist/errors/getFlatFieldErrors.mjs +0 -22
  28. package/dist/errors/nonfield/utils.mjs +0 -4
  29. package/dist/errors/orphan/useFormErrorsHasOnlyOrphans.d.ts +0 -2
  30. package/dist/errors/orphan/useFormErrorsHasOnlyOrphans.mjs +0 -10
  31. package/dist/errors/orphan/useOrphanFormErrorsToConsoleError.d.ts +0 -8
  32. package/dist/errors/orphan/useOrphanFormErrorsToConsoleError.mjs +0 -16
  33. package/dist/errors/orphan/utils.d.ts +0 -4
  34. package/dist/errors/useFormFlatFieldErrors.mjs +0 -6
  35. package/dist/main.mjs +0 -30
  36. package/dist/utils.d.ts +0 -1
  37. package/dist/utils.mjs +0 -4
  38. /package/dist/{errors → esm/errors}/flattenFieldErrors.mjs +0 -0
  39. /package/dist/{errors → esm/errors}/nonfield/FormNonFieldErrorMarker.mjs +0 -0
  40. /package/dist/{errors → esm/errors}/nonfield/FormNonFieldErrorMarker.utils.mjs +0 -0
  41. /package/dist/{errors → esm/errors}/root/useRootFormFieldErrors.mjs +0 -0
  42. /package/dist/{errors → esm/errors}/root/utils.mjs +0 -0
  43. /package/dist/{errors → esm/errors}/useFormErrorConsoleDebug.mjs +0 -0
  44. /package/dist/{errors → esm/errors}/useFormErrorsEffect.mjs +0 -0
  45. /package/dist/{errors → esm/errors}/useFormErrorsOnChange.mjs +0 -0
  46. /package/dist/{errors → esm/errors}/useFormRequestSubmit.mjs +0 -0
  47. /package/dist/{submit → esm/submit}/useFormOnSubmitSuccessful.mjs +0 -0
  48. /package/dist/{submit → esm/submit}/useFormOnSubmitSuccessfulAndReset.mjs +0 -0
  49. /package/dist/{submit → esm/submit}/useResetFormOnSubmitSuccessful.mjs +0 -0
  50. /package/dist/{errors → types/errors}/flattenFieldErrors.d.ts +0 -0
  51. /package/dist/{errors → types/errors}/getFlatFieldErrors.d.ts +0 -0
  52. /package/dist/{errors → types/errors}/nonfield/FormNonFieldErrorMarker.d.ts +0 -0
  53. /package/dist/{errors → types/errors}/nonfield/FormNonFieldErrorMarker.spec.d.ts +0 -0
  54. /package/dist/{errors → types/errors}/nonfield/FormNonFieldErrorMarker.utils.d.ts +0 -0
  55. /package/dist/{errors → types/errors}/orphan/useOrphanFormErrors.d.ts +0 -0
  56. /package/dist/{errors → types/errors}/root/useRootFormFieldErrors.d.ts +0 -0
  57. /package/dist/{errors → types/errors}/root/utils.d.ts +0 -0
  58. /package/dist/{errors → types/errors}/useFormErrorConsoleDebug.d.ts +0 -0
  59. /package/dist/{errors → types/errors}/useFormErrorsEffect.d.ts +0 -0
  60. /package/dist/{errors → types/errors}/useFormErrorsIfAny.d.ts +0 -0
  61. /package/dist/{errors → types/errors}/useFormErrorsOnChange.d.ts +0 -0
  62. /package/dist/{errors → types/errors}/useFormFlatFieldErrors.d.ts +0 -0
  63. /package/dist/{errors → types/errors}/useFormRequestSubmit.d.ts +0 -0
  64. /package/dist/{submit → types/submit}/useFormOnSubmitSuccessful.d.ts +0 -0
  65. /package/dist/{submit → types/submit}/useFormOnSubmitSuccessfulAndReset.d.ts +0 -0
  66. /package/dist/{submit → types/submit}/useResetFormOnSubmitSuccessful.d.ts +0 -0
@@ -0,0 +1,16 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import e from "react";
3
+ import { useFormContext as n } from "react-hook-form";
4
+ const a = e.lazy(
5
+ () => import("@hookform/devtools").then((o) => ({
6
+ default: o.DevTool
7
+ }))
8
+ ), s = ({ isDev: o, ...l }) => {
9
+ if (!o)
10
+ return null;
11
+ const { control: r } = n();
12
+ return /* @__PURE__ */ t(e.Suspense, { fallback: null, children: /* @__PURE__ */ t(a, { control: r, ...l }) });
13
+ }, u = s;
14
+ export {
15
+ u as default
16
+ };
@@ -0,0 +1,22 @@
1
+ import { get as f } from "react-hook-form";
2
+ import n from "./flattenFieldErrors.mjs";
3
+ const p = (t) => {
4
+ const a = n(t), c = Object.keys(a);
5
+ return Object.fromEntries(
6
+ c.reduce(
7
+ (e, o) => {
8
+ const r = o.replace(d, "");
9
+ if (r === o)
10
+ return e;
11
+ const s = f(t, r, void 0);
12
+ return s && e.push([r, s]), e;
13
+ },
14
+ []
15
+ // entries
16
+ )
17
+ );
18
+ }, d = /\.(?:type|message)\b$/;
19
+ export {
20
+ p as default,
21
+ d as regexMaybeFieldErrorLeafNode
22
+ };
@@ -0,0 +1,4 @@
1
+ const e = (r) => !!r.ref;
2
+ export {
3
+ e as default
4
+ };
@@ -0,0 +1,14 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import "react";
3
+ const s = ({ message: r, className: o }) => /* @__PURE__ */ e(
4
+ "p",
5
+ {
6
+ role: "alert",
7
+ "aria-live": "polite",
8
+ className: o,
9
+ children: r
10
+ }
11
+ ), i = s;
12
+ export {
13
+ i as default
14
+ };
@@ -0,0 +1,17 @@
1
+ import { jsxs as n, Fragment as a, jsx as e } from "react/jsx-runtime";
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;
10
+ return /* @__PURE__ */ n(a, { children: [
11
+ /* @__PURE__ */ e(p, { path: o }),
12
+ /* @__PURE__ */ e(m, { message: r.message })
13
+ ] });
14
+ }, h = c;
15
+ export {
16
+ h as default
17
+ };
@@ -0,0 +1,5 @@
1
+ import o from "../isFieldError.mjs";
2
+ const e = (r) => !o(r);
3
+ export {
4
+ e as default
5
+ };
@@ -1,20 +1,20 @@
1
- import m from "../getFlatFieldErrors.mjs";
2
- import { hasNonFieldErrorMarkerInDOM as s } from "../nonfield/FormNonFieldErrorMarker.utils.mjs";
3
- import { isNonFieldError as l } from "../nonfield/utils.mjs";
1
+ import s from "../getFlatFieldErrors.mjs";
2
+ import { hasNonFieldErrorMarkerInDOM as l } from "../nonfield/FormNonFieldErrorMarker.utils.mjs";
3
+ import m from "../nonfield/isNonFieldError.mjs";
4
4
  import { isFormErrorPathRoot as n } from "../root/utils.mjs";
5
5
  const d = (o, t) => {
6
- const e = m(o);
6
+ const e = s(o);
7
7
  return Object.fromEntries(
8
8
  Object.entries(e).filter(
9
9
  ([r, i]) => (
10
10
  // not root path
11
11
  !n(r) && // non-field
12
- l(i) && // does not have marker
13
- !s(r, t)
12
+ m(i) && // does not have marker
13
+ !l(r, t)
14
14
  )
15
15
  )
16
16
  );
17
17
  };
18
18
  export {
19
- d as getOrphanFlatFieldErrors
19
+ d as default
20
20
  };
@@ -0,0 +1,10 @@
1
+ import r from "../../isEmptyObject.mjs";
2
+ import t from "../useFormFieldErrors.mjs";
3
+ import n from "./useOrphanFormErrors.mjs";
4
+ const m = (o) => {
5
+ const s = n(o), e = t();
6
+ return r(s) ? !1 : !r(e);
7
+ }, d = m;
8
+ export {
9
+ d as default
10
+ };
@@ -1,7 +1,7 @@
1
1
  import "react";
2
- import { isEmptyObject as t } from "../../utils.mjs";
2
+ import t from "../../isEmptyObject.mjs";
3
3
  import e from "../useFormErrorsOnChange.mjs";
4
- import { getOrphanFlatFieldErrors as n } from "./utils.mjs";
4
+ import n from "./getOrphanFlatFieldErrors.mjs";
5
5
  const m = (r) => e((o) => {
6
6
  if (t(o))
7
7
  return {};
@@ -0,0 +1,24 @@
1
+ import n from "react";
2
+ import { useFormContext as m, useFormState as a } from "react-hook-form";
3
+ import c from "../../isEmptyObject.mjs";
4
+ import p from "./useOrphanFormErrors.mjs";
5
+ const u = (o, e) => {
6
+ const { getValues: s } = m(), { errors: t } = a(), r = p(o);
7
+ n.useEffect(() => {
8
+ if (!c(r) && (console.error(
9
+ "useOrphanFormErrorsToConsoleError",
10
+ // include debugging details
11
+ {
12
+ location: window.location,
13
+ values: s(),
14
+ // form values
15
+ errors: t,
16
+ orphans: r
17
+ }
18
+ ), e))
19
+ throw new Error("Orphan errors detected");
20
+ }, [r]);
21
+ }, h = u;
22
+ export {
23
+ h as default
24
+ };
@@ -1,5 +1,5 @@
1
1
  import { useFormState as o } from "react-hook-form";
2
- import { isEmptyObject as s } from "../utils.mjs";
2
+ import s from "../isEmptyObject.mjs";
3
3
  const t = () => {
4
4
  const { errors: r } = o();
5
5
  return s(r) ? !1 : r;
@@ -0,0 +1,13 @@
1
+ import t from "./getFlatFieldErrors.mjs";
2
+ import s from "./isFieldError.mjs";
3
+ import i from "./useFormErrorsOnChange.mjs";
4
+ const f = () => i(l), l = (r) => {
5
+ const o = t(r);
6
+ return Object.fromEntries(
7
+ Object.entries(o).filter(([, e]) => s(e))
8
+ );
9
+ };
10
+ export {
11
+ f as default,
12
+ l as getFlatFieldFormErrors
13
+ };
@@ -0,0 +1,4 @@
1
+ const e = (t) => Object.keys(t).length === 0, s = e;
2
+ export {
3
+ s as default
4
+ };
@@ -0,0 +1,36 @@
1
+ import { default as e } from "./devtool/LazyDevTool.mjs";
2
+ import { default as t } from "./errors/message/FormErrorMessage.mjs";
3
+ import { default as u } from "./errors/message/FormErrorMessageByPath.mjs";
4
+ import { default as m } from "./errors/nonfield/FormNonFieldErrorMarker.mjs";
5
+ import { default as d } from "./errors/nonfield/FormNonFieldErrorMarker.utils.mjs";
6
+ import { default as F } from "./errors/orphan/useFormHasOrphanAndNoFieldErrors.mjs";
7
+ import { default as n } from "./errors/orphan/useOrphanFormErrors.mjs";
8
+ import { default as i } from "./errors/orphan/useOrphanFormErrorsToConsoleError.mjs";
9
+ import { default as S } from "./errors/root/useRootFormFieldErrors.mjs";
10
+ import { default as O } from "./errors/useFormErrorConsoleDebug.mjs";
11
+ import { default as A } from "./errors/useFormErrorsEffect.mjs";
12
+ import { default as M } from "./errors/useFormErrorsIfAny.mjs";
13
+ import { default as y } from "./errors/useFormErrorsOnChange.mjs";
14
+ import { default as N } from "./errors/useFormRequestSubmit.mjs";
15
+ import { default as D } from "./submit/useFormOnSubmitSuccessful.mjs";
16
+ import { default as T } from "./submit/useFormOnSubmitSuccessfulAndReset.mjs";
17
+ import { default as v } from "./submit/useResetFormOnSubmitSuccessful.mjs";
18
+ export {
19
+ t as FormErrorMessage,
20
+ u as FormErrorMessageByPath,
21
+ m as FormNonFieldErrorMarker,
22
+ d as FormNonFieldErrorMarkerHtmlAttribute,
23
+ e as LazyDevTool,
24
+ O as useFormErrorConsoleDebug,
25
+ A as useFormErrorsEffect,
26
+ M as useFormErrorsIfAny,
27
+ y as useFormErrorsOnChange,
28
+ F as useFormHasOrphanAndNoFieldErrors,
29
+ D as useFormOnSubmitSuccessful,
30
+ T as useFormOnSubmitSuccessfulAndReset,
31
+ N as useFormRequestSubmit,
32
+ n as useOrphanFormErrors,
33
+ i as useOrphanFormErrorsToConsoleError,
34
+ v as useResetFormAfterSubmitSuccessful,
35
+ S as useRootFormFieldErrors
36
+ };
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ import { DevtoolUIProps } from '@hookform/devtools/dist/devToolUI';
3
+
4
+ type Props = Omit<DevtoolUIProps, 'control'> & {
5
+ isDev: boolean;
6
+ };
7
+ /**
8
+ * Lazy-loaded RHF DevTool.
9
+ */
10
+ declare const LazyDevTool: React.FC<Props>;
11
+ export default LazyDevTool;
@@ -0,0 +1,7 @@
1
+ import { FieldError } from 'react-hook-form';
2
+
3
+ /**
4
+ * Determine if {@link FieldError} is a field error (i.e., has `ref`).
5
+ */
6
+ declare const isFieldError: (error: FieldError) => boolean;
7
+ export default isFieldError;
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+
3
+ type Props = {
4
+ message: string;
5
+ className?: string;
6
+ };
7
+ declare const FormErrorMessage: React.FC<Props>;
8
+ export default FormErrorMessage;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ name: string;
4
+ Component?: React.FC<{
5
+ message: string;
6
+ }>;
7
+ };
8
+ declare const FormErrorMessageByPath: React.FC<Props>;
9
+ export default FormErrorMessageByPath;
@@ -1,7 +1,7 @@
1
1
  import { FieldError } from 'react-hook-form';
2
2
 
3
3
  /**
4
- * Determine if {@link FieldError} is a non-field error (i.e., has `ref`).
4
+ * Determine if {@link FieldError} is a non-field error (i.e., has no `ref`).
5
5
  *
6
6
  * A non-field error has no association to an input via {@link FieldError.ref}.
7
7
  *
@@ -15,4 +15,5 @@ import { FieldError } from 'react-hook-form';
15
15
  * - The schema is incorrect.
16
16
  * - The error is not displayed to user with `FormErrorNonFieldMarker`.
17
17
  */
18
- export declare const isNonFieldError: (error: FieldError) => boolean;
18
+ declare const isNonFieldError: (error: FieldError) => boolean;
19
+ export default isNonFieldError;
@@ -0,0 +1,5 @@
1
+ import { FlatFieldErrors } from '../getFlatFieldErrors';
2
+ import { FieldErrors } from 'react-hook-form';
3
+
4
+ declare const getOrphanFlatFieldErrors: (errors: FieldErrors, parentElement: Pick<HTMLElement, 'querySelector'>) => FlatFieldErrors;
5
+ export default getOrphanFlatFieldErrors;
@@ -0,0 +1,9 @@
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
+ * RHF doesn't seem to have any other mechanism to indicate a failed submit but to `setErrors()`.
5
+ * Therefore, we have no way of distinguishing between "placeholder" root error and actual error.
6
+ * (e.g., "Please fix form errors above." vs "Start date must be less than end date.")
7
+ */
8
+ declare const useFormHasOrphanAndNoFieldErrors: (formRef: React.RefObject<HTMLFormElement>) => boolean;
9
+ export default useFormHasOrphanAndNoFieldErrors;
@@ -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 useOrphanFormErrorsToConsoleError: (formRef: React.RefObject<HTMLFormElement>, isDev?: boolean) => void;
9
+ export default useOrphanFormErrorsToConsoleError;
@@ -0,0 +1,6 @@
1
+ import { FlatFieldErrors } from './getFlatFieldErrors';
2
+ import { FieldErrors } from 'react-hook-form';
3
+
4
+ declare const useFormFieldErrors: () => FlatFieldErrors;
5
+ export default useFormFieldErrors;
6
+ export declare const getFlatFieldFormErrors: (errors: FieldErrors) => FlatFieldErrors;
@@ -0,0 +1,2 @@
1
+ declare const isEmptyObject: (obj: Record<string, unknown>) => boolean;
2
+ export default isEmptyObject;
@@ -1,6 +1,9 @@
1
+ export { default as LazyDevTool } from './devtool/LazyDevTool';
2
+ export { default as FormErrorMessage } from './errors/message/FormErrorMessage';
3
+ export { default as FormErrorMessageByPath } from './errors/message/FormErrorMessageByPath';
1
4
  export { default as FormNonFieldErrorMarker } from './errors/nonfield/FormNonFieldErrorMarker';
2
5
  export { default as FormNonFieldErrorMarkerHtmlAttribute } from './errors/nonfield/FormNonFieldErrorMarker.utils';
3
- export { default as useFormErrorsHasOnlyOrphans } from './errors/orphan/useFormErrorsHasOnlyOrphans';
6
+ export { default as useFormHasOrphanAndNoFieldErrors } from './errors/orphan/useFormHasOrphanAndNoFieldErrors';
4
7
  export { default as useOrphanFormErrors } from './errors/orphan/useOrphanFormErrors';
5
8
  export { default as useOrphanFormErrorsToConsoleError } from './errors/orphan/useOrphanFormErrorsToConsoleError';
6
9
  export { default as useRootFormFieldErrors } from './errors/root/useRootFormFieldErrors';
package/package.json CHANGED
@@ -2,78 +2,90 @@
2
2
  "name": "@paragrav/rhf-utils",
3
3
  "author": "paragrav.dev",
4
4
  "license": "MIT",
5
- "version": "0.0.23",
5
+ "version": "0.0.27",
6
6
  "description": "Integration utilities for react-hook-form.",
7
7
  "type": "module",
8
8
  "sideEffects": false,
9
9
  "files": [
10
10
  "dist"
11
11
  ],
12
- "module": "./dist/main.mjs",
12
+ "module": "./dist/esm/main.mjs",
13
13
  "exports": {
14
14
  ".": {
15
- "default": "./dist/main.mjs",
16
- "types": "./dist/main.d.ts"
15
+ "default": "./dist/esm/main.mjs",
16
+ "types": "./dist/types/main.d.ts"
17
+ },
18
+ "./LazyDevTool": {
19
+ "default": "./dist/esm/devtool/LazyDevTool.mjs",
20
+ "types": "./dist/types/devtool/LazyDevTool.d.ts"
21
+ },
22
+ "./errors/FormErrorMessage": {
23
+ "default": "./dist/esm/errors/message/FormErrorMessage.mjs",
24
+ "types": "./dist/types/errors/message/FormErrorMessage.d.ts"
25
+ },
26
+ "./errors/FormErrorMessageByPath": {
27
+ "default": "./dist/esm/errors/message/FormErrorMessageByPath.mjs",
28
+ "types": "./dist/types/errors/message/FormErrorMessageByPath.d.ts"
17
29
  },
18
30
  "./errors/useFormErrorConsoleDebug": {
19
- "default": "./dist/errors/useFormErrorConsoleDebug.mjs",
20
- "types": "./dist/errors/useFormErrorConsoleDebug.d.ts"
31
+ "default": "./dist/esm/errors/useFormErrorConsoleDebug.mjs",
32
+ "types": "./dist/types/errors/useFormErrorConsoleDebug.d.ts"
21
33
  },
22
34
  "./errors/useFormErrorsEffect": {
23
- "default": "./dist/errors/useFormErrorsEffect.mjs",
24
- "types": "./dist/errors/useFormErrorsEffect.d.ts"
35
+ "default": "./dist/esm/errors/useFormErrorsEffect.mjs",
36
+ "types": "./dist/types/errors/useFormErrorsEffect.d.ts"
25
37
  },
26
38
  "./errors/useFormErrorsIfAny": {
27
- "default": "./dist/errors/useFormErrorsIfAny.mjs",
28
- "types": "./dist/errors/useFormErrorsIfAny.d.ts"
39
+ "default": "./dist/esm/errors/useFormErrorsIfAny.mjs",
40
+ "types": "./dist/types/errors/useFormErrorsIfAny.d.ts"
29
41
  },
30
42
  "./errors/useFormErrorsOnChange": {
31
- "default": "./dist/errors/useFormErrorsOnChange.mjs",
32
- "types": "./dist/errors/useFormErrorsOnChange.d.ts"
43
+ "default": "./dist/esm/errors/useFormErrorsOnChange.mjs",
44
+ "types": "./dist/types/errors/useFormErrorsOnChange.d.ts"
33
45
  },
34
46
  "./errors/useFormRequestSubmit": {
35
- "default": "./dist/errors/useFormRequestSubmit.mjs",
36
- "types": "./dist/errors/useFormRequestSubmit.d.ts"
47
+ "default": "./dist/esm/errors/useFormRequestSubmit.mjs",
48
+ "types": "./dist/types/errors/useFormRequestSubmit.d.ts"
37
49
  },
38
50
  "./errors/FormNonFieldErrorMarker": {
39
- "default": "./dist/errors/nonfield/FormNonFieldErrorMarker.mjs",
40
- "types": "./dist/errors/nonfield/FormNonFieldErrorMarker.d.ts"
51
+ "default": "./dist/esm/errors/nonfield/FormNonFieldErrorMarker.mjs",
52
+ "types": "./dist/types/errors/nonfield/FormNonFieldErrorMarker.d.ts"
41
53
  },
42
54
  "./errors/FormNonFieldErrorMarkerHtmlAttribute": {
43
- "default": "./dist/errors/nonfield/FormNonFieldErrorMarker.utils.mjs",
44
- "types": "./dist/errors/nonfield/FormNonFieldErrorMarker.utils.d.ts"
55
+ "default": "./dist/esm/errors/nonfield/FormNonFieldErrorMarker.utils.mjs",
56
+ "types": "./dist/types/errors/nonfield/FormNonFieldErrorMarker.utils.d.ts"
45
57
  },
46
58
  "./errors/useOrphanFormErrorsToConsoleError": {
47
- "default": "./dist/errors/orphan/useOrphanFormErrorsToConsoleError.mjs",
48
- "types": "./dist/errors/orphan/useOrphanFormErrorsToConsoleError.d.ts"
59
+ "default": "./dist/esm/errors/orphan/useOrphanFormErrorsToConsoleError.mjs",
60
+ "types": "./dist/types/errors/orphan/useOrphanFormErrorsToConsoleError.d.ts"
49
61
  },
50
62
  "./errors/useFormErrorsHasOnlyOrphans": {
51
- "default": "./dist/errors/orphan/useFormErrorsHasOnlyOrphans.mjs",
52
- "types": "./dist/errors/orphan/useFormErrorsHasOnlyOrphans.d.ts"
63
+ "default": "./dist/esm/errors/orphan/useFormErrorsHasOnlyOrphans.mjs",
64
+ "types": "./dist/types/errors/orphan/useFormErrorsHasOnlyOrphans.d.ts"
53
65
  },
54
66
  "./errors/useOrphanFormErrors": {
55
- "default": "./dist/errors/orphan/useOrphanFormErrors.mjs",
56
- "types": "./dist/errors/orphan/useOrphanFormErrors.d.ts"
67
+ "default": "./dist/esm/errors/orphan/useOrphanFormErrors.mjs",
68
+ "types": "./dist/types/errors/orphan/useOrphanFormErrors.d.ts"
57
69
  },
58
70
  "./errors/useRootFormFieldErrors": {
59
- "default": "./dist/errors/root/useRootFormFieldErrors.mjs",
60
- "types": "./dist/errors/root/useRootFormFieldErrors.d.ts"
71
+ "default": "./dist/esm/errors/root/useRootFormFieldErrors.mjs",
72
+ "types": "./dist/types/errors/root/useRootFormFieldErrors.d.ts"
61
73
  },
62
74
  "./submit/useFormOnSubmitSuccessful": {
63
- "default": "./dist/submit/useFormOnSubmitSuccessful.mjs",
64
- "types": "./dist/submit/useFormOnSubmitSuccessful.d.ts"
75
+ "default": "./dist/esm/submit/useFormOnSubmitSuccessful.mjs",
76
+ "types": "./dist/types/submit/useFormOnSubmitSuccessful.d.ts"
65
77
  },
66
78
  "./submit/useFormOnSubmitSuccessfulAndReset": {
67
- "default": "./dist/submit/useFormOnSubmitSuccessfulAndReset.mjs",
68
- "types": "./dist/submit/useFormOnSubmitSuccessfulAndReset.d.ts"
79
+ "default": "./dist/esm/submit/useFormOnSubmitSuccessfulAndReset.mjs",
80
+ "types": "./dist/types/submit/useFormOnSubmitSuccessfulAndReset.d.ts"
69
81
  },
70
82
  "./submit/useResetFormAfterSubmitSuccessful": {
71
- "default": "./dist/submit/useResetFormAfterSubmitSuccessful.mjs",
72
- "types": "./dist/submit/useResetFormAfterSubmitSuccessful.d.ts"
83
+ "default": "./dist/esm/submit/useResetFormAfterSubmitSuccessful.mjs",
84
+ "types": "./dist/types/submit/useResetFormAfterSubmitSuccessful.d.ts"
73
85
  }
74
86
  },
75
87
  "scripts": {
76
- "build": "npm run validate && npm run build:esm",
88
+ "build": "npm install && npm run validate && npm run build:esm",
77
89
  "build:esm": "vite build",
78
90
  "lint": "eslint --ignore-path ./.gitignore --ext ts,tsx --report-unused-disable-directives --max-warnings 0 .",
79
91
  "preinstall": "npx only-allow npm",
@@ -91,6 +103,7 @@
91
103
  "react-hook-form": "^7"
92
104
  },
93
105
  "devDependencies": {
106
+ "@hookform/devtools": "^4.3.1",
94
107
  "@hookform/resolvers": "^3.3.4",
95
108
  "@playwright/experimental-ct-react": "^1.42.1",
96
109
  "@rollup/plugin-typescript": "^11.1.6",
@@ -1,22 +0,0 @@
1
- import { get as l } from "react-hook-form";
2
- import n from "./flattenFieldErrors.mjs";
3
- const d = (t) => {
4
- const a = n(t), c = Object.keys(a);
5
- return Object.fromEntries(
6
- c.reduce(
7
- (r, o) => {
8
- const e = o.replace(f, "");
9
- if (e === o)
10
- return r;
11
- const s = l(t, e, void 0);
12
- return s && r.push([e, s]), r;
13
- },
14
- []
15
- // entries
16
- )
17
- );
18
- }, u = d, f = /\.(?:type|message)\b$/;
19
- export {
20
- u as default,
21
- f as regexMaybeFieldErrorLeafNode
22
- };
@@ -1,4 +0,0 @@
1
- const o = (r) => !r.ref;
2
- export {
3
- o as isNonFieldError
4
- };
@@ -1,2 +0,0 @@
1
- declare const useFormErrorsHasOnlyOrphans: (formRef: React.RefObject<HTMLFormElement>) => boolean;
2
- export default useFormErrorsHasOnlyOrphans;
@@ -1,10 +0,0 @@
1
- import { isEmptyObject as e } from "../../utils.mjs";
2
- import t from "../useFormFlatFieldErrors.mjs";
3
- import n from "./useOrphanFormErrors.mjs";
4
- const m = (o) => {
5
- const r = n(o), s = t();
6
- return [r, s].some(e) ? !1 : Object.keys(r).length === Object.keys(s).length;
7
- }, O = m;
8
- export {
9
- O as default
10
- };
@@ -1,8 +0,0 @@
1
- import { default as React } from 'react';
2
-
3
- /**
4
- * Outputs orphan errors to `console.error` all errors with `ref: undefined` that do not begin with `root(.*)`.
5
- * Sentry (or equivalent) should capture.
6
- */
7
- declare const useOrphanFormErrorsToConsoleError: (formRef: React.RefObject<HTMLFormElement>) => void;
8
- export default useOrphanFormErrorsToConsoleError;
@@ -1,16 +0,0 @@
1
- import t from "react";
2
- import { useFormContext as n, useFormState as a } from "react-hook-form";
3
- import m from "./useOrphanFormErrors.mjs";
4
- const c = (e) => {
5
- const { getValues: o } = n(), { errors: s } = a(), r = m(e);
6
- t.useEffect(() => {
7
- Object.keys(r).length && console.error("useOrphanFormErrorsToConsoleError", {
8
- location: window.location,
9
- values: o(),
10
- orphans: r
11
- });
12
- }, [s, o, r]);
13
- }, E = c;
14
- export {
15
- E as default
16
- };
@@ -1,4 +0,0 @@
1
- import { FlatFieldErrors } from '../getFlatFieldErrors';
2
- import { FieldErrors } from 'react-hook-form';
3
-
4
- export declare const getOrphanFlatFieldErrors: (errors: FieldErrors, parentElement: Pick<HTMLElement, 'querySelector'>) => FlatFieldErrors;
@@ -1,6 +0,0 @@
1
- import r from "./getFlatFieldErrors.mjs";
2
- import o from "./useFormErrorsOnChange.mjs";
3
- const s = () => o(r);
4
- export {
5
- s as default
6
- };
package/dist/main.mjs DELETED
@@ -1,30 +0,0 @@
1
- import { default as e } from "./errors/nonfield/FormNonFieldErrorMarker.mjs";
2
- import { default as t } from "./errors/nonfield/FormNonFieldErrorMarker.utils.mjs";
3
- import { default as a } from "./errors/orphan/useFormErrorsHasOnlyOrphans.mjs";
4
- import { default as m } from "./errors/orphan/useOrphanFormErrors.mjs";
5
- import { default as d } from "./errors/orphan/useOrphanFormErrorsToConsoleError.mjs";
6
- import { default as F } from "./errors/root/useRootFormFieldErrors.mjs";
7
- import { default as x } from "./errors/useFormErrorConsoleDebug.mjs";
8
- import { default as i } from "./errors/useFormErrorsEffect.mjs";
9
- import { default as O } from "./errors/useFormErrorsIfAny.mjs";
10
- import { default as b } from "./errors/useFormErrorsOnChange.mjs";
11
- import { default as A } from "./errors/useFormRequestSubmit.mjs";
12
- import { default as C } from "./submit/useFormOnSubmitSuccessful.mjs";
13
- import { default as k } from "./submit/useFormOnSubmitSuccessfulAndReset.mjs";
14
- import { default as H } from "./submit/useResetFormOnSubmitSuccessful.mjs";
15
- export {
16
- e as FormNonFieldErrorMarker,
17
- t as FormNonFieldErrorMarkerHtmlAttribute,
18
- x as useFormErrorConsoleDebug,
19
- i as useFormErrorsEffect,
20
- a as useFormErrorsHasOnlyOrphans,
21
- O as useFormErrorsIfAny,
22
- b as useFormErrorsOnChange,
23
- C as useFormOnSubmitSuccessful,
24
- k as useFormOnSubmitSuccessfulAndReset,
25
- A as useFormRequestSubmit,
26
- m as useOrphanFormErrors,
27
- d as useOrphanFormErrorsToConsoleError,
28
- H as useResetFormAfterSubmitSuccessful,
29
- F as useRootFormFieldErrors
30
- };
package/dist/utils.d.ts DELETED
@@ -1 +0,0 @@
1
- export declare const isEmptyObject: (obj: Record<string, unknown>) => boolean;
package/dist/utils.mjs DELETED
@@ -1,4 +0,0 @@
1
- const e = (t) => Object.keys(t).length === 0;
2
- export {
3
- e as isEmptyObject
4
- };
File without changes
File without changes