@telia-ace/ace-chat-flamingo 1.1.123-rc.9 → 1.1.124-rc.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/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@telia-ace/ace-chat-flamingo",
3
- "version": "1.1.123-rc.9",
3
+ "version": "1.1.124-rc.0",
4
4
  "dependencies": {
5
- "@telia-ace/widget-core-flamingo": "1.1.123-rc.9",
6
- "@telia-ace/widget-conversation-flamingo": "1.1.123-rc.9",
5
+ "@telia-ace/widget-core-flamingo": "1.1.123",
6
+ "@telia-ace/widget-conversation-flamingo": "1.1.123",
7
7
  "rxjs": "^7.8.2",
8
8
  "lit": "^3.0.2",
9
9
  "@teliads/icons": "^8.4.0",
package/provider.d.ts CHANGED
@@ -1,39 +1,42 @@
1
- import { ConversationProvider } from '../../conversation/src/index.ts';
1
+ import { ConversationEntry, ConversationProvider } from '../../conversation/src/index.ts';
2
+ import { Auth, StorageService, TextsService } from '../../core/src/index.ts';
3
+ import { AuthCardState } from './types';
2
4
  export declare class ChatProvider extends ConversationProvider {
3
- private readonly properties;
4
- private readonly pendingMessages;
5
- private readonly texts;
6
- private readonly headerComponent;
7
- private readonly isThirdPartyParticipant;
5
+ private headerMenuService;
6
+ private videoService;
7
+ private dialogService;
8
+ private authService;
9
+ readonly storageService: StorageService;
10
+ readonly textsService: TextsService;
11
+ readonly auth: Auth;
12
+ readonly isThirdPartyWidget: boolean;
13
+ readonly headerComponent: any;
14
+ private readonly application;
15
+ private readonly survey;
16
+ private readonly live;
8
17
  private readonly agent;
9
18
  private readonly user;
10
19
  private readonly params;
11
20
  private readonly invitationUid;
12
21
  private readonly customerName;
13
- private readonly idHubUrl;
14
- private readonly shouldUseAuth;
15
- private readonly idHubEidType;
16
- private logoutTimer;
22
+ private readonly pendingMessages;
17
23
  private readonly disconnected$;
18
24
  private engine?;
19
- private idHubClient?;
20
25
  private agentUsername;
21
- private videoConfirmDialogEntry;
22
- private quitConfirmDialogEntry;
23
- private logoutConfirmDialogEntry;
24
- private authenticationCardEntry;
25
- private conversationOption;
26
- private _conversationOptions;
27
26
  private sessionId;
28
27
  private contactId;
29
28
  private errand;
30
29
  private entrance;
31
- private videoIFrameElement;
32
- private guestId;
33
- private chatOverlayActive;
34
- private inVideoCall;
35
- private authURL?;
30
+ private conversationOptions;
31
+ private _conversationOption;
32
+ get conversationOption(): any;
33
+ set conversationOption(val: any);
34
+ get inVideoCall(): boolean;
35
+ updateHeaderOption(): void;
36
+ showTunnistusAuthCard(state: AuthCardState, tunnistusURL?: string, errorMessage?: string, isAuthenticating?: boolean): ConversationEntry;
37
+ getChatStatus(): Promise<"finished" | "noSession" | "active" | undefined>;
36
38
  constructor(name: string, component: any);
39
+ private initializeServices;
37
40
  connect(conversationOptions?: Record<string, any>): void;
38
41
  disconnected(): void;
39
42
  onUserSubmit(action: {
@@ -42,20 +45,21 @@ export declare class ChatProvider extends ConversationProvider {
42
45
  save(data: any): void;
43
46
  rehydrate(data: Record<string, any>): Promise<void>;
44
47
  static getInstance(key: string, component: any): ChatProvider;
48
+ private createEngineConfig;
45
49
  private initializeChat;
46
50
  setupAuthenticationListeners(): void;
47
- private setupIDHubAuth;
48
- private startAuthenticationFlow;
49
- private handleWelcomeForm;
51
+ handleWelcomeForm(idhubEIDToken?: string): Promise<void>;
50
52
  private startChat;
51
- private restartNewChat;
53
+ restartNewChat(): void;
54
+ private handleChatEngineError;
55
+ private resetChatState;
52
56
  private setQueueStatus;
53
- private endConversation;
57
+ endConversation(): Promise<void>;
54
58
  private sendConversationEmail;
55
59
  private clearPendingMessages;
56
- private setSessionId;
60
+ setSessionId(id: string | null): void;
57
61
  private isEntranceOpen;
58
- private resetAuthState;
62
+ private unescapeHtml;
59
63
  private readonly onQueueStatusReceived;
60
64
  private readonly onEstablished;
61
65
  private readonly onPrepareVideo;
@@ -64,25 +68,8 @@ export declare class ChatProvider extends ConversationProvider {
64
68
  private readonly onEndVideoButtonClicked;
65
69
  private readonly onPenStatusChange;
66
70
  private readonly onChatEnded;
67
- private handleAuthentication;
68
71
  private printAgent;
69
72
  private printUser;
70
- private printSystem;
71
- private showSurvey;
72
- private showTunnistusAuthCard;
73
- private showWelcomeForm;
74
- private showEntranceClosedDialog;
75
- private showQuitConfirmDialog;
76
- private showConversationEndedForm;
77
- private showVideoConfirmDialog;
78
- private showVideoIFrame;
79
- private showChatOverVideo;
80
- private logoutUser;
81
- private showLogoutConfirmDialog;
82
- private removeVideo;
83
- private addHeaderOptions;
84
- private removeHeaderOptions;
85
- private setStartNewChatOption;
86
- private setEndConversationOption;
87
- private setHeaderOption;
73
+ printSystem(text: string): ConversationEntry;
74
+ showQuitConfirmDialog(): void;
88
75
  }
@@ -0,0 +1,19 @@
1
+ import { ConversationEntry } from '../../../conversation/src/index.ts';
2
+ import { AuthState } from '../../../core/src/index.ts';
3
+ import { AuthResponse } from '../../../widget-id-hub/src/index.ts';
4
+ import { ChatProvider } from '../provider';
5
+ export declare class AuthService {
6
+ private provider;
7
+ private _idHubClient?;
8
+ private _authResult?;
9
+ private _authenticationCardEntry;
10
+ constructor(provider: ChatProvider);
11
+ get authResult(): AuthResponse | undefined;
12
+ get authenticationCardEntry(): ConversationEntry | undefined;
13
+ setupIDHubAuth(): void;
14
+ startAuthenticationFlow(isRetry?: boolean): Promise<void>;
15
+ handleAuthentication(): Promise<void>;
16
+ endAuthenticatedSession(): Promise<void>;
17
+ resetAuthState(authState: AuthState.NonAuthenticated | AuthState.ChatEnded): void;
18
+ private getAuthResult;
19
+ }
@@ -0,0 +1,25 @@
1
+ import { ConversationEntry } from '../../../conversation/src/index.ts';
2
+ import { AuthCardState } from '../types';
3
+ import { ChatProvider } from '../provider';
4
+ export declare class DialogService {
5
+ private provider;
6
+ private _videoConfirmDialogEntry;
7
+ private _quitConfirmDialogEntry;
8
+ constructor(provider: ChatProvider);
9
+ get videoConfirmDialogEntry(): ConversationEntry | undefined;
10
+ get quitConfirmDialogEntry(): ConversationEntry | undefined;
11
+ removeVideoConfirmDialog(): void;
12
+ showSurvey(agentUsername: string, entrance: string, errand: string, contactId: string): void;
13
+ showTunnistusAuthCard(state: AuthCardState, tunnistusURL?: string, errorMessage?: string, isAuthenticating?: boolean): ConversationEntry;
14
+ showWelcomeForm(idhubEIDToken: string | undefined, onSubmit: (data: {
15
+ customerName: string;
16
+ customerEmailAddress?: string;
17
+ visitorQuestion?: string;
18
+ customData: Record<string, any>;
19
+ idhubEIDToken?: string;
20
+ }) => void): void;
21
+ showEntranceClosedDialog(): void;
22
+ showQuitConfirmDialog(onQuit: () => void): void;
23
+ showConversationEndedForm(onEmailSubmit: (email: string) => void): void;
24
+ showVideoConfirmDialog(onResult: (result: string, text: string) => void): void;
25
+ }
@@ -0,0 +1,25 @@
1
+ import { ConversationEntry } from '../../../conversation/src/index.ts';
2
+ import { AuthCardState } from '../types';
3
+ import { ChatProvider } from '../provider';
4
+ export declare class DialogService {
5
+ private provider;
6
+ private _videoConfirmDialogEntry;
7
+ private _quitConfirmDialogEntry;
8
+ constructor(provider: ChatProvider);
9
+ get videoConfirmDialogEntry(): ConversationEntry | undefined;
10
+ get quitConfirmDialogEntry(): ConversationEntry | undefined;
11
+ removeVideoConfirmDialog(): void;
12
+ showSurvey(agentUsername: string, entrance: string, errand: string, contactId: string): void;
13
+ showTunnistusAuthCard(state: AuthCardState, tunnistusURL?: string, errorMessage?: string, isAuthenticating?: boolean): ConversationEntry;
14
+ showWelcomeForm(idhubEIDToken: string | undefined, onSubmit: (data: {
15
+ customerName: string;
16
+ customerEmailAddress?: string;
17
+ visitorQuestion?: string;
18
+ customData: Record<string, any>;
19
+ idhubEIDToken?: string;
20
+ }) => void): void;
21
+ showEntranceClosedDialog(): void;
22
+ showQuitConfirmDialog(onQuit: () => void): void;
23
+ showConversationEndedForm(onEmailSubmit: (email: string) => void): void;
24
+ showVideoConfirmDialog(onResult: (result: string, text: string) => void): void;
25
+ }
@@ -0,0 +1,10 @@
1
+ import { ChatProvider } from '../provider';
2
+ export declare class HeaderMenuService {
3
+ private provider;
4
+ constructor(provider: ChatProvider);
5
+ private addOption;
6
+ removeOptions(): void;
7
+ setStartNewChatOption(): void;
8
+ setEndConversationOption(): void;
9
+ setHeaderOption(): Promise<void>;
10
+ }
@@ -0,0 +1,17 @@
1
+ import { ChatProvider } from '../provider';
2
+ export declare class VideoService {
3
+ private provider;
4
+ private _videoIFrameElement;
5
+ private _guestId;
6
+ private _chatOverlayActive;
7
+ private _inVideoCall;
8
+ constructor(provider: ChatProvider);
9
+ get videoIFrameElement(): HTMLElement | undefined;
10
+ get guestId(): string | null;
11
+ get chatOverlayActive(): boolean;
12
+ get inVideoCall(): boolean;
13
+ clearGuestId(): void;
14
+ showVideoIFrame(userUrl: string): void;
15
+ showChatOverVideo(guestId: string): void;
16
+ removeVideo(): void;
17
+ }
package/types.d.ts CHANGED
@@ -2,10 +2,14 @@ export type ChatReadItem = {
2
2
  objectId: number;
3
3
  objectType: string;
4
4
  };
5
+ export type EntranceInfo = {
6
+ result: string;
7
+ open: boolean;
8
+ };
5
9
  export type Info = {
6
10
  objectId: number;
7
11
  objectType: 'info';
8
- infoType: 'queue' | 'startup' | 'established' | 'error' | 'afterChat' | 'finished' | 'noSession' | 'prepareVideo' | 'videoPrepared';
12
+ infoType: 'queue' | 'startup' | 'established' | 'error' | 'afterChat' | 'finished' | 'noSession' | 'prepareVideo' | 'pendingJoin' | 'placedInQueue' | 'videoPrepared';
9
13
  text: string;
10
14
  eqt?: number;
11
15
  pos?: number;
@@ -116,6 +120,14 @@ export declare const isVideoPreparedAction: (action: EngineAction) => action is
116
120
  export declare const isChatButtonClickedAction: (action: EngineAction) => action is ChatButtonClickedAction;
117
121
  export declare const isEndVideoButtonClickedAction: (action: EngineAction) => action is EndVideoButtonClickedAction;
118
122
  export declare const isChatEndedAction: (action: EngineAction) => action is ChatEndedAction;
123
+ export type EngineErrorType = 'chat-request-error' | 'chat-join-error' | 'chat-engine-error' | 'chat-write-error' | 'chat-email-session-error' | 'chat-unknown-error' | 'chat-is-open-error';
124
+ export type EngineConfig = {
125
+ engineUrl: string;
126
+ instance: string;
127
+ entrance: string;
128
+ queueMessageInterval: number;
129
+ videoChatMode: string;
130
+ };
119
131
  export type AuthenticationInfo = {
120
132
  authenticated: boolean;
121
133
  name?: string;
@@ -124,13 +136,14 @@ export type AuthenticationInfo = {
124
136
  export declare enum AuthCardState {
125
137
  Initial = "initial",
126
138
  Error = "error",
127
- Retry = "retry"
139
+ Retry = "retry",
140
+ InitError = "init-error"
128
141
  }
129
- export type UserInfo = {
142
+ export type UserName = {
130
143
  name?: string;
131
144
  [key: string]: any;
132
145
  };
133
- export type AgentInfo = {
146
+ export type AgentName = {
134
147
  name?: string;
135
148
  [key: string]: any;
136
149
  };
@@ -0,0 +1,10 @@
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
+ export declare class AuthSessionEndConfirmDialog extends LitElement {
3
+ static styles: CSSResultGroup;
4
+ private application;
5
+ firstUpdated(): void;
6
+ private onEnd;
7
+ private onCancel;
8
+ private dispatchResult;
9
+ render(): TemplateResult;
10
+ }
@@ -0,0 +1,7 @@
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
+ export declare class ChatUnavailableCard extends LitElement {
3
+ static readonly styles: CSSResultGroup;
4
+ private readonly application;
5
+ onClose(): void;
6
+ render(): TemplateResult;
7
+ }
@@ -1,11 +1,11 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
2
  export declare class ContactDataField extends LitElement {
3
- static readonly styles: import('lit').CSSResult[];
3
+ static readonly styles: CSSResultGroup;
4
4
  private readonly entry;
5
5
  private readonly application;
6
6
  connectedCallback(): void;
7
7
  _valueChanged(value: any): void;
8
8
  autocompleteName(name: string): "off" | "email" | "given-name";
9
9
  private renderRequiredIndicator;
10
- render(): import('lit-html').TemplateResult<1>;
10
+ render(): TemplateResult;
11
11
  }
@@ -1,6 +1,6 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
2
  export declare class ConversationEndedForm extends LitElement {
3
- static readonly styles: import('lit').CSSResult[];
3
+ static readonly styles: CSSResultGroup;
4
4
  email: string;
5
5
  isEmailValid: boolean;
6
6
  private readonly emailController;
@@ -8,5 +8,5 @@ export declare class ConversationEndedForm extends LitElement {
8
8
  private _emailInputHandler;
9
9
  connectedCallback(): void;
10
10
  private readonly application;
11
- render(): import('lit-html').TemplateResult<1>;
11
+ render(): TemplateResult;
12
12
  }
@@ -1,7 +1,6 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
2
  export declare class EntranceClosedDialog extends LitElement {
3
- static readonly styles: import('lit').CSSResult[];
3
+ static readonly styles: CSSResultGroup;
4
4
  private readonly application;
5
- _onClose(): void;
6
- render(): import('lit-html').TemplateResult<1>;
5
+ render(): TemplateResult;
7
6
  }
@@ -1,10 +1,10 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
2
  export declare class QuitConfirmDialog extends LitElement {
3
- static readonly styles: import('lit').CSSResult[];
3
+ static readonly styles: CSSResultGroup;
4
4
  private readonly application;
5
5
  firstUpdated(): void;
6
6
  private onQuit;
7
7
  private onCancel;
8
8
  private dispatchResult;
9
- render(): import('lit-html').TemplateResult<1>;
9
+ render(): TemplateResult;
10
10
  }
package/ui/survey.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
2
  export declare class Survey extends LitElement {
3
- static readonly styles: import('lit').CSSResult[];
3
+ static readonly styles: CSSResultGroup;
4
4
  private surveyUrl;
5
5
  private surveyLinkText;
6
6
  private surveyText;
@@ -11,5 +11,5 @@ export declare class Survey extends LitElement {
11
11
  });
12
12
  connectedCallback(): void;
13
13
  private readonly application;
14
- render(): import('lit-html').TemplateResult<1>;
14
+ render(): TemplateResult;
15
15
  }
@@ -1,14 +1,16 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
2
  import { AuthCardState } from '../types';
3
3
  export declare class TunnistusAuthCard extends LitElement {
4
- static readonly styles: import('lit').CSSResult[];
4
+ static readonly styles: CSSResultGroup;
5
5
  private readonly tunnistusURL;
6
6
  private readonly state;
7
+ private readonly isAuthenticating;
7
8
  private readonly application;
8
9
  constructor(params?: {
9
10
  tunnistusURL?: string;
10
11
  state?: AuthCardState;
12
+ isAuthenticating?: boolean;
11
13
  });
12
- private _onStartAuth;
13
- render(): import('lit-html').TemplateResult<1>;
14
+ private onStartAuth;
15
+ render(): TemplateResult;
14
16
  }
@@ -1,9 +1,9 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
2
  export declare class VideoConfirmDialog extends LitElement {
3
- static readonly styles: import('lit').CSSResult[];
3
+ static readonly styles: CSSResultGroup;
4
4
  _onStartVideo(event: SubmitEvent): void;
5
5
  _onCancel(): void;
6
6
  dispatchResult(result: string, text: string): void;
7
7
  private readonly application;
8
- render(): import('lit-html').TemplateResult<1>;
8
+ render(): TemplateResult;
9
9
  }
@@ -1,6 +1,6 @@
1
- import { LitElement } from 'lit';
1
+ import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
2
2
  export declare class VideoIFrame extends LitElement {
3
- static readonly styles: import('lit').CSSResult[];
3
+ static readonly styles: CSSResultGroup;
4
4
  private primaryColor;
5
5
  private secondaryColor;
6
6
  private tertiaryColor;
@@ -11,5 +11,5 @@ export declare class VideoIFrame extends LitElement {
11
11
  constructor(userBaseUrl: string, guestId: string);
12
12
  connectedCallback(): void;
13
13
  private getSpacingMd;
14
- render(): import('lit-html').TemplateResult<1>;
14
+ render(): TemplateResult;
15
15
  }
@@ -1,10 +1,10 @@
1
- import { LitElement, nothing } from 'lit';
1
+ import { LitElement, nothing, CSSResultGroup, TemplateResult } from 'lit';
2
2
  export declare class StartChatForm extends LitElement {
3
- static readonly styles: import('lit').CSSResult[];
3
+ static readonly styles: CSSResultGroup;
4
4
  submitted: boolean;
5
5
  name: string;
6
6
  _onStartChat(event: SubmitEvent): void;
7
7
  _nameInputHandler(e: any): void;
8
8
  private readonly application;
9
- render(): typeof nothing | import('lit-html').TemplateResult<1>;
9
+ render(): TemplateResult | typeof nothing;
10
10
  }
@@ -1,7 +1,7 @@
1
- import { LitElement, nothing } from 'lit';
1
+ import { LitElement, nothing, CSSResultGroup, TemplateResult } from 'lit';
2
2
  import { CustomDataEntry } from '../types';
3
3
  export declare class StartChatForm extends LitElement {
4
- static readonly styles: import('lit').CSSResult[];
4
+ static readonly styles: CSSResultGroup;
5
5
  submitted: boolean;
6
6
  customData: CustomDataEntry[];
7
7
  customerName: string;
@@ -14,5 +14,5 @@ export declare class StartChatForm extends LitElement {
14
14
  _onStartChat(event: SubmitEvent): void;
15
15
  _customDataValueChanged(value: any, entry: CustomDataEntry): void;
16
16
  validateCustomDataEntry(entry: CustomDataEntry): void;
17
- render(): typeof nothing | import('lit-html').TemplateResult<1>;
17
+ render(): TemplateResult | typeof nothing;
18
18
  }
@@ -1,10 +0,0 @@
1
- import { LitElement } from 'lit';
2
- export declare class LogoutConfirmDialog extends LitElement {
3
- static styles: import('lit').CSSResult[];
4
- private application;
5
- firstUpdated(): void;
6
- private onQuit;
7
- private onCancel;
8
- private dispatchResult;
9
- render(): import('lit-html').TemplateResult<1>;
10
- }