@vulform/astro
Version:
Astro components for VulForm contact form management
57 lines • 1.56 kB
TypeScript
/**
* Client-side VulForm handler for Astro components
* Provides progressive enhancement for server-rendered forms
*/
interface VulFormClientConfig {
templateId: string;
apiKey?: string;
apiUrl?: string;
theme?: string;
prefill?: Record<string, any>;
enableAnalytics?: boolean;
spamProtection?: boolean;
loadingState?: string;
resetOnSuccess?: boolean;
showSuccessMessage?: boolean;
autoRedirect?: boolean;
}
export declare class VulFormClient {
private element;
private config;
private apiClient;
private template;
private formData;
private validationErrors;
private isSubmitting;
private isSubmitted;
constructor(element: HTMLElement, config: VulFormClientConfig);
private initialize;
private initializeApiClient;
private getApiKeyFromEnv;
private loadTemplate;
private setupForm;
private hideLoading;
private renderForm;
private generateFormHTML;
private generateFieldHTML;
private generateFieldInput;
private getInputType;
private getLayoutClasses;
private getFieldWidth;
private getFieldClasses;
private attachEventListeners;
private handleFieldChange;
private handleCheckboxChange;
private handleFieldBlur;
private handleSubmit;
private showValidationErrors;
private showFieldError;
private clearFieldError;
private clearErrors;
private showError;
private showSuccess;
private updateSubmitButton;
private resetForm;
}
export {};
//# sourceMappingURL=client.d.ts.map