@social-mail/social-mail-client 1.2.20 → 1.2.21

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 (44) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +130 -18
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +5 -5
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/code-editor/CodeEditorPage.d.ts +9 -2
  6. package/dist/code-editor/CodeEditorPage.d.ts.map +1 -1
  7. package/dist/code-editor/CodeEditorPage.js +72 -5
  8. package/dist/code-editor/CodeEditorPage.js.map +1 -1
  9. package/dist/code-editor/MonaoEditor.d.ts +5 -0
  10. package/dist/code-editor/MonaoEditor.d.ts.map +1 -1
  11. package/dist/code-editor/MonaoEditor.js +21 -2
  12. package/dist/code-editor/MonaoEditor.js.map +1 -1
  13. package/dist/common/pages/websites/studio/WebSiteStudioPage.d.ts +4 -0
  14. package/dist/common/pages/websites/studio/WebSiteStudioPage.d.ts.map +1 -1
  15. package/dist/common/pages/websites/studio/WebSiteStudioPage.js +11 -0
  16. package/dist/common/pages/websites/studio/WebSiteStudioPage.js.map +1 -1
  17. package/dist/site-editor/editor/HtmlPageEditor.d.ts +1 -0
  18. package/dist/site-editor/editor/HtmlPageEditor.d.ts.map +1 -1
  19. package/dist/site-editor/editor/HtmlPageEditor.js +17 -7
  20. package/dist/site-editor/editor/HtmlPageEditor.js.map +1 -1
  21. package/dist/site-editor/editor/WebSitePageEditor.d.ts.map +1 -1
  22. package/dist/site-editor/editor/WebSitePageEditor.js +4 -2
  23. package/dist/site-editor/editor/WebSitePageEditor.js.map +1 -1
  24. package/dist/site-editor/styler/StylerSet.d.ts +1 -0
  25. package/dist/site-editor/styler/StylerSet.d.ts.map +1 -1
  26. package/dist/site-editor/styler/StylerSet.js +1 -0
  27. package/dist/site-editor/styler/StylerSet.js.map +1 -1
  28. package/dist/tsconfig.tsbuildinfo +1 -1
  29. package/dist/web/AppIndex.pack.js +130 -18
  30. package/dist/web/AppIndex.pack.js.map +1 -1
  31. package/dist/web/AppIndex.pack.min.js +5 -5
  32. package/dist/web/AppIndex.pack.min.js.map +1 -1
  33. package/dist/web/page/files/service/CloudFileService.d.ts +1 -0
  34. package/dist/web/page/files/service/CloudFileService.d.ts.map +1 -1
  35. package/dist/web/page/files/service/CloudFileService.js +4 -2
  36. package/dist/web/page/files/service/CloudFileService.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/code-editor/CodeEditorPage.tsx +50 -1
  39. package/src/code-editor/MonaoEditor.tsx +23 -3
  40. package/src/common/pages/websites/studio/WebSiteStudioPage.tsx +18 -0
  41. package/src/site-editor/editor/HtmlPageEditor.tsx +16 -6
  42. package/src/site-editor/editor/WebSitePageEditor.tsx +4 -2
  43. package/src/site-editor/styler/StylerSet.ts +2 -0
  44. package/src/web/page/files/service/CloudFileService.ts +3 -2
@@ -1656,7 +1656,7 @@ and limitations under the License.
1656
1656
 
1657
1657
  }
1658
1658
  }
1659
- `.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.search="";this.version=1}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;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":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}),XNode.create("span",{text:title}))}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++}}));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,search:this.search,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f;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;if(remaining.totalSeconds>0){setTimeout((()=>this.mailsRepeater.refreshItem(thread)),2e3)}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:(_d=item.senderUser)===null||_d===void 0?void 0:_d.displayName,text:(_e=item.senderUser)===null||_e===void 0?void 0:_e.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"},renderMail(thread)))),((_f=item.attachments)===null||_f===void 0?void 0:_f.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),thread.email.tags&&XNode.create("div",{"data-layout":"row"},...thread.email.tags.split(",").map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),!sent&&XNode.create("div",{"data-layout":"row"},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"})),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:`Sending in (${Math.ceil(remaining.totalSeconds)} sec) `}),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"},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.footerRenderer=()=>XNode.create(MiniComposeBox,{mailboxContact:this.parameters})}))}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;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)}))}mailOptions(thread,ce){var _a;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread.email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:`/api/files/download/${thread.email.originalFileID}`,icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_a=thread.email)===null||_a===void 0?void 0:_a.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})}))}replyEmail({email},ce){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const parse=JSON.parse(email.headers);const emailAddressText=((_b=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0])!==null&&_b!==void 0?_b:this.parameters.emailAddress.emailAddress).toLocaleLowerCase();const name=email.senderName;const parentID=(_c=email.parentID)!==null&&_c!==void 0?_c:email.emailID;const recipients=[EmailRecipient.create({name,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddress.emailAddress===emailAddress))){continue}recipients.push(EmailRecipient.create({name:rName,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:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model: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)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__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:"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({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:"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)}}}));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(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime","../../../../common/Sql","../../../../common/SocialMailApp","../../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,DateTime,Sql,SocialMailApp,LocalFileService,hideActivityIndicator,CloudFileService;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;User=_modelModel.User},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonSql){Sql=_commonSql.Sql},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){hideActivityIndicator=true;CloudFileService=class CloudFileService{top(site=false){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null));q=site?q.where((x=>x.contentType==="application/site")):q.where((x=>x.contentType==="folder"));const top=yield q.orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).include((x=>x.creator)).toPagedList({size:3,count:false});return top.items}))}drives({start=0,size=50,search="",version=1,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.creator.userName,p.search)))}return q.include((x=>x.creator)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.fileSize)).toPagedList({start,size,cancelToken})}))}allTemplates(){return __awaiter(this,void 0,void 0,(function*(){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray();const roots=children.map((x=>x.path+"%"));const all=yield this.entityService.query(AppFile).where({roots},(p=>x=>Sql.text.likeAny(x.path,p.roots))).toArray();return all.filter((x=>!x.parentID))}))}getFile(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).firstOrDefault({cancelToken});return folder}))}getFolder(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken});if(folder.children){folder.children.remove((x=>!x.isFolder))}else{folder.children=[]}return folder}))}root({id,templates=false,cancelToken=null}){return __awaiter(this,void 0,void 0,(function*(){if(templates){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray({cancelToken});const root=AppFile.create({name:"Templates",isFolder:true,appFileID:0,creator:User.create({}),children});return root}return yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id&&x.isDeleted===false)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken})}))}rootFolders(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null)).include((x=>x.creator)).toArray()}))}createFolder({name,parentID}){return __awaiter(this,void 0,void 0,(function*(){const dateCreated=DateTime.now;const r=yield this.entityService.save(AppFile.create({name,parentID,isFolder:true,contentType:"folder",dateCreated,dateUpdated:dateCreated}));return this.entityService.query(AppFile).where({id:r.appFileID},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).firstOrDefault()}))}expand(folder,showDeleted=false){return __awaiter(this,void 0,void 0,(function*(){const parentID=folder.appFileID;const files=yield this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isFolder===true&&x.isDeleted===p.showDeleted)).toArray({hideActivityIndicator});const{children}=folder;for(const iterator of files){if(children.some((c=>c.appFileID===iterator.appFileID))){continue}children.add(iterator)}}))}files({search="",accept="",folder,cancelToken,showDeleted=false,showFolder=true}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parentID=folder===null||folder===void 0?void 0:folder.appFileID;if(!parentID){return folder===null||folder===void 0?void 0:folder.children}let q=this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isDeleted===p.showDeleted));if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.name,p.search)))}if(accept){const contentTypes=accept.split(/\,/g).map((x=>x.replace("*","%").trim())).filter((x=>x));q=q.where({contentTypes},(p=>x=>x.isFolder||Sql.text.iLikeAny(x.contentType,p.contentTypes)))}if(!showFolder){q=q.where((x=>x.isFolder===false)).orderBy((x=>x.name))}else{q=q.orderByDescending((x=>x.isFolder)).thenBy((x=>x.name))}const files=yield q.toArray({cancelToken});const results=[];for(const iterator of files){if(!iterator.isFolder){if(accept&&iterator.parentID===folder.appFileID){const children=(_a=folder.children)!==null&&_a!==void 0?_a:folder.children=[];if(!children.some((f=>f.appFileID===iterator.appFileID))){children.add(iterator)}}results.push(iterator);continue}const fx=folder.children.find((f=>f.appFileID===iterator.appFileID));if(fx){results.push(fx);fx.fileSize=iterator.fileSize;continue}(_b=iterator.children)!==null&&_b!==void 0?_b:iterator.children=[];folder.children.add(iterator);results.push(iterator)}return results}))}children(parentID,name,sha256){return this.entityService.query(AppFile,"children",parentID,name,sha256)}saveFile(fm){return __awaiter(this,void 0,void 0,(function*(){const{appFileID,content,parentID}=fm;return this.localFileService.uploadFile(content,{appFileID,parentID})}))}save(file){return __awaiter(this,void 0,void 0,(function*(){const c=this.entityService.cloner(file);yield this.entityService.save(c.copy);return file}))}delete(files){return __awaiter(this,void 0,void 0,(function*(){files=files.map((({appFileID})=>AppFile.create({appFileID,$deleted:true})));yield this.entityService.save(files)}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",LocalFileService)],CloudFileService.prototype,"localFileService",void 0);CloudFileService=__decorate([DISingleton()],CloudFileService);_export("default",CloudFileService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,BindableProperty,styled,AncestorEnumerator,TreeView,expandSymbol;function findTreeElement(element){if(element.matches("[data-layout=tree-view-item]")){return element}return AncestorEnumerator.findSelector(element,"[data-layout=tree-view-item]")}_export({findTreeElement,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator}],execute:function(){expandSymbol=Symbol("expand");styled.css`
1659
+ `.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.search="";this.version=1}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;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":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}),XNode.create("span",{text:title}))}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++}}));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,search:this.search,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f;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;if(remaining.totalSeconds>0){setTimeout((()=>this.mailsRepeater.refreshItem(thread)),2e3)}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:(_d=item.senderUser)===null||_d===void 0?void 0:_d.displayName,text:(_e=item.senderUser)===null||_e===void 0?void 0:_e.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"},renderMail(thread)))),((_f=item.attachments)===null||_f===void 0?void 0:_f.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),thread.email.tags&&XNode.create("div",{"data-layout":"row"},...thread.email.tags.split(",").map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),!sent&&XNode.create("div",{"data-layout":"row"},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"})),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:`Sending in (${Math.ceil(remaining.totalSeconds)} sec) `}),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"},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.footerRenderer=()=>XNode.create(MiniComposeBox,{mailboxContact:this.parameters})}))}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;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)}))}mailOptions(thread,ce){var _a;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread.email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:`/api/files/download/${thread.email.originalFileID}`,icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_a=thread.email)===null||_a===void 0?void 0:_a.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})}))}replyEmail({email},ce){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const parse=JSON.parse(email.headers);const emailAddressText=((_b=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0])!==null&&_b!==void 0?_b:this.parameters.emailAddress.emailAddress).toLocaleLowerCase();const name=email.senderName;const parentID=(_c=email.parentID)!==null&&_c!==void 0?_c:email.emailID;const recipients=[EmailRecipient.create({name,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddress.emailAddress===emailAddress))){continue}recipients.push(EmailRecipient.create({name:rName,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:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model: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)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__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:"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({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:"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)}}}));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(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime","../../../../common/Sql","../../../../common/SocialMailApp","../../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,DateTime,Sql,SocialMailApp,LocalFileService,hideActivityIndicator,CloudFileService;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;User=_modelModel.User},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonSql){Sql=_commonSql.Sql},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){hideActivityIndicator=true;CloudFileService=class CloudFileService{top(site=false){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null));q=site?q.where((x=>x.contentType==="application/site")):q.where((x=>x.contentType==="folder"));const top=yield q.orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).include((x=>x.creator)).toPagedList({size:3,count:false});return top.items}))}drives({start=0,size=50,search="",version=1,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.creator.userName,p.search)))}return q.include((x=>x.creator)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.fileSize)).toPagedList({start,size,cancelToken})}))}allTemplates(){return __awaiter(this,void 0,void 0,(function*(){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray();const roots=children.map((x=>x.path+"%"));const all=yield this.entityService.query(AppFile).where({roots},(p=>x=>Sql.text.likeAny(x.path,p.roots))).toArray();return all.filter((x=>!x.parentID))}))}getFile(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).firstOrDefault({cancelToken});return folder}))}getFolder(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken});if(folder.children){folder.children.remove((x=>!x.isFolder))}else{folder.children=[]}return folder}))}root({id,templates=false,cancelToken=null}){return __awaiter(this,void 0,void 0,(function*(){if(templates){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray({cancelToken});const root=AppFile.create({name:"Templates",isFolder:true,appFileID:0,creator:User.create({}),children});return root}return yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id&&x.isDeleted===false)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken})}))}rootFolders(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null)).include((x=>x.creator)).toArray()}))}createFolder({name,parentID}){return __awaiter(this,void 0,void 0,(function*(){const dateCreated=DateTime.now;const r=yield this.entityService.save(AppFile.create({name,parentID,isFolder:true,contentType:"folder",dateCreated,dateUpdated:dateCreated}));return this.entityService.query(AppFile).where({id:r.appFileID},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).firstOrDefault()}))}expand(folder,showDeleted=false){return __awaiter(this,void 0,void 0,(function*(){const parentID=folder.appFileID;const files=yield this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isFolder===true&&x.isDeleted===p.showDeleted)).toArray({hideActivityIndicator});const{children}=folder;for(const iterator of files){if(children.some((c=>c.appFileID===iterator.appFileID))){continue}children.add(iterator)}}))}files({search="",accept="",folder,cancelToken,showDeleted=false,showFolder=true}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parentID=folder===null||folder===void 0?void 0:folder.appFileID;if(!parentID){return folder===null||folder===void 0?void 0:folder.children}let q=this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isDeleted===p.showDeleted));if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.name,p.search)))}if(accept){const contentTypes=accept.split(/\,/g).map((x=>x.replace("*","%").trim())).filter((x=>x));q=q.where({contentTypes},(p=>x=>x.isFolder||Sql.text.iLikeAny(x.contentType,p.contentTypes)))}if(!showFolder){q=q.where((x=>x.isFolder===false)).orderBy((x=>x.name))}else{q=q.orderByDescending((x=>x.isFolder)).thenBy((x=>x.name))}const files=yield q.toArray({cancelToken});const results=[];for(const iterator of files){if(!iterator.isFolder){if(accept&&iterator.parentID===folder.appFileID){const children=(_a=folder.children)!==null&&_a!==void 0?_a:folder.children=[];if(!children.some((f=>f.appFileID===iterator.appFileID))){children.add(iterator)}}results.push(iterator);continue}const fx=folder.children.find((f=>f.appFileID===iterator.appFileID));if(fx){results.push(fx);fx.fileSize=iterator.fileSize;continue}(_b=iterator.children)!==null&&_b!==void 0?_b:iterator.children=[];folder.children.add(iterator);results.push(iterator)}return results}))}children(parentID,name,sha256){return this.entityService.query(AppFile,"children",parentID,name,sha256)}saveFile(fm){return __awaiter(this,void 0,void 0,(function*(){const{appFileID,content,parentID,folder}=fm;return this.localFileService.uploadFile(content,{appFileID,parentID,folder})}))}save(file){return __awaiter(this,void 0,void 0,(function*(){const c=this.entityService.cloner(file);yield this.entityService.save(c.copy);return file}))}delete(files){return __awaiter(this,void 0,void 0,(function*(){files=files.map((({appFileID})=>AppFile.create({appFileID,$deleted:true})));yield this.entityService.save(files)}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",LocalFileService)],CloudFileService.prototype,"localFileService",void 0);CloudFileService=__decorate([DISingleton()],CloudFileService);_export("default",CloudFileService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,BindableProperty,styled,AncestorEnumerator,TreeView,expandSymbol;function findTreeElement(element){if(element.matches("[data-layout=tree-view-item]")){return element}return AncestorEnumerator.findSelector(element,"[data-layout=tree-view-item]")}_export({findTreeElement,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator}],execute:function(){expandSymbol=Symbol("expand");styled.css`
1660
1660
 
1661
1661
  display: flex;
1662
1662
  flex-direction: column;
@@ -3036,7 +3036,7 @@ and limitations under the License.
3036
3036
  background-color: ${stylerVars.tertiarySurface};
3037
3037
  color: ${stylerVars.tertiarySurfaceText};
3038
3038
  }
