UNPKG

dynamic-modal

Version:

The dynamic-modal is a solution of creation different modals into project using a json configuration file

29 lines (28 loc) 1.55 kB
import { FieldValues, UseFormSetValue, UseFormUnregister, UseFormWatch } from 'react-hook-form'; import { IOption } from '../interfaces/option'; import { IModalLiveDataCondition, IModalRenderCondition } from '../interfaces/modal'; type WatchMeta = { name: string; type: string | undefined; }; interface IUseConditionalFieldProps { watch: UseFormWatch<FieldValues>; elementName: string; renderIf?: IModalRenderCondition; enableIf?: IModalRenderCondition; liveDataConfig?: IModalLiveDataCondition; render: boolean; enable: boolean; checkRender: (formData: Record<string, unknown>, meta: WatchMeta) => Promise<boolean | undefined | null>; checkEnable: (formData: Record<string, unknown>, meta: WatchMeta) => Promise<boolean | undefined | null>; checkLiveData: (formData: Record<string, unknown>, meta: WatchMeta) => Promise<Array<IOption> | undefined | null>; setRender: (value: boolean) => void; setEnable: (value: boolean) => void; setLiveData?: (value: Array<IOption>) => void; setLiveSearching?: (value: boolean) => void; unregister?: UseFormUnregister<FieldValues>; setValue?: UseFormSetValue<FieldValues>; liveDataResetValue?: string | Array<string>; } declare const useConditionalField: ({ watch, elementName, renderIf, enableIf, liveDataConfig, render, enable, checkRender, checkEnable, checkLiveData, setRender, setEnable, setLiveData, setLiveSearching, unregister, setValue, liveDataResetValue, }: IUseConditionalFieldProps) => void; export default useConditionalField;