polotno 2.40.0 → 2.40.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/canvas/figure-element.js +1 -1
- package/canvas/html-element.js +5 -5
- package/canvas/page.js +1 -1
- package/canvas/table-element.js +1 -1
- package/model/group-model.d.ts +2 -4
- package/model/table-model.d.ts +2 -4
- package/model/table-model.js +1 -1
- package/package.json +1 -1
- package/pages-timeline/page-preview.js +1 -1
- package/polotno.bundle.js +9 -9
- package/toolbar/html-toolbar.js +1 -1
- package/toolbar/text-toolbar.js +2 -2
- package/utils/validate-key.js +1 -1
package/polotno.bundle.js
CHANGED
|
@@ -186,10 +186,10 @@ For more info see: https://github.com/konvajs/react-konva/issues/194
|
|
|
186
186
|
direction: rtl;
|
|
187
187
|
}
|
|
188
188
|
/* Apply gradient fill to all text-bearing elements when --polotno-gradient is set */
|
|
189
|
-
&[style*=
|
|
190
|
-
&[style*=
|
|
191
|
-
&[style*=
|
|
192
|
-
&[style*=
|
|
189
|
+
&[style*='--polotno-gradient'] .ql-editor,
|
|
190
|
+
&[style*='--polotno-gradient'] .ql-editor p,
|
|
191
|
+
&[style*='--polotno-gradient'] .ql-editor li,
|
|
192
|
+
&[style*='--polotno-gradient'] .ql-editor li::before {
|
|
193
193
|
background-image: var(--polotno-gradient);
|
|
194
194
|
background-size: 100% 100%;
|
|
195
195
|
background-repeat: repeat;
|
|
@@ -199,7 +199,7 @@ For more info see: https://github.com/konvajs/react-konva/issues/194
|
|
|
199
199
|
-webkit-text-fill-color: transparent;
|
|
200
200
|
color: transparent;
|
|
201
201
|
}
|
|
202
|
-
`,lC=["bold","color","font","italic","size","strike","underline","indent","list","direction"],lS=e=>{lC=e},lk=e=>new(y(ol))(e,{toolbar:!1,keyboard:!1,clipboard:{matchVisual:!1},formats:lC}),l_=(e,t)=>{var n=e.clipboard.convert("<div class='ql-editor' style='outline: none;'>"+t+"<p><br></p></div>");e.setContents(n),e.history.clear()},lE=({html:e,onBlur:t,onChange:n,element:r,clickCoords:i})=>{let a=y(_).useRef(null);y(_).useEffect(()=>{if(!a.current)return;let o=lk(a.current);P.runInAction(()=>{lx.editor.instance=o}),window.__polotnoQuill=o,o.on("text-change",()=>{o.getSelection()&&P.runInAction(()=>{lx.currentFormat=o.getFormat(o.getSelection())}),setTimeout(()=>{let e=a.current?.childNodes[0];if(!e)return;n(lv(e.innerHTML));let t=o.getContents(),i=r.fill,l=null,s=!0;for(let e of t.ops){if("string"!=typeof e.insert||"\n"===e.insert)continue;let t=e.attributes?.color||i;if(null===l)l=t;else if(t!==l){s=!1;break}}s&&l&&r.set({fill:l})},10)}),l_(o,e),i?function(e,t){if(!e||!t)return;let{x:n,y:r}=t;try{let t=null;if(document.caretRangeFromPoint)t=document.caretRangeFromPoint(n,r);else if(document.caretPositionFromPoint){let e=document.caretPositionFromPoint(n,r);e&&(t=document.createRange()).setStart(e.offsetNode,e.offset)}if(t){let n=y(ol).find(t.startContainer,!0);if(n){let r=n.offset(e.scroll)+t.startOffset;e.setSelection(r,0,"api");return}}}catch(e){}e.setSelection(0,0,"api")}(o,i):o.setSelection(0,0,"api"),o.on("selection-change",(e,t,n)=>{e&&P.runInAction(()=>{lx.currentFormat=o.getFormat(o.getSelection())})}),a.current.childNodes[0].addEventListener("blur",e=>{var n;let r=e.relatedTarget;r?.classList.contains("ql-clipboard")||(n=r)&&n.closest(".sketch-picker")||t()});let l=a.current.childNodes[0],s=e=>{let t=o.getSelection();if(!t||0===t.length)return;let n=o.getText(t.index,t.length).replace(/\n$/,""),r=window.getSelection(),i="";if(r&&r.rangeCount>0){let e=r.getRangeAt(0),t=document.createElement("div");t.appendChild(e.cloneContents()),i=t.innerHTML}if(e.clipboardData?.setData("text/plain",n),i){let t='<div style="white-space: pre-wrap; word-wrap: break-word;">'+i+"</div>";e.clipboardData?.setData("text/html",'<!DOCTYPE html><html><head><meta charset="utf-8"></head><body>\x3c!--StartFragment--\x3e'+t+"\x3c!--EndFragment--\x3e</body></html>")}e.preventDefault()},c=e=>{s(e);let t=o.getSelection();t&&t.length>0&&o.deleteText(t.index,t.length)};return l.addEventListener("copy",s),l.addEventListener("cut",c),()=>{l.removeEventListener("copy",s),l.removeEventListener("cut",c),P.runInAction(()=>{lx.editor.instance=null,lx.currentFormat={}}),delete window.__polotnoQuill}},[]),y(_).useEffect(()=>(0,P.reaction)(()=>r.text,()=>{let t=lx.editor.instance;if(!t)return;let n=t.getSelection(),i=a.current?.childNodes?.[0];lv(i?.innerHTML||"")!==r.text&&(l_(t,e),n&&(t.setSelection(n.index,n.length),P.runInAction(()=>{lx.currentFormat=t.getFormat(t.getSelection())})))},{fireImmediately:!0}),[]),y(_).useEffect(()=>{window.addEventListener("blur",t);let e=e=>{a.current?.contains(e.target)||t()};return window.addEventListener("touchstart",e),()=>{window.removeEventListener("blur",t),window.removeEventListener("touchstart",e)}},[]);let o={color:r.fill};r.fill.indexOf("gradient")>=0&&(o["--polotno-gradient"]=r.fill,o.color="transparent");let l=aA(r);return(0,k.jsx)(lw,{ref:a,style:{...o,fontSize:r.fontSize,fontWeight:r.fontWeight,textTransform:r.textTransform,width:r.a.width,fontFamily:'"'+r.fontFamily+'"',lineHeight:r.lineHeight,letterSpacing:r.letterSpacing*r.fontSize+"px",textAlign:r.align,opacity:Math.max(r.a.opacity,.2),textShadow:r.shadowEnabled?`${r.shadowOffsetX}px ${r.shadowOffsetY}px ${r.shadowBlur}px ${lb(r.shadowColor,r.shadowOpacity??1)}`:void 0,caretColor:l},dir:ay(iF(r.text))})},lT=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),lP=navigator.userAgent.includes("Firefox"),lO=F(({element:e,store:t})=>{let{textOverflowIndicatorStyle:n}=r5(),r=y(_).useRef(null),[i,a]=y(_).useState(),[o,l]=y(_).useState(!1),[s,c]=y(_).useState(!1),u=y(_).useRef(e.height),d=e.isSelected,h=aN(d),f=e.fontSize/3,{textVerticalResizeEnabled:p}=at,g=at.autoDeleteEmptyText,m=aN(e.fontFamily),[b]=aL(t,e.fontFamily,e.fontStyle,e.fontWeight,e.text||e.placeholder),v=e._editModeEnabled;iP(r);let x=b?e.fontFamily:m!==e.fontFamily?m:"Arial",w=i_(e).fill,C=aC(e,{fontFamily:x,color:w}),S=aC(e,{fontFamily:x,color:w,forEditor:!0}),E=y(_).useRef([]),[,T]=y(_).useReducer(e=>e+1,0);y(_).useEffect(()=>{let e=E.current;e.length>0&&(E.current=[],e.forEach(e=>e()))});let{width:O,height:A}=y(_).useMemo(()=>li(C),[C,e.width,b]);y(_).useEffect(()=>{if(!b)return;let n=(n,r,i,a)=>{let o=ij(`text ${e.id}`),l=()=>{t.history.ignore(n,r,i).then(()=>{E.current.push(o),T()})};a?queueMicrotask(l):l()};if(!e.height)return void n(()=>{e.height||e.set({height:A})},void 0,void 0,!0);let{textOverflow:r}=at;if("change-font-size"!==r||o)"resize"===r&&(p&&e.height<A&&!o&&n(()=>{e.set({height:A})},!1,!0),p||e.height===A||o||n(()=>{e.set({height:A})},!1,!0));else{let t=(e=>{let t=e.fontSize;for(let n=1;n<50;n++){let n=aC({...e.toJSON(),fontSize:t},{fontFamily:e.fontFamily}),{height:r}=li(n);if(!(e.height&&r>e.height||!at.textSplitAllowed&&!e.curveEnabled&&function({html:e}){let t=document.createElement("div");t.innerHTML=e,t.style.display="inline-block",t.style.position="fixed",t.style.top="0px",t.style.left="0px",t.style.zIndex="1000",t.style.whiteSpace="nowrap",t.style.visibility="hidden";let n=lr();n.appendChild(t);let r=t.innerText,i=t.childNodes[0];i.style.whiteSpace="nowrap";let a=r?.split(/\s+/)||[],o=!1;for(let e=0;e<a.length;e++){let n=a[e];if(i&&(i.textContent=n,o=i.scrollWidth>t.clientWidth))break}return n.removeChild(t),o}({html:n})))break;t-=.5}return t})(e);t!==e.fontSize?n(()=>{e.set({fontSize:t})},!1,!0):e.height!==A&&(p&&e.height<A?n(()=>{e.set({height:A})},!1,!0):p||n(()=>{e.set({height:A})},!1,!0))}});let I=y(_).useMemo(()=>{let e={lastArgs:null,lastResult:null};return async function(t){var n;return e.lastArgs&&e.lastResult&&(n=e.lastArgs,JSON.stringify(n)===JSON.stringify(t))||(e.lastResult=await lc(t),e.lastArgs={...t}),e.lastResult}},[]),R=y(_).useRef(0),M=y(_).useRef(null),L=async()=>{R.current++;let n=R.current,r=ij(`text ${e.id} ${n}`);M.current&&M.current(),M.current=r,c(!0);let i=null,o=lT?5:1;for(let r=0;r<o;r++){let a=r>0?I:lc;try{if(i=await a({skipCache:r>0,html:C,width:e.width||1,height:e.height||A||1,fontFamily:x,padding:f,pixelRatio:t._elementsPixelRatio,font:t.fonts.find(e=>e.fontFamily===x)||iG.find(e=>e.fontFamily===x)}),n!==R.current)return;if((lT||lP)&&i&&function(e){let t=document.createElement("canvas"),n=t.getContext("2d");return n?.drawImage(e,0,0,t.width,t.height),!function(e){let t=e.getContext("2d").getImageData(0,0,e.width,e.height).data;for(let e=0;e<t.length;e+=4)if(0!==t[e+3])return!0;return!1}(t)}(i)){await new Promise(e=>setTimeout(e,50*(r+1)));continue}break}catch(t){console.error(t),iB(`Error rendering rich text with id ${e.id}`);break}}i?a(i):r?(r(),r=null):console.error("Finish function is called twice!"),c(!1)};y(_).useEffect(()=>{o||v||L()},[C,o,A,v,x,e.height,t._elementsPixelRatio,b]);let[j,N]=aJ(s,300),[D]=aJ(o,300,!0),z=D||j;y(_).useEffect(()=>z?void r.current?.clearCache():P.autorun(()=>{ak(r.current,e)}),[i,z,e.shadowColor,e.shadowOffsetX,e.shadowOffsetY,e.shadowOpacity]),y(_).useEffect(()=>{i&&!s&&M.current&&(M.current(),M.current=null)},[i,s]),y(_).useLayoutEffect(()=>{if(!b||!e.curveEnabled)return;let t=new nA.TextPath({data:ab(e.a.width,e.a.height,e.curvePower,e.a.fontSize),text:iF(e.text),letterSpacing:e.letterSpacing*e.a.fontSize,fontSize:e.a.fontSize,fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontStyle:e.fontStyle,align:"center",textBaseline:"middle",fill:e.fill}),n=t.getSelfRect().width;if(n){let t=n-e.a.width,r=e.a.rotation*Math.PI/180,i=-(t/2)*Math.cos(r),a=-(t/2)*Math.sin(r);queueMicrotask(()=>{e.set({width:n,x:e.a.x+i,y:e.a.y+a})})}t.destroy()},[b,e.curveEnabled,e.curvePower,e.text,e.fontSize,e.fontFamily,e.fontWeight,e.fontStyle,e.letterSpacing]),y(_).useEffect(()=>()=>{M.current&&M.current()},[]),y(_).useEffect(()=>{h&&!d&&g&&""===iF(e.text)&&e.removable&&!e.placeholder&&t.deleteElements([e.id])},[g,e.placeholder,e.removable,e.text,d,h]);let B=0;"middle"===e.verticalAlign&&(B=(e.height-A)/2),"bottom"===e.verticalAlign&&(B=e.height-A);let F=aj({fontLoaded:b,fontFamily:e.fontFamily,fontSize:e.fontSize,lineHeight:e.lineHeight}),H=e.backgroundPadding*(e.fontSize*F*.5),V=e.backgroundCornerRadius*(e.fontSize*F*.5),U=y(_).useMemo(()=>{if(!e.backgroundEnabled||e.curveEnabled||e.legacyBackground)return"";let t=la(C);return 0===t.length?"":iv({rects:t.map(e=>({left:e.left+f,right:e.right+f,top:e.top+f,bottom:e.bottom+f})),padding:H,cornerRadius:V})},[e.backgroundEnabled,e.curveEnabled,e.legacyBackground,C,b,H,V,f]),$=aE(),W=ab(e.a.width,A,e.curvePower,e.fontSize),q=y(_).useRef(null),G=y(_).useRef(null),K=v&&e.strokeWidth>0&&!e.curveEnabled,Y=O>0?(e.a.width+2*f)/(O+2*f):1;return(0,k.jsxs)(k.Fragment,{children:[e.curveEnabled||e.legacyBackground?(0,k.jsx)(rM,{x:e.a.x,y:e.a.y,offsetX:H/Y,offsetY:H/Y,rotation:e.a.rotation,scaleX:Y,scaleY:Y,hideInExport:!e.showInExport,listening:!1,visible:e.backgroundEnabled,opacity:e.backgroundOpacity*e.a.opacity,fill:e.backgroundColor,width:e.width+2*H,height:e.height+2*H,cornerRadius:V}):(0,k.jsx)(rD,{name:"html-background",x:e.a.x,y:e.a.y,offsetX:f/Y,offsetY:(f-B)/Y,rotation:e.a.rotation,scaleX:Y,scaleY:Y,hideInExport:!e.showInExport,listening:!1,visible:e.backgroundEnabled&&U.length>0,opacity:e.backgroundOpacity*e.a.opacity,fill:e.backgroundColor,data:U}),(0,k.jsx)(rD,{x:e.a.x,y:e.a.y,rotation:e.a.rotation,data:W,stroke:n.stroke,strokeWidth:1,visible:!1}),(0,k.jsx)(rM,{ref:r,name:"element",x:e.a.x,y:e.a.y,listening:e.selectable,rotation:e.a.rotation,width:e.a.width,height:e.a.height,visible:!z,draggable:$?e.draggable&&d:e.draggable,preventDefault:!$||d,opacity:v?0:e.a.opacity,hideInExport:!e.showInExport,onDragMove:t=>{e.set({x:t.target.x(),y:t.target.y()})},onDragEnd:t=>{e.set({x:t.target.x(),y:t.target.y()})},id:e.id,onDblClick:t=>{e.contentEditable&&(G.current={x:t.evt.clientX,y:t.evt.clientY},e.toggleEditMode(!0))},onDblTap:t=>{if(e.contentEditable){let n=t.evt.changedTouches?.[0];G.current=n?{x:n.clientX,y:n.clientY}:null,e.toggleEditMode(!0)}},onTransformStart:t=>{l(!0),u.current=e.height},onTransform:t=>{let n=t.target,r=(n.getStage()?.findOne("Transformer")).getActiveAnchor(),i=n.scaleX();if("middle-left"===r||"middle-right"===r){let t=n.scaleX(),r=n.width()*t,i=e.fontSize,a=r;r<i&&(a=i,q.current&&n.position(q.current)),n.width(a),n.scaleX(1),n.scaleY(1);let o=li(aC({...e.toJSON(),width:a},{fontFamily:x,color:w})).height,l=at.textVerticalResizeEnabled?Math.max(o,u.current):o;n.height(l),e.set({width:n.width(),height:l,x:n.x(),y:n.y()})}else if("top-center"===r||"bottom-center"===r){let r="resize"===at.textOverflow,i="number"==typeof e.lineHeight?e.lineHeight:1,a=Math.max(r?A:i*e.fontSize,t.target.height()*t.target.scaleY());n.scaleY(1),e.set({x:n.x(),y:n.y(),height:a,rotation:n.rotation()})}else n.scaleX(1),n.scaleY(1),e.set({fontSize:e.fontSize*i,letterSpacing:e.letterSpacing,width:n.width()*i,x:n.x(),y:n.y(),rotation:n.rotation(),height:n.height()*i});q.current=t.target.position()},onTransformEnd:t=>{l(!1),c(!0);let n=t.target.scaleX();t.target.scaleX(1),t.target.scaleY(1),e.set({fontSize:e.fontSize*n,width:t.target.width()*n,x:t.target.x(),y:t.target.y(),rotation:t.target.rotation(),shadowBlur:e.shadowBlur*n,shadowOffsetX:e.shadowOffsetX*n,shadowOffsetY:e.shadowOffsetY*n,strokeWidth:e.strokeWidth*n})}}),(0,k.jsx)(rj,{ref:r,image:i,x:e.a.x,y:e.a.y,offsetX:f,offsetY:f-B,listening:!1,rotation:e.a.rotation,width:e.a.width+2*f,height:(e.a.width+2*f)*((i?.height??0)/(i?.width||1)||1),visible:!z&&!v,opacity:e.a.opacity,shadowEnabled:e.shadowEnabled,shadowBlur:e.shadowBlur,shadowOffsetX:e.shadowOffsetX,shadowOffsetY:e.shadowOffsetY,shadowColor:e.shadowColor,shadowOpacity:e.shadowOpacity,hideInExport:!e.showInExport,editModeEnabled:e._editModeEnabled||o||z}),(z||K)&&(0,k.jsx)(rI,{x:e.a.x,y:e.a.y,rotation:e.a.rotation,offsetY:-B,children:(0,k.jsx)(ic,{divProps:{style:{pointerEvents:"none"}},children:(0,k.jsx)(lw,{dangerouslySetInnerHTML:{__html:C},style:{pointerEvents:"none",opacity:e.a.opacity,textShadow:e.shadowEnabled?`${e.shadowOffsetX}px ${e.shadowOffsetY}px ${e.shadowBlur}px ${lb(e.shadowColor,e.shadowOpacity??1)}`:void 0}})})}),v&&(0,k.jsx)(rI,{x:e.a.x,y:e.a.y,rotation:e.a.rotation,offsetY:-B,children:(0,k.jsx)(ic,{children:(0,k.jsx)(lE,{html:S,element:e,onChange:t=>{let n=aP({oldText:iF(e.text),newText:iF(t),element:e});e.set({text:t,fontSize:n})},onBlur:t=>{e.toggleEditMode(!1),N(!0)},clickCoords:G.current})})})]})});var _=(C("8NFma"),C("8NFma"));function lA(e){return e/180*Math.PI}function lI(e,t,n,r,i){let a=Math.sqrt(n*n+r*r);return{x:e+a*Math.cos(i+=Math.atan2(r,n)),y:t+a*Math.sin(i)}}function lR(e){let{x:t,y:n,width:r,height:i}=e,a=lA(e.rotation),o=lI(t,n,0,0,a),l=lI(t,n,r,0,a),s=lI(t,n,r,i,a),c=lI(t,n,0,i,a),u=Math.min(o.x,l.x,s.x,c.x),d=Math.min(o.y,l.y,s.y,c.y),h=Math.max(o.x,l.x,s.x,c.x),f=Math.max(o.y,l.y,s.y,c.y);return{x:u,y:d,width:h-u,height:f-d,minX:u,minY:d,maxX:h,maxY:f}}function lM(e){let t=e.map(e=>lR(e)),n=Math.min(...t.map(e=>e.minX)),r=Math.min(...t.map(e=>e.minY)),i=Math.max(...t.map(e=>e.maxX)),a=Math.max(...t.map(e=>e.maxY));return{x:n,y:r,width:i-n,height:a-r,minX:n,minY:r,maxX:i,maxY:a}}let lL=({targetKonvaNodes:e,guideKonvaNode:t,distance:n,snapDirection:r})=>n<5,lj=e=>{lL=e};function lN(e,t){var n=[],r=[];e.vertical.forEach(e=>{t.vertical.forEach(t=>{var r=Math.abs(e.offset-t.guide);lL({targetKonvaNodes:t.nodes,guideKonvaNode:e.node,distance:r,snapDirection:e.snap})&&n.push({lineGuide:e.offset,diff:r,snap:t.snap,offset:t.offset})})}),e.horizontal.forEach(e=>{t.horizontal.forEach(t=>{var n=Math.abs(e.offset-t.guide);lL({targetKonvaNodes:t.nodes,guideKonvaNode:e.node,distance:n,snapDirection:e.snap})&&r.push({lineGuide:e.offset,diff:n,snap:t.snap,offset:t.offset})})});var i=[];let a=n.sort((e,t)=>e.diff-t.diff),o=r.sort((e,t)=>e.diff-t.diff);var l=a[0],s=o[0];return l&&a.filter(e=>.1>Math.abs(e.diff-l.diff)).forEach(e=>{i.push({orientation:"V",...e})}),s&&o.filter(e=>.1>Math.abs(e.diff-s.diff)).forEach(e=>{i.push({orientation:"H",...e})}),i}let lD=()=>{if(0===nA.DD._dragElements.size)return;let e=[...nA.DD._dragElements.entries()],t=e.find(([e,t])=>t.node instanceof nA.Transformer);t&&(e.splice(e.indexOf(t),1),e.unshift(t),nA.DD._dragElements.clear(),e.forEach(([e,t])=>{nA.DD._dragElements.set(e,t)}))};function lz(e,t,n){let{snapGuideStyle:r}=r5(),i=y(_).useRef(r);i.current=r;let a=e=>e.hasName("element")||e.hasName("line-anchor")||e.hasName("page-background")||e.hasName("elements-area"),o=n=>{let r,o,l,s=n.target.getLayer().children.find(e=>"line-guides"===e.name());s?.destroyChildren();var c,u,d,h,f=lN((c=[n.target,...t.map(e=>e.current)],r=e.current?.getStage(),u=[],d=[],r.find(a).forEach(e=>{if(!(c.indexOf(e)>=0)){var t=e.getClientRect({skipShadow:!0,skipStroke:!0});e.hasName("line-anchor")&&(t={x:e.absolutePosition().x,y:e.absolutePosition().y,width:0,height:0}),u.push({offset:t.x,node:e,snap:"start"},{offset:t.x+t.width,node:e,snap:"end"},{offset:t.x+t.width/2,node:e,snap:"center"}),d.push({offset:t.y,node:e,snap:"start"},{offset:t.y+t.height,node:e,snap:"end"},{offset:t.y+t.height/2,node:e,snap:"center"})}}),{vertical:u,horizontal:d}),{vertical:[{guide:(h=n.target).absolutePosition().x,offset:0,snap:"center",nodes:[h]}],horizontal:[{guide:h.absolutePosition().y,offset:0,snap:"center",nodes:[h]}]});if(!f.length)return;o=e.current?.getLayer(),l=o?.children.find(e=>"line-guides"===e.name()),f.forEach(e=>{if("H"===e.orientation){var t=new nA.Line({x:-o.getStage().x(),y:-o.getStage().y(),points:[-6e3,e.lineGuide,6e3,e.lineGuide],stroke:i.current.stroke,strokeWidth:i.current.strokeWidth,name:"guid-line",dash:i.current.dash});l?.add(t),o.batchDraw()}else if("V"===e.orientation){var t=new nA.Line({x:-o.getStage().x(),y:-o.getStage().y(),points:[e.lineGuide,-6e3,e.lineGuide,6e3],stroke:i.current.stroke,strokeWidth:i.current.strokeWidth,name:"guid-line",dash:i.current.dash});l?.add(t)}});let p=n.target.getAbsolutePosition(),g={...p};f.forEach(e=>{switch(e.snap){case"start":case"center":case"end":switch(e.orientation){case"V":g.x=e.lineGuide+e.offset;break;case"H":g.y=e.lineGuide+e.offset}}});let m=g.x-p.x,y=g.y-p.y;if(!(n.evt.ctrlKey||n.evt.metaKey)){let e=n.target.getAbsolutePosition();n.target.absolutePosition({x:e.x+m,y:e.y+y})}},l=e=>{if(!e.target)return;let t=e.target.getLayer(),n=t.children.find(e=>"line-guides"===e.name());n?.destroyChildren(),t.batchDraw()};y(_).useEffect(()=>{e.current&&(e.current.on("dragmove",o),e.current.on("dragend",l))},n)}function lB(e,t){return e.x*t.x+e.y*t.y}let lF={"top-left":"bottom-right","top-center":"bottom-center","top-right":"bottom-left","middle-right":"middle-left","bottom-right":"top-left","bottom-center":"top-center","bottom-left":"top-right","middle-left":"middle-right"};function lH(e){let{x:t,y:n,width:r,height:i,rotation:a}=e.a,o=a*Math.PI/180,l={x:t+i/2*Math.cos(o+Math.PI/2),y:n+i/2*Math.sin(o+Math.PI/2)},s={x:l.x+r*Math.cos(o),y:l.y+r*Math.sin(o)};return{middleLeft:l,middleRight:s}}function lV(e,t,n){let r=Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)),i=Math.atan2(t.y-e.y,t.x-e.x),a=180*i/Math.PI;return{x:e.x+Math.cos(i-Math.PI/2)*n/2,y:e.y+Math.sin(i-Math.PI/2)*n/2,width:r,height:n,rotation:a}}let lU=(e,t,n)=>{let r=n.anchorSize;return{offsetX:r/2/e,offsetY:r/2/e,width:r/e,height:r/e,cornerRadius:n.anchorCornerRadius/e,fill:n.anchorFill,stroke:n.anchorStroke,strokeWidth:n.anchorStrokeWidth,strokeScaleEnabled:!1,draggable:!0,dragDistance:0,onMouseEnter:e=>{e.target.getStage().container().style.cursor="crosshair"},onMouseLeave:e=>{e.target.getStage().container().style.cursor=""},onDragStart:e=>{t.history.startTransaction()},onDragEnd:e=>{t.history.endTransaction()}}},l$=F(({element:e,type:t})=>{let n=i_(e,e.a.color,"fill"),r=i_(e,e.a.color,"stroke"),i={strokeWidth:e.height,lineCap:"round",lineJoin:"round",...r,...n,opacity:e.a.opacity,hideInExport:!e.showInExport};return(0,k.jsxs)(k.Fragment,{children:["arrow"===t&&(0,k.jsx)(rL,{points:[3*e.height,-(2*e.height),0,0,3*e.height,2*e.height],...i}),"triangle"===t&&(0,k.jsx)(rL,{points:[3*e.height,-(2*e.height),0,0,3*e.height,2*e.height],closed:!0,...i}),"bar"===t&&(0,k.jsx)(rL,{points:[0,-(2*e.height),0,2*e.height],closed:!0,...i}),"square"===t&&(0,k.jsx)(rL,{points:[0,-(2*e.height),4*e.height,-(2*e.height),4*e.height,2*e.height,0,2*e.height],closed:!0,...i}),"circle"===t&&(0,k.jsx)("Circle",{x:2*e.height,y:0,radius:2*e.height,...i})]})}),lW=F(({element:e,store:t})=>{let{transformerStyle:n}=r5(),r=y(_).useRef(null),i=y(_).useRef(null),a=y(_).useRef(null),o=e.selectable||"admin"===t.role,l=aE(),s=t.selectedElements.indexOf(e)>=0&&1===t.selectedElements.length,c=e.isSelected,{middleLeft:u,middleRight:d}=lH(e);lz(i,[r],[s]),lz(a,[r],[s]);let h=i_(e,e.a.color,"stroke");return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(rL,{ref:r,name:"element",id:e.id,x:e.a.x,y:e.a.y,points:[0,0,e.a.width,0],offsetY:-e.a.height/2,strokeWidth:e.a.height,hitStrokeWidth:Math.max(e.a.height,20),dash:e.dash.map(t=>t*e.a.height),...h,rotation:e.a.rotation,opacity:e.animated("opacity"),shadowEnabled:e.shadowEnabled,shadowBlur:e.shadowBlur,shadowOffsetX:e.shadowOffsetX,shadowOffsetY:e.shadowOffsetY,shadowColor:e.shadowColor,shadowOpacity:e.shadowOpacity,listening:o,draggable:l?e.draggable&&c:e.draggable,preventDefault:!l||c,hideInExport:!e.showInExport,onDragMove:t=>{e.set({x:t.target.x(),y:t.target.y()})},onDragEnd:t=>{e.set({x:t.target.x(),y:t.target.y()})},onTransform:t=>{let n=t.target.scaleX();t.target.scaleX(1),t.target.scaleY(1),e.set({height:e.height*n,width:e.width*n,x:t.target.x(),y:t.target.y(),rotation:t.target.rotation()})}}),(0,k.jsx)(rI,{x:u.x,y:u.y,rotation:e.rotation,hideInExport:!e.showInExport,onClick:e=>r.current?.fire("click",e),onTap:e=>r.current?.fire("tap",e),children:(0,k.jsx)(l$,{element:e,type:e.startHead})}),(0,k.jsx)(rI,{x:d.x,y:d.y,rotation:e.rotation+180,onClick:e=>r.current?.fire("click",e),onTap:e=>r.current?.fire("tap",e),children:(0,k.jsx)(l$,{element:e,type:e.endHead})}),s&&e.resizable&&(0,k.jsx)(iu,{selector:".page-abs-container",enabled:!0,children:(0,k.jsxs)(rI,{visible:s,children:[(0,k.jsx)(rM,{x:u.x,y:u.y,ref:i,name:"line-anchor",...lU(t.scale,t,n),onDragMove:t=>{let n=lV(t.target.position(),d,e.height);e.set({x:n.x,y:n.y,width:n.width,rotation:n.rotation})}}),(0,k.jsx)(rM,{x:d.x,y:d.y,ref:a,name:"line-anchor",...lU(t.scale,t,n),onDragMove:t=>{let n=lV(u,t.target.position(),e.height);e.set({x:n.x,y:n.y,width:n.width,rotation:n.rotation})}})]})})]})});var _=C("8NFma"),P=C("2SBKn"),_=C("8NFma"),P=C("2SBKn");class lq{constructor(e){this.bytes=e,this.pos=0}seekToByte(e){this.pos=8*e}readBit(){let e=Math.floor(this.pos/8),t=this.bytes[e]??0,n=7-(7&this.pos);return this.pos++,(t&1<<n)>>n}readBits(e){if(1===e)return this.readBit();let t=0;for(let n=0;n<e;n++)t<<=1,t|=this.readBit();return t}writeBits(e,t){let n=this.pos+e;for(let e=this.pos;e<n;e++){let r=Math.floor(e/8),i=this.bytes[r],a=7-(7&e);i&=~(1<<a),i|=(t&1<<n-e-1)>>n-e-1<<a,this.bytes[r]=i}this.pos=n}readAlignedByte(){if(this.pos%8!=0)throw Error("Bitstream is not byte-aligned.");let e=this.pos/8,t=this.bytes[e]??0;return this.pos+=8,t}skipBits(e){this.pos+=e}getBitsLeft(){return 8*this.bytes.length-this.pos}clone(){let e=new lq(this.bytes);return e.pos=this.pos,e}}let lG=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],lK=[-1,1,2,3,4,5,6,8],lY=e=>{if(!e||e.byteLength<2)throw TypeError("AAC description must be at least 2 bytes long.");let t=new lq(e),n=t.readBits(5);31===n&&(n=32+t.readBits(6));let r=t.readBits(4),i=null;15===r?i=t.readBits(24):r<lG.length&&(i=lG[r]);let a=t.readBits(4),o=null;return a>=1&&a<=7&&(o=lK[a]),{objectType:n,frequencyIndex:r,sampleRate:i,channelConfiguration:a,numberOfChannels:o}};function lX(e){if(!e)throw Error("Assertion failed.")}let lZ=e=>{let t=(e%360+360)%360;if(0===t||90===t||180===t||270===t)return t;throw Error(`Invalid rotation ${e}.`)},lQ=e=>e&&e[e.length-1],lJ=e=>{let t=0;for(;0===e.readBits(1)&&t<32;)t++;if(t>=32)throw Error("Invalid exponential-Golomb code.");return(1<<t)-1+e.readBits(t)},l0=e=>{let t=lJ(e);return(1&t)==0?-(t>>1):t+1>>1},l1=e=>e.constructor===Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),l2=e=>e.constructor===DataView?e:ArrayBuffer.isView(e)?new DataView(e.buffer,e.byteOffset,e.byteLength):new DataView(e),l4=new TextDecoder,l3=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[t,e])),l8={bt709:1,bt470bg:5,smpte170m:6,bt2020:9,smpte432:12},l6=l3(l8),l5={bt709:1,smpte170m:6,linear:8,"iec61966-2-1":13,pq:16,hlg:18},l9=l3(l5),l7={rgb:0,bt709:1,bt470bg:5,smpte170m:6,"bt2020-ncl":9},se=l3(l7),st=e=>e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer||ArrayBuffer.isView(e);class sn{constructor(){this.currentPromise=Promise.resolve(),this.pending=0}async acquire(){let e,t=new Promise(t=>{let n=!1;e=()=>{n||(t(),this.pending--,n=!0)}}),n=this.currentPromise;return this.currentPromise=t,this.pending++,await n,e}}let sr=e=>[...e].map(e=>e.toString(16).padStart(2,"0")).join(""),si=e=>(e=(e=(e=(e=(e=e>>1&0x55555555|(0x55555555&e)<<1)>>2&0x33333333|(0x33333333&e)<<2)>>4&0xf0f0f0f|(0xf0f0f0f&e)<<4)>>8&0xff00ff|(0xff00ff&e)<<8)>>16&65535|(65535&e)<<16)>>>0,sa=(e,t,n)=>{let r=0,i=e.length-1,a=-1;for(;r<=i;){let o=r+i>>1,l=n(e[o]);l===t?(a=o,i=o-1):l<t?r=o+1:i=o-1}return a},so=(e,t,n)=>{let r=0,i=e.length-1,a=-1;for(;r<=i;){let o=r+(i-r+1)/2|0;n(e[o])<=t?(a=o,r=o+1):i=o-1}return a},sl=(e,t,n)=>{let r=so(e,n(t),n);e.splice(r+1,0,t)},ss=()=>{let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}},sc=(e,t)=>{for(let n=e.length-1;n>=0;n--)if(t(e[n]))return e[n]},su=(e,t)=>{for(let n=e.length-1;n>=0;n--)if(t(e[n]))return n;return -1},sd=async function*(e){Symbol.iterator in e?yield*e[Symbol.iterator]():yield*e[Symbol.asyncIterator]()},sh=e=>{throw Error(`Unexpected value: ${e}`)},sf=(e,t,n)=>{let r=e.getUint8(t),i=e.getUint8(t+1),a=e.getUint8(t+2);return n?r|i<<8|a<<16:r<<16|i<<8|a},sp=(e,t,n,r)=>{n>>>=0,n&=0xffffff,r?(e.setUint8(t,255&n),e.setUint8(t+1,n>>>8&255),e.setUint8(t+2,n>>>16&255)):(e.setUint8(t,n>>>16&255),e.setUint8(t+1,n>>>8&255),e.setUint8(t+2,255&n))},sg=(e,t)=>({async next(){let n=await e.next();return n.done?{value:void 0,done:!0}:{value:t(n.value),done:!1}},return:()=>e.return(),throw:t=>e.throw(t),[Symbol.asyncIterator](){return this}}),sm=(e,t,n)=>Math.max(t,Math.min(n,e)),sy=e=>{let t=Math.round(e);return Math.abs(e/t-1)<10*Number.EPSILON?t:e},sb=(e,t)=>Math.floor(e/t)*t,sv=/^[a-z]{3}$/,sx=1e6*(1+Number.EPSILON),sw=(e,t)=>{let n={...e,...t};if(e.headers||t.headers){let r=e.headers?sC(e.headers):{},i=t.headers?sC(t.headers):{},a={...r};Object.entries(i).forEach(([e,t])=>{let n=Object.keys(a).find(t=>t.toLowerCase()===e.toLowerCase());n&&delete a[n],a[e]=t}),n.headers=a}return n},sC=e=>{if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}if(Array.isArray(e)){let t={};return e.forEach(([e,n])=>{t[e]=n}),t}return e},sS=async(e,t,n,r,i)=>{let a=0;for(;;)try{return await e(t,n)}catch(n){if(i())throw n;let e=r(++a,n,t);if(null===e)throw n;if(console.error("Retrying failed fetch. Error:",n),!Number.isFinite(e)||e<0)throw TypeError("Retry delay must be a non-negative finite number.");if(e>0&&await new Promise(t=>setTimeout(t,1e3*e)),i())throw n}};class sk{constructor(){this.currentPromise=Promise.resolve()}call(e){return this.currentPromise=this.currentPromise.then(e)}}let s_=null,sE=()=>null!==s_?s_:s_=!!("u">typeof navigator&&(navigator.vendor?.match(/apple/i)||/AppleWebKit/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)||/\b(iPad|iPhone|iPod)\b/.test(navigator.userAgent))),sT=null,sP=()=>null!==sT?sT:sT="u">typeof navigator&&navigator.userAgent?.includes("Firefox"),sO=null,sA=()=>null!==sO?sO:sO=!!("u">typeof navigator&&(navigator.vendor?.includes("Google Inc")||/Chrome/.test(navigator.userAgent))),sI=null,sR=()=>{if(null!==sI)return sI;if("u"<typeof navigator)return null;let e=/\bChrome\/(\d+)/.exec(navigator.userAgent);return e?sI=Number(e[1]):null},sM=(e,t)=>-1!==e?e:t,sL=(e,t,n,r)=>e<=r&&n<=t,sj=e=>{let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n},sN=()=>{Symbol.dispose??=Symbol("Symbol.dispose")},sD=e=>"number"==typeof e&&!Number.isNaN(e),sz=e=>{lX(0!==e.den);let t=Math.abs(e.num),n=Math.abs(e.den);for(;0!==n;){let e=t%n;t=n,n=e}let r=t||1;return{num:e.num/r,den:e.den/r}},sB=(e,t)=>{if("object"!=typeof e||!e)throw TypeError(`${t} must be an object.`);if(!Number.isInteger(e.left)||e.left<0)throw TypeError(`${t}.left must be a non-negative integer.`);if(!Number.isInteger(e.top)||e.top<0)throw TypeError(`${t}.top must be a non-negative integer.`);if(!Number.isInteger(e.width)||e.width<0)throw TypeError(`${t}.width must be a non-negative integer.`);if(!Number.isInteger(e.height)||e.height<0)throw TypeError(`${t}.height must be a non-negative integer.`)},sF=["pcm-s16","pcm-s16be","pcm-s24","pcm-s24be","pcm-s32","pcm-s32be","pcm-f32","pcm-f32be","pcm-f64","pcm-f64be","pcm-u8","pcm-s8","ulaw","alaw"];[...sF];let sH=[{maxMacroblocks:99,maxBitrate:64e3,maxDpbMbs:396,level:10},{maxMacroblocks:396,maxBitrate:192e3,maxDpbMbs:900,level:11},{maxMacroblocks:396,maxBitrate:384e3,maxDpbMbs:2376,level:12},{maxMacroblocks:396,maxBitrate:768e3,maxDpbMbs:2376,level:13},{maxMacroblocks:396,maxBitrate:2e6,maxDpbMbs:2376,level:20},{maxMacroblocks:792,maxBitrate:4e6,maxDpbMbs:4752,level:21},{maxMacroblocks:1620,maxBitrate:4e6,maxDpbMbs:8100,level:22},{maxMacroblocks:1620,maxBitrate:1e7,maxDpbMbs:8100,level:30},{maxMacroblocks:3600,maxBitrate:14e6,maxDpbMbs:18e3,level:31},{maxMacroblocks:5120,maxBitrate:2e7,maxDpbMbs:20480,level:32},{maxMacroblocks:8192,maxBitrate:2e7,maxDpbMbs:32768,level:40},{maxMacroblocks:8192,maxBitrate:5e7,maxDpbMbs:32768,level:41},{maxMacroblocks:8704,maxBitrate:5e7,maxDpbMbs:34816,level:42},{maxMacroblocks:22080,maxBitrate:135e6,maxDpbMbs:110400,level:50},{maxMacroblocks:36864,maxBitrate:24e7,maxDpbMbs:184320,level:51},{maxMacroblocks:36864,maxBitrate:24e7,maxDpbMbs:184320,level:52},{maxMacroblocks:139264,maxBitrate:24e7,maxDpbMbs:696320,level:60},{maxMacroblocks:139264,maxBitrate:48e7,maxDpbMbs:696320,level:61},{maxMacroblocks:139264,maxBitrate:8e8,maxDpbMbs:696320,level:62}],sV=[{maxPictureSize:36864,maxBitrate:2e5,level:10},{maxPictureSize:73728,maxBitrate:8e5,level:11},{maxPictureSize:122880,maxBitrate:18e5,level:20},{maxPictureSize:245760,maxBitrate:36e5,level:21},{maxPictureSize:552960,maxBitrate:72e5,level:30},{maxPictureSize:983040,maxBitrate:12e6,level:31},{maxPictureSize:2228224,maxBitrate:18e6,level:40},{maxPictureSize:2228224,maxBitrate:3e7,level:41},{maxPictureSize:8912896,maxBitrate:6e7,level:50},{maxPictureSize:8912896,maxBitrate:12e7,level:51},{maxPictureSize:8912896,maxBitrate:18e7,level:52},{maxPictureSize:0x2200000,maxBitrate:18e7,level:60},{maxPictureSize:0x2200000,maxBitrate:24e7,level:61},{maxPictureSize:0x2200000,maxBitrate:48e7,level:62}],sU=".01.01.01.01.00",s$=".0.110.01.01.01.0",sW=e=>{let{codec:t,codecDescription:n,colorSpace:r,avcCodecInfo:i,hevcCodecInfo:a,vp9CodecInfo:o,av1CodecInfo:l}=e;if("avc"===t){if(lX(null!==e.avcType),i){let t=new Uint8Array([i.avcProfileIndication,i.profileCompatibility,i.avcLevelIndication]);return`avc${e.avcType}.${sr(t)}`}if(!n||n.byteLength<4)throw TypeError("AVC decoder description is not provided or is not at least 4 bytes long.");return`avc${e.avcType}.${sr(n.subarray(1,4))}`}if("hevc"===t){let e,t,r,i,o,l;if(a)e=a.generalProfileSpace,t=a.generalProfileIdc,r=si(a.generalProfileCompatibilityFlags),i=a.generalTierFlag,o=a.generalLevelIdc,l=[...a.generalConstraintIndicatorFlags];else{if(!n||n.byteLength<23)throw TypeError("HEVC decoder description is not provided or is not at least 23 bytes long.");let a=l2(n),s=a.getUint8(1);e=s>>6&3,t=31&s,r=si(a.getUint32(2)),i=s>>5&1,o=a.getUint8(12),l=[];for(let e=0;e<6;e++)l.push(a.getUint8(6+e))}let s="hev1.";for(s+=["","A","B","C"][e]+t,s+=".",s+=r.toString(16).toUpperCase(),s+=".",s+=0===i?"L":"H",s+=o;l.length>0&&0===l[l.length-1];)l.pop();return l.length>0&&(s+=".",s+=l.map(e=>e.toString(16).toUpperCase()).join(".")),s}if("vp8"===t)return"vp8";if("vp9"===t){if(!o){let t=e.width*e.height,n=lQ(sV).level;for(let e of sV)if(t<=e.maxPictureSize){n=e.level;break}return`vp09.00.${n.toString().padStart(2,"0")}.08`}let t=o.profile.toString().padStart(2,"0"),n=o.level.toString().padStart(2,"0"),r=o.bitDepth.toString().padStart(2,"0"),i=o.chromaSubsampling.toString().padStart(2,"0"),a=o.colourPrimaries.toString().padStart(2,"0"),l=o.transferCharacteristics.toString().padStart(2,"0"),s=o.matrixCoefficients.toString().padStart(2,"0"),c=o.videoFullRangeFlag.toString().padStart(2,"0"),u=`vp09.${t}.${n}.${r}.${i}`;return(u+=`.${a}.${l}.${s}.${c}`).endsWith(sU)&&(u=u.slice(0,-sU.length)),u}if("av1"===t){if(!l){let t=e.width*e.height,n=lQ(sV).level;for(let e of sV)if(t<=e.maxPictureSize){n=e.level;break}return`av01.0.${n.toString().padStart(2,"0")}M.08`}let t=l.profile,n=l.level.toString().padStart(2,"0"),i=l.tier?"H":"M",a=l.bitDepth.toString().padStart(2,"0"),o=l.monochrome?"1":"0",s=100*l.chromaSubsamplingX+10*l.chromaSubsamplingY+ +(l.chromaSubsamplingX&&l.chromaSubsamplingY?l.chromaSamplePosition:0),c=r?.primaries?l8[r.primaries]:1,u=r?.transfer?l5[r.transfer]:1,d=r?.matrix?l7[r.matrix]:1,h=+!!r?.fullRange,f=`av01.${t}.${n}${i}.${a}`;return f+=`.${o}.${s.toString().padStart(3,"0")}`,f+=`.${c.toString().padStart(2,"0")}`,f+=`.${u.toString().padStart(2,"0")}`,f+=`.${d.toString().padStart(2,"0")}`,(f+=`.${h}`).endsWith(s$)&&(f=f.slice(0,-s$.length)),f}throw TypeError(`Unhandled codec '${t}'.`)},sq=e=>{let{codec:t,codecDescription:n,aacCodecInfo:r}=e;if("aac"===t){if(!r)throw TypeError("AAC codec info must be provided.");if(r.isMpeg2)return"mp4a.67";{let e;return e=null!==r.objectType?r.objectType:lY(n).objectType,`mp4a.40.${e}`}}if("mp3"===t)return"mp3";if("opus"===t)return"opus";if("vorbis"===t)return"vorbis";if("flac"===t)return"flac";else if("ac3"===t)return"ac-3";else if("eac3"===t)return"ec-3";else if(t&&sF.includes(t))return t;throw TypeError(`Unhandled codec '${t}'.`)},sG=/^pcm-([usf])(\d+)+(be)?$/,sK=[48e3,44100,32e3],sY=[24e3,22050,16e3];(Dh=DJ||(DJ={}))[Dh.NON_IDR_SLICE=1]="NON_IDR_SLICE",Dh[Dh.SLICE_DPA=2]="SLICE_DPA",Dh[Dh.SLICE_DPB=3]="SLICE_DPB",Dh[Dh.SLICE_DPC=4]="SLICE_DPC",Dh[Dh.IDR=5]="IDR",Dh[Dh.SEI=6]="SEI",Dh[Dh.SPS=7]="SPS",Dh[Dh.PPS=8]="PPS",Dh[Dh.AUD=9]="AUD",Dh[Dh.SPS_EXT=13]="SPS_EXT",(Df=D0||(D0={}))[Df.RASL_N=8]="RASL_N",Df[Df.RASL_R=9]="RASL_R",Df[Df.BLA_W_LP=16]="BLA_W_LP",Df[Df.RSV_IRAP_VCL23=23]="RSV_IRAP_VCL23",Df[Df.VPS_NUT=32]="VPS_NUT",Df[Df.SPS_NUT=33]="SPS_NUT",Df[Df.PPS_NUT=34]="PPS_NUT",Df[Df.AUD_NUT=35]="AUD_NUT",Df[Df.PREFIX_SEI_NUT=39]="PREFIX_SEI_NUT",Df[Df.SUFFIX_SEI_NUT=40]="SUFFIX_SEI_NUT";let sX=function*(e){let t=0,n=-1;for(;t<e.length-2;){let r=e.indexOf(0,t);if(-1===r||r>=e.length-2)break;let i=0;if((t=r)+3<e.length&&0===e[t+1]&&0===e[t+2]&&1===e[t+3]?i=4:0===e[t+1]&&1===e[t+2]&&(i=3),0===i){t++;continue}-1!==n&&t>n&&(yield{offset:n,length:t-n}),t=n=t+i}-1!==n&&n<e.length&&(yield{offset:n,length:e.length-n})},sZ=function*(e,t){let n=0,r=new DataView(e.buffer,e.byteOffset,e.byteLength);for(;n+t<=e.length;){let e;1===t?e=r.getUint8(n):2===t?e=r.getUint16(n,!1):3===t?e=sf(r,n,!1):(lX(4===t),e=r.getUint32(n,!1)),n+=t,yield{offset:n,length:e},n+=e}},sQ=(e,t)=>t.description?sZ(e,(3&l1(t.description)[4])+1):sX(e),sJ=e=>31&e,s0=e=>{let t=[],n=e.length;for(let r=0;r<n;r++)r+2<n&&0===e[r]&&0===e[r+1]&&3===e[r+2]?(t.push(0,0),r+=2):t.push(e[r]);return new Uint8Array(t)},s1=new Uint8Array([0,0,0,1]),s2=e=>{try{let t=[],n=[],r=[];for(let i of sX(e)){let a=e.subarray(i.offset,i.offset+i.length),o=sJ(a[0]);o===DJ.SPS?t.push(a):o===DJ.PPS?n.push(a):o===DJ.SPS_EXT&&r.push(a)}if(0===t.length||0===n.length)return null;let i=t[0],a=s3(i);lX(null!==a);let o=100===a.profileIdc||110===a.profileIdc||122===a.profileIdc||144===a.profileIdc;return{configurationVersion:1,avcProfileIndication:a.profileIdc,profileCompatibility:a.constraintFlags,avcLevelIndication:a.levelIdc,lengthSizeMinusOne:3,sequenceParameterSets:t,pictureParameterSets:n,chromaFormat:o?a.chromaFormatIdc:null,bitDepthLumaMinus8:o?a.bitDepthLumaMinus8:null,bitDepthChromaMinus8:o?a.bitDepthChromaMinus8:null,sequenceParameterSetExt:o?r:null}}catch(e){return console.error("Error building AVC Decoder Configuration Record:",e),null}},s4={1:{num:1,den:1},2:{num:12,den:11},3:{num:10,den:11},4:{num:16,den:11},5:{num:40,den:33},6:{num:24,den:11},7:{num:20,den:11},8:{num:32,den:11},9:{num:80,den:33},10:{num:18,den:11},11:{num:15,den:11},12:{num:64,den:33},13:{num:160,den:99},14:{num:4,den:3},15:{num:3,den:2},16:{num:2,den:1}},s3=e=>{try{let t=new lq(s0(e));t.skipBits(1),t.skipBits(2);let n=t.readBits(5);if(7!==n)return null;let r=t.readAlignedByte(),i=t.readAlignedByte(),a=t.readAlignedByte();lJ(t);let o=1,l=0,s=0,c=0;if((100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r)&&(o=lJ(t),3===o&&(c=t.readBits(1)),l=lJ(t),s=lJ(t),t.skipBits(1),t.readBits(1))){for(let e=0;e<(3!==o?8:12);e++)if(t.readBits(1)){let n=e<6?16:64,r=8,i=8;for(let e=0;e<n;e++){if(0!==i){let e=l0(t);i=(r+e+256)%256}r=0===i?r:i}}}lJ(t);let u=lJ(t);if(0===u)lJ(t);else if(1===u){t.skipBits(1),l0(t),l0(t);let e=lJ(t);for(let n=0;n<e;n++)l0(t)}lJ(t),t.skipBits(1);let d=lJ(t),h=lJ(t),f=16*(d+1),p=16*(h+1),g=f,m=p,y=t.readBits(1);if(y||t.skipBits(1),t.skipBits(1),t.readBits(1)){let e,n,r=lJ(t),i=lJ(t),a=lJ(t),l=lJ(t),s=0===c?o:0;if(0===s)e=1,n=2-y;else{let t=3===o?1:2,r=1===o?2:1;e=t,n=r*(2-y)}g-=e*(r+i),m-=n*(a+l)}let b=2,v=2,x=2,w=0,C={num:1,den:1},S=null,k=null;if(t.readBits(1)){if(t.readBits(1)){let e=t.readBits(8);if(255===e)C={num:t.readBits(16),den:t.readBits(16)};else{let t=s4[e];t&&(C=t)}}t.readBits(1)&&t.skipBits(1),t.readBits(1)&&(t.skipBits(3),w=t.readBits(1),t.readBits(1)&&(b=t.readBits(8),v=t.readBits(8),x=t.readBits(8))),t.readBits(1)&&(lJ(t),lJ(t)),t.readBits(1)&&(t.skipBits(32),t.skipBits(32),t.skipBits(1));let e=t.readBits(1);e&&s8(t);let n=t.readBits(1);n&&s8(t),(e||n)&&t.skipBits(1),t.skipBits(1),t.readBits(1)&&(t.skipBits(1),lJ(t),lJ(t),lJ(t),lJ(t),S=lJ(t),k=lJ(t))}if(null===S)if(lX(null===k),(44===r||86===r||100===r||110===r||122===r||244===r)&&16&i)S=0,k=0;else{let e=sH.find(e=>e.level>=a)??lQ(sH),t=Math.min(Math.floor(e.maxDpbMbs/((2-y)*(h+1)*(d+1))),16);S=t,k=t}return lX(null!==k),{profileIdc:r,constraintFlags:i,levelIdc:a,frameMbsOnlyFlag:y,chromaFormatIdc:o,bitDepthLumaMinus8:l,bitDepthChromaMinus8:s,codedWidth:f,codedHeight:p,displayWidth:g,displayHeight:m,pixelAspectRatio:C,colourPrimaries:b,matrixCoefficients:x,transferCharacteristics:v,fullRangeFlag:w,numReorderFrames:S,maxDecFrameBuffering:k}}catch(e){return console.error("Error parsing AVC SPS:",e),null}},s8=e=>{let t=lJ(e);e.skipBits(4),e.skipBits(4);for(let n=0;n<=t;n++)lJ(e),lJ(e),e.skipBits(1);e.skipBits(5),e.skipBits(5),e.skipBits(5),e.skipBits(5)},s6=(e,t)=>t.description?sZ(e,(3&l1(t.description)[21])+1):sX(e),s5=e=>e>>1&63,s9=e=>{try{let t=new lq(s0(e));t.skipBits(16),t.readBits(4);let n=t.readBits(3),r=t.readBits(1),{general_profile_space:i,general_tier_flag:a,general_profile_idc:o,general_profile_compatibility_flags:l,general_constraint_indicator_flags:s,general_level_idc:c}=ce(t,n);lJ(t);let u=lJ(t),d=0;3===u&&(d=t.readBits(1));let h=lJ(t),f=lJ(t),p=h,g=f;if(t.readBits(1)){let e=lJ(t),n=lJ(t),r=lJ(t),i=lJ(t),a=1,o=1,l=0===d?u:0;1===l?(a=2,o=2):2===l&&(a=2,o=1),p-=(e+n)*a,g-=(r+i)*o}let m=lJ(t),y=lJ(t);lJ(t);let b=t.readBits(1)?0:n,v=0;for(let e=b;e<=n;e++)lJ(t),v=lJ(t),lJ(t);lJ(t),lJ(t),lJ(t),lJ(t),lJ(t),lJ(t),t.readBits(1)&&t.readBits(1)&&ct(t),t.skipBits(1),t.skipBits(1),t.readBits(1)&&(t.skipBits(4),t.skipBits(4),lJ(t),lJ(t),t.skipBits(1));let x=lJ(t);if(cn(t,x),t.readBits(1)){let e=lJ(t);for(let n=0;n<e;n++)lJ(t),t.skipBits(1)}t.skipBits(1),t.skipBits(1);let w=2,C=2,S=2,k=0,_=0,E={num:1,den:1};if(t.readBits(1)){let e=ci(t,n);E=e.pixelAspectRatio,w=e.colourPrimaries,C=e.transferCharacteristics,S=e.matrixCoefficients,k=e.fullRangeFlag,_=e.minSpatialSegmentationIdc}return{displayWidth:p,displayHeight:g,pixelAspectRatio:E,colourPrimaries:w,transferCharacteristics:C,matrixCoefficients:S,fullRangeFlag:k,maxDecFrameBuffering:v+1,spsMaxSubLayersMinus1:n,spsTemporalIdNestingFlag:r,generalProfileSpace:i,generalTierFlag:a,generalProfileIdc:o,generalProfileCompatibilityFlags:l,generalConstraintIndicatorFlags:s,generalLevelIdc:c,chromaFormatIdc:u,bitDepthLumaMinus8:m,bitDepthChromaMinus8:y,minSpatialSegmentationIdc:_}}catch(e){return console.error("Error parsing HEVC SPS:",e),null}},s7=e=>{try{let t=[],n=[],r=[],i=[];for(let a of sX(e)){let o=e.subarray(a.offset,a.offset+a.length),l=s5(o[0]);l===D0.VPS_NUT?t.push(o):l===D0.SPS_NUT?n.push(o):l===D0.PPS_NUT?r.push(o):(l===D0.PREFIX_SEI_NUT||l===D0.SUFFIX_SEI_NUT)&&i.push(o)}if(0===n.length||0===r.length)return null;let a=s9(n[0]);if(!a)return null;let o=0;if(r.length>0){let e=r[0],t=new lq(s0(e));t.skipBits(16),lJ(t),lJ(t),t.skipBits(1),t.skipBits(1),t.skipBits(3),t.skipBits(1),t.skipBits(1),lJ(t),lJ(t),l0(t),t.skipBits(1),t.skipBits(1),t.readBits(1)&&lJ(t),l0(t),l0(t),t.skipBits(1),t.skipBits(1),t.skipBits(1),t.skipBits(1);let n=t.readBits(1),i=t.readBits(1);o=n||i?n&&!i?2:!n&&i?3:0:0}let l=[...t.length?[{arrayCompleteness:1,nalUnitType:D0.VPS_NUT,nalUnits:t}]:[],...n.length?[{arrayCompleteness:1,nalUnitType:D0.SPS_NUT,nalUnits:n}]:[],...r.length?[{arrayCompleteness:1,nalUnitType:D0.PPS_NUT,nalUnits:r}]:[],...i.length?[{arrayCompleteness:1,nalUnitType:s5(i[0][0]),nalUnits:i}]:[]];return{configurationVersion:1,generalProfileSpace:a.generalProfileSpace,generalTierFlag:a.generalTierFlag,generalProfileIdc:a.generalProfileIdc,generalProfileCompatibilityFlags:a.generalProfileCompatibilityFlags,generalConstraintIndicatorFlags:a.generalConstraintIndicatorFlags,generalLevelIdc:a.generalLevelIdc,minSpatialSegmentationIdc:a.minSpatialSegmentationIdc,parallelismType:o,chromaFormatIdc:a.chromaFormatIdc,bitDepthLumaMinus8:a.bitDepthLumaMinus8,bitDepthChromaMinus8:a.bitDepthChromaMinus8,avgFrameRate:0,constantFrameRate:0,numTemporalLayers:a.spsMaxSubLayersMinus1+1,temporalIdNested:a.spsTemporalIdNestingFlag,lengthSizeMinusOne:3,arrays:l}}catch(e){return console.error("Error building HEVC Decoder Configuration Record:",e),null}},ce=(e,t)=>{let n=e.readBits(2),r=e.readBits(1),i=e.readBits(5),a=0;for(let t=0;t<32;t++)a=a<<1|e.readBits(1);let o=new Uint8Array(6);for(let t=0;t<6;t++)o[t]=e.readBits(8);let l=e.readBits(8),s=[],c=[];for(let n=0;n<t;n++)s.push(e.readBits(1)),c.push(e.readBits(1));if(t>0)for(let n=t;n<8;n++)e.skipBits(2);for(let n=0;n<t;n++)s[n]&&e.skipBits(88),c[n]&&e.skipBits(8);return{general_profile_space:n,general_tier_flag:r,general_profile_idc:i,general_profile_compatibility_flags:a,general_constraint_indicator_flags:o,general_level_idc:l}},ct=e=>{for(let t=0;t<4;t++)for(let n=0;n<(3===t?2:6);n++)if(e.readBits(1)){let n=Math.min(64,1<<4+(t<<1));t>1&&l0(e);for(let t=0;t<n;t++)l0(e)}else lJ(e)},cn=(e,t)=>{let n=[];for(let r=0;r<t;r++)n[r]=cr(e,r,t,n)},cr=(e,t,n,r)=>{let i=0,a=0,o=0;if(0!==t&&(a=e.readBits(1)),a){o=t===n?t-(lJ(e)+1):t-1,e.readBits(1),lJ(e);let a=r[o]??0;for(let t=0;t<=a;t++)e.readBits(1)||e.readBits(1);i=r[o]}else{let t=lJ(e),n=lJ(e);for(let n=0;n<t;n++)lJ(e),e.readBits(1);for(let t=0;t<n;t++)lJ(e),e.readBits(1);i=t+n}return i},ci=(e,t)=>{let n=2,r=2,i=2,a=0,o=0,l={num:1,den:1};if(e.readBits(1)){let t=e.readBits(8);if(255===t)l={num:e.readBits(16),den:e.readBits(16)};else{let e=s4[t];e&&(l=e)}}return e.readBits(1)&&e.readBits(1),e.readBits(1)&&(e.readBits(3),a=e.readBits(1),e.readBits(1)&&(n=e.readBits(8),r=e.readBits(8),i=e.readBits(8))),e.readBits(1)&&(lJ(e),lJ(e)),e.readBits(1),e.readBits(1),e.readBits(1),e.readBits(1)&&(lJ(e),lJ(e),lJ(e),lJ(e)),e.readBits(1)&&(e.readBits(32),e.readBits(32),e.readBits(1)&&lJ(e),e.readBits(1)&&ca(e,!0,t)),e.readBits(1)&&(e.readBits(1),e.readBits(1),e.readBits(1),o=lJ(e),lJ(e),lJ(e),lJ(e),lJ(e)),{pixelAspectRatio:l,colourPrimaries:n,transferCharacteristics:r,matrixCoefficients:i,fullRangeFlag:a,minSpatialSegmentationIdc:o}},ca=(e,t,n)=>{let r=!1,i=!1,a=!1;t&&(r=1===e.readBits(1),i=1===e.readBits(1),(r||i)&&((a=1===e.readBits(1))&&(e.readBits(8),e.readBits(5),e.readBits(1),e.readBits(5)),e.readBits(4),e.readBits(4),a&&e.readBits(4),e.readBits(5),e.readBits(5),e.readBits(5)));for(let t=0;t<=n;t++){let t=1===e.readBits(1),n=!0;t||(n=1===e.readBits(1));let o=!1;n?lJ(e):o=1===e.readBits(1);let l=1;o||(l=lJ(e)+1),r&&co(e,l,a),i&&co(e,l,a)}},co=(e,t,n)=>{for(let r=0;r<t;r++)lJ(e),lJ(e),n&&(lJ(e),lJ(e)),e.readBits(1)},cl=e=>{let t=new lq(e);if(2!==t.readBits(2))return null;let n=t.readBits(1),r=(t.readBits(1)<<1)+n;if(3===r&&t.skipBits(1),1===t.readBits(1)||0!==t.readBits(1)||(t.skipBits(2),4817730!==t.readBits(24)))return null;let i=8;r>=2&&(i=t.readBits(1)?12:10);let a=t.readBits(3),o=0,l=0;if(7!==a)if(l=t.readBits(1),1===r||3===r){let e=t.readBits(1),n=t.readBits(1);o=e||n?e&&!n?2:1:3,t.skipBits(1)}else o=1;else o=3,l=1;let s=(t.readBits(16)+1)*(t.readBits(16)+1),c=lQ(sV).level;for(let e of sV)if(s<=e.maxPictureSize){c=e.level;break}return{profile:r,level:c,bitDepth:i,chromaSubsampling:o,videoFullRangeFlag:l,colourPrimaries:2===a?1:1===a?6:2,transferCharacteristics:2===a?1:1===a?6:2,matrixCoefficients:7===a?0:2===a?1:1===a?6:2}},cs=function*(e){let t=new lq(e),n=()=>{let e=0;for(let n=0;n<8;n++){let r=t.readAlignedByte();if(e|=(127&r)<<7*n,!(128&r))break;if(7===n&&128&r)return null}return e>=0x100000000-1?null:e};for(;t.getBitsLeft()>=8;){let r;t.skipBits(1);let i=t.readBits(4),a=t.readBits(1),o=t.readBits(1);if(t.skipBits(1),a&&t.skipBits(8),o){let e=n();if(null===e)return;r=e}else r=Math.floor(t.getBitsLeft()/8);lX(t.pos%8==0),yield{type:i,data:e.subarray(t.pos/8,t.pos/8+r)},t.skipBits(8*r)}},cc=e=>{for(let{type:t,data:n}of cs(e)){if(1!==t)continue;let e=new lq(n),r=e.readBits(3);e.readBits(1);let i=e.readBits(1),a=0,o=0,l=0;if(i)a=e.readBits(5);else{if(e.readBits(1)&&(e.skipBits(32),e.skipBits(32),e.readBits(1)))return null;let t=e.readBits(1);t&&(l=e.readBits(5),e.skipBits(32),e.skipBits(5),e.skipBits(5));let n=e.readBits(5);for(let r=0;r<=n;r++){e.skipBits(12);let n=e.readBits(5);if(0===r&&(a=n),n>7){let t=e.readBits(1);0===r&&(o=t)}if(t&&e.readBits(1)){let t=l+1;e.skipBits(t),e.skipBits(t),e.skipBits(1)}e.readBits(1)&&e.skipBits(4)}}let s=e.readBits(4),c=e.readBits(4),u=s+1;e.skipBits(u);let d=c+1;e.skipBits(d);if((i?0:e.readBits(1))&&(e.skipBits(4),e.skipBits(3)),e.skipBits(1),e.skipBits(1),e.skipBits(1),!i){e.skipBits(1),e.skipBits(1),e.skipBits(1),e.skipBits(1);let t=e.readBits(1);t&&(e.skipBits(1),e.skipBits(1));let n=e.readBits(1);(n?2:e.readBits(1))>0&&(e.readBits(1)||e.skipBits(1)),t&&e.skipBits(3)}e.skipBits(1),e.skipBits(1),e.skipBits(1);let h=e.readBits(1),f=8;2===r&&h?f=e.readBits(1)?12:10:r<=2&&(f=h?10:8);let p=0;1!==r&&(p=e.readBits(1));let g=1,m=1,y=0;return!p&&(0===r?(g=1,m=1):1===r?(g=0,m=0):12===f&&(g=e.readBits(1))&&(m=e.readBits(1)),g&&m&&(y=e.readBits(2))),{profile:r,level:a,tier:o,bitDepth:f,monochrome:p,chromaSubsamplingX:g,chromaSubsamplingY:m,chromaSamplePosition:y}}return null},cu=[480,960,1920,2880,480,960,1920,2880,480,960,1920,2880,480,960,480,960,120,240,480,960,120,240,480,960,120,240,480,960,120,240,480,960],cd=(e,t,n)=>{switch(e){case"avc":for(let e of sQ(n,t)){let t=sJ(n[e.offset]);if(t>=DJ.NON_IDR_SLICE&&t<=DJ.SLICE_DPC)break;if(t===DJ.IDR)return"key";if(t===DJ.SEI&&(!sA()||sR()>=144)){let t=s0(n.subarray(e.offset,e.offset+e.length)),r=1;do{let e=0;for(;;){let n=t[r++];if(void 0===n||(e+=n,n<255))break}let n=0;for(;;){let e=t[r++];if(void 0===e||(n+=e,e<255))break}if(6===e){let e=new lq(t);e.pos=8*r;let n=lJ(e),i=e.readBits(1);if(0===n&&1===i)return"key"}r+=n}while(r<t.length-1)}}return"delta";case"hevc":for(let e of s6(n,t)){let t=s5(n[e.offset]);if(t<D0.BLA_W_LP)break;if(t<=D0.RSV_IRAP_VCL23)return"key"}return"delta";case"vp8":return 0==(1&n[0])?"key":"delta";case"vp9":{let e=new lq(n);if(2!==e.readBits(2))return null;let t=e.readBits(1);if(3===(e.readBits(1)<<1)+t&&e.skipBits(1),e.readBits(1))return null;return 0===e.readBits(1)?"key":"delta"}case"av1":{let e=!1;for(let{type:t,data:r}of cs(n))if(1===t){let t=new lq(r);t.skipBits(4),e=!!t.readBits(1)}else if(3===t||6===t||7===t){if(e)return"key";let t=new lq(r);if(t.readBits(1))return null;return 0===t.readBits(2)?"key":"delta"}return null}default:sh(e),lX(!1)}};(Dp=D1||(D1={}))[Dp.STREAMINFO=0]="STREAMINFO",Dp[Dp.VORBIS_COMMENT=4]="VORBIS_COMMENT",Dp[Dp.PICTURE=6]="PICTURE";let ch=(e,t)=>{let n=l2(e),r=0,i=n.getUint32(r,!0);r+=4;let a=l4.decode(e.subarray(r,r+i));r+=i,i>0&&(t.raw??={},t.raw.vendor??=a);let o=n.getUint32(r,!0);r+=4;for(let i=0;i<o;i++){let i=n.getUint32(r,!0);r+=4;let a=l4.decode(e.subarray(r,r+i));r+=i;let o=a.indexOf("=");if(-1===o)continue;let l=a.slice(0,o).toUpperCase(),s=a.slice(o+1);switch(t.raw??={},t.raw[l]??=s,l){case"TITLE":t.title??=s;break;case"DESCRIPTION":t.description??=s;break;case"ARTIST":t.artist??=s;break;case"ALBUM":t.album??=s;break;case"ALBUMARTIST":t.albumArtist??=s;break;case"COMMENT":t.comment??=s;break;case"LYRICS":t.lyrics??=s;break;case"TRACKNUMBER":{let e=s.split("/"),n=Number.parseInt(e[0],10),r=e[1]&&Number.parseInt(e[1],10);Number.isInteger(n)&&n>0&&(t.trackNumber??=n),r&&Number.isInteger(r)&&r>0&&(t.tracksTotal??=r)}break;case"TRACKTOTAL":{let e=Number.parseInt(s,10);Number.isInteger(e)&&e>0&&(t.tracksTotal??=e)}break;case"DISCNUMBER":{let e=s.split("/"),n=Number.parseInt(e[0],10),r=e[1]&&Number.parseInt(e[1],10);Number.isInteger(n)&&n>0&&(t.discNumber??=n),r&&Number.isInteger(r)&&r>0&&(t.discsTotal??=r)}break;case"DISCTOTAL":{let e=Number.parseInt(s,10);Number.isInteger(e)&&e>0&&(t.discsTotal??=e)}break;case"DATE":{let e=new Date(s);Number.isNaN(e.getTime())||(t.date??=e)}break;case"GENRE":t.genre??=s;break;case"METADATA_BLOCK_PICTURE":{let e=sj(s),n=l2(e),r=n.getUint32(0,!1),i=n.getUint32(4,!1),a=String.fromCharCode(...e.subarray(8,8+i)),o=n.getUint32(8+i,!1),l=l4.decode(e.subarray(12+i,12+i+o)),c=n.getUint32(i+o+28),u=e.subarray(i+o+32,i+o+32+c);t.images??=[],t.images.push({data:u,mimeType:a,kind:3===r?"coverFront":4===r?"coverBack":"unknown",name:void 0,description:l||void 0})}}}},cf=[2,1,2,3,3,4,4,5],cp=e=>{if(e.length<7||11!==e[0]||119!==e[1])return null;let t=new lq(e);t.skipBits(16),t.skipBits(16);let n=t.readBits(2);if(3===n)return null;let r=t.readBits(6),i=t.readBits(5);if(i>8)return null;let a=t.readBits(3),o=t.readBits(3);return(1&o)!=0&&1!==o&&t.skipBits(2),(4&o)!=0&&t.skipBits(2),2===o&&t.skipBits(2),{fscod:n,bsid:i,bsmod:a,acmod:o,lfeon:t.readBits(1),bitRateCode:Math.floor(r/2)}},cg=[128,138,192,128,140,192,160,174,240,160,176,240,192,208,288,192,210,288,224,242,336,224,244,336,256,278,384,256,280,384,320,348,480,320,350,480,384,416,576,384,418,576,448,486,672,448,488,672,512,556,768,512,558,768,640,696,960,640,698,960,768,834,1152,768,836,1152,896,974,1344,896,976,1344,1024,1114,1536,1024,1116,1536,1280,1392,1920,1280,1394,1920,1536,1670,2304,1536,1672,2304,1792,1950,2688,1792,1952,2688,2048,2228,3072,2048,2230,3072,2304,2506,3456,2304,2508,3456,2560,2786,3840,2560,2788,3840];new Uint8Array([5,4,65,67,45,51]),new Uint8Array([5,4,69,65,67,51]);let cm=[1,2,3,6],cy=e=>{let t;if(e.length<6||11!==e[0]||119!==e[1])return null;let n=new lq(e);n.skipBits(16);let r=n.readBits(2);if(n.skipBits(3),0!==r&&2!==r)return null;let i=n.readBits(11),a=n.readBits(2),o=0;3===a?(o=n.readBits(2),t=3):t=n.readBits(2);let l=n.readBits(3),s=n.readBits(1),c=n.readBits(5);if(c<11||c>16)return null;let u=cm[t];return{dataRate:Math.round((i+1)*(a<3?sK[a]/1e3:sY[o]/1e3)/(16*u)),substreams:[{fscod:a,fscod2:o,bsid:c,bsmod:0,acmod:l,lfeon:s,numDepSub:0,chanLoc:0}]}},cb=e=>{let t=e.substreams[0];return(lX(t),t.fscod<3)?sK[t.fscod]:null!==t.fscod2&&t.fscod2<3?sY[t.fscod2]:null},cv=e=>{let t=e.substreams[0];lX(t);let n=cf[t.acmod]+t.lfeon;if(t.numDepSub>0){let e=[2,2,1,1,2,2,2,1,1];for(let r=0;r<9;r++)t.chanLoc&1<<8-r&&(n+=e[r])}return n};class cx{constructor(e){this.input=e}}let cw=[],cC=[];class cS{constructor(e){this.source=e}requestSlice(e,t){if(this.source._disposed)throw new cK;if(e<0||null!==this.fileSize&&e+t>this.fileSize)return null;let n=e+t,r=this.source._read(e,n);return r instanceof Promise?r.then(t=>t?new ck(t.bytes,t.view,t.offset,e,n):null):r?new ck(r.bytes,r.view,r.offset,e,n):null}requestSliceRange(e,t,n){if(this.source._disposed)throw new cK;if(e<0)return null;if(null!==this.fileSize)return this.requestSlice(e,sm(this.fileSize-e,t,n));{let r=this.requestSlice(e,n),i=r=>{if(r)return r;let i=r=>(lX(null!==r),this.requestSlice(e,sm(r-e,t,n))),a=this.source._retrieveSize();return a instanceof Promise?a.then(i):i(a)};return r instanceof Promise?r.then(i):i(r)}}}class ck{constructor(e,t,n,r,i){this.bytes=e,this.view=t,this.offset=n,this.start=r,this.end=i,this.bufferPos=r-n}static tempFromBytes(e){return new ck(e,l2(e),0,0,e.length)}get length(){return this.end-this.start}get filePos(){return this.offset+this.bufferPos}set filePos(e){this.bufferPos=e-this.offset}get remainingLength(){return Math.max(this.end-this.filePos,0)}skip(e){this.bufferPos+=e}slice(e,t=this.end-e){if(e<this.start||e+t>this.end)throw RangeError("Slicing outside of original slice.");return new ck(this.bytes,this.view,this.offset,e,e+t)}}let c_=(e,t)=>{if(e.filePos<e.start||e.filePos+t>e.end)throw RangeError(`Tried reading [${e.filePos}, ${e.filePos+t}), but slice is [${e.start}, ${e.end}). This is likely an internal error, please report it alongside the file that caused it.`)},cE=(e,t)=>{c_(e,t);let n=e.bytes.subarray(e.bufferPos,e.bufferPos+t);return e.bufferPos+=t,n},cT=e=>(c_(e,1),e.view.getUint8(e.bufferPos++)),cP=(e,t)=>{c_(e,2);let n=e.view.getUint16(e.bufferPos,t);return e.bufferPos+=2,n},cO=e=>{c_(e,2);let t=e.view.getUint16(e.bufferPos,!1);return e.bufferPos+=2,t},cA=e=>{c_(e,3);let t=sf(e.view,e.bufferPos,!1);return e.bufferPos+=3,t},cI=e=>{c_(e,2);let t=e.view.getInt16(e.bufferPos,!1);return e.bufferPos+=2,t},cR=(e,t)=>{c_(e,4);let n=e.view.getUint32(e.bufferPos,t);return e.bufferPos+=4,n},cM=e=>{c_(e,4);let t=e.view.getUint32(e.bufferPos,!1);return e.bufferPos+=4,t},cL=e=>{c_(e,4);let t=e.view.getUint32(e.bufferPos,!0);return e.bufferPos+=4,t},cj=e=>{c_(e,4);let t=e.view.getInt32(e.bufferPos,!1);return e.bufferPos+=4,t},cN=(e,t)=>{let n,r;return t?(n=cR(e,!0),r=cR(e,!0)):(r=cR(e,!1),n=cR(e,!1)),0x100000000*r+n},cD=e=>0x100000000*cM(e)+cM(e),cz=e=>0x100000000*cj(e)+cM(e),cB=e=>{c_(e,8);let t=e.view.getFloat64(e.bufferPos,!1);return e.bufferPos+=8,t},cF=(e,t)=>{c_(e,t);let n="";for(let r=0;r<t;r++)n+=String.fromCharCode(e.bytes[e.bufferPos++]);return n};class cH{constructor(){this._disposed=!1,this._sizePromise=null,this.onread=null}async getSizeOrNull(){if(this._disposed)throw new cK;return this._sizePromise??=Promise.resolve(this._retrieveSize())}async getSize(){if(this._disposed)throw new cK;let e=await this.getSizeOrNull();if(null===e)throw Error("Cannot determine the size of an unsized source.");return e}}class cV extends cH{constructor(e){if(!(e instanceof ArrayBuffer)&&!("u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)&&!ArrayBuffer.isView(e))throw TypeError("buffer must be an ArrayBuffer, SharedArrayBuffer, or ArrayBufferView.");super(),this._onreadCalled=!1,this._bytes=l1(e),this._view=l2(e)}_retrieveSize(){return this._bytes.byteLength}_read(){return this._onreadCalled||(this.onread?.(0,this._bytes.byteLength),this._onreadCalled=!0),{bytes:this._bytes,view:this._view,offset:0}}_dispose(){}}let cU=(e,t,n)=>{if(t instanceof Error&&(t.message.includes("Failed to fetch")||t.message.includes("Load failed")||t.message.includes("NetworkError when attempting to fetch resource"))){let e=null;try{"u">typeof window&&void 0!==window.location&&(e=new URL(n instanceof Request?n.url:n,window.location.href).origin)}catch{}if(("u"<typeof navigator||"boolean"!=typeof navigator.onLine||navigator.onLine)&&null!==e&&e!==window.location.origin)return console.warn("Request will not be retried because a CORS error was suspected due to different origins. You can modify this behavior by providing your own function for the 'getRetryDelay' option."),null}return Math.min(2**(e-2),16)};class c$ extends cH{constructor(e,t={}){if("string"!=typeof e&&!(e instanceof URL)&&!("u">typeof Request&&e instanceof Request))throw TypeError("url must be a string, URL or Request.");if(!t||"object"!=typeof t)throw TypeError("options must be an object.");if(void 0!==t.requestInit&&(!t.requestInit||"object"!=typeof t.requestInit))throw TypeError("options.requestInit, when provided, must be an object.");if(void 0!==t.getRetryDelay&&"function"!=typeof t.getRetryDelay)throw TypeError("options.getRetryDelay, when provided, must be a function.");if(void 0!==t.maxCacheSize&&(!sD(t.maxCacheSize)||t.maxCacheSize<0))throw TypeError("options.maxCacheSize, when provided, must be a non-negative number.");if(void 0!==t.parallelism&&(!Number.isInteger(t.parallelism)||t.parallelism<1))throw TypeError("options.parallelism, when provided, must be a positive number.");if(void 0!==t.fetchFn&&"function"!=typeof t.fetchFn)throw TypeError("options.fetchFn, when provided, must be a function.");super(),this._existingResponses=new WeakMap,this._url=e,this._options=t,this._getRetryDelay=t.getRetryDelay??cU,this._orchestrator=new cq({maxCacheSize:t.maxCacheSize??0x4000000,maxWorkerCount:t.parallelism??2,runWorker:this._runWorker.bind(this),prefetchProfile:cW.network})}async _retrieveSize(){let e,t,n=new AbortController,r=await sS(this._options.fetchFn??fetch,this._url,sw(this._options.requestInit??{},{headers:{Range:"bytes=0-"},signal:n.signal}),this._getRetryDelay,()=>this._disposed);if(!r.ok)throw Error(`Error fetching ${String(this._url)}: ${r.status} ${r.statusText}`);if(206===r.status)t=this._getTotalLengthFromRangeResponse(r),e=this._orchestrator.createWorker(0,Math.min(t,524288));else{let n=r.headers.get("Content-Length");if(n)t=Number(n),e=this._orchestrator.createWorker(0,t),this._orchestrator.options.maxCacheSize=1/0,console.warn("HTTP server did not respond with 206 Partial Content, meaning the entire remote resource now has to be downloaded. For efficient media file streaming across a network, please make sure your server supports range requests.");else throw Error(`HTTP response (status ${r.status}) must surface Content-Length header.`)}return this._orchestrator.fileSize=t,this._existingResponses.set(e,{response:r,abortController:n}),this._orchestrator.runWorker(e),t}_read(e,t){return this._orchestrator.read(e,t)}async _runWorker(e){for(;;){let t=this._existingResponses.get(e);this._existingResponses.delete(e);let n=t?.abortController,r=t?.response;if(n||(n=new AbortController,r=await sS(this._options.fetchFn??fetch,this._url,sw(this._options.requestInit??{},{headers:{Range:`bytes=${e.currentPos}-`},signal:n.signal}),this._getRetryDelay,()=>this._disposed)),lX(r),!r.ok)throw Error(`Error fetching ${String(this._url)}: ${r.status} ${r.statusText}`);if(e.currentPos>0&&206!==r.status)throw Error("HTTP server did not respond with 206 Partial Content to a range request. To enable efficient media file streaming across a network, please make sure your server supports range requests.");if(!r.body)throw Error("Missing HTTP response body stream. The used fetch function must provide the response body as a ReadableStream.");let i=r.body.getReader();for(;;){let t;if(e.currentPos>=e.targetPos||e.aborted){n.abort(),e.running=!1;return}try{t=await i.read()}catch(t){if(this._disposed)throw t;let e=this._getRetryDelay(1,t,this._url);if(null!==e){console.error("Error while reading response stream. Attempting to resume.",t),await new Promise(t=>setTimeout(t,1e3*e));break}throw t}if(e.aborted)continue;let{done:r,value:a}=t;if(r){if(e.currentPos>=e.targetPos){this._orchestrator.forgetWorker(e),e.running=!1;return}break}this.onread?.(e.currentPos,e.currentPos+a.length),this._orchestrator.supplyWorkerData(e,a)}}}_getTotalLengthFromRangeResponse(e){let t=e.headers.get("Content-Range");if(t){let e=/\/(\d+)/.exec(t);if(e)return Number(e[1])}let n=e.headers.get("Content-Length");if(n)return Number(n);throw Error("Partial HTTP response (status 206) must surface either Content-Range or Content-Length header.")}_dispose(){this._orchestrator.dispose()}}let cW={network:(e,t,n)=>{for(let r of(e=Math.max(0,65536*Math.floor((e-65536)/65536)),n))if(sL(e,t,Math.max((r.startPos+r.targetPos)/2,r.targetPos-8388608),r.targetPos)){let e=r.targetPos-r.startPos,n=8388608*Math.ceil((e+1)/8388608),i=Math.min(2**Math.ceil(Math.log2(e+1)),n);t=Math.max(t,r.startPos+i)}return t=Math.max(t,e+524288),{start:e,end:t}}};class cq{constructor(e){this.options=e,this.fileSize=null,this.nextAge=0,this.workers=[],this.cache=[],this.currentCacheSize=0,this.disposed=!1}read(e,t){lX(null!==this.fileSize);let n=this.options.prefetchProfile(e,t,this.workers),r=Math.max(n.start,0),i=Math.min(n.end,this.fileSize);lX(r<=e&&t<=i);let a=null,o=so(this.cache,e,e=>e.start),l=-1!==o?this.cache[o]:null;l&&l.start<=e&&t<=l.end&&(l.age=this.nextAge++,a={bytes:l.bytes,view:l.view,offset:l.start});let s=so(this.cache,r,e=>e.start),c=a?null:new Uint8Array(t-e),u=0,d=r,h=[];if(-1!==s){for(let n=s;n<this.cache.length;n++){let a=this.cache[n];if(a.start>=i)break;if(a.end<=r)continue;let o=Math.max(r,a.start),l=Math.min(i,a.end);if(lX(o<=l),d<o&&h.push({start:d,end:o}),d=l,c){let n=Math.max(e,a.start),r=Math.min(t,a.end);if(n<r){let t=n-e;c.set(a.bytes.subarray(n-a.start,r-a.start),t),t===u&&(u=r-e)}}a.age=this.nextAge++}d<i&&h.push({start:d,end:i})}else h.push({start:r,end:i});if(c&&u>=c.length&&(a={bytes:c,view:l2(c),offset:e}),0===h.length)return lX(a),a;let{promise:f,resolve:p,reject:g}=ss(),m=[];for(let n of h){let r=Math.max(e,n.start),i=Math.min(t,n.end);r===n.start&&i===n.end?m.push(n):r<i&&m.push({start:r,end:i})}for(let t of h){let n=c&&{start:e,bytes:c,holes:m,resolve:p,reject:g},r=!1;for(let e of this.workers)if(sL(t.start-131072,t.start,e.currentPos,e.targetPos)){e.targetPos=Math.max(e.targetPos,t.end),r=!0,n&&!e.pendingSlices.includes(n)&&e.pendingSlices.push(n),e.running||this.runWorker(e);break}if(!r){let e=this.createWorker(t.start,t.end);n&&(e.pendingSlices=[n]),this.runWorker(e)}}return a||(lX(c),a=f.then(t=>({bytes:t,view:l2(t),offset:e}))),a}createWorker(e,t){let n={startPos:e,currentPos:e,targetPos:t,running:!1,aborted:this.disposed,pendingSlices:[],age:this.nextAge++};for(this.workers.push(n);this.workers.length>this.options.maxWorkerCount;){let e=0,t=this.workers[0];for(let n=1;n<this.workers.length;n++){let r=this.workers[n];r.age<t.age&&(e=n,t=r)}if(t.running&&t.pendingSlices.length>0)break;t.aborted=!0,this.workers.splice(e,1)}return n}runWorker(e){lX(!e.running),lX(e.currentPos<e.targetPos),e.running=!0,e.age=this.nextAge++,this.options.runWorker(e).catch(t=>{if(e.running=!1,e.pendingSlices.length>0)e.pendingSlices.forEach(e=>e.reject(t)),e.pendingSlices.length=0;else throw t})}supplyWorkerData(e,t){lX(!e.aborted);let n=e.currentPos,r=n+t.length;this.insertIntoCache({start:n,end:r,bytes:t,view:l2(t),age:this.nextAge++}),e.currentPos+=t.length,e.targetPos=Math.max(e.targetPos,e.currentPos);for(let i=0;i<e.pendingSlices.length;i++){let a=e.pendingSlices[i],o=Math.max(n,a.start),l=Math.min(r,a.start+a.bytes.length);o<l&&a.bytes.set(t.subarray(o-n,l-n),o-a.start);for(let e=0;e<a.holes.length;e++){let t=a.holes[e];n<=t.start&&r>t.start&&(t.start=r),t.end<=t.start&&(a.holes.splice(e,1),e--)}0===a.holes.length&&(a.resolve(a.bytes),e.pendingSlices.splice(i,1),i--)}for(let t=0;t<this.workers.length;t++){let i=this.workers[t];e!==i&&!i.running&&sL(n,r,i.currentPos,i.targetPos)&&(this.workers.splice(t,1),t--)}}forgetWorker(e){let t=this.workers.indexOf(e);lX(-1!==t),this.workers.splice(t,1)}insertIntoCache(e){if(0===this.options.maxCacheSize)return;let t=so(this.cache,e.start,e=>e.start)+1;if(t>0){let n=this.cache[t-1];if(n.end>=e.end)return;if(n.end>e.start){let r=new Uint8Array(e.end-n.start);r.set(n.bytes,0),r.set(e.bytes,e.start-n.start),this.currentCacheSize+=e.end-n.end,n.bytes=r,n.view=l2(r),n.end=e.end,t--,e=n}else this.cache.splice(t,0,e),this.currentCacheSize+=e.bytes.length}else this.cache.splice(t,0,e),this.currentCacheSize+=e.bytes.length;for(let n=t+1;n<this.cache.length;n++){let t=this.cache[n];if(e.end<=t.start)break;if(e.end>=t.end){this.cache.splice(n,1),this.currentCacheSize-=t.bytes.length,n--;continue}let r=new Uint8Array(t.end-e.start);r.set(e.bytes,0),r.set(t.bytes,t.start-e.start),this.currentCacheSize-=e.end-t.start,e.bytes=r,e.view=l2(r),e.end=t.end,this.cache.splice(n,1);break}for(;this.currentCacheSize>this.options.maxCacheSize;){let e=0,t=this.cache[0];for(let n=1;n<this.cache.length;n++){let r=this.cache[n];r.age<t.age&&(e=n,t=r)}if(this.currentCacheSize-t.bytes.length<=this.options.maxCacheSize)break;this.cache.splice(e,1),this.currentCacheSize-=t.bytes.length}}dispose(){for(let e of this.workers)e.aborted=!0;this.workers.length=0,this.cache.length=0,this.disposed=!0}}sN();class cG{get disposed(){return this._disposed}constructor(e){if(this._demuxerPromise=null,this._format=null,this._disposed=!1,!e||"object"!=typeof e)throw TypeError("options must be an object.");if(!Array.isArray(e.formats)||e.formats.some(e=>!(e instanceof dN)))throw TypeError("options.formats must be an array of InputFormat.");if(!(e.source instanceof cH))throw TypeError("options.source must be a Source.");if(e.source._disposed)throw Error("options.source must not be disposed.");this._formats=e.formats,this._source=e.source,this._reader=new cS(e.source)}_getDemuxer(){return this._demuxerPromise??=(async()=>{for(let e of(this._reader.fileSize=await this._source.getSizeOrNull(),this._formats))if(await e._canReadInput(this))return this._format=e,e._createDemuxer(this);throw Error("Input has an unsupported or unrecognizable format.")})()}get source(){return this._source}async getFormat(){return await this._getDemuxer(),lX(this._format),this._format}async computeDuration(){return(await this._getDemuxer()).computeDuration()}async getFirstTimestamp(){let e=await this.getTracks();return 0===e.length?0:Math.min(...await Promise.all(e.map(e=>e.getFirstTimestamp())))}async getTracks(){return(await this._getDemuxer()).getTracks()}async getVideoTracks(){return(await this.getTracks()).filter(e=>e.isVideoTrack())}async getAudioTracks(){return(await this.getTracks()).filter(e=>e.isAudioTrack())}async getPrimaryVideoTrack(){return(await this.getTracks()).find(e=>e.isVideoTrack())??null}async getPrimaryAudioTrack(){return(await this.getTracks()).find(e=>e.isAudioTrack())??null}async getMimeType(){return(await this._getDemuxer()).getMimeType()}async getMetadataTags(){return(await this._getDemuxer()).getMetadataTags()}dispose(){this._disposed||(this._disposed=!0,this._source._disposed=!0,this._source._dispose())}[Symbol.dispose](){this.dispose()}}class cK extends Error{constructor(e="Input has been disposed."){super(e),this.name="InputDisposedError"}}let cY=new Uint8Array(0);class cX{constructor(e,t,n,r,i=-1,a,o){if(this.data=e,this.type=t,this.timestamp=n,this.duration=r,this.sequenceNumber=i,e===cY&&void 0===a)throw Error("Internal error: byteLength must be explicitly provided when constructing metadata-only packets.");if(void 0===a&&(a=e.byteLength),!(e instanceof Uint8Array))throw TypeError("data must be a Uint8Array.");if("key"!==t&&"delta"!==t)throw TypeError('type must be either "key" or "delta".');if(!Number.isFinite(n))throw TypeError("timestamp must be a number.");if(!Number.isFinite(r)||r<0)throw TypeError("duration must be a non-negative number.");if(!Number.isFinite(i))throw TypeError("sequenceNumber must be a number.");if(!Number.isInteger(a)||a<0)throw TypeError("byteLength must be a non-negative integer.");if(void 0!==o&&("object"!=typeof o||!o))throw TypeError("sideData, when provided, must be an object.");if(o?.alpha!==void 0&&!(o.alpha instanceof Uint8Array))throw TypeError("sideData.alpha, when provided, must be a Uint8Array.");if(o?.alphaByteLength!==void 0&&(!Number.isInteger(o.alphaByteLength)||o.alphaByteLength<0))throw TypeError("sideData.alphaByteLength, when provided, must be a non-negative integer.");this.byteLength=a,this.sideData=o??{},this.sideData.alpha&&void 0===this.sideData.alphaByteLength&&(this.sideData.alphaByteLength=this.sideData.alpha.byteLength)}get isMetadataOnly(){return this.data===cY}get microsecondTimestamp(){return Math.trunc(sx*this.timestamp)}get microsecondDuration(){return Math.trunc(sx*this.duration)}toEncodedVideoChunk(){if(this.isMetadataOnly)throw TypeError("Metadata-only packets cannot be converted to a video chunk.");if("u"<typeof EncodedVideoChunk)throw Error("Your browser does not support EncodedVideoChunk.");return new EncodedVideoChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}alphaToEncodedVideoChunk(e=this.type){if(!this.sideData.alpha)throw TypeError("This packet does not contain alpha side data.");if(this.isMetadataOnly)throw TypeError("Metadata-only packets cannot be converted to a video chunk.");if("u"<typeof EncodedVideoChunk)throw Error("Your browser does not support EncodedVideoChunk.");return new EncodedVideoChunk({data:this.sideData.alpha,type:e,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}toEncodedAudioChunk(){if(this.isMetadataOnly)throw TypeError("Metadata-only packets cannot be converted to an audio chunk.");if("u"<typeof EncodedAudioChunk)throw Error("Your browser does not support EncodedAudioChunk.");return new EncodedAudioChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}static fromEncodedChunk(e,t){if(!(e instanceof EncodedVideoChunk||e instanceof EncodedAudioChunk))throw TypeError("chunk must be an EncodedVideoChunk or EncodedAudioChunk.");let n=new Uint8Array(e.byteLength);return e.copyTo(n),new cX(n,e.type,e.timestamp/1e6,(e.duration??0)/1e6,void 0,void 0,t)}clone(e){if(void 0!==e&&("object"!=typeof e||null===e))throw TypeError("options, when provided, must be an object.");if(e?.data!==void 0&&!(e.data instanceof Uint8Array))throw TypeError("options.data, when provided, must be a Uint8Array.");if(e?.type!==void 0&&"key"!==e.type&&"delta"!==e.type)throw TypeError('options.type, when provided, must be either "key" or "delta".');if(e?.timestamp!==void 0&&!Number.isFinite(e.timestamp))throw TypeError("options.timestamp, when provided, must be a number.");if(e?.duration!==void 0&&!Number.isFinite(e.duration))throw TypeError("options.duration, when provided, must be a number.");if(e?.sequenceNumber!==void 0&&!Number.isFinite(e.sequenceNumber))throw TypeError("options.sequenceNumber, when provided, must be a number.");if(e?.sideData!==void 0&&("object"!=typeof e.sideData||null===e.sideData))throw TypeError("options.sideData, when provided, must be an object.");return new cX(e?.data??this.data,e?.type??this.type,e?.timestamp??this.timestamp,e?.duration??this.duration,e?.sequenceNumber??this.sequenceNumber,this.byteLength,e?.sideData??this.sideData)}}sN();let cZ=-1/0,cQ=-1/0,cJ=null;"u">typeof FinalizationRegistry&&(cJ=new FinalizationRegistry(e=>{let t=Date.now();"video"===e.type?(t-cZ>=1e3&&(console.error("A VideoSample was garbage collected without first being closed. For proper resource management, make sure to call close() on all your VideoSamples as soon as you're done using them."),cZ=t),"u">typeof VideoFrame&&e.data instanceof VideoFrame&&e.data.close()):(t-cQ>=1e3&&(console.error("An AudioSample was garbage collected without first being closed. For proper resource management, make sure to call close() on all your AudioSamples as soon as you're done using them."),cQ=t),"u">typeof AudioData&&e.data instanceof AudioData&&e.data.close())}));let c0=["I420","I420P10","I420P12","I420A","I420AP10","I420AP12","I422","I422P10","I422P12","I422A","I422AP10","I422AP12","I444","I444P10","I444P12","I444A","I444AP10","I444AP12","NV12","RGBA","RGBX","BGRA","BGRX"],c1=new Set(c0);class c2{get codedWidth(){return this.visibleRect.width}get codedHeight(){return this.visibleRect.height}get displayWidth(){return this.rotation%180==0?this.squarePixelWidth:this.squarePixelHeight}get displayHeight(){return this.rotation%180==0?this.squarePixelHeight:this.squarePixelWidth}get microsecondTimestamp(){return Math.trunc(sx*this.timestamp)}get microsecondDuration(){return Math.trunc(sx*this.duration)}get hasAlpha(){return this.format&&this.format.includes("A")}constructor(e,t){if(this._closed=!1,e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer||ArrayBuffer.isView(e)){if(!t||"object"!=typeof t)throw TypeError("init must be an object.");if(void 0===t.format||!c1.has(t.format))throw TypeError("init.format must be one of: "+c0.join(", "));if(!Number.isInteger(t.codedWidth)||t.codedWidth<=0)throw TypeError("init.codedWidth must be a positive integer.");if(!Number.isInteger(t.codedHeight)||t.codedHeight<=0)throw TypeError("init.codedHeight must be a positive integer.");if(void 0!==t.rotation&&![0,90,180,270].includes(t.rotation))throw TypeError("init.rotation, when provided, must be 0, 90, 180, or 270.");if(!Number.isFinite(t.timestamp))throw TypeError("init.timestamp must be a number.");if(void 0!==t.duration&&(!Number.isFinite(t.duration)||t.duration<0))throw TypeError("init.duration, when provided, must be a non-negative number.");if(void 0!==t.layout){if(!Array.isArray(t.layout))throw TypeError("init.layout, when provided, must be an array.");for(let e of t.layout){if(!e||"object"!=typeof e||Array.isArray(e))throw TypeError("Each entry in init.layout must be an object.");if(!Number.isInteger(e.offset)||e.offset<0)throw TypeError("plane.offset must be a non-negative integer.");if(!Number.isInteger(e.stride)||e.stride<0)throw TypeError("plane.stride must be a non-negative integer.")}}if(void 0!==t.visibleRect&&sB(t.visibleRect,"init.visibleRect"),void 0!==t.displayWidth&&(!Number.isInteger(t.displayWidth)||t.displayWidth<=0))throw TypeError("init.displayWidth, when provided, must be a positive integer.");if(void 0!==t.displayHeight&&(!Number.isInteger(t.displayHeight)||t.displayHeight<=0))throw TypeError("init.displayHeight, when provided, must be a positive integer.");if(void 0!==t.displayWidth!=(void 0!==t.displayHeight))throw TypeError("init.displayWidth and init.displayHeight must be either both provided or both omitted.");this._data=l1(e).slice(),this._layout=t.layout??c9(t.format,t.codedWidth,t.codedHeight),this.format=t.format,this.rotation=t.rotation??0,this.timestamp=t.timestamp,this.duration=t.duration??0,this.colorSpace=new c4(t.colorSpace),this.visibleRect={left:t.visibleRect?.left??0,top:t.visibleRect?.top??0,width:t.visibleRect?.width??t.codedWidth,height:t.visibleRect?.height??t.codedHeight},void 0!==t.displayWidth?(this.squarePixelWidth=this.rotation%180==0?t.displayWidth:t.displayHeight,this.squarePixelHeight=this.rotation%180==0?t.displayHeight:t.displayWidth):(this.squarePixelWidth=this.codedWidth,this.squarePixelHeight=this.codedHeight)}else if("u">typeof VideoFrame&&e instanceof VideoFrame){if(t?.rotation!==void 0&&![0,90,180,270].includes(t.rotation))throw TypeError("init.rotation, when provided, must be 0, 90, 180, or 270.");if(t?.timestamp!==void 0&&!Number.isFinite(t?.timestamp))throw TypeError("init.timestamp, when provided, must be a number.");if(t?.duration!==void 0&&(!Number.isFinite(t.duration)||t.duration<0))throw TypeError("init.duration, when provided, must be a non-negative number.");t?.visibleRect!==void 0&&sB(t.visibleRect,"init.visibleRect"),this._data=e,this._layout=null,this.format=e.format,this.visibleRect={left:e.visibleRect?.x??0,top:e.visibleRect?.y??0,width:e.visibleRect?.width??e.codedWidth,height:e.visibleRect?.height??e.codedHeight},this.rotation=t?.rotation??0,this.squarePixelWidth=e.displayWidth,this.squarePixelHeight=e.displayHeight,this.timestamp=t?.timestamp??e.timestamp/1e6,this.duration=t?.duration??(e.duration??0)/1e6,this.colorSpace=new c4(e.colorSpace)}else if("u">typeof HTMLImageElement&&e instanceof HTMLImageElement||"u">typeof SVGImageElement&&e instanceof SVGImageElement||"u">typeof ImageBitmap&&e instanceof ImageBitmap||"u">typeof HTMLVideoElement&&e instanceof HTMLVideoElement||"u">typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"u">typeof OffscreenCanvas&&e instanceof OffscreenCanvas){if(!t||"object"!=typeof t)throw TypeError("init must be an object.");if(void 0!==t.rotation&&![0,90,180,270].includes(t.rotation))throw TypeError("init.rotation, when provided, must be 0, 90, 180, or 270.");if(!Number.isFinite(t.timestamp))throw TypeError("init.timestamp must be a number.");if(void 0!==t.duration&&(!Number.isFinite(t.duration)||t.duration<0))throw TypeError("init.duration, when provided, must be a non-negative number.");if("u">typeof VideoFrame)return new c2(new VideoFrame(e,{timestamp:Math.trunc(t.timestamp*sx),duration:Math.trunc((t.duration??0)*sx)||void 0}),t);let n=0,r=0;if("naturalWidth"in e?(n=e.naturalWidth,r=e.naturalHeight):"videoWidth"in e?(n=e.videoWidth,r=e.videoHeight):"width"in e&&(n=Number(e.width),r=Number(e.height)),!n||!r)throw TypeError("Could not determine dimensions.");let i=new OffscreenCanvas(n,r),a=i.getContext("2d",{alpha:sP(),willReadFrequently:!0});lX(a),a.drawImage(e,0,0),this._data=i,this._layout=null,this.format="RGBX",this.visibleRect={left:0,top:0,width:n,height:r},this.squarePixelWidth=n,this.squarePixelHeight=r,this.rotation=t.rotation??0,this.timestamp=t.timestamp,this.duration=t.duration??0,this.colorSpace=new c4({matrix:"rgb",primaries:"bt709",transfer:"iec61966-2-1",fullRange:!0})}else throw TypeError("Invalid data type: Must be a BufferSource or CanvasImageSource.");this.pixelAspectRatio=sz({num:this.squarePixelWidth*this.codedHeight,den:this.squarePixelHeight*this.codedWidth}),cJ?.register(this,{type:"video",data:this._data},this)}clone(){if(this._closed)throw Error("VideoSample is closed.");return(lX(null!==this._data),c3(this._data))?new c2(this._data.clone(),{timestamp:this.timestamp,duration:this.duration,rotation:this.rotation}):this._data instanceof Uint8Array?(lX(this._layout),new c2(this._data,{format:this.format,layout:this._layout,codedWidth:this.codedWidth,codedHeight:this.codedHeight,timestamp:this.timestamp,duration:this.duration,colorSpace:this.colorSpace,rotation:this.rotation,visibleRect:this.visibleRect,displayWidth:this.displayWidth,displayHeight:this.displayHeight})):new c2(this._data,{format:this.format,codedWidth:this.codedWidth,codedHeight:this.codedHeight,timestamp:this.timestamp,duration:this.duration,colorSpace:this.colorSpace,rotation:this.rotation,visibleRect:this.visibleRect,displayWidth:this.displayWidth,displayHeight:this.displayHeight})}close(){this._closed||(cJ?.unregister(this),c3(this._data)?this._data.close():this._data=null,this._closed=!0)}allocationSize(e={}){if(c5(e),this._closed)throw Error("VideoSample is closed.");if(null===this.format)throw Error("Cannot get allocation size when format is null. Sorry!");if(lX(null!==this._data),!c3(this._data)&&(e.colorSpace||e.format&&e.format!==this.format||e.layout||e.rect)){let t=this.toVideoFrame(),n=t.allocationSize(e);return t.close(),n}return c3(this._data)?this._data.allocationSize(e):this._data instanceof Uint8Array?this._data.byteLength:this.codedWidth*this.codedHeight*4}async copyTo(e,t={}){if(!st(e))throw TypeError("destination must be an ArrayBuffer or an ArrayBuffer view.");if(c5(t),this._closed)throw Error("VideoSample is closed.");if(null===this.format)throw Error("Cannot copy video sample data when format is null. Sorry!");if(lX(null!==this._data),!c3(this._data)&&(t.colorSpace||t.format&&t.format!==this.format||t.layout||t.rect)){let n=this.toVideoFrame(),r=await n.copyTo(e,t);return n.close(),r}if(c3(this._data))return this._data.copyTo(e,t);if(this._data instanceof Uint8Array)return lX(this._layout),l1(e).set(this._data),this._layout;{let t=this._data.getContext("2d");lX(t);let n=t.getImageData(0,0,this.codedWidth,this.codedHeight);return l1(e).set(n.data),[{offset:0,stride:4*this.codedWidth}]}}toVideoFrame(){if(this._closed)throw Error("VideoSample is closed.");return(lX(null!==this._data),c3(this._data))?new VideoFrame(this._data,{timestamp:this.microsecondTimestamp,duration:this.microsecondDuration||void 0}):this._data instanceof Uint8Array?new VideoFrame(this._data,{format:this.format,codedWidth:this.codedWidth,codedHeight:this.codedHeight,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration||void 0,colorSpace:this.colorSpace}):new VideoFrame(this._data,{timestamp:this.microsecondTimestamp,duration:this.microsecondDuration||void 0})}draw(e,t,n,r,i,a,o,l,s){let c=0,u=0,d=this.displayWidth,h=this.displayHeight,f=0,p=0,g=this.displayWidth,m=this.displayHeight;if(void 0!==a?(c=t,u=n,d=r,h=i,f=a,p=o,void 0!==l?(g=l,m=s):(g=d,m=h)):(f=t,p=n,void 0!==r&&(g=r,m=i)),!("u">typeof CanvasRenderingContext2D&&e instanceof CanvasRenderingContext2D||"u">typeof OffscreenCanvasRenderingContext2D&&e instanceof OffscreenCanvasRenderingContext2D))throw TypeError("context must be a CanvasRenderingContext2D or OffscreenCanvasRenderingContext2D.");if(!Number.isFinite(c))throw TypeError("sx must be a number.");if(!Number.isFinite(u))throw TypeError("sy must be a number.");if(!Number.isFinite(d)||d<0)throw TypeError("sWidth must be a non-negative number.");if(!Number.isFinite(h)||h<0)throw TypeError("sHeight must be a non-negative number.");if(!Number.isFinite(f))throw TypeError("dx must be a number.");if(!Number.isFinite(p))throw TypeError("dy must be a number.");if(!Number.isFinite(g)||g<0)throw TypeError("dWidth must be a non-negative number.");if(!Number.isFinite(m)||m<0)throw TypeError("dHeight must be a non-negative number.");if(this._closed)throw Error("VideoSample is closed.");({sx:c,sy:u,sWidth:d,sHeight:h}=this._rotateSourceRegion(c,u,d,h,this.rotation));let y=this.toCanvasImageSource();e.save();let b=f+g/2,v=p+m/2;e.translate(b,v),e.rotate(this.rotation*Math.PI/180);let x=this.rotation%180==0?1:g/m;e.scale(1/x,x),e.drawImage(y,c,u,d,h,-g/2,-m/2,g,m),e.restore()}drawWithFit(e,t){let n,r,i,a;if(!("u">typeof CanvasRenderingContext2D&&e instanceof CanvasRenderingContext2D||"u">typeof OffscreenCanvasRenderingContext2D&&e instanceof OffscreenCanvasRenderingContext2D))throw TypeError("context must be a CanvasRenderingContext2D or OffscreenCanvasRenderingContext2D.");if(!t||"object"!=typeof t)throw TypeError("options must be an object.");if(!["fill","contain","cover"].includes(t.fit))throw TypeError("options.fit must be 'fill', 'contain', or 'cover'.");if(void 0!==t.rotation&&![0,90,180,270].includes(t.rotation))throw TypeError("options.rotation, when provided, must be 0, 90, 180, or 270.");void 0!==t.crop&&c6(t.crop,"options.");let o=e.canvas.width,l=e.canvas.height,s=t.rotation??this.rotation,[c,u]=s%180==0?[this.squarePixelWidth,this.squarePixelHeight]:[this.squarePixelHeight,this.squarePixelWidth];t.crop&&c8(t.crop,c,u);let{sx:d,sy:h,sWidth:f,sHeight:p}=this._rotateSourceRegion(t.crop?.left??0,t.crop?.top??0,t.crop?.width??c,t.crop?.height??u,s);if("fill"===t.fit)n=0,r=0,i=o,a=l;else{let[e,s]=t.crop?[t.crop.width,t.crop.height]:[c,u],d="contain"===t.fit?Math.min(o/e,l/s):Math.max(o/e,l/s);i=e*d,a=s*d,n=(o-i)/2,r=(l-a)/2}e.save();let g=s%180==0?1:i/a;e.translate(o/2,l/2),e.rotate(s*Math.PI/180),e.scale(1/g,g),e.translate(-o/2,-l/2),e.drawImage(this.toCanvasImageSource(),d,h,f,p,n,r,i,a),e.restore()}_rotateSourceRegion(e,t,n,r,i){return 90===i?[e,t,n,r]=[t,this.squarePixelHeight-e-n,r,n]:180===i?[e,t]=[this.squarePixelWidth-e-n,this.squarePixelHeight-t-r]:270===i&&([e,t,n,r]=[this.squarePixelWidth-t-r,e,r,n]),{sx:e,sy:t,sWidth:n,sHeight:r}}toCanvasImageSource(){if(this._closed)throw Error("VideoSample is closed.");if(lX(null!==this._data),!(this._data instanceof Uint8Array))return this._data;{let e=this.toVideoFrame();return queueMicrotask(()=>e.close()),e}}setRotation(e){if(![0,90,180,270].includes(e))throw TypeError("newRotation must be 0, 90, 180, or 270.");this.rotation=e}setTimestamp(e){if(!Number.isFinite(e))throw TypeError("newTimestamp must be a number.");this.timestamp=e}setDuration(e){if(!Number.isFinite(e)||e<0)throw TypeError("newDuration must be a non-negative number.");this.duration=e}[Symbol.dispose](){this.close()}}class c4{constructor(e){if(void 0!==e){if(!e||"object"!=typeof e)throw TypeError("init.colorSpace, when provided, must be an object.");let t=Object.keys(l8);if(null!=e.primaries&&!t.includes(e.primaries))throw TypeError(`init.colorSpace.primaries, when provided, must be one of ${t.join(", ")}.`);let n=Object.keys(l5);if(null!=e.transfer&&!n.includes(e.transfer))throw TypeError(`init.colorSpace.transfer, when provided, must be one of ${n.join(", ")}.`);let r=Object.keys(l7);if(null!=e.matrix&&!r.includes(e.matrix))throw TypeError(`init.colorSpace.matrix, when provided, must be one of ${r.join(", ")}.`);if(null!=e.fullRange&&"boolean"!=typeof e.fullRange)throw TypeError("init.colorSpace.fullRange, when provided, must be a boolean.")}this.primaries=e?.primaries??null,this.transfer=e?.transfer??null,this.matrix=e?.matrix??null,this.fullRange=e?.fullRange??null}toJSON(){return{primaries:this.primaries,transfer:this.transfer,matrix:this.matrix,fullRange:this.fullRange}}}let c3=e=>"u">typeof VideoFrame&&e instanceof VideoFrame,c8=(e,t,n)=>{e.left=Math.min(e.left,t),e.top=Math.min(e.top,n),e.width=Math.min(e.width,t-e.left),e.height=Math.min(e.height,n-e.top),lX(e.width>=0),lX(e.height>=0)},c6=(e,t)=>{if(!e||"object"!=typeof e)throw TypeError(t+"crop, when provided, must be an object.");if(!Number.isInteger(e.left)||e.left<0)throw TypeError(t+"crop.left must be a non-negative integer.");if(!Number.isInteger(e.top)||e.top<0)throw TypeError(t+"crop.top must be a non-negative integer.");if(!Number.isInteger(e.width)||e.width<0)throw TypeError(t+"crop.width must be a non-negative integer.");if(!Number.isInteger(e.height)||e.height<0)throw TypeError(t+"crop.height must be a non-negative integer.")},c5=e=>{if(!e||"object"!=typeof e)throw TypeError("options must be an object.");if(void 0!==e.colorSpace&&!["display-p3","srgb"].includes(e.colorSpace))throw TypeError("options.colorSpace, when provided, must be 'display-p3' or 'srgb'.");if(void 0!==e.format&&"string"!=typeof e.format)throw TypeError("options.format, when provided, must be a string.");if(void 0!==e.layout){if(!Array.isArray(e.layout))throw TypeError("options.layout, when provided, must be an array.");for(let t of e.layout){if(!t||"object"!=typeof t)throw TypeError("Each entry in options.layout must be an object.");if(!Number.isInteger(t.offset)||t.offset<0)throw TypeError("plane.offset must be a non-negative integer.");if(!Number.isInteger(t.stride)||t.stride<0)throw TypeError("plane.stride must be a non-negative integer.")}}if(void 0!==e.rect){if(!e.rect||"object"!=typeof e.rect)throw TypeError("options.rect, when provided, must be an object.");if(void 0!==e.rect.x&&(!Number.isInteger(e.rect.x)||e.rect.x<0))throw TypeError("options.rect.x, when provided, must be a non-negative integer.");if(void 0!==e.rect.y&&(!Number.isInteger(e.rect.y)||e.rect.y<0))throw TypeError("options.rect.y, when provided, must be a non-negative integer.");if(void 0!==e.rect.width&&(!Number.isInteger(e.rect.width)||e.rect.width<0))throw TypeError("options.rect.width, when provided, must be a non-negative integer.");if(void 0!==e.rect.height&&(!Number.isInteger(e.rect.height)||e.rect.height<0))throw TypeError("options.rect.height, when provided, must be a non-negative integer.")}},c9=(e,t,n)=>{let r=c7(e),i=[],a=0;for(let e of r){let r=Math.ceil(t/e.widthDivisor),o=Math.ceil(n/e.heightDivisor),l=r*e.sampleBytes,s=l*o;i.push({offset:a,stride:l}),a+=s}return i},c7=e=>{let t=(e,t,n,r,i)=>{let a=[{sampleBytes:e,widthDivisor:1,heightDivisor:1},{sampleBytes:t,widthDivisor:n,heightDivisor:r},{sampleBytes:t,widthDivisor:n,heightDivisor:r}];return i&&a.push({sampleBytes:e,widthDivisor:1,heightDivisor:1}),a};switch(e){case"I420":return t(1,1,2,2,!1);case"I420P10":case"I420P12":return t(2,2,2,2,!1);case"I420A":return t(1,1,2,2,!0);case"I420AP10":case"I420AP12":return t(2,2,2,2,!0);case"I422":return t(1,1,2,1,!1);case"I422P10":case"I422P12":return t(2,2,2,1,!1);case"I422A":return t(1,1,2,1,!0);case"I422AP10":case"I422AP12":return t(2,2,2,1,!0);case"I444":return t(1,1,1,1,!1);case"I444P10":case"I444P12":return t(2,2,1,1,!1);case"I444A":return t(1,1,1,1,!0);case"I444AP10":case"I444AP12":return t(2,2,1,1,!0);case"NV12":return[{sampleBytes:1,widthDivisor:1,heightDivisor:1},{sampleBytes:2,widthDivisor:2,heightDivisor:2}];case"RGBA":case"RGBX":case"BGRA":case"BGRX":return[{sampleBytes:4,widthDivisor:1,heightDivisor:1}];default:sh(e),lX(!1)}},ue=new Set(["f32","f32-planar","s16","s16-planar","s32","s32-planar","u8","u8-planar"]);class ut{get microsecondTimestamp(){return Math.trunc(sx*this.timestamp)}get microsecondDuration(){return Math.trunc(sx*this.duration)}constructor(e){if(this._closed=!1,uo(e)){if(null===e.format)throw TypeError("AudioData with null format is not supported.");this._data=e,this.format=e.format,this.sampleRate=e.sampleRate,this.numberOfFrames=e.numberOfFrames,this.numberOfChannels=e.numberOfChannels,this.timestamp=e.timestamp/1e6,this.duration=e.numberOfFrames/e.sampleRate}else{let t;if(!e||"object"!=typeof e)throw TypeError("Invalid AudioDataInit: must be an object.");if(!ue.has(e.format))throw TypeError("Invalid AudioDataInit: invalid format.");if(!Number.isFinite(e.sampleRate)||e.sampleRate<=0)throw TypeError("Invalid AudioDataInit: sampleRate must be > 0.");if(!Number.isInteger(e.numberOfChannels)||0===e.numberOfChannels)throw TypeError("Invalid AudioDataInit: numberOfChannels must be an integer > 0.");if(!Number.isFinite(e?.timestamp))throw TypeError("init.timestamp must be a number.");let n=e.data.byteLength/(un(e.format)*e.numberOfChannels);if(!Number.isInteger(n))throw TypeError("Invalid AudioDataInit: data size is not a multiple of frame size.");if(this.format=e.format,this.sampleRate=e.sampleRate,this.numberOfFrames=n,this.numberOfChannels=e.numberOfChannels,this.timestamp=e.timestamp,this.duration=n/e.sampleRate,e.data instanceof ArrayBuffer)t=new Uint8Array(e.data);else if(ArrayBuffer.isView(e.data))t=new Uint8Array(e.data.buffer,e.data.byteOffset,e.data.byteLength);else throw TypeError("Invalid AudioDataInit: data is not a BufferSource.");let r=this.numberOfFrames*this.numberOfChannels*un(this.format);if(t.byteLength<r)throw TypeError("Invalid AudioDataInit: insufficient data size.");this._data=t}cJ?.register(this,{type:"audio",data:this._data},this)}allocationSize(e){if(!e||"object"!=typeof e)throw TypeError("options must be an object.");if(!Number.isInteger(e.planeIndex)||e.planeIndex<0)throw TypeError("planeIndex must be a non-negative integer.");if(void 0!==e.format&&!ue.has(e.format))throw TypeError("Invalid format.");if(void 0!==e.frameOffset&&(!Number.isInteger(e.frameOffset)||e.frameOffset<0))throw TypeError("frameOffset must be a non-negative integer.");if(void 0!==e.frameCount&&(!Number.isInteger(e.frameCount)||e.frameCount<0))throw TypeError("frameCount must be a non-negative integer.");if(this._closed)throw Error("AudioSample is closed.");let t=e.format??this.format,n=e.frameOffset??0;if(n>=this.numberOfFrames)throw RangeError("frameOffset out of range");let r=void 0!==e.frameCount?e.frameCount:this.numberOfFrames-n;if(r>this.numberOfFrames-n)throw RangeError("frameCount out of range");let i=un(t),a=ur(t);if(a&&e.planeIndex>=this.numberOfChannels||!a&&0!==e.planeIndex)throw RangeError("planeIndex out of range");return(a?r:r*this.numberOfChannels)*i}copyTo(e,t){if(!st(e))throw TypeError("destination must be an ArrayBuffer or an ArrayBuffer view.");if(!t||"object"!=typeof t)throw TypeError("options must be an object.");if(!Number.isInteger(t.planeIndex)||t.planeIndex<0)throw TypeError("planeIndex must be a non-negative integer.");if(void 0!==t.format&&!ue.has(t.format))throw TypeError("Invalid format.");if(void 0!==t.frameOffset&&(!Number.isInteger(t.frameOffset)||t.frameOffset<0))throw TypeError("frameOffset must be a non-negative integer.");if(void 0!==t.frameCount&&(!Number.isInteger(t.frameCount)||t.frameCount<0))throw TypeError("frameCount must be a non-negative integer.");if(this._closed)throw Error("AudioSample is closed.");let{planeIndex:n,format:r,frameCount:i,frameOffset:a}=t,o=this.format,l=r??this.format;if(!l)throw Error("Destination format not determined");let s=this.numberOfFrames,c=this.numberOfChannels,u=a??0;if(u>=s)throw RangeError("frameOffset out of range");let d=void 0!==i?i:s-u;if(d>s-u)throw RangeError("frameCount out of range");let h=un(l),f=ur(l);if(f&&n>=c||!f&&0!==n)throw RangeError("planeIndex out of range");let p=f?d:d*c;if(e.byteLength<p*h)throw RangeError("Destination buffer is too small");let g=l2(e),m=ua(l);if(uo(this._data))sE()&&c>2&&l!==o?ul(this._data,g,o,l,c,n,u,d):this._data.copyTo(e,{planeIndex:n,frameOffset:u,frameCount:d,format:l});else{let e=l2(this._data),t=ui(o),r=un(o),i=ur(o);for(let a=0;a<d;a++)if(f)m(g,a*h,t(e,i?(n*s+(a+u))*r:((a+u)*c+n)*r));else for(let n=0;n<c;n++)m(g,(a*c+n)*h,t(e,i?(n*s+(a+u))*r:((a+u)*c+n)*r))}}clone(){if(this._closed)throw Error("AudioSample is closed.");if(!uo(this._data))return new ut({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.timestamp,data:this._data});{let e=new ut(this._data.clone());return e.setTimestamp(this.timestamp),e}}close(){this._closed||(cJ?.unregister(this),uo(this._data)?this._data.close():this._data=new Uint8Array(0),this._closed=!0)}toAudioData(){if(this._closed)throw Error("AudioSample is closed.");if(!uo(this._data))return new AudioData({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.microsecondTimestamp,data:this._data.buffer instanceof ArrayBuffer?this._data.buffer:this._data.slice()});if(this._data.timestamp===this.microsecondTimestamp)return this._data.clone();if(ur(this.format)){let e=this.allocationSize({planeIndex:0,format:this.format}),t=new ArrayBuffer(e*this.numberOfChannels);for(let n=0;n<this.numberOfChannels;n++)this.copyTo(new Uint8Array(t,n*e,e),{planeIndex:n,format:this.format});return new AudioData({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.microsecondTimestamp,data:t})}{let e=new ArrayBuffer(this.allocationSize({planeIndex:0,format:this.format}));return this.copyTo(e,{planeIndex:0,format:this.format}),new AudioData({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.microsecondTimestamp,data:e})}}toAudioBuffer(){if(this._closed)throw Error("AudioSample is closed.");let e=new AudioBuffer({numberOfChannels:this.numberOfChannels,length:this.numberOfFrames,sampleRate:this.sampleRate}),t=new Float32Array(this.allocationSize({planeIndex:0,format:"f32-planar"})/4);for(let n=0;n<this.numberOfChannels;n++)this.copyTo(t,{planeIndex:n,format:"f32-planar"}),e.copyToChannel(t,n);return e}setTimestamp(e){if(!Number.isFinite(e))throw TypeError("newTimestamp must be a number.");this.timestamp=e}[Symbol.dispose](){this.close()}static*_fromAudioBuffer(e,t){if(!(e instanceof AudioBuffer))throw TypeError("audioBuffer must be an AudioBuffer.");let n=e.numberOfChannels,r=e.sampleRate,i=e.length,a=Math.floor(24e4/n),o=0,l=i;for(;l>0;){let i=Math.min(a,l),s=new Float32Array(n*i);for(let t=0;t<n;t++)e.copyFromChannel(s.subarray(t*i,(t+1)*i),t,o);yield new ut({format:"f32-planar",sampleRate:r,numberOfFrames:i,numberOfChannels:n,timestamp:t+o/r,data:s}),o+=i,l-=i}}static fromAudioBuffer(e,t){if(!(e instanceof AudioBuffer))throw TypeError("audioBuffer must be an AudioBuffer.");let n=e.numberOfChannels,r=e.sampleRate,i=e.length,a=Math.floor(24e4/n),o=0,l=i,s=[];for(;l>0;){let i=Math.min(a,l),c=new Float32Array(n*i);for(let t=0;t<n;t++)e.copyFromChannel(c.subarray(t*i,(t+1)*i),t,o);let u=new ut({format:"f32-planar",sampleRate:r,numberOfFrames:i,numberOfChannels:n,timestamp:t+o/r,data:c});s.push(u),o+=i,l-=i}return s}}let un=e=>{switch(e){case"u8":case"u8-planar":return 1;case"s16":case"s16-planar":return 2;case"s32":case"s32-planar":case"f32":case"f32-planar":return 4;default:throw Error("Unknown AudioSampleFormat")}},ur=e=>{switch(e){case"u8-planar":case"s16-planar":case"s32-planar":case"f32-planar":return!0;default:return!1}},ui=e=>{switch(e){case"u8":case"u8-planar":return(e,t)=>(e.getUint8(t)-128)/128;case"s16":case"s16-planar":return(e,t)=>e.getInt16(t,!0)/32768;case"s32":case"s32-planar":return(e,t)=>e.getInt32(t,!0)/0x80000000;case"f32":case"f32-planar":return(e,t)=>e.getFloat32(t,!0)}},ua=e=>{switch(e){case"u8":case"u8-planar":return(e,t,n)=>e.setUint8(t,sm((n+1)*127.5,0,255));case"s16":case"s16-planar":return(e,t,n)=>e.setInt16(t,sm(Math.round(32767*n),-32768,32767),!0);case"s32":case"s32-planar":return(e,t,n)=>e.setInt32(t,sm(Math.round(0x7fffffff*n),-0x80000000,0x7fffffff),!0);case"f32":case"f32-planar":return(e,t,n)=>e.setFloat32(t,n,!0)}},uo=e=>"u">typeof AudioData&&e instanceof AudioData,ul=(e,t,n,r,i,a,o,l)=>{let s=ui(n),c=ua(r),u=un(n),d=un(r),h=ur(n);if(ur(r))if(h){let r=new ArrayBuffer(l*u),i=l2(r);e.copyTo(r,{planeIndex:a,frameOffset:o,frameCount:l,format:n});for(let e=0;e<l;e++){let n=e*u;c(t,e*d,s(i,n))}}else{let r=new ArrayBuffer(l*i*u),h=l2(r);e.copyTo(r,{planeIndex:0,frameOffset:o,frameCount:l,format:n});for(let e=0;e<l;e++){let n=(e*i+a)*u;c(t,e*d,s(h,n))}}else if(h){let r=new ArrayBuffer(l*u),a=l2(r);for(let h=0;h<i;h++){e.copyTo(r,{planeIndex:h,frameOffset:o,frameCount:l,format:n});for(let e=0;e<l;e++){let n=e*u;c(t,(e*i+h)*d,s(a,n))}}}else{let r=new ArrayBuffer(l*i*u),a=l2(r);e.copyTo(r,{planeIndex:0,frameOffset:o,frameCount:l,format:n});for(let e=0;e<l;e++)for(let n=0;n<i;n++){let r=e*i+n,o=r*u;c(t,r*d,s(a,o))}}},us=e=>{if(!e||"object"!=typeof e)throw TypeError("options must be an object.");if(void 0!==e.metadataOnly&&"boolean"!=typeof e.metadataOnly)throw TypeError("options.metadataOnly, when defined, must be a boolean.");if(void 0!==e.verifyKeyPackets&&"boolean"!=typeof e.verifyKeyPackets)throw TypeError("options.verifyKeyPackets, when defined, must be a boolean.");if(e.verifyKeyPackets&&e.metadataOnly)throw TypeError("options.verifyKeyPackets and options.metadataOnly cannot be enabled together.")},uc=e=>{if(!sD(e))throw TypeError("timestamp must be a number.")},uu=(e,t,n)=>n.verifyKeyPackets?t.then(async t=>{if(!t||"delta"===t.type)return t;let n=await e.determinePacketType(t);return n&&(t.type=n),t}):t;class ud{constructor(e){if(!(e instanceof uv))throw TypeError("track must be an InputTrack.");this._track=e}getFirstPacket(e={}){if(us(e),this._track.input._disposed)throw new cK;return uu(this._track,this._track._backing.getFirstPacket(e),e)}async getFirstKeyPacket(e={}){us(e);let t=await this.getFirstPacket(e);return t?"key"===t.type?t:this.getNextKeyPacket(t,e):null}getPacket(e,t={}){if(uc(e),us(t),this._track.input._disposed)throw new cK;return uu(this._track,this._track._backing.getPacket(e,t),t)}getNextPacket(e,t={}){if(!(e instanceof cX))throw TypeError("packet must be an EncodedPacket.");if(us(t),this._track.input._disposed)throw new cK;return uu(this._track,this._track._backing.getNextPacket(e,t),t)}async getKeyPacket(e,t={}){if(uc(e),us(t),this._track.input._disposed)throw new cK;if(!t.verifyKeyPackets)return this._track._backing.getKeyPacket(e,t);let n=await this._track._backing.getKeyPacket(e,t);return n&&(lX("key"===n.type),"delta"===await this._track.determinePacketType(n))?this.getKeyPacket(n.timestamp-1/this._track.timeResolution,t):n}async getNextKeyPacket(e,t={}){if(!(e instanceof cX))throw TypeError("packet must be an EncodedPacket.");if(us(t),this._track.input._disposed)throw new cK;if(!t.verifyKeyPackets)return this._track._backing.getNextKeyPacket(e,t);let n=await this._track._backing.getNextKeyPacket(e,t);return n&&(lX("key"===n.type),"delta"===await this._track.determinePacketType(n))?this.getNextKeyPacket(n,t):n}packets(e,t,n={}){if(void 0!==e&&!(e instanceof cX))throw TypeError("startPacket must be an EncodedPacket.");if(void 0!==e&&e.isMetadataOnly&&!n?.metadataOnly)throw TypeError("startPacket can only be metadata-only if options.metadataOnly is enabled.");if(void 0!==t&&!(t instanceof cX))throw TypeError("endPacket must be an EncodedPacket.");if(us(n),this._track.input._disposed)throw new cK;let r=[],{promise:i,resolve:a}=ss(),{promise:o,resolve:l}=ss(),s=!1,c=!1,u=null,d=[],h=()=>Math.max(2,d.length);(async()=>{let u=e??await this.getFirstPacket(n);for(;u&&!c&&!this._track.input._disposed&&!(t&&u.sequenceNumber>=t?.sequenceNumber);){if(r.length>h()){({promise:o,resolve:l}=ss()),await o;continue}r.push(u),a(),({promise:i,resolve:a}=ss()),u=await this.getNextPacket(u,n)}s=!0,a()})().catch(e=>{u||(u=e,a())});let f=this._track;return{async next(){for(;;)if(f.input._disposed)throw new cK;else if(c)return{value:void 0,done:!0};else if(u)throw u;else if(r.length>0){let e=r.shift(),t=performance.now();for(d.push(t);d.length>0&&t-d[0]>=1e3;)d.shift();return l(),{value:e,done:!1}}else{if(s)return{value:void 0,done:!0};await i}},return:async()=>(c=!0,l(),a(),{value:void 0,done:!0}),async throw(e){throw e},[Symbol.asyncIterator](){return this}}}}class uh{constructor(e,t){this.onSample=e,this.onError=t}}class uf{mediaSamplesInRange(e=0,t=1/0){uc(e),uc(t);let n=[],r=!1,i=null,{promise:a,resolve:o}=ss(),{promise:l,resolve:s}=ss(),c=!1,u=!1,d=!1,h=null;(async()=>{let f=await this._createDecoder(l=>{(s(),l.timestamp>=t&&(u=!0),u)?l.close():(i&&(l.timestamp>e?(n.push(i),r=!0):i.close()),l.timestamp>=e&&(n.push(l),r=!0),i=r?null:l,n.length>0&&(o(),{promise:a,resolve:o}=ss()))},e=>{h||(h=e,o())}),p=this._createPacketSink(),g=await p.getKeyPacket(e,{verifyKeyPackets:!0})??await p.getFirstKeyPacket({verifyKeyPackets:!0}),m=g,y=p.packets(g??void 0,void 0);for(await y.next();m&&!u&&!this._track.input._disposed;){let e=up(n.length);if(n.length+f.getDecodeQueueSize()>e){({promise:l,resolve:s}=ss()),await l;continue}f.decode(m);let t=await y.next();if(t.done)break;m=t.value}await y.return(),d||this._track.input._disposed||await f.flush(),f.close(),!r&&i&&n.push(i),c=!0,o()})().catch(e=>{h||(h=e,o())});let f=this._track,p=()=>{for(let e of(i?.close(),n))e.close()};return{async next(){for(;;)if(f.input._disposed)throw p(),new cK;else if(d)return{value:void 0,done:!0};else if(h)throw p(),h;else if(n.length>0){let e=n.shift();return s(),{value:e,done:!1}}else{if(c)return{value:void 0,done:!0};await a}},return:async()=>(d=!0,u=!0,s(),o(),p(),{value:void 0,done:!0}),async throw(e){throw e},[Symbol.asyncIterator](){return this}}}mediaSamplesAtTimestamps(e){if(!(Symbol.iterator in e)&&!(Symbol.asyncIterator in e))throw TypeError("Argument must be an iterable or async iterable.");let t=sd(e),n=[],r=[],{promise:i,resolve:a}=ss(),{promise:o,resolve:l}=ss(),s=!1,c=!1,u=null,d=e=>{r.push(e),a(),{promise:i,resolve:a}=ss()};(async()=>{let e=await this._createDecoder(e=>{if(l(),c)return void e.close();let t=0;for(;n.length>0&&e.timestamp-n[0]>-1e-10;)t++,n.shift();if(t>0)for(let n=0;n<t;n++)d(n<t-1?e.clone():e);else e.close()},e=>{u||(u=e,a())}),i=this._createPacketSink(),h=null,f=null,p=-1,g=async()=>{lX(f);let t=f;for(e.decode(t);t.sequenceNumber<p;){let n=up(r.length);for(;r.length+e.getDecodeQueueSize()>n&&!c;)({promise:o,resolve:l}=ss()),await o;if(c)break;let a=await i.getNextPacket(t);lX(a),e.decode(a),t=a}p=-1},m=async()=>{await e.flush();for(let e=0;e<n.length;e++)d(null);n.length=0};for await(let e of t){if(uc(e),c||this._track.input._disposed)break;let t=await i.getPacket(e),r=t&&await i.getKeyPacket(e,{verifyKeyPackets:!0});if(!r){-1!==p&&(await g(),await m()),d(null),h=null;continue}h&&(r.sequenceNumber!==f.sequenceNumber||t.timestamp<h.timestamp)&&(await g(),await m()),n.push(t.timestamp),p=Math.max(t.sequenceNumber,p),h=t,f=r}c||this._track.input._disposed||(-1!==p&&await g(),await m()),e.close(),s=!0,a()})().catch(e=>{u||(u=e,a())});let h=this._track,f=()=>{for(let e of r)e?.close()};return{async next(){for(;;)if(h.input._disposed)throw f(),new cK;else if(c)return{value:void 0,done:!0};else if(u)throw f(),u;else if(r.length>0){let e=r.shift();return lX(void 0!==e),l(),{value:e,done:!1}}else{if(s)return{value:void 0,done:!0};await i}},return:async()=>(c=!0,l(),a(),f(),{value:void 0,done:!0}),async throw(e){throw e},[Symbol.asyncIterator](){return this}}}}let up=e=>0===e?40:8;class ug extends uh{constructor(e,t,n,r,i,a){super(e,t),this.codec=n,this.decoderConfig=r,this.rotation=i,this.timeResolution=a,this.decoder=null,this.customDecoder=null,this.customDecoderCallSerializer=new sk,this.customDecoderQueueSize=0,this.inputTimestamps=[],this.sampleQueue=[],this.currentPacketIndex=0,this.raslSkipped=!1,this.alphaDecoder=null,this.alphaHadKeyframe=!1,this.colorQueue=[],this.alphaQueue=[],this.merger=null,this.mergerCreationFailed=!1,this.decodedAlphaChunkCount=0,this.alphaDecoderQueueSize=0,this.nullAlphaFrameQueue=[],this.currentAlphaPacketIndex=0,this.alphaRaslSkipped=!1;let o=cw.find(e=>e.supports(n,r));if(o)this.customDecoder=new o,this.customDecoder.codec=n,this.customDecoder.config=r,this.customDecoder.onSample=e=>{if(!(e instanceof c2))throw TypeError("The argument passed to onSample must be a VideoSample.");this.finalizeAndEmitSample(e)},this.customDecoderCallSerializer.call(()=>this.customDecoder.init());else{let e=e=>{if(this.alphaQueue.length>0){let t=this.alphaQueue.shift();lX(void 0!==t),this.mergeAlpha(e,t)}else this.colorQueue.push(e)};if("avc"===n&&this.decoderConfig.description&&sA()){let e=(e=>{try{let t=l2(e),n=0,r=t.getUint8(n++),i=t.getUint8(n++),a=t.getUint8(n++),o=t.getUint8(n++),l=3&t.getUint8(n++),s=31&t.getUint8(n++),c=[];for(let r=0;r<s;r++){let r=t.getUint16(n,!1);n+=2,c.push(e.subarray(n,n+r)),n+=r}let u=t.getUint8(n++),d=[];for(let r=0;r<u;r++){let r=t.getUint16(n,!1);n+=2,d.push(e.subarray(n,n+r)),n+=r}let h={configurationVersion:r,avcProfileIndication:i,profileCompatibility:a,avcLevelIndication:o,lengthSizeMinusOne:l,sequenceParameterSets:c,pictureParameterSets:d,chromaFormat:null,bitDepthLumaMinus8:null,bitDepthChromaMinus8:null,sequenceParameterSetExt:null};if((100===i||110===i||122===i||144===i)&&n+4<=e.length){let r=3&t.getUint8(n++),i=7&t.getUint8(n++),a=7&t.getUint8(n++),o=t.getUint8(n++);h.chromaFormat=r,h.bitDepthLumaMinus8=i,h.bitDepthChromaMinus8=a;let l=[];for(let r=0;r<o;r++){let r=t.getUint16(n,!1);n+=2,l.push(e.subarray(n,n+r)),n+=r}h.sequenceParameterSetExt=l}return h}catch(e){return console.error("Error deserializing AVC Decoder Configuration Record:",e),null}})(l1(this.decoderConfig.description));if(e&&e.sequenceParameterSets.length>0){let t=s3(e.sequenceParameterSets[0]);t&&0===t.frameMbsOnlyFlag&&(this.decoderConfig={...this.decoderConfig,hardwareAcceleration:"prefer-software"})}}let t=Error("Decoding error").stack;this.decoder=new VideoDecoder({output:t=>{try{e(t)}catch(e){this.onError(e)}},error:e=>{e.stack=t,this.onError(e)}}),this.decoder.configure(this.decoderConfig)}}getDecodeQueueSize(){return this.customDecoder?this.customDecoderQueueSize:(lX(this.decoder),Math.max(this.decoder.decodeQueueSize,this.alphaDecoder?.decodeQueueSize??0))}decode(e){if("hevc"===this.codec&&this.currentPacketIndex>0&&!this.raslSkipped){if(this.hasHevcRaslPicture(e.data))return;this.raslSkipped=!0}if(this.customDecoder)this.customDecoderQueueSize++,this.customDecoderCallSerializer.call(()=>this.customDecoder.decode(e)).then(()=>this.customDecoderQueueSize--);else{if(lX(this.decoder),sE()||sl(this.inputTimestamps,e.timestamp,e=>e),sA()&&0===this.currentPacketIndex&&"avc"===this.codec){let t=[];for(let n of sQ(e.data,this.decoderConfig)){let r=sJ(e.data[n.offset]);r>=20&&r<=31||t.push(e.data.subarray(n.offset,n.offset+n.length))}e=new cX(((e,t)=>{if(t.description)return((e,t)=>{let n=new Uint8Array(e.reduce((e,n)=>e+t+n.byteLength,0)),r=0;for(let i of e){let e=new DataView(n.buffer,n.byteOffset,n.byteLength);switch(t){case 1:e.setUint8(r,i.byteLength);break;case 2:e.setUint16(r,i.byteLength,!1);break;case 3:sp(e,r,i.byteLength,!1);break;case 4:e.setUint32(r,i.byteLength,!1)}r+=t,n.set(i,r),r+=i.byteLength}return n})(e,(3&l1(t.description)[4])+1);let n=new Uint8Array(e.reduce((e,t)=>e+s1.byteLength+t.byteLength,0)),r=0;for(let t of e)n.set(s1,r),r+=s1.byteLength,n.set(t,r),r+=t.byteLength;return n})(t,this.decoderConfig),e.type,e.timestamp,e.duration)}this.decoder.decode(e.toEncodedVideoChunk()),this.decodeAlphaData(e)}this.currentPacketIndex++}decodeAlphaData(e){if(!e.sideData.alpha||this.mergerCreationFailed)return void this.pushNullAlphaFrame();if(!this.merger)try{this.merger=new um}catch(t){console.error("Due to an error, only color data will be decoded.",t),this.mergerCreationFailed=!0,this.decodeAlphaData(e);return}if(!this.alphaDecoder){let e=e=>{if(this.alphaDecoderQueueSize--,this.colorQueue.length>0){let t=this.colorQueue.shift();lX(void 0!==t),this.mergeAlpha(t,e)}else this.alphaQueue.push(e);for(this.decodedAlphaChunkCount++;this.nullAlphaFrameQueue.length>0&&this.nullAlphaFrameQueue[0]===this.decodedAlphaChunkCount;)if(this.nullAlphaFrameQueue.shift(),this.colorQueue.length>0){let e=this.colorQueue.shift();lX(void 0!==e),this.mergeAlpha(e,null)}else this.alphaQueue.push(null)},t=Error("Decoding error").stack;this.alphaDecoder=new VideoDecoder({output:t=>{try{e(t)}catch(e){this.onError(e)}},error:e=>{e.stack=t,this.onError(e)}}),this.alphaDecoder.configure(this.decoderConfig)}let t=cd(this.codec,this.decoderConfig,e.sideData.alpha);if(this.alphaHadKeyframe||(this.alphaHadKeyframe="key"===t),this.alphaHadKeyframe){if("hevc"===this.codec&&this.currentAlphaPacketIndex>0&&!this.alphaRaslSkipped){if(this.hasHevcRaslPicture(e.sideData.alpha))return void this.pushNullAlphaFrame();this.alphaRaslSkipped=!0}this.currentAlphaPacketIndex++,this.alphaDecoder.decode(e.alphaToEncodedVideoChunk(t??e.type)),this.alphaDecoderQueueSize++}else this.pushNullAlphaFrame()}pushNullAlphaFrame(){0===this.alphaDecoderQueueSize?this.alphaQueue.push(null):this.nullAlphaFrameQueue.push(this.decodedAlphaChunkCount+this.alphaDecoderQueueSize)}hasHevcRaslPicture(e){for(let t of s6(e,this.decoderConfig)){let n=s5(e[t.offset]);if(n===D0.RASL_N||n===D0.RASL_R)return!0}return!1}sampleHandler(e){if(sE()){if(this.sampleQueue.length>0&&e.timestamp>=lQ(this.sampleQueue).timestamp){for(let e of this.sampleQueue)this.finalizeAndEmitSample(e);this.sampleQueue.length=0}sl(this.sampleQueue,e,e=>e.timestamp)}else{let t=this.inputTimestamps.shift();lX(void 0!==t),e.setTimestamp(t),this.finalizeAndEmitSample(e)}}finalizeAndEmitSample(e){e.setTimestamp(Math.round(e.timestamp*this.timeResolution)/this.timeResolution),e.setDuration(Math.round(e.duration*this.timeResolution)/this.timeResolution),e.setRotation(this.rotation),this.onSample(e)}mergeAlpha(e,t){if(!t){let t=new c2(e);this.sampleHandler(t);return}lX(this.merger),this.merger.update(e,t),e.close(),t.close();let n=new c2(new VideoFrame(this.merger.canvas,{timestamp:e.timestamp,duration:e.duration??void 0}));this.sampleHandler(n)}async flush(){if(this.customDecoder?await this.customDecoderCallSerializer.call(()=>this.customDecoder.flush()):(lX(this.decoder),await Promise.all([this.decoder.flush(),this.alphaDecoder?.flush()]),this.colorQueue.forEach(e=>e.close()),this.colorQueue.length=0,this.alphaQueue.forEach(e=>e?.close()),this.alphaQueue.length=0,this.alphaHadKeyframe=!1,this.decodedAlphaChunkCount=0,this.alphaDecoderQueueSize=0,this.nullAlphaFrameQueue.length=0,this.currentAlphaPacketIndex=0,this.alphaRaslSkipped=!1),sE()){for(let e of this.sampleQueue)this.finalizeAndEmitSample(e);this.sampleQueue.length=0}this.currentPacketIndex=0,this.raslSkipped=!1}close(){for(let e of(this.customDecoder?this.customDecoderCallSerializer.call(()=>this.customDecoder.close()):(lX(this.decoder),this.decoder.close(),this.alphaDecoder?.close(),this.colorQueue.forEach(e=>e.close()),this.colorQueue.length=0,this.alphaQueue.forEach(e=>e?.close()),this.alphaQueue.length=0,this.merger?.close()),this.sampleQueue))e.close();this.sampleQueue.length=0}}class um{constructor(){"u">typeof OffscreenCanvas?this.canvas=new OffscreenCanvas(300,150):this.canvas=document.createElement("canvas");let e=this.canvas.getContext("webgl2",{premultipliedAlpha:!1});if(!e)throw Error("Couldn't acquire WebGL 2 context.");this.gl=e,this.program=this.createProgram(),this.vao=this.createVAO(),this.colorTexture=this.createTexture(),this.alphaTexture=this.createTexture(),this.gl.useProgram(this.program),this.gl.uniform1i(this.gl.getUniformLocation(this.program,"u_colorTexture"),0),this.gl.uniform1i(this.gl.getUniformLocation(this.program,"u_alphaTexture"),1)}createProgram(){let e=this.createShader(this.gl.VERTEX_SHADER,`#version 300 es
|
|
202
|
+
`,lC=["background","bold","color","font","italic","size","strike","underline","indent","list","direction"],lS=e=>{lC=e},lk=e=>new(y(ol))(e,{toolbar:!1,keyboard:!1,clipboard:{matchVisual:!1},formats:lC}),l_=(e,t)=>{var n=e.clipboard.convert("<div class='ql-editor' style='outline: none;'>"+t+"<p><br></p></div>");e.setContents(n),e.history.clear()},lE=({html:e,onBlur:t,onChange:n,element:r,clickCoords:i})=>{let a=y(_).useRef(null);y(_).useEffect(()=>{if(!a.current)return;let o=lk(a.current);P.runInAction(()=>{lx.editor.instance=o}),window.__polotnoQuill=o,o.on("text-change",()=>{o.getSelection()&&P.runInAction(()=>{lx.currentFormat=o.getFormat(o.getSelection())}),setTimeout(()=>{let e=a.current?.childNodes[0];if(!e)return;n(lv(e.innerHTML));let t=o.getContents(),i=r.fill,l=null,s=!0;for(let e of t.ops){if("string"!=typeof e.insert||"\n"===e.insert)continue;let t=e.attributes?.color||i;if(null===l)l=t;else if(t!==l){s=!1;break}}s&&l&&r.set({fill:l})},10)}),l_(o,e),i?function(e,t){if(!e||!t)return;let{x:n,y:r}=t;try{let t=null;if(document.caretRangeFromPoint)t=document.caretRangeFromPoint(n,r);else if(document.caretPositionFromPoint){let e=document.caretPositionFromPoint(n,r);e&&(t=document.createRange()).setStart(e.offsetNode,e.offset)}if(t){let n=y(ol).find(t.startContainer,!0);if(n){let r=n.offset(e.scroll)+t.startOffset;e.setSelection(r,0,"api");return}}}catch(e){}e.setSelection(0,0,"api")}(o,i):o.setSelection(0,0,"api"),o.on("selection-change",(e,t,n)=>{e&&P.runInAction(()=>{lx.currentFormat=o.getFormat(o.getSelection())})}),a.current.childNodes[0].addEventListener("blur",e=>{var n;let r=e.relatedTarget;r?.classList.contains("ql-clipboard")||(n=r)&&n.closest(".sketch-picker")||t()});let l=a.current.childNodes[0],s=e=>{let t=o.getSelection();if(!t||0===t.length)return;let n=o.getText(t.index,t.length).replace(/\n$/,""),r=window.getSelection(),i="";if(r&&r.rangeCount>0){let e=r.getRangeAt(0),t=document.createElement("div");t.appendChild(e.cloneContents()),i=t.innerHTML}if(e.clipboardData?.setData("text/plain",n),i){let t='<div style="white-space: pre-wrap; word-wrap: break-word;">'+i+"</div>";e.clipboardData?.setData("text/html",'<!DOCTYPE html><html><head><meta charset="utf-8"></head><body>\x3c!--StartFragment--\x3e'+t+"\x3c!--EndFragment--\x3e</body></html>")}e.preventDefault()},c=e=>{s(e);let t=o.getSelection();t&&t.length>0&&o.deleteText(t.index,t.length)};return l.addEventListener("copy",s),l.addEventListener("cut",c),()=>{l.removeEventListener("copy",s),l.removeEventListener("cut",c),P.runInAction(()=>{lx.editor.instance=null,lx.currentFormat={}}),delete window.__polotnoQuill}},[]),y(_).useEffect(()=>(0,P.reaction)(()=>r.text,()=>{let e=lx.editor.instance;if(!e)return;let t=e.getSelection(),n=a.current?.childNodes?.[0];lv(n?.innerHTML||"")!==r.text&&(l_(e,aC(r,{forEditor:!0})),t&&(e.setSelection(t.index,t.length),P.runInAction(()=>{lx.currentFormat=e.getFormat(e.getSelection())})))},{fireImmediately:!0}),[]),y(_).useEffect(()=>{window.addEventListener("blur",t);let e=e=>{a.current?.contains(e.target)||t()};return window.addEventListener("touchstart",e),()=>{window.removeEventListener("blur",t),window.removeEventListener("touchstart",e)}},[]);let o={color:r.fill};r.fill.indexOf("gradient")>=0&&(o["--polotno-gradient"]=r.fill,o.color="transparent");let l=aA(r);return(0,k.jsx)(lw,{ref:a,style:{...o,fontSize:r.fontSize,fontWeight:r.fontWeight,textTransform:r.textTransform,width:r.a.width,fontFamily:'"'+r.fontFamily+'"',lineHeight:r.lineHeight,letterSpacing:r.letterSpacing*r.fontSize+"px",textAlign:r.align,opacity:Math.max(r.a.opacity,.2),textShadow:r.shadowEnabled?`${r.shadowOffsetX}px ${r.shadowOffsetY}px ${r.shadowBlur}px ${lb(r.shadowColor,r.shadowOpacity??1)}`:void 0,caretColor:l},dir:ay(iF(r.text))})},lT=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),lP=navigator.userAgent.includes("Firefox"),lO=F(({element:e,store:t})=>{let{textOverflowIndicatorStyle:n}=r5(),r=y(_).useRef(null),[i,a]=y(_).useState(),[o,l]=y(_).useState(!1),[s,c]=y(_).useState(!1),u=y(_).useRef(e.height),d=e.isSelected,h=aN(d),f=e.fontSize/3,{textVerticalResizeEnabled:p}=at,g=at.autoDeleteEmptyText,m=aN(e.fontFamily),[b]=aL(t,e.fontFamily,e.fontStyle,e.fontWeight,e.text||e.placeholder),v=e._editModeEnabled;iP(r);let x=b?e.fontFamily:m!==e.fontFamily?m:"Arial",w=i_(e).fill,C=aC(e,{fontFamily:x,color:w}),S=aC(e,{fontFamily:x,color:w,forEditor:!0}),E=y(_).useRef([]),[,T]=y(_).useReducer(e=>e+1,0);y(_).useEffect(()=>{let e=E.current;e.length>0&&(E.current=[],e.forEach(e=>e()))});let{width:O,height:A}=y(_).useMemo(()=>li(C),[C,e.width,b]);y(_).useEffect(()=>{if(!b)return;let n=(n,r,i,a)=>{let o=ij(`text ${e.id}`),l=()=>{t.history.ignore(n,r,i).then(()=>{E.current.push(o),T()})};a?queueMicrotask(l):l()};if(!e.height)return void n(()=>{e.height||e.set({height:A})},void 0,void 0,!0);let{textOverflow:r}=at;if("change-font-size"!==r||o)"resize"===r&&(p&&e.height<A&&!o&&n(()=>{e.set({height:A})},!1,!0),p||e.height===A||o||n(()=>{e.set({height:A})},!1,!0));else{let t=(e=>{let t=e.fontSize;for(let n=1;n<50;n++){let n=aC({...e.toJSON(),fontSize:t},{fontFamily:e.fontFamily}),{height:r}=li(n);if(!(e.height&&r>e.height||!at.textSplitAllowed&&!e.curveEnabled&&function({html:e}){let t=document.createElement("div");t.innerHTML=e,t.style.display="inline-block",t.style.position="fixed",t.style.top="0px",t.style.left="0px",t.style.zIndex="1000",t.style.whiteSpace="nowrap",t.style.visibility="hidden";let n=lr();n.appendChild(t);let r=t.innerText,i=t.childNodes[0];i.style.whiteSpace="nowrap";let a=r?.split(/\s+/)||[],o=!1;for(let e=0;e<a.length;e++){let n=a[e];if(i&&(i.textContent=n,o=i.scrollWidth>t.clientWidth))break}return n.removeChild(t),o}({html:n})))break;t-=.5}return t})(e);t!==e.fontSize?n(()=>{e.set({fontSize:t})},!1,!0):e.height!==A&&(p&&e.height<A?n(()=>{e.set({height:A})},!1,!0):p||n(()=>{e.set({height:A})},!1,!0))}});let I=y(_).useMemo(()=>{let e={lastArgs:null,lastResult:null};return async function(t){var n;return e.lastArgs&&e.lastResult&&(n=e.lastArgs,JSON.stringify(n)===JSON.stringify(t))||(e.lastResult=await lc(t),e.lastArgs={...t}),e.lastResult}},[]),R=y(_).useRef(0),M=y(_).useRef(null),L=async()=>{R.current++;let n=R.current,r=ij(`text ${e.id} ${n}`);M.current&&M.current(),M.current=r,c(!0);let i=null,o=lT?5:1;for(let r=0;r<o;r++){let a=r>0?I:lc;try{if(i=await a({skipCache:r>0,html:C,width:e.width||1,height:e.height||A||1,fontFamily:x,padding:f,pixelRatio:t._elementsPixelRatio,font:t.fonts.find(e=>e.fontFamily===x)||iG.find(e=>e.fontFamily===x)}),n!==R.current)return;if((lT||lP)&&i&&function(e){let t=document.createElement("canvas"),n=t.getContext("2d");return n?.drawImage(e,0,0,t.width,t.height),!function(e){let t=e.getContext("2d").getImageData(0,0,e.width,e.height).data;for(let e=0;e<t.length;e+=4)if(0!==t[e+3])return!0;return!1}(t)}(i)){await new Promise(e=>setTimeout(e,50*(r+1)));continue}break}catch(t){console.error(t),iB(`Error rendering rich text with id ${e.id}`);break}}i?a(i):r?(r(),r=null):console.error("Finish function is called twice!"),c(!1)};y(_).useEffect(()=>{o||v||L()},[C,o,A,v,x,e.height,t._elementsPixelRatio,b]);let[j,N]=aJ(s,300),[D]=aJ(o,300,!0),z=D||j;y(_).useEffect(()=>z?void r.current?.clearCache():P.autorun(()=>{ak(r.current,e)}),[i,z,e.shadowColor,e.shadowOffsetX,e.shadowOffsetY,e.shadowOpacity]),y(_).useEffect(()=>{i&&!s&&M.current&&(M.current(),M.current=null)},[i,s]),y(_).useLayoutEffect(()=>{if(!b||!e.curveEnabled)return;let t=new nA.TextPath({data:ab(e.a.width,e.a.height,e.curvePower,e.a.fontSize),text:iF(e.text),letterSpacing:e.letterSpacing*e.a.fontSize,fontSize:e.a.fontSize,fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontStyle:e.fontStyle,align:"center",textBaseline:"middle",fill:e.fill}),n=t.getSelfRect().width;if(n){let t=n-e.a.width,r=e.a.rotation*Math.PI/180,i=-(t/2)*Math.cos(r),a=-(t/2)*Math.sin(r);queueMicrotask(()=>{e.set({width:n,x:e.a.x+i,y:e.a.y+a})})}t.destroy()},[b,e.curveEnabled,e.curvePower,e.text,e.fontSize,e.fontFamily,e.fontWeight,e.fontStyle,e.letterSpacing]),y(_).useEffect(()=>()=>{M.current&&M.current()},[]),y(_).useEffect(()=>{h&&!d&&g&&""===iF(e.text)&&e.removable&&!e.placeholder&&t.deleteElements([e.id])},[g,e.placeholder,e.removable,e.text,d,h]);let B=0;"middle"===e.verticalAlign&&(B=(e.height-A)/2),"bottom"===e.verticalAlign&&(B=e.height-A);let F=aj({fontLoaded:b,fontFamily:e.fontFamily,fontSize:e.fontSize,lineHeight:e.lineHeight}),H=e.backgroundPadding*(e.fontSize*F*.5),V=e.backgroundCornerRadius*(e.fontSize*F*.5),U=y(_).useMemo(()=>{if(!e.backgroundEnabled||e.curveEnabled||e.legacyBackground)return"";let t=la(C);return 0===t.length?"":iv({rects:t.map(e=>({left:e.left+f,right:e.right+f,top:e.top+f,bottom:e.bottom+f})),padding:H,cornerRadius:V})},[e.backgroundEnabled,e.curveEnabled,e.legacyBackground,C,b,H,V,f]),$=aE(),W=ab(e.a.width,A,e.curvePower,e.fontSize),q=y(_).useRef(null),G=y(_).useRef(null),K=v&&e.strokeWidth>0&&!e.curveEnabled,Y=O>0?(e.a.width+2*f)/(O+2*f):1;return(0,k.jsxs)(k.Fragment,{children:[e.curveEnabled||e.legacyBackground?(0,k.jsx)(rM,{x:e.a.x,y:e.a.y,offsetX:H/Y,offsetY:H/Y,rotation:e.a.rotation,scaleX:Y,scaleY:Y,hideInExport:!e.showInExport,listening:!1,visible:e.backgroundEnabled,opacity:e.backgroundOpacity*e.a.opacity,fill:e.backgroundColor,width:e.width+2*H,height:e.height+2*H,cornerRadius:V}):(0,k.jsx)(rD,{name:"html-background",x:e.a.x,y:e.a.y,offsetX:f/Y,offsetY:(f-B)/Y,rotation:e.a.rotation,scaleX:Y,scaleY:Y,hideInExport:!e.showInExport,listening:!1,visible:e.backgroundEnabled&&U.length>0,opacity:e.backgroundOpacity*e.a.opacity,fill:e.backgroundColor,data:U}),(0,k.jsx)(rD,{x:e.a.x,y:e.a.y,rotation:e.a.rotation,data:W,stroke:n.stroke,strokeWidth:1,visible:!1}),(0,k.jsx)(rM,{ref:r,name:"element",x:e.a.x,y:e.a.y,listening:e.selectable,rotation:e.a.rotation,width:e.a.width,height:e.a.height,visible:!z,draggable:$?e.draggable&&d:e.draggable,preventDefault:!$||d,opacity:v?0:e.a.opacity,hideInExport:!e.showInExport,onDragMove:t=>{e.set({x:t.target.x(),y:t.target.y()})},onDragEnd:t=>{e.set({x:t.target.x(),y:t.target.y()})},id:e.id,onDblClick:t=>{e.contentEditable&&(G.current={x:t.evt.clientX,y:t.evt.clientY},e.toggleEditMode(!0))},onDblTap:t=>{if(e.contentEditable){let n=t.evt.changedTouches?.[0];G.current=n?{x:n.clientX,y:n.clientY}:null,e.toggleEditMode(!0)}},onTransformStart:t=>{l(!0),u.current=e.height},onTransform:t=>{let n=t.target,r=(n.getStage()?.findOne("Transformer")).getActiveAnchor(),i=n.scaleX();if("middle-left"===r||"middle-right"===r){let t=n.scaleX(),r=n.width()*t,i=e.fontSize,a=r;r<i&&(a=i,q.current&&n.position(q.current)),n.width(a),n.scaleX(1),n.scaleY(1);let o=li(aC({...e.toJSON(),width:a},{fontFamily:x,color:w})).height,l=at.textVerticalResizeEnabled?Math.max(o,u.current):o;n.height(l),e.set({width:n.width(),height:l,x:n.x(),y:n.y()})}else if("top-center"===r||"bottom-center"===r){let r="resize"===at.textOverflow,i="number"==typeof e.lineHeight?e.lineHeight:1,a=Math.max(r?A:i*e.fontSize,t.target.height()*t.target.scaleY());n.scaleY(1),e.set({x:n.x(),y:n.y(),height:a,rotation:n.rotation()})}else n.scaleX(1),n.scaleY(1),e.set({fontSize:e.fontSize*i,letterSpacing:e.letterSpacing,width:n.width()*i,x:n.x(),y:n.y(),rotation:n.rotation(),height:n.height()*i});q.current=t.target.position()},onTransformEnd:t=>{l(!1),c(!0);let n=t.target.scaleX();t.target.scaleX(1),t.target.scaleY(1),e.set({fontSize:e.fontSize*n,width:t.target.width()*n,x:t.target.x(),y:t.target.y(),rotation:t.target.rotation(),shadowBlur:e.shadowBlur*n,shadowOffsetX:e.shadowOffsetX*n,shadowOffsetY:e.shadowOffsetY*n,strokeWidth:e.strokeWidth*n})}}),(0,k.jsx)(rj,{ref:r,image:i,x:e.a.x,y:e.a.y,offsetX:f,offsetY:f-B,listening:!1,rotation:e.a.rotation,width:e.a.width+2*f,height:(e.a.width+2*f)*((i?.height??0)/(i?.width||1)||1),visible:!z&&!v,opacity:e.a.opacity,shadowEnabled:e.shadowEnabled,shadowBlur:e.shadowBlur,shadowOffsetX:e.shadowOffsetX,shadowOffsetY:e.shadowOffsetY,shadowColor:e.shadowColor,shadowOpacity:e.shadowOpacity,hideInExport:!e.showInExport,editModeEnabled:e._editModeEnabled||o||z}),(z||K)&&(0,k.jsx)(rI,{x:e.a.x,y:e.a.y,rotation:e.a.rotation,offsetY:-B,children:(0,k.jsx)(ic,{divProps:{style:{pointerEvents:"none"}},children:(0,k.jsx)(lw,{dangerouslySetInnerHTML:{__html:C},style:{pointerEvents:"none",opacity:e.a.opacity,textShadow:e.shadowEnabled?`${e.shadowOffsetX}px ${e.shadowOffsetY}px ${e.shadowBlur}px ${lb(e.shadowColor,e.shadowOpacity??1)}`:void 0}})})}),v&&(0,k.jsx)(rI,{x:e.a.x,y:e.a.y,rotation:e.a.rotation,offsetY:-B,children:(0,k.jsx)(ic,{children:(0,k.jsx)(lE,{html:S,element:e,onChange:t=>{let n=aP({oldText:iF(e.text),newText:iF(t),element:e});e.set({text:t,fontSize:n})},onBlur:t=>{e.toggleEditMode(!1),N(!0)},clickCoords:G.current})})})]})});var _=(C("8NFma"),C("8NFma"));function lA(e){return e/180*Math.PI}function lI(e,t,n,r,i){let a=Math.sqrt(n*n+r*r);return{x:e+a*Math.cos(i+=Math.atan2(r,n)),y:t+a*Math.sin(i)}}function lR(e){let{x:t,y:n,width:r,height:i}=e,a=lA(e.rotation),o=lI(t,n,0,0,a),l=lI(t,n,r,0,a),s=lI(t,n,r,i,a),c=lI(t,n,0,i,a),u=Math.min(o.x,l.x,s.x,c.x),d=Math.min(o.y,l.y,s.y,c.y),h=Math.max(o.x,l.x,s.x,c.x),f=Math.max(o.y,l.y,s.y,c.y);return{x:u,y:d,width:h-u,height:f-d,minX:u,minY:d,maxX:h,maxY:f}}function lM(e){let t=e.map(e=>lR(e)),n=Math.min(...t.map(e=>e.minX)),r=Math.min(...t.map(e=>e.minY)),i=Math.max(...t.map(e=>e.maxX)),a=Math.max(...t.map(e=>e.maxY));return{x:n,y:r,width:i-n,height:a-r,minX:n,minY:r,maxX:i,maxY:a}}let lL=({targetKonvaNodes:e,guideKonvaNode:t,distance:n,snapDirection:r})=>n<5,lj=e=>{lL=e};function lN(e,t){var n=[],r=[];e.vertical.forEach(e=>{t.vertical.forEach(t=>{var r=Math.abs(e.offset-t.guide);lL({targetKonvaNodes:t.nodes,guideKonvaNode:e.node,distance:r,snapDirection:e.snap})&&n.push({lineGuide:e.offset,diff:r,snap:t.snap,offset:t.offset})})}),e.horizontal.forEach(e=>{t.horizontal.forEach(t=>{var n=Math.abs(e.offset-t.guide);lL({targetKonvaNodes:t.nodes,guideKonvaNode:e.node,distance:n,snapDirection:e.snap})&&r.push({lineGuide:e.offset,diff:n,snap:t.snap,offset:t.offset})})});var i=[];let a=n.sort((e,t)=>e.diff-t.diff),o=r.sort((e,t)=>e.diff-t.diff);var l=a[0],s=o[0];return l&&a.filter(e=>.1>Math.abs(e.diff-l.diff)).forEach(e=>{i.push({orientation:"V",...e})}),s&&o.filter(e=>.1>Math.abs(e.diff-s.diff)).forEach(e=>{i.push({orientation:"H",...e})}),i}let lD=()=>{if(0===nA.DD._dragElements.size)return;let e=[...nA.DD._dragElements.entries()],t=e.find(([e,t])=>t.node instanceof nA.Transformer);t&&(e.splice(e.indexOf(t),1),e.unshift(t),nA.DD._dragElements.clear(),e.forEach(([e,t])=>{nA.DD._dragElements.set(e,t)}))};function lz(e,t,n){let{snapGuideStyle:r}=r5(),i=y(_).useRef(r);i.current=r;let a=e=>e.hasName("element")||e.hasName("line-anchor")||e.hasName("page-background")||e.hasName("elements-area"),o=n=>{let r,o,l,s=n.target.getLayer().children.find(e=>"line-guides"===e.name());s?.destroyChildren();var c,u,d,h,f=lN((c=[n.target,...t.map(e=>e.current)],r=e.current?.getStage(),u=[],d=[],r.find(a).forEach(e=>{if(!(c.indexOf(e)>=0)){var t=e.getClientRect({skipShadow:!0,skipStroke:!0});e.hasName("line-anchor")&&(t={x:e.absolutePosition().x,y:e.absolutePosition().y,width:0,height:0}),u.push({offset:t.x,node:e,snap:"start"},{offset:t.x+t.width,node:e,snap:"end"},{offset:t.x+t.width/2,node:e,snap:"center"}),d.push({offset:t.y,node:e,snap:"start"},{offset:t.y+t.height,node:e,snap:"end"},{offset:t.y+t.height/2,node:e,snap:"center"})}}),{vertical:u,horizontal:d}),{vertical:[{guide:(h=n.target).absolutePosition().x,offset:0,snap:"center",nodes:[h]}],horizontal:[{guide:h.absolutePosition().y,offset:0,snap:"center",nodes:[h]}]});if(!f.length)return;o=e.current?.getLayer(),l=o?.children.find(e=>"line-guides"===e.name()),f.forEach(e=>{if("H"===e.orientation){var t=new nA.Line({x:-o.getStage().x(),y:-o.getStage().y(),points:[-6e3,e.lineGuide,6e3,e.lineGuide],stroke:i.current.stroke,strokeWidth:i.current.strokeWidth,name:"guid-line",dash:i.current.dash});l?.add(t),o.batchDraw()}else if("V"===e.orientation){var t=new nA.Line({x:-o.getStage().x(),y:-o.getStage().y(),points:[e.lineGuide,-6e3,e.lineGuide,6e3],stroke:i.current.stroke,strokeWidth:i.current.strokeWidth,name:"guid-line",dash:i.current.dash});l?.add(t)}});let p=n.target.getAbsolutePosition(),g={...p};f.forEach(e=>{switch(e.snap){case"start":case"center":case"end":switch(e.orientation){case"V":g.x=e.lineGuide+e.offset;break;case"H":g.y=e.lineGuide+e.offset}}});let m=g.x-p.x,y=g.y-p.y;if(!(n.evt.ctrlKey||n.evt.metaKey)){let e=n.target.getAbsolutePosition();n.target.absolutePosition({x:e.x+m,y:e.y+y})}},l=e=>{if(!e.target)return;let t=e.target.getLayer(),n=t.children.find(e=>"line-guides"===e.name());n?.destroyChildren(),t.batchDraw()};y(_).useEffect(()=>{e.current&&(e.current.on("dragmove",o),e.current.on("dragend",l))},n)}function lB(e,t){return e.x*t.x+e.y*t.y}let lF={"top-left":"bottom-right","top-center":"bottom-center","top-right":"bottom-left","middle-right":"middle-left","bottom-right":"top-left","bottom-center":"top-center","bottom-left":"top-right","middle-left":"middle-right"};function lH(e){let{x:t,y:n,width:r,height:i,rotation:a}=e.a,o=a*Math.PI/180,l={x:t+i/2*Math.cos(o+Math.PI/2),y:n+i/2*Math.sin(o+Math.PI/2)},s={x:l.x+r*Math.cos(o),y:l.y+r*Math.sin(o)};return{middleLeft:l,middleRight:s}}function lV(e,t,n){let r=Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)),i=Math.atan2(t.y-e.y,t.x-e.x),a=180*i/Math.PI;return{x:e.x+Math.cos(i-Math.PI/2)*n/2,y:e.y+Math.sin(i-Math.PI/2)*n/2,width:r,height:n,rotation:a}}let lU=(e,t,n)=>{let r=n.anchorSize;return{offsetX:r/2/e,offsetY:r/2/e,width:r/e,height:r/e,cornerRadius:n.anchorCornerRadius/e,fill:n.anchorFill,stroke:n.anchorStroke,strokeWidth:n.anchorStrokeWidth,strokeScaleEnabled:!1,draggable:!0,dragDistance:0,onMouseEnter:e=>{e.target.getStage().container().style.cursor="crosshair"},onMouseLeave:e=>{e.target.getStage().container().style.cursor=""},onDragStart:e=>{t.history.startTransaction()},onDragEnd:e=>{t.history.endTransaction()}}},l$=F(({element:e,type:t})=>{let n=i_(e,e.a.color,"fill"),r=i_(e,e.a.color,"stroke"),i={strokeWidth:e.height,lineCap:"round",lineJoin:"round",...r,...n,opacity:e.a.opacity,hideInExport:!e.showInExport};return(0,k.jsxs)(k.Fragment,{children:["arrow"===t&&(0,k.jsx)(rL,{points:[3*e.height,-(2*e.height),0,0,3*e.height,2*e.height],...i}),"triangle"===t&&(0,k.jsx)(rL,{points:[3*e.height,-(2*e.height),0,0,3*e.height,2*e.height],closed:!0,...i}),"bar"===t&&(0,k.jsx)(rL,{points:[0,-(2*e.height),0,2*e.height],closed:!0,...i}),"square"===t&&(0,k.jsx)(rL,{points:[0,-(2*e.height),4*e.height,-(2*e.height),4*e.height,2*e.height,0,2*e.height],closed:!0,...i}),"circle"===t&&(0,k.jsx)("Circle",{x:2*e.height,y:0,radius:2*e.height,...i})]})}),lW=F(({element:e,store:t})=>{let{transformerStyle:n}=r5(),r=y(_).useRef(null),i=y(_).useRef(null),a=y(_).useRef(null),o=e.selectable||"admin"===t.role,l=aE(),s=t.selectedElements.indexOf(e)>=0&&1===t.selectedElements.length,c=e.isSelected,{middleLeft:u,middleRight:d}=lH(e);lz(i,[r],[s]),lz(a,[r],[s]);let h=i_(e,e.a.color,"stroke");return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(rL,{ref:r,name:"element",id:e.id,x:e.a.x,y:e.a.y,points:[0,0,e.a.width,0],offsetY:-e.a.height/2,strokeWidth:e.a.height,hitStrokeWidth:Math.max(e.a.height,20),dash:e.dash.map(t=>t*e.a.height),...h,rotation:e.a.rotation,opacity:e.animated("opacity"),shadowEnabled:e.shadowEnabled,shadowBlur:e.shadowBlur,shadowOffsetX:e.shadowOffsetX,shadowOffsetY:e.shadowOffsetY,shadowColor:e.shadowColor,shadowOpacity:e.shadowOpacity,listening:o,draggable:l?e.draggable&&c:e.draggable,preventDefault:!l||c,hideInExport:!e.showInExport,onDragMove:t=>{e.set({x:t.target.x(),y:t.target.y()})},onDragEnd:t=>{e.set({x:t.target.x(),y:t.target.y()})},onTransform:t=>{let n=t.target.scaleX();t.target.scaleX(1),t.target.scaleY(1),e.set({height:e.height*n,width:e.width*n,x:t.target.x(),y:t.target.y(),rotation:t.target.rotation()})}}),(0,k.jsx)(rI,{x:u.x,y:u.y,rotation:e.rotation,hideInExport:!e.showInExport,onClick:e=>r.current?.fire("click",e),onTap:e=>r.current?.fire("tap",e),children:(0,k.jsx)(l$,{element:e,type:e.startHead})}),(0,k.jsx)(rI,{x:d.x,y:d.y,rotation:e.rotation+180,onClick:e=>r.current?.fire("click",e),onTap:e=>r.current?.fire("tap",e),children:(0,k.jsx)(l$,{element:e,type:e.endHead})}),s&&e.resizable&&(0,k.jsx)(iu,{selector:".page-abs-container",enabled:!0,children:(0,k.jsxs)(rI,{visible:s,children:[(0,k.jsx)(rM,{x:u.x,y:u.y,ref:i,name:"line-anchor",...lU(t.scale,t,n),onDragMove:t=>{let n=lV(t.target.position(),d,e.height);e.set({x:n.x,y:n.y,width:n.width,rotation:n.rotation})}}),(0,k.jsx)(rM,{x:d.x,y:d.y,ref:a,name:"line-anchor",...lU(t.scale,t,n),onDragMove:t=>{let n=lV(u,t.target.position(),e.height);e.set({x:n.x,y:n.y,width:n.width,rotation:n.rotation})}})]})})]})});var _=C("8NFma"),P=C("2SBKn"),_=C("8NFma"),P=C("2SBKn");class lq{constructor(e){this.bytes=e,this.pos=0}seekToByte(e){this.pos=8*e}readBit(){let e=Math.floor(this.pos/8),t=this.bytes[e]??0,n=7-(7&this.pos);return this.pos++,(t&1<<n)>>n}readBits(e){if(1===e)return this.readBit();let t=0;for(let n=0;n<e;n++)t<<=1,t|=this.readBit();return t}writeBits(e,t){let n=this.pos+e;for(let e=this.pos;e<n;e++){let r=Math.floor(e/8),i=this.bytes[r],a=7-(7&e);i&=~(1<<a),i|=(t&1<<n-e-1)>>n-e-1<<a,this.bytes[r]=i}this.pos=n}readAlignedByte(){if(this.pos%8!=0)throw Error("Bitstream is not byte-aligned.");let e=this.pos/8,t=this.bytes[e]??0;return this.pos+=8,t}skipBits(e){this.pos+=e}getBitsLeft(){return 8*this.bytes.length-this.pos}clone(){let e=new lq(this.bytes);return e.pos=this.pos,e}}let lG=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],lK=[-1,1,2,3,4,5,6,8],lY=e=>{if(!e||e.byteLength<2)throw TypeError("AAC description must be at least 2 bytes long.");let t=new lq(e),n=t.readBits(5);31===n&&(n=32+t.readBits(6));let r=t.readBits(4),i=null;15===r?i=t.readBits(24):r<lG.length&&(i=lG[r]);let a=t.readBits(4),o=null;return a>=1&&a<=7&&(o=lK[a]),{objectType:n,frequencyIndex:r,sampleRate:i,channelConfiguration:a,numberOfChannels:o}};function lX(e){if(!e)throw Error("Assertion failed.")}let lZ=e=>{let t=(e%360+360)%360;if(0===t||90===t||180===t||270===t)return t;throw Error(`Invalid rotation ${e}.`)},lQ=e=>e&&e[e.length-1],lJ=e=>{let t=0;for(;0===e.readBits(1)&&t<32;)t++;if(t>=32)throw Error("Invalid exponential-Golomb code.");return(1<<t)-1+e.readBits(t)},l0=e=>{let t=lJ(e);return(1&t)==0?-(t>>1):t+1>>1},l1=e=>e.constructor===Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),l2=e=>e.constructor===DataView?e:ArrayBuffer.isView(e)?new DataView(e.buffer,e.byteOffset,e.byteLength):new DataView(e),l4=new TextDecoder,l3=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[t,e])),l8={bt709:1,bt470bg:5,smpte170m:6,bt2020:9,smpte432:12},l6=l3(l8),l5={bt709:1,smpte170m:6,linear:8,"iec61966-2-1":13,pq:16,hlg:18},l9=l3(l5),l7={rgb:0,bt709:1,bt470bg:5,smpte170m:6,"bt2020-ncl":9},se=l3(l7),st=e=>e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer||ArrayBuffer.isView(e);class sn{constructor(){this.currentPromise=Promise.resolve(),this.pending=0}async acquire(){let e,t=new Promise(t=>{let n=!1;e=()=>{n||(t(),this.pending--,n=!0)}}),n=this.currentPromise;return this.currentPromise=t,this.pending++,await n,e}}let sr=e=>[...e].map(e=>e.toString(16).padStart(2,"0")).join(""),si=e=>(e=(e=(e=(e=(e=e>>1&0x55555555|(0x55555555&e)<<1)>>2&0x33333333|(0x33333333&e)<<2)>>4&0xf0f0f0f|(0xf0f0f0f&e)<<4)>>8&0xff00ff|(0xff00ff&e)<<8)>>16&65535|(65535&e)<<16)>>>0,sa=(e,t,n)=>{let r=0,i=e.length-1,a=-1;for(;r<=i;){let o=r+i>>1,l=n(e[o]);l===t?(a=o,i=o-1):l<t?r=o+1:i=o-1}return a},so=(e,t,n)=>{let r=0,i=e.length-1,a=-1;for(;r<=i;){let o=r+(i-r+1)/2|0;n(e[o])<=t?(a=o,r=o+1):i=o-1}return a},sl=(e,t,n)=>{let r=so(e,n(t),n);e.splice(r+1,0,t)},ss=()=>{let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}},sc=(e,t)=>{for(let n=e.length-1;n>=0;n--)if(t(e[n]))return e[n]},su=(e,t)=>{for(let n=e.length-1;n>=0;n--)if(t(e[n]))return n;return -1},sd=async function*(e){Symbol.iterator in e?yield*e[Symbol.iterator]():yield*e[Symbol.asyncIterator]()},sh=e=>{throw Error(`Unexpected value: ${e}`)},sf=(e,t,n)=>{let r=e.getUint8(t),i=e.getUint8(t+1),a=e.getUint8(t+2);return n?r|i<<8|a<<16:r<<16|i<<8|a},sp=(e,t,n,r)=>{n>>>=0,n&=0xffffff,r?(e.setUint8(t,255&n),e.setUint8(t+1,n>>>8&255),e.setUint8(t+2,n>>>16&255)):(e.setUint8(t,n>>>16&255),e.setUint8(t+1,n>>>8&255),e.setUint8(t+2,255&n))},sg=(e,t)=>({async next(){let n=await e.next();return n.done?{value:void 0,done:!0}:{value:t(n.value),done:!1}},return:()=>e.return(),throw:t=>e.throw(t),[Symbol.asyncIterator](){return this}}),sm=(e,t,n)=>Math.max(t,Math.min(n,e)),sy=e=>{let t=Math.round(e);return Math.abs(e/t-1)<10*Number.EPSILON?t:e},sb=(e,t)=>Math.floor(e/t)*t,sv=/^[a-z]{3}$/,sx=1e6*(1+Number.EPSILON),sw=(e,t)=>{let n={...e,...t};if(e.headers||t.headers){let r=e.headers?sC(e.headers):{},i=t.headers?sC(t.headers):{},a={...r};Object.entries(i).forEach(([e,t])=>{let n=Object.keys(a).find(t=>t.toLowerCase()===e.toLowerCase());n&&delete a[n],a[e]=t}),n.headers=a}return n},sC=e=>{if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}if(Array.isArray(e)){let t={};return e.forEach(([e,n])=>{t[e]=n}),t}return e},sS=async(e,t,n,r,i)=>{let a=0;for(;;)try{return await e(t,n)}catch(n){if(i())throw n;let e=r(++a,n,t);if(null===e)throw n;if(console.error("Retrying failed fetch. Error:",n),!Number.isFinite(e)||e<0)throw TypeError("Retry delay must be a non-negative finite number.");if(e>0&&await new Promise(t=>setTimeout(t,1e3*e)),i())throw n}};class sk{constructor(){this.currentPromise=Promise.resolve()}call(e){return this.currentPromise=this.currentPromise.then(e)}}let s_=null,sE=()=>null!==s_?s_:s_=!!("u">typeof navigator&&(navigator.vendor?.match(/apple/i)||/AppleWebKit/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)||/\b(iPad|iPhone|iPod)\b/.test(navigator.userAgent))),sT=null,sP=()=>null!==sT?sT:sT="u">typeof navigator&&navigator.userAgent?.includes("Firefox"),sO=null,sA=()=>null!==sO?sO:sO=!!("u">typeof navigator&&(navigator.vendor?.includes("Google Inc")||/Chrome/.test(navigator.userAgent))),sI=null,sR=()=>{if(null!==sI)return sI;if("u"<typeof navigator)return null;let e=/\bChrome\/(\d+)/.exec(navigator.userAgent);return e?sI=Number(e[1]):null},sM=(e,t)=>-1!==e?e:t,sL=(e,t,n,r)=>e<=r&&n<=t,sj=e=>{let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n},sN=()=>{Symbol.dispose??=Symbol("Symbol.dispose")},sD=e=>"number"==typeof e&&!Number.isNaN(e),sz=e=>{lX(0!==e.den);let t=Math.abs(e.num),n=Math.abs(e.den);for(;0!==n;){let e=t%n;t=n,n=e}let r=t||1;return{num:e.num/r,den:e.den/r}},sB=(e,t)=>{if("object"!=typeof e||!e)throw TypeError(`${t} must be an object.`);if(!Number.isInteger(e.left)||e.left<0)throw TypeError(`${t}.left must be a non-negative integer.`);if(!Number.isInteger(e.top)||e.top<0)throw TypeError(`${t}.top must be a non-negative integer.`);if(!Number.isInteger(e.width)||e.width<0)throw TypeError(`${t}.width must be a non-negative integer.`);if(!Number.isInteger(e.height)||e.height<0)throw TypeError(`${t}.height must be a non-negative integer.`)},sF=["pcm-s16","pcm-s16be","pcm-s24","pcm-s24be","pcm-s32","pcm-s32be","pcm-f32","pcm-f32be","pcm-f64","pcm-f64be","pcm-u8","pcm-s8","ulaw","alaw"];[...sF];let sH=[{maxMacroblocks:99,maxBitrate:64e3,maxDpbMbs:396,level:10},{maxMacroblocks:396,maxBitrate:192e3,maxDpbMbs:900,level:11},{maxMacroblocks:396,maxBitrate:384e3,maxDpbMbs:2376,level:12},{maxMacroblocks:396,maxBitrate:768e3,maxDpbMbs:2376,level:13},{maxMacroblocks:396,maxBitrate:2e6,maxDpbMbs:2376,level:20},{maxMacroblocks:792,maxBitrate:4e6,maxDpbMbs:4752,level:21},{maxMacroblocks:1620,maxBitrate:4e6,maxDpbMbs:8100,level:22},{maxMacroblocks:1620,maxBitrate:1e7,maxDpbMbs:8100,level:30},{maxMacroblocks:3600,maxBitrate:14e6,maxDpbMbs:18e3,level:31},{maxMacroblocks:5120,maxBitrate:2e7,maxDpbMbs:20480,level:32},{maxMacroblocks:8192,maxBitrate:2e7,maxDpbMbs:32768,level:40},{maxMacroblocks:8192,maxBitrate:5e7,maxDpbMbs:32768,level:41},{maxMacroblocks:8704,maxBitrate:5e7,maxDpbMbs:34816,level:42},{maxMacroblocks:22080,maxBitrate:135e6,maxDpbMbs:110400,level:50},{maxMacroblocks:36864,maxBitrate:24e7,maxDpbMbs:184320,level:51},{maxMacroblocks:36864,maxBitrate:24e7,maxDpbMbs:184320,level:52},{maxMacroblocks:139264,maxBitrate:24e7,maxDpbMbs:696320,level:60},{maxMacroblocks:139264,maxBitrate:48e7,maxDpbMbs:696320,level:61},{maxMacroblocks:139264,maxBitrate:8e8,maxDpbMbs:696320,level:62}],sV=[{maxPictureSize:36864,maxBitrate:2e5,level:10},{maxPictureSize:73728,maxBitrate:8e5,level:11},{maxPictureSize:122880,maxBitrate:18e5,level:20},{maxPictureSize:245760,maxBitrate:36e5,level:21},{maxPictureSize:552960,maxBitrate:72e5,level:30},{maxPictureSize:983040,maxBitrate:12e6,level:31},{maxPictureSize:2228224,maxBitrate:18e6,level:40},{maxPictureSize:2228224,maxBitrate:3e7,level:41},{maxPictureSize:8912896,maxBitrate:6e7,level:50},{maxPictureSize:8912896,maxBitrate:12e7,level:51},{maxPictureSize:8912896,maxBitrate:18e7,level:52},{maxPictureSize:0x2200000,maxBitrate:18e7,level:60},{maxPictureSize:0x2200000,maxBitrate:24e7,level:61},{maxPictureSize:0x2200000,maxBitrate:48e7,level:62}],sU=".01.01.01.01.00",s$=".0.110.01.01.01.0",sW=e=>{let{codec:t,codecDescription:n,colorSpace:r,avcCodecInfo:i,hevcCodecInfo:a,vp9CodecInfo:o,av1CodecInfo:l}=e;if("avc"===t){if(lX(null!==e.avcType),i){let t=new Uint8Array([i.avcProfileIndication,i.profileCompatibility,i.avcLevelIndication]);return`avc${e.avcType}.${sr(t)}`}if(!n||n.byteLength<4)throw TypeError("AVC decoder description is not provided or is not at least 4 bytes long.");return`avc${e.avcType}.${sr(n.subarray(1,4))}`}if("hevc"===t){let e,t,r,i,o,l;if(a)e=a.generalProfileSpace,t=a.generalProfileIdc,r=si(a.generalProfileCompatibilityFlags),i=a.generalTierFlag,o=a.generalLevelIdc,l=[...a.generalConstraintIndicatorFlags];else{if(!n||n.byteLength<23)throw TypeError("HEVC decoder description is not provided or is not at least 23 bytes long.");let a=l2(n),s=a.getUint8(1);e=s>>6&3,t=31&s,r=si(a.getUint32(2)),i=s>>5&1,o=a.getUint8(12),l=[];for(let e=0;e<6;e++)l.push(a.getUint8(6+e))}let s="hev1.";for(s+=["","A","B","C"][e]+t,s+=".",s+=r.toString(16).toUpperCase(),s+=".",s+=0===i?"L":"H",s+=o;l.length>0&&0===l[l.length-1];)l.pop();return l.length>0&&(s+=".",s+=l.map(e=>e.toString(16).toUpperCase()).join(".")),s}if("vp8"===t)return"vp8";if("vp9"===t){if(!o){let t=e.width*e.height,n=lQ(sV).level;for(let e of sV)if(t<=e.maxPictureSize){n=e.level;break}return`vp09.00.${n.toString().padStart(2,"0")}.08`}let t=o.profile.toString().padStart(2,"0"),n=o.level.toString().padStart(2,"0"),r=o.bitDepth.toString().padStart(2,"0"),i=o.chromaSubsampling.toString().padStart(2,"0"),a=o.colourPrimaries.toString().padStart(2,"0"),l=o.transferCharacteristics.toString().padStart(2,"0"),s=o.matrixCoefficients.toString().padStart(2,"0"),c=o.videoFullRangeFlag.toString().padStart(2,"0"),u=`vp09.${t}.${n}.${r}.${i}`;return(u+=`.${a}.${l}.${s}.${c}`).endsWith(sU)&&(u=u.slice(0,-sU.length)),u}if("av1"===t){if(!l){let t=e.width*e.height,n=lQ(sV).level;for(let e of sV)if(t<=e.maxPictureSize){n=e.level;break}return`av01.0.${n.toString().padStart(2,"0")}M.08`}let t=l.profile,n=l.level.toString().padStart(2,"0"),i=l.tier?"H":"M",a=l.bitDepth.toString().padStart(2,"0"),o=l.monochrome?"1":"0",s=100*l.chromaSubsamplingX+10*l.chromaSubsamplingY+ +(l.chromaSubsamplingX&&l.chromaSubsamplingY?l.chromaSamplePosition:0),c=r?.primaries?l8[r.primaries]:1,u=r?.transfer?l5[r.transfer]:1,d=r?.matrix?l7[r.matrix]:1,h=+!!r?.fullRange,f=`av01.${t}.${n}${i}.${a}`;return f+=`.${o}.${s.toString().padStart(3,"0")}`,f+=`.${c.toString().padStart(2,"0")}`,f+=`.${u.toString().padStart(2,"0")}`,f+=`.${d.toString().padStart(2,"0")}`,(f+=`.${h}`).endsWith(s$)&&(f=f.slice(0,-s$.length)),f}throw TypeError(`Unhandled codec '${t}'.`)},sq=e=>{let{codec:t,codecDescription:n,aacCodecInfo:r}=e;if("aac"===t){if(!r)throw TypeError("AAC codec info must be provided.");if(r.isMpeg2)return"mp4a.67";{let e;return e=null!==r.objectType?r.objectType:lY(n).objectType,`mp4a.40.${e}`}}if("mp3"===t)return"mp3";if("opus"===t)return"opus";if("vorbis"===t)return"vorbis";if("flac"===t)return"flac";else if("ac3"===t)return"ac-3";else if("eac3"===t)return"ec-3";else if(t&&sF.includes(t))return t;throw TypeError(`Unhandled codec '${t}'.`)},sG=/^pcm-([usf])(\d+)+(be)?$/,sK=[48e3,44100,32e3],sY=[24e3,22050,16e3];(Dh=DJ||(DJ={}))[Dh.NON_IDR_SLICE=1]="NON_IDR_SLICE",Dh[Dh.SLICE_DPA=2]="SLICE_DPA",Dh[Dh.SLICE_DPB=3]="SLICE_DPB",Dh[Dh.SLICE_DPC=4]="SLICE_DPC",Dh[Dh.IDR=5]="IDR",Dh[Dh.SEI=6]="SEI",Dh[Dh.SPS=7]="SPS",Dh[Dh.PPS=8]="PPS",Dh[Dh.AUD=9]="AUD",Dh[Dh.SPS_EXT=13]="SPS_EXT",(Df=D0||(D0={}))[Df.RASL_N=8]="RASL_N",Df[Df.RASL_R=9]="RASL_R",Df[Df.BLA_W_LP=16]="BLA_W_LP",Df[Df.RSV_IRAP_VCL23=23]="RSV_IRAP_VCL23",Df[Df.VPS_NUT=32]="VPS_NUT",Df[Df.SPS_NUT=33]="SPS_NUT",Df[Df.PPS_NUT=34]="PPS_NUT",Df[Df.AUD_NUT=35]="AUD_NUT",Df[Df.PREFIX_SEI_NUT=39]="PREFIX_SEI_NUT",Df[Df.SUFFIX_SEI_NUT=40]="SUFFIX_SEI_NUT";let sX=function*(e){let t=0,n=-1;for(;t<e.length-2;){let r=e.indexOf(0,t);if(-1===r||r>=e.length-2)break;let i=0;if((t=r)+3<e.length&&0===e[t+1]&&0===e[t+2]&&1===e[t+3]?i=4:0===e[t+1]&&1===e[t+2]&&(i=3),0===i){t++;continue}-1!==n&&t>n&&(yield{offset:n,length:t-n}),t=n=t+i}-1!==n&&n<e.length&&(yield{offset:n,length:e.length-n})},sZ=function*(e,t){let n=0,r=new DataView(e.buffer,e.byteOffset,e.byteLength);for(;n+t<=e.length;){let e;1===t?e=r.getUint8(n):2===t?e=r.getUint16(n,!1):3===t?e=sf(r,n,!1):(lX(4===t),e=r.getUint32(n,!1)),n+=t,yield{offset:n,length:e},n+=e}},sQ=(e,t)=>t.description?sZ(e,(3&l1(t.description)[4])+1):sX(e),sJ=e=>31&e,s0=e=>{let t=[],n=e.length;for(let r=0;r<n;r++)r+2<n&&0===e[r]&&0===e[r+1]&&3===e[r+2]?(t.push(0,0),r+=2):t.push(e[r]);return new Uint8Array(t)},s1=new Uint8Array([0,0,0,1]),s2=e=>{try{let t=[],n=[],r=[];for(let i of sX(e)){let a=e.subarray(i.offset,i.offset+i.length),o=sJ(a[0]);o===DJ.SPS?t.push(a):o===DJ.PPS?n.push(a):o===DJ.SPS_EXT&&r.push(a)}if(0===t.length||0===n.length)return null;let i=t[0],a=s3(i);lX(null!==a);let o=100===a.profileIdc||110===a.profileIdc||122===a.profileIdc||144===a.profileIdc;return{configurationVersion:1,avcProfileIndication:a.profileIdc,profileCompatibility:a.constraintFlags,avcLevelIndication:a.levelIdc,lengthSizeMinusOne:3,sequenceParameterSets:t,pictureParameterSets:n,chromaFormat:o?a.chromaFormatIdc:null,bitDepthLumaMinus8:o?a.bitDepthLumaMinus8:null,bitDepthChromaMinus8:o?a.bitDepthChromaMinus8:null,sequenceParameterSetExt:o?r:null}}catch(e){return console.error("Error building AVC Decoder Configuration Record:",e),null}},s4={1:{num:1,den:1},2:{num:12,den:11},3:{num:10,den:11},4:{num:16,den:11},5:{num:40,den:33},6:{num:24,den:11},7:{num:20,den:11},8:{num:32,den:11},9:{num:80,den:33},10:{num:18,den:11},11:{num:15,den:11},12:{num:64,den:33},13:{num:160,den:99},14:{num:4,den:3},15:{num:3,den:2},16:{num:2,den:1}},s3=e=>{try{let t=new lq(s0(e));t.skipBits(1),t.skipBits(2);let n=t.readBits(5);if(7!==n)return null;let r=t.readAlignedByte(),i=t.readAlignedByte(),a=t.readAlignedByte();lJ(t);let o=1,l=0,s=0,c=0;if((100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r)&&(o=lJ(t),3===o&&(c=t.readBits(1)),l=lJ(t),s=lJ(t),t.skipBits(1),t.readBits(1))){for(let e=0;e<(3!==o?8:12);e++)if(t.readBits(1)){let n=e<6?16:64,r=8,i=8;for(let e=0;e<n;e++){if(0!==i){let e=l0(t);i=(r+e+256)%256}r=0===i?r:i}}}lJ(t);let u=lJ(t);if(0===u)lJ(t);else if(1===u){t.skipBits(1),l0(t),l0(t);let e=lJ(t);for(let n=0;n<e;n++)l0(t)}lJ(t),t.skipBits(1);let d=lJ(t),h=lJ(t),f=16*(d+1),p=16*(h+1),g=f,m=p,y=t.readBits(1);if(y||t.skipBits(1),t.skipBits(1),t.readBits(1)){let e,n,r=lJ(t),i=lJ(t),a=lJ(t),l=lJ(t),s=0===c?o:0;if(0===s)e=1,n=2-y;else{let t=3===o?1:2,r=1===o?2:1;e=t,n=r*(2-y)}g-=e*(r+i),m-=n*(a+l)}let b=2,v=2,x=2,w=0,C={num:1,den:1},S=null,k=null;if(t.readBits(1)){if(t.readBits(1)){let e=t.readBits(8);if(255===e)C={num:t.readBits(16),den:t.readBits(16)};else{let t=s4[e];t&&(C=t)}}t.readBits(1)&&t.skipBits(1),t.readBits(1)&&(t.skipBits(3),w=t.readBits(1),t.readBits(1)&&(b=t.readBits(8),v=t.readBits(8),x=t.readBits(8))),t.readBits(1)&&(lJ(t),lJ(t)),t.readBits(1)&&(t.skipBits(32),t.skipBits(32),t.skipBits(1));let e=t.readBits(1);e&&s8(t);let n=t.readBits(1);n&&s8(t),(e||n)&&t.skipBits(1),t.skipBits(1),t.readBits(1)&&(t.skipBits(1),lJ(t),lJ(t),lJ(t),lJ(t),S=lJ(t),k=lJ(t))}if(null===S)if(lX(null===k),(44===r||86===r||100===r||110===r||122===r||244===r)&&16&i)S=0,k=0;else{let e=sH.find(e=>e.level>=a)??lQ(sH),t=Math.min(Math.floor(e.maxDpbMbs/((2-y)*(h+1)*(d+1))),16);S=t,k=t}return lX(null!==k),{profileIdc:r,constraintFlags:i,levelIdc:a,frameMbsOnlyFlag:y,chromaFormatIdc:o,bitDepthLumaMinus8:l,bitDepthChromaMinus8:s,codedWidth:f,codedHeight:p,displayWidth:g,displayHeight:m,pixelAspectRatio:C,colourPrimaries:b,matrixCoefficients:x,transferCharacteristics:v,fullRangeFlag:w,numReorderFrames:S,maxDecFrameBuffering:k}}catch(e){return console.error("Error parsing AVC SPS:",e),null}},s8=e=>{let t=lJ(e);e.skipBits(4),e.skipBits(4);for(let n=0;n<=t;n++)lJ(e),lJ(e),e.skipBits(1);e.skipBits(5),e.skipBits(5),e.skipBits(5),e.skipBits(5)},s6=(e,t)=>t.description?sZ(e,(3&l1(t.description)[21])+1):sX(e),s5=e=>e>>1&63,s9=e=>{try{let t=new lq(s0(e));t.skipBits(16),t.readBits(4);let n=t.readBits(3),r=t.readBits(1),{general_profile_space:i,general_tier_flag:a,general_profile_idc:o,general_profile_compatibility_flags:l,general_constraint_indicator_flags:s,general_level_idc:c}=ce(t,n);lJ(t);let u=lJ(t),d=0;3===u&&(d=t.readBits(1));let h=lJ(t),f=lJ(t),p=h,g=f;if(t.readBits(1)){let e=lJ(t),n=lJ(t),r=lJ(t),i=lJ(t),a=1,o=1,l=0===d?u:0;1===l?(a=2,o=2):2===l&&(a=2,o=1),p-=(e+n)*a,g-=(r+i)*o}let m=lJ(t),y=lJ(t);lJ(t);let b=t.readBits(1)?0:n,v=0;for(let e=b;e<=n;e++)lJ(t),v=lJ(t),lJ(t);lJ(t),lJ(t),lJ(t),lJ(t),lJ(t),lJ(t),t.readBits(1)&&t.readBits(1)&&ct(t),t.skipBits(1),t.skipBits(1),t.readBits(1)&&(t.skipBits(4),t.skipBits(4),lJ(t),lJ(t),t.skipBits(1));let x=lJ(t);if(cn(t,x),t.readBits(1)){let e=lJ(t);for(let n=0;n<e;n++)lJ(t),t.skipBits(1)}t.skipBits(1),t.skipBits(1);let w=2,C=2,S=2,k=0,_=0,E={num:1,den:1};if(t.readBits(1)){let e=ci(t,n);E=e.pixelAspectRatio,w=e.colourPrimaries,C=e.transferCharacteristics,S=e.matrixCoefficients,k=e.fullRangeFlag,_=e.minSpatialSegmentationIdc}return{displayWidth:p,displayHeight:g,pixelAspectRatio:E,colourPrimaries:w,transferCharacteristics:C,matrixCoefficients:S,fullRangeFlag:k,maxDecFrameBuffering:v+1,spsMaxSubLayersMinus1:n,spsTemporalIdNestingFlag:r,generalProfileSpace:i,generalTierFlag:a,generalProfileIdc:o,generalProfileCompatibilityFlags:l,generalConstraintIndicatorFlags:s,generalLevelIdc:c,chromaFormatIdc:u,bitDepthLumaMinus8:m,bitDepthChromaMinus8:y,minSpatialSegmentationIdc:_}}catch(e){return console.error("Error parsing HEVC SPS:",e),null}},s7=e=>{try{let t=[],n=[],r=[],i=[];for(let a of sX(e)){let o=e.subarray(a.offset,a.offset+a.length),l=s5(o[0]);l===D0.VPS_NUT?t.push(o):l===D0.SPS_NUT?n.push(o):l===D0.PPS_NUT?r.push(o):(l===D0.PREFIX_SEI_NUT||l===D0.SUFFIX_SEI_NUT)&&i.push(o)}if(0===n.length||0===r.length)return null;let a=s9(n[0]);if(!a)return null;let o=0;if(r.length>0){let e=r[0],t=new lq(s0(e));t.skipBits(16),lJ(t),lJ(t),t.skipBits(1),t.skipBits(1),t.skipBits(3),t.skipBits(1),t.skipBits(1),lJ(t),lJ(t),l0(t),t.skipBits(1),t.skipBits(1),t.readBits(1)&&lJ(t),l0(t),l0(t),t.skipBits(1),t.skipBits(1),t.skipBits(1),t.skipBits(1);let n=t.readBits(1),i=t.readBits(1);o=n||i?n&&!i?2:!n&&i?3:0:0}let l=[...t.length?[{arrayCompleteness:1,nalUnitType:D0.VPS_NUT,nalUnits:t}]:[],...n.length?[{arrayCompleteness:1,nalUnitType:D0.SPS_NUT,nalUnits:n}]:[],...r.length?[{arrayCompleteness:1,nalUnitType:D0.PPS_NUT,nalUnits:r}]:[],...i.length?[{arrayCompleteness:1,nalUnitType:s5(i[0][0]),nalUnits:i}]:[]];return{configurationVersion:1,generalProfileSpace:a.generalProfileSpace,generalTierFlag:a.generalTierFlag,generalProfileIdc:a.generalProfileIdc,generalProfileCompatibilityFlags:a.generalProfileCompatibilityFlags,generalConstraintIndicatorFlags:a.generalConstraintIndicatorFlags,generalLevelIdc:a.generalLevelIdc,minSpatialSegmentationIdc:a.minSpatialSegmentationIdc,parallelismType:o,chromaFormatIdc:a.chromaFormatIdc,bitDepthLumaMinus8:a.bitDepthLumaMinus8,bitDepthChromaMinus8:a.bitDepthChromaMinus8,avgFrameRate:0,constantFrameRate:0,numTemporalLayers:a.spsMaxSubLayersMinus1+1,temporalIdNested:a.spsTemporalIdNestingFlag,lengthSizeMinusOne:3,arrays:l}}catch(e){return console.error("Error building HEVC Decoder Configuration Record:",e),null}},ce=(e,t)=>{let n=e.readBits(2),r=e.readBits(1),i=e.readBits(5),a=0;for(let t=0;t<32;t++)a=a<<1|e.readBits(1);let o=new Uint8Array(6);for(let t=0;t<6;t++)o[t]=e.readBits(8);let l=e.readBits(8),s=[],c=[];for(let n=0;n<t;n++)s.push(e.readBits(1)),c.push(e.readBits(1));if(t>0)for(let n=t;n<8;n++)e.skipBits(2);for(let n=0;n<t;n++)s[n]&&e.skipBits(88),c[n]&&e.skipBits(8);return{general_profile_space:n,general_tier_flag:r,general_profile_idc:i,general_profile_compatibility_flags:a,general_constraint_indicator_flags:o,general_level_idc:l}},ct=e=>{for(let t=0;t<4;t++)for(let n=0;n<(3===t?2:6);n++)if(e.readBits(1)){let n=Math.min(64,1<<4+(t<<1));t>1&&l0(e);for(let t=0;t<n;t++)l0(e)}else lJ(e)},cn=(e,t)=>{let n=[];for(let r=0;r<t;r++)n[r]=cr(e,r,t,n)},cr=(e,t,n,r)=>{let i=0,a=0,o=0;if(0!==t&&(a=e.readBits(1)),a){o=t===n?t-(lJ(e)+1):t-1,e.readBits(1),lJ(e);let a=r[o]??0;for(let t=0;t<=a;t++)e.readBits(1)||e.readBits(1);i=r[o]}else{let t=lJ(e),n=lJ(e);for(let n=0;n<t;n++)lJ(e),e.readBits(1);for(let t=0;t<n;t++)lJ(e),e.readBits(1);i=t+n}return i},ci=(e,t)=>{let n=2,r=2,i=2,a=0,o=0,l={num:1,den:1};if(e.readBits(1)){let t=e.readBits(8);if(255===t)l={num:e.readBits(16),den:e.readBits(16)};else{let e=s4[t];e&&(l=e)}}return e.readBits(1)&&e.readBits(1),e.readBits(1)&&(e.readBits(3),a=e.readBits(1),e.readBits(1)&&(n=e.readBits(8),r=e.readBits(8),i=e.readBits(8))),e.readBits(1)&&(lJ(e),lJ(e)),e.readBits(1),e.readBits(1),e.readBits(1),e.readBits(1)&&(lJ(e),lJ(e),lJ(e),lJ(e)),e.readBits(1)&&(e.readBits(32),e.readBits(32),e.readBits(1)&&lJ(e),e.readBits(1)&&ca(e,!0,t)),e.readBits(1)&&(e.readBits(1),e.readBits(1),e.readBits(1),o=lJ(e),lJ(e),lJ(e),lJ(e),lJ(e)),{pixelAspectRatio:l,colourPrimaries:n,transferCharacteristics:r,matrixCoefficients:i,fullRangeFlag:a,minSpatialSegmentationIdc:o}},ca=(e,t,n)=>{let r=!1,i=!1,a=!1;t&&(r=1===e.readBits(1),i=1===e.readBits(1),(r||i)&&((a=1===e.readBits(1))&&(e.readBits(8),e.readBits(5),e.readBits(1),e.readBits(5)),e.readBits(4),e.readBits(4),a&&e.readBits(4),e.readBits(5),e.readBits(5),e.readBits(5)));for(let t=0;t<=n;t++){let t=1===e.readBits(1),n=!0;t||(n=1===e.readBits(1));let o=!1;n?lJ(e):o=1===e.readBits(1);let l=1;o||(l=lJ(e)+1),r&&co(e,l,a),i&&co(e,l,a)}},co=(e,t,n)=>{for(let r=0;r<t;r++)lJ(e),lJ(e),n&&(lJ(e),lJ(e)),e.readBits(1)},cl=e=>{let t=new lq(e);if(2!==t.readBits(2))return null;let n=t.readBits(1),r=(t.readBits(1)<<1)+n;if(3===r&&t.skipBits(1),1===t.readBits(1)||0!==t.readBits(1)||(t.skipBits(2),4817730!==t.readBits(24)))return null;let i=8;r>=2&&(i=t.readBits(1)?12:10);let a=t.readBits(3),o=0,l=0;if(7!==a)if(l=t.readBits(1),1===r||3===r){let e=t.readBits(1),n=t.readBits(1);o=e||n?e&&!n?2:1:3,t.skipBits(1)}else o=1;else o=3,l=1;let s=(t.readBits(16)+1)*(t.readBits(16)+1),c=lQ(sV).level;for(let e of sV)if(s<=e.maxPictureSize){c=e.level;break}return{profile:r,level:c,bitDepth:i,chromaSubsampling:o,videoFullRangeFlag:l,colourPrimaries:2===a?1:1===a?6:2,transferCharacteristics:2===a?1:1===a?6:2,matrixCoefficients:7===a?0:2===a?1:1===a?6:2}},cs=function*(e){let t=new lq(e),n=()=>{let e=0;for(let n=0;n<8;n++){let r=t.readAlignedByte();if(e|=(127&r)<<7*n,!(128&r))break;if(7===n&&128&r)return null}return e>=0x100000000-1?null:e};for(;t.getBitsLeft()>=8;){let r;t.skipBits(1);let i=t.readBits(4),a=t.readBits(1),o=t.readBits(1);if(t.skipBits(1),a&&t.skipBits(8),o){let e=n();if(null===e)return;r=e}else r=Math.floor(t.getBitsLeft()/8);lX(t.pos%8==0),yield{type:i,data:e.subarray(t.pos/8,t.pos/8+r)},t.skipBits(8*r)}},cc=e=>{for(let{type:t,data:n}of cs(e)){if(1!==t)continue;let e=new lq(n),r=e.readBits(3);e.readBits(1);let i=e.readBits(1),a=0,o=0,l=0;if(i)a=e.readBits(5);else{if(e.readBits(1)&&(e.skipBits(32),e.skipBits(32),e.readBits(1)))return null;let t=e.readBits(1);t&&(l=e.readBits(5),e.skipBits(32),e.skipBits(5),e.skipBits(5));let n=e.readBits(5);for(let r=0;r<=n;r++){e.skipBits(12);let n=e.readBits(5);if(0===r&&(a=n),n>7){let t=e.readBits(1);0===r&&(o=t)}if(t&&e.readBits(1)){let t=l+1;e.skipBits(t),e.skipBits(t),e.skipBits(1)}e.readBits(1)&&e.skipBits(4)}}let s=e.readBits(4),c=e.readBits(4),u=s+1;e.skipBits(u);let d=c+1;e.skipBits(d);if((i?0:e.readBits(1))&&(e.skipBits(4),e.skipBits(3)),e.skipBits(1),e.skipBits(1),e.skipBits(1),!i){e.skipBits(1),e.skipBits(1),e.skipBits(1),e.skipBits(1);let t=e.readBits(1);t&&(e.skipBits(1),e.skipBits(1));let n=e.readBits(1);(n?2:e.readBits(1))>0&&(e.readBits(1)||e.skipBits(1)),t&&e.skipBits(3)}e.skipBits(1),e.skipBits(1),e.skipBits(1);let h=e.readBits(1),f=8;2===r&&h?f=e.readBits(1)?12:10:r<=2&&(f=h?10:8);let p=0;1!==r&&(p=e.readBits(1));let g=1,m=1,y=0;return!p&&(0===r?(g=1,m=1):1===r?(g=0,m=0):12===f&&(g=e.readBits(1))&&(m=e.readBits(1)),g&&m&&(y=e.readBits(2))),{profile:r,level:a,tier:o,bitDepth:f,monochrome:p,chromaSubsamplingX:g,chromaSubsamplingY:m,chromaSamplePosition:y}}return null},cu=[480,960,1920,2880,480,960,1920,2880,480,960,1920,2880,480,960,480,960,120,240,480,960,120,240,480,960,120,240,480,960,120,240,480,960],cd=(e,t,n)=>{switch(e){case"avc":for(let e of sQ(n,t)){let t=sJ(n[e.offset]);if(t>=DJ.NON_IDR_SLICE&&t<=DJ.SLICE_DPC)break;if(t===DJ.IDR)return"key";if(t===DJ.SEI&&(!sA()||sR()>=144)){let t=s0(n.subarray(e.offset,e.offset+e.length)),r=1;do{let e=0;for(;;){let n=t[r++];if(void 0===n||(e+=n,n<255))break}let n=0;for(;;){let e=t[r++];if(void 0===e||(n+=e,e<255))break}if(6===e){let e=new lq(t);e.pos=8*r;let n=lJ(e),i=e.readBits(1);if(0===n&&1===i)return"key"}r+=n}while(r<t.length-1)}}return"delta";case"hevc":for(let e of s6(n,t)){let t=s5(n[e.offset]);if(t<D0.BLA_W_LP)break;if(t<=D0.RSV_IRAP_VCL23)return"key"}return"delta";case"vp8":return 0==(1&n[0])?"key":"delta";case"vp9":{let e=new lq(n);if(2!==e.readBits(2))return null;let t=e.readBits(1);if(3===(e.readBits(1)<<1)+t&&e.skipBits(1),e.readBits(1))return null;return 0===e.readBits(1)?"key":"delta"}case"av1":{let e=!1;for(let{type:t,data:r}of cs(n))if(1===t){let t=new lq(r);t.skipBits(4),e=!!t.readBits(1)}else if(3===t||6===t||7===t){if(e)return"key";let t=new lq(r);if(t.readBits(1))return null;return 0===t.readBits(2)?"key":"delta"}return null}default:sh(e),lX(!1)}};(Dp=D1||(D1={}))[Dp.STREAMINFO=0]="STREAMINFO",Dp[Dp.VORBIS_COMMENT=4]="VORBIS_COMMENT",Dp[Dp.PICTURE=6]="PICTURE";let ch=(e,t)=>{let n=l2(e),r=0,i=n.getUint32(r,!0);r+=4;let a=l4.decode(e.subarray(r,r+i));r+=i,i>0&&(t.raw??={},t.raw.vendor??=a);let o=n.getUint32(r,!0);r+=4;for(let i=0;i<o;i++){let i=n.getUint32(r,!0);r+=4;let a=l4.decode(e.subarray(r,r+i));r+=i;let o=a.indexOf("=");if(-1===o)continue;let l=a.slice(0,o).toUpperCase(),s=a.slice(o+1);switch(t.raw??={},t.raw[l]??=s,l){case"TITLE":t.title??=s;break;case"DESCRIPTION":t.description??=s;break;case"ARTIST":t.artist??=s;break;case"ALBUM":t.album??=s;break;case"ALBUMARTIST":t.albumArtist??=s;break;case"COMMENT":t.comment??=s;break;case"LYRICS":t.lyrics??=s;break;case"TRACKNUMBER":{let e=s.split("/"),n=Number.parseInt(e[0],10),r=e[1]&&Number.parseInt(e[1],10);Number.isInteger(n)&&n>0&&(t.trackNumber??=n),r&&Number.isInteger(r)&&r>0&&(t.tracksTotal??=r)}break;case"TRACKTOTAL":{let e=Number.parseInt(s,10);Number.isInteger(e)&&e>0&&(t.tracksTotal??=e)}break;case"DISCNUMBER":{let e=s.split("/"),n=Number.parseInt(e[0],10),r=e[1]&&Number.parseInt(e[1],10);Number.isInteger(n)&&n>0&&(t.discNumber??=n),r&&Number.isInteger(r)&&r>0&&(t.discsTotal??=r)}break;case"DISCTOTAL":{let e=Number.parseInt(s,10);Number.isInteger(e)&&e>0&&(t.discsTotal??=e)}break;case"DATE":{let e=new Date(s);Number.isNaN(e.getTime())||(t.date??=e)}break;case"GENRE":t.genre??=s;break;case"METADATA_BLOCK_PICTURE":{let e=sj(s),n=l2(e),r=n.getUint32(0,!1),i=n.getUint32(4,!1),a=String.fromCharCode(...e.subarray(8,8+i)),o=n.getUint32(8+i,!1),l=l4.decode(e.subarray(12+i,12+i+o)),c=n.getUint32(i+o+28),u=e.subarray(i+o+32,i+o+32+c);t.images??=[],t.images.push({data:u,mimeType:a,kind:3===r?"coverFront":4===r?"coverBack":"unknown",name:void 0,description:l||void 0})}}}},cf=[2,1,2,3,3,4,4,5],cp=e=>{if(e.length<7||11!==e[0]||119!==e[1])return null;let t=new lq(e);t.skipBits(16),t.skipBits(16);let n=t.readBits(2);if(3===n)return null;let r=t.readBits(6),i=t.readBits(5);if(i>8)return null;let a=t.readBits(3),o=t.readBits(3);return(1&o)!=0&&1!==o&&t.skipBits(2),(4&o)!=0&&t.skipBits(2),2===o&&t.skipBits(2),{fscod:n,bsid:i,bsmod:a,acmod:o,lfeon:t.readBits(1),bitRateCode:Math.floor(r/2)}},cg=[128,138,192,128,140,192,160,174,240,160,176,240,192,208,288,192,210,288,224,242,336,224,244,336,256,278,384,256,280,384,320,348,480,320,350,480,384,416,576,384,418,576,448,486,672,448,488,672,512,556,768,512,558,768,640,696,960,640,698,960,768,834,1152,768,836,1152,896,974,1344,896,976,1344,1024,1114,1536,1024,1116,1536,1280,1392,1920,1280,1394,1920,1536,1670,2304,1536,1672,2304,1792,1950,2688,1792,1952,2688,2048,2228,3072,2048,2230,3072,2304,2506,3456,2304,2508,3456,2560,2786,3840,2560,2788,3840];new Uint8Array([5,4,65,67,45,51]),new Uint8Array([5,4,69,65,67,51]);let cm=[1,2,3,6],cy=e=>{let t;if(e.length<6||11!==e[0]||119!==e[1])return null;let n=new lq(e);n.skipBits(16);let r=n.readBits(2);if(n.skipBits(3),0!==r&&2!==r)return null;let i=n.readBits(11),a=n.readBits(2),o=0;3===a?(o=n.readBits(2),t=3):t=n.readBits(2);let l=n.readBits(3),s=n.readBits(1),c=n.readBits(5);if(c<11||c>16)return null;let u=cm[t];return{dataRate:Math.round((i+1)*(a<3?sK[a]/1e3:sY[o]/1e3)/(16*u)),substreams:[{fscod:a,fscod2:o,bsid:c,bsmod:0,acmod:l,lfeon:s,numDepSub:0,chanLoc:0}]}},cb=e=>{let t=e.substreams[0];return(lX(t),t.fscod<3)?sK[t.fscod]:null!==t.fscod2&&t.fscod2<3?sY[t.fscod2]:null},cv=e=>{let t=e.substreams[0];lX(t);let n=cf[t.acmod]+t.lfeon;if(t.numDepSub>0){let e=[2,2,1,1,2,2,2,1,1];for(let r=0;r<9;r++)t.chanLoc&1<<8-r&&(n+=e[r])}return n};class cx{constructor(e){this.input=e}}let cw=[],cC=[];class cS{constructor(e){this.source=e}requestSlice(e,t){if(this.source._disposed)throw new cK;if(e<0||null!==this.fileSize&&e+t>this.fileSize)return null;let n=e+t,r=this.source._read(e,n);return r instanceof Promise?r.then(t=>t?new ck(t.bytes,t.view,t.offset,e,n):null):r?new ck(r.bytes,r.view,r.offset,e,n):null}requestSliceRange(e,t,n){if(this.source._disposed)throw new cK;if(e<0)return null;if(null!==this.fileSize)return this.requestSlice(e,sm(this.fileSize-e,t,n));{let r=this.requestSlice(e,n),i=r=>{if(r)return r;let i=r=>(lX(null!==r),this.requestSlice(e,sm(r-e,t,n))),a=this.source._retrieveSize();return a instanceof Promise?a.then(i):i(a)};return r instanceof Promise?r.then(i):i(r)}}}class ck{constructor(e,t,n,r,i){this.bytes=e,this.view=t,this.offset=n,this.start=r,this.end=i,this.bufferPos=r-n}static tempFromBytes(e){return new ck(e,l2(e),0,0,e.length)}get length(){return this.end-this.start}get filePos(){return this.offset+this.bufferPos}set filePos(e){this.bufferPos=e-this.offset}get remainingLength(){return Math.max(this.end-this.filePos,0)}skip(e){this.bufferPos+=e}slice(e,t=this.end-e){if(e<this.start||e+t>this.end)throw RangeError("Slicing outside of original slice.");return new ck(this.bytes,this.view,this.offset,e,e+t)}}let c_=(e,t)=>{if(e.filePos<e.start||e.filePos+t>e.end)throw RangeError(`Tried reading [${e.filePos}, ${e.filePos+t}), but slice is [${e.start}, ${e.end}). This is likely an internal error, please report it alongside the file that caused it.`)},cE=(e,t)=>{c_(e,t);let n=e.bytes.subarray(e.bufferPos,e.bufferPos+t);return e.bufferPos+=t,n},cT=e=>(c_(e,1),e.view.getUint8(e.bufferPos++)),cP=(e,t)=>{c_(e,2);let n=e.view.getUint16(e.bufferPos,t);return e.bufferPos+=2,n},cO=e=>{c_(e,2);let t=e.view.getUint16(e.bufferPos,!1);return e.bufferPos+=2,t},cA=e=>{c_(e,3);let t=sf(e.view,e.bufferPos,!1);return e.bufferPos+=3,t},cI=e=>{c_(e,2);let t=e.view.getInt16(e.bufferPos,!1);return e.bufferPos+=2,t},cR=(e,t)=>{c_(e,4);let n=e.view.getUint32(e.bufferPos,t);return e.bufferPos+=4,n},cM=e=>{c_(e,4);let t=e.view.getUint32(e.bufferPos,!1);return e.bufferPos+=4,t},cL=e=>{c_(e,4);let t=e.view.getUint32(e.bufferPos,!0);return e.bufferPos+=4,t},cj=e=>{c_(e,4);let t=e.view.getInt32(e.bufferPos,!1);return e.bufferPos+=4,t},cN=(e,t)=>{let n,r;return t?(n=cR(e,!0),r=cR(e,!0)):(r=cR(e,!1),n=cR(e,!1)),0x100000000*r+n},cD=e=>0x100000000*cM(e)+cM(e),cz=e=>0x100000000*cj(e)+cM(e),cB=e=>{c_(e,8);let t=e.view.getFloat64(e.bufferPos,!1);return e.bufferPos+=8,t},cF=(e,t)=>{c_(e,t);let n="";for(let r=0;r<t;r++)n+=String.fromCharCode(e.bytes[e.bufferPos++]);return n};class cH{constructor(){this._disposed=!1,this._sizePromise=null,this.onread=null}async getSizeOrNull(){if(this._disposed)throw new cK;return this._sizePromise??=Promise.resolve(this._retrieveSize())}async getSize(){if(this._disposed)throw new cK;let e=await this.getSizeOrNull();if(null===e)throw Error("Cannot determine the size of an unsized source.");return e}}class cV extends cH{constructor(e){if(!(e instanceof ArrayBuffer)&&!("u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)&&!ArrayBuffer.isView(e))throw TypeError("buffer must be an ArrayBuffer, SharedArrayBuffer, or ArrayBufferView.");super(),this._onreadCalled=!1,this._bytes=l1(e),this._view=l2(e)}_retrieveSize(){return this._bytes.byteLength}_read(){return this._onreadCalled||(this.onread?.(0,this._bytes.byteLength),this._onreadCalled=!0),{bytes:this._bytes,view:this._view,offset:0}}_dispose(){}}let cU=(e,t,n)=>{if(t instanceof Error&&(t.message.includes("Failed to fetch")||t.message.includes("Load failed")||t.message.includes("NetworkError when attempting to fetch resource"))){let e=null;try{"u">typeof window&&void 0!==window.location&&(e=new URL(n instanceof Request?n.url:n,window.location.href).origin)}catch{}if(("u"<typeof navigator||"boolean"!=typeof navigator.onLine||navigator.onLine)&&null!==e&&e!==window.location.origin)return console.warn("Request will not be retried because a CORS error was suspected due to different origins. You can modify this behavior by providing your own function for the 'getRetryDelay' option."),null}return Math.min(2**(e-2),16)};class c$ extends cH{constructor(e,t={}){if("string"!=typeof e&&!(e instanceof URL)&&!("u">typeof Request&&e instanceof Request))throw TypeError("url must be a string, URL or Request.");if(!t||"object"!=typeof t)throw TypeError("options must be an object.");if(void 0!==t.requestInit&&(!t.requestInit||"object"!=typeof t.requestInit))throw TypeError("options.requestInit, when provided, must be an object.");if(void 0!==t.getRetryDelay&&"function"!=typeof t.getRetryDelay)throw TypeError("options.getRetryDelay, when provided, must be a function.");if(void 0!==t.maxCacheSize&&(!sD(t.maxCacheSize)||t.maxCacheSize<0))throw TypeError("options.maxCacheSize, when provided, must be a non-negative number.");if(void 0!==t.parallelism&&(!Number.isInteger(t.parallelism)||t.parallelism<1))throw TypeError("options.parallelism, when provided, must be a positive number.");if(void 0!==t.fetchFn&&"function"!=typeof t.fetchFn)throw TypeError("options.fetchFn, when provided, must be a function.");super(),this._existingResponses=new WeakMap,this._url=e,this._options=t,this._getRetryDelay=t.getRetryDelay??cU,this._orchestrator=new cq({maxCacheSize:t.maxCacheSize??0x4000000,maxWorkerCount:t.parallelism??2,runWorker:this._runWorker.bind(this),prefetchProfile:cW.network})}async _retrieveSize(){let e,t,n=new AbortController,r=await sS(this._options.fetchFn??fetch,this._url,sw(this._options.requestInit??{},{headers:{Range:"bytes=0-"},signal:n.signal}),this._getRetryDelay,()=>this._disposed);if(!r.ok)throw Error(`Error fetching ${String(this._url)}: ${r.status} ${r.statusText}`);if(206===r.status)t=this._getTotalLengthFromRangeResponse(r),e=this._orchestrator.createWorker(0,Math.min(t,524288));else{let n=r.headers.get("Content-Length");if(n)t=Number(n),e=this._orchestrator.createWorker(0,t),this._orchestrator.options.maxCacheSize=1/0,console.warn("HTTP server did not respond with 206 Partial Content, meaning the entire remote resource now has to be downloaded. For efficient media file streaming across a network, please make sure your server supports range requests.");else throw Error(`HTTP response (status ${r.status}) must surface Content-Length header.`)}return this._orchestrator.fileSize=t,this._existingResponses.set(e,{response:r,abortController:n}),this._orchestrator.runWorker(e),t}_read(e,t){return this._orchestrator.read(e,t)}async _runWorker(e){for(;;){let t=this._existingResponses.get(e);this._existingResponses.delete(e);let n=t?.abortController,r=t?.response;if(n||(n=new AbortController,r=await sS(this._options.fetchFn??fetch,this._url,sw(this._options.requestInit??{},{headers:{Range:`bytes=${e.currentPos}-`},signal:n.signal}),this._getRetryDelay,()=>this._disposed)),lX(r),!r.ok)throw Error(`Error fetching ${String(this._url)}: ${r.status} ${r.statusText}`);if(e.currentPos>0&&206!==r.status)throw Error("HTTP server did not respond with 206 Partial Content to a range request. To enable efficient media file streaming across a network, please make sure your server supports range requests.");if(!r.body)throw Error("Missing HTTP response body stream. The used fetch function must provide the response body as a ReadableStream.");let i=r.body.getReader();for(;;){let t;if(e.currentPos>=e.targetPos||e.aborted){n.abort(),e.running=!1;return}try{t=await i.read()}catch(t){if(this._disposed)throw t;let e=this._getRetryDelay(1,t,this._url);if(null!==e){console.error("Error while reading response stream. Attempting to resume.",t),await new Promise(t=>setTimeout(t,1e3*e));break}throw t}if(e.aborted)continue;let{done:r,value:a}=t;if(r){if(e.currentPos>=e.targetPos){this._orchestrator.forgetWorker(e),e.running=!1;return}break}this.onread?.(e.currentPos,e.currentPos+a.length),this._orchestrator.supplyWorkerData(e,a)}}}_getTotalLengthFromRangeResponse(e){let t=e.headers.get("Content-Range");if(t){let e=/\/(\d+)/.exec(t);if(e)return Number(e[1])}let n=e.headers.get("Content-Length");if(n)return Number(n);throw Error("Partial HTTP response (status 206) must surface either Content-Range or Content-Length header.")}_dispose(){this._orchestrator.dispose()}}let cW={network:(e,t,n)=>{for(let r of(e=Math.max(0,65536*Math.floor((e-65536)/65536)),n))if(sL(e,t,Math.max((r.startPos+r.targetPos)/2,r.targetPos-8388608),r.targetPos)){let e=r.targetPos-r.startPos,n=8388608*Math.ceil((e+1)/8388608),i=Math.min(2**Math.ceil(Math.log2(e+1)),n);t=Math.max(t,r.startPos+i)}return t=Math.max(t,e+524288),{start:e,end:t}}};class cq{constructor(e){this.options=e,this.fileSize=null,this.nextAge=0,this.workers=[],this.cache=[],this.currentCacheSize=0,this.disposed=!1}read(e,t){lX(null!==this.fileSize);let n=this.options.prefetchProfile(e,t,this.workers),r=Math.max(n.start,0),i=Math.min(n.end,this.fileSize);lX(r<=e&&t<=i);let a=null,o=so(this.cache,e,e=>e.start),l=-1!==o?this.cache[o]:null;l&&l.start<=e&&t<=l.end&&(l.age=this.nextAge++,a={bytes:l.bytes,view:l.view,offset:l.start});let s=so(this.cache,r,e=>e.start),c=a?null:new Uint8Array(t-e),u=0,d=r,h=[];if(-1!==s){for(let n=s;n<this.cache.length;n++){let a=this.cache[n];if(a.start>=i)break;if(a.end<=r)continue;let o=Math.max(r,a.start),l=Math.min(i,a.end);if(lX(o<=l),d<o&&h.push({start:d,end:o}),d=l,c){let n=Math.max(e,a.start),r=Math.min(t,a.end);if(n<r){let t=n-e;c.set(a.bytes.subarray(n-a.start,r-a.start),t),t===u&&(u=r-e)}}a.age=this.nextAge++}d<i&&h.push({start:d,end:i})}else h.push({start:r,end:i});if(c&&u>=c.length&&(a={bytes:c,view:l2(c),offset:e}),0===h.length)return lX(a),a;let{promise:f,resolve:p,reject:g}=ss(),m=[];for(let n of h){let r=Math.max(e,n.start),i=Math.min(t,n.end);r===n.start&&i===n.end?m.push(n):r<i&&m.push({start:r,end:i})}for(let t of h){let n=c&&{start:e,bytes:c,holes:m,resolve:p,reject:g},r=!1;for(let e of this.workers)if(sL(t.start-131072,t.start,e.currentPos,e.targetPos)){e.targetPos=Math.max(e.targetPos,t.end),r=!0,n&&!e.pendingSlices.includes(n)&&e.pendingSlices.push(n),e.running||this.runWorker(e);break}if(!r){let e=this.createWorker(t.start,t.end);n&&(e.pendingSlices=[n]),this.runWorker(e)}}return a||(lX(c),a=f.then(t=>({bytes:t,view:l2(t),offset:e}))),a}createWorker(e,t){let n={startPos:e,currentPos:e,targetPos:t,running:!1,aborted:this.disposed,pendingSlices:[],age:this.nextAge++};for(this.workers.push(n);this.workers.length>this.options.maxWorkerCount;){let e=0,t=this.workers[0];for(let n=1;n<this.workers.length;n++){let r=this.workers[n];r.age<t.age&&(e=n,t=r)}if(t.running&&t.pendingSlices.length>0)break;t.aborted=!0,this.workers.splice(e,1)}return n}runWorker(e){lX(!e.running),lX(e.currentPos<e.targetPos),e.running=!0,e.age=this.nextAge++,this.options.runWorker(e).catch(t=>{if(e.running=!1,e.pendingSlices.length>0)e.pendingSlices.forEach(e=>e.reject(t)),e.pendingSlices.length=0;else throw t})}supplyWorkerData(e,t){lX(!e.aborted);let n=e.currentPos,r=n+t.length;this.insertIntoCache({start:n,end:r,bytes:t,view:l2(t),age:this.nextAge++}),e.currentPos+=t.length,e.targetPos=Math.max(e.targetPos,e.currentPos);for(let i=0;i<e.pendingSlices.length;i++){let a=e.pendingSlices[i],o=Math.max(n,a.start),l=Math.min(r,a.start+a.bytes.length);o<l&&a.bytes.set(t.subarray(o-n,l-n),o-a.start);for(let e=0;e<a.holes.length;e++){let t=a.holes[e];n<=t.start&&r>t.start&&(t.start=r),t.end<=t.start&&(a.holes.splice(e,1),e--)}0===a.holes.length&&(a.resolve(a.bytes),e.pendingSlices.splice(i,1),i--)}for(let t=0;t<this.workers.length;t++){let i=this.workers[t];e!==i&&!i.running&&sL(n,r,i.currentPos,i.targetPos)&&(this.workers.splice(t,1),t--)}}forgetWorker(e){let t=this.workers.indexOf(e);lX(-1!==t),this.workers.splice(t,1)}insertIntoCache(e){if(0===this.options.maxCacheSize)return;let t=so(this.cache,e.start,e=>e.start)+1;if(t>0){let n=this.cache[t-1];if(n.end>=e.end)return;if(n.end>e.start){let r=new Uint8Array(e.end-n.start);r.set(n.bytes,0),r.set(e.bytes,e.start-n.start),this.currentCacheSize+=e.end-n.end,n.bytes=r,n.view=l2(r),n.end=e.end,t--,e=n}else this.cache.splice(t,0,e),this.currentCacheSize+=e.bytes.length}else this.cache.splice(t,0,e),this.currentCacheSize+=e.bytes.length;for(let n=t+1;n<this.cache.length;n++){let t=this.cache[n];if(e.end<=t.start)break;if(e.end>=t.end){this.cache.splice(n,1),this.currentCacheSize-=t.bytes.length,n--;continue}let r=new Uint8Array(t.end-e.start);r.set(e.bytes,0),r.set(t.bytes,t.start-e.start),this.currentCacheSize-=e.end-t.start,e.bytes=r,e.view=l2(r),e.end=t.end,this.cache.splice(n,1);break}for(;this.currentCacheSize>this.options.maxCacheSize;){let e=0,t=this.cache[0];for(let n=1;n<this.cache.length;n++){let r=this.cache[n];r.age<t.age&&(e=n,t=r)}if(this.currentCacheSize-t.bytes.length<=this.options.maxCacheSize)break;this.cache.splice(e,1),this.currentCacheSize-=t.bytes.length}}dispose(){for(let e of this.workers)e.aborted=!0;this.workers.length=0,this.cache.length=0,this.disposed=!0}}sN();class cG{get disposed(){return this._disposed}constructor(e){if(this._demuxerPromise=null,this._format=null,this._disposed=!1,!e||"object"!=typeof e)throw TypeError("options must be an object.");if(!Array.isArray(e.formats)||e.formats.some(e=>!(e instanceof dN)))throw TypeError("options.formats must be an array of InputFormat.");if(!(e.source instanceof cH))throw TypeError("options.source must be a Source.");if(e.source._disposed)throw Error("options.source must not be disposed.");this._formats=e.formats,this._source=e.source,this._reader=new cS(e.source)}_getDemuxer(){return this._demuxerPromise??=(async()=>{for(let e of(this._reader.fileSize=await this._source.getSizeOrNull(),this._formats))if(await e._canReadInput(this))return this._format=e,e._createDemuxer(this);throw Error("Input has an unsupported or unrecognizable format.")})()}get source(){return this._source}async getFormat(){return await this._getDemuxer(),lX(this._format),this._format}async computeDuration(){return(await this._getDemuxer()).computeDuration()}async getFirstTimestamp(){let e=await this.getTracks();return 0===e.length?0:Math.min(...await Promise.all(e.map(e=>e.getFirstTimestamp())))}async getTracks(){return(await this._getDemuxer()).getTracks()}async getVideoTracks(){return(await this.getTracks()).filter(e=>e.isVideoTrack())}async getAudioTracks(){return(await this.getTracks()).filter(e=>e.isAudioTrack())}async getPrimaryVideoTrack(){return(await this.getTracks()).find(e=>e.isVideoTrack())??null}async getPrimaryAudioTrack(){return(await this.getTracks()).find(e=>e.isAudioTrack())??null}async getMimeType(){return(await this._getDemuxer()).getMimeType()}async getMetadataTags(){return(await this._getDemuxer()).getMetadataTags()}dispose(){this._disposed||(this._disposed=!0,this._source._disposed=!0,this._source._dispose())}[Symbol.dispose](){this.dispose()}}class cK extends Error{constructor(e="Input has been disposed."){super(e),this.name="InputDisposedError"}}let cY=new Uint8Array(0);class cX{constructor(e,t,n,r,i=-1,a,o){if(this.data=e,this.type=t,this.timestamp=n,this.duration=r,this.sequenceNumber=i,e===cY&&void 0===a)throw Error("Internal error: byteLength must be explicitly provided when constructing metadata-only packets.");if(void 0===a&&(a=e.byteLength),!(e instanceof Uint8Array))throw TypeError("data must be a Uint8Array.");if("key"!==t&&"delta"!==t)throw TypeError('type must be either "key" or "delta".');if(!Number.isFinite(n))throw TypeError("timestamp must be a number.");if(!Number.isFinite(r)||r<0)throw TypeError("duration must be a non-negative number.");if(!Number.isFinite(i))throw TypeError("sequenceNumber must be a number.");if(!Number.isInteger(a)||a<0)throw TypeError("byteLength must be a non-negative integer.");if(void 0!==o&&("object"!=typeof o||!o))throw TypeError("sideData, when provided, must be an object.");if(o?.alpha!==void 0&&!(o.alpha instanceof Uint8Array))throw TypeError("sideData.alpha, when provided, must be a Uint8Array.");if(o?.alphaByteLength!==void 0&&(!Number.isInteger(o.alphaByteLength)||o.alphaByteLength<0))throw TypeError("sideData.alphaByteLength, when provided, must be a non-negative integer.");this.byteLength=a,this.sideData=o??{},this.sideData.alpha&&void 0===this.sideData.alphaByteLength&&(this.sideData.alphaByteLength=this.sideData.alpha.byteLength)}get isMetadataOnly(){return this.data===cY}get microsecondTimestamp(){return Math.trunc(sx*this.timestamp)}get microsecondDuration(){return Math.trunc(sx*this.duration)}toEncodedVideoChunk(){if(this.isMetadataOnly)throw TypeError("Metadata-only packets cannot be converted to a video chunk.");if("u"<typeof EncodedVideoChunk)throw Error("Your browser does not support EncodedVideoChunk.");return new EncodedVideoChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}alphaToEncodedVideoChunk(e=this.type){if(!this.sideData.alpha)throw TypeError("This packet does not contain alpha side data.");if(this.isMetadataOnly)throw TypeError("Metadata-only packets cannot be converted to a video chunk.");if("u"<typeof EncodedVideoChunk)throw Error("Your browser does not support EncodedVideoChunk.");return new EncodedVideoChunk({data:this.sideData.alpha,type:e,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}toEncodedAudioChunk(){if(this.isMetadataOnly)throw TypeError("Metadata-only packets cannot be converted to an audio chunk.");if("u"<typeof EncodedAudioChunk)throw Error("Your browser does not support EncodedAudioChunk.");return new EncodedAudioChunk({data:this.data,type:this.type,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration})}static fromEncodedChunk(e,t){if(!(e instanceof EncodedVideoChunk||e instanceof EncodedAudioChunk))throw TypeError("chunk must be an EncodedVideoChunk or EncodedAudioChunk.");let n=new Uint8Array(e.byteLength);return e.copyTo(n),new cX(n,e.type,e.timestamp/1e6,(e.duration??0)/1e6,void 0,void 0,t)}clone(e){if(void 0!==e&&("object"!=typeof e||null===e))throw TypeError("options, when provided, must be an object.");if(e?.data!==void 0&&!(e.data instanceof Uint8Array))throw TypeError("options.data, when provided, must be a Uint8Array.");if(e?.type!==void 0&&"key"!==e.type&&"delta"!==e.type)throw TypeError('options.type, when provided, must be either "key" or "delta".');if(e?.timestamp!==void 0&&!Number.isFinite(e.timestamp))throw TypeError("options.timestamp, when provided, must be a number.");if(e?.duration!==void 0&&!Number.isFinite(e.duration))throw TypeError("options.duration, when provided, must be a number.");if(e?.sequenceNumber!==void 0&&!Number.isFinite(e.sequenceNumber))throw TypeError("options.sequenceNumber, when provided, must be a number.");if(e?.sideData!==void 0&&("object"!=typeof e.sideData||null===e.sideData))throw TypeError("options.sideData, when provided, must be an object.");return new cX(e?.data??this.data,e?.type??this.type,e?.timestamp??this.timestamp,e?.duration??this.duration,e?.sequenceNumber??this.sequenceNumber,this.byteLength,e?.sideData??this.sideData)}}sN();let cZ=-1/0,cQ=-1/0,cJ=null;"u">typeof FinalizationRegistry&&(cJ=new FinalizationRegistry(e=>{let t=Date.now();"video"===e.type?(t-cZ>=1e3&&(console.error("A VideoSample was garbage collected without first being closed. For proper resource management, make sure to call close() on all your VideoSamples as soon as you're done using them."),cZ=t),"u">typeof VideoFrame&&e.data instanceof VideoFrame&&e.data.close()):(t-cQ>=1e3&&(console.error("An AudioSample was garbage collected without first being closed. For proper resource management, make sure to call close() on all your AudioSamples as soon as you're done using them."),cQ=t),"u">typeof AudioData&&e.data instanceof AudioData&&e.data.close())}));let c0=["I420","I420P10","I420P12","I420A","I420AP10","I420AP12","I422","I422P10","I422P12","I422A","I422AP10","I422AP12","I444","I444P10","I444P12","I444A","I444AP10","I444AP12","NV12","RGBA","RGBX","BGRA","BGRX"],c1=new Set(c0);class c2{get codedWidth(){return this.visibleRect.width}get codedHeight(){return this.visibleRect.height}get displayWidth(){return this.rotation%180==0?this.squarePixelWidth:this.squarePixelHeight}get displayHeight(){return this.rotation%180==0?this.squarePixelHeight:this.squarePixelWidth}get microsecondTimestamp(){return Math.trunc(sx*this.timestamp)}get microsecondDuration(){return Math.trunc(sx*this.duration)}get hasAlpha(){return this.format&&this.format.includes("A")}constructor(e,t){if(this._closed=!1,e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer||ArrayBuffer.isView(e)){if(!t||"object"!=typeof t)throw TypeError("init must be an object.");if(void 0===t.format||!c1.has(t.format))throw TypeError("init.format must be one of: "+c0.join(", "));if(!Number.isInteger(t.codedWidth)||t.codedWidth<=0)throw TypeError("init.codedWidth must be a positive integer.");if(!Number.isInteger(t.codedHeight)||t.codedHeight<=0)throw TypeError("init.codedHeight must be a positive integer.");if(void 0!==t.rotation&&![0,90,180,270].includes(t.rotation))throw TypeError("init.rotation, when provided, must be 0, 90, 180, or 270.");if(!Number.isFinite(t.timestamp))throw TypeError("init.timestamp must be a number.");if(void 0!==t.duration&&(!Number.isFinite(t.duration)||t.duration<0))throw TypeError("init.duration, when provided, must be a non-negative number.");if(void 0!==t.layout){if(!Array.isArray(t.layout))throw TypeError("init.layout, when provided, must be an array.");for(let e of t.layout){if(!e||"object"!=typeof e||Array.isArray(e))throw TypeError("Each entry in init.layout must be an object.");if(!Number.isInteger(e.offset)||e.offset<0)throw TypeError("plane.offset must be a non-negative integer.");if(!Number.isInteger(e.stride)||e.stride<0)throw TypeError("plane.stride must be a non-negative integer.")}}if(void 0!==t.visibleRect&&sB(t.visibleRect,"init.visibleRect"),void 0!==t.displayWidth&&(!Number.isInteger(t.displayWidth)||t.displayWidth<=0))throw TypeError("init.displayWidth, when provided, must be a positive integer.");if(void 0!==t.displayHeight&&(!Number.isInteger(t.displayHeight)||t.displayHeight<=0))throw TypeError("init.displayHeight, when provided, must be a positive integer.");if(void 0!==t.displayWidth!=(void 0!==t.displayHeight))throw TypeError("init.displayWidth and init.displayHeight must be either both provided or both omitted.");this._data=l1(e).slice(),this._layout=t.layout??c9(t.format,t.codedWidth,t.codedHeight),this.format=t.format,this.rotation=t.rotation??0,this.timestamp=t.timestamp,this.duration=t.duration??0,this.colorSpace=new c4(t.colorSpace),this.visibleRect={left:t.visibleRect?.left??0,top:t.visibleRect?.top??0,width:t.visibleRect?.width??t.codedWidth,height:t.visibleRect?.height??t.codedHeight},void 0!==t.displayWidth?(this.squarePixelWidth=this.rotation%180==0?t.displayWidth:t.displayHeight,this.squarePixelHeight=this.rotation%180==0?t.displayHeight:t.displayWidth):(this.squarePixelWidth=this.codedWidth,this.squarePixelHeight=this.codedHeight)}else if("u">typeof VideoFrame&&e instanceof VideoFrame){if(t?.rotation!==void 0&&![0,90,180,270].includes(t.rotation))throw TypeError("init.rotation, when provided, must be 0, 90, 180, or 270.");if(t?.timestamp!==void 0&&!Number.isFinite(t?.timestamp))throw TypeError("init.timestamp, when provided, must be a number.");if(t?.duration!==void 0&&(!Number.isFinite(t.duration)||t.duration<0))throw TypeError("init.duration, when provided, must be a non-negative number.");t?.visibleRect!==void 0&&sB(t.visibleRect,"init.visibleRect"),this._data=e,this._layout=null,this.format=e.format,this.visibleRect={left:e.visibleRect?.x??0,top:e.visibleRect?.y??0,width:e.visibleRect?.width??e.codedWidth,height:e.visibleRect?.height??e.codedHeight},this.rotation=t?.rotation??0,this.squarePixelWidth=e.displayWidth,this.squarePixelHeight=e.displayHeight,this.timestamp=t?.timestamp??e.timestamp/1e6,this.duration=t?.duration??(e.duration??0)/1e6,this.colorSpace=new c4(e.colorSpace)}else if("u">typeof HTMLImageElement&&e instanceof HTMLImageElement||"u">typeof SVGImageElement&&e instanceof SVGImageElement||"u">typeof ImageBitmap&&e instanceof ImageBitmap||"u">typeof HTMLVideoElement&&e instanceof HTMLVideoElement||"u">typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"u">typeof OffscreenCanvas&&e instanceof OffscreenCanvas){if(!t||"object"!=typeof t)throw TypeError("init must be an object.");if(void 0!==t.rotation&&![0,90,180,270].includes(t.rotation))throw TypeError("init.rotation, when provided, must be 0, 90, 180, or 270.");if(!Number.isFinite(t.timestamp))throw TypeError("init.timestamp must be a number.");if(void 0!==t.duration&&(!Number.isFinite(t.duration)||t.duration<0))throw TypeError("init.duration, when provided, must be a non-negative number.");if("u">typeof VideoFrame)return new c2(new VideoFrame(e,{timestamp:Math.trunc(t.timestamp*sx),duration:Math.trunc((t.duration??0)*sx)||void 0}),t);let n=0,r=0;if("naturalWidth"in e?(n=e.naturalWidth,r=e.naturalHeight):"videoWidth"in e?(n=e.videoWidth,r=e.videoHeight):"width"in e&&(n=Number(e.width),r=Number(e.height)),!n||!r)throw TypeError("Could not determine dimensions.");let i=new OffscreenCanvas(n,r),a=i.getContext("2d",{alpha:sP(),willReadFrequently:!0});lX(a),a.drawImage(e,0,0),this._data=i,this._layout=null,this.format="RGBX",this.visibleRect={left:0,top:0,width:n,height:r},this.squarePixelWidth=n,this.squarePixelHeight=r,this.rotation=t.rotation??0,this.timestamp=t.timestamp,this.duration=t.duration??0,this.colorSpace=new c4({matrix:"rgb",primaries:"bt709",transfer:"iec61966-2-1",fullRange:!0})}else throw TypeError("Invalid data type: Must be a BufferSource or CanvasImageSource.");this.pixelAspectRatio=sz({num:this.squarePixelWidth*this.codedHeight,den:this.squarePixelHeight*this.codedWidth}),cJ?.register(this,{type:"video",data:this._data},this)}clone(){if(this._closed)throw Error("VideoSample is closed.");return(lX(null!==this._data),c3(this._data))?new c2(this._data.clone(),{timestamp:this.timestamp,duration:this.duration,rotation:this.rotation}):this._data instanceof Uint8Array?(lX(this._layout),new c2(this._data,{format:this.format,layout:this._layout,codedWidth:this.codedWidth,codedHeight:this.codedHeight,timestamp:this.timestamp,duration:this.duration,colorSpace:this.colorSpace,rotation:this.rotation,visibleRect:this.visibleRect,displayWidth:this.displayWidth,displayHeight:this.displayHeight})):new c2(this._data,{format:this.format,codedWidth:this.codedWidth,codedHeight:this.codedHeight,timestamp:this.timestamp,duration:this.duration,colorSpace:this.colorSpace,rotation:this.rotation,visibleRect:this.visibleRect,displayWidth:this.displayWidth,displayHeight:this.displayHeight})}close(){this._closed||(cJ?.unregister(this),c3(this._data)?this._data.close():this._data=null,this._closed=!0)}allocationSize(e={}){if(c5(e),this._closed)throw Error("VideoSample is closed.");if(null===this.format)throw Error("Cannot get allocation size when format is null. Sorry!");if(lX(null!==this._data),!c3(this._data)&&(e.colorSpace||e.format&&e.format!==this.format||e.layout||e.rect)){let t=this.toVideoFrame(),n=t.allocationSize(e);return t.close(),n}return c3(this._data)?this._data.allocationSize(e):this._data instanceof Uint8Array?this._data.byteLength:this.codedWidth*this.codedHeight*4}async copyTo(e,t={}){if(!st(e))throw TypeError("destination must be an ArrayBuffer or an ArrayBuffer view.");if(c5(t),this._closed)throw Error("VideoSample is closed.");if(null===this.format)throw Error("Cannot copy video sample data when format is null. Sorry!");if(lX(null!==this._data),!c3(this._data)&&(t.colorSpace||t.format&&t.format!==this.format||t.layout||t.rect)){let n=this.toVideoFrame(),r=await n.copyTo(e,t);return n.close(),r}if(c3(this._data))return this._data.copyTo(e,t);if(this._data instanceof Uint8Array)return lX(this._layout),l1(e).set(this._data),this._layout;{let t=this._data.getContext("2d");lX(t);let n=t.getImageData(0,0,this.codedWidth,this.codedHeight);return l1(e).set(n.data),[{offset:0,stride:4*this.codedWidth}]}}toVideoFrame(){if(this._closed)throw Error("VideoSample is closed.");return(lX(null!==this._data),c3(this._data))?new VideoFrame(this._data,{timestamp:this.microsecondTimestamp,duration:this.microsecondDuration||void 0}):this._data instanceof Uint8Array?new VideoFrame(this._data,{format:this.format,codedWidth:this.codedWidth,codedHeight:this.codedHeight,timestamp:this.microsecondTimestamp,duration:this.microsecondDuration||void 0,colorSpace:this.colorSpace}):new VideoFrame(this._data,{timestamp:this.microsecondTimestamp,duration:this.microsecondDuration||void 0})}draw(e,t,n,r,i,a,o,l,s){let c=0,u=0,d=this.displayWidth,h=this.displayHeight,f=0,p=0,g=this.displayWidth,m=this.displayHeight;if(void 0!==a?(c=t,u=n,d=r,h=i,f=a,p=o,void 0!==l?(g=l,m=s):(g=d,m=h)):(f=t,p=n,void 0!==r&&(g=r,m=i)),!("u">typeof CanvasRenderingContext2D&&e instanceof CanvasRenderingContext2D||"u">typeof OffscreenCanvasRenderingContext2D&&e instanceof OffscreenCanvasRenderingContext2D))throw TypeError("context must be a CanvasRenderingContext2D or OffscreenCanvasRenderingContext2D.");if(!Number.isFinite(c))throw TypeError("sx must be a number.");if(!Number.isFinite(u))throw TypeError("sy must be a number.");if(!Number.isFinite(d)||d<0)throw TypeError("sWidth must be a non-negative number.");if(!Number.isFinite(h)||h<0)throw TypeError("sHeight must be a non-negative number.");if(!Number.isFinite(f))throw TypeError("dx must be a number.");if(!Number.isFinite(p))throw TypeError("dy must be a number.");if(!Number.isFinite(g)||g<0)throw TypeError("dWidth must be a non-negative number.");if(!Number.isFinite(m)||m<0)throw TypeError("dHeight must be a non-negative number.");if(this._closed)throw Error("VideoSample is closed.");({sx:c,sy:u,sWidth:d,sHeight:h}=this._rotateSourceRegion(c,u,d,h,this.rotation));let y=this.toCanvasImageSource();e.save();let b=f+g/2,v=p+m/2;e.translate(b,v),e.rotate(this.rotation*Math.PI/180);let x=this.rotation%180==0?1:g/m;e.scale(1/x,x),e.drawImage(y,c,u,d,h,-g/2,-m/2,g,m),e.restore()}drawWithFit(e,t){let n,r,i,a;if(!("u">typeof CanvasRenderingContext2D&&e instanceof CanvasRenderingContext2D||"u">typeof OffscreenCanvasRenderingContext2D&&e instanceof OffscreenCanvasRenderingContext2D))throw TypeError("context must be a CanvasRenderingContext2D or OffscreenCanvasRenderingContext2D.");if(!t||"object"!=typeof t)throw TypeError("options must be an object.");if(!["fill","contain","cover"].includes(t.fit))throw TypeError("options.fit must be 'fill', 'contain', or 'cover'.");if(void 0!==t.rotation&&![0,90,180,270].includes(t.rotation))throw TypeError("options.rotation, when provided, must be 0, 90, 180, or 270.");void 0!==t.crop&&c6(t.crop,"options.");let o=e.canvas.width,l=e.canvas.height,s=t.rotation??this.rotation,[c,u]=s%180==0?[this.squarePixelWidth,this.squarePixelHeight]:[this.squarePixelHeight,this.squarePixelWidth];t.crop&&c8(t.crop,c,u);let{sx:d,sy:h,sWidth:f,sHeight:p}=this._rotateSourceRegion(t.crop?.left??0,t.crop?.top??0,t.crop?.width??c,t.crop?.height??u,s);if("fill"===t.fit)n=0,r=0,i=o,a=l;else{let[e,s]=t.crop?[t.crop.width,t.crop.height]:[c,u],d="contain"===t.fit?Math.min(o/e,l/s):Math.max(o/e,l/s);i=e*d,a=s*d,n=(o-i)/2,r=(l-a)/2}e.save();let g=s%180==0?1:i/a;e.translate(o/2,l/2),e.rotate(s*Math.PI/180),e.scale(1/g,g),e.translate(-o/2,-l/2),e.drawImage(this.toCanvasImageSource(),d,h,f,p,n,r,i,a),e.restore()}_rotateSourceRegion(e,t,n,r,i){return 90===i?[e,t,n,r]=[t,this.squarePixelHeight-e-n,r,n]:180===i?[e,t]=[this.squarePixelWidth-e-n,this.squarePixelHeight-t-r]:270===i&&([e,t,n,r]=[this.squarePixelWidth-t-r,e,r,n]),{sx:e,sy:t,sWidth:n,sHeight:r}}toCanvasImageSource(){if(this._closed)throw Error("VideoSample is closed.");if(lX(null!==this._data),!(this._data instanceof Uint8Array))return this._data;{let e=this.toVideoFrame();return queueMicrotask(()=>e.close()),e}}setRotation(e){if(![0,90,180,270].includes(e))throw TypeError("newRotation must be 0, 90, 180, or 270.");this.rotation=e}setTimestamp(e){if(!Number.isFinite(e))throw TypeError("newTimestamp must be a number.");this.timestamp=e}setDuration(e){if(!Number.isFinite(e)||e<0)throw TypeError("newDuration must be a non-negative number.");this.duration=e}[Symbol.dispose](){this.close()}}class c4{constructor(e){if(void 0!==e){if(!e||"object"!=typeof e)throw TypeError("init.colorSpace, when provided, must be an object.");let t=Object.keys(l8);if(null!=e.primaries&&!t.includes(e.primaries))throw TypeError(`init.colorSpace.primaries, when provided, must be one of ${t.join(", ")}.`);let n=Object.keys(l5);if(null!=e.transfer&&!n.includes(e.transfer))throw TypeError(`init.colorSpace.transfer, when provided, must be one of ${n.join(", ")}.`);let r=Object.keys(l7);if(null!=e.matrix&&!r.includes(e.matrix))throw TypeError(`init.colorSpace.matrix, when provided, must be one of ${r.join(", ")}.`);if(null!=e.fullRange&&"boolean"!=typeof e.fullRange)throw TypeError("init.colorSpace.fullRange, when provided, must be a boolean.")}this.primaries=e?.primaries??null,this.transfer=e?.transfer??null,this.matrix=e?.matrix??null,this.fullRange=e?.fullRange??null}toJSON(){return{primaries:this.primaries,transfer:this.transfer,matrix:this.matrix,fullRange:this.fullRange}}}let c3=e=>"u">typeof VideoFrame&&e instanceof VideoFrame,c8=(e,t,n)=>{e.left=Math.min(e.left,t),e.top=Math.min(e.top,n),e.width=Math.min(e.width,t-e.left),e.height=Math.min(e.height,n-e.top),lX(e.width>=0),lX(e.height>=0)},c6=(e,t)=>{if(!e||"object"!=typeof e)throw TypeError(t+"crop, when provided, must be an object.");if(!Number.isInteger(e.left)||e.left<0)throw TypeError(t+"crop.left must be a non-negative integer.");if(!Number.isInteger(e.top)||e.top<0)throw TypeError(t+"crop.top must be a non-negative integer.");if(!Number.isInteger(e.width)||e.width<0)throw TypeError(t+"crop.width must be a non-negative integer.");if(!Number.isInteger(e.height)||e.height<0)throw TypeError(t+"crop.height must be a non-negative integer.")},c5=e=>{if(!e||"object"!=typeof e)throw TypeError("options must be an object.");if(void 0!==e.colorSpace&&!["display-p3","srgb"].includes(e.colorSpace))throw TypeError("options.colorSpace, when provided, must be 'display-p3' or 'srgb'.");if(void 0!==e.format&&"string"!=typeof e.format)throw TypeError("options.format, when provided, must be a string.");if(void 0!==e.layout){if(!Array.isArray(e.layout))throw TypeError("options.layout, when provided, must be an array.");for(let t of e.layout){if(!t||"object"!=typeof t)throw TypeError("Each entry in options.layout must be an object.");if(!Number.isInteger(t.offset)||t.offset<0)throw TypeError("plane.offset must be a non-negative integer.");if(!Number.isInteger(t.stride)||t.stride<0)throw TypeError("plane.stride must be a non-negative integer.")}}if(void 0!==e.rect){if(!e.rect||"object"!=typeof e.rect)throw TypeError("options.rect, when provided, must be an object.");if(void 0!==e.rect.x&&(!Number.isInteger(e.rect.x)||e.rect.x<0))throw TypeError("options.rect.x, when provided, must be a non-negative integer.");if(void 0!==e.rect.y&&(!Number.isInteger(e.rect.y)||e.rect.y<0))throw TypeError("options.rect.y, when provided, must be a non-negative integer.");if(void 0!==e.rect.width&&(!Number.isInteger(e.rect.width)||e.rect.width<0))throw TypeError("options.rect.width, when provided, must be a non-negative integer.");if(void 0!==e.rect.height&&(!Number.isInteger(e.rect.height)||e.rect.height<0))throw TypeError("options.rect.height, when provided, must be a non-negative integer.")}},c9=(e,t,n)=>{let r=c7(e),i=[],a=0;for(let e of r){let r=Math.ceil(t/e.widthDivisor),o=Math.ceil(n/e.heightDivisor),l=r*e.sampleBytes,s=l*o;i.push({offset:a,stride:l}),a+=s}return i},c7=e=>{let t=(e,t,n,r,i)=>{let a=[{sampleBytes:e,widthDivisor:1,heightDivisor:1},{sampleBytes:t,widthDivisor:n,heightDivisor:r},{sampleBytes:t,widthDivisor:n,heightDivisor:r}];return i&&a.push({sampleBytes:e,widthDivisor:1,heightDivisor:1}),a};switch(e){case"I420":return t(1,1,2,2,!1);case"I420P10":case"I420P12":return t(2,2,2,2,!1);case"I420A":return t(1,1,2,2,!0);case"I420AP10":case"I420AP12":return t(2,2,2,2,!0);case"I422":return t(1,1,2,1,!1);case"I422P10":case"I422P12":return t(2,2,2,1,!1);case"I422A":return t(1,1,2,1,!0);case"I422AP10":case"I422AP12":return t(2,2,2,1,!0);case"I444":return t(1,1,1,1,!1);case"I444P10":case"I444P12":return t(2,2,1,1,!1);case"I444A":return t(1,1,1,1,!0);case"I444AP10":case"I444AP12":return t(2,2,1,1,!0);case"NV12":return[{sampleBytes:1,widthDivisor:1,heightDivisor:1},{sampleBytes:2,widthDivisor:2,heightDivisor:2}];case"RGBA":case"RGBX":case"BGRA":case"BGRX":return[{sampleBytes:4,widthDivisor:1,heightDivisor:1}];default:sh(e),lX(!1)}},ue=new Set(["f32","f32-planar","s16","s16-planar","s32","s32-planar","u8","u8-planar"]);class ut{get microsecondTimestamp(){return Math.trunc(sx*this.timestamp)}get microsecondDuration(){return Math.trunc(sx*this.duration)}constructor(e){if(this._closed=!1,uo(e)){if(null===e.format)throw TypeError("AudioData with null format is not supported.");this._data=e,this.format=e.format,this.sampleRate=e.sampleRate,this.numberOfFrames=e.numberOfFrames,this.numberOfChannels=e.numberOfChannels,this.timestamp=e.timestamp/1e6,this.duration=e.numberOfFrames/e.sampleRate}else{let t;if(!e||"object"!=typeof e)throw TypeError("Invalid AudioDataInit: must be an object.");if(!ue.has(e.format))throw TypeError("Invalid AudioDataInit: invalid format.");if(!Number.isFinite(e.sampleRate)||e.sampleRate<=0)throw TypeError("Invalid AudioDataInit: sampleRate must be > 0.");if(!Number.isInteger(e.numberOfChannels)||0===e.numberOfChannels)throw TypeError("Invalid AudioDataInit: numberOfChannels must be an integer > 0.");if(!Number.isFinite(e?.timestamp))throw TypeError("init.timestamp must be a number.");let n=e.data.byteLength/(un(e.format)*e.numberOfChannels);if(!Number.isInteger(n))throw TypeError("Invalid AudioDataInit: data size is not a multiple of frame size.");if(this.format=e.format,this.sampleRate=e.sampleRate,this.numberOfFrames=n,this.numberOfChannels=e.numberOfChannels,this.timestamp=e.timestamp,this.duration=n/e.sampleRate,e.data instanceof ArrayBuffer)t=new Uint8Array(e.data);else if(ArrayBuffer.isView(e.data))t=new Uint8Array(e.data.buffer,e.data.byteOffset,e.data.byteLength);else throw TypeError("Invalid AudioDataInit: data is not a BufferSource.");let r=this.numberOfFrames*this.numberOfChannels*un(this.format);if(t.byteLength<r)throw TypeError("Invalid AudioDataInit: insufficient data size.");this._data=t}cJ?.register(this,{type:"audio",data:this._data},this)}allocationSize(e){if(!e||"object"!=typeof e)throw TypeError("options must be an object.");if(!Number.isInteger(e.planeIndex)||e.planeIndex<0)throw TypeError("planeIndex must be a non-negative integer.");if(void 0!==e.format&&!ue.has(e.format))throw TypeError("Invalid format.");if(void 0!==e.frameOffset&&(!Number.isInteger(e.frameOffset)||e.frameOffset<0))throw TypeError("frameOffset must be a non-negative integer.");if(void 0!==e.frameCount&&(!Number.isInteger(e.frameCount)||e.frameCount<0))throw TypeError("frameCount must be a non-negative integer.");if(this._closed)throw Error("AudioSample is closed.");let t=e.format??this.format,n=e.frameOffset??0;if(n>=this.numberOfFrames)throw RangeError("frameOffset out of range");let r=void 0!==e.frameCount?e.frameCount:this.numberOfFrames-n;if(r>this.numberOfFrames-n)throw RangeError("frameCount out of range");let i=un(t),a=ur(t);if(a&&e.planeIndex>=this.numberOfChannels||!a&&0!==e.planeIndex)throw RangeError("planeIndex out of range");return(a?r:r*this.numberOfChannels)*i}copyTo(e,t){if(!st(e))throw TypeError("destination must be an ArrayBuffer or an ArrayBuffer view.");if(!t||"object"!=typeof t)throw TypeError("options must be an object.");if(!Number.isInteger(t.planeIndex)||t.planeIndex<0)throw TypeError("planeIndex must be a non-negative integer.");if(void 0!==t.format&&!ue.has(t.format))throw TypeError("Invalid format.");if(void 0!==t.frameOffset&&(!Number.isInteger(t.frameOffset)||t.frameOffset<0))throw TypeError("frameOffset must be a non-negative integer.");if(void 0!==t.frameCount&&(!Number.isInteger(t.frameCount)||t.frameCount<0))throw TypeError("frameCount must be a non-negative integer.");if(this._closed)throw Error("AudioSample is closed.");let{planeIndex:n,format:r,frameCount:i,frameOffset:a}=t,o=this.format,l=r??this.format;if(!l)throw Error("Destination format not determined");let s=this.numberOfFrames,c=this.numberOfChannels,u=a??0;if(u>=s)throw RangeError("frameOffset out of range");let d=void 0!==i?i:s-u;if(d>s-u)throw RangeError("frameCount out of range");let h=un(l),f=ur(l);if(f&&n>=c||!f&&0!==n)throw RangeError("planeIndex out of range");let p=f?d:d*c;if(e.byteLength<p*h)throw RangeError("Destination buffer is too small");let g=l2(e),m=ua(l);if(uo(this._data))sE()&&c>2&&l!==o?ul(this._data,g,o,l,c,n,u,d):this._data.copyTo(e,{planeIndex:n,frameOffset:u,frameCount:d,format:l});else{let e=l2(this._data),t=ui(o),r=un(o),i=ur(o);for(let a=0;a<d;a++)if(f)m(g,a*h,t(e,i?(n*s+(a+u))*r:((a+u)*c+n)*r));else for(let n=0;n<c;n++)m(g,(a*c+n)*h,t(e,i?(n*s+(a+u))*r:((a+u)*c+n)*r))}}clone(){if(this._closed)throw Error("AudioSample is closed.");if(!uo(this._data))return new ut({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.timestamp,data:this._data});{let e=new ut(this._data.clone());return e.setTimestamp(this.timestamp),e}}close(){this._closed||(cJ?.unregister(this),uo(this._data)?this._data.close():this._data=new Uint8Array(0),this._closed=!0)}toAudioData(){if(this._closed)throw Error("AudioSample is closed.");if(!uo(this._data))return new AudioData({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.microsecondTimestamp,data:this._data.buffer instanceof ArrayBuffer?this._data.buffer:this._data.slice()});if(this._data.timestamp===this.microsecondTimestamp)return this._data.clone();if(ur(this.format)){let e=this.allocationSize({planeIndex:0,format:this.format}),t=new ArrayBuffer(e*this.numberOfChannels);for(let n=0;n<this.numberOfChannels;n++)this.copyTo(new Uint8Array(t,n*e,e),{planeIndex:n,format:this.format});return new AudioData({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.microsecondTimestamp,data:t})}{let e=new ArrayBuffer(this.allocationSize({planeIndex:0,format:this.format}));return this.copyTo(e,{planeIndex:0,format:this.format}),new AudioData({format:this.format,sampleRate:this.sampleRate,numberOfFrames:this.numberOfFrames,numberOfChannels:this.numberOfChannels,timestamp:this.microsecondTimestamp,data:e})}}toAudioBuffer(){if(this._closed)throw Error("AudioSample is closed.");let e=new AudioBuffer({numberOfChannels:this.numberOfChannels,length:this.numberOfFrames,sampleRate:this.sampleRate}),t=new Float32Array(this.allocationSize({planeIndex:0,format:"f32-planar"})/4);for(let n=0;n<this.numberOfChannels;n++)this.copyTo(t,{planeIndex:n,format:"f32-planar"}),e.copyToChannel(t,n);return e}setTimestamp(e){if(!Number.isFinite(e))throw TypeError("newTimestamp must be a number.");this.timestamp=e}[Symbol.dispose](){this.close()}static*_fromAudioBuffer(e,t){if(!(e instanceof AudioBuffer))throw TypeError("audioBuffer must be an AudioBuffer.");let n=e.numberOfChannels,r=e.sampleRate,i=e.length,a=Math.floor(24e4/n),o=0,l=i;for(;l>0;){let i=Math.min(a,l),s=new Float32Array(n*i);for(let t=0;t<n;t++)e.copyFromChannel(s.subarray(t*i,(t+1)*i),t,o);yield new ut({format:"f32-planar",sampleRate:r,numberOfFrames:i,numberOfChannels:n,timestamp:t+o/r,data:s}),o+=i,l-=i}}static fromAudioBuffer(e,t){if(!(e instanceof AudioBuffer))throw TypeError("audioBuffer must be an AudioBuffer.");let n=e.numberOfChannels,r=e.sampleRate,i=e.length,a=Math.floor(24e4/n),o=0,l=i,s=[];for(;l>0;){let i=Math.min(a,l),c=new Float32Array(n*i);for(let t=0;t<n;t++)e.copyFromChannel(c.subarray(t*i,(t+1)*i),t,o);let u=new ut({format:"f32-planar",sampleRate:r,numberOfFrames:i,numberOfChannels:n,timestamp:t+o/r,data:c});s.push(u),o+=i,l-=i}return s}}let un=e=>{switch(e){case"u8":case"u8-planar":return 1;case"s16":case"s16-planar":return 2;case"s32":case"s32-planar":case"f32":case"f32-planar":return 4;default:throw Error("Unknown AudioSampleFormat")}},ur=e=>{switch(e){case"u8-planar":case"s16-planar":case"s32-planar":case"f32-planar":return!0;default:return!1}},ui=e=>{switch(e){case"u8":case"u8-planar":return(e,t)=>(e.getUint8(t)-128)/128;case"s16":case"s16-planar":return(e,t)=>e.getInt16(t,!0)/32768;case"s32":case"s32-planar":return(e,t)=>e.getInt32(t,!0)/0x80000000;case"f32":case"f32-planar":return(e,t)=>e.getFloat32(t,!0)}},ua=e=>{switch(e){case"u8":case"u8-planar":return(e,t,n)=>e.setUint8(t,sm((n+1)*127.5,0,255));case"s16":case"s16-planar":return(e,t,n)=>e.setInt16(t,sm(Math.round(32767*n),-32768,32767),!0);case"s32":case"s32-planar":return(e,t,n)=>e.setInt32(t,sm(Math.round(0x7fffffff*n),-0x80000000,0x7fffffff),!0);case"f32":case"f32-planar":return(e,t,n)=>e.setFloat32(t,n,!0)}},uo=e=>"u">typeof AudioData&&e instanceof AudioData,ul=(e,t,n,r,i,a,o,l)=>{let s=ui(n),c=ua(r),u=un(n),d=un(r),h=ur(n);if(ur(r))if(h){let r=new ArrayBuffer(l*u),i=l2(r);e.copyTo(r,{planeIndex:a,frameOffset:o,frameCount:l,format:n});for(let e=0;e<l;e++){let n=e*u;c(t,e*d,s(i,n))}}else{let r=new ArrayBuffer(l*i*u),h=l2(r);e.copyTo(r,{planeIndex:0,frameOffset:o,frameCount:l,format:n});for(let e=0;e<l;e++){let n=(e*i+a)*u;c(t,e*d,s(h,n))}}else if(h){let r=new ArrayBuffer(l*u),a=l2(r);for(let h=0;h<i;h++){e.copyTo(r,{planeIndex:h,frameOffset:o,frameCount:l,format:n});for(let e=0;e<l;e++){let n=e*u;c(t,(e*i+h)*d,s(a,n))}}}else{let r=new ArrayBuffer(l*i*u),a=l2(r);e.copyTo(r,{planeIndex:0,frameOffset:o,frameCount:l,format:n});for(let e=0;e<l;e++)for(let n=0;n<i;n++){let r=e*i+n,o=r*u;c(t,r*d,s(a,o))}}},us=e=>{if(!e||"object"!=typeof e)throw TypeError("options must be an object.");if(void 0!==e.metadataOnly&&"boolean"!=typeof e.metadataOnly)throw TypeError("options.metadataOnly, when defined, must be a boolean.");if(void 0!==e.verifyKeyPackets&&"boolean"!=typeof e.verifyKeyPackets)throw TypeError("options.verifyKeyPackets, when defined, must be a boolean.");if(e.verifyKeyPackets&&e.metadataOnly)throw TypeError("options.verifyKeyPackets and options.metadataOnly cannot be enabled together.")},uc=e=>{if(!sD(e))throw TypeError("timestamp must be a number.")},uu=(e,t,n)=>n.verifyKeyPackets?t.then(async t=>{if(!t||"delta"===t.type)return t;let n=await e.determinePacketType(t);return n&&(t.type=n),t}):t;class ud{constructor(e){if(!(e instanceof uv))throw TypeError("track must be an InputTrack.");this._track=e}getFirstPacket(e={}){if(us(e),this._track.input._disposed)throw new cK;return uu(this._track,this._track._backing.getFirstPacket(e),e)}async getFirstKeyPacket(e={}){us(e);let t=await this.getFirstPacket(e);return t?"key"===t.type?t:this.getNextKeyPacket(t,e):null}getPacket(e,t={}){if(uc(e),us(t),this._track.input._disposed)throw new cK;return uu(this._track,this._track._backing.getPacket(e,t),t)}getNextPacket(e,t={}){if(!(e instanceof cX))throw TypeError("packet must be an EncodedPacket.");if(us(t),this._track.input._disposed)throw new cK;return uu(this._track,this._track._backing.getNextPacket(e,t),t)}async getKeyPacket(e,t={}){if(uc(e),us(t),this._track.input._disposed)throw new cK;if(!t.verifyKeyPackets)return this._track._backing.getKeyPacket(e,t);let n=await this._track._backing.getKeyPacket(e,t);return n&&(lX("key"===n.type),"delta"===await this._track.determinePacketType(n))?this.getKeyPacket(n.timestamp-1/this._track.timeResolution,t):n}async getNextKeyPacket(e,t={}){if(!(e instanceof cX))throw TypeError("packet must be an EncodedPacket.");if(us(t),this._track.input._disposed)throw new cK;if(!t.verifyKeyPackets)return this._track._backing.getNextKeyPacket(e,t);let n=await this._track._backing.getNextKeyPacket(e,t);return n&&(lX("key"===n.type),"delta"===await this._track.determinePacketType(n))?this.getNextKeyPacket(n,t):n}packets(e,t,n={}){if(void 0!==e&&!(e instanceof cX))throw TypeError("startPacket must be an EncodedPacket.");if(void 0!==e&&e.isMetadataOnly&&!n?.metadataOnly)throw TypeError("startPacket can only be metadata-only if options.metadataOnly is enabled.");if(void 0!==t&&!(t instanceof cX))throw TypeError("endPacket must be an EncodedPacket.");if(us(n),this._track.input._disposed)throw new cK;let r=[],{promise:i,resolve:a}=ss(),{promise:o,resolve:l}=ss(),s=!1,c=!1,u=null,d=[],h=()=>Math.max(2,d.length);(async()=>{let u=e??await this.getFirstPacket(n);for(;u&&!c&&!this._track.input._disposed&&!(t&&u.sequenceNumber>=t?.sequenceNumber);){if(r.length>h()){({promise:o,resolve:l}=ss()),await o;continue}r.push(u),a(),({promise:i,resolve:a}=ss()),u=await this.getNextPacket(u,n)}s=!0,a()})().catch(e=>{u||(u=e,a())});let f=this._track;return{async next(){for(;;)if(f.input._disposed)throw new cK;else if(c)return{value:void 0,done:!0};else if(u)throw u;else if(r.length>0){let e=r.shift(),t=performance.now();for(d.push(t);d.length>0&&t-d[0]>=1e3;)d.shift();return l(),{value:e,done:!1}}else{if(s)return{value:void 0,done:!0};await i}},return:async()=>(c=!0,l(),a(),{value:void 0,done:!0}),async throw(e){throw e},[Symbol.asyncIterator](){return this}}}}class uh{constructor(e,t){this.onSample=e,this.onError=t}}class uf{mediaSamplesInRange(e=0,t=1/0){uc(e),uc(t);let n=[],r=!1,i=null,{promise:a,resolve:o}=ss(),{promise:l,resolve:s}=ss(),c=!1,u=!1,d=!1,h=null;(async()=>{let f=await this._createDecoder(l=>{(s(),l.timestamp>=t&&(u=!0),u)?l.close():(i&&(l.timestamp>e?(n.push(i),r=!0):i.close()),l.timestamp>=e&&(n.push(l),r=!0),i=r?null:l,n.length>0&&(o(),{promise:a,resolve:o}=ss()))},e=>{h||(h=e,o())}),p=this._createPacketSink(),g=await p.getKeyPacket(e,{verifyKeyPackets:!0})??await p.getFirstKeyPacket({verifyKeyPackets:!0}),m=g,y=p.packets(g??void 0,void 0);for(await y.next();m&&!u&&!this._track.input._disposed;){let e=up(n.length);if(n.length+f.getDecodeQueueSize()>e){({promise:l,resolve:s}=ss()),await l;continue}f.decode(m);let t=await y.next();if(t.done)break;m=t.value}await y.return(),d||this._track.input._disposed||await f.flush(),f.close(),!r&&i&&n.push(i),c=!0,o()})().catch(e=>{h||(h=e,o())});let f=this._track,p=()=>{for(let e of(i?.close(),n))e.close()};return{async next(){for(;;)if(f.input._disposed)throw p(),new cK;else if(d)return{value:void 0,done:!0};else if(h)throw p(),h;else if(n.length>0){let e=n.shift();return s(),{value:e,done:!1}}else{if(c)return{value:void 0,done:!0};await a}},return:async()=>(d=!0,u=!0,s(),o(),p(),{value:void 0,done:!0}),async throw(e){throw e},[Symbol.asyncIterator](){return this}}}mediaSamplesAtTimestamps(e){if(!(Symbol.iterator in e)&&!(Symbol.asyncIterator in e))throw TypeError("Argument must be an iterable or async iterable.");let t=sd(e),n=[],r=[],{promise:i,resolve:a}=ss(),{promise:o,resolve:l}=ss(),s=!1,c=!1,u=null,d=e=>{r.push(e),a(),{promise:i,resolve:a}=ss()};(async()=>{let e=await this._createDecoder(e=>{if(l(),c)return void e.close();let t=0;for(;n.length>0&&e.timestamp-n[0]>-1e-10;)t++,n.shift();if(t>0)for(let n=0;n<t;n++)d(n<t-1?e.clone():e);else e.close()},e=>{u||(u=e,a())}),i=this._createPacketSink(),h=null,f=null,p=-1,g=async()=>{lX(f);let t=f;for(e.decode(t);t.sequenceNumber<p;){let n=up(r.length);for(;r.length+e.getDecodeQueueSize()>n&&!c;)({promise:o,resolve:l}=ss()),await o;if(c)break;let a=await i.getNextPacket(t);lX(a),e.decode(a),t=a}p=-1},m=async()=>{await e.flush();for(let e=0;e<n.length;e++)d(null);n.length=0};for await(let e of t){if(uc(e),c||this._track.input._disposed)break;let t=await i.getPacket(e),r=t&&await i.getKeyPacket(e,{verifyKeyPackets:!0});if(!r){-1!==p&&(await g(),await m()),d(null),h=null;continue}h&&(r.sequenceNumber!==f.sequenceNumber||t.timestamp<h.timestamp)&&(await g(),await m()),n.push(t.timestamp),p=Math.max(t.sequenceNumber,p),h=t,f=r}c||this._track.input._disposed||(-1!==p&&await g(),await m()),e.close(),s=!0,a()})().catch(e=>{u||(u=e,a())});let h=this._track,f=()=>{for(let e of r)e?.close()};return{async next(){for(;;)if(h.input._disposed)throw f(),new cK;else if(c)return{value:void 0,done:!0};else if(u)throw f(),u;else if(r.length>0){let e=r.shift();return lX(void 0!==e),l(),{value:e,done:!1}}else{if(s)return{value:void 0,done:!0};await i}},return:async()=>(c=!0,l(),a(),f(),{value:void 0,done:!0}),async throw(e){throw e},[Symbol.asyncIterator](){return this}}}}let up=e=>0===e?40:8;class ug extends uh{constructor(e,t,n,r,i,a){super(e,t),this.codec=n,this.decoderConfig=r,this.rotation=i,this.timeResolution=a,this.decoder=null,this.customDecoder=null,this.customDecoderCallSerializer=new sk,this.customDecoderQueueSize=0,this.inputTimestamps=[],this.sampleQueue=[],this.currentPacketIndex=0,this.raslSkipped=!1,this.alphaDecoder=null,this.alphaHadKeyframe=!1,this.colorQueue=[],this.alphaQueue=[],this.merger=null,this.mergerCreationFailed=!1,this.decodedAlphaChunkCount=0,this.alphaDecoderQueueSize=0,this.nullAlphaFrameQueue=[],this.currentAlphaPacketIndex=0,this.alphaRaslSkipped=!1;let o=cw.find(e=>e.supports(n,r));if(o)this.customDecoder=new o,this.customDecoder.codec=n,this.customDecoder.config=r,this.customDecoder.onSample=e=>{if(!(e instanceof c2))throw TypeError("The argument passed to onSample must be a VideoSample.");this.finalizeAndEmitSample(e)},this.customDecoderCallSerializer.call(()=>this.customDecoder.init());else{let e=e=>{if(this.alphaQueue.length>0){let t=this.alphaQueue.shift();lX(void 0!==t),this.mergeAlpha(e,t)}else this.colorQueue.push(e)};if("avc"===n&&this.decoderConfig.description&&sA()){let e=(e=>{try{let t=l2(e),n=0,r=t.getUint8(n++),i=t.getUint8(n++),a=t.getUint8(n++),o=t.getUint8(n++),l=3&t.getUint8(n++),s=31&t.getUint8(n++),c=[];for(let r=0;r<s;r++){let r=t.getUint16(n,!1);n+=2,c.push(e.subarray(n,n+r)),n+=r}let u=t.getUint8(n++),d=[];for(let r=0;r<u;r++){let r=t.getUint16(n,!1);n+=2,d.push(e.subarray(n,n+r)),n+=r}let h={configurationVersion:r,avcProfileIndication:i,profileCompatibility:a,avcLevelIndication:o,lengthSizeMinusOne:l,sequenceParameterSets:c,pictureParameterSets:d,chromaFormat:null,bitDepthLumaMinus8:null,bitDepthChromaMinus8:null,sequenceParameterSetExt:null};if((100===i||110===i||122===i||144===i)&&n+4<=e.length){let r=3&t.getUint8(n++),i=7&t.getUint8(n++),a=7&t.getUint8(n++),o=t.getUint8(n++);h.chromaFormat=r,h.bitDepthLumaMinus8=i,h.bitDepthChromaMinus8=a;let l=[];for(let r=0;r<o;r++){let r=t.getUint16(n,!1);n+=2,l.push(e.subarray(n,n+r)),n+=r}h.sequenceParameterSetExt=l}return h}catch(e){return console.error("Error deserializing AVC Decoder Configuration Record:",e),null}})(l1(this.decoderConfig.description));if(e&&e.sequenceParameterSets.length>0){let t=s3(e.sequenceParameterSets[0]);t&&0===t.frameMbsOnlyFlag&&(this.decoderConfig={...this.decoderConfig,hardwareAcceleration:"prefer-software"})}}let t=Error("Decoding error").stack;this.decoder=new VideoDecoder({output:t=>{try{e(t)}catch(e){this.onError(e)}},error:e=>{e.stack=t,this.onError(e)}}),this.decoder.configure(this.decoderConfig)}}getDecodeQueueSize(){return this.customDecoder?this.customDecoderQueueSize:(lX(this.decoder),Math.max(this.decoder.decodeQueueSize,this.alphaDecoder?.decodeQueueSize??0))}decode(e){if("hevc"===this.codec&&this.currentPacketIndex>0&&!this.raslSkipped){if(this.hasHevcRaslPicture(e.data))return;this.raslSkipped=!0}if(this.customDecoder)this.customDecoderQueueSize++,this.customDecoderCallSerializer.call(()=>this.customDecoder.decode(e)).then(()=>this.customDecoderQueueSize--);else{if(lX(this.decoder),sE()||sl(this.inputTimestamps,e.timestamp,e=>e),sA()&&0===this.currentPacketIndex&&"avc"===this.codec){let t=[];for(let n of sQ(e.data,this.decoderConfig)){let r=sJ(e.data[n.offset]);r>=20&&r<=31||t.push(e.data.subarray(n.offset,n.offset+n.length))}e=new cX(((e,t)=>{if(t.description)return((e,t)=>{let n=new Uint8Array(e.reduce((e,n)=>e+t+n.byteLength,0)),r=0;for(let i of e){let e=new DataView(n.buffer,n.byteOffset,n.byteLength);switch(t){case 1:e.setUint8(r,i.byteLength);break;case 2:e.setUint16(r,i.byteLength,!1);break;case 3:sp(e,r,i.byteLength,!1);break;case 4:e.setUint32(r,i.byteLength,!1)}r+=t,n.set(i,r),r+=i.byteLength}return n})(e,(3&l1(t.description)[4])+1);let n=new Uint8Array(e.reduce((e,t)=>e+s1.byteLength+t.byteLength,0)),r=0;for(let t of e)n.set(s1,r),r+=s1.byteLength,n.set(t,r),r+=t.byteLength;return n})(t,this.decoderConfig),e.type,e.timestamp,e.duration)}this.decoder.decode(e.toEncodedVideoChunk()),this.decodeAlphaData(e)}this.currentPacketIndex++}decodeAlphaData(e){if(!e.sideData.alpha||this.mergerCreationFailed)return void this.pushNullAlphaFrame();if(!this.merger)try{this.merger=new um}catch(t){console.error("Due to an error, only color data will be decoded.",t),this.mergerCreationFailed=!0,this.decodeAlphaData(e);return}if(!this.alphaDecoder){let e=e=>{if(this.alphaDecoderQueueSize--,this.colorQueue.length>0){let t=this.colorQueue.shift();lX(void 0!==t),this.mergeAlpha(t,e)}else this.alphaQueue.push(e);for(this.decodedAlphaChunkCount++;this.nullAlphaFrameQueue.length>0&&this.nullAlphaFrameQueue[0]===this.decodedAlphaChunkCount;)if(this.nullAlphaFrameQueue.shift(),this.colorQueue.length>0){let e=this.colorQueue.shift();lX(void 0!==e),this.mergeAlpha(e,null)}else this.alphaQueue.push(null)},t=Error("Decoding error").stack;this.alphaDecoder=new VideoDecoder({output:t=>{try{e(t)}catch(e){this.onError(e)}},error:e=>{e.stack=t,this.onError(e)}}),this.alphaDecoder.configure(this.decoderConfig)}let t=cd(this.codec,this.decoderConfig,e.sideData.alpha);if(this.alphaHadKeyframe||(this.alphaHadKeyframe="key"===t),this.alphaHadKeyframe){if("hevc"===this.codec&&this.currentAlphaPacketIndex>0&&!this.alphaRaslSkipped){if(this.hasHevcRaslPicture(e.sideData.alpha))return void this.pushNullAlphaFrame();this.alphaRaslSkipped=!0}this.currentAlphaPacketIndex++,this.alphaDecoder.decode(e.alphaToEncodedVideoChunk(t??e.type)),this.alphaDecoderQueueSize++}else this.pushNullAlphaFrame()}pushNullAlphaFrame(){0===this.alphaDecoderQueueSize?this.alphaQueue.push(null):this.nullAlphaFrameQueue.push(this.decodedAlphaChunkCount+this.alphaDecoderQueueSize)}hasHevcRaslPicture(e){for(let t of s6(e,this.decoderConfig)){let n=s5(e[t.offset]);if(n===D0.RASL_N||n===D0.RASL_R)return!0}return!1}sampleHandler(e){if(sE()){if(this.sampleQueue.length>0&&e.timestamp>=lQ(this.sampleQueue).timestamp){for(let e of this.sampleQueue)this.finalizeAndEmitSample(e);this.sampleQueue.length=0}sl(this.sampleQueue,e,e=>e.timestamp)}else{let t=this.inputTimestamps.shift();lX(void 0!==t),e.setTimestamp(t),this.finalizeAndEmitSample(e)}}finalizeAndEmitSample(e){e.setTimestamp(Math.round(e.timestamp*this.timeResolution)/this.timeResolution),e.setDuration(Math.round(e.duration*this.timeResolution)/this.timeResolution),e.setRotation(this.rotation),this.onSample(e)}mergeAlpha(e,t){if(!t){let t=new c2(e);this.sampleHandler(t);return}lX(this.merger),this.merger.update(e,t),e.close(),t.close();let n=new c2(new VideoFrame(this.merger.canvas,{timestamp:e.timestamp,duration:e.duration??void 0}));this.sampleHandler(n)}async flush(){if(this.customDecoder?await this.customDecoderCallSerializer.call(()=>this.customDecoder.flush()):(lX(this.decoder),await Promise.all([this.decoder.flush(),this.alphaDecoder?.flush()]),this.colorQueue.forEach(e=>e.close()),this.colorQueue.length=0,this.alphaQueue.forEach(e=>e?.close()),this.alphaQueue.length=0,this.alphaHadKeyframe=!1,this.decodedAlphaChunkCount=0,this.alphaDecoderQueueSize=0,this.nullAlphaFrameQueue.length=0,this.currentAlphaPacketIndex=0,this.alphaRaslSkipped=!1),sE()){for(let e of this.sampleQueue)this.finalizeAndEmitSample(e);this.sampleQueue.length=0}this.currentPacketIndex=0,this.raslSkipped=!1}close(){for(let e of(this.customDecoder?this.customDecoderCallSerializer.call(()=>this.customDecoder.close()):(lX(this.decoder),this.decoder.close(),this.alphaDecoder?.close(),this.colorQueue.forEach(e=>e.close()),this.colorQueue.length=0,this.alphaQueue.forEach(e=>e?.close()),this.alphaQueue.length=0,this.merger?.close()),this.sampleQueue))e.close();this.sampleQueue.length=0}}class um{constructor(){"u">typeof OffscreenCanvas?this.canvas=new OffscreenCanvas(300,150):this.canvas=document.createElement("canvas");let e=this.canvas.getContext("webgl2",{premultipliedAlpha:!1});if(!e)throw Error("Couldn't acquire WebGL 2 context.");this.gl=e,this.program=this.createProgram(),this.vao=this.createVAO(),this.colorTexture=this.createTexture(),this.alphaTexture=this.createTexture(),this.gl.useProgram(this.program),this.gl.uniform1i(this.gl.getUniformLocation(this.program,"u_colorTexture"),0),this.gl.uniform1i(this.gl.getUniformLocation(this.program,"u_alphaTexture"),1)}createProgram(){let e=this.createShader(this.gl.VERTEX_SHADER,`#version 300 es
|
|
203
203
|
in vec2 a_position;
|
|
204
204
|
in vec2 a_texCoord;
|
|
205
205
|
out vec2 v_texCoord;
|
|
@@ -247,7 +247,7 @@ For more info see: https://github.com/konvajs/react-konva/issues/194
|
|
|
247
247
|
<!-- Path for the stroke, clipped by the star path -->
|
|
248
248
|
<path d="${c}" fill="none" stroke="${a}" stroke-width="${2*o}" clip-path="url(#${h})" transform="scale(${u}, ${d})" stroke-dasharray="${s.join(" ")}"/>
|
|
249
249
|
</svg>
|
|
250
|
-
`}(e,n):(console.error(`Polotno error: Can not convert ${e.subType} figure to svg.`),d5(e))}let ht={},hn=F(({element:e,store:t})=>{var n;let r,i=y(_).useRef(null),a=e.selectable||"admin"===t.role,o=aE(),l=e.isSelected,s=Math.min(e.strokeWidth,e.width/2,e.height/2),c=Math.max(0,Math.min(e.width/2,e.height/2,e.cornerRadius)),u=i_(e,e.a.fill,"fill"),d={width:e.a.width,height:e.a.height,...u,cornerRadius:c,opacity:e.animated("opacity"),shadowEnabled:e.shadowEnabled,shadowBlur:e.shadowBlur,shadowOffsetX:e.shadowOffsetX,shadowOffsetY:e.shadowOffsetY,shadowColor:e.shadowColor,shadowOpacity:e.shadowOpacity,preventDefault:!o||l,hideInExport:!e.showInExport},h=i_(e,e.stroke,"stroke"),f={visible:s>0,x:s/2,y:s/2,width:e.a.width-s,height:e.a.height-s,...h,strokeWidth:s,cornerRadius:Math.max(0,c-s),dash:e.dash.map(e=>e*s),opacity:e.animated("opacity"),hideInExport:!e.showInExport,listening:!1},p=(ht[n=e.subType]||(ht[n]=(r=d7[n]||d5,F(({element:e,fillProps:t,strokeProps:n})=>{let i=r({width:e.a.width,height:e.a.height,cornerRadius:e.cornerRadius}),a=1,o=1;"string"!=typeof i&&(a=i.scaleX,o=i.scaleY,i=i.path);let l=y(_).useRef(null);return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(rM,{width:e.width,height:e.height,fill:"transparent"}),(0,k.jsx)(rD,{...t,ref:l,data:i,scaleX:a,scaleY:o}),(0,k.jsx)(rI,{clipFunc:e=>{let t=l.current;if(t){var n=t.dataArray;e.beginPath();for(var r=0;r<n.length;r++){var i=n[r].command,a=n[r].points;switch(i){case"L":e.lineTo(a[0],a[1]);break;case"M":e.moveTo(a[0],a[1]);break;case"C":e.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"Q":e.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case"A":var o=a[0],s=a[1],c=a[2],u=a[3],d=a[4],h=a[5],f=a[6],p=a[7],g=c>u?c:u,m=c>u?1:c/u,y=c>u?u/c:1;e.translate(o,s),e.rotate(f),e.scale(m,y),e.arc(0,0,g,d,d+h,!p),e.scale(1/m,1/y),e.rotate(-f),e.translate(-o,-s);break;case"z":e.closePath()}}}},scaleX:a,scaleY:o,children:(0,k.jsx)(rD,{...n,x:0,y:0,data:i,strokeWidth:2*n.strokeWidth,dash:n.dash.map(e=>e)})})]})}))),ht[n]||rI);return(0,k.jsx)(k.Fragment,{children:(0,k.jsx)(rI,{ref:i,id:e.id,x:e.a.x,y:e.a.y,rotation:e.a.rotation,opacity:e.a.opacity,listening:a,draggable:o?e.draggable&&l:e.draggable,name:"element",onDragMove:t=>{e.set({x:t.target.x(),y:t.target.y()})},onDragEnd:t=>{e.set({x:t.target.x(),y:t.target.y()})},onTransform:t=>{let n=t.target.scale();t.target.scaleX(1),t.target.scaleY(1),e.set({width:e.width*n.x,height:e.height*n.y,x:t.target.x(),y:t.target.y(),rotation:t.target.rotation()})},children:(0,k.jsx)(p,{element:e,fillProps:d,strokeProps:f})})})});var _=C("8NFma"),P=C("2SBKn"),hr={};Object.defineProperty(hr,"__esModule",{value:!0}),hr.decompressFrames=hr.decompressFrame=hr.parseGIF=void 0;var hi=(Do=C("e0MPM"))&&Do.__esModule?Do:{default:Do},ha=C("lc6Vt"),ho=C("kPDMU"),hl={};Object.defineProperty(hl,"__esModule",{value:!0}),hl.deinterlace=void 0,hl.deinterlace=function(e,t){for(var n=Array(e.length),r=e.length/t,i=[0,4,2,1],a=[8,8,4,2],o=0,l=0;l<4;l++)for(var s=i[l];s<r;s+=a[l])!function(r,i){var a=e.slice(i*t,(i+1)*t);n.splice.apply(n,[r*t,t].concat(a))}(s,o),o++;return n};var hs={};Object.defineProperty(hs,"__esModule",{value:!0}),hs.lzw=void 0,hs.lzw=function(e,t,n){var r,i,a,o,l,s,c,u,d,h,f,p,g,m,y,b=Array(n),v=Array(4096),x=Array(4096),w=Array(4097);for(u=0,l=(i=1<<e)+1,r=i+2,c=-1,a=(1<<(o=e+1))-1;u<i;u++)v[u]=0,x[u]=u;for(d=0,h=f=p=g=m=y=0;d<n;){if(0===g){if(f<o){h+=t[y]<<f,f+=8,y++;continue}if(u=h&a,h>>=o,f-=o,u>r||u==l)break;if(u==i){a=(1<<(o=e+1))-1,r=i+2,c=-1;continue}if(-1==c){w[g++]=x[u],c=u,p=u;continue}for(s=u,u==r&&(w[g++]=p,u=c);u>i;)w[g++]=x[u],u=v[u];p=255&x[u],w[g++]=p,r<4096&&(v[r]=c,x[r]=p,(++r&a)==0&&r<4096&&(o++,a+=r)),c=s}g--,b[m++]=w[g],d++}for(d=m;d<n;d++)b[d]=0;return b},hr.parseGIF=function(e){var t=new Uint8Array(e);return(0,ha.parse)((0,ho.buildStream)(t),hi.default)};var hc=function(e){for(var t=e.pixels.length,n=new Uint8ClampedArray(4*t),r=0;r<t;r++){var i=4*r,a=e.pixels[r],o=e.colorTable[a]||[0,0,0];n[i]=o[0],n[i+1]=o[1],n[i+2]=o[2],n[i+3]=255*(a!==e.transparentIndex)}return n},hu=function(e,t,n){if(!e.image)return void console.warn("gif frame does not have associated image.");var r=e.image,i=r.descriptor.width*r.descriptor.height,a=(0,hs.lzw)(r.data.minCodeSize,r.data.blocks,i);r.descriptor.lct.interlaced&&(a=(0,hl.deinterlace)(a,r.descriptor.width));var o={pixels:a,dims:{top:e.image.descriptor.top,left:e.image.descriptor.left,width:e.image.descriptor.width,height:e.image.descriptor.height}};return r.descriptor.lct&&r.descriptor.lct.exists?o.colorTable=r.lct:o.colorTable=t,e.gce&&(o.delay=10*(e.gce.delay||10),o.disposalType=e.gce.extras.disposal,e.gce.extras.transparentColorGiven&&(o.transparentIndex=e.gce.transparentColorIndex)),n&&(o.patch=hc(o)),o};function hd(e,t,n){let r=t.getContext("2d"),i=n.getContext("2d");if(!r||!i)return;2===e.disposalType&&r.clearRect(0,0,t.width,t.height),n.width=e.width,n.height=e.height;let a=i.createImageData(e.width,e.height);a.data.set(e.patch),i.putImageData(a,0,0),r.drawImage(n,e.left,e.top)}hr.decompressFrame=hu,hr.decompressFrames=function(e,t){return e.frames.filter(function(e){return e.image}).map(function(n){return hu(n,e.gct,t)})};let hh=F(({element:e})=>{let t=Math.min(30,e.width/4,e.height/4),n=y(_).useRef(null);y(_).useEffect(()=>{let e=n.current;if(!e)return;let t=new nA.Animation(t=>{e.rotate((t?.timeDiff||0)/2)},e.getLayer());return t.start(),()=>{t.stop()}},[]);let{mediaLoadingStyle:r}=r5();return(0,k.jsxs)(rI,{x:e.a.x,y:e.a.y,rotation:e.a.rotation,listening:!1,opacity:e.a.opacity,hideInExport:!e.showInExport,children:[(0,k.jsx)(rM,{width:e.width,height:e.height,fill:r.fill}),(0,k.jsx)("Arc",{ref:n,x:e.width/2,y:e.height/2,fill:r.textFill,outerRadius:Math.abs(t),innerRadius:Math.max(1,t-5),angle:270})]})}),hf=F(({element:e})=>{let{mediaErrorStyle:t}=r5(),n="Cannot load the GIF...",r=Math.max(10,Math.min(30,e.width/n.length));return(0,k.jsxs)(rI,{x:e.a.x,y:e.a.y,rotation:e.a.rotation,listening:!1,opacity:e.a.opacity,hideInExport:!e.showInExport,children:[(0,k.jsx)(rM,{width:e.width,height:e.height,fill:t.fill}),(0,k.jsx)(rN,{text:n,fontSize:r,width:e.width,height:e.height,align:"center",fill:t.textFill,verticalAlign:"middle",padding:5})]})}),hp=F(({element:e,store:t})=>{let[n,r]=y(_).useState(!1),i=e.isSelected,a=y(_).useRef(null),o=y(_).useRef(),[l,s,c,u]=function(e){let[t,n]=y(_).useState([]),[r,i]=y(_).useState(0),[a,o]=y(_).useState("loading"),[l,s]=y(_).useState({width:0,height:0});return y(_).useEffect(()=>{(async()=>{try{let t=await fetch(e),r=await t.arrayBuffer(),a=(0,hr.parseGIF)(r),l=(0,hr.decompressFrames)(a,!0),c=a.lsd.width,u=a.lsd.height;s({width:c,height:u});let d=l.map(e=>({patch:new Uint8ClampedArray(e.patch),delay:e.delay,width:e.dims.width,height:e.dims.height,left:e.dims.left,top:e.dims.top,disposalType:e.disposalType})),h=d.reduce((e,t)=>e+t.delay,0);n(d),i(h),o("loaded")}catch(e){console.error("Failed to load GIF:",e),o("failed")}})()},[e]),[t,r,l,a]}(e.src);oa(u,e.src,e.id),y(_).useEffect(()=>(o.current=document.createElement("canvas"),()=>{o.current&&nA.Util.releaseCanvas(o.current)}),[]),y(_).useEffect(()=>{if("loaded"===u&&o.current&&(o.current.width=c.width,o.current.height=c.height,l.length>0)){let e=o.current.getContext("2d");if(e){e.clearRect(0,0,c.width,c.height);let t=document.createElement("canvas");hd(l[0],o.current,t)}}},[c,u,l]),y(_).useEffect(()=>{if(!l.length||!o.current)return;let n=o.current;n.width=c.width,n.height=c.height;let r=document.createElement("canvas"),i=n.getContext("2d");i&&i.clearRect(0,0,n.width,n.height);let u=-1;hd(l[0],n,r),v(),u=0;let d=e=>{let t=(e=>{let t=e%s,n=0;for(let e=0;e<l.length;e++)if((n+=l[e].delay)>t)return e;return 0})(e);t!==u&&(hd(l[t],n,r),v(),a.current.getLayer().draw(),u=t)};if(t.isPlaying||e.page._exportingOrRendering)return(0,P.autorun)(()=>{d(t.currentTime-e.page.startTime)});{let e=window.setInterval(()=>{d(t.currentTime||performance.now())},16);return()=>{clearInterval(e)}}},[t.isPlaying,l,s,e.page._exportingOrRendering]),y(_).useEffect(()=>{s&&t.history.ignore(()=>{e.set({duration:s})})},[s]);let{cropX:d,cropY:h,cropWidth:f,cropHeight:p}=e;"loaded"!==u&&(d=h=0,f=p=1);let g={x:c.width*d,y:c.height*h,width:c.width*f,height:c.height*p},m=e.cornerRadius??0,[b,v]=dJ(e,o.current,g,t._elementsPixelRatio,m,n||e._cropModeEnabled);y(_).useLayoutEffect(()=>{if(!n&&!e._cropModeEnabled&&a.current)return ak(a.current,e),(0,P.autorun)(()=>{ak(a.current,e)},{delay:100})},[o.current,n,f,p,e._cropModeEnabled,c.width,c.height]);let x="loading"===u,w="failed"===u,C=x||w?0:e.a.opacity;iP(a,C);let S=e.selectable||"admin"===t.role,E=aE();return(0,k.jsxs)(k.Fragment,{children:[x&&(0,k.jsx)(hh,{element:e}),w&&(0,k.jsx)(hf,{element:e}),(0,k.jsx)(rj,{ref:a,name:"element",id:e.id,image:b,x:e.a.x,y:e.a.y,width:e.a.width||1,height:e.a.height||1,rotation:e.a.rotation,opacity:C,shadowEnabled:e.shadowEnabled,shadowBlur:e.shadowBlur,shadowOffsetX:e.shadowOffsetX,shadowOffsetY:e.shadowOffsetY,shadowColor:e.shadowColor,shadowOpacity:e.shadowOpacity,customCrop:g,listening:S,draggable:E?e.draggable&&i:e.draggable,preventDefault:!E||i,hideInExport:!e.showInExport,onDragMove:t=>{e.set({x:t.target.x(),y:t.target.y()})},onDragEnd:t=>{e.set({x:t.target.x(),y:t.target.y()})},onTransformStart:()=>r(!0),onTransform:t=>{let n=t.currentTarget,r=1e-7>Math.abs(n.scaleX()-1)?1:n.scaleX(),i=1e-7>Math.abs(n.scaleY()-1)?1:n.scaleY();n.scaleX(1),n.scaleY(1),e.set({x:n.x(),y:n.y(),width:n.width()*r,height:n.height()*i,rotation:n.rotation()})},onTransformEnd:()=>r(!1)}),(0,k.jsx)(rM,{x:e.a.x,y:e.a.y,width:Math.max(e.a.width-e.borderSize,0),height:Math.max(e.a.height-e.borderSize,0),opacity:C,offsetX:-e.borderSize/2,offsetY:-e.borderSize/2,stroke:e.borderColor,strokeWidth:e.borderSize,listening:!1,visible:!!e.borderSize,rotation:e.rotation,cornerRadius:Math.max(0,m-e.borderSize),hideInExport:!e.showInExport})]})});var _=C("8NFma"),P=C("2SBKn");let hg=F(({element:e,store:t})=>{let n=y(_).useRef(null),r=y(_).useRef(null),i=e.selectable||"admin"===t.role,a=aE(),o=e.isSelected,l=e._focusedCellIds.length>0,s=e.editingCell;y(_).useEffect(()=>{o||e.clearCellFocus()},[o]);let c=s?._editModeEnabled;y(_).useEffect(()=>{e._editingCellId&&s&&!s._editModeEnabled&&e.exitCellEdit()},[c]),y(_).useEffect(()=>{l&&!e._editingCellId&&setTimeout(()=>r.current?.focus(),0)},[l,e._editingCellId]),y(_).useEffect(()=>(0,P.autorun)(()=>{e._fitRowsToContent&&t.history.ignore(()=>{e._applyFitRowsToContent()})}),[e,t]);let u=t=>{let r=t.target.getStage();if(!r)return;let i=r.getPointerPosition();if(!i)return;let a=n.current;if(!a)return;let o=a.getAbsoluteTransform().copy().invert().point(i);for(let t of e.visibleCells){let n=e.getCellRect(t.row,t.col,t.rowSpan,t.colSpan);if(o.x>=n.x&&o.x<=n.x+n.width&&o.y>=n.y&&o.y<=n.y+n.height)return t}},d=(e,t)=>"dashed"===e?[4*t,2*t]:"dotted"===e?[t,t]:void 0,h=[];for(let t of e.visibleCells){let n=e.getCellRect(t.row,t.col,t.rowSpan,t.colSpan);if(0===t.row){let e=t.getEffectiveBorder("top");"none"!==e.style&&e.width>0&&h.push((0,k.jsx)(rL,{points:[n.x,n.y+e.width/2,n.x+n.width,n.y+e.width/2],stroke:e.color,strokeWidth:e.width,dash:d(e.style,e.width),listening:!1},`bt-${t.id}`))}if(0===t.col){let e=t.getEffectiveBorder("left");"none"!==e.style&&e.width>0&&h.push((0,k.jsx)(rL,{points:[n.x+e.width/2,n.y,n.x+e.width/2,n.y+n.height],stroke:e.color,strokeWidth:e.width,dash:d(e.style,e.width),listening:!1},`bl-${t.id}`))}{let e=t.getEffectiveBorder("bottom");"none"!==e.style&&e.width>0&&h.push((0,k.jsx)(rL,{points:[n.x,n.y+n.height-e.width/2,n.x+n.width,n.y+n.height-e.width/2],stroke:e.color,strokeWidth:e.width,dash:d(e.style,e.width),listening:!1},`bb-${t.id}`))}{let e=t.getEffectiveBorder("right");"none"!==e.style&&e.width>0&&h.push((0,k.jsx)(rL,{points:[n.x+n.width-e.width/2,n.y,n.x+n.width-e.width/2,n.y+n.height],stroke:e.color,strokeWidth:e.width,dash:d(e.style,e.width),listening:!1},`br-${t.id}`))}}return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(rM,{id:e.id,name:"element",x:e.a.x,y:e.a.y,rotation:e.a.rotation,width:e.a.width,height:e.a.height,fill:"transparent",opacity:e.a.opacity,hideInExport:!e.showInExport,listening:i,draggable:a?e.draggable&&o:e.draggable,onClick:t=>{if(!o||e.locked||!e.contentEditable)return;let n=u(t);n&&(t.evt.shiftKey&&l?(t.cancelBubble=!0,e.focusCellRange(n.row,n.col)):e.focusCell(n.id))},onDblClick:t=>{if(!o||e.locked||!e.contentEditable)return;let n=u(t);n&&e.enterCellEdit(n.id)},onDragMove:t=>{let r=t.target;e.set({x:r.x(),y:r.y()}),n.current?.position({x:r.x(),y:r.y()})},onDragEnd:t=>{let n=t.target;e.set({x:n.x(),y:n.y()})},onTransformStart:()=>{e._setIsTransforming(!0)},onTransformEnd:()=>{e._setIsTransforming(!1),e._resetBaseRowHeights()},onTransform:t=>{let r=t.target,i=r.scaleX(),a=r.scaleY();r.scaleX(1),r.scaleY(1);let o=e.width*i,l=e.height*a;r.width(o),r.height(l);let s=r.x(),c=r.y(),u=r.rotation();n.current?.position({x:s,y:c}),n.current?.rotation(u),e.set({width:o,height:l,x:s,y:c,rotation:u})}}),(0,k.jsxs)(rI,{ref:n,x:e.a.x,y:e.a.y,rotation:e.a.rotation,opacity:e.a.opacity,hideInExport:!e.showInExport,scaleX:e.a.width/e.width,scaleY:e.a.height/e.height,children:[e.visibleCells.map(t=>{let n=e.getCellRect(t.row,t.col,t.rowSpan,t.colSpan);return"transparent"===t.cellBackground?null:(0,k.jsx)(rM,{x:n.x,y:n.y,width:n.width,height:n.height,fill:t.cellBackground,listening:!1},`bg-${t.id}`)}),h,e.visibleCells.map(e=>(0,k.jsx)(az,{element:e,store:t},`text-${e.id}`)),e._focusedCellIds.map(t=>{let n=e.cells.find(e=>e.id===t);if(!n)return null;let r=e.getCellRect(n.row,n.col,n.rowSpan,n.colSpan);return(0,k.jsx)(rM,{x:r.x,y:r.y,width:r.width,height:r.height,fill:"rgba(13, 131, 221, 0.1)",stroke:"#0d83dd",strokeWidth:2,listening:!1},`focus-${t}`)}),l&&!s&&(0,k.jsx)(ic,{children:(0,k.jsx)("input",{ref:r,style:{position:"absolute",opacity:0,width:"1px",height:"1px",pointerEvents:"none"},readOnly:!0})}),o&&!s&&!t.isPlaying&&(()=>{let n=[],r=0;for(let i=0;i<e.cols-1;i++){let a=r+=e.colWidths[i]*e.a.width,o=i;n.push((0,k.jsx)(rL,{x:a,points:[0,0,0,e.a.height],stroke:"transparent",strokeWidth:1,hitStrokeWidth:16,draggable:!0,onMouseEnter:e=>{let t=e.target.getStage()?.container();t&&(t.style.cursor="col-resize")},onMouseLeave:e=>{let t=e.target.getStage()?.container();t&&(t.style.cursor="")},onDragStart:e=>{e.cancelBubble=!0,t.history.startTransaction()},onDragMove:t=>{t.cancelBubble=!0;let n=t.target,r=(n.x()-a)/e.width;n.x(a),e.resizeColumn(o,r)},onDragEnd:e=>{e.cancelBubble=!0,e.target.x(a),t.history.endTransaction()}},`col-resize-${i}`))}return n})(),o&&!s&&!t.isPlaying&&(()=>{let n=[],r=0;for(let i=0;i<e.rows-1;i++){let a=r+=e.rowHeights[i]*e.a.height,o=i;n.push((0,k.jsx)(rL,{y:a,points:[0,0,e.a.width,0],stroke:"transparent",strokeWidth:1,hitStrokeWidth:16,draggable:!0,onMouseEnter:e=>{let t=e.target.getStage()?.container();t&&(t.style.cursor="row-resize")},onMouseLeave:e=>{let t=e.target.getStage()?.container();t&&(t.style.cursor="")},onDragStart:n=>{n.cancelBubble=!0,e._setIsResizingRows(!0),t.history.startTransaction()},onDragMove:t=>{t.cancelBubble=!0;let n=t.target,r=(n.y()-a)/e.height;n.y(a),e.resizeRow(o,r)},onDragEnd:n=>{n.cancelBubble=!0,n.target.y(a),e._setIsResizingRows(!1),e._resetBaseRowHeights(),t.history.endTransaction()}},`row-resize-${i}`))}return n})()]})]})});C("8NFma");let hm=F(({element:e})=>{let{highlighterStyle:t}=r5();return(0,k.jsx)(rM,{name:"highlighter",x:e.a.x,y:e.a.y,rotation:e.a.rotation,width:e.a.width,height:e.a.height,listening:!1,strokeScaleEnabled:!1,...t})});var aT=C("58B0H");let hy=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((e,t)=>((t&=63)<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");var aT=(C("58B0H"),C("58B0H"),C("58B0H"));let hb=function(e,t){if(e===t)return!0;if("object"!=typeof e||null==e||"object"!=typeof t||null==t||Object.keys(e).length!=Object.keys(t).length)return!1;for(var n in e)if(!t.hasOwnProperty(n))return!1;else if(!hb(e[n],t[n]))return!1;return!0};Object.assign(aT.types);let hv=aT.types.model("UndoManager",{history:aT.types.array(aT.types.frozen()),undoIdx:-1,targetPath:""}).views(e=>({get canUndo(){return e.undoIdx>0},get canRedo(){return e.undoIdx<e.history.length-1}})).actions(e=>{let t,n,r=!1,i=null,a=0,o=0;function l(){let e=(0,aT.getSnapshot)(t);return{pages:e.pages,width:e.width,height:e.height,custom:e.custom,audios:e.audios}}function s(e){let n=!hb(t.pages.map(e=>e.id),e.pages.map(e=>e.id)),r=!hb(t.custom,e.custom);n?(0,aT.applySnapshot)(t.pages,e.pages):t.pages.forEach((t,n)=>{(0,aT.applySnapshot)(t,e.pages[n])}),r&&t.set({custom:e.custom}),t.setSize(e.width,e.height)}let c={startTransaction(){o++},endTransaction(e){o--,e||c.requestAddState(l())},async ignore(e,t=!1,n=!1){n&&await new Promise(e=>setTimeout(e,10));let r=!!a;a&&c.addUndoState();let i=o>0;c.startTransaction();let l=o;try{await e()}catch(e){setTimeout(()=>{throw e})}let s=l!==o;c.endTransaction(!s),t||i&&!r||c.replaceState(),s||(clearTimeout(a),a=0)},async transaction(e){await c.ignore(e,!0),c.addUndoState()},requestAddState(e){if((i=e,!a)&&!(o>0)){if(r){r=!1;return}a=setTimeout(()=>{clearTimeout(a=0),o>0||c.addUndoState()},100)}},addUndoState(){if(r){r=!1;return}let t=e.history[e.undoIdx];hb(i,t)||(clearTimeout(a),a=0,e.history.splice(e.undoIdx+1),e.history.push(i),e.undoIdx=e.history.length-1)},afterCreate(){if(!(t=(0,aT.resolvePath)(e,"..")))throw Error("Failed to find target store for UndoManager. Please provide `targetPath` property, or a `targetStore` in the environment");n=(0,aT.onSnapshot)(t,()=>{c.requestAddState(l())}),0===e.history.length&&c.requestAddState(l())},clear(){clearTimeout(a),a=0,e.history.splice(0,e.history.length),e.undoIdx=-1,c.addUndoState()},beforeDestroy(){n()},undo(){(a&&c.addUndoState(),o>0)?s(e.history[e.undoIdx]):e.canUndo?(e.undoIdx--,r=!0,s(e.history[e.undoIdx])):console.warn("No undo history. Please check `store.history.canUndo` before calling undo action.")},redo(){(a&&c.addUndoState(),e.canRedo)?(e.undoIdx++,r=!0,s(e.history[e.undoIdx])):console.warn("No redo history. Please check `store.history.canRedo` before calling redo action.")},replaceState(){e.history[e.undoIdx]=l()}};return c});var P=C("2SBKn");async function hx(e,t){let n=await (await fetch(e)).blob(),r=document.createElement("a"),i=URL.createObjectURL(n);r.href=i,r.download=t,document.body.appendChild(r),r.click(),setTimeout(function(){document.body.removeChild(r),window.URL.revokeObjectURL(i)},0)}let hw=null;async function hC({width:e,height:t}){return new(await (window.GIF?Promise.resolve(window.GIF):new Promise(e=>{var t=document.createElement("script");t.onload=function(){e(window.GIF)},t.src="https://cdnjs.cloudflare.com/ajax/libs/gif.js/0.2.0/gif.js",document.head.appendChild(t)})))({workers:4,width:e,height:t,workerScript:URL.createObjectURL(new Blob([`// gif.worker.js 0.2.0 - https://github.com/jnordberg/gif.js
|
|
250
|
+
`}(e,n):(console.error(`Polotno error: Can not convert ${e.subType} figure to svg.`),d5(e))}let ht={},hn=F(({element:e,store:t})=>{var n;let r,i=y(_).useRef(null),a=e.selectable||"admin"===t.role,o=aE(),l=e.isSelected,s=Math.min(e.strokeWidth,e.width/2,e.height/2),c=Math.max(0,Math.min(e.width/2,e.height/2,e.cornerRadius)),u=i_(e,e.a.fill,"fill"),d={width:e.a.width,height:e.a.height,...u,cornerRadius:c,opacity:e.animated("opacity"),shadowEnabled:e.shadowEnabled,shadowBlur:e.shadowBlur,shadowOffsetX:e.shadowOffsetX,shadowOffsetY:e.shadowOffsetY,shadowColor:e.shadowColor,shadowOpacity:e.shadowOpacity,preventDefault:!o||l,hideInExport:!e.showInExport},h=i_(e,e.stroke,"stroke"),f={visible:s>0,x:s/2,y:s/2,width:e.a.width-s,height:e.a.height-s,...h,strokeWidth:s,cornerRadius:Math.max(0,c-s),dash:e.dash.map(e=>e*s),opacity:e.animated("opacity"),hideInExport:!e.showInExport,listening:!1},p=Math.max(0,10-Math.min(e.a.width,e.a.height)),g=(ht[n=e.subType]||(ht[n]=(r=d7[n]||d5,F(({element:e,fillProps:t,strokeProps:n,hitStrokeWidth:i})=>{let a=r({width:e.a.width,height:e.a.height,cornerRadius:e.cornerRadius}),o=1,l=1;"string"!=typeof a&&(o=a.scaleX,l=a.scaleY,a=a.path);let s=y(_).useRef(null);return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(rM,{width:e.a.width,height:e.a.height,fill:"transparent",hitStrokeWidth:i}),(0,k.jsx)(rD,{...t,ref:s,data:a,scaleX:o,scaleY:l}),(0,k.jsx)(rI,{clipFunc:e=>{let t=s.current;if(t){var n=t.dataArray;e.beginPath();for(var r=0;r<n.length;r++){var i=n[r].command,a=n[r].points;switch(i){case"L":e.lineTo(a[0],a[1]);break;case"M":e.moveTo(a[0],a[1]);break;case"C":e.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"Q":e.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case"A":var o=a[0],l=a[1],c=a[2],u=a[3],d=a[4],h=a[5],f=a[6],p=a[7],g=c>u?c:u,m=c>u?1:c/u,y=c>u?u/c:1;e.translate(o,l),e.rotate(f),e.scale(m,y),e.arc(0,0,g,d,d+h,!p),e.scale(1/m,1/y),e.rotate(-f),e.translate(-o,-l);break;case"z":e.closePath()}}}},scaleX:o,scaleY:l,children:(0,k.jsx)(rD,{...n,x:0,y:0,data:a,strokeWidth:2*n.strokeWidth,dash:n.dash.map(e=>e)})})]})}))),ht[n]||rI);return(0,k.jsx)(k.Fragment,{children:(0,k.jsx)(rI,{ref:i,id:e.id,x:e.a.x,y:e.a.y,rotation:e.a.rotation,opacity:e.a.opacity,listening:a,draggable:o?e.draggable&&l:e.draggable,name:"element",onDragMove:t=>{e.set({x:t.target.x(),y:t.target.y()})},onDragEnd:t=>{e.set({x:t.target.x(),y:t.target.y()})},onTransform:t=>{let n=t.target.scale();t.target.scaleX(1),t.target.scaleY(1),e.set({width:e.width*n.x,height:e.height*n.y,x:t.target.x(),y:t.target.y(),rotation:t.target.rotation()})},children:(0,k.jsx)(g,{element:e,fillProps:d,strokeProps:f,hitStrokeWidth:p})})})});var _=C("8NFma"),P=C("2SBKn"),hr={};Object.defineProperty(hr,"__esModule",{value:!0}),hr.decompressFrames=hr.decompressFrame=hr.parseGIF=void 0;var hi=(Do=C("e0MPM"))&&Do.__esModule?Do:{default:Do},ha=C("lc6Vt"),ho=C("kPDMU"),hl={};Object.defineProperty(hl,"__esModule",{value:!0}),hl.deinterlace=void 0,hl.deinterlace=function(e,t){for(var n=Array(e.length),r=e.length/t,i=[0,4,2,1],a=[8,8,4,2],o=0,l=0;l<4;l++)for(var s=i[l];s<r;s+=a[l])!function(r,i){var a=e.slice(i*t,(i+1)*t);n.splice.apply(n,[r*t,t].concat(a))}(s,o),o++;return n};var hs={};Object.defineProperty(hs,"__esModule",{value:!0}),hs.lzw=void 0,hs.lzw=function(e,t,n){var r,i,a,o,l,s,c,u,d,h,f,p,g,m,y,b=Array(n),v=Array(4096),x=Array(4096),w=Array(4097);for(u=0,l=(i=1<<e)+1,r=i+2,c=-1,a=(1<<(o=e+1))-1;u<i;u++)v[u]=0,x[u]=u;for(d=0,h=f=p=g=m=y=0;d<n;){if(0===g){if(f<o){h+=t[y]<<f,f+=8,y++;continue}if(u=h&a,h>>=o,f-=o,u>r||u==l)break;if(u==i){a=(1<<(o=e+1))-1,r=i+2,c=-1;continue}if(-1==c){w[g++]=x[u],c=u,p=u;continue}for(s=u,u==r&&(w[g++]=p,u=c);u>i;)w[g++]=x[u],u=v[u];p=255&x[u],w[g++]=p,r<4096&&(v[r]=c,x[r]=p,(++r&a)==0&&r<4096&&(o++,a+=r)),c=s}g--,b[m++]=w[g],d++}for(d=m;d<n;d++)b[d]=0;return b},hr.parseGIF=function(e){var t=new Uint8Array(e);return(0,ha.parse)((0,ho.buildStream)(t),hi.default)};var hc=function(e){for(var t=e.pixels.length,n=new Uint8ClampedArray(4*t),r=0;r<t;r++){var i=4*r,a=e.pixels[r],o=e.colorTable[a]||[0,0,0];n[i]=o[0],n[i+1]=o[1],n[i+2]=o[2],n[i+3]=255*(a!==e.transparentIndex)}return n},hu=function(e,t,n){if(!e.image)return void console.warn("gif frame does not have associated image.");var r=e.image,i=r.descriptor.width*r.descriptor.height,a=(0,hs.lzw)(r.data.minCodeSize,r.data.blocks,i);r.descriptor.lct.interlaced&&(a=(0,hl.deinterlace)(a,r.descriptor.width));var o={pixels:a,dims:{top:e.image.descriptor.top,left:e.image.descriptor.left,width:e.image.descriptor.width,height:e.image.descriptor.height}};return r.descriptor.lct&&r.descriptor.lct.exists?o.colorTable=r.lct:o.colorTable=t,e.gce&&(o.delay=10*(e.gce.delay||10),o.disposalType=e.gce.extras.disposal,e.gce.extras.transparentColorGiven&&(o.transparentIndex=e.gce.transparentColorIndex)),n&&(o.patch=hc(o)),o};function hd(e,t,n){let r=t.getContext("2d"),i=n.getContext("2d");if(!r||!i)return;2===e.disposalType&&r.clearRect(0,0,t.width,t.height),n.width=e.width,n.height=e.height;let a=i.createImageData(e.width,e.height);a.data.set(e.patch),i.putImageData(a,0,0),r.drawImage(n,e.left,e.top)}hr.decompressFrame=hu,hr.decompressFrames=function(e,t){return e.frames.filter(function(e){return e.image}).map(function(n){return hu(n,e.gct,t)})};let hh=F(({element:e})=>{let t=Math.min(30,e.width/4,e.height/4),n=y(_).useRef(null);y(_).useEffect(()=>{let e=n.current;if(!e)return;let t=new nA.Animation(t=>{e.rotate((t?.timeDiff||0)/2)},e.getLayer());return t.start(),()=>{t.stop()}},[]);let{mediaLoadingStyle:r}=r5();return(0,k.jsxs)(rI,{x:e.a.x,y:e.a.y,rotation:e.a.rotation,listening:!1,opacity:e.a.opacity,hideInExport:!e.showInExport,children:[(0,k.jsx)(rM,{width:e.width,height:e.height,fill:r.fill}),(0,k.jsx)("Arc",{ref:n,x:e.width/2,y:e.height/2,fill:r.textFill,outerRadius:Math.abs(t),innerRadius:Math.max(1,t-5),angle:270})]})}),hf=F(({element:e})=>{let{mediaErrorStyle:t}=r5(),n="Cannot load the GIF...",r=Math.max(10,Math.min(30,e.width/n.length));return(0,k.jsxs)(rI,{x:e.a.x,y:e.a.y,rotation:e.a.rotation,listening:!1,opacity:e.a.opacity,hideInExport:!e.showInExport,children:[(0,k.jsx)(rM,{width:e.width,height:e.height,fill:t.fill}),(0,k.jsx)(rN,{text:n,fontSize:r,width:e.width,height:e.height,align:"center",fill:t.textFill,verticalAlign:"middle",padding:5})]})}),hp=F(({element:e,store:t})=>{let[n,r]=y(_).useState(!1),i=e.isSelected,a=y(_).useRef(null),o=y(_).useRef(),[l,s,c,u]=function(e){let[t,n]=y(_).useState([]),[r,i]=y(_).useState(0),[a,o]=y(_).useState("loading"),[l,s]=y(_).useState({width:0,height:0});return y(_).useEffect(()=>{(async()=>{try{let t=await fetch(e),r=await t.arrayBuffer(),a=(0,hr.parseGIF)(r),l=(0,hr.decompressFrames)(a,!0),c=a.lsd.width,u=a.lsd.height;s({width:c,height:u});let d=l.map(e=>({patch:new Uint8ClampedArray(e.patch),delay:e.delay,width:e.dims.width,height:e.dims.height,left:e.dims.left,top:e.dims.top,disposalType:e.disposalType})),h=d.reduce((e,t)=>e+t.delay,0);n(d),i(h),o("loaded")}catch(e){console.error("Failed to load GIF:",e),o("failed")}})()},[e]),[t,r,l,a]}(e.src);oa(u,e.src,e.id),y(_).useEffect(()=>(o.current=document.createElement("canvas"),()=>{o.current&&nA.Util.releaseCanvas(o.current)}),[]),y(_).useEffect(()=>{if("loaded"===u&&o.current&&(o.current.width=c.width,o.current.height=c.height,l.length>0)){let e=o.current.getContext("2d");if(e){e.clearRect(0,0,c.width,c.height);let t=document.createElement("canvas");hd(l[0],o.current,t)}}},[c,u,l]),y(_).useEffect(()=>{if(!l.length||!o.current)return;let n=o.current;n.width=c.width,n.height=c.height;let r=document.createElement("canvas"),i=n.getContext("2d");i&&i.clearRect(0,0,n.width,n.height);let u=-1;hd(l[0],n,r),v(),u=0;let d=e=>{let t=(e=>{let t=e%s,n=0;for(let e=0;e<l.length;e++)if((n+=l[e].delay)>t)return e;return 0})(e);t!==u&&(hd(l[t],n,r),v(),a.current.getLayer().draw(),u=t)};if(t.isPlaying||e.page._exportingOrRendering)return(0,P.autorun)(()=>{d(t.currentTime-e.page.startTime)});{let e=window.setInterval(()=>{d(t.currentTime||performance.now())},16);return()=>{clearInterval(e)}}},[t.isPlaying,l,s,e.page._exportingOrRendering]),y(_).useEffect(()=>{s&&t.history.ignore(()=>{e.set({duration:s})})},[s]);let{cropX:d,cropY:h,cropWidth:f,cropHeight:p}=e;"loaded"!==u&&(d=h=0,f=p=1);let g={x:c.width*d,y:c.height*h,width:c.width*f,height:c.height*p},m=e.cornerRadius??0,[b,v]=dJ(e,o.current,g,t._elementsPixelRatio,m,n||e._cropModeEnabled);y(_).useLayoutEffect(()=>{if(!n&&!e._cropModeEnabled&&a.current)return ak(a.current,e),(0,P.autorun)(()=>{ak(a.current,e)},{delay:100})},[o.current,n,f,p,e._cropModeEnabled,c.width,c.height]);let x="loading"===u,w="failed"===u,C=x||w?0:e.a.opacity;iP(a,C);let S=e.selectable||"admin"===t.role,E=aE();return(0,k.jsxs)(k.Fragment,{children:[x&&(0,k.jsx)(hh,{element:e}),w&&(0,k.jsx)(hf,{element:e}),(0,k.jsx)(rj,{ref:a,name:"element",id:e.id,image:b,x:e.a.x,y:e.a.y,width:e.a.width||1,height:e.a.height||1,rotation:e.a.rotation,opacity:C,shadowEnabled:e.shadowEnabled,shadowBlur:e.shadowBlur,shadowOffsetX:e.shadowOffsetX,shadowOffsetY:e.shadowOffsetY,shadowColor:e.shadowColor,shadowOpacity:e.shadowOpacity,customCrop:g,listening:S,draggable:E?e.draggable&&i:e.draggable,preventDefault:!E||i,hideInExport:!e.showInExport,onDragMove:t=>{e.set({x:t.target.x(),y:t.target.y()})},onDragEnd:t=>{e.set({x:t.target.x(),y:t.target.y()})},onTransformStart:()=>r(!0),onTransform:t=>{let n=t.currentTarget,r=1e-7>Math.abs(n.scaleX()-1)?1:n.scaleX(),i=1e-7>Math.abs(n.scaleY()-1)?1:n.scaleY();n.scaleX(1),n.scaleY(1),e.set({x:n.x(),y:n.y(),width:n.width()*r,height:n.height()*i,rotation:n.rotation()})},onTransformEnd:()=>r(!1)}),(0,k.jsx)(rM,{x:e.a.x,y:e.a.y,width:Math.max(e.a.width-e.borderSize,0),height:Math.max(e.a.height-e.borderSize,0),opacity:C,offsetX:-e.borderSize/2,offsetY:-e.borderSize/2,stroke:e.borderColor,strokeWidth:e.borderSize,listening:!1,visible:!!e.borderSize,rotation:e.rotation,cornerRadius:Math.max(0,m-e.borderSize),hideInExport:!e.showInExport})]})});var _=C("8NFma"),P=C("2SBKn");let hg=F(({element:e,store:t})=>{let n=y(_).useRef(null),r=y(_).useRef(null),i=e.selectable||"admin"===t.role,a=aE(),o=e.isSelected,l=e._focusedCellIds.length>0,s=e.editingCell;y(_).useEffect(()=>{o||e.clearCellFocus()},[o]);let c=s?._editModeEnabled;y(_).useEffect(()=>{e._editingCellId&&s&&!s._editModeEnabled&&e.exitCellEdit()},[c]),y(_).useEffect(()=>{l&&!e._editingCellId&&setTimeout(()=>r.current?.focus(),0)},[l,e._editingCellId]);let u=y(_).useMemo(()=>P.observable.box(!1),[]);y(_).useEffect(()=>(0,P.autorun)(()=>{u.get()||e._fitRowsToContent&&t.history.ignore(()=>{e._applyFitRowsToContent()})}),[e,t,u]);let d=t=>{let r=t.target.getStage();if(!r)return;let i=r.getPointerPosition();if(!i)return;let a=n.current;if(!a)return;let o=a.getAbsoluteTransform().copy().invert().point(i);for(let t of e.visibleCells){let n=e.getCellRect(t.row,t.col,t.rowSpan,t.colSpan);if(o.x>=n.x&&o.x<=n.x+n.width&&o.y>=n.y&&o.y<=n.y+n.height)return t}},h=(e,t)=>"dashed"===e?[4*t,2*t]:"dotted"===e?[t,t]:void 0,f=[];for(let t of e.visibleCells){let n=e.getCellRect(t.row,t.col,t.rowSpan,t.colSpan);if(0===t.row){let e=t.getEffectiveBorder("top");"none"!==e.style&&e.width>0&&f.push((0,k.jsx)(rL,{points:[n.x,n.y+e.width/2,n.x+n.width,n.y+e.width/2],stroke:e.color,strokeWidth:e.width,dash:h(e.style,e.width),listening:!1},`bt-${t.id}`))}if(0===t.col){let e=t.getEffectiveBorder("left");"none"!==e.style&&e.width>0&&f.push((0,k.jsx)(rL,{points:[n.x+e.width/2,n.y,n.x+e.width/2,n.y+n.height],stroke:e.color,strokeWidth:e.width,dash:h(e.style,e.width),listening:!1},`bl-${t.id}`))}{let e=t.getEffectiveBorder("bottom");"none"!==e.style&&e.width>0&&f.push((0,k.jsx)(rL,{points:[n.x,n.y+n.height-e.width/2,n.x+n.width,n.y+n.height-e.width/2],stroke:e.color,strokeWidth:e.width,dash:h(e.style,e.width),listening:!1},`bb-${t.id}`))}{let e=t.getEffectiveBorder("right");"none"!==e.style&&e.width>0&&f.push((0,k.jsx)(rL,{points:[n.x+n.width-e.width/2,n.y,n.x+n.width-e.width/2,n.y+n.height],stroke:e.color,strokeWidth:e.width,dash:h(e.style,e.width),listening:!1},`br-${t.id}`))}}return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(rM,{id:e.id,name:"element",x:e.a.x,y:e.a.y,rotation:e.a.rotation,width:e.a.width,height:e.a.height,fill:"transparent",opacity:e.a.opacity,hideInExport:!e.showInExport,listening:i,draggable:a?e.draggable&&o:e.draggable,onClick:t=>{if(!o||e.locked||!e.contentEditable)return;let n=d(t);n&&(t.evt.shiftKey&&l?(t.cancelBubble=!0,e.focusCellRange(n.row,n.col)):e.focusCell(n.id))},onDblClick:t=>{if(!o||e.locked||!e.contentEditable)return;let n=d(t);n&&e.enterCellEdit(n.id)},onDragMove:t=>{let r=t.target;e.set({x:r.x(),y:r.y()}),n.current?.position({x:r.x(),y:r.y()})},onDragEnd:t=>{let n=t.target;e.set({x:n.x(),y:n.y()})},onTransformStart:()=>{(0,P.runInAction)(()=>u.set(!0))},onTransformEnd:()=>{e._resetBaseRowHeights(),(0,P.runInAction)(()=>u.set(!1))},onTransform:t=>{let r=t.target,i=r.scaleX(),a=r.scaleY();r.scaleX(1),r.scaleY(1);let o=e.width*i,l=e.height*a;r.width(o),r.height(l);let s=r.x(),c=r.y(),u=r.rotation();n.current?.position({x:s,y:c}),n.current?.rotation(u),e.set({width:o,x:s,y:c,rotation:u}),e.setHeightRedistribute(l)}}),(0,k.jsxs)(rI,{ref:n,x:e.a.x,y:e.a.y,rotation:e.a.rotation,opacity:e.a.opacity,hideInExport:!e.showInExport,scaleX:e.a.width/e.width,scaleY:e.a.height/e.height,children:[e.visibleCells.map(t=>{let n=e.getCellRect(t.row,t.col,t.rowSpan,t.colSpan);return"transparent"===t.cellBackground?null:(0,k.jsx)(rM,{x:n.x,y:n.y,width:n.width,height:n.height,fill:t.cellBackground,listening:!1},`bg-${t.id}`)}),f,e.visibleCells.map(e=>(0,k.jsx)(az,{element:e,store:t},`text-${e.id}`)),e._focusedCellIds.map(t=>{let n=e.cells.find(e=>e.id===t);if(!n)return null;let r=e.getCellRect(n.row,n.col,n.rowSpan,n.colSpan);return(0,k.jsx)(rM,{x:r.x,y:r.y,width:r.width,height:r.height,fill:"rgba(13, 131, 221, 0.1)",stroke:"#0d83dd",strokeWidth:2,listening:!1},`focus-${t}`)}),l&&!s&&(0,k.jsx)(ic,{children:(0,k.jsx)("input",{ref:r,style:{position:"absolute",opacity:0,width:"1px",height:"1px",pointerEvents:"none"},readOnly:!0})}),o&&!s&&!t.isPlaying&&(()=>{let n=[],r=0;for(let i=0;i<e.cols-1;i++){let a=r+=e.colWidths[i]*e.a.width,o=i;n.push((0,k.jsx)(rL,{x:a,points:[0,0,0,e.a.height],stroke:"transparent",strokeWidth:1,hitStrokeWidth:16,draggable:!0,onMouseEnter:e=>{let t=e.target.getStage()?.container();t&&(t.style.cursor="col-resize")},onMouseLeave:e=>{let t=e.target.getStage()?.container();t&&(t.style.cursor="")},onDragStart:e=>{e.cancelBubble=!0,t.history.startTransaction()},onDragMove:t=>{t.cancelBubble=!0;let n=t.target,r=(n.x()-a)/e.width;n.x(a),e.resizeColumn(o,r)},onDragEnd:e=>{e.cancelBubble=!0,e.target.x(a),t.history.endTransaction()}},`col-resize-${i}`))}return n})(),o&&!s&&!t.isPlaying&&(()=>{let n=[],r=0;for(let i=0;i<e.rows-1;i++){let a=r+=e.rowHeights[i]*e.a.height,o=i;n.push((0,k.jsx)(rL,{y:a,points:[0,0,e.a.width,0],stroke:"transparent",strokeWidth:1,hitStrokeWidth:16,draggable:!0,onMouseEnter:e=>{let t=e.target.getStage()?.container();t&&(t.style.cursor="row-resize")},onMouseLeave:e=>{let t=e.target.getStage()?.container();t&&(t.style.cursor="")},onDragStart:e=>{e.cancelBubble=!0,(0,P.runInAction)(()=>u.set(!0)),t.history.startTransaction()},onDragMove:t=>{t.cancelBubble=!0;let n=t.target,r=(n.y()-a)/e.height;n.y(a),e.resizeRow(o,r)},onDragEnd:n=>{n.cancelBubble=!0,n.target.y(a),e._resetBaseRowHeights(),(0,P.runInAction)(()=>u.set(!1)),t.history.endTransaction()}},`row-resize-${i}`))}return n})()]})]})});C("8NFma");let hm=F(({element:e})=>{let{highlighterStyle:t}=r5();return(0,k.jsx)(rM,{name:"highlighter",x:e.a.x,y:e.a.y,rotation:e.a.rotation,width:e.a.width,height:e.a.height,listening:!1,strokeScaleEnabled:!1,...t})});var aT=C("58B0H");let hy=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((e,t)=>((t&=63)<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");var aT=(C("58B0H"),C("58B0H"),C("58B0H"));let hb=function(e,t){if(e===t)return!0;if("object"!=typeof e||null==e||"object"!=typeof t||null==t||Object.keys(e).length!=Object.keys(t).length)return!1;for(var n in e)if(!t.hasOwnProperty(n))return!1;else if(!hb(e[n],t[n]))return!1;return!0};Object.assign(aT.types);let hv=aT.types.model("UndoManager",{history:aT.types.array(aT.types.frozen()),undoIdx:-1,targetPath:""}).views(e=>({get canUndo(){return e.undoIdx>0},get canRedo(){return e.undoIdx<e.history.length-1}})).actions(e=>{let t,n,r=!1,i=null,a=0,o=0;function l(){let e=(0,aT.getSnapshot)(t);return{pages:e.pages,width:e.width,height:e.height,custom:e.custom,audios:e.audios}}function s(e){let n=!hb(t.pages.map(e=>e.id),e.pages.map(e=>e.id)),r=!hb(t.custom,e.custom);n?(0,aT.applySnapshot)(t.pages,e.pages):t.pages.forEach((t,n)=>{(0,aT.applySnapshot)(t,e.pages[n])}),r&&t.set({custom:e.custom}),t.setSize(e.width,e.height)}let c={startTransaction(){o++},endTransaction(e){o--,e||c.requestAddState(l())},async ignore(e,t=!1,n=!1){n&&await new Promise(e=>setTimeout(e,10));let r=!!a;a&&c.addUndoState();let i=o>0;c.startTransaction();let l=o;try{await e()}catch(e){setTimeout(()=>{throw e})}let s=l!==o;c.endTransaction(!s),t||i&&!r||c.replaceState(),s||(clearTimeout(a),a=0)},async transaction(e){await c.ignore(e,!0),c.addUndoState()},requestAddState(e){if((i=e,!a)&&!(o>0)){if(r){r=!1;return}a=setTimeout(()=>{clearTimeout(a=0),o>0||c.addUndoState()},100)}},addUndoState(){if(r){r=!1;return}let t=e.history[e.undoIdx];hb(i,t)||(clearTimeout(a),a=0,e.history.splice(e.undoIdx+1),e.history.push(i),e.undoIdx=e.history.length-1)},afterCreate(){if(!(t=(0,aT.resolvePath)(e,"..")))throw Error("Failed to find target store for UndoManager. Please provide `targetPath` property, or a `targetStore` in the environment");n=(0,aT.onSnapshot)(t,()=>{c.requestAddState(l())}),0===e.history.length&&c.requestAddState(l())},clear(){clearTimeout(a),a=0,e.history.splice(0,e.history.length),e.undoIdx=-1,c.addUndoState()},beforeDestroy(){n()},undo(){(a&&c.addUndoState(),o>0)?s(e.history[e.undoIdx]):e.canUndo?(e.undoIdx--,r=!0,s(e.history[e.undoIdx])):console.warn("No undo history. Please check `store.history.canUndo` before calling undo action.")},redo(){(a&&c.addUndoState(),e.canRedo)?(e.undoIdx++,r=!0,s(e.history[e.undoIdx])):console.warn("No redo history. Please check `store.history.canRedo` before calling redo action.")},replaceState(){e.history[e.undoIdx]=l()}};return c});var P=C("2SBKn");async function hx(e,t){let n=await (await fetch(e)).blob(),r=document.createElement("a"),i=URL.createObjectURL(n);r.href=i,r.download=t,document.body.appendChild(r),r.click(),setTimeout(function(){document.body.removeChild(r),window.URL.revokeObjectURL(i)},0)}let hw=null;async function hC({width:e,height:t}){return new(await (window.GIF?Promise.resolve(window.GIF):new Promise(e=>{var t=document.createElement("script");t.onload=function(){e(window.GIF)},t.src="https://cdnjs.cloudflare.com/ajax/libs/gif.js/0.2.0/gif.js",document.head.appendChild(t)})))({workers:4,width:e,height:t,workerScript:URL.createObjectURL(new Blob([`// gif.worker.js 0.2.0 - https://github.com/jnordberg/gif.js
|
|
251
251
|
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){var NeuQuant=require("./TypedNeuQuant.js");var LZWEncoder=require("./LZWEncoder.js");function ByteArray(){this.page=-1;this.pages=[];this.newPage()}ByteArray.pageSize=4096;ByteArray.charMap={};for(var i=0;i<256;i++)ByteArray.charMap[i]=String.fromCharCode(i);ByteArray.prototype.newPage=function(){this.pages[++this.page]=new Uint8Array(ByteArray.pageSize);this.cursor=0};ByteArray.prototype.getData=function(){var rv="";for(var p=0;p<this.pages.length;p++){for(var i=0;i<ByteArray.pageSize;i++){rv+=ByteArray.charMap[this.pages[p][i]]}}return rv};ByteArray.prototype.writeByte=function(val){if(this.cursor>=ByteArray.pageSize)this.newPage();this.pages[this.page][this.cursor++]=val};ByteArray.prototype.writeUTFBytes=function(string){for(var l=string.length,i=0;i<l;i++)this.writeByte(string.charCodeAt(i))};ByteArray.prototype.writeBytes=function(array,offset,length){for(var l=length||array.length,i=offset||0;i<l;i++)this.writeByte(array[i])};function GIFEncoder(width,height){this.width=~~width;this.height=~~height;this.transparent=null;this.transIndex=0;this.repeat=-1;this.delay=0;this.image=null;this.pixels=null;this.indexedPixels=null;this.colorDepth=null;this.colorTab=null;this.neuQuant=null;this.usedEntry=new Array;this.palSize=7;this.dispose=-1;this.firstFrame=true;this.sample=10;this.dither=false;this.globalPalette=false;this.out=new ByteArray}GIFEncoder.prototype.setDelay=function(milliseconds){this.delay=Math.round(milliseconds/10)};GIFEncoder.prototype.setFrameRate=function(fps){this.delay=Math.round(100/fps)};GIFEncoder.prototype.setDispose=function(disposalCode){if(disposalCode>=0)this.dispose=disposalCode};GIFEncoder.prototype.setRepeat=function(repeat){this.repeat=repeat};GIFEncoder.prototype.setTransparent=function(color){this.transparent=color};GIFEncoder.prototype.addFrame=function(imageData){this.image=imageData;this.colorTab=this.globalPalette&&this.globalPalette.slice?this.globalPalette:null;this.getImagePixels();this.analyzePixels();if(this.globalPalette===true)this.globalPalette=this.colorTab;if(this.firstFrame){this.writeLSD();this.writePalette();if(this.repeat>=0){this.writeNetscapeExt()}}this.writeGraphicCtrlExt();this.writeImageDesc();if(!this.firstFrame&&!this.globalPalette)this.writePalette();this.writePixels();this.firstFrame=false};GIFEncoder.prototype.finish=function(){this.out.writeByte(59)};GIFEncoder.prototype.setQuality=function(quality){if(quality<1)quality=1;this.sample=quality};GIFEncoder.prototype.setDither=function(dither){if(dither===true)dither="FloydSteinberg";this.dither=dither};GIFEncoder.prototype.setGlobalPalette=function(palette){this.globalPalette=palette};GIFEncoder.prototype.getGlobalPalette=function(){return this.globalPalette&&this.globalPalette.slice&&this.globalPalette.slice(0)||this.globalPalette};GIFEncoder.prototype.writeHeader=function(){this.out.writeUTFBytes("GIF89a")};GIFEncoder.prototype.analyzePixels=function(){if(!this.colorTab){this.neuQuant=new NeuQuant(this.pixels,this.sample);this.neuQuant.buildColormap();this.colorTab=this.neuQuant.getColormap()}if(this.dither){this.ditherPixels(this.dither.replace("-serpentine",""),this.dither.match(/-serpentine/)!==null)}else{this.indexPixels()}this.pixels=null;this.colorDepth=8;this.palSize=7;if(this.transparent!==null){this.transIndex=this.findClosest(this.transparent,true)}};GIFEncoder.prototype.indexPixels=function(imgq){var nPix=this.pixels.length/3;this.indexedPixels=new Uint8Array(nPix);var k=0;for(var j=0;j<nPix;j++){var index=this.findClosestRGB(this.pixels[k++]&255,this.pixels[k++]&255,this.pixels[k++]&255);this.usedEntry[index]=true;this.indexedPixels[j]=index}};GIFEncoder.prototype.ditherPixels=function(kernel,serpentine){var kernels={FalseFloydSteinberg:[[3/8,1,0],[3/8,0,1],[2/8,1,1]],FloydSteinberg:[[7/16,1,0],[3/16,-1,1],[5/16,0,1],[1/16,1,1]],Stucki:[[8/42,1,0],[4/42,2,0],[2/42,-2,1],[4/42,-1,1],[8/42,0,1],[4/42,1,1],[2/42,2,1],[1/42,-2,2],[2/42,-1,2],[4/42,0,2],[2/42,1,2],[1/42,2,2]],Atkinson:[[1/8,1,0],[1/8,2,0],[1/8,-1,1],[1/8,0,1],[1/8,1,1],[1/8,0,2]]};if(!kernel||!kernels[kernel]){throw"Unknown dithering kernel: "+kernel}var ds=kernels[kernel];var index=0,height=this.height,width=this.width,data=this.pixels;var direction=serpentine?-1:1;this.indexedPixels=new Uint8Array(this.pixels.length/3);for(var y=0;y<height;y++){if(serpentine)direction=direction*-1;for(var x=direction==1?0:width-1,xend=direction==1?width:0;x!==xend;x+=direction){index=y*width+x;var idx=index*3;var r1=data[idx];var g1=data[idx+1];var b1=data[idx+2];idx=this.findClosestRGB(r1,g1,b1);this.usedEntry[idx]=true;this.indexedPixels[index]=idx;idx*=3;var r2=this.colorTab[idx];var g2=this.colorTab[idx+1];var b2=this.colorTab[idx+2];var er=r1-r2;var eg=g1-g2;var eb=b1-b2;for(var i=direction==1?0:ds.length-1,end=direction==1?ds.length:0;i!==end;i+=direction){var x1=ds[i][1];var y1=ds[i][2];if(x1+x>=0&&x1+x<width&&y1+y>=0&&y1+y<height){var d=ds[i][0];idx=index+x1+y1*width;idx*=3;data[idx]=Math.max(0,Math.min(255,data[idx]+er*d));data[idx+1]=Math.max(0,Math.min(255,data[idx+1]+eg*d));data[idx+2]=Math.max(0,Math.min(255,data[idx+2]+eb*d))}}}}};GIFEncoder.prototype.findClosest=function(c,used){return this.findClosestRGB((c&16711680)>>16,(c&65280)>>8,c&255,used)};GIFEncoder.prototype.findClosestRGB=function(r,g,b,used){if(this.colorTab===null)return-1;if(this.neuQuant&&!used){return this.neuQuant.lookupRGB(r,g,b)}var c=b|g<<8|r<<16;var minpos=0;var dmin=256*256*256;var len=this.colorTab.length;for(var i=0,index=0;i<len;index++){var dr=r-(this.colorTab[i++]&255);var dg=g-(this.colorTab[i++]&255);var db=b-(this.colorTab[i++]&255);var d=dr*dr+dg*dg+db*db;if((!used||this.usedEntry[index])&&d<dmin){dmin=d;minpos=index}}return minpos};GIFEncoder.prototype.getImagePixels=function(){var w=this.width;var h=this.height;this.pixels=new Uint8Array(w*h*3);var data=this.image;var srcPos=0;var count=0;for(var i=0;i<h;i++){for(var j=0;j<w;j++){this.pixels[count++]=data[srcPos++];this.pixels[count++]=data[srcPos++];this.pixels[count++]=data[srcPos++];srcPos++}}};GIFEncoder.prototype.writeGraphicCtrlExt=function(){this.out.writeByte(33);this.out.writeByte(249);this.out.writeByte(4);var transp,disp;if(this.transparent===null){transp=0;disp=0}else{transp=1;disp=2}if(this.dispose>=0){disp=dispose&7}disp<<=2;this.out.writeByte(0|disp|0|transp);this.writeShort(this.delay);this.out.writeByte(this.transIndex);this.out.writeByte(0)};GIFEncoder.prototype.writeImageDesc=function(){this.out.writeByte(44);this.writeShort(0);this.writeShort(0);this.writeShort(this.width);this.writeShort(this.height);if(this.firstFrame||this.globalPalette){this.out.writeByte(0)}else{this.out.writeByte(128|0|0|0|this.palSize)}};GIFEncoder.prototype.writeLSD=function(){this.writeShort(this.width);this.writeShort(this.height);this.out.writeByte(128|112|0|this.palSize);this.out.writeByte(0);this.out.writeByte(0)};GIFEncoder.prototype.writeNetscapeExt=function(){this.out.writeByte(33);this.out.writeByte(255);this.out.writeByte(11);this.out.writeUTFBytes("NETSCAPE2.0");this.out.writeByte(3);this.out.writeByte(1);this.writeShort(this.repeat);this.out.writeByte(0)};GIFEncoder.prototype.writePalette=function(){this.out.writeBytes(this.colorTab);var n=3*256-this.colorTab.length;for(var i=0;i<n;i++)this.out.writeByte(0)};GIFEncoder.prototype.writeShort=function(pValue){this.out.writeByte(pValue&255);this.out.writeByte(pValue>>8&255)};GIFEncoder.prototype.writePixels=function(){var enc=new LZWEncoder(this.width,this.height,this.indexedPixels,this.colorDepth);enc.encode(this.out)};GIFEncoder.prototype.stream=function(){return this.out};module.exports=GIFEncoder},{"./LZWEncoder.js":2,"./TypedNeuQuant.js":3}],2:[function(require,module,exports){var EOF=-1;var BITS=12;var HSIZE=5003;var masks=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];function LZWEncoder(width,height,pixels,colorDepth){var initCodeSize=Math.max(2,colorDepth);var accum=new Uint8Array(256);var htab=new Int32Array(HSIZE);var codetab=new Int32Array(HSIZE);var cur_accum,cur_bits=0;var a_count;var free_ent=0;var maxcode;var clear_flg=false;var g_init_bits,ClearCode,EOFCode;function char_out(c,outs){accum[a_count++]=c;if(a_count>=254)flush_char(outs)}function cl_block(outs){cl_hash(HSIZE);free_ent=ClearCode+2;clear_flg=true;output(ClearCode,outs)}function cl_hash(hsize){for(var i=0;i<hsize;++i)htab[i]=-1}function compress(init_bits,outs){var fcode,c,i,ent,disp,hsize_reg,hshift;g_init_bits=init_bits;clear_flg=false;n_bits=g_init_bits;maxcode=MAXCODE(n_bits);ClearCode=1<<init_bits-1;EOFCode=ClearCode+1;free_ent=ClearCode+2;a_count=0;ent=nextPixel();hshift=0;for(fcode=HSIZE;fcode<65536;fcode*=2)++hshift;hshift=8-hshift;hsize_reg=HSIZE;cl_hash(hsize_reg);output(ClearCode,outs);outer_loop:while((c=nextPixel())!=EOF){fcode=(c<<BITS)+ent;i=c<<hshift^ent;if(htab[i]===fcode){ent=codetab[i];continue}else if(htab[i]>=0){disp=hsize_reg-i;if(i===0)disp=1;do{if((i-=disp)<0)i+=hsize_reg;if(htab[i]===fcode){ent=codetab[i];continue outer_loop}}while(htab[i]>=0)}output(ent,outs);ent=c;if(free_ent<1<<BITS){codetab[i]=free_ent++;htab[i]=fcode}else{cl_block(outs)}}output(ent,outs);output(EOFCode,outs)}function encode(outs){outs.writeByte(initCodeSize);remaining=width*height;curPixel=0;compress(initCodeSize+1,outs);outs.writeByte(0)}function flush_char(outs){if(a_count>0){outs.writeByte(a_count);outs.writeBytes(accum,0,a_count);a_count=0}}function MAXCODE(n_bits){return(1<<n_bits)-1}function nextPixel(){if(remaining===0)return EOF;--remaining;var pix=pixels[curPixel++];return pix&255}function output(code,outs){cur_accum&=masks[cur_bits];if(cur_bits>0)cur_accum|=code<<cur_bits;else cur_accum=code;cur_bits+=n_bits;while(cur_bits>=8){char_out(cur_accum&255,outs);cur_accum>>=8;cur_bits-=8}if(free_ent>maxcode||clear_flg){if(clear_flg){maxcode=MAXCODE(n_bits=g_init_bits);clear_flg=false}else{++n_bits;if(n_bits==BITS)maxcode=1<<BITS;else maxcode=MAXCODE(n_bits)}}if(code==EOFCode){while(cur_bits>0){char_out(cur_accum&255,outs);cur_accum>>=8;cur_bits-=8}flush_char(outs)}}this.encode=encode}module.exports=LZWEncoder},{}],3:[function(require,module,exports){var ncycles=100;var netsize=256;var maxnetpos=netsize-1;var netbiasshift=4;var intbiasshift=16;var intbias=1<<intbiasshift;var gammashift=10;var gamma=1<<gammashift;var betashift=10;var beta=intbias>>betashift;var betagamma=intbias<<gammashift-betashift;var initrad=netsize>>3;var radiusbiasshift=6;var radiusbias=1<<radiusbiasshift;var initradius=initrad*radiusbias;var radiusdec=30;var alphabiasshift=10;var initalpha=1<<alphabiasshift;var alphadec;var radbiasshift=8;var radbias=1<<radbiasshift;var alpharadbshift=alphabiasshift+radbiasshift;var alpharadbias=1<<alpharadbshift;var prime1=499;var prime2=491;var prime3=487;var prime4=503;var minpicturebytes=3*prime4;function NeuQuant(pixels,samplefac){var network;var netindex;var bias;var freq;var radpower;function init(){network=[];netindex=new Int32Array(256);bias=new Int32Array(netsize);freq=new Int32Array(netsize);radpower=new Int32Array(netsize>>3);var i,v;for(i=0;i<netsize;i++){v=(i<<netbiasshift+8)/netsize;network[i]=new Float64Array([v,v,v,0]);freq[i]=intbias/netsize;bias[i]=0}}function unbiasnet(){for(var i=0;i<netsize;i++){network[i][0]>>=netbiasshift;network[i][1]>>=netbiasshift;network[i][2]>>=netbiasshift;network[i][3]=i}}function altersingle(alpha,i,b,g,r){network[i][0]-=alpha*(network[i][0]-b)/initalpha;network[i][1]-=alpha*(network[i][1]-g)/initalpha;network[i][2]-=alpha*(network[i][2]-r)/initalpha}function alterneigh(radius,i,b,g,r){var lo=Math.abs(i-radius);var hi=Math.min(i+radius,netsize);var j=i+1;var k=i-1;var m=1;var p,a;while(j<hi||k>lo){a=radpower[m++];if(j<hi){p=network[j++];p[0]-=a*(p[0]-b)/alpharadbias;p[1]-=a*(p[1]-g)/alpharadbias;p[2]-=a*(p[2]-r)/alpharadbias}if(k>lo){p=network[k--];p[0]-=a*(p[0]-b)/alpharadbias;p[1]-=a*(p[1]-g)/alpharadbias;p[2]-=a*(p[2]-r)/alpharadbias}}}function contest(b,g,r){var bestd=~(1<<31);var bestbiasd=bestd;var bestpos=-1;var bestbiaspos=bestpos;var i,n,dist,biasdist,betafreq;for(i=0;i<netsize;i++){n=network[i];dist=Math.abs(n[0]-b)+Math.abs(n[1]-g)+Math.abs(n[2]-r);if(dist<bestd){bestd=dist;bestpos=i}biasdist=dist-(bias[i]>>intbiasshift-netbiasshift);if(biasdist<bestbiasd){bestbiasd=biasdist;bestbiaspos=i}betafreq=freq[i]>>betashift;freq[i]-=betafreq;bias[i]+=betafreq<<gammashift}freq[bestpos]+=beta;bias[bestpos]-=betagamma;return bestbiaspos}function inxbuild(){var i,j,p,q,smallpos,smallval,previouscol=0,startpos=0;for(i=0;i<netsize;i++){p=network[i];smallpos=i;smallval=p[1];for(j=i+1;j<netsize;j++){q=network[j];if(q[1]<smallval){smallpos=j;smallval=q[1]}}q=network[smallpos];if(i!=smallpos){j=q[0];q[0]=p[0];p[0]=j;j=q[1];q[1]=p[1];p[1]=j;j=q[2];q[2]=p[2];p[2]=j;j=q[3];q[3]=p[3];p[3]=j}if(smallval!=previouscol){netindex[previouscol]=startpos+i>>1;for(j=previouscol+1;j<smallval;j++)netindex[j]=i;previouscol=smallval;startpos=i}}netindex[previouscol]=startpos+maxnetpos>>1;for(j=previouscol+1;j<256;j++)netindex[j]=maxnetpos}function inxsearch(b,g,r){var a,p,dist;var bestd=1e3;var best=-1;var i=netindex[g];var j=i-1;while(i<netsize||j>=0){if(i<netsize){p=network[i];dist=p[1]-g;if(dist>=bestd)i=netsize;else{i++;if(dist<0)dist=-dist;a=p[0]-b;if(a<0)a=-a;dist+=a;if(dist<bestd){a=p[2]-r;if(a<0)a=-a;dist+=a;if(dist<bestd){bestd=dist;best=p[3]}}}}if(j>=0){p=network[j];dist=g-p[1];if(dist>=bestd)j=-1;else{j--;if(dist<0)dist=-dist;a=p[0]-b;if(a<0)a=-a;dist+=a;if(dist<bestd){a=p[2]-r;if(a<0)a=-a;dist+=a;if(dist<bestd){bestd=dist;best=p[3]}}}}}return best}function learn(){var i;var lengthcount=pixels.length;var alphadec=30+(samplefac-1)/3;var samplepixels=lengthcount/(3*samplefac);var delta=~~(samplepixels/ncycles);var alpha=initalpha;var radius=initradius;var rad=radius>>radiusbiasshift;if(rad<=1)rad=0;for(i=0;i<rad;i++)radpower[i]=alpha*((rad*rad-i*i)*radbias/(rad*rad));var step;if(lengthcount<minpicturebytes){samplefac=1;step=3}else if(lengthcount%prime1!==0){step=3*prime1}else if(lengthcount%prime2!==0){step=3*prime2}else if(lengthcount%prime3!==0){step=3*prime3}else{step=3*prime4}var b,g,r,j;var pix=0;i=0;while(i<samplepixels){b=(pixels[pix]&255)<<netbiasshift;g=(pixels[pix+1]&255)<<netbiasshift;r=(pixels[pix+2]&255)<<netbiasshift;j=contest(b,g,r);altersingle(alpha,j,b,g,r);if(rad!==0)alterneigh(rad,j,b,g,r);pix+=step;if(pix>=lengthcount)pix-=lengthcount;i++;if(delta===0)delta=1;if(i%delta===0){alpha-=alpha/alphadec;radius-=radius/radiusdec;rad=radius>>radiusbiasshift;if(rad<=1)rad=0;for(j=0;j<rad;j++)radpower[j]=alpha*((rad*rad-j*j)*radbias/(rad*rad))}}}function buildColormap(){init();learn();unbiasnet();inxbuild()}this.buildColormap=buildColormap;function getColormap(){var map=[];var index=[];for(var i=0;i<netsize;i++)index[network[i][3]]=i;var k=0;for(var l=0;l<netsize;l++){var j=index[l];map[k++]=network[j][0];map[k++]=network[j][1];map[k++]=network[j][2]}return map}this.getColormap=getColormap;this.lookupRGB=inxsearch}module.exports=NeuQuant},{}],4:[function(require,module,exports){var GIFEncoder,renderFrame;GIFEncoder=require("./GIFEncoder.js");renderFrame=function(frame){var encoder,page,stream,transfer;encoder=new GIFEncoder(frame.width,frame.height);if(frame.index===0){encoder.writeHeader()}else{encoder.firstFrame=false}encoder.setTransparent(frame.transparent);encoder.setRepeat(frame.repeat);encoder.setDelay(frame.delay);encoder.setQuality(frame.quality);encoder.setDither(frame.dither);encoder.setGlobalPalette(frame.globalPalette);encoder.addFrame(frame.data);if(frame.last){encoder.finish()}if(frame.globalPalette===true){frame.globalPalette=encoder.getGlobalPalette()}stream=encoder.stream();frame.data=stream.pages;frame.cursor=stream.cursor;frame.pageSize=stream.constructor.pageSize;if(frame.canTransfer){transfer=function(){var i,len,ref,results;ref=frame.data;results=[];for(i=0,len=ref.length;i<len;i++){page=ref[i];results.push(page.buffer)}return results}();return self.postMessage(frame,transfer)}else{return self.postMessage(frame)}};self.onmessage=function(event){return renderFrame(event.data)}},{"./GIFEncoder.js":1}]},{},[4]);
|
|
252
252
|
`],{type:"application/javascript"}))})}var P=C("2SBKn");let hS="https://api.polotno.com",hk=()=>hS+"/api",h_={},hE=(e,t)=>{h_[e]||(h_[e]=!0,console.error(t))},hT=`API for iconscout is provided as a demonstration.
|
|
253
253
|
For production usage you have to use your own API endpoint.
|
|
@@ -355,7 +355,7 @@ https://polotno.com/docs/server-api`,hP={unsplashList:({query:e,page:t=1})=>`${h
|
|
|
355
355
|
font-style:${e.fontStyle||"normal"};
|
|
356
356
|
font-weight:${e.fontWeight||"normal"};
|
|
357
357
|
font-display:swap; /* optional but recommended */
|
|
358
|
-
}`,r.cssRules.length)}),i7[e.fontFamily]=!0}(o)):!function(e){if(i8[e])return;let t=i9(e),n=document.createElement("link");n.type="text/css",n.href=t,n.rel="stylesheet",document.getElementsByTagName("head")[0].appendChild(n),i8[e]=!0}(t),n&&r&&!l.some(e=>e.fontStyle===n&&e.fontWeight===r)&&l.push({fontStyle:n,fontWeight:r}),Promise.all(l.map(e=>i3(t,e.fontStyle,e.fontWeight,a)))},validate:e=>f_.validate(e,[{path:"",type:f_}]).map(e=>({path:"store"+e.context.map(e=>e.path).join("."),message:e.message}))};return a}),fE=aT.types.model("Node",{id:aT.types.identifier,type:"none",name:"",opacity:1,custom:aT.types.frozen(),visible:!0,selectable:!0,removable:!0,alwaysOnTop:!1,showInExport:!0}).preProcessSnapshot(e=>{for(var t in e)null===e[t]&&(e[t]=void 0);return e}).postProcessSnapshot(e=>{let t={...e},n={};for(var r in t)"_"!==r[0]&&(n[r]=e[r]);return n}).views(e=>({get page(){return(0,aT.getParentOfType)(e,fC)},get store(){return(0,aT.getParentOfType)(e,f_)},get top(){let t=e;for(;;)if(!(0,aT.hasParentOfType)(t,pe))return t;else t=(0,aT.getParentOfType)(t,pe)},get parent(){if((0,aT.hasParentOfType)(e,pe)){let t=(0,aT.getParentOfType)(e,pe);return t&&t.children&&t.children.length,t}if((0,aT.hasParentOfType)(e,fC)){let t=(0,aT.getParentOfType)(e,fC);return t&&t.children&&t.children.length,t}if((0,aT.hasParentOfType)(e,f_)){let t=(0,aT.getParentOfType)(e,f_);return t&&t.pages&&t.pages.length,t}return null},get zIndex(){return e.parent.children.indexOf(e)}})).actions(e=>({toJSON:()=>({...(0,aT.getSnapshot)(e)})})).actions(e=>({clone(t={},{skipSelect:n=!1}={}){let r=JSON.parse(JSON.stringify(e.toJSON()));t.id=t.id||hy(10);let i=new Map;return f5(r,e=>{let t=e.id,n=hy(10);i.set(t,n),e.id=n}),f5(r,e=>{e.mergedInto&&i.has(e.mergedInto)&&(e.mergedInto=i.get(e.mergedInto))}),Object.assign(r,t),e.page.addElement(r,{skipSelect:n})},set(t){Object.assign(e,t)},moveUp(){e.page.moveElementsUp([e.id])},moveTop(){e.page.moveElementsTop([e.id])},moveDown(){e.page.moveElementsDown([e.id])},moveBottom(){e.page.moveElementsBottom([e.id])},setZIndex(t){e.parent.setElementZIndex(e.id,t)},beforeDestroy(){}}));var aT=C("58B0H");let fT={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}}},fP={right:{cropX:-1},left:{cropX:1},up:{cropY:1},down:{cropY:-1}},fO={none:()=>({}),fade:({dTime:e,element:t,animation:n})=>{let r=e/n.duration;return"enter"===n.type?{opacity:r*t.opacity}:{opacity:(1-r)*t.opacity}},rotate:({dTime:e,element:t,animation:n})=>{var r,i;let a,o,l,s,c,u=n.duration;return r={x:t.x,y:t.y,width:t.width,height:t.height,rotation:t.rotation},i=e/u*360,a=lA(r.rotation||0),o={x:r.x+r.width/2*Math.cos(a)+r.height/2*Math.sin(-a),y:r.y+r.height/2*Math.cos(a)+r.width/2*Math.sin(a)},l=lA(i),s=o.x+(r.x-o.x)*Math.cos(l)-(r.y-o.y)*Math.sin(l),c=o.y+(r.x-o.x)*Math.sin(l)+(r.y-o.y)*Math.cos(l),{...r,rotation:r.rotation+i,x:s,y:c}},blink:({dTime:e,element:t,animation:n})=>{let r=n.duration,i=e%r/(r/2);return{opacity:t.opacity*(i<=1?i:2-i)}},bounce:({dTime:e,element:t,animation:n})=>{let r=n.duration,i=n.data.strength??1,a={},o={x:t.x+t.width/3*i,y:t.y+t.height/3*i,width:t.width/3*i,height:t.height/3*i,fontSize:t.fontSize/3*i},l={x:t.x,y:t.y,width:t.width,height:t.height,fontSize:t.fontSize},s=e%r/(r/2),c=s<=1?s:2-s;for(let e in o){let t=o[e],n=l[e]-t;a[e]=t+c*n}return a},move:({dTime:e,element:t,animation:n})=>{let r=fT[n.data.direction]||fT.right,i=n.data.strength??1,a={};for(var o in r.from){let l=r.from[o],s=r.to[o];"exit"===n.type&&(l=r.to[o],s=-r.from[o]),l*=i,s*=i;let c=t[o]+l,u=t[o]+s-c;a[o]=c+e/n.duration*u}return a},zoom:({dTime:e,element:t,animation:n})=>{let r={},i=1+(("in"===(n.data.direction||"in")?3/4:5/4)-1)*(n.data.strength??1),a=t.rotation*Math.PI/180,o=Math.cos(a),l=Math.sin(a),s=t.width*(1-i),c=t.height*(1-i),u={x:t.x+(s*o-c*l)/2,y:t.y+(s*l+c*o)/2,width:t.width*i,height:t.height*i,fontSize:t.fontSize*i},d={x:t.x,y:t.y,width:t.width,height:t.height,fontSize:t.fontSize};for(var h in u){let t=u[h],i=d[h];if("exit"===n.type){let e=t;t=i,i=e}let a=i-t;r[h]=t+e/n.duration*a}return r},cameraZoom:({dTime:e,element:t,animation:n})=>{let r,i,a={},o=fP[n.data.direction||"right"]||fP.right,l=n.data.movementStrength??.1,s=n.data.shakeStrength??.015,c=n.data.zoomStrength??.6,u=e/n.duration,d=s*(1-u),h=Math.sin(12*u)*d*.7+Math.sin(8*u)*d*.3;"exit"===n.type&&(c=Math.min(c,1-Math.max(t.cropWidth||1,t.cropHeight||1))),n.type;let f=1-Math.pow(1-u,2),p=t.cropX||0,g=t.cropY||0,m=t.cropWidth||1,y=t.cropHeight||1,b=0,v=0;return o.cropX&&(b=Math.min(o.cropX>0?1-(p+m):p,Math.abs(l))*o.cropX),o.cropY&&(v=Math.min(o.cropY>0?1-(g+y):g,Math.abs(l))*o.cropY),"enter"===n.type?(r=o.cropX?p+b*(1-f):p,i=o.cropY?g+v*(1-f):g):(r=o.cropX?p+b*f:p,i=o.cropY?g+v*f:g),a.cropX=Math.max(0,Math.min(1-m,r+h*m)),a.cropY=Math.max(0,Math.min(1-y,i+h*y)),a.cropWidth=m,a.cropHeight=y,a}},fA=({element:e,dTime:t,animation:n})=>{let r=fO[n.name];return r?r({element:e,dTime:t,animation:n}):(console.error("Can not find animation type: "+n.name),{})};var P=C("2SBKn");let fI=aT.types.model("Animation",{delay:0,duration:500,enabled:!0,type:aT.types.enumeration("Type",["enter","exit","loop"]),name:"none",data:aT.types.frozen({})}),fR=(e,t)=>{let n={};for(let r in t)if("number"==typeof e[r]&&"number"==typeof t[r]){let i=t[r]-e[r];0!==i&&(n[r]=i)}return n},fM=aT.types.model("ShapeFilter",{intensity:1}),fL=["temperature","contrast","highlights","shadows","white","black","saturation","vibrance"],fj=fE.named("Shape").props({x:0,y:0,width:100,height:100,rotation:0,opacity:1,animations:aT.types.array(fI),blurEnabled:!1,blurRadius:10,brightnessEnabled:!1,brightness:0,sepiaEnabled:!1,grayscaleEnabled:!1,filters:aT.types.map(fM),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(e=>{let t={...e,x:"x"in e&&e.x||0,y:"y"in e&&e.y||0,filters:"filters"in e?Array.isArray(e.filters)?{}:e.filters:void 0};return"width"in e&&(t.width=t.width||1),"height"in e&&(t.height=t.height||1),"locked"in e&&e.locked&&(t.draggable=!1,t.contentEditable=!1,t.styleEditable=!1,t.resizable=!1,t.removable=!1),t}).views(e=>{let t={x:e.x??0,y:e.y??0,width:e.width??0,height:e.height??0,rotation:e.rotation??0,opacity:e.opacity??1};for(let n of["x","y","width","height","rotation","opacity","color","fontSize","cropX","cropY","cropWidth","cropHeight"])n in e&&(t[n]=e[n]);let n=(0,P.observable)(t),r=(0,P.action)(e=>{for(let t in e)n[t]=e[t]}),i=(0,P.action)(e=>{Object.assign(n,e)}),a=(0,P.action)(e=>{for(let t in e)"number"==typeof n[t]&&(n[t]=n[t]+e[t])});return{get locked(){return!e.draggable&&!e.contentEditable&&!e.styleEditable&&!e.resizable},get a(){let{currentTime:t}=e.store,o={};for(let t in n)o[t]=e[t];if(r(o),0===t)return n;let l=t-e.page.startTime;if(l>e.page.duration||l<0)return n;let s=e.store.animatedElementsIds;if(s.length&&!s.includes(e.id))return n;let c=e.animations.find(e=>"enter"===e.type),u=c?.enabled&&l<c.delay;u&&i({opacity:0});let d=c?.enabled&&l>=c.delay&&l<=c.delay+c.duration;if(d){let t=l-c.delay,n=fA({element:e,animation:c,dTime:t});a(fR(e,n))}let h=e.animations.find(e=>"exit"===e.type);if(!u&&!d&&h?.enabled&&l>=e.page.duration-h.duration-h.delay&&l<=e.page.duration-h.delay){let t=l-(e.page.duration-h.duration-h.delay),n=fA({element:e,animation:h,dTime:t});a(fR(e,n))}h?.enabled&&l>=e.page.duration-h.delay&&i({opacity:0});let f=e.animations.find(e=>"loop"===e.type);if(f?.enabled){let t=fA({element:e,animation:f,dTime:l});a(fR(e,t))}return n},animated(e){return this.a[e]},get isSelected(){if(!(0,aT.isAlive)(e))return!1;return e.store.selectedShapes.indexOf(e)>=0&&e.selectable},get isSelectedDirectly(){if(!(0,aT.isAlive)(e))return!1;return e.store.selectedElements.indexOf(e)>=0&&e.selectable}}}).actions(e=>({setAnimation(t,n){let r=e.animations.find(e=>e.type===t);r?Object.assign(r,n):e.animations.push({type:t,...n})},setFilter(t,n){fL.includes(t)||e.filters.forEach((t,n)=>{fL.includes(n.toString())||e.filters.delete(n.toString())}),null==n?e.filters.delete(t):e.filters.set(t,{intensity:n})}}));var aT=C("58B0H");let fN=fj.named("Text").props({type:"text",text:"",placeholder:"",fontSize:14,fontFamily:"Roboto",fontStyle:"normal",fontWeight:"normal",textDecoration:"",textTransform:"none",fill:"black",align:"center",width:100,height:0,verticalAlign:"top",strokeWidth:0,stroke:"black",lineHeight:aT.types.optional(aT.types.union(aT.types.number,aT.types.string),1.2),letterSpacing:0,_editModeEnabled:!1,backgroundEnabled:!1,backgroundColor:"#7ED321",backgroundOpacity:1,backgroundCornerRadius:.5,backgroundPadding:.5,legacyBackground:aT.types.maybe(aT.types.boolean),curveEnabled:!1,curvePower:.5}).preProcessSnapshot(e=>({...e,fontSize:null!=e.fontSize&&e.fontSize<1?1:e.fontSize})).actions(e=>{let t=e.set;return{set(e){null!=e.fontSize&&e.fontSize<1&&(e={...e,fontSize:1}),t(e)},afterCreate(){if(!e.height){let t=e.lineHeight,n="number"==typeof t?t:parseFloat(t)||1.2;e.height=Math.round(e.fontSize*n)}},toggleEditMode(t){let n=t??!e._editModeEnabled;n!==e._editModeEnabled&&(e._editModeEnabled=n,e._editModeEnabled?e.store.history.startTransaction():e.store.history.endTransaction())}}});var P=C("2SBKn");let fD=fj.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,stretchEnabled:!1}).extend(e=>{let t=P.observable.box(!1),n=!1;return{views:{get _cropModeEnabled(){return t.get()}},actions:{toggleCropMode(r){let i=r??!t.get();t.set(i),i&&!n?(e.store.history.startTransaction(),n=!0):!i&&n&&(e.store.history.endTransaction(),n=!1)},beforeDestroy(){n&&(e.store.history.endTransaction(),n=!1)}}}}),fz=fD.named("Video").props({type:"video",duration:0,startTime:0,endTime:1,volume:1});var aT=C("58B0H");let fB=fj.named("Line").props({type:"line",width:400,height:10,color:"black",dash:aT.types.array(aT.types.number),startHead:"",endHead:""}).actions(e=>({}));var aT=C("58B0H");let fF=fj.named("SVG").props({type:"svg",src:"",maskSrc:"",cropX:0,cropY:0,cropWidth:1,cropHeight:1,keepRatio:!0,stretchEnabled:!0,flipX:!1,flipY:!1,width:100,height:100,borderColor:"black",borderSize:0,cornerRadius:0,colorsReplace:aT.types.map(aT.types.string)}).preProcessSnapshot(e=>({...e,src:e.src||e.svgSource,colorsReplace:Array.isArray(e.colorsReplace)?{}:e.colorsReplace})).actions(e=>({replaceColor(t,n){e.colorsReplace.set(t,n)}}));var aT=C("58B0H");let fH=fj.named("Figure").props({type:"figure",subType:"rect",fill:"rgb(0, 161, 255)",dash:aT.types.array(aT.types.number),strokeWidth:0,stroke:"rgba(98, 197, 255, 1)",cornerRadius:0}),fV=fD.named("Gif").props({type:"gif",duration:0,keepRatio:!0});var aT=C("58B0H"),P=C("2SBKn");let fU=aT.types.enumeration(["solid","dashed","dotted","none"]);function f$(e){return(0,aT.getParent)(e,2)}function fW(e,t,n){let r=e[`_${t}`];return null!=r?r:(0,aT.isAlive)(e)?f$(e)[t]:n}function fq(e){return(0,aT.getParent)(e,1)}let fG=aT.types.model("BorderSide",{color:aT.types.maybe(aT.types.string),width:aT.types.maybe(aT.types.number),style:aT.types.maybe(fU)}).postProcessSnapshot(e=>{let t={};for(let[n,r]of Object.entries(e))null!=r&&(t[n]=r);return t}),fK=aT.types.model("CellBorders",{top:aT.types.maybe(fG),right:aT.types.maybe(fG),bottom:aT.types.maybe(fG),left:aT.types.maybe(fG)}).postProcessSnapshot(e=>{let t={};for(let[n,r]of Object.entries(e))null!=r&&"object"==typeof r&&Object.keys(r).length>0&&(t[n]=r);return t}),fY=["fontSize","fontFamily","fontWeight","fontStyle","textDecoration","textTransform","fill","align","verticalAlign","lineHeight","letterSpacing","strokeWidth","stroke","cellBackground","cellPadding"],fX=new Set(fY),fZ=["blurEnabled","blurRadius","brightnessEnabled","brightness","sepiaEnabled","grayscaleEnabled","filters","shadowEnabled","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","shadowOpacity"],fQ=["id","type","text","opacity","rowSpan","colSpan","mergedInto","name","custom","borders"],fJ=new Set(["row","col","x","y","width","height","rotation","draggable","resizable","selectable","removable","contentEditable","visible","showInExport","alwaysOnTop","backgroundEnabled","backgroundOpacity","backgroundColor","backgroundCornerRadius","backgroundPadding","curveEnabled","curvePower","shadowEnabled","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","shadowOpacity","blurEnabled","blurRadius","brightnessEnabled","brightness","sepiaEnabled","grayscaleEnabled","placeholder","animations","filters"]),f0={opacity:1,rowSpan:1,colSpan:1,name:""},f1=[],f2=aT.types.model("TableCell",{id:aT.types.identifier,type:aT.types.optional(aT.types.literal("tablecell"),"tablecell"),text:"",_fontSize:aT.types.maybe(aT.types.number),_fontFamily:aT.types.maybe(aT.types.string),_fontWeight:aT.types.maybe(aT.types.string),_fontStyle:aT.types.maybe(aT.types.string),_textDecoration:aT.types.maybe(aT.types.string),_textTransform:aT.types.maybe(aT.types.string),_fill:aT.types.maybe(aT.types.string),_align:aT.types.maybe(aT.types.string),_verticalAlign:aT.types.maybe(aT.types.string),_lineHeight:aT.types.maybe(aT.types.union(aT.types.number,aT.types.string)),_letterSpacing:aT.types.maybe(aT.types.number),_strokeWidth:aT.types.maybe(aT.types.number),_stroke:aT.types.maybe(aT.types.string),_cellBackground:aT.types.maybe(aT.types.string),_cellPadding:aT.types.maybe(aT.types.number),opacity:1,rowSpan:1,colSpan:1,mergedInto:aT.types.maybe(aT.types.string),borders:aT.types.maybe(fK),name:"",custom:aT.types.frozen()}).volatile(()=>({_editModeEnabled:!1,filters:P.observable.map()})).preProcessSnapshot(e=>{if(!e)return e;for(let t in e)null===e[t]&&(e[t]=void 0);let t={};for(let n of fQ)n in e&&(t[n]=e[n]);for(let n of fY)void 0!==e[n]&&(t[`_${n}`]=e[n]);return t}).postProcessSnapshot(e=>{let t={};for(let[n,r]of Object.entries(e))if(n.startsWith("_"))null!=r&&(t[n.slice(1)]=r);else if("borders"===n)null!=r&&"object"==typeof r&&Object.keys(r).length>0&&(t.borders=r);else{if(n in f0&&r===f0[n])continue;t[n]=r}return t}).views(e=>{let t={get row(){if(!(0,aT.isAlive)(e))return 0;let t=f$(e),n=fq(e).indexOf(e);if(-1===n)return 0;return Math.floor(n/t.cols)},get col(){if(!(0,aT.isAlive)(e))return 0;let t=f$(e),n=fq(e).indexOf(e);if(-1===n)return 0;return n%t.cols},get store(){if(!(0,aT.isAlive)(e))return null;return(0,aT.getRoot)(e)},get page(){if(!(0,aT.isAlive)(e))return null;try{return f$(e).page}catch{return null}},get fontSize(){return fW(e,"fontSize",30)},get fontFamily(){return fW(e,"fontFamily","Roboto")},get fontWeight(){return fW(e,"fontWeight","normal")},get fontStyle(){return fW(e,"fontStyle","normal")},get textDecoration(){return fW(e,"textDecoration","")},get textTransform(){return fW(e,"textTransform","none")},get fill(){return fW(e,"fill","black")},get align(){return fW(e,"align","left")},get verticalAlign(){return fW(e,"verticalAlign","top")},get lineHeight(){return fW(e,"lineHeight",1.2)},get letterSpacing(){return fW(e,"letterSpacing",0)},get strokeWidth(){return fW(e,"strokeWidth",0)},get stroke(){return fW(e,"stroke","black")},get cellBackground(){return fW(e,"cellBackground","transparent")},get cellPadding(){return fW(e,"cellPadding",4)},get width(){if(!(0,aT.isAlive)(e))return 100;try{return f$(e).getCellRect(t.row,t.col,e.rowSpan,e.colSpan).width}catch{return 100}},get height(){if(!(0,aT.isAlive)(e))return 100;try{return f$(e).getCellRect(t.row,t.col,e.rowSpan,e.colSpan).height}catch{return 100}},get a(){if(!(0,aT.isAlive)(e))return{x:0,y:0,width:100,height:100,rotation:0,opacity:1,fontSize:16};let n=f$(e).getCellRect(t.row,t.col,e.rowSpan,e.colSpan),r=t.cellPadding;return{x:n.x+r,y:n.y+r,width:n.width-2*r,height:n.height-2*r,rotation:0,opacity:e.opacity??1,fontSize:t.fontSize}},getEffectiveBorder(t){let n=(0,aT.isAlive)(e)?f$(e):null,r=e.borders?.[t];return{color:r?.color??n?.borderColor??"#000000",width:r?.width??n?.borderWidth??1,style:r?.style??n?.borderStyle??"solid"}},get x(){return 0},get y(){return 0},get rotation(){return 0},get draggable(){return!1},get resizable(){return!1},get selectable(){return!1},get removable(){return!1},get contentEditable(){return!0},get visible(){return!0},get showInExport(){return!0},get alwaysOnTop(){return!1},get placeholder(){return""},get backgroundEnabled(){return!1},get backgroundOpacity(){return 1},get backgroundColor(){return"transparent"},get backgroundCornerRadius(){return 0},get backgroundPadding(){return 0},get curveEnabled(){return!1},get curvePower(){return 0},get shadowEnabled(){return!1},get shadowBlur(){return 0},get shadowOffsetX(){return 0},get shadowOffsetY(){return 0},get shadowColor(){return"black"},get shadowOpacity(){return 1},get blurEnabled(){return!1},get blurRadius(){return 0},get brightnessEnabled(){return!1},get brightness(){return 0},get sepiaEnabled(){return!1},get grayscaleEnabled(){return!1},get animations(){return f1}};return t}).actions(e=>({toJSON:()=>({...(0,aT.getSnapshot)(e)}),set(t){null!=t.fontSize&&t.fontSize<1&&(t={...t,fontSize:1});let n={};for(let[e,r]of Object.entries(t))fX.has(e)?n[`_${e}`]=r:"borders"===e?n.borders=r?JSON.parse(JSON.stringify(r)):r:fJ.has(e)||(n[e]=r);Object.assign(e,n)},setBorder(t,n){let r=e.borders?{...(0,aT.getSnapshot)(e.borders)}:{},i={...r[t]||{}};void 0!==n.color&&(i.color=n.color),void 0!==n.width&&(i.width=n.width),void 0!==n.style&&(i.style=n.style),r[t]=i,e.borders=(0,aT.cast)(r)},toggleEditMode(t){let n=t??!e._editModeEnabled;n!==e._editModeEnabled&&(e._editModeEnabled=n,e._editModeEnabled?e.store.history.startTransaction():e.store.history.endTransaction())}}));function f4(e){return Array.from({length:e},()=>1/e)}function f3(e){let t=e.reduce((e,t)=>e+t,0);return 0===t?f4(e.length):e.map(e=>e/t)}let f8=fj.named("Table").props({type:"table",width:300,height:200,rows:3,cols:3,colWidths:aT.types.array(aT.types.number),rowHeights:aT.types.array(aT.types.number),cells:aT.types.array(f2),borderColor:"#000000",borderWidth:1,borderStyle:aT.types.optional(aT.types.enumeration(["solid","dashed","dotted","none"]),"solid"),fontSize:30,fontFamily:"Roboto",fontWeight:"normal",fontStyle:"normal",textDecoration:"",textTransform:"none",fill:"black",align:"left",verticalAlign:"top",lineHeight:aT.types.optional(aT.types.union(aT.types.number,aT.types.string),1.2),letterSpacing:0,strokeWidth:0,stroke:"black",cellBackground:"transparent",cellPadding:4}).postProcessSnapshot(e=>{for(let t of(e.cells&&((e={...e}).cells=e.cells.map(t=>{let n={};for(let[r,i]of Object.entries(t))fX.has(r)&&i===e[r]||(n[r]=i);return n})),fZ))delete e[t];return e}).volatile(()=>({_focusedCellIds:[],_editingCellId:void 0,_anchorCellId:void 0,_cellContentHeights:P.observable.map(),_baseRowHeights:null,_baseHeight:null,_isResizingRows:!1,_isTransforming:!1})).actions(e=>({afterCreate(){let t=e.rows*e.cols;if(0===e.cells.length)e.cells.replace((0,aT.cast)(function(e,t){let n=[];for(let r=0;r<e*t;r++)n.push({id:hy(10),text:""});return n}(e.rows,e.cols)));else if(e.cells.length<t)for(;e.cells.length<t;)e.cells.push((0,aT.cast)({id:hy(10),text:""}));else e.cells.length>t&&e.cells.splice(t);0===e.colWidths.length&&e.colWidths.replace(f4(e.cols)),0===e.rowHeights.length&&e.rowHeights.replace(f4(e.rows))}})).views(e=>({get _cellMap(){let t=new Map,n=e.cols;return e.cells.forEach((e,r)=>{t.set(`${Math.floor(r/n)}:${r%n}`,e)}),t},getActualRowHeight:t=>e.rowHeights[t]*e.height})).views(e=>{let t={getCell:(t,n)=>e._cellMap.get(`${t}:${n}`),get minWidth(){return 20*e.cols},get minHeight(){return 20*e.rows},get actualHeight(){let t=0;for(let n=0;n<e.rows;n++)t+=e.getActualRowHeight(n);return t},getCellRect(t,n,r=1,i=1){let a=0;for(let t=0;t<n;t++)a+=e.colWidths[t]*e.width;let o=0;for(let n=0;n<t;n++)o+=e.getActualRowHeight(n);let l=0;for(let t=n;t<n+i;t++)l+=(e.colWidths[t]||0)*e.width;let s=0;for(let n=t;n<t+r;n++)s+=e.getActualRowHeight(n);return{x:a,y:o,width:l,height:s}},get visibleCells(){return e.cells.filter(e=>!e.mergedInto)},get focusedCells(){return e.cells.filter(t=>e._focusedCellIds.includes(t.id))},get editingCell(){if(!e._editingCellId)return;return e.cells.find(t=>t.id===e._editingCellId)},get _fitRowsToContent(){if(e._isResizingRows||e._isTransforming||0===e._cellContentHeights.size)return null;let n=e._baseHeight??e.height,r=e._baseRowHeights??[...e.rowHeights],i=!1,a=[];for(let o=0;o<e.rows;o++){let l=e.rowHeights[o]*e.height,s=r[o]*n,c=0;for(let n=0;n<e.cols;n++){let r=t.getCell(o,n);if(!r)continue;let i=e._cellContentHeights.get(r.id);void 0!==i&&(c=Math.max(c,i+2*r.cellPadding))}let u=Math.max(c,s);Math.abs(u-l)>1?(a.push(u),i=!0):a.push(l)}if(!i)return null;let o=a.reduce((e,t)=>e+t,0);return{rowHeights:a.map(e=>e/o),height:o}}};return t}).actions(e=>{let t={setCellContentHeight(t,n){e._cellContentHeights.set(t,n)},_applyFitRowsToContent(){null===e._baseRowHeights&&(e._baseRowHeights=[...e.rowHeights],e._baseHeight=e.height);let t=e._fitRowsToContent;t&&(e.height=t.height,e.rowHeights.replace(t.rowHeights))},focusCell(t,n=!1){n?e._focusedCellIds.includes(t)||(e._focusedCellIds=[...e._focusedCellIds,t]):(e._focusedCellIds=[t],e._anchorCellId=t)},focusCellRange(t,n){let r=e.cells.find(t=>t.id===e._anchorCellId);if(!r)return;let i=Math.min(r.row,t),a=Math.max(r.row,t),o=Math.min(r.col,n),l=Math.max(r.col,n),s=[];for(let t of e.cells)t.row>=i&&t.row<=a&&t.col>=o&&t.col<=l&&s.push(t.id);e._focusedCellIds=s},clearCellFocus(){if((0,aT.isAlive)(e)){if(e._editingCellId){let t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1)}e._focusedCellIds=[],e._editingCellId=void 0,e._anchorCellId=void 0}},enterCellEdit(t){e._editingCellId=t,e._focusedCellIds.includes(t)||(e._focusedCellIds=[t]);let n=e.cells.find(e=>e.id===t);n&&n.toggleEditMode(!0)},exitCellEdit(){if(e._editingCellId){let t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1)}e._editingCellId=void 0},_resetBaseRowHeights(){e._baseRowHeights=null,e._baseHeight=null},_setIsResizingRows(t){e._isResizingRows=t},_setIsTransforming(t){e._isTransforming=t},addRow(n){t._resetBaseRowHeights();let r=n>0?n-1:0,i=(e.rowHeights[r]||1/(e.rows+1))*e.height,a=e.height+i,o=[];for(let t=0;t<e.rows;t++)o.push(e.rowHeights[t]*e.height/a);o.splice(n,0,i/a);let l=n*e.cols,s=Array.from({length:e.cols},()=>({id:hy(10),text:""}));e.cells.splice(l,0,...(0,aT.cast)(s)),e.rows+=1,e.height=a,e.rowHeights.replace(f3(o))},removeRow(n){if(e.rows<=1)return;t._resetBaseRowHeights();let r=n*e.cols,i=[];for(let t=r;t<r+e.cols;t++)i.push(e.cells[t].id);if(e._editingCellId&&i.includes(e._editingCellId)){let t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1),e._editingCellId=void 0}e._focusedCellIds=e._focusedCellIds.filter(e=>!i.includes(e)),i.forEach(t=>e._cellContentHeights.delete(t)),e.cells.splice(r,e.cols);let a=[...e.rowHeights];a.splice(n,1),e.rows-=1,e.rowHeights.replace(f3(a))},addColumn(t){let n=t>0?t-1:0,r=(e.colWidths[n]||1/(e.cols+1))*e.width,i=e.width+r,a=[];for(let t=0;t<e.cols;t++)a.push(e.colWidths[t]*e.width/i);a.splice(t,0,r/i);let o=e.cols;for(let n=e.rows-1;n>=0;n--)e.cells.splice(n*o+t,0,(0,aT.cast)({id:hy(10),text:""}));e.cols+=1,e.width=i,e.colWidths.replace(f3(a))},removeColumn(t){if(e.cols<=1)return;let n=e.cols,r=[];for(let i=0;i<e.rows;i++)r.push(e.cells[i*n+t].id);if(e._editingCellId&&r.includes(e._editingCellId)){let t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1),e._editingCellId=void 0}e._focusedCellIds=e._focusedCellIds.filter(e=>!r.includes(e)),r.forEach(t=>e._cellContentHeights.delete(t));for(let r=e.rows-1;r>=0;r--)e.cells.splice(r*n+t,1);let i=[...e.colWidths];i.splice(t,1),e.cols-=1,e.colWidths.replace(f3(i))},distributeRowsEvenly(){t._resetBaseRowHeights(),e.rowHeights.replace(f4(e.rows))},distributeColumnsEvenly(){e.colWidths.replace(f4(e.cols))},resizeColumn(t,n){if(t>=e.cols-1)return;let r=[...e.colWidths],i=r[t]+r[t+1],a=r[t]+n,o=r[t+1]-n;a<.05?(r[t]=.05,r[t+1]=i-.05):o<.05?(r[t+1]=.05,r[t]=i-.05):(r[t]=a,r[t+1]=o),e.colWidths.replace(r)},resizeRow(t,n){if(t>=e.rows-1)return;let r=[...e.rowHeights],i=r[t]+r[t+1],a=r[t]+n,o=r[t+1]-n;a<.05?(r[t]=.05,r[t+1]=i-.05):o<.05?(r[t+1]=.05,r[t]=i-.05):(r[t]=a,r[t+1]=o),e.rowHeights.replace(r)},setCellBorders(t,n,r){let i={top:{side:"bottom",dr:-1,dc:0},bottom:{side:"top",dr:1,dc:0},left:{side:"right",dr:0,dc:-1},right:{side:"left",dr:0,dc:1}};for(let a of t){let t=e.cells.find(e=>e.id===a);if(t)for(let a of n){t.setBorder(a,r);let n=i[a],o=t.row+n.dr,l=t.col+n.dc,s=e.getCell(o,l);s&&s.setBorder(n.side,r)}}}};return t}).actions(e=>({clone(t={},{skipSelect:n=!1}={}){let r=JSON.parse(JSON.stringify(e.toJSON()));if(t.id=t.id||hy(10),r.cells){let e=new Map;r.cells.forEach(t=>{let n=t.id,r=hy(10);e.set(n,r),t.id=r}),r.cells.forEach(t=>{t.mergedInto&&e.has(t.mergedInto)&&(t.mergedInto=e.get(t.mergedInto))})}return Object.assign(r,t),e.page.addElement(r,{skipSelect:n})}})),f6=(e,t)=>{if(e.children)for(let n of e.children){if(!0===t(n))break;f6(n,t)}},f5=(e,t)=>{if(e.children)for(let n of e.children){if(!0===t(n))break;f5(n,t)}if(e.cells){for(let n of e.cells)if(!0===t(n))break}},f9=[...Array(20)].map((e,t)=>aT.types.late(()=>pt[t])),f7=aT.types.union({dispatcher:e=>{let t=pn[e.type];if(!t)throw Error(`Unknown element type: "${e.type}"`);return t}},fF,fN,fD,fB,fz,fH,fV,f8,aT.types.late(()=>pe),...f9),pe=fE.named("Group").props({type:"group",children:aT.types.array(f7)}).views(e=>({get draggable(){let t=!0;return f6(e,e=>{e.draggable||(t=!1)}),t},get resizable(){let t=!0;return f6(e,e=>{e.resizable||(t=!1)}),t},get contentEditable(){let t=!0;return f6(e,e=>{e.contentEditable||(t=!1)}),t},get styleEditable(){let t=!0;return f6(e,e=>{e.styleEditable||(t=!1)}),t},get locked(){let t=!0;return f6(e,e=>{e.locked||(t=!1)}),t}})).actions(e=>({set({draggable:t,contentEditable:n,styleEditable:r,resizable:i,...a}){void 0!==t&&f6(e,e=>{e.set({draggable:t})}),void 0!==n&&f6(e,e=>{e.set({contentEditable:n})}),void 0!==r&&f6(e,e=>{e.set({styleEditable:r})}),void 0!==i&&f6(e,e=>{e.set({resizable:i})}),Object.assign(e,a)},addElement(t,{skipSelect:n=!1}={}){let r=pn[t.type];if(!r)return void console.error("Can not find model with type "+t.type);t.children&&t.children.forEach(e=>{e.id=e.id||hy(10)});let i=r.create({id:hy(10),...t});return e.children.push(i),i.selectable&&!n&&e.store.selectElements([i.id]),i},setElementZIndex(t,n){let r=e.children.find(e=>e.id===t);r&&((0,aT.detach)(r),e.children.remove(r),e.children.splice(n,0,r))},setAnimation(t,n){f6(e,e=>{e.setAnimation(t,n)})}})),pt=[],pn={svg:fF,text:fN,image:fD,group:pe,line:fB,video:fz,figure:fH,gif:fV,table:f8};function pr(e,t){let n=e.type;if(!n)throw Error('You must pass "type" attribute to custom model.');let r=fj.named(n).props(e);t&&(r=t(r)),pn[n]=r,pt.push(r)}let pi={text:az,image:oo,svg:oo,line:lW,video:d6,figure:hn,group:F(e=>{let{element:t,store:n}=e,{children:r}=t,i=t.selectable||"admin"===n.role;return(0,k.jsx)(rI,{opacity:t.opacity,listening:i,hideInExport:!t.showInExport,id:t.id,children:r.map(t=>(0,_.createElement)(po,{...e,key:t.id,store:n,element:t}))})}),gif:hp,table:hg};function pa(e,t){pi[e]=t}let po=F(e=>{var t;let n,r,i,a,o,l,s,c,{element:u,store:d}=e,[h,f]=y(_).useState(!1),p=u.isSelectedDirectly,g=u.parent?.type==="group",m=(e=>{let[t,n]=y(_).useState();return y(_).useEffect(()=>{let t=setTimeout(()=>{let t=e.page.id,r=nA.stages.find(e=>e.getAttr("pageId")===t);r||console.error("No stage is found for element",e.id),n(r)});return()=>clearTimeout(t)},[e.id]),t})(u),b=y(_).useRef();y(_).useEffect(()=>{if(m){let e=e=>{let t=e.target.findAncestor(".element",!0),n=d.getElementById(t?.id()),r=n?.top;f(r?.id===u.id)};m.on("mouseover",e);let t=()=>{f(!1)};return m.on("mouseleave",t),()=>{m.off("mouseover",e),m.off("mouseleave",t)}}},[m]);let v=pi[e.element.type];return("text"===e.element.type&&at.htmlRenderEnabled&&(v=lO),e.element.visible)?v?(0,k.jsxs)(rI,{name:"element-container",children:[(0,k.jsx)(v,{...e}),h&&!p&&!g&&(0,k.jsx)(hm,{element:"group"===u.type?{a:(t=(!b.current&&(b.current=m?.findOne("Transformer")),b.current)?.rotation()||0,n=[],f6(u,e=>{"group"!==e.type&&n.push(e.a)}),r=[],n.forEach(e=>{let t=[{x:0,y:0},{x:0+e.width,y:0},{x:0+e.width,y:0+e.height},{x:0,y:0+e.height}],n=new nA.Transform;n.translate(e.x,e.y),n.rotate(nA.Util.degToRad(e.rotation)),t.forEach(e=>{let t=n.point(e);r.push(t)})}),(i=new nA.Transform).rotate(-nA.Util.degToRad(t)),a=1/0,o=1/0,l=-1/0,s=-1/0,r.forEach(e=>{let t=i.point(e);a=Math.min(a,t.x),o=Math.min(o,t.y),l=Math.max(l,t.x),s=Math.max(s,t.y)}),i.invert(),{x:(c=i.point({x:a,y:o})).x,y:c.y,width:l-a,height:s-o,rotation:t})}:u})]}):(console.error("Can not find component for "+e.element.type),null):null});var _=C("8NFma");let pl=F(({store:e,page:t,width:n,height:r,scale:i,xPadding:a,yPadding:o,bleed:l})=>{let[s,c]=y(_).useState(!1),[u,d]=y(_).useState([]),h=y(_).useRef(null),f="draw"===e.tool,{strokeWidth:p,stroke:g,opacity:m,brushType:b}=e.toolOptions,v=y(_).useCallback(e=>{if(!f||(c(!0),e.cancelBubble=!0,!e.target.getStage()))return;let t=h.current.getRelativePointerPosition();t&&d([{x:t.x,y:t.y}])},[f,i,a,o,l]),x=y(_).useCallback(e=>{if(!f||!s||(e.cancelBubble=!0,!e.target.getStage()))return;let t=h.current.getRelativePointerPosition();t&&d(e=>[...e,{x:t.x,y:t.y}])},[f,s,i,a,o,l]),w=y(_).useCallback(()=>{if(f&&s){if(c(!1),u.length>=1)try{let n=function(e,t){if(0===e.length)throw Error("Cannot create SVG from empty path");let n=t.smooth?function(e){if(e.length<3)return e;let t=[];t.push(e[0]);for(let n=0;n<e.length-1;n++){let r=e[Math.max(0,n-1)],i=e[n],a=e[n+1],o=e[Math.min(e.length-1,n+2)];for(let e=0;e<10;e++){let n=e/10,l=n*n,s=l*n,c=.5*(2*i.x+(-r.x+a.x)*n+(2*r.x-5*i.x+4*a.x-o.x)*l+(-r.x+3*i.x-3*a.x+o.x)*s),u=.5*(2*i.y+(-r.y+a.y)*n+(2*r.y-5*i.y+4*a.y-o.y)*l+(-r.y+3*i.y-3*a.y+o.y)*s);t.push({x:c,y:u})}}return t.push(e[e.length-1]),t}(e):e,r=function(e){if(0===e.length)return{x:0,y:0,width:0,height:0};let t=e[0].x,n=e[0].y,r=e[0].x,i=e[0].y;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return{x:t,y:n,width:r-t,height:i-n}}(n),i=t.strokeWidth,a=r.x-i,o=r.y-i,l=r.width+2*i,s=r.height+2*i,c=function(e){if(0===e.length)return"";if(1===e.length){let t=e[0];return`M ${t.x},${t.y} L ${t.x+.1},${t.y}`}let t=`M ${e[0].x},${e[0].y}`;for(let n=1;n<e.length-1;n++){let r=e[n],i=e[n+1],a=(r.x+i.x)/2,o=(r.y+i.y)/2;t+=` Q ${r.x},${r.y} ${a},${o}`}if(e.length>1){let n=e[e.length-1];t+=` L ${n.x},${n.y}`}return t}(n.map(e=>({x:e.x-a,y:e.y-o})));return{src:aq(`
|
|
358
|
+
}`,r.cssRules.length)}),i7[e.fontFamily]=!0}(o)):!function(e){if(i8[e])return;let t=i9(e),n=document.createElement("link");n.type="text/css",n.href=t,n.rel="stylesheet",document.getElementsByTagName("head")[0].appendChild(n),i8[e]=!0}(t),n&&r&&!l.some(e=>e.fontStyle===n&&e.fontWeight===r)&&l.push({fontStyle:n,fontWeight:r}),Promise.all(l.map(e=>i3(t,e.fontStyle,e.fontWeight,a)))},validate:e=>f_.validate(e,[{path:"",type:f_}]).map(e=>({path:"store"+e.context.map(e=>e.path).join("."),message:e.message}))};return a}),fE=aT.types.model("Node",{id:aT.types.identifier,type:"none",name:"",opacity:1,custom:aT.types.frozen(),visible:!0,selectable:!0,removable:!0,alwaysOnTop:!1,showInExport:!0}).preProcessSnapshot(e=>{for(var t in e)null===e[t]&&(e[t]=void 0);return e}).postProcessSnapshot(e=>{let t={...e},n={};for(var r in t)"_"!==r[0]&&(n[r]=e[r]);return n}).views(e=>({get page(){return(0,aT.getParentOfType)(e,fC)},get store(){return(0,aT.getParentOfType)(e,f_)},get top(){let t=e;for(;;)if(!(0,aT.hasParentOfType)(t,pe))return t;else t=(0,aT.getParentOfType)(t,pe)},get parent(){if((0,aT.hasParentOfType)(e,pe)){let t=(0,aT.getParentOfType)(e,pe);return t&&t.children&&t.children.length,t}if((0,aT.hasParentOfType)(e,fC)){let t=(0,aT.getParentOfType)(e,fC);return t&&t.children&&t.children.length,t}if((0,aT.hasParentOfType)(e,f_)){let t=(0,aT.getParentOfType)(e,f_);return t&&t.pages&&t.pages.length,t}return null},get zIndex(){return e.parent.children.indexOf(e)}})).actions(e=>({toJSON:()=>({...(0,aT.getSnapshot)(e)})})).actions(e=>({clone(t={},{skipSelect:n=!1}={}){let r=JSON.parse(JSON.stringify(e.toJSON()));t.id=t.id||hy(10);let i=new Map;return f5(r,e=>{let t=e.id,n=hy(10);i.set(t,n),e.id=n}),f5(r,e=>{e.mergedInto&&i.has(e.mergedInto)&&(e.mergedInto=i.get(e.mergedInto))}),Object.assign(r,t),e.page.addElement(r,{skipSelect:n})},set(t){Object.assign(e,t)},moveUp(){e.page.moveElementsUp([e.id])},moveTop(){e.page.moveElementsTop([e.id])},moveDown(){e.page.moveElementsDown([e.id])},moveBottom(){e.page.moveElementsBottom([e.id])},setZIndex(t){e.parent.setElementZIndex(e.id,t)},beforeDestroy(){}}));var aT=C("58B0H");let fT={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}}},fP={right:{cropX:-1},left:{cropX:1},up:{cropY:1},down:{cropY:-1}},fO={none:()=>({}),fade:({dTime:e,element:t,animation:n})=>{let r=e/n.duration;return"enter"===n.type?{opacity:r*t.opacity}:{opacity:(1-r)*t.opacity}},rotate:({dTime:e,element:t,animation:n})=>{var r,i;let a,o,l,s,c,u=n.duration;return r={x:t.x,y:t.y,width:t.width,height:t.height,rotation:t.rotation},i=e/u*360,a=lA(r.rotation||0),o={x:r.x+r.width/2*Math.cos(a)+r.height/2*Math.sin(-a),y:r.y+r.height/2*Math.cos(a)+r.width/2*Math.sin(a)},l=lA(i),s=o.x+(r.x-o.x)*Math.cos(l)-(r.y-o.y)*Math.sin(l),c=o.y+(r.x-o.x)*Math.sin(l)+(r.y-o.y)*Math.cos(l),{...r,rotation:r.rotation+i,x:s,y:c}},blink:({dTime:e,element:t,animation:n})=>{let r=n.duration,i=e%r/(r/2);return{opacity:t.opacity*(i<=1?i:2-i)}},bounce:({dTime:e,element:t,animation:n})=>{let r=n.duration,i=n.data.strength??1,a={},o={x:t.x+t.width/3*i,y:t.y+t.height/3*i,width:t.width/3*i,height:t.height/3*i,fontSize:t.fontSize/3*i},l={x:t.x,y:t.y,width:t.width,height:t.height,fontSize:t.fontSize},s=e%r/(r/2),c=s<=1?s:2-s;for(let e in o){let t=o[e],n=l[e]-t;a[e]=t+c*n}return a},move:({dTime:e,element:t,animation:n})=>{let r=fT[n.data.direction]||fT.right,i=n.data.strength??1,a={};for(var o in r.from){let l=r.from[o],s=r.to[o];"exit"===n.type&&(l=r.to[o],s=-r.from[o]),l*=i,s*=i;let c=t[o]+l,u=t[o]+s-c;a[o]=c+e/n.duration*u}return a},zoom:({dTime:e,element:t,animation:n})=>{let r={},i=1+(("in"===(n.data.direction||"in")?3/4:5/4)-1)*(n.data.strength??1),a=t.rotation*Math.PI/180,o=Math.cos(a),l=Math.sin(a),s=t.width*(1-i),c=t.height*(1-i),u={x:t.x+(s*o-c*l)/2,y:t.y+(s*l+c*o)/2,width:t.width*i,height:t.height*i,fontSize:t.fontSize*i},d={x:t.x,y:t.y,width:t.width,height:t.height,fontSize:t.fontSize};for(var h in u){let t=u[h],i=d[h];if("exit"===n.type){let e=t;t=i,i=e}let a=i-t;r[h]=t+e/n.duration*a}return r},cameraZoom:({dTime:e,element:t,animation:n})=>{let r,i,a={},o=fP[n.data.direction||"right"]||fP.right,l=n.data.movementStrength??.1,s=n.data.shakeStrength??.015,c=n.data.zoomStrength??.6,u=e/n.duration,d=s*(1-u),h=Math.sin(12*u)*d*.7+Math.sin(8*u)*d*.3;"exit"===n.type&&(c=Math.min(c,1-Math.max(t.cropWidth||1,t.cropHeight||1))),n.type;let f=1-Math.pow(1-u,2),p=t.cropX||0,g=t.cropY||0,m=t.cropWidth||1,y=t.cropHeight||1,b=0,v=0;return o.cropX&&(b=Math.min(o.cropX>0?1-(p+m):p,Math.abs(l))*o.cropX),o.cropY&&(v=Math.min(o.cropY>0?1-(g+y):g,Math.abs(l))*o.cropY),"enter"===n.type?(r=o.cropX?p+b*(1-f):p,i=o.cropY?g+v*(1-f):g):(r=o.cropX?p+b*f:p,i=o.cropY?g+v*f:g),a.cropX=Math.max(0,Math.min(1-m,r+h*m)),a.cropY=Math.max(0,Math.min(1-y,i+h*y)),a.cropWidth=m,a.cropHeight=y,a}},fA=({element:e,dTime:t,animation:n})=>{let r=fO[n.name];return r?r({element:e,dTime:t,animation:n}):(console.error("Can not find animation type: "+n.name),{})};var P=C("2SBKn");let fI=aT.types.model("Animation",{delay:0,duration:500,enabled:!0,type:aT.types.enumeration("Type",["enter","exit","loop"]),name:"none",data:aT.types.frozen({})}),fR=(e,t)=>{let n={};for(let r in t)if("number"==typeof e[r]&&"number"==typeof t[r]){let i=t[r]-e[r];0!==i&&(n[r]=i)}return n},fM=aT.types.model("ShapeFilter",{intensity:1}),fL=["temperature","contrast","highlights","shadows","white","black","saturation","vibrance"],fj=fE.named("Shape").props({x:0,y:0,width:100,height:100,rotation:0,opacity:1,animations:aT.types.array(fI),blurEnabled:!1,blurRadius:10,brightnessEnabled:!1,brightness:0,sepiaEnabled:!1,grayscaleEnabled:!1,filters:aT.types.map(fM),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(e=>{let t={...e,x:"x"in e&&e.x||0,y:"y"in e&&e.y||0,filters:"filters"in e?Array.isArray(e.filters)?{}:e.filters:void 0};return"width"in e&&(t.width=t.width||1),"height"in e&&(t.height=t.height||1),"locked"in e&&e.locked&&(t.draggable=!1,t.contentEditable=!1,t.styleEditable=!1,t.resizable=!1,t.removable=!1),t}).views(e=>{let t={x:e.x??0,y:e.y??0,width:e.width??0,height:e.height??0,rotation:e.rotation??0,opacity:e.opacity??1};for(let n of["x","y","width","height","rotation","opacity","color","fontSize","cropX","cropY","cropWidth","cropHeight"])n in e&&(t[n]=e[n]);let n=(0,P.observable)(t),r=(0,P.action)(e=>{for(let t in e)n[t]=e[t]}),i=(0,P.action)(e=>{Object.assign(n,e)}),a=(0,P.action)(e=>{for(let t in e)"number"==typeof n[t]&&(n[t]=n[t]+e[t])});return{get locked(){return!e.draggable&&!e.contentEditable&&!e.styleEditable&&!e.resizable},get a(){let{currentTime:t}=e.store,o={};for(let t in n)o[t]=e[t];if(r(o),0===t)return n;let l=t-e.page.startTime;if(l>e.page.duration||l<0)return n;let s=e.store.animatedElementsIds;if(s.length&&!s.includes(e.id))return n;let c=e.animations.find(e=>"enter"===e.type),u=c?.enabled&&l<c.delay;u&&i({opacity:0});let d=c?.enabled&&l>=c.delay&&l<=c.delay+c.duration;if(d){let t=l-c.delay,n=fA({element:e,animation:c,dTime:t});a(fR(e,n))}let h=e.animations.find(e=>"exit"===e.type);if(!u&&!d&&h?.enabled&&l>=e.page.duration-h.duration-h.delay&&l<=e.page.duration-h.delay){let t=l-(e.page.duration-h.duration-h.delay),n=fA({element:e,animation:h,dTime:t});a(fR(e,n))}h?.enabled&&l>=e.page.duration-h.delay&&i({opacity:0});let f=e.animations.find(e=>"loop"===e.type);if(f?.enabled){let t=fA({element:e,animation:f,dTime:l});a(fR(e,t))}return n},animated(e){return this.a[e]},get isSelected(){if(!(0,aT.isAlive)(e))return!1;return e.store.selectedShapes.indexOf(e)>=0&&e.selectable},get isSelectedDirectly(){if(!(0,aT.isAlive)(e))return!1;return e.store.selectedElements.indexOf(e)>=0&&e.selectable}}}).actions(e=>({setAnimation(t,n){let r=e.animations.find(e=>e.type===t);r?Object.assign(r,n):e.animations.push({type:t,...n})},setFilter(t,n){fL.includes(t)||e.filters.forEach((t,n)=>{fL.includes(n.toString())||e.filters.delete(n.toString())}),null==n?e.filters.delete(t):e.filters.set(t,{intensity:n})}}));var aT=C("58B0H");let fN=fj.named("Text").props({type:"text",text:"",placeholder:"",fontSize:14,fontFamily:"Roboto",fontStyle:"normal",fontWeight:"normal",textDecoration:"",textTransform:"none",fill:"black",align:"center",width:100,height:0,verticalAlign:"top",strokeWidth:0,stroke:"black",lineHeight:aT.types.optional(aT.types.union(aT.types.number,aT.types.string),1.2),letterSpacing:0,_editModeEnabled:!1,backgroundEnabled:!1,backgroundColor:"#7ED321",backgroundOpacity:1,backgroundCornerRadius:.5,backgroundPadding:.5,legacyBackground:aT.types.maybe(aT.types.boolean),curveEnabled:!1,curvePower:.5}).preProcessSnapshot(e=>({...e,fontSize:null!=e.fontSize&&e.fontSize<1?1:e.fontSize})).actions(e=>{let t=e.set;return{set(e){null!=e.fontSize&&e.fontSize<1&&(e={...e,fontSize:1}),t(e)},afterCreate(){if(!e.height){let t=e.lineHeight,n="number"==typeof t?t:parseFloat(t)||1.2;e.height=Math.round(e.fontSize*n)}},toggleEditMode(t){let n=t??!e._editModeEnabled;n!==e._editModeEnabled&&(e._editModeEnabled=n,e._editModeEnabled?e.store.history.startTransaction():e.store.history.endTransaction())}}});var P=C("2SBKn");let fD=fj.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,stretchEnabled:!1}).extend(e=>{let t=P.observable.box(!1),n=!1;return{views:{get _cropModeEnabled(){return t.get()}},actions:{toggleCropMode(r){let i=r??!t.get();t.set(i),i&&!n?(e.store.history.startTransaction(),n=!0):!i&&n&&(e.store.history.endTransaction(),n=!1)},beforeDestroy(){n&&(e.store.history.endTransaction(),n=!1)}}}}),fz=fD.named("Video").props({type:"video",duration:0,startTime:0,endTime:1,volume:1});var aT=C("58B0H");let fB=fj.named("Line").props({type:"line",width:400,height:10,color:"black",dash:aT.types.array(aT.types.number),startHead:"",endHead:""}).actions(e=>({}));var aT=C("58B0H");let fF=fj.named("SVG").props({type:"svg",src:"",maskSrc:"",cropX:0,cropY:0,cropWidth:1,cropHeight:1,keepRatio:!0,stretchEnabled:!0,flipX:!1,flipY:!1,width:100,height:100,borderColor:"black",borderSize:0,cornerRadius:0,colorsReplace:aT.types.map(aT.types.string)}).preProcessSnapshot(e=>({...e,src:e.src||e.svgSource,colorsReplace:Array.isArray(e.colorsReplace)?{}:e.colorsReplace})).actions(e=>({replaceColor(t,n){e.colorsReplace.set(t,n)}}));var aT=C("58B0H");let fH=fj.named("Figure").props({type:"figure",subType:"rect",fill:"rgb(0, 161, 255)",dash:aT.types.array(aT.types.number),strokeWidth:0,stroke:"rgba(98, 197, 255, 1)",cornerRadius:0}),fV=fD.named("Gif").props({type:"gif",duration:0,keepRatio:!0});var aT=C("58B0H"),P=C("2SBKn");let fU=aT.types.enumeration(["solid","dashed","dotted","none"]);function f$(e){return(0,aT.getParent)(e,2)}function fW(e,t,n){let r=e[`_${t}`];return null!=r?r:(0,aT.isAlive)(e)?f$(e)[t]:n}function fq(e){return(0,aT.getParent)(e,1)}let fG=aT.types.model("BorderSide",{color:aT.types.maybe(aT.types.string),width:aT.types.maybe(aT.types.number),style:aT.types.maybe(fU)}).postProcessSnapshot(e=>{let t={};for(let[n,r]of Object.entries(e))null!=r&&(t[n]=r);return t}),fK=aT.types.model("CellBorders",{top:aT.types.maybe(fG),right:aT.types.maybe(fG),bottom:aT.types.maybe(fG),left:aT.types.maybe(fG)}).postProcessSnapshot(e=>{let t={};for(let[n,r]of Object.entries(e))null!=r&&"object"==typeof r&&Object.keys(r).length>0&&(t[n]=r);return t}),fY=["fontSize","fontFamily","fontWeight","fontStyle","textDecoration","textTransform","fill","align","verticalAlign","lineHeight","letterSpacing","strokeWidth","stroke","cellBackground","cellPadding"],fX=new Set(fY),fZ=["blurEnabled","blurRadius","brightnessEnabled","brightness","sepiaEnabled","grayscaleEnabled","filters","shadowEnabled","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","shadowOpacity"],fQ=["id","type","text","opacity","rowSpan","colSpan","mergedInto","name","custom","borders"],fJ=new Set(["row","col","x","y","width","height","rotation","draggable","resizable","selectable","removable","contentEditable","visible","showInExport","alwaysOnTop","backgroundEnabled","backgroundOpacity","backgroundColor","backgroundCornerRadius","backgroundPadding","curveEnabled","curvePower","shadowEnabled","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","shadowOpacity","blurEnabled","blurRadius","brightnessEnabled","brightness","sepiaEnabled","grayscaleEnabled","placeholder","animations","filters"]),f0={opacity:1,rowSpan:1,colSpan:1,name:""},f1=[],f2=aT.types.model("TableCell",{id:aT.types.identifier,type:aT.types.optional(aT.types.literal("tablecell"),"tablecell"),text:"",_fontSize:aT.types.maybe(aT.types.number),_fontFamily:aT.types.maybe(aT.types.string),_fontWeight:aT.types.maybe(aT.types.string),_fontStyle:aT.types.maybe(aT.types.string),_textDecoration:aT.types.maybe(aT.types.string),_textTransform:aT.types.maybe(aT.types.string),_fill:aT.types.maybe(aT.types.string),_align:aT.types.maybe(aT.types.string),_verticalAlign:aT.types.maybe(aT.types.string),_lineHeight:aT.types.maybe(aT.types.union(aT.types.number,aT.types.string)),_letterSpacing:aT.types.maybe(aT.types.number),_strokeWidth:aT.types.maybe(aT.types.number),_stroke:aT.types.maybe(aT.types.string),_cellBackground:aT.types.maybe(aT.types.string),_cellPadding:aT.types.maybe(aT.types.number),opacity:1,rowSpan:1,colSpan:1,mergedInto:aT.types.maybe(aT.types.string),borders:aT.types.maybe(fK),name:"",custom:aT.types.frozen()}).volatile(()=>({_editModeEnabled:!1,filters:P.observable.map()})).preProcessSnapshot(e=>{if(!e)return e;for(let t in e)null===e[t]&&(e[t]=void 0);let t={};for(let n of fQ)n in e&&(t[n]=e[n]);for(let n of fY)void 0!==e[n]&&(t[`_${n}`]=e[n]);return t}).postProcessSnapshot(e=>{let t={};for(let[n,r]of Object.entries(e))if(n.startsWith("_"))null!=r&&(t[n.slice(1)]=r);else if("borders"===n)null!=r&&"object"==typeof r&&Object.keys(r).length>0&&(t.borders=r);else{if(n in f0&&r===f0[n])continue;t[n]=r}return t}).views(e=>{let t={get row(){if(!(0,aT.isAlive)(e))return 0;let t=f$(e),n=fq(e).indexOf(e);if(-1===n)return 0;return Math.floor(n/t.cols)},get col(){if(!(0,aT.isAlive)(e))return 0;let t=f$(e),n=fq(e).indexOf(e);if(-1===n)return 0;return n%t.cols},get store(){if(!(0,aT.isAlive)(e))return null;return(0,aT.getRoot)(e)},get page(){if(!(0,aT.isAlive)(e))return null;try{return f$(e).page}catch{return null}},get fontSize(){return fW(e,"fontSize",30)},get fontFamily(){return fW(e,"fontFamily","Roboto")},get fontWeight(){return fW(e,"fontWeight","normal")},get fontStyle(){return fW(e,"fontStyle","normal")},get textDecoration(){return fW(e,"textDecoration","")},get textTransform(){return fW(e,"textTransform","none")},get fill(){return fW(e,"fill","black")},get align(){return fW(e,"align","left")},get verticalAlign(){return fW(e,"verticalAlign","top")},get lineHeight(){return fW(e,"lineHeight",1.2)},get letterSpacing(){return fW(e,"letterSpacing",0)},get strokeWidth(){return fW(e,"strokeWidth",0)},get stroke(){return fW(e,"stroke","black")},get cellBackground(){return fW(e,"cellBackground","transparent")},get cellPadding(){return fW(e,"cellPadding",4)},get width(){if(!(0,aT.isAlive)(e))return 100;try{return f$(e).getCellRect(t.row,t.col,e.rowSpan,e.colSpan).width}catch{return 100}},get height(){if(!(0,aT.isAlive)(e))return 100;try{return f$(e).getCellRect(t.row,t.col,e.rowSpan,e.colSpan).height}catch{return 100}},get a(){if(!(0,aT.isAlive)(e))return{x:0,y:0,width:100,height:100,rotation:0,opacity:1,fontSize:16};let n=f$(e).getCellRect(t.row,t.col,e.rowSpan,e.colSpan),r=t.cellPadding;return{x:n.x+r,y:n.y+r,width:n.width-2*r,height:n.height-2*r,rotation:0,opacity:e.opacity??1,fontSize:t.fontSize}},getEffectiveBorder(t){let n=(0,aT.isAlive)(e)?f$(e):null,r=e.borders?.[t];return{color:r?.color??n?.borderColor??"#000000",width:r?.width??n?.borderWidth??1,style:r?.style??n?.borderStyle??"solid"}},get x(){return 0},get y(){return 0},get rotation(){return 0},get draggable(){return!1},get resizable(){return!1},get selectable(){return!1},get removable(){return!1},get contentEditable(){return!0},get visible(){return!0},get showInExport(){return!0},get alwaysOnTop(){return!1},get placeholder(){return""},get backgroundEnabled(){return!1},get backgroundOpacity(){return 1},get backgroundColor(){return"transparent"},get backgroundCornerRadius(){return 0},get backgroundPadding(){return 0},get curveEnabled(){return!1},get curvePower(){return 0},get shadowEnabled(){return!1},get shadowBlur(){return 0},get shadowOffsetX(){return 0},get shadowOffsetY(){return 0},get shadowColor(){return"black"},get shadowOpacity(){return 1},get blurEnabled(){return!1},get blurRadius(){return 0},get brightnessEnabled(){return!1},get brightness(){return 0},get sepiaEnabled(){return!1},get grayscaleEnabled(){return!1},get animations(){return f1}};return t}).actions(e=>({toJSON:()=>({...(0,aT.getSnapshot)(e)}),set(t){null!=t.fontSize&&t.fontSize<1&&(t={...t,fontSize:1});let n={};for(let[e,r]of Object.entries(t))fX.has(e)?n[`_${e}`]=r:"borders"===e?n.borders=r?JSON.parse(JSON.stringify(r)):r:fJ.has(e)||(n[e]=r);Object.assign(e,n)},setBorder(t,n){let r=e.borders?{...(0,aT.getSnapshot)(e.borders)}:{},i={...r[t]||{}};void 0!==n.color&&(i.color=n.color),void 0!==n.width&&(i.width=n.width),void 0!==n.style&&(i.style=n.style),r[t]=i,e.borders=(0,aT.cast)(r)},toggleEditMode(t){let n=t??!e._editModeEnabled;n!==e._editModeEnabled&&(e._editModeEnabled=n,e._editModeEnabled?e.store.history.startTransaction():e.store.history.endTransaction())}}));function f4(e){return Array.from({length:e},()=>1/e)}function f3(e){let t=e.reduce((e,t)=>e+t,0);return 0===t?f4(e.length):e.map(e=>e/t)}let f8=fj.named("Table").props({type:"table",width:300,height:200,rows:3,cols:3,colWidths:aT.types.array(aT.types.number),rowHeights:aT.types.array(aT.types.number),cells:aT.types.array(f2),borderColor:"#000000",borderWidth:1,borderStyle:aT.types.optional(aT.types.enumeration(["solid","dashed","dotted","none"]),"solid"),fontSize:30,fontFamily:"Roboto",fontWeight:"normal",fontStyle:"normal",textDecoration:"",textTransform:"none",fill:"black",align:"left",verticalAlign:"top",lineHeight:aT.types.optional(aT.types.union(aT.types.number,aT.types.string),1.2),letterSpacing:0,strokeWidth:0,stroke:"black",cellBackground:"transparent",cellPadding:4}).postProcessSnapshot(e=>{for(let t of(e.cells&&((e={...e}).cells=e.cells.map(t=>{let n={};for(let[r,i]of Object.entries(t))fX.has(r)&&i===e[r]||(n[r]=i);return n})),fZ))delete e[t];return e}).volatile(()=>({_focusedCellIds:[],_editingCellId:void 0,_anchorCellId:void 0,_cellContentHeights:P.observable.map(),_baseRowHeights:null,_baseHeight:null})).actions(e=>({afterCreate(){let t=e.rows*e.cols;if(0===e.cells.length)e.cells.replace((0,aT.cast)(function(e,t){let n=[];for(let r=0;r<e*t;r++)n.push({id:hy(10),text:""});return n}(e.rows,e.cols)));else if(e.cells.length<t)for(;e.cells.length<t;)e.cells.push((0,aT.cast)({id:hy(10),text:""}));else e.cells.length>t&&e.cells.splice(t);0===e.colWidths.length&&e.colWidths.replace(f4(e.cols)),0===e.rowHeights.length&&e.rowHeights.replace(f4(e.rows))}})).views(e=>({get _cellMap(){let t=new Map,n=e.cols;return e.cells.forEach((e,r)=>{t.set(`${Math.floor(r/n)}:${r%n}`,e)}),t},getActualRowHeight:t=>e.rowHeights[t]*e.height})).views(e=>{let t={getCell:(t,n)=>e._cellMap.get(`${t}:${n}`),get minWidth(){return 20*e.cols},getRowContentOuterHeight(n){let r=0;for(let i=0;i<e.cols;i++){let a=t.getCell(n,i);if(!a)continue;let o=e._cellContentHeights.get(a.id);void 0!==o&&(r=Math.max(r,o+2*a.cellPadding))}return r},get minHeight(){let n=20*e.rows;if(0===e._cellContentHeights.size)return n;let r=0;for(let n=0;n<e.rows;n++)r+=t.getRowContentOuterHeight(n);return Math.max(n,r)},get actualHeight(){let t=0;for(let n=0;n<e.rows;n++)t+=e.getActualRowHeight(n);return t},getCellRect(t,n,r=1,i=1){let a=0;for(let t=0;t<n;t++)a+=e.colWidths[t]*e.width;let o=0;for(let n=0;n<t;n++)o+=e.getActualRowHeight(n);let l=0;for(let t=n;t<n+i;t++)l+=(e.colWidths[t]||0)*e.width;let s=0;for(let n=t;n<t+r;n++)s+=e.getActualRowHeight(n);return{x:a,y:o,width:l,height:s}},get visibleCells(){return e.cells.filter(e=>!e.mergedInto)},get focusedCells(){return e.cells.filter(t=>e._focusedCellIds.includes(t.id))},get editingCell(){if(!e._editingCellId)return;return e.cells.find(t=>t.id===e._editingCellId)},get _fitRowsToContent(){if(0===e._cellContentHeights.size)return null;let n=e._baseHeight??e.height,r=e._baseRowHeights??[...e.rowHeights],i=!1,a=[];for(let o=0;o<e.rows;o++){let l=e.rowHeights[o]*e.height,s=r[o]*n,c=0;for(let n=0;n<e.cols;n++){let r=t.getCell(o,n);if(!r)continue;let i=e._cellContentHeights.get(r.id);void 0!==i&&(c=Math.max(c,i+2*r.cellPadding))}let u=Math.max(c,s);Math.abs(u-l)>1?(a.push(u),i=!0):a.push(l)}if(!i)return null;let o=a.reduce((e,t)=>e+t,0);return{rowHeights:a.map(e=>e/o),height:o}}};return t}).actions(e=>{let t={setCellContentHeight(t,n){e._cellContentHeights.set(t,n)},_applyFitRowsToContent(){null===e._baseRowHeights&&(e._baseRowHeights=[...e.rowHeights],e._baseHeight=e.height);let t=e._fitRowsToContent;t&&(e.height=t.height,e.rowHeights.replace(t.rowHeights))},focusCell(t,n=!1){n?e._focusedCellIds.includes(t)||(e._focusedCellIds=[...e._focusedCellIds,t]):(e._focusedCellIds=[t],e._anchorCellId=t)},focusCellRange(t,n){let r=e.cells.find(t=>t.id===e._anchorCellId);if(!r)return;let i=Math.min(r.row,t),a=Math.max(r.row,t),o=Math.min(r.col,n),l=Math.max(r.col,n),s=[];for(let t of e.cells)t.row>=i&&t.row<=a&&t.col>=o&&t.col<=l&&s.push(t.id);e._focusedCellIds=s},clearCellFocus(){if((0,aT.isAlive)(e)){if(e._editingCellId){let t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1)}e._focusedCellIds=[],e._editingCellId=void 0,e._anchorCellId=void 0}},enterCellEdit(t){e._editingCellId=t,e._focusedCellIds.includes(t)||(e._focusedCellIds=[t]);let n=e.cells.find(e=>e.id===t);n&&n.toggleEditMode(!0)},exitCellEdit(){if(e._editingCellId){let t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1)}e._editingCellId=void 0},_resetBaseRowHeights(){e._baseRowHeights=null,e._baseHeight=null},setHeightRedistribute(t){let n=e.rows;if(0===n||t<=0){e.height=t;return}let r=e.height;if(r<=0||t>=r){e.height=t;return}let i=[],a=[],o=0;for(let t=0;t<n;t++){i.push(e.rowHeights[t]*r);let n=e.getRowContentOuterHeight(t);a.push(n),o+=n}if(t<=o||o<=0){e.height=t;return}let l=t-o,s=0,c=[];for(let e=0;e<n;e++){let t=Math.max(0,i[e]-a[e]);c.push(t),s+=t}let u=[];if(s<=0){let e=t/r;for(let t=0;t<n;t++)u.push(i[t]*e)}else for(let e=0;e<n;e++)u.push(a[e]+c[e]/s*l);let d=u.map(e=>e/t);e.height=t,e.rowHeights.replace(d)},addRow(n){t._resetBaseRowHeights();let r=n>0?n-1:0,i=(e.rowHeights[r]||1/(e.rows+1))*e.height,a=e.height+i,o=[];for(let t=0;t<e.rows;t++)o.push(e.rowHeights[t]*e.height/a);o.splice(n,0,i/a);let l=n*e.cols,s=Array.from({length:e.cols},()=>({id:hy(10),text:""}));e.cells.splice(l,0,...(0,aT.cast)(s)),e.rows+=1,e.height=a,e.rowHeights.replace(f3(o))},removeRow(n){if(e.rows<=1)return;t._resetBaseRowHeights();let r=n*e.cols,i=[];for(let t=r;t<r+e.cols;t++)i.push(e.cells[t].id);if(e._editingCellId&&i.includes(e._editingCellId)){let t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1),e._editingCellId=void 0}e._focusedCellIds=e._focusedCellIds.filter(e=>!i.includes(e)),i.forEach(t=>e._cellContentHeights.delete(t)),e.cells.splice(r,e.cols);let a=[...e.rowHeights];a.splice(n,1),e.rows-=1,e.rowHeights.replace(f3(a))},addColumn(t){let n=t>0?t-1:0,r=(e.colWidths[n]||1/(e.cols+1))*e.width,i=e.width+r,a=[];for(let t=0;t<e.cols;t++)a.push(e.colWidths[t]*e.width/i);a.splice(t,0,r/i);let o=e.cols;for(let n=e.rows-1;n>=0;n--)e.cells.splice(n*o+t,0,(0,aT.cast)({id:hy(10),text:""}));e.cols+=1,e.width=i,e.colWidths.replace(f3(a))},removeColumn(t){if(e.cols<=1)return;let n=e.cols,r=[];for(let i=0;i<e.rows;i++)r.push(e.cells[i*n+t].id);if(e._editingCellId&&r.includes(e._editingCellId)){let t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1),e._editingCellId=void 0}e._focusedCellIds=e._focusedCellIds.filter(e=>!r.includes(e)),r.forEach(t=>e._cellContentHeights.delete(t));for(let r=e.rows-1;r>=0;r--)e.cells.splice(r*n+t,1);let i=[...e.colWidths];i.splice(t,1),e.cols-=1,e.colWidths.replace(f3(i))},distributeRowsEvenly(){t._resetBaseRowHeights(),e.rowHeights.replace(f4(e.rows))},distributeColumnsEvenly(){e.colWidths.replace(f4(e.cols))},resizeColumn(t,n){if(t>=e.cols-1)return;let r=[...e.colWidths],i=r[t]+r[t+1],a=r[t]+n,o=r[t+1]-n;a<.05?(r[t]=.05,r[t+1]=i-.05):o<.05?(r[t+1]=.05,r[t]=i-.05):(r[t]=a,r[t+1]=o),e.colWidths.replace(r)},resizeRow(t,n){if(t>=e.rows-1)return;let r=[...e.rowHeights],i=r[t]+r[t+1],a=e.height,o=a>0?e.getRowContentOuterHeight(t)/a:0,l=a>0?e.getRowContentOuterHeight(t+1)/a:0,s=Math.max(.05,o),c=Math.max(.05,l),u=r[t]+n,d=r[t+1]-n;u<s?(r[t]=s,r[t+1]=i-s):d<c?(r[t+1]=c,r[t]=i-c):(r[t]=u,r[t+1]=d),e.rowHeights.replace(r)},setCellBorders(t,n,r){let i={top:{side:"bottom",dr:-1,dc:0},bottom:{side:"top",dr:1,dc:0},left:{side:"right",dr:0,dc:-1},right:{side:"left",dr:0,dc:1}};for(let a of t){let t=e.cells.find(e=>e.id===a);if(t)for(let a of n){t.setBorder(a,r);let n=i[a],o=t.row+n.dr,l=t.col+n.dc,s=e.getCell(o,l);s&&s.setBorder(n.side,r)}}}};return t}).actions(e=>({clone(t={},{skipSelect:n=!1}={}){let r=JSON.parse(JSON.stringify(e.toJSON()));if(t.id=t.id||hy(10),r.cells){let e=new Map;r.cells.forEach(t=>{let n=t.id,r=hy(10);e.set(n,r),t.id=r}),r.cells.forEach(t=>{t.mergedInto&&e.has(t.mergedInto)&&(t.mergedInto=e.get(t.mergedInto))})}return Object.assign(r,t),e.page.addElement(r,{skipSelect:n})}})),f6=(e,t)=>{if(e.children)for(let n of e.children){if(!0===t(n))break;f6(n,t)}},f5=(e,t)=>{if(e.children)for(let n of e.children){if(!0===t(n))break;f5(n,t)}if(e.cells){for(let n of e.cells)if(!0===t(n))break}},f9=[...Array(20)].map((e,t)=>aT.types.late(()=>pt[t])),f7=aT.types.union({dispatcher:e=>{let t=pn[e.type];if(!t)throw Error(`Unknown element type: "${e.type}"`);return t}},fF,fN,fD,fB,fz,fH,fV,f8,aT.types.late(()=>pe),...f9),pe=fE.named("Group").props({type:"group",children:aT.types.array(f7)}).views(e=>({get draggable(){let t=!0;return f6(e,e=>{e.draggable||(t=!1)}),t},get resizable(){let t=!0;return f6(e,e=>{e.resizable||(t=!1)}),t},get contentEditable(){let t=!0;return f6(e,e=>{e.contentEditable||(t=!1)}),t},get styleEditable(){let t=!0;return f6(e,e=>{e.styleEditable||(t=!1)}),t},get locked(){let t=!0;return f6(e,e=>{e.locked||(t=!1)}),t}})).actions(e=>({set({draggable:t,contentEditable:n,styleEditable:r,resizable:i,...a}){void 0!==t&&f6(e,e=>{e.set({draggable:t})}),void 0!==n&&f6(e,e=>{e.set({contentEditable:n})}),void 0!==r&&f6(e,e=>{e.set({styleEditable:r})}),void 0!==i&&f6(e,e=>{e.set({resizable:i})}),Object.assign(e,a)},addElement(t,{skipSelect:n=!1}={}){let r=pn[t.type];if(!r)return void console.error("Can not find model with type "+t.type);t.children&&t.children.forEach(e=>{e.id=e.id||hy(10)});let i=r.create({id:hy(10),...t});return e.children.push(i),i.selectable&&!n&&e.store.selectElements([i.id]),i},setElementZIndex(t,n){let r=e.children.find(e=>e.id===t);r&&((0,aT.detach)(r),e.children.remove(r),e.children.splice(n,0,r))},setAnimation(t,n){f6(e,e=>{e.setAnimation(t,n)})}})),pt=[],pn={svg:fF,text:fN,image:fD,group:pe,line:fB,video:fz,figure:fH,gif:fV,table:f8};function pr(e,t){let n=e.type;if(!n)throw Error('You must pass "type" attribute to custom model.');let r=fj.named(n).props(e);t&&(r=t(r)),pn[n]=r,pt.push(r)}let pi={text:az,image:oo,svg:oo,line:lW,video:d6,figure:hn,group:F(e=>{let{element:t,store:n}=e,{children:r}=t,i=t.selectable||"admin"===n.role;return(0,k.jsx)(rI,{opacity:t.opacity,listening:i,hideInExport:!t.showInExport,id:t.id,children:r.map(t=>(0,_.createElement)(po,{...e,key:t.id,store:n,element:t}))})}),gif:hp,table:hg};function pa(e,t){pi[e]=t}let po=F(e=>{var t;let n,r,i,a,o,l,s,c,{element:u,store:d}=e,[h,f]=y(_).useState(!1),p=u.isSelectedDirectly,g=u.parent?.type==="group",m=(e=>{let[t,n]=y(_).useState();return y(_).useEffect(()=>{let t=setTimeout(()=>{let t=e.page.id,r=nA.stages.find(e=>e.getAttr("pageId")===t);r||console.error("No stage is found for element",e.id),n(r)});return()=>clearTimeout(t)},[e.id]),t})(u),b=y(_).useRef();y(_).useEffect(()=>{if(m){let e=e=>{let t=e.target.findAncestor(".element",!0),n=d.getElementById(t?.id()),r=n?.top;f(r?.id===u.id)};m.on("mouseover",e);let t=()=>{f(!1)};return m.on("mouseleave",t),()=>{m.off("mouseover",e),m.off("mouseleave",t)}}},[m]);let v=pi[e.element.type];return("text"===e.element.type&&at.htmlRenderEnabled&&(v=lO),e.element.visible)?v?(0,k.jsxs)(rI,{name:"element-container",children:[(0,k.jsx)(v,{...e}),h&&!p&&!g&&(0,k.jsx)(hm,{element:"group"===u.type?{a:(t=(!b.current&&(b.current=m?.findOne("Transformer")),b.current)?.rotation()||0,n=[],f6(u,e=>{"group"!==e.type&&n.push(e.a)}),r=[],n.forEach(e=>{let t=[{x:0,y:0},{x:0+e.width,y:0},{x:0+e.width,y:0+e.height},{x:0,y:0+e.height}],n=new nA.Transform;n.translate(e.x,e.y),n.rotate(nA.Util.degToRad(e.rotation)),t.forEach(e=>{let t=n.point(e);r.push(t)})}),(i=new nA.Transform).rotate(-nA.Util.degToRad(t)),a=1/0,o=1/0,l=-1/0,s=-1/0,r.forEach(e=>{let t=i.point(e);a=Math.min(a,t.x),o=Math.min(o,t.y),l=Math.max(l,t.x),s=Math.max(s,t.y)}),i.invert(),{x:(c=i.point({x:a,y:o})).x,y:c.y,width:l-a,height:s-o,rotation:t})}:u})]}):(console.error("Can not find component for "+e.element.type),null):null});var _=C("8NFma");let pl=F(({store:e,page:t,width:n,height:r,scale:i,xPadding:a,yPadding:o,bleed:l})=>{let[s,c]=y(_).useState(!1),[u,d]=y(_).useState([]),h=y(_).useRef(null),f="draw"===e.tool,{strokeWidth:p,stroke:g,opacity:m,brushType:b}=e.toolOptions,v=y(_).useCallback(e=>{if(!f||(c(!0),e.cancelBubble=!0,!e.target.getStage()))return;let t=h.current.getRelativePointerPosition();t&&d([{x:t.x,y:t.y}])},[f,i,a,o,l]),x=y(_).useCallback(e=>{if(!f||!s||(e.cancelBubble=!0,!e.target.getStage()))return;let t=h.current.getRelativePointerPosition();t&&d(e=>[...e,{x:t.x,y:t.y}])},[f,s,i,a,o,l]),w=y(_).useCallback(()=>{if(f&&s){if(c(!1),u.length>=1)try{let n=function(e,t){if(0===e.length)throw Error("Cannot create SVG from empty path");let n=t.smooth?function(e){if(e.length<3)return e;let t=[];t.push(e[0]);for(let n=0;n<e.length-1;n++){let r=e[Math.max(0,n-1)],i=e[n],a=e[n+1],o=e[Math.min(e.length-1,n+2)];for(let e=0;e<10;e++){let n=e/10,l=n*n,s=l*n,c=.5*(2*i.x+(-r.x+a.x)*n+(2*r.x-5*i.x+4*a.x-o.x)*l+(-r.x+3*i.x-3*a.x+o.x)*s),u=.5*(2*i.y+(-r.y+a.y)*n+(2*r.y-5*i.y+4*a.y-o.y)*l+(-r.y+3*i.y-3*a.y+o.y)*s);t.push({x:c,y:u})}}return t.push(e[e.length-1]),t}(e):e,r=function(e){if(0===e.length)return{x:0,y:0,width:0,height:0};let t=e[0].x,n=e[0].y,r=e[0].x,i=e[0].y;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return{x:t,y:n,width:r-t,height:i-n}}(n),i=t.strokeWidth,a=r.x-i,o=r.y-i,l=r.width+2*i,s=r.height+2*i,c=function(e){if(0===e.length)return"";if(1===e.length){let t=e[0];return`M ${t.x},${t.y} L ${t.x+.1},${t.y}`}let t=`M ${e[0].x},${e[0].y}`;for(let n=1;n<e.length-1;n++){let r=e[n],i=e[n+1],a=(r.x+i.x)/2,o=(r.y+i.y)/2;t+=` Q ${r.x},${r.y} ${a},${o}`}if(e.length>1){let n=e[e.length-1];t+=` L ${n.x},${n.y}`}return t}(n.map(e=>({x:e.x-a,y:e.y-o})));return{src:aq(`
|
|
359
359
|
<svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${s}" viewBox="0 0 ${l} ${s}">
|
|
360
360
|
<path
|
|
361
361
|
d="${c}"
|
|
@@ -369,7 +369,7 @@ https://polotno.com/docs/server-api`,hP={unsplashList:({query:e,page:t=1})=>`${h
|
|
|
369
369
|
`.trim()),x:a,y:o,width:l,height:s}}(u,{stroke:g,strokeWidth:p,smooth:!0}),r=e.selectedElementsIds.slice();e.history.transaction(()=>{t.addElement({type:"svg",x:n.x,y:n.y,width:n.width,height:n.height,src:n.src,opacity:m},{skipSelect:!0})}),e.selectElements(r)}catch(e){console.error("Error creating path SVG:",e)}d([])}},[f,s,u,g,p,m,t,e.history,e]);y(_).useEffect(()=>{if(!s)return;let e=()=>w();return window.addEventListener("mouseup",e),window.addEventListener("touchend",e),()=>{window.removeEventListener("mouseup",e),window.removeEventListener("touchend",e)}},[s,w]);let C=y(_).useMemo(()=>u.flatMap(e=>[e.x,e.y]),[u]);return(y(_).useEffect(()=>{if(f&&h.current){let e=h.current.getStage();if(!e)return;let t=p*i;if(t>100||t<4)e.container().style.cursor="crosshair";else{let n=t/2,r=t/2,i=`<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${t}" viewBox="0 0 ${t} ${t}">
|
|
370
370
|
<circle cx="${r}" cy="${r}" r="${n-1}" fill="${g}" opacity="${m}" stroke="white" stroke-width="1"/>
|
|
371
371
|
<circle cx="${r}" cy="${r}" r="${n-1}" fill="none" stroke="black" stroke-width="1" opacity="0.3"/>
|
|
372
|
-
</svg>`,a=`data:image/svg+xml;base64,${btoa(i)}`;e.container().style.cursor=`url("${a}") ${r} ${r}, crosshair`}return()=>{e.container()&&(e.container().style.cursor="")}}},[f,g,p,m,i]),f)?(0,k.jsxs)(rI,{ref:h,listening:f,x:a+l*i,y:o+l*i,scaleX:i,scaleY:i,children:[(0,k.jsx)(rM,{x:-(a+l*i)/i,y:-(o+l*i)/i,width:n/i,height:r/i,fill:"transparent",onMouseDown:v,onMouseMove:x,onMouseUp:w,onTouchStart:v,onTouchMove:x,onTouchEnd:w}),u.length>0&&(0,k.jsx)(rL,{points:C,stroke:g,strokeWidth:p,lineCap:"round",lineJoin:"round",opacity:m,tension:.5,listening:!1})]}):null});A(e=>{if(rB.isAlreadyRendering())queueMicrotask(()=>rB.batchedUpdates(e,null));else rB.batchedUpdates(e,null)});let ps=nA.DD._drag;window.removeEventListener("mousemove",ps),nA.DD._drag=function(e){(0,P.runInAction)(()=>{ps.call(this,e)})},window.addEventListener("mousemove",nA.DD._drag);let pc={enabledAnchors:["top-left","top-center","top-right","middle-left","bottom-left","bottom-right","bottom-center","middle-right"],rotateEnabled:!0,rotationSnaps:[0,45,90,135,180,225,270,315],ignoreStroke:!0,flipEnabled:!1,keepRatio:!0},pu={text:{enabledAnchors:["top-left","top-right","middle-left","bottom-left","bottom-right","middle-right"]},svg:{enabledAnchors:["top-left","top-right","bottom-left","bottom-right"]},gif:{enabledAnchors:["top-left","top-right","bottom-left","bottom-right"]},line:{enabledAnchors:[],borderEnabled:!1,rotateEnabled:!1},image:{enabledAnchors:["top-left","top-right","bottom-left","bottom-right"]},many:{enabledAnchors:["top-left","top-right","bottom-left","bottom-right"]},group:{enabledAnchors:["top-left","top-right","bottom-left","bottom-right"]},table:{keepRatio:!1,enabledAnchors:["top-left","top-right","middle-left","middle-right","bottom-left","bottom-right"]}};function pd(e,t){pu[e]=pu[e]||t,Object.assign(pu[e],t)}let ph=e=>(0,k.jsx)(rM,{...e,preventDefault:!1}),pf=({url:e,...t})=>{let[n,r]=y(rH)(e,"anonymous"),i=n?function(e,t,n="scale"){let r,i,a=t.width/t.height;a>=e.width/e.height?(r=e.width,i=e.width/a):(r=e.height*a,i=e.height);let o=0,l=0;return"left-top"===n?(o=0,l=0):"left-middle"===n?(o=0,l=(e.height-i)/2):"left-bottom"===n?(o=0,l=e.height-i):"center-top"===n?(o=(e.width-r)/2,l=0):"center-middle"===n?(o=(e.width-r)/2,l=(e.height-i)/2):"center-bottom"===n?(o=(e.width-r)/2,l=e.height-i):"right-top"===n?(o=e.width-r,l=0):"right-middle"===n?(o=e.width-r,l=(e.height-i)/2):"right-bottom"===n?(o=e.width-r,l=e.height-i):"scale"===n?(o=0,l=0,r=e.width,i=e.height):console.error(Error("Unknown clip position property - "+n)),{cropX:o,cropY:l,cropWidth:r,cropHeight:i}}(n,{width:t.width,height:t.height},"center-middle"):{};return oa(r,e,"page background"),(0,k.jsx)(rj,{image:n,...t,...i})},pp=e=>{let t=i_({a:{width:e.width,height:e.height},width:e.width,height:e.height},e.fill);return(0,k.jsx)(rM,{...e,...t})},pg=e=>{let{background:t,scale:n,borderColor:r,transparencyBackgroundColor:i,...a}=e,o=y(_).useMemo(()=>!!nA.Util.colorToRGBA(t)||iS(t),[t]),l=y(_).useMemo(()=>{if(iS(t))return!0;let e=nA.Util.colorToRGBA(t);return!e||e.a<1},[t]),s=y(_).useMemo(()=>{if(!l||i)return null;let e=document.createElement("canvas");e.width=60,e.height=60;let t=e.getContext("2d");return t&&(t.fillStyle="black",t.fillRect(30,0,30,30),t.fillRect(0,30,30,30)),e},[l,i]);return(0,k.jsxs)(y(_).Fragment,{children:[l&&(i?(0,k.jsx)(rM,{fill:i,...a,hideInExport:!0}):(0,k.jsx)(rM,{fillPatternImage:s,...a,opacity:.1,hideInExport:!0})),o?(0,k.jsx)(pp,{fill:t,...a}):(0,k.jsx)(pf,{url:t,...a})]})},pm=F(({selection:e})=>{if(!e.visible)return null;let{selectionRectStyle:t}=r5();return(0,k.jsx)(rM,{name:"selection",x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),width:Math.abs(e.x1-e.x2),height:Math.abs(e.y1-e.y2),fill:t.fill,stroke:t.stroke,strokeWidth:t.strokeWidth})}),py=F(({x:e,y:t,width:n,height:r,rotation:i,anchor:a,store:o})=>{let l,{transformLabelStyle:s}=r5();if(void 0===e||void 0===t||void 0===n||void 0===r||void 0===i||void 0===a)return null;let c=lR({x:e,y:t,width:n,height:r,rotation:nA.Util.radToDeg(i)}),u=(r/2+70)*Math.cos(i-Math.PI/2),d=(r/2+70)*Math.sin(i-Math.PI/2),h=hX({unit:o.unit,dpi:o.dpi,px:n/o.scale,precious:+("px"!==o.unit)})+" x "+hX({unit:o.unit,dpi:o.dpi,px:r/o.scale,precious:+("px"!==o.unit)})+("px"===o.unit?"":" "+o.unit);return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)(rR,{x:(c.minX+c.maxX)/2+u,y:(c.minY+c.maxY)/2+d,offsetX:14,offsetY:14,visible:"rotater"===a,children:[(0,k.jsx)("Tag",{cornerRadius:5,fill:s.fill}),(0,k.jsx)(rN,{align:"center",verticalAlign:"middle",fill:s.textFill,padding:8,text:((l=180*i/Math.PI%360)>180?l-=360:l<-180&&(l+=360),Math.round(l)).toString()+"°"})]}),(0,k.jsxs)(rR,{x:(c.minX+c.maxX)/2,y:c.maxY+20,visible:"rotater"!==a,children:[(0,k.jsx)("Tag",{cornerRadius:5,fill:s.fill,pointerDirection:"up",pointerHeight:0,pointerWidth:0}),(0,k.jsx)(rN,{align:"center",verticalAlign:"middle",fill:s.textFill,padding:8,text:h})]})]})}),pb=F(({elements:e,store:t})=>{let n=e.filter(e=>e.alwaysOnTop),r=e.filter(e=>!e.alwaysOnTop).concat(n);return(0,k.jsx)(y(_).Fragment,{children:r.map(e=>(0,k.jsx)(po,{store:t,element:e,onClick:()=>{console.warn("Polotno warning: onClick callback is deprecated. Just stop using it. Polotno will do selection automatically.")}},e.id))})}),pv=null,px=e=>{pv=e},pw=atob("UG9sb3RubyBmcmVlIGxpY2Vuc2UgbGltaXRhdGlvbiBleGNlZWRlZCAtIFBsZWFzZSB1cGdyYWRlIHlvdXIgYWNjb3VudC4="),pC=atob("I2MwMzkyYg=="),pS=atob("djAuOS4y"),pk=e=>(0,k.jsx)(k.Fragment,{children:(0,k.jsxs)(rR,{fill:pC,height:200,children:[(0,k.jsx)("Tag",{fill:pC}),(0,k.jsx)(rN,{...e,fill:"white",text:pw,height:void 0,padding:10,fontSize:20})]})}),p_=atob("RlJFRSAgVFJJQUwgIExJQ0VOU0U=");atob("UG93ZXJlZCBieSBQb2xvdG5v");let pE=atob("TElDRU5TRSAgS0VZICBJUyAgTUlTU0lORw=="),pT=atob("UGxlYXNlIGFjdGl2YXRlIHlvdXIgbGljZW5zZS4KTGljZW5zZSByZWxhdGVkIHF1ZXN0aW9uczoKcG9sb3Ruby5jb20vY29udGFjdA=="),pP=e=>{let t=1===hL.value,n=t?230:195;return(0,k.jsxs)(rI,{...e,listening:!1,children:[(0,k.jsx)(rM,{fill:pC,width:n,height:24,cornerRadius:2}),(0,k.jsx)(rN,{text:t?pE:p_,fill:"white",fontSize:13,fontFamily:"monospace",width:n,align:"center",y:5,listening:!1}),t&&(0,k.jsx)(rN,{text:pT,fill:"rgba(0,0,0,0.6)",fontSize:14,y:30,listening:!1})]})};var pO=F(({store:e,page:t,width:n,height:r,pageControlsEnabled:i,components:a,altCloneEnabled:o,viewportSize:l,layout:s="vertical",tooltipSafeArea:c,transformerSafeArea:u})=>{var d;let h=r5(),f=h.transformerStyle,p=e.bleedVisible?t.bleed:0,g=t.computedWidth+2*p,m=t.computedHeight+2*p,b=(n-g*e.scale)/2,v=(r-m*e.scale)/2,x=y(_).useRef(null),w=y(_).useRef(null),C=y(_).useRef(null),S=y(_).useRef(!1),[E,T]=y(_).useState(null),[O,A]=y(_).useState({}),[I,R]=y(_).useState(0),M=(({store:e})=>{let[t,n]=y(_).useState(!1),[r,i]=y(_).useState({x:0,y:0});return{open:y(_).useCallback(e=>{n(!0),i(e)},[]),close:y(_).useCallback(()=>{n(!1)},[]),props:{isOpen:t,offset:r,setIsOpen:n}}})({store:e}),L=e.selectedElements.find(e=>e._cropModeEnabled),j=e.selectedElements.find(e=>e.curveEnabled),N=e.selectedShapes.filter(e=>!e.resizable).length>0,D=e.selectedShapes.filter(e=>!e.draggable).length>0,z=e.selectedElements.filter(e=>!e.visible).length>0;y(_).useLayoutEffect(()=>{if(!x.current)return;let t=x.current.getStage(),n=e.selectedShapes.map(e=>e._cropModeEnabled?null:t.findOne("#"+e.id)).filter(e=>!!e),r=1===e.selectedElements.length,i=r&&e.selectedElements[0]?.type||"many",a=pu[i],o={...pc,...a||{}};a&&("svg"!==i&&"image"!==i&&"gif"!==i||e.selectedElements[0].keepRatio||(o.enabledAnchors=pc.enabledAnchors),"text"===i&&at.textVerticalResizeEnabled&&(o.enabledAnchors=pu.text.enabledAnchors?.concat(["bottom-center"])),"text"===i&&r&&e.selectedElements[0].curveEnabled&&(o.enabledAnchors=pu.many.enabledAnchors)),x.current.setAttrs({...o,...f}),N&&x.current.enabledAnchors([]),D&&x.current.rotateEnabled(!1),n.find(e=>e?.isDragging())&&n.forEach(e=>{e.isDragging()||e?.startDrag()}),x.current.nodes(n),lD(),x.current.getLayer()?.batchDraw()},[e.selectedShapes,L,N,z,D,j,f]);let B=()=>{let e=x.current;if(!e)return;if(!e.isTransforming())return void A({});if(!e.nodes().length||!e.isTransforming())return;let t=e.__getNodeRect(),n=e?.getActiveAnchor(),r=e.getStage();A({anchor:n,x:t.x-(r?.x()??0),y:t.y-(r?.y()??0),rotation:t.rotation,width:t.width,height:t.height})},F=y(_).useCallback(()=>{if(x.current?.isTransforming())return;let e=x.current;if(!e||!e.nodes().length)return void R(0);let t=e.getClientRect();e.getStage()&&R(function(e,t,n,r=0){let i=e.x+e.width/2,a=e.y+e.height/2,o=e.width/2,l=e.height/2,s=r*Math.PI/180,c=e=>{let t,r=e*Math.PI/180,c=(e%360+360)%360,u=Math.sin(r)*((t=0===c||180===c?l:o)+n),d=-Math.cos(r)*(t+n);return{x:i+(u*Math.cos(s)-d*Math.sin(s)),y:a+(u*Math.sin(s)+d*Math.cos(s))}},u=e=>e.x>=t.left&&e.x<=t.right&&e.y>=t.top&&e.y<=t.bottom;if(u(c(0)))return 0;for(let e of[180,270,90])if(u(c(e)))return e;return 0}(t,{top:u?.top||0,bottom:r-(u?.bottom||0),left:u?.left||0,right:n-(u?.right||0)},f.rotateAnchorOffset,e.rotation()))},[u,n,r]);y(_).useEffect(()=>{x.current?.update(),B(),F()},[e.scale,F]),y(_).useEffect(()=>{F()},[e.selectedShapes,F]);let H=(d=()=>({visible:!1,x1:0,y1:0,x2:0,y2:0}),(0,_.useState)(function(){return(0,P.observable)(d(),void 0,{autoBind:!0})})[0]),V=y(_).useRef(!1),U=aE(),$=(0,P.action)(e=>{if(U)return;V.current=!1;let t=e.target.findAncestor(".elements-container"),n=e.target.findAncestor("Transformer"),r=e.target.findAncestor(".page-abs-container");if(t||n||r)return;let i=e.target.getStage()?.getPointerPosition();i&&(i.x-=e.target.getStage()?.x()??0,i.y-=e.target.getStage()?.y()??0,H.visible=!0,H.x1=i.x,H.y1=i.y,H.x2=i.x,H.y2=i.y,(e.target.getStage()?.getPointersPositions().length??0)>=2&&(H.visible=!1))});(({stageRef:e,containerRef:t,viewportSize:n})=>{y(_).useEffect(()=>{let n=t.current?.closest(".polotno-workspace-inner");function r(){if(!e.current)return;let r=t.current?.getBoundingClientRect(),i=n?.getBoundingClientRect();if(!r||!i)return;let a=Math.max(0,i.left-r.left-100),o=Math.max(0,i.top-r.top-100);e.current.position({x:-a,y:-o}),e.current.container().style.transform=`translate(${a}px, ${o}px)`}return r(),n?.addEventListener("scroll",r),()=>{n?.removeEventListener("scroll",r)}},[n.width,n.height])})({stageRef:w,containerRef:C,viewportSize:l}),y(_).useEffect(()=>{let t=(0,P.action)(e=>{if(!H.visible)return;w.current?.setPointersPositions(e);let t=w.current?.getPointerPosition();t?(t.x-=w.current?.x()??0,t.y-=w.current?.y()??0):t={x:H.x2,y:H.y2},H.x2=t.x,H.y2=t.y}),n=(0,P.action)(()=>{if(!H.visible||!w.current)return;let t=w.current.findOne(".selection"),n=t?t.getClientRect({skipStroke:!0}):{width:0,height:0,x:0,y:0};if(n.width&&n.height){let t=[];w.current.find(".element").forEach(r=>{let i=r.getClientRect(),a=e.getElementById(r.id()),o=a?.draggable,l=a?.selectable;nA.Util.haveIntersection(n,i)&&o&&l&&t.push(a.top.id)});let r=[...new Set(t)];V.current=!0,e.selectElements(r)}H.visible=!1});return window.addEventListener("mousemove",t),window.addEventListener("touchmove",t),window.addEventListener("mouseup",n,{capture:!0}),window.addEventListener("touchend",n,{capture:!0}),()=>{window.removeEventListener("mousemove",t),window.removeEventListener("touchmove",t),window.removeEventListener("mouseup",n),window.removeEventListener("touchend",n)}},[]);let W=y(_).useCallback(n=>{if(!e.selectedElements[0]||n&&e.selectedElementsIds.includes(n))return;let r=lM(e.selectedShapes),i=lR(n?e.getElementById(n):{x:0,y:0,width:t.computedWidth,height:t.computedHeight,rotation:0}),a=[];r.minX>i.maxX&&a.push({distance:r.minX-i.maxX,box1:r,box2:i,points:[{x:r.minX,y:r.minY+r.height/2},{x:i.maxX,y:r.minY+r.height/2},{x:i.maxX,y:i.minY+i.height/2}]}),r.maxX<i.minX&&a.push({distance:i.minX-r.maxX,box1:r,box2:i,points:[{x:r.maxX,y:r.minY+r.height/2},{x:i.minX,y:r.minY+r.height/2},{x:i.minX,y:i.minY+i.height/2}]}),r.minY>i.maxY&&a.push({box1:r,box2:i,distance:r.minY-i.maxY,points:[{x:r.minX+r.width/2,y:r.minY},{x:r.minX+r.width/2,y:i.maxY},{x:i.minX+i.width/2,y:i.maxY}]}),r.maxY<i.minY&&a.push({box1:r,box2:i,distance:i.minY-r.maxY,points:[{x:r.minX+r.width/2,y:r.maxY},{x:r.minX+r.width/2,y:i.minY},{x:i.minX+i.width/2,y:i.minY}]});let o=r.minX>=i.minX&&r.maxX<=i.maxX&&r.minY>=i.minY&&r.maxY<=i.maxY;if(o&&(a.push({distance:r.minX-i.minX,box1:r,box2:i,points:[{x:r.minX,y:r.minY+r.height/2},{x:i.minX,y:r.minY+r.height/2},{x:i.minX,y:i.minY+i.height/2}]}),a.push({distance:i.maxX-r.maxX,box1:r,box2:i,points:[{x:r.maxX,y:r.minY+r.height/2},{x:i.maxX,y:r.minY+r.height/2},{x:i.maxX,y:i.minY+i.height/2}]}),a.push({box1:r,box2:i,distance:r.minY-i.minY,points:[{x:r.minX+r.width/2,y:r.minY},{x:r.minX+r.width/2,y:i.minY},{x:i.minX+i.width/2,y:i.minY}]}),a.push({box1:r,box2:i,distance:i.maxY-r.maxY,points:[{x:r.minX+r.width/2,y:r.maxY},{x:r.minX+r.width/2,y:i.maxY},{x:i.minX+i.width/2,y:i.maxY}]})),0===a.length&&!o){let e=r.minX<i.maxX&&r.maxX>i.minX,t=r.minY<i.maxY&&r.maxY>i.minY;if(e&&t){let e=(Math.max(r.minY,i.minY)+Math.min(r.maxY,i.maxY))/2,t=(Math.max(r.minX,i.minX)+Math.min(r.maxX,i.maxX))/2;r.minX<i.minX?a.push({distance:i.minX-r.minX,box1:r,box2:i,points:[{x:r.minX,y:e},{x:i.minX,y:e},{x:i.minX,y:e}]}):a.push({distance:r.minX-i.minX,box1:r,box2:i,points:[{x:r.minX,y:e},{x:i.minX,y:e},{x:i.minX,y:e}]}),r.maxX>i.maxX?a.push({distance:r.maxX-i.maxX,box1:r,box2:i,points:[{x:i.maxX,y:e},{x:r.maxX,y:e},{x:i.maxX,y:e}]}):a.push({distance:i.maxX-r.maxX,box1:r,box2:i,points:[{x:r.maxX,y:e},{x:i.maxX,y:e},{x:i.maxX,y:e}]}),r.minY<i.minY?a.push({box1:r,box2:i,distance:i.minY-r.minY,points:[{x:t,y:r.minY},{x:t,y:i.minY},{x:t,y:i.minY}]}):a.push({box1:r,box2:i,distance:r.minY-i.minY,points:[{x:t,y:r.minY},{x:t,y:i.minY},{x:t,y:i.minY}]}),r.maxY>i.maxY?a.push({box1:r,box2:i,distance:r.maxY-i.maxY,points:[{x:t,y:i.maxY},{x:t,y:r.maxY},{x:t,y:i.maxY}]}):a.push({box1:r,box2:i,distance:i.maxY-r.maxY,points:[{x:t,y:r.maxY},{x:t,y:i.maxY},{x:t,y:i.maxY}]})}}JSON.stringify(E)!==JSON.stringify(a)&&T(a)},[e,t]);y(_).useEffect(()=>{e.distanceGuidesVisible?W():E&&T(null)},[e.distanceGuidesVisible,W,e.selectedShapes.map(e=>`${e.x},${e.y},${e.width},${e.height},${e.rotation}`).join("|")]);let q=y(_).useRef(!1);y(_).useEffect(()=>{let e,t=C.current?.closest(".polotno-workspace-inner"),n=()=>{q.current=!0,clearTimeout(e),e=setTimeout(()=>{q.current=!1},300)};return t?.addEventListener("scroll",n),()=>{clearTimeout(e),t?.removeEventListener("scroll",n)}},[]),y(_).useEffect(()=>{let e=w.current;if(!e)return;let t=e.container(),n=e=>{e.touches.length>=2&&(x.current?.isDragging()&&x.current.stopDrag(),x.current?.nodes().forEach(e=>{e.isDragging()&&e.stopDrag()}))};return t.addEventListener("touchstart",n,{passive:!0}),t.addEventListener("touchmove",n,{passive:!0}),()=>{t.removeEventListener("touchstart",n),t.removeEventListener("touchmove",n)}},[]);let G=n=>{if(e.activePage!==t&&t.select(),q.current||V.current)return;let r=n.evt.ctrlKey||n.evt.metaKey||n.evt.shiftKey,i=n.target.findAncestor(".elements-container"),a=n.target.findAncestor(".page-abs-container"),o=n.target.findAncestor("Transformer");if(!r&&!i&&!o&&!a&&!H.visible)return void e.selectElements([]);let l=n.target.findAncestor(".element-container",!0),s=l?.findOne(".element")||n.target.findAncestor(".element",!0),c=e.getElementById(s?.id()),u=c?.top,d=u?.id,h=e.selectedElementsIds.indexOf(d)>=0,f=n.target.findAncestor(".page-container",!0);d&&r&&!h?e.selectElements(e.selectedElementsIds.concat([d])):d&&r&&h?e.selectElements(e.selectedElementsIds.filter(e=>e!==d)):!d||r||h?f?e.selectPages([t.id]):e.selectPages([]):e.selectElements([d])};!function(e){let t=y(_).useRef(null),{snapGuideStyle:n}=r5(),r=y(_).useRef(n);r.current=n;let i=e=>e.hasName("element")||e.hasName("page-background")||!t.current&&e.hasName("elements-area");function a(t){let n=e.current?.getStage(),r=[],a=[];return n.find(i).forEach(e=>{if(!(t.indexOf(e)>=0)){var n=e.getClientRect({skipShadow:!0,skipStroke:!0});r.push({offset:n.x,node:e,snap:"start"},{offset:n.x+n.width,node:e,snap:"end"},{offset:n.x+n.width/2,node:e,snap:"center"}),a.push({offset:n.y,node:e,snap:"start"},{offset:n.y+n.height,node:e,snap:"end"},{offset:n.y+n.height/2,node:e,snap:"center"})}}),{vertical:r,horizontal:a}}function o(t){let n=e.current?.getLayer(),i=n?.children.find(e=>"line-guides"===e.name());t.forEach(e=>{if("H"===e.orientation){var t=new nA.Line({x:-n.getStage().x(),y:-n.getStage().y(),points:[-6e3,e.lineGuide,6e3,e.lineGuide],stroke:r.current.stroke,strokeWidth:r.current.strokeWidth,name:"guid-line",dash:r.current.dash});i?.add(t),n.batchDraw()}else if("V"===e.orientation){var t=new nA.Line({x:-n.getStage().x(),y:-n.getStage().y(),points:[e.lineGuide,-6e3,e.lineGuide,6e3],stroke:r.current.stroke,strokeWidth:r.current.strokeWidth,name:"guid-line",dash:r.current.dash});i?.add(t)}})}let l=e=>{let t,n,r,i=e.target.getLayer().children.find(e=>"line-guides"===e.name());i?.destroyChildren();var l,s=lN(a(e.target.nodes()),(n=lR({...t=(l=e.target).__getNodeRect(),rotation:nA.Util.radToDeg(t.rotation)}),r=l.getAbsolutePosition(),{vertical:[{guide:n.x,offset:r.x-n.x,snap:"start",nodes:l.nodes()},{guide:n.x+n.width/2,offset:r.x-n.x-n.width/2,snap:"center",nodes:l.nodes()},{guide:n.x+n.width,offset:r.x-n.x-n.width,snap:"end",nodes:l.nodes()}],horizontal:[{guide:n.y,offset:r.y-n.y,snap:"start",nodes:l.nodes()},{guide:n.y+n.height/2,offset:r.y-n.y-n.height/2,snap:"center",nodes:l.nodes()},{guide:n.y+n.height,offset:r.y-n.y-n.height,snap:"end",nodes:l.nodes()}]}));if(!s.length)return;o(s);let c=e.target.getAbsolutePosition();e.target.nodes().map(e=>e.getAbsolutePosition());let u={...c};s.forEach(e=>{switch(e.snap){case"start":case"center":case"end":switch(e.orientation){case"V":u.x=e.lineGuide+e.offset;break;case"H":u.y=e.lineGuide+e.offset}}});let d=u.x-c.x,h=u.y-c.y;e.evt.ctrlKey||e.evt.metaKey||e.target.nodes().forEach(e=>{let t=e.getAbsolutePosition();e.setAbsolutePosition({x:t.x+d,y:t.y+h})})},s=(t,n,r)=>{let i,l=e.current,s=l.getLayer().children.find(e=>"line-guides"===e.name());if(s?.destroyChildren(),"rotater"===l.getActiveAnchor())return n;let c=lF[l.getActiveAnchor()],u=l.findOne(`.${c}`)?.getAbsolutePosition();if(!u)return n;let d={x:t.x-u.x,y:t.y-u.y},h=(p={x:n.x-t.x,y:n.y-t.y},{x:(i=lB(p,g=d)/lB(g,g))*g.x,y:i*g.y});if(Math.sqrt(Math.pow(h.x,2)+Math.pow(h.y,2))>5)return n;let f={x:t.x+h.x,y:t.y+h.y};var p,g,m=lN(a(l.nodes()),{vertical:[{guide:f.x,offset:0,snap:"start",nodes:l.nodes()}],horizontal:[{guide:f.y,offset:0,snap:"start",nodes:l.nodes()}]});if(!m.length||(o(m),r.ctrlKey||r.metaKey))return n;let y=[];if(m.forEach(e=>{let t=function(e,t,n){if("V"===n.orientation){let r=n.lineGuide;if(1e-4>Math.abs(t.x-e.x))return null;let i=(t.y-e.y)/(t.x-e.x),a=e.y-i*e.x;return{x:r,y:i*r+a}}{let r=n.lineGuide;if(1e-4>Math.abs(t.y-e.y))return null;let i=(t.y-e.y)/(t.x-e.x);return{x:(r-e.y)/i+e.x,y:r}}}(f,u,{orientation:e.orientation,lineGuide:e.lineGuide});t&&y.push(t)}),y.length>0){let e=y[0],t=Math.sqrt(Math.pow(f.x-e.x,2)+Math.pow(f.y-e.y,2));if(y.forEach(n=>{let r=Math.sqrt(Math.pow(f.x-n.x,2)+Math.pow(f.y-n.y,2));r<t&&(t=r,e=n)}),t<10)return e}return f},c=e=>{if(!e.target)return;let t=e.target.getLayer(),n=t.children.find(e=>"line-guides"===e.name());n?.destroyChildren(),t.batchDraw()};y(_).useEffect(()=>{e.current&&(e.current.anchorDragBoundFunc(s),e.current.on("dragstart",e=>{setTimeout(()=>{lD()})}),e.current.on("dragmove",l),e.current.on("dragend",c),e.current.on("transformend",c),e.current.on("transform",t=>{t.evt.ctrlKey||t.evt.metaKey?e.current?.rotationSnapTolerance(0):e.current?.rotationSnapTolerance(5)}))},[])}(x);let K=e.activePage===t,Y=e._selectedPagesIds.includes(t.id),X=a?.PageControls,Z=a?.Tooltip,Q=a?.ContextMenu,J=1/e.scale,ee=0/e.scale;return(0,k.jsxs)("div",{ref:C,onDragOver:e=>e.preventDefault(),onDrop:n=>{if(n.preventDefault(),!w.current)return;w.current.setPointersPositions(n);let r=w.current.findOne(".elements-container"),i=r?.getRelativePointerPosition(),a=w.current.getPointerPosition(),o=[...new Set(w.current.getAllIntersections(a).map(e=>e.findAncestor(".element",!0)).filter(Boolean).reverse())].map(t=>e.getElementById(t.id())).filter(e=>!!e),l=o[0];pv&&i&&(pv(i,l,{elements:o,page:t}),pv=null)},style:{position:"relative",width:n+"px",height:r+"px",overflow:"hidden",flexShrink:0},className:"polotno-page-container"+(K?" active-page":""),children:[(0,k.jsx)(rF,{ref:w,width:Math.min(n,l.width+200),height:Math.min(l.height+200,r),onClick:G,onTap:G,onContextMenu:t=>{t.evt.preventDefault();let n=t.target.findAncestor(".element",!0),r=e.getElementById(n?.id()),i=r?.top,a=i?.id;a?e.selectedElementsIds.indexOf(a)>=0||e.selectElements([a]):e.selectElements([]),M.open({x:t.evt.clientX,y:t.evt.clientY})},onMouseDown:$,onMouseMove:t=>{if(!(e.distanceGuidesVisible||t.evt.altKey)){E&&T(null);return}let n=t.target.findAncestor(".element",!0);W(n?.id())},onDragStart:t=>{let n=t.target.getStage();if(n&&n.getPointersPositions().length>=2)return void t.target.stopDrag();let r=t.target.findAncestor(".element",!0);if(r){let n=e.getElementById(r?.id()),i=n?.top,a=i?.id;!(e.selectedElementsIds.indexOf(a)>=0)&&a&&(e.selectElements([a]),t.target.stopDrag(),t.target.startDrag(t),x.current?.startDrag(t))}E&&T(null)},pageId:t.id,style:{position:"absolute",overflow:"hidden",top:0,left:0},children:(0,k.jsxs)("Layer",{children:[(0,k.jsx)(ph,{width:n,height:r,fill:h.workspaceBackgroundColor}),(0,k.jsx)(rI,{x:b,y:v,scaleX:e.scale,scaleY:e.scale,name:"page-container",children:(0,k.jsxs)(rI,{name:"page-container-2",children:[(0,k.jsx)(rI,{name:"page-background-group",x:p,y:p,children:(0,k.jsx)(pg,{x:-t.bleed,y:-t.bleed,width:t.computedWidth+2*t.bleed,height:t.computedHeight+2*t.bleed,background:t.background,transparencyBackgroundColor:h.transparencyBackgroundColor,name:"page-background",preventDefault:!1,scale:e.scale})}),(0,k.jsxs)(rI,{x:p,y:p,name:"elements-container",listening:!e.isPlaying,children:[(0,k.jsx)(rM,{name:"elements-area",width:t.computedWidth,height:t.computedHeight,listening:!1}),(0,k.jsx)(pb,{elements:t.children,store:e})]}),(0,k.jsx)(rM,{stroke:h.bleedColor,name:"bleed",strokeWidth:t.bleed,x:t.bleed/2,y:t.bleed/2,width:t.computedWidth+t.bleed,height:t.computedHeight+t.bleed,listening:!1,visible:t.bleed>0&&e.bleedVisible,hideInExport:!0}),hM.value===pS&&(0,k.jsx)(pk,{name:"hit-detection",x:-J/2-ee,y:-J/2-ee,width:g+J+2*ee,height:m+J+2*ee})]})}),(0,k.jsx)(rL,{name:"workspace-background",points:[0,0,n,0,n,r,0,r,0,0,b,v,b,r-v,n-b,r-v,n-b,v,b,v],listening:!1,closed:!0,fill:h.workspaceBackgroundColor}),(0,k.jsx)(rI,{x:b,y:v,scaleX:e.scale,scaleY:e.scale,children:(0,k.jsx)(rM,{name:"page-highlight",hideInExport:!0,x:-J/2-ee,y:-J/2-ee,width:g+J+2*ee,height:m+J+2*ee,stroke:Y?h.activePageBorderColor:h.pageBorderColor,strokeWidth:2,listening:!1,strokeScaleEnabled:!1})}),(0,k.jsxs)(rI,{x:b+p*e.scale,y:v+p*e.scale,scaleX:e.scale,scaleY:e.scale,name:"page-abs-container",children:[(0,k.jsx)(rz,{ref:x,rotateAnchorAngle:I,onDragStart:n=>{let r=n.target.getStage();r&&r.getPointersPositions().length>=2?n.target.stopDrag():(n.evt?.altKey&&o&&e.selectedElements.forEach(e=>{let n=e.clone({},{skipSelect:!0}),r=t.children.indexOf(e);t.setElementZIndex(n.id,r)}),S.current=!0,e.history.startTransaction())},onDragEnd:()=>{S.current&&(e.history.endTransaction(),S.current=!1),F()},onTransformStart:()=>{e.history.startTransaction(),T(null)},boundBoxFunc:(t,n)=>{let r=1>Math.abs(n.width)||1>Math.abs(n.height),i=1>Math.abs(t.width)||1>Math.abs(t.height);if(r&&!i)return t;let a=e.selectedElements;if(1===a.length&&a[0]?.type==="table"){let e=a[0],r=Math.abs(t.width),i=Math.abs(t.height);if(r>0&&i>0){let a=Math.abs(n.width)/r,o=Math.abs(n.height)/i,l=e.width*a,s=e.height*o;if(l<e.minWidth||s<e.minHeight)return t}}return n},onTransform:e=>{let t=x.current.nodes(),n=t[t.length-1];e.target===n&&setTimeout(()=>{B()},0)},onTransformEnd:t=>{A({}),e.history.endTransaction(),F()},visible:!e.isPlaying}),E&&E.map(({points:t,distance:n,box1:r,box2:i},a)=>(0,k.jsxs)(rI,{name:"distances-container",hideInExport:!0,listening:!1,children:[(0,k.jsx)(rM,{...r,stroke:h.distanceGuideStyle.stroke,strokeWidth:1,strokeScaleEnabled:!1}),(0,k.jsx)(rM,{...i,stroke:h.distanceGuideStyle.stroke,strokeWidth:1,strokeScaleEnabled:!1}),(0,k.jsx)(rL,{points:[t[0].x,t[0].y,t[1].x,t[1].y],stroke:h.distanceGuideStyle.stroke,strokeWidth:1,strokeScaleEnabled:!1}),(0,k.jsx)(rL,{points:[t[1].x,t[1].y,t[2].x,t[2].y],stroke:h.distanceGuideStyle.stroke,strokeWidth:1,strokeScaleEnabled:!1}),(0,k.jsxs)(rR,{x:(t[0].x+t[1].x)/2,y:(t[0].y+t[1].y)/2,offsetY:-10,scaleX:1/e.scale,scaleY:1/e.scale,children:[(0,k.jsx)("Tag",{cornerRadius:5,fill:h.distanceGuideStyle.labelFill,pointerDirection:"down"}),(0,k.jsx)(rN,{align:"center",verticalAlign:"middle",fill:h.distanceGuideStyle.labelTextFill,padding:5,text:(e=>{let t=parseFloat(hY(e).toFixed(1));switch(e.unit){case"pt":return`${Math.round(t)}pt`;case"mm":return`${t}mm`;case"cm":return`${t}cm`;case"in":return`${t}in`;default:return`${Math.round(t)}px`}})({unit:e.unit,dpi:e.dpi,px:n})})]})]},a)),t._rendering&&(0,k.jsxs)(rI,{children:[(0,k.jsx)(rM,{width:g,height:m,fill:"rgba(255,255,255,0.9)"}),(0,k.jsx)(rN,{text:"Rendering...",fontSize:60,width:g,height:m,align:"center",verticalAlign:"middle"})]}),Z&&(0,k.jsx)(Z,{components:a,store:e,page:t,stageRef:w,tooltipSafeArea:c}),Q&&(0,k.jsx)(ic,{children:(0,k.jsx)(Q,{components:a,store:e,...M.props})})]}),(0,k.jsx)(pl,{store:e,page:t,width:n,height:r,scale:e.scale,xPadding:b,yPadding:v,bleed:p}),(0,k.jsx)(py,{...O,store:e}),(0,k.jsx)(pm,{selection:H}),hL.value>0&&(0,k.jsxs)(rI,{hideInExport:!0,children:[(0,k.jsx)(pP,{name:"cache-bounds",x:n-(1===hL.value?250:210),y:r-(1===hL.value?95:45)}),(0,k.jsx)(pP,{name:"cache-bounds-t",x:10,y:10})]}),hR.value&&(0,k.jsx)(rN,{text:"Powered by polotno.com",fontSize:14,fill:"rgba(0,0,0,0.6)",x:n-170,y:r-18,onMouseEnter:e=>{e.target.getStage().container().style.cursor="pointer"},onMouseLeave:e=>{e.target.getStage().container().style.cursor=""},onTouchStart:e=>{e.cancelBubble=!0},onMouseDown:e=>{e.cancelBubble=!0},onClick:()=>{window.open("https://polotno.com","_blank","noopener")},onTap:()=>{window.open("https://polotno.com","_blank","noopener")}}),(0,k.jsx)(rI,{name:"line-guides"})]})}),(i??!0)&&X&&(0,k.jsx)(X,{store:e,page:t,xPadding:b,yPadding:v,layout:s})]})}),_=C("8NFma");let pA=ly("div",y(_).forwardRef)`
|
|
372
|
+
</svg>`,a=`data:image/svg+xml;base64,${btoa(i)}`;e.container().style.cursor=`url("${a}") ${r} ${r}, crosshair`}return()=>{e.container()&&(e.container().style.cursor="")}}},[f,g,p,m,i]),f)?(0,k.jsxs)(rI,{ref:h,listening:f,x:a+l*i,y:o+l*i,scaleX:i,scaleY:i,children:[(0,k.jsx)(rM,{x:-(a+l*i)/i,y:-(o+l*i)/i,width:n/i,height:r/i,fill:"transparent",onMouseDown:v,onMouseMove:x,onMouseUp:w,onTouchStart:v,onTouchMove:x,onTouchEnd:w}),u.length>0&&(0,k.jsx)(rL,{points:C,stroke:g,strokeWidth:p,lineCap:"round",lineJoin:"round",opacity:m,tension:.5,listening:!1})]}):null});A(e=>{if(rB.isAlreadyRendering())queueMicrotask(()=>rB.batchedUpdates(e,null));else rB.batchedUpdates(e,null)});let ps=nA.DD._drag;window.removeEventListener("mousemove",ps),nA.DD._drag=function(e){(0,P.runInAction)(()=>{ps.call(this,e)})},window.addEventListener("mousemove",nA.DD._drag);let pc={enabledAnchors:["top-left","top-center","top-right","middle-left","bottom-left","bottom-right","bottom-center","middle-right"],rotateEnabled:!0,rotationSnaps:[0,45,90,135,180,225,270,315],ignoreStroke:!0,flipEnabled:!1,keepRatio:!0},pu={text:{enabledAnchors:["top-left","top-right","middle-left","bottom-left","bottom-right","middle-right"]},svg:{enabledAnchors:["top-left","top-right","bottom-left","bottom-right"]},gif:{enabledAnchors:["top-left","top-right","bottom-left","bottom-right"]},line:{enabledAnchors:[],borderEnabled:!1,rotateEnabled:!1},image:{enabledAnchors:["top-left","top-right","bottom-left","bottom-right"]},many:{enabledAnchors:["top-left","top-right","bottom-left","bottom-right"]},group:{enabledAnchors:["top-left","top-right","bottom-left","bottom-right"]},table:{keepRatio:!1,enabledAnchors:["top-left","top-right","middle-left","middle-right","bottom-left","bottom-right"]}};function pd(e,t){pu[e]=pu[e]||t,Object.assign(pu[e],t)}let ph=e=>(0,k.jsx)(rM,{...e,preventDefault:!1}),pf=({url:e,...t})=>{let[n,r]=y(rH)(e,"anonymous"),i=n?function(e,t,n="scale"){let r,i,a=t.width/t.height;a>=e.width/e.height?(r=e.width,i=e.width/a):(r=e.height*a,i=e.height);let o=0,l=0;return"left-top"===n?(o=0,l=0):"left-middle"===n?(o=0,l=(e.height-i)/2):"left-bottom"===n?(o=0,l=e.height-i):"center-top"===n?(o=(e.width-r)/2,l=0):"center-middle"===n?(o=(e.width-r)/2,l=(e.height-i)/2):"center-bottom"===n?(o=(e.width-r)/2,l=e.height-i):"right-top"===n?(o=e.width-r,l=0):"right-middle"===n?(o=e.width-r,l=(e.height-i)/2):"right-bottom"===n?(o=e.width-r,l=e.height-i):"scale"===n?(o=0,l=0,r=e.width,i=e.height):console.error(Error("Unknown clip position property - "+n)),{cropX:o,cropY:l,cropWidth:r,cropHeight:i}}(n,{width:t.width,height:t.height},"center-middle"):{};return oa(r,e,"page background"),(0,k.jsx)(rj,{image:n,...t,...i})},pp=e=>{let t=i_({a:{width:e.width,height:e.height},width:e.width,height:e.height},e.fill);return(0,k.jsx)(rM,{...e,...t})},pg=e=>{let{background:t,scale:n,borderColor:r,transparencyBackgroundColor:i,...a}=e,o=y(_).useMemo(()=>!!nA.Util.colorToRGBA(t)||iS(t),[t]),l=y(_).useMemo(()=>{if(iS(t))return!0;let e=nA.Util.colorToRGBA(t);return!e||e.a<1},[t]),s=y(_).useMemo(()=>{if(!l||i)return null;let e=document.createElement("canvas");e.width=60,e.height=60;let t=e.getContext("2d");return t&&(t.fillStyle="black",t.fillRect(30,0,30,30),t.fillRect(0,30,30,30)),e},[l,i]);return(0,k.jsxs)(y(_).Fragment,{children:[l&&(i?(0,k.jsx)(rM,{fill:i,...a,hideInExport:!0}):(0,k.jsx)(rM,{fillPatternImage:s,...a,opacity:.1,hideInExport:!0})),o?(0,k.jsx)(pp,{fill:t,...a}):(0,k.jsx)(pf,{url:t,...a})]})},pm=F(({selection:e})=>{if(!e.visible)return null;let{selectionRectStyle:t}=r5();return(0,k.jsx)(rM,{name:"selection",x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),width:Math.abs(e.x1-e.x2),height:Math.abs(e.y1-e.y2),fill:t.fill,stroke:t.stroke,strokeWidth:t.strokeWidth})}),py=F(({x:e,y:t,width:n,height:r,rotation:i,anchor:a,store:o})=>{let l,{transformLabelStyle:s}=r5();if(void 0===e||void 0===t||void 0===n||void 0===r||void 0===i||void 0===a)return null;let c=lR({x:e,y:t,width:n,height:r,rotation:nA.Util.radToDeg(i)}),u=(r/2+70)*Math.cos(i-Math.PI/2),d=(r/2+70)*Math.sin(i-Math.PI/2),h=hX({unit:o.unit,dpi:o.dpi,px:n/o.scale,precious:+("px"!==o.unit)})+" x "+hX({unit:o.unit,dpi:o.dpi,px:r/o.scale,precious:+("px"!==o.unit)})+("px"===o.unit?"":" "+o.unit);return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)(rR,{x:(c.minX+c.maxX)/2+u,y:(c.minY+c.maxY)/2+d,offsetX:14,offsetY:14,visible:"rotater"===a,children:[(0,k.jsx)("Tag",{cornerRadius:5,fill:s.fill}),(0,k.jsx)(rN,{align:"center",verticalAlign:"middle",fill:s.textFill,padding:8,text:((l=180*i/Math.PI%360)>180?l-=360:l<-180&&(l+=360),Math.round(l)).toString()+"°"})]}),(0,k.jsxs)(rR,{x:(c.minX+c.maxX)/2,y:c.maxY+20,visible:"rotater"!==a,children:[(0,k.jsx)("Tag",{cornerRadius:5,fill:s.fill,pointerDirection:"up",pointerHeight:0,pointerWidth:0}),(0,k.jsx)(rN,{align:"center",verticalAlign:"middle",fill:s.textFill,padding:8,text:h})]})]})}),pb=F(({elements:e,store:t})=>{let n=e.filter(e=>e.alwaysOnTop),r=e.filter(e=>!e.alwaysOnTop).concat(n);return(0,k.jsx)(y(_).Fragment,{children:r.map(e=>(0,k.jsx)(po,{store:t,element:e,onClick:()=>{console.warn("Polotno warning: onClick callback is deprecated. Just stop using it. Polotno will do selection automatically.")}},e.id))})}),pv=null,px=e=>{pv=e},pw=atob("UG9sb3RubyBmcmVlIGxpY2Vuc2UgbGltaXRhdGlvbiBleGNlZWRlZCAtIFBsZWFzZSB1cGdyYWRlIHlvdXIgYWNjb3VudC4="),pC=atob("I2MwMzkyYg=="),pS=atob("djAuOS4y"),pk=e=>(0,k.jsx)(k.Fragment,{children:(0,k.jsxs)(rR,{fill:pC,height:200,children:[(0,k.jsx)("Tag",{fill:pC}),(0,k.jsx)(rN,{...e,fill:"white",text:pw,height:void 0,padding:10,fontSize:20})]})}),p_=atob("RlJFRSAgVFJJQUwgIExJQ0VOU0U=");atob("UG93ZXJlZCBieSBQb2xvdG5v");let pE=atob("TElDRU5TRSAgS0VZICBJUyAgTUlTU0lORw=="),pT=atob("UGxlYXNlIGFjdGl2YXRlIHlvdXIgbGljZW5zZS4KTGljZW5zZSByZWxhdGVkIHF1ZXN0aW9uczoKcG9sb3Ruby5jb20vY29udGFjdA=="),pP=e=>{let t=1===hL.value,n=t?230:195;return(0,k.jsxs)(rI,{...e,listening:!1,children:[(0,k.jsx)(rM,{fill:pC,width:n,height:24,cornerRadius:2}),(0,k.jsx)(rN,{text:t?pE:p_,fill:"white",fontSize:13,fontFamily:"monospace",width:n,align:"center",y:5,listening:!1}),t&&(0,k.jsx)(rN,{text:pT,fill:"rgba(0,0,0,0.6)",fontSize:14,y:30,listening:!1})]})};var pO=F(({store:e,page:t,width:n,height:r,pageControlsEnabled:i,components:a,altCloneEnabled:o,viewportSize:l,layout:s="vertical",tooltipSafeArea:c,transformerSafeArea:u})=>{var d;let h=r5(),f=h.transformerStyle,p=e.bleedVisible?t.bleed:0,g=t.computedWidth+2*p,m=t.computedHeight+2*p,b=(n-g*e.scale)/2,v=(r-m*e.scale)/2,x=y(_).useRef(null),w=y(_).useRef(null),C=y(_).useRef(null),S=y(_).useRef(!1),[E,T]=y(_).useState(null),[O,A]=y(_).useState({}),[I,R]=y(_).useState(0),M=(({store:e})=>{let[t,n]=y(_).useState(!1),[r,i]=y(_).useState({x:0,y:0});return{open:y(_).useCallback(e=>{n(!0),i(e)},[]),close:y(_).useCallback(()=>{n(!1)},[]),props:{isOpen:t,offset:r,setIsOpen:n}}})({store:e}),L=e.selectedElements.find(e=>e._cropModeEnabled),j=e.selectedElements.find(e=>e.curveEnabled),N=e.selectedShapes.filter(e=>!e.resizable).length>0,D=e.selectedShapes.filter(e=>!e.draggable).length>0,z=e.selectedElements.filter(e=>!e.visible).length>0;y(_).useLayoutEffect(()=>{if(!x.current)return;let t=x.current.getStage(),n=e.selectedShapes.map(e=>e._cropModeEnabled?null:t.findOne("#"+e.id)).filter(e=>!!e),r=1===e.selectedElements.length,i=r&&e.selectedElements[0]?.type||"many",a=pu[i],o={...pc,...a||{}};a&&("svg"!==i&&"image"!==i&&"gif"!==i||e.selectedElements[0].keepRatio||(o.enabledAnchors=pc.enabledAnchors),"text"===i&&at.textVerticalResizeEnabled&&(o.enabledAnchors=pu.text.enabledAnchors?.concat(["bottom-center"])),"text"===i&&r&&e.selectedElements[0].curveEnabled&&(o.enabledAnchors=pu.many.enabledAnchors)),x.current.setAttrs({...o,...f}),N&&x.current.enabledAnchors([]),D&&x.current.rotateEnabled(!1),n.find(e=>e?.isDragging())&&n.forEach(e=>{e.isDragging()||e?.startDrag()}),x.current.nodes(n),lD(),x.current.getLayer()?.batchDraw()},[e.selectedShapes,L,N,z,D,j,f]);let B=()=>{let e=x.current;if(!e)return;if(!e.isTransforming())return void A({});if(!e.nodes().length||!e.isTransforming())return;let t=e.__getNodeRect(),n=e?.getActiveAnchor(),r=e.getStage();A({anchor:n,x:t.x-(r?.x()??0),y:t.y-(r?.y()??0),rotation:t.rotation,width:t.width,height:t.height})},F=y(_).useCallback(()=>{if(x.current?.isTransforming())return;let e=x.current;if(!e||!e.nodes().length)return void R(0);let t=e.getClientRect();e.getStage()&&R(function(e,t,n,r=0){let i=e.x+e.width/2,a=e.y+e.height/2,o=e.width/2,l=e.height/2,s=r*Math.PI/180,c=e=>{let t,r=e*Math.PI/180,c=(e%360+360)%360,u=Math.sin(r)*((t=0===c||180===c?l:o)+n),d=-Math.cos(r)*(t+n);return{x:i+(u*Math.cos(s)-d*Math.sin(s)),y:a+(u*Math.sin(s)+d*Math.cos(s))}},u=e=>e.x>=t.left&&e.x<=t.right&&e.y>=t.top&&e.y<=t.bottom;if(u(c(0)))return 0;for(let e of[180,270,90])if(u(c(e)))return e;return 0}(t,{top:u?.top||0,bottom:r-(u?.bottom||0),left:u?.left||0,right:n-(u?.right||0)},f.rotateAnchorOffset,e.rotation()))},[u,n,r]);y(_).useEffect(()=>{x.current?.update(),B(),F()},[e.scale,F]),y(_).useEffect(()=>{F()},[e.selectedShapes,F]);let H=(d=()=>({visible:!1,x1:0,y1:0,x2:0,y2:0}),(0,_.useState)(function(){return(0,P.observable)(d(),void 0,{autoBind:!0})})[0]),V=y(_).useRef(!1),U=aE(),$=(0,P.action)(e=>{if(U)return;V.current=!1;let t=e.target.findAncestor(".elements-container"),n=e.target.findAncestor("Transformer"),r=e.target.findAncestor(".page-abs-container");if(t||n||r)return;let i=e.target.getStage()?.getPointerPosition();i&&(i.x-=e.target.getStage()?.x()??0,i.y-=e.target.getStage()?.y()??0,H.visible=!0,H.x1=i.x,H.y1=i.y,H.x2=i.x,H.y2=i.y,(e.target.getStage()?.getPointersPositions().length??0)>=2&&(H.visible=!1))});(({stageRef:e,containerRef:t,viewportSize:n})=>{y(_).useEffect(()=>{let n=t.current?.closest(".polotno-workspace-inner");function r(){if(!e.current)return;let r=t.current?.getBoundingClientRect(),i=n?.getBoundingClientRect();if(!r||!i)return;let a=Math.max(0,i.left-r.left-100),o=Math.max(0,i.top-r.top-100);e.current.position({x:-a,y:-o}),e.current.container().style.transform=`translate(${a}px, ${o}px)`}return r(),n?.addEventListener("scroll",r),()=>{n?.removeEventListener("scroll",r)}},[n.width,n.height])})({stageRef:w,containerRef:C,viewportSize:l}),y(_).useEffect(()=>{let t=(0,P.action)(e=>{if(!H.visible)return;w.current?.setPointersPositions(e);let t=w.current?.getPointerPosition();t?(t.x-=w.current?.x()??0,t.y-=w.current?.y()??0):t={x:H.x2,y:H.y2},H.x2=t.x,H.y2=t.y}),n=(0,P.action)(()=>{if(!H.visible||!w.current)return;let t=w.current.findOne(".selection"),n=t?t.getClientRect({skipStroke:!0}):{width:0,height:0,x:0,y:0};if(n.width&&n.height){let t=[];w.current.find(".element").forEach(r=>{let i=r.getClientRect(),a=e.getElementById(r.id()),o=a?.draggable,l=a?.selectable;nA.Util.haveIntersection(n,i)&&o&&l&&t.push(a.top.id)});let r=[...new Set(t)];V.current=!0,e.selectElements(r)}H.visible=!1});return window.addEventListener("mousemove",t),window.addEventListener("touchmove",t),window.addEventListener("mouseup",n,{capture:!0}),window.addEventListener("touchend",n,{capture:!0}),()=>{window.removeEventListener("mousemove",t),window.removeEventListener("touchmove",t),window.removeEventListener("mouseup",n),window.removeEventListener("touchend",n)}},[]);let W=y(_).useCallback(n=>{if(!e.selectedElements[0]||n&&e.selectedElementsIds.includes(n))return;let r=lM(e.selectedShapes),i=lR(n?e.getElementById(n):{x:0,y:0,width:t.computedWidth,height:t.computedHeight,rotation:0}),a=[];r.minX>i.maxX&&a.push({distance:r.minX-i.maxX,box1:r,box2:i,points:[{x:r.minX,y:r.minY+r.height/2},{x:i.maxX,y:r.minY+r.height/2},{x:i.maxX,y:i.minY+i.height/2}]}),r.maxX<i.minX&&a.push({distance:i.minX-r.maxX,box1:r,box2:i,points:[{x:r.maxX,y:r.minY+r.height/2},{x:i.minX,y:r.minY+r.height/2},{x:i.minX,y:i.minY+i.height/2}]}),r.minY>i.maxY&&a.push({box1:r,box2:i,distance:r.minY-i.maxY,points:[{x:r.minX+r.width/2,y:r.minY},{x:r.minX+r.width/2,y:i.maxY},{x:i.minX+i.width/2,y:i.maxY}]}),r.maxY<i.minY&&a.push({box1:r,box2:i,distance:i.minY-r.maxY,points:[{x:r.minX+r.width/2,y:r.maxY},{x:r.minX+r.width/2,y:i.minY},{x:i.minX+i.width/2,y:i.minY}]});let o=r.minX>=i.minX&&r.maxX<=i.maxX&&r.minY>=i.minY&&r.maxY<=i.maxY;if(o&&(a.push({distance:r.minX-i.minX,box1:r,box2:i,points:[{x:r.minX,y:r.minY+r.height/2},{x:i.minX,y:r.minY+r.height/2},{x:i.minX,y:i.minY+i.height/2}]}),a.push({distance:i.maxX-r.maxX,box1:r,box2:i,points:[{x:r.maxX,y:r.minY+r.height/2},{x:i.maxX,y:r.minY+r.height/2},{x:i.maxX,y:i.minY+i.height/2}]}),a.push({box1:r,box2:i,distance:r.minY-i.minY,points:[{x:r.minX+r.width/2,y:r.minY},{x:r.minX+r.width/2,y:i.minY},{x:i.minX+i.width/2,y:i.minY}]}),a.push({box1:r,box2:i,distance:i.maxY-r.maxY,points:[{x:r.minX+r.width/2,y:r.maxY},{x:r.minX+r.width/2,y:i.maxY},{x:i.minX+i.width/2,y:i.maxY}]})),0===a.length&&!o){let e=r.minX<i.maxX&&r.maxX>i.minX,t=r.minY<i.maxY&&r.maxY>i.minY;if(e&&t){let e=(Math.max(r.minY,i.minY)+Math.min(r.maxY,i.maxY))/2,t=(Math.max(r.minX,i.minX)+Math.min(r.maxX,i.maxX))/2;r.minX<i.minX?a.push({distance:i.minX-r.minX,box1:r,box2:i,points:[{x:r.minX,y:e},{x:i.minX,y:e},{x:i.minX,y:e}]}):a.push({distance:r.minX-i.minX,box1:r,box2:i,points:[{x:r.minX,y:e},{x:i.minX,y:e},{x:i.minX,y:e}]}),r.maxX>i.maxX?a.push({distance:r.maxX-i.maxX,box1:r,box2:i,points:[{x:i.maxX,y:e},{x:r.maxX,y:e},{x:i.maxX,y:e}]}):a.push({distance:i.maxX-r.maxX,box1:r,box2:i,points:[{x:r.maxX,y:e},{x:i.maxX,y:e},{x:i.maxX,y:e}]}),r.minY<i.minY?a.push({box1:r,box2:i,distance:i.minY-r.minY,points:[{x:t,y:r.minY},{x:t,y:i.minY},{x:t,y:i.minY}]}):a.push({box1:r,box2:i,distance:r.minY-i.minY,points:[{x:t,y:r.minY},{x:t,y:i.minY},{x:t,y:i.minY}]}),r.maxY>i.maxY?a.push({box1:r,box2:i,distance:r.maxY-i.maxY,points:[{x:t,y:i.maxY},{x:t,y:r.maxY},{x:t,y:i.maxY}]}):a.push({box1:r,box2:i,distance:i.maxY-r.maxY,points:[{x:t,y:r.maxY},{x:t,y:i.maxY},{x:t,y:i.maxY}]})}}JSON.stringify(E)!==JSON.stringify(a)&&T(a)},[e,t]);y(_).useEffect(()=>{e.distanceGuidesVisible?W():E&&T(null)},[e.distanceGuidesVisible,W,e.selectedShapes.map(e=>`${e.x},${e.y},${e.width},${e.height},${e.rotation}`).join("|")]);let q=y(_).useRef(!1);y(_).useEffect(()=>{let e,t=C.current?.closest(".polotno-workspace-inner"),n=()=>{q.current=!0,clearTimeout(e),e=setTimeout(()=>{q.current=!1},300)};return t?.addEventListener("scroll",n),()=>{clearTimeout(e),t?.removeEventListener("scroll",n)}},[]),y(_).useEffect(()=>{let e=w.current;if(!e)return;let t=e.container(),n=e=>{e.touches.length>=2&&(x.current?.isDragging()&&x.current.stopDrag(),x.current?.nodes().forEach(e=>{e.isDragging()&&e.stopDrag()}))};return t.addEventListener("touchstart",n,{passive:!0}),t.addEventListener("touchmove",n,{passive:!0}),()=>{t.removeEventListener("touchstart",n),t.removeEventListener("touchmove",n)}},[]);let G=n=>{if(e.activePage!==t&&t.select(),q.current||V.current)return;let r=n.evt.ctrlKey||n.evt.metaKey||n.evt.shiftKey,i=n.target.findAncestor(".elements-container"),a=n.target.findAncestor(".page-abs-container"),o=n.target.findAncestor("Transformer"),l=n.target.findAncestor(".page-container",!0);if(!r&&!i&&!o&&!a&&!l&&!H.visible){e.selectElements([]),e.selectPages([]);return}let s=n.target.findAncestor(".element-container",!0),c=s?.findOne(".element")||n.target.findAncestor(".element",!0),u=e.getElementById(c?.id()),d=u?.top,h=d?.id,f=e.selectedElementsIds.indexOf(h)>=0,p=n.target.findAncestor(".page-container",!0);h&&r&&!f?(e.selectElements(e.selectedElementsIds.concat([h])),e.selectPages([])):h&&r&&f?e.selectElements(e.selectedElementsIds.filter(e=>e!==h)):!h||r||f?h&&!r&&f||(p?(r||e.selectElements([]),e.selectPages([t.id])):e.selectPages([])):(e.selectElements([h]),e.selectPages([]))};!function(e){let t=y(_).useRef(null),{snapGuideStyle:n}=r5(),r=y(_).useRef(n);r.current=n;let i=e=>e.hasName("element")||e.hasName("page-background")||!t.current&&e.hasName("elements-area");function a(t){let n=e.current?.getStage(),r=[],a=[];return n.find(i).forEach(e=>{if(!(t.indexOf(e)>=0)){var n=e.getClientRect({skipShadow:!0,skipStroke:!0});r.push({offset:n.x,node:e,snap:"start"},{offset:n.x+n.width,node:e,snap:"end"},{offset:n.x+n.width/2,node:e,snap:"center"}),a.push({offset:n.y,node:e,snap:"start"},{offset:n.y+n.height,node:e,snap:"end"},{offset:n.y+n.height/2,node:e,snap:"center"})}}),{vertical:r,horizontal:a}}function o(t){let n=e.current?.getLayer(),i=n?.children.find(e=>"line-guides"===e.name());t.forEach(e=>{if("H"===e.orientation){var t=new nA.Line({x:-n.getStage().x(),y:-n.getStage().y(),points:[-6e3,e.lineGuide,6e3,e.lineGuide],stroke:r.current.stroke,strokeWidth:r.current.strokeWidth,name:"guid-line",dash:r.current.dash});i?.add(t),n.batchDraw()}else if("V"===e.orientation){var t=new nA.Line({x:-n.getStage().x(),y:-n.getStage().y(),points:[e.lineGuide,-6e3,e.lineGuide,6e3],stroke:r.current.stroke,strokeWidth:r.current.strokeWidth,name:"guid-line",dash:r.current.dash});i?.add(t)}})}let l=e=>{let t,n,r,i=e.target.getLayer().children.find(e=>"line-guides"===e.name());i?.destroyChildren();var l,s=lN(a(e.target.nodes()),(n=lR({...t=(l=e.target).__getNodeRect(),rotation:nA.Util.radToDeg(t.rotation)}),r=l.getAbsolutePosition(),{vertical:[{guide:n.x,offset:r.x-n.x,snap:"start",nodes:l.nodes()},{guide:n.x+n.width/2,offset:r.x-n.x-n.width/2,snap:"center",nodes:l.nodes()},{guide:n.x+n.width,offset:r.x-n.x-n.width,snap:"end",nodes:l.nodes()}],horizontal:[{guide:n.y,offset:r.y-n.y,snap:"start",nodes:l.nodes()},{guide:n.y+n.height/2,offset:r.y-n.y-n.height/2,snap:"center",nodes:l.nodes()},{guide:n.y+n.height,offset:r.y-n.y-n.height,snap:"end",nodes:l.nodes()}]}));if(!s.length)return;o(s);let c=e.target.getAbsolutePosition();e.target.nodes().map(e=>e.getAbsolutePosition());let u={...c};s.forEach(e=>{switch(e.snap){case"start":case"center":case"end":switch(e.orientation){case"V":u.x=e.lineGuide+e.offset;break;case"H":u.y=e.lineGuide+e.offset}}});let d=u.x-c.x,h=u.y-c.y;e.evt.ctrlKey||e.evt.metaKey||e.target.nodes().forEach(e=>{let t=e.getAbsolutePosition();e.setAbsolutePosition({x:t.x+d,y:t.y+h})})},s=(t,n,r)=>{let i,l=e.current,s=l.getLayer().children.find(e=>"line-guides"===e.name());if(s?.destroyChildren(),"rotater"===l.getActiveAnchor())return n;let c=lF[l.getActiveAnchor()],u=l.findOne(`.${c}`)?.getAbsolutePosition();if(!u)return n;let d={x:t.x-u.x,y:t.y-u.y},h=(p={x:n.x-t.x,y:n.y-t.y},{x:(i=lB(p,g=d)/lB(g,g))*g.x,y:i*g.y});if(Math.sqrt(Math.pow(h.x,2)+Math.pow(h.y,2))>5)return n;let f={x:t.x+h.x,y:t.y+h.y};var p,g,m=lN(a(l.nodes()),{vertical:[{guide:f.x,offset:0,snap:"start",nodes:l.nodes()}],horizontal:[{guide:f.y,offset:0,snap:"start",nodes:l.nodes()}]});if(!m.length||(o(m),r.ctrlKey||r.metaKey))return n;let y=[];if(m.forEach(e=>{let t=function(e,t,n){if("V"===n.orientation){let r=n.lineGuide;if(1e-4>Math.abs(t.x-e.x))return null;let i=(t.y-e.y)/(t.x-e.x),a=e.y-i*e.x;return{x:r,y:i*r+a}}{let r=n.lineGuide;if(1e-4>Math.abs(t.y-e.y))return null;let i=(t.y-e.y)/(t.x-e.x);return{x:(r-e.y)/i+e.x,y:r}}}(f,u,{orientation:e.orientation,lineGuide:e.lineGuide});t&&y.push(t)}),y.length>0){let e=y[0],t=Math.sqrt(Math.pow(f.x-e.x,2)+Math.pow(f.y-e.y,2));if(y.forEach(n=>{let r=Math.sqrt(Math.pow(f.x-n.x,2)+Math.pow(f.y-n.y,2));r<t&&(t=r,e=n)}),t<10)return e}return f},c=e=>{if(!e.target)return;let t=e.target.getLayer(),n=t.children.find(e=>"line-guides"===e.name());n?.destroyChildren(),t.batchDraw()};y(_).useEffect(()=>{e.current&&(e.current.anchorDragBoundFunc(s),e.current.on("dragstart",e=>{setTimeout(()=>{lD()})}),e.current.on("dragmove",l),e.current.on("dragend",c),e.current.on("transformend",c),e.current.on("transform",t=>{t.evt.ctrlKey||t.evt.metaKey?e.current?.rotationSnapTolerance(0):e.current?.rotationSnapTolerance(5)}))},[])}(x);let K=e.activePage===t,Y=e._selectedPagesIds.includes(t.id),X=a?.PageControls,Z=a?.Tooltip,Q=a?.ContextMenu,J=1/e.scale,ee=0/e.scale;return(0,k.jsxs)("div",{ref:C,onDragOver:e=>e.preventDefault(),onDrop:n=>{if(n.preventDefault(),!w.current)return;w.current.setPointersPositions(n);let r=w.current.findOne(".elements-container"),i=r?.getRelativePointerPosition(),a=w.current.getPointerPosition(),o=[...new Set(w.current.getAllIntersections(a).map(e=>e.findAncestor(".element",!0)).filter(Boolean).reverse())].map(t=>e.getElementById(t.id())).filter(e=>!!e),l=o[0];pv&&i&&(pv(i,l,{elements:o,page:t}),pv=null)},style:{position:"relative",width:n+"px",height:r+"px",overflow:"hidden",flexShrink:0},className:"polotno-page-container"+(K?" active-page":""),children:[(0,k.jsx)(rF,{ref:w,width:Math.min(n,l.width+200),height:Math.min(l.height+200,r),onClick:G,onTap:G,onContextMenu:t=>{t.evt.preventDefault();let n=t.target.findAncestor(".element",!0),r=e.getElementById(n?.id()),i=r?.top,a=i?.id;a?e.selectedElementsIds.indexOf(a)>=0||e.selectElements([a]):e.selectElements([]),M.open({x:t.evt.clientX,y:t.evt.clientY})},onMouseDown:$,onMouseMove:t=>{if(!(e.distanceGuidesVisible||t.evt.altKey)){E&&T(null);return}let n=t.target.findAncestor(".element",!0);W(n?.id())},onDragStart:t=>{let n=t.target.getStage();if(n&&n.getPointersPositions().length>=2)return void t.target.stopDrag();let r=t.target.findAncestor(".element",!0);if(r){let n=e.getElementById(r?.id()),i=n?.top,a=i?.id;!(e.selectedElementsIds.indexOf(a)>=0)&&a&&(e.selectElements([a]),t.target.stopDrag(),t.target.startDrag(t),x.current?.startDrag(t))}E&&T(null)},pageId:t.id,style:{position:"absolute",overflow:"hidden",top:0,left:0},children:(0,k.jsxs)("Layer",{children:[(0,k.jsx)(ph,{width:n,height:r,fill:h.workspaceBackgroundColor}),(0,k.jsx)(rI,{x:b,y:v,scaleX:e.scale,scaleY:e.scale,name:"page-container",children:(0,k.jsxs)(rI,{name:"page-container-2",children:[(0,k.jsx)(rI,{name:"page-background-group",x:p,y:p,children:(0,k.jsx)(pg,{x:-t.bleed,y:-t.bleed,width:t.computedWidth+2*t.bleed,height:t.computedHeight+2*t.bleed,background:t.background,transparencyBackgroundColor:h.transparencyBackgroundColor,name:"page-background",preventDefault:!1,scale:e.scale})}),(0,k.jsxs)(rI,{x:p,y:p,name:"elements-container",listening:!e.isPlaying,children:[(0,k.jsx)(rM,{name:"elements-area",width:t.computedWidth,height:t.computedHeight,listening:!1}),(0,k.jsx)(pb,{elements:t.children,store:e})]}),(0,k.jsx)(rM,{stroke:h.bleedColor,name:"bleed",strokeWidth:t.bleed,x:t.bleed/2,y:t.bleed/2,width:t.computedWidth+t.bleed,height:t.computedHeight+t.bleed,listening:!1,visible:t.bleed>0&&e.bleedVisible,hideInExport:!0}),hM.value===pS&&(0,k.jsx)(pk,{name:"hit-detection",x:-J/2-ee,y:-J/2-ee,width:g+J+2*ee,height:m+J+2*ee})]})}),(0,k.jsx)(rL,{name:"workspace-background",points:[0,0,n,0,n,r,0,r,0,0,b,v,b,r-v,n-b,r-v,n-b,v,b,v],listening:!1,closed:!0,fill:h.workspaceBackgroundColor}),(0,k.jsx)(rI,{x:b,y:v,scaleX:e.scale,scaleY:e.scale,children:(0,k.jsx)(rM,{name:"page-highlight",hideInExport:!0,x:-J/2-ee,y:-J/2-ee,width:g+J+2*ee,height:m+J+2*ee,stroke:Y?h.activePageBorderColor:h.pageBorderColor,strokeWidth:2,listening:!1,strokeScaleEnabled:!1})}),(0,k.jsxs)(rI,{x:b+p*e.scale,y:v+p*e.scale,scaleX:e.scale,scaleY:e.scale,name:"page-abs-container",children:[(0,k.jsx)(rz,{ref:x,rotateAnchorAngle:I,onDragStart:n=>{let r=n.target.getStage();r&&r.getPointersPositions().length>=2?n.target.stopDrag():(n.evt?.altKey&&o&&e.selectedElements.forEach(e=>{let n=e.clone({},{skipSelect:!0}),r=t.children.indexOf(e);t.setElementZIndex(n.id,r)}),S.current=!0,e.history.startTransaction())},onDragEnd:()=>{S.current&&(e.history.endTransaction(),S.current=!1),F()},onTransformStart:()=>{e.history.startTransaction(),T(null)},boundBoxFunc:(t,n)=>{let r=1>Math.abs(n.width)||1>Math.abs(n.height),i=1>Math.abs(t.width)||1>Math.abs(t.height);if(r&&!i)return t;let a=e.selectedElements;if(1===a.length&&a[0]?.type==="table"){let e=a[0],r=Math.abs(t.width),i=Math.abs(t.height);if(r>0&&i>0){let a=Math.abs(n.width)/r,o=Math.abs(n.height)/i,l=e.width*a,s=e.height*o,c={...n};return l<e.minWidth&&(c.width=t.width,c.x=t.x),s<e.minHeight&&(c.height=t.height,c.y=t.y),c}}return n},onTransform:e=>{let t=x.current.nodes(),n=t[t.length-1];e.target===n&&setTimeout(()=>{B()},0)},onTransformEnd:t=>{A({}),e.history.endTransaction(),F()},visible:!e.isPlaying}),E&&E.map(({points:t,distance:n,box1:r,box2:i},a)=>(0,k.jsxs)(rI,{name:"distances-container",hideInExport:!0,listening:!1,children:[(0,k.jsx)(rM,{...r,stroke:h.distanceGuideStyle.stroke,strokeWidth:1,strokeScaleEnabled:!1}),(0,k.jsx)(rM,{...i,stroke:h.distanceGuideStyle.stroke,strokeWidth:1,strokeScaleEnabled:!1}),(0,k.jsx)(rL,{points:[t[0].x,t[0].y,t[1].x,t[1].y],stroke:h.distanceGuideStyle.stroke,strokeWidth:1,strokeScaleEnabled:!1}),(0,k.jsx)(rL,{points:[t[1].x,t[1].y,t[2].x,t[2].y],stroke:h.distanceGuideStyle.stroke,strokeWidth:1,strokeScaleEnabled:!1}),(0,k.jsxs)(rR,{x:(t[0].x+t[1].x)/2,y:(t[0].y+t[1].y)/2,offsetY:-10,scaleX:1/e.scale,scaleY:1/e.scale,children:[(0,k.jsx)("Tag",{cornerRadius:5,fill:h.distanceGuideStyle.labelFill,pointerDirection:"down"}),(0,k.jsx)(rN,{align:"center",verticalAlign:"middle",fill:h.distanceGuideStyle.labelTextFill,padding:5,text:(e=>{let t=parseFloat(hY(e).toFixed(1));switch(e.unit){case"pt":return`${Math.round(t)}pt`;case"mm":return`${t}mm`;case"cm":return`${t}cm`;case"in":return`${t}in`;default:return`${Math.round(t)}px`}})({unit:e.unit,dpi:e.dpi,px:n})})]})]},a)),t._rendering&&(0,k.jsxs)(rI,{children:[(0,k.jsx)(rM,{width:g,height:m,fill:"rgba(255,255,255,0.9)"}),(0,k.jsx)(rN,{text:"Rendering...",fontSize:60,width:g,height:m,align:"center",verticalAlign:"middle"})]}),Z&&(0,k.jsx)(Z,{components:a,store:e,page:t,stageRef:w,tooltipSafeArea:c}),Q&&(0,k.jsx)(ic,{children:(0,k.jsx)(Q,{components:a,store:e,...M.props})})]}),(0,k.jsx)(pl,{store:e,page:t,width:n,height:r,scale:e.scale,xPadding:b,yPadding:v,bleed:p}),(0,k.jsx)(py,{...O,store:e}),(0,k.jsx)(pm,{selection:H}),hL.value>0&&(0,k.jsxs)(rI,{hideInExport:!0,children:[(0,k.jsx)(pP,{name:"cache-bounds",x:n-(1===hL.value?250:210),y:r-(1===hL.value?95:45)}),(0,k.jsx)(pP,{name:"cache-bounds-t",x:10,y:10})]}),hR.value&&(0,k.jsx)(rN,{text:"Powered by polotno.com",fontSize:14,fill:"rgba(0,0,0,0.6)",x:n-170,y:r-18,onMouseEnter:e=>{e.target.getStage().container().style.cursor="pointer"},onMouseLeave:e=>{e.target.getStage().container().style.cursor=""},onTouchStart:e=>{e.cancelBubble=!0},onMouseDown:e=>{e.cancelBubble=!0},onClick:()=>{window.open("https://polotno.com","_blank","noopener")},onTap:()=>{window.open("https://polotno.com","_blank","noopener")}}),(0,k.jsx)(rI,{name:"line-guides"})]})}),(i??!0)&&X&&(0,k.jsx)(X,{store:e,page:t,xPadding:b,yPadding:v,layout:s})]})}),_=C("8NFma");let pA=ly("div",y(_).forwardRef)`
|
|
373
373
|
position: absolute;
|
|
374
374
|
top: 0;
|
|
375
375
|
left: 0;
|
|
@@ -440,7 +440,7 @@ For simpler debugging here is the log of the parent element:`,p5=({store:e})=>(0
|
|
|
440
440
|
.bp5-dark & {
|
|
441
441
|
filter: invert(1);
|
|
442
442
|
}
|
|
443
|
-
`,Mm=({fontFamily:e,handleClick:t,modifiers:n,store:r,isCustom:i})=>{let[a,o]=y(_).useState(!i);if(y(_).useEffect(()=>{a||r.loadFont(e)},[e,a]),"_divider"===e)return(0,k.jsx)("div",{style:{paddingTop:"10px"},children:(0,k.jsx)(ks,{})});let l=a?(0,k.jsx)(Mg,{src:hA(e),alt:e,onError:()=>{o(!1)}}):e;return(0,k.jsx)(kd,{text:l,active:n.active,disabled:n.disabled,onClick:t,style:{fontFamily:'"'+e+'"'}})},My=({onChange:e,defaultValue:t})=>{let n=y(_).useRef(null);return y(_).useEffect(()=>{n.current&&n.current.focus()},[]),(0,k.jsx)(_e,{leftIcon:(0,k.jsx)(EP,{}),inputRef:n,defaultValue:t,onChange:t=>e(t.target.value)})},Mb=({store:e,fonts:t,activeFont:n,activeFontLabel:r,onFontSelect:i})=>{let[a,o]=y(_).useState(""),l=t.filter(e=>e?.toLowerCase().indexOf(a.toLowerCase())>=0);return(0,k.jsx)(SH,{content:(0,k.jsxs)("div",{children:[(0,k.jsx)(My,{onChange:e=>o(e),defaultValue:a}),(0,k.jsx)("div",{style:{paddingTop:"5px"},children:(0,k.jsx)(_O,{innerElementType:y(_).forwardRef((e,t)=>(0,k.jsx)(kl,{ulRef:t,...e})),height:Math.min(400,30*l.length)+10,width:210,itemCount:l.length,itemSize:30,children:({index:t,style:r})=>{let a=l[t];return(0,k.jsx)("div",{style:r,children:(0,k.jsx)(Mm,{fontFamily:a,modifiers:{active:n===a},handleClick:()=>i(a),store:e,isCustom:e.fonts.find(e=>e.fontFamily===a)||iG.find(e=>e.fontFamily===a)},a)})}})})]}),children:(0,k.jsx)(Sq,{content:p4("toolbar.fontFamily"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{text:r,rightIcon:(0,k.jsx)(EE,{}),minimal:!0,style:{marginRight:"5px",fontFamily:'"'+n+'"',overflow:"hidden",whiteSpace:"nowrap",maxHeight:"30px"},"aria-label":p4("toolbar.fontFamily")})})})},Mv={},Mx=e=>Mv[e]?Promise.resolve(Mv[e]):fetch(e).then(e=>e.json()).then(t=>(Mv[e]=t,t)),Mw=F(({elements:e,store:t})=>{let{data:n,mutate:r}=Ex(hO(),Mx,{isPaused:()=>iW(),fallbackData:[]});y(_).useEffect(()=>{r()},[iW()]);let i=t.fonts.concat(iG).map(e=>e.fontFamily).concat(n?.length&&!iW()?n:iU),a=e[0].fontFamily;a.length>15&&(a=a.slice(0,15)+"...");let o=[];t.find(e=>("text"===e.type&&o.push(e.fontFamily),!1));let l=[...new Set(o.concat("_divider").concat(i))];return(0,k.jsx)(Mb,{fonts:l,activeFont:e[0].fontFamily,activeFontLabel:a,store:t,onFontSelect:n=>{t.history.transaction(()=>{e.forEach(e=>{e.set({fontFamily:n})})})}})}),MC=F(({elements:e,store:t})=>{let[n,r]=y(_).useState(!1);return(0,k.jsx)(Sq,{content:p4("toolbar.fontSize"),position:mA.BOTTOM,openOnTargetFocus:!1,disabled:n,children:(0,k.jsx)(_s,{"aria-label":p4("toolbar.fontSize"),onFocus:()=>r(!0),onBlur:()=>r(!1),onValueChange:n=>{Number.isNaN(n)||(n=Math.max(5,Math.min(4*t.height,n)),t.history.transaction(()=>{e.forEach(e=>{e.set({fontSize:n,width:Math.max(n,e.width)})})}))},value:Math.round(e[0].fontSize),style:{width:"50px"},min:5,max:4*t.height})})}),MS=["left","center","right","justify"],Mk=["top","middle","bottom"],M_={top:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mh),{})}),middle:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mf),{})}),bottom:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mp),{})})},ME=F(({elements:e,store:t})=>{let n=e[0];return(0,k.jsxs)(k5,{children:[(0,k.jsx)(Sq,{content:p4("toolbar.textAlign"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:"left"===n.align?(0,k.jsx)(ES,{}):"center"===n.align?(0,k.jsx)(Ew,{}):"right"===n.align?(0,k.jsx)(Ek,{}):(0,k.jsx)(EC,{}),onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r=(MS.indexOf(n.align)+1+MS.length)%MS.length,i=MS[r];t.history.transaction(()=>{e.forEach(e=>{e.set({align:i})})})},"aria-label":p4("toolbar.textAlign")})}),at.textVerticalResizeEnabled&&(0,k.jsx)(Sq,{content:p4("toolbar.verticalAlign"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:M_[n.verticalAlign],onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r=(Mk.indexOf(n.verticalAlign)+1+Mk.length)%Mk.length,i=Mk[r];t.history.transaction(()=>{e.forEach(e=>{e.set({verticalAlign:i})})})},"aria-label":p4("toolbar.verticalAlign")})}),(0,k.jsx)(Sq,{content:p4("toolbar.bold"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(E_,{}),active:"bold"===n.fontWeight||"700"===n.fontWeight,onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r="bold"===n.fontWeight||"700"===n.fontWeight;t.history.transaction(()=>{e.forEach(e=>{r?e.set({fontWeight:"normal"}):e.set({fontWeight:"bold"})})})},"aria-label":p4("toolbar.bold")})}),(0,k.jsx)(Sq,{content:p4("toolbar.italic"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(ET,{}),active:"italic"===n.fontStyle,onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r="italic"===n.fontStyle;t.history.transaction(()=>{e.forEach(e=>{r?e.set({fontStyle:"normal"}):e.set({fontStyle:"italic"})})})},"aria-label":p4("toolbar.italic")})}),(0,k.jsx)(Sq,{content:p4("toolbar.underline"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(EA,{}),active:n.textDecoration.indexOf("underline")>=0,onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r=n.textDecoration.split(" ");r.indexOf("underline")>=0?r=r.filter(e=>"underline"!==e):r.push("underline"),t.history.transaction(()=>{e.forEach(e=>{e.set({textDecoration:r.join(" ")})})})},"aria-label":p4("toolbar.underline")})}),(0,k.jsx)(Sq,{content:p4("toolbar.strikethrough"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(EO,{}),active:n.textDecoration.indexOf("line-through")>=0,onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r=n.textDecoration.split(" ");r.indexOf("line-through")>=0?r=r.filter(e=>"line-through"!==e):r.push("line-through"),t.history.transaction(()=>{e.forEach(e=>{e.set({textDecoration:r.join(" ")})})})},"aria-label":p4("toolbar.strikethrough")})})]})}),MT=F(({elements:e,store:t})=>(0,k.jsx)(k5,{children:(0,k.jsx)(Sq,{content:p4("toolbar.uppercase"),children:(0,k.jsx)(wL,{variant:"minimal",active:"uppercase"==e[0].textTransform,icon:(0,k.jsx)(y(Md),{size:16,className:"bp5-icon"}),onMouseDown:e=>{e.preventDefault()},onClick:()=>{t.history.transaction(()=>{e.forEach(e=>{e.set({textTransform:"uppercase"===e.textTransform?"none":"uppercase"})})})}})})})),MP=F(({elements:e,store:t})=>(0,k.jsx)(Rj,{value:e[0].fill,style:{marginRight:"5px"},gradientEnabled:!0,onChange:n=>t.history.transaction(()=>{e.forEach(e=>{e.set({fill:n})})}),store:t})),MO=({value:e,onValueChange:t,...n})=>{let[r,i]=y(_).useState(e.toString());return y(_).useEffect(()=>{i(e.toString())},[e]),(0,k.jsx)(_s,{value:r,onValueChange:(e,n)=>{i(n),Number.isNaN(e)||t(e)},...n})},MA=F(({elements:e,store:t})=>{let n=e[0],r=n=>{t.history.transaction(()=>{e.forEach(e=>{e.set(n)})})},i="number"==typeof n.lineHeight?100*n.lineHeight:120;return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsxs)("div",{style:{padding:"15px",width:"230px"},children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:"5px",paddingBottom:"5px"},children:[(0,k.jsx)("div",{children:p4("toolbar.lineHeight")}),(0,k.jsx)("div",{children:(0,k.jsx)(MO,{value:Math.round(i),onValueChange:e=>{r({lineHeight:e/100})},style:{width:"50px"},min:50,max:250,buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:Math.round(i),onChange:e=>{r({lineHeight:e/100})},min:50,max:250,stepSize:1,showTrackFill:!1,labelRenderer:!1}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:"5px",paddingBottom:"5px"},children:[(0,k.jsx)("div",{children:p4("toolbar.letterSpacing")}),(0,k.jsx)("div",{children:(0,k.jsx)(MO,{value:Math.round(100*n.letterSpacing),onValueChange:e=>{r({letterSpacing:e/100})},style:{width:"50px"},min:-50,max:250,buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:Math.round(100*n.letterSpacing),onChange:e=>{r({letterSpacing:e/100})},min:-50,max:250,stepSize:1,showTrackFill:!1,labelRenderer:!1})]}),children:(0,k.jsx)(Sq,{content:p4("toolbar.spacing"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(y(Mu),{className:"bp5-icon",style:{fontSize:"20px"}}),minimal:!0,"aria-label":p4("toolbar.spacing")})})})}),MI={TextFontFamily:Mw,TextFontSize:MC,TextFontVariant:ME,TextTransform:MT,TextFill:MP,TextSpacing:MA,TextAiWrite:kv,TextFilters:RU,TextAnimations:Mc},MR=F(({store:e,components:t})=>{let n=e.selectedElements,r=kt({type:"text",usedItems:["TextFill","TextFontFamily","TextFontSize","TextFontVariant","TextSpacing","TextTransform","TextFilters",at.animationsEnabled&&"TextAnimations",at.aiTextEnabled&&"TextAiWrite"],components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||MI[r];return(0,k.jsx)(i,{elements:n,element:n[0],store:e},r)}})});var _=C("8NFma"),P=C("2SBKn"),MM={};MM=function(e){return AW({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M10 10v5h2V4h2v11h2V4h2V2h-8C7.79 2 6 3.79 6 6s1.79 4 4 4zm-2 7v-3l-4 4 4 4v-3h12v-2H8z"}}]})(e)};var ML={};ML=function(e){return AW({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M9 10v5h2V4h2v11h2V4h2V2H9C6.79 2 5 3.79 5 6s1.79 4 4 4zm12 8l-4-4v3H5v2h12v3l4-4z"}}]})(e)};var Mj={};Mj=function(e){return AW({tag:"svg",attr:{version:"1.1",id:"mdi-format-list-bulleted",viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z"}}]})(e)};var MN={};MN=function(e){return AW({tag:"svg",attr:{version:"1.1",id:"mdi-format-list-numbered",viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M7,13V11H21V13H7M7,19V17H21V19H7M7,7V5H21V7H7M3,8V5H2V4H4V8H3M2,17V16H5V20H2V19H4V18.5H3V17.5H4V17H2M4.25,10A0.75,0.75 0 0,1 5,10.75C5,10.95 4.92,11.14 4.79,11.27L3.12,13H5V14H2V13.08L4,11H2V10H4.25Z"}}]})(e)};let MD=({html:e})=>{let t=document.createElement("div");document.body.appendChild(t),t.style.display="none",t.style.whiteSpace="pre-wrap";let n=lk(t);return l_(n,e),n},Mz=e=>{e.root.parentElement.remove()},MB=["left","center","right","justify"],MF=["top","middle","bottom"],MH={top:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mh),{})}),middle:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mf),{})}),bottom:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mp),{})})},MV=F(({active:e,globalActive:t,format:n,element:r,disableGlobal:i,enableGlobal:a,icon:o,ariaLabel:l,tooltipContent:s})=>{let c=s||l||n;return(0,k.jsx)(Sq,{content:c,position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:o,active:e,"aria-label":c,onMouseDown:e=>{e.preventDefault()},onClick:e=>{let o=window.__polotnoQuill,l=lx.currentFormat;if(o){let e=o.getSelection();e.length>0?o.formatText(e.index,e.length,n,!l[n],"user"):o.format(n,!l[n],"user"),(0,P.runInAction)(()=>{lx.currentFormat=o.getFormat(o.getSelection())}),t&&i();return}(o=MD({html:r.text})).setSelection(0,o.getLength(),"api"),o.format(n,!1);let s=o.root.innerHTML;Mz(o),r.set({text:s}),t?i():a()}})})}),MU=F(({element:e,store:t})=>{let n=lx.currentFormat;return(0,k.jsx)(MV,{format:"bold",active:n.bold||"bold"===e.fontWeight||"700"===e.fontWeight,globalActive:"bold"===e.fontWeight||"700"===e.fontWeight,element:e,disableGlobal:()=>e.set({fontWeight:"normal"}),enableGlobal:()=>e.set({fontWeight:"bold"}),icon:(0,k.jsx)(E_,{}),tooltipContent:p4("toolbar.bold")})}),M$={TextFontFamily:Mw,TextFontSize:MC,TextFontVariant:F(({element:e,store:t,elements:n,components:r})=>{let i=r?.TextBold||MU,a=lx.currentFormat;return(0,k.jsxs)(k5,{children:[(0,k.jsx)(i,{element:e,store:t}),(0,k.jsx)(MV,{format:"italic",active:a.italic||"italic"===e.fontStyle,globalActive:"italic"===e.fontStyle,element:e,disableGlobal:()=>e.set({fontStyle:"normal"}),enableGlobal:()=>e.set({fontStyle:"italic"}),icon:(0,k.jsx)(ET,{}),tooltipContent:p4("toolbar.italic")}),(0,k.jsx)(MV,{format:"underline",active:a.underline||e.textDecoration.indexOf("underline")>=0,globalActive:e.textDecoration.indexOf("underline")>=0,element:e,disableGlobal:()=>{let t=e.textDecoration.split(" ");t=t.filter(e=>"underline"!==e),e.set({textDecoration:t.join(" ")})},enableGlobal:()=>{let t=e.textDecoration.split(" ");t.push("underline"),e.set({textDecoration:t.join(" ")})},icon:(0,k.jsx)(EA,{}),tooltipContent:p4("toolbar.underline")}),(0,k.jsx)(MV,{format:"strike",active:a.strike||e.textDecoration.indexOf("line-through")>=0,globalActive:e.textDecoration.indexOf("line-through")>=0,element:e,disableGlobal:()=>{let t=e.textDecoration.split(" ");t=t.filter(e=>"line-through"!==e),e.set({textDecoration:t.join(" ")})},enableGlobal:()=>{let t=e.textDecoration.split(" ");t.push("line-through"),e.set({textDecoration:t.join(" ")})},icon:(0,k.jsx)(EO,{}),tooltipContent:p4("toolbar.strikethrough")}),(0,k.jsx)(Sq,{content:p4("toolbar.textAlign"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:"left"===e.align?(0,k.jsx)(ES,{}):"center"===e.align?(0,k.jsx)(Ew,{}):"right"===e.align?(0,k.jsx)(Ek,{}):(0,k.jsx)(EC,{}),onClick:()=>{let r=(MB.indexOf(e.align)+1+MB.length)%MB.length,i=MB[r];t.history.transaction(()=>{n.forEach(e=>{e.set({align:i})})})},"aria-label":p4("toolbar.textAlign")})}),at.textVerticalResizeEnabled&&(0,k.jsx)(Sq,{content:p4("toolbar.verticalAlign"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:MH[e.verticalAlign],onClick:()=>{let n=(MF.indexOf(e.verticalAlign)+1+MF.length)%MF.length,r=MF[n];t.history.transaction(()=>{e.set({verticalAlign:r})})},"aria-label":p4("toolbar.verticalAlign")})}),(0,k.jsx)(Sq,{content:p4("toolbar.listFormat"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:"bullet"===a.list?(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(MN),{style:{width:"20px",height:"20px"}})}):(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mj),{style:{width:"20px",height:"20px"}})}),onMouseDown:e=>{e.preventDefault()},onClick:()=>{let t=window.__polotnoQuill,n=!t;t=t||MD({html:e.text}),n&&t.setSelection(0,t.getLength(),"api");let r=t.getFormat();r.list?"bullet"===r.list?t.format("list","ordered"):t.format("list",!1):t.format("list","bullet"),n&&(e.set({text:t.root.innerHTML}),Mz(t))},"aria-label":p4("toolbar.listFormat")})})]})}),TextTransform:MT,TextFilters:RU,TextFill:F(({element:e,store:t})=>{let[n,r]=y(_).useState(null),i=lx.currentFormat;return(0,k.jsx)(Rj,{value:i.color||e.fill,gradientEnabled:!0,onOpen:()=>{let e=window.__polotnoQuill;e&&r(e.getSelection())},onClose:()=>{let e=window.__polotnoQuill;e&&e.setSelection(n)},onChange:t=>{let r=window.__polotnoQuill,i=r?.getSelection()||n;if(!i){var a=e.text.replace(/style=".*?"/g,"");e.set({fill:t,text:a});return}let o=i?.length>=r?.getLength()-1;if(r&&!o&&i?.length)r.formatText(i.index,i.length,"color",t,"user");else{var a=e.text.replace(/style=".*?"/g,"");e.set({fill:t,text:a})}},store:t})}),TextSpacing:MA,TextDirection:F(({element:e})=>{let t="rtl"===e.dir?y(MM):y(ML),n=p4("toolbar.textDirection");return(0,k.jsx)(Sq,{content:n,position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(t,{className:"bp5-icon",style:{fontSize:"20px"}}),minimal:!0,onClick:()=>{e.set({dir:"rtl"===e.dir?"ltr":"rtl"})},"aria-label":n})})}),TextAnimations:Mc,TextAiWrite:kv},MW=F(({store:e,components:t})=>{let n=e.selectedElements,r=e.selectedElements[0],i=kt({type:"text",usedItems:["TextFill","TextFontFamily","TextFontSize","TextFontVariant","TextSpacing","TextTransform","TextFilters",at.animationsEnabled&&"TextAnimations","TextAiWrite"],components:t});return(0,k.jsx)(kn,{items:i,itemRender:i=>{if("TextBold"===i)return null;let a=t[i]||M$[i];return(0,k.jsx)(a,{element:r,elements:n,store:e,components:t},i)}})});var _=C("8NFma"),ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),Mq=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"crop",ref:t},e),_.createElement("path",{d:n?"M280 20C280 8.954 288.954 0 300 0C311.046 0 320 8.954 320 20L320 80L380 80C391.046 80 400 88.954 400 100C400 111.046 391.046 120 380 120L120 120L120 380.00002C120 391.04574 111.0458 400.0000252612 100 400.0000262268C88.9544 400.0000271924 80 391.04576 80 380.00002L80 320L20 320C8.95434 320 0.0000271924 311.0458 0.0000262268 300C0.0000252612 288.9544 8.95434 280 20 280L80 280L80 100C80 88.954 88.9544 80 100 80L280 80L280 20zM300 320L160 320L160 280L280 280L280 160L320 160L320 300.0002C320 311.0458 311.046 320 300 320zM0 400H400V0H0V400z":"M220 20C220 8.954 228.954 0 240 0C251.046 0 260 8.954 260 20V60H300C311.046 60 320 68.954 320 80C320 91.046 311.046 100 300 100H100.0002V300C100.0002 311.0457 91.0458 319.999999034354 80.0002 320C68.9544 320.000000965646 60.0002 311.04568 60.0002 300L60.0002 260L20.0002 260C8.95444 260 0.0001154066 251.0456 0.000152588 240C0.0001516224 228.9542 8.95444 220 20.0002 220L60.0002 220L60.0002 80C60.0002 68.954 68.9544 60 80.0002 60H220V20zM240 260.0002L120.0002 260.0002V220.0002L220 220.0002L220 120H260L260 240.0002C260 251.0458 251.046 260.0002 240 260.0002z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});Mq.defaultProps={size:wx.IconSize.STANDARD},Mq.displayName="Blueprint5.Icon.Crop";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),MG=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"tick",ref:t},e),_.createElement("path",{d:n?"M340 320C334.4 320 329.4 317.8 325.8 314.2L140 128.2L74.2 194C70.6 197.8 65.6 200 60 200C49 200 40 191 40 180C40 174.4 42.2 169.4 45.8 165.8L125.8 85.8C129.4 82.2 134.4 80 140 80S150.6 82.2 154.2 85.8L354.2000000000001 285.8C357.8 289.4 360 294.4 360 300C360 311 351 320 340 320z":"M280 260C274.4000000000001 260 269.4000000000001 257.8 265.8 254.2L120 108.2L54.2 174.2C50.6 177.8 45.6 180 40 180C29 180 20 171 20 160C20 154.4 22.2 149.4 25.8 145.8L105.8 65.8C109.4 62.2 114.4 60 120 60S130.6 62.2 134.2 65.8L294.2000000000001 225.8C297.8 229.4 300 234.4 300 240C300 251 291 260 280 260z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});MG.defaultProps={size:wx.IconSize.STANDARD},MG.displayName="Blueprint5.Icon.Tick",C("8NFma");var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),MK=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"arrows-horizontal",ref:t},e),_.createElement("path",{d:n?"M394 214L294 314C290 318 286 320 280 320C268 320 260 312 260 300C260 294 262 290 266 286L332 220H68L134 286C138 290 140 294 140 300C140 312 132 320 120 320C114 320 110 318 106 314L6 214C2 210 0 206 0 200S2 190 6 186L106 86C110 82 114 80 120 80C132 80 140 88 140 100C140 106 138 110 134 114L68 180H332L266 114C262 110 260 106 260 100C260 88 268 80 280 80C286 80 290 82 294 86L394 186C398 190 400 194 400 200S398 210 394 214L394 214z":"M314 174L234 254C230 258 226 260 220 260C208 260 200 250 200 240C200 234 202 230 206 226L252.0000000000001 180H68L114 226C118 230 120 234 120 240C120 250 112 260 100 260C94 260 90 258 86 254L6 174C2 170 0 166 0 160S2 150 6 146L86 66C90 62 94 60 100 60C112 60 120 68 120 80C120 86 118 90 114 94L68 140H252L206 94C202 90 200 86 200 80C200 68 208 60 220 60C226 60 230 62 234 66L314 146C318 150 320 154 320 160S318 170 314 174L314 174z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});MK.defaultProps={size:wx.IconSize.STANDARD},MK.displayName="Blueprint5.Icon.ArrowsHorizontal";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),MY=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"arrows-vertical",ref:t},e),_.createElement("path",{d:n?"M300 140C294 140 290 138 286 134L220 68V332L286 266C290 262 294 260 300 260C312 260 320 268 320 280C320 286 318 290 314 294L214 394C210 398 206 400 200 400S190 398 186 394L86 294C82 290 80 286 80 280C80 268 88 260 100 260C106 260 110 262 114 266L180 332V68.0000000000001L114 134.0000000000001C110 138 106 140 100 140C88 140 80 132 80 120C80 114 82 110 86 106L186 6C190 2 194 0 200 0S210 2 214 6L314 106C318 110 320 114 320 120C320 130 312 140 300 140L300 140z":"M240 120C234 120 230 118 226 114L180 68V252L226 206C230 202 234 200 240 200C252 200 260 208 260 220C260 226 258 230 254 234L174 314C170 318 166 320 160 320S150 318 146 314L66 234C62 230 60 226 60 220C60 208 70 200 80 200C86 200 90 202 94 206L140 252V68L94 114C90 118 86 120 80 120C70 120 60 112 60 100C60 94 62 90 66 86L146 6C150 2 154 0 160 0S170 2 174 6L254 86C258 90 260 94 260 100C260 112 252 120 240 120L240 120z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});MY.defaultProps={size:wx.IconSize.STANDARD},MY.displayName="Blueprint5.Icon.ArrowsVertical";var MX=({element:e,elements:t})=>(0,k.jsx)(SH,{content:(0,k.jsxs)(kl,{children:[(0,k.jsx)(kd,{shouldDismissPopover:!1,icon:(0,k.jsx)(MK,{}),text:p4("toolbar.flipHorizontally"),onClick:()=>{t.forEach(e=>{e.set({flipX:!e.flipX})})}}),(0,k.jsx)(kd,{shouldDismissPopover:!1,text:p4("toolbar.flipVertically"),icon:(0,k.jsx)(MY,{}),onClick:()=>{t.forEach(e=>{e.set({flipY:!e.flipY})})}})]}),position:mA.BOTTOM,children:(0,k.jsx)(wL,{text:p4("toolbar.flip"),minimal:!0})}),_=C("8NFma");let MZ=async(e,t)=>{let n=await fetch(hP.removeBackground(),{method:"POST",body:JSON.stringify({url:e}),signal:t});return 200!==n.status?(alert(p4("error.removeBackground")),e):(await n.json()).url},MQ=F(({isOpen:e,onClose:t,element:n})=>{let[r,i]=y(_).useState(n.src),a=y(_).useRef(null);y(_).useEffect(()=>(i(n.src),()=>{a.current?.abort(),a.current=null}),[n.src]);let[o,l]=y(_).useState(!1),s=async()=>{let e=new AbortController;a.current=e,l(!0);try{let t=await MZ(n.src,e.signal);e.signal.aborted||i(t)}catch(e){e?.name!=="AbortError"&&console.error(e)}finally{a.current===e&&(a.current=null),l(!1)}},c=()=>{a.current?.abort()},u=r!==n.src;return(0,k.jsxs)(ko,{onClose:()=>{c(),t()},title:p4("toolbar.removeBackgroundTitle"),isOpen:e,style:{width:"80%",maxWidth:"700px"},children:[(0,k.jsx)("div",{className:mS.DIALOG_BODY,children:(0,k.jsx)("img",{src:r,style:{width:"100%",maxHeight:"400px",objectFit:"contain"}})}),(0,k.jsx)("div",{className:mS.DIALOG_FOOTER,style:{position:"relative"},children:(0,k.jsxs)("div",{className:mS.DIALOG_FOOTER_ACTIONS,children:[!u&&(0,k.jsxs)(k.Fragment,{children:[o&&(0,k.jsx)(wL,{onClick:c,children:p4("toolbar.cancelRemoveBackground")}),(0,k.jsx)(wL,{onClick:s,loading:o,disabled:o,children:p4("toolbar.removeBackground")})]}),u&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(wL,{onClick:()=>{i(n.src),t()},loading:o,children:p4("toolbar.cancelRemoveBackground")}),(0,k.jsx)(wL,{onClick:()=>{n.set({src:r}),t()},loading:o,intent:"primary",children:p4("toolbar.confirmRemoveBackground")})]})]})})]})}),MJ=F(({element:e,store:t,elements:n})=>e.contentEditable?e.clipSrc?(0,k.jsx)(wL,{text:p4("toolbar.removeClip"),minimal:!0,onClickCapture:e=>{n.forEach(e=>{e.set({clipSrc:""})})}}):(0,k.jsx)(wL,{minimal:!0,text:p4("toolbar.clip"),onClickCapture:e=>{e.stopPropagation(),t.openSidePanel("image-clip")}}):null),M0=F(({element:e,store:t})=>!e.contentEditable||e.stretchEnabled?null:(0,k.jsx)(Sq,{content:p4("toolbar.crop"),position:"bottom",children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(Mq,{}),onClickCapture:t=>{t.stopPropagation(),e.toggleCropMode(!0)},"aria-label":p4("toolbar.crop")})}));F(({element:e,store:t})=>e.clipSrc?(0,k.jsx)(wL,{text:p4("toolbar.removeClip"),minimal:!0,onClickCapture:t=>{e.set({clipSrc:""})}}):null);let M1={ImageFlip:MX,ImageFilters:RU,ImageFitToBackground:({element:e})=>(0,k.jsx)(wL,{text:p4("toolbar.fitToBackground"),minimal:!0,onClick:async()=>{let{page:t}=e,n=t.computedWidth+2*t.bleed,r=t.computedHeight+2*t.bleed,i=await hJ(e.src),a=e.stretchEnabled?{cropX:0,cropY:0,cropWidth:1,cropHeight:1}:h2({width:n,height:r},i);e.set({x:-t.bleed,y:-t.bleed,width:n,height:r,rotation:0,...a})}}),ImageCrop:M0,ImageClip:MJ,ImageRemoveBackground:({element:e})=>{let[t,n]=y(_).useState(!1);return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(wL,{text:p4("toolbar.removeBackground"),minimal:!0,onClick:e=>{n(!0)}}),(0,k.jsx)(MQ,{isOpen:t,onClose:()=>{n(!1)},element:e})]})},ImageAnimations:Mc},M2=F(({store:e,components:t})=>{let n=e.selectedElements[0],r=n._cropModeEnabled,i=y(_).useRef({});y(_).useEffect(()=>{r&&(i.current={x:n.x,y:n.y,width:n.width,height:n.height,cropX:n.cropX,cropY:n.cropY,cropWidth:n.cropWidth,cropHeight:n.cropHeight})},[r]);let a=kt({type:"image",usedItems:["ImageFlip","ImageFilters","ImageFitToBackground","ImageClip","ImageCrop",at.animationsEnabled&&"ImageAnimations",at.removeBackgroundEnabled&&"ImageRemoveBackground"],components:t});return(0,k.jsxs)(k.Fragment,{children:[!r&&(0,k.jsx)(kn,{items:a,itemRender:r=>{let i=t[r]||M1[r];return(0,k.jsx)(i,{element:n,store:e,elements:e.selectedElements},r)}}),r&&(0,k.jsxs)(S3.Group,{children:[(0,k.jsx)(wL,{text:p4("toolbar.cropDone"),minimal:!0,icon:(0,k.jsx)(MG,{}),onClickCapture:e=>{n.toggleCropMode(!1)}}),(0,k.jsx)(wL,{text:p4("toolbar.cropCancel"),minimal:!0,icon:(0,k.jsx)(R$,{}),onClickCapture:e=>{n.set({...i.current}),n.toggleCropMode(!1)}})]})]})});C("8NFma");let M4=(e,t)=>Array.from(e.keys()).find(e=>aY(e,t)),M3={SvgFlip:MX,SvgFilters:RU,SvgColors:F(({element:e,elements:t,store:n})=>{let r=aZ(e.src);return(0,k.jsx)(k.Fragment,{children:!e.maskSrc&&r.slice(0,5).map(t=>{var r;let i;return(0,k.jsx)(Rj,{value:(i=M4(r=e.colorsReplace,t),r.get(i||"")||t),style:{marginLeft:"5px"},onChange:n=>{let r=M4(e.colorsReplace,t)||t;e.replaceColor(r,n)},store:n,gradientEnabled:!0},t)})})}),SvgAnimations:Mc},M8=F(({store:e,hideSvgEffects:t,components:n})=>{let r=e.selectedElements,i=kt({type:"svg",usedItems:["SvgFlip",!t&&"SvgFilters","SvgColors",at.animationsEnabled&&"SvgAnimations"].filter(e=>!!e),components:n});return(0,k.jsx)(kn,{items:i,itemRender:t=>{let i=n[t]||M3[t];return(0,k.jsx)(i,{elements:r,element:r[0],store:e},t)}})});C("8NFma");var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),M6=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"settings",ref:t},e),_.createElement("path",{d:n?"M80 380C80 391 71 400 60 400S40 391 40 380V280H80V380zM40 20C40 9 49 0 60 0S80 9 80 20V140H40V20zM220 380C220 391 211 400 200 400S180 391 180 380V220H220V380zM360 380C360 391 351 400 340 400S320 391 320 380V320H360V380zM180 20C180 9 189 0 200 0S220 9 220 20V80H180V20zM360 300H320C309 300 300 291 300 280V220C300 209 309 200 320 200H360C371 200 380 209 380 220V280C380 291 371 300 360 300zM320 20C320 9 329 0 340 0S360 9 360 20V180H320V20zM80 260H40C29 260 20 251 20 240V180C20 169 29 160 40 160H80C91 160 100 169 100 180V240C100 251 91 260 80 260zM220 200H180C169 200 160 191 160 180V120C160 109 169 100 180 100H220C231 100 240 109 240 120V180C240 191 231 200 220 200z":"M60 300C60 311 51 320 40 320S20 311 20 300V240H60V300zM60 220H20C9 220 0 211 0 200V160C0 149 9 140 20 140H60C71 140 80 149 80 160V200C80 211 71 220 60 220zM300 300C300 311 291 320 280 320S260 311 260 300V260H300V300zM180 300C180 311 171 320 160 320S140 311 140 300V180H180V300zM20 20C20 9 29 0 40 0S60 9 60 20V120H20V20zM300 240H260C249 240 240 231 240 220V180C240 169 249 160 260 160H300C311 160 320 169 320 180V220C320 231 311 240 300 240zM260 20C260 9 269 0 280 0S300 9 300 20V140H260V20zM180 160H140C129 160 120 151 120 140V100C120 89 129 80 140 80H180C191 80 200 89 200 100V140C200 151 191 160 180 160zM140 20C140 9 149 0 160 0S180 9 180 20V60H140V20z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});M6.defaultProps={size:wx.IconSize.STANDARD},M6.displayName="Blueprint5.Icon.Settings";let M5=F(({store:e,elements:t})=>{let n=n=>{e.history.transaction(()=>{t.forEach(e=>{e.set(n)})})},r=n=>{e.history.transaction(()=>{t.forEach(e=>{let{middleLeft:t,middleRight:r}=lH(e),{x:i,y:a,rotation:o}=lV(t,r,n);e.set({x:i,y:a,rotation:o,height:n})})})};return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsxs)("div",{style:{padding:"15px",paddingTop:"15px",width:"230px"},children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"5px"},children:[(0,k.jsx)("div",{children:p4("toolbar.lineSize")}),(0,k.jsx)("div",{children:(0,k.jsx)(RF,{value:t[0].height,onValueChange:e=>{r(e)},style:{width:"50px"},min:1,max:100,buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:t[0].height,onChange:e=>{r(e)},min:1,max:100,labelRenderer:!1}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"5px",paddingTop:"15px"},children:[(0,k.jsx)(wL,{onClick:()=>{n({dash:[]})},active:0===t[0].dash.length,children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x2:"24",y1:"50%",y2:"50%",stroke:"currentColor",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{n({dash:[4,1]})},active:4===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"-1",x2:"25",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"12 2",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{n({dash:[2,1]})},active:2===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"6 2",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{n({dash:[1,1]})},active:1===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"2 2",strokeWidth:"2"})})})]})]}),children:(0,k.jsx)(Sq,{content:p4("toolbar.lineStyle"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(M6,{}),minimal:!0,"aria-label":p4("toolbar.lineStyle")})})})}),M9=F(({elements:e,store:t})=>(0,k.jsx)(Rj,{value:e[0].color,style:{marginRight:"5px"},gradientEnabled:!1,onChange:n=>t.history.transaction(()=>{e.forEach(e=>{e.set({color:n})})}),store:t})),M7={"":(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 16 8"})})}),arrow:(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:[(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 8 3 L 1 8 L 8 13",fill:"none",strokeLinejoin:"round",strokeLinecap:"round"}),(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 15 8",strokeLinejoin:"round",strokeLinecap:"round"})]})}),triangle:(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:[(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 8 3 L 1 8 L 8 13 Z",fill:"currentColor",strokeLinejoin:"round",strokeLinecap:"round"}),(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 15 8",strokeLinejoin:"round",strokeLinecap:"round"})]})}),bar:(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:[(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 3 L 1 13",strokeLinejoin:"round",strokeLinecap:"round"}),(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 15 8",strokeLinejoin:"round",strokeLinecap:"round"})]})}),square:(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:[(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 4 L 9 4 L 9 12 L 1 12 Z",fill:"currentColor",strokeLinejoin:"round",strokeLinecap:"round"}),(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 15 8",strokeLinejoin:"round",strokeLinecap:"round"})]})}),circle:(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:[(0,k.jsx)("circle",{cx:"4",cy:"8",r:"4",fill:"currentColor"}),(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 15 8",strokeLinejoin:"round",strokeLinecap:"round"})]})})},Le=({type:e,active:t,onClick:n,flipped:r})=>{let i=M7[e];return(0,k.jsx)(wL,{icon:r?(0,k.jsx)("span",{style:{transform:"scaleX(-1)"},children:i}):i,minimal:!0,onClick:n,active:t})},Lt=F(({elements:e,store:t,property:n})=>{let r="endHead"===n,i=M7[e[0][n]],a=r?(0,k.jsx)("span",{style:{transform:"scaleX(-1)"},children:i}):i,o=r=>{t.history.transaction(()=>{e.forEach(e=>{e.set({[n]:r})})})},l="startHead"===n?p4("toolbar.lineStartHead"):p4("toolbar.lineEndHead");return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsxs)("div",{style:{width:"150px",padding:"10px"},children:[(0,k.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:["","arrow","triangle"].map(t=>(0,k.jsx)(Le,{type:t,active:e[0][n]===t,onClick:()=>{o(t)},flipped:r},t))}),(0,k.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:["bar","square","circle"].map(t=>(0,k.jsx)(Le,{type:t,active:e[0][n]===t,onClick:()=>{o(t)},flipped:r},t))})]}),children:(0,k.jsx)(Sq,{content:l,position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:a,minimal:!0,"aria-label":l})})})}),Ln={LineSettings:M5,LineColor:M9,LineHeads:F(({elements:e,store:t})=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Lt,{elements:e,store:t,property:"startHead"}),(0,k.jsx)(Lt,{elements:e,store:t,property:"endHead"})]})),LineAnimations:Mc},Lr=F(({store:e,components:t})=>{let n=e.selectedElements[0],r=kt({type:"line",usedItems:["LineColor","LineSettings","LineHeads",at.animationsEnabled&&"LineAnimations"].filter(e=>!!e),components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||Ln[r];return(0,k.jsx)(i,{element:n,store:e,elements:e.selectedElements},r)}})});var _=C("8NFma"),ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),Li=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"cut",ref:t},e),_.createElement("path",{d:n?"M320 360C320 360 334.4 385.6 320 400L214.2 275L239.8 244.2L320 360zM321.6 160C310.6 160 300.2 157.6 290.8 153.6L86.2 400C72.2 385.6 86.2 360 86.2 360L175.2 228.8L111.4 153.4C101.8 157.6 91.2 160 80 160C35.8 160 0 124.2000000000001 0 80C0 35.8 35.8 0 80 0S160 35.8 160 80C160 93 156.6 105.2 151 116L201.8 189.4L251.6 116C246.2 105.2000000000001 242.8 93 242.8 80C242.8 35.8 278 0 321.2000000000001 0C364.6000000000001 0 399.6000000000001 35.8 399.6000000000001 80C400 124.2000000000001 364.8 160 321.6 160zM80 40C58 40 40 58 40 80C40 102 58 120 80 120S120 102 120 80C120 58 102 40 80 40zM321.6 40C300 40 282.4 58 282.4 80C282.4 102 300 120 321.6 120C343.2 120 360.8 102 360.8 80C360.8 58 343.2 40 321.6 40z":"M260 280C260 280 274.2000000000001 305.8 260 320L173.2 218.6L194.2 192.2L260 280zM261.4 120C253 120 245 118.2 237.8 114.8L66.2 320C52.4 305.8 66.2 280 66.2 280L139.8 179.6L84.4 114.8C76.8 118.2 68.6 120 60 120C26.8 120 0 93.2 0 60S26.8 0 60 0S120 26.8 120 60C120 69.2 117.8 77.8 114.2 85.4L162 149.2L208.6 85.4C205 77.6 202.8 69 202.8 60.0000000000001C202.8 26.8 229.0000000000001 1e-13 261.4 1e-13C293.8 1e-13 320 26.8 320 60.0000000000001S293.8 120 261.4 120zM60 40C49 40 40 49 40 60C40 71 49 80 60 80S80 71 80 60C80 49 71 40 60 40zM261.4 40C250.6 40 241.8 49 241.8 60C241.8 71 250.6 80 261.4 80S281 71 281 60C281 49 272.2 40 261.4 40z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});Li.defaultProps={size:wx.IconSize.STANDARD},Li.displayName="Blueprint5.Icon.Cut";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),La=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"volume-up",ref:t},e),_.createElement("path",{d:n?"M180 331.4C174.4 331.4 169.4 329.2 165.8 325.6L111.8 271.4H20C9 271.4 0 262.4 0 251.4V131.4C0 120.4 9 111.4 20 111.4H111.8L166 57.2C169.6 53.6 174.6 51.4 180.2000000000001 51.4C191.2000000000001 51.4 200.2000000000001 60.4 200.2000000000001 71.4V311.4C200 322.4 191 331.4 180 331.4zM346.2 362.6L313.8 338.6C342.8 296.8 360 246.2 360 191.4C360 136.6 342.8 86 313.8 44L346.2 20C380 68.6 400 127.6 400 191.4C400 255 380 314 346.2 362.6zM278.4 312.8L246.4 289.2C267.4 262.2000000000001 280 228.2 280 191.4C280 154.6 267.4 120.6 246.4 93.6L278.4 70C304.2000000000001 103.6 320 145.6 320 191.4C320 237 304.4000000000001 279 278.4 312.8z":"M140 282.8C134.4 282.8 129.4 280.6 125.8 277L71.8 222.8H20C9 222.8 0 213.8 0 202.8V122.8C0 111.8 9 102.8 20 102.8H71.8L126 48.6C129.6 45 134.6 42.8 140.2 42.8C151.2 42.8 160.2 51.8 160.2 62.8V262.8C160 273.8 151 282.8 140 282.8zM274.8 302.6L243.2 278.2C266.2 245.6 280 205.8 280 162.8C280 119.6 266.2 79.8 243 47.2L274.6 22.8C303 62.2 319.8 110.4 319.8 162.8C320 215 303 263.2 274.8 302.6zM179.6 229.6C192.4 210.4 200 187.4 200 162.8S192.4 115 179.6 96L211.4 71.6C229.4 97.4 240 128.8 240 162.8C240 196.8 229.4 228.2 211.4 254L179.6 229.6z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});La.defaultProps={size:wx.IconSize.STANDARD},La.displayName="Blueprint5.Icon.VolumeUp";let Lo={VideoTrim:F(({store:e,components:t,element:n})=>{let r=y(_).useRef(null),[i,a]=y(_).useState([]);y(_).useEffect(()=>{a([])},[n.src]);let o=async()=>{if(!n.src||i.length)return;let{width:e,height:t}=await h8(n.src),{src:o}=n,l=r.current.offsetHeight,s=Math.ceil(r.current.offsetWidth/(e/t*l)),c=await h6(o),u=document.createElement("video");u.crossOrigin="anonymous",u.src=o;let d=document.createElement("canvas");d.width=480;try{await new Promise((e,t)=>{u.addEventListener("loadeddata",()=>{let t=u.videoWidth/u.videoHeight;d.height=480/t,e()}),u.addEventListener("error",t)}),a([]);for(let e=0;e<s;e++){let t=e*c/s,n=await h9(u,d,t);a(e=>e.concat(n))}}catch(e){console.error("Error generating previews:",e)}},l=(e,t)=>{e.preventDefault();let i=e=>{e.preventDefault();let{clientX:i}=e,{left:a,width:o}=r.current.getBoundingClientRect(),{src:l}=n,s=(i-a)/o;"start"===t?n.set({startTime:Math.min(n.endTime,Math.max(0,s))}):"end"===t&&n.set({endTime:Math.min(1,Math.max(n.startTime,s))})};window.addEventListener("mousemove",i),window.addEventListener("mouseup",()=>{window.removeEventListener("mousemove",i)})};return(0,k.jsx)(SH,{position:"bottom",onOpened:o,content:(0,k.jsx)(S3,{style:{boxShadow:"none",backgroundColor:"transparent",width:"calc(100vw - 300px)"},children:(0,k.jsxs)(S2,{children:[(0,k.jsx)(_s,{style:{width:"80px"},value:parseFloat((n.duration*(n.endTime-n.startTime)/1e3).toFixed(2)),minorStepSize:.01,stepSize:.1,buttonPosition:"none",readOnly:!0}),(0,k.jsxs)("div",{style:{width:"calc(100vw - 420px)",height:"30px",display:"flex",position:"relative",overflow:"hidden",marginLeft:"10px"},ref:r,children:[i.map((e,t)=>(0,k.jsx)("img",{src:e,style:{width:"auto",height:"100%",objectFit:"cover"}},t)),(0,k.jsx)("div",{style:{position:"absolute",top:"0",left:0,width:100*n.startTime+"%",height:"30px",backgroundColor:"rgb(0, 0, 0, 0.5)"}}),(0,k.jsx)("div",{style:{position:"absolute",top:"0",right:"0%",width:100-100*n.endTime+"%",height:"30px",backgroundColor:"rgb(0, 0, 0, 0.5)"}}),(0,k.jsx)("div",{style:{position:"absolute",top:"0",left:100*n.startTime+"%",width:"10px",height:"30px",borderRadius:"0px",backgroundColor:"rgb(0, 161, 255, 0.9)",cursor:"ew-resize"},onMouseDown:e=>{l(e,"start")}}),(0,k.jsx)("div",{style:{position:"absolute",top:"0",right:100-100*n.endTime+"%",width:"10px",height:"30px",borderRadius:"0px",backgroundColor:"rgb(0, 161, 255, 0.9)",cursor:"ew-resize"},onMouseDown:e=>{l(e,"end")}})]})]})}),children:(0,k.jsx)(wL,{icon:(0,k.jsx)(Li,{}),minimal:!0,children:"Trim"})})}),VideoAnimations:Mc,VideoVolume:F(({element:e})=>{let t=Math.round(100*e.volume),n=t=>{e.set({volume:t/100})};return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsx)("div",{style:{padding:"10px",width:"250px"},children:(0,k.jsxs)("div",{style:{display:"flex",width:"100%",justifyContent:"space-between"},children:[(0,k.jsx)("div",{style:{paddingTop:"7px",paddingLeft:"10px",width:"calc(100% - 80px)"},children:(0,k.jsx)(_y,{value:t,onChange:e=>{n(e)},min:0,max:100,labelStepSize:50,showTrackFill:!1,labelRenderer:!1})}),(0,k.jsx)(_s,{value:t,onValueChange:e=>{n(Math.max(0,Math.min(100,e)))},buttonPosition:"none",style:{width:"50px",padding:"0 5px",marginLeft:"10px"},min:0,max:100})]})}),children:(0,k.jsx)(Sq,{content:p4("toolbar.volume"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(La,{}),minimal:!0,"aria-label":p4("toolbar.volume")})})})}),VideoClip:F(({element:e,store:t})=>e.contentEditable?e.clipSrc?(0,k.jsx)(wL,{text:p4("toolbar.removeClip"),minimal:!0,onClickCapture:t=>{e.set({clipSrc:""})}}):(0,k.jsx)(wL,{minimal:!0,text:p4("toolbar.clip"),onClickCapture:e=>{e.stopPropagation(),t.openSidePanel("image-clip")}}):null)},Ll=F(({store:e,components:t})=>{let n=e.selectedElements,r=kt({type:"video",usedItems:["VideoTrim","VideoVolume","VideoClip",at.animationsEnabled&&"VideoAnimations"].filter(e=>!!e),components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||Lo[r];return(0,k.jsx)(i,{elements:n,element:n[0],store:e},r)}})});C("8NFma");var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),Ls=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"disable",ref:t},e),_.createElement("path",{d:n?"M200 400C89.6 400 0 310.4 0 200C0 89.6 89.6 0 200 0S400 89.6 400 200C400 310.4 310.4 400 200 400zM40 200C40 288.4 111.6 360 200 360C237 360 271 347.4 298 326.2L73.8 102C52.6 129 40 163 40 200zM200 40C163 40 129 52.6 102 73.8L326.2 298C347.4000000000001 271 360 237 360 200C360 111.6 288.4 40 200 40z":"M159.8 320.2C71.4 320.2 -0.2 248.6 -0.2 160.2S71.4 0.2 159.8 0.2S319.8 71.8 319.8 160.2S248.2 320.2 159.8 320.2zM39.8 160.2C39.8 226.4 93.6 280.2 159.8 280.2C185.8 280.2 209.6 271.8 229.2 257.8L62.2 90.8C48.2 110.4 39.8 134.2 39.8 160.2zM159.8 40.2C133.8 40.2 110 48.6 90.4 62.6L257.4 229.6C271.4 210 279.8 186.2 279.8 160.2C279.8 93.8 226.2 40.2 159.8 40.2z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});Ls.defaultProps={size:wx.IconSize.STANDARD},Ls.displayName="Blueprint5.Icon.Disable";var Lc={};Lc=function(e){return AW({tag:"svg",attr:{viewBox:"0 0 20 20",fill:"currentColor"},child:[{tag:"path",attr:{d:"M0 0h20v5H0V0zm0 7h20v4H0V7zm0 6h20v3H0v-3zm0 5h20v2H0v-2z"}}]})(e)};let Lu=F(({elements:e,store:t})=>(0,k.jsx)(Rj,{value:e[0].fill,style:{marginRight:"5px"},gradientEnabled:!0,onChange:n=>t.history.transaction(()=>{e.forEach(e=>{e.set({fill:n})})}),store:t})),Ld=F(({store:e,elements:t,element:n})=>{let r=n=>{e.history.transaction(()=>{t.forEach(e=>{e.set(n)})})};return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsxs)("div",{style:{padding:"15px",paddingTop:"15px",width:"270px"},children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"15px"},children:[(0,k.jsx)(wL,{onClick:()=>{r({strokeWidth:0})},active:0===t[0].strokeWidth,style:{width:"44px",height:"34px"},icon:(0,k.jsx)(Ls,{size:20})}),(0,k.jsx)(wL,{onClick:()=>{r({dash:[],strokeWidth:t[0].strokeWidth||10})},active:!!t[0].strokeWidth&&0===t[0].dash.length,children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x2:"24",y1:"50%",y2:"50%",stroke:"currentColor",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{r({dash:[4,1],strokeWidth:t[0].strokeWidth||10})},active:!!t[0].strokeWidth&&4===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"-1",x2:"25",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"12 2",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{r({dash:[2,1],strokeWidth:t[0].strokeWidth||10})},active:!!t[0].strokeWidth&&2===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"6 2",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{r({dash:[1,1],strokeWidth:t[0].strokeWidth||10})},active:!!t[0].strokeWidth&&1===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"2 2",strokeWidth:"2"})})})]}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"5px"},children:[(0,k.jsx)("div",{className:"bp5-control bp5-align-right",children:p4("toolbar.strokeWidth")}),(0,k.jsx)("div",{children:(0,k.jsx)(RF,{value:t[0].strokeWidth,onValueChange:e=>{r({strokeWidth:e})},style:{width:"50px"},min:0,max:Math.round(Math.min(t[0].width,t[0].height)/2),buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:t[0].strokeWidth,onChange:e=>{r({strokeWidth:e})},min:0,max:Math.round(Math.min(t[0].width,t[0].height)/2),labelRenderer:!1}),"rect"===t[0].subType&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:"15px",paddingBottom:"5px"},children:[(0,k.jsx)("div",{className:"bp5-control bp5-align-right",children:p4("toolbar.cornerRadius")}),(0,k.jsx)("div",{children:(0,k.jsx)(RF,{value:t[0].cornerRadius,onValueChange:e=>{r({cornerRadius:e})},style:{width:"50px"},min:0,max:Math.round(Math.max(t[0].width,t[0].height)/2),buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:t[0].cornerRadius,onChange:e=>{r({cornerRadius:e})},min:0,max:Math.round(Math.max(t[0].width,t[0].height)/2),labelRenderer:!1})]})]}),children:(0,k.jsx)(Sq,{content:p4("toolbar.strokeSettings"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(y(Lc),{}),minimal:!0,"aria-label":p4("toolbar.strokeSettings")})})})}),Lh={FigureFill:Lu,FigureStroke:F(({elements:e,store:t})=>e.find(e=>e.strokeWidth)?(0,k.jsx)(Rj,{value:e[0].stroke,style:{marginRight:"5px"},gradientEnabled:!0,onChange:n=>t.history.transaction(()=>{e.forEach(e=>{e.set({stroke:n})})}),store:t}):null),FigureSettings:Ld,FigureAnimations:Mc,FigureFilters:RU},Lf=F(({store:e,components:t})=>{let n=e.selectedElements[0],r=kt({type:"figure",usedItems:["FigureFill","FigureStroke","FigureSettings","FigureFilters",at.animationsEnabled&&"FigureAnimations"].filter(e=>!!e),components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||Lh[r];return(0,k.jsx)(i,{element:n,store:e,elements:e.selectedElements},r)}})});C("8NFma");let Lp={GifFilters:RU,GifAnimations:Mc},Lg=F(({store:e,components:t})=>{let n=e.selectedElements,r=kt({type:"gif",usedItems:["GifFilters",at.animationsEnabled&&"GifAnimations"].filter(e=>!!e),components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||Lp[r];return(0,k.jsx)(i,{elements:n,element:n[0],store:e},r)}})});C("8NFma");let Lm={ManyAnimations:Mc},Ly=F(({store:e,components:t})=>{let n=e.selectedElements,r=kt({type:"many",usedItems:[at.animationsEnabled&&"ManyAnimations"],components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||Lm[r];return(0,k.jsx)(i,{elements:n,element:n[0],store:e},r)}})});var _=C("8NFma");let Lb=()=>(0,k.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),Lv=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.3",fill:"none"}),(0,k.jsx)("line",{x1:"1",y1:"1.5",x2:"15",y2:"1.5",stroke:"currentColor",strokeWidth:"2"})]}),Lx=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.3",fill:"none"}),(0,k.jsx)("line",{x1:"1",y1:"14.5",x2:"15",y2:"14.5",stroke:"currentColor",strokeWidth:"2"})]}),Lw=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.3",fill:"none"}),(0,k.jsx)("line",{x1:"1.5",y1:"1",x2:"1.5",y2:"15",stroke:"currentColor",strokeWidth:"2"})]}),LC=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.3",fill:"none"}),(0,k.jsx)("line",{x1:"14.5",y1:"1",x2:"14.5",y2:"15",stroke:"currentColor",strokeWidth:"2"})]}),LS=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.3",fill:"none"}),(0,k.jsx)("line",{x1:"4",y1:"4",x2:"12",y2:"12",stroke:"currentColor",strokeWidth:"1.5"}),(0,k.jsx)("line",{x1:"12",y1:"4",x2:"4",y2:"12",stroke:"currentColor",strokeWidth:"1.5"})]}),Lk=["top","right","bottom","left"],L_=F(({elements:e,store:t})=>{let n,r=e[0],i="tablecell"===r.type,[a,o]=y(_).useState(new Set(Lk)),l=i?t.selectedElements[0]:r,s=[...a][0]||"top";n=i?r:"bottom"===s?l.getCell(l.rows-1,0):"right"===s?l.getCell(0,l.cols-1):l.getCell(0,0);let c=n?.getEffectiveBorder?n.getEffectiveBorder(s):{color:l.borderColor,width:l.borderWidth,style:l.borderStyle},u=c.color,d=c.width,h=c.style,f=n=>{t.history.transaction(()=>{let t={};if("borderColor"in n&&(t.color=n.borderColor),"borderWidth"in n&&(t.width=n.borderWidth),"borderStyle"in n&&(t.style=n.borderStyle),i){let n=e.map(e=>e.id);l.setCellBorders(n,[...a],t)}else{for(let{cellIds:e,sides:n}of(()=>{let e=[...a];if(4===e.length)return[{cellIds:l.cells.map(e=>e.id),sides:e}];let t=[];for(let n of e){let e;e="top"===n?l.cells.filter(e=>0===e.row):"bottom"===n?l.cells.filter(e=>e.row===l.rows-1):"left"===n?l.cells.filter(e=>0===e.col):l.cells.filter(e=>e.col===l.cols-1),t.push({cellIds:e.map(e=>e.id),sides:[n]})}return t})())l.setCellBorders(e,n,t);4===a.size&&e.forEach(e=>e.set(n))}})};return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsxs)("div",{style:{padding:"15px",width:"270px"},children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"15px"},children:[(0,k.jsx)(Sq,{content:p4("toolbar.borderAllSides"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,active:4===a.size,onClick:()=>o(new Set(Lk)),icon:(0,k.jsx)(Lb,{})})}),(0,k.jsx)(Sq,{content:p4("toolbar.borderTop"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,active:a.has("top")&&1===a.size,onClick:()=>o(new Set(["top"])),icon:(0,k.jsx)(Lv,{})})}),(0,k.jsx)(Sq,{content:p4("toolbar.borderBottom"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,active:a.has("bottom")&&1===a.size,onClick:()=>o(new Set(["bottom"])),icon:(0,k.jsx)(Lx,{})})}),(0,k.jsx)(Sq,{content:p4("toolbar.borderLeft"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,active:a.has("left")&&1===a.size,onClick:()=>o(new Set(["left"])),icon:(0,k.jsx)(Lw,{})})}),(0,k.jsx)(Sq,{content:p4("toolbar.borderRight"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,active:a.has("right")&&1===a.size,onClick:()=>o(new Set(["right"])),icon:(0,k.jsx)(LC,{})})}),(0,k.jsx)(Sq,{content:p4("toolbar.borderNone"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,onClick:()=>{f({borderStyle:"none"}),o(new Set(Lk))},icon:(0,k.jsx)(LS,{})})})]}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"15px"},children:[(0,k.jsx)(wL,{onClick:()=>f({borderStyle:"none"}),active:"none"===h,style:{width:"44px",height:"34px"},icon:(0,k.jsx)(Ls,{size:20})}),(0,k.jsx)(wL,{onClick:()=>f({borderStyle:"solid"}),active:"solid"===h,children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",children:(0,k.jsx)("line",{x2:"24",y1:"50%",y2:"50%",stroke:"currentColor",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>f({borderStyle:"dashed"}),active:"dashed"===h,children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",children:(0,k.jsx)("line",{x1:"-1",x2:"25",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"12 2",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>f({borderStyle:"dotted"}),active:"dotted"===h,children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",children:(0,k.jsx)("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"2 2",strokeWidth:"2"})})})]}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"10px"},children:[(0,k.jsx)("div",{className:"bp5-control bp5-align-right",children:p4("toolbar.tableBorderColor")}),(0,k.jsx)(Rj,{value:u,onChange:e=>f({borderColor:e}),store:t})]}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"5px"},children:[(0,k.jsx)("div",{className:"bp5-control bp5-align-right",children:p4("toolbar.tableBorderWidth")}),(0,k.jsx)(RF,{value:d,onValueChange:e=>f({borderWidth:e}),style:{width:"50px"},min:0,max:20,buttonPosition:"none"})]}),(0,k.jsx)(_y,{value:d,onChange:e=>f({borderWidth:e}),min:0,max:20,labelRenderer:!1})]}),children:(0,k.jsx)(Sq,{content:p4("toolbar.tableBorderSettings"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(y(Lc),{}),"aria-label":p4("toolbar.tableBorderSettings")})})})}),LE=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1",y:"1",width:"14",height:"14",rx:"1",stroke:"currentColor",strokeWidth:"1.5",fill:"none"}),(0,k.jsx)("line",{x1:"5.5",y1:"1",x2:"5.5",y2:"15",stroke:"currentColor",strokeWidth:"1"}),(0,k.jsx)("line",{x1:"10.5",y1:"1",x2:"10.5",y2:"15",stroke:"currentColor",strokeWidth:"1"}),(0,k.jsx)("line",{x1:"1",y1:"5.5",x2:"15",y2:"5.5",stroke:"currentColor",strokeWidth:"1"}),(0,k.jsx)("line",{x1:"1",y1:"10.5",x2:"15",y2:"10.5",stroke:"currentColor",strokeWidth:"1"})]}),LT=F(({element:e,store:t})=>{let n=e.focusedCells[0],r=n?.row,i=n?.col,a=null!=n;return(0,k.jsxs)(kl,{children:[a&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ks,{title:p4("toolbar.tableRows")}),(0,k.jsx)(kd,{text:p4("toolbar.insertRowAbove"),onClick:()=>{t.history.transaction(()=>{e.addRow(r)})}}),(0,k.jsx)(kd,{text:p4("toolbar.insertRowBelow"),onClick:()=>{t.history.transaction(()=>{e.addRow(r+1)})}}),(0,k.jsx)(kd,{text:p4("toolbar.deleteRow"),disabled:e.rows<=1,onClick:()=>{t.history.transaction(()=>{e.removeRow(r)})}}),(0,k.jsx)(ks,{title:p4("toolbar.tableColumns")}),(0,k.jsx)(kd,{text:p4("toolbar.insertColumnLeft"),onClick:()=>{t.history.transaction(()=>{e.addColumn(i)})}}),(0,k.jsx)(kd,{text:p4("toolbar.insertColumnRight"),onClick:()=>{t.history.transaction(()=>{e.addColumn(i+1)})}}),(0,k.jsx)(kd,{text:p4("toolbar.deleteColumn"),disabled:e.cols<=1,onClick:()=>{t.history.transaction(()=>{e.removeColumn(i)})}}),(0,k.jsx)(ks,{})]}),(0,k.jsx)(kd,{text:p4("toolbar.distributeRowsEvenly"),onClick:()=>{t.history.transaction(()=>{e.distributeRowsEvenly()})}}),(0,k.jsx)(kd,{text:p4("toolbar.distributeColumnsEvenly"),onClick:()=>{t.history.transaction(()=>{e.distributeColumnsEvenly()})}})]})}),LP=F(({elements:e,store:t})=>{let n=e[0];return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsx)(LT,{element:n,store:t}),children:(0,k.jsx)(Sq,{content:p4("toolbar.tableStructure"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(LE,{}),"aria-label":p4("toolbar.tableStructure")})})})});F(({elements:e,store:t})=>(0,k.jsx)(Sq,{content:p4("toolbar.cellPadding"),position:mA.BOTTOM,children:(0,k.jsx)(RF,{value:e[0].cellPadding,onValueChange:n=>t.history.transaction(()=>{e.forEach(e=>e.set({cellPadding:n}))}),style:{width:"50px"},min:0,max:50,buttonPosition:"none"})}));let LO={TableBorderSettings:L_,TextFontFamily:Mw,TextFontSize:MC,TextFill:MP,CellBackground:F(({elements:e,store:t})=>(0,k.jsx)(Sq,{content:p4("toolbar.cellBackground"),position:mA.BOTTOM,children:(0,k.jsx)(Rj,{value:e[0].cellBackground,style:{marginRight:"5px"},onChange:n=>t.history.transaction(()=>{e.forEach(e=>e.set({cellBackground:n}))}),store:t})})),TextFontVariant:ME,CellVerticalAlign:F(({elements:e,store:t})=>{let n=e[0];return(0,k.jsx)(Sq,{content:p4("toolbar.verticalAlign"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:M_[n.verticalAlign],onClick:()=>{let r=(Mk.indexOf(n.verticalAlign)+1+Mk.length)%Mk.length,i=Mk[r];t.history.transaction(()=>{e.forEach(e=>e.set({verticalAlign:i}))})},"aria-label":p4("toolbar.verticalAlign")})})}),TextSpacing:MA},LA={TableStructure:LP,TableAnimations:Mc,...LO},LI=F(({store:e,components:t})=>{let n=e.selectedElements[0],r=n.focusedCells,i=r.length>0,a=kt({type:"table",usedItems:["TableBorderSettings","CellBackground","TableStructure",...i?["TextFontFamily","TextFontSize","TextFill","TextFontVariant","CellVerticalAlign","TextSpacing"]:[],at.animationsEnabled&&"TableAnimations"],components:t});return(0,k.jsx)(kn,{items:a,itemRender:a=>{let o,l=t[a]||LA[a],s=!!LO[a],c="TableBorderSettings"===a||"CellBackground"===a;return!s||i||c?(o=s?i?r:"TableBorderSettings"===a?e.selectedElements:n.cells.slice():e.selectedElements,(0,k.jsx)(l,{element:n,store:e,elements:o},a)):null}})});var _=C("8NFma"),ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),LR=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"time",ref:t},e),_.createElement("path",{d:n?"M220 208.2V320C220 331 211 340 200 340S180 331 180 320V200C180 194.4 182.2 189.4 185.8 185.8L245.8 125.8C249.4 122.2 254.4 120 260 120C271 120 280 129 280 140C280 145.6 277.8 150.6 274.2000000000001 154.2L220 208.2zM200 400C89.6 400 0 310.4 0 200C0 89.6 89.6 0 200 0S400 89.6 400 200C400 310.4 310.4 400 200 400zM200 40C111.6 40 40 111.6 40 200S111.6 360 200 360S360 288.4 360 200S288.4 40 200 40z":"M160 320C71.6 320 0 248.4 0 160S71.6 0 160 0S320 71.6 320 160S248.4 320 160 320zM160 40C93.8 40 40 93.8 40 160S93.8 280 160 280S280 226.2 280 160S226.2 40 160 40zM180 168.2V240C180 251 171 260 160 260S140 251 140 240V160C140 154.4 142.2 149.4 145.8 145.8L185.8 105.8C189.4 102.2 194.4 100 200 100C211 100 220 109 220 120C220 125.6 217.8 130.6 214.2 134.2L180 168.2z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});LR.defaultProps={size:wx.IconSize.STANDARD},LR.displayName="Blueprint5.Icon.Time";let LM=({value:e,onValueChange:t,...n})=>{let[r,i]=y(_).useState(e.toString());return y(_).useEffect(()=>{i(e.toString())},[e]),(0,k.jsx)(_s,{value:r,onValueChange:(e,n)=>{i(n),Number.isNaN(e)||t(e)},...n})},LL=F(({store:e})=>e.activePage?(0,k.jsx)(Rj,{value:e.activePage.background||"white",onChange:t=>{e.activePage.set({background:t})},store:e,gradientEnabled:!0}):null),Lj={PageDuration:F(({store:e})=>{if(!e.activePage)return null;let{duration:t}=e.activePage;return(0,k.jsx)(SH,{position:"bottom",content:(0,k.jsxs)("div",{style:{padding:"15px",paddingTop:"15px",width:"230px"},children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:"5px",paddingBottom:"5px"},children:[(0,k.jsx)("div",{children:p4("toolbar.duration")}),(0,k.jsx)("div",{children:(0,k.jsx)(LM,{value:t/1e3,onValueChange:t=>{e.activePage.set({duration:1e3*t})},style:{width:"50px"},min:0,buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:Math.min(t/1e3,50),onChange:t=>{e.activePage.set({duration:1e3*t})},min:0,max:50,showTrackFill:!1,labelRenderer:!1})]}),children:(0,k.jsxs)(wL,{icon:(0,k.jsx)(LR,{}),minimal:!0,children:[(e.activePage.duration/1e3).toFixed(1),"s"]})})}),PageBackground:LL},LN=F(({store:e,components:t})=>{let n=kt({type:"page",usedItems:["PageBackground",at.animationsEnabled&&"PageDuration"],components:t});return(0,k.jsx)(kn,{items:n,itemRender:n=>{let r=t[n]||Lj[n];return(0,k.jsx)(r,{store:e},n)}})});var _=C("8NFma"),ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),LD=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"document",ref:t},e),_.createElement("path",{d:n?"M239.6 400H79.6C68.6 400 59.6 391 59.6 380V20C59.6 9 68.6 0 79.6 0H339.6C350.6 0 359.6 9 359.6 20V280L239.6 400zM319.6 40H99.6V360H219.6V260H319.6V40z":"M180 320H60C49 320 40 311 40 300V20C40 9 49 0 60 0H260C271 0 280 9 280 20V220L180 320zM240 40H80V280H160V200H240V40z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});LD.defaultProps={size:wx.IconSize.STANDARD},LD.displayName="Blueprint5.Icon.Document";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),Lz=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"import",ref:t},e),_.createElement("path",{d:n?"M185.8 85.8C189.4 82.2 194.4 80 200 80S210.6 82.2 214.2 85.8L314.2000000000001 185.8C317.8 189.4 320 194.4 320 200C320 211 311 220 300 220C294.4000000000001 220 289.4000000000001 217.8 285.8 214.2L220 148.2V380C220 391 211 400 200 400S180 391 180 380V148.2L114.2 214.2C110.6 217.8 105.6 220 100 220C89 220 80 211 80 200C80 194.4 82.2 189.4 85.8 185.8L185.8 85.8zM380 120C369 120 360 111 360 100V40H40V100C40 111 31 120 20 120S0 111 0 100V20C0 9 9 0 20 0H380C391 0 400 9 400 20V100C400 111 391 120 380 120z":"M145.8 85.8C149.4 82.2 154.4 80 160 80S170.6 82.2 174.2 85.8L254.2 165.8C257.8 169.4 260 174.4 260 180C260 191 251 200 240 200C234.4 200 229.4 197.8 225.8 194.2L180 148.2V300C180 311 171 320 160 320S140 311 140 300V148.2L94.2 194.2C90.6 197.8 85.6 200 80 200C69 200 60 191 60 180C60 174.4 62.2 169.4 65.8 165.8L145.8 85.8zM300 100C289 100 280 91 280 80V40H40V80C40 91 31 100 20 100S0 91 0 80V20C0 9 9 0 20 0H300C311 0 320 9 320 20V80C320 91 311 100 300 100z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});Lz.defaultProps={size:wx.IconSize.STANDARD},Lz.displayName="Blueprint5.Icon.Import";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),LB=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"media",ref:t},e),_.createElement("path",{d:n?"M300 220C322 220 340 238 340 260C340 282 322 300 300 300S260 282 260 260C260 238 278 220 300 220zM380 360H20C9 360 0 351 0 340V60C0 49 9 40 20 40H380C391 40 400 49 400 60V340C400 351 391 360 380 360zM360 100L240 200L200 160L120 260L40 100V320H360V100z":"M239.8 180.2C250.8 180.2 259.8 189.2 259.8 200.2S250.8 220.2 239.8 220.2S219.8 211.2 219.8 200.2S228.8 180.2 239.8 180.2zM299.8 280.2H19.8C8.8 280.2 -0.2 271.2 -0.2 260.2V60.2C-0.2 49.2 8.8 40.2 19.8 40.2H299.8C310.8 40.2 319.8 49.2 319.8 60.2V260.2C319.8 271.2 310.8 280.2 299.8 280.2zM279.8 100.2L179.8 160.2L159.8 120.2L99.8 200.2L39.8 100.2V240.2H279.8V100.2z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});LB.defaultProps={size:wx.IconSize.STANDARD},LB.displayName="Blueprint5.Icon.Media";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),LF=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"video",ref:t},e),_.createElement("path",{d:n?"M380 360H20C9 360 0 351 0 340V60C0 49 9 40 20 40H380C391 40 400 49 400 60V340C400 351 391 360 380 360zM140 120V280L260 200L140 120z":"M300 280H20C9 280 0 271 0 260V60C0 49 9 40 20 40H300C311 40 320 49 320 60V260C320 271 311 280 300 280zM100 100V220L220 160L100 100z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});LF.defaultProps={size:wx.IconSize.STANDARD},LF.displayName="Blueprint5.Icon.Video";let LH=async({store:e,onProgress:t})=>{let n=e.toJSON(),r=await fetch(`${hk()}/renders?KEY=${hD()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({design:n,pixelRatio:1,format:"mp4"})}),i=await r.json();for(;;){let n=await fetch(`${hk()}/renders/${i.id}?KEY=${hD()}`),r=await n.json();if("done"===r.status){hx(r.output,LV(e)+".mp4");break}if("error"===r.status)throw Error("Failed to render video");t?.(r.progress||0,r.status||"processing");await new Promise(e=>setTimeout(e,5e3))}},LV=e=>{let t=[];return e.pages.forEach(e=>{e.children.forEach(e=>{"text"===e.type&&t.push(e.text)})}),t.join(" ").split(" ").slice(0,6).join(" ").replace(/\s/g,"-").toLowerCase()||"polotno"},LU=F(({store:e})=>{let[t,n]=y(_).useState(!1);return(0,k.jsx)(SH,{content:(0,k.jsxs)(kl,{children:[(0,k.jsx)(kd,{icon:(0,k.jsx)(LB,{}),text:p4("toolbar.saveAsImage"),onClick:async()=>{e.pages.forEach((t,n)=>{let r=e.pages.length>1?"-"+(n+1):"";e.saveAsImage({pageId:t.id,fileName:LV(e)+r+".png"})})}}),(0,k.jsx)(kd,{icon:(0,k.jsx)(LD,{}),text:p4("toolbar.saveAsPDF"),onClick:async()=>{n(!0),await e.saveAsPDF({fileName:LV(e)+".pdf"}),n(!1)}}),at.animationsEnabled&&(0,k.jsx)(kd,{icon:(0,k.jsx)(LF,{}),text:"Save as Video",onClick:async()=>{n(!0);try{await LH({store:e})}catch(e){console.error("Video export failed:",e),alert("Failed to export video. Please try again.")}n(!1)}})]}),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(Lz,{}),className:"polotno-download-button",text:p4("toolbar.download"),minimal:!0,loading:t})})});C("8NFma");let L$=F(({store:e})=>{let{lock:t,locked:n,disabled:r}=k0({store:e}),i=n?(0,k.jsx)(kU,{}):(0,k.jsx)(k$,{}),a=n?p4("toolbar.lockedDescription"):p4("toolbar.unlockedDescription");return(0,k.jsx)(Sq,{content:a,disabled:r,position:"bottom",children:(0,k.jsx)(wL,{minimal:!0,disabled:r,icon:i,onClick:()=>t(),"aria-label":a})})});C("8NFma");var LW={};LW=function(e){return AW({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M17.66 8L12 2.35 6.34 8C4.78 9.56 4 11.64 4 13.64s.78 4.11 2.34 5.67 3.61 2.35 5.66 2.35 4.1-.79 5.66-2.35S20 15.64 20 13.64 19.22 9.56 17.66 8zM6 14c.01-2 .62-3.27 1.76-4.4L12 5.27l4.24 4.38C17.38 10.77 17.99 12 18 14H6z"}}]})(e)};let Lq=F(({store:e})=>{let t=e.selectedShapes.length>0,n=t=>{t=Math.max(0,Math.min(t,100)),e.selectedShapes.forEach(e=>{e.set({opacity:t/100})})},r=Math.round(e.selectedShapes[0]?.opacity*100);return(0,k.jsx)(SH,{disabled:!t,minimal:!1,content:(0,k.jsxs)("div",{style:{padding:"10px 20px"},children:[(0,k.jsx)("div",{style:{textAlign:"center"},children:p4("toolbar.transparency")}),(0,k.jsxs)("div",{style:{display:"flex"},children:[(0,k.jsx)("div",{style:{paddingTop:"8px",paddingRight:"20px"},children:(0,k.jsx)(_y,{value:r,labelRenderer:!1,onChange:n,min:0,max:100})}),(0,k.jsx)(_s,{value:r,onValueChange:n,min:0,max:100,buttonPosition:"none",style:{width:"50px"},selectAllOnFocus:!0})]})]}),position:mA.BOTTOM,children:(0,k.jsx)(Sq,{content:p4("toolbar.transparency"),disabled:!t,position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,disabled:!t,"aria-label":p4("toolbar.transparency"),children:(0,k.jsx)(y(LW),{className:"bp5-icon",style:{fontSize:"20px"}})})})})});C("8NFma");var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),LG=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"cog",ref:t},e),_.createElement("path",{d:n?"M380 240H333.8C331 249.2 327.2000000000001 257.8 322.6 266L356.6 300C364.4000000000001 307.8 364.4000000000001 320.4 356.6 328.2L328.4000000000001 356.4C320.6 364.2 308.0000000000001 364.2 300.2000000000001 356.4L266.2000000000001 322.4C258.0000000000001 326.8 249.4000000000001 330.6 240.2000000000001 333.4V380C240.2000000000001 391 231.2000000000001 400 220.2000000000001 400H180C169 400 160 391 160 380V333.4C150.4 330.6 141.2 326.6 132.6 321.8L100 354.4C92.6 361.8 80.4 361.8 72.8 354.4L45.6 327.2C38.2 319.6 38.2 307.4 45.6 300L78 267.6C73.2 258.8 69.2 249.8 66.2 240H20C9 240 0 231 0 220V180C0 169 9 160 20 160H66.2C69 150.8 72.8 142.2 77.4 134L43.4 100C35.6 92.2 35.6 79.6 43.4 71.8L71.6 43.6C79.4 35.8 92 35.8 99.8 43.6L133.8 77.6C142 73.2 150.6 69.4 159.8 66.6V20C159.8 9 168.8 0 179.8 0H219.8C230.8 0 239.8 9 239.8 20V66.6C249.4 69.4 258.6 73.6 267.2 78.4L300 45.6C307.4 38.2 319.6 38.2 327.2 45.6L354.4 72.8C361.8 80.2 361.8 92.4 354.4 100L322 132.4C326.8 141 331 150.2000000000001 334 160H380C391 160 400 169 400 180V220C400 231 391 240 380 240zM200 120C155.8 120 120 155.8 120 200C120 244.2 155.8 280 200 280S280 244.2 280 200C280 155.8 244.2 120 200 120z":"M303.8 192.2H266.8C264.6 199.6 261.4 206.4 257.8 213L285 240.2C291.2 246.4000000000001 291.2 256.6 285 262.8L262.4000000000001 285.4C256.2 291.6 246 291.6 239.8000000000001 285.4L212.6000000000001 258.2C206 261.6 199.2 264.8 191.8 267V304.2C191.8 313 184.6 320.2 175.8 320.2H143.8C135 320.2 127.8 313 127.8 304.2V267C120 264.6 112.8 261.4 105.8 257.6L79.8 283.6C73.8 289.6 64 289.6 58 283.6L36.4 261.8C30.4 255.8 30.4 246 36.4 240L62.4 214C58.4 207.2 55.2 200 52.8 192.2H15.8C7 192.2 -0.2 185 -0.2 176.2V144.2C-0.2 135.4 7 128.2 15.8 128.2H52.8C55 120.8 58.2 114 61.8 107.4L34.6 80.2000000000001C28.4 74 28.4 63.8 34.6 57.6L57.2 35.0000000000001C63.4 28.8000000000001 73.6 28.8000000000001 79.8 35.0000000000001L107 62.2000000000001C113.6 58.6000000000001 120.4 55.6000000000001 127.8 53.4000000000001V16.2000000000001C127.8 7.4000000000001 135 0.2 143.8 0.2H175.8C184.6 0.2 191.8000000000001 7.4 191.8000000000001 16.2000000000001V53.4000000000001C199.6000000000001 55.8000000000001 206.8000000000001 59.0000000000001 213.8 62.8000000000001L239.8000000000001 36.8000000000001C245.8000000000001 30.8000000000001 255.6 30.8000000000001 261.6 36.8000000000001L283.4000000000001 58.6000000000001C289.4000000000001 64.6000000000001 289.4000000000001 74.4 283.4000000000001 80.4000000000001L257.4000000000001 106.4000000000001C261.2 113.4000000000001 264.6 120.6000000000001 267 128.4000000000001H304C312.8 128.4000000000001 320 135.6000000000001 320 144.4000000000001V176.4000000000001C319.8 185 312.6 192.2 303.8 192.2zM159.8 100.2C126.6 100.2 99.8 127 99.8 160.2S126.6 220.2 159.8 220.2S219.8 193.4 219.8 160.2S193 100.2 159.8 100.2z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});LG.defaultProps={size:wx.IconSize.STANDARD},LG.displayName="Blueprint5.Icon.Cog";let LK=F(({store:e})=>{let t=e.selectedElements.length>0,n=e.selectedElements[0]||{},r=t=>{e.selectedElements.forEach(e=>{e.set(t)})};return(0,k.jsx)(SH,{disabled:!t,minimal:!1,content:(0,k.jsxs)("div",{style:{padding:"15px",paddingTop:"25px",width:"220px"},children:[(0,k.jsx)(RD,{checked:n.selectable,label:p4("toolbar.selectable"),onChange:e=>{r({selectable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.draggable,label:p4("toolbar.draggable"),onChange:e=>{r({draggable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.removable,label:p4("toolbar.removable"),onChange:e=>{r({removable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.resizable,label:p4("toolbar.resizable"),onChange:e=>{r({resizable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.contentEditable,label:p4("toolbar.contentEditable"),onChange:e=>{r({contentEditable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.styleEditable,label:p4("toolbar.styleEditable"),onChange:e=>{r({styleEditable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.alwaysOnTop,label:p4("toolbar.alwaysOnTop"),onChange:e=>{r({alwaysOnTop:e.target.checked})},alignIndicator:m_,style:{marginTop:"20px"}}),(0,k.jsx)(RD,{checked:n.showInExport,label:p4("toolbar.showInExport"),onChange:e=>{r({showInExport:e.target.checked})},alignIndicator:m_,style:{marginTop:"20px"}})]}),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(LG,{}),minimal:!0,disabled:!t,"aria-label":"Admin settings"})})});C("8NFma");let LY=F(({store:e})=>{let{disabled:t,elementToCopy:n,setElementToCopy:r}=kW(e);return(0,k.jsx)(Sq,{content:p4("toolbar.copyStyle"),disabled:t,children:(0,k.jsx)(wL,{icon:LX,active:!!n,intent:n?"primary":"none",minimal:!0,disabled:t,onClick:()=>{r(e.selectedElements[0])},"aria-label":p4("toolbar.copyStyle")})})}),LX=(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,k.jsx)("rect",{width:"16",height:"6",x:"2",y:"2",rx:"2"}),(0,k.jsx)("path",{d:"M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"}),(0,k.jsx)("rect",{width:"4",height:"6",x:"8",y:"16",rx:"1"})]})}),LZ={text:MR,image:M2,svg:M8,many:Ly,line:Lr,video:Ll,figure:Lf,gif:Lg,table:LI,page:LN};function LQ(e,t){LZ[e]=t}let LJ=ly("div",y(_).forwardRef)`
|
|
443
|
+
`,Mm=({fontFamily:e,handleClick:t,modifiers:n,store:r,isCustom:i})=>{let[a,o]=y(_).useState(!i);if(y(_).useEffect(()=>{a||r.loadFont(e)},[e,a]),"_divider"===e)return(0,k.jsx)("div",{style:{paddingTop:"10px"},children:(0,k.jsx)(ks,{})});let l=a?(0,k.jsx)(Mg,{src:hA(e),alt:e,onError:()=>{o(!1)}}):e;return(0,k.jsx)(kd,{text:l,active:n.active,disabled:n.disabled,onClick:t,style:{fontFamily:'"'+e+'"'}})},My=({onChange:e,defaultValue:t})=>{let n=y(_).useRef(null);return y(_).useEffect(()=>{n.current&&n.current.focus()},[]),(0,k.jsx)(_e,{leftIcon:(0,k.jsx)(EP,{}),inputRef:n,defaultValue:t,onChange:t=>e(t.target.value)})},Mb=({store:e,fonts:t,activeFont:n,activeFontLabel:r,onFontSelect:i})=>{let[a,o]=y(_).useState(""),l=t.filter(e=>e?.toLowerCase().indexOf(a.toLowerCase())>=0);return(0,k.jsx)(SH,{content:(0,k.jsxs)("div",{children:[(0,k.jsx)(My,{onChange:e=>o(e),defaultValue:a}),(0,k.jsx)("div",{style:{paddingTop:"5px"},children:(0,k.jsx)(_O,{innerElementType:y(_).forwardRef((e,t)=>(0,k.jsx)(kl,{ulRef:t,...e})),height:Math.min(400,30*l.length)+10,width:210,itemCount:l.length,itemSize:30,children:({index:t,style:r})=>{let a=l[t];return(0,k.jsx)("div",{style:r,children:(0,k.jsx)(Mm,{fontFamily:a,modifiers:{active:n===a},handleClick:()=>i(a),store:e,isCustom:e.fonts.find(e=>e.fontFamily===a)||iG.find(e=>e.fontFamily===a)},a)})}})})]}),children:(0,k.jsx)(Sq,{content:p4("toolbar.fontFamily"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{text:r,rightIcon:(0,k.jsx)(EE,{}),minimal:!0,style:{marginRight:"5px",fontFamily:'"'+n+'"',overflow:"hidden",whiteSpace:"nowrap",maxHeight:"30px"},"aria-label":p4("toolbar.fontFamily")})})})},Mv={},Mx=e=>Mv[e]?Promise.resolve(Mv[e]):fetch(e).then(e=>e.json()).then(t=>(Mv[e]=t,t)),Mw=F(({elements:e,store:t})=>{let{data:n,mutate:r}=Ex(hO(),Mx,{isPaused:()=>iW(),fallbackData:[]});y(_).useEffect(()=>{r()},[iW()]);let i=t.fonts.concat(iG).map(e=>e.fontFamily).concat(n?.length&&!iW()?n:iU),a=e[0].fontFamily;a.length>15&&(a=a.slice(0,15)+"...");let o=[];t.find(e=>("text"===e.type&&o.push(e.fontFamily),!1));let l=[...new Set(o.concat("_divider").concat(i))];return(0,k.jsx)(Mb,{fonts:l,activeFont:e[0].fontFamily,activeFontLabel:a,store:t,onFontSelect:n=>{t.history.transaction(()=>{e.forEach(e=>{e.set({fontFamily:n})})})}})}),MC=F(({elements:e,store:t})=>{let[n,r]=y(_).useState(!1);return(0,k.jsx)(Sq,{content:p4("toolbar.fontSize"),position:mA.BOTTOM,openOnTargetFocus:!1,disabled:n,children:(0,k.jsx)(MO,{"aria-label":p4("toolbar.fontSize"),onFocus:()=>r(!0),onBlur:()=>r(!1),onValueChange:n=>{t.history.transaction(()=>{e.forEach(e=>{e.set({fontSize:n,width:Math.max(n,e.width)})})})},value:Math.round(e[0].fontSize),style:{width:"50px"},min:5,max:4*t.height})})}),MS=["left","center","right","justify"],Mk=["top","middle","bottom"],M_={top:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mh),{})}),middle:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mf),{})}),bottom:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mp),{})})},ME=F(({elements:e,store:t})=>{let n=e[0];return(0,k.jsxs)(k5,{children:[(0,k.jsx)(Sq,{content:p4("toolbar.textAlign"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:"left"===n.align?(0,k.jsx)(ES,{}):"center"===n.align?(0,k.jsx)(Ew,{}):"right"===n.align?(0,k.jsx)(Ek,{}):(0,k.jsx)(EC,{}),onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r=(MS.indexOf(n.align)+1+MS.length)%MS.length,i=MS[r];t.history.transaction(()=>{e.forEach(e=>{e.set({align:i})})})},"aria-label":p4("toolbar.textAlign")})}),at.textVerticalResizeEnabled&&(0,k.jsx)(Sq,{content:p4("toolbar.verticalAlign"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:M_[n.verticalAlign],onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r=(Mk.indexOf(n.verticalAlign)+1+Mk.length)%Mk.length,i=Mk[r];t.history.transaction(()=>{e.forEach(e=>{e.set({verticalAlign:i})})})},"aria-label":p4("toolbar.verticalAlign")})}),(0,k.jsx)(Sq,{content:p4("toolbar.bold"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(E_,{}),active:"bold"===n.fontWeight||"700"===n.fontWeight,onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r="bold"===n.fontWeight||"700"===n.fontWeight;t.history.transaction(()=>{e.forEach(e=>{r?e.set({fontWeight:"normal"}):e.set({fontWeight:"bold"})})})},"aria-label":p4("toolbar.bold")})}),(0,k.jsx)(Sq,{content:p4("toolbar.italic"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(ET,{}),active:"italic"===n.fontStyle,onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r="italic"===n.fontStyle;t.history.transaction(()=>{e.forEach(e=>{r?e.set({fontStyle:"normal"}):e.set({fontStyle:"italic"})})})},"aria-label":p4("toolbar.italic")})}),(0,k.jsx)(Sq,{content:p4("toolbar.underline"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(EA,{}),active:n.textDecoration.indexOf("underline")>=0,onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r=n.textDecoration.split(" ");r.indexOf("underline")>=0?r=r.filter(e=>"underline"!==e):r.push("underline"),t.history.transaction(()=>{e.forEach(e=>{e.set({textDecoration:r.join(" ")})})})},"aria-label":p4("toolbar.underline")})}),(0,k.jsx)(Sq,{content:p4("toolbar.strikethrough"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(EO,{}),active:n.textDecoration.indexOf("line-through")>=0,onMouseDown:e=>{e.preventDefault()},onClick:()=>{let r=n.textDecoration.split(" ");r.indexOf("line-through")>=0?r=r.filter(e=>"line-through"!==e):r.push("line-through"),t.history.transaction(()=>{e.forEach(e=>{e.set({textDecoration:r.join(" ")})})})},"aria-label":p4("toolbar.strikethrough")})})]})}),MT=F(({elements:e,store:t})=>(0,k.jsx)(k5,{children:(0,k.jsx)(Sq,{content:p4("toolbar.uppercase"),children:(0,k.jsx)(wL,{variant:"minimal",active:"uppercase"==e[0].textTransform,icon:(0,k.jsx)(y(Md),{size:16,className:"bp5-icon"}),onMouseDown:e=>{e.preventDefault()},onClick:()=>{t.history.transaction(()=>{e.forEach(e=>{e.set({textTransform:"uppercase"===e.textTransform?"none":"uppercase"})})})}})})})),MP=F(({elements:e,store:t})=>(0,k.jsx)(Rj,{value:e[0].fill,style:{marginRight:"5px"},gradientEnabled:!0,onChange:n=>t.history.transaction(()=>{e.forEach(e=>{e.set({fill:n})})}),store:t})),MO=({value:e,onValueChange:t,...n})=>{let[r,i]=y(_).useState(e.toString());y(_).useEffect(()=>{i(e.toString())},[e]);let{min:a,max:o}=n;return(0,k.jsx)(_s,{value:r,onValueChange:(e,n)=>{i(n),Number.isNaN(e)||"number"==typeof a&&e<a||"number"==typeof o&&e>o||t(e)},clampValueOnBlur:"number"==typeof a||"number"==typeof o,...n})},MA=F(({elements:e,store:t})=>{let n=e[0],r=n=>{t.history.transaction(()=>{e.forEach(e=>{e.set(n)})})},i="number"==typeof n.lineHeight?100*n.lineHeight:120;return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsxs)("div",{style:{padding:"15px",width:"230px"},children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:"5px",paddingBottom:"5px"},children:[(0,k.jsx)("div",{children:p4("toolbar.lineHeight")}),(0,k.jsx)("div",{children:(0,k.jsx)(MO,{value:Math.round(i),onValueChange:e=>{r({lineHeight:e/100})},style:{width:"50px"},min:50,max:250,buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:Math.round(i),onChange:e=>{r({lineHeight:e/100})},min:50,max:250,stepSize:1,showTrackFill:!1,labelRenderer:!1}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:"5px",paddingBottom:"5px"},children:[(0,k.jsx)("div",{children:p4("toolbar.letterSpacing")}),(0,k.jsx)("div",{children:(0,k.jsx)(MO,{value:Math.round(100*n.letterSpacing),onValueChange:e=>{r({letterSpacing:e/100})},style:{width:"50px"},min:-50,max:250,buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:Math.round(100*n.letterSpacing),onChange:e=>{r({letterSpacing:e/100})},min:-50,max:250,stepSize:1,showTrackFill:!1,labelRenderer:!1})]}),children:(0,k.jsx)(Sq,{content:p4("toolbar.spacing"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(y(Mu),{className:"bp5-icon",style:{fontSize:"20px"}}),minimal:!0,"aria-label":p4("toolbar.spacing")})})})}),MI={TextFontFamily:Mw,TextFontSize:MC,TextFontVariant:ME,TextTransform:MT,TextFill:MP,TextSpacing:MA,TextAiWrite:kv,TextFilters:RU,TextAnimations:Mc},MR=F(({store:e,components:t})=>{let n=e.selectedElements,r=kt({type:"text",usedItems:["TextFill","TextFontFamily","TextFontSize","TextFontVariant","TextSpacing","TextTransform","TextFilters",at.animationsEnabled&&"TextAnimations",at.aiTextEnabled&&"TextAiWrite"],components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||MI[r];return(0,k.jsx)(i,{elements:n,element:n[0],store:e},r)}})});var _=C("8NFma"),P=C("2SBKn"),MM={};MM=function(e){return AW({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M10 10v5h2V4h2v11h2V4h2V2h-8C7.79 2 6 3.79 6 6s1.79 4 4 4zm-2 7v-3l-4 4 4 4v-3h12v-2H8z"}}]})(e)};var ML={};ML=function(e){return AW({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M9 10v5h2V4h2v11h2V4h2V2H9C6.79 2 5 3.79 5 6s1.79 4 4 4zm12 8l-4-4v3H5v2h12v3l4-4z"}}]})(e)};var Mj={};Mj=function(e){return AW({tag:"svg",attr:{version:"1.1",id:"mdi-format-list-bulleted",viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z"}}]})(e)};var MN={};MN=function(e){return AW({tag:"svg",attr:{version:"1.1",id:"mdi-format-list-numbered",viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M7,13V11H21V13H7M7,19V17H21V19H7M7,7V5H21V7H7M3,8V5H2V4H4V8H3M2,17V16H5V20H2V19H4V18.5H3V17.5H4V17H2M4.25,10A0.75,0.75 0 0,1 5,10.75C5,10.95 4.92,11.14 4.79,11.27L3.12,13H5V14H2V13.08L4,11H2V10H4.25Z"}}]})(e)};let MD=({html:e})=>{let t=document.createElement("div");document.body.appendChild(t),t.style.display="none",t.style.whiteSpace="pre-wrap";let n=lk(t);return l_(n,e),n},Mz=e=>{e.root.parentElement.remove()},MB=["left","center","right","justify"],MF=["top","middle","bottom"],MH={top:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mh),{})}),middle:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mf),{})}),bottom:(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mp),{})})},MV=F(({active:e,globalActive:t,format:n,element:r,disableGlobal:i,enableGlobal:a,icon:o,ariaLabel:l,tooltipContent:s})=>{let c=s||l||n;return(0,k.jsx)(Sq,{content:c,position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:o,active:e,"aria-label":c,onMouseDown:e=>{e.preventDefault()},onClick:e=>{let o=window.__polotnoQuill,l=lx.currentFormat;if(o){let e=o.getSelection();e.length>0?o.formatText(e.index,e.length,n,!l[n],"user"):o.format(n,!l[n],"user"),(0,P.runInAction)(()=>{lx.currentFormat=o.getFormat(o.getSelection())}),t&&i();return}(o=MD({html:r.text})).setSelection(0,o.getLength(),"api"),o.format(n,!1);let s=o.root.innerHTML;Mz(o),r.set({text:s}),t?i():a()}})})}),MU=F(({element:e,store:t})=>{let n=lx.currentFormat;return(0,k.jsx)(MV,{format:"bold",active:n.bold||"bold"===e.fontWeight||"700"===e.fontWeight,globalActive:"bold"===e.fontWeight||"700"===e.fontWeight,element:e,disableGlobal:()=>e.set({fontWeight:"normal"}),enableGlobal:()=>e.set({fontWeight:"bold"}),icon:(0,k.jsx)(E_,{}),tooltipContent:p4("toolbar.bold")})}),M$={TextFontFamily:Mw,TextFontSize:MC,TextFontVariant:F(({element:e,store:t,elements:n,components:r})=>{let i=r?.TextBold||MU,a=lx.currentFormat;return(0,k.jsxs)(k5,{children:[(0,k.jsx)(i,{element:e,store:t}),(0,k.jsx)(MV,{format:"italic",active:a.italic||"italic"===e.fontStyle,globalActive:"italic"===e.fontStyle,element:e,disableGlobal:()=>e.set({fontStyle:"normal"}),enableGlobal:()=>e.set({fontStyle:"italic"}),icon:(0,k.jsx)(ET,{}),tooltipContent:p4("toolbar.italic")}),(0,k.jsx)(MV,{format:"underline",active:a.underline||e.textDecoration.indexOf("underline")>=0,globalActive:e.textDecoration.indexOf("underline")>=0,element:e,disableGlobal:()=>{let t=e.textDecoration.split(" ");t=t.filter(e=>"underline"!==e),e.set({textDecoration:t.join(" ")})},enableGlobal:()=>{let t=e.textDecoration.split(" ");t.push("underline"),e.set({textDecoration:t.join(" ")})},icon:(0,k.jsx)(EA,{}),tooltipContent:p4("toolbar.underline")}),(0,k.jsx)(MV,{format:"strike",active:a.strike||e.textDecoration.indexOf("line-through")>=0,globalActive:e.textDecoration.indexOf("line-through")>=0,element:e,disableGlobal:()=>{let t=e.textDecoration.split(" ");t=t.filter(e=>"line-through"!==e),e.set({textDecoration:t.join(" ")})},enableGlobal:()=>{let t=e.textDecoration.split(" ");t.push("line-through"),e.set({textDecoration:t.join(" ")})},icon:(0,k.jsx)(EO,{}),tooltipContent:p4("toolbar.strikethrough")}),(0,k.jsx)(Sq,{content:p4("toolbar.textAlign"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:"left"===e.align?(0,k.jsx)(ES,{}):"center"===e.align?(0,k.jsx)(Ew,{}):"right"===e.align?(0,k.jsx)(Ek,{}):(0,k.jsx)(EC,{}),onClick:()=>{let r=(MB.indexOf(e.align)+1+MB.length)%MB.length,i=MB[r];t.history.transaction(()=>{n.forEach(e=>{e.set({align:i})})})},"aria-label":p4("toolbar.textAlign")})}),at.textVerticalResizeEnabled&&(0,k.jsx)(Sq,{content:p4("toolbar.verticalAlign"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:MH[e.verticalAlign],onClick:()=>{let n=(MF.indexOf(e.verticalAlign)+1+MF.length)%MF.length,r=MF[n];t.history.transaction(()=>{e.set({verticalAlign:r})})},"aria-label":p4("toolbar.verticalAlign")})}),(0,k.jsx)(Sq,{content:p4("toolbar.listFormat"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:"bullet"===a.list?(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(MN),{style:{width:"20px",height:"20px"}})}):(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsx)(y(Mj),{style:{width:"20px",height:"20px"}})}),onMouseDown:e=>{e.preventDefault()},onClick:()=>{let t=window.__polotnoQuill,n=!t;t=t||MD({html:e.text}),n&&t.setSelection(0,t.getLength(),"api");let r=t.getFormat();r.list?"bullet"===r.list?t.format("list","ordered"):t.format("list",!1):t.format("list","bullet"),n&&(e.set({text:t.root.innerHTML}),Mz(t))},"aria-label":p4("toolbar.listFormat")})})]})}),TextTransform:MT,TextFilters:RU,TextFill:F(({element:e,store:t})=>{let[n,r]=y(_).useState(null),i=lx.currentFormat;return(0,k.jsx)(Rj,{value:i.color||e.fill,gradientEnabled:!0,onOpen:()=>{let e=window.__polotnoQuill;e&&r(e.getSelection())},onClose:()=>{let e=window.__polotnoQuill;e&&e.setSelection(n)},onChange:t=>{let r=window.__polotnoQuill,i=r?.getSelection()||n,a=!!(r&&i&&i.length>0),o=a&&i.length>=r.getLength()-1;a&&!o?r.formatText(i.index,i.length,"color",t,"user"):r?(r.formatText(0,r.getLength(),"color",!1,"user"),e.set({fill:t})):e.set({fill:t,text:e.text.replace(/style="([^"]*)"/g,(e,t)=>{let n=t.split(";").map(e=>e.trim()).filter(e=>e.length>0&&!/^color\s*:/i.test(e));return 0===n.length?"":`style="${n.join("; ")};"`})})},store:t})}),TextSpacing:MA,TextDirection:F(({element:e})=>{let t="rtl"===e.dir?y(MM):y(ML),n=p4("toolbar.textDirection");return(0,k.jsx)(Sq,{content:n,position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(t,{className:"bp5-icon",style:{fontSize:"20px"}}),minimal:!0,onClick:()=>{e.set({dir:"rtl"===e.dir?"ltr":"rtl"})},"aria-label":n})})}),TextAnimations:Mc,TextAiWrite:kv},MW=F(({store:e,components:t})=>{let n=e.selectedElements,r=e.selectedElements[0],i=kt({type:"text",usedItems:["TextFill","TextFontFamily","TextFontSize","TextFontVariant","TextSpacing","TextTransform","TextFilters",at.animationsEnabled&&"TextAnimations","TextAiWrite"],components:t});return(0,k.jsx)(kn,{items:i,itemRender:i=>{if("TextBold"===i)return null;let a=t[i]||M$[i];return(0,k.jsx)(a,{element:r,elements:n,store:e,components:t},i)}})});var _=C("8NFma"),ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),Mq=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"crop",ref:t},e),_.createElement("path",{d:n?"M280 20C280 8.954 288.954 0 300 0C311.046 0 320 8.954 320 20L320 80L380 80C391.046 80 400 88.954 400 100C400 111.046 391.046 120 380 120L120 120L120 380.00002C120 391.04574 111.0458 400.0000252612 100 400.0000262268C88.9544 400.0000271924 80 391.04576 80 380.00002L80 320L20 320C8.95434 320 0.0000271924 311.0458 0.0000262268 300C0.0000252612 288.9544 8.95434 280 20 280L80 280L80 100C80 88.954 88.9544 80 100 80L280 80L280 20zM300 320L160 320L160 280L280 280L280 160L320 160L320 300.0002C320 311.0458 311.046 320 300 320zM0 400H400V0H0V400z":"M220 20C220 8.954 228.954 0 240 0C251.046 0 260 8.954 260 20V60H300C311.046 60 320 68.954 320 80C320 91.046 311.046 100 300 100H100.0002V300C100.0002 311.0457 91.0458 319.999999034354 80.0002 320C68.9544 320.000000965646 60.0002 311.04568 60.0002 300L60.0002 260L20.0002 260C8.95444 260 0.0001154066 251.0456 0.000152588 240C0.0001516224 228.9542 8.95444 220 20.0002 220L60.0002 220L60.0002 80C60.0002 68.954 68.9544 60 80.0002 60H220V20zM240 260.0002L120.0002 260.0002V220.0002L220 220.0002L220 120H260L260 240.0002C260 251.0458 251.046 260.0002 240 260.0002z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});Mq.defaultProps={size:wx.IconSize.STANDARD},Mq.displayName="Blueprint5.Icon.Crop";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),MG=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"tick",ref:t},e),_.createElement("path",{d:n?"M340 320C334.4 320 329.4 317.8 325.8 314.2L140 128.2L74.2 194C70.6 197.8 65.6 200 60 200C49 200 40 191 40 180C40 174.4 42.2 169.4 45.8 165.8L125.8 85.8C129.4 82.2 134.4 80 140 80S150.6 82.2 154.2 85.8L354.2000000000001 285.8C357.8 289.4 360 294.4 360 300C360 311 351 320 340 320z":"M280 260C274.4000000000001 260 269.4000000000001 257.8 265.8 254.2L120 108.2L54.2 174.2C50.6 177.8 45.6 180 40 180C29 180 20 171 20 160C20 154.4 22.2 149.4 25.8 145.8L105.8 65.8C109.4 62.2 114.4 60 120 60S130.6 62.2 134.2 65.8L294.2000000000001 225.8C297.8 229.4 300 234.4 300 240C300 251 291 260 280 260z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});MG.defaultProps={size:wx.IconSize.STANDARD},MG.displayName="Blueprint5.Icon.Tick",C("8NFma");var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),MK=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"arrows-horizontal",ref:t},e),_.createElement("path",{d:n?"M394 214L294 314C290 318 286 320 280 320C268 320 260 312 260 300C260 294 262 290 266 286L332 220H68L134 286C138 290 140 294 140 300C140 312 132 320 120 320C114 320 110 318 106 314L6 214C2 210 0 206 0 200S2 190 6 186L106 86C110 82 114 80 120 80C132 80 140 88 140 100C140 106 138 110 134 114L68 180H332L266 114C262 110 260 106 260 100C260 88 268 80 280 80C286 80 290 82 294 86L394 186C398 190 400 194 400 200S398 210 394 214L394 214z":"M314 174L234 254C230 258 226 260 220 260C208 260 200 250 200 240C200 234 202 230 206 226L252.0000000000001 180H68L114 226C118 230 120 234 120 240C120 250 112 260 100 260C94 260 90 258 86 254L6 174C2 170 0 166 0 160S2 150 6 146L86 66C90 62 94 60 100 60C112 60 120 68 120 80C120 86 118 90 114 94L68 140H252L206 94C202 90 200 86 200 80C200 68 208 60 220 60C226 60 230 62 234 66L314 146C318 150 320 154 320 160S318 170 314 174L314 174z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});MK.defaultProps={size:wx.IconSize.STANDARD},MK.displayName="Blueprint5.Icon.ArrowsHorizontal";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),MY=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"arrows-vertical",ref:t},e),_.createElement("path",{d:n?"M300 140C294 140 290 138 286 134L220 68V332L286 266C290 262 294 260 300 260C312 260 320 268 320 280C320 286 318 290 314 294L214 394C210 398 206 400 200 400S190 398 186 394L86 294C82 290 80 286 80 280C80 268 88 260 100 260C106 260 110 262 114 266L180 332V68.0000000000001L114 134.0000000000001C110 138 106 140 100 140C88 140 80 132 80 120C80 114 82 110 86 106L186 6C190 2 194 0 200 0S210 2 214 6L314 106C318 110 320 114 320 120C320 130 312 140 300 140L300 140z":"M240 120C234 120 230 118 226 114L180 68V252L226 206C230 202 234 200 240 200C252 200 260 208 260 220C260 226 258 230 254 234L174 314C170 318 166 320 160 320S150 318 146 314L66 234C62 230 60 226 60 220C60 208 70 200 80 200C86 200 90 202 94 206L140 252V68L94 114C90 118 86 120 80 120C70 120 60 112 60 100C60 94 62 90 66 86L146 6C150 2 154 0 160 0S170 2 174 6L254 86C258 90 260 94 260 100C260 112 252 120 240 120L240 120z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});MY.defaultProps={size:wx.IconSize.STANDARD},MY.displayName="Blueprint5.Icon.ArrowsVertical";var MX=({element:e,elements:t})=>(0,k.jsx)(SH,{content:(0,k.jsxs)(kl,{children:[(0,k.jsx)(kd,{shouldDismissPopover:!1,icon:(0,k.jsx)(MK,{}),text:p4("toolbar.flipHorizontally"),onClick:()=>{t.forEach(e=>{e.set({flipX:!e.flipX})})}}),(0,k.jsx)(kd,{shouldDismissPopover:!1,text:p4("toolbar.flipVertically"),icon:(0,k.jsx)(MY,{}),onClick:()=>{t.forEach(e=>{e.set({flipY:!e.flipY})})}})]}),position:mA.BOTTOM,children:(0,k.jsx)(wL,{text:p4("toolbar.flip"),minimal:!0})}),_=C("8NFma");let MZ=async(e,t)=>{let n=await fetch(hP.removeBackground(),{method:"POST",body:JSON.stringify({url:e}),signal:t});return 200!==n.status?(alert(p4("error.removeBackground")),e):(await n.json()).url},MQ=F(({isOpen:e,onClose:t,element:n})=>{let[r,i]=y(_).useState(n.src),a=y(_).useRef(null);y(_).useEffect(()=>(i(n.src),()=>{a.current?.abort(),a.current=null}),[n.src]);let[o,l]=y(_).useState(!1),s=async()=>{let e=new AbortController;a.current=e,l(!0);try{let t=await MZ(n.src,e.signal);e.signal.aborted||i(t)}catch(e){e?.name!=="AbortError"&&console.error(e)}finally{a.current===e&&(a.current=null),l(!1)}},c=()=>{a.current?.abort()},u=r!==n.src;return(0,k.jsxs)(ko,{onClose:()=>{c(),t()},title:p4("toolbar.removeBackgroundTitle"),isOpen:e,style:{width:"80%",maxWidth:"700px"},children:[(0,k.jsx)("div",{className:mS.DIALOG_BODY,children:(0,k.jsx)("img",{src:r,style:{width:"100%",maxHeight:"400px",objectFit:"contain"}})}),(0,k.jsx)("div",{className:mS.DIALOG_FOOTER,style:{position:"relative"},children:(0,k.jsxs)("div",{className:mS.DIALOG_FOOTER_ACTIONS,children:[!u&&(0,k.jsxs)(k.Fragment,{children:[o&&(0,k.jsx)(wL,{onClick:c,children:p4("toolbar.cancelRemoveBackground")}),(0,k.jsx)(wL,{onClick:s,loading:o,disabled:o,children:p4("toolbar.removeBackground")})]}),u&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(wL,{onClick:()=>{i(n.src),t()},loading:o,children:p4("toolbar.cancelRemoveBackground")}),(0,k.jsx)(wL,{onClick:()=>{n.set({src:r}),t()},loading:o,intent:"primary",children:p4("toolbar.confirmRemoveBackground")})]})]})})]})}),MJ=F(({element:e,store:t,elements:n})=>e.contentEditable?e.clipSrc?(0,k.jsx)(wL,{text:p4("toolbar.removeClip"),minimal:!0,onClickCapture:e=>{n.forEach(e=>{e.set({clipSrc:""})})}}):(0,k.jsx)(wL,{minimal:!0,text:p4("toolbar.clip"),onClickCapture:e=>{e.stopPropagation(),t.openSidePanel("image-clip")}}):null),M0=F(({element:e,store:t})=>!e.contentEditable||e.stretchEnabled?null:(0,k.jsx)(Sq,{content:p4("toolbar.crop"),position:"bottom",children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(Mq,{}),onClickCapture:t=>{t.stopPropagation(),e.toggleCropMode(!0)},"aria-label":p4("toolbar.crop")})}));F(({element:e,store:t})=>e.clipSrc?(0,k.jsx)(wL,{text:p4("toolbar.removeClip"),minimal:!0,onClickCapture:t=>{e.set({clipSrc:""})}}):null);let M1={ImageFlip:MX,ImageFilters:RU,ImageFitToBackground:({element:e})=>(0,k.jsx)(wL,{text:p4("toolbar.fitToBackground"),minimal:!0,onClick:async()=>{let{page:t}=e,n=t.computedWidth+2*t.bleed,r=t.computedHeight+2*t.bleed,i=await hJ(e.src),a=e.stretchEnabled?{cropX:0,cropY:0,cropWidth:1,cropHeight:1}:h2({width:n,height:r},i);e.set({x:-t.bleed,y:-t.bleed,width:n,height:r,rotation:0,...a})}}),ImageCrop:M0,ImageClip:MJ,ImageRemoveBackground:({element:e})=>{let[t,n]=y(_).useState(!1);return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(wL,{text:p4("toolbar.removeBackground"),minimal:!0,onClick:e=>{n(!0)}}),(0,k.jsx)(MQ,{isOpen:t,onClose:()=>{n(!1)},element:e})]})},ImageAnimations:Mc},M2=F(({store:e,components:t})=>{let n=e.selectedElements[0],r=n._cropModeEnabled,i=y(_).useRef({});y(_).useEffect(()=>{r&&(i.current={x:n.x,y:n.y,width:n.width,height:n.height,cropX:n.cropX,cropY:n.cropY,cropWidth:n.cropWidth,cropHeight:n.cropHeight})},[r]);let a=kt({type:"image",usedItems:["ImageFlip","ImageFilters","ImageFitToBackground","ImageClip","ImageCrop",at.animationsEnabled&&"ImageAnimations",at.removeBackgroundEnabled&&"ImageRemoveBackground"],components:t});return(0,k.jsxs)(k.Fragment,{children:[!r&&(0,k.jsx)(kn,{items:a,itemRender:r=>{let i=t[r]||M1[r];return(0,k.jsx)(i,{element:n,store:e,elements:e.selectedElements},r)}}),r&&(0,k.jsxs)(S3.Group,{children:[(0,k.jsx)(wL,{text:p4("toolbar.cropDone"),minimal:!0,icon:(0,k.jsx)(MG,{}),onClickCapture:e=>{n.toggleCropMode(!1)}}),(0,k.jsx)(wL,{text:p4("toolbar.cropCancel"),minimal:!0,icon:(0,k.jsx)(R$,{}),onClickCapture:e=>{n.set({...i.current}),n.toggleCropMode(!1)}})]})]})});C("8NFma");let M4=(e,t)=>Array.from(e.keys()).find(e=>aY(e,t)),M3={SvgFlip:MX,SvgFilters:RU,SvgColors:F(({element:e,elements:t,store:n})=>{let r=aZ(e.src);return(0,k.jsx)(k.Fragment,{children:!e.maskSrc&&r.slice(0,5).map(t=>{var r;let i;return(0,k.jsx)(Rj,{value:(i=M4(r=e.colorsReplace,t),r.get(i||"")||t),style:{marginLeft:"5px"},onChange:n=>{let r=M4(e.colorsReplace,t)||t;e.replaceColor(r,n)},store:n,gradientEnabled:!0},t)})})}),SvgAnimations:Mc},M8=F(({store:e,hideSvgEffects:t,components:n})=>{let r=e.selectedElements,i=kt({type:"svg",usedItems:["SvgFlip",!t&&"SvgFilters","SvgColors",at.animationsEnabled&&"SvgAnimations"].filter(e=>!!e),components:n});return(0,k.jsx)(kn,{items:i,itemRender:t=>{let i=n[t]||M3[t];return(0,k.jsx)(i,{elements:r,element:r[0],store:e},t)}})});C("8NFma");var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),M6=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"settings",ref:t},e),_.createElement("path",{d:n?"M80 380C80 391 71 400 60 400S40 391 40 380V280H80V380zM40 20C40 9 49 0 60 0S80 9 80 20V140H40V20zM220 380C220 391 211 400 200 400S180 391 180 380V220H220V380zM360 380C360 391 351 400 340 400S320 391 320 380V320H360V380zM180 20C180 9 189 0 200 0S220 9 220 20V80H180V20zM360 300H320C309 300 300 291 300 280V220C300 209 309 200 320 200H360C371 200 380 209 380 220V280C380 291 371 300 360 300zM320 20C320 9 329 0 340 0S360 9 360 20V180H320V20zM80 260H40C29 260 20 251 20 240V180C20 169 29 160 40 160H80C91 160 100 169 100 180V240C100 251 91 260 80 260zM220 200H180C169 200 160 191 160 180V120C160 109 169 100 180 100H220C231 100 240 109 240 120V180C240 191 231 200 220 200z":"M60 300C60 311 51 320 40 320S20 311 20 300V240H60V300zM60 220H20C9 220 0 211 0 200V160C0 149 9 140 20 140H60C71 140 80 149 80 160V200C80 211 71 220 60 220zM300 300C300 311 291 320 280 320S260 311 260 300V260H300V300zM180 300C180 311 171 320 160 320S140 311 140 300V180H180V300zM20 20C20 9 29 0 40 0S60 9 60 20V120H20V20zM300 240H260C249 240 240 231 240 220V180C240 169 249 160 260 160H300C311 160 320 169 320 180V220C320 231 311 240 300 240zM260 20C260 9 269 0 280 0S300 9 300 20V140H260V20zM180 160H140C129 160 120 151 120 140V100C120 89 129 80 140 80H180C191 80 200 89 200 100V140C200 151 191 160 180 160zM140 20C140 9 149 0 160 0S180 9 180 20V60H140V20z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});M6.defaultProps={size:wx.IconSize.STANDARD},M6.displayName="Blueprint5.Icon.Settings";let M5=F(({store:e,elements:t})=>{let n=n=>{e.history.transaction(()=>{t.forEach(e=>{e.set(n)})})},r=n=>{e.history.transaction(()=>{t.forEach(e=>{let{middleLeft:t,middleRight:r}=lH(e),{x:i,y:a,rotation:o}=lV(t,r,n);e.set({x:i,y:a,rotation:o,height:n})})})};return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsxs)("div",{style:{padding:"15px",paddingTop:"15px",width:"230px"},children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"5px"},children:[(0,k.jsx)("div",{children:p4("toolbar.lineSize")}),(0,k.jsx)("div",{children:(0,k.jsx)(RF,{value:t[0].height,onValueChange:e=>{r(e)},style:{width:"50px"},min:1,max:100,buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:t[0].height,onChange:e=>{r(e)},min:1,max:100,labelRenderer:!1}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"5px",paddingTop:"15px"},children:[(0,k.jsx)(wL,{onClick:()=>{n({dash:[]})},active:0===t[0].dash.length,children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x2:"24",y1:"50%",y2:"50%",stroke:"currentColor",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{n({dash:[4,1]})},active:4===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"-1",x2:"25",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"12 2",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{n({dash:[2,1]})},active:2===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"6 2",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{n({dash:[1,1]})},active:1===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"2 2",strokeWidth:"2"})})})]})]}),children:(0,k.jsx)(Sq,{content:p4("toolbar.lineStyle"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(M6,{}),minimal:!0,"aria-label":p4("toolbar.lineStyle")})})})}),M9=F(({elements:e,store:t})=>(0,k.jsx)(Rj,{value:e[0].color,style:{marginRight:"5px"},gradientEnabled:!1,onChange:n=>t.history.transaction(()=>{e.forEach(e=>{e.set({color:n})})}),store:t})),M7={"":(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 16 8"})})}),arrow:(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:[(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 8 3 L 1 8 L 8 13",fill:"none",strokeLinejoin:"round",strokeLinecap:"round"}),(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 15 8",strokeLinejoin:"round",strokeLinecap:"round"})]})}),triangle:(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:[(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 8 3 L 1 8 L 8 13 Z",fill:"currentColor",strokeLinejoin:"round",strokeLinecap:"round"}),(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 15 8",strokeLinejoin:"round",strokeLinecap:"round"})]})}),bar:(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:[(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 3 L 1 13",strokeLinejoin:"round",strokeLinecap:"round"}),(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 15 8",strokeLinejoin:"round",strokeLinecap:"round"})]})}),square:(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:[(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 4 L 9 4 L 9 12 L 1 12 Z",fill:"currentColor",strokeLinejoin:"round",strokeLinecap:"round"}),(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 15 8",strokeLinejoin:"round",strokeLinecap:"round"})]})}),circle:(0,k.jsx)("span",{"aria-hidden":"true",className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",children:[(0,k.jsx)("circle",{cx:"4",cy:"8",r:"4",fill:"currentColor"}),(0,k.jsx)("path",{stroke:"currentColor",strokeWidth:"2",d:"M 1 8 L 15 8",strokeLinejoin:"round",strokeLinecap:"round"})]})})},Le=({type:e,active:t,onClick:n,flipped:r})=>{let i=M7[e];return(0,k.jsx)(wL,{icon:r?(0,k.jsx)("span",{style:{transform:"scaleX(-1)"},children:i}):i,minimal:!0,onClick:n,active:t})},Lt=F(({elements:e,store:t,property:n})=>{let r="endHead"===n,i=M7[e[0][n]],a=r?(0,k.jsx)("span",{style:{transform:"scaleX(-1)"},children:i}):i,o=r=>{t.history.transaction(()=>{e.forEach(e=>{e.set({[n]:r})})})},l="startHead"===n?p4("toolbar.lineStartHead"):p4("toolbar.lineEndHead");return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsxs)("div",{style:{width:"150px",padding:"10px"},children:[(0,k.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:["","arrow","triangle"].map(t=>(0,k.jsx)(Le,{type:t,active:e[0][n]===t,onClick:()=>{o(t)},flipped:r},t))}),(0,k.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:["bar","square","circle"].map(t=>(0,k.jsx)(Le,{type:t,active:e[0][n]===t,onClick:()=>{o(t)},flipped:r},t))})]}),children:(0,k.jsx)(Sq,{content:l,position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:a,minimal:!0,"aria-label":l})})})}),Ln={LineSettings:M5,LineColor:M9,LineHeads:F(({elements:e,store:t})=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Lt,{elements:e,store:t,property:"startHead"}),(0,k.jsx)(Lt,{elements:e,store:t,property:"endHead"})]})),LineAnimations:Mc},Lr=F(({store:e,components:t})=>{let n=e.selectedElements[0],r=kt({type:"line",usedItems:["LineColor","LineSettings","LineHeads",at.animationsEnabled&&"LineAnimations"].filter(e=>!!e),components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||Ln[r];return(0,k.jsx)(i,{element:n,store:e,elements:e.selectedElements},r)}})});var _=C("8NFma"),ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),Li=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"cut",ref:t},e),_.createElement("path",{d:n?"M320 360C320 360 334.4 385.6 320 400L214.2 275L239.8 244.2L320 360zM321.6 160C310.6 160 300.2 157.6 290.8 153.6L86.2 400C72.2 385.6 86.2 360 86.2 360L175.2 228.8L111.4 153.4C101.8 157.6 91.2 160 80 160C35.8 160 0 124.2000000000001 0 80C0 35.8 35.8 0 80 0S160 35.8 160 80C160 93 156.6 105.2 151 116L201.8 189.4L251.6 116C246.2 105.2000000000001 242.8 93 242.8 80C242.8 35.8 278 0 321.2000000000001 0C364.6000000000001 0 399.6000000000001 35.8 399.6000000000001 80C400 124.2000000000001 364.8 160 321.6 160zM80 40C58 40 40 58 40 80C40 102 58 120 80 120S120 102 120 80C120 58 102 40 80 40zM321.6 40C300 40 282.4 58 282.4 80C282.4 102 300 120 321.6 120C343.2 120 360.8 102 360.8 80C360.8 58 343.2 40 321.6 40z":"M260 280C260 280 274.2000000000001 305.8 260 320L173.2 218.6L194.2 192.2L260 280zM261.4 120C253 120 245 118.2 237.8 114.8L66.2 320C52.4 305.8 66.2 280 66.2 280L139.8 179.6L84.4 114.8C76.8 118.2 68.6 120 60 120C26.8 120 0 93.2 0 60S26.8 0 60 0S120 26.8 120 60C120 69.2 117.8 77.8 114.2 85.4L162 149.2L208.6 85.4C205 77.6 202.8 69 202.8 60.0000000000001C202.8 26.8 229.0000000000001 1e-13 261.4 1e-13C293.8 1e-13 320 26.8 320 60.0000000000001S293.8 120 261.4 120zM60 40C49 40 40 49 40 60C40 71 49 80 60 80S80 71 80 60C80 49 71 40 60 40zM261.4 40C250.6 40 241.8 49 241.8 60C241.8 71 250.6 80 261.4 80S281 71 281 60C281 49 272.2 40 261.4 40z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});Li.defaultProps={size:wx.IconSize.STANDARD},Li.displayName="Blueprint5.Icon.Cut";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),La=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"volume-up",ref:t},e),_.createElement("path",{d:n?"M180 331.4C174.4 331.4 169.4 329.2 165.8 325.6L111.8 271.4H20C9 271.4 0 262.4 0 251.4V131.4C0 120.4 9 111.4 20 111.4H111.8L166 57.2C169.6 53.6 174.6 51.4 180.2000000000001 51.4C191.2000000000001 51.4 200.2000000000001 60.4 200.2000000000001 71.4V311.4C200 322.4 191 331.4 180 331.4zM346.2 362.6L313.8 338.6C342.8 296.8 360 246.2 360 191.4C360 136.6 342.8 86 313.8 44L346.2 20C380 68.6 400 127.6 400 191.4C400 255 380 314 346.2 362.6zM278.4 312.8L246.4 289.2C267.4 262.2000000000001 280 228.2 280 191.4C280 154.6 267.4 120.6 246.4 93.6L278.4 70C304.2000000000001 103.6 320 145.6 320 191.4C320 237 304.4000000000001 279 278.4 312.8z":"M140 282.8C134.4 282.8 129.4 280.6 125.8 277L71.8 222.8H20C9 222.8 0 213.8 0 202.8V122.8C0 111.8 9 102.8 20 102.8H71.8L126 48.6C129.6 45 134.6 42.8 140.2 42.8C151.2 42.8 160.2 51.8 160.2 62.8V262.8C160 273.8 151 282.8 140 282.8zM274.8 302.6L243.2 278.2C266.2 245.6 280 205.8 280 162.8C280 119.6 266.2 79.8 243 47.2L274.6 22.8C303 62.2 319.8 110.4 319.8 162.8C320 215 303 263.2 274.8 302.6zM179.6 229.6C192.4 210.4 200 187.4 200 162.8S192.4 115 179.6 96L211.4 71.6C229.4 97.4 240 128.8 240 162.8C240 196.8 229.4 228.2 211.4 254L179.6 229.6z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});La.defaultProps={size:wx.IconSize.STANDARD},La.displayName="Blueprint5.Icon.VolumeUp";let Lo={VideoTrim:F(({store:e,components:t,element:n})=>{let r=y(_).useRef(null),[i,a]=y(_).useState([]);y(_).useEffect(()=>{a([])},[n.src]);let o=async()=>{if(!n.src||i.length)return;let{width:e,height:t}=await h8(n.src),{src:o}=n,l=r.current.offsetHeight,s=Math.ceil(r.current.offsetWidth/(e/t*l)),c=await h6(o),u=document.createElement("video");u.crossOrigin="anonymous",u.src=o;let d=document.createElement("canvas");d.width=480;try{await new Promise((e,t)=>{u.addEventListener("loadeddata",()=>{let t=u.videoWidth/u.videoHeight;d.height=480/t,e()}),u.addEventListener("error",t)}),a([]);for(let e=0;e<s;e++){let t=e*c/s,n=await h9(u,d,t);a(e=>e.concat(n))}}catch(e){console.error("Error generating previews:",e)}},l=(e,t)=>{e.preventDefault();let i=e=>{e.preventDefault();let{clientX:i}=e,{left:a,width:o}=r.current.getBoundingClientRect(),{src:l}=n,s=(i-a)/o;"start"===t?n.set({startTime:Math.min(n.endTime,Math.max(0,s))}):"end"===t&&n.set({endTime:Math.min(1,Math.max(n.startTime,s))})};window.addEventListener("mousemove",i),window.addEventListener("mouseup",()=>{window.removeEventListener("mousemove",i)})};return(0,k.jsx)(SH,{position:"bottom",onOpened:o,content:(0,k.jsx)(S3,{style:{boxShadow:"none",backgroundColor:"transparent",width:"calc(100vw - 300px)"},children:(0,k.jsxs)(S2,{children:[(0,k.jsx)(_s,{style:{width:"80px"},value:parseFloat((n.duration*(n.endTime-n.startTime)/1e3).toFixed(2)),minorStepSize:.01,stepSize:.1,buttonPosition:"none",readOnly:!0}),(0,k.jsxs)("div",{style:{width:"calc(100vw - 420px)",height:"30px",display:"flex",position:"relative",overflow:"hidden",marginLeft:"10px"},ref:r,children:[i.map((e,t)=>(0,k.jsx)("img",{src:e,style:{width:"auto",height:"100%",objectFit:"cover"}},t)),(0,k.jsx)("div",{style:{position:"absolute",top:"0",left:0,width:100*n.startTime+"%",height:"30px",backgroundColor:"rgb(0, 0, 0, 0.5)"}}),(0,k.jsx)("div",{style:{position:"absolute",top:"0",right:"0%",width:100-100*n.endTime+"%",height:"30px",backgroundColor:"rgb(0, 0, 0, 0.5)"}}),(0,k.jsx)("div",{style:{position:"absolute",top:"0",left:100*n.startTime+"%",width:"10px",height:"30px",borderRadius:"0px",backgroundColor:"rgb(0, 161, 255, 0.9)",cursor:"ew-resize"},onMouseDown:e=>{l(e,"start")}}),(0,k.jsx)("div",{style:{position:"absolute",top:"0",right:100-100*n.endTime+"%",width:"10px",height:"30px",borderRadius:"0px",backgroundColor:"rgb(0, 161, 255, 0.9)",cursor:"ew-resize"},onMouseDown:e=>{l(e,"end")}})]})]})}),children:(0,k.jsx)(wL,{icon:(0,k.jsx)(Li,{}),minimal:!0,children:"Trim"})})}),VideoAnimations:Mc,VideoVolume:F(({element:e})=>{let t=Math.round(100*e.volume),n=t=>{e.set({volume:t/100})};return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsx)("div",{style:{padding:"10px",width:"250px"},children:(0,k.jsxs)("div",{style:{display:"flex",width:"100%",justifyContent:"space-between"},children:[(0,k.jsx)("div",{style:{paddingTop:"7px",paddingLeft:"10px",width:"calc(100% - 80px)"},children:(0,k.jsx)(_y,{value:t,onChange:e=>{n(e)},min:0,max:100,labelStepSize:50,showTrackFill:!1,labelRenderer:!1})}),(0,k.jsx)(_s,{value:t,onValueChange:e=>{n(Math.max(0,Math.min(100,e)))},buttonPosition:"none",style:{width:"50px",padding:"0 5px",marginLeft:"10px"},min:0,max:100})]})}),children:(0,k.jsx)(Sq,{content:p4("toolbar.volume"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(La,{}),minimal:!0,"aria-label":p4("toolbar.volume")})})})}),VideoClip:F(({element:e,store:t})=>e.contentEditable?e.clipSrc?(0,k.jsx)(wL,{text:p4("toolbar.removeClip"),minimal:!0,onClickCapture:t=>{e.set({clipSrc:""})}}):(0,k.jsx)(wL,{minimal:!0,text:p4("toolbar.clip"),onClickCapture:e=>{e.stopPropagation(),t.openSidePanel("image-clip")}}):null)},Ll=F(({store:e,components:t})=>{let n=e.selectedElements,r=kt({type:"video",usedItems:["VideoTrim","VideoVolume","VideoClip",at.animationsEnabled&&"VideoAnimations"].filter(e=>!!e),components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||Lo[r];return(0,k.jsx)(i,{elements:n,element:n[0],store:e},r)}})});C("8NFma");var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),Ls=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"disable",ref:t},e),_.createElement("path",{d:n?"M200 400C89.6 400 0 310.4 0 200C0 89.6 89.6 0 200 0S400 89.6 400 200C400 310.4 310.4 400 200 400zM40 200C40 288.4 111.6 360 200 360C237 360 271 347.4 298 326.2L73.8 102C52.6 129 40 163 40 200zM200 40C163 40 129 52.6 102 73.8L326.2 298C347.4000000000001 271 360 237 360 200C360 111.6 288.4 40 200 40z":"M159.8 320.2C71.4 320.2 -0.2 248.6 -0.2 160.2S71.4 0.2 159.8 0.2S319.8 71.8 319.8 160.2S248.2 320.2 159.8 320.2zM39.8 160.2C39.8 226.4 93.6 280.2 159.8 280.2C185.8 280.2 209.6 271.8 229.2 257.8L62.2 90.8C48.2 110.4 39.8 134.2 39.8 160.2zM159.8 40.2C133.8 40.2 110 48.6 90.4 62.6L257.4 229.6C271.4 210 279.8 186.2 279.8 160.2C279.8 93.8 226.2 40.2 159.8 40.2z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});Ls.defaultProps={size:wx.IconSize.STANDARD},Ls.displayName="Blueprint5.Icon.Disable";var Lc={};Lc=function(e){return AW({tag:"svg",attr:{viewBox:"0 0 20 20",fill:"currentColor"},child:[{tag:"path",attr:{d:"M0 0h20v5H0V0zm0 7h20v4H0V7zm0 6h20v3H0v-3zm0 5h20v2H0v-2z"}}]})(e)};let Lu=F(({elements:e,store:t})=>(0,k.jsx)(Rj,{value:e[0].fill,style:{marginRight:"5px"},gradientEnabled:!0,onChange:n=>t.history.transaction(()=>{e.forEach(e=>{e.set({fill:n})})}),store:t})),Ld=F(({store:e,elements:t,element:n})=>{let r=n=>{e.history.transaction(()=>{t.forEach(e=>{e.set(n)})})};return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsxs)("div",{style:{padding:"15px",paddingTop:"15px",width:"270px"},children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"15px"},children:[(0,k.jsx)(wL,{onClick:()=>{r({strokeWidth:0})},active:0===t[0].strokeWidth,style:{width:"44px",height:"34px"},icon:(0,k.jsx)(Ls,{size:20})}),(0,k.jsx)(wL,{onClick:()=>{r({dash:[],strokeWidth:t[0].strokeWidth||10})},active:!!t[0].strokeWidth&&0===t[0].dash.length,children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x2:"24",y1:"50%",y2:"50%",stroke:"currentColor",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{r({dash:[4,1],strokeWidth:t[0].strokeWidth||10})},active:!!t[0].strokeWidth&&4===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"-1",x2:"25",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"12 2",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{r({dash:[2,1],strokeWidth:t[0].strokeWidth||10})},active:!!t[0].strokeWidth&&2===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"6 2",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>{r({dash:[1,1],strokeWidth:t[0].strokeWidth||10})},active:!!t[0].strokeWidth&&1===t[0].dash[0],children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,k.jsx)("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"2 2",strokeWidth:"2"})})})]}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"5px"},children:[(0,k.jsx)("div",{className:"bp5-control bp5-align-right",children:p4("toolbar.strokeWidth")}),(0,k.jsx)("div",{children:(0,k.jsx)(RF,{value:t[0].strokeWidth,onValueChange:e=>{r({strokeWidth:e})},style:{width:"50px"},min:0,max:Math.round(Math.min(t[0].width,t[0].height)/2),buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:t[0].strokeWidth,onChange:e=>{r({strokeWidth:e})},min:0,max:Math.round(Math.min(t[0].width,t[0].height)/2),labelRenderer:!1}),"rect"===t[0].subType&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:"15px",paddingBottom:"5px"},children:[(0,k.jsx)("div",{className:"bp5-control bp5-align-right",children:p4("toolbar.cornerRadius")}),(0,k.jsx)("div",{children:(0,k.jsx)(RF,{value:t[0].cornerRadius,onValueChange:e=>{r({cornerRadius:e})},style:{width:"50px"},min:0,max:Math.round(Math.max(t[0].width,t[0].height)/2),buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:t[0].cornerRadius,onChange:e=>{r({cornerRadius:e})},min:0,max:Math.round(Math.max(t[0].width,t[0].height)/2),labelRenderer:!1})]})]}),children:(0,k.jsx)(Sq,{content:p4("toolbar.strokeSettings"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(y(Lc),{}),minimal:!0,"aria-label":p4("toolbar.strokeSettings")})})})}),Lh={FigureFill:Lu,FigureStroke:F(({elements:e,store:t})=>e.find(e=>e.strokeWidth)?(0,k.jsx)(Rj,{value:e[0].stroke,style:{marginRight:"5px"},gradientEnabled:!0,onChange:n=>t.history.transaction(()=>{e.forEach(e=>{e.set({stroke:n})})}),store:t}):null),FigureSettings:Ld,FigureAnimations:Mc,FigureFilters:RU},Lf=F(({store:e,components:t})=>{let n=e.selectedElements[0],r=kt({type:"figure",usedItems:["FigureFill","FigureStroke","FigureSettings","FigureFilters",at.animationsEnabled&&"FigureAnimations"].filter(e=>!!e),components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||Lh[r];return(0,k.jsx)(i,{element:n,store:e,elements:e.selectedElements},r)}})});C("8NFma");let Lp={GifFilters:RU,GifAnimations:Mc},Lg=F(({store:e,components:t})=>{let n=e.selectedElements,r=kt({type:"gif",usedItems:["GifFilters",at.animationsEnabled&&"GifAnimations"].filter(e=>!!e),components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||Lp[r];return(0,k.jsx)(i,{elements:n,element:n[0],store:e},r)}})});C("8NFma");let Lm={ManyAnimations:Mc},Ly=F(({store:e,components:t})=>{let n=e.selectedElements,r=kt({type:"many",usedItems:[at.animationsEnabled&&"ManyAnimations"],components:t});return(0,k.jsx)(kn,{items:r,itemRender:r=>{let i=t[r]||Lm[r];return(0,k.jsx)(i,{elements:n,element:n[0],store:e},r)}})});var _=C("8NFma");let Lb=()=>(0,k.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"2",fill:"none"})}),Lv=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.3",fill:"none"}),(0,k.jsx)("line",{x1:"1",y1:"1.5",x2:"15",y2:"1.5",stroke:"currentColor",strokeWidth:"2"})]}),Lx=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.3",fill:"none"}),(0,k.jsx)("line",{x1:"1",y1:"14.5",x2:"15",y2:"14.5",stroke:"currentColor",strokeWidth:"2"})]}),Lw=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.3",fill:"none"}),(0,k.jsx)("line",{x1:"1.5",y1:"1",x2:"1.5",y2:"15",stroke:"currentColor",strokeWidth:"2"})]}),LC=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.3",fill:"none"}),(0,k.jsx)("line",{x1:"14.5",y1:"1",x2:"14.5",y2:"15",stroke:"currentColor",strokeWidth:"2"})]}),LS=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1.5",y:"1.5",width:"13",height:"13",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.3",fill:"none"}),(0,k.jsx)("line",{x1:"4",y1:"4",x2:"12",y2:"12",stroke:"currentColor",strokeWidth:"1.5"}),(0,k.jsx)("line",{x1:"12",y1:"4",x2:"4",y2:"12",stroke:"currentColor",strokeWidth:"1.5"})]}),Lk=["top","right","bottom","left"],L_=F(({elements:e,store:t})=>{let n,r=e[0],i="tablecell"===r.type,[a,o]=y(_).useState(new Set(Lk)),l=i?t.selectedElements[0]:r,s=[...a][0]||"top";n=i?r:"bottom"===s?l.getCell(l.rows-1,0):"right"===s?l.getCell(0,l.cols-1):l.getCell(0,0);let c=n?.getEffectiveBorder?n.getEffectiveBorder(s):{color:l.borderColor,width:l.borderWidth,style:l.borderStyle},u=c.color,d=c.width,h=c.style,f=n=>{t.history.transaction(()=>{let t={};if("borderColor"in n&&(t.color=n.borderColor),"borderWidth"in n&&(t.width=n.borderWidth),"borderStyle"in n&&(t.style=n.borderStyle),i){let n=e.map(e=>e.id);l.setCellBorders(n,[...a],t)}else{for(let{cellIds:e,sides:n}of(()=>{let e=[...a];if(4===e.length)return[{cellIds:l.cells.map(e=>e.id),sides:e}];let t=[];for(let n of e){let e;e="top"===n?l.cells.filter(e=>0===e.row):"bottom"===n?l.cells.filter(e=>e.row===l.rows-1):"left"===n?l.cells.filter(e=>0===e.col):l.cells.filter(e=>e.col===l.cols-1),t.push({cellIds:e.map(e=>e.id),sides:[n]})}return t})())l.setCellBorders(e,n,t);4===a.size&&e.forEach(e=>e.set(n))}})};return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsxs)("div",{style:{padding:"15px",width:"270px"},children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"15px"},children:[(0,k.jsx)(Sq,{content:p4("toolbar.borderAllSides"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,active:4===a.size,onClick:()=>o(new Set(Lk)),icon:(0,k.jsx)(Lb,{})})}),(0,k.jsx)(Sq,{content:p4("toolbar.borderTop"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,active:a.has("top")&&1===a.size,onClick:()=>o(new Set(["top"])),icon:(0,k.jsx)(Lv,{})})}),(0,k.jsx)(Sq,{content:p4("toolbar.borderBottom"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,active:a.has("bottom")&&1===a.size,onClick:()=>o(new Set(["bottom"])),icon:(0,k.jsx)(Lx,{})})}),(0,k.jsx)(Sq,{content:p4("toolbar.borderLeft"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,active:a.has("left")&&1===a.size,onClick:()=>o(new Set(["left"])),icon:(0,k.jsx)(Lw,{})})}),(0,k.jsx)(Sq,{content:p4("toolbar.borderRight"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,active:a.has("right")&&1===a.size,onClick:()=>o(new Set(["right"])),icon:(0,k.jsx)(LC,{})})}),(0,k.jsx)(Sq,{content:p4("toolbar.borderNone"),position:mA.TOP,children:(0,k.jsx)(wL,{small:!0,onClick:()=>{f({borderStyle:"none"}),o(new Set(Lk))},icon:(0,k.jsx)(LS,{})})})]}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"15px"},children:[(0,k.jsx)(wL,{onClick:()=>f({borderStyle:"none"}),active:"none"===h,style:{width:"44px",height:"34px"},icon:(0,k.jsx)(Ls,{size:20})}),(0,k.jsx)(wL,{onClick:()=>f({borderStyle:"solid"}),active:"solid"===h,children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",children:(0,k.jsx)("line",{x2:"24",y1:"50%",y2:"50%",stroke:"currentColor",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>f({borderStyle:"dashed"}),active:"dashed"===h,children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",children:(0,k.jsx)("line",{x1:"-1",x2:"25",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"12 2",strokeWidth:"2"})})}),(0,k.jsx)(wL,{onClick:()=>f({borderStyle:"dotted"}),active:"dotted"===h,children:(0,k.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",children:(0,k.jsx)("line",{x1:"1",x2:"23",y1:"50%",y2:"50%",stroke:"currentColor",strokeDasharray:"2 2",strokeWidth:"2"})})})]}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"10px"},children:[(0,k.jsx)("div",{className:"bp5-control bp5-align-right",children:p4("toolbar.tableBorderColor")}),(0,k.jsx)(Rj,{value:u,onChange:e=>f({borderColor:e}),store:t})]}),(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"5px"},children:[(0,k.jsx)("div",{className:"bp5-control bp5-align-right",children:p4("toolbar.tableBorderWidth")}),(0,k.jsx)(RF,{value:d,onValueChange:e=>f({borderWidth:e}),style:{width:"50px"},min:0,max:20,buttonPosition:"none"})]}),(0,k.jsx)(_y,{value:d,onChange:e=>f({borderWidth:e}),min:0,max:20,labelRenderer:!1})]}),children:(0,k.jsx)(Sq,{content:p4("toolbar.tableBorderSettings"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(y(Lc),{}),"aria-label":p4("toolbar.tableBorderSettings")})})})}),LE=()=>(0,k.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[(0,k.jsx)("rect",{x:"1",y:"1",width:"14",height:"14",rx:"1",stroke:"currentColor",strokeWidth:"1.5",fill:"none"}),(0,k.jsx)("line",{x1:"5.5",y1:"1",x2:"5.5",y2:"15",stroke:"currentColor",strokeWidth:"1"}),(0,k.jsx)("line",{x1:"10.5",y1:"1",x2:"10.5",y2:"15",stroke:"currentColor",strokeWidth:"1"}),(0,k.jsx)("line",{x1:"1",y1:"5.5",x2:"15",y2:"5.5",stroke:"currentColor",strokeWidth:"1"}),(0,k.jsx)("line",{x1:"1",y1:"10.5",x2:"15",y2:"10.5",stroke:"currentColor",strokeWidth:"1"})]}),LT=F(({element:e,store:t})=>{let n=e.focusedCells[0],r=n?.row,i=n?.col,a=null!=n;return(0,k.jsxs)(kl,{children:[a&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ks,{title:p4("toolbar.tableRows")}),(0,k.jsx)(kd,{text:p4("toolbar.insertRowAbove"),onClick:()=>{t.history.transaction(()=>{e.addRow(r)})}}),(0,k.jsx)(kd,{text:p4("toolbar.insertRowBelow"),onClick:()=>{t.history.transaction(()=>{e.addRow(r+1)})}}),(0,k.jsx)(kd,{text:p4("toolbar.deleteRow"),disabled:e.rows<=1,onClick:()=>{t.history.transaction(()=>{e.removeRow(r)})}}),(0,k.jsx)(ks,{title:p4("toolbar.tableColumns")}),(0,k.jsx)(kd,{text:p4("toolbar.insertColumnLeft"),onClick:()=>{t.history.transaction(()=>{e.addColumn(i)})}}),(0,k.jsx)(kd,{text:p4("toolbar.insertColumnRight"),onClick:()=>{t.history.transaction(()=>{e.addColumn(i+1)})}}),(0,k.jsx)(kd,{text:p4("toolbar.deleteColumn"),disabled:e.cols<=1,onClick:()=>{t.history.transaction(()=>{e.removeColumn(i)})}}),(0,k.jsx)(ks,{})]}),(0,k.jsx)(kd,{text:p4("toolbar.distributeRowsEvenly"),onClick:()=>{t.history.transaction(()=>{e.distributeRowsEvenly()})}}),(0,k.jsx)(kd,{text:p4("toolbar.distributeColumnsEvenly"),onClick:()=>{t.history.transaction(()=>{e.distributeColumnsEvenly()})}})]})}),LP=F(({elements:e,store:t})=>{let n=e[0];return(0,k.jsx)(SH,{position:mA.BOTTOM,content:(0,k.jsx)(LT,{element:n,store:t}),children:(0,k.jsx)(Sq,{content:p4("toolbar.tableStructure"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:(0,k.jsx)(LE,{}),"aria-label":p4("toolbar.tableStructure")})})})});F(({elements:e,store:t})=>(0,k.jsx)(Sq,{content:p4("toolbar.cellPadding"),position:mA.BOTTOM,children:(0,k.jsx)(RF,{value:e[0].cellPadding,onValueChange:n=>t.history.transaction(()=>{e.forEach(e=>e.set({cellPadding:n}))}),style:{width:"50px"},min:0,max:50,buttonPosition:"none"})}));let LO={TableBorderSettings:L_,TextFontFamily:Mw,TextFontSize:MC,TextFill:MP,CellBackground:F(({elements:e,store:t})=>(0,k.jsx)(Sq,{content:p4("toolbar.cellBackground"),position:mA.BOTTOM,children:(0,k.jsx)(Rj,{value:e[0].cellBackground,style:{marginRight:"5px"},onChange:n=>t.history.transaction(()=>{e.forEach(e=>e.set({cellBackground:n}))}),store:t})})),TextFontVariant:ME,CellVerticalAlign:F(({elements:e,store:t})=>{let n=e[0];return(0,k.jsx)(Sq,{content:p4("toolbar.verticalAlign"),position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,icon:M_[n.verticalAlign],onClick:()=>{let r=(Mk.indexOf(n.verticalAlign)+1+Mk.length)%Mk.length,i=Mk[r];t.history.transaction(()=>{e.forEach(e=>e.set({verticalAlign:i}))})},"aria-label":p4("toolbar.verticalAlign")})})}),TextSpacing:MA},LA={TableStructure:LP,TableAnimations:Mc,...LO},LI=F(({store:e,components:t})=>{let n=e.selectedElements[0],r=n.focusedCells,i=r.length>0,a=kt({type:"table",usedItems:["TableBorderSettings","CellBackground","TableStructure",...i?["TextFontFamily","TextFontSize","TextFill","TextFontVariant","CellVerticalAlign","TextSpacing"]:[],at.animationsEnabled&&"TableAnimations"],components:t});return(0,k.jsx)(kn,{items:a,itemRender:a=>{let o,l=t[a]||LA[a],s=!!LO[a],c="TableBorderSettings"===a||"CellBackground"===a;return!s||i||c?(o=s?i?r:"TableBorderSettings"===a?e.selectedElements:n.cells.slice():e.selectedElements,(0,k.jsx)(l,{element:n,store:e,elements:o},a)):null}})});var _=C("8NFma"),ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),LR=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"time",ref:t},e),_.createElement("path",{d:n?"M220 208.2V320C220 331 211 340 200 340S180 331 180 320V200C180 194.4 182.2 189.4 185.8 185.8L245.8 125.8C249.4 122.2 254.4 120 260 120C271 120 280 129 280 140C280 145.6 277.8 150.6 274.2000000000001 154.2L220 208.2zM200 400C89.6 400 0 310.4 0 200C0 89.6 89.6 0 200 0S400 89.6 400 200C400 310.4 310.4 400 200 400zM200 40C111.6 40 40 111.6 40 200S111.6 360 200 360S360 288.4 360 200S288.4 40 200 40z":"M160 320C71.6 320 0 248.4 0 160S71.6 0 160 0S320 71.6 320 160S248.4 320 160 320zM160 40C93.8 40 40 93.8 40 160S93.8 280 160 280S280 226.2 280 160S226.2 40 160 40zM180 168.2V240C180 251 171 260 160 260S140 251 140 240V160C140 154.4 142.2 149.4 145.8 145.8L185.8 105.8C189.4 102.2 194.4 100 200 100C211 100 220 109 220 120C220 125.6 217.8 130.6 214.2 134.2L180 168.2z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});LR.defaultProps={size:wx.IconSize.STANDARD},LR.displayName="Blueprint5.Icon.Time";let LM=({value:e,onValueChange:t,...n})=>{let[r,i]=y(_).useState(e.toString());return y(_).useEffect(()=>{i(e.toString())},[e]),(0,k.jsx)(_s,{value:r,onValueChange:(e,n)=>{i(n),Number.isNaN(e)||t(e)},...n})},LL=F(({store:e})=>e.activePage?(0,k.jsx)(Rj,{value:e.activePage.background||"white",onChange:t=>{e.activePage.set({background:t})},store:e,gradientEnabled:!0}):null),Lj={PageDuration:F(({store:e})=>{if(!e.activePage)return null;let{duration:t}=e.activePage;return(0,k.jsx)(SH,{position:"bottom",content:(0,k.jsxs)("div",{style:{padding:"15px",paddingTop:"15px",width:"230px"},children:[(0,k.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingTop:"5px",paddingBottom:"5px"},children:[(0,k.jsx)("div",{children:p4("toolbar.duration")}),(0,k.jsx)("div",{children:(0,k.jsx)(LM,{value:t/1e3,onValueChange:t=>{e.activePage.set({duration:1e3*t})},style:{width:"50px"},min:0,buttonPosition:"none"})})]}),(0,k.jsx)(_y,{value:Math.min(t/1e3,50),onChange:t=>{e.activePage.set({duration:1e3*t})},min:0,max:50,showTrackFill:!1,labelRenderer:!1})]}),children:(0,k.jsxs)(wL,{icon:(0,k.jsx)(LR,{}),minimal:!0,children:[(e.activePage.duration/1e3).toFixed(1),"s"]})})}),PageBackground:LL},LN=F(({store:e,components:t})=>{let n=kt({type:"page",usedItems:["PageBackground",at.animationsEnabled&&"PageDuration"],components:t});return(0,k.jsx)(kn,{items:n,itemRender:n=>{let r=t[n]||Lj[n];return(0,k.jsx)(r,{store:e},n)}})});var _=C("8NFma"),ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),LD=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"document",ref:t},e),_.createElement("path",{d:n?"M239.6 400H79.6C68.6 400 59.6 391 59.6 380V20C59.6 9 68.6 0 79.6 0H339.6C350.6 0 359.6 9 359.6 20V280L239.6 400zM319.6 40H99.6V360H219.6V260H319.6V40z":"M180 320H60C49 320 40 311 40 300V20C40 9 49 0 60 0H260C271 0 280 9 280 20V220L180 320zM240 40H80V280H160V200H240V40z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});LD.defaultProps={size:wx.IconSize.STANDARD},LD.displayName="Blueprint5.Icon.Document";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),Lz=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"import",ref:t},e),_.createElement("path",{d:n?"M185.8 85.8C189.4 82.2 194.4 80 200 80S210.6 82.2 214.2 85.8L314.2000000000001 185.8C317.8 189.4 320 194.4 320 200C320 211 311 220 300 220C294.4000000000001 220 289.4000000000001 217.8 285.8 214.2L220 148.2V380C220 391 211 400 200 400S180 391 180 380V148.2L114.2 214.2C110.6 217.8 105.6 220 100 220C89 220 80 211 80 200C80 194.4 82.2 189.4 85.8 185.8L185.8 85.8zM380 120C369 120 360 111 360 100V40H40V100C40 111 31 120 20 120S0 111 0 100V20C0 9 9 0 20 0H380C391 0 400 9 400 20V100C400 111 391 120 380 120z":"M145.8 85.8C149.4 82.2 154.4 80 160 80S170.6 82.2 174.2 85.8L254.2 165.8C257.8 169.4 260 174.4 260 180C260 191 251 200 240 200C234.4 200 229.4 197.8 225.8 194.2L180 148.2V300C180 311 171 320 160 320S140 311 140 300V148.2L94.2 194.2C90.6 197.8 85.6 200 80 200C69 200 60 191 60 180C60 174.4 62.2 169.4 65.8 165.8L145.8 85.8zM300 100C289 100 280 91 280 80V40H40V80C40 91 31 100 20 100S0 91 0 80V20C0 9 9 0 20 0H300C311 0 320 9 320 20V80C320 91 311 100 300 100z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});Lz.defaultProps={size:wx.IconSize.STANDARD},Lz.displayName="Blueprint5.Icon.Import";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),LB=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"media",ref:t},e),_.createElement("path",{d:n?"M300 220C322 220 340 238 340 260C340 282 322 300 300 300S260 282 260 260C260 238 278 220 300 220zM380 360H20C9 360 0 351 0 340V60C0 49 9 40 20 40H380C391 40 400 49 400 60V340C400 351 391 360 380 360zM360 100L240 200L200 160L120 260L40 100V320H360V100z":"M239.8 180.2C250.8 180.2 259.8 189.2 259.8 200.2S250.8 220.2 239.8 220.2S219.8 211.2 219.8 200.2S228.8 180.2 239.8 180.2zM299.8 280.2H19.8C8.8 280.2 -0.2 271.2 -0.2 260.2V60.2C-0.2 49.2 8.8 40.2 19.8 40.2H299.8C310.8 40.2 319.8 49.2 319.8 60.2V260.2C319.8 271.2 310.8 280.2 299.8 280.2zM279.8 100.2L179.8 160.2L159.8 120.2L99.8 200.2L39.8 100.2V240.2H279.8V100.2z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});LB.defaultProps={size:wx.IconSize.STANDARD},LB.displayName="Blueprint5.Icon.Media";var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),LF=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"video",ref:t},e),_.createElement("path",{d:n?"M380 360H20C9 360 0 351 0 340V60C0 49 9 40 20 40H380C391 40 400 49 400 60V340C400 351 391 360 380 360zM140 120V280L260 200L140 120z":"M300 280H20C9 280 0 271 0 260V60C0 49 9 40 20 40H300C311 40 320 49 320 60V260C320 271 311 280 300 280zM100 100V220L220 160L100 100z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});LF.defaultProps={size:wx.IconSize.STANDARD},LF.displayName="Blueprint5.Icon.Video";let LH=async({store:e,onProgress:t})=>{let n=e.toJSON(),r=await fetch(`${hk()}/renders?KEY=${hD()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({design:n,pixelRatio:1,format:"mp4"})}),i=await r.json();for(;;){let n=await fetch(`${hk()}/renders/${i.id}?KEY=${hD()}`),r=await n.json();if("done"===r.status){hx(r.output,LV(e)+".mp4");break}if("error"===r.status)throw Error("Failed to render video");t?.(r.progress||0,r.status||"processing");await new Promise(e=>setTimeout(e,5e3))}},LV=e=>{let t=[];return e.pages.forEach(e=>{e.children.forEach(e=>{"text"===e.type&&t.push(e.text)})}),t.join(" ").split(" ").slice(0,6).join(" ").replace(/\s/g,"-").toLowerCase()||"polotno"},LU=F(({store:e})=>{let[t,n]=y(_).useState(!1);return(0,k.jsx)(SH,{content:(0,k.jsxs)(kl,{children:[(0,k.jsx)(kd,{icon:(0,k.jsx)(LB,{}),text:p4("toolbar.saveAsImage"),onClick:async()=>{e.pages.forEach((t,n)=>{let r=e.pages.length>1?"-"+(n+1):"";e.saveAsImage({pageId:t.id,fileName:LV(e)+r+".png"})})}}),(0,k.jsx)(kd,{icon:(0,k.jsx)(LD,{}),text:p4("toolbar.saveAsPDF"),onClick:async()=>{n(!0),await e.saveAsPDF({fileName:LV(e)+".pdf"}),n(!1)}}),at.animationsEnabled&&(0,k.jsx)(kd,{icon:(0,k.jsx)(LF,{}),text:"Save as Video",onClick:async()=>{n(!0);try{await LH({store:e})}catch(e){console.error("Video export failed:",e),alert("Failed to export video. Please try again.")}n(!1)}})]}),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(Lz,{}),className:"polotno-download-button",text:p4("toolbar.download"),minimal:!0,loading:t})})});C("8NFma");let L$=F(({store:e})=>{let{lock:t,locked:n,disabled:r}=k0({store:e}),i=n?(0,k.jsx)(kU,{}):(0,k.jsx)(k$,{}),a=n?p4("toolbar.lockedDescription"):p4("toolbar.unlockedDescription");return(0,k.jsx)(Sq,{content:a,disabled:r,position:"bottom",children:(0,k.jsx)(wL,{minimal:!0,disabled:r,icon:i,onClick:()=>t(),"aria-label":a})})});C("8NFma");var LW={};LW=function(e){return AW({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"currentColor"},child:[{tag:"path",attr:{d:"M17.66 8L12 2.35 6.34 8C4.78 9.56 4 11.64 4 13.64s.78 4.11 2.34 5.67 3.61 2.35 5.66 2.35 4.1-.79 5.66-2.35S20 15.64 20 13.64 19.22 9.56 17.66 8zM6 14c.01-2 .62-3.27 1.76-4.4L12 5.27l4.24 4.38C17.38 10.77 17.99 12 18 14H6z"}}]})(e)};let Lq=F(({store:e})=>{let t=e.selectedShapes.length>0,n=t=>{t=Math.max(0,Math.min(t,100)),e.selectedShapes.forEach(e=>{e.set({opacity:t/100})})},r=Math.round(e.selectedShapes[0]?.opacity*100);return(0,k.jsx)(SH,{disabled:!t,minimal:!1,content:(0,k.jsxs)("div",{style:{padding:"10px 20px"},children:[(0,k.jsx)("div",{style:{textAlign:"center"},children:p4("toolbar.transparency")}),(0,k.jsxs)("div",{style:{display:"flex"},children:[(0,k.jsx)("div",{style:{paddingTop:"8px",paddingRight:"20px"},children:(0,k.jsx)(_y,{value:r,labelRenderer:!1,onChange:n,min:0,max:100})}),(0,k.jsx)(_s,{value:r,onValueChange:n,min:0,max:100,buttonPosition:"none",style:{width:"50px"},selectAllOnFocus:!0})]})]}),position:mA.BOTTOM,children:(0,k.jsx)(Sq,{content:p4("toolbar.transparency"),disabled:!t,position:mA.BOTTOM,children:(0,k.jsx)(wL,{minimal:!0,disabled:!t,"aria-label":p4("toolbar.transparency"),children:(0,k.jsx)(y(LW),{className:"bp5-icon",style:{fontSize:"20px"}})})})})});C("8NFma");var ge=C("gztBd"),_=C("8NFma"),wx=C("leH9B"),LG=_.forwardRef(function(e,t){var n=e.size>=wx.IconSize.LARGE,r=n?wx.IconSize.LARGE:wx.IconSize.STANDARD,i="".concat(-1*r/.05/2);return _.createElement(w_,(0,ge.__assign)({iconName:"cog",ref:t},e),_.createElement("path",{d:n?"M380 240H333.8C331 249.2 327.2000000000001 257.8 322.6 266L356.6 300C364.4000000000001 307.8 364.4000000000001 320.4 356.6 328.2L328.4000000000001 356.4C320.6 364.2 308.0000000000001 364.2 300.2000000000001 356.4L266.2000000000001 322.4C258.0000000000001 326.8 249.4000000000001 330.6 240.2000000000001 333.4V380C240.2000000000001 391 231.2000000000001 400 220.2000000000001 400H180C169 400 160 391 160 380V333.4C150.4 330.6 141.2 326.6 132.6 321.8L100 354.4C92.6 361.8 80.4 361.8 72.8 354.4L45.6 327.2C38.2 319.6 38.2 307.4 45.6 300L78 267.6C73.2 258.8 69.2 249.8 66.2 240H20C9 240 0 231 0 220V180C0 169 9 160 20 160H66.2C69 150.8 72.8 142.2 77.4 134L43.4 100C35.6 92.2 35.6 79.6 43.4 71.8L71.6 43.6C79.4 35.8 92 35.8 99.8 43.6L133.8 77.6C142 73.2 150.6 69.4 159.8 66.6V20C159.8 9 168.8 0 179.8 0H219.8C230.8 0 239.8 9 239.8 20V66.6C249.4 69.4 258.6 73.6 267.2 78.4L300 45.6C307.4 38.2 319.6 38.2 327.2 45.6L354.4 72.8C361.8 80.2 361.8 92.4 354.4 100L322 132.4C326.8 141 331 150.2000000000001 334 160H380C391 160 400 169 400 180V220C400 231 391 240 380 240zM200 120C155.8 120 120 155.8 120 200C120 244.2 155.8 280 200 280S280 244.2 280 200C280 155.8 244.2 120 200 120z":"M303.8 192.2H266.8C264.6 199.6 261.4 206.4 257.8 213L285 240.2C291.2 246.4000000000001 291.2 256.6 285 262.8L262.4000000000001 285.4C256.2 291.6 246 291.6 239.8000000000001 285.4L212.6000000000001 258.2C206 261.6 199.2 264.8 191.8 267V304.2C191.8 313 184.6 320.2 175.8 320.2H143.8C135 320.2 127.8 313 127.8 304.2V267C120 264.6 112.8 261.4 105.8 257.6L79.8 283.6C73.8 289.6 64 289.6 58 283.6L36.4 261.8C30.4 255.8 30.4 246 36.4 240L62.4 214C58.4 207.2 55.2 200 52.8 192.2H15.8C7 192.2 -0.2 185 -0.2 176.2V144.2C-0.2 135.4 7 128.2 15.8 128.2H52.8C55 120.8 58.2 114 61.8 107.4L34.6 80.2000000000001C28.4 74 28.4 63.8 34.6 57.6L57.2 35.0000000000001C63.4 28.8000000000001 73.6 28.8000000000001 79.8 35.0000000000001L107 62.2000000000001C113.6 58.6000000000001 120.4 55.6000000000001 127.8 53.4000000000001V16.2000000000001C127.8 7.4000000000001 135 0.2 143.8 0.2H175.8C184.6 0.2 191.8000000000001 7.4 191.8000000000001 16.2000000000001V53.4000000000001C199.6000000000001 55.8000000000001 206.8000000000001 59.0000000000001 213.8 62.8000000000001L239.8000000000001 36.8000000000001C245.8000000000001 30.8000000000001 255.6 30.8000000000001 261.6 36.8000000000001L283.4000000000001 58.6000000000001C289.4000000000001 64.6000000000001 289.4000000000001 74.4 283.4000000000001 80.4000000000001L257.4000000000001 106.4000000000001C261.2 113.4000000000001 264.6 120.6000000000001 267 128.4000000000001H304C312.8 128.4000000000001 320 135.6000000000001 320 144.4000000000001V176.4000000000001C319.8 185 312.6 192.2 303.8 192.2zM159.8 100.2C126.6 100.2 99.8 127 99.8 160.2S126.6 220.2 159.8 220.2S219.8 193.4 219.8 160.2S193 100.2 159.8 100.2z",fillRule:"evenodd",transform:"scale(0.05, -0.05) translate(".concat(i,", ").concat(i,")"),style:{transformOrigin:"center"}}))});LG.defaultProps={size:wx.IconSize.STANDARD},LG.displayName="Blueprint5.Icon.Cog";let LK=F(({store:e})=>{let t=e.selectedElements.length>0,n=e.selectedElements[0]||{},r=t=>{e.selectedElements.forEach(e=>{e.set(t)})};return(0,k.jsx)(SH,{disabled:!t,minimal:!1,content:(0,k.jsxs)("div",{style:{padding:"15px",paddingTop:"25px",width:"220px"},children:[(0,k.jsx)(RD,{checked:n.selectable,label:p4("toolbar.selectable"),onChange:e=>{r({selectable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.draggable,label:p4("toolbar.draggable"),onChange:e=>{r({draggable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.removable,label:p4("toolbar.removable"),onChange:e=>{r({removable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.resizable,label:p4("toolbar.resizable"),onChange:e=>{r({resizable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.contentEditable,label:p4("toolbar.contentEditable"),onChange:e=>{r({contentEditable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.styleEditable,label:p4("toolbar.styleEditable"),onChange:e=>{r({styleEditable:e.target.checked})},alignIndicator:m_}),(0,k.jsx)(RD,{checked:n.alwaysOnTop,label:p4("toolbar.alwaysOnTop"),onChange:e=>{r({alwaysOnTop:e.target.checked})},alignIndicator:m_,style:{marginTop:"20px"}}),(0,k.jsx)(RD,{checked:n.showInExport,label:p4("toolbar.showInExport"),onChange:e=>{r({showInExport:e.target.checked})},alignIndicator:m_,style:{marginTop:"20px"}})]}),position:mA.BOTTOM,children:(0,k.jsx)(wL,{icon:(0,k.jsx)(LG,{}),minimal:!0,disabled:!t,"aria-label":"Admin settings"})})});C("8NFma");let LY=F(({store:e})=>{let{disabled:t,elementToCopy:n,setElementToCopy:r}=kW(e);return(0,k.jsx)(Sq,{content:p4("toolbar.copyStyle"),disabled:t,children:(0,k.jsx)(wL,{icon:LX,active:!!n,intent:n?"primary":"none",minimal:!0,disabled:t,onClick:()=>{r(e.selectedElements[0])},"aria-label":p4("toolbar.copyStyle")})})}),LX=(0,k.jsx)("span",{className:"bp5-icon",children:(0,k.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,k.jsx)("rect",{width:"16",height:"6",x:"2",y:"2",rx:"2"}),(0,k.jsx)("path",{d:"M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"}),(0,k.jsx)("rect",{width:"4",height:"6",x:"8",y:"16",rx:"1"})]})}),LZ={text:MR,image:M2,svg:M8,many:Ly,line:Lr,video:Ll,figure:Lf,gif:Lg,table:LI,page:LN};function LQ(e,t){LZ[e]=t}let LJ=ly("div",y(_).forwardRef)`
|
|
444
444
|
white-space: nowrap;
|
|
445
445
|
|
|
446
446
|
/* Add special style for a button with text inside, to make sure it has good with */
|