UNPKG

ez-formbecauseican

Version:

Forms made Ez

69 lines (68 loc) 2.24 kB
/// <reference types="react" /> export interface StringTMap<T> { [key: string]: T; } export declare type VisibleIf = (values: object) => boolean; export declare type StateSetterCallback = (keyName: string, val: any) => void; export declare type Track = (keyName: string, val: any, index: number | string) => void; export declare type ValidateField = (values: any, index: number) => void; export declare type OnBlurEvent = (e: React.ChangeEvent<HTMLInputElement>, keyName: string, index: number) => void; export declare type OnChangeEvent = (e: React.ChangeEvent<HTMLInputElement>, keyName: string, index: number) => void; export interface SelectOptions { label: string; value: any; } export interface SchemaValues { visibleIf?: VisibleIf; track?: Track; validate?: ValidateField; customComponent?: any; type?: string; options?: SelectOptions[]; groupClassName?: string; label?: string; initialValue?: string; placeholder?: string; tracked?: boolean; prependHtml?: any; appendHtml?: any; required?: boolean | Function; functionalComponent?: any; viewModeClass?: string; viewModeComponent?: Function; featureFlag?: string; onChange?: (e: React.ChangeEvent<HTMLInputElement>, value: any, values: object) => void; onBlur?: (e: React.ChangeEvent<HTMLInputElement>, value: any, values: object) => void; onSubmit?: (value: any, values: object) => void; [key: string]: any; } export declare type EzFormSchema = { [key: string]: SchemaValues; }; export declare type EzFormProps = { children: any; schema: any; schemaModifier?: any; onSubmit?: (values: object) => void; onBlur?: (values: object) => void; onChange?: (values: object) => void; initialValues?: object; validateInitialValues?: boolean; inputsOnly?: boolean; showSubmitButton?: boolean; disabled?: boolean; viewMode?: boolean; className?: string; multiForm?: boolean; formComponent?: any; errorClass?: string; featureFlags?: object; viewModeDefaultText?: string; }; export declare type EzFormState = { formInited: boolean; schema: any; fieldValues: any; errors: any; hasErrors: boolean; };