nerdagent-chat-widget-angular 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,12 @@
1
1
  import { Component, Input, Output, EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class ChatWidgetComponent {
4
+ elementRef;
5
+ renderer;
6
+ constructor(elementRef, renderer) {
7
+ this.elementRef = elementRef;
8
+ this.renderer = renderer;
9
+ }
4
10
  apikey = '';
5
11
  agentId = '';
6
12
  agentName = 'Support Agent';
@@ -20,51 +26,33 @@ export class ChatWidgetComponent {
20
26
  messageSent = new EventEmitter();
21
27
  widgetOpened = new EventEmitter();
22
28
  widgetClosed = new EventEmitter();
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChatWidgetComponent, selector: "nerd-chat-widget", inputs: { apikey: "apikey", agentId: "agentId", agentName: "agentName", agentRole: "agentRole", primaryColor: "primaryColor", accentColor: "accentColor", welcomeMessage: "welcomeMessage", placeholderText: "placeholderText", position: "position", width: "width", height: "height", showMinimizeButton: "showMinimizeButton", showTimestamps: "showTimestamps", enableFileUpload: "enableFileUpload", enableSpeech: "enableSpeech", showPoweredBy: "showPoweredBy" }, outputs: { messageSent: "messageSent", widgetOpened: "widgetOpened", widgetClosed: "widgetClosed" }, ngImport: i0, template: `
25
- <nerd-chat-widget
26
- [attr.apikey]="apikey"
27
- [attr.agent-id]="agentId"
28
- [attr.agent-name]="agentName"
29
- [attr.agent-role]="agentRole"
30
- [attr.primary-color]="primaryColor"
31
- [attr.accent-color]="accentColor"
32
- [attr.welcome-message]="welcomeMessage"
33
- [attr.placeholder-text]="placeholderText"
34
- [attr.position]="position"
35
- [attr.width]="width"
36
- [attr.height]="height"
37
- [attr.show-minimize-button]="showMinimizeButton?.toString()"
38
- [attr.show-timestamps]="showTimestamps?.toString()"
39
- [attr.enable-file-upload]="enableFileUpload?.toString()"
40
- [attr.enable-speech]="enableSpeech?.toString()"
41
- [attr.show-powered-by]="showPoweredBy?.toString()">
42
- </nerd-chat-widget>
43
- `, isInline: true, dependencies: [{ kind: "component", type: ChatWidgetComponent, selector: "nerd-chat-widget", inputs: ["apikey", "agentId", "agentName", "agentRole", "primaryColor", "accentColor", "welcomeMessage", "placeholderText", "position", "width", "height", "showMinimizeButton", "showTimestamps", "enableFileUpload", "enableSpeech", "showPoweredBy"], outputs: ["messageSent", "widgetOpened", "widgetClosed"] }] });
29
+ ngAfterViewInit() {
30
+ // Set all attributes on the host element
31
+ const element = this.elementRef.nativeElement;
32
+ this.renderer.setAttribute(element, 'apikey', this.apikey || '');
33
+ this.renderer.setAttribute(element, 'agent-id', this.agentId || '');
34
+ this.renderer.setAttribute(element, 'agent-name', this.agentName || '');
35
+ this.renderer.setAttribute(element, 'agent-role', this.agentRole || '');
36
+ this.renderer.setAttribute(element, 'primary-color', this.primaryColor || '');
37
+ this.renderer.setAttribute(element, 'accent-color', this.accentColor || '');
38
+ this.renderer.setAttribute(element, 'welcome-message', this.welcomeMessage || '');
39
+ this.renderer.setAttribute(element, 'placeholder-text', this.placeholderText || '');
40
+ this.renderer.setAttribute(element, 'position', this.position || '');
41
+ this.renderer.setAttribute(element, 'width', this.width || '');
42
+ this.renderer.setAttribute(element, 'height', this.height || '');
43
+ this.renderer.setAttribute(element, 'show-minimize-button', this.showMinimizeButton?.toString() || 'false');
44
+ this.renderer.setAttribute(element, 'show-timestamps', this.showTimestamps?.toString() || 'false');
45
+ this.renderer.setAttribute(element, 'enable-file-upload', this.enableFileUpload?.toString() || 'false');
46
+ this.renderer.setAttribute(element, 'enable-speech', this.enableSpeech?.toString() || 'false');
47
+ this.renderer.setAttribute(element, 'show-powered-by', this.showPoweredBy?.toString() || 'false');
48
+ }
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatWidgetComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChatWidgetComponent, selector: "nerd-chat-widget", inputs: { apikey: "apikey", agentId: "agentId", agentName: "agentName", agentRole: "agentRole", primaryColor: "primaryColor", accentColor: "accentColor", welcomeMessage: "welcomeMessage", placeholderText: "placeholderText", position: "position", width: "width", height: "height", showMinimizeButton: "showMinimizeButton", showTimestamps: "showTimestamps", enableFileUpload: "enableFileUpload", enableSpeech: "enableSpeech", showPoweredBy: "showPoweredBy" }, outputs: { messageSent: "messageSent", widgetOpened: "widgetOpened", widgetClosed: "widgetClosed" }, ngImport: i0, template: '', isInline: true });
44
51
  }
