@progress/kendo-angular-conversational-ui 3.0.2 → 4.0.0-dev.202201131630
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/NOTICE.txt +119 -79
- package/README.md +1 -1
- package/dist/cdn/js/kendo-angular-conversational-ui.js +2 -2
- package/dist/cdn/main.js +1 -1
- package/dist/es/cards/hero-card.component.js +1 -1
- package/dist/es/chat/chat.component.js +1 -1
- package/dist/es/chat/message-attachments.component.js +1 -1
- package/dist/es/package-metadata.js +1 -1
- package/dist/es2015/cards/hero-card.component.js +1 -1
- package/dist/es2015/chat/chat.component.js +1 -1
- package/dist/es2015/chat/message-attachments.component.js +4 -4
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/fesm2015/index.js +7 -7
- package/dist/fesm5/index.js +4 -4
- package/dist/npm/cards/hero-card.component.js +1 -1
- package/dist/npm/chat/chat.component.js +1 -1
- package/dist/npm/chat/message-attachments.component.js +1 -1
- package/dist/npm/package-metadata.js +1 -1
- package/dist/systemjs/kendo-angular-conversational-ui.js +1 -1
- package/package.json +4 -4
package/dist/fesm2015/index.js
CHANGED
|
@@ -105,7 +105,7 @@ const packageMetadata = {
|
|
|
105
105
|
name: '@progress/kendo-angular-conversational-ui',
|
|
106
106
|
productName: 'Kendo UI for Angular',
|
|
107
107
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
108
|
-
publishDate:
|
|
108
|
+
publishDate: 1642091336,
|
|
109
109
|
version: '',
|
|
110
110
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
111
111
|
};
|
|
@@ -314,7 +314,7 @@ ChatComponent = __decorate([
|
|
|
314
314
|
>
|
|
315
315
|
<button
|
|
316
316
|
kendoButton
|
|
317
|
-
|
|
317
|
+
fillMode="flat"
|
|
318
318
|
class="k-button-send"
|
|
319
319
|
tabindex="-1"
|
|
320
320
|
[attr.title]="textFor('send')"
|
|
@@ -530,7 +530,7 @@ HeroCardComponent = __decorate([
|
|
|
530
530
|
*ngFor="let act of actions"
|
|
531
531
|
>
|
|
532
532
|
<button
|
|
533
|
-
kendoButton
|
|
533
|
+
kendoButton fillMode="flat"
|
|
534
534
|
(click)="onClick(act)">
|
|
535
535
|
{{ act.title }}
|
|
536
536
|
</button>
|
|
@@ -696,9 +696,9 @@ MessageAttachmentsComponent = MessageAttachmentsComponent_1 = __decorate([
|
|
|
696
696
|
<button
|
|
697
697
|
*ngIf="carousel && scrollPosition > 0"
|
|
698
698
|
(click)="scrollTo(-1)"
|
|
699
|
-
class="k-button k-button-
|
|
699
|
+
class="k-button k-icon-button k-button-md k-rounded-md k-button-solid k-button-solid-base"
|
|
700
700
|
tabindex="-1">
|
|
701
|
-
<span class="k-icon k-i-arrow-chevron-left"></span>
|
|
701
|
+
<span class="k-icon k-button-icon k-i-arrow-chevron-left"></span>
|
|
702
702
|
</button>
|
|
703
703
|
<div #deck [class.k-card-deck]="carousel">
|
|
704
704
|
<kendo-chat-attachment #item
|
|
@@ -719,9 +719,9 @@ MessageAttachmentsComponent = MessageAttachmentsComponent_1 = __decorate([
|
|
|
719
719
|
<button
|
|
720
720
|
*ngIf="carousel && scrollPosition < 1"
|
|
721
721
|
(click)="scrollTo(1)"
|
|
722
|
-
class="k-button k-button-
|
|
722
|
+
class="k-button k-icon-button k-button-md k-rounded-md k-button-solid k-button-solid-base"
|
|
723
723
|
tabindex="-1">
|
|
724
|
-
<span class="k-icon k-i-arrow-chevron-right"></span>
|
|
724
|
+
<span class="k-icon k-button-icon k-i-arrow-chevron-right"></span>
|
|
725
725
|
</button>
|
|
726
726
|
`
|
|
727
727
|
}),
|
package/dist/fesm5/index.js
CHANGED
|
@@ -108,7 +108,7 @@ var packageMetadata = {
|
|
|
108
108
|
name: '@progress/kendo-angular-conversational-ui',
|
|
109
109
|
productName: 'Kendo UI for Angular',
|
|
110
110
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
111
|
-
publishDate:
|
|
111
|
+
publishDate: 1642091336,
|
|
112
112
|
version: '',
|
|
113
113
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
114
114
|
};
|
|
@@ -285,7 +285,7 @@ var ChatComponent = /** @class */ (function () {
|
|
|
285
285
|
}
|
|
286
286
|
],
|
|
287
287
|
selector: 'kendo-chat',
|
|
288
|
-
template: "\n <ng-container\n kendoChatLocalizedMessages\n i18n-messagePlaceholder=\"kendo.chat.messagePlaceholder|The placholder text of the message text input\"\n messagePlaceholder=\"Type a message...\"\n\n i18n-send=\"kendo.chat.send|The text for the Send button\"\n send=\"Send...\"\n >\n </ng-container>\n\n <div\n #messageList\n class=\"k-message-list k-avatars\"\n aria-live=\"polite\" role=\"log\"\n kendoChatScrollAnchor\n #anchor=\"scrollAnchor\"\n [(autoScroll)]=\"autoScroll\"\n >\n <kendo-chat-message-list\n [messages]=\"messages\"\n [messageTemplate]=\"messageTemplate\"\n [attachmentTemplate]=\"attachmentTemplate\"\n [user]=\"user\"\n (executeAction)=\"dispatchAction($event)\"\n (resize)=\"anchor.scrollToBottom()\"\n (navigate)=\"this.autoScroll = false\"\n >\n </kendo-chat-message-list>\n </div>\n\n <div class=\"k-message-box\">\n <input\n #messageInput\n kendoChatFocusedState\n type=\"text\"\n class=\"k-input\"\n [placeholder]=\"textFor('messagePlaceholder')\"\n (keydown)=\"inputKeydown($event)\"\n >\n <button\n kendoButton\n
|
|
288
|
+
template: "\n <ng-container\n kendoChatLocalizedMessages\n i18n-messagePlaceholder=\"kendo.chat.messagePlaceholder|The placholder text of the message text input\"\n messagePlaceholder=\"Type a message...\"\n\n i18n-send=\"kendo.chat.send|The text for the Send button\"\n send=\"Send...\"\n >\n </ng-container>\n\n <div\n #messageList\n class=\"k-message-list k-avatars\"\n aria-live=\"polite\" role=\"log\"\n kendoChatScrollAnchor\n #anchor=\"scrollAnchor\"\n [(autoScroll)]=\"autoScroll\"\n >\n <kendo-chat-message-list\n [messages]=\"messages\"\n [messageTemplate]=\"messageTemplate\"\n [attachmentTemplate]=\"attachmentTemplate\"\n [user]=\"user\"\n (executeAction)=\"dispatchAction($event)\"\n (resize)=\"anchor.scrollToBottom()\"\n (navigate)=\"this.autoScroll = false\"\n >\n </kendo-chat-message-list>\n </div>\n\n <div class=\"k-message-box\">\n <input\n #messageInput\n kendoChatFocusedState\n type=\"text\"\n class=\"k-input\"\n [placeholder]=\"textFor('messagePlaceholder')\"\n (keydown)=\"inputKeydown($event)\"\n >\n <button\n kendoButton\n fillMode=\"flat\"\n class=\"k-button-send\"\n tabindex=\"-1\"\n [attr.title]=\"textFor('send')\"\n (click)=\"sendClick()\"\n >" + sendIcon + "</button>\n </div>\n "
|
|
289
289
|
}),
|
|
290
290
|
__metadata("design:paramtypes", [LocalizationService,
|
|
291
291
|
NgZone])
|
|
@@ -486,7 +486,7 @@ var HeroCardComponent = /** @class */ (function () {
|
|
|
486
486
|
HeroCardComponent = __decorate([
|
|
487
487
|
Component({
|
|
488
488
|
selector: 'kendo-chat-hero-card',
|
|
489
|
-
template: "\n <img class=\"k-card-image\" [src]=\"imageUrl\" *ngIf=\"imageUrl\" />\n <div class=\"k-card-body\">\n <h5 class=\"k-card-title\" *ngIf=\"title\">\n {{ title }}\n </h5>\n <h6 class=\"k-card-subtitle\" *ngIf=\"subtitle\">\n {{ subtitle }}\n </h6>\n </div>\n <div class=\"k-card-actions k-card-actions-vertical\">\n <span class=\"k-card-action\"\n *ngFor=\"let act of actions\"\n >\n <button\n kendoButton
|
|
489
|
+
template: "\n <img class=\"k-card-image\" [src]=\"imageUrl\" *ngIf=\"imageUrl\" />\n <div class=\"k-card-body\">\n <h5 class=\"k-card-title\" *ngIf=\"title\">\n {{ title }}\n </h5>\n <h6 class=\"k-card-subtitle\" *ngIf=\"subtitle\">\n {{ subtitle }}\n </h6>\n </div>\n <div class=\"k-card-actions k-card-actions-vertical\">\n <span class=\"k-card-action\"\n *ngFor=\"let act of actions\"\n >\n <button\n kendoButton fillMode=\"flat\"\n (click)=\"onClick(act)\">\n {{ act.title }}\n </button>\n </span>\n </div>\n "
|
|
490
490
|
})
|
|
491
491
|
], HeroCardComponent);
|
|
492
492
|
return HeroCardComponent;
|
|
@@ -660,7 +660,7 @@ var MessageAttachmentsComponent = /** @class */ (function (_super) {
|
|
|
660
660
|
useExisting: forwardRef(function () { return MessageAttachmentsComponent_1; })
|
|
661
661
|
}],
|
|
662
662
|
selector: 'kendo-chat-message-attachments',
|
|
663
|
-
template: "\n <button\n *ngIf=\"carousel && scrollPosition > 0\"\n (click)=\"scrollTo(-1)\"\n class=\"k-button k-button-
|
|
663
|
+
template: "\n <button\n *ngIf=\"carousel && scrollPosition > 0\"\n (click)=\"scrollTo(-1)\"\n class=\"k-button k-icon-button k-button-md k-rounded-md k-button-solid k-button-solid-base\"\n tabindex=\"-1\">\n <span class=\"k-icon k-button-icon k-i-arrow-chevron-left\"></span>\n </button>\n <div #deck [class.k-card-deck]=\"carousel\">\n <kendo-chat-attachment #item\n *ngFor=\"let att of attachments; index as index; first as first; last as last\"\n [attachment]=\"att\"\n [template]=\"template\"\n [class.k-state-selected]=\"isSelected(index)\"\n [class.k-state-focused]=\"isSelected(index)\"\n [class.k-card-wrap]=\"true\"\n [class.k-first]=\"first\"\n [class.k-last]=\"last\"\n [attr.tabindex]=\"tabbable && isSelected(index) ? '0' : '-1'\"\n (click)=\"itemClick(index)\"\n (keydown)=\"itemKeydown($event, att)\"\n >\n </kendo-chat-attachment>\n </div>\n <button\n *ngIf=\"carousel && scrollPosition < 1\"\n (click)=\"scrollTo(1)\"\n class=\"k-button k-icon-button k-button-md k-rounded-md k-button-solid k-button-solid-base\"\n tabindex=\"-1\">\n <span class=\"k-icon k-button-icon k-i-arrow-chevron-right\"></span>\n </button>\n "
|
|
664
664
|
}),
|
|
665
665
|
__metadata("design:paramtypes", [NgZone])
|
|
666
666
|
], MessageAttachmentsComponent);
|
|
@@ -48,7 +48,7 @@ var HeroCardComponent = /** @class */ (function () {
|
|
|
48
48
|
HeroCardComponent = tslib_1.__decorate([
|
|
49
49
|
core_1.Component({
|
|
50
50
|
selector: 'kendo-chat-hero-card',
|
|
51
|
-
template: "\n <img class=\"k-card-image\" [src]=\"imageUrl\" *ngIf=\"imageUrl\" />\n <div class=\"k-card-body\">\n <h5 class=\"k-card-title\" *ngIf=\"title\">\n {{ title }}\n </h5>\n <h6 class=\"k-card-subtitle\" *ngIf=\"subtitle\">\n {{ subtitle }}\n </h6>\n </div>\n <div class=\"k-card-actions k-card-actions-vertical\">\n <span class=\"k-card-action\"\n *ngFor=\"let act of actions\"\n >\n <button\n kendoButton
|
|
51
|
+
template: "\n <img class=\"k-card-image\" [src]=\"imageUrl\" *ngIf=\"imageUrl\" />\n <div class=\"k-card-body\">\n <h5 class=\"k-card-title\" *ngIf=\"title\">\n {{ title }}\n </h5>\n <h6 class=\"k-card-subtitle\" *ngIf=\"subtitle\">\n {{ subtitle }}\n </h6>\n </div>\n <div class=\"k-card-actions k-card-actions-vertical\">\n <span class=\"k-card-action\"\n *ngFor=\"let act of actions\"\n >\n <button\n kendoButton fillMode=\"flat\"\n (click)=\"onClick(act)\">\n {{ act.title }}\n </button>\n </span>\n </div>\n "
|
|
52
52
|
})
|
|
53
53
|
], HeroCardComponent);
|
|
54
54
|
return HeroCardComponent;
|
|
@@ -185,7 +185,7 @@ var ChatComponent = /** @class */ (function () {
|
|
|
185
185
|
}
|
|
186
186
|
],
|
|
187
187
|
selector: 'kendo-chat',
|
|
188
|
-
template: "\n <ng-container\n kendoChatLocalizedMessages\n i18n-messagePlaceholder=\"kendo.chat.messagePlaceholder|The placholder text of the message text input\"\n messagePlaceholder=\"Type a message...\"\n\n i18n-send=\"kendo.chat.send|The text for the Send button\"\n send=\"Send...\"\n >\n </ng-container>\n\n <div\n #messageList\n class=\"k-message-list k-avatars\"\n aria-live=\"polite\" role=\"log\"\n kendoChatScrollAnchor\n #anchor=\"scrollAnchor\"\n [(autoScroll)]=\"autoScroll\"\n >\n <kendo-chat-message-list\n [messages]=\"messages\"\n [messageTemplate]=\"messageTemplate\"\n [attachmentTemplate]=\"attachmentTemplate\"\n [user]=\"user\"\n (executeAction)=\"dispatchAction($event)\"\n (resize)=\"anchor.scrollToBottom()\"\n (navigate)=\"this.autoScroll = false\"\n >\n </kendo-chat-message-list>\n </div>\n\n <div class=\"k-message-box\">\n <input\n #messageInput\n kendoChatFocusedState\n type=\"text\"\n class=\"k-input\"\n [placeholder]=\"textFor('messagePlaceholder')\"\n (keydown)=\"inputKeydown($event)\"\n >\n <button\n kendoButton\n
|
|
188
|
+
template: "\n <ng-container\n kendoChatLocalizedMessages\n i18n-messagePlaceholder=\"kendo.chat.messagePlaceholder|The placholder text of the message text input\"\n messagePlaceholder=\"Type a message...\"\n\n i18n-send=\"kendo.chat.send|The text for the Send button\"\n send=\"Send...\"\n >\n </ng-container>\n\n <div\n #messageList\n class=\"k-message-list k-avatars\"\n aria-live=\"polite\" role=\"log\"\n kendoChatScrollAnchor\n #anchor=\"scrollAnchor\"\n [(autoScroll)]=\"autoScroll\"\n >\n <kendo-chat-message-list\n [messages]=\"messages\"\n [messageTemplate]=\"messageTemplate\"\n [attachmentTemplate]=\"attachmentTemplate\"\n [user]=\"user\"\n (executeAction)=\"dispatchAction($event)\"\n (resize)=\"anchor.scrollToBottom()\"\n (navigate)=\"this.autoScroll = false\"\n >\n </kendo-chat-message-list>\n </div>\n\n <div class=\"k-message-box\">\n <input\n #messageInput\n kendoChatFocusedState\n type=\"text\"\n class=\"k-input\"\n [placeholder]=\"textFor('messagePlaceholder')\"\n (keydown)=\"inputKeydown($event)\"\n >\n <button\n kendoButton\n fillMode=\"flat\"\n class=\"k-button-send\"\n tabindex=\"-1\"\n [attr.title]=\"textFor('send')\"\n (click)=\"sendClick()\"\n >" + sendIcon + "</button>\n </div>\n "
|
|
189
189
|
}),
|
|
190
190
|
tslib_1.__metadata("design:paramtypes", [kendo_angular_l10n_1.LocalizationService,
|
|
191
191
|
core_1.NgZone])
|
|
@@ -141,7 +141,7 @@ var MessageAttachmentsComponent = /** @class */ (function (_super) {
|
|
|
141
141
|
useExisting: core_1.forwardRef(function () { return MessageAttachmentsComponent_1; })
|
|
142
142
|
}],
|
|
143
143
|
selector: 'kendo-chat-message-attachments',
|
|
144
|
-
template: "\n <button\n *ngIf=\"carousel && scrollPosition > 0\"\n (click)=\"scrollTo(-1)\"\n class=\"k-button k-button-
|
|
144
|
+
template: "\n <button\n *ngIf=\"carousel && scrollPosition > 0\"\n (click)=\"scrollTo(-1)\"\n class=\"k-button k-icon-button k-button-md k-rounded-md k-button-solid k-button-solid-base\"\n tabindex=\"-1\">\n <span class=\"k-icon k-button-icon k-i-arrow-chevron-left\"></span>\n </button>\n <div #deck [class.k-card-deck]=\"carousel\">\n <kendo-chat-attachment #item\n *ngFor=\"let att of attachments; index as index; first as first; last as last\"\n [attachment]=\"att\"\n [template]=\"template\"\n [class.k-state-selected]=\"isSelected(index)\"\n [class.k-state-focused]=\"isSelected(index)\"\n [class.k-card-wrap]=\"true\"\n [class.k-first]=\"first\"\n [class.k-last]=\"last\"\n [attr.tabindex]=\"tabbable && isSelected(index) ? '0' : '-1'\"\n (click)=\"itemClick(index)\"\n (keydown)=\"itemKeydown($event, att)\"\n >\n </kendo-chat-attachment>\n </div>\n <button\n *ngIf=\"carousel && scrollPosition < 1\"\n (click)=\"scrollTo(1)\"\n class=\"k-button k-icon-button k-button-md k-rounded-md k-button-solid k-button-solid-base\"\n tabindex=\"-1\">\n <span class=\"k-icon k-button-icon k-i-arrow-chevron-right\"></span>\n </button>\n "
|
|
145
145
|
}),
|
|
146
146
|
tslib_1.__metadata("design:paramtypes", [core_1.NgZone])
|
|
147
147
|
], MessageAttachmentsComponent);
|
|
@@ -11,7 +11,7 @@ exports.packageMetadata = {
|
|
|
11
11
|
name: '@progress/kendo-angular-conversational-ui',
|
|
12
12
|
productName: 'Kendo UI for Angular',
|
|
13
13
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
14
|
-
publishDate:
|
|
14
|
+
publishDate: 1642091336,
|
|
15
15
|
version: '',
|
|
16
16
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
17
17
|
};
|
|
@@ -2,4 +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
|
-
System.register("@progress/kendo-angular-conversational-ui",["tslib","@progress/kendo-angular-buttons","@angular/common","@angular/core","@progress/kendo-angular-common","rxjs/operators","rxjs","@progress/kendo-angular-intl","@progress/kendo-angular-l10n","@progress/kendo-licensing"],function(s){var i,r,c,l,d,u,p,m,g,_;function t(e){return e.__useDefault?e.default:e}return{setters:[function(e){i=t(e)},function(e){r=t(e)},function(e){c=t(e)},function(e){l=t(e)},function(e){d=t(e)},function(e){u=t(e)},function(e){p=t(e)},function(e){m=t(e)},function(e){g=t(e)},function(e){_=t(e)}],execute:function(){function a(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,a),t.l=!0,t.exports}var n,o;n=[function(e,t){e.exports=i},function(e,t){e.exports=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(33);t.ChatComponent=a.ChatComponent;a=n(10);t.AttachmentTemplateDirective=a.AttachmentTemplateDirective;n=n(4);t.MessageTemplateDirective=n.MessageTemplateDirective},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatItem=function(){}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),n=n(1),n=a.__decorate([n.Directive({selector:"[kendoChatMessageTemplate]"}),a.__param(0,n.Optional()),a.__metadata("design:paramtypes",[n.TemplateRef])],o);function o(e){this.templateRef=e}t.MessageTemplateDirective=n},function(e,t){e.exports=g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SendMessageEvent=function(e){this.message=e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o=n(0),o=(a=n(15).PreventableEvent,o.__extends(s,a),s);function s(e,t){var n=a.call(this)||this;return n.action=e,n.message=t,n}t.ExecuteActionEvent=o},function(e,t){e.exports=m},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o=n(0),s=n(1),o=(a=n(5).ComponentMessages,o.__extends(i,a),o.__decorate([s.Input(),o.__metadata("design:type",String)],i.prototype,"messagePlaceholder",void 0),o.__decorate([s.Input(),o.__metadata("design:type",String)],i.prototype,"send",void 0),i);function i(){return null!==a&&a.apply(this,arguments)||this}t.Messages=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),n=n(1),n=a.__decorate([n.Directive({selector:"[kendoChatAttachmentTemplate]"}),a.__param(0,n.Optional()),a.__metadata("design:paramtypes",[n.TemplateRef])],o);function o(e){this.templateRef=e}t.AttachmentTemplateDirective=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o,s=n(0),i=n(1),n=n(3),n=(a=n.ChatItem,s.__extends(r,a),(o=r).prototype.isSelected=function(e){return this.selected&&this.selectedIndex===e},r.prototype.actionClick=function(e){this.dispatch.next(e)},r.prototype.actionKeydown=function(e,t){var n=this.keyHandlers[e.keyCode];n&&n(e,t)},r.prototype.focus=function(){this.select(this.selectedIndex)},r.prototype.select=function(e){this.selectedIndex=e;e=this.items.toArray()[e];e&&e.nativeElement.focus()},r.prototype.navigateTo=function(e,t){var n=this.selectedIndex,t=Math.max(0,Math.min(n+t,this.items.length-1));t!==n&&(this.select(t),e.preventDefault())},s.__decorate([i.Input(),s.__metadata("design:type",Array)],r.prototype,"actions",void 0),s.__decorate([i.Input(),s.__metadata("design:type",Boolean)],r.prototype,"tabbable",void 0),s.__decorate([i.Output(),s.__metadata("design:type",i.EventEmitter)],r.prototype,"dispatch",void 0),s.__decorate([i.HostBinding("class.k-quick-replies"),s.__metadata("design:type",Boolean)],r.prototype,"defaultClass",void 0),s.__decorate([i.ViewChildren("item"),s.__metadata("design:type",i.QueryList)],r.prototype,"items",void 0),o=s.__decorate([i.Component({selector:"kendo-chat-suggested-actions",providers:[{provide:n.ChatItem,useExisting:i.forwardRef(function(){return o})}],template:'\n <span #item\n *ngFor="let action of actions; index as index; first as first; last as last"\n class="k-quick-reply"\n [class.k-state-selected]="isSelected(index)"\n [class.k-state-focused]="isSelected(index)"\n [class.k-first]="first"\n [class.k-last]="last"\n [attr.tabindex]="tabbable && selectedIndex === index ? \'0\' : \'-1\'"\n (click)="actionClick(action)"\n (keydown)="actionKeydown($event, action)"\n >\n {{ action.title || action.value }}\n </span>\n '})],r));function r(){var e,n=null!==a&&a.apply(this,arguments)||this;return n.dispatch=new i.EventEmitter,n.defaultClass=!0,n.selectedIndex=0,n.keyHandlers=((e={})[37]=function(e){return n.navigateTo(e,-1)},e[39]=function(e){return n.navigateTo(e,1)},e[13]=function(e,t){return n.actionClick(t)},e),n}t.SuggestedActionsComponent=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),a=(s.prototype.ngOnInit=function(){var e=this;this.zone.runOutsideAngular(function(){e.unsubscribe=e.renderer.listen(e.element.nativeElement,"scroll",function(){return e.onScroll()})})},s.prototype.ngAfterViewInit=function(){this.scrollToBottom()},s.prototype.ngOnDestroy=function(){this.unsubscribe&&this.unsubscribe()},s.prototype.onScroll=function(){var e,t,n,a=this;this.scrolling||(t=(e=this.element.nativeElement).scrollTop+e.offsetHeight,n=e.scrollHeight-t<2,this.autoScroll!==n&&this.zone.run(function(){a.autoScroll=n,a.autoScrollChange.emit(a.autoScroll)}))},s.prototype.scrollToBottom=function(){var e,t=this;this.autoScroll&&((e=this.element.nativeElement).scrollTop=e.scrollHeight-e.clientHeight,this.scrolling=!0,this.zone.runOutsideAngular(function(){return setTimeout(function(){return t.scrolling=!1},1e3)}))},a.__decorate([o.Input(),a.__metadata("design:type",Boolean)],s.prototype,"autoScroll",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],s.prototype,"autoScrollChange",void 0),a.__decorate([o.HostBinding("style.overflow-anchor"),a.__metadata("design:type",String)],s.prototype,"overflowAnchor",void 0),a.__decorate([o.Directive({selector:"[kendoChatScrollAnchor]",exportAs:"scrollAnchor"}),a.__metadata("design:paramtypes",[o.ElementRef,o.NgZone,o.Renderer2])],s));function s(e,t,n){this.element=e,this.zone=t,this.renderer=n,this.autoScroll=!0,this.autoScrollChange=new o.EventEmitter,this.overflowAnchor="none",this.scrolling=!1}t.ScrollAnchorDirective=a},function(e,c,t){"use strict";Object.defineProperty(c,"__esModule",{value:!0});var l=t(1);c.isAuthor=function(e,t){return e&&t.author&&e.id===t.author.id};function d(e){return e[e.length-1]}function n(r){return function(e,t,n){var a,o,s,i=n===r-1;return a=e,o=t.timestamp,s=d(a),!o||s&&(n=o,s=s.timestamp,!n||!s||s.getDate()===n.getDate()&&s.getMonth()===n.getMonth()&&s.getFullYear()===n.getFullYear())||(o={type:"date-marker",timestamp:o,trackBy:o.getTime()},a.push(o)),function(e,t,n){var a,o=d(e);if(l.isDevMode()&&!t.author)throw new Error("Author must be set for message: "+JSON.stringify(t));t.typing&&!n||((a=o&&"message-group"===o.type?o.messages:a)&&c.isAuthor(t.author,d(a))?a.push(t):e.push({type:"message-group",messages:[t],author:t.author,timestamp:t.timestamp,trackBy:t}))}(e,t,i),t.attachments&&1<t.attachments.length&&e.push({type:"attachment-group",attachments:t.attachments,attachmentLayout:t.attachmentLayout,timestamp:t.timestamp,trackBy:t}),t.suggestedActions&&i&&e.push({type:"action-group",actions:t.suggestedActions,timestamp:t.timestamp,trackBy:t}),e}}c.chatView=function(e){return e.reduce(n(e.length),[])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.closest=function(e,t){for(;e&&!t(e);)e=e.parentNode;return e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=(o.prototype.preventDefault=function(){this.prevented=!0},o.prototype.isDefaultPrevented=function(){return this.prevented},o);function o(){this.prevented=!1}t.PreventableEvent=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(7),i=n(14),r=n(3),c=n(13),l=n(2),d=n(4),n=n(8),n=(Object.defineProperty(u.prototype,"messages",{get:function(){return this._messages},set:function(e){e=e||[];this.view=c.chatView(e),this._messages=e},enumerable:!0,configurable:!0}),u.prototype.ngAfterViewInit=function(){this.selectedItem=this.items.last},u.prototype.onResize=function(){this.resize.emit()},u.prototype.formatTimeStamp=function(e){return this.intl.formatDate(e,{date:"full"})},u.prototype.onKeydown=function(e){var t=this.keyActions[e.keyCode];t&&t(e)},u.prototype.onBlur=function(e){var t=this,e=e.relatedTarget||document.activeElement;i.closest(e,function(e){return e===t.element.nativeElement})||this.select(null)},u.prototype.isOwnMessage=function(e){return c.isAuthor(this.user,e)},u.prototype.dispatchAction=function(e,t){t=new s.ExecuteActionEvent(e,t);this.executeAction.emit(t)},u.prototype.trackGroup=function(e,t){return t.trackBy},u.prototype.select=function(e){var t=this.selectedItem;t&&(t.selected=!1),e&&(e.selected=!0,this.selectedItem=e)},u.prototype.last=function(e){if(e&&0!==e.length)return e[e.length-1]},u.prototype.navigateTo=function(e,t){var n=this.items.toArray(),a=this.selectedItem,o=n.indexOf(a),t=n[Math.max(0,Math.min(o+t,this.items.length-1))];t!==a&&(this.select(t),t.focus(),this.navigate.emit(),e.preventDefault())},a.__decorate([o.Input(),a.__metadata("design:type",Array),a.__metadata("design:paramtypes",[Array])],u.prototype,"messages",null),a.__decorate([o.Input(),a.__metadata("design:type",l.AttachmentTemplateDirective)],u.prototype,"attachmentTemplate",void 0),a.__decorate([o.Input(),a.__metadata("design:type",d.MessageTemplateDirective)],u.prototype,"messageTemplate",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Object)],u.prototype,"user",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],u.prototype,"executeAction",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],u.prototype,"navigate",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],u.prototype,"resize",void 0),a.__decorate([o.ViewChildren(r.ChatItem),a.__metadata("design:type",o.QueryList)],u.prototype,"items",void 0),a.__decorate([o.HostBinding("class.k-message-list-content"),a.__metadata("design:type",Boolean)],u.prototype,"cssClass",void 0),a.__decorate([o.HostListener("keydown",["$event"]),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[Object]),a.__metadata("design:returntype",void 0)],u.prototype,"onKeydown",null),a.__decorate([o.HostListener("focusout",["$event"]),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[FocusEvent]),a.__metadata("design:returntype",void 0)],u.prototype,"onBlur",null),a.__decorate([o.Component({selector:"kendo-chat-message-list",template:'\n <ng-container *ngFor="let group of view; last as lastGroup; trackBy: trackGroup">\n <ng-container [ngSwitch]="group.type">\n <div\n *ngSwitchCase="\'date-marker\'"\n class="k-timestamp"\n >\n {{ formatTimeStamp(group.timestamp) }}\n </div>\n <div\n *ngSwitchCase="\'message-group\'"\n class="k-message-group"\n [class.k-alt]="isOwnMessage(group.messages[0])"\n [class.k-no-avatar]="!group.author.avatarUrl"\n >\n <img\n *ngIf="group.author.avatarUrl"\n [attr.src]="group.author.avatarUrl"\n class="k-avatar"\n />\n <p *ngIf="group.author.name" class="k-author">{{ group.author.name }}</p>\n <ng-container\n *ngFor="let msg of group.messages; first as firstMessage; last as lastMessage"\n >\n <img *ngIf="msg.user?.avatarUrl" [src]="msg.user?.avatarUrl" class="k-avatar">\n <kendo-chat-message #message\n [message]="msg"\n [tabbable]="lastGroup && lastMessage"\n [template]="messageTemplate"\n (click)="select(message)"\n (focus)="select(message)"\n [class.k-only]="group.messages.length === 1"\n [class.k-first]="group.messages.length > 1 && firstMessage"\n [class.k-last]="group.messages.length > 1 && lastMessage"\n >\n </kendo-chat-message>\n\n <kendo-chat-attachment\n *ngIf="msg.attachments && msg.attachments.length === 1"\n [attachment]="msg.attachments[0]"\n [template]="attachmentTemplate"\n >\n </kendo-chat-attachment>\n </ng-container>\n </div>\n\n <kendo-chat-message-attachments #attachments\n *ngSwitchCase="\'attachment-group\'"\n [attachments]="group.attachments"\n [layout]="group.attachmentLayout"\n [tabbable]="lastGroup"\n [template]="attachmentTemplate"\n (click)="select(attachments)"\n (focus)="select(attachments)"\n >\n </kendo-chat-message-attachments>\n\n <kendo-chat-suggested-actions #actions\n *ngSwitchCase="\'action-group\'"\n [actions]="group.actions"\n [tabbable]="lastGroup"\n (dispatch)="dispatchAction($event, last(group.messages))"\n (click)="select(actions)"\n (focus)="select(actions)"\n >\n </kendo-chat-suggested-actions>\n </ng-container>\n </ng-container>\n <kendo-resize-sensor (resize)="onResize()">\n </kendo-resize-sensor>\n '}),a.__metadata("design:paramtypes",[o.ElementRef,n.IntlService])],u));function u(e,t){var n=this;this.element=e,this.intl=t,this.executeAction=new o.EventEmitter,this.navigate=new o.EventEmitter,this.resize=new o.EventEmitter,this.cssClass=!0,this.view=[],this.keyActions=((t={})[38]=function(e){return n.navigateTo(e,-1)},t[40]=function(e){return n.navigateTo(e,1)},t)}t.MessageListComponent=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o,s=n(0),i=n(1),r=n(3),c=n(4),n=n(8),n=(a=r.ChatItem,s.__extends(l,a),o=l,Object.defineProperty(l.prototype,"tabIndex",{get:function(){return this.tabbable?"0":"-1"},enumerable:!0,configurable:!0}),l.prototype.formatTimeStamp=function(e){return this.intl.formatDate(e,{datetime:"short"})},l.prototype.focus=function(){this.element.nativeElement.focus()},s.__decorate([i.Input(),s.__metadata("design:type",Object)],l.prototype,"message",void 0),s.__decorate([i.Input(),s.__metadata("design:type",Boolean)],l.prototype,"tabbable",void 0),s.__decorate([i.Input(),s.__metadata("design:type",c.MessageTemplateDirective)],l.prototype,"template",void 0),s.__decorate([i.HostBinding("class.k-message"),s.__metadata("design:type",Boolean)],l.prototype,"cssClass",void 0),s.__decorate([i.HostBinding("class.k-state-selected"),i.HostBinding("class.k-state-focused"),s.__metadata("design:type",Boolean)],l.prototype,"selected",void 0),s.__decorate([i.HostBinding("attr.tabIndex"),s.__metadata("design:type",String),s.__metadata("design:paramtypes",[])],l.prototype,"tabIndex",null),o=s.__decorate([i.Component({selector:"kendo-chat-message",providers:[{provide:r.ChatItem,useExisting:i.forwardRef(function(){return o})}],template:'\n <time\n [attr.aria-hidden]="!selected"\n class="k-message-time"\n *ngIf="message.timestamp"\n >\n {{ formatTimeStamp(message.timestamp) }}\n </time>\n\n <ng-container *ngIf="!message.typing; else typing">\n <div class="k-bubble" *ngIf="template">\n <ng-container\n *ngTemplateOutlet="template.templateRef; context: { $implicit: message };"\n >\n </ng-container>\n </div>\n\n <div class="k-bubble" *ngIf="!template && message.text">\n {{message.text}}\n </div>\n </ng-container>\n\n <span\n class="k-message-status"\n *ngIf="message.status"\n >\n {{ message.status }}\n </span>\n\n <ng-template #typing>\n <div class="k-bubble">\n <div class="k-typing-indicator">\n <span></span>\n <span></span>\n <span></span>\n </div>\n </div>\n </ng-template>\n '}),s.__metadata("design:paramtypes",[i.ElementRef,n.IntlService])],l));function l(e,t){var n=a.call(this)||this;return n.element=e,n.intl=t,n.cssClass=!0,n}t.MessageComponent=n},function(e,t){e.exports=u},function(e,t){e.exports=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o,s=n(0),i=n(1),r=n(19),c=n(18),l=n(3),n=n(2),i=(a=l.ChatItem,s.__extends(d,a),o=d,Object.defineProperty(d.prototype,"carousel",{get:function(){return"list"!==this.layout},enumerable:!0,configurable:!0}),d.prototype.ngAfterViewInit=function(){var e=this;this.zone.runOutsideAngular(function(){e.scrollSubscription=r.fromEvent(e.deck.nativeElement,"scroll").pipe(c.debounceTime(100)).subscribe(function(){return e.onScroll()})})},d.prototype.ngOnDestroy=function(){this.scrollSubscription.unsubscribe()},d.prototype.isSelected=function(e){return this.selectedIndex===e},d.prototype.itemKeydown=function(e,t){var n=("list"===this.layout?this.listKeyHandlers:this.carouselKeyHandlers)[e.keyCode];n&&n(e,t)},d.prototype.itemClick=function(e){this.select(e)},d.prototype.focus=function(){this.select(this.selectedIndex)},d.prototype.scrollTo=function(e){var t=this.deck.nativeElement,n=t.scrollWidth/this.items.length,a=t.scrollWidth-t.offsetWidth,e=t.scrollLeft+n*e;t.scrollLeft=Math.max(0,Math.min(a,e))},d.prototype.select=function(e){this.selectedIndex=e;e=this.items.toArray()[e];e&&e.nativeElement.focus()},d.prototype.navigateTo=function(e,t){var n=this.selectedIndex,t=Math.max(0,Math.min(n+t,this.items.length-1));t!==n&&(this.select(t),e.preventDefault())},d.prototype.onScroll=function(){var e,t=this,n=this.deck.nativeElement;0===n.scrollWidth||(e=n.scrollLeft/(n.scrollWidth-n.offsetWidth))!==this.scrollPosition&&this.zone.run(function(){t.scrollPosition=e})},s.__decorate([i.Input(),s.__metadata("design:type",Array)],d.prototype,"attachments",void 0),s.__decorate([i.Input(),s.__metadata("design:type",String)],d.prototype,"layout",void 0),s.__decorate([i.Input(),s.__metadata("design:type",Boolean)],d.prototype,"tabbable",void 0),s.__decorate([i.Input(),s.__metadata("design:type",n.AttachmentTemplateDirective)],d.prototype,"template",void 0),s.__decorate([i.HostBinding("class.k-card-deck-scrollwrap"),s.__metadata("design:type",Boolean),s.__metadata("design:paramtypes",[])],d.prototype,"carousel",null),s.__decorate([i.ViewChild("deck",{read:i.ElementRef,static:!0}),s.__metadata("design:type",i.ElementRef)],d.prototype,"deck",void 0),s.__decorate([i.ViewChildren("item",{read:i.ElementRef}),s.__metadata("design:type",i.QueryList)],d.prototype,"items",void 0),o=s.__decorate([i.Component({providers:[{provide:l.ChatItem,useExisting:i.forwardRef(function(){return o})}],selector:"kendo-chat-message-attachments",template:'\n <button\n *ngIf="carousel && scrollPosition > 0"\n (click)="scrollTo(-1)"\n class="k-button k-button-icon"\n tabindex="-1">\n <span class="k-icon k-i-arrow-chevron-left"></span>\n </button>\n <div #deck [class.k-card-deck]="carousel">\n <kendo-chat-attachment #item\n *ngFor="let att of attachments; index as index; first as first; last as last"\n [attachment]="att"\n [template]="template"\n [class.k-state-selected]="isSelected(index)"\n [class.k-state-focused]="isSelected(index)"\n [class.k-card-wrap]="true"\n [class.k-first]="first"\n [class.k-last]="last"\n [attr.tabindex]="tabbable && isSelected(index) ? \'0\' : \'-1\'"\n (click)="itemClick(index)"\n (keydown)="itemKeydown($event, att)"\n >\n </kendo-chat-attachment>\n </div>\n <button\n *ngIf="carousel && scrollPosition < 1"\n (click)="scrollTo(1)"\n class="k-button k-button-icon"\n tabindex="-1">\n <span class="k-icon k-i-arrow-chevron-right"></span>\n </button>\n '}),s.__metadata("design:paramtypes",[i.NgZone])],d));function d(e){var t=a.call(this)||this;return t.zone=e,t.scrollPosition=0,t.selectedIndex=0,t.carouselKeyHandlers=((e={})[37]=function(e){return t.navigateTo(e,-1)},e[39]=function(e){return t.navigateTo(e,1)},e),t.listKeyHandlers=((e={})[38]=function(e){return t.navigateTo(e,-1)},e[40]=function(e){return t.navigateTo(e,1)},e),t}t.MessageAttachmentsComponent=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o,s=n(0),i=n(1),r=n(5),n=n(9),r=(a=n.Messages,s.__extends(c,a),o=c,o=s.__decorate([i.Directive({providers:[{provide:n.Messages,useExisting:i.forwardRef(function(){return o})}],selector:"[kendoChatLocalizedMessages]"}),s.__metadata("design:paramtypes",[r.LocalizationService])],c));function c(e){var t=a.call(this)||this;return t.service=e,t}t.LocalizedMessagesDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),a=(s.prototype.onClick=function(e){this.executeAction.next(e)},a.__decorate([o.Input(),a.__metadata("design:type",String)],s.prototype,"imageUrl",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],s.prototype,"title",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],s.prototype,"subtitle",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Array)],s.prototype,"actions",void 0),a.__decorate([o.HostBinding("class.k-card"),a.__metadata("design:type",Boolean)],s.prototype,"cssClass",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],s.prototype,"executeAction",void 0),a.__decorate([o.Component({selector:"kendo-chat-hero-card",template:'\n <img class="k-card-image" [src]="imageUrl" *ngIf="imageUrl" />\n <div class="k-card-body">\n <h5 class="k-card-title" *ngIf="title">\n {{ title }}\n </h5>\n <h6 class="k-card-subtitle" *ngIf="subtitle">\n {{ subtitle }}\n </h6>\n </div>\n <div class="k-card-actions k-card-actions-vertical">\n <span class="k-card-action"\n *ngFor="let act of actions"\n >\n <button\n kendoButton look="flat"\n (click)="onClick(act)">\n {{ act.title }}\n </button>\n </span>\n </div>\n '})],s));function s(){this.cssClass=!0,this.executeAction=new o.EventEmitter}t.HeroCardComponent=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),n=n(1),n=(o.prototype.onFocus=function(){this.focused=!0},o.prototype.onBlur=function(){this.focused=!1},a.__decorate([n.HostBinding("class.k-state-focused"),a.__metadata("design:type",Boolean)],o.prototype,"focused",void 0),a.__decorate([n.HostListener("focusin"),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[]),a.__metadata("design:returntype",void 0)],o.prototype,"onFocus",null),a.__decorate([n.HostListener("focusout"),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[]),a.__metadata("design:returntype",void 0)],o.prototype,"onBlur",null),a.__decorate([n.Directive({selector:"[kendoChatFocusedState]"})],o));function o(){this.focused=!1}t.FocusedStateDirective=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o,s=n(0),i=n(1),r=n(5),n=n(9),r=(a=n.Messages,s.__extends(c,a),o=c,Object.defineProperty(c.prototype,"override",{get:function(){return!0},enumerable:!0,configurable:!0}),o=s.__decorate([i.Component({providers:[{provide:n.Messages,useExisting:i.forwardRef(function(){return o})}],selector:"kendo-chat-messages",template:""}),s.__metadata("design:paramtypes",[r.LocalizationService])],c));function c(e){var t=a.call(this)||this;return t.service=e,t}t.CustomMessagesComponent=r},function(e,t){e.exports=d},function(e,t){e.exports=c},function(e,t){e.exports=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),n=n(2),o=(Object.defineProperty(s.prototype,"attachment",{get:function(){return this._attachment},set:function(e){this._attachment=e,this.context={$implicit:this.attachment}},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"image",{get:function(){return 0===this.contentType.indexOf("image/")},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"unknown",{get:function(){return!this.image},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"contentType",{get:function(){return this.attachment.contentType||""},enumerable:!0,configurable:!0}),a.__decorate([o.Input(),a.__metadata("design:type",Object),a.__metadata("design:paramtypes",[Object])],s.prototype,"attachment",null),a.__decorate([o.Input(),a.__metadata("design:type",n.AttachmentTemplateDirective)],s.prototype,"template",void 0),a.__decorate([o.Component({selector:"kendo-chat-attachment",template:'\n <ng-container *ngIf="template">\n <ng-container *ngTemplateOutlet="template.templateRef; context: context;">\n </ng-container>\n </ng-container>\n\n <div *ngIf="!template" class="k-card">\n <div class="k-card-body">\n <h5 class="k-card-title" *ngIf="attachment.title">\n {{ attachment.title }}\n </h5>\n <h6 class="k-card-subtitle" *ngIf="attachment.subtitle">\n {{ attachment.subtitle }}\n </h6>\n <img *ngIf="image" [attr.src]="attachment.content" />\n <ng-container *ngIf="unknown">\n {{ attachment.content }}\n </ng-container>\n </div>\n </div>\n '})],s));function s(){}t.AttachmentComponent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(28),s=n(2),i=n(27),r=n(26),c=n(25),l=n(24),d=n(23),u=n(22),p=n(21),m=n(20),g=n(17),_=n(16),h=n(1),f=n(12),n=n(11),u=[s.ChatComponent,l.CustomMessagesComponent,s.AttachmentTemplateDirective,s.MessageTemplateDirective,u.HeroCardComponent],n=[o.AttachmentComponent,d.FocusedStateDirective,p.LocalizedMessagesDirective,m.MessageAttachmentsComponent,g.MessageComponent,_.MessageListComponent,s.MessageTemplateDirective,f.ScrollAnchorDirective,n.SuggestedActionsComponent],c=a.__decorate([h.NgModule({declarations:u.concat(n),exports:[u],imports:[i.ButtonModule,r.CommonModule,c.ResizeSensorModule]})],v);function v(){}t.ChatModule=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata={name:"@progress/kendo-angular-conversational-ui",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1635940544,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"}},function(e,t){e.exports=_},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});function a(){}var o=n(6),s={reply:function(e,t){t.sendMessage.emit(new o.SendMessageEvent({author:t.user,text:e.value,timestamp:new Date}))},call:function(e){window.open("tel:"+e.value)},openUrl:function(e){window.open(e.value)}};t.makeHandler=function(e){return s[e.type]||a}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(10),i=n(5),r=n(32),c=n(4),l=n(6),d=n(31),u=n(30),i=(Object.defineProperty(p.prototype,"className",{get:function(){return"k-widget k-chat"},enumerable:!0,configurable:!0}),Object.defineProperty(p.prototype,"dirAttr",{get:function(){return this.direction},enumerable:!0,configurable:!0}),p.prototype.ngOnChanges=function(){var e=this;this.zone.runOutsideAngular(function(){return setTimeout(function(){e.messageList.nativeElement.style.flex="1 1 auto"})})},p.prototype.ngAfterViewInit=function(){if(o.isDevMode()&&!this.user)throw new Error("User must be set and have a valid id.")},p.prototype.ngOnDestroy=function(){this.localizationChangeSubscription&&this.localizationChangeSubscription.unsubscribe()},p.prototype.sendClick=function(){var e=this.messageInput.nativeElement,t=e.value;t&&(t={author:this.user,text:t,timestamp:new Date},this.sendMessage.emit(new l.SendMessageEvent(t)),e.value=null,e.focus(),this.autoScroll=!0)},p.prototype.inputKeydown=function(e){13===e.keyCode&&this.sendClick()},p.prototype.dispatchAction=function(e){this.executeAction.emit(e),e.isDefaultPrevented()||(r.makeHandler(e.action)(e.action,this),this.messageInput.nativeElement.focus())},p.prototype.textFor=function(e){return this.localization.get(e)},a.__decorate([o.Input(),a.__metadata("design:type",Array)],p.prototype,"messages",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Object)],p.prototype,"user",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],p.prototype,"sendMessage",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],p.prototype,"executeAction",void 0),a.__decorate([o.HostBinding("class"),a.__metadata("design:type",String),a.__metadata("design:paramtypes",[])],p.prototype,"className",null),a.__decorate([o.HostBinding("attr.dir"),a.__metadata("design:type",String),a.__metadata("design:paramtypes",[])],p.prototype,"dirAttr",null),a.__decorate([o.ContentChild(s.AttachmentTemplateDirective,{static:!1}),a.__metadata("design:type",s.AttachmentTemplateDirective)],p.prototype,"attachmentTemplate",void 0),a.__decorate([o.ContentChild(c.MessageTemplateDirective,{static:!1}),a.__metadata("design:type",c.MessageTemplateDirective)],p.prototype,"messageTemplate",void 0),a.__decorate([o.ViewChild("messageInput",{static:!0}),a.__metadata("design:type",o.ElementRef)],p.prototype,"messageInput",void 0),a.__decorate([o.ViewChild("messageList",{static:!0}),a.__metadata("design:type",o.ElementRef)],p.prototype,"messageList",void 0),a.__decorate([o.Component({providers:[i.LocalizationService,{provide:i.L10N_PREFIX,useValue:"kendo.chat"}],selector:"kendo-chat",template:'\n <ng-container\n kendoChatLocalizedMessages\n i18n-messagePlaceholder="kendo.chat.messagePlaceholder|The placholder text of the message text input"\n messagePlaceholder="Type a message..."\n\n i18n-send="kendo.chat.send|The text for the Send button"\n send="Send..."\n >\n </ng-container>\n\n <div\n #messageList\n class="k-message-list k-avatars"\n aria-live="polite" role="log"\n kendoChatScrollAnchor\n #anchor="scrollAnchor"\n [(autoScroll)]="autoScroll"\n >\n <kendo-chat-message-list\n [messages]="messages"\n [messageTemplate]="messageTemplate"\n [attachmentTemplate]="attachmentTemplate"\n [user]="user"\n (executeAction)="dispatchAction($event)"\n (resize)="anchor.scrollToBottom()"\n (navigate)="this.autoScroll = false"\n >\n </kendo-chat-message-list>\n </div>\n\n <div class="k-message-box">\n <input\n #messageInput\n kendoChatFocusedState\n type="text"\n class="k-input"\n [placeholder]="textFor(\'messagePlaceholder\')"\n (keydown)="inputKeydown($event)"\n >\n <button\n kendoButton\n look="flat"\n class="k-button-send"\n tabindex="-1"\n [attr.title]="textFor(\'send\')"\n (click)="sendClick()"\n ><svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 16 16"><path d="M0,14.3c-0.1,0.6,0.3,0.8,0.8,0.6l14.8-6.5c0.5-0.2,0.5-0.6,0-0.8L0.8,1.1C0.3,0.9-0.1,1.1,0,1.7l0.7,4.2C0.8,6.5,1.4,7,1.9,7.1l8.8,0.8c0.6,0.1,0.6,0.1,0,0.2L1.9,8.9C1.4,9,0.8,9.5,0.7,10.1L0,14.3z"/></svg></button>\n </div>\n '}),a.__metadata("design:paramtypes",[i.LocalizationService,o.NgZone])],p));function p(e,t){var n=this;this.localization=e,this.zone=t,this.sendMessage=new o.EventEmitter,this.executeAction=new o.EventEmitter,this.autoScroll=!0,d.validatePackage(u.packageMetadata),this.direction=e.rtl?"rtl":"ltr",this.localizationChangeSubscription=e.changes.subscribe(function(e){e=e.rtl;n.direction=e?"rtl":"ltr"})}t.ChatComponent=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0);a.__exportStar(n(2),t),a.__exportStar(n(29),t),a.__exportStar(n(7),t),a.__exportStar(n(6),t),function(e){for(var t in e)s(t,e[t])}(t)}],o={},a.m=n,a.c=o,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},a.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=34)}}});
|
|
5
|
+
System.register("@progress/kendo-angular-conversational-ui",["tslib","@progress/kendo-angular-buttons","@angular/common","@angular/core","@progress/kendo-angular-common","rxjs/operators","rxjs","@progress/kendo-angular-intl","@progress/kendo-angular-l10n","@progress/kendo-licensing"],function(s){var i,r,c,l,d,u,p,m,g,_;function t(e){return e.__useDefault?e.default:e}return{setters:[function(e){i=t(e)},function(e){r=t(e)},function(e){c=t(e)},function(e){l=t(e)},function(e){d=t(e)},function(e){u=t(e)},function(e){p=t(e)},function(e){m=t(e)},function(e){g=t(e)},function(e){_=t(e)}],execute:function(){function a(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,a),t.l=!0,t.exports}var n,o;o={},a.m=n=[function(e,t){e.exports=i},function(e,t){e.exports=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(33);t.ChatComponent=a.ChatComponent;a=n(10);t.AttachmentTemplateDirective=a.AttachmentTemplateDirective;n=n(4);t.MessageTemplateDirective=n.MessageTemplateDirective},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatItem=function(){}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),n=n(1),n=a.__decorate([n.Directive({selector:"[kendoChatMessageTemplate]"}),a.__param(0,n.Optional()),a.__metadata("design:paramtypes",[n.TemplateRef])],o);function o(e){this.templateRef=e}t.MessageTemplateDirective=n},function(e,t){e.exports=g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SendMessageEvent=function(e){this.message=e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o=n(0),o=(a=n(15).PreventableEvent,o.__extends(s,a),s);function s(e,t){var n=a.call(this)||this;return n.action=e,n.message=t,n}t.ExecuteActionEvent=o},function(e,t){e.exports=m},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o=n(0),s=n(1),o=(a=n(5).ComponentMessages,o.__extends(i,a),o.__decorate([s.Input(),o.__metadata("design:type",String)],i.prototype,"messagePlaceholder",void 0),o.__decorate([s.Input(),o.__metadata("design:type",String)],i.prototype,"send",void 0),i);function i(){return null!==a&&a.apply(this,arguments)||this}t.Messages=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),n=n(1),n=a.__decorate([n.Directive({selector:"[kendoChatAttachmentTemplate]"}),a.__param(0,n.Optional()),a.__metadata("design:paramtypes",[n.TemplateRef])],o);function o(e){this.templateRef=e}t.AttachmentTemplateDirective=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o,s=n(0),i=n(1),n=n(3),n=(a=n.ChatItem,s.__extends(r,a),(o=r).prototype.isSelected=function(e){return this.selected&&this.selectedIndex===e},r.prototype.actionClick=function(e){this.dispatch.next(e)},r.prototype.actionKeydown=function(e,t){var n=this.keyHandlers[e.keyCode];n&&n(e,t)},r.prototype.focus=function(){this.select(this.selectedIndex)},r.prototype.select=function(e){this.selectedIndex=e;e=this.items.toArray()[e];e&&e.nativeElement.focus()},r.prototype.navigateTo=function(e,t){var n=this.selectedIndex,t=Math.max(0,Math.min(n+t,this.items.length-1));t!==n&&(this.select(t),e.preventDefault())},s.__decorate([i.Input(),s.__metadata("design:type",Array)],r.prototype,"actions",void 0),s.__decorate([i.Input(),s.__metadata("design:type",Boolean)],r.prototype,"tabbable",void 0),s.__decorate([i.Output(),s.__metadata("design:type",i.EventEmitter)],r.prototype,"dispatch",void 0),s.__decorate([i.HostBinding("class.k-quick-replies"),s.__metadata("design:type",Boolean)],r.prototype,"defaultClass",void 0),s.__decorate([i.ViewChildren("item"),s.__metadata("design:type",i.QueryList)],r.prototype,"items",void 0),o=s.__decorate([i.Component({selector:"kendo-chat-suggested-actions",providers:[{provide:n.ChatItem,useExisting:i.forwardRef(function(){return o})}],template:'\n <span #item\n *ngFor="let action of actions; index as index; first as first; last as last"\n class="k-quick-reply"\n [class.k-state-selected]="isSelected(index)"\n [class.k-state-focused]="isSelected(index)"\n [class.k-first]="first"\n [class.k-last]="last"\n [attr.tabindex]="tabbable && selectedIndex === index ? \'0\' : \'-1\'"\n (click)="actionClick(action)"\n (keydown)="actionKeydown($event, action)"\n >\n {{ action.title || action.value }}\n </span>\n '})],r));function r(){var e,n=null!==a&&a.apply(this,arguments)||this;return n.dispatch=new i.EventEmitter,n.defaultClass=!0,n.selectedIndex=0,n.keyHandlers=((e={})[37]=function(e){return n.navigateTo(e,-1)},e[39]=function(e){return n.navigateTo(e,1)},e[13]=function(e,t){return n.actionClick(t)},e),n}t.SuggestedActionsComponent=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),a=(s.prototype.ngOnInit=function(){var e=this;this.zone.runOutsideAngular(function(){e.unsubscribe=e.renderer.listen(e.element.nativeElement,"scroll",function(){return e.onScroll()})})},s.prototype.ngAfterViewInit=function(){this.scrollToBottom()},s.prototype.ngOnDestroy=function(){this.unsubscribe&&this.unsubscribe()},s.prototype.onScroll=function(){var e,t,n,a=this;this.scrolling||(t=(e=this.element.nativeElement).scrollTop+e.offsetHeight,n=e.scrollHeight-t<2,this.autoScroll!==n&&this.zone.run(function(){a.autoScroll=n,a.autoScrollChange.emit(a.autoScroll)}))},s.prototype.scrollToBottom=function(){var e,t=this;this.autoScroll&&((e=this.element.nativeElement).scrollTop=e.scrollHeight-e.clientHeight,this.scrolling=!0,this.zone.runOutsideAngular(function(){return setTimeout(function(){return t.scrolling=!1},1e3)}))},a.__decorate([o.Input(),a.__metadata("design:type",Boolean)],s.prototype,"autoScroll",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],s.prototype,"autoScrollChange",void 0),a.__decorate([o.HostBinding("style.overflow-anchor"),a.__metadata("design:type",String)],s.prototype,"overflowAnchor",void 0),a.__decorate([o.Directive({selector:"[kendoChatScrollAnchor]",exportAs:"scrollAnchor"}),a.__metadata("design:paramtypes",[o.ElementRef,o.NgZone,o.Renderer2])],s));function s(e,t,n){this.element=e,this.zone=t,this.renderer=n,this.autoScroll=!0,this.autoScrollChange=new o.EventEmitter,this.overflowAnchor="none",this.scrolling=!1}t.ScrollAnchorDirective=a},function(e,c,t){"use strict";Object.defineProperty(c,"__esModule",{value:!0});var l=t(1);c.isAuthor=function(e,t){return e&&t.author&&e.id===t.author.id};function d(e){return e[e.length-1]}function n(r){return function(e,t,n){var a,o,s,i=n===r-1;return a=e,o=t.timestamp,s=d(a),!o||s&&(n=o,s=s.timestamp,!n||!s||s.getDate()===n.getDate()&&s.getMonth()===n.getMonth()&&s.getFullYear()===n.getFullYear())||(o={type:"date-marker",timestamp:o,trackBy:o.getTime()},a.push(o)),function(e,t,n){var a,o=d(e);if(l.isDevMode()&&!t.author)throw new Error("Author must be set for message: "+JSON.stringify(t));t.typing&&!n||((a=o&&"message-group"===o.type?o.messages:a)&&c.isAuthor(t.author,d(a))?a.push(t):e.push({type:"message-group",messages:[t],author:t.author,timestamp:t.timestamp,trackBy:t}))}(e,t,i),t.attachments&&1<t.attachments.length&&e.push({type:"attachment-group",attachments:t.attachments,attachmentLayout:t.attachmentLayout,timestamp:t.timestamp,trackBy:t}),t.suggestedActions&&i&&e.push({type:"action-group",actions:t.suggestedActions,timestamp:t.timestamp,trackBy:t}),e}}c.chatView=function(e){return e.reduce(n(e.length),[])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.closest=function(e,t){for(;e&&!t(e);)e=e.parentNode;return e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=(o.prototype.preventDefault=function(){this.prevented=!0},o.prototype.isDefaultPrevented=function(){return this.prevented},o);function o(){this.prevented=!1}t.PreventableEvent=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(7),i=n(14),r=n(3),c=n(13),l=n(2),d=n(4),n=n(8),n=(Object.defineProperty(u.prototype,"messages",{get:function(){return this._messages},set:function(e){e=e||[];this.view=c.chatView(e),this._messages=e},enumerable:!0,configurable:!0}),u.prototype.ngAfterViewInit=function(){this.selectedItem=this.items.last},u.prototype.onResize=function(){this.resize.emit()},u.prototype.formatTimeStamp=function(e){return this.intl.formatDate(e,{date:"full"})},u.prototype.onKeydown=function(e){var t=this.keyActions[e.keyCode];t&&t(e)},u.prototype.onBlur=function(e){var t=this,e=e.relatedTarget||document.activeElement;i.closest(e,function(e){return e===t.element.nativeElement})||this.select(null)},u.prototype.isOwnMessage=function(e){return c.isAuthor(this.user,e)},u.prototype.dispatchAction=function(e,t){t=new s.ExecuteActionEvent(e,t);this.executeAction.emit(t)},u.prototype.trackGroup=function(e,t){return t.trackBy},u.prototype.select=function(e){var t=this.selectedItem;t&&(t.selected=!1),e&&(e.selected=!0,this.selectedItem=e)},u.prototype.last=function(e){if(e&&0!==e.length)return e[e.length-1]},u.prototype.navigateTo=function(e,t){var n=this.items.toArray(),a=this.selectedItem,o=n.indexOf(a),t=n[Math.max(0,Math.min(o+t,this.items.length-1))];t!==a&&(this.select(t),t.focus(),this.navigate.emit(),e.preventDefault())},a.__decorate([o.Input(),a.__metadata("design:type",Array),a.__metadata("design:paramtypes",[Array])],u.prototype,"messages",null),a.__decorate([o.Input(),a.__metadata("design:type",l.AttachmentTemplateDirective)],u.prototype,"attachmentTemplate",void 0),a.__decorate([o.Input(),a.__metadata("design:type",d.MessageTemplateDirective)],u.prototype,"messageTemplate",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Object)],u.prototype,"user",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],u.prototype,"executeAction",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],u.prototype,"navigate",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],u.prototype,"resize",void 0),a.__decorate([o.ViewChildren(r.ChatItem),a.__metadata("design:type",o.QueryList)],u.prototype,"items",void 0),a.__decorate([o.HostBinding("class.k-message-list-content"),a.__metadata("design:type",Boolean)],u.prototype,"cssClass",void 0),a.__decorate([o.HostListener("keydown",["$event"]),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[Object]),a.__metadata("design:returntype",void 0)],u.prototype,"onKeydown",null),a.__decorate([o.HostListener("focusout",["$event"]),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[FocusEvent]),a.__metadata("design:returntype",void 0)],u.prototype,"onBlur",null),a.__decorate([o.Component({selector:"kendo-chat-message-list",template:'\n <ng-container *ngFor="let group of view; last as lastGroup; trackBy: trackGroup">\n <ng-container [ngSwitch]="group.type">\n <div\n *ngSwitchCase="\'date-marker\'"\n class="k-timestamp"\n >\n {{ formatTimeStamp(group.timestamp) }}\n </div>\n <div\n *ngSwitchCase="\'message-group\'"\n class="k-message-group"\n [class.k-alt]="isOwnMessage(group.messages[0])"\n [class.k-no-avatar]="!group.author.avatarUrl"\n >\n <img\n *ngIf="group.author.avatarUrl"\n [attr.src]="group.author.avatarUrl"\n class="k-avatar"\n />\n <p *ngIf="group.author.name" class="k-author">{{ group.author.name }}</p>\n <ng-container\n *ngFor="let msg of group.messages; first as firstMessage; last as lastMessage"\n >\n <img *ngIf="msg.user?.avatarUrl" [src]="msg.user?.avatarUrl" class="k-avatar">\n <kendo-chat-message #message\n [message]="msg"\n [tabbable]="lastGroup && lastMessage"\n [template]="messageTemplate"\n (click)="select(message)"\n (focus)="select(message)"\n [class.k-only]="group.messages.length === 1"\n [class.k-first]="group.messages.length > 1 && firstMessage"\n [class.k-last]="group.messages.length > 1 && lastMessage"\n >\n </kendo-chat-message>\n\n <kendo-chat-attachment\n *ngIf="msg.attachments && msg.attachments.length === 1"\n [attachment]="msg.attachments[0]"\n [template]="attachmentTemplate"\n >\n </kendo-chat-attachment>\n </ng-container>\n </div>\n\n <kendo-chat-message-attachments #attachments\n *ngSwitchCase="\'attachment-group\'"\n [attachments]="group.attachments"\n [layout]="group.attachmentLayout"\n [tabbable]="lastGroup"\n [template]="attachmentTemplate"\n (click)="select(attachments)"\n (focus)="select(attachments)"\n >\n </kendo-chat-message-attachments>\n\n <kendo-chat-suggested-actions #actions\n *ngSwitchCase="\'action-group\'"\n [actions]="group.actions"\n [tabbable]="lastGroup"\n (dispatch)="dispatchAction($event, last(group.messages))"\n (click)="select(actions)"\n (focus)="select(actions)"\n >\n </kendo-chat-suggested-actions>\n </ng-container>\n </ng-container>\n <kendo-resize-sensor (resize)="onResize()">\n </kendo-resize-sensor>\n '}),a.__metadata("design:paramtypes",[o.ElementRef,n.IntlService])],u));function u(e,t){var n=this;this.element=e,this.intl=t,this.executeAction=new o.EventEmitter,this.navigate=new o.EventEmitter,this.resize=new o.EventEmitter,this.cssClass=!0,this.view=[],this.keyActions=((t={})[38]=function(e){return n.navigateTo(e,-1)},t[40]=function(e){return n.navigateTo(e,1)},t)}t.MessageListComponent=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o,s=n(0),i=n(1),r=n(3),c=n(4),n=n(8),n=(a=r.ChatItem,s.__extends(l,a),o=l,Object.defineProperty(l.prototype,"tabIndex",{get:function(){return this.tabbable?"0":"-1"},enumerable:!0,configurable:!0}),l.prototype.formatTimeStamp=function(e){return this.intl.formatDate(e,{datetime:"short"})},l.prototype.focus=function(){this.element.nativeElement.focus()},s.__decorate([i.Input(),s.__metadata("design:type",Object)],l.prototype,"message",void 0),s.__decorate([i.Input(),s.__metadata("design:type",Boolean)],l.prototype,"tabbable",void 0),s.__decorate([i.Input(),s.__metadata("design:type",c.MessageTemplateDirective)],l.prototype,"template",void 0),s.__decorate([i.HostBinding("class.k-message"),s.__metadata("design:type",Boolean)],l.prototype,"cssClass",void 0),s.__decorate([i.HostBinding("class.k-state-selected"),i.HostBinding("class.k-state-focused"),s.__metadata("design:type",Boolean)],l.prototype,"selected",void 0),s.__decorate([i.HostBinding("attr.tabIndex"),s.__metadata("design:type",String),s.__metadata("design:paramtypes",[])],l.prototype,"tabIndex",null),o=s.__decorate([i.Component({selector:"kendo-chat-message",providers:[{provide:r.ChatItem,useExisting:i.forwardRef(function(){return o})}],template:'\n <time\n [attr.aria-hidden]="!selected"\n class="k-message-time"\n *ngIf="message.timestamp"\n >\n {{ formatTimeStamp(message.timestamp) }}\n </time>\n\n <ng-container *ngIf="!message.typing; else typing">\n <div class="k-bubble" *ngIf="template">\n <ng-container\n *ngTemplateOutlet="template.templateRef; context: { $implicit: message };"\n >\n </ng-container>\n </div>\n\n <div class="k-bubble" *ngIf="!template && message.text">\n {{message.text}}\n </div>\n </ng-container>\n\n <span\n class="k-message-status"\n *ngIf="message.status"\n >\n {{ message.status }}\n </span>\n\n <ng-template #typing>\n <div class="k-bubble">\n <div class="k-typing-indicator">\n <span></span>\n <span></span>\n <span></span>\n </div>\n </div>\n </ng-template>\n '}),s.__metadata("design:paramtypes",[i.ElementRef,n.IntlService])],l));function l(e,t){var n=a.call(this)||this;return n.element=e,n.intl=t,n.cssClass=!0,n}t.MessageComponent=n},function(e,t){e.exports=u},function(e,t){e.exports=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o,s=n(0),i=n(1),r=n(19),c=n(18),l=n(3),n=n(2),i=(a=l.ChatItem,s.__extends(d,a),o=d,Object.defineProperty(d.prototype,"carousel",{get:function(){return"list"!==this.layout},enumerable:!0,configurable:!0}),d.prototype.ngAfterViewInit=function(){var e=this;this.zone.runOutsideAngular(function(){e.scrollSubscription=r.fromEvent(e.deck.nativeElement,"scroll").pipe(c.debounceTime(100)).subscribe(function(){return e.onScroll()})})},d.prototype.ngOnDestroy=function(){this.scrollSubscription.unsubscribe()},d.prototype.isSelected=function(e){return this.selectedIndex===e},d.prototype.itemKeydown=function(e,t){var n=("list"===this.layout?this.listKeyHandlers:this.carouselKeyHandlers)[e.keyCode];n&&n(e,t)},d.prototype.itemClick=function(e){this.select(e)},d.prototype.focus=function(){this.select(this.selectedIndex)},d.prototype.scrollTo=function(e){var t=this.deck.nativeElement,n=t.scrollWidth/this.items.length,a=t.scrollWidth-t.offsetWidth,e=t.scrollLeft+n*e;t.scrollLeft=Math.max(0,Math.min(a,e))},d.prototype.select=function(e){this.selectedIndex=e;e=this.items.toArray()[e];e&&e.nativeElement.focus()},d.prototype.navigateTo=function(e,t){var n=this.selectedIndex,t=Math.max(0,Math.min(n+t,this.items.length-1));t!==n&&(this.select(t),e.preventDefault())},d.prototype.onScroll=function(){var e,t=this,n=this.deck.nativeElement;0===n.scrollWidth||(e=n.scrollLeft/(n.scrollWidth-n.offsetWidth))!==this.scrollPosition&&this.zone.run(function(){t.scrollPosition=e})},s.__decorate([i.Input(),s.__metadata("design:type",Array)],d.prototype,"attachments",void 0),s.__decorate([i.Input(),s.__metadata("design:type",String)],d.prototype,"layout",void 0),s.__decorate([i.Input(),s.__metadata("design:type",Boolean)],d.prototype,"tabbable",void 0),s.__decorate([i.Input(),s.__metadata("design:type",n.AttachmentTemplateDirective)],d.prototype,"template",void 0),s.__decorate([i.HostBinding("class.k-card-deck-scrollwrap"),s.__metadata("design:type",Boolean),s.__metadata("design:paramtypes",[])],d.prototype,"carousel",null),s.__decorate([i.ViewChild("deck",{read:i.ElementRef,static:!0}),s.__metadata("design:type",i.ElementRef)],d.prototype,"deck",void 0),s.__decorate([i.ViewChildren("item",{read:i.ElementRef}),s.__metadata("design:type",i.QueryList)],d.prototype,"items",void 0),o=s.__decorate([i.Component({providers:[{provide:l.ChatItem,useExisting:i.forwardRef(function(){return o})}],selector:"kendo-chat-message-attachments",template:'\n <button\n *ngIf="carousel && scrollPosition > 0"\n (click)="scrollTo(-1)"\n class="k-button k-icon-button k-button-md k-rounded-md k-button-solid k-button-solid-base"\n tabindex="-1">\n <span class="k-icon k-button-icon k-i-arrow-chevron-left"></span>\n </button>\n <div #deck [class.k-card-deck]="carousel">\n <kendo-chat-attachment #item\n *ngFor="let att of attachments; index as index; first as first; last as last"\n [attachment]="att"\n [template]="template"\n [class.k-state-selected]="isSelected(index)"\n [class.k-state-focused]="isSelected(index)"\n [class.k-card-wrap]="true"\n [class.k-first]="first"\n [class.k-last]="last"\n [attr.tabindex]="tabbable && isSelected(index) ? \'0\' : \'-1\'"\n (click)="itemClick(index)"\n (keydown)="itemKeydown($event, att)"\n >\n </kendo-chat-attachment>\n </div>\n <button\n *ngIf="carousel && scrollPosition < 1"\n (click)="scrollTo(1)"\n class="k-button k-icon-button k-button-md k-rounded-md k-button-solid k-button-solid-base"\n tabindex="-1">\n <span class="k-icon k-button-icon k-i-arrow-chevron-right"></span>\n </button>\n '}),s.__metadata("design:paramtypes",[i.NgZone])],d));function d(e){var t=a.call(this)||this;return t.zone=e,t.scrollPosition=0,t.selectedIndex=0,t.carouselKeyHandlers=((e={})[37]=function(e){return t.navigateTo(e,-1)},e[39]=function(e){return t.navigateTo(e,1)},e),t.listKeyHandlers=((e={})[38]=function(e){return t.navigateTo(e,-1)},e[40]=function(e){return t.navigateTo(e,1)},e),t}t.MessageAttachmentsComponent=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o,s=n(0),i=n(1),r=n(5),n=n(9),r=(a=n.Messages,s.__extends(c,a),o=c,o=s.__decorate([i.Directive({providers:[{provide:n.Messages,useExisting:i.forwardRef(function(){return o})}],selector:"[kendoChatLocalizedMessages]"}),s.__metadata("design:paramtypes",[r.LocalizationService])],c));function c(e){var t=a.call(this)||this;return t.service=e,t}t.LocalizedMessagesDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),a=(s.prototype.onClick=function(e){this.executeAction.next(e)},a.__decorate([o.Input(),a.__metadata("design:type",String)],s.prototype,"imageUrl",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],s.prototype,"title",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],s.prototype,"subtitle",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Array)],s.prototype,"actions",void 0),a.__decorate([o.HostBinding("class.k-card"),a.__metadata("design:type",Boolean)],s.prototype,"cssClass",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],s.prototype,"executeAction",void 0),a.__decorate([o.Component({selector:"kendo-chat-hero-card",template:'\n <img class="k-card-image" [src]="imageUrl" *ngIf="imageUrl" />\n <div class="k-card-body">\n <h5 class="k-card-title" *ngIf="title">\n {{ title }}\n </h5>\n <h6 class="k-card-subtitle" *ngIf="subtitle">\n {{ subtitle }}\n </h6>\n </div>\n <div class="k-card-actions k-card-actions-vertical">\n <span class="k-card-action"\n *ngFor="let act of actions"\n >\n <button\n kendoButton fillMode="flat"\n (click)="onClick(act)">\n {{ act.title }}\n </button>\n </span>\n </div>\n '})],s));function s(){this.cssClass=!0,this.executeAction=new o.EventEmitter}t.HeroCardComponent=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),n=n(1),n=(o.prototype.onFocus=function(){this.focused=!0},o.prototype.onBlur=function(){this.focused=!1},a.__decorate([n.HostBinding("class.k-state-focused"),a.__metadata("design:type",Boolean)],o.prototype,"focused",void 0),a.__decorate([n.HostListener("focusin"),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[]),a.__metadata("design:returntype",void 0)],o.prototype,"onFocus",null),a.__decorate([n.HostListener("focusout"),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[]),a.__metadata("design:returntype",void 0)],o.prototype,"onBlur",null),a.__decorate([n.Directive({selector:"[kendoChatFocusedState]"})],o));function o(){this.focused=!1}t.FocusedStateDirective=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,o,s=n(0),i=n(1),r=n(5),n=n(9),r=(a=n.Messages,s.__extends(c,a),o=c,Object.defineProperty(c.prototype,"override",{get:function(){return!0},enumerable:!0,configurable:!0}),o=s.__decorate([i.Component({providers:[{provide:n.Messages,useExisting:i.forwardRef(function(){return o})}],selector:"kendo-chat-messages",template:""}),s.__metadata("design:paramtypes",[r.LocalizationService])],c));function c(e){var t=a.call(this)||this;return t.service=e,t}t.CustomMessagesComponent=r},function(e,t){e.exports=d},function(e,t){e.exports=c},function(e,t){e.exports=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),n=n(2),o=(Object.defineProperty(s.prototype,"attachment",{get:function(){return this._attachment},set:function(e){this._attachment=e,this.context={$implicit:this.attachment}},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"image",{get:function(){return 0===this.contentType.indexOf("image/")},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"unknown",{get:function(){return!this.image},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"contentType",{get:function(){return this.attachment.contentType||""},enumerable:!0,configurable:!0}),a.__decorate([o.Input(),a.__metadata("design:type",Object),a.__metadata("design:paramtypes",[Object])],s.prototype,"attachment",null),a.__decorate([o.Input(),a.__metadata("design:type",n.AttachmentTemplateDirective)],s.prototype,"template",void 0),a.__decorate([o.Component({selector:"kendo-chat-attachment",template:'\n <ng-container *ngIf="template">\n <ng-container *ngTemplateOutlet="template.templateRef; context: context;">\n </ng-container>\n </ng-container>\n\n <div *ngIf="!template" class="k-card">\n <div class="k-card-body">\n <h5 class="k-card-title" *ngIf="attachment.title">\n {{ attachment.title }}\n </h5>\n <h6 class="k-card-subtitle" *ngIf="attachment.subtitle">\n {{ attachment.subtitle }}\n </h6>\n <img *ngIf="image" [attr.src]="attachment.content" />\n <ng-container *ngIf="unknown">\n {{ attachment.content }}\n </ng-container>\n </div>\n </div>\n '})],s));function s(){}t.AttachmentComponent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(28),s=n(2),i=n(27),r=n(26),c=n(25),l=n(24),d=n(23),u=n(22),p=n(21),m=n(20),g=n(17),_=n(16),h=n(1),f=n(12),n=n(11),u=[s.ChatComponent,l.CustomMessagesComponent,s.AttachmentTemplateDirective,s.MessageTemplateDirective,u.HeroCardComponent],n=[o.AttachmentComponent,d.FocusedStateDirective,p.LocalizedMessagesDirective,m.MessageAttachmentsComponent,g.MessageComponent,_.MessageListComponent,s.MessageTemplateDirective,f.ScrollAnchorDirective,n.SuggestedActionsComponent],c=a.__decorate([h.NgModule({declarations:u.concat(n),exports:[u],imports:[i.ButtonModule,r.CommonModule,c.ResizeSensorModule]})],v);function v(){}t.ChatModule=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata={name:"@progress/kendo-angular-conversational-ui",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1642091336,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"}},function(e,t){e.exports=_},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});function a(){}var o=n(6),s={reply:function(e,t){t.sendMessage.emit(new o.SendMessageEvent({author:t.user,text:e.value,timestamp:new Date}))},call:function(e){window.open("tel:"+e.value)},openUrl:function(e){window.open(e.value)}};t.makeHandler=function(e){return s[e.type]||a}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(10),i=n(5),r=n(32),c=n(4),l=n(6),d=n(31),u=n(30),i=(Object.defineProperty(p.prototype,"className",{get:function(){return"k-widget k-chat"},enumerable:!0,configurable:!0}),Object.defineProperty(p.prototype,"dirAttr",{get:function(){return this.direction},enumerable:!0,configurable:!0}),p.prototype.ngOnChanges=function(){var e=this;this.zone.runOutsideAngular(function(){return setTimeout(function(){e.messageList.nativeElement.style.flex="1 1 auto"})})},p.prototype.ngAfterViewInit=function(){if(o.isDevMode()&&!this.user)throw new Error("User must be set and have a valid id.")},p.prototype.ngOnDestroy=function(){this.localizationChangeSubscription&&this.localizationChangeSubscription.unsubscribe()},p.prototype.sendClick=function(){var e=this.messageInput.nativeElement,t=e.value;t&&(t={author:this.user,text:t,timestamp:new Date},this.sendMessage.emit(new l.SendMessageEvent(t)),e.value=null,e.focus(),this.autoScroll=!0)},p.prototype.inputKeydown=function(e){13===e.keyCode&&this.sendClick()},p.prototype.dispatchAction=function(e){this.executeAction.emit(e),e.isDefaultPrevented()||(r.makeHandler(e.action)(e.action,this),this.messageInput.nativeElement.focus())},p.prototype.textFor=function(e){return this.localization.get(e)},a.__decorate([o.Input(),a.__metadata("design:type",Array)],p.prototype,"messages",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Object)],p.prototype,"user",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],p.prototype,"sendMessage",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],p.prototype,"executeAction",void 0),a.__decorate([o.HostBinding("class"),a.__metadata("design:type",String),a.__metadata("design:paramtypes",[])],p.prototype,"className",null),a.__decorate([o.HostBinding("attr.dir"),a.__metadata("design:type",String),a.__metadata("design:paramtypes",[])],p.prototype,"dirAttr",null),a.__decorate([o.ContentChild(s.AttachmentTemplateDirective,{static:!1}),a.__metadata("design:type",s.AttachmentTemplateDirective)],p.prototype,"attachmentTemplate",void 0),a.__decorate([o.ContentChild(c.MessageTemplateDirective,{static:!1}),a.__metadata("design:type",c.MessageTemplateDirective)],p.prototype,"messageTemplate",void 0),a.__decorate([o.ViewChild("messageInput",{static:!0}),a.__metadata("design:type",o.ElementRef)],p.prototype,"messageInput",void 0),a.__decorate([o.ViewChild("messageList",{static:!0}),a.__metadata("design:type",o.ElementRef)],p.prototype,"messageList",void 0),a.__decorate([o.Component({providers:[i.LocalizationService,{provide:i.L10N_PREFIX,useValue:"kendo.chat"}],selector:"kendo-chat",template:'\n <ng-container\n kendoChatLocalizedMessages\n i18n-messagePlaceholder="kendo.chat.messagePlaceholder|The placholder text of the message text input"\n messagePlaceholder="Type a message..."\n\n i18n-send="kendo.chat.send|The text for the Send button"\n send="Send..."\n >\n </ng-container>\n\n <div\n #messageList\n class="k-message-list k-avatars"\n aria-live="polite" role="log"\n kendoChatScrollAnchor\n #anchor="scrollAnchor"\n [(autoScroll)]="autoScroll"\n >\n <kendo-chat-message-list\n [messages]="messages"\n [messageTemplate]="messageTemplate"\n [attachmentTemplate]="attachmentTemplate"\n [user]="user"\n (executeAction)="dispatchAction($event)"\n (resize)="anchor.scrollToBottom()"\n (navigate)="this.autoScroll = false"\n >\n </kendo-chat-message-list>\n </div>\n\n <div class="k-message-box">\n <input\n #messageInput\n kendoChatFocusedState\n type="text"\n class="k-input"\n [placeholder]="textFor(\'messagePlaceholder\')"\n (keydown)="inputKeydown($event)"\n >\n <button\n kendoButton\n fillMode="flat"\n class="k-button-send"\n tabindex="-1"\n [attr.title]="textFor(\'send\')"\n (click)="sendClick()"\n ><svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 16 16"><path d="M0,14.3c-0.1,0.6,0.3,0.8,0.8,0.6l14.8-6.5c0.5-0.2,0.5-0.6,0-0.8L0.8,1.1C0.3,0.9-0.1,1.1,0,1.7l0.7,4.2C0.8,6.5,1.4,7,1.9,7.1l8.8,0.8c0.6,0.1,0.6,0.1,0,0.2L1.9,8.9C1.4,9,0.8,9.5,0.7,10.1L0,14.3z"/></svg></button>\n </div>\n '}),a.__metadata("design:paramtypes",[i.LocalizationService,o.NgZone])],p));function p(e,t){var n=this;this.localization=e,this.zone=t,this.sendMessage=new o.EventEmitter,this.executeAction=new o.EventEmitter,this.autoScroll=!0,d.validatePackage(u.packageMetadata),this.direction=e.rtl?"rtl":"ltr",this.localizationChangeSubscription=e.changes.subscribe(function(e){e=e.rtl;n.direction=e?"rtl":"ltr"})}t.ChatComponent=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0);a.__exportStar(n(2),t),a.__exportStar(n(29),t),a.__exportStar(n(7),t),a.__exportStar(n(6),t),function(e){for(var t in e)s(t,e[t])}(t)}],a.c=o,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},a.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=34)}}});
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Kendo UI for Angular Conversational UI components",
|
|
4
4
|
"author": "Progress",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
|
-
"version": "
|
|
6
|
+
"version": "4.0.0-dev.202201131630",
|
|
7
7
|
"main": "dist/npm/index.js",
|
|
8
8
|
"module": "dist/fesm5/index.js",
|
|
9
9
|
"es2015": "dist/fesm2015/index.js",
|
|
@@ -70,9 +70,9 @@
|
|
|
70
70
|
"@progress/kendo-angular-popup": "^4.0.0",
|
|
71
71
|
"@progress/kendo-angular-tasks": "^18.0.10",
|
|
72
72
|
"@progress/kendo-licensing": "^1.0.2",
|
|
73
|
-
"@progress/kendo-theme-bootstrap": "
|
|
74
|
-
"@progress/kendo-theme-default": "
|
|
75
|
-
"@progress/kendo-theme-material": "
|
|
73
|
+
"@progress/kendo-theme-bootstrap": "next",
|
|
74
|
+
"@progress/kendo-theme-default": "next",
|
|
75
|
+
"@progress/kendo-theme-material": "next",
|
|
76
76
|
"@telerik/semantic-prerelease": "^1.0.0",
|
|
77
77
|
"@types/jest": "^21.1.8",
|
|
78
78
|
"@types/node": "ts3.4",
|