UNPKG

@aslaluroba/help-center

Version:

A powerful and customizable help center widget for Angular applications with real-time chat functionality, AI assistance, and multi-language support.

107 lines (106 loc) 3.91 kB
import { OnInit, OnDestroy, ElementRef } from '@angular/core'; import { ApiService } from '../services/api.service'; import { TranslationService } from '../services/translation.service'; import * as i0 from "@angular/core"; interface Option { id: string; helpScreenId: string; parentOptionId: string | null; nestedOptions: Option[]; title: string; paragraphs: string[]; chatWithUs: boolean; assistantId?: string; assistant?: { id: string; tenantId: string; tenant: { id: string; name: string; key: string; }; name: string; openAIAssistantId: string; greeting: string; closing: string; }; hasNestedOptions: boolean; order: number; } interface Message { id: string | number; sender: 'user' | 'assistant' | 'agent'; senderType: number; messageContent: string; sentAt: Date; isSeen: boolean; } export declare class HelpCenterWidgetComponent implements OnInit, OnDestroy { private apiService; private translationService; getToken: () => Promise<string>; helpScreenId: string; showArrow: boolean; messageLabel: string | null; set currentLang(value: string); get currentLang(): string; isIntroScreenEnabled: boolean; chatMessagesContainer: ElementRef; private _currentLang; private langSubscription?; isRTL: boolean; isPopupOpen: boolean; helpScreenData: any; status: string; error: string | null; showArrowAnimation: boolean; showTooltip: boolean; sessionId: string | null; isAblyConnected: boolean; isChatClosed: boolean; showChat: boolean; messageText: string; isTyping: boolean; messages: Message[]; showHelpScreenData: boolean; chatIsLoading: boolean; ablyToken: string | null; isOpen: boolean; needsAgent: boolean; assistantStatus: string; selectedOption: Option | null; selectedNestedOption: Option | null; showEndChatConfirmation: boolean; constructor(apiService: ApiService, translationService: TranslationService); ngOnInit(): void; ngOnDestroy(): void; handleTogglePopup(): Promise<void>; private fetchHelpScreenData; createChatSession(option?: Option): Promise<any>; sendMessage(messageText?: string): Promise<void>; sendMessageToChatSession(chatSessionId: string, messageDto: any): Promise<any>; handleReceiveMessage(message: string, senderType: string, needsAgent: boolean): void; private getSenderType; handleStartNewChat(option: Option): Promise<void>; private startNewChatSession; handleStartChat(option: any): Promise<void>; handleEndChat(): Promise<void>; confirmEndChat(): Promise<void>; cancelEndChat(): void; closeChatSession(chatSessionId: string): Promise<any>; handleClosePopup(): void; handleCloseArrowAnimation(): void; handleBack(): void; handleShowChat(): void; selectOption(option: Option): void; selectNestedOption(nestedOption: Option): void; handleShowHelpScreenData(): void; handleHideHelpScreenData(): void; private scrollToBottom; getDirection(): "ltr" | "rtl"; get helpScreenDataList(): any; navigateToUrl(url: string): void; static ɵfac: i0.ɵɵFactoryDeclaration<HelpCenterWidgetComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<HelpCenterWidgetComponent, "app-help-center-widget", never, { "getToken": { "alias": "getToken"; "required": false; }; "helpScreenId": { "alias": "helpScreenId"; "required": false; }; "showArrow": { "alias": "showArrow"; "required": false; }; "messageLabel": { "alias": "messageLabel"; "required": false; }; "currentLang": { "alias": "currentLang"; "required": false; }; "isIntroScreenEnabled": { "alias": "isIntroScreenEnabled"; "required": false; }; }, {}, never, never, true, never>; } export {};