@progress/kendo-angular-conversational-ui 4.1.0 → 5.0.0-dev.202204131603

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 (163) hide show
  1. package/{dist/es2015/api → api}/action.interface.d.ts +0 -0
  2. package/{dist/es2015/api → api}/attachment.interface.d.ts +0 -0
  3. package/{dist/es2015/api → api}/execute-action-event.d.ts +1 -1
  4. package/{dist/es/api/user.interface.js → api/index.d.ts} +6 -0
  5. package/{dist/es2015/api → api}/message.interface.d.ts +0 -0
  6. package/{dist/es2015/api → api}/post-message-event.d.ts +0 -0
  7. package/{dist/es2015/api → api}/preventable-event.d.ts +0 -0
  8. package/{dist/es2015/api → api}/user.interface.d.ts +0 -0
  9. package/bundles/kendo-angular-conversational-ui.umd.js +5 -0
  10. package/{dist/es2015/cards → cards}/hero-card.component.d.ts +3 -0
  11. package/{dist/es2015/chat → chat}/attachment-template.directive.d.ts +3 -0
  12. package/{dist/es2015/chat → chat}/attachment.component.d.ts +9 -5
  13. package/{dist/es2015/chat → chat}/builtin-actions.d.ts +0 -0
  14. package/{dist/es2015/chat → chat}/chat-item.d.ts +0 -0
  15. package/{dist/es2015/chat → chat}/chat-view.d.ts +1 -1
  16. package/{dist/es2015/chat → chat}/chat.component.d.ts +7 -7
  17. package/{dist/es2015/chat → chat}/chat.directives.d.ts +0 -0
  18. package/chat/chat.module.d.ts +49 -0
  19. package/{dist/es2015/chat → chat}/l10n/custom-messages.component.d.ts +4 -1
  20. package/{dist/es2015/chat → chat}/l10n/localized-messages.directive.d.ts +3 -0
  21. package/{dist/es2015/chat → chat}/l10n/messages.d.ts +3 -0
  22. package/{dist/es2015/chat → chat}/message-attachments.component.d.ts +5 -2
  23. package/{dist/es2015/chat → chat}/message-box.component.d.ts +4 -1
  24. package/{dist/es2015/chat → chat}/message-box.directive.d.ts +3 -0
  25. package/{dist/es2015/chat → chat}/message-list.component.d.ts +9 -8
  26. package/{dist/es2015/chat → chat}/message-template.directive.d.ts +3 -0
  27. package/{dist/es2015/chat → chat}/message.component.d.ts +4 -1
  28. package/{dist/es2015/chat → chat}/suggested-actions.component.d.ts +4 -1
  29. package/common/focused-state.directive.d.ts +15 -0
  30. package/{dist/es2015/common → common}/keys.enum.d.ts +0 -0
  31. package/{dist/es2015/common → common}/models/message-box-options.d.ts +0 -0
  32. package/{dist/es2015/common → common}/scroll-anchor.directive.d.ts +3 -0
  33. package/{dist/es2015/common → common}/utils.d.ts +0 -0
  34. package/{dist/es2015 → esm2015}/api/action.interface.js +2 -1
  35. package/{dist/es2015 → esm2015}/api/attachment.interface.js +1 -0
  36. package/{dist/es2015 → esm2015}/api/execute-action-event.js +0 -0
  37. package/{dist/es/api/attachment.interface.js → esm2015/api/index.js} +6 -0
  38. package/{dist/es → esm2015}/api/message.interface.js +1 -0
  39. package/{dist/es2015 → esm2015}/api/post-message-event.js +0 -0
  40. package/{dist/es2015 → esm2015}/api/preventable-event.js +0 -0
  41. package/{dist/es2015 → esm2015}/api/user.interface.js +1 -0
  42. package/esm2015/cards/hero-card.component.js +90 -0
  43. package/{dist/es2015 → esm2015}/chat/attachment-template.directive.js +14 -12
  44. package/esm2015/chat/attachment.component.js +83 -0
  45. package/{dist/es2015 → esm2015}/chat/builtin-actions.js +13 -16
  46. package/{dist/es2015 → esm2015}/chat/chat-item.js +0 -0
  47. package/{dist/es2015 → esm2015}/chat/chat-view.js +0 -6
  48. package/esm2015/chat/chat.component.js +246 -0
  49. package/{dist/es → esm2015}/chat/chat.directives.js +0 -0
  50. package/{dist/es2015 → esm2015}/chat/chat.module.js +43 -15
  51. package/esm2015/chat/l10n/custom-messages.component.js +42 -0
  52. package/esm2015/chat/l10n/localized-messages.directive.js +37 -0
  53. package/esm2015/chat/l10n/messages.js +25 -0
  54. package/{dist/es2015 → esm2015}/chat/message-attachments.component.js +71 -48
  55. package/esm2015/chat/message-box.component.js +141 -0
  56. package/esm2015/chat/message-box.directive.js +24 -0
  57. package/esm2015/chat/message-list.component.js +279 -0
  58. package/{dist/es2015 → esm2015}/chat/message-template.directive.js +14 -12
  59. package/esm2015/chat/message.component.js +140 -0
  60. package/esm2015/chat/suggested-actions.component.js +113 -0
  61. package/esm2015/common/focused-state.directive.js +37 -0
  62. package/{dist/es2015 → esm2015}/common/keys.enum.js +1 -0
  63. package/{dist/es → esm2015}/common/models/message-box-options.js +1 -0
  64. package/{dist/es2015 → esm2015}/common/scroll-anchor.directive.js +20 -26
  65. package/{dist/es2015 → esm2015}/common/utils.js +0 -0
  66. package/{dist/es/api/action.interface.js → esm2015/kendo-angular-conversational-ui.js} +4 -1
  67. package/esm2015/main.js +10 -0
  68. package/{dist/es2015 → esm2015}/package-metadata.js +1 -1
  69. package/fesm2015/kendo-angular-conversational-ui.js +1757 -0
  70. package/{dist/es2015/common/focused-state.directive.d.ts → kendo-angular-conversational-ui.d.ts} +3 -6
  71. package/main.d.ts +11 -0
  72. package/{dist/es2015/package-metadata.d.ts → package-metadata.d.ts} +0 -0
  73. package/package.json +38 -107
  74. package/schematics/ngAdd/index.js +5 -2
  75. package/schematics/ngAdd/index.js.map +1 -1
  76. package/dist/cdn/js/kendo-angular-conversational-ui.js +0 -20
  77. package/dist/cdn/main.js +0 -5
  78. package/dist/es/api/execute-action-event.js +0 -24
  79. package/dist/es/api/post-message-event.js +0 -18
  80. package/dist/es/api/preventable-event.js +0 -32
  81. package/dist/es/cards/hero-card.component.js +0 -54
  82. package/dist/es/chat/attachment-template.directive.js +0 -32
  83. package/dist/es/chat/attachment.component.js +0 -65
  84. package/dist/es/chat/builtin-actions.js +0 -28
  85. package/dist/es/chat/chat-item.js +0 -13
  86. package/dist/es/chat/chat-view.js +0 -92
  87. package/dist/es/chat/chat.component.js +0 -190
  88. package/dist/es/chat/chat.module.js +0 -80
  89. package/dist/es/chat/l10n/custom-messages.component.js +0 -45
  90. package/dist/es/chat/l10n/localized-messages.directive.js +0 -36
  91. package/dist/es/chat/l10n/messages.js +0 -26
  92. package/dist/es/chat/message-attachments.component.js +0 -148
  93. package/dist/es/chat/message-box.component.js +0 -124
  94. package/dist/es/chat/message-box.directive.js +0 -24
  95. package/dist/es/chat/message-list.component.js +0 -165
  96. package/dist/es/chat/message-template.directive.js +0 -32
  97. package/dist/es/chat/message.component.js +0 -77
  98. package/dist/es/chat/suggested-actions.component.js +0 -91
  99. package/dist/es/common/focused-state.directive.js +0 -43
  100. package/dist/es/common/keys.enum.js +0 -4
  101. package/dist/es/common/scroll-anchor.directive.js +0 -87
  102. package/dist/es/common/utils.js +0 -13
  103. package/dist/es/index.js +0 -22
  104. package/dist/es/main.js +0 -8
  105. package/dist/es/package-metadata.js +0 -15
  106. package/dist/es2015/api/message.interface.js +0 -4
  107. package/dist/es2015/cards/hero-card.component.js +0 -79
  108. package/dist/es2015/chat/attachment.component.js +0 -66
  109. package/dist/es2015/chat/chat.component.js +0 -214
  110. package/dist/es2015/chat/chat.directives.js +0 -8
  111. package/dist/es2015/chat/chat.module.d.ts +0 -27
  112. package/dist/es2015/chat/l10n/custom-messages.component.js +0 -37
  113. package/dist/es2015/chat/l10n/localized-messages.directive.js +0 -32
  114. package/dist/es2015/chat/l10n/messages.js +0 -20
  115. package/dist/es2015/chat/message-box.component.js +0 -157
  116. package/dist/es2015/chat/message-box.directive.js +0 -23
  117. package/dist/es2015/chat/message-list.component.js +0 -227
  118. package/dist/es2015/chat/message.component.js +0 -107
  119. package/dist/es2015/chat/suggested-actions.component.js +0 -105
  120. package/dist/es2015/common/focused-state.directive.js +0 -45
  121. package/dist/es2015/common/models/message-box-options.js +0 -4
  122. package/dist/es2015/index.d.ts +0 -22
  123. package/dist/es2015/index.js +0 -22
  124. package/dist/es2015/index.metadata.json +0 -1
  125. package/dist/es2015/main.d.ts +0 -13
  126. package/dist/es2015/main.js +0 -8
  127. package/dist/fesm2015/index.js +0 -1554
  128. package/dist/fesm5/index.js +0 -1383
  129. package/dist/npm/api/action.interface.js +0 -7
  130. package/dist/npm/api/attachment.interface.js +0 -6
  131. package/dist/npm/api/execute-action-event.js +0 -26
  132. package/dist/npm/api/message.interface.js +0 -6
  133. package/dist/npm/api/post-message-event.js +0 -20
  134. package/dist/npm/api/preventable-event.js +0 -34
  135. package/dist/npm/api/user.interface.js +0 -6
  136. package/dist/npm/cards/hero-card.component.js +0 -56
  137. package/dist/npm/chat/attachment-template.directive.js +0 -34
  138. package/dist/npm/chat/attachment.component.js +0 -67
  139. package/dist/npm/chat/builtin-actions.js +0 -33
  140. package/dist/npm/chat/chat-item.js +0 -15
  141. package/dist/npm/chat/chat-view.js +0 -98
  142. package/dist/npm/chat/chat.component.js +0 -192
  143. package/dist/npm/chat/chat.directives.js +0 -14
  144. package/dist/npm/chat/chat.module.js +0 -82
  145. package/dist/npm/chat/l10n/custom-messages.component.js +0 -47
  146. package/dist/npm/chat/l10n/localized-messages.directive.js +0 -38
  147. package/dist/npm/chat/l10n/messages.js +0 -28
  148. package/dist/npm/chat/message-attachments.component.js +0 -150
  149. package/dist/npm/chat/message-box.component.js +0 -126
  150. package/dist/npm/chat/message-box.directive.js +0 -26
  151. package/dist/npm/chat/message-list.component.js +0 -167
  152. package/dist/npm/chat/message-template.directive.js +0 -34
  153. package/dist/npm/chat/message.component.js +0 -79
  154. package/dist/npm/chat/suggested-actions.component.js +0 -93
  155. package/dist/npm/common/focused-state.directive.js +0 -45
  156. package/dist/npm/common/keys.enum.js +0 -6
  157. package/dist/npm/common/models/message-box-options.js +0 -6
  158. package/dist/npm/common/scroll-anchor.directive.js +0 -89
  159. package/dist/npm/common/utils.js +0 -15
  160. package/dist/npm/index.js +0 -39
  161. package/dist/npm/main.js +0 -11
  162. package/dist/npm/package-metadata.js +0 -17
  163. package/dist/systemjs/kendo-angular-conversational-ui.js +0 -5
