UNPKG

claritykit-svelte

Version:

A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility

89 lines 2.87 kB
type ValidationRule = { rule: (value: any, data?: any) => boolean | string | Promise<boolean | string>; message: string; validateIf?: (data: any) => boolean; }; type FormData = Record<string, any>; interface Props { validateOn?: 'blur' | 'input' | 'submit' | 'manual'; validateAllOnSubmit?: boolean; showAllErrors?: boolean; debounce?: number; scrollToError?: boolean; scrollOffset?: number; focusFirstError?: boolean; onvalid?: (event: CustomEvent<{ valid: boolean; data: FormData; }>) => void; oninvalid?: (event: CustomEvent<{ errors: Record<string, string>; data: FormData; }>) => void; onsubmit?: (event: CustomEvent<{ data: FormData; preventDefault: () => void; }>) => void; onfieldchange?: (event: CustomEvent<{ field: string; value: any; valid: boolean | null; error: string | null; }>) => void; onfieldblur?: (event: CustomEvent<{ field: string; value: any; valid: boolean | null; error: string | null; }>) => void; children?: import('svelte').Snippet<[ { formData: FormData; formValid: boolean | null; isSubmitting: boolean; submitAttempted: boolean; onsubmit: (event: Event) => Promise<void>; onreset: () => void; } ]>; } declare const FormValidation: import("svelte").Component<Props, { validateField: (fieldId: string) => Promise<boolean>; validateAll: () => Promise<boolean>; handleSubmit: (event?: Event) => Promise<void>; resetForm: () => void; getFieldState: (fieldId: string) => { id: string; value: any; touched: boolean; dirty: boolean; valid: boolean | null; error: string | null; pending: boolean; } | null; getFormState: () => { valid: boolean | null; isSubmitting: boolean; submitAttempted: boolean; fields: Record<string, any>; values: { [x: string]: any; }; }; setFieldValue: (fieldId: string, value: any, validate?: boolean) => void; setFieldError: (fieldId: string, error: string | null) => void; setErrors: (errors: Record<string, string>) => void; setValues: (values: Record<string, any>) => void; registerField: (id: string, initialValue: any, rules: ValidationRule[] | undefined, validate: () => Promise<boolean>) => { update: (value: any) => void; blur: () => void; destroy: () => void; } | undefined; formData: FormData; formValid: boolean | null; isSubmitting: false; submitAttempted: false; }, "">; type FormValidation = ReturnType<typeof FormValidation>; export default FormValidation; //# sourceMappingURL=FormValidation.svelte.d.ts.map