@grapesjs/studio-sdk-plugins 1.0.34 → 1.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/aiChat/clientTools.d.ts +3 -3
  2. package/dist/aiChat/clientToolsProcessors.d.ts +5 -2
  3. package/dist/aiChat/components/AiChatHeader.d.ts +22 -2
  4. package/dist/aiChat/components/AiChatToolGenerateImage.d.ts +7 -0
  5. package/dist/aiChat/components/utils.d.ts +2 -0
  6. package/dist/aiChat/index.cjs.js +88 -99
  7. package/dist/aiChat/index.es.js +12677 -11001
  8. package/dist/aiChat/index.js +88 -99
  9. package/dist/aiChat/index.umd.js +97 -108
  10. package/dist/aiChat/locales/en.d.ts +38 -0
  11. package/dist/aiChat/server/index.cjs.js +91 -237
  12. package/dist/aiChat/server/index.es.js +721 -631
  13. package/dist/aiChat/server/index.js +91 -237
  14. package/dist/aiChat/server/index.umd.js +91 -237
  15. package/dist/aiChat/server/prompts.d.ts +15 -11
  16. package/dist/aiChat/server/tools.d.ts +74 -122
  17. package/dist/aiChat/server/types.d.ts +61 -3
  18. package/dist/aiChat/types.d.ts +69 -11
  19. package/dist/aiChat/typesSchema.d.ts +27 -0
  20. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  21. package/dist/googleFontsAssetProvider/index.es.js +11 -11
  22. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  23. package/dist/iconifyComponent/index.cjs.js +2 -2
  24. package/dist/iconifyComponent/index.es.js +11 -11
  25. package/dist/iconifyComponent/index.umd.js +2 -2
  26. package/dist/index.cjs.js +20 -20
  27. package/dist/index.es.js +208 -208
  28. package/dist/index.umd.js +1 -1
  29. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  30. package/dist/layoutSidebarButtons/index.es.js +7 -7
  31. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  32. package/dist/presetPrintable/index.cjs.js +2 -2
  33. package/dist/presetPrintable/index.es.js +5 -5
  34. package/dist/presetPrintable/index.umd.js +3 -3
  35. package/dist/prosemirror/index.cjs.js +1 -1
  36. package/dist/prosemirror/index.es.js +1 -1
  37. package/dist/prosemirror/index.umd.js +1 -1
  38. package/dist/rteTinyMce/index.cjs.js +2 -2
  39. package/dist/rteTinyMce/index.es.js +12 -12
  40. package/dist/rteTinyMce/index.umd.js +2 -2
  41. package/dist/tableComponent/index.cjs.js +1 -1
  42. package/dist/tableComponent/index.es.js +83 -83
  43. package/dist/tableComponent/index.umd.js +1 -1
  44. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  45. package/dist/youtubeAssetProvider/index.es.js +15 -15
  46. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  47. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- "use strict";var v=(t=>(t.free="free",t.startup="startup",t.business="business",t.enterprise="enterprise",t))(v||{}),m=(t=>(t.toastAdd="studio:toastAdd",t.toastRemove="studio:toastRemove",t.dialogOpen="studio:dialogOpen",t.dialogClose="studio:dialogClose",t.dialogExportCode="studio:dialogExportCode",t.sidebarLeftSet="studio:sidebarLeft:set",t.sidebarLeftGet="studio:sidebarLeft:get",t.sidebarLeftToggle="studio:sidebarLeft:toggle",t.sidebarRightSet="studio:sidebarRight:set",t.sidebarRightGet="studio:sidebarRight:get",t.sidebarRightToggle="studio:sidebarRight:toggle",t.sidebarTopSet="studio:sidebarTop:set",t.sidebarTopGet="studio:sidebarTop:get",t.sidebarTopToggle="studio:sidebarTop:toggle",t.sidebarBottomSet="studio:sidebarBottom:set",t.sidebarBottomGet="studio:sidebarBottom:get",t.sidebarBottomToggle="studio:sidebarBottom:toggle",t.symbolAdd="studio:symbolAdd",t.symbolDetach="studio:symbolDetach",t.symbolOverride="studio:symbolOverride",t.symbolPropagateStyles="studio:propagateStyles",t.getPagesConfig="studio:getPagesConfig",t.setPagesConfig="studio:setPagesConfig",t.getPageSettings="studio:getPageSettings",t.setPageSettings="studio:setPageSettings",t.clearPage="studio:clearPage",t.projectFiles="studio:projectFiles",t.validateCode="studio:validateCode",t.canvasReload="studio:canvasReload",t.getBlocksPanel="studio:getBlocksPanel",t.setBlocksPanel="studio:setBlocksPanel",t.getStateContextMenu="studio:getStateContextMenu",t.setStateContextMenu="studio:setStateContextMenu",t.contextMenuComponent="studio:contextMenuComponent",t.layoutAdd="studio:layoutAdd",t.layoutRemove="studio:layoutRemove",t.layoutToggle="studio:layoutToggle",t.layoutUpdate="studio:layoutUpdate",t.layoutGet="studio:layoutGet",t.layoutConfigGet="studio:layoutConfigGet",t.layoutConfigSet="studio:layoutConfigSet",t.layoutComponentAdd="studio:layoutComponentAdd",t.layoutComponentGet="studio:layoutComponentGet",t.layoutComponentRemove="studio:layoutComponentRemove",t.layoutComponentRender="studio:layoutComponentRender",t.getStateTheme="studio:getStateTheme",t.setStateTheme="studio:setStateTheme",t.assetProviderGet="studio:assetProviderGet",t.assetProviderAdd="studio:assetProviderAdd",t.assetProviderRemove="studio:assetProviderRemove",t.fontGet="studio:fontGet",t.fontAdd="studio:fontAdd",t.fontRemove="studio:fontRemove",t.fontManagerOpen="studio:fontManagerOpen",t.menuFontLoad="studio:menuFontLoad",t.toggleStateDataSource="studio:toggleStateDataSource",t.getStateDataSource="studio:getStateDataSource",t.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",t.dataSourceSetImporter="studio:dataSourceSetImporter",t.dataSourceSetExporter="studio:dataSourceSetExporter",t.setDragAbsolute="studio:setDragAbsolute",t))(m||{}),O=(t=>(t.dark="dark",t.light="light",t.auto="auto",t))(O||{});const I="app.grapesjs.com",L="app-stage.grapesjs.com",M="app2.grapesjs.com",N="app-stage2.grapesjs.com",R=[I,M,L,N,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],B="license:check:start",U="license:check:end",j=()=>typeof window<"u",W=({isDev:t,isStage:s,isPlatform:n})=>`${t?"":`https://${s?L:I}`}/${n?"platform-api":"api"}`,$=()=>{const t=j()&&window.location.hostname;return!!t&&(R.includes(t)||R.some(s=>t.endsWith(s)))};async function F({path:t,baseApiUrl:s,method:n="GET",headers:a={},params:r,body:c}){const l=`${s||W({isDev:!1,isStage:!1})}${t}`,i={method:n,headers:{"Content-Type":"application/json",...a}};c&&(i.body=JSON.stringify(c));const u=r?new URLSearchParams(r).toString():"",e=u?`?${u}`:"",o=await fetch(`${l}${e}`,i);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}const k={[v.free]:0,[v.startup]:10,[v.business]:20,[v.enterprise]:30};function S(t){const s=t;return s.init=n=>a=>t(a,n),s}const K=t=>S(t);async function q({editor:t,plan:s,pluginName:n,licenseKey:a,onLicenseCheckResponse:r,cleanup:c}){let d="",l=!1;const i=$(),u=o=>{console.warn("Cleanup plugin:",n,"Reason:",o),c()},e=(o={})=>{var w;const{error:b,sdkLicense:x}=o,g=(w=o.plan)==null?void 0:w.category;if(!(x||o.license)||b)u(b||"Invalid license");else if(g){const p=k[s],P=k[g];p>P&&u({pluginRequiredPlan:s,licensePlan:g})}};t.on(B,o=>{d=o==null?void 0:o.baseApiUrl,l=!0}),t.on(U,o=>{r==null||r(o),e(o)}),setTimeout(async()=>{if(!l){if(i)return;if(a){const o=await H({licenseKey:a,pluginName:n,baseApiUrl:d});r==null||r(o),o&&e(o)}else u("The `licenseKey` option not provided")}},2e3)}async function H(t){const{licenseKey:s,pluginName:n,baseApiUrl:a}=t;try{return(await F({baseApiUrl:a,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(r){return console.error("Error during SDK license check:",r),!1}}const z=(t,s,n)=>{const{doc:a=document}=n,r=n.target||a.head,c=r.querySelector(`style[${t}]`)||a.createElement("style");c.setAttribute(t,"true"),c.innerHTML=s,!r.contains(c)&&r.appendChild(c)},C=t=>t.dispatchEvent(new CustomEvent("input"));function V(t,s){if(!s)return()=>{};const n=t.Components.events,a=e=>t.getSelectedAll().includes(e),r=e=>e.isInstanceOf("text")&&!e.isChildOf("text"),c=e=>e.isChildOf("text"),d=e=>t.getEditing()===e,l=(e,o={})=>{e.trigger("focus",o.event)},i=(e,o)=>{a(e)&&r(e)&&!d(e)&&l(e,o)},u=(e,o)=>{if(a(e)&&!r(e)&&c(e)){const b=e.parents().find(x=>x.isInstanceOf("text"));b&&(l(b,o),setTimeout(()=>t.select(b),0))}};return t.on(n.select,i),t.on(n.selectBefore,u),()=>{t.off(n.select,i),t.off(n.selectBefore,u)}}const J="rteTinyMce",X=v.startup,Y=`
1
+ "use strict";var v=(t=>(t.free="free",t.startup="startup",t.business="business",t.enterprise="enterprise",t))(v||{}),m=(t=>(t.toastAdd="studio:toastAdd",t.toastRemove="studio:toastRemove",t.dialogOpen="studio:dialogOpen",t.dialogClose="studio:dialogClose",t.dialogExportCode="studio:dialogExportCode",t.dialogImportCode="studio:dialogImportCode",t.sidebarLeftSet="studio:sidebarLeft:set",t.sidebarLeftGet="studio:sidebarLeft:get",t.sidebarLeftToggle="studio:sidebarLeft:toggle",t.sidebarRightSet="studio:sidebarRight:set",t.sidebarRightGet="studio:sidebarRight:get",t.sidebarRightToggle="studio:sidebarRight:toggle",t.sidebarTopSet="studio:sidebarTop:set",t.sidebarTopGet="studio:sidebarTop:get",t.sidebarTopToggle="studio:sidebarTop:toggle",t.sidebarBottomSet="studio:sidebarBottom:set",t.sidebarBottomGet="studio:sidebarBottom:get",t.sidebarBottomToggle="studio:sidebarBottom:toggle",t.symbolAdd="studio:symbolAdd",t.symbolDetach="studio:symbolDetach",t.symbolOverride="studio:symbolOverride",t.symbolPropagateStyles="studio:propagateStyles",t.getPagesConfig="studio:getPagesConfig",t.setPagesConfig="studio:setPagesConfig",t.getPageSettings="studio:getPageSettings",t.setPageSettings="studio:setPageSettings",t.clearPage="studio:clearPage",t.projectFiles="studio:projectFiles",t.validateCode="studio:validateCode",t.canvasReload="studio:canvasReload",t.getBlocksPanel="studio:getBlocksPanel",t.setBlocksPanel="studio:setBlocksPanel",t.getStateContextMenu="studio:getStateContextMenu",t.setStateContextMenu="studio:setStateContextMenu",t.contextMenuComponent="studio:contextMenuComponent",t.layoutAdd="studio:layoutAdd",t.layoutRemove="studio:layoutRemove",t.layoutToggle="studio:layoutToggle",t.layoutUpdate="studio:layoutUpdate",t.layoutGet="studio:layoutGet",t.layoutConfigGet="studio:layoutConfigGet",t.layoutConfigSet="studio:layoutConfigSet",t.layoutComponentAdd="studio:layoutComponentAdd",t.layoutComponentGet="studio:layoutComponentGet",t.layoutComponentRemove="studio:layoutComponentRemove",t.layoutComponentRender="studio:layoutComponentRender",t.getStateTheme="studio:getStateTheme",t.setStateTheme="studio:setStateTheme",t.assetProviderGet="studio:assetProviderGet",t.assetProviderAdd="studio:assetProviderAdd",t.assetProviderRemove="studio:assetProviderRemove",t.fontGet="studio:fontGet",t.fontAdd="studio:fontAdd",t.fontRemove="studio:fontRemove",t.fontManagerOpen="studio:fontManagerOpen",t.menuFontLoad="studio:menuFontLoad",t.toggleStateDataSource="studio:toggleStateDataSource",t.getStateDataSource="studio:getStateDataSource",t.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",t.dataSourceSetImporter="studio:dataSourceSetImporter",t.dataSourceSetExporter="studio:dataSourceSetExporter",t.setDragAbsolute="studio:setDragAbsolute",t))(m||{}),I=(t=>(t.dark="dark",t.light="light",t.auto="auto",t))(I||{});const O="app.grapesjs.com",L="app-stage.grapesjs.com",M="app2.grapesjs.com",N="app-stage2.grapesjs.com",R=[O,M,L,N,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],B="license:check:start",U="license:check:end",j=()=>typeof window<"u",W=({isDev:t,isStage:s,isPlatform:n})=>`${t?"":`https://${s?L:O}`}/${n?"platform-api":"api"}`,$=()=>{const t=j()&&window.location.hostname;return!!t&&(R.includes(t)||R.some(s=>t.endsWith(s)))};async function F({path:t,baseApiUrl:s,method:n="GET",headers:a={},params:r,body:c}){const l=`${s||W({isDev:!1,isStage:!1})}${t}`,i={method:n,headers:{"Content-Type":"application/json",...a}};c&&(i.body=JSON.stringify(c));const u=r?new URLSearchParams(r).toString():"",e=u?`?${u}`:"",o=await fetch(`${l}${e}`,i);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}const k={[v.free]:0,[v.startup]:10,[v.business]:20,[v.enterprise]:30};function K(t){const s=t;return s.init=n=>a=>t(a,n),s}const S=t=>K(t);async function q({editor:t,plan:s,pluginName:n,licenseKey:a,onLicenseCheckResponse:r,cleanup:c}){let d="",l=!1;const i=$(),u=o=>{console.warn("Cleanup plugin:",n,"Reason:",o),c()},e=(o={})=>{var w;const{error:b,sdkLicense:x}=o,g=(w=o.plan)==null?void 0:w.category;if(!(x||o.license)||b)u(b||"Invalid license");else if(g){const p=k[s],P=k[g];p>P&&u({pluginRequiredPlan:s,licensePlan:g})}};t.on(B,o=>{d=o==null?void 0:o.baseApiUrl,l=!0}),t.on(U,o=>{r==null||r(o),e(o)}),setTimeout(async()=>{if(!l){if(i)return;if(a){const o=await H({licenseKey:a,pluginName:n,baseApiUrl:d});r==null||r(o),o&&e(o)}else u("The `licenseKey` option not provided")}},2e3)}async function H(t){const{licenseKey:s,pluginName:n,baseApiUrl:a}=t;try{return(await F({baseApiUrl:a,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(r){return console.error("Error during SDK license check:",r),!1}}const C=(t,s,n)=>{const{doc:a=document}=n,r=n.target||a.head,c=r.querySelector(`style[${t}]`)||a.createElement("style");c.setAttribute(t,"true"),c.innerHTML=s,!r.contains(c)&&r.appendChild(c)},z=t=>t.dispatchEvent(new CustomEvent("input"));function V(t,s){if(!s)return()=>{};const n=t.Components.events,a=e=>t.getSelectedAll().includes(e),r=e=>e.isInstanceOf("text")&&!e.isChildOf("text"),c=e=>e.isChildOf("text"),d=e=>t.getEditing()===e,l=(e,o={})=>{e.trigger("focus",o.event)},i=(e,o)=>{a(e)&&r(e)&&!d(e)&&l(e,o)},u=(e,o)=>{if(a(e)&&!r(e)&&c(e)){const b=e.parents().find(x=>x.isInstanceOf("text"));b&&(l(b,o),setTimeout(()=>t.select(b),0))}};return t.on(n.select,i),t.on(n.selectBefore,u),()=>{t.off(n.select,i),t.off(n.selectBefore,u)}}const J="rteTinyMce",X=v.startup,Y=`
2
2
  .tox .tox-toolbar,
3
3
  .tox .tox-toolbar__overflow,
4
4
  .tox .tox-toolbar__primary,
@@ -101,4 +101,4 @@
101
101
  background-color: var(--gs-theme-cl-prm-bg1);
102
102
  border-color: var(--gs-theme-cl-prm-bg3);
103
103
  opacity: 0.75;
104
- }`,E=new WeakMap,Q=(t,s)=>{E.set(t,s)},Z=t=>{E.delete(t)},T=t=>E.get(t),y=t=>{const s=t.target,n=s.closest(".tox"),a=s.matches(".ephox-snooker-resizer-bar");(n||a)&&t.stopPropagation()},D=t=>{t.stopPropagation(),t.preventDefault()},tt=(t,s)=>{const n=t.getDoc(),a=t.getWin();if(s!=null&&s.event){const{event:r}=s,{clientX:c,clientY:d}=r;let l;if(n.caretRangeFromPoint)l=n.caretRangeFromPoint(c,d);else if(n.caretPositionFromPoint){const i=n.caretPositionFromPoint(c,d);l=n.createRange(),l==null||l.setStart(i.offsetNode,i.offset)}if(l){const i=a.getSelection();i==null||i.removeAllRanges(),i==null||i.addRange(l),t.selection.setRng(l)}}else t.execCommand("SelectAll")},et=t=>{var u,e;const{el:s,editor:n,componentView:a}=t,r=n.runCommand(m.getStateTheme),c=a.model,d={target:s,inline:!0,skin:(r==null?void 0:r.theme)===O.dark?"oxide-dark":"oxide",menubar:!1,image_advtab:!0,paste_data_images:!0,statusbar:!1,branding:!1,forced_root_block:"div",plugins:"advlist autolink lists link image media table",toolbar_mode:"sliding",toolbar:"bold italic underline strikethrough forecolor backcolor alignleft aligncenter alignright alignjustify link image | fontfamily fontsize bullist numlist outdent indent table"},l=((e=(u=t.pluginOpts)==null?void 0:u.loadConfig)==null?void 0:e.call(u,{config:d,editor:n,componentView:a,component:c}))||{};return{...d,...l}},A=(t,s=document)=>new Promise((n,a)=>{const r=Array.isArray(t)?[...t]:[t],{head:c}=s,d=l=>{if(l.length){const i=s.createElement("script");i.src=l.shift(),i.onload=d.bind(null,l),i.onerror=a,c.appendChild(i)}else n()};d(r)}),ot=function(t,s={}){const n={cdnScript:"https://cdn.jsdelivr.net/npm/tinymce@6.8.5/tinymce.min.js",...s},{cdnScript:a}=n,r=t.Canvas.events,c=!n.skipCustomTheme,d="gs-plg-tinymce-studio-theme",l=async(e,o)=>{const b=e.ownerDocument,x=b.defaultView,g=o==null?void 0:o.view;if(!x||!g){console.warn("Missing required data",{win:x,componentView:g});return}const h=et({el:e,editor:t,componentView:g,pluginOpts:n}),p=(await x.tinymce.init(h))[0];if(!p)return;const G=(await window.tinymce.init({...h,target:document.createElement("div")}))[0];return p.ui.show(),b.body.addEventListener("mousedown",y),document.body.addEventListener("mousedown",y),p.on("Change",()=>C(e)),p.on("blur",()=>p.ui.show()),p.on("OpenWindow",function(){var _;const f=(_=b.querySelector(".tox-dialog"))==null?void 0:_.closest(".tox");f&&(f==null?void 0:f.ownerDocument)!==document&&(document.body.appendChild(f),p.once("CloseWindow",()=>{f&&f.ownerDocument===document&&b.body.appendChild(f)}))}),e.addEventListener("dragstart",D,{capture:!0}),t.runCommand(m.setStateContextMenu,{enabled:!1}),tt(p,o),{rteEditor:p,rteEditorShallow:G}},i=(e,o)=>{e.ownerDocument.body.removeEventListener("mousedown",y),document.body.removeEventListener("mousedown",y),e.removeEventListener("dragstart",D,{capture:!0}),t.runCommand(m.setStateContextMenu,{enabled:!0}),o.rteEditor.destroy(),o.rteEditorShallow.destroy()};t.on(r.frameLoad,async({window:e})=>{const o=e.document;A(a,o)}),t.onReady(()=>{A(a,document),c&&z(d,Y,{target:document.body})}),t.setCustomRte({parseContent:!0,async enable(e,o,b){const x=T(e);if(x)return x.rteEditor;const g=await l(e,b);return g&&Q(e,g),g==null?void 0:g.rteEditor},disable(e){const o=T(e);o&&(Z(e),i(e,o))},getContent(e,o,b){var h;const x=T(e),g=x==null?void 0:x.rteEditor;return g&&!g.isDirty()?b.view.lastContent:g?(h=g.getContent)==null?void 0:h.call(g):e.innerHTML}});const u=V(t,n.enableOnClick);q({editor:t,licenseKey:n.licenseKey,plan:X,pluginName:J,cleanup:()=>{t.RichTextEditor.customRte=void 0,u()}})},nt=K(ot);module.exports=nt;
104
+ }`,E=new WeakMap,Q=(t,s)=>{E.set(t,s)},Z=t=>{E.delete(t)},T=t=>E.get(t),y=t=>{const s=t.target,n=s.closest(".tox"),a=s.matches(".ephox-snooker-resizer-bar");(n||a)&&t.stopPropagation()},D=t=>{t.stopPropagation(),t.preventDefault()},tt=(t,s)=>{const n=t.getDoc(),a=t.getWin();if(s!=null&&s.event){const{event:r}=s,{clientX:c,clientY:d}=r;let l;if(n.caretRangeFromPoint)l=n.caretRangeFromPoint(c,d);else if(n.caretPositionFromPoint){const i=n.caretPositionFromPoint(c,d);l=n.createRange(),l==null||l.setStart(i.offsetNode,i.offset)}if(l){const i=a.getSelection();i==null||i.removeAllRanges(),i==null||i.addRange(l),t.selection.setRng(l)}}else t.execCommand("SelectAll")},et=t=>{var u,e;const{el:s,editor:n,componentView:a}=t,r=n.runCommand(m.getStateTheme),c=a.model,d={target:s,inline:!0,skin:(r==null?void 0:r.theme)===I.dark?"oxide-dark":"oxide",menubar:!1,image_advtab:!0,paste_data_images:!0,statusbar:!1,branding:!1,forced_root_block:"div",plugins:"advlist autolink lists link image media table",toolbar_mode:"sliding",toolbar:"bold italic underline strikethrough forecolor backcolor alignleft aligncenter alignright alignjustify link image | fontfamily fontsize bullist numlist outdent indent table"},l=((e=(u=t.pluginOpts)==null?void 0:u.loadConfig)==null?void 0:e.call(u,{config:d,editor:n,componentView:a,component:c}))||{};return{...d,...l}},A=(t,s=document)=>new Promise((n,a)=>{const r=Array.isArray(t)?[...t]:[t],{head:c}=s,d=l=>{if(l.length){const i=s.createElement("script");i.src=l.shift(),i.onload=d.bind(null,l),i.onerror=a,c.appendChild(i)}else n()};d(r)}),ot=function(t,s={}){const n={cdnScript:"https://cdn.jsdelivr.net/npm/tinymce@6.8.5/tinymce.min.js",...s},{cdnScript:a}=n,r=t.Canvas.events,c=!n.skipCustomTheme,d="gs-plg-tinymce-studio-theme",l=async(e,o)=>{const b=e.ownerDocument,x=b.defaultView,g=o==null?void 0:o.view;if(!x||!g){console.warn("Missing required data",{win:x,componentView:g});return}const h=et({el:e,editor:t,componentView:g,pluginOpts:n}),p=(await x.tinymce.init(h))[0];if(!p)return;const G=(await window.tinymce.init({...h,target:document.createElement("div")}))[0];return p.ui.show(),b.body.addEventListener("mousedown",y),document.body.addEventListener("mousedown",y),p.on("Change",()=>z(e)),p.on("blur",()=>p.ui.show()),p.on("OpenWindow",function(){var _;const f=(_=b.querySelector(".tox-dialog"))==null?void 0:_.closest(".tox");f&&(f==null?void 0:f.ownerDocument)!==document&&(document.body.appendChild(f),p.once("CloseWindow",()=>{f&&f.ownerDocument===document&&b.body.appendChild(f)}))}),e.addEventListener("dragstart",D,{capture:!0}),t.runCommand(m.setStateContextMenu,{enabled:!1}),tt(p,o),{rteEditor:p,rteEditorShallow:G}},i=(e,o)=>{e.ownerDocument.body.removeEventListener("mousedown",y),document.body.removeEventListener("mousedown",y),e.removeEventListener("dragstart",D,{capture:!0}),t.runCommand(m.setStateContextMenu,{enabled:!0}),o.rteEditor.destroy(),o.rteEditorShallow.destroy()};t.on(r.frameLoad,async({window:e})=>{const o=e.document;A(a,o)}),t.onReady(()=>{A(a,document),c&&C(d,Y,{target:document.body})}),t.setCustomRte({parseContent:!0,async enable(e,o,b){const x=T(e);if(x)return x.rteEditor;const g=await l(e,b);return g&&Q(e,g),g==null?void 0:g.rteEditor},disable(e){const o=T(e);o&&(Z(e),i(e,o))},getContent(e,o,b){var h;const x=T(e),g=x==null?void 0:x.rteEditor;return g&&!g.isDirty()?b.view.lastContent:g?(h=g.getContent)==null?void 0:h.call(g):e.innerHTML}});const u=V(t,n.enableOnClick);q({editor:t,licenseKey:n.licenseKey,plan:X,pluginName:J,cleanup:()=>{t.RichTextEditor.customRte=void 0,u()}})},nt=S(ot);module.exports=nt;
@@ -1,6 +1,6 @@
1
- var v = /* @__PURE__ */ ((t) => (t.free = "free", t.startup = "startup", t.business = "business", t.enterprise = "enterprise", t))(v || {}), m = /* @__PURE__ */ ((t) => (t.toastAdd = "studio:toastAdd", t.toastRemove = "studio:toastRemove", t.dialogOpen = "studio:dialogOpen", t.dialogClose = "studio:dialogClose", t.dialogExportCode = "studio:dialogExportCode", t.sidebarLeftSet = "studio:sidebarLeft:set", t.sidebarLeftGet = "studio:sidebarLeft:get", t.sidebarLeftToggle = "studio:sidebarLeft:toggle", t.sidebarRightSet = "studio:sidebarRight:set", t.sidebarRightGet = "studio:sidebarRight:get", t.sidebarRightToggle = "studio:sidebarRight:toggle", t.sidebarTopSet = "studio:sidebarTop:set", t.sidebarTopGet = "studio:sidebarTop:get", t.sidebarTopToggle = "studio:sidebarTop:toggle", t.sidebarBottomSet = "studio:sidebarBottom:set", t.sidebarBottomGet = "studio:sidebarBottom:get", t.sidebarBottomToggle = "studio:sidebarBottom:toggle", t.symbolAdd = "studio:symbolAdd", t.symbolDetach = "studio:symbolDetach", t.symbolOverride = "studio:symbolOverride", t.symbolPropagateStyles = "studio:propagateStyles", t.getPagesConfig = "studio:getPagesConfig", t.setPagesConfig = "studio:setPagesConfig", t.getPageSettings = "studio:getPageSettings", t.setPageSettings = "studio:setPageSettings", t.clearPage = "studio:clearPage", t.projectFiles = "studio:projectFiles", t.validateCode = "studio:validateCode", t.canvasReload = "studio:canvasReload", t.getBlocksPanel = "studio:getBlocksPanel", t.setBlocksPanel = "studio:setBlocksPanel", t.getStateContextMenu = "studio:getStateContextMenu", t.setStateContextMenu = "studio:setStateContextMenu", t.contextMenuComponent = "studio:contextMenuComponent", t.layoutAdd = "studio:layoutAdd", t.layoutRemove = "studio:layoutRemove", t.layoutToggle = "studio:layoutToggle", t.layoutUpdate = "studio:layoutUpdate", t.layoutGet = "studio:layoutGet", t.layoutConfigGet = "studio:layoutConfigGet", t.layoutConfigSet = "studio:layoutConfigSet", t.layoutComponentAdd = "studio:layoutComponentAdd", t.layoutComponentGet = "studio:layoutComponentGet", t.layoutComponentRemove = "studio:layoutComponentRemove", t.layoutComponentRender = "studio:layoutComponentRender", t.getStateTheme = "studio:getStateTheme", t.setStateTheme = "studio:setStateTheme", t.assetProviderGet = "studio:assetProviderGet", t.assetProviderAdd = "studio:assetProviderAdd", t.assetProviderRemove = "studio:assetProviderRemove", t.fontGet = "studio:fontGet", t.fontAdd = "studio:fontAdd", t.fontRemove = "studio:fontRemove", t.fontManagerOpen = "studio:fontManagerOpen", t.menuFontLoad = "studio:menuFontLoad", t.toggleStateDataSource = "studio:toggleStateDataSource", t.getStateDataSource = "studio:getStateDataSource", t.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", t.dataSourceSetImporter = "studio:dataSourceSetImporter", t.dataSourceSetExporter = "studio:dataSourceSetExporter", t.setDragAbsolute = "studio:setDragAbsolute", t))(m || {}), O = /* @__PURE__ */ ((t) => (t.dark = "dark", t.light = "light", t.auto = "auto", t))(O || {});
2
- const I = "app.grapesjs.com", L = "app-stage.grapesjs.com", M = "app2.grapesjs.com", N = "app-stage2.grapesjs.com", R = [
3
- I,
1
+ var v = /* @__PURE__ */ ((t) => (t.free = "free", t.startup = "startup", t.business = "business", t.enterprise = "enterprise", t))(v || {}), m = /* @__PURE__ */ ((t) => (t.toastAdd = "studio:toastAdd", t.toastRemove = "studio:toastRemove", t.dialogOpen = "studio:dialogOpen", t.dialogClose = "studio:dialogClose", t.dialogExportCode = "studio:dialogExportCode", t.dialogImportCode = "studio:dialogImportCode", t.sidebarLeftSet = "studio:sidebarLeft:set", t.sidebarLeftGet = "studio:sidebarLeft:get", t.sidebarLeftToggle = "studio:sidebarLeft:toggle", t.sidebarRightSet = "studio:sidebarRight:set", t.sidebarRightGet = "studio:sidebarRight:get", t.sidebarRightToggle = "studio:sidebarRight:toggle", t.sidebarTopSet = "studio:sidebarTop:set", t.sidebarTopGet = "studio:sidebarTop:get", t.sidebarTopToggle = "studio:sidebarTop:toggle", t.sidebarBottomSet = "studio:sidebarBottom:set", t.sidebarBottomGet = "studio:sidebarBottom:get", t.sidebarBottomToggle = "studio:sidebarBottom:toggle", t.symbolAdd = "studio:symbolAdd", t.symbolDetach = "studio:symbolDetach", t.symbolOverride = "studio:symbolOverride", t.symbolPropagateStyles = "studio:propagateStyles", t.getPagesConfig = "studio:getPagesConfig", t.setPagesConfig = "studio:setPagesConfig", t.getPageSettings = "studio:getPageSettings", t.setPageSettings = "studio:setPageSettings", t.clearPage = "studio:clearPage", t.projectFiles = "studio:projectFiles", t.validateCode = "studio:validateCode", t.canvasReload = "studio:canvasReload", t.getBlocksPanel = "studio:getBlocksPanel", t.setBlocksPanel = "studio:setBlocksPanel", t.getStateContextMenu = "studio:getStateContextMenu", t.setStateContextMenu = "studio:setStateContextMenu", t.contextMenuComponent = "studio:contextMenuComponent", t.layoutAdd = "studio:layoutAdd", t.layoutRemove = "studio:layoutRemove", t.layoutToggle = "studio:layoutToggle", t.layoutUpdate = "studio:layoutUpdate", t.layoutGet = "studio:layoutGet", t.layoutConfigGet = "studio:layoutConfigGet", t.layoutConfigSet = "studio:layoutConfigSet", t.layoutComponentAdd = "studio:layoutComponentAdd", t.layoutComponentGet = "studio:layoutComponentGet", t.layoutComponentRemove = "studio:layoutComponentRemove", t.layoutComponentRender = "studio:layoutComponentRender", t.getStateTheme = "studio:getStateTheme", t.setStateTheme = "studio:setStateTheme", t.assetProviderGet = "studio:assetProviderGet", t.assetProviderAdd = "studio:assetProviderAdd", t.assetProviderRemove = "studio:assetProviderRemove", t.fontGet = "studio:fontGet", t.fontAdd = "studio:fontAdd", t.fontRemove = "studio:fontRemove", t.fontManagerOpen = "studio:fontManagerOpen", t.menuFontLoad = "studio:menuFontLoad", t.toggleStateDataSource = "studio:toggleStateDataSource", t.getStateDataSource = "studio:getStateDataSource", t.dataSourceSetGlobalData = "studio:dataSourceSetGlobalData", t.dataSourceSetImporter = "studio:dataSourceSetImporter", t.dataSourceSetExporter = "studio:dataSourceSetExporter", t.setDragAbsolute = "studio:setDragAbsolute", t))(m || {}), I = /* @__PURE__ */ ((t) => (t.dark = "dark", t.light = "light", t.auto = "auto", t))(I || {});
2
+ const O = "app.grapesjs.com", L = "app-stage.grapesjs.com", M = "app2.grapesjs.com", N = "app-stage2.grapesjs.com", R = [
3
+ O,
4
4
  M,
5
5
  L,
6
6
  N,
@@ -16,7 +16,7 @@ const I = "app.grapesjs.com", L = "app-stage.grapesjs.com", M = "app2.grapesjs.c
16
16
  isDev: t,
17
17
  isStage: s,
18
18
  isPlatform: n
19
- }) => `${t ? "" : `https://${s ? L : I}`}/${n ? "platform-api" : "api"}`, $ = () => {
19
+ }) => `${t ? "" : `https://${s ? L : O}`}/${n ? "platform-api" : "api"}`, $ = () => {
20
20
  const t = j() && window.location.hostname;
21
21
  return !!t && (R.includes(t) || R.some((s) => t.endsWith(s)));
22
22
  };
@@ -47,11 +47,11 @@ const k = {
47
47
  [v.business]: 20,
48
48
  [v.enterprise]: 30
49
49
  };
50
- function S(t) {
50
+ function K(t) {
51
51
  const s = t;
52
52
  return s.init = (n) => (a) => t(a, n), s;
53
53
  }
54
- const K = (t) => /* @__PURE__ */ S(t);
54
+ const S = (t) => /* @__PURE__ */ K(t);
55
55
  async function q({
56
56
  editor: t,
57
57
  plan: s,
@@ -104,10 +104,10 @@ async function H(t) {
104
104
  return console.error("Error during SDK license check:", r), !1;
105
105
  }
106
106
  }
107
- const z = (t, s, n) => {
107
+ const C = (t, s, n) => {
108
108
  const { doc: a = document } = n, r = n.target || a.head, c = r.querySelector(`style[${t}]`) || a.createElement("style");
109
109
  c.setAttribute(t, "true"), c.innerHTML = s, !r.contains(c) && r.appendChild(c);
110
- }, C = (t) => t.dispatchEvent(new CustomEvent("input"));
110
+ }, z = (t) => t.dispatchEvent(new CustomEvent("input"));
111
111
  function V(t, s) {
112
112
  if (!s) return () => {
113
113
  };
@@ -259,7 +259,7 @@ const J = "rteTinyMce", X = v.startup, Y = `
259
259
  const { el: s, editor: n, componentView: a } = t, r = n.runCommand(m.getStateTheme), c = a.model, d = {
260
260
  target: s,
261
261
  inline: !0,
262
- skin: (r == null ? void 0 : r.theme) === O.dark ? "oxide-dark" : "oxide",
262
+ skin: (r == null ? void 0 : r.theme) === I.dark ? "oxide-dark" : "oxide",
263
263
  menubar: !1,
264
264
  image_advtab: !0,
265
265
  paste_data_images: !0,
@@ -308,7 +308,7 @@ const J = "rteTinyMce", X = v.startup, Y = `
308
308
  ...h,
309
309
  target: document.createElement("div")
310
310
  }))[0];
311
- return p.ui.show(), b.body.addEventListener("mousedown", y), document.body.addEventListener("mousedown", y), p.on("Change", () => C(e)), p.on("blur", () => p.ui.show()), p.on("OpenWindow", function() {
311
+ return p.ui.show(), b.body.addEventListener("mousedown", y), document.body.addEventListener("mousedown", y), p.on("Change", () => z(e)), p.on("blur", () => p.ui.show()), p.on("OpenWindow", function() {
312
312
  var _;
313
313
  const f = (_ = b.querySelector(".tox-dialog")) == null ? void 0 : _.closest(".tox");
314
314
  f && (f == null ? void 0 : f.ownerDocument) !== document && (document.body.appendChild(f), p.once("CloseWindow", () => {
@@ -322,7 +322,7 @@ const J = "rteTinyMce", X = v.startup, Y = `
322
322
  const o = e.document;
323
323
  A(a, o);
324
324
  }), t.onReady(() => {
325
- A(a, document), c && z(d, Y, { target: document.body });
325
+ A(a, document), c && C(d, Y, { target: document.body });
326
326
  }), t.setCustomRte({
327
327
  parseContent: !0,
328
328
  // @ts-expect-error - Type 'CustomRteOptions' is missing the following properties from type 'CustomRteOptions': editor, component, el
@@ -352,7 +352,7 @@ const J = "rteTinyMce", X = v.startup, Y = `
352
352
  t.RichTextEditor.customRte = void 0, u();
353
353
  }
354
354
  });
355
- }, rt = K(ot);
355
+ }, rt = S(ot);
356
356
  export {
357
357
  rt as default
358
358
  };
@@ -1,4 +1,4 @@
1
- (function(p,h){typeof exports=="object"&&typeof module<"u"?module.exports=h():typeof define=="function"&&define.amd?define(h):(p=typeof globalThis<"u"?globalThis:p||self,p.StudioSdkPlugins_rteTinyMce=h())})(this,function(){"use strict";var p=(t=>(t.free="free",t.startup="startup",t.business="business",t.enterprise="enterprise",t))(p||{}),h=(t=>(t.toastAdd="studio:toastAdd",t.toastRemove="studio:toastRemove",t.dialogOpen="studio:dialogOpen",t.dialogClose="studio:dialogClose",t.dialogExportCode="studio:dialogExportCode",t.sidebarLeftSet="studio:sidebarLeft:set",t.sidebarLeftGet="studio:sidebarLeft:get",t.sidebarLeftToggle="studio:sidebarLeft:toggle",t.sidebarRightSet="studio:sidebarRight:set",t.sidebarRightGet="studio:sidebarRight:get",t.sidebarRightToggle="studio:sidebarRight:toggle",t.sidebarTopSet="studio:sidebarTop:set",t.sidebarTopGet="studio:sidebarTop:get",t.sidebarTopToggle="studio:sidebarTop:toggle",t.sidebarBottomSet="studio:sidebarBottom:set",t.sidebarBottomGet="studio:sidebarBottom:get",t.sidebarBottomToggle="studio:sidebarBottom:toggle",t.symbolAdd="studio:symbolAdd",t.symbolDetach="studio:symbolDetach",t.symbolOverride="studio:symbolOverride",t.symbolPropagateStyles="studio:propagateStyles",t.getPagesConfig="studio:getPagesConfig",t.setPagesConfig="studio:setPagesConfig",t.getPageSettings="studio:getPageSettings",t.setPageSettings="studio:setPageSettings",t.clearPage="studio:clearPage",t.projectFiles="studio:projectFiles",t.validateCode="studio:validateCode",t.canvasReload="studio:canvasReload",t.getBlocksPanel="studio:getBlocksPanel",t.setBlocksPanel="studio:setBlocksPanel",t.getStateContextMenu="studio:getStateContextMenu",t.setStateContextMenu="studio:setStateContextMenu",t.contextMenuComponent="studio:contextMenuComponent",t.layoutAdd="studio:layoutAdd",t.layoutRemove="studio:layoutRemove",t.layoutToggle="studio:layoutToggle",t.layoutUpdate="studio:layoutUpdate",t.layoutGet="studio:layoutGet",t.layoutConfigGet="studio:layoutConfigGet",t.layoutConfigSet="studio:layoutConfigSet",t.layoutComponentAdd="studio:layoutComponentAdd",t.layoutComponentGet="studio:layoutComponentGet",t.layoutComponentRemove="studio:layoutComponentRemove",t.layoutComponentRender="studio:layoutComponentRender",t.getStateTheme="studio:getStateTheme",t.setStateTheme="studio:setStateTheme",t.assetProviderGet="studio:assetProviderGet",t.assetProviderAdd="studio:assetProviderAdd",t.assetProviderRemove="studio:assetProviderRemove",t.fontGet="studio:fontGet",t.fontAdd="studio:fontAdd",t.fontRemove="studio:fontRemove",t.fontManagerOpen="studio:fontManagerOpen",t.menuFontLoad="studio:menuFontLoad",t.toggleStateDataSource="studio:toggleStateDataSource",t.getStateDataSource="studio:getStateDataSource",t.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",t.dataSourceSetImporter="studio:dataSourceSetImporter",t.dataSourceSetExporter="studio:dataSourceSetExporter",t.setDragAbsolute="studio:setDragAbsolute",t))(h||{}),P=(t=>(t.dark="dark",t.light="light",t.auto="auto",t))(P||{});const _="app.grapesjs.com",R="app-stage.grapesjs.com",k=[_,"app2.grapesjs.com",R,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],G="license:check:start",L="license:check:end",N=()=>typeof window<"u",B=({isDev:t,isStage:s,isPlatform:n})=>`${t?"":`https://${s?R:_}`}/${n?"platform-api":"api"}`,j=()=>{const t=N()&&window.location.hostname;return!!t&&(k.includes(t)||k.some(s=>t.endsWith(s)))};async function U({path:t,baseApiUrl:s,method:n="GET",headers:a={},params:r,body:c}){const l=`${s||B({isDev:!1,isStage:!1})}${t}`,i={method:n,headers:{"Content-Type":"application/json",...a}};c&&(i.body=JSON.stringify(c));const u=r?new URLSearchParams(r).toString():"",e=u?`?${u}`:"",o=await fetch(`${l}${e}`,i);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}const D={[p.free]:0,[p.startup]:10,[p.business]:20,[p.enterprise]:30};function W(t){const s=t;return s.init=n=>a=>t(a,n),s}const $=t=>W(t);async function F({editor:t,plan:s,pluginName:n,licenseKey:a,onLicenseCheckResponse:r,cleanup:c}){let d="",l=!1;const i=j(),u=o=>{console.warn("Cleanup plugin:",n,"Reason:",o),c()},e=(o={})=>{var E;const{error:b,sdkLicense:x}=o,g=(E=o.plan)==null?void 0:E.category;if(!(x||o.license)||b)u(b||"Invalid license");else if(g){const f=D[s],I=D[g];f>I&&u({pluginRequiredPlan:s,licensePlan:g})}};t.on(G,o=>{d=o==null?void 0:o.baseApiUrl,l=!0}),t.on(L,o=>{r==null||r(o),e(o)}),setTimeout(async()=>{if(!l){if(i)return;if(a){const o=await S({licenseKey:a,pluginName:n,baseApiUrl:d});r==null||r(o),o&&e(o)}else u("The `licenseKey` option not provided")}},2e3)}async function S(t){const{licenseKey:s,pluginName:n,baseApiUrl:a}=t;try{return(await U({baseApiUrl:a,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(r){return console.error("Error during SDK license check:",r),!1}}const K=(t,s,n)=>{const{doc:a=document}=n,r=n.target||a.head,c=r.querySelector(`style[${t}]`)||a.createElement("style");c.setAttribute(t,"true"),c.innerHTML=s,!r.contains(c)&&r.appendChild(c)},q=t=>t.dispatchEvent(new CustomEvent("input"));function H(t,s){if(!s)return()=>{};const n=t.Components.events,a=e=>t.getSelectedAll().includes(e),r=e=>e.isInstanceOf("text")&&!e.isChildOf("text"),c=e=>e.isChildOf("text"),d=e=>t.getEditing()===e,l=(e,o={})=>{e.trigger("focus",o.event)},i=(e,o)=>{a(e)&&r(e)&&!d(e)&&l(e,o)},u=(e,o)=>{if(a(e)&&!r(e)&&c(e)){const b=e.parents().find(x=>x.isInstanceOf("text"));b&&(l(b,o),setTimeout(()=>t.select(b),0))}};return t.on(n.select,i),t.on(n.selectBefore,u),()=>{t.off(n.select,i),t.off(n.selectBefore,u)}}const z="rteTinyMce",C=p.startup,V=`
1
+ (function(f,h){typeof exports=="object"&&typeof module<"u"?module.exports=h():typeof define=="function"&&define.amd?define(h):(f=typeof globalThis<"u"?globalThis:f||self,f.StudioSdkPlugins_rteTinyMce=h())})(this,function(){"use strict";var f=(t=>(t.free="free",t.startup="startup",t.business="business",t.enterprise="enterprise",t))(f||{}),h=(t=>(t.toastAdd="studio:toastAdd",t.toastRemove="studio:toastRemove",t.dialogOpen="studio:dialogOpen",t.dialogClose="studio:dialogClose",t.dialogExportCode="studio:dialogExportCode",t.dialogImportCode="studio:dialogImportCode",t.sidebarLeftSet="studio:sidebarLeft:set",t.sidebarLeftGet="studio:sidebarLeft:get",t.sidebarLeftToggle="studio:sidebarLeft:toggle",t.sidebarRightSet="studio:sidebarRight:set",t.sidebarRightGet="studio:sidebarRight:get",t.sidebarRightToggle="studio:sidebarRight:toggle",t.sidebarTopSet="studio:sidebarTop:set",t.sidebarTopGet="studio:sidebarTop:get",t.sidebarTopToggle="studio:sidebarTop:toggle",t.sidebarBottomSet="studio:sidebarBottom:set",t.sidebarBottomGet="studio:sidebarBottom:get",t.sidebarBottomToggle="studio:sidebarBottom:toggle",t.symbolAdd="studio:symbolAdd",t.symbolDetach="studio:symbolDetach",t.symbolOverride="studio:symbolOverride",t.symbolPropagateStyles="studio:propagateStyles",t.getPagesConfig="studio:getPagesConfig",t.setPagesConfig="studio:setPagesConfig",t.getPageSettings="studio:getPageSettings",t.setPageSettings="studio:setPageSettings",t.clearPage="studio:clearPage",t.projectFiles="studio:projectFiles",t.validateCode="studio:validateCode",t.canvasReload="studio:canvasReload",t.getBlocksPanel="studio:getBlocksPanel",t.setBlocksPanel="studio:setBlocksPanel",t.getStateContextMenu="studio:getStateContextMenu",t.setStateContextMenu="studio:setStateContextMenu",t.contextMenuComponent="studio:contextMenuComponent",t.layoutAdd="studio:layoutAdd",t.layoutRemove="studio:layoutRemove",t.layoutToggle="studio:layoutToggle",t.layoutUpdate="studio:layoutUpdate",t.layoutGet="studio:layoutGet",t.layoutConfigGet="studio:layoutConfigGet",t.layoutConfigSet="studio:layoutConfigSet",t.layoutComponentAdd="studio:layoutComponentAdd",t.layoutComponentGet="studio:layoutComponentGet",t.layoutComponentRemove="studio:layoutComponentRemove",t.layoutComponentRender="studio:layoutComponentRender",t.getStateTheme="studio:getStateTheme",t.setStateTheme="studio:setStateTheme",t.assetProviderGet="studio:assetProviderGet",t.assetProviderAdd="studio:assetProviderAdd",t.assetProviderRemove="studio:assetProviderRemove",t.fontGet="studio:fontGet",t.fontAdd="studio:fontAdd",t.fontRemove="studio:fontRemove",t.fontManagerOpen="studio:fontManagerOpen",t.menuFontLoad="studio:menuFontLoad",t.toggleStateDataSource="studio:toggleStateDataSource",t.getStateDataSource="studio:getStateDataSource",t.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",t.dataSourceSetImporter="studio:dataSourceSetImporter",t.dataSourceSetExporter="studio:dataSourceSetExporter",t.setDragAbsolute="studio:setDragAbsolute",t))(h||{}),P=(t=>(t.dark="dark",t.light="light",t.auto="auto",t))(P||{});const _="app.grapesjs.com",R="app-stage.grapesjs.com",k=[_,"app2.grapesjs.com",R,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],G="license:check:start",L="license:check:end",N=()=>typeof window<"u",B=({isDev:t,isStage:s,isPlatform:n})=>`${t?"":`https://${s?R:_}`}/${n?"platform-api":"api"}`,j=()=>{const t=N()&&window.location.hostname;return!!t&&(k.includes(t)||k.some(s=>t.endsWith(s)))};async function U({path:t,baseApiUrl:s,method:n="GET",headers:a={},params:r,body:c}){const l=`${s||B({isDev:!1,isStage:!1})}${t}`,i={method:n,headers:{"Content-Type":"application/json",...a}};c&&(i.body=JSON.stringify(c));const u=r?new URLSearchParams(r).toString():"",e=u?`?${u}`:"",o=await fetch(`${l}${e}`,i);if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);return o.json()}const D={[f.free]:0,[f.startup]:10,[f.business]:20,[f.enterprise]:30};function W(t){const s=t;return s.init=n=>a=>t(a,n),s}const $=t=>W(t);async function F({editor:t,plan:s,pluginName:n,licenseKey:a,onLicenseCheckResponse:r,cleanup:c}){let d="",l=!1;const i=j(),u=o=>{console.warn("Cleanup plugin:",n,"Reason:",o),c()},e=(o={})=>{var E;const{error:b,sdkLicense:x}=o,g=(E=o.plan)==null?void 0:E.category;if(!(x||o.license)||b)u(b||"Invalid license");else if(g){const p=D[s],O=D[g];p>O&&u({pluginRequiredPlan:s,licensePlan:g})}};t.on(G,o=>{d=o==null?void 0:o.baseApiUrl,l=!0}),t.on(L,o=>{r==null||r(o),e(o)}),setTimeout(async()=>{if(!l){if(i)return;if(a){const o=await S({licenseKey:a,pluginName:n,baseApiUrl:d});r==null||r(o),o&&e(o)}else u("The `licenseKey` option not provided")}},2e3)}async function S(t){const{licenseKey:s,pluginName:n,baseApiUrl:a}=t;try{return(await U({baseApiUrl:a,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(r){return console.error("Error during SDK license check:",r),!1}}const K=(t,s,n)=>{const{doc:a=document}=n,r=n.target||a.head,c=r.querySelector(`style[${t}]`)||a.createElement("style");c.setAttribute(t,"true"),c.innerHTML=s,!r.contains(c)&&r.appendChild(c)},q=t=>t.dispatchEvent(new CustomEvent("input"));function H(t,s){if(!s)return()=>{};const n=t.Components.events,a=e=>t.getSelectedAll().includes(e),r=e=>e.isInstanceOf("text")&&!e.isChildOf("text"),c=e=>e.isChildOf("text"),d=e=>t.getEditing()===e,l=(e,o={})=>{e.trigger("focus",o.event)},i=(e,o)=>{a(e)&&r(e)&&!d(e)&&l(e,o)},u=(e,o)=>{if(a(e)&&!r(e)&&c(e)){const b=e.parents().find(x=>x.isInstanceOf("text"));b&&(l(b,o),setTimeout(()=>t.select(b),0))}};return t.on(n.select,i),t.on(n.selectBefore,u),()=>{t.off(n.select,i),t.off(n.selectBefore,u)}}const C="rteTinyMce",z=f.startup,V=`
2
2
  .tox .tox-toolbar,
3
3
  .tox .tox-toolbar__overflow,
4
4
  .tox .tox-toolbar__primary,
@@ -101,4 +101,4 @@
101
101
  background-color: var(--gs-theme-cl-prm-bg1);
102
102
  border-color: var(--gs-theme-cl-prm-bg3);
103
103
  opacity: 0.75;
104
- }`,w=new WeakMap,J=(t,s)=>{w.set(t,s)},X=t=>{w.delete(t)},T=t=>w.get(t),m=t=>{const s=t.target,n=s.closest(".tox"),a=s.matches(".ephox-snooker-resizer-bar");(n||a)&&t.stopPropagation()},A=t=>{t.stopPropagation(),t.preventDefault()},Y=(t,s)=>{const n=t.getDoc(),a=t.getWin();if(s!=null&&s.event){const{event:r}=s,{clientX:c,clientY:d}=r;let l;if(n.caretRangeFromPoint)l=n.caretRangeFromPoint(c,d);else if(n.caretPositionFromPoint){const i=n.caretPositionFromPoint(c,d);l=n.createRange(),l==null||l.setStart(i.offsetNode,i.offset)}if(l){const i=a.getSelection();i==null||i.removeAllRanges(),i==null||i.addRange(l),t.selection.setRng(l)}}else t.execCommand("SelectAll")},Q=t=>{var u,e;const{el:s,editor:n,componentView:a}=t,r=n.runCommand(h.getStateTheme),c=a.model,d={target:s,inline:!0,skin:(r==null?void 0:r.theme)===P.dark?"oxide-dark":"oxide",menubar:!1,image_advtab:!0,paste_data_images:!0,statusbar:!1,branding:!1,forced_root_block:"div",plugins:"advlist autolink lists link image media table",toolbar_mode:"sliding",toolbar:"bold italic underline strikethrough forecolor backcolor alignleft aligncenter alignright alignjustify link image | fontfamily fontsize bullist numlist outdent indent table"},l=((e=(u=t.pluginOpts)==null?void 0:u.loadConfig)==null?void 0:e.call(u,{config:d,editor:n,componentView:a,component:c}))||{};return{...d,...l}},O=(t,s=document)=>new Promise((n,a)=>{const r=Array.isArray(t)?[...t]:[t],{head:c}=s,d=l=>{if(l.length){const i=s.createElement("script");i.src=l.shift(),i.onload=d.bind(null,l),i.onerror=a,c.appendChild(i)}else n()};d(r)});return $(function(t,s={}){const n={cdnScript:"https://cdn.jsdelivr.net/npm/tinymce@6.8.5/tinymce.min.js",...s},{cdnScript:a}=n,r=t.Canvas.events,c=!n.skipCustomTheme,d="gs-plg-tinymce-studio-theme",l=async(e,o)=>{const b=e.ownerDocument,x=b.defaultView,g=o==null?void 0:o.view;if(!x||!g){console.warn("Missing required data",{win:x,componentView:g});return}const y=Q({el:e,editor:t,componentView:g,pluginOpts:n}),f=(await x.tinymce.init(y))[0];if(!f)return;const Z=(await window.tinymce.init({...y,target:document.createElement("div")}))[0];return f.ui.show(),b.body.addEventListener("mousedown",m),document.body.addEventListener("mousedown",m),f.on("Change",()=>q(e)),f.on("blur",()=>f.ui.show()),f.on("OpenWindow",function(){var M;const v=(M=b.querySelector(".tox-dialog"))==null?void 0:M.closest(".tox");v&&(v==null?void 0:v.ownerDocument)!==document&&(document.body.appendChild(v),f.once("CloseWindow",()=>{v&&v.ownerDocument===document&&b.body.appendChild(v)}))}),e.addEventListener("dragstart",A,{capture:!0}),t.runCommand(h.setStateContextMenu,{enabled:!1}),Y(f,o),{rteEditor:f,rteEditorShallow:Z}},i=(e,o)=>{e.ownerDocument.body.removeEventListener("mousedown",m),document.body.removeEventListener("mousedown",m),e.removeEventListener("dragstart",A,{capture:!0}),t.runCommand(h.setStateContextMenu,{enabled:!0}),o.rteEditor.destroy(),o.rteEditorShallow.destroy()};t.on(r.frameLoad,async({window:e})=>{const o=e.document;O(a,o)}),t.onReady(()=>{O(a,document),c&&K(d,V,{target:document.body})}),t.setCustomRte({parseContent:!0,async enable(e,o,b){const x=T(e);if(x)return x.rteEditor;const g=await l(e,b);return g&&J(e,g),g==null?void 0:g.rteEditor},disable(e){const o=T(e);o&&(X(e),i(e,o))},getContent(e,o,b){var y;const x=T(e),g=x==null?void 0:x.rteEditor;return g&&!g.isDirty()?b.view.lastContent:g?(y=g.getContent)==null?void 0:y.call(g):e.innerHTML}});const u=H(t,n.enableOnClick);F({editor:t,licenseKey:n.licenseKey,plan:C,pluginName:z,cleanup:()=>{t.RichTextEditor.customRte=void 0,u()}})})});
104
+ }`,w=new WeakMap,J=(t,s)=>{w.set(t,s)},X=t=>{w.delete(t)},T=t=>w.get(t),m=t=>{const s=t.target,n=s.closest(".tox"),a=s.matches(".ephox-snooker-resizer-bar");(n||a)&&t.stopPropagation()},A=t=>{t.stopPropagation(),t.preventDefault()},Y=(t,s)=>{const n=t.getDoc(),a=t.getWin();if(s!=null&&s.event){const{event:r}=s,{clientX:c,clientY:d}=r;let l;if(n.caretRangeFromPoint)l=n.caretRangeFromPoint(c,d);else if(n.caretPositionFromPoint){const i=n.caretPositionFromPoint(c,d);l=n.createRange(),l==null||l.setStart(i.offsetNode,i.offset)}if(l){const i=a.getSelection();i==null||i.removeAllRanges(),i==null||i.addRange(l),t.selection.setRng(l)}}else t.execCommand("SelectAll")},Q=t=>{var u,e;const{el:s,editor:n,componentView:a}=t,r=n.runCommand(h.getStateTheme),c=a.model,d={target:s,inline:!0,skin:(r==null?void 0:r.theme)===P.dark?"oxide-dark":"oxide",menubar:!1,image_advtab:!0,paste_data_images:!0,statusbar:!1,branding:!1,forced_root_block:"div",plugins:"advlist autolink lists link image media table",toolbar_mode:"sliding",toolbar:"bold italic underline strikethrough forecolor backcolor alignleft aligncenter alignright alignjustify link image | fontfamily fontsize bullist numlist outdent indent table"},l=((e=(u=t.pluginOpts)==null?void 0:u.loadConfig)==null?void 0:e.call(u,{config:d,editor:n,componentView:a,component:c}))||{};return{...d,...l}},I=(t,s=document)=>new Promise((n,a)=>{const r=Array.isArray(t)?[...t]:[t],{head:c}=s,d=l=>{if(l.length){const i=s.createElement("script");i.src=l.shift(),i.onload=d.bind(null,l),i.onerror=a,c.appendChild(i)}else n()};d(r)});return $(function(t,s={}){const n={cdnScript:"https://cdn.jsdelivr.net/npm/tinymce@6.8.5/tinymce.min.js",...s},{cdnScript:a}=n,r=t.Canvas.events,c=!n.skipCustomTheme,d="gs-plg-tinymce-studio-theme",l=async(e,o)=>{const b=e.ownerDocument,x=b.defaultView,g=o==null?void 0:o.view;if(!x||!g){console.warn("Missing required data",{win:x,componentView:g});return}const y=Q({el:e,editor:t,componentView:g,pluginOpts:n}),p=(await x.tinymce.init(y))[0];if(!p)return;const Z=(await window.tinymce.init({...y,target:document.createElement("div")}))[0];return p.ui.show(),b.body.addEventListener("mousedown",m),document.body.addEventListener("mousedown",m),p.on("Change",()=>q(e)),p.on("blur",()=>p.ui.show()),p.on("OpenWindow",function(){var M;const v=(M=b.querySelector(".tox-dialog"))==null?void 0:M.closest(".tox");v&&(v==null?void 0:v.ownerDocument)!==document&&(document.body.appendChild(v),p.once("CloseWindow",()=>{v&&v.ownerDocument===document&&b.body.appendChild(v)}))}),e.addEventListener("dragstart",A,{capture:!0}),t.runCommand(h.setStateContextMenu,{enabled:!1}),Y(p,o),{rteEditor:p,rteEditorShallow:Z}},i=(e,o)=>{e.ownerDocument.body.removeEventListener("mousedown",m),document.body.removeEventListener("mousedown",m),e.removeEventListener("dragstart",A,{capture:!0}),t.runCommand(h.setStateContextMenu,{enabled:!0}),o.rteEditor.destroy(),o.rteEditorShallow.destroy()};t.on(r.frameLoad,async({window:e})=>{const o=e.document;I(a,o)}),t.onReady(()=>{I(a,document),c&&K(d,V,{target:document.body})}),t.setCustomRte({parseContent:!0,async enable(e,o,b){const x=T(e);if(x)return x.rteEditor;const g=await l(e,b);return g&&J(e,g),g==null?void 0:g.rteEditor},disable(e){const o=T(e);o&&(X(e),i(e,o))},getContent(e,o,b){var y;const x=T(e),g=x==null?void 0:x.rteEditor;return g&&!g.isDirty()?b.view.lastContent:g?(y=g.getContent)==null?void 0:y.call(g):e.innerHTML}});const u=H(t,n.enableOnClick);F({editor:t,licenseKey:n.licenseKey,plan:z,pluginName:C,cleanup:()=>{t.RichTextEditor.customRte=void 0,u()}})})});
@@ -1 +1 @@
1
- "use strict";function ce(e,t,o){let l,s,a,c,n;const r=t;function h(){const d=Date.now()-c;d<r&&d>=0?l=setTimeout(h,r-d):(l=null,n=e.apply(a,s),a=s=null)}const u=function(){return a=this,s=arguments,c=Date.now(),l||(l=setTimeout(h,r)),n};return u.clear=function(){l&&(clearTimeout(l),l=null)},u.flush=function(){l&&(n=e.apply(a,s),a=s=null,clearTimeout(l),l=null)},u}const O="app.grapesjs.com",F="app-stage.grapesjs.com",ie="app2.grapesjs.com",he="app-stage2.grapesjs.com",S=[O,ie,F,he,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],de="license:check:start",ve="license:check:end",ue=()=>typeof window<"u",be=({isDev:e,isStage:t,isPlatform:o})=>`${e?"":`https://${t?F:O}`}/${o?"platform-api":"api"}`,ge=()=>{const e=ue()&&window.location.hostname;return!!e&&(S.includes(e)||S.some(t=>e.endsWith(t)))};function U(e){return typeof e=="function"}async function pe({path:e,baseApiUrl:t,method:o="GET",headers:l={},params:s,body:a}){const n=`${t||be({isDev:!1,isStage:!1})}${e}`,r={method:o,headers:{"Content-Type":"application/json",...l}};a&&(r.body=JSON.stringify(a));const h=s?new URLSearchParams(s).toString():"",u=h?`?${h}`:"",d=await fetch(`${n}${u}`,r);if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);return d.json()}var C=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(C||{}),$=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.dialogExportCode="studio:dialogExportCode",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.layoutComponentAdd="studio:layoutComponentAdd",e.layoutComponentGet="studio:layoutComponentGet",e.layoutComponentRemove="studio:layoutComponentRemove",e.layoutComponentRender="studio:layoutComponentRender",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))($||{});const E={[C.free]:0,[C.startup]:10,[C.business]:20,[C.enterprise]:30};function fe(e){const t=e;return t.init=o=>l=>e(l,o),t}const me=e=>fe(e);async function we({editor:e,plan:t,pluginName:o,licenseKey:l,onLicenseCheckResponse:s,cleanup:a}){let c="",n=!1;const r=ge(),h=d=>{console.warn("Cleanup plugin:",o,"Reason:",d),a()},u=(d={})=>{var y;const{error:p,sdkLicense:V}=d,m=(y=d.plan)==null?void 0:y.category;if(!(V||d.license)||p)h(p||"Invalid license");else if(m){const z=E[t],A=E[m];z>A&&h({pluginRequiredPlan:t,licensePlan:m})}};e.on(de,d=>{c=d==null?void 0:d.baseApiUrl,n=!0}),e.on(ve,d=>{s==null||s(d),u(d)}),setTimeout(async()=>{if(!n){if(r)return;if(l){const d=await ye({licenseKey:l,pluginName:o,baseApiUrl:c});s==null||s(d),d&&u(d)}else h("The `licenseKey` option not provided")}},2e3)}async function ye(e){const{licenseKey:t,pluginName:o,baseApiUrl:l}=e;try{return(await pe({baseApiUrl:l,path:`/sdk/${t||"na"}`,method:"POST",params:{d:window.location.hostname,pn:o}})).result||{}}catch(s){return console.error("Error during SDK license check:",s),!1}}const Ce="tableComponent",He=C.startup;var i=(e=>(e.table="table",e.tableSettings="tableSettings",e.tableDelete="tableDelete",e.tableHead="tableHead",e.tableFoot="tableFoot",e.tableCellItems="tableCellItems",e.tableCellProperties="tableCellProperties",e.tableCellMerge="tableCellMerge",e.tableCellSplit="tableCellSplit",e.tableRowItems="tableRowItems",e.tableRowInsertBefore="tableRowInsertBefore",e.tableRowInsertAfter="tableRowInsertAfter",e.tableRowDelete="tableRowDelete",e.tableRowProperties="tableRowProperties",e.tableRowCut="tableRowCut",e.tableRowCopy="tableRowCopy",e.tableRowPasteBefore="tableRowPasteBefore",e.tableRowPasteAfter="tableRowPasteAfter",e.tableColumn="tableColumn",e.tableColumnItems="tableColumnItems",e.tableColumnInsertBefore="tableColumnInsertBefore",e.tableColumnInsertAfter="tableColumnInsertAfter",e.tableColumnDelete="tableColumnDelete",e.tableColumnCut="tableColumnCut",e.tableColumnCopy="tableColumnCopy",e.tableColumnPasteBefore="tableColumnPasteBefore",e.tableColumnPasteAfter="tableColumnPasteAfter",e))(i||{});const v={table:'<svg viewBox="0 0 24 24"><path d="M5 4h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m0 4v4h6V8H5m8 0v4h6V8h-6m-8 6v4h6v-4H5m8 0v4h6v-4h-6Z"/></svg>',tableSettings:'<svg viewBox="0 0 24 24"><path d="M5 4h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m0 4v4h6V8H5m8 0v4h6V8h-6m-8 6v4h6v-4H5m8 0v4h6v-4h-6Z"/></svg>',tableDelete:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14zM5 6v12h14V6H5z"/><path d="m14.4 8.6 1 1-2.3 2.4 2.3 2.4-1 1-2.4-2.3-2.4 2.3-1-1 2.3-2.4-2.3-2.4 1-1 2.4 2.3z"/></svg>',tableHead:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 11H5v3h6v-3Zm8 0h-6v3h6v-3Zm0-5h-6v3h6v-3ZM5 13h6v-3H5v3Z"/></svg>',tableFoot:'<svg viewBox="0 0 24 24" data-test="1" style="transform: rotate(180deg);"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 11H5v3h6v-3Zm8 0h-6v3h6v-3Zm0-5h-6v3h6v-3ZM5 13h6v-3H5v3Z"/></svg>',tableColumn:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 9h-4v5h4v-5Zm-6 0H9v5h4v-5Zm0-7H9v5h4V6Zm6 0h-4v5h4V6Z"/></svg>',tableCellItems:"",tableCellProperties:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6l2-2h14zm-8 9H5v5h6v-5zm8 0h-6v5h6v-5zm-8-7H5v5h6V6z"/></svg>',tableCellMerge:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6l2-2h14zM5 16v2h3v-2H5zm14-5h-9v7h9v-7zm0-5h-4v3h4V6zM8 6H5v3h3V6zm5 0h-3v3h3V6zm-8 8h3v-3H5v3z"/></svg>',tableCellSplit:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14zM8 15.5H5V18h3v-2.5zm11-5h-9V18h9v-7.5zm-2.5 1 1 1-2 2 2 2-1 1-2-2-2 2-1-1 2-2-2-2 1-1 2 2 2-2zm-8.5-1H5v3h3v-3zM19 6h-4v2.5h4V6zM8 6H5v2.5h3V6zm5 0h-3v2.5h3V6z"/></svg>',tableRowItems:"",tableRowInsertBefore:'<svg viewBox="0 0 24 24"><path d="M6 4a1 1 0 1 1 0 2H5v6h14V6h-1a1 1 0 0 1 0-2h2c.6 0 1 .4 1 1v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5c0-.6.4-1 1-1h2zm5 10H5v4h6v-4zm8 0h-6v4h6v-4zM12 3c.5 0 1 .4 1 .9V6h2a1 1 0 0 1 0 2h-2v2a1 1 0 0 1-2 .1V8H9a1 1 0 0 1 0-2h2V4c0-.6.4-1 1-1z"/></svg>',tableRowInsertAfter:'<svg viewBox="0 0 24 24"><path d="M12 13c.5 0 1 .4 1 .9V16h2a1 1 0 0 1 .1 2H13v2a1 1 0 0 1-2 .1V18H9a1 1 0 0 1-.1-2H11v-2c0-.6.4-1 1-1zm6 7a1 1 0 0 1 0-2h1v-6H5v6h1a1 1 0 0 1 0 2H4a1 1 0 0 1-1-1V6c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v13c0 .5-.4 1-.9 1H18zM11 6H5v4h6V6zm8 0h-6v4h6V6z"/></svg>',tableRowDelete:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14zm0 2H5v3h2.5v2H5v2h2.5v2H5v3h14v-3h-2.5v-2H19v-2h-2.5V9H19V6zm-4.7 1.8 1.2 1L13 12l2.6 3.3-1.2 1-2.3-3-2.3 3-1.2-1L11 12 8.5 8.7l1.2-1 2.3 3 2.3-3z"/></svg>',tableRowProperties:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14zM5 15v3h6v-3H5zm14 0h-6v3h6v-3zm0-9h-6v3h6V6zM5 9h6V6H5v3z"/></svg>',tableRowCut:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M22 3v5H9l3 3 2-2h4l-4 4 1 1h.5c.4 0 .8 0 1.2.3.5.2.9.4 1.2.8.7.6 1 1.3 1 2.2.2.8 0 1.5-.6 2l-.8.5-1 .2c-.4 0-.8 0-1.2-.3a3.9 3.9 0 0 1-2.1-2.2c-.2-.5-.3-1-.2-1.5l-1-1-1 1c0 .5 0 1-.2 1.5-.1.5-.4 1-.9 1.4-.3.4-.7.6-1.2.8l-1.2.3c-.4 0-.7 0-1-.2-.3 0-.6-.3-.8-.5-.5-.5-.8-1.2-.7-2a3 3 0 0 1 1-2.2A3.7 3.7 0 0 1 8.6 14H9l1-1-4-4-.5-1a3.3 3.3 0 0 1 0-2c0-.4.3-.7.5-1l2 2V3h14zM8.5 15.3h-.3a2.6 2.6 0 0 0-.8.4 2.5 2.5 0 0 0-.9 1.1l-.1.4v.7l.2.5.5.2h.7a2.5 2.5 0 0 0 .8-.3L9 18l.4-.4.2-.4.1-.4v-.7a1 1 0 0 0-.2-.5 1 1 0 0 0-.4-.2h-.5zm7 0H15a1 1 0 0 0-.4.3 1 1 0 0 0-.2.5 1.5 1.5 0 0 0 0 .7v.4a2.8 2.8 0 0 0 .5.7h.1a2.8 2.8 0 0 0 .8.6l.4.1h.7l.5-.2.2-.5v-.7a2.6 2.6 0 0 0-.3-.8 2.4 2.4 0 0 0-.7-.7 2.5 2.5 0 0 0-.8-.3h-.3zM12 11.6c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4zm8.5-7.1h-11v2h11v-2z"/></svg>',tableRowCopy:'<svg viewBox="0 0 24 24"><path d="M22 11v7H6v-7h16zm-2 2H8v3h12v-3zm-1-6v2H4v5H2V7h17z"/></svg>',tableRowPasteBefore:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h12v-4h2v4c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2h3.3A3 3 0 0 1 12 1zm10 7v5H8V8h14zm-1.5 1.5h-11v2h11v-2zM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>',tableRowPasteAfter:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V11h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h14c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2h3.3A3 3 0 0 1 12 1zm10 11v5H8v-5h14zm-1.5 1.5h-11v2h11v-2zM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>',tableColumnItems:"",tableColumnInsertBefore:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 2 0v1h8V6H5v1a1 1 0 1 1-2 0V5c0-.6.4-1 1-1h15zm0 9h-4v5h4v-5zM8 8c.5 0 1 .4 1 .9V11h2a1 1 0 0 1 .1 2H9v2a1 1 0 0 1-2 .1V13H5a1 1 0 0 1-.1-2H7V9c0-.6.4-1 1-1zm11-2h-4v5h4V6z"/></svg>',tableColumnInsertAfter:'<svg viewBox="0 0 24 24"><path d="M20 4c.6 0 1 .4 1 1v2a1 1 0 0 1-2 0V6h-8v12h8v-1a1 1 0 0 1 2 0v2c0 .5-.4 1-.9 1H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h15zM9 13H5v5h4v-5zm7-5c.5 0 1 .4 1 .9V11h2a1 1 0 0 1 .1 2H17v2a1 1 0 0 1-2 .1V13h-2a1 1 0 0 1-.1-2H15V9c0-.6.4-1 1-1zM9 6H5v5h4V6z"/></svg>',tableColumnDelete:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14zm-4 4h-2V6h-2v2H9V6H5v12h4v-2h2v2h2v-2h2v2h4V6h-4v2zm.3.5 1 1.2-3 2.3 3 2.3-1 1.2L12 13l-3.3 2.6-1-1.2 3-2.3-3-2.3 1-1.2L12 11l3.3-2.5z"/></svg>',tableColumnCut:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M7.2 4.5a3 3 0 0 1 2.2 1A3.7 3.7 0 0 1 10.5 8v.5l1 1 4-4 1-.5a3.3 3.3 0 0 1 2 0c.4 0 .7.3 1 .5L17 8h4v13h-6V10l-1.5 1.5.5.5v4l-2.5-2.5-1 1v.5c0 .4 0 .8-.3 1.2-.2.5-.4.9-.8 1.2-.6.7-1.3 1-2.2 1-.8.2-1.5 0-2-.6l-.5-.8-.2-1c0-.4 0-.8.3-1.2A3.9 3.9 0 0 1 7 12.7c.5-.2 1-.3 1.5-.2l1-1-1-1c-.5 0-1 0-1.5-.2-.5-.1-1-.4-1.4-.9-.4-.3-.6-.7-.8-1.2L4.5 7c0-.4 0-.7.2-1 0-.3.3-.6.5-.8.5-.5 1.2-.8 2-.7zm12.3 5h-3v10h3v-10zM8 13.8h-.3l-.4.2a2.8 2.8 0 0 0-.7.4v.1a2.8 2.8 0 0 0-.6.8l-.1.4v.7l.2.5.5.2h.7a2.6 2.6 0 0 0 .8-.3 2.4 2.4 0 0 0 .7-.7 2.5 2.5 0 0 0 .3-.8 1.5 1.5 0 0 0 0-.8 1 1 0 0 0-.2-.4 1 1 0 0 0-.5-.2H8zm3.5-3.7c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4zM7 5.8h-.4a1 1 0 0 0-.5.3 1 1 0 0 0-.2.5v.7a2.5 2.5 0 0 0 .3.8l.2.3h.1l.4.4.4.2.4.1h.7L9 9l.2-.4a1.6 1.6 0 0 0 0-.8 2.6 2.6 0 0 0-.3-.8 2.5 2.5 0 0 0-1.2-1l-.4-.1H7z"/></svg>',tableColumnCopy:'<svg viewBox="0 0 24 24"><path d="M17 6v16h-7V6h7zm-2 2h-3v12h3V8zm-2-6v2H8v15H6V2h7z"/></svg>',tableColumnPasteBefore:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V18c0 1-.8 2-1.9 2H11v-2h7V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v2H4V5c0-1 .8-2 1.9-2h3.3A3 3 0 0 1 12 1zm-2 7v12H4V8h6zM8.5 9.5h-3v9h3v-9zM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>',tableColumnPasteAfter:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h7v2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2h3.3A3 3 0 0 1 12 1zm8 7v12h-6V8h6zm-1.5 1.5h-3v9h3v-9zM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>'},f="table",W="thead",_="tfoot",I="tbody",g="row",b="cell",D="clipboardTable",Re=[f,W,_,I,g,b],x=e=>e.em.get(D)||[],Pe=e=>e.every(t=>t.is(b)),k=(e,t)=>{const{editor:o,event:l,opts:s}=e,a=l.currentTarget||l.target,{x:c,y:n,width:r,height:h}=a.getBoundingClientRect(),u={style:{width:240,height:300},placer:{type:"popover",closeOnClickAway:!0,x:c,y:n,w:r,h},layout:{type:"tabs",value:"props",tabs:[{id:"styles",label:"Styles",children:{type:"panelStyles"}},{id:"props",label:"Properties",children:{type:"panelProperties",style:{padding:"14px 7px"}}}]},...t};U(s.openSettings)?s.openSettings({...e,layoutProps:u}):o.runCommand($.layoutToggle,u)},Ve=(e,{rows:t=1,cells:o=5,text:l}={})=>({type:e,components:Array.from(Array(t).keys()).map(s=>({type:g,components:Array.from(Array(o).keys()).map(a=>({type:b,components:l?{type:"text",content:U(l)?l({y:s,x:a}):l}:void 0}))}))}),j="Table settings",K=e=>{const{component:t}=e;return t.is(f)?t:t.closestType(f)},ze=e=>{var t;(t=K(e))==null||t.remove(e.opts)},Ae=e=>{const t=K(e);t&&(e.editor.select(t),k(e,{id:"tableSettings",header:{label:j}}))},q=e=>[{id:i.table,icon:v[i.table],label:"Table",items:[{id:i.tableSettings,label:j,icon:v[i.tableSettings],onClick:({event:o})=>Ae({...e,event:o})},{id:i.tableDelete,label:"Delete table",icon:v[i.tableDelete],onClick:()=>ze(e)}]}],X=({editor:e})=>{const t=x(e);return t.length&&Pe(t)},G=({component:e,editor:t,after:o})=>{if(!e.is(b))return;const l=e.closestType(f),s=e.closestType(g),a=e.index()+(o?1:0);l==null||l.findType(g).forEach(n=>n.append({type:b},{at:a}));const c=s==null?void 0:s.components().at(a);c&&t.select(c)},Y=({component:e,opts:t})=>{if(!e.is(b))return;const o=e.closestType(f),l=e.index();o==null||o.findType(g).forEach(s=>{var a;return(a=s.components().at(l))==null?void 0:a.remove(t)})},J=({component:e,editor:t})=>{if(!e.is(b))return;const o=e.closestType(f),l=e.index(),s=(o==null?void 0:o.findType(g).map(a=>a.components().at(l)))||[];s.length&&t.em.set(D,s)},L=e=>{const{component:t,editor:o,after:l}=e;if(!t.is(b)||!X(e))return;const s=x(o),a=t.closestType(f),c=t.index()+(l?1:0);a==null||a.findType(g).forEach((n,r)=>{const h=s[r],u=(h==null?void 0:h.clone())||{type:b};n.append(u,{at:c})})},xe=e=>{const{component:t}=e;t.is(b)&&(J(e),Y({...e,opts:{temporary:!0}}))},Be=e=>{const t=X(e);return[{id:i.tableColumnItems,icon:v[i.tableColumn],label:"Column",items:[{id:i.tableColumnInsertBefore,label:"Insert column before",icon:v[i.tableColumnInsertBefore],onClick:()=>G(e)},{id:i.tableColumnInsertAfter,label:"Insert column after",icon:v[i.tableColumnInsertAfter],onClick:()=>G({...e,after:!0})},{id:i.tableColumnDelete,label:"Delete column",icon:v[i.tableColumnDelete],onClick:()=>Y(e)},{id:i.tableColumnCut,label:"Cut column",icon:v[i.tableColumnCut],onClick:()=>xe(e)},{id:i.tableColumnCopy,label:"Copy column",icon:v[i.tableColumnCopy],onClick:()=>J(e)},{id:i.tableColumnPasteBefore,label:"Paste column before",icon:v[i.tableColumnPasteBefore],disabled:!t,onClick:()=>L(e)},{id:i.tableColumnPasteAfter,label:"Paste column after",icon:v[i.tableColumnPasteAfter],disabled:!t,onClick:()=>L({...e,after:!0})}]}]},Q="Row settings",Ie=e=>e.every(t=>t.is(g)),P=e=>{const{component:t}=e,o=t.is(b),l=t.is(g);if(!(!o&&!l))return l?t:t.closestType(g)},N=e=>{const{component:t,editor:o,after:l}=e,s=P(e);if(!s)return;const a=s.index()+(l?1:0),c=s.components().length,n=Array.from(Array(c).keys()).map(()=>({type:b})),r=s.parent();if(r){const h=r.append({type:g,components:n},{at:a})[0];if(t.is(b)&&h){const u=t.index(),d=h.components().at(u);d&&o.select(d)}}},ee=e=>{var t;(t=P(e))==null||t.remove(e.opts)},te=e=>{const t=P(e);t&&e.editor.em.set(D,[t])},Z=e=>{var n;const{editor:t,after:o}=e,l=P(e);if(!l||!le(e))return;const a=x(t)[0],c=l.index()+(o?1:0);a&&((n=l.parent())==null||n.append(a.clone(),{at:c}))},Me=e=>{P(e)&&(te(e),ee({...e,opts:{temporary:!0}}))},le=({editor:e})=>{const t=x(e);return t.length&&Ie(t)},De=e=>{const t=P(e);t&&(e.editor.select(t),k(e,{id:"tableRowSettings",header:{label:Q}}))},oe=e=>{const t=le(e);return[{id:i.tableRowItems,icon:v[i.tableRowProperties],label:"Row",items:[{id:i.tableRowInsertBefore,label:"Insert row before",icon:v[i.tableRowInsertBefore],onClick:()=>N(e)},{id:i.tableRowInsertAfter,label:"Insert row after",icon:v[i.tableRowInsertAfter],onClick:()=>N({...e,after:!0})},{id:i.tableRowDelete,label:"Delete row",icon:v[i.tableRowDelete],onClick:()=>ee(e)},{id:i.tableRowProperties,label:Q,icon:v[i.tableRowProperties],onClick:({event:l})=>De({...e,event:l})},{id:i.tableRowCut,label:"Cut row",icon:v[i.tableRowCut],onClick:()=>Me(e)},{id:i.tableRowCopy,label:"Copy row",icon:v[i.tableRowCopy],onClick:()=>te(e)},{id:i.tableRowPasteBefore,label:"Paste row before",icon:v[i.tableRowPasteBefore],disabled:!t,onClick:()=>Z(e)},{id:i.tableRowPasteAfter,label:"Paste row after",icon:v[i.tableRowPasteAfter],disabled:!t,onClick:()=>Z({...e,after:!0})}]},...q(e)]},T=e=>{const t=e.attributes.attributes||{},o=parseInt(`${t.rowspan||1}`,10),l=parseInt(`${t.colspan||1}`,10);return{rowspan:o,colspan:l}};function se(e){const t=[];return e.components().forEach((o,l)=>{o.components().each((s,a)=>{const{rowspan:c,colspan:n}=T(s);if(t[l])for(;t[l][a];)a++;for(let r=l;r<l+c;r++){t[r]||(t[r]=[]);for(let h=a;h<a+n;h++)t[r][h]={real:r===l&&h===a,cell:s,rowspan:c,colspan:n}}})}),t}function H(e,t,o){var l;return(l=e[o])==null?void 0:l[t]}const M=e=>e.closestType(g);function ke(e,{x:t,y:o,rows:l,cols:s}){var n;let a=M(e[o][t].cell),c;for(let r=1;r<=l;r++)if(a=(n=a==null?void 0:a.parent())==null?void 0:n.components().at(a.index()+1),a){for(c=t;c>=0;c--){const{cell:h}=e[o+r][c],u=M(h);if(u===a){for(let d=1;d<=s;d++){const p=h.index();u.append({type:b},{at:p+1})}break}}if(c===-1){const u=a.components().at(0).index();for(let d=1;d<=s;d++)a.append({type:b},{at:u})}}}function ae(e){for(let t=0;t<e.length;t++)for(let o=0;o<e[t].length;o++){const s=e[t][o].cell;if(s.em.selected.hasComponent(s)){const{rowspan:a,colspan:c}=T(s);if(c>1||a>1){s.addAttributes({colspan:1,rowspan:1});for(let n=0;n<c-1;n++){const r=s.index();M(s).append({type:b},{at:r+1})}ke(e,{x:o,y:t,rows:a-1,cols:c})}}}}function Te(e){const t=[];e.components().forEach(o=>{o.components().length||t.push(o)}),t.forEach(o=>o.remove())}const B=(e,t={})=>{var c;const o=se(e),{em:l}=e;let s,a;for(let n=0;n<o.length;n++)for(let r=0;r<o[n].length;r++){const h=o[n][r];if((c=t.selected)!=null&&c.includes(h.cell)||l.selected.hasComponent(h.cell)){const u={x:r,y:n};s||(s=u),a=u}}return{grid:o,startPos:s,endPos:a}};function Se(e,t={}){const o=B(e),{startPos:l,endPos:s}=o;let{grid:a}=o;const{em:c}=e;if(!l||!s)return;const n=l.x,r=l.y,h=s.x,u=s.y,d=H(a,n,r),p=H(a,h,u);if(d&&p){ae(a),a=se(e);const V=[],m=H(a,n,r).cell;m.addAttributes({colspan:h-n+1,rowspan:u-r+1});for(let w=r;w<=u;w++)for(let y=n;y<=h;y++){const z=H(a,y,w);if(!z)continue;const{cell:A}=z;A!==m&&V.push(A)}V.forEach(w=>{t.mergeContent&&m.append(w.components().models),w.remove()}),c.setSelected(m),Te(e)}}const ne="Cell settings",Ee="Merge cells",Ge="Split cell",Le=e=>e.closestType(g),R=e=>{var t;return(t=Le(e))==null?void 0:t.parent()},Ne=e=>{const t=e.editor.getSelectedAll(),o=R(t[0]),l=t[0];if(!o||!(l!=null&&l.is(b))||t.length>1)return!1;const{rowspan:s,colspan:a}=T(l);return!(a<2&&s<2)},Ze=e=>{const o=e.editor.getSelectedAll()[0],l=R(o),{grid:s}=B(l);ae(s)},re=e=>{const t=e.editor.getSelectedAll(),o=R(t[0]);if(!o||t.length<2||t.some(n=>!n.is(b)||R(n)!==o))return!1;const{grid:l,startPos:s,endPos:a}=B(o),{em:c}=o;if(!s||!a)return!1;for(let n=s.y;n<=a.y;n++)for(let r=s.x;r<=a.x;r++){const h=H(l,r,n);if(!h||!c.selected.hasComponent(h.cell))return!1}return!0},Oe=e=>{const{editor:t}=e;if(!re(e))return;const o=t.getSelectedAll(),l=R(o[0]);Se(l,{mergeContent:!0})},Fe=e=>{k(e,{id:"tableCellSettings",header:{label:ne}})},Ue=e=>[{id:i.tableCellItems,icon:v[i.tableCellProperties],label:"Cell",items:[{id:i.tableCellProperties,label:ne,icon:v[i.tableCellProperties],onClick:({event:o})=>Fe({...e,event:o})},{id:i.tableCellMerge,label:Ee,icon:v[i.tableCellMerge],onClick:()=>Oe(e),disabled:!re(e)},{id:i.tableCellSplit,label:Ge,icon:v[i.tableCellSplit],onClick:()=>Ze(e),disabled:!Ne(e)}]},...Be(e),...oe(e)],$e=e=>{const t=e[0]&&R(e[0]);if(!t)return;const{grid:o,startPos:l,endPos:s}=B(t,{selected:e});if(!l||!s)return;const a=[];for(let c=l.y;c<=s.y;c++)for(let n=l.x;n<=s.x;n++){const r=H(o,n,c);r&&a.push(r.cell)}a.length&&t.em.setSelected(a,{fromCell:!0})},We=function(e,t={}){const o={block:{},...t},{Components:l}=e,s={copyable:!1,emptyState:!0,highlightable:!1,stylable:["color","font-family","font-size","font-weight","line-height","text-align","vertical-align","background-color","border-width","border-style","border-color"]};l.addType(f,{block:o.block&&{label:"Table",media:v.table,category:"Extra",content:{type:f,style:{width:"100%"}},select:!0,...o.block},model:{defaults:{emptyState:!0,highlightable:!1,icon:v.table,stylable:["width","height","margin","font-family","font-size","font-weight","line-height","text-align","background","background-color","border-width","border-style","border-color"],traits:[{type:"number",min:0,name:"cellspacing",label:"Cell spacing"},{type:"number",min:0,name:"cellpadding",label:"Cell padding"},{id:"tableCaption",type:"checkbox",label:"Caption",setValue({component:c,value:n,emitUpdate:r}){const h=c.find("caption")[0];n?!h&&c.append({type:"text",tagName:"caption",components:{type:"textnode",content:"Caption"}}):h==null||h.remove(),r(),e.refresh({tools:!0})},getValue(c){return!!c.component.find("caption")[0]}}],components:Ve(I,{rows:5}),contextMenu:({items:c,editor:n,component:r})=>[...q({editor:n,component:r,opts:o}),...c]}}}),l.addType(W,{model:{defaults:{icon:v.tableHead,...s}}}),l.addType(_,{model:{defaults:{icon:v.tableFoot,...s}}}),l.addType(I,{model:{defaults:{icon:v.tableRowProperties,...s}}}),l.addType(g,{model:{defaults:{icon:v.tableRowProperties,emptyState:!0,highlightable:!1,stylable:["height","text-align","border-width","border-style","border-color"],traits:[],contextMenu:({items:c,editor:n,component:r})=>[...oe({editor:n,component:r,opts:o}),...c]}}}),l.addType(b,{model:{defaults:{icon:v.tableCellProperties,emptyState:{styleOut:"height: 1px"},stylable:["width","height","padding","background","background-color","text-align","vertical-align","border-width","border-style","border-color"],traits:[{id:"tableCellType",type:"select",options:[{value:"td",name:"Cell"},{value:"th",name:"Header Cell"}],label:"Cell type",name:"tagName",changeProp:!0},{id:"tableCellScope",type:"select",options:[{value:!1,name:"None"},{value:"row",name:"Row"},{value:"col",name:"Column"},{value:"rowgroup",name:"Row group"},{value:"colgroup",name:"Column group"}],label:"Scope",name:"scope"}],contextMenu:({items:c,editor:n,component:r})=>[...Ue({editor:n,component:r,opts:o}),...c]}}});const a=ce((c,n)=>{var d;const r=e.getSelectedAll(),h=!!((d=n==null?void 0:n.event)!=null&&d.shiftKey);if(r.length<2||!h||n.fromCell)return;const u=r.map(p=>p.is(b)?p:p.closestType(b)).filter(Boolean);u.length===r.length&&$e(u)},0);e.on("component:select",a),we({editor:e,plan:He,pluginName:Ce,licenseKey:o.licenseKey,cleanup:()=>{e.off("component:select",a),e.Blocks.remove(f),Re.forEach(c=>l.removeType(c))}})},_e=me(We);module.exports=_e;
1
+ "use strict";function ce(e,t,o){let l,a,s,c,n;const r=t;function h(){const d=Date.now()-c;d<r&&d>=0?l=setTimeout(h,r-d):(l=null,n=e.apply(s,a),s=a=null)}const u=function(){return s=this,a=arguments,c=Date.now(),l||(l=setTimeout(h,r)),n};return u.clear=function(){l&&(clearTimeout(l),l=null)},u.flush=function(){l&&(n=e.apply(s,a),s=a=null,clearTimeout(l),l=null)},u}const O="app.grapesjs.com",F="app-stage.grapesjs.com",ie="app2.grapesjs.com",he="app-stage2.grapesjs.com",S=[O,ie,F,he,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],de="license:check:start",ve="license:check:end",ue=()=>typeof window<"u",ge=({isDev:e,isStage:t,isPlatform:o})=>`${e?"":`https://${t?F:O}`}/${o?"platform-api":"api"}`,be=()=>{const e=ue()&&window.location.hostname;return!!e&&(S.includes(e)||S.some(t=>e.endsWith(t)))};function U(e){return typeof e=="function"}async function pe({path:e,baseApiUrl:t,method:o="GET",headers:l={},params:a,body:s}){const n=`${t||ge({isDev:!1,isStage:!1})}${e}`,r={method:o,headers:{"Content-Type":"application/json",...l}};s&&(r.body=JSON.stringify(s));const h=a?new URLSearchParams(a).toString():"",u=h?`?${h}`:"",d=await fetch(`${n}${u}`,r);if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);return d.json()}var C=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(C||{}),$=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",e.dialogExportCode="studio:dialogExportCode",e.dialogImportCode="studio:dialogImportCode",e.sidebarLeftSet="studio:sidebarLeft:set",e.sidebarLeftGet="studio:sidebarLeft:get",e.sidebarLeftToggle="studio:sidebarLeft:toggle",e.sidebarRightSet="studio:sidebarRight:set",e.sidebarRightGet="studio:sidebarRight:get",e.sidebarRightToggle="studio:sidebarRight:toggle",e.sidebarTopSet="studio:sidebarTop:set",e.sidebarTopGet="studio:sidebarTop:get",e.sidebarTopToggle="studio:sidebarTop:toggle",e.sidebarBottomSet="studio:sidebarBottom:set",e.sidebarBottomGet="studio:sidebarBottom:get",e.sidebarBottomToggle="studio:sidebarBottom:toggle",e.symbolAdd="studio:symbolAdd",e.symbolDetach="studio:symbolDetach",e.symbolOverride="studio:symbolOverride",e.symbolPropagateStyles="studio:propagateStyles",e.getPagesConfig="studio:getPagesConfig",e.setPagesConfig="studio:setPagesConfig",e.getPageSettings="studio:getPageSettings",e.setPageSettings="studio:setPageSettings",e.clearPage="studio:clearPage",e.projectFiles="studio:projectFiles",e.validateCode="studio:validateCode",e.canvasReload="studio:canvasReload",e.getBlocksPanel="studio:getBlocksPanel",e.setBlocksPanel="studio:setBlocksPanel",e.getStateContextMenu="studio:getStateContextMenu",e.setStateContextMenu="studio:setStateContextMenu",e.contextMenuComponent="studio:contextMenuComponent",e.layoutAdd="studio:layoutAdd",e.layoutRemove="studio:layoutRemove",e.layoutToggle="studio:layoutToggle",e.layoutUpdate="studio:layoutUpdate",e.layoutGet="studio:layoutGet",e.layoutConfigGet="studio:layoutConfigGet",e.layoutConfigSet="studio:layoutConfigSet",e.layoutComponentAdd="studio:layoutComponentAdd",e.layoutComponentGet="studio:layoutComponentGet",e.layoutComponentRemove="studio:layoutComponentRemove",e.layoutComponentRender="studio:layoutComponentRender",e.getStateTheme="studio:getStateTheme",e.setStateTheme="studio:setStateTheme",e.assetProviderGet="studio:assetProviderGet",e.assetProviderAdd="studio:assetProviderAdd",e.assetProviderRemove="studio:assetProviderRemove",e.fontGet="studio:fontGet",e.fontAdd="studio:fontAdd",e.fontRemove="studio:fontRemove",e.fontManagerOpen="studio:fontManagerOpen",e.menuFontLoad="studio:menuFontLoad",e.toggleStateDataSource="studio:toggleStateDataSource",e.getStateDataSource="studio:getStateDataSource",e.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",e.dataSourceSetImporter="studio:dataSourceSetImporter",e.dataSourceSetExporter="studio:dataSourceSetExporter",e.setDragAbsolute="studio:setDragAbsolute",e))($||{});const E={[C.free]:0,[C.startup]:10,[C.business]:20,[C.enterprise]:30};function fe(e){const t=e;return t.init=o=>l=>e(l,o),t}const me=e=>fe(e);async function we({editor:e,plan:t,pluginName:o,licenseKey:l,onLicenseCheckResponse:a,cleanup:s}){let c="",n=!1;const r=be(),h=d=>{console.warn("Cleanup plugin:",o,"Reason:",d),s()},u=(d={})=>{var y;const{error:p,sdkLicense:V}=d,m=(y=d.plan)==null?void 0:y.category;if(!(V||d.license)||p)h(p||"Invalid license");else if(m){const z=E[t],A=E[m];z>A&&h({pluginRequiredPlan:t,licensePlan:m})}};e.on(de,d=>{c=d==null?void 0:d.baseApiUrl,n=!0}),e.on(ve,d=>{a==null||a(d),u(d)}),setTimeout(async()=>{if(!n){if(r)return;if(l){const d=await ye({licenseKey:l,pluginName:o,baseApiUrl:c});a==null||a(d),d&&u(d)}else h("The `licenseKey` option not provided")}},2e3)}async function ye(e){const{licenseKey:t,pluginName:o,baseApiUrl:l}=e;try{return(await pe({baseApiUrl:l,path:`/sdk/${t||"na"}`,method:"POST",params:{d:window.location.hostname,pn:o}})).result||{}}catch(a){return console.error("Error during SDK license check:",a),!1}}const Ce="tableComponent",He=C.startup;var i=(e=>(e.table="table",e.tableSettings="tableSettings",e.tableDelete="tableDelete",e.tableHead="tableHead",e.tableFoot="tableFoot",e.tableCellItems="tableCellItems",e.tableCellProperties="tableCellProperties",e.tableCellMerge="tableCellMerge",e.tableCellSplit="tableCellSplit",e.tableRowItems="tableRowItems",e.tableRowInsertBefore="tableRowInsertBefore",e.tableRowInsertAfter="tableRowInsertAfter",e.tableRowDelete="tableRowDelete",e.tableRowProperties="tableRowProperties",e.tableRowCut="tableRowCut",e.tableRowCopy="tableRowCopy",e.tableRowPasteBefore="tableRowPasteBefore",e.tableRowPasteAfter="tableRowPasteAfter",e.tableColumn="tableColumn",e.tableColumnItems="tableColumnItems",e.tableColumnInsertBefore="tableColumnInsertBefore",e.tableColumnInsertAfter="tableColumnInsertAfter",e.tableColumnDelete="tableColumnDelete",e.tableColumnCut="tableColumnCut",e.tableColumnCopy="tableColumnCopy",e.tableColumnPasteBefore="tableColumnPasteBefore",e.tableColumnPasteAfter="tableColumnPasteAfter",e))(i||{});const v={table:'<svg viewBox="0 0 24 24"><path d="M5 4h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m0 4v4h6V8H5m8 0v4h6V8h-6m-8 6v4h6v-4H5m8 0v4h6v-4h-6Z"/></svg>',tableSettings:'<svg viewBox="0 0 24 24"><path d="M5 4h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m0 4v4h6V8H5m8 0v4h6V8h-6m-8 6v4h6v-4H5m8 0v4h6v-4h-6Z"/></svg>',tableDelete:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14zM5 6v12h14V6H5z"/><path d="m14.4 8.6 1 1-2.3 2.4 2.3 2.4-1 1-2.4-2.3-2.4 2.3-1-1 2.3-2.4-2.3-2.4 1-1 2.4 2.3z"/></svg>',tableHead:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 11H5v3h6v-3Zm8 0h-6v3h6v-3Zm0-5h-6v3h6v-3ZM5 13h6v-3H5v3Z"/></svg>',tableFoot:'<svg viewBox="0 0 24 24" data-test="1" style="transform: rotate(180deg);"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 11H5v3h6v-3Zm8 0h-6v3h6v-3Zm0-5h-6v3h6v-3ZM5 13h6v-3H5v3Z"/></svg>',tableColumn:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 9h-4v5h4v-5Zm-6 0H9v5h4v-5Zm0-7H9v5h4V6Zm6 0h-4v5h4V6Z"/></svg>',tableCellItems:"",tableCellProperties:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6l2-2h14zm-8 9H5v5h6v-5zm8 0h-6v5h6v-5zm-8-7H5v5h6V6z"/></svg>',tableCellMerge:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6l2-2h14zM5 16v2h3v-2H5zm14-5h-9v7h9v-7zm0-5h-4v3h4V6zM8 6H5v3h3V6zm5 0h-3v3h3V6zm-8 8h3v-3H5v3z"/></svg>',tableCellSplit:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14zM8 15.5H5V18h3v-2.5zm11-5h-9V18h9v-7.5zm-2.5 1 1 1-2 2 2 2-1 1-2-2-2 2-1-1 2-2-2-2 1-1 2 2 2-2zm-8.5-1H5v3h3v-3zM19 6h-4v2.5h4V6zM8 6H5v2.5h3V6zm5 0h-3v2.5h3V6z"/></svg>',tableRowItems:"",tableRowInsertBefore:'<svg viewBox="0 0 24 24"><path d="M6 4a1 1 0 1 1 0 2H5v6h14V6h-1a1 1 0 0 1 0-2h2c.6 0 1 .4 1 1v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5c0-.6.4-1 1-1h2zm5 10H5v4h6v-4zm8 0h-6v4h6v-4zM12 3c.5 0 1 .4 1 .9V6h2a1 1 0 0 1 0 2h-2v2a1 1 0 0 1-2 .1V8H9a1 1 0 0 1 0-2h2V4c0-.6.4-1 1-1z"/></svg>',tableRowInsertAfter:'<svg viewBox="0 0 24 24"><path d="M12 13c.5 0 1 .4 1 .9V16h2a1 1 0 0 1 .1 2H13v2a1 1 0 0 1-2 .1V18H9a1 1 0 0 1-.1-2H11v-2c0-.6.4-1 1-1zm6 7a1 1 0 0 1 0-2h1v-6H5v6h1a1 1 0 0 1 0 2H4a1 1 0 0 1-1-1V6c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v13c0 .5-.4 1-.9 1H18zM11 6H5v4h6V6zm8 0h-6v4h6V6z"/></svg>',tableRowDelete:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14zm0 2H5v3h2.5v2H5v2h2.5v2H5v3h14v-3h-2.5v-2H19v-2h-2.5V9H19V6zm-4.7 1.8 1.2 1L13 12l2.6 3.3-1.2 1-2.3-3-2.3 3-1.2-1L11 12 8.5 8.7l1.2-1 2.3 3 2.3-3z"/></svg>',tableRowProperties:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14zM5 15v3h6v-3H5zm14 0h-6v3h6v-3zm0-9h-6v3h6V6zM5 9h6V6H5v3z"/></svg>',tableRowCut:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M22 3v5H9l3 3 2-2h4l-4 4 1 1h.5c.4 0 .8 0 1.2.3.5.2.9.4 1.2.8.7.6 1 1.3 1 2.2.2.8 0 1.5-.6 2l-.8.5-1 .2c-.4 0-.8 0-1.2-.3a3.9 3.9 0 0 1-2.1-2.2c-.2-.5-.3-1-.2-1.5l-1-1-1 1c0 .5 0 1-.2 1.5-.1.5-.4 1-.9 1.4-.3.4-.7.6-1.2.8l-1.2.3c-.4 0-.7 0-1-.2-.3 0-.6-.3-.8-.5-.5-.5-.8-1.2-.7-2a3 3 0 0 1 1-2.2A3.7 3.7 0 0 1 8.6 14H9l1-1-4-4-.5-1a3.3 3.3 0 0 1 0-2c0-.4.3-.7.5-1l2 2V3h14zM8.5 15.3h-.3a2.6 2.6 0 0 0-.8.4 2.5 2.5 0 0 0-.9 1.1l-.1.4v.7l.2.5.5.2h.7a2.5 2.5 0 0 0 .8-.3L9 18l.4-.4.2-.4.1-.4v-.7a1 1 0 0 0-.2-.5 1 1 0 0 0-.4-.2h-.5zm7 0H15a1 1 0 0 0-.4.3 1 1 0 0 0-.2.5 1.5 1.5 0 0 0 0 .7v.4a2.8 2.8 0 0 0 .5.7h.1a2.8 2.8 0 0 0 .8.6l.4.1h.7l.5-.2.2-.5v-.7a2.6 2.6 0 0 0-.3-.8 2.4 2.4 0 0 0-.7-.7 2.5 2.5 0 0 0-.8-.3h-.3zM12 11.6c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4zm8.5-7.1h-11v2h11v-2z"/></svg>',tableRowCopy:'<svg viewBox="0 0 24 24"><path d="M22 11v7H6v-7h16zm-2 2H8v3h12v-3zm-1-6v2H4v5H2V7h17z"/></svg>',tableRowPasteBefore:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h12v-4h2v4c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2h3.3A3 3 0 0 1 12 1zm10 7v5H8V8h14zm-1.5 1.5h-11v2h11v-2zM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>',tableRowPasteAfter:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V11h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h14c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2h3.3A3 3 0 0 1 12 1zm10 11v5H8v-5h14zm-1.5 1.5h-11v2h11v-2zM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>',tableColumnItems:"",tableColumnInsertBefore:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 2 0v1h8V6H5v1a1 1 0 1 1-2 0V5c0-.6.4-1 1-1h15zm0 9h-4v5h4v-5zM8 8c.5 0 1 .4 1 .9V11h2a1 1 0 0 1 .1 2H9v2a1 1 0 0 1-2 .1V13H5a1 1 0 0 1-.1-2H7V9c0-.6.4-1 1-1zm11-2h-4v5h4V6z"/></svg>',tableColumnInsertAfter:'<svg viewBox="0 0 24 24"><path d="M20 4c.6 0 1 .4 1 1v2a1 1 0 0 1-2 0V6h-8v12h8v-1a1 1 0 0 1 2 0v2c0 .5-.4 1-.9 1H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h15zM9 13H5v5h4v-5zm7-5c.5 0 1 .4 1 .9V11h2a1 1 0 0 1 .1 2H17v2a1 1 0 0 1-2 .1V13h-2a1 1 0 0 1-.1-2H15V9c0-.6.4-1 1-1zM9 6H5v5h4V6z"/></svg>',tableColumnDelete:'<svg viewBox="0 0 24 24"><path d="M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14zm-4 4h-2V6h-2v2H9V6H5v12h4v-2h2v2h2v-2h2v2h4V6h-4v2zm.3.5 1 1.2-3 2.3 3 2.3-1 1.2L12 13l-3.3 2.6-1-1.2 3-2.3-3-2.3 1-1.2L12 11l3.3-2.5z"/></svg>',tableColumnCut:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M7.2 4.5a3 3 0 0 1 2.2 1A3.7 3.7 0 0 1 10.5 8v.5l1 1 4-4 1-.5a3.3 3.3 0 0 1 2 0c.4 0 .7.3 1 .5L17 8h4v13h-6V10l-1.5 1.5.5.5v4l-2.5-2.5-1 1v.5c0 .4 0 .8-.3 1.2-.2.5-.4.9-.8 1.2-.6.7-1.3 1-2.2 1-.8.2-1.5 0-2-.6l-.5-.8-.2-1c0-.4 0-.8.3-1.2A3.9 3.9 0 0 1 7 12.7c.5-.2 1-.3 1.5-.2l1-1-1-1c-.5 0-1 0-1.5-.2-.5-.1-1-.4-1.4-.9-.4-.3-.6-.7-.8-1.2L4.5 7c0-.4 0-.7.2-1 0-.3.3-.6.5-.8.5-.5 1.2-.8 2-.7zm12.3 5h-3v10h3v-10zM8 13.8h-.3l-.4.2a2.8 2.8 0 0 0-.7.4v.1a2.8 2.8 0 0 0-.6.8l-.1.4v.7l.2.5.5.2h.7a2.6 2.6 0 0 0 .8-.3 2.4 2.4 0 0 0 .7-.7 2.5 2.5 0 0 0 .3-.8 1.5 1.5 0 0 0 0-.8 1 1 0 0 0-.2-.4 1 1 0 0 0-.5-.2H8zm3.5-3.7c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4zM7 5.8h-.4a1 1 0 0 0-.5.3 1 1 0 0 0-.2.5v.7a2.5 2.5 0 0 0 .3.8l.2.3h.1l.4.4.4.2.4.1h.7L9 9l.2-.4a1.6 1.6 0 0 0 0-.8 2.6 2.6 0 0 0-.3-.8 2.5 2.5 0 0 0-1.2-1l-.4-.1H7z"/></svg>',tableColumnCopy:'<svg viewBox="0 0 24 24"><path d="M17 6v16h-7V6h7zm-2 2h-3v12h3V8zm-2-6v2H8v15H6V2h7z"/></svg>',tableColumnPasteBefore:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V18c0 1-.8 2-1.9 2H11v-2h7V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v2H4V5c0-1 .8-2 1.9-2h3.3A3 3 0 0 1 12 1zm-2 7v12H4V8h6zM8.5 9.5h-3v9h3v-9zM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>',tableColumnPasteAfter:'<svg viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h7v2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2h3.3A3 3 0 0 1 12 1zm8 7v12h-6V8h6zm-1.5 1.5h-3v9h3v-9zM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>'},f="table",W="thead",_="tfoot",I="tbody",b="row",g="cell",D="clipboardTable",Re=[f,W,_,I,b,g],x=e=>e.em.get(D)||[],Pe=e=>e.every(t=>t.is(g)),k=(e,t)=>{const{editor:o,event:l,opts:a}=e,s=l.currentTarget||l.target,{x:c,y:n,width:r,height:h}=s.getBoundingClientRect(),u={style:{width:240,height:300},placer:{type:"popover",closeOnClickAway:!0,x:c,y:n,w:r,h},layout:{type:"tabs",value:"props",tabs:[{id:"styles",label:"Styles",children:{type:"panelStyles"}},{id:"props",label:"Properties",children:{type:"panelProperties",style:{padding:"14px 7px"}}}]},...t};U(a.openSettings)?a.openSettings({...e,layoutProps:u}):o.runCommand($.layoutToggle,u)},Ve=(e,{rows:t=1,cells:o=5,text:l}={})=>({type:e,components:Array.from(Array(t).keys()).map(a=>({type:b,components:Array.from(Array(o).keys()).map(s=>({type:g,components:l?{type:"text",content:U(l)?l({y:a,x:s}):l}:void 0}))}))}),j="Table settings",K=e=>{const{component:t}=e;return t.is(f)?t:t.closestType(f)},ze=e=>{var t;(t=K(e))==null||t.remove(e.opts)},Ae=e=>{const t=K(e);t&&(e.editor.select(t),k(e,{id:"tableSettings",header:{label:j}}))},q=e=>[{id:i.table,icon:v[i.table],label:"Table",items:[{id:i.tableSettings,label:j,icon:v[i.tableSettings],onClick:({event:o})=>Ae({...e,event:o})},{id:i.tableDelete,label:"Delete table",icon:v[i.tableDelete],onClick:()=>ze(e)}]}],X=({editor:e})=>{const t=x(e);return t.length&&Pe(t)},G=({component:e,editor:t,after:o})=>{if(!e.is(g))return;const l=e.closestType(f),a=e.closestType(b),s=e.index()+(o?1:0);l==null||l.findType(b).forEach(n=>n.append({type:g},{at:s}));const c=a==null?void 0:a.components().at(s);c&&t.select(c)},Y=({component:e,opts:t})=>{if(!e.is(g))return;const o=e.closestType(f),l=e.index();o==null||o.findType(b).forEach(a=>{var s;return(s=a.components().at(l))==null?void 0:s.remove(t)})},J=({component:e,editor:t})=>{if(!e.is(g))return;const o=e.closestType(f),l=e.index(),a=(o==null?void 0:o.findType(b).map(s=>s.components().at(l)))||[];a.length&&t.em.set(D,a)},L=e=>{const{component:t,editor:o,after:l}=e;if(!t.is(g)||!X(e))return;const a=x(o),s=t.closestType(f),c=t.index()+(l?1:0);s==null||s.findType(b).forEach((n,r)=>{const h=a[r],u=(h==null?void 0:h.clone())||{type:g};n.append(u,{at:c})})},xe=e=>{const{component:t}=e;t.is(g)&&(J(e),Y({...e,opts:{temporary:!0}}))},Be=e=>{const t=X(e);return[{id:i.tableColumnItems,icon:v[i.tableColumn],label:"Column",items:[{id:i.tableColumnInsertBefore,label:"Insert column before",icon:v[i.tableColumnInsertBefore],onClick:()=>G(e)},{id:i.tableColumnInsertAfter,label:"Insert column after",icon:v[i.tableColumnInsertAfter],onClick:()=>G({...e,after:!0})},{id:i.tableColumnDelete,label:"Delete column",icon:v[i.tableColumnDelete],onClick:()=>Y(e)},{id:i.tableColumnCut,label:"Cut column",icon:v[i.tableColumnCut],onClick:()=>xe(e)},{id:i.tableColumnCopy,label:"Copy column",icon:v[i.tableColumnCopy],onClick:()=>J(e)},{id:i.tableColumnPasteBefore,label:"Paste column before",icon:v[i.tableColumnPasteBefore],disabled:!t,onClick:()=>L(e)},{id:i.tableColumnPasteAfter,label:"Paste column after",icon:v[i.tableColumnPasteAfter],disabled:!t,onClick:()=>L({...e,after:!0})}]}]},Q="Row settings",Ie=e=>e.every(t=>t.is(b)),P=e=>{const{component:t}=e,o=t.is(g),l=t.is(b);if(!(!o&&!l))return l?t:t.closestType(b)},N=e=>{const{component:t,editor:o,after:l}=e,a=P(e);if(!a)return;const s=a.index()+(l?1:0),c=a.components().length,n=Array.from(Array(c).keys()).map(()=>({type:g})),r=a.parent();if(r){const h=r.append({type:b,components:n},{at:s})[0];if(t.is(g)&&h){const u=t.index(),d=h.components().at(u);d&&o.select(d)}}},ee=e=>{var t;(t=P(e))==null||t.remove(e.opts)},te=e=>{const t=P(e);t&&e.editor.em.set(D,[t])},Z=e=>{var n;const{editor:t,after:o}=e,l=P(e);if(!l||!le(e))return;const s=x(t)[0],c=l.index()+(o?1:0);s&&((n=l.parent())==null||n.append(s.clone(),{at:c}))},Me=e=>{P(e)&&(te(e),ee({...e,opts:{temporary:!0}}))},le=({editor:e})=>{const t=x(e);return t.length&&Ie(t)},De=e=>{const t=P(e);t&&(e.editor.select(t),k(e,{id:"tableRowSettings",header:{label:Q}}))},oe=e=>{const t=le(e);return[{id:i.tableRowItems,icon:v[i.tableRowProperties],label:"Row",items:[{id:i.tableRowInsertBefore,label:"Insert row before",icon:v[i.tableRowInsertBefore],onClick:()=>N(e)},{id:i.tableRowInsertAfter,label:"Insert row after",icon:v[i.tableRowInsertAfter],onClick:()=>N({...e,after:!0})},{id:i.tableRowDelete,label:"Delete row",icon:v[i.tableRowDelete],onClick:()=>ee(e)},{id:i.tableRowProperties,label:Q,icon:v[i.tableRowProperties],onClick:({event:l})=>De({...e,event:l})},{id:i.tableRowCut,label:"Cut row",icon:v[i.tableRowCut],onClick:()=>Me(e)},{id:i.tableRowCopy,label:"Copy row",icon:v[i.tableRowCopy],onClick:()=>te(e)},{id:i.tableRowPasteBefore,label:"Paste row before",icon:v[i.tableRowPasteBefore],disabled:!t,onClick:()=>Z(e)},{id:i.tableRowPasteAfter,label:"Paste row after",icon:v[i.tableRowPasteAfter],disabled:!t,onClick:()=>Z({...e,after:!0})}]},...q(e)]},T=e=>{const t=e.attributes.attributes||{},o=parseInt(`${t.rowspan||1}`,10),l=parseInt(`${t.colspan||1}`,10);return{rowspan:o,colspan:l}};function ae(e){const t=[];return e.components().forEach((o,l)=>{o.components().each((a,s)=>{const{rowspan:c,colspan:n}=T(a);if(t[l])for(;t[l][s];)s++;for(let r=l;r<l+c;r++){t[r]||(t[r]=[]);for(let h=s;h<s+n;h++)t[r][h]={real:r===l&&h===s,cell:a,rowspan:c,colspan:n}}})}),t}function H(e,t,o){var l;return(l=e[o])==null?void 0:l[t]}const M=e=>e.closestType(b);function ke(e,{x:t,y:o,rows:l,cols:a}){var n;let s=M(e[o][t].cell),c;for(let r=1;r<=l;r++)if(s=(n=s==null?void 0:s.parent())==null?void 0:n.components().at(s.index()+1),s){for(c=t;c>=0;c--){const{cell:h}=e[o+r][c],u=M(h);if(u===s){for(let d=1;d<=a;d++){const p=h.index();u.append({type:g},{at:p+1})}break}}if(c===-1){const u=s.components().at(0).index();for(let d=1;d<=a;d++)s.append({type:g},{at:u})}}}function se(e){for(let t=0;t<e.length;t++)for(let o=0;o<e[t].length;o++){const a=e[t][o].cell;if(a.em.selected.hasComponent(a)){const{rowspan:s,colspan:c}=T(a);if(c>1||s>1){a.addAttributes({colspan:1,rowspan:1});for(let n=0;n<c-1;n++){const r=a.index();M(a).append({type:g},{at:r+1})}ke(e,{x:o,y:t,rows:s-1,cols:c})}}}}function Te(e){const t=[];e.components().forEach(o=>{o.components().length||t.push(o)}),t.forEach(o=>o.remove())}const B=(e,t={})=>{var c;const o=ae(e),{em:l}=e;let a,s;for(let n=0;n<o.length;n++)for(let r=0;r<o[n].length;r++){const h=o[n][r];if((c=t.selected)!=null&&c.includes(h.cell)||l.selected.hasComponent(h.cell)){const u={x:r,y:n};a||(a=u),s=u}}return{grid:o,startPos:a,endPos:s}};function Se(e,t={}){const o=B(e),{startPos:l,endPos:a}=o;let{grid:s}=o;const{em:c}=e;if(!l||!a)return;const n=l.x,r=l.y,h=a.x,u=a.y,d=H(s,n,r),p=H(s,h,u);if(d&&p){se(s),s=ae(e);const V=[],m=H(s,n,r).cell;m.addAttributes({colspan:h-n+1,rowspan:u-r+1});for(let w=r;w<=u;w++)for(let y=n;y<=h;y++){const z=H(s,y,w);if(!z)continue;const{cell:A}=z;A!==m&&V.push(A)}V.forEach(w=>{t.mergeContent&&m.append(w.components().models),w.remove()}),c.setSelected(m),Te(e)}}const ne="Cell settings",Ee="Merge cells",Ge="Split cell",Le=e=>e.closestType(b),R=e=>{var t;return(t=Le(e))==null?void 0:t.parent()},Ne=e=>{const t=e.editor.getSelectedAll(),o=R(t[0]),l=t[0];if(!o||!(l!=null&&l.is(g))||t.length>1)return!1;const{rowspan:a,colspan:s}=T(l);return!(s<2&&a<2)},Ze=e=>{const o=e.editor.getSelectedAll()[0],l=R(o),{grid:a}=B(l);se(a)},re=e=>{const t=e.editor.getSelectedAll(),o=R(t[0]);if(!o||t.length<2||t.some(n=>!n.is(g)||R(n)!==o))return!1;const{grid:l,startPos:a,endPos:s}=B(o),{em:c}=o;if(!a||!s)return!1;for(let n=a.y;n<=s.y;n++)for(let r=a.x;r<=s.x;r++){const h=H(l,r,n);if(!h||!c.selected.hasComponent(h.cell))return!1}return!0},Oe=e=>{const{editor:t}=e;if(!re(e))return;const o=t.getSelectedAll(),l=R(o[0]);Se(l,{mergeContent:!0})},Fe=e=>{k(e,{id:"tableCellSettings",header:{label:ne}})},Ue=e=>[{id:i.tableCellItems,icon:v[i.tableCellProperties],label:"Cell",items:[{id:i.tableCellProperties,label:ne,icon:v[i.tableCellProperties],onClick:({event:o})=>Fe({...e,event:o})},{id:i.tableCellMerge,label:Ee,icon:v[i.tableCellMerge],onClick:()=>Oe(e),disabled:!re(e)},{id:i.tableCellSplit,label:Ge,icon:v[i.tableCellSplit],onClick:()=>Ze(e),disabled:!Ne(e)}]},...Be(e),...oe(e)],$e=e=>{const t=e[0]&&R(e[0]);if(!t)return;const{grid:o,startPos:l,endPos:a}=B(t,{selected:e});if(!l||!a)return;const s=[];for(let c=l.y;c<=a.y;c++)for(let n=l.x;n<=a.x;n++){const r=H(o,n,c);r&&s.push(r.cell)}s.length&&t.em.setSelected(s,{fromCell:!0})},We=function(e,t={}){const o={block:{},...t},{Components:l}=e,a={copyable:!1,emptyState:!0,highlightable:!1,stylable:["color","font-family","font-size","font-weight","line-height","text-align","vertical-align","background-color","border-width","border-style","border-color"]};l.addType(f,{block:o.block&&{label:"Table",media:v.table,category:"Extra",content:{type:f,style:{width:"100%"}},select:!0,...o.block},model:{defaults:{emptyState:!0,highlightable:!1,icon:v.table,stylable:["width","height","margin","font-family","font-size","font-weight","line-height","text-align","background","background-color","border-width","border-style","border-color"],traits:[{type:"number",min:0,name:"cellspacing",label:"Cell spacing"},{type:"number",min:0,name:"cellpadding",label:"Cell padding"},{id:"tableCaption",type:"checkbox",label:"Caption",setValue({component:c,value:n,emitUpdate:r}){const h=c.find("caption")[0];n?!h&&c.append({type:"text",tagName:"caption",components:{type:"textnode",content:"Caption"}}):h==null||h.remove(),r(),e.refresh({tools:!0})},getValue(c){return!!c.component.find("caption")[0]}}],components:Ve(I,{rows:5}),contextMenu:({items:c,editor:n,component:r})=>[...q({editor:n,component:r,opts:o}),...c]}}}),l.addType(W,{model:{defaults:{icon:v.tableHead,...a}}}),l.addType(_,{model:{defaults:{icon:v.tableFoot,...a}}}),l.addType(I,{model:{defaults:{icon:v.tableRowProperties,...a}}}),l.addType(b,{model:{defaults:{icon:v.tableRowProperties,emptyState:!0,highlightable:!1,stylable:["height","text-align","border-width","border-style","border-color"],traits:[],contextMenu:({items:c,editor:n,component:r})=>[...oe({editor:n,component:r,opts:o}),...c]}}}),l.addType(g,{model:{defaults:{icon:v.tableCellProperties,emptyState:{styleOut:"height: 1px"},stylable:["width","height","padding","background","background-color","text-align","vertical-align","border-width","border-style","border-color"],traits:[{id:"tableCellType",type:"select",options:[{value:"td",name:"Cell"},{value:"th",name:"Header Cell"}],label:"Cell type",name:"tagName",changeProp:!0},{id:"tableCellScope",type:"select",options:[{value:!1,name:"None"},{value:"row",name:"Row"},{value:"col",name:"Column"},{value:"rowgroup",name:"Row group"},{value:"colgroup",name:"Column group"}],label:"Scope",name:"scope"}],contextMenu:({items:c,editor:n,component:r})=>[...Ue({editor:n,component:r,opts:o}),...c]}}});const s=ce((c,n)=>{var d;const r=e.getSelectedAll(),h=!!((d=n==null?void 0:n.event)!=null&&d.shiftKey);if(r.length<2||!h||n.fromCell)return;const u=r.map(p=>p.is(g)?p:p.closestType(g)).filter(Boolean);u.length===r.length&&$e(u)},0);e.on("component:select",s),we({editor:e,plan:He,pluginName:Ce,licenseKey:o.licenseKey,cleanup:()=>{e.off("component:select",s),e.Blocks.remove(f),Re.forEach(c=>l.removeType(c))}})},_e=me(We);module.exports=_e;