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

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.
@@ -3555,16 +3555,21 @@ html, body {
3555
3555
  z-index: 50;
3556
3556
  }
3557
3557
  }
3558
- `.installGlobal("[data-html-page-editor=html-page-editor]");desktopWidth=992;tabletWidth=768;mobileWidth=480;_export("default",HtmlPageEditor=class HtmlPageEditor extends AtomControl{get htmlPage(){var _a,_b;return(_b=(_a=this.htmlDocument)===null||_a===void 0?void 0:_a.documentElement)===null||_b===void 0?void 0:_b.outerHTML}set htmlPage(v){if(!this.element){return}if(!this.ready){setTimeout((()=>{this.htmlPage=v}),100);return}void this.ready.then((()=>__awaiter(this,void 0,void 0,(function*(){if(!this.htmlDocument){return}const iframe=this.element;if(this.htmlDocument!==iframe.contentDocument){this.htmlDocument=void 0;yield this.loadContentDocument()}this.htmlDocument.open();this.htmlDocument.write(v);this.htmlDocument.addEventListener("click",(e=>{const target=e.target;const previous=this.selection.element;if(previous===null||previous===void 0?void 0:previous.isContentEditable){let start=target;while(start){if(previous===target){return}start=start.parentElement}previous.removeAttribute("contentEditable");this.commit()}e.preventDefault();this.setSelection(target)}));this.htmlDocument.addEventListener("dblclick",(e=>{const target=e.target;e.preventDefault();const element=target.nodeType===Node.ELEMENT_NODE?target:target.parentElement;element.setAttribute("contentEditable","true");this.setSelection(element);if(element.tagName==="IMG"){this.changeImage().catch(console.error)}}));this.htmlDocument.addEventListener("scroll",(e=>{this.hover.update();this.selection.update()}),{passive:true});this.htmlDocument.addEventListener("pointerover",(e=>{let target=e.target;target=target.nodeType===Node.ELEMENT_NODE&&target.tagName?target:target.parentElement;if(this.hover.element===target){return}this.hover.update(target)}),{capture:true});this.htmlDocument.addEventListener("keydown",(e=>{if(e.ctrlKey||e.metaKey){switch(e.key){case"s":this.contentEditor.dispatchEvent(new CustomEvent("savePage",{bubbles:true}));e.preventDefault();break;case"z":this.contentEditor.dispatchEvent(new CustomEvent("undo",{bubbles:true}));e.preventDefault();break;case"y":this.contentEditor.dispatchEvent(new CustomEvent("redo",{bubbles:true}));e.preventDefault();break}}}));InstallDragDropHelper(this);this.htmlDocument.close();setTimeout((()=>{this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){yield this.setStylerSheet();this.loadVariables()}))))}),10)}))))}constructor(app,e){super(app,e);this.selection=new SelectedElement(this);this.undoList=[];this.redoList=[];this.pageVariables=[];this.hover=new SelectedElement(this);this.dropTarget=new SelectedElement(this);this.maxWidth=desktopWidth;this.ready=this.init()}init(){return __awaiter(this,void 0,void 0,(function*(){this.render(XNode.create("div",{"data-html-page-editor":"html-page-editor"},XNode.create("div",{"data-element":"top"},XNode.create(EditorToolbar,{"data-element":"max-width","event-click":()=>this.deferUpdate()},XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===desktopWidth)),"event-click":()=>this.maxWidth=desktopWidth,class:"fas fa-desktop"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===tabletWidth)),"event-click":()=>this.maxWidth=tabletWidth,class:"fas fa-tablet-screen"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===mobileWidth)),"event-click":()=>this.maxWidth=mobileWidth,class:"fas fa-mobile-screen"})),XNode.create(UndoRedoToolbar,null),XNode.create(EditorToolbar,null,XNode.create(CodeCommand,null))),XNode.create(EditorToolbar,{"data-element":"left"},XNode.create(TextBox,null),XNode.create(Image,null),XNode.create(WrapGrid,null),XNode.create(VerticalImageBox,null),XNode.create(ImageBox,null),XNode.create(RightImageBox,null),XNode.create(Card,null),XNode.create(ImageCard,null),XNode.create(RowBox,null),XNode.create(ColumnBox,null),XNode.create(Columns2,null),XNode.create(Columns3,null),XNode.create(List,null)),XNode.create("div",{"data-element":"editor","style-max-width":Bind.oneWay((()=>this.maxWidth>768?"":this.maxWidth+"px"))},XNode.create("div",{"data-element":"resizer"}),XNode.create("div",{"data-element":"drop-target","style-display":Bind.oneWay((()=>this.dropTarget.element?"":"none")),"style-position":"absolute","style-left":Bind.oneWay((()=>this.dropTarget.left)),"style-top":Bind.oneWay((()=>this.dropTarget.top)),"style-width":Bind.oneWay((()=>this.dropTarget.width)),"style-height":Bind.oneWay((()=>this.dropTarget.height))}),XNode.create("div",{"data-element":"selection","style-left":Bind.oneWay((()=>this.selection.left)),"style-top":Bind.oneWay((()=>this.selection.top)),"style-width":Bind.oneWay((()=>this.selection.width)),"style-height":Bind.oneWay((()=>this.selection.height))},XNode.create("div",null,XNode.create("i",{class:"fa-regular fa-arrow-up","event-click":()=>{if(this.selection.element.parentElement!==this.htmlDocument.body){this.selection.update(this.selection.element.parentElement)}}}),XNode.create("i",{"event-click":()=>{this.selection.element.draggable=true},class:"fa-solid fa-up-down-left-right","data-click-event":"start-drag"}),XNode.create("i",{"style-display":Bind.oneWay((()=>this.selection.isImage)),"data-click-event":"change-image",title:"Change Image (Double Click)",class:"fa-solid fa-arrows-rotate-reverse"}),XNode.create("i",{title:"Duplicate","data-click-event":"copy-element",class:"fas fa-copy"}),XNode.create("i",{title:"Delete","data-click-event":"delete-element",class:"fas fa-trash-can"}))),XNode.create("div",{"data-element":"hover","style-left":Bind.oneWay((()=>this.hover.left)),"style-top":Bind.oneWay((()=>this.hover.top)),"style-width":Bind.oneWay((()=>this.hover.width)),"style-height":Bind.oneWay((()=>this.hover.height))},XNode.create("label",{text:Bind.oneWay((()=>this.hover.name))})),XNode.create("div",{"data-element":"content-frame"},XNode.create("iframe",{"data-element":"content-editor"}))),XNode.create("div",{"data-element":"right"},XNode.create("button",{"data-click-event":"open-variables","data-layout":"icon-button"},XNode.create("i",{class:"fas fa-code"}),"Variables"),XNode.create(Properties,null))));yield this.loadContentDocument()}))}buildXNode(node){const build=n=>{const e=this.htmlDocument.createElement(n.name);if(n.attributes){for(const key in n.attributes){if(Object.prototype.hasOwnProperty.call(n.attributes,key)){const element=n.attributes[key];e.setAttribute(key,element)}}}if(n.children){for(const iterator of n.children){e.appendChild(build(iterator))}}return e};return build(node)}deleteElement(){var _a;return __awaiter(this,void 0,void 0,(function*(){const current=this.selection.element;let previous=(_a=current.previousElementSibling)!==null&&_a!==void 0?_a:current.parentElement;current.remove();this.commit();if(!previous.textContent){previous=previous.previousElementSibling.lastElementChild}this.setSelection(previous);yield sleep(100);this.selection.update()}))}copyElement(){const current=this.selection.element;const copy=current.cloneNode(true);current.insertAdjacentElement("afterend",copy);this.commit()}changeImage(){return __awaiter(this,void 0,void 0,(function*(){return this.insertImage(prompt("Image Src",""))}))}onKeyUp(d,ke){if(ke.ctrlKey){switch(ke.key){case"z":ke.preventDefault();this.undo();break;case"y":ke.preventDefault();this.redo();break}}}insertImage(src,style){return __awaiter(this,void 0,void 0,(function*(){let img;if(this.selection.isImage){img=this.selection.element}else{img=this.htmlDocument.createElement("img");this.selection.element.appendChild(img)}img.src=src;img.onload=()=>{this.selection.update();img.onload=null};if(style){for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=style[key];img.style[key]=element}}}this.commit()}))}insertElement(e,parent=this.selection.element){parent.appendChild(e);if(!e.id){e.id="sm-"+Date.now().toString()}setTimeout((()=>{this.setSelection(e);this.commit()}),100)}deferUpdate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){yield sleep(100);(_a=this.hover)===null||_a===void 0?void 0:_a.update();(_b=this.selection)===null||_b===void 0?void 0:_b.update()}))}setSelection(element,commit=true){var _a;const old=(_a=this.selection)===null||_a===void 0?void 0:_a.element;if(old){old.draggable=false}this.selection.update(element);if(commit){this.commit()}}commit(){this.redoList.clear();const lastHtml=this.lastHtml;const clone=this.htmlDocument.documentElement.cloneNode(true);const all=clone.querySelectorAll("*");for(let index=0;index<all.length;index++){const element=all[index];element.removeAttribute("draggable")}const currentHtml=clone.innerHTML;if(!lastHtml){this.lastHtml=currentHtml;return}if(lastHtml===currentHtml){return}this.undoList.add(this.lastHtml);this.lastHtml=currentHtml;this.element.dispatchEvent(new CustomEvent("htmlPageChanged",{detail:currentHtml,bubbles:true}));AtomBinder.refreshValue(this,"htmlPage");setTimeout((()=>{this.selection.update();this.hover.update()}),100)}undo(){this.redoList.insert(this.redoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.undoList.removeAt(this.undoList.length-1)}redo(){this.undoList.insert(this.undoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.redoList.removeAt(this.redoList.length-1)}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;let style=document.querySelector(`[styler-style-sheet]`);if(!style){style=document.createElement("style");style.setAttribute("styler-style-sheet","inline");document.head.appendChild(style)}style.textContent=StylerSet.instance.toString()}))}loadVariables(){const onChange=()=>{const document=this.htmlDocument;let style=document.querySelector("[styler-style-variables]");if(!style){style=document.createElement("style");style.setAttribute("styler-style-variables","override");document.head.appendChild(style)}style.textContent=`:root {\n ${this.pageVariables.map((x=>`${x.propertyName}: ${x.currentValue};`)).join("\n\t")}\n }`};this.pageVariables=StylerSet.instance.vars.map((x=>new StylerVariable(x.name,x.value,this.htmlDocument,onChange)))}loadContentDocument(){return __awaiter(this,void 0,void 0,(function*(){this.contentEditor=this.element.querySelector(`[data-element="content-editor"]`);while(!this.htmlDocument){this.htmlDocument=this.contentEditor.contentDocument;yield sleep(100)}}))}});__decorate([Action({onEvent:"delete-element"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"deleteElement",null);__decorate([Action({onEvent:"copy-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"copyElement",null);__decorate([Action({onEvent:"change-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"changeImage",null);__decorate([Action({onEvent:"keyup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,KeyboardEvent]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"onKeyUp",null);__decorate([Action({onEvent:"undo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"undo",null);__decorate([Action({onEvent:"redo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"redo",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../../../common/controls/tree/FileTreeView","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../service/CloudFileService","@web-atoms/core/dist/style/styled","../../../../common/controls/drag-drop/FilesDragDrop","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/UploadEvent"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,FolderTreeView,AtomRepeater,Bind,InjectProperty,CloudFileService,styled,FilesDragDrop,Action,UploadEvent,ChooseMediaPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsTreeFileTreeView){FolderTreeView=_commonControlsTreeFileTreeView.FolderTreeView},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_serviceCloudFileService){CloudFileService=_serviceCloudFileService.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default}],execute:function(){css=styled.css`
3558
+ `.installGlobal("[data-html-page-editor=html-page-editor]");desktopWidth=992;tabletWidth=768;mobileWidth=480;_export("default",HtmlPageEditor=class HtmlPageEditor extends AtomControl{get htmlPage(){var _a,_b;return(_b=(_a=this.htmlDocument)===null||_a===void 0?void 0:_a.documentElement)===null||_b===void 0?void 0:_b.outerHTML}set htmlPage(v){if(!this.element){return}if(!this.ready){setTimeout((()=>{this.htmlPage=v}),100);return}void this.ready.then((()=>__awaiter(this,void 0,void 0,(function*(){if(!this.htmlDocument){return}const iframe=this.element;if(this.htmlDocument!==iframe.contentDocument){this.htmlDocument=void 0;yield this.loadContentDocument()}this.htmlDocument.open();this.htmlDocument.write(v);this.htmlDocument.addEventListener("click",(e=>{const target=e.target;const previous=this.selection.element;if(previous===null||previous===void 0?void 0:previous.isContentEditable){let start=target;while(start){if(previous===target){return}start=start.parentElement}previous.removeAttribute("contentEditable");this.commit()}e.preventDefault();this.setSelection(target)}));this.htmlDocument.addEventListener("dblclick",(e=>{const target=e.target;e.preventDefault();const element=target.nodeType===Node.ELEMENT_NODE?target:target.parentElement;element.setAttribute("contentEditable","true");this.setSelection(element);if(element.tagName==="IMG"){this.changeImage().catch(console.error)}}));this.htmlDocument.addEventListener("scroll",(e=>{this.hover.update();this.selection.update()}),{passive:true});this.htmlDocument.addEventListener("pointerover",(e=>{let target=e.target;target=target.nodeType===Node.ELEMENT_NODE&&target.tagName?target:target.parentElement;if(this.hover.element===target){return}this.hover.update(target)}),{capture:true});this.htmlDocument.addEventListener("keydown",(e=>{if(e.ctrlKey||e.metaKey){switch(e.key){case"s":this.contentEditor.dispatchEvent(new CustomEvent("savePage",{bubbles:true}));e.preventDefault();break;case"z":this.contentEditor.dispatchEvent(new CustomEvent("undo",{bubbles:true}));e.preventDefault();break;case"y":this.contentEditor.dispatchEvent(new CustomEvent("redo",{bubbles:true}));e.preventDefault();break}}}));InstallDragDropHelper(this);this.htmlDocument.close();setTimeout((()=>{this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){yield this.setStylerSheet();this.loadVariables()}))))}),10)}))))}constructor(app,e){super(app,e);this.selection=new SelectedElement(this);this.undoList=[];this.redoList=[];this.pageVariables=[];this.hover=new SelectedElement(this);this.dropTarget=new SelectedElement(this);this.maxWidth=desktopWidth;this.ready=this.init()}init(){return __awaiter(this,void 0,void 0,(function*(){this.render(XNode.create("div",{"data-html-page-editor":"html-page-editor"},XNode.create("div",{"data-element":"top"},XNode.create(EditorToolbar,{"data-element":"max-width","event-click":()=>this.deferUpdate()},XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===desktopWidth)),"event-click":()=>this.maxWidth=desktopWidth,class:"fas fa-desktop"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===tabletWidth)),"event-click":()=>this.maxWidth=tabletWidth,class:"fas fa-tablet-screen"}),XNode.create("i",{"data-selected":Bind.oneWay((()=>this.maxWidth===mobileWidth)),"event-click":()=>this.maxWidth=mobileWidth,class:"fas fa-mobile-screen"})),XNode.create(UndoRedoToolbar,null),XNode.create(EditorToolbar,null,XNode.create(CodeCommand,null))),XNode.create(EditorToolbar,{"data-element":"left"},XNode.create(TextBox,null),XNode.create(Image,null),XNode.create(WrapGrid,null),XNode.create(VerticalImageBox,null),XNode.create(ImageBox,null),XNode.create(RightImageBox,null),XNode.create(Card,null),XNode.create(ImageCard,null),XNode.create(RowBox,null),XNode.create(ColumnBox,null),XNode.create(Columns2,null),XNode.create(Columns3,null),XNode.create(List,null)),XNode.create("div",{"data-element":"editor","style-max-width":Bind.oneWay((()=>this.maxWidth>768?"":this.maxWidth+"px"))},XNode.create("div",{"data-element":"resizer"}),XNode.create("div",{"data-element":"drop-target","style-display":Bind.oneWay((()=>this.dropTarget.element?"":"none")),"style-position":"absolute","style-left":Bind.oneWay((()=>this.dropTarget.left)),"style-top":Bind.oneWay((()=>this.dropTarget.top)),"style-width":Bind.oneWay((()=>this.dropTarget.width)),"style-height":Bind.oneWay((()=>this.dropTarget.height))}),XNode.create("div",{"data-element":"selection","style-left":Bind.oneWay((()=>this.selection.left)),"style-top":Bind.oneWay((()=>this.selection.top)),"style-width":Bind.oneWay((()=>this.selection.width)),"style-height":Bind.oneWay((()=>this.selection.height))},XNode.create("div",null,XNode.create("i",{class:"fa-regular fa-arrow-up","event-click":()=>{if(this.selection.element.parentElement!==this.htmlDocument.body){this.selection.update(this.selection.element.parentElement)}}}),XNode.create("i",{"event-click":()=>{this.selection.element.draggable=true},class:"fa-solid fa-up-down-left-right","data-click-event":"start-drag"}),XNode.create("i",{"style-display":Bind.oneWay((()=>this.selection.isImage)),"data-click-event":"change-image",title:"Change Image (Double Click)",class:"fa-solid fa-arrows-rotate-reverse"}),XNode.create("i",{title:"Duplicate","data-click-event":"copy-element",class:"fas fa-copy"}),XNode.create("i",{title:"Delete","data-click-event":"delete-element",class:"fas fa-trash-can"}))),XNode.create("div",{"data-element":"hover","style-left":Bind.oneWay((()=>this.hover.left)),"style-top":Bind.oneWay((()=>this.hover.top)),"style-width":Bind.oneWay((()=>this.hover.width)),"style-height":Bind.oneWay((()=>this.hover.height))},XNode.create("label",{text:Bind.oneWay((()=>this.hover.name))})),XNode.create("div",{"data-element":"content-frame"},XNode.create("iframe",{"data-element":"content-editor"}))),XNode.create("div",{"data-element":"right"},XNode.create("button",{"data-click-event":"open-variables","data-layout":"icon-button"},XNode.create("i",{class:"fas fa-code"}),"Variables"),XNode.create(Properties,null))));yield this.loadContentDocument()}))}buildXNode(node){const build=n=>{const e=this.htmlDocument.createElement(n.name);if(n.attributes){for(const key in n.attributes){if(Object.prototype.hasOwnProperty.call(n.attributes,key)){const element=n.attributes[key];e.setAttribute(key,element)}}}if(n.children){for(const iterator of n.children){e.appendChild(build(iterator))}}return e};return build(node)}deleteElement(){var _a;return __awaiter(this,void 0,void 0,(function*(){const current=this.selection.element;let previous=(_a=current.previousElementSibling)!==null&&_a!==void 0?_a:current.parentElement;current.remove();this.commit();if(!previous.textContent){previous=previous.previousElementSibling.lastElementChild}this.setSelection(previous);yield sleep(100);this.selection.update()}))}copyElement(){const current=this.selection.element;const copy=current.cloneNode(true);current.insertAdjacentElement("afterend",copy);this.commit()}changeImage(){return __awaiter(this,void 0,void 0,(function*(){return this.insertImage(prompt("Image Src",""))}))}onKeyUp(d,ke){if(ke.ctrlKey){switch(ke.key){case"z":ke.preventDefault();this.undo();break;case"y":ke.preventDefault();this.redo();break}}}insertImage(src,style){return __awaiter(this,void 0,void 0,(function*(){let img;if(this.selection.isImage){img=this.selection.element}else{img=this.htmlDocument.createElement("img");this.selection.element.appendChild(img)}img.src=src;img.onload=()=>{this.selection.update();img.onload=null};if(style){for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=style[key];img.style[key]=element}}}this.commit()}))}insertElement(e,parent=this.selection.element){parent.appendChild(e);if(!e.id){e.id="sm-"+Date.now().toString()}setTimeout((()=>{this.setSelection(e);this.commit()}),100)}deferUpdate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){yield sleep(100);(_a=this.hover)===null||_a===void 0?void 0:_a.update();(_b=this.selection)===null||_b===void 0?void 0:_b.update()}))}setSelection(element,commit=true){var _a;const old=(_a=this.selection)===null||_a===void 0?void 0:_a.element;if(old){old.draggable=false}this.selection.update(element);if(commit){this.commit()}}commit(){this.redoList.clear();const lastHtml=this.lastHtml;const clone=this.htmlDocument.documentElement.cloneNode(true);const all=clone.querySelectorAll("*");for(let index=0;index<all.length;index++){const element=all[index];element.removeAttribute("draggable")}const currentHtml=clone.innerHTML;if(!lastHtml){this.lastHtml=currentHtml;return}if(lastHtml===currentHtml){return}this.undoList.add(this.lastHtml);this.lastHtml=currentHtml;this.element.dispatchEvent(new CustomEvent("htmlPageChanged",{detail:currentHtml,bubbles:true}));AtomBinder.refreshValue(this,"htmlPage");setTimeout((()=>{this.selection.update();this.hover.update()}),100)}undo(){this.redoList.insert(this.redoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.undoList.removeAt(this.undoList.length-1)}redo(){this.undoList.insert(this.undoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.redoList.removeAt(this.redoList.length-1)}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;let style=document.querySelector(`[styler-style-sheet]`);if(!style){style=document.createElement("style");style.setAttribute("styler-style-sheet","inline");document.head.appendChild(style)}style.textContent=StylerSet.instance.toString()}))}loadVariables(){const onChange=()=>{const document=this.htmlDocument;let style=document.querySelector("[styler-style-variables]");if(!style){style=document.createElement("style");style.setAttribute("styler-style-variables","override");document.head.appendChild(style)}style.textContent=`:root {\n ${this.pageVariables.map((x=>`${x.propertyName}: ${x.currentValue};`)).join("\n\t")}\n }`};this.pageVariables=StylerSet.instance.vars.map((x=>new StylerVariable(x.name,x.value,this.htmlDocument,onChange)))}loadContentDocument(){return __awaiter(this,void 0,void 0,(function*(){this.contentEditor=this.element.querySelector(`[data-element="content-editor"]`);while(!this.htmlDocument){this.htmlDocument=this.contentEditor.contentDocument;yield sleep(100)}}))}});__decorate([Action({onEvent:"delete-element"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"deleteElement",null);__decorate([Action({onEvent:"copy-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"copyElement",null);__decorate([Action({onEvent:"change-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"changeImage",null);__decorate([Action({onEvent:"keyup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,KeyboardEvent]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"onKeyUp",null);__decorate([Action({onEvent:"undo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"undo",null);__decorate([Action({onEvent:"redo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"redo",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../../../../common/controls/tree/FileTreeView","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../service/CloudFileService","@web-atoms/core/dist/style/styled","../../../../common/controls/drag-drop/FilesDragDrop","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/UploadEvent","../../../../common/controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,FolderTreeView,AtomRepeater,Bind,InjectProperty,CloudFileService,styled,FilesDragDrop,Action,UploadEvent,SaveIconTextButton,ChooseMediaPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsTreeFileTreeView){FolderTreeView=_commonControlsTreeFileTreeView.FolderTreeView},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_serviceCloudFileService){CloudFileService=_serviceCloudFileService.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton}],execute:function(){css=styled.css`
3559
3559
  display: grid;
