formular
Version:
Build forms in React. Easy-Peasy!
45 lines • 1.89 kB
TypeScript
import Form, { FormEventName, FormErrors } from './Form';
declare const eventNames: {
readonly replace: "replace";
readonly setValues: "set values";
readonly unsetValues: "unset values";
readonly attachForms: "attach forms";
readonly detachForms: "detach forms";
readonly forceUpdate: "force update";
readonly submit: "submit";
};
export declare type FormGroupEventName = typeof eventNames[keyof typeof eventNames];
declare type FormsValues<FormsFieldValues> = {
[K in keyof FormsFieldValues]: any;
};
declare type FormsErrors<FormsFieldValues> = {
[K in keyof FormsFieldValues]: FormErrors<FormsFieldValues[K]> | null;
};
declare type FormInstances<FormsFieldValues> = {
[K in keyof FormsFieldValues]: Form<FormsFieldValues[K]>;
};
declare class FormGroup<FormsFieldValues extends {}> {
private _events;
forms: FormInstances<FormsFieldValues>;
constructor(forms?: FormInstances<FormsFieldValues>);
private _handleFormEvent;
private _subscribe;
private _unsubscribe;
attachForms(forms: Partial<FormInstances<FormsFieldValues>>): void;
detachForms(formNames: Array<keyof FormsFieldValues>): void;
replace(newForms: FormInstances<FormsFieldValues>): void;
forceUpdate(): void;
validate(): Promise<boolean>;
setValues(values: FormsValues<Partial<FormsFieldValues>>): void;
getValues(): FormsValues<FormsFieldValues>;
unsetValues(): void;
getErrors(): FormsErrors<FormsFieldValues> | null;
submit(): Promise<{
values: FormsValues<FormsFieldValues>;
errors: FormsErrors<FormsFieldValues> | null;
}>;
on(eventName: FormGroupEventName | FormEventName, handler: Function): void;
off(eventName: FormGroupEventName | FormEventName, handler: Function): void;
}
export default FormGroup;
//# sourceMappingURL=FormGroup.d.ts.map