@corvesta/chat-widget 0.0.1
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/README.md +24 -0
- package/esm2022/corvesta-chat-widget.mjs +5 -0
- package/esm2022/lib/chat-widget.module.mjs +31 -0
- package/esm2022/lib/components/chat-widget/chat-widget.component.mjs +39 -0
- package/esm2022/lib/components/talkdesk-chat/talkdesk-chat.component.mjs +62 -0
- package/esm2022/lib/models/chat-config.mjs +2 -0
- package/esm2022/lib/models/chat-widget-type.mjs +7 -0
- package/esm2022/public-api.mjs +8 -0
- package/fesm2022/corvesta-chat-widget.mjs +142 -0
- package/fesm2022/corvesta-chat-widget.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/chat-widget.module.d.ts +9 -0
- package/lib/components/chat-widget/chat-widget.component.d.ts +10 -0
- package/lib/components/talkdesk-chat/talkdesk-chat.component.d.ts +12 -0
- package/lib/models/chat-config.d.ts +5 -0
- package/lib/models/chat-widget-type.d.ts +4 -0
- package/package.json +25 -0
- package/public-api.d.ts +4 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# ChatWidget
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project chat-widget` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project chat-widget`.
|
|
8
|
+
> Note: Don't forget to add `--project chat-widget` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build chat-widget` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build chat-widget`, go to the dist folder `cd dist/chat-widget` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test chat-widget` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ydmVzdGEtY2hhdC13aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3J2ZXN0YS9jaGF0LXdpZGdldC9zcmMvY29ydmVzdGEtY2hhdC13aWRnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ChatWidgetComponent } from './components/chat-widget/chat-widget.component';
|
|
3
|
+
import { TalkdeskChatComponent } from './components/talkdesk-chat/talkdesk-chat.component';
|
|
4
|
+
import { NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ChatWidgetModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetModule, declarations: [ChatWidgetComponent,
|
|
9
|
+
TalkdeskChatComponent], imports: [NgSwitch,
|
|
10
|
+
NgSwitchCase,
|
|
11
|
+
NgSwitchDefault], exports: [ChatWidgetComponent] }); }
|
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetModule }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
declarations: [
|
|
18
|
+
ChatWidgetComponent,
|
|
19
|
+
TalkdeskChatComponent
|
|
20
|
+
],
|
|
21
|
+
imports: [
|
|
22
|
+
NgSwitch,
|
|
23
|
+
NgSwitchCase,
|
|
24
|
+
NgSwitchDefault
|
|
25
|
+
],
|
|
26
|
+
exports: [
|
|
27
|
+
ChatWidgetComponent
|
|
28
|
+
]
|
|
29
|
+
}]
|
|
30
|
+
}] });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC13aWRnZXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ydmVzdGEvY2hhdC13aWRnZXQvc3JjL2xpYi9jaGF0LXdpZGdldC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFrQjFFLE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQVp6QixtQkFBbUI7WUFDbkIscUJBQXFCLGFBR2pCLFFBQVE7WUFDUixZQUFZO1lBQ1osZUFBZSxhQUduQixtQkFBbUI7K0dBR1YsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQWQ1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBQ25CLHFCQUFxQjtxQkFDdEI7b0JBQ0MsT0FBTyxFQUFFO3dCQUNMLFFBQVE7d0JBQ1IsWUFBWTt3QkFDWixlQUFlO3FCQUNsQjtvQkFDSCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoYXRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hhdC13aWRnZXQvY2hhdC13aWRnZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFsa2Rlc2tDaGF0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhbGtkZXNrLWNoYXQvdGFsa2Rlc2stY2hhdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ1N3aXRjaCwgTmdTd2l0Y2hDYXNlLCBOZ1N3aXRjaERlZmF1bHQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ2hhdFdpZGdldENvbXBvbmVudCxcclxuICAgIFRhbGtkZXNrQ2hhdENvbXBvbmVudFxyXG4gIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTmdTd2l0Y2gsXHJcbiAgICAgICAgTmdTd2l0Y2hDYXNlLFxyXG4gICAgICAgIE5nU3dpdGNoRGVmYXVsdFxyXG4gICAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBDaGF0V2lkZ2V0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhdFdpZGdldE1vZHVsZSB7IH1cclxuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { ChatWidgetType } from '../../models/chat-widget-type';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "../talkdesk-chat/talkdesk-chat.component";
|
|
6
|
+
export class ChatWidgetComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.ChatWidgetType = ChatWidgetType;
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ChatWidgetComponent, selector: "lib-chat-widget", inputs: { chatType: "chatType", chatConfig: "chatConfig" }, ngImport: i0, template: `
|
|
12
|
+
<ng-container [ngSwitch]="chatType">
|
|
13
|
+
<lib-talkdesk-chat *ngSwitchCase="ChatWidgetType.TALKDESK"
|
|
14
|
+
[chatBranding]="chatConfig.chatBranding"
|
|
15
|
+
[chatClientId]="chatConfig.chatClientId"
|
|
16
|
+
[chatClientRegion]="chatConfig.chatClientRegion"></lib-talkdesk-chat>
|
|
17
|
+
<ng-container *ngSwitchCase="ChatWidgetType.OFF"></ng-container>
|
|
18
|
+
<ng-container *ngSwitchDefault></ng-container>
|
|
19
|
+
</ng-container>
|
|
20
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.TalkdeskChatComponent, selector: "lib-talkdesk-chat", inputs: ["chatClientId", "chatClientRegion", "chatBranding"] }] }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'lib-chat-widget', template: `
|
|
25
|
+
<ng-container [ngSwitch]="chatType">
|
|
26
|
+
<lib-talkdesk-chat *ngSwitchCase="ChatWidgetType.TALKDESK"
|
|
27
|
+
[chatBranding]="chatConfig.chatBranding"
|
|
28
|
+
[chatClientId]="chatConfig.chatClientId"
|
|
29
|
+
[chatClientRegion]="chatConfig.chatClientRegion"></lib-talkdesk-chat>
|
|
30
|
+
<ng-container *ngSwitchCase="ChatWidgetType.OFF"></ng-container>
|
|
31
|
+
<ng-container *ngSwitchDefault></ng-container>
|
|
32
|
+
</ng-container>
|
|
33
|
+
` }]
|
|
34
|
+
}], propDecorators: { chatType: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], chatConfig: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}] } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ydmVzdGEvY2hhdC13aWRnZXQvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQtd2lkZ2V0L2NoYXQtd2lkZ2V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFpQi9ELE1BQU0sT0FBTyxtQkFBbUI7SUFkaEM7UUFrQnFCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO0tBQ3BEOzhHQUxZLG1CQUFtQjtrR0FBbkIsbUJBQW1CLG1IQVpwQjs7Ozs7Ozs7O0dBU1Q7OzJGQUdVLG1CQUFtQjtrQkFkL0IsU0FBUzsrQkFDRSxpQkFBaUIsWUFDakI7Ozs7Ozs7OztHQVNUOzhCQUlRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2hhdFdpZGdldFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhdC13aWRnZXQtdHlwZSc7XHJcbmltcG9ydCB7IENoYXRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhdC1jb25maWcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY2hhdC13aWRnZXQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjaGF0VHlwZVwiPlxyXG4gICAgICA8bGliLXRhbGtkZXNrLWNoYXQgKm5nU3dpdGNoQ2FzZT1cIkNoYXRXaWRnZXRUeXBlLlRBTEtERVNLXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGF0QnJhbmRpbmddPVwiY2hhdENvbmZpZy5jaGF0QnJhbmRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NoYXRDbGllbnRJZF09XCJjaGF0Q29uZmlnLmNoYXRDbGllbnRJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY2hhdENsaWVudFJlZ2lvbl09XCJjaGF0Q29uZmlnLmNoYXRDbGllbnRSZWdpb25cIj48L2xpYi10YWxrZGVzay1jaGF0PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDaGF0V2lkZ2V0VHlwZS5PRkZcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGF0V2lkZ2V0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjaGF0VHlwZSE6IENoYXRXaWRnZXRUeXBlO1xyXG4gIEBJbnB1dCgpIGNoYXRDb25maWchOiBDaGF0Q29uZmlnO1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ2hhdFdpZGdldFR5cGUgPSBDaGF0V2lkZ2V0VHlwZTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TalkdeskChatComponent {
|
|
4
|
+
constructor() { }
|
|
5
|
+
ngOnInit() {
|
|
6
|
+
this.createTalkDeskWidget();
|
|
7
|
+
}
|
|
8
|
+
createTalkDeskWidget() {
|
|
9
|
+
let webchat;
|
|
10
|
+
((window, document, node, props, configs) => {
|
|
11
|
+
if (window.TalkdeskChatSDK) {
|
|
12
|
+
console.error('TalkdeskChatSDK already included');
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const divContainer = document.createElement('div');
|
|
16
|
+
divContainer.id = node;
|
|
17
|
+
document.body.appendChild(divContainer);
|
|
18
|
+
const src = `https://talkdeskchatsdk.talkdeskapp.com/talkdeskchatsdk.js`;
|
|
19
|
+
const script = document.createElement('script');
|
|
20
|
+
const firstScriptTag = document.getElementsByTagName('script')[0];
|
|
21
|
+
script.type = 'text/javascript';
|
|
22
|
+
script.charset = 'UTF-8';
|
|
23
|
+
script.id = 'tdwebchatscript';
|
|
24
|
+
script.src = src;
|
|
25
|
+
script.async = true;
|
|
26
|
+
firstScriptTag.parentNode?.insertBefore(script, firstScriptTag);
|
|
27
|
+
script.onload = () => {
|
|
28
|
+
webchat = TalkdeskChatSDK(node, props);
|
|
29
|
+
webchat.init(configs);
|
|
30
|
+
/*
|
|
31
|
+
* Send custom data from your website to TalkDesk!
|
|
32
|
+
* If you would like to do it, you need to remove the following commented code and
|
|
33
|
+
* modify the webchat.setContextParam parameters to pass in the data you need.
|
|
34
|
+
*/
|
|
35
|
+
/*function setContext() {
|
|
36
|
+
webchat.setContextParam({ "var1": "value1", "var2": "value2", "var3": 100 })
|
|
37
|
+
}
|
|
38
|
+
// Send data when the chat conversation is initiated
|
|
39
|
+
webchat.onConversationStart = function() {
|
|
40
|
+
setContext()
|
|
41
|
+
}
|
|
42
|
+
// Send data when the chat widget is open
|
|
43
|
+
webchat.onOpenWebchat = function() {
|
|
44
|
+
setContext()
|
|
45
|
+
}*/
|
|
46
|
+
};
|
|
47
|
+
})(window, document, 'tdWebchat', { touchpointId: this.chatClientId, accountId: '', region: this.chatClientRegion }, { ...this.chatBranding });
|
|
48
|
+
}
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TalkdeskChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: TalkdeskChatComponent, selector: "lib-talkdesk-chat", inputs: { chatClientId: "chatClientId", chatClientRegion: "chatClientRegion", chatBranding: "chatBranding" }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TalkdeskChatComponent, decorators: [{
|
|
53
|
+
type: Component,
|
|
54
|
+
args: [{ selector: 'lib-talkdesk-chat', template: '' }]
|
|
55
|
+
}], ctorParameters: function () { return []; }, propDecorators: { chatClientId: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], chatClientRegion: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], chatBranding: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFsa2Rlc2stY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3J2ZXN0YS9jaGF0LXdpZGdldC9zcmMvbGliL2NvbXBvbmVudHMvdGFsa2Rlc2stY2hhdC90YWxrZGVzay1jaGF0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFTekQsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxnQkFBZ0IsQ0FBQztJQUVWLFFBQVE7UUFDYixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sb0JBQW9CO1FBRTFCLElBQUksT0FBTyxDQUFDO1FBQ1osQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUMxQyxJQUFLLE1BQWMsQ0FBQyxlQUFlLEVBQUU7Z0JBQ25DLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztnQkFDbEQsT0FBTzthQUNSO1lBQ0QsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxZQUFZLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQztZQUN2QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN4QyxNQUFNLEdBQUcsR0FBRyw0REFBNEQsQ0FBQztZQUN6RSxNQUFNLE1BQU0sR0FBc0IsUUFBUSxDQUFDLGFBQWEsQ0FBRSxRQUFRLENBQUMsQ0FBQztZQUNwRSxNQUFNLGNBQWMsR0FBc0IsUUFBUSxDQUFDLG9CQUFvQixDQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RGLE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7WUFDaEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDekIsTUFBTSxDQUFDLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztZQUM5QixNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNqQixNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNwQixjQUFjLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDaEUsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ25CLE9BQU8sR0FBRyxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN0Qjs7OzttQkFJRztnQkFDSDs7Ozs7Ozs7OzttQkFVRztZQUNMLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNBLE1BQU0sRUFDTixRQUFRLEVBQ1IsV0FBVyxFQUNYLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQ2pGLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQ3hCLENBQUM7SUFDSixDQUFDOzhHQTFEVSxxQkFBcUI7a0dBQXJCLHFCQUFxQix1S0FIdEIsRUFBRTs7MkZBR0QscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQixZQUNuQixFQUFFOzBFQUlILFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmRlY2xhcmUgdmFyIFRhbGtkZXNrQ2hhdFNESzogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFsa2Rlc2stY2hhdCcsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIHN0eWxlczogWycnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFsa2Rlc2tDaGF0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpIGNoYXRDbGllbnRJZCE6IHN0cmluZztcclxuICBASW5wdXQoKSBjaGF0Q2xpZW50UmVnaW9uITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNoYXRCcmFuZGluZyE6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0ICgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlVGFsa0Rlc2tXaWRnZXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlVGFsa0Rlc2tXaWRnZXQoKTogdm9pZCB7XHJcblxyXG4gICAgbGV0IHdlYmNoYXQ7XHJcbiAgICAoKHdpbmRvdywgZG9jdW1lbnQsIG5vZGUsIHByb3BzLCBjb25maWdzKSA9PiB7XHJcbiAgICAgIGlmICgod2luZG93IGFzIGFueSkuVGFsa2Rlc2tDaGF0U0RLKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignVGFsa2Rlc2tDaGF0U0RLIGFscmVhZHkgaW5jbHVkZWQnKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZGl2Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCAoJ2RpdicpO1xyXG4gICAgICBkaXZDb250YWluZXIuaWQgPSBub2RlO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdkNvbnRhaW5lcik7XHJcbiAgICAgIGNvbnN0IHNyYyA9IGBodHRwczovL3RhbGtkZXNrY2hhdHNkay50YWxrZGVza2FwcC5jb20vdGFsa2Rlc2tjaGF0c2RrLmpzYDtcclxuICAgICAgY29uc3Qgc2NyaXB0OiBIVE1MU2NyaXB0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgKCdzY3JpcHQnKTtcclxuICAgICAgY29uc3QgZmlyc3RTY3JpcHRUYWc6IEhUTUxTY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgKCdzY3JpcHQnKVswXTtcclxuICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgICAgc2NyaXB0LmNoYXJzZXQgPSAnVVRGLTgnO1xyXG4gICAgICBzY3JpcHQuaWQgPSAndGR3ZWJjaGF0c2NyaXB0JztcclxuICAgICAgc2NyaXB0LnNyYyA9IHNyYztcclxuICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcclxuICAgICAgZmlyc3RTY3JpcHRUYWcucGFyZW50Tm9kZT8uaW5zZXJ0QmVmb3JlKHNjcmlwdCwgZmlyc3RTY3JpcHRUYWcpO1xyXG4gICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgIHdlYmNoYXQgPSBUYWxrZGVza0NoYXRTREsobm9kZSwgcHJvcHMpO1xyXG4gICAgICAgIHdlYmNoYXQuaW5pdChjb25maWdzKTtcclxuICAgICAgICAvKlxyXG4gICAgICAgICAqIFNlbmQgY3VzdG9tIGRhdGEgZnJvbSB5b3VyIHdlYnNpdGUgdG8gVGFsa0Rlc2shXHJcbiAgICAgICAgICogSWYgeW91IHdvdWxkIGxpa2UgdG8gZG8gaXQsIHlvdSBuZWVkIHRvIHJlbW92ZSB0aGUgZm9sbG93aW5nIGNvbW1lbnRlZCBjb2RlIGFuZFxyXG4gICAgICAgICAqIG1vZGlmeSB0aGUgd2ViY2hhdC5zZXRDb250ZXh0UGFyYW0gcGFyYW1ldGVycyB0byBwYXNzIGluIHRoZSBkYXRhIHlvdSBuZWVkLlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIC8qZnVuY3Rpb24gc2V0Q29udGV4dCgpIHtcclxuICAgICAgICAgIHdlYmNoYXQuc2V0Q29udGV4dFBhcmFtKHsgXCJ2YXIxXCI6IFwidmFsdWUxXCIsIFwidmFyMlwiOiBcInZhbHVlMlwiLCBcInZhcjNcIjogMTAwIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFNlbmQgZGF0YSB3aGVuIHRoZSBjaGF0IGNvbnZlcnNhdGlvbiBpcyBpbml0aWF0ZWRcclxuICAgICAgICB3ZWJjaGF0Lm9uQ29udmVyc2F0aW9uU3RhcnQgPSBmdW5jdGlvbigpIHtcclxuICAgICAgICAgIHNldENvbnRleHQoKVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTZW5kIGRhdGEgd2hlbiB0aGUgY2hhdCB3aWRnZXQgaXMgb3BlblxyXG4gICAgICAgIHdlYmNoYXQub25PcGVuV2ViY2hhdCA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgc2V0Q29udGV4dCgpXHJcbiAgICAgICAgfSovXHJcbiAgICAgIH07XHJcbiAgICB9KShcclxuICAgICAgd2luZG93LFxyXG4gICAgICBkb2N1bWVudCxcclxuICAgICAgJ3RkV2ViY2hhdCcsXHJcbiAgICAgIHsgdG91Y2hwb2ludElkOiB0aGlzLmNoYXRDbGllbnRJZCwgYWNjb3VudElkOiAnJywgcmVnaW9uOiB0aGlzLmNoYXRDbGllbnRSZWdpb24gfSxcclxuICAgICAgeyAuLi50aGlzLmNoYXRCcmFuZGluZ31cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3J2ZXN0YS9jaGF0LXdpZGdldC9zcmMvbGliL21vZGVscy9jaGF0LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDaGF0Q29uZmlnIHtcclxuICBjaGF0Q2xpZW50SWQ6IHN0cmluZztcclxuICBjaGF0Q2xpZW50UmVnaW9uOiBzdHJpbmc7XHJcbiAgY2hhdEJyYW5kaW5nOiBhbnk7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var ChatWidgetType;
|
|
2
|
+
(function (ChatWidgetType) {
|
|
3
|
+
ChatWidgetType["OFF"] = "OFF";
|
|
4
|
+
// GENESYS = 'GENESYS',
|
|
5
|
+
ChatWidgetType["TALKDESK"] = "TALKDESK";
|
|
6
|
+
})(ChatWidgetType || (ChatWidgetType = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC13aWRnZXQtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcnZlc3RhL2NoYXQtd2lkZ2V0L3NyYy9saWIvbW9kZWxzL2NoYXQtd2lkZ2V0LXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksY0FJWDtBQUpELFdBQVksY0FBYztJQUN4Qiw2QkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLHVDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENoYXRXaWRnZXRUeXBlIHtcclxuICBPRkYgPSAnT0ZGJyxcclxuICAvLyBHRU5FU1lTID0gJ0dFTkVTWVMnLFxyXG4gIFRBTEtERVNLID0gJ1RBTEtERVNLJ1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of chat-widget
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/components/chat-widget/chat-widget.component';
|
|
5
|
+
export * from './lib/chat-widget.module';
|
|
6
|
+
export * from './lib/models/chat-config';
|
|
7
|
+
export * from './lib/models/chat-widget-type';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcnZlc3RhL2NoYXQtd2lkZ2V0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjaGF0LXdpZGdldFxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2hhdC13aWRnZXQvY2hhdC13aWRnZXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhdC13aWRnZXQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQtY29uZmlnJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQtd2lkZ2V0LXR5cGUnO1xyXG4iXX0=
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, Input, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';
|
|
5
|
+
|
|
6
|
+
var ChatWidgetType;
|
|
7
|
+
(function (ChatWidgetType) {
|
|
8
|
+
ChatWidgetType["OFF"] = "OFF";
|
|
9
|
+
// GENESYS = 'GENESYS',
|
|
10
|
+
ChatWidgetType["TALKDESK"] = "TALKDESK";
|
|
11
|
+
})(ChatWidgetType || (ChatWidgetType = {}));
|
|
12
|
+
|
|
13
|
+
class TalkdeskChatComponent {
|
|
14
|
+
constructor() { }
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.createTalkDeskWidget();
|
|
17
|
+
}
|
|
18
|
+
createTalkDeskWidget() {
|
|
19
|
+
let webchat;
|
|
20
|
+
((window, document, node, props, configs) => {
|
|
21
|
+
if (window.TalkdeskChatSDK) {
|
|
22
|
+
console.error('TalkdeskChatSDK already included');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const divContainer = document.createElement('div');
|
|
26
|
+
divContainer.id = node;
|
|
27
|
+
document.body.appendChild(divContainer);
|
|
28
|
+
const src = `https://talkdeskchatsdk.talkdeskapp.com/talkdeskchatsdk.js`;
|
|
29
|
+
const script = document.createElement('script');
|
|
30
|
+
const firstScriptTag = document.getElementsByTagName('script')[0];
|
|
31
|
+
script.type = 'text/javascript';
|
|
32
|
+
script.charset = 'UTF-8';
|
|
33
|
+
script.id = 'tdwebchatscript';
|
|
34
|
+
script.src = src;
|
|
35
|
+
script.async = true;
|
|
36
|
+
firstScriptTag.parentNode?.insertBefore(script, firstScriptTag);
|
|
37
|
+
script.onload = () => {
|
|
38
|
+
webchat = TalkdeskChatSDK(node, props);
|
|
39
|
+
webchat.init(configs);
|
|
40
|
+
/*
|
|
41
|
+
* Send custom data from your website to TalkDesk!
|
|
42
|
+
* If you would like to do it, you need to remove the following commented code and
|
|
43
|
+
* modify the webchat.setContextParam parameters to pass in the data you need.
|
|
44
|
+
*/
|
|
45
|
+
/*function setContext() {
|
|
46
|
+
webchat.setContextParam({ "var1": "value1", "var2": "value2", "var3": 100 })
|
|
47
|
+
}
|
|
48
|
+
// Send data when the chat conversation is initiated
|
|
49
|
+
webchat.onConversationStart = function() {
|
|
50
|
+
setContext()
|
|
51
|
+
}
|
|
52
|
+
// Send data when the chat widget is open
|
|
53
|
+
webchat.onOpenWebchat = function() {
|
|
54
|
+
setContext()
|
|
55
|
+
}*/
|
|
56
|
+
};
|
|
57
|
+
})(window, document, 'tdWebchat', { touchpointId: this.chatClientId, accountId: '', region: this.chatClientRegion }, { ...this.chatBranding });
|
|
58
|
+
}
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TalkdeskChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: TalkdeskChatComponent, selector: "lib-talkdesk-chat", inputs: { chatClientId: "chatClientId", chatClientRegion: "chatClientRegion", chatBranding: "chatBranding" }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TalkdeskChatComponent, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{ selector: 'lib-talkdesk-chat', template: '' }]
|
|
65
|
+
}], ctorParameters: function () { return []; }, propDecorators: { chatClientId: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], chatClientRegion: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], chatBranding: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}] } });
|
|
72
|
+
|
|
73
|
+
class ChatWidgetComponent {
|
|
74
|
+
constructor() {
|
|
75
|
+
this.ChatWidgetType = ChatWidgetType;
|
|
76
|
+
}
|
|
77
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ChatWidgetComponent, selector: "lib-chat-widget", inputs: { chatType: "chatType", chatConfig: "chatConfig" }, ngImport: i0, template: `
|
|
79
|
+
<ng-container [ngSwitch]="chatType">
|
|
80
|
+
<lib-talkdesk-chat *ngSwitchCase="ChatWidgetType.TALKDESK"
|
|
81
|
+
[chatBranding]="chatConfig.chatBranding"
|
|
82
|
+
[chatClientId]="chatConfig.chatClientId"
|
|
83
|
+
[chatClientRegion]="chatConfig.chatClientRegion"></lib-talkdesk-chat>
|
|
84
|
+
<ng-container *ngSwitchCase="ChatWidgetType.OFF"></ng-container>
|
|
85
|
+
<ng-container *ngSwitchDefault></ng-container>
|
|
86
|
+
</ng-container>
|
|
87
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: TalkdeskChatComponent, selector: "lib-talkdesk-chat", inputs: ["chatClientId", "chatClientRegion", "chatBranding"] }] }); }
|
|
88
|
+
}
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetComponent, decorators: [{
|
|
90
|
+
type: Component,
|
|
91
|
+
args: [{ selector: 'lib-chat-widget', template: `
|
|
92
|
+
<ng-container [ngSwitch]="chatType">
|
|
93
|
+
<lib-talkdesk-chat *ngSwitchCase="ChatWidgetType.TALKDESK"
|
|
94
|
+
[chatBranding]="chatConfig.chatBranding"
|
|
95
|
+
[chatClientId]="chatConfig.chatClientId"
|
|
96
|
+
[chatClientRegion]="chatConfig.chatClientRegion"></lib-talkdesk-chat>
|
|
97
|
+
<ng-container *ngSwitchCase="ChatWidgetType.OFF"></ng-container>
|
|
98
|
+
<ng-container *ngSwitchDefault></ng-container>
|
|
99
|
+
</ng-container>
|
|
100
|
+
` }]
|
|
101
|
+
}], propDecorators: { chatType: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], chatConfig: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}] } });
|
|
106
|
+
|
|
107
|
+
class ChatWidgetModule {
|
|
108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
109
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetModule, declarations: [ChatWidgetComponent,
|
|
110
|
+
TalkdeskChatComponent], imports: [NgSwitch,
|
|
111
|
+
NgSwitchCase,
|
|
112
|
+
NgSwitchDefault], exports: [ChatWidgetComponent] }); }
|
|
113
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetModule }); }
|
|
114
|
+
}
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ChatWidgetModule, decorators: [{
|
|
116
|
+
type: NgModule,
|
|
117
|
+
args: [{
|
|
118
|
+
declarations: [
|
|
119
|
+
ChatWidgetComponent,
|
|
120
|
+
TalkdeskChatComponent
|
|
121
|
+
],
|
|
122
|
+
imports: [
|
|
123
|
+
NgSwitch,
|
|
124
|
+
NgSwitchCase,
|
|
125
|
+
NgSwitchDefault
|
|
126
|
+
],
|
|
127
|
+
exports: [
|
|
128
|
+
ChatWidgetComponent
|
|
129
|
+
]
|
|
130
|
+
}]
|
|
131
|
+
}] });
|
|
132
|
+
|
|
133
|
+
/*
|
|
134
|
+
* Public API Surface of chat-widget
|
|
135
|
+
*/
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Generated bundle index. Do not edit.
|
|
139
|
+
*/
|
|
140
|
+
|
|
141
|
+
export { ChatWidgetComponent, ChatWidgetModule, ChatWidgetType };
|
|
142
|
+
//# sourceMappingURL=corvesta-chat-widget.mjs.map
|
|
@@ -0,0 +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/public-api.ts","../../../../projects/corvesta/chat-widget/src/corvesta-chat-widget.ts"],"sourcesContent":["export enum ChatWidgetType {\r\n OFF = 'OFF',\r\n // GENESYS = 'GENESYS',\r\n TALKDESK = '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 selector: 'lib-talkdesk-chat',\r\n template: '',\r\n styles: ['']\r\n})\r\nexport class TalkdeskChatComponent implements OnInit{\r\n @Input() chatClientId!: string;\r\n @Input() chatClientRegion!: string;\r\n @Input() chatBranding!: any;\r\n\r\n constructor() { }\r\n\r\n public ngOnInit (): void {\r\n this.createTalkDeskWidget();\r\n }\r\n\r\n private createTalkDeskWidget(): void {\r\n\r\n let webchat;\r\n ((window, document, node, props, configs) => {\r\n if ((window as any).TalkdeskChatSDK) {\r\n console.error('TalkdeskChatSDK already included');\r\n return;\r\n }\r\n const divContainer = document.createElement ('div');\r\n divContainer.id = node;\r\n document.body.appendChild(divContainer);\r\n const src = `https://talkdeskchatsdk.talkdeskapp.com/talkdeskchatsdk.js`;\r\n const script: HTMLScriptElement = document.createElement ('script');\r\n const firstScriptTag: HTMLScriptElement = document.getElementsByTagName ('script')[0];\r\n script.type = 'text/javascript';\r\n script.charset = 'UTF-8';\r\n script.id = 'tdwebchatscript';\r\n script.src = src;\r\n script.async = true;\r\n firstScriptTag.parentNode?.insertBefore(script, firstScriptTag);\r\n script.onload = () => {\r\n webchat = TalkdeskChatSDK(node, props);\r\n webchat.init(configs);\r\n /*\r\n * Send custom data from your website to TalkDesk!\r\n * If you would like to do it, you need to remove the following commented code and\r\n * modify the webchat.setContextParam parameters to pass in the data you need.\r\n */\r\n /*function setContext() {\r\n webchat.setContextParam({ \"var1\": \"value1\", \"var2\": \"value2\", \"var3\": 100 })\r\n }\r\n // Send data when the chat conversation is initiated\r\n webchat.onConversationStart = function() {\r\n setContext()\r\n }\r\n // Send data when the chat widget is open\r\n webchat.onOpenWebchat = function() {\r\n setContext()\r\n }*/\r\n };\r\n })(\r\n window,\r\n document,\r\n 'tdWebchat',\r\n { touchpointId: this.chatClientId, accountId: '', region: this.chatClientRegion },\r\n { ...this.chatBranding}\r\n );\r\n }\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 selector: 'lib-chat-widget',\r\n template: `\r\n <ng-container [ngSwitch]=\"chatType\">\r\n <lib-talkdesk-chat *ngSwitchCase=\"ChatWidgetType.TALKDESK\"\r\n [chatBranding]=\"chatConfig.chatBranding\"\r\n [chatClientId]=\"chatConfig.chatClientId\"\r\n [chatClientRegion]=\"chatConfig.chatClientRegion\"></lib-talkdesk-chat>\r\n <ng-container *ngSwitchCase=\"ChatWidgetType.OFF\"></ng-container>\r\n <ng-container *ngSwitchDefault></ng-container>\r\n </ng-container>\r\n `,\r\n styles: []\r\n})\r\nexport class ChatWidgetComponent {\r\n @Input() chatType!: ChatWidgetType;\r\n @Input() chatConfig!: ChatConfig;\r\n\r\n protected 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\nimport { NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ChatWidgetComponent,\r\n TalkdeskChatComponent\r\n ],\r\n imports: [\r\n NgSwitch,\r\n NgSwitchCase,\r\n NgSwitchDefault\r\n ],\r\n exports: [\r\n ChatWidgetComponent\r\n ]\r\n})\r\nexport class ChatWidgetModule { }\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\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.TalkdeskChatComponent"],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./components/chat-widget/chat-widget.component";
|
|
3
|
+
import * as i2 from "./components/talkdesk-chat/talkdesk-chat.component";
|
|
4
|
+
import * as i3 from "@angular/common";
|
|
5
|
+
export declare class ChatWidgetModule {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChatWidgetModule, never>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ChatWidgetModule, [typeof i1.ChatWidgetComponent, typeof i2.TalkdeskChatComponent], [typeof i3.NgSwitch, typeof i3.NgSwitchCase, typeof i3.NgSwitchDefault], [typeof i1.ChatWidgetComponent]>;
|
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ChatWidgetModule>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ChatWidgetType } from '../../models/chat-widget-type';
|
|
2
|
+
import { ChatConfig } from '../../models/chat-config';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ChatWidgetComponent {
|
|
5
|
+
chatType: ChatWidgetType;
|
|
6
|
+
chatConfig: ChatConfig;
|
|
7
|
+
protected readonly ChatWidgetType: typeof ChatWidgetType;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChatWidgetComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChatWidgetComponent, "lib-chat-widget", never, { "chatType": { "alias": "chatType"; "required": false; }; "chatConfig": { "alias": "chatConfig"; "required": false; }; }, {}, never, never, false, never>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class TalkdeskChatComponent implements OnInit {
|
|
4
|
+
chatClientId: string;
|
|
5
|
+
chatClientRegion: string;
|
|
6
|
+
chatBranding: any;
|
|
7
|
+
constructor();
|
|
8
|
+
ngOnInit(): void;
|
|
9
|
+
private createTalkDeskWidget;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TalkdeskChatComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TalkdeskChatComponent, "lib-talkdesk-chat", never, { "chatClientId": { "alias": "chatClientId"; "required": false; }; "chatClientRegion": { "alias": "chatClientRegion"; "required": false; }; "chatBranding": { "alias": "chatBranding"; "required": false; }; }, {}, never, never, false, never>;
|
|
12
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@corvesta/chat-widget",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^16.2.0",
|
|
6
|
+
"@angular/core": "^16.2.0"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.3.0"
|
|
10
|
+
},
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"module": "fesm2022/corvesta-chat-widget.mjs",
|
|
13
|
+
"typings": "index.d.ts",
|
|
14
|
+
"exports": {
|
|
15
|
+
"./package.json": {
|
|
16
|
+
"default": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./index.d.ts",
|
|
20
|
+
"esm2022": "./esm2022/corvesta-chat-widget.mjs",
|
|
21
|
+
"esm": "./esm2022/corvesta-chat-widget.mjs",
|
|
22
|
+
"default": "./fesm2022/corvesta-chat-widget.mjs"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
package/public-api.d.ts
ADDED