UNPKG

716 BTypeScriptView Raw
1import { Component, FormHTMLAttributes, FormEvent, FormEventHandler } from "react";
2import { FormErrors, FormSubmitHandler, Omit } from "../index";
3
4interface FormSubmitProp<FormData = {}, P = {}, ErrorType = string> {
5 onSubmit?: FormSubmitHandler<FormData, P, ErrorType> | undefined;
6}
7
8export type FormProps<FormData, P, ErrorType = string> = Omit<FormHTMLAttributes<HTMLFormElement>, "onSubmit"> & FormSubmitProp<FormData, P, ErrorType>;
9
10export class GenericForm<FormData, P, ErrorType> extends Component<FormProps<FormData, P, ErrorType>> {}
11
12export class Form<FormData = {}, P = {}, ErrorType = string> extends Component<FormProps<FormData, P, ErrorType>> implements GenericForm<FormData, P, ErrorType> {}