@paragrav/rhf-utils 0.63.0 → 0.65.0

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/README.md CHANGED
@@ -77,20 +77,22 @@ export const rhfUtilsClientConfig: RhfUtilsClientConfig = {
77
77
  // inject your own hooks and components
78
78
  // into all RhfUtilsZodForm instances
79
79
  FormChildren: (
80
- // RhfUtilsFormComponentProps
80
+ // RhfUtilsFormInjectorProps
81
81
  {
82
+ Outlet, // Form instance (RhfUtilsZodForm.Children) "outlet"
83
+
82
84
  formId, // unique id string
83
85
  formRef, // form element ref
84
86
  context, // rhf UseFormReturn (without proxy `formState`)
85
87
  options, // RhfUtilsFormOptions (with any custom props)
86
88
  Controller, // rhf controller (SafeFieldValues-typed; no schema at this level)
87
89
  FormSubmitError, // error class (SafeFieldValues-typed; no schema at this level)
88
- children, // RhfUtilsZodForm's Children instance
89
90
  },
90
91
  ) => {
92
+ // hook injected across all instances
91
93
  useMyGlobalFormHook();
92
94
 
93
- // form-level control of your own hooks/behaviors via custom option props
95
+ // hook injected across all instances with per-instance opt-in flag via custom option props
94
96
  // (see "Extend RhfUtilsFormOptions" section for more info)
95
97
  useMyOptionalFormHook({
96
98
  enabled: !!options.enableMyOptionalFormHook,
@@ -98,8 +100,8 @@ export const rhfUtilsClientConfig: RhfUtilsClientConfig = {
98
100
 
99
101
  return (
100
102
  <>
101
- {/* RhfUtilsZodForm.Children "outlet" (see "Component Hierarchy" section) */}
102
- {children}
103
+ {/* Form instance (RhfUtilsZodForm.Children) "outlet" (see "Component Hierarchy" section). */}
104
+ <Outlet />
103
105
 
104
106
  {/* root errors list */}
105
107
  <RootErrorsList />
@@ -190,7 +192,7 @@ Currently, only `zod` schemas are supported.
190
192
  {
191
193
  field: 'passwordConfirm', // type safe
192
194
  message: 'Passwords must match.',
193
- valid: data.password === data.passwordConfirm,
195
+ validate: data.password === data.passwordConfirm,
194
196
  },
195
197
  ]}
196
198
  onBeforeSubmit={({ input, output, api }, context, event) => {
@@ -2,6 +2,6 @@ export { useRhfUtilsContext } from '../form/context/utils/useRhfUtilsContext';
2
2
  export type { RhfUtilsFormOptions } from '../form/options/RhfUtilsFormOptionsType';
3
3
  export type { SafeFieldValues } from '../form/rhf/SafeFieldValuesType';
4
4
  export type { RHF_UseFormReturnWithoutProxies as UseFormReturnWithoutProxies } from '../form/RHF_UseFormReturnWithoutProxiesType';
5
- export type { RhfUtilsFormComponentProps } from '../form/RhfUtilsFormComponentPropsType';
5
+ export type { RhfUtilsFormInjectorProps } from '../form/RhfUtilsFormInjectorProps';
6
6
  export type { UseRhfUtilsFormChildrenProps } from '../form/UseRhfUtilsFormChildrenPropsType';
7
7
  export { useFormRequestSubmit } from '../form/utils/useFormRequestSubmit';
@@ -1,6 +1,6 @@
1
1
  import { FlatFieldErrorsOutputConfig } from '../../errors/flat/context/FlatFieldErrorsOutputConfig';
2
2
  import { UseRhfUtilsFormGlobalDefaults } from '../../form/defaults/UseRhfUtilsFormGlobalDefaults';
3
- import { RhfUtilsFormComponentProps } from '../../form/RhfUtilsFormComponentPropsType';
3
+ import { RhfUtilsFormInjectorProps } from '../../form/RhfUtilsFormInjectorProps';
4
4
  import { FormSubmitFieldErrors } from '../../submit/error/FormSubmitFieldErrors';
5
5
  import { UseRhfUtilsFormOnSubmitContext } from '../../submit/UseRhfUtilsFormOnSubmitContextType';
6
6
  import { MaybePromise } from '../../utils/types';
@@ -26,8 +26,12 @@ export type RhfUtilsClientConfig = {
26
26
  * @description
27
27
  *
28
28
  * (NOTE: context params are not schema-typed as not possible at this level.)
29
+ *
30
+ * @example
31
+ *
32
+ * See README.
29
33
  */
30
- FormChildren?: React.FC<React.PropsWithChildren<RhfUtilsFormComponentProps>>;
34
+ FormInjector?: React.FC<RhfUtilsFormInjectorProps>;
31
35
  /**
32
36
  * A hook that returns a callback that determines whether form can be cancelled at event-time.
33
37
  *
@@ -1,13 +1,17 @@
1
1
  import { UseFormReturn } from 'react-hook-form';
2
2
  import { FormSubmitError } from '../submit/error/FormSubmitError';
3
+ import { Merge } from '../utils/types';
3
4
  import { _Controller } from './_Controller';
4
5
  import { RhfUtilsContext } from './context/utils/RhfUtilsContextType';
5
6
  import { SafeFieldValues } from './rhf/SafeFieldValuesType';
6
7
  /**
7
8
  * RhfUtilsClientConfig's FormComponent props.
8
9
  */
9
- export type RhfUtilsFormComponentProps<TFieldValues extends SafeFieldValues = SafeFieldValues, TTransformedValues extends SafeFieldValues = TFieldValues> = RhfUtilsContext & {
10
+ export type RhfUtilsFormInjectorProps<TFieldValues extends SafeFieldValues = SafeFieldValues, TTransformedValues extends SafeFieldValues = TFieldValues> = Merge<{
11
+ /** Form instance children (`RhfUtilsZodForm.Children`) to output amid globally-injected code. */
12
+ Outlet: React.FC;
13
+ }, RhfUtilsContext, {
10
14
  rhf: UseFormReturn<TFieldValues, unknown, TTransformedValues>;
11
15
  Controller: typeof _Controller<TFieldValues>;
12
16
  FormSubmitError: typeof FormSubmitError<TFieldValues>;
13
- };
17
+ }>;
@@ -1,4 +1,4 @@
1
1
  import { ControllerProps, FieldPath } from 'react-hook-form';
2
2
  import { SafeFieldValues } from './rhf/SafeFieldValuesType';
3
3
  export type _ControllerProps<TFieldValues extends SafeFieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Omit<ControllerProps<TFieldValues, TName>, 'control'>;
4
- export declare const _Controller: <TFieldValues extends SafeFieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(props: _ControllerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const _Controller: <TFieldValues extends SafeFieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(props: _ControllerProps<TFieldValues, TName>) => import("react").JSX.Element;
@@ -2,5 +2,5 @@ import { default as React } from 'react';
2
2
  import { SafeFieldValues } from '../rhf/SafeFieldValuesType';
3
3
  import { RhfUtilsFormProvidersProps } from './RhfUtilsFormProvidersPropsType';
4
4
  type Props<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues> = React.PropsWithChildren<RhfUtilsFormProvidersProps<TFieldValues, TTransformedValues>>;
5
- export declare function RhfUtilsFormProviders<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues>({ formId, rhf, resolver, defaultValues, options, relay, children, }: Props<TFieldValues, TTransformedValues>): import("react/jsx-runtime").JSX.Element;
5
+ export declare function RhfUtilsFormProviders<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues>({ formId, rhf, resolver, defaultValues, options, relay, children, }: Props<TFieldValues, TTransformedValues>): React.JSX.Element;
6
6
  export {};
@@ -1,3 +1,3 @@
1
1
  import { SafeFieldValues } from '../rhf/SafeFieldValuesType';
2
2
  import { RhfUtilsFormProps, RhfUtilsFormPropsGetApiValues } from './RhfUtilsFormProps';
3
- export declare const RhfUtilsForm: <TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined>({ getApiData, onCancel, onSubmitInvalid, onBeforeSubmitInvariants, onBeforeSubmit, onSubmit, onSubmitSuccess, onSubmitError, onSubmitFinally, Children, form, className, }: RhfUtilsFormProps<TFieldValues, TTransformedValues, TGetApiValues, TOnSubmitReturnType, TApiValues>) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const RhfUtilsForm: <TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined>({ getApiData, onCancel, onSubmitInvalid, onBeforeSubmitInvariants, onBeforeSubmit, onSubmit, onSubmitSuccess, onSubmitError, onSubmitFinally, Children, form, className, }: RhfUtilsFormProps<TFieldValues, TTransformedValues, TGetApiValues, TOnSubmitReturnType, TApiValues>) => import("react").JSX.Element;
@@ -4,16 +4,8 @@ import { UseRhfUtilsFormOnSubmitContext, UseRhfUtilsFormOnSubmitErrorContext } f
4
4
  import { UseRhfUtilsFormInstanceFormProps } from '../defaults/form/UseRhfUtilsFormInstanceFormProps';
5
5
  import { SafeFieldValues } from '../rhf/SafeFieldValuesType';
6
6
  import { UseRhfUtilsFormChildrenProps } from '../UseRhfUtilsFormChildrenPropsType';
7
+ import { RhfUtilsFormPropsOnBeforeSubmitInvariants } from './RhfUtilsFormPropsOnBeforeSubmitInvariants';
7
8
  export type RhfUtilsFormPropsGetApiValues<TTransformedValues extends SafeFieldValues, TApiValues> = (data: TTransformedValues) => TApiValues;
8
- export type RhfUtilsFormPropsonBeforeSubmitInvariants<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues, TApiValues extends undefined | SafeFieldValues> = (data: {
9
- input: TFieldValues;
10
- output: TTransformedValues;
11
- api: TApiValues;
12
- }, context: UseRhfUtilsFormOnSubmitContext<TFieldValues, TTransformedValues, TApiValues>, event: React.BaseSyntheticEvent<SubmitEvent>) => MaybePromise<{
13
- field: keyof TFieldValues | keyof TApiValues;
14
- message: string;
15
- valid: boolean | undefined | null;
16
- }[]>;
17
9
  export type RhfUtilsFormProps<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined> = {
18
10
  getApiData?: TGetApiValues;
19
11
  /** Cancellation handler -- channeled through {@link RhfUtilsClientConfig.useCanFormBeCancelled} before propagating to `Children` component. */
@@ -24,7 +16,7 @@ export type RhfUtilsFormProps<TFieldValues extends SafeFieldValues, TTransformed
24
16
  * List of invariants to run against input/output/api data.
25
17
  * For any and all false-y values, a {@link FormSubmitFieldErrors} will be thrown.
26
18
  */
27
- onBeforeSubmitInvariants?: RhfUtilsFormPropsonBeforeSubmitInvariants<TFieldValues, TTransformedValues, TApiValues>;
19
+ onBeforeSubmitInvariants?: RhfUtilsFormPropsOnBeforeSubmitInvariants<TFieldValues, TTransformedValues, TApiValues>;
28
20
  onBeforeSubmit?: (data: {
29
21
  input: TFieldValues;
30
22
  output: TTransformedValues;
@@ -0,0 +1,12 @@
1
+ import { UseRhfUtilsFormOnSubmitContext } from '../../submit/UseRhfUtilsFormOnSubmitContextType';
2
+ import { MaybePromise } from '../../utils/types';
3
+ import { SafeFieldValues } from '../rhf/SafeFieldValuesType';
4
+ export type RhfUtilsFormPropsOnBeforeSubmitInvariants<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues, TApiValues extends undefined | SafeFieldValues> = (data: {
5
+ input: TFieldValues;
6
+ output: TTransformedValues;
7
+ api: TApiValues;
8
+ }, context: UseRhfUtilsFormOnSubmitContext<TFieldValues, TTransformedValues, TApiValues>, event: React.BaseSyntheticEvent<SubmitEvent>) => MaybePromise<{
9
+ field: keyof TFieldValues | keyof TApiValues;
10
+ message: string;
11
+ validate: boolean | undefined | null;
12
+ }[]>;
@@ -1,3 +1,3 @@
1
1
  import { SafeFieldValues } from '../rhf/SafeFieldValuesType';
2
2
  import { RhfUtilsFormProps } from './RhfUtilsFormProps';
3
- export declare const RhfUtilsFormChildrenViaProviders_Internal: <TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues>({ onCancel, Children, }: Pick<RhfUtilsFormProps<TFieldValues, TTransformedValues, undefined, undefined>, "Children" | "onCancel">) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const RhfUtilsFormChildrenViaProviders_Internal: <TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues>({ onCancel, Children, }: Pick<RhfUtilsFormProps<TFieldValues, TTransformedValues, undefined, undefined>, "Children" | "onCancel">) => import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
1
  import { default as React } from 'react';
2
2
  import { SafeFieldValues } from '../rhf/SafeFieldValuesType';
3
3
  import { RhfUtilsFormProps, RhfUtilsFormPropsGetApiValues } from './RhfUtilsFormProps';
4
- export declare const RhfUtilsFormWithSubmitHandler_Internal: <TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined>({ getApiData, onSubmitInvalid, onBeforeSubmitInvariants, onBeforeSubmit, onSubmit, onSubmitSuccess, onSubmitError, onSubmitFinally, form, className, children, }: React.PropsWithChildren<Pick<RhfUtilsFormProps<TFieldValues, TTransformedValues, TGetApiValues, TOnSubmitReturnType, TApiValues>, "getApiData" | "onSubmitInvalid" | "onBeforeSubmitInvariants" | "onBeforeSubmit" | "onSubmit" | "onSubmitSuccess" | "onSubmitError" | "onSubmitFinally" | "form" | "className">>) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const RhfUtilsFormWithSubmitHandler_Internal: <TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined>({ getApiData, onSubmitInvalid, onBeforeSubmitInvariants, onBeforeSubmit, onSubmit, onSubmitSuccess, onSubmitError, onSubmitFinally, form, className, children, }: React.PropsWithChildren<Pick<RhfUtilsFormProps<TFieldValues, TTransformedValues, TGetApiValues, TOnSubmitReturnType, TApiValues>, "getApiData" | "onSubmitInvalid" | "onBeforeSubmitInvariants" | "onBeforeSubmit" | "onSubmit" | "onSubmitSuccess" | "onSubmitError" | "onSubmitFinally" | "form" | "className">>) => React.JSX.Element;
@@ -5,4 +5,4 @@ import { RhfUtilsFormWithProvidersProps } from './RhfUtilsFormWithProvidersProps
5
5
  * Form providers (with utils) with immediate descendent {@link RhfUtilsForm}.
6
6
  * (Syntactic sugar for {@link useRhfUtilsForm}. Use this for most applications.)
7
7
  */
8
- export declare function RhfUtilsFormWithProviders<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined>({ getApiData, resolver, rhf, defaultValues, options, relay, onCancel, onSubmitInvalid, onBeforeSubmitInvariants, onBeforeSubmit, onSubmit, onSubmitSuccess, onSubmitError, onSubmitFinally, Children, form, formId, className, }: RhfUtilsFormWithProvidersProps<TFieldValues, TTransformedValues, TGetApiValues, TOnSubmitReturnType, TApiValues>): import("react/jsx-runtime").JSX.Element;
8
+ export declare function RhfUtilsFormWithProviders<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined>({ getApiData, resolver, rhf, defaultValues, options, relay, onCancel, onSubmitInvalid, onBeforeSubmitInvariants, onBeforeSubmit, onSubmit, onSubmitSuccess, onSubmitError, onSubmitFinally, Children, form, formId, className, }: RhfUtilsFormWithProvidersProps<TFieldValues, TTransformedValues, TGetApiValues, TOnSubmitReturnType, TApiValues>): import("react").JSX.Element;
@@ -1,4 +1,8 @@
1
+ import { Resolver } from 'react-hook-form';
2
+ import { Merge } from '../../utils/types';
1
3
  import { RhfUtilsFormProvidersProps } from '../providers/RhfUtilsFormProvidersPropsType';
2
4
  import { SafeFieldValues } from '../rhf/SafeFieldValuesType';
3
5
  import { RhfUtilsFormProps, RhfUtilsFormPropsGetApiValues } from '../with-handlers-and-children/RhfUtilsFormProps';
4
- export type RhfUtilsFormWithProvidersProps<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined> = RhfUtilsFormProvidersProps<TFieldValues, TTransformedValues> & RhfUtilsFormProps<TFieldValues, TTransformedValues, TGetApiValues, TOnSubmitReturnType, TApiValues>;
6
+ export type RhfUtilsFormWithProvidersProps<TFieldValues extends SafeFieldValues, TTransformedValues extends SafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined> = Merge<RhfUtilsFormProps<TFieldValues, TTransformedValues, TGetApiValues, TOnSubmitReturnType, TApiValues>, RhfUtilsFormProvidersProps<TFieldValues, TTransformedValues>, {
7
+ resolver?: Resolver<TFieldValues, unknown, TTransformedValues>;
8
+ }>;
File without changes
@@ -0,0 +1,5 @@
1
+ /**
2
+ * See https://playwright.dev/docs/test-configuration.
3
+ */
4
+ declare const _default: import('@playwright/experimental-ct-react').PlaywrightTestConfig<{}, {}>;
5
+ export default _default;
@@ -3,5 +3,5 @@ import { RhfUtilsFormProps, RhfUtilsFormPropsGetApiValues } from '../../../form/
3
3
  import { zodTypeInput, zodTypeOutput } from '../consts';
4
4
  import { ZodTypeSafeFieldValues } from '../ZodTypeSafeFieldValuesType';
5
5
  type Props<TSchema extends ZodTypeSafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TSchema[typeof zodTypeOutput], SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TSchema[typeof zodTypeOutput], infer U> ? U : undefined> = React.PropsWithChildren<RhfUtilsFormProps<TSchema[typeof zodTypeInput], TSchema[typeof zodTypeOutput], TGetApiValues, TOnSubmitReturnType, TApiValues>>;
6
- export declare const RhfUtilsZodForm: <TSchema extends ZodTypeSafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TSchema[typeof zodTypeOutput], SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TSchema[typeof zodTypeOutput], infer U> ? U : undefined>(props: Props<TSchema, TGetApiValues, TOnSubmitReturnType, TApiValues>) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const RhfUtilsZodForm: <TSchema extends ZodTypeSafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TSchema[typeof zodTypeOutput], SafeFieldValues>, TOnSubmitReturnType, TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TSchema[typeof zodTypeOutput], infer U> ? U : undefined>(props: Props<TSchema, TGetApiValues, TOnSubmitReturnType, TApiValues>) => import("react").JSX.Element;
7
7
  export {};
@@ -4,5 +4,5 @@ import { ZodTypeSafeFieldValues } from '../ZodTypeSafeFieldValuesType';
4
4
  type Props<TSchema extends ZodTypeSafeFieldValues> = React.PropsWithChildren<{
5
5
  schema: TSchema;
6
6
  } & RhfUtilsFormProvidersProps<TSchema[typeof zodTypeInput], TSchema[typeof zodTypeOutput]>>;
7
- export declare const RhfUtilsZodFormProviders: <TSchema extends ZodTypeSafeFieldValues>({ schema, children, ...props }: Props<TSchema>) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const RhfUtilsZodFormProviders: <TSchema extends ZodTypeSafeFieldValues>({ schema, children, ...props }: Props<TSchema>) => import("react").JSX.Element;
8
8
  export {};
@@ -6,5 +6,5 @@ import { ZodTypeSafeFieldValues } from '../ZodTypeSafeFieldValuesType';
6
6
  type Props<TSchema extends ZodTypeSafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TFieldValues extends TSchema[typeof zodTypeInput] = TSchema[typeof zodTypeInput], TTransformedValues extends TSchema[typeof zodTypeOutput] = TSchema[typeof zodTypeOutput], TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined> = React.PropsWithChildren<{
7
7
  schema: TSchema;
8
8
  } & Omit<RhfUtilsFormProvidersProps<TFieldValues, TTransformedValues>, 'resolver'> & RhfUtilsFormProps<TFieldValues, TTransformedValues, TGetApiValues, TOnSubmitReturnType, TApiValues>>;
9
- export declare const RhfUtilsZodFormWithProviders: <TSchema extends ZodTypeSafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TFieldValues extends TSchema[typeof zodTypeInput] = TSchema[typeof zodTypeInput], TTransformedValues extends TSchema[typeof zodTypeOutput] = TSchema[typeof zodTypeOutput], TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined>({ schema, ...props }: Props<TSchema, TGetApiValues, TOnSubmitReturnType, TFieldValues, TTransformedValues, TApiValues>) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const RhfUtilsZodFormWithProviders: <TSchema extends ZodTypeSafeFieldValues, TGetApiValues extends undefined | RhfUtilsFormPropsGetApiValues<TTransformedValues, SafeFieldValues>, TOnSubmitReturnType, TFieldValues extends TSchema[typeof zodTypeInput] = TSchema[typeof zodTypeInput], TTransformedValues extends TSchema[typeof zodTypeOutput] = TSchema[typeof zodTypeOutput], TApiValues extends undefined | SafeFieldValues = TGetApiValues extends RhfUtilsFormPropsGetApiValues<TTransformedValues, infer U> ? U : undefined>({ schema, ...props }: Props<TSchema, TGetApiValues, TOnSubmitReturnType, TFieldValues, TTransformedValues, TApiValues>) => import("react").JSX.Element;
10
10
  export {};
@@ -9,6 +9,6 @@ import { SafeFieldValues } from '../../form/rhf/SafeFieldValuesType';
9
9
  * - simplified `ErrorOption` value.
10
10
  */
11
11
  export type FormSubmitFieldErrors<TFieldValues extends SafeFieldValues = SafeFieldValues> = Record<FieldPath<TFieldValues> | `root.${string}`, {
12
- type?: string;
13
12
  message: string;
13
+ type?: string;
14
14
  }>;
@@ -13,20 +13,18 @@ var _ = s.createContext(void 0), v = ({ config: e, children: n }) => {
13
13
  }, { Provider: y, useRequired: b } = o(), x = () => {
14
14
  let e = b();
15
15
  return s.useMemo(() => !e.hasErrors || !e.hasOrphans ? !1 : Object.keys(e.orphans).length === Object.keys(e.all).length, [e]);
16
- }, S = "data-rhfutils-nonfield-error-marker-path", C = ({ path: e }) => {
17
- let t = { [S]: e };
18
- return /* @__PURE__ */ c("div", {
19
- role: "alert",
20
- "aria-hidden": "true",
21
- style: { display: "none" },
22
- ...t
23
- });
24
- }, w = (e) => s.useCallback((t) => {
16
+ }, S = "data-rhfutils-nonfield-error-marker-path", C = ({ path: e }) => /* @__PURE__ */ c("div", {
17
+ role: "alert",
18
+ "aria-hidden": "true",
19
+ style: { display: "none" },
20
+ [S]: e
21
+ }), w = (e) => s.useCallback((t) => {
25
22
  if (!e.current) throw Error();
26
23
  ee(e.current, t);
27
24
  }, [e]), ee = (e, t) => {
28
25
  e.requestSubmit(t);
29
26
  }, T = class extends Error {
27
+ errors;
30
28
  constructor(e, t) {
31
29
  super(t), this.errors = e;
32
30
  }
@@ -35,39 +33,39 @@ var _ = s.createContext(void 0), v = ({ config: e, children: n }) => {
35
33
  if (!t) return null;
36
34
  let n = typeof t == "object" ? t : void 0;
37
35
  return /* @__PURE__ */ c(s.Suspense, { children: /* @__PURE__ */ c(O, { ...n }) });
38
- }, ne = () => /* @__PURE__ */ c(k, { config: r().options.devTool }), A = (e) => /* @__PURE__ */ c(u, { ...e }), j = () => {
36
+ }, A = () => /* @__PURE__ */ c(k, { config: r().options.devTool }), j = (e) => /* @__PURE__ */ c(u, { ...e }), M = () => {
39
37
  let e = s.useContext(_);
40
38
  if (e === void 0) throw Error();
41
39
  return e;
42
- }, re = () => ({
40
+ }, ne = () => ({
43
41
  utils: r(),
44
42
  rhf: p(),
45
43
  FormSubmitError: T
46
- }), ie = (e, t, n) => {
44
+ }), re = (e, t, n) => {
47
45
  let r = t?.();
48
46
  return async () => {
49
47
  if (e && await Promise.resolve(r?.(n)) !== !1) return Promise.resolve(e());
50
48
  };
51
- }, ae = (e) => {
52
- let { useCanFormBeCancelled: t } = j();
53
- return ie(e, t, re());
54
- }, oe = ({ onCancel: e, Children: t }) => {
55
- let n = p(), i = r(), a = ae(e);
49
+ }, ie = (e) => {
50
+ let { useCanFormBeCancelled: t } = M();
51
+ return re(e, t, ne());
52
+ }, ae = ({ onCancel: e, Children: t }) => {
53
+ let n = p(), i = r(), a = ie(e);
56
54
  return /* @__PURE__ */ c(t, {
57
55
  ...i,
58
56
  rhf: n,
59
57
  onCancel: a,
60
- Controller: A,
58
+ Controller: j,
61
59
  FormSubmitError: T
62
60
  });
63
- }, M = (e, t) => {
61
+ }, N = (e, t) => {
64
62
  Object.entries(t).forEach(([t, n]) => {
65
63
  e.setError(t, {
66
64
  type: "FormSubmitFieldError",
67
65
  ...n
68
66
  });
69
67
  });
70
- }, N = ({ children: e }) => e, P = (e, t, n) => ({
68
+ }, P = (e, t, n) => ({
71
69
  ...e,
72
70
  ...t,
73
71
  className: [
@@ -77,7 +75,7 @@ var _ = s.createContext(void 0), v = ({ config: e, children: n }) => {
77
75
  ].filter(Boolean).join(" ").trim() || void 0
78
76
  }), F = (e, t, n) => ({
79
77
  id: t,
80
- ...P(j().defaults?.form, e, n)
78
+ ...P(M().defaults?.form, e, n)
81
79
  }), I = (e) => {
82
80
  let t = E();
83
81
  return async function(n) {
@@ -98,52 +96,50 @@ var _ = s.createContext(void 0), v = ({ config: e, children: n }) => {
98
96
  i?.();
99
97
  });
100
98
  };
101
- }, R = ({ getApiData: e, onSubmitInvalid: t, onBeforeSubmitInvariants: n, onBeforeSubmit: i, onSubmit: a, onSubmitSuccess: o, onSubmitError: s, onSubmitFinally: l, form: u, className: d, children: f }) => {
102
- let m = p(), h = r(), g = j(), _ = F(u, h.formId, { className: d }), v = async (t, r) => {
99
+ }, R = ({ getApiData: e, onSubmitInvalid: t, onBeforeSubmitInvariants: n, onBeforeSubmit: i, onSubmit: a, onSubmitSuccess: o, onSubmitError: l, onSubmitFinally: u, form: d, className: f, children: m }) => {
100
+ let h = p(), g = r(), _ = M(), v = F(d, g.formId, { className: f }), y = async (t, r) => {
103
101
  let s = {
104
- input: m.getValues(),
102
+ input: h.getValues(),
105
103
  output: t,
106
104
  api: e?.(t)
107
105
  }, c = {
108
- utils: h,
109
- rhf: m,
106
+ utils: g,
107
+ rhf: h,
110
108
  FormSubmitError: T
111
109
  }, l = r;
112
110
  n && await z(n, s, c, l), await Promise.resolve(i?.(s, c, l));
113
111
  let u = await Promise.resolve(a?.(s, c, l));
114
- h.lastSubmitStateRef.current = "success", await Promise.resolve(o?.(u, s, c, l));
112
+ g.lastSubmitStateRef.current = "success", await Promise.resolve(o?.(u, s, c, l));
115
113
  };
116
- function y(e, t) {
117
- let n = e instanceof T ? e.errors : g.onSubmitErrorUnknown?.(e);
118
- n && M(m, n), s?.(e, {
119
- utils: h,
114
+ function b(e, t) {
115
+ let n = e instanceof T ? e.errors : _.onSubmitErrorUnknown?.(e);
116
+ n && N(h, n), l?.(e, {
117
+ utils: g,
120
118
  errors: n,
121
- rhf: m
119
+ rhf: h
122
120
  }, t);
123
121
  }
124
- let b = L({
125
- onValid: v,
122
+ let x = L({
123
+ onValid: y,
126
124
  onInvalid: t,
127
- onError: y,
128
- onFinally: l
129
- }), x = {
130
- ...h,
131
- rhf: m,
132
- Controller: A,
133
- FormSubmitError: T
134
- }, S = g.FormComponent ?? "form", C = g.FormChildren ?? N;
135
- return /* @__PURE__ */ c(S, {
136
- ..._,
137
- id: h.formId,
138
- ref: h.formRef,
139
- onSubmit: b,
140
- children: /* @__PURE__ */ c(C, {
141
- ...x,
142
- children: f
143
- })
125
+ onError: b,
126
+ onFinally: u
127
+ }), S = s.useCallback(() => m, []), C = {
128
+ ...g,
129
+ rhf: h,
130
+ Controller: j,
131
+ FormSubmitError: T,
132
+ Outlet: S
133
+ };
134
+ return /* @__PURE__ */ c(_.FormComponent ?? "form", {
135
+ ...v,
136
+ id: g.formId,
137
+ ref: g.formRef,
138
+ onSubmit: x,
139
+ children: _.FormInjector ? /* @__PURE__ */ c(_.FormInjector, { ...C }) : m
144
140
  });
145
141
  }, z = async (e, t, n, r) => {
146
- let i = (await Promise.resolve(e(t, n, r))).filter(({ valid: e }) => !e).map(({ field: e, message: t }) => [e, { message: t }]);
142
+ let i = (await Promise.resolve(e(t, n, r))).filter(({ validate: e }) => !e).map(({ field: e, message: t }) => [e, { message: t }]);
147
143
  if (i.length) throw new n.FormSubmitError(Object.fromEntries(i));
148
144
  }, B = ({ getApiData: e, onCancel: t, onSubmitInvalid: n, onBeforeSubmitInvariants: r, onBeforeSubmit: i, onSubmit: a, onSubmitSuccess: o, onSubmitError: s, onSubmitFinally: u, Children: d, form: f, className: p }) => /* @__PURE__ */ l(R, {
149
145
  getApiData: e,
@@ -156,24 +152,24 @@ var _ = s.createContext(void 0), v = ({ config: e, children: n }) => {
156
152
  onSubmitFinally: u,
157
153
  form: f,
158
154
  className: p,
159
- children: [/* @__PURE__ */ c(ne, {}), /* @__PURE__ */ c(oe, {
155
+ children: [/* @__PURE__ */ c(A, {}), /* @__PURE__ */ c(ae, {
160
156
  onCancel: t,
161
157
  Children: d
162
158
  })]
163
- }), V = (e) => /* @__PURE__ */ c(B, { ...e }), H = (e) => (t) => Object.fromEntries(Object.entries(t).filter(e)), U = (e) => !!e.ref, W = H(([, e]) => U(e)), G = (e, t) => [["", ""], ...t?.excludeNested ? [] : [["^", "."]]].map(([t, n]) => K(S + t, e + n)).join(", "), K = (e, t) => `[role="alert"][${e}="${t}"]`, q = (e, t) => !!t.querySelector(G(e)), J = (e) => e === "root" || e.startsWith("root."), se = (e, t, n) => !U(t) && !J(e) && !q(e, n), ce = (e) => ([t, n]) => se(t, n, e), le = (e, t) => H(ce(t))(e), ue = H(([e]) => J(e)), de = ({ formRef: e, children: t }) => {
164
- let { errors: r } = m(), a = i(r), o = e.current ? le(a, e.current) : {};
159
+ }), V = (e) => /* @__PURE__ */ c(B, { ...e }), H = (e) => (t) => Object.fromEntries(Object.entries(t).filter(e)), U = (e) => !!e.ref, W = H(([, e]) => U(e)), G = (e, t) => [["", ""], ...t?.excludeNested ? [] : [["^", "."]]].map(([t, n]) => K(S + t, e + n)).join(", "), K = (e, t) => `[role="alert"][${e}="${t}"]`, q = (e, t) => !!t.querySelector(G(e)), J = (e) => e === "root" || e.startsWith("root."), oe = (e, t, n) => !U(t) && !J(e) && !q(e, n), se = (e) => ([t, n]) => oe(t, n, e), ce = (e, t) => H(se(t))(e), le = H(([e]) => J(e)), ue = ({ formRef: e, children: t }) => {
160
+ let { errors: r } = m(), a = i(r), o = e.current ? ce(a, e.current) : {};
165
161
  return /* @__PURE__ */ c(y, {
166
162
  value: {
167
163
  all: a,
168
164
  fields: W(a),
169
- roots: ue(a),
165
+ roots: le(a),
170
166
  orphans: o,
171
167
  hasErrors: !n(r),
172
168
  hasOrphans: !n(o)
173
169
  },
174
170
  children: t
175
171
  });
176
- }, fe = ({ children: e }) => {
172
+ }, de = ({ children: e }) => {
177
173
  let [t, n] = s.useState(void 0);
178
174
  return /* @__PURE__ */ c(te, {
179
175
  value: {
@@ -190,35 +186,35 @@ var _ = s.createContext(void 0), v = ({ config: e, children: n }) => {
190
186
  },
191
187
  children: e
192
188
  });
193
- }, pe = (e, t, n, r = "debug") => {
189
+ }, fe = (e, t, n, r = "debug") => {
194
190
  console[r](e, {
195
191
  values: t,
196
192
  errors: n
197
193
  });
198
- }, me = (e) => {
194
+ }, pe = (e) => {
199
195
  let t = p(), n = b();
200
196
  s.useEffect(() => {
201
197
  if (!n.hasErrors) return;
202
198
  let r = e?.console?.(n);
203
- r && pe(r.message ?? Y, t.getValues(), n, r.type);
199
+ r && fe(r.message ?? Y, t.getValues(), n, r.type);
204
200
  let i = e?.throw?.(n);
205
201
  if (i) throw Error(typeof i == "string" ? i : Y);
206
202
  }, [n]);
207
- }, Y = "Form errors", he = (e) => {
203
+ }, Y = "Form errors", me = (e) => {
208
204
  let t = s.useRef(!1);
209
205
  return s.useEffect(() => {
210
206
  e && (t.current = !0);
211
207
  }, [e]), [t, () => {
212
208
  t.current = !1;
213
209
  }];
214
- }, ge = (e, t) => {
215
- let { isSubmitSuccessful: n, isSubmitting: r } = m(), [i, a] = he(r);
210
+ }, he = (e, t) => {
211
+ let { isSubmitSuccessful: n, isSubmitting: r } = m(), [i, a] = me(r);
216
212
  s.useEffect(() => {
217
213
  e && (r || i.current && (a(), (t?.successful === void 0 || n === t.successful) && e(n)));
218
214
  }, [r]);
219
- }, _e = (e) => {
215
+ }, ge = (e) => {
220
216
  let { getValues: t, reset: n } = p();
221
- ge((r) => {
217
+ he((r) => {
222
218
  if (!e) return;
223
219
  let i = e[r ? "success" : "error"]?.values;
224
220
  if (!i) return;
@@ -231,12 +227,12 @@ var _ = s.createContext(void 0), v = ({ config: e, children: n }) => {
231
227
  keepErrors: !0
232
228
  });
233
229
  });
234
- }, ve = () => {
230
+ }, _e = () => {
235
231
  let e = s.useRef(X);
236
232
  return s.useEffect(() => (e.current &&= !X, () => {
237
233
  e.current = X;
238
234
  }), []), e;
239
- }, X = !0, ye = ({ onChange: e, delay: t }) => {
235
+ }, X = !0, ve = ({ onChange: e, delay: t }) => {
240
236
  let n = s.useRef(null), r = () => {
241
237
  n.current &&= (e(n.current.value), null);
242
238
  }, i = () => {
@@ -248,16 +244,16 @@ var _ = s.createContext(void 0), v = ({ config: e, children: n }) => {
248
244
  timer: setTimeout(r, t)
249
245
  };
250
246
  }];
251
- }, be = (e, t) => {
252
- let n = w(e), [r] = ye({
247
+ }, ye = (e, t) => {
248
+ let n = w(e), [r] = ve({
253
249
  delay: t?.debounce ?? 0,
254
250
  onChange: () => {
255
251
  n();
256
252
  }
257
253
  });
258
254
  return r;
259
- }, xe = (e, t) => {
260
- let n = be(e, { debounce: t?.debounce }), r = h(), { isValid: i, isDirty: a, isValidating: o, isSubmitting: c } = m(), l = s.useMemo(() => JSON.stringify(r), [r]), u = ve();
255
+ }, be = (e, t) => {
256
+ let n = ye(e, { debounce: t?.debounce }), r = h(), { isValid: i, isDirty: a, isValidating: o, isSubmitting: c } = m(), l = s.useMemo(() => JSON.stringify(r), [r]), u = _e();
261
257
  s.useEffect(() => {
262
258
  u.current || o || c || i && a && n(r);
263
259
  }, [
@@ -266,9 +262,9 @@ var _ = s.createContext(void 0), v = ({ config: e, children: n }) => {
266
262
  l,
267
263
  o
268
264
  ]);
269
- }, Se = ({ formId: t, formRef: n, options: r, children: i }) => {
265
+ }, xe = ({ formId: t, formRef: n, options: r, children: i }) => {
270
266
  let [a] = s.useState(r);
271
- return me(j().fieldErrors?.output), (a.submitOnWatch ? xe : void 0)?.(n, a.submitOnWatch), _e(a.resetOnSubmitted), /* @__PURE__ */ c(e, {
267
+ return pe(M().fieldErrors?.output), (a.submitOnWatch ? be : void 0)?.(n, a.submitOnWatch), ge(a.resetOnSubmitted), /* @__PURE__ */ c(e, {
272
268
  value: {
273
269
  formId: t,
274
270
  formRef: n,
@@ -277,48 +273,48 @@ var _ = s.createContext(void 0), v = ({ config: e, children: n }) => {
277
273
  },
278
274
  children: i
279
275
  });
280
- }, Z = (e, t) => ({
276
+ }, Se = (e, t) => ({
281
277
  ...e,
282
278
  ...t,
283
279
  ...(e?.resetOnSubmitted || t?.resetOnSubmitted) && { resetOnSubmitted: {
284
280
  ...e?.resetOnSubmitted,
285
281
  ...t?.resetOnSubmitted
286
282
  } }
287
- }), Ce = (e, t) => s.useMemo(() => Z(e.defaults?.options, t), [JSON.stringify(t)]), we = (e, t) => ({
283
+ }), Z = (e, t) => s.useMemo(() => Se(e.defaults?.options, t), [JSON.stringify(t)]), Ce = (e, t) => ({
288
284
  ...e,
289
285
  ...t
290
- }), Te = (e, t, n, r) => f({
291
- ...we(t.defaults?.rhf, e),
286
+ }), we = (e, t, n, r) => f({
287
+ ...Ce(t.defaults?.rhf, e),
292
288
  resolver: r,
293
289
  defaultValues: n
294
290
  });
295
291
  //#endregion
296
292
  //#region src/form/providers/RhfUtilsFormProviders.tsx
297
293
  function Q({ formId: e, rhf: t, resolver: n, defaultValues: r, options: i, relay: o, children: u }) {
298
- let f = j(), p = s.useId(), m = e || p, h = s.useRef(null), g = Te(t, f, r, n), _ = Ce(f, i);
294
+ let f = M(), p = s.useId(), m = e || p, h = s.useRef(null), g = we(t, f, r, n), _ = Z(f, i);
299
295
  return /* @__PURE__ */ c(d, {
300
296
  ...g,
301
- children: /* @__PURE__ */ c(de, {
297
+ children: /* @__PURE__ */ c(ue, {
302
298
  formRef: h,
303
- children: /* @__PURE__ */ l(Se, {
299
+ children: /* @__PURE__ */ l(xe, {
304
300
  formId: m,
305
301
  formRef: h,
306
302
  options: _,
307
- children: [/* @__PURE__ */ c(a, { options: o }), /* @__PURE__ */ c(fe, { children: u })]
303
+ children: [/* @__PURE__ */ c(a, { options: o }), /* @__PURE__ */ c(de, { children: u })]
308
304
  })
309
305
  })
310
306
  });
311
307
  }
312
308
  //#endregion
313
309
  //#region src/resolvers/zod/getZodResolver.ts
314
- var $ = (e) => g(e), Ee = ({ schema: e, children: t, ...n }) => /* @__PURE__ */ c(Q, {
310
+ var $ = (e) => g(e), Te = ({ schema: e, children: t, ...n }) => /* @__PURE__ */ c(Q, {
315
311
  ...n,
316
312
  resolver: $(e),
317
313
  children: t
318
314
  });
319
315
  //#endregion
320
316
  //#region src/form/with-providers/RhfUtilsFormWithProviders.tsx
321
- function De({ getApiData: e, resolver: t, rhf: n, defaultValues: r, options: i, relay: a, onCancel: o, onSubmitInvalid: s, onBeforeSubmitInvariants: l, onBeforeSubmit: u, onSubmit: d, onSubmitSuccess: f, onSubmitError: p, onSubmitFinally: m, Children: h, form: g, formId: _, className: v }) {
317
+ function Ee({ getApiData: e, resolver: t, rhf: n, defaultValues: r, options: i, relay: a, onCancel: o, onSubmitInvalid: s, onBeforeSubmitInvariants: l, onBeforeSubmit: u, onSubmit: d, onSubmitSuccess: f, onSubmitError: p, onSubmitFinally: m, Children: h, form: g, formId: _, className: v }) {
322
318
  let y = {
323
319
  formId: _,
324
320
  resolver: t,
@@ -347,9 +343,9 @@ function De({ getApiData: e, resolver: t, rhf: n, defaultValues: r, options: i,
347
343
  }
348
344
  //#endregion
349
345
  //#region src/resolvers/zod/with-providers/RhfUtilsZodFormWithProviders.tsx
350
- var Oe = ({ schema: e, ...t }) => /* @__PURE__ */ c(De, {
346
+ var De = ({ schema: e, ...t }) => /* @__PURE__ */ c(Ee, {
351
347
  ...t,
352
348
  resolver: $(e)
353
349
  });
354
350
  //#endregion
355
- export { T as FormSubmitError, v as RhfUtilsClientConfigProvider, C as RhfUtilsNonFieldErrorMarker, V as RhfUtilsZodForm, Ee as RhfUtilsZodFormProviders, Oe as RhfUtilsZodFormWithProviders, b as useFlatFieldErrorsContext, x as useFlatFieldErrorsContextHasOnlyOrphans, w as useFormRequestSubmit, D as useLastSubmitError, r as useRhfUtilsContext };
351
+ export { T as FormSubmitError, v as RhfUtilsClientConfigProvider, C as RhfUtilsNonFieldErrorMarker, V as RhfUtilsZodForm, Te as RhfUtilsZodFormProviders, De as RhfUtilsZodFormWithProviders, b as useFlatFieldErrorsContext, x as useFlatFieldErrorsContextHasOnlyOrphans, w as useFormRequestSubmit, D as useLastSubmitError, r as useRhfUtilsContext };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@paragrav/rhf-utils",
3
3
  "author": "paragrav.dev",
4
- "version": "0.63.0",
4
+ "version": "0.65.0",
5
5
  "description": "Integration utilities for react-hook-form.",
6
6
  "type": "module",
7
7
  "sideEffects": false,
@@ -60,50 +60,52 @@
60
60
  }
61
61
  },
62
62
  "devDependencies": {
63
- "@eslint/compat": "^2.0.3",
63
+ "@eslint/compat": "^2.1.0",
64
+ "@eslint/config-helpers": "^0.6.0",
64
65
  "@eslint/eslintrc": "^3.3.5",
65
66
  "@eslint/js": "^9.39.4",
66
- "@playwright/experimental-ct-react": "^1.58.2",
67
- "@playwright/test": "^1.58.2",
67
+ "@playwright/experimental-ct-react": "^1.60.0",
68
+ "@playwright/test": "^1.60.0",
68
69
  "@rollup/plugin-typescript": "^12.3.0",
69
- "@types/node": "^24.12.0",
70
- "@typescript-eslint/eslint-plugin": "^8.57.2",
71
- "@typescript-eslint/parser": "^8.57.2",
72
- "@vitejs/plugin-react": "^6.0.1",
73
- "clean-publish": "^6.0.4",
70
+ "@types/node": "^24.13.1",
71
+ "@typescript-eslint/eslint-plugin": "8.61.0",
72
+ "@typescript-eslint/parser": "8.61.0",
73
+ "@vitejs/plugin-react": "^6.0.2",
74
+ "clean-publish": "^7.1.0",
74
75
  "cross-env": "^10.1.0",
75
76
  "eslint": "^9.39.4",
76
77
  "eslint-config-prettier": "^10.1.8",
77
78
  "eslint-import-resolver-alias": "^1.1.2",
78
- "eslint-import-resolver-typescript": "^4.4.4",
79
+ "eslint-import-resolver-typescript": "^4.4.5",
79
80
  "eslint-plugin-import": "^2.32.0",
80
81
  "eslint-plugin-jsx-a11y": "^6.10.2",
81
- "eslint-plugin-prettier": "^5.5.5",
82
+ "eslint-plugin-prettier": "^5.5.6",
82
83
  "eslint-plugin-react": "^7.37.5",
83
- "eslint-plugin-react-hooks": "^7.0.1",
84
+ "eslint-plugin-react-hooks": "^7.1.1",
84
85
  "eslint-plugin-react-refresh": "^0.5.2",
85
- "eslint-plugin-simple-import-sort": "^12.1.1",
86
- "globals": "^17.4.0",
87
- "happy-dom": "^20.8.8",
86
+ "eslint-plugin-simple-import-sort": "^13.0.0",
87
+ "globals": "^17.6.0",
88
+ "happy-dom": "^20.10.2",
88
89
  "husky": "^9.1.7",
89
- "lint-staged": "^16.4.0",
90
- "prettier": "^3.8.1",
91
- "rollup": "^4.60.0",
90
+ "lint-staged": "^17.0.7",
91
+ "prettier": "^3.8.4",
92
+ "rollup": "^4.61.1",
92
93
  "safe-stable-stringify": "^2.5.0",
93
- "terser": "^5.46.1",
94
- "typescript": "^6.0.2",
95
- "typescript-eslint": "^8.57.2",
96
- "vite": "^8.0.2",
97
- "vite-plugin-dts": "^4.5.4",
98
- "vitest": "^4.1.1"
94
+ "terser": "^5.48.0",
95
+ "typescript": "^6.0.3",
96
+ "typescript-eslint": "8.61.0",
97
+ "unplugin-dts": "^1.0.2",
98
+ "vite": "^8.0.16",
99
+ "vitest": "^4.1.8"
99
100
  },
100
101
  "resolutions": {
102
+ "unrs-resolver": "1.11.1",
101
103
  "eslint": "^9.39.4",
102
104
  "@types/react": "^19.0.4",
103
105
  "@types/react-dom": "^19.0.2",
104
106
  "react": "^19.0.0",
105
107
  "react-dom": "^19.0.0",
106
- "typescript": "^6.0.2",
108
+ "typescript": "^6.0.3",
107
109
  "vite": "^8.0.2"
108
110
  },
109
111
  "repository": {