@datarailsshared/datarailsshared 1.4.94-dragons → 1.4.95

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.
Files changed (34) hide show
  1. package/bundles/datarailsshared-datarailsshared.umd.js +19 -541
  2. package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
  3. package/datarailsshared-datarailsshared-1.4.95.tgz +0 -0
  4. package/datarailsshared-datarailsshared.d.ts +0 -8
  5. package/datarailsshared-datarailsshared.metadata.json +1 -1
  6. package/esm2015/datarailsshared-datarailsshared.js +1 -9
  7. package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +2 -2
  8. package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +2 -2
  9. package/esm2015/public-api.js +1 -3
  10. package/fesm2015/datarailsshared-datarailsshared.js +16 -466
  11. package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
  12. package/package.json +1 -1
  13. package/public-api.d.ts +0 -2
  14. package/datarailsshared-datarailsshared-1.4.94-dragons.tgz +0 -0
  15. package/esm2015/lib/dr-chat/chat.component.js +0 -58
  16. package/esm2015/lib/dr-chat/chat.module.js +0 -37
  17. package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +0 -128
  18. package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +0 -70
  19. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js +0 -49
  20. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +0 -23
  21. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +0 -46
  22. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-rich-text/chat-message-rich-text.component.js +0 -18
  23. package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +0 -18
  24. package/esm2015/lib/models/chat.js +0 -32
  25. package/lib/dr-chat/chat.component.d.ts +0 -21
  26. package/lib/dr-chat/chat.module.d.ts +0 -2
  27. package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +0 -56
  28. package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +0 -38
  29. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +0 -18
  30. package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +0 -11
  31. package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +0 -25
  32. package/lib/dr-chat/dr-chat-message/dr-chat-message-rich-text/chat-message-rich-text.component.d.ts +0 -12
  33. package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +0 -12
  34. package/lib/models/chat.d.ts +0 -105
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarailsshared/datarailsshared",
3
- "version": "1.4.94-dragons",
3
+ "version": "1.4.95",
4
4
  "description": "DataRails shared components",
