@inleads/inleads-widgets
Version:
Widgets for chatbot, WhatsApp, nps, contact-form
87 lines (86 loc) • 2.32 kB
TypeScript
export declare class ChatbotWidget {
apiKey: string;
agentId: string;
emailId: string;
userName: string;
chatbotApiKey: string;
agentIdState: string;
messages: {
text: string;
type: 'user' | 'bot';
image?: string;
}[];
loading: boolean;
closeStatus: boolean;
botName: string;
greetingsMessage: string;
textColor: string;
botBubbleColor: string;
botImage: string;
chatBoxColor: string;
domainNames: string;
validOrigin: boolean;
closeBotMessageHint: boolean;
preprompts: any[];
profileText: string;
entityName: string;
agentDeletionStatus: boolean;
name: string;
email: string;
errors: {
[key: string]: string;
};
isChatBoxVisible: boolean;
isRegisterForm: boolean;
contactObjectId: String;
callObjectId: String;
contactEntityId: String;
phoneNumber: any;
model: String;
imageUploadErrorStatus: Boolean;
imageUploadErrorMsg: String;
imagePreview: string;
senderImageList: string;
uploadStatus: string;
isUploading: boolean;
showDate: string;
greetingLoaded: boolean;
footerDisclaimer: String;
popupMessage: string;
private chatInput;
private chatbox;
private fileInput;
private IMAGE_VALIDATION;
private validateImageFile;
private handleFileChange;
handleRemoveImage: () => void;
validateForm(): boolean;
private audioPlayer;
private handleUserInteraction;
componentWillLoad(): void;
handleSubmit(): void;
handleSkipForm(): void;
handleHintMessageBlock(): void;
handlePromptButtonClick: (userMessage: string) => Promise<void>;
private sendingUserData;
private saveCall;
hexToRgb(hex: string): string;
hexToRgba(hex: string, opacity: number): string;
toggleChatBox(): void;
toggleRegisterForm(): void;
private storeUserData;
private initializeChatbot;
private validateApiKey;
private fetchAgentSettings;
private capitalizeName;
private filteringArray;
private handleChat;
private generateResponse;
private scrollToBottom;
private handleKeyPress;
private toggleChatWidget;
private loadUserData;
private convertMarkdownToHTML;
getFormattedDate(): string;
render(): any;
}