@corvesta/chat-widget 21.0.0 → 21.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.
@@ -55,10 +55,10 @@ class TalkdeskChatComponent {
55
55
  };
56
56
  })(window, document, 'tdWebchat', { touchpointId: this.chatClientId, accountId: '', region: this.chatClientRegion }, { ...this.chatBranding });
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.7", ngImport: i0, type: TalkdeskChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.7", type: TalkdeskChatComponent, isStandalone: false, selector: "lib-talkdesk-chat", inputs: { chatClientId: "chatClientId", chatClientRegion: "chatClientRegion", chatBranding: "chatBranding" }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: TalkdeskChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: TalkdeskChatComponent, isStandalone: false, selector: "lib-talkdesk-chat", inputs: { chatClientId: "chatClientId", chatClientRegion: "chatClientRegion", chatBranding: "chatBranding" }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.7", ngImport: i0, type: TalkdeskChatComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: TalkdeskChatComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: 'lib-talkdesk-chat', template: '', standalone: false }]
64
64
  }], ctorParameters: () => [], propDecorators: { chatClientId: [{
@@ -73,8 +73,8 @@ class ChatWidgetComponent {
73
73
  constructor() {
74
74
  this.ChatWidgetType = ChatWidgetType;
75
75
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.7", ngImport: i0, type: ChatWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.7", type: ChatWidgetComponent, isStandalone: false, selector: "lib-chat-widget", inputs: { chatType: "chatType", chatConfig: "chatConfig" }, ngImport: i0, template: `
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ChatWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: ChatWidgetComponent, isStandalone: false, selector: "lib-chat-widget", inputs: { chatType: "chatType", chatConfig: "chatConfig" }, ngImport: i0, template: `
78
78
  @switch (chatType) {
79
79
  @case (ChatWidgetType.TALKDESK) {
80
80
  <lib-talkdesk-chat
@@ -87,7 +87,7 @@ class ChatWidgetComponent {
87
87
  }
88
88
  `, isInline: true, dependencies: [{ kind: "component", type: TalkdeskChatComponent, selector: "lib-talkdesk-chat", inputs: ["chatClientId", "chatClientRegion", "chatBranding"] }] }); }
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.7", ngImport: i0, type: ChatWidgetComponent, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ChatWidgetComponent, decorators: [{
91
91
  type: Component,
92
92
  args: [{ selector: 'lib-chat-widget', template: `
93
93
  @switch (chatType) {
@@ -108,12 +108,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.7", ngImpor
108
108
  }] } });
109
109
 
110
110
  class ChatWidgetModule {
111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.7", ngImport: i0, type: ChatWidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
112
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.7", ngImport: i0, type: ChatWidgetModule, declarations: [ChatWidgetComponent,
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ChatWidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
112
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.4", ngImport: i0, type: ChatWidgetModule, declarations: [ChatWidgetComponent,
113
113
  TalkdeskChatComponent], exports: [ChatWidgetComponent] }); }
114
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.7", ngImport: i0, type: ChatWidgetModule }); }
114
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ChatWidgetModule }); }
115
115
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.7", ngImport: i0, type: ChatWidgetModule, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ChatWidgetModule, decorators: [{
117
117
  type: NgModule,
