laravel-precognition-react-inertia
Version:
Laravel Precognition (React w/ Inertia).
22 lines (21 loc) • 1.49 kB
TypeScript
import { NamedInputEvent, RequestMethod, SimpleValidationErrors, ValidationConfig, ValidationErrors } from 'laravel-precognition';
import { Form as PrecognitiveForm } from 'laravel-precognition-react/dist/types';
import { InertiaFormProps } from '@inertiajs/react';
import { VisitOptions } from '@inertiajs/core';
type RedefinedProperties = 'setErrors' | 'touch' | 'forgetError' | 'setValidationTimeout' | 'submit' | 'reset' | 'validateFiles' | 'setData' | 'validate';
export type Form<Data extends Record<string, FormDataConvertible>> = Omit<PrecognitiveForm<Data>, RedefinedProperties> & InertiaFormProps<Data> & {
setErrors(errors: SimpleValidationErrors | ValidationErrors): Form<Data>;
touch(name: Array<string> | string | NamedInputEvent): Form<Data>;
forgetError(string: keyof Data | NamedInputEvent): Form<Data>;
setValidationTimeout(duration: number): Form<Data>;
submit(config?: Partial<VisitOptions>): void;
submit(method: RequestMethod, url: string, options?: Omit<VisitOptions, 'data'>): void;
reset(...keys: (keyof Partial<Data>)[]): void;
validateFiles(): Form<Data>;
setData(data: Record<string, FormDataConvertible>): Form<Data>;
validate(name?: (keyof Data | NamedInputEvent) | ValidationConfig, config?: ValidationConfig): Form<Data>;
};
export type FormDataConvertible = Array<FormDataConvertible> | {
[key: string]: FormDataConvertible;
} | Blob | FormDataEntryValue | Date | boolean | number | null | undefined;
export {};