@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/cdn/main.js
CHANGED
|
@@ -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
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-intl"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-buttons"),require("@angular/common"),require("@progress/kendo-angular-common"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define(["tslib","@angular/core","@progress/kendo-angular-l10n","@progress/kendo-angular-intl","@progress/kendo-licensing","@progress/kendo-angular-buttons","@angular/common","@progress/kendo-angular-common","rxjs","rxjs/operators"],t):"object"==typeof exports?exports.KendoAngularConversationalUi=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-intl"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-buttons"),require("@angular/common"),require("@progress/kendo-angular-common"),require("rxjs"),require("rxjs/operators")):e.KendoAngularConversationalUi=t(e.tslib,e["@angular/core"],e["@progress/kendo-angular-l10n"],e["@progress/kendo-angular-intl"],e["@progress/kendo-licensing"],e["@progress/kendo-angular-buttons"],e["@angular/common"],e["@progress/kendo-angular-common"],e.rxjs,e["rxjs/operators"])}(window,(function(e,t,n,a,o,s,r,i,c,l){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(a,o,function(t){return e[t]}.bind(null,o));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=11)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(12);t.ChatComponent=a.ChatComponent;var o=n(7);t.AttachmentTemplateDirective=o.AttachmentTemplateDirective;var s=n(4);t.MessageTemplateDirective=s.MessageTemplateDirective},function(e,t){e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(){function e(e){this.templateRef=e}return e=a.__decorate([o.Directive({selector:"[kendoChatMessageTemplate]"}),a.__param(0,o.Optional()),a.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.MessageTemplateDirective=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){};t.ChatItem=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){this.message=e};t.SendMessageEvent=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(){function e(e){this.templateRef=e}return e=a.__decorate([o.Directive({selector:"[kendoChatAttachmentTemplate]"}),a.__param(0,o.Optional()),a.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.AttachmentTemplateDirective=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a.__extends(t,e),a.__decorate([o.Input(),a.__metadata("design:type",String)],t.prototype,"messagePlaceholder",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],t.prototype,"send",void 0),t}(n(3).ComponentMessages);t.Messages=s},function(e,t){e.exports=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=function(e){function t(t,n){var a=e.call(this)||this;return a.action=t,a.message=n,a}return a.__extends(t,e),t}(n(30).PreventableEvent);t.ExecuteActionEvent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0);a.__exportStar(n(2),t),a.__exportStar(n(16),t),a.__exportStar(n(10),t),a.__exportStar(n(6),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(7),r=n(3),i=n(13),c=n(4),l=n(6),u=n(14),d=n(15),p=function(){function e(e,t){var n=this;this.localization=e,this.zone=t,this.sendMessage=new o.EventEmitter,this.executeAction=new o.EventEmitter,this.autoScroll=!0,u.validatePackage(d.packageMetadata),this.direction=e.rtl?"rtl":"ltr",this.localizationChangeSubscription=e.changes.subscribe((function(e){var t=e.rtl;n.direction=t?"rtl":"ltr"}))}return Object.defineProperty(e.prototype,"className",{get:function(){return"k-widget k-chat"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dirAttr",{get:function(){return this.direction},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(){var e=this;this.zone.runOutsideAngular((function(){return setTimeout((function(){e.messageList.nativeElement.style.flex="1 1 auto"}))}))},e.prototype.ngAfterViewInit=function(){if(o.isDevMode()&&!this.user)throw new Error("User must be set and have a valid id.")},e.prototype.ngOnDestroy=function(){this.localizationChangeSubscription&&this.localizationChangeSubscription.unsubscribe()},e.prototype.sendClick=function(){var e=this.messageInput.nativeElement,t=e.value;if(t){var n={author:this.user,text:t,timestamp:new Date};this.sendMessage.emit(new l.SendMessageEvent(n)),e.value=null,e.focus(),this.autoScroll=!0}},e.prototype.inputKeydown=function(e){13===e.keyCode&&this.sendClick()},e.prototype.dispatchAction=function(e){(this.executeAction.emit(e),e.isDefaultPrevented())||(i.makeHandler(e.action)(e.action,this),this.messageInput.nativeElement.focus())},e.prototype.textFor=function(e){return this.localization.get(e)},a.__decorate([o.Input(),a.__metadata("design:type",Array)],e.prototype,"messages",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Object)],e.prototype,"user",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"sendMessage",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"executeAction",void 0),a.__decorate([o.HostBinding("class"),a.__metadata("design:type",String),a.__metadata("design:paramtypes",[])],e.prototype,"className",null),a.__decorate([o.HostBinding("attr.dir"),a.__metadata("design:type",String),a.__metadata("design:paramtypes",[])],e.prototype,"dirAttr",null),a.__decorate([o.ContentChild(s.AttachmentTemplateDirective,{static:!1}),a.__metadata("design:type",s.AttachmentTemplateDirective)],e.prototype,"attachmentTemplate",void 0),a.__decorate([o.ContentChild(c.MessageTemplateDirective,{static:!1}),a.__metadata("design:type",c.MessageTemplateDirective)],e.prototype,"messageTemplate",void 0),a.__decorate([o.ViewChild("messageInput",{static:!0}),a.__metadata("design:type",o.ElementRef)],e.prototype,"messageInput",void 0),a.__decorate([o.ViewChild("messageList",{static:!0}),a.__metadata("design:type",o.ElementRef)],e.prototype,"messageList",void 0),e=a.__decorate([o.Component({providers:[r.LocalizationService,{provide:r.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",[r.LocalizationService,o.NgZone])],e)}();t.ChatComponent=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(6),o=function(){},s={reply:function(e,t){t.sendMessage.emit(new a.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]||o}},function(e,t){e.exports=o},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,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(17),s=n(2),r=n(18),i=n(19),c=n(20),l=n(21),u=n(22),d=n(23),p=n(24),m=n(25),g=n(28),f=n(29),_=n(1),h=n(33),v=n(34),y=[s.ChatComponent,l.CustomMessagesComponent,s.AttachmentTemplateDirective,s.MessageTemplateDirective,d.HeroCardComponent],k=[o.AttachmentComponent,u.FocusedStateDirective,p.LocalizedMessagesDirective,m.MessageAttachmentsComponent,g.MessageComponent,f.MessageListComponent,s.MessageTemplateDirective,h.ScrollAnchorDirective,v.SuggestedActionsComponent],b=function(){function e(){}return e=a.__decorate([_.NgModule({declarations:y.concat(k),exports:[y],imports:[r.ButtonModule,i.CommonModule,c.ResizeSensorModule]})],e)}();t.ChatModule=b},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(2),r=function(){function e(){}return Object.defineProperty(e.prototype,"attachment",{get:function(){return this._attachment},set:function(e){this._attachment=e,this.context={$implicit:this.attachment}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"image",{get:function(){return 0===this.contentType.indexOf("image/")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"unknown",{get:function(){return!this.image},enumerable:!0,configurable:!0}),Object.defineProperty(e.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])],e.prototype,"attachment",null),a.__decorate([o.Input(),a.__metadata("design:type",s.AttachmentTemplateDirective)],e.prototype,"template",void 0),e=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 '})],e)}();t.AttachmentComponent=r},function(e,t){e.exports=s},function(e,t){e.exports=r},function(e,t){e.exports=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(3),r=n(8),i=function(e){function t(t){var n=e.call(this)||this;return n.service=t,n}var n;return a.__extends(t,e),n=t,Object.defineProperty(t.prototype,"override",{get:function(){return!0},enumerable:!0,configurable:!0}),t=n=a.__decorate([o.Component({providers:[{provide:r.Messages,useExisting:o.forwardRef((function(){return n}))}],selector:"kendo-chat-messages",template:""}),a.__metadata("design:paramtypes",[s.LocalizationService])],t)}(r.Messages);t.CustomMessagesComponent=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(){function e(){this.focused=!1}return e.prototype.onFocus=function(){this.focused=!0},e.prototype.onBlur=function(){this.focused=!1},a.__decorate([o.HostBinding("class.k-state-focused"),a.__metadata("design:type",Boolean)],e.prototype,"focused",void 0),a.__decorate([o.HostListener("focusin"),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[]),a.__metadata("design:returntype",void 0)],e.prototype,"onFocus",null),a.__decorate([o.HostListener("focusout"),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[]),a.__metadata("design:returntype",void 0)],e.prototype,"onBlur",null),e=a.__decorate([o.Directive({selector:"[kendoChatFocusedState]"})],e)}();t.FocusedStateDirective=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(){function e(){this.cssClass=!0,this.executeAction=new o.EventEmitter}return e.prototype.onClick=function(e){this.executeAction.next(e)},a.__decorate([o.Input(),a.__metadata("design:type",String)],e.prototype,"imageUrl",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],e.prototype,"title",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],e.prototype,"subtitle",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Array)],e.prototype,"actions",void 0),a.__decorate([o.HostBinding("class.k-card"),a.__metadata("design:type",Boolean)],e.prototype,"cssClass",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"executeAction",void 0),e=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 '})],e)}();t.HeroCardComponent=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(3),r=n(8),i=function(e){function t(t){var n=e.call(this)||this;return n.service=t,n}var n;return a.__extends(t,e),n=t,t=n=a.__decorate([o.Directive({providers:[{provide:r.Messages,useExisting:o.forwardRef((function(){return n}))}],selector:"[kendoChatLocalizedMessages]"}),a.__metadata("design:paramtypes",[s.LocalizationService])],t)}(r.Messages);t.LocalizedMessagesDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(26),r=n(27),i=n(5),c=n(2),l=function(e){function t(t){var n,a,o=e.call(this)||this;return o.zone=t,o.scrollPosition=0,o.selectedIndex=0,o.carouselKeyHandlers=((n={})[37]=function(e){return o.navigateTo(e,-1)},n[39]=function(e){return o.navigateTo(e,1)},n),o.listKeyHandlers=((a={})[38]=function(e){return o.navigateTo(e,-1)},a[40]=function(e){return o.navigateTo(e,1)},a),o}var n;return a.__extends(t,e),n=t,Object.defineProperty(t.prototype,"carousel",{get:function(){return"list"!==this.layout},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){var e=this;this.zone.runOutsideAngular((function(){e.scrollSubscription=s.fromEvent(e.deck.nativeElement,"scroll").pipe(r.debounceTime(100)).subscribe((function(){return e.onScroll()}))}))},t.prototype.ngOnDestroy=function(){this.scrollSubscription.unsubscribe()},t.prototype.isSelected=function(e){return this.selectedIndex===e},t.prototype.itemKeydown=function(e,t){var n=("list"===this.layout?this.listKeyHandlers:this.carouselKeyHandlers)[e.keyCode];n&&n(e,t)},t.prototype.itemClick=function(e){this.select(e)},t.prototype.focus=function(){this.select(this.selectedIndex)},t.prototype.scrollTo=function(e){var t=this.deck.nativeElement,n=t.scrollWidth/this.items.length,a=t.scrollWidth-t.offsetWidth,o=t.scrollLeft+n*e;t.scrollLeft=Math.max(0,Math.min(a,o))},t.prototype.select=function(e){this.selectedIndex=e;var t=this.items.toArray()[e];t&&t.nativeElement.focus()},t.prototype.navigateTo=function(e,t){var n=this.selectedIndex,a=Math.max(0,Math.min(n+t,this.items.length-1));a!==n&&(this.select(a),e.preventDefault())},t.prototype.onScroll=function(){var e=this,t=this.deck.nativeElement;if(0!==t.scrollWidth){var n=t.scrollLeft/(t.scrollWidth-t.offsetWidth);n!==this.scrollPosition&&this.zone.run((function(){e.scrollPosition=n}))}},a.__decorate([o.Input(),a.__metadata("design:type",Array)],t.prototype,"attachments",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],t.prototype,"layout",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Boolean)],t.prototype,"tabbable",void 0),a.__decorate([o.Input(),a.__metadata("design:type",c.AttachmentTemplateDirective)],t.prototype,"template",void 0),a.__decorate([o.HostBinding("class.k-card-deck-scrollwrap"),a.__metadata("design:type",Boolean),a.__metadata("design:paramtypes",[])],t.prototype,"carousel",null),a.__decorate([o.ViewChild("deck",{read:o.ElementRef,static:!0}),a.__metadata("design:type",o.ElementRef)],t.prototype,"deck",void 0),a.__decorate([o.ViewChildren("item",{read:o.ElementRef}),a.__metadata("design:type",o.QueryList)],t.prototype,"items",void 0),t=n=a.__decorate([o.Component({providers:[{provide:i.ChatItem,useExisting:o.forwardRef((function(){return n}))}],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 '}),a.__metadata("design:paramtypes",[o.NgZone])],t)}(i.ChatItem);t.MessageAttachmentsComponent=l},function(e,t){e.exports=c},function(e,t){e.exports=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(5),r=n(4),i=n(9),c=function(e){function t(t,n){var a=e.call(this)||this;return a.element=t,a.intl=n,a.cssClass=!0,a}var n;return a.__extends(t,e),n=t,Object.defineProperty(t.prototype,"tabIndex",{get:function(){return this.tabbable?"0":"-1"},enumerable:!0,configurable:!0}),t.prototype.formatTimeStamp=function(e){return this.intl.formatDate(e,{datetime:"short"})},t.prototype.focus=function(){this.element.nativeElement.focus()},a.__decorate([o.Input(),a.__metadata("design:type",Object)],t.prototype,"message",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Boolean)],t.prototype,"tabbable",void 0),a.__decorate([o.Input(),a.__metadata("design:type",r.MessageTemplateDirective)],t.prototype,"template",void 0),a.__decorate([o.HostBinding("class.k-message"),a.__metadata("design:type",Boolean)],t.prototype,"cssClass",void 0),a.__decorate([o.HostBinding("class.k-state-selected"),o.HostBinding("class.k-state-focused"),a.__metadata("design:type",Boolean)],t.prototype,"selected",void 0),a.__decorate([o.HostBinding("attr.tabIndex"),a.__metadata("design:type",String),a.__metadata("design:paramtypes",[])],t.prototype,"tabIndex",null),t=n=a.__decorate([o.Component({selector:"kendo-chat-message",providers:[{provide:s.ChatItem,useExisting:o.forwardRef((function(){return n}))}],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 '}),a.__metadata("design:paramtypes",[o.ElementRef,i.IntlService])],t)}(s.ChatItem);t.MessageComponent=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(10),r=n(31),i=n(5),c=n(32),l=n(2),u=n(4),d=n(9),p=function(){function e(e,t){var n,a=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=((n={})[38]=function(e){return a.navigateTo(e,-1)},n[40]=function(e){return a.navigateTo(e,1)},n)}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._messages},set:function(e){var t=e||[];this.view=c.chatView(t),this._messages=t},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.selectedItem=this.items.last},e.prototype.onResize=function(){this.resize.emit()},e.prototype.formatTimeStamp=function(e){return this.intl.formatDate(e,{date:"full"})},e.prototype.onKeydown=function(e){var t=this.keyActions[e.keyCode];t&&t(e)},e.prototype.onBlur=function(e){var t=this,n=e.relatedTarget||document.activeElement;!r.closest(n,(function(e){return e===t.element.nativeElement}))&&this.select(null)},e.prototype.isOwnMessage=function(e){return c.isAuthor(this.user,e)},e.prototype.dispatchAction=function(e,t){var n=new s.ExecuteActionEvent(e,t);this.executeAction.emit(n)},e.prototype.trackGroup=function(e,t){return t.trackBy},e.prototype.select=function(e){var t=this.selectedItem;t&&(t.selected=!1),e&&(e.selected=!0,this.selectedItem=e)},e.prototype.last=function(e){if(e&&0!==e.length)return e[e.length-1]},e.prototype.navigateTo=function(e,t){var n=this.items.toArray(),a=this.selectedItem,o=n.indexOf(a),s=n[Math.max(0,Math.min(o+t,this.items.length-1))];s!==a&&(this.select(s),s.focus(),this.navigate.emit(),e.preventDefault())},a.__decorate([o.Input(),a.__metadata("design:type",Array),a.__metadata("design:paramtypes",[Array])],e.prototype,"messages",null),a.__decorate([o.Input(),a.__metadata("design:type",l.AttachmentTemplateDirective)],e.prototype,"attachmentTemplate",void 0),a.__decorate([o.Input(),a.__metadata("design:type",u.MessageTemplateDirective)],e.prototype,"messageTemplate",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Object)],e.prototype,"user",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"executeAction",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"navigate",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"resize",void 0),a.__decorate([o.ViewChildren(i.ChatItem),a.__metadata("design:type",o.QueryList)],e.prototype,"items",void 0),a.__decorate([o.HostBinding("class.k-message-list-content"),a.__metadata("design:type",Boolean)],e.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)],e.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)],e.prototype,"onBlur",null),e=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,d.IntlService])],e)}();t.MessageListComponent=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(){this.prevented=!1}return e.prototype.preventDefault=function(){this.prevented=!0},e.prototype.isDefaultPrevented=function(){return this.prevented},e}();t.PreventableEvent=a},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=n(1);t.isAuthor=function(e,t){return e&&t.author&&e.id===t.author.id};var o=function(e){return e[e.length-1]},s=function(e){return function(n,s,r){var i=r===e-1;return function(e,t){var n,a,s=t.timestamp,r=o(e);if(s&&(!r||(n=s,a=r.timestamp,n&&a&&(a.getDate()!==n.getDate()||a.getMonth()!==n.getMonth()||a.getFullYear()!==n.getFullYear())))){var i={type:"date-marker",timestamp:s,trackBy:s.getTime()};e.push(i)}}(n,s),function(e,n,s){var r,i=o(e);if(a.isDevMode()&&!n.author)throw new Error("Author must be set for message: "+JSON.stringify(n));n.typing&&!s||(i&&"message-group"===i.type&&(r=i.messages),r&&t.isAuthor(n.author,o(r))?r.push(n):e.push({type:"message-group",messages:[n],author:n.author,timestamp:n.timestamp,trackBy:n}))}(n,s,i),s.attachments&&s.attachments.length>1&&n.push({type:"attachment-group",attachments:s.attachments,attachmentLayout:s.attachmentLayout,timestamp:s.timestamp,trackBy:s}),s.suggestedActions&&i&&n.push({type:"action-group",actions:s.suggestedActions,timestamp:s.timestamp,trackBy:s}),n}};t.chatView=function(e){return e.reduce(s(e.length),[])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(){function e(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}return e.prototype.ngOnInit=function(){var e=this;this.zone.runOutsideAngular((function(){e.unsubscribe=e.renderer.listen(e.element.nativeElement,"scroll",(function(){return e.onScroll()}))}))},e.prototype.ngAfterViewInit=function(){this.scrollToBottom()},e.prototype.ngOnDestroy=function(){this.unsubscribe&&this.unsubscribe()},e.prototype.onScroll=function(){var e=this;if(!this.scrolling){var t=this.element.nativeElement,n=t.scrollTop+t.offsetHeight,a=t.scrollHeight-n<2;this.autoScroll!==a&&this.zone.run((function(){e.autoScroll=a,e.autoScrollChange.emit(e.autoScroll)}))}},e.prototype.scrollToBottom=function(){var e=this;if(this.autoScroll){var t=this.element.nativeElement;t.scrollTop=t.scrollHeight-t.clientHeight,this.scrolling=!0,this.zone.runOutsideAngular((function(){return setTimeout((function(){return e.scrolling=!1}),1e3)}))}},a.__decorate([o.Input(),a.__metadata("design:type",Boolean)],e.prototype,"autoScroll",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"autoScrollChange",void 0),a.__decorate([o.HostBinding("style.overflow-anchor"),a.__metadata("design:type",String)],e.prototype,"overflowAnchor",void 0),e=a.__decorate([o.Directive({selector:"[kendoChatScrollAnchor]",exportAs:"scrollAnchor"}),a.__metadata("design:paramtypes",[o.ElementRef,o.NgZone,o.Renderer2])],e)}();t.ScrollAnchorDirective=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(5),r=function(e){function t(){var t,n=null!==e&&e.apply(this,arguments)||this;return n.dispatch=new o.EventEmitter,n.defaultClass=!0,n.selectedIndex=0,n.keyHandlers=((t={})[37]=function(e){return n.navigateTo(e,-1)},t[39]=function(e){return n.navigateTo(e,1)},t[13]=function(e,t){return n.actionClick(t)},t),n}var n;return a.__extends(t,e),n=t,t.prototype.isSelected=function(e){return this.selected&&this.selectedIndex===e},t.prototype.actionClick=function(e){this.dispatch.next(e)},t.prototype.actionKeydown=function(e,t){var n=this.keyHandlers[e.keyCode];n&&n(e,t)},t.prototype.focus=function(){this.select(this.selectedIndex)},t.prototype.select=function(e){this.selectedIndex=e;var t=this.items.toArray()[e];t&&t.nativeElement.focus()},t.prototype.navigateTo=function(e,t){var n=this.selectedIndex,a=Math.max(0,Math.min(n+t,this.items.length-1));a!==n&&(this.select(a),e.preventDefault())},a.__decorate([o.Input(),a.__metadata("design:type",Array)],t.prototype,"actions",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Boolean)],t.prototype,"tabbable",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],t.prototype,"dispatch",void 0),a.__decorate([o.HostBinding("class.k-quick-replies"),a.__metadata("design:type",Boolean)],t.prototype,"defaultClass",void 0),a.__decorate([o.ViewChildren("item"),a.__metadata("design:type",o.QueryList)],t.prototype,"items",void 0),t=n=a.__decorate([o.Component({selector:"kendo-chat-suggested-actions",providers:[{provide:s.ChatItem,useExisting:o.forwardRef((function(){return n}))}],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 '})],t)}(s.ChatItem);t.SuggestedActionsComponent=r}])}));
|
|
5
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-intl"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-buttons"),require("@angular/common"),require("@progress/kendo-angular-common"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define(["tslib","@angular/core","@progress/kendo-angular-l10n","@progress/kendo-angular-intl","@progress/kendo-licensing","@progress/kendo-angular-buttons","@angular/common","@progress/kendo-angular-common","rxjs","rxjs/operators"],t):"object"==typeof exports?exports.KendoAngularConversationalUi=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-intl"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-buttons"),require("@angular/common"),require("@progress/kendo-angular-common"),require("rxjs"),require("rxjs/operators")):e.KendoAngularConversationalUi=t(e.tslib,e["@angular/core"],e["@progress/kendo-angular-l10n"],e["@progress/kendo-angular-intl"],e["@progress/kendo-licensing"],e["@progress/kendo-angular-buttons"],e["@angular/common"],e["@progress/kendo-angular-common"],e.rxjs,e["rxjs/operators"])}(window,(function(e,t,n,a,o,s,r,i,c,l){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(a,o,function(t){return e[t]}.bind(null,o));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=11)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(12);t.ChatComponent=a.ChatComponent;var o=n(7);t.AttachmentTemplateDirective=o.AttachmentTemplateDirective;var s=n(4);t.MessageTemplateDirective=s.MessageTemplateDirective},function(e,t){e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(){function e(e){this.templateRef=e}return e=a.__decorate([o.Directive({selector:"[kendoChatMessageTemplate]"}),a.__param(0,o.Optional()),a.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.MessageTemplateDirective=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){};t.ChatItem=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){this.message=e};t.SendMessageEvent=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(){function e(e){this.templateRef=e}return e=a.__decorate([o.Directive({selector:"[kendoChatAttachmentTemplate]"}),a.__param(0,o.Optional()),a.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.AttachmentTemplateDirective=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a.__extends(t,e),a.__decorate([o.Input(),a.__metadata("design:type",String)],t.prototype,"messagePlaceholder",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],t.prototype,"send",void 0),t}(n(3).ComponentMessages);t.Messages=s},function(e,t){e.exports=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=function(e){function t(t,n){var a=e.call(this)||this;return a.action=t,a.message=n,a}return a.__extends(t,e),t}(n(30).PreventableEvent);t.ExecuteActionEvent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0);a.__exportStar(n(2),t),a.__exportStar(n(16),t),a.__exportStar(n(10),t),a.__exportStar(n(6),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(7),r=n(3),i=n(13),c=n(4),l=n(6),u=n(14),d=n(15),p=function(){function e(e,t){var n=this;this.localization=e,this.zone=t,this.sendMessage=new o.EventEmitter,this.executeAction=new o.EventEmitter,this.autoScroll=!0,u.validatePackage(d.packageMetadata),this.direction=e.rtl?"rtl":"ltr",this.localizationChangeSubscription=e.changes.subscribe((function(e){var t=e.rtl;n.direction=t?"rtl":"ltr"}))}return Object.defineProperty(e.prototype,"className",{get:function(){return"k-widget k-chat"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dirAttr",{get:function(){return this.direction},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(){var e=this;this.zone.runOutsideAngular((function(){return setTimeout((function(){e.messageList.nativeElement.style.flex="1 1 auto"}))}))},e.prototype.ngAfterViewInit=function(){if(o.isDevMode()&&!this.user)throw new Error("User must be set and have a valid id.")},e.prototype.ngOnDestroy=function(){this.localizationChangeSubscription&&this.localizationChangeSubscription.unsubscribe()},e.prototype.sendClick=function(){var e=this.messageInput.nativeElement,t=e.value;if(t){var n={author:this.user,text:t,timestamp:new Date};this.sendMessage.emit(new l.SendMessageEvent(n)),e.value=null,e.focus(),this.autoScroll=!0}},e.prototype.inputKeydown=function(e){13===e.keyCode&&this.sendClick()},e.prototype.dispatchAction=function(e){(this.executeAction.emit(e),e.isDefaultPrevented())||(i.makeHandler(e.action)(e.action,this),this.messageInput.nativeElement.focus())},e.prototype.textFor=function(e){return this.localization.get(e)},a.__decorate([o.Input(),a.__metadata("design:type",Array)],e.prototype,"messages",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Object)],e.prototype,"user",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"sendMessage",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"executeAction",void 0),a.__decorate([o.HostBinding("class"),a.__metadata("design:type",String),a.__metadata("design:paramtypes",[])],e.prototype,"className",null),a.__decorate([o.HostBinding("attr.dir"),a.__metadata("design:type",String),a.__metadata("design:paramtypes",[])],e.prototype,"dirAttr",null),a.__decorate([o.ContentChild(s.AttachmentTemplateDirective,{static:!1}),a.__metadata("design:type",s.AttachmentTemplateDirective)],e.prototype,"attachmentTemplate",void 0),a.__decorate([o.ContentChild(c.MessageTemplateDirective,{static:!1}),a.__metadata("design:type",c.MessageTemplateDirective)],e.prototype,"messageTemplate",void 0),a.__decorate([o.ViewChild("messageInput",{static:!0}),a.__metadata("design:type",o.ElementRef)],e.prototype,"messageInput",void 0),a.__decorate([o.ViewChild("messageList",{static:!0}),a.__metadata("design:type",o.ElementRef)],e.prototype,"messageList",void 0),e=a.__decorate([o.Component({providers:[r.LocalizationService,{provide:r.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",[r.LocalizationService,o.NgZone])],e)}();t.ChatComponent=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(6),o=function(){},s={reply:function(e,t){t.sendMessage.emit(new a.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]||o}},function(e,t){e.exports=o},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,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(17),s=n(2),r=n(18),i=n(19),c=n(20),l=n(21),u=n(22),d=n(23),p=n(24),m=n(25),g=n(28),f=n(29),_=n(1),h=n(33),v=n(34),y=[s.ChatComponent,l.CustomMessagesComponent,s.AttachmentTemplateDirective,s.MessageTemplateDirective,d.HeroCardComponent],k=[o.AttachmentComponent,u.FocusedStateDirective,p.LocalizedMessagesDirective,m.MessageAttachmentsComponent,g.MessageComponent,f.MessageListComponent,s.MessageTemplateDirective,h.ScrollAnchorDirective,v.SuggestedActionsComponent],b=function(){function e(){}return e=a.__decorate([_.NgModule({declarations:y.concat(k),exports:[y],imports:[r.ButtonModule,i.CommonModule,c.ResizeSensorModule]})],e)}();t.ChatModule=b},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(2),r=function(){function e(){}return Object.defineProperty(e.prototype,"attachment",{get:function(){return this._attachment},set:function(e){this._attachment=e,this.context={$implicit:this.attachment}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"image",{get:function(){return 0===this.contentType.indexOf("image/")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"unknown",{get:function(){return!this.image},enumerable:!0,configurable:!0}),Object.defineProperty(e.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])],e.prototype,"attachment",null),a.__decorate([o.Input(),a.__metadata("design:type",s.AttachmentTemplateDirective)],e.prototype,"template",void 0),e=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 '})],e)}();t.AttachmentComponent=r},function(e,t){e.exports=s},function(e,t){e.exports=r},function(e,t){e.exports=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(3),r=n(8),i=function(e){function t(t){var n=e.call(this)||this;return n.service=t,n}var n;return a.__extends(t,e),n=t,Object.defineProperty(t.prototype,"override",{get:function(){return!0},enumerable:!0,configurable:!0}),t=n=a.__decorate([o.Component({providers:[{provide:r.Messages,useExisting:o.forwardRef((function(){return n}))}],selector:"kendo-chat-messages",template:""}),a.__metadata("design:paramtypes",[s.LocalizationService])],t)}(r.Messages);t.CustomMessagesComponent=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(){function e(){this.focused=!1}return e.prototype.onFocus=function(){this.focused=!0},e.prototype.onBlur=function(){this.focused=!1},a.__decorate([o.HostBinding("class.k-state-focused"),a.__metadata("design:type",Boolean)],e.prototype,"focused",void 0),a.__decorate([o.HostListener("focusin"),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[]),a.__metadata("design:returntype",void 0)],e.prototype,"onFocus",null),a.__decorate([o.HostListener("focusout"),a.__metadata("design:type",Function),a.__metadata("design:paramtypes",[]),a.__metadata("design:returntype",void 0)],e.prototype,"onBlur",null),e=a.__decorate([o.Directive({selector:"[kendoChatFocusedState]"})],e)}();t.FocusedStateDirective=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(){function e(){this.cssClass=!0,this.executeAction=new o.EventEmitter}return e.prototype.onClick=function(e){this.executeAction.next(e)},a.__decorate([o.Input(),a.__metadata("design:type",String)],e.prototype,"imageUrl",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],e.prototype,"title",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],e.prototype,"subtitle",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Array)],e.prototype,"actions",void 0),a.__decorate([o.HostBinding("class.k-card"),a.__metadata("design:type",Boolean)],e.prototype,"cssClass",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"executeAction",void 0),e=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 '})],e)}();t.HeroCardComponent=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(3),r=n(8),i=function(e){function t(t){var n=e.call(this)||this;return n.service=t,n}var n;return a.__extends(t,e),n=t,t=n=a.__decorate([o.Directive({providers:[{provide:r.Messages,useExisting:o.forwardRef((function(){return n}))}],selector:"[kendoChatLocalizedMessages]"}),a.__metadata("design:paramtypes",[s.LocalizationService])],t)}(r.Messages);t.LocalizedMessagesDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(26),r=n(27),i=n(5),c=n(2),l=function(e){function t(t){var n,a,o=e.call(this)||this;return o.zone=t,o.scrollPosition=0,o.selectedIndex=0,o.carouselKeyHandlers=((n={})[37]=function(e){return o.navigateTo(e,-1)},n[39]=function(e){return o.navigateTo(e,1)},n),o.listKeyHandlers=((a={})[38]=function(e){return o.navigateTo(e,-1)},a[40]=function(e){return o.navigateTo(e,1)},a),o}var n;return a.__extends(t,e),n=t,Object.defineProperty(t.prototype,"carousel",{get:function(){return"list"!==this.layout},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){var e=this;this.zone.runOutsideAngular((function(){e.scrollSubscription=s.fromEvent(e.deck.nativeElement,"scroll").pipe(r.debounceTime(100)).subscribe((function(){return e.onScroll()}))}))},t.prototype.ngOnDestroy=function(){this.scrollSubscription.unsubscribe()},t.prototype.isSelected=function(e){return this.selectedIndex===e},t.prototype.itemKeydown=function(e,t){var n=("list"===this.layout?this.listKeyHandlers:this.carouselKeyHandlers)[e.keyCode];n&&n(e,t)},t.prototype.itemClick=function(e){this.select(e)},t.prototype.focus=function(){this.select(this.selectedIndex)},t.prototype.scrollTo=function(e){var t=this.deck.nativeElement,n=t.scrollWidth/this.items.length,a=t.scrollWidth-t.offsetWidth,o=t.scrollLeft+n*e;t.scrollLeft=Math.max(0,Math.min(a,o))},t.prototype.select=function(e){this.selectedIndex=e;var t=this.items.toArray()[e];t&&t.nativeElement.focus()},t.prototype.navigateTo=function(e,t){var n=this.selectedIndex,a=Math.max(0,Math.min(n+t,this.items.length-1));a!==n&&(this.select(a),e.preventDefault())},t.prototype.onScroll=function(){var e=this,t=this.deck.nativeElement;if(0!==t.scrollWidth){var n=t.scrollLeft/(t.scrollWidth-t.offsetWidth);n!==this.scrollPosition&&this.zone.run((function(){e.scrollPosition=n}))}},a.__decorate([o.Input(),a.__metadata("design:type",Array)],t.prototype,"attachments",void 0),a.__decorate([o.Input(),a.__metadata("design:type",String)],t.prototype,"layout",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Boolean)],t.prototype,"tabbable",void 0),a.__decorate([o.Input(),a.__metadata("design:type",c.AttachmentTemplateDirective)],t.prototype,"template",void 0),a.__decorate([o.HostBinding("class.k-card-deck-scrollwrap"),a.__metadata("design:type",Boolean),a.__metadata("design:paramtypes",[])],t.prototype,"carousel",null),a.__decorate([o.ViewChild("deck",{read:o.ElementRef,static:!0}),a.__metadata("design:type",o.ElementRef)],t.prototype,"deck",void 0),a.__decorate([o.ViewChildren("item",{read:o.ElementRef}),a.__metadata("design:type",o.QueryList)],t.prototype,"items",void 0),t=n=a.__decorate([o.Component({providers:[{provide:i.ChatItem,useExisting:o.forwardRef((function(){return n}))}],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 '}),a.__metadata("design:paramtypes",[o.NgZone])],t)}(i.ChatItem);t.MessageAttachmentsComponent=l},function(e,t){e.exports=c},function(e,t){e.exports=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(5),r=n(4),i=n(9),c=function(e){function t(t,n){var a=e.call(this)||this;return a.element=t,a.intl=n,a.cssClass=!0,a}var n;return a.__extends(t,e),n=t,Object.defineProperty(t.prototype,"tabIndex",{get:function(){return this.tabbable?"0":"-1"},enumerable:!0,configurable:!0}),t.prototype.formatTimeStamp=function(e){return this.intl.formatDate(e,{datetime:"short"})},t.prototype.focus=function(){this.element.nativeElement.focus()},a.__decorate([o.Input(),a.__metadata("design:type",Object)],t.prototype,"message",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Boolean)],t.prototype,"tabbable",void 0),a.__decorate([o.Input(),a.__metadata("design:type",r.MessageTemplateDirective)],t.prototype,"template",void 0),a.__decorate([o.HostBinding("class.k-message"),a.__metadata("design:type",Boolean)],t.prototype,"cssClass",void 0),a.__decorate([o.HostBinding("class.k-state-selected"),o.HostBinding("class.k-state-focused"),a.__metadata("design:type",Boolean)],t.prototype,"selected",void 0),a.__decorate([o.HostBinding("attr.tabIndex"),a.__metadata("design:type",String),a.__metadata("design:paramtypes",[])],t.prototype,"tabIndex",null),t=n=a.__decorate([o.Component({selector:"kendo-chat-message",providers:[{provide:s.ChatItem,useExisting:o.forwardRef((function(){return n}))}],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 '}),a.__metadata("design:paramtypes",[o.ElementRef,i.IntlService])],t)}(s.ChatItem);t.MessageComponent=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(10),r=n(31),i=n(5),c=n(32),l=n(2),u=n(4),d=n(9),p=function(){function e(e,t){var n,a=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=((n={})[38]=function(e){return a.navigateTo(e,-1)},n[40]=function(e){return a.navigateTo(e,1)},n)}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._messages},set:function(e){var t=e||[];this.view=c.chatView(t),this._messages=t},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.selectedItem=this.items.last},e.prototype.onResize=function(){this.resize.emit()},e.prototype.formatTimeStamp=function(e){return this.intl.formatDate(e,{date:"full"})},e.prototype.onKeydown=function(e){var t=this.keyActions[e.keyCode];t&&t(e)},e.prototype.onBlur=function(e){var t=this,n=e.relatedTarget||document.activeElement;!r.closest(n,(function(e){return e===t.element.nativeElement}))&&this.select(null)},e.prototype.isOwnMessage=function(e){return c.isAuthor(this.user,e)},e.prototype.dispatchAction=function(e,t){var n=new s.ExecuteActionEvent(e,t);this.executeAction.emit(n)},e.prototype.trackGroup=function(e,t){return t.trackBy},e.prototype.select=function(e){var t=this.selectedItem;t&&(t.selected=!1),e&&(e.selected=!0,this.selectedItem=e)},e.prototype.last=function(e){if(e&&0!==e.length)return e[e.length-1]},e.prototype.navigateTo=function(e,t){var n=this.items.toArray(),a=this.selectedItem,o=n.indexOf(a),s=n[Math.max(0,Math.min(o+t,this.items.length-1))];s!==a&&(this.select(s),s.focus(),this.navigate.emit(),e.preventDefault())},a.__decorate([o.Input(),a.__metadata("design:type",Array),a.__metadata("design:paramtypes",[Array])],e.prototype,"messages",null),a.__decorate([o.Input(),a.__metadata("design:type",l.AttachmentTemplateDirective)],e.prototype,"attachmentTemplate",void 0),a.__decorate([o.Input(),a.__metadata("design:type",u.MessageTemplateDirective)],e.prototype,"messageTemplate",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Object)],e.prototype,"user",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"executeAction",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"navigate",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"resize",void 0),a.__decorate([o.ViewChildren(i.ChatItem),a.__metadata("design:type",o.QueryList)],e.prototype,"items",void 0),a.__decorate([o.HostBinding("class.k-message-list-content"),a.__metadata("design:type",Boolean)],e.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)],e.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)],e.prototype,"onBlur",null),e=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,d.IntlService])],e)}();t.MessageListComponent=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(){this.prevented=!1}return e.prototype.preventDefault=function(){this.prevented=!0},e.prototype.isDefaultPrevented=function(){return this.prevented},e}();t.PreventableEvent=a},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=n(1);t.isAuthor=function(e,t){return e&&t.author&&e.id===t.author.id};var o=function(e){return e[e.length-1]},s=function(e){return function(n,s,r){var i=r===e-1;return function(e,t){var n,a,s=t.timestamp,r=o(e);if(s&&(!r||(n=s,a=r.timestamp,n&&a&&(a.getDate()!==n.getDate()||a.getMonth()!==n.getMonth()||a.getFullYear()!==n.getFullYear())))){var i={type:"date-marker",timestamp:s,trackBy:s.getTime()};e.push(i)}}(n,s),function(e,n,s){var r,i=o(e);if(a.isDevMode()&&!n.author)throw new Error("Author must be set for message: "+JSON.stringify(n));n.typing&&!s||(i&&"message-group"===i.type&&(r=i.messages),r&&t.isAuthor(n.author,o(r))?r.push(n):e.push({type:"message-group",messages:[n],author:n.author,timestamp:n.timestamp,trackBy:n}))}(n,s,i),s.attachments&&s.attachments.length>1&&n.push({type:"attachment-group",attachments:s.attachments,attachmentLayout:s.attachmentLayout,timestamp:s.timestamp,trackBy:s}),s.suggestedActions&&i&&n.push({type:"action-group",actions:s.suggestedActions,timestamp:s.timestamp,trackBy:s}),n}};t.chatView=function(e){return e.reduce(s(e.length),[])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=function(){function e(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}return e.prototype.ngOnInit=function(){var e=this;this.zone.runOutsideAngular((function(){e.unsubscribe=e.renderer.listen(e.element.nativeElement,"scroll",(function(){return e.onScroll()}))}))},e.prototype.ngAfterViewInit=function(){this.scrollToBottom()},e.prototype.ngOnDestroy=function(){this.unsubscribe&&this.unsubscribe()},e.prototype.onScroll=function(){var e=this;if(!this.scrolling){var t=this.element.nativeElement,n=t.scrollTop+t.offsetHeight,a=t.scrollHeight-n<2;this.autoScroll!==a&&this.zone.run((function(){e.autoScroll=a,e.autoScrollChange.emit(e.autoScroll)}))}},e.prototype.scrollToBottom=function(){var e=this;if(this.autoScroll){var t=this.element.nativeElement;t.scrollTop=t.scrollHeight-t.clientHeight,this.scrolling=!0,this.zone.runOutsideAngular((function(){return setTimeout((function(){return e.scrolling=!1}),1e3)}))}},a.__decorate([o.Input(),a.__metadata("design:type",Boolean)],e.prototype,"autoScroll",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],e.prototype,"autoScrollChange",void 0),a.__decorate([o.HostBinding("style.overflow-anchor"),a.__metadata("design:type",String)],e.prototype,"overflowAnchor",void 0),e=a.__decorate([o.Directive({selector:"[kendoChatScrollAnchor]",exportAs:"scrollAnchor"}),a.__metadata("design:paramtypes",[o.ElementRef,o.NgZone,o.Renderer2])],e)}();t.ScrollAnchorDirective=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(1),s=n(5),r=function(e){function t(){var t,n=null!==e&&e.apply(this,arguments)||this;return n.dispatch=new o.EventEmitter,n.defaultClass=!0,n.selectedIndex=0,n.keyHandlers=((t={})[37]=function(e){return n.navigateTo(e,-1)},t[39]=function(e){return n.navigateTo(e,1)},t[13]=function(e,t){return n.actionClick(t)},t),n}var n;return a.__extends(t,e),n=t,t.prototype.isSelected=function(e){return this.selected&&this.selectedIndex===e},t.prototype.actionClick=function(e){this.dispatch.next(e)},t.prototype.actionKeydown=function(e,t){var n=this.keyHandlers[e.keyCode];n&&n(e,t)},t.prototype.focus=function(){this.select(this.selectedIndex)},t.prototype.select=function(e){this.selectedIndex=e;var t=this.items.toArray()[e];t&&t.nativeElement.focus()},t.prototype.navigateTo=function(e,t){var n=this.selectedIndex,a=Math.max(0,Math.min(n+t,this.items.length-1));a!==n&&(this.select(a),e.preventDefault())},a.__decorate([o.Input(),a.__metadata("design:type",Array)],t.prototype,"actions",void 0),a.__decorate([o.Input(),a.__metadata("design:type",Boolean)],t.prototype,"tabbable",void 0),a.__decorate([o.Output(),a.__metadata("design:type",o.EventEmitter)],t.prototype,"dispatch",void 0),a.__decorate([o.HostBinding("class.k-quick-replies"),a.__metadata("design:type",Boolean)],t.prototype,"defaultClass",void 0),a.__decorate([o.ViewChildren("item"),a.__metadata("design:type",o.QueryList)],t.prototype,"items",void 0),t=n=a.__decorate([o.Component({selector:"kendo-chat-suggested-actions",providers:[{provide:s.ChatItem,useExisting:o.forwardRef((function(){return n}))}],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 '})],t)}(s.ChatItem);t.SuggestedActionsComponent=r}])}));
|
|
@@ -46,7 +46,7 @@ var HeroCardComponent = /** @class */ (function () {
|
|
|
46
46
|
HeroCardComponent = tslib_1.__decorate([
|
|
47
47
|
Component({
|
|
48
48
|
selector: 'kendo-chat-hero-card',
|
|
49
|
-
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
|
|
49
|
+
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 "
|
|
50
50
|
})
|
|
51
51
|
], HeroCardComponent);
|
|
52
52
|
return HeroCardComponent;
|
|
@@ -183,7 +183,7 @@ var ChatComponent = /** @class */ (function () {
|
|
|
183
183
|
}
|
|
184
184
|
],
|
|
185
185
|
selector: 'kendo-chat',
|
|
186
|
-
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
|
|
186
|
+
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 "
|
|
187
187
|
}),
|
|
188
188
|
tslib_1.__metadata("design:paramtypes", [LocalizationService,
|
|
189
189
|
NgZone])
|
|
@@ -139,7 +139,7 @@ var MessageAttachmentsComponent = /** @class */ (function (_super) {
|
|
|
139
139
|
useExisting: forwardRef(function () { return MessageAttachmentsComponent_1; })
|
|
140
140
|
}],
|
|
141
141
|
selector: 'kendo-chat-message-attachments',
|
|
142
|
-
template: "\n <button\n *ngIf=\"carousel && scrollPosition > 0\"\n (click)=\"scrollTo(-1)\"\n class=\"k-button k-button-
|
|
142
|
+
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 "
|
|
143
143
|
}),
|
|
144
144
|
tslib_1.__metadata("design:paramtypes", [NgZone])
|
|
145
145
|
], MessageAttachmentsComponent);
|
|
@@ -9,7 +9,7 @@ export var packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-conversational-ui',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1642091336,
|
|
13
13
|
version: '',
|
|
14
14
|
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'
|
|
15
15
|
};
|
|
@@ -134,9 +134,9 @@ MessageAttachmentsComponent = MessageAttachmentsComponent_1 = tslib_1.__decorate
|
|
|
134
134
|
<button
|
|
135
135
|
*ngIf="carousel && scrollPosition > 0"
|
|
136
136
|
(click)="scrollTo(-1)"
|
|
137
|
-
class="k-button k-button-
|
|
137
|
+
class="k-button k-icon-button k-button-md k-rounded-md k-button-solid k-button-solid-base"
|
|
138
138
|
tabindex="-1">
|
|
139
|
-
<span class="k-icon k-i-arrow-chevron-left"></span>
|
|
139
|
+
<span class="k-icon k-button-icon k-i-arrow-chevron-left"></span>
|
|
140
140
|
</button>
|
|
141
141
|
<div #deck [class.k-card-deck]="carousel">
|
|
142
142
|
<kendo-chat-attachment #item
|
|
@@ -157,9 +157,9 @@ MessageAttachmentsComponent = MessageAttachmentsComponent_1 = tslib_1.__decorate
|
|
|
157
157
|
<button
|
|
158
158
|
*ngIf="carousel && scrollPosition < 1"
|
|
159
159
|
(click)="scrollTo(1)"
|
|
160
|
-
class="k-button k-button-
|
|
160
|
+
class="k-button k-icon-button k-button-md k-rounded-md k-button-solid k-button-solid-base"
|
|
161
161
|
tabindex="-1">
|
|
162
|
-
<span class="k-icon k-i-arrow-chevron-right"></span>
|
|
162
|
+
<span class="k-icon k-button-icon k-i-arrow-chevron-right"></span>
|
|
163
163
|
</button>
|
|
164
164
|
`
|
|
165
165
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"ChatComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":43,"character":4},{"provide":{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"L10N_PREFIX","line":45,"character":15},"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 "}]}],"members":{"messages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":107,"character":3}}]}],"user":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":114,"character":3}}]}],"sendMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":123,"character":3}}]}],"executeAction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":133,"character":3}}]}],"className":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":136,"character":3},"arguments":["class"]}]}],"dirAttr":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":141,"character":3},"arguments":["attr.dir"]}]}],"attachmentTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":146,"character":3},"arguments":[{"__symbolic":"reference","name":"AttachmentTemplateDirective"},{"static":false}]}]}],"messageTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":149,"character":3},"arguments":[{"__symbolic":"reference","name":"MessageTemplateDirective"},{"static":false}]}]}],"messageInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":155,"character":3},"arguments":["messageInput",{"static":true}]}]}],"messageList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":161,"character":3},"arguments":["messageList",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":172,"character":36},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":173,"character":28}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"sendClick":[{"__symbolic":"method"}],"inputKeydown":[{"__symbolic":"method"}],"dispatchAction":[{"__symbolic":"method"}],"textFor":[{"__symbolic":"method"}]}},"AttachmentTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":14,"character":1},"arguments":[{"selector":"[kendoChatAttachmentTemplate]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":18,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"MessageTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":14,"character":1},"arguments":[{"selector":"[kendoChatMessageTemplate]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":18,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"ChatModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":57,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ChatComponent"},{"__symbolic":"reference","name":"CustomMessagesComponent"},{"__symbolic":"reference","name":"AttachmentTemplateDirective"},{"__symbolic":"reference","name":"MessageTemplateDirective"},{"__symbolic":"reference","name":"HeroCardComponent"},{"__symbolic":"reference","name":"AttachmentComponent"},{"__symbolic":"reference","name":"FocusedStateDirective"},{"__symbolic":"reference","name":"LocalizedMessagesDirective"},{"__symbolic":"reference","name":"MessageAttachmentsComponent"},{"__symbolic":"reference","name":"MessageComponent"},{"__symbolic":"reference","name":"MessageListComponent"},{"__symbolic":"reference","name":"MessageTemplateDirective"},{"__symbolic":"reference","name":"ScrollAnchorDirective"},{"__symbolic":"reference","name":"SuggestedActionsComponent"}],"exports":[[{"__symbolic":"reference","name":"ChatComponent"},{"__symbolic":"reference","name":"CustomMessagesComponent"},{"__symbolic":"reference","name":"AttachmentTemplateDirective"},{"__symbolic":"reference","name":"MessageTemplateDirective"},{"__symbolic":"reference","name":"HeroCardComponent"}]],"imports":[{"__symbolic":"reference","module":"@progress/kendo-angular-buttons","name":"ButtonModule","line":64,"character":6},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":65,"character":6},{"__symbolic":"reference","module":"@progress/kendo-angular-common","name":"ResizeSensorModule","line":66,"character":6}]}]}],"members":{}},"ActionType":{"__symbolic":"interface"},"Action":{"__symbolic":"interface"},"Attachment":{"__symbolic":"interface"},"AttachmentLayout":{"__symbolic":"interface"},"ExecuteActionEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"PreventableEvent"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Action"},{"__symbolic":"reference","name":"Message"}]}]}},"Message":{"__symbolic":"interface"},"User":{"__symbolic":"interface"},"SendMessageEvent":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Message"}]}]}},"CustomMessagesComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Messages"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","name":"Messages"},"useExisting":{"__symbolic":"reference","name":"CustomMessagesComponent"}}],"selector":"kendo-chat-messages","template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":21,"character":35}]}]}},"Messages":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"ComponentMessages","line":6,"character":30},"members":{"messagePlaceholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5}}]}],"send":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}}]}]}},"HeroCardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"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 "}]}],"members":{"imageUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"subtitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"actions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"cssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":64,"character":3},"arguments":["class.k-card"]}]}],"executeAction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":70,"character":3}}]}],"onClick":[{"__symbolic":"method"}]}},"AttachmentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"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 "}]}],"members":{"attachment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}]}},"FocusedStateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[kendoChatFocusedState]"}]}],"members":{"focused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":9,"character":3},"arguments":["class.k-state-focused"]}]}],"onFocus":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["focusin"]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["focusout"]}]}]}},"LocalizedMessagesDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Messages"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":9,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","name":"Messages"},"useExisting":{"__symbolic":"reference","name":"LocalizedMessagesDirective"}}],"selector":"[kendoChatLocalizedMessages]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":19,"character":35}]}]}},"MessageAttachmentsComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ChatItem"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","name":"ChatItem"},"useExisting":{"__symbolic":"reference","name":"MessageAttachmentsComponent"}}],"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 "}]}],"members":{"attachments":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"tabbable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"carousel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":78,"character":3},"arguments":["class.k-card-deck-scrollwrap"]}]}],"deck":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":83,"character":3},"arguments":["deck",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":83,"character":29},"static":true}]}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":86,"character":3},"arguments":["item",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":86,"character":32}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":103,"character":28}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"itemKeydown":[{"__symbolic":"method"}],"itemClick":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"scrollTo":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}],"onScroll":[{"__symbolic":"method"}]}},"ChatItem":{"__symbolic":"class","members":{"focus":[{"__symbolic":"method"}]}},"MessageComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ChatItem"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"kendo-chat-message","providers":[{"provide":{"__symbolic":"reference","name":"ChatItem"},"useExisting":{"__symbolic":"reference","name":"MessageComponent"}}],"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 "}]}],"members":{"message":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"tabbable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"cssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":74,"character":3},"arguments":["class.k-message"]}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":77,"character":3},"arguments":["class.k-state-selected"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":78,"character":3},"arguments":["class.k-state-focused"]}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":81,"character":3},"arguments":["attr.tabIndex"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":86,"character":32},{"__symbolic":"reference","module":"@progress/kendo-angular-intl","name":"IntlService","line":86,"character":58}]}],"formatTimeStamp":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}]}},"MessageListComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"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 "}]}],"members":{"messages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":103,"character":3}}]}],"attachmentTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":114,"character":3}}]}],"messageTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":117,"character":3}}]}],"user":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":3}}]}],"executeAction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":123,"character":3}}]}],"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":126,"character":3}}]}],"resize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":129,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":132,"character":3},"arguments":[{"__symbolic":"reference","name":"ChatItem"}]}]}],"cssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":135,"character":3},"arguments":["class.k-message-list-content"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":146,"character":31},{"__symbolic":"reference","module":"@progress/kendo-angular-intl","name":"IntlService","line":146,"character":57}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"onResize":[{"__symbolic":"method"}],"formatTimeStamp":[{"__symbolic":"method"}],"onKeydown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":161,"character":3},"arguments":["keydown",["$event"]]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":169,"character":3},"arguments":["focusout",["$event"]]}]}],"isOwnMessage":[{"__symbolic":"method"}],"dispatchAction":[{"__symbolic":"method"}],"trackGroup":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"last":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]}},"ScrollAnchorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":20,"character":1},"arguments":[{"selector":"[kendoChatScrollAnchor]","exportAs":"scrollAnchor"}]}],"members":{"autoScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"autoScrollChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"overflowAnchor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":31,"character":3},"arguments":["style.overflow-anchor"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":38,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":39,"character":18},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":40,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onScroll":[{"__symbolic":"method"}],"scrollToBottom":[{"__symbolic":"method"}]}},"SuggestedActionsComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ChatItem"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"kendo-chat-suggested-actions","providers":[{"provide":{"__symbolic":"reference","name":"ChatItem"},"useExisting":{"__symbolic":"reference","name":"SuggestedActionsComponent"}}],"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 "}]}],"members":{"actions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"tabbable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"dispatch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":3}}]}],"defaultClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":53,"character":3},"arguments":["class.k-quick-replies"]}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":58,"character":3},"arguments":["item"]}]}],"isSelected":[{"__symbolic":"method"}],"actionClick":[{"__symbolic":"method"}],"actionKeydown":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]}},"PreventableEvent":{"__symbolic":"class","members":{"preventDefault":[{"__symbolic":"method"}],"isDefaultPrevented":[{"__symbolic":"method"}]}}},"origins":{"ChatComponent":"./chat/chat.component","AttachmentTemplateDirective":"./chat/attachment-template.directive","MessageTemplateDirective":"./chat/message-template.directive","ChatModule":"./chat/chat.module","ActionType":"./api/action.interface","Action":"./api/action.interface","Attachment":"./api/attachment.interface","AttachmentLayout":"./api/attachment.interface","ExecuteActionEvent":"./api/execute-action-event","Message":"./api/message.interface","User":"./api/user.interface","SendMessageEvent":"./api/post-message-event","CustomMessagesComponent":"./chat/l10n/custom-messages.component","Messages":"./chat/l10n/messages","HeroCardComponent":"./cards/hero-card.component","AttachmentComponent":"./chat/attachment.component","FocusedStateDirective":"./common/focused-state.directive","LocalizedMessagesDirective":"./chat/l10n/localized-messages.directive","MessageAttachmentsComponent":"./chat/message-attachments.component","ChatItem":"./chat/chat-item","MessageComponent":"./chat/message.component","MessageListComponent":"./chat/message-list.component","ScrollAnchorDirective":"./common/scroll-anchor.directive","SuggestedActionsComponent":"./chat/suggested-actions.component","PreventableEvent":"./api/preventable-event"},"importAs":"@progress/kendo-angular-conversational-ui"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"ChatComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":43,"character":4},{"provide":{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"L10N_PREFIX","line":45,"character":15},"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 "}]}],"members":{"messages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":107,"character":3}}]}],"user":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":114,"character":3}}]}],"sendMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":123,"character":3}}]}],"executeAction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":133,"character":3}}]}],"className":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":136,"character":3},"arguments":["class"]}]}],"dirAttr":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":141,"character":3},"arguments":["attr.dir"]}]}],"attachmentTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":146,"character":3},"arguments":[{"__symbolic":"reference","name":"AttachmentTemplateDirective"},{"static":false}]}]}],"messageTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":149,"character":3},"arguments":[{"__symbolic":"reference","name":"MessageTemplateDirective"},{"static":false}]}]}],"messageInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":155,"character":3},"arguments":["messageInput",{"static":true}]}]}],"messageList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":161,"character":3},"arguments":["messageList",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":172,"character":36},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":173,"character":28}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"sendClick":[{"__symbolic":"method"}],"inputKeydown":[{"__symbolic":"method"}],"dispatchAction":[{"__symbolic":"method"}],"textFor":[{"__symbolic":"method"}]}},"AttachmentTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":14,"character":1},"arguments":[{"selector":"[kendoChatAttachmentTemplate]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":18,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"MessageTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":14,"character":1},"arguments":[{"selector":"[kendoChatMessageTemplate]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":18,"character":15}}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"ChatModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":57,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ChatComponent"},{"__symbolic":"reference","name":"CustomMessagesComponent"},{"__symbolic":"reference","name":"AttachmentTemplateDirective"},{"__symbolic":"reference","name":"MessageTemplateDirective"},{"__symbolic":"reference","name":"HeroCardComponent"},{"__symbolic":"reference","name":"AttachmentComponent"},{"__symbolic":"reference","name":"FocusedStateDirective"},{"__symbolic":"reference","name":"LocalizedMessagesDirective"},{"__symbolic":"reference","name":"MessageAttachmentsComponent"},{"__symbolic":"reference","name":"MessageComponent"},{"__symbolic":"reference","name":"MessageListComponent"},{"__symbolic":"reference","name":"MessageTemplateDirective"},{"__symbolic":"reference","name":"ScrollAnchorDirective"},{"__symbolic":"reference","name":"SuggestedActionsComponent"}],"exports":[[{"__symbolic":"reference","name":"ChatComponent"},{"__symbolic":"reference","name":"CustomMessagesComponent"},{"__symbolic":"reference","name":"AttachmentTemplateDirective"},{"__symbolic":"reference","name":"MessageTemplateDirective"},{"__symbolic":"reference","name":"HeroCardComponent"}]],"imports":[{"__symbolic":"reference","module":"@progress/kendo-angular-buttons","name":"ButtonModule","line":64,"character":6},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":65,"character":6},{"__symbolic":"reference","module":"@progress/kendo-angular-common","name":"ResizeSensorModule","line":66,"character":6}]}]}],"members":{}},"ActionType":{"__symbolic":"interface"},"Action":{"__symbolic":"interface"},"Attachment":{"__symbolic":"interface"},"AttachmentLayout":{"__symbolic":"interface"},"ExecuteActionEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"PreventableEvent"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Action"},{"__symbolic":"reference","name":"Message"}]}]}},"Message":{"__symbolic":"interface"},"User":{"__symbolic":"interface"},"SendMessageEvent":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Message"}]}]}},"CustomMessagesComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Messages"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","name":"Messages"},"useExisting":{"__symbolic":"reference","name":"CustomMessagesComponent"}}],"selector":"kendo-chat-messages","template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":21,"character":35}]}]}},"Messages":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"ComponentMessages","line":6,"character":30},"members":{"messagePlaceholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5}}]}],"send":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}}]}]}},"HeroCardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"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 "}]}],"members":{"imageUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"subtitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"actions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"cssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":64,"character":3},"arguments":["class.k-card"]}]}],"executeAction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":70,"character":3}}]}],"onClick":[{"__symbolic":"method"}]}},"AttachmentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"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 "}]}],"members":{"attachment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}]}},"FocusedStateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[kendoChatFocusedState]"}]}],"members":{"focused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":9,"character":3},"arguments":["class.k-state-focused"]}]}],"onFocus":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["focusin"]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":17,"character":3},"arguments":["focusout"]}]}]}},"LocalizedMessagesDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Messages"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":9,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","name":"Messages"},"useExisting":{"__symbolic":"reference","name":"LocalizedMessagesDirective"}}],"selector":"[kendoChatLocalizedMessages]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService","line":19,"character":35}]}]}},"MessageAttachmentsComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ChatItem"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","name":"ChatItem"},"useExisting":{"__symbolic":"reference","name":"MessageAttachmentsComponent"}}],"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 "}]}],"members":{"attachments":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"tabbable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"carousel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":78,"character":3},"arguments":["class.k-card-deck-scrollwrap"]}]}],"deck":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":83,"character":3},"arguments":["deck",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":83,"character":29},"static":true}]}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":86,"character":3},"arguments":["item",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":86,"character":32}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":103,"character":28}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"itemKeydown":[{"__symbolic":"method"}],"itemClick":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"scrollTo":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}],"onScroll":[{"__symbolic":"method"}]}},"ChatItem":{"__symbolic":"class","members":{"focus":[{"__symbolic":"method"}]}},"MessageComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ChatItem"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"kendo-chat-message","providers":[{"provide":{"__symbolic":"reference","name":"ChatItem"},"useExisting":{"__symbolic":"reference","name":"MessageComponent"}}],"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 "}]}],"members":{"message":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"tabbable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"cssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":74,"character":3},"arguments":["class.k-message"]}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":77,"character":3},"arguments":["class.k-state-selected"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":78,"character":3},"arguments":["class.k-state-focused"]}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":81,"character":3},"arguments":["attr.tabIndex"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":86,"character":32},{"__symbolic":"reference","module":"@progress/kendo-angular-intl","name":"IntlService","line":86,"character":58}]}],"formatTimeStamp":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}]}},"MessageListComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"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 "}]}],"members":{"messages":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":103,"character":3}}]}],"attachmentTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":114,"character":3}}]}],"messageTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":117,"character":3}}]}],"user":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":3}}]}],"executeAction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":123,"character":3}}]}],"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":126,"character":3}}]}],"resize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":129,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":132,"character":3},"arguments":[{"__symbolic":"reference","name":"ChatItem"}]}]}],"cssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":135,"character":3},"arguments":["class.k-message-list-content"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":146,"character":31},{"__symbolic":"reference","module":"@progress/kendo-angular-intl","name":"IntlService","line":146,"character":57}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"onResize":[{"__symbolic":"method"}],"formatTimeStamp":[{"__symbolic":"method"}],"onKeydown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":161,"character":3},"arguments":["keydown",["$event"]]}]}],"onBlur":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":169,"character":3},"arguments":["focusout",["$event"]]}]}],"isOwnMessage":[{"__symbolic":"method"}],"dispatchAction":[{"__symbolic":"method"}],"trackGroup":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"last":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]}},"ScrollAnchorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":20,"character":1},"arguments":[{"selector":"[kendoChatScrollAnchor]","exportAs":"scrollAnchor"}]}],"members":{"autoScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"autoScrollChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"overflowAnchor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":31,"character":3},"arguments":["style.overflow-anchor"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":38,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":39,"character":18},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":40,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onScroll":[{"__symbolic":"method"}],"scrollToBottom":[{"__symbolic":"method"}]}},"SuggestedActionsComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ChatItem"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"kendo-chat-suggested-actions","providers":[{"provide":{"__symbolic":"reference","name":"ChatItem"},"useExisting":{"__symbolic":"reference","name":"SuggestedActionsComponent"}}],"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 "}]}],"members":{"actions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"tabbable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"dispatch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":3}}]}],"defaultClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":53,"character":3},"arguments":["class.k-quick-replies"]}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":58,"character":3},"arguments":["item"]}]}],"isSelected":[{"__symbolic":"method"}],"actionClick":[{"__symbolic":"method"}],"actionKeydown":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]}},"PreventableEvent":{"__symbolic":"class","members":{"preventDefault":[{"__symbolic":"method"}],"isDefaultPrevented":[{"__symbolic":"method"}]}}},"origins":{"ChatComponent":"./chat/chat.component","AttachmentTemplateDirective":"./chat/attachment-template.directive","MessageTemplateDirective":"./chat/message-template.directive","ChatModule":"./chat/chat.module","ActionType":"./api/action.interface","Action":"./api/action.interface","Attachment":"./api/attachment.interface","AttachmentLayout":"./api/attachment.interface","ExecuteActionEvent":"./api/execute-action-event","Message":"./api/message.interface","User":"./api/user.interface","SendMessageEvent":"./api/post-message-event","CustomMessagesComponent":"./chat/l10n/custom-messages.component","Messages":"./chat/l10n/messages","HeroCardComponent":"./cards/hero-card.component","AttachmentComponent":"./chat/attachment.component","FocusedStateDirective":"./common/focused-state.directive","LocalizedMessagesDirective":"./chat/l10n/localized-messages.directive","MessageAttachmentsComponent":"./chat/message-attachments.component","ChatItem":"./chat/chat-item","MessageComponent":"./chat/message.component","MessageListComponent":"./chat/message-list.component","ScrollAnchorDirective":"./common/scroll-anchor.directive","SuggestedActionsComponent":"./chat/suggested-actions.component","PreventableEvent":"./api/preventable-event"},"importAs":"@progress/kendo-angular-conversational-ui"}
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-conversational-ui',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1642091336,
|
|
13
13
|
version: '',
|
|
14
14
|
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'
|
|
15
15
|
};
|