@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.
Files changed (130) hide show
  1. package/dist/accordionComponent/index.cjs.js +7 -7
  2. package/dist/accordionComponent/index.es.js +161 -156
  3. package/dist/accordionComponent/index.umd.js +9 -9
  4. package/dist/aiChat/chatManager.d.ts +15 -0
  5. package/dist/aiChat/clientTools.d.ts +3 -3
  6. package/dist/aiChat/clientToolsProcessors.d.ts +14 -1
  7. package/dist/aiChat/components/AiChatEmptyState.d.ts +4 -6
  8. package/dist/aiChat/components/AiChatError.d.ts +2 -1
  9. package/dist/aiChat/components/AiChatHeader.d.ts +2 -1
  10. package/dist/aiChat/components/AiChatInput/AssetsSection.d.ts +7 -0
  11. package/dist/aiChat/components/AiChatInput/AttachButton.d.ts +10 -0
  12. package/dist/aiChat/components/AiChatInput/ContextSection.d.ts +5 -0
  13. package/dist/aiChat/components/AiChatInput/DictateButton.d.ts +7 -0
  14. package/dist/aiChat/components/AiChatInput/TextAreaWithAutoResize.d.ts +6 -0
  15. package/dist/aiChat/components/AiChatInput/constants.d.ts +6 -0
  16. package/dist/aiChat/components/AiChatInput/hooks/useSpeechToText.d.ts +15 -0
  17. package/dist/aiChat/components/AiChatInput/index.d.ts +37 -0
  18. package/dist/aiChat/components/AiChatLoadingState.d.ts +2 -1
  19. package/dist/aiChat/components/AiChatMessage.d.ts +21 -9
  20. package/dist/aiChat/components/AiChatMessages.d.ts +5 -7
  21. package/dist/aiChat/components/AiChatMessagesStatus.d.ts +5 -0
  22. package/dist/aiChat/components/AiChatPanel.d.ts +2 -3
  23. package/dist/aiChat/components/AiChatProvider.d.ts +14 -0
  24. package/dist/aiChat/components/MemoizedMarkdown.d.ts +9 -0
  25. package/dist/aiChat/components/index.d.ts +24 -25
  26. package/dist/aiChat/components/utils.d.ts +12 -4
  27. package/dist/aiChat/index.cjs.d.ts +5 -0
  28. package/dist/aiChat/index.cjs.js +453 -0
  29. package/dist/aiChat/index.d.ts +4 -3
  30. package/dist/aiChat/index.es.d.ts +5 -0
  31. package/dist/aiChat/index.es.js +30930 -0
  32. package/dist/aiChat/index.js +453 -0
  33. package/dist/aiChat/index.umd.js +453 -0
  34. package/dist/aiChat/locales/en.d.ts +64 -0
  35. package/dist/aiChat/server/index.cjs.d.ts +4 -0
  36. package/dist/aiChat/server/index.cjs.js +309 -0
  37. package/dist/aiChat/server/index.d.ts +0 -50
  38. package/dist/aiChat/server/index.es.d.ts +4 -0
  39. package/dist/aiChat/server/index.es.js +876 -0
  40. package/dist/aiChat/server/index.js +309 -0
  41. package/dist/aiChat/server/index.umd.js +309 -0
  42. package/dist/aiChat/server/stream.d.ts +0 -6
  43. package/dist/aiChat/server/tools.d.ts +157 -51
  44. package/dist/aiChat/server/types.d.ts +108 -64
  45. package/dist/aiChat/types.d.ts +148 -108
  46. package/dist/aiChat/typesSchema.d.ts +238 -25
  47. package/dist/animationComponent/index.cjs.js +3 -3
  48. package/dist/animationComponent/index.es.js +174 -169
  49. package/dist/animationComponent/index.umd.js +3 -3
  50. package/dist/canvasAbsoluteMode/index.cjs.js +1 -1
  51. package/dist/canvasAbsoluteMode/index.es.js +161 -156
  52. package/dist/canvasAbsoluteMode/index.umd.js +1 -1
  53. package/dist/canvasEmptyState/index.cjs.js +1 -1
  54. package/dist/canvasEmptyState/index.es.js +113 -108
  55. package/dist/canvasEmptyState/index.umd.js +1 -1
  56. package/dist/canvasFullSize/index.cjs.js +9 -9
  57. package/dist/canvasFullSize/index.es.js +137 -132
  58. package/dist/canvasFullSize/index.umd.js +9 -9
  59. package/dist/canvasGridMode/index.cjs.js +4 -4
  60. package/dist/canvasGridMode/index.es.js +168 -163
  61. package/dist/canvasGridMode/index.umd.js +8 -8
  62. package/dist/canvasScreenshot/index.cjs.js +1 -1
  63. package/dist/canvasScreenshot/index.es.js +132 -127
  64. package/dist/canvasScreenshot/index.umd.js +1 -1
  65. package/dist/dataSourceEjs/index.cjs.js +5 -5
  66. package/dist/dataSourceEjs/index.es.js +151 -146
  67. package/dist/dataSourceEjs/index.umd.js +5 -5
  68. package/dist/dataSourceHandlebars/index.cjs.js +4 -4
  69. package/dist/dataSourceHandlebars/index.es.js +91 -86
  70. package/dist/dataSourceHandlebars/index.umd.js +5 -5
  71. package/dist/dialogComponent/index.cjs.js +16 -16
  72. package/dist/dialogComponent/index.es.js +117 -112
  73. package/dist/dialogComponent/index.umd.js +16 -16
  74. package/dist/flexComponent/index.cjs.js +11 -11
  75. package/dist/flexComponent/index.es.js +416 -411
  76. package/dist/flexComponent/index.umd.js +11 -11
  77. package/dist/fsLightboxComponent/index.cjs.js +3 -3
  78. package/dist/fsLightboxComponent/index.es.js +152 -147
  79. package/dist/fsLightboxComponent/index.umd.js +3 -3
  80. package/dist/googleFontsAssetProvider/index.cjs.js +1 -1
  81. package/dist/googleFontsAssetProvider/index.es.js +127 -122
  82. package/dist/googleFontsAssetProvider/index.umd.js +1 -1
  83. package/dist/iconifyComponent/index.cjs.js +2 -2
  84. package/dist/iconifyComponent/index.es.js +170 -165
  85. package/dist/iconifyComponent/index.umd.js +2 -2
  86. package/dist/index.cjs.js +1 -1
  87. package/dist/index.es.js +27 -22
  88. package/dist/index.umd.js +1 -1
  89. package/dist/layoutSidebarButtons/index.cjs.js +1 -1
  90. package/dist/layoutSidebarButtons/index.es.js +156 -151
  91. package/dist/layoutSidebarButtons/index.umd.js +1 -1
  92. package/dist/lightGalleryComponent/index.cjs.js +1 -1
  93. package/dist/lightGalleryComponent/index.es.js +197 -192
  94. package/dist/lightGalleryComponent/index.umd.js +1 -1
  95. package/dist/linkImageComponent/index.cjs.js +2 -2
  96. package/dist/linkImageComponent/index.es.js +86 -81
  97. package/dist/linkImageComponent/index.umd.js +2 -2
  98. package/dist/listPagesComponent/index.cjs.js +5 -5
  99. package/dist/listPagesComponent/index.es.js +121 -116
  100. package/dist/listPagesComponent/index.umd.js +5 -5
  101. package/dist/presetPrintable/index.cjs.js +4 -4
  102. package/dist/presetPrintable/index.es.js +180 -175
  103. package/dist/presetPrintable/index.umd.js +4 -4
  104. package/dist/prosemirror/index.cjs.js +6 -6
  105. package/dist/prosemirror/index.es.js +128 -123
  106. package/dist/prosemirror/index.umd.js +8 -8
  107. package/dist/rendererReact/index.cjs.js +1 -1
  108. package/dist/rendererReact/index.es.js +127 -122
  109. package/dist/rendererReact/index.js +1 -1
  110. package/dist/rendererReact/index.umd.js +1 -1
  111. package/dist/rteTinyMce/index.cjs.js +2 -2
  112. package/dist/rteTinyMce/index.es.js +160 -155
  113. package/dist/rteTinyMce/index.umd.js +2 -2
  114. package/dist/shapeDividerComponent/index.cjs.js +25 -25
  115. package/dist/shapeDividerComponent/index.es.js +127 -122
  116. package/dist/shapeDividerComponent/index.umd.js +25 -25
  117. package/dist/swiperComponent/index.cjs.js +9 -9
  118. package/dist/swiperComponent/index.es.js +197 -192
  119. package/dist/swiperComponent/index.umd.js +9 -9
  120. package/dist/tableComponent/index.cjs.js +1 -1
  121. package/dist/tableComponent/index.es.js +227 -222
  122. package/dist/tableComponent/index.umd.js +1 -1
  123. package/dist/types.d.ts +1 -1
  124. package/dist/utils.d.ts +12 -1
  125. package/dist/youtubeAssetProvider/index.cjs.js +1 -1
  126. package/dist/youtubeAssetProvider/index.es.js +124 -119
  127. package/dist/youtubeAssetProvider/index.umd.js +1 -1
  128. package/package.json +5 -2
  129. package/dist/aiChat/components/AiChatInput.d.ts +0 -17
  130. package/dist/aiChat/server/stream-utils.d.ts +0 -16
