@social-mail/social-mail-client 1.4.7 → 1.4.8

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 (42) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +17 -11
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +3 -3
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/public/channel/ChannelApp.pack.js +9 -1
  6. package/dist/public/channel/ChannelApp.pack.js.map +1 -1
  7. package/dist/public/channel/ChannelApp.pack.min.js +1 -1
  8. package/dist/public/channel/ChannelApp.pack.min.js.map +1 -1
  9. package/dist/public/preview/zip/DownloadZip.js +1 -1
  10. package/dist/public/preview/zip/DownloadZip.js.map +1 -1
  11. package/dist/public/preview/zip/DownloadZip.pack.js +1 -1
  12. package/dist/public/preview/zip/DownloadZip.pack.js.map +1 -1
  13. package/dist/public/preview/zip/DownloadZip.pack.min.js +1 -1
  14. package/dist/public/preview/zip/DownloadZip.pack.min.js.map +1 -1
  15. package/dist/site-editor-app/SiteEditorApp.pack.js +17 -11
  16. package/dist/site-editor-app/SiteEditorApp.pack.js.map +1 -1
  17. package/dist/site-editor-app/SiteEditorApp.pack.min.js +4 -4
  18. package/dist/site-editor-app/SiteEditorApp.pack.min.js.map +1 -1
  19. package/dist/tsconfig.tsbuildinfo +1 -1
  20. package/dist/web/AppIndex.pack.js +17 -11
  21. package/dist/web/AppIndex.pack.js.map +1 -1
  22. package/dist/web/AppIndex.pack.min.js +4 -4
  23. package/dist/web/AppIndex.pack.min.js.map +1 -1
  24. package/dist/web/page/mails/ConversationPage.js +4 -4
  25. package/dist/web/page/mails/ConversationPage.js.map +1 -1
  26. package/dist/web/page/mails/detail/MailDetailPage.d.ts +2 -2
  27. package/dist/web/page/mails/detail/MailDetailPage.d.ts.map +1 -1
  28. package/dist/web/page/mails/detail/MailDetailPage.js +2 -2
  29. package/dist/web/page/mails/detail/MailDetailPage.js.map +1 -1
  30. package/dist/web/page/mails/service/ConversationService.d.ts.map +1 -1
  31. package/dist/web/page/mails/service/ConversationService.js +9 -1
  32. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  33. package/dist/web/page/mails/service/MailService.d.ts +2 -2
  34. package/dist/web/page/mails/service/MailService.d.ts.map +1 -1
  35. package/dist/web/page/mails/service/MailService.js +2 -4
  36. package/dist/web/page/mails/service/MailService.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/public/preview/zip/DownloadZip.tsx +1 -1
  39. package/src/web/page/mails/ConversationPage.tsx +2 -2
  40. package/src/web/page/mails/detail/MailDetailPage.tsx +4 -4
  41. package/src/web/page/mails/service/ConversationService.tsx +13 -1
  42. package/src/web/page/mails/service/MailService.ts +3 -4
