UNPKG

@ordojs/forms

Version:

Comprehensive form handling system for OrdoJS

63 lines 2.46 kB
/** * Core form state management with reactive field-level tracking */ import type { FieldConfig, FieldError, FieldState, FieldValue, FieldValues, FormConfig, FormInstance, FormState } from './types.js'; export declare class ReactiveForm implements FormInstance { private state; private fieldConfigs; private fieldStates; private subscribers; private fieldSubscribers; private validationTimeouts; private config; constructor(config?: FormConfig); private createInitialState; private createInitialFieldState; private notifySubscribers; private notifyFieldSubscribers; private validateFieldInternal; private updateFormValidity; private debounceValidation; getState(): FormState; getFieldState(name: string): FieldState | undefined; getValues(): FieldValues; getValue(name: string): FieldValue; getErrors(): Record<string, FieldError>; getError(name: string): FieldError | null; setValue(name: string, value: FieldValue, shouldValidate?: boolean): void; setValues(values: FieldValues, shouldValidate?: boolean): void; setError(name: string, error: FieldError): void; setErrors(errors: Record<string, FieldError>): void; clearError(name: string): void; clearErrors(): void; registerField(config: FieldConfig): () => void; unregisterField(name: string): void; touchField(name: string): void; untouchField(name: string): void; focusField(name: string): void; blurField(name: string): void; validateField(name: string): Promise<boolean>; validateForm(): Promise<boolean>; isValid(): boolean; isValidating(): boolean; submit(): Promise<void>; reset(values?: FieldValues): void; resetField(name: string, value?: FieldValue): void; isDirty(): boolean; isTouched(): boolean; isSubmitting(): boolean; hasBeenSubmitted(): boolean; getSubmitCount(): number; handleSubmit(event?: Event): Promise<void>; handleReset(event?: Event): void; handleFieldChange(name: string, value: FieldValue): void; handleFieldBlur(name: string): void; handleFieldFocus(name: string): void; subscribe(callback: (state: FormState) => void): () => void; subscribeToField(name: string, callback: (state: FieldState) => void): () => void; } /** * Create a new reactive form instance */ export declare function createForm(config?: FormConfig): FormInstance; //# sourceMappingURL=form.d.ts.map