@@ -2,4 +2,5 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- // tslint:disable:max-line-length
5
+ // eslint-disable max-line-length
6
+ export {};
@@ -2,3 +2,4 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -2,3 +2,9 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ export * from './action.interface';
6
+ export * from './attachment.interface';
7
+ export * from './execute-action-event';
8
+ export * from './message.interface';
9
+ export * from './post-message-event';
10
+ export * from './user.interface';
@@ -2,3 +2,4 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -2,3 +2,4 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -0,0 +1,90 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@progress/kendo-angular-buttons";
9
+ /**
10
+ * Represents a Hero Card component ([see example]({% slug dialogflow_chat %})).
11
+ * Hero cards host a single large image and action buttons with text content.
12
+ */
13
+ export class HeroCardComponent {
14
+ constructor() {
15
+ this.cssClass = true;
16
+ /**
17
+ * Fires when the user clicks a button.
18
+ */
19
+ this.executeAction = new EventEmitter();
20
+ }
21
+ onClick(action) {
22
+ this.executeAction.next(action);
23
+ }
24
+ }
25
+ HeroCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeroCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
+ HeroCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: HeroCardComponent, selector: "kendo-chat-hero-card", inputs: { imageUrl: "imageUrl", title: "title", subtitle: "subtitle", actions: "actions" }, outputs: { executeAction: "executeAction" }, host: { properties: { "class.k-card": "this.cssClass" } }, ngImport: i0, template: `
27
+ <img class="k-card-image" [src]="imageUrl" *ngIf="imageUrl" />
28
+ <div class="k-card-body">
29
+ <h5 class="k-card-title" *ngIf="title">
30
+ {{ title }}
31
+ </h5>
32
+ <h6 class="k-card-subtitle" *ngIf="subtitle">
33
+ {{ subtitle }}
34
+ </h6>
35
+ </div>
36
+ <div class="k-card-actions k-card-actions-vertical">
37
+ <span class="k-card-action"
38
+ *ngFor="let act of actions"
39
+ >
40
+ <button
41
+ kendoButton fillMode="flat"
42
+ (click)="onClick(act)"
43
+ >
44
+ {{ act.title }}
45
+ </button>
46
+ </span>
47
+ </div>
48
+ `, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeroCardComponent, decorators: [{
50
+ type: Component,
51
+ args: [{
52
+ selector: 'kendo-chat-hero-card',
53
+ template: `
54
+ <img class="k-card-image" [src]="imageUrl" *ngIf="imageUrl" />
55
+ <div class="k-card-body">
56
+ <h5 class="k-card-title" *ngIf="title">
57
+ {{ title }}
58
+ </h5>
59
+ <h6 class="k-card-subtitle" *ngIf="subtitle">
60
+ {{ subtitle }}
61
+ </h6>
62
+ </div>
63
+ <div class="k-card-actions k-card-actions-vertical">
64
+ <span class="k-card-action"
65
+ *ngFor="let act of actions"
66
+ >
67
+ <button
68
+ kendoButton fillMode="flat"
69
+ (click)="onClick(act)"
70
+ >
71
+ {{ act.title }}
72
+ </button>
73
+ </span>
74
+ </div>
75
+ `
76
+ }]
77
+ }], propDecorators: { imageUrl: [{
78
+ type: Input
79
+ }], title: [{
80
+ type: Input
81
+ }], subtitle: [{
82
+ type: Input
83
+ }], actions: [{
84
+ type: Input
85
+ }], cssClass: [{
86
+ type: HostBinding,
87
+ args: ['class.k-card']
88
+ }], executeAction: [{
89
+ type: Output
90
+ }] } });
@@ -2,8 +2,8 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Directive, Optional, TemplateRef } from "@angular/core";
5
+ import { Directive, Optional } from "@angular/core";
6
+ import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Defines a template that will be used for displaying message attachments. To define an attachment
9
9
  * template, nest an `<ng-template>` tag with the `kendoChatAttachmentTemplate` attribute inside the