@@ -1,11 +1,11 @@
1
- (function(B,R){typeof exports=="object"&&typeof module<"u"?module.exports=R():typeof define=="function"&&define.amd?define(R):(B=typeof globalThis<"u"?globalThis:B||self,B.StudioSdkPlugins_presetPrintable=R())})(this,function(){"use strict";const B="app.grapesjs.com",R="app-stage.grapesjs.com",U=[B,"app2.grapesjs.com",R,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],Y="license:check:start",J="license:check:end",X=()=>typeof window<"u",I=(e,s={})=>{const t=ee(e)?{id:e,src:e}:e;return new Promise((o,a)=>{var g,h;const{loadedScripts:n}=s,{id:i,src:p}=t,c=document.querySelector(`script[src="${p}"]`);if(c){if((g=s.onScript)==null||g.call(s,c),n&&!n.get(p)){c.addEventListener("load",()=>o(i)),c.addEventListener("error",()=>a(i));return}return o(i)}const u=window.define;window.define=void 0;const l=()=>{n==null||n.set(p,!0),window.define=u},r=document.createElement("script");r.src=p,r.onload=()=>{o(i),l()},r.onerror=()=>{a(i),l()},document.head.appendChild(r),(h=s.onScript)==null||h.call(s,r)})},Z=({isDev:e,isStage:s})=>`${e?"":`https://${s?R:B}`}/api`,Q=()=>{const e=X()&&window.location.hostname;return!!e&&(U.includes(e)||U.some(s=>e.endsWith(s)))},ee=e=>typeof e=="string";async function te({path:e,baseApiUrl:s,method:t="GET",headers:o={},params:a,body:n}){const p=`${s||Z({isDev:!1,isStage:!1})}${e}`,c={method:t,headers:{"Content-Type":"application/json",...o}};n&&(c.body=JSON.stringify(n));const u=a?new URLSearchParams(a).toString():"",l=u?`?${u}`:"",r=await fetch(`${p}${l}`,c);if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return r.json()}var k=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))(k||{}),N=(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))(N||{});const C={[k.free]:0,[k.startup]:10,[k.business]:20,[k.enterprise]:30};function oe(e){const s=e;return s.init=t=>o=>e(o,t),s}const se=e=>oe(e);async function ne({editor:e,plan:s,pluginName:t,licenseKey:o,cleanup:a}){let n="",i=!1;const p=Q(),c=l=>{console.warn("Cleanup plugin:",t,"Reason:",l),a()},u=(l={})=>{var w;const{error:r,sdkLicense:g}=l,h=(w=l.plan)==null?void 0:w.category;if(!(g||l.license)||r)c(r||"Invalid license");else if(h){const d=C[s],f=C[h];d>f&&c({pluginRequiredPlan:s,licensePlan:h})}};e.on(Y,l=>{n=l==null?void 0:l.baseApiUrl,i=!0}),e.on(J,l=>{u(l)}),setTimeout(async()=>{if(!i){if(p)return;if(o){const l=await ae({licenseKey:o,pluginName:t,baseApiUrl:n});l&&u(l)}else c("The `licenseKey` option not provided")}},2e3)}async function ae(e){const{licenseKey:s,pluginName:t,baseApiUrl:o}=e;try{return(await te({baseApiUrl:o,path:`/sdk/${s||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(a){return console.error("Error during SDK license check:",a),!1}}const ie=e=>s=>{var t;return((t=s.getAttribute)==null?void 0:t.call(s,z))===e},re=(...e)=>(s,t)=>e.some(o=>t.is(o)),F=(e,s,t)=>{const{doc:o=document}=t,a=t.target||o.head,n=a.querySelector(`style[${e}]`)||o.createElement("style");n.setAttribute(e,"true"),n.innerHTML=s,!a.contains(n)&&a.appendChild(n)},ce="gjs-plg-",W="data-gs-plg-",z="data-type-role";function K(e,s,t){let o,a,n,i,p;const c=s===void 0?100:s;function u(){const r=Date.now()-i;r<c&&r>=0?o=setTimeout(u,c-r):(o=null,p=e.apply(n,a),n=a=null)}const l=function(){return n=this,a=arguments,i=Date.now(),o||(o=setTimeout(u,c)),p};return l.clear=function(){o&&(clearTimeout(o),o=null)},l.flush=function(){o&&(p=e.apply(n,a),n=a=null,clearTimeout(o),o=null)},l}const E="page-break";var m=(e=>(e.A5="a5",e.A5Portrait="a5-portrait",e.A4="a4",e.A3="a3",e.B5="b5",e.B4="b4",e.letter="letter",e.legal="legal",e.ledger="ledger",e))(m||{});function _(e,s){const o={mm:3.7795275590551185,cm:37.79527559055118,in:96,pt:1.3333333333333333,pc:16};return o[s]?e*o[s]:null}const le=(e,s)=>{const{name:t,id:o,width:a,height:n,unit:i}=e,{fixedHeight:p}=s,c=`${a}${i}`,u=`${n}${i}`;return{id:o||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${c} x ${u})`,sizeH:n,sizeW:a,sizeUnit:i,widthMedia:"",width:c,minHeight:p?"0":`${_(n,i)}px`,height:p?u:void 0}},j="page-breaks",S="gjs-page-breaks-spot",G=e=>e.type===j;function de(e){const{Devices:s}=e,{height:t,minHeight:o}=s.getSelected().attributes,n=parseFloat(`${t&&t!=="auto"?t:o}`),i=e.getWrapper(),p=i==null?void 0:i.getEl(),c=[];if(!i||!p)return c;const u=p.getBoundingClientRect().height,r=i.findType(E).map(h=>h.getEl()).filter(Boolean).map(h=>({top:h.offsetTop,height:h.offsetHeight}));let g=0;for(;g<u;){const h=r.find(y=>y.top>g&&y.top<g+n);h?(g=h.top+h.height,c.push(h.top)):(g+=n,g<u&&c.push(g))}return c}function pe(e,s){const{Canvas:t}=e,o=t.events,a=e.events;let n;const i=()=>{F(`${W}preset-printable-spots`,`.${S} {
1
+ (function(B,R){typeof exports=="object"&&typeof module<"u"?module.exports=R():typeof define=="function"&&define.amd?define(R):(B=typeof globalThis<"u"?globalThis:B||self,B.StudioSdkPlugins_presetPrintable=R())})(this,function(){"use strict";const B="app.grapesjs.com",R="app-stage.grapesjs.com",U=[B,"app2.grapesjs.com",R,"app-stage2.grapesjs.com","localhost","127.0.0.1",".local-credentialless.webcontainer.io",".local.webcontainer.io","-sandpack.codesandbox.io"],Y="license:check:start",J="license:check:end",X=()=>typeof window<"u",I=(e,n={})=>{const t=ee(e)?{id:e,src:e}:e;return new Promise((o,s)=>{var p,u;const{loadedScripts:i}=n,{id:r,src:l}=t,d=document.querySelector(`script[src="${l}"]`);if(d){if((p=n.onScript)==null||p.call(n,d),i&&!i.get(l)){d.addEventListener("load",()=>o(r)),d.addEventListener("error",()=>s(r));return}return o(r)}const g=window.define;window.define=void 0;const f=()=>{i==null||i.set(l,!0),window.define=g},a=document.createElement("script");a.src=l,a.onload=()=>{o(r),f()},a.onerror=()=>{s(r),f()},document.head.appendChild(a),(u=n.onScript)==null||u.call(n,a)})},Z=({isDev:e,isStage:n,isPlatform:t})=>`${e?"":`https://${n?R:B}`}/${t?"platform-api":"api"}`,Q=()=>{const e=X()&&window.location.hostname;return!!e&&(U.includes(e)||U.some(n=>e.endsWith(n)))},ee=e=>typeof e=="string";async function te({path:e,baseApiUrl:n,method:t="GET",headers:o={},params:s,body:i}){const l=`${n||Z({isDev:!1,isStage:!1})}${e}`,d={method:t,headers:{"Content-Type":"application/json",...o}};i&&(d.body=JSON.stringify(i));const g=s?new URLSearchParams(s).toString():"",f=g?`?${g}`:"",a=await fetch(`${l}${f}`,d);if(!a.ok)throw new Error(`HTTP error! status: ${a.status}`);return a.json()}var $=(e=>(e.free="free",e.startup="startup",e.business="business",e.enterprise="enterprise",e))($||{}),N=(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))(N||{});const F={[$.free]:0,[$.startup]:10,[$.business]:20,[$.enterprise]:30};function oe(e){const n=e;return n.init=t=>o=>e(o,t),n}const ne=e=>oe(e);async function se({editor:e,plan:n,pluginName:t,licenseKey:o,onLicenseCheckResponse:s,cleanup:i}){let r="",l=!1;const d=Q(),g=a=>{console.warn("Cleanup plugin:",t,"Reason:",a),i()},f=(a={})=>{var c;const{error:p,sdkLicense:u}=a,m=(c=a.plan)==null?void 0:c.category;if(!(u||a.license)||p)g(p||"Invalid license");else if(m){const h=F[n],D=F[m];h>D&&g({pluginRequiredPlan:n,licensePlan:m})}};e.on(Y,a=>{r=a==null?void 0:a.baseApiUrl,l=!0}),e.on(J,a=>{s==null||s(a),f(a)}),setTimeout(async()=>{if(!l){if(d)return;if(o){const a=await ae({licenseKey:o,pluginName:t,baseApiUrl:r});s==null||s(a),a&&f(a)}else g("The `licenseKey` option not provided")}},2e3)}async function ae(e){const{licenseKey:n,pluginName:t,baseApiUrl:o}=e;try{return(await te({baseApiUrl:o,path:`/sdk/${n||"na"}`,method:"POST",params:{d:window.location.hostname,pn:t}})).result||{}}catch(s){return console.error("Error during SDK license check:",s),!1}}const ie=e=>n=>{var t;return((t=n.getAttribute)==null?void 0:t.call(n,K))===e},re=(...e)=>(n,t)=>e.some(o=>t.is(o)),W=(e,n,t)=>{const{doc:o=document}=t,s=t.target||o.head,i=s.querySelector(`style[${e}]`)||o.createElement("style");i.setAttribute(e,"true"),i.innerHTML=n,!s.contains(i)&&s.appendChild(i)},ce="gjs-plg-",z="data-gs-plg-",K="data-type-role";function C(e,n,t){let o,s,i,r,l;const d=n===void 0?100:n;function g(){const a=Date.now()-r;a<d&&a>=0?o=setTimeout(g,d-a):(o=null,l=e.apply(i,s),i=s=null)}const f=function(){return i=this,s=arguments,r=Date.now(),o||(o=setTimeout(g,d)),l};return f.clear=function(){o&&(clearTimeout(o),o=null)},f.flush=function(){o&&(l=e.apply(i,s),i=s=null,clearTimeout(o),o=null)},f}const E="page-break";var y=(e=>(e.A5="a5",e.A5Portrait="a5-portrait",e.A4="a4",e.A3="a3",e.B5="b5",e.B4="b4",e.letter="letter",e.legal="legal",e.ledger="ledger",e))(y||{});function j(e,n){const o={mm:3.7795275590551185,cm:37.79527559055118,in:96,pt:1.3333333333333333,pc:16};return o[n]?e*o[n]:null}const le=(e,n)=>{const{name:t,id:o,width:s,height:i,unit:r}=e,{fixedHeight:l}=n,d=`${s}${r}`,g=`${i}${r}`;return{id:o||t.toLowerCase().replace(/\s/g,"-"),name:`${t} (${d} x ${g})`,sizeH:i,sizeW:s,sizeUnit:r,widthMedia:"",width:d,minHeight:l?"0":`${j(i,r)}px`,height:l?g:void 0}},G="page-breaks",_="gjs-page-breaks-spot",M=e=>e.type===G;function de(e){const{Devices:n}=e,{height:t,minHeight:o}=n.getSelected().attributes,i=parseFloat(`${t&&t!=="auto"?t:o}`),r=e.getWrapper(),l=r==null?void 0:r.getEl(),d=[];if(!r||!l)return d;const g=l.getBoundingClientRect().height,a=r.findType(E).map(u=>u.getEl()).filter(Boolean).map(u=>({top:u.offsetTop,height:u.offsetHeight}));let p=0;for(;p<g;){const u=a.find(m=>m.top>p&&m.top<p+i);u?(p=u.top+u.height,d.push(u.top)):(p+=i,p<g&&d.push(p))}return d}function pe(e,n){const{Canvas:t}=e,o=t.events,s=e.events;let i;const r=()=>{W(`${z}preset-printable-spots`,`.${_} {
2
2
  position: absolute;
3
3
  left: 0;
4
4
  width: 100%;
5
5
  border-top: 1px dashed var(--gs-theme-cl-cmp-bg2, var(--gjs-color-blue));
6
6
  color: var(--gs-theme-cl-prm-txt, var(--gjs-font-color));
7
7
  }
8
- .${S}::after {
8
+ .${_}::after {
9
9
  background-color: var(--gs-theme-cl-cmp-bg1, var(--gjs-color-highlight));
10
10
  content: attr(data-page-number);
11
11
  display: block;
@@ -16,7 +16,7 @@
16
16
  right: 0;
17
17
  transform: translate(100%, -50%);
18
18
  }
19
- `,{target:window.document.head})},p=()=>{if(s.enablePageBreaksSpot===!1)return;const d={id:j,type:j,component:e.getWrapper()};return t.getSpots(d).pop()||t.addSpot(d)},c=({spot:d})=>{const{spotEl:f}=d.attributes;!G(d)||!f||!n||n.removeChild(f)},u=({spot:d})=>{if(!G(d)||!n)return;let{spotEl:f}=d.attributes;f||(f=document.createElement("div"),f.className=`${S}__items`,d.set({spotEl:f})),n.appendChild(f)},l=({spot:d})=>{const{spotEl:f,pageBreaks:H=[]}=d.attributes;!G(d)||!f||!n||(Object.entries(d.getStyle()).forEach(([x,D])=>f.style.setProperty(x,D)),f.innerHTML="",H.forEach((x,D)=>{const A=document.createElement("div");A.setAttribute("data-page-number",`${D+2}`),A.className=S,A.style.top=`${x}px`,f.appendChild(A)}))},r=K(()=>{if(e.em.destroyed)return;const d=p();d&&d.set({pageBreaks:de(e),up:(d.attributes.up||0)+1})},150),g=K(r,200),h=()=>{n=t.getSpotsEl(),p()},y=()=>{const d=p();d&&d.set({up:(d.attributes.up||0)+1})},w=[["component:input",r],["frame:scroll",y],[a.update,r],[o.spotAdd,u],[o.spotUpdate,l],[o.spotRemove,c],[o.frameLoadBody,h]];return w.forEach(([d,f])=>e.on(d,f)),e.onReady(()=>{i(),new ResizeObserver(y).observe(t.getElement().parentElement)}),()=>{w.forEach(([d,f])=>e.off(d,f)),r.clear(),g.clear()}}var M=(e=>(e.print="presetPrintable:print",e))(M||{});const q=e=>new Promise(s=>{const t=document.createElement("iframe");t.style.cssText="position: absolute; width: 0; height: 0; border: 0; opacity: 0; pointer-events: none;",t.srcdoc=e.content,t.onload=()=>s(t),document.body.appendChild(t)});function ge(e,s){const{Commands:t,Pages:o}=e;return t.add(M.print,async(a,n,i={})=>{const p={page:i.allPages?void 0:o.getSelected(),styles:"inline",optionsHtml:{exporter:null}},u=(await t.run(N.projectFiles,p)).filter(g=>g.filename.endsWith(".html")),l=u.map(g=>g.content).join('<div style="break-before: page;"></div>'),r=[];if(i.separatePrints)for(const g of u)r.push(await q(g));else r.push(await q({content:l,filename:"",mimeType:""}));for(const g of r){const h=g.contentWindow;h.focus(),h.print()}setTimeout(()=>r.forEach(g=>g.remove()),1e3)}),t.add("presetPrintable:exp",async a=>{await I("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"),await I("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");const{Devices:n,Canvas:i}=a,{sizeW:p,sizeH:c,sizeUnit:u}=n.getSelected().attributes,l=i.getFrameEl().contentDocument,r="px",g=[_(p,u),_(c,u)],h=new window.jspdf.jsPDF({unit:r,format:g}),y=l.body;h.html(y,{callback:w=>w.save()})}),()=>{delete e.Commands.commands[M.print]}}function ue(e,s){const{blockPageBreak:t={}}=s,{Components:o,Blocks:a}=e,n="Page Break",i=`${ce}${E}`;return o.addType(E,{block:t&&{label:n,media:'<svg viewBox="0 0 24 24"><path d="M18 20H6v-2H4v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2h-2v2M14 2H6a2 2 0 0 0-2 2v8h2V4h8v4h4v4h2V8l-6-6m-3 14H8v-2h3v2m5 0h-3v-2h3v2M3 14h3v2H3v-2m18 2h-3v-2h3v2Z"/></svg>',category:"Extra",select:!0,...t},isComponent:ie(E),model:{defaults:{name:n,classes:i,attributes:{[z]:E},emptyState:!0,stylable:!1,droppable:!1,draggable:re("wrapper"),styles:`.${i} { break-before: page; }`,traits:[]}}}),()=>{o.removeType(E),a.remove(E)}}const he="presetPrintable",fe=k.free;return se(function(e,s={}){var V;const t={selectedDevice:m.A4,...s},{Canvas:o,Devices:a,Blocks:n}=e,i=o.events,p=e.events,c=t.selectedDevice||a.getConfig().default,u=[{id:m.A5,name:"A5",width:148,height:210,unit:"mm"},{id:m.A5Portrait,name:"A5 Portrait",width:210,height:148,unit:"mm"},{id:m.A4,name:"A4",width:210,height:297,unit:"mm"},{id:m.A3,name:"A3",width:297,height:420,unit:"mm"},{id:m.B5,name:"B5",width:176,height:250,unit:"mm"},{id:m.B4,name:"B4",width:250,height:353,unit:"mm"},{id:m.letter,name:"Letter",width:8.5,height:11,unit:"in"},{id:m.legal,name:"Legal",width:8.5,height:14,unit:"in"},{id:m.ledger,name:"Ledger",width:11,height:17,unit:"in"}],r=(((V=t.devices)==null?void 0:V.call(t,{items:u}))||u).map(v=>le(v,t));a.devices.reset(r);const g=c&&a.get(c)||a.getAll().at(0);a.select(g),["map","video"].forEach(v=>n.remove(v));const y=(v={})=>{const b="page-rule",{rules:P}=e.Css,{width:T,height:L,minHeight:$}=a.getSelected().attributes,ve=L&&L!=="auto"?L:$,O=P.where({id:b}).pop(),be=O||P.add({id:b,selectors:[],selectorsAdd:"@page"},{at:0});(v.fromDeviceChange||!O)&&be.addStyle({size:`${T} ${ve}`,...!O&&{margin:"0"}})},w=(v,b={})=>{const P=v.document,{minHeight:T}=a.getSelected().attributes,$=`
19
+ `,{target:window.document.head})},l=()=>{if(n.enablePageBreaksSpot===!1)return;const c={id:G,type:G,component:e.getWrapper()};return t.getSpots(c).pop()||t.addSpot(c)},d=({spot:c})=>{const{spotEl:h}=c.attributes;!M(c)||!h||!i||i.removeChild(h)},g=({spot:c})=>{if(!M(c)||!i)return;let{spotEl:h}=c.attributes;h||(h=document.createElement("div"),h.className=`${_}__items`,c.set({spotEl:h})),i.appendChild(h)},f=({spot:c})=>{const{spotEl:h,pageBreaks:D=[]}=c.attributes;!M(c)||!h||!i||(Object.entries(c.getStyle()).forEach(([S,L])=>h.style.setProperty(S,L)),h.innerHTML="",D.forEach((S,L)=>{const A=document.createElement("div");A.setAttribute("data-page-number",`${L+2}`),A.className=_,A.style.top=`${S}px`,h.appendChild(A)}))},a=C(()=>{if(e.em.destroyed)return;const c=l();c&&c.set({pageBreaks:de(e),up:(c.attributes.up||0)+1})},150),p=C(a,200),u=()=>{i=t.getSpotsEl(),l()},m=()=>{const c=l();c&&c.set({up:(c.attributes.up||0)+1})},w=[["component:input",a],["frame:scroll",m],[s.update,a],[o.spotAdd,g],[o.spotUpdate,f],[o.spotRemove,d],[o.frameLoadBody,u]];return w.forEach(([c,h])=>e.on(c,h)),e.onReady(()=>{r(),new ResizeObserver(m).observe(t.getElement().parentElement)}),()=>{w.forEach(([c,h])=>e.off(c,h)),a.clear(),p.clear()}}var H=(e=>(e.print="presetPrintable:print",e))(H||{});const q=e=>new Promise(n=>{const t=document.createElement("iframe");t.style.cssText="position: absolute; width: 0; height: 0; border: 0; opacity: 0; pointer-events: none;",t.srcdoc=e.content,t.onload=()=>n(t),document.body.appendChild(t)});function ge(e,n){const{Commands:t,Pages:o}=e;return t.add(H.print,async(s,i,r={})=>{const l={page:r.allPages?void 0:o.getSelected(),styles:"inline",optionsHtml:{exporter:null}},g=(await t.run(N.projectFiles,l)).filter(p=>p.filename.endsWith(".html")),f=g.map(p=>p.content).join('<div style="break-before: page;"></div>'),a=[];if(r.separatePrints)for(const p of g)a.push(await q(p));else a.push(await q({content:f,filename:"",mimeType:""}));for(const p of a){const u=p.contentWindow;u.focus(),u.print()}setTimeout(()=>a.forEach(p=>p.remove()),1e3)}),t.add("presetPrintable:exp",async s=>{await I("https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"),await I("https://cdn.jsdelivr.net/npm/jspdf@3.0.0/dist/jspdf.umd.min.js");const{Devices:i,Canvas:r}=s,{sizeW:l,sizeH:d,sizeUnit:g}=i.getSelected().attributes,f=r.getFrameEl().contentDocument,a="px",p=[j(l,g),j(d,g)],u=new window.jspdf.jsPDF({unit:a,format:p}),m=f.body;u.html(m,{callback:w=>w.save()})}),()=>{delete e.Commands.commands[H.print]}}function ue(e,n){const{blockPageBreak:t={}}=n,{Components:o,Blocks:s}=e,i="Page Break",r=`${ce}${E}`;return o.addType(E,{block:t&&{label:i,media:'<svg viewBox="0 0 24 24"><path d="M18 20H6v-2H4v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2h-2v2M14 2H6a2 2 0 0 0-2 2v8h2V4h8v4h4v4h2V8l-6-6m-3 14H8v-2h3v2m5 0h-3v-2h3v2M3 14h3v2H3v-2m18 2h-3v-2h3v2Z"/></svg>',category:"Extra",select:!0,...t},isComponent:ie(E),model:{defaults:{name:i,classes:r,attributes:{[K]:E},emptyState:!0,stylable:!1,droppable:!1,draggable:re("wrapper"),styles:`.${r} { break-before: page; }`,traits:[]}}}),()=>{o.removeType(E),s.remove(E)}}const he="presetPrintable",fe=$.free;return ne(function(e,n={}){var V;const t={selectedDevice:y.A4,...n},{Canvas:o,Devices:s,Blocks:i}=e,r=o.events,l=e.events,d=t.selectedDevice||s.getConfig().default,g=[{id:y.A5,name:"A5",width:148,height:210,unit:"mm"},{id:y.A5Portrait,name:"A5 Portrait",width:210,height:148,unit:"mm"},{id:y.A4,name:"A4",width:210,height:297,unit:"mm"},{id:y.A3,name:"A3",width:297,height:420,unit:"mm"},{id:y.B5,name:"B5",width:176,height:250,unit:"mm"},{id:y.B4,name:"B4",width:250,height:353,unit:"mm"},{id:y.letter,name:"Letter",width:8.5,height:11,unit:"in"},{id:y.legal,name:"Legal",width:8.5,height:14,unit:"in"},{id:y.ledger,name:"Ledger",width:11,height:17,unit:"in"}],a=(((V=t.devices)==null?void 0:V.call(t,{items:g}))||g).map(v=>le(v,t));s.devices.reset(a);const p=d&&s.get(d)||s.getAll().at(0);s.select(p),["map","video"].forEach(v=>i.remove(v));const m=(v={})=>{const b="page-rule",{rules:P}=e.Css,{width:T,height:k,minHeight:x}=s.getSelected().attributes,ve=k&&k!=="auto"?k:x,O=P.where({id:b}).pop(),be=O||P.add({id:b,selectors:[],selectorsAdd:"@page"},{at:0});(v.fromDeviceChange||!O)&&be.addStyle({size:`${T} ${ve}`,...!O&&{margin:"0"}})},w=(v,b={})=>{const P=v.document,{minHeight:T}=s.getSelected().attributes,x=`
20
20
  ${!!parseFloat(`${T}`)?`
21
21
  [data-gjs-type="wrapper"] { min-height: ${T}; }
22
22
  `:`
@@ -29,4 +29,4 @@
29
29
  height: 100dvh;
30
30
  }
31
31
  `}
32
- `;F(`${W}preset-printable`,$,{doc:P,target:P.head}),y(b)};e.on(i.frameLoadBody,v=>{const b=v.window;if(w(b),t.fixedHeight){const T=v.model.getComponent().getEl();T==null||T.addEventListener("scroll",L=>{const $=L.target;$.scrollTop>0&&$.scrollTo(0,0)})}}),e.on(a.events.select,()=>{var b;const v=(b=o.getFrameEl().contentDocument)==null?void 0:b.defaultView;v&&w(v,{fromDeviceChange:!0})});const d=()=>{const b=e.Css.getRules().filter(P=>P.selectorsToString()==="body").pop();b==null||b.addStyle({"margin-top":"","margin-right":"","margin-bottom":"","margin-left":"",margin:"0"})},f=[[p.projectLoad,d]];f.forEach(([v,b])=>e.on(v,b));const H=pe(e,t),x=ge(e),D=ue(e,t);e.onReady(()=>{e.UndoManager.clear()});const A=()=>{f.forEach(([v,b])=>e.off(v,b)),H(),x(),D()};e.on(p.destroy,A),ne({editor:e,licenseKey:t.licenseKey,plan:fe,pluginName:he,cleanup:A})})});
32
+ `;W(`${z}preset-printable`,x,{doc:P,target:P.head}),m(b)};e.on(r.frameLoadBody,v=>{const b=v.window;if(w(b),t.fixedHeight){const T=v.model.getComponent().getEl();T==null||T.addEventListener("scroll",k=>{const x=k.target;x.scrollTop>0&&x.scrollTo(0,0)})}}),e.on(s.events.select,()=>{var b;const v=(b=o.getFrameEl().contentDocument)==null?void 0:b.defaultView;v&&w(v,{fromDeviceChange:!0})});const c=()=>{const b=e.Css.getRules().filter(P=>P.selectorsToString()==="body").pop();b==null||b.addStyle({"margin-top":"","margin-right":"","margin-bottom":"","margin-left":"",margin:"0"})},h=[[l.projectLoad,c]];h.forEach(([v,b])=>e.on(v,b));const D=pe(e,t),S=ge(e),L=ue(e,t);e.onReady(()=>{e.UndoManager.clear()});const A=()=>{h.forEach(([v,b])=>e.off(v,b)),D(),S(),L()};e.on(l.destroy,A),se({editor:e,licenseKey:t.licenseKey,plan:fe,pluginName:he,cleanup:A})})});