1import{_ as A,r as u,f as P,q as V,B as w,g as j,h as $,c as f,o as m,a as s,n as K,t as _,S as x,F as L,M as Q,O as p,N as G,R as I,P as l,K as D,Q as H}from"./CwAdb0OZ.js";import{u as J}from"./Q3DAH_ZS.js";const X=["data-folder-id"],Y={class:"window-title"},Z={class:"window-controls"},ee={width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",style:{"touch-action":"none"}},te=["onClick"],ie={class:"item-icon"},oe=["src"],ne={class:"icon-title"},se={__name:"FolderWindow",props:{folder:{type:Object,required:!0},z:{type:Number,required:!0},minimized:{type:Boolean,default:!1},position:{type:Object,default:()=>({x:0,y:0})},itemWindowsClosed:{type:Number,default:0}},emits:["close","minimize","item","drop","updatePosition"],setup(r,{emit:W}){const i=r,d=W,o=u(null),g=u(null),k=u(!1),h=u(!1),{getDefaultItemIconUrl:C}=P(),b=u(!1),v=u(new Map),y=u(!1),c=V(()=>typeof window>"u"?!1:window.innerWidth<768);function S(){c.value&&o.value&&(o.value.style.overflow="hidden")}function U(){c.value&&o.value&&(o.value.style.overflow="")}w(()=>i.folder,e=>{e.items&&e.items.forEach((t,n)=>{}),y.value=!1,v.value.clear()},{immediate:!0,deep:!0}),w(()=>i.itemWindowsClosed,(e,t)=>{e>t&&c.value&&U()});function B(e){try{if(e.icon&&e.icon.asset)return I(e.icon,{width:800,quality:90});if(e.media&&e.media.asset){const t=e.media.asset._ref;if(t.startsWith("image-"))try{return I(e.media,{width:800,quality:90})}catch{}else if(t.startsWith("file-"))return J(e.media.asset)}else if(e.iconUrl)return e.iconUrl;return C.value||"/images/brands/icon-default-item.png"}catch{return C.value||"/images/brands/icon-default-item.png"}}function F(e){const t="/images/brands/icon-default-item.png";e.target.src!==t&&(e.target.src=t)}function E(e){e.preventDefault(),d("drop",i.folder._id,e)}function R(e,t){c.value&&S(),d("item",t)}const T=e=>!e.icon&&e.media&&e.media.asset;function M(e,t){e?v.value.set(t,e):v.value.delete(t)}function z(){y.value||!o.value||i.minimized||D(()=>{let e=0;const t=10,n=()=>{e++;const a=Array.from(v.value.values());if(a.length===0&&e<t){setTimeout(n,50);return}a.length!==0&&(a.forEach(N=>{l.set(N,{scale:0,opacity:1,transformOrigin:"50% 50%",force3D:!0})}),setTimeout(()=>{l.to(a,{scale:1,duration:.5,ease:"back.out(1.2)",stagger:.05,delay:.1,force3D:!0})},10),y.value=!0)};n()})}j(()=>{i.position&&typeof i.position.x=="number"&&typeof i.position.y=="number"&&(k.value=!0),c.value&&(b.value=!0,setTimeout(()=>{b.value=!1},100))}),w(()=>i.position,e=>{e&&typeof e.x=="number"&&typeof e.y=="number"&&(k.value=!0,D(()=>{setTimeout(()=>{O()},100)}))},{immediate:!0}),w(()=>i.minimized,e=>{!e&&!y.value&&setTimeout(()=>{z()},100)});function O(){if(g.value&&o.value&&!o.value._draggable){if(i.position&&typeof i.position.x=="number"&&typeof i.position.y=="number"){const e=i.position.x!==0||i.position.y!==0;!h.value&&e?(l.set(o.value,{x:i.position.x,y:i.position.y,opacity:0,scale:0,transformOrigin:"50% 50%"}),l.set(o.value,{opacity:1}),l.to(o.value,{scale:1,duration:.5,ease:"back.out(1.2)",delay:.05}),h.value=!0,setTimeout(()=>{z()},200)):!h.value&&!e?l.set(o.value,{x:i.position.x,y:i.position.y,opacity:0,scale:0,transformOrigin:"50% 50%"}):l.set(o.value,{x:i.position.x,y:i.position.y})}i.position&&(i.position.x!==0||i.position.y!==0)&&(H.create(o.value,{trigger:g.value,type:"x,y",bounds:window,inertia:!0,onDrag:function(){d("updatePosition",{x:this.x,y:this.y})}}),o.value._draggable=!0)}}function q(){o.value?l.to(o.value,{scale:0,opacity:0,duration:.2,ease:"power2.in",onComplete:()=>{d("close")}}):d("close")}return $(()=>{}),(e,t)=>(m(),f("div",{class:p(["folder-window",{minimized:r.minimized}]),style:G({zIndex:r.z}),ref_key:"windowRef",ref:o,"data-folder-id":r.folder._id},[s("div",{class:"window-handle",ref_key:"handleRef",ref:g},[s("div",Y,_(r.folder.title),1),s("div",Z,[s("button",{class:"window-btn minimize",onClick:t[0]||(t[0]=x(n=>e.$emit("minimize"),["stop"]))},t[2]||(t[2]=[s("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"currentColor"},[s("line",{x1:"2",y1:"6",x2:"10",y2:"6",stroke:"currentColor","stroke-width":"1"})],-1)])),s("button",{class:"window-btn close",onClick:x(q,["stop"])},[(m(),f("svg",ee,t[3]||(t[3]=[s("line",{x1:"3",y1:"3",x2:"13",y2:"13",stroke:"currentColor","stroke-width":"1",style:{"touch-action":"none"}},null,-1),s("line",{x1:"13",y1:"3",x2:"3",y2:"13",stroke:"currentColor","stroke-width":"1",style:{"touch-action":"none"}},null,-1)])))])])],512),r.minimized?K("",!0):(m(),f("div",{key:0,class:"window-content",onDragover:t[1]||(t[1]=x(()=>{},["prevent"])),onDrop:E},[s("div",{class:p(["items-grid",{"pointer-events-disabled":b.value}])},[(m(!0),f(L,null,Q(r.folder.items,n=>(m(),f("div",{key:n._id,class:p(["folder-item",{"is-wallpaper":n.type==="wallpaper"}]),ref_for:!0,ref:a=>M(a,n._id),onClick:a=>R(a,n)},[s("div",{class:p(["item-preview",{"wallpaper-preview":n.type==="wallpaper"}])},[s("div",ie,[s("img",{src:B(n),class:p(["item-icon",T(n)?"fallback":""]),alt:"Item icon",onError:F},null,42,oe)])],2),s("div",ne,_(n.title),1)],10,te))),128))],2)],32))],14,X))}},re=A(se,[["__scopeId","data-v-a93f038a"]]);export{re 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.