@grapesjs/studio-sdk-plugins 1.0.38 → 1.0.39-rc.0

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 (158) hide show
  1. package/dist/accordionComponent/index.cjs.js +5 -5
  2. package/dist/accordionComponent/index.es.js +70 -67
  3. package/dist/accordionComponent/index.js +39 -0
  4. package/dist/accordionComponent/index.umd.js +4 -4
  5. package/dist/aiChat/components/AiChatHeader.d.ts +4 -5
  6. package/dist/aiChat/components/AiChatInput/index.d.ts +4 -5
  7. package/dist/aiChat/components/AiChatMessage.d.ts +7 -8
  8. package/dist/aiChat/components/index.d.ts +1 -1
  9. package/dist/aiChat/components/utils.d.ts +1 -1
  10. package/dist/aiChat/index.cjs.js +10 -376
  11. package/dist/aiChat/index.es.js +4569 -28851
  12. package/dist/aiChat/index.js +10 -376
  13. package/dist/aiChat/index.umd.js +11 -377
  14. package/dist/aiChat/server/index.cjs.d.ts +0 -1
  15. package/dist/aiChat/server/index.cjs.js +45 -45
  16. package/dist/aiChat/server/index.d.ts +0 -1
  17. package/dist/aiChat/server/index.es.d.ts +0 -1
  18. package/dist/aiChat/server/index.es.js +371 -427
  19. package/dist/aiChat/server/index.js +45 -45
  20. package/dist/aiChat/server/index.umd.js +41 -41
  21. package/dist/aiChat/server/stream.test.d.ts +1 -0
  22. package/dist/aiChat/types.d.ts +18 -4
  23. package/dist/aiChat/typesSchema.d.ts +13 -0
  24. package/dist/animationComponent/index.cjs.js +3 -3
  25. package/dist/animationComponent/index.es.js +49 -46
  26. package/dist/animationComponent/index.js +519 -0
  27. package/dist/animationComponent/index.umd.js +3 -3
  28. package/dist/canvasAbsoluteMode/index.cjs.js +1 -1
  29. package/dist/canvasAbsoluteMode/index.es.js +115 -112
  30. package/dist/canvasAbsoluteMode/index.js +1 -0
  31. package/dist/canvasAbsoluteMode/index.umd.js +1 -1
  32. package/dist/canvasEmptyState/index.cjs.js +1 -1
  33. package/dist/canvasEmptyState/index.es.js +71 -68
  34. package/dist/canvasEmptyState/index.js +1 -0
  35. package/dist/canvasEmptyState/index.umd.js +1 -1
  36. package/dist/canvasFullSize/index.cjs.js +3 -3
  37. package/dist/canvasFullSize/index.es.js +69 -66
  38. package/dist/canvasFullSize/index.js +10 -0
  39. package/dist/canvasFullSize/index.umd.js +4 -4
  40. package/dist/canvasGridMode/index.cjs.js +7 -7
  41. package/dist/canvasGridMode/index.es.js +142 -139
  42. package/dist/canvasGridMode/index.js +26 -0
  43. package/dist/canvasGridMode/index.umd.js +7 -7
  44. package/dist/canvasScreenshot/index.cjs.js +1 -1
  45. package/dist/canvasScreenshot/index.es.js +78 -75
  46. package/dist/canvasScreenshot/index.js +1 -0
  47. package/dist/canvasScreenshot/index.umd.js +1 -1
  48. package/dist/dataSourceEjs/EjsExporter.d.ts +1 -1
  49. package/dist/dataSourceEjs/index.cjs.js +3 -3
  50. package/dist/dataSourceEjs/index.es.js +40 -37
  51. package/dist/dataSourceEjs/index.js +21 -0
  52. package/dist/dataSourceEjs/index.umd.js +3 -3
  53. package/dist/dataSourceHandlebars/HandlebarsExporter.d.ts +2 -2
  54. package/dist/dataSourceHandlebars/constants.d.ts +1 -1
  55. package/dist/dataSourceHandlebars/index.cjs.js +4 -4
  56. package/dist/dataSourceHandlebars/index.es.js +58 -55
  57. package/dist/dataSourceHandlebars/index.js +10 -0
  58. package/dist/dataSourceHandlebars/index.umd.js +2 -2
  59. package/dist/dialogComponent/index.cjs.js +11 -11
  60. package/dist/dialogComponent/index.es.js +72 -69
  61. package/dist/dialogComponent/index.js +59 -0
  62. package/dist/dialogComponent/index.umd.js +11 -11
  63. package/dist/flexComponent/index.cjs.js +6 -6
  64. package/dist/flexComponent/index.es.js +151 -142
  65. package/dist/flexComponent/index.js +33 -0
  66. package/dist/flexComponent/index.umd.js +8 -8
  67. package/dist/flexComponent/typesSchema.d.ts +1 -1
  68. package/dist/fsLightboxComponent/index.cjs.js +3 -3
  69. package/dist/fsLightboxComponent/index.es.js +93 -90
  70. package/dist/fsLightboxComponent/index.js +6 -0
  71. package/dist/fsLightboxComponent/index.umd.js +3 -3
  72. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  73. package/dist/googleFontsAssetProvider/index.es.js +112 -109
  74. package/dist/googleFontsAssetProvider/index.js +1 -0
  75. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  76. package/dist/googleFontsAssetProvider/utils.d.ts +1 -1
  77. package/dist/iconifyComponent/index.cjs.js +2 -2
  78. package/dist/iconifyComponent/index.es.js +80 -77
  79. package/dist/iconifyComponent/index.js +3 -0
  80. package/dist/iconifyComponent/index.umd.js +2 -2
  81. package/dist/index.cjs.d.ts +1 -0
  82. package/dist/index.cjs.js +970 -82
  83. package/dist/index.d.ts +1 -0
  84. package/dist/index.es.d.ts +1 -0
  85. package/dist/index.es.js +7422 -6145
  86. package/dist/index.umd.js +975 -87
  87. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  88. package/dist/layoutSidebarButtons/index.es.js +95 -92
  89. package/dist/layoutSidebarButtons/index.js +1 -0
  90. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  91. package/dist/lightGalleryComponent/index.cjs.js +1 -1
  92. package/dist/lightGalleryComponent/index.es.js +164 -161
  93. package/dist/lightGalleryComponent/index.js +1 -0
  94. package/dist/lightGalleryComponent/index.umd.js +1 -1
  95. package/dist/lightGalleryComponent/utils.d.ts +1 -1
  96. package/dist/linkImageComponent/index.cjs.js +2 -2
  97. package/dist/linkImageComponent/index.es.js +60 -57
  98. package/dist/linkImageComponent/index.js +12 -0
  99. package/dist/linkImageComponent/index.umd.js +2 -2
  100. package/dist/listPagesComponent/index.cjs.js +4 -4
  101. package/dist/listPagesComponent/index.es.js +57 -54
  102. package/dist/listPagesComponent/index.js +11 -0
  103. package/dist/listPagesComponent/index.umd.js +4 -4
  104. package/dist/listPagesComponent/utils.d.ts +1 -1
  105. package/dist/presetBlockLibrary/blocks.d.ts +6 -0
  106. package/dist/presetBlockLibrary/blocks.test.d.ts +2 -0
  107. package/dist/presetBlockLibrary/emailBlocks.d.ts +53 -0
  108. package/dist/presetBlockLibrary/index.cjs.d.ts +3 -0
  109. package/dist/presetBlockLibrary/index.cjs.js +889 -0
  110. package/dist/presetBlockLibrary/index.d.ts +3 -0
  111. package/dist/presetBlockLibrary/index.es.d.ts +3 -0
  112. package/dist/presetBlockLibrary/index.es.js +1408 -0
  113. package/dist/presetBlockLibrary/index.js +889 -0
  114. package/dist/presetBlockLibrary/index.test.d.ts +1 -0
  115. package/dist/presetBlockLibrary/index.umd.js +889 -0
  116. package/dist/presetBlockLibrary/shared.d.ts +3 -0
  117. package/dist/presetBlockLibrary/types.d.ts +24 -0
  118. package/dist/presetBlockLibrary/typesSchema.d.ts +47 -0
  119. package/dist/presetPrintable/index.cjs.js +3 -3
  120. package/dist/presetPrintable/index.es.js +133 -130
  121. package/dist/presetPrintable/index.js +32 -0
  122. package/dist/presetPrintable/index.umd.js +4 -4
  123. package/dist/prosemirror/index.cjs.js +8 -8
  124. package/dist/prosemirror/index.es.js +552 -549
  125. package/dist/prosemirror/index.js +10 -0
  126. package/dist/prosemirror/index.umd.js +9 -9
  127. package/dist/prosemirror/toolbar.d.ts +2 -2
  128. package/dist/prosemirror/types.d.ts +5 -5
  129. package/dist/rendererReact/index.cjs.js +1 -1
  130. package/dist/rendererReact/index.es.js +137 -134
  131. package/dist/rendererReact/index.js +1 -1
  132. package/dist/rendererReact/index.umd.js +1 -1
  133. package/dist/rteTinyMce/index.cjs.js +2 -2
  134. package/dist/rteTinyMce/index.es.js +74 -71
  135. package/dist/rteTinyMce/index.js +104 -0
  136. package/dist/rteTinyMce/index.umd.js +2 -2
  137. package/dist/shapeDividerComponent/index.cjs.js +4 -4
  138. package/dist/shapeDividerComponent/index.es.js +91 -88
  139. package/dist/shapeDividerComponent/index.js +97 -0
  140. package/dist/shapeDividerComponent/index.umd.js +4 -4
  141. package/dist/swiperComponent/index.cjs.js +7 -7
  142. package/dist/swiperComponent/index.es.js +95 -92
  143. package/dist/swiperComponent/index.js +45 -0
  144. package/dist/swiperComponent/index.umd.js +5 -5
  145. package/dist/tableComponent/index.cjs.js +1 -1
  146. package/dist/tableComponent/index.es.js +181 -178
  147. package/dist/tableComponent/index.js +1 -0
  148. package/dist/tableComponent/index.umd.js +1 -1
  149. package/dist/tableComponent/types.d.ts +3 -3
  150. package/dist/types.d.ts +14 -14
  151. package/dist/utils.d.ts +3 -2
  152. package/dist/utilsDataSources.d.ts +1 -1
  153. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  154. package/dist/youtubeAssetProvider/index.es.js +90 -87
  155. package/dist/youtubeAssetProvider/index.js +1 -0
  156. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  157. package/package.json +182 -34
  158. package/dist/aiChat/server/models.d.ts +0 -15