@@ -1352,7 +1352,7 @@ html, body {
1352
1352
  &[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
1353
1353
  grid-template-columns: 150px 1fr auto;
1354
1354
  }
1355
- `.installLocal();_export("default",UserListPage=class UserListPage extends MasterDetailPage{constructor(){super(...arguments);this.users=[];this.version=0;this.external=false;this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;this.actionRenderer=()=>XNode.create("i",{"data-click-event":"add-user",class:"fas fa-plus"});this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{placeholder:"Search Users",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.external)),text:"External"}));this.search="";this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table","data-layout":"data-grid",selectOnClick:true,"data-list-selection":"default","data-selection-updated-event":"user-selected","data-event-items-updated":"users-loaded",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),items:this.users},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({start,search:this.search,cancelToken,external:this.external,v:this.version}))),{itemRenderer:user=>XNode.create("div",null,XNode.create("label",null,user.userID),XNode.create("div",null,XNode.create("div",null,XNode.create("label",{text:user.userName}),XNode.create("label",{"data-font-size":"x-small",text:user.displayName}))),XNode.create("label",null,user.multiFactor?"2FA":"-"))}))))}))}usersLoaded(){if(this.selectedUser){if(this.users.includes(this.selectedUser)){return}this.selectedUser=this.users.find((x=>x.userID===this.selectedUser.userID));if(this.selectedUser){return}}this.selectedUser=this.users[0]}userSelected(){if(!this.selectedUser){return}this.openDetail(UserDetailsPage,this.selectedUser)}addDomain(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditUserPage,User.create({userName:"",displayName:"",changePassword:{forceChangePasswordOnLogin:true,newPassword:""}}));this.version++}))}userChangePassword(model){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EditUserPage,model)}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserListPage.prototype,"userService",void 0);__decorate([Action({onEvent:"users-loaded",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],UserListPage.prototype,"usersLoaded",null);__decorate([Action({onEvent:"user-selected"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],UserListPage.prototype,"userSelected",null);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserListPage.prototype,"addDomain",null);__decorate([Action({onEvent:"user-change-password"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],UserListPage.prototype,"userChangePassword",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserListPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","./services/AdminUserService","../../../common/controls/repeater/InfiniteRepeater","../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,XNode,AtomRepeater,Bind,AdminUserService,InfiniteRepeater,SaveIconTextButton,ChooseUserPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",ChooseUserPage=class ChooseUserPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.users=[];this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.titleRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),placeholder:"Search User"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.users,selectOnClick:true,"data-layout":"list",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),"data-list-selection":"default","data-selection-updated-event":"selection-updated"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({search:this.search,start,cancelToken}))),{itemRenderer:user=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:user.userName}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.selectedUser))},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selectedUser),text:"Select"}))}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],ChooseUserPage.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../SocialMailApp","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/buttons/IconButton","@web-atoms/web-controls/dist/PageNavigator","../../../admin/pages/users/ChooseUserPage","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,EmailAddress,Mailbox,UserMailbox,XNode,Form,TextFormField,FormField,ComboBox,MailboxService,InjectProperty,Bind,Action,SocialMailApp,AtomRepeater,AddIconTextButton,PageNavigator,ChooseUserPage,Checkbox,MailboxEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){EmailAddress=_modelModel.EmailAddress;Mailbox=_modelModel.Mailbox;UserMailbox=_modelModel.UserMailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_adminPagesUsersChooseUserPage){ChooseUserPage=_adminPagesUsersChooseUserPage.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",MailboxEditorPage=class MailboxEditorPage extends PopupWindowPage{init(){var _a,_b,_c,_d;var _e,_f;return __awaiter(this,void 0,void 0,(function*(){this.title="Add Hosted Mailbox";this.model=(_b=(_a=this.parameters)===null||_a===void 0?void 0:_a.model)!==null&&_b!==void 0?_b:Mailbox.create({emailAddress:EmailAddress.create({emailAddress:""}),maxStorage:1*1024*1024*1024,userMailboxes:[]});if(this.parameters.domainID){this.model.domainID=this.parameters.domainID}(_c=(_e=this.model).isChannel)!==null&&_c!==void 0?_c:_e.isChannel=false;(_d=(_f=this.model).isPrivateChannel)!==null&&_d!==void 0?_d:_f.isPrivateChannel=false;this.model.username="";const domains=yield this.mailboxService.domains(true);this.model.name=SocialMailApp.user.displayName;this.renderer=XNode.create("div",null,XNode.create(Form,{"data-submit-event":"save-mailbox"},XNode.create(TextFormField,{label:"Name",value:()=>this.model.name}),XNode.create(TextFormField,{label:"Email Prefix/Username",value:()=>this.model.username}),XNode.create(FormField,{label:"Domain"},XNode.create(ComboBox,{labelPath:item=>item===null||item===void 0?void 0:item.name,valuePath:item=>item===null||item===void 0?void 0:item.domainID,selectedItem:Bind.twoWaysImmediate((()=>this.model.domain)),value:Bind.twoWaysImmediate((()=>this.model.domainID)),items:domains})),XNode.create(FormField,{label:"Email Address"},XNode.create("span",{text:Bind.oneWay((()=>`${this.model.username}@${this.model.domain.name}`))})),XNode.create(FormField,{label:"Create Channel"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isChannel)),text:"Create a newsletter channel, which anyone with email can subscribe"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Private Channel"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isPrivateChannel)),text:"Make this channel private, only users with invitation can subscribe"})),XNode.create(FormField,{label:"Add Users who can access this mailbox"},XNode.create("div",null,XNode.create(AtomRepeater,{items:this.model.userMailboxes,"data-layout":"list",itemRenderer:item=>XNode.create("div",null,XNode.create("span",{text:item.user.userName}))}),XNode.create(AddIconTextButton,{"data-click-event":"add-user",text:"User"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-type":"submit","data-layout":"accept-button",text:"Add"}))))}))}saveMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield this.mailboxService.save(this.model);return this.model}))}addUser(){return __awaiter(this,void 0,void 0,(function*(){const user=yield PageNavigator.pushPageForResult(ChooseUserPage);this.model.userMailboxes.add(UserMailbox.create({user,userID:user.userID}))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxEditorPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"save-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"saveMailbox",null);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"addUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,CommonEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("CommonEvents",CommonEvents={onThreadMarkedAsRead:EventScope.create(),onThreadMarkedAsBlocked:EventScope.create(),onDraftDeleted:EventScope.create(),onFileDeleted:EventScope.create(),onEmailScheduled:EventScope.create(),onEmailUnscheduled:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","../../../../common/events/CommonEvents","@web-atoms/core/dist/services/FetchBuilder","../../../../common/apiPath","../../../../common/SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Mailbox,MailboxContact,UserPushSubscription,Sql,CommonEvents,FetchBuilder,apiPath,SocialMailApp,MailService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_commonSql){Sql=_commonSql.Sql},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default}],execute:function(){MailService=class MailService{constructor(){this.tags=new Map}mailbox(mailboxID){return __awaiter(this,void 0,void 0,(function*(){const mb=yield this.entityService.query(Mailbox).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).include((x=>[x.emailAddress,x.folders.forEach((t=>t.tag))])).firstOrDefault();const notify=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();mb.notify=!!notify;const index=x=>{switch(x.tag.name.toLocaleLowerCase()){case"contacts":SocialMailApp.contactsFolderTagID=x.tagID;return 1;case"new":this.newTagID=x.tagID;SocialMailApp.newFolderTagID=x.tagID;return 2;case"spam":return 3;case"blocked":return 4}return 100};mb.folders.sort(((a,b)=>index(a)-index(b)));if(mb.folders.length){mb.folders[0].main=true}mb.folders.remove((x=>!x.main&&!x.count));return mb}))}list({search="",searchInMessages=false,mailboxID,conversationType="all",start=0,size=20,version=1,folderID=null,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContact).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID));if(folderID){q=q.where({folderID},(p=>x=>x.folderTagID===p.folderID))}switch(conversationType){case"open":q=q.where((x=>x.openThreads!==0));break;case"closed":q=q.where((x=>x.openThreads===0));break}if(search){const likeSearch=`${search}%`;if(searchInMessages){q=q.where({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.lastEmail.textBody,p.likeSearch)||Sql.text.iLike(x.lastEmail.subject,p.likeSearch)||Sql.text.iLike(x.emailAddress.name,p.likeSearch)||Sql.text.iLike(x.lastEmail.senderName,p.likeSearch)));q=q.orderByDescending({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.emailAddress.name,p.likeSearch))).thenByDescending((x=>x.dateUpdated))}else{q=q.where({likeSearch},(p=>x=>x.emailAddress.names.some((n=>Sql.text.like(n.nameToken.word,p.likeSearch)))||Sql.text.like(x.emailAddress.domain.name,p.likeSearch))).orderByDescending((x=>x.dateUpdated))}}else{q=q.orderByDescending((x=>x.dateUpdated))}return q.include((x=>[x.emailAddress,x.lastEmail])).toPagedList({start,size,cancelToken})}))}raw(email){return __awaiter(this,void 0,void 0,(function*(){const{mimeFileID}=email;return FetchBuilder.get(apiPath(`/api/emails/logs/${mimeFileID}/${email.emailID}.eml`)).asText()}))}send(email){return __awaiter(this,void 0,void 0,(function*(){const{textBody}=email;if(textBody&&!email.subject){const lines=textBody.split("\n");for(const line of lines){if(!line.trim()){continue}email.subject||(email.subject=line.trim().substring(0,80));break}}for(const iterator of email.recipients){if(iterator.emailAddressText){iterator.emailAddressText=iterator.emailAddressText.trim()}}yield this.entityService.save(email,(c=>c.include((x=>x.recipients)).include((x=>x.attachments))));CommonEvents.onEmailScheduled.dispatchEvent(email)}))}deleteAttachment(file){return __awaiter(this,void 0,void 0,(function*(){const{appFileID}=file;yield this.entityService.save(AppFile.create({$deleted:true,appFileID}));CommonEvents.onFileDeleted.dispatchEvent(file)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailService.prototype,"entityService",void 0);MailService=__decorate([DISingleton()],MailService);_export("default",MailService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/MailService");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");DomToElement(div,XNode.create("div",null,node));return div.innerHTML}function DomToElement(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}switch(key){case"text":div.textContent=element;continue;case"innerHTML":div.innerHTML=element;continue}if(key.startsWith("styler-")){div.setAttribute(key,element);continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.setAttribute(key,element)}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);DomToElement(child,iterator)}}_export({default:DomToString,DomToElement});return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register([],(function(_export,_context){"use strict";var CacheTTL;return{setters:[],execute:function(){_export("CacheTTL",CacheTTL={seconds:{oneHour:60*60,oneDay:60*60*24,oneMonth:60*60*24*30,fifteenMinutes:15*60}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/models/TaskManager","../../model/model","@web-atoms/core/dist/di/Inject","../EntityService","../../common/cache/CacheTTL"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,TaskManager,Email,MailboxContactEmail,Inject,EntityService,CacheTTL,cacheVersion,cacheSeconds,EmailContentDownloader;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistModelsTaskManager){TaskManager=_webAtomsEntityDistModelsTaskManager.default},function(_modelModel){Email=_modelModel.Email;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL}],execute:function(){cacheVersion="c1";cacheSeconds=CacheTTL.seconds.oneMonth;EmailContentDownloader=class EmailContentDownloader extends TaskManager{downloadChatContent(mce){return this.entityService.run(MailboxContactEmail,"getBody",mce,{cacheVersion,cacheSeconds}).asText()}downloadPost(email){return __awaiter(this,void 0,void 0,(function*(){email.htmlBody||(email.htmlBody=yield this.entityService.run(Email,"getBody",email,{cacheVersion,cacheSeconds}).asText())}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailContentDownloader.prototype,"entityService",void 0);EmailContentDownloader=__decorate([DISingleton({})],EmailContentDownloader);_export("default",EmailContentDownloader)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email/EmailContentDownloader");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/cache/CacheTTL","@web-atoms/date-time/dist/DateTime","../../../../services/email/EmailContentDownloader","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Email,EmailEngagement,CacheTTL,DateTime,EmailContentDownloader,DISingleton,cacheSeconds,EngagementService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EngagementService=class EngagementService{downloadEngagements(email){return __awaiter(this,void 0,void 0,(function*(){try{const{emailID}=email;let now=DateTime.now;const minute=Math.floor(now.minute/5);now=now.addMinutes(-minute);const cacheVersion=email.dateUpdated?DateTime.from(email.dateUpdated).msSinceEpoch.toString(36):"-";email.engagements=yield this.entityService.query(EmailEngagement).where({emailID},(p=>x=>x.emailID===p.emailID)).toArray({cacheVersion,cacheSeconds:300})}catch(error){console.error(error)}}))}list({start=0,size=50,engagement="",emailID=0,mailboxID=0,emailAddressID=0,dateUpdated=null}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Email).where({mailboxID,emailAddressID,engagement,emailID},(p=>x=>x.engagement===p.engagement&&x.parentID===p.emailID));const cacheVersion=dateUpdated?DateTime.from(dateUpdated).msSinceEpoch.toString(36):"-";const list=yield q.toPagedList({start,size,cacheVersion,cacheSeconds});return list}))}};__decorate([Inject,__metadata("design:type",EntityService)],EngagementService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],EngagementService.prototype,"emailContentDownloader",void 0);EngagementService=__decorate([DISingleton()],EngagementService);_export("default",EngagementService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,MailAppEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("MailAppEvents",MailAppEvents={mailboxContactUpdated:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/commands/MailAppEvents");System.register(["./apiPath"],(function(_export,_context){"use strict";var apiPath,viewFileUrl,fileUrl,imageUrl,srcSetUrl,signedImageUrl,signedUrl,storeFileUrl;return{setters:[function(_apiPath){apiPath=_apiPath.apiPath}],execute:function(){_export("viewFileUrl",viewFileUrl=(site,file)=>apiPath(`/api/site/asset/view/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`));_export("fileUrl",fileUrl=(file,{action="download",args=void 0,fileName="",ext=""}={})=>{let name=encodeURIComponent(file.name);if(args){if(Array.isArray(args)){args=args.join(",")}ext="."+args+ext;action=action+"("+args+")"}if(ext){fileName=name+ext}if(fileName){name+="/"+fileName}const{emailID,appFileID,fileContentID}=file;if(emailID){return apiPath(`/api/emails/attachment/${action}/${emailID}/${appFileID}/${name}/`)}return apiPath(`/api/files/${action}/${appFileID}/${fileContentID}/${name}`)});fileUrl.webp=(file,size=300)=>fileUrl(file,{action:"webp",args:size,ext:".webp"});fileUrl.webm=file=>fileUrl(file,{action:"webm",ext:".webm"});fileUrl.pdf=file=>fileUrl(file,{action:"pdf",ext:".pdf"});fileUrl.html=file=>fileUrl(file,{action:"html",ext:".html"});_export("imageUrl",imageUrl=(site,file,size)=>{const name=encodeURIComponent(file.name);if(!size){return apiPath(`/api/site/asset/webp/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.webp`)}return apiPath(`/api/site/asset/webp(${size})/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.${size}.webp`)});_export("srcSetUrl",srcSetUrl=(site,file,imgUrlFunc=imageUrl)=>{const small=imgUrlFunc(site,file,480)+" 640w";const medium=imgUrlFunc(site,file,720)+" 1024w";const large=imgUrlFunc(site,file)+" 1256w";return`${small},${medium},${large}`});_export("signedImageUrl",signedImageUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0},size)=>apiPath(`/api/signed/webp(${size})/${appFileID}/${fileContentID}/${signed}/file.${size}.webp`));_export("signedUrl",signedUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0})=>apiPath(`/api/signed/download/${appFileID}/${fileContentID}/${signed}/file.dat`));_export("storeFileUrl",storeFileUrl=(rootFolderID,file,type="download",name=file.name)=>apiPath(`/api/store/file/${type}/${rootFolderID}/${file.appFileID}/${file.fileContentID}/${name}`))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/fileUrl");System.register(["@web-atoms/core/dist/core/XNode","@social-mail/social-mail-client/content/images/gif/loader.gif"],(function(_export,_context){"use strict";var XNode,loaderImage;function Loader(){return XNode.create("div",{"data-position":"absolute-fill","data-layout":"center-all"},XNode.create("img",{src:loaderImage}))}_export("default",Loader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/Loader");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/date-time/dist/DateTime","../../../../common/events/CommonEvents","../../../../services/email/EmailContentDownloader","./EngagementService","../../../commands/MailAppEvents","../../../../common/fileUrl","../../../../common/cache/CacheTTL","../../../../common/controls/Loader"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,Sql,DomToString,XNode,AtomControl,AncestorEnumerator,descendentIterator,DateTime,CommonEvents,EmailContentDownloader,EngagementService,MailAppEvents,fileUrl,CacheTTL,Loader,cacheVersion,renderMailPromise,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;descendentIterator=_webAtomsCoreDistWebCoreAtomUI.descendentIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_EngagementService){EngagementService=_EngagementService.default},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents},function(_commonFileUrl){fileUrl=_commonFileUrl.fileUrl},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonControlsLoader){Loader=_commonControlsLoader.default}],execute:function(){cacheVersion="c1";_export("renderMailPromise",renderMailPromise=AtomControl.registerProperty("data-html","html",((c,e,value)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b,_c,_d;if(!value){e.innerHTML="";return}const{thread,email}=value;const mail=email!==null&&email!==void 0?email:thread.email;let html=mail.htmlBody;if(!html){c.render(XNode.create("div",null,XNode.create("div",{"style-height":"40vh"},XNode.create(Loader,null))),e,c);const es=c.app.resolve(EntityService);if(thread){mail.htmlBody=html=yield es.run(MailboxContactEmail,"getBody",thread,{cacheSeconds:CacheTTL.seconds.oneMonth,cacheVersion}).asText()}else{mail.htmlBody=html=yield es.run(Email,"getBody",email,{cacheSeconds:CacheTTL.seconds.oneMonth,cacheVersion}).asText()}e.innerHTML=""}const msg=document.createElement("div");if(!html){html!==null&&html!==void 0?html:html=mail.textBody;for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}msg.innerHTML=html;let firstVisibleElement=null;for(const node of descendentIterator(msg)){if(!firstVisibleElement&&node.nodeType===Node.TEXT_NODE){const{parentElement}=node;if(parentElement.tagName!=="STYLE"&&((_a=node.nodeValue)===null||_a===void 0?void 0:_a.trim())){firstVisibleElement||(firstVisibleElement=node.parentElement)}}if(node.nodeType!==Node.ELEMENT_NODE){continue}const iterator=node;let cid=iterator.getAttribute("data-content-id");if(cid){const a=(_b=mail.attachments)===null||_b===void 0?void 0:_b.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url)}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){firstVisibleElement||(firstVisibleElement=iterator);const src=iterator.getAttribute("src");iterator.setAttribute("controls","true");iterator.setAttribute("crossorigin","anonymous");if(src){if(src.startsWith("cid:")){cid=src.substring(4);const a=(_c=mail.attachments)===null||_c===void 0?void 0:_c.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",fileUrl(a));a.included=true}}if(/^http\:\/\//i.test(src)){iterator.setAttribute("src",src.substring(5))}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const container=document.createElement("div");const style=e.ownerDocument.createElement("style");style.textContent=`\n video,img {\n max-width: 100% !important;\n }\n\n div[msg] {\n overflow: visible;\n display: flex;\n flex-direction: column;\n word-break: break-word;\n }\n `;container.appendChild(style);msg.setAttribute("msg","msg");container.appendChild(msg);if(/img|video/i.test(firstVisibleElement===null||firstVisibleElement===void 0?void 0:firstVisibleElement.tagName)){const root=AncestorEnumerator.find(e,(x=>x.hasAttribute("data-msg-container")));(root!==null&&root!==void 0?root:e).setAttribute("has-poster","true")}if(thread&&!thread.timeRead&&thread.mailboxID&&thread.mailboxID!==((_d=thread.email)===null||_d===void 0?void 0:_d.senderID)){const timeRead=DateTime.now;thread.timeRead=timeRead;const es=c.app.resolve(EntityService);es.run(MailboxContactEmail,"markAsRead",thread).asJson().then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}if(window.previewMode){e.appendChild(container);return}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(container);setTimeout((()=>{if(msg.scrollWidth>msg.offsetWidth){msg.style.scale=msg.offsetWidth/msg.scrollWidth+"";msg.style.transformOrigin="top left"}}),100);return})))));ConversationService=class ConversationService{closeAllThreads(contact){return __awaiter(this,void 0,void 0,(function*(){contact.dateUpdated=DateTime.now;contact.closeAllConversations=true;yield this.entityService.save(contact,(c=>c));contact.openThreads=0;MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}closePermanently(contact){return __awaiter(this,void 0,void 0,(function*(){contact.autoClose=!contact.autoClose;contact.dateUpdated=DateTime.now;yield this.entityService.save(contact,(c=>c));MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}getDraft({mailboxID,emailAddressID,email}){return __awaiter(this,void 0,void 0,(function*(){const draft="draft";return yield this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID,draft},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.email.status===p.draft)).orderByDescending((x=>x.emailID)).include((x=>[x.email.recipients,x.email.attachments])).firstOrDefault()}))}draft(email,mailboxContacts,create=false,saveAttachments=true,cancelToken){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){email.subject||(email.subject="");email.dateUpdated=DateTime.now;let cloner=this.entityService.cloner(Object.assign({},email));if(saveAttachments){cloner=cloner.include((x=>x.attachments))}cloner=cloner.include((x=>x.recipients)).include((x=>x.threadContacts));yield this.entityService.save(cloner.copy);return email}if(create&&email){const recipients=(_a=email.recipients)!==null&&_a!==void 0?_a:email.recipients=[];const threads=(_b=email.threadContacts)!==null&&_b!==void 0?_b:email.threadContacts=[];if(!email.senderID){throw new Error("SenderID is not set")}email.status="draft";for(const{mailboxID,emailAddressID}of mailboxContacts){if(!recipients.some((r=>r.emailAddressID===emailAddressID))){recipients.push(EmailRecipient.create({emailAddressID}))}if(!threads.some((r=>r.mailboxID===mailboxID))){threads.push(MailboxContactEmail.create({mailboxID,emailAddressID}))}}yield this.entityService.save(email,(c=>c.include((x=>x.recipients)).include((x=>x.threadContacts))))}return email}))}list({searchItems=null,mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.engagement===null));if(searchItems){for(const{tag,text}of searchItems){if(tag){q=q.where({tag:tag.tagID},(p=>x=>x.email.emailTags.some((t=>t.tagID===p.tag))));continue}let search=text;if(!/\%/.test(search)){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.iLike(x.email.subject,p.search)||Sql.text.iLike(x.email.textBody,p.search)||x.email.attachments.some((a=>Sql.text.iLike(a.fileContent.textDocument.searchable,p.search)))))}}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken,expandable:true});const tasks=[];for(const mce of emails.items){const{email}=mce;(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";email.engagements=[]}return emails}))}stopEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;email.status="draft";yield this.entityService.save(email,(c=>c));CommonEvents.onEmailUnscheduled.dispatchEvent(mce)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ConversationService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ConversationService.prototype,"engagementService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register(["@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var PopupControl,InlinePopupControl;_export("default",void 0);return{setters:[function(_webAtomsCoreDistWebServicesPopupService){PopupControl=_webAtomsCoreDistWebServicesPopupService.PopupControl}],execute:function(){_export("default",InlinePopupControl=class InlinePopupControl extends PopupControl{static showPopup(opener,popup,options={}){const c=class extends InlinePopupControl{create(){this.render(popup)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const{atomControl}=start;if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}};options.popupStyle=".no-style";return c.showControl(opener,options)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupControl");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
1355
+ `.installLocal();_export("default",UserListPage=class UserListPage extends MasterDetailPage{constructor(){super(...arguments);this.users=[];this.version=0;this.external=false;this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;this.actionRenderer=()=>XNode.create("i",{"data-click-event":"add-user",class:"fas fa-plus"});this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{placeholder:"Search Users",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.external)),text:"External"}));this.search="";this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({for:"table","data-layout":"data-grid",selectOnClick:true,"data-list-selection":"default","data-selection-updated-event":"user-selected","data-event-items-updated":"users-loaded",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),items:this.users},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({start,search:this.search,cancelToken,external:this.external,v:this.version}))),{itemRenderer:user=>XNode.create("div",null,XNode.create("label",null,user.userID),XNode.create("div",null,XNode.create("div",null,XNode.create("label",{text:user.userName}),XNode.create("label",{"data-font-size":"x-small",text:user.displayName}))),XNode.create("label",null,user.multiFactor?"2FA":"-"))}))))}))}usersLoaded(){if(this.selectedUser){if(this.users.includes(this.selectedUser)){return}this.selectedUser=this.users.find((x=>x.userID===this.selectedUser.userID));if(this.selectedUser){return}}this.selectedUser=this.users[0]}userSelected(){if(!this.selectedUser){return}this.openDetail(UserDetailsPage,this.selectedUser)}addDomain(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditUserPage,User.create({userName:"",displayName:"",changePassword:{forceChangePasswordOnLogin:true,newPassword:""}}));this.version++}))}userChangePassword(model){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EditUserPage,model)}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserListPage.prototype,"userService",void 0);__decorate([Action({onEvent:"users-loaded",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],UserListPage.prototype,"usersLoaded",null);__decorate([Action({onEvent:"user-selected"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],UserListPage.prototype,"userSelected",null);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserListPage.prototype,"addDomain",null);__decorate([Action({onEvent:"user-change-password"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],UserListPage.prototype,"userChangePassword",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserListPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","./services/AdminUserService","../../../common/controls/repeater/InfiniteRepeater","../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,XNode,AtomRepeater,Bind,AdminUserService,InfiniteRepeater,SaveIconTextButton,ChooseUserPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",ChooseUserPage=class ChooseUserPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.users=[];this.selectedUser=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.titleRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search)),placeholder:"Search User"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({items:this.users,selectOnClick:true,"data-layout":"list",selectedItem:Bind.twoWaysImmediate((()=>this.selectedUser)),"data-list-selection":"default","data-selection-updated-event":"selection-updated"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.userService.list({search:this.search,start,cancelToken}))),{itemRenderer:user=>XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:user.userName}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.selectedUser))},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selectedUser),text:"Select"}))}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],ChooseUserPage.prototype,"userService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/ComboBox","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../SocialMailApp","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/buttons/IconButton","@web-atoms/web-controls/dist/PageNavigator","../../../admin/pages/users/ChooseUserPage","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,EmailAddress,Mailbox,UserMailbox,XNode,Form,TextFormField,FormField,ComboBox,MailboxService,InjectProperty,Bind,Action,SocialMailApp,AtomRepeater,AddIconTextButton,PageNavigator,ChooseUserPage,Checkbox,MailboxEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){EmailAddress=_modelModel.EmailAddress;Mailbox=_modelModel.Mailbox;UserMailbox=_modelModel.UserMailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_adminPagesUsersChooseUserPage){ChooseUserPage=_adminPagesUsersChooseUserPage.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",MailboxEditorPage=class MailboxEditorPage extends PopupWindowPage{init(){var _a,_b,_c,_d;var _e,_f;return __awaiter(this,void 0,void 0,(function*(){this.title="Add Hosted Mailbox";this.model=(_b=(_a=this.parameters)===null||_a===void 0?void 0:_a.model)!==null&&_b!==void 0?_b:Mailbox.create({emailAddress:EmailAddress.create({emailAddress:""}),maxStorage:1*1024*1024*1024,userMailboxes:[]});if(this.parameters.domainID){this.model.domainID=this.parameters.domainID}(_c=(_e=this.model).isChannel)!==null&&_c!==void 0?_c:_e.isChannel=false;(_d=(_f=this.model).isPrivateChannel)!==null&&_d!==void 0?_d:_f.isPrivateChannel=false;this.model.username="";const domains=yield this.mailboxService.domains(true);this.model.name=SocialMailApp.user.displayName;this.renderer=XNode.create("div",null,XNode.create(Form,{"data-submit-event":"save-mailbox"},XNode.create(TextFormField,{label:"Name",value:()=>this.model.name}),XNode.create(TextFormField,{label:"Email Prefix/Username",value:()=>this.model.username}),XNode.create(FormField,{label:"Domain"},XNode.create(ComboBox,{labelPath:item=>item===null||item===void 0?void 0:item.name,valuePath:item=>item===null||item===void 0?void 0:item.domainID,selectedItem:Bind.twoWaysImmediate((()=>this.model.domain)),value:Bind.twoWaysImmediate((()=>this.model.domainID)),items:domains})),XNode.create(FormField,{label:"Email Address"},XNode.create("span",{text:Bind.oneWay((()=>`${this.model.username}@${this.model.domain.name}`))})),XNode.create(FormField,{label:"Create Channel"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isChannel)),text:"Create a newsletter channel, which anyone with email can subscribe"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>this.model.isChannel)),label:"Private Channel"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isPrivateChannel)),text:"Make this channel private, only users with invitation can subscribe"})),XNode.create(FormField,{label:"Add Users who can access this mailbox"},XNode.create("div",null,XNode.create(AtomRepeater,{items:this.model.userMailboxes,"data-layout":"list",itemRenderer:item=>XNode.create("div",null,XNode.create("span",{text:item.user.userName}))}),XNode.create(AddIconTextButton,{"data-click-event":"add-user",text:"User"}))),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-type":"submit","data-layout":"accept-button",text:"Add"}))))}))}saveMailbox(){return __awaiter(this,void 0,void 0,(function*(){yield this.mailboxService.save(this.model);return this.model}))}addUser(){return __awaiter(this,void 0,void 0,(function*(){const user=yield PageNavigator.pushPageForResult(ChooseUserPage);this.model.userMailboxes.add(UserMailbox.create({user,userID:user.userID}))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxEditorPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"save-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"saveMailbox",null);__decorate([Action({onEvent:"add-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailboxEditorPage.prototype,"addUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,CommonEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("CommonEvents",CommonEvents={onThreadMarkedAsRead:EventScope.create(),onThreadMarkedAsBlocked:EventScope.create(),onDraftDeleted:EventScope.create(),onFileDeleted:EventScope.create(),onEmailScheduled:EventScope.create(),onEmailUnscheduled:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","../../../../common/events/CommonEvents","@web-atoms/core/dist/services/FetchBuilder","../../../../common/apiPath","../../../../common/SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Mailbox,MailboxContact,UserPushSubscription,Sql,CommonEvents,FetchBuilder,apiPath,SocialMailApp,MailService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_commonSql){Sql=_commonSql.Sql},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default}],execute:function(){MailService=class MailService{constructor(){this.tags=new Map}mailbox(mailboxID){return __awaiter(this,void 0,void 0,(function*(){const mb=yield this.entityService.query(Mailbox).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID)).include((x=>[x.emailAddress,x.folders.forEach((t=>t.tag))])).firstOrDefault();const notify=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();mb.notify=!!notify;const index=x=>{switch(x.tag.name.toLocaleLowerCase()){case"contacts":SocialMailApp.contactsFolderTagID=x.tagID;return 1;case"new":this.newTagID=x.tagID;SocialMailApp.newFolderTagID=x.tagID;return 2;case"spam":return 3;case"blocked":return 4}return 100};mb.folders.sort(((a,b)=>index(a)-index(b)));if(mb.folders.length){mb.folders[0].main=true}mb.folders.remove((x=>!x.main&&!x.count));return mb}))}list({search="",searchInMessages=false,mailboxID,conversationType="all",start=0,size=20,version=1,folderID=null,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContact).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID));if(folderID){q=q.where({folderID},(p=>x=>x.folderTagID===p.folderID))}switch(conversationType){case"open":q=q.where((x=>x.openThreads!==0));break;case"closed":q=q.where((x=>x.openThreads===0));break}if(search){const likeSearch=`${search}%`;if(searchInMessages){q=q.where({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.lastEmail.textBody,p.likeSearch)||Sql.text.iLike(x.lastEmail.subject,p.likeSearch)||Sql.text.iLike(x.emailAddress.name,p.likeSearch)||Sql.text.iLike(x.lastEmail.senderName,p.likeSearch)));q=q.orderByDescending({search,likeSearch},(p=>x=>x.emailAddress.emailAddress===p.search||Sql.text.iLike(x.emailAddress.name,p.likeSearch))).thenByDescending((x=>x.dateUpdated))}else{q=q.where({likeSearch},(p=>x=>x.emailAddress.names.some((n=>Sql.text.like(n.nameToken.word,p.likeSearch)))||Sql.text.like(x.emailAddress.domain.name,p.likeSearch))).orderByDescending((x=>x.dateUpdated))}}else{q=q.orderByDescending((x=>x.dateUpdated))}return q.include((x=>[x.emailAddress,x.lastEmail])).toPagedList({start,size,cancelToken})}))}raw(email){var _a;return __awaiter(this,void 0,void 0,(function*(){return FetchBuilder.get(apiPath(`/api/emails/logs/${(_a=email.signedFileLogID)!==null&&_a!==void 0?_a:email.email.mimeFileID}/${email.emailID}.eml`)).asText()}))}send(email){return __awaiter(this,void 0,void 0,(function*(){const{textBody}=email;if(textBody&&!email.subject){const lines=textBody.split("\n");for(const line of lines){if(!line.trim()){continue}email.subject||(email.subject=line.trim().substring(0,80));break}}for(const iterator of email.recipients){if(iterator.emailAddressText){iterator.emailAddressText=iterator.emailAddressText.trim()}}yield this.entityService.save(email,(c=>c.include((x=>x.recipients)).include((x=>x.attachments))));CommonEvents.onEmailScheduled.dispatchEvent(email)}))}deleteAttachment(file){return __awaiter(this,void 0,void 0,(function*(){const{appFileID}=file;yield this.entityService.save(AppFile.create({$deleted:true,appFileID}));CommonEvents.onFileDeleted.dispatchEvent(file)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailService.prototype,"entityService",void 0);MailService=__decorate([DISingleton()],MailService);_export("default",MailService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/MailService");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");DomToElement(div,XNode.create("div",null,node));return div.innerHTML}function DomToElement(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}switch(key){case"text":div.textContent=element;continue;case"innerHTML":div.innerHTML=element;continue}if(key.startsWith("styler-")){div.setAttribute(key,element);continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.setAttribute(key,element)}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);DomToElement(child,iterator)}}_export({default:DomToString,DomToElement});return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register([],(function(_export,_context){"use strict";var CacheTTL;return{setters:[],execute:function(){_export("CacheTTL",CacheTTL={seconds:{oneHour:60*60,oneDay:60*60*24,oneMonth:60*60*24*30,fifteenMinutes:15*60}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/models/TaskManager","../../model/model","@web-atoms/core/dist/di/Inject","../EntityService","../../common/cache/CacheTTL"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,TaskManager,Email,MailboxContactEmail,Inject,EntityService,CacheTTL,cacheVersion,cacheSeconds,EmailContentDownloader;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistModelsTaskManager){TaskManager=_webAtomsEntityDistModelsTaskManager.default},function(_modelModel){Email=_modelModel.Email;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL}],execute:function(){cacheVersion="c1";cacheSeconds=CacheTTL.seconds.oneMonth;EmailContentDownloader=class EmailContentDownloader extends TaskManager{downloadChatContent(mce){return this.entityService.run(MailboxContactEmail,"getBody",mce,{cacheVersion,cacheSeconds}).asText()}downloadPost(email){return __awaiter(this,void 0,void 0,(function*(){email.htmlBody||(email.htmlBody=yield this.entityService.run(Email,"getBody",email,{cacheVersion,cacheSeconds}).asText())}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailContentDownloader.prototype,"entityService",void 0);EmailContentDownloader=__decorate([DISingleton({})],EmailContentDownloader);_export("default",EmailContentDownloader)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email/EmailContentDownloader");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/cache/CacheTTL","@web-atoms/date-time/dist/DateTime","../../../../services/email/EmailContentDownloader","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Email,EmailEngagement,CacheTTL,DateTime,EmailContentDownloader,DISingleton,cacheSeconds,EngagementService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EngagementService=class EngagementService{downloadEngagements(email){return __awaiter(this,void 0,void 0,(function*(){try{const{emailID}=email;let now=DateTime.now;const minute=Math.floor(now.minute/5);now=now.addMinutes(-minute);const cacheVersion=email.dateUpdated?DateTime.from(email.dateUpdated).msSinceEpoch.toString(36):"-";email.engagements=yield this.entityService.query(EmailEngagement).where({emailID},(p=>x=>x.emailID===p.emailID)).toArray({cacheVersion,cacheSeconds:300})}catch(error){console.error(error)}}))}list({start=0,size=50,engagement="",emailID=0,mailboxID=0,emailAddressID=0,dateUpdated=null}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Email).where({mailboxID,emailAddressID,engagement,emailID},(p=>x=>x.engagement===p.engagement&&x.parentID===p.emailID));const cacheVersion=dateUpdated?DateTime.from(dateUpdated).msSinceEpoch.toString(36):"-";const list=yield q.toPagedList({start,size,cacheVersion,cacheSeconds});return list}))}};__decorate([Inject,__metadata("design:type",EntityService)],EngagementService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],EngagementService.prototype,"emailContentDownloader",void 0);EngagementService=__decorate([DISingleton()],EngagementService);_export("default",EngagementService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,MailAppEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("MailAppEvents",MailAppEvents={mailboxContactUpdated:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/commands/MailAppEvents");System.register(["./apiPath"],(function(_export,_context){"use strict";var apiPath,viewFileUrl,fileUrl,imageUrl,srcSetUrl,signedImageUrl,signedUrl,storeFileUrl;return{setters:[function(_apiPath){apiPath=_apiPath.apiPath}],execute:function(){_export("viewFileUrl",viewFileUrl=(site,file)=>apiPath(`/api/site/asset/view/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`));_export("fileUrl",fileUrl=(file,{action="download",args=void 0,fileName="",ext=""}={})=>{let name=encodeURIComponent(file.name);if(args){if(Array.isArray(args)){args=args.join(",")}ext="."+args+ext;action=action+"("+args+")"}if(ext){fileName=name+ext}if(fileName){name+="/"+fileName}const{emailID,appFileID,fileContentID}=file;if(emailID){return apiPath(`/api/emails/attachment/${action}/${emailID}/${appFileID}/${name}/`)}return apiPath(`/api/files/${action}/${appFileID}/${fileContentID}/${name}`)});fileUrl.webp=(file,size=300)=>fileUrl(file,{action:"webp",args:size,ext:".webp"});fileUrl.webm=file=>fileUrl(file,{action:"webm",ext:".webm"});fileUrl.pdf=file=>fileUrl(file,{action:"pdf",ext:".pdf"});fileUrl.html=file=>fileUrl(file,{action:"html",ext:".html"});_export("imageUrl",imageUrl=(site,file,size)=>{const name=encodeURIComponent(file.name);if(!size){return apiPath(`/api/site/asset/webp/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.webp`)}return apiPath(`/api/site/asset/webp(${size})/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.${size}.webp`)});_export("srcSetUrl",srcSetUrl=(site,file,imgUrlFunc=imageUrl)=>{const small=imgUrlFunc(site,file,480)+" 640w";const medium=imgUrlFunc(site,file,720)+" 1024w";const large=imgUrlFunc(site,file)+" 1256w";return`${small},${medium},${large}`});_export("signedImageUrl",signedImageUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0},size)=>apiPath(`/api/signed/webp(${size})/${appFileID}/${fileContentID}/${signed}/file.${size}.webp`));_export("signedUrl",signedUrl=({fileID=0,appFileID=fileID,fileContentID=void 0,signed=void 0})=>apiPath(`/api/signed/download/${appFileID}/${fileContentID}/${signed}/file.dat`));_export("storeFileUrl",storeFileUrl=(rootFolderID,file,type="download",name=file.name)=>apiPath(`/api/store/file/${type}/${rootFolderID}/${file.appFileID}/${file.fileContentID}/${name}`))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/fileUrl");System.register(["@web-atoms/core/dist/core/XNode","@social-mail/social-mail-client/content/images/gif/loader.gif"],(function(_export,_context){"use strict";var XNode,loaderImage;function Loader(){return XNode.create("div",{"data-position":"absolute-fill","data-layout":"center-all"},XNode.create("img",{src:loaderImage}))}_export("default",Loader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/Loader");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/date-time/dist/DateTime","../../../../common/events/CommonEvents","../../../../services/email/EmailContentDownloader","./EngagementService","../../../commands/MailAppEvents","../../../../common/fileUrl","../../../../common/cache/CacheTTL","../../../../common/controls/Loader"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,Sql,DomToString,XNode,AtomControl,AncestorEnumerator,descendentIterator,DateTime,CommonEvents,EmailContentDownloader,EngagementService,MailAppEvents,fileUrl,CacheTTL,Loader,cacheVersion,renderMailPromise,ConversationService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;descendentIterator=_webAtomsCoreDistWebCoreAtomUI.descendentIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_EngagementService){EngagementService=_EngagementService.default},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents},function(_commonFileUrl){fileUrl=_commonFileUrl.fileUrl},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_commonControlsLoader){Loader=_commonControlsLoader.default}],execute:function(){cacheVersion="c1";_export("renderMailPromise",renderMailPromise=AtomControl.registerProperty("data-html","html",((c,e,value)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b,_c,_d;if(!value){e.innerHTML="";return}const{thread,email}=value;const mail=email!==null&&email!==void 0?email:thread.email;let html=mail.htmlBody;if(thread===null||thread===void 0?void 0:thread.signedFileLogID){html=null}if(!html){c.render(XNode.create("div",null,XNode.create("div",{"style-height":"40vh"},XNode.create(Loader,null))),e,c);const es=c.app.resolve(EntityService);if(thread){const args=[];if(thread.signedFileLogID){args.push(thread.signedFileLogID)}mail.htmlBody=html=yield es.run(MailboxContactEmail,"getBody",thread,{cacheSeconds:CacheTTL.seconds.oneMonth,cacheVersion,args}).asText()}else{mail.htmlBody=html=yield es.run(Email,"getBody",email,{cacheSeconds:CacheTTL.seconds.oneMonth,cacheVersion}).asText()}e.innerHTML=""}const msg=document.createElement("div");if(!html){html!==null&&html!==void 0?html:html=mail.textBody;for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}msg.innerHTML=html;let firstVisibleElement=null;for(const node of descendentIterator(msg)){if(!firstVisibleElement&&node.nodeType===Node.TEXT_NODE){const{parentElement}=node;if(parentElement.tagName!=="STYLE"&&((_a=node.nodeValue)===null||_a===void 0?void 0:_a.trim())){firstVisibleElement||(firstVisibleElement=node.parentElement)}}if(node.nodeType!==Node.ELEMENT_NODE){continue}const iterator=node;let cid=iterator.getAttribute("data-content-id");if(cid){const a=(_b=mail.attachments)===null||_b===void 0?void 0:_b.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url)}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){firstVisibleElement||(firstVisibleElement=iterator);const src=iterator.getAttribute("src");iterator.setAttribute("controls","true");iterator.setAttribute("crossorigin","anonymous");if(src){if(src.startsWith("cid:")){cid=src.substring(4);const a=(_c=mail.attachments)===null||_c===void 0?void 0:_c.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",fileUrl(a));a.included=true}}if(/^http\:\/\//i.test(src)){iterator.setAttribute("src",src.substring(5))}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const container=document.createElement("div");const style=e.ownerDocument.createElement("style");style.textContent=`\n video,img {\n max-width: 100% !important;\n }\n\n div[msg] {\n overflow: visible;\n display: flex;\n flex-direction: column;\n word-break: break-word;\n }\n `;container.appendChild(style);msg.setAttribute("msg","msg");container.appendChild(msg);if(/img|video/i.test(firstVisibleElement===null||firstVisibleElement===void 0?void 0:firstVisibleElement.tagName)){const root=AncestorEnumerator.find(e,(x=>x.hasAttribute("data-msg-container")));(root!==null&&root!==void 0?root:e).setAttribute("has-poster","true")}if(thread&&!thread.timeRead&&thread.mailboxID&&thread.mailboxID!==((_d=thread.email)===null||_d===void 0?void 0:_d.senderID)){const timeRead=DateTime.now;thread.timeRead=timeRead;const es=c.app.resolve(EntityService);es.run(MailboxContactEmail,"markAsRead",thread).asJson().then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}if(window.previewMode){e.appendChild(container);return}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(container);setTimeout((()=>{if(msg.scrollWidth>msg.offsetWidth){msg.style.scale=msg.offsetWidth/msg.scrollWidth+"";msg.style.transformOrigin="top left"}}),100);return})))));ConversationService=class ConversationService{closeAllThreads(contact){return __awaiter(this,void 0,void 0,(function*(){contact.dateUpdated=DateTime.now;contact.closeAllConversations=true;yield this.entityService.save(contact,(c=>c));contact.openThreads=0;MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}closePermanently(contact){return __awaiter(this,void 0,void 0,(function*(){contact.autoClose=!contact.autoClose;contact.dateUpdated=DateTime.now;yield this.entityService.save(contact,(c=>c));MailAppEvents.mailboxContactUpdated.dispatchEvent(contact)}))}getDraft({mailboxID,emailAddressID,email}){return __awaiter(this,void 0,void 0,(function*(){const draft="draft";return yield this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID,draft},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.email.status===p.draft)).orderByDescending((x=>x.emailID)).include((x=>[x.email.recipients,x.email.attachments])).firstOrDefault()}))}draft(email,mailboxContacts,create=false,saveAttachments=true,cancelToken){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){email.subject||(email.subject="");email.dateUpdated=DateTime.now;let cloner=this.entityService.cloner(Object.assign({},email));if(saveAttachments){cloner=cloner.include((x=>x.attachments))}cloner=cloner.include((x=>x.recipients)).include((x=>x.threadContacts));yield this.entityService.save(cloner.copy);return email}if(create&&email){const recipients=(_a=email.recipients)!==null&&_a!==void 0?_a:email.recipients=[];const threads=(_b=email.threadContacts)!==null&&_b!==void 0?_b:email.threadContacts=[];if(!email.senderID){throw new Error("SenderID is not set")}email.status="draft";for(const{mailboxID,emailAddressID}of mailboxContacts){if(!recipients.some((r=>r.emailAddressID===emailAddressID))){recipients.push(EmailRecipient.create({emailAddressID}))}if(!threads.some((r=>r.mailboxID===mailboxID))){threads.push(MailboxContactEmail.create({mailboxID,emailAddressID}))}}yield this.entityService.save(email,(c=>c.include((x=>x.recipients)).include((x=>x.threadContacts))))}return email}))}list({searchItems=null,mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.engagement===null));if(searchItems){for(const{tag,text}of searchItems){if(tag){q=q.where({tag:tag.tagID},(p=>x=>x.email.emailTags.some((t=>t.tagID===p.tag))));continue}let search=text;if(!/\%/.test(search)){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.iLike(x.email.subject,p.search)||Sql.text.iLike(x.email.textBody,p.search)||x.email.attachments.some((a=>Sql.text.iLike(a.fileContent.textDocument.searchable,p.search)))))}}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken,expandable:true});const tasks=[];for(const mce of emails.items){const{email}=mce;(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";email.engagements=[]}return emails}))}stopEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;email.status="draft";yield this.entityService.save(email,(c=>c));CommonEvents.onEmailUnscheduled.dispatchEvent(mce)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ConversationService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ConversationService.prototype,"engagementService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register(["@web-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var PopupControl,InlinePopupControl;_export("default",void 0);return{setters:[function(_webAtomsCoreDistWebServicesPopupService){PopupControl=_webAtomsCoreDistWebServicesPopupService.PopupControl}],execute:function(){_export("default",InlinePopupControl=class InlinePopupControl extends PopupControl{static showPopup(opener,popup,options={}){const c=class extends InlinePopupControl{create(){this.render(popup)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const{atomControl}=start;if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}};options.popupStyle=".no-style";return c.showControl(opener,options)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupControl");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
1356
1356
 
1357
1357
  display: grid;
1358
1358
  grid-template-rows: auto 1fr;
@@ -1731,7 +1731,7 @@ html, body {
1731
1731
  white-space: pre-wrap;
1732
1732
  overflow-wrap: break-word;
1733
1733
  }
1734
- `.installLocal();_export("default",MailDetailPage=class MailDetailPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const model=this.parameters;this.renderer=XNode.create("div",null,XNode.create("div",null,"Fetching... this might take longer based on size of the email..."));this.title=model.subject;const text=yield this.mailService.raw(model);let from;const to=[];const cc=[];const bcc=[];(_a=model.recipients)!==null&&_a!==void 0?_a:model.recipients=[];for(const iterator of model.recipients){switch(iterator.type.toLocaleLowerCase()){case"to":if(to.length){to.push(XNode.create("span",{text:", "}))}to.push(displayRecipient(iterator));break;case"cc":if(cc.length){cc.push(XNode.create("span",{text:", "}))}cc.push(displayRecipient(iterator));break;case"bcc":if(bcc.length){bcc.push(XNode.create("span",{text:", "}))}bcc.push(displayRecipient(iterator));break;case"from":from=displayRecipient(iterator);break}}if(!from){from=displayRecipient(EmailRecipient.create({name:model.senderEmail.name,emailAddress:model.senderEmail}))}this.headerRenderer=()=>{var _a;return XNode.create("div",{"data-padding":"auto"},XNode.create("table",null,from&&XNode.create("tr",null,XNode.create("td",null,"From:"),XNode.create("td",null,from)),to.length&&XNode.create("tr",null,XNode.create("td",null,"To:"),XNode.create("td",null,...to)),cc.length&&XNode.create("tr",null,XNode.create("td",null,"Cc:"),XNode.create("td",null,...cc)),bcc.length&&XNode.create("tr",null,XNode.create("td",null,"Bcc:"),XNode.create("td",null,...bcc)),XNode.create("tr",null,XNode.create("td",null,"Subject:"),XNode.create("td",null,model.subject)),XNode.create("tr",null,XNode.create("td",null,"Date:"),XNode.create("td",null,DateFormats.withWeekDayAndTime((_a=model.dateReceived)!==null&&_a!==void 0?_a:model.dateCreated)))))};this.renderer=XNode.create("div",{class:css,"data-padding":"auto"},XNode.create("pre",null,...text.split("\n").map((x=>[x,XNode.create("br",null)])).flat()))}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailDetailPage.prototype,"mailService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/detail/MailDetailPage");System.register(["@web-atoms/web-controls/dist/mobile-app/MobileApp"],(function(_export,_context){"use strict";var ContentPage,HomePage;_export("default",void 0);return{setters:[function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage}],execute:function(){_export("default",HomePage=class HomePage extends ContentPage{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/home/HomePage");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/web-controls/dist/basic/Form"],(function(_export,_context){"use strict";var XNode,styled,Form;function AppForm(a,...nodes){return XNode.create(Form,Object.assign({"data-app-form":"app-form"},a),...nodes)}_export("default",AppForm);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default}],execute:function(){styled.css`
1734
+ `.installLocal();_export("default",MailDetailPage=class MailDetailPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const model=this.parameters.email;this.renderer=XNode.create("div",null,XNode.create("div",null,"Fetching... this might take longer based on size of the email..."));this.title=model.subject;const text=yield this.mailService.raw(this.parameters);let from;const to=[];const cc=[];const bcc=[];(_a=model.recipients)!==null&&_a!==void 0?_a:model.recipients=[];for(const iterator of model.recipients){switch(iterator.type.toLocaleLowerCase()){case"to":if(to.length){to.push(XNode.create("span",{text:", "}))}to.push(displayRecipient(iterator));break;case"cc":if(cc.length){cc.push(XNode.create("span",{text:", "}))}cc.push(displayRecipient(iterator));break;case"bcc":if(bcc.length){bcc.push(XNode.create("span",{text:", "}))}bcc.push(displayRecipient(iterator));break;case"from":from=displayRecipient(iterator);break}}if(!from){from=displayRecipient(EmailRecipient.create({name:model.senderEmail.name,emailAddress:model.senderEmail}))}this.headerRenderer=()=>{var _a;return XNode.create("div",{"data-padding":"auto"},XNode.create("table",null,from&&XNode.create("tr",null,XNode.create("td",null,"From:"),XNode.create("td",null,from)),to.length&&XNode.create("tr",null,XNode.create("td",null,"To:"),XNode.create("td",null,...to)),cc.length&&XNode.create("tr",null,XNode.create("td",null,"Cc:"),XNode.create("td",null,...cc)),bcc.length&&XNode.create("tr",null,XNode.create("td",null,"Bcc:"),XNode.create("td",null,...bcc)),XNode.create("tr",null,XNode.create("td",null,"Subject:"),XNode.create("td",null,model.subject)),XNode.create("tr",null,XNode.create("td",null,"Date:"),XNode.create("td",null,DateFormats.withWeekDayAndTime((_a=model.dateReceived)!==null&&_a!==void 0?_a:model.dateCreated)))))};this.renderer=XNode.create("div",{class:css,"data-padding":"auto"},XNode.create("pre",null,...text.split("\n").map((x=>[x,XNode.create("br",null)])).flat()))}))}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailDetailPage.prototype,"mailService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/detail/MailDetailPage");System.register(["@web-atoms/web-controls/dist/mobile-app/MobileApp"],(function(_export,_context){"use strict";var ContentPage,HomePage;_export("default",void 0);return{setters:[function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage}],execute:function(){_export("default",HomePage=class HomePage extends ContentPage{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/home/HomePage");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/web-controls/dist/basic/Form"],(function(_export,_context){"use strict";var XNode,styled,Form;function AppForm(a,...nodes){return XNode.create(Form,Object.assign({"data-app-form":"app-form"},a),...nodes)}_export("default",AppForm);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default}],execute:function(){styled.css`
1735
1735
  padding: 10px;
1736
1736
  border: solid 1px lightgray;
1737
1737
  border-radius: 10px;
@@ -2170,7 +2170,7 @@ html, body {
2170
2170
  & [data-mini-compose] {
2171
2171
  border-top: solid 1px lightgray;
2172
2172
  }
2173
- `.installLocal();id=1;fixLinks=()=>{const mID=`m_id_${id++}`;setTimeout((x=>{const m=document.getElementById(x);if(!m){return}m.querySelectorAll("a").forEach((a=>a.target="_blank"))}),100,mID);return mID};_export("default",ConversationPage=class ConversationPage extends ContentPage{constructor(){super(...arguments);this.mails=[];this.version=1;this.tags=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;const url=new URL(location.href);const tag=url.searchParams.get("tag");if(tag){const tagEntity=yield this.resolve(EntityService).query(Tag).where({tag},(p=>x=>x.lowerCaseName===p.tag)).firstOrDefault();this.tags.add({tag:tagEntity})}const mb=this.parameters;const name=mb.emailAddress.name;const emailAddress=mb.emailAddress.emailAddress;const title=`${name} <${emailAddress}>`;if(isMobileView){this.title=title;this.headerRenderer=()=>XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create("div",{"data-layout":"row"},XNode.create(ConversationTagChips,{contact:mb,items:this.tags})),XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create(ConversationTags,{contact:mb})))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(ConversationTagChips,{contact:mb,items:this.tags}),XNode.create("span",{text:title}));this.headerRenderer=()=>XNode.create(ConversationTags,{contact:mb})}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++},mailRead:(mailboxID,emailAddressID,emailID)=>{for(const iterator of this.mailsRepeater.items){if(iterator.emailID!==emailID){continue}iterator.timeRead=DateTime.now;this.mailsRepeater.refreshItem(iterator)}}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",presenter:Bind.presenter((c=>this.mailsRepeater=c)),items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:10,searchItems:this.tags.length?this.tags:null,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f,_g,_h;const item=thread.email;const internalDate=(_b=(_a=item.dateSent)!==null&&_a!==void 0?_a:item.dateReceived)!==null&&_b!==void 0?_b:item.dateCreated;const sent=item.senderID===thread.mailboxID;const remaining=DateTime.from((_c=item.dateSent)!==null&&_c!==void 0?_c:DateTime.today).diff(DateTime.now);const isSending=thread.email.status==="scheduled"&&remaining.totalSeconds>3;const engagements=(_d=thread.email.engagements)!==null&&_d!==void 0?_d:[];const tags=((_e=thread.email.tags)!==null&&_e!==void 0?_e:"").split(",").filter((x=>x));const isDraft=item.status==="draft";if(item.status==="closed"){return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:`Closed by ${item.senderName}`}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)})))}let readStatus="";let readColor="";if(sent){const timeRead=thread.timeRead&&DateTime.from(thread.timeRead);if(timeRead){readStatus=`Read ${DateFormats.relative.short(timeRead)}`;readColor="green"}else if(item.status==="sent"){readStatus="Sent";readColor="yellow"}else if(item.status==="scheduled"){readStatus="In queue";readColor="lightblue"}else{readStatus="";readColor=""}}if(isSending){let tm=remaining.totalMilliseconds;if(tm<0){tm=1e3}setTimeout((()=>this.mailsRepeater.refreshItem(thread)),tm)}return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),item.received?XNode.create("div",null):item.userID!==SocialMailApp.user.userID&&XNode.create("div",{"style-max-width":"20ch",title:(_f=item.senderUser)===null||_f===void 0?void 0:_f.displayName,text:(_g=item.senderUser)===null||_g===void 0?void 0:_g.displayName}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)}),XNode.create("i",{"data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical",title:"Options"})),XNode.create(LimitedText,{height:"40vh"},XNode.create("div",Object.assign({class:"message"},renderMailPromise({thread})))),XNode.create("div",{class:"engagements"},readStatus&&XNode.create("i",{class:"fa-solid fa-circle-small","style-color":readColor,title:readStatus}),...engagements.map((x=>XNode.create("span",{"data-click-event":"view-engagements","data-cursor":"pointer",title:`View all ${x.engagement} ${x.count}`,text:`${x.engagement} ${x.count}`})))),((_h=item.attachments)===null||_h===void 0?void 0:_h.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),XNode.create("div",{"data-layout":"row","data-margin-top":"default","data-margin-bottom":"default"},...tags.map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),isDraft&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create(EditIconTextButton,{"data-click-event":"edit-draft",text:"Edit Draft"}),XNode.create(DeleteIconTextButton,{"data-click-event":"delete-draft",text:"Delete Draft"})),!sent&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create("i",{"data-click-event":"react-email",class:"fa-light fa-face-smile-plus",title:"React"}),XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"}),XNode.create("i",{"data-click-event":"reply-all-email",class:"fa-solid fa-reply-all",title:"Reply All"}),XNode.create("i",{"data-click-event":"forward-email",class:"fa-solid fa-share-all",title:"Forward"}),item.hasUnsubscribe&&XNode.create("button",{"data-layout":"link","data-margin-left":"auto","data-click-event":"unsubscribe-email"},"Unsubscribe")),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:"Sending"}),XNode.create("img",{"style-max-height":"30px",src:loaderImage}),XNode.create("button",{"data-click-event":"stop-email","data-layout":"stop-icon-button","style-margin-left":"20px"},XNode.create("i",{class:"fas fa-stop"}),"Stop")))}})));this.actionRenderer=()=>XNode.create(PopupActionButton,{icon:"fas fa-bars"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px","data-font-size":"small"},XNode.create(MenuItem,{"data-click-event":"open-contact-web-hooks",label:"Web Hooks"}),XNode.create(MenuItem,{"data-click-event":"close-all-threads",label:"Close All Threads"}),!this.parameters.autoClose?XNode.create(MenuItem,{"data-click-event":"close-permanently",label:"Close Threads Permanently"}):XNode.create(MenuItem,{"data-click-event":"open-threads",label:"Open Threads on new Email"}),this.parameters.blocked?XNode.create(MenuItem,{"data-click-event":"unblock-sender",icon:"fas fa-badge-check",label:"Unblock Sender"}):XNode.create(MenuItem,{"data-click-event":"block-sender",icon:"fas fa-ban",label:"Block Sender"})));this.showComposeButton()}))}openWebHooks(){return __awaiter(this,void 0,void 0,(function*(){const title=`Web Hooks for Contact ${this.parameters.emailAddress.emailAddress}`;PageNavigator.pushPage(WebHookListPage,{mailboxID:this.parameters.mailboxID,emailAddressID:this.parameters.emailAddressID,title})}))}showComposeButton(email=null){if(this.parameters.newRequest||this.parameters.folderTagID===SocialMailApp.newFolderTagID){this.footerRenderer=()=>XNode.create("div",null,XNode.create("div",{"data-layout":"vertical-flex-center-items"},XNode.create("h5",null,"This sender does not exist in your contacts, and this sender's emails will be restricted in future unless you approve the sender."),XNode.create(AddIconTextButton,{"data-click-event":"approve-sender",text:"Approve Sender"})));return}if(this.parameters.blocked){this.footerRenderer=()=>XNode.create("div",null,XNode.create("div",{"data-layout":"vertical-flex-center-items"},XNode.create("h5",null,"This sender is blocked by you."),XNode.create(AddIconTextButton,{"data-click-event":"approve-sender",text:"Unblock Sender"})));return}if(email){this.mailsRepeater.items.remove(email)}this.footerRenderer=()=>XNode.create("div",{"data-position":"absolute","style-right":"20px","style-bottom":"5px","data-layout":"row"},XNode.create(AddIconTextButton,{"event-click":()=>this.startCompose(),"data-margin-left":"auto",text:"Compose"}))}startCompose(thread=null,email=null){this.footerRenderer=()=>{var _a;return XNode.create(MiniComposeBox,{senderID:this.parameters.mailboxID,mailboxContacts:[thread!==null&&thread!==void 0?thread:this.parameters],draft:(_a=thread===null||thread===void 0?void 0:thread.email)!==null&&_a!==void 0?_a:email})}}approveSender(){return __awaiter(this,void 0,void 0,(function*(){const es=this.resolve(EntityService);this.parameters.newRequest=false;this.parameters.blocked=false;this.parameters.folderTagID=SocialMailApp.contactsFolderTagID;yield es.save(this.parameters,(c=>c));this.showComposeButton()}))}onClick(a,e){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const anchor=e.composed?e.composedPath().find((x=>x.tagName==="A")):AncestorEnumerator.find(e.target,(x=>x.tagName==="A"));if(!anchor){return}const href=anchor.getAttribute("href");if(!/^mailto\:/.test(href)){return}e.preventDefault();const url=new URL(href);const to=url.pathname;const subject=(_a=url.searchParams.get("subject"))!==null&&_a!==void 0?_a:"";const body=(_b=url.searchParams.get("body"))!==null&&_b!==void 0?_b:"";const inReplyTo=(_c=url.searchParams.get("inReplyTo"))!==null&&_c!==void 0?_c:"";const{item}=AtomRepeater.itemFromElement(e.target);const{email:{parentID,headerMessageID}}=item;const recipients=[EmailRecipient.create({emailAddressText:to})];const child=Email.create({senderID:this.parameters.mailboxID,subject,headers:JSON.stringify({inReplyTo}),parentID:inReplyTo===headerMessageID?parentID:null,received:false,recipients,htmlBody:`<div contentEditable="true">${body}</div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}onEmailScheduled(email){if(email.senderID!==this.parameters.mailboxID){return}const{emailID}=email;const{emailAddressID,mailboxID}=this.parameters;const index=this.mails.findIndex((x=>x.emailID===emailID));if(index!==-1){this.mails.removeAt(index)}this.mails.insert(0,MailboxContactEmail.create({emailID,emailAddressID,mailboxID,email}))}stopEmail(thread){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.stopEmail(thread)}))}closeAllThreads(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closeAllThreads(this.parameters)}))}closePermanent(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closePermanently(this.parameters)}))}openThreads(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closePermanently(this.parameters)}))}forwardEmail(thread,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopup.show(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>this.onEmailForward(thread),label:"As Inline Message"}),XNode.create(MenuItem,{eventClick:()=>this.onEmailForward(thread,true),label:"As Attachment"})),{alignment:"above"})}))}mailOptions(thread,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},((_a=thread.email)===null||_a===void 0?void 0:_a.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-delete","data-click-event":"un-publish-mail"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread.email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/emails/logs/${thread.email.mimeFileID}/${thread.email.emailID}.eml`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_b=thread.email)===null||_b===void 0?void 0:_b.status)==="draft"&&XNode.create(MenuItem,{"data-click-event":"delete-draft",icon:"fa-regular fa-clock-rotate-left",label:"Delete Draft"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}onEmailForward(thread,asAttachment=false){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(MiniComposePage,{thread,asAttachment})}))}reactEmail(thread,ce){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const emoji=yield EmojiPicker.show({parameters:{thread,preview:XNode.create("div",Object.assign({},renderMailPromise({thread})))}});const{email:{emailID,subject}}=thread;const now=DateTime.now;const{emailAddressID}=thread;const email=Email.create({parentID:emailID,subject:"Re: "+subject,textBody:emoji+"\n",htmlBody:`<div>${emoji}</div>`,engagement:emoji,senderID:this.parameters.mailboxID,headers:JSON.stringify({"x-engagement":emoji}),dateSent:now,dateReceived:now,dateCreated:now,received:false,status:"scheduled",recipients:[EmailRecipient.create({emailAddressID})]});yield this.resolve(EntityService).save(email);const engagements=(_a=(_b=thread.email).engagements)!==null&&_a!==void 0?_a:_b.engagements=[];let e=engagements.find((x=>x.engagement===emoji));if(!e){e=EmailEngagement.create({engagement:emoji,emailID,count:1});engagements.add(e)}else{e.count++}this.mailsRepeater.refreshItem(thread)}))}replyEmail(mce,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;const parse=JSON.parse(email.headers);const replyTo=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0];const emailAddressText=this.parameters.emailAddress.emailAddress.toLocaleLowerCase();const name=email.senderName;const parentID=(_b=email.parentID)!==null&&_b!==void 0?_b:email.emailID;const recipients=[EmailRecipient.create({name,replyTo,emailAddressID:this.parameters.emailAddressID,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddressID,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddressText===emailAddress))){continue}if(this.parameters.mailboxID===emailAddressID){continue}recipients.push(EmailRecipient.create({name:rName,emailAddressID,emailAddressText:emailAddress}))}}const subject=/^re\s?\:/i.test(email.subject)?email.subject:`Re: ${email.subject}`;const child=Email.create({senderID:this.parameters.mailboxID,subject,parentID,received:false,recipients,htmlBody:`<section>\n <section contentEditable="true">\n <p>\n <br/>\n <br/>\n </p>\n </section>\n <blockquote data-type="reply-to" style="margin-inline-start: 20px; margin-inline-end: 0; border-left: solid 1px lightgray; padding-left: 10px;">\n <details>\n <summary>From: ${email.senderName} ${`&lt;${this.parameters.emailAddress.emailAddress}&gt;`}<br/>\n Subject: ${email.subject}\n </summary>\n <div>\n\n ${email.htmlBody}\n </div>\n </details>\n </blockquote>\n </section>`});this.startCompose(null,child)}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}unblockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}viewEngagements(thread){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EngagementDetails,thread)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}unsubscribeEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const result=yield PageNavigator.pushPageForResult(UnsubscribeWindow,mce);switch(result){case"blocked":this.parameters.blocked=true;break}}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"open-contact-web-hooks"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openWebHooks",null);__decorate([Action({onEvent:"emailSent"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"showComposeButton",null);__decorate([Action({onEvent:"edit-draft"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"startCompose",null);__decorate([Action({onEvent:"approve-sender"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"approveSender",null);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,PointerEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onClick",null);__decorate([Action({onEvent:CommonEvents.onEmailScheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"onEmailScheduled",null);__decorate([Action({onEvent:"stop-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"stopEmail",null);__decorate([Action({onEvent:"close-all-threads",confirm:"You sure you want to close all threads?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"closeAllThreads",null);__decorate([Action({onEvent:"close-permanently",confirm:"Are you sure, you wan to close this contact permanently?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"closePermanent",null);__decorate([Action({onEvent:"open-threads",confirm:"Are you sure you want to change this contact to normal?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openThreads",null);__decorate([Action({onEvent:"forward-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"forwardEmail",null);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"open-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openLogs",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onEmailForward",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"reactEmail",null);__decorate([Action({onEvent:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null);__decorate([Action({onEvent:"block-sender",confirm:"Are you sure you want to block this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"blockSender",null);__decorate([Action({onEvent:"unblock-sender",confirm:"Are you sure you want to unblock this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unblockSender",null);__decorate([Action({onEvent:"view-engagements"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"viewEngagements",null);__decorate([Action({onEvent:"delete-draft",confirm:"Are you sure you want to delete this draft?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"deleteDraft",null);__decorate([Action({onEvent:"unsubscribe-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unsubscribeEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","../../../common/NumberFormats","../../commands/AppCommands","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxService,InjectProperty,XNode,AtomRepeater,InfiniteRepeater,toFileSize,AppCommands,Bind,ChooseMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",ChooseMailboxPage=class ChooseMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.mailboxes=[];this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Open Mailbox";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"list",items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openMailbox.displayRoute({id:item.mailboxID}),text:item.emailAddress.emailAddress}),XNode.create("span",{text:toFileSize(item.storage)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChooseMailboxPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");System.register([],(function(_export,_context){"use strict";var QueryIterator;_export("default",void 0);return{setters:[],execute:function(){_export("default",QueryIterator=class QueryIterator{static first(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}firstOrFail(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/QueryIterator");System.register([],(function(_export,_context){"use strict";var AttachmentFile;_export("AttachmentFile",void 0);return{setters:[],execute:function(){_export("AttachmentFile",AttachmentFile=class AttachmentFile extends File{constructor(fileBits,fileName,options){super(fileBits,fileName,options);this.contentId=options.contentId;this.disposition=options.disposition}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile");System.register([],(function(_export,_context){"use strict";function*tokenize(text,sep){let start=0;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}yield text.substring(start,index);start=index+1}yield text.substring(start)}function tokenizeMax(text,sep,max=Number.MAX_SAFE_INTEGER){let start=0;const items=[];max--;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}items.push(text.substring(start,index));start=index+1;if(--max===0){break}}items.push(text.substring(start));return items}_export({tokenize,tokenizeMax});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/tokenizer");System.register(["./tokenizer"],(function(_export,_context){"use strict";var tokenize,tokenizeMax,parsePairs;return{setters:[function(_tokenizer){tokenize=_tokenizer.tokenize;tokenizeMax=_tokenizer.tokenizeMax}],execute:function(){_export("parsePairs",parsePairs=(text,emptyName)=>{const pairs={toString(){return text}};for(const iterator of tokenize(text,";")){const trimmed=iterator.trim();if(!trimmed){break}const items=tokenizeMax(trimmed,"=",2).map((x=>x.trim()));let[key,value]=items;if(items.length===1){value=key;key=emptyName!==null&&emptyName!==void 0?emptyName:key}try{if(value.startsWith('"')){value=JSON.parse(value)}}catch(_a){}pairs[key]=value}return pairs})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/parsePairs");System.register(["./parsePairs"],(function(_export,_context){"use strict";var parsePairs,HeaderContentType;_export("HeaderContentType",void 0);return{setters:[function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentType",HeaderContentType=class HeaderContentType{constructor(type,charset="UTF-8",boundary){this.type=type;this.charset=charset;this.boundary=boundary}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.charset=items.charset;this.boundary=items.boundary}toString(){if(this.boundary){return`${this.type}; charset="${this.charset}"; boundary="${this.boundary}";`}return`${this.type}; charset="${this.charset}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType");System.register([],(function(_export,_context){"use strict";var toBuffer,RawBuffer;return{setters:[],execute:function(){toBuffer=text=>{const bytes=new Uint8Array(text.length);for(let index=0;index<text.length;index++){bytes[index]=text.charCodeAt(index)}return bytes.buffer};_export("RawBuffer",RawBuffer={decode:(bytesAsString,encoding="utf-8")=>{if(!encoding){return bytesAsString}const te=new TextDecoder(encoding);return te.decode(toBuffer(bytesAsString))},encode:(text,encoding="utf-8")=>{if(!/utf\-?8/i.test(encoding)){throw new Error(`Encoding ${encoding} not supported`)}const te=new TextEncoder;const array=te.encode(text);const a=[];for(const iterator of array){a.push(String.fromCharCode(iterator))}return a.join("")},toBase64Async(blob,asDataUrl=false){return new Promise(((resolve,reject)=>{const reader=new FileReader;reader.onerror=()=>{reject(reader.error)};reader.onload=()=>{const text=reader.result;if(asDataUrl){resolve(text);return}const index=text.indexOf(",");resolve(text.substring(index+1))};reader.readAsDataURL(blob)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer");System.register(["./RawBuffer"],(function(_export,_context){"use strict";var RawBuffer,isEncodedRegEx,hexToUnicode,decode,isSimpleText,wordEncoding;return{setters:[function(_RawBuffer){RawBuffer=_RawBuffer.RawBuffer}],execute:function(){isEncodedRegEx=/\=\?([^\?\s]+)\?([^\?\s]{1})\?([^\s\?]+)\?\=\s*/gm;hexToUnicode=/(\=([0-9a-f]{2}))|(\_)/gim;decode=text=>text.replace(isEncodedRegEx,((matched,encoding,format,buffer)=>{if(/b/i.test(format)){return RawBuffer.decode(atob(buffer),encoding)}if(/q/i.test(format)){const replaced=buffer.replace(hexToUnicode,((m,group,code)=>{if(m==="_"){return" "}return String.fromCharCode(parseInt(code,16))}));return RawBuffer.decode(replaced,encoding)}return matched}));isSimpleText=/[0-9a-zA-Z\x20]/;_export("wordEncoding",wordEncoding={decode,encode:(word,ifNeeded=false)=>{if(ifNeeded){if(isSimpleText.test(word)){return word}}word=RawBuffer.encode(word);return`=?UTF-8?B?${btoa(word)}?=`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding");System.register(["./encoder/word-encoding","./parsePairs"],(function(_export,_context){"use strict";var wordEncoding,parsePairs,HeaderContentDisposition;_export("HeaderContentDisposition",void 0);return{setters:[function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding},function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentDisposition",HeaderContentDisposition=class HeaderContentDisposition{constructor(type,filename,name){this.type=type;this.filename=filename;this.name=name}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.filename=items.filename;this.name=items.name}toString(){return`${this.type};\r\n\t\tfilename="${wordEncoding.encode(this.filename)}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition");System.register([],(function(_export,_context){"use strict";function base64toBlob(base64Data,contentType){contentType=contentType||"";const sliceSize=1024;const byteCharacters=atob(base64Data);const bytesLength=byteCharacters.length;const slicesCount=Math.ceil(bytesLength/sliceSize);const byteArrays=new Array(slicesCount);for(let sliceIndex=0;sliceIndex<slicesCount;++sliceIndex){const begin=sliceIndex*sliceSize;const end=Math.min(begin+sliceSize,bytesLength);const bytes=new Array(end-begin);for(let offset=begin,i=0;offset<end;++i,++offset){bytes[i]=byteCharacters[offset].charCodeAt(0)}byteArrays[sliceIndex]=new Uint8Array(bytes)}return new Blob(byteArrays,{type:contentType})}_export("base64toBlob",base64toBlob);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob");System.register([],(function(_export,_context){"use strict";var stringFromCharCode,decode,handleTrailingCharacters,regexUnsafeSymbols,encode,quotedPrintable;return{setters:[],execute:function(){stringFromCharCode=String.fromCharCode;decode=function(input){return input.replace(/[\t\x20]$/gm,"").replace(/=(?:\r\n?|\n|$)/g,"").replace(/=([a-fA-F0-9]{2})/g,(function($0,$1){const codePoint=parseInt($1,16);return stringFromCharCode(codePoint)}))};handleTrailingCharacters=function(text){return text.replace(/\x20$/,"=20").replace(/\t$/,"=09")};regexUnsafeSymbols=/[\0-\x08\n-\x1F=\x7F-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g;encode=function(text){const encoded=text.replace(regexUnsafeSymbols,(function(symbol){if(symbol>"ÿ"){throw RangeError("`quotedPrintable.encode()` expects extended ASCII input only. "+"Don’t forget to encode the input first using a character "+"encoding like UTF-8.")}const codePoint=symbol.charCodeAt(0);const hexadecimal=codePoint.toString(16).toUpperCase();return"="+("0"+hexadecimal).slice(-2)}));const LINE_LENGTH=75;const lines=encoded.split(/\r\n?|\n/g);let lineIndex=-1;const lineCount=lines.length;const result=[];let buffer;while(++lineIndex<lineCount){const line=lines[lineIndex];let index=0;const length=line.length;while(index<length){buffer=encoded.slice(index,index+LINE_LENGTH);if(/=$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-1);index+=LINE_LENGTH-1}else if(/=[A-F0-9]$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-2);index+=LINE_LENGTH-2}else{index+=LINE_LENGTH}result.push(buffer)}}const lastLineLength=buffer.length;if(/[\t\x20]$/.test(buffer)){result.pop();if(lastLineLength+2<=LINE_LENGTH+1){result.push(handleTrailingCharacters(buffer))}else{result.push(buffer.slice(0,lastLineLength-1),handleTrailingCharacters(buffer.slice(lastLineLength-1,lastLineLength)))}}return result.join("=\r\n")};_export("quotedPrintable",quotedPrintable={encode,decode,version:"1.0.1"})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable");System.register(["tslib","../../common/QueryIterator","./AttachmentFile","./HeaderContentType","./HeaderContentDisposition","./encoder/RawBuffer","./encoder/base64-to-blob","./encoder/quoted-printable","./encoder/word-encoding"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,QueryIterator,AttachmentFile,HeaderContentType,HeaderContentDisposition,RawBuffer,base64toBlob,quotedPrintable,wordEncoding,CIMap,MimeNode;_export({CIMap:void 0,MimeNode:void 0});return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_commonQueryIterator){QueryIterator=_commonQueryIterator.default},function(_AttachmentFile){AttachmentFile=_AttachmentFile.AttachmentFile},function(_HeaderContentType){HeaderContentType=_HeaderContentType.HeaderContentType},function(_HeaderContentDisposition){HeaderContentDisposition=_HeaderContentDisposition.HeaderContentDisposition},function(_encoderRawBuffer){RawBuffer=_encoderRawBuffer.RawBuffer},function(_encoderBase64ToBlob){base64toBlob=_encoderBase64ToBlob.base64toBlob},function(_encoderQuotedPrintable){quotedPrintable=_encoderQuotedPrintable.quotedPrintable},function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding}],execute:function(){_export("CIMap",CIMap=class CIMap extends Map{constructor(){super(...arguments);this.ci=new Map}set(key,value){if(typeof key==="string"){let ck=this.ci.get(key);if(ck===void 0){ck=key.toLocaleLowerCase();this.ci.set(ck,key)}else{key=ck}}return super.set(key,value)}get(key){if(typeof key==="string"){const ck=key.toLocaleLowerCase();key=this.ci.get(ck)}return super.get(key)}});_export("MimeNode",MimeNode=class MimeNode{static createMessage({html,subject,text="",name="",attachments=[]}){const root=new MimeNode("multipart/mixed");root.setHeader("Subject",subject);if(name){root.setHeader("X-Name",name)}const body=new MimeNode("multipart/alternative");body.children=[];if(html){body.children.push(this.create(html,"text/html"))}if(text){body.children.push(this.create(text,"text/plain"))}root.children=[body];if(attachments){for(const iterator of attachments){root.children.push(this.create(iterator))}}return root}static create(text,type,id){if(typeof text==="string"){const node=new MimeNode(type);node.text=text;return node}const fileNode=new MimeNode(text.type);fileNode.blobData=text;fileNode.contentDisposition=new HeaderContentDisposition(type||"attachment");fileNode.contentDisposition.filename=text.name;fileNode.setHeader("Content-Disposition",fileNode.contentDisposition);if(id){fileNode.setHeader("Content-Id",id)}return fileNode}get text(){var _a,_b,_c;let{encoded}=this;if(!encoded){return}const cte=(_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLowerCase();switch(cte){case"quoted-printable":encoded=quotedPrintable.decode(encoded);break;case"base64":encoded=btoa(encoded);break}return(_b=this.textContent)!==null&&_b!==void 0?_b:this.textContent=RawBuffer.decode(encoded,(_c=this.contentType)===null||_c===void 0?void 0:_c.charset)}set text(v){this.contentTransferEncoding="quoted-printable";this.textContent=v}get blob(){var _a,_b;if(((_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLocaleLowerCase())!=="base64"){throw new Error("Not supported")}return(_b=this.blobData)!==null&&_b!==void 0?_b:this.blobData=base64toBlob(this.encoded,this.contentType.type)}set blob(v){this.blobData=v}get contentTransferEncoding(){return this.header("Content-Transfer-Encoding")}set contentTransferEncoding(v){this.setHeader("Content-Transfer-Encoding",v)}get boundary(){return this.contentType.boundary}get descendent(){return this.enumerate()}constructor(type){this.headers=new CIMap;this.contentType=new HeaderContentType(type);this.headers.set("Content-Type",this.contentType)}getFirstChild(contentType,create=false){var _a;contentType=contentType.toLocaleLowerCase();let child=QueryIterator.first(this.descendent,(x=>x.contentType.type===contentType));if(!child&&create){child=new MimeNode(contentType);((_a=this.children)!==null&&_a!==void 0?_a:this.children=[]).push(child)}return child}header(name){return this.headers.get(name)}setHeader(name,value){this.headers.set(name,value)}asFile(){return __awaiter(this,void 0,void 0,(function*(){const text=this.encoded.split("\n").map((x=>x.trim())).join("");const url=`data:${this.contentType.type};base64,${text}`;const blob=yield fetch(url);const af=new AttachmentFile([yield blob.blob()],this.contentDisposition.filename,{type:this.contentType.type,contentId:this.header("Content-Id"),disposition:this.contentDisposition.type});af.node=this;return af}))}attachments(files=[]){var _a;return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.children){if(iterator.children){yield iterator.attachments(files);continue}if((_a=iterator.contentDisposition)===null||_a===void 0?void 0:_a.type){files.push(yield iterator.asFile())}}return files}))}parse(lines,last=""){var _a,e_1,_b,_c,_d,e_2,_e,_f;var _g;return __awaiter(this,void 0,void 0,(function*(){yield this.parseHeaders(lines);let boundary=this.contentType.boundary;if(!boundary){const data=[];try{for(var _h=true,_j=__asyncValues(lines.read()),_k;_k=yield _j.next(),_a=_k.done,!_a;){_c=_k.value;_h=false;try{const line=_c;const trimmed=line.trimEnd();if(trimmed.length===0){break}if(trimmed===last){break}data.push(line)}finally{_h=true}}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(!_h&&!_a&&(_b=_j.return))yield _b.call(_j)}finally{if(e_1)throw e_1.error}}this.encoded=data.join("\n");return}boundary="--"+boundary;const end=boundary+"--";for(;;){let boundaryFound=false;try{for(var _l=true,_m=(e_2=void 0,__asyncValues(lines.read())),_o;_o=yield _m.next(),_d=_o.done,!_d;){_f=_o.value;_l=false;try{const line=_f;if(line===boundary){boundaryFound=true;break}if(line===end){return}}finally{_l=true}}}catch(e_2_1){e_2={error:e_2_1}}finally{try{if(!_l&&!_d&&(_e=_m.return))yield _e.call(_m)}finally{if(e_2)throw e_2.error}}if(!boundaryFound){break}const child=new MimeNode("");yield child.parse(lines,end);((_g=this.children)!==null&&_g!==void 0?_g:this.children=[]).push(child)}}))}parseHeaders(lines){var _a,e_3,_b,_c;var _d;return __awaiter(this,void 0,void 0,(function*(){let headerName="";let headerValue="";try{for(var _e=true,_f=__asyncValues(lines.read()),_g;_g=yield _f.next(),_a=_g.done,!_a;){_c=_g.value;_e=false;try{const iterator=_c;const value=iterator.trim();if(value.length===0){break}if(/^[\x20\t]/.test(iterator)){headerValue+=wordEncoding.decode(value);continue}if(headerValue){this.setHeader(headerName,headerValue)}const index=value.indexOf(":");headerName=value.substring(0,index);headerValue=wordEncoding.decode(value.substring(index+1).trim())}finally{_e=true}}}catch(e_3_1){e_3={error:e_3_1}}finally{try{if(!_e&&!_a&&(_b=_f.return))yield _b.call(_f)}finally{if(e_3)throw e_3.error}}if(headerValue){this.setHeader(headerName,headerValue)}const ct=this.header("Content-Type");this.contentType.parse(ct);this.setHeader("Content-Type",ct);const cd=this.header("Content-Disposition");if(cd){(_d=this.contentDisposition)!==null&&_d!==void 0?_d:this.contentDisposition=new HeaderContentDisposition;this.contentDisposition.parse(cd);this.setHeader("Content-Disposition",cd)}}))}save(writer){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){if(this.textContent){this.contentType.charset="UTF-8"}if((_a=this.children)===null||_a===void 0?void 0:_a.length){(_c=this.contentType).boundary||(_c.boundary=`${Date.now()}-${Date.now()}-${Date.now()}`)}for(const[key,element]of this.headers.entries()){switch(key){case"content-disposition":writer.writeLine(`Content-Disposition: ${this.contentDisposition}`);continue;case"content-type":writer.writeLine(`Content-Type:${this.contentType.toString()}`);continue;case"subject":writer.writeLine(`${key}: ${wordEncoding.encode(element,true)}`);continue}writer.writeLine(`${key}: ${element}`)}writer.writeLine("");if((_b=this.children)===null||_b===void 0?void 0:_b.length){const boundary=`--${this.contentType.boundary}`;for(const iterator of this.children){writer.writeLine(boundary);yield iterator.save(writer);writer.writeLine("")}writer.writeLine(boundary+"--");return}if(this.blobData){const base64=yield RawBuffer.toBase64Async(this.blobData);let start=0;const max=80;for(;;){if(start+max>base64.length){writer.writeLine(base64.substring(start));break}writer.writeLine(base64.substring(start,start+max));start+=max}writer.writeLine("");return}let text=this.text;if(this.contentTransferEncoding==="quoted-printable"){text=quotedPrintable.encode(RawBuffer.encode(text))}writer.writeLine(RawBuffer.encode(text));writer.writeLine("");return}))}*enumerate(){yield this;if(!this.children){return}for(const iterator of this.children){yield*iterator.enumerate()}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeNode");System.register(["tslib","../tokenizer"],(function(_export,_context){"use strict";var __asyncGenerator,__await,tokenize,LineStream,StringLineStream,ReadableLineStream;_export({default:void 0,StringLineStream:void 0,ReadableLineStream:void 0});return{setters:[function(_tslib){__asyncGenerator=_tslib.__asyncGenerator;__await=_tslib.__await},function(_tokenizer){tokenize=_tokenizer.tokenize}],execute:function(){_export("default",LineStream=class LineStream{read(){var _a;return __asyncGenerator(this,arguments,(function*read_1(){const g=(_a=this.g)!==null&&_a!==void 0?_a:this.g=this.lines();for(;;){const{value,done}=yield __await(g.next());if(done){break}yield yield __await(value)}}))}});_export("StringLineStream",StringLineStream=class StringLineStream extends LineStream{constructor(text){super();this.text=text}lines(){return __asyncGenerator(this,arguments,(function*lines_1(){for(const iterator of tokenize(this.text,"\n")){yield yield __await(iterator)}}))}});_export("ReadableLineStream",ReadableLineStream=class ReadableLineStream extends LineStream{constructor(readable){super();this.readable=readable}lines(){return __asyncGenerator(this,arguments,(function*lines_2(){const utf8Decoder=new TextDecoder("utf-8");const reader=this.readable.getReader();let{value:chunk,done:readerDone}=yield __await(reader.read());chunk=chunk?utf8Decoder.decode(chunk,{stream:true}):"";const re=/\r\n|\n|\r/gm;let startIndex=0;for(;;){const result=re.exec(chunk);if(!result){if(readerDone){break}const remainder=chunk.substr(startIndex);({value:chunk,done:readerDone}=yield __await(reader.read()));chunk=remainder+(chunk?utf8Decoder.decode(chunk,{stream:true}):"");startIndex=re.lastIndex=0;continue}yield yield __await(chunk.substring(startIndex,result.index));startIndex=re.lastIndex}if(startIndex<chunk.length){yield yield __await(chunk.substr(startIndex))}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream");System.register([],(function(_export,_context){"use strict";var TextWriter,BlobWriter;_export({default:void 0,BlobWriter:void 0});return{setters:[],execute:function(){_export("default",TextWriter=class TextWriter{});_export("BlobWriter",BlobWriter=class BlobWriter extends TextWriter{constructor(){super(...arguments);this.lines=[]}writeLine(line){this.lines.push(line)}toBlob(){const all=this.lines.join("\n");return new Blob([all],{})}toString(){return this.lines.join("\n")}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter");System.register(["tslib","./MimeNode","./stream/LineStream","./stream/TextWriter"],(function(_export,_context){"use strict";var __awaiter,MimeNode,ReadableLineStream,StringLineStream,BlobWriter,MimeMessage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_MimeNode){MimeNode=_MimeNode.MimeNode},function(_streamLineStream){ReadableLineStream=_streamLineStream.ReadableLineStream;StringLineStream=_streamLineStream.StringLineStream},function(_streamTextWriter){BlobWriter=_streamTextWriter.BlobWriter}],execute:function(){_export("default",MimeMessage=class MimeMessage{static load(reader,name,inline){return __awaiter(this,void 0,void 0,(function*(){const node=new MimeNode;if(name){node.setHeader("X-Name",name)}yield node.parse(typeof reader==="string"?new StringLineStream(reader):new ReadableLineStream(reader));const attachments=yield node.attachments();const msg=new MimeMessage(node,attachments);if(inline){yield msg.inlineImages()}return msg}))}get name(){return this.node.header("x-name")}get html(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/html"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set html(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/html",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get text(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/plain"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set text(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/plain",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get subject(){var _a;return(_a=this.node.header("subject"))!==null&&_a!==void 0?_a:""}set subject(v){this.node.setHeader("subject",v)}constructor(node=new MimeNode("multipart/mixed"),attachments=[]){this.node=node;this.attachments=attachments}save(){return __awaiter(this,void 0,void 0,(function*(){const blobWriter=new BlobWriter;yield this.node.save(blobWriter);return blobWriter.toBlob()}))}inlineImages(){return __awaiter(this,void 0,void 0,(function*(){let text=this.html;if(!text){return}for(const iterator of this.attachments){if(iterator.contentId){const encoded=iterator.node.encoded;text=text.split(`cid:${iterator.contentId}`).join(`data://${iterator.type},${encoded}`)}}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeMessage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/tree/TreeView","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/style/styled","../../../services/mime-service/MimeMessage","../files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,TreeView,AppFile,InjectProperty,SaveIconTextButton,Bind,styled,MimeMessage,CloudFileService,ChooserTemplatePage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsTreeTreeView){TreeView=_controlsTreeTreeView.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default},function(_filesServiceCloudFileService){CloudFileService=_filesServiceCloudFileService.default}],execute:function(){css=styled.css`
2173
+ `.installLocal();id=1;fixLinks=()=>{const mID=`m_id_${id++}`;setTimeout((x=>{const m=document.getElementById(x);if(!m){return}m.querySelectorAll("a").forEach((a=>a.target="_blank"))}),100,mID);return mID};_export("default",ConversationPage=class ConversationPage extends ContentPage{constructor(){super(...arguments);this.mails=[];this.version=1;this.tags=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;const url=new URL(location.href);const tag=url.searchParams.get("tag");if(tag){const tagEntity=yield this.resolve(EntityService).query(Tag).where({tag},(p=>x=>x.lowerCaseName===p.tag)).firstOrDefault();this.tags.add({tag:tagEntity})}const mb=this.parameters;const name=mb.emailAddress.name;const emailAddress=mb.emailAddress.emailAddress;const title=`${name} <${emailAddress}>`;if(isMobileView){this.title=title;this.headerRenderer=()=>XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create("div",{"data-layout":"row"},XNode.create(ConversationTagChips,{contact:mb,items:this.tags})),XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create(ConversationTags,{contact:mb})))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(ConversationTagChips,{contact:mb,items:this.tags}),XNode.create("span",{text:title}));this.headerRenderer=()=>XNode.create(ConversationTags,{contact:mb})}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++},mailRead:(mailboxID,emailAddressID,emailID)=>{for(const iterator of this.mailsRepeater.items){if(iterator.emailID!==emailID){continue}iterator.timeRead=DateTime.now;this.mailsRepeater.refreshItem(iterator)}}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",presenter:Bind.presenter((c=>this.mailsRepeater=c)),items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:10,searchItems:this.tags.length?this.tags:null,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f,_g,_h;const item=thread.email;const internalDate=(_b=(_a=item.dateSent)!==null&&_a!==void 0?_a:item.dateReceived)!==null&&_b!==void 0?_b:item.dateCreated;const sent=item.senderID===thread.mailboxID;const remaining=DateTime.from((_c=item.dateSent)!==null&&_c!==void 0?_c:DateTime.today).diff(DateTime.now);const isSending=thread.email.status==="scheduled"&&remaining.totalSeconds>3;const engagements=(_d=thread.email.engagements)!==null&&_d!==void 0?_d:[];const tags=((_e=thread.email.tags)!==null&&_e!==void 0?_e:"").split(",").filter((x=>x));const isDraft=item.status==="draft";if(item.status==="closed"){return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:`Closed by ${item.senderName}`}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)})))}let readStatus="";let readColor="";if(sent){const timeRead=thread.timeRead&&DateTime.from(thread.timeRead);if(timeRead){readStatus=`Read ${DateFormats.relative.short(timeRead)}`;readColor="green"}else if(item.status==="sent"){readStatus="Sent";readColor="yellow"}else if(item.status==="scheduled"){readStatus="In queue";readColor="lightblue"}else{readStatus="";readColor=""}}if(isSending){let tm=remaining.totalMilliseconds;if(tm<0){tm=1e3}setTimeout((()=>this.mailsRepeater.refreshItem(thread)),tm)}return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),item.received?XNode.create("div",null):item.userID!==SocialMailApp.user.userID&&XNode.create("div",{"style-max-width":"20ch",title:(_f=item.senderUser)===null||_f===void 0?void 0:_f.displayName,text:(_g=item.senderUser)===null||_g===void 0?void 0:_g.displayName}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)}),XNode.create("i",{"data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical",title:"Options"})),XNode.create(LimitedText,{height:"40vh"},XNode.create("div",Object.assign({class:"message"},renderMailPromise({thread})))),XNode.create("div",{class:"engagements"},readStatus&&XNode.create("i",{class:"fa-solid fa-circle-small","style-color":readColor,title:readStatus}),...engagements.map((x=>XNode.create("span",{"data-click-event":"view-engagements","data-cursor":"pointer",title:`View all ${x.engagement} ${x.count}`,text:`${x.engagement} ${x.count}`})))),((_h=item.attachments)===null||_h===void 0?void 0:_h.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),XNode.create("div",{"data-layout":"row","data-margin-top":"default","data-margin-bottom":"default"},...tags.map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),isDraft&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create(EditIconTextButton,{"data-click-event":"edit-draft",text:"Edit Draft"}),XNode.create(DeleteIconTextButton,{"data-click-event":"delete-draft",text:"Delete Draft"})),!sent&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create("i",{"data-click-event":"react-email",class:"fa-light fa-face-smile-plus",title:"React"}),XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"}),XNode.create("i",{"data-click-event":"reply-all-email",class:"fa-solid fa-reply-all",title:"Reply All"}),XNode.create("i",{"data-click-event":"forward-email",class:"fa-solid fa-share-all",title:"Forward"}),item.hasUnsubscribe&&XNode.create("button",{"data-layout":"link","data-margin-left":"auto","data-click-event":"unsubscribe-email"},"Unsubscribe")),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:"Sending"}),XNode.create("img",{"style-max-height":"30px",src:loaderImage}),XNode.create("button",{"data-click-event":"stop-email","data-layout":"stop-icon-button","style-margin-left":"20px"},XNode.create("i",{class:"fas fa-stop"}),"Stop")))}})));this.actionRenderer=()=>XNode.create(PopupActionButton,{icon:"fas fa-bars"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px","data-font-size":"small"},XNode.create(MenuItem,{"data-click-event":"open-contact-web-hooks",label:"Web Hooks"}),XNode.create(MenuItem,{"data-click-event":"close-all-threads",label:"Close All Threads"}),!this.parameters.autoClose?XNode.create(MenuItem,{"data-click-event":"close-permanently",label:"Close Threads Permanently"}):XNode.create(MenuItem,{"data-click-event":"open-threads",label:"Open Threads on new Email"}),this.parameters.blocked?XNode.create(MenuItem,{"data-click-event":"unblock-sender",icon:"fas fa-badge-check",label:"Unblock Sender"}):XNode.create(MenuItem,{"data-click-event":"block-sender",icon:"fas fa-ban",label:"Block Sender"})));this.showComposeButton()}))}openWebHooks(){return __awaiter(this,void 0,void 0,(function*(){const title=`Web Hooks for Contact ${this.parameters.emailAddress.emailAddress}`;PageNavigator.pushPage(WebHookListPage,{mailboxID:this.parameters.mailboxID,emailAddressID:this.parameters.emailAddressID,title})}))}showComposeButton(email=null){if(this.parameters.newRequest||this.parameters.folderTagID===SocialMailApp.newFolderTagID){this.footerRenderer=()=>XNode.create("div",null,XNode.create("div",{"data-layout":"vertical-flex-center-items"},XNode.create("h5",null,"This sender does not exist in your contacts, and this sender's emails will be restricted in future unless you approve the sender."),XNode.create(AddIconTextButton,{"data-click-event":"approve-sender",text:"Approve Sender"})));return}if(this.parameters.blocked){this.footerRenderer=()=>XNode.create("div",null,XNode.create("div",{"data-layout":"vertical-flex-center-items"},XNode.create("h5",null,"This sender is blocked by you."),XNode.create(AddIconTextButton,{"data-click-event":"approve-sender",text:"Unblock Sender"})));return}if(email){this.mailsRepeater.items.remove(email)}this.footerRenderer=()=>XNode.create("div",{"data-position":"absolute","style-right":"20px","style-bottom":"5px","data-layout":"row"},XNode.create(AddIconTextButton,{"event-click":()=>this.startCompose(),"data-margin-left":"auto",text:"Compose"}))}startCompose(thread=null,email=null){this.footerRenderer=()=>{var _a;return XNode.create(MiniComposeBox,{senderID:this.parameters.mailboxID,mailboxContacts:[thread!==null&&thread!==void 0?thread:this.parameters],draft:(_a=thread===null||thread===void 0?void 0:thread.email)!==null&&_a!==void 0?_a:email})}}approveSender(){return __awaiter(this,void 0,void 0,(function*(){const es=this.resolve(EntityService);this.parameters.newRequest=false;this.parameters.blocked=false;this.parameters.folderTagID=SocialMailApp.contactsFolderTagID;yield es.save(this.parameters,(c=>c));this.showComposeButton()}))}onClick(a,e){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const anchor=e.composed?e.composedPath().find((x=>x.tagName==="A")):AncestorEnumerator.find(e.target,(x=>x.tagName==="A"));if(!anchor){return}const href=anchor.getAttribute("href");if(!/^mailto\:/.test(href)){return}e.preventDefault();const url=new URL(href);const to=url.pathname;const subject=(_a=url.searchParams.get("subject"))!==null&&_a!==void 0?_a:"";const body=(_b=url.searchParams.get("body"))!==null&&_b!==void 0?_b:"";const inReplyTo=(_c=url.searchParams.get("inReplyTo"))!==null&&_c!==void 0?_c:"";const{item}=AtomRepeater.itemFromElement(e.target);const{email:{parentID,headerMessageID}}=item;const recipients=[EmailRecipient.create({emailAddressText:to})];const child=Email.create({senderID:this.parameters.mailboxID,subject,headers:JSON.stringify({inReplyTo}),parentID:inReplyTo===headerMessageID?parentID:null,received:false,recipients,htmlBody:`<div contentEditable="true">${body}</div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}onEmailScheduled(email){if(email.senderID!==this.parameters.mailboxID){return}const{emailID}=email;const{emailAddressID,mailboxID}=this.parameters;const index=this.mails.findIndex((x=>x.emailID===emailID));if(index!==-1){this.mails.removeAt(index)}this.mails.insert(0,MailboxContactEmail.create({emailID,emailAddressID,mailboxID,email}))}stopEmail(thread){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.stopEmail(thread)}))}closeAllThreads(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closeAllThreads(this.parameters)}))}closePermanent(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closePermanently(this.parameters)}))}openThreads(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.closePermanently(this.parameters)}))}forwardEmail(thread,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopup.show(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>this.onEmailForward(thread),label:"As Inline Message"}),XNode.create(MenuItem,{eventClick:()=>this.onEmailForward(thread,true),label:"As Attachment"})),{alignment:"above"})}))}mailOptions(thread,ce){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},((_a=thread.email)===null||_a===void 0?void 0:_a.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-delete","data-click-event":"un-publish-mail"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/emails/logs/${(_b=thread.signedFileLogID)!==null&&_b!==void 0?_b:thread.email.mimeFileID}/${thread.email.emailID}.eml`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_c=thread.email)===null||_c===void 0?void 0:_c.status)==="draft"&&XNode.create(MenuItem,{"data-click-event":"delete-draft",icon:"fa-regular fa-clock-rotate-left",label:"Delete Draft"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}onEmailForward(thread,asAttachment=false){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(MiniComposePage,{thread,asAttachment})}))}reactEmail(thread,ce){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const emoji=yield EmojiPicker.show({parameters:{thread,preview:XNode.create("div",Object.assign({},renderMailPromise({thread})))}});const{email:{emailID,subject}}=thread;const now=DateTime.now;const{emailAddressID}=thread;const email=Email.create({parentID:emailID,subject:"Re: "+subject,textBody:emoji+"\n",htmlBody:`<div>${emoji}</div>`,engagement:emoji,senderID:this.parameters.mailboxID,headers:JSON.stringify({"x-engagement":emoji}),dateSent:now,dateReceived:now,dateCreated:now,received:false,status:"scheduled",recipients:[EmailRecipient.create({emailAddressID})]});yield this.resolve(EntityService).save(email);const engagements=(_a=(_b=thread.email).engagements)!==null&&_a!==void 0?_a:_b.engagements=[];let e=engagements.find((x=>x.engagement===emoji));if(!e){e=EmailEngagement.create({engagement:emoji,emailID,count:1});engagements.add(e)}else{e.count++}this.mailsRepeater.refreshItem(thread)}))}replyEmail(mce,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;const parse=JSON.parse(email.headers);const replyTo=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0];const emailAddressText=this.parameters.emailAddress.emailAddress.toLocaleLowerCase();const name=email.senderName;const parentID=(_b=email.parentID)!==null&&_b!==void 0?_b:email.emailID;const recipients=[EmailRecipient.create({name,replyTo,emailAddressID:this.parameters.emailAddressID,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddressID,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddressText===emailAddress))){continue}if(this.parameters.mailboxID===emailAddressID){continue}recipients.push(EmailRecipient.create({name:rName,emailAddressID,emailAddressText:emailAddress}))}}const subject=/^re\s?\:/i.test(email.subject)?email.subject:`Re: ${email.subject}`;const child=Email.create({senderID:this.parameters.mailboxID,subject,parentID,received:false,recipients,htmlBody:`<section>\n <section contentEditable="true">\n <p>\n <br/>\n <br/>\n </p>\n </section>\n <blockquote data-type="reply-to" style="margin-inline-start: 20px; margin-inline-end: 0; border-left: solid 1px lightgray; padding-left: 10px;">\n <details>\n <summary>From: ${email.senderName} ${`&lt;${this.parameters.emailAddress.emailAddress}&gt;`}<br/>\n Subject: ${email.subject}\n </summary>\n <div>\n\n ${email.htmlBody}\n </div>\n </details>\n </blockquote>\n </section>`});this.startCompose(null,child)}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}unblockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}viewEngagements(thread){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EngagementDetails,thread)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}unsubscribeEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const result=yield PageNavigator.pushPageForResult(UnsubscribeWindow,mce);switch(result){case"blocked":this.parameters.blocked=true;break}}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"open-contact-web-hooks"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openWebHooks",null);__decorate([Action({onEvent:"emailSent"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"showComposeButton",null);__decorate([Action({onEvent:"edit-draft"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"startCompose",null);__decorate([Action({onEvent:"approve-sender"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"approveSender",null);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,PointerEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onClick",null);__decorate([Action({onEvent:CommonEvents.onEmailScheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"onEmailScheduled",null);__decorate([Action({onEvent:"stop-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"stopEmail",null);__decorate([Action({onEvent:"close-all-threads",confirm:"You sure you want to close all threads?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"closeAllThreads",null);__decorate([Action({onEvent:"close-permanently",confirm:"Are you sure, you wan to close this contact permanently?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"closePermanent",null);__decorate([Action({onEvent:"open-threads",confirm:"Are you sure you want to change this contact to normal?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openThreads",null);__decorate([Action({onEvent:"forward-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"forwardEmail",null);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"open-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openLogs",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onEmailForward",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"reactEmail",null);__decorate([Action({onEvent:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null);__decorate([Action({onEvent:"block-sender",confirm:"Are you sure you want to block this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"blockSender",null);__decorate([Action({onEvent:"unblock-sender",confirm:"Are you sure you want to unblock this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unblockSender",null);__decorate([Action({onEvent:"view-engagements"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"viewEngagements",null);__decorate([Action({onEvent:"delete-draft",confirm:"Are you sure you want to delete this draft?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"deleteDraft",null);__decorate([Action({onEvent:"unsubscribe-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unsubscribeEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","../../../common/NumberFormats","../../commands/AppCommands","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxService,InjectProperty,XNode,AtomRepeater,InfiniteRepeater,toFileSize,AppCommands,Bind,ChooseMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",ChooseMailboxPage=class ChooseMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.mailboxes=[];this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Open Mailbox";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"list",items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openMailbox.displayRoute({id:item.mailboxID}),text:item.emailAddress.emailAddress}),XNode.create("span",{text:toFileSize(item.storage)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChooseMailboxPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");System.register([],(function(_export,_context){"use strict";var QueryIterator;_export("default",void 0);return{setters:[],execute:function(){_export("default",QueryIterator=class QueryIterator{static first(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}firstOrFail(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/QueryIterator");System.register([],(function(_export,_context){"use strict";var AttachmentFile;_export("AttachmentFile",void 0);return{setters:[],execute:function(){_export("AttachmentFile",AttachmentFile=class AttachmentFile extends File{constructor(fileBits,fileName,options){super(fileBits,fileName,options);this.contentId=options.contentId;this.disposition=options.disposition}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile");System.register([],(function(_export,_context){"use strict";function*tokenize(text,sep){let start=0;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}yield text.substring(start,index);start=index+1}yield text.substring(start)}function tokenizeMax(text,sep,max=Number.MAX_SAFE_INTEGER){let start=0;const items=[];max--;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}items.push(text.substring(start,index));start=index+1;if(--max===0){break}}items.push(text.substring(start));return items}_export({tokenize,tokenizeMax});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/tokenizer");System.register(["./tokenizer"],(function(_export,_context){"use strict";var tokenize,tokenizeMax,parsePairs;return{setters:[function(_tokenizer){tokenize=_tokenizer.tokenize;tokenizeMax=_tokenizer.tokenizeMax}],execute:function(){_export("parsePairs",parsePairs=(text,emptyName)=>{const pairs={toString(){return text}};for(const iterator of tokenize(text,";")){const trimmed=iterator.trim();if(!trimmed){break}const items=tokenizeMax(trimmed,"=",2).map((x=>x.trim()));let[key,value]=items;if(items.length===1){value=key;key=emptyName!==null&&emptyName!==void 0?emptyName:key}try{if(value.startsWith('"')){value=JSON.parse(value)}}catch(_a){}pairs[key]=value}return pairs})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/parsePairs");System.register(["./parsePairs"],(function(_export,_context){"use strict";var parsePairs,HeaderContentType;_export("HeaderContentType",void 0);return{setters:[function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentType",HeaderContentType=class HeaderContentType{constructor(type,charset="UTF-8",boundary){this.type=type;this.charset=charset;this.boundary=boundary}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.charset=items.charset;this.boundary=items.boundary}toString(){if(this.boundary){return`${this.type}; charset="${this.charset}"; boundary="${this.boundary}";`}return`${this.type}; charset="${this.charset}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType");System.register([],(function(_export,_context){"use strict";var toBuffer,RawBuffer;return{setters:[],execute:function(){toBuffer=text=>{const bytes=new Uint8Array(text.length);for(let index=0;index<text.length;index++){bytes[index]=text.charCodeAt(index)}return bytes.buffer};_export("RawBuffer",RawBuffer={decode:(bytesAsString,encoding="utf-8")=>{if(!encoding){return bytesAsString}const te=new TextDecoder(encoding);return te.decode(toBuffer(bytesAsString))},encode:(text,encoding="utf-8")=>{if(!/utf\-?8/i.test(encoding)){throw new Error(`Encoding ${encoding} not supported`)}const te=new TextEncoder;const array=te.encode(text);const a=[];for(const iterator of array){a.push(String.fromCharCode(iterator))}return a.join("")},toBase64Async(blob,asDataUrl=false){return new Promise(((resolve,reject)=>{const reader=new FileReader;reader.onerror=()=>{reject(reader.error)};reader.onload=()=>{const text=reader.result;if(asDataUrl){resolve(text);return}const index=text.indexOf(",");resolve(text.substring(index+1))};reader.readAsDataURL(blob)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer");System.register(["./RawBuffer"],(function(_export,_context){"use strict";var RawBuffer,isEncodedRegEx,hexToUnicode,decode,isSimpleText,wordEncoding;return{setters:[function(_RawBuffer){RawBuffer=_RawBuffer.RawBuffer}],execute:function(){isEncodedRegEx=/\=\?([^\?\s]+)\?([^\?\s]{1})\?([^\s\?]+)\?\=\s*/gm;hexToUnicode=/(\=([0-9a-f]{2}))|(\_)/gim;decode=text=>text.replace(isEncodedRegEx,((matched,encoding,format,buffer)=>{if(/b/i.test(format)){return RawBuffer.decode(atob(buffer),encoding)}if(/q/i.test(format)){const replaced=buffer.replace(hexToUnicode,((m,group,code)=>{if(m==="_"){return" "}return String.fromCharCode(parseInt(code,16))}));return RawBuffer.decode(replaced,encoding)}return matched}));isSimpleText=/[0-9a-zA-Z\x20]/;_export("wordEncoding",wordEncoding={decode,encode:(word,ifNeeded=false)=>{if(ifNeeded){if(isSimpleText.test(word)){return word}}word=RawBuffer.encode(word);return`=?UTF-8?B?${btoa(word)}?=`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding");System.register(["./encoder/word-encoding","./parsePairs"],(function(_export,_context){"use strict";var wordEncoding,parsePairs,HeaderContentDisposition;_export("HeaderContentDisposition",void 0);return{setters:[function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding},function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentDisposition",HeaderContentDisposition=class HeaderContentDisposition{constructor(type,filename,name){this.type=type;this.filename=filename;this.name=name}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.filename=items.filename;this.name=items.name}toString(){return`${this.type};\r\n\t\tfilename="${wordEncoding.encode(this.filename)}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition");System.register([],(function(_export,_context){"use strict";function base64toBlob(base64Data,contentType){contentType=contentType||"";const sliceSize=1024;const byteCharacters=atob(base64Data);const bytesLength=byteCharacters.length;const slicesCount=Math.ceil(bytesLength/sliceSize);const byteArrays=new Array(slicesCount);for(let sliceIndex=0;sliceIndex<slicesCount;++sliceIndex){const begin=sliceIndex*sliceSize;const end=Math.min(begin+sliceSize,bytesLength);const bytes=new Array(end-begin);for(let offset=begin,i=0;offset<end;++i,++offset){bytes[i]=byteCharacters[offset].charCodeAt(0)}byteArrays[sliceIndex]=new Uint8Array(bytes)}return new Blob(byteArrays,{type:contentType})}_export("base64toBlob",base64toBlob);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob");System.register([],(function(_export,_context){"use strict";var stringFromCharCode,decode,handleTrailingCharacters,regexUnsafeSymbols,encode,quotedPrintable;return{setters:[],execute:function(){stringFromCharCode=String.fromCharCode;decode=function(input){return input.replace(/[\t\x20]$/gm,"").replace(/=(?:\r\n?|\n|$)/g,"").replace(/=([a-fA-F0-9]{2})/g,(function($0,$1){const codePoint=parseInt($1,16);return stringFromCharCode(codePoint)}))};handleTrailingCharacters=function(text){return text.replace(/\x20$/,"=20").replace(/\t$/,"=09")};regexUnsafeSymbols=/[\0-\x08\n-\x1F=\x7F-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g;encode=function(text){const encoded=text.replace(regexUnsafeSymbols,(function(symbol){if(symbol>"ÿ"){throw RangeError("`quotedPrintable.encode()` expects extended ASCII input only. "+"Don’t forget to encode the input first using a character "+"encoding like UTF-8.")}const codePoint=symbol.charCodeAt(0);const hexadecimal=codePoint.toString(16).toUpperCase();return"="+("0"+hexadecimal).slice(-2)}));const LINE_LENGTH=75;const lines=encoded.split(/\r\n?|\n/g);let lineIndex=-1;const lineCount=lines.length;const result=[];let buffer;while(++lineIndex<lineCount){const line=lines[lineIndex];let index=0;const length=line.length;while(index<length){buffer=encoded.slice(index,index+LINE_LENGTH);if(/=$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-1);index+=LINE_LENGTH-1}else if(/=[A-F0-9]$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-2);index+=LINE_LENGTH-2}else{index+=LINE_LENGTH}result.push(buffer)}}const lastLineLength=buffer.length;if(/[\t\x20]$/.test(buffer)){result.pop();if(lastLineLength+2<=LINE_LENGTH+1){result.push(handleTrailingCharacters(buffer))}else{result.push(buffer.slice(0,lastLineLength-1),handleTrailingCharacters(buffer.slice(lastLineLength-1,lastLineLength)))}}return result.join("=\r\n")};_export("quotedPrintable",quotedPrintable={encode,decode,version:"1.0.1"})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable");System.register(["tslib","../../common/QueryIterator","./AttachmentFile","./HeaderContentType","./HeaderContentDisposition","./encoder/RawBuffer","./encoder/base64-to-blob","./encoder/quoted-printable","./encoder/word-encoding"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,QueryIterator,AttachmentFile,HeaderContentType,HeaderContentDisposition,RawBuffer,base64toBlob,quotedPrintable,wordEncoding,CIMap,MimeNode;_export({CIMap:void 0,MimeNode:void 0});return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_commonQueryIterator){QueryIterator=_commonQueryIterator.default},function(_AttachmentFile){AttachmentFile=_AttachmentFile.AttachmentFile},function(_HeaderContentType){HeaderContentType=_HeaderContentType.HeaderContentType},function(_HeaderContentDisposition){HeaderContentDisposition=_HeaderContentDisposition.HeaderContentDisposition},function(_encoderRawBuffer){RawBuffer=_encoderRawBuffer.RawBuffer},function(_encoderBase64ToBlob){base64toBlob=_encoderBase64ToBlob.base64toBlob},function(_encoderQuotedPrintable){quotedPrintable=_encoderQuotedPrintable.quotedPrintable},function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding}],execute:function(){_export("CIMap",CIMap=class CIMap extends Map{constructor(){super(...arguments);this.ci=new Map}set(key,value){if(typeof key==="string"){let ck=this.ci.get(key);if(ck===void 0){ck=key.toLocaleLowerCase();this.ci.set(ck,key)}else{key=ck}}return super.set(key,value)}get(key){if(typeof key==="string"){const ck=key.toLocaleLowerCase();key=this.ci.get(ck)}return super.get(key)}});_export("MimeNode",MimeNode=class MimeNode{static createMessage({html,subject,text="",name="",attachments=[]}){const root=new MimeNode("multipart/mixed");root.setHeader("Subject",subject);if(name){root.setHeader("X-Name",name)}const body=new MimeNode("multipart/alternative");body.children=[];if(html){body.children.push(this.create(html,"text/html"))}if(text){body.children.push(this.create(text,"text/plain"))}root.children=[body];if(attachments){for(const iterator of attachments){root.children.push(this.create(iterator))}}return root}static create(text,type,id){if(typeof text==="string"){const node=new MimeNode(type);node.text=text;return node}const fileNode=new MimeNode(text.type);fileNode.blobData=text;fileNode.contentDisposition=new HeaderContentDisposition(type||"attachment");fileNode.contentDisposition.filename=text.name;fileNode.setHeader("Content-Disposition",fileNode.contentDisposition);if(id){fileNode.setHeader("Content-Id",id)}return fileNode}get text(){var _a,_b,_c;let{encoded}=this;if(!encoded){return}const cte=(_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLowerCase();switch(cte){case"quoted-printable":encoded=quotedPrintable.decode(encoded);break;case"base64":encoded=btoa(encoded);break}return(_b=this.textContent)!==null&&_b!==void 0?_b:this.textContent=RawBuffer.decode(encoded,(_c=this.contentType)===null||_c===void 0?void 0:_c.charset)}set text(v){this.contentTransferEncoding="quoted-printable";this.textContent=v}get blob(){var _a,_b;if(((_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLocaleLowerCase())!=="base64"){throw new Error("Not supported")}return(_b=this.blobData)!==null&&_b!==void 0?_b:this.blobData=base64toBlob(this.encoded,this.contentType.type)}set blob(v){this.blobData=v}get contentTransferEncoding(){return this.header("Content-Transfer-Encoding")}set contentTransferEncoding(v){this.setHeader("Content-Transfer-Encoding",v)}get boundary(){return this.contentType.boundary}get descendent(){return this.enumerate()}constructor(type){this.headers=new CIMap;this.contentType=new HeaderContentType(type);this.headers.set("Content-Type",this.contentType)}getFirstChild(contentType,create=false){var _a;contentType=contentType.toLocaleLowerCase();let child=QueryIterator.first(this.descendent,(x=>x.contentType.type===contentType));if(!child&&create){child=new MimeNode(contentType);((_a=this.children)!==null&&_a!==void 0?_a:this.children=[]).push(child)}return child}header(name){return this.headers.get(name)}setHeader(name,value){this.headers.set(name,value)}asFile(){return __awaiter(this,void 0,void 0,(function*(){const text=this.encoded.split("\n").map((x=>x.trim())).join("");const url=`data:${this.contentType.type};base64,${text}`;const blob=yield fetch(url);const af=new AttachmentFile([yield blob.blob()],this.contentDisposition.filename,{type:this.contentType.type,contentId:this.header("Content-Id"),disposition:this.contentDisposition.type});af.node=this;return af}))}attachments(files=[]){var _a;return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.children){if(iterator.children){yield iterator.attachments(files);continue}if((_a=iterator.contentDisposition)===null||_a===void 0?void 0:_a.type){files.push(yield iterator.asFile())}}return files}))}parse(lines,last=""){var _a,e_1,_b,_c,_d,e_2,_e,_f;var _g;return __awaiter(this,void 0,void 0,(function*(){yield this.parseHeaders(lines);let boundary=this.contentType.boundary;if(!boundary){const data=[];try{for(var _h=true,_j=__asyncValues(lines.read()),_k;_k=yield _j.next(),_a=_k.done,!_a;){_c=_k.value;_h=false;try{const line=_c;const trimmed=line.trimEnd();if(trimmed.length===0){break}if(trimmed===last){break}data.push(line)}finally{_h=true}}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(!_h&&!_a&&(_b=_j.return))yield _b.call(_j)}finally{if(e_1)throw e_1.error}}this.encoded=data.join("\n");return}boundary="--"+boundary;const end=boundary+"--";for(;;){let boundaryFound=false;try{for(var _l=true,_m=(e_2=void 0,__asyncValues(lines.read())),_o;_o=yield _m.next(),_d=_o.done,!_d;){_f=_o.value;_l=false;try{const line=_f;if(line===boundary){boundaryFound=true;break}if(line===end){return}}finally{_l=true}}}catch(e_2_1){e_2={error:e_2_1}}finally{try{if(!_l&&!_d&&(_e=_m.return))yield _e.call(_m)}finally{if(e_2)throw e_2.error}}if(!boundaryFound){break}const child=new MimeNode("");yield child.parse(lines,end);((_g=this.children)!==null&&_g!==void 0?_g:this.children=[]).push(child)}}))}parseHeaders(lines){var _a,e_3,_b,_c;var _d;return __awaiter(this,void 0,void 0,(function*(){let headerName="";let headerValue="";try{for(var _e=true,_f=__asyncValues(lines.read()),_g;_g=yield _f.next(),_a=_g.done,!_a;){_c=_g.value;_e=false;try{const iterator=_c;const value=iterator.trim();if(value.length===0){break}if(/^[\x20\t]/.test(iterator)){headerValue+=wordEncoding.decode(value);continue}if(headerValue){this.setHeader(headerName,headerValue)}const index=value.indexOf(":");headerName=value.substring(0,index);headerValue=wordEncoding.decode(value.substring(index+1).trim())}finally{_e=true}}}catch(e_3_1){e_3={error:e_3_1}}finally{try{if(!_e&&!_a&&(_b=_f.return))yield _b.call(_f)}finally{if(e_3)throw e_3.error}}if(headerValue){this.setHeader(headerName,headerValue)}const ct=this.header("Content-Type");this.contentType.parse(ct);this.setHeader("Content-Type",ct);const cd=this.header("Content-Disposition");if(cd){(_d=this.contentDisposition)!==null&&_d!==void 0?_d:this.contentDisposition=new HeaderContentDisposition;this.contentDisposition.parse(cd);this.setHeader("Content-Disposition",cd)}}))}save(writer){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){if(this.textContent){this.contentType.charset="UTF-8"}if((_a=this.children)===null||_a===void 0?void 0:_a.length){(_c=this.contentType).boundary||(_c.boundary=`${Date.now()}-${Date.now()}-${Date.now()}`)}for(const[key,element]of this.headers.entries()){switch(key){case"content-disposition":writer.writeLine(`Content-Disposition: ${this.contentDisposition}`);continue;case"content-type":writer.writeLine(`Content-Type:${this.contentType.toString()}`);continue;case"subject":writer.writeLine(`${key}: ${wordEncoding.encode(element,true)}`);continue}writer.writeLine(`${key}: ${element}`)}writer.writeLine("");if((_b=this.children)===null||_b===void 0?void 0:_b.length){const boundary=`--${this.contentType.boundary}`;for(const iterator of this.children){writer.writeLine(boundary);yield iterator.save(writer);writer.writeLine("")}writer.writeLine(boundary+"--");return}if(this.blobData){const base64=yield RawBuffer.toBase64Async(this.blobData);let start=0;const max=80;for(;;){if(start+max>base64.length){writer.writeLine(base64.substring(start));break}writer.writeLine(base64.substring(start,start+max));start+=max}writer.writeLine("");return}let text=this.text;if(this.contentTransferEncoding==="quoted-printable"){text=quotedPrintable.encode(RawBuffer.encode(text))}writer.writeLine(RawBuffer.encode(text));writer.writeLine("");return}))}*enumerate(){yield this;if(!this.children){return}for(const iterator of this.children){yield*iterator.enumerate()}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeNode");System.register(["tslib","../tokenizer"],(function(_export,_context){"use strict";var __asyncGenerator,__await,tokenize,LineStream,StringLineStream,ReadableLineStream;_export({default:void 0,StringLineStream:void 0,ReadableLineStream:void 0});return{setters:[function(_tslib){__asyncGenerator=_tslib.__asyncGenerator;__await=_tslib.__await},function(_tokenizer){tokenize=_tokenizer.tokenize}],execute:function(){_export("default",LineStream=class LineStream{read(){var _a;return __asyncGenerator(this,arguments,(function*read_1(){const g=(_a=this.g)!==null&&_a!==void 0?_a:this.g=this.lines();for(;;){const{value,done}=yield __await(g.next());if(done){break}yield yield __await(value)}}))}});_export("StringLineStream",StringLineStream=class StringLineStream extends LineStream{constructor(text){super();this.text=text}lines(){return __asyncGenerator(this,arguments,(function*lines_1(){for(const iterator of tokenize(this.text,"\n")){yield yield __await(iterator)}}))}});_export("ReadableLineStream",ReadableLineStream=class ReadableLineStream extends LineStream{constructor(readable){super();this.readable=readable}lines(){return __asyncGenerator(this,arguments,(function*lines_2(){const utf8Decoder=new TextDecoder("utf-8");const reader=this.readable.getReader();let{value:chunk,done:readerDone}=yield __await(reader.read());chunk=chunk?utf8Decoder.decode(chunk,{stream:true}):"";const re=/\r\n|\n|\r/gm;let startIndex=0;for(;;){const result=re.exec(chunk);if(!result){if(readerDone){break}const remainder=chunk.substr(startIndex);({value:chunk,done:readerDone}=yield __await(reader.read()));chunk=remainder+(chunk?utf8Decoder.decode(chunk,{stream:true}):"");startIndex=re.lastIndex=0;continue}yield yield __await(chunk.substring(startIndex,result.index));startIndex=re.lastIndex}if(startIndex<chunk.length){yield yield __await(chunk.substr(startIndex))}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream");System.register([],(function(_export,_context){"use strict";var TextWriter,BlobWriter;_export({default:void 0,BlobWriter:void 0});return{setters:[],execute:function(){_export("default",TextWriter=class TextWriter{});_export("BlobWriter",BlobWriter=class BlobWriter extends TextWriter{constructor(){super(...arguments);this.lines=[]}writeLine(line){this.lines.push(line)}toBlob(){const all=this.lines.join("\n");return new Blob([all],{})}toString(){return this.lines.join("\n")}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter");System.register(["tslib","./MimeNode","./stream/LineStream","./stream/TextWriter"],(function(_export,_context){"use strict";var __awaiter,MimeNode,ReadableLineStream,StringLineStream,BlobWriter,MimeMessage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_MimeNode){MimeNode=_MimeNode.MimeNode},function(_streamLineStream){ReadableLineStream=_streamLineStream.ReadableLineStream;StringLineStream=_streamLineStream.StringLineStream},function(_streamTextWriter){BlobWriter=_streamTextWriter.BlobWriter}],execute:function(){_export("default",MimeMessage=class MimeMessage{static load(reader,name,inline){return __awaiter(this,void 0,void 0,(function*(){const node=new MimeNode;if(name){node.setHeader("X-Name",name)}yield node.parse(typeof reader==="string"?new StringLineStream(reader):new ReadableLineStream(reader));const attachments=yield node.attachments();const msg=new MimeMessage(node,attachments);if(inline){yield msg.inlineImages()}return msg}))}get name(){return this.node.header("x-name")}get html(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/html"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set html(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/html",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get text(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/plain"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set text(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/plain",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get subject(){var _a;return(_a=this.node.header("subject"))!==null&&_a!==void 0?_a:""}set subject(v){this.node.setHeader("subject",v)}constructor(node=new MimeNode("multipart/mixed"),attachments=[]){this.node=node;this.attachments=attachments}save(){return __awaiter(this,void 0,void 0,(function*(){const blobWriter=new BlobWriter;yield this.node.save(blobWriter);return blobWriter.toBlob()}))}inlineImages(){return __awaiter(this,void 0,void 0,(function*(){let text=this.html;if(!text){return}for(const iterator of this.attachments){if(iterator.contentId){const encoded=iterator.node.encoded;text=text.split(`cid:${iterator.contentId}`).join(`data://${iterator.type},${encoded}`)}}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeMessage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/tree/TreeView","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/style/styled","../../../services/mime-service/MimeMessage","../files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,TreeView,AppFile,InjectProperty,SaveIconTextButton,Bind,styled,MimeMessage,CloudFileService,ChooserTemplatePage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsTreeTreeView){TreeView=_controlsTreeTreeView.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default},function(_filesServiceCloudFileService){CloudFileService=_filesServiceCloudFileService.default}],execute:function(){css=styled.css`
2174
2174
  display: grid;
2175
2175
  grid-template-columns: auto auto;
2176
2176