@social-mail/social-mail-client 1.2.56 → 1.2.57

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.
@@ -3157,17 +3157,20 @@ and limitations under the License.
3157
3157
  text-decoration: underline;
3158
3158
  }
3159
3159
  `})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/styler/properties/elements/elementImageLink");System.register(["@web-atoms/core/dist/style/styled","../../Styler"],(function(_export,_context){"use strict";var styled,stylerVars,elementLinkButton;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_Styler){stylerVars=_Styler.stylerVars}],execute:function(){_export("elementLinkButton",elementLinkButton={"link-button":styled.css`
3160
- display: flex;
3160
+ display: inline-flex;
3161
3161
  flex-direction: column;
3162
3162
  align-items: center;
3163
+ justify-content: center;
3163
3164
  gap: ${stylerVars.sizeDefault};
3164
3165
  padding-top: ${stylerVars.sizeTiny};
3165
3166
  padding-bottom: ${stylerVars.sizeTiny};
3166
3167
  padding-left: ${stylerVars.sizeLarge};
3167
3168
  padding-right: ${stylerVars.sizeLarge};
3168
3169
  background: ${stylerVars.buttonBackground};
3169
- border: none;
3170
3170
  color: ${stylerVars.buttonText};
3171
+ border: none;
3172
+ border-radius: ${stylerVars.sizeLarge};
3173
+ text-decoration: none;
3171
3174
  &:hover {
3172
3175
  text-decoration: underline;
3173
3176
  }
@@ -3183,6 +3186,8 @@ and limitations under the License.
3183
3186
  background: ${stylerVars.buttonBackground};
3184
3187
  color: ${stylerVars.buttonText};
3185
3188
  border: none;
3189
+ border-radius: ${stylerVars.sizeLarge};
3190
+ text-decoration: none;
3186
3191
  &:hover {
3187
3192
  text-decoration: underline;
3188
3193
  }
@@ -3301,7 +3306,7 @@ and limitations under the License.
3301
3306
  z-index: 50;
3302
3307
  }
3303
3308
  }
