@cosva-lab/form-builder
Version:
React form builder.
234 lines (233 loc) • 7.8 kB
text/typescript
import { StatusField } from "../../enums.cjs";
import { FieldProps, FieldType, GenericFieldsBuilder, GetErrors, InitialState, InputPropsField, OnChangeField, OnSetValue, RenderField, TextFieldPropsField, TypeField, Validate, ValidateField, ValidationError } from "../../types.cjs";
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 };