3039
- `}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/styler/properties/color-sets/stylerColorSets");System.register(["./Styler","./properties/stylerBorder","./properties/layouts/display","./properties/layouts/flex/flex","./properties/layouts/items-position/itemsPosition","./properties/layouts/layout","./properties/stylerPosition","./properties/stylerSizes","./properties/stylerSpace","./properties/text/stylerText","./properties/stylerBackground","./properties/color-sets/stylerColorSets"],(function(_export,_context){"use strict";var StylerVariable,stylerVars,stylerBorder,stylerDisplay,stylerFlexDirection,itemPositions,stylerLayout,stylerPosition,stylerSizes,stylerSpace,stylerText,stylerBackground,stylerColorSets,StylerSet,vars;_export("StylerSet",void 0);return{setters:[function(_Styler){StylerVariable=_Styler.StylerVariable;stylerVars=_Styler.stylerVars},function(_propertiesStylerBorder){stylerBorder=_propertiesStylerBorder.stylerBorder},function(_propertiesLayoutsDisplay){stylerDisplay=_propertiesLayoutsDisplay.stylerDisplay},function(_propertiesLayoutsFlexFlex){stylerFlexDirection=_propertiesLayoutsFlexFlex.stylerFlexDirection},function(_propertiesLayoutsItemsPositionItemsPosition){itemPositions=_propertiesLayoutsItemsPositionItemsPosition.itemPositions},function(_propertiesLayoutsLayout){stylerLayout=_propertiesLayoutsLayout.stylerLayout},function(_propertiesStylerPosition){stylerPosition=_propertiesStylerPosition.stylerPosition},function(_propertiesStylerSizes){stylerSizes=_propertiesStylerSizes.stylerSizes},function(_propertiesStylerSpace){stylerSpace=_propertiesStylerSpace.stylerSpace},function(_propertiesTextStylerText){stylerText=_propertiesTextStylerText.stylerText},function(_propertiesStylerBackground){stylerBackground=_propertiesStylerBackground.stylerBackground},function(_propertiesColorSetsStylerColorSets){stylerColorSets=_propertiesColorSetsStylerColorSets.stylerColorSets}],execute:function(){vars=[];for(const key in stylerVars){if(Object.prototype.hasOwnProperty.call(stylerVars,key)){const element=stylerVars[key];vars.push(new StylerVariable(element.name,element.value))}}_export("StylerSet",StylerSet=class StylerSet{constructor(){this.vars=vars;this.properties=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({stylerLayout,stylerColorSets,stylerDisplay,stylerFlexDirection},stylerBorder),itemPositions),stylerText),stylerSizes),stylerSpace),stylerPosition),stylerBackground)}toString(){const properties=[];for(const key in this.properties){if(Object.prototype.hasOwnProperty.call(this.properties,key)){const element=this.properties[key];properties.push(element)}}return`:root{\n ${this.vars.join("\n")}\n }\n \n ${properties.join("\n")}\n\n body {\n background-color: var(--default-color);\n color: var(--default-text-color);\n }\n `}});StylerSet.instance=new StylerSet}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/styler/StylerSet");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet"],(function(_export,_context){"use strict";var XNode,BindEditor,DropDownProperty,ExpanderPropertyEditor,StylerSet,properties;function LayoutEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Layout"},XNode.create(DropDownProperty,{property:properties.stylerLayout}),XNode.create(DropDownProperty,{label:"Display",property:properties.stylerDisplay}),XNode.create(DropDownProperty,{label:"Color Set",property:properties.stylerColorSets}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>e.selection.currentStyle.display==="flex")),label:"Direction",property:properties.stylerFlexDirection}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.currentStyle.display))),label:"Justify",property:properties.stylerJustifyItems}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.currentStyle.display))),label:"Align",property:properties.stylerAlignItems}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.currentStyle.display))),label:"Gap",property:properties.stylerGap}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.currentStyle.display))),label:"Row Gap",property:properties.stylerRowGap}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.currentStyle.display))),label:"Column Gap",property:properties.stylerColumnGap}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex/i.test(e.selection.currentStyle.display))),label:"Wrap",property:properties.stylerFlexWrap}),XNode.create("hr",null),XNode.create("label",{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.parentStyle.display))),text:BindEditor.oneWay((e=>/flex/i.test(e.selection.parentStyle.display)))?"Flex Child":"Grid Child"}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.parentStyle.display))),label:"Align",property:properties.stylerAlignSelf}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.parentStyle.display))),label:"Justify",property:properties.stylerJustifySelf}))}_export("default",LayoutEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){BindEditor=_controlsPropertyEditor.BindEditor;DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet}],execute:function(){properties=StylerSet.instance.properties}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/LayoutEditor");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/AtomBinder"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,AtomControl,XNode,Bind,AtomBinder,SizeEditorControl,BindSizeEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder}],execute:function(){_export("BindSizeEditor",BindSizeEditor=Bind.forControl());_export("default",SizeEditorControl=class SizeEditorControl extends AtomControl{constructor(){super(...arguments);this._value="";this._isChanging=false;this._old=""}get isCustom(){return this.propertyValue==="custom"}set isCustom(v){if(v){this.propertyValue="custom"}else{this.propertyValue=this._old}}get propertyValue(){return this._value}set propertyValue(v){if(this._isChanging){return}this._isChanging=true;this._old=v&&v!=="custom"?this._value:this._old;this._value=v;AtomBinder.refreshValue(this,"propertyValue");AtomBinder.refreshValue(this,"valueAsNumber");AtomBinder.refreshValue(this,"isCustom");this._isChanging=false}get valueAsNumber(){var _a;const v=this.propertyValue;if(!v||v==="custom"){return 0}return(_a=this.values.findIndex((item=>item.name===v)))!==null&&_a!==void 0?_a:0}set valueAsNumber(v){var _a;this.propertyValue=((_a=this.values[v])===null||_a===void 0?void 0:_a.name)||this._old}init(){return __awaiter(this,void 0,void 0,(function*(){const parent=this.parent;const pv=parent.selection.style(this.property.key);this.values=this.property.values.filter((x=>x.name!=="custom"));this.render(XNode.create("div",{propertyValue:Bind.sourceTwoWays(pv,(x=>x.source.value)),custom:Bind.sourceTwoWays(pv,(x=>x.source.custom)),"data-element":"property-editor","data-display":"flex","data-justify-items":"stretch"},XNode.create("div",{"data-layout":"row"},XNode.create("label",{"data-font-size":"small",text:Bind.oneWay((()=>this.label))}),XNode.create("input",{type:"checkbox",checked:Bind.twoWaysImmediate((()=>this.isCustom))})),XNode.create("div",null,XNode.create("input",{"style-display":Bind.oneWay((()=>!this.isCustom)),type:"range",min:0,max:this.values.length-2,value:Bind.twoWays((()=>this.valueAsNumber))}),XNode.create("input",{"style-display":Bind.oneWay((()=>this.isCustom)),type:"text",value:Bind.twoWaysImmediate((()=>this.custom))}))))}))}preCreate(){this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}});__decorate([BindableProperty,__metadata("design:type",String)],SizeEditorControl.prototype,"label",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],SizeEditorControl.prototype,"property",void 0);__decorate([BindableProperty,__metadata("design:type",String)],SizeEditorControl.prototype,"custom",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/controls/SizeEditorControl");System.register(["@web-atoms/core/dist/core/XNode","../../styler/StylerSet","../controls/PropertyEditor","../controls/SizeEditorControl"],(function(_export,_context){"use strict";var XNode,StylerSet,DropDownProperty,ExpanderPropertyEditor,SizeEditorControl,properties;function TextPropertyEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Text"},XNode.create(DropDownProperty,{label:"Font",property:properties.stylerFontFamily}),XNode.create(DropDownProperty,{label:"Color",property:properties.stylerColor}),XNode.create(SizeEditorControl,{label:"Size",property:properties.stylerFontSize}),XNode.create(DropDownProperty,{label:"Weight",property:properties.stylerFontWeight}),XNode.create(DropDownProperty,{label:"Style",property:properties.stylerFontStyle}),XNode.create(DropDownProperty,{label:"Align",property:properties.stylerTextAlign}),XNode.create(DropDownProperty,{label:"Line Height",property:properties.stylerLineHeight}),XNode.create(DropDownProperty,{label:"Spacing",property:properties.stylerLetterSpacing}),XNode.create(DropDownProperty,{label:"Decoration",property:properties.stylerTextDecoration}),XNode.create(DropDownProperty,{label:"Transform",property:properties.stylerTextTransform}),XNode.create(DropDownProperty,{label:"Direction",property:properties.stylerDirection}),XNode.create(DropDownProperty,{label:"Break",property:properties.stylerWhiteSpace}))}_export("default",TextPropertyEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_controlsPropertyEditor){DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_controlsSizeEditorControl){SizeEditorControl=_controlsSizeEditorControl.default}],execute:function(){properties=StylerSet.instance.properties}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/TextPropertyEditor");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet","../controls/SizeEditorControl"],(function(_export,_context){"use strict";var XNode,DropDownProperty,ExpanderPropertyEditor,StylerSet,SizeEditorControl,properties;function BorderGroupEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Border"},XNode.create(DropDownProperty,{label:"Style",property:properties.stylerBorder}),XNode.create(SizeEditorControl,{label:"Radius",property:properties.stylerBorderRadius}),XNode.create(SizeEditorControl,{label:"Color",property:properties.stylerBorderColor}),XNode.create(SizeEditorControl,{label:"Width",property:properties.stylerBorderWidth}))}_export("default",BorderGroupEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_controlsSizeEditorControl){SizeEditorControl=_controlsSizeEditorControl.default}],execute:function(){({properties}=StylerSet.instance)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/BorderGroupEditor");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet"],(function(_export,_context){"use strict";var XNode,DropDownProperty,ExpanderPropertyEditor,StylerSet,properties;function SizeGroupEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Size"},XNode.create(DropDownProperty,{label:"Width",property:properties.stylerWidth}),XNode.create(DropDownProperty,{label:"Height",property:properties.stylerHeight}),XNode.create(DropDownProperty,{label:"Min Width",property:properties.stylerMinWidth}),XNode.create(DropDownProperty,{label:"Min Height",property:properties.stylerMinHeight}),XNode.create(DropDownProperty,{label:"Max Width",property:properties.stylerMaxWidth}),XNode.create(DropDownProperty,{label:"Max Height",property:properties.stylerMaxHeight}))}_export("default",SizeGroupEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet}],execute:function(){({properties}=StylerSet.instance)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/SizeGroupEditor");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet","../controls/SizeEditorControl"],(function(_export,_context){"use strict";var XNode,ExpanderPropertyEditor,StylerSet,SizeEditorControl,properties;function SpaceGroupEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Space"},XNode.create(SizeEditorControl,{label:"Padding",property:properties.stylerPadding}),XNode.create(SizeEditorControl,{label:"Padding Left",property:properties.stylerPaddingLeft}),XNode.create(SizeEditorControl,{label:"Padding Top",property:properties.stylerPaddingTop}),XNode.create(SizeEditorControl,{label:"Padding Right",property:properties.stylerPaddingRight}),XNode.create(SizeEditorControl,{label:"Padding Bottom",property:properties.stylerPaddingBottom}),XNode.create(SizeEditorControl,{label:"Margin",property:properties.stylerMargin}),XNode.create(SizeEditorControl,{label:"Margin Left",property:properties.stylerMarginLeft}),XNode.create(SizeEditorControl,{label:"Margin Top",property:properties.stylerMarginTop}),XNode.create(SizeEditorControl,{label:"Margin Right",property:properties.stylerMarginRight}),XNode.create(SizeEditorControl,{label:"Margin Bottom",property:properties.stylerMarginBottom}))}_export("default",SpaceGroupEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_controlsSizeEditorControl){SizeEditorControl=_controlsSizeEditorControl.default}],execute:function(){({properties}=StylerSet.instance)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/SpaceGroupEditor");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet","../controls/SizeEditorControl"],(function(_export,_context){"use strict";var XNode,DropDownProperty,ExpanderPropertyEditor,StylerSet,SizeEditorControl,BindSizeEditor,properties;function PositionGroupEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Position"},XNode.create(DropDownProperty,{label:"Position",property:properties.stylerPosition}),XNode.create(SizeEditorControl,{label:"Left","style-display":BindSizeEditor.oneWay((e=>/relative|fixed|absolute|sticky/i.test(e.parent.selection.currentStyle.position))),property:properties.stylerLeft}),XNode.create(SizeEditorControl,{label:"Top","style-display":BindSizeEditor.oneWay((e=>/relative|fixed|absolute|sticky/i.test(e.parent.selection.currentStyle.position))),property:properties.stylerTop}),XNode.create(SizeEditorControl,{label:"Right","style-display":BindSizeEditor.oneWay((e=>/relative|fixed|absolute|sticky/i.test(e.parent.selection.currentStyle.position))),property:properties.stylerRight}),XNode.create(SizeEditorControl,{label:"Bottom","style-display":BindSizeEditor.oneWay((e=>/relative|fixed|absolute|sticky/i.test(e.parent.selection.currentStyle.position))),property:properties.stylerBottom}))}_export("default",PositionGroupEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_controlsSizeEditorControl){SizeEditorControl=_controlsSizeEditorControl.default;BindSizeEditor=_controlsSizeEditorControl.BindSizeEditor}],execute:function(){({properties}=StylerSet.instance)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/PositionGroupEditor");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet","../controls/SizeEditorControl"],(function(_export,_context){"use strict";var XNode,DropDownProperty,ExpanderPropertyEditor,StylerSet,SizeEditorControl,properties;function BackgroundGroupEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Background"},XNode.create(DropDownProperty,{label:"Type",property:properties.stylerBackground}),XNode.create(DropDownProperty,{label:"Color",property:properties.stylerBackgroundColor}),XNode.create(DropDownProperty,{label:"Image",property:properties.stylerBackgroundImage}),XNode.create(DropDownProperty,{label:"Position",property:properties.stylerBackgroundPosition}),XNode.create(SizeEditorControl,{label:"Position-X",property:properties.stylerBackgroundPositionX}),XNode.create(SizeEditorControl,{label:"Position-Y",property:properties.stylerBackgroundPositionY}),XNode.create(DropDownProperty,{label:"Size",property:properties.stylerBackgroundSize}),XNode.create(DropDownProperty,{label:"Repeat",property:properties.stylerBackgroundRepeat}),XNode.create(DropDownProperty,{label:"Attachment",property:properties.stylerBackgroundAttachment}))}_export("default",BackgroundGroupEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_controlsSizeEditorControl){SizeEditorControl=_controlsSizeEditorControl.default}],execute:function(){properties=StylerSet.instance.properties}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/BackgroundGroupEditor");System.register(["@web-atoms/core/dist/core/XNode","./groups/LayoutEditor","./groups/TextPropertyEditor","./groups/BorderGroupEditor","./groups/SizeGroupEditor","./groups/SpaceGroupEditor","./groups/PositionGroupEditor","./groups/BackgroundGroupEditor"],(function(_export,_context){"use strict";var XNode,LayoutEditor,TextPropertyEditor,BorderGroupEditor,SizeGroupEditor,SpaceGroupEditor,PositionGroupEditor,BackgroundGroupEditor;function Properties(){return XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(LayoutEditor,null),XNode.create(SizeGroupEditor,null),XNode.create(BorderGroupEditor,null),XNode.create(SpaceGroupEditor,null),XNode.create(PositionGroupEditor,null),XNode.create(BackgroundGroupEditor,null),XNode.create(TextPropertyEditor,null))}_export("default",Properties);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_groupsLayoutEditor){LayoutEditor=_groupsLayoutEditor.default},function(_groupsTextPropertyEditor){TextPropertyEditor=_groupsTextPropertyEditor.default},function(_groupsBorderGroupEditor){BorderGroupEditor=_groupsBorderGroupEditor.default},function(_groupsSizeGroupEditor){SizeGroupEditor=_groupsSizeGroupEditor.default},function(_groupsSpaceGroupEditor){SpaceGroupEditor=_groupsSpaceGroupEditor.default},function(_groupsPositionGroupEditor){PositionGroupEditor=_groupsPositionGroupEditor.default},function(_groupsBackgroundGroupEditor){BackgroundGroupEditor=_groupsBackgroundGroupEditor.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/Properties");System.register(["@web-atoms/core/dist/core/AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,SelectedElement;_export("SelectedElement",void 0);return{setters:[function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder}],execute:function(){_export("SelectedElement",SelectedElement=class SelectedElement{get element(){return this.e}get parentStyle(){var _a,_b,_c,_d;const pe=(_a=this.e)===null||_a===void 0?void 0:_a.parentElement;return(_b=this.cachedParentStyle)!==null&&_b!==void 0?_b:this.cachedParentStyle=pe&&this.editor.htmlDocument?(_d=(_c=this.editor.htmlDocument)===null||_c===void 0?void 0:_c.defaultView)===null||_d===void 0?void 0:_d.getComputedStyle(pe):{}}get currentStyle(){var _a,_b,_c;return(_a=this.cachedStyle)!==null&&_a!==void 0?_a:this.cachedStyle=this.e&&this.editor.htmlDocument?(_c=(_b=this.editor.htmlDocument)===null||_b===void 0?void 0:_b.defaultView)===null||_c===void 0?void 0:_c.getComputedStyle(this.e):{}}constructor(editor){this.editor=editor;this.styles=new Map;this.name="";this.isImage=false;this.mo=new MutationObserver((()=>{AtomBinder.refreshValue(this,"element");this.cachedStyle=null;this.cachedParentStyle=null;AtomBinder.refreshValue(this,"currentStyle");AtomBinder.refreshValue(this,"parentStyle");for(const iterator of this.styles.values()){AtomBinder.refreshValue(iterator,"value");AtomBinder.refreshValue(iterator,"custom")}}))}style(name){let mapper=this.styles.get(name);if(!mapper){const owner=this;const customName="--"+name;mapper={name,get value(){var _a,_b;return(_b=(_a=owner.e)===null||_a===void 0?void 0:_a.getAttribute(name))!==null&&_b!==void 0?_b:""},set value(v){if(!owner.e){return}if(!v){owner.e.removeAttribute(name)}else{owner.e.setAttribute(name,v)}owner.editor.commit();AtomBinder.refreshValue(this,"value");setTimeout((()=>{AtomBinder.refreshValue(this,"custom");AtomBinder.refreshValue(owner,"currentStyle");AtomBinder.refreshValue(owner,"parentStyle")}),1)},get custom(){var _a,_b,_c;return(_c=(_b=(_a=owner.e)===null||_a===void 0?void 0:_a.style)===null||_b===void 0?void 0:_b.getPropertyValue(customName))!==null&&_c!==void 0?_c:""},set custom(v){const e=owner===null||owner===void 0?void 0:owner.e;if(!e){return}if(!v){e.style.removeProperty(customName)}else{e.style.setProperty(customName,v)}}};this.styles.set(name,mapper)}return mapper}clear(){this.e=null;AtomBinder.refreshValue(this,"element")}update(e){if(e){if(this.e){this.mo.disconnect()}this.e=e;AtomBinder.refreshValue(this,"element");this.cachedStyle=null;this.cachedParentStyle=null;AtomBinder.refreshValue(this,"currentStyle");AtomBinder.refreshValue(this,"parentStyle");this.mo.observe(e,{attributes:true})}e=this.e;if(!e){return}this.name=e.tagName.toLowerCase();const r=e.getBoundingClientRect();this.isImage=this.name==="img";this.top=`${r.top+2}px`;this.left=`${r.left+2}px`;this.width=`${r.width}px`;this.height=`${r.height}px`;switch(this.dropAnchor){case"top":this.height="2px";break;case"left":this.width="2px";break;case"bottom":this.top=`${r.top+r.height+4}px`;this.height="2px";break;case"right":this.top=`${r.left+r.width+4}px`;this.width="2px";break}for(const iterator of this.styles.values()){AtomBinder.refreshValue(iterator,"value");AtomBinder.refreshValue(iterator,"custom")}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/SelectedElement");System.register([],(function(_export,_context){"use strict";var defaultImageSrc;return{setters:[],execute:function(){_export("defaultImageSrc",defaultImageSrc=`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3R5bGU9ImZpbGw6IHJnYmEoMCwwLDAsMC4xNSk7IHRyYW5zZm9ybTogc2NhbGUoMC43NSkiPgogICAgICAgIDxwYXRoIGQ9Ik04LjUgMTMuNWwyLjUgMyAzLjUtNC41IDQuNSA2SDVtMTYgMVY1YTIgMiAwIDAgMC0yLTJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnoiPjwvcGF0aD4KICAgICAgPC9zdmc+`)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/defaultImage");System.register(["@web-atoms/core/dist/core/XNode","./Block","./defaultImage"],(function(_export,_context){"use strict";var XNode,Block,defaultImageSrc,RightImageBox,ImageBox;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_defaultImage){defaultImageSrc=_defaultImage.defaultImageSrc}],execute:function(){_export("RightImageBox",RightImageBox=Block({className:"material-symbols-outlined",title:"Add Image Box with Image on Right",text:"",factory:()=>XNode.create("section",{"styler-layout":"image-box","styler-flex-direction":"row-reverse"},XNode.create("img",{src:defaultImageSrc}),XNode.create("section",null))}));_export("ImageBox",ImageBox=Block({className:"material-symbols-outlined",title:"Add Image Box",text:"",factory:()=>XNode.create("section",{"styler-layout":"image-box"},XNode.create("img",{src:defaultImageSrc}),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/ImageBox");System.register(["@web-atoms/core/dist/core/XNode","./Block","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/row.png"],(function(_export,_context){"use strict";var XNode,Block,row,RowBox;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsRowPng){row=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsRowPng.default}],execute:function(){_export("RowBox",RowBox=Block({title:"Add Row",src:row,factory:()=>XNode.create("section",{"styler-layout":"row"},XNode.create("section",null),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/RowBox");System.register(["@web-atoms/core/dist/core/XNode","./Block","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column.png","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column-2.png","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column-3.png"],(function(_export,_context){"use strict";var XNode,Block,column,column2,column3,ColumnBox,Columns2,Columns3;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumnPng){column=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumnPng.default},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumn2Png){column2=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumn2Png.default},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumn3Png){column3=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumn3Png.default}],execute:function(){_export("ColumnBox",ColumnBox=Block({title:"Add Single Column Box",src:column,factory:()=>XNode.create("section",{"styler-layout":"column"},XNode.create("section",null),XNode.create("section",null))}));_export("Columns2",Columns2=Block({title:"Add 2 Columns",src:column2,factory:()=>XNode.create("section",{"styler-layout":"columns-2"},XNode.create("section",null),XNode.create("section",null))}));_export("Columns3",Columns3=Block({title:"Add 3 Columns",src:column3,factory:()=>XNode.create("section",{"styler-layout":"columns-3"},XNode.create("section",null),XNode.create("section",null),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/ColumnBox");System.register(["@web-atoms/core/dist/core/XNode","./Block","./defaultImage","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/vertical-image-box.png"],(function(_export,_context){"use strict";var XNode,Block,defaultImageSrc,verticalImageBox,VerticalImageBox;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_defaultImage){defaultImageSrc=_defaultImage.defaultImageSrc},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsVerticalImageBoxPng){verticalImageBox=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsVerticalImageBoxPng.default}],execute:function(){_export("VerticalImageBox",VerticalImageBox=Block({className:"fas fa-image",title:"Add Vertical Image Box",src:verticalImageBox,factory:()=>XNode.create("section",{"styler-layout":"vertical-image-box"},XNode.create("img",{src:defaultImageSrc}),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/VerticalImageBox");System.register(["@web-atoms/core/dist/core/XNode","./Block","./defaultImage"],(function(_export,_context){"use strict";var XNode,Block,defaultImageSrc,Image;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_defaultImage){defaultImageSrc=_defaultImage.defaultImageSrc}],execute:function(){_export("Image",Image=Block({className:"fad fa-image",title:"Add Photo",factory:()=>XNode.create("img",{src:defaultImageSrc})}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/Image");System.register(["@web-atoms/core/dist/core/XNode","./Block","./defaultImage"],(function(_export,_context){"use strict";var XNode,Block,defaultImageSrc,ImageCard;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_defaultImage){defaultImageSrc=_defaultImage.defaultImageSrc}],execute:function(){_export("ImageCard",ImageCard=Block({className:"fad fa-id-card",title:"Add Image Card",factory:()=>XNode.create("section",{"styler-layout":"image-card"},XNode.create("h4",null),XNode.create("img",{src:defaultImageSrc}),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/ImageCard");System.register(["@web-atoms/core/dist/core/XNode","./Block"],(function(_export,_context){"use strict";var XNode,Block,src,TextBox;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block}],execute:function(){src=`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3R5bGU9ImZpbGw6IHJnYmEoMCwwLDAsMC4xNSk7IHRyYW5zZm9ybTogc2NhbGUoMC43NSkiPgogICAgICAgIDxwYXRoIGQ9Ik04LjUgMTMuNWwyLjUgMyAzLjUtNC41IDQuNSA2SDVtMTYgMVY1YTIgMiAwIDAgMC0yLTJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnoiPjwvcGF0aD4KICAgICAgPC9zdmc+`;_export("TextBox",TextBox=Block({className:"material-symbols-outlined",title:"Add Text Box",text:"",factory:()=>XNode.create("section",{"styler-layout":"text-box"},XNode.create("p",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/TextBox");System.register(["@web-atoms/core/dist/core/XNode","./Block","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/card.png"],(function(_export,_context){"use strict";var XNode,Block,card,Card;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsCardPng){card=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsCardPng.default}],execute:function(){_export("Card",Card=Block({title:"Add Card",src:card,factory:()=>XNode.create("section",{"styler-layout":"card"},XNode.create("h4",{"styler-element":"accent"}),XNode.create("section",{"styler-element":"surface"}))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/Card");System.register(["@web-atoms/core/dist/core/XNode","./Block"],(function(_export,_context){"use strict";var XNode,Block,List;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block}],execute:function(){_export("List",List=Block({className:"fad fa-list",title:"Add List",factory:()=>XNode.create("ul",null,XNode.create("li",null),XNode.create("li",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/List");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/web/controls/AtomControl","../drag-drop/DragDropHelper","../commands/CodeCommand","../toolbars/UndoRedoToolbar","../blocks/WrapGrid","../toolbars/EditorToolbar","../properties/Properties","../styler/StylerSet","./SelectedElement","@web-atoms/core/dist/core/AtomBinder","../styler/Styler","../blocks/ImageBox","../blocks/RowBox","../blocks/ColumnBox","../blocks/VerticalImageBox","../blocks/Image","../blocks/ImageCard","../blocks/TextBox","../blocks/Card","../blocks/List"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,sleep,styled,Action,AtomControl,InstallDragDropHelper,CodeCommand,UndoRedoToolbar,WrapGrid,EditorToolbar,Properties,StylerSet,SelectedElement,AtomBinder,StylerVariable,ImageBox,RightImageBox,RowBox,ColumnBox,Columns2,Columns3,VerticalImageBox,Image,ImageCard,TextBox,Card,List,HtmlPageEditor,desktopWidth,tabletWidth,mobileWidth;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_dragDropDragDropHelper){InstallDragDropHelper=_dragDropDragDropHelper.InstallDragDropHelper},function(_commandsCodeCommand){CodeCommand=_commandsCodeCommand.CodeCommand},function(_toolbarsUndoRedoToolbar){UndoRedoToolbar=_toolbarsUndoRedoToolbar.default},function(_blocksWrapGrid){WrapGrid=_blocksWrapGrid.WrapGrid},function(_toolbarsEditorToolbar){EditorToolbar=_toolbarsEditorToolbar.default},function(_propertiesProperties){Properties=_propertiesProperties.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_SelectedElement){SelectedElement=_SelectedElement.SelectedElement},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_stylerStyler){StylerVariable=_stylerStyler.StylerVariable},function(_blocksImageBox){ImageBox=_blocksImageBox.ImageBox;RightImageBox=_blocksImageBox.RightImageBox},function(_blocksRowBox){RowBox=_blocksRowBox.RowBox},function(_blocksColumnBox){ColumnBox=_blocksColumnBox.ColumnBox;Columns2=_blocksColumnBox.Columns2;Columns3=_blocksColumnBox.Columns3},function(_blocksVerticalImageBox){VerticalImageBox=_blocksVerticalImageBox.VerticalImageBox},function(_blocksImage){Image=_blocksImage.Image},function(_blocksImageCard){ImageCard=_blocksImageCard.ImageCard},function(_blocksTextBox){TextBox=_blocksTextBox.TextBox},function(_blocksCard){Card=_blocksCard.Card},function(_blocksList){List=_blocksList.List}],execute:function(){styled.css`
3039
+ `}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/styler/properties/color-sets/stylerColorSets");System.register(["./Styler","./properties/stylerBorder","./properties/layouts/display","./properties/layouts/flex/flex","./properties/layouts/items-position/itemsPosition","./properties/layouts/layout","./properties/stylerPosition","./properties/stylerSizes","./properties/stylerSpace","./properties/text/stylerText","./properties/stylerBackground","./properties/color-sets/stylerColorSets"],(function(_export,_context){"use strict";var StylerVariable,stylerVars,stylerBorder,stylerDisplay,stylerFlexDirection,itemPositions,stylerLayout,stylerPosition,stylerSizes,stylerSpace,stylerText,stylerBackground,stylerColorSets,StylerSet,vars;_export("StylerSet",void 0);return{setters:[function(_Styler){StylerVariable=_Styler.StylerVariable;stylerVars=_Styler.stylerVars},function(_propertiesStylerBorder){stylerBorder=_propertiesStylerBorder.stylerBorder},function(_propertiesLayoutsDisplay){stylerDisplay=_propertiesLayoutsDisplay.stylerDisplay},function(_propertiesLayoutsFlexFlex){stylerFlexDirection=_propertiesLayoutsFlexFlex.stylerFlexDirection},function(_propertiesLayoutsItemsPositionItemsPosition){itemPositions=_propertiesLayoutsItemsPositionItemsPosition.itemPositions},function(_propertiesLayoutsLayout){stylerLayout=_propertiesLayoutsLayout.stylerLayout},function(_propertiesStylerPosition){stylerPosition=_propertiesStylerPosition.stylerPosition},function(_propertiesStylerSizes){stylerSizes=_propertiesStylerSizes.stylerSizes},function(_propertiesStylerSpace){stylerSpace=_propertiesStylerSpace.stylerSpace},function(_propertiesTextStylerText){stylerText=_propertiesTextStylerText.stylerText},function(_propertiesStylerBackground){stylerBackground=_propertiesStylerBackground.stylerBackground},function(_propertiesColorSetsStylerColorSets){stylerColorSets=_propertiesColorSetsStylerColorSets.stylerColorSets}],execute:function(){vars=[];for(const key in stylerVars){if(Object.prototype.hasOwnProperty.call(stylerVars,key)){const element=stylerVars[key];vars.push(new StylerVariable(element.name,element.value))}}_export("StylerSet",StylerSet=class StylerSet{constructor(){this.vars=vars;this.varsCss=this.vars.join("\n\t\t\t");this.properties=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({stylerLayout,stylerColorSets,stylerDisplay,stylerFlexDirection},stylerBorder),itemPositions),stylerText),stylerSizes),stylerSpace),stylerPosition),stylerBackground)}toString(){const properties=[];for(const key in this.properties){if(Object.prototype.hasOwnProperty.call(this.properties,key)){const element=this.properties[key];properties.push(element)}}return`:root{\n ${this.vars.join("\n")}\n }\n \n ${properties.join("\n")}\n\n body {\n background-color: var(--default-color);\n color: var(--default-text-color);\n }\n `}});StylerSet.instance=new StylerSet}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/styler/StylerSet");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet"],(function(_export,_context){"use strict";var XNode,BindEditor,DropDownProperty,ExpanderPropertyEditor,StylerSet,properties;function LayoutEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Layout"},XNode.create(DropDownProperty,{property:properties.stylerLayout}),XNode.create(DropDownProperty,{label:"Display",property:properties.stylerDisplay}),XNode.create(DropDownProperty,{label:"Color Set",property:properties.stylerColorSets}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>e.selection.currentStyle.display==="flex")),label:"Direction",property:properties.stylerFlexDirection}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.currentStyle.display))),label:"Justify",property:properties.stylerJustifyItems}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.currentStyle.display))),label:"Align",property:properties.stylerAlignItems}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.currentStyle.display))),label:"Gap",property:properties.stylerGap}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.currentStyle.display))),label:"Row Gap",property:properties.stylerRowGap}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.currentStyle.display))),label:"Column Gap",property:properties.stylerColumnGap}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex/i.test(e.selection.currentStyle.display))),label:"Wrap",property:properties.stylerFlexWrap}),XNode.create("hr",null),XNode.create("label",{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.parentStyle.display))),text:BindEditor.oneWay((e=>/flex/i.test(e.selection.parentStyle.display)))?"Flex Child":"Grid Child"}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.parentStyle.display))),label:"Align",property:properties.stylerAlignSelf}),XNode.create(DropDownProperty,{"style-display":BindEditor.oneWay((e=>/flex|grid/i.test(e.selection.parentStyle.display))),label:"Justify",property:properties.stylerJustifySelf}))}_export("default",LayoutEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){BindEditor=_controlsPropertyEditor.BindEditor;DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet}],execute:function(){properties=StylerSet.instance.properties}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/LayoutEditor");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/AtomBinder"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,AtomControl,XNode,Bind,AtomBinder,SizeEditorControl,BindSizeEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder}],execute:function(){_export("BindSizeEditor",BindSizeEditor=Bind.forControl());_export("default",SizeEditorControl=class SizeEditorControl extends AtomControl{constructor(){super(...arguments);this._value="";this._isChanging=false;this._old=""}get isCustom(){return this.propertyValue==="custom"}set isCustom(v){if(v){this.propertyValue="custom"}else{this.propertyValue=this._old}}get propertyValue(){return this._value}set propertyValue(v){if(this._isChanging){return}this._isChanging=true;this._old=v&&v!=="custom"?this._value:this._old;this._value=v;AtomBinder.refreshValue(this,"propertyValue");AtomBinder.refreshValue(this,"valueAsNumber");AtomBinder.refreshValue(this,"isCustom");this._isChanging=false}get valueAsNumber(){var _a;const v=this.propertyValue;if(!v||v==="custom"){return 0}return(_a=this.values.findIndex((item=>item.name===v)))!==null&&_a!==void 0?_a:0}set valueAsNumber(v){var _a;this.propertyValue=((_a=this.values[v])===null||_a===void 0?void 0:_a.name)||this._old}init(){return __awaiter(this,void 0,void 0,(function*(){const parent=this.parent;const pv=parent.selection.style(this.property.key);this.values=this.property.values.filter((x=>x.name!=="custom"));this.render(XNode.create("div",{propertyValue:Bind.sourceTwoWays(pv,(x=>x.source.value)),custom:Bind.sourceTwoWays(pv,(x=>x.source.custom)),"data-element":"property-editor","data-display":"flex","data-justify-items":"stretch"},XNode.create("div",{"data-layout":"row"},XNode.create("label",{"data-font-size":"small",text:Bind.oneWay((()=>this.label))}),XNode.create("input",{type:"checkbox",checked:Bind.twoWaysImmediate((()=>this.isCustom))})),XNode.create("div",null,XNode.create("input",{"style-display":Bind.oneWay((()=>!this.isCustom)),type:"range",min:0,max:this.values.length-2,value:Bind.twoWays((()=>this.valueAsNumber))}),XNode.create("input",{"style-display":Bind.oneWay((()=>this.isCustom)),type:"text",value:Bind.twoWaysImmediate((()=>this.custom))}))))}))}preCreate(){this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}});__decorate([BindableProperty,__metadata("design:type",String)],SizeEditorControl.prototype,"label",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],SizeEditorControl.prototype,"property",void 0);__decorate([BindableProperty,__metadata("design:type",String)],SizeEditorControl.prototype,"custom",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/controls/SizeEditorControl");System.register(["@web-atoms/core/dist/core/XNode","../../styler/StylerSet","../controls/PropertyEditor","../controls/SizeEditorControl"],(function(_export,_context){"use strict";var XNode,StylerSet,DropDownProperty,ExpanderPropertyEditor,SizeEditorControl,properties;function TextPropertyEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Text"},XNode.create(DropDownProperty,{label:"Font",property:properties.stylerFontFamily}),XNode.create(DropDownProperty,{label:"Color",property:properties.stylerColor}),XNode.create(SizeEditorControl,{label:"Size",property:properties.stylerFontSize}),XNode.create(DropDownProperty,{label:"Weight",property:properties.stylerFontWeight}),XNode.create(DropDownProperty,{label:"Style",property:properties.stylerFontStyle}),XNode.create(DropDownProperty,{label:"Align",property:properties.stylerTextAlign}),XNode.create(DropDownProperty,{label:"Line Height",property:properties.stylerLineHeight}),XNode.create(DropDownProperty,{label:"Spacing",property:properties.stylerLetterSpacing}),XNode.create(DropDownProperty,{label:"Decoration",property:properties.stylerTextDecoration}),XNode.create(DropDownProperty,{label:"Transform",property:properties.stylerTextTransform}),XNode.create(DropDownProperty,{label:"Direction",property:properties.stylerDirection}),XNode.create(DropDownProperty,{label:"Break",property:properties.stylerWhiteSpace}))}_export("default",TextPropertyEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_controlsPropertyEditor){DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_controlsSizeEditorControl){SizeEditorControl=_controlsSizeEditorControl.default}],execute:function(){properties=StylerSet.instance.properties}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/TextPropertyEditor");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet","../controls/SizeEditorControl"],(function(_export,_context){"use strict";var XNode,DropDownProperty,ExpanderPropertyEditor,StylerSet,SizeEditorControl,properties;function BorderGroupEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Border"},XNode.create(DropDownProperty,{label:"Style",property:properties.stylerBorder}),XNode.create(SizeEditorControl,{label:"Radius",property:properties.stylerBorderRadius}),XNode.create(SizeEditorControl,{label:"Color",property:properties.stylerBorderColor}),XNode.create(SizeEditorControl,{label:"Width",property:properties.stylerBorderWidth}))}_export("default",BorderGroupEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_controlsSizeEditorControl){SizeEditorControl=_controlsSizeEditorControl.default}],execute:function(){({properties}=StylerSet.instance)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/BorderGroupEditor");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet"],(function(_export,_context){"use strict";var XNode,DropDownProperty,ExpanderPropertyEditor,StylerSet,properties;function SizeGroupEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Size"},XNode.create(DropDownProperty,{label:"Width",property:properties.stylerWidth}),XNode.create(DropDownProperty,{label:"Height",property:properties.stylerHeight}),XNode.create(DropDownProperty,{label:"Min Width",property:properties.stylerMinWidth}),XNode.create(DropDownProperty,{label:"Min Height",property:properties.stylerMinHeight}),XNode.create(DropDownProperty,{label:"Max Width",property:properties.stylerMaxWidth}),XNode.create(DropDownProperty,{label:"Max Height",property:properties.stylerMaxHeight}))}_export("default",SizeGroupEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet}],execute:function(){({properties}=StylerSet.instance)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/SizeGroupEditor");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet","../controls/SizeEditorControl"],(function(_export,_context){"use strict";var XNode,ExpanderPropertyEditor,StylerSet,SizeEditorControl,properties;function SpaceGroupEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Space"},XNode.create(SizeEditorControl,{label:"Padding",property:properties.stylerPadding}),XNode.create(SizeEditorControl,{label:"Padding Left",property:properties.stylerPaddingLeft}),XNode.create(SizeEditorControl,{label:"Padding Top",property:properties.stylerPaddingTop}),XNode.create(SizeEditorControl,{label:"Padding Right",property:properties.stylerPaddingRight}),XNode.create(SizeEditorControl,{label:"Padding Bottom",property:properties.stylerPaddingBottom}),XNode.create(SizeEditorControl,{label:"Margin",property:properties.stylerMargin}),XNode.create(SizeEditorControl,{label:"Margin Left",property:properties.stylerMarginLeft}),XNode.create(SizeEditorControl,{label:"Margin Top",property:properties.stylerMarginTop}),XNode.create(SizeEditorControl,{label:"Margin Right",property:properties.stylerMarginRight}),XNode.create(SizeEditorControl,{label:"Margin Bottom",property:properties.stylerMarginBottom}))}_export("default",SpaceGroupEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_controlsSizeEditorControl){SizeEditorControl=_controlsSizeEditorControl.default}],execute:function(){({properties}=StylerSet.instance)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/SpaceGroupEditor");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet","../controls/SizeEditorControl"],(function(_export,_context){"use strict";var XNode,DropDownProperty,ExpanderPropertyEditor,StylerSet,SizeEditorControl,BindSizeEditor,properties;function PositionGroupEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Position"},XNode.create(DropDownProperty,{label:"Position",property:properties.stylerPosition}),XNode.create(SizeEditorControl,{label:"Left","style-display":BindSizeEditor.oneWay((e=>/relative|fixed|absolute|sticky/i.test(e.parent.selection.currentStyle.position))),property:properties.stylerLeft}),XNode.create(SizeEditorControl,{label:"Top","style-display":BindSizeEditor.oneWay((e=>/relative|fixed|absolute|sticky/i.test(e.parent.selection.currentStyle.position))),property:properties.stylerTop}),XNode.create(SizeEditorControl,{label:"Right","style-display":BindSizeEditor.oneWay((e=>/relative|fixed|absolute|sticky/i.test(e.parent.selection.currentStyle.position))),property:properties.stylerRight}),XNode.create(SizeEditorControl,{label:"Bottom","style-display":BindSizeEditor.oneWay((e=>/relative|fixed|absolute|sticky/i.test(e.parent.selection.currentStyle.position))),property:properties.stylerBottom}))}_export("default",PositionGroupEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_controlsSizeEditorControl){SizeEditorControl=_controlsSizeEditorControl.default;BindSizeEditor=_controlsSizeEditorControl.BindSizeEditor}],execute:function(){({properties}=StylerSet.instance)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/PositionGroupEditor");System.register(["@web-atoms/core/dist/core/XNode","../controls/PropertyEditor","../../styler/StylerSet","../controls/SizeEditorControl"],(function(_export,_context){"use strict";var XNode,DropDownProperty,ExpanderPropertyEditor,StylerSet,SizeEditorControl,properties;function BackgroundGroupEditor(){return XNode.create(ExpanderPropertyEditor,{label:"Background"},XNode.create(DropDownProperty,{label:"Type",property:properties.stylerBackground}),XNode.create(DropDownProperty,{label:"Color",property:properties.stylerBackgroundColor}),XNode.create(DropDownProperty,{label:"Image",property:properties.stylerBackgroundImage}),XNode.create(DropDownProperty,{label:"Position",property:properties.stylerBackgroundPosition}),XNode.create(SizeEditorControl,{label:"Position-X",property:properties.stylerBackgroundPositionX}),XNode.create(SizeEditorControl,{label:"Position-Y",property:properties.stylerBackgroundPositionY}),XNode.create(DropDownProperty,{label:"Size",property:properties.stylerBackgroundSize}),XNode.create(DropDownProperty,{label:"Repeat",property:properties.stylerBackgroundRepeat}),XNode.create(DropDownProperty,{label:"Attachment",property:properties.stylerBackgroundAttachment}))}_export("default",BackgroundGroupEditor);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsPropertyEditor){DropDownProperty=_controlsPropertyEditor.DropDownProperty;ExpanderPropertyEditor=_controlsPropertyEditor.ExpanderPropertyEditor},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_controlsSizeEditorControl){SizeEditorControl=_controlsSizeEditorControl.default}],execute:function(){properties=StylerSet.instance.properties}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/groups/BackgroundGroupEditor");System.register(["@web-atoms/core/dist/core/XNode","./groups/LayoutEditor","./groups/TextPropertyEditor","./groups/BorderGroupEditor","./groups/SizeGroupEditor","./groups/SpaceGroupEditor","./groups/PositionGroupEditor","./groups/BackgroundGroupEditor"],(function(_export,_context){"use strict";var XNode,LayoutEditor,TextPropertyEditor,BorderGroupEditor,SizeGroupEditor,SpaceGroupEditor,PositionGroupEditor,BackgroundGroupEditor;function Properties(){return XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(LayoutEditor,null),XNode.create(SizeGroupEditor,null),XNode.create(BorderGroupEditor,null),XNode.create(SpaceGroupEditor,null),XNode.create(PositionGroupEditor,null),XNode.create(BackgroundGroupEditor,null),XNode.create(TextPropertyEditor,null))}_export("default",Properties);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_groupsLayoutEditor){LayoutEditor=_groupsLayoutEditor.default},function(_groupsTextPropertyEditor){TextPropertyEditor=_groupsTextPropertyEditor.default},function(_groupsBorderGroupEditor){BorderGroupEditor=_groupsBorderGroupEditor.default},function(_groupsSizeGroupEditor){SizeGroupEditor=_groupsSizeGroupEditor.default},function(_groupsSpaceGroupEditor){SpaceGroupEditor=_groupsSpaceGroupEditor.default},function(_groupsPositionGroupEditor){PositionGroupEditor=_groupsPositionGroupEditor.default},function(_groupsBackgroundGroupEditor){BackgroundGroupEditor=_groupsBackgroundGroupEditor.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/properties/Properties");System.register(["@web-atoms/core/dist/core/AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,SelectedElement;_export("SelectedElement",void 0);return{setters:[function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder}],execute:function(){_export("SelectedElement",SelectedElement=class SelectedElement{get element(){return this.e}get parentStyle(){var _a,_b,_c,_d;const pe=(_a=this.e)===null||_a===void 0?void 0:_a.parentElement;return(_b=this.cachedParentStyle)!==null&&_b!==void 0?_b:this.cachedParentStyle=pe&&this.editor.htmlDocument?(_d=(_c=this.editor.htmlDocument)===null||_c===void 0?void 0:_c.defaultView)===null||_d===void 0?void 0:_d.getComputedStyle(pe):{}}get currentStyle(){var _a,_b,_c;return(_a=this.cachedStyle)!==null&&_a!==void 0?_a:this.cachedStyle=this.e&&this.editor.htmlDocument?(_c=(_b=this.editor.htmlDocument)===null||_b===void 0?void 0:_b.defaultView)===null||_c===void 0?void 0:_c.getComputedStyle(this.e):{}}constructor(editor){this.editor=editor;this.styles=new Map;this.name="";this.isImage=false;this.mo=new MutationObserver((()=>{AtomBinder.refreshValue(this,"element");this.cachedStyle=null;this.cachedParentStyle=null;AtomBinder.refreshValue(this,"currentStyle");AtomBinder.refreshValue(this,"parentStyle");for(const iterator of this.styles.values()){AtomBinder.refreshValue(iterator,"value");AtomBinder.refreshValue(iterator,"custom")}}))}style(name){let mapper=this.styles.get(name);if(!mapper){const owner=this;const customName="--"+name;mapper={name,get value(){var _a,_b;return(_b=(_a=owner.e)===null||_a===void 0?void 0:_a.getAttribute(name))!==null&&_b!==void 0?_b:""},set value(v){if(!owner.e){return}if(!v){owner.e.removeAttribute(name)}else{owner.e.setAttribute(name,v)}owner.editor.commit();AtomBinder.refreshValue(this,"value");setTimeout((()=>{AtomBinder.refreshValue(this,"custom");AtomBinder.refreshValue(owner,"currentStyle");AtomBinder.refreshValue(owner,"parentStyle")}),1)},get custom(){var _a,_b,_c;return(_c=(_b=(_a=owner.e)===null||_a===void 0?void 0:_a.style)===null||_b===void 0?void 0:_b.getPropertyValue(customName))!==null&&_c!==void 0?_c:""},set custom(v){const e=owner===null||owner===void 0?void 0:owner.e;if(!e){return}if(!v){e.style.removeProperty(customName)}else{e.style.setProperty(customName,v)}}};this.styles.set(name,mapper)}return mapper}clear(){this.e=null;AtomBinder.refreshValue(this,"element")}update(e){if(e){if(this.e){this.mo.disconnect()}this.e=e;AtomBinder.refreshValue(this,"element");this.cachedStyle=null;this.cachedParentStyle=null;AtomBinder.refreshValue(this,"currentStyle");AtomBinder.refreshValue(this,"parentStyle");this.mo.observe(e,{attributes:true})}e=this.e;if(!e){return}this.name=e.tagName.toLowerCase();const r=e.getBoundingClientRect();this.isImage=this.name==="img";this.top=`${r.top+2}px`;this.left=`${r.left+2}px`;this.width=`${r.width}px`;this.height=`${r.height}px`;switch(this.dropAnchor){case"top":this.height="2px";break;case"left":this.width="2px";break;case"bottom":this.top=`${r.top+r.height+4}px`;this.height="2px";break;case"right":this.top=`${r.left+r.width+4}px`;this.width="2px";break}for(const iterator of this.styles.values()){AtomBinder.refreshValue(iterator,"value");AtomBinder.refreshValue(iterator,"custom")}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/SelectedElement");System.register([],(function(_export,_context){"use strict";var defaultImageSrc;return{setters:[],execute:function(){_export("defaultImageSrc",defaultImageSrc=`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3R5bGU9ImZpbGw6IHJnYmEoMCwwLDAsMC4xNSk7IHRyYW5zZm9ybTogc2NhbGUoMC43NSkiPgogICAgICAgIDxwYXRoIGQ9Ik04LjUgMTMuNWwyLjUgMyAzLjUtNC41IDQuNSA2SDVtMTYgMVY1YTIgMiAwIDAgMC0yLTJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnoiPjwvcGF0aD4KICAgICAgPC9zdmc+`)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/defaultImage");System.register(["@web-atoms/core/dist/core/XNode","./Block","./defaultImage"],(function(_export,_context){"use strict";var XNode,Block,defaultImageSrc,RightImageBox,ImageBox;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_defaultImage){defaultImageSrc=_defaultImage.defaultImageSrc}],execute:function(){_export("RightImageBox",RightImageBox=Block({className:"material-symbols-outlined",title:"Add Image Box with Image on Right",text:"",factory:()=>XNode.create("section",{"styler-layout":"image-box","styler-flex-direction":"row-reverse"},XNode.create("img",{src:defaultImageSrc}),XNode.create("section",null))}));_export("ImageBox",ImageBox=Block({className:"material-symbols-outlined",title:"Add Image Box",text:"",factory:()=>XNode.create("section",{"styler-layout":"image-box"},XNode.create("img",{src:defaultImageSrc}),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/ImageBox");System.register(["@web-atoms/core/dist/core/XNode","./Block","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/row.png"],(function(_export,_context){"use strict";var XNode,Block,row,RowBox;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsRowPng){row=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsRowPng.default}],execute:function(){_export("RowBox",RowBox=Block({title:"Add Row",src:row,factory:()=>XNode.create("section",{"styler-layout":"row"},XNode.create("section",null),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/RowBox");System.register(["@web-atoms/core/dist/core/XNode","./Block","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column.png","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column-2.png","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/column-3.png"],(function(_export,_context){"use strict";var XNode,Block,column,column2,column3,ColumnBox,Columns2,Columns3;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumnPng){column=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumnPng.default},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumn2Png){column2=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumn2Png.default},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumn3Png){column3=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsColumn3Png.default}],execute:function(){_export("ColumnBox",ColumnBox=Block({title:"Add Single Column Box",src:column,factory:()=>XNode.create("section",{"styler-layout":"column"},XNode.create("section",null),XNode.create("section",null))}));_export("Columns2",Columns2=Block({title:"Add 2 Columns",src:column2,factory:()=>XNode.create("section",{"styler-layout":"columns-2"},XNode.create("section",null),XNode.create("section",null))}));_export("Columns3",Columns3=Block({title:"Add 3 Columns",src:column3,factory:()=>XNode.create("section",{"styler-layout":"columns-3"},XNode.create("section",null),XNode.create("section",null),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/ColumnBox");System.register(["@web-atoms/core/dist/core/XNode","./Block","./defaultImage","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/vertical-image-box.png"],(function(_export,_context){"use strict";var XNode,Block,defaultImageSrc,verticalImageBox,VerticalImageBox;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_defaultImage){defaultImageSrc=_defaultImage.defaultImageSrc},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsVerticalImageBoxPng){verticalImageBox=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsVerticalImageBoxPng.default}],execute:function(){_export("VerticalImageBox",VerticalImageBox=Block({className:"fas fa-image",title:"Add Vertical Image Box",src:verticalImageBox,factory:()=>XNode.create("section",{"styler-layout":"vertical-image-box"},XNode.create("img",{src:defaultImageSrc}),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/VerticalImageBox");System.register(["@web-atoms/core/dist/core/XNode","./Block","./defaultImage"],(function(_export,_context){"use strict";var XNode,Block,defaultImageSrc,Image;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_defaultImage){defaultImageSrc=_defaultImage.defaultImageSrc}],execute:function(){_export("Image",Image=Block({className:"fad fa-image",title:"Add Photo",factory:()=>XNode.create("img",{src:defaultImageSrc})}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/Image");System.register(["@web-atoms/core/dist/core/XNode","./Block","./defaultImage"],(function(_export,_context){"use strict";var XNode,Block,defaultImageSrc,ImageCard;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_defaultImage){defaultImageSrc=_defaultImage.defaultImageSrc}],execute:function(){_export("ImageCard",ImageCard=Block({className:"fad fa-id-card",title:"Add Image Card",factory:()=>XNode.create("section",{"styler-layout":"image-card"},XNode.create("h4",null),XNode.create("img",{src:defaultImageSrc}),XNode.create("section",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/ImageCard");System.register(["@web-atoms/core/dist/core/XNode","./Block"],(function(_export,_context){"use strict";var XNode,Block,src,TextBox;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block}],execute:function(){src=`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3R5bGU9ImZpbGw6IHJnYmEoMCwwLDAsMC4xNSk7IHRyYW5zZm9ybTogc2NhbGUoMC43NSkiPgogICAgICAgIDxwYXRoIGQ9Ik04LjUgMTMuNWwyLjUgMyAzLjUtNC41IDQuNSA2SDVtMTYgMVY1YTIgMiAwIDAgMC0yLTJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnoiPjwvcGF0aD4KICAgICAgPC9zdmc+`;_export("TextBox",TextBox=Block({className:"material-symbols-outlined",title:"Add Text Box",text:"",factory:()=>XNode.create("section",{"styler-layout":"text-box"},XNode.create("p",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/TextBox");System.register(["@web-atoms/core/dist/core/XNode","./Block","@social-mail/social-mail-client/content/images/svg/html-editor/layouts/card.png"],(function(_export,_context){"use strict";var XNode,Block,card,Card;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block},function(_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsCardPng){card=_socialMailSocialMailClientContentImagesSvgHtmlEditorLayoutsCardPng.default}],execute:function(){_export("Card",Card=Block({title:"Add Card",src:card,factory:()=>XNode.create("section",{"styler-layout":"card"},XNode.create("h4",{"styler-element":"accent"}),XNode.create("section",{"styler-element":"surface"}))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/Card");System.register(["@web-atoms/core/dist/core/XNode","./Block"],(function(_export,_context){"use strict";var XNode,Block,List;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_Block){Block=_Block.Block}],execute:function(){_export("List",List=Block({className:"fad fa-list",title:"Add List",factory:()=>XNode.create("ul",null,XNode.create("li",null),XNode.create("li",null))}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/blocks/List");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/web/controls/AtomControl","../drag-drop/DragDropHelper","../commands/CodeCommand","../toolbars/UndoRedoToolbar","../blocks/WrapGrid","../toolbars/EditorToolbar","../properties/Properties","../styler/StylerSet","./SelectedElement","@web-atoms/core/dist/core/AtomBinder","../styler/Styler","../blocks/ImageBox","../blocks/RowBox","../blocks/ColumnBox","../blocks/VerticalImageBox","../blocks/Image","../blocks/ImageCard","../blocks/TextBox","../blocks/Card","../blocks/List"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,sleep,styled,Action,AtomControl,InstallDragDropHelper,CodeCommand,UndoRedoToolbar,WrapGrid,EditorToolbar,Properties,StylerSet,SelectedElement,AtomBinder,StylerVariable,ImageBox,RightImageBox,RowBox,ColumnBox,Columns2,Columns3,VerticalImageBox,Image,ImageCard,TextBox,Card,List,HtmlPageEditor,desktopWidth,tabletWidth,mobileWidth;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_dragDropDragDropHelper){InstallDragDropHelper=_dragDropDragDropHelper.InstallDragDropHelper},function(_commandsCodeCommand){CodeCommand=_commandsCodeCommand.CodeCommand},function(_toolbarsUndoRedoToolbar){UndoRedoToolbar=_toolbarsUndoRedoToolbar.default},function(_blocksWrapGrid){WrapGrid=_blocksWrapGrid.WrapGrid},function(_toolbarsEditorToolbar){EditorToolbar=_toolbarsEditorToolbar.default},function(_propertiesProperties){Properties=_propertiesProperties.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_SelectedElement){SelectedElement=_SelectedElement.SelectedElement},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_stylerStyler){StylerVariable=_stylerStyler.StylerVariable},function(_blocksImageBox){ImageBox=_blocksImageBox.ImageBox;RightImageBox=_blocksImageBox.RightImageBox},function(_blocksRowBox){RowBox=_blocksRowBox.RowBox},function(_blocksColumnBox){ColumnBox=_blocksColumnBox.ColumnBox;Columns2=_blocksColumnBox.Columns2;Columns3=_blocksColumnBox.Columns3},function(_blocksVerticalImageBox){VerticalImageBox=_blocksVerticalImageBox.VerticalImageBox},function(_blocksImage){Image=_blocksImage.Image},function(_blocksImageCard){ImageCard=_blocksImageCard.ImageCard},function(_blocksTextBox){TextBox=_blocksTextBox.TextBox},function(_blocksCard){Card=_blocksCard.Card},function(_blocksList){List=_blocksList.List}],execute:function(){styled.css`
3040
3040
  display: grid;
