@botonic/react
Version:
Build Chatbots using React
100 lines (99 loc) • 3.15 kB
TypeScript
export class WebchatApp {
constructor({ theme, persistentMenu, coverComponent, blockInputs, enableEmojiPicker, enableAttachments, enableUserInput, enableAnimations, hostId, shadowDOM, defaultDelay, defaultTyping, storage, storageKey, onInit, onOpen, onClose, onMessage, onConnectionChange, appId, visibility, server, }: {
theme?: {} | undefined;
persistentMenu: any;
coverComponent: any;
blockInputs: any;
enableEmojiPicker: any;
enableAttachments: any;
enableUserInput: any;
enableAnimations: any;
hostId: any;
shadowDOM: any;
defaultDelay: any;
defaultTyping: any;
storage: any;
storageKey: any;
onInit: any;
onOpen: any;
onClose: any;
onMessage: any;
onConnectionChange: any;
appId: any;
visibility: any;
server: any;
});
theme: {};
persistentMenu: any;
coverComponent: any;
blockInputs: any;
enableEmojiPicker: any;
enableAttachments: any;
enableUserInput: any;
enableAnimations: any;
shadowDOM: boolean;
hostId: any;
defaultDelay: any;
defaultTyping: any;
storage: any;
storageKey: any;
onInit: any;
onOpen: any;
onClose: any;
onMessage: any;
onConnectionChange: any;
visibility: any;
server: any;
webchatRef: React.RefObject<any>;
appId: any;
createRootElement(host: any): void;
host: any;
getReactMountNode(node: any): any;
onInitWebchat(...args: any[]): void;
onOpenWebchat(...args: any[]): void;
onCloseWebchat(...args: any[]): void;
onUserInput({ user, input }: {
user: any;
input: any;
}): Promise<void>;
onConnectionRegained(): Promise<void>;
onStateChange({ session: { user }, messagesJSON }: {
session: {
user: any;
};
messagesJSON: any;
}): void;
hubtypeService: HubtypeService | undefined;
onServiceEvent(event: any): void;
updateUser(user: any): void;
addBotMessage(message: any): void;
addBotText(text: any): void;
addUserMessage(message: any): void;
addUserText(text: any): void;
addUserPayload(payload: any): void;
setTyping(typing: any): void;
open(): void;
close(): void;
toggle(): void;
openCoverComponent(): void;
closeCoverComponent(): void;
renderCustomComponent(_customComponent: any): void;
unmountCustomComponent(): void;
toggleCoverComponent(): void;
getMessages(): any;
clearMessages(): void;
getVisibility(): Promise<boolean>;
getLastMessageUpdate(): any;
updateMessageInfo(msgId: any, messageInfo: any): any;
updateWebchatSettings(settings: any): any;
getComponent(host: any, optionsAtRuntime?: {}): JSX.Element;
isWebchatVisible({ appId }: {
appId: any;
}): Promise<boolean>;
isOnline(): any;
resolveWebchatVisibility(optionsAtRuntime: any): Promise<boolean>;
destroy(): void;
render(dest: any, optionsAtRuntime?: {}): Promise<void>;
}
import React from 'react';
import { HubtypeService } from '@botonic/core';