@cosva-lab/form-builder
Version:
React form builder.
28 lines (27 loc) • 1.59 kB
text/typescript
import { FieldBuilder } from "./FieldBuilder.mjs";
import InputsValidator from "../validate/InputsValidator.mjs";
import { EventChangeValue, EventField, FieldsProps, FieldsToObject, GetArrayValues, GetFieldsValue } from "../../types.mjs";
//#region src/utils/builders/FieldsBuilder.d.ts
declare class FieldsBuilder<Fields extends FieldBuilder<any>[]> extends InputsValidator<Fields> {
private _ns?;
get ns(): string | undefined;
set ns(ns: string | undefined);
actionsExtra?: object;
get values(): GetFieldsValue<Fields>;
constructor(props: FieldsProps<Fields>);
private setField;
restore(): void;
getValues(): GetFieldsValue<Fields>;
get<FieldName extends keyof FieldsToObject<Fields>>(fieldName: FieldName): FieldsToObject<Fields>[FieldName];
getField<FieldName extends keyof FieldsToObject<Fields>>(fieldName: FieldName): FieldsToObject<Fields>[FieldName];
onChangeField<FieldName extends keyof GetFieldsValue<Fields>>(event: EventField<GetFieldsValue<Fields>[FieldName], FieldName>): void;
onChangeFields<Values extends GetFieldsValue<Fields>>(events: GetArrayValues<{ [Field in keyof Values]: EventField<Values[Field], Field> }>): void;
changeValue<FieldName extends keyof GetFieldsValue<Fields>>({
name,
value
}: EventChangeValue<GetFieldsValue<Fields>[FieldName], FieldName>): void;
changeValues(events: { [K in keyof GetFieldsValue<Fields>]: EventChangeValue<GetFieldsValue<Fields>[K], K> }[keyof GetFieldsValue<Fields>][]): void;
setValidation(validate: boolean): void;
}
//#endregion
export { FieldsBuilder, FieldsBuilder as default };