@refinedev/react-hook-form 4.2.2 → 4.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var ne=Object.create;var g=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var de=Object.getPrototypeOf,Te=Object.prototype.hasOwnProperty;var ce=(t,a)=>{for(var o in a)g(t,o,{get:a[o],enumerable:!0})},I=(t,a,o,b)=>{if(a&&typeof a=="object"||typeof a=="function")for(let s of le(a))!Te.call(t,s)&&s!==o&&g(t,s,{get:()=>a[s],enumerable:!(b=ie(a,s))||b.enumerable});return t};var ue=(t,a,o)=>(o=t!=null?ne(de(t)):{},I(a||!t||!t.__esModule?g(o,"default",{value:t,enumerable:!0}):o,t)),me=t=>I(g({},"__esModule",{value:!0}),t);var pe={};ce(pe,{useForm:()=>y,useModalForm:()=>ee,useStepsForm:()=>q});module.exports=me(pe);var W=require("react"),L=require("react-hook-form"),v=require("@refinedev/core"),y=({refineCoreProps:t,warnWhenUnsavedChanges:a,...o}={})=>{let{warnWhenUnsavedChanges:b,setWarnWhen:s}=(0,v.useWarnAboutChange)(),S=a!=null?a:b,V=(0,v.useForm)({...t}),{queryResult:l,onFinish:e,formLoading:E}=V,n=(0,L.useForm)({...o}),{watch:c,setValue:p,getValues:f,handleSubmit:r}=n;(0,W.useEffect)(()=>{var x;let i=(x=l==null?void 0:l.data)==null?void 0:x.data;if(!i)return;let m=Object.keys(f());Object.entries(i).forEach(([D,u])=>{let B=D;m.includes(B)&&p(B,u)})},[l==null?void 0:l.data,p,f]),(0,W.useEffect)(()=>{let i=c((m,{type:x})=>{x==="change"&&F(m)});return()=>i.unsubscribe()},[c]);let F=i=>(S&&s(!0),i),R=(i,m)=>async x=>(s(!1),await r(i,m)(x));return{...n,handleSubmit:R,refineCore:V,saveButtonProps:{disabled:E,onClick:i=>{R(e,()=>!1)(i)}}}};var k=require("react");var q=({stepsProps:t,...a}={})=>{let{defaultStep:o=0,isBackValidate:b=!1}=t!=null?t:{},[s,S]=(0,k.useState)(o),V=y({...a}),{trigger:l,getValues:e,setValue:E,formState:{dirtyFields:n},refineCore:{queryResult:c}}=V;(0,k.useEffect)(()=>{var R;let r=(R=c==null?void 0:c.data)==null?void 0:R.data;if(!r)return;let F=Object.keys(e());Object.entries(r).forEach(([C,i])=>{let m=C;F.includes(m)&&(n[m]||E(m,i))})},[c==null?void 0:c.data,s,E,e]);let p=r=>{let F=r;r<0&&(F=0),S(F)};return{...V,steps:{currentStep:s,gotoStep:async r=>{if(r===s)return;if(r<s&&!b){p(r);return}await l()&&p(r)}}}};var $=require("react"),T=require("@refinedev/core");var P=ue(require("react")),ee=({modalProps:t,refineCoreProps:a,syncWithLocation:o,...b}={})=>{var Q,G,N,Y,z,J,X;let s=P.default.useRef(!1),S=(0,T.useTranslate)(),{resource:V,action:l}=a!=null?a:{},{resource:e,action:E}=(0,T.useResource)(V),n=(0,T.useParsed)(),c=(0,T.useGo)(),p=(Q=l!=null?l:E)!=null?Q:"",f=typeof o=="object"&&o.syncId,r=typeof o=="object"&&"key"in o?o.key:e&&p&&o?`modal-${(G=e==null?void 0:e.identifier)!=null?G:e==null?void 0:e.name}-${p}`:void 0,{defaultVisible:F=!1,autoSubmitClose:R=!0,autoResetForm:C=!0}=t!=null?t:{},i=y({refineCoreProps:a,...b}),{reset:m,refineCore:{onFinish:x,id:D,setId:u},saveButtonProps:B,handleSubmit:te}=i,{visible:U,show:h,close:O}=(0,T.useModal)({defaultVisible:F});P.default.useEffect(()=>{var d,j,w,Z;if(s.current===!1&&r){let H=(j=(d=n==null?void 0:n.params)==null?void 0:d[r])==null?void 0:j.open;if(typeof H=="boolean"?H&&h():typeof H=="string"&&H==="true"&&h(),f){let _=(Z=(w=n==null?void 0:n.params)==null?void 0:w[r])==null?void 0:Z.id;_&&(u==null||u(_))}s.current=!0}},[r,n,f,u]),P.default.useEffect(()=>{var d;s.current===!0&&(U&&r?c({query:{[r]:{...(d=n==null?void 0:n.params)==null?void 0:d[r],open:!0,...f&&D&&{id:D}}},options:{keepQuery:!0},type:"replace"}):r&&!U&&c({query:{[r]:void 0},options:{keepQuery:!0},type:"replace"}))},[D,U,h,r,f]);let K=async d=>{await x(d),R&&O(),C&&m()},{warnWhen:A,setWarnWhen:re}=(0,T.useWarnAboutChange)(),ae=(0,$.useCallback)(()=>{if(A)if(window.confirm(S("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes.")))re(!1);else return;u==null||u(void 0),O()},[A]),oe=(0,$.useCallback)(d=>{typeof d<"u"&&(u==null||u(d)),(!(p==="edit"||p==="clone")||(typeof d<"u"||typeof D<"u"))&&h()},[D]),se=S(`${e==null?void 0:e.name}.titles.${l}`,void 0,`${(0,T.userFriendlyResourceName)(`${l} ${(X=(J=(z=(N=e==null?void 0:e.meta)==null?void 0:N.label)!=null?z:(Y=e==null?void 0:e.options)==null?void 0:Y.label)!=null?J:e==null?void 0:e.label)!=null?X:e==null?void 0:e.name}`,"singular")}`);return{modal:{submit:K,close:ae,show:oe,visible:U,title:se},...i,saveButtonProps:{...B,onClick:d=>te(K)(d)}}};
1
+ var ne=Object.create;var S=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var de=Object.getOwnPropertyNames;var ie=Object.getPrototypeOf,ue=Object.prototype.hasOwnProperty;var pe=(r,o)=>{for(var s in o)S(r,s,{get:o[s],enumerable:!0})},I=(r,o,s,R)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of de(o))!ue.call(r,a)&&a!==s&&S(r,a,{get:()=>o[a],enumerable:!(R=Te(o,a))||R.enumerable});return r};var le=(r,o,s)=>(s=r!=null?ne(ie(r)):{},I(o||!r||!r.__esModule?S(s,"default",{value:r,enumerable:!0}):s,r)),ce=r=>I(S({},"__esModule",{value:!0}),r);var me={};pe(me,{useForm:()=>B,useModalForm:()=>ee,useStepsForm:()=>q});module.exports=ce(me);var w=require("react"),L=require("react-hook-form"),g=require("@refinedev/core"),B=({refineCoreProps:r,warnWhenUnsavedChanges:o,...s}={})=>{let{warnWhenUnsavedChanges:R,setWarnWhen:a}=(0,g.useWarnAboutChange)(),D=o!=null?o:R,b=(0,g.useForm)({...r}),{queryResult:d,onFinish:e,formLoading:V}=b,n=(0,L.useForm)({...s}),{watch:p,setValue:m,getValues:x,handleSubmit:t}=n;(0,w.useEffect)(()=>{var E;let T=(E=d==null?void 0:d.data)==null?void 0:E.data;if(!T)return;let c=Object.keys(x());Object.entries(T).forEach(([y,l])=>{let U=y;c.includes(U)&&m(U,l)})},[d==null?void 0:d.data,m,x]),(0,w.useEffect)(()=>{let T=p((c,{type:E})=>{E==="change"&&F(c)});return()=>T.unsubscribe()},[p]);let F=T=>(D&&a(!0),T),f=(T,c)=>async E=>(a(!1),await t(T,c)(E));return{...n,handleSubmit:f,refineCore:b,saveButtonProps:{disabled:V,onClick:T=>{f(e,()=>!1)(T)}}}};var v=require("react");var q=({stepsProps:r,...o}={})=>{let{defaultStep:s=0,isBackValidate:R=!1}=r!=null?r:{},[a,D]=(0,v.useState)(s),b=B({...o}),{trigger:d,getValues:e,setValue:V,formState:{dirtyFields:n},refineCore:{queryResult:p}}=b;(0,v.useEffect)(()=>{var f;let t=(f=p==null?void 0:p.data)==null?void 0:f.data;if(!t)return;let F=Object.keys(e());Object.entries(t).forEach(([C,T])=>{let c=C;F.includes(c)&&(n[c]||V(c,T))})},[p==null?void 0:p.data,a,V,e]);let m=t=>{let F=t;t<0&&(F=0),D(F)};return{...b,steps:{currentStep:a,gotoStep:async t=>{if(t===a)return;if(t<a&&!R){m(t);return}await d()&&m(t)}}}};var M=require("react"),u=require("@refinedev/core");var k=le(require("react")),ee=({modalProps:r,refineCoreProps:o,syncWithLocation:s,...R}={})=>{var A,G,N,Y,z,J,X;let a=k.default.useRef(!1),D=(0,u.useTranslate)(),{resource:b,action:d}=o!=null?o:{},{resource:e,action:V}=(0,u.useResource)(b),n=(0,u.useParsed)(),p=(0,u.useGo)(),m=(A=d!=null?d:V)!=null?A:"",x=typeof s=="object"&&s.syncId,t=typeof s=="object"&&"key"in s?s.key:e&&m&&s?`modal-${(G=e==null?void 0:e.identifier)!=null?G:e==null?void 0:e.name}-${m}`:void 0,{defaultVisible:F=!1,autoSubmitClose:f=!0,autoResetForm:C=!0}=r!=null?r:{},T=B({refineCoreProps:o,...R}),{reset:c,refineCore:{onFinish:E,id:y,setId:l},saveButtonProps:U,handleSubmit:re}=T,{visible:H,show:h,close:$}=(0,u.useModal)({defaultVisible:F});k.default.useEffect(()=>{var i,P,j,Z;if(a.current===!1&&t){let Q=(P=(i=n==null?void 0:n.params)==null?void 0:i[t])==null?void 0:P.open;if(typeof Q=="boolean"?Q&&h():typeof Q=="string"&&Q==="true"&&h(),x){let _=(Z=(j=n==null?void 0:n.params)==null?void 0:j[t])==null?void 0:Z.id;_&&(l==null||l(_))}a.current=!0}},[t,n,x,l]),k.default.useEffect(()=>{var i;a.current===!0&&(H&&t?p({query:{[t]:{...(i=n==null?void 0:n.params)==null?void 0:i[t],open:!0,...x&&y&&{id:y}}},options:{keepQuery:!0},type:"replace"}):t&&!H&&p({query:{[t]:void 0},options:{keepQuery:!0},type:"replace"}))},[y,H,h,t,x]);let O=async i=>{await E(i),f&&$(),C&&c()},{warnWhen:K,setWarnWhen:te}=(0,u.useWarnAboutChange)(),oe=(0,M.useCallback)(()=>{if(K)if(window.confirm(D("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes.")))te(!1);else return;l==null||l(void 0),$()},[K]),se=(0,M.useCallback)(i=>{typeof i<"u"&&(l==null||l(i)),(!(m==="edit"||m==="clone")||(typeof i<"u"||typeof y<"u"))&&h()},[y]),ae=D(`${e==null?void 0:e.name}.titles.${d}`,void 0,`${(0,u.userFriendlyResourceName)(`${d} ${(X=(J=(z=(N=e==null?void 0:e.meta)==null?void 0:N.label)!=null?z:(Y=e==null?void 0:e.options)==null?void 0:Y.label)!=null?J:e==null?void 0:e.label)!=null?X:e==null?void 0:e.name}`,"singular")}`);return{modal:{submit:O,close:oe,show:se,visible:H,title:ae},...T,saveButtonProps:{...U,onClick:i=>re(O)(i)}}};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/useForm/index.ts","../src/useStepsForm/index.ts","../src/useModalForm/index.ts"],"sourcesContent":["export { useForm, UseFormProps, UseFormReturnType } from \"./useForm\";\nexport {\n useStepsForm,\n UseStepsFormProps,\n UseStepsFormReturnType,\n} from \"./useStepsForm\";\nexport {\n useModalForm,\n UseModalFormProps,\n UseModalFormReturnType,\n} from \"./useModalForm\";\n","import React, { useEffect } from \"react\";\nimport {\n useForm as useHookForm,\n UseFormProps as UseHookFormProps,\n UseFormReturn,\n FieldValues,\n UseFormHandleSubmit,\n Path,\n} from \"react-hook-form\";\nimport {\n BaseRecord,\n HttpError,\n useForm as useFormCore,\n useWarnAboutChange,\n UseFormProps as UseFormCoreProps,\n UseFormReturnType as UseFormReturnTypeCore,\n} from \"@refinedev/core\";\n\nexport type UseFormReturnType<\n TData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TSelectData extends BaseRecord = TData,\n> = UseFormReturn<TVariables, TContext> & {\n refineCore: UseFormReturnTypeCore<TData, TError, TVariables, TSelectData>;\n saveButtonProps: {\n disabled: boolean;\n onClick: (e: React.BaseSyntheticEvent) => void;\n };\n};\n\nexport type UseFormProps<\n TData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TSelectData extends BaseRecord = TData,\n> = {\n /**\n * Configuration object for the core of the [useForm](/docs/api-reference/core/hooks/useForm/)\n * @type [`UseFormCoreProps<TData, TError, TVariables>`](/docs/api-reference/core/hooks/useForm/#properties)\n */\n refineCoreProps?: UseFormCoreProps<TData, TError, TVariables, TSelectData>;\n /**\n * When you have unsaved changes and try to leave the current page, **refine** shows a confirmation modal box.\n * @default `false*`\n */\n warnWhenUnsavedChanges?: boolean;\n} & UseHookFormProps<TVariables, TContext>;\n\nexport const useForm = <\n TData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TSelectData extends BaseRecord = TData,\n>({\n refineCoreProps,\n warnWhenUnsavedChanges: warnWhenUnsavedChangesProp,\n ...rest\n}: UseFormProps<\n TData,\n TError,\n TVariables,\n TContext,\n TSelectData\n> = {}): UseFormReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n TSelectData\n> => {\n const {\n warnWhenUnsavedChanges: warnWhenUnsavedChangesRefine,\n setWarnWhen,\n } = useWarnAboutChange();\n const warnWhenUnsavedChanges =\n warnWhenUnsavedChangesProp ?? warnWhenUnsavedChangesRefine;\n\n const useFormCoreResult = useFormCore<\n TData,\n TError,\n TVariables,\n TSelectData\n >({\n ...refineCoreProps,\n });\n\n const { queryResult, onFinish, formLoading } = useFormCoreResult;\n\n const useHookFormResult = useHookForm<TVariables, TContext>({\n ...rest,\n });\n\n const {\n watch,\n setValue,\n getValues,\n handleSubmit: handleSubmitReactHookForm,\n } = useHookFormResult;\n\n useEffect(() => {\n const data = queryResult?.data?.data;\n if (!data) return;\n\n const registeredFields = Object.keys(getValues());\n Object.entries(data).forEach(([key, value]) => {\n const name = key as Path<TVariables>;\n\n if (registeredFields.includes(name)) {\n setValue(name, value);\n }\n });\n }, [queryResult?.data, setValue, getValues]);\n\n useEffect(() => {\n const subscription = watch((values: any, { type }: { type?: any }) => {\n if (type === \"change\") {\n onValuesChange(values);\n }\n });\n return () => subscription.unsubscribe();\n }, [watch]);\n\n const onValuesChange = (changeValues: Record<string, any>) => {\n if (warnWhenUnsavedChanges) {\n setWarnWhen(true);\n }\n return changeValues;\n };\n\n const handleSubmit: UseFormHandleSubmit<TVariables> =\n (onValid, onInvalid) => async (e) => {\n setWarnWhen(false);\n return await handleSubmitReactHookForm(onValid, onInvalid)(e);\n };\n\n const saveButtonProps = {\n disabled: formLoading,\n onClick: (e: React.BaseSyntheticEvent) => {\n handleSubmit(onFinish, () => false)(e);\n },\n };\n\n return {\n ...useHookFormResult,\n handleSubmit,\n refineCore: useFormCoreResult,\n saveButtonProps,\n };\n};\n","import { useEffect, useState } from \"react\";\nimport { FieldValues, Path } from \"react-hook-form\";\nimport { BaseRecord, HttpError } from \"@refinedev/core\";\n\nimport { useForm, UseFormProps, UseFormReturnType } from \"../useForm\";\n\nexport type UseStepsFormReturnType<\n TData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TSelectData extends BaseRecord = TData,\n> = UseFormReturnType<TData, TError, TVariables, TContext, TSelectData> & {\n steps: {\n currentStep: number;\n gotoStep: (step: number) => void;\n };\n};\n\nexport type UseStepsFormProps<\n TData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TSelectData extends BaseRecord = TData,\n> = UseFormProps<TData, TError, TVariables, TContext, TSelectData> & {\n /**\n * @description Configuration object for the steps.\n * `defaultStep`: Allows you to set the initial step.\n * \n * `isBackValidate`: Whether to validation the current step when going back.\n * @type `{\n defaultStep?: number;\n isBackValidate?: boolean;\n }`\n * @default `defaultStep = 0` `isBackValidate = false`\n */\n stepsProps?: {\n defaultStep?: number;\n isBackValidate?: boolean;\n };\n};\n\nexport const useStepsForm = <\n TData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TSelectData extends BaseRecord = TData,\n>({\n stepsProps,\n ...rest\n}: UseStepsFormProps<\n TData,\n TError,\n TVariables,\n TContext,\n TSelectData\n> = {}): UseStepsFormReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n TSelectData\n> => {\n const { defaultStep = 0, isBackValidate = false } = stepsProps ?? {};\n const [current, setCurrent] = useState(defaultStep);\n\n const useHookFormResult = useForm<\n TData,\n TError,\n TVariables,\n TContext,\n TSelectData\n >({\n ...rest,\n });\n\n const {\n trigger,\n getValues,\n setValue,\n formState: { dirtyFields },\n refineCore: { queryResult },\n } = useHookFormResult;\n\n useEffect(() => {\n const data = queryResult?.data?.data;\n if (!data) return;\n\n const registeredFields = Object.keys(getValues());\n Object.entries(data).forEach(([key, value]) => {\n const name = key as Path<TVariables>;\n\n if (registeredFields.includes(name)) {\n if (!dirtyFields[name]) {\n setValue(name, value);\n }\n }\n });\n }, [queryResult?.data, current, setValue, getValues]);\n\n const go = (step: number) => {\n let targetStep = step;\n\n if (step < 0) {\n targetStep = 0;\n }\n\n setCurrent(targetStep);\n };\n\n const gotoStep = async (step: number) => {\n if (step === current) {\n return;\n }\n\n if (step < current && !isBackValidate) {\n go(step);\n return;\n }\n\n const isValid = await trigger();\n if (isValid) {\n go(step);\n }\n };\n\n return {\n ...useHookFormResult,\n steps: {\n currentStep: current,\n gotoStep,\n },\n };\n};\n","import { useCallback } from \"react\";\nimport {\n BaseKey,\n BaseRecord,\n FormWithSyncWithLocationParams,\n HttpError,\n useGo,\n useModal,\n useParsed,\n useResource,\n userFriendlyResourceName,\n useTranslate,\n useWarnAboutChange,\n} from \"@refinedev/core\";\nimport { FieldValues } from \"react-hook-form\";\n\nimport { useForm, UseFormProps, UseFormReturnType } from \"../useForm\";\nimport React from \"react\";\n\nexport type UseModalFormReturnType<\n TData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TSelectData extends BaseRecord = TData,\n> = UseFormReturnType<TData, TError, TVariables, TContext, TSelectData> & {\n modal: {\n submit: (values: TVariables) => void;\n close: () => void;\n show: (id?: BaseKey) => void;\n visible: boolean;\n title: string;\n };\n};\n\nexport type UseModalFormProps<\n TData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TSelectData extends BaseRecord = TData,\n> = UseFormProps<TData, TError, TVariables, TContext, TSelectData> & {\n /**\n * @description Configuration object for the modal.\n * `defaultVisible`: Initial visibility state of the modal.\n * \n * `autoSubmitClose`: Whether the form should be submitted when the modal is closed.\n * \n * `autoResetForm`: Whether the form should be reset when the form is submitted.\n * @type `{\n defaultVisible?: boolean;\n autoSubmitClose?: boolean;\n autoResetForm?: boolean;\n }`\n * @default `defaultVisible = false` `autoSubmitClose = true` `autoResetForm = true`\n */\n modalProps?: {\n defaultVisible?: boolean;\n autoSubmitClose?: boolean;\n autoResetForm?: boolean;\n };\n} & FormWithSyncWithLocationParams;\n\nexport const useModalForm = <\n TData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TSelectData extends BaseRecord = TData,\n>({\n modalProps,\n refineCoreProps,\n syncWithLocation,\n ...rest\n}: UseModalFormProps<\n TData,\n TError,\n TVariables,\n TContext,\n TSelectData\n> = {}): UseModalFormReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n TSelectData\n> => {\n const initiallySynced = React.useRef(false);\n\n const translate = useTranslate();\n\n const { resource: resourceProp, action: actionProp } =\n refineCoreProps ?? {};\n\n const { resource, action: actionFromParams } = useResource(resourceProp);\n\n const parsed = useParsed();\n const go = useGo();\n\n const action = actionProp ?? actionFromParams ?? \"\";\n\n const syncingId =\n typeof syncWithLocation === \"object\" && syncWithLocation.syncId;\n\n const syncWithLocationKey =\n typeof syncWithLocation === \"object\" && \"key\" in syncWithLocation\n ? syncWithLocation.key\n : resource && action && syncWithLocation\n ? `modal-${resource?.identifier ?? resource?.name}-${action}`\n : undefined;\n\n const {\n defaultVisible = false,\n autoSubmitClose = true,\n autoResetForm = true,\n } = modalProps ?? {};\n\n const useHookFormResult = useForm<\n TData,\n TError,\n TVariables,\n TContext,\n TSelectData\n >({\n refineCoreProps,\n ...rest,\n });\n\n const {\n reset,\n refineCore: { onFinish, id, setId },\n saveButtonProps,\n handleSubmit,\n } = useHookFormResult;\n\n const { visible, show, close } = useModal({\n defaultVisible,\n });\n\n React.useEffect(() => {\n if (initiallySynced.current === false && syncWithLocationKey) {\n const openStatus = parsed?.params?.[syncWithLocationKey]?.open;\n if (typeof openStatus === \"boolean\") {\n if (openStatus) {\n show();\n }\n } else if (typeof openStatus === \"string\") {\n if (openStatus === \"true\") {\n show();\n }\n }\n\n if (syncingId) {\n const idFromParams = parsed?.params?.[syncWithLocationKey]?.id;\n if (idFromParams) {\n setId?.(idFromParams);\n }\n }\n\n initiallySynced.current = true;\n }\n }, [syncWithLocationKey, parsed, syncingId, setId]);\n\n React.useEffect(() => {\n if (initiallySynced.current === true) {\n if (visible && syncWithLocationKey) {\n go({\n query: {\n [syncWithLocationKey]: {\n ...parsed?.params?.[syncWithLocationKey],\n open: true,\n ...(syncingId && id && { id }),\n },\n },\n options: { keepQuery: true },\n type: \"replace\",\n });\n } else if (syncWithLocationKey && !visible) {\n go({\n query: {\n [syncWithLocationKey]: undefined,\n },\n options: { keepQuery: true },\n type: \"replace\",\n });\n }\n }\n }, [id, visible, show, syncWithLocationKey, syncingId]);\n\n const submit = async (values: TVariables) => {\n await onFinish(values);\n\n if (autoSubmitClose) {\n close();\n }\n\n if (autoResetForm) {\n reset();\n }\n };\n\n const { warnWhen, setWarnWhen } = useWarnAboutChange();\n const handleClose = useCallback(() => {\n if (warnWhen) {\n const warnWhenConfirm = window.confirm(\n translate(\n \"warnWhenUnsavedChanges\",\n \"Are you sure you want to leave? You have unsaved changes.\",\n ),\n );\n\n if (warnWhenConfirm) {\n setWarnWhen(false);\n } else {\n return;\n }\n }\n\n setId?.(undefined);\n close();\n }, [warnWhen]);\n\n const handleShow = useCallback(\n (showId?: BaseKey) => {\n if (typeof showId !== \"undefined\") {\n setId?.(showId);\n }\n const needsIdToOpen = action === \"edit\" || action === \"clone\";\n const hasId =\n typeof showId !== \"undefined\" || typeof id !== \"undefined\";\n if (needsIdToOpen ? hasId : true) {\n show();\n }\n },\n [id],\n );\n\n const title = translate(\n `${resource?.name}.titles.${actionProp}`,\n undefined,\n `${userFriendlyResourceName(\n `${actionProp} ${\n resource?.meta?.label ??\n resource?.options?.label ??\n resource?.label ??\n resource?.name\n }`,\n \"singular\",\n )}`,\n );\n\n return {\n modal: {\n submit,\n close: handleClose,\n show: handleShow,\n visible,\n title,\n },\n ...useHookFormResult,\n saveButtonProps: {\n ...saveButtonProps,\n onClick: (e) => handleSubmit(submit)(e),\n },\n };\n};\n"],"mappings":"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","names":["src_exports","__export","useForm","useModalForm","useStepsForm","__toCommonJS","import_react","import_react_hook_form","import_core","useForm","refineCoreProps","warnWhenUnsavedChangesProp","rest","warnWhenUnsavedChangesRefine","setWarnWhen","warnWhenUnsavedChanges","useFormCoreResult","useFormCore","queryResult","onFinish","formLoading","useHookFormResult","useHookForm","watch","setValue","getValues","handleSubmitReactHookForm","_a","data","registeredFields","key","value","name","subscription","values","type","onValuesChange","changeValues","handleSubmit","onValid","onInvalid","e","import_react","useStepsForm","stepsProps","rest","defaultStep","isBackValidate","current","setCurrent","useHookFormResult","useForm","trigger","getValues","setValue","dirtyFields","queryResult","_a","data","registeredFields","key","value","name","go","step","targetStep","import_react","import_core","import_react","useModalForm","modalProps","refineCoreProps","syncWithLocation","rest","_a","_b","_c","_d","_e","_f","_g","initiallySynced","React","translate","resourceProp","actionProp","resource","actionFromParams","parsed","go","action","syncingId","syncWithLocationKey","defaultVisible","autoSubmitClose","autoResetForm","useHookFormResult","useForm","reset","onFinish","id","setId","saveButtonProps","handleSubmit","visible","show","close","openStatus","idFromParams","submit","values","warnWhen","setWarnWhen","handleClose","handleShow","showId","title","e"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/useForm/index.ts","../src/useStepsForm/index.ts","../src/useModalForm/index.ts"],"sourcesContent":["export { useForm, UseFormProps, UseFormReturnType } from \"./useForm\";\nexport {\n useStepsForm,\n UseStepsFormProps,\n UseStepsFormReturnType,\n} from \"./useStepsForm\";\nexport {\n useModalForm,\n UseModalFormProps,\n UseModalFormReturnType,\n} from \"./useModalForm\";\n","import React, { useEffect } from \"react\";\nimport {\n useForm as useHookForm,\n UseFormProps as UseHookFormProps,\n UseFormReturn,\n FieldValues,\n UseFormHandleSubmit,\n Path,\n} from \"react-hook-form\";\nimport {\n BaseRecord,\n HttpError,\n useForm as useFormCore,\n useWarnAboutChange,\n UseFormProps as UseFormCoreProps,\n UseFormReturnType as UseFormReturnTypeCore,\n} from \"@refinedev/core\";\n\nexport type UseFormReturnType<\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n> = UseFormReturn<TVariables, TContext> & {\n refineCore: UseFormReturnTypeCore<\n TQueryFnData,\n TError,\n TVariables,\n TData,\n TResponse,\n TResponseError\n >;\n saveButtonProps: {\n disabled: boolean;\n onClick: (e: React.BaseSyntheticEvent) => void;\n };\n};\n\nexport type UseFormProps<\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n> = {\n /**\n * Configuration object for the core of the [useForm](/docs/api-reference/core/hooks/useForm/)\n * @type [`UseFormCoreProps<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>`](/docs/api-reference/core/hooks/useForm/#properties)\n */\n refineCoreProps?: UseFormCoreProps<\n TQueryFnData,\n TError,\n TVariables,\n TData,\n TResponse,\n TResponseError\n >;\n /**\n * When you have unsaved changes and try to leave the current page, **refine** shows a confirmation modal box.\n * @default `false*`\n */\n warnWhenUnsavedChanges?: boolean;\n} & UseHookFormProps<TVariables, TContext>;\n\nexport const useForm = <\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n>({\n refineCoreProps,\n warnWhenUnsavedChanges: warnWhenUnsavedChangesProp,\n ...rest\n}: UseFormProps<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> = {}): UseFormReturnType<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> => {\n const {\n warnWhenUnsavedChanges: warnWhenUnsavedChangesRefine,\n setWarnWhen,\n } = useWarnAboutChange();\n const warnWhenUnsavedChanges =\n warnWhenUnsavedChangesProp ?? warnWhenUnsavedChangesRefine;\n\n const useFormCoreResult = useFormCore<\n TQueryFnData,\n TError,\n TVariables,\n TData,\n TResponse,\n TResponseError\n >({\n ...refineCoreProps,\n });\n\n const { queryResult, onFinish, formLoading } = useFormCoreResult;\n\n const useHookFormResult = useHookForm<TVariables, TContext>({\n ...rest,\n });\n\n const {\n watch,\n setValue,\n getValues,\n handleSubmit: handleSubmitReactHookForm,\n } = useHookFormResult;\n\n useEffect(() => {\n const data = queryResult?.data?.data;\n if (!data) return;\n\n const registeredFields = Object.keys(getValues());\n Object.entries(data).forEach(([key, value]) => {\n const name = key as Path<TVariables>;\n\n if (registeredFields.includes(name)) {\n setValue(name, value);\n }\n });\n }, [queryResult?.data, setValue, getValues]);\n\n useEffect(() => {\n const subscription = watch((values: any, { type }: { type?: any }) => {\n if (type === \"change\") {\n onValuesChange(values);\n }\n });\n return () => subscription.unsubscribe();\n }, [watch]);\n\n const onValuesChange = (changeValues: Record<string, any>) => {\n if (warnWhenUnsavedChanges) {\n setWarnWhen(true);\n }\n return changeValues;\n };\n\n const handleSubmit: UseFormHandleSubmit<TVariables> =\n (onValid, onInvalid) => async (e) => {\n setWarnWhen(false);\n return await handleSubmitReactHookForm(onValid, onInvalid)(e);\n };\n\n const saveButtonProps = {\n disabled: formLoading,\n onClick: (e: React.BaseSyntheticEvent) => {\n handleSubmit(onFinish, () => false)(e);\n },\n };\n\n return {\n ...useHookFormResult,\n handleSubmit,\n refineCore: useFormCoreResult,\n saveButtonProps,\n };\n};\n","import { useEffect, useState } from \"react\";\nimport { FieldValues, Path } from \"react-hook-form\";\nimport { BaseRecord, HttpError } from \"@refinedev/core\";\n\nimport { useForm, UseFormProps, UseFormReturnType } from \"../useForm\";\n\nexport type UseStepsFormReturnType<\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n> = UseFormReturnType<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> & {\n steps: {\n currentStep: number;\n gotoStep: (step: number) => void;\n };\n};\n\nexport type UseStepsFormProps<\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n> = UseFormProps<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> & {\n /**\n * @description Configuration object for the steps.\n * `defaultStep`: Allows you to set the initial step.\n * \n * `isBackValidate`: Whether to validation the current step when going back.\n * @type `{\n defaultStep?: number;\n isBackValidate?: boolean;\n }`\n * @default `defaultStep = 0` `isBackValidate = false`\n */\n stepsProps?: {\n defaultStep?: number;\n isBackValidate?: boolean;\n };\n};\n\nexport const useStepsForm = <\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n>({\n stepsProps,\n ...rest\n}: UseStepsFormProps<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> = {}): UseStepsFormReturnType<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> => {\n const { defaultStep = 0, isBackValidate = false } = stepsProps ?? {};\n const [current, setCurrent] = useState(defaultStep);\n\n const useHookFormResult = useForm<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n >({\n ...rest,\n });\n\n const {\n trigger,\n getValues,\n setValue,\n formState: { dirtyFields },\n refineCore: { queryResult },\n } = useHookFormResult;\n\n useEffect(() => {\n const data = queryResult?.data?.data;\n if (!data) return;\n\n const registeredFields = Object.keys(getValues());\n Object.entries(data).forEach(([key, value]) => {\n const name = key as Path<TVariables>;\n\n if (registeredFields.includes(name)) {\n if (!dirtyFields[name]) {\n setValue(name, value);\n }\n }\n });\n }, [queryResult?.data, current, setValue, getValues]);\n\n const go = (step: number) => {\n let targetStep = step;\n\n if (step < 0) {\n targetStep = 0;\n }\n\n setCurrent(targetStep);\n };\n\n const gotoStep = async (step: number) => {\n if (step === current) {\n return;\n }\n\n if (step < current && !isBackValidate) {\n go(step);\n return;\n }\n\n const isValid = await trigger();\n if (isValid) {\n go(step);\n }\n };\n\n return {\n ...useHookFormResult,\n steps: {\n currentStep: current,\n gotoStep,\n },\n };\n};\n","import { useCallback } from \"react\";\nimport {\n BaseKey,\n BaseRecord,\n FormWithSyncWithLocationParams,\n HttpError,\n useGo,\n useModal,\n useParsed,\n useResource,\n userFriendlyResourceName,\n useTranslate,\n useWarnAboutChange,\n} from \"@refinedev/core\";\nimport { FieldValues } from \"react-hook-form\";\n\nimport { useForm, UseFormProps, UseFormReturnType } from \"../useForm\";\nimport React from \"react\";\n\nexport type UseModalFormReturnType<\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n> = UseFormReturnType<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> & {\n modal: {\n submit: (values: TVariables) => void;\n close: () => void;\n show: (id?: BaseKey) => void;\n visible: boolean;\n title: string;\n };\n};\n\nexport type UseModalFormProps<\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n> = UseFormProps<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> & {\n /**\n * @description Configuration object for the modal.\n * `defaultVisible`: Initial visibility state of the modal.\n * \n * `autoSubmitClose`: Whether the form should be submitted when the modal is closed.\n * \n * `autoResetForm`: Whether the form should be reset when the form is submitted.\n * @type `{\n defaultVisible?: boolean;\n autoSubmitClose?: boolean;\n autoResetForm?: boolean;\n }`\n * @default `defaultVisible = false` `autoSubmitClose = true` `autoResetForm = true`\n */\n modalProps?: {\n defaultVisible?: boolean;\n autoSubmitClose?: boolean;\n autoResetForm?: boolean;\n };\n} & FormWithSyncWithLocationParams;\n\nexport const useModalForm = <\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n>({\n modalProps,\n refineCoreProps,\n syncWithLocation,\n ...rest\n}: UseModalFormProps<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> = {}): UseModalFormReturnType<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> => {\n const initiallySynced = React.useRef(false);\n\n const translate = useTranslate();\n\n const { resource: resourceProp, action: actionProp } =\n refineCoreProps ?? {};\n\n const { resource, action: actionFromParams } = useResource(resourceProp);\n\n const parsed = useParsed();\n const go = useGo();\n\n const action = actionProp ?? actionFromParams ?? \"\";\n\n const syncingId =\n typeof syncWithLocation === \"object\" && syncWithLocation.syncId;\n\n const syncWithLocationKey =\n typeof syncWithLocation === \"object\" && \"key\" in syncWithLocation\n ? syncWithLocation.key\n : resource && action && syncWithLocation\n ? `modal-${resource?.identifier ?? resource?.name}-${action}`\n : undefined;\n\n const {\n defaultVisible = false,\n autoSubmitClose = true,\n autoResetForm = true,\n } = modalProps ?? {};\n\n const useHookFormResult = useForm<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n >({\n refineCoreProps,\n ...rest,\n });\n\n const {\n reset,\n refineCore: { onFinish, id, setId },\n saveButtonProps,\n handleSubmit,\n } = useHookFormResult;\n\n const { visible, show, close } = useModal({\n defaultVisible,\n });\n\n React.useEffect(() => {\n if (initiallySynced.current === false && syncWithLocationKey) {\n const openStatus = parsed?.params?.[syncWithLocationKey]?.open;\n if (typeof openStatus === \"boolean\") {\n if (openStatus) {\n show();\n }\n } else if (typeof openStatus === \"string\") {\n if (openStatus === \"true\") {\n show();\n }\n }\n\n if (syncingId) {\n const idFromParams = parsed?.params?.[syncWithLocationKey]?.id;\n if (idFromParams) {\n setId?.(idFromParams);\n }\n }\n\n initiallySynced.current = true;\n }\n }, [syncWithLocationKey, parsed, syncingId, setId]);\n\n React.useEffect(() => {\n if (initiallySynced.current === true) {\n if (visible && syncWithLocationKey) {\n go({\n query: {\n [syncWithLocationKey]: {\n ...parsed?.params?.[syncWithLocationKey],\n open: true,\n ...(syncingId && id && { id }),\n },\n },\n options: { keepQuery: true },\n type: \"replace\",\n });\n } else if (syncWithLocationKey && !visible) {\n go({\n query: {\n [syncWithLocationKey]: undefined,\n },\n options: { keepQuery: true },\n type: \"replace\",\n });\n }\n }\n }, [id, visible, show, syncWithLocationKey, syncingId]);\n\n const submit = async (values: TVariables) => {\n await onFinish(values);\n\n if (autoSubmitClose) {\n close();\n }\n\n if (autoResetForm) {\n reset();\n }\n };\n\n const { warnWhen, setWarnWhen } = useWarnAboutChange();\n const handleClose = useCallback(() => {\n if (warnWhen) {\n const warnWhenConfirm = window.confirm(\n translate(\n \"warnWhenUnsavedChanges\",\n \"Are you sure you want to leave? You have unsaved changes.\",\n ),\n );\n\n if (warnWhenConfirm) {\n setWarnWhen(false);\n } else {\n return;\n }\n }\n\n setId?.(undefined);\n close();\n }, [warnWhen]);\n\n const handleShow = useCallback(\n (showId?: BaseKey) => {\n if (typeof showId !== \"undefined\") {\n setId?.(showId);\n }\n const needsIdToOpen = action === \"edit\" || action === \"clone\";\n const hasId =\n typeof showId !== \"undefined\" || typeof id !== \"undefined\";\n if (needsIdToOpen ? hasId : true) {\n show();\n }\n },\n [id],\n );\n\n const title = translate(\n `${resource?.name}.titles.${actionProp}`,\n undefined,\n `${userFriendlyResourceName(\n `${actionProp} ${\n resource?.meta?.label ??\n resource?.options?.label ??\n resource?.label ??\n resource?.name\n }`,\n \"singular\",\n )}`,\n );\n\n return {\n modal: {\n submit,\n close: handleClose,\n show: handleShow,\n visible,\n title,\n },\n ...useHookFormResult,\n saveButtonProps: {\n ...saveButtonProps,\n onClick: (e) => handleSubmit(submit)(e),\n },\n };\n};\n"],"mappings":"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","names":["src_exports","__export","useForm","useModalForm","useStepsForm","__toCommonJS","import_react","import_react_hook_form","import_core","useForm","refineCoreProps","warnWhenUnsavedChangesProp","rest","warnWhenUnsavedChangesRefine","setWarnWhen","warnWhenUnsavedChanges","useFormCoreResult","useFormCore","queryResult","onFinish","formLoading","useHookFormResult","useHookForm","watch","setValue","getValues","handleSubmitReactHookForm","_a","data","registeredFields","key","value","name","subscription","values","type","onValuesChange","changeValues","handleSubmit","onValid","onInvalid","e","import_react","useStepsForm","stepsProps","rest","defaultStep","isBackValidate","current","setCurrent","useHookFormResult","useForm","trigger","getValues","setValue","dirtyFields","queryResult","_a","data","registeredFields","key","value","name","go","step","targetStep","import_react","import_core","import_react","useModalForm","modalProps","refineCoreProps","syncWithLocation","rest","_a","_b","_c","_d","_e","_f","_g","initiallySynced","React","translate","resourceProp","actionProp","resource","actionFromParams","parsed","go","action","syncingId","syncWithLocationKey","defaultVisible","autoSubmitClose","autoResetForm","useHookFormResult","useForm","reset","onFinish","id","setId","saveButtonProps","handleSubmit","visible","show","close","openStatus","idFromParams","submit","values","warnWhen","setWarnWhen","handleClose","handleShow","showId","title","e"]}
@@ -1,24 +1,24 @@
1
1
  import React from "react";