@@ -16,16 +16,18 @@ import { Directive, Optional, TemplateRef } from "@angular/core";
16
16
  * {% embed_file shared/main.ts hidden %}
17
17
  * {% endmeta %}
18
18
  */
19
- let AttachmentTemplateDirective = class AttachmentTemplateDirective {
19
+ export class AttachmentTemplateDirective {
20
20
  constructor(templateRef) {
21
21
  this.templateRef = templateRef;
22
22
  }
23
- };
24
- AttachmentTemplateDirective = tslib_1.__decorate([
25
- Directive({
26
- selector: '[kendoChatAttachmentTemplate]'
27
- }),
28
- tslib_1.__param(0, Optional()),
29
- tslib_1.__metadata("design:paramtypes", [TemplateRef])
30
- ], AttachmentTemplateDirective);
31
- export { AttachmentTemplateDirective };
23
+ }
24
+ AttachmentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AttachmentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
25
+ AttachmentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: AttachmentTemplateDirective, selector: "[kendoChatAttachmentTemplate]", ngImport: i0 });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AttachmentTemplateDirective, decorators: [{
27
+ type: Directive,
28
+ args: [{
29
+ selector: '[kendoChatAttachmentTemplate]'
30
+ }]
31
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
32
+ type: Optional
33
+ }] }]; } });
@@ -0,0 +1,83 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Component, Input } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ /**
9
+ * @hidden
10
+ */
11
+ export class AttachmentComponent {
12
+ set attachment(value) {
13
+ this._attachment = value;
14
+ this.context = {
15
+ $implicit: this.attachment
16
+ };
17
+ }
18
+ get attachment() {
19
+ return this._attachment;
20
+ }
21
+ get image() {
22
+ return this.contentType.indexOf('image/') === 0;
23
+ }
24
+ get unknown() {
25
+ return !this.image;
26
+ }
27
+ get contentType() {
28
+ return this.attachment.contentType || '';
29
+ }
30
+ }
31
+ AttachmentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AttachmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ AttachmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AttachmentComponent, selector: "kendo-chat-attachment", inputs: { attachment: "attachment", template: "template" }, ngImport: i0, template: `
33
+ <ng-container *ngIf="template">
34
+ <ng-container *ngTemplateOutlet="template.templateRef; context: context;">
35
+ </ng-container>
36
+ </ng-container>
37
+
38
+ <div *ngIf="!template" class="k-card">
39
+ <div class="k-card-body">
40
+ <h5 class="k-card-title" *ngIf="attachment.title">
41
+ {{ attachment.title }}
42
+ </h5>
43
+ <h6 class="k-card-subtitle" *ngIf="attachment.subtitle">
44
+ {{ attachment.subtitle }}
45
+ </h6>
46
+ <img *ngIf="image" [attr.src]="attachment.content" />
47
+ <ng-container *ngIf="unknown">
48
+ {{ attachment.content }}
49
+ </ng-container>
50
+ </div>
51
+ </div>
52
+ `, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AttachmentComponent, decorators: [{
54
+ type: Component,
55
+ args: [{
56
+ selector: 'kendo-chat-attachment',
57
+ template: `
58
+ <ng-container *ngIf="template">
59
+ <ng-container *ngTemplateOutlet="template.templateRef; context: context;">
60
+ </ng-container>
61
+ </ng-container>
62
+
63
+ <div *ngIf="!template" class="k-card">
64
+ <div class="k-card-body">
65
+ <h5 class="k-card-title" *ngIf="attachment.title">
66
+ {{ attachment.title }}
67
+ </h5>
68
+ <h6 class="k-card-subtitle" *ngIf="attachment.subtitle">
69
+ {{ attachment.subtitle }}
70
+ </h6>
71
+ <img *ngIf="image" [attr.src]="attachment.content" />
72
+ <ng-container *ngIf="unknown">
73
+ {{ attachment.content }}
74
+ </ng-container>
75
+ </div>
76
+ </div>
77
+ `
78
+ }]
79
+ }], propDecorators: { attachment: [{
80
+ type: Input
81
+ }], template: [{
82
+ type: Input
83
+ }] } });
@@ -4,25 +4,22 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { SendMessageEvent } from '../api/post-message-event';
6
6
  const noop = () => { };
