UNPKG

@feedal/embed

Version:

Feedal embed script to load feedback forms via JS or NPM

77 lines (76 loc) 2.45 kB
import { EmbedOptions, FeedalWidgetInterface } from './types'; export declare class FeedalWidget implements FeedalWidgetInterface { private options; private iframe?; private wrapper?; private overlay?; private isOpen; private messageReceived; private messageListener?; private resizeListener?; private accessibilityManager?; private performanceManager; private triggerManager?; private submissionManager; private dragHandlers?; private resizeHandlers?; private focusTrapCleanup?; private buttonElement?; private static instances; private static stylesInjected; static createWidget: (options: EmbedOptions) => FeedalWidget; static openForm: (options: EmbedOptions) => FeedalWidget; static closeAll: () => void; static isAnyOpen: () => boolean; static getWidget: (formId: string) => FeedalWidget | undefined; constructor(options: EmbedOptions); open(): void; close(): void; toggle(): void; destroy(): void; updateOptions(newOptions: Partial<EmbedOptions>): void; getPerformanceMetrics(): Record<string, number>; getTriggerState(): import('./types').TriggerState | null; resetTrigger(): void; collapse(): void; get isVisible(): boolean; get element(): HTMLElement | null; static getInstance(formId: string): FeedalWidget | undefined; static destroyAll(): void; resetSubmissionHistory(): void; static resetAllSubmissions(): void; private validateOptions; private setupEventListeners; private setupTriggers; private createIframe; private setupAccessibility; private shouldUseFocusTrap; private showWidget; private renderWidget; private renderFullscreen; private renderEmbedded; private renderPopup; private renderDrawer; private renderSidebar; private renderToast; private renderInline; private renderModal; private renderSlideOver; private renderButton; private setupEnhancedFeatures; private setupDraggable; private setupResizable; private setupCollapsible; private createWrapper; private createOverlay; private addCloseButton; private cleanupEnhancedFeatures; private handleMessage; private handleDynamicHeight; private handleResize; private applyEnterAnimation; private applyExitAnimation; private cleanupWidget; private cleanup; private setupResizeObserver; }