simplr-forms-dom
Version:
DOM components for simplr-forms.
19 lines (18 loc) • 1 kB
TypeScript
/// <reference types="react" />
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<HTMLFormElement>, ...parameters: any[]): void | Promise<never> | FormError | string;
}
export interface FormOnSubmitCallback {
(event: React.FormEvent<HTMLFormElement>, store: FormStore): void | Promise<never> | FormError | string;
}
export interface FormProps extends CoreFormProps, React.HTMLProps<HTMLFormElement> {
onSubmit?: FormOnSubmitCallback & FormOnSubmitInternalCallback;
onChange?: FieldOnChangeCallback<any> & FieldOnChangeInternalCallback;
preventSubmitDefaultAndPropagation?: boolean;
template?: DomFieldTemplateCallback;
}