@grapesjs/studio-sdk-plugins 1.0.33-rc.1 → 1.0.33
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.
- package/dist/accordionComponent/index.cjs.js +7 -7
- package/dist/accordionComponent/index.es.js +161 -156
- package/dist/accordionComponent/index.umd.js +9 -9
- package/dist/aiChat/chatManager.d.ts +15 -0
- package/dist/aiChat/clientTools.d.ts +3 -3
- package/dist/aiChat/clientToolsProcessors.d.ts +14 -1
- package/dist/aiChat/components/AiChatEmptyState.d.ts +4 -6
- package/dist/aiChat/components/AiChatError.d.ts +2 -1
- package/dist/aiChat/components/AiChatHeader.d.ts +2 -1
- package/dist/aiChat/components/AiChatInput/AssetsSection.d.ts +7 -0
- package/dist/aiChat/components/AiChatInput/AttachButton.d.ts +10 -0
- package/dist/aiChat/components/AiChatInput/ContextSection.d.ts +5 -0
- package/dist/aiChat/components/AiChatInput/DictateButton.d.ts +7 -0
- package/dist/aiChat/components/AiChatInput/TextAreaWithAutoResize.d.ts +6 -0
- package/dist/aiChat/components/AiChatInput/constants.d.ts +6 -0
- package/dist/aiChat/components/AiChatInput/hooks/useSpeechToText.d.ts +15 -0
- package/dist/aiChat/components/AiChatInput/index.d.ts +37 -0
- package/dist/aiChat/components/AiChatLoadingState.d.ts +2 -1
- package/dist/aiChat/components/AiChatMessage.d.ts +21 -9
- package/dist/aiChat/components/AiChatMessages.d.ts +5 -7
- package/dist/aiChat/components/AiChatMessagesStatus.d.ts +5 -0
- package/dist/aiChat/components/AiChatPanel.d.ts +2 -3
- package/dist/aiChat/components/AiChatProvider.d.ts +14 -0
- package/dist/aiChat/components/MemoizedMarkdown.d.ts +9 -0
- package/dist/aiChat/components/index.d.ts +24 -25
- package/dist/aiChat/components/utils.d.ts +12 -4
- package/dist/aiChat/index.cjs.d.ts +5 -0
- package/dist/aiChat/index.cjs.js +453 -0
- package/dist/aiChat/index.d.ts +4 -3
- package/dist/aiChat/index.es.d.ts +5 -0
- package/dist/aiChat/index.es.js +30930 -0
- package/dist/aiChat/index.js +453 -0
- package/dist/aiChat/index.umd.js +453 -0
- package/dist/aiChat/locales/en.d.ts +64 -0
- package/dist/aiChat/server/index.cjs.d.ts +4 -0
- package/dist/aiChat/server/index.cjs.js +309 -0
- package/dist/aiChat/server/index.d.ts +0 -50
- package/dist/aiChat/server/index.es.d.ts +4 -0
- package/dist/aiChat/server/index.es.js +876 -0
- package/dist/aiChat/server/index.js +309 -0
- package/dist/aiChat/server/index.umd.js +309 -0
- package/dist/aiChat/server/stream.d.ts +0 -6
- package/dist/aiChat/server/tools.d.ts +157 -51
- package/dist/aiChat/server/types.d.ts +108 -64
- package/dist/aiChat/types.d.ts +148 -108
- package/dist/aiChat/typesSchema.d.ts +238 -25
- package/dist/animationComponent/index.cjs.js +3 -3
- package/dist/animationComponent/index.es.js +174 -169
- package/dist/animationComponent/index.umd.js +3 -3
- package/dist/canvasAbsoluteMode/index.cjs.js +1 -1
- package/dist/canvasAbsoluteMode/index.es.js +161 -156
- package/dist/canvasAbsoluteMode/index.umd.js +1 -1
- package/dist/canvasEmptyState/index.cjs.js +1 -1
- package/dist/canvasEmptyState/index.es.js +113 -108
- package/dist/canvasEmptyState/index.umd.js +1 -1
- package/dist/canvasFullSize/index.cjs.js +9 -9
- package/dist/canvasFullSize/index.es.js +137 -132
- package/dist/canvasFullSize/index.umd.js +9 -9
- package/dist/canvasGridMode/index.cjs.js +4 -4
- package/dist/canvasGridMode/index.es.js +168 -163
- package/dist/canvasGridMode/index.umd.js +8 -8
- package/dist/canvasScreenshot/index.cjs.js +1 -1
- package/dist/canvasScreenshot/index.es.js +132 -127
- package/dist/canvasScreenshot/index.umd.js +1 -1
- package/dist/dataSourceEjs/index.cjs.js +5 -5
- package/dist/dataSourceEjs/index.es.js +151 -146
- package/dist/dataSourceEjs/index.umd.js +5 -5
- package/dist/dataSourceHandlebars/index.cjs.js +4 -4
- package/dist/dataSourceHandlebars/index.es.js +91 -86
- package/dist/dataSourceHandlebars/index.umd.js +5 -5
- package/dist/dialogComponent/index.cjs.js +16 -16
- package/dist/dialogComponent/index.es.js +117 -112
- package/dist/dialogComponent/index.umd.js +16 -16
- package/dist/flexComponent/index.cjs.js +11 -11
- package/dist/flexComponent/index.es.js +416 -411
- package/dist/flexComponent/index.umd.js +11 -11
- package/dist/fsLightboxComponent/index.cjs.js +3 -3
- package/dist/fsLightboxComponent/index.es.js +152 -147
- package/dist/fsLightboxComponent/index.umd.js +3 -3
- package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
- package/dist/googleFontsAssetProvider/index.es.js +127 -122
- package/dist/googleFontsAssetProvider/index.umd.js +1 -1
- package/dist/iconifyComponent/index.cjs.js +2 -2
- package/dist/iconifyComponent/index.es.js +170 -165
- package/dist/iconifyComponent/index.umd.js +2 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +27 -22
- package/dist/index.umd.js +1 -1
- package/dist/layoutSidebarButtons/index.cjs.js +1 -1
- package/dist/layoutSidebarButtons/index.es.js +156 -151
- package/dist/layoutSidebarButtons/index.umd.js +1 -1
- package/dist/lightGalleryComponent/index.cjs.js +1 -1
- package/dist/lightGalleryComponent/index.es.js +197 -192
- package/dist/lightGalleryComponent/index.umd.js +1 -1
- package/dist/linkImageComponent/index.cjs.js +2 -2
- package/dist/linkImageComponent/index.es.js +86 -81
- package/dist/linkImageComponent/index.umd.js +2 -2
- package/dist/listPagesComponent/index.cjs.js +5 -5
- package/dist/listPagesComponent/index.es.js +121 -116
- package/dist/listPagesComponent/index.umd.js +5 -5
- package/dist/presetPrintable/index.cjs.js +4 -4
- package/dist/presetPrintable/index.es.js +180 -175
- package/dist/presetPrintable/index.umd.js +4 -4
- package/dist/prosemirror/index.cjs.js +6 -6
- package/dist/prosemirror/index.es.js +128 -123
- package/dist/prosemirror/index.umd.js +8 -8
- package/dist/rendererReact/index.cjs.js +1 -1
- package/dist/rendererReact/index.es.js +127 -122
- package/dist/rendererReact/index.js +1 -1
- package/dist/rendererReact/index.umd.js +1 -1
- package/dist/rteTinyMce/index.cjs.js +2 -2
- package/dist/rteTinyMce/index.es.js +160 -155
- package/dist/rteTinyMce/index.umd.js +2 -2
- package/dist/shapeDividerComponent/index.cjs.js +25 -25
- package/dist/shapeDividerComponent/index.es.js +127 -122
- package/dist/shapeDividerComponent/index.umd.js +25 -25
- package/dist/swiperComponent/index.cjs.js +9 -9
- package/dist/swiperComponent/index.es.js +197 -192
- package/dist/swiperComponent/index.umd.js +9 -9
- package/dist/tableComponent/index.cjs.js +1 -1
- package/dist/tableComponent/index.es.js +227 -222
- package/dist/tableComponent/index.umd.js +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/utils.d.ts +12 -1
- package/dist/youtubeAssetProvider/index.cjs.js +1 -1
- package/dist/youtubeAssetProvider/index.es.js +124 -119
- package/dist/youtubeAssetProvider/index.umd.js +1 -1
- package/package.json +5 -2
- package/dist/aiChat/components/AiChatInput.d.ts +0 -17
- package/dist/aiChat/server/stream-utils.d.ts +0 -16
package/dist/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ep=require("handlebars/dist/cjs/handlebars"),Ra="app.grapesjs.com",Da="app-stage.grapesjs.com",Tp="app2.grapesjs.com",Mp="app-stage2.grapesjs.com",ki=[Ra,Tp,Da,Mp,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],Ap="license:check:start",Pp="license:check:end",Np=()=>typeof window<"u",nr=(n,e={})=>{const t=zp(n)?{id:n,src:n}:n;return new Promise((o,s)=>{var u,h;const{loadedScripts:r}=e,{id:i,src:l}=t,a=document.querySelector(`script[src="${l}"]`);if(a){if((u=e.onScript)==null||u.call(e,a),r&&!r.get(l)){a.addEventListener("load",()=>o(i)),a.addEventListener("error",()=>s(i));return}return o(i)}const c=window.define;window.define=void 0;const d=()=>{r==null||r.set(l,!0),window.define=c},p=document.createElement("script");p.src=l,p.onload=()=>{o(i),d()},p.onerror=()=>{s(i),d()},document.head.appendChild(p),(h=e.onScript)==null||h.call(e,p)})},Op=n=>{const e=n.map(t=>nr(t));return Promise.allSettled(e)},Ip=async n=>{const e=window.define;window.define=void 0;const t=await Op(n);return window.define=e,t},Rp=({isDev:n,isStage:e})=>`${n?"":`https://${e?Da:Ra}`}
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ep=require("handlebars/dist/cjs/handlebars"),Ra="app.grapesjs.com",Da="app-stage.grapesjs.com",Tp="app2.grapesjs.com",Mp="app-stage2.grapesjs.com",ki=[Ra,Tp,Da,Mp,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],Ap="license:check:start",Pp="license:check:end",Np=()=>typeof window<"u",nr=(n,e={})=>{const t=zp(n)?{id:n,src:n}:n;return new Promise((o,s)=>{var u,h;const{loadedScripts:r}=e,{id:i,src:l}=t,a=document.querySelector(`script[src="${l}"]`);if(a){if((u=e.onScript)==null||u.call(e,a),r&&!r.get(l)){a.addEventListener("load",()=>o(i)),a.addEventListener("error",()=>s(i));return}return o(i)}const c=window.define;window.define=void 0;const d=()=>{r==null||r.set(l,!0),window.define=c},p=document.createElement("script");p.src=l,p.onload=()=>{o(i),d()},p.onerror=()=>{s(i),d()},document.head.appendChild(p),(h=e.onScript)==null||h.call(e,p)})},Op=n=>{const e=n.map(t=>nr(t));return Promise.allSettled(e)},Ip=async n=>{const e=window.define;window.define=void 0;const t=await Op(n);return window.define=e,t},Rp=({isDev:n,isStage:e,isPlatform:t})=>`${n?"":`https://${e?Da:Ra}`}/${t?"platform-api":"api"}`,Dp=()=>{const n=Np()&&window.location.hostname;return!!n&&(ki.includes(n)||ki.some(e=>n.endsWith(e)))},Lp=n=>n.replace(/[A-Z]+(?![a-z])|[A-Z]/g,(e,t)=>(t?"-":"")+e.toLowerCase()),$p=n=>typeof n<"u",zp=n=>typeof n=="string";function _t(n){return typeof n=="function"}async function Vp({path:n,baseApiUrl:e,method:t="GET",headers:o={},params:s,body:r}){const l=`${e||Rp({isDev:!1,isStage:!1})}${n}`,a={method:t,headers:{"Content-Type":"application/json",...o}};r&&(a.body=JSON.stringify(r));const c=s?new URLSearchParams(s).toString():"",d=c?`?${c}`:"",p=await fetch(`${l}${d}`,a);if(!p.ok)throw new Error(`HTTP error! status: ${p.status}`);return p.json()}var H=(n=>(n.free="free",n.startup="startup",n.business="business",n.enterprise="enterprise",n))(H||{}),La=(n=>(n.Info="info",n.Error="error",n.Success="success",n.Warning="warning",n))(La||{}),W=(n=>(n.toastAdd="studio:toastAdd",n.toastRemove="studio:toastRemove",n.dialogOpen="studio:dialogOpen",n.dialogClose="studio:dialogClose",n.dialogExportCode="studio:dialogExportCode",n.sidebarLeftSet="studio:sidebarLeft:set",n.sidebarLeftGet="studio:sidebarLeft:get",n.sidebarLeftToggle="studio:sidebarLeft:toggle",n.sidebarRightSet="studio:sidebarRight:set",n.sidebarRightGet="studio:sidebarRight:get",n.sidebarRightToggle="studio:sidebarRight:toggle",n.sidebarTopSet="studio:sidebarTop:set",n.sidebarTopGet="studio:sidebarTop:get",n.sidebarTopToggle="studio:sidebarTop:toggle",n.sidebarBottomSet="studio:sidebarBottom:set",n.sidebarBottomGet="studio:sidebarBottom:get",n.sidebarBottomToggle="studio:sidebarBottom:toggle",n.symbolAdd="studio:symbolAdd",n.symbolDetach="studio:symbolDetach",n.symbolOverride="studio:symbolOverride",n.symbolPropagateStyles="studio:propagateStyles",n.getPagesConfig="studio:getPagesConfig",n.setPagesConfig="studio:setPagesConfig",n.getPageSettings="studio:getPageSettings",n.setPageSettings="studio:setPageSettings",n.clearPage="studio:clearPage",n.projectFiles="studio:projectFiles",n.validateCode="studio:validateCode",n.canvasReload="studio:canvasReload",n.getBlocksPanel="studio:getBlocksPanel",n.setBlocksPanel="studio:setBlocksPanel",n.getStateContextMenu="studio:getStateContextMenu",n.setStateContextMenu="studio:setStateContextMenu",n.contextMenuComponent="studio:contextMenuComponent",n.layoutAdd="studio:layoutAdd",n.layoutRemove="studio:layoutRemove",n.layoutToggle="studio:layoutToggle",n.layoutUpdate="studio:layoutUpdate",n.layoutGet="studio:layoutGet",n.layoutConfigGet="studio:layoutConfigGet",n.layoutConfigSet="studio:layoutConfigSet",n.layoutComponentAdd="studio:layoutComponentAdd",n.layoutComponentGet="studio:layoutComponentGet",n.layoutComponentRemove="studio:layoutComponentRemove",n.layoutComponentRender="studio:layoutComponentRender",n.getStateTheme="studio:getStateTheme",n.setStateTheme="studio:setStateTheme",n.assetProviderGet="studio:assetProviderGet",n.assetProviderAdd="studio:assetProviderAdd",n.assetProviderRemove="studio:assetProviderRemove",n.fontGet="studio:fontGet",n.fontAdd="studio:fontAdd",n.fontRemove="studio:fontRemove",n.fontManagerOpen="studio:fontManagerOpen",n.menuFontLoad="studio:menuFontLoad",n.toggleStateDataSource="studio:toggleStateDataSource",n.getStateDataSource="studio:getStateDataSource",n.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",n.dataSourceSetImporter="studio:dataSourceSetImporter",n.dataSourceSetExporter="studio:dataSourceSetExporter",n.setDragAbsolute="studio:setDragAbsolute",n))(W||{}),$a=(n=>(n.layoutToggleId="studio:layoutToggle:",n.toggleBlocksPanel="studio:toggleBlocksPanel",n.pageSettingsUpdate="studio:pageSettingsUpdate",n.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",n))($a||{}),za=(n=>(n.dark="dark",n.light="light",n.auto="auto",n))(za||{}),Va=(n=>(n.web="web",n.email="email",n.document="document",n.react="react",n))(Va||{});const Ei={[H.free]:0,[H.startup]:10,[H.business]:20,[H.enterprise]:30};function Bp(n){const e=n;return e.init=t=>o=>n(o,t),e}const _=n=>Bp(n);async function G({editor:n,plan:e,pluginName:t,licenseKey:o,onLicenseCheckResponse:s,cleanup:r}){let i="",l=!1;const a=Dp(),c=p=>{console.warn("Cleanup plugin:",t,"Reason:",p),r()},d=(p={})=>{var g;const{error:u,sdkLicense:h}=p,f=(g=p.plan)==null?void 0:g.category;if(!(h||p.license)||u)c(u||"Invalid license");else if(f){const b=Ei[e],C=Ei[f];b>C&&c({pluginRequiredPlan:e,licensePlan:f})}};n.on(Ap,p=>{i=p==null?void 0:p.baseApiUrl,l=!0}),n.on(Pp,p=>{s==null||s(p),d(p)}),setTimeout(async()=>{if(!l){if(a)return;if(o){const p=await Hp({licenseKey:o,pluginName:t,baseApiUrl:i});s==null||s(p),p&&d(p)}else c("The `licenseKey` option not provided")}},2e3)}async function Hp(n){const{licenseKey:e,pluginName:t,baseApiUrl:o}=n;try{return(await Vp({baseApiUrl:o,path:`/sdk/${e||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(s){return console.error("Error during SDK license check:",s),!1}}const Po=(n,e)=>{var t;return!!((t=n==null?void 0:n.hasAttribute)!=null&&t.call(n,e))},gt=(n,e)=>{var t;return!!((t=n==null?void 0:n.classList)!=null&&t.contains(e))},We=n=>e=>{var t;return((t=e.getAttribute)==null?void 0:t.call(e,Re))===n},cs=(...n)=>e=>n.some(t=>e.is(t)),Zr=(...n)=>(e,t)=>n.some(o=>t.is(o)),Fp=(n,e={})=>{var r;const t={},o=[],s=[];for(const i in n){const{value:l,...a}=n[i];o.push({id:i,name:i,changeProp:!0,category:e.category,...a}),t[i]=l,!$p(l)&&s.push(i);const{subTraits:c={}}=a;for(const d in a.subTraits)(r=c[d])==null||r.forEach(p=>{const u=p.id||p.name;t[u]=p.value})}return{propKeys:Object.keys(t),propsNoValues:s,props:t,traits:o}},_p=(n,e)=>{e.forEach(t=>{if(t.subTraits){const o=`${t.id||t.name}`,s=t.changeProp?`change:${o}`:`change:attributes:${o}`;n.on(s,()=>Ti(n,o)),Ti(n,o)}})},Ti=(n,e)=>{const t=n.getTrait(e),o=t.get("category"),s=t.get("subTraits")||{},i=(Object.values(s).flat()||[]).map(c=>c.id||c.name);n.removeTrait(i);const l=s[t.getValue()],a=n.getTraitIndex(e)+1;l&&n.addTrait(l.map(c=>({category:o,...c})),{at:a})},Yr=(n,e,t)=>{const{doc:o=document}=t,s=t.target||o.head,r=s.querySelector(`style[${n}]`)||o.createElement("style");r.setAttribute(n,"true"),r.innerHTML=e,!s.contains(r)&&s.appendChild(r)},Gp=(n,e)=>{e.forEach(t=>{const o=Lp(t);o!==t&&n.has(o)&&n.set({[t]:n.get(o),[o]:void 0})})},Me="gjs-plg-",Bo="data-gs-plg-",Re="data-type-role",Mi=(...n)=>n.map(e=>`[data-gjs-type="${e}"]`).join(","),Wp="dialogComponent",jp=function(n,e={}){const{Blocks:t,Components:o}=n,{licenseKey:s}=e,r="gjs-plg-dialog",i="gjs-plg-dialog-overlay",l="gjs-plg-dialog-content",a="gjs-plg-dialog-close",c="gjs-plg-dialog-title",d="gjs-plg-dialog-body",p="gjs-plg-dialog-description",u="gjs-plg-dialog-placeholder";t.add(r,{label:"Dialog",media:`
|
|
2
2
|
<svg viewBox="0 0 24 24">
|
|
3
3
|
<path d="M4 4h16v10H8l-4 4V4z"></path>
|
|
4
4
|
</svg>
|
package/dist/index.es.js
CHANGED
|
@@ -43,7 +43,11 @@ const Ra = "app.grapesjs.com", Da = "app-stage.grapesjs.com", Ep = "app2.grapesj
|
|
|
43
43
|
window.define = void 0;
|
|
44
44
|
const t = await Np(n);
|
|
45
45
|
return window.define = e, t;
|
|
46
|
-
}, Ip = ({
|
|
46
|
+
}, Ip = ({
|
|
47
|
+
isDev: n,
|
|
48
|
+
isStage: e,
|
|
49
|
+
isPlatform: t
|
|
50
|
+
}) => `${n ? "" : `https://${e ? Da : Ra}`}/${t ? "platform-api" : "api"}`, Rp = () => {
|
|
47
51
|
const n = Pp() && window.location.hostname;
|
|
48
52
|
return !!n && (ki.includes(n) || ki.some((e) => n.endsWith(e)));
|
|
49
53
|
}, Dp = (n) => n.replace(/[A-Z]+(?![a-z])|[A-Z]/g, (e, t) => (t ? "-" : "") + e.toLowerCase()), Lp = (n) => typeof n < "u", $p = (n) => typeof n == "string";
|
|
@@ -88,33 +92,34 @@ async function G({
|
|
|
88
92
|
plan: e,
|
|
89
93
|
pluginName: t,
|
|
90
94
|
licenseKey: o,
|
|
91
|
-
|
|
95
|
+
onLicenseCheckResponse: s,
|
|
96
|
+
cleanup: r
|
|
92
97
|
}) {
|
|
93
|
-
let
|
|
94
|
-
const
|
|
95
|
-
console.warn("Cleanup plugin:", t, "Reason:",
|
|
96
|
-
},
|
|
97
|
-
var
|
|
98
|
-
const { error:
|
|
99
|
-
if (!(
|
|
100
|
-
|
|
101
|
-
else if (
|
|
102
|
-
const
|
|
103
|
-
|
|
98
|
+
let i = "", l = !1;
|
|
99
|
+
const a = Rp(), c = (p) => {
|
|
100
|
+
console.warn("Cleanup plugin:", t, "Reason:", p), r();
|
|
101
|
+
}, d = (p = {}) => {
|
|
102
|
+
var g;
|
|
103
|
+
const { error: u, sdkLicense: h } = p, f = (g = p.plan) == null ? void 0 : g.category;
|
|
104
|
+
if (!(h || p.license) || u)
|
|
105
|
+
c(u || "Invalid license");
|
|
106
|
+
else if (f) {
|
|
107
|
+
const b = Ei[e], C = Ei[f];
|
|
108
|
+
b > C && c({ pluginRequiredPlan: e, licensePlan: f });
|
|
104
109
|
}
|
|
105
110
|
};
|
|
106
|
-
n.on(Mp, (
|
|
107
|
-
|
|
108
|
-
}), n.on(Ap, (
|
|
109
|
-
|
|
111
|
+
n.on(Mp, (p) => {
|
|
112
|
+
i = p == null ? void 0 : p.baseApiUrl, l = !0;
|
|
113
|
+
}), n.on(Ap, (p) => {
|
|
114
|
+
s == null || s(p), d(p);
|
|
110
115
|
}), setTimeout(async () => {
|
|
111
|
-
if (!
|
|
112
|
-
if (
|
|
116
|
+
if (!l) {
|
|
117
|
+
if (a) return;
|
|
113
118
|
if (o) {
|
|
114
|
-
const
|
|
115
|
-
|
|
119
|
+
const p = await Bp({ licenseKey: o, pluginName: t, baseApiUrl: i });
|
|
120
|
+
s == null || s(p), p && d(p);
|
|
116
121
|
} else
|
|
117
|
-
|
|
122
|
+
c("The `licenseKey` option not provided");
|
|
118
123
|
}
|
|
119
124
|
}, 2e3);
|
|
120
125
|
}
|
package/dist/index.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(V,kn){typeof exports=="object"&&typeof module<"u"?kn(exports,require("handlebars/dist/cjs/handlebars")):typeof define=="function"&&define.amd?define(["exports","handlebars/dist/cjs/handlebars"],kn):(V=typeof globalThis<"u"?globalThis:V||self,kn(V.StudioSdkPlugins={},V.Handlebars))})(this,function(V,kn){"use strict";const Tr="app.grapesjs.com",Mr="app-stage.grapesjs.com",Ar=[Tr,"app2.grapesjs.com",Mr,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],Mp="license:check:start",Ap="license:check:end",Pp=()=>typeof window<"u",Ts=(n,e={})=>{const t=$p(n)?{id:n,src:n}:n;return new Promise((o,s)=>{var u,h;const{loadedScripts:i}=e,{id:r,src:l}=t,a=document.querySelector(`script[src="${l}"]`);if(a){if((u=e.onScript)==null||u.call(e,a),i&&!i.get(l)){a.addEventListener("load",()=>o(r)),a.addEventListener("error",()=>s(r));return}return o(r)}const c=window.define;window.define=void 0;const d=()=>{i==null||i.set(l,!0),window.define=c},p=document.createElement("script");p.src=l,p.onload=()=>{o(r),d()},p.onerror=()=>{s(r),d()},document.head.appendChild(p),(h=e.onScript)==null||h.call(e,p)})},Np=n=>{const e=n.map(t=>Ts(t));return Promise.allSettled(e)},Op=async n=>{const e=window.define;window.define=void 0;const t=await Np(n);return window.define=e,t},Ip=({isDev:n,isStage:e})=>`${n?"":`https://${e?Mr:Tr}`}
|
|
1
|
+
(function(V,kn){typeof exports=="object"&&typeof module<"u"?kn(exports,require("handlebars/dist/cjs/handlebars")):typeof define=="function"&&define.amd?define(["exports","handlebars/dist/cjs/handlebars"],kn):(V=typeof globalThis<"u"?globalThis:V||self,kn(V.StudioSdkPlugins={},V.Handlebars))})(this,function(V,kn){"use strict";const Tr="app.grapesjs.com",Mr="app-stage.grapesjs.com",Ar=[Tr,"app2.grapesjs.com",Mr,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],Mp="license:check:start",Ap="license:check:end",Pp=()=>typeof window<"u",Ts=(n,e={})=>{const t=$p(n)?{id:n,src:n}:n;return new Promise((o,s)=>{var u,h;const{loadedScripts:i}=e,{id:r,src:l}=t,a=document.querySelector(`script[src="${l}"]`);if(a){if((u=e.onScript)==null||u.call(e,a),i&&!i.get(l)){a.addEventListener("load",()=>o(r)),a.addEventListener("error",()=>s(r));return}return o(r)}const c=window.define;window.define=void 0;const d=()=>{i==null||i.set(l,!0),window.define=c},p=document.createElement("script");p.src=l,p.onload=()=>{o(r),d()},p.onerror=()=>{s(r),d()},document.head.appendChild(p),(h=e.onScript)==null||h.call(e,p)})},Np=n=>{const e=n.map(t=>Ts(t));return Promise.allSettled(e)},Op=async n=>{const e=window.define;window.define=void 0;const t=await Np(n);return window.define=e,t},Ip=({isDev:n,isStage:e,isPlatform:t})=>`${n?"":`https://${e?Mr:Tr}`}/${t?"platform-api":"api"}`,Rp=()=>{const n=Pp()&&window.location.hostname;return!!n&&(Ar.includes(n)||Ar.some(e=>n.endsWith(e)))},Dp=n=>n.replace(/[A-Z]+(?![a-z])|[A-Z]/g,(e,t)=>(t?"-":"")+e.toLowerCase()),Lp=n=>typeof n<"u",$p=n=>typeof n=="string";function xt(n){return typeof n=="function"}async function zp({path:n,baseApiUrl:e,method:t="GET",headers:o={},params:s,body:i}){const l=`${e||Ip({isDev:!1,isStage:!1})}${n}`,a={method:t,headers:{"Content-Type":"application/json",...o}};i&&(a.body=JSON.stringify(i));const c=s?new URLSearchParams(s).toString():"",d=c?`?${c}`:"",p=await fetch(`${l}${d}`,a);if(!p.ok)throw new Error(`HTTP error! status: ${p.status}`);return p.json()}var F=(n=>(n.free="free",n.startup="startup",n.business="business",n.enterprise="enterprise",n))(F||{}),Pr=(n=>(n.Info="info",n.Error="error",n.Success="success",n.Warning="warning",n))(Pr||{}),j=(n=>(n.toastAdd="studio:toastAdd",n.toastRemove="studio:toastRemove",n.dialogOpen="studio:dialogOpen",n.dialogClose="studio:dialogClose",n.dialogExportCode="studio:dialogExportCode",n.sidebarLeftSet="studio:sidebarLeft:set",n.sidebarLeftGet="studio:sidebarLeft:get",n.sidebarLeftToggle="studio:sidebarLeft:toggle",n.sidebarRightSet="studio:sidebarRight:set",n.sidebarRightGet="studio:sidebarRight:get",n.sidebarRightToggle="studio:sidebarRight:toggle",n.sidebarTopSet="studio:sidebarTop:set",n.sidebarTopGet="studio:sidebarTop:get",n.sidebarTopToggle="studio:sidebarTop:toggle",n.sidebarBottomSet="studio:sidebarBottom:set",n.sidebarBottomGet="studio:sidebarBottom:get",n.sidebarBottomToggle="studio:sidebarBottom:toggle",n.symbolAdd="studio:symbolAdd",n.symbolDetach="studio:symbolDetach",n.symbolOverride="studio:symbolOverride",n.symbolPropagateStyles="studio:propagateStyles",n.getPagesConfig="studio:getPagesConfig",n.setPagesConfig="studio:setPagesConfig",n.getPageSettings="studio:getPageSettings",n.setPageSettings="studio:setPageSettings",n.clearPage="studio:clearPage",n.projectFiles="studio:projectFiles",n.validateCode="studio:validateCode",n.canvasReload="studio:canvasReload",n.getBlocksPanel="studio:getBlocksPanel",n.setBlocksPanel="studio:setBlocksPanel",n.getStateContextMenu="studio:getStateContextMenu",n.setStateContextMenu="studio:setStateContextMenu",n.contextMenuComponent="studio:contextMenuComponent",n.layoutAdd="studio:layoutAdd",n.layoutRemove="studio:layoutRemove",n.layoutToggle="studio:layoutToggle",n.layoutUpdate="studio:layoutUpdate",n.layoutGet="studio:layoutGet",n.layoutConfigGet="studio:layoutConfigGet",n.layoutConfigSet="studio:layoutConfigSet",n.layoutComponentAdd="studio:layoutComponentAdd",n.layoutComponentGet="studio:layoutComponentGet",n.layoutComponentRemove="studio:layoutComponentRemove",n.layoutComponentRender="studio:layoutComponentRender",n.getStateTheme="studio:getStateTheme",n.setStateTheme="studio:setStateTheme",n.assetProviderGet="studio:assetProviderGet",n.assetProviderAdd="studio:assetProviderAdd",n.assetProviderRemove="studio:assetProviderRemove",n.fontGet="studio:fontGet",n.fontAdd="studio:fontAdd",n.fontRemove="studio:fontRemove",n.fontManagerOpen="studio:fontManagerOpen",n.menuFontLoad="studio:menuFontLoad",n.toggleStateDataSource="studio:toggleStateDataSource",n.getStateDataSource="studio:getStateDataSource",n.dataSourceSetGlobalData="studio:dataSourceSetGlobalData",n.dataSourceSetImporter="studio:dataSourceSetImporter",n.dataSourceSetExporter="studio:dataSourceSetExporter",n.setDragAbsolute="studio:setDragAbsolute",n))(j||{}),Nr=(n=>(n.layoutToggleId="studio:layoutToggle:",n.toggleBlocksPanel="studio:toggleBlocksPanel",n.pageSettingsUpdate="studio:pageSettingsUpdate",n.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",n))(Nr||{}),Or=(n=>(n.dark="dark",n.light="light",n.auto="auto",n))(Or||{}),Ir=(n=>(n.web="web",n.email="email",n.document="document",n.react="react",n))(Ir||{});const Rr={[F.free]:0,[F.startup]:10,[F.business]:20,[F.enterprise]:30};function Bp(n){const e=n;return e.init=t=>o=>n(o,t),e}const G=n=>Bp(n);async function W({editor:n,plan:e,pluginName:t,licenseKey:o,onLicenseCheckResponse:s,cleanup:i}){let r="",l=!1;const a=Rp(),c=p=>{console.warn("Cleanup plugin:",t,"Reason:",p),i()},d=(p={})=>{var g;const{error:u,sdkLicense:h}=p,f=(g=p.plan)==null?void 0:g.category;if(!(h||p.license)||u)c(u||"Invalid license");else if(f){const b=Rr[e],C=Rr[f];b>C&&c({pluginRequiredPlan:e,licensePlan:f})}};n.on(Mp,p=>{r=p==null?void 0:p.baseApiUrl,l=!0}),n.on(Ap,p=>{s==null||s(p),d(p)}),setTimeout(async()=>{if(!l){if(a)return;if(o){const p=await Vp({licenseKey:o,pluginName:t,baseApiUrl:r});s==null||s(p),p&&d(p)}else c("The `licenseKey` option not provided")}},2e3)}async function Vp(n){const{licenseKey:e,pluginName:t,baseApiUrl:o}=n;try{return(await zp({baseApiUrl:o,path:`/sdk/${e||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(s){return console.error("Error during SDK license check:",s),!1}}const fo=(n,e)=>{var t;return!!((t=n==null?void 0:n.hasAttribute)!=null&&t.call(n,e))},ot=(n,e)=>{var t;return!!((t=n==null?void 0:n.classList)!=null&&t.contains(e))},$e=n=>e=>{var t;return((t=e.getAttribute)==null?void 0:t.call(e,Pe))===n},mo=(...n)=>e=>n.some(t=>e.is(t)),Ms=(...n)=>(e,t)=>n.some(o=>t.is(o)),Hp=(n,e={})=>{var i;const t={},o=[],s=[];for(const r in n){const{value:l,...a}=n[r];o.push({id:r,name:r,changeProp:!0,category:e.category,...a}),t[r]=l,!Lp(l)&&s.push(r);const{subTraits:c={}}=a;for(const d in a.subTraits)(i=c[d])==null||i.forEach(p=>{const u=p.id||p.name;t[u]=p.value})}return{propKeys:Object.keys(t),propsNoValues:s,props:t,traits:o}},Fp=(n,e)=>{e.forEach(t=>{if(t.subTraits){const o=`${t.id||t.name}`,s=t.changeProp?`change:${o}`:`change:attributes:${o}`;n.on(s,()=>Dr(n,o)),Dr(n,o)}})},Dr=(n,e)=>{const t=n.getTrait(e),o=t.get("category"),s=t.get("subTraits")||{},r=(Object.values(s).flat()||[]).map(c=>c.id||c.name);n.removeTrait(r);const l=s[t.getValue()],a=n.getTraitIndex(e)+1;l&&n.addTrait(l.map(c=>({category:o,...c})),{at:a})},As=(n,e,t)=>{const{doc:o=document}=t,s=t.target||o.head,i=s.querySelector(`style[${n}]`)||o.createElement("style");i.setAttribute(n,"true"),i.innerHTML=e,!s.contains(i)&&s.appendChild(i)},_p=(n,e)=>{e.forEach(t=>{const o=Dp(t);o!==t&&n.has(o)&&n.set({[t]:n.get(o),[o]:void 0})})},ke="gjs-plg-",go="data-gs-plg-",Pe="data-type-role",Lr=(...n)=>n.map(e=>`[data-gjs-type="${e}"]`).join(","),Gp="dialogComponent",Wp=G(function(n,e={}){const{Blocks:t,Components:o}=n,{licenseKey:s}=e,i="gjs-plg-dialog",r="gjs-plg-dialog-overlay",l="gjs-plg-dialog-content",a="gjs-plg-dialog-close",c="gjs-plg-dialog-title",d="gjs-plg-dialog-body",p="gjs-plg-dialog-description",u="gjs-plg-dialog-placeholder";t.add(i,{label:"Dialog",media:`
|
|
2
2
|
<svg viewBox="0 0 24 24">
|
|
3
3
|
<path d="M4 4h16v10H8l-4 4V4z"></path>
|
|
4
4
|
</svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var P=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(P||{}),A=(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))(A||{}),I=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(I||{});const x="app.grapesjs.com",E="app-stage.grapesjs.com",H="app2.grapesjs.com",S="app-stage2.grapesjs.com",D=[x,H,E,S,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],j="license:check:start",C="license:check:end",W=()=>typeof window<"u",K=({isDev:e,isStage:o})=>`${e?"":`https://${o?E:x}`}/api`,V=()=>{const e=W()&&window.location.hostname;return!!e&&(D.includes(e)||D.some(o=>e.endsWith(o)))};async function F({path:e,baseApiUrl:o,method:n="GET",headers:i={},params:c,body:p}){const b=`${o||K({isDev:!1,isStage:!1})}${e}`,g={method:n,headers:{"Content-Type":"application/json",...i}};p&&(g.body=JSON.stringify(p));const d=c?new URLSearchParams(c).toString():"",t=d?`?${d}`:"",r=await fetch(`${b}${t}`,g);if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return r.json()}const G={[P.free]:0,[P.startup]:10,[P.business]:20,[P.enterprise]:30};function m(e){const o=e;return o.init=n=>i=>e(i,n),o}const q=e=>m(e);async function Z({editor:e,plan:o,pluginName:n,licenseKey:i,cleanup:c}){let p="",f=!1;const b=V(),g=t=>{console.warn("Cleanup plugin:",n,"Reason:",t),c()},d=(t={})=>{var a;const{error:r,sdkLicense:L}=t,s=(a=t.plan)==null?void 0:a.category;if(!(L||t.license)||r)g(r||"Invalid license");else if(s){const l=G[o],y=G[s];l>y&&g({pluginRequiredPlan:o,licensePlan:s})}};e.on(j,t=>{p=t==null?void 0:t.baseApiUrl,f=!0}),e.on(C,t=>{d(t)}),setTimeout(async()=>{if(!f){if(b)return;if(i){const t=await z({licenseKey:i,pluginName:n,baseApiUrl:p});t&&d(t)}else g("The `licenseKey` option not provided")}},2e3)}async function z(e){const{licenseKey:o,pluginName:n,baseApiUrl:i}=e;try{return(await F({baseApiUrl:i,path:`/sdk/${o||"na"}`,method:"POST",params:{d:window.location.hostname,pn:n}})).result||{}}catch(c){return console.error("Error during SDK license check:",c),!1}}var v=(e=>(e.panelBlocks="panelBlocks",e.panelPagesLayers="panelPagesLayers",e.panelGlobalStyles="panelGlobalStyles",e.panelSidebarTabs="panelSidebarTabs",e.panelAssets="panelAssets",e.aiChatPanel="aiChatPanel",e.panelDataSources="panelDataSources",e))(v||{});const O="sidebarButtonsTarget",R=(e,o)=>{const{id:n,icon:i,label:c,tooltip:p,className:f,skipSelfClose:b,removeLayouts:g,layoutComponent:d,layoutCommand:t}=e,{pluginOpts:r,breakpointProps:L}=o,s=n;return{id:U(n),type:"button",icon:i,tooltip:c||p,className:f,editorEvents:{[`${I.layoutToggleId}${s}`]:({fromEvent:u,setState:a,editor:l})=>{a({active:u.isOpen}),setTimeout(()=>l.refresh({tools:!0}),20)}},onClick:({editor:u,state:a})=>{var k;if(a.active&&b)return;const l=(t==null?void 0:t.placer)||{type:"static",layoutId:O},y={...l,skipCleanup:l.type==="static"},h=g||Object.keys(v).filter(w=>w!==s);N(u,{removeLayouts:h,layout:{placer:y}});const B={id:s,placer:l,header:(t==null?void 0:t.header)??{label:c,close:!b},layout:d,style:{width:280,height:"100%",borderRightWidth:1,...t==null?void 0:t.style}},T=((k=r==null?void 0:r.sidebarLayoutCommand)==null?void 0:k.call(r,{...L,layoutCommand:B,sidebarButtonProps:e}))||B;u.runCommand(A.layoutToggle,{...T})}}},U=e=>`button__${e}`,N=(e,o={})=>{(o.removeLayouts||Object.keys(v)).forEach(i=>e.runCommand(A.layoutRemove,{id:i,layout:o.layout}))},_=e=>{const o=(e==null?void 0:e.breakpointTablet)??1024,n=(e==null?void 0:e.breakpointMobile)??768,i={},c=[{id:v.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:v.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:v.panelGlobalStyles,icon:'<svg viewBox="0 0 24 24"> <path d="M20 14H6c-2.2 0-4 1.8-4 4s1.8 4 4 4h14a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2M6 20c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.3-8L13 5.3a2 2 0 0 1 2.8 0l2.8 2.8c.8.8.8 2 0 2.8l-.9 1.1H6.3M2 13.5V4c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v1.5l-8 8Z"/></svg>',label:"Global Styles",layoutComponent:{type:"panelGlobalStyles"}},{id:v.panelAssets,icon:'<svg viewBox="0 0 24 24"><path d="M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6" /></svg>',label:"Assets",layoutComponent:{type:"panelAssets",content:{itemsPerRow:2,header:{addUrl:!1}},style:{padding:7},onSelect:({assetProps:s,editor:u})=>{var h;const a=u.getSelected(),l={type:"image",src:s.src};let y;if(a!=null&&a.is("image"))return a.set("src",s.src);a&&u.Components.canMove(a,l)?y=a.append(l)[0]:a||(y=(h=u.getWrapper())==null?void 0:h.append(l)[0]),y&&u.select(y,{scroll:!0})}}}],p=[...c,{id:v.panelSidebarTabs,layoutCommand:{header:!1},icon:'<svg viewBox="0 0 24 24"><path d="M17.5 12a1.5 1.5 0 0 1-1.5-1.5A1.5 1.5 0 0 1 17.5 9a1.5 1.5 0 0 1 1.5 1.5 1.5 1.5 0 0 1-1.5 1.5m-3-4A1.5 1.5 0 0 1 13 6.5 1.5 1.5 0 0 1 14.5 5 1.5 1.5 0 0 1 16 6.5 1.5 1.5 0 0 1 14.5 8m-5 0A1.5 1.5 0 0 1 8 6.5 1.5 1.5 0 0 1 9.5 5 1.5 1.5 0 0 1 11 6.5 1.5 1.5 0 0 1 9.5 8m-3 4A1.5 1.5 0 0 1 5 10.5 1.5 1.5 0 0 1 6.5 9 1.5 1.5 0 0 1 8 10.5 1.5 1.5 0 0 1 6.5 12M12 3a9 9 0 0 0-9 9 9 9 0 0 0 9 9 1.5 1.5 0 0 0 1.5-1.5c0-.4-.2-.7-.4-1-.2-.3-.4-.6-.4-1a1.5 1.5 0 0 1 1.5-1.5H16a5 5 0 0 0 5-5c0-4.4-4-8-9-8Z"/></svg>',label:"Styles & Props",layoutComponent:{type:"panelSidebarTabs"}}],f={id:O,type:"column",className:"gs-cmp-layout-sidebar-target",style:{overflow:"hidden"}},b={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},g={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},d=s=>({breakpoint:s,breakpointTablet:o,breakpointMobile:n}),t=(s,u,a)=>{const l=d(u),y={pluginOpts:e,breakpointProps:l},h=s.map(T=>{const k=R(T,y);return e!=null&&e.sidebarButton?e.sidebarButton({id:T.id,buttonIds:v,buttonProps:k,sidebarButtonProps:T,...l,createSidebarButton:w=>R({...T,...w},y)}):k}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:v,sidebarButtons:h,...l,createSidebarButton:T=>R({...T,layoutCommand:{...a==null?void 0:a.layoutCommand,...T.layoutCommand}},y)}):h).filter(Boolean)},r=(s,u,a)=>{var h;const l=d(a),y={pluginOpts:e,breakpointProps:l};return((h=e==null?void 0:e.rootLayout)==null?void 0:h.call(e,{sidebarButtons:u,rootLayout:s,layoutSidebarLeft:b,layoutSidebarTarget:f,...l,createSidebarButton:B=>R({...B},y)}))??s};if(o){const s=t(p,o);i[o]=r({type:"row",style:{height:"100%"},children:[{...b,children:s},f,g]},s,o)}if(n){const s={placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}},u=p.map(l=>({...l,layoutCommand:s})),a=t(u,n,{layoutCommand:s});i[n]=r({type:"column",style:{height:"100%"},children:[{type:"sidebarTop",leftContainer:{buttons:[]}},{type:"canvas",grow:!0},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:a}]},a,n)}const L=t(c,0);return{default:r({type:"row",style:{height:"100%"},children:[{...b,children:L},f,g,{type:"sidebarRight"}]},L,0),responsive:i}},M="layoutSidebarButtons",J=P.free,Q=function(e,o={}){const{Commands:n}=e,i=n.events,c={...o};(()=>{if(e.runCommand(A.layoutConfigGet)||c.skipLayoutConfig===!0)return;const b=_(c);e.runCommand(A.layoutConfigSet,{...b})})(),n.add(`${M}:toggleButton`,(f,b,g)=>{const d=document.getElementById(U(g==null?void 0:g.id));d==null||d.click()}),e.on(`${i.runCommand}core:preview`,()=>{N(e)}),Z({editor:e,licenseKey:c.licenseKey,plan:J,pluginName:M,cleanup:()=>{e.runCommand(A.layoutConfigSet)}})},$=q(Q);$.createLayoutConfig=e=>_(e);module.exports=$;
|
|
1
|
+
"use strict";var A=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(A||{}),B=(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))(B||{}),I=(e=>(e.layoutToggleId="studio:layoutToggle:",e.toggleBlocksPanel="studio:toggleBlocksPanel",e.pageSettingsUpdate="studio:pageSettingsUpdate",e.toggleDataSourcesPreview="studio:toggleDataSourcesPreview",e))(I||{});const x="app.grapesjs.com",E="app-stage.grapesjs.com",H="app2.grapesjs.com",S="app-stage2.grapesjs.com",k=[x,H,E,S,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],j="license:check:start",W="license:check:end",K=()=>typeof window<"u",V=({isDev:e,isStage:a,isPlatform:o})=>`${e?"":`https://${a?E:x}`}/${o?"platform-api":"api"}`,m=()=>{const e=K()&&window.location.hostname;return!!e&&(k.includes(e)||k.some(a=>e.endsWith(a)))};async function F({path:e,baseApiUrl:a,method:o="GET",headers:r={},params:s,body:h}){const d=`${a||V({isDev:!1,isStage:!1})}${e}`,b={method:o,headers:{"Content-Type":"application/json",...r}};h&&(b.body=JSON.stringify(h));const g=s?new URLSearchParams(s).toString():"",u=g?`?${g}`:"",t=await fetch(`${d}${u}`,b);if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return t.json()}const M={[A.free]:0,[A.startup]:10,[A.business]:20,[A.enterprise]:30};function q(e){const a=e;return a.init=o=>r=>e(r,o),a}const Z=e=>q(e);async function z({editor:e,plan:a,pluginName:o,licenseKey:r,onLicenseCheckResponse:s,cleanup:h}){let f="",d=!1;const b=m(),g=t=>{console.warn("Cleanup plugin:",o,"Reason:",t),h()},u=(t={})=>{var i;const{error:P,sdkLicense:l}=t,c=(i=t.plan)==null?void 0:i.category;if(!(l||t.license)||P)g(P||"Invalid license");else if(c){const y=M[a],p=M[c];y>p&&g({pluginRequiredPlan:a,licensePlan:c})}};e.on(j,t=>{f=t==null?void 0:t.baseApiUrl,d=!0}),e.on(W,t=>{s==null||s(t),u(t)}),setTimeout(async()=>{if(!d){if(b)return;if(r){const t=await C({licenseKey:r,pluginName:o,baseApiUrl:f});s==null||s(t),t&&u(t)}else g("The `licenseKey` option not provided")}},2e3)}async function C(e){const{licenseKey:a,pluginName:o,baseApiUrl:r}=e;try{return(await F({baseApiUrl:r,path:`/sdk/${a||"na"}`,method:"POST",params:{d:window.location.hostname,pn:o}})).result||{}}catch(s){return console.error("Error during SDK license check:",s),!1}}var v=(e=>(e.panelBlocks="panelBlocks",e.panelPagesLayers="panelPagesLayers",e.panelGlobalStyles="panelGlobalStyles",e.panelSidebarTabs="panelSidebarTabs",e.panelAssets="panelAssets",e.aiChatPanel="aiChatPanel",e.panelDataSources="panelDataSources",e))(v||{});const O="sidebarButtonsTarget",D=(e,a)=>{const{id:o,icon:r,label:s,tooltip:h,className:f,skipSelfClose:d,removeLayouts:b,layoutComponent:g,layoutCommand:u}=e,{pluginOpts:t,breakpointProps:P}=a,l=o;return{id:U(o),type:"button",icon:r,tooltip:s||h,className:f,editorEvents:{[`${I.layoutToggleId}${l}`]:({fromEvent:c,setState:n,editor:i})=>{n({active:c.isOpen}),setTimeout(()=>i.refresh({tools:!0}),20)}},onClick:({editor:c,state:n})=>{var w;if(n.active&&d)return;const i=(u==null?void 0:u.placer)||{type:"static",layoutId:O},y={...i,skipCleanup:i.type==="static"},p=b||Object.keys(v).filter(G=>G!==l);N(c,{removeLayouts:p,layout:{placer:y}});const L={id:l,placer:i,header:(u==null?void 0:u.header)??{label:s,close:!d},layout:g,style:{width:280,height:"100%",borderRightWidth:1,...u==null?void 0:u.style}},T=((w=t==null?void 0:t.sidebarLayoutCommand)==null?void 0:w.call(t,{...P,layoutCommand:L,sidebarButtonProps:e}))||L;c.runCommand(B.layoutToggle,{...T})}}},U=e=>`button__${e}`,N=(e,a={})=>{(a.removeLayouts||Object.keys(v)).forEach(r=>e.runCommand(B.layoutRemove,{id:r,layout:a.layout}))},$=e=>{const a=(e==null?void 0:e.breakpointTablet)??1024,o=(e==null?void 0:e.breakpointMobile)??768,r={},s=[{id:v.panelBlocks,icon:"plusBox",label:"Blocks",layoutComponent:{type:"panelBlocks"}},{id:v.panelPagesLayers,icon:"layers",label:"Pages & Layers",layoutComponent:{type:"panelPagesLayers"}},{id:v.panelGlobalStyles,icon:'<svg viewBox="0 0 24 24"> <path d="M20 14H6c-2.2 0-4 1.8-4 4s1.8 4 4 4h14a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2M6 20c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.3-8L13 5.3a2 2 0 0 1 2.8 0l2.8 2.8c.8.8.8 2 0 2.8l-.9 1.1H6.3M2 13.5V4c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v1.5l-8 8Z"/></svg>',label:"Global Styles",layoutComponent:{type:"panelGlobalStyles"}},{id:v.panelAssets,icon:'<svg viewBox="0 0 24 24"><path d="M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6" /></svg>',label:"Assets",layoutComponent:{type:"panelAssets",content:{itemsPerRow:2,header:{addUrl:!1}},style:{padding:7},onSelect:({assetProps:l,editor:c})=>{var p;const n=c.getSelected(),i={type:"image",src:l.src};let y;if(n!=null&&n.is("image"))return n.set("src",l.src);n&&c.Components.canMove(n,i)?y=n.append(i)[0]:n||(y=(p=c.getWrapper())==null?void 0:p.append(i)[0]),y&&c.select(y,{scroll:!0})}}}],h=[...s,{id:v.panelSidebarTabs,layoutCommand:{header:!1},icon:'<svg viewBox="0 0 24 24"><path d="M17.5 12a1.5 1.5 0 0 1-1.5-1.5A1.5 1.5 0 0 1 17.5 9a1.5 1.5 0 0 1 1.5 1.5 1.5 1.5 0 0 1-1.5 1.5m-3-4A1.5 1.5 0 0 1 13 6.5 1.5 1.5 0 0 1 14.5 5 1.5 1.5 0 0 1 16 6.5 1.5 1.5 0 0 1 14.5 8m-5 0A1.5 1.5 0 0 1 8 6.5 1.5 1.5 0 0 1 9.5 5 1.5 1.5 0 0 1 11 6.5 1.5 1.5 0 0 1 9.5 8m-3 4A1.5 1.5 0 0 1 5 10.5 1.5 1.5 0 0 1 6.5 9 1.5 1.5 0 0 1 8 10.5 1.5 1.5 0 0 1 6.5 12M12 3a9 9 0 0 0-9 9 9 9 0 0 0 9 9 1.5 1.5 0 0 0 1.5-1.5c0-.4-.2-.7-.4-1-.2-.3-.4-.6-.4-1a1.5 1.5 0 0 1 1.5-1.5H16a5 5 0 0 0 5-5c0-4.4-4-8-9-8Z"/></svg>',label:"Styles & Props",layoutComponent:{type:"panelSidebarTabs"}}],f={id:O,type:"column",className:"gs-cmp-layout-sidebar-target",style:{overflow:"hidden"}},d={type:"sidebarLeft",resizable:!1,style:{padding:"10px 5px",alignItems:"center",width:45,gap:10},children:[]},b={type:"canvasSidebarTop",sidebarTop:{leftContainer:{buttons:[]}}},g=l=>({breakpoint:l,breakpointTablet:a,breakpointMobile:o}),u=(l,c,n)=>{const i=g(c),y={pluginOpts:e,breakpointProps:i},p=l.map(T=>{const w=D(T,y);return e!=null&&e.sidebarButton?e.sidebarButton({id:T.id,buttonIds:v,buttonProps:w,sidebarButtonProps:T,...i,createSidebarButton:G=>D({...T,...G},y)}):w}).filter(Boolean);return(e!=null&&e.sidebarButtons?e==null?void 0:e.sidebarButtons({buttonIds:v,sidebarButtons:p,...i,createSidebarButton:T=>D({...T,layoutCommand:{...n==null?void 0:n.layoutCommand,...T.layoutCommand}},y)}):p).filter(Boolean)},t=(l,c,n)=>{var p;const i=g(n),y={pluginOpts:e,breakpointProps:i};return((p=e==null?void 0:e.rootLayout)==null?void 0:p.call(e,{sidebarButtons:c,rootLayout:l,layoutSidebarLeft:d,layoutSidebarTarget:f,...i,createSidebarButton:L=>D({...L},y)}))??l};if(a){const l=u(h,a);r[a]=t({type:"row",style:{height:"100%"},children:[{...d,children:l},f,b]},l,a)}if(o){const l={placer:{type:"absolute",position:"left"},style:{height:"calc(100% - 40px)"}},c=h.map(i=>({...i,layoutCommand:l})),n=u(c,o,{layoutCommand:l});r[o]=t({type:"column",style:{height:"100%"},children:[{type:"sidebarTop",leftContainer:{buttons:[]}},{type:"canvas",grow:!0},{type:"sidebarBottom",style:{padding:"0 5px",alignItems:"center",gap:10,minHeight:39},children:n}]},n,o)}const P=u(s,0);return{default:t({type:"row",style:{height:"100%"},children:[{...d,children:P},f,b,{type:"sidebarRight"}]},P,0),responsive:r}},R="layoutSidebarButtons",J=A.free,Q=function(e,a={}){const{Commands:o}=e,r=o.events,s={...a};(()=>{if(e.runCommand(B.layoutConfigGet)||s.skipLayoutConfig===!0)return;const d=$(s);e.runCommand(B.layoutConfigSet,{...d})})(),o.add(`${R}:toggleButton`,(f,d,b)=>{const g=document.getElementById(U(b==null?void 0:b.id));g==null||g.click()}),e.on(`${r.runCommand}core:preview`,()=>{N(e)}),z({editor:e,licenseKey:s.licenseKey,plan:J,pluginName:R,cleanup:()=>{e.runCommand(B.layoutConfigSet)}})},_=Z(Q);_.createLayoutConfig=e=>$(e);module.exports=_;
|