@grapesjs/studio-sdk-plugins 1.0.28 → 1.0.29
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/canvasAbsoluteMode/index.cjs.js +1 -1
- package/dist/canvasAbsoluteMode/index.es.js +98 -97
- package/dist/canvasAbsoluteMode/index.umd.js +1 -1
- package/dist/canvasFullSize/index.cjs.js +8 -7
- package/dist/canvasFullSize/index.es.js +145 -138
- package/dist/canvasFullSize/index.umd.js +9 -8
- package/dist/canvasFullSize/typesSchema.d.ts +5 -0
- package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
- package/dist/googleFontsAssetProvider/index.es.js +11 -11
- package/dist/googleFontsAssetProvider/index.umd.js +1 -1
- package/dist/iconifyComponent/index.cjs.js +2 -2
- package/dist/iconifyComponent/index.es.js +13 -13
- package/dist/iconifyComponent/index.umd.js +2 -2
- package/dist/index.cjs.d.ts +1 -0
- package/dist/index.cjs.js +192 -95
- package/dist/index.d.ts +1 -0
- package/dist/index.es.d.ts +1 -0
- package/dist/index.es.js +7577 -7242
- package/dist/index.umd.js +192 -95
- package/dist/layoutSidebarButtons/index.cjs.js +1 -1
- package/dist/layoutSidebarButtons/index.es.js +156 -154
- package/dist/layoutSidebarButtons/index.umd.js +1 -1
- package/dist/presetPrintable/index.cjs.js +4 -4
- package/dist/presetPrintable/index.es.js +59 -59
- package/dist/presetPrintable/index.umd.js +1 -1
- package/dist/prosemirror/index.cjs.js +5 -5
- package/dist/prosemirror/index.es.js +100 -100
- package/dist/prosemirror/index.umd.js +1 -1
- package/dist/rteTinyMce/index.cjs.js +2 -2
- package/dist/rteTinyMce/index.es.js +10 -10
- package/dist/rteTinyMce/index.umd.js +1 -1
- package/dist/shapeDividerComponent/index.cjs.d.ts +3 -0
- package/dist/shapeDividerComponent/index.cjs.js +97 -0
- package/dist/shapeDividerComponent/index.d.ts +3 -0
- package/dist/shapeDividerComponent/index.es.d.ts +3 -0
- package/dist/shapeDividerComponent/index.es.js +427 -0
- package/dist/shapeDividerComponent/index.umd.js +97 -0
- package/dist/shapeDividerComponent/shared.d.ts +3 -0
- package/dist/shapeDividerComponent/types.d.ts +10 -0
- package/dist/shapeDividerComponent/typesSchema.d.ts +9 -0
- package/dist/swiperComponent/index.cjs.js +9 -9
- package/dist/swiperComponent/index.es.js +130 -122
- package/dist/swiperComponent/index.umd.js +5 -5
- package/dist/tableComponent/index.cjs.js +1 -1
- package/dist/tableComponent/index.es.js +9 -9
- package/dist/tableComponent/index.umd.js +1 -1
- package/dist/youtubeAssetProvider/index.cjs.js +1 -1
- package/dist/youtubeAssetProvider/index.es.js +34 -34
- package/dist/youtubeAssetProvider/index.umd.js +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var g = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(g || {}), h = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", 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.projectFiles = "studio:projectFiles", 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.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))(h || {});
|
|
2
|
-
const
|
|
3
|
-
|
|
1
|
+
var g = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(g || {}), h = /* @__PURE__ */ ((e) => (e.toastAdd = "studio:toastAdd", e.toastRemove = "studio:toastRemove", e.dialogOpen = "studio:dialogOpen", e.dialogClose = "studio:dialogClose", 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.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))(h || {});
|
|
2
|
+
const T = "app.grapesjs.com", A = "app-stage.grapesjs.com", I = "app2.grapesjs.com", k = "app-stage2.grapesjs.com", f = [
|
|
3
|
+
T,
|
|
4
4
|
I,
|
|
5
5
|
A,
|
|
6
6
|
k,
|
|
@@ -12,7 +12,7 @@ const P = "app.grapesjs.com", A = "app-stage.grapesjs.com", I = "app2.grapesjs.c
|
|
|
12
12
|
// For stackblitz.com demos
|
|
13
13
|
"-sandpack.codesandbox.io"
|
|
14
14
|
// For Sandpack demos
|
|
15
|
-
], U = "license:check:start", D = "license:check:end", x = () => typeof window < "u", G = ({ isDev: e, isStage: o }) => `${e ? "" : `https://${o ? A :
|
|
15
|
+
], U = "license:check:start", D = "license:check:end", x = () => typeof window < "u", G = ({ isDev: e, isStage: o }) => `${e ? "" : `https://${o ? A : T}`}/api`, O = () => {
|
|
16
16
|
const e = x() && window.location.hostname;
|
|
17
17
|
return !!e && (f.includes(e) || f.some((o) => e.endsWith(o)));
|
|
18
18
|
};
|
|
@@ -21,7 +21,7 @@ async function M({
|
|
|
21
21
|
baseApiUrl: o,
|
|
22
22
|
method: a = "GET",
|
|
23
23
|
headers: n = {},
|
|
24
|
-
params:
|
|
24
|
+
params: c,
|
|
25
25
|
body: u
|
|
26
26
|
}) {
|
|
27
27
|
const t = `${o || G({ isDev: !1, isStage: !1 })}${e}`, i = {
|
|
@@ -32,7 +32,7 @@ async function M({
|
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
u && (i.body = JSON.stringify(u));
|
|
35
|
-
const
|
|
35
|
+
const l = c ? new URLSearchParams(c).toString() : "", s = l ? `?${l}` : "", r = await fetch(`${t}${s}`, i);
|
|
36
36
|
if (!r.ok)
|
|
37
37
|
throw new Error(`HTTP error! status: ${r.status}`);
|
|
38
38
|
return r.json();
|
|
@@ -53,12 +53,12 @@ async function j({
|
|
|
53
53
|
plan: o,
|
|
54
54
|
pluginName: a,
|
|
55
55
|
licenseKey: n,
|
|
56
|
-
cleanup:
|
|
56
|
+
cleanup: c
|
|
57
57
|
}) {
|
|
58
58
|
let u = "", p = !1;
|
|
59
59
|
const t = O(), i = (s) => {
|
|
60
|
-
console.warn("Cleanup plugin:", a, "Reason:", s),
|
|
61
|
-
},
|
|
60
|
+
console.warn("Cleanup plugin:", a, "Reason:", s), c();
|
|
61
|
+
}, l = (s = {}) => {
|
|
62
62
|
var b;
|
|
63
63
|
const { error: r, sdkLicense: y } = s, d = (b = s.plan) == null ? void 0 : b.category;
|
|
64
64
|
if (!(y || s.license) || r)
|
|
@@ -71,13 +71,13 @@ async function j({
|
|
|
71
71
|
e.on(U, (s) => {
|
|
72
72
|
u = s == null ? void 0 : s.baseApiUrl, p = !0;
|
|
73
73
|
}), e.on(D, (s) => {
|
|
74
|
-
|
|
74
|
+
l(s);
|
|
75
75
|
}), setTimeout(async () => {
|
|
76
76
|
if (!p) {
|
|
77
77
|
if (t) return;
|
|
78
78
|
if (n) {
|
|
79
79
|
const s = await B({ licenseKey: n, pluginName: a, baseApiUrl: u });
|
|
80
|
-
s &&
|
|
80
|
+
s && l(s);
|
|
81
81
|
} else
|
|
82
82
|
i("The `licenseKey` option not provided");
|
|
83
83
|
}
|
|
@@ -95,53 +95,53 @@ async function B(e) {
|
|
|
95
95
|
pn: a
|
|
96
96
|
}
|
|
97
97
|
})).result || {};
|
|
98
|
-
} catch (
|
|
99
|
-
return console.error("Error during SDK license check:",
|
|
98
|
+
} catch (c) {
|
|
99
|
+
return console.error("Error during SDK license check:", c), !1;
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
const N = (e) => {
|
|
103
103
|
const o = {};
|
|
104
104
|
for (const a of Object.keys(e)) {
|
|
105
105
|
let n = e[a];
|
|
106
|
-
n && (Array.isArray(n) ? n = n.map((
|
|
106
|
+
n && (Array.isArray(n) ? n = n.map((c) => c.toString()).join(",") : n = n.toString(), o[a] = n);
|
|
107
107
|
}
|
|
108
108
|
return new URLSearchParams(o);
|
|
109
|
-
},
|
|
110
|
-
const { apiKey: o, searchParams: a, thumbnailQuality: n = "high" } = e,
|
|
111
|
-
const
|
|
112
|
-
return `${
|
|
109
|
+
}, P = "youtube-video", W = (e) => {
|
|
110
|
+
const { apiKey: o, searchParams: a, thumbnailQuality: n = "high" } = e, c = (t = {}) => {
|
|
111
|
+
const l = "https://www.googleapis.com/youtube/v3/search", s = N(t);
|
|
112
|
+
return `${l}?${s}`;
|
|
113
113
|
}, u = (t) => {
|
|
114
|
-
var i,
|
|
115
|
-
return ((i = t[n]) == null ? void 0 : i.url) || ((
|
|
114
|
+
var i, l, s;
|
|
115
|
+
return ((i = t[n]) == null ? void 0 : i.url) || ((l = t.high) == null ? void 0 : l.url) || ((s = t.medium) == null ? void 0 : s.url) || t.default.url;
|
|
116
116
|
}, p = (t) => {
|
|
117
117
|
const i = u(t.snippet.thumbnails);
|
|
118
118
|
return {
|
|
119
119
|
id: t.id.videoId,
|
|
120
120
|
src: `https://www.youtube.com/watch?v=${t.id.videoId}`,
|
|
121
121
|
name: t.snippet.title,
|
|
122
|
-
type:
|
|
122
|
+
type: P,
|
|
123
123
|
customData: { thumbnailUrl: i, videoItem: t }
|
|
124
124
|
};
|
|
125
125
|
};
|
|
126
126
|
return {
|
|
127
127
|
id: "youtube",
|
|
128
|
-
types: [
|
|
128
|
+
types: [P],
|
|
129
129
|
label: ({ editor: t }) => t.I18n.t("youtubeAssetProvider.providerLabel"),
|
|
130
130
|
search: { reloadOnInput: !0, debounceMs: 1e3 },
|
|
131
131
|
async onLoad({ searchValue: t, pageCustomData: i }) {
|
|
132
132
|
var b;
|
|
133
|
-
const
|
|
133
|
+
const l = {
|
|
134
134
|
maxResults: 25,
|
|
135
135
|
q: t,
|
|
136
136
|
pageToken: i == null ? void 0 : i.token,
|
|
137
137
|
type: ["video"],
|
|
138
138
|
key: o
|
|
139
139
|
}, s = a == null ? void 0 : a({ searchValue: t }), r = {
|
|
140
|
-
...
|
|
140
|
+
...l,
|
|
141
141
|
...s
|
|
142
142
|
};
|
|
143
143
|
r.part ? r.part.includes("snippet") || r.part.push("snippet") : r.part = ["snippet"];
|
|
144
|
-
const d = await (await fetch(
|
|
144
|
+
const d = await (await fetch(c(r))).json();
|
|
145
145
|
return (b = d.items) != null && b.length ? {
|
|
146
146
|
items: d.items.map(p),
|
|
147
147
|
nextPageCustomData: { token: d.nextPageToken },
|
|
@@ -164,8 +164,8 @@ const N = (e) => {
|
|
|
164
164
|
{
|
|
165
165
|
type: "custom",
|
|
166
166
|
render: () => {
|
|
167
|
-
var
|
|
168
|
-
return `<img src="${(
|
|
167
|
+
var l;
|
|
168
|
+
return `<img src="${(l = t.customData) == null ? void 0 : l.thumbnailUrl}" alt="${t.name}" style="width: 100%; height: 100px; object-fit: cover">`;
|
|
169
169
|
}
|
|
170
170
|
},
|
|
171
171
|
{
|
|
@@ -189,14 +189,14 @@ const N = (e) => {
|
|
|
189
189
|
providerLabel: "YouTube Videos"
|
|
190
190
|
}
|
|
191
191
|
}, _ = "youtubeAssetProvider", K = g.startup, F = function(e, o) {
|
|
192
|
-
var
|
|
193
|
-
const { skipVideoComponent: a, i18n: n = {} } = o,
|
|
194
|
-
e.runCommand(h.assetProviderAdd, { provider:
|
|
195
|
-
const u = "search-on-youtube", p = "video", t = (
|
|
192
|
+
var l;
|
|
193
|
+
const { skipVideoComponent: a, i18n: n = {} } = o, c = W(o);
|
|
194
|
+
e.runCommand(h.assetProviderAdd, { provider: c });
|
|
195
|
+
const u = "search-on-youtube", p = "video", t = (l = e.Components.getType(p)) == null ? void 0 : l.model.prototype, i = (s) => {
|
|
196
196
|
e.Assets.open({
|
|
197
197
|
modalTitle: e.I18n.t("youtubeAssetProvider.modalTitle"),
|
|
198
|
-
providerId:
|
|
199
|
-
typeId:
|
|
198
|
+
providerId: c.id,
|
|
199
|
+
typeId: c.types[0],
|
|
200
200
|
providers: [],
|
|
201
201
|
types: [],
|
|
202
202
|
select: (r) => {
|
|
@@ -244,7 +244,7 @@ const N = (e) => {
|
|
|
244
244
|
plan: K,
|
|
245
245
|
pluginName: _,
|
|
246
246
|
cleanup: () => {
|
|
247
|
-
e.runCommand(h.assetProviderRemove, { id:
|
|
247
|
+
e.runCommand(h.assetProviderRemove, { id: c.id }), !a && t && e.Components.addType(p, {
|
|
248
248
|
model: {
|
|
249
249
|
getYoutubeTraits() {
|
|
250
250
|
return t.getYoutubeTraits.apply(this).filter((s) => s.id !== u);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(u,b){typeof exports=="object"&&typeof module<"u"?module.exports=b():typeof define=="function"&&define.amd?define(b):(u=typeof globalThis<"u"?globalThis:u||self,u.StudioSdkPlugins_youtubeAssetProvider=b())})(this,function(){"use strict";var u=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(u||{}),b=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",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.projectFiles="studio:projectFiles",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.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||{});const y="app.grapesjs.com",f="app-stage.grapesjs.com",v=[y,"app2.grapesjs.com",f,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],w="license:check:start",L="license:check:end",I=()=>typeof window<"u",R=({isDev:e,isStage:o})=>`${e?"":`https://${o?f:y}`}/api`,k=()=>{const e=I()&&window.location.hostname;return!!e&&(v.includes(e)||v.some(o=>e.endsWith(o)))};async function D({path:e,baseApiUrl:o,method:a="GET",headers:n={},params:c,body:d}){const t=`${o||R({isDev:!1,isStage:!1})}${e}`,i={method:a,headers:{"Content-Type":"application/json",...n}};d&&(i.body=JSON.stringify(d));const l=c?new URLSearchParams(c).toString():"",s=l?`?${l}`:"",r=await fetch(`${t}${s}`,i);if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return r.json()}const
|
|
1
|
+
(function(u,b){typeof exports=="object"&&typeof module<"u"?module.exports=b():typeof define=="function"&&define.amd?define(b):(u=typeof globalThis<"u"?globalThis:u||self,u.StudioSdkPlugins_youtubeAssetProvider=b())})(this,function(){"use strict";var u=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(u||{}),b=(e=>(e.toastAdd="studio:toastAdd",e.toastRemove="studio:toastRemove",e.dialogOpen="studio:dialogOpen",e.dialogClose="studio:dialogClose",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.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||{});const y="app.grapesjs.com",f="app-stage.grapesjs.com",v=[y,"app2.grapesjs.com",f,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],w="license:check:start",L="license:check:end",I=()=>typeof window<"u",R=({isDev:e,isStage:o})=>`${e?"":`https://${o?f:y}`}/api`,k=()=>{const e=I()&&window.location.hostname;return!!e&&(v.includes(e)||v.some(o=>e.endsWith(o)))};async function D({path:e,baseApiUrl:o,method:a="GET",headers:n={},params:c,body:d}){const t=`${o||R({isDev:!1,isStage:!1})}${e}`,i={method:a,headers:{"Content-Type":"application/json",...n}};d&&(i.body=JSON.stringify(d));const l=c?new URLSearchParams(c).toString():"",s=l?`?${l}`:"",r=await fetch(`${t}${s}`,i);if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return r.json()}const P={[u.free]:0,[u.startup]:10,[u.business]:20,[u.enterprise]:30};function O(e){const o=e;return o.init=a=>n=>e(n,a),o}const x=e=>O(e);async function U({editor:e,plan:o,pluginName:a,licenseKey:n,cleanup:c}){let d="",p=!1;const t=k(),i=s=>{console.warn("Cleanup plugin:",a,"Reason:",s),c()},l=(s={})=>{var h;const{error:r,sdkLicense:A}=s,g=(h=s.plan)==null?void 0:h.category;if(!(A||s.license)||r)i(r||"Invalid license");else if(g){const _=P[o],W=P[g];_>W&&i({pluginRequiredPlan:o,licensePlan:g})}};e.on(w,s=>{d=s==null?void 0:s.baseApiUrl,p=!0}),e.on(L,s=>{l(s)}),setTimeout(async()=>{if(!p){if(t)return;if(n){const s=await G({licenseKey:n,pluginName:a,baseApiUrl:d});s&&l(s)}else i("The `licenseKey` option not provided")}},2e3)}async function G(e){const{licenseKey:o,pluginName:a,baseApiUrl:n}=e;try{return(await D({baseApiUrl:n,path:`/sdk/${o||"na"}`,method:"POST",params:{d:window.location.hostname,pn:a}})).result||{}}catch(c){return console.error("Error during SDK license check:",c),!1}}const M=e=>{const o={};for(const a of Object.keys(e)){let n=e[a];n&&(Array.isArray(n)?n=n.map(c=>c.toString()).join(","):n=n.toString(),o[a]=n)}return new URLSearchParams(o)},T="youtube-video",E=e=>{const{apiKey:o,searchParams:a,thumbnailQuality:n="high"}=e,c=(t={})=>{const l="https://www.googleapis.com/youtube/v3/search",s=M(t);return`${l}?${s}`},d=t=>{var i,l,s;return((i=t[n])==null?void 0:i.url)||((l=t.high)==null?void 0:l.url)||((s=t.medium)==null?void 0:s.url)||t.default.url},p=t=>{const i=d(t.snippet.thumbnails);return{id:t.id.videoId,src:`https://www.youtube.com/watch?v=${t.id.videoId}`,name:t.snippet.title,type:T,customData:{thumbnailUrl:i,videoItem:t}}};return{id:"youtube",types:[T],label:({editor:t})=>t.I18n.t("youtubeAssetProvider.providerLabel"),search:{reloadOnInput:!0,debounceMs:1e3},async onLoad({searchValue:t,pageCustomData:i}){var h;const l={maxResults:25,q:t,pageToken:i==null?void 0:i.token,type:["video"],key:o},s=a==null?void 0:a({searchValue:t}),r={...l,...s};r.part?r.part.includes("snippet")||r.part.push("snippet"):r.part=["snippet"];const g=await(await fetch(c(r))).json();return(h=g.items)!=null&&h.length?{items:g.items.map(p),nextPageCustomData:{token:g.nextPageToken},isLastPage:!g.nextPageToken}:{items:[],isLastPage:!0}},itemLayout:({assetProps:t,onSelect:i})=>({type:"column",onClick:()=>i(t),htmlAttrs:{title:t.name},style:{borderWidth:"1px",borderRadius:8,overflow:"hidden",cursor:"pointer"},children:[{type:"custom",render:()=>{var l;return`<img src="${(l=t.customData)==null?void 0:l.thumbnailUrl}" alt="${t.name}" style="width: 100%; height: 100px; object-fit: cover">`}},{type:"text",content:t.name,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",paddingLeft:8,paddingRight:8}}]})}},$={youtubeAssetProvider:{searchBtn:"Search on YouTube",modalTitle:"Select YouTube Video",providerLabel:"YouTube Videos"}},N="youtubeAssetProvider",j=u.startup;return x(function(e,o){var l;const{skipVideoComponent:a,i18n:n={}}=o,c=E(o);e.runCommand(b.assetProviderAdd,{provider:c});const d="search-on-youtube",p="video",t=(l=e.Components.getType(p))==null?void 0:l.model.prototype,i=s=>{e.Assets.open({modalTitle:e.I18n.t("youtubeAssetProvider.modalTitle"),providerId:c.id,typeId:c.types[0],providers:[],types:[],select:r=>{e.Assets.close(),s.set({videoId:r.attributes.id})},content:{header:{addUrl:!1,upload:!1}}})};!a&&t&&e.Components.addType(p,{model:{getYoutubeTraits(){const[s,...r]=t.getYoutubeTraits.apply(this);return[s,{id:d,type:"button",label:e.I18n.t("youtubeAssetProvider.searchBtn"),command:()=>i(this)},...r]}},view:{events:()=>({dblclick:"onActive"}),onActive(){const{model:s}=this,r=s.get("provider")||"";r!=null&&r.startsWith("yt")&&i(s)}}}),e.I18n.addMessages({en:$,...n}),U({editor:e,licenseKey:o.licenseKey,plan:j,pluginName:N,cleanup:()=>{e.runCommand(b.assetProviderRemove,{id:c.id}),!a&&t&&e.Components.addType(p,{model:{getYoutubeTraits(){return t.getYoutubeTraits.apply(this).filter(s=>s.id!==d)}}})}})})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grapesjs/studio-sdk-plugins",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.29",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"registry": "https://registry.npmjs.org"
|
|
6
6
|
},
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"test": "jest"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"grapesjs": "^0.22.
|
|
23
|
+
"grapesjs": "^0.22.13",
|
|
24
24
|
"jest-environment-jsdom": "^30.0.0-beta.3",
|
|
25
25
|
"tinymce": "^6.8.5",
|
|
26
26
|
"tsx": "^4.19.1",
|