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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/{dist/es2015/api → api}/action.interface.d.ts +0 -0
  2. package/{dist/es2015/api → api}/attachment.interface.d.ts +0 -0
  3. package/{dist/es2015/api → api}/execute-action-event.d.ts +1 -1
  4. package/{dist/es/api/user.interface.js → api/index.d.ts} +6 -0
  5. package/{dist/es2015/api → api}/message.interface.d.ts +0 -0
  6. package/{dist/es2015/api → api}/post-message-event.d.ts +0 -0
  7. package/{dist/es2015/api → api}/preventable-event.d.ts +0 -0
  8. package/{dist/es2015/api → api}/user.interface.d.ts +0 -0
  9. package/bundles/kendo-angular-conversational-ui.umd.js +5 -0
  10. package/{dist/es2015/cards → cards}/hero-card.component.d.ts +3 -0
  11. package/{dist/es2015/chat → chat}/attachment-template.directive.d.ts +3 -0
  12. package/{dist/es2015/chat → chat}/attachment.component.d.ts +9 -5
  13. package/{dist/es2015/chat → chat}/builtin-actions.d.ts +0 -0
  14. package/{dist/es2015/chat → chat}/chat-item.d.ts +0 -0
  15. package/{dist/es2015/chat → chat}/chat-view.d.ts +1 -1
  16. package/{dist/es2015/chat → chat}/chat.component.d.ts +7 -7
  17. package/{dist/es2015/chat → chat}/chat.directives.d.ts +0 -0
  18. package/chat/chat.module.d.ts +49 -0
  19. package/{dist/es2015/chat → chat}/l10n/custom-messages.component.d.ts +4 -1
  20. package/{dist/es2015/chat → chat}/l10n/localized-messages.directive.d.ts +3 -0
  21. package/{dist/es2015/chat → chat}/l10n/messages.d.ts +3 -0
  22. package/{dist/es2015/chat → chat}/message-attachments.component.d.ts +5 -2
  23. package/{dist/es2015/chat → chat}/message-box.component.d.ts +4 -1
  24. package/{dist/es2015/chat → chat}/message-box.directive.d.ts +3 -0
  25. package/{dist/es2015/chat → chat}/message-list.component.d.ts +9 -8
  26. package/{dist/es2015/chat → chat}/message-template.directive.d.ts +3 -0
  27. package/{dist/es2015/chat → chat}/message.component.d.ts +4 -1
  28. package/{dist/es2015/chat → chat}/suggested-actions.component.d.ts +4 -1
  29. package/common/focused-state.directive.d.ts +15 -0
  30. package/{dist/es2015/common → common}/keys.enum.d.ts +0 -0
  31. package/{dist/es2015/common → common}/models/message-box-options.d.ts +0 -0
  32. package/{dist/es2015/common → common}/scroll-anchor.directive.d.ts +3 -0
  33. package/{dist/es2015/common → common}/utils.d.ts +0 -0
  34. package/{dist/es2015 → esm2015}/api/action.interface.js +2 -1
  35. package/{dist/es2015 → esm2015}/api/attachment.interface.js +1 -0
  36. package/{dist/es2015 → esm2015}/api/execute-action-event.js +0 -0
  37. package/{dist/es/api/attachment.interface.js → esm2015/api/index.js} +6 -0
  38. package/{dist/es → esm2015}/api/message.interface.js +1 -0
  39. package/{dist/es2015 → esm2015}/api/post-message-event.js +0 -0
  40. package/{dist/es2015 → esm2015}/api/preventable-event.js +0 -0
  41. package/{dist/es2015 → esm2015}/api/user.interface.js +1 -0
  42. package/esm2015/cards/hero-card.component.js +90 -0
  43. package/{dist/es2015 → esm2015}/chat/attachment-template.directive.js +14 -12
  44. package/esm2015/chat/attachment.component.js +83 -0
  45. package/{dist/es2015 → esm2015}/chat/builtin-actions.js +13 -16
  46. package/{dist/es2015 → esm2015}/chat/chat-item.js +0 -0
  47. package/{dist/es2015 → esm2015}/chat/chat-view.js +0 -6
  48. package/esm2015/chat/chat.component.js +246 -0
  49. package/{dist/es → esm2015}/chat/chat.directives.js +0 -0
  50. package/{dist/es2015 → esm2015}/chat/chat.module.js +43 -15
  51. package/esm2015/chat/l10n/custom-messages.component.js +42 -0
  52. package/esm2015/chat/l10n/localized-messages.directive.js +37 -0
  53. package/esm2015/chat/l10n/messages.js +25 -0
  54. package/{dist/es2015 → esm2015}/chat/message-attachments.component.js +71 -48
  55. package/esm2015/chat/message-box.component.js +141 -0
  56. package/esm2015/chat/message-box.directive.js +24 -0
  57. package/esm2015/chat/message-list.component.js +279 -0
  58. package/{dist/es2015 → esm2015}/chat/message-template.directive.js +14 -12
  59. package/esm2015/chat/message.component.js +140 -0
  60. package/esm2015/chat/suggested-actions.component.js +113 -0
  61. package/esm2015/common/focused-state.directive.js +37 -0
  62. package/{dist/es2015 → esm2015}/common/keys.enum.js +1 -0
  63. package/{dist/es → esm2015}/common/models/message-box-options.js +1 -0
  64. package/{dist/es2015 → esm2015}/common/scroll-anchor.directive.js +20 -26
  65. package/{dist/es2015 → esm2015}/common/utils.js +0 -0
  66. package/{dist/es/api/action.interface.js → esm2015/kendo-angular-conversational-ui.js} +4 -1
  67. package/esm2015/main.js +10 -0
  68. package/{dist/es2015 → esm2015}/package-metadata.js +1 -1
  69. package/fesm2015/kendo-angular-conversational-ui.js +1757 -0
  70. package/{dist/es2015/common/focused-state.directive.d.ts → kendo-angular-conversational-ui.d.ts} +3 -6
  71. package/main.d.ts +11 -0
  72. package/{dist/es2015/package-metadata.d.ts → package-metadata.d.ts} +0 -0
  73. package/package.json +38 -107
  74. package/schematics/ngAdd/index.js +5 -2
  75. package/schematics/ngAdd/index.js.map +1 -1
  76. package/dist/cdn/js/kendo-angular-conversational-ui.js +0 -20
  77. package/dist/cdn/main.js +0 -5
  78. package/dist/es/api/execute-action-event.js +0 -24
  79. package/dist/es/api/post-message-event.js +0 -18
  80. package/dist/es/api/preventable-event.js +0 -32
  81. package/dist/es/cards/hero-card.component.js +0 -54
  82. package/dist/es/chat/attachment-template.directive.js +0 -32
  83. package/dist/es/chat/attachment.component.js +0 -65
  84. package/dist/es/chat/builtin-actions.js +0 -28
  85. package/dist/es/chat/chat-item.js +0 -13
  86. package/dist/es/chat/chat-view.js +0 -92
  87. package/dist/es/chat/chat.component.js +0 -190
  88. package/dist/es/chat/chat.module.js +0 -80
  89. package/dist/es/chat/l10n/custom-messages.component.js +0 -45
  90. package/dist/es/chat/l10n/localized-messages.directive.js +0 -36
  91. package/dist/es/chat/l10n/messages.js +0 -26
  92. package/dist/es/chat/message-attachments.component.js +0 -148
  93. package/dist/es/chat/message-box.component.js +0 -124
  94. package/dist/es/chat/message-box.directive.js +0 -24
  95. package/dist/es/chat/message-list.component.js +0 -165
  96. package/dist/es/chat/message-template.directive.js +0 -32
  97. package/dist/es/chat/message.component.js +0 -77
  98. package/dist/es/chat/suggested-actions.component.js +0 -91
  99. package/dist/es/common/focused-state.directive.js +0 -43
  100. package/dist/es/common/keys.enum.js +0 -4
  101. package/dist/es/common/scroll-anchor.directive.js +0 -87
  102. package/dist/es/common/utils.js +0 -13
  103. package/dist/es/index.js +0 -22
  104. package/dist/es/main.js +0 -8
  105. package/dist/es/package-metadata.js +0 -15
  106. package/dist/es2015/api/message.interface.js +0 -4
  107. package/dist/es2015/cards/hero-card.component.js +0 -79
  108. package/dist/es2015/chat/attachment.component.js +0 -66
  109. package/dist/es2015/chat/chat.component.js +0 -214
  110. package/dist/es2015/chat/chat.directives.js +0 -8
  111. package/dist/es2015/chat/chat.module.d.ts +0 -27
  112. package/dist/es2015/chat/l10n/custom-messages.component.js +0 -37
  113. package/dist/es2015/chat/l10n/localized-messages.directive.js +0 -32
  114. package/dist/es2015/chat/l10n/messages.js +0 -20
  115. package/dist/es2015/chat/message-box.component.js +0 -157
  116. package/dist/es2015/chat/message-box.directive.js +0 -23
  117. package/dist/es2015/chat/message-list.component.js +0 -227
  118. package/dist/es2015/chat/message.component.js +0 -107
  119. package/dist/es2015/chat/suggested-actions.component.js +0 -105
  120. package/dist/es2015/common/focused-state.directive.js +0 -45
  121. package/dist/es2015/common/models/message-box-options.js +0 -4
  122. package/dist/es2015/index.d.ts +0 -22
  123. package/dist/es2015/index.js +0 -22
  124. package/dist/es2015/index.metadata.json +0 -1
  125. package/dist/es2015/main.d.ts +0 -13
  126. package/dist/es2015/main.js +0 -8
  127. package/dist/fesm2015/index.js +0 -1554
  128. package/dist/fesm5/index.js +0 -1383
  129. package/dist/npm/api/action.interface.js +0 -7
  130. package/dist/npm/api/attachment.interface.js +0 -6
  131. package/dist/npm/api/execute-action-event.js +0 -26
  132. package/dist/npm/api/message.interface.js +0 -6
  133. package/dist/npm/api/post-message-event.js +0 -20
  134. package/dist/npm/api/preventable-event.js +0 -34
  135. package/dist/npm/api/user.interface.js +0 -6
  136. package/dist/npm/cards/hero-card.component.js +0 -56
  137. package/dist/npm/chat/attachment-template.directive.js +0 -34
  138. package/dist/npm/chat/attachment.component.js +0 -67
  139. package/dist/npm/chat/builtin-actions.js +0 -33
  140. package/dist/npm/chat/chat-item.js +0 -15
  141. package/dist/npm/chat/chat-view.js +0 -98
  142. package/dist/npm/chat/chat.component.js +0 -192
  143. package/dist/npm/chat/chat.directives.js +0 -14
  144. package/dist/npm/chat/chat.module.js +0 -82
  145. package/dist/npm/chat/l10n/custom-messages.component.js +0 -47
  146. package/dist/npm/chat/l10n/localized-messages.directive.js +0 -38
  147. package/dist/npm/chat/l10n/messages.js +0 -28
  148. package/dist/npm/chat/message-attachments.component.js +0 -150
  149. package/dist/npm/chat/message-box.component.js +0 -126
  150. package/dist/npm/chat/message-box.directive.js +0 -26
  151. package/dist/npm/chat/message-list.component.js +0 -167
  152. package/dist/npm/chat/message-template.directive.js +0 -34
  153. package/dist/npm/chat/message.component.js +0 -79
  154. package/dist/npm/chat/suggested-actions.component.js +0 -93
  155. package/dist/npm/common/focused-state.directive.js +0 -45
  156. package/dist/npm/common/keys.enum.js +0 -6
  157. package/dist/npm/common/models/message-box-options.js +0 -6
  158. package/dist/npm/common/scroll-anchor.directive.js +0 -89
  159. package/dist/npm/common/utils.js +0 -15
  160. package/dist/npm/index.js +0 -39
  161. package/dist/npm/main.js +0 -11
  162. package/dist/npm/package-metadata.js +0 -17
  163. package/dist/systemjs/kendo-angular-conversational-ui.js +0 -5
