@silexlabs/silex 3.0.0-alpha.109 → 3.0.0-alpha.110

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.
@@ -228,7 +228,7 @@ var silex;(()=>{var t={99:function(t){"undefined"!=typeof globalThis?globalThis:
228
228
  @click=${()=>this.editor.Commands.stop(xr)}
229
229
  >Close</button>
230
230
  </footer>
231
- `}}displayPending(t,e){this.errorMessage=null,this.renderDialog(t,e)}displayError(t,e,n){console.info(t),this.errorMessage=t,this.renderDialog(e,n)}async closeDialog(){this.isOpen=!1,this.renderDialog(null,null),this.sender&&this.sender.set("active",0),this.sender=null}async toggleDialog(){this.isOpen?this.closeDialog():this.openDialog()}async openDialog(){this.isOpen=!0;const t=this.editor.Panels.getPanel("options")?.view.el.querySelector(".publish-button");if(t){const e=t.getBoundingClientRect(),n=450,r=20,o=50;this.move({left:e.right-n-r,top:e.bottom+10,width:n,minHeight:o})}else console.error("Unable to find publish button");this.renderDialog(null,Hr.STATUS_NONE)}}var Or;function Tr(t,e){t.Pages.getAll().forEach((t=>{t.getMainComponent().onAll((t=>e(t)))}))}!function(t){t.STARTUP_START="silex:startup:start",t.STARTUP_END="silex:startup:end",t.GRAPESJS_START="silex:grapesjs:start",t.GRAPESJS_END="silex:grapesjs:end",t.PUBLISH_START="silex:publish:start",t.PUBLISH_DATA="silex:publish:data",t.PUBLISH_END="silex:publish:end",t.PUBLISH_ERROR="silex:publish:error",t.PUBLISH_LOGIN_START="silex:publish:login:start",t.PUBLISH_LOGIN_END="silex:publish:login:end",t.ASSET_WRITE_END="silex:asset:write:end",t.WRITE_END="silex:write:end"}(Or||(Or={}));const Er="tmp-pre-publication-transformer-tohtml",kr="tmp-pre-publication-transformer-src",Ar="tmp-pre-publication-transformer-attributes-src",Pr="tmp-pre-publication-transformer-inline-css",jr="tmp-pre-publication-transformer-href",Mr="tmp-pre-publication-transformer-tocss";function Lr(t,e){const n=e["background-image"],r=n?.match(/url\(["']?(.*?)["']?\)/)?.pop();return r?{...e,"background-image":`url(${Nr(t,r,$.ASSET)})`}:e}function Nr(t,e,n){return t.getModel().get("config").publicationTransformers.reduce(((t,e)=>{try{return e.transformPermalink?e.transformPermalink(t,n)??t:t}catch(e){return console.error("Publication transformer: error transforming path",t,e),t}}),e)}function Ir(t,e,n){return t.getModel().get("config").publicationTransformers.reduce(((t,e)=>{try{return e.transformPath?e.transformPath(t,n)??t:t}catch(e){return console.error("Publication transformer: error transforming path",t,e),t}}),e)}const Dr="publish",$r="publish-login",Rr="publish-logout";var Hr;function Fr(t,e){t.PublicationManager=new Br(t,e)}function Vr(t){switch(t){case H.IN_PROGRESS:return Hr.STATUS_PENDING;case H.ERROR:return Hr.STATUS_ERROR;case H.SUCCESS:return Hr.STATUS_SUCCESS}throw new Error(`Unknown job status ${t}`)}!function(t){t.STATUS_NONE="STATUS_NONE",t.STATUS_PENDING="STATUS_PENDING",t.STATUS_ERROR="STATUS_ERROR",t.STATUS_SUCCESS="STATUS_SUCCESS",t.STATUS_LOGGED_OUT="STATUS_AUTH_ERROR"}(Hr||(Hr={}));const Ur=window.location.origin+window.location.pathname.replace(/\/$/,"");class Br{editor;dialog;_settings;get settings(){return this._settings}set settings(t){this._settings=t,this.dialog&&(this.dialog.settings=t)}options;job=null;status=Hr.STATUS_NONE;constructor(t,e){this.editor=t,this.options={appendTo:"options",...e},t.on("storage:start:store",(t=>{t.publication=this.settings})),t.on("storage:end:load",(t=>{this.settings=t.publication??{},gn({type:R.HOSTING,connectorId:this.settings.connector?.connectorId}).then((t=>{})).catch((t=>{this.status=Hr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError("Please login",this.job,this.status)}))})),t.Commands.add(Dr,(()=>this.startPublication())),t.Commands.add($r,((t,e,n)=>this.goLogin(n))),t.Commands.add(Rr,(()=>this.goLogout())),this.options.appendTo?this.dialog=new Sr(t,{appendTo:this.options.appendTo}):console.info("PublicationUi is disabled because no appendTo option is set")}async goLogin(t){if(t.isLoggedIn)return this.settings={...this.settings,connector:t},this.status=Hr.STATUS_NONE,this.editor.store(null),void(this.dialog&&this.dialog.displayPending(this.job,this.status));this.settings={},this.status=Hr.STATUS_LOGGED_OUT,this.dialog&&this.dialog.displayPending(this.job,this.status);const e=t.connectorId,n=t.type;return window.open(t.oauthUrl||`${Ur}${f}${h}${y}?connectorId=${e}&type=${n}`,"_blank"),new Promise((e=>{const n=async e=>{const r=e.data;"login"===r?.type&&(window.removeEventListener("message",n),r.error?(this.status=Hr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError(r.message,this.job,this.status)):(this.editor.trigger(Or.PUBLISH_LOGIN_END),this.settings.connector=t,this.settings.options=r.options,this.status=Hr.STATUS_NONE,this.editor.store(null),this.dialog&&this.dialog.displayPending(this.job,this.status)))};window.addEventListener("message",n,!1)}))}async goLogout(){try{await vn({type:R.HOSTING,connectorId:this.settings.connector.connectorId}),this.settings={},this.dialog&&this.dialog.displayPending(this.job,this.status)}catch(t){console.error("logout error",t),this.status=Hr.STATUS_ERROR,this.dialog&&this.dialog.displayError(t.message,this.job,this.status)}}async startPublication(){if(this.status===Hr.STATUS_PENDING)throw new Error("Publication is already in progress");this.status=Hr.STATUS_PENDING,this.job=null,this.dialog&&this.dialog.displayPending(this.job,this.status),this.editor.trigger(Or.PUBLISH_START);const t=this.editor.getModel().get("user");if(!t)throw new Error("User not logged in to a storage connector");if(!this.settings.connector?.connectorId)throw new Error("User not logged in to a hosting connector");const e=this.options.websiteId,n=t.storage.connectorId;this.setPublicationTransformers();const r=this.editor.getProjectData(),o=this.editor.getModel().get("settings"),i=(await this.getHtmlFiles(o)).flatMap((t=>[{path:t.htmlPath,content:t.html,type:$.HTML},{path:t.cssPath,content:t.css,type:$.CSS}])).concat(r.assets.map((t=>{const e=Ir(this.editor,t.src,$.ASSET),n=Nr(this.editor,t.src,$.ASSET);return{...t,path:e,src:n,type:$.ASSET}}))),a={...r,settings:o,publication:this.settings,files:i};this.resetPublicationTransformers(),function(t,e){const n=t.getModel().get("config");e.files=n.publicationTransformers.reduce(((t,n)=>t.map(((t,r)=>{try{return e.pages[r],n.transformFile?n.transformFile(t)??t:t}catch(e){return console.error("Publication transformer: error transforming file",t,e),t}}))),e.files)}(this.editor,a),this.editor.trigger(Or.PUBLISH_DATA,a);try{const[t,r]=await mn({websiteId:e,hostingId:this.settings.connector.connectorId,storageId:n,data:a,options:this.settings.options});this.job=r,this.status=Vr(this.job.status),this.trackProgress()}catch(t){return console.error("publish error",t),401===t.code||401===t.httpStatusCode?(this.status=Hr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError("Please login.",this.job,this.status)):(this.status=Hr.STATUS_ERROR,this.dialog&&this.dialog.displayError(`An error occured, your site is not published. ${t.message}`,this.job,this.status)),this.editor.trigger(Or.PUBLISH_ERROR,{success:!1,message:t.message}),void this.editor.trigger(Or.PUBLISH_END,{success:!1,message:t.message})}}async getHtmlFiles(t){return this.editor.Pages.getAll().map((e=>{const n=e.get("settings");function r(e){return(n||{})[e]||(t||[])[e]||""}const o=e.getMainComponent(),i=yr(e.get("name")),a=`/css/${i}.css`,s=`/${i}.html`,l=Nr(this.editor,a,$.CSS),c=Ir(this.editor,a,$.CSS),u=Ir(this.editor,s,$.HTML),p=this.editor.getHtml({component:o});return{html:`<!DOCTYPE html>\n<html lang="${r("lang")}">\n<head>\n<link rel="stylesheet" href="${l}" />\n${t?.head||""}\n${n?.head||""}\n<title>${r("title")}</title>\n<link rel="icon" href="${r("favicon")}" />\n${["description","og:title","og:description","og:image"].map((t=>`<meta property="${t}" content="${r(t)}"/>`)).join("\n")}\n</head>\n${p}\n</html>`,css:this.editor.getCss({component:o}),cssPath:c,htmlPath:u}}))}async trackProgress(){try{this.job=await yn({jobId:this.job.jobId}),this.status=Vr(this.job.status)}catch(t){return this.status=Hr.STATUS_ERROR,this.dialog&&this.dialog.displayError(`An error occured, your site is not published. ${t.message}`,this.job,this.status),this.editor.trigger(Or.PUBLISH_END,{success:!1,message:t.message}),void this.editor.trigger(Or.PUBLISH_ERROR,{success:!1,message:t.message})}this.job.status===H.IN_PROGRESS?setTimeout((()=>this.trackProgress()),2e3):this.editor.trigger(Or.PUBLISH_END,{success:this.job.status===H.SUCCESS,message:this.job.message}),this.dialog&&this.dialog.displayPending(this.job,this.status)}setPublicationTransformers(){!function(t){const e=t.getModel().get("config");Tr(t,(n=>{if(n.get(Er))console.warn("Publication transformer: HTML transform already altered",n);else{const r=n.toHTML.bind(n);n[Er]=n.toHTML;const o=n.getStyle.bind(n);n[Pr]=n.getStyle;const i=n.get("attributes").href;if(i?.startsWith("./")&&(n[jr]=i,n.set("attributes",{...n.get("attributes"),href:Nr(t,i,$.HTML)})),n.get("attributes").src){n[kr]=n.get("attributes").src;const e=Nr(t,n.get("attributes").src,$.ASSET);n.set("attributes",{...n.get("attributes"),src:e})}if(n.get("src")){n[Ar]=n.get("src");const e=Nr(t,n.get("src"),$.ASSET);n.set("src",e)}n.toHTML=()=>e.publicationTransformers.reduce(((t,e)=>{try{return e.renderComponent?e.renderComponent(n,(()=>t))??t:t}catch(e){return console.error("Publication transformer: error rendering component",n,e),t}}),r()),n.getStyle=()=>Lr(t,o())}}))}(this.editor),function(t){const e=t.getModel().get("config");t.Css.getAll().forEach((n=>{if(n[Mr])console.warn("Publication transformer: CSS transform already altered",n);else{const r=n.getStyle.bind(n);n[Mr]=n.getStyle,n.getStyle=()=>{try{const n=e.publicationTransformers.reduce(((t,e)=>({...e.renderCssRule?e.renderCssRule(t,r)??t:t})),Lr(t,r()));return n}catch(t){return console.error("Publication transformer: error rendering style",n,t),r()}}}}))}(this.editor)}resetPublicationTransformers(){!function(t){Tr(t,(t=>{t[Er]&&(t.toHTML=t[Er],delete t[Er]),t[Pr]&&(t.getStyle=t[Pr],delete t[Pr]),t[kr]&&(t.set("attributes",{...t.get("attributes"),src:t[kr]}),delete t[kr]),t[Ar]&&(t.set("src",t[Ar]),delete t[Ar]),t[jr]&&(t.set("attributes",{...t.get("attributes"),href:t[jr]}),delete t[jr])}))}(this.editor),function(t){t.Css.getAll().forEach((t=>{t[Mr]&&(t.getStyle=t[Mr],delete t[Mr])}))}(this.editor)}}const zr=[{name:"./project-bar",value:ar},{name:"grapesjs-style-bg",value:Kn()},{name:"./settings",value:(t,e)=>{try{pr="3.0.0-alpha.109"}catch(t){}console.info("Silex version:",pr),t.Commands.add(ur,{run:(e,n,{page:r})=>{cr=t.Modal.open({title:r?"Page settings":"Site Settings",content:"",attributes:{class:"settings-dialog"}}).onceClose((()=>{n?.set&&n.set("active",0),t.stopCommand(ur)})),function(t,e,n=t.getModel()){const r=n.get("settings")||{};n.set("settings",r),je(de`
231
+ `}}displayPending(t,e){this.errorMessage=null,this.renderDialog(t,e)}displayError(t,e,n){console.info(t),this.errorMessage=t,this.renderDialog(e,n)}async closeDialog(){this.isOpen=!1,this.renderDialog(null,null),this.sender&&this.sender.set("active",0),this.sender=null}async toggleDialog(){this.isOpen?this.closeDialog():this.openDialog()}async openDialog(){this.isOpen=!0;const t=this.editor.Panels.getPanel("options")?.view.el.querySelector(".publish-button");if(t){const e=t.getBoundingClientRect(),n=450,r=20,o=50;this.move({left:e.right-n-r,top:e.bottom+10,width:n,minHeight:o})}else console.error("Unable to find publish button");this.renderDialog(null,Hr.STATUS_NONE)}}var Or;function Tr(t,e){t.Pages.getAll().forEach((t=>{t.getMainComponent().onAll((t=>e(t)))}))}!function(t){t.STARTUP_START="silex:startup:start",t.STARTUP_END="silex:startup:end",t.GRAPESJS_START="silex:grapesjs:start",t.GRAPESJS_END="silex:grapesjs:end",t.PUBLISH_START="silex:publish:start",t.PUBLISH_DATA="silex:publish:data",t.PUBLISH_END="silex:publish:end",t.PUBLISH_ERROR="silex:publish:error",t.PUBLISH_LOGIN_START="silex:publish:login:start",t.PUBLISH_LOGIN_END="silex:publish:login:end",t.ASSET_WRITE_END="silex:asset:write:end",t.WRITE_END="silex:write:end"}(Or||(Or={}));const Er="tmp-pre-publication-transformer-tohtml",kr="tmp-pre-publication-transformer-src",Ar="tmp-pre-publication-transformer-attributes-src",Pr="tmp-pre-publication-transformer-inline-css",jr="tmp-pre-publication-transformer-href",Mr="tmp-pre-publication-transformer-tocss";function Lr(t,e){const n=e["background-image"],r=n?.match(/url\(["']?(.*?)["']?\)/)?.pop();return r?{...e,"background-image":`url(${Nr(t,r,$.ASSET)})`}:e}function Nr(t,e,n){return t.getModel().get("config").publicationTransformers.reduce(((t,e)=>{try{return e.transformPermalink?e.transformPermalink(t,n)??t:t}catch(e){return console.error("Publication transformer: error transforming path",t,e),t}}),e)}function Ir(t,e,n){return t.getModel().get("config").publicationTransformers.reduce(((t,e)=>{try{return e.transformPath?e.transformPath(t,n)??t:t}catch(e){return console.error("Publication transformer: error transforming path",t,e),t}}),e)}const Dr="publish",$r="publish-login",Rr="publish-logout";var Hr;function Fr(t,e){t.PublicationManager=new Br(t,e)}function Vr(t){switch(t){case H.IN_PROGRESS:return Hr.STATUS_PENDING;case H.ERROR:return Hr.STATUS_ERROR;case H.SUCCESS:return Hr.STATUS_SUCCESS}throw new Error(`Unknown job status ${t}`)}!function(t){t.STATUS_NONE="STATUS_NONE",t.STATUS_PENDING="STATUS_PENDING",t.STATUS_ERROR="STATUS_ERROR",t.STATUS_SUCCESS="STATUS_SUCCESS",t.STATUS_LOGGED_OUT="STATUS_AUTH_ERROR"}(Hr||(Hr={}));const Ur=window.location.origin+window.location.pathname.replace(/\/$/,"");class Br{editor;dialog;_settings;get settings(){return this._settings}set settings(t){this._settings=t,this.dialog&&(this.dialog.settings=t)}options;job=null;status=Hr.STATUS_NONE;constructor(t,e){this.editor=t,this.options={appendTo:"options",...e},t.on("storage:start:store",(t=>{t.publication=this.settings})),t.on("storage:end:load",(t=>{this.settings=t.publication??{},gn({type:R.HOSTING,connectorId:this.settings.connector?.connectorId}).then((t=>{})).catch((t=>{this.status=Hr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError("Please login",this.job,this.status)}))})),t.Commands.add(Dr,(()=>this.startPublication())),t.Commands.add($r,((t,e,n)=>this.goLogin(n))),t.Commands.add(Rr,(()=>this.goLogout())),this.options.appendTo?this.dialog=new Sr(t,{appendTo:this.options.appendTo}):console.info("PublicationUi is disabled because no appendTo option is set")}async goLogin(t){if(t.isLoggedIn)return this.settings={...this.settings,connector:t},this.status=Hr.STATUS_NONE,this.editor.store(null),void(this.dialog&&this.dialog.displayPending(this.job,this.status));this.settings={},this.status=Hr.STATUS_LOGGED_OUT,this.dialog&&this.dialog.displayPending(this.job,this.status);const e=t.connectorId,n=t.type;return window.open(t.oauthUrl||`${Ur}${f}${h}${y}?connectorId=${e}&type=${n}`,"_blank"),new Promise((e=>{const n=async e=>{const r=e.data;"login"===r?.type&&(window.removeEventListener("message",n),r.error?(this.status=Hr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError(r.message,this.job,this.status)):(this.editor.trigger(Or.PUBLISH_LOGIN_END),this.settings.connector=t,this.settings.options=r.options,this.status=Hr.STATUS_NONE,this.editor.store(null),this.dialog&&this.dialog.displayPending(this.job,this.status)))};window.addEventListener("message",n,!1)}))}async goLogout(){try{await vn({type:R.HOSTING,connectorId:this.settings.connector.connectorId}),this.settings={},this.dialog&&this.dialog.displayPending(this.job,this.status)}catch(t){console.error("logout error",t),this.status=Hr.STATUS_ERROR,this.dialog&&this.dialog.displayError(t.message,this.job,this.status)}}async startPublication(){if(this.status===Hr.STATUS_PENDING)throw new Error("Publication is already in progress");this.status=Hr.STATUS_PENDING,this.job=null,this.dialog&&this.dialog.displayPending(this.job,this.status),this.editor.trigger(Or.PUBLISH_START);const t=this.editor.getModel().get("user");if(!t)throw new Error("User not logged in to a storage connector");if(!this.settings.connector?.connectorId)throw new Error("User not logged in to a hosting connector");const e=this.options.websiteId,n=t.storage.connectorId;this.setPublicationTransformers();const r=this.editor.getProjectData(),o=this.editor.getModel().get("settings"),i=(await this.getHtmlFiles(o)).flatMap((t=>[{path:t.htmlPath,content:t.html,type:$.HTML},{path:t.cssPath,content:t.css,type:$.CSS}])).concat(r.assets.map((t=>{const e=Ir(this.editor,t.src,$.ASSET),n=Nr(this.editor,t.src,$.ASSET);return{...t,path:e,src:n,type:$.ASSET}}))),a={...r,settings:o,publication:this.settings,files:i};this.resetPublicationTransformers(),function(t,e){const n=t.getModel().get("config");e.files=n.publicationTransformers.reduce(((t,n)=>t.map(((t,r)=>{try{return e.pages[r],n.transformFile?n.transformFile(t)??t:t}catch(e){return console.error("Publication transformer: error transforming file",t,e),t}}))),e.files)}(this.editor,a),this.editor.trigger(Or.PUBLISH_DATA,a);try{const[t,r]=await mn({websiteId:e,hostingId:this.settings.connector.connectorId,storageId:n,data:a,options:this.settings.options});this.job=r,this.status=Vr(this.job.status),this.trackProgress()}catch(t){return console.error("publish error",t),401===t.code||401===t.httpStatusCode?(this.status=Hr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError("Please login.",this.job,this.status)):(this.status=Hr.STATUS_ERROR,this.dialog&&this.dialog.displayError(`An error occured, your site is not published. ${t.message}`,this.job,this.status)),this.editor.trigger(Or.PUBLISH_ERROR,{success:!1,message:t.message}),void this.editor.trigger(Or.PUBLISH_END,{success:!1,message:t.message})}}async getHtmlFiles(t){return this.editor.Pages.getAll().map((e=>{const n=e.get("settings");function r(e){return(n||{})[e]||(t||[])[e]||""}const o=e.getMainComponent(),i=yr(e.get("name")),a=`/css/${i}.css`,s=`/${i}.html`,l=Nr(this.editor,a,$.CSS),c=Ir(this.editor,a,$.CSS),u=Ir(this.editor,s,$.HTML),p=this.editor.getHtml({component:o});return{html:`<!DOCTYPE html>\n<html lang="${r("lang")}">\n<head>\n<link rel="stylesheet" href="${l}" />\n${t?.head||""}\n${n?.head||""}\n<title>${r("title")}</title>\n<link rel="icon" href="${r("favicon")}" />\n${["description","og:title","og:description","og:image"].map((t=>`<meta property="${t}" content="${r(t)}"/>`)).join("\n")}\n</head>\n${p}\n</html>`,css:this.editor.getCss({component:o}),cssPath:c,htmlPath:u}}))}async trackProgress(){try{this.job=await yn({jobId:this.job.jobId}),this.status=Vr(this.job.status)}catch(t){return this.status=Hr.STATUS_ERROR,this.dialog&&this.dialog.displayError(`An error occured, your site is not published. ${t.message}`,this.job,this.status),this.editor.trigger(Or.PUBLISH_END,{success:!1,message:t.message}),void this.editor.trigger(Or.PUBLISH_ERROR,{success:!1,message:t.message})}this.job.status===H.IN_PROGRESS?setTimeout((()=>this.trackProgress()),2e3):this.editor.trigger(Or.PUBLISH_END,{success:this.job.status===H.SUCCESS,message:this.job.message}),this.dialog&&this.dialog.displayPending(this.job,this.status)}setPublicationTransformers(){!function(t){const e=t.getModel().get("config");Tr(t,(n=>{if(n.get(Er))console.warn("Publication transformer: HTML transform already altered",n);else{const r=n.toHTML.bind(n);n[Er]=n.toHTML;const o=n.getStyle.bind(n);n[Pr]=n.getStyle;const i=n.get("attributes").href;if(i?.startsWith("./")&&(n[jr]=i,n.set("attributes",{...n.get("attributes"),href:Nr(t,i,$.HTML)})),n.get("attributes").src){n[kr]=n.get("attributes").src;const e=Nr(t,n.get("attributes").src,$.ASSET);n.set("attributes",{...n.get("attributes"),src:e})}if(n.get("src")){n[Ar]=n.get("src");const e=Nr(t,n.get("src"),$.ASSET);n.set("src",e)}n.toHTML=()=>e.publicationTransformers.reduce(((t,e)=>{try{return e.renderComponent?e.renderComponent(n,(()=>t))??t:t}catch(e){return console.error("Publication transformer: error rendering component",n,e),t}}),r()),n.getStyle=()=>Lr(t,o())}}))}(this.editor),function(t){const e=t.getModel().get("config");t.Css.getAll().forEach((n=>{if(n[Mr])console.warn("Publication transformer: CSS transform already altered",n);else{const r=n.getStyle.bind(n);n[Mr]=n.getStyle,n.getStyle=()=>{try{const n=e.publicationTransformers.reduce(((t,e)=>({...e.renderCssRule?e.renderCssRule(t,r)??t:t})),Lr(t,r()));return n}catch(t){return console.error("Publication transformer: error rendering style",n,t),r()}}}}))}(this.editor)}resetPublicationTransformers(){!function(t){Tr(t,(t=>{t[Er]&&(t.toHTML=t[Er],delete t[Er]),t[Pr]&&(t.getStyle=t[Pr],delete t[Pr]),t[kr]&&(t.set("attributes",{...t.get("attributes"),src:t[kr]}),delete t[kr]),t[Ar]&&(t.set("src",t[Ar]),delete t[Ar]),t[jr]&&(t.set("attributes",{...t.get("attributes"),href:t[jr]}),delete t[jr])}))}(this.editor),function(t){t.Css.getAll().forEach((t=>{t[Mr]&&(t.getStyle=t[Mr],delete t[Mr])}))}(this.editor)}}const zr=[{name:"./project-bar",value:ar},{name:"grapesjs-style-bg",value:Kn()},{name:"./settings",value:(t,e)=>{try{pr="3.0.0-alpha.110"}catch(t){}console.info("Silex version:",pr),t.Commands.add(ur,{run:(e,n,{page:r})=>{cr=t.Modal.open({title:r?"Page settings":"Site Settings",content:"",attributes:{class:"settings-dialog"}}).onceClose((()=>{n?.set&&n.set("active",0),t.stopCommand(ur)})),function(t,e,n=t.getModel()){const r=n.get("settings")||{};n.set("settings",r),je(de`
232
232
  <p>The page settings will override site settings, <a href="https://github.com/silexlabs/Silex/wiki/Settings" target="_blank">more info about settings here</a>.</p>
233
233
  <form class="silex-form">
234
234
  <h2>General settings</h2>
@@ -317,4 +317,4 @@ var silex;(()=>{var t={99:function(t){"undefined"!=typeof globalThis?globalThis:
317
317
  <option value="${t}" ?selected=${e.toUpperCase()===t}>${t}</option>
318
318
  `))}
319
319
  </select>
320
- `,t)}function r(e){n(e,t.getSelected()?.get("tagName")||"")}t.DomComponents.getTypes().map((e=>{t.DomComponents.addType(e.id,{model:{defaults:{traits:[...t.DomComponents.getType(e.id).model.prototype.defaults.traits,{label:"Tag name",type:"tag-name",name:"tag-name"}]}}})})),t.TraitManager.addType("tag-name",{createInput({trait:e}){const n=document.createElement("div");return t.on("page",(()=>r(n))),r(n),n},onEvent({elInput:t,component:e,event:n}){const r=t.querySelector("#semantic__select").value;e.get("tagName").toUpperCase()===r.toUpperCase()||e.set("tagName",r)},onUpdate({elInput:t,component:e}){n(t,e.get("tagName"))}})}},{name:"./rich-text",value:(t,e)=>{t.RichTextEditor.add("orderedList",{icon:"1.",attributes:{title:"Ordered List"},result:t=>t.exec("insertOrderedList")}),t.RichTextEditor.add("unorderedList",{icon:'<i class="fa fa-list-ul"></i>',attributes:{title:"Unordered List"},result:t=>t.exec("insertUnorderedList")})}},{name:"grapesjs-style-filter",value:lt()},{name:"grapesjs-plugin-forms",value:ut()},{name:"grapesjs-custom-code",value:dt()},{name:"./internal-links",value:_r},{name:"@silexlabs/grapesjs-ui-suggest-classes",value:ht()},{name:"@silexlabs/grapesjs-filter-styles",value:vt()},{name:"./symbolDialogs",value:(t,e)=>{t.Commands.add(un,{run:(e,n)=>{const r=prompt("Label",function(e){let n=1;for(;t.Symbols.find((t=>t.get("label")===e+n));)n++;return e+n}("Symbol "));t.runCommand(rn,{label:r,icon:"fa-gem"})}})}},{name:"@silexlabs/grapesjs-symbols",value:on},{name:"./PublicationManager",value:Fr},{name:"./storage",value:t=>{function e(e){const n="string"==typeof e?JSON.parse(e):e;if(console.error("Error with loading or saving website or uploading asset",n,n instanceof N),!(n instanceof N))return t.Modal.open({title:"Error",content:`An error occured.<br>${n.message}`});switch(console.error("ApiError",n.httpStatusCode,n.message),n.httpStatusCode){case 404:return t.Modal.open({title:"Website not found",content:`This website could not be found.<br><hr>${n.message}`});case 403:return t.Modal.open({title:"Access denied",content:`You are not allowed to access this website.<br><hr>${n.message}`});case 401:return void t.trigger(In);default:return t.Modal.open({title:"Error",content:`An error occured.<br>${n.message}`})}}t.Storage.add("connector",{async load(e){try{const i=await Dn(t)??await $n(t,R.STORAGE,e.connectorId);if(!i)throw new N("Not logged in",401);const a=await _n({websiteId:e.id,connectorId:i.storage.connectorId});return a.assets&&(a.assets=(n=a.assets,r=e.id,o=i.storage.connectorId,n.map((t=>t.src?{...t,src:U(t.src,r,o)}:t)))),a.pages&&(a.pages=function(t,e,n){return t.map((t=>({...t,frames:t.frames.map((t=>({...t,component:W(t.component,e,n)})))})))}(a.pages,e.id,i.storage.connectorId)),a.styles&&(a.styles=function(t,e,n){return new RegExp(/(.*)(url\((["']?)([^"']+?)\1\))*(.*)/,"g"),t.map((t=>{if(t.style&&t.style["background-image"]){const r=t.style["background-image"].replace(/url\((['"]?)([^'"]+)\1\)/g,((t,r,o)=>`url(${r}${U(o,e,n)}${r})`));return{...t,style:{...t.style,"background-image":r}}}return t}))}(a.styles,e.id,i.storage.connectorId)),a}catch(n){throw 401===n.httpStatusCode&&(t.once(Ln,(async()=>{try{t.StorageManager.setAutosave(!1);const n=await t.Storage.load(e);t.StorageManager.setAutosave(!0),t.loadProjectData(n)}catch(t){throw console.error("connectorPlugin load error",t),t}})),t.Commands.run(Pn)),console.error("connectorPlugin load error",n),n}var n,r,o},async store(e,n){try{if(await Dn(t)){const r=await Dn(t);e.assets=e.assets.map((t=>t.src?{...t,src:B(t.src)}:t)),e.pages=e.pages.map((t=>({...t,frames:t.frames.map((t=>({...t,component:q(t.component)})))}))),e.styles=e.styles.map((t=>{if(t.style&&t.style["background-image"]){const e=t.style["background-image"].replace(/url\((['"]?)([^'"]+)\1\)/g,((t,e,n)=>`url(${e}${B(n)}${e})`));return{...t,style:{...t.style,"background-image":e}}}return t})),await xn({websiteId:n.id,connectorId:r.storage.connectorId,data:e})}else t.once(Ln,(()=>t.Storage.store())),t.Commands.run(Pn)}catch(t){throw console.error("connectorPlugin store error",t),t}}}),t.on("storage:error:load",(t=>{e(t)})),t.on("storage:error:store",(t=>{e(t)})),t.on("asset:upload:end",(e=>{t.store()})),t.on("asset:upload:error",(t=>{e(t)}))}},{name:"./LoginDialog",value:Vn},{name:"@silexlabs/grapesjs-loading",value:sn()},{name:"./breadcrumbs",value:function(t,e){let n;var r;function o(){let e=t.getSelected()??t.Pages.getSelected().getMainComponent();if(!n)return;for(n.innerHTML="";e;){const t=i(e);n.prepend(t),e=e.parent()}const r=document.createElement("span");r.innerHTML="<h3>Selection:&nbsp;</h3>",n.prepend(r)}function i(e){const n=document.createElement("span");return e.model,n.onclick=()=>{t.select(e)},n.classList.add("breadcrumb"),n.innerHTML=`<span>${e.getName()??e.get("tagName")}</span>`,n}r=t=>{n=document.createElement("div"),n.id="breadcrumbs-container",t.prepend(n);const e=document.createElement("style");e.innerHTML='\n #breadcrumbs-container {\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 10px;\n font-size: 12px;\n color: #999;\n overflow-x: auto;\n overflow-y: hidden;\n }\n #breadcrumbs-container h3 {\n font-size: inherit;\n margin: 0;\n }\n #breadcrumbs-container .breadcrumb {\n margin: 0 5px;\n font-size: 14px;\n line-height: 1;\n cursor: pointer;\n white-space: nowrap;\n }\n #breadcrumbs-container .breadcrumb::after {\n content: "➔";\n margin-left: 10px;\n }\n\n #breadcrumbs-container .breadcrumb:last-child::after {\n content: "";\n }\n ',t.prepend(e),o()},Un?r(Un):Bn.push(r),t.on("component:selected style:target component:drag:end",(()=>o()))}},{name:"./img",value:(t,e)=>{e={labelSrc:"Image URL",placeholderSrc:"https://example.com/image.jpg",...e},t.TraitManager.addType("src",{events:{change:"onChange"},templateInput:()=>`\n <div class="gjs-field gjs-field-trad">\n <label class="gjs-label">${e.labelSrc}</label>\n <input type="text" class="gjs-field" placeholder="${e.placeholderSrc}" />\n </div>\n `,getInputEl(){return this.inputEl||(this.inputEl=this.templateInput()),this.inputEl},onValueChange(){this.setValue(this.getInputEl().value)},setValue(t){this.getInputEl().value=t},getValue(){return this.getInputEl().value}}),t.DomComponents.addType("image",{model:{defaults:{...t.DomComponents.getType("image").model.prototype.defaults,traits:[...t.DomComponents.getType("image").model.prototype.defaults.traits.filter((t=>!["href","tag-name","src"].includes(t.name))),"src"]}}}),t.on("load",(()=>{const e=t.StyleManager.addSector("image",{name:"Image",open:!1,properties:[{label:"object-fit",property:"object-fit",type:"select",default:"",options:[{id:"",label:""},{id:"fill",label:"fill"},{id:"contain",label:"contain"},{id:"cover",label:"cover"},{id:"none",label:"none"},{id:"scale-down",label:"scale-down"},{id:"initial",label:"initial"},{id:"inherit",label:"inherit"},{id:"auto",label:"auto"}]},{label:"object-position",property:"object-position",type:"select",default:"",options:[{id:"",label:""},{id:"left top",label:"left top"},{id:"left center",label:"left center"},{id:"left bottom",label:"left bottom"},{id:"right top",label:"right top"},{id:"right center",label:"right center"},{id:"right bottom",label:"right bottom"},{id:"center top",label:"center top"},{id:"center center",label:"center center"},{id:"center bottom",label:"center bottom"},{id:"initial",label:"initial"},{id:"inherit",label:"inherit"},{id:"unset",label:"unset"}]}]},{at:1});let n=!1;t.on("component:selected",(t=>{t&&"image"===t.get("type")?n=!0:(n=!1,e.set("visible",!1))})),e.on("change:visible",((t,r)=>{e.get("visible")!==n&&e.set("visible",n)}))}))}},{name:"./css-props",value:(t,e)=>{t.on("load",(()=>{t.StyleManager.addProperty("dimension",{name:"Min width",property:"min-width",type:"integer",units:["px","%","em"],default:"auto",fixedValues:["inherit","initial","unset","none","max-content","min-content","fit-content"]},{at:2}),t.StyleManager.addProperty("dimension",{name:"Max height",property:"max-height",type:"integer",units:["px","%","em"],default:"auto",fixedValues:["inherit","initial","unset","none","max-content","min-content","fit-content"]},{at:5}),t.StyleManager.addProperty("dimension",{name:"Overflow",property:"overflow",type:"composite",properties:[{name:"Overflow X",type:"radio",options:[{value:"auto",name:"auto"},{value:"hidden",name:"hidden"},{value:"visible",name:"visible"},{value:"scroll",name:"scroll"}]},{name:"Overflow Y",type:"radio",options:[{value:"auto",name:"auto"},{value:"hidden",name:"hidden"},{value:"visible",name:"visible"},{value:"scroll",name:"scroll"}]}],info:"The overflow CSS property sets what to do when an element's content is too big to fit in its block formatting context. It is a shorthand for overflow-x and overflow-y."},{at:6}),t.StyleManager.addProperty("extra",{name:"Z index",property:"z-index",type:"slider",step:1,min:-1e4,max:1e4,units:[],info:"Stacking order of the element",default:"auto",fixedValues:["auto","unset","initial","inherit","revert"]},{at:1}),t.StyleManager.addProperty("extra",{name:"Pointer events",property:"pointer-events",type:"select",defaults:"auto",options:[{value:"auto",name:"auto"},{value:"none",name:"none"},{value:"visiblePainted",name:"visiblePainted"},{value:"visibleFill",name:"visibleFill"},{value:"visibleStroke",name:"visibleStroke"},{value:"visible",name:"visible"},{value:"painted",name:"painted"},{value:"fill",name:"fill"},{value:"stroke",name:"stroke"},{value:"all",name:"all"}],info:"The pointer-events CSS property sets under what circumstances (if any) a particular graphic element can become the target of pointer events."},{at:2}),t.StyleManager.addProperty("extra",{name:"Cursor",property:"cursor",type:"select",defaults:"auto",options:[{value:"auto",name:"auto"},{value:"default",name:"default"},{value:"none",name:"none"},{value:"context-menu",name:"context-menu"},{value:"help",name:"help"},{value:"pointer",name:"pointer"},{value:"progress",name:"progress"},{value:"wait",name:"wait"},{value:"cell",name:"cell"},{value:"crosshair",name:"crosshair"},{value:"text",name:"text"},{value:"vertical-text",name:"vertical-text"},{value:"alias",name:"alias"},{value:"copy",name:"copy"},{value:"move",name:"move"},{value:"no-drop",name:"no-drop"},{value:"not-allowed",name:"not-allowed"},{value:"grab",name:"grab"},{value:"grabbing",name:"grabbing"},{value:"all-scroll",name:"all-scroll"},{value:"col-resize",name:"col-resize"},{value:"row-resize",name:"row-resize"},{value:"n-resize",name:"n-resize"},{value:"e-resize",name:"e-resize"},{value:"s-resize",name:"s-resize"},{value:"w-resize",name:"w-resize"},{value:"ne-resize",name:"ne-resize"},{value:"nw-resize",name:"nw-resize"},{value:"se-resize",name:"se-resize"},{value:"sw-resize",name:"sw-resize"},{value:"ew-resize",name:"ew-resize"},{value:"ns-resize",name:"ns-resize"},{value:"nesw-resize",name:"nesw-resize"},{value:"nwse-resize",name:"nwse-resize"},{value:"zoom-in",name:"zoom-in"},{value:"zoom-out",name:"zoom-out"}],info:"The cursor CSS property sets the type of mouse cursor, if any, to show when the mouse pointer is over an element."},{at:3}),t.StyleManager.addProperty("extra",{name:"Column count",property:"column-count",type:"integer",units:[],info:"The column-count CSS property breaks an element's content into the specified number of columns.",default:"auto",fixedValues:["auto","inherit","initial","revert","unset"],min:1},{at:4}),t.StyleManager.addProperty("extra",{name:"Column width",property:"column-width",type:"integer",units:["px","%","em"],info:"The column-width CSS property suggests an optimal column width. This is not a absolute value but a mere hint. Browser will adjust the width of the element automatically.",default:"auto",fixedValues:["auto","inherit","initial","revert","unset"]},{at:5}),t.StyleManager.addProperty("extra",{name:"Column gap",property:"column-gap",type:"integer",units:["px","%","em"],info:"The column-gap CSS property sets the size of the gap (gutter) between an element's columns.",default:"normal",fixedValues:["normal","inherit","initial","revert","unset"]},{at:5}),t.StyleManager.addProperty("extra",{name:"Column rule",property:"column-rule",type:"composite",properties:[{name:"Column rule width",property:"column-rule-width",type:"integer",units:["px","%","em"],info:"The column-rule-width CSS property sets the width of the line drawn between columns in a multi-column layout.",default:"medium",fixedValues:["medium","thin","thick","inherit","initial","revert","unset"]},{name:"Column rule style",property:"column-rule-style",type:"select",defaults:"none",options:[{value:"none",name:"none"},{value:"hidden",name:"hidden"},{value:"dotted",name:"dotted"},{value:"dashed",name:"dashed"},{value:"solid",name:"solid"},{value:"double",name:"double"},{value:"groove",name:"groove"},{value:"ridge",name:"ridge"},{value:"inset",name:"inset"},{value:"outset",name:"outset"},{value:"inherit",name:"inherit"}],info:"The column-rule-style CSS property sets the style of the line drawn between columns in a multi-column layout."},{name:"Column rule color",property:"column-rule-color",type:"color",defaults:"none",info:"The column-rule-color CSS property sets the color of the line drawn between columns in a multi-column layout."}]},{at:6}),t.StyleManager.addProperty("extra",{name:"Column span",property:"column-span",type:"select",defaults:"none",options:[{value:"none",name:"none"},{value:"all",name:"all"}],info:"The column-span CSS property makes it possible for an element to span across all columns when its value is set to all."},{at:7}),t.StyleManager.addProperty("decorations",{name:"Outline",property:"outline",type:"composite",properties:[{name:"Outline width",property:"outline-width",type:"integer",units:["px","%","em"],info:"The outline-width CSS property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the border.",default:"medium",fixedValues:["medium","thin","thick","inherit","initial","revert","unset"]},{name:"Outline style",property:"outline-style",type:"select",defaults:"none",options:[{value:"none",name:"none"},{value:"hidden",name:"hidden"},{value:"dotted",name:"dotted"},{value:"dashed",name:"dashed"},{value:"solid",name:"solid"},{value:"double",name:"double"},{value:"groove",name:"groove"},{value:"ridge",name:"ridge"},{value:"inset",name:"inset"},{value:"outset",name:"outset"}],info:"The outline-style CSS property sets the style of an element's outline. An outline is a line that is drawn around an element, outside the border."},{name:"Outline color",property:"outline-color",type:"color",defaults:"none",info:"The outline-color CSS property sets the color of an element's outline."}]},{at:8}),t.StyleManager.addProperty("typography",{name:"Word break",property:"word-break",type:"select",defaults:"normal",options:[{value:"normal",name:"normal"},{value:"break-all",name:"break-all"},{value:"keep-all",name:"keep-all"},{value:"break-word",name:"break-word"}],info:"The word-break CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box."},{at:7}),t.StyleManager.addProperty("typography",{name:"Word wrap",property:"word-wrap",type:"radio",defaults:"normal",options:[{value:"normal",name:"normal"},{value:"break-word",name:"break-word"}],info:"The word-wrap CSS property sets whether the line may be broken within a word in order to prevent overflow when an otherwise unbreakable string is too long to fit in its containing box."},{at:8}),t.StyleManager.addProperty("typography",{name:"White space",property:"white-space",type:"select",defaults:"normal",options:[{value:"normal",name:"normal"},{value:"nowrap",name:"nowrap"},{value:"pre",name:"pre"},{value:"pre-wrap",name:"pre-wrap"},{value:"pre-line",name:"pre-line"},{value:"break-spaces",name:"break-spaces"}],info:"The white-space CSS property sets how white space inside an element is handled."},{at:9}),t.StyleManager.addProperty("typography",{name:"Text decoration",property:"text-decoration",type:"composite",properties:[{name:"Text decoration line",property:"text-decoration-line",type:"select",defaults:"none",fixedValues:["auto","inherit","initial","revert","unset"],options:[{value:"none",name:"none"},{value:"underline",name:"underline"},{value:"overline",name:"overline"},{value:"line-through",name:"line-through"},{value:"blink",name:"blink"}],info:"The text-decoration CSS property sets the appearance of decorative lines on text."},{name:"Text decoration style",property:"text-decoration-style",type:"select",defaults:"solid",options:[{value:"solid",name:"solid"},{value:"double",name:"double"},{value:"dotted",name:"dotted"},{value:"dashed",name:"dashed"},{value:"wavy",name:"wavy"}],info:"The text-decoration-style CSS property sets the style of the lines specified by text-decoration-line. The style applies to all lines, there is no way to define different styles for each of the lines."},{name:"Text decoration color",property:"text-decoration-color",type:"color",defaults:"initial",fixedValues:["inherit","initial","revert","unset"],info:"The text-decoration-color CSS property sets the color of decorations added to text by text-decoration-line."},{name:"Text decoration thickness",property:"text-decoration-thickness",type:"integer",units:["px","%","em"],info:"The text-decoration-thickness CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline.",default:"auto",fixedValues:["auto","inherit","initial","revert","unset"]}]},{at:10}),t.StyleManager.addProperty("typography",{name:"Text transform",property:"text-transform",type:"select",defaults:"none",options:[{value:"none",name:"none"},{value:"capitalize",name:"capitalize"},{value:"uppercase",name:"uppercase"},{value:"lowercase",name:"lowercase"}],info:"The text-transform CSS property sets how to capitalize an element's text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized."},{at:11}),t.StyleManager.addProperty("typography",{name:"Text overflow",property:"text-overflow",type:"select",defaults:"clip",options:[{value:"clip",name:"clip"},{value:"ellipsis",name:"ellipsis"}],info:"The text-overflow CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('…', U+2026 HORIZONTAL ELLIPSIS) or a Web author-defined string. It covers the two long-hand properties text-overflow-clip and text-overflow-string."},{at:12});const e=t.StyleManager.addProperty("general",{name:"Content",property:"content",type:"text",defaults:"none",info:"The content CSS property replaces an element with a generated value. Objects inserted using the content property are anonymous replaced elements.",full:!0,visible:!1},{at:0});function n(){const n=t.SelectorManager.getState();["before","after"].includes(n)?e.set("visible",!0):e.set("visible",!1)}t.on("selector:state component:selected style:sector:update",((t,e)=>setTimeout((()=>n())))),t.StyleManager.getSector("general").on("change",(()=>n())),t.SelectorManager.states.add({name:"before",label:"Before"}),t.SelectorManager.states.add({name:"after",label:"After"}),t.SelectorManager.states.add({name:"active",label:"Active"}),t.SelectorManager.states.add({name:"first-child",label:"First child"}),t.SelectorManager.states.add({name:"last-child",label:"Last child"}),t.SelectorManager.states.add({name:"focus",label:"Focus"}),t.SelectorManager.states.add({name:"visited",label:"Visited"}),t.SelectorManager.states.add({name:"link",label:"Link"}),t.SelectorManager.states.add({name:"first-letter",label:"First letter"}),t.SelectorManager.states.add({name:"first-line",label:"First line"}),t.SelectorManager.states.add({name:"selection",label:"Selection"}),t.SelectorManager.states.add({name:"empty",label:"Empty"}),t.SelectorManager.states.add({name:"enabled",label:"Enabled"}),t.SelectorManager.states.add({name:"disabled",label:"Disabled"}),t.SelectorManager.states.add({name:"checked",label:"Checked"}),t.SelectorManager.states.add({name:"indeterminate",label:"Indeterminate"}),t.SelectorManager.states.add({name:"placeholder-shown",label:"Placeholder shown"}),t.SelectorManager.states.add({name:"placeholder",label:"Placeholder"}),t.SelectorManager.states.add({name:"default",label:"Default"}),t.SelectorManager.states.add({name:"valid",label:"Valid"}),t.SelectorManager.states.add({name:"invalid",label:"Invalid"}),t.SelectorManager.states.add({name:"in-range",label:"In range"}),t.SelectorManager.states.add({name:"out-of-range",label:"Out of range"}),t.SelectorManager.states.add({name:"required",label:"Required"}),t.SelectorManager.states.add({name:"optional",label:"Optional"}),t.SelectorManager.states.add({name:"read-only",label:"Read only"}),t.SelectorManager.states.add({name:"read-write",label:"Read write"})}))}},{name:"./footer",value:function(t,e){const n=t.Panels.addPanel({id:"footer",visible:!0,buttons:[{id:"myNewButton",className:"someClass",command:"someCommand",attributes:{title:"Some title"},active:!1}]});setTimeout((()=>{Un=n.view?.el,Bn.forEach((t=>t(Un))),Bn=[]}))}},{name:"@silexlabs/grapesjs-storage-rate-limit",value:zn},{name:"grapesjs-style-border",value:qn()}];zr.filter((t=>"function"!=typeof t.value)).forEach((t=>{throw new Error(`Plugin ${t.name} could not be loaded correctly (${t.value})`)}));const Wr="#333333",qr="#ddd",Gr="#8873FE",Kr="#A291FF",Yr="#363636",Xr="#575757",Jr="Containers",Zr="Components";function Qr(t,e,n){return{container:"#gjs",height:"100%",showOffsets:!0,showDevices:!0,layerManager:{appendTo:".layer-manager-container"},blockManager:{appendTo:".block-manager-container"},assetManager:{upload:`${n}${f}${S}${j}/?websiteId=${t}${e?`&connectorId=${e}`:""}`},storageManager:{autoload:!1,type:"connector",options:{connector:{id:t,connectorId:e}}},cssIcons:"./css/all.min.css",canvasCss:`\n :root {\n --primaryColor: ${Wr};\n --secondaryColor: ${qr};\n --tertiaryColor: ${Gr};\n --quaternaryColor: ${Kr};\n --darkerPrimaryColor: ${Yr};\n --lighterPrimaryColor: ${Xr};\n }\n .gjs-frame-selected {\n box-shadow: 0 0 0 2px rgba(255, 0, 0, 0.5) !important; // Change to red border\n }\n .gjs-selected {\n outline: 2px solid var(--tertiaryColor) !important;\n outline-offset: -2px;\n }\n `,plugins:zr.map((t=>t.value)),pluginsOpts:{[at()]:{blocks:["text","image","video","map"],category:Jr},[ar]:{panels:[{id:"dash",className:"logo",attributes:{title:"Dashboard"},command:()=>{window.location.href="/"}},{id:"block-manager-btn",className:"block-manager-btn fa fa-fw fa-plus",attributes:{title:"Blocks",containerClassName:"block-manager-container"},command:"open-blocks"},{id:"symbols-btn",className:"symbols-btn fa-regular fa-gem",attributes:{title:"Symbols",containerClassName:"symbols-list-container"},command:"open-symbols",buttons:[{id:"symbol-create-button",className:"pages__add-page fa-solid fa-plus",label:"Create symbol from selection",command:un}]},{id:"page-panel-btn",className:"page-panel-btn fa fa-fw fa-file",attributes:{title:"Pages",containerClassName:"page-panel-container"},command:Xn,buttons:[{className:"pages__add-page fa fa-file",command:Jn,text:"+"}]},{id:"layer-manager-btn",className:"layer-manager-btn fa-solid fa-layer-group",attributes:{title:"Layers",containerClassName:"layer-manager-container"},command:"open-layers"},{id:"font-dialog-btn",className:"font-manager-btn fa-solid fa-font",attributes:{title:"Fonts"},command:()=>{to.runCommand(ln.cmdOpenFonts)}},{id:"settings-dialog-btn",className:"page-panel-btn fa-solid fa-gears",attributes:{title:"Settings"},command:ur},{id:"spacer",attributes:{},className:"project-bar-spacer"},{id:"dash2",className:"fa-solid fa-house",attributes:{title:"Dashboard"},command:()=>{window.location.href="/"}},{id:"help",className:"fa fa-fw fa-question-circle",attributes:{title:"Documentation"},command:()=>{window.open("https://docs.silex.me/","_blank")}},{id:"logout-button",className:"page-panel-btn fa fa-fw fa-sign-out",attributes:{title:"Sign out"},command:jn}]},[Fr]:{appendTo:"options",websiteId:t},[Qn]:{cmdOpenNewPageDialog:ir,cmdOpenSettings:ur,appendTo:".page-panel-container"},[ht()]:{enableCount:!1,enablePerformance:!1},[vt()]:{appendBefore:".gjs-sm-sectors"},[_r]:{onError:t=>console.warn("Links errors:",t)},[dt()]:{blockLabel:"HTML",blockCustomCode:{category:Zr}},[on]:{appendTo:".symbols-list-container",emptyText:"No symbol yet.",primaryColor:Wr,secondaryColor:qr,highlightColor:Gr},[cn()]:{api_key:"AIzaSyAdJTYSLPlKz4w5Iqyy-JAF2o8uQKd1FKc"},[Vn]:{id:t},[zn]:{time:5e3}}}}let to;async function eo(t){if(to)throw new Error("Grapesjs editor already created");return new Promise(((e,n)=>{try{to=ot().init(t)}catch(t){console.error("Error initializing GrapesJs with plugins:",zr,t),n(t)}["text"].forEach((t=>to.Blocks.get(t)?.set("category","Basics"))),["image","video"].forEach((t=>to.Blocks.get(t)?.set("category","Media"))),["map"].forEach((t=>to.Blocks.get(t)?.set("category","Components"))),to.Blocks.render([]),to.Commands.add("gjs-open-import-webpage",function(t,e){const n=t.getConfig("stylePrefix"),r=t.Modal,o=t.CodeManager.getViewer("CodeMirror").clone(),i=document.createElement("div"),a=e.modalImportLabel,s=e.modalImportContent;let l=o.editor;const c=document.createElement("button");return c.type="button",c.innerHTML=e.modalImportButton,c.className=`${n}btn-prim ${n}btn-import`,c.onclick=e=>{t.setComponents(l.getValue().trim()),r.close()},o.set({codeName:"htmlmixed",theme:"hopscotch",readOnly:0,...e.importViewerOptions}),{run(u){if(!l){const t=document.createElement("textarea");if(a){const t=document.createElement("div");t.className=`${n}import-label`,t.innerHTML=a,i.appendChild(t)}i.appendChild(t),i.appendChild(c),o.init(t),l=o.editor}r.setTitle(e.modalImportTitle),r.setContent(i);const p="function"==typeof s?s(t):s;o.setContent(p||""),r.open().getModel().once("change:open",(()=>t.stopCommand(this.id))),l.refresh()},stop(){r.close()}}}(to,{modalImportLabel:"",modalImportContent:"Paste a web page HTML code here.",modalImportButton:"Import",modalImportTitle:"Import from website"})),to.on("load",(()=>{to.Panels.getPanel("views").buttons.remove("open-blocks"),to.Panels.getPanel("views").buttons.remove("open-layers"),to.Panels.getPanel("views").view.el.firstChild.style.justifyContent="initial",to.Panels.getPanel("options").buttons.remove("export-template"),to.BlockManager.render(null),to.StyleManager.addProperty("extra",{extend:"filter"}),e(to)}))}))}function no(){return to}class ro extends nt{api=o;websiteId=new URL(location.href).searchParams.get("id")??u;storageId=new URL(location.href).searchParams.get("connectorId");lang=new URL(location.href).searchParams.get("lang")??p;rootUrl=window.location.origin+window.location.pathname.replace(/\/$/,"");debug=!1;grapesJsConfig;clientConfigUrl=`${this.rootUrl}/${d}`;initGrapesConfig(){this.grapesJsConfig=Qr(this.websiteId,this.storageId,this.rootUrl)}getEditor(){return no()}publicationTransformers=[];addPublicationTransformers(t){Array.isArray(t)||(t=[t]),t.forEach((t=>{!function(t){const e=["renderComponent","renderCssRule","transformFile","transformPermalink","transformPath"];Object.keys(t).forEach((t=>{if(!e.includes(t))throw new Error(`Publication transformer: unknown property ${t}`)})),e.forEach((e=>{if("function"!=typeof t[e]&&void 0!==t[e])throw new Error(`Publication transformer: ${e} must be a function`)}))}(t)})),this.publicationTransformers=this.publicationTransformers.concat(t)}}async function oo(t={}){const e=new ro;Object.assign(e,t),e.addPublicationTransformers(z),await e.addPlugin(e.clientConfigUrl,{}),e.debug&&console.warn("Silex starting in debug mode.",{config:e}),e.emit(Or.STARTUP_START),e.initGrapesConfig(),e.emit(Or.GRAPESJS_START);try{await eo(e.grapesJsConfig)}catch(t){throw console.error("Error starting Silex",t),t}const n=no();n.getModel().set("config",e),e.emit(Or.GRAPESJS_END,{editor:n}),n.I18n.setLocale(e.lang),n.StorageManager.setAutosave(!1);try{await n.load(null)}catch(t){t.httpStatusCode}finally{setTimeout((()=>{n.editor.set("changesCount",0),n.StorageManager.setAutosave(!0),document.querySelector(".silex-loader").classList.add("silex-dialog-hide"),document.querySelector("#gjs").classList.remove("silex-dialog-hide"),e.emit(Or.STARTUP_END,{editor:n,config:e})}),100)}}console.info("\nSilex client loaded\n")})(),silex=r})();
320
+ `,t)}function r(e){n(e,t.getSelected()?.get("tagName")||"")}t.DomComponents.getTypes().map((e=>{t.DomComponents.addType(e.id,{model:{defaults:{traits:[...t.DomComponents.getType(e.id).model.prototype.defaults.traits,{label:"Tag name",type:"tag-name",name:"tag-name"}]}}})})),t.TraitManager.addType("tag-name",{createInput({trait:e}){const n=document.createElement("div");return t.on("page",(()=>r(n))),r(n),n},onEvent({elInput:t,component:e,event:n}){const r=t.querySelector("#semantic__select").value;e.get("tagName").toUpperCase()===r.toUpperCase()||e.set("tagName",r)},onUpdate({elInput:t,component:e}){n(t,e.get("tagName"))}})}},{name:"./rich-text",value:(t,e)=>{t.RichTextEditor.add("orderedList",{icon:"1.",attributes:{title:"Ordered List"},result:t=>t.exec("insertOrderedList")}),t.RichTextEditor.add("unorderedList",{icon:'<i class="fa fa-list-ul"></i>',attributes:{title:"Unordered List"},result:t=>t.exec("insertUnorderedList")})}},{name:"grapesjs-style-filter",value:lt()},{name:"grapesjs-plugin-forms",value:ut()},{name:"grapesjs-custom-code",value:dt()},{name:"./internal-links",value:_r},{name:"@silexlabs/grapesjs-ui-suggest-classes",value:ht()},{name:"@silexlabs/grapesjs-filter-styles",value:vt()},{name:"./symbolDialogs",value:(t,e)=>{t.Commands.add(un,{run:(e,n)=>{const r=prompt("Label",function(e){let n=1;for(;t.Symbols.find((t=>t.get("label")===e+n));)n++;return e+n}("Symbol "));t.runCommand(rn,{label:r,icon:"fa-gem"})}})}},{name:"@silexlabs/grapesjs-symbols",value:on},{name:"./PublicationManager",value:Fr},{name:"./storage",value:t=>{function e(e){const n="string"==typeof e?JSON.parse(e):e;if(console.error("Error with loading or saving website or uploading asset",n,n instanceof N),!(n instanceof N))return t.Modal.open({title:"Error",content:`An error occured.<br>${n.message}`});switch(console.error("ApiError",n.httpStatusCode,n.message),n.httpStatusCode){case 404:return t.Modal.open({title:"Website not found",content:`This website could not be found.<br><hr>${n.message}`});case 403:return t.Modal.open({title:"Access denied",content:`You are not allowed to access this website.<br><hr>${n.message}`});case 401:return void t.trigger(In);default:return t.Modal.open({title:"Error",content:`An error occured.<br>${n.message}`})}}t.Storage.add("connector",{async load(e){try{const i=await Dn(t)??await $n(t,R.STORAGE,e.connectorId);if(!i)throw new N("Not logged in",401);const a=await _n({websiteId:e.id,connectorId:i.storage.connectorId});return a.assets&&(a.assets=(n=a.assets,r=e.id,o=i.storage.connectorId,n.map((t=>t.src?{...t,src:U(t.src,r,o)}:t)))),a.pages&&(a.pages=function(t,e,n){return t.map((t=>({...t,frames:t.frames.map((t=>({...t,component:W(t.component,e,n)})))})))}(a.pages,e.id,i.storage.connectorId)),a.styles&&(a.styles=function(t,e,n){return new RegExp(/(.*)(url\((["']?)([^"']+?)\1\))*(.*)/,"g"),t.map((t=>{if(t.style&&t.style["background-image"]){const r=t.style["background-image"].replace(/url\((['"]?)([^'"]+)\1\)/g,((t,r,o)=>`url(${r}${U(o,e,n)}${r})`));return{...t,style:{...t.style,"background-image":r}}}return t}))}(a.styles,e.id,i.storage.connectorId)),a}catch(n){throw 401===n.httpStatusCode&&(t.once(Ln,(async()=>{try{t.StorageManager.setAutosave(!1);const n=await t.Storage.load(e);t.StorageManager.setAutosave(!0),t.loadProjectData(n)}catch(t){throw console.error("connectorPlugin load error",t),t}})),t.Commands.run(Pn)),console.error("connectorPlugin load error",n),n}var n,r,o},async store(e,n){try{if(await Dn(t)){const r=await Dn(t);e.assets=e.assets.map((t=>t.src?{...t,src:B(t.src)}:t)),e.pages=e.pages.map((t=>({...t,frames:t.frames.map((t=>({...t,component:q(t.component)})))}))),e.styles=e.styles.map((t=>{if(t.style&&t.style["background-image"]){const e=t.style["background-image"].replace(/url\((['"]?)([^'"]+)\1\)/g,((t,e,n)=>`url(${e}${B(n)}${e})`));return{...t,style:{...t.style,"background-image":e}}}return t})),await xn({websiteId:n.id,connectorId:r.storage.connectorId,data:e})}else t.once(Ln,(()=>t.Storage.store())),t.Commands.run(Pn)}catch(t){throw console.error("connectorPlugin store error",t),t}}}),t.on("storage:error:load",(t=>{e(t)})),t.on("storage:error:store",(t=>{e(t)})),t.on("asset:upload:end",(e=>{t.store()})),t.on("asset:upload:error",(t=>{e(t)}))}},{name:"./LoginDialog",value:Vn},{name:"@silexlabs/grapesjs-loading",value:sn()},{name:"./breadcrumbs",value:function(t,e){let n;var r;function o(){let e=t.getSelected()??t.Pages.getSelected().getMainComponent();if(!n)return;for(n.innerHTML="";e;){const t=i(e);n.prepend(t),e=e.parent()}const r=document.createElement("span");r.innerHTML="<h3>Selection:&nbsp;</h3>",n.prepend(r)}function i(e){const n=document.createElement("span");return e.model,n.onclick=()=>{t.select(e)},n.classList.add("breadcrumb"),n.innerHTML=`<span>${e.getName()??e.get("tagName")}</span>`,n}r=t=>{n=document.createElement("div"),n.id="breadcrumbs-container",t.prepend(n);const e=document.createElement("style");e.innerHTML='\n #breadcrumbs-container {\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 10px;\n font-size: 12px;\n color: #999;\n overflow-x: auto;\n overflow-y: hidden;\n }\n #breadcrumbs-container h3 {\n font-size: inherit;\n margin: 0;\n }\n #breadcrumbs-container .breadcrumb {\n margin: 0 5px;\n font-size: 14px;\n line-height: 1;\n cursor: pointer;\n white-space: nowrap;\n }\n #breadcrumbs-container .breadcrumb::after {\n content: "➔";\n margin-left: 10px;\n }\n\n #breadcrumbs-container .breadcrumb:last-child::after {\n content: "";\n }\n ',t.prepend(e),o()},Un?r(Un):Bn.push(r),t.on("component:selected style:target component:drag:end",(()=>o()))}},{name:"./img",value:(t,e)=>{e={labelSrc:"Image URL",placeholderSrc:"https://example.com/image.jpg",...e},t.TraitManager.addType("src",{events:{change:"onChange"},templateInput:()=>`\n <div class="gjs-field gjs-field-trad">\n <label class="gjs-label">${e.labelSrc}</label>\n <input type="text" class="gjs-field" placeholder="${e.placeholderSrc}" />\n </div>\n `,getInputEl(){return this.inputEl||(this.inputEl=this.templateInput()),this.inputEl},onValueChange(){this.setValue(this.getInputEl().value)},setValue(t){this.getInputEl().value=t},getValue(){return this.getInputEl().value}}),t.DomComponents.addType("image",{model:{defaults:{...t.DomComponents.getType("image").model.prototype.defaults,traits:[...t.DomComponents.getType("image").model.prototype.defaults.traits.filter((t=>!["href","tag-name","src"].includes(t.name))),"src"]}}}),t.on("load",(()=>{const e=t.StyleManager.addSector("image",{name:"Image",open:!1,properties:[{label:"object-fit",property:"object-fit",type:"select",default:"",options:[{id:"",label:""},{id:"fill",label:"fill"},{id:"contain",label:"contain"},{id:"cover",label:"cover"},{id:"none",label:"none"},{id:"scale-down",label:"scale-down"},{id:"initial",label:"initial"},{id:"inherit",label:"inherit"},{id:"auto",label:"auto"}]},{label:"object-position",property:"object-position",type:"select",default:"",options:[{id:"",label:""},{id:"left top",label:"left top"},{id:"left center",label:"left center"},{id:"left bottom",label:"left bottom"},{id:"right top",label:"right top"},{id:"right center",label:"right center"},{id:"right bottom",label:"right bottom"},{id:"center top",label:"center top"},{id:"center center",label:"center center"},{id:"center bottom",label:"center bottom"},{id:"initial",label:"initial"},{id:"inherit",label:"inherit"},{id:"unset",label:"unset"}]}]},{at:1});let n=!1;t.on("component:selected",(t=>{t&&"image"===t.get("type")?n=!0:(n=!1,e.set("visible",!1))})),e.on("change:visible",((t,r)=>{e.get("visible")!==n&&e.set("visible",n)}))}))}},{name:"./css-props",value:(t,e)=>{t.on("load",(()=>{t.StyleManager.addProperty("dimension",{name:"Min width",property:"min-width",type:"integer",units:["px","%","em"],default:"auto",fixedValues:["inherit","initial","unset","none","max-content","min-content","fit-content"]},{at:2}),t.StyleManager.addProperty("dimension",{name:"Max height",property:"max-height",type:"integer",units:["px","%","em"],default:"auto",fixedValues:["inherit","initial","unset","none","max-content","min-content","fit-content"]},{at:5}),t.StyleManager.addProperty("dimension",{name:"Overflow",property:"overflow",type:"composite",properties:[{name:"Overflow X",type:"radio",options:[{value:"auto",name:"auto"},{value:"hidden",name:"hidden"},{value:"visible",name:"visible"},{value:"scroll",name:"scroll"}]},{name:"Overflow Y",type:"radio",options:[{value:"auto",name:"auto"},{value:"hidden",name:"hidden"},{value:"visible",name:"visible"},{value:"scroll",name:"scroll"}]}],info:"The overflow CSS property sets what to do when an element's content is too big to fit in its block formatting context. It is a shorthand for overflow-x and overflow-y."},{at:6}),t.StyleManager.addProperty("extra",{name:"Z index",property:"z-index",type:"slider",step:1,min:-1e4,max:1e4,units:[],info:"Stacking order of the element",default:"auto",fixedValues:["auto","unset","initial","inherit","revert"]},{at:1}),t.StyleManager.addProperty("extra",{name:"Pointer events",property:"pointer-events",type:"select",defaults:"auto",options:[{value:"auto",name:"auto"},{value:"none",name:"none"},{value:"visiblePainted",name:"visiblePainted"},{value:"visibleFill",name:"visibleFill"},{value:"visibleStroke",name:"visibleStroke"},{value:"visible",name:"visible"},{value:"painted",name:"painted"},{value:"fill",name:"fill"},{value:"stroke",name:"stroke"},{value:"all",name:"all"}],info:"The pointer-events CSS property sets under what circumstances (if any) a particular graphic element can become the target of pointer events."},{at:2}),t.StyleManager.addProperty("extra",{name:"Cursor",property:"cursor",type:"select",defaults:"auto",options:[{value:"auto",name:"auto"},{value:"default",name:"default"},{value:"none",name:"none"},{value:"context-menu",name:"context-menu"},{value:"help",name:"help"},{value:"pointer",name:"pointer"},{value:"progress",name:"progress"},{value:"wait",name:"wait"},{value:"cell",name:"cell"},{value:"crosshair",name:"crosshair"},{value:"text",name:"text"},{value:"vertical-text",name:"vertical-text"},{value:"alias",name:"alias"},{value:"copy",name:"copy"},{value:"move",name:"move"},{value:"no-drop",name:"no-drop"},{value:"not-allowed",name:"not-allowed"},{value:"grab",name:"grab"},{value:"grabbing",name:"grabbing"},{value:"all-scroll",name:"all-scroll"},{value:"col-resize",name:"col-resize"},{value:"row-resize",name:"row-resize"},{value:"n-resize",name:"n-resize"},{value:"e-resize",name:"e-resize"},{value:"s-resize",name:"s-resize"},{value:"w-resize",name:"w-resize"},{value:"ne-resize",name:"ne-resize"},{value:"nw-resize",name:"nw-resize"},{value:"se-resize",name:"se-resize"},{value:"sw-resize",name:"sw-resize"},{value:"ew-resize",name:"ew-resize"},{value:"ns-resize",name:"ns-resize"},{value:"nesw-resize",name:"nesw-resize"},{value:"nwse-resize",name:"nwse-resize"},{value:"zoom-in",name:"zoom-in"},{value:"zoom-out",name:"zoom-out"}],info:"The cursor CSS property sets the type of mouse cursor, if any, to show when the mouse pointer is over an element."},{at:3}),t.StyleManager.addProperty("extra",{name:"Column count",property:"column-count",type:"integer",units:[],info:"The column-count CSS property breaks an element's content into the specified number of columns.",default:"auto",fixedValues:["auto","inherit","initial","revert","unset"],min:1},{at:4}),t.StyleManager.addProperty("extra",{name:"Column width",property:"column-width",type:"integer",units:["px","%","em"],info:"The column-width CSS property suggests an optimal column width. This is not a absolute value but a mere hint. Browser will adjust the width of the element automatically.",default:"auto",fixedValues:["auto","inherit","initial","revert","unset"]},{at:5}),t.StyleManager.addProperty("extra",{name:"Column gap",property:"column-gap",type:"integer",units:["px","%","em"],info:"The column-gap CSS property sets the size of the gap (gutter) between an element's columns.",default:"normal",fixedValues:["normal","inherit","initial","revert","unset"]},{at:5}),t.StyleManager.addProperty("extra",{name:"Column rule",property:"column-rule",type:"composite",properties:[{name:"Column rule width",property:"column-rule-width",type:"integer",units:["px","%","em"],info:"The column-rule-width CSS property sets the width of the line drawn between columns in a multi-column layout.",default:"medium",fixedValues:["medium","thin","thick","inherit","initial","revert","unset"]},{name:"Column rule style",property:"column-rule-style",type:"select",defaults:"none",options:[{value:"none",name:"none"},{value:"hidden",name:"hidden"},{value:"dotted",name:"dotted"},{value:"dashed",name:"dashed"},{value:"solid",name:"solid"},{value:"double",name:"double"},{value:"groove",name:"groove"},{value:"ridge",name:"ridge"},{value:"inset",name:"inset"},{value:"outset",name:"outset"},{value:"inherit",name:"inherit"}],info:"The column-rule-style CSS property sets the style of the line drawn between columns in a multi-column layout."},{name:"Column rule color",property:"column-rule-color",type:"color",defaults:"none",info:"The column-rule-color CSS property sets the color of the line drawn between columns in a multi-column layout."}]},{at:6}),t.StyleManager.addProperty("extra",{name:"Column span",property:"column-span",type:"select",defaults:"none",options:[{value:"none",name:"none"},{value:"all",name:"all"}],info:"The column-span CSS property makes it possible for an element to span across all columns when its value is set to all."},{at:7}),t.StyleManager.addProperty("decorations",{name:"Outline",property:"outline",type:"composite",properties:[{name:"Outline width",property:"outline-width",type:"integer",units:["px","%","em"],info:"The outline-width CSS property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the border.",default:"medium",fixedValues:["medium","thin","thick","inherit","initial","revert","unset"]},{name:"Outline style",property:"outline-style",type:"select",defaults:"none",options:[{value:"none",name:"none"},{value:"hidden",name:"hidden"},{value:"dotted",name:"dotted"},{value:"dashed",name:"dashed"},{value:"solid",name:"solid"},{value:"double",name:"double"},{value:"groove",name:"groove"},{value:"ridge",name:"ridge"},{value:"inset",name:"inset"},{value:"outset",name:"outset"}],info:"The outline-style CSS property sets the style of an element's outline. An outline is a line that is drawn around an element, outside the border."},{name:"Outline color",property:"outline-color",type:"color",defaults:"none",info:"The outline-color CSS property sets the color of an element's outline."}]},{at:8}),t.StyleManager.addProperty("typography",{name:"Word break",property:"word-break",type:"select",defaults:"normal",options:[{value:"normal",name:"normal"},{value:"break-all",name:"break-all"},{value:"keep-all",name:"keep-all"},{value:"break-word",name:"break-word"}],info:"The word-break CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box."},{at:7}),t.StyleManager.addProperty("typography",{name:"Word wrap",property:"word-wrap",type:"radio",defaults:"normal",options:[{value:"normal",name:"normal"},{value:"break-word",name:"break-word"}],info:"The word-wrap CSS property sets whether the line may be broken within a word in order to prevent overflow when an otherwise unbreakable string is too long to fit in its containing box."},{at:8}),t.StyleManager.addProperty("typography",{name:"White space",property:"white-space",type:"select",defaults:"normal",options:[{value:"normal",name:"normal"},{value:"nowrap",name:"nowrap"},{value:"pre",name:"pre"},{value:"pre-wrap",name:"pre-wrap"},{value:"pre-line",name:"pre-line"},{value:"break-spaces",name:"break-spaces"}],info:"The white-space CSS property sets how white space inside an element is handled."},{at:9}),t.StyleManager.addProperty("typography",{name:"Text decoration",property:"text-decoration",type:"composite",properties:[{name:"Text decoration line",property:"text-decoration-line",type:"select",defaults:"none",fixedValues:["auto","inherit","initial","revert","unset"],options:[{value:"none",name:"none"},{value:"underline",name:"underline"},{value:"overline",name:"overline"},{value:"line-through",name:"line-through"},{value:"blink",name:"blink"}],info:"The text-decoration CSS property sets the appearance of decorative lines on text."},{name:"Text decoration style",property:"text-decoration-style",type:"select",defaults:"solid",options:[{value:"solid",name:"solid"},{value:"double",name:"double"},{value:"dotted",name:"dotted"},{value:"dashed",name:"dashed"},{value:"wavy",name:"wavy"}],info:"The text-decoration-style CSS property sets the style of the lines specified by text-decoration-line. The style applies to all lines, there is no way to define different styles for each of the lines."},{name:"Text decoration color",property:"text-decoration-color",type:"color",defaults:"initial",fixedValues:["inherit","initial","revert","unset"],info:"The text-decoration-color CSS property sets the color of decorations added to text by text-decoration-line."},{name:"Text decoration thickness",property:"text-decoration-thickness",type:"integer",units:["px","%","em"],info:"The text-decoration-thickness CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline.",default:"auto",fixedValues:["auto","inherit","initial","revert","unset"]}]},{at:10}),t.StyleManager.addProperty("typography",{name:"Text transform",property:"text-transform",type:"select",defaults:"none",options:[{value:"none",name:"none"},{value:"capitalize",name:"capitalize"},{value:"uppercase",name:"uppercase"},{value:"lowercase",name:"lowercase"}],info:"The text-transform CSS property sets how to capitalize an element's text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized."},{at:11}),t.StyleManager.addProperty("typography",{name:"Text overflow",property:"text-overflow",type:"select",defaults:"clip",options:[{value:"clip",name:"clip"},{value:"ellipsis",name:"ellipsis"}],info:"The text-overflow CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('…', U+2026 HORIZONTAL ELLIPSIS) or a Web author-defined string. It covers the two long-hand properties text-overflow-clip and text-overflow-string."},{at:12}),t.StyleManager.addProperty("general",{name:"Visibility",property:"visibility",type:"select",defaults:"visible",options:[{value:"visible",name:"visible"},{value:"hidden",name:"hidden"},{value:"collapse",name:"collapse"}],info:"The visibility CSS property shows or hides an element without changing the layout of a document. The property can also hide rows or columns in a <table>."},{at:1});const e=t.StyleManager.addProperty("general",{name:"Content",property:"content",type:"text",defaults:"none",info:"The content CSS property replaces an element with a generated value. Objects inserted using the content property are anonymous replaced elements.",full:!0,visible:!1},{at:0});function n(){const n=t.SelectorManager.getState();["before","after"].includes(n)?e.set("visible",!0):e.set("visible",!1)}t.on("selector:state component:selected component:styleUpdate style:sector:update",((t,e)=>setTimeout((()=>n())))),t.StyleManager.getSector("general").on("change",(()=>n())),t.SelectorManager.states.add({name:"before",label:"Before"}),t.SelectorManager.states.add({name:"after",label:"After"}),t.SelectorManager.states.add({name:"active",label:"Active"}),t.SelectorManager.states.add({name:"first-child",label:"First child"}),t.SelectorManager.states.add({name:"last-child",label:"Last child"}),t.SelectorManager.states.add({name:"focus",label:"Focus"}),t.SelectorManager.states.add({name:"visited",label:"Visited"}),t.SelectorManager.states.add({name:"link",label:"Link"}),t.SelectorManager.states.add({name:"first-letter",label:"First letter"}),t.SelectorManager.states.add({name:"first-line",label:"First line"}),t.SelectorManager.states.add({name:"selection",label:"Selection"}),t.SelectorManager.states.add({name:"empty",label:"Empty"}),t.SelectorManager.states.add({name:"enabled",label:"Enabled"}),t.SelectorManager.states.add({name:"disabled",label:"Disabled"}),t.SelectorManager.states.add({name:"checked",label:"Checked"}),t.SelectorManager.states.add({name:"indeterminate",label:"Indeterminate"}),t.SelectorManager.states.add({name:"placeholder-shown",label:"Placeholder shown"}),t.SelectorManager.states.add({name:"placeholder",label:"Placeholder"}),t.SelectorManager.states.add({name:"default",label:"Default"}),t.SelectorManager.states.add({name:"valid",label:"Valid"}),t.SelectorManager.states.add({name:"invalid",label:"Invalid"}),t.SelectorManager.states.add({name:"in-range",label:"In range"}),t.SelectorManager.states.add({name:"out-of-range",label:"Out of range"}),t.SelectorManager.states.add({name:"required",label:"Required"}),t.SelectorManager.states.add({name:"optional",label:"Optional"}),t.SelectorManager.states.add({name:"read-only",label:"Read only"}),t.SelectorManager.states.add({name:"read-write",label:"Read write"})}))}},{name:"./footer",value:function(t,e){const n=t.Panels.addPanel({id:"footer",visible:!0,buttons:[{id:"myNewButton",className:"someClass",command:"someCommand",attributes:{title:"Some title"},active:!1}]});setTimeout((()=>{Un=n.view?.el,Bn.forEach((t=>t(Un))),Bn=[]}))}},{name:"@silexlabs/grapesjs-storage-rate-limit",value:zn},{name:"grapesjs-style-border",value:qn()}];zr.filter((t=>"function"!=typeof t.value)).forEach((t=>{throw new Error(`Plugin ${t.name} could not be loaded correctly (${t.value})`)}));const Wr="#333333",qr="#ddd",Gr="#8873FE",Kr="#A291FF",Yr="#363636",Xr="#575757",Jr="Containers",Zr="Components";function Qr(t,e,n){return{container:"#gjs",height:"100%",showOffsets:!0,showDevices:!0,layerManager:{appendTo:".layer-manager-container"},blockManager:{appendTo:".block-manager-container"},assetManager:{upload:`${n}${f}${S}${j}/?websiteId=${t}${e?`&connectorId=${e}`:""}`},storageManager:{autoload:!1,type:"connector",options:{connector:{id:t,connectorId:e}}},cssIcons:"./css/all.min.css",canvasCss:`\n :root {\n --primaryColor: ${Wr};\n --secondaryColor: ${qr};\n --tertiaryColor: ${Gr};\n --quaternaryColor: ${Kr};\n --darkerPrimaryColor: ${Yr};\n --lighterPrimaryColor: ${Xr};\n }\n .gjs-frame-selected {\n box-shadow: 0 0 0 2px rgba(255, 0, 0, 0.5) !important; // Change to red border\n }\n .gjs-selected {\n outline: 2px solid var(--tertiaryColor) !important;\n outline-offset: -2px;\n }\n `,plugins:zr.map((t=>t.value)),pluginsOpts:{[at()]:{blocks:["text","image","video","map"],category:Jr},[ar]:{panels:[{id:"dash",className:"logo",attributes:{title:"Dashboard"},command:()=>{window.location.href="/"}},{id:"block-manager-btn",className:"block-manager-btn fa fa-fw fa-plus",attributes:{title:"Blocks",containerClassName:"block-manager-container"},command:"open-blocks"},{id:"symbols-btn",className:"symbols-btn fa-regular fa-gem",attributes:{title:"Symbols",containerClassName:"symbols-list-container"},command:"open-symbols",buttons:[{id:"symbol-create-button",className:"pages__add-page fa-solid fa-plus",label:"Create symbol from selection",command:un}]},{id:"page-panel-btn",className:"page-panel-btn fa fa-fw fa-file",attributes:{title:"Pages",containerClassName:"page-panel-container"},command:Xn,buttons:[{className:"pages__add-page fa fa-file",command:Jn,text:"+"}]},{id:"layer-manager-btn",className:"layer-manager-btn fa-solid fa-layer-group",attributes:{title:"Layers",containerClassName:"layer-manager-container"},command:"open-layers"},{id:"font-dialog-btn",className:"font-manager-btn fa-solid fa-font",attributes:{title:"Fonts"},command:()=>{to.runCommand(ln.cmdOpenFonts)}},{id:"settings-dialog-btn",className:"page-panel-btn fa-solid fa-gears",attributes:{title:"Settings"},command:ur},{id:"spacer",attributes:{},className:"project-bar-spacer"},{id:"dash2",className:"fa-solid fa-house",attributes:{title:"Dashboard"},command:()=>{window.location.href="/"}},{id:"help",className:"fa fa-fw fa-question-circle",attributes:{title:"Documentation"},command:()=>{window.open("https://docs.silex.me/","_blank")}},{id:"logout-button",className:"page-panel-btn fa fa-fw fa-sign-out",attributes:{title:"Sign out"},command:jn}]},[Fr]:{appendTo:"options",websiteId:t},[Qn]:{cmdOpenNewPageDialog:ir,cmdOpenSettings:ur,appendTo:".page-panel-container"},[ht()]:{enableCount:!1,enablePerformance:!1},[vt()]:{appendBefore:".gjs-sm-sectors"},[_r]:{onError:t=>console.warn("Links errors:",t)},[dt()]:{blockLabel:"HTML",blockCustomCode:{category:Zr}},[on]:{appendTo:".symbols-list-container",emptyText:"No symbol yet.",primaryColor:Wr,secondaryColor:qr,highlightColor:Gr},[cn()]:{api_key:"AIzaSyAdJTYSLPlKz4w5Iqyy-JAF2o8uQKd1FKc"},[Vn]:{id:t},[zn]:{time:5e3}}}}let to;async function eo(t){if(to)throw new Error("Grapesjs editor already created");return new Promise(((e,n)=>{try{to=ot().init(t)}catch(t){console.error("Error initializing GrapesJs with plugins:",zr,t),n(t)}["text"].forEach((t=>to.Blocks.get(t)?.set("category","Basics"))),["image","video"].forEach((t=>to.Blocks.get(t)?.set("category","Media"))),["map"].forEach((t=>to.Blocks.get(t)?.set("category","Components"))),to.Blocks.render([]),to.Commands.add("gjs-open-import-webpage",function(t,e){const n=t.getConfig("stylePrefix"),r=t.Modal,o=t.CodeManager.getViewer("CodeMirror").clone(),i=document.createElement("div"),a=e.modalImportLabel,s=e.modalImportContent;let l=o.editor;const c=document.createElement("button");return c.type="button",c.innerHTML=e.modalImportButton,c.className=`${n}btn-prim ${n}btn-import`,c.onclick=e=>{t.setComponents(l.getValue().trim()),r.close()},o.set({codeName:"htmlmixed",theme:"hopscotch",readOnly:0,...e.importViewerOptions}),{run(u){if(!l){const t=document.createElement("textarea");if(a){const t=document.createElement("div");t.className=`${n}import-label`,t.innerHTML=a,i.appendChild(t)}i.appendChild(t),i.appendChild(c),o.init(t),l=o.editor}r.setTitle(e.modalImportTitle),r.setContent(i);const p="function"==typeof s?s(t):s;o.setContent(p||""),r.open().getModel().once("change:open",(()=>t.stopCommand(this.id))),l.refresh()},stop(){r.close()}}}(to,{modalImportLabel:"",modalImportContent:"Paste a web page HTML code here.",modalImportButton:"Import",modalImportTitle:"Import from website"})),to.on("load",(()=>{to.Panels.getPanel("views").buttons.remove("open-blocks"),to.Panels.getPanel("views").buttons.remove("open-layers"),to.Panels.getPanel("views").view.el.firstChild.style.justifyContent="initial",to.Panels.getPanel("options").buttons.remove("export-template"),to.BlockManager.render(null),to.StyleManager.addProperty("extra",{extend:"filter"}),e(to)}))}))}function no(){return to}class ro extends nt{api=o;websiteId=new URL(location.href).searchParams.get("id")??u;storageId=new URL(location.href).searchParams.get("connectorId");lang=new URL(location.href).searchParams.get("lang")??p;rootUrl=window.location.origin+window.location.pathname.replace(/\/$/,"");debug=!1;grapesJsConfig;clientConfigUrl=`${this.rootUrl}/${d}`;initGrapesConfig(){this.grapesJsConfig=Qr(this.websiteId,this.storageId,this.rootUrl)}getEditor(){return no()}publicationTransformers=[];addPublicationTransformers(t){Array.isArray(t)||(t=[t]),t.forEach((t=>{!function(t){const e=["renderComponent","renderCssRule","transformFile","transformPermalink","transformPath"];Object.keys(t).forEach((t=>{if(!e.includes(t))throw new Error(`Publication transformer: unknown property ${t}`)})),e.forEach((e=>{if("function"!=typeof t[e]&&void 0!==t[e])throw new Error(`Publication transformer: ${e} must be a function`)}))}(t)})),this.publicationTransformers=this.publicationTransformers.concat(t)}}async function oo(t={}){const e=new ro;Object.assign(e,t),e.addPublicationTransformers(z),await e.addPlugin(e.clientConfigUrl,{}),e.debug&&console.warn("Silex starting in debug mode.",{config:e}),e.emit(Or.STARTUP_START),e.initGrapesConfig(),e.emit(Or.GRAPESJS_START);try{await eo(e.grapesJsConfig)}catch(t){throw console.error("Error starting Silex",t),t}const n=no();n.getModel().set("config",e),e.emit(Or.GRAPESJS_END,{editor:n}),n.I18n.setLocale(e.lang),n.StorageManager.setAutosave(!1);try{await n.load(null)}catch(t){t.httpStatusCode}finally{setTimeout((()=>{n.editor.set("changesCount",0),n.StorageManager.setAutosave(!0),document.querySelector(".silex-loader").classList.add("silex-dialog-hide"),document.querySelector("#gjs").classList.remove("silex-dialog-hide"),e.emit(Or.STARTUP_END,{editor:n,config:e})}),100)}}console.info("\nSilex client loaded\n")})(),silex=r})();
@@ -468,6 +468,21 @@ export default (editor, opts) => {
468
468
  ],
469
469
  info: 'The text-overflow CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis (\'…\', U+2026 HORIZONTAL ELLIPSIS) or a Web author-defined string. It covers the two long-hand properties text-overflow-clip and text-overflow-string.',
470
470
  }, { at: 12 });
471
+ editor.StyleManager.addProperty('general', {
472
+ name: 'Visibility',
473
+ property: 'visibility',
474
+ type: 'select',
475
+ defaults: 'visible',
476
+ options: [
477
+ /* @ts-ignore */
478
+ { value: 'visible', name: 'visible' },
479
+ /* @ts-ignore */
480
+ { value: 'hidden', name: 'hidden' },
481
+ /* @ts-ignore */
482
+ { value: 'collapse', name: 'collapse' },
483
+ ],
484
+ info: 'The visibility CSS property shows or hides an element without changing the layout of a document. The property can also hide rows or columns in a <table>.',
485
+ }, { at: 1 });
471
486
  // Add content property, visible only when a pseudo element is selected
472
487
  const contentProp = editor.StyleManager.addProperty('general', {
473
488
  name: 'Content',
@@ -487,7 +502,7 @@ export default (editor, opts) => {
487
502
  contentProp.set('visible', false);
488
503
  }
489
504
  }
490
- editor.on('selector:state component:selected style:sector:update', (state, opts) => setTimeout(() => refreshContentProp()));
505
+ editor.on('selector:state component:selected component:styleUpdate style:sector:update', (state, opts) => setTimeout(() => refreshContentProp()));
491
506
  editor.StyleManager.getSector('general').on('change', () => refreshContentProp());
492
507
  // Add pseudo elements
493
508
  editor.SelectorManager.states.add({ name: 'before', label: 'Before' });
@@ -1 +1 @@
1
- {"version":3,"file":"css-props.js","sourceRoot":"","sources":["../../../../../src/ts/client/grapesjs/css-props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"css-props.js","sourceRoot":"","sources":["../../../../../src/ts/client/grapesjs/css-props.ts"],"names":[],"mappings":"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"}
@@ -131,6 +131,29 @@ export default async (config, opts = {}) => {
131
131
  codeEditor.setContent(template[id] ?? '');
132
132
  codeEditor.refresh();
133
133
  });
134
+ // Make sure we apply the changes when the user presses any key
135
+ // The events should be triggered by the trait manager (call onEvent) but it doesn't work for "delete" key for example
136
+ el.onkeydown = () => {
137
+ applyChanges(editor.getSelected());
138
+ };
139
+ }
140
+ function applyChanges(component) {
141
+ console.log('onEvent', { component });
142
+ const template = {
143
+ before: editors.before.getContent(),
144
+ replace: editors.replace.getContent(),
145
+ after: editors.after.getContent(),
146
+ attributes: editors.attributes.getContent(),
147
+ classname: editors.classname.getContent(),
148
+ style: editors.style.getContent(),
149
+ };
150
+ // Store the new template
151
+ if (Object.values(template).filter(val => !!val && !!cleanup(val)).length > 0) {
152
+ component.set(templateKey, template);
153
+ }
154
+ else {
155
+ component.set(templateKey);
156
+ }
134
157
  }
135
158
  editor.TraitManager.addType(templateType, {
136
159
  createInput({ trait }) {
@@ -146,21 +169,7 @@ export default async (config, opts = {}) => {
146
169
  // Update the component based on UI changes
147
170
  // `elInput` is the result HTMLElement you get from `createInput`
148
171
  onEvent({ elInput, component, event }) {
149
- const template = {
150
- before: editors.before.getContent(),
151
- replace: editors.replace.getContent(),
152
- after: editors.after.getContent(),
153
- attributes: editors.attributes.getContent(),
154
- classname: editors.classname.getContent(),
155
- style: editors.style.getContent(),
156
- };
157
- // Store the new template
158
- if (Object.values(template).filter(val => !!val && !!cleanup(val)).length > 0) {
159
- component.set(templateKey, template);
160
- }
161
- else {
162
- component.set(templateKey);
163
- }
172
+ applyChanges(component);
164
173
  },
165
174
  // Update UI on the component change
166
175
  onUpdate({ elInput, component }) {
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/ts/plugins/client/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/ts/plugins/client/template.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@silexlabs/silex",
3
3
  "description": "Free and easy website builder for everyone.",
4
- "version": "3.0.0-alpha.109",
4
+ "version": "3.0.0-alpha.110",
5
5
  "version:backwardcompat": "3.0.0",
6
6
  "author": {
7
7
  "name": "Alex Hoyau",
@@ -475,6 +475,22 @@ export default (editor: Editor, opts) => {
475
475
  info: 'The text-overflow CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis (\'…\', U+2026 HORIZONTAL ELLIPSIS) or a Web author-defined string. It covers the two long-hand properties text-overflow-clip and text-overflow-string.',
476
476
  }, { at: 12 })
477
477
 
478
+ editor.StyleManager.addProperty('general', {
479
+ name: 'Visibility',
480
+ property: 'visibility',
481
+ type: 'select',
482
+ defaults: 'visible',
483
+ options: [
484
+ /* @ts-ignore */
485
+ { value: 'visible', name: 'visible' },
486
+ /* @ts-ignore */
487
+ { value: 'hidden', name: 'hidden' },
488
+ /* @ts-ignore */
489
+ { value: 'collapse', name: 'collapse' },
490
+ ],
491
+ info: 'The visibility CSS property shows or hides an element without changing the layout of a document. The property can also hide rows or columns in a <table>.',
492
+ }, { at: 1 })
493
+
478
494
  // Add content property, visible only when a pseudo element is selected
479
495
  const contentProp = editor.StyleManager.addProperty('general', {
480
496
  name: 'Content',
@@ -493,7 +509,7 @@ export default (editor: Editor, opts) => {
493
509
  contentProp.set('visible', false)
494
510
  }
495
511
  }
496
- editor.on('selector:state component:selected style:sector:update', (state, opts) => setTimeout(() => refreshContentProp()))
512
+ editor.on('selector:state component:selected component:styleUpdate style:sector:update', (state, opts) => setTimeout(() => refreshContentProp()))
497
513
  editor.StyleManager.getSector('general').on('change', () => refreshContentProp())
498
514
 
499
515
  // Add pseudo elements
@@ -138,6 +138,30 @@ export default async (config, opts: any = {}) => {
138
138
  codeEditor.setContent(template[id] ?? '')
139
139
  codeEditor.refresh()
140
140
  })
141
+ // Make sure we apply the changes when the user presses any key
142
+ // The events should be triggered by the trait manager (call onEvent) but it doesn't work for "delete" key for example
143
+ el.onkeydown = () => {
144
+ applyChanges(editor.getSelected())
145
+ }
146
+ }
147
+
148
+ function applyChanges(component) {
149
+ console.log('onEvent', { component })
150
+ const template = {
151
+ before: editors.before.getContent(),
152
+ replace: editors.replace.getContent(),
153
+ after: editors.after.getContent(),
154
+ attributes: editors.attributes.getContent(),
155
+ classname: editors.classname.getContent(),
156
+ style: editors.style.getContent(),
157
+ }
158
+
159
+ // Store the new template
160
+ if (Object.values(template).filter(val => !!val && !!cleanup(val)).length > 0) {
161
+ component.set(templateKey, template)
162
+ } else {
163
+ component.set(templateKey)
164
+ }
141
165
  }
142
166
 
143
167
  editor.TraitManager.addType(templateType, {
@@ -154,21 +178,7 @@ export default async (config, opts: any = {}) => {
154
178
  // Update the component based on UI changes
155
179
  // `elInput` is the result HTMLElement you get from `createInput`
156
180
  onEvent({ elInput, component, event }) {
157
- const template = {
158
- before: editors.before.getContent(),
159
- replace: editors.replace.getContent(),
160
- after: editors.after.getContent(),
161
- attributes: editors.attributes.getContent(),
162
- classname: editors.classname.getContent(),
163
- style: editors.style.getContent(),
164
- }
165
-
166
- // Store the new template
167
- if (Object.values(template).filter(val => !!val && !!cleanup(val)).length > 0) {
168
- component.set(templateKey, template)
169
- } else {
170
- component.set(templateKey)
171
- }
181
+ applyChanges(component)
172
182
  },
173
183
  // Update UI on the component change
174
184
  onUpdate({ elInput, component }) {