react-form-action 2.2.1 → 2.3.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 +1 -1
- package/dist/client.d.mts +15 -9
- package/dist/client.mjs +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -135,7 +135,7 @@ const authAction = formAction
|
|
|
135
135
|
.use(async ({ ctx: { t } }) =>
|
|
136
136
|
console.log("🎉 context enhanced by previous middlewares 🎉", t)
|
|
137
137
|
)
|
|
138
|
-
.error(({ error }) => {
|
|
138
|
+
.error(async ({ error }) => {
|
|
139
139
|
if (error instanceof DbError) {
|
|
140
140
|
return error.custom.code;
|
|
141
141
|
} else {
|
package/dist/client.d.mts
CHANGED
|
@@ -49,21 +49,27 @@ type Paths<Err> = {
|
|
|
49
49
|
[k in keyof Err]: k extends string ? Err[k] extends object ? `${k}${typeof SEPARATOR}${Paths<Err[k]>}` : k : never;
|
|
50
50
|
}[keyof Err];
|
|
51
51
|
type InferZodErrorPaths<Errors> = Errors extends ZodFormattedError<infer E> ? Paths<E> : never;
|
|
52
|
-
type ZodFieldErrorProps<Errors extends ZodFormattedError<any>> = {
|
|
52
|
+
type ZodFieldErrorProps<Errors extends ZodFormattedError<any>, Name extends "" | InferZodErrorPaths<Errors>> = {
|
|
53
53
|
errors: Errors;
|
|
54
|
-
name?:
|
|
55
|
-
} & Partial<RenderProp<
|
|
54
|
+
name?: Name;
|
|
55
|
+
} & Partial<RenderProp<ZodFieldErrorChildrenProps<Name>>>;
|
|
56
|
+
type ZodFieldErrorChildrenProps<Name> = {
|
|
57
|
+
name: Name;
|
|
58
|
+
error?: string;
|
|
56
59
|
errors: readonly string[];
|
|
57
|
-
}
|
|
58
|
-
declare
|
|
60
|
+
};
|
|
61
|
+
declare const noError: Readonly<{
|
|
62
|
+
_errors: readonly string[];
|
|
63
|
+
}>;
|
|
64
|
+
declare function ZodFieldError<Errors extends ZodFormattedError<any>, Name extends "" | InferZodErrorPaths<Errors> = "">({ errors, name, children, }: ZodFieldErrorProps<Errors, Name>): React__default.ReactNode;
|
|
59
65
|
|
|
60
66
|
/**
|
|
61
67
|
* Creates a typed components for actions created with the formAction builder.
|
|
62
68
|
*/
|
|
63
69
|
declare function createComponents<Data, Error, ValidationError extends ZodFormattedError<any>>(action: FormAction<Data, Error, ValidationError>): {
|
|
64
|
-
FieldError: ({ name, }:
|
|
65
|
-
name?:
|
|
66
|
-
}
|
|
70
|
+
FieldError: <Name extends "" | InferZodErrorPaths<ValidationError>>({ name, children, }: {
|
|
71
|
+
name?: Name;
|
|
72
|
+
} & Partial<RenderProp<ZodFieldErrorChildrenProps<Name>>>) => React__default.JSX.Element;
|
|
67
73
|
Success: ({ children, }: PropsWithChildren | RP<{
|
|
68
74
|
isSuccess: false;
|
|
69
75
|
data: Data | null;
|
|
@@ -82,4 +88,4 @@ declare function Pending({ children, }: PropsWithChildren | RP<{
|
|
|
82
88
|
isPending: boolean;
|
|
83
89
|
}>): React.ReactNode;
|
|
84
90
|
|
|
85
|
-
export { Action, type ActionContextState, type ActionProps, Form, type FormProps, FormStatus, type InferZodErrorPaths, type Paths, Pending, ZodFieldError, type ZodFieldErrorProps, createComponents, useActionContext };
|
|
91
|
+
export { Action, type ActionContextState, type ActionProps, Form, type FormProps, FormStatus, type InferZodErrorPaths, type Paths, Pending, ZodFieldError, type ZodFieldErrorChildrenProps, type ZodFieldErrorProps, createComponents, noError, useActionContext };
|
package/dist/client.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{a as
|
|
1
|
+
"use client";import{a as m}from"./chunk-HL47DG4L.mjs";import y from"react";import{createContext as P,use as S}from"react";import{useActionState as F}from"react";var p={isInitial:!1,isInvalid:!1,isFailure:!1,isSuccess:!1},u=P(null);function a(t){let o=S(u);if(!o)throw new Error("ActionContext must be initialized before use. Is your useActionContext hook wrapped with an <Action> Component?");return o}function w({children:t,action:o,initialData:i,permalink:e}){let[r,n,s]=F(o,m(i),e),l=r.type==="initial"?{...r,...p,action:n,isPending:s,isInitial:!0}:r.type==="invalid"?{...r,...p,action:n,isPending:s,isInvalid:!0}:r.type==="failure"?{...r,...p,action:n,isPending:s,isFailure:!0}:{...r,...p,action:n,isPending:s,isSuccess:!0};return y.createElement(u,{value:l},t)}import A,{startTransition as C}from"react";function N({autoReset:t=!1,...o}){let{action:i}=a();return A.createElement("form",{...t?{action:i}:{onSubmit:r=>{r.preventDefault();let n=r.currentTarget;C(()=>{i(new FormData(n))})}},...o})}import c from"react";import f from"react";var h=".",d=Object.freeze({_errors:Object.freeze([])});function E({errors:t,name:o="",children:i=({error:e})=>f.createElement(f.Fragment,null,e)}){if(o.length===0)return i({name:o,error:t._errors[0],errors:t._errors});let e=o.split(h),r=t;for(;e.length;){let n=e.shift();r=r[n]??d}return i({name:o,error:r._errors[0],errors:r._errors})}function J(t){function o({name:e,children:r}){let{isInvalid:n,validationError:s}=a(t);return c.createElement(E,{errors:s??d,name:e},r??(({error:x})=>n&&c.createElement(c.Fragment,null,x)))}function i({children:e}){let{isSuccess:r,data:n}=a(t);return typeof e=="function"?e(r?{isSuccess:r,data:n}:{isSuccess:r,data:n}):r&&e}return{FieldError:o,Success:i}}import{useFormStatus as k}from"react-dom";function H({children:t}){return t(k())}function B({children:t}){let{isPending:o}=a();return typeof t=="function"?t({isPending:o}):o&&t}export{w as Action,N as Form,H as FormStatus,B as Pending,E as ZodFieldError,J as createComponents,d as noError,a as useActionContext};
|