nerdagent-chat-widget-angular 1.0.8 → 1.0.10

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,7 +1,12 @@
1
- import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class ChatWidgetComponent {
4
- chatWidget;
4
+ elementRef;
5
+ constructor(elementRef) {
6
+ this.elementRef = elementRef;
7
+ }
8
+ apikey = '';
9
+ agentId = '';
5
10
  agentName = 'Support Agent';
6
11
  agentRole = 'Customer Support';
7
12
  primaryColor = '#2d3e50';
@@ -21,15 +26,18 @@ export class ChatWidgetComponent {
21
26
  widgetClosed = new EventEmitter();
22
27
  eventListeners = [];
23
28
  ngAfterViewInit() {
24
- if (this.chatWidget?.nativeElement) {
25
- this.setupEventListeners();
26
- }
29
+ // Use setTimeout to ensure the custom element is fully initialized
30
+ setTimeout(() => {
31
+ const chatWidget = this.elementRef.nativeElement.querySelector('nerd-chat-widget');
32
+ if (chatWidget) {
33
+ this.setupEventListeners(chatWidget);
34
+ }
35
+ }, 0);
27
36
  }
28
37
  ngOnDestroy() {
29
38
  this.removeEventListeners();
30
39
  }
31
- setupEventListeners() {
32
- const widget = this.chatWidget.nativeElement;
40
+ setupEventListeners(widget) {
33
41
  const messageSentListener = (event) => {
34
42
  this.messageSent.emit(event.detail);
35
43
  };
@@ -53,11 +61,13 @@ export class ChatWidgetComponent {
53
61
  this.eventListeners.forEach(cleanup => cleanup());
54
62
  this.eventListeners = [];
55
63
  }
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChatWidgetComponent, selector: "nerd-chat-widget", inputs: { 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" }, viewQueries: [{ propertyName: "chatWidget", first: true, predicate: ["chatWidget"], descendants: true }], ngImport: i0, template: `
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatWidgetComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
65
+ 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: `
58
66
  <div
59
67
  #chatWidget
60
68
  nerd-chat-widget
69
+ [attr.apikey]="apikey"
70
+ [attr.agent-id]="agentId"
61
71
  [attr.agent-name]="agentName"
62
72
  [attr.agent-role]="agentRole"
63
73
  [attr.primary-color]="primaryColor"
@@ -81,6 +91,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
81
91
  <div
82
92
  #chatWidget
83
93
  nerd-chat-widget
94
+ [attr.apikey]="apikey"
95
+ [attr.agent-id]="agentId"
84
96
  [attr.agent-name]="agentName"
85
97
  [attr.agent-role]="agentRole"
86
98
  [attr.primary-color]="primaryColor"
@@ -97,9 +109,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
97
109
  [attr.show-powered-by]="showPoweredBy?.toString()">
98
110
  </div>
99
111
  ` }]
100
- }], propDecorators: { chatWidget: [{
101
- type: ViewChild,
102
- args: ['chatWidget', { static: false }]
112
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { apikey: [{
113
+ type: Input
114
+ }], agentId: [{
115
+ type: Input
103
116
  }], agentName: [{
104
117
  type: Input
105
118
  }], agentRole: [{
@@ -135,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
135
148
  }], widgetClosed: [{
136
149
  type: Output
137
150
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jaGF0LXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYyxTQUFTLEVBQTRCLE1BQU0sZUFBZSxDQUFDOztBQTJCeEgsTUFBTSxPQUFPLG1CQUFtQjtJQUNjLFVBQVUsQ0FBMkI7SUFFeEUsU0FBUyxHQUFXLGVBQWUsQ0FBQztJQUNwQyxTQUFTLEdBQVcsa0JBQWtCLENBQUM7SUFDdkMsWUFBWSxHQUFXLFNBQVMsQ0FBQztJQUNqQyxXQUFXLEdBQVcsU0FBUyxDQUFDO0lBQ2hDLGNBQWMsR0FBVyxxQkFBcUIsQ0FBQztJQUMvQyxlQUFlLEdBQVcsc0JBQXNCLENBQUM7SUFDakQsUUFBUSxHQUFtQixjQUFjLENBQUM7SUFDMUMsS0FBSyxHQUFXLEtBQUssQ0FBQztJQUN0QixNQUFNLEdBQVcsS0FBSyxDQUFDO0lBQ3ZCLGtCQUFrQixHQUFZLElBQUksQ0FBQztJQUNuQyxjQUFjLEdBQVksSUFBSSxDQUFDO0lBQy9CLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUNsQyxZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzlCLGFBQWEsR0FBWSxJQUFJLENBQUM7SUFFN0IsV0FBVyxHQUFHLElBQUksWUFBWSxFQUF3QyxDQUFDO0lBQ3ZFLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ3hDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTFDLGNBQWMsR0FBc0IsRUFBRSxDQUFDO0lBRS9DLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUU3QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUM7UUFFRixNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDO1FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQWtCLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQztRQUVGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsbUJBQW9DLENBQUMsQ0FBQztRQUM3RSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLG9CQUFxQyxDQUFDLENBQUM7UUFDL0UsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxvQkFBcUMsQ0FBQyxDQUFDO1FBRS9FLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ3BCLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsbUJBQW9DLENBQUM7WUFDckYsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxvQkFBcUMsQ0FBQztZQUN2RixHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLG9CQUFxQyxDQUFDO1NBQ3hGLENBQUM7SUFDSixDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDO3dHQWhFVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwycUJBdEJwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CVDs7NEZBR1UsbUJBQW1CO2tCQXhCL0IsU0FBUzsrQkFDRSxrQkFBa0IsWUFDbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQlQ7OEJBSTJDLFVBQVU7c0JBQXJELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFakMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpZGdldFBvc2l0aW9uIH0gZnJvbSAnLi9jaGF0LXdpZGdldC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25lcmQtY2hhdC13aWRnZXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgICNjaGF0V2lkZ2V0XG4gICAgICBuZXJkLWNoYXQtd2lkZ2V0XG4gICAgICBbYXR0ci5hZ2VudC1uYW1lXT1cImFnZW50TmFtZVwiXG4gICAgICBbYXR0ci5hZ2VudC1yb2xlXT1cImFnZW50Um9sZVwiXG4gICAgICBbYXR0ci5wcmltYXJ5LWNvbG9yXT1cInByaW1hcnlDb2xvclwiXG4gICAgICBbYXR0ci5hY2NlbnQtY29sb3JdPVwiYWNjZW50Q29sb3JcIlxuICAgICAgW2F0dHIud2VsY29tZS1tZXNzYWdlXT1cIndlbGNvbWVNZXNzYWdlXCJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyLXRleHRdPVwicGxhY2Vob2xkZXJUZXh0XCJcbiAgICAgIFthdHRyLnBvc2l0aW9uXT1cInBvc2l0aW9uXCJcbiAgICAgIFthdHRyLndpZHRoXT1cIndpZHRoXCJcbiAgICAgIFthdHRyLmhlaWdodF09XCJoZWlnaHRcIlxuICAgICAgW2F0dHIuc2hvdy1taW5pbWl6ZS1idXR0b25dPVwic2hvd01pbmltaXplQnV0dG9uPy50b1N0cmluZygpXCJcbiAgICAgIFthdHRyLnNob3ctdGltZXN0YW1wc109XCJzaG93VGltZXN0YW1wcz8udG9TdHJpbmcoKVwiXG4gICAgICBbYXR0ci5lbmFibGUtZmlsZS11cGxvYWRdPVwiZW5hYmxlRmlsZVVwbG9hZD8udG9TdHJpbmcoKVwiXG4gICAgICBbYXR0ci5lbmFibGUtc3BlZWNoXT1cImVuYWJsZVNwZWVjaD8udG9TdHJpbmcoKVwiXG4gICAgICBbYXR0ci5zaG93LXBvd2VyZWQtYnldPVwic2hvd1Bvd2VyZWRCeT8udG9TdHJpbmcoKVwiPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIENoYXRXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjaGF0V2lkZ2V0JywgeyBzdGF0aWM6IGZhbHNlIH0pIGNoYXRXaWRnZXQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBASW5wdXQoKSBhZ2VudE5hbWU6IHN0cmluZyA9ICdTdXBwb3J0IEFnZW50JztcbiAgQElucHV0KCkgYWdlbnRSb2xlOiBzdHJpbmcgPSAnQ3VzdG9tZXIgU3VwcG9ydCc7XG4gIEBJbnB1dCgpIHByaW1hcnlDb2xvcjogc3RyaW5nID0gJyMyZDNlNTAnO1xuICBASW5wdXQoKSBhY2NlbnRDb2xvcjogc3RyaW5nID0gJyM0ZThjZmYnO1xuICBASW5wdXQoKSB3ZWxjb21lTWVzc2FnZTogc3RyaW5nID0gJ0hpISBIb3cgY2FuIEkgaGVscD8nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlclRleHQ6IHN0cmluZyA9ICdUeXBlIHlvdXIgbWVzc2FnZS4uLic7XG4gIEBJbnB1dCgpIHBvc2l0aW9uOiBXaWRnZXRQb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJzM1MCc7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJzUwMCc7XG4gIEBJbnB1dCgpIHNob3dNaW5pbWl6ZUJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dUaW1lc3RhbXBzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgZW5hYmxlRmlsZVVwbG9hZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBlbmFibGVTcGVlY2g6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd1Bvd2VyZWRCeTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQE91dHB1dCgpIG1lc3NhZ2VTZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1lc3NhZ2U6IHN0cmluZzsgdGltZXN0YW1wOiBEYXRlIH0+KCk7XG4gIEBPdXRwdXQoKSB3aWRnZXRPcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSB3aWRnZXRDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBldmVudExpc3RlbmVyczogQXJyYXk8KCkgPT4gdm9pZD4gPSBbXTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuY2hhdFdpZGdldD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5zZXR1cEV2ZW50TGlzdGVuZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEV2ZW50TGlzdGVuZXJzKCkge1xuICAgIGNvbnN0IHdpZGdldCA9IHRoaXMuY2hhdFdpZGdldC5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgbWVzc2FnZVNlbnRMaXN0ZW5lciA9IChldmVudDogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgIHRoaXMubWVzc2FnZVNlbnQuZW1pdChldmVudC5kZXRhaWwpO1xuICAgIH07XG5cbiAgICBjb25zdCB3aWRnZXRPcGVuZWRMaXN0ZW5lciA9IChldmVudDogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgIHRoaXMud2lkZ2V0T3BlbmVkLmVtaXQoKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgd2lkZ2V0Q2xvc2VkTGlzdGVuZXIgPSAoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgICB0aGlzLndpZGdldENsb3NlZC5lbWl0KCk7XG4gICAgfTtcblxuICAgIHdpZGdldC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlU2VudCcsIG1lc3NhZ2VTZW50TGlzdGVuZXIgYXMgRXZlbnRMaXN0ZW5lcik7XG4gICAgd2lkZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ3dpZGdldE9wZW5lZCcsIHdpZGdldE9wZW5lZExpc3RlbmVyIGFzIEV2ZW50TGlzdGVuZXIpO1xuICAgIHdpZGdldC5hZGRFdmVudExpc3RlbmVyKCd3aWRnZXRDbG9zZWQnLCB3aWRnZXRDbG9zZWRMaXN0ZW5lciBhcyBFdmVudExpc3RlbmVyKTtcblxuICAgIC8vIFN0b3JlIGNsZWFudXAgZnVuY3Rpb25zXG4gICAgdGhpcy5ldmVudExpc3RlbmVycyA9IFtcbiAgICAgICgpID0+IHdpZGdldC5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlU2VudCcsIG1lc3NhZ2VTZW50TGlzdGVuZXIgYXMgRXZlbnRMaXN0ZW5lciksXG4gICAgICAoKSA9PiB3aWRnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2lkZ2V0T3BlbmVkJywgd2lkZ2V0T3BlbmVkTGlzdGVuZXIgYXMgRXZlbnRMaXN0ZW5lciksXG4gICAgICAoKSA9PiB3aWRnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2lkZ2V0Q2xvc2VkJywgd2lkZ2V0Q2xvc2VkTGlzdGVuZXIgYXMgRXZlbnRMaXN0ZW5lciksXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKSB7XG4gICAgdGhpcy5ldmVudExpc3RlbmVycy5mb3JFYWNoKGNsZWFudXAgPT4gY2xlYW51cCgpKTtcbiAgICB0aGlzLmV2ZW50TGlzdGVuZXJzID0gW107XG4gIH1cbn1cbiJdfQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jaGF0LXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBd0MsTUFBTSxlQUFlLENBQUM7O0FBNkI3RyxNQUFNLE9BQU8sbUJBQW1CO0lBQ1Y7SUFBcEIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7SUFFckMsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUNwQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLFNBQVMsR0FBVyxlQUFlLENBQUM7SUFDcEMsU0FBUyxHQUFXLGtCQUFrQixDQUFDO0lBQ3ZDLFlBQVksR0FBVyxTQUFTLENBQUM7SUFDakMsV0FBVyxHQUFXLFNBQVMsQ0FBQztJQUNoQyxjQUFjLEdBQVcscUJBQXFCLENBQUM7SUFDL0MsZUFBZSxHQUFXLHNCQUFzQixDQUFDO0lBQ2pELFFBQVEsR0FBbUIsY0FBYyxDQUFDO0lBQzFDLEtBQUssR0FBVyxLQUFLLENBQUM7SUFDdEIsTUFBTSxHQUFXLEtBQUssQ0FBQztJQUN2QixrQkFBa0IsR0FBWSxJQUFJLENBQUM7SUFDbkMsY0FBYyxHQUFZLElBQUksQ0FBQztJQUMvQixnQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFDbEMsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUM5QixhQUFhLEdBQVksSUFBSSxDQUFDO0lBRTdCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBd0MsQ0FBQztJQUN2RSxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUN4QyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUUxQyxjQUFjLEdBQXNCLEVBQUUsQ0FBQztJQUUvQyxlQUFlO1FBQ2IsbUVBQW1FO1FBQ25FLFVBQVUsQ0FBQyxH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ZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2lkZ2V0UG9zaXRpb24gfSBmcm9tICcuL2NoYXQtd2lkZ2V0LnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmVyZC1jaGF0LXdpZGdldCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgI2NoYXRXaWRnZXRcbiAgICAgIG5lcmQtY2hhdC13aWRnZXRcbiAgICAgIFthdHRyLmFwaWtleV09XCJhcGlrZXlcIlxuICAgICAgW2F0dHIuYWdlbnQtaWRdPVwiYWdlbnRJZFwiXG4gICAgICBbYXR0ci5hZ2VudC1uYW1lXT1cImFnZW50TmFtZVwiXG4gICAgICBbYXR0ci5hZ2VudC1yb2xlXT1cImFnZW50Um9sZVwiXG4gICAgICBbYXR0ci5wcmltYXJ5LWNvbG9yXT1cInByaW1hcnlDb2xvclwiXG4gICAgICBbYXR0ci5hY2NlbnQtY29sb3JdPVwiYWNjZW50Q29sb3JcIlxuICAgICAgW2F0dHIud2VsY29tZS1tZXNzYWdlXT1cIndlbGNvbWVNZXNzYWdlXCJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyLXRleHRdPVwicGxhY2Vob2xkZXJUZXh0XCJcbiAgICAgIFthdHRyLnBvc2l0aW9uXT1cInBvc2l0aW9uXCJcbiAgICAgIFthdHRyLndpZHRoXT1cIndpZHRoXCJcbiAgICAgIFthdHRyLmhlaWdodF09XCJoZWlnaHRcIlxuICAgICAgW2F0dHIuc2hvdy1taW5pbWl6ZS1idXR0b25dPVwic2hvd01pbmltaXplQnV0dG9uPy50b1N0cmluZygpXCJcbiAgICAgIFthdHRyLnNob3ctdGltZXN0YW1wc109XCJzaG93VGltZXN0YW1wcz8udG9TdHJpbmcoKVwiXG4gICAgICBbYXR0ci5lbmFibGUtZmlsZS11cGxvYWRdPVwiZW5hYmxlRmlsZVVwbG9hZD8udG9TdHJpbmcoKVwiXG4gICAgICBbYXR0ci5lbmFibGUtc3BlZWNoXT1cImVuYWJsZVNwZWVjaD8udG9TdHJpbmcoKVwiXG4gICAgICBbYXR0ci5zaG93LXBvd2VyZWQtYnldPVwic2hvd1Bvd2VyZWRCeT8udG9TdHJpbmcoKVwiPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIENoYXRXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgQElucHV0KCkgYXBpa2V5OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYWdlbnRJZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGFnZW50TmFtZTogc3RyaW5nID0gJ1N1cHBvcnQgQWdlbnQnO1xuICBASW5wdXQoKSBhZ2VudFJvbGU6IHN0cmluZyA9ICdDdXN0b21lciBTdXBwb3J0JztcbiAgQElucHV0KCkgcHJpbWFyeUNvbG9yOiBzdHJpbmcgPSAnIzJkM2U1MCc7XG4gIEBJbnB1dCgpIGFjY2VudENvbG9yOiBzdHJpbmcgPSAnIzRlOGNmZic7XG4gIEBJbnB1dCgpIHdlbGNvbWVNZXNzYWdlOiBzdHJpbmcgPSAnSGkhIEhvdyBjYW4gSSBoZWxwPyc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyVGV4dDogc3RyaW5nID0gJ1R5cGUgeW91ciBtZXNzYWdlLi4uJztcbiAgQElucHV0KCkgcG9zaXRpb246IFdpZGdldFBvc2l0aW9uID0gJ2JvdHRvbS1yaWdodCc7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnMzUwJztcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnNTAwJztcbiAgQElucHV0KCkgc2hvd01pbmltaXplQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1RpbWVzdGFtcHM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBlbmFibGVGaWxlVXBsb2FkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVuYWJsZVNwZWVjaDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93UG93ZXJlZEJ5OiBib29sZWFuID0gdHJ1ZTtcblxuICBAT3V0cHV0KCkgbWVzc2FnZVNlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbWVzc2FnZTogc3RyaW5nOyB0aW1lc3RhbXA6IERhdGUgfT4oKTtcbiAgQE91dHB1dCgpIHdpZGdldE9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHdpZGdldENsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIGV2ZW50TGlzdGVuZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBVc2Ugc2V0VGltZW91dCB0byBlbnN1cmUgdGhlIGN1c3RvbSBlbGVtZW50IGlzIGZ1bGx5IGluaXRpYWxpemVkXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBjaGF0V2lkZ2V0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignbmVyZC1jaGF0LXdpZGdldCcpO1xuICAgICAgaWYgKGNoYXRXaWRnZXQpIHtcbiAgICAgICAgdGhpcy5zZXR1cEV2ZW50TGlzdGVuZXJzKGNoYXRXaWRnZXQpO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEV2ZW50TGlzdGVuZXJzKHdpZGdldDogSFRNTEVsZW1lbnQpIHtcblxuICAgIGNvbnN0IG1lc3NhZ2VTZW50TGlzdGVuZXIgPSAoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgICB0aGlzLm1lc3NhZ2VTZW50LmVtaXQoZXZlbnQuZGV0YWlsKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgd2lkZ2V0T3BlbmVkTGlzdGVuZXIgPSAoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgICB0aGlzLndpZGdldE9wZW5lZC5lbWl0KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHdpZGdldENsb3NlZExpc3RlbmVyID0gKGV2ZW50OiBDdXN0b21FdmVudCkgPT4ge1xuICAgICAgdGhpcy53aWRnZXRDbG9zZWQuZW1pdCgpO1xuICAgIH07XG5cbiAgICB3aWRnZXQuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZVNlbnQnLCBtZXNzYWdlU2VudExpc3RlbmVyIGFzIEV2ZW50TGlzdGVuZXIpO1xuICAgIHdpZGdldC5hZGRFdmVudExpc3RlbmVyKCd3aWRnZXRPcGVuZWQnLCB3aWRnZXRPcGVuZWRMaXN0ZW5lciBhcyBFdmVudExpc3RlbmVyKTtcbiAgICB3aWRnZXQuYWRkRXZlbnRMaXN0ZW5lcignd2lkZ2V0Q2xvc2VkJywgd2lkZ2V0Q2xvc2VkTGlzdGVuZXIgYXMgRXZlbnRMaXN0ZW5lcik7XG5cbiAgICAvLyBTdG9yZSBjbGVhbnVwIGZ1bmN0aW9uc1xuICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMgPSBbXG4gICAgICAoKSA9PiB3aWRnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZVNlbnQnLCBtZXNzYWdlU2VudExpc3RlbmVyIGFzIEV2ZW50TGlzdGVuZXIpLFxuICAgICAgKCkgPT4gd2lkZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dpZGdldE9wZW5lZCcsIHdpZGdldE9wZW5lZExpc3RlbmVyIGFzIEV2ZW50TGlzdGVuZXIpLFxuICAgICAgKCkgPT4gd2lkZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dpZGdldENsb3NlZCcsIHdpZGdldENsb3NlZExpc3RlbmVyIGFzIEV2ZW50TGlzdGVuZXIpLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUV2ZW50TGlzdGVuZXJzKCkge1xuICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaChjbGVhbnVwID0+IGNsZWFudXAoKSk7XG4gICAgdGhpcy5ldmVudExpc3RlbmVycyA9IFtdO1xuICB9XG59XG4iXX0=
@@ -1,10 +1,15 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Output, Input, ViewChild, Component, CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
2
+ import { EventEmitter, Output, Input, Component, CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { defineCustomElements } from 'nerdagent-chat-widget/loader';
5
5
 
6
6
  class ChatWidgetComponent {
7
- chatWidget;
7
+ elementRef;
8
+ constructor(elementRef) {
9
+ this.elementRef = elementRef;
10
+ }
11
+ apikey = '';
12
+ agentId = '';
8
13
  agentName = 'Support Agent';
9
14
  agentRole = 'Customer Support';
10
15
  primaryColor = '#2d3e50';
@@ -24,15 +29,18 @@ class ChatWidgetComponent {
24
29
  widgetClosed = new EventEmitter();
25
30
  eventListeners = [];
26
31
  ngAfterViewInit() {
27
- if (this.chatWidget?.nativeElement) {
28
- this.setupEventListeners();
29
- }
32
+ // Use setTimeout to ensure the custom element is fully initialized
33
+ setTimeout(() => {
34
+ const chatWidget = this.elementRef.nativeElement.querySelector('nerd-chat-widget');
35
+ if (chatWidget) {
36
+ this.setupEventListeners(chatWidget);
37
+ }
38
+ }, 0);
30
39
  }
31
40
  ngOnDestroy() {
32
41
  this.removeEventListeners();
33
42
  }
34
- setupEventListeners() {
35
- const widget = this.chatWidget.nativeElement;
43
+ setupEventListeners(widget) {
36
44
  const messageSentListener = (event) => {
37
45
  this.messageSent.emit(event.detail);
38
46
  };
@@ -56,11 +64,13 @@ class ChatWidgetComponent {
56
64
  this.eventListeners.forEach(cleanup => cleanup());
57
65
  this.eventListeners = [];
58
66
  }
59
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
60
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ChatWidgetComponent, selector: "nerd-chat-widget", inputs: { 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" }, viewQueries: [{ propertyName: "chatWidget", first: true, predicate: ["chatWidget"], descendants: true }], ngImport: i0, template: `
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatWidgetComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
68
+ 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: `
61
69
  <div
62
70
  #chatWidget
63
71
  nerd-chat-widget
72
+ [attr.apikey]="apikey"
73
+ [attr.agent-id]="agentId"
64
74
  [attr.agent-name]="agentName"
65
75
  [attr.agent-role]="agentRole"
66
76
  [attr.primary-color]="primaryColor"
@@ -84,6 +94,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
84
94
  <div
85
95
  #chatWidget
86
96
  nerd-chat-widget
97
+ [attr.apikey]="apikey"
98
+ [attr.agent-id]="agentId"
87
99
  [attr.agent-name]="agentName"
88
100
  [attr.agent-role]="agentRole"
89
101
  [attr.primary-color]="primaryColor"
@@ -100,9 +112,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
100
112
  [attr.show-powered-by]="showPoweredBy?.toString()">
101
113
  </div>
102
114
  ` }]
103
- }], propDecorators: { chatWidget: [{
104
- type: ViewChild,
105
- args: ['chatWidget', { static: false }]
115
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { apikey: [{
116
+ type: Input
117
+ }], agentId: [{
118
+ type: Input
106
119
  }], agentName: [{
107
120
  type: Input
108
121
  }], agentRole: [{
@@ -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, ElementRef, ViewChild, AfterViewInit, OnDestroy } from '@angular/core';\nimport { WidgetPosition } from './chat-widget.types';\n\n@Component({\n selector: 'nerd-chat-widget',\n template: `\n <div\n #chatWidget\n nerd-chat-widget\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 </div>\n `,\n styles: []\n})\nexport class ChatWidgetComponent implements AfterViewInit, OnDestroy {\n @ViewChild('chatWidget', { static: false }) chatWidget!: ElementRef<HTMLElement>;\n\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 private eventListeners: Array<() => void> = [];\n\n ngAfterViewInit() {\n if (this.chatWidget?.nativeElement) {\n this.setupEventListeners();\n }\n }\n\n ngOnDestroy() {\n this.removeEventListeners();\n }\n\n private setupEventListeners() {\n const widget = this.chatWidget.nativeElement;\n\n const messageSentListener = (event: CustomEvent) => {\n this.messageSent.emit(event.detail);\n };\n\n const widgetOpenedListener = (event: CustomEvent) => {\n this.widgetOpened.emit();\n };\n\n const widgetClosedListener = (event: CustomEvent) => {\n this.widgetClosed.emit();\n };\n\n widget.addEventListener('messageSent', messageSentListener as EventListener);\n widget.addEventListener('widgetOpened', widgetOpenedListener as EventListener);\n widget.addEventListener('widgetClosed', widgetClosedListener as EventListener);\n\n // Store cleanup functions\n this.eventListeners = [\n () => widget.removeEventListener('messageSent', messageSentListener as EventListener),\n () => widget.removeEventListener('widgetOpened', widgetOpenedListener as EventListener),\n () => widget.removeEventListener('widgetClosed', widgetClosedListener as EventListener),\n ];\n }\n\n private removeEventListeners() {\n this.eventListeners.forEach(cleanup => cleanup());\n this.eventListeners = [];\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
+ {"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, OnDestroy } from '@angular/core';\nimport { WidgetPosition } from './chat-widget.types';\n\n@Component({\n selector: 'nerd-chat-widget',\n template: `\n <div\n #chatWidget\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 </div>\n `,\n styles: []\n})\nexport class ChatWidgetComponent implements AfterViewInit, OnDestroy {\n constructor(private elementRef: ElementRef) {}\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 private eventListeners: Array<() => void> = [];\n\n ngAfterViewInit() {\n // Use setTimeout to ensure the custom element is fully initialized\n setTimeout(() => {\n const chatWidget = this.elementRef.nativeElement.querySelector('nerd-chat-widget');\n if (chatWidget) {\n this.setupEventListeners(chatWidget);\n }\n }, 0);\n }\n\n ngOnDestroy() {\n this.removeEventListeners();\n }\n\n private setupEventListeners(widget: HTMLElement) {\n\n const messageSentListener = (event: CustomEvent) => {\n this.messageSent.emit(event.detail);\n };\n\n const widgetOpenedListener = (event: CustomEvent) => {\n this.widgetOpened.emit();\n };\n\n const widgetClosedListener = (event: CustomEvent) => {\n this.widgetClosed.emit();\n };\n\n widget.addEventListener('messageSent', messageSentListener as EventListener);\n widget.addEventListener('widgetOpened', widgetOpenedListener as EventListener);\n widget.addEventListener('widgetClosed', widgetClosedListener as EventListener);\n\n // Store cleanup functions\n this.eventListeners = [\n () => widget.removeEventListener('messageSent', messageSentListener as EventListener),\n () => widget.removeEventListener('widgetOpened', widgetOpenedListener as EventListener),\n () => widget.removeEventListener('widgetClosed', widgetClosedListener as EventListener),\n ];\n }\n\n private removeEventListeners() {\n this.eventListeners.forEach(cleanup => cleanup());\n this.eventListeners = [];\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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"}
@@ -2,7 +2,10 @@ import { EventEmitter, ElementRef, AfterViewInit, OnDestroy } from '@angular/cor
2
2
  import { WidgetPosition } from './chat-widget.types';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class ChatWidgetComponent implements AfterViewInit, OnDestroy {
5
- chatWidget: ElementRef<HTMLElement>;
5
+ private elementRef;
6
+ constructor(elementRef: ElementRef);
7
+ apikey: string;
8
+ agentId: string;
6
9
  agentName: string;
7
10
  agentRole: string;
8
11
  primaryColor: string;
@@ -29,5 +32,5 @@ export declare class ChatWidgetComponent implements AfterViewInit, OnDestroy {
29
32
  private setupEventListeners;
30
33
  private removeEventListeners;
31
34
  static ɵfac: i0.ɵɵFactoryDeclaration<ChatWidgetComponent, never>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<ChatWidgetComponent, "nerd-chat-widget", never, { "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>;
35
+ 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>;
33
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nerdagent-chat-widget-angular",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
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": "c91038af3fb5ffd477c5c73c7e70b850512d65b5"
43
+ "gitHead": "273c3610447c9ebaa9cb5ac7e6891738714e75ec"
44
44
  }