UNPKG

@cosva-lab/form-builder

Version:
234 lines (233 loc) 7.8 kB
import { StatusField } from "../../enums.mjs"; import { FieldProps, FieldType, GenericFieldsBuilder, GetErrors, InitialState, InputPropsField, OnChangeField, OnSetValue, RenderField, TextFieldPropsField, TypeField, Validate, ValidateField, ValidationError } from "../../types.mjs"; import React from "react"; //#region src/inputsTypes/Input/index.d.ts interface InputProps<Field extends FieldType> extends FieldProps<Field['value'], Field['name'], Field['validations']> { type?: TypeField; } declare class Input<Field extends FieldType> extends React.Component<InputProps<Field>, { type?: TypeField; }> { constructor(props: InputProps<Field>); animation: boolean; componentDidMount(): void; getProps: (props: InputProps<Field>) => { render?: RenderField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; fullWidth?: boolean; autoComplete?: string; InputProps?: InputPropsField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; textFieldProps?: TextFieldPropsField; component?: React.ComponentType<FieldProps<Field["value"], Field["name"], Field["validations"]>> | undefined; getErrors: () => Promise<GetErrors<Field_1["validations"]> | undefined>; hasErrors: () => Promise<boolean>; hasValid: () => Promise<boolean>; originalProps?: Pick<Validate<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> & { readonly name: Field["name"]; type?: TypeField; disabled?: boolean; defaultInputValue?: Field["value"] | undefined; onChange?: OnChangeField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; onSetValue?: OnSetValue<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; value: Field["value"]; label?: any; validations?: Field["validations"] | undefined; } & InitialState & { validate?: ValidateField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; render?: RenderField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; InputProps?: InputPropsField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; component?: React.ComponentType<FieldProps<Field["value"], Field["name"], Field["validations"]>> | undefined; fullWidth?: boolean; errors?: [] | GetErrors<Field["validations"]> | undefined; autoComplete?: string; textFieldProps?: TextFieldPropsField; }, "validate" | "value"> | undefined; _validate?: ValidateField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; touched?: boolean; validations: Field["validations"]; markAsTouched: () => void; markAsUntouched: () => void; setError: (error: ValidationError) => void; setErrors: (errors: ValidationError[]) => void; fieldsBuilder?: GenericFieldsBuilder; type?: TypeField; name: Field["name"]; value: Field["value"]; defaultInputValue?: Field["value"] | undefined; label: any; status?: StatusField; disabled: boolean; errors?: [] | GetErrors<Field["validations"]> | undefined; inputRef?: HTMLInputElement | null; onChange?: OnChangeField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; onSetValue?: OnSetValue<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; pristine: boolean; markAsDirty: () => void; markAsPristine: () => void; }; getLastProps: () => { render?: RenderField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; fullWidth?: boolean; autoComplete?: string; InputProps?: InputPropsField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; textFieldProps?: TextFieldPropsField; component?: React.ComponentType<FieldProps<Field["value"], Field["name"], Field["validations"]>> | undefined; getErrors: () => Promise<GetErrors<Field_1["validations"]> | undefined>; hasErrors: () => Promise<boolean>; hasValid: () => Promise<boolean>; originalProps?: Pick<Validate<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> & { readonly name: Field["name"]; type?: TypeField; disabled?: boolean; defaultInputValue?: Field["value"] | undefined; onChange?: OnChangeField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; onSetValue?: OnSetValue<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; value: Field["value"]; label?: any; validations?: Field["validations"] | undefined; } & InitialState & { validate?: ValidateField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; render?: RenderField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; InputProps?: InputPropsField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; component?: React.ComponentType<FieldProps<Field["value"], Field["name"], Field["validations"]>> | undefined; fullWidth?: boolean; errors?: [] | GetErrors<Field["validations"]> | undefined; autoComplete?: string; textFieldProps?: TextFieldPropsField; }, "validate" | "value"> | undefined; _validate?: ValidateField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; touched?: boolean; validations: Field["validations"]; markAsTouched: () => void; markAsUntouched: () => void; setError: (error: ValidationError) => void; setErrors: (errors: ValidationError[]) => void; fieldsBuilder?: GenericFieldsBuilder; type?: TypeField; name: Field["name"]; value: Field["value"]; defaultInputValue?: Field["value"] | undefined; label: any; status?: StatusField; disabled: boolean; errors?: [] | GetErrors<Field["validations"]> | undefined; inputRef?: HTMLInputElement | null; onChange?: OnChangeField<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; onSetValue?: OnSetValue<{ name: Field["name"]; value: Field["value"]; label: any; validations: Field["validations"]; }> | undefined; pristine: boolean; markAsDirty: () => void; markAsPristine: () => void; }; render(): React.JSX.Element; } //#endregion export { Input };