@aslaluroba/help-center 1.1.12 → 1.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"aslaluroba-help-center.mjs","sources":["../../../src/app/shared/utils/class-utils.ts","../../../src/app/shared/components/card/card.component.ts","../../../src/app/shared/components/button/button.component.ts","../../../src/app/services/translation.service.ts","../../../src/app/pipes/translate.pipe.ts","../../../src/app/help-screen-data/help-screen-data.component.ts","../../../src/app/help-screen-data/help-screen-data.component.html","../../../src/app/shared/components/header/header.component.ts","../../../src/app/shared/components/loading/loading.component.ts","../../../src/app/chat/chat.component.ts","../../../src/app/chat/chat.component.html","../../../src/app/shared/components/confirmation-dialog/confirmation-dialog.component.ts","../../../src/app/services/api.service.ts","../../../src/app/services/signalrService.service.ts","../../../src/app/services/token.service.ts","../../../src/app/help-center-widget/help-center-widget.component.ts","../../../src/app/help-center-widget/help-center-widget.component.html","../../../public_api.ts","../../../aslaluroba-help-center.ts"],"sourcesContent":["/**\n * Utility function to conditionally join CSS class names\n */\nimport { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { Component, Input, HostBinding, ViewEncapsulation } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { cn } from '../../utils/class-utils'\n\n@Component({\n selector: 'app-card',\n standalone: true,\n imports: [CommonModule],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardComponent {\n @Input() variant: 'default' | 'rounded' | 'shadowed' = 'default'\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n const variantStyles = {\n default: 'babylai-rounded-xl babylai-border babylai-bg-card babylai-text-card-foreground babylai-shadow',\n rounded: 'babylai-rounded-3xl babylai-bg-black-white-50 babylai-py-4 babylai-px-[24px] babylai-w-full babylai-block',\n shadowed: 'babylai-rounded-xl babylai-border babylai-bg-card babylai-text-card-foreground babylai-shadow-lg'\n }\n\n return cn(variantStyles[this.variant], this.class)\n }\n}\n\n@Component({\n selector: 'app-card-header',\n standalone: true,\n imports: [CommonModule],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardHeaderComponent {\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n return cn('babylai-flex babylai-flex-col babylai-space-y-1.5 babylai-p-6', this.class)\n }\n}\n\n@Component({\n selector: 'app-card-title',\n standalone: true,\n imports: [CommonModule],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardTitleComponent {\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n return cn('babylai-font-semibold babylai-leading-none babylai-tracking-tight', this.class)\n }\n}\n\n@Component({\n selector: 'app-card-description',\n standalone: true,\n imports: [CommonModule],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardDescriptionComponent {\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n return cn('babylai-text-sm babylai-text-muted-foreground', this.class)\n }\n}\n\n@Component({\n selector: 'app-card-content',\n standalone: true,\n imports: [CommonModule],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardContentComponent {\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n return cn('babylai-p-0 babylai-pt-0', this.class)\n }\n}\n\n@Component({\n selector: 'app-card-footer',\n standalone: true,\n imports: [CommonModule],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardFooterComponent {\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n return cn('babylai-flex babylai-items-center babylai-p-6 babylai-pt-0', this.class)\n }\n}\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\n\ntype ButtonVariant = 'default' | 'icon-bg' | 'icon-only'\ntype ButtonType = 'button' | 'submit' | 'reset'\n\n@Component({\n selector: 'app-button',\n standalone: true,\n imports: [CommonModule],\n template: `\n <button [type]=\"type\" [disabled]=\"disabled\" [ngClass]=\"getButtonClasses()\" (click)=\"onClick.emit($event)\">\n <ng-content></ng-content>\n </button>\n `\n})\nexport class ButtonComponent {\n @Input() variant: ButtonVariant = 'default'\n @Input() type: ButtonType = 'button'\n @Input() disabled = false\n @Input() fullWidth = false\n @Input() className = ''\n @Output() onClick = new EventEmitter<MouseEvent>()\n\n getButtonClasses(): string {\n const baseClasses = 'babylai-cursor-pointer babylai-transition-all babylai-duration-200 '\n\n const variantClasses = {\n default: 'babylai-bg-primary babylai-text-white babylai-py-2 babylai-px-4 babylai-rounded-full hover:babylai-bg-primary-700',\n 'icon-bg':\n 'babylai-bg-primary babylai-text-white babylai-py-2 babylai-px-4 babylai-rounded-full babylai-w-12 babylai-h-12 babylai-flex babylai-items-center babylai-justify-center hover:babylai-bg-primary-700',\n 'icon-only': 'babylai-bg-transparent babylai-border-none babylai-p-1 babylai-flex babylai-items-center babylai-justify-center'\n }\n\n const widthClass = this.fullWidth ? 'babylai-w-full' : ''\n const disabledClass = this.disabled ? 'babylai-opacity-50 babylai-cursor-not-allowed' : ''\n\n return `${baseClasses} ${variantClasses[this.variant]} ${widthClass} ${disabledClass} ${this.className}`\n }\n}\n\n@Component({\n selector: 'app-button-content',\n standalone: true,\n imports: [CommonModule],\n template: ` <ng-content></ng-content> `\n})\nexport class ButtonContentComponent {}\n\n@Component({\n selector: 'app-icon-button',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n template: `\n <app-button [variant]=\"'icon-bg'\" [className]=\"className\" [disabled]=\"disabled\" (onClick)=\"onClick.emit($event)\">\n <ng-content></ng-content>\n </app-button>\n `\n})\nexport class IconButtonComponent {\n @Input() className = ''\n @Input() disabled = false\n @Output() onClick = new EventEmitter<MouseEvent>()\n}\n\n@Component({\n selector: 'app-transparent-icon-button',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n template: `\n <app-button [variant]=\"'icon-only'\" [className]=\"className\" [disabled]=\"disabled\" (onClick)=\"onClick.emit($event)\">\n <ng-content></ng-content>\n </app-button>\n `\n})\nexport class TransparentIconButtonComponent {\n @Input() className = ''\n @Input() disabled = false\n @Output() onClick = new EventEmitter<MouseEvent>()\n}\n","// src/app/services/translation.service.ts\nimport { Injectable } from '@angular/core'\nimport { BehaviorSubject } from 'rxjs'\nimport { Language } from '../types'\n\nconst defaultTranslations = {\n ChatIntroMessage: '',\n BabylaiTitle: '',\n BabylaiDescription: '',\n ChatNow: '',\n TryBableAI: '',\n ContactUs: '',\n PickTopicTitle: '',\n BabylAI: '',\n ChatPlaceholder: '',\n PoweredByBabylAI: '',\n EndChat: '',\n LeavingDialogTitle: '',\n LeavingDialogBody: '',\n Confirm: '',\n Cancel: '',\n title: ''\n} as const\n\nexport type TranslationKey = keyof typeof defaultTranslations\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TranslationService {\n private translations = {\n en: {\n ChatIntroMessage: 'Chat with BabylAI 🚀',\n BabylaiTitle: 'BabylAI',\n BabylaiDescription: \"Hey there! 👋 I'm BabylAI, here to assist you.\",\n ChatNow: 'Chat Now',\n TryBableAI: 'Try BabylAI for Free 🎉',\n ContactUs: \"Contact us, Let's Talk! 💬\",\n PickTopicTitle: 'Pick a Topic to Get Started',\n BabylAI: 'BabylAI',\n ChatPlaceholder: 'Type your message...',\n PoweredByBabylAI: 'Powered by BabylAI',\n EndChat: 'End Chat',\n LeavingDialogTitle: 'Leaving so soon? 👋',\n LeavingDialogBody: \"Don't worry, you can come back anytime. We're always here if you need help or have questions.\",\n Confirm: 'Confirm',\n Cancel: 'Cancel',\n title: 'Help Center'\n },\n ar: {\n ChatIntroMessage: 'دردش مع BabylAI 🚀',\n BabylaiTitle: 'BabylAI',\n BabylaiDescription: 'مرحبا! 👋 أنا BabylAI، هنا لتساعدك.',\n ChatNow: 'دردش الآن',\n TryBableAI: 'جرب BabylAI مجانا 🎉',\n ContactUs: 'تواصل معنا, دعنا نتحدث! 💬',\n PickTopicTitle: 'اختر موضوع للبدء',\n BabylAI: 'BabylAI',\n ChatPlaceholder: 'اكتب رسالتك...',\n PoweredByBabylAI: 'مدعوم من BabylAI',\n EndChat: 'إنهاء الدردشة',\n LeavingDialogTitle: 'هل تغادر بالفعل؟ 👋',\n LeavingDialogBody: 'لا تقلق، يمكنك العودة في أي وقت. نحن دائماً هنا إذا كنت بحاجة إلى مساعدة أو لديك أسئلة.',\n Confirm: 'تأكيد',\n Cancel: 'إلغاء',\n title: 'مركز المساعدة'\n }\n }\n\n private currentLang = new BehaviorSubject<Language>('en')\n\n constructor() {}\n\n translate(key: TranslationKey): string {\n const lang = this.currentLang.value as Language\n return this.translations[lang][key] || key\n }\n\n setLanguage(lang: Language) {\n this.currentLang.next(lang)\n }\n\n getCurrentLang(): Language {\n return this.currentLang.value\n }\n}\n","// src/app/pipes/translate.pipe.ts\nimport { Pipe, PipeTransform } from '@angular/core'\nimport { TranslationService } from '../services/translation.service'\nimport { TranslationKey } from '../services/translation.service' // Add this import\n\n@Pipe({\n name: 'translate',\n standalone: true\n})\nexport class TranslatePipe implements PipeTransform {\n constructor(private translationService: TranslationService) {}\n\n transform(key: TranslationKey): string {\n return this.translationService.translate(key)\n }\n}\n","import { Component, Input, OnInit, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { CardComponent, CardContentComponent } from '../shared/components/card/card.component'\nimport { ButtonComponent } from '../shared/components/button/button.component'\nimport { TranslatePipe } from '../pipes/translate.pipe'\n\ninterface Tenant {\n id: string\n name: string\n key: string\n}\n\ninterface Assistant {\n id: string\n tenantId: string\n tenant: Tenant\n name: string\n openAIAssistantId: string\n greeting: string\n closing: string\n}\n\ninterface HelpScreenOption {\n id: string\n helpScreenId: string\n parentOptionId: string | null\n parentOption: HelpScreenOption | null\n nestedOptions: HelpScreenOption[]\n assistantId: string\n assistant: Assistant\n title: string\n paragraphs: string[]\n files: any[]\n chatWithUs: boolean\n hasNestedOptions: boolean\n order: number\n}\n\ninterface HelpScreenData {\n id: string\n tenantId: string\n tenant: Tenant\n title: string\n description: string\n options: HelpScreenOption[]\n chatWithUs: boolean\n}\n\n@Component({\n selector: 'app-help-screen-data',\n standalone: true,\n imports: [CommonModule, CardComponent, CardContentComponent, ButtonComponent, TranslatePipe],\n templateUrl: './help-screen-data.component.html'\n})\nexport class HelpScreenDataComponent implements OnInit {\n @Input() helpScreenData: HelpScreenData | null = null\n @Input() title: string = ''\n @Output() handleStartNewChat = new EventEmitter<HelpScreenOption>()\n\n expandedItemId: string | null = null\n\n ngOnInit() {}\n\n toggleExpand(itemId: string): void {\n if (this.expandedItemId === itemId) {\n this.expandedItemId = null\n } else {\n this.expandedItemId = itemId\n setTimeout(() => {\n const element = document.getElementById(itemId)\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' })\n }\n }, 100)\n }\n }\n\n startNewChat(option: HelpScreenOption): void {\n this.handleStartNewChat.emit(option)\n }\n}\n","<div class=\"babylai-flex babylai-flex-col babylai-gap-4\">\n <h1 class=\"babylai-text-4xl babylai-font-bold babylai-text-black-white-600 babylai-mb-3 babylai-max-w-56\">\n {{ 'PickTopicTitle' | translate }}\n </h1>\n <img\n src=\"/images/stars.svg\"\n alt=\"help-center-widget-icon\"\n class=\"babylai-absolute babylai-top-0 babylai-end-0 babylai-w-[15.42rem] babylai-h-[13.49rem] babylai-opacity-50 babylai-z-[-1]\"\n />\n <ng-container *ngFor=\"let item of helpScreenData?.options\">\n <app-card\n [id]=\"item.id\"\n variant=\"rounded\"\n class=\"babylai-cursor-pointer babylai-transition-all babylai-hover:babylai-shadow-md !babylai-px-2 !babylai-py-2 babylai-bg-black-white-100\"\n (click)=\"toggleExpand(item.id)\"\n >\n <app-card-content>\n <!-- Header section (always visible) -->\n <div class=\"babylai-flex babylai-items-center babylai-justify-between babylai-p-2\">\n <h4 class=\"babylai-text-base babylai-text-black-white-400 babylai-font-semibold\">{{ item.title }}</h4>\n <div\n class=\"babylai-flex babylai-items-center babylai-justify-center babylai-w-8 babylai-h-8 babylai-rounded-full babylai-text-primary babylai-transition-transform\"\n [ngClass]=\"{\n 'babylai-rotate-90': expandedItemId === item.id,\n 'babylai-rotate-[270deg]': expandedItemId !== item.id\n }\"\n >\n <img src=\"/icons/arrow-stripped-colored.svg\" alt=\"arrow-down\" class=\"babylai-w-4 babylai-h-4\" />\n </div>\n </div>\n\n <!-- Expanded content (visible only when expanded) -->\n <div\n *ngIf=\"expandedItemId === item.id\"\n class=\"babylai-transition-all babylai-duration-300 babylai-ease-in-out babylai-flex babylai-flex-col babylai-gap-2 babylai-mt-4 babylai-p-2\"\n >\n <ng-container>\n <div *ngFor=\"let paragraph of item.paragraphs\" class=\"babylai-text-base babylai-text-black-white-800 babylai-mb-2\">\n {{ paragraph }}\n </div>\n </ng-container>\n\n <app-button variant=\"default\" className=\"babylai-w-full\" (click)=\"startNewChat(item)\">{{ 'ChatNow' | translate }} </app-button>\n </div>\n </app-card-content>\n </app-card>\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, HostListener, Input, Output } from '@angular/core'\nimport { ButtonComponent } from '../button'\nimport { TranslatePipe } from '../../../pipes/translate.pipe'\n\ntype HeaderType = 'standard' | 'minimal'\n\n@Component({\n selector: 'app-header',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n template: `\n <div class=\"babylai-p-4 babylai-flex babylai-items-center babylai-justify-between\">\n <app-button *ngIf=\"showBackButton\" variant=\"icon-bg\" className=\"!babylai-bg-black-white-50\" (click)=\"onBack.emit()\">\n <img\n src=\"/icons/arrow-stripped-colored.svg\"\n alt=\"Back\"\n class=\"babylai-w-6 babylai-h-6\"\n [ngClass]=\"{ 'babylai-rotate-180': language === 'ar' }\"\n />\n </app-button>\n <img *ngIf=\"showLogo\" [src]=\"logoSrc\" [alt]=\"logoAlt\" class=\"babylai-w-10 babylai-h-10\" />\n <app-button *ngIf=\"!showBackButton\" variant=\"icon-only\" (click)=\"onClose.emit()\">\n <img src=\"/icons/close-circle.svg\" alt=\"Close\" class=\"babylai-w-10 babylai-h-10\" />\n </app-button>\n </div>\n `\n})\nexport class HeaderComponent {\n @Input() headerType: HeaderType = 'standard'\n @Input() showBackButton = false\n @Input() showLogo = true\n @Input() logoSrc = '/logo-white.svg'\n @Input() logoAlt = 'BabylAI Logo'\n @Input() language = 'en'\n @Output() onBack = new EventEmitter<void>()\n @Output() onClose = new EventEmitter<void>()\n}\n\n@Component({\n selector: 'app-chat-header',\n standalone: true,\n imports: [CommonModule, ButtonComponent, TranslatePipe],\n template: `\n <div\n class=\"babylai-p-4 babylai-flex babylai-items-center babylai-justify-between babylai-bg-black-white-50 babylai-rounded-t-3xl babylai-relative\"\n >\n <div class=\"babylai-flex babylai-items-center babylai-gap-2\">\n <app-button\n variant=\"icon-bg\"\n className=\"!babylai-bg-primary-500/10 babylai-w-8 babylai-h-8 !babylai-p-2 hover:!babylai-bg-primary-700/10\"\n (click)=\"onBack.emit()\"\n >\n <img\n src=\"/icons/arrow-stripped-colored.svg\"\n alt=\"Back\"\n class=\"babylai-w-full babylai-h-full\"\n [ngClass]=\"{ 'babylai-rotate-180': language === 'ar' }\"\n />\n </app-button>\n <div class=\"babylai-relative\" data-menu-container>\n <app-button\n variant=\"icon-bg\"\n className=\"!babylai-bg-primary-500/10 babylai-w-8 babylai-h-8 !babylai-p-2 hover:!babylai-bg-primary-700/10\"\n (click)=\"$event.stopPropagation(); isMenuOpen = !isMenuOpen\"\n >\n <img\n src=\"/icons/menu.svg\"\n alt=\"Menu\"\n class=\"babylai-w-full babylai-h-full\"\n [ngClass]=\"{ 'babylai-rotate-180': language === 'ar' }\"\n />\n </app-button>\n <div\n *ngIf=\"isMenuOpen\"\n class=\"babylai-absolute babylai-mt-2 babylai-w-48 babylai-rounded-md babylai-shadow-lg babylai-bg-white babylai-ring-1 babylai-ring-black babylai-ring-opacity-5 babylai-z-50\"\n [ngClass]=\"{ 'babylai-right-0': language === 'ar', 'babylai-left-0': language === 'en' }\"\n >\n <div class=\"babylai-py-1\">\n <button\n (click)=\"onClose.emit(); isMenuOpen = false\"\n class=\"babylai-block babylai-w-full babylai-text-left babylai-px-4 babylai-py-2 babylai-text-sm babylai-text-gray-700 hover:babylai-bg-gray-100\"\n [ngClass]=\"{ 'babylai-text-left': language === 'en', 'babylai-text-right': language === 'ar' }\"\n >\n {{ 'EndChat' | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"babylai-flex babylai-items-center babylai-gap-1 babylai-absolute babylai-left-1/2 babylai-transform babylai--translate-x-1/2\"\n >\n <img src=\"/logo-primary.svg\" [alt]=\"logoAlt\" class=\"babylai-w-10 babylai-h-10\" />\n <p class=\"babylai-text-base babylai-font-bold babylai-text-black-white-600\">{{ 'BabylAI' | translate }}</p>\n </div>\n </div>\n `\n})\nexport class ChatHeaderComponent {\n isMenuOpen = false\n @Input() showBackButton = false\n @Input() showLogo = true\n @Input() logoSrc = '/logo-white.svg'\n @Input() logoAlt = 'BabylAI Logo'\n @Input() language = 'en'\n @Output() onBack = new EventEmitter<void>()\n @Output() onClose = new EventEmitter<void>()\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent) {\n const target = event.target as HTMLElement\n const menuContainer = target.closest('[data-menu-container]')\n if (!menuContainer && this.isMenuOpen) {\n this.isMenuOpen = false\n }\n }\n}\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'app-loading',\n template: `\n <div\n class=\"babylai-flex babylai-flex-col babylai-items-center babylai-justify-center babylai-w-full babylai-h-full babylai-py-16 md:babylai-py-28\"\n >\n <img src=\"/images/animatedLogo.gif\" alt=\"Animated Logo\" class=\"babylai-w-20 babylai-h-20\" />\n </div>\n `,\n standalone: true\n})\nexport class LoadingComponent {}\n","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, OnInit } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { FormsModule } from '@angular/forms'\nimport { MarkdownComponent } from 'ngx-markdown'\nimport { ButtonComponent } from '../shared/components/button'\nimport { CardComponent, CardContentComponent } from '../shared/components/card'\nimport { LoadingComponent } from '../shared/components/loading/loading.component'\nimport { TranslatePipe } from '../pipes/translate.pipe'\nimport 'prismjs'\nimport 'prismjs/components/prism-typescript'\nimport 'prismjs/components/prism-javascript'\nimport 'prismjs/components/prism-css'\nimport 'prismjs/components/prism-json'\nimport 'prismjs/components/prism-markdown'\nimport 'prismjs/themes/prism-okaidia.css'\n\ninterface Message {\n id: string | number\n sender: 'user' | 'assistant' | 'agent'\n senderType: number\n messageContent: string\n sentAt: Date\n isSeen: boolean\n}\n\n@Component({\n selector: 'app-chat',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n MarkdownComponent,\n ButtonComponent,\n CardComponent,\n CardContentComponent,\n LoadingComponent,\n TranslatePipe\n ],\n templateUrl: './chat.component.html'\n})\nexport class ChatComponent implements OnInit {\n @Input() messages: Message[] = []\n @Input() needsAgent: boolean = false\n @Input() assistantStatus: string = 'idle'\n @Input() isSignalRConnected: boolean = false\n @Input() isChatClosed: boolean = false\n @Output() sendMessageEvent = new EventEmitter<string>()\n @ViewChild('chatMessagesContainer') chatMessagesContainer!: ElementRef\n @Input() currentLang: string = 'en'\n @Input() loading: boolean = false\n\n messageText: string = ''\n\n get firstAgentMessageIndex(): number {\n return this.messages.findIndex((message) => message.senderType === 2)\n }\n\n cleanMessageContent(content: string): string {\n // Remove excessive newlines (more than 2 consecutive newlines)\n return content.replace(/\\n{3,}/g, '\\n\\n').trim()\n }\n\n ngOnInit(): void {\n // Initialize component\n }\n\n ngAfterViewChecked(): void {\n this.scrollToBottom()\n }\n\n scrollToBottom(): void {\n try {\n this.chatMessagesContainer.nativeElement.scrollTop = this.chatMessagesContainer.nativeElement.scrollHeight\n } catch (err) {\n console.error('Error scrolling to bottom:', err)\n }\n }\n\n sendMessage(): void {\n if (!this.messageText.trim() || !this.isSignalRConnected || this.isChatClosed) return\n this.sendMessageEvent.emit(this.messageText)\n this.messageText = ''\n }\n\n hasAgentMessageBeenSent(messages: any[]): boolean {\n return messages.some((message) => message.senderType === 2 || message.senderType === 3)\n }\n}\n","<div class=\"babylai-flex babylai-flex-col babylai-h-full babylai-overflow-hidden\">\n <div class=\"babylai-flex-1 babylai-overflow-y-auto babylai-pb-4 babylai-flex babylai-flex-col babylai-gap-2\" #chatMessagesContainer>\n <div *ngFor=\"let message of messages; let i = index\" class=\"babylai-flex babylai-flex-col babylai-gap-2\">\n <div class=\"babylai-w-full\" *ngIf=\"i === firstAgentMessageIndex && message.senderType === 2\">\n <img src=\"/images/seperator.svg\" class=\"babylai-w-full\" />\n </div>\n <div class=\"babylai-flex babylai-items-start babylai-gap-2\" [class.babylai-flex-row-reverse]=\"message.senderType === 1\">\n <div\n class=\"babylai-messageIcon babylai-mt-2\"\n [class.babylai-invisible]=\"i > 0 && messages[i - 1].senderType === message.senderType\"\n >\n @if (message.senderType === 3) {\n <span\n class=\"babylai-flex babylai-items-center babylai-justify-center babylai-w-10 babylai-h-10 babylai-rounded-full babylai-bg-primary babylai-p-[10px]\"\n >\n <img src=\"/logo-white.svg\" alt=\"robot\" class=\"babylai-w-full\" />\n </span>\n } @else if (needsAgent || message.senderType === 2) {\n <span\n class=\"babylai-flex babylai-items-center babylai-justify-center babylai-w-10 babylai-h-10 babylai-rounded-full babylai-bg-black-white-50 babylai-p-[10px]\"\n >\n <img src=\"/icons/person.svg\" alt=\"robot\" class=\"babylai-w-full\" />\n </span>\n }\n </div>\n <app-card\n variant=\"rounded\"\n [class]=\"\n 'babylai-max-w-[80%] babylai-relative ' +\n (message.senderType === 1\n ? 'babylai-self-start babylai-bg-primary babylai-text-white babylai-rtl'\n : 'babylai-self-end babylai-bg-black-white-100 babylai-text-black babylai-rtl')\n \"\n >\n <app-card-content>\n <div class=\"babylai-messageContent babylai-whitespace-pre-wrap\">\n <markdown\n [data]=\"cleanMessageContent(message.messageContent)\"\n ngPreserveWhitespaces\n [inline]=\"false\"\n class=\"babylai-prose babylai-max-w-none babylai-break-words [&>*:first-child]:babylai-mt-0 [&>*:last-child]:babylai-mb-0 [&>p]:babylai-my-2 [&>ul]:babylai-my-2 [&>ol]:babylai-my-2 [&>blockquote]:babylai-my-2\"\n [class.babylai-prose-invert]=\"message.senderType === 1\"\n >\n </markdown>\n </div>\n </app-card-content>\n </app-card>\n </div>\n </div>\n\n <div *ngIf=\"assistantStatus === 'typing' && firstAgentMessageIndex === -1\" class=\"babylai-flex babylai-items-start babylai-gap-2\">\n <div class=\"babylai-messageIcon babylai-mt-2\">\n <span\n class=\"babylai-flex babylai-items-center babylai-justify-center babylai-w-10 babylai-h-10 babylai-rounded-full babylai-bg-black-white-50 babylai-p-[10px]\"\n >\n <img src=\"/images/animatedLogo.gif\" alt=\"Loading\" class=\"babylai-w-full\" />\n </span>\n </div>\n <app-card\n variant=\"rounded\"\n class=\"babylai-max-w-[80%] babylai-relative babylai-self-end babylai-bg-black-white-100 babylai-text-black\"\n >\n <app-card-content>\n <div id=\"wave\">\n <span class=\"dot\"></span>\n <span class=\"dot\"></span>\n <span class=\"dot\"></span>\n </div>\n </app-card-content>\n </app-card>\n </div>\n <div *ngIf=\"loading\" class=\"babylai-flex babylai-items-center babylai-justify-center babylai-h-full\">\n <app-loading />\n </div>\n </div>\n\n <form (ngSubmit)=\"sendMessage()\" class=\"babylai-relative\">\n <div class=\"babylai-relative babylai-w-full\">\n <input\n type=\"text\"\n [(ngModel)]=\"messageText\"\n name=\"messageText\"\n [placeholder]=\"'ChatPlaceholder' | translate\"\n [disabled]=\"isChatClosed\"\n class=\"babylai-flex-1 babylai-min-h-16 babylai-w-full babylai-ps-3 babylai-pe-12 babylai-rounded-full focus:babylai-outline-none babylai-px-0 babylai-py-2 disabled:babylai-bg-black-white-200\"\n />\n <app-button\n type=\"submit\"\n [disabled]=\"!messageText.trim() || !isSignalRConnected || isChatClosed\"\n variant=\"icon-bg\"\n className=\"babylai-absolute babylai-end-1 babylai-top-1/2 babylai-transform -babylai-translate-y-1/2 babylai-w-10 babylai-h-10 babylai-opacity-100 babylai-py-0 babylai-px-0 !babylai-p-3 babylai-inline-flex babylai-items-center babylai-justify-center disabled:babylai-opacity-50 disabled:babylai-cursor-not-allowed\"\n >\n <img\n src=\"/icons/send.svg\"\n alt=\"send-message\"\n class=\"babylai-w-full\"\n [ngClass]=\"currentLang === 'ar' ? 'babylai-rotate-[270deg]' : ''\"\n />\n </app-button>\n </div>\n </form>\n</div>\n","import { Component, Input, Output, EventEmitter } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { ButtonComponent } from '../button'\n\n@Component({\n selector: 'app-confirmation-dialog',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n template: `\n <div\n class=\"babylai-absolute babylai-inset-0 babylai-bg-black/50 babylai-z-[10] babylai-flex babylai-items-center babylai-justify-center babylai-rounded-3xl\"\n >\n <div class=\"babylai-bg-white babylai-rounded-2xl babylai-p-6 babylai-max-w-sm babylai-w-full babylai-mx-4\">\n <h3 class=\"babylai-text-xl babylai-font-bold babylai-mb-2\">{{ title }}</h3>\n <p class=\"babylai-text-gray-600 babylai-mb-6\">{{ body }}</p>\n <div class=\"babylai-flex babylai-gap-3 babylai-justify-end\">\n <app-button\n variant=\"default\"\n className=\"!babylai-bg-transparent !babylai-text-primary !babylai-border !babylai-border-primary hover:!babylai-bg-primary/10\"\n (click)=\"onCancel.emit()\"\n >\n {{ cancelText }}\n </app-button>\n <app-button variant=\"default\" (click)=\"onConfirm.emit()\">\n {{ confirmText }}\n </app-button>\n </div>\n </div>\n </div>\n `\n})\nexport class ConfirmationDialogComponent {\n @Input() title: string = ''\n @Input() body: string = ''\n @Input() confirmText: string = 'Confirm'\n @Input() cancelText: string = 'Cancel'\n @Output() onConfirm = new EventEmitter<void>()\n @Output() onCancel = new EventEmitter<void>()\n}\n","import { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiService {\n private getTokenFunction: (() => Promise<string>) | null = null\n private baseUrl: string | null = null\n\n initializeAPI(url: string, getToken: () => Promise<string>) {\n this.getTokenFunction = getToken\n this.baseUrl = url\n }\n\n async getValidToken(forceRefresh = false): Promise<string> {\n if (!this.getTokenFunction) {\n throw new Error('API module not initialized. Call initializeAPI(getToken) first.')\n }\n\n let storedToken = localStorage.getItem('chatbot-token')\n let storedExpiry = localStorage.getItem('chatbot-token-expiry')\n\n const currentTime = Math.floor(Date.now() / 1000)\n\n if (!storedToken || !storedExpiry || currentTime >= Number(storedExpiry) || forceRefresh) {\n const tokenResponse = await this.getTokenFunction()\n\n if (!tokenResponse) {\n throw new Error('Invalid token response from getTokenFunction')\n }\n\n storedToken = tokenResponse\n storedExpiry = String(currentTime + 900)\n\n localStorage.setItem('chatbot-token', storedToken)\n localStorage.setItem('chatbot-token-expiry', storedExpiry)\n }\n\n return storedToken\n }\n\n private async fetchWithAuth(url: string, options: RequestInit, retry = true): Promise<Response> {\n if (!options.headers) {\n options.headers = {}\n }\n\n const headers = options.headers as Record<string, string>\n headers['Authorization'] = `Bearer ${await this.getValidToken()}`\n\n let response = await fetch(url, options)\n\n if ((response.status === 401 || response.status === 403) && retry) {\n console.warn('Token expired. Fetching new token...')\n\n const newToken = await this.getValidToken(true)\n headers['Authorization'] = `Bearer ${newToken}`\n\n response = await fetch(url, options)\n }\n\n return response\n }\n\n async apiRequest(endpoint: string, method = 'GET', body: any = null, customHeaders: Record<string, string> = {}): Promise<Response> {\n if (!this.baseUrl) {\n throw new Error('API not initialized. Call initializeAPI first.')\n }\n\n const url = `${this.baseUrl}/${endpoint}`\n\n const options: RequestInit = {\n method,\n headers: {\n 'Content-Type': 'application/json',\n ...customHeaders\n },\n body: body ? JSON.stringify(body) : null\n }\n\n const response = await this.fetchWithAuth(url, options)\n\n if (!response.ok) {\n const errorData = await response.json()\n throw new Error(errorData.message || 'API request failed')\n }\n\n return response\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as signalR from '@microsoft/signalr';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SignalRService {\n private connection: signalR.HubConnection | null = null;\n private isConnected = false;\n private baseURL = 'http://localhost:5086'; // Replace with your API URL\n private hubUrl = 'https://babylai.net'; // Replace with your SignalR hub URL\n\n async startConnection(\n sessionId: string,\n apiKey: string,\n onMessageReceived: (\n message: string,\n senderType: string,\n needsAgent: boolean\n ) => void\n ): Promise<void> {\n console.log('sessionId:', sessionId);\n\n if (this.isConnected) return;\n\n this.connection = new signalR.HubConnectionBuilder()\n .withUrl(\n `${this.hubUrl}/clientHub?access_token=${encodeURIComponent(apiKey)}`,\n {\n withCredentials: true,\n transport:\n signalR.HttpTransportType.WebSockets |\n signalR.HttpTransportType.LongPolling,\n headers: {\n Authorization: `Bearer ${apiKey}`,\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-SignalR-User-Agent':\n 'Microsoft SignalR/8.0 (8.0.7; Unknown OS; Browser; Unknown Runtime Version)',\n },\n skipNegotiation: false,\n accessTokenFactory: () => apiKey,\n }\n )\n .withAutomaticReconnect()\n .configureLogging(signalR.LogLevel.Information)\n .build();\n\n this.connection.on(\n 'ReceiveMessage',\n (message: string, senderType: string, needsAgent: boolean) => {\n console.log(\n 'Received message from SignalR:',\n message,\n senderType,\n needsAgent\n );\n onMessageReceived(message, senderType, needsAgent);\n }\n );\n\n try {\n await this.connection.start();\n console.log('SignalR connection started successfully.');\n\n this.isConnected = true;\n await this.joinGroup(sessionId);\n console.log('SignalR group joined.');\n } catch (error) {\n console.error('Error connecting to SignalR', error);\n this.isConnected = false;\n }\n }\n\n async joinGroup(sessionId: string): Promise<void> {\n if (this.connection) {\n try {\n console.log(`Attempting to join group with session ID: ${sessionId}`);\n await this.connection.invoke('JoinGroup', sessionId);\n console.log(`Joined group with session ID: ${sessionId}`);\n } catch (error) {\n console.error('Error joining SignalR group:', error);\n }\n }\n }\n\n async leaveGroup(sessionId: string): Promise<void> {\n if (this.connection && this.isConnected) {\n try {\n await this.connection.invoke('LeaveGroup', sessionId);\n console.log(`Left group with session ID: ${sessionId}`);\n } catch (error) {\n console.error('Error leaving SignalR group:', error);\n }\n }\n }\n\n async stopConnection(): Promise<void> {\n if (this.connection && this.isConnected) {\n await this.connection.stop();\n this.isConnected = false;\n console.log('SignalR disconnected.');\n }\n }\n}\n","import { Injectable } from '@angular/core'\n\nexport interface TokenResponse {\n token: string\n expiresIn: number\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenService {\n private baseUrl: string | null = null\n\n initializeService(baseUrl: string) {\n this.baseUrl = baseUrl\n }\n\n async getToken(): Promise<TokenResponse> {\n if (!this.baseUrl) {\n throw new Error('Token service not initialized. Call initializeService first.')\n }\n\n try {\n const response = await fetch(`${this.baseUrl}/Auth/client/get-babylai-token`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n\n if (!response.ok) {\n throw new Error('Failed to fetch token')\n }\n\n const data = await response.json()\n return {\n token: data.token,\n expiresIn: data.expiresIn || 3600 // Default to 1 hour if not provided\n }\n } catch (error) {\n throw new Error('Failed to get authentication token')\n }\n }\n}\n","import { Component, Input, OnInit, ViewChild, ElementRef } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { FormsModule } from '@angular/forms'\nimport { ApiService } from '../services/api.service'\nimport { SignalRService } from '../services/signalrService.service'\nimport { TokenService } from '../services/token.service'\nimport { CardComponent, CardContentComponent } from '../shared/components/card/card.component'\nimport { ButtonComponent } from '../shared/components/button'\nimport { HelpScreenDataComponent } from '../help-screen-data/help-screen-data.component'\nimport { HeaderComponent, ChatHeaderComponent } from '../shared/components/header'\nimport { ChatComponent } from '../chat/chat.component'\nimport { LoadingComponent } from '../shared/components/loading/loading.component'\nimport { ConfirmationDialogComponent } from '../shared/components/confirmation-dialog/confirmation-dialog.component'\nimport { TranslatePipe } from '../pipes/translate.pipe'\nimport { TranslationService } from '../services/translation.service'\n\ninterface Option {\n id: string\n helpScreenId: string\n parentOptionId: string | null\n nestedOptions: Option[]\n title: string\n paragraphs: string[]\n chatWithUs: boolean\n assistantId?: string\n assistant?: {\n id: string\n tenantId: string\n tenant: {\n id: string\n name: string\n key: string\n }\n name: string\n openAIAssistantId: string\n greeting: string\n closing: string\n }\n hasNestedOptions: boolean\n order: number\n}\n\ninterface Message {\n id: string | number\n sender: 'user' | 'assistant' | 'agent'\n senderType: number\n messageContent: string\n sentAt: Date\n isSeen: boolean\n}\n\n@Component({\n selector: 'app-help-center-widget',\n templateUrl: './help-center-widget.component.html',\n styleUrls: ['./help-center-widget.component.scss', '../../lib/tailwind.css'],\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n TranslatePipe,\n CardComponent,\n CardContentComponent,\n ButtonComponent,\n HelpScreenDataComponent,\n HeaderComponent,\n ChatHeaderComponent,\n ChatComponent,\n LoadingComponent,\n ConfirmationDialogComponent\n ],\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .help-center-container {\n width: 100%;\n height: 100%;\n }\n `\n ]\n})\nexport class HelpCenterWidgetComponent implements OnInit {\n @Input() getToken!: () => Promise<string>\n @Input() helpScreenId!: string\n @Input() user!: any\n @Input() showArrow: boolean = true\n @Input() messageLabel: string | null = null\n @Input() currentLang: string = 'en'\n @ViewChild('chatMessagesContainer') chatMessagesContainer!: ElementRef\n\n // State variables\n isPopupOpen = false\n helpScreenData: any = null\n status = 'idle'\n error: string | null = null\n showArrowAnimation = false\n isRTL: boolean = this.currentLang === 'en' ? false : true\n showTooltip = false\n sessionId: string | null = null\n isSignalRConnected = false\n isChatClosed = false\n showChat = false\n messageText: string = ''\n isTyping = false\n messages: Message[] = []\n showHelpScreenData = false\n chatIsLoading = false\n\n isOpen = false\n\n needsAgent = false\n assistantStatus = 'idle'\n\n selectedOption: Option | null = null\n selectedNestedOption: Option | null = null\n\n private baseUrl = 'https://babylai.net/api'\n\n showEndChatConfirmation = false\n\n constructor(\n private apiService: ApiService,\n private signalRService: SignalRService,\n private tokenService: TokenService,\n private translationService: TranslationService\n ) {}\n\n ngOnInit() {\n this.showArrowAnimation = this.showArrow\n this.tokenService.initializeService(this.baseUrl)\n this.apiService.initializeAPI(this.baseUrl, this.getToken)\n }\n\n async handleTogglePopup() {\n this.isPopupOpen = !this.isPopupOpen\n this.showArrowAnimation = this.isPopupOpen\n\n if (this.isPopupOpen) {\n await this.fetchHelpScreenData()\n }\n }\n\n private async fetchHelpScreenData() {\n this.status = 'loading'\n this.error = null\n\n try {\n const response = await this.apiService.apiRequest(`client/clientHelpScreen/${this.helpScreenId}`, 'GET')\n this.helpScreenData = await response.json()\n this.status = 'succeeded'\n } catch (error: any) {\n this.error = error.message\n this.status = 'failed'\n }\n }\n\n async createChatSession() {\n try {\n const chatSessionCreateDto = {\n optionId: this.selectedOption?.id,\n helpScreenId: this.helpScreenId\n }\n\n const response = await this.apiService.apiRequest('Client/ClientChatSession/create-session', 'POST', chatSessionCreateDto)\n const data = await response.json()\n this.sessionId = data.id\n return data\n } catch (error) {\n console.error('Error creating chat session:', error)\n throw error\n }\n }\n\n async sendMessage(messageText?: string) {\n const textToSend = messageText || this.messageText\n if (!textToSend.trim() || !this.isSignalRConnected || this.isChatClosed) return\n\n try {\n this.assistantStatus = 'typing'\n\n // Add user message\n this.messages.push({\n id: Date.now(),\n sender: 'user',\n senderType: 1,\n messageContent: textToSend,\n sentAt: new Date(),\n isSeen: false\n })\n\n if (!this.sessionId) {\n await this.createChatSession()\n }\n\n const messageDto = { messageContent: textToSend }\n await this.apiService.apiRequest(`Client/ClientChatSession/${this.sessionId}/send-message`, 'POST', messageDto)\n\n // Clear message input\n this.messageText = ''\n\n // Update message as seen\n this.messages = this.messages.map((msg) => (msg.senderType === 1 && !msg.isSeen ? { ...msg, isSeen: true } : msg))\n } catch (error) {\n console.error('Error sending message:', error)\n this.assistantStatus = 'idle'\n this.messages.push({\n id: Date.now(),\n sender: 'assistant',\n senderType: 3,\n messageContent: 'Failed to send the message. Please try again.\\n لم يتم إرسال الرسالة. يرجى المحاولة مرة أخرى.',\n sentAt: new Date(),\n isSeen: true\n })\n }\n }\n\n async sendMessageToChatSession(chatSessionId: string, messageDto: any) {\n try {\n const response = await this.apiService.apiRequest(`Client/ClientChatSession/${chatSessionId}/send-message`, 'POST', messageDto)\n return await response.json()\n } catch (error) {\n console.error('Error sending message:', error)\n throw error\n }\n }\n\n handleReceiveMessage(message: string, senderType: string, needsAgent: boolean) {\n if (needsAgent) {\n this.needsAgent = true\n }\n\n const sender = this.getSenderType(parseInt(senderType))\n\n this.messages.push({\n id: Date.now(),\n sender: sender,\n senderType: parseInt(senderType),\n messageContent: message,\n sentAt: new Date(),\n isSeen: true\n })\n\n console.log(this.messages)\n\n this.assistantStatus = 'idle'\n this.scrollToBottom()\n }\n\n private getSenderType(senderType: number): 'user' | 'assistant' | 'agent' {\n switch (senderType) {\n case 1:\n return 'user'\n case 2:\n return 'agent'\n default:\n return 'assistant'\n }\n }\n\n async handleStartNewChat(option: Option) {\n this.selectedOption = option\n this.chatIsLoading = true\n if (!this.isSignalRConnected) {\n try {\n await this.createChatSession()\n const tokenResponse = await this.apiService.getValidToken()\n this.showChat = true\n this.isChatClosed = false\n this.showHelpScreenData = false\n\n await this.signalRService.startConnection(this.sessionId!, tokenResponse, this.handleReceiveMessage.bind(this))\n this.isSignalRConnected = true\n // add greeting message\n this.messages.push({\n id: Date.now(),\n sender: 'assistant',\n senderType: 3,\n messageContent:\n option.assistant?.greeting ||\n (this.currentLang === 'en' ? 'Hello! How can I assist you today?' : 'مرحباً! كيف يمكنني مساعدتك اليوم؟'),\n sentAt: new Date(),\n isSeen: true\n })\n\n this.chatIsLoading = false\n } catch (error) {\n console.error('Error connecting to SignalR:', error)\n this.chatIsLoading = false\n }\n } else {\n this.showChat = true\n this.isChatClosed = false\n this.showHelpScreenData = false\n this.chatIsLoading = false\n }\n }\n\n private async startNewChatSession(option: any) {\n try {\n this.status = 'loading'\n this.error = ''\n this.messages = []\n\n const chatSessionCreateDto = {\n helpScreenId: this.helpScreenId,\n optionId: option.id,\n ...(this.user && {\n user: {\n id: this.user.id,\n name: this.user.name,\n email: this.user.email\n }\n })\n }\n\n const response = await this.apiService.apiRequest('Client/ClientChatSession/create-session', 'POST', chatSessionCreateDto)\n const createdSession = await response.json()\n this.sessionId = createdSession.id\n\n // Add greeting message\n this.messages.push({\n id: Date.now(),\n sender: 'assistant',\n senderType: 3,\n messageContent: option.assistant?.greeting || 'Hello! How can I assist you today?\\nمرحباً! كيف يمكنني مساعدتك اليوم؟',\n sentAt: new Date(),\n isSeen: true\n })\n\n this.isSignalRConnected = true\n this.isChatClosed = false\n this.status = 'succeeded'\n } catch (error: any) {\n console.error('Chat start error:', error)\n this.error = error.message || 'Failed to start chat session'\n this.status = 'failed'\n }\n }\n\n async handleStartChat(option: any) {\n this.showChat = true\n await this.startNewChatSession(option)\n }\n\n async handleEndChat() {\n this.showEndChatConfirmation = true\n }\n\n async confirmEndChat() {\n this.showEndChatConfirmation = false\n if (this.sessionId) {\n await this.closeChatSession(this.sessionId)\n this.sessionId = null\n }\n this.showChat = false\n this.showHelpScreenData = true\n this.messages = []\n this.needsAgent = false\n this.assistantStatus = 'idle'\n this.selectedOption = null\n this.selectedNestedOption = null\n }\n\n cancelEndChat() {\n this.showEndChatConfirmation = false\n }\n\n async closeChatSession(chatSessionId: string) {\n try {\n const response = await this.apiService.apiRequest(`Client/ClientChatSession/${chatSessionId}/close`, 'POST')\n return await response.json()\n } catch (error) {\n console.error('Error closing chat session:', error)\n throw error\n }\n }\n\n handleClosePopup() {\n if (this.showChat) {\n this.handleEndChat()\n }\n this.showHelpScreenData = false\n this.showChat = false\n this.isPopupOpen = false\n this.selectedOption = null\n this.selectedNestedOption = null\n }\n\n handleCloseArrowAnimation() {\n this.showArrowAnimation = false\n }\n\n handleBack() {\n if (this.showChat) {\n this.showChat = false\n this.showHelpScreenData = true\n } else if (this.selectedNestedOption) {\n this.selectedNestedOption = null\n } else if (this.selectedOption) {\n this.selectedOption = null\n } else if (this.showHelpScreenData) {\n this.showHelpScreenData = false\n }\n }\n\n handleShowChat() {\n this.showChat = true\n this.showHelpScreenData = false\n }\n\n selectOption(option: Option) {\n this.selectedOption = option\n this.selectedNestedOption = null\n }\n\n selectNestedOption(nestedOption: Option) {\n this.selectedNestedOption = nestedOption\n }\n\n handleShowHelpScreenData() {\n this.showHelpScreenData = true\n }\n\n handleHideHelpScreenData() {\n this.showHelpScreenData = false\n }\n\n private scrollToBottom(): void {\n setTimeout(() => {\n if (this.chatMessagesContainer) {\n const element = this.chatMessagesContainer.nativeElement\n element.scrollTop = element.scrollHeight\n }\n })\n }\n\n getDirection() {\n return this.currentLang === 'ar' ? 'rtl' : 'ltr'\n }\n\n get helpScreenDataList() {\n if (!this.helpScreenData?.options) return []\n // Transform options to the format expected by HelpScreenDataComponent\n return this.helpScreenData.options.map((option: any) => ({\n icon: option.icon || '/icons/default.svg',\n title: option.title,\n description: option.paragraphs?.[0] || '',\n actionLabel: option.chatWithUs ? 'Chat Now' : '',\n action: option.chatWithUs ? () => this.handleStartChat(option) : null\n }))\n }\n\n navigateToUrl(url: string): void {\n window.open(url, '_blank')\n }\n}\n","<div class=\"babylai-fixed babylai-bottom-5 babylai-right-5 babylai-z-[9999]\" [dir]=\"getDirection()\">\n <!-- Arrow Animation -->\n <div\n *ngIf=\"showArrowAnimation && !isPopupOpen\"\n class=\"babylai-fixed babylai-bottom-20 babylai-right-4 babylai-z-[1300] babylai-flex babylai-flex-col babylai-items-end babylai-animate-float\"\n >\n <div\n class=\"babylai-bg-primary babylai-text-white babylai-py-3 babylai-px-4 babylai-rounded-3xl babylai-shadow-lg babylai-mb-4 babylai-max-w-[200px] babylai-relative\"\n >\n <p class=\"babylai-text-xs babylai-font-bold babylai-m-0\">\n {{ messageLabel || 'Need assistance Or You want to try the Product? Click here' }}\n </p>\n <button\n class=\"babylai-absolute babylai-top-[-8px] babylai-right-[-8px] babylai-w-5 babylai-h-5 babylai-rounded-full babylai-bg-white babylai-border-none babylai-cursor-pointer babylai-flex babylai-items-center babylai-justify-center babylai-text-black babylai-p-[3px] hover:babylai-bg-primary-700 hover:babylai-text-white\"\n (click)=\"handleCloseArrowAnimation()\"\n >\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\">\n <path d=\"M1 1L11 11M1 11L11 1\" stroke=\"currentColor\" strokeWidth=\"2\" />\n </svg>\n </button>\n <div\n class=\"babylai-absolute babylai-bottom-[-10px] babylai-right-5 babylai-w-0 babylai-h-0 babylai-border-l-[10px] babylai-border-r-[10px] babylai-border-t-[10px] babylai-border-l-transparent babylai-border-r-transparent babylai-border-t-primary\"\n ></div>\n </div>\n </div>\n\n <!-- Help Button -->\n <button\n class=\"babylai-w-14 babylai-h-14 babylai-rounded-full babylai-bg-primary babylai-text-white babylai-border-none babylai-cursor-pointer babylai-flex babylai-items-center babylai-justify-center babylai-shadow-md babylai-transition-transform babylai-duration-200 babylai-fixed babylai-bottom-5 babylai-right-5 babylai-z-[1000] hover:babylai-bg-primary-700 hover:babylai-scale-105 active:babylai-scale-95\"\n (click)=\"handleTogglePopup()\"\n >\n <span class=\"babylai-flex babylai-items-center babylai-justify-center\">\n <img src=\"/logo-white.svg\" alt=\"BabylAI Logo\" class=\"babylai-w-6 babylai-h-6\" />\n </span>\n </button>\n\n <!-- Help Popup -->\n <div\n *ngIf=\"isPopupOpen\"\n [ngClass]=\"{\n 'babylai-fixed babylai-bottom-20 babylai-right-5 babylai-w-[360px] babylai-h-[684px] babylai-rounded-3xl babylai-shadow-lg babylai-flex babylai-flex-col babylai-z-[1000] babylai-bg-black-white-100': true,\n 'babylai-w-[360px]': isPopupOpen,\n 'babylai-w-[60px]': !isPopupOpen,\n 'babylai-bg-gradient-to-b babylai-from-primary-500 babylai-to-primary-500/60': isPopupOpen && !showHelpScreenData && !showChat\n }\"\n >\n <app-confirmation-dialog\n *ngIf=\"showEndChatConfirmation\"\n [title]=\"'LeavingDialogTitle' | translate\"\n [body]=\"'LeavingDialogBody' | translate\"\n [confirmText]=\"'Confirm' | translate\"\n [cancelText]=\"'Cancel' | translate\"\n (onConfirm)=\"confirmEndChat()\"\n (onCancel)=\"cancelEndChat()\"\n ></app-confirmation-dialog>\n <!-- Loading State -->\n <div *ngIf=\"status === 'loading'\">\n <!-- Using existing header -->\n <ng-container *ngIf=\"!showHelpScreenData\">\n <app-header\n [showBackButton]=\"!!selectedOption || !!selectedNestedOption\"\n [showLogo]=\"true\"\n (onBack)=\"handleBack()\"\n (onClose)=\"handleClosePopup()\"\n >\n </app-header>\n </ng-container>\n <ng-container *ngIf=\"showHelpScreenData\">\n <app-header [showLogo]=\"false\" (onClose)=\"handleHideHelpScreenData()\"> </app-header>\n </ng-container>\n\n <!-- Animated Logo -->\n <app-loading></app-loading>\n </div>\n\n <!-- Error State -->\n <div\n *ngIf=\"status === 'failed'\"\n class=\"babylai-fixed babylai-bottom-[90px] babylai-right-5 babylai-p-4 babylai-bg-white babylai-rounded-xl babylai-shadow-lg\"\n >\n <span>Error: {{ error }}</span>\n </div>\n\n <!-- Content -->\n <ng-container *ngIf=\"status === 'succeeded'\">\n <!-- Header -->\n <ng-container *ngIf=\"!showHelpScreenData && !showChat\">\n <app-header\n [showBackButton]=\"!!selectedOption || !!selectedNestedOption\"\n [showLogo]=\"true\"\n (onBack)=\"handleBack()\"\n (onClose)=\"handleClosePopup()\"\n >\n </app-header>\n </ng-container>\n <ng-container *ngIf=\"showHelpScreenData && !showChat\">\n <app-header\n [showBackButton]=\"showHelpScreenData\"\n [showLogo]=\"false\"\n (onClose)=\"handleHideHelpScreenData()\"\n (onBack)=\"handleBack()\"\n [language]=\"currentLang\"\n >\n </app-header>\n\n <ng-container *ngIf=\"showHelpScreenData && sessionId\">\n <app-button\n variant=\"icon-bg\"\n (click)=\"handleShowChat()\"\n className=\"babylai-absolute babylai-bottom-5 babylai-right-5 !babylai-p-3\"\n >\n <img src=\"/icons/chat.svg\" alt=\"Close\" class=\"babylai-w-full\" />\n </app-button>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"showChat\">\n <app-chat-header\n [showBackButton]=\"showChat\"\n [showLogo]=\"false\"\n (onClose)=\"handleEndChat()\"\n (onBack)=\"handleBack()\"\n [language]=\"currentLang\"\n >\n </app-chat-header>\n\n <app-chat\n class=\"babylai-h-full babylai-mt-2 babylai-p-2 babylai-max-h-[85%]\"\n [messages]=\"messages\"\n [needsAgent]=\"needsAgent\"\n [assistantStatus]=\"assistantStatus\"\n [isSignalRConnected]=\"isSignalRConnected\"\n [isChatClosed]=\"isChatClosed\"\n (sendMessageEvent)=\"sendMessage($event)\"\n [currentLang]=\"currentLang\"\n [loading]=\"chatIsLoading\"\n >\n </app-chat>\n </ng-container>\n\n <!-- Content -->\n <div class=\"babylai-flex-1 babylai-flex babylai-flex-col babylai-gap-4 babylai-overflow-y-auto babylai-p-4\" *ngIf=\"!showChat\">\n <ng-container *ngIf=\"!showHelpScreenData\">\n <div class=\"babylai-flex babylai-flex-col babylai-gap-4\">\n <h1 class=\"babylai-text-6xl babylai-font-bold babylai-text-black-white-50\">{{ 'ChatIntroMessage' | translate }}</h1>\n </div>\n\n <div class=\"babylai-flex babylai-flex-col babylai-gap-4 babylai-mt-8\">\n <app-card variant=\"rounded\">\n <app-card-content>\n <div class=\"babylai-flex babylai-flex-col babylai-gap-4\">\n <div class=\"babylai-flex babylai-items-center babylai-justify-start babylai-gap-3\">\n <div\n class=\"babylai-flex babylai-items-center babylai-justify-center babylai-max-w-12 babylai-min-w-12 babylai-w-12 babylai-h-12 babylai-rounded-full babylai-bg-primary\"\n >\n <img src=\"/logo-white.svg\" alt=\"Chat\" class=\"babylai-w-5 babylai-h-5\" />\n </div>\n <div class=\"babylai-flex babylai-flex-col babylai-items-start babylai-justify-start babylai-gap-0\">\n <h4 class=\"babylai-text-base babylai-text-black-white-400 babylai-font-semibold\">\n {{ 'BabylaiTitle' | translate }}\n </h4>\n <p class=\"babylai-text-base babylai-text-black-white-800\">{{ 'BabylaiDescription' | translate }}</p>\n </div>\n </div>\n <app-button variant=\"default\" [fullWidth]=\"true\" (click)=\"handleShowHelpScreenData()\">\n {{ 'ChatNow' | translate }}\n </app-button>\n </div>\n </app-card-content>\n </app-card>\n\n <app-card variant=\"rounded\">\n <app-card-content>\n <div class=\"babylai-flex babylai-items-center babylai-justify-between babylai-gap-4\">\n <p class=\"babylai-text-base babylai-text-black-white-800\">{{ 'TryBableAI' | translate }}</p>\n <app-button variant=\"icon-bg\" (click)=\"navigateToUrl('https://babylai.net/signup')\">\n <img\n src=\"/icons/arrow-stripped.svg\"\n alt=\"Arrow Right\"\n [ngClass]=\"{ 'babylai-w-5 babylai-h-5': true, 'babylai-rotate-180': currentLang === 'ar' }\"\n />\n </app-button>\n </div>\n </app-card-content>\n </app-card>\n\n <app-card variant=\"rounded\">\n <app-card-content>\n <div class=\"babylai-flex babylai-items-center babylai-justify-between babylai-gap-4\">\n <p class=\"babylai-text-base babylai-text-black-white-800\">{{ 'ContactUs' | translate }}</p>\n <app-button variant=\"icon-bg\" (click)=\"navigateToUrl('https://babylai.net')\">\n <img\n src=\"/icons/arrow-stripped.svg\"\n alt=\"Arrow Right\"\n [ngClass]=\"{ 'babylai-w-5 babylai-h-5': true, 'babylai-rotate-180': currentLang === 'ar' }\"\n />\n </app-button>\n </div>\n </app-card-content>\n </app-card>\n </div>\n </ng-container>\n <ng-container *ngIf=\"showHelpScreenData\">\n <app-help-screen-data [helpScreenData]=\"helpScreenData\" (handleStartNewChat)=\"handleStartNewChat($event)\"></app-help-screen-data>\n </ng-container>\n </div>\n\n <!-- Footer -->\n <div class=\"babylai-flex babylai-justify-between babylai-items-center babylai-px-5 babylai-py-2.5\">\n <a\n href=\"https://babylai.net\"\n target=\"_blank\"\n class=\"babylai-text-xs babylai-text-black-white-300 babylai-w-full babylai-text-center\"\n [ngClass]=\"!showHelpScreenData && !showChat ? 'babylai-text-black-white-50' : ''\"\n >\n {{ 'PoweredByBabylAI' | translate }}\n </a>\n </div>\n </ng-container>\n </div>\n</div>\n","// Components and Modules\nexport * from './src/app/help-center-widget/help-center-widget.component'\n\n// Services\nexport * from './src/app/services/api.service'\nexport * from './src/app/services/signalrService.service'\nexport * from './src/app/services/token.service'\nexport * from './src/app/services/translation.service'\n\n// Types\nexport * from './src/app/types'\n\n// Pipes\nexport * from './src/app/pipes/translate.pipe'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TranslationService","i1.ApiService","i2.SignalRService","i3.TokenService","i4.TranslationService","i5"],"mappings":"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"}
1
+ {"version":3,"file":"aslaluroba-help-center.mjs","sources":["../../../src/app/shared/components/card/card.component.ts","../../../src/app/shared/components/button/button.component.ts","../../../src/app/services/translation.service.ts","../../../src/app/pipes/translate.pipe.ts","../../../src/app/help-screen-data/help-screen-data.component.ts","../../../src/app/help-screen-data/help-screen-data.component.html","../../../src/app/shared/components/header/header.component.ts","../../../src/app/shared/components/loading/loading.component.ts","../../../src/app/chat/chat.component.ts","../../../src/app/chat/chat.component.html","../../../src/app/shared/components/confirmation-dialog/confirmation-dialog.component.ts","../../../src/app/services/api.service.ts","../../../src/app/services/signalrService.service.ts","../../../src/app/services/token.service.ts","../../../src/app/help-center-widget/help-center-widget.component.ts","../../../src/app/help-center-widget/help-center-widget.component.html","../../../public_api.ts","../../../aslaluroba-help-center.ts"],"sourcesContent":["import { Component, Input, HostBinding, ViewEncapsulation } from '@angular/core'\nimport { CommonModule } from '@angular/common'\n\n@Component({\n selector: 'app-card',\n standalone: true,\n imports: [CommonModule],\n styleUrls: ['./card.component.scss'],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardComponent {\n @Input() variant: 'default' | 'rounded' | 'shadowed' = 'default'\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n const classes = ['card']\n classes.push(`card--${this.variant}`)\n if (this.class) {\n classes.push(this.class)\n }\n return classes.join(' ')\n }\n}\n\n@Component({\n selector: 'app-card-header',\n standalone: true,\n imports: [CommonModule],\n styleUrls: ['./card.component.scss'],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardHeaderComponent {\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n const classes = ['card__header']\n if (this.class) {\n classes.push(this.class)\n }\n return classes.join(' ')\n }\n}\n\n@Component({\n selector: 'app-card-title',\n standalone: true,\n imports: [CommonModule],\n styleUrls: ['./card.component.scss'],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardTitleComponent {\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n const classes = ['card__title']\n if (this.class) {\n classes.push(this.class)\n }\n return classes.join(' ')\n }\n}\n\n@Component({\n selector: 'app-card-description',\n standalone: true,\n imports: [CommonModule],\n styleUrls: ['./card.component.scss'],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardDescriptionComponent {\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n const classes = ['card__description']\n if (this.class) {\n classes.push(this.class)\n }\n return classes.join(' ')\n }\n}\n\n@Component({\n selector: 'app-card-content',\n standalone: true,\n imports: [CommonModule],\n styleUrls: ['./card.component.scss'],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardContentComponent {\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n const classes = ['card__content']\n if (this.class) {\n classes.push(this.class)\n }\n return classes.join(' ')\n }\n}\n\n@Component({\n selector: 'app-card-footer',\n standalone: true,\n imports: [CommonModule],\n styleUrls: ['./card.component.scss'],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None\n})\nexport class CardFooterComponent {\n @Input() class = ''\n\n @HostBinding('class')\n get hostClasses(): string {\n const classes = ['card__footer']\n if (this.class) {\n classes.push(this.class)\n }\n return classes.join(' ')\n }\n}\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\n\ntype ButtonVariant = 'default' | 'icon-bg' | 'icon-only' | 'outline'\ntype ButtonType = 'button' | 'submit' | 'reset'\n\n@Component({\n selector: 'app-button',\n standalone: true,\n imports: [CommonModule],\n styleUrls: ['./button.component.scss'],\n template: `\n <button [type]=\"type\" [disabled]=\"disabled\" [class]=\"getButtonClasses()\" (click)=\"onClick.emit($event)\" [dir]=\"direction\">\n <ng-content></ng-content>\n </button>\n `\n})\nexport class ButtonComponent {\n @Input() variant: ButtonVariant = 'default'\n @Input() type: ButtonType = 'button'\n @Input() disabled = false\n @Input() fullWidth = false\n @Input() className = ''\n @Input() size: 'default' | 'small' = 'default'\n @Input() direction: 'ltr' | 'rtl' = 'ltr'\n @Output() onClick = new EventEmitter<MouseEvent>()\n\n getButtonClasses(): string {\n const classes = ['button']\n\n // Add variant class\n classes.push(`button--${this.variant}`)\n\n // Add full width class if needed\n if (this.fullWidth) {\n classes.push('button--full-width')\n }\n\n // Add size class if needed\n if (this.size) {\n classes.push(`button--${this.size}`)\n }\n\n // Add direction class\n classes.push(`button--${this.direction}`)\n\n // Add custom classes\n if (this.className) {\n classes.push(this.className)\n }\n\n return classes.join(' ')\n }\n}\n\n@Component({\n selector: 'app-button-content',\n standalone: true,\n imports: [CommonModule],\n template: ` <ng-content></ng-content> `\n})\nexport class ButtonContentComponent {}\n\n@Component({\n selector: 'app-icon-button',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n template: `\n <app-button variant=\"icon-bg\" [className]=\"className\" [disabled]=\"disabled\" (onClick)=\"onClick.emit($event)\">\n <ng-content></ng-content>\n </app-button>\n `\n})\nexport class IconButtonComponent {\n @Input() className = ''\n @Input() disabled = false\n @Output() onClick = new EventEmitter<MouseEvent>()\n}\n\n@Component({\n selector: 'app-transparent-icon-button',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n template: `\n <app-button variant=\"icon-only\" [className]=\"className\" [disabled]=\"disabled\" (onClick)=\"onClick.emit($event)\">\n <ng-content></ng-content>\n </app-button>\n `\n})\nexport class TransparentIconButtonComponent {\n @Input() className = ''\n @Input() disabled = false\n @Output() onClick = new EventEmitter<MouseEvent>()\n}\n","// src/app/services/translation.service.ts\nimport { Injectable } from '@angular/core'\nimport { BehaviorSubject } from 'rxjs'\nimport { Language } from '../types'\n\nconst defaultTranslations = {\n ChatIntroMessage: '',\n BabylaiTitle: '',\n BabylaiDescription: '',\n ChatNow: '',\n TryBableAI: '',\n ContactUs: '',\n PickTopicTitle: '',\n BabylAI: '',\n ChatPlaceholder: '',\n PoweredByBabylAI: '',\n EndChat: '',\n LeavingDialogTitle: '',\n LeavingDialogBody: '',\n Confirm: '',\n Cancel: '',\n title: ''\n} as const\n\nexport type TranslationKey = keyof typeof defaultTranslations\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TranslationService {\n private translations = {\n en: {\n ChatIntroMessage: 'Chat with BabylAI 🚀',\n BabylaiTitle: 'BabylAI',\n BabylaiDescription: \"Hey there! 👋 I'm BabylAI, here to assist you.\",\n ChatNow: 'Chat Now',\n TryBableAI: 'Try BabylAI for Free 🎉',\n ContactUs: \"Contact us, Let's Talk! 💬\",\n PickTopicTitle: 'Pick a Topic to Get Started',\n BabylAI: 'BabylAI',\n ChatPlaceholder: 'Type your message...',\n PoweredByBabylAI: 'Powered by BabylAI',\n EndChat: 'End Chat',\n LeavingDialogTitle: 'Leaving so soon? 👋',\n LeavingDialogBody: \"Don't worry, you can come back anytime. We're always here if you need help or have questions.\",\n Confirm: 'Confirm',\n Cancel: 'Cancel',\n title: 'Help Center'\n },\n ar: {\n ChatIntroMessage: 'دردش مع BabylAI 🚀',\n BabylaiTitle: 'BabylAI',\n BabylaiDescription: 'مرحبا! 👋 أنا BabylAI، هنا لتساعدك.',\n ChatNow: 'دردش الآن',\n TryBableAI: 'جرب BabylAI مجانا 🎉',\n ContactUs: 'تواصل معنا, دعنا نتحدث! 💬',\n PickTopicTitle: 'اختر موضوع للبدء',\n BabylAI: 'BabylAI',\n ChatPlaceholder: 'اكتب رسالتك...',\n PoweredByBabylAI: 'مدعوم من BabylAI',\n EndChat: 'إنهاء الدردشة',\n LeavingDialogTitle: 'هل تغادر بالفعل؟ 👋',\n LeavingDialogBody: 'لا تقلق، يمكنك العودة في أي وقت. نحن دائماً هنا إذا كنت بحاجة إلى مساعدة أو لديك أسئلة.',\n Confirm: 'تأكيد',\n Cancel: 'إلغاء',\n title: 'مركز المساعدة'\n }\n }\n\n private currentLang = new BehaviorSubject<Language>('en')\n\n constructor() {}\n\n translate(key: TranslationKey): string {\n const lang = this.currentLang.value as Language\n return this.translations[lang][key] || key\n }\n\n setLanguage(lang: Language) {\n this.currentLang.next(lang)\n }\n\n getCurrentLang(): Language {\n return this.currentLang.value\n }\n}\n","// src/app/pipes/translate.pipe.ts\nimport { Pipe, PipeTransform } from '@angular/core'\nimport { TranslationService } from '../services/translation.service'\nimport { TranslationKey } from '../services/translation.service' // Add this import\n\n@Pipe({\n name: 'translate',\n standalone: true\n})\nexport class TranslatePipe implements PipeTransform {\n constructor(private translationService: TranslationService) {}\n\n transform(key: TranslationKey): string {\n return this.translationService.translate(key)\n }\n}\n","import { Component, Input, OnInit, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { CardComponent, CardContentComponent } from '../shared/components/card/card.component'\nimport { ButtonComponent } from '../shared/components/button/button.component'\nimport { TranslatePipe } from '../pipes/translate.pipe'\n\ninterface Tenant {\n id: string\n name: string\n key: string\n}\n\ninterface Assistant {\n id: string\n tenantId: string\n tenant: Tenant\n name: string\n openAIAssistantId: string\n greeting: string\n closing: string\n}\n\ninterface HelpScreenOption {\n id: string\n helpScreenId: string\n parentOptionId: string | null\n parentOption: HelpScreenOption | null\n nestedOptions: HelpScreenOption[]\n assistantId: string\n assistant: Assistant\n title: string\n paragraphs: string[]\n files: any[]\n chatWithUs: boolean\n hasNestedOptions: boolean\n order: number\n}\n\ninterface HelpScreenData {\n id: string\n tenantId: string\n tenant: Tenant\n title: string\n description: string\n options: HelpScreenOption[]\n chatWithUs: boolean\n}\n\n@Component({\n selector: 'app-help-screen-data',\n standalone: true,\n imports: [CommonModule, CardComponent, CardContentComponent, ButtonComponent, TranslatePipe],\n templateUrl: './help-screen-data.component.html',\n styleUrls: ['./help-screen-data.component.scss']\n})\nexport class HelpScreenDataComponent implements OnInit {\n @Input() helpScreenData: HelpScreenData | null = null\n @Input() title: string = ''\n @Output() handleStartNewChat = new EventEmitter<HelpScreenOption>()\n\n expandedItemId: string | null = null\n\n ngOnInit() {}\n\n toggleExpand(itemId: string): void {\n if (this.expandedItemId === itemId) {\n this.expandedItemId = null\n } else {\n this.expandedItemId = itemId\n setTimeout(() => {\n const element = document.getElementById(itemId)\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' })\n }\n }, 100)\n }\n }\n\n startNewChat(option: HelpScreenOption): void {\n this.handleStartNewChat.emit(option)\n }\n}\n","<div class=\"help-screen\">\n <h1 class=\"help-screen__title\">\n {{ 'PickTopicTitle' | translate }}\n </h1>\n <ng-container *ngFor=\"let item of helpScreenData?.options\">\n <app-card [id]=\"item.id\" variant=\"rounded\" class=\"help-screen__card\" (click)=\"toggleExpand(item.id)\">\n <app-card-content>\n <!-- Header section (always visible) -->\n <div class=\"help-screen__header\">\n <h4 class=\"help-screen__title-text\">{{ item.title }}</h4>\n <div\n class=\"help-screen__arrow-container\"\n [ngClass]=\"{\n 'help-screen__arrow-container--expanded': expandedItemId === item.id,\n 'help-screen__arrow-container--collapsed': expandedItemId !== item.id\n }\"\n >\n <img src=\"/icons/arrow-stripped-colored.svg\" alt=\"arrow-down\" />\n </div>\n </div>\n\n <!-- Expanded content (visible only when expanded) -->\n <div *ngIf=\"expandedItemId === item.id\" class=\"help-screen__content\">\n <ng-container>\n <div *ngFor=\"let paragraph of item.paragraphs\" class=\"help-screen__paragraph\">\n {{ paragraph }}\n </div>\n </ng-container>\n\n <app-button variant=\"default\" [fullWidth]=\"true\" (click)=\"startNewChat(item)\">{{ 'ChatNow' | translate }}</app-button>\n </div>\n </app-card-content>\n </app-card>\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, HostListener, Input, Output } from '@angular/core'\nimport { ButtonComponent } from '../button'\nimport { TranslatePipe } from '../../../pipes/translate.pipe'\n\ntype HeaderType = 'standard' | 'minimal'\n\n@Component({\n selector: 'app-header',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n styleUrls: ['./header.component.scss'],\n template: `\n <div class=\"header\">\n <app-button\n *ngIf=\"showBackButton\"\n variant=\"icon-bg\"\n className=\"button--white-bg\"\n [direction]=\"isRtl ? 'rtl' : 'ltr'\"\n (click)=\"onBack.emit()\"\n >\n <img src=\"/icons/arrow-stripped-colored.svg\" alt=\"Back\" class=\"header__back-button-icon\" [class.rtl]=\"isRtl\" />\n </app-button>\n <app-button\n *ngIf=\"showCloseButton\"\n variant=\"icon-bg\"\n [direction]=\"isRtl ? 'rtl' : 'ltr'\"\n className=\"button--close-button\"\n (click)=\"onClose.emit()\"\n >\n <img src=\"/icons/close-circle.svg\" alt=\"Close\" />\n </app-button>\n <img *ngIf=\"showLogo\" [src]=\"logoSrc\" [alt]=\"logoAlt\" class=\"header__logo\" />\n <app-button *ngIf=\"!showBackButton && !showCloseButton\" variant=\"icon-only\" class=\"header__close-button\" (click)=\"onClose.emit()\">\n <img src=\"/icons/close-circle.svg\" alt=\"Close\" />\n </app-button>\n </div>\n `\n})\nexport class HeaderComponent {\n @Input() headerType: HeaderType = 'standard'\n @Input() showBackButton = false\n @Input() showLogo = true\n @Input() logoSrc = '/logo-white.svg'\n @Input() logoAlt = 'BabylAI Logo'\n @Input() language = 'en'\n @Input() showCloseButton = false\n @Output() onBack = new EventEmitter<void>()\n @Output() onClose = new EventEmitter<void>()\n\n get isRtl(): boolean {\n return this.language === 'ar'\n }\n}\n\n@Component({\n selector: 'app-chat-header',\n standalone: true,\n imports: [CommonModule, ButtonComponent, TranslatePipe],\n styleUrls: ['./header.component.scss'],\n template: `\n <div class=\"chat-header\">\n <div class=\"chat-header__actions\">\n <app-button size=\"small\" variant=\"icon-bg\" className=\"chat-header__button button--light-bg\" (click)=\"onBack.emit()\">\n <img src=\"/icons/arrow-stripped-colored.svg\" alt=\"Back\" [style.transform]=\"isRtl ? 'rotate(180deg)' : 'rotate(0deg)'\" />\n </app-button>\n <div class=\"chat-header__menu\" data-menu-container>\n <app-button\n size=\"small\"\n variant=\"icon-bg\"\n className=\"chat-header__button button--light-bg\"\n (click)=\"$event.stopPropagation(); isMenuOpen = !isMenuOpen\"\n >\n <img src=\"/icons/menu.svg\" alt=\"Menu\" />\n </app-button>\n <div *ngIf=\"isMenuOpen\" class=\"chat-header__menu-dropdown\" [ngClass]=\"{ rtl: isRtl, ltr: !isRtl }\">\n <div class=\"chat-header__menu-dropdown-content\">\n <button (click)=\"onClose.emit(); isMenuOpen = false\" class=\"chat-header__menu-button\" [ngClass]=\"{ rtl: isRtl, ltr: !isRtl }\">\n {{ 'EndChat' | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"chat-header__brand\">\n <img src=\"/logo-primary.svg\" [alt]=\"logoAlt\" />\n <p>{{ 'BabylAI' | translate }}</p>\n </div>\n </div>\n `\n})\nexport class ChatHeaderComponent {\n isMenuOpen = false\n @Input() showBackButton = false\n @Input() showLogo = true\n @Input() logoSrc = '/logo-white.svg'\n @Input() logoAlt = 'BabylAI Logo'\n @Input() language = 'en'\n @Output() onBack = new EventEmitter<void>()\n @Output() onClose = new EventEmitter<void>()\n\n get isRtl(): boolean {\n return this.language === 'ar'\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent) {\n const target = event.target as HTMLElement\n const menuContainer = target.closest('[data-menu-container]')\n if (!menuContainer && this.isMenuOpen) {\n this.isMenuOpen = false\n }\n }\n}\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'app-loading',\n styleUrls: ['./loading.component.scss'],\n template: `\n <div class=\"loading\">\n <img src=\"/images/animatedLogo.gif\" alt=\"Animated Logo\" class=\"loading__logo\" />\n </div>\n `,\n standalone: true\n})\nexport class LoadingComponent {}\n","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, OnInit } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { FormsModule } from '@angular/forms'\nimport { MarkdownComponent } from 'ngx-markdown'\nimport { ButtonComponent } from '../shared/components/button'\nimport { CardComponent, CardContentComponent } from '../shared/components/card'\nimport { LoadingComponent } from '../shared/components/loading/loading.component'\nimport { TranslatePipe } from '../pipes/translate.pipe'\nimport 'prismjs'\nimport 'prismjs/components/prism-typescript'\nimport 'prismjs/components/prism-javascript'\nimport 'prismjs/components/prism-css'\nimport 'prismjs/components/prism-json'\nimport 'prismjs/components/prism-markdown'\nimport 'prismjs/themes/prism-okaidia.css'\n\ninterface Message {\n id: string | number\n sender: 'user' | 'assistant' | 'agent'\n senderType: number\n messageContent: string\n sentAt: Date\n isSeen: boolean\n}\n\n@Component({\n selector: 'app-chat',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n MarkdownComponent,\n ButtonComponent,\n CardComponent,\n CardContentComponent,\n LoadingComponent,\n TranslatePipe\n ],\n templateUrl: './chat.component.html',\n styleUrls: ['./chat.component.scss']\n})\nexport class ChatComponent implements OnInit {\n @Input() messages: Message[] = []\n @Input() needsAgent: boolean = false\n @Input() assistantStatus: string = 'idle'\n @Input() isSignalRConnected: boolean = false\n @Input() isChatClosed: boolean = false\n @Output() sendMessageEvent = new EventEmitter<string>()\n @ViewChild('chatMessagesContainer') chatMessagesContainer!: ElementRef\n @Input() currentLang: string = 'en'\n @Input() loading: boolean = false\n\n messageText: string = ''\n\n get firstAgentMessageIndex(): number {\n return this.messages.findIndex((message) => message.senderType === 2)\n }\n\n cleanMessageContent(content: string): string {\n // Remove excessive newlines (more than 2 consecutive newlines)\n return content.replace(/\\n{3,}/g, '\\n\\n').trim()\n }\n\n ngOnInit(): void {\n // Initialize component\n }\n\n ngAfterViewChecked(): void {\n this.scrollToBottom()\n }\n\n scrollToBottom(): void {\n try {\n this.chatMessagesContainer.nativeElement.scrollTop = this.chatMessagesContainer.nativeElement.scrollHeight\n } catch (err) {\n console.error('Error scrolling to bottom:', err)\n }\n }\n\n sendMessage(): void {\n if (!this.messageText.trim() || !this.isSignalRConnected || this.isChatClosed) return\n this.sendMessageEvent.emit(this.messageText)\n this.messageText = ''\n }\n\n hasAgentMessageBeenSent(messages: any[]): boolean {\n return messages.some((message) => message.senderType === 2 || message.senderType === 3)\n }\n}\n","<div class=\"chat\">\n <div class=\"chat__messages\" #chatMessagesContainer>\n <div *ngFor=\"let message of messages; let i = index\" class=\"chat__message-group\">\n <div class=\"chat__separator\" *ngIf=\"i === firstAgentMessageIndex && message.senderType === 2\">\n <img src=\"/images/seperator.svg\" alt=\"separator\" />\n </div>\n <div class=\"chat__message-container\" [class.chat__message-container--user]=\"message.senderType === 1\">\n <div class=\"chat__avatar\" [class.chat__avatar--hidden]=\"i > 0 && messages[i - 1].senderType === message.senderType\">\n @if (message.senderType === 3) {\n <span class=\"chat__avatar-wrapper chat__avatar-wrapper--assistant\">\n <img src=\"/logo-white.svg\" alt=\"robot\" class=\"chat__avatar-image\" />\n </span>\n } @else if (needsAgent || message.senderType === 2) {\n <span class=\"chat__avatar-wrapper chat__avatar-wrapper--agent\">\n <img src=\"/icons/person.svg\" alt=\"agent\" class=\"chat__avatar-image\" />\n </span>\n }\n </div>\n <app-card\n variant=\"rounded\"\n [class]=\"'chat__message ' + (message.senderType === 1 ? 'chat__message--user' : 'chat__message--assistant')\"\n >\n <app-card-content>\n <div class=\"chat__message-content\">\n <markdown\n [data]=\"cleanMessageContent(message.messageContent)\"\n ngPreserveWhitespaces\n [inline]=\"false\"\n class=\"prose\"\n [class.prose-invert]=\"message.senderType === 1\"\n >\n </markdown>\n </div>\n </app-card-content>\n </app-card>\n </div>\n </div>\n\n <div *ngIf=\"assistantStatus === 'typing' && firstAgentMessageIndex === -1\" class=\"chat__typing\">\n <div class=\"chat__avatar\">\n <span class=\"chat__avatar-wrapper chat__avatar-wrapper--agent\">\n <img src=\"/images/animatedLogo.gif\" alt=\"Loading\" class=\"chat__avatar-image\" />\n </span>\n </div>\n <app-card variant=\"rounded\" class=\"chat__message chat__message--assistant\">\n <app-card-content>\n <div id=\"wave\">\n <span class=\"dot\"></span>\n <span class=\"dot\"></span>\n <span class=\"dot\"></span>\n </div>\n </app-card-content>\n </app-card>\n </div>\n <div *ngIf=\"loading\" class=\"chat__loading\">\n <app-loading />\n </div>\n </div>\n\n <form (ngSubmit)=\"sendMessage()\" class=\"chat__input-container\">\n <div class=\"chat__input-wrapper\">\n <input\n type=\"text\"\n [(ngModel)]=\"messageText\"\n name=\"messageText\"\n [placeholder]=\"'ChatPlaceholder' | translate\"\n [disabled]=\"isChatClosed\"\n class=\"chat__input\"\n />\n <button type=\"submit\" [disabled]=\"!messageText.trim() || !isSignalRConnected || isChatClosed\" class=\"chat__send-button\">\n <img\n src=\"/icons/send.svg\"\n alt=\"send-message\"\n class=\"chat__send-button-icon\"\n [class.chat__send-button-icon--rtl]=\"currentLang === 'ar'\"\n />\n </button>\n </div>\n </form>\n</div>\n","import { Component, Input, Output, EventEmitter } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { ButtonComponent } from '../button'\n\n@Component({\n selector: 'app-confirmation-dialog',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n styleUrls: ['./confirmation-dialog.component.scss'],\n template: `\n <div class=\"dialog\">\n <div class=\"dialog__content\">\n <h3 class=\"dialog__title\">{{ title }}</h3>\n <p class=\"dialog__body\">{{ body }}</p>\n <div class=\"dialog__actions\">\n <app-button variant=\"outline\" [fullWidth]=\"true\" (click)=\"onCancel.emit()\">\n {{ cancelText }}\n </app-button>\n <app-button variant=\"default\" [fullWidth]=\"true\" (click)=\"onConfirm.emit()\">\n {{ confirmText }}\n </app-button>\n </div>\n </div>\n </div>\n `\n})\nexport class ConfirmationDialogComponent {\n @Input() title: string = ''\n @Input() body: string = ''\n @Input() confirmText: string = 'Confirm'\n @Input() cancelText: string = 'Cancel'\n @Output() onConfirm = new EventEmitter<void>()\n @Output() onCancel = new EventEmitter<void>()\n}\n","import { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiService {\n private getTokenFunction: (() => Promise<string>) | null = null\n private baseUrl: string | null = null\n\n initializeAPI(url: string, getToken: () => Promise<string>) {\n this.getTokenFunction = getToken\n this.baseUrl = url\n }\n\n async getValidToken(forceRefresh = false): Promise<string> {\n if (!this.getTokenFunction) {\n throw new Error('API module not initialized. Call initializeAPI(getToken) first.')\n }\n\n let storedToken = localStorage.getItem('chatbot-token')\n let storedExpiry = localStorage.getItem('chatbot-token-expiry')\n\n const currentTime = Math.floor(Date.now() / 1000)\n\n if (!storedToken || !storedExpiry || currentTime >= Number(storedExpiry) || forceRefresh) {\n const tokenResponse = await this.getTokenFunction()\n\n if (!tokenResponse) {\n throw new Error('Invalid token response from getTokenFunction')\n }\n\n storedToken = tokenResponse\n storedExpiry = String(currentTime + 900)\n\n localStorage.setItem('chatbot-token', storedToken)\n localStorage.setItem('chatbot-token-expiry', storedExpiry)\n }\n\n return storedToken\n }\n\n private async fetchWithAuth(url: string, options: RequestInit, retry = true): Promise<Response> {\n if (!options.headers) {\n options.headers = {}\n }\n\n const headers = options.headers as Record<string, string>\n headers['Authorization'] = `Bearer ${await this.getValidToken()}`\n\n let response = await fetch(url, options)\n\n if ((response.status === 401 || response.status === 403) && retry) {\n console.warn('Token expired. Fetching new token...')\n\n const newToken = await this.getValidToken(true)\n headers['Authorization'] = `Bearer ${newToken}`\n\n response = await fetch(url, options)\n }\n\n return response\n }\n\n async apiRequest(endpoint: string, method = 'GET', body: any = null, customHeaders: Record<string, string> = {}): Promise<Response> {\n if (!this.baseUrl) {\n throw new Error('API not initialized. Call initializeAPI first.')\n }\n\n const url = `${this.baseUrl}/${endpoint}`\n\n const options: RequestInit = {\n method,\n headers: {\n 'Content-Type': 'application/json',\n ...customHeaders\n },\n body: body ? JSON.stringify(body) : null\n }\n\n const response = await this.fetchWithAuth(url, options)\n\n if (!response.ok) {\n const errorData = await response.json()\n throw new Error(errorData.message || 'API request failed')\n }\n\n return response\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as signalR from '@microsoft/signalr';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SignalRService {\n private connection: signalR.HubConnection | null = null;\n private isConnected = false;\n private baseURL = 'http://localhost:5086'; // Replace with your API URL\n private hubUrl = 'https://babylai.net'; // Replace with your SignalR hub URL\n\n async startConnection(\n sessionId: string,\n apiKey: string,\n onMessageReceived: (\n message: string,\n senderType: string,\n needsAgent: boolean\n ) => void\n ): Promise<void> {\n console.log('sessionId:', sessionId);\n\n if (this.isConnected) return;\n\n this.connection = new signalR.HubConnectionBuilder()\n .withUrl(\n `${this.hubUrl}/clientHub?access_token=${encodeURIComponent(apiKey)}`,\n {\n withCredentials: true,\n transport:\n signalR.HttpTransportType.WebSockets |\n signalR.HttpTransportType.LongPolling,\n headers: {\n Authorization: `Bearer ${apiKey}`,\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-SignalR-User-Agent':\n 'Microsoft SignalR/8.0 (8.0.7; Unknown OS; Browser; Unknown Runtime Version)',\n },\n skipNegotiation: false,\n accessTokenFactory: () => apiKey,\n }\n )\n .withAutomaticReconnect()\n .configureLogging(signalR.LogLevel.Information)\n .build();\n\n this.connection.on(\n 'ReceiveMessage',\n (message: string, senderType: string, needsAgent: boolean) => {\n console.log(\n 'Received message from SignalR:',\n message,\n senderType,\n needsAgent\n );\n onMessageReceived(message, senderType, needsAgent);\n }\n );\n\n try {\n await this.connection.start();\n console.log('SignalR connection started successfully.');\n\n this.isConnected = true;\n await this.joinGroup(sessionId);\n console.log('SignalR group joined.');\n } catch (error) {\n console.error('Error connecting to SignalR', error);\n this.isConnected = false;\n }\n }\n\n async joinGroup(sessionId: string): Promise<void> {\n if (this.connection) {\n try {\n console.log(`Attempting to join group with session ID: ${sessionId}`);\n await this.connection.invoke('JoinGroup', sessionId);\n console.log(`Joined group with session ID: ${sessionId}`);\n } catch (error) {\n console.error('Error joining SignalR group:', error);\n }\n }\n }\n\n async leaveGroup(sessionId: string): Promise<void> {\n if (this.connection && this.isConnected) {\n try {\n await this.connection.invoke('LeaveGroup', sessionId);\n console.log(`Left group with session ID: ${sessionId}`);\n } catch (error) {\n console.error('Error leaving SignalR group:', error);\n }\n }\n }\n\n async stopConnection(): Promise<void> {\n if (this.connection && this.isConnected) {\n await this.connection.stop();\n this.isConnected = false;\n console.log('SignalR disconnected.');\n }\n }\n}\n","import { Injectable } from '@angular/core'\n\nexport interface TokenResponse {\n token: string\n expiresIn: number\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenService {\n private baseUrl: string | null = null\n\n initializeService(baseUrl: string) {\n this.baseUrl = baseUrl\n }\n\n async getToken(): Promise<TokenResponse> {\n if (!this.baseUrl) {\n throw new Error('Token service not initialized. Call initializeService first.')\n }\n\n try {\n const response = await fetch(`${this.baseUrl}/Auth/client/get-token`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n tenantId: '2176c188-8cb4-4fc3-8366-2d32e601f7e5',\n apiKey: 'I/22UK34I6xAhglfPXTwPAgUuVyJw8TdnG26ZLI5gYQ='\n })\n })\n\n if (!response.ok) {\n throw new Error('Failed to fetch token')\n }\n\n const data = await response.json()\n return {\n token: data.token,\n expiresIn: data.expiresIn || 3600 // Default to 1 hour if not provided\n }\n } catch (error) {\n throw new Error('Failed to get authentication token')\n }\n }\n}\n","import { Component, Input, OnInit, ViewChild, ElementRef } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { FormsModule } from '@angular/forms'\nimport { ApiService } from '../services/api.service'\nimport { SignalRService } from '../services/signalrService.service'\nimport { TokenService } from '../services/token.service'\nimport { CardComponent, CardContentComponent } from '../shared/components/card/card.component'\nimport { ButtonComponent } from '../shared/components/button'\nimport { HelpScreenDataComponent } from '../help-screen-data/help-screen-data.component'\nimport { HeaderComponent, ChatHeaderComponent } from '../shared/components/header'\nimport { ChatComponent } from '../chat/chat.component'\nimport { LoadingComponent } from '../shared/components/loading/loading.component'\nimport { ConfirmationDialogComponent } from '../shared/components/confirmation-dialog/confirmation-dialog.component'\nimport { TranslatePipe } from '../pipes/translate.pipe'\nimport { TranslationService } from '../services/translation.service'\n\ninterface Option {\n id: string\n helpScreenId: string\n parentOptionId: string | null\n nestedOptions: Option[]\n title: string\n paragraphs: string[]\n chatWithUs: boolean\n assistantId?: string\n assistant?: {\n id: string\n tenantId: string\n tenant: {\n id: string\n name: string\n key: string\n }\n name: string\n openAIAssistantId: string\n greeting: string\n closing: string\n }\n hasNestedOptions: boolean\n order: number\n}\n\ninterface Message {\n id: string | number\n sender: 'user' | 'assistant' | 'agent'\n senderType: number\n messageContent: string\n sentAt: Date\n isSeen: boolean\n}\n\n@Component({\n selector: 'app-help-center-widget',\n templateUrl: './help-center-widget.component.html',\n styleUrls: ['./help-center-widget.component.scss', '../../styles.scss'],\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n TranslatePipe,\n CardComponent,\n CardContentComponent,\n ButtonComponent,\n HelpScreenDataComponent,\n HeaderComponent,\n ChatHeaderComponent,\n ChatComponent,\n LoadingComponent,\n ConfirmationDialogComponent\n ],\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .help-center-container {\n width: 100%;\n height: 100%;\n }\n `\n ]\n})\nexport class HelpCenterWidgetComponent implements OnInit {\n @Input() getToken!: () => Promise<string>\n @Input() helpScreenId!: string\n @Input() showArrow: boolean = true\n @Input() messageLabel: string | null = null\n @Input() currentLang: string = 'en'\n @Input() isIntroScreenEnabled: boolean = false\n @ViewChild('chatMessagesContainer') chatMessagesContainer!: ElementRef\n\n // State variables\n isPopupOpen = false\n helpScreenData: any = null\n status = 'idle'\n error: string | null = null\n showArrowAnimation = false\n isRTL: boolean = this.currentLang === 'en' ? false : true\n showTooltip = false\n sessionId: string | null = null\n isSignalRConnected = false\n isChatClosed = false\n showChat = false\n messageText: string = ''\n isTyping = false\n messages: Message[] = []\n showHelpScreenData = false\n chatIsLoading = false\n\n isOpen = false\n\n needsAgent = false\n assistantStatus = 'idle'\n\n selectedOption: Option | null = null\n selectedNestedOption: Option | null = null\n\n private baseUrl = 'https://babylai.net/api'\n\n showEndChatConfirmation = false\n\n constructor(\n private apiService: ApiService,\n private signalRService: SignalRService,\n private tokenService: TokenService,\n private translationService: TranslationService\n ) {}\n\n ngOnInit() {\n this.showArrowAnimation = this.showArrow\n this.tokenService.initializeService(this.baseUrl)\n this.apiService.initializeAPI(this.baseUrl, this.getToken)\n console.log('🚀 ~ HelpCenterWidgetComponent ~ ngOnInit ~ isIntroScreenEnabled:', this.isIntroScreenEnabled)\n if (!this.isIntroScreenEnabled) {\n this.showHelpScreenData = true\n }\n }\n\n async handleTogglePopup() {\n this.isPopupOpen = !this.isPopupOpen\n this.showArrowAnimation = this.isPopupOpen\n\n if (this.isPopupOpen) {\n await this.fetchHelpScreenData()\n }\n }\n\n private async fetchHelpScreenData() {\n this.status = 'loading'\n this.error = null\n\n try {\n const response = await this.apiService.apiRequest(`client/clientHelpScreen/${this.helpScreenId}`, 'GET')\n this.helpScreenData = await response.json()\n this.status = 'succeeded'\n } catch (error: any) {\n this.error = error.message\n this.status = 'failed'\n }\n }\n\n async createChatSession() {\n try {\n const chatSessionCreateDto = {\n optionId: this.selectedOption?.id,\n helpScreenId: this.helpScreenId\n }\n\n const response = await this.apiService.apiRequest('Client/ClientChatSession/create-session', 'POST', chatSessionCreateDto)\n const data = await response.json()\n this.sessionId = data.id\n return data\n } catch (error) {\n console.error('Error creating chat session:', error)\n throw error\n }\n }\n\n async sendMessage(messageText?: string) {\n const textToSend = messageText || this.messageText\n if (!textToSend.trim() || !this.isSignalRConnected || this.isChatClosed) return\n\n try {\n this.assistantStatus = 'typing'\n\n // Add user message\n this.messages.push({\n id: Date.now(),\n sender: 'user',\n senderType: 1,\n messageContent: textToSend,\n sentAt: new Date(),\n isSeen: false\n })\n\n if (!this.sessionId) {\n await this.createChatSession()\n }\n\n const messageDto = { messageContent: textToSend }\n await this.apiService.apiRequest(`Client/ClientChatSession/${this.sessionId}/send-message`, 'POST', messageDto)\n\n // Clear message input\n this.messageText = ''\n\n // Update message as seen\n this.messages = this.messages.map((msg) => (msg.senderType === 1 && !msg.isSeen ? { ...msg, isSeen: true } : msg))\n } catch (error) {\n console.error('Error sending message:', error)\n this.assistantStatus = 'idle'\n this.messages.push({\n id: Date.now(),\n sender: 'assistant',\n senderType: 3,\n messageContent: 'Failed to send the message. Please try again.\\n لم يتم إرسال الرسالة. يرجى المحاولة مرة أخرى.',\n sentAt: new Date(),\n isSeen: true\n })\n }\n }\n\n async sendMessageToChatSession(chatSessionId: string, messageDto: any) {\n try {\n const response = await this.apiService.apiRequest(`Client/ClientChatSession/${chatSessionId}/send-message`, 'POST', messageDto)\n return await response.json()\n } catch (error) {\n console.error('Error sending message:', error)\n throw error\n }\n }\n\n handleReceiveMessage(message: string, senderType: string, needsAgent: boolean) {\n if (needsAgent) {\n this.needsAgent = true\n }\n\n const sender = this.getSenderType(parseInt(senderType))\n\n this.messages.push({\n id: Date.now(),\n sender: sender,\n senderType: parseInt(senderType),\n messageContent: message,\n sentAt: new Date(),\n isSeen: true\n })\n\n console.log(this.messages)\n\n this.assistantStatus = 'idle'\n this.scrollToBottom()\n }\n\n private getSenderType(senderType: number): 'user' | 'assistant' | 'agent' {\n switch (senderType) {\n case 1:\n return 'user'\n case 2:\n return 'agent'\n default:\n return 'assistant'\n }\n }\n\n async handleStartNewChat(option: Option) {\n this.selectedOption = option\n this.chatIsLoading = true\n if (!this.isSignalRConnected) {\n try {\n await this.createChatSession()\n const tokenResponse = await this.apiService.getValidToken()\n this.showChat = true\n this.isChatClosed = false\n this.showHelpScreenData = false\n\n await this.signalRService.startConnection(this.sessionId!, tokenResponse, this.handleReceiveMessage.bind(this))\n this.isSignalRConnected = true\n // add greeting message\n this.messages.push({\n id: Date.now(),\n sender: 'assistant',\n senderType: 3,\n messageContent:\n option.assistant?.greeting ||\n (this.currentLang === 'en' ? 'Hello! How can I assist you today?' : 'مرحباً! كيف يمكنني مساعدتك اليوم؟'),\n sentAt: new Date(),\n isSeen: true\n })\n\n this.chatIsLoading = false\n } catch (error) {\n console.error('Error connecting to SignalR:', error)\n this.chatIsLoading = false\n }\n } else {\n this.showChat = true\n this.isChatClosed = false\n this.showHelpScreenData = false\n this.chatIsLoading = false\n }\n }\n\n private async startNewChatSession(option: any) {\n try {\n this.status = 'loading'\n this.error = ''\n this.messages = []\n\n const chatSessionCreateDto = {\n helpScreenId: this.helpScreenId,\n optionId: option.id\n }\n\n const response = await this.apiService.apiRequest('Client/ClientChatSession/create-session', 'POST', chatSessionCreateDto)\n const createdSession = await response.json()\n this.sessionId = createdSession.id\n\n // Add greeting message\n this.messages.push({\n id: Date.now(),\n sender: 'assistant',\n senderType: 3,\n messageContent: option.assistant?.greeting || 'Hello! How can I assist you today?\\nمرحباً! كيف يمكنني مساعدتك اليوم؟',\n sentAt: new Date(),\n isSeen: true\n })\n\n this.isSignalRConnected = true\n this.isChatClosed = false\n this.status = 'succeeded'\n } catch (error: any) {\n console.error('Chat start error:', error)\n this.error = error.message || 'Failed to start chat session'\n this.status = 'failed'\n }\n }\n\n async handleStartChat(option: any) {\n this.showChat = true\n await this.startNewChatSession(option)\n }\n\n async handleEndChat() {\n this.showEndChatConfirmation = true\n }\n\n async confirmEndChat() {\n this.showEndChatConfirmation = false\n if (this.sessionId) {\n await this.closeChatSession(this.sessionId)\n this.sessionId = null\n }\n this.showChat = false\n this.showHelpScreenData = true\n this.messages = []\n this.needsAgent = false\n this.assistantStatus = 'idle'\n this.selectedOption = null\n this.selectedNestedOption = null\n }\n\n cancelEndChat() {\n this.showEndChatConfirmation = false\n }\n\n async closeChatSession(chatSessionId: string) {\n try {\n const response = await this.apiService.apiRequest(`Client/ClientChatSession/${chatSessionId}/close`, 'POST')\n return await response.json()\n } catch (error) {\n console.error('Error closing chat session:', error)\n throw error\n }\n }\n\n handleClosePopup() {\n if (this.showChat) {\n this.handleEndChat()\n }\n this.showHelpScreenData = false\n this.showChat = false\n this.isPopupOpen = false\n this.selectedOption = null\n this.selectedNestedOption = null\n }\n\n handleCloseArrowAnimation() {\n this.showArrowAnimation = false\n }\n\n handleBack() {\n if (this.showChat) {\n this.showChat = false\n this.showHelpScreenData = true\n } else if (this.selectedNestedOption) {\n this.selectedNestedOption = null\n } else if (this.selectedOption) {\n this.selectedOption = null\n } else if (this.showHelpScreenData) {\n this.showHelpScreenData = false\n }\n }\n\n handleShowChat() {\n this.showChat = true\n this.showHelpScreenData = false\n }\n\n selectOption(option: Option) {\n this.selectedOption = option\n this.selectedNestedOption = null\n }\n\n selectNestedOption(nestedOption: Option) {\n this.selectedNestedOption = nestedOption\n }\n\n handleShowHelpScreenData() {\n this.showHelpScreenData = true\n }\n\n handleHideHelpScreenData() {\n this.showHelpScreenData = false\n }\n\n private scrollToBottom(): void {\n setTimeout(() => {\n if (this.chatMessagesContainer) {\n const element = this.chatMessagesContainer.nativeElement\n element.scrollTop = element.scrollHeight\n }\n })\n }\n\n getDirection() {\n return this.currentLang === 'ar' ? 'rtl' : 'ltr'\n }\n\n get helpScreenDataList() {\n if (!this.helpScreenData?.options) return []\n // Transform options to the format expected by HelpScreenDataComponent\n return this.helpScreenData.options.map((option: any) => ({\n icon: option.icon || '/icons/default.svg',\n title: option.title,\n description: option.paragraphs?.[0] || '',\n actionLabel: option.chatWithUs ? 'Chat Now' : '',\n action: option.chatWithUs ? () => this.handleStartChat(option) : null\n }))\n }\n\n navigateToUrl(url: string): void {\n window.open(url, '_blank')\n }\n}\n","<div class=\"help-center-container\" [dir]=\"getDirection()\">\n <!-- Arrow Animation -->\n <div *ngIf=\"showArrowAnimation && !isPopupOpen\" class=\"arrow-animation\">\n <div class=\"message-box\">\n <p>\n {{ messageLabel || 'Need assistance Or You want to try the Product? Click here' }}\n </p>\n <button class=\"close-button\" (click)=\"handleCloseArrowAnimation()\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\">\n <path d=\"M1 1L11 11M1 11L11 1\" stroke=\"currentColor\" strokeWidth=\"2\" />\n </svg>\n </button>\n <div class=\"arrow-tip\"></div>\n </div>\n </div>\n\n <!-- Help Button -->\n <button class=\"help-button\" (click)=\"handleTogglePopup()\">\n <span class=\"help-button-content\">\n <img src=\"/logo-white.svg\" alt=\"BabylAI Logo\" class=\"help-button-logo\" />\n </span>\n </button>\n\n <!-- Help Popup -->\n <div\n *ngIf=\"isPopupOpen\"\n class=\"help-popup\"\n [ngClass]=\"{\n 'is-open': isPopupOpen,\n 'is-closed': !isPopupOpen,\n 'has-gradient': isPopupOpen && !showHelpScreenData && !showChat\n }\"\n >\n <app-confirmation-dialog\n *ngIf=\"showEndChatConfirmation\"\n [title]=\"'LeavingDialogTitle' | translate\"\n [body]=\"'LeavingDialogBody' | translate\"\n [confirmText]=\"'Confirm' | translate\"\n [cancelText]=\"'Cancel' | translate\"\n (onConfirm)=\"confirmEndChat()\"\n (onCancel)=\"cancelEndChat()\"\n ></app-confirmation-dialog>\n\n <!-- Loading State -->\n <div *ngIf=\"status === 'loading'\" class=\"loading-state\">\n <ng-container *ngIf=\"!showHelpScreenData\">\n <app-header\n [showBackButton]=\"!!selectedOption || !!selectedNestedOption\"\n [showLogo]=\"true\"\n (onBack)=\"handleBack()\"\n (onClose)=\"handleClosePopup()\"\n [language]=\"currentLang\"\n ></app-header>\n </ng-container>\n <ng-container *ngIf=\"showHelpScreenData\">\n <app-header\n [showCloseButton]=\"!isIntroScreenEnabled\"\n [showLogo]=\"false\"\n (onClose)=\"isIntroScreenEnabled ? handleHideHelpScreenData() : handleClosePopup()\"\n [language]=\"currentLang\"\n ></app-header>\n </ng-container>\n <app-loading></app-loading>\n </div>\n\n <!-- Error State -->\n <div *ngIf=\"status === 'failed'\" class=\"error-message\">\n <span>Error: {{ error }}</span>\n </div>\n\n <!-- Content -->\n <ng-container *ngIf=\"status === 'succeeded'\">\n <!-- Headers -->\n @if (isIntroScreenEnabled) {\n <ng-container *ngIf=\"!showHelpScreenData && !showChat\">\n <app-header\n [showBackButton]=\"!!selectedOption || !!selectedNestedOption\"\n [showLogo]=\"true\"\n (onBack)=\"handleBack()\"\n (onClose)=\"handleClosePopup()\"\n [language]=\"currentLang\"\n ></app-header>\n </ng-container>\n }\n\n <ng-container *ngIf=\"showHelpScreenData && !showChat\">\n <app-header\n [showCloseButton]=\"!isIntroScreenEnabled\"\n [showBackButton]=\"isIntroScreenEnabled && showHelpScreenData\"\n [showLogo]=\"false\"\n (onClose)=\"handleHideHelpScreenData()\"\n (onBack)=\"handleBack()\"\n [language]=\"currentLang\"\n ></app-header>\n\n <ng-container *ngIf=\"showHelpScreenData && sessionId\">\n <app-button variant=\"icon-bg\" (click)=\"handleShowChat()\" class=\"chat-button\">\n <img src=\"/icons/chat.svg\" alt=\"Close\" class=\"icon-full\" />\n </app-button>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"showChat\">\n <app-chat-header\n [showBackButton]=\"showChat\"\n [showLogo]=\"false\"\n (onClose)=\"handleEndChat()\"\n (onBack)=\"handleBack()\"\n [language]=\"currentLang\"\n ></app-chat-header>\n\n <app-chat\n class=\"chat-container\"\n [messages]=\"messages\"\n [needsAgent]=\"needsAgent\"\n [assistantStatus]=\"assistantStatus\"\n [isSignalRConnected]=\"isSignalRConnected\"\n [isChatClosed]=\"isChatClosed\"\n (sendMessageEvent)=\"sendMessage($event)\"\n [currentLang]=\"currentLang\"\n [loading]=\"chatIsLoading\"\n ></app-chat>\n </ng-container>\n\n <!-- Main Content -->\n <div class=\"main-content\" *ngIf=\"!showChat\">\n @if (isIntroScreenEnabled) {\n <ng-container *ngIf=\"!showHelpScreenData\">\n <div class=\"intro-section\">\n <h1 class=\"intro-title\">{{ 'ChatIntroMessage' | translate }}</h1>\n </div>\n\n <div class=\"cards-section\">\n <app-card variant=\"rounded\">\n <app-card-content>\n <div class=\"card-content\">\n <div class=\"babylai-info\">\n <div class=\"logo-container\">\n <img src=\"/logo-white.svg\" alt=\"Chat\" class=\"logo\" />\n </div>\n <div class=\"info-text\">\n <h4 class=\"info-title\">{{ 'BabylaiTitle' | translate }}</h4>\n <p class=\"info-description\">{{ 'BabylaiDescription' | translate }}</p>\n </div>\n </div>\n <app-button variant=\"default\" [fullWidth]=\"true\" (click)=\"handleShowHelpScreenData()\">\n {{ 'ChatNow' | translate }}\n </app-button>\n </div>\n </app-card-content>\n </app-card>\n\n <app-card variant=\"rounded\">\n <app-card-content>\n <div class=\"action-card\">\n <p class=\"action-text\">{{ 'TryBableAI' | translate }}</p>\n <app-button variant=\"icon-bg\" (click)=\"navigateToUrl('https://babylai.net/signup')\">\n <img src=\"/icons/arrow-stripped.svg\" alt=\"Arrow Right\" [ngClass]=\"{ icon: true, 'icon-rtl': currentLang === 'ar' }\" />\n </app-button>\n </div>\n </app-card-content>\n </app-card>\n\n <app-card variant=\"rounded\">\n <app-card-content>\n <div class=\"action-card\">\n <p class=\"action-text\">{{ 'ContactUs' | translate }}</p>\n <app-button variant=\"icon-bg\" (click)=\"navigateToUrl('https://babylai.net')\">\n <img src=\"/icons/arrow-stripped.svg\" alt=\"Arrow Right\" [ngClass]=\"{ icon: true, 'icon-rtl': currentLang === 'ar' }\" />\n </app-button>\n </div>\n </app-card-content>\n </app-card>\n </div>\n </ng-container>\n }\n\n <ng-container *ngIf=\"showHelpScreenData\">\n <img src=\"/images/stars.svg\" alt=\"help-center-widget-icon\" class=\"stars\" />\n <app-help-screen-data [helpScreenData]=\"helpScreenData\" (handleStartNewChat)=\"handleStartNewChat($event)\"></app-help-screen-data>\n </ng-container>\n </div>\n\n <!-- Footer -->\n <div class=\"footer\">\n <a href=\"https://babylai.net\" target=\"_blank\" class=\"footer-link\" [ngClass]=\"{ 'light-text': !showHelpScreenData && !showChat }\">\n {{ 'PoweredByBabylAI' | translate }}\n </a>\n </div>\n </ng-container>\n </div>\n</div>\n","// Components and Modules\nexport * from './src/app/help-center-widget/help-center-widget.component'\n\n// Services\nexport * from './src/app/services/api.service'\nexport * from './src/app/services/signalrService.service'\nexport * from './src/app/services/token.service'\nexport * from './src/app/services/translation.service'\n\n// Types\nexport * from './src/app/types'\n\n// Pipes\nexport * from './src/app/pipes/translate.pipe'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TranslationService","i1.ApiService","i2.SignalRService","i3.TokenService","i4.TranslationService","i5"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aslaluroba/help-center",
3
- "version": "1.1.12",
3
+ "version": "1.1.13",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -18,7 +18,6 @@
18
18
  "ngx-markdown": "^19.1.0",
19
19
  "prismjs": "^1.29.0",
20
20
  "rxjs": "~7.8.0",
21
- "tailwind-merge": "^3.3.0",
22
21
  "tslib": "^2.3.0",
23
22
  "zone.js": "~0.15.0"
24
23
  },
@@ -32,6 +31,22 @@
32
31
  "prismjs": "^1.29.0"
33
32
  },