7
- const ɵ0 = noop;
8
- const ɵ1 = (action, sender) => {
9
- sender.sendMessage.emit(new SendMessageEvent({
10
- author: sender.user,
11
- text: action.value,
12
- timestamp: new Date()
13
- }));
14
- }, ɵ2 = (action) => {
15
- window.open('tel:' + action.value);
16
- }, ɵ3 = (action) => {
17
- window.open(action.value);
18
- };
19
7
  const handlers = {
20
- 'reply': ɵ1,
21
- 'call': ɵ2,
22
- 'openUrl': ɵ3
8
+ 'reply': (action, sender) => {
9
+ sender.sendMessage.emit(new SendMessageEvent({
10
+ author: sender.user,
11
+ text: action.value,
12
+ timestamp: new Date()
13
+ }));
14
+ },
15
+ 'call': (action) => {
16
+ window.open('tel:' + action.value);
17
+ },
18
+ 'openUrl': (action) => {
19
+ window.open(action.value);
20
+ }
23
21
  };
24
22
  /**
25
23
  * @hidden
26
24
  */
27
25
  export const makeHandler = (action) => handlers[action.type] || noop;
28
- export { ɵ0, ɵ1, ɵ2, ɵ3 };
File without changes
@@ -8,11 +8,9 @@ import { isDevMode } from '@angular/core';
8
8
  */