File without changes
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { PreventableEvent } from "./preventable-event";
6
- import { Action, Message } from "../main";
6
+ import { Action, Message } from "../api";
7
7
  /**
8
8
  * Arguments for the `executeAction` event. The `executeAction` event fires when the user clicks
9
9
  * a quick action button. Calling `preventDefault()` suppresses the built-in action handler.
@@ -2,3 +2,9 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ export * from './action.interface';
6
+ export * from './attachment.interface';
7
+ export * from './execute-action-event';
8
+ export * from './message.interface';
9
+ export * from './post-message-event';
10
+ export * from './user.interface';
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-intl"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@progress/kendo-angular-common"),require("@progress/kendo-angular-buttons")):"function"==typeof define&&define.amd?define("KendoAngularConversationalUi",["exports","@angular/core","@progress/kendo-angular-l10n","@progress/kendo-licensing","@progress/kendo-angular-intl","@angular/common","rxjs","rxjs/operators","@progress/kendo-angular-common","@progress/kendo-angular-buttons"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularConversationalUi={},e.ng.core,e.KendoAngularL10N,e.KendoLicensing,e.KendoAngularIntl,e.ng.common,e.rxjs,e.rxjs.operators,e.KendoAngularCommon,e.KendoAngularButtons)}(this,function(e,o,t,P,n,s,R,N,a,r){"use strict";function i(n){if(n&&n.__esModule)return n;var s=Object.create(null);return n&&Object.keys(n).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(n,e),Object.defineProperty(s,e,t.get?t:{enumerable:!0,get:function(){return n[e]}}))}),s.default=n,Object.freeze(s)}function L(){}var c=i(o),l=i(t),K=i(n),n=i(s),p=i(a),u=i(r),g=function(e){this.templateRef=e},j=(g.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:g,deps:[{token:c.TemplateRef,optional:!0}],target:c.ɵɵFactoryTarget.Directive}),g.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:g,selector:"[kendoChatAttachmentTemplate]",ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:g,decorators:[{type:o.Directive,args:[{selector:"[kendoChatAttachmentTemplate]"}]}],ctorParameters:function(){return[{type:c.TemplateRef,decorators:[{type:o.Optional}]}]}}),function(e){this.message=e}),U={reply:function(e,t){t.sendMessage.emit(new j({author:t.user,text:e.value,timestamp:new Date}))},call:function(e){window.open("tel:"+e.value)},openUrl:function(e){window.open(e.value)}},m=function(e){this.templateRef=e},H=(m.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,deps:[{token:c.TemplateRef,optional:!0}],target:c.ɵɵFactoryTarget.Directive}),m.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:m,selector:"[kendoChatMessageTemplate]",ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:m,decorators:[{type:o.Directive,args:[{selector:"[kendoChatMessageTemplate]"}]}],ctorParameters:function(){return[{type:c.TemplateRef,decorators:[{type:o.Optional}]}]}}),{name:"@progress/kendo-angular-conversational-ui",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1649865797,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"}),d=function(e){this.templateRef=e},$=(d.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:d,deps:[{token:c.TemplateRef}],target:c.ɵɵFactoryTarget.Directive}),d.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:d,selector:"[kendoChatMessageBoxTemplate]",ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:d,decorators:[{type:o.Directive,args:[{selector:"[kendoChatMessageBoxTemplate]"}]}],ctorParameters:function(){return[{type:c.TemplateRef}]}}),function(e,t){return($=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)});function h(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}$(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function _(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var s,a,o=n.call(e),r=[];try{for(;(void 0===t||0<t--)&&!(s=o.next()).done;)r.push(s.value)}catch(e){a={error:e}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return r}function q(e,t,n){if(n||2===arguments.length)for(var s,a=0,o=t.length;a<o;a++)!s&&a in t||((s=s||Array.prototype.slice.call(t,0,a))[a]=t[a]);return e.concat(s||Array.prototype.slice.call(t))}Object.create;function G(){this.prevented=!1}G.prototype.preventDefault=function(){this.prevented=!0},G.prototype.isDefaultPrevented=function(){return this.prevented};h(Q,W=G);var W,Z=Q;function Q(e,t){var n=W.call(this)||this;return n.action=e,n.message=t,n}function f(){}function X(e,t){return e&&t.author&&e.id===t.author.id}function Y(e){return e[e.length-1]}function J(e){return e.reduce((s=e.length,function(e,t,n){n=n===s-1;return te(e,t),ne(e,t,n),t.attachments&&1<t.attachments.length&&e.push({type:"attachment-group",attachments:t.attachments,attachmentLayout:t.attachmentLayout,timestamp:t.timestamp,trackBy:t}),t.suggestedActions&&n&&e.push({type:"action-group",actions:t.suggestedActions,timestamp:t.timestamp,trackBy:t}),e}),[]);var s}var ee,te=function(e,t){var n,t=t.timestamp,s=Y(e);!t||s&&(n=t,s=s.timestamp,!n||!s||s.getDate()===n.getDate()&&s.getMonth()===n.getMonth()&&s.getFullYear()===n.getFullYear())||(s={type:"date-marker",timestamp:t,trackBy:t.getTime()},e.push(s))},ne=function(e,t,n){var s,a=Y(e);if(o.isDevMode()&&!t.author)throw new Error("Author must be set for message: "+JSON.stringify(t));t.typing&&!n||((s=a&&"message-group"===a.type?a.messages:s)&&X(t.author,Y(s))?s.push(t):e.push({type:"message-group",messages:[t],author:t.author,timestamp:t.timestamp,trackBy:t}))},y=(h(k,ee=f),Object.defineProperty(k.prototype,"tabIndex",{get:function(){return this.tabbable?"0":"-1"},enumerable:!1,configurable:!0}),k.prototype.formatTimeStamp=function(e){return this.intl.formatDate(e,{datetime:"short"})},k.prototype.focus=function(){this.element.nativeElement.focus()},k);function k(e,t){var n=ee.call(this)||this;return n.element=e,n.intl=t,n.cssClass=!0,n}y.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:y,deps:[{token:c.ElementRef},{token:K.IntlService}],target:c.ɵɵFactoryTarget.Component}),y.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:y,selector:"kendo-chat-message",inputs:{message:"message",tabbable:"tabbable",template:"template"},host:{properties:{"class.k-message":"this.cssClass","class.k-state-selected":"this.selected","class.k-state-focused":"this.selected","attr.tabIndex":"this.tabIndex"}},providers:[{provide:f,useExisting:o.forwardRef(function(){return y})}],usesInheritance:!0,ngImport:c,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 ',isInline:!0,directives:[{type:n.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:n.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:y,decorators:[{type:o.Component,args:[{selector:"kendo-chat-message",providers:[{provide:f,useExisting:o.forwardRef(function(){return y})}],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 '}]}],ctorParameters:function(){return[{type:c.ElementRef},{type:K.IntlService}]},propDecorators:{message:[{type:o.Input}],tabbable:[{type:o.Input}],template:[{type:o.Input}],cssClass:[{type:o.HostBinding,args:["class.k-message"]}],selected:[{type:o.HostBinding,args:["class.k-state-selected"]},{type:o.HostBinding,args:["class.k-state-focused"]}],tabIndex:[{type:o.HostBinding,args:["attr.tabIndex"]}]}});Object.defineProperty(b.prototype,"attachment",{get:function(){return this._attachment},set:function(e){this._attachment=e,this.context={$implicit:this.attachment}},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"image",{get:function(){return 0===this.contentType.indexOf("image/")},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"unknown",{get:function(){return!this.image},enumerable:!1,configurable:!0}),Object.defineProperty(b.prototype,"contentType",{get:function(){return this.attachment.contentType||""},enumerable:!1,configurable:!0});var v=b;function b(){}v.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:v,deps:[],target:c.ɵɵFactoryTarget.Component}),v.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:v,selector:"kendo-chat-attachment",inputs:{attachment:"attachment",template:"template"},ngImport:c,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 ',isInline:!0,directives:[{type:n.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:n.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:v,decorators:[{type:o.Component,args:[{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 '}]}],propDecorators:{attachment:[{type:o.Input}],template:[{type:o.Input}]}});h(I,se=f),Object.defineProperty(I.prototype,"carousel",{get:function(){return"list"!==this.layout},enumerable:!1,configurable:!0}),I.prototype.ngAfterViewInit=function(){var e=this;this.zone.runOutsideAngular(function(){e.scrollSubscription=R.fromEvent(e.deck.nativeElement,"scroll").pipe(N.debounceTime(100)).subscribe(function(){return e.onScroll()})})},I.prototype.ngOnDestroy=function(){this.scrollSubscription.unsubscribe()},I.prototype.isSelected=function(e){return this.selectedIndex===e},I.prototype.itemKeydown=function(e,t){var n=("list"===this.layout?this.listKeyHandlers:this.carouselKeyHandlers)[e.keyCode];n&&n(e,t)},I.prototype.itemClick=function(e){this.select(e)},I.prototype.focus=function(){this.select(this.selectedIndex)},I.prototype.scrollTo=function(e){var t=this.deck.nativeElement,n=t.scrollWidth/this.items.length,s=t.scrollWidth-t.offsetWidth,n=t.scrollLeft+n*e;t.scrollLeft=Math.max(0,Math.min(s,n))},I.prototype.select=function(e){this.selectedIndex=e;e=this.items.toArray()[e];e&&e.nativeElement.focus()},I.prototype.navigateTo=function(e,t){var n=this.selectedIndex,t=Math.max(0,Math.min(n+t,this.items.length-1));t!==n&&(this.select(t),e.preventDefault())},I.prototype.onScroll=function(){var e,t=this,n=this.deck.nativeElement;0!==n.scrollWidth&&(e=n.scrollLeft/(n.scrollWidth-n.offsetWidth))!==this.scrollPosition&&this.zone.run(function(){t.scrollPosition=e})};var se,x=I;function I(e){var t=se.call(this)||this;return t.zone=e,t.scrollPosition=0,t.selectedIndex=0,t.carouselKeyHandlers=((e={})[37]=function(e){return t.navigateTo(e,-1)},e[39]=function(e){return t.navigateTo(e,1)},e),t.listKeyHandlers=((e={})[38]=function(e){return t.navigateTo(e,-1)},e[40]=function(e){return t.navigateTo(e,1)},e),t}x.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:x,deps:[{token:c.NgZone}],target:c.ɵɵFactoryTarget.Component}),x.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:x,selector:"kendo-chat-message-attachments",inputs:{attachments:"attachments",layout:"layout",tabbable:"tabbable",template:"template"},host:{properties:{"class.k-card-deck-scrollwrap":"this.carousel"}},providers:[{provide:f,useExisting:o.forwardRef(function(){return x})}],viewQueries:[{propertyName:"deck",first:!0,predicate:["deck"],descendants:!0,read:o.ElementRef,static:!0},{propertyName:"items",predicate:["item"],descendants:!0,read:o.ElementRef}],usesInheritance:!0,ngImport:c,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 ',isInline:!0,components:[{type:v,selector:"kendo-chat-attachment",inputs:["attachment","template"]}],directives:[{type:n.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:n.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:x,decorators:[{type:o.Component,args:[{providers:[{provide:f,useExisting:o.forwardRef(function(){return x})}],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 '}]}],ctorParameters:function(){return[{type:c.NgZone}]},propDecorators:{attachments:[{type:o.Input}],layout:[{type:o.Input}],tabbable:[{type:o.Input}],template:[{type:o.Input}],carousel:[{type:o.HostBinding,args:["class.k-card-deck-scrollwrap"]}],deck:[{type:o.ViewChild,args:["deck",{read:o.ElementRef,static:!0}]}],items:[{type:o.ViewChildren,args:["item",{read:o.ElementRef}]}]}});h(T,ae=f),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;e=this.items.toArray()[e];e&&e.nativeElement.focus()},T.prototype.navigateTo=function(e,t){var n=this.selectedIndex,t=Math.max(0,Math.min(n+t,this.items.length-1));t!==n&&(this.select(t),e.preventDefault())};var ae,C=T;function T(){var e,n=ae.apply(this,q([],_(arguments)))||this;return n.dispatch=new o.EventEmitter,n.defaultClass=!0,n.selectedIndex=0,n.keyHandlers=((e={})[37]=function(e){return n.navigateTo(e,-1)},e[39]=function(e){return n.navigateTo(e,1)},e[13]=function(e,t){return n.actionClick(t)},e),n}C.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:C,deps:null,target:c.ɵɵFactoryTarget.Component}),C.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:C,selector:"kendo-chat-suggested-actions",inputs:{actions:"actions",tabbable:"tabbable"},outputs:{dispatch:"dispatch"},host:{properties:{"class.k-quick-replies":"this.defaultClass"}},providers:[{provide:f,useExisting:o.forwardRef(function(){return C})}],viewQueries:[{propertyName:"items",predicate:["item"],descendants:!0}],usesInheritance:!0,ngImport:c,template:'\n <span\n #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 ',isInline:!0,directives:[{type:n.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:C,decorators:[{type:o.Component,args:[{selector:"kendo-chat-suggested-actions",providers:[{provide:f,useExisting:o.forwardRef(function(){return C})}],template:'\n <span\n #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 '}]}],propDecorators:{actions:[{type:o.Input}],tabbable:[{type:o.Input}],dispatch:[{type:o.Output}],defaultClass:[{type:o.HostBinding,args:["class.k-quick-replies"]}],items:[{type:o.ViewChildren,args:["item"]}]}});Object.defineProperty(D.prototype,"messages",{get:function(){return this._messages},set:function(e){e=e||[];this.view=J(e),this._messages=e},enumerable:!1,configurable:!0}),D.prototype.ngAfterViewInit=function(){this.selectedItem=this.items.last},D.prototype.onResize=function(){this.resize.emit()},D.prototype.formatTimeStamp=function(e){return this.intl.formatDate(e,{date:"full"})},D.prototype.onKeydown=function(e){var t=this.keyActions[e.keyCode];t&&t(e)},D.prototype.onBlur=function(e){var t=this;!function(e,t){for(;e&&!t(e);)e=e.parentNode;return e}(e.relatedTarget||document.activeElement,function(e){return e===t.element.nativeElement})&&this.select(null)},D.prototype.isOwnMessage=function(e){return X(this.user,e)},D.prototype.dispatchAction=function(e,t){e=new Z(e,t);this.executeAction.emit(e)},D.prototype.trackGroup=function(e,t){return t.trackBy},D.prototype.select=function(e){var t=this.selectedItem;t&&(t.selected=!1),e&&(e.selected=!0,this.selectedItem=e)},D.prototype.last=function(e){if(e&&0!==e.length)return e[e.length-1]},D.prototype.navigateTo=function(e,t){var n=this.items.toArray(),s=this.selectedItem,a=n.indexOf(s),n=n[Math.max(0,Math.min(a+t,this.items.length-1))];n!==s&&(this.select(n),n.focus(),this.navigate.emit(),e.preventDefault())};var w=D;function D(e,t){var n=this;this.element=e,this.intl=t,this.executeAction=new o.EventEmitter,this.navigate=new o.EventEmitter,this.resize=new o.EventEmitter,this.cssClass=!0,this.view=[],this.keyActions=((e={})[38]=function(e){return n.navigateTo(e,-1)},e[40]=function(e){return n.navigateTo(e,1)},e)}w.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:w,deps:[{token:c.ElementRef},{token:K.IntlService}],target:c.ɵɵFactoryTarget.Component}),w.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:w,selector:"kendo-chat-message-list",inputs:{messages:"messages",attachmentTemplate:"attachmentTemplate",messageTemplate:"messageTemplate",user:"user"},outputs:{executeAction:"executeAction",navigate:"navigate",resize:"resize"},host:{listeners:{keydown:"onKeydown($event)",focusout:"onBlur($event)"},properties:{"class.k-message-list-content":"this.cssClass"}},viewQueries:[{propertyName:"items",predicate:f,descendants:!0}],ngImport:c,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 ',isInline:!0,components:[{type:y,selector:"kendo-chat-message",inputs:["message","tabbable","template"]},{type:v,selector:"kendo-chat-attachment",inputs:["attachment","template"]},{type:x,selector:"kendo-chat-message-attachments",inputs:["attachments","layout","tabbable","template"]},{type:C,selector:"kendo-chat-suggested-actions",inputs:["actions","tabbable"],outputs:["dispatch"]},{type:p.ResizeSensorComponent,selector:"kendo-resize-sensor",inputs:["rateLimit"],outputs:["resize"]}],directives:[{type:n.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:n.NgSwitch,selector:"[ngSwitch]",inputs:["ngSwitch"]},{type:n.NgSwitchCase,selector:"[ngSwitchCase]",inputs:["ngSwitchCase"]},{type:n.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:w,decorators:[{type:o.Component,args:[{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 '}]}],ctorParameters:function(){return[{type:c.ElementRef},{type:K.IntlService}]},propDecorators:{messages:[{type:o.Input}],attachmentTemplate:[{type:o.Input}],messageTemplate:[{type:o.Input}],user:[{type:o.Input}],executeAction:[{type:o.Output}],navigate:[{type:o.Output}],resize:[{type:o.Output}],items:[{type:o.ViewChildren,args:[f]}],cssClass:[{type:o.HostBinding,args:["class.k-message-list-content"]}],onKeydown:[{type:o.HostListener,args:["keydown",["$event"]]}],onBlur:[{type:o.HostListener,args:["focusout",["$event"]]}]}});oe.prototype.onFocus=function(){this.focused=!0},oe.prototype.onBlur=function(){this.focused=!1};p=oe;function oe(){this.focused=!1}p.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:p,deps:[],target:c.ɵɵFactoryTarget.Directive}),p.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:p,selector:"[kendoChatFocusedState]",host:{listeners:{focusin:"onFocus()",focusout:"onBlur()"},properties:{"class.k-focus":"this.focused"}},ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:p,decorators:[{type:o.Directive,args:[{selector:"[kendoChatFocusedState]"}]}],propDecorators:{focused:[{type:o.HostBinding,args:["class.k-focus"]}],onFocus:[{type:o.HostListener,args:["focusin"]}],onBlur:[{type:o.HostListener,args:["focusout"]}]}});Object.defineProperty(B.prototype,"messageBoxValue",{get:function(){return"textarea"===this.type},enumerable:!1,configurable:!0}),B.prototype.sendClick=function(){var e=this.messageBoxInput.nativeElement,t=e.value;t&&(t={author:this.user,text:t,timestamp:new Date},this.sendMessage.emit(new j(t)),e.value=null,e.focus(),this.autoScroll=!0)},B.prototype.inputKeydown=function(e){e.keyCode===a.Keys.Enter&&this.sendClick()},B.prototype.textAreaKeydown=function(e){var t;e.keyCode===a.Keys.Enter&&(t=e.metaKey||e.ctrlKey,e.shiftKey||e.metaKey||e.ctrlKey||(e.preventDefault(),this.sendClick()),t&&(this.messageBoxInput.nativeElement.value+="\r\n"))},B.prototype.textFor=function(e){return this.localization.get(e)};var S=B;function B(){this.hostClasses="k-message-box k-input k-input-md k-rounded-md k-input-solid",this.sendMessage=new o.EventEmitter}S.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:S,deps:[],target:c.ɵɵFactoryTarget.Component}),S.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:S,selector:"kendo-message-box",inputs:{user:"user",autoScroll:"autoScroll",type:"type",localization:"localization",messageBoxTemplate:"messageBoxTemplate"},outputs:{sendMessage:"sendMessage"},host:{properties:{class:"this.hostClasses","class.!k-align-items-end":"this.messageBoxValue"}},viewQueries:[{propertyName:"messageBoxInput",first:!0,predicate:["messageBoxInput"],descendants:!0}],ngImport:c,template:'\n <ng-container *ngIf="!messageBoxTemplate">\n <input\n *ngIf="type === \'textbox\'"\n #messageBoxInput\n kendoChatFocusedState\n type="text"\n class="k-textbox k-input k-input-md k-input-solid"\n [placeholder]="textFor(\'messagePlaceholder\')"\n (keydown)="inputKeydown($event)"\n />\n\n <textarea\n *ngIf="type === \'textarea\'"\n #messageBoxInput\n kendoChatFocusedState\n [rows]="3"\n class="k-textarea k-input k-input-md k-input-solid !k-overflow-y-auto k-resize-none"\n [placeholder]="textFor(\'messagePlaceholder\')"\n (keydown)="textAreaKeydown($event)"\n ></textarea>\n\n <button\n kendoButton\n fillMode="flat"\n class="k-button-send"\n [tabindex]="0"\n [attr.title]="textFor(\'send\')"\n (click)="sendClick()"\n >\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>\n </button>\n </ng-container>\n\n <ng-template *ngIf="messageBoxTemplate" [ngTemplateOutlet]="messageBoxTemplate?.templateRef"></ng-template>\n',isInline:!0,directives:[{type:n.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:p,selector:"[kendoChatFocusedState]"},{type:u.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]},{type:n.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:S,decorators:[{type:o.Component,args:[{selector:"kendo-message-box",template:'\n <ng-container *ngIf="!messageBoxTemplate">\n <input\n *ngIf="type === \'textbox\'"\n #messageBoxInput\n kendoChatFocusedState\n type="text"\n class="k-textbox k-input k-input-md k-input-solid"\n [placeholder]="textFor(\'messagePlaceholder\')"\n (keydown)="inputKeydown($event)"\n />\n\n <textarea\n *ngIf="type === \'textarea\'"\n #messageBoxInput\n kendoChatFocusedState\n [rows]="3"\n class="k-textarea k-input k-input-md k-input-solid !k-overflow-y-auto k-resize-none"\n [placeholder]="textFor(\'messagePlaceholder\')"\n (keydown)="textAreaKeydown($event)"\n ></textarea>\n\n <button\n kendoButton\n fillMode="flat"\n class="k-button-send"\n [tabindex]="0"\n [attr.title]="textFor(\'send\')"\n (click)="sendClick()"\n >\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>\n </button>\n </ng-container>\n\n <ng-template *ngIf="messageBoxTemplate" [ngTemplateOutlet]="messageBoxTemplate?.templateRef"></ng-template>\n'}]}],propDecorators:{hostClasses:[{type:o.HostBinding,args:["class"]}],messageBoxValue:[{type:o.HostBinding,args:["class.!k-align-items-end"]}],messageBoxInput:[{type:o.ViewChild,args:["messageBoxInput",{static:!1}]}],user:[{type:o.Input}],autoScroll:[{type:o.Input}],type:[{type:o.Input}],localization:[{type:o.Input}],messageBoxTemplate:[{type:o.Input}],sendMessage:[{type:o.Output}]}});h(ie,re=t.ComponentMessages);var re,M=ie;function ie(){return null!==re&&re.apply(this,arguments)||this}M.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:M,deps:null,target:c.ɵɵFactoryTarget.Directive}),M.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:M,selector:"kendoConversationalUIMessages",inputs:{messagePlaceholder:"messagePlaceholder",send:"send"},usesInheritance:!0,ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:M,decorators:[{type:o.Directive,args:[{selector:"kendoConversationalUIMessages"}]}],propDecorators:{messagePlaceholder:[{type:o.Input}],send:[{type:o.Input}]}});h(le,ce=M);var ce,F=le;function le(e){var t=ce.call(this)||this;return t.service=e,t}F.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:F,deps:[{token:l.LocalizationService}],target:c.ɵɵFactoryTarget.Directive}),F.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:F,selector:"[kendoChatLocalizedMessages]",providers:[{provide:M,useExisting:o.forwardRef(function(){return F})}],usesInheritance:!0,ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:F,decorators:[{type:o.Directive,args:[{providers:[{provide:M,useExisting:o.forwardRef(function(){return F})}],selector:"[kendoChatLocalizedMessages]"}]}],ctorParameters:function(){return[{type:l.LocalizationService}]}});A.prototype.ngOnInit=function(){var e=this;this.zone.runOutsideAngular(function(){e.unsubscribe=e.renderer.listen(e.element.nativeElement,"scroll",function(){return e.onScroll()})})},A.prototype.ngAfterViewInit=function(){this.scrollToBottom()},A.prototype.ngOnDestroy=function(){this.unsubscribe&&this.unsubscribe()},A.prototype.onScroll=function(){var e,t,n,s=this;this.scrolling||(t=(e=this.element.nativeElement).scrollTop+e.offsetHeight,n=e.scrollHeight-t<2,this.autoScroll!==n&&this.zone.run(function(){s.autoScroll=n,s.autoScrollChange.emit(s.autoScroll)}))},A.prototype.scrollToBottom=function(){var e,t=this;this.autoScroll&&((e=this.element.nativeElement).scrollTop=e.scrollHeight-e.clientHeight,this.scrolling=!0,this.zone.runOutsideAngular(function(){return setTimeout(function(){return t.scrolling=!1},1e3)}))};var O=A;function A(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}O.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:O,deps:[{token:c.ElementRef},{token:c.NgZone},{token:c.Renderer2}],target:c.ɵɵFactoryTarget.Directive}),O.ɵdir=c.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:O,selector:"[kendoChatScrollAnchor]",inputs:{autoScroll:"autoScroll"},outputs:{autoScrollChange:"autoScrollChange"},host:{properties:{"style.overflow-anchor":"this.overflowAnchor"}},exportAs:["scrollAnchor"],ngImport:c}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:O,decorators:[{type:o.Directive,args:[{selector:"[kendoChatScrollAnchor]",exportAs:"scrollAnchor"}]}],ctorParameters:function(){return[{type:c.ElementRef},{type:c.NgZone},{type:c.Renderer2}]},propDecorators:{autoScroll:[{type:o.Input}],autoScrollChange:[{type:o.Output}],overflowAnchor:[{type:o.HostBinding,args:["style.overflow-anchor"]}]}});Object.defineProperty(z.prototype,"className",{get:function(){return"k-chat"},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"dirAttr",{get:function(){return this.direction},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"localizationText",{get:function(){return this.localization},enumerable:!1,configurable:!0}),z.prototype.ngOnChanges=function(){var e=this;this.zone.runOutsideAngular(function(){return setTimeout(function(){e.messageList.nativeElement.style.flex="1 1 auto"})})},z.prototype.ngAfterViewInit=function(){if(o.isDevMode()&&!this.user)throw new Error("User must be set and have a valid id.")},z.prototype.ngOnDestroy=function(){this.localizationChangeSubscription&&this.localizationChangeSubscription.unsubscribe()},z.prototype.dispatchAction=function(e){var t;this.executeAction.emit(e),e.isDefaultPrevented()||(t=e.action,(U[t.type]||L)(e.action,this),this.messageBoxTemplate||this.messageBox.messageBoxInput.nativeElement.focus())},z.prototype.textFor=function(e){return this.localization.get(e)};var E=z;function z(e,t){var n=this;this.localization=e,this.zone=t,this.messageBoxType="textbox",this.sendMessage=new o.EventEmitter,this.executeAction=new o.EventEmitter,this.autoScroll=!0,P.validatePackage(H),this.direction=e.rtl?"rtl":"ltr",this.localizationChangeSubscription=e.changes.subscribe(function(e){e=e.rtl;n.direction=e?"rtl":"ltr"})}E.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:E,deps:[{token:l.LocalizationService},{token:c.NgZone}],target:c.ɵɵFactoryTarget.Component}),E.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:E,selector:"kendo-chat",inputs:{messages:"messages",user:"user",messageBoxType:"messageBoxType"},outputs:{sendMessage:"sendMessage",executeAction:"executeAction"},host:{properties:{class:"this.className","attr.dir":"this.dirAttr"}},providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.chat"}],queries:[{propertyName:"attachmentTemplate",first:!0,predicate:g,descendants:!0},{propertyName:"messageTemplate",first:!0,predicate:m,descendants:!0},{propertyName:"messageBoxTemplate",first:!0,predicate:d,descendants:!0}],viewQueries:[{propertyName:"messageBox",first:!0,predicate:["messageBox"],descendants:!0},{propertyName:"messageList",first:!0,predicate:["messageList"],descendants:!0,static:!0}],usesOnChanges:!0,ngImport:c,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 <kendo-message-box\n #messageBox\n [messageBoxTemplate]="messageBoxTemplate"\n [type]="messageBoxType"\n [user]="user"\n [autoScroll]="autoScroll"\n [localization]="localizationText"\n (sendMessage)="sendMessage.emit($event)"\n >\n </kendo-message-box>\n ',isInline:!0,components:[{type:w,selector:"kendo-chat-message-list",inputs:["messages","attachmentTemplate","messageTemplate","user"],outputs:["executeAction","navigate","resize"]},{type:S,selector:"kendo-message-box",inputs:["user","autoScroll","type","localization","messageBoxTemplate"],outputs:["sendMessage"]}],directives:[{type:F,selector:"[kendoChatLocalizedMessages]"},{type:O,selector:"[kendoChatScrollAnchor]",inputs:["autoScroll"],outputs:["autoScrollChange"],exportAs:["scrollAnchor"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:E,decorators:[{type:o.Component,args:[{providers:[t.LocalizationService,{provide:t.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 <kendo-message-box\n #messageBox\n [messageBoxTemplate]="messageBoxTemplate"\n [type]="messageBoxType"\n [user]="user"\n [autoScroll]="autoScroll"\n [localization]="localizationText"\n (sendMessage)="sendMessage.emit($event)"\n >\n </kendo-message-box>\n '}]}],ctorParameters:function(){return[{type:l.LocalizationService},{type:c.NgZone}]},propDecorators:{messages:[{type:o.Input}],user:[{type:o.Input}],messageBoxType:[{type:o.Input}],sendMessage:[{type:o.Output}],executeAction:[{type:o.Output}],className:[{type:o.HostBinding,args:["class"]}],dirAttr:[{type:o.HostBinding,args:["attr.dir"]}],attachmentTemplate:[{type:o.ContentChild,args:[g,{static:!1}]}],messageTemplate:[{type:o.ContentChild,args:[m,{static:!1}]}],messageBoxTemplate:[{type:o.ContentChild,args:[d,{static:!1}]}],messageBox:[{type:o.ViewChild,args:["messageBox",{static:!1}]}],messageList:[{type:o.ViewChild,args:["messageList",{static:!0}]}]}});h(ue,pe=M),Object.defineProperty(ue.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var pe,V=ue;function ue(e){var t=pe.call(this)||this;return t.service=e,t}V.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:V,deps:[{token:l.LocalizationService}],target:c.ɵɵFactoryTarget.Component}),V.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:V,selector:"kendo-chat-messages",providers:[{provide:M,useExisting:o.forwardRef(function(){return V})}],usesInheritance:!0,ngImport:c,template:"",isInline:!0}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:V,decorators:[{type:o.Component,args:[{providers:[{provide:M,useExisting:o.forwardRef(function(){return V})}],selector:"kendo-chat-messages",template:""}]}],ctorParameters:function(){return[{type:l.LocalizationService}]}});ge.prototype.onClick=function(e){this.executeAction.next(e)};t=ge;function ge(){this.cssClass=!0,this.executeAction=new o.EventEmitter}t.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:t,deps:[],target:c.ɵɵFactoryTarget.Component}),t.ɵcmp=c.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:t,selector:"kendo-chat-hero-card",inputs:{imageUrl:"imageUrl",title:"title",subtitle:"subtitle",actions:"actions"},outputs:{executeAction:"executeAction"},host:{properties:{"class.k-card":"this.cssClass"}},ngImport:c,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 >\n {{ act.title }}\n </button>\n </span>\n </div>\n ',isInline:!0,directives:[{type:n.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:n.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:u.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]}]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:t,decorators:[{type:o.Component,args:[{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 >\n {{ act.title }}\n </button>\n </span>\n </div>\n '}]}],propDecorators:{imageUrl:[{type:o.Input}],title:[{type:o.Input}],subtitle:[{type:o.Input}],actions:[{type:o.Input}],cssClass:[{type:o.HostBinding,args:["class.k-card"]}],executeAction:[{type:o.Output}]}});M=[E,V,g,m,t,d],n=[v,p,F,x,y,w,m,O,C,S],u=function(){};u.ɵfac=c.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:u,deps:[],target:c.ɵɵFactoryTarget.NgModule}),u.ɵmod=c.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:u,declarations:[E,V,g,m,t,d,v,p,F,x,y,w,m,O,C,S],imports:[r.ButtonModule,s.CommonModule,a.ResizeSensorModule],exports:[E,V,g,m,t,d]}),u.ɵinj=c.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:u,imports:[[r.ButtonModule,s.CommonModule,a.ResizeSensorModule]]}),c.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:c,type:u,decorators:[{type:o.NgModule,args:[{declarations:q(q([],_(M)),_(n)),exports:[M],imports:[r.ButtonModule,s.CommonModule,a.ResizeSensorModule]}]}]}),e.AttachmentTemplateDirective=g,e.ChatComponent=E,e.ChatMessageBoxTemplateDirective=d,e.ChatModule=u,e.CustomMessagesComponent=V,e.ExecuteActionEvent=Z,e.HeroCardComponent=t,e.MessageTemplateDirective=m,e.SendMessageEvent=j,Object.defineProperty(e,"__esModule",{value:!0})});
@@ -4,6 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { EventEmitter } from '@angular/core';
6
6
  import { Action } from '../api/action.interface';
7
+ import * as i0 from "@angular/core";
7
8
  /**
8
9
  * Represents a Hero Card component ([see example]({% slug dialogflow_chat %})).
9
10
  * Hero cards host a single large image and action buttons with text content.
@@ -31,4 +32,6 @@ export declare class HeroCardComponent {
31
32
  */