2
2
  import { UseFormProps as UseHookFormProps, UseFormReturn, FieldValues } from "react-hook-form";
3
3
  import { BaseRecord, HttpError, UseFormProps as UseFormCoreProps, UseFormReturnType as UseFormReturnTypeCore } from "@refinedev/core";
4
- export declare type UseFormReturnType<TData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TSelectData extends BaseRecord = TData> = UseFormReturn<TVariables, TContext> & {
5
- refineCore: UseFormReturnTypeCore<TData, TError, TVariables, TSelectData>;
4
+ export declare type UseFormReturnType<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormReturn<TVariables, TContext> & {
5
+ refineCore: UseFormReturnTypeCore<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>;
6
6
  saveButtonProps: {
7
7
  disabled: boolean;
8
8
  onClick: (e: React.BaseSyntheticEvent) => void;
9
9
  };
10
10
  };
11
- export declare type UseFormProps<TData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TSelectData extends BaseRecord = TData> = {
11
+ export declare type UseFormProps<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = {
12
12
  /**
13
13
  * Configuration object for the core of the [useForm](/docs/api-reference/core/hooks/useForm/)
14
- * @type [`UseFormCoreProps<TData, TError, TVariables>`](/docs/api-reference/core/hooks/useForm/#properties)
14
+ * @type [`UseFormCoreProps<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>`](/docs/api-reference/core/hooks/useForm/#properties)
15
15
  */
16
- refineCoreProps?: UseFormCoreProps<TData, TError, TVariables, TSelectData>;
16
+ refineCoreProps?: UseFormCoreProps<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>;
17
17
  /**
18
18
  * When you have unsaved changes and try to leave the current page, **refine** shows a confirmation modal box.
19
19
  * @default `false*`
20
20
  */
21
21
  warnWhenUnsavedChanges?: boolean;
22
22
  } & UseHookFormProps<TVariables, TContext>;
23
- export declare const useForm: <TData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TSelectData extends BaseRecord = TData>({ refineCoreProps, warnWhenUnsavedChanges: warnWhenUnsavedChangesProp, ...rest }?: UseFormProps<TData, TError, TVariables, TContext, TSelectData>) => UseFormReturnType<TData, TError, TVariables, TContext, TSelectData>;
23
+ export declare const useForm: <TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError>({ refineCoreProps, warnWhenUnsavedChanges: warnWhenUnsavedChangesProp, ...rest }?: UseFormProps<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError>) => UseFormReturnType<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError>;
24
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/useForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAEH,YAAY,IAAI,gBAAgB,EAChC,aAAa,EACb,WAAW,EAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,UAAU,EACV,SAAS,EAGT,YAAY,IAAI,gBAAgB,EAChC,iBAAiB,IAAI,qBAAqB,EAC7C,MAAM,iBAAiB,CAAC;AAEzB,oBAAY,iBAAiB,CACzB,KAAK,SAAS,UAAU,GAAG,UAAU,EACrC,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,WAAW,SAAS,UAAU,GAAG,KAAK,IACtC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG;IACtC,UAAU,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC1E,eAAe,EAAE;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC;KAClD,CAAC;CACL,CAAC;AAEF,oBAAY,YAAY,CACpB,KAAK,SAAS,UAAU,GAAG,UAAU,EACrC,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,WAAW,SAAS,UAAU,GAAG,KAAK,IACtC;IACA;;;OAGG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3E;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC,GAAG,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAE3C,eAAO,MAAM,OAAO,6ZAqGnB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/useForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAEH,YAAY,IAAI,gBAAgB,EAChC,aAAa,EACb,WAAW,EAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,UAAU,EACV,SAAS,EAGT,YAAY,IAAI,gBAAgB,EAChC,iBAAiB,IAAI,qBAAqB,EAC7C,MAAM,iBAAiB,CAAC;AAEzB,oBAAY,iBAAiB,CACzB,YAAY,SAAS,UAAU,GAAG,UAAU,EAC5C,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,KAAK,SAAS,UAAU,GAAG,YAAY,EACvC,SAAS,SAAS,UAAU,GAAG,KAAK,EACpC,cAAc,SAAS,SAAS,GAAG,MAAM,IACzC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG;IACtC,UAAU,EAAE,qBAAqB,CAC7B,YAAY,EACZ,MAAM,EACN,UAAU,EACV,KAAK,EACL,SAAS,EACT,cAAc,CACjB,CAAC;IACF,eAAe,EAAE;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC;KAClD,CAAC;CACL,CAAC;AAEF,oBAAY,YAAY,CACpB,YAAY,SAAS,UAAU,GAAG,UAAU,EAC5C,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,KAAK,SAAS,UAAU,GAAG,YAAY,EACvC,SAAS,SAAS,UAAU,GAAG,KAAK,EACpC,cAAc,SAAS,SAAS,GAAG,MAAM,IACzC;IACA;;;OAGG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAC9B,YAAY,EACZ,MAAM,EACN,UAAU,EACV,KAAK,EACL,SAAS,EACT,cAAc,CACjB,CAAC;IACF;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC,GAAG,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAE3C,eAAO,MAAM,OAAO,8iBA6GnB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { BaseKey, BaseRecord, FormWithSyncWithLocationParams, HttpError } from "@refinedev/core";
2
2
  import { FieldValues } from "react-hook-form";
3
3
  import { UseFormProps, UseFormReturnType } from "../useForm";
4
- export declare type UseModalFormReturnType<TData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TSelectData extends BaseRecord = TData> = UseFormReturnType<TData, TError, TVariables, TContext, TSelectData> & {
4
+ export declare type UseModalFormReturnType<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormReturnType<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError> & {
5
5
  modal: {
6
6
  submit: (values: TVariables) => void;
7
7
  close: () => void;
@@ -10,7 +10,7 @@ export declare type UseModalFormReturnType<TData extends BaseRecord = BaseRecord
10
10
  title: string;
11
11
  };
12
12
  };
13
- export declare type UseModalFormProps<TData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TSelectData extends BaseRecord = TData> = UseFormProps<TData, TError, TVariables, TContext, TSelectData> & {
13
+ export declare type UseModalFormProps<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormProps<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError> & {
14
14
  /**
15
15
  * @description Configuration object for the modal.
16
16
  * `defaultVisible`: Initial visibility state of the modal.
@@ -31,5 +31,5 @@ export declare type UseModalFormProps<TData extends BaseRecord = BaseRecord, TEr
31
31
  autoResetForm?: boolean;
32
32
  };
33
33
  } & FormWithSyncWithLocationParams;
34
- export declare const useModalForm: <TData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TSelectData extends BaseRecord = TData>({ modalProps, refineCoreProps, syncWithLocation, ...rest }?: UseModalFormProps<TData, TError, TVariables, TContext, TSelectData>) => UseModalFormReturnType<TData, TError, TVariables, TContext, TSelectData>;
34
+ export declare const useModalForm: <TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError>({ modalProps, refineCoreProps, syncWithLocation, ...rest }?: UseModalFormProps<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError>) => UseModalFormReturnType<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError>;
35
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/useModalForm/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,OAAO,EACP,UAAU,EACV,8BAA8B,EAC9B,SAAS,EAQZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAW,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGtE,oBAAY,sBAAsB,CAC9B,KAAK,SAAS,UAAU,GAAG,UAAU,EACrC,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,WAAW,SAAS,UAAU,GAAG,KAAK,IACtC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG;IACtE,KAAK,EAAE;QACH,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;QACrC,KAAK,EAAE,MAAM,IAAI,CAAC;QAClB,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;QAC7B,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,oBAAY,iBAAiB,CACzB,KAAK,SAAS,UAAU,GAAG,UAAU,EACrC,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,WAAW,SAAS,UAAU,GAAG,KAAK,IACtC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG;IACjE;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE;QACT,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;CACL,GAAG,8BAA8B,CAAC;AAEnC,eAAO,MAAM,YAAY,iZA0MxB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/useModalForm/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,OAAO,EACP,UAAU,EACV,8BAA8B,EAC9B,SAAS,EAQZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAW,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGtE,oBAAY,sBAAsB,CAC9B,YAAY,SAAS,UAAU,GAAG,UAAU,EAC5C,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,KAAK,SAAS,UAAU,GAAG,YAAY,EACvC,SAAS,SAAS,UAAU,GAAG,KAAK,EACpC,cAAc,SAAS,SAAS,GAAG,MAAM,IACzC,iBAAiB,CACjB,YAAY,EACZ,MAAM,EACN,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,cAAc,CACjB,GAAG;IACA,KAAK,EAAE;QACH,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;QACrC,KAAK,EAAE,MAAM,IAAI,CAAC;QAClB,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;QAC7B,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,oBAAY,iBAAiB,CACzB,YAAY,SAAS,UAAU,GAAG,UAAU,EAC5C,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,KAAK,SAAS,UAAU,GAAG,YAAY,EACvC,SAAS,SAAS,UAAU,GAAG,KAAK,EACpC,cAAc,SAAS,SAAS,GAAG,MAAM,IACzC,YAAY,CACZ,YAAY,EACZ,MAAM,EACN,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,cAAc,CACjB,GAAG;IACA;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE;QACT,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;CACL,GAAG,8BAA8B,CAAC;AAEnC,eAAO,MAAM,YAAY,kiBAkNxB,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import { FieldValues } from "react-hook-form";
2
2
  import { BaseRecord, HttpError } from "@refinedev/core";
3
3
  import { UseFormProps, UseFormReturnType } from "../useForm";
4
- export declare type UseStepsFormReturnType<TData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TSelectData extends BaseRecord = TData> = UseFormReturnType<TData, TError, TVariables, TContext, TSelectData> & {
4
+ export declare type UseStepsFormReturnType<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormReturnType<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError> & {
5
5
  steps: {
6
6
  currentStep: number;
7
7
  gotoStep: (step: number) => void;
8
8
  };
9
9
  };
10
- export declare type UseStepsFormProps<TData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TSelectData extends BaseRecord = TData> = UseFormProps<TData, TError, TVariables, TContext, TSelectData> & {
10
+ export declare type UseStepsFormProps<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormProps<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError> & {
11
11
  /**
12
12
  * @description Configuration object for the steps.
13
13
  * `defaultStep`: Allows you to set the initial step.
@@ -24,5 +24,5 @@ export declare type UseStepsFormProps<TData extends BaseRecord = BaseRecord, TEr
24
24
  isBackValidate?: boolean;
25
25
  };
26
26
  };
27
- export declare const useStepsForm: <TData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TSelectData extends BaseRecord = TData>({ stepsProps, ...rest }?: UseStepsFormProps<TData, TError, TVariables, TContext, TSelectData>) => UseStepsFormReturnType<TData, TError, TVariables, TContext, TSelectData>;
27
+ export declare const useStepsForm: <TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError>({ stepsProps, ...rest }?: UseStepsFormProps<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError>) => UseStepsFormReturnType<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError>;
28
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/useStepsForm/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAQ,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAW,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE,oBAAY,sBAAsB,CAC9B,KAAK,SAAS,UAAU,GAAG,UAAU,EACrC,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,WAAW,SAAS,UAAU,GAAG,KAAK,IACtC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG;IACtE,KAAK,EAAE;QACH,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KACpC,CAAC;CACL,CAAC;AAEF,oBAAY,iBAAiB,CACzB,KAAK,SAAS,UAAU,GAAG,UAAU,EACrC,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,WAAW,SAAS,UAAU,GAAG,KAAK,IACtC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG;IACjE;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,YAAY,8WA4FxB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/useStepsForm/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAQ,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAW,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE,oBAAY,sBAAsB,CAC9B,YAAY,SAAS,UAAU,GAAG,UAAU,EAC5C,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,KAAK,SAAS,UAAU,GAAG,YAAY,EACvC,SAAS,SAAS,UAAU,GAAG,KAAK,EACpC,cAAc,SAAS,SAAS,GAAG,MAAM,IACzC,iBAAiB,CACjB,YAAY,EACZ,MAAM,EACN,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,cAAc,CACjB,GAAG;IACA,KAAK,EAAE;QACH,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KACpC,CAAC;CACL,CAAC;AAEF,oBAAY,iBAAiB,CACzB,YAAY,SAAS,UAAU,GAAG,UAAU,EAC5C,MAAM,SAAS,SAAS,GAAG,SAAS,EACpC,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,KAAK,SAAS,UAAU,GAAG,YAAY,EACvC,SAAS,SAAS,UAAU,GAAG,KAAK,EACpC,cAAc,SAAS,SAAS,GAAG,MAAM,IACzC,YAAY,CACZ,YAAY,EACZ,MAAM,EACN,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,cAAc,CACjB,GAAG;IACA;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,YAAY,+fAoGxB,CAAC"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.2.2",
2
+ "version": "4.2.3",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -30,7 +30,7 @@
30
30
  "@types/react-dom": "^17.0.0 || ^18.0.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@refinedev/core": "^4.12.0",
33
+ "@refinedev/core": "^4.13.0",
34
34
  "@esbuild-plugins/node-resolve": "^0.1.4",
35
35
  "@types/jest": "^29.2.4",
36
36
  "jest": "^29.3.1",
@@ -17,13 +17,22 @@ import {
17
17
  } from "@refinedev/core";
18
18
 
19
19
  export type UseFormReturnType<
20
- TData extends BaseRecord = BaseRecord,
20
+ TQueryFnData extends BaseRecord = BaseRecord,
21
21
  TError extends HttpError = HttpError,
22
22
  TVariables extends FieldValues = FieldValues,
23
23
  TContext extends object = {},
24
- TSelectData extends BaseRecord = TData,
24
+ TData extends BaseRecord = TQueryFnData,
25
+ TResponse extends BaseRecord = TData,
26
+ TResponseError extends HttpError = TError,
25
27
  > = UseFormReturn<TVariables, TContext> & {
26
- refineCore: UseFormReturnTypeCore<TData, TError, TVariables, TSelectData>;
28
+ refineCore: UseFormReturnTypeCore<
29
+ TQueryFnData,
30
+ TError,
31
+ TVariables,
32
+ TData,
33
+ TResponse,
34
+ TResponseError
35
+ >;
27
36
  saveButtonProps: {
28
37
  disabled: boolean;
29
38
  onClick: (e: React.BaseSyntheticEvent) => void;
@@ -31,17 +40,26 @@ export type UseFormReturnType<
31
40
  };
32
41
 
33
42
  export type UseFormProps<
34
- TData extends BaseRecord = BaseRecord,
43
+ TQueryFnData extends BaseRecord = BaseRecord,
35
44
  TError extends HttpError = HttpError,
36
45
  TVariables extends FieldValues = FieldValues,
37
46
  TContext extends object = {},
38
- TSelectData extends BaseRecord = TData,
47
+ TData extends BaseRecord = TQueryFnData,
48
+ TResponse extends BaseRecord = TData,
49
+ TResponseError extends HttpError = TError,
39
50
  > = {
40
51
  /**
41
52
  * Configuration object for the core of the [useForm](/docs/api-reference/core/hooks/useForm/)
42
- * @type [`UseFormCoreProps<TData, TError, TVariables>`](/docs/api-reference/core/hooks/useForm/#properties)
53
+ * @type [`UseFormCoreProps<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>`](/docs/api-reference/core/hooks/useForm/#properties)
43
54
  */
44
- refineCoreProps?: UseFormCoreProps<TData, TError, TVariables, TSelectData>;
55
+ refineCoreProps?: UseFormCoreProps<
56
+ TQueryFnData,
57
+ TError,
58
+ TVariables,
59
+ TData,
60
+ TResponse,
61
+ TResponseError
62
+ >;
45
63
  /**
46
64
  * When you have unsaved changes and try to leave the current page, **refine** shows a confirmation modal box.
47
65
  * @default `false*`
@@ -50,27 +68,33 @@ export type UseFormProps<
50
68
  } & UseHookFormProps<TVariables, TContext>;
51
69
 
52
70
  export const useForm = <
53
- TData extends BaseRecord = BaseRecord,
71
+ TQueryFnData extends BaseRecord = BaseRecord,
54
72
  TError extends HttpError = HttpError,
55
73
  TVariables extends FieldValues = FieldValues,
56
74
  TContext extends object = {},
57
- TSelectData extends BaseRecord = TData,
75
+ TData extends BaseRecord = TQueryFnData,
76
+ TResponse extends BaseRecord = TData,
77
+ TResponseError extends HttpError = TError,
58
78
  >({
59
79
  refineCoreProps,
60
80
  warnWhenUnsavedChanges: warnWhenUnsavedChangesProp,
61
81
  ...rest
62
82
  }: UseFormProps<
63
- TData,
83
+ TQueryFnData,
64
84
  TError,
65
85
  TVariables,
66
86
  TContext,
67
- TSelectData
68
- > = {}): UseFormReturnType<
69
87
  TData,
88
+ TResponse,
89
+ TResponseError
90
+ > = {}): UseFormReturnType<
91
+ TQueryFnData,
70
92
  TError,
71
93
  TVariables,
72
94
  TContext,
73
- TSelectData
95
+ TData,
96
+ TResponse,
97
+ TResponseError
74
98
  > => {
75
99
  const {
76
100
  warnWhenUnsavedChanges: warnWhenUnsavedChangesRefine,
@@ -80,10 +104,12 @@ export const useForm = <
80
104
  warnWhenUnsavedChangesProp ?? warnWhenUnsavedChangesRefine;
81
105
 
82
106
  const useFormCoreResult = useFormCore<
83
- TData,
107
+ TQueryFnData,
84
108
  TError,
85
109
  TVariables,
86
- TSelectData
110
+ TData,
111
+ TResponse,
112
+ TResponseError
87
113
  >({
88
114
  ...refineCoreProps,
89
115
  });
@@ -18,12 +18,22 @@ import { useForm, UseFormProps, UseFormReturnType } from "../useForm";
18
18
  import React from "react";
19
19
 
20
20
  export type UseModalFormReturnType<
21
- TData extends BaseRecord = BaseRecord,
21
+ TQueryFnData extends BaseRecord = BaseRecord,
22
22
  TError extends HttpError = HttpError,
23
23
  TVariables extends FieldValues = FieldValues,
24
24
  TContext extends object = {},
25
- TSelectData extends BaseRecord = TData,
26
- > = UseFormReturnType<TData, TError, TVariables, TContext, TSelectData> & {
25
+ TData extends BaseRecord = TQueryFnData,
26
+ TResponse extends BaseRecord = TData,
27
+ TResponseError extends HttpError = TError,
28
+ > = UseFormReturnType<
29
+ TQueryFnData,
30
+ TError,
31
+ TVariables,
32
+ TContext,
33
+ TData,
34
+ TResponse,
35
+ TResponseError
36
+ > & {
27
37
  modal: {
28
38
  submit: (values: TVariables) => void;
29
39
  close: () => void;
@@ -34,12 +44,22 @@ export type UseModalFormReturnType<
34
44
  };
35
45
 
36
46
  export type UseModalFormProps<
37
- TData extends BaseRecord = BaseRecord,
47
+ TQueryFnData extends BaseRecord = BaseRecord,
38
48
  TError extends HttpError = HttpError,
39
49
  TVariables extends FieldValues = FieldValues,
40
50
  TContext extends object = {},
41
- TSelectData extends BaseRecord = TData,
42
- > = UseFormProps<TData, TError, TVariables, TContext, TSelectData> & {
51
+ TData extends BaseRecord = TQueryFnData,
52
+ TResponse extends BaseRecord = TData,
53
+ TResponseError extends HttpError = TError,
54
+ > = UseFormProps<
55
+ TQueryFnData,
56
+ TError,
57
+ TVariables,
58
+ TContext,
59
+ TData,
60
+ TResponse,
61
+ TResponseError
62
+ > & {
43
63
  /**
44
64
  * @description Configuration object for the modal.
45
65
  * `defaultVisible`: Initial visibility state of the modal.
@@ -62,28 +82,34 @@ export type UseModalFormProps<
62
82
  } & FormWithSyncWithLocationParams;
63
83
 
64
84
  export const useModalForm = <
65
- TData extends BaseRecord = BaseRecord,
85
+ TQueryFnData extends BaseRecord = BaseRecord,
66
86
  TError extends HttpError = HttpError,
67
87
  TVariables extends FieldValues = FieldValues,
68
88
  TContext extends object = {},
69
- TSelectData extends BaseRecord = TData,
89
+ TData extends BaseRecord = TQueryFnData,
90
+ TResponse extends BaseRecord = TData,
91
+ TResponseError extends HttpError = TError,
70
92
  >({
71
93
  modalProps,
72
94
  refineCoreProps,
73
95
  syncWithLocation,
74
96
  ...rest
75
97
  }: UseModalFormProps<
76
- TData,
98
+ TQueryFnData,
77
99
  TError,
78
100
  TVariables,
79
101
  TContext,
80
- TSelectData
81
- > = {}): UseModalFormReturnType<
82
102
  TData,
103
+ TResponse,
104
+ TResponseError
105
+ > = {}): UseModalFormReturnType<
106
+ TQueryFnData,
83
107
  TError,
84
108
  TVariables,
85
109
  TContext,
86
- TSelectData
110
+ TData,
111
+ TResponse,
112
+ TResponseError
87
113
  > => {
88
114
  const initiallySynced = React.useRef(false);
89
115
 
@@ -116,11 +142,13 @@ export const useModalForm = <
116
142
  } = modalProps ?? {};
117
143
 
118
144
  const useHookFormResult = useForm<
119
- TData,
145
+ TQueryFnData,
120
146
  TError,
121
147
  TVariables,
122
148
  TContext,
123
- TSelectData
149
+ TData,
150
+ TResponse,
151
+ TResponseError
124
152
  >({
125
153
  refineCoreProps,
126
154
  ...rest,
@@ -5,12 +5,22 @@ import { BaseRecord, HttpError } from "@refinedev/core";
5
5
  import { useForm, UseFormProps, UseFormReturnType } from "../useForm";
6
6
 
7
7
  export type UseStepsFormReturnType<
8
- TData extends BaseRecord = BaseRecord,
8
+ TQueryFnData extends BaseRecord = BaseRecord,
9
9
  TError extends HttpError = HttpError,
10
10
  TVariables extends FieldValues = FieldValues,
11
11
  TContext extends object = {},
12
- TSelectData extends BaseRecord = TData,
13
- > = UseFormReturnType<TData, TError, TVariables, TContext, TSelectData> & {
12
+ TData extends BaseRecord = TQueryFnData,
13
+ TResponse extends BaseRecord = TData,
14
+ TResponseError extends HttpError = TError,
15
+ > = UseFormReturnType<
16
+ TQueryFnData,
17
+ TError,
18
+ TVariables,
19
+ TContext,
20
+ TData,
21
+ TResponse,
22
+ TResponseError
23
+ > & {
14
24
  steps: {
15
25
  currentStep: number;
16
26
  gotoStep: (step: number) => void;
@@ -18,12 +28,22 @@ export type UseStepsFormReturnType<
18
28
  };
19
29
 
20
30
  export type UseStepsFormProps<
21
- TData extends BaseRecord = BaseRecord,
31
+ TQueryFnData extends BaseRecord = BaseRecord,
22
32
  TError extends HttpError = HttpError,
23
33
  TVariables extends FieldValues = FieldValues,
24
34
  TContext extends object = {},
25
- TSelectData extends BaseRecord = TData,
26
- > = UseFormProps<TData, TError, TVariables, TContext, TSelectData> & {
35
+ TData extends BaseRecord = TQueryFnData,
36
+ TResponse extends BaseRecord = TData,
37
+ TResponseError extends HttpError = TError,
38
+ > = UseFormProps<
39
+ TQueryFnData,
40
+ TError,
41
+ TVariables,
42
+ TContext,
43
+ TData,
44
+ TResponse,
45
+ TResponseError
46
+ > & {
27
47
  /**
28
48
  * @description Configuration object for the steps.
29
49
  * `defaultStep`: Allows you to set the initial step.
@@ -42,36 +62,44 @@ export type UseStepsFormProps<
42
62
  };
43
63
 
44
64
  export const useStepsForm = <
45
- TData extends BaseRecord = BaseRecord,
65
+ TQueryFnData extends BaseRecord = BaseRecord,
46
66
  TError extends HttpError = HttpError,
47
67
  TVariables extends FieldValues = FieldValues,
48
68
  TContext extends object = {},
49
- TSelectData extends BaseRecord = TData,
69
+ TData extends BaseRecord = TQueryFnData,
70
+ TResponse extends BaseRecord = TData,
71
+ TResponseError extends HttpError = TError,
50
72
  >({
51
73
  stepsProps,
52
74
  ...rest
53
75
  }: UseStepsFormProps<
54
- TData,
76
+ TQueryFnData,
55
77
  TError,
56
78
  TVariables,
57
79
  TContext,
58
- TSelectData
59
- > = {}): UseStepsFormReturnType<
60
80
  TData,
81
+ TResponse,
82
+ TResponseError
83
+ > = {}): UseStepsFormReturnType<
84
+ TQueryFnData,
61
85
  TError,
62
86
  TVariables,
63
87
  TContext,
64
- TSelectData
88
+ TData,
89
+ TResponse,
90
+ TResponseError
65
91
  > => {
66
92
  const { defaultStep = 0, isBackValidate = false } = stepsProps ?? {};
67
93
  const [current, setCurrent] = useState(defaultStep);
68
94
 
69
95
  const useHookFormResult = useForm<
70
- TData,
96
+ TQueryFnData,
71
97
  TError,
72
98
  TVariables,
73
99
  TContext,
74
- TSelectData
100
+ TData,
101
+ TResponse,
102
+ TResponseError
75
103
  >({
76
104
  ...rest,
77
105
  });