@paperlinkai/chat
Version:
PaperLink AI Chat Widget - Easy integration for any website
73 lines (71 loc) • 1.62 kB
TypeScript
import { ChatSession, WidgetConfig } from '../types/widget';
import { Component } from 'preact';
interface WidgetProps {
config: WidgetConfig;
}
interface WidgetState {
isOpen: boolean;
isLoading: boolean;
session: ChatSession;
error: string | null;
isMinimized: boolean;
hasNewMessage: boolean;
isRetrying: boolean;
lastFailedMessage?: string;
}
export declare class Widget extends Component<WidgetProps, WidgetState> {
private apiClient;
constructor(props: WidgetProps);
componentDidMount(): Promise<void>;
componentWillUnmount(): void;
/**
* Initialize chat session
*/
private initializeSession;
/**
* Handle sending a message
*/
private handleSendMessage;
/**
* Retry the last failed message
*/
private handleRetryLastMessage;
/**
* Save messages to storage
*/
private saveMessagesToStorage;
/**
* Handle widget toggle
*/
private handleToggleWidget;
/**
* Handle widget minimize
*/
private handleMinimize;
/**
* Handle widget close
*/
private handleClose;
/**
* Open widget programmatically
*/
private openWidget;
/**
* Close widget programmatically
*/
private closeWidget;
/**
* Toggle widget programmatically
*/
private toggleWidget;
/**
* Handle before unload
*/
private handleBeforeUnload;
/**
* Send analytics event (placeholder for future implementation)
*/
private sendAnalytics;
render(): import("preact").JSX.Element;
}
export {};