32
33
  executeAction: EventEmitter<Action>;
33
34
  onClick(action: any): void;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeroCardComponent, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<HeroCardComponent, "kendo-chat-hero-card", never, { "imageUrl": "imageUrl"; "title": "title"; "subtitle": "subtitle"; "actions": "actions"; }, { "executeAction": "executeAction"; }, never, never>;
34
37
  }
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { TemplateRef } from "@angular/core";
6
+ import * as i0 from "@angular/core";
6
7
  /**
7
8
  * Defines a template that will be used for displaying message attachments. To define an attachment
8
9
  * template, nest an `<ng-template>` tag with the `kendoChatAttachmentTemplate` attribute inside the
@@ -18,4 +19,6 @@ import { TemplateRef } from "@angular/core";
18
19
  export declare class AttachmentTemplateDirective {
19
20
  templateRef: TemplateRef<any>;
20
21
  constructor(templateRef: TemplateRef<any>);
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<AttachmentTemplateDirective, [{ optional: true; }]>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AttachmentTemplateDirective, "[kendoChatAttachmentTemplate]", never, {}, {}, never>;
21
24
  }
@@ -3,16 +3,20 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Attachment } from '../api/attachment.interface';
6
- import { AttachmentTemplateDirective } from './chat.directives';
6
+ import { AttachmentTemplateDirective } from './attachment-template.directive';
7
+ import * as i0 from "@angular/core";
7
8
  /**
8
9
  * @hidden
9
10
  */