3041
3041
  grid-template-columns: auto 1fr auto;
3042
3042
  grid-template-rows: auto 1fr auto;
@@ -3151,7 +3151,7 @@ and limitations under the License.
3151
3151
  z-index: 50;
3152
3152
  }
3153
3153
  }
3154
- `.installGlobal("[data-html-page-editor=html-page-editor]");desktopWidth=992;tabletWidth=768;mobileWidth=480;_export("default",HtmlPageEditor=class HtmlPageEditor extends AtomControl{get htmlPage(){var _a,_b;return(_b=(_a=this.htmlDocument)===null||_a===void 0?void 0:_a.documentElement)===null||_b===void 0?void 0:_b.outerHTML}set htmlPage(v){if(!this.element){return}if(!this.ready){setTimeout((()=>{this.htmlPage=v}),100);return}void this.ready.then((()=>{if(!this.htmlDocument){return}this.htmlDocument.open();this.htmlDocument.write(v);this.htmlDocument.addEventListener("click",(e=>{const target=e.target;const previous=this.selection.element;if(previous===null||previous===void 0?void 0:previous.isContentEditable){let start=target;while(start){if(previous===target){return}start=start.parentElement}previous.removeAttribute("contentEditable");this.commit()}e.preventDefault();this.setSelection(target)}));this.htmlDocument.addEventListener("dblclick",(e=>{const target=e.target;e.preventDefault();const element=target.nodeType===Node.ELEMENT_NODE?target:target.parentElement;element.setAttribute("contentEditable","true");this.setSelection(element);if(element.tagName==="IMG"){this.changeImage().catch(console.error)}}));this.htmlDocument.addEventListener("scroll",(e=>{this.hover.update();this.selection.update()}),{passive:true});this.htmlDocument.addEventListener("pointerover",(e=>{let target=e.target;target=target.nodeType===Node.ELEMENT_NODE&&target.tagName?target:target.parentElement;if(this.hover.element===target){return}this.hover.update(target)}),{capture:true});this.htmlDocument.addEventListener("keydown",(e=>{if(e.ctrlKey||e.metaKey){switch(e.key){case"s":this.contentEditor.dispatchEvent(new CustomEvent("savePage",{bubbles:true}));e.preventDefault();break;case"z":this.contentEditor.dispatchEvent(new CustomEvent("undo",{bubbles:true}));e.preventDefault();break;case"y":this.contentEditor.dispatchEvent(new CustomEvent("redo",{bubbles:true}));e.preventDefault();break}}}));InstallDragDropHelper(this);this.htmlDocument.close();setTimeout((()=>{this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){yield this.setStylerSheet();this.loadVariables()}))))}),10)}))}constructor(app,e){super(app,e);this.selection=new SelectedElement(this);this.undoList=[];this.redoList=[];this.pageVariables=[];this.hover=new SelectedElement(this);this.dropTarget=new SelectedElement(this);this.maxWidth=desktopWidth;this.ready=this.init()}init(){return __awaiter(this,void 0,void 0,(function*(){this.render(XNode.create("div",{"data-html-page-editor":"html-page-editor"},XNode.create("div",{"data-element":"top"},XNode.create(EditorToolbar,{"data-element":"max-width","event-click":()=>this.deferUpdate()},XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===desktopWidth)),"event-click":()=>this.maxWidth=desktopWidth,class:"fas fa-desktop"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===tabletWidth)),"event-click":()=>this.maxWidth=tabletWidth,class:"fas fa-tablet-screen"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===mobileWidth)),"event-click":()=>this.maxWidth=mobileWidth,class:"fas fa-mobile-screen"})),XNode.create(UndoRedoToolbar,null),XNode.create(EditorToolbar,null,XNode.create(CodeCommand,null))),XNode.create(EditorToolbar,{"data-element":"left"},XNode.create(TextBox,null),XNode.create(Image,null),XNode.create(WrapGrid,null),XNode.create(VerticalImageBox,null),XNode.create(ImageBox,null),XNode.create(RightImageBox,null),XNode.create(Card,null),XNode.create(ImageCard,null),XNode.create(RowBox,null),XNode.create(ColumnBox,null),XNode.create(Columns2,null),XNode.create(Columns3,null),XNode.create(List,null)),XNode.create("div",{"data-element":"editor","style-max-width":Bind.oneWay((()=>this.maxWidth>768?"":this.maxWidth+"px"))},XNode.create("div",{"data-element":"resizer"}),XNode.create("div",{"data-element":"drop-target","style-display":Bind.oneWay((()=>this.dropTarget.element?"":"none")),"style-position":"absolute","style-left":Bind.oneWay((()=>this.dropTarget.left)),"style-top":Bind.oneWay((()=>this.dropTarget.top)),"style-width":Bind.oneWay((()=>this.dropTarget.width)),"style-height":Bind.oneWay((()=>this.dropTarget.height))}),XNode.create("div",{"data-element":"selection","style-left":Bind.oneWay((()=>this.selection.left)),"style-top":Bind.oneWay((()=>this.selection.top)),"style-width":Bind.oneWay((()=>this.selection.width)),"style-height":Bind.oneWay((()=>this.selection.height))},XNode.create("div",null,XNode.create("i",{class:"fa-regular fa-arrow-up","event-click":()=>{if(this.selection.element.parentElement!==this.htmlDocument.body){this.selection.update(this.selection.element.parentElement)}}}),XNode.create("i",{"event-click":()=>{this.selection.element.draggable=true},class:"fa-solid fa-up-down-left-right","data-click-event":"start-drag"}),XNode.create("i",{"style-display":Bind.oneWay((()=>this.selection.isImage)),"data-click-event":"change-image",title:"Change Image (Double Click)",class:"fa-solid fa-arrows-rotate-reverse"}),XNode.create("i",{title:"Duplicate","data-click-event":"copy-element",class:"fas fa-copy"}),XNode.create("i",{title:"Delete","data-click-event":"delete-element",class:"fas fa-trash-can"}))),XNode.create("div",{"data-element":"hover","style-left":Bind.oneWay((()=>this.hover.left)),"style-top":Bind.oneWay((()=>this.hover.top)),"style-width":Bind.oneWay((()=>this.hover.width)),"style-height":Bind.oneWay((()=>this.hover.height))},XNode.create("label",{text:Bind.oneWay((()=>this.hover.name))})),XNode.create("div",{"data-element":"content-frame"},XNode.create("iframe",{"data-element":"content-editor"}))),XNode.create("div",{"data-element":"right"},XNode.create("button",{"data-click-event":"open-variables","data-layout":"icon-button"},XNode.create("i",{class:"fas fa-code"}),"Variables"),XNode.create(Properties,null))));this.contentEditor=this.element.querySelector(`[data-element="content-editor"]`);while(!this.htmlDocument){this.htmlDocument=this.contentEditor.contentDocument;yield sleep(100)}}))}buildXNode(node){const build=n=>{const e=this.htmlDocument.createElement(n.name);if(n.attributes){for(const key in n.attributes){if(Object.prototype.hasOwnProperty.call(n.attributes,key)){const element=n.attributes[key];e.setAttribute(key,element)}}}if(n.children){for(const iterator of n.children){e.appendChild(build(iterator))}}return e};return build(node)}deleteElement(){var _a;return __awaiter(this,void 0,void 0,(function*(){const current=this.selection.element;let previous=(_a=current.previousElementSibling)!==null&&_a!==void 0?_a:current.parentElement;current.remove();this.commit();if(!previous.textContent){previous=previous.previousElementSibling.lastElementChild}this.setSelection(previous);yield sleep(100);this.selection.update()}))}copyElement(){const current=this.selection.element;const copy=current.cloneNode(true);current.insertAdjacentElement("afterend",copy);this.commit()}changeImage(){return __awaiter(this,void 0,void 0,(function*(){return this.insertImage(prompt("Image Src",""))}))}onKeyUp(d,ke){if(ke.ctrlKey){switch(ke.key){case"z":ke.preventDefault();this.undo();break;case"y":ke.preventDefault();this.redo();break}}}insertImage(src,style){return __awaiter(this,void 0,void 0,(function*(){let img;if(this.selection.isImage){img=this.selection.element}else{img=this.htmlDocument.createElement("img");this.selection.element.appendChild(img)}img.src=src;img.onload=()=>{this.selection.update();img.onload=null};if(style){for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=style[key];img.style[key]=element}}}this.commit()}))}insertElement(e,parent=this.selection.element){parent.appendChild(e);if(!e.id){e.id="sm-"+Date.now().toString()}setTimeout((()=>{this.setSelection(e);this.commit()}),100)}deferUpdate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){yield sleep(100);(_a=this.hover)===null||_a===void 0?void 0:_a.update();(_b=this.selection)===null||_b===void 0?void 0:_b.update()}))}setSelection(element,commit=true){var _a;const old=(_a=this.selection)===null||_a===void 0?void 0:_a.element;if(old){old.draggable=false}this.selection.update(element);if(commit){this.commit()}}commit(){this.redoList.clear();const lastHtml=this.lastHtml;const clone=this.htmlDocument.documentElement.cloneNode(true);const all=clone.querySelectorAll("*");for(let index=0;index<all.length;index++){const element=all[index];element.removeAttribute("draggable")}const currentHtml=clone.innerHTML;if(!lastHtml){this.lastHtml=currentHtml;return}if(lastHtml===currentHtml){return}this.undoList.add(this.lastHtml);this.lastHtml=currentHtml;this.element.dispatchEvent(new CustomEvent("htmlPageChanged",{detail:currentHtml,bubbles:true}));AtomBinder.refreshValue(this,"htmlPage");setTimeout((()=>{this.selection.update();this.hover.update()}),100)}undo(){this.redoList.insert(this.redoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.undoList.removeAt(this.undoList.length-1)}redo(){this.undoList.insert(this.undoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.redoList.removeAt(this.redoList.length-1)}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;let style=document.querySelector(`[styler-style-sheet]`);if(!style){style=document.createElement("style");style.setAttribute("styler-style-sheet","inline");document.head.appendChild(style)}style.textContent=StylerSet.instance.toString()}))}loadVariables(){const onChange=()=>{const document=this.htmlDocument;let style=document.querySelector("[styler-style-variables]");if(!style){style=document.createElement("style");style.setAttribute("styler-style-variables","override");document.head.appendChild(style)}style.textContent=`:root {\n ${this.pageVariables.map((x=>`${x.propertyName}: ${x.currentValue};`)).join("\n\t")}\n }`};this.pageVariables=StylerSet.instance.vars.map((x=>new StylerVariable(x.name,x.value,this.htmlDocument,onChange)))}});__decorate([Action({onEvent:"delete-element"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"deleteElement",null);__decorate([Action({onEvent:"copy-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"copyElement",null);__decorate([Action({onEvent:"change-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"changeImage",null);__decorate([Action({onEvent:"keyup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,KeyboardEvent]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"onKeyUp",null);__decorate([Action({onEvent:"undo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"undo",null);__decorate([Action({onEvent:"redo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"redo",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor");System.register(["tslib","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,styled,AtomControl,supportsFileSystemAccessAPI,supportsWebkitGetAsEntry,dragEnter,dragOver,dragLeave,eventDrop,FilesDragDrop;return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl}],execute:function(){supportsFileSystemAccessAPI="getAsFileSystemHandle"in DataTransferItem.prototype;supportsWebkitGetAsEntry="webkitGetAsEntry"in DataTransferItem.prototype;styled.css`
3154
+ `.installGlobal("[data-html-page-editor=html-page-editor]");desktopWidth=992;tabletWidth=768;mobileWidth=480;_export("default",HtmlPageEditor=class HtmlPageEditor extends AtomControl{get htmlPage(){var _a,_b;return(_b=(_a=this.htmlDocument)===null||_a===void 0?void 0:_a.documentElement)===null||_b===void 0?void 0:_b.outerHTML}set htmlPage(v){if(!this.element){return}if(!this.ready){setTimeout((()=>{this.htmlPage=v}),100);return}void this.ready.then((()=>__awaiter(this,void 0,void 0,(function*(){if(!this.htmlDocument){return}const iframe=this.element;if(this.htmlDocument!==iframe.contentDocument){this.htmlDocument=void 0;yield this.loadContentDocument()}this.htmlDocument.open();this.htmlDocument.write(v);this.htmlDocument.addEventListener("click",(e=>{const target=e.target;const previous=this.selection.element;if(previous===null||previous===void 0?void 0:previous.isContentEditable){let start=target;while(start){if(previous===target){return}start=start.parentElement}previous.removeAttribute("contentEditable");this.commit()}e.preventDefault();this.setSelection(target)}));this.htmlDocument.addEventListener("dblclick",(e=>{const target=e.target;e.preventDefault();const element=target.nodeType===Node.ELEMENT_NODE?target:target.parentElement;element.setAttribute("contentEditable","true");this.setSelection(element);if(element.tagName==="IMG"){this.changeImage().catch(console.error)}}));this.htmlDocument.addEventListener("scroll",(e=>{this.hover.update();this.selection.update()}),{passive:true});this.htmlDocument.addEventListener("pointerover",(e=>{let target=e.target;target=target.nodeType===Node.ELEMENT_NODE&&target.tagName?target:target.parentElement;if(this.hover.element===target){return}this.hover.update(target)}),{capture:true});this.htmlDocument.addEventListener("keydown",(e=>{if(e.ctrlKey||e.metaKey){switch(e.key){case"s":this.contentEditor.dispatchEvent(new CustomEvent("savePage",{bubbles:true}));e.preventDefault();break;case"z":this.contentEditor.dispatchEvent(new CustomEvent("undo",{bubbles:true}));e.preventDefault();break;case"y":this.contentEditor.dispatchEvent(new CustomEvent("redo",{bubbles:true}));e.preventDefault();break}}}));InstallDragDropHelper(this);this.htmlDocument.close();setTimeout((()=>{this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){yield this.setStylerSheet();this.loadVariables()}))))}),10)}))))}constructor(app,e){super(app,e);this.selection=new SelectedElement(this);this.undoList=[];this.redoList=[];this.pageVariables=[];this.hover=new SelectedElement(this);this.dropTarget=new SelectedElement(this);this.maxWidth=desktopWidth;this.ready=this.init()}init(){return __awaiter(this,void 0,void 0,(function*(){this.render(XNode.create("div",{"data-html-page-editor":"html-page-editor"},XNode.create("div",{"data-element":"top"},XNode.create(EditorToolbar,{"data-element":"max-width","event-click":()=>this.deferUpdate()},XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===desktopWidth)),"event-click":()=>this.maxWidth=desktopWidth,class:"fas fa-desktop"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===tabletWidth)),"event-click":()=>this.maxWidth=tabletWidth,class:"fas fa-tablet-screen"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===mobileWidth)),"event-click":()=>this.maxWidth=mobileWidth,class:"fas fa-mobile-screen"})),XNode.create(UndoRedoToolbar,null),XNode.create(EditorToolbar,null,XNode.create(CodeCommand,null))),XNode.create(EditorToolbar,{"data-element":"left"},XNode.create(TextBox,null),XNode.create(Image,null),XNode.create(WrapGrid,null),XNode.create(VerticalImageBox,null),XNode.create(ImageBox,null),XNode.create(RightImageBox,null),XNode.create(Card,null),XNode.create(ImageCard,null),XNode.create(RowBox,null),XNode.create(ColumnBox,null),XNode.create(Columns2,null),XNode.create(Columns3,null),XNode.create(List,null)),XNode.create("div",{"data-element":"editor","style-max-width":Bind.oneWay((()=>this.maxWidth>768?"":this.maxWidth+"px"))},XNode.create("div",{"data-element":"resizer"}),XNode.create("div",{"data-element":"drop-target","style-display":Bind.oneWay((()=>this.dropTarget.element?"":"none")),"style-position":"absolute","style-left":Bind.oneWay((()=>this.dropTarget.left)),"style-top":Bind.oneWay((()=>this.dropTarget.top)),"style-width":Bind.oneWay((()=>this.dropTarget.width)),"style-height":Bind.oneWay((()=>this.dropTarget.height))}),XNode.create("div",{"data-element":"selection","style-left":Bind.oneWay((()=>this.selection.left)),"style-top":Bind.oneWay((()=>this.selection.top)),"style-width":Bind.oneWay((()=>this.selection.width)),"style-height":Bind.oneWay((()=>this.selection.height))},XNode.create("div",null,XNode.create("i",{class:"fa-regular fa-arrow-up","event-click":()=>{if(this.selection.element.parentElement!==this.htmlDocument.body){this.selection.update(this.selection.element.parentElement)}}}),XNode.create("i",{"event-click":()=>{this.selection.element.draggable=true},class:"fa-solid fa-up-down-left-right","data-click-event":"start-drag"}),XNode.create("i",{"style-display":Bind.oneWay((()=>this.selection.isImage)),"data-click-event":"change-image",title:"Change Image (Double Click)",class:"fa-solid fa-arrows-rotate-reverse"}),XNode.create("i",{title:"Duplicate","data-click-event":"copy-element",class:"fas fa-copy"}),XNode.create("i",{title:"Delete","data-click-event":"delete-element",class:"fas fa-trash-can"}))),XNode.create("div",{"data-element":"hover","style-left":Bind.oneWay((()=>this.hover.left)),"style-top":Bind.oneWay((()=>this.hover.top)),"style-width":Bind.oneWay((()=>this.hover.width)),"style-height":Bind.oneWay((()=>this.hover.height))},XNode.create("label",{text:Bind.oneWay((()=>this.hover.name))})),XNode.create("div",{"data-element":"content-frame"},XNode.create("iframe",{"data-element":"content-editor"}))),XNode.create("div",{"data-element":"right"},XNode.create("button",{"data-click-event":"open-variables","data-layout":"icon-button"},XNode.create("i",{class:"fas fa-code"}),"Variables"),XNode.create(Properties,null))));yield this.loadContentDocument()}))}buildXNode(node){const build=n=>{const e=this.htmlDocument.createElement(n.name);if(n.attributes){for(const key in n.attributes){if(Object.prototype.hasOwnProperty.call(n.attributes,key)){const element=n.attributes[key];e.setAttribute(key,element)}}}if(n.children){for(const iterator of n.children){e.appendChild(build(iterator))}}return e};return build(node)}deleteElement(){var _a;return __awaiter(this,void 0,void 0,(function*(){const current=this.selection.element;let previous=(_a=current.previousElementSibling)!==null&&_a!==void 0?_a:current.parentElement;current.remove();this.commit();if(!previous.textContent){previous=previous.previousElementSibling.lastElementChild}this.setSelection(previous);yield sleep(100);this.selection.update()}))}copyElement(){const current=this.selection.element;const copy=current.cloneNode(true);current.insertAdjacentElement("afterend",copy);this.commit()}changeImage(){return __awaiter(this,void 0,void 0,(function*(){return this.insertImage(prompt("Image Src",""))}))}onKeyUp(d,ke){if(ke.ctrlKey){switch(ke.key){case"z":ke.preventDefault();this.undo();break;case"y":ke.preventDefault();this.redo();break}}}insertImage(src,style){return __awaiter(this,void 0,void 0,(function*(){let img;if(this.selection.isImage){img=this.selection.element}else{img=this.htmlDocument.createElement("img");this.selection.element.appendChild(img)}img.src=src;img.onload=()=>{this.selection.update();img.onload=null};if(style){for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=style[key];img.style[key]=element}}}this.commit()}))}insertElement(e,parent=this.selection.element){parent.appendChild(e);if(!e.id){e.id="sm-"+Date.now().toString()}setTimeout((()=>{this.setSelection(e);this.commit()}),100)}deferUpdate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){yield sleep(100);(_a=this.hover)===null||_a===void 0?void 0:_a.update();(_b=this.selection)===null||_b===void 0?void 0:_b.update()}))}setSelection(element,commit=true){var _a;const old=(_a=this.selection)===null||_a===void 0?void 0:_a.element;if(old){old.draggable=false}this.selection.update(element);if(commit){this.commit()}}commit(){this.redoList.clear();const lastHtml=this.lastHtml;const clone=this.htmlDocument.documentElement.cloneNode(true);const all=clone.querySelectorAll("*");for(let index=0;index<all.length;index++){const element=all[index];element.removeAttribute("draggable")}const currentHtml=clone.innerHTML;if(!lastHtml){this.lastHtml=currentHtml;return}if(lastHtml===currentHtml){return}this.undoList.add(this.lastHtml);this.lastHtml=currentHtml;this.element.dispatchEvent(new CustomEvent("htmlPageChanged",{detail:currentHtml,bubbles:true}));AtomBinder.refreshValue(this,"htmlPage");setTimeout((()=>{this.selection.update();this.hover.update()}),100)}undo(){this.redoList.insert(this.redoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.undoList.removeAt(this.undoList.length-1)}redo(){this.undoList.insert(this.undoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.redoList.removeAt(this.redoList.length-1)}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;let style=document.querySelector(`[styler-style-sheet]`);if(!style){style=document.createElement("style");style.setAttribute("styler-style-sheet","inline");document.head.appendChild(style)}style.textContent=StylerSet.instance.toString()}))}loadVariables(){const onChange=()=>{const document=this.htmlDocument;let style=document.querySelector("[styler-style-variables]");if(!style){style=document.createElement("style");style.setAttribute("styler-style-variables","override");document.head.appendChild(style)}style.textContent=`:root {\n ${this.pageVariables.map((x=>`${x.propertyName}: ${x.currentValue};`)).join("\n\t")}\n }`};this.pageVariables=StylerSet.instance.vars.map((x=>new StylerVariable(x.name,x.value,this.htmlDocument,onChange)))}loadContentDocument(){return __awaiter(this,void 0,void 0,(function*(){this.contentEditor=this.element.querySelector(`[data-element="content-editor"]`);while(!this.htmlDocument){this.htmlDocument=this.contentEditor.contentDocument;yield sleep(100)}}))}});__decorate([Action({onEvent:"delete-element"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"deleteElement",null);__decorate([Action({onEvent:"copy-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"copyElement",null);__decorate([Action({onEvent:"change-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"changeImage",null);__decorate([Action({onEvent:"keyup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,KeyboardEvent]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"onKeyUp",null);__decorate([Action({onEvent:"undo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"undo",null);__decorate([Action({onEvent:"redo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"redo",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor");System.register(["tslib","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,styled,AtomControl,supportsFileSystemAccessAPI,supportsWebkitGetAsEntry,dragEnter,dragOver,dragLeave,eventDrop,FilesDragDrop;return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl}],execute:function(){supportsFileSystemAccessAPI="getAsFileSystemHandle"in DataTransferItem.prototype;supportsWebkitGetAsEntry="webkitGetAsEntry"in DataTransferItem.prototype;styled.css`
3155
3155
 
