polotno-node 2.11.8 → 2.11.9
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.
|
@@ -326,4 +326,4 @@ https://polotno.com/docs/server-api`;e.URLS={unsplashList:({query:o,page:s=1})=>
|
|
|
326
326
|
`}}(ba)),ba}var L1={},V3;function o_(){return V3||(V3=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Page=void 0;const n=Zi,t=Yp,r=Id(),a=tm(),o=Id(),s=Ec();e.Page=n.types.model("Page",{id:n.types.identifier,children:n.types.array(n.types.late(()=>r.ElementTypes)),width:n.types.optional(n.types.union(n.types.number,n.types.literal("auto")),"auto"),height:n.types.optional(n.types.union(n.types.number,n.types.literal("auto")),"auto"),background:"white",bleed:0,custom:n.types.frozen(),duration:5e3,_exporting:!1,_rendering:!1,_forceMount:!1}).postProcessSnapshot(c=>{const m=Object.assign({},c),f={};for(var v in m)v[0]!=="_"&&(f[v]=c[v]);return f}).views(c=>({get store(){return(0,n.getParentOfType)(c,a.Store)}})).views(c=>({get startTime(){let m=0;for(const f of c.store.pages){if(f.id===c.id)return m;m+=f.duration}return m},get _exportingOrRendering(){return c._exporting||c._rendering}})).views(c=>({get computedWidth(){return c.width==="auto"?c.store.width:c.width},get computedHeight(){return c.height==="auto"?c.store.height:c.height}})).actions(c=>({toJSON:()=>JSON.parse(JSON.stringify((0,n.getSnapshot)(c))),_forEachElementUp(m,f){const v=m.map(y=>({id:y,index:c.children.findIndex(E=>E.id===y)}));v.sort((y,E)=>E.index-y.index);for(const{index:y}of v){if(y==-1)continue;const E=y<c.children.length-1&&c.children[y+1],w=m.indexOf(E==null?void 0:E.id)>=0;y===c.children.length-1||w||f(y)}},_forEachElementDown(m,f){const v=m.map(y=>({id:y,index:c.children.findIndex(E=>E.id===y)}));v.sort((y,E)=>y.index-E.index);for(const{index:y}of v){if(y==-1)continue;const E=y>0&&c.children[y-1],w=m.indexOf(E==null?void 0:E.id)>=0;y===0||w||f(y)}return!1}})).actions(c=>({clone(m={}){const f=c.toJSON();f.children.forEach(w=>{w.id=(0,t.nanoid)(10),(0,o.forEveryChild)(w,S=>{S.id=(0,t.nanoid)(10)})});const v=Object.assign(Object.assign(Object.assign({},f),{id:(0,t.nanoid)(10)}),m),y=c.store.addPage(v),E=c.store.pages.indexOf(c);y.setZIndex(E+1),y.select()},setZIndex(m){c.store.setPageZIndex(c.id,m)},set(m){Object.assign(c,m)},select(){c.store.selectPage(c.id)},addElement(m,{skipSelect:f=!1}={}){const v=o.TYPES_MAP[m.type];if(!v)return void console.error("Can not find model with type "+m.type);"children"in m&&Array.isArray(m.children)&&m.children.forEach(E=>{E.id=(0,t.nanoid)(10)});const y=v.create(Object.assign({id:(0,t.nanoid)(10)},m));return c.children.push(y),y.selectable&&!f&&c.store.selectElements([y.id]),y},canMoveElementsUp(m){let f=!1;return c._forEachElementUp(m,()=>{f=f||!0}),f},moveElementsUp(m){c._forEachElementUp(m,f=>{const v=c.children[f];(0,n.detach)(v),c.children.splice(f+1,0,v)})},canMoveElementsTop(m){return this.canMoveElementsUp(m)},moveElementsTop(m){const f=[],v=[];c.children.forEach(y=>{m.indexOf(y.id)>=0?f.push(y):v.push(y)}),c.children.replace(v.concat(f))},canMoveElementsDown(m){let f=!1;return c._forEachElementDown(m,()=>{f=f||!0}),f},moveElementsDown(m){c._forEachElementDown(m,f=>{const v=c.children[f];(0,n.detach)(v),c.children.splice(f-1,0,v)})},canMoveElementsBottom(m){return this.canMoveElementsDown(m)},moveElementsBottom(m){const f=[],v=[];c.children.forEach(y=>{m.indexOf(y.id)>=0?f.push(y):v.push(y)}),c.children.replace(f.concat(v))},setElementZIndex(m,f){const v=c.children.find(y=>y.id===m);v&&((0,n.detach)(v),c.children.remove(v),c.children.splice(f,0,v))},setSize({width:m,height:f,useMagic:v,softChange:y}){if(v){const E=[],w=A=>A.type==="image"&&A.x<1&&A.y<1&&A.width>=c.computedWidth-2&&A.height>=c.computedHeight-2;(0,o.forEveryChild)(c,A=>{A.type!=="group"&&(w(A)||E.push(A))});const S=E.length?(0,s.getTotalClientRect)(E):{x:0,y:0,width:c.computedWidth,height:c.computedHeight},x=1/4,_=Math.max(0,Math.min(S.x,c.computedWidth-S.x-S.width)),b=c.computedWidth*x,g=Math.max(0,_-b),h=Math.max(0,Math.min(S.y,c.computedHeight-S.y-S.height)),d=c.computedHeight*x,P=Math.max(0,h-d),M=c.computedWidth-2*g,T=c.computedHeight-2*P,I=m/M,F=f/T,k=Math.min(I,F),O=(m-M*k)/2-g*k,N=(f-T*k)/2-P*k;(0,o.forEveryChild)(c,A=>{A.type!=="group"&&(w(A)?A.set({x:A.x*k,y:A.y*k,width:A.width*I,height:A.height*F,cropX:0,cropY:0,cropWidth:1,cropHeight:1}):(A.set({x:O+A.x*k,y:N+A.y*k,width:A.width*k,height:A.height*k}),A.type==="text"?A.set({fontSize:A.fontSize*k}):A.type==="figure"&&A.set({strokeWidth:A.strokeWidth*k})))})}y||(c.width=m),y||(c.height=f)}})).actions(c=>({moveElementUp(m){console.warn("page.moveElementUp(id) is deprecated. Please use page.moveElementsUp([id1, id2]) instead."),c.moveElementsUp([m])},moveElementDown(m){console.warn("page.moveElementDown(id) is deprecated. Please use page.moveElementsDown([id1, id2]) instead."),c.moveElementsDown([m])},moveElementTop(m){console.warn("page.moveElementTop(id) is deprecated. Please use page.moveElementsTop([id1, id2]) instead."),c.moveElementsTop([m])},moveElementBottom(m){console.warn("page.moveElementBottom(id) is deprecated. Please use page.moveElementsBottom([id1, id2]) instead."),c.moveElementsBottom([m])},play(){c.store.play({startTime:c.startTime,endTime:c.startTime+c.duration})}}))}(L1)),L1}var N1={},$3;function RP(){return $3||($3=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Audio=void 0;const n=Zi;e.Audio=n.types.model("Audio",{id:n.types.identifier,src:"",duration:0,startTime:0,endTime:1,volume:1,delay:0}).actions(t=>({toJSON:()=>Object.assign({},(0,n.getSnapshot)(t))})).actions(t=>({set(r){Object.assign(t,r)}}))}(N1)),N1}var W3;function tm(){return W3||(W3=1,function(e){var n,t=Oi&&Oi.__createBinding||(Object.create?function(k,O,N,A){A===void 0&&(A=N);var R=Object.getOwnPropertyDescriptor(O,N);R&&!("get"in R?!O.__esModule:R.writable||R.configurable)||(R={enumerable:!0,get:function(){return O[N]}}),Object.defineProperty(k,A,R)}:function(k,O,N,A){A===void 0&&(A=N),k[A]=O[N]}),r=Oi&&Oi.__setModuleDefault||(Object.create?function(k,O){Object.defineProperty(k,"default",{enumerable:!0,value:O})}:function(k,O){k.default=O}),a=Oi&&Oi.__importStar||(n=function(k){return n=Object.getOwnPropertyNames||function(O){var N=[];for(var A in O)Object.prototype.hasOwnProperty.call(O,A)&&(N[N.length]=A);return N},n(k)},function(k){if(k&&k.__esModule)return k;var O={};if(k!=null)for(var N=n(k),A=0;A<N.length;A++)N[A]!=="default"&&t(O,k,N[A]);return r(O,k),O}),o=Oi&&Oi.__rest||function(k,O){var N={};for(var A in k)Object.prototype.hasOwnProperty.call(k,A)&&O.indexOf(A)<0&&(N[A]=k[A]);if(k!=null&&typeof Object.getOwnPropertySymbols=="function"){var R=0;for(A=Object.getOwnPropertySymbols(k);R<A.length;R++)O.indexOf(A[R])<0&&Object.prototype.propertyIsEnumerable.call(k,A[R])&&(N[A[R]]=k[A[R]])}return N},s=Oi&&Oi.__importDefault||function(k){return k&&k.__esModule?k:{default:k}};Object.defineProperty(e,"__esModule",{value:!0}),e.Store=e.Font=void 0,e.createStore=F;const c=Zi,m=EP(),f=Yp,v=s(Mi()),y=xP(),E=OP(),w=PP(),S=Jv(),x=a(Vd()),_=Ks(),b=em(),g=i_(),h=CP(),d=AP(),P=TP(),M=o_(),T=Id(),I=RP();function F({key:k,showCredit:O}={key:"",showCredit:!1}){return e.Store.create({_forceShowCredit:O,_key:k})}(0,c.setLivelinessChecking)("ignore"),e.Font=c.types.model("Font",{fontFamily:c.types.string,url:c.types.optional(c.types.string,""),styles:c.types.frozen()}).preProcessSnapshot(k=>Object.assign(Object.assign({},k),{fontFamily:k.fontFamily||k.name})),e.Store=c.types.model("Store",{role:"",pages:c.types.array(M.Page),fonts:c.types.array(e.Font),audios:c.types.array(I.Audio),width:1080,height:1080,currentTime:0,isPlaying:!1,scale:1,scaleToFit:1,unit:"px",dpi:72,bleedVisible:!1,rulesVisible:!1,openedSidePanel:"",previousOpenedSidePanel:"",custom:c.types.frozen(),selectedElementsIds:c.types.array(c.types.string),animatedElementsIds:c.types.array(c.types.string),history:c.types.optional(m.UndoManager,{targetPath:"../pages"}),_elementsPixelRatio:Math.min(2,window.devicePixelRatio||1),_activePageId:"",_forceShowCredit:!1,_key:"",_validated:!1}).views(k=>({get _bleedVisible(){return console.warn("store._bleedVisible is deprecated. Please use store.bleedVisible instead."),k.bleedVisible},get selectedElements(){return k.selectedElementsIds.map(O=>{for(const N of k.pages)for(const A of N.children)if(A.id===O)return A}).filter(O=>!!O)},get children(){return k.pages},get selectedShapes(){const O=[];return(0,T.forEveryChild)({children:k.selectedElements},N=>{N.type!=="group"&&O.push(N)}),O},get activePage(){return k.pages.slice().find(O=>O.id===k._activePageId)||(k.pages.length?k.pages[0]:null)},get duration(){let O=0;return k.pages.forEach(N=>{O+=N.duration}),O},get _hasCroppedImages(){return k.find(O=>O.type==="image"&&O._cropModeEnabled)},find(O){let N;return(0,T.forEveryChild)({children:k.pages},A=>{if(!N&&O(A))return N=A,!0}),N},getElementById:O=>k.find(N=>N.id===O)})).actions(k=>{let O=0,N=null,A=!1;return{afterCreate(){k.history.canUndo},setCurrentTime(R){k.currentTime=R},_togglePlaying(R=!k.isPlaying){k.isPlaying=R},play({animatedElementsIds:R=[],startTime:L=0,currentTime:V=0,endTime:G=k.duration,repeat:W=!1}={}){V&&(console.warn("currentTime property of store.play() is deprecated. Please use startTime instead."),L=V),k.animatedElementsIds=(0,c.cast)(R),k.currentTime=L,k.isPlaying=!0,O=Date.now(),N=G,A=W,requestAnimationFrame(k.seek)},checkActivePage(){let R=0;for(const L of k.pages){if(k.currentTime>=L.startTime&&k.currentTime<L.startTime+L.duration){k.selectPage(L.id);break}R+=L.duration}},seek(){if(!k.isPlaying)return;const R=Date.now(),L=R-O;O=R,k.currentTime+=L,k.checkActivePage();const V=N||k.duration;k.isPlaying&&k.currentTime<V?requestAnimationFrame(k.seek):k.isPlaying&&A?(k.currentTime=0,requestAnimationFrame(k.seek)):k.stop()},stop(){k.isPlaying=!1,k.currentTime=0,k.animatedElementsIds=(0,c.cast)([]),k.checkActivePage()}}}).actions(k=>({__(){k._validated||((0,S.validateKey)(k._key,k._forceShowCredit),k._validated=!0)},set(O){Object.assign(k,O)},setUnit({unit:O,dpi:N}){k.unit=O||k.unit,k.dpi=N||k.dpi},setRole(O){k.role=O},addPage(O){const N=M.Page.create(Object.assign({id:(0,f.nanoid)(10)},O));return k.pages.push(N),k._activePageId=N.id,N},selectPage(O){k._activePageId=O},selectElements(O){const N=O.map(A=>k.getElementById(A)).sort((A,R)=>A.page.children.indexOf(A)-A.page.children.indexOf(R)).filter(A=>!!A).map(A=>A.id);k.selectedElementsIds=(0,c.cast)(N)},toggleBleed(O){k.bleedVisible=O??!k.bleedVisible},toggleRulers(O){k.rulesVisible=O??!k.rulesVisible},openSidePanel(O){k.openedSidePanel!==O&&(k.previousOpenedSidePanel=k.openedSidePanel,k.openedSidePanel=O)},setScale(O){k.scale=O},_setScaleToFit(O){k.scaleToFit=O},setElementsPixelRatio(O){k._elementsPixelRatio=O},setSize(O,N,A){k.pages.forEach(R=>{R.setSize({width:O,height:N,useMagic:A,softChange:!0})}),k.width=O,k.height=N},setPageZIndex(O,N){const A=k.pages.find(R=>R.id===O);A&&((0,c.detach)(A),k.pages.remove(A),k.pages.splice(N,0,A))},deletePages(O){const N=k.pages.indexOf(k.activePage);O.forEach(L=>{const V=k.pages.find(G=>G.id===L);(0,c.destroy)(V)});const A=Math.min(k.pages.length-1,N),R=k.pages[A];R&&(k._activePageId=R.id),k.selectedElementsIds=(0,c.cast)(k.selectedElementsIds.filter(L=>k.getElementById(L)))},groupElements(O){const N=O.map(L=>k.getElementById(L));N.forEach(L=>{L&&(0,c.detach)(L)});const A=k.activePage,R={id:(0,f.nanoid)(10),children:N,type:"group"};return A.children.push(R),k.selectedElementsIds=(0,c.cast)([R.id]),A.children.find(L=>L.id===R.id)},ungroupElements(O){const N=O.map(R=>k.getElementById(R)),A=[];N.forEach(R=>{if(R&&R.type==="group"){const L=R.page,V=L.children.indexOf(R);R.children.forEach(G=>{A.push(G.id)}),R.children.forEach(G=>{(0,c.detach)(G),L.children.push(G)}),L.children.splice(V,1)}}),k.selectedElementsIds=(0,c.cast)(A)},deleteElements(O){const N=[];k.find(A=>(O.includes(A.id)&&N.push(A),!1)),N.forEach(A=>{(0,c.destroy)(A)}),k.selectedElementsIds=(0,c.cast)(k.selectedElementsIds.filter(A=>k.getElementById(A)))},on(O,N){if(O==="change"){let A=k.toJSON();return(0,c.onSnapshot)(k,R=>{const L=k.toJSON();!(0,g.deepEqual)(A,L)&&(A=L,N(L))})}},async _toCanvas({pixelRatio:O,ignoreBackground:N,pageId:A,mimeType:R,includeBleed:L,_skipTimeout:V,quickMode:G=!1}={}){var W;const X=O||1;A=A||((W=k.pages[0])===null||W===void 0?void 0:W.id);const q=k.pages.find(se=>se.id===A);if(!q)throw new Error(`No page for export with id ${A}`);G?q==null||q.set({_forceMount:!0}):q==null||q.set({_exporting:!0});const z=await(0,h.waitTillAvailable)(()=>v.default.stages.find(se=>se.getAttr("pageId")===A));if(!z)throw q==null||q.set({_forceMount:!1,_exporting:!1}),new Error(`Export is failed. Can not find stage for page ${A}. Looks like <Workspace /> component is not mounted, but it is required in order to process the export.`);const Y=!!z.findOne(".page-container"),U=k._elementsPixelRatio;X>k._elementsPixelRatio&&k.setElementsPixelRatio(X),await k.waitLoading({_skipTimeout:V});const ee=z.findOne(".page-container");if(!ee)throw k.setElementsPixelRatio(U),q==null||q.set({_forceMount:!1,_exporting:!1}),new Error(`Export is failed. Can't find page container. ${Y}`);const te=z.position();z.position({x:0,y:0}),z.find("Transformer").forEach(se=>{se.setAttr("oldVisible",se.visible()),se.visible(!1)}),ee.find(".page-background").forEach(se=>se.shadowEnabled(!1)),ee.find(".page-background").forEach(se=>se.strokeEnabled(!1)),ee.find(".highlighter").forEach(se=>se.visible(!1));const Q=ee.findOne(".page-background-group"),Z=Q.clip();Q.clip({x:null,y:null,width:null,height:null});const re=ee.findOne(".elements-container"),ne=re.clip();re.clip({x:null,y:null,width:null,height:null});const ae=ee.find(se=>se.getAttr("hideInExport"));ae.forEach(se=>{se.setAttr("oldVisible",se.visible()),se.hide()});const ue=ee.find(se=>!se.visible()&&se.getAttr("editModeEnabled"));ue.forEach(se=>{se.setAttr("oldVisible",se.visible()),se.show()}),N&&ee.find(".page-background").forEach(se=>se.hide());const fe=L?q.bleed:0;let pe=fe;!k.bleedVisible&&L||(k.bleedVisible||L?k.bleedVisible&&L?pe=0:k.bleedVisible&&!L&&(pe=-q.bleed):pe=0);const ye=document.createElement("canvas");ye.width=Math.round((q.computedWidth+2*fe)*X),ye.height=Math.round((q.computedHeight+2*fe)*X);const we=ye.getContext("2d");R==="image/jpeg"&&(we.fillStyle="white",we.fillRect(0,0,ye.width,ye.height));const je=ee.scale();ee.scale({x:1,y:1});const Te=ee.toCanvas({x:ee.x()-pe,y:ee.y()-pe,width:q.computedWidth+2*fe,height:q.computedHeight+2*fe,pixelRatio:X});return ee.scale(je),we.drawImage(Te,0,0,ye.width,ye.height),v.default.Util.releaseCanvas(Te),N&&ee.find(".page-background").forEach(se=>se.show()),ae.forEach(se=>{se.visible(se.getAttr("oldVisible"))}),ue.forEach(se=>{se.visible(se.getAttr("oldVisible"))}),ee.find(".page-background").forEach(se=>se.shadowEnabled(!0)),ee.find(".page-background").forEach(se=>se.strokeEnabled(!0)),z.find("Transformer").forEach(se=>{se.visible(se.getAttr("oldVisible"))}),ee.find(".highlighter").forEach(se=>se.visible(!0)),Q.clip(Z),re.clip(ne),z.position(te),k.setElementsPixelRatio(U),q==null||q.set({_exporting:!1,_forceMount:!1}),ye},async toDataURL(O={}){var{mimeType:N,quality:A}=O,R=o(O,["mimeType","quality"]);const L=await k._toCanvas(Object.assign({mimeType:N},R)),V=L.toDataURL(N,A);return v.default.Util.releaseCanvas(L),V},async toBlob(O={}){var{mimeType:N,quality:A}=O,R=o(O,["mimeType","quality"]);const L=await k._toCanvas(Object.assign({mimeType:N},R)),V=await new Promise(G=>{L.toBlob(G,N,A)});return v.default.Util.releaseCanvas(L),V},async saveAsImage(O={}){var{fileName:N}=O,A=o(O,["fileName"]);const R=A.mimeType||"image/png",L=R.split("/")[1];(0,y.downloadFile)(await k.toDataURL(A),N||"polotno."+L,R)},async _toPDF(O){const N=O.dpi||k.dpi,A=O.parallel||1,R=O.unit||(k.unit==="px"?"mm":k.unit),L=O.pixelRatio||1,V=O.pageIds||k.pages.map(ne=>ne.id),G=k.pages.filter(ne=>V.includes(ne.id)),W=await(0,E.getJsPDF)(),X=ne=>(0,b.pxToUnit)({px:ne,unit:R,dpi:N}),q=O.cropMarkSize||0,z=X(q),Y=G[0]||{},U=O.includeBleed?Y.bleed:0,ee=X(Y.computedWidth+2*U+2*z),te=X(Y.computedHeight+2*U+2*z);var Q=new W({unit:R,orientation:ee>te?"landscape":"portrait",format:[ee,te],compress:!0,putOnlyUsedFonts:!0});Q.deletePage(1);const Z=((ne,ae)=>{for(var ue=[],fe=0;fe<ne.length;fe+=ae)ue.push(ne.slice(fe,fe+ae));return ue})(G,A);let re=0;for(const ne of Z){const ae=ne.map(async ue=>{const fe=O.includeBleed?ue.bleed:0,pe=ue.computedWidth+2*fe+2*q,ye=ue.computedHeight+2*fe+2*q,we=X(pe),je=X(ye);let Te=0,se=L;for(;Te<10;){Te+=1,Te===2&&console.error("Polotno can not export PDF with current settings. Quality is automatically reduced.");const _e=await k.toDataURL(Object.assign(Object.assign({},O),{pageId:ue.id,pixelRatio:se}));if(_e.length>20)return O.onProgress&&O.onProgress(++re/V.length*.9),{url:_e,width:we,height:je,widthPx:pe,heightPx:ye};se*=.8}});(await Promise.all(ae)).forEach(({url:ue,width:fe,height:pe,widthPx:ye,heightPx:we})=>{Q.addPage([fe,pe],fe>pe?"landscape":"portrait");const je=Q.getCurrentPageInfo();var Te;switch(R){case"pt":Te=1;break;case"mm":Te=72/25.4;break;case"cm":Te=72/2.54;break;case"in":Te=72;break;case"px":Te=.75;break;case"pc":case"em":Te=12;break;case"ex":Te=6;break;default:throw"Invalid unit: "+R}if(je.pageContext.cropBox={bottomLeftX:0,bottomLeftY:0,topRightX:fe*Te,topRightY:pe*Te},je.pageContext.artBox={bottomLeftX:X(q+U)*Te,bottomLeftY:X(q+U)*Te,topRightX:X(ye-q-U)*Te,topRightY:X(we-q-U)*Te},je.pageContext.bleedBox={bottomLeftX:X(q+U)*Te,bottomLeftY:X(q+U)*Te,topRightX:X(ye-q-U)*Te,topRightY:X(we-q-U)*Te},z){Q.setLineWidth(X(1));const se=z+X(U);Q.line(se,0,se,z),Q.line(0,se,z,se),Q.line(fe-se,0,fe-se,z),Q.line(fe,se,fe-z,se),Q.line(0,pe-se,z,pe-se),Q.line(se,pe,se,pe-z),Q.line(fe,pe-se,fe-z,pe-se),Q.line(fe-se,pe,fe-se,pe-z)}Q.addImage(ue,z,z,fe-2*z,pe-2*z,void 0,"FAST")})}return Q},toPDFDataURL:async O=>(await k._toPDF(Object.assign({mimeType:"image/jpeg"},O))).output("datauristring"),async toGIFDataURL(O={}){const N=O.pixelRatio||1,A=await(0,w.createGIF)({width:k.width*N,height:k.height*N}),R=1e3/(O.fps||10),L=k.duration/R;for(let V=0;V<L-1;V++){const G=V*R||1;k.setCurrentTime(G);let W=0,X="";for(const z of k.pages)if(W+=z.duration,z.set({_rendering:W>G}),W>G){X=z.id;break}const q=await k._toCanvas({pixelRatio:N,pageId:X,_skipTimeout:!0});A.addFrame(q.getContext("2d"),{delay:R,copy:!0})}for(const V of k.pages)V.set({_rendering:!1});return k.stop(),A.render(),new Promise(V=>{A.on("finished",function(G){(function(W,X){var q=new FileReader;q.onload=function(z){X(z.target.result)},q.readAsDataURL(W)})(G,V)})})},async saveAsGIF(O={}){var{fileName:N}=O,A=o(O,["fileName"]);const R=await k.toGIFDataURL(A);(0,y.downloadFile)(R,N||"polotno.gif")},async toHTML({elementHook:O}={elementHook:void 0}){const N=k.toJSON();return(0,d.jsonToHTML)({json:N,elementHook:O})},async saveAsHTML({fileName:O}={}){const N=await k.toHTML(),A="data:text/html;base64,"+window.btoa(unescape(encodeURIComponent(N)));(0,y.downloadFile)(A,O||"polotno.html")},async toSVG({elementHook:O,pageId:N}={elementHook:void 0,pageId:void 0}){var A;const R=k.toJSON();N=N||((A=R.pages[0])===null||A===void 0?void 0:A.id);const L=R.pages.find(V=>V.id===N);return(0,P.jsonToSVG)({json:Object.assign(Object.assign({},R),{pages:L?[L]:[]}),elementHook:O})},async saveAsSVG({fileName:O,elementHook:N,pageId:A}={}){const R=await k.toSVG({elementHook:N,pageId:A}),L="data:text/svg;base64,"+window.btoa(unescape(encodeURIComponent(R)));(0,y.downloadFile)(L,O||"polotno.svg")},async saveAsPDF(O={}){var{fileName:N}=O,A=o(O,["fileName"]);(await k._toPDF(Object.assign({mimeType:"image/jpeg"},A))).save(N||"polotno.pdf")},async waitLoading({_skipTimeout:O=!1}={}){O||await new Promise(N=>setTimeout(N,50)),await(0,_.whenLoaded)()},toJSON:()=>({width:k.width,height:k.height,fonts:(0,c.getSnapshot)(k.fonts),pages:(0,c.getSnapshot)(k.pages),audios:(0,c.getSnapshot)(k.audios),unit:k.unit,dpi:k.dpi,custom:k.custom}),loadJSON(O,N=!1){var A;const R=Object.assign({},O),L=k.pages.indexOf(k.activePage);let V=(A=R.pages[L]||R.pages[0])===null||A===void 0?void 0:A.id;R._activePageId=V;const G=Object.assign({},(0,c.getSnapshot)(k));Object.assign(G,R),G.history=N?k.history.toJSON():{history:[],undoIdx:-1},(0,c.applySnapshot)(k,G)},clear({keepHistory:O=!1}={}){const N=k.pages.map(A=>A.id);k.deletePages(N),k.custom=null,O||k.history.clear()},addFont(O){k.removeFont(O.fontFamily),k.fonts.push(O),k.loadFont(O.fontFamily)},removeFont(O){k.fonts.filter(N=>N.fontFamily===O).forEach(N=>(0,c.destroy)(N))},addAudio(O){const N=I.Audio.create(Object.assign({id:(0,f.nanoid)(10)},O));k.audios.push(N)},removeAudio(O){const N=k.audios.find(A=>A.id===O);N&&k.audios.remove(N)},async loadFont(O){const N=k.fonts.find(R=>R.fontFamily===O)||x.globalFonts.find(R=>R.fontFamily===O);let A=[{fontStyle:"normal",fontWeight:"normal"}];return N?(N.styles&&(A=N.styles.map(R=>({fontStyle:R.fontStyle||"normal",fontWeight:R.fontWeight||"normal"}))),x.injectCustomFont(N)):x.injectGoogleFont(O),Promise.all(A.map(R=>x.loadFont(O,R.fontStyle,R.fontWeight)))},validate:O=>e.Store.validate(O,[{path:"",type:e.Store}]).map(N=>({path:"store"+N.context.map(A=>A.path).join("."),message:N.message}))})),e.default=F}(Oi)),Oi}var Y3;function l_(){return Y3||(Y3=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Node=void 0;const n=Zi,t=Yp,r=tm(),a=o_(),o=Id();e.Node=n.types.model("Node",{id:n.types.identifier,type:"none",name:"",opacity:1,custom:n.types.frozen(),visible:!0,selectable:!0,removable:!0,alwaysOnTop:!1,showInExport:!0}).preProcessSnapshot(s=>{for(var c in s)s[c]===null&&(s[c]=void 0);return s}).postProcessSnapshot(s=>{const c=Object.assign({},s),m={};for(var f in c)f[0]!=="_"&&(m[f]=s[f]);return m}).views(s=>({get locked(){return!(s.draggable||s.contentEditable||s.styleEditable||s.resizable)},get page(){return(0,n.getParentOfType)(s,a.Page)},get store(){return(0,n.getParentOfType)(s,r.Store)},get top(){let c=s;for(;;){if(!(0,n.hasParentOfType)(c,o.GroupElement))return c;c=(0,n.getParentOfType)(c,o.GroupElement)}},get parent(){return(0,n.hasParentOfType)(s,o.GroupElement)?(0,n.getParentOfType)(s,o.GroupElement):(0,n.hasParentOfType)(s,a.Page)?(0,n.getParentOfType)(s,a.Page):(0,n.hasParentOfType)(s,r.Store)?(0,n.getParentOfType)(s,r.Store):null},get zIndex(){return s.parent.children.indexOf(s)}})).actions(s=>({toJSON:()=>Object.assign({},(0,n.getSnapshot)(s))})).actions(s=>({clone(c={},{skipSelect:m=!1}={}){const f=JSON.parse(JSON.stringify(s.toJSON()));return c.id=c.id||(0,t.nanoid)(10),(0,o.forEveryChild)(f,v=>{v.id=(0,t.nanoid)(10)}),Object.assign(f,c),s.page.addElement(f,{skipSelect:m})},set(c){Object.assign(s,c)},moveUp(){s.page.moveElementsUp([s.id])},moveTop(){s.page.moveElementsTop([s.id])},moveDown(){s.page.moveElementsDown([s.id])},moveBottom(){s.page.moveElementsBottom([s.id])},setZIndex(c){s.parent.setElementZIndex(s.id,c)},beforeDestroy(){}}))}(E1)),E1}var I1={},j1={},K3;function MP(){return K3||(K3=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.registerAnimation=e.animate=e.animations=void 0;const n=Ec(),t={right:{from:{x:-200},to:{x:0}},left:{from:{x:200},to:{x:0}},up:{from:{y:200},to:{y:0}},down:{from:{y:-200},to:{y:0}},"bottom-right":{from:{x:-200,y:-200},to:{x:0,y:0}},"bottom-left":{from:{x:200,y:-200},to:{x:0,y:0}},"top-right":{from:{x:-200,y:200},to:{x:0,y:0}},"top-left":{from:{x:200,y:200},to:{x:0,y:0}}},r={right:{cropX:-1},left:{cropX:1},up:{cropY:1},down:{cropY:-1}};e.animations={fade:({dTime:a,element:o,animation:s})=>{const c=a/s.duration;return s.type==="enter"?{opacity:c*o.opacity}:{opacity:(1-c)*o.opacity}},rotate:({dTime:a,element:o,animation:s})=>{const c=a/s.duration*360;return(0,n.rotateAroundCenter)({x:o.x,y:o.y,width:o.width,height:o.height,rotation:o.rotation},c)},blink:({dTime:a,element:o,animation:s})=>{const c=s.duration,m=a%c/(c/2),f=m<=1?m:2-m;return{opacity:o.opacity*f}},bounce:({dTime:a,element:o,animation:s})=>{var c;const m=s.duration,f=m/2,v=(c=s.data.strength)!==null&&c!==void 0?c:1,y={},E={x:o.x+o.width/3*v,y:o.y+o.height/3*v,width:o.width/3*v,height:o.height/3*v,fontSize:o.fontSize/3*v},w={x:o.x,y:o.y,width:o.width,height:o.height,fontSize:o.fontSize},S=a%m/f,x=S<=1?S:2-S;for(let _ in E){const b=E[_],g=w[_]-b;y[_]=b+x*g}return y},move:({dTime:a,element:o,animation:s})=>{var c;const m=t[s.data.direction]||t.right,f=(c=s.data.strength)!==null&&c!==void 0?c:1,v={};for(var y in m.from){let E=m.from[y],w=m.to[y];s.type==="exit"&&(E=m.to[y],w=-m.from[y]),E*=f,w*=f;const S=o[y]+E,x=o[y]+w-S;v[y]=S+a/s.duration*x}return v},zoom:({dTime:a,element:o,animation:s})=>{var c;const m={},f=1+(((s.data.direction||"in")==="in"?.75:1.25)-1)*((c=s.data.strength)!==null&&c!==void 0?c:1),v=o.rotation*Math.PI/180,y=Math.cos(v),E=Math.sin(v),w=o.width*(1-f),S=o.height*(1-f),x=(w*y-S*E)/2,_=(w*E+S*y)/2,b={x:o.x+x,y:o.y+_,width:o.width*f,height:o.height*f,fontSize:o.fontSize*f},g={x:o.x,y:o.y,width:o.width,height:o.height,fontSize:o.fontSize};for(var h in b){let d=b[h],P=g[h];if(s.type==="exit"){const T=d;d=P,P=T}const M=P-d;m[h]=d+a/s.duration*M}return m},cameraZoom:({dTime:a,element:o,animation:s})=>{var c,m,f;const v={},y=s.data.direction||"right",E=r[y]||r.right,w=(c=s.data.movementStrength)!==null&&c!==void 0?c:.1,S=(m=s.data.shakeStrength)!==null&&m!==void 0?m:.015;f=s.data.zoomStrength;const x=a/s.duration,_=S*(1-x),b=Math.sin(12*x)*_*.7+Math.sin(8*x)*_*.3;s.type==="exit"&&Math.max(o.cropWidth||1,o.cropHeight||1),s.type;const g=1-Math.pow(1-x,2),h=o.cropX||0,d=o.cropY||0,P=o.cropWidth||1,M=o.cropHeight||1,T=P,I=M;let F,k,O=0,N=0;if(E.cropX){const A=E.cropX>0?1-(h+P):h;O=Math.min(A,Math.abs(w))*E.cropX}if(E.cropY){const A=E.cropY>0?1-(d+M):d;N=Math.min(A,Math.abs(w))*E.cropY}return s.type==="enter"?(F=E.cropX?h+O*(1-g):h,k=E.cropY?d+N*(1-g):d):(F=E.cropX?h+O*g:h,k=E.cropY?d+N*g:d),v.cropX=Math.max(0,Math.min(1-T,F+b*T)),v.cropY=Math.max(0,Math.min(1-I,k+b*I)),v.cropWidth=T,v.cropHeight=I,v}},e.animate=({element:a,dTime:o,animation:s})=>{const c=e.animations[s.name];return c?c({element:a,dTime:o,animation:s}):(console.error("Can not find animation type: "+s.name),{})},e.registerAnimation=(a,o)=>{e.animations[a]&&console.warn(`Animation "${a}" already exists and will be overridden`),e.animations[a]=o}}(j1)),j1}var X3;function xc(){return X3||(X3=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.ShapeFilter=e.getDiff=e.Animation=void 0;const n=Zi,t=MP(),r=Xi,a=l_();e.Animation=n.types.model("Animation",{delay:0,duration:500,enabled:!0,type:n.types.enumeration("Type",["enter","exit","loop"]),name:"none",data:n.types.frozen({})}),e.getDiff=(o,s)=>{const c={};for(const m in s)if(typeof o[m]=="number"&&typeof s[m]=="number"){const f=s[m]-o[m];f!==0&&(c[m]=f)}return c},e.ShapeFilter=n.types.model("ShapeFilter",{intensity:1}),e.Shape=a.Node.named("Shape").props({x:0,y:0,width:100,height:100,rotation:0,opacity:1,animations:n.types.array(e.Animation),blurEnabled:!1,blurRadius:10,brightnessEnabled:!1,brightness:0,sepiaEnabled:!1,grayscaleEnabled:!1,filters:n.types.map(e.ShapeFilter),shadowEnabled:!1,shadowBlur:5,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"black",shadowOpacity:1,visible:!0,draggable:!0,resizable:!0,selectable:!0,contentEditable:!0,styleEditable:!0,alwaysOnTop:!1,showInExport:!0}).preProcessSnapshot(o=>{const s=Object.assign(Object.assign({},o),{x:o.x||0,y:o.y||0,filters:Array.isArray(o.filters)?{}:o.filters});return"width"in o&&(s.width=s.width||1),"height"in o&&(s.height=s.height||1),o.locked&&(s.draggable=!1,s.contentEditable=!1,s.styleEditable=!1,s.resizable=!1,s.removable=!1),s}).views(o=>{const s=(0,r.observable)({x:o.x,y:o.y,width:o.width,height:o.height,rotation:o.rotation,opacity:o.opacity,color:o.color,fontSize:o.fontSize}),c=(0,r.action)(f=>{Object.assign(s,f)}),m=(0,r.action)(f=>{for(const v in f)typeof s[v]=="number"&&(s[v]=s[v]+f[v])});return{get a(){const{currentTime:f}=o.store;if(c({x:o.x,y:o.y,width:o.width,height:o.height,rotation:o.rotation,opacity:o.opacity,color:o.color,fontSize:o.fontSize,cropX:o.cropX,cropY:o.cropY,cropWidth:o.cropWidth,cropHeight:o.cropHeight}),f===0)return s;const v=f-o.page.startTime;if(v>o.page.duration||v<0)return s;const y=o.store.animatedElementsIds;if(y.length&&!y.includes(o.id))return s;const E=o.animations.find(b=>b.type==="enter"),w=(E==null?void 0:E.enabled)&&v<E.delay;w&&c({opacity:0});const S=(E==null?void 0:E.enabled)&&v>=E.delay&&v<=E.delay+E.duration;if(S){const b=v-E.delay,g=(0,t.animate)({element:o,animation:E,dTime:b}),h=(0,e.getDiff)(o,g);m(h)}const x=o.animations.find(b=>b.type==="exit");if(!w&&!S&&(x!=null&&x.enabled)&&v>=o.page.duration-x.duration-x.delay&&v<=o.page.duration-x.delay){const b=v-(o.page.duration-x.duration-x.delay),g=(0,t.animate)({element:o,animation:x,dTime:b}),h=(0,e.getDiff)(o,g);m(h)}x!=null&&x.enabled&&v>=o.page.duration-x.delay&&c({opacity:0});const _=o.animations.find(b=>b.type==="loop");if(_!=null&&_.enabled){const b=v,g=(0,t.animate)({element:o,animation:_,dTime:b}),h=(0,e.getDiff)(o,g);m(h)}return s},animated:f=>o.a[f]}}).actions(o=>({setAnimation(s,c){const m=o.animations.find(f=>f.type===s);m?Object.assign(m,c):o.animations.push(Object.assign({type:s},c))},setFilter(s,c){o.filters.clear(),c!==0&&o.filters.set(s,{intensity:c})}}))}(I1)),I1}var D1={},Z3;function LP(){return Z3||(Z3=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TextElement=void 0;const n=Zi,t=xc();e.TextElement=t.Shape.named("Text").props({type:"text",text:"",placeholder:"",fontSize:14,fontFamily:"Roboto",fontStyle:"normal",fontWeight:"normal",textDecoration:"",fill:"black",align:"center",width:100,height:0,verticalAlign:"top",strokeWidth:0,stroke:"black",lineHeight:n.types.optional(n.types.union(n.types.number,n.types.string),1.2),letterSpacing:0,_editModeEnabled:!1,backgroundEnabled:!1,backgroundColor:"#7ED321",backgroundOpacity:1,backgroundCornerRadius:.5,backgroundPadding:.5}).preProcessSnapshot(r=>Object.assign({},r)).actions(r=>({toggleEditMode(a){r._editModeEnabled=a??!r._editModeEnabled,r._editModeEnabled?r.store.history.startTransaction():r.store.history.endTransaction()}}))}(D1)),D1}var F1={},Q3;function rm(){return Q3||(Q3=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ImageElement=void 0;const n=xc();e.ImageElement=n.Shape.named("Image").props({type:"image",width:100,height:100,src:"",cropX:0,cropY:0,cropWidth:1,cropHeight:1,cornerRadius:0,flipX:!1,flipY:!1,clipSrc:"",borderColor:"black",borderSize:0,keepRatio:!1,_cropModeEnabled:!1}).actions(t=>({toggleCropMode(r){t._cropModeEnabled=r??!t._cropModeEnabled,t._cropModeEnabled?t.store.history.startTransaction():t.store.history.endTransaction()},beforeDestroy(){t._cropModeEnabled&&t.store.history.endTransaction()}}))}(F1)),F1}var z1={},J3;function NP(){return J3||(J3=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.VideoElement=void 0;const n=rm();e.VideoElement=n.ImageElement.named("Video").props({type:"video",duration:0,startTime:0,endTime:1,volume:1})}(z1)),z1}var B1={},e5;function IP(){return e5||(e5=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LineElement=void 0;const n=Zi,t=xc();e.LineElement=t.Shape.named("Line").props({type:"line",width:400,height:10,color:"black",dash:n.types.array(n.types.number),startHead:"",endHead:""}).actions(r=>({}))}(B1)),B1}var U1={},t5;function jP(){return t5||(t5=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SVGElement=void 0;const n=Zi,t=xc();e.SVGElement=t.Shape.named("SVG").props({type:"svg",src:"",maskSrc:"",cropX:0,cropY:0,cropWidth:1,cropHeight:1,keepRatio:!0,flipX:!1,flipY:!1,width:100,height:100,borderColor:"black",borderSize:0,cornerRadius:0,colorsReplace:n.types.map(n.types.string)}).preProcessSnapshot(r=>Object.assign(Object.assign({},r),{src:r.src||r.svgSource,colorsReplace:Array.isArray(r.colorsReplace)?{}:r.colorsReplace})).actions(r=>({replaceColor(a,o){r.colorsReplace.set(a,o)}}))}(U1)),U1}var q1={},r5;function DP(){return r5||(r5=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.FigureElement=void 0;const n=Zi,t=xc();e.FigureElement=t.Shape.named("Figure").props({type:"figure",subType:"rect",fill:"rgb(0, 161, 255)",dash:n.types.array(n.types.number),strokeWidth:0,stroke:"rgba(98, 197, 255, 1)",cornerRadius:0})}(q1)),q1}var H1={},n5;function FP(){return n5||(n5=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.GifElement=void 0;const n=rm();e.GifElement=n.ImageElement.named("Gif").props({type:"gif",duration:0,keepRatio:!0})}(H1)),H1}var i5;function Id(){return i5||(i5=1,function(e){var n=Sd&&Sd.__rest||function(x,_){var b={};for(var g in x)Object.prototype.hasOwnProperty.call(x,g)&&_.indexOf(g)<0&&(b[g]=x[g]);if(x!=null&&typeof Object.getOwnPropertySymbols=="function"){var h=0;for(g=Object.getOwnPropertySymbols(x);h<g.length;h++)_.indexOf(g[h])<0&&Object.prototype.propertyIsEnumerable.call(x,g[h])&&(b[g[h]]=x[g[h]])}return b};Object.defineProperty(e,"__esModule",{value:!0}),e.TYPES_MAP=e.GroupElement=e.ElementTypes=e.forEveryChild=void 0,e.registerShapeModel=function(x,_){const b=x.type;if(!b)throw new Error('You must pass "type" attribute to custom model.');let g=o.Shape.named(b).props(x);_&&(g=_(g)),e.TYPES_MAP[b]=g,S.push(g)};const t=Zi,r=Yp,a=l_(),o=xc(),s=LP(),c=rm(),m=NP(),f=IP(),v=jP(),y=DP(),E=FP();e.forEveryChild=(x,_)=>{if(x.children)for(const b of x.children){if(_(b)===!0)break;(0,e.forEveryChild)(b,_)}};const w=[...new Array(20)].map((x,_)=>t.types.late(()=>S[_]));e.ElementTypes=t.types.union({dispatcher:x=>{const _=e.TYPES_MAP[x.type];if(!_)throw new Error(`Unknown element type: "${x.type}"`);return _}},v.SVGElement,s.TextElement,c.ImageElement,f.LineElement,m.VideoElement,y.FigureElement,E.GifElement,t.types.late(()=>e.GroupElement),...w),e.GroupElement=a.Node.named("Group").props({type:"group",children:t.types.array(e.ElementTypes)}).views(x=>({get draggable(){let _=!0;return(0,e.forEveryChild)(x,b=>{b.draggable||(_=!1)}),_},get resizable(){let _=!0;return(0,e.forEveryChild)(x,b=>{b.resizable||(_=!1)}),_},get contentEditable(){let _=!0;return(0,e.forEveryChild)(x,b=>{b.contentEditable||(_=!1)}),_},get styleEditable(){let _=!0;return(0,e.forEveryChild)(x,b=>{b.styleEditable||(_=!1)}),_},get locked(){let _=!0;return(0,e.forEveryChild)(x,b=>{b.locked||(_=!1)}),_}})).actions(x=>({set(_){var{draggable:b,contentEditable:g,styleEditable:h,resizable:d}=_,P=n(_,["draggable","contentEditable","styleEditable","resizable"]);b!==void 0&&(0,e.forEveryChild)(x,M=>{M.set({draggable:b})}),g!==void 0&&(0,e.forEveryChild)(x,M=>{M.set({contentEditable:g})}),h!==void 0&&(0,e.forEveryChild)(x,M=>{M.set({styleEditable:h})}),d!==void 0&&(0,e.forEveryChild)(x,M=>{M.set({resizable:d})}),Object.assign(x,P)},addElement(_,{skipSelect:b=!1}={}){const g=e.TYPES_MAP[_.type];if(!g)return void console.error("Can not find model with type "+_.type);_.children&&_.children.forEach(d=>{d.id=(0,r.nanoid)(10)});const h=g.create(Object.assign({id:(0,r.nanoid)(10)},_));return x.children.push(h),h.selectable&&!b&&x.store.selectElements([h.id]),h},setElementZIndex(_,b){const g=x.children.find(h=>h.id===_);g&&((0,t.detach)(g),x.children.remove(g),x.children.splice(b,0,g))}}));const S=[];e.TYPES_MAP={svg:v.SVGElement,text:s.TextElement,image:c.ImageElement,group:e.GroupElement,line:f.LineElement,video:m.VideoElement,figure:y.FigureElement,gif:E.GifElement}}(Sd)),Sd}var a5;function zP(){return a5||(a5=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isClipboardEmpty=e.paste=e.cut=e.copy=void 0;const n=Id(),t=Ec();let r={data:[],pageId:""};const a="polotno_clipboard",o=(c,m)=>{r={data:JSON.parse(JSON.stringify(c)),pageId:m};try{localStorage.setItem(a,JSON.stringify(c)),localStorage.setItem(a+"_page",m)}catch{}},s=()=>{try{const c=localStorage.getItem(a),m=localStorage.getItem(a+"_page");if(c)return{data:JSON.parse(c),pageId:m}}catch{}return r};e.copy=c=>{var m;c.selectedElements.length!==0&&o(c.selectedElements.map(f=>f.toJSON()),(m=c.activePage)===null||m===void 0?void 0:m.id)},e.cut=c=>{var m;o(c.selectedElements.map(v=>v.toJSON()),(m=c.activePage)===null||m===void 0?void 0:m.id);let f=c.selectedElements.filter(v=>v.removable).map(v=>v.id);c.deleteElements(f)},e.paste=c=>{c.history.transaction(()=>{var m,f;let v=0,y=0;const{data:E,pageId:w}=s();if(w===((m=c.activePage)===null||m===void 0?void 0:m.id))v=c.width/20,y=c.height/20;else{const x=[];(0,n.forEveryChild)({children:E},b=>{b.type!=="group"&&x.push(b)});const _=(0,t.getTotalClientRect)(x);_.maxX>c.width&&(v=-_.minX),_.maxY>c.height&&(y=-_.minY)}const S=[];(0,n.forEveryChild)({children:E},x=>{delete x.id,x.type!=="group"&&(x.x+=v,x.y+=y)}),E.forEach(x=>{var _;const b=(_=c.activePage)===null||_===void 0?void 0:_.addElement(x);b&&S.push(b.id)}),o(E,(f=c.activePage)===null||f===void 0?void 0:f.id),c.selectElements(S)})},e.isClipboardEmpty=()=>s().data.length===0}(S1)),S1}var o5;function BP(){return o5||(o5=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.handleHotkey=function(t,r){var a,o,s,c;if(((a=document.activeElement)===null||a===void 0?void 0:a.tagName)==="INPUT"||((o=document.activeElement)===null||o===void 0?void 0:o.tagName)==="TEXTAREA"||((s=document.activeElement)===null||s===void 0?void 0:s.contentEditable)==="true")return;const m=r.selectedElements.filter(y=>y.removable).map(y=>y.id);t.keyCode!==46&&t.keyCode!==8||r.deleteElements(m);const f=t.ctrlKey||t.metaKey,v=t.shiftKey;if(!f||v||t.key.toLowerCase()!=="z"&&t.key.toLowerCase()!=="y"||(t.preventDefault(),r.history.undo()),f&&v&&(t.key.toLowerCase()==="z"||t.key.toLowerCase()==="y")&&(t.preventDefault(),r.history.redo()),f&&t.code==="KeyA"){t.preventDefault();const y=(c=r.activePage)===null||c===void 0?void 0:c.children.filter(w=>w.selectable),E=(y==null?void 0:y.map(w=>w.id))||[];r.selectElements(E)}f&&t.code==="KeyC"&&(t.preventDefault(),(0,n.copy)(r)),f&&t.code==="KeyX"&&(t.preventDefault(),(0,n.cut)(r)),f&&t.code==="KeyV"&&(t.preventDefault(),(0,n.paste)(r)),t.code==="ArrowDown"&&(t.preventDefault(),r.selectedElements.forEach(y=>{y.draggable&&y.set({y:y.y+1})})),t.code==="ArrowUp"&&(t.preventDefault(),r.selectedElements.forEach(y=>{y.draggable&&y.set({y:y.y-1})})),t.code==="ArrowLeft"&&(t.preventDefault(),r.selectedElements.forEach(y=>{y.draggable&&y.set({x:y.x-1})})),t.code==="ArrowRight"&&(t.preventDefault(),r.selectedElements.forEach(y=>{y.draggable&&y.set({x:y.x+1})}))};const n=zP()}(_1)),_1}var G1={},l5;function UP(){return l5||(l5=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.t=e.getTranslations=e.setTranslations=void 0;const n=Xi,t=(0,n.observable)({toolbar:{duration:"Duration",opacity:"Opacity",effects:"Effects",blur:"Blur",textBackground:"Background",backgroundCornerRadius:"Corner radius",backgroundOpacity:"Opacity",backgroundPadding:"Padding",brightness:"Brightness",filters:"Filters",sepia:"Sepia",grayscale:"Grayscale",textStroke:"Text Stroke",shadow:"Shadow",border:"Border",cornerRadius:"Corner Radius",copyStyle:"Copy style",position:"Position",layering:"Layering",toForward:"To forward",up:"Up",down:"Down",toBottom:"To bottom",alignLeft:"Align left",alignCenter:"Align center",alignRight:"Align right",alignTop:"Align top",alignMiddle:"Align middle",alignBottom:"Align bottom",flip:"Flip",flipHorizontally:"Flip horizontally",flipVertically:"Flip vertically",fitToBackground:"Fit to page",removeBackground:"Remove background",removeBackgroundTitle:"Remove background from image",cancelRemoveBackground:"Cancel",confirmRemoveBackground:"Confirm",crop:"Crop",cropDone:"Done",cropCancel:"Cancel",clip:"Apply mask",removeClip:"Remove mask",removeMask:"Remove mask",transparency:"Transparency",lockedDescription:"Object is locked. Unlock it to allow changes from canvas.",unlockedDescription:"Object is unlocked. Lock it to prevent changes from canvas.",removeElements:"Remove elements",duplicateElements:"Duplicate elements",download:"Download",saveAsImage:"Save as image",saveAsPDF:"Save as PDF",lineHeight:"Line height",letterSpacing:"Letter spacing",offsetX:"Offset X",offsetY:"Offset Y",color:"Color",selectable:"Selectable",draggable:"Draggable",removable:"Removable",resizable:"Resizable",contentEditable:"Can change content",styleEditable:"Can change style",alwaysOnTop:"Always on top",showInExport:"Show in export",ungroupElements:"Ungroup",groupElements:"Group",lineSize:"Line size",fade:"Fade",move:"Move",zoom:"Zoom",animate:"Animate",rotate:"Rotate",none:"None",bounce:"Bounce",blink:"Blink",strength:"Strength",spaceEvenly:"Space evenly",horizontalDistribution:"Horizontally",verticalDistribution:"Vertically",strokeWidth:"Stroke Width",colorPicker:{solid:"Solid",linear:"Linear"},aiText:{aiWrite:"AI write",rewrite:"Rewrite",shorten:"Shorten",continue:"Continue writing",proofread:"Proofread",tones:"Tones",friendly:"Friendly",professional:"Professional",humorous:"Humorous",formal:"Formal",customPrompt:"Custom prompt",generatedResult:"Generated result",cancel:"Cancel",generate:"Generate",back:"Back",tryAgain:"Try Again",insert:"Insert",promptPlaceholder:"Describe what you want to generate"}},workspace:{noPages:"There are no pages yet...",addPage:"Add page",removePage:"Remove page",duplicatePage:"Duplicate page",moveUp:"Move up",moveDown:"Move down"},scale:{reset:"Reset"},error:{removeBackground:"Ops! Something went wrong. Background can not be removed."},sidePanel:{templates:"Templates",searchTemplatesWithSameSize:"Show templates with the same size",searchPlaceholder:"Search...",otherFormats:"Other formats",noResults:"No results",error:"Loading is failed...",text:"Text",uploadFont:"Upload font",myFonts:"My fonts",photos:"Photos",videos:"Videos",animations:"Animations",effects:"Effects",elements:"Elements",shapes:"Shapes",lines:"Lines",upload:"Upload",uploadImage:"Add file",uploadTip:"Upload your assets",background:"Background",resize:"Resize",layers:"Layers",animate:"Animate",layerTypes:{image:"Image",text:"Text",svg:"SVG",line:"Line",figure:"Figure",group:"Group"},layersTip:"Elements on your active page:",noLayers:"No elements on the page...",namePlaceholder:"Type element name...",useMagicResize:"Use magic resize",clipImage:"Mask image",width:"Width",height:"Height",magicResizeDescription:"Magic resize will automatically resize and move all elements on the canvas",headerText:"Header",createHeader:"Create header",subHeaderText:"Sub Header",createSubHeader:"Create sub header",bodyText:"Body text",createBody:"Create body text"},pagesTimeline:{pages:"Pages",removePage:"Remove page",addPage:"Add page",duplicatePage:"Duplicate page",removeAudio:"Remove audio"},contextMenu:{duplicate:"Duplicate",remove:"Remove",lock:"Lock",unlock:"Unlock",copy:"Copy",paste:"Paste",copyStyle:"Copy style",moveUp:"Move up",moveDown:"Move down",moveBack:"Move back",moveForward:"Move forward"}}),r=c=>c&&typeof c=="object";function a(c,m){Object.keys(m).forEach(f=>{const v=c[f],y=m[f];r(y)&&r(v)?a(v,y):c[f]=y})}function o(c,m,f=""){Object.keys(m).forEach(v=>{const y=m[v],E=f?`${f}.${v}`:v;r(y)?r(c[v])?o(c[v],y,E):console.warn(`Missing nested translation object at '${E}'`):c[v]===void 0&&console.warn(`Missing translation '${E}'`)})}e.setTranslations=(0,n.action)((c,{validate:m=!1}={})=>{m&&o(c,t),a(t,c)}),e.getTranslations=()=>(0,n.toJS)(t);const s={};e.t=c=>{const m=function(y,E){var w,S=E.split("."),x=y;for(w=0;w<S.length;++w){if(x[S[w]]==null)return;x=x[S[w]]}return x}(t,c);if(m!==void 0)return m;s[c]||(s[c]=!0,console.warn(`Missing translation '${c}'`));const f=c.split("."),v=f[f.length-1]||" ";return v.charAt(0).toUpperCase()+v.slice(1)}}(G1)),G1}var s5;function qP(){return s5||(s5=1,function(e){var n=yf&&yf.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.WorkspaceCanvas=void 0;const t=n(Or()),r=Ri,a=n(vP()),o=mP(),s=yP(),c=BP(),m=UP(),f=({store:y})=>t.default.createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",textAlign:"center"}},t.default.createElement("p",null,(0,m.t)("workspace.noPages")),t.default.createElement("button",{onClick:()=>{y.addPage()}},(0,m.t)("workspace.addPage"))),v=({width:y,height:E,xPadding:w,yPadding:S,backgroundColor:x})=>t.default.createElement("div",{style:{width:y+"px",height:E+"px",backgroundColor:x,paddingLeft:w+"px",paddingRight:w+"px",paddingTop:S+"px",paddingBottom:S+"px"}},t.default.createElement("div",{style:{width:" 100%",height:"100%",backgroundColor:"white"}}));e.WorkspaceCanvas=(0,r.observer)(({store:y,pageControlsEnabled:E,backgroundColor:w,pageBorderColor:S,activePageBorderColor:x,bleedColor:_,components:b,onKeyDown:g,paddingX:h,paddingY:d,altCloneEnabled:P=!0,visiblePagesOffset:M,renderOnlyActivePage:T})=>{var I;const F=h??20,k=d??55,[O,N]=t.default.useState({width:100,height:100}),A=t.default.useRef(O),R=t.default.useRef(null),L=t.default.useRef(null),V=y.bleedVisible?Math.max(0,...y.pages.map(ye=>ye.bleed)):0,G=Math.max(...y.pages.map(ye=>ye.computedWidth)),W=Math.max(...y.pages.map(ye=>ye.computedHeight)),X=((I=y.activePage)===null||I===void 0?void 0:I.computedHeight)||0,q=G+2*V,z=(T?X:W)+2*V,Y=async({skipTimeout:ye}={skipTimeout:!1})=>{if(ye||await new Promise(oe=>setTimeout(oe,50)),R.current===null)return;const we=R.current.getBoundingClientRect();we.width!==0&&we.height!==0||(console.warn(`Polotno warning: <Workspace /> component can not automatically detect its size.
|
|
327
327
|
Width or height of parent elements is equal 0.
|
|
328
328
|
Please make sure it has non-zero size. You may need to adjust it with your styles. <Workspace /> will automatically fit into parent container.
|
|
329
|
-
For simpler debugging here is the log of the parent element:`),console.log(R.current));const je=L.current.clientWidth||we.width,Te={width:je,height:we.height};(A.current.width!==Te.width||A.current.height!==Te.height)&&(N(Te),A.current=Te);const se=(je-2*F)/q,_e=y.pages.length>1?3.1:2,he=(we.height-k*_e)/z,xe=Math.max(Math.min(se,he),.01);y.scaleToFit!==xe&&(y.setScale(xe),y._setScaleToFit(xe))};t.default.useLayoutEffect(()=>{Y({skipTimeout:!0})},[]),t.default.useEffect(()=>{Y()},[q,z]),t.default.useEffect(()=>{y.__()},[]),t.default.useEffect(()=>{const ye=R.current;if(window.ResizeObserver){const we=new ResizeObserver(()=>{Y({skipTimeout:!0})});return we.observe(ye),()=>we.unobserve(ye)}{const we=setInterval(()=>{Y({skipTimeout:!0})},100);return()=>clearInterval(we)}},[q,z]);const U=Math.max(F,(O.width-q*y.scale)/2),ee=T?1:y.pages.length,te=z*y.scale*ee,Q=Math.max(k,(O.height-te)/ee/2);t.default.useEffect(()=>{const ye=we=>{(g||c.handleHotkey)(we,y)};return window.addEventListener("keydown",ye),()=>window.removeEventListener("keydown",ye)},[]),t.default.useEffect(()=>{var ye;const we=je=>{if(je.ctrlKey||je.metaKey){je.preventDefault();const he=Math.max(3,y.scaleToFit),xe=Math.min(.1,y.scaleToFit),oe=(Te=je.deltaY<0?1.02*y.scale:y.scale/1.02,se=xe,_e=he,Math.max(se,Math.min(_e,Te)));y.setScale(oe)}else var Te,se,_e};return(ye=L.current)===null||ye===void 0||ye.addEventListener("wheel",we),()=>{var je;return(je=L.current)===null||je===void 0?void 0:je.removeEventListener("wheel",we)}},[]);const Z=t.default.useRef(!1);((ye,we,je,Te,se,_e)=>{const he=t.default.useRef({width:we,height:je}),xe=t.default.useRef({top:0,left:0}),oe=t.default.useRef(!1),ve=t.default.useRef(se.pages.length);oe.current=ve.current!==se.pages.length,ve.current=se.pages.length,t.default.useEffect(()=>{const de=ye.current,ke=Be=>{xe.current={top:de.scrollTop,left:de.scrollLeft}};return de.addEventListener("scroll",ke),()=>{de.removeEventListener("scroll",ke)}},[]),t.default.useLayoutEffect(()=>{if(!ye.current||oe.current)return;const de=ye.current,ke=(xe.current.left+de.offsetWidth/2)/he.current.width,Be=(xe.current.top+de.offsetHeight/2)/he.current.height;_e.current=!0,de.scrollLeft=ke*we-de.offsetWidth/2,de.scrollTop=Be*je-de.offsetHeight/2,he.current={width:we,height:je}},[Te,we,je])})(L,q*y.scale+2*U,z*y.scale+2*Q,y.scale,y,Z);const{handleScroll:re}=((ye,we,je,Te,se,_e)=>{const he=t.default.useRef(!1),xe=t.default.useRef(null),oe=t.default.useRef(!1);t.default.useEffect(()=>{const de=ye.current,ke=()=>{se.current};return de.addEventListener("scroll",ke),()=>{de.removeEventListener("scroll",ke)}},[]);const ve=je.pages.indexOf(je.activePage);return t.default.useLayoutEffect(()=>{if(!je.activePage||!ye.current||he.current)return;const de=ye.current,ke=je.pages.indexOf(je.activePage)*we;let Be=()=>{};return(Math.abs(ke-de.scrollTop)>.5*we||oe.current)&&(oe.current=!0,Be=(({element:Qe,scrollTop:Ke=0,duration:St=300,onFinish:Ue=()=>{}})=>{const rt=Qe.scrollTop,gt=Ke-rt;let mt=0,kt=!1;if(St===0)return Qe.scrollTop=Ke,()=>{};const jt=()=>{if(kt)return;mt+=20;const Se=Oe(mt,rt,gt,St);Qe.scrollTop=Se,mt<St?setTimeout(jt,20):Ue()},Oe=(Se,yt,Fe,qe)=>(Se/=qe/2)<1?Fe/2*Se*Se+yt:-Fe/2*(--Se*(Se-2)-1)+yt;return jt(),()=>{kt=!0}})({element:de,scrollTop:ke,onFinish:()=>{oe.current=!1},duration:je.isPlaying?0:300})),Be},[je.activePage,ve,je.isPlaying]),{handleScroll:de=>{if(_e||oe.current)return;he.current=!0,clearTimeout(xe.current),xe.current=setTimeout(()=>{he.current=!1},300);const ke=de.currentTarget.childNodes[0].offsetHeight,Be=de.currentTarget.scrollTop,Qe=Math.floor((Be+Te.height/3)/ke),Ke=je.pages[Qe];Ke&&je.activePage!==Ke&&Ke.select()}}})(L,z*y.scale+2*Q,y,O,Z,T),ne=O.width>=q*y.scale+2*U,ae=w||"rgba(232, 232, 232, 0.9)",ue=y.pages.indexOf(y.activePage),fe=(b==null?void 0:b.NoPages)||f,pe=M??Math.min(3,Math.max(1,Math.ceil(O.height/2/(z*y.scale))));return t.default.createElement("div",{ref:R,style:{width:"100%",height:"100%",position:"relative",outline:"none",flex:1,backgroundColor:ae,overflow:"hidden"},tabIndex:0,className:"polotno-workspace-container"},t.default.createElement("div",{ref:L,onScroll:re,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"auto",overflowX:ne?"hidden":"auto"},className:"polotno-workspace-inner"},y.pages.map((ye,we)=>{const je=ye===y.activePage;if(T&&!je&&!ye._exportingOrRendering&&!ye._forceMount)return null;if(!(Math.abs(we-ue)<=pe||ye._exportingOrRendering||ye._forceMount))return t.default.createElement(v,{key:ye.id,width:q*y.scale+2*U,height:z*y.scale+2*Q,backgroundColor:ae,xPadding:U,yPadding:Q});const Te=t.default.createElement(a.default,{key:ye.id,page:ye,xPadding:U,yPadding:Q,width:q*y.scale+2*U,height:z*y.scale+2*Q,store:y,pageControlsEnabled:E,backColor:ae,pageBorderColor:S||"lightgrey",activePageBorderColor:x||"rgb(0, 161, 255)",altCloneEnabled:P,bleedColor:_||"rgba(255, 0, 0, 0.1)",components:b,viewportSize:O});return(ye._exportingOrRendering||ye._forceMount)&&!je&&T?t.default.createElement("div",{style:{display:"none"},key:ye.id},Te):Te}),y.rulesVisible&&t.default.createElement(o.TopRules,{store:y,xPadding:U,yPadding:Q,width:q*y.scale+2*U,height:z*y.scale+2*Q}),y.pages.length===0&&t.default.createElement(fe,{store:y}),y.audios.map(ye=>t.default.createElement(s.AudioElement,{key:ye.id,audio:ye,store:y}))))}),e.default=e.WorkspaceCanvas}(yf)),yf}var HP=qP(),GP=tm(),VP=Ys(),xd=Jl(),V1=Ks(),$P=Vd();VP.toggleFadeInAnimation(!1);xd.setTextOverflow("change-font-size");const WP=new URLSearchParams(location.search).get("key"),s_=GP.createStore({key:WP});window.store=s_;window.config={addGlobalFont:$P.addGlobalFont,unstable_useHtmlTextRender:xd.useHtmlTextRender,unstable_setTextVerticalResizeEnabled:xd.setTextVerticalResizeEnabled,unstable_setTextOverflow:xd.setTextOverflow,onLoadError:V1.onLoadError,setAssetLoadTimeout:V1.setAssetLoadTimeout,setFontLoadTimeout:V1.setFontLoadTimeout,unstable_setTextSplitAllowed:xd.setTextSplitAllowed};const YP=c5.createRoot(document.getElementById("root"));YP.render(Gt.createElement(HP.WorkspaceCanvas,{visiblePagesOffset:0,store:s_,components:{PageControls:()=>null,Tooltip:()=>null}}));
|
|
329
|
+
For simpler debugging here is the log of the parent element:`),console.log(R.current));const je=L.current.clientWidth||we.width,Te={width:je,height:we.height};(A.current.width!==Te.width||A.current.height!==Te.height)&&(N(Te),A.current=Te);const se=(je-2*F)/q,_e=y.pages.length>1?3.1:2,he=(we.height-k*_e)/z,xe=Math.max(Math.min(se,he),.01);y.scaleToFit!==xe&&(y.setScale(xe),y._setScaleToFit(xe))};t.default.useLayoutEffect(()=>{Y({skipTimeout:!0})},[]),t.default.useEffect(()=>{Y()},[q,z]),t.default.useEffect(()=>{y.__()},[]),t.default.useEffect(()=>{const ye=R.current;if(window.ResizeObserver){const we=new ResizeObserver(()=>{Y({skipTimeout:!0})});return we.observe(ye),()=>we.unobserve(ye)}{const we=setInterval(()=>{Y({skipTimeout:!0})},100);return()=>clearInterval(we)}},[q,z]);const U=Math.max(F,(O.width-q*y.scale)/2),ee=T?1:y.pages.length,te=z*y.scale*ee,Q=Math.max(k,(O.height-te)/ee/2);t.default.useEffect(()=>{const ye=we=>{(g||c.handleHotkey)(we,y)};return window.addEventListener("keydown",ye),()=>window.removeEventListener("keydown",ye)},[]),t.default.useEffect(()=>{var ye;const we=je=>{if(je.ctrlKey||je.metaKey){je.preventDefault();const he=Math.max(3,y.scaleToFit),xe=Math.min(.1,y.scaleToFit),oe=(Te=je.deltaY<0?1.02*y.scale:y.scale/1.02,se=xe,_e=he,Math.max(se,Math.min(_e,Te)));y.setScale(oe)}else var Te,se,_e};return(ye=L.current)===null||ye===void 0||ye.addEventListener("wheel",we),()=>{var je;return(je=L.current)===null||je===void 0?void 0:je.removeEventListener("wheel",we)}},[]);const Z=t.default.useRef(!1);((ye,we,je,Te,se,_e)=>{const he=t.default.useRef({width:we,height:je}),xe=t.default.useRef({top:0,left:0}),oe=t.default.useRef(!1),ve=t.default.useRef(se.pages.length);oe.current=ve.current!==se.pages.length,ve.current=se.pages.length,t.default.useEffect(()=>{const de=ye.current,ke=Be=>{xe.current={top:de.scrollTop,left:de.scrollLeft}};return de.addEventListener("scroll",ke),()=>{de.removeEventListener("scroll",ke)}},[]),t.default.useLayoutEffect(()=>{if(!ye.current||oe.current)return;const de=ye.current,ke=(xe.current.left+de.offsetWidth/2)/he.current.width,Be=(xe.current.top+de.offsetHeight/2)/he.current.height;_e.current=!0,de.scrollLeft=ke*we-de.offsetWidth/2,de.scrollTop=Be*je-de.offsetHeight/2,he.current={width:we,height:je}},[Te,we,je])})(L,q*y.scale+2*U,z*y.scale+2*Q,y.scale,y,Z);const{handleScroll:re}=((ye,we,je,Te,se,_e)=>{const he=t.default.useRef(!1),xe=t.default.useRef(null),oe=t.default.useRef(!1);t.default.useEffect(()=>{const de=ye.current,ke=()=>{se.current};return de.addEventListener("scroll",ke),()=>{de.removeEventListener("scroll",ke)}},[]);const ve=je.pages.indexOf(je.activePage);return t.default.useLayoutEffect(()=>{if(!je.activePage||!ye.current||he.current)return;const de=ye.current,ke=je.pages.indexOf(je.activePage)*we;let Be=()=>{};return(Math.abs(ke-de.scrollTop)>.5*we||oe.current)&&(oe.current=!0,Be=(({element:Qe,scrollTop:Ke=0,duration:St=300,onFinish:Ue=()=>{}})=>{const rt=Qe.scrollTop,gt=Ke-rt;let mt=0,kt=!1;if(St===0)return Qe.scrollTop=Ke,()=>{};const jt=()=>{if(kt)return;mt+=20;const Se=Oe(mt,rt,gt,St);Qe.scrollTop=Se,mt<St?setTimeout(jt,20):Ue()},Oe=(Se,yt,Fe,qe)=>(Se/=qe/2)<1?Fe/2*Se*Se+yt:-Fe/2*(--Se*(Se-2)-1)+yt;return jt(),()=>{kt=!0}})({element:de,scrollTop:ke,onFinish:()=>{oe.current=!1},duration:je.isPlaying?0:300})),Be},[je.activePage,ve,je.isPlaying]),{handleScroll:de=>{if(_e||oe.current)return;he.current=!0,clearTimeout(xe.current),xe.current=setTimeout(()=>{he.current=!1},300);const ke=de.currentTarget.childNodes[0].offsetHeight,Be=de.currentTarget.scrollTop,Qe=Math.floor((Be+Te.height/3)/ke),Ke=je.pages[Qe];Ke&&je.activePage!==Ke&&Ke.select()}}})(L,z*y.scale+2*Q,y,O,Z,T),ne=O.width>=q*y.scale+2*U,ae=w||"rgba(232, 232, 232, 0.9)",ue=y.pages.indexOf(y.activePage),fe=(b==null?void 0:b.NoPages)||f,pe=M??Math.min(3,Math.max(1,Math.ceil(O.height/2/(z*y.scale))));return t.default.createElement("div",{ref:R,style:{width:"100%",height:"100%",position:"relative",outline:"none",flex:1,backgroundColor:ae,overflow:"hidden"},tabIndex:0,className:"polotno-workspace-container"},t.default.createElement("div",{ref:L,onScroll:re,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"auto",overflowX:ne?"hidden":"auto"},className:"polotno-workspace-inner"},y.pages.map((ye,we)=>{const je=ye===y.activePage;if(T&&!je&&!ye._exportingOrRendering&&!ye._forceMount)return null;if(!(Math.abs(we-ue)<=pe||ye._exportingOrRendering||ye._forceMount))return t.default.createElement(v,{key:ye.id,width:q*y.scale+2*U,height:z*y.scale+2*Q,backgroundColor:ae,xPadding:U,yPadding:Q});const Te=t.default.createElement(a.default,{key:ye.id,page:ye,xPadding:U,yPadding:Q,width:q*y.scale+2*U,height:z*y.scale+2*Q,store:y,pageControlsEnabled:E,backColor:ae,pageBorderColor:S||"lightgrey",activePageBorderColor:x||"rgb(0, 161, 255)",altCloneEnabled:P,bleedColor:_||"rgba(255, 0, 0, 0.1)",components:b,viewportSize:O});return(ye._exportingOrRendering||ye._forceMount)&&!je&&T?t.default.createElement("div",{style:{display:"none"},key:ye.id},Te):Te}),y.rulesVisible&&t.default.createElement(o.TopRules,{store:y,xPadding:U,yPadding:Q,width:q*y.scale+2*U,height:z*y.scale+2*Q}),y.pages.length===0&&t.default.createElement(fe,{store:y}),y.audios.map(ye=>t.default.createElement(s.AudioElement,{key:ye.id,audio:ye,store:y}))))}),e.default=e.WorkspaceCanvas}(yf)),yf}var HP=qP(),GP=tm(),VP=Ys(),xd=Jl(),V1=Ks(),$P=Vd();VP.toggleFadeInAnimation(!1);xd.setTextOverflow("change-font-size");const WP=new URLSearchParams(location.search).get("key"),s_=GP.createStore({key:WP});window.store=s_;window.config={addGlobalFont:$P.addGlobalFont,unstable_useHtmlTextRender:xd.useHtmlTextRender,unstable_setTextVerticalResizeEnabled:xd.setTextVerticalResizeEnabled,unstable_setTextOverflow:xd.setTextOverflow,onLoadError:V1.onLoadError,setAssetLoadTimeout:V1.setAssetLoadTimeout,setFontLoadTimeout:V1.setFontLoadTimeout,unstable_setTextSplitAllowed:xd.setTextSplitAllowed};const YP=c5.createRoot(document.getElementById("root"));YP.render(Gt.createElement(HP.WorkspaceCanvas,{visiblePagesOffset:0,renderOnlyActivePage:!0,store:s_,components:{PageControls:()=>null,Tooltip:()=>null}}));
|
package/dist/index.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
}
|
|
9
9
|
</style>
|
|
10
10
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
11
|
-
<script type="module" crossorigin src="./assets/index-
|
|
11
|
+
<script type="module" crossorigin src="./assets/index-CSp9TXNt.js"></script>
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|