10
11
  export declare class AttachmentComponent {
11
- attachment: Attachment;
12
+ set attachment(value: Attachment);
13
+ get attachment(): Attachment;
12
14
  template: AttachmentTemplateDirective;
13
- readonly image: boolean;
14
- readonly unknown: boolean;
15
+ get image(): boolean;
16
+ get unknown(): boolean;
15
17
  context: any;
16
- private readonly contentType;
18
+ private get contentType();
17
19
  private _attachment;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<AttachmentComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<AttachmentComponent, "kendo-chat-attachment", never, { "attachment": "attachment"; "template": "template"; }, {}, never, never>;
18
22
  }
File without changes
File without changes
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Message, User, Action, Attachment, AttachmentLayout } from '../main';
5
+ import { Message, User, Action, Attachment, AttachmentLayout } from '../api';
6
6
  /**
7
7
  * @hidden
8
8
  */
@@ -4,15 +4,13 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, NgZone } from '@angular/core';
6
6
  import { AttachmentTemplateDirective } from './attachment-template.directive';
7
- import { ExecuteActionEvent } from '../api/execute-action-event';
8
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
9
- import { Message } from '../api/message.interface';
10
8
  import { MessageTemplateDirective } from './message-template.directive';
11
- import { SendMessageEvent } from '../api/post-message-event';
12
- import { User } from '../api/user.interface';
9
+ import { ExecuteActionEvent, Message, SendMessageEvent, User } from '../api';
13
10
  import { MessageBoxType } from '../common/models/message-box-options';