3560
3560
  grid-template-columns: 200px 1fr;
3561
+ grid-template-rows: auto 1fr;
3561
3562
  gap: 5px;
3562
3563
  & .folder-tree {
3563
3564
  grid-column: 1;
3565
+ grid-row: 1 / span 2;
3566
+ }
3567
+ & .search {
3568
+ grid-column: 2;
3564
3569
  grid-row: 1;
3565
3570
  }
3566
3571
  & .file-list {
3567
- grid-row: 1;
3572
+ grid-row: 2;
3568
3573
  grid-column: 2;
3569
3574
  position: relative;
3570
3575
  overflow: auto;
@@ -3589,7 +3594,7 @@ html, body {
3589
3594
  }
3590
3595
 
3591
3596
  }
3592
- `.installLocal();_export("default",ChooseMediaPage=class ChooseMediaPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.version=1;this.size=700;this.selectedFile=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Media";const{accept="image/*, video/*, audio/*"}=this.parameters;this.selectedFolder=this.parameters.folder;this.element.style.minWidth="90%";this.element.style.minHeight="90%";this.renderer=XNode.create("div",{class:css},XNode.create(FolderTreeView,{accept,folderId:this.parameters.folder.appFileID,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{selectOnClick:true,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),header:true,headerRenderer:item=>XNode.create("div",{"data-position":"sticky-top","data-layout":"header-row"}),items:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,showFolder:false,accept,cancelToken}))),itemRenderer:item=>XNode.create("div",{class:"media-file"},XNode.create("img",{src:`/api/files/webp(300)/${item.appFileID}/${item.fileContentID}/${item.name}.300.webp`}))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"frame-vertical-flex"},XNode.create("div",{"data-layout":"row"},XNode.create("button",Object.assign({"data-layout":"accent-icon-button"},UploadEvent.AttachUploadAction({multiple:true,extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})})),accept})),XNode.create("i",{class:"fas fa-upload"}),"Upload")),XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFile!==null)),"data-layout":"row"},XNode.create("input",{type:"range",min:"100",max:"2000",step:"100",value:Bind.twoWaysImmediate((()=>this.size))}),XNode.create("span",{text:Bind.oneWay((()=>`${this.size}px`))}),XNode.create("button",{"data-click-event":"select-file",text:"Save"})))}))}selectFile(){return __awaiter(this,void 0,void 0,(function*(){const file=this.selectedFile;const size=this.size;return{file,size}}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseMediaPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"select-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"selectFile",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"onFilesUploaded",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/media/ChooseMediaPage");System.register(["tslib","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,UMD,AtomControl,BindableProperty,FetchBuilder,MonacoEditor,monacoPath;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){monacoPath=UMD.resolvePath("@social-mail/social-mail-client/content/modules/monaco/monaco.html");_export("default",MonacoEditor=class MonacoEditor extends AtomControl{constructor(app,e=document.createElement("iframe")){super(app,e);this.element.style.border="none";this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"file":this.app.runAsync((()=>this.loadFile()));break}}init(){const monaco=(()=>__awaiter(this,void 0,void 0,(function*(){const srcdoc=yield FetchBuilder.get(monacoPath).responseAsText();return this.monaco=yield new Promise(((resolve,reject)=>{this.element.parentEditor={resolve,reject,onresize:()=>{var _a;return(_a=this.editor)===null||_a===void 0?void 0:_a.layout()},codeEditor:this};this.element.srcdoc=srcdoc}))})))();const value=Promise.resolve(monaco);Object.defineProperty(this,"init",{value:()=>value});return this.monaco=monaco}createEditor(){const editor=(()=>__awaiter(this,void 0,void 0,(function*(){return this.editor=yield this.monaco.editor.create(this.container)})))();const value=Promise.resolve(editor);Object.defineProperty(this,"createEditor",{value:()=>value});return editor}loadFile(){var _a;return __awaiter(this,void 0,void 0,(function*(){yield this.init();(_a=this.codeModelDisposable)===null||_a===void 0?void 0:_a.dispose();const editor=yield this.createEditor();const{file,monaco}=this;const originalContent=yield FetchBuilder.get(file.downloadUrl).responseAsText();const name=file.name;let language="html";if(/\.(ts|tsx)$/i.test(name)){language="typescript"}else if(/\.(js|jsx)$/i.test(name)){language="javascript"}else if(/\.(json)$/i.test(name)){language="json"}else if(/\.(css)$/i.test(name)){language="css"}const uri=monaco.Uri.parse(`http://a/${file.path}-${file.name}`);const m=monaco.editor.getModel(uri);const model=monaco.editor.createModel(originalContent,language,uri);editor.setModel(model);let id=0;this.codeModelDisposable=this.registerDisposable(model.onDidChangeContent((()=>{if(id){clearTimeout(id)}id=setTimeout((()=>{const content=model.getValue();this.element.dispatchEvent(new CustomEvent("fileChanged",{detail:{file:this.file,content,originalContent}}))}),500)})))}))}});__decorate([BindableProperty,__metadata("design:type",Object)],MonacoEditor.prototype,"file",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/MonaoEditor");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","./MonaoEditor","../common/controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../web/page/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,MonacoEditor,SaveIconTextButton,Bind,Action,InjectProperty,CloudFileService,CodeEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_MonaoEditor){MonacoEditor=_MonaoEditor.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default}],execute:function(){_export("default",CodeEditorPage=class CodeEditorPage extends ContentPage{constructor(){super(...arguments);this.modified=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=this.parameters.name;this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch","data-justify-items":"stretch"},XNode.create(MonacoEditor,{file:this.parameters,"event-file-changed":({detail:{content,originalContent,file}})=>{this.file=file;this.modified=content!==originalContent;this.content=content}}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>this.modified),false)},XNode.create(SaveIconTextButton,{"data-click-event":"save-file",text:"Save"}))}))}saveFile(){return __awaiter(this,void 0,void 0,(function*(){const{file:{appFileID,name,contentType},content}=this;yield this.cloudFileService.saveFile({content:new File([content],name,{type:contentType}),appFileID});return yield this.cloudFileService.getFile(appFileID)}))}hide(){this.element.setAttribute("data-page-state","hidden")}show(){if(!this.element._logicalParent.contains(this.element)){this.element._logicalParent.appendChild(this.element)}setTimeout((()=>this.element.setAttribute("data-page-state","ready")),1)}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],CodeEditorPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"save-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CodeEditorPage.prototype,"saveFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/CodeEditorPage");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","./HtmlPageEditor","../../web/page/files/media/ChooseMediaPage","@web-atoms/web-controls/dist/PageNavigator","../styler/StylerSet","@web-atoms/core/dist/core/InjectProperty","../../web/page/files/service/CloudFileService","@web-atoms/core/dist/view-model/Action","../../code-editor/CodeEditorPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,HtmlPageEditor,ChooseMediaPage,PageNavigator,StylerSet,InjectProperty,CloudFileService,Action,CodeEditorPage,WebSitePageEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_HtmlPageEditor){HtmlPageEditor=_HtmlPageEditor.default},function(_webPageFilesMediaChooseMediaPage){ChooseMediaPage=_webPageFilesMediaChooseMediaPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default}],execute:function(){_export("default",WebSitePageEditor=class WebSitePageEditor extends HtmlPageEditor{constructor(){super(...arguments);this.folder=null}changeImage(){return __awaiter(this,void 0,void 0,(function*(){const{file,size}=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept:"image/*"});const src=`/api/site/asset/webp(${size})/${this.folder.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}.${size}.webp`;yield this.insertImage(src)}))}openVariables(){return __awaiter(this,void 0,void 0,(function*(){const file=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();const changedFile=yield PageNavigator.pushPage(CodeEditorPage,file);yield this.addStyleSheet(changedFile)}))}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const stylerCSS=yield this.createFile("styler.css",StylerSet.instance.toString());yield this.addStyleSheet(stylerCSS);let vars=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();if(!vars){vars=yield this.createFile("vars.css",`* {\n ${StylerSet.instance.varsCss}\n }`)}yield this.addStyleSheet(vars)}))}addStyleSheet(file){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;const href=`/api/site/asset/download/${this.folder.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`;let link;for(const iterator of Array.from(document.querySelectorAll(`link[rel="stylesheet"][styler-css]`))){if(iterator.getAttribute("styler-css")===file.name){link=iterator;break}}if(!link){link!==null&&link!==void 0?link:link=document.createElement("link");document.head.appendChild(link);link.rel="stylesheet";link.setAttribute("styler-css",file.name)}link.href=href}))}createFile(fileName,css){return __awaiter(this,void 0,void 0,(function*(){const content=new File([css],fileName,{type:"text/css"});const{appFileID}=yield this.cloudFileService.saveFile({parentID:this.folder.appFileID,folder:"styles",content});const file=yield this.cloudFileService.getFile(appFileID);return file}))}});__decorate([BindableProperty,__metadata("design:type",Object)],WebSitePageEditor.prototype,"folder",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSitePageEditor.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"open-variables"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSitePageEditor.prototype,"openVariables",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent","../../../../model/model","../../../../web/page/files/shares/EditSharesPage","../../../../web/page/templates/EditTemplatePage","../templates/ChooseWebSiteTemplatePage","@web-atoms/core/dist/services/FetchBuilder","../../../controls/tree/FileTreeView","../../../../site-editor/editor/WebSitePageEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,CloudFileService,Bind,XNode,styled,Action,PageNavigator,PopupButton,MenuItem,UploadEvent,AppFile,EditSharesPage,EditTemplatePage,ChooseWebSiteTemplatePage,FetchBuilder,FileTreeView,WebSitePageEditor,WebSiteStudioPage,css,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){PopupButton=_webAtomsWebControlsDistBasicPopupButton.default;MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webPageFilesSharesEditSharesPage){EditSharesPage=_webPageFilesSharesEditSharesPage.default},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_templatesChooseWebSiteTemplatePage){ChooseWebSiteTemplatePage=_templatesChooseWebSiteTemplatePage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_controlsTreeFileTreeView){FileTreeView=_controlsTreeFileTreeView.FileTreeView},function(_siteEditorEditorWebSitePageEditor){WebSitePageEditor=_siteEditorEditorWebSitePageEditor.default}],execute:function(){css=styled.css`
3597
+ `.installLocal();_export("default",ChooseMediaPage=class ChooseMediaPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.version=1;this.size=700;this.selectedFile=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Media";const{accept="image/*, video/*, audio/*"}=this.parameters;this.selectedFolder=this.parameters.folder;this.element.style.minWidth="90%";this.element.style.minHeight="90%";this.renderer=XNode.create("div",{class:css},XNode.create(FolderTreeView,{class:"folder-tree",accept,folderId:this.parameters.folder.appFileID,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",{class:"search","data-layout":"row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("button",Object.assign({"data-layout":"accent-icon-button"},UploadEvent.AttachUploadAction({multiple:true,extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})})),accept})),XNode.create("i",{class:"fas fa-upload"}),"Upload")),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{selectOnClick:true,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),header:true,headerRenderer:item=>XNode.create("div",{"data-position":"sticky-top","data-layout":"header-row"}),items:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,showFolder:false,accept,cancelToken}))),itemRenderer:item=>XNode.create("div",{class:"media-file"},XNode.create("img",{src:`/api/files/webp(300)/${item.appFileID}/${item.fileContentID}/${item.name}.300.webp`}))})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFile!==null)),"data-layout":"row"},XNode.create("input",{type:"range",min:"100",max:"2000",step:"100",value:Bind.twoWaysImmediate((()=>this.size))}),XNode.create("span",{text:Bind.oneWay((()=>`${this.size}px`))}),XNode.create(SaveIconTextButton,{"data-click-event":"select-file",text:"Insert"}))}))}selectFile(){return __awaiter(this,void 0,void 0,(function*(){const file=this.selectedFile;const size=this.size;return{file,size}}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseMediaPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"select-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"selectFile",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"onFilesUploaded",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/media/ChooseMediaPage");System.register(["tslib","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,UMD,AtomControl,BindableProperty,FetchBuilder,MonacoEditor,monacoPath;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){monacoPath=UMD.resolvePath("@social-mail/social-mail-client/content/modules/monaco/monaco.html");_export("default",MonacoEditor=class MonacoEditor extends AtomControl{constructor(app,e=document.createElement("iframe")){super(app,e);this.element.style.border="none";this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"file":this.app.runAsync((()=>this.loadFile()));break}}init(){const monaco=(()=>__awaiter(this,void 0,void 0,(function*(){const srcdoc=yield FetchBuilder.get(monacoPath).responseAsText();return this.monaco=yield new Promise(((resolve,reject)=>{this.element.parentEditor={resolve,reject,onresize:()=>{var _a;return(_a=this.editor)===null||_a===void 0?void 0:_a.layout()},codeEditor:this};this.element.srcdoc=srcdoc}))})))();const value=Promise.resolve(monaco);Object.defineProperty(this,"init",{value:()=>value});return this.monaco=monaco}createEditor(){const editor=(()=>__awaiter(this,void 0,void 0,(function*(){return this.editor=yield this.monaco.editor.create(this.container)})))();const value=Promise.resolve(editor);Object.defineProperty(this,"createEditor",{value:()=>value});return editor}loadFile(){var _a;return __awaiter(this,void 0,void 0,(function*(){yield this.init();(_a=this.codeModelDisposable)===null||_a===void 0?void 0:_a.dispose();const editor=yield this.createEditor();const{file,monaco}=this;const originalContent=yield FetchBuilder.get(file.downloadUrl).responseAsText();const name=file.name;let language="html";if(/\.(ts|tsx)$/i.test(name)){language="typescript"}else if(/\.(js|jsx)$/i.test(name)){language="javascript"}else if(/\.(json)$/i.test(name)){language="json"}else if(/\.(css)$/i.test(name)){language="css"}const uri=monaco.Uri.parse(`http://a/${file.path}-${file.name}`);const m=monaco.editor.getModel(uri);const model=monaco.editor.createModel(originalContent,language,uri);editor.setModel(model);let id=0;this.codeModelDisposable=this.registerDisposable(model.onDidChangeContent((()=>{if(id){clearTimeout(id)}id=setTimeout((()=>{const content=model.getValue();this.element.dispatchEvent(new CustomEvent("fileChanged",{detail:{file:this.file,content,originalContent}}))}),500)})))}))}});__decorate([BindableProperty,__metadata("design:type",Object)],MonacoEditor.prototype,"file",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/MonaoEditor");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","./MonaoEditor","../common/controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../web/page/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,MonacoEditor,SaveIconTextButton,Bind,Action,InjectProperty,CloudFileService,CodeEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_MonaoEditor){MonacoEditor=_MonaoEditor.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default}],execute:function(){_export("default",CodeEditorPage=class CodeEditorPage extends ContentPage{constructor(){super(...arguments);this.modified=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=this.parameters.name;this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch","data-justify-items":"stretch"},XNode.create(MonacoEditor,{file:this.parameters,"event-file-changed":({detail:{content,originalContent,file}})=>{this.file=file;this.modified=content!==originalContent;this.content=content}}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>this.modified),false)},XNode.create(SaveIconTextButton,{"data-click-event":"save-file",text:"Save"}))}))}saveFile(){return __awaiter(this,void 0,void 0,(function*(){const{file:{appFileID,name,contentType},content}=this;yield this.cloudFileService.saveFile({content:new File([content],name,{type:contentType}),appFileID});return yield this.cloudFileService.getFile(appFileID)}))}hide(){this.element.setAttribute("data-page-state","hidden")}show(){if(!this.element._logicalParent.contains(this.element)){this.element._logicalParent.appendChild(this.element)}setTimeout((()=>this.element.setAttribute("data-page-state","ready")),1)}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],CodeEditorPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"save-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CodeEditorPage.prototype,"saveFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/CodeEditorPage");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","./HtmlPageEditor","../../web/page/files/media/ChooseMediaPage","@web-atoms/web-controls/dist/PageNavigator","../styler/StylerSet","@web-atoms/core/dist/core/InjectProperty","../../web/page/files/service/CloudFileService","@web-atoms/core/dist/view-model/Action","../../code-editor/CodeEditorPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,HtmlPageEditor,ChooseMediaPage,PageNavigator,StylerSet,InjectProperty,CloudFileService,Action,CodeEditorPage,WebSitePageEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_HtmlPageEditor){HtmlPageEditor=_HtmlPageEditor.default},function(_webPageFilesMediaChooseMediaPage){ChooseMediaPage=_webPageFilesMediaChooseMediaPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default}],execute:function(){_export("default",WebSitePageEditor=class WebSitePageEditor extends HtmlPageEditor{constructor(){super(...arguments);this.folder=null}changeImage(){return __awaiter(this,void 0,void 0,(function*(){const{file,size}=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept:"image/*"});const src=`/api/site/asset/webp(${size})/${this.folder.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}.${size}.webp`;yield this.insertImage(src)}))}openVariables(){return __awaiter(this,void 0,void 0,(function*(){const file=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();const changedFile=yield PageNavigator.pushPage(CodeEditorPage,file);yield this.addStyleSheet(changedFile)}))}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const stylerCSS=yield this.createFile("styler.css",StylerSet.instance.toString());yield this.addStyleSheet(stylerCSS);let vars=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();if(!vars){vars=yield this.createFile("vars.css",`* {\n ${StylerSet.instance.varsCss}\n }`)}yield this.addStyleSheet(vars)}))}addStyleSheet(file){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;const href=`/api/site/asset/download/${this.folder.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`;let link;for(const iterator of Array.from(document.querySelectorAll(`link[rel="stylesheet"][styler-css]`))){if(iterator.getAttribute("styler-css")===file.name){link=iterator;break}}if(!link){link!==null&&link!==void 0?link:link=document.createElement("link");document.head.appendChild(link);link.rel="stylesheet";link.setAttribute("styler-css",file.name)}link.href=href}))}createFile(fileName,css){return __awaiter(this,void 0,void 0,(function*(){const content=new File([css],fileName,{type:"text/css"});const{appFileID}=yield this.cloudFileService.saveFile({parentID:this.folder.appFileID,folder:"styles",content});const file=yield this.cloudFileService.getFile(appFileID);return file}))}});__decorate([BindableProperty,__metadata("design:type",Object)],WebSitePageEditor.prototype,"folder",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSitePageEditor.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"open-variables"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSitePageEditor.prototype,"openVariables",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent","../../../../model/model","../../../../web/page/files/shares/EditSharesPage","../../../../web/page/templates/EditTemplatePage","../templates/ChooseWebSiteTemplatePage","@web-atoms/core/dist/services/FetchBuilder","../../../controls/tree/FileTreeView","../../../../site-editor/editor/WebSitePageEditor"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,CloudFileService,Bind,XNode,styled,Action,PageNavigator,PopupButton,MenuItem,UploadEvent,AppFile,EditSharesPage,EditTemplatePage,ChooseWebSiteTemplatePage,FetchBuilder,FileTreeView,WebSitePageEditor,WebSiteStudioPage,css,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){PopupButton=_webAtomsWebControlsDistBasicPopupButton.default;MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default},function(_modelModel){AppFile=_modelModel.AppFile},function(_webPageFilesSharesEditSharesPage){EditSharesPage=_webPageFilesSharesEditSharesPage.default},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_templatesChooseWebSiteTemplatePage){ChooseWebSiteTemplatePage=_templatesChooseWebSiteTemplatePage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_controlsTreeFileTreeView){FileTreeView=_controlsTreeFileTreeView.FileTreeView},function(_siteEditorEditorWebSitePageEditor){WebSitePageEditor=_siteEditorEditorWebSitePageEditor.default}],execute:function(){css=styled.css`
3593
3598
  display: grid;
3594
3599
  grid-template-columns: 200px 1fr;
3595
3600
  gap: 5px;