PageSourceSearch

https://www.diy.org/_next/static/chunks/7200.52da03f538ff081b.js

js diy.org collected 2026-09-24 09:04:39 UTC 172,200 bytes, 19 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="01a09f3b-a2e6-77f3-a9cb-7730f3ae8502")}catch(e){}}();(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7200],{10883:(e,t,r)=>{var l=r(95918),i=r(57716),n=r(71624),a=r(32438);e.exports=function(e){return function(t){var r=i(t=a(t))?n(t):void 0,o=r?r[0]:t.charAt(0),s=r?l(r,1).join(""):t.slice(1);return o[e]()+s}}},14360:e=>{"use strict";e.exports=JSON.parse('{"v":"5.7.11","fr":60,"ip":0,"op":81,"w":1920,"h":1080,"nm":"Loading Dots","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Dot4","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":25,"s":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":39,"s":[100]},{"t":55,"s":[25]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":25,"s":[1142,540,0],"to":[0,-6.667,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":39,"s":[1142,500,0],"to":[0,0,0],"ti":[0,-6.667,0]},{"t":55,"s":[1142,540,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-284,92,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":25,"s":[50,50,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":39,"s":[75,75,100]},{"t":55,"s":[50,50,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[120,120],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-284,92],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Dot3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":17,"s":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":31,"s":[100]},{"t":47,"s":[25]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":17,"s":[1022,540,0],"to":[0,-6.667,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":31,"s":[1022,500,0],"to":[0,0,0],"ti":[0,-6.667,0]},{"t":47,"s":[1022,540,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-284,92,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":17,"s":[50,50,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":31,"s":[75,75,100]},{"t":47,"s":[50,50,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[120,120],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-284,92],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Dot2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":9,"s":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":23,"s":[100]},{"t":39,"s":[25]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":9,"s":[902,540,0],"to":[0,-6.667,0],"ti":[0,0,0]}
1,{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":23,"s":[902,500,0],"to":[0,0,0],"ti":[0,0,0]},{"t":39,"s":[902,540,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-284,92,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":9,"s":[50,50,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":23,"s":[75,75,100]},{"t":39,"s":[50,50,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[120,120],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-284,92],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Dot1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[25]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":14,"s":[100]},{"t":30,"s":[25]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[782,540,0],"to":[0,-6.667,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":14,"s":[782,500,0],"to":[0,0,0],"ti":[0,-6.667,0]},{"t":30,"s":[782,540,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-284,92,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[50,50,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":14,"s":[75,75,100]},{"t":30,"s":[50,50,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[120,120],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-284,92],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0}],"markers":[]}')},15384:function(e,t,r){"use strict";var l=this&&this.__createBinding||(Object.create?function(e,t,r,l){void 0===l&&(l=r),Object.defineProperty(e,l,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,l){void 0===l&&(l=r),e[l]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&l(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});var a=n(r(12115));t.default=function(e){var t=a.useState(0),r=t[0],l=t[1],i=e.transitionDuration||400,n=e.delay||50,o=e.wrapperTag||"div",s=e.childTag||"div",d=void 0===e.visible||e.visible;return a.useEffect(function(){var t=a.default.Children.count(e.children);if(d||(t=0),t==r){var o=setTimeout(function(){e.onComplete&&e.onComplete()},i);return function(){return clearTimeout(o)}}var s=t>r?1:-1,u=setTimeout(function(){l(r+s)},n);return function(){return clearTimeout(u)}},[a.default.Children.count(e.children),n,r,d,i]),a.default.createElement(o,{className:e.className},a.default.Children.map(e.children,function(t,l){return a.default.createElement(s,{className:e.childClassName,style:{transition:"opacity "+i+"ms, transform "+i+"ms",transform:r>l?"none":"translateY(20px)",opacity:+(r>l)}},t)}))}},15731:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var l,i=r(12115);function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)({}).hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(null,arguments)}let a=e=>i.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},e),l||(l=i.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 15.204v3.688c0 .56.21 1.096.586 1.49A1.95 1.95 0 0 0 6 21h12c.53 0 1.04-.222 1.414-.617.375-.395.586-.932.586-1.49v-3.689M12.001 3v11.943m0 0 4.572-4.564M12 14.943 7.43 10.379"})))},19937:(e,t,r)=>{"use strict";r.d(t,{b:()=>o});var l=r(95155),i=r(12115),n=r(62125),a=r(85620);let o=e=>{let{children:t,gap:r=8,scrollStep:o=116,scrollStepMode:s="fixed",autoScrollInterval:d,arrowYOffset:u=0,showArrows:c=!0,arrowButtonSize:f=32,arrowIconSize:h=16,arrowLeftPosition:p=8,arrowRightPosition:m=8,containerClassName:x="",scrollDependency:g,scrollC
1ontainerPaddingLeft:y,arrowLeftMargin:v,arrowRightMargin:w,buttonPosition:b="center",arrowButtonClassName:k,arrowButtonStyle:I,onReachEnd:P,reachEndOffset:M=64,enableWheelScroll:C=!1,edgeFadeColor:S,edgeFadeWidth:$=56}=e,[R,E]=(0,i.useState)(!1),[j,F]=(0,i.useState)(!1),[A,T]=(0,i.useState)(!1),[D,N]=(0,i.useState)(null),O=(0,i.useRef)(!1),B=`absolute z-10 flex items-center justify-center rounded-full hover:opacity-80 transition-opacity duration-200 cursor-pointer ${k??"bg-white"}`,W=(0,i.useCallback)(()=>{if(!D)return;let{scrollLeft:e,scrollWidth:t,clientWidth:r}=D;if(E(e>1),F(e<t-r-1),P){let l=t-r-e<=M;l&&!O.current?(O.current=!0,P()):!l&&O.current&&(O.current=!1)}},[D,P,M]),U=(0,i.useCallback)(()=>{if("item"!==s||!D)return o;let e=D.firstElementChild;if(!e)return o;let{width:t}=e.getBoundingClientRect();return!Number.isFinite(t)||t<=0?o:t+r},[s,o,D,r]),H=(0,i.useCallback)(e=>{if(!C)return;let t=e.currentTarget;if(!t)return;let{scrollLeft:r,scrollWidth:l,clientWidth:i}=t;if(l<=i+1)return;let n=Math.abs(e.deltaX)>Math.abs(e.deltaY)?e.deltaX:e.deltaY;if(0===n)return;let a=1===e.deltaMode?16:2===e.deltaMode?i:1,o=Math.max(0,Math.min(l-i,r+n*a));o!==r&&(t.scrollLeft=o,e.preventDefault())},[C]);(0,i.useEffect)(()=>{if(!D)return;W(),D.addEventListener("scroll",W),C&&D.addEventListener("wheel",H,{passive:!1});let e=new ResizeObserver(W);return e.observe(D),()=>{D.removeEventListener("scroll",W),C&&D.removeEventListener("wheel",H),e.disconnect()}},[D,W,g,C,H]),(0,i.useEffect)(()=>{if(!D||!d||d<=0||A)return;let e=setInterval(()=>{let{scrollLeft:e,scrollWidth:t,clientWidth:r}=D;if(t<=r+1)return;let l=U();if(!(l<=0)){if(e>=t-r-1)return void D.scrollTo({left:0,behavior:"smooth"});D.scrollBy({left:l,behavior:"smooth"})}},d);return()=>clearInterval(e)},[D,d,U,g,A]);let L=e=>{if(!D)return;let t=U();t<=0||D.scrollBy({left:e*t,behavior:"smooth"})},z=e=>{let t={width:f,height:f,[e]:(e=>"number"==typeof e?`${e}px`:e)("left"===e?p:m)};return"top"===b?{...t,top:`calc(-${f}px - 12px)`}:"bottom"===b?{...t,top:"calc(100% + 12px)"}:{...t,top:`calc(50% + ${u}px)`,transform:"translateY(-50%)"}};return(0,l.jsxs)("div",{className:"relative",onMouseEnter:()=>T(!0),onMouseLeave:()=>T(!1),children:[c&&R&&(0,l.jsx)("button",{type:"button",onClick:()=>L(-1),className:B,style:{...z("left"),...void 0!==v&&{left:`${v}px`},boxShadow:"0 0 16px rgba(0,0,0,0.05)",...I},"aria-label":"Scroll left",children:(0,l.jsx)(n.A,{width:h,height:h})}),c&&j&&(0,l.jsx)("button",{type:"button",onClick:()=>L(1),className:B,style:{...z("right"),...void 0!==w&&{right:`${w}px`},boxShadow:"0 0 16px rgba(0,0,0,0.05)",...I},"aria-label":"Scroll right",children:(0,l.jsx)(a.A,{width:h,height:h})}),(0,l.jsx)("div",{ref:N,className:`flex overflow-x-auto scrollbar-hide ${x}`,style:{scrollbarWidth:"none",msOverflowStyle:"none",gap:r,paddingLeft:y,paddingRight:y},children:t}),S&&(0,l.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-y-0 left-0 z-[5] transition-opacity duration-200",style:{width:$,background:`linear-gradient(to right, ${S}, transparent)`,opacity:+!!R}}),S&&(0,l.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-y-0 right-0 z-[5] transition-opacity duration-200",style:{width:$,background:`linear-gradient(to left, ${S}, transparent)`,opacity:+!!j}})]})}},28568:(e,t,r)=>{e.exports=r(10883)("toUpperCase")},32438:(e,t,r)=>{var l=r(50030);e.exports=function(e){return null==e?"":l(e)}},36702:(e,t,r)=>{var l=r(80942),i=r(26526);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==l(e)}},38208:e=>{e.exports=function(e){return e.split("")}},50030:(e,t,r)=>{var l=r(73423),i=r(91426),n=r(25411),a=r(36702),o=1/0,s=l?l.prototype:void 0,d=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(n(t))return i(t,e)+"";if(a(t))return d?d.call(t):"";var r=t+"";return"0"==r&&1/t==-o?"-0":r}},50812:(e,t,r)=>{"use strict";r.d(t,{w:()=>i});var l=r(12115);function i(e){let[t,r]=(0,l.useState)(null),[i,n]=(0,l.useState)(void 0),a=(0,l.useRef)(void 0),o=()=>{a.current&&a.current.disconnect()};return(0,l.useEffect)(()=>{e.current!==t&&r(e.current)},[e,t]),(0,l.useEffect)(()=>
1{if(t)return o(),(a.current=new ResizeObserver(e=>{let[t]=e;n(t.target.getBoundingClientRect())})).observe(t),()=>{o()}},[t]),i}},54519:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>l5});var l=r(95155),i=r(12115),n=r(20063),a=r(56525),o=r(63721),s=r(74e3),d=r(10635),u=r(91421),c=r(35851),f=r(53579),h=r(79386),p=r(42290),m=r(81761),x=r(46050),g=r(47945),y=r(47138),v=r(74396),w=r(21626),b=r(21141),k=r(87861);let I={pageWidthPx:1080,defaultFrameHeightPx:353,rowPaddingPx:0,columnGapPx:24,rowGapPx:23,frameStyle:{borderWidthToken:"--webtoon-frame-border-width",borderColorToken:"--color-primary-black",borderRadiusToken:"--webtoon-frame-radius-none"}},P="0123456789abcdefghijklmnopqrstuvwxyz",M="undefined"!=typeof globalThis&&void 0!==globalThis.crypto&&"function"==typeof globalThis.crypto.getRandomValues,C=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;if(M){let t=new Uint8Array(e);globalThis.crypto.getRandomValues(t);let r="";for(let l=0;l<e;l+=1)r+=P[t[l]%P.length];return r}return Math.random().toString(36).slice(2,2+e)},S=(e,t)=>{let r=t?t():C();return`${e}_${r}`},$=e=>S("row",e),R=e=>S("fr",e),E=e=>S("el",e),j=(e,t)=>Math.min(Math.max(0,e),Math.max(0,t)),F=e=>Math.max(0,e)/2,A=(e,t)=>j(e.gapPx??t.columnGapPx,1/0),T=(e,t,r)=>r??e.defaultFrameHeightPx??t.defaultFrameHeightPx,D=(e,t,r)=>Math.min(r,Math.max(t,e)),N=e=>Number.isFinite(e.defaultHeightUnits)&&(e.defaultHeightUnits??0)>0?Math.round(e.defaultHeightUnits??1):1,O=e=>{let t=1/0,r=1/0,l=-1/0,i=-1/0;for(let n of e)t=Math.min(t,n.x),r=Math.min(r,n.y),l=Math.max(l,n.x),i=Math.max(i,n.y);return Number.isFinite(t)?{x:t,y:r,width:Math.max(0,l-t),height:Math.max(0,i-r)}:{x:0,y:0,width:0,height:0}},B=e=>({rect:O(e),path:(e=>{if(0===e.length)return{d:""};let[t,...r]=e,l=r.map(e=>`L ${e.x} ${e.y}`).join(" ");return{d:`M ${t.x} ${t.y} ${l} Z`}})(e)}),W=e=>{let t=(e=>{if(!e)return null;let t=e.match(/[MLHVZ]|-?\d*\.?\d+(?:e[-+]?\d+)?/gi);if(!t)return null;let r=[],l=0,i=0,n=0,a=!1;for(;l<t.length;){let e=t[l++];if("M"===e||"L"===e){let e=Number(t[l++]),o=Number(t[l++]);if(!Number.isFinite(e)||!Number.isFinite(o))break;i=e,n=o,r.push({x:i,y:n}),a=!0;continue}if("H"===e){let e=Number(t[l++]);if(!Number.isFinite(e))break;i=e,a&&r.push({x:i,y:n});continue}if("V"===e){let e=Number(t[l++]);if(!Number.isFinite(e))break;n=e,a&&r.push({x:i,y:n});continue}if("Z"===e)continue}return r.length>=2?r:null})(e.path.d);if(!t)return e;let r=O(t),l=e.rect.x+e.rect.width,i=e.rect.y+e.rect.height,n=r.x+r.width,a=r.y+r.height,o=Math.min(e.rect.x,r.x),s=Math.min(e.rect.y,r.y),d=Math.max(l,n)-o,u=Math.max(i,a)-s;return o===e.rect.x&&s===e.rect.y&&d===e.rect.width&&u===e.rect.height?e:{...e,rect:{x:o,y:s,width:Math.max(0,d),height:Math.max(0,u)}}},U=e=>({id:e.id,label:e.label,defaultHeightUnits:N(e),build:(t,r)=>{let{frames:l,paddingPx:i,gapPx:n,rowHeight:a}=((e,t,r,l)=>{let i=r.paddingPx??t.rowPaddingPx,n=A(r,t),a=T(r,t,l),o=n*Math.max(0,e.length-1),s=Math.max(0,t.pageWidthPx-2*i-o),d=e.reduce((e,t)=>e+t,0)||1,u=i;return{frames:e.map(e=>{let t=s*e/d,r={x:u,y:0,width:t,height:a};return u+=t+n,{rect:r,path:(e=>{let t=e.x+e.width,r=e.y+e.height;return{d:`M ${e.x} ${e.y} H ${t} V ${r} H ${e.x} Z`}})(r)}}),paddingPx:i,gapPx:n,rowHeight:a}})(e.columns,t,e,r);return{templateId:e.id,paddingPx:i,gapPx:n,rowHeight:a,frames:l}}}),H=e=>({id:e.id,label:e.label,defaultHeightUnits:N(e),build:(t,r)=>{let{paddingPx:l,gapPx:i,rowHeight:n,bounds:a}=((e,t,r)=>{let l=e.paddingPx??t.rowPaddingPx,i=A(e,t),n=T(e,t,r),a=Math.max(0,t.pageWidthPx-2*l);return{paddingPx:l,gapPx:i,rowHeight:n,bounds:{left:l,right:l+a,top:0,bottom:n,width:a,height:n}}})(e,t,r),o=e.buildFrames({bounds:a,gapPx:i}).map(W);return{templateId:e.id,paddingPx:l,gapPx:i,rowHeight:n,frames:o}}}),L=U({id:"single",label:"Single",columns:[1]}),z=U({id:"two_equal",label:"Two Equal",columns:[1,1]}),G=U({id:"three_equal",label:"Three Equal",columns:[1,1,1]}),Z=e=>{let{bounds:t,gapPx:r}=e,l=t.left+.5*t.width,i=.12*t.width,n=t.left+.15*t.width,a=t.right-.15*t.width,o=D(l-i,n,a),s=D(l+i,n,a),d=F(j(r,2*Math.min(Math.max(0,Math.min(o-(t.left+1),t.right-1-o)),Math.max(0,Math.min(s-(t.left+1),t.right-1-s))))),u=D(o-d,t.left,t.right),c=D(o+d,t.left,t.right),f=D(s-d,t.left,t.right),h=D(s+d,t.left,t.right);return[B([{x:t.left,y:t.top},{x:u,y:t.top},{x:f,y:t.bottom},{x:t.left,y:t.bottom}]),B([{x:c,y:t.top},{x:t.right,y:t.top},{x:t.right,y:t.bottom},{x:h,y:t.bottom}])]},_=e=>{let{bounds:t,gapPx:r}=e,l=t.top+.5*t.height,i=.12*t.height,n=t.top+.15*t.height,a=t.bottom-.15*t.height,o=D(l-i,n,a),s=D(l+i,n,a),d=F(j(r,2*Math.min(Math.max(0,Math.min(o-(t.top+1),t.bottom-1-o)),Math.max(0,Math.min(s-(t.top+1),t.bottom-1-s))))),u=D(o-d,t.top,t.bottom),c=D(s-d,t.top,t.bottom),f=D(o+d,t.top,t.bottom),h=D(s+d,t.top,t.bottom);return[B([{x:t.left,y:t.top},{x:t.right,y:t.top},{x:t.right,y:c},{x:t.left,y:u}]),B([{x:t.left,y:f},{x:t.right,y:h},{x:t.right,y:t.bottom},{x:t.left,y:t.bottom}])]},X=H({id:"slanted_split",label:"Slanted Split",buildFrames:Z}),Y=H({id:"slanted_split_tall",label:"Slanted Vertical 2x",defaultHeightUnits:2,buildFrames:Z}),V=H({id:"slanted_stack",label:"Slanted Stack",buildFrames:_}),q=H({id:"slanted_stack_tall",label:"Slanted Horizontal 2x",defaultHeightUnits:2,buildFrames:_}),K=H({id:"nested_left_split",label:"Nested Left Split",buildFrames:e=>{let{bounds:t,gapPx:r}=e,l=t.left+.4*t.width,i=t.top+.5*t.height,n=F(j(r,2*Math.min(Math.max(0,Math.min(l-(t.left+1),t.right-1-l)),Math.max(0,Math.min(i-(t.top+1),t.bottom-1-i))))),a=D(l-n,t.left,t.right),o=D(l+n,t.left,t.right),s=D(i-n,t.top,t.bottom),d=D(i+n,t.top,t.bottom);return[B([{x:t.left,y:t.top},{x:a,y:t.top},{x:a,y:s},{x:t.left,y:s}]),B([{x:t.left,y:d},{x:a,y:d},{x:a,y:t.bottom},{x:t.left,y:t.bottom}]),B([{x:o,y:t.top},{x:t.right,y:t.top},{x:t.right,y:t.bottom},{x:o,y:t.bottom}])]}}),J=H({id:"nested_right_split",label:"Nested Right Split",buildFrames:e=>{let{bounds:t,gapPx:r}=e,l=t.left+.6*t.width,i=t.top+.5*t.height,n=F(j(r,2*Math.min(Math.max(0,Math.min(l-(t.left+1),t.right-1-l)),Math.max(0,Math.min(i-(t.top+1),t.bottom-1-i))))),a=D(l-n,t.left,t.right),o=D(l+n,t.left,t.right),s=D(i-n,t.top,t.bottom),d=D(i+n,t.top,t.bottom);return[B([{x:t.left,y:t.top},{x:a,y:t.top},{x:a,y:t.bottom},{x:t.left,y:t.bottom}]),B([{x:o,y:t.top},{x:t.right,y:t.top},{x:t.right,y:s},{x:o,y:s}]),B([{x:o,y:d},{x:t.right,y:d},{x:t.right,y:t.bottom},{x:o,y:t.bottom}])]}}),Q=H({id:"tall_right_left_stack",label:"Tall Right + Left Stack",defaultHeightUnits:2,buildFrames:e=>{let{bounds:t,gapPx:r}=e,l=t.left+.42*t.width,i=t.top+.5*t.height,n=F(j(r,2*Math.min(Math.max(0,Math.min(l-(t.left+1),t.right-1-l)),Math.max(0,Math.min(i-(t.top+1),t.bottom-1-i))))),a=D(l-n,t.left,t.right),o=D(l+n,t.left,t.right),s=D(i-n,t.top,t.bottom),d=D(i+n,t.top,t.bottom);return[B([{x:t.left,y:t.top},{x:a,y:t.top},{x:a,y:s},{x:t.left,y:s}]),B([{x:t.left,y:d},{x:a,y:d},{x:a,y:t.bottom},{x:t.left,y:t.bottom}]),B([{x:o,y:t.top},{x:t.right,y:t.top},{x:t.right,y:t.bottom},{x:o,y:t.bottom}])]}}),ee={[L.id]:L,[z.id]:z,[G.id]:G,[X.id]:X,[Y.id]:Y,[V.id]:V,[q.id]:q,[K.id]:K,[J.id]:J,[Q.id]:Q},et=e=>ee[e]??null,er=(e,t)=>{let r=Number.isFinite(e)&&e>0?e:1,l=Math.max(0,r-1);return r*t.defaultFrameHeightPx+l*t.rowGapPx},el=(e,t)=>
1er((e=>Number.isFinite(e.heightUnits)&&e.heightUnits>0?e.heightUnits:1)(e),t),ei=(e,t,r)=>{let l=et(e);return l?l.build(t,r):null},en=e=>{if(!et(e))throw Error(`Unknown row template: ${e}`)},ea=(e,t,r)=>({id:e,viewBox:{x:0,y:0,width:t,height:r},background:{type:"solid",color:"#ffffff"},drawing:{elements:[]}}),eo=(e,t,r)=>{en(e);let l=(e=>{let t=et(e);if(!t)return 1;let r=t.defaultHeightUnits;return Number.isFinite(r)&&(r??0)>0?Math.round(r??1):1})(e),i=er(l,t),n=ei(e,t,i),a=(null==n?void 0:n.frames.length)??1,o=(null==n?void 0:n.rowHeight)??i,s={},d=[];for(let e=0;e<a;e+=1){var u;let l=R(r),i=null==n||null==(u=n.frames[e])?void 0:u.rect,a=(null==i?void 0:i.width)??t.pageWidthPx,c=(null==i?void 0:i.height)??o;d.push(l),s[l]=ea(l,a,c)}return{row:{id:$(r),templateId:e,heightUnits:l,frameIds:d},frames:s}},es=(e,t,r)=>{if(e.rows.length>=40)return e;let{row:l,frames:i}=eo(t??"single",e.settings,r);return{...e,rows:[...e.rows,l],frames:{...e.frames,...i}}};var ed=r(13292),eu=r(81272),ec=r(86922);let ef=/(?:\s|^)Z\s*$/i,eh=(e,t,r)=>{try{let l=(0,ec.p)(e);if(0===l.length)return"";let i=l.map(e=>((e,t)=>"line"===e.kind?{kind:"line",p0:(0,ed.MZ)(t,e.p0),p1:(0,ed.MZ)(t,e.p1)}:{kind:"cubic",p0:(0,ed.MZ)(t,e.p0),p1:(0,ed.MZ)(t,e.p1),p2:(0,ed.MZ)(t,e.p2),p3:(0,ed.MZ)(t,e.p3)})(e,t)),n=(null==r?void 0:r.isClosed)??ef.test(e);return(0,eu.x)(i,n)}catch{return""}},ep=e=>[...e],em=e=>{let{frameId:t,frameDrawing:r,styleState:l,frameGeometry:i}=e;return{frameId:t,elements:ep((null==r?void 0:r.elements)??[]),styleState:l,frameGeometry:i?{frameId:t,...i}:void 0}},ex=e=>e||{elements:[]},eg=e=>{let t="string"==typeof e.targetId&&e.targetId.length>0?e.targetId:null;return"shape"===e.target||void 0===e.target?t:null},ey=(e,t,r)=>{let l=e.frames[t];return l?{...e,frames:{...e.frames,[t]:{...l,drawing:{...ex(l.drawing),elements:ep(r)}}}}:e},ev=(e,t,r)=>{let l=[...e],i=!1;for(let e of t)switch(e.type){case"addPath":l=[...l,{id:e.path.id??E(r),type:"path",d:e.path.d,stroke:e.path.stroke,strokeWidth:e.path.strokeWidth,fill:e.path.fill,fillRule:e.path.fillRule,isClosed:e.path.isClosed,opacity:e.path.opacity,lineCap:e.path.lineCap,lineJoin:e.path.lineJoin}],i=!0;break;case"addFill":{let t=eg(e.fill);if(!t)break;l=[...l,{id:e.fill.id??E(r),type:"fill",color:e.fill.color,target:"shape",targetId:t,opacity:e.fill.opacity}],i=!0;break}case"updatePath":{let t=!1;l=l.map(r=>"path"!==r.type||r.id!==e.pathId?r:(t=!0,{...r,...e.patch,id:r.id,type:"path"})),t&&(i=!0);break}case"addText":l=[...l,{id:e.text.id??E(r),type:"text",x:e.text.x,y:e.text.y,text:e.text.text,fontFamily:e.text.fontFamily,fontSize:e.text.fontSize,isBold:e.text.isBold,textAlign:e.text.textAlign,wrapMode:e.text.wrapMode,maxWidth:e.text.maxWidth,lineHeight:e.text.lineHeight,fill:e.text.fill,transform:e.text.transform,opacity:e.text.opacity}],i=!0;break;case"updateText":{let t=!1;l=l.map(r=>"text"!==r.type||r.id!==e.textId?r:(t=!0,{...r,...e.patch,id:r.id,type:"text",transform:void 0!==e.patch.transform?e.patch.transform:r.transform})),t&&(i=!0)}}return{elements:l,didUpdate:i}},ew=(e,t,r,l)=>{let i=e.frames[t];if(!i)return e;let n=em({frameId:t,frameDrawing:i.drawing}),a=(e=>{switch(e.type){case"addPath":return[{type:"addPath",path:{...e.path}}];case"addFill":return[{type:"addFill",fill:{...e.fill}}];case"updatePath":return[{type:"updatePath",pathId:e.pathId,patch:{...e.patch}}];default:return[]}})(r),{elements:o,didUpdate:s}=ev(n.elements,a,l);return s?ey(e,t,o):e},eb=e=>"path"===e.type||"rect"===e.type||"ellipse"===e.type||"text"===e.type,ek=(e,t)=>"path"===e.type?{...e,id:t,d:eh(e.d,[1,0,0,1,10,10],{isClosed:e.isClosed})||e.d}:"rect"===e.type?{...e,id:t,x:e.x+10,y:e.y+10}:"text"===e.type?{...e,id:t,transform:(0,ed.lw)((0,ed.Tl)(10,10),e.transform)}:{...e,id:t,cx:e.cx+10,cy:e.cy+10},eI=(e,t)=>({...e,activeFrameId:t,selectedObjectIds:[]}),eP=e=>{var t;return(null==(t=e.rows[0])?void 0:t.frameIds[0])??null},eM=e=>{let t={},r={},l=0;return e.rows.forEach((i,n)=>{let a=el(i,e.settings),o=ei(i.templateId,e.settings,a),s=(null==o?void 0:o.rowHeight)??a;t[i.id]={rowId:i.id,templateId:i.templateId,y:l,height:s,frameIds:[...i.frameIds]},i.frameIds.forEach((t,l)=>{let n=null==o?void 0:o.frames[l],a=(null==n?void 0:n.rect)??{x:0,y:0,width:e.settings.pageWidthPx,height:s},d=(null==n?void 0:n.path)??(e=>{let t=e.x+e.width,r=e.y+e.height;return{d:`M ${e.x} ${e.y} H ${t} V ${r} H ${e.x} Z`}})(a),u={x:0,y:0,width:a.width,height:a.height};r[t]={frameId:t,rowId:i.id,rect:a,viewBox:u,path:d}}
1),l+=s+(n<e.rows.length-1?e.settings.rowGapPx:0)}),{rows:t,frames:r}},eC=e=>"object"==typeof e&&null!==e,eS=e=>"number"==typeof e&&Number.isFinite(e),e$={type:"solid",color:"#ffffff"},eR=e=>{if(eS(e))return e<0?0:e>1?1:e},eE=()=>({...e$}),ej=e=>{if(!eC(e)||"string"!=typeof e.type)return eE();if("solid"===e.type){let t="string"==typeof e.color?e.color.trim():"";if(0===t.length)return eE();let r=eR(e.opacity),l={type:"solid",color:t};return void 0!==r&&(l.opacity=r),l}if("svg"===e.type){if(!eC(e.source)||"string"!=typeof e.source.kind||"url"!==e.source.kind&&"dataUri"!==e.source.kind)return eE();let t="string"==typeof e.source.value?e.source.value.trim():"";if(0===t.length)return eE();let r="contain"===e.fit||"stretch"===e.fit||"cover"===e.fit?e.fit:"cover",l=eR(e.opacity),i={type:"svg",source:{kind:e.source.kind,value:t},fit:r};return void 0!==l&&(i.opacity=l),i}return eE()},eF=e=>{if(!eC(e)||"string"!=typeof e.id||"string"!=typeof e.type||void 0!==e.opacity&&!eS(e.opacity))return!1;switch(e.type){case"path":return"string"==typeof e.d&&"string"==typeof e.stroke&&eS(e.strokeWidth)&&(void 0===e.fill||"string"==typeof e.fill)&&(void 0===e.fillRule||"nonzero"===e.fillRule||"evenodd"===e.fillRule)&&(void 0===e.isClosed||"boolean"==typeof e.isClosed)&&(void 0===e.lineCap||"string"==typeof e.lineCap)&&(void 0===e.lineJoin||"string"==typeof e.lineJoin);case"rect":return eS(e.x)&&eS(e.y)&&eS(e.width)&&eS(e.height)&&(void 0===e.stroke||"string"==typeof e.stroke)&&(void 0===e.strokeWidth||eS(e.strokeWidth))&&(void 0===e.fill||"string"==typeof e.fill);case"ellipse":return eS(e.cx)&&eS(e.cy)&&eS(e.rx)&&eS(e.ry)&&(void 0===e.stroke||"string"==typeof e.stroke)&&(void 0===e.strokeWidth||eS(e.strokeWidth))&&(void 0===e.fill||"string"==typeof e.fill);case"fill":return"string"==typeof e.color&&(void 0===e.target||"string"==typeof e.target)&&(void 0===e.targetId||"string"==typeof e.targetId);case"text":return eS(e.x)&&eS(e.y)&&"string"==typeof e.text&&"string"==typeof e.fontFamily&&eS(e.fontSize)&&(void 0===e.isBold||"boolean"==typeof e.isBold)&&(void 0===e.textAlign||(e=>"left"===e||"center"===e||"right"===e)(e.textAlign))&&(void 0===e.wrapMode||(e=>"word"===e||"char"===e||"none"===e)(e.wrapMode))&&(void 0===e.maxWidth||eS(e.maxWidth))&&(void 0===e.lineHeight||eS(e.lineHeight))&&"string"==typeof e.fill&&(e=>Array.isArray(e)&&6===e.length&&e.every(eS))(e.transform);default:return!1}},eA=e=>"fill"===e.type&&"frame"===(e.target??"frame")&&void 0===e.targetId,eT=e=>!!eC(e)&&"string"==typeof e.id&&!!(e=>!!eC(e)&&(e=>!!eC(e)&&eS(e.x)&&eS(e.y)&&eS(e.width)&&eS(e.height))(e.rect)&&(e=>!!eC(e)&&"string"==typeof e.d)(e.path)&&(e=>!!eC(e)&&eS(e.x)&&eS(e.y)&&eS(e.width)&&eS(e.height))(e.viewBox))(e.geometry)&&(void 0===e.drawing||!!(e=>!!eC(e)&&!!Array.isArray(e.elements)&&e.elements.every(eF))(e.drawing))&&(void 0===e.name||"string"==typeof e.name)&&(void 0===e.rootLayerId||"string"==typeof e.rootLayerId),eD=e=>!!eC(e)&&"string"==typeof e.id&&"string"==typeof e.templateId&&(void 0===e.heightUnits||!!eS(e.heightUnits)&&!(e.heightUnits<=0))&&!!(e=>Array.isArray(e)&&e.every(e=>"string"==typeof e))(e.frameIds)&&!!(e=>!!eC(e)&&eS(e.heightPx))(e.geometry),eN=e=>({id:e,viewBox:{x:0,y:0,width:0,height:0},background:eE(),drawing:{elements:[]}}),eO=e=>(e=>!!eC(e)&&"v0"===e.version&&!!(e=>!!eC(e)&&eS(e.pageWidthPx)&&eS(e.defaultFrameHeightPx)&&eS(e.rowPaddingPx)&&eS(e.columnGapPx)&&eS(e.rowGapPx)&&(e=>!!eC(e)&&"string"==typeof e.borderWidthToken&&"string"==typeof e.borderColorToken&&"string"==typeof e.borderRadiusToken)(e.frameStyle))(e.settings)&&!!Array.isArray(e.rows)&&!!e.rows.every(eD)&&!!(e=>!!eC(e)&&Object.values(e).every(eT))(e.frames)&&(void 0===e.meta||!!eC(e.meta))&&!0)(e)?(e=>{let t=(e=>({...I,...e,frameStyle:{...I.frameStyle,...e.frameStyle}}))(e.settings),r={};return Object.entries(e.frames).forEach(e=>{var t,l,i;let[n,a]=e,o=(null==(t=a.geometry)?void 0:t.viewBox)??{x:0,y:0,width:(null==(l=a.geometry)?void 0:l.rect.width)??0,height:(null==(i=a.geometry)?void 0:i.rect.height)??0},s=Object.prototype.hasOwnProperty.call(a,"background")?ej(a.background):(e=>{if(!e)return null;let t=null;for(let r of e.elements)eA(r)&&(t=r);return t?ej({type:"solid",color:t.color,opacity:t.opacity}):null})(a.drawing)??eE();r[n]={id:n,name:a.name,viewBox:o,background:s,drawing:(e=>{if(e)return{...e,elements:e.elements.filter(e=>!eA(e))}})(a.drawing)??{elements:[]},rootLayerId:a.rootLayerId}}
1),e.rows.forEach(e=>{e.frameIds.forEach(e=>{r[e]||(r[e]=eN(e))})}),{schemaVersion:1,settings:t,rows:e.rows.map(e=>({id:e.id,templateId:e.templateId,heightUnits:e.heightUnits??1,frameIds:[...e.frameIds]})),frames:r,meta:e.meta}})(e):null,eB=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return{past:[],present:e,future:[],limit:(e=>{if(!Number.isFinite(e))return 100;let t=Math.floor(e);return t<1?100:t})(t)}},eW=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(Object.is(t,e.present))return e;if(!1===r.recordHistory)return{...e,present:t};let l=e.past.length>=e.limit?[...e.past.slice(1),e.present]:[...e.past,e.present];return{...e,past:l,present:t,future:[]}},eU=e=>e instanceof Element&&(!!(e.closest("[data-canvas-panel]")||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLElement&&e.isContentEditable)||!!e.closest('input, textarea, select, [contenteditable="true"], [role="textbox"]')),eH={type:"solid",color:"#ffffff"},eL=e=>"svg"===e.type?{...e,source:{...e.source}}:{...e},ez=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{initialDocument:t,initialSelection:r,settingsOverride:l,idGenerator:n,initialSchema:a,historyLimit:o}=e,s=(0,i.useMemo)(()=>(e,t)=>{switch(t.type){case"appendRow":return es(e,t.templateId,n);case"duplicateRow":return((e,t,r)=>{if(e.rows.length>=40)return e;let l=e.rows.findIndex(e=>e.id===t);if(-1===l)return e;let i=e.rows[l],n=i.frameIds.map(t=>e.frames[t]);if(n.some(e=>!e))return e;let a={...e.frames},o=[];n.forEach(e=>{if(!e)return;let t=R(r);o.push(t),a[t]={...e,id:t,viewBox:{...e.viewBox},background:(e=>{if(e)return"svg"===e.type?{...e,source:{...e.source}}:{...e}})(e.background),drawing:e.drawing?{...e.drawing,elements:e.drawing.elements.map(e=>({...e,id:E(r)}))}:void 0}});let s={...i,id:$(r),frameIds:o},d=[...e.rows];return d.splice(l+1,0,s),{...e,rows:d,frames:a}})(e,t.rowId,n);case"insertRow":return((e,t,r,l)=>{if(e.rows.length>=40)return e;let{row:i,frames:n}=eo(r??"single",e.settings,l),a=Math.max(0,Math.min(t,e.rows.length)),o=[...e.rows];return o.splice(a,0,i),{...e,rows:o,frames:{...e.frames,...n}}})(e,t.index,t.templateId,n);case"removeRow":var r=t.rowId;let l=e.rows.find(e=>e.id===r);if(!l)return e;let i={...e.frames};return l.frameIds.forEach(e=>{delete i[e]}),{...e,rows:e.rows.filter(e=>e.id!==r),frames:i};case"updateRowTemplate":return((e,t,r,l)=>{en(r);let i=e.rows.findIndex(e=>e.id===t);if(-1===i)return e;let n=e.rows[i],a=el(n,e.settings),o=ei(r,e.settings,a),s=(null==o?void 0:o.frames.length)??n.frameIds.length,d=(null==o?void 0:o.rowHeight)??a,u=[...n.frameIds],c={...e.frames};if(s>u.length){let t=s-u.length;for(let r=0;r<t;r+=1){var f;let t=R(l),r=null==o||null==(f=o.frames[u.length])?void 0:f.rect,i=(null==r?void 0:r.width)??e.settings.pageWidthPx,n=(null==r?void 0:r.height)??d;u.push(t),c[t]=ea(t,i,n)}}else if(s<u.length){let e=u.slice(s);u=u.slice(0,s),e.forEach(e=>{delete c[e]})}u.forEach((t,r)=>{var l;let i=c[t];if(!i)return;let n=null==o||null==(l=o.frames[r])?void 0:l.rect,a=(null==n?void 0:n.width)??(i.viewBox.width>0?i.viewBox.width:e.settings.pageWidthPx),s=(null==n?void 0:n.height)??d;c[t]={...i,viewBox:{x:0,y:0,width:a,height:s}}});let h=[...e.rows];return h[i]={...n,templateId:r,frameIds:u},{...e,rows:h,frames:c}})(e,t.rowId,t.templateId,n);case"updateRowHeightUnits":return((e,t,r)=>{let l=e.rows.findIndex(e=>e.id===t);if(-1===l)return e;let i=e.rows[l],n=Number.isFinite(r)&&r>0?Math.round(r):1;if(i.heightUnits===n)return e;let a=er(n,e.settings),o=ei(i.templateId,e.settings,a),s=(null==o?void 0:o.rowHeight)??a,d={...e.frames};i.frameIds.forEach((t,r)=>{var l;let i=d[t];if(!i)return;let n=null==o||null==(l=o.frames[r])?void 0:l.rect,a=(null==n?void 0:n.width)??(i.viewBox.width>0?i.viewBox.width:e.settings.pageWidthPx),u=(null==n?void 0:n.height)??s;d[t]={...i,viewBox:{x:0,y:0,width:a,height:u}}});let u=[...e.rows];return u[l]={...i,heightUnits:n},{...e,rows:u,frames:d}})(e,t.rowId,t.heightUnits);case"addPath":return ew(e,t.frameId,{tool:"brush",type:"addPath",path:t.path},n);case"addShapePath":return ew(e,t.frameId,{tool:"shape",type:"addPath",path:t.path},n);case"addFill":return ew(e,t.frameId,{tool:"fill",type:"addFill",fill:t.fill},n);case"addText":return((e,t,r,l)=>{let i=e.frames[t];if(!i)return e;let{elements:n,didUpdate:a}=ev(ex(i.drawing).elements,[{type:"addText",text:r}],l);
1return a?ey(e,t,n):e})(e,t.frameId,t.text,n);case"fillPath":return((e,t,r,l,i)=>{let n=e.frames[t];if(!n)return e;let a=ex(n.drawing).elements.find(e=>"path"===e.type&&e.id===r);if(!a)return e;let o="number"==typeof i;if(a.fill===l&&(!o||a.opacity===i))return e;let s={fill:l};return o&&(s.opacity=i),ew(e,t,{tool:"fill",type:"updatePath",pathId:r,patch:s})})(e,t.frameId,t.pathId,t.color,t.opacity);case"updateText":return((e,t,r,l)=>{let i=e.frames[t];if(!i)return e;let{elements:n,didUpdate:a}=ev(ex(i.drawing).elements,[{type:"updateText",textId:r,patch:l}],void 0);return a?ey(e,t,n):e})(e,t.frameId,t.textId,t.patch);case"updatePath":return((e,t,r,l)=>{let i=e.frames[t];if(!i)return e;let{elements:n,didUpdate:a}=ev(em({frameId:t,frameDrawing:i.drawing}).elements,[{type:"updatePath",pathId:r,patch:l}],void 0);return a?ey(e,t,n):e})(e,t.frameId,t.pathId,t.patch);case"clearFrameDrawing":return ey(e,t.frameId,[]);case"deleteElement":return((e,t,r)=>{let l=e.frames[t];if(!l)return e;let i=ex(l.drawing).elements,n=i.filter(e=>e.id!==r);return n.length===i.length?e:ey(e,t,n)})(e,t.frameId,t.elementId);case"duplicateElement":return((e,t,r,l,i)=>{let n=e.frames[t];if(!n)return{doc:e,duplicatedId:null};let a=ex(n.drawing).elements,o=a.findIndex(e=>e.id===r);if(o<0)return{doc:e,duplicatedId:null};let s=a[o];if(!eb(s))return{doc:e,duplicatedId:null};let d=i??E(l),u=ek(s,d);return{doc:ey(e,t,[...a.slice(0,o+1),u,...a.slice(o+1)]),duplicatedId:d}})(e,t.frameId,t.elementId,n,t.duplicatedId).doc;case"pasteElement":return((e,t,r,l)=>{let i=e.frames[t];return i&&eb(r)?ey(e,t,[...ex(i.drawing).elements,ek(r,l)]):e})(e,t.frameId,t.element,t.pastedId);case"reorderElement":return((e,t,r,l)=>{let i=e.frames[t];if(!i)return e;let n=ex(i.drawing).elements,a=n.findIndex(e=>e.id===r);if(a<0)return e;let o=n.map((e,t)=>eb(e)?t:-1).filter(e=>e>=0),s=o.indexOf(a);if(s<0)return e;let d="top"===l?o.length-1:0;if(d===s)return e;let u=o[d],c=[...n],[f]=c.splice(a,1);return c.splice(u,0,f),ey(e,t,c)})(e,t.frameId,t.elementId,t.direction);case"setFrameBackground":{let r=e.frames[t.frameId];if(!r)return e;return{...e,frames:{...e.frames,[t.frameId]:{...r,background:eL(t.background)}}}}case"clearFrameBackground":{let r=e.frames[t.frameId];if(!r)return e;return{...e,frames:{...e.frames,[t.frameId]:{...r,background:eL(eH)}}}}case"setDocument":case"replaceDocument":return t.document;default:return e}},[n]),d=(0,i.useMemo)(()=>(e,t)=>{if("undo"===t.type)return{...(e=>{if(0===e.past.length)return e;let t=e.past[e.past.length-1];return{...e,past:e.past.slice(0,-1),present:t,future:[e.present,...e.future]}})(e),lastRecordedBatchId:null};if("redo"===t.type)return{...(e=>{if(0===e.future.length)return e;let t=e.future[0];return{...e,past:[...e.past,e.present],present:t,future:e.future.slice(1)}})(e),lastRecordedBatchId:null};if("replaceDocument"===t.type)return{...eB(t.document,e.limit),lastRecordedBatchId:null};let r=s(e.present,t);if(Object.is(r,e.present))return e;if(!(e=>{switch(e.type){case"setDocument":case"replaceDocument":return!1;case"addPath":case"addShapePath":case"addFill":case"addText":case"fillPath":case"updateText":case"updatePath":case"clearFrameDrawing":case"deleteElement":case"duplicateElement":case"pasteElement":case"reorderElement":case"setFrameBackground":case"clearFrameBackground":var t;return(null==(t=e.transaction)?void 0:t.recordHistory)!==!1;default:return!0}})(t))return{...e,present:r};let l=(e=>{var t;let r=null==(t=(e=>{switch(e.type){case"addPath":case"addShapePath":case"addFill":case"addText":case"fillPath":case"updateText":case"updatePath":case"clearFrameDrawing":case"deleteElement":case"duplicateElement":case"pasteElement":case"reorderElement":case"setFrameBackground":case"clearFrameBackground":return e.transaction;default:return}})(e))?void 0:t.batchId;return r||null})(t);return l&&l===e.lastRecordedBatchId?{...e,present:r,future:[]}:{...eW(e,r,{recordHistory:!0}),lastRecordedBatchId:l}},[s]),[u,c]=(0,i.useReducer)(d,void 0,()=>{let e=t??null;(!e&&a&&(e=eO(a)),!e)&&(e=es({schemaVersion:1,settings:{...I,...l,frameStyle:{...I.frameStyle,...null==l?void 0:l.frameStyle}},rows:[],frames:{}}
1,"single",n));return{...eB(e,o),lastRecordedBatchId:null}}),f=u.present,h=u.past.length>0,p=u.future.length>0,[m,x]=(0,i.useState)(r??{activeFrameId:null,selectedObjectIds:[],hoverFrameId:null}),g=(0,i.useMemo)(()=>((e,t)=>{let r=t.rows.flatMap(e=>e.frameIds),l=new Set(r),i=r[0]??null,n=null!==e.activeFrameId&&!l.has(e.activeFrameId),a=n?i:e.activeFrameId,o=e.hoverFrameId&&l.has(e.hoverFrameId)?e.hoverFrameId:null,s=((e,t)=>{let r=new Set;return t.forEach(t=>{var l,i;let n=null==(i=e.frames[t])||null==(l=i.drawing)?void 0:l.elements;null==n||n.forEach(e=>{r.add(e.id)})}),r})(t,r),d=n?[]:e.selectedObjectIds.filter(e=>s.has(e));return e.activeFrameId===a&&e.hoverFrameId===o&&((e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1)if(e[r]!==t[r])return!1;return!0})(e.selectedObjectIds,d)?e:{...e,activeFrameId:a,hoverFrameId:o,selectedObjectIds:d}})(m,f),[m,f]);(0,i.useEffect)(()=>{g!==m&&x(g)},[g,m]);let y=(0,i.useMemo)(()=>(e=>{let t=eM(e),r={},l={},i={},n={},a={},o={};return Object.values(t.rows).forEach(e=>{l[e.rowId]=[...e.frameIds],o[e.rowId]={y:e.y,height:e.height,frameIds:[...e.frameIds]}}),Object.values(t.frames).forEach(e=>{r[e.frameId]=e.rowId,i[e.frameId]=e.rect,n[e.frameId]=e.path,a[e.frameId]=e.viewBox}),{frameToRow:r,rowToFrames:l,frameRects:i,framePaths:n,frameViewBoxes:a,rowGeometry:o}})(f),[f]),v=(0,i.useMemo)(()=>({appendRow:e=>c({type:"appendRow",templateId:e}),duplicateRow:e=>c({type:"duplicateRow",rowId:e}),insertRow:(e,t)=>c({type:"insertRow",index:e,templateId:t}),removeRow:e=>c({type:"removeRow",rowId:e}),updateRowTemplate:(e,t)=>
1c({type:"updateRowTemplate",rowId:e,templateId:t}),updateRowHeightUnits:(e,t)=>c({type:"updateRowHeightUnits",rowId:e,heightUnits:t}),setDocument:e=>c({type:"setDocument",document:e}),replaceDocument:e=>c({type:"replaceDocument",document:e}),addPath:(e,t,r)=>c({type:"addPath",frameId:e,path:t,transaction:r}),addShapePath:(e,t,r)=>c({type:"addShapePath",frameId:e,path:t,transaction:r}),addFill:(e,t,r)=>c({type:"addFill",frameId:e,fill:t,transaction:r}),addText:(e,t,r)=>c({type:"addText",frameId:e,text:t,transaction:r}),fillPath:(e,t,r,l,i)=>c({type:"fillPath",frameId:e,pathId:t,color:r,opacity:l,transaction:i}),updateText:(e,t,r,l)=>c({type:"updateText",frameId:e,textId:t,patch:r,transaction:l}),updatePath:(e,t,r,l)=>c({type:"updatePath",frameId:e,pathId:t,patch:r,transaction:l}),clearFrameDrawing:(e,t)=>c({type:"clearFrameDrawing",frameId:e,transaction:t}),deleteElement:(e,t,r)=>c({type:"deleteElement",frameId:e,elementId:t,transaction:r}),duplicateElement:(e,t,r)=>{var l;let i=f.frames[e],a=null==i||null==(l=i.drawing)?void 0:l.elements.find(e=>e.id===t);if(!i||!a||"fill"===a.type)return null;let o=E(n);return c({type:"duplicateElement",frameId:e,elementId:t,duplicatedId:o,transaction:r}),o},pasteElement:(e,t,r)=>{if(!f.frames[e]||"fill"===t.type)return null;let l=E(n);return c({type:"pasteElement",frameId:e,element:t,pastedId:l,transaction:r}),l},reorderElement:(e,t,r,l)=>c({type:"reorderElement",frameId:e,elementId:t,direction:r,transaction:l}),setFrameBackground:(e,t,r)=>c({type:"setFrameBackground",frameId:e,background:t,transaction:r}),clearFrameBackground:(e,t)=>c({type:"clearFrameBackground",frameId:e,transaction:t}),setActiveFrame:e=>x(t=>eI(t,e)),setHoverFrame:e=>x(t=>({...t,hoverFrameId:e})),selectObjects:e=>x(t=>({...t,selectedObjectIds:[...e]})),clearSelection:()=>x(e=>({...e,selectedObjectIds:[]})),selectNextFrame:()=>x(e=>((e,t)=>{if(!e.activeFrameId)return eI(e,eP(t));let r=t.rows.flatMap(e=>e.frameIds),l=r.indexOf(e.activeFrameId);return -1===l?eI(e,eP(t)):eI(e,r[l+1]??r[0]??null)})(e,f)),selectPreviousFrame:()=>x(e=>((e,t)=>{if(!e.activeFrameId)return eI(e,eP(t));let r=t.rows.flatMap(e=>e.frameIds),l=r.indexOf(e.activeFrameId);return -1===l?eI(e,eP(t)):eI(e,r[l-1]??r[r.length-1]??null)})(e,f)),undo:()=>c({type:"undo"}),redo:()=>c({type:"redo"})}),[f,c,n,x]);return{doc:f,selection:g,indexes:y,actions:v,canUndo:h,canRedo:p}};var eG=r(19076),eZ=r(25052),e_=r(7347),eX=r(85327);let eY=(e,t)=>({x:e.x-t.x,y:e.y-t.y}),eV=(e,t)=>({x:e.x+t.x,y:e.y+t.y}),eq=e=>{let{clientX:t,clientY:r,rect:l,viewBox:i}=e,n=l.width||1,a=l.height||1,o=i.width/n,s=i.height/a;return{x:i.x+(t-l.left)*o,y:i.y+(r-l.top)*s}},eK=e=>{var t,r;let{clientX:l,clientY:i,target:n}=e,a=(null==n?void 0:n.ownerSVGElement)??null,o="undefined"!=typeof DOMPoint?new DOMPoint(l,i):null,s=(null==a||null==(t=a.getScreenCTM)?void 0:t.call(a))??null;if(o&&s){let e=o.matrixTransform(s.inverse());return{x:e.x,y:e.y}}if(a){let e=a.getBoundingClientRect(),t=null==(r=a.viewBox)?void 0:r.baseVal;if(t)return eq({clientX:l,clientY:i,rect:e,viewBox:{x:t.x,y:t.y,width:t.width,height:t.height}})}return null},eJ=e=>{let{clientX:t,clientY:r,target:l,frameRect:i}=e,n=eK({clientX:t,clientY:r,target:l});return n?eY(n,i):eq({clientX:t,clientY:r,rect:(null==l?void 0:l.getBoundingClientRect())??new DOMRect(i.x,i.y,i.width,i.height),viewBox:{x:0,y:0,width:i.width,height:i.height}})};var eQ=r(70635),e0=r(84212),e1=r(52798);let e2=(e,t)=>({text:(0,e1.Pm)(t),maxWidth:"none"===e.wrapMode?void 0:e.maxWidth,fontFamily:e.fontFamily,fontSize:e.fontSize,isBold:!!e.isBold,lineHeight:e.lineHeight,wrapMode:(e=>"none"===e.wrapMode?void 0:e.wrapMode)(e)}),e3=(e,t)=>(0,e1.SQ)(e2(e,t)),e6=(e,t)=>{let r=Math.max(0,e.maxWidth??t.width),l=Math.max(0,t.height);return 0===r&&0===l?null:{x:e.x,y:e.y,width:r,height:l}},e5=e=>{let t=e.map(e=>e.x),r=e.map(e=>e.y);return{minX:Math.min(...t),minY:Math.min(...r),maxX:Math.max(...t),maxY:Math.max(...r)}},e4=(e,t)=>{let r=e.x,l=e.y,i=e.x+e.width,n=e.y+e.height;return[(0,ed.MZ)(t,{x:r,y:l}),(0,ed.MZ)(t,{x:i,y:l}),(0,ed.MZ)(t,{x:i,y:n}),(0,ed.MZ)(t,{x:r,y:n})]},e8=function(e){let t=arguments.length>
11&&void 0!==arguments[1]?arguments[1]:e.text,r=arguments.length>2?arguments[2]:void 0,l=e3(e,t),i=e6(e,l);return i?e5(e4(i,r??e.transform)):null},e7=new Map,e9=new Map,te=e=>{let t=e7.get(e.id);if(t&&t.d===e.d)return t;let r=[],l=null;try{r=(0,ec.p)(e.d),l=(0,eQ._)(r)}catch{r=[],l=null}let i={d:e.d,segments:r,bounds:l};return e7.set(e.id,i),i},tt=(e,t)=>{let r=e9.get(e);if(r&&r.d===t)return r;let l=[],i=null;try{l=(0,ec.p)(t),i=(0,eQ._)(l)}catch{l=[],i=null}let n={d:t,segments:l,bounds:i};return e9.set(e,n),n},tr=e=>!!(e&&"none"!==e),tl=/(?:\s|^)Z\s*$/i,ti=(e,t,r)=>{if(!t)return!1;let{segments:l,bounds:i}=tt(e,t);return 0!==l.length&&(!i||!(r.x<i.minX)&&!(r.x>i.maxX)&&!(r.y<i.minY)&&!(r.y>i.maxY))&&(0,e0.G)(l,r,{mode:"fill",closed:!0})},tn=(e,t,r)=>ti(e,t,r)||((e,t,r)=>{if(!t)return!1;let{segments:l}=tt(e,t);return 0!==l.length&&(0,e0.G)(l,r,{mode:"stroke",closed:!0,strokeWidth:1,hitTolerance:.5})})(e,t,r),ta=e=>"path"===e.type||"text"===e.type,to=(e,t)=>((e,t,r)=>{let l=(null==r?void 0:r.allowClosedPathWithoutFillPaint)??!1;if(!(tr(e.fill)||l&&(e=>!0===e.isClosed||tl.test(e.d))(e)))return!1;let{segments:i,bounds:n}=te(e);return 0!==i.length&&(!n||!(t.x<n.minX)&&!(t.x>n.maxX)&&!(t.y<n.minY)&&!(t.y>n.maxY))&&(0,e0.G)(i,t,{mode:"fill",closed:!0,fillRule:e.fillRule??"nonzero"})})(e,t,{allowClosedPathWithoutFillPaint:!0})||((e,t)=>{let r=Number(e.strokeWidth);if(!tr(e.stroke)||r<=0)return!1;let{segments:l,bounds:i}=te(e);if(0===l.length)return!1;let n=r/2;return(!i||!(t.x<i.minX-n)&&!(t.x>i.maxX+n)&&!(t.y<i.minY-n)&&!(t.y>i.maxY+n))&&(0,e0.G)(l,t,{mode:"stroke",closed:!0===e.isClosed,strokeWidth:r,hitTolerance:.5})})(e,t),ts=(e,t)=>"path"===e.type?to(e,t):((e,t)=>{let r=e3(e,e.text),l=e6(e,r);if(!l)return!1;let i=e5(e4(l,e.transform));if(t.x<i.minX||t.x>i.maxX||t.y<i.minY||t.y>i.maxY)return!1;let n=(0,ed.B8)(e.transform);return!!n&&((e,t)=>t.x>=e.x&&t.x<=e.x+e.width&&t.y>=e.y&&t.y<=e.y+e.height)(l,(0,ed.MZ)(n,t))})(e,t),td=(e,t)=>{if(!e)return null;for(let r=e.elements.length-1;r>=0;r-=1){let l=e.elements[r];if(ta(l)&&ts(l,t))return l}return null};var tu=r(77746),tc=r(13028);let tf=e=>Math.max(0,Math.min(1,e)),th=(e,t)=>e.x*t.y-e.y*t.x,tp=(e,t)=>({x:e.x-t.x,y:e.y-t.y}),tm=(e,t)=>{let r=e.x-t.x,l=e.y-t.y;return r*r+l*l},tx=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e-6;return Math.abs(e.x-t.x)<=r&&Math.abs(e.y-t.y)<=r},tg=(e,t,r)=>{let l=r.x-t.x,i=r.y-t.y,n=l*l+i*i;if(n<=1e-6)return tm(e,t);let a=tf(((e.x-t.x)*l+(e.y-t.y)*i)/n);return tm(e,{x:t.x+l*a,y:t.y+i*a})},ty=(e,t,r,l)=>{let i=tp(t,e),n=tp(l,r),a=th(i,n);if(1e-6>=Math.abs(a))return null;let o=tp(r,e),s=th(o,n)/a,d=th(o,i)/a;return s<-1e-6||s>1.000001||d<-1e-6||d>1.000001?null:tf(s)},tv=(e,t,r)=>{let l=[];for(let i of e.edges){let e=ty(t,r,i.a,i.b);null!=e&&l.push(e)}l.sort((e,t)=>e-t);let i=[];for(let e of l){let t=i[i.length-1];(null==t||Math.abs(t-e)>1e-6)&&i.push(e)}return i},tw=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,l=r*r;for(let r of e.edges)if(tg(t,r.a,r.b)<=l)return!0;return!1},tb=(e,t)=>!!(0,tu.s)(t,e.polygon,"nonzero")||tw(e,t),tk=(e,t)=>tb(e,t),tI=(e,t,r)=>tv(e,t,r).some(e=>e>1e-6&&e<.999999),tP=e=>{let{frameClipper:t,frameRect:r,pathD:l}=e;if(!l)return!0;let i=[];try{i=(0,ec.p)(l)}catch{return!1}if(0===i.length)return!0;let n=((e,t,r)=>e.map(e=>"line"===e.kind?{kind:"line",p0:{x:e.p0.x+t,y:e.p0.y+r},p1:{x:e.p1.x+t,y:e.p1.y+r}}:{kind:"cubic",p0:{x:e.p0.x+t,y:e.p0.y+r},p1:{x:e.p1.x+t,y:e.p1.y+r},p2:{x:e.p2.x+t,y:e.p2.y+r},p3:{x:e.p3.x+t,y:e.p3.y+r}}))(i,r.x,r.y),a=(0,tc.y)(n,16);if(0===a.length)return!0;for(let e of a)if(!tb(t,e))return!1;for(let e=0;e<a.length-1;e+=1)if(tI(t,a[e],a[e+1]))return!1;return!0},tM=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(0===e.length)return"";if(1===e.length)return`M ${e[0].x} ${e[0].y}`;if(2===e.length){let r=`M ${e[0].x} ${e[0].y} L ${e[1].x} ${e[1].y}`;return t?`${r} Z`:r}let r=[],l=(e,t)=>({x:(e.x+t.x)/2,y:(e.y+t.y)/2});r.push(`M ${e[0].x} ${e[0].y}`);for(let t=1;t<e.length-1;t+=1){let i=e[t],n=l(i,e[t+1]);r.push(`Q ${i.x} ${i.y} ${n.x} ${n.y}`)}let i=e[e.length-1];return r.push(`L ${i.x} ${i.y}`),t&&r.push("Z"),r.join(" ")},tC=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(0===e.length)return"";if(1===e.length)return`M ${e[0].x} ${e[0].y}`;let r=[`M ${e[0].x} ${e[0].y}`,...e.slice(1).map(e=>`L ${e.x} ${e.y}`)];return t&&e.length>=3&&r.push("Z"),r.join(" ")},tS=(e,t)=>{let r=eK({clientX:e.clientX,clientY:e.clientY,target:e.currentTarget});if(r)return{rowPoint:r,framePoint:eY(r,t)};let l=eJ({clientX:e.clientX,clientY:e.clientY,target:e.currentTarget,frameRect:t});return{rowPoint:eV(l,t),framePoint:l}},t$=(e,t)=>Math.hypot(e.x-t.x,e.y-t.y),tR=e=>/(?:\s|^)Z\s*$/i.test(e),tE=e=>({recordHistory:!1,batchId:e}),tj=(e,t)=>{let r=eY(t,e.frameRect);return((e,t)=>{let r=e[e.length-1];return!(r&&.01>=t$(r,t))&&(e.push(t),!0)})(e.points,r)};
1var tF=r(41280),tA=r(10484),tT=r(98761),tD=r(89357);let tN=(0,r(65348).j)(),tO={resolution:(0,tT.f)(Math.round(tN.resolution),1,4),allowUnbounded:tN.allowUnbounded,maxPixels:Math.min(tN.maxPixels??2e6,2e6),maxRegionPixels:Math.min(tN.maxRegionPixels??1e6,1e6)},tB=(e,t,r)=>{if(!Number.isFinite(e))return t;let l=Math.floor(e);return l<=0?t:Math.min(l,r)},tW=e=>({resolution:(0,tT.f)(Math.round((null==e?void 0:e.resolution)??tO.resolution),1,4),allowUnbounded:(null==e?void 0:e.allowUnbounded)??tO.allowUnbounded,maxPixels:tB((null==e?void 0:e.maxPixels)??tO.maxPixels,tO.maxPixels,2e6),maxRegionPixels:tB((null==e?void 0:e.maxRegionPixels)??tO.maxRegionPixels,tO.maxRegionPixels,1e6)}),tU=e=>{if(!e)return[];try{return(0,ec.p)(e)}catch{return[]}},tH=(e,t)=>{if(0===t.length)return!1;e.beginPath();let r=!1,l=0,i=0;for(let n of t){let t=n.p0.x,a=n.p0.y;r&&l===t&&i===a||e.moveTo(t,a),"line"===n.kind?(e.lineTo(n.p1.x,n.p1.y),l=n.p1.x,i=n.p1.y):(e.bezierCurveTo(n.p1.x,n.p1.y,n.p2.x,n.p2.y,n.p3.x,n.p3.y),l=n.p3.x,i=n.p3.y),r=!0}return r},tL=e=>!!(e&&"none"!==e),tz=e=>Number.isFinite(e)?Math.max(0,Math.min(1,e??1)):1,tG=(e,t)=>{let r=tU(t.d);if(0===r.length)return;let l=tL(t.fill),i=tL(t.stroke)&&Number(t.strokeWidth)>0;if(!l&&!i)return;let n=tz(t.opacity);n<=0||(e.save(),e.globalAlpha=n,e.fillStyle="#000",e.strokeStyle="#000",e.lineCap=t.lineCap??"round",e.lineJoin=t.lineJoin??"round",l&&tH(e,r)&&e.fill(t.fillRule??"nonzero"),i&&tH(e,r)&&(e.lineWidth=t.strokeWidth,e.stroke()),e.restore())},tZ=(e,t)=>{let r=tL(t.fill),l=t.strokeWidth??1,i=tL(t.stroke)&&Number(l)>0;if(!r&&!i)return;let n=tz(t.opacity);n<=0||(e.save(),e.globalAlpha=n,e.fillStyle="#000",e.strokeStyle="#000",e.beginPath(),e.rect(t.x,t.y,t.width,t.height),r&&e.fill(),i&&(e.lineWidth=l,e.stroke()),e.restore())},t_=(e,t)=>{let r=tL(t.fill),l=t.strokeWidth??1,i=tL(t.stroke)&&Number(l)>0;if(!r&&!i)return;let n=tz(t.opacity);n<=0||(e.save(),e.globalAlpha=n,e.fillStyle="#000",e.strokeStyle="#000",e.beginPath(),e.ellipse(t.cx,t.cy,t.rx,t.ry,0,0,2*Math.PI),r&&e.fill(),i&&(e.lineWidth=l,e.stroke()),e.restore())},tX=(e,t)=>{let r=eK({clientX:e.clientX,clientY:e.clientY,target:e.currentTarget});if(r)return{rowPoint:r,framePoint:eY(r,t)};let l=eJ({clientX:e.clientX,clientY:e.clientY,target:e.currentTarget,frameRect:t});return{rowPoint:{x:l.x+t.x,y:l.y+t.y},framePoint:l}},tY=e=>({x:e.minX,y:e.minY,width:Math.max(0,e.maxX-e.minX),height:Math.max(0,e.maxY-e.minY)}),tV=(e,t)=>"path"===e.type?((e,t)=>{let r=(e=>{try{return(0,ec.p)(e.d)}catch{return[]}})(e);if(0===r.length)return null;let l=t?r.map(e=>((e,t)=>"line"===e.kind?{kind:"line",p0:(0,ed.MZ)(t,e.p0),p1:(0,ed.MZ)(t,e.p1)}:{kind:"cubic",p0:(0,ed.MZ)(t,e.p0),p1:(0,ed.MZ)(t,e.p1),p2:(0,ed.MZ)(t,e.p2),p3:(0,ed.MZ)(t,e.p3)})(e,t)):r,i=(0,eQ._)(l);return i?tY(i):null})(e,t):((e,t)=>{let r=t?(0,ed.lw)(t,e.transform):void 0,l=e8(e,e.text,r);return l?tY(l):null})(e,t),tq=e=>({x:e.x+e.width/2,y:e.y+e.height/2});var tK=r(71863);let tJ=(e,t)=>{let r=eK({clientX:e.clientX,clientY:e.clientY,target:e.currentTarget});if(r)return{rowPoint:r,framePoint:{x:r.x-t.x,y:r.y-t.y}};let l=eJ({clientX:e.clientX,clientY:e.clientY,target:e.currentTarget,frameRect:t});return{rowPoint:eV(l,t),framePoint:l}};var tQ=r(3859);let t0=e=>Number.isFinite(e)&&e>0?e:1,t1=(e,t)=>{let r=eK({clientX:e.clientX,clientY:e.clientY,target:e.currentTarget});if(r)return{rowPoint:r,framePoint:{x:r.x-t.x,y:r.y-t.y}};let l=eJ({clientX:e.clientX,clientY:e.clientY,target:e.currentTarget,frameRect:t});return{rowPoint:eV(l,t),framePoint:l}};var t2=r(32817);let t3=e=>{let[t,r]=(0,i.useState)(e);return(0,i.useEffect)(()=>{r((0,t2.i)(e))},[e]),t},t6={stroke:"var(--color-primary-xx-dark)",strokeWidth:6,opacity:1,lineCap:"round",lineJoin:"round"},t5={color:"var(--color-primary-white)",opacity:1},t4=w.dX.map(e=>({hex:e,opacity:1})),t8=e=>{let t=e.trim();return!t||t.includes("var(")||t.startsWith("rgb")?t:(0,w.HW)(t)},t7=e=>(0,w.qE)(e,0,1);var t9=r(86567);let re=/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*[\d.]+)?\)$/,rt=e=>{let t=e.trim();if(t.startsWith("#"))return(0,w.HW)(t);let r=(e=>{let t=e.match(re);return t?{r:Number(t[1]),g:Number(t[2]),b:Number(t[3])}:null})(t);return r?(0,w.Ob)(r):(0,w.HW)(t)},rr=e=>{let{isOpen:t,color:r,opacity:l,onColorChange:n,onOpacityChange:a}=e,o=t3(r),s=(0,i.useRef)(null),d=(0,i.useRef)(null),[u,c]=(0,i.useState)(()=>{let e=rt(o),t=(0,w.RV)(e);return t.a=(0,w.qE)(l),t}),[f,h]=(0,i.useState)(()=>rt(o));(0,i.useEffect)(()=>
1{if(!t)return;let e=rt(o),r=(0,w.RV)(e);r.a=(0,w.qE)(l),c(r),h(e)},[t,l,o]);let p=(0,i.useCallback)(e=>{a&&a((0,w.qE)(e))},[a]),m=(0,i.useCallback)(e=>{c(t=>{let r={...t,...e},l=(0,w.D9)(r);return h(l),n(l),void 0!==e.a&&p(r.a),r})},[p,n]),x=(0,i.useCallback)((e,t)=>{let r=rt((0,t2.i)(e)),l=(0,w.RV)(r);l.a=(0,w.qE)(t),c(l),h(r)},[]),g=(0,i.useCallback)(e=>{let t=e.replace(/[^0-9A-Fa-f]/g,"").slice(0,6).toUpperCase(),r=`#${t}`;if(h(r),3===t.length||6===t.length){let e=(0,w.HW)(r);h(e),c(t=>({...(0,w.RV)(e),a:t.a})),n(e)}},[n]),y=(0,i.useCallback)(async()=>{let e=window.EyeDropper;if(e)try{let t=new e,r=await t.open(),l=(0,w.HW)(r.sRGBHex);c(e=>({...(0,w.RV)(l),a:e.a})),h(l),n(l)}catch{}},[n]),v=(0,i.useCallback)((e,t)=>{if(!s.current)return;let r=s.current.getBoundingClientRect();m({s:(0,w.qE)((e-r.left)/r.width),v:1-(0,w.qE)((t-r.top)/r.height)})},[m]),b=(0,i.useCallback)(()=>{let e=d.current;if(null===e)return;let t=s.current;(null==t?void 0:t.hasPointerCapture(e))&&t.releasePointerCapture(e),d.current=null},[]),k=(0,i.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),e.currentTarget.setPointerCapture(e.pointerId),d.current=e.pointerId,v(e.clientX,e.clientY)},[v]),I=(0,i.useCallback)(e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&(e.stopPropagation(),v(e.clientX,e.clientY))},[v]),P=(0,i.useCallback)(e=>{b(),e.stopPropagation()},[b]);(0,i.useEffect)(()=>{if(!t)return;let e=()=>b();return window.addEventListener("pointerup",e,!0),window.addEventListener("pointercancel",e,!0),()=>{window.removeEventListener("pointerup",e,!0),window.removeEventListener("pointercancel",e,!0)}},[t,b]);let M=(0,i.useMemo)(()=>(0,w.D9)({...u,s:1,v:1}),[u]),C=(0,i.useMemo)(()=>({left:`${100*u.s}%`,top:`${(1-u.v)*100}%`}),[u]),S=(0,i.useMemo)(()=>f.replace("#",""),[f]),$=(0,i.useMemo)(()=>Math.round(100*(0,w.qE)(u.a)),[u.a]),R=(0,i.useMemo)(()=>({backgroundImage:t9.Ip,"--hue-thumb-color":M}),[M]),E=(0,i.useMemo)(()=>({...(0,t9.Vo)(f),"--opacity-thumb-color":f}),[f]);return{shadeAreaRef:s,hsva:u,hex:f,hexInputValue:S,opacityPercent:$,huePreview:M,markerStyle:C,hueSliderStyle:R,opacitySliderStyle:E,handleShadePointerDown:k,handleShadePointerMove:I,handleShadePointerUp:P,handleHexInputChange:g,handleEyedropper:y,handleHueChange:(0,i.useCallback)(e=>m({h:e}),[m]),handleOpacityChange:(0,i.useCallback)(e=>m({a:e/100}),[m]),setPickerToColor:x}};var rl=r(60918);let ri="single",rn="Couldn't restore this project.",ra=e=>!e||"solid"===e.type&&1===(e.opacity??1)&&(e=>{let t=e.trim().toLowerCase();return"#fff"===t||"#ffffff"===t||"white"===t})(e.color);var ro=r(93849);let rs=e=>{let{onClick:t,disabled:r=!1}=e;return(0,l.jsx)("button",{type:"button",onClick:t,disabled:r,className:"w-full disabled:cursor-not-allowed","aria-label":r?"Maximum rows reached":"Add a new row",children:(0,l.jsxs)("div",{className:`flex w-full items-center justify-center gap-2 rounded-lg border-2 border-dashed border-primary-light bg-primary-xx-light py-4 text-primary-x-dark transition-colors ${r?"opacity-60":"hover:bg-primary-x-light"}`,children:[(0,l.jsx)(ro.A,{className:"h-5 w-5"}),(0,l.jsx)("span",{className:"text-sub font-medium",children:"Add row"})]})})};var rd=r(95150),ru=r(14032);let rc=e=>Number(e.toFixed(3)),rf=e=>e.path||(e=>{let t=e.x+e.width,r=e.y+e.height;return`M ${e.x} ${e.y} H ${t} V ${r} H ${e.x} Z`})(e),rh=e=>"contain"===e?"xMidYMid meet":"stretch"===e?"none":"xMidYMid slice",rp=e=>e.replace(/[^A-Za-z0-9_-]/g,"-"),rm=e=>`clip-${rp(e.scopeId)}-${rp(e.rowId)}-${rp(e.frameId)}`,rx=e=>{let t=[],r=new Map,l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;return Number(e.toFixed(t))};e.forEach(e=>{let r=(e=>{if(!e)return null;let t=e.match(/[MLHVZ]|-?\d*\.?\d+/g);if(!t)return null;let r=[],l=0,i=0,n=0,a=!1;for(;l<t.length;){let e=t[l++];if("M"===e||"L"===e){let e=Number(t[l++]),o=Number(t[l++]);if(!Number.isFinite(e)||!Number.isFinite(o))break;i=e,n=o,r.push({x:i,y:n}),a=!0;continue}if("H"===e){let e=Number(t[l++]);if(!Number.isFinite(e))break;i=e,a&&r.push({x:i,y:n});continue}if("V"===e){let e=Number(t[l++]);if(!Number.isFinite(e))break;n=e,a&&r.push({x:i,y:n});continue}if("Z"===e)continue}return r.length>=2?r:null})(rf(e))??(e=>[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height}])(e);if(r.length<2)return;let l=r.map(e=>({x:rc(e.x),y:rc(e.y)}));for(let e=0;e<l.length;e+=1){let r=l[e],i=l[(e+1)%l.length];
1(r.x!==i.x||r.y!==i.y)&&t.push({a:r,b:i})}}),t.forEach(e=>{let t=e.b.x-e.a.x,i=e.b.y-e.a.y,n=Math.hypot(t,i);if(!Number.isFinite(n)||0===n)return;let a={x:t/n,y:i/n};(a.x<0||0===a.x&&a.y<0)&&(a={x:-a.x,y:-a.y});let o={x:-a.y,y:a.x},s=o.x*e.a.x+o.y*e.a.y,d=`${l(a.x)},${l(a.y)}`,u=l(s),c=`${d}|${u}`,f=a.x*e.a.x+a.y*e.a.y,h=a.x*e.b.x+a.y*e.b.y,p=r.get(c)??[];p.push({start:Math.min(f,h),end:Math.max(f,h),dir:a,normal:o,offset:s}),r.set(c,p)});let i=[];r.forEach(e=>{let t=[...e].sort((e,t)=>e.start-t.start),r=t[0];for(let e=1;e<t.length;e+=1){let l=t[e];l.start<=r.end+.001?r={...r,end:Math.max(r.end,l.end)}:(i.push({a:{x:r.dir.x*r.start+r.normal.x*r.offset,y:r.dir.y*r.start+r.normal.y*r.offset},b:{x:r.dir.x*r.end+r.normal.x*r.offset,y:r.dir.y*r.end+r.normal.y*r.offset}}),r=l)}i.push({a:{x:r.dir.x*r.start+r.normal.x*r.offset,y:r.dir.y*r.start+r.normal.y*r.offset},b:{x:r.dir.x*r.end+r.normal.x*r.offset,y:r.dir.y*r.end+r.normal.y*r.offset}})});let n=e=>`${rc(e.x)}|${rc(e.y)}`,a=new Map,o=(e,t)=>{let r=a.get(e)??[];r.push({segIndex:t}),a.set(e,r)};i.forEach((e,t)=>{o(n(e.a),t),o(n(e.b),t)});let s=new Set,d=[],u=(e,t)=>
1{let r=[],l=e,o=t;for(;;){let e=i[l],t=n(e.a);n(e.b);let d=o===t?e.a:e.b,u=o===t?e.b:e.a;0===r.length&&r.push(d),r.push(u),s.add(l);let c=(a.get(n(u))??[]).find(e=>e.segIndex!==l&&!s.has(e.segIndex));if(!c)break;l=c.segIndex,o=n(u)}d.push(r)};return a.forEach((e,t)=>{if(1===e.length){let r=e[0].segIndex;s.has(r)||u(r,t)}}),i.forEach((e,t)=>{s.has(t)||u(t,n(e.a))}),d.map(e=>{if(0===e.length)return"";let t=e.length>2&&n(e[0])===n(e[e.length-1]),r=(t?e.slice(0,-1):e).map((e,t)=>`${0===t?"M":"L"} ${rc(e.x)} ${rc(e.y)}`).join(" ");return t?`${r} Z`:r}).filter(Boolean).join(" ")},rg=e=>{let{rowId:t,rowWidth:r,rowHeight:i,frames:n,frameStyle:a,onFrameClick:o,activeTool:s,fillHoverFrameId:d,selectedObjectIds:u,selectHoverTarget:c,selectionOverlay:f,selectionPreviewTransform:h,preview:p,shapePreview:m,zoom:x,getFramePointerHandlers:g}=e,y=`var(${a.borderColorToken})`,v=`var(${a.borderWidthToken})`,w="var(--color-primary-white)",b=e=>!!(e&&"none"!==e),k=e=>rm({scopeId:"editor",rowId:t,frameId:e}),I=n.find(e=>e.isActive),P=new Set(u??[]),M=rx(n);return(0,l.jsxs)("svg",{"data-row-id":t,viewBox:`0 0 ${r} ${i}`,className:"h-full w-full",style:{overflow:"visible"},preserveAspectRatio:"xMidYMid meet",children:[(0,l.jsx)("defs",{children:n.map(e=>{let t=rf(e),r=k(e.frameId);return(0,l.jsx)("clipPath",{id:r,clipPathUnits:"userSpaceOnUse",children:(0,l.jsx)("path",{d:t})},r)})}),n.map((e,t)=>{let r=rf(e),i=(null==g?void 0:g(e.frameId,{x:e.x,y:e.y,width:e.width,height:e.height},r,e.isActive))??null,n=k(e.frameId),a=(null==c?void 0:c.frameId)===e.frameId?c.objectId:null,u="select"===s&&e.isActive&&(null==f?void 0:f.frameId)===e.frameId,y=u?(0,rd.G)(f.bbox,{pan:{x:0,y:0},zoom:x&&x>0?x:1},20,32):void 0,v="pan"===s?"cursor-grab":"shape"===s?"cursor-crosshair":"text"===s?"cursor-text":e.isActive?"fill"===s?d===e.frameId?"cursor-pointer":"cursor-cell":"select"===s?a?"cursor-pointer":"cursor-default":"cursor-crosshair":"cursor-default";return(0,l.jsxs)("g",{children:[(0,l.jsxs)("g",{clipPath:`url(#${n})`,children:[((e,t)=>{let r=e.drawing.background;if(!r||"solid"===r.type)return(0,l.jsx)("path",{d:t,fill:(null==r?void 0:r.color)??w,opacity:null==r?void 0:r.opacity,pointerEvents:"none"});let i=r.source.value;return i?(0,l.jsx)("image",{x:e.x,y:e.y,width:e.width,height:e.height,href:i,preserveAspectRatio:rh(r.fit),opacity:r.opacity,pointerEvents:"none"}):(0,l.jsx)("path",{d:t,fill:w,pointerEvents:"none"})})(e,r),(0,l.jsxs)("g",{transform:`translate(${e.x} ${e.y})`,children:[e.drawing.elements.map(t=>{var r;if("fill"===t.type&&"frame"===t.target)return null;let i={opacity:t.opacity},n=P.has(t.id),o=a===t.id,s=(r=t.id,h&&h.frameId===e.frameId&&h.objectId===r?(0,ru.K)(h.matrix):null),d=!n&&o;switch(t.type){case"path":{let e=t.fill??"none",r=t.stroke;return(0,l.jsx)("g",{transform:s??void 0,children:(0,l.jsx)("path",{...i,d:t.d,stroke:r,strokeWidth:t.strokeWidth,strokeOpacity:d&&b(r)?.72:void 0,fill:e,fillOpacity:d&&b(e)?.72:void 0,fillRule:t.fillRule??"nonzero",strokeLinecap:t.lineCap??"round",strokeLinejoin:t.lineJoin??"round"})},t.id)}case"rect":{let e=t.fill??"none",r=t.stroke;return(0,l.jsx)("g",{transform:s??void 0,children:(0,l.jsx)("rect",{...i,x:t.x,y:t.y,width:t.width,height:t.height,fill:e,fillOpacity:d&&b(e)?.72:void 0,stroke:r,strokeWidth:t.strokeWidth,strokeOpacity:d&&b(r)?.72:void 0})},t.id)}case"ellipse":{let e=t.fill??"none",r=t.stroke;return(0,l.jsx)("g",{transform:s??void 0,children:(0,l.jsx)("ellipse",{...i,cx:t.cx,cy:t.cy,rx:t.rx,ry:t.ry,fill:e,fillOpacity:d&&b(e)?.72:void 0,stroke:r,strokeWidth:t.strokeWidth,strokeOpacity:d&&b(r)?.72:void 0})},t.id)}case"text":{let e=(0,e1.SQ)(e2(t,t.text)),r=t.maxWidth??e.width,i="center"===t.textAlign?t.x+r/2:"right"===t.textAlign?t.x+r:t.x,n=(0,ru.K)(t.transform);return(0,l.jsx)("g",{transform:s??void 0,opacity:(t.opacity??1)*(d?.72:1),children:(0,l.jsx)("g",{transform:n??void 0,"data-elementid":t.id,children:(0,e1.Mu)({x:i,y:t.y,layout:e,textAlign:t.textAlign,fill:t.fill,fontFamily:t.fontFamily,fontSize:t.fontSize,isBold:t.isBold,baseline:"top"})})},t.id)}default:return null}}),p&&p.frameId===e.frameId&&p.d&&(0,l.jsx)("path",{d:p.d,stroke:p.stroke,strokeWidth:p.strokeWidth,fill:"none",opacity:p.opacity??1,strokeLinecap:"round",strokeLinejoin:"round"}),m&&m.frameId===e.frameId&&m.d?(0,l.jsx)("path",{d:m.d,fill:m.fill,stroke:m.stroke,strokeWidth:m.strokeWidth,fillRule:m.fillRule??"nonzero",opacity:m.opacity??1,strokeLinecap:m.lineCap??"round",strokeLinejoin:m.lineJoin??"round",pointerEvents:"none"}):null]})]}),(0,l.jsx)("path",{d:r,fill:"transparent",className:`${v} outline-none focus:outline-none focus-visible:outline-none`,role:"button",tabIndex:e.isActive?-1:0,"aria-pressed":e.isActive,"aria-label":`Frame ${t+1}`,pointerEvents:"all",onClick:e.isActive||"pan"===s?void 0:()=>o(e.frameId),onFocus:()=>{e.isActive||"pan"===s||o(e.frameId)},onKeyDown:t=>{e.isActive||"pan"===s||("Enter"===t.key||" "===t.key)&&(t.preventDefault(),o(e.frameId))},onPointerDown:null==i?void 0:i.onPointerDown,onPointerMove:null==i?void 0:i.onPointerMove,onPointerUp:null==i?void 0:i.onPointerUp,onPointerLeave:null==i?void 0:i.onPointerLeave,onDoubleClick:null==i?void 0:i.onDoubleClick}),u&&y?(0,l.jsx)("g",{transform:`translate(${e.x} ${e.y})`,onPointerDown:null==i?void 0:i.onPointerDown,onPointerMove:null==i?void 0:i.onPointerMove,onPointerUp:null==i?void 0:i.onPointerUp,onPointerLeave:null==i?void 0:i.onPointerLeave,children:(0,l.jsx)(rd.z,{bbox:f.bbox,handles:y,zoom:x})}):null]},e.frameId)}),M&&(0,l.jsx)("path",{d:M,fill:"none",stroke:y,strokeWidth:v,vectorEffect:"non-scaling-stroke",pointerEvents:"none",strokeLinecap:"round",strokeLinejoin:"round"}),I&&(0,l.jsx)("path",{d:rf(I),fill:"none",stroke:"var(--color-primary-purple)",strokeWidth:v,vectorEffect:"non-scaling-stroke",pointerEvents:"none"})]})};var ry=r(63776),rv=r(56078),rw=r(83582);let rb=e=>{let{rowId:t,canDeleteRow:r=!0,onDuplicateRow:n,onDeleteRow:a}=e,o=!n,s=!r||!a,d=(0,i.useCallback)(e=>{e.stopPropagation()},[]),u=(0,i.useCallback)(e=>{e.stopPropagation()},[]),c=(0,i.useCallback)(e=>{e.stopPropagation(),null==n||n(t)},[n,t]),f=(0,i.useCallback)(e=>{e.stopPropagation(),null==a||a(t)},[a,t]);return(0,l.jsx)("div",{className:"pointer-events-none",onPointerDown:d,onClick:u,children:(0,l.jsxs)("div",{role:"group","aria-label":"Row actions",className:"pointer-events-auto flex flex-col items-center gap-[var(--space-10)]",children:[(0,l.jsx)(rw.fd,{ariaLabel:"Duplicate row",icon:ry.A,variant:"neutral",disabled:o,onPointerDown:d,onClick:c}),(0,l.jsx)(rw.fd,{ariaLabel:"Delete row",icon:rv.A,variant:"neutral",disabled:s,onPointerDown:d,onClick:f})]})})};var rk=r(50812);let rI=e=>{let{rows:t,frameStyle:r,pageWidth:n,rowGapPx:a,onFrameClick:o,onAddRowClick:s,activeTool:d,fillHoverFrameId:u,selectedObjectIds:c,selectHoverTarget:f,selectionOverlay:h,selectionPreviewTransform:p,getFramePointerHandlers:m,preview:x,shapePreview:g,zoom:y,canAddRow:v=!0,canDeleteRow:w=!0,onDuplicateRow:b,onDeleteRow:k}=e,I=(0,i.useRef)(null),P=(0,rk.w)(I),M=Math.max(0,a)*((null==P?void 0:P.width)&&Number.isFinite(P.width)&&P.width>0?P.width/Math.max(1,n):1);return(0,l.jsxs)("div",{ref:I,className:"flex flex-col",style:{gap:M},children:[t.map(e=>(0,l.jsx)("div",{className:"w-full box-border overflow-visible",style:{paddingInline:"calc(var(--webtoon-frame-border-width) / 2)"},children:(0,l.jsxs)("div",{className:"relative w-full",style:{aspectRatio:`${n} / ${Math.max(1,e.height)}`},children:[(0,l.jsx)(rg,{rowId:e.rowId,rowWidth:n,rowHeight:e.height,frames:e.frameRects,frameStyle:r,onFrameClick:o,activeTool:d,fillHoverFrameId:u,selectedObjectIds:c,selectHoverTarget:f,selectionOverlay:h,selectionPreviewTransform:p,getFramePointerHandlers:m,preview:x,shapePreview:g,zoom:y}),(0,l.jsx)("div",{className:"pointer-events-none absolute left-full top-0 pl-[var(--space-12)] pt-[var(--space-10)]",children:(0,l.jsx)(rb,{rowId:e.rowId,canDeleteRow:w,onDuplicateRow:v?b:void 0,onDeleteRow:k})})]})},e.rowId)),(0,l.jsx)(rs,{onClick:s,disabled:!v})]})};var rP=r(84002);let rM=e=>{let{isOpen:t,title:r,width:i,style:n,baseTransform:a,onClose:o,onInteract:d,zIndex:u,recentColors:c,recentColorLimit:f=24,onRecentColorSelect:h,picker:p}=e;if(!t)return null;let m=n?void 0!==u?{...n,zIndex:u}:n:void 0;return(0,l.jsx)(s.A,{width:i,onClose:o,onInteract:d,zIndex:u,autoPosition:!1,noBottomPadding:!0,title:r,containerStyle:m,baseTransform:a,children:(0,l.jsx)(rP.M,{shadeArea:{ref:p.shadeAreaRef,background:`linear-gradient(0deg,var(--color-primary-black),transparent),linear-gradient(90deg,var(--color-primary-white),${p.huePreview})`,markerStyle:{...p.markerStyle,width:9,height:9,border:"3px solid white",background:"transparent",boxShadow:"0 0 4px rgba(0, 0, 0, 0.3)"},onPointerDown:p.handleShadePointerDown,onPointerMove:p.handleShadePointerMove,onPointerUp:p.handleShadePointerUp,onPointerLeave:p.handleShadePointerUp},hueSlider:{min:0,max:360,value:Math.round(p.hsva.h),onChange:p.handleHueChange,style:p.hueSliderStyle},opacitySlider:{min:0,max:100,value:p.opacityPercent,onChange:p.handleOpacityChange,style:p.opacitySliderStyle},hexInput:{value:p.hexInputValue,onChange:p.handleHexInputChange},eyedropper:{onClick:p.handleEyedropper},currentSwatch:{hex:p.hex,opacity:p.hsva.a,checkerboard:!0},swatches:{items:c,limit:f,activeHex:p.hex,onSelect:e=>h({hex:e.hex,opacity:e.opacity??1})},contentClassName:"px-4 pb-4"})})},rC=e=>e.trim().toLowerCase(),rS=e=>
1{let{className:t,heading:r="Pick a Background Color",recentColors:i,activeHex:n=null,activeOpacity:a=null,maxSwatches:o=24,onSelect:s,onOpenColorPicker:d}=e,u=o>0?i.slice(0,o):i,c=n?rC(n):null;return(0,l.jsx)("section",{className:t,children:(0,l.jsxs)("div",{className:"flex flex-col gap-[var(--space-8)]",children:[(0,l.jsx)("p",{className:"text-small font-bold text-primary-x-dark",children:r}),(0,l.jsxs)("div",{className:"flex items-center gap-[var(--space-8)] overflow-x-auto overflow-y-visible p-0.5",children:[(0,l.jsx)(y.et,{onClick:()=>null==d?void 0:d(),backgroundImage:w.PP}),u.map(e=>{let t=null!==c&&rC(e.hex)===c&&((e,t)=>null==e?null==t:null!=t&&.001>Math.abs(e-t))(e.opacity,a);return(0,l.jsx)(y.qe,{hex:e.hex,opacity:e.opacity,isActive:t,onClick:()=>s(e)},`${e.hex}-${e.opacity}`)})]})]})})};var r$=r(15239),rR=r(81967),rE=r(90462);let rj="skyHills",rF={skyHills:"skyHills::thumbnail",nightCity:"nightCity::thumbnail",abstractWaves:"abstractWaves::thumbnail",sunsetOcean:"sunsetOcean::thumbnail",spaceNebula:"spaceNebula::thumbnail"},rA=e=>`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e.trim())}`,rT="http://www.w3.org/2000/svg",rD=(e,t,r)=>Math.max(t,Math.min(r,e)),rN=e=>Math.round(1e3*e)/1e3,rO=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return{tag:e,attrs:t,children:r}},rB=(e,t)=>{e.children||(e.children=[]),e.children.push(t)},rW=(e,t)=>rO("svg",{width:e,height:t,viewBox:`0 0 ${e} ${t}`,xmlns:rT,"aria-label":"Generated SVG background",role:"img",preserveAspectRatio:"none"}),rU=e=>{let t=Object.entries(e.attrs??{}).filter(e=>{let[,t]=e;return null!=t}).map(e=>{let[t,r]=e;return` ${t}="${String(r).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}"`}).join(""),r=e.children??[];if(0===r.length)return`<${e.tag}${t}/>`;let l=r.map(e=>"string"==typeof e?e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):rU(e)).join("");return`<${e.tag}${t}>${l}</${e.tag}>`},rH=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=rU("svg"!==e.tag||(null==(t=e.attrs)?void 0:t.xmlns)?e:{...e,attrs:{...e.attrs,xmlns:rT}});return r?`<?xml version="1.0" encoding="UTF-8"?>
2${l}
3`:l},rL=e=>{let t=0x811c9dc5;for(let r=0;r<e.length;r+=1)t^=e.charCodeAt(r),t=Math.imul(t,0x1000193);return t>>>0},rz=e=>{let t=e>>>0;return()=>{t|=0;let e=Math.imul((t=t+0x6d2b79f5|0)^t>>>15,1|t);return(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000}},rG=e=>rz(rL(e)),rZ=(e,t,r,l)=>{let i=rO("g",{opacity:.9});[[-40,0,26],[-18,-12,32],[10,-6,28],[34,2,22],[-5,8,30]].forEach(e=>{let[n,a,o]=e;rB(i,rO("circle",{cx:t+n*l,cy:r+a*l,r:o*l,fill:"#ffffff",opacity:.95}))}),rB(i,rO("ellipse",{cx:t,cy:r+14*l,rx:70*l,ry:24*l,fill:"#ffffff",opacity:.9})),rB(e,i)},r_=["#8b5cf6","#ec4899","#06b6d4","#6366f1"],rX=["#c4a882","#7c9eb2","#b07d8e"],rY={skyHills:{id:"skyHills",label:"Sky + Hills",generate:e=>{let{width:t,height:r,seed:l}=e,i=l||"skyHills",n=rG(i),a=rW(t,r),o=rO("defs");rB(o,rO("linearGradient",{id:"skyGrad",x1:"0",y1:"0",x2:"0",y2:"1"},[rO("stop",{offset:"0%","stop-color":"#7bd3ff"}),rO("stop",{offset:"70%","stop-color":"#d8f3ff"}),rO("stop",{offset:"100%","stop-color":"#fff7d6"})])),rB(o,rO("radialGradient",{id:"sunGrad",cx:"35%",cy:"35%",r:"70%"},[rO("stop",{offset:"0%","stop-color":"#fff6b0"}),rO("stop",{offset:"60%","stop-color":"#ffd56a"}),rO("stop",{offset:"100%","stop-color":"#ffb347"})])),rB(o,rO("filter",{id:"haze",x:"-20%",y:"-20%",width:"140%",height:"140%"},[rO("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"8"})])),rB(a,o),rB(a,rO("rect",{x:0,y:0,width:t,height:r,fill:"url(#skyGrad)"}));let s=.12*Math.min(t,r),d=.78*t,u=.22*r;rB(a,rO("circle",{cx:d,cy:u,r:s,fill:"url(#sunGrad)"})),rB(a,rO("circle",{cx:d,cy:u,r:1.8*s,fill:"#ffffff",opacity:.18,filter:"url(#haze)"}));for(let e=0;e<4;e+=1){let e=(.12+.7*n())*t;rZ(a,e,(.1+.28*n())*r,(.45+.7*n())*(Math.min(t,r)/800))}return[{baseY:.58*r,amplitude:.12*r,fill:"#76c36a",points:40},{baseY:.68*r,amplitude:.1*r,fill:"#4faa57",points:34},{baseY:.8*r,amplitude:.08*r,fill:"#2f7f45",points:28}
3].forEach((e,l)=>{let n=rz(rL(`${i}::hills::${l}`));rB(a,rO("path",{d:((e,t,r,l,i,n)=>{let a=((e,t)=>{let r=Math.max(1,Math.floor(t)),l=Array.from({length:r+1},()=>e());return e=>{let t=rD(e,0,1)*r,i=Math.floor(t),n=l[i]??l[0]??0,a=l[Math.min(i+1,r)]??n;return n+(a-n)*(e=>e*e*(3-2*e))(t-i)}})(n,Math.max(6,Math.floor(i/3))),o=[];for(let t=0;t<=i;t+=1){let n=t/i*e,s=r-(a(t/i)-.5)*2*l;o.push({x:n,y:s})}let s=o[0],d=o[o.length-1];if(!s||!d)return`M 0 0 L ${rN(e)} 0 L ${rN(e)} ${rN(t)} L 0 ${rN(t)} Z`;let u=e=>e<0?s:e>=o.length?d:o[e]??s,c=`M ${rN(s.x)} ${rN(s.y)}`;for(let e=0;e<o.length-1;e+=1){let t=u(e-1),r=u(e),l=u(e+1),i=u(e+2),n=r.x+(l.x-t.x)/6,a=r.y+(l.y-t.y)/6,o=l.x-(i.x-r.x)/6,s=l.y-(i.y-r.y)/6;c+=` C ${rN(n)} ${rN(a)} ${rN(o)} ${rN(s)} ${rN(l.x)} ${rN(l.y)}`}return c+` L ${rN(e)} ${rN(t)} L 0 ${rN(t)} Z`})(t,r,e.baseY,e.amplitude,e.points,n),fill:e.fill,opacity:1}))}),a}},nightCity:{id:"nightCity",label:"Night City",generate:e=>{let{width:t,height:r,seed:l}=e,i=rG(l||"nightCity"),n=rW(t,r),a=rO("defs");rB(a,rO("linearGradient",{id:"nightGrad",x1:"0",y1:"0",x2:"0",y2:"1"},[rO("stop",{offset:"0%","stop-color":"#071528"}),rO("stop",{offset:"55%","stop-color":"#0b2a4a"}),rO("stop",{offset:"100%","stop-color":"#170a2b"})])),rB(n,a),rB(n,rO("rect",{x:0,y:0,width:t,height:r,fill:"url(#nightGrad)"}));let o=.62*r,s=rD(Math.floor(t*o/12e3),60,240);for(let e=0;e<s;e+=1){let e=i()*t,l=i()*o;rB(n,rO("circle",{cx:e,cy:l,r:(1.5*i()+.4)*(Math.min(t,r)/900),fill:"#ffffff",opacity:.35+.65*i()}))}let d=.09*Math.min(t,r),u=.78*t,c=.22*r;rB(n,rO("circle",{cx:u,cy:c,r:d,fill:"#f3f2e9",opacity:.95})),rB(n,rO("circle",{cx:u+.35*d,cy:c-.1*d,r:d,fill:"url(#nightGrad)"}));let f=.72*r;rB(n,rO("rect",{x:0,y:f,width:t,height:r-f,fill:"#07070f"}));let h=rO("g"),p=0;for(;p<t;){let e=(.03+.08*i())*t,l=(.12+.4*i())*r,n=f-l;if(rB(h,rO("rect",{x:p,y:n,width:e,height:l,fill:.6>i()?"#0b0b16":"#0d0d1c"})),.18>i()&&rB(h,rO("rect",{x:p+.48*e,y:n-.12*l,width:.04*e,height:.12*l,fill:"#0d0d1c"})),.75>i()){let a=rO("g",{opacity:.75}),o=rD(Math.floor(e/(.012*t)),2,7),s=rD(Math.floor(l/(.05*r)),3,10),d=.12*e,u=.12*l,c=(e-2*d)/o,f=(l-2*u)/s;for(let e=0;e<o;e+=1)for(let t=0;t<s;t+=1).55>i()||rB(a,rO("rect",{x:p+d+e*c+.18*c,y:n+u+t*f+.18*f,width:.52*c,height:.52*f,fill:.7>i()?"#ffd36b":"#a7d8ff",opacity:.7+.3*i()}));rB(h,a)}p+=e*(.82+.35*i())}return rB(n,h),rB(n,rO("rect",{x:0,y:f-.08*r,width:t,height:.1*r,fill:"#ffffff",opacity:.05})),n}},abstractWaves:{id:"abstractWaves",label:"Abstract Waves",generate:e=>{let{width:t,height:r,seed:l}=e,i=rG(l||"abstractWaves"),n=rW(t,r),a=rO("defs");rB(a,rO("linearGradient",{id:"waveBg",x1:"0",y1:"0",x2:"1",y2:"1"},[rO("stop",{offset:"0%","stop-color":"#0b132b"}),rO("stop",{offset:"50%","stop-color":"#1c2541"}),rO("stop",{offset:"100%","stop-color":"#5bc0be"})])),rB(a,rO("filter",{id:"glow",x:"-30%",y:"-30%",width:"160%",height:"160%"},[rO("feGaussianBlur",{stdDeviation:"2.2",result:"b"}),rO("feMerge",{},[rO("feMergeNode",{in:"b"}),rO("feMergeNode",{in:"SourceGraphic"})])])),rB(n,a),rB(n,rO("rect",{x:0,y:0,width:t,height:r,fill:"url(#waveBg)"}));for(let e=0;e<6;e+=1){let e=i()*t;rB(n,rO("circle",{cx:e,cy:i()*r,r:(.12+.22*i())*Math.min(t,r),fill:"#ffffff",opacity:.04+.05*i()}))}for(let e=0;e<12;e+=1){let l=(.1+e/11*.85)*r,a=(.015+.035*i())*r,o=2+Math.floor(4*i()),s=i()*Math.PI*2,d=`M 0 ${rN(l)}`;for(let e=1;e<=80;e+=1){let r=e/80*t,i=l+Math.sin(r/t*o*Math.PI*2+s)*a;d+=` L ${rN(r)} ${rN(i)}`}let u=(.6+2*i())*(Math.min(t,r)/900),c=.1+.18*i();rB(n,rO("path",{d:d,fill:"none",stroke:"#ffffff","stroke-width":rN(u),opacity:c,filter:.35>i()?"url(#glow)":void 0}))}for(let e=0;e<3;e+=1){let l=(.45+.12*e+.05*i())*r,a=(.1+.08*i())*r,o=(.02+.03*i())*r,s=2+Math.floor(3*i()),d=i()*Math.PI*2,u=`M 0 ${rN(l)}`;for(let e=1;e<=90;e+=1){let r=e/90*t,i=l+Math.sin(r/t*s*Math.PI*2+d)*o;u+=` L ${rN(r)} ${rN(i)}`}rB(n,rO("path",{d:u+=` L ${rN(t)} ${rN(l+a)} L 0 ${rN(l+a)} Z`,fill:"#ffffff",opacity:.05+.07*i()}))}let o=rD(Math.floor(t*r/35e3),40,220);for(let e=0;e<o;e+=1){let e=i()*t;rB(n,rO("circle",{cx:e,cy:i()*r,r:(.6+1.6*i())*(Math.min(t,r)/1e3),fill:"#ffffff",opacity:.06+.12*i()}))}return n}},sunsetOcean:{id:"sunsetOcean",label:"Sunset Ocean",generate:e=>{let{width:t,height:r,seed:l}=e,i=rG(l||"sunsetOcean"),n=rW(t,r),a=rO("defs"),o=Math.min(t,r)/900;rB(a,rO("linearGradient",{id:"soSkyGrad",x1:"0",y1:"0",x2:"0",y2:"1"},[rO("stop",{offset:"0%","stop-color":"#ff6b35"}),rO("stop",{offset:"45%","stop-color":"#ffb347"}),rO("stop",{offset:"100%","stop-color":"#ffd1dc"}
3)])),rB(a,rO("radialGradient",{id:"soSunGrad",cx:"50%",cy:"50%",r:"50%"},[rO("stop",{offset:"0%","stop-color":"#fff6b0"}),rO("stop",{offset:"70%","stop-color":"#ffa347"}),rO("stop",{offset:"100%","stop-color":"#ff6b35","stop-opacity":"0.6"})])),rB(a,rO("linearGradient",{id:"soOceanGrad",x1:"0",y1:"0",x2:"0",y2:"1"},[rO("stop",{offset:"0%","stop-color":"#0a3d5c"}),rO("stop",{offset:"100%","stop-color":"#071e3d"})])),rB(a,rO("linearGradient",{id:"soReflGrad",x1:"0",y1:"0",x2:"0",y2:"1"},[rO("stop",{offset:"0%","stop-color":"#fff6b0","stop-opacity":"0.25"}),rO("stop",{offset:"100%","stop-color":"#fff6b0","stop-opacity":"0"})])),rB(a,rO("filter",{id:"soHaze",x:"-30%",y:"-30%",width:"160%",height:"160%"},[rO("feGaussianBlur",{in:"SourceGraphic",stdDeviation:String(12*o)})])),rB(n,a),rB(n,rO("rect",{x:0,y:0,width:t,height:r,fill:"url(#soSkyGrad)"}));let s=.6*r,d=.1*Math.min(t,r),u=(.4+.2*i())*t,c=.7*r*(.85+.15*i());rB(n,rO("circle",{cx:u,cy:c,r:2.2*d,fill:"#ffa347",opacity:.2,filter:"url(#soHaze)"})),rB(n,rO("circle",{cx:u,cy:c,r:d,fill:"url(#soSunGrad)"}));let f=3+Math.floor(3*i());for(let e=0;e<f;e+=1){let e=i()*t,r=(.1+.4*i())*s,l=(40+80*i())*o;rB(n,rO("ellipse",{cx:e,cy:r,rx:l,ry:(8+12*i())*o,fill:"#ffb6c1",opacity:.3+.3*i()}))}rB(n,rO("rect",{x:0,y:s,width:t,height:r-s,fill:"url(#soOceanGrad)"}));let h=(r-s)*.5;rB(n,rO("ellipse",{cx:u,cy:s+.6*h,rx:.6*d,ry:h,fill:"url(#soReflGrad)"}));let p=4+Math.floor(3*i());for(let e=0;e<p;e+=1){let l=s+(r-s)/(p+1)*(e+1),a=(3+5*i())*o,d=.008+.006*i(),u=i()*Math.PI*2,c=Math.max(20,Math.floor(t/20)),f=`M 0 ${rN(l)}`;for(let e=1;e<=c;e+=1){let r=e/c*t,i=l+Math.sin(u+r*d)*a;f+=` L ${rN(r)} ${rN(i)}`}rB(n,rO("path",{d:f,fill:"none",stroke:"#ffffff","stroke-width":rN(+o),opacity:.08+.07*i()}))}let m=rD(Math.floor(t*r/8e4),8,40);for(let e=0;e<m;e+=1){let e=u+(i()-.5)*d*3,t=s+i()*(r-s)*.7,l=(.5+1.5*i())*o,a=.15+.35*i();rB(n,rO("circle",{cx:rN(e),cy:rN(t),r:rN(l),fill:.5>i()?"#ffffff":"#fff6b0",opacity:a}))}return n}},spaceNebula:{id:"spaceNebula",label:"Space Nebula",generate:e=>{let{width:t,height:r,seed:l}=e,i=rG(l||"spaceNebula"),n=rW(t,r),a=rO("defs"),o=Math.min(t,r)/900,s=Math.min(t,r);rB(a,rO("linearGradient",{id:"snBgGrad",x1:"0",y1:"0",x2:"1",y2:"1"},[rO("stop",{offset:"0%","stop-color":"#050510"}),rO("stop",{offset:"50%","stop-color":"#0a0a2e"}),rO("stop",{offset:"100%","stop-color":"#0f0520"})])),rB(a,rO("filter",{id:"snNebBlur",x:"-50%",y:"-50%",width:"200%",height:"200%"},[rO("feGaussianBlur",{in:"SourceGraphic",stdDeviation:String(40*o)})])),rB(a,rO("filter",{id:"snGlow",x:"-100%",y:"-100%",width:"300%",height:"300%"},[rO("feGaussianBlur",{in:"SourceGraphic",stdDeviation:String(4*o)})])),rB(n,a),rB(n,rO("rect",{x:0,y:0,width:t,height:r,fill:"url(#snBgGrad)"}));let d=4+Math.floor(3*i());for(let e=0;e<d;e+=1){let e=i()*t,l=i()*r,a=(.1+.2*i())*t,o=(.1+.2*i())*r,s=r_[Math.floor(i()*r_.length)],d=.08+.12*i();rB(n,rO("ellipse",{cx:rN(e),cy:rN(l),rx:rN(a),ry:rN(o),fill:s,opacity:d,filter:"url(#snNebBlur)"}))}let u=rD(Math.floor(t*r/6e3),80,300);for(let e=0;e<u;e+=1){let e=i()*t,l=i()*r,a=(.3+1.2*i())*o,s=.3+.7*i();rB(n,rO("circle",{cx:rN(e),cy:rN(l),r:rN(a),fill:"#ffffff",opacity:s}))}let c=3+Math.floor(4*i());for(let e=0;e<c;e+=1){let e=i()*t,l=i()*r,a=(2+2*i())*o;rB(n,rO("circle",{cx:rN(e),cy:rN(l),r:rN(3*a),fill:"#ffffff",opacity:.15,filter:"url(#snGlow)"})),rB(n,rO("circle",{cx:rN(e),cy:rN(l),r:rN(a),fill:"#ffffff",opacity:.9}))}let f=.08*s,h=(.2+.6*i())*t,p=(.2+.6*i())*r,m=rX[Math.floor(i()*rX.length)],x="snPlanetGrad";return rB(a,rO("radialGradient",{id:x,cx:"35%",cy:"35%",r:"65%"},[rO("stop",{offset:"0%","stop-color":m}),rO("stop",{offset:"100%","stop-color":"#111111"})])),rB(n,rO("circle",{cx:rN(h),cy:rN(p),r:rN(f),fill:`url(#${x})`})),.5>i()&&rB(n,rO("ellipse",{cx:rN(h),cy:rN(p),rx:rN(1.6*f),ry:rN(.35*f),fill:"none",stroke:m,"stroke-width":rN(1.5*o),opacity:.35,transform:`rotate(${rN(-15+30*i())} ${rN(h)} ${rN(p)})`})),n}}},rV=[rY.skyHills,rY.nightCity,rY.abstractWaves,rY.sunsetOcean,rY.spaceNebula],rq=(e,t)=>rD(Math.round(((e,t)=>Number.isFinite(e)?e:t)(e,t)),1,2e4),rK=e=>{let t=(e=>e in rY?e:rj)(e.templateId),r=rq(e.width,1200),l=rq(e.height,600),i=String(e.seed??""),n=i.length>0?i:t;return{templateId:t,width:r,height:l,seed:n}},rJ=e=>{let t=rK(e);return rH(rY[t.templateId].generate(t),!!e.includeXmlDeclaration)},rQ=new Map,r0=e=>{let t=(e=>{let t=rK(e);return`${t.templateId}::${t.seed}::${t.width}::${t.height}`})(e),r=rQ.get(t);if(r)return r;let l=rA(rJ(e));return rQ.set(t,l),l},r1=function(){let{thumbnailWidth:e=100,thumbnailHeight:t=100}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return rV.map(r=>{let l=rF[r.id];return{id:r.id,label:r.label,thumbnailSeed:l,thumbnailDataUri:r0({templateId:r.id,seed:l,width:e,height:t})}})},r2=()=>"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID().slice(0,8):Math.random().toString(36).slice(2,10),r3=e=>{let{className:t,selectedFrameId:r,previewWidth:n,previewHeight:a,onAddToScene:o,addToSceneDisabled:s,addToSceneLoading:d=!1}=e,{selectedTemplateId:u,selectedTemplateLabel:c,setSelectedTemplateId:f,seed:h,randomizeSeed:p,previewDataUri:m,carouselItems:x}=(e=>{var t;let{previewWidth:r,previewHeight:l,selectedFrameId:n,initialTemplateId:a=rj,initialSeed:o,resetSeedOnFrameChange:s=!1}=e,[d,u]=(0,i.useState)(a),[c,f]=(0,i.useState)(o??r2()),h=(0,i.useRef)(n);(0,i.useEffect)(()=>
3{if(!s){h.current=n;return}h.current!==n&&(f(r2()),h.current=n)},[s,n]);let p=(0,i.useCallback)(()=>{f(r2())},[]),m=(0,i.useCallback)(e=>r0(e),[]),x=(0,i.useMemo)(()=>r0({templateId:d,seed:c,width:r,height:l}),[l,r,c,d]),g=(0,i.useMemo)(()=>r1(),[]),y=(null==(t=rY[d])?void 0:t.label)??"Template";return{selectedTemplateId:d,selectedTemplateLabel:y,setSelectedTemplateId:u,seed:c,setSeed:f,randomizeSeed:p,previewDataUri:x,carouselItems:g,buildDataUri:m}})({previewWidth:n,previewHeight:a,selectedFrameId:r}),g=(0,i.useMemo)(()=>x.map(e=>({id:e.id,label:e.label,imageUrl:e.thumbnailDataUri})),[x]),y=(0,i.useCallback)(e=>{e in rY&&f(e)},[f]),v=(0,i.useCallback)(()=>{o&&o({templateId:u,seed:h})},[o,h,u]),w=s??!o,b=["flex flex-col gap-[var(--space-12)]",t].filter(Boolean).join(" ");return(0,l.jsxs)("section",{className:b,children:[(0,l.jsxs)("div",{className:"flex flex-col gap-[var(--space-10)]",children:[(0,l.jsx)("div",{className:"relative aspect-[2/1] w-full shrink-0",children:(0,l.jsx)(r$.default,{src:m,alt:`${c} background preview`,fill:!0,unoptimized:!0,className:"object-contain",sizes:"(max-width: 768px) 320px, 380px"})}),(0,l.jsxs)("div",{className:"grid grid-cols-2 gap-[var(--space-12)]",children:[(0,l.jsx)(rR.z,{onClick:p,variant:"secondary",size:"small",width:"100%",children:"randomize"}),(0,l.jsx)(rR.z,{onClick:v,disabled:w,loading:d,variant:"primary",size:"small",width:"100%",children:"add to scene"})]})]}),(0,l.jsxs)("div",{className:"flex flex-col gap-[var(--space-8)]",children:[(0,l.jsx)("p",{className:"text-small font-bold text-primary-x-dark",children:"Templates"}),(0,l.jsx)(rE.vz,{items:g,selectedItemId:u,onSelectItem:y,thumbWidth:100,thumbHe
3ight:100,imageFit:"cover"})]})]})},r6=e=>{let{isOpen:t,onClose:r,width:i=320,closeOnClickOutside:n=!0,recentColors:a,onRecentColorSelect:o,onOpenColorPicker:d,activeSwatchHex:u,activeSwatchOpacity:c,picker:f,applySvgDisabled:h=!1,selectedFrameId:p=null,templatePreviewWidth:m=1e3,templatePreviewHeight:x=750,onApplyTemplateBackground:g,applyTemplateBackgroundDisabled:y,applyTemplateBackgroundLoading:v=!1}=e;if(!t)return null;let w=void 0===u?f.hex:u,b=void 0===c?f.hsva.a:c;return(0,l.jsx)(s.A,{title:"Background",width:i,onClose:r,closeOnClickOutside:n,noBottomPadding:!0,children:(0,l.jsxs)("div",{className:"flex flex-col gap-[var(--space-12)] px-[var(--space-16)] pb-[var(--space-16)]",children:[(0,l.jsx)(rS,{recentColors:a,activeHex:w,activeOpacity:b,onSelect:o,onOpenColorPicker:d}),(0,l.jsx)(r3,{selectedFrameId:p,previewWidth:m,previewHeight:x,onAddToScene:g,addToSceneDisabled:y??h,addToSceneLoading:v})]})})},r5=e=>{let{layout:t,settings:r}=e;return(0,l.jsx)("div",{className:"w-full text-primary-xx-dark transition-colors group-hover:text-primary-purple",children:(0,l.jsx)("svg",{viewBox:`0 0 ${r.pageWidthPx} ${t.rowHeight}`,className:"block w-full",style:{aspectRatio:`${r.pageWidthPx} / ${t.rowHeight}`},"aria-hidden":"true",children:t.frames.map((e,t)=>{var r;let i=(null==(r=e.path)?void 0:r.d)??(e=>{let t=e.x+e.width,r=e.y+e.height;return`M ${e.x} ${e.y} H ${t} V ${r} H ${e.x} Z`})(e.rect);return(0,l.jsx)("path",{d:i,fill:"none",stroke:"currentColor",strokeWidth:"var(--webtoon-frame-border-width)",vectorEffect:"non-scaling-stroke"},`${i}-${t}`)})})})},r4=e=>{let{onSelectLayout:t,onClose:r,settings:n}=e,a=(0,i.useMemo)(()=>Object.values(ee).map(e=>({template:e,layout:e.build(n,er(e.defaultHeightUnits??1,n))})).sort((e,t)=>e.layout.frames.length-t.layout.frames.length),[n]);return(0,l.jsx)("div",{className:"flex flex-col gap-3 px-4 pb-4",children:(0,l.jsx)("div",{className:"grid gap-3",children:a.map(e=>{let{template:i,layout:a}=e;return(0,l.jsxs)("button",{type:"button",onClick:()=>{t(i.id),r()},className:"group flex w-full flex-col text-left",children:[(0,l.jsx)(r5,{layout:a,settings:n}),(0,l.jsx)("span",{className:"pt-2 text-small font-medium text-primary-xx-dark",children:i.label})]},i.id)})})})};var r8=r(31476);let r7=e=>{let{isOpen:t,activeShapeId:r,onSelect:n,onClose:a,style:o,baseTransform:s}=e,d=(0,i.useCallback)(e=>{n((e=>({id:e.id,d:e.d,viewBox:e.viewBox,fillRule:e.fillRule}))(e))},[n]);return(0,l.jsx)(r8.V,{isOpen:t,activeShapeId:r,onSelect:d,onClose:a,style:o,baseTransform:s})};var r9=r(64654),le=r(5365),lt=r(91229),lr=r(16879);let ll=async e=>{let t=(0,le.x)(e),r=t.path;if(!e.tail.enabled)return r;let l=((e,t)=>{let r=(0,ec.p)(e);return 0===r.length?[]:(0,tc.y)(r,t).map(e=>({x:e.x,y:e.y}))})(t.basePath,28),i=(0,lr.W)({balloonPathD:r,balloonPlacementPolyline:l,tailPresetId:e.tail.tailPresetId,tailPositionId:e.tail.tailPositionId,tuning:{tailScale:e.tail.tailScale,tailOffsetX:e.tail.tailOffsetX,tailOffsetY:e.tail.tailOffsetY,tailRotationDeg:e.tail.tailRotationDeg,tailFlipped:e.tail.tailFlipped}});if(0===i.placedTailPathDs.length)return r;try{let t=await (0,lt.o)({balloonPathD:r,tailPathDs:i.placedTailPathDs,tailPresetId:e.tail.tailPresetId,tailScale:e.tail.tailScale,tailFlipped:e.tail.tailFlipped});if("merged"===t.status)return t.mergedPathD}catch{}return r};var li=r(82068),ln=r(8874),la=r(8139),lo=r(55747),ls=r(94116),ld=r(40200),lu=r(30564);let lc=e=>{let{textElement:t,onChange:r}=e,n=i.useCallback(e=>{let l=Math.max(12,Math.min(120,e));l!==t.fontSize&&r({fontSize:l})},[r,t.fontSize]),a=i.useCallback(e=>{!!t.isBold!==e&&r({isBold:e})},[r,t.isBold]),o=i.useCallback(e=>{(t.textAlign??"left")!==e&&r({textAlign:e})},[r,t.textAlign]);return(0,l.jsx)(lu.A,{fontSize:t.fontSize,minFontSize:12,maxFontSize:120,fontSizeStep:2,onFontSizeChange:n,isBold:!!t.isBold,onBoldChange:a,textAlign:t.textAlign??"left",onTextAlignChange:o,showFontFamily:!1,showBackgroundMode:!1,showColor:!1,showOpacity:!1})};var lf=r(9088);let lh=e=>Number.isFinite(e),lp=e=>e.every(lh),lm=e=>{let{rowSvg:t,container:r,frameRect:n,textElement:a,value:o,onChange:s,onCommit:d,onCancel:u,onDelete:c}=e,f=i.useRef(null),h=i.useRef(!0),p=i.useMemo(()=>
3{if(!t||!r||!n||!a)return null;let e=t.getScreenCTM();if(!e)return null;let l=((e,t)=>{let r=(0,e1.SQ)(e2(e,t)),l=Math.max(1,2*e.fontSize),i=Math.max(0,e.maxWidth??r.width),n="none"===e.wrapMode?0===t.length?l:i:null!=e.maxWidth?i:Math.max(i,l),a=e.lineHeight??1.2,o=e.fontSize*a,s=Math.max(r.height,o),d=e.textAlign??"left",u="center"===d?e.x-n/2:"right"===d?e.x-n:e.x;return{width:n,height:s,lineHeightPx:r.lineHeight||o,localOriginX:u,localOriginY:e.y}})(a,o),i=((e,t,r)=>{let l=e.querySelector(`[data-elementid="${t.id}"] text`);if(!l)return 0;try{let e=l.getBBox(),i=t.y-e.y,n=r.length>0,a=Number.isFinite(e.height)&&e.height>0;if(n&&a&&Number.isFinite(i))return i}catch{}return 0})(t,a,o),s=(e=>{let{rowScreenCTM:t,containerRect:r,frameOffset:l,textTransform:i,localOrigin:n,width:a,height:o}=e;if(!lh(a)||!lh(o)||a<0||o<0||!lh(r.left)||!lh(r.top)||!lh(l.x)||!lh(l.y)||!lh(n.x)||!lh(n.y))return null;let s=(e=>[e.a,e.b,e.c,e.d,e.e,e.f])(t);if(!lp(s)||!lp(i))return null;let d=(0,ed.Tl)(l.x,l.y),u=(0,ed.Tl)(n.x,n.y),c=(0,ed.Tl)(-r.left,-r.top),f=(0,ed.lw)(c,(0,ed.lw)(s,(0,ed.lw)(d,(0,ed.lw)(i,u))));if(!lp(f))return null;let h=((e,t,r)=>{let l=[(0,ed.MZ)(e,{x:0,y:0}),(0,ed.MZ)(e,{x:t,y:0}),(0,ed.MZ)(e,{x:0,y:r}),(0,ed.MZ)(e,{x:t,y:r})],i=l.map(e=>e.x),n=l.map(e=>e.y),a=Math.min(...i),o=Math.min(...n);return{x:a,y:o,width:Math.max(0,Math.max(...i)-a),height:Math.max(0,Math.max(...n)-o)}})(f,a,o);return lh(h.x)&&lh(h.y)&&lh(h.width)&&lh(h.height)?{matrix:f,left:f[4],top:f[5],width:a,height:o,bounds:h}:null})({rowScreenCTM:e,containerRect:r.getBoundingClientRect(),frameOffset:{x:n.x,y:n.y},textTransform:a.transform,localOrigin:{x:l.localOriginX,y:l.localOriginY-i},width:l.width,height:l.height});return s?{overlayTransform:s,lineHeightPx:l.lineHeightPx,controlScale:(e=>{if(!e)return 1;let t=Math.hypot(e.a,e.b);return lh(t)&&t>0?t:1})(e)}:null},[r,n,t,a,o]);i.useLayoutEffect(()=>{if(!a||!f.current)return;let e=f.current;h.current=!0,e.focus();let t=e.value.length;e.setSelectionRange(t,t);let r=window.requestAnimationFrame(()=>{h.current=!1});return()=>{window.cancelAnimationFrame(r)}},[null==a?void 0:a.id]);let m=i.useCallback(()=>{d()},[d]),x=i.useCallback(()=>{c()},[c]);if(!a||!p)return null;let g=p.overlayTransform.matrix,y=`matrix(${g[0]}, ${g[1]}, ${g[2]}, ${g[3]}, 0, 0)`;return(0,l.jsxs)("div",{className:"pointer-events-none absolute inset-0 z-40",children:[(0,l.jsx)("div",{className:"pointer-events-none absolute",style:{left:p.overlayTransform.left,top:p.overlayTransform.top,width:p.overlayTransform.width,height:p.overlayTransform.height,transform:y,transformOrigin:"0 0"},children:(0,l.jsx)("textarea",{ref:f,value:o,onChange:e=>s(e.target.value),onBlur:()=>{if(h.current)return void window.requestAnimationFrame(()=>{var e;null==(e=f.current)||e.focus()});d()},onKeyDown:e=>{if("Escape"===e.key){e.preventDefault(),u();return}"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),d())},className:"pointer-events-auto h-full w-full resize-none overflow-hidden bg-transparent p-0 outline-none",style:{fontFamily:a.fontFamily,fontSize:a.fontSize,lineHeight:`${p.lineHeightPx}px`,fontWeight:a.isBold?700:400,color:a.fill,textAlign:a.textAlign??"left",whiteSpace:"pre-wrap",opacity:a.opacity??1},spellCheck:!1})}),(0,l.jsx)(lf.ZK,{bounds:p.overlayTransform.bounds,controlScale:p.controlScale,showResizeHandles:!1,showRotateHandle:!1,showMoveBorder:!1,onCommit:m,onDelete:x})]})};var lx=r(68886);let lg={ROW_EXCEEDS_A4:"A row is taller than A4 and cannot be exported without splitting.",UNSAFE_DIMENSIONS:"Export dimensions exceed safe limits for this device.",IMAGE_SOURCE_NOT_EXPORTABLE:"One or more background image sources cannot be exported as PNG; use data URIs or CORS-enabled URLs.",RASTERIZATION_FAILED:"Failed to rasterize export image.",ZIP_ARCHIVE_FAILED:"Failed to build ZIP export archive."},ly=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"webtoon-page",r=Number.isFinite(e)&&e>0?Math.floor(e):1;return`${t}-${String(r).padStart(2,"0")}.png`},lv=e=>Math.max(1,Math.round((Number.isFinite(e)&&e>0?Math.max(1,Math.round(e)):1)*297/210)),lw=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return String(Math.max(0,Math.floor(e))).padStart(t,"0")},lb=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"webtoon-pages",r=e instanceof Date&&!Number.isNaN(e.getTime())?e:new Date,l=`${r.getFullYear()}${lw(r.getMonth()+1)}${lw(r.getDate())}-${lw(r.getHours())}${lw(r.getMinutes())}`;return`${t}-${l}.zip`},lk=(e,t)=>!Number.isFinite(e)||e<=0?t:Math.max(1,Math.round(e)),lI=(e,t)=>!Number.isFinite(e)||e<0?t:Math.max(0,Math.round(e)),lP=e=>lI(e,0),lM=e=>{let t=lk(e.pageWidthPx,1),r=lk(e.pageHeightPx,1),l=lI(e.marginPx,0);return{contentX:l,contentY:l,contentWidthPx:Math.max(0,t-2*l),contentHeightPx:Math.max(0,r-2*l)}},lC="var(--color-primary-white)",lS="var(",l$=e=>"number"==typeof e&&Number.isFinite(e),lR=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;"),lE=(e,t)=>null==t?"":` ${e}="${lR(String(t))}"`,lj=e=>{let t=e??t2.i,r=new Map;return e=>{let l=e.trim();if(!l||"none"===l||"transparent"===l||!l.includes(lS))return l;let i=r.get(l);if(i)return i;let n=t(l);return r.set(l,n),n}},lF=(e,t)=>!Number.isFinite(e)||e<=0?t:Math.max(1,Math.round(e)),lA=e=>{let t=lF(e.pageWidthPx,1),r=lF(e.pageHeightPx,1),l=Number.isFinite(e.contentX)?Math.max(0,Math.round(e.contentX??0)):0,i=Number.isFinite(e.contentY)?Math.max(0,Math.round(e.contentY??0)):0,n=lF(e.contentWidthPx??t,t),a=n/t,o=e.scopeId??`page-${Math.max(1,e.pageIndex+1)}`,s=lj(e.resolveSvgColor),d=[],u=e.rows.map(t=>{let r=(e=>{let t=lj(e.resolveSvgColor),r=t(`var(${e.frameStyle.borderColorToken})`),l=((e,t)=>{if(!e.includes(lS))return e;let r=document.createElement("div");r.style[t]=e,document.body.appendChild(r);try{let l=window.getComputedStyle(r)[t];if(l&&"auto"!==l)return l;return e}finally{document.body.removeChild(r)}})(`var(${e.frameStyle.borderWidthToken})`,"width"),i=[],n=e.frames.map(t=>{let r=rf(t),l=rm({scopeId:e.scopeId,rowId:e.rowId,frameId:t.frameId});return`<clipPath id="${lR(l)}" clipPathUnits="userSpaceOnUse"><path d="${lR(r)}" /></clipPath>`}).join(""),a=e.frames.map(r=>{let l=rf(r),n=rm({scopeId:e.scopeId,rowId:e.rowId,frameId:r.frameId}),a=(e=>{let{frame:t,framePath:r,resolveSvgColor:l}=e,i=t.drawing.background;if(!i||"solid"===i.type){let e=l((null==i?void 0:i.color)??lC),t=l$(null==i?void 0:i.opacity)?lE("opacity",i.opacity):"";return{markup:`<path d="${lR(r)}" fill="${lR(e)}"${t} />`}}let n=i.source.value.trim();if(!n){let e=l(lC);return{markup:`<path d="${lR(r)}" fill="${lR(e)}" />`}}let a=l$(i.opacity)?lE("opacity",i.opacity):"";return{markup:`<image x="${t.x}" y="${t.y}" width="${t.width}" height="${t.height}" href="${lR(n)}" crossorigin="anonymous" preserveAspectRatio="${rh(i.fit)}"${a} />`,imageSource:n}})({frame:r,framePath:l,resolveSvgColor:t});return a.imageSource&&i.push(a.imageSource),`<g><g clip-path="url(#${lR(n)})">`+a.markup+`<g transform="translate(${r.x} ${r.y})">`+((e,t)=>e.drawing.elements.map(e=>{if("fill"===e.type)return"";let r=l$(e.opacity)?lE("opacity",e.opacity):"";switch(e.type){case"path":{let l=t(e.stroke),i=t(e.fill??"none"),n=e.fillRule?lE("fill-rule",e.fillRule):"",a=e.lineCap?lE("stroke-linecap",e.lineCap):"",o=e.lineJoin?lE("stroke-linejoin",e.lineJoin):"";return`<path d="${lR(e.d)}" stroke="${lR(l)}" stroke-width="${e.strokeWidth}" fill="${lR(i)}"${n}${a}${o}${r} />`}case"rect":{let l=e.stroke?` stroke="${lR(t(e.stroke))}"`:"",i=l$(e.strokeWidth)?` stroke-width="${e.strokeWidth}"`:"";return`<rect x="${e.x}" y="${e.y}" width="${e.width}" height="${e.height}" fill="${lR(t(e.fill??"none"))}"${l}${i}${r} />`}case"ellipse":{let l=e.stroke?` stroke="${lR(t(e.stroke))}"`:"",i=l$(e.strokeWidth)?` stroke-width="${e.strokeWidth}"`:"";return`<ellipse cx="${e.cx}" cy="${e.cy}" rx="${e.rx}" ry="${e.ry}" fill="${lR(t(e.fill??"none"))}"${l}${i}${r} />`}case"text":{let l=(0,e1.SQ)(e2(e,e.text)),i=e.maxWidth??l.width,n="center"===e.textAlign?e.x+i/2:"right"===e.textAlign?e.x+i:e.x,a=(e=>{switch(e){case"center":return"middle";case"right":return"end";default:return"start"}})(e.textAlign),o=e.isBold?700:400,s=l.lineHeight||1.2*e.fontSize,d=(0,ru.K)(e.transform),u=d?lE("transform",d):"",c=l.lines.map((e,t)=>`<tspan x="${n}" dy="${0===t?0:s}">${lR(e.text)}</tspan>`).join("");return`<g${u}${r}><text x="${n}" y="${e.y}" fill="${lR(t(e.fill))}" font-family="${lR(e.fontFamily)}" font-size="${e.fontSize}" font-weight="${o}" text-anchor="${a}" dominant-baseline="hanging" alignment-baseline="hanging">${c}</text></g>`}default:return""}}
3).filter(Boolean).join(""))(r,t)+"</g></g></g>"}).join(""),o=rx(e.frames),s=o?`<path d="${lR(o)}" fill="none" stroke="${lR(r)}" stroke-width="${lR(l)}" vector-effect="non-scaling-stroke" stroke-linecap="round" stroke-linejoin="round" />`:"";return{markup:[`<g data-row-id="${lR(e.rowId)}" data-row-width="${e.rowWidthPx}" data-row-height="${e.rowHeightPx}">`,n?`<defs>${n}</defs>`:"",a,s,"</g>"].filter(Boolean).join(""),imageSources:i}})({rowId:t.rowId,rowWidthPx:n,rowHeightPx:t.rowHeightPx,frames:t.frames,frameStyle:e.frameStyle,scopeId:o,resolveSvgColor:s});d.push(...r.imageSources);let u=i+t.yOffsetPx,c=Math.abs(a-1)>1e-6?`translate(${l} ${u}) scale(${a} 1)`:`translate(${l} ${u})`;return`<g transform="${c}">${r.markup}</g>`}).join(""),c=s("var(--color-primary-white)");return{svg:['<?xml version="1.0" encoding="UTF-8"?>',`<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${r}" viewBox="0 0 ${t} ${r}" overflow="hidden">`,`<rect x="0" y="0" width="${t}" height="${r}" fill="${lR(c)}" />`,u,"</svg>"].filter(Boolean).join(""),imageSources:d,scopeId:o}};var lT=r(92984),lD=r(71471);let lN=(e,t)=>!Number.isFinite(e)||e<=0?t:Math.max(1,Math.round(e)),lO=(e,t,r,l)=>({pageIndex:e,rows:r,usedHeightPx:l,trailingSpacePx:Math.max(0,t-l)}),lB=e=>{let t=lN(e.pageHeightPx,1),r=((e,t)=>!Number.isFinite(e)||e<0?t:Math.max(0,Math.round(e)))(e.rowGapPx,0),l=[],i=[],n=0;for(let a=0;a<e.rows.length;a+=1){let o=e.rows[a],s=lN(o.heightPx,1);if(s>t)return{ok:!1,error:{code:"ROW_EXCEEDS_A4",message:lg.ROW_EXCEEDS_A4},rowId:o.rowId,rowIndex:a};let d=i.length>0?r:0,u=n+d+s;if(u<=t){i.push({rowId:o.rowId,yOffsetPx:n+d,heightPx:s}),n=u;continue}l.push(lO(l.length,t,i,n)),i=[{rowId:o.rowId,yOffsetPx:0,heightPx:s}],n=s}return i.length>0&&l.push(lO(l.length,t,i,n)),{ok:!0,pageHeightPx:t,rowGapPx:r,pages:l}},lW=/Mobi|Android|iPhone|iPad|iPod/i,lU=(e,t)=>({code:e,message:t?`${lg[e]} ${t}`:lg[e]}),lH=e=>!Number.isFinite(e)||e<=0?null:Math.max(1,Math.round(e)),lL=e=>{let t=lH(e.widthPx),r=lH(e.heightPx);if(!t||!r)return{ok:!1,error:lU("UNSAFE_DIMENSIONS","(width and height must be positive finite numbers).")};let l=e.isMobileDevice??("undefined"!=typeof navigator&&lW.test(navigator.userAgent))?{pixelBudget:32e6,maxDimension:4096}:{pixelBudget:64e6,maxDimension:8192},i=t*r>l.pixelBudget,n=t>l.maxDimension||r>l.maxDimension;return i||n?{ok:!1,error:lU("UNSAFE_DIMENSIONS",`(requested ${t}x${r}, max dimension ${l.maxDimension}, max pixels ${l.pixelBudget}).`)}:{ok:!0,widthPx:t,heightPx:r,budget:l}},lz=async e=>{if("undefined"==typeof document)return{ok:!1,error:lU("RASTERIZATION_FAILED","(browser environment required).")};let t=lL({widthPx:e.widthPx,heightPx:e.heightPx,isMobileDevice:e.isMobileDevice});if(!t.ok)return t;let r=e.svg.trim();if(!r)return{ok:!1,error:lU("RASTERIZATION_FAILED","(empty SVG markup).")};let l=new Blob([r],{type:"image/svg+xml;charset=utf-8"}),i=URL.createObjectURL(l);try{let e=await new Promise((e,t)=>{let r=new Image;r.decoding="async",r.crossOrigin="anonymous",r.onload=()=>e(r),r.onerror=()=>t(Error("Failed to load SVG page during rasterization.")),r.src=i}),r=document.createElement("canvas");r.width=t.widthPx,r.height=t.heightPx;let l=r.getContext("2d");if(!l)return{ok:!1,error:lU("RASTERIZATION_FAILED","(2D canvas context unavailable).")};l.clearRect(0,0,r.width,r.height),l.drawImage(e,0,0,r.width,r.height);let n=await (e=>new Promise((t,r)=>{if("function"!=typeof e.toBlob)return void r(Error("Canvas toBlob is unavailable on this browser."));try{e.toBlob(e=>t(e),"image/png")}catch(e){r(e)}}))(r);if(!n)return{ok:!1,error:lU("RASTERIZATION_FAILED","(PNG encoding returned null).")};return{ok:!0,blob:n,widthPx:r.width,heightPx:r.height}}catch(e){return console.error("[webtoon-export] Failed to rasterize SVG page",e),{ok:!1,error:lU("RASTERIZATION_FAILED")}}finally{URL.revokeObjectURL(i)}},lG="https://localhost/",lZ=(e,t)=>({code:e,message:t?`${lg[e]} ${t}`:lg[e]}),l_=e=>new Promise(t=>{globalThis.setTimeout(t,e)}),lX=e=>null!=e,lY=e=>"http:"===e.protocol||"https:"===e.protocol,lV=async(e,t)=>{if(!t)return!1;let r={mode:"cors",credentials:"omit",cache:"no-store"};try{let l=await t(e,{...r,method:"HEAD"});if(l.ok&&"opaque"!==l.type)return!0}catch{}try{let l=await t(e,{...r,method:"GET"});return l.ok&&"opaque"!==l.type}catch{return!1}},lq=async e=>{let t=(e=>{var t;return e||((null==(t=window.location)?void 0:t.href)?window.location.href:lG)})(e.baseUrl),r=lG;try{r=new URL(t).origin}catch{r=new URL(lG).origin}for(let l of Array.from(new Set(e.imageSources.map(e=>e.trim()).filter(e=>e.length>0)))){let i;if(!(l.startsWith("data:")||l.startsWith("blob:"))){try{i=new URL(l,t)}catch{return{ok:!1,error:lZ("IMAGE_SOURCE_NOT_EXPORTABLE",`Unsupported image source "${l}". Use data URIs or CORS-enabled URLs.`)}}if(!lY(i))return{ok:!1,error:lZ("IMAGE_SOURCE_NOT_EXPORTABLE",`Unsupported protocol "${i.protocol}" for image source "${l}".`)};if(i.origin!==r&&!await lV(i.toString(),e.fetchImpl))return{ok:!1,error:lZ("IMAGE_SOURCE_NOT_EXPORTABLE",`Cross-origin image source "${l}" is not CORS-readable.`)}}}return{ok:!0}},lK=async e=>{var t,r;let l=((e,t)=>!Number.isFinite(e)||e<=0?t:Math.max(1,Math.round(e)))(e.pageWidthPx,1),i=lv(l),n=lM({pageWidthPx:l,pageHeightPx:i,marginPx:lP(e.rowGapPx)}),a=lB({rows:e.rows.map(e=>({rowId:e.rowId,heightPx:e.rowHeightPx})),rowGapPx:e.rowGapPx,pageHeightPx:n.contentHeightPx});if(!a.ok)return{deliveryMode:"multi-png",totalPages:0,successfulDownloads:0,failedPages:[],abortedReason:a.error};let o=a.pages.length>1?"zip":"multi-png",s="zip"===o?lb():void 0;if(0===a.pages.length)return{deliveryMode:o,archiveFilename:s,totalPages:0,successfulDownloads:0,failedPages:[]};let d=lL({widthPx:l,heightPx:i,isMobileDevice:e.isMobileDevice});if(!d.ok)return{deliveryMode:o,archiveFilename:s,totalPages:a.pages.length,successfulDownloads:0,failedPages:[],abortedReason:d.error};let u=new Map(e.rows.map(e=>[e.rowId,e])),c=a.pages.map(t=>{let r=t.rows.map(e=>{let t=u.get(e.rowId);return t?{rowId:e.rowId,yOffsetPx:e.yOffsetPx,rowHeightPx:e.heightPx,frames:t.frames}:null});if(r.some(e=>null===e))return null;let a=e.scopeIdPrefix??"page",o=`${a}-${Math.max(1,t.pageIndex+1)}`,s=lA({pageIndex:t.pageIndex,pageWidthPx:l,pageHeightPx:i,contentX:n.contentX,contentY:n.contentY,contentWidthPx:n.contentWidthPx,frameStyle:e.frameStyle,rows:r.filter(lX),scopeId:o,resolveSvgColor:e.resolveSvgColor});return{pageIndex:t.pageIndex,pageNumber:t.pageIndex+1,filename:ly(t.pageIndex+1,e.filenamePrefix),svg:s.svg,imageSources:s.imageSources}});if(c.some(e=>!e))return{deliveryMode:o,archiveFilename:s,totalPages:a.pages.length,successfulDownloads:0,failedPages:[],abortedReason:lZ("RASTERIZATION_FAILED","(missing row data while building export pages).")};let f=c.filter(lX),h=await lq({imageSources:f.flatMap(e=>e.imageSources),baseUrl:e.baseUrl,fetchImpl:e.fetchImpl??("function"==typeof fetch?fetch.bind(globalThis):void 0)});if(!h.ok)return{deliveryMode:o,archiveFilename:s,totalPages:f.length,successfulDownloads:0,failedPages:[],abortedReason:h.error};let p=e.rasterizeSvgPageFn??(e=>lz(e)),m=e.downloadBlobFn??lD.W,x=((e,t)=>null==e||!Number.isFinite(e)||e<0?t:Math.max(0,Math.round(e)))(e.downloadDelayMs,96),g=[],y=0;if("zip"===o){let t=[];for(let r of f){let n=await p({svg:r.svg,widthPx:l,heightPx:i,isMobileDevice:e.isMobileDevice});if(!n.ok){g.push({pageIndex:r.pageIndex,pageNumber:r.pageNumber,filename:r.filename,error:n.error});break}t.push({filename:r.filename,blob:n.blob})}if(g.length>0)return{deliveryMode:o,archiveFilename:s,totalPages:f.length,successfulDownloads:0,failedPages:g,abortedReason:null==(r=g[0])?void 0:r.error};let n=s??lb();try{let e=await (0,lT.q)(t);if(!m(e,n))return{deliveryMode:o,archiveFilename:n,totalPages:f.length,successfulDownloads:0,failedPages:[],abortedReason:lZ("ZIP_ARCHIVE_FAILED","(browser blocked or failed download trigger).")}}catch{return{deliveryMode:o,archiveFilename:n,totalPages:f.length,successfulDownloads:0,failedPages:[],abortedReason:lZ("ZIP_ARCHIVE_FAILED")}}return{deliveryMode:o,archiveFilename:n,totalPages:f.length,successfulDownloads:f.length,failedPages:[]}}for(let t of f){let r=await p({svg:t.svg,widthPx:l,heightPx:i,isMobileDevice:e.isMobileDevice});if(!r.ok){g.push({pageIndex:t.pageIndex,pageNumber:t.pageNumber,filename:t.filename,error:r.error});break}if(!m(r.blob,t.filename)){g.push({pageIndex:t.pageIndex,pageNumber:t.pageNumber,filename:t.filename,error:lZ("RASTERIZATION_FAILED","(browser blocked or failed download trigger).")}
3);break}y+=1,x>0&&y<f.length&&await l_(x)}let v=0===y?null==(t=g[0])?void 0:t.error:void 0;return{deliveryMode:o,archiveFilename:s,totalPages:f.length,successfulDownloads:y,failedPages:g,abortedReason:v}},lJ={ROW_EXCEEDS_A4:"A row is too tall for A4 export. Reduce that row height and try again.",UNSAFE_DIMENSIONS:"Export dimensions are too large for this device. Reduce page size and try again.",IMAGE_SOURCE_NOT_EXPORTABLE:"Some background images cannot be exported as PNG. Use template/data URI backgrounds or CORS-enabled image URLs.",RASTERIZATION_FAILED:"PNG export failed while generating or downloading pages. Please try again.",ZIP_ARCHIVE_FAILED:"ZIP export failed while packaging pages. Please try again."},lQ="Couldn't export your webtoon. Please try again.",l0=e=>e?lJ[e.code]??lQ:lQ,l1=e=>null!=e,l2=()=>(0,l.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:(0,l.jsx)("path",{d:"M3.5 5.25L7 8.75L10.5 5.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),l3=e=>"path"===e.type||"rect"===e.type||"ellipse"===e.type||"text"===e.type,l6=e=>{if("number"==typeof e&&Number.isFinite(e)&&!(e<=0))return e};function l5(e){var t,r,P,M;let{projectId:C,forceOpenEditor:S=!1}=e,j=(0,n.useRouter)(),F=(0,i.useRef)(null),A=(0,o.Y)(),T=l6(C),D=(()=>{let e=(0,i.useId)(),t=(0,i.useMemo)(()=>(e=>{let t=e.replace(/[^a-zA-Z0-9]/g,"");return t.length>0?t:"seed"})(e),[e]),r=(0,i.useRef)(0);return(0,i.useMemo)(()=>()=>`${t}x${(r.current++).toString(36)}`,[t])})(),N=(0,i.useRef)(null),O=(0,i.useRef)(null),B=(0,i.useRef)(null),W=(0,i.useRef)(null),U=(0,i.useRef)(null),H=(0,i.useRef)(null),L=(0,i.useRef)(""),z=(0,i.useRef)(0),G=(0,i.useRef)(0),Z=(0,i.useRef)(null),_=(0,i.useRef)(!1),X=(0,i.useRef)(!1),[Y,V]=(0,i.useState)(()=>(0,b.b)(1,{minZoom:.4,maxZoom:3})),[q,K]=(0,i.useState)(!S&&void 0===T),[J,Q]=(0,i.useState)(T),[ee,et]=(0,i.useState)(T??null);(0,i.useEffect)(()=>{S&&K(!1)},[S]);let er=(0,i.useRef)(!1),ei=(0,rk.w)(N),en=(0,rk.w)(B),ea=(0,rk.w)(W),eo=Y||1,es=Number.isFinite(Number.parseFloat(v.DI))?Number.parseFloat(v.DI):void 0,eu=(ei&&es?Math.min(ei.width,es):null==ei?void 0:ei.width)??(null==(t=B.current)?void 0:t.offsetWidth)??((null==en?void 0:en.width)?en.width/eo:void 0)??es,ef=(null==(r=B.current)?void 0:r.offsetHeight)??((null==en?void 0:en.height)?en.height/eo:void 0),ep=A?172:120,em=(null==ea?void 0:ea.height)??(null==(P=W.current)?void 0:P.offsetHeight)??ep,ex=Math.round(em+8),eg=eu?eu*Y:void 0,ey=ef?ef*Y:void 0,{doc:ev,selection:ew,indexes:eb,actions:ek,canUndo:eI,canRedo:eP}=ez({idGenerator:D}),eC=(0,i.useMemo)(()=>((e,t,r)=>{let l=[],i=0;return e.rows.forEach((n,a)=>{let o=t.rowGeometry[n.id],s=(null==o?void 0:o.height)??el(n,e.settings),d=(null==o?void 0:o.y)??i,u=a<e.rows.length-1?e.settings.rowGapPx:0,c=n.frameIds.map(l=>{var i;let n=t.frameRects[l],a={x:0,y:0,width:e.settings.pageWidthPx,height:s},o=n??a,d=(null==(i=t.framePaths[l])?void 0:i.d)??"",u=e.frames[l],c=t.frameViewBoxes[l]??{x:0,y:0,width:o.width,height:o.height};return{frameId:l,x:o.x,y:o.y,width:o.width,height:o.height,path:d,isActive:r.activeFrameId===l,isHovered:r.hoverFrameId===l,viewBox:c,drawing:((e,t,r)=>{let l=(null==t?void 0:t.elements)??[],i=new Set,n=[];for(let e=l.length-1;e>=0;e--)i.has(l[e].id)||(i.add(l[e].id),n.unshift(l[e]));return{frameId:e,elements:n,background:r}})(l,null==u?void 0:u.drawing,null==u?void 0:u.background)}});l.push({rowId:n.id,templateId:n.templateId,y:d,height:s,heightUnits:n.heightUnits,frameIds:n.frameIds,isActiveRow:n.frameIds.includes(r.activeFrameId??""),frameRects:c}),i=d+s+u}),l})(ev,eb,ew),[ev,eb,ew]),eS=(0,i.useRef)(!1),e$=(0,i.useRef)(!1),[eR,eE]=(0,i.useState)(0),[eF,eA]=(0,i.useState)(null),eT=(0,i.useRef)(null),[eD,eB]=(0,i.useState)(!1),[eW,eH]=(0,i.useState)(null),[eL,eY]=(0,i.useState)(null),eV=(0,i.useRef)(null),eq=(0,i.useCallback)(e=>{eA(e),eT.current&&window.clearTimeout(eT.current),eT.current=window.setTimeout(()=>{eT.current=null,eA(null)},4e3)},[]),eQ=(0,i.useCallback)((e,t)=>{"error"===e?(eH(t),eY(null)):(eY(t),eH(null)),eV.current&&window.clearTimeout(eV.current),eV.current=window.setTimeout(()=>{eV.current=null,eH(null),eY(null)},4e3)},[]);(0,i.useEffect)(()=>()=>{eT.current&&(window.clearTimeout(eT.current),eT.current=null)},[]),(0,i.useEffect)(()=>()=>
3{eV.current&&(window.clearTimeout(eV.current),eV.current=null)},[]);let e0=(0,i.useCallback)(e=>{Q(e);let t=new URL(window.location.href);t.searchParams.get("projectId")!==String(e)&&(t.searchParams.set("projectId",String(e)),window.history.replaceState(window.history.state,"",t.toString()))},[]),e1=(0,i.useCallback)(e=>{var t;e$.current=!0,ek.replaceDocument(e),ek.clearSelection();let r=(null==(t=e.rows[0])?void 0:t.frameIds[0])??null;ek.setActiveFrame(r)},[ek]),e2=(0,i.useMemo)(()=>{let e=Math.max(1,Math.round(ev.settings.pageWidthPx)),t=lv(e),r=lM({pageWidthPx:e,pageHeightPx:t,marginPx:lP(ev.settings.rowGapPx)}),l=lB({rows:eC.map(e=>({rowId:e.rowId,heightPx:e.height})),rowGapPx:ev.settings.rowGapPx,pageHeightPx:r.contentHeightPx});if(!l.ok)return null;let i=l.pages[0];if(!i)return null;let n=new Map(eC.map(e=>[e.rowId,e])),a=i.rows.map(e=>{let t=n.get(e.rowId);return t?{rowId:e.rowId,yOffsetPx:e.yOffsetPx,rowHeightPx:e.heightPx,frames:t.frameRects.map(e=>({frameId:e.frameId,x:e.x,y:e.y,width:e.width,height:e.height,path:e.path,drawing:e.drawing}))}:null}).filter(l1);return 0===a.length||a.length!==i.rows.length?null:{pageWidthPx:e,pageHeightPx:t,contentX:r.contentX,contentY:r.contentY,contentWidthPx:r.contentWidthPx,firstPageRows:a}},[ev.settings.pageWidthPx,ev.settings.rowGapPx,eC]),e3=(0,i.useMemo)(()=>{try{if(!e2)return"thumb:none";return JSON.stringify({pageWidthPx:e2.pageWidthPx,pageHeightPx:e2.pageHeightPx,contentX:e2.contentX,contentY:e2.contentY,contentWidthPx:e2.contentWidthPx,frameStyle:ev.settings.frameStyle,rows:e2.firstPageRows})}catch{return`thumb:fallback:${eR}`}},[ev.settings.frameStyle,eR,e2]),e6=(0,i.useCallback)(()=>e3,[e3]),e5=(0,i.useCallback)(async()=>{if("undefined"==typeof document)return null;try{var e;
3await (null==(e=document.fonts)?void 0:e.ready)}catch{}if(!e2)return null;let t=lA({pageIndex:0,pageWidthPx:e2.pageWidthPx,pageHeightPx:e2.pageHeightPx,contentX:e2.contentX,contentY:e2.contentY,contentWidthPx:e2.contentWidthPx,rows:e2.firstPageRows,frameStyle:ev.settings.frameStyle,scopeId:"thumbnail-page-1"}),r=await lz({svg:t.svg,widthPx:300,heightPx:200,isMobileDevice:A});if(!r.ok)return null;let l=URL.createObjectURL(r.blob);try{let e=await new Promise((e,t)=>{let r=new Image;r.decoding="async",r.onload=()=>e(r),r.onerror=()=>t(Error("Failed to decode thumbnail.")),r.src=l}),t=document.createElement("canvas");t.width=300,t.height=200;let r=t.getContext("2d");if(!r)return null;r.clearRect(0,0,t.width,t.height),r.drawImage(e,0,0,t.width,t.height);let i=await new Promise(e=>{if("function"!=typeof t.toBlob)return void e(null);t.toBlob(e,"image/webp",.88)});if(!i||"image/webp"!==i.type)return null;return i}catch{return null}finally{URL.revokeObjectURL(l)}},[ev.settings.frameStyle,A,e2]),{scheduleSave:e4,flush:e8,hasUnsavedChanges:e7,isLoading:e9,isSavingRef:te,projectId:tt}=(e=>{let{projectId:t,onProjectIdChange:r,document:l,documentRevision:n,getThumbnail:a,getThumbnailChangeSignature:o,thumbnailMinIntervalMs:s,thumbnailMaxIntervalMs:d,onRestoreDocument:u,onRestoreError:c}=e,f=(0,i.useCallback)(()=>`doc:${n}`,[n]),h=(0,i.useMemo)(()=>({getData:()=>(e=>{let t=eM(e),r=e.rows.map(r=>{var l;return{id:r.id,templateId:r.templateId,heightUnits:r.heightUnits,frameIds:[...r.frameIds],geometry:{heightPx:(null==(l=t.rows[r.id])?void 0:l.height)??el(r,e.settings)}}}),l={},i=new Set(e.rows.flatMap(e=>e.frameIds));return Object.keys(e.frames).forEach(e=>i.add(e)),i.forEach(r=>{let i,n=e.frames[r]??eN(r),a=t.frames[r],o=(null==a?void 0:a.rect)??{x:0,y:0,width:n.viewBox.width,height:n.viewBox.height},s=(null==a?void 0:a.viewBox)??{x:0,y:0,width:o.width,height:o.height},d=(null==a?void 0:a.path)??(e=>{let t=e.x+e.width,r=e.y+e.height;return{d:`M ${e.x} ${e.y} H ${t} V ${r} H ${e.x} Z`}})(o);l[r]={id:r,name:n.name,geometry:{rect:o,path:d,viewBox:s},background:"svg"===(i=ej(n.background)).type?{type:"svg",source:{...i.source},fit:i.fit,opacity:i.opacity}:{type:"solid",color:i.color,opacity:i.opacity},drawing:(e=>{if(e)return{...e,elements:e.elements.filter(e=>{let t;return"fill"!==(t=e).type||"frame"!==(t.target??"frame")||void 0!==t.targetId})}})(n.drawing),rootLayerId:n.rootLayerId}}),{version:"v0",settings:e.settings,rows:r,frames:l,meta:e.meta}})(l),onRestore:e=>{let t=eO(e);if(!t)throw null==c||c(rn),Error(rn);u(t)}}),[l,u,c]),p="number"==typeof t&&Number.isFinite(t)&&t>0?t:void 0,m=(0,rl.Io)({tool:"webtoon",projectId:p,onProjectIdChange:r,autosaveDebounceMs:1e4,getChangeSignature:f,elements:h,getThumbnail:a,getThumbnailChangeSignature:o,thumbnailMinIntervalMs:s,thumbnailMaxIntervalMs:d}),x="number"==typeof m.projectId&&m.projectId>0?m.projectId:void 0;return{...m,projectId:x}})({projectId:J,onProjectIdChange:e0,document:ev,documentRevision:eR,getThumbnail:e5,getThumbnailChangeSignature:e6,thumbnailMinIntervalMs:1e4,thumbnailMaxIntervalMs:6e4,onRestoreDocument:e1,onRestoreError:eq}),tr=(0,i.useMemo)(()=>(e=>{if(!(e=>{let{settings:t}=e;return t.pageWidthPx===I.pageWidthPx&&t.defaultFrameHeightPx===I.defaultFrameHeightPx&&t.rowPaddingPx===I.rowPaddingPx&&t.columnGapPx===I.columnGapPx&&t.rowGapPx===I.rowGapPx&&t.frameStyle.borderWidthToken===I.frameStyle.borderWidthToken&&t.frameStyle.borderColorToken===I.frameStyle.borderColorToken&&t.frameStyle.borderRadiusToken===I.frameStyle.borderRadiusToken})(e)||1!==e.rows.length)return!0;let t=e.rows[0];if(!t)return!1;if(t.templateId!==ri||(t.heightUnits??1)!==1||1!==t.frameIds.length||1!==Object.keys(e.frames).length)return!0;for(let t of Object.values(e.frames)){var r;if(((null==(r=t.drawing)?void 0:r.elements.length)??0)>0||!ra(t.background))return!0}return!1})(ev),[ev]),tl=ew.selectedObjectIds[0]??null,ta=ew.activeFrameId,ts=ta?ev.frames[ta]:void 0,tu=null==ts?void 0:ts.background,tf=(0,i.useMemo)(()=>(null==tu?void 0:tu.type)==="solid"?tu:{type:"solid",color:"#ffffff"},[tu]),th=(0,i.useMemo)(()=>(null==tu?void 0:tu.type)==="svg"?tu:null,[tu]),tp=!!(ta&&ts),[tm,tg]=(0,i.useState)(!1),[ty,tw]=(0,i.useState)(!1),[tb,tI]=(0,i.useState)(!1),[tT,tN]=(0,i.useState)("solid"),[tO,tB]=(0,i.useState)("url"),[tL,tz]=(0,i.useState)("url"),[tY,t2]=(0,i.useState)(""),[t9,re]=(0,i.useState)("cover"),[rt,ro]=(0,i.useState)(null),rs=(0,i.useRef)(null),{activeTool:rd,setActiveTool:ru,activeShape:rc,activeShapeId:rf,setActiveShape:rh,pencilFillEnabled:rp,setPencilFillEnabled:rm,pencilStrokeEnabled:rx,setPencilStrokeEnabled:rg,pencilStyle:ry,fillStyle:rv,resolvedPencilColor:rw,resolvedFillC
3olor:rb,setPencilStroke:rP,setPencilOpacity:rC,setPencilStrokeWidth:rS,setFillColor:r$,setFillOpacity:rR,recentColors:rE}=(()=>{let[e,t]=(0,i.useState)("pencil"),[r,l]=(0,i.useState)(null),[n,a]=(0,i.useState)(!1),[o,s]=(0,i.useState)(!0),[d,u]=(0,i.useState)({...t6}),[c,f]=(0,i.useState)({...t5}),[h,p]=(0,i.useState)(t4),m=(0,i.useCallback)(e=>{u(t=>({...t,stroke:t8(e)}))},[]),x=(0,i.useCallback)(e=>{u(t=>({...t,opacity:t7(e)}))},[]),g=(0,i.useCallback)(e=>{u(t=>({...t,strokeWidth:Math.max(1,e)}))},[]),y=(0,i.useCallback)(e=>{f(t=>({...t,color:t8(e)}))},[]),v=(0,i.useCallback)(e=>{f(t=>({...t,opacity:t7(e)}))},[]),w=(0,i.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;p(r=>((e,t,r)=>{let l=t8(t.hex),i=t7(t.opacity),n=e.filter(e=>e.hex.toLowerCase()!==l.toLowerCase()||e.opacity!==i);return[{hex:l,opacity:i},...n].slice(0,r)})(r,{hex:e,opacity:t},24))},[]),b=t3(d.stroke),k=t3(c.color);return{activeTool:e,setActiveTool:t,activeShape:r,activeShapeId:(null==r?void 0:r.id)??null,setActiveShape:l,pencilFillEnabled:n,setPencilFillEnabled:a,pencilStrokeEnabled:o,setPencilStrokeEnabled:s,pencilStyle:d,setPencilStroke:m,setPencilOpacity:x,setPencilStrokeWidth:g,fillStyle:c,setFillColor:y,setFillOpacity:v,recentColors:h,commitRecentColor:w,resolvedPencilColor:b,resolvedFillColor:k}})(),[rj,rF]=(0,i.useState)(null),[rT,rD]=(0,i.useState)(!1),[rN,rO]=(0,i.useState)(!1),[rB,rW]=(0,i.useState)(!1),[rU,rH]=(0,i.useState)(!1),[rL,rz]=(0,i.useState)(!1),[rG,rZ]=(0,i.useState)(!1),[r_,rX]=(0,i.useState)(null),[rY,rV]=(0,i.useState)(!1),[rq,rK]=(0,i.useState)(!1),[rQ,r0]=(0,i.useState)(null),[r1,r2]=(0,i.useState)(null),[r3,r5]=(0,i.useState)(""),r8=w.Ct,le=rr({isOpen:rN,color:ry.stroke,opacity:ry.opacity??1,onColorChange:rP,onOpacityChange:rC}),lt=rr({isOpen:rB,color:rv.color,opacity:rv.opacity??1,onColorChange:r$,onOpacityChange:rR}),lr=(0,i.useCallback)(()=>{if(!ta)return null;G.current+=1;let e=`background:${ta}:${G.current}`;return Z.current=e,e},[ta]),lu=(0,i.useCallback)(()=>{th?(tN("svg"),tB(th.source.kind),tz(e=>"templates"===e?e:th.source.kind),t2(th.source.value),re(th.fit??"cover")):(tN("solid"),tB("url"),tz(e=>"templates"===e?e:"url"),t2(""),re("cover")),ro(null)},[th]),lf=(0,i.useCallback)(e=>{let{sourceKind:t,sourceValue:r,fit:l=t9}=e;if(!ta||!ts)return!1;let i=r.trim();if(!i)return ro("Source value is required."),!1;let n=lr();if(!n)return!1;let a={type:"svg",source:{kind:t,value:i},fit:l,...(null==th?void 0:th.opacity)!==void 0?{opacity:th.opacity}:{}}
3;return ek.setFrameBackground(ta,a,{recordHistory:!0,batchId:n}),tB(t),t2(i),re(l),ro(null),!0},[ek,lr,ts,ta,th,t9]),lh=(0,i.useCallback)(e=>{if(!ta||!ts)return;let t=e.color??tf.color,r=e.opacity??tf.opacity,l={type:"solid",color:t,...void 0!==r?{opacity:r}:{}},i=`background:${ta}:`,n=Z.current,a=(null==n?void 0:n.startsWith(i))?n:lr();a&&ek.setFrameBackground(ta,l,{recordHistory:!0,batchId:a})},[ek,lr,ts,ta,tf]),lp=(0,i.useCallback)(()=>{lf({sourceKind:tO,sourceValue:tY,fit:t9})},[lf,t9,tO,tY]),lg=(0,i.useCallback)(()=>{if(!ta||!ts)return null;let e=eb.frameRects[ta],t=Number.isFinite(null==e?void 0:e.width)&&((null==e?void 0:e.width)??0)>0?Math.round(e.width):Math.max(1,Math.round(ts.viewBox.width)),r=Number.isFinite(null==e?void 0:e.height)&&((null==e?void 0:e.height)??0)>0?Math.round(e.height):Math.max(1,Math.round(ts.viewBox.height));return Number.isFinite(t)&&Number.isFinite(r)?{width:Math.max(1,t),height:Math.max(1,r)}:null},[eb.frameRects,ts,ta]),ly=(0,i.useCallback)(async e=>{let{templateId:t,seed:r}=e;if(X.current)return;let l=lg();if(l){X.current=!0,rK(!0);try{let e=rJ({templateId:t,seed:r,width:l.width,height:l.height}),i=rA(e);lf({sourceKind:"dataUri",sourceValue:i,fit:t9})&&tz("templates")}finally{X.current=!1,rK(!1)}}},[lf,lg,t9]),lw=rr({isOpen:rU,color:tf.color,opacity:tf.opacity??1,onColorChange:e=>lh({color:e}),onOpacityChange:e=>lh({opacity:e})}),{setPickerToColor:lb}=le,{setPickerToColor:lk}=lt,{setPickerToColor:lI}=lw,lC=(0,i.useCallback)(e=>{if(!e||!rs.current)return;let t=e.currentTarget.getBoundingClientRect(),r=rs.current.getBoundingClientRect();rF(t.left-r.left+t.width/2)},[]),lS=(0,i.useCallback)(e=>{e?lC(e):rF(null),lb(ry.stroke,ry.opacity??1),rO(!0),rW(!1),rz(!1),rZ(!1),rD(!1)},[ry.opacity,ry.stroke,lb,lC]),l$=(0,i.useCallback)(e=>{e?lC(e):rF(null),lk(rv.color,rv.opacity??1),rW(!0),rO(!1),rz(!1),rZ(!1),rD(!1)},[rv.color,rv.opacity,lk,lC]),lR=(0,i.useCallback)(()=>{rO(!1)},[]),lE=(0,i.useCallback)(()=>{rW(!1)},[]),lj=(0,i.useCallback)(()=>{tI(!1),rH(!1),Z.current=null,ro(null)},[]),lF=(0,i.useCallback)(()=>{rF(null),lI(tf.color,tf.opacity??1),rH(!0)},[tf,lI]),lT=(0,i.useCallback)(()=>{rH(!1)},[]),lD=(0,i.useCallback)(e=>{rP(e.hex),rC(e.opacity),rN&&lb(e.hex,e.opacity)},[rN,lb,rC,rP]),lN=(0,i.useCallback)(e=>{r$(e.hex),rR(e.opacity),rB&&lk(e.hex,e.opacity)},[rB,r$,rR,lk]),lO=(0,i.useCallback)(e=>{lr(),lh({color:e.hex,opacity:e.opacity}),rU&&lI(e.hex,e.opacity)},[rU,lr,lI,lh]),lW=(0,i.useCallback)(e=>{tN(e),ro(null)},[]),lU=(0,i.useCallback)(e=>{tB(e),tz(e),ro(null)},[]),lH=(0,i.useCallback)(e=>{tz(e),ro(null)},[]),lL=(0,i.useCallback)(e=>{t2(e),ro(null)},[]),lG=(0,i.useCallback)(e=>{re(e)},[]),lZ=(0,i.useCallback)(()=>{tp&&tI(e=>{let t=!e;return t?tw(!1):Z.current=null,t})},[tp]),l_=(0,i.useCallback)(e=>{if(ru(e),tw(!1),lj(),"shape"!==e&&rD(!1),"fill"===e)return void l$();rW(!1),rO(!1),rz(!1),rZ(!1)},[lj,l$,ru]),lX=(0,i.useCallback)(()=>{if(rF(null),"shape"!==rd)return void l_("shape");rD(e=>{let t=!e;return t&&(rO(!1),rW(!1),rz(!1),rZ(!1)),t})},[rd,l_]),lY=(0,i.useCallback)((e,t)=>{let r=(0,b.b)(e,{minZoom:.4,maxZoom:3}),l=N.current;if(!l||r===Y)return void V(r);let i=l.getBoundingClientRect(),n=t??{x:i.width/2,y:i.height/2},a=r/(Y||1),o=l.scrollLeft,s=l.scrollTop;V(r),requestAnimationFrame(()=>{let e=(o+n.x)*a-n.x,t=(s+n.y)*a-n.y;l.scrollLeft=e,l.scrollTop=t})},[Y,V]),lV=(0,i.useCallback)(e=>{if(!e.ctrlKey&&!e.metaKey)return;e.preventDefault();let t=1===e.deltaMode?16:2===e.deltaMode?200:1,r=e.deltaY*t;if(0===r)return;let l=Math.exp(-(.001*r)),i=N.current;if(!i)return;let n=i.getBoundingClientRect();lY(Y*l,{x:e.clientX-n.left,y:e.clientY-n.top})},[lY,Y]);(0,i.useEffect)(()=>{let e=N.current;if(!e)return;let t=e=>lV(e);return e.addEventListener("wheel",t,{passive:!1}),()=>{e.removeEventListener("wheel",t)}},[lV]),(0,i.useEffect)(()=>{if("shape"===rd){rD(!0),rO(!1),rW(!1),rz(!1),rZ(!1),rF(null);return}rD(!1)},[rd]),(0,i.useEffect)(()=>{tp||(tI(!1),Z.current=null)},[tp]),(0,i.useEffect)(()=>{tb&&tp&&(lu(),lr())},[tb,lr,tp,lu]);let lq=(0,i.useCallback)(e=>A?{position:"fixed",bottom:`${ex}px`,left:"50%",pointerEvents:"auto",...e?{width:`${e}px`}:{}}:{position:"absolute",bottom:"calc(100% + 8px)",left:null===rj?"50%":`${rj}
3px`,pointerEvents:"auto",...e?{width:`${e}px`}:{}},[A,ex,rj]),lJ=(0,i.useCallback)(e=>{let t=e.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*[\d.]+)?\)$/);return t?{r:Number(t[1]),g:Number(t[2]),b:Number(t[3])}:null},[]),l5=(0,i.useMemo)(()=>{let e=ry.opacity??1;if(e>=.999)return rw;let t=lJ(rw)??(rw.startsWith("#")?(0,w.E2)(rw):null);return t?`rgba(${t.r}, ${t.g}, ${t.b}, ${e})`:rw},[ry.opacity,rw,lJ]),l4=(0,i.useMemo)(()=>{let e=rv.opacity??1;if(e>=.999)return rb;let t=lJ(rb)??(rb.startsWith("#")?(0,w.E2)(rb):null);return t?`rgba(${t.r}, ${t.g}, ${t.b}, ${e})`:rb},[rv.opacity,rb,lJ]),l8=(0,i.useMemo)(()=>{let e=rv.opacity??1;if(e>=.999)return rv.color;let t=lJ(rb)??(rb.startsWith("#")?(0,w.E2)(rb):null);return t?`rgba(${t.r}, ${t.g}, ${t.b}, ${e})`:rv.color},[rv.color,rv.opacity,rb,lJ]),l7=(0,i.useMemo)(()=>({...ry,stroke:rx?ry.stroke:"none",fill:rp?l8:"none"}),[l8,rp,rx,ry]),l9=(0,i.useMemo)(()=>({fill:rp?l8:"none",stroke:rx?ry.stroke:"none",strokeWidth:ry.strokeWidth,opacity:ry.opacity,lineCap:ry.lineCap,lineJoin:ry.lineJoin}),[l8,rp,rx,ry.lineCap,ry.lineJoin,ry.opacity,ry.stroke,ry.strokeWidth]),ie="pencil"===rd,it=ie?(0,l.jsx)(u.H,{fillEnabled:rp,onFillEnabledChange:rm,fillColor:rv.color,fillOpacity:rv.opacity??1,onFillColorClick:l$,fillSwatchActive:rB,strokeEnabled:rx,onStrokeEnabledChange:rg,strokeColor:ry.stroke,strokeOpacity:ry.opacity??1,onStrokeColorClick:lS,strokeSwatchActive:rN,strokeWidth:ry.strokeWidth,strokeMin:1,strokeMax:48,strokeStep:1,onStrokeWidthChange:e=>rS(Math.round(e)),strokeSliderAriaLabel:"Brush size",strokeSliderLabelPosition:"left"}):null,ir=(e=>{let{activeTool:t,onCommitPath:r,style:l,zoom:n=1}=e,[a,o]=(0,i.useState)(null),s=(0,i.useRef)(null),d=(0,i.useRef)(0),u=(0,i.useCallback)(()=>{let e=s.current;if(!e)return;let t=((e,t)=>{var r;let l,i=!((r=e).length<3)&&12>=t$(r[0],r[r.length-1]),n=Number.isFinite(l=t)&&l>0?l:1,a="";if(eG.Z.enabled){let t=eG.Z;try{a=(0,eX.V)(e,{loopToleranceWorld:t.loopTolerancePx/n,minTravelWorld:t.minTravelPx/n,resampleSpacingWorld:t.resampleSpacingPx/n,controlPoints:t.controlPoints,fairnessLambda:t.fairnessLambda,decimals:t.decimals,maxInputPoints:t.maxInputPoints,maxResamplePoints:t.maxResamplePoints})??""}catch{a=""}}!a&&eZ.R.enabled&&(a=(0,e_.P)(e,{zoom:n})),a||(a=tM(e,i));let o=i||tR(a);return a&&o&&!tR(a)&&(a=`${a} Z`),{d:a,isClosed:o}})(e.points,n);if(t.d&&e.frameClipper&&!tP({frameClipper:e.frameClipper,frameRect:e.frameRect,pathD:t.d})){let r=tC(e.points,t.isClosed);r&&!tP({frameClipper:e.frameClipper,frameRect:e.frameRect,pathD:r})&&(r=tC(e.points,!1)),t={d:r,isClosed:tR(r)}}t.d&&r(e.frameId,{d:t.d,stroke:l.stroke,strokeWidth:l.strokeWidth,fill:l.fill,isClosed:t.isClosed,opacity:l.opacity,lineCap:l.lineCap,lineJoin:l.lineJoin},{recordHistory:!0,batchId:e.batchId}),s.current=null,o(null)},[r,l,n]),c=(0,i.useCallback)(e=>{o({frameId:e.frameId,d:tM(e.points),stroke:l.stroke,strokeWidth:l.strokeWidth,opacity:l.opacity,transaction:tE(e.batchId)})},[l]),f=(0,i.useCallback)((e,r,i,n)=>n&&"pencil"===t?{onPointerDown:t=>{if(0!==t.button)return;let{rowPoint:n,framePoint:a}=tS(t,r),u=(e=>{if(!e)return null;let t=[];try{t=(0,ec.p)(e)}catch{return null}if(0===t.length)return null;let r=(e=>{if(0===e.length)return[];let t=[];for(let r of e)0!==t.length&&tx(t[t.length-1],r)||t.push({x:r.x,y:r.y});return t.length>1&&tx(t[0],t[t.length-1])&&t.pop(),t})((0,tc.y)(t,8)),l=(e=>{if(e.length<3)return[];let t=[];for(let r=0;r<e.length;r+=1){let l=e[r],i=e[(r+1)%e.length];tx(l,i)||t.push({a:l,b:i})}return t})(r);return r.length<3||l.length<3?null:{polygon:r,edges:l}})(i);if(!(u?tk(u,n):tn(e,i,n)))return;t.preventDefault(),t.currentTarget.setPointerCapture(t.pointerId),d.current+=1;let c=`pencil:${e}:${d.current}`;s.current={frameId:e,pointerId:t.pointerId,frameRect:r,framePath:i,frameClipper:u,points:[a],lastRowPoint:n,hasExitedFrame:!1,batchId:c},o({frameId:e,d:tM([a]),stroke:l.stroke,strokeWidth:l.strokeWidth,opacity:l.opacity,transaction:tE(c)})},onPointerMove:e=>{let t=s.current;if(!t||t.pointerId!==e.pointerId||t.hasExitedFrame)return;e.preventDefault();let{rowPoint:r}=tS(e,t.frameRect),l=t.lastRowPoint;t.lastRowPoint=r;let i=t.frameClipper?((e,t,r)=>{let l,i,n,a=tv(e,t,r).find(e=>e>1e-6&&e<.999999);return null==a?null:(l=t,i=r,n=a,{x:l.x+(i.x-l.x)*n,y:l.y+(i.y-l.y)*n})})(t.frameClipper,l,r):null;if(i){let e=tj(t,i);t.hasExitedFrame=!0,e&&c(t);return}if(!(t.frameClipper?tk(t.frameClipper,r):tn(t.frameId,t.framePath,r))){t.hasExitedFrame=!0;return}tj(t,r)&&c(t)},onPointerUp:e=>{let t=s.current;t&&t.pointerId===e.pointerId&&(e.preventDefault(),e.currentTarget.releasePointerCapture(e.pointerId),u(
3))},onPointerLeave:e=>{let t=s.current;t&&t.pointerId===e.pointerId&&e.preventDefault()}}:null,[t,u,l,c]),h=(0,i.useCallback)((e,t,r,l)=>f(e,t,r,l),[f]);return(0,i.useMemo)(()=>({preview:a,getHandlersForFrame:h}),[a,h])})({activeTool:rd,onCommitPath:ek.addPath,style:l7,zoom:Y}),il=(e=>{let{activeTool:t,onCommitPath:r,onFillPath:l,getFrameDrawing:n,style:a}=e,[o,s]=(0,i.useState)(null),d=(0,i.useRef)(0),u=(0,i.useCallback)((e,t)=>{let r=eK({clientX:e.clientX,clientY:e.clientY,target:e.currentTarget});if(r)return{rowPoint:r,framePoint:{x:r.x-t.x,y:r.y-t.y}};let l=eJ({clientX:e.clientX,clientY:e.clientY,target:e.currentTarget,frameRect:t});return{rowPoint:{x:l.x+t.x,y:l.y+t.y},framePoint:l}},[]),c=(0,i.useCallback)((e,i,o,c)=>{if(!c||"fill"!==t)return null;let f=(t,r)=>{if(!ti(e,o,t))return null;let l=((e,t)=>{if(!e)return null;for(let r=e.elements.length-1;r>=0;r-=1){let l=e.elements[r];if("path"===l.type&&to(l,t))return l}return null})(n(e),r);return l?{type:"path",pathId:l.id}:{type:"region"}};return{onPointerDown:t=>{if(0!==t.button)return;t.preventDefault();let{rowPoint:s,framePoint:c}=u(t,i),h=f(s,c);if(!h)return;d.current+=1;let p={recordHistory:!0,batchId:`fill:${e}:${d.current}`};if("path"===h.type)return void l(e,h.pathId,a.color,a.opacity,p);let m=(e=>{let t=(e=>{var t;if(!window.document)return null;let r=tW(e.options),l=Math.round(e.frameRect.width*r.resolution),i=Math.round(e.frameRect.height*r.resolution);if(l<=0||i<=0||l*i>r.maxPixels)return null;let n=window.document.createElement("canvas");n.width=l,n.height=i;let a=n.getContext("2d",{willReadFrequently:!0});if(!a)return null;for(let n of(a.clearRect(0,0,l,i),a.setTransform(r.resolution,0,0,r.resolution,0,0),((e,t)=>{let r,l,i,n=(r=tU(t.framePath||(e=>{let t=e.x+e.width,r=e.y+e.height;return`M ${e.x} ${e.y} H ${t} V ${r} H ${e.x} Z`})(t.frameRect)),l=-t.frameRect.x,i=-t.frameRect.y,r.map(e=>"line"===e.kind?{kind:"line",p0:{x:e.p0.x+l,y:e.p0.y+i},p1:{x:e.p1.x+l,y:e.p1.y+i}}:{kind:"cubic",p0:{x:e.p0.x+l,y:e.p0.y+i},p1:{x:e.p1.x+l,y:e.p1.y+i},p2:{x:e.p2.x+l,y:e.p2.y+i},p3:{x:e.p3.x+l,y:e.p3.y+i}}));0!==n.length&&(e.save(),e.globalAlpha=1,e.strokeStyle="#000",e.lineCap="round",e.lineJoin="round",e.lineWidth=2/Math.max(1,t.resolution),tH(e,n)&&e.stroke(),e.restore())})(a,{framePath:e.framePath,frameRect:e.frameRect,resolution:r.resolution}),(null==(t=e.frameDrawing)?void 0:t.elements)??[]))if("fill"!==n.type&&"text"!==n.type){if("path"===n.type){tG(a,n);continue}if("rect"===n.type){tZ(a,n);continue}"ellipse"===n.type&&t_(a,n)}return{imageData:a.getImageData(0,0,l,i),width:l,height:i,resolution:r.resolution,options:r}})({frameDrawing:e.frameDrawing,frameRect:e.frameRect,framePath:e.framePath,options:e.options});return t?(e=>{let t=tW(e.options),r=e.imageData.width,l=e.imageData.height;if(r<=0||l<=0||r*l>t.maxPixels||!Number.isFinite(e.point.x)||!Number.isFinite(e.point.y))return null;let i=Math.floor(e.point.x*t.resolution),n=Math.floor(e.point.y*t.resolution);if(i<0||i>=r||n<0||n>=l)return null;let a=(0,tF.w)(e.imageData,i,n,{maxRegionPixels:t.maxRegionPixels});if(!a||a.touchesEdge&&!t.allowUnbounded)return null;let o=(0,tD.x)(a.mask,r,l);if(0===o.length)return null;let s=(0,tA.O)(o,t.resolution);return s?{path:(e=>{let t={d:e.d,stroke:"none",strokeWidth:0,fill:e.fillColor,fillRule:"evenodd",isClosed:!0,lineCap:"round",lineJoin:"round"};return"number"==typeof e.fillOpacity&&(t.opacity=e.fillOpacity),t})({d:s,fillColor:e.fill.color,fillOpacity:e.fill.opacity}),regionPixels:a.count,touchesEdge:a.touchesEdge}:null})({imageData:t.imageData,point:e.point,fill:e.fill,options:t.options}):null})({frameDrawing:n(e),frameRect:i,framePath:o,point:c,fill:{color:a.color,opacity:a.opacity}});m&&r(e,m.path,p)},onPointerMove:t=>{(t=>{let r,{rowPoint:l,framePoint:n}=u(t,i),a=f(l,n),o=(null==a?void 0:a.type)==="path"?{frameId:e,pathId:a.pathId,transaction:(r=a.pathId,{recordHistory:!1,batchId:`fill-preview:${e}:${r}`})}:null;s(e=>!o&&!e||o&&e&&o.frameId===e.frameId&&o.pathId===e.pathId?e:o)})(t)},onPointerLeave:()=>{s(e=>e?null:e)}}},[t,n,u,r,l,a]),f=(0,i.useCallback)((e,t,r,l)=>c(e,t,r,l),[c]);return(0,i.useMemo)(()=>({getHandlersForFrame:f,hoveredPath:o}),[f,o])})({activeTool:rd,onCommitPath:ek.addPath,onFillPath:ek.fillPath,getFrameDrawing:e=>{var t;return null==(t=ev.frames[e])?void 0:t.drawing},style:rv}),ii=(e=>{let{activeTool:t,activeShape:r,onActivateFrame:l,onCommitPath:n,style:a,zoom:o=1,defaultSize:s=120}=e,d=(0,i.useRef)(null),u=(0,i.useRef)(0),[c,f]=(0,i.useState)(null),h=(0,i.useCallback)(()=>{d.current=null},[]),p=(0,i.useCallback)((e,t,r)=>{let l,i=(0,tK.Iy)({startPoint:e.startPoint,endPoint:t,viewBox:e.viewBox,zoom:Number.isFinite(l=o)&&l>0?l:1,lockAspectRatio:(null==r?void 0:r.lockAspectRatio)??!1,defaultSize:s,applyClickThreshold:null==r?void 0:r.applyClickThreshold});return eh(e.shape.d,i,{isClosed:!0})},[s,o]),m=(0,i.useCallback)((e,t,r)=>{let l=p(e,t,r);if(!l)return void f(null);f({frameId:e.frameId,d:l,stroke:a.stroke,strokeWidth:a.strokeWidth,fill:a.fill,fillRule:e.shape.fillRule,opacity:a.opacity,lineCap:a.lineCap,lineJoin:a.lineJoin})},[p,a]);(0,i.useEffect)(()=>{"shape"!==t&&(h(),f(null))},[t,h]);let x=(0,i.useCallback)((e,i,o,s)=>"shape"!==t?null:{onPointerDown:t=>{if(0!==t.button||!r)return;let{rowPoint:n,framePoint:a}=tJ(t,i);if(!tn(e,o,n))return;null==l||l(e),t.preventDefault(),t.currentTarget.setPointerCapture(t.pointerId),f(null),u.current+=1;let s={frameId:e,pointerId:t.pointerId,frameRect:i,startPoint:a,shape:r,viewBox:(0,tK.jb)(r.viewBox),batchId:`shape:${e}:${u.current}`};d.current=s,m(s,a,{lockAspectRatio:t.shiftKey,applyClickThreshold:!0})},onPointerMove:e=>{let t=d.current;if(!t||t.pointerId!==e.pointerId)return;e.currentTarget.hasPointerCapture(e.pointerId)||e.currentTarget.setPointerCapture(e.pointerId);let{framePoint:r}=tJ(e,t.frameRect);m(t,r,{lockAspectRatio:e.shiftKey,applyClickThreshold:!1})},onPointerUp:e=>{let t=d.current;if(!t||t.pointerId!==e.pointerId)return;e.preventDefault(),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),h(),f(null);let{framePoint:r}=tJ(e,t.frameRect),l=p(t,r,{lockAspectRatio:e.shiftKey,applyClickThreshold:!0});l&&n(t.frameId,{d:l,stroke:a.stroke,strokeWidth:a.strokeWidth,fill:a.fill,fillRule:t.shape.fillRule,isClosed:!0,opacity:a.opacity,lineCap:a.lineCap,lineJoin:a.lineJoin},{recordHistory:!0,batchId:t.batchId})}}
3,[r,t,h,l,n,p,a,m]),g=(0,i.useCallback)((e,t,r,l)=>x(e,t,r,l),[x]);return(0,i.useMemo)(()=>({preview:c,getHandlersForFrame:g}),[g,c])})({activeTool:rd,activeShape:rc,onActivateFrame:ek.setActiveFrame,onCommitPath:ek.addShapePath,style:l9,zoom:Y}),ia=(e=>{let{activeTool:t,getFrameDrawing:r,onActivateFrame:l,onAddText:n,onSelectObjects:a,onStartEditingText:o,style:s,idGenerator:d,zoom:u=1}=e,c=(0,i.useRef)(null),f=(0,i.useRef)(!1),h=(0,i.useRef)(0),p=(0,i.useCallback)(()=>{c.current=null,f.current=!1},[]);(0,i.useEffect)(()=>{"text"!==t&&p()},[t,p]);let m=(0,i.useCallback)((e,i,m,x)=>"text"!==t?null:{onPointerDown:t=>{if(0!==t.button)return;let{rowPoint:n,framePoint:s}=t1(t,i);if(!ti(e,m,n))return;null==l||l(e);let d=td(r(e),s);if((null==d?void 0:d.type)==="text"){t.preventDefault(),p(),a([d.id]),null==o||o(e,d.id,d.text);return}t.preventDefault(),t.currentTarget.setPointerCapture(t.pointerId),f.current=!1,h.current+=1,c.current={frameId:e,pointerId:t.pointerId,frameRect:i,startPoint:s,batchId:`text:${e}:${h.current}`}},onPointerMove:e=>{let t=c.current;if(!t||t.pointerId!==e.pointerId)return;e.currentTarget.hasPointerCapture(e.pointerId)||e.currentTarget.setPointerCapture(e.pointerId);let{framePoint:r}=t1(e,t.frameRect),l=4/t0(u);Math.hypot(r.x-t.startPoint.x,r.y-t.startPoint.y)>=l&&(f.current=!0)},onPointerUp:e=>{let t=c.current;if(!t||t.pointerId!==e.pointerId)return;e.preventDefault(),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId);let{framePoint:r}=t1(e,t.frameRect),l=(e=>{let t,r,{startPoint:l,endPoint:i,zoom:n,didDrag:a}=e,o=4/t0(n),s=i.x-l.x,d=i.y-l.y;return a||Math.abs(s)>=o||Math.abs(d)>=o?{isAreaText:!0,x:Math.min(l.x,i.x),y:Math.min(l.y,i.y),maxWidth:(t=Math.abs(s),r=tQ.oN,Math.min(tQ.UO,Math.max(r,t)))}:{isAreaText:!1,x:l.x,y:l.y,maxWidth:void 0}})({startPoint:t.startPoint,endPoint:r,zoom:u,didDrag:f.current}),i=E(d),h={id:i,x:l.x,y:l.y,text:"",fontFamily:s.fontFamily??"Museo Sans Rounded",fontSize:s.fontSize??32,isBold:s.isBold??!1,textAlign:s.textAlign??"left",wrapMode:l.isAreaText?"word":"none",maxWidth:l.maxWidth,lineHeight:s.lineHeight,fill:s.fill,transform:(0,ed.D_)(),opacity:s.opacity};n(t.frameId,h,{recordHistory:!0,batchId:t.batchId}),a([i]),null==o||o(t.frameId,i,h.text),p()},onPointerLeave:e=>{let t=c.current;t&&t.pointerId===e.pointerId&&(e.currentTarget.hasPointerCapture(e.pointerId)||p())}},[t,p,r,d,l,n,a,o,s.fill,s.fontFamily,s.fontSize,s.isBold,s.lineHeight,s.opacity,s.textAlign,u]),x=(0,i.useCallback)((e,t,r,l)=>m(e,t,r,l),[m]);return(0,i.useMemo)(()=>({getHandlersForFrame:x}),[x])})({activeTool:rd,getFrameDrawing:e=>{var t;return null==(t=ev.frames[e])?void 0:t.drawing},onActivateFrame:ek.setActiveFrame,onAddText:ek.addText,onSelectObjects:ek.selectObjects,onStartEditingText:(e,t,r)=>{H.current={frameId:e,textId:t,text:r}},style:{fill:ry.stroke,opacity:ry.opacity},idGenerator:D,zoom:Y}),io=(0,i.useCallback)(e=>{var t,r;if(!e)return null;let l=((null==(r=ev.frames[e.frameId])||null==(t=r.drawing)?void 0:t.elements)??[]).find(t=>t.id===e.textId);return(null==l?void 0:l.type)==="text"?l:null},[ev.frames]),is=(0,i.useCallback)(function(e,t){var r;let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=ev.frames[e],n=null==i||null==(r=i.drawing)?void 0:r.elements.find(e=>"text"===e.type&&e.id===t),a=(null==n?void 0:n.text)??l;L.current=a,r5(a),r2({frameId:e,textId:t}),ek.setActiveFrame(e),ek.selectObjects([t])},[ek,ev.frames]),id=(0,i.useCallback)(()=>{if(!r1)return;let e=io(r1);if(r2(null),e){if(0===r3.trim().length){ek.deleteElement(r1.frameId,r1.textId,{recordHistory:!0}),ek.clearSelection();return}r3!==e.text&&ek.updateText(r1.frameId,r1.textId,{text:r3},{recordHistory:!0})}},[ek,r3,r1,io]),iu=(0,i.useCallback)(()=>{r1&&(r5(L.current),r2(null))},[r1]),ic=(0,i.useCallback)(()=>{r1&&(ek.deleteElement(r1.frameId,r1.textId,{recordHistory:!0}),ek.clearSelection(),r2(null))},[ek,r1]),ih=(0,i.useCallback)((e,t,r,l)=>"pan"!==rd?null:{onPointerDown:e=>{if("mouse"===e.pointerType&&0!==e.button)return;let t=N.current;t&&(e.preventDefault(),U.current={pointerId:e.pointerId,startClientX:e.clientX,startClientY:e.clientY,startScrollLeft:t.scrollLeft,startScrollTop:t.scrollTop},e.currentTarget.setPointerCapture(e.pointerId))},onPointerMove:e=>{let t=U.current;if(!t||t.pointerId!==e.pointerId)return;let r=N.current;if(!r)return;e.preventDefault();let l=e.clientX-t.startClientX,i=e.clientY-t.startClientY;r.scrollLeft=t.startScrollLeft-l,r.scrollTop=t.startScrollTop-i},onPointerUp:e=>{let t=U.current;t&&t.pointerId===e.pointerId&&(e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),U.current=null)},onPointerLeave:e=>{let t=U.current;t&&t.pointerId===e.pointerId&&(e.currentTarget.hasPointerCapture(e.pointerId)||(U.current=null))}},[rd]),ip=(e=>{let{activeTool:t,selectedFrameId:r,selectedObjectId:l,getFrameDrawing:n,onSelectObjects:a,onUpdatePath:o,onUpdateText:s,onStartEditingText:d}=e,[u,c]=(0,i.useState)(null),[f,h]=(0,i.useState)(null),p=(0,i.useRef)(null),m=(0,i.useCallback)(()=>
3{if(!r||!l)return null;let e=n(r),t=null==e?void 0:e.elements.find(e=>e.id===l);return t&&("path"===t.type||"text"===t.type)?t:null},[n,r,l])(),x=f&&f.frameId===r&&f.objectId===l?f.matrix:void 0,g=(0,i.useMemo)(()=>{if("select"!==t||!r||!l||!m)return null;let e=tV(m,x);return e?{frameId:r,objectId:l,bbox:e}:null},[t,r,l,m,x]),y=(0,i.useCallback)(()=>{p.current=null,h(null)},[]);(0,i.useEffect)(()=>{"select"!==t&&(c(null),y())},[t,y]),(0,i.useEffect)(()=>{h(e=>e&&(e.frameId!==r||e.objectId!==l)?null:e)},[r,l]);let v=(0,i.useCallback)((e,r,i,u)=>{if(!u||"select"!==t)return null;let f=(e,t)=>{if("move"===e.mode){let r=t.x-e.startPoint.x,l=t.y-e.startPoint.y;return(0,ed.MT)((0,ed.D_)(),r,l)}let r=tq(e.startBBox);if("rotate"===e.mode){let l=e.startAngle??0,i=Math.atan2(t.y-r.y,t.x-r.x);return(0,ed.lB)((0,ed.D_)(),i-l,r)}let l=e.startVector??{x:1,y:1},i={x:t.x-r.x,y:t.y-r.y},n=1e-4>Math.abs(l.x)?1:i.x/l.x,a=1e-4>Math.abs(l.y)?1:i.y/l.y;return(0,ed.CI)((0,ed.D_)(),n,a,r)},x=t=>{let{rowPoint:l,framePoint:a}=tX(t,r);if(!ti(e,i,l))return null;let o=td(n(e),a);return o?{objectId:o.id,element:o}:null},v=(t,r,l,i,n,a)=>{let o=tq(a);p.current={frameId:e,objectId:l,pointerId:t,mode:r,startPoint:n,startBBox:a,startElement:i,startAngle:"rotate"===r?Math.atan2(n.y-o.y,n.x-o.x):void 0,startVector:"scale"===r?{x:n.x-o.x,y:n.y-o.y}:void 0}};return{onPointerDown:t=>{if(0!==t.button)return;let{framePoint:i}=tX(t,r),n=(e=>{if(!(e instanceof Element))return null;let t=e.closest("[data-handleid]");if(!t)return null;let r=t.dataset.handleid;return r&&r.length>0?r:null})(t.target);if(n&&g&&g.frameId===e&&g.objectId===l&&m){v(t.pointerId,"rotate"===n?"rotate":"scale",m.id,m,i,g.bbox),t.currentTarget.setPointerCapture(t.pointerId);return}let o=x(t);if(a(o?[o.objectId]:[]),!o)return void y();let s=tV(o.element);if(!s)return void y();v(t.pointerId,"move",o.objectId,o.element,i,s),t.currentTarget.setPointerCapture(t.pointerId)},onPointerMove:t=>{let l=p.current;if(l){if(l.pointerId!==t.pointerId)return;let{framePoint:e}=tX(t,r),i=f(l,e);h({frameId:l.frameId,objectId:l.objectId,matrix:i});return}let i=x(t);c(t=>i?t&&t.frameId===e&&t.objectId===i.objectId?t:{frameId:e,objectId:i.objectId}:t?null:t)},onPointerUp:e=>{let t,l=p.current;if(!l||l.pointerId!==e.pointerId)return;e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId);let{framePoint:i}=tX(e,r),n=f(l,i);if(t=n,!((0,ed.q8)(t[0],1)&&(0,ed.q8)(t[1],0)&&(0,ed.q8)(t[2],0)&&(0,ed.q8)(t[3],1)&&(0,ed.q8)(t[4],0)&&(0,ed.q8)(t[5],0)))if("path"===l.startElement.type){let e=eh(l.startElement.d,n,{isClosed:l.startElement.isClosed});e&&o(l.frameId,l.objectId,{d:e})}else s(l.frameId,l.objectId,{transform:(0,ed.lw)(n,l.startElement.transform)});y()},onPointerLeave:()=>{p.current||c(e=>e?null:e)},onDoubleClick:t=>{let{rowPoint:l,framePoint:o}=tX(t,r);if(!ti(e,i,l))return;let s=td(n(e),o);s&&"text"===s.type&&(t.preventDefault(),a([s.id]),null==d||d(e,s.id,s.text))}}},[t,y,n,d,a,o,s,l,m,g]),w=(0,i.useCallback)((e,t,r,l)=>v(e,t,r,l),[v]);return(0,i.useMemo)(()=>({getHandlersForFrame:w,hoveredTarget:u,previewTransform:"select"===t?f:null,selectionOverlay:g}),[t,w,u,f,g])})({activeTool:rd,selectedFrameId:ta,selectedObjectId:tl,getFrameDrawing:e=>{var t;return null==(t=ev.frames[e])?void 0:t.drawing},onSelectObjects:ek.selectObjects,onUpdatePath:ek.updatePath,onUpdateText:ek.updateText,onStartEditingText:is}),im=(0,i.useMemo)(()=>{let e="select"===rd?ip.getHandlersForFrame:"pencil"===rd?ir.getHandlersForFrame:"shape"===rd?ii.getHandlersForFrame:"text"===rd?ia.getHandlersForFrame:"fill"===rd?il.getHandlersForFrame:ih;return(t,r,l,i)=>{let n=e(t,r,l,i);return r1?{onPointerDown:e=>{0===e.button&&(e.preventDefault(),id())},onPointerMove:void 0,onPointerUp:void 0,onPointerLeave:null==n?void 0:n.onPointerLeave}:n}},[rd,id,r1,il,ih,ir,ip,ii,ia]);(0,i.useEffect)(()=>{"pan"!==rd&&(U.current=null)},[rd]),(0,i.useEffect)(()=>{"text"!==rd&&(H.current=null)},[rd]),(0,i.useEffect)(()=>{var e,t;let r=H.current;r&&(null==(t=ev.frames[r.frameId])||null==(e=t.drawing)?void 0:e.elements.find(e=>"text"===e.type&&e.id===r.textId))&&(H.current=null,is(r.frameId,r.textId,r.text))},[ev.frames,is]),(0,i.useEffect)(()=>
3{if(!eS.current){eS.current=!0;return}if(e$.current){e$.current=!1;return}eE(e=>e+1)},[ev]);let ix=(0,i.useMemo)(()=>{var e,t;return ta&&tl?((null==(t=ev.frames[ta])||null==(e=t.drawing)?void 0:e.elements)??[]).find(e=>e.id===tl)??null:null},[ev.frames,ta,tl]),ig=(0,i.useMemo)(()=>io(r1),[r1,io]);(0,i.useEffect)(()=>{r1&&!ig&&r2(null)},[ig,r1]);let iy=(0,i.useMemo)(()=>{let e=new Map;return eC.forEach(t=>{t.frameRects.forEach(r=>{e.set(r.frameId,{rowId:t.rowId,frameRect:{x:r.x,y:r.y,width:r.width,height:r.height}})})}),e},[eC]),iv=r1?iy.get(r1.frameId)??null:null,iw=(0,i.useMemo)(()=>{if(!iv||!B.current)return null;for(let e of B.current.querySelectorAll("svg[data-row-id]"))if(e.dataset.rowId===iv.rowId)return e;return null},[en,iv,eC,Y]),ib=!!(r1&&ig),ik=(0,i.useCallback)(e=>{r1&&ek.updateText(r1.frameId,r1.textId,e,{recordHistory:!0})},[ek,r1]),iI=(null==ix?void 0:ix.type)==="path"?ix:null,iP="select"===rd&&!!(ta&&iI),iM=!!((null==iI?void 0:iI.stroke)&&"none"!==iI.stroke),iC=!!((null==iI?void 0:iI.fill)&&"none"!==iI.fill),iS=iM?(null==iI?void 0:iI.stroke)??ry.stroke:ry.stroke,i$=iC?(null==iI?void 0:iI.fill)??l8:l8,iR=(null==iI?void 0:iI.strokeWidth)??ry.strokeWidth,iE=(null==iI?void 0:iI.opacity)??1,ij=(0,i.useCallback)((e,t)=>{ta&&iI&&ek.updatePath(ta,iI.id,e,t)},[ek,ta,iI]),iF=(0,i.useCallback)(e=>{ij({stroke:e})},[ij]),iA=(0,i.useCallback)(e=>{ij({fill:e})},[ij]),iT=(0,i.useCallback)(e=>{ij({opacity:e})},[ij]),iD=rr({isOpen:rL,color:iS,opacity:iE,onColorChange:iF,onOpacityChange:iT}),iN=rr({isOpen:rG,color:i$,opacity:iE,onColorChange:iA,onOpacityChange:iT}),{setPickerToColor:iO}=iD,{setPickerToColor:iB}=iN,iW=(0,i.useCallback)(e=>{iP&&(e?lC(e):rF(null),iO(iS,iE),rz(!0),rZ(!1),rO(!1),rW(!1),rD(!1))},[iE,iS,lC,iO,iP]),iU=(0,i.useCallback)(e=>{iP&&(e?lC(e):rF(null),iB(i$,iE),rZ(!0),rz(!1),rO(!1),rW(!1),rD(!1))},[i$,iE,lC,iB,iP]),iH=(0,i.useCallback)(e=>{ij({stroke:e.hex,opacity:e.opacity}),rL&&iO(e.hex,e.opacity)},[rL,iO,ij]),iL=(0,i.useCallback)(e=>{ij({fill:e.hex,opacity:e.opacity}),rG&&iB(e.hex,e.opacity)},[rG,iB,ij]),iz=(0,i.useCallback)(e=>{iP&&e!==iC&&ij({fill:e?i$:"none"})},[i$,iC,iP,ij]),iG=(0,i.useCallback)(e=>{if(iP&&e!==iM){if(e)return void ij({stroke:iS,strokeWidth:iR});ij({stroke:"none"})}},[iS,iM,iR,iP,ij]),iZ=(0,i.useCallback)(e=>{if(!iP)return;let t=Math.max(1,Math.round(e));t!==iR&&ij({strokeWidth:t})},[iR,iP,ij]);(0,i.useEffect)(()=>{iP||(rz(!1),rZ(!1))},[iP]);let i_=iP?(0,l.jsx)(u.H,{fillEnabled:iC,onFillEnabledChange:iz,fillColor:i$,fillOpacity:iE,onFillColorClick:iU,fillSwatchActive:rG,strokeEnabled:iM,onStrokeEnabledChange:iG,strokeColor:iS,strokeOpacity:iE,onStrokeColorClick:iW,strokeSwatchActive:rL,strokeWidth:iR,strokeMin:1,strokeMax:48,strokeStep:1,onStrokeWidthChange:iZ,strokeSliderAriaLabel:"Stroke width",strokeSliderLabelPosition:"left"}):null,iX=ib&&ig?(0,l.jsx)(lc,{textElement:ig,onChange:ik}):null,iY=(0,i.useMemo)(()=>{var e,t;if(!ta||!tl)return null;let r=((null==(t=ev.frames[ta])||null==(e=t.drawing)?void 0:e.elements)??[]).filter(l3),l=r.findIndex(e=>e.id===tl);return l<0?null:{index:l,count:r.length}},[ev.frames,ta,tl]),iV=!!(ta&&ix&&l3(ix)),iq=!!(ta&&rQ),iK=!!(iV&&iY&&iY.index>0),iJ=!!(iV&&iY&&iY.index<iY.count-1),iQ="select"===rd&&!ib&&(iV||iq),i0=(0,i.useCallback)(()=>{ix&&l3(ix)&&r0({...ix})},[ix]),i1=(0,i.useCallback)(()=>{if(!ta||!rQ)return;let e=ek.pasteElement(ta,rQ);e&&ek.selectObjects([e])},[ek,rQ,ta]),i2=(0,i.useCallback)(()=>{ta&&tl&&(ek.deleteElement(ta,tl),ek.clearSelection())},[ek,ta,tl]),i3=(0,i.useCallback)(()=>{ta&&tl&&ek.reorderElement(ta,tl,"top")},[ek,ta,tl]),i6=(0,i.useCallback)(()=>{ta&&tl&&ek.reorderElement(ta,tl,"bottom")},[ek,ta,tl]),i5=(0,i.useCallback)(async e=>{if(!ta||_.current)return;let t=eb.frameRects[ta];if(t){_.current=!0,rV(!0);try{let r=await ll(e);if(!r)return;let l=[1,0,0,1,t.width/2,t.height/2],i=((e,t)=>{try{let r=(0,li.ne)(e);if(!r.ok)return"";let l=r.subpaths.map(e=>({...e,segments:e.segments.map(e=>{let r,l;return r=e,l=t,"line"===r.kind?{kind:"line",p0:(0,ed.MZ)(l,r.p0),p1:(0,ed.MZ)(l,r.p1)}:{kind:"cubic",p0:(0,ed.MZ)(l,r.p0),p1:(0,ed.MZ)(l,r.p1),p2:(0,ed.MZ)(l,r.p2),p3:(0,ed.MZ)(l,r.p3)}})})).filter(e=>e.segments.length>0);if(0===l.length)return"";return(0,li.FW)(l)}catch{return""}})(r,l)||eh(r,l,{isClosed:!0});if(!i)return;let n=E(D);z.current+=1,ek.addShapePath(ta,{id:n,d:i,stroke:"#000000",strokeWidth:2,fill:"#FFFFFF",isClosed:!0,opacity:1,lineCap:l9.lineCap,lineJoin:l9.lineJoin},{recordHistory:!0,batchId:`speech-balloon:${ta}:${z.current}`}),ek.selectObjects([n]),l_("select")}finally{_.current=!1,rV(!1)}}},[ek,D,eb.frameRects,ta,l9.lineCap,l9.lineJoin,l_]),i4=!!(ta&&eb.frameRects[ta]&&!rY),i8=ev.rows.length<40,i7=ev.rows.length>1,i9=(0,i.useCallback)(e=>{i8&&ek.duplicateRow(e)},[ek,i8]),ne=(0,i.useCallback)(e=>{if(ev.rows.length<=1)return;let t=ev.rows.findIndex(t=>t.id===e);if(t<0)return;let r=ev.rows[t];if(ew.activeFrameId&&r.frameIds.includes(ew.activeFrameId)){var l,i;let e=(null==(l=ev.rows[t+1])?void 0:l.frameIds[0])??(null==(i=ev.rows[t-1])?void 0:i.frameIds[0])??null;
3ek.setActiveFrame(e),ek.clearSelection()}ek.removeRow(e)},[ek,ev.rows,ew.activeFrameId]),nt=(0,i.useCallback)(e=>{if(ev.rows.length<=1)return;let t=ev.rows.find(t=>t.id===e);if(t){if(t.frameIds.some(e=>{var t,r;let l=null==(r=ev.frames[e])||null==(t=r.drawing)?void 0:t.elements;return!!(l&&l.length>0)}))return void rX(e);ne(e)}},[ev.frames,ev.rows,ne]),nr=(0,i.useCallback)(()=>{r_&&(ne(r_),rX(null))},[ne,r_]),nl=(0,i.useCallback)(()=>{rX(null)},[]);(0,i.useEffect)(()=>{let e=e=>{if(e.defaultPrevented||eU(e.target)||ib)return;let t=e.metaKey||e.ctrlKey,r=e.key.toLowerCase();if("select"===rd&&t&&!e.shiftKey&&!e.altKey&&"c"===r&&iV){e.preventDefault(),i0();return}if("select"===rd&&t&&!e.shiftKey&&!e.altKey&&"v"===r&&iq){e.preventDefault(),i1();return}let l=(e=>{if(e.defaultPrevented||eU(e.target)||!(e.metaKey||e.ctrlKey))return null;let t=e.key.toLowerCase();return"z"===t?e.shiftKey?"redo":"undo":"y"===t&&e.ctrlKey&&!e.metaKey?"redo":null})(e);if(l){if(e.preventDefault(),"undo"===l){eI&&ek.undo();return}eP&&ek.redo()}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[ek,rd,iV,iq,eP,eI,i0,i1,ib]);let ni=iQ?(0,l.jsx)(ld.r,{showDuplicate:!1,canDuplicate:iV,canCopy:iV,canPaste:iq,canDelete:iV,canSendToTop:iJ,canSendToBottom:iK,onCopy:i0,onPaste:i1,onDelete:i2,onSendToTop:i3,onSendToBottom:i6}):null;(0,i.useEffect)(()=>{var e;if(ew.activeFrameId)return;let t=(null==(e=ev.rows[0])?void 0:e.frameIds[0])??null;t&&ek.setActiveFrame(t)},[ev.rows,ew.activeFrameId,ek]),(0,i.useEffect)(()=>{!q&&0!==eR&&e7()&&(tt||tr)&&e4()},[eR,e7,tr,e4,q,tt]),(0,i.useEffect)(()=>{void 0!==T&&(T!==J&&(Q(T),et(T)),K(!1))},[J,T]),(0,i.useEffect)(()=>{if(null===ee){er.current=!1;return}if(e9){er.current=!0;return}er.current&&J===ee&&(et(null),er.current=!1)},[J,e9,ee]);let nn=(0,i.useCallback)(async()=>{for(;te.current;)await new Promise(e=>{setTimeout(e,50)})},[te]),na=(0,i.useCallback)(async()=>{te.current&&await nn(),e7()&&(tt||tr)&&await e8()},[e8,e7,tr,te,tt,nn]);(0,i.useEffect)(()=>(F.current={saveBeforeClose:async()=>{await na()},isSaving:()=>te.current},()=>{F.current=null}),[na,te]);let no=(0,i.useCallback)(()=>{j.replace("/create/webtoon-maker"),et(null),K(!0)},[j]),ns=(0,i.useCallback)(()=>{j.replace("/create/webtoon-maker"),Q(void 0),et(null),e1((e=>{let t={...I,frameStyle:{...I.frameStyle}},r=$(e),l=R(e);return{schemaVersion:1,settings:t,rows:[{id:r,templateId:ri,heightUnits:1,frameIds:[l]}],frames:{[l]:{id:l,viewBox:{x:0,y:0,width:t.pageWidthPx,height:t.defaultFrameHeightPx},background:{type:"solid",color:"#ffffff"},drawing:{elements:[]}}}}})(D)),K(!1)},[e1,D,j]),nd=(0,i.useCallback)(e=>{let t=l6(e.id);if(t){if(t===J){et(null),K(!1);return}Q(t),et(t),j.replace(`/create/webtoon-maker?projectId=${t}`),K(!1)}},[J,j]),nu=(0,i.useCallback)(async()=>{if(!eD){eH(null),eY(null),eB(!0);try{let t=await lK({rows:eC.map(e=>({rowId:e.rowId,rowHeightPx:e.height,frames:e.frameRects.map(e=>({frameId:e.frameId,x:e.x,y:e.y,width:e.width,height:e.height,path:e.path,drawing:e.drawing}))})),rowGapPx:ev.settings.rowGapPx,pageWidthPx:ev.settings.pageWidthPx,frameStyle:ev.settings.frameStyle,isMobileDevice:A});if(t.abortedReason)return void eQ("error",l0(t.abortedReason));if(t.failedPages.length>0){var e;let r=l0(null==(e=t.failedPages[0])?void 0:e.error);if(t.successfulDownloads>0)return void eQ("error",`Exported ${t.successfulDownloads} of ${t.totalPages} pages. ${r}`);eQ("error",r);return}if(t.successfulDownloads>0){let e,r,l,i="zip"===t.deliveryMode?(e=t.successfulDownloads,(r=t.archiveFilename)?`Exported ${e} page${1===e?"":"s"} as ZIP (${r}).`:`Exported ${e} page${1===e?"":"s"} as ZIP.`):(l=t.successfulDownloads,`Exported ${l} page${1===l?"":"s"}.`);eQ("success",i);return}eQ("error","Nothing to export yet. Add at least one row and try again.")}catch{eQ("error",lQ)}finally{eB(!1)}}},[ev.settings.frameStyle,ev.settings.pageWidthPx,ev.settings.rowGapPx,eD,A,eC,eQ]),nc=!q&&void 0!==J&&(e9||ee===J),nf=(0,l.jsx)(ls.W,{visible:!!eF,children:eF?(0,l.jsx)("div",{className:"rounded-[var(--radius-12)] border-2 border-primary-red bg-primary-red/10 px-[var(--space-16)] py-[var(--space-10)] text-small text-primary-xx-dark",role:"status",children:eF}):null}),nh=(0,l.jsx)(ls.W,{visible:!!(eW||eL),children:eW?(0,l.jsx)("div",{className:"rounded-[var(--radius-12)] border-2 border-primary-red bg-primary-red/10 px-[var(--space-16)] py-[var(--space-10)] text-small text-primary-xx-dark",role:"status",children:eW}):eL?(0,l.jsx)("div",{className:"rounded-[var(--radius-12)] border-2 border-primary-green bg-primary-green/10 px-[var(--space-16)] py-[var(--space-10)] text-small text-primary-xx-dark",role:"status",children:eL}):null});return q?(0,l.jsx)(lx.A,{onBack:()=>K(!1),onStartNew:ns,onResumeLast:ns,onOpenProject:nd}):(0,l.jsxs)(a.Ay,{tool:"webtoon",isMobile:A,toolRef:F,hidePostButton:!0,showDownloadButton:!0,onDownload:nu,onNewProject:no,children:[(0,l.jsxs)("div",{className:"relative flex min-h-0 flex-1 flex-col bg-primary-white","data-zoom":Y,children:[nc?(0,l.jsx)(lo.A,{text:"Loading project..."}):null,nf,nh,ni?(0,l.jsx)("div",{className:"pointer-events-none absolute inset-x-0 top-[var(--space-16)] z-30 flex justify-center px-[var(--space-16)]",children:(0,l.jsx)("div",{className:"pointer-events-auto",children:ni})}):null,(0,l.jsx)("div",{className:"pointer-events-none absolute left-[calc(var(--space-20)+env(safe-area-inset-left,0px))] top-[calc(var(--space-20)+env(safe-area-inset-top,0px))] z-20",children:(0,l.jsx)("div",{className:"pointer-events-auto",children:(0,l.jsx)(k.A,{undo:ek.undo,redo:ek.redo,canUndo:eI,canRedo:eP})})}),(0,l.jsx)("div",{ref:N,className:"flex-1 min-h-0 overflow-y-auto",children:(0,l.jsx)("div",{className:"flex w-full justify-center",style:{paddingBottom:`${em+16}px`},children:(0,l.jsxs)("div",{ref:O,className:"relative",style:{width:eg?`${eg}px`:void 0,height:ey?`${ey}px`:void 0},children:[(0,l.jsx)("div",{ref:B,className:"flex flex-col gap-4 px-4 py-4",style:{maxWidth:v.DI,width:eu?`${eu}px`:void 0,transform:`scale(${Y})`,transformOrigin:"top left"},children:(0,l.jsx)(rI,{rows:eC,frameStyle:ev.settings.frameStyle,pageWidth:ev.settings.pageWidthPx,rowGapPx:ev.settings.rowGapPx,canAddRow:i8,canDeleteRow:i7,onDuplicateRow:i8?i9:void 0,onDeleteRow:nt,onFrameClick:e=>ek.setActiveFrame(e),onAddRowClick:()=>{i8&&tg(!0)},activeTool:rd,selectedObjectIds:ew.selectedObjectIds,selectHoverTarget:ib||"select"!==rd?null:ip.hoveredTarget,selectionOverlay:ib||"select"!==rd?null:ip.selectionOverlay,selectionPreviewTransform:ib||"select"!==rd?null:ip.previewTransform,getFramePointerHandlers:im,preview:"pencil"===rd?ir.preview:null,
3shapePreview:"shape"===rd?ii.preview:null,zoom:Y,fillHoverFrameId:"fill"===rd?(null==(M=il.hoveredPath)?void 0:M.frameId)??null:null})}),ib&&ig&&iv?(0,l.jsx)(lm,{rowSvg:iw,container:O.current,frameRect:iv.frameRect,textElement:ig,value:r3,onChange:r5,onCommit:id,onCancel:iu,onDelete:ic}):null]})})}),(0,l.jsxs)("div",{ref:W,className:"pointer-events-none absolute inset-x-0 bottom-0 z-10 flex flex-col items-center px-4 pb-[calc(var(--space-16)+env(safe-area-inset-bottom,0px))]",children:[rT||rN||rB||rU||rL||rG||iP||iX||ie?(0,l.jsx)("div",{className:"pointer-events-auto mb-2",children:(0,l.jsxs)("div",{ref:rs,className:"relative inline-flex flex-col items-center gap-[var(--space-10)]",children:[rN?(0,l.jsx)(rM,{isOpen:rN,title:"Pick the Brush Color",width:r8,style:lq(r8),baseTransform:"translateX(-50%)",onClose:lR,recentColors:rE,onRecentColorSelect:lD,picker:le}):null,rB?(0,l.jsx)(rM,{isOpen:rB,title:"Pick the Fill Color",width:r8,style:lq(r8),baseTransform:"translateX(-50%)",onClose:lE,recentColors:rE,onRecentColorSelect:lN,picker:lt}):null,rU?(0,l.jsx)(rM,{isOpen:rU,title:"Pick a Background Color",width:r8,style:lq(r8),baseTransform:"translateX(-50%)",onClose:lT,recentColors:rE,onRecentColorSelect:lO,picker:lw}):null,rL?(0,l.jsx)(rM,{isOpen:rL,title:"Pick the Stroke Color",width:r8,style:lq(r8),baseTransform:"translateX(-50%)",onClose:()=>rz(!1),recentColors:rE,onRecentColorSelect:iH,picker:iD}):null,rG?(0,l.jsx)(rM,{isOpen:rG,title:"Pick the Fill Color",width:r8,style:lq(r8),baseTransform:"translateX(-50%)",onClose:()=>rZ(!1),recentColors:rE,onRecentColorSelect:iL,picker:iN}):null,"shape"===rd&&rT?(0,l.jsx)(r7,{isOpen:rT,activeShapeId:rf,onSelect:rh,onClose:()=>rD(!1),style:lq(),baseTransform:"translateX(-50%)"}):null,it,i_,iX]})}):null,(0,l.jsx)("div",{className:"pointer-events-auto flex items-center",children:(0,l.jsx)(d.M,{sections:[[(0,l.jsx)(y.IB,{label:"Pan",onClick:()=>l_("pan"),isActive:"pan"===rd,children:(0,l.jsx)(p.A,{className:"h-[var(--space-20)] w-[var(--space-20)]"})},"pan"),(0,l.jsx)(y.IB,{label:"Select",onClick:()=>l_("select"),isActive:"select"===rd,children:(0,l.jsx)(h.A,{className:"h-[var(--space-20)] w-[var(--space-20)]"})},"select"),(0,l.jsx)(y.Zd,{label:"Pencil",onClick:()=>l_("pencil"),isActive:"pencil"===rd,popoutIcon:(0,l.jsx)(c.A,{width:20,height:45,style:{color:l5}}),popoutOffset:12,popoutTop:5},"pencil"),(0,l.jsx)(y.Zd,{label:"Fill",onClick:()=>l_("fill"),isActive:"fill"===rd,popoutIcon:(0,l.jsx)(f.A,{width:25,height:44,style:{color:l4}}),popoutOffset:12,popoutTop:5},"fill")],[(0,l.jsxs)("div",{className:"flex h-full items-center",children:[(0,l.jsx)(y.IB,{label:"Shape",onClick:()=>l_("shape"),isActive:"shape"===rd,children:rc?(0,l.jsx)("svg",{viewBox:rc.viewB
3ox,className:"h-[var(--space-20)] w-[var(--space-20)]",fill:"currentColor","aria-hidden":"true",children:(0,l.jsx)("path",{d:rc.d,fillRule:rc.fillRule})}):(0,l.jsx)("svg",{viewBox:"0 0 100 100",className:"h-[var(--space-20)] w-[var(--space-20)]",fill:"none",stroke:"currentColor",strokeWidth:"8","aria-hidden":"true",children:(0,l.jsx)("path",{d:"M10 75 L50 10 L90 75 Z",strokeLinejoin:"round"})})}),(0,l.jsx)("button",{type:"button","aria-label":"Shape library",onClick:()=>lX(),className:"flex cursor-pointer items-center justify-center",style:{width:14,height:42,color:"var(--color-primary-x-dark)"},children:(0,l.jsx)(l2,{})})]},"shape"),(0,l.jsx)(y.IB,{label:"Text",onClick:()=>l_("text"),isActive:"text"===rd,children:(0,l.jsx)(x.A,{className:"h-[var(--space-20)] w-[var(--space-20)]"})},"text"),(0,l.jsx)(y.IB,{label:"Speech Bubble",onClick:()=>{tw(e=>{let t=!e;return t&&lj(),t})},isActive:ty,children:(0,l.jsx)(m.A,{className:"h-[var(--space-20)] w-[var(--space-20)]"})},"speech-bubble"),(0,l.jsx)(y.IB,{label:"Background",onClick:()=>lZ(),isActive:tb,disabled:!tp,children:(0,l.jsx)(g.A,{className:"h-[var(--space-20)] w-[var(--space-20)]"})},"background")]]})})]}),(0,l.jsx)("div",{className:"fixed left-[var(--space-20)] bottom-[calc(var(--space-20)+env(safe-area-inset-bottom,0px))] z-20",children:(0,l.jsx)(ln.A,{zoom:Y,setZoom:e=>lY(e),viewOffset:{x:0,y:0},setViewOffset:()=>{},getCanvasRect:()=>null})})]}),(()=>{if(!tb)return null;let e=!!(ta&&ts&&!rq),t=(null==tu?void 0:tu.type)==="solid"?tu.color:null,r=(null==tu?void 0:tu.type)==="solid"?tu.opacity??1:null;return(0,l.jsx)(r6,{isOpen:tb,onClose:lj,width:A?320:400,closeOnClickOutside:!rU,recentColors:rE,onRecentColorSelect:lO,onOpenColorPicker:lF,activeSwatchHex:t,activeSwatchOpacity:r,picker:lw,mode:tT,onModeChange:lW,svgSourceKind:tO,onSvgSourceKindChange:lU,svgInputMode:tL,onSvgInputModeChange:lH,svgSourceValue:tY,onSvgSourceValueChange:lL,svgFit:t9,onSvgFitChange:lG,onApplySvg:lp,applySvgDisabled:!tp,svgSourceError:rt,selectedFrameId:ta,templatePreviewWidth:1e3,templatePreviewHeight:500,onApplyTemplateBackground:ly,applyTemplateBackgroundDisabled:!e,applyTemplateBackgroundLoading:rq})})(),tm&&(0,l.jsx)(s.m,{title:"Row layouts",onClose:()=>tg(!1),width:244,closeOnClickOutside:!0,children:(0,l.jsx)(r4,{onSelectLayout:e=>{i8&&ek.appendRow(e)},onClose:()=>tg(!1),settings:ev.settings})}),ty&&(0,l.jsx)(s.m,{title:"Speech balloon",onClose:()=>tw(!1),width:300,maxHeight:A?560:640,containerStyle:{height:A?560:640},closeOnClickOutside:!0,children:(0,l.jsx)(r9.A,{layout:"column",className:"h-full",onAddToScene:i5,addToSceneDisabled:!i4,addToSceneLoading:rY})}),(0,l.jsx)(la.A,{open:null!==r_,onClose:nl,onConfirm:nr,title:"Delete this row?",confirmLabel:"Delete row",cancelLabel:"Cancel",children:(0,l.jsx)("p",{className:"text-center text-medium font-medium text-primary-x-dark",children:"This row contains drawing content. You can undo this action."})})]})}},56362:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var l,i=r(12115);function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)({}).hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(null,arguments)}let a=e=>i.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},e),l||(l=i.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 19.369a8.01 8.01 0 0 1-4-6.94 8.01 8.01 0 0 1 5-7.428m0 11.935v4.005H5M16 5.572a8.01 8.01 0 0 1 4 6.94 8.01 8.01 0 0 1-5 7.428m0-11.935V4h4"})))},57716:e=>{var t=RegExp("[\\u200d\ud800-\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return t.test(e)}},67035:(e,t,r)=>{"use strict";function l(e,t){return e<<t|e>>>32-t}r.d(t,{Ay:()=>d});let i=function(e){let t=[0x5a827999,0x6ed9eba1,0x8f1bbcdc,0xca62c1d6],r=[0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0],i=new Uint8Array(e.length+1);i.set(e),i[e.length]=128;let n=Math.ceil(((e=i).length/4+2)/16),a=Array(n);for(let t=0;t<n;++t){let r=new Uint32Array(16);for(let l=0;l<16;++l)r[l]=e[64*t+4*l]<<24|e[64*t+4*l+1]<<16|e[64*t+4*l+2]<<8|e[64*t+4*l+3];a[t]=r}a[n-1][14]=(e.length-1)*8/0x100000000,a[n-1][14]=Math.floor(a[n-1][14]),a[n-1][15]=(e.length-1)*8|0;for(let e=0;e<n;++e){let i=new Uint32Array(80);for(let t=0;t<16;++t)i[t]=a[e][t];for(let e=16;e<80;++e)i[e]=l(i[e-3]^i[e-8]^i[e-14]^i[e-16],1);let n=r[0],o=r[1],s=r[2],d=r[3],u=r[4];for(let e=0;e<80;++e){let r=Math.floor(e/20),a=l(n,5)+function(e,t,r,l){switch(e){case 0:return t&r^~t&l;case 1:case 3:return t^r^l;case 2:return t&r^t&l^r&l}}(r,o,s,d)+u+t[r]+i[e]>>>0;u=d,d=s,s=l(o,30)>>>0,o=n,n=a}r[0]=r[0]+n>>>0,r[1]=r[1]+o>>>0,r[2]=r[2]+s>>>0,r[3]=r[3]+d>>>0,r[4]=r[4]+u>>>0}return Uint8Array.of(r[0]>>24,r[0]>>16,r[0]>>8,r[0],r[1]>>24,r[1]>>16,r[1]>>8,r[1],r[2]>>24,r[2]>>16,r[2]>>8,r[2],r[3]>>24,r[3]>>16,r[3]>>8,r[3],r[4]>>24,r[4]>>16,r[4]>>8,r[4])},n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,a=function(e){let t;if(!("string"==typeof e&&n.test(e)))throw TypeError("Invalid UUID");return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>
38,255&t,(t=parseInt(e.slice(24,36),16))/0x10000000000&255,t/0x100000000&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)};var o=r(47704);function s(e,t,r,l){var n=t,s=l;let d="string"==typeof e?function(e){let t=new Uint8Array((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t}(e):e,u="string"==typeof n?a(n):n;if("string"==typeof n&&(n=a(n)),n?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+d.length);if(c.set(u),c.set(d,u.length),(c=i(c))[6]=15&c[6]|80,c[8]=63&c[8]|128,r){if((s??=0)<0||s+16>r.length)throw RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`);for(let e=0;e<16;++e)r[s+e]=c[e];return r}return(0,o.k)(c)}s.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",s.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let d=s},69096:e=>{e.exports=function(e,t,r){var l=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var n=Array(i);++l<i;)n[l]=e[l+t];return n}},71624:(e,t,r)=>{var l=r(38208),i=r(57716),n=r(79608);e.exports=function(e){return i(e)?n(e):l(e)}},79608:e=>{var t="\ud800-\udfff",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",l="\ud83c[\udffb-\udfff]",i="[^"+t+"]",n="(?:\ud83c[\udde6-\uddff]){2}",a="[\ud800-\udbff][\udc00-\udfff]",o="(?:"+r+"|"+l+")?",s="[\\ufe0e\\ufe0f]?",d="(?:\\u200d(?:"+[i,n,a].join("|")+")"+s+o+")*",u=RegExp(l+"(?="+l+")|"+("(?:"+[i+r+"?",r,n,a,"["+t+"]"].join("|"))+")"+(s+o+d),"g");e.exports=function(e){return e.match(u)||[]}},81761:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var l,i=r(12115);function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)({}).hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(null,arguments)}let a=e=>i.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},e),l||(l=i.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:2,strokeWidth:1.8,d:"M9.167 2.79c-2.514.508-4.982 1.896-6.196 4.196-.358.678-.583 1.42-.735 2.172-.362 1.785-.32 3.677.316 5.384.635 1.708 1.894 3.212 3.552 3.966 1.076.49 2.642.651 3.829.735.687.048 1.226.644 1.157 1.33a3 3 0 0 1-.232.888 3.8 3.8 0 0 0 1.21-1.126c.122-.178.232-.369.402-.502.226-.177.525-.224.81-.266 1.87-.272 3.25-.572 4.929-1.493 3.328-1.825 4.5-5.93 3.395-9.381-1.555-4.857-6.633-6.562-11.392-6.062q-.521.054-1.045.16",clipRule:"evenodd"})))},84075:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>i});var l=r(95155);r(12115);let i=e=>{let{title:t,subtitle:r,yaweeSrc:i="https://cdn.diy.org/yawee-circle/grin.svg",yaweeSize:n=90,yaweeWiggle:a=!0,titleFontSize:o=30,titleClassName:s,titleColor:d="var(--color-primary-purple)",subtitleClassName:u="text-h5 font-bold text-center",subtitleColor:c="var(--color-primary-xx-dark)",gap:f=8,subtitleGap:h=8,className:p,style:m}=e;return(0,l.jsxs)("div",{className:`flex flex-col items-center ${p??""}`,style:{gap:f,...m},children:[(0,l.jsx)("style",{children:`
4        @keyframes yaweeHeadlineWiggleRotate {
5          0%, 100% { rotate: -5deg; }
6          50% { rotate: 5deg; }
7        }
8        @keyframes yaweeHeadlineWiggleTranslate {
9          0%, 100% { translate: 0 -4px; }
10          50% { translate: 0 4px; }
11        }
12        .yawee-headline-wiggle {
13          animation: yaweeHeadlineWiggleRotate 2.6s ease-in-out infinite,
14            yaweeHeadlineWiggleTranslate 3.8s ease-in-out infinite;
15          transform-origin: center;
16          will-change: rotate, translate;
17        }
18      `}),(0,l.jsx)("img",{src:i,alt:"",width:n,height:n,className:a?"yawee-headline-wiggle":void 0,style:{width:n,height:n,display:"block"}}),(0,l.jsx)("h2",{className:s??"font-bold text-center",style:{margin:0,lineHeight:1.15,color:d,...s?{}:{fontSize:o}},children:t}),null!=r&&(0,l.jsx)("p",{className:u,style:{margin:0,marginTop:h-f,color:c},children:r})]})}},84539:function(e,t,r){"use strict";var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(15384);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l(i).default}})},85620:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var l,i=r(12115);function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)({}).hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(null,arguments)}let a=e=>i.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 32 32"},e),l||(l=i.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M12.44 6.44a1.5 1.5 0 0 1 2.12 0l8.5 8.5a1.5 1.5 0 0 1 0 2.12l-8.5 8.5a1.5 1.5 0 0 1-2.12-2.12L19.878 16l-7.44-7.44a1.5 1.5 0 0 1 0-2.12",clipRule:"evenodd"})))},86144:(e,t,r)=>{var l=r(32438),i=r(28568);e.exports=function(e){return i(l(e).toLowerCase())}},91426:e=>{e.exports=function(e,t){for(var r=-1,l=null==e?0:e.length,i=Array(l);++r<l;)i[r]=t(e[r],r,e);return i}},92984:(e,t,r)=>{"use strict";r.d(t,{q:()=>s});let l=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t+=1){let r=t;for(let e=0;e<8;e+=1)r=(1&r)!=0?r>>>1^0xedb88320:r>>>1;e[t]=r>>>0}return e})(),i=async e=>{if("function"==typeof e.arrayBuffer)return new Uint8Array(await e.arrayBuffer());if("function"==typeof FileReader)return new Uint8Array(await new Promise((t,r)=>{let l=new FileReader;l.onerror=()=>r(Error("Failed to read ZIP entry blob with FileReader.")),l.onload=()=>
18{if(l.result instanceof ArrayBuffer)return void t(l.result);r(Error("FileReader did not return an ArrayBuffer."))},l.readAsArrayBuffer(e)}));throw Error("Blob arrayBuffer is unavailable in this environment.")},n=e=>{let t=new Uint8Array(30+e.filenameBytes.length),r=new DataView(t.buffer);return r.setUint32(0,0x4034b50,!0),r.setUint16(4,20,!0),r.setUint16(6,2048,!0),r.setUint16(8,0,!0),r.setUint16(10,e.dosTime,!0),r.setUint16(12,e.dosDate,!0),r.setUint32(14,e.crc32,!0),r.setUint32(18,e.size,!0),r.setUint32(22,e.size,!0),r.setUint16(26,e.filenameBytes.length,!0),r.setUint16(28,0,!0),t.set(e.filenameBytes,30),t},a=e=>{let t=new Uint8Array(46+e.filenameBytes.length),r=new DataView(t.buffer);return r.setUint32(0,0x2014b50,!0),r.setUint16(4,20,!0),r.setUint16(6,20,!0),r.setUint16(8,2048,!0),r.setUint16(10,0,!0),r.setUint16(12,e.dosTime,!0),r.setUint16(14,e.dosDate,!0),r.setUint32(16,e.crc32,!0),r.setUint32(20,e.size,!0),r.setUint32(24,e.size,!0),r.setUint16(28,e.filenameBytes.length,!0),r.setUint16(30,0,!0),r.setUint16(32,0,!0),r.setUint16(34,0,!0),r.setUint16(36,0,!0),r.setUint32(38,0,!0),r.setUint32(42,e.localFileHeaderOffset,!0),t.set(e.filenameBytes,46),t},o=(e,t)=>{if(e<0||e>0xffffffff)throw Error(`${t} exceeds ZIP32 limit.`)},s=async e=>{let{dosDate:t,dosTime:r}=(e=>{let t=Math.min(2107,Math.max(1980,e.getFullYear())),r=Math.min(12,Math.max(1,e.getMonth()+1)),l=Math.min(31,Math.max(1,e.getDate())),i=Math.min(23,Math.max(0,e.getHours()));return{dosTime:i<<11|Math.min(59,Math.max(0,e.getMinutes()))<<5|Math.min(59,Math.max(0,e.getSeconds()))>>1,dosDate:t-1980<<9|r<<5|l}})(new Date),s=await Promise.all(e.map(async(e,t)=>{let r=(e=>{let t=[];for(let r of e){let e=r.codePointAt(0);if(void 0!==e){if(e<=127){t.push(e);continue}if(e<=2047){t.push(192|e>>6),t.push(128|63&e);continue}if(e<=65535){t.push(224|e>>12),t.push(128|e>>6&63),t.push(128|63&e);continue}t.push(240|e>>18),t.push(128|e>>12&63),t.push(128|e>>6&63),t.push(128|63&e)}}return Uint8Array.from(t)})(((e,t)=>{let r=e.trim();return r.length>0?r:`file-${t+1}`})(e.filename,t)),n=await i(e.blob),a={filenameBytes:r,fileBytes:n,crc32:(e=>{let t=0xffffffff;for(let r=0;r<e.length;r+=1)t=t>>>8^l[(t^e[r])&255];return(0xffffffff^t)>>>0})(n),size:n.length};return(e=>{if(e.filenameBytes.length>65535)throw Error("ZIP entry filename is too long.");o(e.size,"ZIP entry size")})(a),a}));((e,t)=>{if(e<0||e>65535)throw Error(`${t} exceeds ZIP32 entry limit.`)})(s.length,"ZIP entry count");let d=[],u=[],c=0;for(let e of s){let l=n({filenameBytes:e.filenameBytes,crc32:e.crc32,size:e.size,dosTime:r,dosDate:t}),i=c;d.push(l,e.fileBytes),o(c+=l.length+e.fileBytes.length,"ZIP local section size");let s=a({filenameBytes:e.filenameBytes,crc32:e.crc32,size:e.size,dosTime:r,dosDate:t,localFileHeaderOffset:i});u.push(s)}let f=u.reduce((e,t)=>e+t.length,0);o(f,"ZIP central directory size");let h=c;return o(h,"ZIP central directory offset"),new Blob([(e=>{let t=new Uint8Array(e.reduce((e,t)=>e+t.length,0)),r=0;for(let l of e)t.set(l,r),r+=l.length;return t})([...d,...u,(e=>{let t=new Uint8Array(22),r=new DataView(t.buffer);return r.setUint32(0,0x6054b50,!0),r.setUint16(4,0,!0),r.setUint16(6,0,!0),r.setUint16(8,e.totalEntries,!0),r.setUint16(10,e.totalEntries,!0),r.setUint32(12,e.centralDirectorySize,!0),r.setUint32(16,e.centralDirectoryOffset,!0),r.setUint16(20,0,!0),t})({totalEntries:s.length,centralDirectorySize:f,centralDirectoryOffset:h})])],{type:"application/zip"})}},95918:(e,t,r)=>{var l=r(69096);e.exports=function(e,t,r){var i=e.length;return r=void 0===r?i:r,!t&&r>=i?e:l(e,t,r)}}}]);
19//# chunkId=01a09f3b-a2e6-77f3-a9cb-7730f3ae8502

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.