14
11
  import { ChatMessageBoxTemplateDirective } from './message-box.directive';
15
12
  import { MessageBoxComponent } from './message-box.component';
13
+ import * as i0 from "@angular/core";
16
14
  /**
17
15
  * Represents the Kendo UI Chat component for Angular.
18
16
  *
@@ -58,8 +56,8 @@ export declare class ChatComponent implements AfterViewInit, OnDestroy {
58
56
  * The event is preventable. If `preventDefault` is called, the built-in action will be suppressed.
59
57
  */
60
58
  executeAction: EventEmitter<ExecuteActionEvent>;
61
- readonly className: string;
62
- readonly dirAttr: string;
59
+ get className(): string;
60
+ get dirAttr(): string;
63
61
  attachmentTemplate: AttachmentTemplateDirective;
64
62
  messageTemplate: MessageTemplateDirective;
65
63
  messageBoxTemplate: ChatMessageBoxTemplateDirective;
@@ -71,7 +69,7 @@ export declare class ChatComponent implements AfterViewInit, OnDestroy {
71
69
  /**
72
70
  * @hidden
73
71
  */
74
- readonly localizationText: LocalizationService;
72
+ get localizationText(): LocalizationService;
75
73
  /**
76
74
  * @hidden
77
75
  */
@@ -90,4 +88,6 @@ export declare class ChatComponent implements AfterViewInit, OnDestroy {
90
88
  * @hidden
91
89
  */
92
90
  textFor(key: string): string;
91
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChatComponent, never>;
92
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChatComponent, "kendo-chat", never, { "messages": "messages"; "user": "user"; "messageBoxType": "messageBoxType"; }, { "sendMessage": "sendMessage"; "executeAction": "executeAction"; }, ["attachmentTemplate", "messageTemplate", "messageBoxTemplate"], never>;
93
93
  }
File without changes
@@ -0,0 +1,49 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./chat.component";
7
+ import * as i2 from "./l10n/custom-messages.component";
8
+ import * as i3 from "./attachment-template.directive";
9
+ import * as i4 from "./message-template.directive";
10
+ import * as i5 from "../cards/hero-card.component";
11
+ import * as i6 from "./message-box.directive";
12
+ import * as i7 from "./attachment.component";
13
+ import * as i8 from "../common/focused-state.directive";
14
+ import * as i9 from "./l10n/localized-messages.directive";
15
+ import * as i10 from "./message-attachments.component";
16
+ import * as i11 from "./message.component";
17
+ import * as i12 from "./message-list.component";
18
+ import * as i13 from "../common/scroll-anchor.directive";
19
+ import * as i14 from "./suggested-actions.component";
20
+ import * as i15 from "./message-box.component";
21
+ import * as i16 from "@progress/kendo-angular-buttons";
22
+ import * as i17 from "@angular/common";
23
+ import * as i18 from "@progress/kendo-angular-common";
24
+ /**
25
+ * The [NgModule]({{ site.data.urls.angular['ngmodules'] }}) for the Chat component.
26
+ *
27
+ * @example
28
+ * ```ts-no-run
29
+ * import { NgModule } from '@angular/core';
30
+ * import { Component } from '@angular/core';
31
+ * import { BrowserModule } from '@angular/platform-browser';
32
+ *
33
+ * import { ChatModule } from '@progress/kendo-angular-conversational-ui';
34
+ * import { AppComponent } from './app.component';
35
+ *
36
+ * _@NgModule({
37
+ * imports: [ BrowserModule, ChatModule ],
38
+ * declarations: [ AppComponent ],
39
+ * bootstrap: [ AppComponent ]
40
+ * })
41
+ *
42
+ * export class AppModule { }
43
+ * ```
44
+ */
45
+ export declare class ChatModule {
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChatModule, never>;
47
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ChatModule, [typeof i1.ChatComponent, typeof i2.CustomMessagesComponent, typeof i3.AttachmentTemplateDirective, typeof i4.MessageTemplateDirective, typeof i5.HeroCardComponent, typeof i6.ChatMessageBoxTemplateDirective, typeof i7.AttachmentComponent, typeof i8.FocusedStateDirective, typeof i9.LocalizedMessagesDirective, typeof i10.MessageAttachmentsComponent, typeof i11.MessageComponent, typeof i12.MessageListComponent, typeof i4.MessageTemplateDirective, typeof i13.ScrollAnchorDirective, typeof i14.SuggestedActionsComponent, typeof i15.MessageBoxComponent], [typeof i16.ButtonModule, typeof i17.CommonModule, typeof i18.ResizeSensorModule], [typeof i1.ChatComponent, typeof i2.CustomMessagesComponent, typeof i3.AttachmentTemplateDirective, typeof i4.MessageTemplateDirective, typeof i5.HeroCardComponent, typeof i6.ChatMessageBoxTemplateDirective]>;
48
+ static ɵinj: i0.ɵɵInjectorDeclaration<ChatModule>;
49
+ }
@@ -4,6 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { LocalizationService } from '@progress/kendo-angular-l10n';
6
6
  import { Messages } from './messages';
7
+ import * as i0 from "@angular/core";
7
8
  /**
8
9
  * Custom component messages override default component messages
9
10
  * ([see example]({% slug globalization_chat %}#toc-custom-messages)).
@@ -11,5 +12,7 @@ import { Messages } from './messages';
11
12
  export declare class CustomMessagesComponent extends Messages {
12
13
  protected service: LocalizationService;
13
14
  constructor(service: LocalizationService);
14
- protected readonly override: boolean;
15
+ protected get override(): boolean;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomMessagesComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomMessagesComponent, "kendo-chat-messages", never, {}, {}, never, never>;
15
18
  }
@@ -4,10 +4,13 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { LocalizationService } from '@progress/kendo-angular-l10n';
6
6
  import { Messages } from './messages';
7
+ import * as i0 from "@angular/core";
7
8
  /**
8
9
  * @hidden
9
10
  */
10
11
  export declare class LocalizedMessagesDirective extends Messages {
11
12
  protected service: LocalizationService;
12
13
  constructor(service: LocalizationService);
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalizedMessagesDirective, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LocalizedMessagesDirective, "[kendoChatLocalizedMessages]", never, {}, {}, never>;
13
16
  }
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ComponentMessages } from '@progress/kendo-angular-l10n';
6
+ import * as i0 from "@angular/core";
6
7
  /**
7
8
  * @hidden
8
9
  */