9
9
  export const isAuthor = (user, msg) => user && msg.author && user.id === msg.author.id;
10
10
  const last = (arr) => arr[arr.length - 1];
11
- const ɵ0 = last;
12
11
  const dateChanged = (curr, prev) => (curr && prev) && (prev.getDate() !== curr.getDate() ||
13
12
  prev.getMonth() !== curr.getMonth() ||
14
13
  prev.getFullYear() !== curr.getFullYear());
15
- const ɵ1 = dateChanged;
16
14
  const addDateMarker = (acc, msg) => {
17
15
  const timestamp = msg.timestamp;
18
16
  const lastItem = last(acc);
@@ -28,7 +26,6 @@ const addDateMarker = (acc, msg) => {
28
26
  acc.push(dateMarker);
29
27
  }
30
28
  };
31
- const ɵ2 = addDateMarker;
32
29
  const groupMessages = (acc, msg, isLastMessage) => {
33
30
  const lastItem = last(acc);
34
31
  let messages;
@@ -54,7 +51,6 @@ const groupMessages = (acc, msg, isLastMessage) => {
54
51
  });
55
52
  }
56
53
  };
57
- const ɵ3 = groupMessages;
58
54
  const groupItems = (total) => (acc, msg, index) => {
59
55
  const isLastMessage = index === total - 1;
60
56
  addDateMarker(acc, msg);
@@ -78,9 +74,7 @@ const groupItems = (total) => (acc, msg, index) => {
78
74
  }
79
75
  return acc;
80
76
  };
81
- const ɵ4 = groupItems;
82
77
  /**
83
78
  * @hidden
84
79
  */
