@aslaluroba/help-center 3.0.14 → 3.1.0
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.
- package/fesm2022/aslaluroba-help-center.mjs +881 -307
- package/fesm2022/aslaluroba-help-center.mjs.map +1 -1
- package/index.d.ts +5 -275
- package/package.json +2 -2
- package/public_api.d.ts +12 -0
- package/src/app/chat/chat.component.d.ts +38 -0
- package/src/app/chat/components/chat-avatar/chat-avatar.component.d.ts +8 -0
- package/src/app/chat/components/chat-input/chat-input.component.d.ts +42 -0
- package/src/app/chat/components/chat-message/chat-message.component.d.ts +18 -0
- package/src/app/chat/components/chat-separator/chat-separator.component.d.ts +5 -0
- package/src/app/chat/components/chat-typing-indicator/chat-typing-indicator.component.d.ts +5 -0
- package/src/app/chat/components/image-attachment/image-attachment.component.d.ts +18 -0
- package/src/app/chat/components/image-preview-dialog/image-preview-dialog.component.d.ts +25 -0
- package/src/app/help-center-widget/components/arrow-animation/arrow-animation.component.d.ts +11 -0
- package/src/app/help-center-widget/components/footer/footer.component.d.ts +7 -0
- package/src/app/help-center-widget/components/help-button/help-button.component.d.ts +8 -0
- package/src/app/help-center-widget/components/help-popup/help-popup.component.d.ts +105 -0
- package/src/app/help-center-widget/components/index.d.ts +5 -0
- package/src/app/help-center-widget/components/intro-section/intro-section.component.d.ts +11 -0
- package/src/app/help-center-widget/help-center-widget.component.d.ts +134 -0
- package/src/app/help-screen-data/help-screen-data.component.d.ts +59 -0
- package/src/app/language.service.d.ts +11 -0
- package/src/app/pipes/translate.pipe.d.ts +9 -0
- package/src/app/services/ably.service.d.ts +13 -0
- package/src/app/services/api.service.d.ts +16 -0
- package/src/app/services/file-upload.service.d.ts +33 -0
- package/src/app/services/help-center-config.service.d.ts +12 -0
- package/src/app/services/theme.service.d.ts +40 -0
- package/src/app/services/token.service.d.ts +10 -0
- package/src/app/services/translation.service.d.ts +15 -0
- package/src/app/shared/components/back-button/back-button.component.d.ts +10 -0
- package/src/app/shared/components/back-button/index.d.ts +1 -0
- package/src/app/shared/components/button/button.component.d.ts +36 -0
- package/src/app/shared/components/button/index.d.ts +1 -0
- package/src/app/shared/components/card/card.component.d.ts +38 -0
- package/src/app/shared/components/card/index.d.ts +1 -0
- package/src/app/shared/components/chat-header/chat-header.component.d.ts +11 -0
- package/src/app/shared/components/chat-header/index.d.ts +1 -0
- package/src/app/shared/components/close-button/close-button.component.d.ts +9 -0
- package/src/app/shared/components/close-button/index.d.ts +1 -0
- package/src/app/shared/components/confirmation-dialog/confirmation-dialog.component.d.ts +12 -0
- package/src/app/shared/components/confirmation-dialog/index.d.ts +1 -0
- package/src/app/shared/components/header/header.component.d.ts +16 -0
- package/src/app/shared/components/header/index.d.ts +1 -0
- package/src/app/shared/components/index.d.ts +13 -0
- package/src/app/shared/components/loading/index.d.ts +1 -0
- package/src/app/shared/components/loading/loading.component.d.ts +6 -0
- package/src/app/shared/components/logo/index.d.ts +1 -0
- package/src/app/shared/components/logo/logo.component.d.ts +9 -0
- package/src/app/shared/components/markdown-renderer/index.d.ts +1 -0
- package/src/app/shared/components/markdown-renderer/markdown-renderer.component.d.ts +16 -0
- package/src/app/shared/components/menu-dropdown/index.d.ts +1 -0
- package/src/app/shared/components/menu-dropdown/menu-dropdown.component.d.ts +11 -0
- package/src/app/shared/components/review-dialog/index.d.ts +1 -0
- package/src/app/shared/components/review-dialog/review-dialog.component.d.ts +32 -0
- package/src/app/shared/components/simple-close-button/index.d.ts +1 -0
- package/src/app/shared/components/simple-close-button/simple-close-button.component.d.ts +7 -0
- package/src/app/types.d.ts +73 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { OnInit, OnDestroy, OnChanges, SimpleChanges, ElementRef } from '@angular/core';
|
|
2
|
+
import { ApiService } from '../services/api.service';
|
|
3
|
+
import { TranslationService } from '../services/translation.service';
|
|
4
|
+
import { ThemeService } from '../services/theme.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
interface Option {
|
|
7
|
+
id: string;
|
|
8
|
+
helpScreenId: string;
|
|
9
|
+
parentOptionId: string | null;
|
|
10
|
+
nestedOptions: Option[];
|
|
11
|
+
title: string;
|
|
12
|
+
paragraphs: string[];
|
|
13
|
+
chatWithUs: boolean;
|
|
14
|
+
assistantId?: string;
|
|
15
|
+
assistant?: {
|
|
16
|
+
id: string;
|
|
17
|
+
tenantId: string;
|
|
18
|
+
tenant: {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
key: string;
|
|
22
|
+
};
|
|
23
|
+
name: string;
|
|
24
|
+
openAIAssistantId: string;
|
|
25
|
+
greeting: string;
|
|
26
|
+
closing: string;
|
|
27
|
+
};
|
|
28
|
+
hasNestedOptions: boolean;
|
|
29
|
+
order: number;
|
|
30
|
+
}
|
|
31
|
+
interface Message {
|
|
32
|
+
id: string | number;
|
|
33
|
+
sender: 'user' | 'assistant' | 'agent';
|
|
34
|
+
senderType: number;
|
|
35
|
+
messageContent: string;
|
|
36
|
+
sentAt: Date;
|
|
37
|
+
isSeen: boolean;
|
|
38
|
+
}
|
|
39
|
+
export declare class HelpCenterWidgetComponent implements OnInit, OnDestroy, OnChanges {
|
|
40
|
+
private apiService;
|
|
41
|
+
private translationService;
|
|
42
|
+
private themeService;
|
|
43
|
+
private readonly fileUploadService;
|
|
44
|
+
getToken: () => Promise<string>;
|
|
45
|
+
helpScreenId: string;
|
|
46
|
+
showArrow: boolean;
|
|
47
|
+
messageLabel: string | null;
|
|
48
|
+
set currentLang(value: string);
|
|
49
|
+
get currentLang(): string;
|
|
50
|
+
isIntroScreenEnabled: boolean;
|
|
51
|
+
primaryColor: string;
|
|
52
|
+
logoUrl: string;
|
|
53
|
+
chatMessagesContainer: ElementRef;
|
|
54
|
+
private _currentLang;
|
|
55
|
+
private langSubscription?;
|
|
56
|
+
isRTL: boolean;
|
|
57
|
+
isPopupOpen: boolean;
|
|
58
|
+
helpScreenData: any;
|
|
59
|
+
status: string;
|
|
60
|
+
error: string | null;
|
|
61
|
+
showArrowAnimation: boolean;
|
|
62
|
+
showTooltip: boolean;
|
|
63
|
+
sessionId: string | null;
|
|
64
|
+
isAblyConnected: boolean;
|
|
65
|
+
isChatClosed: boolean;
|
|
66
|
+
showChat: boolean;
|
|
67
|
+
messageText: string;
|
|
68
|
+
isTyping: boolean;
|
|
69
|
+
messages: Message[];
|
|
70
|
+
showHelpScreenData: boolean;
|
|
71
|
+
chatIsLoading: boolean;
|
|
72
|
+
ablyToken: string | null;
|
|
73
|
+
isOpen: boolean;
|
|
74
|
+
needsAgent: boolean;
|
|
75
|
+
assistantStatus: string;
|
|
76
|
+
selectedOption: Option | null;
|
|
77
|
+
selectedNestedOption: Option | null;
|
|
78
|
+
showEndChatConfirmation: boolean;
|
|
79
|
+
showStartNewChatConfirmation: boolean;
|
|
80
|
+
showReviewDialog: boolean;
|
|
81
|
+
isSubmittingReview: boolean;
|
|
82
|
+
pendingNewChatOption: Option | null;
|
|
83
|
+
constructor(apiService: ApiService, translationService: TranslationService, themeService: ThemeService);
|
|
84
|
+
ngOnInit(): void;
|
|
85
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
86
|
+
ngOnDestroy(): void;
|
|
87
|
+
handleTogglePopup(): Promise<void>;
|
|
88
|
+
private fetchHelpScreenData;
|
|
89
|
+
createChatSession(option?: Option): Promise<any>;
|
|
90
|
+
sendMessage(event?: {
|
|
91
|
+
text: string;
|
|
92
|
+
attachmentIds: string[];
|
|
93
|
+
pendingFiles?: File[];
|
|
94
|
+
} | string): Promise<void>;
|
|
95
|
+
handleReceiveMessage(message: string | {
|
|
96
|
+
content: string;
|
|
97
|
+
attachments?: string[];
|
|
98
|
+
}, senderType: string, needsAgent: boolean): void;
|
|
99
|
+
private getSenderType;
|
|
100
|
+
private hasActiveChatSession;
|
|
101
|
+
private isWelcomeMessage;
|
|
102
|
+
handleStartNewChat(option: Option): Promise<void>;
|
|
103
|
+
private startNewChatSession;
|
|
104
|
+
handleStartChat(option: any): Promise<void>;
|
|
105
|
+
handleEndChat(): Promise<void>;
|
|
106
|
+
confirmEndChat(): Promise<void>;
|
|
107
|
+
handleReviewSubmit(reviewData: {
|
|
108
|
+
rating: number;
|
|
109
|
+
comment: string;
|
|
110
|
+
}): Promise<void>;
|
|
111
|
+
handleReviewSkip(): Promise<void>;
|
|
112
|
+
private endChatSession;
|
|
113
|
+
cancelEndChat(): void;
|
|
114
|
+
confirmStartNewChat(): Promise<void>;
|
|
115
|
+
cancelStartNewChat(): void;
|
|
116
|
+
private clearCurrentChat;
|
|
117
|
+
private startNewChatWithOption;
|
|
118
|
+
closeChatSession(chatSessionId: string): Promise<any>;
|
|
119
|
+
handleClosePopup(): void;
|
|
120
|
+
handleCloseArrowAnimation(): void;
|
|
121
|
+
handleBack(): void;
|
|
122
|
+
handleShowChat(): void;
|
|
123
|
+
selectOption(option: Option): void;
|
|
124
|
+
selectNestedOption(nestedOption: Option): void;
|
|
125
|
+
handleShowHelpScreenData(): void;
|
|
126
|
+
handleHideHelpScreenData(): void;
|
|
127
|
+
private scrollToBottom;
|
|
128
|
+
getDirection(): "rtl" | "ltr";
|
|
129
|
+
get helpScreenDataList(): any;
|
|
130
|
+
navigateToUrl(url: string): void;
|
|
131
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HelpCenterWidgetComponent, never>;
|
|
132
|
+
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; }; "primaryColor": { "alias": "primaryColor"; "required": false; }; "logoUrl": { "alias": "logoUrl"; "required": false; }; }, {}, never, never, true, never>;
|
|
133
|
+
}
|
|
134
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { OnInit, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
interface Tenant {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
key: string;
|
|
7
|
+
}
|
|
8
|
+
interface Assistant {
|
|
9
|
+
id: string;
|
|
10
|
+
tenantId: string;
|
|
11
|
+
tenant: Tenant;
|
|
12
|
+
name: string;
|
|
13
|
+
openAIAssistantId: string;
|
|
14
|
+
greeting: string;
|
|
15
|
+
closing: string;
|
|
16
|
+
}
|
|
17
|
+
interface HelpScreenOption {
|
|
18
|
+
id: string;
|
|
19
|
+
helpScreenId: string;
|
|
20
|
+
parentOptionId: string | null;
|
|
21
|
+
parentOption: HelpScreenOption | null;
|
|
22
|
+
nestedOptions: HelpScreenOption[];
|
|
23
|
+
assistantId: string;
|
|
24
|
+
assistant: Assistant;
|
|
25
|
+
title: string;
|
|
26
|
+
paragraphs: string[];
|
|
27
|
+
files: any[];
|
|
28
|
+
chatWithUs: boolean;
|
|
29
|
+
hasNestedOptions: boolean;
|
|
30
|
+
order: number;
|
|
31
|
+
}
|
|
32
|
+
interface HelpScreenData {
|
|
33
|
+
id: string;
|
|
34
|
+
tenantId: string;
|
|
35
|
+
tenant: Tenant;
|
|
36
|
+
title: string;
|
|
37
|
+
description: string;
|
|
38
|
+
options: HelpScreenOption[];
|
|
39
|
+
chatWithUs: boolean;
|
|
40
|
+
}
|
|
41
|
+
export declare class HelpScreenDataComponent implements OnInit {
|
|
42
|
+
helpScreenData: HelpScreenData | null;
|
|
43
|
+
title: string;
|
|
44
|
+
handleStartNewChat: EventEmitter<HelpScreenOption>;
|
|
45
|
+
expandedItemId: string | null;
|
|
46
|
+
get helpScreenDataList(): {
|
|
47
|
+
icon: any;
|
|
48
|
+
title: any;
|
|
49
|
+
description: any;
|
|
50
|
+
actionLabel: string;
|
|
51
|
+
action: () => void;
|
|
52
|
+
}[];
|
|
53
|
+
ngOnInit(): void;
|
|
54
|
+
toggleExpand(itemId: string): void;
|
|
55
|
+
handleStartChat(option: HelpScreenOption): void;
|
|
56
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HelpScreenDataComponent, never>;
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HelpScreenDataComponent, "app-help-screen-data", never, { "helpScreenData": { "alias": "helpScreenData"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, { "handleStartNewChat": "handleStartNewChat"; }, never, never, true, never>;
|
|
58
|
+
}
|
|
59
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TranslationService } from './services/translation.service';
|
|
2
|
+
import { Language } from './types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class LanguageService {
|
|
5
|
+
private translationService;
|
|
6
|
+
constructor(translationService: TranslationService);
|
|
7
|
+
switchLanguage(language: Language): void;
|
|
8
|
+
getCurrentLang(): Language;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LanguageService, never>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<LanguageService>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { TranslationKey } from '../services/translation.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class TranslatePipe implements PipeTransform {
|
|
5
|
+
private translationService;
|
|
6
|
+
transform(key: TranslationKey): string;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TranslatePipe, never>;
|
|
8
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<TranslatePipe, "translate", true>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class ClientAblyService {
|
|
2
|
+
private static client;
|
|
3
|
+
private static channel;
|
|
4
|
+
private static isConnected;
|
|
5
|
+
private static sessionId;
|
|
6
|
+
private static messageUnsubscribe;
|
|
7
|
+
static startConnection(sessionId: string, ablyToken: string, onMessageReceived: Function, tenantId: string): Promise<void>;
|
|
8
|
+
private static joinChannel;
|
|
9
|
+
static stopConnection(): Promise<void>;
|
|
10
|
+
static isConnectionActive(): boolean;
|
|
11
|
+
static getConnectionState(): string;
|
|
12
|
+
static sendMessage(messageContent: string, senderType?: number): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ApiConfig } from '../../../public_api';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ApiService {
|
|
4
|
+
private getTokenFunction;
|
|
5
|
+
private baseUrl;
|
|
6
|
+
/**
|
|
7
|
+
* Initialize the API service with optional configuration
|
|
8
|
+
* @param config Configuration object containing token function and optional base URL
|
|
9
|
+
*/
|
|
10
|
+
initialize(config: ApiConfig): void;
|
|
11
|
+
getValidToken(forceRefresh?: boolean): Promise<string>;
|
|
12
|
+
private fetchWithAuth;
|
|
13
|
+
apiRequest(endpoint: string, method?: string, body?: any, customHeaders?: Record<string, string>): Promise<Response>;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ApiService, never>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ApiService>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { HttpEvent } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { PresignUploadResponse, PresignDownloadResponse, UploadResult } from '../types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class FileUploadService {
|
|
6
|
+
private readonly http;
|
|
7
|
+
private readonly apiService;
|
|
8
|
+
private readonly languageService;
|
|
9
|
+
/**
|
|
10
|
+
* Get presigned upload URL from the API
|
|
11
|
+
*/
|
|
12
|
+
presignUpload(chatSessionId: string, file: File): Observable<PresignUploadResponse>;
|
|
13
|
+
/**
|
|
14
|
+
* Upload file to S3 using presigned URL
|
|
15
|
+
* Returns Observable with progress events
|
|
16
|
+
*/
|
|
17
|
+
uploadToS3(uploadUrl: string, file: File): Observable<HttpEvent<any>>;
|
|
18
|
+
/**
|
|
19
|
+
* Get presigned download URL for a file
|
|
20
|
+
*/
|
|
21
|
+
presignDownload(fileId: string): Observable<PresignDownloadResponse>;
|
|
22
|
+
/**
|
|
23
|
+
* Upload multiple files in parallel
|
|
24
|
+
* Returns array of upload results
|
|
25
|
+
*/
|
|
26
|
+
uploadFiles(chatSessionId: string, files: File[]): Observable<UploadResult[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Upload a single file
|
|
29
|
+
*/
|
|
30
|
+
private uploadSingleFile;
|
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FileUploadService, never>;
|
|
32
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FileUploadService>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export type GetTokenFn = () => Promise<string>;
|
|
3
|
+
export declare class HelpCenterConfigService {
|
|
4
|
+
private _apiBaseUrl;
|
|
5
|
+
private _getTokenFn?;
|
|
6
|
+
setApiBaseUrl(url: string): void;
|
|
7
|
+
getApiBaseUrl(): string;
|
|
8
|
+
setGetTokenFn(fn: GetTokenFn): void;
|
|
9
|
+
getTokenFn(): GetTokenFn | undefined;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HelpCenterConfigService, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<HelpCenterConfigService>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ThemeService {
|
|
3
|
+
private primaryColor;
|
|
4
|
+
private logoUrl;
|
|
5
|
+
private isDarkMode;
|
|
6
|
+
constructor();
|
|
7
|
+
/**
|
|
8
|
+
* Initialize dark mode detection based on browser preferences
|
|
9
|
+
*/
|
|
10
|
+
private initializeDarkModeDetection;
|
|
11
|
+
/**
|
|
12
|
+
* Update dark mode state based on current browser preference
|
|
13
|
+
*/
|
|
14
|
+
private updateDarkModeState;
|
|
15
|
+
/**
|
|
16
|
+
* Get current dark mode state
|
|
17
|
+
*/
|
|
18
|
+
getDarkModeState(): import("@angular/core").Signal<boolean>;
|
|
19
|
+
/**
|
|
20
|
+
* Check if dark mode is currently active
|
|
21
|
+
*/
|
|
22
|
+
isDarkModeActive(): boolean;
|
|
23
|
+
setPrimaryColor(color: string): void;
|
|
24
|
+
setLogoUrl(url: string): void;
|
|
25
|
+
getPrimaryColor(): string;
|
|
26
|
+
getLogoUrl(): string;
|
|
27
|
+
private updateCSSVariables;
|
|
28
|
+
private generateColorVariations;
|
|
29
|
+
/**
|
|
30
|
+
* Lighten a color by a percentage
|
|
31
|
+
*/
|
|
32
|
+
private lightenColor;
|
|
33
|
+
/**
|
|
34
|
+
* Darken a color by a percentage
|
|
35
|
+
*/
|
|
36
|
+
private darkenColor;
|
|
37
|
+
initializeTheme(primaryColor: string, logoUrl: string): void;
|
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService, never>;
|
|
39
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ThemeService>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HelpCenterConfigService } from './help-center-config.service';
|
|
2
|
+
import { TokenResponse } from '../types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class TokenService {
|
|
5
|
+
private config;
|
|
6
|
+
constructor(config: HelpCenterConfigService);
|
|
7
|
+
getToken(): Promise<TokenResponse>;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TokenService, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TokenService>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { Language } from '../types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export type TranslationKey = 'ChatIntroMessage' | 'BabylaiTitle' | 'BabylaiDescription' | 'ChatNow' | 'TryBableAI' | 'ContactUs' | 'PickTopicTitle' | 'BabylAI' | 'ChatPlaceholder' | 'PoweredByBabylAI' | 'EndChat' | 'LeavingDialogTitle' | 'LeavingDialogBody' | 'StartNewChatDialogTitle' | 'StartNewChatDialogBody' | 'ReviewDialogTitle' | 'ReviewDialogDescription' | 'ReviewDialogRatingLabel' | 'ReviewDialogCommentLabel' | 'ReviewDialogCommentPlaceholder' | 'ReviewDialogSubmitButton' | 'ReviewDialogSkipButton' | 'Confirm' | 'Cancel' | 'title';
|
|
5
|
+
export declare class TranslationService {
|
|
6
|
+
private translations;
|
|
7
|
+
private _currentLang;
|
|
8
|
+
readonly currentLang: Observable<Language>;
|
|
9
|
+
constructor();
|
|
10
|
+
translate(key: TranslationKey): string;
|
|
11
|
+
setLanguage(lang: Language): void;
|
|
12
|
+
getCurrentLang(): Language;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TranslationService, never>;
|
|
14
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TranslationService>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class BackButtonComponent {
|
|
4
|
+
language: string;
|
|
5
|
+
size: 'default' | 'small' | 'medium';
|
|
6
|
+
onBack: EventEmitter<void>;
|
|
7
|
+
get isRtl(): boolean;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BackButtonComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BackButtonComponent, "app-back-button", never, { "language": { "alias": "language"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "onBack": "onBack"; }, never, never, true, never>;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './back-button.component';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
type ButtonVariant = 'default' | 'icon-bg' | 'icon-only' | 'outline';
|
|
4
|
+
type ButtonType = 'button' | 'submit' | 'reset';
|
|
5
|
+
export declare class ButtonComponent {
|
|
6
|
+
variant: ButtonVariant;
|
|
7
|
+
type: ButtonType;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
fullWidth: boolean;
|
|
10
|
+
className: string;
|
|
11
|
+
size: 'default' | 'small' | 'medium';
|
|
12
|
+
direction: 'ltr' | 'rtl';
|
|
13
|
+
onClick: EventEmitter<MouseEvent>;
|
|
14
|
+
getButtonClasses(): string;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "app-button", never, { "variant": { "alias": "variant"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "className": { "alias": "className"; "required": false; }; "size": { "alias": "size"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; }, { "onClick": "onClick"; }, never, ["*"], true, never>;
|
|
17
|
+
}
|
|
18
|
+
export declare class ButtonContentComponent {
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonContentComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonContentComponent, "app-button-content", never, {}, {}, never, ["*"], true, never>;
|
|
21
|
+
}
|
|
22
|
+
export declare class IconButtonComponent {
|
|
23
|
+
className: string;
|
|
24
|
+
disabled: boolean;
|
|
25
|
+
onClick: EventEmitter<MouseEvent>;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IconButtonComponent, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IconButtonComponent, "app-icon-button", never, { "className": { "alias": "className"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onClick": "onClick"; }, never, ["*"], true, never>;
|
|
28
|
+
}
|
|
29
|
+
export declare class TransparentIconButtonComponent {
|
|
30
|
+
className: string;
|
|
31
|
+
disabled: boolean;
|
|
32
|
+
onClick: EventEmitter<MouseEvent>;
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TransparentIconButtonComponent, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TransparentIconButtonComponent, "app-transparent-icon-button", never, { "className": { "alias": "className"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onClick": "onClick"; }, never, ["*"], true, never>;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './button.component';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class CardComponent {
|
|
3
|
+
variant: 'default' | 'rounded' | 'shadowed';
|
|
4
|
+
class: string;
|
|
5
|
+
get hostClasses(): string;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CardComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "app-card", never, { "variant": { "alias": "variant"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
8
|
+
}
|
|
9
|
+
export declare class CardHeaderComponent {
|
|
10
|
+
class: string;
|
|
11
|
+
get hostClasses(): string;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CardHeaderComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardHeaderComponent, "app-card-header", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
14
|
+
}
|
|
15
|
+
export declare class CardTitleComponent {
|
|
16
|
+
class: string;
|
|
17
|
+
get hostClasses(): string;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CardTitleComponent, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardTitleComponent, "app-card-title", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
20
|
+
}
|
|
21
|
+
export declare class CardDescriptionComponent {
|
|
22
|
+
class: string;
|
|
23
|
+
get hostClasses(): string;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CardDescriptionComponent, never>;
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardDescriptionComponent, "app-card-description", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
26
|
+
}
|
|
27
|
+
export declare class CardContentComponent {
|
|
28
|
+
class: string;
|
|
29
|
+
get hostClasses(): string;
|
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CardContentComponent, never>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardContentComponent, "app-card-content", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
32
|
+
}
|
|
33
|
+
export declare class CardFooterComponent {
|
|
34
|
+
class: string;
|
|
35
|
+
get hostClasses(): string;
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CardFooterComponent, never>;
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardFooterComponent, "app-card-footer", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './card.component';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ChatHeaderComponent {
|
|
4
|
+
showBackButton: boolean;
|
|
5
|
+
showLogo: boolean;
|
|
6
|
+
language: string;
|
|
7
|
+
onBack: EventEmitter<void>;
|
|
8
|
+
onClose: EventEmitter<void>;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChatHeaderComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChatHeaderComponent, "app-chat-header", never, { "showBackButton": { "alias": "showBackButton"; "required": false; }; "showLogo": { "alias": "showLogo"; "required": false; }; "language": { "alias": "language"; "required": false; }; }, { "onBack": "onBack"; "onClose": "onClose"; }, never, never, true, never>;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './chat-header.component';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class CloseButtonComponent {
|
|
4
|
+
language: string;
|
|
5
|
+
onClose: EventEmitter<void>;
|
|
6
|
+
get isRtl(): boolean;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CloseButtonComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CloseButtonComponent, "app-close-button", never, { "language": { "alias": "language"; "required": false; }; }, { "onClose": "onClose"; }, never, never, true, never>;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './close-button.component';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ConfirmationDialogComponent {
|
|
4
|
+
title: string;
|
|
5
|
+
body: string;
|
|
6
|
+
confirmText: string;
|
|
7
|
+
cancelText: string;
|
|
8
|
+
onConfirm: EventEmitter<void>;
|
|
9
|
+
onCancel: EventEmitter<void>;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationDialogComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmationDialogComponent, "app-confirmation-dialog", never, { "title": { "alias": "title"; "required": false; }; "body": { "alias": "body"; "required": false; }; "confirmText": { "alias": "confirmText"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; }, { "onConfirm": "onConfirm"; "onCancel": "onCancel"; }, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './confirmation-dialog.component';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
type HeaderType = 'standard' | 'minimal';
|
|
4
|
+
export declare class HeaderComponent {
|
|
5
|
+
headerType: HeaderType;
|
|
6
|
+
showBackButton: boolean;
|
|
7
|
+
showLogo: boolean;
|
|
8
|
+
language: string;
|
|
9
|
+
showCloseButton: boolean;
|
|
10
|
+
onBack: EventEmitter<void>;
|
|
11
|
+
onClose: EventEmitter<void>;
|
|
12
|
+
get isRtl(): boolean;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HeaderComponent, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "app-header", never, { "headerType": { "alias": "headerType"; "required": false; }; "showBackButton": { "alias": "showBackButton"; "required": false; }; "showLogo": { "alias": "showLogo"; "required": false; }; "language": { "alias": "language"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; }, { "onBack": "onBack"; "onClose": "onClose"; }, never, never, true, never>;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './header.component';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './header';
|
|
2
|
+
export * from './chat-header';
|
|
3
|
+
export * from './back-button';
|
|
4
|
+
export * from './close-button';
|
|
5
|
+
export * from './simple-close-button';
|
|
6
|
+
export * from './logo';
|
|
7
|
+
export * from './menu-dropdown';
|
|
8
|
+
export * from './button';
|
|
9
|
+
export * from './card';
|
|
10
|
+
export * from './confirmation-dialog';
|
|
11
|
+
export * from './loading';
|
|
12
|
+
export * from './markdown-renderer';
|
|
13
|
+
export * from './review-dialog';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './loading.component';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class LoadingComponent {
|
|
3
|
+
variant: 'default' | 'primary';
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoadingComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoadingComponent, "app-loading", never, { "variant": { "alias": "variant"; "required": false; }; }, {}, never, never, true, never>;
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './logo.component';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class LogoComponent {
|
|
3
|
+
showLogo: boolean;
|
|
4
|
+
size: 'default' | 'small';
|
|
5
|
+
private themeService;
|
|
6
|
+
get effectiveLogoUrl(): string | undefined;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LogoComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LogoComponent, "app-logo", never, { "showLogo": { "alias": "showLogo"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './markdown-renderer.component';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OnInit, ElementRef, AfterViewInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class MarkdownRendererComponent implements OnInit, AfterViewInit {
|
|
4
|
+
content: string;
|
|
5
|
+
inline: boolean;
|
|
6
|
+
cssClass: string;
|
|
7
|
+
dir: string;
|
|
8
|
+
markdownContainer: ElementRef;
|
|
9
|
+
renderedContent: string;
|
|
10
|
+
ngOnInit(): void;
|
|
11
|
+
ngAfterViewInit(): void;
|
|
12
|
+
private renderContent;
|
|
13
|
+
private highlightCode;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownRendererComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MarkdownRendererComponent, "app-markdown-renderer", never, { "content": { "alias": "content"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "cssClass": { "alias": "cssClass"; "required": false; }; "dir": { "alias": "dir"; "required": false; }; }, {}, never, never, true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './menu-dropdown.component';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class MenuDropdownComponent {
|
|
4
|
+
isMenuOpen: boolean;
|
|
5
|
+
language: string;
|
|
6
|
+
onClose: EventEmitter<void>;
|
|
7
|
+
get isRtl(): boolean;
|
|
8
|
+
onDocumentClick(event: MouseEvent): void;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MenuDropdownComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MenuDropdownComponent, "app-menu-dropdown", never, { "language": { "alias": "language"; "required": false; }; }, { "onClose": "onClose"; }, never, never, true, never>;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ReviewDialogComponent } from './review-dialog.component';
|