@@ -15,4 +16,6 @@ export declare class Messages extends ComponentMessages {
15
16
  * Sets the text for the **Send** button.
16
17
  */
17
18
  send: string;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<Messages, never>;
20
+ static ɵdir: i0.ɵɵDirectiveDeclaration<Messages, "kendoConversationalUIMessages", never, { "messagePlaceholder": "messagePlaceholder"; "send": "send"; }, {}, never>;
18
21
  }
@@ -5,7 +5,8 @@
5
5
  import { AfterViewInit, ElementRef, NgZone, OnDestroy, QueryList } from '@angular/core';
6
6
  import { Attachment, AttachmentLayout } from '../api/attachment.interface';
7
7
  import { ChatItem } from './chat-item';
8
- import { AttachmentTemplateDirective } from './chat.directives';
8
+ import { AttachmentTemplateDirective } from './attachment-template.directive';
9
+ import * as i0 from "@angular/core";
9
10
  /**
10
11
  * @hidden
11
12
  */
@@ -15,7 +16,7 @@ export declare class MessageAttachmentsComponent extends ChatItem implements Aft
15
16
  layout: AttachmentLayout;
16
17
  tabbable: boolean;
17
18
  template: AttachmentTemplateDirective;
18
- readonly carousel: boolean;
19
+ get carousel(): boolean;
19
20
  deck: ElementRef;