3156
3156
  &[data-drop-enabled] {
3157
3157
  outline: solid 5px green;
@@ -3191,7 +3191,7 @@ and limitations under the License.
3191
3191
  }
3192
3192
 
3193
3193
  }
3194
- `.installLocal();_export("default",ChooseMediaPage=class ChooseMediaPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.version=1;this.size=700;this.selectedFile=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Media";const{accept="image/*, video/*, audio/*"}=this.parameters;this.selectedFolder=this.parameters.folder;this.element.style.minWidth="90%";this.element.style.minHeight="90%";this.renderer=XNode.create("div",{class:css},XNode.create(FolderTreeView,{accept,folderId:this.parameters.folder.appFileID,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{selectOnClick:true,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),header:true,headerRenderer:item=>XNode.create("div",{"data-position":"sticky-top","data-layout":"header-row"}),items:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,showFolder:false,accept,cancelToken}))),itemRenderer:item=>XNode.create("div",{class:"media-file"},XNode.create("img",{src:`/api/files/webp(300)/${item.appFileID}/${item.fileContentID}/${item.name}.300.webp`}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"frame-vertical-flex"},XNode.create("div",{"data-layout":"row"},XNode.create("button",Object.assign({"data-layout":"accent-icon-button"},UploadEvent.AttachUploadAction({multiple:true,extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})})),accept})),XNode.create("i",{class:"fas fa-upload"}),"Upload")),XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFile!==null)),"data-layout":"row"},XNode.create("input",{type:"range",min:"100",max:"2000",step:"100",value:Bind.twoWaysImmediate((()=>this.size))}),XNode.create("span",{text:Bind.oneWay((()=>`${this.size}px`))}),XNode.create("button",{"data-click-event":"select-file",text:"Save"})))}))}selectFile(){return __awaiter(this,void 0,void 0,(function*(){const file=this.selectedFile;const size=this.size;return{file,size}}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseMediaPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"select-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"selectFile",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"onFilesUploaded",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/media/ChooseMediaPage");System.register(["tslib","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,UMD,AtomControl,BindableProperty,FetchBuilder,MonacoEditor,monacoPath;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){monacoPath=UMD.resolvePath("@social-mail/social-mail-client/content/modules/monaco/monaco.html");_export("default",MonacoEditor=class MonacoEditor extends AtomControl{constructor(app,e=document.createElement("iframe")){super(app,e);this.element.style.border="none";this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}onPropertyChanged(name){switch(name){case"file":this.app.runAsync((()=>this.loadFile()));break}}init(){const monaco=(()=>__awaiter(this,void 0,void 0,(function*(){const srcdoc=yield FetchBuilder.get(monacoPath).responseAsText();return this.monaco=yield new Promise(((resolve,reject)=>{this.element.parentEditor={resolve,reject,onresize:()=>{var _a;return(_a=this.editor)===null||_a===void 0?void 0:_a.layout()},codeEditor:this};this.element.srcdoc=srcdoc}))})))();const value=Promise.resolve(monaco);Object.defineProperty(this,"init",{value:()=>value});return this.monaco=monaco}createEditor(){const editor=(()=>__awaiter(this,void 0,void 0,(function*(){return this.editor=yield this.monaco.editor.create(this.container)})))();const value=Promise.resolve(editor);Object.defineProperty(this,"createEditor",{value:()=>value});return editor}loadFile(){return __awaiter(this,void 0,void 0,(function*(){yield this.init();const editor=yield this.createEditor();const{file,monaco}=this;const content=yield FetchBuilder.get(file.downloadUrl).responseAsText();const name=file.name;let language="html";if(/\.(ts|tsx)$/i.test(name)){language="typescript"}else if(/\.(js|jsx)$/i.test(name)){language="javascript"}else if(/\.(json)$/i.test(name)){language="json"}else if(/\.(css)$/i.test(name)){language="css"}const uri=monaco.Uri.parse(`http://a/${file.path}-${file.name}`);const m=monaco.editor.getModel(uri);const model=monaco.editor.createModel(content,language,uri);editor.setModel(model)}))}});__decorate([BindableProperty,__metadata("design:type",Object)],MonacoEditor.prototype,"file",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/MonaoEditor");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","./MonaoEditor"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,XNode,MonacoEditor,CodeEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_MonaoEditor){MonacoEditor=_MonaoEditor.default}],execute:function(){_export("default",CodeEditorPage=class CodeEditorPage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title=this.parameters.name;this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch","data-justify-items":"stretch"},XNode.create(MonacoEditor,{file:this.parameters}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/CodeEditorPage");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","./HtmlPageEditor","../../web/page/files/media/ChooseMediaPage","@web-atoms/web-controls/dist/PageNavigator","../styler/StylerSet","@web-atoms/core/dist/core/InjectProperty","../../web/page/files/service/CloudFileService","@web-atoms/core/dist/view-model/Action","../../code-editor/CodeEditorPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,HtmlPageEditor,ChooseMediaPage,PageNavigator,StylerSet,InjectProperty,CloudFileService,Action,CodeEditorPage,WebSitePageEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_HtmlPageEditor){HtmlPageEditor=_HtmlPageEditor.default},function(_webPageFilesMediaChooseMediaPage){ChooseMediaPage=_webPageFilesMediaChooseMediaPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default}],execute:function(){_export("default",WebSitePageEditor=class WebSitePageEditor extends HtmlPageEditor{constructor(){super(...arguments);this.folder=null}changeImage(){return __awaiter(this,void 0,void 0,(function*(){const{file,size}=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept:"image/*"});const src=`/api/site/asset/webp(${size})/${this.folder.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}.${size}.webp`;yield this.insertImage(src)}))}openVariables(){return __awaiter(this,void 0,void 0,(function*(){const file=yield this.cloudFileService.children(this.folder.appFileID,"vars.css").firstOrDefault();yield PageNavigator.pushPage(CodeEditorPage,file)}))}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const stylerCSS=yield this.createFile("styler.css",StylerSet.instance.toString());yield this.addStyleSheet(stylerCSS);let vars=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();if(!vars){vars=yield this.createFile("vars.css",`* {\n }`)}yield this.addStyleSheet(vars)}))}addStyleSheet(file){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;const href=`/api/site/asset/download/${this.folder.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`;let link;for(const iterator of Array.from(document.querySelectorAll(`link[rel="stylesheet"][styler-css]`))){if(iterator.getAttribute("styler-css")===file.name){link=iterator;break}}if(!link){link!==null&&link!==void 0?link:link=document.createElement("link");document.head.appendChild(link);link.rel="stylesheet";link.setAttribute("styler-css",file.name)}link.href=href}))}createFile(fileName,css){return __awaiter(this,void 0,void 0,(function*(){const content=new File([css],fileName,{type:"text/css"});const{appFileID}=yield this.cloudFileService.saveFile({parentID:this.folder.appFileID,folder:"styles",content});const file=yield this.cloudFileService.getFile(appFileID);return file}))}});__decorate([BindableProperty,__metadata("design:type",Object)],WebSitePageEditor.prototype,"folder",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSitePageEditor.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"open-variables"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSitePageEditor.prototype,"openVariables",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent","../../../../model/model","../../../../web/page/files/shares/EditSharesPage","../../../../web/page/templates/EditTemplatePage","../templates/ChooseWebSiteTemplatePage","@web-atoms/core/dist/services/FetchBuilder","../../../controls/tree/FileTreeView","../../../../site-editor/editor/WebSitePageEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,CloudFileService,Bind,XNode,styled,Action,PageNavigator,PopupButton,MenuItem,UploadEvent,AppFile,EditSharesPage,EditTemplatePage,ChooseWebSiteTemplatePage,FetchBuilder,FileTreeView,WebSitePageEditor,WebSiteStudioPage,css,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){PopupButton=_webAtomsWebControlsDistBasicPopupButton.default;MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webPageFilesSharesEditSharesPage){EditSharesPage=_webPageFilesSharesEditSharesPage.default},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_templatesChooseWebSiteTemplatePage){ChooseWebSiteTemplatePage=_templatesChooseWebSiteTemplatePage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_controlsTreeFileTreeView){FileTreeView=_controlsTreeFileTreeView.FileTreeView},function(_siteEditorEditorWebSitePageEditor){WebSitePageEditor=_siteEditorEditorWebSitePageEditor.default}],execute:function(){css=styled.css`
3194
+ `.installLocal();_export("default",ChooseMediaPage=class ChooseMediaPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.version=1;this.size=700;this.selectedFile=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Media";const{accept="image/*, video/*, audio/*"}=this.parameters;this.selectedFolder=this.parameters.folder;this.element.style.minWidth="90%";this.element.style.minHeight="90%";this.renderer=XNode.create("div",{class:css},XNode.create(FolderTreeView,{accept,folderId:this.parameters.folder.appFileID,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{selectOnClick:true,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),header:true,headerRenderer:item=>XNode.create("div",{"data-position":"sticky-top","data-layout":"header-row"}),items:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,showFolder:false,accept,cancelToken}))),itemRenderer:item=>XNode.create("div",{class:"media-file"},XNode.create("img",{src:`/api/files/webp(300)/${item.appFileID}/${item.fileContentID}/${item.name}.300.webp`}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"frame-vertical-flex"},XNode.create("div",{"data-layout":"row"},XNode.create("button",Object.assign({"data-layout":"accent-icon-button"},UploadEvent.AttachUploadAction({multiple:true,extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})})),accept})),XNode.create("i",{class:"fas fa-upload"}),"Upload")),XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFile!==null)),"data-layout":"row"},XNode.create("input",{type:"range",min:"100",max:"2000",step:"100",value:Bind.twoWaysImmediate((()=>this.size))}),XNode.create("span",{text:Bind.oneWay((()=>`${this.size}px`))}),XNode.create("button",{"data-click-event":"select-file",text:"Save"})))}))}selectFile(){return __awaiter(this,void 0,void 0,(function*(){const file=this.selectedFile;const size=this.size;return{file,size}}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseMediaPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"select-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"selectFile",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"onFilesUploaded",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/media/ChooseMediaPage");System.register(["tslib","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,UMD,AtomControl,BindableProperty,FetchBuilder,MonacoEditor,monacoPath;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){monacoPath=UMD.resolvePath("@social-mail/social-mail-client/content/modules/monaco/monaco.html");_export("default",MonacoEditor=class MonacoEditor extends AtomControl{constructor(app,e=document.createElement("iframe")){super(app,e);this.element.style.border="none";this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"file":this.app.runAsync((()=>this.loadFile()));break}}init(){const monaco=(()=>__awaiter(this,void 0,void 0,(function*(){const srcdoc=yield FetchBuilder.get(monacoPath).responseAsText();return this.monaco=yield new Promise(((resolve,reject)=>{this.element.parentEditor={resolve,reject,onresize:()=>{var _a;return(_a=this.editor)===null||_a===void 0?void 0:_a.layout()},codeEditor:this};this.element.srcdoc=srcdoc}))})))();const value=Promise.resolve(monaco);Object.defineProperty(this,"init",{value:()=>value});return this.monaco=monaco}createEditor(){const editor=(()=>__awaiter(this,void 0,void 0,(function*(){return this.editor=yield this.monaco.editor.create(this.container)})))();const value=Promise.resolve(editor);Object.defineProperty(this,"createEditor",{value:()=>value});return editor}loadFile(){var _a;return __awaiter(this,void 0,void 0,(function*(){yield this.init();(_a=this.codeModelDisposable)===null||_a===void 0?void 0:_a.dispose();const editor=yield this.createEditor();const{file,monaco}=this;const originalContent=yield FetchBuilder.get(file.downloadUrl).responseAsText();const name=file.name;let language="html";if(/\.(ts|tsx)$/i.test(name)){language="typescript"}else if(/\.(js|jsx)$/i.test(name)){language="javascript"}else if(/\.(json)$/i.test(name)){language="json"}else if(/\.(css)$/i.test(name)){language="css"}const uri=monaco.Uri.parse(`http://a/${file.path}-${file.name}`);const m=monaco.editor.getModel(uri);const model=monaco.editor.createModel(originalContent,language,uri);editor.setModel(model);let id=0;this.codeModelDisposable=this.registerDisposable(model.onDidChangeContent((()=>{if(id){clearTimeout(id)}id=setTimeout((()=>{const content=model.getValue();this.element.dispatchEvent(new CustomEvent("fileChanged",{detail:{file:this.file,content,originalContent}}))}),500)})))}))}});__decorate([BindableProperty,__metadata("design:type",Object)],MonacoEditor.prototype,"file",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/MonaoEditor");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","./MonaoEditor","../common/controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../web/page/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,MonacoEditor,SaveIconTextButton,Bind,Action,InjectProperty,CloudFileService,CodeEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_MonaoEditor){MonacoEditor=_MonaoEditor.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default}],execute:function(){_export("default",CodeEditorPage=class CodeEditorPage extends ContentPage{constructor(){super(...arguments);this.modified=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=this.parameters.name;this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch","data-justify-items":"stretch"},XNode.create(MonacoEditor,{file:this.parameters,"event-file-changed":({detail:{content,originalContent,file}})=>{this.file=file;this.modified=content!==originalContent;this.content=content}}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>this.modified),false)},XNode.create(SaveIconTextButton,{"data-click-event":"save-file",text:"Save"}))}))}saveFile(){return __awaiter(this,void 0,void 0,(function*(){const{file:{appFileID,name,contentType},content}=this;yield this.cloudFileService.saveFile({content:new File([content],name,{type:contentType}),appFileID});return yield this.cloudFileService.getFile(appFileID)}))}hide(){this.element.setAttribute("data-page-state","hidden")}show(){if(!this.element._logicalParent.contains(this.element)){this.element._logicalParent.appendChild(this.element)}setTimeout((()=>this.element.setAttribute("data-page-state","ready")),1)}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],CodeEditorPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"save-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CodeEditorPage.prototype,"saveFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/CodeEditorPage");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","./HtmlPageEditor","../../web/page/files/media/ChooseMediaPage","@web-atoms/web-controls/dist/PageNavigator","../styler/StylerSet","@web-atoms/core/dist/core/InjectProperty","../../web/page/files/service/CloudFileService","@web-atoms/core/dist/view-model/Action","../../code-editor/CodeEditorPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,HtmlPageEditor,ChooseMediaPage,PageNavigator,StylerSet,InjectProperty,CloudFileService,Action,CodeEditorPage,WebSitePageEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_HtmlPageEditor){HtmlPageEditor=_HtmlPageEditor.default},function(_webPageFilesMediaChooseMediaPage){ChooseMediaPage=_webPageFilesMediaChooseMediaPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default}],execute:function(){_export("default",WebSitePageEditor=class WebSitePageEditor extends HtmlPageEditor{constructor(){super(...arguments);this.folder=null}changeImage(){return __awaiter(this,void 0,void 0,(function*(){const{file,size}=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept:"image/*"});const src=`/api/site/asset/webp(${size})/${this.folder.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}.${size}.webp`;yield this.insertImage(src)}))}openVariables(){return __awaiter(this,void 0,void 0,(function*(){const file=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();const changedFile=yield PageNavigator.pushPage(CodeEditorPage,file);yield this.addStyleSheet(changedFile)}))}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const stylerCSS=yield this.createFile("styler.css",StylerSet.instance.toString());yield this.addStyleSheet(stylerCSS);let vars=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();if(!vars){vars=yield this.createFile("vars.css",`* {\n ${StylerSet.instance.varsCss}\n }`)}yield this.addStyleSheet(vars)}))}addStyleSheet(file){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;const href=`/api/site/asset/download/${this.folder.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`;let link;for(const iterator of Array.from(document.querySelectorAll(`link[rel="stylesheet"][styler-css]`))){if(iterator.getAttribute("styler-css")===file.name){link=iterator;break}}if(!link){link!==null&&link!==void 0?link:link=document.createElement("link");document.head.appendChild(link);link.rel="stylesheet";link.setAttribute("styler-css",file.name)}link.href=href}))}createFile(fileName,css){return __awaiter(this,void 0,void 0,(function*(){const content=new File([css],fileName,{type:"text/css"});const{appFileID}=yield this.cloudFileService.saveFile({parentID:this.folder.appFileID,folder:"styles",content});const file=yield this.cloudFileService.getFile(appFileID);return file}))}});__decorate([BindableProperty,__metadata("design:type",Object)],WebSitePageEditor.prototype,"folder",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSitePageEditor.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"open-variables"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSitePageEditor.prototype,"openVariables",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent","../../../../model/model","../../../../web/page/files/shares/EditSharesPage","../../../../web/page/templates/EditTemplatePage","../templates/ChooseWebSiteTemplatePage","@web-atoms/core/dist/services/FetchBuilder","../../../controls/tree/FileTreeView","../../../../site-editor/editor/WebSitePageEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,CloudFileService,Bind,XNode,styled,Action,PageNavigator,PopupButton,MenuItem,UploadEvent,AppFile,EditSharesPage,EditTemplatePage,ChooseWebSiteTemplatePage,FetchBuilder,FileTreeView,WebSitePageEditor,WebSiteStudioPage,css,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){PopupButton=_webAtomsWebControlsDistBasicPopupButton.default;MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webPageFilesSharesEditSharesPage){EditSharesPage=_webPageFilesSharesEditSharesPage.default},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_templatesChooseWebSiteTemplatePage){ChooseWebSiteTemplatePage=_templatesChooseWebSiteTemplatePage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_controlsTreeFileTreeView){FileTreeView=_controlsTreeFileTreeView.FileTreeView},function(_siteEditorEditorWebSitePageEditor){WebSitePageEditor=_siteEditorEditorWebSitePageEditor.default}],execute:function(){css=styled.css`
3195
3195
  display: grid;