@@ -1,8 +1,8 @@
1
- const re = "app.grapesjs.com", ce = "app-stage.grapesjs.com", ge = "app2.grapesjs.com", he = "app-stage2.grapesjs.com", ee = [
1
+ const re = "app.grapesjs.com", ce = "app-stage.grapesjs.com", he = "app2.grapesjs.com", be = "app-stage2.grapesjs.com", ee = [
2
2
  re,
3
- ge,
4
- ce,
5
3
  he,
4
+ ce,
5
+ be,
6
6
  "localhost",
7
7
  "127.0.0.1",
8
8
  ".local-credentialless.webcontainer.io",
@@ -15,12 +15,12 @@ const re = "app.grapesjs.com", ce = "app-stage.grapesjs.com", ge = "app2.grapesj
15
15
  // For Claude mcp app
16
16
  ".web-sandbox.oaiusercontent.com"
17
17
  // For OpenAI mcp app
18
- ], be = "license:check:end", de = () => typeof window < "u", ye = ({
18
+ ], de = "license:check:end", ye = () => typeof window < "u", me = ({
19
19
  isDev: e,
20
- isStage: l,
20
+ isStage: o,
21
21
  isPlatform: t
22
- }) => `${e ? "" : `https://${l ? ce : re}`}/${t ? "platform-api" : "api"}`, me = () => {
23
- if (!de()) return "";
22
+ }) => `${e ? "" : `https://${o ? ce : re}`}/${t ? "platform-api" : "api"}`, ve = () => {
23
+ if (!ye()) return "";
24
24
  const { hostname: e } = window.location;
25
25
  if (e) return e;
26
26
  try {
@@ -28,129 +28,132 @@ const re = "app.grapesjs.com", ce = "app-stage.grapesjs.com", ge = "app2.grapesj
28
28
  } catch {
29
29
  return "";
30
30
  }
31
- }, ve = () => {
32
- const e = me();
33
- return !!e && (ee.includes(e) || ee.some((l) => e.endsWith(l)));
31
+ }, fe = () => {
32
+ const e = ve();
33
+ return !!e && (ee.includes(e) || ee.some((o) => e.endsWith(o)));
34
34
  };