5
5
  "keywords": [
6
6
  "angular",
package/public-api.d.ts CHANGED
@@ -52,7 +52,6 @@ export { ISpinnerOptions, SpinnerType, SpinnerSize } from './lib/models/spinnerO
52
52
  export { ElPosition, IDropdown, IDropdownItem, IDropdownActionIcon, IDropdownCoordinate, IDropdownCallEvent, IDropdownAction } from './lib/models/dropdown';
53
53
  export { DrPopoverRef, IDrPopoverComponentModel, Point, DrPopoverConfig, IPopoverManualClosing, DrPopoverAlignment, DrPopoverAlignmentDimension, } from './lib/models/popover';
54
54
  export { IValidationError } from './lib/models/validationError';
55
- export * from './lib/models/chat';
56
55
  export { DateTagModule } from './lib/date-tags/date-tag.module';
57
56
  export { ListTagModule } from './lib/list-tags/list-tag.module';
58
57
  export { DrTagModule } from './lib/dr-tags/dr-tag.module';
@@ -69,4 +68,3 @@ export { DrLayoutModule } from './lib/dr-layout/dr-layout.module';
69
68
  export { DrErrorModule } from './lib/dr-error/dr-error.module';
70
69
  export { DrStepperModule } from './lib/stepper/stepper.module';
71
70
  export { DrDialogModule } from './lib/dr-dialog/dialog.module';
72
- export { DrChatModule } from './lib/dr-chat/chat.module';
@@ -1,58 +0,0 @@
1
- import { Component, Input, ViewChild, ContentChildren, ContentChild, ChangeDetectorRef, } from '@angular/core';
2
- import { DrChatFormComponent } from './dr-chat-form/chat-form.component';
3
- import { DrChatMessageComponent } from './dr-chat-message/chat-message.component';
4
- import { DrChatCustomMessageService } from './dr-chat-message/dr-chat-message-custom/chat-custom-message.service';
5
- export class DrChatComponent {
6
- constructor(cdr) {
7
- this.cdr = cdr;
8
- this.noMessagesPlaceholder = 'No messages yet.';
9
- this._scrollBottom = true;
10
- }
11
- /**
12
- * Scroll chat to the bottom of the list when a new message arrives
13
- */
14
- get scrollBottom() {
15
- return this._scrollBottom;
16
- }
17
- set scrollBottom(value) {
18
- this._scrollBottom = !!value;
19
- }
20
- ngAfterViewInit() {
21
- this.messages.changes.subscribe(messages => {
22
- this.messages = messages;
23
- this.updateView();
24
- });
25
- this.updateView();
26
- }
27
- updateView() {
28
- if (this.scrollBottom) {
29
- this.scrollListBottom();
30
- }
31
- }
32
- scrollListBottom() {
33
- setTimeout(() => {
34
- this.messagesContainer.nativeElement.scrollTo({ top: this.messagesContainer.nativeElement.scrollHeight, behavior: 'smooth' });
35
- this.cdr.markForCheck();
36
- });
37
- }
38
- }
39
- DrChatComponent.decorators = [
40
- { type: Component, args: [{
41
- selector: 'dr-chat',
42
- template: "<div class=\"header\">\n {{ title }}\n</div>\n\n<div class=\"scrollable\">\n <div class=\"messages\" #messagesContainer>\n <ng-content select=\"dr-chat-message\"></ng-content>\n <p class=\"no-messages\" *ngIf=\"!messages?.length\">{{ noMessagesPlaceholder }}</p>\n </div>\n</div>\n\n<div class=\"form\">\n <ng-content select=\"dr-chat-form\"></ng-content>\n</div>\n",
43
- providers: [DrChatCustomMessageService],
44
- styles: [":host{display:flex;flex-grow:1;flex-direction:column;position:relative;height:100%;background-color:#fff;border:1px solid #e5e6ea;border-radius:8px;box-shadow:0 4px 8px 1px #00000040;color:#151b3f;font-family:\"Poppins\",sans-serif;font-size:14px;font-weight:400;line-height:22px}:host .header{border-bottom:1px solid #e5e6ea;padding:16px 32px;font-weight:bold}:host .scrollable{display:flex;flex-grow:1;overflow-x:hidden;overflow-y:auto;height:100%;width:100%}:host .scrollable .messages{padding:16px;overflow-y:auto;overflow-x:hidden;display:flex;flex-shrink:0;flex-direction:column;width:100%}:host .scrollable .no-messages{text-align:center}\n"]
45
- },] }
46
- ];
47
- DrChatComponent.ctorParameters = () => [
48
- { type: ChangeDetectorRef }
49
- ];
50
- DrChatComponent.propDecorators = {
51
- title: [{ type: Input }],
52
- noMessagesPlaceholder: [{ type: Input }],
53
- scrollBottom: [{ type: Input }],
54
- messagesContainer: [{ type: ViewChild, args: ['messagesContainer',] }],
55
- messages: [{ type: ContentChildren, args: [DrChatMessageComponent,] }],
56
- chatForm: [{ type: ContentChild, args: [DrChatFormComponent,] }]
57
- };
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFFVCxlQUFlLEVBR2YsWUFBWSxFQUNaLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQVFsSCxNQUFNLE9BQU8sZUFBZTtJQXVCeEIsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFwQmpDLDBCQUFxQixHQUFHLGtCQUFrQixDQUFDO1FBYzFDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO0lBTy9CLENBQUM7SUFuQkQ7O09BRUc7SUFDSCxJQUNJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFXRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDOUgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OztZQXBESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFNBQVM7Z0JBRW5CLG1aQUFrQztnQkFDbEMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7O2FBQzFDOzs7WUFaRyxpQkFBaUI7OztvQkFjaEIsS0FBSztvQ0FFTCxLQUFLOzJCQUtMLEtBQUs7Z0NBV0wsU0FBUyxTQUFDLG1CQUFtQjt1QkFDN0IsZUFBZSxTQUFDLHNCQUFzQjt1QkFDdEMsWUFBWSxTQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEckNoYXRGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LWZvcm0vY2hhdC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckNoYXRNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1jaGF0JyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGF0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICdjaGF0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRHJDaGF0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIG5vTWVzc2FnZXNQbGFjZWhvbGRlciA9ICdObyBtZXNzYWdlcyB5ZXQuJztcblxuICAgIC8qKlxuICAgICAqIFNjcm9sbCBjaGF0IHRvIHRoZSBib3R0b20gb2YgdGhlIGxpc3Qgd2hlbiBhIG5ldyBtZXNzYWdlIGFycml2ZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBzY3JvbGxCb3R0b20oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxCb3R0b207XG4gICAgfVxuXG4gICAgc2V0IHNjcm9sbEJvdHRvbSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zY3JvbGxCb3R0b20gPSAhIXZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2Nyb2xsQm90dG9tID0gdHJ1ZTtcblxuICAgIEBWaWV3Q2hpbGQoJ21lc3NhZ2VzQ29udGFpbmVyJykgbWVzc2FnZXNDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gICAgQENvbnRlbnRDaGlsZHJlbihEckNoYXRNZXNzYWdlQ29tcG9uZW50KSBtZXNzYWdlczogUXVlcnlMaXN0PERyQ2hhdE1lc3NhZ2VDb21wb25lbnQ+O1xuICAgIEBDb250ZW50Q2hpbGQoRHJDaGF0Rm9ybUNvbXBvbmVudCkgY2hhdEZvcm06IERyQ2hhdEZvcm1Db21wb25lbnQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZXMuY2hhbmdlcy5zdWJzY3JpYmUobWVzc2FnZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgIH1cblxuICAgIHVwZGF0ZVZpZXcoKSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEJvdHRvbSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxMaXN0Qm90dG9tKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzY3JvbGxMaXN0Qm90dG9tKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7IHRvcDogdGhpcy5tZXNzYWdlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { DrInputsModule } from '../dr-inputs/dr-inputs.module';
3
- import { DrAvatarModule } from '../dr-avatar/dr-avatar.module';
4
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
- import { CommonModule } from '@angular/common';
6
- import { DrChatComponent } from './chat.component';
7
- import { DrChatMessageComponent } from './dr-chat-message/chat-message.component';
8
- import { DrChatFormComponent } from './dr-chat-form/chat-form.component';
9
- import { DrChatMessageTextComponent } from './dr-chat-message/dr-chat-message-text/chat-message-text.component';
10
- import { DrChatMessageRichTextComponent } from './dr-chat-message/dr-chat-message-rich-text/chat-message-rich-text.component';
11
- import { DrChatMessageFileComponent } from './dr-chat-message/dr-chat-message-file/chat-message-file.component';
12
- import { DrChatCustomMessageDirective } from './dr-chat-message/dr-chat-message-custom/chat-custom-message.directive';
13
- const DR_CHAT_COMPONENTS = [
14
- DrChatComponent,
15
- DrChatMessageComponent,
16
- DrChatFormComponent,
17
- DrChatMessageTextComponent,
18
- DrChatMessageFileComponent,
19
- DrChatMessageRichTextComponent,
20
- ];
21
- const DR_CHAT_DIRECTIVES = [DrChatCustomMessageDirective];
22
- export class DrChatModule {
23
- }
24
- DrChatModule.decorators = [
25
- { type: NgModule, args: [{
26
- imports: [
27
- FormsModule,
28
- ReactiveFormsModule,
29
- CommonModule,
30
- DrAvatarModule,
31
- DrInputsModule
32
- ],
33
- declarations: [...DR_CHAT_COMPONENTS, ...DR_CHAT_DIRECTIVES],
34
- exports: [...DR_CHAT_COMPONENTS, ...DR_CHAT_DIRECTIVES],
35
- },] }
36
- ];
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUd0SCxNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsOEJBQThCO0NBQ2pDLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQWMxRCxNQUFNLE9BQU8sWUFBWTs7O1lBWHhCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxjQUFjO2lCQUNqQjtnQkFDRCxZQUFZLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsa0JBQWtCLENBQUM7Z0JBQzVELE9BQU8sRUFBRSxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQzthQUMxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4uL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmltcG9ydCB7IERyQXZhdGFyTW9kdWxlIH0gZnJvbSAnLi4vZHItYXZhdGFyL2RyLWF2YXRhci5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBEckNoYXRDb21wb25lbnQgfSBmcm9tICcuL2NoYXQuY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9jaGF0LW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtZm9ybS9jaGF0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdE1lc3NhZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLXRleHQvY2hhdC1tZXNzYWdlLXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdE1lc3NhZ2VSaWNoVGV4dENvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1yaWNoLXRleHQvY2hhdC1tZXNzYWdlLXJpY2gtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtZmlsZS9jaGF0LW1lc3NhZ2UtZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0Q3VzdG9tTWVzc2FnZURpcmVjdGl2ZSB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5kaXJlY3RpdmUnO1xuXG5cbmNvbnN0IERSX0NIQVRfQ09NUE9ORU5UUyA9IFtcbiAgICBEckNoYXRDb21wb25lbnQsXG4gICAgRHJDaGF0TWVzc2FnZUNvbXBvbmVudCxcbiAgICBEckNoYXRGb3JtQ29tcG9uZW50LFxuICAgIERyQ2hhdE1lc3NhZ2VUZXh0Q29tcG9uZW50LFxuICAgIERyQ2hhdE1lc3NhZ2VGaWxlQ29tcG9uZW50LFxuICAgIERyQ2hhdE1lc3NhZ2VSaWNoVGV4dENvbXBvbmVudCxcbl07XG5cbmNvbnN0IERSX0NIQVRfRElSRUNUSVZFUyA9IFtEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlXTtcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRHJBdmF0YXJNb2R1bGUsXG4gICAgICAgIERySW5wdXRzTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5EUl9DSEFUX0NPTVBPTkVOVFMsIC4uLkRSX0NIQVRfRElSRUNUSVZFU10sXG4gICAgZXhwb3J0czogWy4uLkRSX0NIQVRfQ09NUE9ORU5UUywgLi4uRFJfQ0hBVF9ESVJFQ1RJVkVTXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJDaGF0TW9kdWxlIHtcbn1cbiJdfQ==
@@ -1,128 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, HostListener, Input, Output, } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
- export class DrChatFormComponent {
4
- constructor(cdr, domSanitizer) {
5
- this.cdr = cdr;
6
- this.domSanitizer = domSanitizer;
7
- this.inputFocus = false;
8
- this.inputHover = false;
9
- this.droppedFiles = [];
10
- this.imgDropTypes = ['image/png', 'image/jpeg', 'image/gif'];
11
- /**
12
- * Predefined message text
13
- *
14
- * @type {string}
15
- */
16
- this.message = '';
17
- /**
18
- * Message placeholder text
19
- *
20
- * @type {string}
21
- */
22
- this.messagePlaceholder = 'Type a message';
23
- /**
24
- * Show send button
25
- *
26
- * @type {boolean}
27
- */
28
- this.dropFiles = false;
29
- /**
30
- * File drop placeholder text
31
- *
32
- * @type {string}
33
- */
34
- this.dropFilePlaceholder = 'Drop file to send';
35
- /**
36
- *
37
- * @type {EventEmitter<{ message: string, files: File[] }>}
38
- */
39
- this.send = new EventEmitter();
40
- /**
41
- * Emits when message input value has been changed
42
- *
43
- * @type {EventEmitter<string>}
44
- */
45
- // eslint-disable-next-line @angular-eslint/no-output-on-prefix
46
- this.onInputChange = new EventEmitter();
47
- this.fileOver = false;
48
- }
49
- onDrop(event) {
50
- var _a;
51
- if (this.dropFiles) {
52
- event.preventDefault();
53
- event.stopPropagation();
54
- this.fileOver = false;
55
- if ((_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.files) {
56
- for (const file of event.dataTransfer.files) {
57
- const res = file;
58
- if (this.imgDropTypes.includes(file.type)) {
59
- const fr = new FileReader();
60
- fr.onload = (e) => {
61
- res.src = e.target.result;
62
- res.urlStyle = this.domSanitizer.bypassSecurityTrustStyle(`url(${res.src})`);
63
- this.cdr.detectChanges();
64
- };
65
- fr.readAsDataURL(file);
66
- }
67
- this.droppedFiles.push(res);
68
- }
69
- }
70
- }
71
- }
72
- removeFile(file) {
73
- const index = this.droppedFiles.indexOf(file);
74
- if (index >= 0) {
75
- this.droppedFiles.splice(index, 1);
76
- }
77
- }
78
- onDragOver(event) {
79
- event.preventDefault();
80
- event.stopPropagation();
81
- if (this.dropFiles) {
82
- this.fileOver = true;
83
- }
84
- }
85
- onDragLeave(event) {
86
- event.preventDefault();
87
- event.stopPropagation();
88
- if (this.dropFiles) {
89
- this.fileOver = false;
90
- }
91
- }
92
- sendMessage() {
93
- if (this.droppedFiles.length || String(this.message).trim().length) {
94
- this.send.emit({ message: this.message, files: this.droppedFiles });
95
- this.message = '';
96
- this.droppedFiles = [];
97
- this.cdr.markForCheck();
98
- }
99
- }
100
- onModelChange(value) {
101
- this.onInputChange.emit(value);
102
- }
103
- }
104
- DrChatFormComponent.decorators = [
105
- { type: Component, args: [{
106
- selector: 'dr-chat-form',
107
- template: "<div class=\"dropped-files\" *ngIf=\"droppedFiles?.length\">\n <div class=\"dropped-files__item\" *ngFor=\"let file of droppedFiles\">\n <div class=\"dropped-files__item__preview\" [style.background-image]=\"file.urlStyle || 'none'\">\n <i class=\"dr-icon-file\" *ngIf=\"!file.urlStyle\"></i>\n </div>\n <div class=\"dropped-files__item__name\">{{ file.name }}</div>\n <i class=\"dropped-files__item__remove dr-icon-exit\" (click)=\"removeFile(file)\"></i>\n </div>\n</div>\n<div class=\"message-row\">\n <dr-input (focus)=\"inputFocus = true\"\n (blur)=\"inputFocus = false\"\n (mouseenter)=\"inputHover = true\"\n (mouseleave)=\"inputHover = false\"\n [(ngModel)]=\"message\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"text\"\n placeholder=\"{{ fileOver ? dropFilePlaceholder : messagePlaceholder }}\"\n (keyup.enter)=\"sendMessage()\">\n </dr-input>\n <dr-button (click)=\"sendMessage()\"\n theme=\"icon\"\n icon=\"dr-icon-notify\"\n class=\"send-button\">\n </dr-button>\n</div>\n",
108
- changeDetection: ChangeDetectionStrategy.OnPush,
109
- styles: [":host{display:flex;flex-direction:column;padding:16px;border-top:1px solid #ccc}:host .message-row{flex-direction:row;display:flex;align-items:center}:host input{flex:1}:host input.with-button{border-bottom-right-radius:0;border-top-right-radius:0}:host .send-button{margin-left:10px}:host .dropped-files{display:flex;flex-direction:row;margin-bottom:.5rem;flex-wrap:wrap}:host .dropped-files__item{display:flex;flex-direction:column;justify-content:center;margin:0 10px 10px 0;position:relative}:host .dropped-files__item__preview{background-size:cover;background-position:center;width:64px;height:64px;border-radius:8px;border:1px solid #ccc}:host .dropped-files__item__preview i{font-size:62px}:host .dropped-files__item__name{white-space:nowrap;font-size:12px;color:#8f929e;margin-top:4px;max-width:64px;overflow:hidden;text-overflow:ellipsis}:host .dropped-files__item__remove{position:absolute;right:-4px;top:-4px;cursor:pointer;background:white;border-radius:12px;color:#8f929e;border:1px solid #8f929e;font-size:14px}\n"]
110
- },] }
111
- ];
112
- DrChatFormComponent.ctorParameters = () => [
113
- { type: ChangeDetectorRef },
114
- { type: DomSanitizer }
115
- ];
116
- DrChatFormComponent.propDecorators = {
117
- message: [{ type: Input }],
118
- messagePlaceholder: [{ type: Input }],
119
- dropFiles: [{ type: Input }],
120
- dropFilePlaceholder: [{ type: Input }],
121
- send: [{ type: Output }],
122
- onInputChange: [{ type: Output }],
123
- fileOver: [{ type: HostBinding, args: ['class.file-over',] }],
124
- onDrop: [{ type: HostListener, args: ['drop', ['$event'],] }],
125
- onDragOver: [{ type: HostListener, args: ['dragover', ['$event'],] }],
126
- onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event'],] }]
127
- };
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUXpELE1BQU0sT0FBTyxtQkFBbUI7SUFvRDVCLFlBQXNCLEdBQXNCLEVBQVksWUFBMEI7UUFBNUQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBWSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQW5EbEYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRXhEOzs7O1dBSUc7UUFDTSxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRXRCOzs7O1dBSUc7UUFDTSx1QkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUUvQzs7OztXQUlHO1FBQ00sY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQjs7OztXQUlHO1FBQ00sd0JBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFFbkQ7OztXQUdHO1FBQ08sU0FBSSxHQUFHLElBQUksWUFBWSxFQUFzQyxDQUFDO1FBRXhFOzs7O1dBSUc7UUFFSCwrREFBK0Q7UUFDckQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXJCLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFHakQsQ0FBQztJQUdELE1BQU0sQ0FBQyxLQUFVOztRQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRXhCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksTUFBQSxLQUFLLENBQUMsWUFBWSwwQ0FBRSxLQUFLLEVBQUU7Z0JBQzNCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUU7b0JBQ3pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQztvQkFFakIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ3ZDLE1BQU0sRUFBRSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7d0JBQzVCLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTs0QkFDbkIsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQzs0QkFDMUIsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLE9BQVEsR0FBRyxDQUFDLEdBQUksR0FBRyxDQUFDLENBQUM7NEJBQy9FLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQzdCLENBQUMsQ0FBQzt3QkFFRixFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUMxQjtvQkFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDL0I7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFJO1FBQ1gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztJQUdELFVBQVUsQ0FBQyxLQUFnQjtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFHRCxXQUFXLENBQUMsS0FBZ0I7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7WUE1SEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxjQUFjO2dCQUN4Qix5ckNBQXVDO2dCQUV2QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQWZHLGlCQUFpQjtZQVFaLFlBQVk7OztzQkFvQmhCLEtBQUs7aUNBT0wsS0FBSzt3QkFPTCxLQUFLO2tDQU9MLEtBQUs7bUJBTUwsTUFBTTs0QkFTTixNQUFNO3VCQUVOLFdBQVcsU0FBQyxpQkFBaUI7cUJBSzdCLFlBQVksU0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7eUJBa0MvQixZQUFZLFNBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDOzBCQVNuQyxZQUFZLFNBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoYXQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdEZvcm1Db21wb25lbnQge1xuICAgIGlucHV0Rm9jdXMgPSBmYWxzZTtcbiAgICBpbnB1dEhvdmVyID0gZmFsc2U7XG5cbiAgICBkcm9wcGVkRmlsZXM6IGFueVtdID0gW107XG4gICAgaW1nRHJvcFR5cGVzID0gWydpbWFnZS9wbmcnLCAnaW1hZ2UvanBlZycsICdpbWFnZS9naWYnXTtcblxuICAgIC8qKlxuICAgICAqIFByZWRlZmluZWQgbWVzc2FnZSB0ZXh0XG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lc3NhZ2UgPSAnJztcblxuICAgIC8qKlxuICAgICAqIE1lc3NhZ2UgcGxhY2Vob2xkZXIgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlUGxhY2Vob2xkZXIgPSAnVHlwZSBhIG1lc3NhZ2UnO1xuXG4gICAgLyoqXG4gICAgICogU2hvdyBzZW5kIGJ1dHRvblxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcEZpbGVzID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBGaWxlIGRyb3AgcGxhY2Vob2xkZXIgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkcm9wRmlsZVBsYWNlaG9sZGVyID0gJ0Ryb3AgZmlsZSB0byBzZW5kJztcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHR5cGUge0V2ZW50RW1pdHRlcjx7IG1lc3NhZ2U6IHN0cmluZywgZmlsZXM6IEZpbGVbXSB9Pn1cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgc2VuZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtZXNzYWdlOiBzdHJpbmc7IGZpbGVzOiBGaWxlW10gfT4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gbWVzc2FnZSBpbnB1dCB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkXG4gICAgICpcbiAgICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPHN0cmluZz59XG4gICAgICovXG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgb25JbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5maWxlLW92ZXInKSBmaWxlT3ZlciA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICAgIG9uRHJvcChldmVudDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmRyb3BGaWxlcykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gZmlsZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pbWdEcm9wVHlwZXMuaW5jbHVkZXMoZmlsZS50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZnIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZnIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5zcmMgPSBlLnRhcmdldC5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzLnVybFN0eWxlID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKGB1cmwoJHsgcmVzLnNyYyB9KWApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wcGVkRmlsZXMucHVzaChyZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUZpbGUoZmlsZSkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZHJvcHBlZEZpbGVzLmluZGV4T2YoZmlsZSk7XG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxuICAgIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXG4gICAgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZW5kTWVzc2FnZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcHBlZEZpbGVzLmxlbmd0aCB8fCBTdHJpbmcodGhpcy5tZXNzYWdlKS50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNlbmQuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSwgZmlsZXM6IHRoaXMuZHJvcHBlZEZpbGVzIH0pO1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gJyc7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbklucHV0Q2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,70 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
2
- import { animate, state, style, transition, trigger } from '@angular/animations';
3
- import { CHAT_MESSAGE_TYPE } from '../../models/chat';
4
- import { DrChatCustomMessageService } from './dr-chat-message-custom/chat-custom-message.service';
5
- export class DrChatMessageComponent {
6
- constructor(customMessageService) {
7
- this.customMessageService = customMessageService;
8
- this.MESSAGE_TYPE = CHAT_MESSAGE_TYPE;
9
- this.MESSAGE_TYPE_CUSTOM = CHAT_MESSAGE_TYPE.EMBED;
10
- this._reply = false;
11
- }
12
- get flyInOut() {
13
- return true;
14
- }
15
- get notReply() {
16
- return !this.reply;
17
- }
18
- /**
19
- * Determines if a message is a reply
20
- */
21
- get reply() {
22
- return this._reply;
23
- }
24
- set reply(value) {
25
- this._reply = !!value;
26
- }
27
- _getTemplate() {
28
- this.customMessage = true;
29
- const customMessage = this.getCustomMessage(this.type);
30
- return customMessage.templateRef;
31
- }
32
- _getTemplateContext() {
33
- return { $implicit: this.customMessageData, isReply: this.reply };
34
- }
35
- getCustomMessage(type) {
36
- const customMessageDirective = this.customMessageService.getInstance(type);
37
- if (!customMessageDirective) {
38
- throw new Error(`dr-chat: Can't find template for custom type '${type}'. ` +
39
- `Make sure you provide it in the chat component with *drCustomMessage='${type}'.`);
40
- }
41
- return customMessageDirective;
42
- }
43
- }
44
- DrChatMessageComponent.decorators = [
45
- { type: Component, args: [{
46
- selector: 'dr-chat-message',
47
- template: "<div class=\"message\" [class.message--custom]=\"customMessage\">\n <ng-container [ngSwitch]=\"message.kind\">\n <dr-chat-message-text *ngSwitchCase=\"MESSAGE_TYPE.TEXT\" [message]=\"message\"></dr-chat-message-text>\n <dr-chat-message-rich-text *ngSwitchCase=\"MESSAGE_TYPE.RICH_TEXT\" [message]=\"message\"></dr-chat-message-rich-text>\n <dr-chat-message-file *ngSwitchCase=\"MESSAGE_TYPE.DOWNLOAD_FILE\" [message]=\"message\"></dr-chat-message-file>\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"_getTemplate()\" [ngTemplateOutletContext]=\"_getTemplateContext()\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n",
48
- animations: [
49
- trigger('flyInOut', [
50
- state('in', style({ transform: 'translateX(0)' })),
51
- transition('void => *', [style({ transform: 'translateX(-100%)' }), animate(80)]),
52
- transition('* => void', [animate(80, style({ transform: 'translateX(100%)' }))]),
53
- ]),
54
- ],
55
- changeDetection: ChangeDetectionStrategy.OnPush,
56
- styles: [":host{display:flex;flex-direction:row}:host:not(:first-child){margin-top:8px}.reply+:host.reply,.not-reply+:host.not-reply{margin-top:3px}:host.not-reply{justify-content:flex-end}:host.not-reply .message{color:#fff;background-color:#4646ce}:host .message{display:flex;background-color:#f3f7ff;border-radius:8px;padding:16px;max-width:60%;width:auto}:host .message--custom{max-width:unset;width:80%}\n"]
57
- },] }
58
- ];
59
- DrChatMessageComponent.ctorParameters = () => [
60
- { type: DrChatCustomMessageService }
61
- ];
62
- DrChatMessageComponent.propDecorators = {
63
- flyInOut: [{ type: HostBinding, args: ['@flyInOut',] }],
64
- notReply: [{ type: HostBinding, args: ['class.not-reply',] }],
65
- reply: [{ type: Input }, { type: HostBinding, args: ['class.reply',] }],
66
- type: [{ type: Input }],
67
- message: [{ type: Input }],
68
- customMessageData: [{ type: Input }]
69
- };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGlCQUFpQixFQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBRXBFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBZWxHLE1BQU0sT0FBTyxzQkFBc0I7SUFnRC9CLFlBQW9CLG9CQUFnRDtRQUFoRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTRCO1FBOUNwRSxpQkFBWSxHQUFHLGlCQUFpQixDQUFDO1FBQ2pDLHdCQUFtQixHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQztRQXlCcEMsV0FBTSxHQUFHLEtBQUssQ0FBQztJQXFCekIsQ0FBQztJQTVDRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFFSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFjO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBeUJELFlBQVk7UUFDUixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsSUFBWTtRQUNuQyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0UsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQ1gsaURBQWlELElBQUksS0FBSztnQkFDMUQseUVBQXlFLElBQUksSUFBSSxDQUNwRixDQUFDO1NBQ0w7UUFFRCxPQUFPLHNCQUFzQixDQUFDO0lBQ2xDLENBQUM7OztZQXJGSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsOHNCQUEwQztnQkFFMUMsVUFBVSxFQUFFO29CQUNSLE9BQU8sQ0FBQyxVQUFVLEVBQUU7d0JBQ2hCLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7d0JBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNqRixVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDbkYsQ0FBQztpQkFDTDtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQWRRLDBCQUEwQjs7O3VCQW9COUIsV0FBVyxTQUFDLFdBQVc7dUJBS3ZCLFdBQVcsU0FBQyxpQkFBaUI7b0JBUTdCLEtBQUssWUFDTCxXQUFXLFNBQUMsYUFBYTttQkFXekIsS0FBSztzQkFPTCxLQUFLO2dDQU9MLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENIQVRfTUVTU0FHRV9UWVBFLCBJQ2hhdE1lc3NhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhdCc7XG5pbXBvcnQgeyBEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlIH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyQ2hhdEN1c3RvbU1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1tZXNzYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoYXQtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdmbHlJbk91dCcsIFtcbiAgICAgICAgICAgIHN0YXRlKCdpbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgW3N0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pLCBhbmltYXRlKDgwKV0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignKiA9PiB2b2lkJywgW2FuaW1hdGUoODAsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSkpXSksXG4gICAgICAgIF0pLFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdE1lc3NhZ2VDb21wb25lbnQge1xuXG4gICAgTUVTU0FHRV9UWVBFID0gQ0hBVF9NRVNTQUdFX1RZUEU7XG4gICAgTUVTU0FHRV9UWVBFX0NVU1RPTSA9IENIQVRfTUVTU0FHRV9UWVBFLkVNQkVEO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdAZmx5SW5PdXQnKVxuICAgIGdldCBmbHlJbk91dCgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ub3QtcmVwbHknKVxuICAgIGdldCBub3RSZXBseSgpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJlcGx5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgYSBtZXNzYWdlIGlzIGEgcmVwbHlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MucmVwbHknKVxuICAgIGdldCByZXBseSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcGx5O1xuICAgIH1cblxuICAgIHNldCByZXBseSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZXBseSA9ICEhdmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9yZXBseSA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogTWVzc2FnZVxuICAgICAqXG4gICAgICogQHR5cGUge0lDaGF0TWVzc2FnZX1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlOiBJQ2hhdE1lc3NhZ2U7XG5cbiAgICAvKipcbiAgICAgKiBEYXRhIHdoaWNoIHdpbGwgYmUgc2V0IGFzIGN1c3RvbSBtZXNzYWdlIHRlbXBsYXRlIGNvbnRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHthbnl9XG4gICAgICovXG4gICAgQElucHV0KCkgY3VzdG9tTWVzc2FnZURhdGE6IGFueTtcblxuICAgIHB1YmxpYyBjdXN0b21NZXNzYWdlOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjdXN0b21NZXNzYWdlU2VydmljZTogRHJDaGF0Q3VzdG9tTWVzc2FnZVNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBfZ2V0VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgICAgIHRoaXMuY3VzdG9tTWVzc2FnZSA9IHRydWU7XG4gICAgICAgIGNvbnN0IGN1c3RvbU1lc3NhZ2UgPSB0aGlzLmdldEN1c3RvbU1lc3NhZ2UodGhpcy50eXBlKTtcbiAgICAgICAgcmV0dXJuIGN1c3RvbU1lc3NhZ2UudGVtcGxhdGVSZWY7XG4gICAgfVxuXG4gICAgX2dldFRlbXBsYXRlQ29udGV4dCgpOiB7ICRpbXBsaWNpdDogYW55OyBpc1JlcGx5OiBib29sZWFuIH0ge1xuICAgICAgICByZXR1cm4geyAkaW1wbGljaXQ6IHRoaXMuY3VzdG9tTWVzc2FnZURhdGEsIGlzUmVwbHk6IHRoaXMucmVwbHkgfTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Q3VzdG9tTWVzc2FnZSh0eXBlOiBzdHJpbmcpOiBEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlIHtcbiAgICAgICAgY29uc3QgY3VzdG9tTWVzc2FnZURpcmVjdGl2ZSA9IHRoaXMuY3VzdG9tTWVzc2FnZVNlcnZpY2UuZ2V0SW5zdGFuY2UodHlwZSk7XG5cbiAgICAgICAgaWYgKCFjdXN0b21NZXNzYWdlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgYGRyLWNoYXQ6IENhbid0IGZpbmQgdGVtcGxhdGUgZm9yIGN1c3RvbSB0eXBlICcke3R5cGV9Jy4gYCArXG4gICAgICAgICAgICAgICAgYE1ha2Ugc3VyZSB5b3UgcHJvdmlkZSBpdCBpbiB0aGUgY2hhdCBjb21wb25lbnQgd2l0aCAqZHJDdXN0b21NZXNzYWdlPScke3R5cGV9Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXN0b21NZXNzYWdlRGlyZWN0aXZlO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { Directive, Input, TemplateRef } from '@angular/core';
2
- import { DrChatCustomMessageService } from './chat-custom-message.service';
3
- const throwCustomMessageTypeIsRequired = () => {
4
- throw new Error('[drCustomMessage]: custom message type is required.');
5
- };
6
- const ɵ0 = throwCustomMessageTypeIsRequired;
7
- export class DrChatCustomMessageDirective {
8
- constructor(templateRef, customMessageService) {
9
- this.templateRef = templateRef;
10
- this.customMessageService = customMessageService;
11
- }
12
- /**
13
- * Defines a message type which should rendered with the custom message template.
14
- *
15
- * @type {string}
16
- */
17
- get drCustomMessage() {
18
- return this._type;
19
- }
20
- set drCustomMessage(value) {
21
- this._type = value;
22
- }
23
- get type() {
24
- return this._type;
25
- }
26
- ngOnInit() {
27
- if (!this._type) {
28
- throwCustomMessageTypeIsRequired();
29
- }
30
- this.customMessageService.register(this.type, this);
31
- }
32
- ngOnDestroy() {
33
- this.customMessageService.unregister(this.type);
34
- }
35
- }
36
- DrChatCustomMessageDirective.decorators = [
37
- { type: Directive, args: [{
38
- selector: `[drCustomMessage]`,
39
- },] }
40
- ];
41
- DrChatCustomMessageDirective.ctorParameters = () => [
42
- { type: TemplateRef },
43
- { type: DrChatCustomMessageService }
44
- ];
45
- DrChatCustomMessageDirective.propDecorators = {
46
- drCustomMessage: [{ type: Input }]
47
- };
48
- export { ɵ0 };
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jdXN0b20tbWVzc2FnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0UsTUFBTSxnQ0FBZ0MsR0FBRyxHQUFHLEVBQUU7SUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQzs7QUFLRixNQUFNLE9BQU8sNEJBQTRCO0lBbUJyQyxZQUFtQixXQUE2QixFQUMxQixvQkFBZ0Q7UUFEbkQsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzFCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBNEI7SUFBRyxDQUFDO0lBbkIxRTs7OztPQUlHO0lBQ0gsSUFDSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLGVBQWUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUtELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNiLGdDQUFnQyxFQUFFLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7WUFsQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxtQkFBbUI7YUFDaEM7OztZQVY2QyxXQUFXO1lBRWhELDBCQUEwQjs7OzhCQWU5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyQ2hhdEN1c3RvbU1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9jaGF0LWN1c3RvbS1tZXNzYWdlLnNlcnZpY2UnO1xuXG5jb25zdCB0aHJvd0N1c3RvbU1lc3NhZ2VUeXBlSXNSZXF1aXJlZCA9ICgpID0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1tkckN1c3RvbU1lc3NhZ2VdOiBjdXN0b20gbWVzc2FnZSB0eXBlIGlzIHJlcXVpcmVkLicpO1xufTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGBbZHJDdXN0b21NZXNzYWdlXWAsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBhIG1lc3NhZ2UgdHlwZSB3aGljaCBzaG91bGQgcmVuZGVyZWQgd2l0aCB0aGUgY3VzdG9tIG1lc3NhZ2UgdGVtcGxhdGUuXG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRyQ3VzdG9tTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgICB9XG4gICAgc2V0IGRyQ3VzdG9tTWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF90eXBlOiBzdHJpbmc7XG5cbiAgICBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIGN1c3RvbU1lc3NhZ2VTZXJ2aWNlOiBEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMuX3R5cGUpIHtcbiAgICAgICAgICAgIHRocm93Q3VzdG9tTWVzc2FnZVR5cGVJc1JlcXVpcmVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXN0b21NZXNzYWdlU2VydmljZS5yZWdpc3Rlcih0aGlzLnR5cGUsIHRoaXMpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmN1c3RvbU1lc3NhZ2VTZXJ2aWNlLnVucmVnaXN0ZXIodGhpcy50eXBlKTtcbiAgICB9XG59XG4iXX0=
@@ -1,23 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- /**
3
- * `DrCustomMessageService` is used to store instances of `DrChatCustomMessageDirective`s which
4
- * were provided in the chat component.
5
- */
6
- export class DrChatCustomMessageService {
7
- constructor() {
8
- this.customMessages = new Map();
9
- }
10
- register(type, instance) {
11
- this.customMessages.set(type, instance);
12
- }
13
- unregister(type) {
14
- return this.customMessages.delete(type);
15
- }
16
- getInstance(type) {
17
- return this.customMessages.get(type);
18
- }
19
- }
20
- DrChatCustomMessageService.decorators = [
21
- { type: Injectable }
22
- ];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jdXN0b20tbWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWN1c3RvbS9jaGF0LWN1c3RvbS1tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBRHZDO1FBRXFCLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQXdDLENBQUM7SUFhdEYsQ0FBQztJQVhDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsUUFBc0M7UUFDM0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OztZQWRGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBgRHJDdXN0b21NZXNzYWdlU2VydmljZWAgaXMgdXNlZCB0byBzdG9yZSBpbnN0YW5jZXMgb2YgYERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmVgcyB3aGljaFxuICogd2VyZSBwcm92aWRlZCBpbiB0aGUgY2hhdCBjb21wb25lbnQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBjdXN0b21NZXNzYWdlcyA9IG5ldyBNYXA8c3RyaW5nLCBEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlPigpO1xuXG4gIHJlZ2lzdGVyKHR5cGU6IHN0cmluZywgaW5zdGFuY2U6IERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUpOiB2b2lkIHtcbiAgICB0aGlzLmN1c3RvbU1lc3NhZ2VzLnNldCh0eXBlLCBpbnN0YW5jZSk7XG4gIH1cblxuICB1bnJlZ2lzdGVyKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbU1lc3NhZ2VzLmRlbGV0ZSh0eXBlKTtcbiAgfVxuXG4gIGdldEluc3RhbmNlKHR5cGU6IHN0cmluZyk6IERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbU1lc3NhZ2VzLmdldCh0eXBlKTtcbiAgfVxufVxuIl19
@@ -1,46 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
- /**
4
- * Chat message component.
5
- */
6
- export class DrChatMessageFileComponent {
7
- constructor(cd, domSanitizer) {
8
- this.cd = cd;
9
- this.domSanitizer = domSanitizer;
10
- }
11
- /**
12
- * Message file path
13
- *
14
- * @type {Date}
15
- */
16
- set files(files) {
17
- this.readyFiles = (files || []).map((file) => {
18
- const isImage = this.isImage(file);
19
- return Object.assign(Object.assign({}, file), { urlStyle: isImage && this.domSanitizer.bypassSecurityTrustStyle(`url(${file.url})`), isImage });
20
- });
21
- this.cd.detectChanges();
22
- }
23
- isImage(file) {
24
- const type = file.type;
25
- if (type) {
26
- return ['image/png', 'image/jpeg', 'image/gif'].includes(type);
27
- }
28
- return false;
29
- }
30
- }
31
- DrChatMessageFileComponent.decorators = [
32
- { type: Component, args: [{
33
- selector: 'dr-chat-message-file',
34
- template: "<ng-container *ngIf=\"readyFiles?.length > 1\">\n <div class=\"message-content-group\">\n <a *ngFor=\"let file of readyFiles\" [href]=\"file.url\" target=\"_blank\">\n <i class=\"dr-icon-file\" *ngIf=\"!file.urlStyle && file.icon\"></i>\n <div *ngIf=\"file.urlStyle\" [style.background-image]=\"file.urlStyle\"></div>\n </a>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"readyFiles?.length === 1\">\n <a [href]=\"readyFiles[0].url\" target=\"_blank\">\n <i class=\"dr-icon-file\" *ngIf=\"!readyFiles[0].urlStyle && readyFiles[0].icon\"></i>\n <div *ngIf=\"readyFiles[0].urlStyle\" [style.background-image]=\"readyFiles[0].urlStyle\"></div>\n </a>\n</ng-container>\n",
35
- changeDetection: ChangeDetectionStrategy.OnPush
36
- },] }
37
- ];
38
- DrChatMessageFileComponent.ctorParameters = () => [
39
- { type: ChangeDetectorRef },
40
- { type: DomSanitizer }
41
- ];
42
- DrChatMessageFileComponent.propDecorators = {
43
- message: [{ type: Input }],
44
- files: [{ type: Input }]
45
- };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWZpbGUvY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVF6RDs7R0FFRztBQU1ILE1BQU0sT0FBTywwQkFBMEI7SUE2Qm5DLFlBQXNCLEVBQXFCLEVBQVksWUFBMEI7UUFBM0QsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBWSxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUNqRixDQUFDO0lBbkJEOzs7O09BSUc7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUF5QjtRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsdUNBQ08sSUFBSSxLQUNQLFFBQVEsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFRLElBQUksQ0FBQyxHQUFJLEdBQUcsQ0FBQyxFQUNyRixPQUFPLElBQ1Q7UUFDTixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQU1ELE9BQU8sQ0FBQyxJQUFzQjtRQUMxQixNQUFNLElBQUksR0FBSSxJQUFxQyxDQUFDLElBQUksQ0FBQztRQUN6RCxJQUFJLElBQUksRUFBRTtZQUNOLE9BQU8sQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsRTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OztZQTVDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsd3VCQUErQztnQkFDL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDbEQ7OztZQWhCaUMsaUJBQWlCO1lBQzFDLFlBQVk7OztzQkF5QmhCLEtBQUs7b0JBT0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1xuICAgIElDaGF0RG93bmxvYWRGaWxlTWVzc2FnZSxcbiAgICBJQ2hhdEltYWdlTWVzc2FnZSxcbiAgICBJQ2hhdE1lc3NhZ2VGaWxlLFxuICAgIElDaGF0TWVzc2FnZUZpbGVJbWFnZVByZXZpZXdcbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXQnO1xuXG4vKipcbiAqIENoYXQgbWVzc2FnZSBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1tZXNzYWdlLWZpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRNZXNzYWdlRmlsZUNvbXBvbmVudCB7XG5cbiAgICByZWFkeUZpbGVzOiBhbnlbXTtcblxuICAgIC8qKlxuICAgICAqIE1lc3NhZ2Ugd2l0aCBmaWxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lc3NhZ2U6IElDaGF0RG93bmxvYWRGaWxlTWVzc2FnZSB8IElDaGF0SW1hZ2VNZXNzYWdlO1xuXG4gICAgLyoqXG4gICAgICogTWVzc2FnZSBmaWxlIHBhdGhcbiAgICAgKlxuICAgICAqIEB0eXBlIHtEYXRlfVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZpbGVzKGZpbGVzOiBJQ2hhdE1lc3NhZ2VGaWxlW10pIHtcbiAgICAgICAgdGhpcy5yZWFkeUZpbGVzID0gKGZpbGVzIHx8IFtdKS5tYXAoKGZpbGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNJbWFnZSA9IHRoaXMuaXNJbWFnZShmaWxlKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZmlsZSxcbiAgICAgICAgICAgICAgICB1cmxTdHlsZTogaXNJbWFnZSAmJiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoYHVybCgkeyBmaWxlLnVybCB9KWApLFxuICAgICAgICAgICAgICAgIGlzSW1hZ2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJvdGVjdGVkIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgfVxuXG5cbiAgICBpc0ltYWdlKGZpbGU6IElDaGF0TWVzc2FnZUZpbGUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdHlwZSA9IChmaWxlIGFzIElDaGF0TWVzc2FnZUZpbGVJbWFnZVByZXZpZXcpLnR5cGU7XG4gICAgICAgIGlmICh0eXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gWydpbWFnZS9wbmcnLCAnaW1hZ2UvanBlZycsICdpbWFnZS9naWYnXS5pbmNsdWRlcyh0eXBlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
@@ -1,18 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- /**
3
- * Chat rich-text message component.
4
- */
5
- export class DrChatMessageRichTextComponent {
6
- }
7
- DrChatMessageRichTextComponent.decorators = [
8
- { type: Component, args: [{
9
- selector: 'dr-chat-message-rich-text',
10
- template: "<div class=\"paragraphs\">\n <div *ngFor=\"let paragraph of message.paragraphs\"\n class=\"paragraphs__item\"\n [class]=\"paragraph.kind\"\n [innerText]=\"paragraph.value\">\n </div>\n</div>\n",
11
- changeDetection: ChangeDetectionStrategy.OnPush,
12
- styles: [".paragraphs{display:flex;flex-direction:column}.paragraphs__item:not(:first-child){margin-top:8px}.paragraphs__item.code{display:flex;padding:4px;border:1px solid #8f929e;background:#ccc}\n"]
13
- },] }
14
- ];
15
- DrChatMessageRichTextComponent.propDecorators = {
16
- message: [{ type: Input }]
17
- };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLXJpY2gtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtcmljaC10ZXh0L2NoYXQtbWVzc2FnZS1yaWNoLXRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFFOztHQUVHO0FBT0gsTUFBTSxPQUFPLDhCQUE4Qjs7O1lBTjFDLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQywwT0FBb0Q7Z0JBRXBELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O3NCQU9JLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNoYXRSaWNoVGV4dE1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2hhdCc7XG5cbi8qKlxuICogQ2hhdCByaWNoLXRleHQgbWVzc2FnZSBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1tZXNzYWdlLXJpY2gtdGV4dCcsXG4gICAgdGVtcGxhdGVVcmw6ICdjaGF0LW1lc3NhZ2UtcmljaC10ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGF0LW1lc3NhZ2UtcmljaC10ZXh0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdE1lc3NhZ2VSaWNoVGV4dENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogTWVzc2FnZSBzZW5kZXJcbiAgICAgKlxuICAgICAqIEB0eXBlIHtJQ2hhdFJpY2hUZXh0TWVzc2FnZX1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlOiBJQ2hhdFJpY2hUZXh0TWVzc2FnZTtcbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- /**
3
- * Chat text message component.
4
- */
5
- export class DrChatMessageTextComponent {
6
- }
7
- DrChatMessageTextComponent.decorators = [
8
- { type: Component, args: [{
9
- selector: 'dr-chat-message-text',
10
- template: "<div class=\"text\" *ngIf=\"message\">{{ message.text }}</div>\n",
11
- changeDetection: ChangeDetectionStrategy.OnPush,
12
- styles: [":host{display:flex}:host .text{display:flex;word-break:break-word}\n"]
13
- },] }
14
- ];
15
- DrChatMessageTextComponent.propDecorators = {
16
- message: [{ type: Input }]
17
- };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLXRleHQvY2hhdC1tZXNzYWdlLXRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFFOztHQUVHO0FBT0gsTUFBTSxPQUFPLDBCQUEwQjs7O1lBTnRDLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyw0RUFBK0M7Z0JBRS9DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O3NCQU9JLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNoYXRUZXh0TWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGF0JztcblxuLyoqXG4gKiBDaGF0IHRleHQgbWVzc2FnZSBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1tZXNzYWdlLXRleHQnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hhdC1tZXNzYWdlLXRleHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoYXQtbWVzc2FnZS10ZXh0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdE1lc3NhZ2VUZXh0Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBNZXNzYWdlIHNlbmRlclxuICAgICAqXG4gICAgICogQHR5cGUge0lDaGF0VGV4dE1lc3NhZ2V9XG4gICAgICovXG4gICAgQElucHV0KCkgbWVzc2FnZTogSUNoYXRUZXh0TWVzc2FnZTtcbn1cbiJdfQ==
@@ -1,32 +0,0 @@
1
- export var CHAT_MESSAGE_TYPE;
2
- (function (CHAT_MESSAGE_TYPE) {
3
- CHAT_MESSAGE_TYPE["TEXT"] = "text";
4
- CHAT_MESSAGE_TYPE["RICH_TEXT"] = "rich-text";
5
- CHAT_MESSAGE_TYPE["IMAGE"] = "image";
6
- CHAT_MESSAGE_TYPE["DOWNLOAD_FILE"] = "download-file";
7
- CHAT_MESSAGE_TYPE["MAILTO"] = "mailto";
8
- CHAT_MESSAGE_TYPE["EMBED"] = "embed";
9
- CHAT_MESSAGE_TYPE["WIDGET"] = "widget";
10
- CHAT_MESSAGE_TYPE["INPUT"] = "input";
11
- CHAT_MESSAGE_TYPE["CODE"] = "code";
12
- })(CHAT_MESSAGE_TYPE || (CHAT_MESSAGE_TYPE = {}));
13
- export class ChatMessage {
14
- constructor(obj, user) {
15
- this.id = obj === null || obj === void 0 ? void 0 : obj.id;
16
- this.kind = obj === null || obj === void 0 ? void 0 : obj.kind;
17
- this.seq = obj === null || obj === void 0 ? void 0 : obj.seq;
18
- this.conversationId = obj === null || obj === void 0 ? void 0 : obj.conversationId;
19
- this.reply = (obj === null || obj === void 0 ? void 0 : obj.senderId) !== user.id;
20
- this.senderId = obj === null || obj === void 0 ? void 0 : obj.senderId;
21
- this.parentId = obj === null || obj === void 0 ? void 0 : obj.parentId;
22
- this.text = (obj === null || obj === void 0 ? void 0 : obj.text) || obj.body;
23
- this.paragraphs = obj === null || obj === void 0 ? void 0 : obj.paragraphs;
24
- this.url = obj === null || obj === void 0 ? void 0 : obj.url;
25
- this.label = obj === null || obj === void 0 ? void 0 : obj.label;
26
- this.subject = obj === null || obj === void 0 ? void 0 : obj.subject;
27
- this.body = obj === null || obj === void 0 ? void 0 : obj.body;
28
- this.form = obj === null || obj === void 0 ? void 0 : obj.form;
29
- this.parameters = obj === null || obj === void 0 ? void 0 : obj.parameters;
30
- }
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL21vZGVscy9jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE1BQU0sQ0FBTixJQUFZLGlCQVVYO0FBVkQsV0FBWSxpQkFBaUI7SUFDekIsa0NBQWEsQ0FBQTtJQUNiLDRDQUF1QixDQUFBO0lBQ3ZCLG9DQUFlLENBQUE7SUFDZixvREFBK0IsQ0FBQTtJQUMvQixzQ0FBaUIsQ0FBQTtJQUNqQixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsb0NBQWUsQ0FBQTtJQUNmLGtDQUFhLENBQUE7QUFDakIsQ0FBQyxFQVZXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFVNUI7QUFzRUQsTUFBTSxPQUFPLFdBQVc7SUFrQnBCLFlBQVksR0FBUSxFQUFFLElBQWtCO1FBQ3BDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLGNBQWMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFFBQVEsTUFBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxJQUFJLEtBQUksR0FBRyxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxVQUFVLENBQUM7SUFDdEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ2hhdFNpZ25VcFJlcXVlc3QgeyB1c2VyTmFtZTogc3RyaW5nOyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH1cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRTaWduSW5SZXF1ZXN0IHsgZW1haWw6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9XG5leHBvcnQgaW50ZXJmYWNlIElDaGF0Q3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdCB7IHRpdGxlOiBzdHJpbmcgfVxuZXhwb3J0IGludGVyZmFjZSBJQ2hhdENvbnZlcnNhdGlvbiB7IGlkOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfVxuZXhwb3J0IGludGVyZmFjZSBJQ2hhdEFjY291bnQge1xuICAgIGtpbmQ6ICd1c2VyJyB8ICdib3QnO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGVtYWlsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBDSEFUX01FU1NBR0VfVFlQRSB7XG4gICAgVEVYVCA9ICd0ZXh0JyxcbiAgICBSSUNIX1RFWFQgPSAncmljaC10ZXh0JyxcbiAgICBJTUFHRSA9ICdpbWFnZScsXG4gICAgRE9XTkxPQURfRklMRSA9ICdkb3dubG9hZC1maWxlJyxcbiAgICBNQUlMVE8gPSAnbWFpbHRvJyxcbiAgICBFTUJFRCA9ICdlbWJlZCcsXG4gICAgV0lER0VUID0gJ3dpZGdldCcsXG4gICAgSU5QVVQgPSAnaW5wdXQnLFxuICAgIENPREUgPSAnY29kZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRNZXNzYWdlQmFzZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBraW5kOiBzdHJpbmcgfCBDSEFUX01FU1NBR0VfVFlQRTtcbiAgICBzZXE6IG51bWJlcjtcbiAgICBjb252ZXJzYXRpb25JZDogc3RyaW5nO1xuICAgIHJlcGx5OiBib29sZWFuO1xuICAgIHNlbmRlcklkOiBzdHJpbmc7XG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRUZXh0TWVzc2FnZSBleHRlbmRzIElDaGF0TWVzc2FnZUJhc2Uge1xuICAgIGtpbmQ6IHN0cmluZyB8IENIQVRfTUVTU0FHRV9UWVBFLlRFWFQ7XG4gICAgdGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2hhdFJpY2hUZXh0TWVzc2FnZSBleHRlbmRzIElDaGF0TWVzc2FnZUJhc2Uge1xuICAgIGtpbmQ6IHN0cmluZyB8IENIQVRfTUVTU0FHRV9UWVBFLlJJQ0hfVEVYVDtcbiAgICBwYXJhZ3JhcGhzPzogSUNoYXRSaWNoVGV4dFBhcmFncmFwaFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDaGF0UmljaFRleHRQYXJhZ3JhcGgge1xuICAgIGtpbmQ6IHN0cmluZyB8IENIQVRfTUVTU0FHRV9UWVBFO1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRJbWFnZU1lc3NhZ2UgZXh0ZW5kcyBJQ2hhdE1lc3NhZ2VCYXNlIHtcbiAgICBraW5kOiBzdHJpbmcgfCBDSEFUX01FU1NBR0VfVFlQRS5JTUFHRTtcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElDaGF0RG93bmxvYWRGaWxlTWVzc2FnZSBleHRlbmRzIElDaGF0TWVzc2FnZUJhc2Uge1xuICAgIGtpbmQ6IHN0cmluZyB8IENIQVRfTUVTU0FHRV9UWVBFLkRPV05MT0FEX0ZJTEU7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIGxhYmVsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDaGF0TWFpbHRvTWVzc2FnZSBleHRlbmRzIElDaGF0TWVzc2FnZUJhc2Uge1xuICAgIGtpbmQ6IHN0cmluZyB8IENIQVRfTUVTU0FHRV9UWVBFLk1BSUxUTztcbiAgICBzdWJqZWN0Pzogc3RyaW5nO1xuICAgIGJvZHk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRFbWJlZE1lc3NhZ2UgZXh0ZW5kcyBJQ2hhdE1lc3NhZ2VCYXNlIHtcbiAgICBraW5kOiBzdHJpbmcgfCBDSEFUX01FU1NBR0VfVFlQRS5FTUJFRDtcbiAgICB1cmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRJbnB1dE1lc3NhZ2UgZXh0ZW5kcyBJQ2hhdE1lc3NhZ2VCYXNlIHtcbiAgICBraW5kOiBzdHJpbmcgfCBDSEFUX01FU1NBR0VfVFlQRS5JTlBVVDtcbiAgICBmb3JtPzogYW55O1xufVxuXG5leHBvcnQgdHlwZSBJQ2hhdE1lc3NhZ2UgPSBJQ2hhdE1lc3NhZ2VCYXNlICYgSUNoYXRUZXh0TWVzc2FnZSAmIElDaGF0UmljaFRleHRNZXNzYWdlICYgSUNoYXRJbWFnZU1lc3NhZ2UgJlxuICAgIElDaGF0RG93bmxvYWRGaWxlTWVzc2FnZSAmIElDaGF0TWFpbHRvTWVzc2FnZSAmIElDaGF0RW1iZWRNZXNzYWdlICYgSUNoYXRJbnB1dE1lc3NhZ2U7XG5cblxuZXhwb3J0IGludGVyZmFjZSBJQ2hhdE1lc3NhZ2VGaWxlSWNvblByZXZpZXcge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGljb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2hhdE1lc3NhZ2VGaWxlSW1hZ2VQcmV2aWV3IHtcbiAgICB1cmw6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIElDaGF0TWVzc2FnZUZpbGUgPSBJQ2hhdE1lc3NhZ2VGaWxlSWNvblByZXZpZXcgfCBJQ2hhdE1lc3NhZ2VGaWxlSW1hZ2VQcmV2aWV3O1xuXG5leHBvcnQgY2xhc3MgQ2hhdE1lc3NhZ2UgaW1wbGVtZW50cyBJQ2hhdE1lc3NhZ2VCYXNlLCBJQ2hhdFRleHRNZXNzYWdlLCBJQ2hhdFJpY2hUZXh0TWVzc2FnZSwgSUNoYXRJbWFnZU1lc3NhZ2UsXG4gICAgSUNoYXREb3dubG9hZEZpbGVNZXNzYWdlLCBJQ2hhdE1haWx0b01lc3NhZ2UsIElDaGF0RW1iZWRNZXNzYWdlLCBJQ2hhdElucHV0TWVzc2FnZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBraW5kOiBzdHJpbmcgfCBDSEFUX01FU1NBR0VfVFlQRTtcbiAgICBzZXE6IG51bWJlcjtcbiAgICBjb252ZXJzYXRpb25JZDogc3RyaW5nO1xuICAgIHJlcGx5OiBib29sZWFuO1xuICAgIHNlbmRlcklkOiBzdHJpbmc7XG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gICAgdGV4dD86IHN0cmluZztcbiAgICBwYXJhZ3JhcGhzPzogSUNoYXRSaWNoVGV4dFBhcmFncmFwaFtdO1xuICAgIHVybD86IHN0cmluZztcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBzdWJqZWN0Pzogc3RyaW5nO1xuICAgIGJvZHk/OiBhbnk7XG4gICAgZm9ybT86IGFueTtcbiAgICBwYXJhbWV0ZXJzPzogYW55O1xuXG4gICAgY29uc3RydWN0b3Iob2JqOiBhbnksIHVzZXI6IElDaGF0QWNjb3VudCkge1xuICAgICAgICB0aGlzLmlkID0gb2JqPy5pZDtcbiAgICAgICAgdGhpcy5raW5kID0gb2JqPy5raW5kO1xuICAgICAgICB0aGlzLnNlcSA9IG9iaj8uc2VxO1xuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbklkID0gb2JqPy5jb252ZXJzYXRpb25JZDtcbiAgICAgICAgdGhpcy5yZXBseSA9IG9iaj8uc2VuZGVySWQgIT09IHVzZXIuaWQ7XG4gICAgICAgIHRoaXMuc2VuZGVySWQgPSBvYmo/LnNlbmRlcklkO1xuICAgICAgICB0aGlzLnBhcmVudElkID0gb2JqPy5wYXJlbnRJZDtcbiAgICAgICAgdGhpcy50ZXh0ID0gb2JqPy50ZXh0IHx8IG9iai5ib2R5O1xuICAgICAgICB0aGlzLnBhcmFncmFwaHMgPSBvYmo/LnBhcmFncmFwaHM7XG4gICAgICAgIHRoaXMudXJsID0gb2JqPy51cmw7XG4gICAgICAgIHRoaXMubGFiZWwgPSBvYmo/LmxhYmVsO1xuICAgICAgICB0aGlzLnN1YmplY3QgPSBvYmo/LnN1YmplY3Q7XG4gICAgICAgIHRoaXMuYm9keSA9IG9iaj8uYm9keTtcbiAgICAgICAgdGhpcy5mb3JtID0gb2JqPy5mb3JtO1xuICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSBvYmo/LnBhcmFtZXRlcnM7XG4gICAgfVxufVxuIl19
@@ -1,21 +0,0 @@
1
- import { ElementRef, QueryList, AfterViewInit, ChangeDetectorRef } from '@angular/core';
2
- import { DrChatFormComponent } from './dr-chat-form/chat-form.component';
3
- import { DrChatMessageComponent } from './dr-chat-message/chat-message.component';
4
- export declare class DrChatComponent implements AfterViewInit {
5
- private cdr;
6
- title: string;
7
- noMessagesPlaceholder: string;
8
- /**
9
- * Scroll chat to the bottom of the list when a new message arrives
10
- */
11
- get scrollBottom(): boolean;
12
- set scrollBottom(value: boolean);
13
- protected _scrollBottom: boolean;
14
- messagesContainer: ElementRef;
15
- messages: QueryList<DrChatMessageComponent>;
16
- chatForm: DrChatFormComponent;
17
- constructor(cdr: ChangeDetectorRef);
18
- ngAfterViewInit(): void;
19
- updateView(): void;
20
- scrollListBottom(): void;
21
- }
@@ -1,2 +0,0 @@
1
- export declare class DrChatModule {
2
- }