3196
3196
  grid-template-columns: 200px 1fr;
3197
3197
  gap: 5px;
@@ -3208,7 +3208,7 @@ and limitations under the License.
3208
3208
  justify-self: stretch;
3209
3209
  align-self: stretch;
3210
3210
  }
3211
- `.installLocal();getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.version=1;this.pageContent=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));yield this.onItemExpanded(this.root);if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.length)){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.oneWay((()=>this.selectedFile.name))}),XNode.create(PopupButton,{icon:"fas fa-upload",label:"Upload","data-layout":"accent-icon-button",alignment:"bottomLeft",popup:()=>XNode.create("div",null,XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,accept:"*/*"}),{label:"Files"})),XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}),{label:"Folder"})))}),XNode.create("span",{text:"|"}),XNode.create("i",{"data-click-event":"new-folder",class:"fas fa-plus"}),XNode.create("span",{"data-click-event":"new-folder",text:"Folder"}),XNode.create("span",{text:"|"}),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})));this.renderer=XNode.create("div",{class:css},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),"event-selected-item-changing":ce=>{if(this.pageContent){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",folder:this.root,"event-html-page-changed":ce=>this.pageContent=ce.detail,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?FetchBuilder.get(this.selectedFile.downloadUrl).cancelToken(cancelToken).responseAsText(true):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.pageContent))},XNode.create("button",{"data-click-event":"save-page",text:"Save"}))}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}openFolder(file){this.selectedFile=file}onItemExpanded(folder){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.files({search:"",accept:"text/html",folder,cancelToken:null})}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){const content=new File([this.pageContent],this.selectedFile.name,{type:this.selectedFile.contentType});yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.pageContent=""}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user).include((x=>x.authFactors));if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}createAuthFactor(user,method="totp"){var _a;return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({method});((_a=user.authFactors)!==null&&_a!==void 0?_a:user.authFactors=[]).add(authFactor);yield this.save(user);return authFactor}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");System.register([],(function(_export,_context){"use strict";var Validators;return{setters:[],execute:function(){_export("Validators",Validators={checkPassword:password=>{const hasMinimumLength=password.length>=7;const hasNumber=/\d/.test(password);const hasSymbol=/[\@\#\$\%\^\&\*\!]/.test(password);return{hasMinimumLength,hasNumber,hasSymbol,isValid:hasMinimumLength&&hasNumber&&hasSymbol}},isValidPassword:password=>Validators.checkPassword(password).isValid})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/validators/Validators");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../../validators/Validators"],(function(_export,_context){"use strict";var Bind,XNode,AtomControl,Validators,PasswordStrength;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_validatorsValidators){Validators=_validatorsValidators.Validators}],execute:function(){_export("default",PasswordStrength=class PasswordStrength extends AtomControl{constructor(){super(...arguments);this.password="";this.validation={hasMinimumLength:false,hasNumber:false,hasSymbol:false,isValid:false}}preCreate(){this.render(XNode.create("div",{"data-layout":"vertical-flex",validation:Bind.oneWay((()=>Validators.checkPassword(this.password)))},XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasMinimumLength?"green":"red")),class:Bind.oneWay((()=>this.validation.hasMinimumLength?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password is at least 7 characters long."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasNumber?"green":"red")),class:Bind.oneWay((()=>this.validation.hasNumber?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a number."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasSymbol?"green":"red")),class:Bind.oneWay((()=>this.validation.hasSymbol?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a symbol."}))))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_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(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,Form,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,FormField,PopupWindowPage,AppFile,WebSiteFolder,Bind,Action,InjectProperty,WebSiteService,WebSiteFolderEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFile=_modelModel.AppFile;WebSiteFolder=_modelModel.WebSiteFolder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default}],execute:function(){_export("default",WebSiteFolderEditor=class WebSiteFolderEditor extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Create Website Folder";this.model=WebSiteFolder.create({folder:AppFile.create({name:"",isFolder:true,contentType:"application/site"}),isStatic:true});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.folder.name))})),XNode.create("div",null,"We recommend using the host name as folder name, e.g. akashkava.com"),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"save-web-site"},"Save"))))}))}saveWebSite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteFolderEditor.prototype,"websiteService",void 0);__decorate([Action({onEvent:"save-web-site",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteFolderEditor.prototype,"saveWebSite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/websites/WebSiteService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","../edit/WebSiteFolderEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,WebSiteService,Action,PageNavigator,WebSiteFolderEditor,WebSiteListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_editWebSiteFolderEditor){WebSiteFolderEditor=_editWebSiteFolderEditor.default}],execute:function(){_export("default",WebSiteListPage=class WebSiteListPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:yield this.websiteService.list(),itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.folder.name}))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"create-new-website"},"Create New Website"))}))}createNewWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(WebSiteFolderEditor);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteListPage.prototype,"websiteService",void 0);__decorate([Action({onEvent:"create-new-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteListPage.prototype,"createNewWebsite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",CommonCommands=class CommonCommands extends Commands{});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openChannel=Command.create({route:"/channel/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/detail/ChannelDetailPage")});CommonCommands.openSubscribers=Command.create({route:"/mailbox-subscribers/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/subscribers/ChannelSubscribersPage")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});CommonCommands.manageWebSite=Command.create({route:"/studio/manage/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/manage/ManageWebSitePage")});CommonCommands.editWebSite=Command.create({route:"/studio/edit/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/studio/WebSiteStudioPage")});CommonCommands.changePassword=Command.create({route:"/user/change-password",pushPage:()=>_context.import("../pages/user/change-password/ChangePasswordPage")});CommonCommands.setupMultiFactor=Command.create({route:"/user/multi-factor/setup",pushPage:()=>_context.import("../pages/user/multi-factor/MultiFactorSetupPage")});CommonCommands.openWebSiteList=Command.create({route:"/websites",routeOrder:2e3,openPage:()=>_context.import("../pages/websites/list/WebSiteListPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");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","@web-atoms/web-controls/dist/basic/FormField","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxSyncTarget,XNode,Form,FormField,PasswordFormField,TextFormField,Bind,Checkbox,SaveIconTextButton,Action,EntityService,EditSyncTargetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField;TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditSyncTargetPage=class EditSyncTargetPage extends PopupWindowPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.syncTargetID)?this.parameters:MailboxSyncTarget.create(Object.assign(Object.assign({},(_b=this.parameters)!==null&&_b!==void 0?_b:{}),{active:true,port:993,isSecure:true,newPassword:"",intervalSeconds:86400}));this.title="Create Sync Target";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Protocol"},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:this.model.protocol}),XNode.create("span",{text:this.model.direction}))),XNode.create(TextFormField,{label:"Host",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Port",value:()=>this.model.port}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isSecure)),text:"SSL Enabled"}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(PasswordFormField,{label:"Password",value:()=>this.model.newPassword}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncAllFolders)),text:"Sync All Folders (Slow, Not Recommended)"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncJunkMails)),text:"Sync Junk/Spam Folder (Slow, Not Recommended)"}),XNode.create(FormField,{label:"Name of All Folder"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.allFolderName))})),XNode.create("p",null,"Leave it empty if your mailbox supports new IMAP extensions for All Folders.",XNode.create("br",null),"If specified, only this folder will be synced."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-form",text:"Save"}))))}))}saveForm(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.syncTargetID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([Action({onEvent:"save-form",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSyncTargetPage.prototype,"saveForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/collection-editor/CollectionEditor","./settings/EditSyncTargetPage","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,CollectionEditor,EditSyncTargetPage,MailboxService,InjectProperty,Action,MailboxDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_settingsEditSyncTargetPage){EditSyncTargetPage=_settingsEditSyncTargetPage.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",MailboxDetailPage=class MailboxDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.mailboxService.get(this.parameters.mailboxID);this.title=this.model.emailAddress.emailAddress;const username=this.model.emailAddress.emailAddress;const host=`imap.${username.split("@").pop()}`;this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Sync Targets",model:this.model,collection:"syncTargets",addPage:EditSyncTargetPage,addItemDefaults:{username,host},itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("span",{text:item.protocol})),XNode.create("td",null,XNode.create("span",{text:item.username})),XNode.create("td",null,XNode.create("span",{text:item.host})),XNode.create("td",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})))}))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage");System.register(["tslib","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,XNode,IconClass,Icon;_export({default:void 0,Icon:void 0});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("default",IconClass=class IconClass{static forMailbox(mb){return mb.isChannel?mb.isPrivateChannel?"fas fa-users-rectangle":"fas fa-users":"fas fa-envelope"}});_export("Icon",Icon=class Icon{static Mailbox(_a){var{mailbox}=_a,a=__rest(_a,["mailbox"]);return XNode.create("i",Object.assign({},a,{class:IconClass.forMailbox(mailbox)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/icons/Icons");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,MailboxSyncTarget,DateTime,ExternalMailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox;MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){ExternalMailboxService=class ExternalMailboxService{createDomain(emailAddress,retry=3){return __awaiter(this,void 0,void 0,(function*(){try{const index=emailAddress.lastIndexOf("@");let domainName=emailAddress;if(index!==-1){domainName=emailAddress.substring(index+1)}domainName=domainName.toLocaleLowerCase();const d=yield this.entityService.query(HostedDomain).where({domainName},(p=>x=>x.domain.name===p.domainName)).firstOrDefault();if(d){return d}const hd=HostedDomain.create({domainNameToCreate:domainName,external:true});return yield this.entityService.save(hd)}catch(error){if(retry--){return yield this.createDomain(emailAddress,retry-1)}throw error}}))}createMailbox(model){return __awaiter(this,void 0,void 0,(function*(){const{emailAddress,displayName:name,username,password,imapHost,imapPort,imapSecure,smtpHost,smtpPort,smtpSecure,smtpUsername,smtpPassword}=model;const hd=yield this.createDomain(emailAddress);const dateCreated=DateTime.now;const[emailUsername]=emailAddress.split("@");const mb=Mailbox.create({domainID:hd.domainID,username:emailUsername,name,dateCreated,dateUpdated:dateCreated,indexAttachments:true,indexImageAttachments:true,syncTargets:[MailboxSyncTarget.create({protocol:"imap",host:imapHost,port:imapPort,isSecure:imapSecure,username,newPassword:password,direction:"in",active:true}),MailboxSyncTarget.create({protocol:"smtp",host:smtpHost,port:smtpPort,isSecure:smtpSecure,username:smtpUsername||username,newPassword:smtpPassword||password,direction:"in",active:true})]});yield this.entityService.save(mb)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ExternalMailboxService.prototype,"entityService",void 0);ExternalMailboxService=__decorate([DITransient()],ExternalMailboxService);_export("default",ExternalMailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../controls/buttons/IconButton","@web-atoms/core/dist/core/InjectProperty","../services/ExternalMailboxService","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Action,Form,FormField,PasswordBox,PopupWindowPage,AddIconButton,InjectProperty,ExternalMailboxService,Checkbox,AddExternalMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_controlsButtonsIconButton){AddIconButton=_controlsButtonsIconButton.AddIconButton},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesExternalMailboxService){ExternalMailboxService=_servicesExternalMailboxService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddExternalMailboxPage=class AddExternalMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.model={emailAddress:"",displayName:"",imapHost:"",imapPort:993,imapSecure:true,smtpHost:"",smtpPort:465,smtpSecure:true,username:"",password:"",smtpUsername:"",smtpPassword:""}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Add External Mailbox";this.renderer=XNode.create("div",{"style-max-width":"400px"},XNode.create("div",null,"Use this form only if you do not own the domain of the email address. If you plan to migrate domain back to this server, we recommend creating hosted mailbox and add sync account to migrate your emails."),XNode.create("hr",null),XNode.create(Form,null,XNode.create(FormField,{label:"Display/From Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.displayName))})),XNode.create(FormField,{label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.emailAddress))})),XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.username))})),XNode.create(FormField,{label:"Password"},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.password))})),XNode.create(FormField,{label:"IMAP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapHost))})),XNode.create(FormField,{label:"IMAP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.imapSecure)),text:"Secure"}))),XNode.create(FormField,{label:"SMTP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpHost))})),XNode.create(FormField,{label:"SMTP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.smtpSecure)),text:"Secure"}))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(AddIconButton,{"data-submit-event":"add-new-mailbox",text:"Add Mailbox"}))))}))}onInput(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.imapHost){return}const{emailAddress}=this.model;if(!emailAddress){return}if(emailAddress.indexOf("@")===-1){return}const domain=emailAddress.split("@").pop();if(domain.length<=5){return}this.model.imapHost=`imap.${domain}`;this.model.smtpHost=`smtp.${domain}`;this.model.username=emailAddress}))}addNewMailbox(){return this.externalMailboxService.createMailbox(this.model)}});__decorate([InjectProperty,__metadata("design:type",ExternalMailboxService)],AddExternalMailboxPage.prototype,"externalMailboxService",void 0);__decorate([Action({onEvent:"input",defer:1e3}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddExternalMailboxPage.prototype,"onInput",null);__decorate([Action({onEvent:"add-new-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],AddExternalMailboxPage.prototype,"addNewMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","../../../model/model","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./MailboxEditorPage","../../NumberFormats","../../commands/CommonCommands","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/style/styled","./MailboxDetailPage","@web-atoms/web-controls/dist/basic/ComboBox","../../icons/Icons","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","./external-mailboxes/AddExternalMailboxPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,InfiniteRepeater,MailboxService,InjectProperty,Domain,Action,PageNavigator,MailboxEditorPage,toFileSize,CommonCommands,MasterDetailPage,styled,MailboxDetailPage,ComboBox,Icon,InlinePopupButton,MenuItem,AddExternalMailboxPage,MailboxListPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){Domain=_modelModel.Domain},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_MailboxEditorPage){MailboxEditorPage=_MailboxEditorPage.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_MailboxDetailPage){MailboxDetailPage=_MailboxDetailPage.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_iconsIcons){Icon=_iconsIcons.Icon},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_externalMailboxesAddExternalMailboxPage){AddExternalMailboxPage=_externalMailboxesAddExternalMailboxPage.default}],execute:function(){css=styled.css`
3211
+ `.installLocal();getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.version=1;this.pageContent=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));yield this.onItemExpanded(this.root);if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.length)){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.oneWay((()=>this.selectedFile.name))}),XNode.create(PopupButton,{icon:"fas fa-upload",label:"Upload","data-layout":"accent-icon-button",alignment:"bottomLeft",popup:()=>XNode.create("div",null,XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,accept:"*/*"}),{label:"Files"})),XNode.create(MenuItem,Object.assign({icon:"fas fa-upload","data-extra":Bind.oneWay((()=>JSON.stringify({parentID:this.selectedFile.appFileID})))},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}),{label:"Folder"})))}),XNode.create("span",{text:"|"}),XNode.create("i",{"data-click-event":"new-folder",class:"fas fa-plus"}),XNode.create("span",{"data-click-event":"new-folder",text:"Folder"}),XNode.create("span",{text:"|"}),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})));this.renderer=XNode.create("div",{class:css},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),"event-selected-item-changing":ce=>{if(this.pageContent){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",folder:this.root,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.pageContent=ce.detail,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?FetchBuilder.get(this.selectedFile.downloadUrl).cancelToken(cancelToken).responseAsText(true):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.pageContent))},XNode.create("button",{"data-click-event":"save-page",text:"Save"}))}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}openFolder(file){this.selectedFile=file}onItemExpanded(folder){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.files({search:"",accept:"text/html",folder,cancelToken:null})}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){const content=new File([this.pageContent],this.selectedFile.name,{type:this.selectedFile.contentType});yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.pageContent=""}))}hide(){this.pageContent=this.htmlEditor.htmlPage;super.hide()}show(){super.show();if(this.pageContent){setTimeout((()=>this.htmlEditor.htmlPage=this.pageContent),400)}}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user).include((x=>x.authFactors));if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}createAuthFactor(user,method="totp"){var _a;return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({method});((_a=user.authFactors)!==null&&_a!==void 0?_a:user.authFactors=[]).add(authFactor);yield this.save(user);return authFactor}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");System.register([],(function(_export,_context){"use strict";var Validators;return{setters:[],execute:function(){_export("Validators",Validators={checkPassword:password=>{const hasMinimumLength=password.length>=7;const hasNumber=/\d/.test(password);const hasSymbol=/[\@\#\$\%\^\&\*\!]/.test(password);return{hasMinimumLength,hasNumber,hasSymbol,isValid:hasMinimumLength&&hasNumber&&hasSymbol}},isValidPassword:password=>Validators.checkPassword(password).isValid})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/validators/Validators");System.register(["@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","../../validators/Validators"],(function(_export,_context){"use strict";var Bind,XNode,AtomControl,Validators,PasswordStrength;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_validatorsValidators){Validators=_validatorsValidators.Validators}],execute:function(){_export("default",PasswordStrength=class PasswordStrength extends AtomControl{constructor(){super(...arguments);this.password="";this.validation={hasMinimumLength:false,hasNumber:false,hasSymbol:false,isValid:false}}preCreate(){this.render(XNode.create("div",{"data-layout":"vertical-flex",validation:Bind.oneWay((()=>Validators.checkPassword(this.password)))},XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasMinimumLength?"green":"red")),class:Bind.oneWay((()=>this.validation.hasMinimumLength?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password is at least 7 characters long."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasNumber?"green":"red")),class:Bind.oneWay((()=>this.validation.hasNumber?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a number."})),XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-color":Bind.oneWay((()=>this.validation.hasSymbol?"green":"red")),class:Bind.oneWay((()=>this.validation.hasSymbol?"fas fa-check":"fas fa-times"))}),XNode.create("span",{text:"Password has a symbol."}))))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_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(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,Form,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,FormField,PopupWindowPage,AppFile,WebSiteFolder,Bind,Action,InjectProperty,WebSiteService,WebSiteFolderEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFile=_modelModel.AppFile;WebSiteFolder=_modelModel.WebSiteFolder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default}],execute:function(){_export("default",WebSiteFolderEditor=class WebSiteFolderEditor extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Create Website Folder";this.model=WebSiteFolder.create({folder:AppFile.create({name:"",isFolder:true,contentType:"application/site"}),isStatic:true});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.folder.name))})),XNode.create("div",null,"We recommend using the host name as folder name, e.g. akashkava.com"),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"save-web-site"},"Save"))))}))}saveWebSite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteFolderEditor.prototype,"websiteService",void 0);__decorate([Action({onEvent:"save-web-site",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteFolderEditor.prototype,"saveWebSite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/websites/WebSiteService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","../edit/WebSiteFolderEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,WebSiteService,Action,PageNavigator,WebSiteFolderEditor,WebSiteListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_editWebSiteFolderEditor){WebSiteFolderEditor=_editWebSiteFolderEditor.default}],execute:function(){_export("default",WebSiteListPage=class WebSiteListPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:yield this.websiteService.list(),itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.folder.name}))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"create-new-website"},"Create New Website"))}))}createNewWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(WebSiteFolderEditor);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteListPage.prototype,"websiteService",void 0);__decorate([Action({onEvent:"create-new-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteListPage.prototype,"createNewWebsite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage");System.register(["@web-atoms/core/dist/core/Command"],(function(_export,_context){"use strict";var Command,Commands,CommonCommands;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default;Commands=_webAtomsCoreDistCoreCommand.Commands}],execute:function(){_export("default",CommonCommands=class CommonCommands extends Commands{});CommonCommands.openMailbox=Command.create({route:"/mailbox/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/mails/MailboxContacts")});CommonCommands.openChannel=Command.create({route:"/channel/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/detail/ChannelDetailPage")});CommonCommands.openSubscribers=Command.create({route:"/mailbox-subscribers/{id}",routeOrder:50,openPage:()=>_context.import("../../web/page/channels/subscribers/ChannelSubscribersPage")});CommonCommands.openDrives=Command.create({route:"/drives",routeOrder:100,openPage:()=>_context.import("../pages/drives/DriveListPage")});CommonCommands.manageWebSite=Command.create({route:"/studio/manage/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/manage/ManageWebSitePage")});CommonCommands.editWebSite=Command.create({route:"/studio/edit/{id}",routeOrder:100,openPage:()=>_context.import("../pages/websites/studio/WebSiteStudioPage")});CommonCommands.changePassword=Command.create({route:"/user/change-password",pushPage:()=>_context.import("../pages/user/change-password/ChangePasswordPage")});CommonCommands.setupMultiFactor=Command.create({route:"/user/multi-factor/setup",pushPage:()=>_context.import("../pages/user/multi-factor/MultiFactorSetupPage")});CommonCommands.openWebSiteList=Command.create({route:"/websites",routeOrder:2e3,openPage:()=>_context.import("../pages/websites/list/WebSiteListPage")})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");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","@web-atoms/web-controls/dist/basic/FormField","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxSyncTarget,XNode,Form,FormField,PasswordFormField,TextFormField,Bind,Checkbox,SaveIconTextButton,Action,EntityService,EditSyncTargetPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField;TextFormField=_controlsFormRequiredFormField.TextFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditSyncTargetPage=class EditSyncTargetPage extends PopupWindowPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.syncTargetID)?this.parameters:MailboxSyncTarget.create(Object.assign(Object.assign({},(_b=this.parameters)!==null&&_b!==void 0?_b:{}),{active:true,port:993,isSecure:true,newPassword:"",intervalSeconds:86400}));this.title="Create Sync Target";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Protocol"},XNode.create("div",{"data-layout":"row"},XNode.create("span",{text:this.model.protocol}),XNode.create("span",{text:this.model.direction}))),XNode.create(TextFormField,{label:"Host",value:()=>this.model.host}),XNode.create(TextFormField,{label:"Port",value:()=>this.model.port}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isSecure)),text:"SSL Enabled"}),XNode.create(TextFormField,{label:"Username",value:()=>this.model.username}),XNode.create(PasswordFormField,{label:"Password",value:()=>this.model.newPassword}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncAllFolders)),text:"Sync All Folders (Slow, Not Recommended)"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.syncJunkMails)),text:"Sync Junk/Spam Folder (Slow, Not Recommended)"}),XNode.create(FormField,{label:"Name of All Folder"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.allFolderName))})),XNode.create("p",null,"Leave it empty if your mailbox supports new IMAP extensions for All Folders.",XNode.create("br",null),"If specified, only this folder will be synced."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-form",text:"Save"}))))}))}saveForm(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.syncTargetID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([Action({onEvent:"save-form",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSyncTargetPage.prototype,"saveForm",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../controls/collection-editor/CollectionEditor","./settings/EditSyncTargetPage","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,CollectionEditor,EditSyncTargetPage,MailboxService,InjectProperty,Action,MailboxDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_settingsEditSyncTargetPage){EditSyncTargetPage=_settingsEditSyncTargetPage.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",MailboxDetailPage=class MailboxDetailPage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.mailboxService.get(this.parameters.mailboxID);this.title=this.model.emailAddress.emailAddress;const username=this.model.emailAddress.emailAddress;const host=`imap.${username.split("@").pop()}`;this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Sync Targets",model:this.model,collection:"syncTargets",addPage:EditSyncTargetPage,addItemDefaults:{username,host},itemRenderer:item=>XNode.create("tr",null,XNode.create("td",null,XNode.create("span",{text:item.protocol})),XNode.create("td",null,XNode.create("span",{text:item.username})),XNode.create("td",null,XNode.create("span",{text:item.host})),XNode.create("td",null,item.active?XNode.create("i",{"data-click-event":"pause-sync",class:"fas fa-pause",title:"Pause Sync"}):XNode.create("i",{"data-click-event":"start-sync",class:"fas fa-play",title:"Start Sync"})))}))}))}pauseSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=false;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}startSync(item){return __awaiter(this,void 0,void 0,(function*(){item.active=true;yield this.mailboxService.saveSyncTarget(item);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],MailboxDetailPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"pause-sync",confirm:"Are you sure you want to pause the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"pauseSync",null);__decorate([Action({onEvent:"start-sync",confirm:"Are you sure you want to start the sync?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],MailboxDetailPage.prototype,"startSync",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage");System.register(["tslib","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __rest,XNode,IconClass,Icon;_export({default:void 0,Icon:void 0});return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("default",IconClass=class IconClass{static forMailbox(mb){return mb.isChannel?mb.isPrivateChannel?"fas fa-users-rectangle":"fas fa-users":"fas fa-envelope"}});_export("Icon",Icon=class Icon{static Mailbox(_a){var{mailbox}=_a,a=__rest(_a,["mailbox"]);return XNode.create("i",Object.assign({},a,{class:IconClass.forMailbox(mailbox)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/icons/Icons");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,MailboxSyncTarget,DateTime,ExternalMailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox;MailboxSyncTarget=_modelModel.MailboxSyncTarget},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){ExternalMailboxService=class ExternalMailboxService{createDomain(emailAddress,retry=3){return __awaiter(this,void 0,void 0,(function*(){try{const index=emailAddress.lastIndexOf("@");let domainName=emailAddress;if(index!==-1){domainName=emailAddress.substring(index+1)}domainName=domainName.toLocaleLowerCase();const d=yield this.entityService.query(HostedDomain).where({domainName},(p=>x=>x.domain.name===p.domainName)).firstOrDefault();if(d){return d}const hd=HostedDomain.create({domainNameToCreate:domainName,external:true});return yield this.entityService.save(hd)}catch(error){if(retry--){return yield this.createDomain(emailAddress,retry-1)}throw error}}))}createMailbox(model){return __awaiter(this,void 0,void 0,(function*(){const{emailAddress,displayName:name,username,password,imapHost,imapPort,imapSecure,smtpHost,smtpPort,smtpSecure,smtpUsername,smtpPassword}=model;const hd=yield this.createDomain(emailAddress);const dateCreated=DateTime.now;const[emailUsername]=emailAddress.split("@");const mb=Mailbox.create({domainID:hd.domainID,username:emailUsername,name,dateCreated,dateUpdated:dateCreated,indexAttachments:true,indexImageAttachments:true,syncTargets:[MailboxSyncTarget.create({protocol:"imap",host:imapHost,port:imapPort,isSecure:imapSecure,username,newPassword:password,direction:"in",active:true}),MailboxSyncTarget.create({protocol:"smtp",host:smtpHost,port:smtpPort,isSecure:smtpSecure,username:smtpUsername||username,newPassword:smtpPassword||password,direction:"in",active:true})]});yield this.entityService.save(mb)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ExternalMailboxService.prototype,"entityService",void 0);ExternalMailboxService=__decorate([DITransient()],ExternalMailboxService);_export("default",ExternalMailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/ExternalMailboxService");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../controls/buttons/IconButton","@web-atoms/core/dist/core/InjectProperty","../services/ExternalMailboxService","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,Action,Form,FormField,PasswordBox,PopupWindowPage,AddIconButton,InjectProperty,ExternalMailboxService,Checkbox,AddExternalMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_controlsButtonsIconButton){AddIconButton=_controlsButtonsIconButton.AddIconButton},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesExternalMailboxService){ExternalMailboxService=_servicesExternalMailboxService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",AddExternalMailboxPage=class AddExternalMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.model={emailAddress:"",displayName:"",imapHost:"",imapPort:993,imapSecure:true,smtpHost:"",smtpPort:465,smtpSecure:true,username:"",password:"",smtpUsername:"",smtpPassword:""}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Add External Mailbox";this.renderer=XNode.create("div",{"style-max-width":"400px"},XNode.create("div",null,"Use this form only if you do not own the domain of the email address. If you plan to migrate domain back to this server, we recommend creating hosted mailbox and add sync account to migrate your emails."),XNode.create("hr",null),XNode.create(Form,null,XNode.create(FormField,{label:"Display/From Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.displayName))})),XNode.create(FormField,{label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.emailAddress))})),XNode.create(FormField,{label:"Username"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.username))})),XNode.create(FormField,{label:"Password"},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.password))})),XNode.create(FormField,{label:"IMAP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapHost))})),XNode.create(FormField,{label:"IMAP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.imapPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.imapSecure)),text:"Secure"}))),XNode.create(FormField,{label:"SMTP (Server/Host)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpHost))})),XNode.create(FormField,{label:"SMTP Port"},XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.smtpPort))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.smtpSecure)),text:"Secure"}))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(AddIconButton,{"data-submit-event":"add-new-mailbox",text:"Add Mailbox"}))))}))}onInput(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.imapHost){return}const{emailAddress}=this.model;if(!emailAddress){return}if(emailAddress.indexOf("@")===-1){return}const domain=emailAddress.split("@").pop();if(domain.length<=5){return}this.model.imapHost=`imap.${domain}`;this.model.smtpHost=`smtp.${domain}`;this.model.username=emailAddress}))}addNewMailbox(){return this.externalMailboxService.createMailbox(this.model)}});__decorate([InjectProperty,__metadata("design:type",ExternalMailboxService)],AddExternalMailboxPage.prototype,"externalMailboxService",void 0);__decorate([Action({onEvent:"input",defer:1e3}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddExternalMailboxPage.prototype,"onInput",null);__decorate([Action({onEvent:"add-new-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],AddExternalMailboxPage.prototype,"addNewMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/external-mailboxes/AddExternalMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","./services/MailboxService","@web-atoms/core/dist/core/InjectProperty","../../../model/model","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./MailboxEditorPage","../../NumberFormats","../../commands/CommonCommands","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/style/styled","./MailboxDetailPage","@web-atoms/web-controls/dist/basic/ComboBox","../../icons/Icons","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","./external-mailboxes/AddExternalMailboxPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,XNode,AtomRepeater,InfiniteRepeater,MailboxService,InjectProperty,Domain,Action,PageNavigator,MailboxEditorPage,toFileSize,CommonCommands,MasterDetailPage,styled,MailboxDetailPage,ComboBox,Icon,InlinePopupButton,MenuItem,AddExternalMailboxPage,MailboxListPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesMailboxService){MailboxService=_servicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_modelModel){Domain=_modelModel.Domain},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_MailboxEditorPage){MailboxEditorPage=_MailboxEditorPage.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_MailboxDetailPage){MailboxDetailPage=_MailboxDetailPage.default},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_iconsIcons){Icon=_iconsIcons.Icon},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_externalMailboxesAddExternalMailboxPage){AddExternalMailboxPage=_externalMailboxesAddExternalMailboxPage.default}],execute:function(){css=styled.css`
3212
3212
  &[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
3213
3213
  grid-template-columns: 150px 1fr auto;
3214
3214
  }