85
80
  export const chatView = (messages) => messages.reduce(groupItems(messages.length), []);
86
- export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4 };
@@ -0,0 +1,246 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Component, ContentChild, EventEmitter, HostBinding, Input, isDevMode, Output, ViewChild } from '@angular/core';
6
+ import { AttachmentTemplateDirective } from './attachment-template.directive';
7
+ import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
8
+ import { makeHandler } from './builtin-actions';
9
+ import { MessageTemplateDirective } from './message-template.directive';
10
+ import { validatePackage } from '@progress/kendo-licensing';
11
+ import { packageMetadata } from '../package-metadata';
12
+ import { ChatMessageBoxTemplateDirective } from './message-box.directive';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@progress/kendo-angular-l10n";
15
+ import * as i2 from "./message-list.component";
16
+ import * as i3 from "./message-box.component";
17
+ import * as i4 from "./l10n/localized-messages.directive";
18
+ import * as i5 from "../common/scroll-anchor.directive";
19
+ /**
20
+ * Represents the Kendo UI Chat component for Angular.
21
+ *
22
+ * {% meta height:700 %}
23
+ * {% embed_file echo/app.component.ts preview %}
24
+ * {% embed_file shared/app.module.ts %}
25
+ * {% embed_file shared/main.ts hidden %}
26
+ * {% endmeta %}
27
+ *
28
+ */
29
+ export class ChatComponent {
30
+ constructor(localization, zone) {
31
+ this.localization = localization;
32
+ this.zone = zone;
33
+ /**
34
+ * Used to switch between a one-liner input or a textarea.
35
+ * ([see example]({% slug message_box %})#toc-message-box-types).
36
+ * @default input
37
+ */
38
+ this.messageBoxType = 'textbox';
39
+ /**
40
+ * Fires when the user types a message and clicks the **Send** button or presses **Enter**.
41
+ * Emits the [`SendMessageEvent`]({% slug api_conversational-ui_sendmessageevent %}).
42
+ *
43
+ * > The message is not automatically appended to the `messages` array.
44
+ */
45
+ this.sendMessage = new EventEmitter();
46
+ /**
47
+ * Fires when the user clicks a quick action button.
48
+ * The Chat internally handles the `reply`, `openUrl`, and `call` [known actions]({% slug api_conversational-ui_actiontype %}).
49
+ *
50
+ * Emits the [`ExecuteActionEvent`]({% slug api_conversational-ui_executeactionevent %}).
51
+ * The event is preventable. If `preventDefault` is called, the built-in action will be suppressed.
52
+ */
53
+ this.executeAction = new EventEmitter();
54
+ /**
55
+ * @hidden
56
+ */
57
+ this.autoScroll = true;
58
+ validatePackage(packageMetadata);
59
+ this.direction = localization.rtl ? 'rtl' : 'ltr';
60
+ this.localizationChangeSubscription = localization.changes.subscribe(({ rtl }) => {
61
+ this.direction = rtl ? 'rtl' : 'ltr';
62
+ });
63
+ }
64
+ get className() {
65
+ return 'k-chat';
66
+ }
67
+ get dirAttr() {
68
+ return this.direction;
69
+ }
70
+ /**
71
+ * @hidden
72
+ */
73
+ get localizationText() {
74
+ return this.localization;
75
+ }
76
+ ngOnChanges() {
77
+ this.zone.runOutsideAngular(() => setTimeout(() => {
78
+ this.messageList.nativeElement.style.flex = '1 1 auto';
79
+ }));
80
+ }
81
+ ngAfterViewInit() {
82
+ if (!isDevMode()) {
83
+ return;
84
+ }
85
+ if (!this.user) {
86
+ throw new Error('User must be set and have a valid id.');
87
+ }
88
+ }
89
+ ngOnDestroy() {
90
+ if (this.localizationChangeSubscription) {
91
+ this.localizationChangeSubscription.unsubscribe();
92
+ }
93
+ }
94
+ /**
95
+ * @hidden
96
+ */
97
+ dispatchAction(e) {
98
+ this.executeAction.emit(e);
99
+ if (!e.isDefaultPrevented()) {
100
+ const handler = makeHandler(e.action);
101
+ handler(e.action, this);
102
+ if (!this.messageBoxTemplate) {
103
+ this.messageBox.messageBoxInput.nativeElement.focus();
104
+ }
105
+ }
106
+ }
107
+ /**
108
+ * @hidden
109
+ */
110
+ textFor(key) {
111
+ return this.localization.get(key);
112
+ }
113
+ }
114
+ ChatComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatComponent, deps: [{ token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
115
+ ChatComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ChatComponent, selector: "kendo-chat", inputs: { messages: "messages", user: "user", messageBoxType: "messageBoxType" }, outputs: { sendMessage: "sendMessage", executeAction: "executeAction" }, host: { properties: { "class": "this.className", "attr.dir": "this.dirAttr" } }, providers: [
116
+ LocalizationService,
117
+ {
118
+ provide: L10N_PREFIX,
119
+ useValue: 'kendo.chat'
120
+ }
121
+ ], queries: [{ propertyName: "attachmentTemplate", first: true, predicate: AttachmentTemplateDirective, descendants: true }, { propertyName: "messageTemplate", first: true, predicate: MessageTemplateDirective, descendants: true }, { propertyName: "messageBoxTemplate", first: true, predicate: ChatMessageBoxTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "messageBox", first: true, predicate: ["messageBox"], descendants: true }, { propertyName: "messageList", first: true, predicate: ["messageList"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
122
+ <ng-container
123
+ kendoChatLocalizedMessages
124
+ i18n-messagePlaceholder="kendo.chat.messagePlaceholder|The placholder text of the message text input"
125
+ messagePlaceholder="Type a message..."
126
+
127
+ i18n-send="kendo.chat.send|The text for the Send button"
128
+ send="Send..."
129
+ >
130
+ </ng-container>
131
+
132
+ <div
133
+ #messageList
134
+ class="k-message-list k-avatars"
135
+ aria-live="polite" role="log"
136
+ kendoChatScrollAnchor
137
+ #anchor="scrollAnchor"
138
+ [(autoScroll)]="autoScroll"
139
+ >
140
+ <kendo-chat-message-list
141
+ [messages]="messages"
142
+ [messageTemplate]="messageTemplate"
143
+ [attachmentTemplate]="attachmentTemplate"
144
+ [user]="user"
145
+ (executeAction)="dispatchAction($event)"
146
+ (resize)="anchor.scrollToBottom()"
147
+ (navigate)="this.autoScroll = false"
148
+ >
149
+ </kendo-chat-message-list>
150
+ </div>
151
+ <kendo-message-box
152
+ #messageBox
153
+ [messageBoxTemplate]="messageBoxTemplate"
154
+ [type]="messageBoxType"
155
+ [user]="user"
156
+ [autoScroll]="autoScroll"
157
+ [localization]="localizationText"
158
+ (sendMessage)="sendMessage.emit($event)"
159
+ >
160
+ </kendo-message-box>
161
+ `, isInline: true, components: [{ type: i2.MessageListComponent, selector: "kendo-chat-message-list", inputs: ["messages", "attachmentTemplate", "messageTemplate", "user"], outputs: ["executeAction", "navigate", "resize"] }, { type: i3.MessageBoxComponent, selector: "kendo-message-box", inputs: ["user", "autoScroll", "type", "localization", "messageBoxTemplate"], outputs: ["sendMessage"] }], directives: [{ type: i4.LocalizedMessagesDirective, selector: "[kendoChatLocalizedMessages]" }, { type: i5.ScrollAnchorDirective, selector: "[kendoChatScrollAnchor]", inputs: ["autoScroll"], outputs: ["autoScrollChange"], exportAs: ["scrollAnchor"] }] });
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatComponent, decorators: [{
163
+ type: Component,
164
+ args: [{
165
+ providers: [
166
+ LocalizationService,
167
+ {
168
+ provide: L10N_PREFIX,
169
+ useValue: 'kendo.chat'
170
+ }
171
+ ],
172
+ selector: 'kendo-chat',
173
+ template: `
174
+ <ng-container
175
+ kendoChatLocalizedMessages
176
+ i18n-messagePlaceholder="kendo.chat.messagePlaceholder|The placholder text of the message text input"
177
+ messagePlaceholder="Type a message..."
178
+
179
+ i18n-send="kendo.chat.send|The text for the Send button"
180
+ send="Send..."
181
+ >
182
+ </ng-container>
183
+
184
+ <div
185
+ #messageList
186
+ class="k-message-list k-avatars"
187
+ aria-live="polite" role="log"
188
+ kendoChatScrollAnchor
189
+ #anchor="scrollAnchor"
190
+ [(autoScroll)]="autoScroll"
191
+ >
192
+ <kendo-chat-message-list
193
+ [messages]="messages"
194
+ [messageTemplate]="messageTemplate"
195
+ [attachmentTemplate]="attachmentTemplate"
196
+ [user]="user"
197
+ (executeAction)="dispatchAction($event)"
198
+ (resize)="anchor.scrollToBottom()"
199
+ (navigate)="this.autoScroll = false"
200
+ >
201
+ </kendo-chat-message-list>
202
+ </div>
203
+ <kendo-message-box
204
+ #messageBox
205
+ [messageBoxTemplate]="messageBoxTemplate"
206
+ [type]="messageBoxType"
207
+ [user]="user"
208
+ [autoScroll]="autoScroll"
209
+ [localization]="localizationText"
210
+ (sendMessage)="sendMessage.emit($event)"
211
+ >
212
+ </kendo-message-box>
213
+ `
214
+ }]
215
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.NgZone }]; }, propDecorators: { messages: [{
216
+ type: Input
217
+ }], user: [{
218
+ type: Input
219
+ }], messageBoxType: [{
220
+ type: Input
221
+ }], sendMessage: [{
222
+ type: Output
223
+ }], executeAction: [{
224
+ type: Output
225
+ }], className: [{
226
+ type: HostBinding,
227
+ args: ['class']
228
+ }], dirAttr: [{
229
+ type: HostBinding,
230
+ args: ['attr.dir']
231
+ }], attachmentTemplate: [{
232
+ type: ContentChild,
233
+ args: [AttachmentTemplateDirective, { static: false }]
234
+ }], messageTemplate: [{
235
+ type: ContentChild,
236
+ args: [MessageTemplateDirective, { static: false }]
237
+ }], messageBoxTemplate: [{
238
+ type: ContentChild,
239
+ args: [ChatMessageBoxTemplateDirective, { static: false }]
240
+ }], messageBox: [{
241
+ type: ViewChild,
242
+ args: ['messageBox', { static: false }]
243
+ }], messageList: [{
244
+ type: ViewChild,
245
+ args: ['messageList', { static: true }]
246
+ }] } });
File without changes
@@ -2,7 +2,6 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
5
  import { AttachmentComponent } from './attachment.component';
7
6
  import { AttachmentTemplateDirective, ChatComponent, MessageTemplateDirective } from './chat.directives';
8
7
  import { ButtonModule } from '@progress/kendo-angular-buttons';
@@ -20,6 +19,7 @@ import { ScrollAnchorDirective } from '../common/scroll-anchor.directive';
20
19
  import { SuggestedActionsComponent } from './suggested-actions.component';
21
20
  import { MessageBoxComponent } from './message-box.component';
22
21
  import { ChatMessageBoxTemplateDirective } from './message-box.directive';
22
+ import * as i0 from "@angular/core";
23
23
  const PUBLIC_DIRECTIVES = [
24
24
  ChatComponent,
25
25
  CustomMessagesComponent,
@@ -61,20 +61,48 @@ const PRIVATE_DIRECTIVES = [
61
61
  * export class AppModule { }
62
62
  * ```
63
63
  */
64
- let ChatModule = class ChatModule {
65
- };
66
- ChatModule = tslib_1.__decorate([
67
- NgModule({
68
- declarations: [
69
- ...PUBLIC_DIRECTIVES,
70
- ...PRIVATE_DIRECTIVES
71
- ],
72
- exports: [PUBLIC_DIRECTIVES],
73
- imports: [
64
+ export class ChatModule {
65
+ }
66
+ ChatModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
67
+ ChatModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatModule, declarations: [ChatComponent,
68
+ CustomMessagesComponent,
69
+ AttachmentTemplateDirective,
70
+ MessageTemplateDirective,
71
+ HeroCardComponent,
72
+ ChatMessageBoxTemplateDirective, AttachmentComponent,
73
+ FocusedStateDirective,
74
+ LocalizedMessagesDirective,
75
+ MessageAttachmentsComponent,
76
+ MessageComponent,
77
+ MessageListComponent,
78
+ MessageTemplateDirective,
79
+ ScrollAnchorDirective,
80
+ SuggestedActionsComponent,
81
+ MessageBoxComponent], imports: [ButtonModule,
82
+ CommonModule,
83
+ ResizeSensorModule], exports: [ChatComponent,
84
+ CustomMessagesComponent,
85
+ AttachmentTemplateDirective,
86
+ MessageTemplateDirective,
87
+ HeroCardComponent,
88
+ ChatMessageBoxTemplateDirective] });
89
+ ChatModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatModule, imports: [[
74
90
  ButtonModule,
75
91
  CommonModule,
76
92
  ResizeSensorModule
77
- ]
78
- })
79
- ], ChatModule);
80
- export { ChatModule };
93
+ ]] });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatModule, decorators: [{
95
+ type: NgModule,
96
+ args: [{
97
+ declarations: [
98
+ ...PUBLIC_DIRECTIVES,
99
+ ...PRIVATE_DIRECTIVES
100
+ ],
101
+ exports: [PUBLIC_DIRECTIVES],
102
+ imports: [
103
+ ButtonModule,
104
+ CommonModule,
105
+ ResizeSensorModule
106
+ ]
107
+ }]
108
+ }] });