@feedal/embed
Version:
Feedal embed script to load feedback forms via JS or NPM
77 lines (76 loc) • 2.45 kB
TypeScript
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;
}