1import{d as wt,r as s,u as yt,b as kt,f as Ce,c as $t,e as _t,D as ce,v as Ct,P as Mt,x as zt,g as b,h as Xe,i as t,y as z,z as d,t as a,w as Me,B as p,H as ze,G as Ye,C as h,Q as Se,F as St,A as It,k as be,R as Je,S as Qe,_ as Nt,o as g,q as jt}from"./DzfUrCz9.js";const Ut={class:"h-screen flex flex-col bg-slate-900 text-slate-200 overflow-hidden font-sans selection:bg-red-500 selection:text-white"},Et={class:"flex-grow flex relative overflow-hidden bg-[#f0f0f0]"},Vt={class:"text-[9px] font-bold uppercase tracking-wider text-center w-full truncate px-1"},Rt={class:"text-[9px] font-bold uppercase tracking-wider text-center w-full truncate px-1"},Ht={class:"text-[9px] font-bold uppercase tracking-wider text-center w-full truncate px-1"},Bt={key:0,class:"absolute inset-0 flex items-center justify-center z-10 p-4"},Lt={class:"text-lg md:text-xl font-bold text-slate-700 mb-2"},At={class:"text-sm text-slate-500"},Dt=["src"],Tt={class:"text-sm font-bold text-slate-700 flex items-center gap-2"},Ft={class:"flex border-b border-slate-200 bg-slate-50/50"},Wt={class:"p-4 max-h-[60vh] overflow-y-auto custom-scrollbar"},Pt={class:"space-y-4 divide-y divide-slate-100"},Ot={class:"space-y-3 pt-2"},Gt={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},qt={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},Xt={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},Yt={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},Jt={class:"flex items-center gap-2"},Qt={class:"text-xs text-slate-500 font-mono"},Kt={class:"space-y-3 pt-4"},Zt={class:"text-xs text-slate-400 uppercase font-bold tracking-wider block"},el={class:"space-y-2"},tl={class:"flex items-center gap-2 cursor-pointer"},ll={class:"text-sm text-slate-600"},ol={class:"flex items-center gap-2 cursor-pointer"},sl={class:"text-sm text-slate-600"},al={key:0,class:"pl-6"},nl=["placeholder"],rl={class:"flex items-center gap-2 cursor-pointer"},il={class:"text-sm text-slate-600"},ul={key:1,class:"pl-6"},dl=["placeholder"],vl={class:"space-y-6 pt-2"},pl={class:"space-y-3"},cl={class:"text-sm font-semibold text-slate-700 pb-1 border-b border-slate-100"},bl={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},gl={class:"flex items-center gap-2"},ml={class:"text-xs text-slate-500 font-mono"},xl={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},fl={class:"space-y-3"},hl={class:"text-sm font-semibold text-slate-700 pb-1 border-b border-slate-100"},wl={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},yl={class:"flex items-center gap-2"},kl={class:"text-xs text-slate-500 font-mono"},$l={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},_l=["title"],Cl={class:"absolute right-full mr-2 top-1/2 -translate-y-1/2 bg-slate-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none hidden md:block"},Ml={class:"absolute right-full mr-2 top-1/2 -translate-y-1/2 bg-slate-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none hidden md:block"},zl=["disabled"],Sl=["disabled"],Il=["title"],Nl={key:0,class:"absolute right-full mr-4 top-0 w-64 bg-white rounded-lg shadow-xl border border-slate-200 z-50 p-2 max-h-96 overflow-y-auto"},jl={class:"text-xs font-bold text-slate-400 uppercase tracking-wider mb-2 px-2"},Ul={key:0,class:"text-xs text-slate-500 px-2 py-1"},El={class:"space-y-1"},Vl=["onClick"],Rl={class:"flex items-center gap-2"},Hl={class:"text-[10px] text-slate-400"},Bl=["title"],Ll={class:"absolute right-full mr-2 top-1/2 -translate-y-1/2 bg-slate-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none hidden md:block"},Al={class:"font-bold text-slate-700 text-sm uppercase tracking-wider"},Dl={class:"p-4 max-h-[60vh] overflow-y-auto"},Tl={key:0,class:"space-y-6"},Fl={class:"flex bg-slate-100 p-1 rounded-lg"},Wl={key:0,class:"space-y-4"},Pl={class:"grid grid-cols-2 gap-4"},Ol={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},Gl={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},ql={class:"text-center text-xs text-slate-500"},Xl={class:"font-bold text-slate-700"},Yl={class:"font-bold text-slate-700"},Jl={key:1,class:"space-y-4"},Ql={class:"grid grid-cols-2 gap-4"},Kl={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},Zl={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},eo={class:"text-center text-xs text-slate-500"},to={class:"font-bold text-slate-700"},lo={class:"font-bold text-slate-700"},oo={class:"space-y-3 pt-2 border-t border-slate-100"},so={class:"flex items-center gap-2"},ao={class:"text-sm text-slate-600 select-none"},no={class:"flex items-center gap-2"},ro={class:"text-sm text-slate-600 select-none"},io={key:0,class:"text-xs text-red-500 font-bold bg-red-50 px-2 py-1 rounded"},uo=["disabled"],vo={key:1,class:"space-y-6"},po={class:"grid grid-cols-3 gap-2"},co={class:"grid grid-cols-2 gap-4"},bo=["value"],go=["value"],mo={key:2,class:"space-y-6"},xo={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-3 block"},fo={class:"flex gap-2 mb-4"},ho={class:"mb-2"},wo={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},yo={class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-3 block"},ko={class:"flex gap-2"},Co=wt({__name:"image-editor",setup($o){let Ie;const v=s(null),r=s(null),y=s(null),k=s(null),ae=s(1),ne=s(1),{t:U}=yt(),m=kt(),T=Ce(()=>({name:m.site.name,name_upper:m.site.name.toUpperCase(),domain:m.site.domain,domain_upper:m.site.domain.toUpperCase(),url:m.site.url,email:m.site.contact.email,x_handle:m.site.contact.xHandle}));$t({title:()=>`${U("image_editor.title",T.value)} - ${m.site.name}`,ogTitle:()=>`${U("image_editor.title",T.value)} - ${m.site.name}`,description:()=>U("image_editor.desc",T.value),ogDescription:()=>U("image_editor.desc",T.value),ogImage:m.site.ogImage,twitterCard:"summary_large_image"}),_t({script:[{type:"application/ld+json",innerHTML:Ce(()=>JSON.stringify({"@context":m.site.schema.context,"@type":"SoftwareApplication",name:U("image_editor.title",T.value),url:`${m.site.url}/image-editor`,image:m.site.ogImage,thumbnailUrl:m.site.ogImage,description:U("image_editor.desc",T.value),applicationCategory:"MultimediaApplication",operatingSystem:"Any"}))}]});const x=s(null),Ne=s(null),ge=s(null),E=s(null),c=s(null),w=s([]),f=s(-1),R=s(!1),F=s(!0),Y=s(3),J=s(3),H=s("pixel"),$=s(0),_=s(0),V=s(!0),Q=s(!1),me=s(0),S=s(100),I=s(100),C=s(0),M=s(0),je=Ce(()=>Q.value?$.value>C.value||_.value>M.value:!1),Ue=s(0),Ee=s(0),xe=s(0),fe=s(0),N=s(NaN),Ve=s(!0),K=s(!1),Z=s({x:200,y:100}),W=s("general"),re=s({show:!1,message:""}),P=s({x:100,y:100}
1),ie=s(!1),he=s({x:0,y:0}),ee=s("#ffffff"),Ke=s(.5),B=s(1),te=s("#3b82f6"),ue=s(1),O=s("#eeeeee"),de=s(1),j=s("prefix"),le=s(`${m.site.name}-`),we=s(null),Re=s("image"),He=s("image/png"),G=s(0),L=s(!1),ye=()=>{L.value=window.innerWidth<768},Ze=l=>{const e=l.target;e.files&&e.files[0]&&Be(e.files[0]),e.value=""},et=l=>{const e=l.dataTransfer?.files;e&&e[0]&&Be(e[0])},Be=l=>{if(!["image/jpeg","image/png","image/webp","image/jpg"].includes(l.type)){alert(U("image_editor.invalid_format")||"Invalid image format. Please use JPG, PNG, or WebP.");return}const n=new FileReader;n.onload=i=>{if(typeof i.target?.result=="string"){x.value=i.target.result,Re.value=l.name.replace(/\.[^/.]+$/,""),He.value=l.type,w.value=[],f.value=-1,ve(x.value,"original"),c.value=null,G.value=0,N.value=NaN,F.value=!0,H.value="pixel",V.value=!0,S.value=100,I.value=100;const o=new Image;o.onload=()=>{C.value=o.naturalWidth||0,M.value=o.naturalHeight||0,Qe(()=>{Le()})},o.src=x.value||""}},n.readAsDataURL(l)},oe=l=>{if(r.value&&(N.value=l,r.value.aspectRatio=isNaN(l)?NaN:l,!isNaN(l)&&r.value.width>0)){const e=r.value;let n=e.width,i=n/l;e.$change(e.x,e.y,n,i)}},Le=()=>{if(E.value){const n=k.value;if(n){const i=n.querySelector("cropper-canvas");i&&i.remove()}E.value=null}if(!Ne.value||!k.value)return;const l=new Image;l.src=x.value||"",l.alt="Edit",E.value=new Ie(l,{container:k.value});const e=E.value.getCropperImage();e&&(v.value=e,e.$ready().then(()=>{if(r.value=E.value?.getCropperSelection(),y.value=E.value?.getCropperCanvas(),r.value&&(r.value.hidden=!0,r.value.multiple=!1,r.value.dynamic=!0,r.value.zoomable=!0,r.value.movable=!0,r.value.resizable=!0,r.value.setAttribute("dynamic",""),r.value.setAttribute("zoomable",""),r.value.setAttribute("movable",""),r.value.setAttribute("resizable","")),y.value&&y.value.$setAction("none"),k.value){const n=k.value.querySelector("cropper-shade");n&&(n.hidden=!0)}Ae(),ut(),_e(),ae.value=1,ne.value=1,r.value&&r.value.addEventListener("change",n=>{const{x:i,y:o,width:u,height:D}=n.detail;dt({x:i,y:o,width:u,height:D})})}))},ve=(l,e="original")=>{f.value<w.value.length-1&&(w.value=w.value.slice(0,f.value+1));const n=new Date,i=`${n.getHours().toString().padStart(2,"0")}:${n.getMinutes().toString().padStart(2,"0")}:${n.getSeconds().toString().padStart(2,"0")}`;w.value.push({id:Date.now().toString()+Math.random().toString(),src:l,action:e,time:i}),f.value++},tt=()=>{if(f.value>0){f.value--;const l=w.value[f.value];l&&q(l.src)}},lt=()=>{if(f.value<w.value.length-1){f.value++;const l=w.value[f.value];l&&q(l.src)}},ot=l=>{if(l>=0&&l<w.value.length){f.value=l;const e=w.value[l];e&&q(e.src),R.value=!1}},q=l=>{x.value=l;const e=new Image;e.onload=()=>{C.value=e.naturalWidth||0,M.value=e.naturalHeight||0,Qe(()=>{Le()})},e.src=l},Ae=()=>{const l=C.value,e=M.value;l===0||e===0||(C.value=l,M.value=e,$.value=Math.round(l),_.value=Math.round(e),me.value=l/e,S.value=100,I.value=100,H.value="pixel",V.value=!0,Q.value=!1)},st=()=>{V.value&&(_.value=Math.round($.value/me.value)),C.value>0&&(S.value=parseFloat(($.value/C.value*100).toFixed(2)),I.value=parseFloat((_.value/M.value*100).toFixed(2)))},at=()=>{V.value&&($.value=Math.round(_.value*me.value)),M.value>0&&(S.value=parseFloat(($.value/C.value*100).toFixed(2)),I.value=parseFloat((_.value/M.value*100).toFixed(2)))},nt=()=>{V.value&&(I.value=S.value),$.value=Math.round(C.value*(S.value/100)),_.value=Math.round(M.value*(I.value/100))},rt=()=>{V.value&&(S.value=I.value),$.value=Math.round(C.value*(S.value/100)),_.value=Math.round(M.value*(I.value/100))},it=async()=>{if(!r.value)return;let l=$.value,e=_.value;const n=C.value,i=M.value;if(Q.value){if(!V.value)l>n&&(l=n),e>i&&(e=i);else if(l>n||e>i){const X=n/l,ht=i/e,qe=Math.min(X,ht);l=l*qe,e=e*qe}}const o=new Image;o.src=x.value||"",await new Promise(X=>{o.onload=X});const u=document.createElement("canvas");u.width=Math.round(l),u.height=Math.round(e);const D=u.getContext("2d");if(D){D.imageSmoothingEnabled=!0,D.imageSmoothingQuality="high",D.drawImage(o,0,0,u.width,u.height);const X=u.toDataURL();ve(X,"resize"),q(X),se()}},ut=()=>{if(!r.value)return;const l=r.value;Ue.value=Math.round(l.x||0),Ee.value=Math.round(l.y||0),xe.value=Math.round(l.width||0),fe.value=Math.round(l.height||0)},dt=l=>{Ue.value=Math.round(l.x),Ee.value=Math.round(l.y),xe.value=Math.round(l.width),fe.value=Math.round(l.height)},De=(l,e)=>{if(!r.value)return;const n=e.target;let i=parseFloat(n.value);if(isNaN(i))return;(l==="width"||l==="height")&&i<=0&&(i=1);const o=r.value,u={x:o.x,y:o.y,width:o.width,height:o.height};u[l]=i,o.$change(u.x,u.y,u.width,u.height)},vt=async()=>
1{if(r.value)try{const l=await r.value.$toCanvas();if(l){const e=l.toDataURL();ve(e,"crop"),q(e),N.value=NaN,se()}}catch(l){console.error("Crop failed:",l)}},A=s(null),Te=l=>{v.value&&v.value.$rotate(`${l}deg`)},pt=l=>{v.value&&(A.value?v.value.$setTransform(A.value):(v.value.$resetTransform(),v.value.$center("contain")),l!==0&&v.value.$rotate(`${l}deg`))},ct=async()=>{if(!(!r.value||!v.value)){A.value=null,r.value.hidden=!1;try{const l=await r.value.$toCanvas({width:C.value,height:M.value});if(l){const e=l.toDataURL();ve(e,"transform"),q(e),G.value=0,se()}}catch(l){console.error("Transform failed:",l)}}};ce(c,(l,e)=>{if(E.value){if(e==="resize"&&Ae(),e==="transform"&&A.value&&(v.value&&v.value.$setTransform(A.value),G.value=0,A.value=null),l==="transform"&&v.value&&(A.value=v.value.$getTransform()),l==="crop"){if(Ve.value=F.value,F.value=!1,r.value)if(r.value.hidden=!1,r.value.aspectRatio=NaN,N.value=NaN,v.value&&y.value){const n=v.value.getBoundingClientRect(),i=y.value.getBoundingClientRect(),o=n.left-i.left,u=n.top-i.top;r.value.$change(o,u,n.width,n.height),v.value.translatable=!1,v.value.removeAttribute("translatable")}else r.value.initialCoverage=1,r.value.$reset();if(y.value&&y.value.$setAction("select"),k.value){const n=k.value.querySelector("cropper-shade");n&&(n.hidden=!1)}}else if(e==="crop"&&(F.value=Ve.value),r.value&&(r.value.hidden=!0),v.value&&(v.value.translatable=!0,v.value.setAttribute("translatable","")),y.value&&y.value.$setAction("none"),k.value){const n=k.value.querySelector("cropper-shade");n&&(n.hidden=!0)}}});const ke=s({x:0,y:0}),pe=s(!1),bt=l=>{L.value||(pe.value=!0,ke.value={x:l.clientX-Z.value.x,y:l.clientY-Z.value.y},window.addEventListener("mousemove",Fe),window.addEventListener("mouseup",We))},Fe=l=>{pe.value&&(Z.value={x:l.clientX-ke.value.x,y:l.clientY-ke.value.y})},We=()=>{pe.value=!1,window.removeEventListener("mousemove",Fe),window.removeEventListener("mouseup",We)},gt=l=>{L.value||(ie.value=!0,he.value={x:l.clientX-P.value.x,y:l.clientY-P.value.y},window.addEventListener("mousemove",Pe),window.addEventListener("mouseup",Oe))},Pe=l=>{ie.value&&(P.value={x:l.clientX-he.value.x,y:l.clientY-he.value.y})},Oe=()=>{ie.value=!1,window.removeEventListener("mousemove",Pe),window.removeEventListener("mouseup",Oe)},mt=()=>{let l=document.getElementById("cropper-custom-styles");l||(l=document.createElement("style"),l.id="cropper-custom-styles",document.head.appendChild(l)),l.innerHTML=` 2 .cropper-view-box { 3 outline: ${ue.value}px solid ${te.value} !important; 4 } 5 .cropper-dashed { 6 border-color: ${O.value} !important; 7 border-width: ${de.value}px !important; 8 } 9 .cropper-line { 10 background-color: ${O.value} !important; 11 } 12 /* Adjust line thickness? .cropper-line is generic. 13 Cropper uses .cropper-line.line-e etc. 14 Usually width/height is hardcoded in cropper css. 15 Overriding strictly might be tricky but background-color works. 16 */ 17 `};ce([te,ue,O,de],()=>{mt()});const $e=l=>{if(c.value===l){se();return}c.value=l,P.value={x:100,y:100}},se=()=>{c.value=null,N.value=NaN},Ge=l=>{v.value&&(l==="h"&&(ae.value*=-1,v.value.$scale(ae.value,ne.value)),l==="v"&&(ne.value*=-1,v.value.$scale(ae.value,ne.value)))},xt=()=>{if(!E.value||!x.value)return;const l=document.createElement("a");l.href=x.value;const e=He.value.split("/")[1]||"png";let n=Re.value;const i=le.value;j.value==="prefix"?n=`${i}${n}`:j.value==="suffix"&&(n=`${n}${i}`),l.download=`${n}.${e}`,l.click()},ft=async()=>{if(x.value)try{const l=new Image;l.crossOrigin="anonymous",await new Promise((o,u)=>{l.onload=o,l.onerror=u,l.src=x.value});const e=document.createElement("canvas");e.width=l.naturalWidth,e.height=l.naturalHeight;const n=e.getContext("2d");if(!n)throw new Error("Context null");n.drawImage(l,0,0);const i=await new Promise(o=>{e.toBlob(o,"image/png")});if(!i)throw new Error("Blob creation failed");await navigator.clipboard.write([new ClipboardItem({"image/png":i})]),console.log("Image copied to clipboard"),re.value={show:!0,message:U("image_editor.actions.copy_success")}}catch(l){console.error("Failed to copy image:",l),alert(U("image_editor.actions.copy_fail"))}},_e=()=>{if(!y.value)return;let l=y.value.querySelector(".custom-grid-overlay");
17if(l||(l=document.createElement("div"),l.className="custom-grid-overlay",Object.assign(l.style,{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",pointerEvents:"none",zIndex:"1"}),y.value.appendChild(l)),!F.value){l.style.display="none";return}l.style.display="block";const e=ee.value.replace("#",""),n=parseInt(e.substring(0,2),16),i=parseInt(e.substring(2,4),16),o=parseInt(e.substring(4,6),16),u=`rgba(${n}, ${i}, ${o}, ${Ke.value})`;Object.assign(l.style,{backgroundImage:` 18 linear-gradient(to right, ${u} ${B.value}px, transparent ${B.value}px), 19 linear-gradient(to bottom, ${u} ${B.value}px, transparent ${B.value}px) 20 `,backgroundSize:`${100/J.value}% ${100/Y.value}%`})};return ce([F,Y,J],()=>{_e()}),Ct(async()=>{Ie=(await Mt(()=>import("./CMgly8aX.js"),[],import.meta.url)).default,window.addEventListener("click",e=>{R.value&&we.value&&!we.value.contains(e.target)&&(R.value=!1)}),ye(),window.addEventListener("resize",ye)}),zt(()=>{if(window.removeEventListener("resize",ye),k.value){const l=k.value.querySelector("cropper-canvas");l&&l.remove()}E.value=null}),ce([ee,Y,J,B],()=>{_e()}),(l,e)=>{const n=jt,i=Nt;return g(),b("div",Ut,[Xe(n,{class:"flex-none !bg-white text-slate-800 border-b border-slate-200"}),Xe(i,{show:re.value.show,"onUpdate:show":e[0]||(e[0]=o=>re.value.show=o),message:re.value.message},null,8,["show","message"]),t("div",Et,[t("div",{class:d(["absolute top-4 left-1/2 -translate-x-1/2 z-30 backdrop-blur shadow-lg border border-slate-200 rounded-full px-3 py-1 flex items-center gap-1 transition-all duration-300",[x.value?"":"translate-y-[-150%]",c.value?"bg-white opacity-100 shadow-xl":"bg-white/40 opacity-80 hover:bg-white hover:opacity-100"]])},[t("button",{onClick:e[1]||(e[1]=o=>$e("resize")),class:d(["w-20 flex flex-col items-center gap-0.5 group py-1",c.value==="resize"?"text-blue-600":"text-slate-600 hover:text-slate-900"])},[t("div",{class:d(["p-1.5 rounded-full transition-colors",c.value==="resize"?"bg-blue-100":"group-hover:bg-slate-100"])},[...e[48]||(e[48]=[t("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24"},[t("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",stroke:"currentColor","stroke-width":"2","stroke-dasharray":"4 2"}),t("rect",{x:"5",y:"13",width:"6",height:"6",rx:"1",fill:"currentColor"}),t("path",{d:"M11 13 L17 7 M17 7 H14 M17 7 V10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],2),t("span",Vt,a(l.$t("image_editor.tabs.resize")),1)],2),e[51]||(e[51]=t("div",{class:"w-px h-5 bg-slate-300/50 my-auto"},null,-1)),t("button",{onClick:e[2]||(e[2]=o=>$e("crop")),class:d(["w-20 flex flex-col items-center gap-0.5 group py-1",c.value==="crop"?"text-blue-600":"text-slate-600 hover:text-slate-900"])},[t("div",{class:d(["p-1.5 rounded-full transition-colors",c.value==="crop"?"bg-blue-100":"group-hover:bg-slate-100"])},[...e[49]||(e[49]=[t("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M14.121 14.121L19 19m-7-7l7-7m-7 7l-2.879 2.879M12 12L9.121 9.121m0 5.758a3 3 0 10-4.243 4.243 3 3 0 004.243-4.243zm0-5.758a3 3 0 10-4.243-4.243 3 3 0 004.243 4.243z"})],-1)])],2),t("span",Rt,a(l.$t("image_editor.tabs.crop")),1)],2),e[52]||(e[52]=t("div",{class:"w-px h-5 bg-slate-300/50 my-auto"},null,-1)),t("button",{onClick:e[3]||(e[3]=o=>$e("transform")),class:d(["w-20 flex flex-col items-center gap-0.5 group py-1",c.value==="transform"?"text-blue-600":"text-slate-600 hover:text-slate-900"])},[t("div",{class:d(["p-1.5 rounded-full transition-colors",c.value==="transform"?"bg-blue-100":"group-hover:bg-slate-100"])},[...e[50]||(e[50]=[t("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1)])],2),t("span",Ht,a(l.$t("image_editor.tabs.transform")),1)],2)],2),t("div",{class:"flex-grow relative overflow-hidden flex flex-col",onDragover:e[5]||(e[5]=Me(()=>{},["prevent"])),onDrop:Me(et,["prevent"])},[e[54]||(e[54]=t("div",{class:"absolute inset-0 bg-checkerboard pointer-events-none",style:{"z-index":"0"}},null,-1)),x.value?z("",!0):(g(),b("div",Bt,[t("div",{class:"text-center cursor-pointer p-6 md:p-12 border-2 border-dashed border-slate-300 rounded-2xl hover:border-slate-400 hover:bg-slate-200/50 transition-all group bg-white/80 backdrop-blur-sm w-full max-w-lg",onClick:e[4]||(e[4]=o=>ge.value?.click())},[e[53]||(e[53]=t("div",{class:"w-16 h-16 mx-auto mb-4 bg-slate-200 rounded-full flex items-center justify-center group-hover:scale-110 transition-transform"},[t("svg",{class:"w-8 h-8 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})])],-1)),t("h3",Lt,a(l.$t("image_editor.dropzone_title")),1),t("p",At,a(l.$t("image_editor.dropzone_subtitle")),1)])])),t("input",{ref_key:"fileInput",ref:ge,type:"file",accept:"image/png, image/jpeg, image/webp",class:"hidden",onChange:Ze},null,544),p(t("div",{ref_key:"containerRef",ref:k,class:"absolute inset-0 w-full h-full",style:{"z-index":"10"}},[t("img",{ref_key:"imageElement",ref:Ne,src:x.value||"",class:"hidden"},null,8,Dt)],512),[[ze,x.value]])],32),K.value?(g(),b("div",{key:0,class:d(["z-50 bg-white shadow-2xl border border-slate-200 overflow-hidden flex flex-col fixed bottom-0 left-0 w-full rounded-t-2xl max-h-[70vh] md:fixed md:rounded-xl md:w-80 md:max-h-[60vh]",pe.value?"":"transition-all duration-200"]),style:Ye
20(L.value?{}:{left:Z.value.x+"px",top:Z.value.y+"px"})},[t("div",{class:d(["bg-slate-100 px-4 py-2 border-b border-slate-200 flex items-center justify-between select-none",L.value?"":"cursor-move"]),onMousedown:bt},[t("h4",Tt,[e[55]||(e[55]=t("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})],-1)),t("span",null,a(l.$t("image_editor.settings.title")),1)]),t("button",{onClick:e[6]||(e[6]=o=>K.value=!1),class:"text-slate-400 hover:text-red-500 transition-colors",onMousedown:e[7]||(e[7]=Me(()=>{},["stop"]))},[...e[56]||(e[56]=[t("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])],32)],34),t("div",Ft,[t("button",{class:d(["flex-1 py-2 text-xs font-bold uppercase tracking-wider transition-colors border-b-2",W.value==="general"?"border-blue-500 text-blue-600 bg-white":"border-transparent text-slate-500 hover:bg-slate-100"]),onClick:e[8]||(e[8]=o=>W.value="general")},a(l.$t("image_editor.settings.tab_general")),3),t("button",{class:d(["flex-1 py-2 text-xs font-bold uppercase tracking-wider transition-colors border-b-2",W.value==="crop"?"border-blue-500 text-blue-600 bg-white":"border-transparent text-slate-500 hover:bg-slate-100"]),onClick:e[9]||(e[9]=o=>W.value="crop")},a(l.$t("image_editor.settings.tab_crop")),3)]),t("div",Wt,[p(t("div",Pt,[t("div",Ot,[t("div",null,[t("label",Gt,a(l.$t("image_editor.settings.grid_cols")),1),p(t("input",{type:"number","onUpdate:modelValue":e[10]||(e[10]=o=>J.value=o),min:"1",max:"50",class:"w-full bg-slate-50 border border-slate-200 rounded px-2 py-1 text-sm text-slate-700 focus:outline-none focus:border-blue-500"},null,512),[[h,J.value]])]),t("div",null,[t("label",qt,a(l.$t("image_editor.settings.grid_rows")),1),p(t("input",{type:"number","onUpdate:modelValue":e[11]||(e[11]=o=>Y.value=o),min:"1",max:"50",class:"w-full bg-slate-50 border border-slate-200 rounded px-2 py-1 text-sm text-slate-700 focus:outline-none focus:border-blue-500"},null,512),[[h,Y.value]])]),t("div",null,[t("label",Xt,a(l.$t("image_editor.settings.grid_width"))+" (px)",1),p(t("input",{type:"number","onUpdate:modelValue":e[12]||(e[12]=o=>B.value=o),min:"1",max:"10",class:"w-full bg-slate-50 border border-slate-200 rounded px-2 py-1 text-sm text-slate-700 focus:outline-none focus:border-blue-500"},null,512),[[h,B.value]])]),t("div",null,[t("label",Yt,a(l.$t("image_editor.settings.grid_color")),1),t("div",Jt,[p(t("input",{type:"color","onUpdate:modelValue":e[13]||(e[13]=o=>ee.value=o),class:"w-8 h-8 rounded cursor-pointer border-0 p-0"},null,512),[[h,ee.value]]),t("span",Qt,a(ee.value),1)])])]),t("div",Kt,[t("label",Zt,a(l.$t("image_editor.settings.download_filename")),1),t("div",el,[t("label",tl,[p(t("input",{type:"radio","onUpdate:modelValue":e[14]||(e[14]=o=>j.value=o),value:"original",class:"text-blue-600 focus:ring-blue-500"},null,512),[[Se,j.value]]),t("span",ll,a(l.$t("image_editor.settings.filename_original")),1)]),t("label",ol,[p(t("input",{type:"radio","onUpdate:modelValue":e[15]||(e[15]=o=>j.value=o),value:"prefix",class:"text-blue-600 focus:ring-blue-500"},null,512),[[Se,j.value]]),t("span",sl,a(l.$t("image_editor.settings.filename_prefix")),1)]),j.value==="prefix"?(g(),b("div",al,[p(t("input",{type:"text","onUpdate:modelValue":e[16]||(e[16]=o=>le.value=o),placeholder:l.$t("image_editor.settings.filename_input_placeholder"),class:"w-full bg-slate-50 border border-slate-200 rounded px-2 py-1 text-xs text-slate-700 focus:outline-none focus:border-blue-500"},null,8,nl),[[h,le.value]])])):z("",!0),t("label",rl,[p(t("input",{type:"radio","onUpdate:modelValue":e[17]||(e[17]=o=>j.value=o),value:"suffix",class:"text-blue-600 focus:ring-blue-500"},null,512),[[Se,j.value]]),t("span",il,a(l.$t("image_editor.settings.filename_suffix")),1)]),j.value==="suffix"?(g(),b("div",ul,[p(t("input",{type:"text","onUpdate:modelValue":e[18]||(e[18]=o=>le.value=o),placeholder:l.$t("image_editor.settings.filename_input_placeholder"),class:"w-full bg-slate-50 border border-slate-200 rounded px-2 py-1 text-xs text-slate-700 focus:outline-none focus:border-blue-500"},null,8,dl),[[h,le.value]])])):z("",!0)])])],512),[[ze,W.value==="general"]]),p(t("div",vl,[t("div",pl,[t("h5",cl,a(l.$t("image_editor.settings.crop_box_border")),1),t("div",null,[t("label",bl,a(l.$t("image_editor.settings.color")),1),t("div",gl,[p(t("input",{type:"color","onUpdate:modelValue":e[19]||(e[19]=o=>te.value=o),class:"w-8 h-8 rounded cursor-pointer border-0 p-0"},null,512),[[h,te.value]]),t("span",ml,a(te.value),1)])]),t("div",null,[t("label",xl,a(l.$t("image_editor.settings.width"))+" (px)",1),p(t("input",{type:"number","onUpdate:modelValue":e[20]||(e[20]=o=>ue.value=o),min:"0",max:"10",step:"1",class:"w-full bg-slate-50 border border-slate-200 rounded px-2 py-1 text-sm text-slate-700"},null,512),[[h,ue.value]])])]),t("div",fl,[t("h5",hl,a(l.$t("image_editor.settings.crop_inner_grid")),1),t("div",null,[t("label",wl,a(l.$t("image_editor.settings.color")),1),t("div",yl,[p(t("input",{type:"color","onUpdate:modelValue":e[21]||(e[21]=o=>O.value=o),class:"w-8 h-8 rounded cursor-pointer border-0 p-0"},null,512),[[h,O.value]]),t("span",kl,a(O.value),1)])]),t("div",null,[t("label",$l,a(l.$t("image_editor.settings.width"))+" (px)",1),p(t("input",{type:"number","onUpdate:modelValue":e[22]||(e[22]=o=>de.value=o),min:"0",max:"10",step:"1",class:"w-full bg-slate-50 border border-slate-200 rounded px-2 py-1 text-sm text-slate-700"},null,512),[[h,de.value]])])])],512),[[ze,W.value==="crop"]])])],6)):z("",!0),t("div",{class:d(["absolute z-30 flex gap-4 bg-white/90 backdrop-blur shadow-lg border border-slate-200 rounded-full py-2 px-4 md:py-4 md:px-2 flex-row bottom-6 left-4 right-4 justify-center md:w-auto overflow-x-auto no-scrollbar md:flex-col md:right-4 md:top-1/2 md:-translate-y-1/2 md:left-auto md:translate-x-0 md:bottom-auto md:overflow-visible transition-all duration-300",x.value?"":"translate-y-[200%] md:translate-y-0 md:translate-x-[200%]"])},[t("button",{onClick:e[23]||(e[23]=o=>ge.value?.click()),class:"p-2 rounded-full hover:bg-slate-100 text-slate-600 transition-colors relative group",title:l.$t("image_editor.reupload")},[e[57]||(e[57]=t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"})],-1)),t("span",Cl,a(l.$t("image_editor.reupload")),1)],8,_l),e[64]||(e[64]=t("div",{class:"w-px h-6 bg-slate-200 my-auto md:h-px md:w-6 md:mx-auto"},null,-1)),t("button",{onClick:e[24]||(e[24]=o=>
20K.value=!K.value),class:d(["p-2 rounded-full hover:bg-slate-100 text-slate-600 transition-colors relative group",K.value?"bg-blue-100 text-blue-600":""]),title:"Settings"},[e[58]||(e[58]=t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})],-1)),t("span",Ml,a(l.$t("image_editor.settings.title")),1)],2),e[65]||(e[65]=t("div",{class:"w-px h-6 bg-slate-200 my-auto md:h-px md:w-6 md:mx-auto"},null,-1)),t("button",{onClick:tt,disabled:f.value<=0,class:"p-2 rounded-full hover:bg-slate-100 disabled:opacity-30 disabled:hover:bg-transparent text-slate-600 transition-colors relative group",title:"Undo"},[...e[59]||(e[59]=[t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 10h10a8 8 0 018 8v2M3 10l6 6m-6-6l6-6"})],-1)])],8,zl),t("button",{onClick:lt,disabled:f.value>=w.value.length-1,class:"p-2 rounded-full hover:bg-slate-100 disabled:opacity-30 disabled:hover:bg-transparent text-slate-600 transition-colors relative group",title:"Redo"},[...e[60]||(e[60]=[t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 10h-10a8 8 0 00-8 8v2M21 10l-6 6m6-6l-6-6"})],-1)])],8,Sl),t("div",{class:"relative",ref_key:"historyContainer",ref:we},[t("button",{onClick:e[25]||(e[25]=o=>R.value=!R.value),class:"p-2 rounded-full hover:bg-slate-100 text-slate-600 transition-colors relative group",title:l.$t("image_editor.history.title")},[...e[61]||(e[61]=[t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)])],8,Il),R.value?(g(),b("div",Nl,[t("h4",jl,a(l.$t("image_editor.history.title")),1),w.value.length===0?(g(),b("div",Ul,a(l.$t("image_editor.history.empty")),1)):z("",!0),t("ul",El,[(g(!0),b(St,null,It(w.value,(o,u)=>(g(),b("li",{key:o.id,onClick:D=>ot(u),class:d(["flex items-center justify-between px-2 py-2 rounded cursor-pointer text-sm",u===f.value?"bg-blue-50 text-blue-600 font-bold":"hover:bg-slate-50 text-slate-700"])},[t("div",Rl,[t("span",{class:d(["w-4 h-4 flex items-center justify-center text-[10px] border rounded-full",u===f.value?"border-blue-600 bg-blue-600 text-white":"border-slate-300 text-slate-400"])},a(u+1),3),t("span",null,a(l.$t(`image_editor.actions.${o.action}`)||o.action),1)]),t("span",Hl,a(o.time),1)],10,Vl))),128))])])):z("",!0),R.value?(g(),b("div",{key:1,class:"fixed inset-0 z-40",onClick:e[26]||(e[26]=o=>R.value=!1)})):z("",!0)],512),e[66]||(e[66]=t("div",{class:"w-px h-6 bg-slate-200 my-auto md:h-px md:w-6 md:mx-auto"},null,-1)),t("button",{onClick:ft,class:"p-2 rounded-full hover:bg-slate-100 text-slate-600 transition-colors relative group",title:l.$t("image_editor.actions.copy")},[e[62]||(e[62]=t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1)),t("span",Ll,a(l.$t("image_editor.actions.copy")),1)],8,Bl),t("button",{onClick:xt,class:"p-2 rounded-full bg-blue-600 hover:bg-blue-700 text-white shadow-lg transition-colors relative group",title:"Save"},[...e[63]||(e[63]=[t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})],-1)])])],2),c.value?(g(),b("div",{key:1,class:d(["z-40 bg-white shadow-[0_-4px_6px_-1px_rgba(0,0,0,0.1)] border-t border-slate-200 overflow-hidden flex flex-col fixed bottom-0 left-0 w-full rounded-t-2xl max-h-[70vh] md:absolute md:rounded-xl md:w-80 md:shadow-2xl md:border md:border-b-slate-200 md:max-h-[500px]",ie.value?"":"transition-all duration-200"]),style:Ye
20(L.value?{}:{left:`${P.value.x}px`,top:`${P.value.y}px`})},[t("div",{class:d(["bg-slate-50 px-4 py-3 border-b border-slate-200 flex items-center justify-between select-none",L.value?"":"cursor-move"]),onMousedown:gt},[t("span",Al,a(l.$t(`image_editor.tabs.${c.value}`)),1),t("button",{onClick:se,class:"text-slate-400 hover:text-slate-600"},[...e[67]||(e[67]=[t("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])],34),t("div",Dl,[c.value==="resize"?(g(),b("div",Tl,[t("div",Fl,[t("button",{onClick:e[27]||(e[27]=o=>H.value="pixel"),class:d(["flex-1 py-1 text-xs font-bold rounded",H.value==="pixel"?"bg-white text-slate-800 shadow text-blue-600":"text-slate-500 hover:text-slate-700"])},a(l.$t("image_editor.resize.pixel")),3),t("button",{onClick:e[28]||(e[28]=o=>H.value="percentage"),class:d(["flex-1 py-1 text-xs font-bold rounded",H.value==="percentage"?"bg-white text-slate-800 shadow text-blue-600":"text-slate-500 hover:text-slate-700"])},a(l.$t("image_editor.resize.percentage")),3)]),H.value==="pixel"?(g(),b("div",Wl,[t("div",Pl,[t("div",null,[t("label",Ol,a(l.$t("image_editor.width")),1),p(t("input",{type:"number","onUpdate:modelValue":e[29]||(e[29]=o=>$.value=o),onInput:st,class:"w-full bg-slate-50 border border-slate-200 rounded px-3 py-2 text-sm text-slate-700 focus:border-blue-500 focus:outline-none"},null,544),[[h,$.value]])]),t("div",null,[t("label",Gl,a(l.$t("image_editor.height")),1),p(t("input",{type:"number","onUpdate:modelValue":e[30]||(e[30]=o=>_.value=o),onInput:at,class:"w-full bg-slate-50 border border-slate-200 rounded px-3 py-2 text-sm text-slate-700 focus:border-blue-500 focus:outline-none"},null,544),[[h,_.value]])])]),t("div",ql,[be(a(l.$t("image_editor.resize.resulting_size"))+": ",1),t("span",Xl,a(S.value)+"%",1),e[68]||(e[68]=be(" x ",-1)),t("span",Yl,a(I.value)+"%",1)])])):(g(),b("div",Jl,[t("div",Ql,[t("div",null,[t("label",Kl,a(l.$t("image_editor.width"))+" (%)",1),p(t("input",{type:"number","onUpdate:modelValue":e[31]||(e[31]=o=>S.value=o),onInput:nt,class:"w-full bg-slate-50 border border-slate-200 rounded px-3 py-2 text-sm text-slate-700 focus:border-blue-500 focus:outline-none"},null,544),[[h,S.value]])]),t("div",null,[t("label",Zl,a(l.$t("image_editor.height"))+" (%)",1),p(t("input",{type:"number","onUpdate:modelValue":e[32]||(e[32]=o=>I.value=o),onInput:rt,class:"w-full bg-slate-50 border border-slate-200 rounded px-3 py-2 text-sm text-slate-700 focus:border-blue-500 focus:outline-none"},null,544),[[h,I.value]])])]),t("div",eo,[be(a(l.$t("image_editor.resize.resulting_size"))+": ",1),t("span",to,a($.value)+"px",1),e[69]||(e[69]=be(" x ",-1)),t("span",lo,a(_.value)+"px",1)])])),t("div",oo,[t("div",so,[p(t("input",{type:"checkbox","onUpdate:modelValue":e[33]||(e[33]=o=>V.value=o),class:"rounded bg-slate-50 border-slate-300 text-blue-600 focus:ring-blue-500/30 w-4 h-4"},null,512),[[Je,V.value]]),t("span",ao,a(l.$t("image_editor.resize.maintain_aspect_ratio")),1)]),t("div",no,[p(t("input",{type:"checkbox","onUpdate:modelValue":e[34]||(e[34]=o=>Q.value=o),class:"rounded bg-slate-50 border-slate-300 text-blue-600 focus:ring-blue-500/30 w-4 h-4"},null,512),[[Je,Q.value]]),t("span",ro,a(l.$t("image_editor.resize.do_not_enlarge")),1)]),je.value?(g(),b("div",io,a(l.$t("image_editor.resize.warning")||"Dimensions exceed original size"),1)):z("",!0)]),t("button",{onClick:it,disabled:je.value,class:"w-full py-2 bg-blue-600 hover:bg-blue-700 text-white font-bold rounded-lg shadow-lg shadow-blue-500/20 transition-all disabled:opacity-50 disabled:cursor-not-allowed"},a(l.$t("image_editor.apply")),9,uo)])):z("",!0),c.value==="crop"?(g(),b("div",vo,[t("div",po,[t("button",{onClick:e[35]||(e[35]=o=>oe(NaN)),class:d(["px-2 py-2 border rounded text-xs transition-colors",isNaN(N.value)?"bg-blue-50 border-blue-600 text-blue-600 font-bold":"bg-slate-100 border-slate-200 text-slate-500 hover:border-blue-500 hover:text-blue-600"])},"Free",2),t("button",{onClick:e[36]||(e[36]=o=>oe(1)),class:d(["px-2 py-2 border rounded text-xs transition-colors",N.value===1?"bg-blue-50 border-blue-600 text-blue-600 font-bold":"bg-slate-100 border-slate-200 text-slate-500 hover:border-blue-500 hover:text-blue-600"])},"1:1",2),t("button",{onClick:e[37]||(e[37]=o=>oe(16/9)),class:d(["px-2 py-2 border rounded text-xs transition-colors",N.value===16/9?"bg-blue-50 border-blue-600 text-blue-600 font-bold":"bg-slate-100 border-slate-200 text-slate-500 hover:border-blue-500 hover:text-blue-600"])},"16:9",2),t("button",{onClick:e[38]||(e[38]=o=>oe(4/3)),class:d(["px-2 py-2 border rounded text-xs transition-colors",N.value===4/3?"bg-blue-50 border-blue-600 text-blue-600 font-bold":"bg-slate-100 border-slate-200 text-slate-500 hover:border-blue-500 hover:text-blue-600"])},"4:3",2),t("button",{onClick:e[39]||(e[39]=o=>oe(2/3)),class:d(["px-2 py-2 border rounded text-xs transition-colors",N.value===2/3?"bg-blue-50 border-blue-600 text-blue-600 font-bold":"bg-slate-100 border-slate-200 text-slate-500 hover:border-blue-500 hover:text-blue-600"])}
20,"2:3",2)]),t("div",co,[t("div",null,[e[70]||(e[70]=t("label",{class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},"W",-1)),t("input",{type:"number",value:xe.value,min:"1",onChange:e[40]||(e[40]=o=>De("width",o)),class:"w-full bg-slate-50 border border-slate-200 rounded px-2 py-1 text-sm text-slate-700 focus:border-blue-500 focus:outline-none"},null,40,bo)]),t("div",null,[e[71]||(e[71]=t("label",{class:"text-xs text-slate-400 uppercase font-bold tracking-wider mb-1 block"},"H",-1)),t("input",{type:"number",value:fe.value,min:"1",onChange:e[41]||(e[41]=o=>De("height",o)),class:"w-full bg-slate-50 border border-slate-200 rounded px-2 py-1 text-sm text-slate-700 focus:border-blue-500 focus:outline-none"},null,40,go)])]),t("button",{onClick:vt,class:"w-full py-2 bg-blue-600 hover:bg-blue-700 text-white font-bold rounded-lg shadow-lg shadow-blue-500/20 transition-all"},a(l.$t("image_editor.crop.apply")),1)])):z("",!0),c.value==="transform"?(g(),b("div",mo,[t("div",null,[t("label",xo,a(l.$t("image_editor.transform.rotate")),1),t("div",fo,[t("button",{onClick:e[42]||(e[42]=o=>Te(-90)),class:"flex-1 py-2 bg-slate-100 border border-slate-200 rounded hover:bg-slate-200 text-slate-600",title:"-90°"},[...e[72]||(e[72]=[t("svg",{class:"w-5 h-5 mx-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 10h10a8 8 0 018 8v2M3 10l6 6m-6-6l6-6"})],-1)])]),t("button",{onClick:e[43]||(e[43]=o=>Te(90)),class:"flex-1 py-2 bg-slate-100 border border-slate-200 rounded hover:bg-slate-200 text-slate-600",title:"+90°"},[...e[73]||(e[73]=[t("svg",{class:"w-5 h-5 mx-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 10h-10a8 8 0 00-8 8v2M21 10l-6 6m6-6l-6-6"})],-1)])])]),t("div",ho,[t("label",wo,"Custom Angle: "+a(G.value)+"°",1),p(t("input",{type:"range","onUpdate:modelValue":e[44]||(e[44]=o=>G.value=o),min:"-180",max:"180",step:"1",onInput:e[45]||(e[45]=o=>pt(Number(o.target.value)||0)),class:"w-full accent-blue-500"},null,544),[[h,G.value]])])]),t("div",null,[t("label",yo,a(l.$t("image_editor.transform.flip")),1),t("div",ko,[t("button",{onClick:e[46]||(e[46]=o=>Ge("h")),class:"flex-1 py-2 bg-slate-100 border border-slate-200 rounded hover:bg-slate-200 text-slate-600"}," Flip H "),t("button",{onClick:e[47]||(e[47]=o=>Ge("v")),class:"flex-1 py-2 bg-slate-100 border border-slate-200 rounded hover:bg-slate-200 text-slate-600"}," Flip V ")])]),t("button",{onClick:ct,class:"w-full py-2 bg-blue-600 hover:bg-blue-700 text-white font-bold rounded-lg shadow-lg shadow-blue-500/20 transition-all"},a(l.$t("image_editor.apply")),1)])):z("",!0)])],6)):z("",!0)])])}}});export{Co as default};
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.