35
- async function fe({
35
+ async function Te({
36
36
  path: e,
37
- baseApiUrl: l,
37
+ baseApiUrl: o,
38
38
  method: t = "GET",
39
- headers: o = {},
40
- params: n,
41
- body: g
39
+ headers: l = {},
40
+ params: s,
41
+ body: p
42
42
  }) {
43
- const i = `${l || ye({ isDev: !1, isStage: !1 })}${e}`, u = {
43
+ const i = `${o || me({ isDev: !1, isStage: !1 })}${e}`, g = {
44
44
  method: t,
45
45
  headers: {
46
46
  "Content-Type": "application/json",
47
- ...o
47
+ ...l
48
48
  }
49
49
  };
50
- g && (u.body = JSON.stringify(g));
51
- const p = n ? new URLSearchParams(n).toString() : "", b = p ? `?${p}` : "", r = await fetch(`${i}${b}`, u);
50
+ p && (g.body = JSON.stringify(p));
51
+ const u = s ? new URLSearchParams(s).toString() : "", b = u ? `?${u}` : "", r = await fetch(`${i}${b}`, g);
52
52
  if (!r.ok)
53
53
  throw new Error(`HTTP error! status: ${r.status}`);
54
54
  return r.json();
55
55
  }
56
- var S = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(S || {}), Z = /* @__PURE__ */ ((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.openEditCode = "studio:openEditCode", 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.settings = "studio:settings", 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))(Z || {});
56
+ var S = /* @__PURE__ */ ((e) => (e.free = "free", e.startup = "startup", e.business = "business", e.enterprise = "enterprise", e))(S || {}), Z = /* @__PURE__ */ ((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.openEditCode = "studio:openEditCode", e.openBlocks = "studio:openBlocks", e.appendComponent = "studio:appendComponent", 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.settings = "studio:settings", 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))(Z || {});
57
57
  const te = {
58
58
  [S.free]: 0,
59
59
  [S.startup]: 10,
60
60
  [S.business]: 20,
61
61
  [S.enterprise]: 30
62
62
  };
63
- function Te(e) {
64
- const l = e;
65
- return l.init = (t) => (o) => e(o, t), l;
63
+ function we(e, o) {
64
+ const t = e;
65
+ return t.init = (l) => {
66
+ const s = (p) => e(p, l);
67
+ return s.__gjsPluginId = o, s;
68
+ }, t;
66
69
  }
67
- const we = (e) => /* @__PURE__ */ Te(e);
68
- async function xe({
70
+ const xe = (e, o) => /* @__PURE__ */ we(e, o);
71
+ async function Pe({
69
72
  editor: e,
70
- plan: l,
73
+ plan: o,
71
74
  pluginName: t,
72
- licenseKey: o,
73
- onLicenseCheckResponse: n,
74
- cleanup: g
75
+ licenseKey: l,
76
+ onLicenseCheckResponse: s,
77
+ cleanup: p
75
78
  }) {
76
79
  let c = "", i;
77
- const u = (r) => {
78
- console.warn("Cleanup plugin:", t, "Reason:", r), g();
79
- }, p = (r = {}) => {
80
- var G;
81
- const { error: I, sdkLicense: O } = r, T = (G = r.plan) == null ? void 0 : G.category;
82
- if (!(O || r.license) || I)
83
- u(I || "Invalid license");
80
+ const g = (r) => {
81
+ console.warn("Cleanup plugin:", t, "Reason:", r), p(e, t);
82
+ }, u = (r = {}) => {
83
+ var k;
84
+ const { error: L, sdkLicense: O } = r, T = (k = r.plan) == null ? void 0 : k.category;
85
+ if (!(O || r.license) || L)
86
+ g(L || "Invalid license");
84
87
  else if (T) {
85
- const M = te[l], _ = te[T];
86
- M > _ && u({ pluginRequiredPlan: l, licensePlan: T });
88
+ const M = te[o], _ = te[T];
89
+ M > _ && g({ pluginRequiredPlan: o, licensePlan: T });
87
90
  }
88
91
  };
89
92
  e.Commands.has(Z.settings) && (i = e.runCommand(Z.settings), c = (i == null ? void 0 : i.baseUrl) || "");
90
93
  const b = (r) => {
91
- n == null || n(r), r && p(r);
94
+ s == null || s(r), r && u(r);
92
95
  };
93
96
  if (!i) {
94
97
  e.onReady(async () => {
95
- if (!ve())
96
- if (o) {
97
- const r = await Ae({ licenseKey: o, pluginName: t, baseApiUrl: c });
98
+ if (!fe())
99
+ if (l) {
100
+ const r = await Ie({ licenseKey: l, pluginName: t, baseApiUrl: c });
98
101
  b(r);
99
102
  } else
100
- u("The `licenseKey` option not provided");
103
+ g("The `licenseKey` option not provided");
101
104
  });
102
105
  return;
103
106
  }
104
107
  if (i.licensePlan || i.licenseError) {
105
- const r = Pe(i);
108
+ const r = Ae(i);
106
109
  b(r);
107
110
  return;
108
111
  }
109
- e.on(be, (r) => b(r));
112
+ e.on(de, (r) => b(r));
110
113
  }
111
- const Pe = (e) => ({
114
+ const Ae = (e) => ({
112
115
  sdkLicense: e.license,
113
116
  license: e.license,
114
117
  error: e.licenseError,
115
118
  plan: e.licensePlan
116
119
  });
117
- async function Ae(e) {
118
- const { licenseKey: l, pluginName: t, baseApiUrl: o } = e;
120
+ async function Ie(e) {
121
+ const { licenseKey: o, pluginName: t, baseApiUrl: l } = e;
119
122
  try {
120
- return (await fe({
121
- baseApiUrl: o,
122
- path: `/sdk/${l || "na"}`,
123
+ return (await Te({
124
+ baseApiUrl: l,
125
+ path: `/sdk/${o || "na"}`,
123
126
  method: "POST",
124
127
  params: {
125
128
  d: window.location.hostname,
126
129
  pn: t
127
130
  }
128
131
  })).result || {};
129
- } catch (n) {
130
- return console.error("Error during SDK license check:", n), !1;
132
+ } catch (s) {
133
+ return console.error("Error during SDK license check:", s), !1;
131
134
  }
132
135
  }
133
- const z = (e, l) => {
136
+ const z = (e, o) => {
134
137
  var t;
135
- return !!((t = e == null ? void 0 : e.hasAttribute) != null && t.call(e, l));
136
- }, Le = "lightGalleryComponent", Ie = S.startup;
138
+ return !!((t = e == null ? void 0 : e.hasAttribute) != null && t.call(e, o));
139
+ }, pe = "lightGalleryComponent", Le = S.startup;
137
140
  var E = /* @__PURE__ */ ((e) => (e.image = "image", e.video = "video", e.external = "external", e))(E || {});
138
- const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-item`, N = "toggle", L = {
141
+ const A = "lightGallery", ae = `${A}-item`, U = "data-lightgallery", oe = `${U}-item`, N = "toggle", I = {
139
142
  image: '<svg viewBox="0 0 24 24"><path d="m8.5 13.5 2.5 3 3.5-4.5 4.5 6H5m16 1V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2Z"/></svg>',
140
143
  video: '<svg viewBox="0 0 24 24"><path d="M17 10.5V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-3.5l4 4v-11l-4 4Z"/></svg>',
141
144
  gallery: '<svg viewBox="0 0 24 24"><path d="M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M19,15V7L15,11L13,9L7,15H19M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5Z" /></svg>',
142
145
  galleryItem: '<svg viewBox="0 0 24 24"><path d="M20 2H4a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2M8 14H6v-2h2v2m0-3H6V9h2v2m0-3H6V6h2v2m7 6h-5v-2h5v2m3-3h-8V9h8v2m0-3h-8V6h8v2Z"/></svg>',
143
146
  external: '<svg viewBox="0 0 24 24"><path d="M14 3v2h3.6l-9.8 9.8 1.4 1.4L19 6.4V10h2V3m-2 16H5V5h7V3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2v-7h-2v7z"/></svg>',
144
147
  eye: '<svg viewBox="0 0 24 24"><path d="M12 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0 8a5 5 0 0 1-5-5 5 5 0 0 1 5-5 5 5 0 0 1 5 5 5 5 0 0 1-5 5m0-12.5C7 4.5 2.7 7.6 1 12a11.8 11.8 0 0 0 22 0c-1.7-4.4-6-7.5-11-7.5Z"/></svg>'
145
- }, F = { propKeys: [], props: {}, traits: [] }, V = (e, l = {}) => {
146
- var n;
147
- const t = {}, o = [];
148
- for (const g in e) {
149
- const { value: c, ...i } = e[g];
150
- o.push({ id: g, name: g, changeProp: !0, category: l.category, ...i }), t[g] = c;
151
- const { subTraits: u = {} } = i;
152
- for (const p in i.subTraits)
153
- (n = u[p]) == null || n.forEach((b) => {
148
+ }, F = { propKeys: [], props: {}, traits: [] }, V = (e, o = {}) => {
149
+ var s;
150
+ const t = {}, l = [];
151
+ for (const p in e) {
152
+ const { value: c, ...i } = e[p];
153
+ l.push({ id: p, name: p, changeProp: !0, category: o.category, ...i }), t[p] = c;
154
+ const { subTraits: g = {} } = i;
155
+ for (const u in i.subTraits)
156
+ (s = g[u]) == null || s.forEach((b) => {
154
157
  const r = b.id || b.name;
155
158
  t[r] = b.value;
156
159
  });
@@ -158,30 +161,30 @@ const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-
158
161
  return {
159
162
  propKeys: Object.keys(t),
160
163
  props: t,
161
- traits: o
164
+ traits: l
162
165
  };
163
- }, q = (e, l) => {
164
- const t = e.getTrait(l), o = t.get("category"), n = t.get("subTraits") || {}, c = (Object.values(n).flat() || []).map((p) => p.id || p.name);
166
+ }, q = (e, o) => {
167
+ const t = e.getTrait(o), l = t.get("category"), s = t.get("subTraits") || {}, c = (Object.values(s).flat() || []).map((u) => u.id || u.name);
165
168
  e.removeTrait(c);
166
- const i = n[t.getValue()], u = e.getTraitIndex(l) + 1;
169
+ const i = s[t.getValue()], g = e.getTraitIndex(o) + 1;
167
170
  i && e.addTrait(
168
- i.map((p) => ({ category: o, ...p })),
169
- { at: u }
171
+ i.map((u) => ({ category: l, ...u })),
172
+ { at: g }
170
173
  );
171
- }, W = (e, l) => {
172
- l.forEach((t) => {
173
- const o = e.getTrait(t);
174
- if (!o || !o.get("subTraits")) return;
175
- const n = o.changeProp ? `change:${t}` : `change:attributes:${t}`;
176
- e.on(n, () => q(e, t)), q(e, t);
174
+ }, W = (e, o) => {
175
+ o.forEach((t) => {
176
+ const l = e.getTrait(t);
177
+ if (!l || !l.get("subTraits")) return;
178
+ const s = l.changeProp ? `change:${t}` : `change:attributes:${t}`;
179
+ e.on(s, () => q(e, t)), q(e, t);
177
180
  });
178
- }, Ge = (e, l, t) => {
179
- const n = e.getTrait(l).get("subTraits") || {}, c = (Object.values(n).flat() || []).map((u) => {
180
- const p = u.name || u.id;
181
- return u.changeProp ? `change:${p}` : `change:attributes:${p}`;
181
+ }, ke = (e, o, t) => {
182
+ const s = e.getTrait(o).get("subTraits") || {}, c = (Object.values(s).flat() || []).map((g) => {
183
+ const u = g.name || g.id;
184
+ return g.changeProp ? `change:${u}` : `change:attributes:${u}`;
182
185
  }), i = Array.from(new Set(c));
183
186
  i.length && e.on(i.join(" "), t);
184
- }, ke = {
187
+ }, Ge = {
185
188
  // startAnimationDuration: {
186
189
  // type: 'number',
187
190
  // label: 'Start duration',
@@ -193,9 +196,9 @@ const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-
193
196
  [N]: {
194
197
  type: "button",
195
198
  label: "Toggle Gallery",
196
- command: (e, l) => {
197
- var t, o;
198
- return (o = (t = l.target) == null ? void 0 : t.getView()) == null ? void 0 : o.toggleGallery();
199
+ command: (e, o) => {
200
+ var t, l;
201
+ return (l = (t = o.target) == null ? void 0 : t.getView()) == null ? void 0 : l.toggleGallery();
199
202
  }
200
203
  },
201
204
  speed: {
@@ -503,7 +506,7 @@ const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-
503
506
  ]
504
507
  }
505
508
  }
506
- }, f = "sourceType", U = "data-iframe", C = {
509
+ }, f = "sourceType", j = "data-iframe", C = {
507
510
  name: "href",
508
511
  type: "file",
509
512
  label: "Image Source"
@@ -519,7 +522,7 @@ const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-
519
522
  name: "data-src",
520
523
  label: "External Source",
521
524
  placeholder: "https://some-external-source.com/...."
522
- }, pe = {
525
+ }, ue = {
523
526
  label: "Caption",
524
527
  name: "data-sub-html",
525
528
  placeholder: "My caption",
@@ -528,12 +531,12 @@ const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-
528
531
  [N]: {
529
532
  type: "button",
530
533
  label: "Toggle Gallery",
531
- command: (e, l) => {
532
- var n, g;
533
- const t = l.target, o = (n = t == null ? void 0 : t.closestType(A)) == null ? void 0 : n.getView();
534
- if (o && t) {
535
- const c = ((g = o.getLightGallery()) == null ? void 0 : g.items) || [], i = Array.from(c).indexOf(t.getEl());
536
- i >= 0 && o.toggleGallery(i);
534
+ command: (e, o) => {
535
+ var s, p;
536
+ const t = o.target, l = (s = t == null ? void 0 : t.closestType(A)) == null ? void 0 : s.getView();
537
+ if (l && t) {
538
+ const c = ((p = l.getLightGallery()) == null ? void 0 : p.items) || [], i = Array.from(c).indexOf(t.getEl());
539
+ i >= 0 && l.toggleGallery(i);
537
540
  }
538
541
  }
539
542
  },
@@ -548,36 +551,36 @@ const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-
548
551
  external: [le]
549
552
  },
550
553
  options: [
551
- { id: "image", label: C.label || "", icon: L.image },
552
- { id: "video", label: H.label || "", icon: L.video },
553
- { id: "external", label: le.label || "", icon: L.external }
554
+ { id: "image", label: C.label || "", icon: I.image },
555
+ { id: "video", label: H.label || "", icon: I.video },
556
+ { id: "external", label: le.label || "", icon: I.external }
554
557
  ]
555
558
  },
556
- subHtml: pe
559
+ subHtml: ue
557
560
  // This unfortuntaly breaks other thumbnails
558
561
  // customThumb: traitCustomThumb
559
- }, se = "lgThumbnail", De = "lgVideo", ne = "lgAutoplay", ie = "lgZoom", k = "https://cdn.jsdelivr.net/npm/lightgallery@2.8.2", Ve = function(e, l = {}) {
560
- const { Blocks: t, Components: o } = e, n = "LightGallery", g = "LightGallery Item", c = {
561
- toolbarIconOpen: L.eye,
562
+ }, se = "lgThumbnail", De = "lgVideo", ne = "lgAutoplay", ie = "lgZoom", G = "https://cdn.jsdelivr.net/npm/lightgallery@2.8.2", Ve = function(e, o = {}) {
563
+ const { Blocks: t, Components: l } = e, s = "LightGallery", p = "LightGallery Item", c = {
564
+ toolbarIconOpen: I.eye,
562
565
  block: {},
563
566
  lgLicenseKey: "92DE1DB8-7986-4F02-B908-514F97678D28",
564
567
  defaultSrc: "https://placehold.co/200/777/white.png?text=Image",
565
568
  plugins: [se, De, ne, ie],
566
569
  cdnScript: [
567
- `${k}/lightgallery.min.js`,
568
- `${k}/plugins/thumbnail/lg-thumbnail.min.js`,
569
- `${k}/plugins/video/lg-video.min.js`,
570
- `${k}/plugins/autoplay/lg-autoplay.min.js`,
571
- `${k}/plugins/zoom/lg-zoom.min.js`
570
+ `${G}/lightgallery.min.js`,
571
+ `${G}/plugins/thumbnail/lg-thumbnail.min.js`,
572
+ `${G}/plugins/video/lg-video.min.js`,
573
+ `${G}/plugins/autoplay/lg-autoplay.min.js`,
574
+ `${G}/plugins/zoom/lg-zoom.min.js`
572
575
  ],
573
- cdnStyle: `${k}/css/lightgallery-bundle.min.css`,
574
- ...l
575
- }, { block: i, toolbarIconOpen: u, defaultSrc: p } = c, b = function(a) {
576
- const s = this, h = window, { plugins: y, cdnScript: w, cdnStyle: D, inline: Q, lgLicenseKey: ue, ...m } = a || {}, x = (d) => isNaN(d) ? void 0 : parseInt(d, 10), X = () => {
576
+ cdnStyle: `${G}/css/lightgallery-bundle.min.css`,
577
+ ...o
578
+ }, { block: i, toolbarIconOpen: g, defaultSrc: u } = c, b = function(a) {
579
+ const n = this, h = window, { plugins: y, cdnScript: w, cdnStyle: D, inline: Q, lgLicenseKey: ge, ...m } = a || {}, x = (d) => isNaN(d) ? void 0 : parseInt(d, 10), X = () => {
577
580
  var B;
578
581
  const d = {
579
582
  ...m,
580
- licenseKey: ue,
583
+ licenseKey: ge,
581
584
  speed: x(m.speed),
582
585
  startAnimationDuration: x(m.startAnimationDuration),
583
586
  thumbMargin: x(m.thumbMargin),
@@ -587,8 +590,8 @@ const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-
587
590
  enableZoomAfter: x(m.enableZoomAfter),
588
591
  plugins: (y || []).map(($) => h[$])
589
592
  };
590
- Q && (d.container = s, d.closable = !1);
591
- const K = (B = h.lightGallery) == null ? void 0 : B.call(h, s, d);
593
+ Q && (d.container = n, d.closable = !1);
594
+ const K = (B = h.lightGallery) == null ? void 0 : B.call(h, n, d);
592
595
  Q && K.openGallery();
593
596
  };
594
597
  if (h.lightGallery)
@@ -609,33 +612,33 @@ const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-
609
612
  $(B), Y(K);
610
613
  }
611
614
  }, r = (a) => {
612
- const s = a.getTrait(N);
613
- if (!u || !s) return;
615
+ const n = a.getTrait(N);
616
+ if (!g || !n) return;
614
617
  const { toolbar: h } = a, y = {
615
618
  id: N,
616
- label: u,
617
- command: () => setTimeout(() => s.runCommand(), 100)
619
+ label: g,
620
+ command: () => setTimeout(() => n.runCommand(), 100)
618
621
  };
619
622
  !h.find((D) => D.id === y.id) && (h == null || h.unshift(y));
620
623
  };
621
- let I = [];
622
- const O = c.plugins || [], T = V(ke), R = O.includes(se) ? V(Ee) : F, G = O.includes(ne) ? V(Se) : F, M = O.includes(ie) ? V(Oe) : F;
623
- o.addType(A, {
624
+ let L = [];
625
+ const O = c.plugins || [], T = V(Ge), R = O.includes(se) ? V(Ee) : F, k = O.includes(ne) ? V(Se) : F, M = O.includes(ie) ? V(Oe) : F;
626
+ l.addType(A, {
624
627
  block: i && {
625
- label: n,
626
- media: L.gallery,
628
+ label: s,
629
+ media: I.gallery,
627
630
  category: "Extra",
628
631
  select: !0,
629
632
  ...c.block
630
633
  },
631
- isComponent: (a) => z(a, j),
634
+ isComponent: (a) => z(a, U),
632
635
  extendFn: ["init", "initToolbar"],
633
636
  model: {
634
637
  defaults: {
635
- name: n,
636
- icon: L.gallery,
637
- draggable: (a, s) => !s.is(A),
638
- attributes: { [j]: !0 },
638
+ name: s,
639
+ icon: I.gallery,
640
+ draggable: (a, n) => !n.is(A),
641
+ attributes: { [U]: !0 },
639
642
  components: { type: ae },
640
643
  script: b,
641
644
  selector: "",
@@ -653,14 +656,14 @@ const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-
653
656
  "exThumbImage",
654
657
  ...T.propKeys,
655
658
  ...R.propKeys,
656
- ...G.propKeys,
659
+ ...k.propKeys,
657
660
  ...M.propKeys
658
661
  ],
659
662
  ...T.props,
660
663
  ...R.props,
661
- ...G.props,
664
+ ...k.props,
662
665
  ...M.props,
663
- traits: [...T.traits, ...R.traits, ...G.traits, ...M.traits]
666
+ traits: [...T.traits, ...R.traits, ...k.traits, ...M.traits]
664
667
  },
665
668
  init() {
666
669
  W(this, ["thumbnail"]), W(this, ["autoplay"]), W(this, ["zoom"]);
@@ -678,7 +681,7 @@ const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-
678
681
  lgAfterClose: "onLgClose"
679
682
  }),
680
683
  init() {
681
- this.listenTo(this.model, o.events.scriptUnmount, this.destroyLightGallery);
684
+ this.listenTo(this.model, l.events.scriptUnmount, this.destroyLightGallery);
682
685
  },
683
686
  getLightGallery() {
684
687
  return this.el.__lg;
@@ -692,84 +695,84 @@ const A = "lightGallery", ae = `${A}-item`, j = "data-lightgallery", oe = `${j}-
692
695
  a.lgOpened = !0;
693
696
  },
694
697
  isInlineGallery() {
695
- var s;
698
+ var n;
696
699
  const a = this.getLightGallery();
697
- return ((s = a == null ? void 0 : a.settings) == null ? void 0 : s.container) === this.el;
700
+ return ((n = a == null ? void 0 : a.settings) == null ? void 0 : n.container) === this.el;
698
701
  },
699
702
  onLgInit(a) {
700
703
  this.el.__lg = a.detail.instance, !this.isInlineGallery() && this.disableLgInCanvas();
701
704
  },
702
705
  onLgOpen() {
703
- const { em: a } = this, { Canvas: s } = a, h = this.getLightGallery();
704
- I = s.getSpots(), setTimeout(() => s.removeSpots()), h.__lgOpened = !0;
706
+ const { em: a } = this, { Canvas: n } = a, h = this.getLightGallery();
707
+ L = n.getSpots(), setTimeout(() => n.removeSpots()), h.__lgOpened = !0;
705
708
  },
706
709
  onLgClose() {
707
710
  const a = this.getLightGallery();
708
- I.forEach((s) => this.em.Canvas.addSpot(s.attributes)), I = [], a.__lgOpened = !1, setTimeout(() => this.disableLgInCanvas());
711
+ L.forEach((n) => this.em.Canvas.addSpot(n.attributes)), L = [], a.__lgOpened = !1, setTimeout(() => this.disableLgInCanvas());
709
712
  },
710
713
  toggleGallery(a) {
711
- const s = this.getLightGallery();
712
- if (s.__lgOpened) return s.closeGallery(!0);
713
- s.lgOpened = !1, s.openGallery(a);
714
+ const n = this.getLightGallery();
715
+ if (n.__lgOpened) return n.closeGallery(!0);
716
+ n.lgOpened = !1, n.openGallery(a);
714
717
  }
715
718
  }
716
719
  });
717
720
  const _ = V(Me);
718
- o.addType(ae, {
719
- isComponent: (a) => z(a, oe) || a.tagName === "A" && z(a.parentElement, j),
721
+ l.addType(ae, {
722
+ isComponent: (a) => z(a, oe) || a.tagName === "A" && z(a.parentElement, U),
720
723
  extendFn: ["init", "initToolbar"],
721
724
  model: {
722
725
  defaults: {
723
726
  tagName: "a",
724
- name: g,
725
- icon: L.galleryItem,
726
- attributes: { [oe]: !0, href: p },
727
- components: { type: "image", attributes: { alt: "Image", src: p } },
727
+ name: p,
728
+ icon: I.galleryItem,
729
+ attributes: { [oe]: !0, href: u },
730
+ components: { type: "image", attributes: { alt: "Image", src: u } },
728
731
  ..._.props,
729
732
  traits: [..._.traits]
730
733
  },
731
734
  init() {
732
- const a = [f].map((s) => `change:${s}`).join(" ");
733
- this.initSourceType(), this.on(a, this.updateTraits), this.updateTraits({ init: !0 }), this.initScriptUpdate(), Ge(this, f, this.triggerGalleryUpdate);
735
+ const a = [f].map((n) => `change:${n}`).join(" ");
736
+ this.initSourceType(), this.on(a, this.updateTraits), this.updateTraits({ init: !0 }), this.initScriptUpdate(), ke(this, f, this.triggerGalleryUpdate);
734
737
  },
735
738
  initToolbar() {
736
739
  r(this);
737
740
  },
738
741
  initScriptUpdate() {
739
- const a = [pe.name].map((s) => `change:attributes:${s}`).join(" ");
742
+ const a = [ue.name].map((n) => `change:attributes:${n}`).join(" ");
740
743
  this.on(a, this.triggerGalleryUpdate);
741
744
  },
742
745
  triggerGalleryUpdate(...a) {
743
- var s;
744
- (s = this.closestType(A)) == null || s.__scriptPropsChange(...a);
746
+ var n;
747
+ (n = this.closestType(A)) == null || n.__scriptPropsChange(...a);
745
748
  },
746
749
  updateTraits(a = {}) {
747
- const { changed: s } = this, { init: h } = a;
748
- if (s[f] || h) {
750
+ const { changed: n } = this, { init: h } = a;
751
+ if (n[f] || h) {
749
752
  q(this, f);
750
753
  const y = this.getTrait(f).getValue();
751
754
  if (y === E.image) {
752
- this.removeAttributes([H.name, J.name, U]);
755
+ this.removeAttributes([H.name, J.name, j]);
753
756
  const w = this.getTrait(C.name);
754
- w.setValue(w.getValue() || p);
755
- } else y === E.video ? this.removeAttributes([U]) : y === E.external && this.addAttributes({ [U]: !0 });
757
+ w.setValue(w.getValue() || u);
758
+ } else y === E.video ? this.removeAttributes([j]) : y === E.external && this.addAttributes({ [j]: !0 });
756
759
  }
757
760
  },
758
761
  initSourceType() {
759
762
  const a = this.getAttributes({ noClass: !0, noStyle: !0 });
760
- a[U] ? this.set(f, E.external) : (a[H.name] || a[J.name]) && this.set(f, E.video);
763
+ a[j] ? this.set(f, E.external) : (a[H.name] || a[J.name]) && this.set(f, E.video);
761
764
  }
762
765
  }
763
- }), xe({
766
+ }), Pe({
764
767
  editor: e,
765
- plan: Ie,
768
+ plan: Le,
766
769
  licenseKey: c.licenseKey,
767
- pluginName: Le,
770
+ pluginName: pe,
768
771
  cleanup: () => {
769
- t.remove(A), o.removeType(A);
772
+ t.remove(A), l.removeType(A);
770
773
  }
771
774
  });
772
- }, Re = we(Ve);
775
+ }, Re = xe(Ve, pe);
773
776
  export {
774
777
  Re as default
775
778
  };
@@ -0,0 +1 @@
1
+ "use strict";const re="app.grapesjs.com",ce="app-stage.grapesjs.com",he="app2.grapesjs.com",be="app-stage2.grapesjs.com",ee=[re,he,ce,be,"localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io",".claudemcpcontent.com",".web-sandbox.oaiusercontent.com"],de="license:check:end",ye=()=>typeof window<"u",me=({isDev:e,isStage:o,isPlatform:t})=>`${e?"":`https://${o?ce:re}`}/${t?"platform-api":"api"}`,ve=()=>{if(!ye())return"";const{hostname:e}=window.location;if(e)return e;try{return window.parent.location.hostname||""}catch{return""}},fe=()=>{const e=ve();return!!e&&(ee.includes(e)||ee.some(o=>e.endsWith(o)))};async function Te({path:e,baseApiUrl:o,method:t="GET",headers:l={},params:s,body:p}){const i=`${o||me({isDev:!1,isStage:!1})}${e}`,g={method:t,headers:{"Content-Type":"application/json",...l}};p&&(g.body=JSON.stringify(p));const u=s?new URLSearchParams(s).toString():"",b=u?`?${u}`:"",r=await fetch(`${i}${b}`,g);if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return r.json()}var S=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(S||{}),Z=(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.openEditCode="studio:openEditCode",e.openBlocks="studio:openBlocks",e.appendComponent="studio:appendComponent",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.settings="studio:settings",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))(Z||{});const te={[S.free]:0,[S.startup]:10,[S.business]:20,[S.enterprise]:30};function we(e,o){const t=e;return t.init=l=>{const s=p=>e(p,l);return s.__gjsPluginId=o,s},t}const xe=(e,o)=>we(e,o);async function Pe({editor:e,plan:o,pluginName:t,licenseKey:l,onLicenseCheckResponse:s,cleanup:p}){let c="",i;const g=r=>{console.warn("Cleanup plugin:",t,"Reason:",r),p(e,t)},u=(r={})=>{var k;const{error:L,sdkLicense:O}=r,T=(k=r.plan)==null?void 0:k.category;if(!(O||r.license)||L)g(L||"Invalid license");else if(T){const M=te[o],_=te[T];M>_&&g({pluginRequiredPlan:o,licensePlan:T})}};e.Commands.has(Z.settings)&&(i=e.runCommand(Z.settings),c=(i==null?void 0:i.baseUrl)||"");const b=r=>{s==null||s(r),r&&u(r)};if(!i){e.onReady(async()=>{if(!fe())if(l){const r=await Ie({licenseKey:l,pluginName:t,baseApiUrl:c});b(r)}else g("The `licenseKey` option not provided")});return}if(i.licensePlan||i.licenseError){const r=Ae(i);b(r);return}e.on(de,r=>b(r))}const Ae=e=>({sdkLicense:e.license,license:e.license,error:e.licenseError,plan:e.licensePlan});async function Ie(e){const{licenseKey:o,pluginName:t,baseApiUrl:l}=e;try{return(await Te({baseApiUrl:l,path:`/sdk/${o||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(s){return console.error("Error during SDK license check:",s),!1}}const z=(e,o)=>{var t;return!!((t=e==null?void 0:e.hasAttribute)!=null&&t.call(e,o))},pe="lightGalleryComponent",Le=S.startup;var E=(e=>(e.image="image",e.video="video",e.external="external",e))(E||{});const A="lightGallery",ae=`${A}-item`,U="data-lightgallery",oe=`${U}-item`,N="toggle",I={image:'<svg viewBox="0 0 24 24"><path d="m8.5 13.5 2.5 3 3.5-4.5 4.5 6H5m16 1V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2Z"/></svg>',video:'<svg viewBox="0 0 24 24"><path d="M17 10.5V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-3.5l4 4v-11l-4 4Z"/></svg>',gallery:'<svg viewBox="0 0 24 24"><path d="M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M19,15V7L15,11L13,9L7,15H19M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5Z" /></svg>',galleryItem:'<svg viewBox="0 0 24 24"><path d="M20 2H4a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2M8 14H6v-2h2v2m0-3H6V9h2v2m0-3H6V6h2v2m7 6h-5v-2h5v2m3-3h-8V9h8v2m0-3h-8V6h8v2Z"/></svg>',external:'<svg viewBox="0 0 24 24"><path d="M14 3v2h3.6l-9.8 9.8 1.4 1.4L19 6.4V10h2V3m-2 16H5V5h7V3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2v-7h-2v7z"/></svg>',eye:'<svg viewBox="0 0 24 24"><path d="M12 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0 8a5 5 0 0 1-5-5 5 5 0 0 1 5-5 5 5 0 0 1 5 5 5 5 0 0 1-5 5m0-12.5C7 4.5 2.7 7.6 1 12a11.8 11.8 0 0 0 22 0c-1.7-4.4-6-7.5-11-7.5Z"/></svg>'},F={propKeys:[],props:{},traits:[]},V=(e,o={})=>{var s;const t={},l=[];for(const p in e){const{value:c,...i}=e[p];l.push({id:p,name:p,changeProp:!0,category:o.category,...i}),t[p]=c;const{subTraits:g={}}=i;for(const u in i.subTraits)(s=g[u])==null||s.forEach(b=>{const r=b.id||b.name;t[r]=b.value})}return{propKeys:Object.keys(t),props:t,traits:l}},q=(e,o)=>{const t=e.getTrait(o),l=t.get("category"),s=t.get("subTraits")||{},c=(Object.values(s).flat()||[]).map(u=>u.id||u.name);e.removeTrait(c);const i=s[t.getValue()],g=e.getTraitIndex(o)+1;i&&e.addTrait(i.map(u=>({category:l,...u})),{at:g})},W=(e,o)=>{o.forEach(t=>{const l=e.getTrait(t);if(!l||!l.get("subTraits"))return;const s=l.changeProp?`change:${t}`:`change:attributes:${t}`;e.on(s,()=>q(e,t)),q(e,t)})},ke=(e,o,t)=>{const s=e.getTrait(o).get("subTraits")||{},c=(Object.values(s).flat()||[]).map(g=>{const u=g.name||g.id;return g.changeProp?`change:${u}`:`change:attributes:${u}`}),i=Array.from(new Set(c));i.length&&e.on(i.join(" "),t)},Ge={[N]:{type:"button",label:"Toggle Gallery",command:(e,o)=>{var t,l;return(l=(t=o.target)==null?void 0:t.getView())==null?void 0:l.toggleGallery()}},speed:{type:"number",label:"Speed",tip:"Transition duration between slides (in ms)",value:400,step:50,min:0},inline:{type:"checkbox",label:"Inline Gallery",value:!1},allowMediaOverlap:{type:"checkbox",label:"Allow media overlap",tip:"If enabled, toolbar, captions and thumbnails will overlap with the media element",value:!1},controls:{type:"checkbox",label:"Show controls",tip:"If disabled, prev/next buttons will not be displayed",value:!0},counter:{type:"checkbox",label:"Show counter",tip:"Display the total number of images and index number of the currently displayed slide",value:!0},download:{type:"checkbox",label:"Download icon",tip:"Enable download button",value:!0},enableDrag:{type:"checkbox",label:"Enable drag",tip:"Enables desktop mouse drag support",value:!0},enableSwipe:{type:"checkbox",label:"Enable swipe",tip:"Enables swipe support for mobile devices",value:!0},escKey:{type:"checkbox",label:"Enable Esc key",tip:'Whether the gallery could be closed by pressing the "Esc" key',value:!0},keyPress:{type:"checkbox",label:"Enable keyboard navigation",value:!1},loop:{type:"checkbox",label:"Loop",tip:"If false, will disable the ability to loop back to the beginning of the gallery from the last slide",value:!0},getCaptionFromTitleOrAlt:{type:"checkbox",label:"Caption from title or alt",tip:"Get captions from alt or title tags",value:!0},showMaximizeIcon:{type:"checkbox",label:"Show maximize icon",value:!1},closable:{type:"checkbox",label:"Closable",tip:"If false, it won't be possible to close the gallery",value:!0},showCloseIcon:{type:"checkbox",label:"Show close icon",tip:"If false, close button won't be displayed.",visible:({component:e})=>!!e.getTrait("closable").getValue(),value:!0},closeOnTap:{type:"checkbox",label:"Close on tap",tip:"Allows clicks on black area to close gallery",visible:({component:e})=>!!e.getTrait("closable").getValue(),value:!0}},Ee={thumbnail:{category:{id:"thumbnail-options",label:"Thumbnail Options"},type:"checkbox",label:"Thumbnails",value:!0,subTraits:{false:[],true:[{type:"checkbox",name:"enableThumbDrag",label:"Thumbnail drag",tip:"Enable thumbnail drag on desktop",changeProp:!0,value:!0},{type:"checkbox",name:"enableThumbSwipe",label:"Thumbnail swipe",tip:"Enable thumbnail swipe on mobile devices",changeProp:!0,value:!0},{type:"select",name:"alignThumbnails",tip:"Position of thumbnails when the width of all thumbnails combined is less than the gallery's width",label:"Align Thumbnails",value:"middle",changeProp:!0,options:[{id:"left",label:"Left"},{id:"middle",label:"Middle"},{id:"right",label:"Right"}]},{type:"select",name:"currentPagerPosition",label:"Select thumbnail position",value:"middle",changeProp:!0,options:[{id:"left",label:"Left"},{id:"middle",label:"Middle"},{id:"right",label:"Right"}]},{type:"number",name:"thumbMargin",label:"Thumb margin",tip:"Spacing between each thumbnails",changeProp:!0,min:0,value:"5"},{type:"number",name:"thumbWidth",label:"Thumb width",tip:"Width of each thumbnails",changeProp:!0,min:0,value:"100"}]}}},Se={autoplay:{category:{id:"autoplay-options",label:"Autoplay options"},type:"checkbox",label:"Autoplay",value:!0,subTraits:{false:[],true:[{type:"checkbox",name:"autoplayControls",label:"Autoplay controls",tip:"Show/hide autoplay controls",changeProp:!0,value:!0},{type:"checkbox",name:"progressBar",label:"Progress bar",tip:"Show autoplay progress bar",changeProp:!0,value:!0},{type:"checkbox",name:"forceSlideShowAutoplay",label:"Force autoplay",tip:"If false, autoplay will be stopped after first user action",changeProp:!0,value:!1},{type:"checkbox",name:"slideShowAutoplay",label:"Start autoplay",tip:"Enable autoplay on start",changeProp:!0,value:!1},{type:"number",name:"slideShowInterval",label:"Interval",tip:"The time (in ms) between each auto transition",changeProp:!0,min:0,step:50,value:5e3}]}}},Oe={zoom:{category:{id:"zoom-options",label:"Zoom options"},type:"checkbox",label:"Zoom",value:!0,subTraits:{false:[],true:[{type:"checkbox",name:"actualSize",label:"Show actual size icon",changeProp:!0,value:!0},{type:"checkbox",name:"infiniteZoom",label:"Infinte zoom",changeProp:!0,value:!0},{type:"checkbox",name:"showZoomInOutIcons",label:"Show zoom in/out icons",changeProp:!0,value:!1},{type:"number",name:"scale",label:"Scale",tip:"Value of zoom should be incremented/decremented",changeProp:!0,min:0,value:1}]}}},f="sourceType",j="data-iframe",C={name:"href",type:"file",label:"Image Source"},H={name:"data-src",label:"Video Source",placeholder:"https://www.youtube.com/watch?v=..."},J={name:"data-poster",label:"Video Poster",type:"file"},le={name:"data-src",label:"External Source",placeholder:"https://some-external-source.com/...."},ue={label:"Caption",name:"data-sub-html",placeholder:"My caption",changeProp:!1},Me={[N]:{type:"button",label:"Toggle Gallery",command:(e,o)=>{var s,p;const t=o.target,l=(s=t==null?void 0:t.closestType(A))==null?void 0:s.getView();if(l&&t){const c=((p=l.getLightGallery())==null?void 0:p.items)||[],i=Array.from(c).indexOf(t.getEl());i>=0&&l.toggleGallery(i)}}},[f]:{type:"radio",label:"Source type",labelToTitle:!0,value:"image",subTraits:{image:[C],video:[H,J],external:[le]},options:[{id:"image",label:C.label||"",icon:I.image},{id:"video",label:H.label||"",icon:I.video},{id:"external",label:le.label||"",icon:I.external}]},subHtml:ue},se="lgThumbnail",De="lgVideo",ne="lgAutoplay",ie="lgZoom",G="https://cdn.jsdelivr.net/npm/lightgallery@2.8.2",Ve=function(e,o={}){const{Blocks:t,Components:l}=e,s="LightGallery",p="LightGallery Item",c={toolbarIconOpen:I.eye,block:{},lgLicenseKey:"92DE1DB8-7986-4F02-B908-514F97678D28",defaultSrc:"https://placehold.co/200/777/white.png?text=Image",plugins:[se,De,ne,ie],cdnScript:[`${G}/lightgallery.min.js`,`${G}/plugins/thumbnail/lg-thumbnail.min.js`,`${G}/plugins/video/lg-video.min.js`,`${G}/plugins/autoplay/lg-autoplay.min.js`,`${G}/plugins/zoom/lg-zoom.min.js`],cdnStyle:`${G}/css/lightgallery-bundle.min.css`,...o},{block:i,toolbarIconOpen:g,defaultSrc:u}=c,b=function(a){const n=this,h=window,{plugins:y,cdnScript:w,cdnStyle:D,inline:Q,lgLicenseKey:ge,...m}=a||{},x=d=>isNaN(d)?void 0:parseInt(d,10),X=()=>{var B;const d={...m,licenseKey:ge,speed:x(m.speed),startAnimationDuration:x(m.startAnimationDuration),thumbMargin:x(m.thumbMargin),thumbWidth:x(m.thumbWidth),slideShowInterval:x(m.slideShowInterval),scale:x(m.scale),enableZoomAfter:x(m.enableZoomAfter),plugins:(y||[]).map($=>h[$])};Q&&(d.container=n,d.closable=!1);const K=(B=h.lightGallery)==null?void 0:B.call(h,n,d);Q&&K.openGallery()};if(h.lightGallery)X();else{const{head:d}=document,K=Array.isArray(w)?[...w]:[w],B=Array.isArray(D)?[...D]:[D],$=P=>{if(P.length){const v=document.createElement("link");v.href=P.shift(),v.rel="stylesheet",d.appendChild(v),$(P)}},Y=P=>{if(P.length){const v=document.createElement("script");v.src=P.shift(),v.onerror=v.onload=Y.bind(null,P),d.appendChild(v)}else X()};$(B),Y(K)}},r=a=>{const n=a.getTrait(N);if(!g||!n)return;const{toolbar:h}=a,y={id:N,label:g,command:()=>setTimeout(()=>n.runCommand(),100)};!h.find(D=>D.id===y.id)&&(h==null||h.unshift(y))};let L=[];const O=c.plugins||[],T=V(Ge),R=O.includes(se)?V(Ee):F,k=O.includes(ne)?V(Se):F,M=O.includes(ie)?V(Oe):F;l.addType(A,{block:i&&{label:s,media:I.gallery,category:"Extra",select:!0,...c.block},isComponent:a=>z(a,U),extendFn:["init","initToolbar"],model:{defaults:{name:s,icon:I.gallery,draggable:(a,n)=>!n.is(A),attributes:{[U]:!0},components:{type:ae},script:b,selector:"",exThumbImage:"",cdnScript:c.cdnScript,cdnStyle:c.cdnStyle,plugins:c.plugins,lgLicenseKey:c.lgLicenseKey,"script-props":["lgLicenseKey","cdnScript","cdnStyle","plugins","selector","exThumbImage",...T.propKeys,...R.propKeys,...k.propKeys,...M.propKeys],...T.props,...R.props,...k.props,...M.props,traits:[...T.traits,...R.traits,...k.traits,...M.traits]},init(){W(this,["thumbnail"]),W(this,["autoplay"]),W(this,["zoom"])},initToolbar(){r(this)}},extendFnView:["init"],view:{events:()=>({lgInit:"onLgInit",lgBeforeOpen:"onLgOpen",lgAfterClose:"onLgClose"}),init(){this.listenTo(this.model,l.events.scriptUnmount,this.destroyLightGallery)},getLightGallery(){return this.el.__lg},destroyLightGallery(){const a=this.getLightGallery();a==null||a.destroy()},disableLgInCanvas(){const a=this.getLightGallery();a.lgOpened=!0},isInlineGallery(){var n;const a=this.getLightGallery();return((n=a==null?void 0:a.settings)==null?void 0:n.container)===this.el},onLgInit(a){this.el.__lg=a.detail.instance,!this.isInlineGallery()&&this.disableLgInCanvas()},onLgOpen(){const{em:a}=this,{Canvas:n}=a,h=this.getLightGallery();L=n.getSpots(),setTimeout(()=>n.removeSpots()),h.__lgOpened=!0},onLgClose(){const a=this.getLightGallery();L.forEach(n=>this.em.Canvas.addSpot(n.attributes)),L=[],a.__lgOpened=!1,setTimeout(()=>this.disableLgInCanvas())},toggleGallery(a){const n=this.getLightGallery();if(n.__lgOpened)return n.closeGallery(!0);n.lgOpened=!1,n.openGallery(a)}}});const _=V(Me);l.addType(ae,{isComponent:a=>z(a,oe)||a.tagName==="A"&&z(a.parentElement,U),extendFn:["init","initToolbar"],model:{defaults:{tagName:"a",name:p,icon:I.galleryItem,attributes:{[oe]:!0,href:u},components:{type:"image",attributes:{alt:"Image",src:u}},..._.props,traits:[..._.traits]},init(){const a=[f].map(n=>`change:${n}`).join(" ");this.initSourceType(),this.on(a,this.updateTraits),this.updateTraits({init:!0}),this.initScriptUpdate(),ke(this,f,this.triggerGalleryUpdate)},initToolbar(){r(this)},initScriptUpdate(){const a=[ue.name].map(n=>`change:attributes:${n}`).join(" ");this.on(a,this.triggerGalleryUpdate)},triggerGalleryUpdate(...a){var n;(n=this.closestType(A))==null||n.__scriptPropsChange(...a)},updateTraits(a={}){const{changed:n}=this,{init:h}=a;if(n[f]||h){q(this,f);const y=this.getTrait(f).getValue();if(y===E.image){this.removeAttributes([H.name,J.name,j]);const w=this.getTrait(C.name);w.setValue(w.getValue()||u)}else y===E.video?this.removeAttributes([j]):y===E.external&&this.addAttributes({[j]:!0})}},initSourceType(){const a=this.getAttributes({noClass:!0,noStyle:!0});a[j]?this.set(f,E.external):(a[H.name]||a[J.name])&&this.set(f,E.video)}}}),Pe({editor:e,plan:Le,licenseKey:c.licenseKey,pluginName:pe,cleanup:()=>{t.remove(A),l.removeType(A)}})},Re=xe(Ve,pe);module.exports=Re;