@smkit/ui
Version:
UI Kit of SberMarketing
33 lines (32 loc) • 1.2 kB
TypeScript
import { type FormSettings, type FormData, type FormValidators, type FormErrors, type FormValidationOutput } from './types';
import type { FormEventHandler } from 'svelte/elements';
import { type Writable } from 'svelte/store';
export declare class Form {
private inputNames;
data: Writable<Record<string, FormData>>;
private validators;
errors: FormErrors;
isValid: Writable<boolean>;
constructor();
private parseInputValue;
private checkFormValidity;
private setError;
validateInput(name: string): void;
private parseAllInputValues;
validateForm(): FormValidationOutput;
private getInputValue;
private handleInput;
private handleSelect;
private provideInitialValue;
private defineDynamicField;
registerInput(name: string, settings?: FormSettings): {
name: string;
value: any;
oninput: (evt: any) => FormEventHandler<HTMLInputElement>;
onmount: (elem: HTMLInputElement) => string;
onselect: (value: any) => any;
errors: FormErrors;
validators: FormValidators;
};
registerDataField(name: string, value: string | boolean | number): string | number | boolean;
}