45
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatWidgetComponent, decorators: [{
46
53
  type: Component,
47
- args: [{ selector: 'nerd-chat-widget', template: `
48
- <nerd-chat-widget
49
- [attr.apikey]="apikey"
50
- [attr.agent-id]="agentId"
51
- [attr.agent-name]="agentName"
52
- [attr.agent-role]="agentRole"
53
- [attr.primary-color]="primaryColor"
54
- [attr.accent-color]="accentColor"
55
- [attr.welcome-message]="welcomeMessage"
56
- [attr.placeholder-text]="placeholderText"
57
- [attr.position]="position"
58
- [attr.width]="width"
59
- [attr.height]="height"
60
- [attr.show-minimize-button]="showMinimizeButton?.toString()"
61
- [attr.show-timestamps]="showTimestamps?.toString()"
62
- [attr.enable-file-upload]="enableFileUpload?.toString()"
63
- [attr.enable-speech]="enableSpeech?.toString()"
64
- [attr.show-powered-by]="showPoweredBy?.toString()">
65
- </nerd-chat-widget>
66
- ` }]
67
- }], propDecorators: { apikey: [{
54
+ args: [{ selector: 'nerd-chat-widget', template: '' }]
55
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { apikey: [{
68
56
  type: Input
69
57
  }], agentId: [{
70
58
  type: Input
@@ -103,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
103
91
  }], widgetClosed: [{
104
92
  type: Output
105
93
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jaGF0LXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUEyQnZFLE1BQU0sT0FBTyxtQkFBbUI7SUFDckIsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUNwQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLFNBQVMsR0FBVyxlQUFlLENBQUM7SUFDcEMsU0FBUyxHQUFXLGtCQUFrQixDQUFDO0lBQ3ZDLFlBQVksR0FBVyxTQUFTLENBQUM7SUFDakMsV0FBVyxHQUFXLFNBQVMsQ0FBQztJQUNoQyxjQUFjLEdBQVcscUJBQXFCLENBQUM7SUFDL0MsZUFBZSxHQUFXLHNCQUFzQixDQUFDO0lBQ2pELFFBQVEsR0FBbUIsY0FBYyxDQUFDO0lBQzFDLEtBQUssR0FBVyxLQUFLLENBQUM7SUFDdEIsTUFBTSxHQUFXLEtBQUssQ0FBQztJQUN2QixrQkFBa0IsR0FBWSxJQUFJLENBQUM7SUFDbkMsY0FBYyxHQUFZLElBQUksQ0FBQztJQUMvQixnQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFDbEMsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUM5QixhQUFhLEdBQVksSUFBSSxDQUFDO0lBRTdCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBd0MsQ0FBQztJQUN2RSxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUN4QyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQzt3R0FwQnZDLG1CQUFtQjs0RkFBbkIsbUJBQW1CLHVtQkF0QnBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJULDREQUdVLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkF4Qi9CLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUOzhCQUlRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2lkZ2V0UG9zaXRpb24gfSBmcm9tICcuL2NoYXQtd2lkZ2V0LnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmVyZC1jaGF0LXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5lcmQtY2hhdC13aWRnZXRcbiAgICAgIFthdHRyLmFwaWtleV09XCJhcGlrZXlcIlxuICAgICAgW2F0dHIuYWdlbnQtaWRdPVwiYWdlbnRJZFwiXG4gICAgICBbYXR0ci5hZ2VudC1uYW1lXT1cImFnZW50TmFtZVwiXG4gICAgICBbYXR0ci5hZ2VudC1yb2xlXT1cImFnZW50Um9sZVwiXG4gICAgICBbYXR0ci5wcmltYXJ5LWNvbG9yXT1cInByaW1hcnlDb2xvclwiXG4gICAgICBbYXR0ci5hY2NlbnQtY29sb3JdPVwiYWNjZW50Q29sb3JcIlxuICAgICAgW2F0dHIud2VsY29tZS1tZXNzYWdlXT1cIndlbGNvbWVNZXNzYWdlXCJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyLXRleHRdPVwicGxhY2Vob2xkZXJUZXh0XCJcbiAgICAgIFthdHRyLnBvc2l0aW9uXT1cInBvc2l0aW9uXCJcbiAgICAgIFthdHRyLndpZHRoXT1cIndpZHRoXCJcbiAgICAgIFthdHRyLmhlaWdodF09XCJoZWlnaHRcIlxuICAgICAgW2F0dHIuc2hvdy1taW5pbWl6ZS1idXR0b25dPVwic2hvd01pbmltaXplQnV0dG9uPy50b1N0cmluZygpXCJcbiAgICAgIFthdHRyLnNob3ctdGltZXN0YW1wc109XCJzaG93VGltZXN0YW1wcz8udG9TdHJpbmcoKVwiXG4gICAgICBbYXR0ci5lbmFibGUtZmlsZS11cGxvYWRdPVwiZW5hYmxlRmlsZVVwbG9hZD8udG9TdHJpbmcoKVwiXG4gICAgICBbYXR0ci5lbmFibGUtc3BlZWNoXT1cImVuYWJsZVNwZWVjaD8udG9TdHJpbmcoKVwiXG4gICAgICBbYXR0ci5zaG93LXBvd2VyZWQtYnldPVwic2hvd1Bvd2VyZWRCeT8udG9TdHJpbmcoKVwiPlxuICAgIDwvbmVyZC1jaGF0LXdpZGdldD5cbiAgYCxcbiAgc3R5bGVzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBDaGF0V2lkZ2V0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgYXBpa2V5OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYWdlbnRJZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGFnZW50TmFtZTogc3RyaW5nID0gJ1N1cHBvcnQgQWdlbnQnO1xuICBASW5wdXQoKSBhZ2VudFJvbGU6IHN0cmluZyA9ICdDdXN0b21lciBTdXBwb3J0JztcbiAgQElucHV0KCkgcHJpbWFyeUNvbG9yOiBzdHJpbmcgPSAnIzJkM2U1MCc7XG4gIEBJbnB1dCgpIGFjY2VudENvbG9yOiBzdHJpbmcgPSAnIzRlOGNmZic7XG4gIEBJbnB1dCgpIHdlbGNvbWVNZXNzYWdlOiBzdHJpbmcgPSAnSGkhIEhvdyBjYW4gSSBoZWxwPyc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyVGV4dDogc3RyaW5nID0gJ1R5cGUgeW91ciBtZXNzYWdlLi4uJztcbiAgQElucHV0KCkgcG9zaXRpb246IFdpZGdldFBvc2l0aW9uID0gJ2JvdHRvbS1yaWdodCc7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnMzUwJztcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnNTAwJztcbiAgQElucHV0KCkgc2hvd01pbmltaXplQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1RpbWVzdGFtcHM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBlbmFibGVGaWxlVXBsb2FkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVuYWJsZVNwZWVjaDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93UG93ZXJlZEJ5OiBib29sZWFuID0gdHJ1ZTtcblxuICBAT3V0cHV0KCkgbWVzc2FnZVNlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbWVzc2FnZTogc3RyaW5nOyB0aW1lc3RhbXA6IERhdGUgfT4oKTtcbiAgQE91dHB1dCgpIHdpZGdldE9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHdpZGdldENsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbn1cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jaGF0LXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBd0MsTUFBTSxlQUFlLENBQUM7O0FBUTdHLE1BQU0sT0FBTyxtQkFBbUI7SUFFcEI7SUFDQTtJQUZWLFlBQ1UsVUFBc0IsRUFDdEIsUUFBbUI7UUFEbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQzFCLENBQUM7SUFDSyxNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckIsU0FBUyxHQUFXLGVBQWUsQ0FBQztJQUNwQyxTQUFTLEdBQVcsa0JBQWtCLENBQUM7SUFDdkMsWUFBWSxHQUFXLFNBQVMsQ0FBQztJQUNqQyxXQUFXLEdBQVcsU0FBUyxDQUFDO0lBQ2hDLGNBQWMsR0FBVyxxQkFBcUIsQ0FBQztJQUMvQyxlQUFlLEdBQVcsc0JBQXNCLENBQUM7SUFDakQsUUFBUSxHQUFtQixjQUFjLENBQUM7SUFDMUMsS0FBSyxHQUFXLEtBQUssQ0FBQztJQUN0QixNQUFNLEdBQVcsS0FBSyxDQUFDO0lBQ3ZCLGtCQUFrQixHQUFZLElBQUksQ0FBQztJQUNuQyxjQUFjLEdBQVksSUFBSSxDQUFDO0lBQy9CLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUNsQyxZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzlCLGFBQWEsR0FBWSxJQUFJLENBQUM7SUFFN0IsV0FBVyxHQUFHLElBQUksWUFBWSxFQUF3QyxDQUFDO0lBQ3ZFLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ3hDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWxELGVBQWU7UUFDYix5Q0FBeUM7UUFD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QUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2lkZ2V0UG9zaXRpb24gfSBmcm9tICcuL2NoYXQtd2lkZ2V0LnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmVyZC1jaGF0LXdpZGdldCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBDaGF0V2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7fVxuICBASW5wdXQoKSBhcGlrZXk6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBhZ2VudElkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYWdlbnROYW1lOiBzdHJpbmcgPSAnU3VwcG9ydCBBZ2VudCc7XG4gIEBJbnB1dCgpIGFnZW50Um9sZTogc3RyaW5nID0gJ0N1c3RvbWVyIFN1cHBvcnQnO1xuICBASW5wdXQoKSBwcmltYXJ5Q29sb3I6IHN0cmluZyA9ICcjMmQzZTUwJztcbiAgQElucHV0KCkgYWNjZW50Q29sb3I6IHN0cmluZyA9ICcjNGU4Y2ZmJztcbiAgQElucHV0KCkgd2VsY29tZU1lc3NhZ2U6IHN0cmluZyA9ICdIaSEgSG93IGNhbiBJIGhlbHA/JztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXJUZXh0OiBzdHJpbmcgPSAnVHlwZSB5b3VyIG1lc3NhZ2UuLi4nO1xuICBASW5wdXQoKSBwb3NpdGlvbjogV2lkZ2V0UG9zaXRpb24gPSAnYm90dG9tLXJpZ2h0JztcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICczNTAnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICc1MDAnO1xuICBASW5wdXQoKSBzaG93TWluaW1pemVCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93VGltZXN0YW1wczogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGVuYWJsZUZpbGVVcGxvYWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZW5hYmxlU3BlZWNoOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dQb3dlcmVkQnk6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBPdXRwdXQoKSBtZXNzYWdlU2VudCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtZXNzYWdlOiBzdHJpbmc7IHRpbWVzdGFtcDogRGF0ZSB9PigpO1xuICBAT3V0cHV0KCkgd2lkZ2V0T3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgd2lkZ2V0Q2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBTZXQgYWxsIGF0dHJpYnV0ZXMgb24gdGhlIGhvc3QgZWxlbWVudFxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAnYXBpa2V5JywgdGhpcy5hcGlrZXkgfHwgJycpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnQsICdhZ2VudC1pZCcsIHRoaXMuYWdlbnRJZCB8fCAnJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWxlbWVudCwgJ2FnZW50LW5hbWUnLCB0aGlzLmFnZW50TmFtZSB8fCAnJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWxlbWVudCwgJ2FnZW50LXJvbGUnLCB0aGlzLmFnZW50Um9sZSB8fCAnJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWxlbWVudCwgJ3ByaW1hcnktY29sb3InLCB0aGlzLnByaW1hcnlDb2xvciB8fCAnJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWxlbWVudCwgJ2FjY2VudC1jb2xvcicsIHRoaXMuYWNjZW50Q29sb3IgfHwgJycpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnQsICd3ZWxjb21lLW1lc3NhZ2UnLCB0aGlzLndlbGNvbWVNZXNzYWdlIHx8ICcnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAncGxhY2Vob2xkZXItdGV4dCcsIHRoaXMucGxhY2Vob2xkZXJUZXh0IHx8ICcnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAncG9zaXRpb24nLCB0aGlzLnBvc2l0aW9uIHx8ICcnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAnd2lkdGgnLCB0aGlzLndpZHRoIHx8ICcnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAnaGVpZ2h0JywgdGhpcy5oZWlnaHQgfHwgJycpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnQsICdzaG93LW1pbmltaXplLWJ1dHRvbicsIHRoaXMuc2hvd01pbmltaXplQnV0dG9uPy50b1N0cmluZygpIHx8ICdmYWxzZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnQsICdzaG93LXRpbWVzdGFtcHMnLCB0aGlzLnNob3dUaW1lc3RhbXBzPy50b1N0cmluZygpIHx8ICdmYWxzZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnQsICdlbmFibGUtZmlsZS11cGxvYWQnLCB0aGlzLmVuYWJsZUZpbGVVcGxvYWQ/LnRvU3RyaW5nKCkgfHwgJ2ZhbHNlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWxlbWVudCwgJ2VuYWJsZS1zcGVlY2gnLCB0aGlzLmVuYWJsZVNwZWVjaD8udG9TdHJpbmcoKSB8fCAnZmFsc2UnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAnc2hvdy1wb3dlcmVkLWJ5JywgdGhpcy5zaG93UG93ZXJlZEJ5Py50b1N0cmluZygpIHx8ICdmYWxzZScpO1xuICB9XG59XG4iXX0=
@@ -4,6 +4,12 @@ import { CommonModule } from '@angular/common';
4
4
  import { defineCustomElements } from 'nerdagent-chat-widget/loader';
5
5
 
6
6
  class ChatWidgetComponent {
7
+ elementRef;
8
+ renderer;
9
+ constructor(elementRef, renderer) {
10
+ this.elementRef = elementRef;
11
+ this.renderer = renderer;
12
+ }
7
13
  apikey = '';
8
14
  agentId = '';
9
15
  agentName = 'Support Agent';
@@ -23,51 +29,33 @@ class ChatWidgetComponent {
23
29
  messageSent = new EventEmitter();
24
30
  widgetOpened = new EventEmitter();
25
31
  widgetClosed = new EventEmitter();
26
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChatWidgetComponent, selector: "nerd-chat-widget", inputs: { apikey: "apikey", agentId: "agentId", agentName: "agentName", agentRole: "agentRole", primaryColor: "primaryColor", accentColor: "accentColor", welcomeMessage: "welcomeMessage", placeholderText: "placeholderText", position: "position", width: "width", height: "height", showMinimizeButton: "showMinimizeButton", showTimestamps: "showTimestamps", enableFileUpload: "enableFileUpload", enableSpeech: "enableSpeech", showPoweredBy: "showPoweredBy" }, outputs: { messageSent: "messageSent", widgetOpened: "widgetOpened", widgetClosed: "widgetClosed" }, ngImport: i0, template: `
28
- <nerd-chat-widget
29
- [attr.apikey]="apikey"
30
- [attr.agent-id]="agentId"
31
- [attr.agent-name]="agentName"
32
- [attr.agent-role]="agentRole"
33
- [attr.primary-color]="primaryColor"
34
- [attr.accent-color]="accentColor"
35
- [attr.welcome-message]="welcomeMessage"
36
- [attr.placeholder-text]="placeholderText"
37
- [attr.position]="position"
38
- [attr.width]="width"
39
- [attr.height]="height"
40
- [attr.show-minimize-button]="showMinimizeButton?.toString()"
41
- [attr.show-timestamps]="showTimestamps?.toString()"
42
- [attr.enable-file-upload]="enableFileUpload?.toString()"
43
- [attr.enable-speech]="enableSpeech?.toString()"
44
- [attr.show-powered-by]="showPoweredBy?.toString()">
45
- </nerd-chat-widget>
46
- `, isInline: true, dependencies: [{ kind: "component", type: ChatWidgetComponent, selector: "nerd-chat-widget", inputs: ["apikey", "agentId", "agentName", "agentRole", "primaryColor", "accentColor", "welcomeMessage", "placeholderText", "position", "width", "height", "showMinimizeButton", "showTimestamps", "enableFileUpload", "enableSpeech", "showPoweredBy"], outputs: ["messageSent", "widgetOpened", "widgetClosed"] }] });
32
+ ngAfterViewInit() {
33
+ // Set all attributes on the host element
34
+ const element = this.elementRef.nativeElement;
35
+ this.renderer.setAttribute(element, 'apikey', this.apikey || '');
36
+ this.renderer.setAttribute(element, 'agent-id', this.agentId || '');
37
+ this.renderer.setAttribute(element, 'agent-name', this.agentName || '');
38
+ this.renderer.setAttribute(element, 'agent-role', this.agentRole || '');
39
+ this.renderer.setAttribute(element, 'primary-color', this.primaryColor || '');
40
+ this.renderer.setAttribute(element, 'accent-color', this.accentColor || '');
41
+ this.renderer.setAttribute(element, 'welcome-message', this.welcomeMessage || '');
42
+ this.renderer.setAttribute(element, 'placeholder-text', this.placeholderText || '');
43
+ this.renderer.setAttribute(element, 'position', this.position || '');
44
+ this.renderer.setAttribute(element, 'width', this.width || '');
45
+ this.renderer.setAttribute(element, 'height', this.height || '');
46
+ this.renderer.setAttribute(element, 'show-minimize-button', this.showMinimizeButton?.toString() || 'false');
47
+ this.renderer.setAttribute(element, 'show-timestamps', this.showTimestamps?.toString() || 'false');
48
+ this.renderer.setAttribute(element, 'enable-file-upload', this.enableFileUpload?.toString() || 'false');
49
+ this.renderer.setAttribute(element, 'enable-speech', this.enableSpeech?.toString() || 'false');
50
+ this.renderer.setAttribute(element, 'show-powered-by', this.showPoweredBy?.toString() || 'false');
51
+ }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatWidgetComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
53
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChatWidgetComponent, selector: "nerd-chat-widget", inputs: { apikey: "apikey", agentId: "agentId", agentName: "agentName", agentRole: "agentRole", primaryColor: "primaryColor", accentColor: "accentColor", welcomeMessage: "welcomeMessage", placeholderText: "placeholderText", position: "position", width: "width", height: "height", showMinimizeButton: "showMinimizeButton", showTimestamps: "showTimestamps", enableFileUpload: "enableFileUpload", enableSpeech: "enableSpeech", showPoweredBy: "showPoweredBy" }, outputs: { messageSent: "messageSent", widgetOpened: "widgetOpened", widgetClosed: "widgetClosed" }, ngImport: i0, template: '', isInline: true });
47
54
  }
48
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatWidgetComponent, decorators: [{
49
56
  type: Component,
50
- args: [{ selector: 'nerd-chat-widget', template: `
51
- <nerd-chat-widget
52
- [attr.apikey]="apikey"
53
- [attr.agent-id]="agentId"
54
- [attr.agent-name]="agentName"
55
- [attr.agent-role]="agentRole"
56
- [attr.primary-color]="primaryColor"
57
- [attr.accent-color]="accentColor"
58
- [attr.welcome-message]="welcomeMessage"
59
- [attr.placeholder-text]="placeholderText"
60
- [attr.position]="position"
61
- [attr.width]="width"
62
- [attr.height]="height"
63
- [attr.show-minimize-button]="showMinimizeButton?.toString()"
64
- [attr.show-timestamps]="showTimestamps?.toString()"
65
- [attr.enable-file-upload]="enableFileUpload?.toString()"
66
- [attr.enable-speech]="enableSpeech?.toString()"
67
- [attr.show-powered-by]="showPoweredBy?.toString()">
68
- </nerd-chat-widget>
69
- ` }]
70
- }], propDecorators: { apikey: [{
57
+ args: [{ selector: 'nerd-chat-widget', template: '' }]
58
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { apikey: [{
71
59
  type: Input
72
60
  }], agentId: [{
73
61
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"nerdagent-chat-widget-angular.mjs","sources":["../../src/lib/chat-widget.component.ts","../../src/lib/chat-widget.module.ts","../../src/nerdagent-chat-widget-angular.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { WidgetPosition } from './chat-widget.types';\n\n@Component({\n selector: 'nerd-chat-widget',\n template: `\n <nerd-chat-widget\n [attr.apikey]=\"apikey\"\n [attr.agent-id]=\"agentId\"\n [attr.agent-name]=\"agentName\"\n [attr.agent-role]=\"agentRole\"\n [attr.primary-color]=\"primaryColor\"\n [attr.accent-color]=\"accentColor\"\n [attr.welcome-message]=\"welcomeMessage\"\n [attr.placeholder-text]=\"placeholderText\"\n [attr.position]=\"position\"\n [attr.width]=\"width\"\n [attr.height]=\"height\"\n [attr.show-minimize-button]=\"showMinimizeButton?.toString()\"\n [attr.show-timestamps]=\"showTimestamps?.toString()\"\n [attr.enable-file-upload]=\"enableFileUpload?.toString()\"\n [attr.enable-speech]=\"enableSpeech?.toString()\"\n [attr.show-powered-by]=\"showPoweredBy?.toString()\">\n </nerd-chat-widget>\n `,\n styles: []\n})\nexport class ChatWidgetComponent {\n @Input() apikey: string = '';\n @Input() agentId: string = '';\n @Input() agentName: string = 'Support Agent';\n @Input() agentRole: string = 'Customer Support';\n @Input() primaryColor: string = '#2d3e50';\n @Input() accentColor: string = '#4e8cff';\n @Input() welcomeMessage: string = 'Hi! How can I help?';\n @Input() placeholderText: string = 'Type your message...';\n @Input() position: WidgetPosition = 'bottom-right';\n @Input() width: string = '350';\n @Input() height: string = '500';\n @Input() showMinimizeButton: boolean = true;\n @Input() showTimestamps: boolean = true;\n @Input() enableFileUpload: boolean = false;\n @Input() enableSpeech: boolean = false;\n @Input() showPoweredBy: boolean = true;\n\n @Output() messageSent = new EventEmitter<{ message: string; timestamp: Date }>();\n @Output() widgetOpened = new EventEmitter<void>();\n @Output() widgetClosed = new EventEmitter<void>();\n}\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ChatWidgetComponent } from './chat-widget.component';\n\n// Import and define custom elements\nimport { defineCustomElements } from 'nerdagent-chat-widget/loader';\n\n// Define custom elements when module is imported\ndefineCustomElements();\n\n@NgModule({\n declarations: [\n ChatWidgetComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n ChatWidgetComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class NerdChatWidgetModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nerdagent-chat-widget-angular.mjs","sources":["../../src/lib/chat-widget.component.ts","../../src/lib/chat-widget.module.ts","../../src/nerdagent-chat-widget-angular.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter, ElementRef, AfterViewInit, Renderer2 } from '@angular/core';\nimport { WidgetPosition } from './chat-widget.types';\n\n@Component({\n selector: 'nerd-chat-widget',\n template: '',\n styles: []\n})\nexport class ChatWidgetComponent implements AfterViewInit {\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2\n ) {}\n @Input() apikey: string = '';\n @Input() agentId: string = '';\n @Input() agentName: string = 'Support Agent';\n @Input() agentRole: string = 'Customer Support';\n @Input() primaryColor: string = '#2d3e50';\n @Input() accentColor: string = '#4e8cff';\n @Input() welcomeMessage: string = 'Hi! How can I help?';\n @Input() placeholderText: string = 'Type your message...';\n @Input() position: WidgetPosition = 'bottom-right';\n @Input() width: string = '350';\n @Input() height: string = '500';\n @Input() showMinimizeButton: boolean = true;\n @Input() showTimestamps: boolean = true;\n @Input() enableFileUpload: boolean = false;\n @Input() enableSpeech: boolean = false;\n @Input() showPoweredBy: boolean = true;\n\n @Output() messageSent = new EventEmitter<{ message: string; timestamp: Date }>();\n @Output() widgetOpened = new EventEmitter<void>();\n @Output() widgetClosed = new EventEmitter<void>();\n\n ngAfterViewInit() {\n // Set all attributes on the host element\n const element = this.elementRef.nativeElement;\n \n this.renderer.setAttribute(element, 'apikey', this.apikey || '');\n this.renderer.setAttribute(element, 'agent-id', this.agentId || '');\n this.renderer.setAttribute(element, 'agent-name', this.agentName || '');\n this.renderer.setAttribute(element, 'agent-role', this.agentRole || '');\n this.renderer.setAttribute(element, 'primary-color', this.primaryColor || '');\n this.renderer.setAttribute(element, 'accent-color', this.accentColor || '');\n this.renderer.setAttribute(element, 'welcome-message', this.welcomeMessage || '');\n this.renderer.setAttribute(element, 'placeholder-text', this.placeholderText || '');\n this.renderer.setAttribute(element, 'position', this.position || '');\n this.renderer.setAttribute(element, 'width', this.width || '');\n this.renderer.setAttribute(element, 'height', this.height || '');\n this.renderer.setAttribute(element, 'show-minimize-button', this.showMinimizeButton?.toString() || 'false');\n this.renderer.setAttribute(element, 'show-timestamps', this.showTimestamps?.toString() || 'false');\n this.renderer.setAttribute(element, 'enable-file-upload', this.enableFileUpload?.toString() || 'false');\n this.renderer.setAttribute(element, 'enable-speech', this.enableSpeech?.toString() || 'false');\n this.renderer.setAttribute(element, 'show-powered-by', this.showPoweredBy?.toString() || 'false');\n }\n}\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ChatWidgetComponent } from './chat-widget.component';\n\n// Import and define custom elements\nimport { defineCustomElements } from 'nerdagent-chat-widget/loader';\n\n// Define custom elements when module is imported\ndefineCustomElements();\n\n@NgModule({\n declarations: [\n ChatWidgetComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n ChatWidgetComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class NerdChatWidgetModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { EventEmitter, ElementRef, AfterViewInit, Renderer2 } from '@angular/core';
2
2
  import { WidgetPosition } from './chat-widget.types';
3
3
  import * as i0 from "@angular/core";
4
- export declare class ChatWidgetComponent {
4
+ export declare class ChatWidgetComponent implements AfterViewInit {
5
+ private elementRef;
6
+ private renderer;
7
+ constructor(elementRef: ElementRef, renderer: Renderer2);
5
8
  apikey: string;
6
9
  agentId: string;
7
10
  agentName: string;
@@ -24,6 +27,7 @@ export declare class ChatWidgetComponent {
24
27
  }>;
25
28
  widgetOpened: EventEmitter<void>;
26
29
  widgetClosed: EventEmitter<void>;
30
+ ngAfterViewInit(): void;
27
31
  static ɵfac: i0.ɵɵFactoryDeclaration<ChatWidgetComponent, never>;
28
32
  static ɵcmp: i0.ɵɵComponentDeclaration<ChatWidgetComponent, "nerd-chat-widget", never, { "apikey": { "alias": "apikey"; "required": false; }; "agentId": { "alias": "agentId"; "required": false; }; "agentName": { "alias": "agentName"; "required": false; }; "agentRole": { "alias": "agentRole"; "required": false; }; "primaryColor": { "alias": "primaryColor"; "required": false; }; "accentColor": { "alias": "accentColor"; "required": false; }; "welcomeMessage": { "alias": "welcomeMessage"; "required": false; }; "placeholderText": { "alias": "placeholderText"; "required": false; }; "position": { "alias": "position"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "showMinimizeButton": { "alias": "showMinimizeButton"; "required": false; }; "showTimestamps": { "alias": "showTimestamps"; "required": false; }; "enableFileUpload": { "alias": "enableFileUpload"; "required": false; }; "enableSpeech": { "alias": "enableSpeech"; "required": false; }; "showPoweredBy": { "alias": "showPoweredBy"; "required": false; }; }, { "messageSent": "messageSent"; "widgetOpened": "widgetOpened"; "widgetClosed": "widgetClosed"; }, never, never, false, never>;
29
33
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nerdagent-chat-widget-angular",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "NerdAgent Chat Widget for Angular",
5
5
  "main": "dist/fesm2022/nerdagent-chat-widget-angular.mjs",
6
6
  "module": "dist/fesm2022/nerdagent-chat-widget-angular.mjs",
@@ -40,5 +40,5 @@
40
40
  "url": "https://github.com/nerdagent/chat-widget.git",
41
41
  "directory": "packages/angular"
42
42
  },
43
- "gitHead": "8afd7fbd61082648c02e89e5533bf284c6f5e6ec"
43
+ "gitHead": "5a7ca6bcb233aeec42cf3d63503668784b4afaf7"
44
44
  }