20
21
  items: QueryList<ElementRef>;
21
22
  scrollPosition: number;
@@ -34,4 +35,6 @@ export declare class MessageAttachmentsComponent extends ChatItem implements Aft
34
35
  private select;
35
36
  private navigateTo;
36
37
  private onScroll;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageAttachmentsComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageAttachmentsComponent, "kendo-chat-message-attachments", never, { "attachments": "attachments"; "layout": "layout"; "tabbable": "tabbable"; "template": "template"; }, {}, never, never>;
37
40
  }
@@ -7,12 +7,13 @@ import { User } from '../api/user.interface';
7
7
  import { MessageBoxType } from '../common/models/message-box-options';
8
8
  import { LocalizationService } from '@progress/kendo-angular-l10n';
9
9
  import { ChatMessageBoxTemplateDirective } from './message-box.directive';
10
+ import * as i0 from "@angular/core";
10
11
  /**
11
12
  * @hidden
12
13
  */
13
14
  export declare class MessageBoxComponent {
14
15
  hostClasses: string;
15
- readonly messageBoxValue: boolean;
16
+ get messageBoxValue(): boolean;
16
17
  messageBoxInput: ElementRef;
17
18
  user: User;
18
19
  autoScroll: boolean;
@@ -36,4 +37,6 @@ export declare class MessageBoxComponent {
36
37
  * @hidden
37
38
  */
38
39
  textFor(key: string): string;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageBoxComponent, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageBoxComponent, "kendo-message-box", never, { "user": "user"; "autoScroll": "autoScroll"; "type": "type"; "localization": "localization"; "messageBoxTemplate": "messageBoxTemplate"; }, { "sendMessage": "sendMessage"; }, never, never>;
39
42
  }
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { TemplateRef } from '@angular/core';
6
+ import * as i0 from "@angular/core";
6
7
  /**
7
8
  * Creates a message box area that overrides the default message box of the Conversational UI Component.
8
9
  * To define a message-box template, nest an `<ng-template>` tag with the `kendoChatMessageBoxTemplate` directive inside the `<kendo-chat>` tag
@@ -11,4 +12,6 @@ import { TemplateRef } from '@angular/core';
11
12
  export declare class ChatMessageBoxTemplateDirective {
12
13
  templateRef: TemplateRef<any>;
13
14
  constructor(templateRef: TemplateRef<any>);
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChatMessageBoxTemplateDirective, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ChatMessageBoxTemplateDirective, "[kendoChatMessageBoxTemplate]", never, {}, {}, never>;
14
17
  }
@@ -3,22 +3,21 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { AfterViewInit, ElementRef, EventEmitter, QueryList } from '@angular/core';
6
- import { Action } from '../api/action.interface';
7
- import { ExecuteActionEvent } from '../api/execute-action-event';
8
- import { Message } from '../api/message.interface';
9
- import { User } from '../api/user.interface';
6
+ import { Action, ExecuteActionEvent, Message, User } from '../api';
10
7
  import { ChatItem } from './chat-item';
11
8
  import { ViewItem } from './chat-view';
12
- import { AttachmentTemplateDirective } from './chat.directives';
9
+ import { AttachmentTemplateDirective } from './attachment-template.directive';
13
10
  import { MessageTemplateDirective } from './message-template.directive';
14
11
  import { IntlService } from '@progress/kendo-angular-intl';
12
+ import * as i0 from "@angular/core";
15
13
  /**
16
14
  * @hidden
17
15
  */
18
16
  export declare class MessageListComponent implements AfterViewInit {
19
17
  private element;
20
18
  private intl;
21
- messages: Message[];
19
+ set messages(value: Message[]);
20
+ get messages(): Message[];
22
21
  attachmentTemplate: AttachmentTemplateDirective;
23
22
  messageTemplate: MessageTemplateDirective;
24
23
  user: User;
@@ -27,7 +26,7 @@ export declare class MessageListComponent implements AfterViewInit {
27
26
  resize: EventEmitter<any>;
28
27
  items: QueryList<ChatItem>;
29
28
  cssClass: boolean;
30
- view: ViewItem[];
29
+ view: ViewItem[] | any[];
31
30
  private _messages;
32
31
  private selectedItem;
33
32
  private keyActions;
@@ -36,11 +35,13 @@ export declare class MessageListComponent implements AfterViewInit {
36
35
  onResize(): void;
37
36
  formatTimeStamp(date: any): string;
38
37
  onKeydown(e: any): void;
39
- onBlur(args: FocusEvent): void;
38
+ onBlur(args: any): void;
40
39
  isOwnMessage(msg: Message): boolean;
41
40
  dispatchAction(action: Action, message: Message): void;
42
41
  trackGroup(_index: number, item: ViewItem): any;
43
42
  select(item: ChatItem): void;
44
43
  last(items: any): any;
45
44
  private navigateTo;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageListComponent, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageListComponent, "kendo-chat-message-list", never, { "messages": "messages"; "attachmentTemplate": "attachmentTemplate"; "messageTemplate": "messageTemplate"; "user": "user"; }, { "executeAction": "executeAction"; "navigate": "navigate"; "resize": "resize"; }, never, never>;
46
47
  }
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { TemplateRef } from "@angular/core";
6
+ import * as i0 from "@angular/core";
6
7
  /**
7
8
  * Defines a template that will be used for displaying Chat messages. To define an attachment
8
9
  * template, nest an `<ng-template>` tag with the `kendoChatMessageTemplate` attribute inside the
@@ -18,4 +19,6 @@ import { TemplateRef } from "@angular/core";
18
19
  export declare class MessageTemplateDirective {
19
20
  templateRef: TemplateRef<any>;
20
21
  constructor(templateRef: TemplateRef<any>);
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageTemplateDirective, [{ optional: true; }]>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MessageTemplateDirective, "[kendoChatMessageTemplate]", never, {}, {}, never>;
21
24
  }
@@ -7,6 +7,7 @@ import { Message } from '../api/message.interface';
7
7
  import { ChatItem } from './chat-item';
8
8
  import { MessageTemplateDirective } from './message-template.directive';
9
9
  import { IntlService } from '@progress/kendo-angular-intl';
10
+ import * as i0 from "@angular/core";
10
11
  /**
11
12
  * @hidden
12
13
  */
@@ -18,8 +19,10 @@ export declare class MessageComponent extends ChatItem {
18
19
  template: MessageTemplateDirective;
19
20
  cssClass: boolean;
20
21
  selected: boolean;
21
- readonly tabIndex: string;
22
+ get tabIndex(): string;
22
23
  constructor(element: ElementRef, intl: IntlService);
23
24
  formatTimeStamp(date: any): string;
24
25
  focus(): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageComponent, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageComponent, "kendo-chat-message", never, { "message": "message"; "tabbable": "tabbable"; "template": "template"; }, {}, never, never>;
25
28
  }
@@ -3,8 +3,9 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ElementRef, EventEmitter, QueryList } from '@angular/core';
6
- import { Action } from '../main';
6
+ import { Action } from '../api/action.interface';
7
7
  import { ChatItem } from './chat-item';
8
+ import * as i0 from "@angular/core";
8
9
  /**
9
10
  * @hidden
10
11
  */
@@ -23,4 +24,6 @@ export declare class SuggestedActionsComponent extends ChatItem {
23
24
  focus(): void;
24
25
  private select;
25
26
  private navigateTo;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<SuggestedActionsComponent, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<SuggestedActionsComponent, "kendo-chat-suggested-actions", never, { "actions": "actions"; "tabbable": "tabbable"; }, { "dispatch": "dispatch"; }, never, never>;
26
29
  }
@@ -0,0 +1,15 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * @hidden
8
+ */
9
+ export declare class FocusedStateDirective {
10
+ focused: boolean;
11
+ onFocus(): void;
12
+ onBlur(): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<FocusedStateDirective, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FocusedStateDirective, "[kendoChatFocusedState]", never, {}, {}, never>;
15
+ }
File without changes
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';
6
+ import * as i0 from "@angular/core";
6
7
  /**
7
8
  * @hidden
8
9
  */
@@ -21,4 +22,6 @@ export declare class ScrollAnchorDirective implements AfterViewInit, OnInit, OnD
21
22
  ngOnDestroy(): void;
22
23
  onScroll(): void;
23
24
  scrollToBottom(): void;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollAnchorDirective, never>;
26
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollAnchorDirective, "[kendoChatScrollAnchor]", ["scrollAnchor"], { "autoScroll": "autoScroll"; }, { "autoScrollChange": "autoScrollChange"; }, never>;
24
27
  }
File without changes