@hsaadawy/ngx-chat
Version:
1 lines • 101 kB
JSON
{"__symbolic":"module","version":4,"exports":[{"export":[{"name":"jid","as":"parseJid"}],"from":"@xmpp/client"},{"export":[{"name":"JID","as":"JID"}],"from":"@xmpp/jid"}],"metadata":{"FileDropComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"ngx-chat-filedrop","template":"<div>\r\n <div class=\"drop-message\"\r\n [class.drop-message--visible]=\"isDropTarget\">\r\n {{dropMessage}}\r\n </div>\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","styles":[".drop-message{pointer-events:none;display:none}.drop-message--visible{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;justify-content:center;align-content:center;flex-direction:column;text-align:center;font-size:1.5em;z-index:999;background-color:#fff9;padding:1em}\n"]}]}],"members":{"fileUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":5}}]}],"dropMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":5}}]}],"enabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":5}}]}],"onDragOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":20,"character":5},"arguments":["dragover",["$event"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":21,"character":5},"arguments":["dragenter",["$event"]]}]}],"onDragLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":30,"character":5},"arguments":["dragleave",["$event"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":31,"character":5},"arguments":["dragexit",["$event"]]}]}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":38,"character":5},"arguments":["drop",["$event"]]}]}]}},"ChatMessageInputComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"ngx-chat-message-input","template":"<div *ngIf=\"Reply!=''\" style=\" background: #8e89896b;\r\ncolor: #fff;\r\nposition: relative;\r\ntop: -9px;\r\nwidth: 105%;\r\nleft: -3%;\r\npadding: 4px 6px;\r\nborder-radius: 4px 4px 0 0;\">\r\n\r\n <div [innerHTML]=\"Reply\"></div>\r\n <i class=\"fas fa-times\" style=\"font-family: 'Font Awesome 5 Pro' !important;float: right;padding: 0 5px; position: absolute;\r\n right: 0;\r\n top: 4px;\" (click)=\"delete()\" aria-hidden=\"true\"></i>\r\n\r\n</div>\r\n\r\n<textarea class=\"chat-input\" #chatInput [(ngModel)]=\"message\" (keydown.enter)=\"onSendMessage($event)\"\r\n cdkTextareaAutosize cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"5\"\r\n placeholder=\"{{chatService.translations.placeholder}}\"></textarea>\r\n","styles":["@keyframes ngx-chat-message-in{0%{transform:translate(50px);opacity:0}to{transform:none;opacity:1}}@keyframes ngx-chat-message-out{0%{transform:translate(-50px);opacity:0}to{transform:none;opacity:1}}.messageItem{background-color:red;width:100%;border-radius:2px}*{box-sizing:border-box;margin:0;padding:0;font-family:\"Helvetica\",\"Arial\",serif}.chat-input{border:none;width:100%;font-size:1em;padding:0;display:block;resize:none;overflow-x:hidden;outline:none}\n"]}]}],"members":{"recipient":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"Reply":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"messageSent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"chatInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":31,"character":3},"arguments":["chatInput"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":34,"character":15},"arguments":[{"__symbolic":"reference","name":"CHAT_SERVICE_TOKEN"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":36,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}]],"parameters":[{"__symbolic":"reference","name":"ChatService"},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"onSendMessage":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}]}},"ChatMessageListComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":38,"character":1},"arguments":[{"selector":"ngx-chat-message-list","template":"<div class=\"chat-messages\" #messageArea>\r\n\r\n <div class=\"chat-messages-start\" (ngxChatIntersectionObserver)=\"onTop$.next($event)\"></div>\r\n\r\n <ng-container *ngFor=\"let dateMessagesGroup of recipient.dateMessagesGroups\">\r\n <div class=\"chat-messages-date-group\">{{dateMessagesGroup.date |\r\n date:chatService.translations.dateFormat:undefined:chatService.translations.locale}}</div>\r\n <ngx-chat-message *ngFor=\"let message of dateMessagesGroup.messages\" (ReplySent)=\"sendReply($event)\"\r\n [id]=\"'message-' + message.id\" [class.chat-message--in]=\"message.direction === Direction.in\"\r\n [class.chat-message--out]=\"message.direction === Direction.out\"\r\n [contact]=\"getOrCreateContactWithFullJid(message)\"\r\n [nick]=\"message.direction === Direction.in ? getOrCreateContactWithFullJid(message).name : ''\"\r\n [avatar]=\"getOrCreateContactWithFullJid(message).avatar\" [message]=\"message\" [showAvatars]=\"showAvatars\">\r\n </ngx-chat-message>\r\n </ng-container>\r\n\r\n <div class=\"chat-messages-empty\" *ngIf=\"recipient.messages.length === 0\">\r\n {{chatService.translations.noMessages}}\r\n </div>\r\n\r\n <ngx-chat-message-simple [direction]=\"Direction.in\" [avatar]=\"showAvatars ? recipient.avatar : undefined\"\r\n [footerHidden]=\"true\" *ngIf=\"subscriptionActionShown()\">\r\n <span>\r\n {{chatService.translations.subscriptionRequestMessage}}\r\n </span>\r\n <ul class=\"chat-presence-subscription-actions\">\r\n <li>\r\n <span class=\"action-disabled\"\r\n *ngIf=\"subscriptionAction === SubscriptionAction.SHOW_BLOCK_ACTIONS\">{{chatService.translations.acceptSubscriptionRequest}}</span>\r\n\r\n <a *ngIf=\"subscriptionAction === SubscriptionAction.PENDING_REQUEST\"\r\n (click)=\"acceptSubscriptionRequest($event)\"\r\n href=\"#\">{{chatService.translations.acceptSubscriptionRequest}}</a>\r\n </li>\r\n\r\n <li>\r\n <span class=\"action-disabled\"\r\n *ngIf=\"subscriptionAction === SubscriptionAction.SHOW_BLOCK_ACTIONS\">{{chatService.translations.denySubscriptionRequest}}</span>\r\n\r\n <a *ngIf=\"subscriptionAction === SubscriptionAction.PENDING_REQUEST\"\r\n (click)=\"denySubscriptionRequest($event)\"\r\n href=\"#\">{{chatService.translations.denySubscriptionRequest}}</a>\r\n </li>\r\n </ul>\r\n <ul class=\"deny-actions\"\r\n *ngIf=\"(blockPlugin.supportsBlock$ | async) === true && subscriptionAction === SubscriptionAction.SHOW_BLOCK_ACTIONS\">\r\n <li>\r\n <a (click)=\"blockContact($event)\" href=\"#\">{{chatService.translations.block}}</a>\r\n </li>\r\n <li *ngIf=\"reportUserService\">\r\n <a (click)=\"blockContactAndReport($event)\" href=\"#\">{{chatService.translations.blockAndReport}}</a>\r\n </li>\r\n <li>\r\n <a (click)=\"dismissBlockOptions($event)\" href=\"#\">{{chatService.translations.dismiss}}</a>\r\n </li>\r\n </ul>\r\n </ngx-chat-message-simple>\r\n\r\n <div class=\"chat-messages-end\" (ngxChatIntersectionObserver)=\"onBottom($event)\"></div>\r\n\r\n</div>\r\n","styles":[":host.chat-message--out{align-self:flex-end}:host.chat-message--in{align-self:flex-start}.chat-messages{display:flex;flex-direction:column;min-height:10em;max-height:20em;overflow-y:scroll}.chat-messages-date-group{font-size:.7em;font-style:italic;margin:.5em 0;text-align:center}ngx-chat-message,ngx-chat-message-simple{max-width:76%;align-self:flex-start;animation-duration:1.5s;animation-timing-function:cubic-bezier(.16,1,.3,1)}ngx-chat-message.chat-message--in,ngx-chat-message-simple.chat-message--in{animation-name:ngx-chat-message-in}ngx-chat-message.chat-message--out,ngx-chat-message-simple.chat-message--out{animation-name:ngx-chat-message-out}.chat-messages-empty{text-align:center;font-size:1.5em;color:#999;margin-top:1em;margin-bottom:1em}.chat-presence-subscription-actions,.deny-actions{list-style:none;padding:0;margin:1em 0 0}.chat-presence-subscription-actions a,.deny-actions a,.chat-presence-subscription-actions a:visited,.deny-actions a:visited{color:#198cff}.deny-actions{margin-top:1em}.action-disabled{color:#999}.chat-messages-start{min-height:5px;height:5px;margin-top:5px}.chat-messages-end{min-height:5px;height:5px;margin-bottom:5px}\n"]}]}],"members":{"Reply":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":5}}]}],"recipient":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":5}}]}],"showAvatars":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"chatMessageAreaElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":53,"character":5},"arguments":["messageArea"]}]}],"chatMessageViewChildrenList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":56,"character":5},"arguments":[{"__symbolic":"reference","name":"ChatMessageComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":72,"character":9},"arguments":[{"__symbolic":"reference","name":"CHAT_SERVICE_TOKEN"}]}],null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":74,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":74,"character":21},"arguments":[{"__symbolic":"reference","name":"REPORT_USER_INJECTION_TOKEN"}]}],null,null],"parameters":[{"__symbolic":"reference","name":"ChatListStateService"},{"__symbolic":"reference","name":"ChatService"},{"__symbolic":"reference","name":"ChatMessageListRegistryService"},{"__symbolic":"reference","name":"ReportUserService"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":75,"character":35},{"__symbolic":"reference","name":"ContactFactoryService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"acceptSubscriptionRequest":[{"__symbolic":"method"}],"denySubscriptionRequest":[{"__symbolic":"method"}],"scheduleScrollToLastMessage":[{"__symbolic":"method"}],"scrollToLastMessage":[{"__symbolic":"method"}],"scrollToMessage":[{"__symbolic":"method"}],"blockContact":[{"__symbolic":"method"}],"blockContactAndReport":[{"__symbolic":"method"}],"dismissBlockOptions":[{"__symbolic":"method"}],"subscriptionActionShown":[{"__symbolic":"method"}],"loadOlderMessagesBeforeViewport":[{"__symbolic":"method"}],"loadMessages":[{"__symbolic":"method"}],"onBottom":[{"__symbolic":"method"}],"isNearBottom":[{"__symbolic":"method"}],"isLoadingHistory":[{"__symbolic":"method"}],"getOrCreateContactWithFullJid":[{"__symbolic":"method"}],"sendReply":[{"__symbolic":"method"}]}},"ChatMessageSimpleComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"ngx-chat-message-simple","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":7,"character":21},"member":"OnPush"},"template":"<div class=\"chat-message\" [class.chat-message--in]=\"direction === 'in'\" [class.chat-message--out]=\"direction === 'out'\">\r\n <div class=\"chat-message-text-wrapper\">\r\n <div *ngIf=\"avatar\" class=\"chat-message-avatar\">\r\n <ngx-chat-avatar [class.has-click-handler]=\"avatarInteractive\" (click)=\"avatarClickHandler.emit()\"\r\n [imageUrl]=\"avatar\"></ngx-chat-avatar>\r\n </div>\r\n <div class=\"chat-message-text\">\r\n \r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"chat-message-image-wrapper\"\r\n *ngIf=\"imageLink && !imageLink.includes('mp3') && !imageLink.includes('ogg') && !imageLink.includes('mp4')\">\r\n <a [href]=\"imageLink\" target=\"_blank\">\r\n <img style=\"width: 200px; height: 200px;\" class=\"chat-message-image\" [src]=\"imageLink\" />\r\n </a>\r\n </div>\r\n\r\n <audio class=\"audio-custome\" controls *ngIf=\"imageLink && imageLink.includes('mp3')\">\r\n <source [src]=\"imageLink\" type=\"audio/mpeg\">\r\n </audio>\r\n\r\n <div class=\"chat-message-image-wrapper\" *ngIf=\"\r\n imageLink && imageLink.includes('mp4') ||\r\n imageLink && imageLink.includes('ogg') ||\r\n imageLink && imageLink.includes('MOV') ||\r\n imageLink && imageLink.includes('WMV') ||\r\n imageLink && imageLink.includes('AVI') ||\r\n imageLink && imageLink.includes('AVCHD') ||\r\n imageLink && imageLink.includes('FLV') ||\r\n imageLink && imageLink.includes('F4V') ||\r\n imageLink && imageLink.includes('SWF') ||\r\n imageLink && imageLink.includes('MKV') \">\r\n <video style=\"width: 100% ;\" class=\"chat-message-image\" controls>\r\n <source [src]=\"imageLink\">\r\n </video>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"chat-message-footer\" *ngIf=\"!footerHidden\">\r\n <small title=\"{{nick}}\" class=\"chat-message-name\">\r\n {{nick}}\r\n <ng-container *ngIf=\"direction === 'out'\" [ngSwitch]=\"messageState\">\r\n <ng-container *ngSwitchCase=\"MessageState.SENT\">✓</ng-container>\r\n <ng-container *ngSwitchCase=\"MessageState.RECIPIENT_RECEIVED\">✓✓</ng-container>\r\n <ng-container *ngSwitchCase=\"MessageState.RECIPIENT_SEEN\"><span class=\"state--seen\">✓✓</span>\r\n </ng-container>\r\n </ng-container>\r\n </small>\r\n <small class=\"chat-message-datetime\">{{formattedDate}}</small>\r\n </div>\r\n</div>\r\n","styles":[".chat-message-avatar{flex-shrink:0;width:2em;height:2em;padding:.5em}.chat-message--in .chat-message-avatar{padding-right:0}.chat-message--out .chat-message-avatar{padding-left:0}.has-click-handler:hover{cursor:pointer}.chat-message-text{min-width:0;padding:.5em;word-break:break-word}.chat-message{border-radius:.5em;margin:calc(.5em / 2) 0}.chat-message--out{background-color:#e6ffd1}.chat-message--in{background-color:#dbedff}.chat-message-text-wrapper{display:flex;flex-direction:row}.chat-message--out .chat-message-text-wrapper{flex-direction:row-reverse}.chat-message-image-wrapper{max-width:100%;max-height:150px;overflow:hidden;height:auto;margin:0 .5em;display:flex;justify-content:center}.chat-message-image-wrapper.chat-message-image-wrapper--placeholder{height:150px}.chat-message-image-wrapper img{-o-object-fit:contain;object-fit:contain;min-width:0}.chat-message-footer{font-size:.75em;text-align:right;color:#999;padding:0 .5em .5em;clear:both}.chat-message-datetime{display:inline-block;vertical-align:bottom}.chat-message-name{display:inline-block;max-width:9em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;vertical-align:bottom;margin-right:.5em}.state--seen{color:#00c5d2}.audio-custome{width:210px;height:40px}audio::-webkit-media-controls-current-time-display{font-size:14px!important}audio::-webkit-media-controls-time-remaining-display{display:none}\n"]}]}],"members":{"avatar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":5}}]}],"avatarClickHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":5}}]}],"avatarInteractive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5}}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"formattedDate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5}}]}],"footerHidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}}]}],"imageLink":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"showImagePlaceholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"messageState":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"nick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}]}},"MAX_IMAGE_SIZE":256000,"ChatMessageComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"ngx-chat-message","template":"<div style=\" width: 10px;\r\nposition: absolute;\r\ntop: 10px;\r\ndisplay: inline-block;\" class=\"showMenuposition\">\r\n\r\n <i style=\"\r\ncolor: #88898b;\" (click)=\"showMenu=!showMenu\" class=\"fa fa-ellipsis-v\" aria-hidden=\"true\"></i>\r\n <div *ngIf=\"showMenu\" style=\" position: absolute;\r\n top: 15px;\r\n width: 100px;\r\n background: #fff;\r\n right: 5px;\r\n box-shadow: 0 1px 3px grey;\r\n padding: 8px;\r\n z-index: 99;\">\r\n <span role=\"button\" *ngIf=\"message.direction === Direction.in\" (click)=\"reply(message.body);showMenu=false\"\r\n style=\"display: block;padding: 5px;font-size: 14px;\">\r\n <i class=\"fa fa-reply\" aria-hidden=\"true\"></i>\r\n Reply\r\n </span>\r\n\r\n <span role=\"button\" (click)=\"forward(message.body);showMenu=false\"\r\n style=\"display: block;padding: 5px;font-size: 14px\">\r\n <i class=\"fa fa-forward\" aria-hidden=\"true\"></i>\r\n Forward\r\n </span>\r\n </div>\r\n</div>\r\n<div *ngIf=\"showMenu\" (click)=\"showMenu=!showMenu\" style=\"position: fixed;\r\n background-color: transparent;\r\n width: 100%;\r\n height: 100vh;\r\n top: 0;\r\n right: 0;\r\n z-index: 2;\"></div>\r\n\r\n\r\n\r\n\r\n<ngx-chat-message-simple style=\"display: inline-block;\" [imageLink]=\"imageLink\"\r\n [showImagePlaceholder]=\"showImagePlaceholder\" [avatar]=\"getAvatar()\"\r\n [avatarInteractive]=\"message.direction === Direction.in\" (avatarClickHandler)=\"onContactClick()\"\r\n [direction]=\"message.direction\" [messageState]=\"getMessageState()\"\r\n [formattedDate]=\"message.datetime | date:chatService.translations.timeFormat\" [nick]=\"nick\">\r\n <span [ngxChatLinks]=\"message.body\"></span>\r\n</ngx-chat-message-simple>\r\n\r\n\r\n<div *ngIf=\"showForward\" style=\"position: fixed;\r\nbackground: #8080807a;\r\nwidth: 100%;\r\nheight: 100vh;\r\ntop: 0;\r\nright: 0;\r\nz-index: 9999999999999999999999999999900;\" class=\"showforward\">\r\n\r\n <div *ngIf=\"contacts\" class=\"row\" style=\" display: block;\r\n width: 50%;\r\n margin: 3% auto;\r\n padding: 15px;\r\n background: #fff;border-radius: 10px;\">\r\n <p style=\" font-size: 18px;\r\n margin: 0;\r\n margin-bottom: 12px;position: relative;\">Select Contacts <i class=\"fas fa-times\" style=\"font-family: 'Font Awesome 5 Pro' !important;float: right;padding: 0 5px; position: absolute;\r\n right: 0;\r\n top: 4px;\" (click)=\"showForward=false\" aria-hidden=\"true\"></i></p>\r\n <div *ngFor=\"let contact of (contacts | async)\" class=\"col-md-6\"\r\n style=\"width: 50%;display: inline-block;margin:4px 0 0 0; \">\r\n <input type=\"checkbox\" (change)=\"selectReceiver(contact,$event)\">\r\n <div class=\"roster-recipient-name\" style=\"display:inline\">\r\n {{contact.name}}\r\n </div>\r\n\r\n </div>\r\n\r\n <div style=\"width: 100%;display: inline-block;\">\r\n <button type=\"button\" style=\"padding: 8px 20px;float:right\" (click)=\"forwordMessage()\">Forword</button>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n","styles":[":host.chat-message--out{align-self:flex-end}:host.chat-message--in{align-self:flex-start}\n"]}]}],"members":{"ReplySent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":5}}]}],"showAvatars":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"avatar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"message":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}}]}],"nick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"contact":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"showMessageReadState":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":60,"character":9},"arguments":[{"__symbolic":"reference","name":"CHAT_SERVICE_TOKEN"}]}],null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":63,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":64,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":65,"character":9},"arguments":[{"__symbolic":"reference","name":"CONTACT_CLICK_HANDLER_TOKEN"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":65,"character":46}}]],"parameters":[{"__symbolic":"reference","name":"ChatService"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":61,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":62,"character":22},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ChatContactClickHandler"}]}],"ngOnInit":[{"__symbolic":"method"}],"tryFindImageLink":[{"__symbolic":"method"}],"tryFindEmbedImageUrls":[{"__symbolic":"method"}],"getMessageState":[{"__symbolic":"method"}],"getStateForDate":[{"__symbolic":"method"}],"onContactClick":[{"__symbolic":"method"}],"getAvatar":[{"__symbolic":"method"}],"reply":[{"__symbolic":"method"}],"forward":[{"__symbolic":"method"}],"selectReceiver":[{"__symbolic":"method"}],"forwordMessage":[{"__symbolic":"method"}]}},"ChatWindowComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"ngx-chat-window","template":"<ngx-chat-window-frame (headerClick)=\"onClickHeader()\" (closeClick)=\"onClickClose()\">\r\n\r\n <ng-container class=\"window-header-content\">\r\n <div class=\"chat-contact-avatar-wrapper\" (click)=\"onContactClick($event)\">\r\n <ngx-chat-avatar [imageUrl]=\"chatWindowState.recipient.avatar\"></ngx-chat-avatar>\r\n </div>\r\n\r\n <div class=\"header-middle\">\r\n\r\n <div class=\"chat-contact-name-wrapper\" [title]=\"chatWindowState.recipient.name\">\r\n <span [ngClass]=\"{'has-click-handler': !chatWindowState.isCollapsed && !!this.contactClickHandler}\"\r\n (click)=\"onContactClick($event)\">\r\n {{chatWindowState.recipient.name}}\r\n </span>\r\n </div>\r\n\r\n <div class=\"chat-contact-status-wrapper\"\r\n *ngIf=\"!chatWindowState.isCollapsed && chatWindowState.recipient.recipientType === 'contact'\">\r\n <span class=\"chat-contact-status\">\r\n {{chatService.translations.presence[chatWindowState.recipient.presence$ | async]}}\r\n </span>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n\r\n <ngx-chat-filedrop *ngIf=\"!chatWindowState.isCollapsed\" class=\"window-content\"\r\n [enabled]=\"httpFileUploadPlugin.fileUploadSupported\" (fileUpload)=\"uploadFile($event)\"\r\n [dropMessage]=\"chatService.translations.dropMessage\">\r\n <div (click)=\"onFocus()\">\r\n <ngx-chat-message-list (Reply)=\"newReply($event)\" [recipient]=\"chatWindowState.recipient\"\r\n [showAvatars]=\"false\"></ngx-chat-message-list>\r\n <div class=\"chat-input-container\">\r\n <ngx-chat-message-input [Reply]=\"ReplyString\" [recipient]=\"chatWindowState.recipient\"\r\n (messageSent)=\"afterSendMessage()\"></ngx-chat-message-input>\r\n <div *ngFor=\"let action of chatService.chatActions\" (click)=\"onActionClick(action)\" class=\"chat-action\"\r\n [ngClass]=\"action.cssClass\" [innerHTML]=\"action.html\">\r\n </div>\r\n </div>\r\n </div>\r\n </ngx-chat-filedrop>\r\n \r\n</ngx-chat-window-frame>\r\n\r\n\r\n\r\n","styles":["@keyframes ngx-chat-message-in{0%{transform:translate(50px);opacity:0}to{transform:none;opacity:1}}@keyframes ngx-chat-message-out{0%{transform:translate(-50px);opacity:0}to{transform:none;opacity:1}}.messageItem{background-color:red;width:100%;border-radius:2px}*{box-sizing:border-box;margin:0;padding:0;font-family:\"Helvetica\",\"Arial\",serif}.chat-contact-avatar-wrapper{min-width:2em;width:2em;min-height:2em;height:2em}.header-middle{flex-grow:1;flex-shrink:1;padding:0 .5em;white-space:nowrap;overflow:hidden;font-size:.8em;line-height:1.2;height:100%;display:flex;flex-direction:column;justify-content:space-around}.chat-contact-name-wrapper,.chat-contact-status-wrapper{text-overflow:ellipsis;overflow:hidden;display:block}.has-click-handler:hover{text-decoration:underline}.chat-contact-status{color:#999}.window-content{text-align:left;padding:0;min-height:5em;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}.chat-input-container{display:flex;padding:.5em;border-top:1px solid #e1e1e1;background:#fff;cursor:text}.chat-action{cursor:pointer;align-self:center;text-align:center}.chat-window-send{background-color:#fff;border-color:#fff;color:#000;width:1.5em}.chat-window-send:active{border:none}ngx-chat-message-input{flex-grow:1}\n"]}]}],"members":{"chatWindowState":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"messageInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":35,"character":3},"arguments":[{"__symbolic":"reference","name":"ChatMessageInputComponent"}]}]}],"contactMessageList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":38,"character":3},"arguments":[{"__symbolic":"reference","name":"ChatMessageListComponent"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":46,"character":5},"arguments":[{"__symbolic":"reference","name":"CHAT_SERVICE_TOKEN"}]}],null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":48,"character":5},"arguments":[{"__symbolic":"reference","name":"CONTACT_CLICK_HANDLER_TOKEN"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":49,"character":5}}]],"parameters":[{"__symbolic":"reference","name":"ChatService"},{"__symbolic":"reference","name":"ChatListStateService"},{"__symbolic":"reference","name":"ChatContactClickHandler"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onClickHeader":[{"__symbolic":"method"}],"onClickClose":[{"__symbolic":"method"}],"sendMessage":[{"__symbolic":"method"}],"afterSendMessage":[{"__symbolic":"method"}],"uploadFile":[{"__symbolic":"method"}],"onFocus":[{"__symbolic":"method"}],"onActionClick":[{"__symbolic":"method"}],"onContactClick":[{"__symbolic":"method"}],"newReply":[{"__symbolic":"method"}]}},"ChatAction":{"__symbolic":"interface"},"ChatActionContext":{"__symbolic":"interface"},"ChatComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":24,"character":1},"arguments":[{"selector":"ngx-chat","template":"<ngx-chat-window-list *ngIf=\"showChatComponent\"\r\n [rosterState]=\"rosterState\">\r\n</ngx-chat-window-list>\r\n<ngx-chat-roster-list [rosterState]=\"rosterState\"\r\n [contacts]=\"contacts\"\r\n [contactRequestsReceived$]=\"contactRequestsReceived$\"\r\n [contactRequestsSent$]=\"contactRequestsSent$\"\r\n [contactsUnaffiliated$]=\"contactsUnaffiliated$\"\r\n *ngIf=\"showChatComponent\"\r\n (rosterStateChanged)=\"onRosterStateChanged($event)\">\r\n</ngx-chat-roster-list>\r\n","styles":[".messageItem{background-color:red;width:100%;border-radius:2px}\n"]}]}],"members":{"translations":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"contacts":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":5}}]}],"contactRequestsReceived$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5}}]}],"contactRequestsSent$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":5}}]}],"contactsUnaffiliated$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":5}}]}],"userAvatar$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":5}}]}],"rosterState":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":91,"character":9},"arguments":[{"__symbolic":"reference","name":"CHAT_SERVICE_TOKEN"}]}]],"parameters":[{"__symbolic":"reference","name":"ChatService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"onChatStateChange":[{"__symbolic":"method"}],"onRosterStateChanged":[{"__symbolic":"method"}],"updateBodyClass":[{"__symbolic":"method"}]}},"ContactMetadata":{"__symbolic":"interface"},"JidToPresence":{"__symbolic":"interface"},"Contact":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":77,"character":23},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"LogService"},{"__symbolic":"reference","name":"string"}]}],"addMessage":[{"__symbolic":"method"}],"equalsBareJid":[{"__symbolic":"method"}],"isSubscribed":[{"__symbolic":"method"}],"isUnaffiliated":[{"__symbolic":"method"}],"updateResourcePresence":[{"__symbolic":"method"}],"getMessageById":[{"__symbolic":"method"}],"determineOverallPresence":[{"__symbolic":"method"}]}},"dummyAvatarContact":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjAwIiBoZWlnaHQ9IjYwMCIgdmlld0JveD0iMCAwIDYwMCA2MDAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLV8xIj4KICAgICAgPHJlY3Qgd2lkdGg9IjYwMCIgaGVpZ2h0PSI2MDAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJfMSIgZGF0YS1uYW1lPSIxIiBjbGlwLXBhdGg9InVybCgjY2xpcC1fMSkiPgogICAgPHJlY3Qgd2lkdGg9IjYwMCIgaGVpZ2h0PSI2MDAiIGZpbGw9IiNmZmYiLz4KICAgIDxnIGlkPSJHcnVwcGVfNzcxNyIgZGF0YS1uYW1lPSJHcnVwcGUgNzcxNyI+CiAgICAgIDxyZWN0IGlkPSJSZWNodGVja18xMzk3IiBkYXRhLW5hbWU9IlJlY2h0ZWNrIDEzOTciIHdpZHRoPSI2MDAiIGhlaWdodD0iNjAwIiBmaWxsPSIjZTVlNmU4Ii8+CiAgICAgIDxlbGxpcHNlIGlkPSJFbGxpcHNlXzI4MyIgZGF0YS1uYW1lPSJFbGxpcHNlIDI4MyIgY3g9IjExNi4yMzEiIGN5PSIxMjUuNjcxIiByeD0iMTE2LjIzMSIgcnk9IjEyNS42NzEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4NS4yMzEgMTExLjQ4NSkiIGZpbGw9IiNhZmI0YjgiLz4KICAgICAgPHBhdGggaWQ9IlBmYWRfMjQ5NjIiIGRhdGEtbmFtZT0iUGZhZCAyNDk2MiIgZD0iTTU0Ni4zNTksNTk1LjI3NnMwLTIxNy41NjMtMjQ0LjkwOS0yMTcuNTYzaC0xLjQ1N2MtMjQ0LjkwOSwwLTI0NC45MDksMjE3LjU2My0yNDQuOTA5LDIxNy41NjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgNC43MjQpIiBmaWxsPSIjYWZiNGI4Ii8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K","dummyAvatarRoom":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjAwIiBoZWlnaHQ9IjYwMCIgdmlld0JveD0iMCAwIDYwMCA2MDAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLV8zIj4KICAgICAgPHJlY3Qgd2lkdGg9IjYwMCIgaGVpZ2h0PSI2MDAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJfMyIgZGF0YS1uYW1lPSIzIiBjbGlwLXBhdGg9InVybCgjY2xpcC1fMykiPgogICAgPHJlY3Qgd2lkdGg9IjYwMCIgaGVpZ2h0PSI2MDAiIGZpbGw9IiNmZmYiLz4KICAgIDxnIGlkPSJHcnVwcGVfNzcxOCIgZGF0YS1uYW1lPSJHcnVwcGUgNzcxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTc4MC42OTcgODgxLjUpIj4KICAgICAgPHJlY3QgaWQ9IlJlY2h0ZWNrXzEzOTgiIGRhdGEtbmFtZT0iUmVjaHRlY2sgMTM5OCIgd2lkdGg9IjYwMCIgaGVpZ2h0PSI1OTkuOTk1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3ODAuNjk3IC04ODEuNSkiIGZpbGw9IiNlNWU2ZTgiLz4KICAgICAgPGVsbGlwc2UgaWQ9IkVsbGlwc2VfMjg0IiBkYXRhLW5hbWU9IkVsbGlwc2UgMjg0IiBjeD0iMTE2LjIzMSIgY3k9IjEyNS42NzEiIHJ4PSIxMTYuMjMxIiByeT0iMTI1LjY3MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTY1LjkyNiAtNzY5LjA5MykiIGZpbGw9IiNhZmI0YjgiLz4KICAgICAgPGVsbGlwc2UgaWQ9IkVsbGlwc2VfMjg1IiBkYXRhLW5hbWU9IkVsbGlwc2UgMjg1IiBjeD0iNjcuOTk4IiBjeT0iNzMuNTIxIiByeD0iNjcuOTk4IiByeT0iNzMuNTIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4MTYuMjEgLTY2NS40OTYpIiBmaWxsPSIjYWZiNGI4Ii8+CiAgICAgIDxlbGxpcHNlIGlkPSJFbGxpcHNlXzI4OSIgZGF0YS1uYW1lPSJFbGxpcHNlIDI4OSIgY3g9IjY3Ljk5OCIgY3k9IjczLjUyMSIgcng9IjY3Ljk5OCIgcnk9IjczLjUyMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTIxMi4xMDcgLTY2NS40OTYpIiBmaWxsPSIjYWZiNGI4Ii8+CiAgICAgIDxwYXRoIGlkPSJQZmFkXzI0OTYzIiBkYXRhLW5hbWU9IlBmYWQgMjQ5NjMiIGQ9Ik0xMzI3LjA1Mi0yODYuMjI1czAtMjE3LjU2My0yNDQuOTA3LTIxNy41NjNoLTEuNDU3Yy0yNDQuOTA3LDAtMjQ0LjkwNywyMTcuNTYzLTI0NC45MDcsMjE3LjU2M1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgNC43MjUpIiBmaWxsPSIjYWZiNGI4Ii8+CiAgICAgIDxwYXRoIGlkPSJQZmFkXzI0OTY0IiBkYXRhLW5hbWU9IlBmYWQgMjQ5NjQiIGQ9Ik05MzMuOTc3LTQ4My44Yy0xLjA1LjYtMi4xLDEuMjItMy4xNCwxLjg0LTMyLjM0LDE5LjM0LTU4LjI5LDQ2LjI3LTc3LjEyLDgwLjA1LTMxLjcsNTYuODgtMzQuMzU1LDExOC43MjgtMzQuMzU1LDEyMS4yNDhoLTQwLjkxTDc4MC43LTQ3MS4zMmMyMy4yOC0xOC44Miw1Ny4wNS0zMi40NywxMDYuMDQtMzIuNDdoLjk0YTIxNy43NTMsMjE3Ljc1MywwLDAsMSw0My44Myw0LjE4QTguNTQ5LDguNTQ5LDAsMCwxLDkzMy45NzctNDgzLjhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAgLTAuNzI1KSIgZmlsbD0iI2FmYjRiOCIvPgogICAgICA8cGF0aCBpZD0iUGZhZF8yNDk2OCIgZGF0YS1uYW1lPSJQZmFkIDI0OTY4IiBkPSJNNzgyLjc5LTQ4My44YzEuMDUuNiwyLjEsMS4yMiwzLjE0LDEuODQsMzIuMzQsMTkuMzQsNTguMjksNDYuMjcsNzcuMTIsODAuMDUsMzEuNyw1Ni44OCwzNC4zNTUsMTE4LjcyOCwzNC4zNTUsMTIxLjI0OGg0MC45MUw5MzYuMDctNDcxLjMyYy0yMy4yOC0xOC44Mi01Ny4wNS0zMi40Ny0xMDYuMDQtMzIuNDdoLS45NGEyMTcuNzUzLDIxNy43NTMsMCwwLDAtNDMuODMsNC4xOEE4LjU0OSw4LjU0OSwwLDAsMCw3ODIuNzktNDgzLjhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NTcuNTQ3IC0wLjcyNikiIGZpbGw9IiNhZmI0YjgiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=","chatAdminUserName":"admin@chat.mahamma.com","chatAdminPassword":"tDm2R&nMRr47w!dL","getAvatarUrl":"https://chat.mahamma.com:5443/api/get_vcard","getDomain":{"__symbolic":"function"},"id":{"__symbolic":"function"},"LogInRequest":{"__symbolic":"interface"},"MessageState":{"SENDING":"sending","SENT":"sent","RECIPIENT_RECEIVED":"recipientReceived","RECIPIENT_SEEN":"recipientSeen"},"Message":{"__symbolic":"interface"},"Direction":{"in":"in","out":"out"},"DateMessagesGroup":{"__symbolic":"interface"},"MessageStore":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"LogService"}]}],"addMessage":[{"__symbolic":"method"}],"addToDateMessageGroups":[{"__symbolic":"method"}]}},"ChatPlugin":{"__symbolic":"interface"},"Presence":{"present":"present","unavailable":"unavailable","away":"away"},"Recipient":{"__symbolic":"interface"},"isJid":{"__symbolic":"function","parameters":["o"],"value":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"o"},"member":"bare"}}}},"Stanza":{"__symbolic":"interface"},"IqResponseStanza":{"__symbolic":"interface"},"PresenceStanza":{"__symbolic":"interface"},"MessageWithBodyStanza":{"__symbolic":"interface"},"ContactSubscription":{"to":"to","from":"from","both":"both","none":"none"},"Translations":{"__symbolic":"interface"},"LinksDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[ngxChatLinks]"}]}],"members":{"ngxChatLinks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":12,"character":43},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":13,"character":51}]}],"ngOnChanges":[{"__symbolic":"method"}],"transform":[{"__symbolic":"method"}],"shorten":[{"__symbolic":"method"}]}},"NgxChatModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":54,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":56,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":57,"character":8},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":58,"character":8},{"__symbolic":"reference","module":"@angular/cdk/text-field","name":"TextFieldModule","line":59,"character":8}],"declarations":[{"__symbolic":"reference","name":"ChatComponent"},{"__symbolic":"reference","name":"ChatMessageComponent"},{"__symbolic":"reference","name":"ChatMessageInputComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ChatMessageListComponent"},{"__symbolic":"reference","name":"ChatMessageSimpleComponent"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ChatWindowComponent"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"LinksDirective"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"FileDropComponent"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵl"}],"exports":[{"__symbolic":"reference","name":"ChatComponent"},{"__symbolic":"reference","name":"ChatMessageInputComponent"},{"__symbolic":"reference","name":"ChatMessageListComponent"},{"__symbolic":"reference","name":"ChatMessageSimpleComponent"},{"__symbolic":"reference","name":"FileDropComponent"},{"__symbolic":"reference","name":"LinksDirective"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"NgxChatModule"},"providers":[{"__symbolic":"reference","name":"ChatBackgroundNotificationService"},{"__symbolic":"reference","name":"ChatListStateService"},{"__symbolic":"reference","name":"ChatMessageListRegistryService"},{"__symbolic":"reference","name":"ContactFactoryService"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"LogService"},{"__symbolic":"reference","name":"XmppChatConnectionService"},{"__symbolic":"reference","name":"XmppClientFactoryService"},{"provide":{"__symbolic":"reference","name":"CHAT_SERVICE_TOKEN"},"deps":[{"__symbolic":"reference","name":"XmppChatConnectionService"},{"__symbolic":"reference","name":"ChatMessageListRegistryService"},{"__symbolic":"reference","name":"ContactFactoryService"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":113,"character":24},{"__symbolic":"reference","name":"LogService"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":115,"character":24}],"useFactory":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"NgxChatModule"},"member":"xmppChatAdapter"}}]}}}},"AbstractStanzaBuilder":{"__symbolic":"class","members":{"toStanza":[{"__symbolic":"method"}]}},"AbstractXmppPlugin":{"__symbolic":"class","members":{"onBeforeOnline":[{"__symbolic":"method"}],"onOffline":[{"__symbolic":"method"}],"afterSendMessage":[{"__symbolic":"method"}],"beforeSendMessage":[{"__symbolic":"method"}],"handleStanza":[{"__symbolic":"method"}],"afterReceiveMessage":[{"__symbolic":"method"}]}},"BlockPlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractXmppPlugin"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"XmppChatAdapter"},{"__symbolic":"reference","name":"ServiceDiscoveryPlugin"}]}],"onBeforeOnline":[{"__symbolic":"method"}],"determineSupportForBlock":[{"__symbolic":"method"}],"onOffline":[{"__symbolic":"method"}],"blockJid":[{"__symbolic":"method"}],"unblockJid":[{"__symbolic":"method"}],"requestBlockedJids":[{"__symbolic":"method"}],"handleStanza":[{"__symbolic":"method"}]}},"SavedConference":{"__symbolic":"interface"},"STORAGE_BOOKMARKS":"storage:bookmarks","BookmarkPlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractXmppPlugin"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PublishSubscribePlugin"}]}],"onOffline":[{"__symbolic":"method"}],"retrieveMultiUserChatRooms":[{"__symbolic":"method"}],"convertElementToSavedConference":[{"__symbolic":"method"}],"saveConferences":[{"__symbolic":"method"}],"addConference":[{"__symbolic":"method"}],"addConferenceInternal":[{"__symbolic":"method"}],"convertSavedConferenceToElement":[{"__symbolic":"method"}]}},"HttpFileUploadPlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractXmppPlugin"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":37},{"__symbolic":"reference","name":"ServiceDiscoveryPlugin"},{"__symbolic":"reference","name":"XmppChatAdapter"},{"__symbolic":"reference","name":"LogService"}]}],"onBeforeOnline":[{"__symbolic":"method"}],"onOffline":[{"__symbolic":"method"}],"upload":[{"__symbolic":"method"}],"requestSlot":[{"__symbolic":"method"}],"uploadToSlot":[{"__symbolic":"method"}]}},"MessageArchivePlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractXmppPlugin"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"XmppChatAdapter"},{"__symbolic":"reference","name":"ServiceDiscoveryPlugin"},{"__symbolic":"reference","name":"MultiUserChatPlugin"},{"__symbolic":"reference","name":"LogService"},{"__symbolic":"reference","name":"MessagePlugin"}]}],"requestNewestMessages":[{"__symbolic":"method"}],"loadMostRecentUnloadedMessages":[{"__symbolic":"method"}],"loadAllMessages":[{"__symbolic":"method"}],"supportsMessageArchiveManagement":[{"__symbolic":"method"}],"handleStanza":[{"__symbolic":"method"}],"isMamMessageStanza":[{"__symbolic":"method"}],"handleMamMessageStanza":[{"__symbolic":"method"}],"handleArchivedMessage":[{"__symbolic":"method"}],"handlePubSubEvent":[{"__symbolic":"method"}]}},"MessageCarbonsPlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractXmppPlugin"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"XmppChatAdapter"}]}],"onBeforeOnline":[{"__symbolic":"method"}],"handleStanza":[{"__symbolic":"method"}],"handleCarbonMessageStanza":[{"__symbolic":"method"}]}},"StateDate":{"__symbolic":"interface"},"JidToMessageStateDate":{"__symbolic":"interface"},"MessageStatePlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractXmppPlugin"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PublishSubscribePlugin"},{"__symbolic":"reference","name":"XmppChatAdapter"},{"__symbolic":"reference","name":"ChatMessageListRegistryService"},{"__symbolic":"reference","name":"LogService"},{"__symbolic":"reference","name":"ɵm"}]}],"onBeforeOnline":[{"__symbolic":"method"}],"parseContactMessageStates":[{"__symbolic":"method"}],"processPubSub":[{"__symbolic":"method"}],"persistContactMessageStates":[{"__symbolic":"method"}],"onOffline":[{"__symbolic":"method"}],"beforeSendMessage":[{"__symbolic":"method"}],"afterSendMessage":[{"__symbolic":"method"}],"afterReceiveMessage":[{"__symbolic":"method"}],"acknowledgeReceivedMessage":[{"__symbolic":"method"}],"sendMessageStateNotification":[{"__symbolic":"method"}],"handleStanza":[{"__symbolic":"method"}],"handleStateNotificationStanza":[{"__symbolic":"method"}],"updateContactMessageState":[{"__symbolic":"method