/// import * as React from "react"; import { FormError } from "simplr-forms/contracts"; import { FormProps as CoreFormProps } from "simplr-forms/contracts"; import { FormStore } from "simplr-forms/stores"; import { FieldOnChangeCallback, FieldOnChangeInternalCallback, DomFieldTemplateCallback } from "../contracts/field"; export interface FormOnSubmitInternalCallback { (event: React.FormEvent, ...parameters: any[]): void | Promise | FormError | string; } export interface FormOnSubmitCallback { (event: React.FormEvent, store: FormStore): void | Promise | FormError | string; } export interface FormProps extends CoreFormProps, React.HTMLProps { onSubmit?: FormOnSubmitCallback & FormOnSubmitInternalCallback; onChange?: FieldOnChangeCallback & FieldOnChangeInternalCallback; preventSubmitDefaultAndPropagation?: boolean; template?: DomFieldTemplateCallback; }