3304
- `.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;if(element.tagName==="IMG"){this.changeImage().catch(console.error);return}if(element.getAttribute("data-editable")==="false"){return}if(element.hasAttribute("data-web-atoms-view")){return}element.setAttribute("contentEditable","true");this.setSelection(element)}));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("i",{"data-click-event":"edit-code",class:"fa-solid fa-code"}))),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(BlogComponent,null),XNode.create(ImageLink,null),XNode.create(LinkButton,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",sandbox:"allow-same-origin "}))),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")}if(clone.querySelector(`[styler-layout="component"]`)){let componentScript=clone.querySelector("[styler-component-script]");if(!componentScript){componentScript=this.htmlDocument.createElement("script");const head=clone.querySelector("head");head.appendChild(componentScript)}componentScript.src=UMD.resolvePath("@social-mail/social-mail-client/component.js");componentScript.setAttribute("styler-component-script","component-script")}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:clone.outerHTML,bubbles:true}));AtomBinder.refreshValue(this,"htmlPage");setTimeout((()=>{this.selection.update();this.hover.update()}),100)}undo(){this.redoList.insert(this.redoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.undoList.removeAt(this.undoList.length-1)}redo(){this.undoList.insert(this.undoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.redoList.removeAt(this.redoList.length-1)}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;let style=document.querySelector(`[styler-style-sheet]`);if(!style){style=document.createElement("style");style.setAttribute("styler-style-sheet","inline");document.head.appendChild(style)}style.textContent=StylerSet.instance.toString()}))}loadVariables(){const onChange=()=>{const document=this.htmlDocument;let style=document.querySelector("[styler-style-variables]");if(!style){style=document.createElement("style");style.setAttribute("styler-style-variables","override");document.head.appendChild(style)}style.textContent=`:root {\n ${this.pageVariables.map((x=>`${x.propertyName}: ${x.currentValue};`)).join("\n\t")}\n }`};this.pageVariables=StylerSet.instance.vars.map((x=>new StylerVariable(x.name,x.value,this.htmlDocument,onChange)))}loadContentDocument(){return __awaiter(this,void 0,void 0,(function*(){this.contentEditor=this.element.querySelector(`[data-element="content-editor"]`);while(!this.htmlDocument){this.htmlDocument=this.contentEditor.contentDocument;yield sleep(100)}}))}});__decorate([Action({onEvent:"delete-element"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"deleteElement",null);__decorate([Action({onEvent:"copy-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"copyElement",null);__decorate([Action({onEvent:"change-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"changeImage",null);__decorate([Action({onEvent:"keyup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,KeyboardEvent]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"onKeyUp",null);__decorate([Action({onEvent:"undo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"undo",null);__decorate([Action({onEvent:"redo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"redo",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor");System.register(["tslib","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,styled,AtomControl,supportsFileSystemAccessAPI,supportsWebkitGetAsEntry,dragEnter,dragOver,dragLeave,eventDrop,FilesDragDrop;return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl}],execute:function(){supportsFileSystemAccessAPI="getAsFileSystemHandle"in DataTransferItem.prototype;supportsWebkitGetAsEntry="webkitGetAsEntry"in DataTransferItem.prototype;styled.css`
3309
+ `.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;if(element.tagName==="IMG"){this.changeImage().catch(console.error);return}if(element.getAttribute("data-editable")==="false"){return}if(element.hasAttribute("data-web-atoms-view")){return}element.setAttribute("contentEditable","true");this.setSelection(element)}));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("i",{"data-click-event":"edit-code",class:"fa-solid fa-code"}))),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(BlogComponent,null),XNode.create(ImageLink,null),XNode.create(LinkButton,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",sandbox:"allow-same-origin "}))),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){if(typeof iterator==="string"){e.append(iterator);continue}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")}if(clone.querySelector(`[styler-layout="component"]`)){let componentScript=clone.querySelector("[styler-component-script]");if(!componentScript){componentScript=this.htmlDocument.createElement("script");const head=clone.querySelector("head");head.appendChild(componentScript)}componentScript.src=UMD.resolvePath("@social-mail/social-mail-client/component.js");componentScript.setAttribute("styler-component-script","component-script")}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:clone.outerHTML,bubbles:true}));AtomBinder.refreshValue(this,"htmlPage");setTimeout((()=>{this.selection.update();this.hover.update()}),100)}undo(){this.redoList.insert(this.redoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.undoList.removeAt(this.undoList.length-1)}redo(){this.undoList.insert(this.undoList.length,this.htmlDocument.documentElement.innerHTML);this.htmlDocument.documentElement.innerHTML=this.redoList.removeAt(this.redoList.length-1)}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;let style=document.querySelector(`[styler-style-sheet]`);if(!style){style=document.createElement("style");style.setAttribute("styler-style-sheet","inline");document.head.appendChild(style)}style.textContent=StylerSet.instance.toString()}))}loadVariables(){const onChange=()=>{const document=this.htmlDocument;let style=document.querySelector("[styler-style-variables]");if(!style){style=document.createElement("style");style.setAttribute("styler-style-variables","override");document.head.appendChild(style)}style.textContent=`:root {\n ${this.pageVariables.map((x=>`${x.propertyName}: ${x.currentValue};`)).join("\n\t")}\n }`};this.pageVariables=StylerSet.instance.vars.map((x=>new StylerVariable(x.name,x.value,this.htmlDocument,onChange)))}loadContentDocument(){return __awaiter(this,void 0,void 0,(function*(){this.contentEditor=this.element.querySelector(`[data-element="content-editor"]`);while(!this.htmlDocument){this.htmlDocument=this.contentEditor.contentDocument;yield sleep(100)}}))}});__decorate([Action({onEvent:"delete-element"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"deleteElement",null);__decorate([Action({onEvent:"copy-element",blockMultipleExecution:false}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"copyElement",null);__decorate([Action({onEvent:"change-image"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],HtmlPageEditor.prototype,"changeImage",null);__decorate([Action({onEvent:"keyup"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,KeyboardEvent]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"onKeyUp",null);__decorate([Action({onEvent:"undo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"undo",null);__decorate([Action({onEvent:"redo"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],HtmlPageEditor.prototype,"redo",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/HtmlPageEditor");System.register(["tslib","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl"],(function(_export,_context){"use strict";var __asyncValues,__awaiter,styled,AtomControl,supportsFileSystemAccessAPI,supportsWebkitGetAsEntry,dragEnter,dragOver,dragLeave,eventDrop,FilesDragDrop;return{setters:[function(_tslib){__asyncValues=_tslib.__asyncValues;__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl}],execute:function(){supportsFileSystemAccessAPI="getAsFileSystemHandle"in DataTransferItem.prototype;supportsWebkitGetAsEntry="webkitGetAsEntry"in DataTransferItem.prototype;styled.css`
3305
3310
 
3306
3311
  &[data-drop-enabled] {
3307
3312
  outline: solid 5px green;