118
118
  args: [{
119
119
  declarations: [
@@ -187,10 +187,10 @@ class GenesysScriptComponent {
187
187
  // Append the new script
188
188
  document.head.appendChild(this.scriptElement);
189
189
  }
190
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.7", ngImport: i0, type: GenesysScriptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
191
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.7", type: GenesysScriptComponent, isStandalone: true, selector: "lib-genesys-script", inputs: { deploymentId: "deploymentId", environment: "environment", genesysScriptUrl: "genesysScriptUrl" }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
190
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: GenesysScriptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
191
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: GenesysScriptComponent, isStandalone: true, selector: "lib-genesys-script", inputs: { deploymentId: "deploymentId", environment: "environment", genesysScriptUrl: "genesysScriptUrl" }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
192
192
  }
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.7", ngImport: i0, type: GenesysScriptComponent, decorators: [{
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: GenesysScriptComponent, decorators: [{
194
194
  type: Component,
195
195
  args: [{ selector: 'lib-genesys-script', imports: [], template: '' }]
196
196
  }], propDecorators: { deploymentId: [{
@@ -204,8 +204,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.7", ngImpor
204
204
 
205
205
  class AuviousCobrowseComponent {
206
206
  constructor() {
207
- // The message displayed above the code input field.
208
- this.connectionMessage = '';
207
+ // The tooltip text displayed when hovering over the widget button.
208
+ this.tooltipText = '';
209
209
  // Configuration for the application ID, which determines which application the widget will accept connections from.
210
210
  this._applicationId = '';
211
211
  // Configuration for shifting the widget to the right when Talkdesk Chat is enabled.
@@ -256,7 +256,61 @@ class AuviousCobrowseComponent {
256
256
  }
257
257
  }
258
258
  adjustFloatingMargin() {
259
- document.documentElement.style.setProperty('--av-floating-margin-right', this._isTalkdeskChatEnabled ? '80px' : '20px');
259
+ if (this._isTalkdeskChatEnabled) {
260
+ document.documentElement.style.setProperty('--av-floating-margin-right', '80px');
261
+ this.observeTalkdeskWidget();
262
+ }
263
+ else {
264
+ this.resizeObserver?.disconnect();
265
+ this.mutationObserver?.disconnect();
266
+ if (this.updateTimeout) {
267
+ clearTimeout(this.updateTimeout);
268
+ }
269
+ document.documentElement.style.setProperty('--av-floating-margin-right', '20px');
270
+ }
271
+ }
272
+ /**
273
+ * Method to observe Talkdesk Chat widget and adjust the floating margin accordingly.
274
+ * @private
275
+ */
276
+ observeTalkdeskWidget() {
277
+ const element = document.getElementById('talkdesk-chat-widget');
278
+ if (element) {
279
+ this.setupTalkdeskObservers(element);
280
+ }
281
+ else {
282
+ const observer = new MutationObserver(() => {
283
+ const el = document.getElementById('talkdesk-chat-widget');
284
+ if (el) {
285
+ observer.disconnect();
286
+ this.setupTalkdeskObservers(el);
287
+ }
288
+ });
289
+ observer.observe(document.body, { childList: true, subtree: true });
290
+ }
291
+ }
292
+ setupTalkdeskObservers(element) {
293
+ const updateMargin = () => {
294
+ if (this.updateTimeout) {
295
+ clearTimeout(this.updateTimeout);
296
+ }
297
+ this.updateTimeout = globalThis.setTimeout(() => {
298
+ const width = element.offsetWidth;
299
+ const isVisible = globalThis.getComputedStyle(element).visibility !== 'hidden';
300
+ const margin = isVisible ? width + 40 : 80;
301
+ document.documentElement.style.setProperty('--av-floating-margin-right', `${margin}px`);
302
+ }, 50);
303
+ };
304
+ this.resizeObserver?.disconnect();
305
+ this.resizeObserver = new ResizeObserver(updateMargin);
306
+ this.resizeObserver.observe(element);
307
+ this.mutationObserver?.disconnect();
308
+ this.mutationObserver = new MutationObserver(updateMargin);
309
+ this.mutationObserver.observe(element, {
310
+ attributes: true,
311
+ attributeFilter: ['aria-hidden'],
312
+ });
313
+ updateMargin();
260
314
  }
261
315
  initializeCobrowse() {
262
316
  const defaultScript = document.createElement('script');
@@ -269,37 +323,50 @@ class AuviousCobrowseComponent {
269
323
  const widgetOptions = {
270
324
  'application-id': this._applicationId,
271
325
  'active-widgets': 'cobrowse',
272
- 'application-verify-source': true
326
+ 'application-verify-source': true,
327
+ 'wait-for-greeting-seconds': -1,
328
+ 'greeting-sound-on': false,
273
329
  };
274
330
  const showWidget = () => {
275
331
  // create our widget
276
332
  const widget = document.createElement('app-auvious-widget');
277
333
  // get all the widget options and pass it to our widget.
278
- for (const key of Object.keys(widgetOptions)) {
279
- // @ts-ignore
280
- const value = widgetOptions[key];
281
- widget.setAttribute(key, value);
334
+ for (const [key, value] of Object.entries(widgetOptions)) {
335
+ widget.setAttribute(key, String(value));
282
336
  }
283
- if (this.connectionMessage) {
284
- // @ts-ignore
337
+ if (this.connectionMessage !== undefined) {
338
+ // @ts-expect-error - setTranslations is a method on the Auvious custom element, but TypeScript only sees HTMLElement from document.createElement
285
339
  widget.setTranslations({ 'Please enter the 7-digit code provided by the agent.': this.connectionMessage }, 'en');
286
340
  }
287
341
  // add the newly created widget to the body.
288
342
  document.body.appendChild(widget);
343
+ // Set tooltip on the launcher button inside shadow DOM
344
+ if (this.tooltipText && widget.shadowRoot) {
345
+ const observer = new MutationObserver(() => {
346
+ const launcher = widget.shadowRoot?.querySelector('app-launcher');
347
+ if (launcher) {
348
+ launcher.setAttribute('title', this.tooltipText);
349
+ observer.disconnect();
350
+ }
351
+ });
352
+ observer.observe(widget.shadowRoot, { childList: true, subtree: true });
353
+ }
289
354
  };
290
- (async () => {
355
+ void (async () => {
291
356
  await customElements.whenDefined('app-auvious-widget');
292
357
  showWidget();
293
358
  })();
294
359
  }
295
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.7", ngImport: i0, type: AuviousCobrowseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
296
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.7", type: AuviousCobrowseComponent, isStandalone: true, selector: "lib-auvious-cobrowse", inputs: { connectionMessage: "connectionMessage", applicationId: "applicationId", isTalkdeskChatEnabled: "isTalkdeskChatEnabled", primaryColor: "primaryColor", accentColor: "accentColor" }, ngImport: i0, template: '', isInline: true }); }
360
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: AuviousCobrowseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
361
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: AuviousCobrowseComponent, isStandalone: true, selector: "lib-auvious-cobrowse", inputs: { connectionMessage: "connectionMessage", tooltipText: "tooltipText", applicationId: "applicationId", isTalkdeskChatEnabled: "isTalkdeskChatEnabled", primaryColor: "primaryColor", accentColor: "accentColor" }, ngImport: i0, template: '', isInline: true }); }
297
362
  }
298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.7", ngImport: i0, type: AuviousCobrowseComponent, decorators: [{
363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: AuviousCobrowseComponent, decorators: [{
299
364
  type: Component,
300
365
  args: [{ selector: 'lib-auvious-cobrowse', imports: [], template: '' }]
301
366
  }], propDecorators: { connectionMessage: [{
302
367
  type: Input
368
+ }], tooltipText: [{
369
+ type: Input
303
370
  }], applicationId: [{
304
371
  type: Input,
305
372
  args: [{ required: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"corvesta-chat-widget.mjs","sources":["../../../../projects/corvesta/chat-widget/src/lib/models/chat-widget-type.ts","../../../../projects/corvesta/chat-widget/src/lib/components/talkdesk-chat/talkdesk-chat.component.ts","../../../../projects/corvesta/chat-widget/src/lib/components/chat-widget/chat-widget.component.ts","../../../../projects/corvesta/chat-widget/src/lib/chat-widget.module.ts","../../../../projects/corvesta/chat-widget/src/lib/components/genesys-script/genesys-script.component.ts","../../../../projects/corvesta/chat-widget/src/lib/components/auvious-cobrowse/auvious-cobrowse.component.ts","../../../../projects/corvesta/chat-widget/src/public-api.ts","../../../../projects/corvesta/chat-widget/src/corvesta-chat-widget.ts"],"sourcesContent":["export enum ChatWidgetType {\r\n\tOFF = 'OFF',\r\n\t// GENESYS = 'GENESYS',\r\n\tTALKDESK = 'TALKDESK'\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\ndeclare var TalkdeskChatSDK: any;\r\n\r\n@Component({\r\n\tselector: 'lib-talkdesk-chat',\r\n\ttemplate: '',\r\n\tstyles: [''],\r\n\tstandalone: false\r\n})\r\nexport class TalkdeskChatComponent implements OnInit {\r\n\t@Input() chatClientId!: string;\r\n\t@Input() chatClientRegion!: string;\r\n\t@Input() chatBranding!: any;\r\n\r\n\tconstructor() {\r\n\t}\r\n\r\n\tpublic ngOnInit(): void {\r\n\t\tthis.createTalkDeskWidget();\r\n\t}\r\n\r\n\tprivate createTalkDeskWidget(): void {\r\n\r\n\t\tlet webchat;\r\n\t\t((window, document, node, props, configs) => {\r\n\t\t\tif ((window as any).TalkdeskChatSDK) {\r\n\t\t\t\tconsole.error('TalkdeskChatSDK already included');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tconst divContainer = document.createElement('div');\r\n\t\t\tdivContainer.id = node;\r\n\t\t\tdocument.body.appendChild(divContainer);\r\n\t\t\tconst src = `https://talkdeskchatsdk.talkdeskapp.com/v2/talkdeskchatsdk.js`;\r\n\t\t\tconst script: HTMLScriptElement = document.createElement('script');\r\n\t\t\tconst firstScriptTag: HTMLScriptElement = document.getElementsByTagName('script')[0];\r\n\t\t\tscript.type = 'text/javascript';\r\n\t\t\tscript.charset = 'UTF-8';\r\n\t\t\tscript.id = 'tdwebchatscript';\r\n\t\t\tscript.src = src;\r\n\t\t\tscript.async = true;\r\n\t\t\tfirstScriptTag.parentNode?.insertBefore(script, firstScriptTag);\r\n\t\t\tscript.onload = () => {\r\n\t\t\t\twebchat = TalkdeskChatSDK(node, props);\r\n\t\t\t\twebchat.init(configs);\r\n\t\t\t\t/*\r\n\t\t\t\t * Send custom data from your website to TalkDesk!\r\n\t\t\t\t * If you would like to do it, you need to remove the following commented code and\r\n\t\t\t\t * modify the webchat.setContextParam parameters to pass in the data you need.\r\n\t\t\t\t */\r\n\t\t\t\t/*function setContext() {\r\n\t\t\t\t webchat.setContextParam({ \"var1\": \"value1\", \"var2\": \"value2\", \"var3\": 100 })\r\n\t\t\t\t}\r\n\t\t\t\t// Send data when the chat conversation is initiated\r\n\t\t\t\twebchat.onConversationStart = function() {\r\n\t\t\t\t setContext()\r\n\t\t\t\t}\r\n\t\t\t\t// Send data when the chat widget is open\r\n\t\t\t\twebchat.onOpenWebchat = function() {\r\n\t\t\t\t setContext()\r\n\t\t\t\t}*/\r\n\t\t\t};\r\n\t\t})(\r\n\t\t\twindow,\r\n\t\t\tdocument,\r\n\t\t\t'tdWebchat',\r\n\t\t\t{touchpointId: this.chatClientId, accountId: '', region: this.chatClientRegion},\r\n\t\t\t{...this.chatBranding}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ChatWidgetType } from '../../models/chat-widget-type';\r\nimport { ChatConfig } from '../../models/chat-config';\r\n\r\n@Component({\r\n\tselector: 'lib-chat-widget',\r\n\ttemplate: `\r\n\t\t@switch (chatType) {\r\n\t\t\t@case (ChatWidgetType.TALKDESK) {\r\n\t\t\t\t<lib-talkdesk-chat\r\n\t\t\t\t\t[chatBranding]=\"chatConfig.chatBranding\"\r\n\t\t\t\t\t[chatClientId]=\"chatConfig.chatClientId\"\r\n\t\t\t\t\t[chatClientRegion]=\"chatConfig.chatClientRegion\"></lib-talkdesk-chat>\r\n\t\t\t} @case (ChatWidgetType.OFF) {\r\n\t\t\t} @default {\r\n\t\t\t}\r\n\t\t}\r\n\t`,\r\n\tstyles: [],\r\n\tstandalone: false\r\n})\r\nexport class ChatWidgetComponent {\r\n\t@Input() chatType!: ChatWidgetType;\r\n\t@Input() chatConfig!: ChatConfig;\r\n\r\n\tprotected readonly ChatWidgetType = ChatWidgetType;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ChatWidgetComponent } from './components/chat-widget/chat-widget.component';\r\nimport { TalkdeskChatComponent } from './components/talkdesk-chat/talkdesk-chat.component';\r\n\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tChatWidgetComponent,\r\n\t\tTalkdeskChatComponent\r\n\t],\r\n\timports: [\r\n\t],\r\n\texports: [\r\n\t\tChatWidgetComponent\r\n\t]\r\n})\r\nexport class ChatWidgetModule {\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'lib-genesys-script',\r\n\timports: [],\r\n\ttemplate: '',\r\n\tstyles: ''\r\n})\r\nexport class GenesysScriptComponent {\r\n\tprivate scriptElement: HTMLScriptElement | null = null;\r\n\r\n\tprivate _deploymentId: string = '';\r\n\r\n\tget deploymentId(): string {\r\n\t\treturn this._deploymentId;\r\n\t}\r\n\r\n\t@Input({required: true})\r\n\tset deploymentId(value: string) {\r\n\t\tthis._deploymentId = value;\r\n\t\tthis.updateScriptTag();\r\n\t}\r\n\r\n\tprivate _environment: string = 'prod-usw2';\r\n\r\n\tget environment(): string {\r\n\t\treturn this._environment;\r\n\t}\r\n\r\n\t@Input()\r\n\tset environment(value: string) {\r\n\t\tthis._environment = value;\r\n\t\tthis.updateScriptTag();\r\n\t}\r\n\r\n\tprivate _genesysScriptUrl: string = 'https://apps.usw2.pure.cloud/genesys-bootstrap/genesys.min.js';\r\n\r\n\tget genesysScriptUrl(): string {\r\n\t\treturn this._genesysScriptUrl;\r\n\t}\r\n\r\n\t@Input()\r\n\tset genesysScriptUrl(value: string) {\r\n\t\tthis._genesysScriptUrl = value;\r\n\t\tthis.updateScriptTag();\r\n\t}\r\n\r\n\tprivate updateScriptTag() {\r\n\t\tif (!this.deploymentId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst script: string = `(function (g, e, n, es, ys) {\r\n\t\t\tg['_genesysJs'] = e;\r\n\t\t\tg[e] = g[e] || function () {\r\n\t\t\t\t(g[e].q = g[e].q || []).push(arguments)\r\n\t\t\t};\r\n\t\t\tg[e].t = 1 * new Date();\r\n\t\t\tg[e].c = es;\r\n\t\t\tys = document.createElement('script');\r\n\t\t\tys.async = 1;\r\n\t\t\tys.src = n;\r\n\t\t\tys.charset = 'utf-8';\r\n\t\t\tdocument.head.appendChild(ys);\r\n\t\t})(window, 'Genesys', '${this.genesysScriptUrl}', {\r\n\t\t\tenvironment: '${this.environment}',\r\n\t\t\tdeploymentId: '${this.deploymentId}'\r\n\t\t});`;\r\n\r\n\t\tif (this.scriptElement) {\r\n\t\t\tthis.scriptElement.remove();\r\n\t\t}\r\n\r\n\t\t// Create new script element\r\n\t\tthis.scriptElement = document.createElement('script');\r\n\t\tthis.scriptElement.type = 'text/javascript';\r\n\t\tthis.scriptElement.text = script;\r\n\r\n\t\t// Add an ID for easier reference\r\n\t\tthis.scriptElement.id = `genesys-script-${Date.now()}`;\r\n\r\n\t\t// Append the new script\r\n\t\tdocument.head.appendChild(this.scriptElement);\r\n\t}\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'lib-auvious-cobrowse',\r\n\timports: [],\r\n\ttemplate: '',\r\n\tstyles: []\r\n})\r\nexport class AuviousCobrowseComponent {\r\n\t// The message displayed above the code input field.\r\n\t@Input() connectionMessage: string = '';\r\n\r\n\t// Configuration for the application ID, which determines which application the widget will accept connections from.\r\n\tprivate _applicationId: string = '';\r\n\r\n\tget applicationId(): string {\r\n\t\treturn this._applicationId;\r\n\t}\r\n\r\n\t@Input({required: true})\r\n\tset applicationId(value: string) {\r\n\t\tthis._applicationId = value;\r\n\t\tif (this._applicationId) {\r\n\t\t\tthis.initializeCobrowse();\r\n\t\t}\r\n\t}\r\n\r\n\t// Configuration for shifting the widget to the right when Talkdesk Chat is enabled.\r\n\tprivate _isTalkdeskChatEnabled: boolean = false;\r\n\r\n\tget isTalkdeskChatEnabled(): boolean {\r\n\t\treturn this._isTalkdeskChatEnabled;\r\n\t}\r\n\r\n\t@Input({required: true})\r\n\tset isTalkdeskChatEnabled(value: boolean) {\r\n\t\tthis._isTalkdeskChatEnabled = value;\r\n\t\tthis.adjustFloatingMargin();\r\n\t}\r\n\r\n\t// Configuration for customizing the widget colors, mainly effecting the icon color.\r\n\tprivate _primaryColor: string = 'black';\r\n\r\n\tget primaryColor(): string {\r\n\t\treturn this._primaryColor;\r\n\t}\r\n\r\n\t@Input()\r\n\tset primaryColor(value: string) {\r\n\t\tthis._primaryColor = value;\r\n\t\tif (this._primaryColor) {\r\n\t\t\tdocument.documentElement.style.setProperty('--av-color-primary', this._primaryColor);\r\n\t\t} else {\r\n\t\t\tdocument.documentElement.style.setProperty('--av-color-primary', 'black');\r\n\t\t}\r\n\t}\r\n\r\n\t// Configuration for customizing the widget colors, mainly effecting the button color within the popup.\r\n\tprivate _accentColor: string = 'black';\r\n\r\n\tget accentColor(): string {\r\n\t\treturn this._accentColor;\r\n\t}\r\n\r\n\t@Input()\r\n\tset accentColor(value: string) {\r\n\t\tthis._accentColor = value;\r\n\t\tif (this._accentColor) {\r\n\t\t\tdocument.documentElement.style.setProperty('--av-color-accent', this._accentColor);\r\n\t\t} else {\r\n\t\t\tdocument.documentElement.style.setProperty('--av-color-accent', 'black');\r\n\t\t}\r\n\t}\r\n\r\n\tadjustFloatingMargin() {\r\n\t\tdocument.documentElement.style.setProperty('--av-floating-margin-right', this._isTalkdeskChatEnabled ? '80px' : '20px');\r\n\t}\r\n\r\n\tprivate initializeCobrowse() {\r\n\t\tconst defaultScript: HTMLScriptElement = document.createElement('script');\r\n\t\tdefaultScript.type = 'module';\r\n\t\tdefaultScript.src = 'https://auvious.video/widget/dist/auvious/auvious.esm.js';\r\n\t\tconst fallbackScript: HTMLScriptElement = document.createElement('script');\r\n\t\tfallbackScript.noModule = true;\r\n\t\tfallbackScript.src = 'https://auvious.video/widget/dist/auvious/auvious.js';\r\n\t\tdocument.head.append(defaultScript, fallbackScript);\r\n\r\n\t\tconst widgetOptions = {\r\n\t\t\t'application-id': this._applicationId,\r\n\t\t\t'active-widgets': 'cobrowse',\r\n\t\t\t'application-verify-source': true\r\n\t\t};\r\n\r\n\t\tconst showWidget = () => {\r\n\r\n\t\t\t// create our widget\r\n\t\t\tconst widget = document.createElement('app-auvious-widget');\r\n\r\n\t\t\t// get all the widget options and pass it to our widget.\r\n\t\t\tfor (const key of Object.keys(widgetOptions)) {\r\n\t\t\t\t// @ts-ignore\r\n\t\t\t\tconst value = widgetOptions[key];\r\n\t\t\t\twidget.setAttribute(key, value);\r\n\t\t\t}\r\n\r\n\t\t\tif (this.connectionMessage) {\r\n\t\t\t\t// @ts-ignore\r\n\t\t\t\twidget.setTranslations(\r\n\t\t\t\t\t{'Please enter the 7-digit code provided by the agent.': this.connectionMessage},\r\n\t\t\t\t\t'en'\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\t// add the newly created widget to the body.\r\n\t\t\tdocument.body.appendChild(widget);\r\n\t\t};\r\n\r\n\t\t(async () => {\r\n\t\t\tawait customElements.whenDefined('app-auvious-widget');\r\n\t\t\tshowWidget();\r\n\t\t})();\r\n\t}\r\n}\r\n","/*\r\n * Public API Surface of chat-widget\r\n */\r\n\r\nexport * from './lib/components/chat-widget/chat-widget.component';\r\nexport * from './lib/chat-widget.module';\r\nexport * from './lib/models/chat-config';\r\nexport * from './lib/models/chat-widget-type';\r\nexport * from './lib/components/genesys-script/genesys-script.component';\r\nexport * from './lib/components/auvious-cobrowse/auvious-cobrowse.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TalkdeskChatComponent"],"mappings":"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"}
1
+ {"version":3,"file":"corvesta-chat-widget.mjs","sources":["../../../../projects/corvesta/chat-widget/src/lib/models/chat-widget-type.ts","../../../../projects/corvesta/chat-widget/src/lib/components/talkdesk-chat/talkdesk-chat.component.ts","../../../../projects/corvesta/chat-widget/src/lib/components/chat-widget/chat-widget.component.ts","../../../../projects/corvesta/chat-widget/src/lib/chat-widget.module.ts","../../../../projects/corvesta/chat-widget/src/lib/components/genesys-script/genesys-script.component.ts","../../../../projects/corvesta/chat-widget/src/lib/components/auvious-cobrowse/auvious-cobrowse.component.ts","../../../../projects/corvesta/chat-widget/src/public-api.ts","../../../../projects/corvesta/chat-widget/src/corvesta-chat-widget.ts"],"sourcesContent":["export enum ChatWidgetType {\r\n\tOFF = 'OFF',\r\n\t// GENESYS = 'GENESYS',\r\n\tTALKDESK = 'TALKDESK'\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\ndeclare var TalkdeskChatSDK: any;\r\n\r\n@Component({\r\n\tselector: 'lib-talkdesk-chat',\r\n\ttemplate: '',\r\n\tstyles: [''],\r\n\tstandalone: false\r\n})\r\nexport class TalkdeskChatComponent implements OnInit {\r\n\t@Input() chatClientId!: string;\r\n\t@Input() chatClientRegion!: string;\r\n\t@Input() chatBranding!: any;\r\n\r\n\tconstructor() {\r\n\t}\r\n\r\n\tpublic ngOnInit(): void {\r\n\t\tthis.createTalkDeskWidget();\r\n\t}\r\n\r\n\tprivate createTalkDeskWidget(): void {\r\n\r\n\t\tlet webchat;\r\n\t\t((window, document, node, props, configs) => {\r\n\t\t\tif ((window as any).TalkdeskChatSDK) {\r\n\t\t\t\tconsole.error('TalkdeskChatSDK already included');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tconst divContainer = document.createElement('div');\r\n\t\t\tdivContainer.id = node;\r\n\t\t\tdocument.body.appendChild(divContainer);\r\n\t\t\tconst src = `https://talkdeskchatsdk.talkdeskapp.com/v2/talkdeskchatsdk.js`;\r\n\t\t\tconst script: HTMLScriptElement = document.createElement('script');\r\n\t\t\tconst firstScriptTag: HTMLScriptElement = document.getElementsByTagName('script')[0];\r\n\t\t\tscript.type = 'text/javascript';\r\n\t\t\tscript.charset = 'UTF-8';\r\n\t\t\tscript.id = 'tdwebchatscript';\r\n\t\t\tscript.src = src;\r\n\t\t\tscript.async = true;\r\n\t\t\tfirstScriptTag.parentNode?.insertBefore(script, firstScriptTag);\r\n\t\t\tscript.onload = () => {\r\n\t\t\t\twebchat = TalkdeskChatSDK(node, props);\r\n\t\t\t\twebchat.init(configs);\r\n\t\t\t\t/*\r\n\t\t\t\t * Send custom data from your website to TalkDesk!\r\n\t\t\t\t * If you would like to do it, you need to remove the following commented code and\r\n\t\t\t\t * modify the webchat.setContextParam parameters to pass in the data you need.\r\n\t\t\t\t */\r\n\t\t\t\t/*function setContext() {\r\n\t\t\t\t webchat.setContextParam({ \"var1\": \"value1\", \"var2\": \"value2\", \"var3\": 100 })\r\n\t\t\t\t}\r\n\t\t\t\t// Send data when the chat conversation is initiated\r\n\t\t\t\twebchat.onConversationStart = function() {\r\n\t\t\t\t setContext()\r\n\t\t\t\t}\r\n\t\t\t\t// Send data when the chat widget is open\r\n\t\t\t\twebchat.onOpenWebchat = function() {\r\n\t\t\t\t setContext()\r\n\t\t\t\t}*/\r\n\t\t\t};\r\n\t\t})(\r\n\t\t\twindow,\r\n\t\t\tdocument,\r\n\t\t\t'tdWebchat',\r\n\t\t\t{touchpointId: this.chatClientId, accountId: '', region: this.chatClientRegion},\r\n\t\t\t{...this.chatBranding}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ChatWidgetType } from '../../models/chat-widget-type';\r\nimport { ChatConfig } from '../../models/chat-config';\r\n\r\n@Component({\r\n\tselector: 'lib-chat-widget',\r\n\ttemplate: `\r\n\t\t@switch (chatType) {\r\n\t\t\t@case (ChatWidgetType.TALKDESK) {\r\n\t\t\t\t<lib-talkdesk-chat\r\n\t\t\t\t\t[chatBranding]=\"chatConfig.chatBranding\"\r\n\t\t\t\t\t[chatClientId]=\"chatConfig.chatClientId\"\r\n\t\t\t\t\t[chatClientRegion]=\"chatConfig.chatClientRegion\"></lib-talkdesk-chat>\r\n\t\t\t} @case (ChatWidgetType.OFF) {\r\n\t\t\t} @default {\r\n\t\t\t}\r\n\t\t}\r\n\t`,\r\n\tstyles: [],\r\n\tstandalone: false\r\n})\r\nexport class ChatWidgetComponent {\r\n\t@Input() chatType!: ChatWidgetType;\r\n\t@Input() chatConfig!: ChatConfig;\r\n\r\n\tprotected readonly ChatWidgetType = ChatWidgetType;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ChatWidgetComponent } from './components/chat-widget/chat-widget.component';\r\nimport { TalkdeskChatComponent } from './components/talkdesk-chat/talkdesk-chat.component';\r\n\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tChatWidgetComponent,\r\n\t\tTalkdeskChatComponent\r\n\t],\r\n\timports: [\r\n\t],\r\n\texports: [\r\n\t\tChatWidgetComponent\r\n\t]\r\n})\r\nexport class ChatWidgetModule {\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'lib-genesys-script',\r\n\timports: [],\r\n\ttemplate: '',\r\n\tstyles: ''\r\n})\r\nexport class GenesysScriptComponent {\r\n\tprivate scriptElement: HTMLScriptElement | null = null;\r\n\r\n\tprivate _deploymentId: string = '';\r\n\r\n\tget deploymentId(): string {\r\n\t\treturn this._deploymentId;\r\n\t}\r\n\r\n\t@Input({required: true})\r\n\tset deploymentId(value: string) {\r\n\t\tthis._deploymentId = value;\r\n\t\tthis.updateScriptTag();\r\n\t}\r\n\r\n\tprivate _environment: string = 'prod-usw2';\r\n\r\n\tget environment(): string {\r\n\t\treturn this._environment;\r\n\t}\r\n\r\n\t@Input()\r\n\tset environment(value: string) {\r\n\t\tthis._environment = value;\r\n\t\tthis.updateScriptTag();\r\n\t}\r\n\r\n\tprivate _genesysScriptUrl: string = 'https://apps.usw2.pure.cloud/genesys-bootstrap/genesys.min.js';\r\n\r\n\tget genesysScriptUrl(): string {\r\n\t\treturn this._genesysScriptUrl;\r\n\t}\r\n\r\n\t@Input()\r\n\tset genesysScriptUrl(value: string) {\r\n\t\tthis._genesysScriptUrl = value;\r\n\t\tthis.updateScriptTag();\r\n\t}\r\n\r\n\tprivate updateScriptTag() {\r\n\t\tif (!this.deploymentId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst script: string = `(function (g, e, n, es, ys) {\r\n\t\t\tg['_genesysJs'] = e;\r\n\t\t\tg[e] = g[e] || function () {\r\n\t\t\t\t(g[e].q = g[e].q || []).push(arguments)\r\n\t\t\t};\r\n\t\t\tg[e].t = 1 * new Date();\r\n\t\t\tg[e].c = es;\r\n\t\t\tys = document.createElement('script');\r\n\t\t\tys.async = 1;\r\n\t\t\tys.src = n;\r\n\t\t\tys.charset = 'utf-8';\r\n\t\t\tdocument.head.appendChild(ys);\r\n\t\t})(window, 'Genesys', '${this.genesysScriptUrl}', {\r\n\t\t\tenvironment: '${this.environment}',\r\n\t\t\tdeploymentId: '${this.deploymentId}'\r\n\t\t});`;\r\n\r\n\t\tif (this.scriptElement) {\r\n\t\t\tthis.scriptElement.remove();\r\n\t\t}\r\n\r\n\t\t// Create new script element\r\n\t\tthis.scriptElement = document.createElement('script');\r\n\t\tthis.scriptElement.type = 'text/javascript';\r\n\t\tthis.scriptElement.text = script;\r\n\r\n\t\t// Add an ID for easier reference\r\n\t\tthis.scriptElement.id = `genesys-script-${Date.now()}`;\r\n\r\n\t\t// Append the new script\r\n\t\tdocument.head.appendChild(this.scriptElement);\r\n\t}\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'lib-auvious-cobrowse',\r\n\timports: [],\r\n\ttemplate: '',\r\n\tstyles: [],\r\n})\r\nexport class AuviousCobrowseComponent {\r\n\t// The message displayed above the code input field.\r\n\t@Input() public connectionMessage: string | undefined;\r\n\t// The tooltip text displayed when hovering over the widget button.\r\n\t@Input() public tooltipText: string = '';\r\n\tprivate resizeObserver?: ResizeObserver;\r\n\tprivate mutationObserver?: MutationObserver;\r\n\tprivate updateTimeout?: ReturnType<typeof globalThis.setTimeout>;\r\n\r\n\t// Configuration for the application ID, which determines which application the widget will accept connections from.\r\n\tprivate _applicationId: string = '';\r\n\r\n\tpublic get applicationId(): string {\r\n\t\treturn this._applicationId;\r\n\t}\r\n\r\n\t@Input({ required: true })\r\n\tpublic set applicationId(value: string) {\r\n\t\tthis._applicationId = value;\r\n\t\tif (this._applicationId) {\r\n\t\t\tthis.initializeCobrowse();\r\n\t\t}\r\n\t}\r\n\r\n\t// Configuration for shifting the widget to the right when Talkdesk Chat is enabled.\r\n\tprivate _isTalkdeskChatEnabled: boolean = false;\r\n\r\n\tpublic get isTalkdeskChatEnabled(): boolean {\r\n\t\treturn this._isTalkdeskChatEnabled;\r\n\t}\r\n\r\n\t@Input({ required: true })\r\n\tpublic set isTalkdeskChatEnabled(value: boolean) {\r\n\t\tthis._isTalkdeskChatEnabled = value;\r\n\t\tthis.adjustFloatingMargin();\r\n\t}\r\n\r\n\t// Configuration for customizing the widget colors, mainly effecting the icon color.\r\n\tprivate _primaryColor: string = 'black';\r\n\r\n\tpublic get primaryColor(): string {\r\n\t\treturn this._primaryColor;\r\n\t}\r\n\r\n\t@Input()\r\n\tpublic set primaryColor(value: string) {\r\n\t\tthis._primaryColor = value;\r\n\t\tif (this._primaryColor) {\r\n\t\t\tdocument.documentElement.style.setProperty('--av-color-primary', this._primaryColor);\r\n\t\t} else {\r\n\t\t\tdocument.documentElement.style.setProperty('--av-color-primary', 'black');\r\n\t\t}\r\n\t}\r\n\r\n\t// Configuration for customizing the widget colors, mainly effecting the button color within the popup.\r\n\tprivate _accentColor: string = 'black';\r\n\r\n\tpublic get accentColor(): string {\r\n\t\treturn this._accentColor;\r\n\t}\r\n\r\n\t@Input()\r\n\tpublic set accentColor(value: string) {\r\n\t\tthis._accentColor = value;\r\n\t\tif (this._accentColor) {\r\n\t\t\tdocument.documentElement.style.setProperty('--av-color-accent', this._accentColor);\r\n\t\t} else {\r\n\t\t\tdocument.documentElement.style.setProperty('--av-color-accent', 'black');\r\n\t\t}\r\n\t}\r\n\r\n\tprivate adjustFloatingMargin(): void {\r\n\t\tif (this._isTalkdeskChatEnabled) {\r\n\t\t\tdocument.documentElement.style.setProperty('--av-floating-margin-right', '80px');\r\n\t\t\tthis.observeTalkdeskWidget();\r\n\t\t} else {\r\n\t\t\tthis.resizeObserver?.disconnect();\r\n\t\t\tthis.mutationObserver?.disconnect();\r\n\t\t\tif (this.updateTimeout) {\r\n\t\t\t\tclearTimeout(this.updateTimeout);\r\n\t\t\t}\r\n\t\t\tdocument.documentElement.style.setProperty('--av-floating-margin-right', '20px');\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Method to observe Talkdesk Chat widget and adjust the floating margin accordingly.\r\n\t * @private\r\n\t */\r\n\tprivate observeTalkdeskWidget(): void {\r\n\t\tconst element = document.getElementById('talkdesk-chat-widget');\r\n\r\n\t\tif (element) {\r\n\t\t\tthis.setupTalkdeskObservers(element);\r\n\t\t} else {\r\n\t\t\tconst observer = new MutationObserver(() => {\r\n\t\t\t\tconst el = document.getElementById('talkdesk-chat-widget');\r\n\t\t\t\tif (el) {\r\n\t\t\t\t\tobserver.disconnect();\r\n\t\t\t\t\tthis.setupTalkdeskObservers(el);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tobserver.observe(document.body, { childList: true, subtree: true });\r\n\t\t}\r\n\t}\r\n\r\n\tprivate setupTalkdeskObservers(element: HTMLElement): void {\r\n\t\tconst updateMargin = (): void => {\r\n\t\t\tif (this.updateTimeout) {\r\n\t\t\t\tclearTimeout(this.updateTimeout);\r\n\t\t\t}\r\n\t\t\tthis.updateTimeout = globalThis.setTimeout(() => {\r\n\t\t\t\tconst width: number = element.offsetWidth;\r\n\t\t\t\tconst isVisible: boolean = globalThis.getComputedStyle(element).visibility !== 'hidden';\r\n\t\t\t\tconst margin: number = isVisible ? width + 40 : 80;\r\n\t\t\t\tdocument.documentElement.style.setProperty('--av-floating-margin-right', `${margin}px`);\r\n\t\t\t}, 50);\r\n\t\t};\r\n\r\n\t\tthis.resizeObserver?.disconnect();\r\n\t\tthis.resizeObserver = new ResizeObserver(updateMargin);\r\n\t\tthis.resizeObserver.observe(element);\r\n\r\n\t\tthis.mutationObserver?.disconnect();\r\n\t\tthis.mutationObserver = new MutationObserver(updateMargin);\r\n\t\tthis.mutationObserver.observe(element, {\r\n\t\t\tattributes: true,\r\n\t\t\tattributeFilter: ['aria-hidden'],\r\n\t\t});\r\n\r\n\t\tupdateMargin();\r\n\t}\r\n\r\n\tprivate initializeCobrowse(): void {\r\n\t\tconst defaultScript: HTMLScriptElement = document.createElement('script');\r\n\t\tdefaultScript.type = 'module';\r\n\t\tdefaultScript.src = 'https://auvious.video/widget/dist/auvious/auvious.esm.js';\r\n\t\tconst fallbackScript: HTMLScriptElement = document.createElement('script');\r\n\t\tfallbackScript.noModule = true;\r\n\t\tfallbackScript.src = 'https://auvious.video/widget/dist/auvious/auvious.js';\r\n\t\tdocument.head.append(defaultScript, fallbackScript);\r\n\r\n\t\tconst widgetOptions = {\r\n\t\t\t'application-id': this._applicationId,\r\n\t\t\t'active-widgets': 'cobrowse',\r\n\t\t\t'application-verify-source': true,\r\n\t\t\t'wait-for-greeting-seconds': -1,\r\n\t\t\t'greeting-sound-on': false,\r\n\t\t};\r\n\r\n\t\tconst showWidget = (): void => {\r\n\t\t\t// create our widget\r\n\t\t\tconst widget = document.createElement('app-auvious-widget');\r\n\r\n\t\t\t// get all the widget options and pass it to our widget.\r\n\t\t\tfor (const [key, value] of Object.entries(widgetOptions)) {\r\n\t\t\t\twidget.setAttribute(key, String(value));\r\n\t\t\t}\r\n\r\n\t\t\tif (this.connectionMessage !== undefined) {\r\n\t\t\t\t// @ts-expect-error - setTranslations is a method on the Auvious custom element, but TypeScript only sees HTMLElement from document.createElement\r\n\t\t\t\twidget.setTranslations({ 'Please enter the 7-digit code provided by the agent.': this.connectionMessage }, 'en');\r\n\t\t\t}\r\n\r\n\t\t\t// add the newly created widget to the body.\r\n\t\t\tdocument.body.appendChild(widget);\r\n\r\n\t\t\t// Set tooltip on the launcher button inside shadow DOM\r\n\t\t\tif (this.tooltipText && widget.shadowRoot) {\r\n\t\t\t\tconst observer = new MutationObserver(() => {\r\n\t\t\t\t\tconst launcher = widget.shadowRoot?.querySelector('app-launcher');\r\n\t\t\t\t\tif (launcher) {\r\n\t\t\t\t\t\tlauncher.setAttribute('title', this.tooltipText);\r\n\t\t\t\t\t\tobserver.disconnect();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tobserver.observe(widget.shadowRoot, { childList: true, subtree: true });\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvoid (async (): Promise<void> => {\r\n\t\t\tawait customElements.whenDefined('app-auvious-widget');\r\n\t\t\tshowWidget();\r\n\t\t})();\r\n\t}\r\n}\r\n","/*\r\n * Public API Surface of chat-widget\r\n */\r\n\r\nexport * from './lib/components/chat-widget/chat-widget.component';\r\nexport * from './lib/chat-widget.module';\r\nexport * from './lib/models/chat-config';\r\nexport * from './lib/models/chat-widget-type';\r\nexport * from './lib/components/genesys-script/genesys-script.component';\r\nexport * from './lib/components/auvious-cobrowse/auvious-cobrowse.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TalkdeskChatComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corvesta/chat-widget",
3
- "version": "21.0.0",
3
+ "version": "21.1.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -54,7 +54,11 @@ declare class GenesysScriptComponent {
54
54
  }
55
55
 
56
56
  declare class AuviousCobrowseComponent {
57
- connectionMessage: string;
57
+ connectionMessage: string | undefined;
58
+ tooltipText: string;
59
+ private resizeObserver?;
60
+ private mutationObserver?;
61
+ private updateTimeout?;
58
62
  private _applicationId;
59
63
  get applicationId(): string;
60
64
  set applicationId(value: string);
@@ -67,10 +71,16 @@ declare class AuviousCobrowseComponent {
67
71
  private _accentColor;
68
72
  get accentColor(): string;
69
73
  set accentColor(value: string);
70
- adjustFloatingMargin(): void;
74
+ private adjustFloatingMargin;
75
+ /**
76
+ * Method to observe Talkdesk Chat widget and adjust the floating margin accordingly.
77
+ * @private
78
+ */
79
+ private observeTalkdeskWidget;
80
+ private setupTalkdeskObservers;
71
81
  private initializeCobrowse;
72
82
  static ɵfac: i0.ɵɵFactoryDeclaration<AuviousCobrowseComponent, never>;
73
- static ɵcmp: i0.ɵɵComponentDeclaration<AuviousCobrowseComponent, "lib-auvious-cobrowse", never, { "connectionMessage": { "alias": "connectionMessage"; "required": false; }; "applicationId": { "alias": "applicationId"; "required": true; }; "isTalkdeskChatEnabled": { "alias": "isTalkdeskChatEnabled"; "required": true; }; "primaryColor": { "alias": "primaryColor"; "required": false; }; "accentColor": { "alias": "accentColor"; "required": false; }; }, {}, never, never, true, never>;
83
+ static ɵcmp: i0.ɵɵComponentDeclaration<AuviousCobrowseComponent, "lib-auvious-cobrowse", never, { "connectionMessage": { "alias": "connectionMessage"; "required": false; }; "tooltipText": { "alias": "tooltipText"; "required": false; }; "applicationId": { "alias": "applicationId"; "required": true; }; "isTalkdeskChatEnabled": { "alias": "isTalkdeskChatEnabled"; "required": true; }; "primaryColor": { "alias": "primaryColor"; "required": false; }; "accentColor": { "alias": "accentColor"; "required": false; }; }, {}, never, never, true, never>;
74
84
  }
75
85
 
76
86
  export { AuviousCobrowseComponent, ChatWidgetComponent, ChatWidgetModule, ChatWidgetType, GenesysScriptComponent };