34
33
  "sideEffects": false,
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "https://github.com/aslaluroba/help-center"
37
+ },
38
+ "keywords": [
39
+ "angular",
40
+ "help-center",
41
+ "widget",
42
+ "chat",
43
+ "support"
44
+ ],
45
+ "author": "AslaLuroba",
46
+ "bugs": {
47
+ "url": "https://github.com/aslaluroba/help-center/issues"
48
+ },
49
+ "homepage": "https://github.com/aslaluroba/help-center#readme",
35
50
  "module": "fesm2022/aslaluroba-help-center.mjs",
36
51
  "typings": "index.d.ts",
37
52
  "exports": {
@@ -44,10 +44,10 @@ export declare class HelpCenterWidgetComponent implements OnInit {
44
44
  private translationService;
45
45
  getToken: () => Promise<string>;
46
46
  helpScreenId: string;
47
- user: any;
48
47
  showArrow: boolean;
49
48
  messageLabel: string | null;
50
49
  currentLang: string;
50
+ isIntroScreenEnabled: boolean;
51
51
  chatMessagesContainer: ElementRef;
52
52
  isPopupOpen: boolean;
53
53
  helpScreenData: any;
@@ -97,10 +97,10 @@ export declare class HelpCenterWidgetComponent implements OnInit {
97
97
  handleShowHelpScreenData(): void;
98
98
  handleHideHelpScreenData(): void;
99
99
  private scrollToBottom;
100
- getDirection(): "rtl" | "ltr";
100
+ getDirection(): "ltr" | "rtl";
101
101
  get helpScreenDataList(): any;
102
102
  navigateToUrl(url: string): void;
103
103
  static ɵfac: i0.ɵɵFactoryDeclaration<HelpCenterWidgetComponent, never>;
104
- static ɵcmp: i0.ɵɵComponentDeclaration<HelpCenterWidgetComponent, "app-help-center-widget", never, { "getToken": { "alias": "getToken"; "required": false; }; "helpScreenId": { "alias": "helpScreenId"; "required": false; }; "user": { "alias": "user"; "required": false; }; "showArrow": { "alias": "showArrow"; "required": false; }; "messageLabel": { "alias": "messageLabel"; "required": false; }; "currentLang": { "alias": "currentLang"; "required": false; }; }, {}, never, never, true, never>;
104
+ 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>;
105
105
  }
106
106
  export {};