@social-mail/social-mail-client 1.2.41 → 1.2.42

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.
@@ -1735,7 +1735,7 @@ and limitations under the License.
1735
1735
  }
1736
1736
  }
1737
1737
 
1738
- `.installGlobal("[data-layout=tree-view]");_export("default",TreeView=class TreeView extends AtomControl{constructor(){super(...arguments);this.map=new WeakMap;this.canSelect=x=>true;this.isFolder=x=>true}init(){return __awaiter(this,void 0,void 0,(function*(){}))}onPropertyChanging(name,oldValue,newValue){if(name==="selectedItem"){if(oldValue){const selectedElement=this.map.get(oldValue);if(selectedElement){selectedElement.removeAttribute("data-selected")}}if(newValue){this.selectItem(newValue)}}}selectItem(newValue){if(!this.childrenProperty){return}const element=this.map.get(newValue);if(!element){if(this.root){console.error(`Item not in the tree`)}return}element.setAttribute("data-selected","true");let start=element;while(start){const pi=start.parentItem;if(!pi){break}start=this.map.get(pi);if(!start){break}this.expandElement(start,false)}}onPropertyChanged(name){switch(name){case"root":case"childrenProperty":case"labelRenderer":case"folderIconRenderer":case"fileIconRenderer":case"actionRenderer":const rootElement=this.element.firstElementChild;rootElement===null||rootElement===void 0?void 0:rootElement.dispose();if(this.root&&this.childrenProperty&&this.labelRenderer&&this.folderIconRenderer){this.element.innerHTML="";this.createElement(this.root,void 0,-1);this.expand(this.root);if(this.selectedItem){this.selectItem(this.selectedItem)}}break;case"selectedItem":if(this.selectedItem){this.selectItem(this.selectedItem)}break}}expand(item){const element=this.map.get(item);if(element){this.expandElement(element,false)}}preCreate(){this.root=null;this.selectedItem=null;this.childrenProperty=null;this.actionRenderer=null;this.element.setAttribute("data-layout","tree-view");this.labelRenderer=item=>{var _a,_b,_c,_d;return XNode.create("span",{title:(_b=(_a=item.label)!==null&&_a!==void 0?_a:item.name)!==null&&_b!==void 0?_b:item,text:(_d=(_c=item.label)!==null&&_c!==void 0?_c:item.name)!==null&&_d!==void 0?_d:item})};this.folderIconRenderer=item=>XNode.create("i",{class:"fas"});this.fileIconRenderer=item=>XNode.create("i",{"data-element":"icon","data-click-event":"none"});this.runAfterInit((()=>{if(this.root&&!this.element.firstElementChild){if(this.childrenProperty){this.createElement(this.root);this.expand(this.root)}if(this.selectedItem){this.selectItem(this.selectedItem)}}}));this.bindEvent(this.element,"selectItem",(ce=>{if(ce.defaultPrevented){return}const element=findTreeElement(ce.target);const dataItem=element===null||element===void 0?void 0:element.dataItem;if(dataItem){if(this.selectedItem!==dataItem){const se=new CustomEvent("selectedItemChanging",{detail:dataItem,bubbles:true,cancelable:true});this.element.dispatchEvent(se);if(se.defaultPrevented){return}this.selectedItem=dataItem}}}));this.bindEvent(this.element,"toggleExpand",(ce=>{const element=findTreeElement(ce.target);this.expandElement(element)}));this.runAfterInit((()=>this.app.runAsync((()=>{var _a;return(_a=this.init)===null||_a===void 0?void 0:_a.call(this)}))))}dispatchClickEvent(e,data){const target=e.target;let start=target;while(start){if(start.getAttribute("data-layout")==="tree-view-item"){break}start=start.parentElement}if(!start){return super.dispatchClickEvent(e,data)}const item=start;const clickEvent=data===null||data===void 0?void 0:data.clickEvent;data=item.dataItem;if(data){data.clickEvent=clickEvent}super.dispatchClickEvent(e,data)}expandElement(element,toggle=true){if(!element){return}const{dataItem}=element;if(!dataItem){return}if(element.getAttribute("data-expanded")){if(toggle){element.removeAttribute("data-expanded");element.dispatchEvent(new CustomEvent("itemCollapsed",{detail:dataItem,bubbles:true,cancelable:true}));const children=this.childrenProperty(element.dataItem);for(const iterator of children){this.updateExpanded(iterator,false)}}}else{element.setAttribute("data-expanded","true");element.dispatchEvent(new CustomEvent("itemExpanded",{detail:dataItem,bubbles:true,cancelable:true}));this.updateExpanded(dataItem,true)}}createElement(item,parentItem,insertIndex=-1){var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const element=document.createElement("div");element.setAttribute("data-layout","tree-view-item");element.dataItem=item;element.parentItem=parentItem;this.map.set(item,element);const children=this.childrenProperty(item);if(!children){throw new Error("Children array must not be empty")}const watcher=children.watch(((target,event,index,child)=>{var _a;if(event==="add"||event==="set"){this.createElement(child,item,index);return}if(event==="remove"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();return}for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}for(const iterator of children){this.createElement(iterator,item)}}));element.dispose=()=>{var _a;watcher.dispose();for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}element.remove()};const actionElement=(_a=this.actionRenderer)===null||_a===void 0?void 0:_a.call(this,item);const isFolder=(_c=(_b=this.isFolder)===null||_b===void 0?void 0:_b.call(this,item))!==null&&_c!==void 0?_c:true;const iconElement=isFolder?this.folderIconRenderer(item):(_e=(_d=this.fileIconRenderer)===null||_d===void 0?void 0:_d.call(this,item))!==null&&_e!==void 0?_e:XNode.create("i",null);const labelElement=this.labelRenderer(item);if(iconElement){const a=(_f=iconElement.attributes)!==null&&_f!==void 0?_f:iconElement.attributes={};(_g=a["data-element"])!==null&&_g!==void 0?_g:a["data-element"]=isFolder?"expand-collapse":"file-icon";(_h=a["data-click-event"])!==null&&_h!==void 0?_h:a["data-click-event"]="toggle-expand";this.render(XNode.create("div",null,iconElement),element,this)}if(labelElement){const a=(_j=labelElement.attributes)!==null&&_j!==void 0?_j:labelElement.attributes={};a["data-element"]="label";(_k=a["data-click-event"])!==null&&_k!==void 0?_k:a["data-click-event"]="select-item";this.render(XNode.create("div",null,labelElement),element,this)}if(actionElement){((_l=actionElement.attributes)!==null&&_l!==void 0?_l:actionElement.attributes={})["data-element"]="action";this.render(XNode.create("div",null,actionElement),element,this)}const header=document.createElement("div");header.setAttribute("data-element","header");element.appendChild(header);const parentElement=this.map.get(parentItem);let last=parentElement;if(parentItem){const siblings=this.childrenProperty(parentItem);if(insertIndex===-1){insertIndex=siblings.indexOf(item)}if(insertIndex>=1){last=this.map.get(siblings[insertIndex-1])}last.insertAdjacentElement("afterend",element);const pad=Number((_m=parentElement.getAttribute("data-pad"))!==null&&_m!==void 0?_m:"0")+10;element.setAttribute("data-pad",`${pad}`);element.style.paddingLeft=`${pad}px`}else{this.element.appendChild(element);this.expandElement(element,false)}for(const iterator of children){this.createElement(iterator,item)}setTimeout((()=>this.updateExpanded()),1);return element}updateExpanded(item,show){if(!item){item=this.root;show=true}const element=this.map.get(item);if(!element){return}if(item===this.root){show=true}else if(show===void 0){show=element.getAttribute("data-expanded")==="true"}if(show){element.style.display=""}else{element.style.display="none"}const children=this.childrenProperty(element.dataItem);show&&(show=element.getAttribute("data-expanded")==="true");for(const iterator of children){this.updateExpanded(iterator,show)}}});__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"root",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"selectedItem",void 0);delete TreeView.prototype.init}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/TreeView");System.register([],(function(_export,_context){"use strict";var QueryIterator;_export("default",void 0);return{setters:[],execute:function(){_export("default",QueryIterator=class QueryIterator{static first(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}firstOrFail(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/QueryIterator");System.register([],(function(_export,_context){"use strict";var AttachmentFile;_export("AttachmentFile",void 0);return{setters:[],execute:function(){_export("AttachmentFile",AttachmentFile=class AttachmentFile extends File{constructor(fileBits,fileName,options){super(fileBits,fileName,options);this.contentId=options.contentId;this.disposition=options.disposition}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile");System.register([],(function(_export,_context){"use strict";function*tokenize(text,sep){let start=0;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}yield text.substring(start,index);start=index+1}yield text.substring(start)}function tokenizeMax(text,sep,max=Number.MAX_SAFE_INTEGER){let start=0;const items=[];max--;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}items.push(text.substring(start,index));start=index+1;if(--max===0){break}}items.push(text.substring(start));return items}_export({tokenize,tokenizeMax});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/tokenizer");System.register(["./tokenizer"],(function(_export,_context){"use strict";var tokenize,tokenizeMax,parsePairs;return{setters:[function(_tokenizer){tokenize=_tokenizer.tokenize;tokenizeMax=_tokenizer.tokenizeMax}],execute:function(){_export("parsePairs",parsePairs=(text,emptyName)=>{const pairs={toString(){return text}};for(const iterator of tokenize(text,";")){const trimmed=iterator.trim();if(!trimmed){break}const items=tokenizeMax(trimmed,"=",2).map((x=>x.trim()));let[key,value]=items;if(items.length===1){value=key;key=emptyName!==null&&emptyName!==void 0?emptyName:key}try{if(value.startsWith('"')){value=JSON.parse(value)}}catch(_a){}pairs[key]=value}return pairs})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/parsePairs");System.register(["./parsePairs"],(function(_export,_context){"use strict";var parsePairs,HeaderContentType;_export("HeaderContentType",void 0);return{setters:[function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentType",HeaderContentType=class HeaderContentType{constructor(type,charset="UTF-8",boundary){this.type=type;this.charset=charset;this.boundary=boundary}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.charset=items.charset;this.boundary=items.boundary}toString(){if(this.boundary){return`${this.type}; charset="${this.charset}"; boundary="${this.boundary}";`}return`${this.type}; charset="${this.charset}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType");System.register([],(function(_export,_context){"use strict";var toBuffer,RawBuffer;return{setters:[],execute:function(){toBuffer=text=>{const bytes=new Uint8Array(text.length);for(let index=0;index<text.length;index++){bytes[index]=text.charCodeAt(index)}return bytes.buffer};_export("RawBuffer",RawBuffer={decode:(bytesAsString,encoding="utf-8")=>{if(!encoding){return bytesAsString}const te=new TextDecoder(encoding);return te.decode(toBuffer(bytesAsString))},encode:(text,encoding="utf-8")=>{if(!/utf\-?8/i.test(encoding)){throw new Error(`Encoding ${encoding} not supported`)}const te=new TextEncoder;const array=te.encode(text);const a=[];for(const iterator of array){a.push(String.fromCharCode(iterator))}return a.join("")},toBase64Async(blob,asDataUrl=false){return new Promise(((resolve,reject)=>{const reader=new FileReader;reader.onerror=()=>{reject(reader.error)};reader.onload=()=>{const text=reader.result;if(asDataUrl){resolve(text);return}const index=text.indexOf(",");resolve(text.substring(index+1))};reader.readAsDataURL(blob)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer");System.register(["./RawBuffer"],(function(_export,_context){"use strict";var RawBuffer,isEncodedRegEx,hexToUnicode,decode,isSimpleText,wordEncoding;return{setters:[function(_RawBuffer){RawBuffer=_RawBuffer.RawBuffer}],execute:function(){isEncodedRegEx=/\=\?([^\?\s]+)\?([^\?\s]{1})\?([^\s\?]+)\?\=\s*/gm;hexToUnicode=/(\=([0-9a-f]{2}))|(\_)/gim;decode=text=>text.replace(isEncodedRegEx,((matched,encoding,format,buffer)=>{if(/b/i.test(format)){return RawBuffer.decode(atob(buffer),encoding)}if(/q/i.test(format)){const replaced=buffer.replace(hexToUnicode,((m,group,code)=>{if(m==="_"){return" "}return String.fromCharCode(parseInt(code,16))}));return RawBuffer.decode(replaced,encoding)}return matched}));isSimpleText=/[0-9a-zA-Z\x20]/;_export("wordEncoding",wordEncoding={decode,encode:(word,ifNeeded=false)=>{if(ifNeeded){if(isSimpleText.test(word)){return word}}word=RawBuffer.encode(word);return`=?UTF-8?B?${btoa(word)}?=`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding");System.register(["./encoder/word-encoding","./parsePairs"],(function(_export,_context){"use strict";var wordEncoding,parsePairs,HeaderContentDisposition;_export("HeaderContentDisposition",void 0);return{setters:[function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding},function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentDisposition",HeaderContentDisposition=class HeaderContentDisposition{constructor(type,filename,name){this.type=type;this.filename=filename;this.name=name}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.filename=items.filename;this.name=items.name}toString(){return`${this.type};\r\n\t\tfilename="${wordEncoding.encode(this.filename)}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition");System.register([],(function(_export,_context){"use strict";function base64toBlob(base64Data,contentType){contentType=contentType||"";const sliceSize=1024;const byteCharacters=atob(base64Data);const bytesLength=byteCharacters.length;const slicesCount=Math.ceil(bytesLength/sliceSize);const byteArrays=new Array(slicesCount);for(let sliceIndex=0;sliceIndex<slicesCount;++sliceIndex){const begin=sliceIndex*sliceSize;const end=Math.min(begin+sliceSize,bytesLength);const bytes=new Array(end-begin);for(let offset=begin,i=0;offset<end;++i,++offset){bytes[i]=byteCharacters[offset].charCodeAt(0)}byteArrays[sliceIndex]=new Uint8Array(bytes)}return new Blob(byteArrays,{type:contentType})}_export("base64toBlob",base64toBlob);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob");System.register([],(function(_export,_context){"use strict";var stringFromCharCode,decode,handleTrailingCharacters,regexUnsafeSymbols,encode,quotedPrintable;return{setters:[],execute:function(){stringFromCharCode=String.fromCharCode;decode=function(input){return input.replace(/[\t\x20]$/gm,"").replace(/=(?:\r\n?|\n|$)/g,"").replace(/=([a-fA-F0-9]{2})/g,(function($0,$1){const codePoint=parseInt($1,16);return stringFromCharCode(codePoint)}))};handleTrailingCharacters=function(text){return text.replace(/\x20$/,"=20").replace(/\t$/,"=09")};regexUnsafeSymbols=/[\0-\x08\n-\x1F=\x7F-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g;encode=function(text){const encoded=text.replace(regexUnsafeSymbols,(function(symbol){if(symbol>"ÿ"){throw RangeError("`quotedPrintable.encode()` expects extended ASCII input only. "+"Don’t forget to encode the input first using a character "+"encoding like UTF-8.")}const codePoint=symbol.charCodeAt(0);const hexadecimal=codePoint.toString(16).toUpperCase();return"="+("0"+hexadecimal).slice(-2)}));const LINE_LENGTH=75;const lines=encoded.split(/\r\n?|\n/g);let lineIndex=-1;const lineCount=lines.length;const result=[];let buffer;while(++lineIndex<lineCount){const line=lines[lineIndex];let index=0;const length=line.length;while(index<length){buffer=encoded.slice(index,index+LINE_LENGTH);if(/=$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-1);index+=LINE_LENGTH-1}else if(/=[A-F0-9]$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-2);index+=LINE_LENGTH-2}else{index+=LINE_LENGTH}result.push(buffer)}}const lastLineLength=buffer.length;if(/[\t\x20]$/.test(buffer)){result.pop();if(lastLineLength+2<=LINE_LENGTH+1){result.push(handleTrailingCharacters(buffer))}else{result.push(buffer.slice(0,lastLineLength-1),handleTrailingCharacters(buffer.slice(lastLineLength-1,lastLineLength)))}}return result.join("=\r\n")};_export("quotedPrintable",quotedPrintable={encode,decode,version:"1.0.1"})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable");System.register(["tslib","../../common/QueryIterator","./AttachmentFile","./HeaderContentType","./HeaderContentDisposition","./encoder/RawBuffer","./encoder/base64-to-blob","./encoder/quoted-printable","./encoder/word-encoding"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,QueryIterator,AttachmentFile,HeaderContentType,HeaderContentDisposition,RawBuffer,base64toBlob,quotedPrintable,wordEncoding,MimeNode;_export("MimeNode",void 0);return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_commonQueryIterator){QueryIterator=_commonQueryIterator.default},function(_AttachmentFile){AttachmentFile=_AttachmentFile.AttachmentFile},function(_HeaderContentType){HeaderContentType=_HeaderContentType.HeaderContentType},function(_HeaderContentDisposition){HeaderContentDisposition=_HeaderContentDisposition.HeaderContentDisposition},function(_encoderRawBuffer){RawBuffer=_encoderRawBuffer.RawBuffer},function(_encoderBase64ToBlob){base64toBlob=_encoderBase64ToBlob.base64toBlob},function(_encoderQuotedPrintable){quotedPrintable=_encoderQuotedPrintable.quotedPrintable},function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding}],execute:function(){_export("MimeNode",MimeNode=class MimeNode{static createMessage({html,subject,text="",name="",attachments=[]}){const root=new MimeNode("multipart/mixed");root.setHeader("Subject",subject);if(name){root.setHeader("X-Name",name)}const body=new MimeNode("multipart/alternative");body.children=[];if(html){body.children.push(this.create(html,"text/html"))}if(text){body.children.push(this.create(text,"text/plain"))}root.children=[body];if(attachments){for(const iterator of attachments){root.children.push(this.create(iterator))}}return root}static create(text,type,id){if(typeof text==="string"){const node=new MimeNode(type);node.text=text;return node}const fileNode=new MimeNode(text.type);fileNode.blobData=text;fileNode.contentDisposition=new HeaderContentDisposition(type||"attachment");fileNode.contentDisposition.filename=text.name;fileNode.setHeader("Content-Disposition",fileNode.contentDisposition);if(id){fileNode.setHeader("Content-Id",id)}return fileNode}get text(){var _a,_b,_c;let{encoded}=this;if(!encoded){return}const cte=(_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLowerCase();switch(cte){case"quoted-printable":encoded=quotedPrintable.decode(encoded);break;case"base64":encoded=btoa(encoded);break}return(_b=this.textContent)!==null&&_b!==void 0?_b:this.textContent=RawBuffer.decode(encoded,(_c=this.contentType)===null||_c===void 0?void 0:_c.charset)}set text(v){this.contentTransferEncoding="quoted-printable";this.textContent=v}get blob(){var _a,_b;if(((_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLocaleLowerCase())!=="base64"){throw new Error("Not supported")}return(_b=this.blobData)!==null&&_b!==void 0?_b:this.blobData=base64toBlob(this.encoded,this.contentType.type)}set blob(v){this.blobData=v}get contentTransferEncoding(){return this.header("Content-Transfer-Encoding")}set contentTransferEncoding(v){this.setHeader("Content-Transfer-Encoding",v)}get boundary(){return this.contentType.boundary}get descendents(){return this.enumerate()}constructor(type){this.headers=new Map;this.contentType=new HeaderContentType(type);this.headers.set("Content-Type",this.contentType)}getFirstChild(contentType,create=false){var _a;contentType=contentType.toLocaleLowerCase();let child=QueryIterator.first(this.descendents,(x=>x.contentType.type===contentType));if(!child&&create){child=new MimeNode(contentType);((_a=this.children)!==null&&_a!==void 0?_a:this.children=[]).push(child)}return child}header(name){for(const[key,value]of this.headers.entries()){if(key.toLocaleLowerCase()===name.toLocaleLowerCase()){return value}}}setHeader(name,value){for(const[key]of this.headers.keys()){if(key.toLocaleLowerCase()===name.toLocaleLowerCase()){this.headers.set(key,value);return}}switch(name.toLocaleLowerCase()){case"content-type":name="Content-Type";break;case"content-transfer-encoding":name="Content-Transfer-Encoding";break;case"content-disposition":name="Content-Disposition";break}this.headers.set(name,value)}asFile(){return __awaiter(this,void 0,void 0,(function*(){const text=this.encoded.split("\n").map((x=>x.trim())).join("");const url=`data:${this.contentType.type};base64,${text}`;const blob=yield fetch(url);const af=new AttachmentFile([yield blob.blob()],this.contentDisposition.filename,{type:this.contentType.type,contentId:this.header("Content-Id"),disposition:this.contentDisposition.type});af.node=this;return af}))}attachments(files=[]){var _a;return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.children){if(iterator.children){yield iterator.attachments(files);continue}if((_a=iterator.contentDisposition)===null||_a===void 0?void 0:_a.type){files.push(yield iterator.asFile())}}return files}))}parse(lines,last=""){var _a,e_1,_b,_c,_d,e_2,_e,_f;var _g;return __awaiter(this,void 0,void 0,(function*(){yield this.parseHeaders(lines);let boundary=this.contentType.boundary;if(!boundary){const data=[];try{for(var _h=true,_j=__asyncValues(lines.read()),_k;_k=yield _j.next(),_a=_k.done,!_a;){_c=_k.value;_h=false;try{const line=_c;const trimmed=line.trimEnd();if(trimmed.length===0){break}if(trimmed===last){break}data.push(line)}finally{_h=true}}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(!_h&&!_a&&(_b=_j.return))yield _b.call(_j)}finally{if(e_1)throw e_1.error}}this.encoded=data.join("\n");return}boundary="--"+boundary;const end=boundary+"--";for(;;){let boundaryFound=false;try{for(var _l=true,_m=(e_2=void 0,__asyncValues(lines.read())),_o;_o=yield _m.next(),_d=_o.done,!_d;){_f=_o.value;_l=false;try{const line=_f;if(line===boundary){boundaryFound=true;break}if(line===end){return}}finally{_l=true}}}catch(e_2_1){e_2={error:e_2_1}}finally{try{if(!_l&&!_d&&(_e=_m.return))yield _e.call(_m)}finally{if(e_2)throw e_2.error}}if(!boundaryFound){break}const child=new MimeNode("");yield child.parse(lines,end);((_g=this.children)!==null&&_g!==void 0?_g:this.children=[]).push(child)}}))}parseHeaders(lines){var _a,e_3,_b,_c;var _d;return __awaiter(this,void 0,void 0,(function*(){let headerName="";let headerValue="";try{for(var _e=true,_f=__asyncValues(lines.read()),_g;_g=yield _f.next(),_a=_g.done,!_a;){_c=_g.value;_e=false;try{const iterator=_c;const value=iterator.trim();if(value.length===0){break}if(/^[\x20\t]/.test(iterator)){headerValue+=wordEncoding.decode(value);continue}if(headerValue){this.setHeader(headerName,headerValue)}const[k,v]=value.split(":",2);headerName=k;headerValue=wordEncoding.decode(v.trim())}finally{_e=true}}}catch(e_3_1){e_3={error:e_3_1}}finally{try{if(!_e&&!_a&&(_b=_f.return))yield _b.call(_f)}finally{if(e_3)throw e_3.error}}if(headerValue){this.setHeader(headerName,headerValue)}const ct=this.header("Content-Type");this.contentType.parse(ct);this.setHeader("Content-Type",ct);const cd=this.header("Content-Disposition");if(cd){(_d=this.contentDisposition)!==null&&_d!==void 0?_d:this.contentDisposition=new HeaderContentDisposition;this.contentDisposition.parse(cd);this.setHeader("Content-Disposition",cd)}}))}save(writer){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){if(this.textContent){this.contentType.charset="UTF-8"}if((_a=this.children)===null||_a===void 0?void 0:_a.length){(_c=this.contentType).boundary||(_c.boundary=`${Date.now()}-${Date.now()}-${Date.now()}`)}for(const[key,element]of this.headers.entries()){switch(key){case"content-disposition":writer.writeLine(`Content-Disposition: ${this.contentDisposition}`);continue;case"content-type":writer.writeLine(`Content-Type:${this.contentType.toString()}`);continue;case"subject":writer.writeLine(`${key}: ${wordEncoding.encode(element,true)}`);continue}writer.writeLine(`${key}: ${element}`)}writer.writeLine("");if((_b=this.children)===null||_b===void 0?void 0:_b.length){const boundary=`--${this.contentType.boundary}`;for(const iterator of this.children){writer.writeLine(boundary);yield iterator.save(writer);writer.writeLine("")}writer.writeLine(boundary+"--");return}if(this.blobData){const base64=yield RawBuffer.toBase64Async(this.blobData);let start=0;const max=80;for(;;){if(start+max>base64.length){writer.writeLine(base64.substring(start));break}writer.writeLine(base64.substring(start,start+max));start+=max}writer.writeLine("");return}let text=this.textContent;if(this.contentTransferEncoding==="quoted-printable"){text=quotedPrintable.encode(RawBuffer.encode(text))}writer.writeLine(RawBuffer.encode(text));writer.writeLine("");return}))}*enumerate(){yield this;if(!this.children){return}for(const iterator of this.children){yield*iterator.enumerate()}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeNode");System.register(["tslib","../tokenizer"],(function(_export,_context){"use strict";var __asyncGenerator,__await,tokenize,LineStream,StringLineStream,ReadableLineStream;_export({default:void 0,StringLineStream:void 0,ReadableLineStream:void 0});return{setters:[function(_tslib){__asyncGenerator=_tslib.__asyncGenerator;__await=_tslib.__await},function(_tokenizer){tokenize=_tokenizer.tokenize}],execute:function(){_export("default",LineStream=class LineStream{read(){var _a;return __asyncGenerator(this,arguments,(function*read_1(){const g=(_a=this.g)!==null&&_a!==void 0?_a:this.g=this.lines();for(;;){const{value,done}=yield __await(g.next());if(done){break}yield yield __await(value)}}))}});_export("StringLineStream",StringLineStream=class StringLineStream extends LineStream{constructor(text){super();this.text=text}lines(){return __asyncGenerator(this,arguments,(function*lines_1(){for(const iterator of tokenize(this.text,"\n")){yield yield __await(iterator)}}))}});_export("ReadableLineStream",ReadableLineStream=class ReadableLineStream extends LineStream{constructor(readable){super();this.readable=readable}lines(){return __asyncGenerator(this,arguments,(function*lines_2(){const utf8Decoder=new TextDecoder("utf-8");const reader=this.readable.getReader();let{value:chunk,done:readerDone}=yield __await(reader.read());chunk=chunk?utf8Decoder.decode(chunk,{stream:true}):"";const re=/\r\n|\n|\r/gm;let startIndex=0;for(;;){const result=re.exec(chunk);if(!result){if(readerDone){break}const remainder=chunk.substr(startIndex);({value:chunk,done:readerDone}=yield __await(reader.read()));chunk=remainder+(chunk?utf8Decoder.decode(chunk,{stream:true}):"");startIndex=re.lastIndex=0;continue}yield yield __await(chunk.substring(startIndex,result.index));startIndex=re.lastIndex}if(startIndex<chunk.length){yield yield __await(chunk.substr(startIndex))}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream");System.register([],(function(_export,_context){"use strict";var TextWriter,BlobWriter;_export({default:void 0,BlobWriter:void 0});return{setters:[],execute:function(){_export("default",TextWriter=class TextWriter{});_export("BlobWriter",BlobWriter=class BlobWriter extends TextWriter{constructor(){super(...arguments);this.lines=[]}writeLine(line){this.lines.push(line)}toBlob(){const all=this.lines.join("\n");return new Blob([all],{})}toString(){return this.lines.join("\n")}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter");System.register(["tslib","./MimeNode","./stream/LineStream","./stream/TextWriter"],(function(_export,_context){"use strict";var __awaiter,MimeNode,ReadableLineStream,BlobWriter,MimeMessage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_MimeNode){MimeNode=_MimeNode.MimeNode},function(_streamLineStream){ReadableLineStream=_streamLineStream.ReadableLineStream},function(_streamTextWriter){BlobWriter=_streamTextWriter.BlobWriter}],execute:function(){_export("default",MimeMessage=class MimeMessage{static load(reader,name,inline){return __awaiter(this,void 0,void 0,(function*(){const node=new MimeNode;if(name){node.setHeader("X-Name",name)}yield node.parse(new ReadableLineStream(reader));const attachments=yield node.attachments();const msg=new MimeMessage(node,attachments);if(inline){yield msg.inlineImages()}return msg}))}get name(){return this.node.header("x-name")}get html(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/html"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set html(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/html",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get text(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/plain"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set text(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/plain",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get subject(){var _a;return(_a=this.node.header("subject"))!==null&&_a!==void 0?_a:""}set subject(v){this.node.setHeader("subject",v)}constructor(node=new MimeNode("multipart/mixed"),attachments=[]){this.node=node;this.attachments=attachments}save(){return __awaiter(this,void 0,void 0,(function*(){const blobWriter=new BlobWriter;yield this.node.save(blobWriter);return blobWriter.toBlob()}))}inlineImages(){return __awaiter(this,void 0,void 0,(function*(){let text=this.html;if(!text){return}for(const iterator of this.attachments){if(iterator.contentId){const encoded=iterator.node.encoded;text=text.split(`cid:${iterator.contentId}`).join(`data://${iterator.type},${encoded}`)}}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeMessage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/XNode","../../controls/tree/TreeView","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/style/styled","../../../services/mime-service/MimeMessage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,CloudFileService,XNode,TreeView,AppFile,InjectProperty,SaveIconTextButton,Bind,styled,MimeMessage,ChooserTemplatePage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsTreeTreeView){TreeView=_controlsTreeTreeView.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default}],execute:function(){css=styled.css`
1738
+ `.installGlobal("[data-layout=tree-view]");_export("default",TreeView=class TreeView extends AtomControl{constructor(){super(...arguments);this.map=new WeakMap;this.canSelect=x=>true;this.isFolder=x=>true}init(){return __awaiter(this,void 0,void 0,(function*(){}))}onPropertyChanging(name,oldValue,newValue){if(name==="selectedItem"){if(oldValue){const selectedElement=this.map.get(oldValue);if(selectedElement){selectedElement.removeAttribute("data-selected")}}if(newValue){this.selectItem(newValue)}}}selectItem(newValue){if(!this.childrenProperty){return}const element=this.map.get(newValue);if(!element){if(this.root){console.error(`Item not in the tree`)}return}element.setAttribute("data-selected","true");let start=element;while(start){const pi=start.parentItem;if(!pi){break}start=this.map.get(pi);if(!start){break}this.expandElement(start,false)}}onPropertyChanged(name){switch(name){case"root":case"childrenProperty":case"labelRenderer":case"folderIconRenderer":case"fileIconRenderer":case"actionRenderer":const rootElement=this.element.firstElementChild;rootElement===null||rootElement===void 0?void 0:rootElement.dispose();if(this.root&&this.childrenProperty&&this.labelRenderer&&this.folderIconRenderer){this.element.innerHTML="";this.createElement(this.root,void 0,-1);this.expand(this.root);if(this.selectedItem){this.selectItem(this.selectedItem)}}break;case"selectedItem":if(this.selectedItem){this.selectItem(this.selectedItem)}break}}expand(item){const element=this.map.get(item);if(element){this.expandElement(element,false)}}preCreate(){this.root=null;this.selectedItem=null;this.childrenProperty=null;this.actionRenderer=null;this.element.setAttribute("data-layout","tree-view");this.labelRenderer=item=>{var _a,_b,_c,_d;return XNode.create("span",{title:(_b=(_a=item.label)!==null&&_a!==void 0?_a:item.name)!==null&&_b!==void 0?_b:item,text:(_d=(_c=item.label)!==null&&_c!==void 0?_c:item.name)!==null&&_d!==void 0?_d:item})};this.folderIconRenderer=item=>XNode.create("i",{class:"fas"});this.fileIconRenderer=item=>XNode.create("i",{"data-element":"icon","data-click-event":"none"});this.runAfterInit((()=>{if(this.root&&!this.element.firstElementChild){if(this.childrenProperty){this.createElement(this.root);this.expand(this.root)}if(this.selectedItem){this.selectItem(this.selectedItem)}}}));this.bindEvent(this.element,"selectItem",(ce=>{if(ce.defaultPrevented){return}const element=findTreeElement(ce.target);const dataItem=element===null||element===void 0?void 0:element.dataItem;if(dataItem){if(this.selectedItem!==dataItem){const se=new CustomEvent("selectedItemChanging",{detail:dataItem,bubbles:true,cancelable:true});this.element.dispatchEvent(se);if(se.defaultPrevented){return}this.selectedItem=dataItem}}}));this.bindEvent(this.element,"toggleExpand",(ce=>{const element=findTreeElement(ce.target);this.expandElement(element)}));this.runAfterInit((()=>this.app.runAsync((()=>{var _a;return(_a=this.init)===null||_a===void 0?void 0:_a.call(this)}))))}dispatchClickEvent(e,data){const target=e.target;let start=target;while(start){if(start.getAttribute("data-layout")==="tree-view-item"){break}start=start.parentElement}if(!start){return super.dispatchClickEvent(e,data)}const item=start;const clickEvent=data===null||data===void 0?void 0:data.clickEvent;data=item.dataItem;if(data){data.clickEvent=clickEvent}super.dispatchClickEvent(e,data)}expandElement(element,toggle=true){if(!element){return}const{dataItem}=element;if(!dataItem){return}if(element.getAttribute("data-expanded")){if(toggle){element.removeAttribute("data-expanded");element.dispatchEvent(new CustomEvent("itemCollapsed",{detail:dataItem,bubbles:true,cancelable:true}));const children=this.childrenProperty(element.dataItem);for(const iterator of children){this.updateExpanded(iterator,false)}}}else{element.setAttribute("data-expanded","true");element.dispatchEvent(new CustomEvent("itemExpanded",{detail:dataItem,bubbles:true,cancelable:true}));this.updateExpanded(dataItem,true)}}createElement(item,parentItem,insertIndex=-1){var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;const element=document.createElement("div");element.setAttribute("data-layout","tree-view-item");element.dataItem=item;element.parentItem=parentItem;this.map.set(item,element);const children=this.childrenProperty(item);if(!children){throw new Error("Children array must not be empty")}const watcher=children.watch(((target,event,index,child)=>{var _a;if(event==="add"){this.createElement(child,item,index);return}if(event==="set"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();this.createElement(child,item,index);return}if(event==="remove"){const childElement=this.map.get(child);childElement===null||childElement===void 0?void 0:childElement.dispose();return}for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}for(const iterator of children){this.createElement(iterator,item)}}));element.dispose=()=>{var _a;watcher.dispose();for(const iterator of children){(_a=this.map.get(iterator))===null||_a===void 0?void 0:_a.dispose()}element.remove()};const actionElement=(_a=this.actionRenderer)===null||_a===void 0?void 0:_a.call(this,item);const isFolder=(_c=(_b=this.isFolder)===null||_b===void 0?void 0:_b.call(this,item))!==null&&_c!==void 0?_c:true;const iconElement=isFolder?this.folderIconRenderer(item):(_e=(_d=this.fileIconRenderer)===null||_d===void 0?void 0:_d.call(this,item))!==null&&_e!==void 0?_e:XNode.create("i",null);const labelElement=this.labelRenderer(item);if(iconElement){const a=(_f=iconElement.attributes)!==null&&_f!==void 0?_f:iconElement.attributes={};(_g=a["data-element"])!==null&&_g!==void 0?_g:a["data-element"]=isFolder?"expand-collapse":"file-icon";(_h=a["data-click-event"])!==null&&_h!==void 0?_h:a["data-click-event"]="toggle-expand";this.render(XNode.create("div",null,iconElement),element,this)}if(labelElement){const a=(_j=labelElement.attributes)!==null&&_j!==void 0?_j:labelElement.attributes={};a["data-element"]="label";(_k=a["data-click-event"])!==null&&_k!==void 0?_k:a["data-click-event"]="select-item";this.render(XNode.create("div",null,labelElement),element,this)}if(actionElement){((_l=actionElement.attributes)!==null&&_l!==void 0?_l:actionElement.attributes={})["data-element"]="action";this.render(XNode.create("div",null,actionElement),element,this)}const header=document.createElement("div");header.setAttribute("data-element","header");element.appendChild(header);const parentElement=this.map.get(parentItem);let last=parentElement;if(parentItem){const siblings=this.childrenProperty(parentItem);if(insertIndex===-1){insertIndex=siblings.indexOf(item)}if(insertIndex>=1){last=this.map.get(siblings[insertIndex-1])}last.insertAdjacentElement("afterend",element);const pad=Number((_m=parentElement.getAttribute("data-pad"))!==null&&_m!==void 0?_m:"0")+10;element.setAttribute("data-pad",`${pad}`);element.style.paddingLeft=`${pad}px`}else{this.element.appendChild(element);this.expandElement(element,false)}for(const iterator of children){this.createElement(iterator,item)}setTimeout((()=>this.updateExpanded()),1);return element}updateExpanded(item,show){if(!item){item=this.root;show=true}const element=this.map.get(item);if(!element){return}if(item===this.root){show=true}else if(show===void 0){show=element.getAttribute("data-expanded")==="true"}if(show){element.style.display=""}else{element.style.display="none"}const children=this.childrenProperty(element.dataItem);show&&(show=element.getAttribute("data-expanded")==="true");for(const iterator of children){this.updateExpanded(iterator,show)}}});__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"root",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],TreeView.prototype,"selectedItem",void 0);delete TreeView.prototype.init}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/TreeView");System.register([],(function(_export,_context){"use strict";var QueryIterator;_export("default",void 0);return{setters:[],execute:function(){_export("default",QueryIterator=class QueryIterator{static first(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}firstOrFail(source,fx){for(const iterator of source){if(fx(iterator)){return iterator}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/QueryIterator");System.register([],(function(_export,_context){"use strict";var AttachmentFile;_export("AttachmentFile",void 0);return{setters:[],execute:function(){_export("AttachmentFile",AttachmentFile=class AttachmentFile extends File{constructor(fileBits,fileName,options){super(fileBits,fileName,options);this.contentId=options.contentId;this.disposition=options.disposition}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile");System.register([],(function(_export,_context){"use strict";function*tokenize(text,sep){let start=0;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}yield text.substring(start,index);start=index+1}yield text.substring(start)}function tokenizeMax(text,sep,max=Number.MAX_SAFE_INTEGER){let start=0;const items=[];max--;for(;;){const index=text.indexOf(sep,start);if(index===-1){break}items.push(text.substring(start,index));start=index+1;if(--max===0){break}}items.push(text.substring(start));return items}_export({tokenize,tokenizeMax});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/tokenizer");System.register(["./tokenizer"],(function(_export,_context){"use strict";var tokenize,tokenizeMax,parsePairs;return{setters:[function(_tokenizer){tokenize=_tokenizer.tokenize;tokenizeMax=_tokenizer.tokenizeMax}],execute:function(){_export("parsePairs",parsePairs=(text,emptyName)=>{const pairs={toString(){return text}};for(const iterator of tokenize(text,";")){const trimmed=iterator.trim();if(!trimmed){break}const items=tokenizeMax(trimmed,"=",2).map((x=>x.trim()));let[key,value]=items;if(items.length===1){value=key;key=emptyName!==null&&emptyName!==void 0?emptyName:key}try{if(value.startsWith('"')){value=JSON.parse(value)}}catch(_a){}pairs[key]=value}return pairs})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/parsePairs");System.register(["./parsePairs"],(function(_export,_context){"use strict";var parsePairs,HeaderContentType;_export("HeaderContentType",void 0);return{setters:[function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentType",HeaderContentType=class HeaderContentType{constructor(type,charset="UTF-8",boundary){this.type=type;this.charset=charset;this.boundary=boundary}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.charset=items.charset;this.boundary=items.boundary}toString(){if(this.boundary){return`${this.type}; charset="${this.charset}"; boundary="${this.boundary}";`}return`${this.type}; charset="${this.charset}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType");System.register([],(function(_export,_context){"use strict";var toBuffer,RawBuffer;return{setters:[],execute:function(){toBuffer=text=>{const bytes=new Uint8Array(text.length);for(let index=0;index<text.length;index++){bytes[index]=text.charCodeAt(index)}return bytes.buffer};_export("RawBuffer",RawBuffer={decode:(bytesAsString,encoding="utf-8")=>{if(!encoding){return bytesAsString}const te=new TextDecoder(encoding);return te.decode(toBuffer(bytesAsString))},encode:(text,encoding="utf-8")=>{if(!/utf\-?8/i.test(encoding)){throw new Error(`Encoding ${encoding} not supported`)}const te=new TextEncoder;const array=te.encode(text);const a=[];for(const iterator of array){a.push(String.fromCharCode(iterator))}return a.join("")},toBase64Async(blob,asDataUrl=false){return new Promise(((resolve,reject)=>{const reader=new FileReader;reader.onerror=()=>{reject(reader.error)};reader.onload=()=>{const text=reader.result;if(asDataUrl){resolve(text);return}const index=text.indexOf(",");resolve(text.substring(index+1))};reader.readAsDataURL(blob)}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer");System.register(["./RawBuffer"],(function(_export,_context){"use strict";var RawBuffer,isEncodedRegEx,hexToUnicode,decode,isSimpleText,wordEncoding;return{setters:[function(_RawBuffer){RawBuffer=_RawBuffer.RawBuffer}],execute:function(){isEncodedRegEx=/\=\?([^\?\s]+)\?([^\?\s]{1})\?([^\s\?]+)\?\=\s*/gm;hexToUnicode=/(\=([0-9a-f]{2}))|(\_)/gim;decode=text=>text.replace(isEncodedRegEx,((matched,encoding,format,buffer)=>{if(/b/i.test(format)){return RawBuffer.decode(atob(buffer),encoding)}if(/q/i.test(format)){const replaced=buffer.replace(hexToUnicode,((m,group,code)=>{if(m==="_"){return" "}return String.fromCharCode(parseInt(code,16))}));return RawBuffer.decode(replaced,encoding)}return matched}));isSimpleText=/[0-9a-zA-Z\x20]/;_export("wordEncoding",wordEncoding={decode,encode:(word,ifNeeded=false)=>{if(ifNeeded){if(isSimpleText.test(word)){return word}}word=RawBuffer.encode(word);return`=?UTF-8?B?${btoa(word)}?=`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding");System.register(["./encoder/word-encoding","./parsePairs"],(function(_export,_context){"use strict";var wordEncoding,parsePairs,HeaderContentDisposition;_export("HeaderContentDisposition",void 0);return{setters:[function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding},function(_parsePairs){parsePairs=_parsePairs.parsePairs}],execute:function(){_export("HeaderContentDisposition",HeaderContentDisposition=class HeaderContentDisposition{constructor(type,filename,name){this.type=type;this.filename=filename;this.name=name}parse(text){const items=parsePairs(text,"type");this.type=items.type;this.filename=items.filename;this.name=items.name}toString(){return`${this.type};\r\n\t\tfilename="${wordEncoding.encode(this.filename)}";`}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition");System.register([],(function(_export,_context){"use strict";function base64toBlob(base64Data,contentType){contentType=contentType||"";const sliceSize=1024;const byteCharacters=atob(base64Data);const bytesLength=byteCharacters.length;const slicesCount=Math.ceil(bytesLength/sliceSize);const byteArrays=new Array(slicesCount);for(let sliceIndex=0;sliceIndex<slicesCount;++sliceIndex){const begin=sliceIndex*sliceSize;const end=Math.min(begin+sliceSize,bytesLength);const bytes=new Array(end-begin);for(let offset=begin,i=0;offset<end;++i,++offset){bytes[i]=byteCharacters[offset].charCodeAt(0)}byteArrays[sliceIndex]=new Uint8Array(bytes)}return new Blob(byteArrays,{type:contentType})}_export("base64toBlob",base64toBlob);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob");System.register([],(function(_export,_context){"use strict";var stringFromCharCode,decode,handleTrailingCharacters,regexUnsafeSymbols,encode,quotedPrintable;return{setters:[],execute:function(){stringFromCharCode=String.fromCharCode;decode=function(input){return input.replace(/[\t\x20]$/gm,"").replace(/=(?:\r\n?|\n|$)/g,"").replace(/=([a-fA-F0-9]{2})/g,(function($0,$1){const codePoint=parseInt($1,16);return stringFromCharCode(codePoint)}))};handleTrailingCharacters=function(text){return text.replace(/\x20$/,"=20").replace(/\t$/,"=09")};regexUnsafeSymbols=/[\0-\x08\n-\x1F=\x7F-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g;encode=function(text){const encoded=text.replace(regexUnsafeSymbols,(function(symbol){if(symbol>"ÿ"){throw RangeError("`quotedPrintable.encode()` expects extended ASCII input only. "+"Don’t forget to encode the input first using a character "+"encoding like UTF-8.")}const codePoint=symbol.charCodeAt(0);const hexadecimal=codePoint.toString(16).toUpperCase();return"="+("0"+hexadecimal).slice(-2)}));const LINE_LENGTH=75;const lines=encoded.split(/\r\n?|\n/g);let lineIndex=-1;const lineCount=lines.length;const result=[];let buffer;while(++lineIndex<lineCount){const line=lines[lineIndex];let index=0;const length=line.length;while(index<length){buffer=encoded.slice(index,index+LINE_LENGTH);if(/=$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-1);index+=LINE_LENGTH-1}else if(/=[A-F0-9]$/.test(buffer)){buffer=buffer.slice(0,LINE_LENGTH-2);index+=LINE_LENGTH-2}else{index+=LINE_LENGTH}result.push(buffer)}}const lastLineLength=buffer.length;if(/[\t\x20]$/.test(buffer)){result.pop();if(lastLineLength+2<=LINE_LENGTH+1){result.push(handleTrailingCharacters(buffer))}else{result.push(buffer.slice(0,lastLineLength-1),handleTrailingCharacters(buffer.slice(lastLineLength-1,lastLineLength)))}}return result.join("=\r\n")};_export("quotedPrintable",quotedPrintable={encode,decode,version:"1.0.1"})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable");System.register(["tslib","../../common/QueryIterator","./AttachmentFile","./HeaderContentType","./HeaderContentDisposition","./encoder/RawBuffer","./encoder/base64-to-blob","./encoder/quoted-printable","./encoder/word-encoding"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,QueryIterator,AttachmentFile,HeaderContentType,HeaderContentDisposition,RawBuffer,base64toBlob,quotedPrintable,wordEncoding,MimeNode;_export("MimeNode",void 0);return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_commonQueryIterator){QueryIterator=_commonQueryIterator.default},function(_AttachmentFile){AttachmentFile=_AttachmentFile.AttachmentFile},function(_HeaderContentType){HeaderContentType=_HeaderContentType.HeaderContentType},function(_HeaderContentDisposition){HeaderContentDisposition=_HeaderContentDisposition.HeaderContentDisposition},function(_encoderRawBuffer){RawBuffer=_encoderRawBuffer.RawBuffer},function(_encoderBase64ToBlob){base64toBlob=_encoderBase64ToBlob.base64toBlob},function(_encoderQuotedPrintable){quotedPrintable=_encoderQuotedPrintable.quotedPrintable},function(_encoderWordEncoding){wordEncoding=_encoderWordEncoding.wordEncoding}],execute:function(){_export("MimeNode",MimeNode=class MimeNode{static createMessage({html,subject,text="",name="",attachments=[]}){const root=new MimeNode("multipart/mixed");root.setHeader("Subject",subject);if(name){root.setHeader("X-Name",name)}const body=new MimeNode("multipart/alternative");body.children=[];if(html){body.children.push(this.create(html,"text/html"))}if(text){body.children.push(this.create(text,"text/plain"))}root.children=[body];if(attachments){for(const iterator of attachments){root.children.push(this.create(iterator))}}return root}static create(text,type,id){if(typeof text==="string"){const node=new MimeNode(type);node.text=text;return node}const fileNode=new MimeNode(text.type);fileNode.blobData=text;fileNode.contentDisposition=new HeaderContentDisposition(type||"attachment");fileNode.contentDisposition.filename=text.name;fileNode.setHeader("Content-Disposition",fileNode.contentDisposition);if(id){fileNode.setHeader("Content-Id",id)}return fileNode}get text(){var _a,_b,_c;let{encoded}=this;if(!encoded){return}const cte=(_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLowerCase();switch(cte){case"quoted-printable":encoded=quotedPrintable.decode(encoded);break;case"base64":encoded=btoa(encoded);break}return(_b=this.textContent)!==null&&_b!==void 0?_b:this.textContent=RawBuffer.decode(encoded,(_c=this.contentType)===null||_c===void 0?void 0:_c.charset)}set text(v){this.contentTransferEncoding="quoted-printable";this.textContent=v}get blob(){var _a,_b;if(((_a=this.contentTransferEncoding)===null||_a===void 0?void 0:_a.toLocaleLowerCase())!=="base64"){throw new Error("Not supported")}return(_b=this.blobData)!==null&&_b!==void 0?_b:this.blobData=base64toBlob(this.encoded,this.contentType.type)}set blob(v){this.blobData=v}get contentTransferEncoding(){return this.header("Content-Transfer-Encoding")}set contentTransferEncoding(v){this.setHeader("Content-Transfer-Encoding",v)}get boundary(){return this.contentType.boundary}get descendents(){return this.enumerate()}constructor(type){this.headers=new Map;this.contentType=new HeaderContentType(type);this.headers.set("Content-Type",this.contentType)}getFirstChild(contentType,create=false){var _a;contentType=contentType.toLocaleLowerCase();let child=QueryIterator.first(this.descendents,(x=>x.contentType.type===contentType));if(!child&&create){child=new MimeNode(contentType);((_a=this.children)!==null&&_a!==void 0?_a:this.children=[]).push(child)}return child}header(name){for(const[key,value]of this.headers.entries()){if(key.toLocaleLowerCase()===name.toLocaleLowerCase()){return value}}}setHeader(name,value){for(const[key]of this.headers.keys()){if(key.toLocaleLowerCase()===name.toLocaleLowerCase()){this.headers.set(key,value);return}}switch(name.toLocaleLowerCase()){case"content-type":name="Content-Type";break;case"content-transfer-encoding":name="Content-Transfer-Encoding";break;case"content-disposition":name="Content-Disposition";break}this.headers.set(name,value)}asFile(){return __awaiter(this,void 0,void 0,(function*(){const text=this.encoded.split("\n").map((x=>x.trim())).join("");const url=`data:${this.contentType.type};base64,${text}`;const blob=yield fetch(url);const af=new AttachmentFile([yield blob.blob()],this.contentDisposition.filename,{type:this.contentType.type,contentId:this.header("Content-Id"),disposition:this.contentDisposition.type});af.node=this;return af}))}attachments(files=[]){var _a;return __awaiter(this,void 0,void 0,(function*(){for(const iterator of this.children){if(iterator.children){yield iterator.attachments(files);continue}if((_a=iterator.contentDisposition)===null||_a===void 0?void 0:_a.type){files.push(yield iterator.asFile())}}return files}))}parse(lines,last=""){var _a,e_1,_b,_c,_d,e_2,_e,_f;var _g;return __awaiter(this,void 0,void 0,(function*(){yield this.parseHeaders(lines);let boundary=this.contentType.boundary;if(!boundary){const data=[];try{for(var _h=true,_j=__asyncValues(lines.read()),_k;_k=yield _j.next(),_a=_k.done,!_a;){_c=_k.value;_h=false;try{const line=_c;const trimmed=line.trimEnd();if(trimmed.length===0){break}if(trimmed===last){break}data.push(line)}finally{_h=true}}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(!_h&&!_a&&(_b=_j.return))yield _b.call(_j)}finally{if(e_1)throw e_1.error}}this.encoded=data.join("\n");return}boundary="--"+boundary;const end=boundary+"--";for(;;){let boundaryFound=false;try{for(var _l=true,_m=(e_2=void 0,__asyncValues(lines.read())),_o;_o=yield _m.next(),_d=_o.done,!_d;){_f=_o.value;_l=false;try{const line=_f;if(line===boundary){boundaryFound=true;break}if(line===end){return}}finally{_l=true}}}catch(e_2_1){e_2={error:e_2_1}}finally{try{if(!_l&&!_d&&(_e=_m.return))yield _e.call(_m)}finally{if(e_2)throw e_2.error}}if(!boundaryFound){break}const child=new MimeNode("");yield child.parse(lines,end);((_g=this.children)!==null&&_g!==void 0?_g:this.children=[]).push(child)}}))}parseHeaders(lines){var _a,e_3,_b,_c;var _d;return __awaiter(this,void 0,void 0,(function*(){let headerName="";let headerValue="";try{for(var _e=true,_f=__asyncValues(lines.read()),_g;_g=yield _f.next(),_a=_g.done,!_a;){_c=_g.value;_e=false;try{const iterator=_c;const value=iterator.trim();if(value.length===0){break}if(/^[\x20\t]/.test(iterator)){headerValue+=wordEncoding.decode(value);continue}if(headerValue){this.setHeader(headerName,headerValue)}const[k,v]=value.split(":",2);headerName=k;headerValue=wordEncoding.decode(v.trim())}finally{_e=true}}}catch(e_3_1){e_3={error:e_3_1}}finally{try{if(!_e&&!_a&&(_b=_f.return))yield _b.call(_f)}finally{if(e_3)throw e_3.error}}if(headerValue){this.setHeader(headerName,headerValue)}const ct=this.header("Content-Type");this.contentType.parse(ct);this.setHeader("Content-Type",ct);const cd=this.header("Content-Disposition");if(cd){(_d=this.contentDisposition)!==null&&_d!==void 0?_d:this.contentDisposition=new HeaderContentDisposition;this.contentDisposition.parse(cd);this.setHeader("Content-Disposition",cd)}}))}save(writer){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){if(this.textContent){this.contentType.charset="UTF-8"}if((_a=this.children)===null||_a===void 0?void 0:_a.length){(_c=this.contentType).boundary||(_c.boundary=`${Date.now()}-${Date.now()}-${Date.now()}`)}for(const[key,element]of this.headers.entries()){switch(key){case"content-disposition":writer.writeLine(`Content-Disposition: ${this.contentDisposition}`);continue;case"content-type":writer.writeLine(`Content-Type:${this.contentType.toString()}`);continue;case"subject":writer.writeLine(`${key}: ${wordEncoding.encode(element,true)}`);continue}writer.writeLine(`${key}: ${element}`)}writer.writeLine("");if((_b=this.children)===null||_b===void 0?void 0:_b.length){const boundary=`--${this.contentType.boundary}`;for(const iterator of this.children){writer.writeLine(boundary);yield iterator.save(writer);writer.writeLine("")}writer.writeLine(boundary+"--");return}if(this.blobData){const base64=yield RawBuffer.toBase64Async(this.blobData);let start=0;const max=80;for(;;){if(start+max>base64.length){writer.writeLine(base64.substring(start));break}writer.writeLine(base64.substring(start,start+max));start+=max}writer.writeLine("");return}let text=this.textContent;if(this.contentTransferEncoding==="quoted-printable"){text=quotedPrintable.encode(RawBuffer.encode(text))}writer.writeLine(RawBuffer.encode(text));writer.writeLine("");return}))}*enumerate(){yield this;if(!this.children){return}for(const iterator of this.children){yield*iterator.enumerate()}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeNode");System.register(["tslib","../tokenizer"],(function(_export,_context){"use strict";var __asyncGenerator,__await,tokenize,LineStream,StringLineStream,ReadableLineStream;_export({default:void 0,StringLineStream:void 0,ReadableLineStream:void 0});return{setters:[function(_tslib){__asyncGenerator=_tslib.__asyncGenerator;__await=_tslib.__await},function(_tokenizer){tokenize=_tokenizer.tokenize}],execute:function(){_export("default",LineStream=class LineStream{read(){var _a;return __asyncGenerator(this,arguments,(function*read_1(){const g=(_a=this.g)!==null&&_a!==void 0?_a:this.g=this.lines();for(;;){const{value,done}=yield __await(g.next());if(done){break}yield yield __await(value)}}))}});_export("StringLineStream",StringLineStream=class StringLineStream extends LineStream{constructor(text){super();this.text=text}lines(){return __asyncGenerator(this,arguments,(function*lines_1(){for(const iterator of tokenize(this.text,"\n")){yield yield __await(iterator)}}))}});_export("ReadableLineStream",ReadableLineStream=class ReadableLineStream extends LineStream{constructor(readable){super();this.readable=readable}lines(){return __asyncGenerator(this,arguments,(function*lines_2(){const utf8Decoder=new TextDecoder("utf-8");const reader=this.readable.getReader();let{value:chunk,done:readerDone}=yield __await(reader.read());chunk=chunk?utf8Decoder.decode(chunk,{stream:true}):"";const re=/\r\n|\n|\r/gm;let startIndex=0;for(;;){const result=re.exec(chunk);if(!result){if(readerDone){break}const remainder=chunk.substr(startIndex);({value:chunk,done:readerDone}=yield __await(reader.read()));chunk=remainder+(chunk?utf8Decoder.decode(chunk,{stream:true}):"");startIndex=re.lastIndex=0;continue}yield yield __await(chunk.substring(startIndex,result.index));startIndex=re.lastIndex}if(startIndex<chunk.length){yield yield __await(chunk.substr(startIndex))}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream");System.register([],(function(_export,_context){"use strict";var TextWriter,BlobWriter;_export({default:void 0,BlobWriter:void 0});return{setters:[],execute:function(){_export("default",TextWriter=class TextWriter{});_export("BlobWriter",BlobWriter=class BlobWriter extends TextWriter{constructor(){super(...arguments);this.lines=[]}writeLine(line){this.lines.push(line)}toBlob(){const all=this.lines.join("\n");return new Blob([all],{})}toString(){return this.lines.join("\n")}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter");System.register(["tslib","./MimeNode","./stream/LineStream","./stream/TextWriter"],(function(_export,_context){"use strict";var __awaiter,MimeNode,ReadableLineStream,BlobWriter,MimeMessage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_MimeNode){MimeNode=_MimeNode.MimeNode},function(_streamLineStream){ReadableLineStream=_streamLineStream.ReadableLineStream},function(_streamTextWriter){BlobWriter=_streamTextWriter.BlobWriter}],execute:function(){_export("default",MimeMessage=class MimeMessage{static load(reader,name,inline){return __awaiter(this,void 0,void 0,(function*(){const node=new MimeNode;if(name){node.setHeader("X-Name",name)}yield node.parse(new ReadableLineStream(reader));const attachments=yield node.attachments();const msg=new MimeMessage(node,attachments);if(inline){yield msg.inlineImages()}return msg}))}get name(){return this.node.header("x-name")}get html(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/html"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set html(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/html",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get text(){var _a,_b;const alternative=this.node.getFirstChild("multipart/alternative");return(_b=(_a=alternative===null||alternative===void 0?void 0:alternative.getFirstChild("text/plain"))===null||_a===void 0?void 0:_a.text)!==null&&_b!==void 0?_b:""}set text(v){const alternative=this.node.getFirstChild("multipart/alternative",true);const htmlMime=alternative.getFirstChild("text/plain",true);htmlMime.contentTransferEncoding="quoted-printable";htmlMime.text=v;htmlMime.contentType.charset="UTF-8"}get subject(){var _a;return(_a=this.node.header("subject"))!==null&&_a!==void 0?_a:""}set subject(v){this.node.setHeader("subject",v)}constructor(node=new MimeNode("multipart/mixed"),attachments=[]){this.node=node;this.attachments=attachments}save(){return __awaiter(this,void 0,void 0,(function*(){const blobWriter=new BlobWriter;yield this.node.save(blobWriter);return blobWriter.toBlob()}))}inlineImages(){return __awaiter(this,void 0,void 0,(function*(){let text=this.html;if(!text){return}for(const iterator of this.attachments){if(iterator.contentId){const encoded=iterator.node.encoded;text=text.split(`cid:${iterator.contentId}`).join(`data://${iterator.type},${encoded}`)}}}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/mime-service/MimeMessage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/XNode","../../controls/tree/TreeView","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/style/styled","../../../services/mime-service/MimeMessage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,CloudFileService,XNode,TreeView,AppFile,InjectProperty,SaveIconTextButton,Bind,styled,MimeMessage,ChooserTemplatePage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsTreeTreeView){TreeView=_controlsTreeTreeView.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default}],execute:function(){css=styled.css`
1739
1739
  display: grid;
1740
1740
  grid-template-columns: auto auto;
1741
1741
 
@@ -2365,7 +2365,7 @@ and limitations under the License.
2365
2365
  padding-left: 5px;
2366
2366
  margin-left: 0px;
2367
2367
  }
2368
- `.withOrder("medium").installGlobal("*[data-date-field=date-field]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/date-field-style");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/DateTime","./Calendar","./InlinePopup","./TimeEditor","@web-atoms/date-time/dist/TimeSpan","./styles/date-field-style"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomControl,DateTime,Calendar,InlinePopup,InlinePopupButton,TimeEditor,TimeSpan,DateField;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_Calendar){Calendar=_Calendar.default},function(_InlinePopup){InlinePopup=_InlinePopup.default;InlinePopupButton=_InlinePopup.InlinePopupButton},function(_TimeEditor){TimeEditor=_TimeEditor.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_stylesDateFieldStyle){}],execute:function(){_export("default",DateField=class DateField extends AtomControl{constructor(app,e=document.createElement("button")){super(app,e)}preCreate(){this.prompt="Select";this.enableTime=false;this.value=null;this.format=(d,showTime)=>showTime?d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short",hour12:true,hour:"numeric",minute:"2-digit"}):d===null||d===void 0?void 0:d.toLocaleDateString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short"});const owner=this;class CalendarPopup extends InlinePopup{create(){var _a;this.owner=owner;this.type="AM";const now=DateTime.from((_a=owner.value)!==null&&_a!==void 0?_a:DateTime.today.addHours(owner.hour||0).addMinutes(owner.minute||0));this.time=new TimeSpan(0,now.hour,now.minute);super.create();const yearStart=typeof this.owner.yearStart==="number"?this.owner.yearStart:-10;const yearEnd=typeof this.owner.yearEnd==="number"?this.owner.yearEnd:10;const year=typeof this.owner.year==="number"?this.owner.year:now.year;this.render(XNode.create("div",{class:"calendar-popup"},XNode.create(Calendar,{yearStart,yearEnd,year,"event-item-select":Bind.event(((s,e)=>{if(e.detail.disabled){return}this.save(e.detail.value)})),enableFunc:Bind.oneTime((()=>this.owner.enableFunc)),value:Bind.oneWay((()=>this.owner.value))}),this.owner.enableTime&&XNode.create(TimeEditor,{time:Bind.twoWays((()=>this.time))}),XNode.create("button",{class:"clear",text:"Clear","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save()}}),XNode.create("button",{class:"today",text:"Today","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save(DateTime.today.asJSDate)}})));this.runAfterInit((()=>{if(this.element){this.element.scrollIntoView()}}))}save(d){if(!d){this.owner.value=d;this.close(d);return}let date=DateTime.from(d);if(this.owner.enableTime){date=date.add(this.time)}this.owner.value=date.asJSDate;this.close(date)}}this.render(XNode.create(InlinePopupButton,{"data-layout":"flex","data-date-field":"date-field",text:Bind.oneWay((()=>{var _a;return((_a=this.format)===null||_a===void 0?void 0:_a.call(this,this.value,this.enableTime))||this.prompt}))},XNode.create(CalendarPopup,null)))}});__decorate([BindableProperty,__metadata("design:type",Date)],DateField.prototype,"value",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"format",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"hour",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"minute",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DateField.prototype,"prompt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DateField");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","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/core/dist/core/Bind","../../../../common/controls/drop-downs/user/UserDropDown","../../../../common/controls/buttons/IconButton","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,XNode,Form,FormField,Switch,Bind,UserDropDown,SaveIconTextButton,DateTime,DateField,Select,Action,InjectProperty,FileShareService,AddSharePage,rights,externalRights;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSwitch){Switch=_webAtomsWebControlsDistBasicSwitch.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicDateField){DateField=_webAtomsWebControlsDistBasicDateField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default}],execute:function(){rights=[{label:"Read",value:"read"},{label:"Write",value:"write"},{label:"Delegate (Read+Write+Share)",value:"delegate"}];externalRights=[{label:"Read",value:"read"},{label:"Write",value:"write"}];_export("default",AddSharePage=class AddSharePage extends PopupWindowPage{constructor(){super(...arguments);this.external=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`Create new Share for ${this.parameters.name}`;const fileID=this.parameters.appFileID;this.model=AppFileAccess.create({fileID,expires:DateTime.today.addMonths(1),type:"read",externalUser:{name:"",emailAddress:""}});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:this.parameters.isFolder?"Folder":"File"},XNode.create("div",{text:this.parameters.name})),XNode.create("div",{"data-layout":"row"},XNode.create(Switch,{checked:Bind.twoWaysImmediate((()=>this.external))}),XNode.create("div",{text:"External User"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.external)),label:"Search User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.name))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.emailAddress))})),XNode.create(FormField,{label:"Rights"},XNode.create(Select,{labelPath:item=>item.label,valuePath:item=>item.value,items:Bind.oneWay((()=>this.external?externalRights:rights)),value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Expires"},XNode.create(DateField,{value:Bind.twoWaysImmediate((()=>this.model.expires))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-share",text:"Create"}))))}))}saveShare(){return __awaiter(this,void 0,void 0,(function*(){const model=Object.assign({},this.model);if(!this.external){delete model.externalUser}yield this.fileShareService.save(model);model.file=this.parameters;return model}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],AddSharePage.prototype,"fileShareService",void 0);__decorate([Action({onEvent:"save-share",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSharePage.prototype,"saveShare",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./AddSharePage","../../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InjectProperty,FileShareService,AddIconTextButton,Action,PageNavigator,AddSharePage,DateFormats,EditSharesPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_AddSharePage){AddSharePage=_AddSharePage.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){_export("default",EditSharesPage=class EditSharesPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.name} - Share Settings`;this.list=(_a=yield this.shareService.list(this.parameters.appFileID))!==null&&_a!==void 0?_a:[];this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:this.list,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.user.userName}),XNode.create("div",{text:item.type}),item.expires&&XNode.create("div",{text:DateFormats.relative.short(item.expires)}),item.accessCode?XNode.create("i",{title:"Copy Link",class:"fas fa-link"}):XNode.create("span",null))}),XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"create-share-link",text:"Create Share Link"})));if(!this.list.length){yield this.createShareLink()}}))}createShareLink(){return __awaiter(this,void 0,void 0,(function*(){const item=yield PageNavigator.pushPageForResult(AddSharePage,this.parameters);this.list.add(item)}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],EditSharesPage.prototype,"shareService",void 0);__decorate([Action({onEvent:"create-share-link"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSharesPage.prototype,"createShareLink",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../common/controls/html/InlineHtmlEditorWithToolbar","../../../services/mime-service/MimeNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/mime-service/MimeMessage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/web/core/AtomUI","../../../services/mime-service/stream/TextWriter","../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,Bind,InlineHtmlEditorWithToolbar,MimeNode,Form,FormField,SaveIconTextButton,Action,MimeMessage,AtomRepeater,descendentElementIterator,BlobWriter,LocalFileService,EditTemplatePage;_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(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_servicesMimeServiceMimeNode){MimeNode=_servicesMimeServiceMimeNode.MimeNode},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_servicesMimeServiceStreamTextWriter){BlobWriter=_servicesMimeServiceStreamTextWriter.BlobWriter},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){_export("default",EditTemplatePage=class EditTemplatePage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.loadModel(this.parameters.file);this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"File Name:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Subject:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.subject))})),XNode.create(InlineHtmlEditorWithToolbar,{inlineImage:true,presenter:Bind.presenter((c=>this.editor=c)),"event-content-ready":()=>this.setupEditable(),content:this.model.htmlBody,"style-min-height":"200px"}),XNode.create(AtomRepeater,{items:this.model.attachments,"data-layout":"flex-wrap-padding",itemRenderer:item=>XNode.create("div",null,XNode.create("i",{class:"fas fa-file"}),XNode.create("span",{text:item.name}))}),XNode.create("div",null,XNode.create(SaveIconTextButton,{"data-click-event":"save-template",text:"Save"}))))}))}loadModel(file){return __awaiter(this,void 0,void 0,(function*(){if(file.appFileID){const data=yield fetch(file.url);const node=yield MimeMessage.load(data.body,file.name);const name=node.name;const htmlBody=node.html;const attachments=node.attachments;const subject=node.subject;return{node:node.node,mime:node,name,subject,htmlBody,attachments}}return{name:"Template 1",subject:"Template Subject",htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`,attachments:[]}}))}saveTemplate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{html,text}=this.editor.htmlTextContent;const root=MimeNode.createMessage({subject:this.model.subject,name:this.model.name,html,text,attachments:this.model.attachments});const blobWriter=new BlobWriter;yield root.save(blobWriter);const blob=blobWriter.toBlob();const localFileService=this.resolve(LocalFileService);const file=new File([blob],this.model.name,{type:"message/rfc822"});const appFileID=(_b=(_a=this.parameters.file)===null||_a===void 0?void 0:_a.appFileID)!==null&&_b!==void 0?_b:void 0;const parentID=appFileID?void 0:this.parameters.file.parentID;yield localFileService.uploadWithProgress([file],{appFileID,parentID})}))}setupEditable(){const editor=this.editor.editor;if(editor.isContentEditable){return}for(const node of descendentElementIterator(editor)){if(node.isContentEditable){return}}editor.contentEditable="true"}});__decorate([Action({onEvent:"save-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditTemplatePage.prototype,"saveTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,DISingleton,FetchBuilder,mimeMap,MimeTypeService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){mimeMap=void 0;MimeTypeService=class MimeTypeService{getMimeType(fileName){return __awaiter(this,void 0,void 0,(function*(){mimeMap!==null&&mimeMap!==void 0?mimeMap:mimeMap=this.createMap();const map=yield mimeMap;const group=/\.([^\.]+)$/.exec(fileName);if(group){const ct=map.get(group[1]);if(ct){return ct}}return"application/octat-stream"}))}createMap(){return __awaiter(this,void 0,void 0,(function*(){const json=yield FetchBuilder.get("https://cdn.jsdelivr.net/gh/jshttp/mime-db@master/db.json").responseAsJson();const map=new Map;setTimeout((()=>mimeMap=null),6e4);for(const key in json){if(Object.prototype.hasOwnProperty.call(json,key)){const{extensions}=json[key];if(extensions){for(const iterator of extensions){map.set(iterator,key)}}}}return map}))}};MimeTypeService=__decorate([DISingleton()],MimeTypeService);_export("default",MimeTypeService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/MimeTypeService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/types","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/InjectProperty","../../../../web/page/files/service/CloudFileService","../../../../services/files/MimeTypeService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Action,UMD,FetchBuilder,InjectProperty,CloudFileService,MimeTypeService,ChooseWebSiteTemplatePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_servicesFilesMimeTypeService){MimeTypeService=_servicesFilesMimeTypeService.default}],execute:function(){_export("default",ChooseWebSiteTemplatePage=class ChooseWebSiteTemplatePage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("button",{"data-click-event":"create-template",text:"Create From Template"}))}))}createTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template="plain";yield this.upload("index.html",template);yield this.upload("vars.css",template,"styles")}))}upload(fileName,template,folder=void 0){return __awaiter(this,void 0,void 0,(function*(){const templatePath=folder?`${folder}/${fileName}`:fileName;const path=UMD.resolvePath(`@social-mail/social-mail-client/content/templates/${template}/${templatePath}`);const content=yield FetchBuilder.get(path).responseAsText();const contentType=yield this.mimeTypeService.getMimeType(fileName);yield this.cloudFileService.saveFile({content:new File([content],fileName,{type:contentType}),parentID:this.parameters.appFileID,folder})}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseWebSiteTemplatePage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",MimeTypeService)],ChooseWebSiteTemplatePage.prototype,"mimeTypeService",void 0);__decorate([Action({onEvent:"create-template",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseWebSiteTemplatePage.prototype,"createTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage");System.register(["tslib","@web-atoms/core/dist/core/XNode","./TreeView","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,TreeView,BindableProperty,InjectProperty,CloudFileService,Bind,Action,InlinePopupButton,MenuItem,UploadEvent,FolderTreeView,FileTreeView,getExtension;_export({FolderTreeView:void 0,FileTreeView:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_TreeView){TreeView=_TreeView.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("FolderTreeView",FolderTreeView=class FolderTreeView extends TreeView{constructor(app,e){super(app,e);this.childrenProperty=item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]};this.canSelect=item=>item.isFolder;this.isFolder=item=>item.isFolder;this.fileIconRenderer=item=>XNode.create("i",{"data-click-event":"none",class:`fiv-viv fiv-icon-${getExtension(item.name)}`});this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name});this.actionRenderer=item=>this.root===item?XNode.create("i",{"data-cursor":"pointer",title:"New Folder","data-click-event":"new-folder",class:"fas fa-plus"}):XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})));this.render(XNode.create("div",{folder:Bind.oneWayAsync(((c,_,cancelToken)=>this.loadFolder(this.folderId,this.accept,cancelToken)))}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item)}))}onDeleteItem(file){var _a;return __awaiter(this,void 0,void 0,(function*(){file.isDeleted=true;yield this.cloudFileService.save(file);const e=this.map.get(file);const prev=(_a=e.previousElementSibling)!==null&&_a!==void 0?_a:e.parentElement;e.remove();this.selectedItem=prev.dataItem;this.element.dispatchEvent(new CustomEvent("file-deleted",{detail:file,bubbles:true}))}))}onNewFolder(file){var _a;return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter new name of new folder","");if(!name){return}const parentID=file.appFileID;const child=yield this.cloudFileService.createFolder({name,parentID});((_a=file.children)!==null&&_a!==void 0?_a:file.children=[]).add(child)}))}onRenameItem(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Enter new name of the file",file.name);if(!newName||newName===file.name){return}file.name=newName;yield this.cloudFileService.save(file)}))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.getFolder(folder,cancelToken);this.root=f;this.selectedItem=f}))}});__decorate([BindableProperty,__metadata("design:type",String)],FolderTreeView.prototype,"accept",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],FolderTreeView.prototype,"folderId",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderTreeView.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-file",confirm:"Are you sure you want to delete the selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onDeleteItem",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onNewFolder",null);__decorate([Action({onEvent:"rename-file"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onRenameItem",null);_export("FileTreeView",FileTreeView=class FileTreeView extends FolderTreeView{constructor(app,e){super(app,e);this.canSelect=item=>!item.isFolder;this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name,"data-click-event":x.isFolder?"none":"select-item"});this.actionRenderer=item=>XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),item.isFolder&&XNode.create(MenuItem,Object.assign({"data-click-event":"none",icon:"fas fa-upload",label:"Upload File","data-extra":JSON.stringify({parentID:item.appFileID})},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}))),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.root({id:folder,cancelToken});this.root=f}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView");System.register([],(function(_export,_context){"use strict";function InstallDragDropHelper(editor){let dragged;const document=editor.htmlDocument;const dropTarget=editor.dropTarget;document.addEventListener("dragstart",(e=>{dragged=e.target;e.dataTransfer.dropEffect="move";e.dataTransfer.setDragImage(dragged,0,0)}));document.addEventListener("dragover",(e=>{const target=e.target;e.preventDefault();e.dataTransfer.dropEffect="copy";const b=target.getBoundingClientRect();const mp={x:e.clientX,y:e.clientY};const style=document.defaultView.getComputedStyle(target);const isHorizontal=style.display==="flex"&&(style.flexDirection==="row"||style.flexWrap)||style.display==="inline-block"||style.display==="inline"||target.tagName==="TD";if(isHorizontal){if(mp.x>b.left+b.width/2){dropTarget.dropAnchor="right";dropTarget.update(target);return}dropTarget.dropAnchor="left";dropTarget.update(target);return}if(mp.y>b.top+b.height/2){dropTarget.dropAnchor="bottom";dropTarget.update(target);return}dropTarget.dropAnchor="top";dropTarget.update(target)}));document.addEventListener("dragend",(e=>{e.preventDefault();dropTarget.clear();dragged=null}));document.addEventListener("drop",(e=>{const target=e.target;let insert;e.preventDefault();if(dragged){dragged.remove();insert=dragged}else{dragged=null;const div=document.createElement("div");div.innerHTML=e.dataTransfer.getData("text/html");insert=div.childElementCount>1?div:div.firstElementChild}if(target.childElementCount===0){target.appendChild(insert);dropTarget.clear();editor.commit();return}switch(dropTarget.dropAnchor){case"top":case"left":target.insertAdjacentElement("beforebegin",insert);break;case"bottom":case"right":target.insertAdjacentElement("afterend",insert);break}editor.commit();dropTarget.clear()}));document.addEventListener("dragleave",(e=>{dropTarget.clear()}));setTimeout((()=>{editor.commit();document.body.querySelectorAll("*").forEach((e=>e.draggable=true))}),100)}_export("InstallDragDropHelper",InstallDragDropHelper);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/drag-drop/DragDropHelper");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var XNode,styled;function EditorToolbar(a,...nodes){return XNode.create("div",Object.assign({"data-html-editor-element":"toolbar"},a),...nodes)}_export("default",EditorToolbar);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
2368
+ `.withOrder("medium").installGlobal("*[data-date-field=date-field]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/date-field-style");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/DateTime","./Calendar","./InlinePopup","./TimeEditor","@web-atoms/date-time/dist/TimeSpan","./styles/date-field-style"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomControl,DateTime,Calendar,InlinePopup,InlinePopupButton,TimeEditor,TimeSpan,DateField;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_Calendar){Calendar=_Calendar.default},function(_InlinePopup){InlinePopup=_InlinePopup.default;InlinePopupButton=_InlinePopup.InlinePopupButton},function(_TimeEditor){TimeEditor=_TimeEditor.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_stylesDateFieldStyle){}],execute:function(){_export("default",DateField=class DateField extends AtomControl{constructor(app,e=document.createElement("button")){super(app,e)}preCreate(){this.prompt="Select";this.enableTime=false;this.value=null;this.format=(d,showTime)=>showTime?d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short",hour12:true,hour:"numeric",minute:"2-digit"}):d===null||d===void 0?void 0:d.toLocaleDateString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short"});const owner=this;class CalendarPopup extends InlinePopup{create(){var _a;this.owner=owner;this.type="AM";const now=DateTime.from((_a=owner.value)!==null&&_a!==void 0?_a:DateTime.today.addHours(owner.hour||0).addMinutes(owner.minute||0));this.time=new TimeSpan(0,now.hour,now.minute);super.create();const yearStart=typeof this.owner.yearStart==="number"?this.owner.yearStart:-10;const yearEnd=typeof this.owner.yearEnd==="number"?this.owner.yearEnd:10;const year=typeof this.owner.year==="number"?this.owner.year:now.year;this.render(XNode.create("div",{class:"calendar-popup"},XNode.create(Calendar,{yearStart,yearEnd,year,"event-item-select":Bind.event(((s,e)=>{if(e.detail.disabled){return}this.save(e.detail.value)})),enableFunc:Bind.oneTime((()=>this.owner.enableFunc)),value:Bind.oneWay((()=>this.owner.value))}),this.owner.enableTime&&XNode.create(TimeEditor,{time:Bind.twoWays((()=>this.time))}),XNode.create("button",{class:"clear",text:"Clear","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save()}}),XNode.create("button",{class:"today",text:"Today","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save(DateTime.today.asJSDate)}})));this.runAfterInit((()=>{if(this.element){this.element.scrollIntoView()}}))}save(d){if(!d){this.owner.value=d;this.close(d);return}let date=DateTime.from(d);if(this.owner.enableTime){date=date.add(this.time)}this.owner.value=date.asJSDate;this.close(date)}}this.render(XNode.create(InlinePopupButton,{"data-layout":"flex","data-date-field":"date-field",text:Bind.oneWay((()=>{var _a;return((_a=this.format)===null||_a===void 0?void 0:_a.call(this,this.value,this.enableTime))||this.prompt}))},XNode.create(CalendarPopup,null)))}});__decorate([BindableProperty,__metadata("design:type",Date)],DateField.prototype,"value",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"format",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"hour",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"minute",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DateField.prototype,"prompt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DateField");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","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/core/dist/core/Bind","../../../../common/controls/drop-downs/user/UserDropDown","../../../../common/controls/buttons/IconButton","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,XNode,Form,FormField,Switch,Bind,UserDropDown,SaveIconTextButton,DateTime,DateField,Select,Action,InjectProperty,FileShareService,AddSharePage,rights,externalRights;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSwitch){Switch=_webAtomsWebControlsDistBasicSwitch.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicDateField){DateField=_webAtomsWebControlsDistBasicDateField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default}],execute:function(){rights=[{label:"Read",value:"read"},{label:"Write",value:"write"},{label:"Delegate (Read+Write+Share)",value:"delegate"}];externalRights=[{label:"Read",value:"read"},{label:"Write",value:"write"}];_export("default",AddSharePage=class AddSharePage extends PopupWindowPage{constructor(){super(...arguments);this.external=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`Create new Share for ${this.parameters.name}`;const fileID=this.parameters.appFileID;this.model=AppFileAccess.create({fileID,expires:DateTime.today.addMonths(1),type:"read",externalUser:{name:"",emailAddress:""}});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:this.parameters.isFolder?"Folder":"File"},XNode.create("div",{text:this.parameters.name})),XNode.create("div",{"data-layout":"row"},XNode.create(Switch,{checked:Bind.twoWaysImmediate((()=>this.external))}),XNode.create("div",{text:"External User"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.external)),label:"Search User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.name))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.emailAddress))})),XNode.create(FormField,{label:"Rights"},XNode.create(Select,{labelPath:item=>item.label,valuePath:item=>item.value,items:Bind.oneWay((()=>this.external?externalRights:rights)),value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Expires"},XNode.create(DateField,{value:Bind.twoWaysImmediate((()=>this.model.expires))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-share",text:"Create"}))))}))}saveShare(){return __awaiter(this,void 0,void 0,(function*(){const model=Object.assign({},this.model);if(!this.external){delete model.externalUser}yield this.fileShareService.save(model);model.file=this.parameters;return model}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],AddSharePage.prototype,"fileShareService",void 0);__decorate([Action({onEvent:"save-share",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSharePage.prototype,"saveShare",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./AddSharePage","../../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InjectProperty,FileShareService,AddIconTextButton,Action,PageNavigator,AddSharePage,DateFormats,EditSharesPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_AddSharePage){AddSharePage=_AddSharePage.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){_export("default",EditSharesPage=class EditSharesPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.name} - Share Settings`;this.list=(_a=yield this.shareService.list(this.parameters.appFileID))!==null&&_a!==void 0?_a:[];this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:this.list,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.user.userName}),XNode.create("div",{text:item.type}),item.expires&&XNode.create("div",{text:DateFormats.relative.short(item.expires)}),item.accessCode?XNode.create("i",{title:"Copy Link",class:"fas fa-link"}):XNode.create("span",null))}),XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"create-share-link",text:"Create Share Link"})));if(!this.list.length){yield this.createShareLink()}}))}createShareLink(){return __awaiter(this,void 0,void 0,(function*(){const item=yield PageNavigator.pushPageForResult(AddSharePage,this.parameters);this.list.add(item)}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],EditSharesPage.prototype,"shareService",void 0);__decorate([Action({onEvent:"create-share-link"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSharesPage.prototype,"createShareLink",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../common/controls/html/InlineHtmlEditorWithToolbar","../../../services/mime-service/MimeNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/mime-service/MimeMessage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/web/core/AtomUI","../../../services/mime-service/stream/TextWriter","../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,Bind,InlineHtmlEditorWithToolbar,MimeNode,Form,FormField,SaveIconTextButton,Action,MimeMessage,AtomRepeater,descendentElementIterator,BlobWriter,LocalFileService,EditTemplatePage;_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(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_servicesMimeServiceMimeNode){MimeNode=_servicesMimeServiceMimeNode.MimeNode},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_servicesMimeServiceStreamTextWriter){BlobWriter=_servicesMimeServiceStreamTextWriter.BlobWriter},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){_export("default",EditTemplatePage=class EditTemplatePage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.loadModel(this.parameters.file);this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"File Name:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Subject:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.subject))})),XNode.create(InlineHtmlEditorWithToolbar,{inlineImage:true,presenter:Bind.presenter((c=>this.editor=c)),"event-content-ready":()=>this.setupEditable(),content:this.model.htmlBody,"style-min-height":"200px"}),XNode.create(AtomRepeater,{items:this.model.attachments,"data-layout":"flex-wrap-padding",itemRenderer:item=>XNode.create("div",null,XNode.create("i",{class:"fas fa-file"}),XNode.create("span",{text:item.name}))}),XNode.create("div",null,XNode.create(SaveIconTextButton,{"data-click-event":"save-template",text:"Save"}))))}))}loadModel(file){return __awaiter(this,void 0,void 0,(function*(){if(file.appFileID){const data=yield fetch(file.url);const node=yield MimeMessage.load(data.body,file.name);const name=node.name;const htmlBody=node.html;const attachments=node.attachments;const subject=node.subject;return{node:node.node,mime:node,name,subject,htmlBody,attachments}}return{name:"Template 1",subject:"Template Subject",htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`,attachments:[]}}))}saveTemplate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{html,text}=this.editor.htmlTextContent;const root=MimeNode.createMessage({subject:this.model.subject,name:this.model.name,html,text,attachments:this.model.attachments});const blobWriter=new BlobWriter;yield root.save(blobWriter);const blob=blobWriter.toBlob();const localFileService=this.resolve(LocalFileService);const file=new File([blob],this.model.name,{type:"message/rfc822"});const appFileID=(_b=(_a=this.parameters.file)===null||_a===void 0?void 0:_a.appFileID)!==null&&_b!==void 0?_b:void 0;const parentID=appFileID?void 0:this.parameters.file.parentID;yield localFileService.uploadWithProgress([file],{appFileID,parentID})}))}setupEditable(){const editor=this.editor.editor;if(editor.isContentEditable){return}for(const node of descendentElementIterator(editor)){if(node.isContentEditable){return}}editor.contentEditable="true"}});__decorate([Action({onEvent:"save-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditTemplatePage.prototype,"saveTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,DISingleton,FetchBuilder,mimeMap,MimeTypeService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){mimeMap=void 0;MimeTypeService=class MimeTypeService{getMimeType(fileName){return __awaiter(this,void 0,void 0,(function*(){mimeMap!==null&&mimeMap!==void 0?mimeMap:mimeMap=this.createMap();const map=yield mimeMap;const group=/\.([^\.]+)$/.exec(fileName);if(group){const ct=map.get(group[1]);if(ct){return ct}}return"application/octat-stream"}))}createMap(){return __awaiter(this,void 0,void 0,(function*(){const json=yield FetchBuilder.get("https://cdn.jsdelivr.net/gh/jshttp/mime-db@master/db.json").responseAsJson();const map=new Map;setTimeout((()=>mimeMap=null),6e4);for(const key in json){if(Object.prototype.hasOwnProperty.call(json,key)){const{extensions}=json[key];if(extensions){for(const iterator of extensions){map.set(iterator,key)}}}}return map}))}};MimeTypeService=__decorate([DISingleton()],MimeTypeService);_export("default",MimeTypeService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/MimeTypeService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/types","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/InjectProperty","../../../../web/page/files/service/CloudFileService","../../../../services/files/MimeTypeService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Action,UMD,FetchBuilder,InjectProperty,CloudFileService,MimeTypeService,ChooseWebSiteTemplatePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_servicesFilesMimeTypeService){MimeTypeService=_servicesFilesMimeTypeService.default}],execute:function(){_export("default",ChooseWebSiteTemplatePage=class ChooseWebSiteTemplatePage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("button",{"data-click-event":"create-template",text:"Create From Template"}))}))}createTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template="plain";yield this.upload("index.html",template);yield this.upload("vars.css",template,"styles")}))}upload(fileName,template,folder=void 0){return __awaiter(this,void 0,void 0,(function*(){const templatePath=folder?`${folder}/${fileName}`:fileName;const path=UMD.resolvePath(`@social-mail/social-mail-client/content/templates/${template}/${templatePath}`);const content=yield FetchBuilder.get(path).responseAsText();const contentType=yield this.mimeTypeService.getMimeType(fileName);yield this.cloudFileService.saveFile({content:new File([content],fileName,{type:contentType}),parentID:this.parameters.appFileID,folder})}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseWebSiteTemplatePage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",MimeTypeService)],ChooseWebSiteTemplatePage.prototype,"mimeTypeService",void 0);__decorate([Action({onEvent:"create-template",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseWebSiteTemplatePage.prototype,"createTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage");System.register(["tslib","@web-atoms/core/dist/core/XNode","./TreeView","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,TreeView,BindableProperty,InjectProperty,CloudFileService,Bind,Action,InlinePopupButton,MenuItem,UploadEvent,FolderTreeView,FileTreeView,getExtension;_export({FolderTreeView:void 0,FileTreeView:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_TreeView){TreeView=_TreeView.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("FolderTreeView",FolderTreeView=class FolderTreeView extends TreeView{constructor(app,e){super(app,e);this.childrenProperty=item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]};this.canSelect=item=>item.isFolder;this.isFolder=item=>item.isFolder;this.fileIconRenderer=item=>XNode.create("i",{"data-click-event":"none",class:`fiv-viv fiv-icon-${getExtension(item.name)}`});this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name});this.actionRenderer=item=>this.root===item?XNode.create("i",{"data-cursor":"pointer",title:"New Folder","data-click-event":"new-folder",class:"fas fa-plus"}):XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})));this.render(XNode.create("div",{folder:Bind.oneWayAsync(((c,_,cancelToken)=>this.loadFolder(this.folderId,this.accept,cancelToken)))}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item)}))}onDeleteItem(file){var _a;return __awaiter(this,void 0,void 0,(function*(){file.isDeleted=true;yield this.cloudFileService.save(file);const e=this.map.get(file);const prev=(_a=e.previousElementSibling)!==null&&_a!==void 0?_a:e.parentElement;e.remove();this.selectedItem=prev.dataItem;this.element.dispatchEvent(new CustomEvent("file-deleted",{detail:file,bubbles:true}))}))}onNewFolder(file){var _a;return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter new name of new folder","");if(!name){return}const parentID=file.appFileID;const child=yield this.cloudFileService.createFolder({name,parentID});((_a=file.children)!==null&&_a!==void 0?_a:file.children=[]).add(child)}))}onRenameItem(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Enter new name of the file",file.name);if(!newName||newName===file.name){return}file.name=newName;yield this.cloudFileService.save(file);const e=this.map.get(file);const{parentItem:{children}}=e;children.set(children.indexOf(file),file)}))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.getFolder(folder,cancelToken);this.root=f;this.selectedItem=f}))}});__decorate([BindableProperty,__metadata("design:type",String)],FolderTreeView.prototype,"accept",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],FolderTreeView.prototype,"folderId",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderTreeView.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-file",confirm:"Are you sure you want to delete the selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onDeleteItem",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onNewFolder",null);__decorate([Action({onEvent:"rename-file"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onRenameItem",null);_export("FileTreeView",FileTreeView=class FileTreeView extends FolderTreeView{constructor(app,e){super(app,e);this.menuActions=null;this.canSelect=item=>!item.isFolder;this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name,"data-click-event":x.isFolder?"none":"select-item"});this.actionRenderer=item=>XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical",popup:()=>{var _a,_b;return XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),item.isFolder&&XNode.create(MenuItem,Object.assign({"data-click-event":"none",icon:"fas fa-upload",label:"Upload File","data-extra":JSON.stringify({parentID:item.appFileID})},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}))),...(_b=(_a=this.menuActions)===null||_a===void 0?void 0:_a.call(this,item))!==null&&_b!==void 0?_b:[],this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"}))}})}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.root({id:folder,cancelToken});this.root=f}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView");System.register([],(function(_export,_context){"use strict";function InstallDragDropHelper(editor){let dragged;const document=editor.htmlDocument;const dropTarget=editor.dropTarget;document.addEventListener("dragstart",(e=>{dragged=e.target;e.dataTransfer.dropEffect="move";e.dataTransfer.setDragImage(dragged,0,0)}));document.addEventListener("dragover",(e=>{const target=e.target;e.preventDefault();e.dataTransfer.dropEffect="copy";const b=target.getBoundingClientRect();const mp={x:e.clientX,y:e.clientY};const style=document.defaultView.getComputedStyle(target);const isHorizontal=style.display==="flex"&&(style.flexDirection==="row"||style.flexWrap)||style.display==="inline-block"||style.display==="inline"||target.tagName==="TD";if(isHorizontal){if(mp.x>b.left+b.width/2){dropTarget.dropAnchor="right";dropTarget.update(target);return}dropTarget.dropAnchor="left";dropTarget.update(target);return}if(mp.y>b.top+b.height/2){dropTarget.dropAnchor="bottom";dropTarget.update(target);return}dropTarget.dropAnchor="top";dropTarget.update(target)}));document.addEventListener("dragend",(e=>{e.preventDefault();dropTarget.clear();dragged=null}));document.addEventListener("drop",(e=>{const target=e.target;let insert;e.preventDefault();if(dragged){dragged.remove();insert=dragged}else{dragged=null;const div=document.createElement("div");div.innerHTML=e.dataTransfer.getData("text/html");insert=div.childElementCount>1?div:div.firstElementChild}if(target.childElementCount===0){target.appendChild(insert);dropTarget.clear();editor.commit();return}switch(dropTarget.dropAnchor){case"top":case"left":target.insertAdjacentElement("beforebegin",insert);break;case"bottom":case"right":target.insertAdjacentElement("afterend",insert);break}editor.commit();dropTarget.clear()}));document.addEventListener("dragleave",(e=>{dropTarget.clear()}));setTimeout((()=>{editor.commit();document.body.querySelectorAll("*").forEach((e=>e.draggable=true))}),100)}_export("InstallDragDropHelper",InstallDragDropHelper);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/drag-drop/DragDropHelper");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var XNode,styled;function EditorToolbar(a,...nodes){return XNode.create("div",Object.assign({"data-html-editor-element":"toolbar"},a),...nodes)}_export("default",EditorToolbar);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
2369
2369
 
2370
2370
  display: flex;
2371
2371
  gap: 10px;
@@ -3213,7 +3213,7 @@ and limitations under the License.
3213
3213
  justify-self: stretch;
3214
3214
  align-self: stretch;
3215
3215
  }
3216
- `.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.some((f=>f.name==="index.html")))){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)}editCode(){return __awaiter(this,void 0,void 0,(function*(){const file=yield PageNavigator.pushPageForResult(CodeEditorPage,this.selectedFile);this.htmlEditor.htmlPage=yield FetchBuilder.get(file.url).responseAsText()}))}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});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.selectedFile.downloadUrl=result.downloadUrl;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:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",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`
3216
+ `.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.some((f=>f.name==="index.html")))){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)),menuActions:x=>!x.isFolder?/\.(htm|html)$/i.test(x.name)?[XNode.create(MenuItem,{icon:"fas fa-copy","data-click-event":"duplicate-html",label:"Duplicate Page"})]:[]:void 0,"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)}editCode(){return __awaiter(this,void 0,void 0,(function*(){const file=yield PageNavigator.pushPageForResult(CodeEditorPage,this.selectedFile);this.htmlEditor.htmlPage=yield FetchBuilder.get(file.url).responseAsText()}))}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});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.selectedFile.downloadUrl=result.downloadUrl;this.pageContent=""}))}duplicateHtml(file){return __awaiter(this,void 0,void 0,(function*(){let{name}=file;name=name.replace(/(\.[^\.]+)$/,(ext=>" Copy"+ext));file=yield this.cloudFileService.save(Object.assign(Object.assign({},file),{appFileID:void 0,children:void 0,parent:void 0,name}));this.root.children.add(file);this.selectedFile=file}))}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:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",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);__decorate([Action({onEvent:"duplicate-html"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"duplicateHtml",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`
3217
3217
  &[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
3218
3218
  grid-template-columns: 150px 1fr auto;
3219
3219
  }