@brftech/filex-core 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArchiveViewer-ChemVSr_.js → ArchiveViewer-Brzg_0Xj.js} +14 -14
- package/dist/ArchiveViewer-Brzg_0Xj.js.map +1 -0
- package/dist/{CsvViewer-BPLL4a6K.js → CsvViewer-T7W9mqZB.js} +2 -2
- package/dist/{CsvViewer-BPLL4a6K.js.map → CsvViewer-T7W9mqZB.js.map} +1 -1
- package/dist/{DrawioViewer-HUDLaBMb.js → DrawioViewer-DReOOHRc.js} +2 -2
- package/dist/{DrawioViewer-HUDLaBMb.js.map → DrawioViewer-DReOOHRc.js.map} +1 -1
- package/dist/{EpubViewer-Dlb9JwZx.js → EpubViewer-yf9zJXXg.js} +2 -2
- package/dist/{EpubViewer-Dlb9JwZx.js.map → EpubViewer-yf9zJXXg.js.map} +1 -1
- package/dist/{IpynbViewer-omprV92r.js → IpynbViewer-Dt_l00CD.js} +2 -2
- package/dist/{IpynbViewer-omprV92r.js.map → IpynbViewer-Dt_l00CD.js.map} +1 -1
- package/dist/{MermaidViewer-DwgszRcQ.js → MermaidViewer-Nbv27ana.js} +2 -2
- package/dist/{MermaidViewer-DwgszRcQ.js.map → MermaidViewer-Nbv27ana.js.map} +1 -1
- package/dist/{PsdViewer-DIHfkYmM.js → PsdViewer-1nRpsuvz.js} +2 -2
- package/dist/{PsdViewer-DIHfkYmM.js.map → PsdViewer-1nRpsuvz.js.map} +1 -1
- package/dist/{TiffViewer-D5YH_ISS.js → TiffViewer-Djawe0Rq.js} +2 -2
- package/dist/{TiffViewer-D5YH_ISS.js.map → TiffViewer-Djawe0Rq.js.map} +1 -1
- package/dist/{Viewer3D-Qq7TBKJ_.js → Viewer3D-D7EtANiH.js} +2 -2
- package/dist/{Viewer3D-Qq7TBKJ_.js.map → Viewer3D-D7EtANiH.js.map} +1 -1
- package/dist/filex-core.js +1 -1
- package/dist/filex-core.umd.cjs +4 -4
- package/dist/filex-core.umd.cjs.map +1 -1
- package/dist/{index-BekR3mux.js → index-DeVgQCwW.js} +546 -532
- package/dist/index-DeVgQCwW.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/FileExplorer.vue +11 -2
- package/src/components/ListView.vue +2 -0
- package/src/components/RecentlyOpened.vue +6 -1
- package/src/components/StarButton.vue +6 -1
- package/src/components/TagPicker.vue +7 -2
- package/src/modals/PreviewModal.vue +1 -1
- package/src/viewers/ArchiveViewer.vue +1 -1
- package/dist/ArchiveViewer-ChemVSr_.js.map +0 -1
- package/dist/index-BekR3mux.js.map +0 -1
package/dist/filex-core.umd.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
(function(Ye,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],r):(Ye=typeof globalThis<"u"?globalThis:Ye||self,r(Ye.FilexCore={},Ye.Vue))})(this,function(Ye,r){"use strict";var _A=Object.defineProperty;var kA=(Ye,r,Na)=>r in Ye?_A(Ye,r,{enumerable:!0,configurable:!0,writable:!0,value:Na}):Ye[r]=Na;var kr=(Ye,r,Na)=>kA(Ye,typeof r!="symbol"?r+"":r,Na);function Na(e,t){for(var n=0;n<t.length;n++){const a=t[n];if(typeof a!="string"&&!Array.isArray(a)){for(const i in a)if(i!=="default"&&!(i in e)){const o=Object.getOwnPropertyDescriptor(a,i);o&&Object.defineProperty(e,i,o.get?o:{enumerable:!0,get:()=>a[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}function Rs(e){return!!e&&e.enabled&&e.state==="ok"}function Wd(e){const t=e.apiBase!=null?e.apiBase.replace(/\/+$/,""):null;function n(i,o){return i||(t===null?null:`${t}${o}`)}const a=e.endpoint??(t!==null?`${t}/api/files/manager`:null);if(!a)throw new Error("[@brftech/filex-core] config requires either `apiBase` or `endpoint`");return{manager:a,uploadInit:n(e.uploadInit,"/api/files/upload/init"),uploadFinalize:n(e.uploadFinalize,"/api/files/upload/finalize"),uploadAbort:n(e.uploadAbort,"/api/files/upload/abort"),shareCreate:n(e.shareCreate,"/api/files/share"),shareList:n(e.shareList,"/api/files/share"),shareDelete:n(e.shareDelete,"/api/files/share/{uuid}"),limits:n(e.limits,"/api/files/limits"),capabilities:n(e.capabilities,"/api/files/capabilities"),archiveList:n(e.archiveList,"/api/files/archive/list"),archiveExtract:n(e.archiveExtract,"/api/files/archive/extract"),archiveAdd:n(e.archiveAdd,"/api/files/archive/add"),copy:n(e.copy,"/api/files/copy"),moveAsync:n(e.moveAsync,"/api/files/move"),deleteAsync:n(e.deleteAsync,"/api/files/delete"),opsList:n(e.opsList,"/api/files/ops"),opsShow:n(e.opsShow,"/api/files/ops/{id}"),onlyOfficeConfig:n(e.onlyOfficeConfig,"/api/files/onlyoffice/config"),saveText:n(e.saveText,"/api/files/save-text"),restore:n(e.restore,"/api/files/restore"),trashList:n(e.trashList,"/api/files/manager/trash"),trashRestore:n(e.trashRestore,"/api/files/manager/restore")}}async function fg(e){if(typeof e=="function"){const t=e();return t instanceof Promise?await t:t}return e}function hg(e){return e?"kind"in e?e:e.type==="bearer"?{kind:"bearer",token:e.token}:e.type==="csrf"?{kind:"csrf",csrf:e.csrf}:{kind:"none"}:{kind:"none"}}function Yd(e){const t=Wd(e),n=hg(e.auth);async function a(ce={}){const pe={Accept:"application/json",...ce};if(n.kind==="bearer"){const Ae=await fg(n.token);Ae&&(pe.Authorization=`Bearer ${Ae}`)}else if(n.kind==="csrf")pe["X-CSRF-TOKEN"]=n.csrf,pe["X-Requested-With"]="XMLHttpRequest";else if(n.kind==="basic"){const Ae=btoa(`${n.user}:${n.pass}`);pe.Authorization=`Basic ${Ae}`}return pe}function i(ce={}){const pe={Accept:"application/json",...ce};if(n.kind==="bearer"&&typeof n.token=="string")pe.Authorization=`Bearer ${n.token}`;else if(n.kind==="csrf")pe["X-CSRF-TOKEN"]=n.csrf,pe["X-Requested-With"]="XMLHttpRequest";else if(n.kind==="basic"){const Ae=btoa(`${n.user}:${n.pass}`);pe.Authorization=`Basic ${Ae}`}return pe}function o(){return n.kind==="csrf"?"include":"same-origin"}function s(ce){const pe=(e.locale??"tr")!=="en",We={400:["Geçersiz istek","Bad request"],401:["Oturum gerekli, tekrar giriş yapın","Sign-in required"],403:["Bu işlem için yetkiniz yok","You are not allowed to do this"],404:["Bulunamadı","Not found"],409:["Zaten var / çakışma","Already exists / conflict"],413:["Dosya çok büyük","File too large"],415:["Bu dosya türü desteklenmiyor","Unsupported file type"],422:["Geçersiz veri","Invalid data"],429:["Çok fazla istek, biraz bekleyin","Too many requests"],500:["Sunucu hatası","Server error"],501:["Bu işlem desteklenmiyor","Not supported"],503:["Servis şu an kullanılamıyor","Service unavailable"]}[ce];return We?pe?We[0]:We[1]:pe?`Hata (${ce})`:`Error (${ce})`}async function l(ce,pe={}){const Ae={...await a(),...pe.headers??{}},We=await fetch(ce,{...pe,headers:Ae,credentials:o()});if(!We.ok){const wt=await We.text().catch(()=>""),et=new Error(s(We.status));throw et.status=We.status,et.detail=wt.slice(0,300),et}return We.json()}function c(ce=""){return t.manager.replace(/\/manager(\?.*)?$/,"/permissions")+ce}async function d(ce){return l(c()+"?path="+encodeURIComponent(ce))}async function u(ce){return l(c("/resolve")+"?email="+encodeURIComponent(ce))}async function h(ce){return l(c("/users")+"?q="+encodeURIComponent(ce))}async function f(ce){return l(c(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ce)})}async function p(ce,pe){return l(c("/"+ce),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({level:pe})})}async function k(ce){return l(c("/"+ce),{method:"DELETE"})}async function v(ce){return l(c("/invite"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ce)})}async function b(ce){return l(c("/share-mail"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ce)})}function m(ce){const pe=new URLSearchParams;for(const[Ae,We]of Object.entries(ce))We!=null&&pe.set(Ae,String(We));return pe.toString()}function g(ce,pe={}){const Ae=t.manager.includes("?")?"&":"?";return`${t.manager}${Ae}${m({q:ce,action:ce,...pe})}`}async function _(ce){return l(g("index",{path:ce}))}async function y(ce,pe){return l(g("search",{path:ce,filter:pe}))}async function E(ce,pe={}){const Ae=t.manager.replace(/\/manager(\?.*)?$/,"/search"),We=Ae.includes("?")?"&":"?",wt=`${Ae}${We}${m({q:ce,limit:pe.limit,scope:pe.scope})}`,et=await l(wt);return Array.isArray(et==null?void 0:et.results)?et.results:[]}async function M(ce){return l(g("subfolders",{path:ce}))}async function D(ce,pe){return l(g("newfolder"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,name:pe})})}async function x(ce,pe,Ae){return l(g("rename"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,item:pe,name:Ae})})}async function w(ce,pe,Ae){return l(g("move"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,item:Ae,items:pe.map(We=>({path:We}))})})}async function B(ce,pe){return l(g("delete"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,items:pe.map(Ae=>({path:Ae}))})})}async function N(ce,pe){if(!t.copy)throw new Error("copy endpoint not configured");return l(t.copy,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:ce,target:pe})})}async function G(ce,pe,Ae){if(!t.moveAsync)throw new Error("moveAsync endpoint not configured");return l(t.moveAsync,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:ce,target:pe,sourceDir:Ae})})}async function F(ce,pe){if(!t.deleteAsync)throw new Error("deleteAsync endpoint not configured");return l(t.deleteAsync,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:ce,sourceDir:pe})})}async function q(ce){if(!t.restore)throw new Error("restore endpoint not configured");return l(t.restore,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:ce})})}async function Y(ce){if(!t.trashList)throw new Error("trashList endpoint not configured");const pe=t.trashList,Ae=pe.includes("?")?"&":"?",We=ce?`${pe}${Ae}storage=${encodeURIComponent(ce)}`:pe;return l(We)}async function K(ce){const pe=t.trashRestore;if(!pe)throw new Error("trashRestore endpoint not configured");let Ae=0;for(const We of ce)try{await l(pe,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:We})}),Ae++}catch{}return{restored:Ae}}async function Q(ce,pe,Ae){const We=new FormData;We.append("path",ce);for(const et of pe)We.append("file[]",et,et.name);const wt=await a();return new Promise((et,ft)=>{const ct=new XMLHttpRequest;ct.open("POST",g("upload"));for(const[pt,ht]of Object.entries(wt))pt!=="Content-Type"&&ct.setRequestHeader(pt,ht);ct.withCredentials=o()==="include",ct.upload.onprogress=pt=>{Ae&&pt.lengthComputable&&Ae(Math.round(pt.loaded/pt.total*100))},ct.onload=()=>{if(ct.status>=200&&ct.status<300)try{et(JSON.parse(ct.responseText))}catch(pt){ft(pt)}else ft(new Error(`${ct.status} ${ct.statusText}: ${ct.responseText.slice(0,200)}`))},ct.onerror=()=>ft(new Error("Network error")),ct.send(We)})}function re(ce){return g("download",{path:ce})}function $(ce){return g("preview",{path:ce})}async function V(ce){const pe=await a(),Ae=await fetch($(ce),{headers:pe,credentials:o()});if(!Ae.ok){const ft=await Ae.text().catch(()=>"");throw new Error(`${Ae.status} ${Ae.statusText}${ft?" — "+ft.slice(0,200):""}`)}const We=await Ae.blob(),wt=We.type||Ae.headers.get("content-type")||"";return{url:URL.createObjectURL(We),blob:We,mime:wt}}async function z(ce){const pe=await a(),Ae=await fetch($(ce),{headers:pe,credentials:o()});if(!Ae.ok){const We=await Ae.text().catch(()=>"");throw new Error(`${Ae.status} ${Ae.statusText}${We?" — "+We.slice(0,200):""}`)}return Ae.arrayBuffer()}async function U(){return t.limits?l(t.limits):{max_upload_mb:1024}}async function H(){return t.capabilities?l(t.capabilities):{ffmpeg:!1,ghostscript:!1,libreoffice:!1,max_chunk_mb:5,upload_limit_mb:1024,onlyoffice_url:e.onlyOfficeBase??null,drawio_url:e.drawioBase??null,convert_url:e.convertBase??null}}async function de(ce){if(!t.shareCreate)throw new Error("shareCreate endpoint not configured");return l(t.shareCreate,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ce)})}async function he(ce){if(!t.shareList)return{shares:[]};const pe=t.shareList.includes("?")?"&":"?";return l(`${t.shareList}${pe}path=${encodeURIComponent(ce)}`)}async function ve(ce){if(!t.shareDelete)throw new Error("shareDelete endpoint not configured");const pe=t.shareDelete.replace("{uuid}",encodeURIComponent(ce));return l(pe,{method:"DELETE"})}async function xe(ce){if(!t.archiveList)throw new Error("archiveList endpoint not configured");return{entries:(await l(t.archiveList,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce})})).entries.map(Ae=>({name:Ae.name,size:Ae.size,isDir:Ae.is_dir,lastModified:Ae.mtime}))}}async function ie(ce,pe){if(!t.archiveExtract)throw new Error("archiveExtract endpoint not configured");return l(t.archiveExtract,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,members:pe})})}async function ge(ce,pe){if(!t.archiveAdd)throw new Error("archiveAdd endpoint not configured");return l(t.archiveAdd,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,files:pe})})}function me(ce=""){return t.manager.replace(/\/manager(\?.*)?$/,"/versions")+ce}async function we(ce){const pe=await l(me()+"?node_id="+encodeURIComponent(String(ce)));return Array.isArray(pe==null?void 0:pe.versions)?pe.versions:[]}async function Ge(ce,pe,Ae=!0){await l(me("/restore"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ce,version_id:pe,snapshot_current:Ae})})}async function Xe(ce){await l(me("/snapshot"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ce})})}function tt(ce=""){return t.manager.replace(/\/manager(\?.*)?$/,"/comments")+ce}async function Ke(ce){const pe=await l(tt()+"?node_id="+encodeURIComponent(String(ce)));return Array.isArray(pe==null?void 0:pe.comments)?pe.comments:[]}async function De(ce,pe){return(await l(tt(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ce,body:pe})})).comment}async function Ne(ce){await l(tt("/"+encodeURIComponent(String(ce))),{method:"DELETE"})}async function ke(){const ce=t.manager.replace(/\/manager(\?.*)?$/,"/ws-ticket");try{return await l(ce,{method:"POST"})}catch{return null}}return{wsTicket:ke,index:_,search:y,globalSearch:E,subfolders:M,newFolder:D,rename:x,move:w,copy:N,moveAsync:G,deleteAsync:F,deleteItems:B,restore:q,listTrash:Y,restoreIds:K,uploadMultipart:Q,downloadUrl:re,previewUrl:$,fetchBlob:V,fetchArrayBuffer:z,limits:U,capabilities:H,createShare:de,listShares:he,revokeShare:ve,archiveList:xe,archiveExtract:ie,archiveAdd:ge,listVersions:we,restoreVersion:Ge,snapshotVersion:Xe,listComments:Ke,addComment:De,deleteComment:Ne,listPermissions:d,resolveEmail:u,searchUsers:h,addPermission:f,updatePermission:p,deletePermission:k,invitePermission:v,shareMail:b,endpoints:t,authHeaders:a,authHeadersSync:i,credentialsMode:o,jsonFetch:l}}function Xd(e,t){const n=e.chunkSize??5242880,a=Math.max(1,Math.min(8,e.parallelChunks??4));async function i(o){var f,p;const s=o.chunkSize??n,l=o.parallelChunks??a,c={id:crypto.randomUUID(),file:o.file,path:o.path,totalBytes:o.file.size,uploadedBytes:0,percent:0,status:"initializing",cancel:()=>{}};let d=!1;const u=[];c.cancel=()=>{d=!0;for(const k of u)k.abort()};function h(){var k;c.percent=c.totalBytes>0?Math.min(100,Math.round(c.uploadedBytes/c.totalBytes*100)):0,(k=o.onProgress)==null||k.call(o,c)}try{if(!t.endpoints.uploadInit)throw new Error("uploadInit not configured");const k=await t.jsonFetch(t.endpoints.uploadInit,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:o.path,filename:o.file.name,size:o.file.size,mime:o.file.type||"application/octet-stream"})});c.uploadId=k.uploadId,c.status="uploading",h();const v=k.chunkBytes??s,b=new Map,m=[];let g=0;async function _(w){const N=(w.partNumber-1)*(k.chunkBytes??s),G=Math.min(N+(k.chunkBytes??s),o.file.size),F=o.file.slice(N,G),q=new AbortController;u.push(q),await new Promise((Y,K)=>{const Q=new XMLHttpRequest;Q.open("PUT",w.presignedUrl),Q.upload.onprogress=re=>{if(re.lengthComputable){const $=b.get(w.partNumber)??0,V=re.loaded-$;b.set(w.partNumber,re.loaded),c.uploadedBytes+=V,h()}},Q.onload=()=>{if(Q.status>=200&&Q.status<300){const re=(Q.getResponseHeader("ETag")||Q.getResponseHeader("etag")||"").trim();if(!re){K(new Error("Missing ETag on S3 response"));return}const $=G-N,V=b.get(w.partNumber)??0;V<$&&(c.uploadedBytes+=$-V,b.set(w.partNumber,$)),m.push({partNumber:w.partNumber,etag:re}),Y()}else K(new Error(`S3 PUT ${w.partNumber} → ${Q.status}: ${Q.responseText.slice(0,200)}`))},Q.onerror=()=>K(new Error(`S3 PUT ${w.partNumber} network error`)),Q.onabort=()=>K(new DOMException("Aborted","AbortError")),q.signal.addEventListener("abort",()=>Q.abort()),Q.send(F)})}const y=2;async function E(w,B=0){try{await _(w)}catch(N){if(d)throw N;const G=N instanceof Error?N:new Error(String(N));if(G.name==="AbortError"||B>=y)throw G;const F=b.get(w.partNumber)??0;F>0&&(c.uploadedBytes=Math.max(0,c.uploadedBytes-F),b.delete(w.partNumber),h());const q=500*(B+1)+Math.floor(Math.random()*250);return await new Promise(Y=>setTimeout(Y,q)),E(w,B+1)}}async function M(){for(;!d&&g<k.parts.length;){const w=k.parts[g++];await E(w)}}const D=[];for(let w=0;w<l;w++)D.push(M());if(await Promise.all(D),d)throw new DOMException("Aborted by user","AbortError");if(!t.endpoints.uploadFinalize)throw new Error("uploadFinalize not configured");c.status="finalizing",m.sort((w,B)=>w.partNumber-B.partNumber);const x=await t.jsonFetch(t.endpoints.uploadFinalize,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uploadId:k.uploadId,parts:m})});return c.status="done",c.uploadedBytes=c.totalBytes,c.percent=100,h(),(f=o.onDone)==null||f.call(o,c,x),x}catch(k){const v=k instanceof Error?k:new Error(String(k));if(c.status=v.name==="AbortError"?"aborted":"error",c.error=v.message,h(),c.uploadId&&t.endpoints.uploadAbort&&c.status==="aborted")try{await t.jsonFetch(t.endpoints.uploadAbort,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uploadId:c.uploadId})})}catch{}throw(p=o.onError)==null||p.call(o,c,v),v}}return{uploadFile:i}}function Zd(e){const t=r.ref(new Set),n=r.ref(null);function a(f,p={}){if(p.shift&&n.value){const k=e(),v=k.findIndex(y=>y.path===n.value),b=k.findIndex(y=>y.path===f);if(v===-1||b===-1){t.value=new Set([f]),n.value=f;return}const[m,g]=v<b?[v,b]:[b,v],_=new Set;for(let y=m;y<=g;y++)_.add(k[y].path);t.value=_;return}if(p.ctrl){const k=new Set(t.value);k.has(f)?k.delete(f):k.add(f),t.value=k,n.value=f;return}t.value=new Set([f]),n.value=f}function i(){t.value=new Set,n.value=null}function o(){t.value=new Set(e().map(f=>f.path))}function s(f){return t.value.has(f)}function l(f){const p=new Set(t.value);p.add(f),t.value=p}function c(f){const p=new Set(t.value);p.delete(f),t.value=p}const d=r.computed(()=>t.value.size),u=r.computed(()=>t.value.size===0),h=r.computed(()=>e().filter(p=>t.value.has(p.path)));return{selected:t,anchor:n,click:a,clear:i,selectAll:o,has:s,add:l,remove:c,size:d,isEmpty:u,nodes:h}}const oa=[{id:"palette",defaultCombo:"Ctrl+K",labelKey:"shortcuts.palette",groupKey:"shortcuts.group.nav"},{id:"search",defaultCombo:"/",labelKey:"shortcuts.search",groupKey:"shortcuts.group.nav"},{id:"go-up",defaultCombo:"Alt+↑",fixedCombos:["Backspace"],labelKey:"shortcuts.go_up",groupKey:"shortcuts.group.nav"},{id:"open",defaultCombo:"Enter",prevent:!1,labelKey:"shortcuts.open",groupKey:"shortcuts.group.nav"},{id:"quicklook",defaultCombo:"Space",labelKey:"shortcuts.quicklook",groupKey:"shortcuts.group.nav"},{id:"close",defaultCombo:"Esc",customizable:!1,prevent:!1,inForms:!0,labelKey:"shortcuts.close",groupKey:"shortcuts.group.nav"},{id:"inspector",defaultCombo:"I",labelKey:"shortcuts.inspector",groupKey:"shortcuts.group.nav"},{id:"help",defaultCombo:"?",labelKey:"shortcuts.help",groupKey:"shortcuts.group.nav"},{id:"toggle-hidden",defaultCombo:"Ctrl+Shift+.",labelKey:"shortcuts.toggle_hidden",groupKey:"shortcuts.group.nav"},{id:"select-all",defaultCombo:"Ctrl+A",labelKey:"shortcuts.select_all",groupKey:"shortcuts.group.selection"},{id:"rename",defaultCombo:"F2",labelKey:"shortcuts.rename",groupKey:"shortcuts.group.file"},{id:"delete",defaultCombo:"Del",labelKey:"shortcuts.delete",groupKey:"shortcuts.group.file"},{id:"cut",defaultCombo:"Ctrl+X",labelKey:"shortcuts.cut",groupKey:"shortcuts.group.file"},{id:"copy",defaultCombo:"Ctrl+C",labelKey:"shortcuts.copy",groupKey:"shortcuts.group.file"},{id:"paste",defaultCombo:"Ctrl+V",labelKey:"shortcuts.paste",groupKey:"shortcuts.group.file"},{id:"tab-new",defaultCombo:"Ctrl+T",labelKey:"shortcuts.tab_new",groupKey:"shortcuts.group.tabs"},{id:"tab-close",defaultCombo:"Ctrl+W",labelKey:"shortcuts.tab_close",groupKey:"shortcuts.group.tabs"},{id:"tab-next",defaultCombo:"Ctrl+Tab",labelKey:"shortcuts.tab_next",groupKey:"shortcuts.group.tabs"},{id:"tab-prev",defaultCombo:"Ctrl+Shift+Tab",labelKey:"shortcuts.tab_prev",groupKey:"shortcuts.group.tabs"}],pg={palette:"onPathJump",search:"onFocusSearch","go-up":"onGoUp",open:"onOpen",quicklook:"onQuickLook",close:"onClose",inspector:"onToggleInspector","toggle-hidden":"onToggleHidden",help:"onShowHelp","select-all":"onSelectAll",rename:"onRename",delete:"onDelete",cut:"onCut",copy:"onCopy",paste:"onPaste","tab-new":"onTabNew","tab-close":"onTabClose","tab-next":"onTabNext","tab-prev":"onTabPrev"},Vs="filex.shortcuts";function mg(){try{const e=localStorage.getItem(Vs);if(!e)return{};const t=JSON.parse(e);if(!t||typeof t!="object")return{};const n={};for(const[a,i]of Object.entries(t))typeof i=="string"&&oa.some(o=>o.id===a)&&(n[a]=i);return n}catch{return{}}}const wr=r.ref(mg());function $s(){try{Object.keys(wr.value).length===0?localStorage.removeItem(Vs):localStorage.setItem(Vs,JSON.stringify(wr.value))}catch{}}function Jd(e){return oa.find(t=>t.id===e)}function Gi(e){var n;const t=wr.value[e];return t!==void 0?t:((n=Jd(e))==null?void 0:n.defaultCombo)??""}function Go(e,t){const n=Jd(e);if(!n||n.customizable===!1)return;const a={...wr.value};t===n.defaultCombo?delete a[e]:a[e]=t,wr.value=a,$s()}function Qd(e){if(!(e in wr.value))return;const t={...wr.value};delete t[e],wr.value=t,$s()}function eu(){wr.value={},$s()}function tu(e,t){var n;if(!e)return null;for(const a of oa)if(a.id!==t){if((n=a.fixedCombos)!=null&&n.includes(e))return{id:a.id,fixed:!0};if(Gi(a.id)===e)return{id:a.id,fixed:a.customizable===!1}}return null}const gg={" ":"Space",Spacebar:"Space",Escape:"Esc",Delete:"Del",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",PageUp:"PgUp",PageDown:"PgDn"},vg=new Set(["Control","Alt","Shift","Meta","AltGraph","CapsLock","NumLock","ScrollLock","Fn","Dead"]);function yg(e){const t=e.key;if(!t||vg.has(t))return null;const n=gg[t];return n||(t.length===1?t.toUpperCase():t)}function Us(e){const t=yg(e);if(!t)return null;const n=[];(e.ctrlKey||e.metaKey)&&n.push("Ctrl"),e.altKey&&n.push("Alt");const a=t.length===1&&t.toUpperCase()===t.toLowerCase();return e.shiftKey&&!a&&n.push("Shift"),n.push(t),n.join("+")}function Hs(){return r.computed(()=>oa.map(e=>{const t=Gi(e.id),n=e.fixedCombos??[];return{id:e.id,combo:t,fixedCombos:n,keys:[t,...n].filter(a=>!!a),labelKey:e.labelKey,groupKey:e.groupKey,customizable:e.customizable!==!1,overridden:wr.value[e.id]!==void 0}}))}oa.map(e=>({keys:[e.defaultCombo,...e.fixedCombos??[]].filter(t=>!!t),labelKey:e.labelKey,groupKey:e.groupKey}));function nu(e,t){const n=r.computed(()=>{const i=new Map;for(const o of oa){const s=Gi(o.id);s&&i.set(s,o)}return i});function a(i){var h;if(!e.value||i.key!=="Escape"&&document.querySelector(".fe-ctx-backdrop"))return;const s=i.target,l=!!(s&&(s.tagName==="INPUT"||s.tagName==="TEXTAREA"||s.tagName==="SELECT"||s.isContentEditable)),c=Us(i);if(!c)return;if(c==="Backspace"){if(l)return;(h=t.hasSelection)!=null&&h.call(t)&&t.onDelete?(i.preventDefault(),t.onDelete()):t.onGoUp&&(i.preventDefault(),t.onGoUp());return}const d=n.value.get(c);if(!d||l&&!d.inForms||c==="Space"&&s&&typeof s.closest=="function"&&s.closest('button, a, select, summary, [role="button"], [role="menuitem"]'))return;const u=t[pg[d.id]];u&&(d.prevent!==!1&&i.preventDefault(),u())}r.onMounted(()=>window.addEventListener("keydown",a)),r.onBeforeUnmount(()=>window.removeEventListener("keydown",a))}const ru={"toolbar.new_folder":"Yeni Klasör","toolbar.upload":"Yükle","toolbar.search":"Ara","toolbar.search.placeholder":"Dosya adı…","toolbar.view.list":"Liste","toolbar.view.grid":"Izgara","toolbar.refresh":"Yenile","toolbar.go_up":"Üst Klasör","ctx.open":"Aç","ctx.preview":"Önizle","ctx.download":"İndir","ctx.convert":"Dönüştür","ctx.rename":"Yeniden Adlandır","ctx.delete":"Sil","ctx.delete_perm":"Kalıcı Olarak Sil","ctx.restore":"Geri Getir","ctx.share":"Paylaş","ctx.move":"Taşı","ctx.copy":"Kopyala","ctx.cut":"Kes","ctx.show_hidden":"Gizli dosyaları göster","ctx.hide_hidden":"Gizli dosyaları gizle","ctx.paste":"Yapıştır","ctx.info":"Bilgi","ctx.duplicate":"Kopyasını Oluştur","ctx.new_file":"Yeni Dosya","modal.delete.title":"Silinsin mi?","modal.delete.message":"{count} öğe çöpe atılacak.","modal.delete.confirm":"Çöpe At","modal.delete.cancel":"Vazgeç","modal.rename.title":"Yeniden Adlandır","modal.rename.save":"Kaydet","modal.rename.cancel":"Vazgeç","modal.newfolder.title":"Yeni Klasör","modal.newfolder.placeholder":"Klasör adı","modal.newfolder.create":"Oluştur","modal.newfolder.cancel":"Vazgeç","modal.share.title":"Paylaşım Linki","modal.share.pin":"PIN koruması","modal.share.expires":"Son kullanma","modal.share.max_downloads":"İndirme limiti","modal.share.create":"Paylaş","modal.share.cancel":"Vazgeç","modal.share.copy":"Kopyala","modal.share.url_copied":"Link kopyalandı","modal.share.pin_copied":"PIN kopyalandı","modal.share.cli_copied":"CLI komutu kopyalandı","upload.progress":"Yükleniyor","upload.done":"Tamamlandı","upload.error":"Hata","upload.failed":"“{name}” yüklenemedi","upload.aborted":"İptal edildi","upload.cancel":"İptal","empty.folder":"Bu klasör boş","empty.search":"Sonuç bulunamadı",loading:"Yükleniyor…","notFound.title":"Klasör bulunamadı","notFound.desc":"Bu klasör mevcut değil, taşınmış ya da erişim yetkiniz yok.","notFound.goRoot":"Kök klasöre dön","col.name":"Ad","col.size":"Boyut","col.modified":"Tarih","col.type":"Tür","unit.bytes":"B","unit.kb":"KB","unit.mb":"MB","unit.gb":"GB","unit.tb":"TB","breadcrumb.root":"Kök","breadcrumb.copy_path":"Yolu Kopyala","breadcrumb.go_to_path":"Yola Git","breadcrumb.path_placeholder":"fileman/foo/bar","ops.copy":"Kopyalanıyor","ops.move":"Taşınıyor","ops.delete":"Siliniyor","ops.queued":"sırada","ops.done":"tamamlandı","ops.error":"hata","node.trash":"Çöp Kutusu","viewer.open_in_new_tab":"Yeni Sekmede Aç","viewer.loading":"Yükleniyor…","viewer.failed_to_load":"Dosya yüklenemedi","viewer.peer_not_installed":"Bu dosya tipi için opsiyonel kütüphane kurulu değil. Peer dependency yükle veya İndir düğmesini kullan.","viewer.format_unsupported_3d":"Bu 3B format tarayıcı önizlemesinde desteklenmiyor (model-viewer yalnızca .glb / .gltf / .usdz okur). Lütfen indirip yerel bir araçta açın.","viewer.zoom_in":"Yakınlaştır","viewer.zoom_out":"Uzaklaştır","viewer.fit_width":"Sayfa genişliğine sığdır","viewer.next_page":"Sonraki sayfa","viewer.prev_page":"Önceki sayfa","viewer.page_n_of_m":"Sayfa {n} / {m}","viewer.tags":"Etiketler","viewer.layers":"Katmanlar","viewer.toc":"İçindekiler","viewer.font_smaller":"Yazıyı küçült","viewer.font_larger":"Yazıyı büyüt","viewer.search":"Ara","viewer.download":"İndir","viewer.saving":"Kaydediliyor…","viewer.save":"Kaydet (Ctrl+S)","viewer.saved":"Kaydedildi","viewer.save_error":"Hata","viewer.editor_loading":"Editör yükleniyor…","viewer.no_preview":"Bu dosya tipi için önizleme henüz yok.","viewer.edit":"Düzenle","viewer.close":"Kapat","presence.expand":"İsimleri göster","presence.collapse":"Küçült","viewer.save_annotations":"Açıklamaları kaydet","viewer.annotations_on":"Açıklamalar: açık","viewer.annotations_off":"Açıklamalar: kapalı","viewer.read_only":"Salt okunur","viewer.csv_first_row_header":"İlk satır başlık olsun","viewer.csv_filter":"Satır filtrele…","viewer.epub_prev":"Önceki","viewer.epub_next":"Sonraki","viewer.drawio.disabled":"diagrams.net editörü bu filex kurulumunda yapılandırılmamış — yönetici FILEX_DRAWIO_URL'yi ayarlamalı.","viewer.archive.entries":"{n} dosya","viewer.archive.empty":"Arşiv boş.","viewer.archive.error":"Arşiv okunamadı.","viewer.name":"Ad","viewer.size":"Boyut","col.sort":"Sırala","group.today":"Bugün","group.yesterday":"Dün","group.this_week":"Bu Hafta","group.this_month":"Bu Ay","group.no_date":"Tarihsiz","toolbar.density.compact":"Sıkışık görünüm","toolbar.density.comfortable":"Rahat görünüm","palette.placeholder":"Dosya, klasör veya komut ara…","palette.files":"Dosyalar","palette.commands":"Komutlar","palette.goto":"Yola git","palette.empty":"Sonuç bulunamadı","palette.hint":"↑↓ gezin · Enter seç · Esc kapat","cmd.view_toggle":"Görünümü değiştir (liste ⇄ ızgara)","cmd.trash":"Çöp kutusunu aç","shortcuts.title":"Klavye Kısayolları","shortcuts.group.nav":"Gezinme","shortcuts.group.selection":"Seçim","shortcuts.group.file":"Dosya işlemleri","shortcuts.palette":"Komut paleti","shortcuts.search":"Aramaya odaklan","shortcuts.go_up":"Üst klasöre çık","shortcuts.open":"Seçili öğeyi aç","shortcuts.close":"Kapat / vazgeç","shortcuts.toggle_hidden":"Gizli dosyaları göster/gizle","shortcuts.help":"Bu yardım penceresi","shortcuts.select_all":"Tümünü seç","shortcuts.rename":"Yeniden adlandır","shortcuts.delete":"Sil","shortcuts.cut":"Kes","shortcuts.copy":"Kopyala","shortcuts.paste":"Yapıştır","breadcrumb.more":"Aradaki klasörler","empty.hint":"Dosyaları buraya sürükleyip bırakın","empty.upload":"Dosya yükle","empty.search.title":"Aramanla eşleşen dosya yok","empty.search.hint":"Farklı bir arama terimi deneyin","empty.trash.title":"Çöp kutusu boş","error.title":"Liste yüklenemedi","error.retry":"Yeniden dene","toast.undo":"Geri Al","toast.undone":"Geri alındı","toast.undo_failed":"Geri alınamadı","toast.renamed":"Yeniden adlandırıldı","toast.moved":"Taşındı","toast.trashed":"Çöpe taşındı","conn.offline":"Canlı bağlantı yok — değişiklikler gecikebilir","conn.tooltip":"Sunucuyla canlı bağlantı kurulamadı; liste belirli aralıklarla otomatik yenilenir. Bağlantı geri gelince bu uyarı kaybolur.","palette.everywhere":"Her yerde","palette.searching":"Aranıyor…","palette.saved":"Kayıtlı aramalar","palette.save":"Aramayı kaydet","palette.saved.delete":"Kayıtlı aramayı sil","search.in_content":"İçerikte","toolbar.more":"Diğer işlemler","toolbar.search.close":"Aramayı kapat","sheet.menu":"İşlemler","sheet.close":"Kapat","toolbar.inspector":"Ayrıntılar","ctx.details":"Ayrıntılar","shortcuts.inspector":"Ayrıntılar panelini aç/kapat","inspector.title":"Ayrıntılar","inspector.close":"Kapat","inspector.section.general":"Genel","inspector.section.versions":"Sürümler","inspector.section.permissions":"İzinler","inspector.section.shares":"Paylaşımlar","inspector.path":"Yol","inspector.size":"Boyut","inspector.modified":"Değiştirilme","inspector.mime":"MIME türü","inspector.etag":"ETag","inspector.copy":"Kopyala","inspector.copied":"Kopyalandı","inspector.error":"Yüklenemedi","inspector.items_summary":"{n} öğe, toplam {size}","inspector.folder_items":"{n} öğe","inspector.versions.empty":"Sürüm geçmişi yok","inspector.versions.v":"Sürüm {n}","inspector.versions.restore":"Geri yükle","inspector.versions.restore_confirm":"Bu sürüm geri yüklensin mi?","inspector.versions.snapshot_current":"Önce şimdiki halin sürümünü al","inspector.versions.confirm":"Onayla","inspector.versions.cancel":"Vazgeç","inspector.versions.take_snapshot":"Şimdiki halin sürümünü al","inspector.versions.restored":"Sürüm geri yüklendi","inspector.versions.snapshotted":"Sürüm alındı","inspector.versions.unsupported":"Sunucu bu işlemi desteklemiyor","inspector.perm.none":"Erişim yok","inspector.perm.viewer":"Görüntüleyen","inspector.perm.editor":"Düzenleyen","inspector.perm.owner":"Sahip","inspector.perm.manage":"İzinleri yönet","inspector.shares.empty":"Paylaşım linki yok","inspector.shares.copy":"Linki kopyala","theme.menu":"Tema","theme.title":"Tema Galerisi","theme.hint":"Tema yalnız renk paletini değiştirir; açık/koyu mod ayrı çalışmaya devam eder.","theme.reset":"Varsayılana dön","theme.close":"Kapat","theme.selected":"Seçili","theme.name.default":"Varsayılan","theme.name.night":"Gece Mavisi","theme.name.forest":"Orman","theme.name.amber":"Kehribar","theme.name.lilac":"Leylak","theme.name.contrast":"Yüksek Kontrast","theme.name.gray":"Yumuşak Gri","theme.name.terminal":"Terminal Yeşili","shortcuts.quicklook":"Hızlı bakış","shortcuts.customize":"Özelleştir","shortcuts.settings.menu":"Kısayollar","shortcuts.settings.title":"Kısayol Ayarları","shortcuts.settings.hint":'Bir kısayolu değiştirmek için "Değiştir"e basıp yeni tuş kombinasyonuna basın. Değişiklikler yalnızca bu tarayıcıda saklanır.',"shortcuts.settings.change":"Değiştir","shortcuts.settings.capture":"Tuşlara basın… (Esc iptal)","shortcuts.settings.reset":"Varsayılana dön","shortcuts.settings.reset_all":"Tümünü sıfırla","shortcuts.settings.unbound":"Atanmadı","shortcuts.settings.fixed":"Sabit","shortcuts.settings.customized":"Özelleştirildi","shortcuts.settings.conflict":'kombinasyonu "{name}" kısayolunda kullanılıyor.',"shortcuts.settings.conflict_fixed":'kombinasyonu "{name}" sabit kısayoluna ayrılmış — kullanılamaz.',"shortcuts.settings.conflict_take":"Eskisini boşa çıkar ve ata","shortcuts.settings.conflict_cancel":"Vazgeç","quicklook.hint_close":"kapat","quicklook.hint_nav":"önceki/sonraki","quicklook.hint_open":"aç","opc.title":"İşlemler","opc.aria_badge":"{n} işlem — işlem merkezini aç/kapat","opc.close":"Kapat","opc.active":"Sürüyor","opc.history":"Geçmiş","opc.clear":"Temizle","opc.empty":"İşlem yok","opc.cancel":"İptal","opc.retry":"Yeniden dene","opc.dismiss":"Kapat","opc.queued":"Sırada","opc.percent":"%{n}","opc.status.running":"Sürüyor","opc.status.done":"Bitti","opc.status.error":"Hata","opc.status.aborted":"İptal edildi","opc.kind.upload":"Yükleme","opc.kind.copy":"Kopyalama","opc.kind.move":"Taşıma","opc.kind.delete":"Silme","opc.kind.convert":"Dönüştürme","opc.kind.archive":"Arşiv","tour.aria":"Tanıtım turu","tour.restart":"Turu tekrar başlat","tour.skip":"Turu atla","tour.back":"Geri","tour.next":"İleri","tour.done":"Bitti","tour.progress":"{n} / {m}","tour.step.nav.title":"Depo ve klasörler","tour.step.nav.desc":"Bulunduğun konum burada görünür. Kırıntı çubuğundaki adımlara tıklayarak üst klasörlere ve depo köküne dönebilirsin.","tour.step.upload.title":"Dosya yükle","tour.step.upload.desc":"Bu düğmeyle dosya seçebilirsin; dosyaları doğrudan pencereye sürükleyip bırakmak da çalışır.","tour.step.search.title":"Arama","tour.step.search.desc":"Bu kutu bulunduğun klasörü filtreler. Ctrl+K komut paleti ile tüm depolarda arama yapabilir ve komut çalıştırabilirsin.","tour.step.view.title":"Görünümü değiştir","tour.step.view.desc":"Liste ve ızgara görünümü arasında geçiş yapabilirsin; seçimin hatırlanır.","tour.step.share.title":"Paylaşım","tour.step.share.desc":'Bir dosyaya sağ tıklayıp "Paylaş / İzinler" ile bağlantı oluşturabilir, PIN ve son kullanma süresi ekleyebilirsin.',"tour.step.help.title":"Kısayollar","tour.step.help.desc":'? tuşu kısayol kartını, Ctrl+K komut paletini açar. Bu turu menüdeki "Turu tekrar başlat" ile dilediğinde yeniden izleyebilirsin.',"error.hint":"Bağlantı ya da sunucu kaynaklı geçici bir sorun olabilir. Yeniden deneyin.","error.details":"Teknik ayrıntılar","col.star":"Yıldız","toolbar.view_label":"Görünüm","list.aria":"Dosya listesi","grid.aria":"Dosya ızgarası","tabs.strip":"Sekmeler","tabs.new":"Yeni sekme","tabs.close":"Sekmeyi kapat","tabs.split":"Görünümü böl","tabs.split_off":"Bölmeyi kapat","ctx.open_new_tab":"Yeni sekmede aç","shortcuts.group.tabs":"Sekmeler","shortcuts.tab_new":"Yeni sekme","shortcuts.tab_close":"Sekmeyi kapat","shortcuts.tab_next":"Sonraki sekme","shortcuts.tab_prev":"Önceki sekme","cmd.tab_new":"Yeni sekme aç","cmd.split_toggle":"Görünümü böl / birleştir","split.pane":"İkincil panel","split.close":"Yan paneli kapat","split.error":"Liste yüklenemedi","split.retry":"Yeniden dene","split.copy_queued":"Kopyalama kuyruğa alındı","split.cross_copy":"Depolar farklı — kopyalama kuyruğa alındı","split.cross_failed":"Depolar arası kopyalama bu sunucuda desteklenmiyor","toolbar.view.gallery":"Galeri","gallery.aria":"Dosya galerisi","inspector.section.comments":"Yorumlar","inspector.comments.empty":"Henüz yorum yok.","inspector.comments.placeholder":"Yorum yaz…","inspector.comments.send":"Gönder","inspector.comments.delete":"Yorumu sil","e2e.create.title":"Şifreli klasör oluştur","e2e.create.option":"Şifreli klasör oluştur…","e2e.create.pw_placeholder":"Klasör parolası (en az 8 karakter)","e2e.create.pw2_placeholder":"Parolayı tekrar girin","e2e.create.warn_title":"GERİ DÖNÜŞÜ YOK","e2e.create.warn_body":"Dosyalar yalnız bu parolayla açılır. Parola sunucuda TUTULMAZ; unutursanız içerik sonsuza dek kaybolur. Kurtarma yolu yoktur — yönetici dahil kimse açamaz.","e2e.create.ack":"Anladım: parolayı kaybedersem verilerim kurtarılamaz.","e2e.create.ack_required":"Devam etmek için uyarıyı onaylayın.","e2e.create.pw_short":"Parola en az 8 karakter olmalı.","e2e.create.pw_mismatch":"Parolalar birbirini tutmuyor.","e2e.create.bad_name":"Geçersiz klasör adı.","e2e.create.create":"Şifreli klasörü oluştur","e2e.create.busy":"Oluşturuluyor…","e2e.create.done":"Şifreli klasör oluşturuldu","e2e.create.failed":"Şifreli klasör oluşturulamadı","e2e.create.nested":"Şifreli klasörün içine ikinci bir şifreli klasör açılamaz.","e2e.locked.title":"Bu klasör uçtan uca şifreli","e2e.locked.hint":"İçeriği görmek için klasör parolasını girin. Parola yalnız bu sekmede, bellekte tutulur.","e2e.locked.pw_placeholder":"Klasör parolası","e2e.locked.unlock":"Kilidi aç","e2e.locked.busy":"Doğrulanıyor…","e2e.unlock.wrong":"Parola yanlış.","e2e.unlock.marker_missing":"Şifre dosyası (.filex-e2e.json) okunamadı.","e2e.strip.label":"Şifreli klasör — kilit açık","e2e.strip.lock":"Kilitle","e2e.locked_toast":"Klasör kilitlendi","e2e.upload.too_big":"200 MB üstü dosyalar şifreli klasöre yüklenemez (MVP sınırı)","e2e.upload.locked":"Önce klasörün kilidini açın","e2e.decrypting":"Çözülüyor…","e2e.decrypt_failed":"Dosya çözülemedi (parola değişmiş ya da dosya bozulmuş olabilir).","e2e.download.failed":"Şifreli dosya indirilemedi."},au={"toolbar.new_folder":"New Folder","toolbar.upload":"Upload","toolbar.search":"Search","toolbar.search.placeholder":"File name…","toolbar.view.list":"List","toolbar.view.grid":"Grid","toolbar.refresh":"Refresh","toolbar.go_up":"Up one level","ctx.open":"Open","ctx.preview":"Preview","ctx.download":"Download","ctx.convert":"Convert","ctx.rename":"Rename","ctx.delete":"Delete","ctx.delete_perm":"Delete Permanently","ctx.restore":"Restore","ctx.share":"Share","ctx.move":"Move","ctx.copy":"Copy","ctx.cut":"Cut","ctx.show_hidden":"Show hidden files","ctx.hide_hidden":"Hide hidden files","ctx.paste":"Paste","ctx.info":"Info","ctx.duplicate":"Duplicate","ctx.new_file":"New File","modal.delete.title":"Delete?","modal.delete.message":"{count} item(s) will be moved to trash.","modal.delete.confirm":"Move to Trash","modal.delete.cancel":"Cancel","modal.rename.title":"Rename","modal.rename.save":"Save","modal.rename.cancel":"Cancel","modal.newfolder.title":"New Folder","modal.newfolder.placeholder":"Folder name","modal.newfolder.create":"Create","modal.newfolder.cancel":"Cancel","modal.share.title":"Share Link","modal.share.pin":"PIN protected","modal.share.expires":"Expires at","modal.share.max_downloads":"Download limit","modal.share.create":"Share","modal.share.cancel":"Cancel","modal.share.copy":"Copy","modal.share.url_copied":"Link copied","modal.share.pin_copied":"PIN copied","modal.share.cli_copied":"CLI command copied","upload.progress":"Uploading","upload.done":"Done","upload.error":"Error","upload.failed":"Could not upload “{name}”","upload.aborted":"Aborted","upload.cancel":"Cancel","empty.folder":"This folder is empty","empty.search":"No results",loading:"Loading…","notFound.title":"Folder not found","notFound.desc":"This folder does not exist, was moved, or you do not have access to it.","notFound.goRoot":"Go to root folder","col.name":"Name","col.size":"Size","col.modified":"Modified","col.type":"Type","unit.bytes":"B","unit.kb":"KB","unit.mb":"MB","unit.gb":"GB","unit.tb":"TB","breadcrumb.root":"Root","breadcrumb.copy_path":"Copy Path","breadcrumb.go_to_path":"Go To Path","breadcrumb.path_placeholder":"fileman/foo/bar","ops.copy":"Copying","ops.move":"Moving","ops.delete":"Deleting","ops.queued":"queued","ops.done":"done","ops.error":"error","node.trash":"Trash","viewer.open_in_new_tab":"Open in New Tab","viewer.loading":"Loading…","viewer.failed_to_load":"Failed to load file","viewer.peer_not_installed":"Optional viewer library is not installed. Install the peer dependency or use the download button.","viewer.format_unsupported_3d":"This 3D format is not supported in the browser preview (model-viewer only reads .glb / .gltf / .usdz). Please download and open with a local tool.","viewer.zoom_in":"Zoom in","viewer.zoom_out":"Zoom out","viewer.fit_width":"Fit width","viewer.next_page":"Next page","viewer.prev_page":"Previous page","viewer.page_n_of_m":"Page {n} of {m}","viewer.tags":"Tags","viewer.layers":"Layers","viewer.toc":"Contents","viewer.font_smaller":"Smaller text","viewer.font_larger":"Larger text","viewer.search":"Search","viewer.download":"Download","viewer.saving":"Saving…","viewer.save":"Save (Ctrl+S)","viewer.saved":"Saved","viewer.save_error":"Error","viewer.editor_loading":"Loading editor…","viewer.no_preview":"No preview for this file type yet.","viewer.edit":"Edit","viewer.close":"Close","presence.expand":"Show names","presence.collapse":"Collapse","viewer.save_annotations":"Save annotations","viewer.annotations_on":"Annotations: on","viewer.annotations_off":"Annotations: off","viewer.read_only":"Read only","viewer.csv_first_row_header":"First row as header","viewer.csv_filter":"Filter rows…","viewer.epub_prev":"Previous","viewer.epub_next":"Next","viewer.drawio.disabled":"diagrams.net embed is not configured for this filex instance — operator must wire FILEX_DRAWIO_URL to enable the editor.","viewer.archive.entries":"{n} files","viewer.archive.empty":"Archive is empty.","viewer.archive.error":"Could not read archive contents.","viewer.name":"Name","viewer.size":"Size","col.sort":"Sort","group.today":"Today","group.yesterday":"Yesterday","group.this_week":"This Week","group.this_month":"This Month","group.no_date":"No date","toolbar.density.compact":"Compact view","toolbar.density.comfortable":"Comfortable view","palette.placeholder":"Search files, folders or commands…","palette.files":"Files","palette.commands":"Commands","palette.goto":"Go to path","palette.empty":"No results","palette.hint":"↑↓ navigate · Enter select · Esc close","cmd.view_toggle":"Toggle view (list ⇄ grid)","cmd.trash":"Open trash","shortcuts.title":"Keyboard Shortcuts","shortcuts.group.nav":"Navigation","shortcuts.group.selection":"Selection","shortcuts.group.file":"File operations","shortcuts.palette":"Command palette","shortcuts.search":"Focus search","shortcuts.go_up":"Go up one level","shortcuts.open":"Open selected item","shortcuts.close":"Close / cancel","shortcuts.toggle_hidden":"Show/hide hidden files","shortcuts.help":"This help dialog","shortcuts.select_all":"Select all","shortcuts.rename":"Rename","shortcuts.delete":"Delete","shortcuts.cut":"Cut","shortcuts.copy":"Copy","shortcuts.paste":"Paste","breadcrumb.more":"Hidden folders","empty.hint":"Drag and drop files here","empty.upload":"Upload files","empty.search.title":"No files match your search","empty.search.hint":"Try a different search term","empty.trash.title":"Trash is empty","error.title":"Could not load this folder","error.retry":"Try again","toast.undo":"Undo","toast.undone":"Undone","toast.undo_failed":"Could not undo","toast.renamed":"Renamed","toast.moved":"Moved","toast.trashed":"Moved to trash","conn.offline":"No live connection — changes may be delayed","conn.tooltip":"Live connection to the server is unavailable; the list refreshes periodically. This notice disappears once the connection is back.","palette.everywhere":"Everywhere","palette.searching":"Searching…","palette.saved":"Saved searches","palette.save":"Save search","palette.saved.delete":"Delete saved search","search.in_content":"In content","toolbar.more":"More actions","toolbar.search.close":"Close search","sheet.menu":"Actions","sheet.close":"Close","toolbar.inspector":"Details","ctx.details":"Details","shortcuts.inspector":"Toggle details panel","inspector.title":"Details","inspector.close":"Close","inspector.section.general":"General","inspector.section.versions":"Versions","inspector.section.permissions":"Permissions","inspector.section.shares":"Shares","inspector.path":"Path","inspector.size":"Size","inspector.modified":"Modified","inspector.mime":"MIME type","inspector.etag":"ETag","inspector.copy":"Copy","inspector.copied":"Copied","inspector.error":"Could not load","inspector.items_summary":"{n} items, {size} total","inspector.folder_items":"{n} items","inspector.versions.empty":"No version history","inspector.versions.v":"Version {n}","inspector.versions.restore":"Restore","inspector.versions.restore_confirm":"Restore this version?","inspector.versions.snapshot_current":"Snapshot the current state first","inspector.versions.confirm":"Confirm","inspector.versions.cancel":"Cancel","inspector.versions.take_snapshot":"Snapshot current state","inspector.versions.restored":"Version restored","inspector.versions.snapshotted":"Snapshot taken","inspector.versions.unsupported":"The server does not support this operation","inspector.perm.none":"No access","inspector.perm.viewer":"Viewer","inspector.perm.editor":"Editor","inspector.perm.owner":"Owner","inspector.perm.manage":"Manage permissions","inspector.shares.empty":"No share links","inspector.shares.copy":"Copy link","theme.menu":"Theme","theme.title":"Theme Gallery","theme.hint":"Themes only change the color palette; light/dark mode still applies separately.","theme.reset":"Reset to default","theme.close":"Close","theme.selected":"Selected","theme.name.default":"Default","theme.name.night":"Night Blue","theme.name.forest":"Forest","theme.name.amber":"Amber","theme.name.lilac":"Lilac","theme.name.contrast":"High Contrast","theme.name.gray":"Soft Gray","theme.name.terminal":"Terminal Green","shortcuts.quicklook":"Quick look","shortcuts.customize":"Customize","shortcuts.settings.menu":"Shortcuts","shortcuts.settings.title":"Shortcut Settings","shortcuts.settings.hint":'To remap a shortcut, press "Change" and then the new key combination. Changes are stored in this browser only.',"shortcuts.settings.change":"Change","shortcuts.settings.capture":"Press keys… (Esc cancels)","shortcuts.settings.reset":"Reset to default","shortcuts.settings.reset_all":"Reset all","shortcuts.settings.unbound":"Not set","shortcuts.settings.fixed":"Fixed","shortcuts.settings.customized":"Customized","shortcuts.settings.conflict":'is already used by "{name}".',"shortcuts.settings.conflict_fixed":'is reserved by the fixed shortcut "{name}" — it cannot be used.',"shortcuts.settings.conflict_take":"Unassign old and use here","shortcuts.settings.conflict_cancel":"Cancel","quicklook.hint_close":"close","quicklook.hint_nav":"previous/next","quicklook.hint_open":"open","opc.title":"Operations","opc.aria_badge":"{n} operations — toggle operations center","opc.close":"Close","opc.active":"In progress","opc.history":"History","opc.clear":"Clear","opc.empty":"No operations","opc.cancel":"Cancel","opc.retry":"Retry","opc.dismiss":"Dismiss","opc.queued":"Queued","opc.percent":"{n}%","opc.status.running":"In progress","opc.status.done":"Done","opc.status.error":"Failed","opc.status.aborted":"Cancelled","opc.kind.upload":"Upload","opc.kind.copy":"Copy","opc.kind.move":"Move","opc.kind.delete":"Delete","opc.kind.convert":"Convert","opc.kind.archive":"Archive","tour.aria":"Onboarding tour","tour.restart":"Restart the tour","tour.skip":"Skip tour","tour.back":"Back","tour.next":"Next","tour.done":"Done","tour.progress":"{n} / {m}","tour.step.nav.title":"Storages & folders","tour.step.nav.desc":"Your current location lives here. Click any crumb to jump back to parent folders or the storage root.","tour.step.upload.title":"Upload files","tour.step.upload.desc":"Pick files with this button — or simply drag & drop them anywhere in the window.","tour.step.search.title":"Search","tour.step.search.desc":"This box filters the current folder. The Ctrl+K command palette searches across all storages and runs commands.","tour.step.view.title":"Switch views","tour.step.view.desc":"Toggle between the list and grid layout; your choice is remembered.","tour.step.share.title":"Sharing","tour.step.share.desc":'Right-click any file and use "Share / Permissions" to create a link with an optional PIN and expiry.',"tour.step.help.title":"Shortcuts","tour.step.help.desc":'Press ? for the shortcut cheat-sheet and Ctrl+K for the command palette. Replay this tour any time via "Restart the tour" in the menu.',"error.hint":"This may be a temporary network or server problem. Please try again.","error.details":"Technical details","col.star":"Star","toolbar.view_label":"View","list.aria":"File list","grid.aria":"File grid","tabs.strip":"Tabs","tabs.new":"New tab","tabs.close":"Close tab","tabs.split":"Split view","tabs.split_off":"Close split","ctx.open_new_tab":"Open in new tab","shortcuts.group.tabs":"Tabs","shortcuts.tab_new":"New tab","shortcuts.tab_close":"Close tab","shortcuts.tab_next":"Next tab","shortcuts.tab_prev":"Previous tab","cmd.tab_new":"Open a new tab","cmd.split_toggle":"Toggle split view","split.pane":"Secondary pane","split.close":"Close the side pane","split.error":"Could not load the listing","split.retry":"Retry","split.copy_queued":"Copy queued","split.cross_copy":"Different storages — copy queued instead","split.cross_failed":"Cross-storage copy is not supported by this server","toolbar.view.gallery":"Gallery","gallery.aria":"File gallery","inspector.section.comments":"Comments","inspector.comments.empty":"No comments yet.","inspector.comments.placeholder":"Write a comment…","inspector.comments.send":"Send","inspector.comments.delete":"Delete comment","e2e.create.title":"Create encrypted folder","e2e.create.option":"Create encrypted folder…","e2e.create.pw_placeholder":"Folder password (min 8 characters)","e2e.create.pw2_placeholder":"Repeat the password","e2e.create.warn_title":"NO WAY BACK","e2e.create.warn_body":"Files open ONLY with this password. The password is NEVER stored on the server; if you forget it the content is lost forever. There is no recovery — not even an admin can open it.","e2e.create.ack":"I understand: if I lose the password my data cannot be recovered.","e2e.create.ack_required":"Please confirm the warning to continue.","e2e.create.pw_short":"Password must be at least 8 characters.","e2e.create.pw_mismatch":"Passwords do not match.","e2e.create.bad_name":"Invalid folder name.","e2e.create.create":"Create encrypted folder","e2e.create.busy":"Creating…","e2e.create.done":"Encrypted folder created","e2e.create.failed":"Could not create the encrypted folder","e2e.create.nested":"You cannot create an encrypted folder inside another one.","e2e.locked.title":"This folder is end-to-end encrypted","e2e.locked.hint":"Enter the folder password to see its contents. The password stays in this tab’s memory only.","e2e.locked.pw_placeholder":"Folder password","e2e.locked.unlock":"Unlock","e2e.locked.busy":"Verifying…","e2e.unlock.wrong":"Wrong password.","e2e.unlock.marker_missing":"Could not read the key file (.filex-e2e.json).","e2e.strip.label":"Encrypted folder — unlocked","e2e.strip.lock":"Lock","e2e.locked_toast":"Folder locked","e2e.upload.too_big":"Files over 200 MB cannot be uploaded to an encrypted folder (MVP limit)","e2e.upload.locked":"Unlock the folder first","e2e.decrypting":"Decrypting…","e2e.decrypt_failed":"Could not decrypt the file (password changed or file corrupted).","e2e.download.failed":"Could not download the encrypted file."},Gs={tr:ru,en:au};function Gt(e){const t=r.computed(()=>{const o=typeof e=="function"?e():e.value;return Gs[o]??Gs.tr});function n(o,s={}){const l=t.value[o]??o;return Object.entries(s).reduce((c,[d,u])=>c.replaceAll(`{${d}}`,String(u)),l)}function a(o){if(o==null||o<0)return"—";if(o===0)return`0 ${n("unit.bytes")}`;const s=[[1024**4,"unit.tb"],[1024**3,"unit.gb"],[1024**2,"unit.mb"],[1024,"unit.kb"],[1,"unit.bytes"]];for(const[l,c]of s)if(o>=l){const d=o/l;return`${d>=100?Math.round(d):d.toFixed(d>=10?1:2)} ${n(c)}`}return`${o} ${n("unit.bytes")}`}function i(o){if(o.basename===".trash")return n("node.trash");const s=o.basename.match(/^\d{8}-\d{6}-[A-Za-z0-9]+__(.+)$/);return s?s[1]:o.basename}return{t:n,formatSize:a,nodeDisplayName:i}}const bg=2e3,_g=8e3;function iu(e){const t=(...l)=>{for(const c of l)if(typeof c=="number")return c;return 0},n=(...l)=>{for(const c of l)if(typeof c=="string"&&c!=="")return c;return null},a=String(e.status??"pending"),i=a==="ok"||a==="done"?"done":a==="failed"||a==="partial"||a==="error"?"error":a==="running"?"running":"pending",o=Array.isArray(e.sources)?e.sources:[],s=n(e.op_type,e.kind)??"delete";return{id:t(e.id),op_type:s==="copy"||s==="move"?s:"delete",status:i,progress_total:t(e.progress_total,e.total,o.length),progress_done:t(e.progress_done,e.done),target_path:n(e.target_path,e.dest),source_dir:n(e.source_dir),source_count:t(e.source_count,o.length),error_message:n(e.error_message,e.error),started_at:n(e.started_at),finished_at:n(e.finished_at),created_at:n(e.created_at)}}function ou(e,t,n={}){const a=r.ref([]),i=new Set,o=new Map;let s=!1;const l=r.computed(()=>a.value.some(k=>k.status==="pending"||k.status==="running"));let c;function d(){c||t.endpoints.opsList&&(c=setInterval(()=>{h()},bg),h())}function u(){c&&(clearInterval(c),c=void 0)}async function h(){var k;if(t.endpoints.opsList)try{const b=((await t.jsonFetch(t.endpoints.opsList)).ops||[]).map(iu);for(const x of b)(x.status==="done"||x.status==="error")&&!i.has(x.id)&&(i.add(x.id),o.set(x.id,Date.now()),s&&((k=n.onSettled)==null||k.call(n,x)));const m=new Set(a.value.map(x=>x.id)),g=b.filter(x=>x.status==="pending"||x.status==="running"?!0:s?m.has(x.id):!1),_=new Set(g.map(x=>x.id)),y=a.value.filter(x=>!_.has(x.id)),E=[...g,...y];s=!0;const M=Date.now(),D=E.filter(x=>{if(x.status==="pending"||x.status==="running")return!0;const w=o.get(x.id);return w!==void 0&&M-w<_g});a.value=D,!l.value&&D.length===0&&u()}catch(v){console.warn("[usePendingOps] poll failed:",v)}}function f(k){const v=iu(k);a.value.some(m=>m.id===v.id)||(a.value=[v,...a.value]),d()}function p(k){a.value=a.value.filter(v=>v.id!==k),o.delete(k)}return r.onBeforeUnmount(()=>{u()}),{ops:a,hasActive:l,register:f,dismiss:p,poll:h,startPolling:d,stopPolling:u}}const kg=25e3,wg=15e3,xg=6;class Sg{constructor(t){kr(this,"ws",null);kr(this,"opts");kr(this,"closed",!1);kr(this,"connecting",!1);kr(this,"retries",0);kr(this,"fallback",!1);kr(this,"pingTimer",null);kr(this,"reconnectTimer",null);kr(this,"currentPath",null);kr(this,"currentFocus",null);this.opts=t,this.connect()}subscribe(t){this.currentPath=t,this.currentFocus=null,t&&this.send({type:"subscribe",path:t})}setFocus(t){this.currentFocus=t,this.send({type:"focus",file:t})}close(){this.closed=!0,this.clearTimers(),this.dropSocket()}async connect(){if(this.closed||this.connecting||this.ws)return;this.connecting=!0;let t=null;try{t=await this.opts.getTicket()}catch{t=null}if(this.connecting=!1,this.closed)return;if(!t||!t.ticket||!t.ws_url){this.fail();return}const n=t.ws_url.includes("?")?"&":"?";let a;try{a=new WebSocket(`${t.ws_url}${n}ticket=${encodeURIComponent(t.ticket)}`)}catch{this.fail();return}this.ws=a,a.onopen=()=>{var i,o;this.retries=0,this.setFallback(!1),(o=(i=this.opts.handlers).onStatus)==null||o.call(i,!0),this.currentPath&&this.send({type:"subscribe",path:this.currentPath}),this.currentFocus!==null&&this.send({type:"focus",file:this.currentFocus}),this.startPing()},a.onmessage=i=>{var l,c,d,u;let o;try{o=JSON.parse(typeof i.data=="string"?i.data:"")}catch{return}const s=o;(s==null?void 0:s.type)==="change"?(c=(l=this.opts.handlers).onChange)==null||c.call(l,o):(s==null?void 0:s.type)==="presence"&&((u=(d=this.opts.handlers).onPresence)==null||u.call(d,o))},a.onerror=()=>{},a.onclose=()=>{var i,o;this.stopPing(),this.ws=null,(o=(i=this.opts.handlers).onStatus)==null||o.call(i,!1),this.fail()}}fail(){if(this.closed||this.reconnectTimer)return;if(this.retries>=xg){this.setFallback(!0);return}const t=Math.min(1e3*2**this.retries,wg);this.retries+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},t)}setFallback(t){var n,a;this.fallback!==t&&(this.fallback=t,(a=(n=this.opts.handlers).onFallback)==null||a.call(n,t))}send(t){const n=this.ws;if(!(!n||n.readyState!==WebSocket.OPEN))try{n.send(JSON.stringify(t))}catch{}}startPing(){this.stopPing(),this.pingTimer=setInterval(()=>this.send({type:"ping"}),kg)}stopPing(){this.pingTimer&&(clearInterval(this.pingTimer),this.pingTimer=null)}dropSocket(){if(this.ws){try{this.ws.onclose=null,this.ws.close()}catch{}this.ws=null}}clearTimers(){this.stopPing(),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}}const Eg=200,Cg=12e3;function Bg(e,t){const n=r.ref([]),a=r.ref(!1),i=r.ref(!1);let o=null,s=null,l=null,c=null;function d(){l&&clearTimeout(l),l=setTimeout(()=>{l=null,t.reload()},Eg)}function u(b){s&&b.path&&b.path!==s||(n.value=Array.isArray(b.users)?b.users:[])}function h(b){i.value=b,b?(n.value=[],c||(c=setInterval(()=>t.reload(),Cg))):c&&(clearInterval(c),c=null)}function f(){o||(o=new Sg({getTicket:()=>e.wsTicket(),handlers:{onChange:d,onPresence:u,onFallback:h,onStatus:b=>{a.value=b}}}))}function p(b){n.value=[],s=b,o==null||o.subscribe(b)}function k(b){o==null||o.setFocus(b)}function v(){l&&(clearTimeout(l),l=null),c&&(clearInterval(c),c=null),o==null||o.close(),o=null,i.value=!1}return{presenceUsers:n,connected:a,degraded:i,start:f,subscribe:p,setFocus:k,stop:v}}const Dg=500;function Tg(e,t){const n=r.ref({}),a=[],i=new Set,o=new Set;function s(d){if(/^https?:\/\//i.test(d))return d;const u=(e||"").replace(/\/+$/,"");return u&&d.startsWith("/")?u+d:d}function l(d){const u=d.thumb_url;if(!u)return null;const h=n.value[u];return h||(!i.has(u)&&!o.has(u)&&c(u),null)}async function c(d){o.add(d);try{const u=await fetch(s(d),{headers:await t.authHeaders({Accept:"*/*"}),credentials:t.credentialsMode()});if(!u.ok)throw new Error(String(u.status));const h=await u.blob();if(a.length>=Dg){const f=a.shift();if(f&&n.value[f]){URL.revokeObjectURL(n.value[f]);const p={...n.value};delete p[f],n.value=p}}a.push(d),n.value={...n.value,[d]:URL.createObjectURL(h)}}catch{i.add(d)}finally{o.delete(d)}}return{src:l}}let jo=null,qo=null,Ko=null,Wo=null;function ji(){jo||(jo=import("monaco-editor").then(e=>(Ko=e.default??e,Ko)).catch(()=>(Ko=null,null))),qo||(qo=import("highlight.js").then(e=>(Wo=e.default??e,Wo)).catch(()=>(Wo=null,null)))}async function Yo(){return jo||ji(),jo}async function Xo(){return qo||ji(),qo}function js(){return Ko}function lu(){return Wo}function Ag(){return ji(),{ensureMonaco:Yo,ensureHighlight:Xo,getMonaco:js,getHighlight:lu}}const Mg={key:0,class:"fx-presence-chips"},Ng=["title"],Ig={key:0,class:"fx-presence-dot","aria-hidden":"true"},zg={class:"fx-presence-chip-name"},Fg={key:0,class:"fx-presence-chip-file"},Lg=["title"],Og=["title"],Pg={key:0,class:"fx-presence-dot","aria-hidden":"true"},Rg={key:0,class:"fx-presence-more"},Vg=["title"],$g={class:"fx-presence-file"},Ug=["title","aria-expanded"],su="filex.presence.expanded",Hg=r.defineComponent({__name:"PresenceBar",props:{users:{},selfId:{},locale:{}},setup(e){const t=e,{t:n}=Gt(()=>t.locale??"tr"),a=r.computed(()=>(t.users??[]).filter(u=>t.selfId==null||u.id!==t.selfId)),i=r.ref((()=>{try{return localStorage.getItem(su)==="1"}catch{return!1}})());function o(){i.value=!i.value;try{localStorage.setItem(su,i.value?"1":"0")}catch{}}function s(u){return u.uid??String(u.id)}function l(u){const h=u.trim().split(/\s+/).filter(Boolean);return h.length===0?"?":h.length===1?h[0].slice(0,2).toUpperCase():(h[0][0]+h[h.length-1][0]).toUpperCase()}function c(u){const h=s(u);let f=0;for(let p=0;p<h.length;p++)f=f*31+h.charCodeAt(p)>>>0;return f%360}function d(u){return u.file?`${u.name} · ${u.file}`:u.name}return(u,h)=>a.value.length?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fx-presence",{"fx-presence--wide":i.value}])},[i.value?(r.openBlock(),r.createElementBlock("div",Mg,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,f=>(r.openBlock(),r.createElementBlock("span",{key:s(f),class:"fx-presence-chip",title:d(f)},[r.createElementVNode("span",{class:"fx-presence-avatar",style:r.normalizeStyle({backgroundColor:`hsl(${c(f)} 60% 45%)`})},[r.createTextVNode(r.toDisplayString(l(f.name))+" ",1),f.file?(r.openBlock(),r.createElementBlock("span",Ig)):r.createCommentVNode("",!0)],4),r.createElementVNode("span",zg,r.toDisplayString(f.name),1),f.file?(r.openBlock(),r.createElementBlock("span",Fg,"· "+r.toDisplayString(f.file),1)):r.createCommentVNode("",!0)],8,Ng))),128))])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createElementVNode("div",{class:"fx-presence-avatars",title:a.value.map(d).join(", ")},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value.slice(0,5),f=>(r.openBlock(),r.createElementBlock("span",{key:s(f),class:"fx-presence-avatar",style:r.normalizeStyle({backgroundColor:`hsl(${c(f)} 60% 45%)`}),title:d(f)},[r.createTextVNode(r.toDisplayString(l(f.name))+" ",1),f.file?(r.openBlock(),r.createElementBlock("span",Pg)):r.createCommentVNode("",!0)],12,Og))),128)),a.value.length>5?(r.openBlock(),r.createElementBlock("span",Rg,"+"+r.toDisplayString(a.value.length-5),1)):r.createCommentVNode("",!0)],8,Lg),r.createElementVNode("span",{class:"fx-presence-text",title:a.value.map(d).join(", ")},[r.createTextVNode(r.toDisplayString(a.value.length===1?a.value[0].name:`${a.value.length} kişi`)+" ",1),a.value.length===1&&a.value[0].file?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[h[0]||(h[0]=r.createTextVNode(" · ",-1)),r.createElementVNode("span",$g,r.toDisplayString(a.value[0].file),1)],64)):r.createCommentVNode("",!0)],8,Vg)],64)),r.createElementVNode("button",{type:"button",class:"fx-presence-toggle",title:i.value?r.unref(n)("presence.collapse"):r.unref(n)("presence.expand"),"aria-expanded":i.value,onClick:o},r.toDisplayString(i.value?"‹":"›"),9,Ug)],2)):r.createCommentVNode("",!0)}}),xn=(e,t)=>{const n=e.__vccOpts||e;for(const[a,i]of t)n[a]=i;return n},Gg=xn(Hg,[["__scopeId","data-v-f9ddf216"]]),jg=["data-prefers-dark"],qg=["aria-label"],Kg=["aria-label","onKeydown"],Wg={class:"fe-sheet__items"},Yg={key:0,class:"fe-ctx__sep",role:"separator"},Xg=["disabled","onClick"],Zg={key:0,class:"fe-ctx__icon","aria-hidden":"true"},Jg={class:"fe-ctx__label"},Qg=["aria-label"],ev={key:0,class:"fe-ctx__sep",role:"separator"},tv=["disabled","onClick"],nv={key:0,class:"fe-ctx__icon","aria-hidden":"true"},rv={class:"fe-ctx__label"},qs=r.defineComponent({__name:"ContextMenu",props:{locale:{},actions:{},theme:{},sheet:{type:Boolean}},emits:["select"],setup(e,{expose:t,emit:n}){const a=e,i=n,{t:o}=Gt(()=>a.locale),s=r.ref(!1),l=r.ref(0),c=r.ref(0),d=r.ref([]),u=r.ref(null);let h=0,f=0,p=null;async function k($,V){var z;if(p=document.activeElement??null,s.value=!0,l.value=$.clientX,c.value=$.clientY,h=$.clientX,f=$.clientY,d.value=V,await r.nextTick(),a.sheet){(z=y.value)==null||z.focus();return}v(),g(0)}function v(){const $=u.value;if(!$||typeof window>"u")return;const V=$.getBoundingClientRect(),z=8,U=window.innerWidth,H=window.innerHeight;if(f+V.height>H-z){const de=f-V.height;c.value=de>=z?de:Math.max(z,H-V.height-z)}if(h+V.width>U-z){const de=h-V.width;l.value=de>=z?de:Math.max(z,U-V.width-z)}}function b(){var $;s.value=!1,E.value=!1,M.value=0,($=p==null?void 0:p.focus)==null||$.call(p),p=null}function m(){const $=a.sheet?y.value:u.value;return $?Array.from($.querySelectorAll(".fe-ctx__item:not(:disabled)")):[]}function g($){var U;const V=m();if(V.length===0)return;const z=($%V.length+V.length)%V.length;(U=V[z])==null||U.focus()}function _($){const V=m();if(V.length===0)return;const z=document.activeElement,U=z?V.indexOf(z):-1;if(U===-1){g($>0?0:V.length-1);return}g(U+$)}const y=r.ref(null),E=r.ref(!1),M=r.ref(0);let D=0;function x($){const V=$.touches[0];V&&(E.value=!0,D=V.clientY,M.value=0)}function w($){if(!E.value)return;const V=$.touches[0];V&&(M.value=Math.max(0,V.clientY-D))}function B(){if(!E.value)return;const $=M.value>72;E.value=!1,$?b():M.value=0}const N=r.computed(()=>M.value>0?{transform:`translateY(${M.value}px)`,transition:"none"}:void 0);function G($){$.disabled||(i("select",$,d.value),b())}function F($){if($.key==="Escape"){$.stopPropagation(),b();return}if($.key==="Enter"||$.key===" "){$.stopPropagation();return}$.key==="ArrowDown"?($.preventDefault(),$.stopPropagation(),_(1)):$.key==="ArrowUp"?($.preventDefault(),$.stopPropagation(),_(-1)):$.key==="Home"?($.preventDefault(),g(0)):$.key==="End"?($.preventDefault(),g(-1)):$.key==="Tab"&&($.preventDefault(),b())}const q=r.computed(()=>{const $=a.actions.filter(z=>!z.hidden),V=[];for(const z of $)z.divider&&(V.length===0||V[V.length-1].divider)||V.push(z);for(;V.length>0&&V[V.length-1].divider;)V.pop();return V}),Y=r.ref(!1);let K;function Q($){Y.value=!!($&&"matches"in $&&$.matches)}r.onMounted(()=>{var $;typeof window>"u"||(K=window.matchMedia("(prefers-color-scheme: dark)"),Q(K),($=K.addEventListener)==null||$.call(K,"change",Q))}),r.onBeforeUnmount(()=>{var $;($=K==null?void 0:K.removeEventListener)==null||$.call(K,"change",Q)});const re=r.computed(()=>`fe-ctx-backdrop--theme-${a.theme||"auto"}`);return t({show:k,hide:b}),($,V)=>(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[r.createVNode(r.Transition,{name:e.sheet?"fe-sheet":"fe-ctx"},{default:r.withCtx(()=>[s.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe-ctx-backdrop",[re.value,{"fe-ctx-backdrop--sheet":e.sheet}]]),"data-prefers-dark":Y.value?"1":"0",onClick:b,onContextmenu:r.withModifiers(b,["prevent"]),onKeydown:F},[e.sheet?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"sheetEl",ref:y,class:"fe-sheet",role:"menu","aria-label":r.unref(o)("sheet.menu"),tabindex:"-1",style:r.normalizeStyle(N.value),onClick:V[0]||(V[0]=r.withModifiers(()=>{},["stop"]))},[r.createElementVNode("div",{class:"fe-sheet__handle",role:"button",tabindex:"0","aria-label":r.unref(o)("sheet.close"),onClick:b,onKeydown:r.withKeys(r.withModifiers(b,["prevent"]),["enter"]),onTouchstartPassive:x,onTouchmovePassive:w,onTouchend:B,onTouchcancel:B},null,40,Kg),r.createElementVNode("div",Wg,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(q.value,(z,U)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:z.key||U},[z.divider?(r.openBlock(),r.createElementBlock("div",Yg)):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:r.normalizeClass(["fe-ctx__item fe-sheet__item",{"is-danger":z.danger,"is-disabled":z.disabled}]),disabled:z.disabled,role:"menuitem",onClick:H=>G(z)},[z.icon?(r.openBlock(),r.createElementBlock("span",Zg,r.toDisplayString(z.icon),1)):r.createCommentVNode("",!0),r.createElementVNode("span",Jg,r.toDisplayString(z.label),1)],10,Xg))],64))),128))])],12,qg)):(r.openBlock(),r.createElementBlock("div",{key:1,ref_key:"menuEl",ref:u,class:"fe-ctx",role:"menu","aria-orientation":"vertical","aria-label":r.unref(o)("sheet.menu"),style:r.normalizeStyle({top:c.value+"px",left:l.value+"px"}),onClick:V[1]||(V[1]=r.withModifiers(()=>{},["stop"]))},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(q.value,(z,U)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:z.key||U},[z.divider?(r.openBlock(),r.createElementBlock("div",ev)):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:r.normalizeClass(["fe-ctx__item",{"is-danger":z.danger,"is-disabled":z.disabled}]),disabled:z.disabled,role:"menuitem",onClick:H=>G(z)},[z.icon?(r.openBlock(),r.createElementBlock("span",nv,r.toDisplayString(z.icon),1)):r.createCommentVNode("",!0),r.createElementVNode("span",rv,r.toDisplayString(z.label),1)],10,tv))],64))),128))],12,Qg))],42,jg)):r.createCommentVNode("",!0)]),_:1},8,["name"])]))}}),av=["title","aria-label"],iv=["title"],ov={class:"fe-btn__label"},lv=["disabled","title","onClick"],sv={class:"fe-icon"},cv={class:"fe-btn__label"},dv=["title","aria-label"],uv={class:"fe-icon"},fv={class:"fe-btn__label"},hv=["title"],pv={class:"fe-btn__label"},mv={class:"fe-toolbar__search-group"},gv={class:"fe-search"},vv=["placeholder","value","aria-label"],yv=["title","aria-label"],bv=["title","aria-label"],_v=["aria-pressed","aria-label","title"],kv={key:0,class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","aria-hidden":"true",focusable:"false"},wv={key:1,class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","aria-hidden":"true",focusable:"false"},xv=["aria-pressed","title","aria-label"],Sv=["title","aria-label"],Ev=["aria-label"],Cv=["aria-selected","title","aria-label"],Bv=["aria-selected","title","aria-label"],Dv=["aria-selected","title","aria-label"],Tv={class:"fe-search fe-search--full"},Av=["placeholder","value","aria-label","onKeydown"],Mv=["title","aria-label"],Nv=["title","aria-label"],Iv=["title","aria-label"],zv=["title","aria-label"],Fv=["title","aria-label"],cu="filex.density",Lv=40,Ov=r.defineComponent({__name:"Toolbar",props:{viewMode:{},searchQuery:{},trashActive:{type:Boolean},actions:{},selectionMode:{},pasteEnabled:{type:Boolean},convertEnabled:{type:Boolean},canGoUp:{type:Boolean},atVirtualRoot:{type:Boolean},canWrite:{type:Boolean},locale:{},narrow:{type:Boolean},theme:{},inspectorOpen:{type:Boolean}},emits:["update:viewMode","update:searchQuery","new-folder","upload","refresh","go-up","action","open-recents","update:density","toggle-inspector","open-theme","open-shortcut-settings"],setup(e,{expose:t,emit:n}){const a=e,i=n,o=r.ref((()=>{try{return localStorage.getItem(cu)==="compact"?"compact":"comfortable"}catch{return"comfortable"}})());r.onMounted(()=>i("update:density",o.value));function s(){o.value=o.value==="compact"?"comfortable":"compact";try{localStorage.setItem(cu,o.value)}catch{}i("update:density",o.value)}const{t:l}=Gt(()=>a.locale),c=r.ref(null),d=r.ref(a.searchQuery);r.watch(()=>a.searchQuery,z=>{d.value=z});let u;function h(z){const U=z.target.value;d.value=U,u&&clearTimeout(u),u=setTimeout(()=>i("update:searchQuery",U),200)}async function f(){var z,U;a.narrow&&!B.value&&(B.value=!0,await r.nextTick()),(z=c.value)==null||z.focus(),(U=c.value)==null||U.select()}t({focusSearch:f});const p=r.computed(()=>a.selectionMode??"none"),k=r.computed(()=>a.actions.filter(z=>!z.divider&&!z.hidden)),v=r.ref(null),b=r.ref(null),m=r.ref(null),g=r.ref(null),_=r.ref(Number.MAX_SAFE_INTEGER),y=r.computed(()=>k.value.slice(0,_.value)),E=r.computed(()=>k.value.slice(_.value));function M(){if(a.narrow)return;const z=v.value,U=b.value;if(!z||!U){_.value=k.value.length;return}const H=parseFloat(getComputedStyle(z).gap)||8;let de=0;for(const me of Array.from(z.children))me===U||me===m.value||me.classList.contains("fe-btn--fold")||me.offsetWidth>0&&(de+=me.offsetWidth+H);const he=Array.from(U.children).map(me=>me.offsetWidth+H),ve=he.reduce((me,we)=>me+we,0),xe=z.clientWidth-de;if(ve<=xe){_.value=he.length;return}let ie=Lv+H,ge=0;for(const me of he){if(ie+me>xe)break;ie+=me,ge+=1}_.value=ge}let D;r.onMounted(()=>{typeof ResizeObserver<"u"&&v.value&&(D=new ResizeObserver(()=>M()),D.observe(v.value)),r.nextTick(M)}),r.onBeforeUnmount(()=>D==null?void 0:D.disconnect()),r.watch(()=>[k.value,a.narrow,a.trashActive,p.value],()=>void r.nextTick(M),{deep:!1});function x(){var U,H;const z=(U=m.value)==null?void 0:U.getBoundingClientRect();(H=g.value)==null||H.show({clientX:z?z.right:0,clientY:z?z.bottom+4:0},[])}function w(z){i("action",z)}const B=r.ref(!1);r.watch(()=>a.narrow,z=>{z||(B.value=!1)});async function N(){var z;B.value=!0,await r.nextTick(),(z=c.value)==null||z.focus()}function G(){B.value=!1}const F=r.ref(!1);let q;function Y(z){F.value=!!(z&&"matches"in z&&z.matches)}r.onMounted(()=>{var z;typeof window>"u"||!window.matchMedia||(q=window.matchMedia("(pointer: coarse)"),Y(q),(z=q.addEventListener)==null||z.call(q,"change",Y))}),r.onBeforeUnmount(()=>{var z;(z=q==null?void 0:q.removeEventListener)==null||z.call(q,"change",Y)});const K=r.ref(null),Q=r.ref(null),re=r.computed(()=>{const z=[],U=!a.trashActive&&!a.atVirtualRoot&&a.canWrite!==!1;return p.value==="none"&&U&&(z.push({key:"new-folder",label:l("toolbar.new_folder"),icon:"📁"}),a.pasteEnabled&&z.push({key:"paste",label:l("ctx.paste"),icon:"📋"})),z.push(...k.value),z.length&&z.push({divider:!0,key:"bag-sep",label:""}),z.push({key:"refresh",label:l("toolbar.refresh"),icon:"↻"}),z.push({key:"density",label:o.value==="compact"?l("toolbar.density.comfortable"):l("toolbar.density.compact"),icon:"⇅"}),a.viewMode!=="list"&&z.push({key:"view-list",label:l("toolbar.view.list"),icon:"☰"}),a.viewMode!=="grid"&&z.push({key:"view-grid",label:l("toolbar.view.grid"),icon:"▦"}),a.viewMode!=="gallery"&&z.push({key:"view-gallery",label:l("toolbar.view.gallery"),icon:"▣"}),z.push({key:"inspector",label:l("toolbar.inspector"),icon:"ℹ"}),z.push({key:"theme",label:l("theme.menu"),icon:"🎨"}),z.push({key:"shortcut-settings",label:l("shortcuts.settings.menu"),icon:"⌨"}),z.push({key:"tour",label:l("tour.restart"),icon:"🎓"}),z});function $(){var U,H;const z=(U=K.value)==null?void 0:U.getBoundingClientRect();(H=Q.value)==null||H.show({clientX:z?z.right:0,clientY:z?z.bottom+4:0},[])}function V(z){var U;switch(z.key){case"new-folder":i("new-folder");break;case"refresh":i("refresh");break;case"density":s();break;case"view-list":i("update:viewMode","list");break;case"view-grid":i("update:viewMode","grid");break;case"view-gallery":i("update:viewMode","gallery");break;case"inspector":i("toggle-inspector");break;case"theme":i("open-theme");break;case"shortcut-settings":i("open-shortcut-settings");break;case"tour":(U=K.value)==null||U.dispatchEvent(new CustomEvent("fe:tour-restart",{bubbles:!0}));break;default:w(z.key)}}return(z,U)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["fe-toolbar",{"fe-toolbar--narrow":e.narrow,"fe-toolbar--searching":e.narrow&&B.value}])},[e.narrow?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[B.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("div",Tv,[r.createElementVNode("input",{ref_key:"searchEl",ref:c,type:"search",class:"fe-search__input",placeholder:r.unref(l)("toolbar.search.placeholder"),value:d.value,"aria-label":r.unref(l)("toolbar.search"),onInput:h,onKeydown:r.withKeys(r.withModifiers(G,["stop","prevent"]),["esc"])},null,40,Av)]),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.search.close"),"aria-label":r.unref(l)("toolbar.search.close"),onClick:G},[...U[27]||(U[27]=[r.createElementVNode("span",{class:"fe-icon"},"✕",-1)])],8,Mv)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[e.canGoUp?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.go_up"),"aria-label":r.unref(l)("toolbar.go_up"),onClick:U[10]||(U[10]=H=>i("go-up"))},[...U[28]||(U[28]=[r.createElementVNode("span",{class:"fe-icon"},"↑",-1)])],8,Nv)):r.createCommentVNode("",!0),U[32]||(U[32]=r.createElementVNode("div",{class:"fe-toolbar__spacer"},null,-1)),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only fe-toolbar__search-toggle",{"is-active":!!d.value}]),title:r.unref(l)("toolbar.search"),"aria-label":r.unref(l)("toolbar.search"),onClick:N},[...U[29]||(U[29]=[r.createElementVNode("span",{class:"fe-icon"},"🔍",-1)])],10,Iv),!e.atVirtualRoot&&e.canWrite!==!1?(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.upload"),"aria-label":r.unref(l)("toolbar.upload"),onClick:U[11]||(U[11]=H=>i("upload"))},[...U[30]||(U[30]=[r.createElementVNode("span",{class:"fe-icon"},"⬆",-1)])],8,zv)):r.createCommentVNode("",!0),r.createElementVNode("button",{ref_key:"moreBtnEl",ref:K,type:"button",class:"fe-btn fe-btn--icon-only fe-toolbar__more",title:r.unref(l)("toolbar.more"),"aria-label":r.unref(l)("toolbar.more"),"aria-haspopup":"menu",onClick:$},[...U[31]||(U[31]=[r.createElementVNode("span",{class:"fe-icon"},"⋯",-1)])],8,Fv)],64)),r.createVNode(qs,{ref_key:"moreRef",ref:Q,locale:e.locale,theme:e.theme||"auto",sheet:F.value,actions:re.value,onSelect:V},null,8,["locale","theme","sheet","actions"])],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("div",{ref_key:"primaryEl",ref:v,class:"fe-toolbar__primary"},[e.canGoUp?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.go_up"),"aria-label":r.unref(l)("toolbar.go_up"),onClick:U[0]||(U[0]=H=>i("go-up"))},[...U[13]||(U[13]=[r.createElementVNode("span",{class:"fe-icon"},"↑",-1)])],8,av)):r.createCommentVNode("",!0),p.value==="none"&&!e.trashActive&&!e.atVirtualRoot&&e.canWrite!==!1?(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-btn fe-btn--primary",title:r.unref(l)("toolbar.new_folder"),onClick:U[1]||(U[1]=H=>i("new-folder"))},[U[14]||(U[14]=r.createElementVNode("span",{class:"fe-icon"},"📁",-1)),r.createElementVNode("span",ov,r.toDisplayString(r.unref(l)("toolbar.new_folder")),1)],8,iv)):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(y.value,H=>(r.openBlock(),r.createElementBlock("button",{key:H.key,type:"button",class:r.normalizeClass(["fe-btn fe-btn--fold",{"fe-btn--danger":H.danger,"is-disabled":H.disabled}]),disabled:H.disabled,title:H.label,onClick:de=>w(H.key)},[r.createElementVNode("span",sv,r.toDisplayString(H.icon),1),r.createElementVNode("span",cv,r.toDisplayString(H.label),1)],10,lv))),128)),E.value.length>0?(r.openBlock(),r.createElementBlock("button",{key:2,ref_key:"wideMoreBtnEl",ref:m,type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.more"),"aria-label":r.unref(l)("toolbar.more"),"aria-haspopup":"menu",onClick:x},[...U[15]||(U[15]=[r.createElementVNode("span",{class:"fe-icon"},"⋯",-1)])],8,dv)):r.createCommentVNode("",!0),r.createElementVNode("div",{ref_key:"measureEl",ref:b,class:"fe-toolbar__measure","aria-hidden":"true"},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(k.value,H=>(r.openBlock(),r.createElementBlock("button",{key:"m-"+H.key,type:"button",class:"fe-btn",tabindex:"-1"},[r.createElementVNode("span",uv,r.toDisplayString(H.icon),1),r.createElementVNode("span",fv,r.toDisplayString(H.label),1)]))),128))],512),e.pasteEnabled&&p.value==="none"&&!e.trashActive&&!e.atVirtualRoot&&e.canWrite!==!1?(r.openBlock(),r.createElementBlock("button",{key:3,type:"button",class:"fe-btn",title:r.unref(l)("ctx.paste"),onClick:U[2]||(U[2]=H=>w("paste"))},[U[16]||(U[16]=r.createElementVNode("span",{class:"fe-icon"},"📋",-1)),r.createElementVNode("span",pv,r.toDisplayString(r.unref(l)("ctx.paste")),1)],8,hv)):r.createCommentVNode("",!0)],512),U[26]||(U[26]=r.createElementVNode("div",{class:"fe-toolbar__spacer"},null,-1)),r.createElementVNode("div",mv,[r.createElementVNode("div",gv,[r.createElementVNode("input",{ref_key:"searchEl",ref:c,type:"search",class:"fe-search__input",placeholder:r.unref(l)("toolbar.search.placeholder"),value:d.value,"aria-label":r.unref(l)("toolbar.search"),onInput:h},null,40,vv)]),!e.atVirtualRoot&&e.canWrite!==!1?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.upload"),"aria-label":r.unref(l)("toolbar.upload"),onClick:U[3]||(U[3]=H=>i("upload"))},[...U[17]||(U[17]=[r.createElementVNode("span",{class:"fe-icon","aria-hidden":"true"},"⬆",-1)])],8,yv)):r.createCommentVNode("",!0),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.refresh"),"aria-label":r.unref(l)("toolbar.refresh"),onClick:U[4]||(U[4]=H=>i("refresh"))},[...U[18]||(U[18]=[r.createElementVNode("span",{class:"fe-icon","aria-hidden":"true"},"↻",-1)])],8,bv)]),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only fe-toolbar__density",{"is-active":o.value==="compact"}]),"aria-pressed":o.value==="compact","aria-label":o.value==="compact"?r.unref(l)("toolbar.density.comfortable"):r.unref(l)("toolbar.density.compact"),title:o.value==="compact"?r.unref(l)("toolbar.density.comfortable"):r.unref(l)("toolbar.density.compact"),onClick:s},[o.value==="compact"?(r.openBlock(),r.createElementBlock("svg",kv,[...U[19]||(U[19]=[r.createElementVNode("path",{d:"M4 6.5h16M4 10.5h16M4 14.5h16M4 18.5h16"},null,-1)])])):(r.openBlock(),r.createElementBlock("svg",wv,[...U[20]||(U[20]=[r.createElementVNode("path",{d:"M4 5.5h16M4 12h16M4 18.5h16"},null,-1)])]))],10,_v),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only fe-toolbar__inspector",{"is-active":e.inspectorOpen}]),"aria-pressed":!!e.inspectorOpen,title:r.unref(l)("toolbar.inspector"),"aria-label":r.unref(l)("toolbar.inspector"),onClick:U[5]||(U[5]=H=>i("toggle-inspector"))},[...U[21]||(U[21]=[r.createElementVNode("svg",{class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","aria-hidden":"true",focusable:"false"},[r.createElementVNode("circle",{cx:"12",cy:"12",r:"9"}),r.createElementVNode("path",{d:"M12 11v5"}),r.createElementVNode("circle",{cx:"12",cy:"7.6",r:"1",fill:"currentColor",stroke:"none"})],-1)])],10,xv),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--icon-only fe-toolbar__theme",title:r.unref(l)("theme.menu"),"aria-label":r.unref(l)("theme.menu"),onClick:U[6]||(U[6]=H=>i("open-theme"))},[...U[22]||(U[22]=[r.createElementVNode("svg",{class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false"},[r.createElementVNode("path",{d:"M12 3a9 9 0 1 0 0 18h1.4a2.1 2.1 0 0 0 1.5-3.6 2.1 2.1 0 0 1 1.5-3.6H19a2 2 0 0 0 2-2A9 9 0 0 0 12 3z"}),r.createElementVNode("circle",{cx:"7.8",cy:"10.2",r:"1.15",fill:"currentColor",stroke:"none"}),r.createElementVNode("circle",{cx:"11.6",cy:"7.2",r:"1.15",fill:"currentColor",stroke:"none"}),r.createElementVNode("circle",{cx:"16",cy:"8.6",r:"1.15",fill:"currentColor",stroke:"none"})],-1)])],8,Sv),r.createElementVNode("div",{class:"fe-toolbar__view",role:"tablist","aria-label":r.unref(l)("toolbar.view_label")},[r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="list"}]),role:"tab","aria-selected":e.viewMode==="list",title:r.unref(l)("toolbar.view.list"),"aria-label":r.unref(l)("toolbar.view.list"),onClick:U[7]||(U[7]=H=>i("update:viewMode","list"))},[...U[23]||(U[23]=[r.createElementVNode("span",{class:"fe-icon","aria-hidden":"true"},"☰",-1)])],10,Cv),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="grid"}]),role:"tab","aria-selected":e.viewMode==="grid",title:r.unref(l)("toolbar.view.grid"),"aria-label":r.unref(l)("toolbar.view.grid"),onClick:U[8]||(U[8]=H=>i("update:viewMode","grid"))},[...U[24]||(U[24]=[r.createElementVNode("span",{class:"fe-icon","aria-hidden":"true"},"▦",-1)])],10,Bv),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="gallery"}]),role:"tab","aria-selected":e.viewMode==="gallery",title:r.unref(l)("toolbar.view.gallery"),"aria-label":r.unref(l)("toolbar.view.gallery"),onClick:U[9]||(U[9]=H=>i("update:viewMode","gallery"))},[...U[25]||(U[25]=[r.createElementVNode("span",{class:"fe-icon","aria-hidden":"true"},"▣",-1)])],10,Dv)],8,Ev)],64)),e.narrow?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(qs,{key:2,ref_key:"wideMoreRef",ref:g,locale:e.locale,theme:e.theme||"auto",sheet:!1,actions:E.value,onSelect:U[12]||(U[12]=H=>w(H.key))},null,8,["locale","theme","actions"]))],2))}}),Pv=["onClick"],du=xn(r.defineComponent({__name:"TagPicker",props:{nodeId:{},apiBase:{},authHeaders:{type:Function},palette:{}},emits:["change","error"],setup(e,{emit:t}){const n=e,a=t,i=r.ref([]),o=r.ref(!1),s=r.ref(!1),l=r.ref(""),c=r.computed(()=>n.palette??["#ef4444","#f59e0b","#10b981","#3b82f6","#8b5cf6","#ec4899","#14b8a6","#f97316"]);function d(v){let b=0;for(let g=0;g<v.length;g++)b=b*31+v.charCodeAt(g)|0;const m=c.value;return m[Math.abs(b)%m.length]}async function u(v={}){return{...await(n.authHeaders??(()=>({})))(),...v}}async function h(){o.value=!0;try{const v=n.apiBase??"",b=await fetch(`${v}/api/files/manager/tags?node_id=${n.nodeId}`,{headers:await u(),credentials:"include"});if(b.ok){const m=await b.json();i.value=Array.isArray(m.tags)?m.tags:[]}}catch(v){a("error",v instanceof Error?v.message:String(v))}finally{o.value=!1}}async function f(v){const b=[...i.value];i.value=v;try{const m=n.apiBase??"",g=await fetch(`${m}/api/files/manager/tags`,{method:"POST",headers:await u({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify({node_id:n.nodeId,tags:v})});if(!g.ok)throw new Error(`tag save failed: ${g.status}`);a("change",v)}catch(m){i.value=b,a("error",m instanceof Error?m.message:String(m))}}function p(){const v=l.value.trim();if(!v||i.value.includes(v)){l.value="",s.value=!1;return}f([...i.value,v]),l.value="",s.value=!1}function k(v){f(i.value.filter(b=>b!==v))}return r.onMounted(h),r.watch(()=>n.nodeId,h),(v,b)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["filex-tag-picker",{"is-loading":o.value}])},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.value,m=>(r.openBlock(),r.createElementBlock("span",{key:m,class:"filex-tag",style:r.normalizeStyle({"--filex-tag-color":d(m)})},[r.createTextVNode(r.toDisplayString(m)+" ",1),r.createElementVNode("button",{class:"filex-tag-x",type:"button",onClick:g=>k(m),"aria-label":"Remove tag"},"×",8,Pv)],4))),128)),s.value?(r.openBlock(),r.createElementBlock("form",{key:0,class:"filex-tag-add",onSubmit:r.withModifiers(p,["prevent"])},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":b[0]||(b[0]=m=>l.value=m),autofocus:"",placeholder:"tag name",onBlur:p,onKeydown:b[1]||(b[1]=r.withKeys(m=>{s.value=!1,l.value=""},["escape"]))},null,544),[[r.vModelText,l.value]])],32)):(r.openBlock(),r.createElementBlock("button",{key:1,class:"filex-tag-add-btn",type:"button",onClick:b[2]||(b[2]=m=>s.value=!0)},"+ Add tag"))],2))}}),[["__scopeId","data-v-7040583c"]]),Rv={class:"filex-recent"},Vv=["disabled"],$v={key:0},Uv=["onClick"],Hv={class:"filex-recent-name"},Gv={class:"filex-recent-meta"},jv={key:1,class:"filex-recent-empty"},qv={key:2,class:"filex-recent-empty"},uu=xn(r.defineComponent({__name:"RecentlyOpened",props:{apiBase:{},authHeaders:{type:Function},limit:{},refreshKey:{}},emits:["open","error"],setup(e,{emit:t}){const n=e,a=t,i=r.ref([]),o=r.ref(!1);async function s(){o.value=!0;try{const c=await(n.authHeaders??(()=>({})))(),d=n.apiBase??"",u=n.limit??20,h=await fetch(`${d}/api/files/manager/recent?limit=${u}`,{headers:c,credentials:"include"});if(h.ok){const f=await h.json();i.value=Array.isArray(f.entries)?f.entries:Array.isArray(f)?f:[]}}catch(c){a("error",c instanceof Error?c.message:String(c))}finally{o.value=!1}}function l(c){if(!c)return"";const d=new Date(c).getTime();if(Number.isNaN(d))return"";const u=Date.now()-d;return u<6e4?"just now":u<36e5?`${Math.floor(u/6e4)}m ago`:u<864e5?`${Math.floor(u/36e5)}h ago`:`${Math.floor(u/864e5)}d ago`}return r.onMounted(s),r.watch(()=>n.refreshKey,s),(c,d)=>(r.openBlock(),r.createElementBlock("div",Rv,[r.createElementVNode("header",null,[d[0]||(d[0]=r.createElementVNode("h3",null,"Recently opened",-1)),r.createElementVNode("button",{class:"filex-recent-refresh",type:"button",onClick:s,disabled:o.value}," ↻ ",8,Vv)]),i.value.length?(r.openBlock(),r.createElementBlock("ul",$v,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.value,u=>(r.openBlock(),r.createElementBlock("li",{key:u.id},[r.createElementVNode("button",{type:"button",onClick:h=>a("open",u),class:"filex-recent-item"},[r.createElementVNode("span",Hv,r.toDisplayString(u.name),1),r.createElementVNode("span",Gv,r.toDisplayString(l(u.last_opened)),1)],8,Uv)]))),128))])):o.value?(r.openBlock(),r.createElementBlock("p",qv,"Loading…")):(r.openBlock(),r.createElementBlock("p",jv,"Nothing here yet."))]))}}),[["__scopeId","data-v-559f2c71"]]),Kv={class:"fe-breadcrumb","aria-label":"Breadcrumb"},Wv=["aria-current","onClick","onContextmenu","onDrop"],Yv={key:0,class:"fe-breadcrumb__sep","aria-hidden":"true"},Xv=["aria-expanded","aria-label","title"],Zv={key:0,class:"fe-breadcrumb__menu",role:"menu"},Jv=["onClick"],Qv=["aria-current","onClick","onContextmenu","onDrop"],ey={key:0,class:"fe-breadcrumb__sep","aria-hidden":"true"},ty=["title","aria-label"],ny=["placeholder","onKeydown"],ry=4,ay=r.defineComponent({__name:"Breadcrumb",props:{dirname:{},adapter:{},rootLabel:{},locale:{},multiStorageRoot:{type:Boolean},rootPath:{}},emits:["navigate","copy-path","crumb-context","crumb-drop"],setup(e,{emit:t}){const n=e,a=r.computed(()=>{if(!n.rootPath)return"";const N=n.rootPath,G=N.indexOf("://");return(G>=0?N.slice(G+3):N).replace(/^\/+|\/+$/g,"")}),i=r.computed(()=>{const N=a.value;if(!N)return n.rootLabel||n.adapter;const G=N.split("/");return G[G.length-1]||n.rootLabel||n.adapter}),{t:o}=Gt(()=>n.locale),s=t,l=r.computed(()=>{const N=`${n.adapter}://`,G=n.dirname.startsWith(N)?n.dirname.slice(N.length):n.dirname,F=G.split("/").filter(Boolean),q=[];if(n.rootPath){const K=a.value,Q=G.replace(/^\/+|\/+$/g,""),re=K&&(Q===K||Q.startsWith(K+"/"))?Q.slice(K.length).replace(/^\/+/,""):"";q.push({label:i.value,adapterPath:n.rootPath});let $=K;for(const V of re.split("/").filter(Boolean))$=$?`${$}/${V}`:V,q.push({label:V===".trash"?o("node.trash"):V,adapterPath:`${N}${$}`});return q}n.multiStorageRoot?(q.push({label:"/",adapterPath:""}),n.adapter&&q.push({label:n.rootLabel||n.adapter,adapterPath:N})):q.push({label:n.rootLabel||n.adapter,adapterPath:N});let Y="";for(const K of F){Y=Y?`${Y}/${K}`:K;const Q=K===".trash"?o("node.trash"):K;q.push({label:Q,adapterPath:`${N}${Y}`})}return q}),c=r.computed(()=>l.value.length>ry),d=r.computed(()=>c.value?l.value.slice(0,1):l.value),u=r.computed(()=>c.value?l.value.slice(1,-2):[]),h=r.computed(()=>c.value?l.value.slice(-2):[]),f=r.ref(!1),p=r.ref(null);function k(N){f.value=!1,s("navigate",N.adapterPath)}function v(N){const G=p.value;G&&N.target instanceof Node&&G.contains(N.target)||(f.value=!1)}function b(N){N.key==="Escape"&&(N.stopPropagation(),f.value=!1)}r.watch(f,N=>{N?(document.addEventListener("click",v,!0),document.addEventListener("keydown",b,!0)):(document.removeEventListener("click",v,!0),document.removeEventListener("keydown",b,!0))}),r.watch(l,()=>{f.value=!1}),r.onBeforeUnmount(()=>{document.removeEventListener("click",v,!0),document.removeEventListener("keydown",b,!0)});function m(N){s("navigate",N.adapterPath)}function g(N,G){N.preventDefault(),N.stopPropagation(),s("crumb-context",{x:N.clientX,y:N.clientY,adapterPath:G.adapterPath,label:G.label})}function _(N){var G;(G=N.dataTransfer)!=null&&G.types.includes("application/x-brf-files")&&(N.preventDefault(),N.stopPropagation(),N.dataTransfer&&(N.dataTransfer.dropEffect="move"))}function y(N,G){var F;(F=N.dataTransfer)!=null&&F.types.includes("application/x-brf-files")&&(N.preventDefault(),N.stopPropagation(),s("crumb-drop",G.adapterPath,N))}const E=r.ref(!1),M=r.ref(""),D=r.ref(null);function x(){const N=`${n.adapter}://`,G=n.dirname.startsWith(N)?n.dirname.slice(N.length):n.dirname;if(n.rootPath){const F=a.value,q=G.replace(/^\/+|\/+$/g,""),Y=F&&(q===F||q.startsWith(F+"/"))?q.slice(F.length).replace(/^\/+/,""):"";M.value=Y?`/${Y}`:"/",E.value=!0,r.nextTick(()=>{var K,Q;(K=D.value)==null||K.focus(),(Q=D.value)==null||Q.select()});return}if(n.multiStorageRoot)if(!n.adapter)M.value="/";else{const F=G.replace(/^\/+|\/+$/g,"");M.value=F?`/${n.adapter}/${F}`:`/${n.adapter}`}else M.value=G;E.value=!0,r.nextTick(()=>{var F,q;(F=D.value)==null||F.focus(),(q=D.value)==null||q.select()})}function w(){const N=M.value.trim();if(E.value=!1,n.rootPath){const F=N.replace(/^\/+|\/+$/g,""),q=a.value,Y=F?q?`${q}/${F}`:F:q;s("navigate",Y?`${n.adapter}://${Y}`:`${n.adapter}://`);return}if(n.multiStorageRoot){const F=N.replace(/^\/+|\/+$/g,"");if(!F){s("navigate","");return}const q=F.indexOf("/"),Y=q===-1?F:F.slice(0,q),K=q===-1?"":F.slice(q+1);s("navigate",K?`${Y}://${K}`:`${Y}://`);return}const G=N.replace(/^\/+|\/+$/g,"");G&&s("navigate",`${n.adapter}://${G}`)}function B(){E.value=!1}return(N,G)=>(r.openBlock(),r.createElementBlock("nav",Kv,[E.value?r.withDirectives((r.openBlock(),r.createElementBlock("input",{key:1,ref_key:"pathInput",ref:D,"onUpdate:modelValue":G[1]||(G[1]=F=>M.value=F),type:"text",class:"fe-breadcrumb__input",placeholder:r.unref(o)("breadcrumb.path_placeholder"),spellcheck:"false",autocomplete:"off",onKeydown:[r.withKeys(r.withModifiers(w,["prevent"]),["enter"]),r.withKeys(r.withModifiers(B,["prevent"]),["escape"])],onBlur:B},null,40,ny)),[[r.vModelText,M.value]]):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(d.value,(F,q)=>(r.openBlock(),r.createElementBlock("button",{key:F.adapterPath,class:r.normalizeClass(["fe-breadcrumb__crumb",{"is-last":!c.value&&q===d.value.length-1}]),type:"button","aria-current":!c.value&&q===d.value.length-1?"page":void 0,onClick:Y=>m(F),onContextmenu:Y=>g(Y,F),onDragover:_,onDrop:Y=>y(Y,F)},[r.createElementVNode("span",null,r.toDisplayString(F.label),1),c.value||q<d.value.length-1?(r.openBlock(),r.createElementBlock("span",Yv,"›")):r.createCommentVNode("",!0)],42,Wv))),128)),u.value.length?(r.openBlock(),r.createElementBlock("span",{key:0,ref_key:"moreWrapEl",ref:p,class:"fe-breadcrumb__more-wrap"},[r.createElementVNode("button",{type:"button",class:"fe-breadcrumb__more","aria-haspopup":"menu","aria-expanded":f.value,"aria-label":r.unref(o)("breadcrumb.more"),title:r.unref(o)("breadcrumb.more"),onClick:G[0]||(G[0]=F=>f.value=!f.value)},"…",8,Xv),G[2]||(G[2]=r.createElementVNode("span",{class:"fe-breadcrumb__sep","aria-hidden":"true"},"›",-1)),f.value?(r.openBlock(),r.createElementBlock("div",Zv,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(u.value,F=>(r.openBlock(),r.createElementBlock("button",{key:F.adapterPath,type:"button",class:"fe-breadcrumb__menu-item",role:"menuitem",onClick:q=>k(F)},r.toDisplayString(F.label),9,Jv))),128))])):r.createCommentVNode("",!0)],512)):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(h.value,(F,q)=>(r.openBlock(),r.createElementBlock("button",{key:F.adapterPath,class:r.normalizeClass(["fe-breadcrumb__crumb",{"is-last":q===h.value.length-1}]),type:"button","aria-current":q===h.value.length-1?"page":void 0,onClick:Y=>m(F),onContextmenu:Y=>g(Y,F),onDragover:_,onDrop:Y=>y(Y,F)},[r.createElementVNode("span",null,r.toDisplayString(F.label),1),q<h.value.length-1?(r.openBlock(),r.createElementBlock("span",ey,"›")):r.createCommentVNode("",!0)],42,Qv))),128)),r.createElementVNode("button",{type:"button",class:"fe-breadcrumb__edit",title:r.unref(o)("breadcrumb.go_to_path"),"aria-label":r.unref(o)("breadcrumb.go_to_path"),onClick:x},"✏",8,ty)],64))]))}}),fu={};function xr(e,t){for(const n of t)fu[n]=e}xr("image",["jpg","jpeg","png","webp","gif","bmp","avif","heic","svg","ico","tiff","tif"]),xr("video",["mp4","webm","mov","mkv","avi","ogv","m4v"]),xr("audio",["mp3","wav","flac","ogg","m4a","aac","opus"]),xr("pdf",["pdf"]),xr("doc",["doc","docx","odt","rtf"]),xr("sheet",["xls","xlsx","ods","csv"]),xr("slides",["ppt","pptx","odp"]),xr("archive",["zip","tar","gz","bz2","7z","rar","xz","zst"]),xr("code",["js","ts","jsx","tsx","mjs","cjs","vue","py","go","rs","php","rb","java","kt","swift","c","cpp","h","hpp","cs","css","scss","less","html","htm","json","yml","yaml","xml","sh","bash","ps1","sql","toml"]),xr("text",["txt","md","markdown","log","ini","conf","cfg","env"]);function iy(e){if(e.type==="dir")return"folder";const t=(e.extension||"").toLowerCase();return fu[t]??"unknown"}const la='<path d="M6.5 3h7L18.5 8v11.5a1.5 1.5 0 0 1-1.5 1.5H6.5A1.5 1.5 0 0 1 5 19.5v-15A1.5 1.5 0 0 1 6.5 3z"/><path d="M13.5 3v5h5"/>',oy={folder:'<path d="M3 7a2 2 0 0 1 2-2h4.2l2 2.4H19a2 2 0 0 1 2 2V17a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" fill="currentColor" fill-opacity="0.14"/>',image:'<rect x="3" y="5" width="18" height="14" rx="2"/><circle cx="8.6" cy="10" r="1.6"/><path d="M5.2 16.6l4.3-4.3 3 3 2.4-2.4 3.9 3.7"/>',video:'<rect x="3" y="5" width="18" height="14" rx="2"/><path d="M10.2 9.3v5.4l4.8-2.7z" fill="currentColor" stroke="none"/>',audio:'<path d="M9 17.5V7.2l9-2.2v10.4"/><circle cx="6.8" cy="17.6" r="2.2"/><circle cx="15.8" cy="15.5" r="2.2"/>',pdf:la+'<rect x="7.5" y="12" width="9" height="5" rx="1" fill="currentColor" fill-opacity="0.14"/>',doc:la+'<path d="M8.5 13h7M8.5 16h7"/>',sheet:la+'<path d="M8 12.5h8M8 15.5h8M8 18h8M12 12.5V18"/>',slides:la+'<rect x="8" y="12.5" width="8" height="5" rx="0.8"/>',archive:la+'<path d="M10 3v1.6M10 6.6v1.6M10 10.2v1.6"/><rect x="8.6" y="14" width="2.8" height="3.4" rx="0.8"/>',code:la+'<path d="M10.4 12.5L8.3 15l2.1 2.5M13.6 12.5l2.1 2.5-2.1 2.5"/>',text:la+'<path d="M8.5 12h7M8.5 15h7M8.5 18h4.5"/>',unknown:la+'<path d="M10.3 13.1a1.8 1.8 0 1 1 2.5 1.9c-.6.3-.8.7-.8 1.4"/><circle cx="12" cy="18.4" r="0.9" fill="currentColor" stroke="none"/>'},hu=new Map;function ly(e){let t=hu.get(e);return t||(t=`<svg class="fe-ficon fe-ficon--${e}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">${oy[e]}</svg>`,hu.set(e,t)),t}function Za(e){return ly(iy(e))}function qi(e){const t=[];if(!e)return t;const n=/«([^«»]*)»/g;let a=0,i;for(;(i=n.exec(e))!==null;)i.index>a&&t.push({text:e.slice(a,i.index),match:!1}),i[1]&&t.push({text:i[1],match:!0}),a=i.index+i[0].length;return a<e.length&&t.push({text:e.slice(a),match:!1}),t}function Ks(e){return e==="content"||e==="both"}function Ws(e,t,n){const a=e.dataTransfer;if(!(!a||typeof document>"u"||typeof a.setDragImage!="function"))try{const i=document.createElement("div");i.className="fe-dragghost";const o=document.createElement("span");if(o.className="fe-dragghost__name",o.textContent=t,i.appendChild(o),n>1){const s=document.createElement("span");s.className="fe-dragghost__badge",s.textContent=String(n),i.appendChild(s)}i.style.position="fixed",i.style.top="-1000px",i.style.left="-1000px",document.body.appendChild(i),a.setDragImage(i,14,14),setTimeout(()=>i.remove(),0)}catch{}}const sy=["aria-pressed","title"],cy={viewBox:"0 0 24 24",width:"16",height:"16","aria-hidden":"true"},dy=["fill"],uy={key:0,class:"filex-star-label"},pu=xn(r.defineComponent({__name:"StarButton",props:{starred:{type:Boolean},nodeId:{},apiBase:{},authHeaders:{type:Function},compact:{type:Boolean}},emits:["change","error"],setup(e,{emit:t}){const n=e,a=t,i=r.ref(n.starred);r.watch(()=>n.starred,s=>{i.value=s});async function o(){const s=!i.value;i.value=s;try{const l={"Content-Type":"application/json",...await(n.authHeaders??(()=>({})))()},c=n.apiBase??"",d=await fetch(`${c}/api/files/manager/star`,{method:"POST",headers:l,credentials:"include",body:JSON.stringify({node_id:n.nodeId,starred:s})});if(!d.ok)throw new Error(`star toggle failed: ${d.status}`);a("change",s)}catch(l){i.value=!s,a("error",l instanceof Error?l.message:String(l))}}return(s,l)=>(r.openBlock(),r.createElementBlock("button",{type:"button",class:r.normalizeClass(["filex-star-btn",{"is-starred":i.value,"is-compact":e.compact}]),"aria-pressed":i.value,title:i.value?"Unstar":"Star",onClick:r.withModifiers(o,["stop"])},[(r.openBlock(),r.createElementBlock("svg",cy,[r.createElementVNode("path",{fill:i.value?"currentColor":"none",stroke:"currentColor","stroke-width":"2","stroke-linejoin":"round",d:"M12 2.5l3.09 6.26 6.91 1-5 4.87 1.18 6.87L12 18.27l-6.18 3.23L7 14.63 2 9.76l6.91-1z"},null,8,dy)])),e.compact?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("span",uy,r.toDisplayString(i.value?"Starred":"Star"),1))],10,sy))}}),[["__scopeId","data-v-12a2f9c5"]]),fy=["aria-label","aria-busy"],hy={class:"fe-list__head",role:"row"},py=["aria-label"],my=["aria-sort"],gy=["title"],vy={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},yy=["aria-sort"],by=["title"],_y={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},ky=["aria-sort"],wy=["title"],xy={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},Sy={class:"fe-list__body",role:"rowgroup"},Ey={key:0,class:"fe-list__group",role:"presentation"},Cy=["aria-selected","aria-label","data-fe-path","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],By={class:"fe-list__col fe-list__col--name",role:"gridcell"},Dy={key:0,class:"fe-list__icon","aria-hidden":"true"},Ty=["innerHTML"],Ay={class:"fe-list__name-wrap"},My=["title"],Ny={key:0,class:"fe-list__badge"},Iy=["title"],zy={key:1,class:"fe-list__snippet"},Fy={key:0,class:"fe-list__mark"},Ly={class:"fe-list__col fe-list__col--size",role:"gridcell"},Oy={class:"fe-list__col fe-list__col--mod",role:"gridcell"},Py={key:0,class:"fe-list__empty"},mu="filex.list-sort",gu=r.defineComponent({__name:"ListView",props:{files:{},selected:{},clipped:{},showParentPath:{type:Boolean},locale:{},loading:{type:Boolean},starredIds:{},apiBase:{},authHeaders:{type:Function}},emits:["click-row","dbl-row","context-row","item-drag-start","item-drop-into","star-change"],setup(e,{emit:t}){const n=e,a=t,{t:i,formatSize:o,nodeDisplayName:s}=Gt(()=>n.locale);function l(V){return n.selected.has(V.path)}function c(V,z){a("click-row",V,{ctrl:z.ctrlKey||z.metaKey,shift:z.shiftKey})}function d(V){a("dbl-row",V)}function u(V,z){z.preventDefault(),z.stopPropagation(),a("context-row",V,z)}function h(V,z){Ws(z,s(V),n.selected.has(V.path)?n.selected.size:1),a("item-drag-start",V,z)}const f=r.ref(null);function p(V,z){var U;V.type==="dir"&&(U=z.dataTransfer)!=null&&U.types.includes("application/x-brf-files")&&(z.preventDefault(),z.stopPropagation(),z.dataTransfer&&(z.dataTransfer.dropEffect="move"),f.value=V.path)}function k(V){f.value===V.path&&(f.value=null)}function v(V,z){var U;f.value=null,V.type==="dir"&&(U=z.dataTransfer)!=null&&U.types.includes("application/x-brf-files")&&(z.preventDefault(),z.stopPropagation(),a("item-drop-into",V,z))}let b,m=null;function g(V,z){m=V,b&&clearTimeout(b),b=setTimeout(()=>{if(m){const U=z.touches[0];a("context-row",m,{clientX:U.clientX,clientY:U.clientY,preventDefault:()=>{}})}},500)}function _(){b&&clearTimeout(b),m=null}function y(V){return V.basename===".trash"?"🗑":V.mime_type==="inode/storage"?"💾":V.type==="dir"&&V.e2e===!0?"🔒":null}function E(V){return V.basename===".trash"||V.mime_type==="inode/storage"}function M(V){return V?new Date(V*(V<1e12?1e3:1)).toLocaleString():"—"}function D(V){const z=V.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),U=z.lastIndexOf("/");return U===-1?"":z.slice(0,U)}function x(V){const z=V.snippet;return typeof z=="string"?z:""}function w(V){return Ks(V.matched)}const B=r.ref(null),N=r.ref("asc");try{const V=localStorage.getItem(mu);if(V){const z=JSON.parse(V);(z.key==="name"||z.key==="size"||z.key==="modified")&&(B.value=z.key),(z.dir==="asc"||z.dir==="desc")&&(N.value=z.dir)}}catch{}function G(V){return V==="modified"?"desc":"asc"}function F(V){B.value!==V?(B.value=V,N.value=G(V)):N.value===G(V)?N.value=N.value==="asc"?"desc":"asc":B.value=null;try{localStorage.setItem(mu,JSON.stringify({key:B.value,dir:N.value}))}catch{}}function q(V){return B.value!==V?"none":N.value==="asc"?"ascending":"descending"}function Y(V){const z=V.last_modified;return z?z*(z<1e12?1e3:1):null}const K=r.computed(()=>{const V=B.value;if(!V)return n.files;const z=[],U=[];for(const de of n.files)(E(de)?z:U).push(de);const H=N.value==="asc"?1:-1;return U.sort((de,he)=>{if(V==="name")return H*de.basename.localeCompare(he.basename,void 0,{numeric:!0,sensitivity:"base"});if(V==="size")return H*((de.size??-1)-(he.size??-1));const ve=Y(de),xe=Y(he);return ve==null&&xe==null?0:ve==null?1:xe==null?-1:H*(ve-xe)}),[...z,...U]}),Q=r.computed(()=>new Intl.DateTimeFormat(n.locale==="tr"?"tr-TR":"en-US",{month:"long",year:"numeric"}));function re(V){if(V==null)return{id:"none",label:i("group.no_date")};const z=new Date(V),U=new Date,H=xe=>new Date(xe.getFullYear(),xe.getMonth(),xe.getDate()).getTime(),de=H(U),he=H(z),ve=864e5;return he>=de?{id:"today",label:i("group.today")}:he===de-ve?{id:"yesterday",label:i("group.yesterday")}:he>de-7*ve?{id:"week",label:i("group.this_week")}:z.getFullYear()===U.getFullYear()&&z.getMonth()===U.getMonth()?{id:"month",label:i("group.this_month")}:{id:`m-${z.getFullYear()}-${z.getMonth()}`,label:Q.value.format(z)}}const $=r.computed(()=>{const V=K.value;if(B.value!=="modified")return[{id:"all",label:null,nodes:V}];const z=[];let U=null;for(const H of V){const de=E(H)?{id:"pinned",label:null}:re(Y(H));(!U||U.id!==de.id)&&(U={id:de.id,label:de.label,nodes:[]},z.push(U)),U.nodes.push(H)}return z});return(V,z)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["fe-list",{"is-loading":e.loading,"has-star-col":!!e.apiBase||e.apiBase===""}]),role:"grid","aria-label":r.unref(i)("list.aria"),"aria-busy":e.loading?"true":void 0},[r.createElementVNode("div",hy,[r.createElementVNode("div",{class:"fe-list__col fe-list__col--star",role:"columnheader","aria-label":r.unref(i)("col.star")},null,8,py),r.createElementVNode("div",{class:"fe-list__col fe-list__col--name",role:"columnheader","aria-sort":q("name")},[r.createElementVNode("button",{type:"button",class:"fe-list__sort",title:r.unref(i)("col.sort"),onClick:z[0]||(z[0]=U=>F("name"))},[r.createTextVNode(r.toDisplayString(r.unref(i)("col.name"))+" ",1),B.value==="name"?(r.openBlock(),r.createElementBlock("span",vy,r.toDisplayString(N.value==="asc"?"↑":"↓"),1)):r.createCommentVNode("",!0)],8,gy)],8,my),r.createElementVNode("div",{class:"fe-list__col fe-list__col--size",role:"columnheader","aria-sort":q("size")},[r.createElementVNode("button",{type:"button",class:"fe-list__sort",title:r.unref(i)("col.sort"),onClick:z[1]||(z[1]=U=>F("size"))},[r.createTextVNode(r.toDisplayString(r.unref(i)("col.size"))+" ",1),B.value==="size"?(r.openBlock(),r.createElementBlock("span",_y,r.toDisplayString(N.value==="asc"?"↑":"↓"),1)):r.createCommentVNode("",!0)],8,by)],8,yy),r.createElementVNode("div",{class:"fe-list__col fe-list__col--mod",role:"columnheader","aria-sort":q("modified")},[r.createElementVNode("button",{type:"button",class:"fe-list__sort",title:r.unref(i)("col.sort"),onClick:z[2]||(z[2]=U=>F("modified"))},[r.createTextVNode(r.toDisplayString(r.unref(i)("col.modified"))+" ",1),B.value==="modified"?(r.openBlock(),r.createElementBlock("span",xy,r.toDisplayString(N.value==="asc"?"↑":"↓"),1)):r.createCommentVNode("",!0)],8,wy)],8,ky)]),r.createElementVNode("div",Sy,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList($.value,U=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:U.id},[U.label?(r.openBlock(),r.createElementBlock("div",Ey,r.toDisplayString(U.label),1)):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(U.nodes,H=>{var de,he;return r.openBlock(),r.createElementBlock("div",{key:H.path,class:r.normalizeClass(["fe-list__row",{"is-selected":l(H),"is-dir":H.type==="dir","is-trash":H.trashed,"is-clipped":(de=e.clipped)==null?void 0:de.has(H.path),"is-droptarget":f.value===H.path}]),role:"row",tabindex:"0","aria-selected":l(H)?"true":"false","aria-label":r.unref(s)(H),"data-fe-path":H.path,draggable:"true",onClick:ve=>c(H,ve),onDblclick:ve=>d(H),onContextmenu:ve=>u(H,ve),onDragstart:ve=>h(H,ve),onDragover:ve=>p(H,ve),onDragleave:ve=>k(H),onDrop:ve=>v(H,ve),onTouchstartPassive:ve=>g(H,ve),onTouchend:_,onTouchmove:_},[r.createElementVNode("div",{class:"fe-list__col fe-list__col--star",role:"gridcell",onClick:z[3]||(z[3]=r.withModifiers(()=>{},["stop"]))},[typeof H.id=="number"&&H.type==="file"?(r.openBlock(),r.createBlock(pu,{key:0,starred:!!((he=e.starredIds)!=null&&he.has(H.id)),"node-id":H.id,"api-base":e.apiBase,"auth-headers":e.authHeaders,compact:"",onChange:ve=>a("star-change",H,ve)},null,8,["starred","node-id","api-base","auth-headers","onChange"])):r.createCommentVNode("",!0)]),r.createElementVNode("div",By,[y(H)?(r.openBlock(),r.createElementBlock("span",Dy,r.toDisplayString(y(H)),1)):(r.openBlock(),r.createElementBlock("span",{key:1,class:"fe-list__icon fe-list__icon--svg","aria-hidden":"true",innerHTML:r.unref(Za)(H)},null,8,Ty)),r.createElementVNode("div",Ay,[r.createElementVNode("span",{class:"fe-list__name",title:H.basename},[r.createTextVNode(r.toDisplayString(r.unref(s)(H))+" ",1),w(H)?(r.openBlock(),r.createElementBlock("span",Ny,r.toDisplayString(r.unref(i)("search.in_content")),1)):r.createCommentVNode("",!0)],8,My),e.showParentPath?(r.openBlock(),r.createElementBlock("span",{key:0,class:"fe-list__parent",title:D(H.path)},r.toDisplayString(D(H.path)||"—"),9,Iy)):r.createCommentVNode("",!0),x(H)?(r.openBlock(),r.createElementBlock("span",zy,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(qi)(x(H)),(ve,xe)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:xe},[ve.match?(r.openBlock(),r.createElementBlock("mark",Fy,r.toDisplayString(ve.text),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(r.toDisplayString(ve.text),1)],64))],64))),128))])):r.createCommentVNode("",!0)])]),r.createElementVNode("div",Ly,r.toDisplayString(r.unref(o)(H.size)),1),r.createElementVNode("div",Oy,r.toDisplayString(M(H.last_modified)),1)],42,Cy)}),128))],64))),128)),!e.loading&&K.value.length===0?(r.openBlock(),r.createElementBlock("div",Py,r.toDisplayString(r.unref(i)("empty.folder")),1)):r.createCommentVNode("",!0)])],10,fy))}}),Ry=["aria-label","aria-busy"],Vy=["aria-selected","aria-label","data-fe-path","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],$y={class:"fe-grid__thumb"},Uy=["src","alt"],Hy={key:1,class:"fe-grid__icon"},Gy=["innerHTML"],jy=["title"],qy=["title"],Ky={class:"fe-grid__meta"},Wy=["title"],Yy={key:0,class:"fe-grid__mark"},Xy={key:0,class:"fe-grid__empty"},vu=r.defineComponent({__name:"GridView",props:{files:{},selected:{},clipped:{},showParentPath:{type:Boolean},locale:{},loading:{type:Boolean},thumbSrc:{type:Function}},emits:["click-card","dbl-card","context-card","item-drag-start","item-drop-into"],setup(e,{emit:t}){const n=e,a=t,{t:i,formatSize:o,nodeDisplayName:s}=Gt(()=>n.locale);function l(w){return n.thumbSrc?n.thumbSrc(w):w.thumb_url??null}function c(w){return n.selected.has(w.path)}function d(w,B){a("click-card",w,{ctrl:B.ctrlKey||B.metaKey,shift:B.shiftKey})}function u(w){a("dbl-card",w)}function h(w,B){B.preventDefault(),B.stopPropagation(),a("context-card",w,B)}function f(w,B){Ws(B,s(w),n.selected.has(w.path)?n.selected.size:1),a("item-drag-start",w,B)}const p=r.ref(null);function k(w,B){var N;w.type==="dir"&&(N=B.dataTransfer)!=null&&N.types.includes("application/x-brf-files")&&(B.preventDefault(),B.stopPropagation(),B.dataTransfer&&(B.dataTransfer.dropEffect="move"),p.value=w.path)}function v(w){p.value===w.path&&(p.value=null)}function b(w,B){var N;p.value=null,w.type==="dir"&&(N=B.dataTransfer)!=null&&N.types.includes("application/x-brf-files")&&(B.preventDefault(),B.stopPropagation(),a("item-drop-into",w,B))}let m,g=null;function _(w,B){g=w,m&&clearTimeout(m),m=setTimeout(()=>{if(g){const N=B.touches[0];a("context-card",g,{clientX:N.clientX,clientY:N.clientY,preventDefault:()=>{}})}},500)}function y(){m&&clearTimeout(m),g=null}function E(w){const B=w.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),N=B.lastIndexOf("/");return N===-1?"":B.slice(0,N)}function M(w){return w.basename===".trash"?"🗑":w.mime_type==="inode/storage"?"💾":w.type==="dir"&&w.e2e===!0?"🔒":null}function D(w){const B=w.snippet;return typeof B=="string"?B:""}function x(w){return qi(w).map(B=>B.text).join("")}return(w,B)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["fe-grid",{"is-loading":e.loading}]),role:"listbox","aria-multiselectable":"true","aria-label":r.unref(i)("grid.aria"),"aria-busy":e.loading?"true":void 0},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.files,N=>{var G;return r.openBlock(),r.createElementBlock("div",{key:N.path,class:r.normalizeClass(["fe-grid__card",{"is-selected":c(N),"is-dir":N.type==="dir","is-trash":N.trashed,"is-clipped":(G=e.clipped)==null?void 0:G.has(N.path),"is-droptarget":p.value===N.path}]),tabindex:"0",role:"option","aria-selected":c(N)?"true":"false","aria-label":r.unref(s)(N),"data-fe-path":N.path,draggable:"true",onClick:F=>d(N,F),onDblclick:F=>u(N),onContextmenu:F=>h(N,F),onDragstart:F=>f(N,F),onDragover:F=>k(N,F),onDragleave:F=>v(N),onDrop:F=>b(N,F),onTouchstartPassive:F=>_(N,F),onTouchend:y,onTouchmove:y},[r.createElementVNode("div",$y,[l(N)?(r.openBlock(),r.createElementBlock("img",{key:0,src:l(N),alt:N.basename,loading:"lazy",draggable:"false"},null,8,Uy)):M(N)?(r.openBlock(),r.createElementBlock("span",Hy,r.toDisplayString(M(N)),1)):(r.openBlock(),r.createElementBlock("span",{key:2,class:"fe-grid__icon fe-grid__icon--svg",innerHTML:r.unref(Za)(N)},null,8,Gy))]),r.createElementVNode("div",{class:"fe-grid__label",title:N.basename},r.toDisplayString(r.unref(s)(N)),9,jy),e.showParentPath?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fe-grid__parent",title:E(N.path)},r.toDisplayString(E(N.path)||"—"),9,qy)):r.createCommentVNode("",!0),r.createElementVNode("div",Ky,r.toDisplayString(r.unref(o)(N.size)),1),D(N)?(r.openBlock(),r.createElementBlock("div",{key:1,class:"fe-grid__snippet",title:x(D(N))},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(qi)(D(N)),(F,q)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:q},[F.match?(r.openBlock(),r.createElementBlock("mark",Yy,r.toDisplayString(F.text),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(r.toDisplayString(F.text),1)],64))],64))),128))],8,Wy)):r.createCommentVNode("",!0)],42,Vy)}),128)),!e.loading&&e.files.length===0?(r.openBlock(),r.createElementBlock("div",Xy,r.toDisplayString(r.unref(i)("empty.folder")),1)):r.createCommentVNode("",!0)],10,Ry))}}),Zy=["aria-label","aria-busy"],Jy=["aria-selected","aria-label","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],Qy={class:"fe-gal__thumb"},e3=["src","alt"],t3={key:1,class:"fe-gal__icon"},n3=["innerHTML"],r3={class:"fe-gal__meta","aria-hidden":"true"},a3={key:0,class:"fe-gal__meta-line"},i3=["title"],o3=["title"],l3={key:0,class:"fe-gal__empty"},yu=r.defineComponent({__name:"GalleryView",props:{files:{},selected:{},clipped:{},showParentPath:{type:Boolean},locale:{},loading:{type:Boolean},thumbSrc:{type:Function}},emits:["click-card","dbl-card","context-card","item-drag-start","item-drop-into"],setup(e,{emit:t}){const n=e,a=t,{t:i,formatSize:o,nodeDisplayName:s}=Gt(()=>n.locale);function l(w){return n.thumbSrc?n.thumbSrc(w):w.thumb_url??null}function c(w){return n.selected.has(w.path)}function d(w,B){a("click-card",w,{ctrl:B.ctrlKey||B.metaKey,shift:B.shiftKey})}function u(w){a("dbl-card",w)}function h(w,B){B.preventDefault(),B.stopPropagation(),a("context-card",w,B)}function f(w,B){Ws(B,s(w),n.selected.has(w.path)?n.selected.size:1),a("item-drag-start",w,B)}const p=r.ref(null);function k(w,B){var N;w.type==="dir"&&(N=B.dataTransfer)!=null&&N.types.includes("application/x-brf-files")&&(B.preventDefault(),B.stopPropagation(),B.dataTransfer&&(B.dataTransfer.dropEffect="move"),p.value=w.path)}function v(w){p.value===w.path&&(p.value=null)}function b(w,B){var N;p.value=null,w.type==="dir"&&(N=B.dataTransfer)!=null&&N.types.includes("application/x-brf-files")&&(B.preventDefault(),B.stopPropagation(),a("item-drop-into",w,B))}let m,g=null;function _(w,B){g=w,m&&clearTimeout(m),m=setTimeout(()=>{if(g){const N=B.touches[0];a("context-card",g,{clientX:N.clientX,clientY:N.clientY,preventDefault:()=>{}})}},500)}function y(){m&&clearTimeout(m),g=null}function E(w){const B=w.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),N=B.lastIndexOf("/");return N===-1?"":B.slice(0,N)}function M(w){return w.basename===".trash"?"🗑":w.mime_type==="inode/storage"?"💾":w.type==="dir"&&w.e2e===!0?"🔒":null}function D(w){return w?new Date(w*(w<1e12?1e3:1)).toLocaleString():""}function x(w){const B=D(w.last_modified);return[w.type==="dir"?"":o(w.size),B].filter(G=>!!G).join(" · ")}return(w,B)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["fe-gal",{"is-loading":e.loading}]),role:"listbox","aria-multiselectable":"true","aria-label":r.unref(i)("gallery.aria"),"aria-busy":e.loading?"true":void 0},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.files,N=>{var G;return r.openBlock(),r.createElementBlock("div",{key:N.path,class:r.normalizeClass(["fe-gal__card",{"is-selected":c(N),"is-dir":N.type==="dir","is-trash":N.trashed,"is-clipped":(G=e.clipped)==null?void 0:G.has(N.path),"is-droptarget":p.value===N.path}]),tabindex:"0",role:"option","aria-selected":c(N)?"true":"false","aria-label":r.unref(s)(N),draggable:"true",onClick:F=>d(N,F),onDblclick:F=>u(N),onContextmenu:F=>h(N,F),onDragstart:F=>f(N,F),onDragover:F=>k(N,F),onDragleave:F=>v(N),onDrop:F=>b(N,F),onTouchstartPassive:F=>_(N,F),onTouchend:y,onTouchmove:y},[r.createElementVNode("div",Qy,[l(N)?(r.openBlock(),r.createElementBlock("img",{key:0,src:l(N),alt:N.basename,loading:"lazy",draggable:"false"},null,8,e3)):M(N)?(r.openBlock(),r.createElementBlock("span",t3,r.toDisplayString(M(N)),1)):(r.openBlock(),r.createElementBlock("span",{key:2,class:"fe-gal__icon fe-gal__icon--svg",innerHTML:r.unref(Za)(N)},null,8,n3)),r.createElementVNode("div",r3,[x(N)?(r.openBlock(),r.createElementBlock("span",a3,r.toDisplayString(x(N)),1)):r.createCommentVNode("",!0),e.showParentPath&&E(N.path)?(r.openBlock(),r.createElementBlock("span",{key:1,class:"fe-gal__meta-line fe-gal__meta-line--path",title:E(N.path)},r.toDisplayString(E(N.path)),9,i3)):r.createCommentVNode("",!0)])]),r.createElementVNode("div",{class:"fe-gal__label",title:N.basename},r.toDisplayString(r.unref(s)(N)),9,o3)],42,Jy)}),128)),!e.loading&&e.files.length===0?(r.openBlock(),r.createElementBlock("div",l3,r.toDisplayString(r.unref(i)("empty.folder")),1)):r.createCommentVNode("",!0)],10,Zy))}}),s3=r.defineComponent({__name:"UploadProgress",props:{jobs:{},locale:{},center:{}},emits:["cancel","dismiss","retry"],setup(e,{emit:t}){const n=e,a=t;function i(o){return o==="done"?"done":o==="error"?"error":o==="aborted"?"aborted":"running"}return r.watch(()=>n.jobs,o=>{n.center.sync("upload",o.map(s=>({input:{id:s.id,kind:"upload",name:s.file.name,percent:s.totalBytes>0||s.status==="done"?s.percent:null,status:i(s.status),error:s.error??null,uploadedBytes:s.uploadedBytes,totalBytes:s.totalBytes,cancellable:s.status==="uploading"||s.status==="initializing",retryable:s.status==="error"},actions:{cancel:()=>a("cancel",s),dismiss:()=>a("dismiss",s),retry:()=>a("retry",s)}})))},{immediate:!0}),(o,s)=>r.createCommentVNode("",!0)}}),c3=r.defineComponent({__name:"PendingOpsTray",props:{ops:{},locale:{},center:{}},emits:["dismiss"],setup(e,{emit:t}){const n=e,a=t;function i(s){return s.status==="done"?"done":s.status==="error"?"error":"running"}function o(s){return s.status==="done"?100:s.progress_total<=0?null:Math.min(100,Math.round(s.progress_done/s.progress_total*100))}return r.watch(()=>n.ops,s=>{n.center.sync("ops",s.map(l=>({input:{id:l.id,kind:l.op_type,name:l.target_path||l.source_dir||"",percent:o(l),status:i(l),error:l.error_message,queued:l.status==="pending",doneCount:l.progress_done,totalCount:l.progress_total,cancellable:!1,retryable:!1},actions:{dismiss:()=>a("dismiss",l.id)}})))},{immediate:!0}),(s,l)=>r.createCommentVNode("",!0)}}),d3=["aria-label"],u3={class:"fe-inspector__head"},f3={class:"fe-inspector__title"},h3=["title","aria-label"],p3={class:"fe-inspector__scroll"},m3={class:"fe-inspector__section"},g3={class:"fe-inspector__heading"},v3={key:0,class:"fe-inspector__hero"},y3=["innerHTML"],b3={class:"fe-inspector__name"},_3={class:"fe-inspector__hero"},k3=["src"],w3=["innerHTML"],x3=["title"],S3={class:"fe-inspector__meta"},E3={class:"fe-inspector__row"},C3={class:"fe-inspector__pathcell"},B3=["title"],D3=["title","aria-label"],T3={key:0,class:"fe-inspector__row"},A3={class:"fe-inspector__row"},M3={key:1,class:"fe-inspector__row"},N3={class:"fe-inspector__mime"},I3={key:2,class:"fe-inspector__row"},z3={class:"fe-inspector__pathcell"},F3=["title"],L3=["title","aria-label"],O3={key:2,class:"fe-inspector__hero"},P3=["innerHTML"],R3=["title"],V3={class:"fe-inspector__sub"},$3={key:0,class:"fe-inspector__section"},U3={class:"fe-inspector__heading"},H3={key:0,class:"fe-inspector__empty"},G3={key:0,class:"fe-inspector__empty"},j3={key:1,class:"fe-inspector__versions"},q3={class:"fe-inspector__version-main"},K3={class:"fe-inspector__version-n"},W3={class:"fe-inspector__version-meta"},Y3={key:0,class:"fe-inspector__confirm"},X3={class:"fe-inspector__confirm-q"},Z3={class:"fe-inspector__check"},J3={class:"fe-inspector__confirm-actions"},Q3=["disabled","onClick"],e5=["disabled"],t5=["disabled","onClick"],n5=["disabled"],r5={key:1,class:"fe-inspector__section"},a5={class:"fe-inspector__heading"},i5={class:"fe-inspector__permrow"},o5={key:2,class:"fe-inspector__section"},l5={class:"fe-inspector__heading"},s5={key:0,class:"fe-inspector__empty"},c5={key:1,class:"fe-inspector__shares"},d5=["title"],u5={key:0,class:"fe-inspector__badge fe-inspector__badge--pin"},f5={key:1,class:"fe-inspector__share-exp"},h5=["title","aria-label","onClick"],p5={key:3,class:"fe-inspector__section"},m5={class:"fe-inspector__heading"},g5={key:0,class:"fe-inspector__countbadge"},v5={key:0,class:"fe-inspector__empty"},y5={key:0,class:"fe-inspector__empty"},b5={key:1,class:"fe-inspector__comments"},_5={class:"fe-inspector__comment-top"},k5=["title"],w5=["title"],x5=["disabled","title","aria-label","onClick"],S5={class:"fe-inspector__comment-body"},E5=["placeholder","aria-label","disabled"],C5=["disabled"],B5=r.defineComponent({__name:"InspectorPanel",props:{api:{},nodes:{},dirLabel:{},dirCount:{},dirPerm:{},locale:{},narrow:{type:Boolean},thumbSrc:{type:Function}},emits:["close","manage-permissions","toast","changed"],setup(e,{emit:t}){const n=e,a=t,{t:i,formatSize:o,nodeDisplayName:s}=Gt(()=>n.locale),l=r.computed(()=>n.nodes.length===1?n.nodes[0]:null),c=r.computed(()=>n.nodes.length>1),d=r.computed(()=>{var ie;return((ie=l.value)==null?void 0:ie.type)==="file"}),u=r.computed(()=>{var ie;return typeof((ie=l.value)==null?void 0:ie.id)=="number"?l.value.id:null}),h=r.computed(()=>n.nodes.reduce((ie,ge)=>ie+(typeof ge.size=="number"?ge.size:0),0)),f=r.computed(()=>{var ge;const ie=(ge=l.value)==null?void 0:ge.etag;return typeof ie=="string"&&ie!==""?ie:null}),p=r.computed(()=>l.value&&d.value&&n.thumbSrc?n.thumbSrc(l.value):null);function k(ie){return ie.length>12?`${ie.slice(0,12)}…`:ie}function v(ie){if(!ie)return"—";try{return new Date(ie).toLocaleString(n.locale==="en"?"en-GB":"tr-TR",{dateStyle:"medium",timeStyle:"short"})}catch{return new Date(ie).toISOString()}}function b(ie){if(!ie)return"—";const ge=Date.parse(ie);return Number.isNaN(ge)?ie:v(ge)}async function m(ie){try{await navigator.clipboard.writeText(ie),a("toast",i("inspector.copied"))}catch{a("toast",ie)}}const g=r.computed(()=>{if(!l.value)return"";const ie=l.value.perm;return typeof ie=="string"&&ie!==""?ie:n.dirPerm||""}),_=r.computed(()=>g.value==="editor"||g.value==="owner");function y(ie){return i(`inspector.perm.${ie}`)===`inspector.perm.${ie}`?ie:i(`inspector.perm.${ie}`)}const E=r.ref("idle"),M=r.ref([]),D=r.ref(null),x=r.ref(!0),w=r.ref(!1),B=r.ref("idle"),N=r.ref([]);let G=0;async function F(){const ie=++G;if(D.value=null,M.value=[],N.value=[],l.value&&d.value&&u.value!=null?(E.value="loading",q(ie)):E.value="hidden",l.value){B.value="loading";const ge=l.value.path;try{const{shares:me}=await n.api.listShares(ge);if(ie!==G)return;N.value=Array.isArray(me)?me:[],B.value="ok"}catch{if(ie!==G)return;B.value="hidden"}}else B.value="hidden"}async function q(ie){const ge=u.value;if(ge!=null)try{const me=await n.api.listVersions(ge);if(ie!==G)return;M.value=me,E.value="ok"}catch(me){if(ie!==G)return;const we=me.status;we===401||we===403||we===404?E.value="hidden":E.value="error"}}function Y(ie){D.value=ie.id,x.value=!0}async function K(ie){const ge=u.value;if(!(ge==null||w.value)){w.value=!0;try{await n.api.restoreVersion(ge,ie.id,x.value),a("toast",i("inspector.versions.restored")),D.value=null,a("changed"),await q(++G)}catch(me){a("toast",me.message)}finally{w.value=!1}}}async function Q(){const ie=u.value;if(!(ie==null||w.value)){w.value=!0;try{await n.api.snapshotVersion(ie),a("toast",i("inspector.versions.snapshotted")),await q(++G)}catch(ge){const me=ge.status;me===404||me===405||me===501?a("toast",i("inspector.versions.unsupported")):a("toast",ge.message)}finally{w.value=!1}}}r.watch(()=>n.nodes.map(ie=>ie.path).join("\0"),()=>void F(),{immediate:!0});const re=r.ref("hidden"),$=r.ref([]),V=r.ref(""),z=r.ref(!1),U=r.computed(()=>{var ie;return typeof((ie=l.value)==null?void 0:ie.id)=="number"?l.value.id:null});let H=0;async function de(){const ie=++H,ge=U.value;if(ge==null){re.value="hidden",$.value=[];return}re.value=$.value.length>0?"ok":"loading";try{const me=await n.api.listComments(ge);if(ie!==H)return;$.value=me,re.value="ok"}catch(me){if(ie!==H)return;$.value=[];const we=me.status;re.value=we===401||we===403||we===404?"hidden":"error"}}async function he(){const ie=U.value,ge=V.value.trim();if(!(ie==null||ge===""||z.value)){z.value=!0;try{await n.api.addComment(ie,ge),V.value="",await de()}catch(me){a("toast",me.message)}finally{z.value=!1}}}async function ve(ie){if(!z.value){z.value=!0;try{await n.api.deleteComment(ie.id),await de()}catch(ge){a("toast",ge.message)}finally{z.value=!1}}}function xe(ie){const ge=Date.parse(ie);if(Number.isNaN(ge))return ie;const me=Math.round((ge-Date.now())/1e3),we=Math.abs(me),Ge=[["year",31536e3],["month",2592e3],["day",86400],["hour",3600],["minute",60]];try{const Xe=new Intl.RelativeTimeFormat(n.locale==="en"?"en":"tr",{numeric:"auto"});for(const[tt,Ke]of Ge)if(we>=Ke)return Xe.format(Math.trunc(me/Ke),tt);return Xe.format(me,"second")}catch{return b(ie)}}return r.watch(()=>U.value,()=>{$.value=[],V.value="",de()},{immediate:!0}),(ie,ge)=>(r.openBlock(),r.createElementBlock("aside",{class:r.normalizeClass(["fe-inspector",{"fe-inspector--overlay":e.narrow}]),role:"complementary","aria-label":r.unref(i)("inspector.title")},[r.createElementVNode("header",u3,[r.createElementVNode("h2",f3,r.toDisplayString(r.unref(i)("inspector.title")),1),r.createElementVNode("button",{type:"button",class:"fe-inspector__close",title:r.unref(i)("inspector.close"),"aria-label":r.unref(i)("inspector.close"),onClick:ge[0]||(ge[0]=me=>a("close"))},"×",8,h3)]),r.createElementVNode("div",p3,[r.createElementVNode("section",m3,[r.createElementVNode("h3",g3,r.toDisplayString(r.unref(i)("inspector.section.general")),1),c.value?(r.openBlock(),r.createElementBlock("div",v3,[r.createElementVNode("span",{class:"fe-inspector__bigicon",innerHTML:r.unref(Za)({type:"dir"})},null,8,y3),r.createElementVNode("p",b3,r.toDisplayString(r.unref(i)("inspector.items_summary",{n:e.nodes.length,size:r.unref(o)(h.value)})),1)])):l.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createElementVNode("div",_3,[p.value?(r.openBlock(),r.createElementBlock("img",{key:0,class:"fe-inspector__thumb",src:p.value,alt:"","aria-hidden":"true"},null,8,k3)):(r.openBlock(),r.createElementBlock("span",{key:1,class:"fe-inspector__bigicon",innerHTML:r.unref(Za)(l.value)},null,8,w3)),r.createElementVNode("p",{class:"fe-inspector__name",title:l.value.basename},r.toDisplayString(r.unref(s)(l.value)),9,x3)]),r.createElementVNode("dl",S3,[r.createElementVNode("div",E3,[r.createElementVNode("dt",null,r.toDisplayString(r.unref(i)("inspector.path")),1),r.createElementVNode("dd",C3,[r.createElementVNode("span",{class:"fe-inspector__path",title:l.value.path},r.toDisplayString(l.value.path),9,B3),r.createElementVNode("button",{type:"button",class:"fe-inspector__copy",title:r.unref(i)("inspector.copy"),"aria-label":r.unref(i)("inspector.copy"),onClick:ge[1]||(ge[1]=me=>m(l.value.path))},"⧉",8,D3)])]),d.value?(r.openBlock(),r.createElementBlock("div",T3,[r.createElementVNode("dt",null,r.toDisplayString(r.unref(i)("inspector.size")),1),r.createElementVNode("dd",null,r.toDisplayString(r.unref(o)(typeof l.value.size=="number"?l.value.size:null)),1)])):r.createCommentVNode("",!0),r.createElementVNode("div",A3,[r.createElementVNode("dt",null,r.toDisplayString(r.unref(i)("inspector.modified")),1),r.createElementVNode("dd",null,r.toDisplayString(v(l.value.last_modified)),1)]),d.value&&l.value.mime_type?(r.openBlock(),r.createElementBlock("div",M3,[r.createElementVNode("dt",null,r.toDisplayString(r.unref(i)("inspector.mime")),1),r.createElementVNode("dd",N3,r.toDisplayString(l.value.mime_type),1)])):r.createCommentVNode("",!0),f.value?(r.openBlock(),r.createElementBlock("div",I3,[r.createElementVNode("dt",null,r.toDisplayString(r.unref(i)("inspector.etag")),1),r.createElementVNode("dd",z3,[r.createElementVNode("span",{class:"fe-inspector__path",title:f.value},r.toDisplayString(k(f.value)),9,F3),r.createElementVNode("button",{type:"button",class:"fe-inspector__copy",title:r.unref(i)("inspector.copy"),"aria-label":r.unref(i)("inspector.copy"),onClick:ge[2]||(ge[2]=me=>m(f.value))},"⧉",8,L3)])])):r.createCommentVNode("",!0)])],64)):(r.openBlock(),r.createElementBlock("div",O3,[r.createElementVNode("span",{class:"fe-inspector__bigicon",innerHTML:r.unref(Za)({type:"dir"})},null,8,P3),r.createElementVNode("p",{class:"fe-inspector__name",title:e.dirLabel},r.toDisplayString(e.dirLabel),9,R3),r.createElementVNode("p",V3,r.toDisplayString(r.unref(i)("inspector.folder_items",{n:e.dirCount})),1)]))]),E.value==="ok"||E.value==="error"?(r.openBlock(),r.createElementBlock("section",$3,[r.createElementVNode("h3",U3,r.toDisplayString(r.unref(i)("inspector.section.versions")),1),E.value==="error"?(r.openBlock(),r.createElementBlock("p",H3,r.toDisplayString(r.unref(i)("inspector.error")),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[M.value.length===0?(r.openBlock(),r.createElementBlock("p",G3,r.toDisplayString(r.unref(i)("inspector.versions.empty")),1)):(r.openBlock(),r.createElementBlock("ul",j3,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(M.value,me=>(r.openBlock(),r.createElementBlock("li",{key:me.id,class:"fe-inspector__version"},[r.createElementVNode("div",q3,[r.createElementVNode("span",K3,r.toDisplayString(r.unref(i)("inspector.versions.v",{n:me.version_n})),1),r.createElementVNode("span",W3,r.toDisplayString(b(me.created_at))+" · "+r.toDisplayString(r.unref(o)(me.size)),1)]),D.value===me.id?(r.openBlock(),r.createElementBlock("div",Y3,[r.createElementVNode("p",X3,r.toDisplayString(r.unref(i)("inspector.versions.restore_confirm")),1),r.createElementVNode("label",Z3,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":ge[3]||(ge[3]=we=>x.value=we),type:"checkbox"},null,512),[[r.vModelCheckbox,x.value]]),r.createTextVNode(" "+r.toDisplayString(r.unref(i)("inspector.versions.snapshot_current")),1)]),r.createElementVNode("div",J3,[r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary fe-btn--sm",disabled:w.value,onClick:we=>K(me)},r.toDisplayString(r.unref(i)("inspector.versions.confirm")),9,Q3),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--sm",disabled:w.value,onClick:ge[4]||(ge[4]=we=>D.value=null)},r.toDisplayString(r.unref(i)("inspector.versions.cancel")),9,e5)])])):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-btn fe-btn--sm",disabled:w.value,onClick:we=>Y(me)},r.toDisplayString(r.unref(i)("inspector.versions.restore")),9,t5))]))),128))])),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--sm fe-inspector__snapshot",disabled:w.value,onClick:Q},r.toDisplayString(r.unref(i)("inspector.versions.take_snapshot")),9,n5)],64))])):r.createCommentVNode("",!0),l.value&&g.value?(r.openBlock(),r.createElementBlock("section",r5,[r.createElementVNode("h3",a5,r.toDisplayString(r.unref(i)("inspector.section.permissions")),1),r.createElementVNode("div",i5,[r.createElementVNode("span",{class:r.normalizeClass(["fe-inspector__badge",`fe-inspector__badge--${g.value}`])},r.toDisplayString(y(g.value)),3),_.value?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--sm",onClick:ge[5]||(ge[5]=me=>a("manage-permissions",l.value))},r.toDisplayString(r.unref(i)("inspector.perm.manage")),1)):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0),B.value==="ok"?(r.openBlock(),r.createElementBlock("section",o5,[r.createElementVNode("h3",l5,r.toDisplayString(r.unref(i)("inspector.section.shares")),1),N.value.length===0?(r.openBlock(),r.createElementBlock("p",s5,r.toDisplayString(r.unref(i)("inspector.shares.empty")),1)):(r.openBlock(),r.createElementBlock("ul",c5,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(N.value,me=>(r.openBlock(),r.createElementBlock("li",{key:me.uuid,class:"fe-inspector__share"},[r.createElementVNode("span",{class:"fe-inspector__share-url",title:me.url},r.toDisplayString(me.url),9,d5),me.password_pin?(r.openBlock(),r.createElementBlock("span",u5,"PIN")):r.createCommentVNode("",!0),me.expires_at?(r.openBlock(),r.createElementBlock("span",f5,r.toDisplayString(b(me.expires_at)),1)):r.createCommentVNode("",!0),r.createElementVNode("button",{type:"button",class:"fe-inspector__copy",title:r.unref(i)("inspector.shares.copy"),"aria-label":r.unref(i)("inspector.shares.copy"),onClick:we=>m(me.url)},"⧉",8,h5)]))),128))]))])):r.createCommentVNode("",!0),re.value==="ok"||re.value==="error"?(r.openBlock(),r.createElementBlock("section",p5,[r.createElementVNode("h3",m5,[r.createTextVNode(r.toDisplayString(r.unref(i)("inspector.section.comments"))+" ",1),$.value.length>0?(r.openBlock(),r.createElementBlock("span",g5,r.toDisplayString($.value.length),1)):r.createCommentVNode("",!0)]),re.value==="error"?(r.openBlock(),r.createElementBlock("p",v5,r.toDisplayString(r.unref(i)("inspector.error")),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[$.value.length===0?(r.openBlock(),r.createElementBlock("p",y5,r.toDisplayString(r.unref(i)("inspector.comments.empty")),1)):(r.openBlock(),r.createElementBlock("ul",b5,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList($.value,me=>(r.openBlock(),r.createElementBlock("li",{key:me.id,class:"fe-inspector__comment"},[r.createElementVNode("div",_5,[r.createElementVNode("span",{class:"fe-inspector__comment-author",title:me.author_name},r.toDisplayString(me.author_name||"—"),9,k5),r.createElementVNode("span",{class:"fe-inspector__comment-time",title:b(me.created_at)},r.toDisplayString(xe(me.created_at)),9,w5),me.can_delete?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-inspector__comment-del",disabled:z.value,title:r.unref(i)("inspector.comments.delete"),"aria-label":r.unref(i)("inspector.comments.delete"),onClick:we=>ve(me)},"×",8,x5)):r.createCommentVNode("",!0)]),r.createElementVNode("p",S5,r.toDisplayString(me.body),1)]))),128))])),r.createElementVNode("form",{class:"fe-inspector__comment-form",onSubmit:r.withModifiers(he,["prevent"])},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":ge[6]||(ge[6]=me=>V.value=me),type:"text",class:"fe-inspector__comment-input",maxlength:"5000",placeholder:r.unref(i)("inspector.comments.placeholder"),"aria-label":r.unref(i)("inspector.comments.placeholder"),disabled:z.value},null,8,E5),[[r.vModelText,V.value]]),r.createElementVNode("button",{type:"submit",class:"fe-btn fe-btn--primary fe-btn--sm",disabled:z.value||V.value.trim()===""},r.toDisplayString(r.unref(i)("inspector.comments.send")),9,C5)],32)],64))])):r.createCommentVNode("",!0)])],10,d3))}}),D5=["aria-label"],T5={class:"fe-cmdp__inputwrap"},A5=["placeholder"],M5=["aria-selected","onMouseenter","onClick"],N5={class:"fe-cmdp__icon","aria-hidden":"true"},I5={class:"fe-cmdp__label"},z5={class:"fe-cmdp__group"},F5=["aria-selected","onMouseenter","onClick"],L5={class:"fe-cmdp__icon","aria-hidden":"true"},O5={class:"fe-cmdp__label"},P5={class:"fe-cmdp__group"},R5={key:0,class:"fe-cmdp__loading"},V5=["aria-selected","onMouseenter","onClick"],$5={class:"fe-cmdp__icon","aria-hidden":"true"},U5={class:"fe-cmdp__hitbody"},H5={class:"fe-cmdp__hitline"},G5={class:"fe-cmdp__label"},j5={key:0,class:"fe-cmdp__badge"},q5=["title"],K5={key:1,class:"fe-cmdp__snippet"},W5={key:0,class:"fe-cmdp__mark"},Y5={class:"fe-cmdp__group"},X5=["aria-selected","onMouseenter","onClick","onKeydown"],Z5={class:"fe-cmdp__icon","aria-hidden":"true"},J5={class:"fe-cmdp__label"},Q5=["title","aria-label","onClick"],eb={class:"fe-cmdp__group"},tb=["aria-selected","onMouseenter","onClick"],nb={class:"fe-cmdp__icon","aria-hidden":"true"},rb={class:"fe-cmdp__label"},ab={key:4,class:"fe-cmdp__empty"},ib={class:"fe-cmdp__hint"},ob=3,lb=8,sb=250,bu="filex.saved-searches",_u=10,cb=r.defineComponent({__name:"CommandPalette",props:{open:{type:Boolean},locale:{},files:{},viewMode:{},canWrite:{type:Boolean},canGoUp:{type:Boolean},globalSearch:{type:Function},splitEnabled:{type:Boolean}},emits:["close","open-node","navigate","new-folder","upload","toggle-view","open-trash","refresh","go-up","open-hit","open-theme","open-shortcut-settings","start-tour","tab-new","split-toggle"],setup(e,{emit:t}){const n=e,a=t,{t:i,nodeDisplayName:o}=Gt(()=>n.locale),s=r.ref(""),l=r.ref(0),c=r.ref(null),d=r.ref(null);function u($,V){if(!V)return 0;const z=$.toLocaleLowerCase(),U=V.toLocaleLowerCase(),H=z.indexOf(U);if(H===-1)return-1;let de=100-Math.min(H,50);return H===0&&(de+=40),de-=Math.min(z.length,40)/4,de}const h=r.computed(()=>{const $=s.value.trim();if(!$.includes("/"))return[];const V=$.replace(/^\/+|\/+$/g,"");return V?[{kind:"goto",id:`goto:${V}`,label:`${i("palette.goto")}: ${V}`,icon:"➜",path:V}]:[]}),f=r.computed(()=>{const $=s.value.trim(),V=n.files.map(z=>({f:z,name:o(z),s:u(o(z),$)})).filter(z=>z.s>=0);return $&&V.sort((z,U)=>U.s-z.s),V.slice(0,8).map(z=>({kind:"file",id:`file:${z.f.path}`,label:z.name,icon:z.f.type==="dir"?"📁":"📄",node:z.f}))}),p=r.computed(()=>{const $=s.value.trim();return[{command:"new-folder",label:i("toolbar.new_folder"),icon:"📁",enabled:n.canWrite!==!1},{command:"upload",label:i("toolbar.upload"),icon:"⬆",enabled:n.canWrite!==!1},{command:"toggle-view",label:i("cmd.view_toggle"),icon:n.viewMode==="list"?"▦":n.viewMode==="grid"?"▣":"☰",enabled:!0},{command:"open-trash",label:i("cmd.trash"),icon:"🗑",enabled:!0},{command:"refresh",label:i("toolbar.refresh"),icon:"⟳",enabled:!0},{command:"go-up",label:i("toolbar.go_up"),icon:"↑",enabled:n.canGoUp!==!1},{command:"open-theme",label:i("theme.menu"),icon:"🎨",enabled:!0},{command:"open-shortcut-settings",label:i("shortcuts.settings.menu"),icon:"⌨",enabled:!0},{command:"start-tour",label:i("tour.restart"),icon:"🎓",enabled:!0},{command:"tab-new",label:i("cmd.tab_new"),icon:"⧉",enabled:!0},{command:"split-toggle",label:i("cmd.split_toggle"),icon:"◫",enabled:n.splitEnabled!==!1}].filter(z=>z.enabled&&u(z.label,$)>=0).map(z=>({kind:"command",id:`cmd:${z.command}`,label:z.label,icon:z.icon,command:z.command}))}),k=r.ref([]),v=r.ref(!1);let b,m=0;function g($){b&&clearTimeout(b);const V=n.globalSearch;if(!V||$.length<ob){k.value=[],v.value=!1;return}v.value=!0,b=setTimeout(async()=>{const z=++m;try{const U=await V($);if(z!==m)return;k.value=Array.isArray(U)?U.slice(0,lb):[]}catch{z===m&&(k.value=[])}finally{z===m&&(v.value=!1)}},sb)}function _($){const V=String($.path??"").replace(/^\/+|\/+$/g,""),z=V.lastIndexOf("/"),U=z===-1?"":V.slice(0,z),H=typeof $.storage=="string"&&$.storage||typeof $.storage_name=="string"&&$.storage_name||"";return H&&U?`${H}/${U}`:H||U||"/"}const y=r.computed(()=>k.value.map($=>({kind:"hit",id:`hit:${$.storage_id??""}:${$.path??""}:${$.id??""}`,label:String($.name??$.path??""),icon:$.type==="dir"?"📁":"📄",hit:$,crumb:_($),inContent:Ks($.matched),snippet:typeof $.snippet=="string"?$.snippet:""}))),E=r.ref([]);function M(){try{const $=localStorage.getItem(bu);if(!$)return[];const V=JSON.parse($);return Array.isArray(V)?V.filter(z=>typeof z=="string"&&z.trim()!=="").slice(0,_u):[]}catch{return[]}}function D($){E.value=$.slice(0,_u);try{localStorage.setItem(bu,JSON.stringify(E.value))}catch{}}function x($){const V=$.trim();if(!V)return;const z=E.value.filter(U=>U!==V);z.unshift(V),D(z)}function w($){D(E.value.filter(V=>V!==$)),l.value>=N.value.length&&(l.value=Math.max(0,N.value.length-1))}const B=r.computed(()=>{const $=s.value.trim(),V=[];$&&!E.value.includes($)&&V.push({kind:"save",id:`save:${$}`,label:`${i("palette.save")}: ${$}`,icon:"💾",query:$});const z=E.value.map(U=>({s:U,sc:u(U,$)})).filter(U=>U.sc>=0||!$);for(const U of z)V.push({kind:"saved",id:`saved:${U.s}`,label:U.s,icon:"🔖",query:U.s});return V}),N=r.computed(()=>[...h.value,...f.value,...y.value,...B.value,...p.value]),G=r.computed(()=>h.value.length),F=r.computed(()=>G.value+f.value.length),q=r.computed(()=>F.value+y.value.length),Y=r.computed(()=>q.value+B.value.length);r.watch(s,$=>{l.value=0,g($.trim())});function K($){const V=N.value.length;V&&(l.value=(l.value+$+V)%V,r.nextTick(()=>{var z,U;(U=(z=d.value)==null?void 0:z.querySelector(".is-active"))==null||U.scrollIntoView({block:"nearest"})}))}function Q($){const V=$??N.value[l.value];if(V){if(V.kind==="saved"){s.value=V.query,r.nextTick(()=>{var z;return(z=c.value)==null?void 0:z.focus()});return}if(V.kind==="save"){x(V.query),r.nextTick(()=>{var z;return(z=c.value)==null?void 0:z.focus()});return}if(a("close"),V.kind==="hit"){a("open-hit",V.hit);return}if(V.kind==="file")a("open-node",V.node);else if(V.kind==="goto")a("navigate",V.path);else switch(V.command){case"new-folder":a("new-folder");break;case"upload":a("upload");break;case"toggle-view":a("toggle-view");break;case"open-trash":a("open-trash");break;case"refresh":a("refresh");break;case"go-up":a("go-up");break;case"open-theme":a("open-theme");break;case"open-shortcut-settings":a("open-shortcut-settings");break;case"start-tour":a("start-tour");break;case"tab-new":a("tab-new");break;case"split-toggle":a("split-toggle");break}}}function re($){if(n.open)switch($.key){case"ArrowDown":$.preventDefault(),$.stopPropagation(),K(1);break;case"ArrowUp":$.preventDefault(),$.stopPropagation(),K(-1);break;case"Enter":$.preventDefault(),$.stopPropagation(),Q();break;case"Escape":$.preventDefault(),$.stopPropagation(),a("close");break}}return r.watch(()=>n.open,$=>{$?(s.value="",l.value=0,k.value=[],v.value=!1,E.value=M(),document.addEventListener("keydown",re,!0),r.nextTick(()=>{var V;return(V=c.value)==null?void 0:V.focus()})):(b&&clearTimeout(b),document.removeEventListener("keydown",re,!0))}),r.onBeforeUnmount(()=>{b&&clearTimeout(b),document.removeEventListener("keydown",re,!0)}),($,V)=>(r.openBlock(),r.createBlock(r.Transition,{name:"fe-modal"},{default:r.withCtx(()=>[e.open?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fe-modal__backdrop fe-cmdp__backdrop",role:"presentation",onClick:V[2]||(V[2]=z=>a("close"))},[r.createElementVNode("div",{class:"fe-cmdp",role:"dialog","aria-modal":"true","aria-label":r.unref(i)("palette.placeholder"),onClick:V[1]||(V[1]=r.withModifiers(()=>{},["stop"]))},[r.createElementVNode("div",T5,[V[3]||(V[3]=r.createElementVNode("svg",{class:"fe-cmdp__glyph",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","aria-hidden":"true"},[r.createElementVNode("circle",{cx:"7",cy:"7",r:"4.5"}),r.createElementVNode("path",{d:"m10.5 10.5 3.5 3.5"})],-1)),r.withDirectives(r.createElementVNode("input",{ref_key:"inputEl",ref:c,"onUpdate:modelValue":V[0]||(V[0]=z=>s.value=z),type:"text",class:"fe-cmdp__input",placeholder:r.unref(i)("palette.placeholder"),autocomplete:"off",spellcheck:"false"},null,8,A5),[[r.vModelText,s.value]])]),r.createElementVNode("div",{ref_key:"listEl",ref:d,class:"fe-cmdp__list",role:"listbox"},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(h.value,(z,U)=>(r.openBlock(),r.createElementBlock("button",{key:z.id,type:"button",class:r.normalizeClass(["fe-cmdp__item",{"is-active":U===l.value}]),role:"option","aria-selected":U===l.value,onMouseenter:H=>l.value=U,onClick:H=>Q(z)},[r.createElementVNode("span",N5,r.toDisplayString(z.icon),1),r.createElementVNode("span",I5,r.toDisplayString(z.label),1)],42,M5))),128)),f.value.length?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("div",z5,r.toDisplayString(r.unref(i)("palette.files")),1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(f.value,(z,U)=>(r.openBlock(),r.createElementBlock("button",{key:z.id,type:"button",class:r.normalizeClass(["fe-cmdp__item",{"is-active":G.value+U===l.value}]),role:"option","aria-selected":G.value+U===l.value,onMouseenter:H=>l.value=G.value+U,onClick:H=>Q(z)},[r.createElementVNode("span",L5,r.toDisplayString(z.icon),1),r.createElementVNode("span",O5,r.toDisplayString(z.label),1)],42,F5))),128))],64)):r.createCommentVNode("",!0),y.value.length||v.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createElementVNode("div",P5,r.toDisplayString(r.unref(i)("palette.everywhere")),1),v.value&&!y.value.length?(r.openBlock(),r.createElementBlock("div",R5,r.toDisplayString(r.unref(i)("palette.searching")),1)):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(y.value,(z,U)=>(r.openBlock(),r.createElementBlock("button",{key:z.id,type:"button",class:r.normalizeClass(["fe-cmdp__item fe-cmdp__item--hit",{"is-active":F.value+U===l.value}]),role:"option","aria-selected":F.value+U===l.value,onMouseenter:H=>l.value=F.value+U,onClick:H=>Q(z)},[r.createElementVNode("span",$5,r.toDisplayString(z.icon),1),r.createElementVNode("span",U5,[r.createElementVNode("span",H5,[r.createElementVNode("span",G5,r.toDisplayString(z.label),1),z.inContent?(r.openBlock(),r.createElementBlock("span",j5,r.toDisplayString(r.unref(i)("search.in_content")),1)):r.createCommentVNode("",!0)]),z.crumb?(r.openBlock(),r.createElementBlock("span",{key:0,class:"fe-cmdp__crumb",title:z.crumb},r.toDisplayString(z.crumb),9,q5)):r.createCommentVNode("",!0),z.snippet?(r.openBlock(),r.createElementBlock("span",K5,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(qi)(z.snippet),(H,de)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:de},[H.match?(r.openBlock(),r.createElementBlock("mark",W5,r.toDisplayString(H.text),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(r.toDisplayString(H.text),1)],64))],64))),128))])):r.createCommentVNode("",!0)])],42,V5))),128))],64)):r.createCommentVNode("",!0),B.value.length?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[r.createElementVNode("div",Y5,r.toDisplayString(r.unref(i)("palette.saved")),1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(B.value,(z,U)=>(r.openBlock(),r.createElementBlock("div",{key:z.id,class:r.normalizeClass(["fe-cmdp__item fe-cmdp__item--saved",{"is-active":q.value+U===l.value}]),role:"option","aria-selected":q.value+U===l.value,tabindex:"-1",onMouseenter:H=>l.value=q.value+U,onClick:H=>Q(z),onKeydown:r.withKeys(r.withModifiers(H=>Q(z),["prevent"]),["enter"])},[r.createElementVNode("span",Z5,r.toDisplayString(z.icon),1),r.createElementVNode("span",J5,r.toDisplayString(z.label),1),z.kind==="saved"?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-cmdp__del",title:r.unref(i)("palette.saved.delete"),"aria-label":r.unref(i)("palette.saved.delete"),onClick:r.withModifiers(H=>w(z.query),["stop"])},"🗑",8,Q5)):r.createCommentVNode("",!0)],42,X5))),128))],64)):r.createCommentVNode("",!0),p.value.length?(r.openBlock(),r.createElementBlock(r.Fragment,{key:3},[r.createElementVNode("div",eb,r.toDisplayString(r.unref(i)("palette.commands")),1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(p.value,(z,U)=>(r.openBlock(),r.createElementBlock("button",{key:z.id,type:"button",class:r.normalizeClass(["fe-cmdp__item",{"is-active":Y.value+U===l.value}]),role:"option","aria-selected":Y.value+U===l.value,onMouseenter:H=>l.value=Y.value+U,onClick:H=>Q(z)},[r.createElementVNode("span",nb,r.toDisplayString(z.icon),1),r.createElementVNode("span",rb,r.toDisplayString(z.label),1)],42,tb))),128))],64)):r.createCommentVNode("",!0),N.value.length===0&&!v.value?(r.openBlock(),r.createElementBlock("div",ab,r.toDisplayString(r.unref(i)("palette.empty")),1)):r.createCommentVNode("",!0)],512),r.createElementVNode("div",ib,r.toDisplayString(r.unref(i)("palette.hint")),1)],8,D5)])):r.createCommentVNode("",!0)]),_:1}))}}),db=["aria-labelledby","aria-label"],ub={key:0,class:"fe-modal__head"},fb={class:"fe-modal__body"},hb={key:1,class:"fe-modal__actions"},ku='input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),a[href],[tabindex]:not([tabindex="-1"])',Rr=r.defineComponent({__name:"Modal",props:{open:{type:Boolean},title:{},size:{},closeOnBackdrop:{type:Boolean},chromeless:{type:Boolean},theme:{}},emits:["close"],setup(e,{emit:t}){const n=e,a=t,i=r.ref(null);let o=0;const s=`fe-modal-title-${++o}-${Math.random().toString(36).slice(2,7)}`;let l=null;r.watch(()=>n.open,u=>{var h;u?(l=document.activeElement??null,document.addEventListener("keydown",c),setTimeout(()=>{var p;const f=(p=i.value)==null?void 0:p.querySelector(ku);f==null||f.focus()},30)):(document.removeEventListener("keydown",c),(h=l==null?void 0:l.focus)==null||h.call(l),l=null)}),r.onBeforeUnmount(()=>document.removeEventListener("keydown",c));function c(u){if(u.key==="Escape"){a("close");return}if(u.key==="Tab"&&i.value){const h=Array.from(i.value.querySelectorAll(ku)).filter(v=>v.offsetParent!==null||v===document.activeElement);if(h.length===0)return;const f=h[0],p=h[h.length-1],k=document.activeElement;u.shiftKey&&(k===f||!i.value.contains(k))?(u.preventDefault(),p.focus()):!u.shiftKey&&(k===p||!i.value.contains(k))&&(u.preventDefault(),f.focus())}}function d(){n.closeOnBackdrop!==!1&&a("close")}return(u,h)=>(r.openBlock(),r.createBlock(r.Transition,{name:"fe-modal"},{default:r.withCtx(()=>[e.open?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe fe-modal__backdrop",[{"fe-modal__backdrop--chromeless":e.chromeless},e.theme==="light"?"fe--theme-light":"",e.theme==="dark"?"fe--theme-dark":""]]),role:"presentation",onClick:d},[r.createElementVNode("div",{ref_key:"cardEl",ref:i,class:r.normalizeClass(["fe-modal__card",[`fe-modal__card--${e.size||"md"}`,e.chromeless&&"fe-modal__card--chromeless"]]),role:"dialog","aria-modal":"true","aria-labelledby":e.title&&!e.chromeless?s:void 0,"aria-label":(!e.title||e.chromeless)&&e.title||void 0,onClick:h[1]||(h[1]=r.withModifiers(()=>{},["stop"]))},[e.title&&!e.chromeless?(r.openBlock(),r.createElementBlock("header",ub,[r.createElementVNode("h2",{id:s,class:"fe-modal__title"},r.toDisplayString(e.title),1),r.createElementVNode("button",{type:"button",class:"fe-modal__close","aria-label":"Close",onClick:h[0]||(h[0]=f=>a("close"))},"×")])):r.createCommentVNode("",!0),r.createElementVNode("div",fb,[r.renderSlot(u.$slots,"default")]),u.$slots.actions&&!e.chromeless?(r.openBlock(),r.createElementBlock("footer",hb,[r.renderSlot(u.$slots,"actions")])):r.createCommentVNode("",!0)],10,db)],2)):r.createCommentVNode("",!0)]),_:3}))}}),pb={class:"fe-shortcuts"},mb={class:"fe-shortcuts__heading"},gb={class:"fe-shortcuts__table"},vb={class:"fe-shortcuts__keys"},yb={key:0,class:"fe-shortcuts__unbound"},bb={class:"fe-kbd"},_b={key:0,class:"fe-shortcuts__or","aria-hidden":"true"},kb={class:"fe-shortcuts__desc"},wb=["title"],xb=r.defineComponent({__name:"ShortcutsHelp",props:{open:{type:Boolean},locale:{}},emits:["close","customize"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale),o=Hs(),s=r.computed(()=>{const l=[],c=new Map;for(const d of o.value)c.has(d.groupKey)||(c.set(d.groupKey,[]),l.push(d.groupKey)),c.get(d.groupKey).push(d);return l.map(d=>({key:d,items:c.get(d)}))});return(l,c)=>(r.openBlock(),r.createBlock(Rr,{open:e.open,title:r.unref(i)("shortcuts.title"),size:"md",onClose:c[2]||(c[2]=d=>a("close"))},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:c[0]||(c[0]=d=>a("customize"))}," ⌨ "+r.toDisplayString(r.unref(i)("shortcuts.customize")),1),r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:c[1]||(c[1]=d=>a("close"))},r.toDisplayString(r.unref(i)("viewer.close")),1)]),default:r.withCtx(()=>[r.createElementVNode("div",pb,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.value,d=>(r.openBlock(),r.createElementBlock("section",{key:d.key,class:"fe-shortcuts__group"},[r.createElementVNode("h3",mb,r.toDisplayString(r.unref(i)(d.key)),1),r.createElementVNode("div",gb,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(d.items,u=>(r.openBlock(),r.createElementBlock("div",{key:u.id,class:"fe-shortcuts__row"},[r.createElementVNode("span",vb,[u.keys.length===0?(r.openBlock(),r.createElementBlock("span",yb,r.toDisplayString(r.unref(i)("shortcuts.settings.unbound")),1)):(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(u.keys,(h,f)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:h},[r.createElementVNode("kbd",bb,r.toDisplayString(h),1),f<u.keys.length-1?(r.openBlock(),r.createElementBlock("span",_b,"/")):r.createCommentVNode("",!0)],64))),128))]),r.createElementVNode("span",kb,[r.createTextVNode(r.toDisplayString(r.unref(i)(u.labelKey))+" ",1),u.overridden?(r.openBlock(),r.createElementBlock("span",{key:0,class:"fe-shortcuts__custom",title:r.unref(i)("shortcuts.settings.customized")},"●",8,wb)):r.createCommentVNode("",!0)])]))),128))])]))),128))])]),_:1},8,["open","title"]))}}),Ki="filex.theme",dr="default",Zo=[{id:dr,nameKey:"theme.name.default",light:{"--fe-bg":"#ffffff","--fe-bg-elev":"#f7f8fa","--fe-bg-hover":"#edf0f5","--fe-bg-selected":"#dfe8ff","--fe-border":"#e2e6ed","--fe-border-strong":"#c7ced9","--fe-text":"#1a1e27","--fe-text-muted":"#5a6475","--fe-text-on-primary":"#ffffff","--fe-primary":"#3b82f6","--fe-primary-hover":"#2563eb","--fe-danger":"#dc2626","--fe-danger-hover":"#b91c1c"},dark:{"--fe-bg":"#0f1419","--fe-bg-elev":"#161c25","--fe-bg-hover":"#1f2733","--fe-bg-selected":"#23324a","--fe-border":"#2a323e","--fe-border-strong":"#3a4453","--fe-text":"#e5e9f0","--fe-text-muted":"#8b95a7","--fe-text-on-primary":"#ffffff","--fe-primary":"#60a5fa","--fe-primary-hover":"#3b82f6","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"night",nameKey:"theme.name.night",light:{"--fe-bg":"#f6f8fd","--fe-bg-elev":"#edf1fa","--fe-bg-hover":"#e2e9f7","--fe-bg-selected":"#d2ddf4","--fe-border":"#d6deee","--fe-border-strong":"#aebfda","--fe-text":"#151f38","--fe-text-muted":"#49587a","--fe-text-on-primary":"#ffffff","--fe-primary":"#2c4a9e","--fe-primary-hover":"#213a80","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f"},dark:{"--fe-bg":"#0a1024","--fe-bg-elev":"#111a35","--fe-bg-hover":"#1a2547","--fe-bg-selected":"#243665","--fe-border":"#26335a","--fe-border-strong":"#3c4e84","--fe-text":"#dfe6f7","--fe-text-muted":"#96a5cc","--fe-text-on-primary":"#050b26","--fe-primary":"#6d8dfc","--fe-primary-hover":"#5273f2","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"forest",nameKey:"theme.name.forest",light:{"--fe-bg":"#f5faf5","--fe-bg-elev":"#eaf3eb","--fe-bg-hover":"#dcecdf","--fe-bg-selected":"#c8e2ce","--fe-border":"#d2e2d4","--fe-border-strong":"#a2c3a8","--fe-text":"#182b1d","--fe-text-muted":"#42604a","--fe-text-on-primary":"#ffffff","--fe-primary":"#2b7a41","--fe-primary-hover":"#226334","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f"},dark:{"--fe-bg":"#0d1611","--fe-bg-elev":"#132019","--fe-bg-hover":"#1b2d23","--fe-bg-selected":"#264532","--fe-border":"#28402f","--fe-border-strong":"#3e5f49","--fe-text":"#dcebe0","--fe-text-muted":"#93b09b","--fe-text-on-primary":"#04180b","--fe-primary":"#54c17a","--fe-primary-hover":"#3fae66","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"amber",nameKey:"theme.name.amber",light:{"--fe-bg":"#fdf9f0","--fe-bg-elev":"#f7efdd","--fe-bg-hover":"#f0e3c8","--fe-bg-selected":"#ead6ab","--fe-border":"#e6dabf","--fe-border-strong":"#c6b184","--fe-text":"#33270f","--fe-text-muted":"#655631","--fe-text-on-primary":"#ffffff","--fe-primary":"#9a4b00","--fe-primary-hover":"#7c3c00","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f"},dark:{"--fe-bg":"#191307","--fe-bg-elev":"#231a0c","--fe-bg-hover":"#2f2312","--fe-bg-selected":"#44331b","--fe-border":"#3b2e17","--fe-border-strong":"#5b4a29","--fe-text":"#f2e7d4","--fe-text-muted":"#bda887","--fe-text-on-primary":"#2a1c02","--fe-primary":"#f5a524","--fe-primary-hover":"#ffb84d","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"lilac",nameKey:"theme.name.lilac",light:{"--fe-bg":"#faf7fd","--fe-bg-elev":"#f2ecfa","--fe-bg-hover":"#e8ddf5","--fe-bg-selected":"#dccaf0","--fe-border":"#e1d6ee","--fe-border-strong":"#bda6d9","--fe-text":"#241a33","--fe-text-muted":"#584871","--fe-text-on-primary":"#ffffff","--fe-primary":"#7231e0","--fe-primary-hover":"#5f21c4","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f"},dark:{"--fe-bg":"#130f1c","--fe-bg-elev":"#1b1527","--fe-bg-hover":"#261d37","--fe-bg-selected":"#37294f","--fe-border":"#302546","--fe-border-strong":"#4b3a6d","--fe-text":"#e9e2f5","--fe-text-muted":"#a999c5","--fe-text-on-primary":"#180d33","--fe-primary":"#b197fa","--fe-primary-hover":"#9c7cf4","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"contrast",nameKey:"theme.name.contrast",light:{"--fe-bg":"#ffffff","--fe-bg-elev":"#f2f2f2","--fe-bg-hover":"#e0e0e0","--fe-bg-selected":"#c9dcff","--fe-border":"#5c5c5c","--fe-border-strong":"#000000","--fe-text":"#000000","--fe-text-muted":"#3d3d3d","--fe-text-on-primary":"#ffffff","--fe-primary":"#003d99","--fe-primary-hover":"#002a6b","--fe-danger":"#a80000","--fe-danger-hover":"#7d0000","--fe-shadow":"0 0 0 1px #000000, 0 10px 32px rgba(0, 0, 0, 0.25)","--fe-shadow-sm":"0 0 0 1px #000000"},dark:{"--fe-bg":"#000000","--fe-bg-elev":"#0d0d0d","--fe-bg-hover":"#212121","--fe-bg-selected":"#003d80","--fe-border":"#8f8f8f","--fe-border-strong":"#ffffff","--fe-text":"#ffffff","--fe-text-muted":"#d6d6d6","--fe-text-on-primary":"#001430","--fe-primary":"#7ab8ff","--fe-primary-hover":"#9ccaff","--fe-danger":"#ff7575","--fe-danger-hover":"#ff9999","--fe-shadow":"0 0 0 1px #ffffff, 0 12px 32px rgba(0, 0, 0, 0.65)","--fe-shadow-sm":"0 0 0 1px #ffffff"}},{id:"gray",nameKey:"theme.name.gray",light:{"--fe-bg":"#f7f7f8","--fe-bg-elev":"#efeff1","--fe-bg-hover":"#e4e4e7","--fe-bg-selected":"#d6d7db","--fe-border":"#dfdfe2","--fe-border-strong":"#b9b9c0","--fe-text":"#26272b","--fe-text-muted":"#585a63","--fe-text-on-primary":"#ffffff","--fe-primary":"#4b4b54","--fe-primary-hover":"#38383f","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f"},dark:{"--fe-bg":"#131316","--fe-bg-elev":"#1b1b1f","--fe-bg-hover":"#26262b","--fe-bg-selected":"#35353c","--fe-border":"#2d2d33","--fe-border-strong":"#4a4a52","--fe-text":"#e6e6e9","--fe-text-muted":"#a4a4ad","--fe-text-on-primary":"#17171b","--fe-primary":"#b0b0ba","--fe-primary-hover":"#c4c4cd","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"terminal",nameKey:"theme.name.terminal",light:{"--fe-bg":"#f3f9f4","--fe-bg-elev":"#e5f2e8","--fe-bg-hover":"#d5ead9","--fe-bg-selected":"#bce3c6","--fe-border":"#cbe2d1","--fe-border-strong":"#94c2a0","--fe-text":"#0c2913","--fe-text-muted":"#31573c","--fe-text-on-primary":"#ffffff","--fe-primary":"#116b33","--fe-primary-hover":"#0c5427","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f","--fe-font":'ui-monospace, "SF Mono", Consolas, Menlo, monospace'},dark:{"--fe-bg":"#050d07","--fe-bg-elev":"#0a1710","--fe-bg-hover":"#112418","--fe-bg-selected":"#1a3a26","--fe-border":"#1c3a2a","--fe-border-strong":"#316144","--fe-text":"#4fdd8b","--fe-text-muted":"#38a668","--fe-text-on-primary":"#03180a","--fe-primary":"#25c95e","--fe-primary-hover":"#4fdd8b","--fe-danger":"#ff6b62","--fe-danger-hover":"#ff8d86","--fe-font":'ui-monospace, "SF Mono", Consolas, Menlo, monospace'}}];function Ja(e){return Zo.find(t=>t.id===e)}const Sb=Array.from(new Set(Zo.flatMap(e=>[...Object.keys(e.light),...Object.keys(e.dark)])));function Eb(){try{const e=localStorage.getItem(Ki);return e&&Ja(e)?e:dr}catch{return dr}}const Ys=r.ref(typeof window>"u"?dr:Eb());function wu(e){const t=Ja(e)?e:dr;Ys.value=t;try{t===dr?localStorage.removeItem(Ki):localStorage.setItem(Ki,t)}catch{}}function xu(){return{themeId:Ys,setTheme:wu}}if(typeof window<"u")try{window.addEventListener("storage",e=>{e.key===Ki&&(Ys.value=e.newValue&&Ja(e.newValue)?e.newValue:dr)})}catch{}function Su(e,t,n){for(const o of Sb)e.style.removeProperty(o);if(t===dr)return;const a=Ja(t);if(!a)return;const i=n?a.dark:a.light;for(const[o,s]of Object.entries(i))e.style.setProperty(o,s)}const Eu="data-filex-theme";function Cu(e){return Object.entries(e).map(([t,n])=>`${t}:${n};`).join("")}function Bu(e){const t=Cu(e.light),n=Cu(e.dark),a=[".fe--theme-dark",":root[data-theme='dark'] .fe",".fe.fe--theme-dark",":root.dark",".dark",":root.dark .fe",".dark .fe",".fe-ctx-backdrop--theme-dark",".fe-ctx-backdrop--theme-auto[data-prefers-dark='1']"].join(","),i=[".fe:not(.fe--theme-light)",".fe-ctx-backdrop--theme-auto:not(.fe-ctx-backdrop--theme-light)"].join(",");return`/* filex theme: ${e.id} */:root,.fe{${t}}${a}{${n}}@media (prefers-color-scheme: dark){${i}{${n}}}`}function Du(e){if(typeof document>"u")return;let t=document.head.querySelector(`style[${Eu}]`);const n=e===dr?void 0:Ja(e);if(!n){t&&(t.textContent="");return}t?t!==document.head.lastElementChild&&document.head.appendChild(t):(t=document.createElement("style"),t.setAttribute(Eu,""),document.head.appendChild(t));const a=Bu(n);t.textContent!==a&&(t.textContent=a)}const Cb={class:"fe-themes__hint"},Bb=["aria-label"],Db=["aria-selected","onClick"],Tb={class:"fe-themecard__name"},Ab=["title"],Mb=["disabled"],Tu=r.defineComponent({__name:"ThemeGallery",props:{open:{type:Boolean},locale:{},theme:{},dark:{type:Boolean},current:{}},emits:["close","select"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale);function o(l){return n.dark?l.dark:l.light}const s=dr;return(l,c)=>(r.openBlock(),r.createBlock(Rr,{open:e.open,title:r.unref(i)("theme.title"),size:"lg",theme:e.theme,onClose:c[2]||(c[2]=d=>a("close"))},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"fe-btn",disabled:e.current===r.unref(s),onClick:c[0]||(c[0]=d=>a("select",r.unref(s)))},r.toDisplayString(r.unref(i)("theme.reset")),9,Mb),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:c[1]||(c[1]=d=>a("close"))},r.toDisplayString(r.unref(i)("theme.close")),1)]),default:r.withCtx(()=>[r.createElementVNode("p",Cb,r.toDisplayString(r.unref(i)("theme.hint")),1),r.createElementVNode("div",{class:"fe-themes",role:"listbox","aria-label":r.unref(i)("theme.title")},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(Zo),d=>(r.openBlock(),r.createElementBlock("button",{key:d.id,type:"button",class:r.normalizeClass(["fe-themecard",{"is-selected":d.id===e.current}]),role:"option","aria-selected":d.id===e.current,style:r.normalizeStyle(o(d)),onClick:u=>a("select",d.id)},[c[3]||(c[3]=r.createElementVNode("span",{class:"fe-themecard__preview","aria-hidden":"true"},[r.createElementVNode("span",{class:"fe-themecard__topbar"},[r.createElementVNode("span",{class:"fe-themecard__chip fe-themecard__chip--primary"}),r.createElementVNode("span",{class:"fe-themecard__chip"}),r.createElementVNode("span",{class:"fe-themecard__chip fe-themecard__chip--ghost"})]),r.createElementVNode("span",{class:"fe-themecard__row"},[r.createElementVNode("span",{class:"fe-themecard__dot"}),r.createElementVNode("span",{class:"fe-themecard__line",style:{width:"62%"}})]),r.createElementVNode("span",{class:"fe-themecard__row fe-themecard__row--selected"},[r.createElementVNode("span",{class:"fe-themecard__dot fe-themecard__dot--primary"}),r.createElementVNode("span",{class:"fe-themecard__line",style:{width:"44%"}})]),r.createElementVNode("span",{class:"fe-themecard__row"},[r.createElementVNode("span",{class:"fe-themecard__dot fe-themecard__dot--muted"}),r.createElementVNode("span",{class:"fe-themecard__line fe-themecard__line--muted",style:{width:"74%"}})])],-1)),r.createElementVNode("span",Tb,[r.createTextVNode(r.toDisplayString(r.unref(i)(d.nameKey))+" ",1),d.id===e.current?(r.openBlock(),r.createElementBlock("span",{key:0,class:"fe-themecard__check",title:r.unref(i)("theme.selected")},"✓",8,Ab)):r.createCommentVNode("",!0)])],14,Db))),128))],8,Bb)]),_:1},8,["open","title","theme"]))}}),Nb={class:"fe-shortset"},Ib={class:"fe-shortset__topbar"},zb={class:"fe-shortset__hint"},Fb=["disabled"],Lb={class:"fe-shortcuts__heading"},Ob={class:"fe-shortset__row"},Pb={class:"fe-shortset__label"},Rb=["title"],Vb={class:"fe-shortset__keys"},$b={key:0,class:"fe-shortset__capture",role:"status"},Ub={key:0,class:"fe-shortcuts__unbound"},Hb={class:"fe-kbd"},Gb={key:0,class:"fe-shortcuts__or","aria-hidden":"true"},jb={class:"fe-shortset__actions"},qb=["onClick"],Kb=["title","aria-label","onClick"],Wb={key:1,class:"fe-shortset__fixed"},Yb={key:0,class:"fe-shortset__conflict",role:"alert"},Xb={class:"fe-shortset__conflict-msg"},Zb={class:"fe-kbd"},Jb={class:"fe-shortset__conflict-actions"},Au=r.defineComponent({__name:"ShortcutSettings",props:{open:{type:Boolean},locale:{},theme:{}},emits:["close"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale),o=Hs(),s=r.computed(()=>{const y=[],E=new Map;for(const M of o.value)E.has(M.groupKey)||(E.set(M.groupKey,[]),y.push(M.groupKey)),E.get(M.groupKey).push(M);return y.map(M=>({key:M,items:E.get(M)}))}),l=r.computed(()=>o.value.some(y=>y.overridden)),c=r.ref(null),d=r.ref(null);function u(y){const E=oa.find(M=>M.id===y);return E?i(E.labelKey):y}function h(y){d.value=null,c.value=y}function f(){c.value=null}function p(y,E){if(c.value=null,E===Gi(y))return;const M=tu(E,y);if(M){d.value={id:y,combo:E,conflictId:M.id,fixed:M.fixed};return}Go(y,E)}function k(){const y=d.value;!y||y.fixed||(Go(y.conflictId,""),Go(y.id,y.combo),d.value=null)}function v(){d.value=null}function b(y){d.value=null,Qd(y)}function m(){d.value=null,c.value=null,eu()}function g(y){if(c.value){if(y.preventDefault(),y.stopPropagation(),y.key==="Escape"){f();return}const E=Us(y);if(!E)return;p(c.value,E);return}y.key==="Escape"||y.key==="Tab"||y.stopPropagation()}r.watch(()=>n.open,y=>{y?window.addEventListener("keydown",g,!0):(window.removeEventListener("keydown",g,!0),c.value=null,d.value=null)}),r.onBeforeUnmount(()=>window.removeEventListener("keydown",g,!0));function _(){if(c.value){f();return}a("close")}return(y,E)=>(r.openBlock(),r.createBlock(Rr,{open:e.open,title:r.unref(i)("shortcuts.settings.title"),size:"lg",theme:e.theme,onClose:_},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:_},r.toDisplayString(r.unref(i)("viewer.close")),1)]),default:r.withCtx(()=>[r.createElementVNode("div",Nb,[r.createElementVNode("div",Ib,[r.createElementVNode("p",zb,r.toDisplayString(r.unref(i)("shortcuts.settings.hint")),1),r.createElementVNode("button",{type:"button",class:"fe-btn fe-shortset__reset-all",disabled:!l.value,onClick:m}," ↺ "+r.toDisplayString(r.unref(i)("shortcuts.settings.reset_all")),9,Fb)]),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.value,M=>(r.openBlock(),r.createElementBlock("section",{key:M.key,class:"fe-shortset__group"},[r.createElementVNode("h3",Lb,r.toDisplayString(r.unref(i)(M.key)),1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(M.items,D=>{var x;return r.openBlock(),r.createElementBlock("div",{key:D.id,class:r.normalizeClass(["fe-shortset__item",{"is-capturing":c.value===D.id,"is-conflict":((x=d.value)==null?void 0:x.id)===D.id}])},[r.createElementVNode("div",Ob,[r.createElementVNode("span",Pb,[r.createTextVNode(r.toDisplayString(r.unref(i)(D.labelKey))+" ",1),D.overridden?(r.openBlock(),r.createElementBlock("span",{key:0,class:"fe-shortcuts__custom",title:r.unref(i)("shortcuts.settings.customized")},"●",8,Rb)):r.createCommentVNode("",!0)]),r.createElementVNode("span",Vb,[c.value===D.id?(r.openBlock(),r.createElementBlock("span",$b,r.toDisplayString(r.unref(i)("shortcuts.settings.capture")),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[D.keys.length===0?(r.openBlock(),r.createElementBlock("span",Ub,r.toDisplayString(r.unref(i)("shortcuts.settings.unbound")),1)):(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(D.keys,(w,B)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:w},[r.createElementVNode("kbd",Hb,r.toDisplayString(w),1),B<D.keys.length-1?(r.openBlock(),r.createElementBlock("span",Gb,"/")):r.createCommentVNode("",!0)],64))),128))],64))]),r.createElementVNode("span",jb,[D.customizable?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[c.value!==D.id?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-shortset__btn",onClick:w=>h(D.id)},r.toDisplayString(r.unref(i)("shortcuts.settings.change")),9,qb)):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-btn fe-shortset__btn",onClick:f},r.toDisplayString(r.unref(i)("shortcuts.settings.conflict_cancel")),1)),D.overridden?(r.openBlock(),r.createElementBlock("button",{key:2,type:"button",class:"fe-btn fe-btn--icon-only fe-shortset__btn",title:r.unref(i)("shortcuts.settings.reset"),"aria-label":r.unref(i)("shortcuts.settings.reset"),onClick:w=>b(D.id)}," ↺ ",8,Kb)):r.createCommentVNode("",!0)],64)):(r.openBlock(),r.createElementBlock("span",Wb,r.toDisplayString(r.unref(i)("shortcuts.settings.fixed")),1))])]),d.value&&d.value.id===D.id?(r.openBlock(),r.createElementBlock("div",Yb,[r.createElementVNode("span",Xb,[r.createElementVNode("kbd",Zb,r.toDisplayString(d.value.combo),1),r.createTextVNode(" "+r.toDisplayString(d.value.fixed?r.unref(i)("shortcuts.settings.conflict_fixed",{name:u(d.value.conflictId)}):r.unref(i)("shortcuts.settings.conflict",{name:u(d.value.conflictId)})),1)]),r.createElementVNode("span",Jb,[d.value.fixed?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--danger fe-shortset__btn",onClick:k},r.toDisplayString(r.unref(i)("shortcuts.settings.conflict_take")),1)),r.createElementVNode("button",{type:"button",class:"fe-btn fe-shortset__btn",onClick:v},r.toDisplayString(r.unref(i)("shortcuts.settings.conflict_cancel")),1)])])):r.createCommentVNode("",!0)],2)}),128))]))),128))])]),_:1},8,["open","title","theme"]))}}),Qb={key:0,class:"fe-preview"},e6=["src","alt"],t6=["src"],n6=["src"],r6=["data"],a6={class:"fe-preview__fallback"},i6=["href"],o6={key:0,class:"fe-preview__fallback"},l6={key:1,class:"fe-preview__fallback"},s6=["href"],c6={key:2,class:"fe-preview__md-split"},d6={class:"fe-preview__md-split-bar"},u6={key:0,class:"fe-preview__md-split-error"},f6=["disabled"],h6={class:"fe-preview__md-split-body"},p6=["onKeydown"],m6=["innerHTML"],g6={key:3,class:"fe-preview__fallback"},v6=["href"],y6=["innerHTML"],b6={key:5,class:"fe-preview__pre"},_6={key:0,class:"fe-preview__fallback"},k6=["href"],w6={key:1,class:"fe-preview__fallback"},x6={key:0,class:"fe-preview__fallback"},S6={key:1,class:"fe-preview__fallback"},E6=["href"],C6={key:2,class:"fe-preview__fallback"},B6=["href"],D6={key:3,class:"fe-preview__code-wrap"},T6={class:"fe-preview__code-toolbar"},A6={class:"fe-preview__code-lang"},M6={key:0,class:"fe-preview__code-status"},N6={key:1,class:"fe-preview__code-status fe-preview__code-status--ok"},I6=["title"],z6={key:3,class:"fe-preview__code-status"},F6=["disabled"],L6={key:0,class:"fe-preview__pre fe-preview__code hljs"},O6=["innerHTML"],P6=["data-lang"],R6={key:0,class:"fe-preview__fallback"},V6=["href"],$6={key:8,class:"fe-preview__fallback"},U6=["href"],H6=["href"],Xs=1e6,Mu="fe-onlyoffice-api-js",Zs=r.defineComponent({__name:"PreviewModal",props:{open:{type:Boolean},locale:{},file:{},previewUrl:{type:Function},downloadUrl:{type:Function},onlyOfficeBase:{},onlyOfficeConfigEndpoint:{},saveTextEndpoint:{},openMode:{},authHeaders:{type:Function},authCredentials:{},drawioUrl:{},pdfWorkerUrl:{},pdfSaveUrl:{},viewerBaseUrl:{},newTabEnabled:{type:Boolean},chromeless:{type:Boolean},theme:{}},emits:["close"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale);function o(Me){return((Me==null?void 0:Me.extension)||"").toLowerCase()}const s=["jpg","jpeg","png","webp","gif","bmp","avif","svg","heic"],l=["mp4","webm","mov","mkv","m4v","ogv"],c=["mp3","wav","ogg","flac","m4a","aac","opus"],d={md:"markdown",markdown:"markdown",txt:"plaintext",log:"plaintext",js:"javascript",mjs:"javascript",cjs:"javascript",ts:"typescript",tsx:"typescript",jsx:"javascript",vue:"xml",svelte:"xml",html:"xml",htm:"xml",xml:"xml",svg:"xml",css:"css",scss:"scss",sass:"scss",less:"less",json:"json",jsonc:"json",yml:"yaml",yaml:"yaml",php:"php",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",kt:"kotlin",swift:"swift",cpp:"cpp",c:"c",h:"cpp",hpp:"cpp",cs:"csharp",dart:"dart",sh:"bash",bash:"bash",zsh:"bash",fish:"bash",sql:"sql",toml:"ini",ini:"ini",conf:"ini",env:"bash",cfg:"ini",dockerfile:"dockerfile",graphql:"graphql",gql:"graphql",diff:"diff",patch:"diff"},u=["txt","log"],h=["docx","doc","xlsx","xls","pptx","ppt","odt","ods","odp","rtf"],f={glb:()=>Promise.resolve().then(()=>ei),gltf:()=>Promise.resolve().then(()=>ei),obj:()=>Promise.resolve().then(()=>ei),stl:()=>Promise.resolve().then(()=>ei),fbx:()=>Promise.resolve().then(()=>ei),"3ds":()=>Promise.resolve().then(()=>ei),epub:()=>Promise.resolve().then(()=>Iw),mmd:()=>Promise.resolve().then(()=>uf),mermaid:()=>Promise.resolve().then(()=>uf),drawio:()=>Promise.resolve().then(()=>ff),dio:()=>Promise.resolve().then(()=>ff),tif:()=>Promise.resolve().then(()=>hf),tiff:()=>Promise.resolve().then(()=>hf),psd:()=>Promise.resolve().then(()=>Jw),ipynb:()=>Promise.resolve().then(()=>g9),csv:()=>Promise.resolve().then(()=>mf),tsv:()=>Promise.resolve().then(()=>mf),zip:()=>Promise.resolve().then(()=>P9)},p=r.computed(()=>{const Me=o(n.file);if(!Me)return"other";if(s.includes(Me))return"image";if(l.includes(Me))return"video";if(c.includes(Me))return"audio";if(Me==="pdf")return"pdf";const L=n.openMode!=="view";return Me==="md"||Me==="markdown"?"markdown":Me in d?"code":Me in f?"viewer":h.includes(Me)?"office":u.includes(Me)?L?"code":"text":"other"}),k=r.shallowRef(null),v=r.ref(null),b=r.ref(!1);async function m(Me){k.value=null,v.value=null;const L=f[Me];if(L)try{const se=await L();k.value=se.default??se}catch(se){v.value=se instanceof Error?se.message:"viewer load failed",Me==="pdf"&&(b.value=!0)}}function g(){b.value=!0}const _=r.computed(()=>{var se;const Me=o(n.file),L={url:w.value,ext:Me,mime:(se=n.file)==null?void 0:se.mime_type,t:i,authHeaders:n.authHeaders,authCredentials:n.authCredentials};return n.file&&(L.filePath=N(n.file.path),(Me==="zip"||Me==="rar"||Me==="7z"||Me==="tar"||Me==="gz"||Me==="tgz")&&(L.filePath=n.file.path)),(Me==="drawio"||Me==="dio")&&(L.drawioUrl=n.drawioUrl??void 0,L.saveUrl=n.saveTextEndpoint??void 0,L.readOnly=n.openMode==="view"),Me==="pdf"&&(L.pdfWorkerUrl=n.pdfWorkerUrl??void 0,L.pdfSaveUrl=n.pdfSaveUrl??void 0),L});function y(){M(n.openMode||"edit")}function E(){M("edit")}function M(Me){if(!n.file)return;const L=o(n.file),se=n.viewerBaseUrl||"/files/edit",be=se.includes("?")?"&":"?",Ee=`${se}${be}path=${encodeURIComponent(n.file.path)}&type=${encodeURIComponent(L)}&mode=${encodeURIComponent(Me)}`;window.open(Ee,"_blank","noopener")}const D=new Set(["docx","doc","xlsx","xls","pptx","ppt","odt","ods","odp","rtf","drawio","dio","mmd","mermaid","md","markdown","txt","log","json","jsonc","yaml","yml","xml","svg","html","htm","js","mjs","cjs","ts","tsx","jsx","vue","svelte","css","scss","sass","less","php","py","rb","go","rs","java","kt","swift","cpp","c","h","hpp","cs","dart","sh","bash","sql","toml","ini","conf","cfg","env","dockerfile","graphql","gql"]),x=r.computed(()=>!!n.file&&D.has(o(n.file))),w=r.computed(()=>n.file?n.previewUrl(n.file.path):""),B=r.computed(()=>n.file?n.downloadUrl(n.file.path):"");function N(Me){const L=Me.indexOf("://");return L===-1?Me:Me.slice(L+3)}const G=r.ref(!1),F=r.ref(null),q=r.ref(""),Y=r.ref(!1),K=r.ref(!1),Q=r.ref(!1);let re,$;function V(){K.value=!0,re&&clearTimeout(re),re=setTimeout(()=>{he(q.value)},250),$&&clearTimeout($),$=setTimeout(()=>{z()},1500)}async function z(){if(!(!n.saveTextEndpoint||!n.file||Q.value)){Q.value=!0,F.value=null;try{const Me={"Content-Type":"application/json",...await(n.authHeaders??(()=>({})))()},L=await fetch(n.saveTextEndpoint,{method:"POST",headers:Me,credentials:n.authCredentials||"same-origin",body:JSON.stringify({path:N(n.file.path),content:q.value})});if(!L.ok)throw new Error(`save failed: ${L.status} ${await L.text()}`);K.value=!1}catch(Me){F.value=Me instanceof Error?Me.message:String(Me)}finally{Q.value=!1}}}async function U(Me){G.value=!0,F.value=null,q.value="",Y.value=!1;try{const L={};n.authHeaders&&Object.assign(L,n.authHeaders());const se=await fetch(Me,{credentials:n.authCredentials||"include",headers:L});if(!se.ok)throw new Error(`${se.status} ${se.statusText}`);if(Number(se.headers.get("content-length")||"0")>Xs){Y.value=!0;return}const Ee=await se.text();Ee.length>Xs?(Y.value=!0,q.value=Ee.slice(0,Xs)):q.value=Ee}catch(L){F.value=L instanceof Error?L.message:String(L)}finally{G.value=!1}}const H=r.ref(""),de=r.ref(null);async function he(Me){try{const L=await import("markdown-it").catch(()=>null);if(!L){H.value="";return}const se=L.default??L,Ee=new se({html:!0,linkify:!0,breaks:!0,typographer:!0}).render(Me);H.value=ve(Ee),await new Promise(ae=>setTimeout(ae,0)),await xe()}catch(L){H.value="",F.value=L instanceof Error?L.message:String(L)}}function ve(Me){return Me.replace(/<\s*script\b[^<]*(?:(?!<\s*\/\s*script\s*>)<[^<]*)*<\s*\/\s*script\s*>/gi,"").replace(/<\s*iframe\b[\s\S]*?<\s*\/\s*iframe\s*>/gi,"").replace(/<\s*object\b[\s\S]*?<\s*\/\s*object\s*>/gi,"").replace(/<\s*embed\b[^>]*>/gi,"").replace(/\son\w+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,"").replace(/(href|src|action|formaction|xlink:href)\s*=\s*(?:"\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi,'$1="#"')}async function xe(){var Ee,ae,ye;if(!de.value)return;const Me=de.value,L=Array.from(Me.querySelectorAll("pre > code"));if(L.length===0)return;let se,be;for(const R of L){const Ce=R.className||"",st=/\blanguage-mermaid\b/.test(Ce)||/\blanguage-mmd\b/.test(Ce),C=/\blanguage-math\b/.test(Ce)||/\blanguage-latex\b/.test(Ce)||/\blanguage-tex\b/.test(Ce);if(st){if(se===void 0)try{const Z=await import("mermaid");se=Z.default??Z,(Ee=se.initialize)==null||Ee.call(se,{startOnLoad:!1,securityLevel:"strict"})}catch{se=null}if(!se)continue;try{const Z=`filex-md-mermaid-${Math.random().toString(36).slice(2)}`,{svg:X}=await se.render(Z,R.textContent||""),O=document.createElement("div");O.className="fe-preview__md-mermaid",O.innerHTML=X,(ae=R.parentElement)==null||ae.replaceWith(O)}catch{}}else if(C){if(be===void 0)try{const Z=await Promise.resolve().then(()=>wS);be=Z.default??Z}catch{be=null}if(!be)continue;try{const Z=be.renderToString(R.textContent||"",{displayMode:!0,throwOnError:!1}),X=document.createElement("div");X.className="fe-preview__md-math",X.innerHTML=Z,(ye=R.parentElement)==null||ye.replaceWith(X)}catch{}}}}const ie=r.ref("");async function ge(Me,L){try{const se=await Xo();if(!se){ie.value="";return}const be=se.default??se;if(be.getLanguage(L)){const Ee=be.highlight(Me,{language:L,ignoreIllegals:!0});ie.value=Ee.value}else{const Ee=be.highlightAuto(Me);ie.value=Ee.value}}catch(se){ie.value="",F.value=se instanceof Error?se.message:String(se)}}const me=r.ref(null);let we=null,Ge;const Xe=r.ref(!1),tt=r.ref(!1),Ke=r.ref(!1),De=r.ref(null);function Ne(){if(we){try{we.dispose()}catch{}we=null}Xe.value=!1,Ke.value=!1,De.value=null}function ke(Me){return{js:"javascript",mjs:"javascript",cjs:"javascript",ts:"typescript",tsx:"typescript",jsx:"javascript",json:"json",jsonc:"json",css:"css",scss:"scss",sass:"scss",less:"less",html:"html",htm:"html",vue:"html",svelte:"html",xml:"xml",svg:"xml",md:"markdown",markdown:"markdown",php:"php",py:"python",yml:"yaml",yaml:"yaml",go:"go",rs:"rust",sql:"sql",cpp:"cpp",c:"c",h:"cpp",hpp:"cpp",sh:"shell",bash:"shell",dockerfile:"dockerfile",toml:"ini",ini:"ini",conf:"ini",cfg:"ini"}[Me]??"plaintext"}async function ce(Me,L){var be;const se=await Yo();if(!se||!me.value)return!1;try{Ne();const Ee=!!n.saveTextEndpoint&&n.openMode!=="view",ae=n.theme==="dark"?!0:n.theme==="light"?!1:(be=window.matchMedia)==null?void 0:be.call(window,"(prefers-color-scheme: dark)").matches;return we=se.editor.create(me.value,{value:Me,language:ke(L),readOnly:!Ee,theme:ae?"vs-dark":"vs",automaticLayout:!0,minimap:{enabled:!1},fontSize:13}),Ee&&(we.addCommand(se.KeyMod.CtrlCmd|se.KeyCode.KeyS,()=>void pe()),we.onDidChangeModelContent(()=>{Ge&&clearTimeout(Ge),Ge=setTimeout(()=>{pe()},1500)})),Xe.value=!0,!0}catch(Ee){return F.value=`Monaco mount fail: ${Ee.message}`,!1}}async function pe(){if(!(!n.saveTextEndpoint||!n.file)&&n.openMode!=="view"&&!tt.value){tt.value=!0,Ke.value=!1,De.value=null;try{const Me=we?we.getValue():"",L={"Content-Type":"application/json"};n.authHeaders&&Object.assign(L,n.authHeaders());const se=await fetch(n.saveTextEndpoint,{method:"POST",headers:L,credentials:n.authCredentials||"same-origin",body:JSON.stringify({path:N(n.file.path),content:Me})});if(!se.ok){const be=await se.text().catch(()=>"");throw new Error(`${se.status} ${se.statusText}${be?" — "+be.slice(0,150):""}`)}Ke.value=!0,setTimeout(()=>{Ke.value=!1},2500)}catch(Me){De.value=Me.message}finally{tt.value=!1}}}async function Ae(Me,L,se){if(q.value="",H.value="",ie.value="",F.value=null,et.value=null,k.value=null,v.value=null,b.value=!1,pt(),Ne(),!(!Me||!L)){if(se==="viewer"){await m(o(n.file));return}if(se==="markdown"||se==="code"||se==="text"){if(await U(L),Y.value)return;if(se==="markdown"){await he(q.value);return}const be=d[o(n.file)]||"";js()?(await new Promise(ye=>setTimeout(ye,0)),await ce(q.value,o(n.file))||await ge(q.value,be)):(se==="code"&&await ge(q.value,be),Yo().then(async ae=>{ae&&n.open&&(await new Promise(ye=>setTimeout(ye,0)),await ce(q.value,o(n.file)))}))}else se==="office"&&(await new Promise(be=>setTimeout(be,0)),await ct())}}r.watch(()=>[n.open,w.value,p.value,n.openMode],([Me,L,se])=>{Ae(Me,L,se)}),r.onMounted(()=>{r.nextTick(()=>{n.open&&Ae(n.open,w.value,p.value)})});const We=r.computed(()=>d[o(n.file)]||"plaintext"),wt=r.ref(null),et=r.ref(null);let ft=null;async function ct(){if(et.value=null,!(!n.file||p.value!=="office")){if(!n.onlyOfficeConfigEndpoint){et.value="OnlyOffice yapılandırması yok";return}if(wt.value)try{const Me={"Content-Type":"application/json"};n.authHeaders&&Object.assign(Me,n.authHeaders());const L=await fetch(n.onlyOfficeConfigEndpoint,{method:"POST",headers:Me,credentials:n.authCredentials||"same-origin",body:JSON.stringify({path:n.file.path,mode:n.openMode||"edit"})});if(!L.ok)throw new Error(`Config fetch ${L.status}: ${(await L.text()).slice(0,200)}`);const{config:se,documentServerUrl:be}=await L.json();await Pt(be),pt();const Ee="fe-onlyoffice-mount";wt.value.id=Ee,se.events={onError:ye=>{et.value=ht(ye)}};const ae=window;if(!ae.DocsAPI||!ae.DocsAPI.DocEditor)throw new Error("DocsAPI not available after script load");ft=new ae.DocsAPI.DocEditor(Ee,se)}catch(Me){et.value=Me instanceof Error?Me.message:String(Me)}}}function pt(){var Me;try{(Me=ft==null?void 0:ft.destroyEditor)==null||Me.call(ft)}catch{}ft=null}r.onBeforeUnmount(()=>{pt(),Ne()});function ht(Me){if(typeof Me=="string")return Me;const L=Me;if(L!=null&&L.data&&typeof L.data=="object"){const se=L.data;if(typeof se.errorDescription=="string")return se.errorDescription;if(typeof se.message=="string")return se.message;if(se.errorCode!==void 0)return`OnlyOffice error ${se.errorCode}`}if(typeof(L==null?void 0:L.data)=="string")return L.data;if(typeof(L==null?void 0:L.errorDescription)=="string")return L.errorDescription;if(typeof(L==null?void 0:L.message)=="string")return L.message;try{return JSON.stringify(Me)}catch{return"OnlyOffice error"}}function Pt(Me){return new Promise((L,se)=>{var ae;if((ae=window.DocsAPI)!=null&&ae.DocEditor){L();return}const be=document.getElementById(Mu);if(be){be.addEventListener("load",()=>L()),be.addEventListener("error",()=>se(new Error("OnlyOffice api.js load failed")));return}const Ee=document.createElement("script");Ee.id=Mu,Ee.src=`${Me.replace(/\/$/,"")}/web-apps/apps/api/documents/api.js`,Ee.async=!0,Ee.onload=()=>L(),Ee.onerror=()=>se(new Error("OnlyOffice api.js load failed")),document.head.appendChild(Ee)})}return(Me,L)=>{var se;return r.openBlock(),r.createBlock(Rr,{open:e.open,size:"xl",title:((se=e.file)==null?void 0:se.basename)||"",chromeless:e.chromeless,theme:e.theme,onClose:L[2]||(L[2]=be=>a("close"))},{actions:r.withCtx(()=>[e.file&&e.openMode==="view"&&x.value&&e.newTabEnabled!==!1?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--primary",onClick:E},"✏ "+r.toDisplayString(r.unref(i)("viewer.edit")),1)):r.createCommentVNode("",!0),e.file&&e.newTabEnabled!==!1?(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-btn",onClick:y},"↗ "+r.toDisplayString(r.unref(i)("viewer.open_in_new_tab")),1)):r.createCommentVNode("",!0),e.file?(r.openBlock(),r.createElementBlock("a",{key:2,href:B.value,class:"fe-btn"},r.toDisplayString(r.unref(i)("viewer.download")),9,H6)):r.createCommentVNode("",!0),r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:L[1]||(L[1]=be=>a("close"))},r.toDisplayString(r.unref(i)("viewer.close")),1)]),default:r.withCtx(()=>[e.file?(r.openBlock(),r.createElementBlock("div",Qb,[p.value==="image"?(r.openBlock(),r.createElementBlock("img",{key:0,src:w.value,alt:e.file.basename,class:"fe-preview__image"},null,8,e6)):p.value==="video"?(r.openBlock(),r.createElementBlock("video",{key:1,src:w.value,controls:"",preload:"metadata",class:"fe-preview__video"},null,8,t6)):p.value==="audio"?(r.openBlock(),r.createElementBlock("audio",{key:2,src:w.value,controls:"",class:"fe-preview__audio"},null,8,n6)):p.value==="pdf"?(r.openBlock(),r.createElementBlock("object",{key:3,data:w.value,type:"application/pdf",class:"fe-preview__iframe"},[r.createElementVNode("div",a6,[L[3]||(L[3]=r.createElementVNode("span",{class:"fe-preview__fallback-icon"},"📕",-1)),L[4]||(L[4]=r.createElementVNode("p",null,"Tarayıcı PDF'i inline açamadı.",-1)),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary",target:"_blank",rel:"noopener"},"PDF'i Yeni Sekmede Aç",8,i6)])],8,r6)):p.value==="markdown"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:4},[G.value?(r.openBlock(),r.createElementBlock("div",o6,r.toDisplayString(r.unref(i)("viewer.loading")),1)):Y.value?(r.openBlock(),r.createElementBlock("div",l6,[L[5]||(L[5]=r.createTextVNode(" Dosya çok büyük (>1 MB). ",-1)),r.createElementVNode("a",{href:B.value,class:"fe-btn"},r.toDisplayString(r.unref(i)("viewer.download")),9,s6)])):e.openMode==="edit"&&e.saveTextEndpoint?(r.openBlock(),r.createElementBlock("div",c6,[r.createElementVNode("div",d6,[L[6]||(L[6]=r.createElementVNode("span",{class:"fe-preview__md-split-label"},"MARKDOWN",-1)),F.value?(r.openBlock(),r.createElementBlock("span",u6,r.toDisplayString(F.value),1)):r.createCommentVNode("",!0),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",disabled:!K.value||Q.value,onClick:z},r.toDisplayString(Q.value?r.unref(i)("viewer.saving"):K.value?r.unref(i)("viewer.save"):r.unref(i)("viewer.saved")),9,f6)]),r.createElementVNode("div",h6,[r.withDirectives(r.createElementVNode("textarea",{class:"fe-preview__md-split-input","onUpdate:modelValue":L[0]||(L[0]=be=>q.value=be),onInput:V,onKeydown:[r.withKeys(r.withModifiers(z,["ctrl","prevent"]),["s"]),r.withKeys(r.withModifiers(z,["meta","prevent"]),["s"])],spellcheck:"false",placeholder:"# Markdown buraya…"},null,40,p6),[[r.vModelText,q.value]]),r.createElementVNode("div",{ref_key:"markdownEl",ref:de,class:"fe-preview__md-split-output fe-preview__md",innerHTML:H.value},null,8,m6)])])):F.value?(r.openBlock(),r.createElementBlock("div",g6,[r.createElementVNode("p",null,r.toDisplayString(F.value),1),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary"},r.toDisplayString(r.unref(i)("viewer.download")),9,v6)])):H.value?(r.openBlock(),r.createElementBlock("div",{key:4,ref_key:"markdownEl",ref:de,class:"fe-preview__md",innerHTML:H.value},null,8,y6)):(r.openBlock(),r.createElementBlock("pre",b6,r.toDisplayString(q.value),1))],64)):p.value==="viewer"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:5},[v.value&&!b.value?(r.openBlock(),r.createElementBlock("div",_6,[L[7]||(L[7]=r.createElementVNode("span",{class:"fe-preview__fallback-icon"},"⚠️",-1)),r.createElementVNode("p",null,r.toDisplayString(v.value),1),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary"},r.toDisplayString(r.unref(i)("viewer.download")),9,k6)])):k.value?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(k.value),r.mergeProps({key:2},_.value,{class:"fe-preview__viewer",onFallback:g}),null,16)):(r.openBlock(),r.createElementBlock("div",w6,[L[8]||(L[8]=r.createElementVNode("span",{class:"fe-preview__fallback-icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(r.unref(i)("viewer.loading")),1)]))],64)):p.value==="code"||p.value==="text"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:6},[G.value?(r.openBlock(),r.createElementBlock("div",x6,r.toDisplayString(r.unref(i)("viewer.loading")),1)):Y.value?(r.openBlock(),r.createElementBlock("div",S6,[L[9]||(L[9]=r.createTextVNode(" Dosya çok büyük (>1 MB). ",-1)),r.createElementVNode("a",{href:B.value,class:"fe-btn"},r.toDisplayString(r.unref(i)("viewer.download")),9,E6)])):F.value?(r.openBlock(),r.createElementBlock("div",C6,[r.createElementVNode("p",null,r.toDisplayString(F.value),1),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary"},r.toDisplayString(r.unref(i)("viewer.download")),9,B6)])):(r.openBlock(),r.createElementBlock("div",D6,[r.createElementVNode("div",T6,[r.createElementVNode("span",A6,r.toDisplayString(We.value),1),!Xe.value&&ie.value?(r.openBlock(),r.createElementBlock("span",M6,r.toDisplayString(e.saveTextEndpoint?r.unref(i)("viewer.editor_loading"):r.unref(i)("viewer.read_only")),1)):r.createCommentVNode("",!0),Ke.value?(r.openBlock(),r.createElementBlock("span",N6,"✓ "+r.toDisplayString(r.unref(i)("viewer.saved")),1)):r.createCommentVNode("",!0),De.value?(r.openBlock(),r.createElementBlock("span",{key:2,class:"fe-preview__code-status fe-preview__code-status--err",title:De.value},"✗ "+r.toDisplayString(r.unref(i)("viewer.save_error")),9,I6)):r.createCommentVNode("",!0),e.openMode==="view"?(r.openBlock(),r.createElementBlock("span",z6,r.toDisplayString(r.unref(i)("viewer.read_only")),1)):e.saveTextEndpoint&&Xe.value?(r.openBlock(),r.createElementBlock("button",{key:4,type:"button",class:"fe-btn fe-btn--primary",disabled:tt.value,onClick:pe},r.toDisplayString(tt.value?r.unref(i)("viewer.saving"):r.unref(i)("viewer.save")),9,F6)):r.createCommentVNode("",!0)]),r.createElementVNode("div",{ref_key:"monacoEl",ref:me,class:r.normalizeClass(["fe-preview__code-editor",{"is-hidden":!Xe.value}])},null,2),!Xe.value&&ie.value?(r.openBlock(),r.createElementBlock("pre",L6,[r.createElementVNode("code",{class:r.normalizeClass(`language-${We.value}`),innerHTML:ie.value},null,10,O6)])):!Xe.value&&!ie.value?(r.openBlock(),r.createElementBlock("pre",{key:1,class:"fe-preview__pre","data-lang":We.value},r.toDisplayString(q.value),9,P6)):r.createCommentVNode("",!0)]))],64)):p.value==="office"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:7},[et.value?(r.openBlock(),r.createElementBlock("div",R6,[L[10]||(L[10]=r.createElementVNode("span",{class:"fe-preview__fallback-icon"},"📄",-1)),r.createElementVNode("p",null,r.toDisplayString(et.value),1),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary"},r.toDisplayString(r.unref(i)("viewer.download")),9,V6)])):(r.openBlock(),r.createElementBlock("div",{key:1,ref_key:"officeEl",ref:wt,class:"fe-preview__office"},null,512))],64)):(r.openBlock(),r.createElementBlock("div",$6,[L[11]||(L[11]=r.createElementVNode("span",{class:"fe-preview__fallback-icon"},"📎",-1)),r.createElementVNode("p",null,r.toDisplayString(r.unref(i)("viewer.no_preview")),1),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary"},r.toDisplayString(r.unref(i)("viewer.download")),9,U6)]))])):r.createCommentVNode("",!0)]),_:1},8,["open","title","chromeless","theme"])}}}),Nu=r.defineComponent({__name:"QuickLook",props:{open:{type:Boolean},locale:{},file:{},previewUrl:{type:Function},downloadUrl:{type:Function},onlyOfficeBase:{},onlyOfficeConfigEndpoint:{},authHeaders:{type:Function},authCredentials:{},drawioUrl:{},pdfWorkerUrl:{},viewerBaseUrl:{},theme:{}},emits:["close","nav","open-full"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale);function o(l){const c=l;return!!(c&&(c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.tagName==="SELECT"||c.isContentEditable))}function s(l){if(n.open&&!(l.ctrlKey||l.metaKey||l.altKey)&&!o(l.target))switch(l.key){case" ":l.preventDefault(),l.stopPropagation(),a("close");break;case"ArrowRight":case"ArrowDown":l.preventDefault(),l.stopPropagation(),a("nav",1);break;case"ArrowLeft":case"ArrowUp":l.preventDefault(),l.stopPropagation(),a("nav",-1);break;case"Enter":l.preventDefault(),l.stopPropagation(),a("open-full");break}}return r.watch(()=>n.open,l=>{l?window.addEventListener("keydown",s,!0):window.removeEventListener("keydown",s,!0)},{immediate:!0}),r.onBeforeUnmount(()=>window.removeEventListener("keydown",s,!0)),(l,c)=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createVNode(Zs,{class:"fe-quicklook",open:e.open,locale:e.locale,file:e.file,theme:e.theme,"preview-url":e.previewUrl,"download-url":e.downloadUrl,"only-office-base":e.onlyOfficeBase,"only-office-config-endpoint":e.onlyOfficeConfigEndpoint,"open-mode":"view","auth-headers":e.authHeaders,"auth-credentials":e.authCredentials,"drawio-url":e.drawioUrl,"pdf-worker-url":e.pdfWorkerUrl,"viewer-base-url":e.viewerBaseUrl,onClose:c[0]||(c[0]=d=>a("close"))},null,8,["open","locale","file","theme","preview-url","download-url","only-office-base","only-office-config-endpoint","auth-headers","auth-credentials","drawio-url","pdf-worker-url","viewer-base-url"]),r.createVNode(r.Transition,{name:"fe-toast"},{default:r.withCtx(()=>[e.open?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe fe-ql-hint",{"fe--theme-light":e.theme==="light","fe--theme-dark":e.theme==="dark"}]),"aria-hidden":"true"},[c[1]||(c[1]=r.createElementVNode("kbd",{class:"fe-kbd"},"Space",-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(i)("quicklook.hint_close"))+" ",1),c[2]||(c[2]=r.createElementVNode("span",{class:"fe-ql-hint__sep"},"·",-1)),c[3]||(c[3]=r.createElementVNode("kbd",{class:"fe-kbd"},"↑",-1)),c[4]||(c[4]=r.createElementVNode("kbd",{class:"fe-kbd"},"↓",-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(i)("quicklook.hint_nav"))+" ",1),c[5]||(c[5]=r.createElementVNode("span",{class:"fe-ql-hint__sep"},"·",-1)),c[6]||(c[6]=r.createElementVNode("kbd",{class:"fe-kbd"},"Enter",-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(i)("quicklook.hint_open")),1)],2)):r.createCommentVNode("",!0)]),_:1})],64))}}),G6=["aria-label"],j6={class:"fe-opc__head"},q6=["aria-label"],K6={class:"fe-opc__body"},W6={key:0,class:"fe-opc__section","aria-live":"polite"},Y6={class:"fe-opc__section-title"},X6={class:"fe-opc__list"},Z6={class:"fe-opc__kicon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false"},J6=["d"],Q6={class:"fe-opc__mid"},e8=["title"],t8={class:"fe-opc__sub"},n8={class:"fe-opc__kind"},r8={class:"fe-opc__state"},a8=["aria-valuenow"],i8={key:0,class:"fe-opc__spin","aria-hidden":"true"},o8={class:"fe-opc__acts"},l8=["onClick"],s8=["onClick"],c8=["aria-label","onClick"],d8={key:1,class:"fe-opc__section"},u8={class:"fe-opc__section-title"},f8={class:"fe-opc__list fe-opc__list--history"},h8={class:"fe-opc__kicon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false"},p8=["d"],m8={class:"fe-opc__mid"},g8=["title"],v8={key:0,class:"fe-opc__sub fe-opc__sub--err"},y8={key:2,class:"fe-opc__empty"},b8=["aria-expanded","aria-label"],_8=["stroke-dashoffset"],k8={class:"fe-opc__count"},w8={key:0,class:"fe-opc__pct"},Js=8.5,Iu=r.defineComponent({__name:"OperationsCenter",props:{center:{},locale:{},narrow:{type:Boolean}},setup(e){const t=e,{t:n,formatSize:a}=Gt(()=>t.locale),i=r.ref(!1),o=r.ref(null),s=r.computed(()=>t.center.active.value),l=r.computed(()=>t.center.history.value),c=r.computed(()=>t.center.hasError.value),d=r.computed(()=>t.center.overallPercent.value),u=r.computed(()=>t.center.runningCount.value),h=r.computed(()=>s.value.length>0||i.value&&l.value.length>0);r.watch(h,x=>{x||(i.value=!1)});const f=2*Math.PI*Js,p=r.computed(()=>{const x=d.value;return x===null?f*.72:f*(1-Math.min(100,Math.max(0,x))/100)}),k=r.computed(()=>d.value===null&&u.value>0),v=r.computed(()=>u.value===0||d.value===null?"":n("opc.percent",{n:d.value})),b=r.computed(()=>n("opc.aria_badge",{n:s.value.length})),m={upload:"M12 16V5M7 9.5 12 5l5 4.5M5 19h14",copy:"M9 9h11v11H9zM5 15V4h11",move:"M4 12h13M12 6l6 6-6 6",delete:"M5 7h14M9 7V5h6v2M8 7l1 13h6l1-13",convert:"M20 8A8 8 0 0 0 6 6L4 8M4 16a8 8 0 0 0 14 2l2-2M20 3v5h-5M4 21v-5h5",archive:"M4 8V5h16v3zM5 8h14v12H5zM10 12h4"};function g(x){return n(`opc.kind.${x.kind}`)}function _(x){return x.name||g(x)}function y(x){return x.status==="running"?x.queued?n("opc.queued"):x.totalBytes&&x.totalBytes>0?`${a(x.uploadedBytes??0)} / ${a(x.totalBytes)}`:x.totalCount&&x.totalCount>0?`${x.doneCount??0}/${x.totalCount}`:n("opc.status.running"):x.status==="done"?n("opc.status.done"):x.status==="aborted"?n("opc.status.aborted"):x.error||n("opc.status.error")}function E(x){return n(`opc.status.${x.status==="running"?"running":x.status}`)}function M(x){if(!i.value)return;const w=o.value;w&&x.target instanceof Node&&!w.contains(x.target)&&(i.value=!1)}function D(x){i.value&&x.key==="Escape"&&(i.value=!1)}return r.onMounted(()=>{document.addEventListener("mousedown",M),document.addEventListener("keydown",D)}),r.onBeforeUnmount(()=>{document.removeEventListener("mousedown",M),document.removeEventListener("keydown",D)}),(x,w)=>h.value?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"rootEl",ref:o,class:r.normalizeClass(["fe-opc",{"fe-opc--narrow":e.narrow,"fe-opc--open":i.value}])},[r.createVNode(r.Transition,{name:"fe-opc-pop"},{default:r.withCtx(()=>[i.value?(r.openBlock(),r.createElementBlock("section",{key:0,class:"fe-opc__panel",role:"dialog","aria-label":r.unref(n)("opc.title")},[r.createElementVNode("header",j6,[r.createElementVNode("strong",null,r.toDisplayString(r.unref(n)("opc.title")),1),r.createElementVNode("button",{type:"button",class:"fe-opc__x","aria-label":r.unref(n)("opc.close"),onClick:w[0]||(w[0]=B=>i.value=!1)},"×",8,q6)]),r.createElementVNode("div",K6,[s.value.length>0?(r.openBlock(),r.createElementBlock("div",W6,[r.createElementVNode("h3",Y6,r.toDisplayString(r.unref(n)("opc.active")),1),r.createElementVNode("ul",X6,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.value,B=>(r.openBlock(),r.createElementBlock("li",{key:B.key,class:r.normalizeClass(["fe-opc__item",`is-${B.status}`])},[(r.openBlock(),r.createElementBlock("svg",Z6,[r.createElementVNode("path",{d:m[B.kind]},null,8,J6)])),r.createElementVNode("div",Q6,[r.createElementVNode("div",{class:"fe-opc__name",title:_(B)},r.toDisplayString(_(B)),9,e8),r.createElementVNode("div",t8,[r.createElementVNode("span",n8,r.toDisplayString(g(B)),1),w[3]||(w[3]=r.createElementVNode("span",{class:"fe-opc__dot","aria-hidden":"true"},"·",-1)),r.createElementVNode("span",r8,r.toDisplayString(y(B)),1)]),B.status==="running"&&B.percent!==null?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fe-opc__bar",role:"progressbar","aria-valuenow":B.percent,"aria-valuemin":"0","aria-valuemax":"100"},[r.createElementVNode("div",{class:"fe-opc__bar-fill",style:r.normalizeStyle({width:B.percent+"%"})},null,4)],8,a8)):r.createCommentVNode("",!0)]),B.status==="running"&&B.percent===null&&!B.queued?(r.openBlock(),r.createElementBlock("span",i8)):r.createCommentVNode("",!0),r.createElementVNode("div",o8,[B.status==="running"&&B.cancellable?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-opc__act",onClick:N=>e.center.cancel(B.key)},r.toDisplayString(r.unref(n)("opc.cancel")),9,l8)):r.createCommentVNode("",!0),B.status==="error"&&B.retryable?(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-opc__act fe-opc__act--retry",onClick:N=>e.center.retry(B.key)},r.toDisplayString(r.unref(n)("opc.retry")),9,s8)):r.createCommentVNode("",!0),B.status!=="running"?(r.openBlock(),r.createElementBlock("button",{key:2,type:"button",class:"fe-opc__x","aria-label":r.unref(n)("opc.dismiss"),onClick:N=>e.center.dismiss(B.key)},"×",8,c8)):r.createCommentVNode("",!0)])],2))),128))])])):r.createCommentVNode("",!0),l.value.length>0?(r.openBlock(),r.createElementBlock("div",d8,[r.createElementVNode("h3",u8,[r.createTextVNode(r.toDisplayString(r.unref(n)("opc.history"))+" ",1),r.createElementVNode("button",{type:"button",class:"fe-opc__act",onClick:w[1]||(w[1]=B=>e.center.clearHistory())},r.toDisplayString(r.unref(n)("opc.clear")),1)]),r.createElementVNode("ul",f8,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,B=>(r.openBlock(),r.createElementBlock("li",{key:"h-"+B.key,class:r.normalizeClass(["fe-opc__item fe-opc__item--history",`is-${B.status}`])},[(r.openBlock(),r.createElementBlock("svg",h8,[r.createElementVNode("path",{d:m[B.kind]},null,8,p8)])),r.createElementVNode("div",m8,[r.createElementVNode("div",{class:"fe-opc__name",title:_(B)},r.toDisplayString(_(B)),9,g8),B.status==="error"&&B.error?(r.openBlock(),r.createElementBlock("div",v8,r.toDisplayString(B.error),1)):r.createCommentVNode("",!0)]),r.createElementVNode("span",{class:r.normalizeClass(["fe-opc__chip",`is-${B.status}`])},r.toDisplayString(E(B)),3)],2))),128))])])):r.createCommentVNode("",!0),s.value.length===0&&l.value.length===0?(r.openBlock(),r.createElementBlock("p",y8,r.toDisplayString(r.unref(n)("opc.empty")),1)):r.createCommentVNode("",!0)])],8,G6)):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-opc__badge",{"is-error":c.value}]),"aria-expanded":i.value,"aria-label":b.value,onClick:w[2]||(w[2]=B=>i.value=!i.value)},[(r.openBlock(),r.createElementBlock("svg",{class:r.normalizeClass(["fe-opc__ring",{"fe-opc__ring--spin":k.value}]),viewBox:"0 0 22 22","aria-hidden":"true",focusable:"false"},[r.createElementVNode("circle",{class:"fe-opc__ring-track",cx:"11",cy:"11",r:Js,fill:"none","stroke-width":"2.5"}),r.createElementVNode("circle",{class:"fe-opc__ring-fill",cx:"11",cy:"11",r:Js,fill:"none","stroke-width":"2.5","stroke-linecap":"round","stroke-dasharray":f,"stroke-dashoffset":p.value,transform:"rotate(-90 11 11)"},null,8,_8)],2)),r.createElementVNode("span",k8,r.toDisplayString(s.value.length),1),v.value?(r.openBlock(),r.createElementBlock("span",w8,r.toDisplayString(v.value),1)):r.createCommentVNode("",!0)],10,b8)],2)):r.createCommentVNode("",!0)}}),x8=4e3,zu=50;function S8(e,t,n){const a=t.status!=="running";return{key:e,kind:t.kind,name:t.name,percent:t.percent,status:t.status,error:t.error??null,queued:t.queued??!1,doneCount:t.doneCount??null,totalCount:t.totalCount??null,uploadedBytes:t.uploadedBytes??null,totalBytes:t.totalBytes??null,cancellable:t.cancellable??!1,retryable:t.retryable??!1,startedAt:(n==null?void 0:n.startedAt)??Date.now(),settledAt:(n==null?void 0:n.settledAt)??(a?Date.now():null)}}function Fu(){const e=r.ref([]),t=r.ref([]),n=new Map,a=new Set,i=new Map;function o(m){const g=i.get(m);g!==void 0&&(clearTimeout(g),i.delete(m))}function s(m,g={}){o(m);const _=e.value.findIndex(E=>E.key===m);if(_===-1)return;const[y]=e.value.splice(_,1);e.value=[...e.value],a.add(m),g.toHistory!==!1&&(t.value=[{...y,settledAt:y.settledAt??Date.now()},...t.value].slice(0,zu))}function l(m){i.has(m)||i.set(m,setTimeout(()=>{var _;i.delete(m);const g=n.get(m);s(m),(_=g==null?void 0:g.dismiss)==null||_.call(g)},x8))}function c(m,g){const _=`${m}:`,y=new Set;let E=[...e.value],M=!1;for(const D of g){const x=`${m}:${D.input.id}`;if(y.add(x),D.actions&&n.set(x,D.actions),a.has(x))continue;const w=E.findIndex(N=>N.key===x),B=S8(x,D.input,w===-1?void 0:E[w]);w===-1?(E=[B,...E],M=!0):JSON.stringify(E[w])!==JSON.stringify(B)&&(E[w]=B,M=!0),(B.status==="done"||B.status==="aborted")&&l(x)}for(const D of[...E])!D.key.startsWith(_)||y.has(D.key)||D.status!=="error"&&(o(D.key),E=E.filter(x=>x.key!==D.key),M=!0,D.status!=="running"&&(a.add(D.key),t.value=[{...D,settledAt:D.settledAt??Date.now()},...t.value].slice(0,zu)));for(const D of[...a])D.startsWith(_)&&!y.has(D)&&a.delete(D);for(const D of[...n.keys()])D.startsWith(_)&&!y.has(D)&&!e.value.some(x=>x.key===D)&&(E.some(x=>x.key===D)||n.delete(D));M&&(e.value=E)}function d(m){var g,_;(_=(g=n.get(m))==null?void 0:g.cancel)==null||_.call(g)}function u(m){var _,y;const g=n.get(m);s(m),(_=g==null?void 0:g.dismiss)==null||_.call(g),(y=g==null?void 0:g.retry)==null||y.call(g)}function h(m){var _;const g=n.get(m);s(m),(_=g==null?void 0:g.dismiss)==null||_.call(g)}function f(){t.value=[]}const p=r.computed(()=>e.value.filter(m=>m.status==="running").length),k=r.computed(()=>e.value.filter(m=>m.status==="error").length),v=r.computed(()=>k.value>0),b=r.computed(()=>{const m=e.value.filter(y=>y.status==="running");let g=0,_=0;for(const y of m){let E=null;y.totalBytes&&y.totalBytes>0?E=Math.min(1,(y.uploadedBytes??0)/y.totalBytes):y.totalCount&&y.totalCount>0?E=Math.min(1,(y.doneCount??0)/y.totalCount):y.percent!==null&&(E=Math.min(1,y.percent/100)),E!==null&&(g+=E,_+=1)}return _===0?null:Math.round(g/_*100)});return r.getCurrentScope()&&r.onScopeDispose(()=>{for(const m of i.values())clearTimeout(m);i.clear()}),{active:e,history:t,runningCount:p,errorCount:k,hasError:v,overallPercent:b,sync:c,cancel:d,retry:u,dismiss:h,clearHistory:f}}const E8=["data-prefers-dark","aria-label"],C8={key:1,class:"fe-tour__dim","aria-hidden":"true"},B8={class:"fe-tour__progress","aria-hidden":"true"},D8={class:"fe-tour__title"},T8={class:"fe-tour__desc"},A8={class:"fe-tour__dots","aria-hidden":"true"},M8={class:"fe-tour__actions"},Qa=6,Lu=12,N8=r.defineComponent({__name:"OnboardingTour",props:{open:{type:Boolean},locale:{},root:{},theme:{}},emits:["close"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale);function o(w,B){const N=w.querySelectorAll("button[title]");for(const G of Array.from(N))if(G.getAttribute("title")===B)return G;return null}const s=[{id:"nav",titleKey:"tour.step.nav.title",descKey:"tour.step.nav.desc",target:w=>w.querySelector(".fe-breadcrumb")},{id:"upload",titleKey:"tour.step.upload.title",descKey:"tour.step.upload.desc",target:w=>o(w,i("toolbar.upload"))||w.querySelector(".fe-fab")},{id:"search",titleKey:"tour.step.search.title",descKey:"tour.step.search.desc",target:w=>w.querySelector(".fe-search__input")||w.querySelector(".fe-toolbar__search-toggle")},{id:"view",titleKey:"tour.step.view.title",descKey:"tour.step.view.desc",target:w=>w.querySelector(".fe-toolbar__view")},{id:"share",titleKey:"tour.step.share.title",descKey:"tour.step.share.desc",target:w=>w.querySelector(".fe__body")},{id:"help",titleKey:"tour.step.help.title",descKey:"tour.step.help.desc",target:()=>null}],l=r.ref([]),c=r.ref(0),d=r.computed(()=>l.value[c.value]??null),u=r.computed(()=>l.value.length);function h(){const w=n.root;l.value=s.filter(B=>{if(B.id==="help")return!0;if(!w)return!1;const N=B.target(w);if(!N)return!1;const G=N.getBoundingClientRect();return G.width>0&&G.height>0})}const f=r.ref(null),p=r.ref({}),k=r.ref(null);async function v(){var $;const w=d.value,B=n.root;if(!w)return;const N=B?w.target(B):null;if(!N){f.value=null,p.value={};return}const G=N.getBoundingClientRect();if(G.width<=0&&G.height<=0){f.value=null,p.value={};return}f.value={top:G.top-Qa,left:G.left-Qa,width:G.width+Qa*2,height:G.height+Qa*2},await r.nextTick();const F=window.innerWidth,q=window.innerHeight,Y=Math.min(340,F-24),K=(($=k.value)==null?void 0:$.offsetHeight)??160;let Q=G.bottom+Qa+Lu;Q+K>q-12&&(Q=Math.max(12,G.top-Qa-Lu-K));let re=G.left+G.width/2-Y/2;re=Math.min(Math.max(12,re),F-Y-12),p.value={top:`${Math.round(Q)}px`,left:`${Math.round(re)}px`,width:`${Y}px`}}function b(){n.open&&v()}function m(){if(c.value>=u.value-1){a("close");return}c.value+=1}function g(){c.value>0&&(c.value-=1)}function _(){a("close")}function y(w){n.open&&(w.key==="Escape"?(w.stopPropagation(),_()):w.key==="ArrowRight"||w.key==="Enter"?(w.preventDefault(),m()):w.key==="ArrowLeft"&&(w.preventDefault(),g()))}r.watch(()=>n.open,async w=>{var B;w&&(c.value=0,h(),await r.nextTick(),await v(),(B=k.value)==null||B.focus())}),r.watch(c,async()=>{var w;await v(),(w=k.value)==null||w.focus()}),r.onMounted(()=>{window.addEventListener("resize",b),window.addEventListener("scroll",b,!0)}),r.onBeforeUnmount(()=>{window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0)});const E=r.ref(!1);let M;function D(w){E.value=!!(w&&"matches"in w&&w.matches)}r.onMounted(()=>{var w;typeof window>"u"||(M=window.matchMedia("(prefers-color-scheme: dark)"),D(M),(w=M.addEventListener)==null||w.call(M,"change",D))}),r.onBeforeUnmount(()=>{var w;(w=M==null?void 0:M.removeEventListener)==null||w.call(M,"change",D)});const x=r.computed(()=>`fe-ctx-backdrop--theme-${n.theme||"auto"}`);return(w,B)=>(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[r.createVNode(r.Transition,{name:"fe-tour"},{default:r.withCtx(()=>[e.open&&d.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe-tour",x.value]),"data-prefers-dark":E.value?"1":"0",role:"dialog","aria-modal":"true","aria-label":r.unref(i)("tour.aria"),onKeydown:y},[f.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fe-tour__spot",style:r.normalizeStyle({top:f.value.top+"px",left:f.value.left+"px",width:f.value.width+"px",height:f.value.height+"px"}),"aria-hidden":"true"},null,4)):(r.openBlock(),r.createElementBlock("div",C8)),r.createElementVNode("div",{ref_key:"cardEl",ref:k,class:r.normalizeClass(["fe-tour__card",{"fe-tour__card--center":!f.value}]),style:r.normalizeStyle(f.value?p.value:{}),tabindex:"-1"},[r.createElementVNode("p",B8,r.toDisplayString(r.unref(i)("tour.progress",{n:c.value+1,m:u.value})),1),r.createElementVNode("h3",D8,r.toDisplayString(r.unref(i)(d.value.titleKey)),1),r.createElementVNode("p",T8,r.toDisplayString(r.unref(i)(d.value.descKey)),1),r.createElementVNode("div",A8,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,(N,G)=>(r.openBlock(),r.createElementBlock("span",{key:N.id,class:r.normalizeClass(["fe-tour__dot",{"is-active":G===c.value}])},null,2))),128))]),r.createElementVNode("div",M8,[r.createElementVNode("button",{type:"button",class:"fe-btn fe-tour__skip",onClick:_},r.toDisplayString(r.unref(i)("tour.skip")),1),B[0]||(B[0]=r.createElementVNode("span",{class:"fe-tour__actions-spacer"},null,-1)),c.value>0?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn",onClick:g},r.toDisplayString(r.unref(i)("tour.back")),1)):r.createCommentVNode("",!0),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:m},r.toDisplayString(c.value>=u.value-1?r.unref(i)("tour.done"):r.unref(i)("tour.next")),1)])],6)],42,E8)):r.createCommentVNode("",!0)]),_:1})]))}}),I8=["aria-label"],z8={class:"fe-tabs__scroll"},F8=["aria-selected","title","onClick","onKeydown","onAuxclick","onDragstart","onDragover","onDragleave","onDrop"],L8={key:0,class:"fe-tabs__splitdot","aria-hidden":"true"},O8={class:"fe-tabs__label"},P8=["aria-label","title","onClick"],R8=["aria-label","title"],V8=["aria-label","title","aria-pressed"],Ou=r.defineComponent({__name:"TabBar",props:{tabs:{},activeId:{},locale:{},splitEnabled:{type:Boolean},splitActive:{type:Boolean}},emits:["select","close","new","reorder","toggle-split"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale),o=r.ref(null),s=r.ref(null);function l(k,v){var b;o.value=k,v.dataTransfer&&(v.dataTransfer.effectAllowed="move",v.dataTransfer.setData("text/plain",((b=n.tabs[k])==null?void 0:b.id)??""))}function c(k,v){o.value!==null&&(v.preventDefault(),v.stopPropagation(),v.dataTransfer&&(v.dataTransfer.dropEffect="move"),s.value=k)}function d(k){s.value===k&&(s.value=null)}function u(k,v){o.value!==null&&(v.preventDefault(),v.stopPropagation(),o.value!==k&&a("reorder",o.value,k),o.value=null,s.value=null)}function h(){o.value=null,s.value=null}function f(k){k.button===1&&k.preventDefault()}function p(k,v){v.button===1&&(v.preventDefault(),v.stopPropagation(),a("close",k))}return(k,v)=>(r.openBlock(),r.createElementBlock("div",{class:"fe-tabs",role:"tablist","aria-label":r.unref(i)("tabs.strip")},[r.createElementVNode("div",z8,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.tabs,(b,m)=>(r.openBlock(),r.createElementBlock("div",{key:b.id,class:r.normalizeClass(["fe-tabs__tab",{"is-active":b.id===e.activeId,"is-dragover":s.value===m&&o.value!==null&&o.value!==m}]),role:"tab","aria-selected":b.id===e.activeId?"true":"false",tabindex:"0",draggable:"true",title:b.label,onClick:g=>a("select",b.id),onKeydown:r.withKeys(r.withModifiers(g=>a("select",b.id),["prevent"]),["enter"]),onMousedown:v[0]||(v[0]=g=>f(g)),onAuxclick:g=>p(b.id,g),onDragstart:g=>l(m,g),onDragover:g=>c(m,g),onDragleave:g=>d(m),onDrop:g=>u(m,g),onDragend:h},[b.split?(r.openBlock(),r.createElementBlock("span",L8)):r.createCommentVNode("",!0),r.createElementVNode("span",O8,r.toDisplayString(b.label),1),r.createElementVNode("button",{type:"button",class:"fe-tabs__close","aria-label":r.unref(i)("tabs.close"),title:r.unref(i)("tabs.close"),onClick:r.withModifiers(g=>a("close",b.id),["stop"])},"×",8,P8)],42,F8))),128)),r.createElementVNode("button",{type:"button",class:"fe-tabs__new","aria-label":r.unref(i)("tabs.new"),title:r.unref(i)("tabs.new"),onClick:v[1]||(v[1]=b=>a("new"))},"+",8,R8)]),e.splitEnabled!==!1?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:r.normalizeClass(["fe-tabs__split",{"is-active":e.splitActive}]),"aria-label":e.splitActive?r.unref(i)("tabs.split_off"):r.unref(i)("tabs.split"),title:e.splitActive?r.unref(i)("tabs.split_off"):r.unref(i)("tabs.split"),"aria-pressed":e.splitActive?"true":"false",onClick:v[2]||(v[2]=b=>a("toggle-split"))},[...v[3]||(v[3]=[r.createElementVNode("svg",{class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false"},[r.createElementVNode("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),r.createElementVNode("path",{d:"M12 4v16"})],-1)])],10,V8)):r.createCommentVNode("",!0)],8,I8))}}),Wi=".filex-e2e.json",Pu="filexe2e",Yi=1,Ru=6e5,$8=6e5,Qs=200*1024*1024,Vu=8,$u="filex-e2e-verify-v1",Jo=new TextEncoder().encode(Pu),Qo=97,e0=9,t0=21,U8=48,n0=69,Sr=12;class r0 extends Error{constructor(t="e2e: decrypt failed"){super(t),this.name="E2eDecryptError"}}function Uu(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function Hu(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}async function a0(e,t,n){const a=await crypto.subtle.importKey("raw",new TextEncoder().encode(e),"PBKDF2",!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:new Uint8Array(t).buffer,iterations:n,hash:"SHA-256"},a,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function Gu(e,t=Ru){const n=Math.max($8,t),a=crypto.getRandomValues(new Uint8Array(16)),i=await a0(e,a,n),o=crypto.getRandomValues(new Uint8Array(Sr)),s=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:o.buffer},i,new TextEncoder().encode($u))),l=new Uint8Array(Sr+s.length);return l.set(o,0),l.set(s,Sr),{marker:{v:Yi,salt:Uu(a),iter:n,verify:Uu(l)},kek:i}}function ju(e){try{const t=JSON.parse(e);return!t||t.v!==Yi||typeof t.salt!="string"||typeof t.verify!="string"||typeof t.iter!="number"||t.iter<1?null:t}catch{return null}}async function qu(e,t){const n=Hu(e.salt),a=await a0(t,n,e.iter),i=Hu(e.verify);if(i.length<=Sr)return null;try{const o=await crypto.subtle.decrypt({name:"AES-GCM",iv:i.slice(0,Sr).buffer},a,i.slice(Sr).buffer);return new TextDecoder().decode(o)!==$u?null:a}catch{return null}}function el(e){const t=e instanceof Uint8Array?e:new Uint8Array(e);if(t.length<Jo.length)return!1;for(let n=0;n<Jo.length;n++)if(t[n]!==Jo[n])return!1;return!0}async function Ku(e,t){if(t.byteLength>Qs)throw new Error("e2e: file exceeds the 200MB single-shot limit");const n=crypto.getRandomValues(new Uint8Array(32)),a=await crypto.subtle.importKey("raw",n.buffer,{name:"AES-GCM"},!1,["encrypt"]),i=crypto.getRandomValues(new Uint8Array(Sr)),o=crypto.getRandomValues(new Uint8Array(Sr)),s=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:i.buffer},e,n.buffer)),l=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:o.buffer},a,t));n.fill(0);const c=new Uint8Array(Qo+l.length);return c.set(Jo,0),c[8]=Yi,c.set(i,e0),c.set(s,t0),c.set(o,n0),c.set(l,Qo),c.buffer}async function i0(e,t){const n=new Uint8Array(t);if(!el(n)||n.length<Qo)throw new Error("e2e: not an encrypted file");if(n[8]!==Yi)throw new Error(`e2e: unsupported version ${n[8]}`);const a=n.slice(e0,e0+Sr),i=n.slice(t0,t0+U8),o=n.slice(n0,n0+Sr);let s;try{s=await crypto.subtle.decrypt({name:"AES-GCM",iv:a.buffer},e,i.buffer)}catch{throw new r0("e2e: DEK unwrap failed (wrong password?)")}const l=await crypto.subtle.importKey("raw",s,{name:"AES-GCM"},!1,["decrypt"]);try{return await crypto.subtle.decrypt({name:"AES-GCM",iv:o.buffer},l,n.slice(Qo).buffer)}catch{throw new r0("e2e: content decrypt failed")}}function Wu(){const e=new Map;return{get(t){return e.get(t)},set(t,n){e.set(t,n)},lock(t){e.delete(t)},has(t){return e.has(t)},clear(){e.clear()}}}function Yu(e){const t=e.indexOf("://");return t===-1?e:e.slice(t+3)}function H8(e){return(e||[]).filter(t=>!(t.path.includes(".thumbs")||t.path.includes(".versions")||t.basename===".versions"||t.basename===".trash"||t.basename===".keepdir"||t.basename===Wi))}const Xu="filex.showHidden";function G8(){try{return localStorage.getItem(Xu)==="1"}catch{return!1}}const Xi=r.ref(G8());function j8(e){Xi.value=e;try{localStorage.setItem(Xu,e?"1":"0")}catch{}}function q8(e,t){return t?e||[]:(e||[]).filter(n=>!(n.basename||"").startsWith("."))}function Zu(e){return q8(H8(e),Xi.value)}function K8(e){const t=Yu(e);return t==="fileman"||t===""}function W8(e){return Yu(e).startsWith("fileman/.trash")}function Y8(e){return{type:"dir",path:`${e}://fileman/.trash`,basename:".trash",extension:"",storage:e,visibility:"private",size:0,file_size:0,mime_type:"inode/directory",extra_metadata:{}}}function Ju(e,t,n,a){return!a||W8(n)||!K8(n)?!1:(e.unshift(Y8(t)),!0)}async function Qu(e,t,n){try{const{entries:a}=await n.listTrash(t),i=e.find(l=>l.basename===".trash");if(!i)return;let o=0,s=0;for(const l of a){o+=l.size||0;const c=Date.parse(l.deleted_at);!Number.isNaN(c)&&c>s&&(s=c)}i.size=o,s>0&&(i.last_modified=s)}catch{}}const X8=["aria-label"],Z8={class:"fe-split__crumbs"},J8=["title"],Q8=["title","onClick"],e7=["aria-label","title"],t7={key:0,class:"fe-split__state",role:"status"},n7={key:1,class:"fe-split__state"},r7={key:2,class:"fe-split__state"},o0="application/x-brf-files",ef="application/x-brf-files-src",tf=r.defineComponent({__name:"SecondaryPane",props:{api:{},initialPath:{},locale:{},qualify:{type:Function},toUser:{type:Function},clamp:{type:Function},rootLabel:{},floor:{},multiRoot:{type:Boolean},virtualRows:{type:Function},active:{type:Boolean},viewMode:{},thumbSrc:{type:Function},trashVisible:{type:Boolean}},emits:["navigate","activate","close","open-tab","transfer","context","open-trash"],setup(e,{expose:t,emit:n}){const a=e,i=n,{t:o}=Gt(()=>a.locale),s=r.ref(""),l=r.ref([]),c=r.ref(!1),d=r.ref(""),u=r.ref(new Set);function h(V){return V.mime_type==="inode/storage"}const f=r.computed(()=>!!a.multiRoot&&!(s.value??"").replace(/^\/+|\/+$/g,""));async function p(V){const z=a.clamp(V??s.value??"");c.value=!0,d.value="";try{if(a.multiRoot&&!z){l.value=a.virtualRows?a.virtualRows():[],s.value="",u.value=new Set,i("navigate","");return}const U=await a.api.index(a.qualify(z));l.value=Zu(U.files),Ju(l.value,U.adapter,U.dirname,a.trashVisible!==!1)&&Qu(l.value,U.adapter,a.api),s.value=a.toUser(U.dirname),u.value=new Set,i("navigate",s.value)}catch(U){d.value=U instanceof Error?U.message:String(U)}finally{c.value=!1}}p(a.initialPath??"");const k=r.computed(()=>{const V=(s.value||"").replace(/^\/+|\/+$/g,""),z=V?V.split("/"):[],U=(a.floor||"").replace(/^\/+|\/+$/g,""),H=[];let de="";for(const he of z)de=de?`${de}/${he}`:he,!(U&&!(de===U||de.startsWith(U+"/")))&&H.push({label:he,target:de,last:!1});return H.length>0&&(H[H.length-1].last=!0),H}),v=r.computed(()=>!a.floor);function b(V){i("activate"),p(V)}function m(V,z){i("activate");const U=z.ctrl||z.shift,H=new Set(U?u.value:[]);U&&H.has(V.path)?H.delete(V.path):H.add(V.path),u.value=H}function g(V,z){z.preventDefault(),z.stopPropagation(),i("activate"),u.value.has(V.path)||(u.value=new Set([V.path])),i("context",V,z)}function _(V){V.preventDefault(),V.stopPropagation(),i("activate"),u.value=new Set,i("context",null,V)}function y(V,z){x.value=!1,!(V.type!=="dir"||h(V))&&w(z)&&B(z,V.path)}function E(V){if(V.type==="dir"){if(V.basename===".trash"){i("activate"),i("open-trash");return}p(h(V)?V.path:a.toUser(V.path))}}function M(){u.value=new Set}function D(V,z){if(!z.dataTransfer)return;if(h(V)||f.value||V.basename===".trash"){z.preventDefault();return}u.value.has(V.path)||(u.value=new Set([V.path]));const U=l.value.filter(H=>u.value.has(H.path)&&!h(H)).map(H=>({path:H.path,basename:H.basename,type:H.type}));if(U.length===0){z.preventDefault();return}z.dataTransfer.setData(o0,JSON.stringify(U)),z.dataTransfer.setData(ef,a.qualify(s.value)),z.dataTransfer.setData("text/plain",U.map(H=>H.path).join(`
|
|
1
|
+
(function(Ye,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],r):(Ye=typeof globalThis<"u"?globalThis:Ye||self,r(Ye.FilexCore={},Ye.Vue))})(this,function(Ye,r){"use strict";var _A=Object.defineProperty;var kA=(Ye,r,Na)=>r in Ye?_A(Ye,r,{enumerable:!0,configurable:!0,writable:!0,value:Na}):Ye[r]=Na;var kr=(Ye,r,Na)=>kA(Ye,typeof r!="symbol"?r+"":r,Na);function Na(e,t){for(var n=0;n<t.length;n++){const a=t[n];if(typeof a!="string"&&!Array.isArray(a)){for(const i in a)if(i!=="default"&&!(i in e)){const o=Object.getOwnPropertyDescriptor(a,i);o&&Object.defineProperty(e,i,o.get?o:{enumerable:!0,get:()=>a[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}function Rs(e){return!!e&&e.enabled&&e.state==="ok"}function Wd(e){const t=e.apiBase!=null?e.apiBase.replace(/\/+$/,""):null;function n(i,o){return i||(t===null?null:`${t}${o}`)}const a=e.endpoint??(t!==null?`${t}/api/files/manager`:null);if(!a)throw new Error("[@brftech/filex-core] config requires either `apiBase` or `endpoint`");return{manager:a,uploadInit:n(e.uploadInit,"/api/files/upload/init"),uploadFinalize:n(e.uploadFinalize,"/api/files/upload/finalize"),uploadAbort:n(e.uploadAbort,"/api/files/upload/abort"),shareCreate:n(e.shareCreate,"/api/files/share"),shareList:n(e.shareList,"/api/files/share"),shareDelete:n(e.shareDelete,"/api/files/share/{uuid}"),limits:n(e.limits,"/api/files/limits"),capabilities:n(e.capabilities,"/api/files/capabilities"),archiveList:n(e.archiveList,"/api/files/archive/list"),archiveExtract:n(e.archiveExtract,"/api/files/archive/extract"),archiveAdd:n(e.archiveAdd,"/api/files/archive/add"),copy:n(e.copy,"/api/files/copy"),moveAsync:n(e.moveAsync,"/api/files/move"),deleteAsync:n(e.deleteAsync,"/api/files/delete"),opsList:n(e.opsList,"/api/files/ops"),opsShow:n(e.opsShow,"/api/files/ops/{id}"),onlyOfficeConfig:n(e.onlyOfficeConfig,"/api/files/onlyoffice/config"),saveText:n(e.saveText,"/api/files/save-text"),restore:n(e.restore,"/api/files/restore"),trashList:n(e.trashList,"/api/files/manager/trash"),trashRestore:n(e.trashRestore,"/api/files/manager/restore")}}async function fg(e){if(typeof e=="function"){const t=e();return t instanceof Promise?await t:t}return e}function hg(e){return e?"kind"in e?e:e.type==="bearer"?{kind:"bearer",token:e.token}:e.type==="csrf"?{kind:"csrf",csrf:e.csrf}:{kind:"none"}:{kind:"none"}}function Yd(e){const t=Wd(e),n=hg(e.auth);async function a(ce={}){const pe={Accept:"application/json",...ce};if(n.kind==="bearer"){const Ae=await fg(n.token);Ae&&(pe.Authorization=`Bearer ${Ae}`)}else if(n.kind==="csrf")pe["X-CSRF-TOKEN"]=n.csrf,pe["X-Requested-With"]="XMLHttpRequest";else if(n.kind==="basic"){const Ae=btoa(`${n.user}:${n.pass}`);pe.Authorization=`Basic ${Ae}`}return pe}function i(ce={}){const pe={Accept:"application/json",...ce};if(n.kind==="bearer"&&typeof n.token=="string")pe.Authorization=`Bearer ${n.token}`;else if(n.kind==="csrf")pe["X-CSRF-TOKEN"]=n.csrf,pe["X-Requested-With"]="XMLHttpRequest";else if(n.kind==="basic"){const Ae=btoa(`${n.user}:${n.pass}`);pe.Authorization=`Basic ${Ae}`}return pe}function o(){return n.kind==="csrf"?"include":"same-origin"}function s(ce){const pe=(e.locale??"tr")!=="en",We={400:["Geçersiz istek","Bad request"],401:["Oturum gerekli, tekrar giriş yapın","Sign-in required"],403:["Bu işlem için yetkiniz yok","You are not allowed to do this"],404:["Bulunamadı","Not found"],409:["Zaten var / çakışma","Already exists / conflict"],413:["Dosya çok büyük","File too large"],415:["Bu dosya türü desteklenmiyor","Unsupported file type"],422:["Geçersiz veri","Invalid data"],429:["Çok fazla istek, biraz bekleyin","Too many requests"],500:["Sunucu hatası","Server error"],501:["Bu işlem desteklenmiyor","Not supported"],503:["Servis şu an kullanılamıyor","Service unavailable"]}[ce];return We?pe?We[0]:We[1]:pe?`Hata (${ce})`:`Error (${ce})`}async function l(ce,pe={}){const Ae={...await a(),...pe.headers??{}},We=await fetch(ce,{...pe,headers:Ae,credentials:o()});if(!We.ok){const wt=await We.text().catch(()=>""),et=new Error(s(We.status));throw et.status=We.status,et.detail=wt.slice(0,300),et}return We.json()}function c(ce=""){return t.manager.replace(/\/manager(\?.*)?$/,"/permissions")+ce}async function d(ce){return l(c()+"?path="+encodeURIComponent(ce))}async function u(ce){return l(c("/resolve")+"?email="+encodeURIComponent(ce))}async function h(ce){return l(c("/users")+"?q="+encodeURIComponent(ce))}async function f(ce){return l(c(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ce)})}async function p(ce,pe){return l(c("/"+ce),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({level:pe})})}async function k(ce){return l(c("/"+ce),{method:"DELETE"})}async function v(ce){return l(c("/invite"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ce)})}async function b(ce){return l(c("/share-mail"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ce)})}function m(ce){const pe=new URLSearchParams;for(const[Ae,We]of Object.entries(ce))We!=null&&pe.set(Ae,String(We));return pe.toString()}function g(ce,pe={}){const Ae=t.manager.includes("?")?"&":"?";return`${t.manager}${Ae}${m({q:ce,action:ce,...pe})}`}async function _(ce){return l(g("index",{path:ce}))}async function y(ce,pe){return l(g("search",{path:ce,filter:pe}))}async function E(ce,pe={}){const Ae=t.manager.replace(/\/manager(\?.*)?$/,"/search"),We=Ae.includes("?")?"&":"?",wt=`${Ae}${We}${m({q:ce,limit:pe.limit,scope:pe.scope})}`,et=await l(wt);return Array.isArray(et==null?void 0:et.results)?et.results:[]}async function M(ce){return l(g("subfolders",{path:ce}))}async function D(ce,pe){return l(g("newfolder"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,name:pe})})}async function x(ce,pe,Ae){return l(g("rename"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,item:pe,name:Ae})})}async function w(ce,pe,Ae){return l(g("move"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,item:Ae,items:pe.map(We=>({path:We}))})})}async function B(ce,pe){return l(g("delete"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,items:pe.map(Ae=>({path:Ae}))})})}async function N(ce,pe){if(!t.copy)throw new Error("copy endpoint not configured");return l(t.copy,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:ce,target:pe})})}async function G(ce,pe,Ae){if(!t.moveAsync)throw new Error("moveAsync endpoint not configured");return l(t.moveAsync,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:ce,target:pe,sourceDir:Ae})})}async function F(ce,pe){if(!t.deleteAsync)throw new Error("deleteAsync endpoint not configured");return l(t.deleteAsync,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:ce,sourceDir:pe})})}async function q(ce){if(!t.restore)throw new Error("restore endpoint not configured");return l(t.restore,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:ce})})}async function Y(ce){if(!t.trashList)throw new Error("trashList endpoint not configured");const pe=t.trashList,Ae=pe.includes("?")?"&":"?",We=ce?`${pe}${Ae}storage=${encodeURIComponent(ce)}`:pe;return l(We)}async function K(ce){const pe=t.trashRestore;if(!pe)throw new Error("trashRestore endpoint not configured");let Ae=0;for(const We of ce)try{await l(pe,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:We})}),Ae++}catch{}return{restored:Ae}}async function Q(ce,pe,Ae){const We=new FormData;We.append("path",ce);for(const et of pe)We.append("file[]",et,et.name);const wt=await a();return new Promise((et,ft)=>{const ct=new XMLHttpRequest;ct.open("POST",g("upload"));for(const[pt,ht]of Object.entries(wt))pt!=="Content-Type"&&ct.setRequestHeader(pt,ht);ct.withCredentials=o()==="include",ct.upload.onprogress=pt=>{Ae&&pt.lengthComputable&&Ae(Math.round(pt.loaded/pt.total*100))},ct.onload=()=>{if(ct.status>=200&&ct.status<300)try{et(JSON.parse(ct.responseText))}catch(pt){ft(pt)}else ft(new Error(`${ct.status} ${ct.statusText}: ${ct.responseText.slice(0,200)}`))},ct.onerror=()=>ft(new Error("Network error")),ct.send(We)})}function re(ce){return g("download",{path:ce})}function $(ce){return g("preview",{path:ce})}async function V(ce){const pe=await a(),Ae=await fetch($(ce),{headers:pe,credentials:o()});if(!Ae.ok){const ft=await Ae.text().catch(()=>"");throw new Error(`${Ae.status} ${Ae.statusText}${ft?" — "+ft.slice(0,200):""}`)}const We=await Ae.blob(),wt=We.type||Ae.headers.get("content-type")||"";return{url:URL.createObjectURL(We),blob:We,mime:wt}}async function z(ce){const pe=await a(),Ae=await fetch($(ce),{headers:pe,credentials:o()});if(!Ae.ok){const We=await Ae.text().catch(()=>"");throw new Error(`${Ae.status} ${Ae.statusText}${We?" — "+We.slice(0,200):""}`)}return Ae.arrayBuffer()}async function U(){return t.limits?l(t.limits):{max_upload_mb:1024}}async function H(){return t.capabilities?l(t.capabilities):{ffmpeg:!1,ghostscript:!1,libreoffice:!1,max_chunk_mb:5,upload_limit_mb:1024,onlyoffice_url:e.onlyOfficeBase??null,drawio_url:e.drawioBase??null,convert_url:e.convertBase??null}}async function de(ce){if(!t.shareCreate)throw new Error("shareCreate endpoint not configured");return l(t.shareCreate,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ce)})}async function he(ce){if(!t.shareList)return{shares:[]};const pe=t.shareList.includes("?")?"&":"?";return l(`${t.shareList}${pe}path=${encodeURIComponent(ce)}`)}async function ve(ce){if(!t.shareDelete)throw new Error("shareDelete endpoint not configured");const pe=t.shareDelete.replace("{uuid}",encodeURIComponent(ce));return l(pe,{method:"DELETE"})}async function xe(ce){if(!t.archiveList)throw new Error("archiveList endpoint not configured");return{entries:(await l(t.archiveList,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce})})).entries.map(Ae=>({name:Ae.name,size:Ae.size,isDir:Ae.is_dir,lastModified:Ae.mtime}))}}async function ie(ce,pe){if(!t.archiveExtract)throw new Error("archiveExtract endpoint not configured");return l(t.archiveExtract,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,members:pe})})}async function ge(ce,pe){if(!t.archiveAdd)throw new Error("archiveAdd endpoint not configured");return l(t.archiveAdd,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ce,files:pe})})}function me(ce=""){return t.manager.replace(/\/manager(\?.*)?$/,"/versions")+ce}async function we(ce){const pe=await l(me()+"?node_id="+encodeURIComponent(String(ce)));return Array.isArray(pe==null?void 0:pe.versions)?pe.versions:[]}async function Ge(ce,pe,Ae=!0){await l(me("/restore"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ce,version_id:pe,snapshot_current:Ae})})}async function Xe(ce){await l(me("/snapshot"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ce})})}function tt(ce=""){return t.manager.replace(/\/manager(\?.*)?$/,"/comments")+ce}async function Ke(ce){const pe=await l(tt()+"?node_id="+encodeURIComponent(String(ce)));return Array.isArray(pe==null?void 0:pe.comments)?pe.comments:[]}async function De(ce,pe){return(await l(tt(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ce,body:pe})})).comment}async function Ne(ce){await l(tt("/"+encodeURIComponent(String(ce))),{method:"DELETE"})}async function ke(){const ce=t.manager.replace(/\/manager(\?.*)?$/,"/ws-ticket");try{return await l(ce,{method:"POST"})}catch{return null}}return{wsTicket:ke,index:_,search:y,globalSearch:E,subfolders:M,newFolder:D,rename:x,move:w,copy:N,moveAsync:G,deleteAsync:F,deleteItems:B,restore:q,listTrash:Y,restoreIds:K,uploadMultipart:Q,downloadUrl:re,previewUrl:$,fetchBlob:V,fetchArrayBuffer:z,limits:U,capabilities:H,createShare:de,listShares:he,revokeShare:ve,archiveList:xe,archiveExtract:ie,archiveAdd:ge,listVersions:we,restoreVersion:Ge,snapshotVersion:Xe,listComments:Ke,addComment:De,deleteComment:Ne,listPermissions:d,resolveEmail:u,searchUsers:h,addPermission:f,updatePermission:p,deletePermission:k,invitePermission:v,shareMail:b,endpoints:t,authHeaders:a,authHeadersSync:i,credentialsMode:o,jsonFetch:l}}function Xd(e,t){const n=e.chunkSize??5242880,a=Math.max(1,Math.min(8,e.parallelChunks??4));async function i(o){var f,p;const s=o.chunkSize??n,l=o.parallelChunks??a,c={id:crypto.randomUUID(),file:o.file,path:o.path,totalBytes:o.file.size,uploadedBytes:0,percent:0,status:"initializing",cancel:()=>{}};let d=!1;const u=[];c.cancel=()=>{d=!0;for(const k of u)k.abort()};function h(){var k;c.percent=c.totalBytes>0?Math.min(100,Math.round(c.uploadedBytes/c.totalBytes*100)):0,(k=o.onProgress)==null||k.call(o,c)}try{if(!t.endpoints.uploadInit)throw new Error("uploadInit not configured");const k=await t.jsonFetch(t.endpoints.uploadInit,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:o.path,filename:o.file.name,size:o.file.size,mime:o.file.type||"application/octet-stream"})});c.uploadId=k.uploadId,c.status="uploading",h();const v=k.chunkBytes??s,b=new Map,m=[];let g=0;async function _(w){const N=(w.partNumber-1)*(k.chunkBytes??s),G=Math.min(N+(k.chunkBytes??s),o.file.size),F=o.file.slice(N,G),q=new AbortController;u.push(q),await new Promise((Y,K)=>{const Q=new XMLHttpRequest;Q.open("PUT",w.presignedUrl),Q.upload.onprogress=re=>{if(re.lengthComputable){const $=b.get(w.partNumber)??0,V=re.loaded-$;b.set(w.partNumber,re.loaded),c.uploadedBytes+=V,h()}},Q.onload=()=>{if(Q.status>=200&&Q.status<300){const re=(Q.getResponseHeader("ETag")||Q.getResponseHeader("etag")||"").trim();if(!re){K(new Error("Missing ETag on S3 response"));return}const $=G-N,V=b.get(w.partNumber)??0;V<$&&(c.uploadedBytes+=$-V,b.set(w.partNumber,$)),m.push({partNumber:w.partNumber,etag:re}),Y()}else K(new Error(`S3 PUT ${w.partNumber} → ${Q.status}: ${Q.responseText.slice(0,200)}`))},Q.onerror=()=>K(new Error(`S3 PUT ${w.partNumber} network error`)),Q.onabort=()=>K(new DOMException("Aborted","AbortError")),q.signal.addEventListener("abort",()=>Q.abort()),Q.send(F)})}const y=2;async function E(w,B=0){try{await _(w)}catch(N){if(d)throw N;const G=N instanceof Error?N:new Error(String(N));if(G.name==="AbortError"||B>=y)throw G;const F=b.get(w.partNumber)??0;F>0&&(c.uploadedBytes=Math.max(0,c.uploadedBytes-F),b.delete(w.partNumber),h());const q=500*(B+1)+Math.floor(Math.random()*250);return await new Promise(Y=>setTimeout(Y,q)),E(w,B+1)}}async function M(){for(;!d&&g<k.parts.length;){const w=k.parts[g++];await E(w)}}const D=[];for(let w=0;w<l;w++)D.push(M());if(await Promise.all(D),d)throw new DOMException("Aborted by user","AbortError");if(!t.endpoints.uploadFinalize)throw new Error("uploadFinalize not configured");c.status="finalizing",m.sort((w,B)=>w.partNumber-B.partNumber);const x=await t.jsonFetch(t.endpoints.uploadFinalize,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uploadId:k.uploadId,parts:m})});return c.status="done",c.uploadedBytes=c.totalBytes,c.percent=100,h(),(f=o.onDone)==null||f.call(o,c,x),x}catch(k){const v=k instanceof Error?k:new Error(String(k));if(c.status=v.name==="AbortError"?"aborted":"error",c.error=v.message,h(),c.uploadId&&t.endpoints.uploadAbort&&c.status==="aborted")try{await t.jsonFetch(t.endpoints.uploadAbort,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uploadId:c.uploadId})})}catch{}throw(p=o.onError)==null||p.call(o,c,v),v}}return{uploadFile:i}}function Zd(e){const t=r.ref(new Set),n=r.ref(null);function a(f,p={}){if(p.shift&&n.value){const k=e(),v=k.findIndex(y=>y.path===n.value),b=k.findIndex(y=>y.path===f);if(v===-1||b===-1){t.value=new Set([f]),n.value=f;return}const[m,g]=v<b?[v,b]:[b,v],_=new Set;for(let y=m;y<=g;y++)_.add(k[y].path);t.value=_;return}if(p.ctrl){const k=new Set(t.value);k.has(f)?k.delete(f):k.add(f),t.value=k,n.value=f;return}t.value=new Set([f]),n.value=f}function i(){t.value=new Set,n.value=null}function o(){t.value=new Set(e().map(f=>f.path))}function s(f){return t.value.has(f)}function l(f){const p=new Set(t.value);p.add(f),t.value=p}function c(f){const p=new Set(t.value);p.delete(f),t.value=p}const d=r.computed(()=>t.value.size),u=r.computed(()=>t.value.size===0),h=r.computed(()=>e().filter(p=>t.value.has(p.path)));return{selected:t,anchor:n,click:a,clear:i,selectAll:o,has:s,add:l,remove:c,size:d,isEmpty:u,nodes:h}}const oa=[{id:"palette",defaultCombo:"Ctrl+K",labelKey:"shortcuts.palette",groupKey:"shortcuts.group.nav"},{id:"search",defaultCombo:"/",labelKey:"shortcuts.search",groupKey:"shortcuts.group.nav"},{id:"go-up",defaultCombo:"Alt+↑",fixedCombos:["Backspace"],labelKey:"shortcuts.go_up",groupKey:"shortcuts.group.nav"},{id:"open",defaultCombo:"Enter",prevent:!1,labelKey:"shortcuts.open",groupKey:"shortcuts.group.nav"},{id:"quicklook",defaultCombo:"Space",labelKey:"shortcuts.quicklook",groupKey:"shortcuts.group.nav"},{id:"close",defaultCombo:"Esc",customizable:!1,prevent:!1,inForms:!0,labelKey:"shortcuts.close",groupKey:"shortcuts.group.nav"},{id:"inspector",defaultCombo:"I",labelKey:"shortcuts.inspector",groupKey:"shortcuts.group.nav"},{id:"help",defaultCombo:"?",labelKey:"shortcuts.help",groupKey:"shortcuts.group.nav"},{id:"toggle-hidden",defaultCombo:"Ctrl+Shift+.",labelKey:"shortcuts.toggle_hidden",groupKey:"shortcuts.group.nav"},{id:"select-all",defaultCombo:"Ctrl+A",labelKey:"shortcuts.select_all",groupKey:"shortcuts.group.selection"},{id:"rename",defaultCombo:"F2",labelKey:"shortcuts.rename",groupKey:"shortcuts.group.file"},{id:"delete",defaultCombo:"Del",labelKey:"shortcuts.delete",groupKey:"shortcuts.group.file"},{id:"cut",defaultCombo:"Ctrl+X",labelKey:"shortcuts.cut",groupKey:"shortcuts.group.file"},{id:"copy",defaultCombo:"Ctrl+C",labelKey:"shortcuts.copy",groupKey:"shortcuts.group.file"},{id:"paste",defaultCombo:"Ctrl+V",labelKey:"shortcuts.paste",groupKey:"shortcuts.group.file"},{id:"tab-new",defaultCombo:"Ctrl+T",labelKey:"shortcuts.tab_new",groupKey:"shortcuts.group.tabs"},{id:"tab-close",defaultCombo:"Ctrl+W",labelKey:"shortcuts.tab_close",groupKey:"shortcuts.group.tabs"},{id:"tab-next",defaultCombo:"Ctrl+Tab",labelKey:"shortcuts.tab_next",groupKey:"shortcuts.group.tabs"},{id:"tab-prev",defaultCombo:"Ctrl+Shift+Tab",labelKey:"shortcuts.tab_prev",groupKey:"shortcuts.group.tabs"}],pg={palette:"onPathJump",search:"onFocusSearch","go-up":"onGoUp",open:"onOpen",quicklook:"onQuickLook",close:"onClose",inspector:"onToggleInspector","toggle-hidden":"onToggleHidden",help:"onShowHelp","select-all":"onSelectAll",rename:"onRename",delete:"onDelete",cut:"onCut",copy:"onCopy",paste:"onPaste","tab-new":"onTabNew","tab-close":"onTabClose","tab-next":"onTabNext","tab-prev":"onTabPrev"},Vs="filex.shortcuts";function mg(){try{const e=localStorage.getItem(Vs);if(!e)return{};const t=JSON.parse(e);if(!t||typeof t!="object")return{};const n={};for(const[a,i]of Object.entries(t))typeof i=="string"&&oa.some(o=>o.id===a)&&(n[a]=i);return n}catch{return{}}}const wr=r.ref(mg());function $s(){try{Object.keys(wr.value).length===0?localStorage.removeItem(Vs):localStorage.setItem(Vs,JSON.stringify(wr.value))}catch{}}function Jd(e){return oa.find(t=>t.id===e)}function Gi(e){var n;const t=wr.value[e];return t!==void 0?t:((n=Jd(e))==null?void 0:n.defaultCombo)??""}function Go(e,t){const n=Jd(e);if(!n||n.customizable===!1)return;const a={...wr.value};t===n.defaultCombo?delete a[e]:a[e]=t,wr.value=a,$s()}function Qd(e){if(!(e in wr.value))return;const t={...wr.value};delete t[e],wr.value=t,$s()}function eu(){wr.value={},$s()}function tu(e,t){var n;if(!e)return null;for(const a of oa)if(a.id!==t){if((n=a.fixedCombos)!=null&&n.includes(e))return{id:a.id,fixed:!0};if(Gi(a.id)===e)return{id:a.id,fixed:a.customizable===!1}}return null}const gg={" ":"Space",Spacebar:"Space",Escape:"Esc",Delete:"Del",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",PageUp:"PgUp",PageDown:"PgDn"},vg=new Set(["Control","Alt","Shift","Meta","AltGraph","CapsLock","NumLock","ScrollLock","Fn","Dead"]);function yg(e){const t=e.key;if(!t||vg.has(t))return null;const n=gg[t];return n||(t.length===1?t.toUpperCase():t)}function Us(e){const t=yg(e);if(!t)return null;const n=[];(e.ctrlKey||e.metaKey)&&n.push("Ctrl"),e.altKey&&n.push("Alt");const a=t.length===1&&t.toUpperCase()===t.toLowerCase();return e.shiftKey&&!a&&n.push("Shift"),n.push(t),n.join("+")}function Hs(){return r.computed(()=>oa.map(e=>{const t=Gi(e.id),n=e.fixedCombos??[];return{id:e.id,combo:t,fixedCombos:n,keys:[t,...n].filter(a=>!!a),labelKey:e.labelKey,groupKey:e.groupKey,customizable:e.customizable!==!1,overridden:wr.value[e.id]!==void 0}}))}oa.map(e=>({keys:[e.defaultCombo,...e.fixedCombos??[]].filter(t=>!!t),labelKey:e.labelKey,groupKey:e.groupKey}));function nu(e,t){const n=r.computed(()=>{const i=new Map;for(const o of oa){const s=Gi(o.id);s&&i.set(s,o)}return i});function a(i){var h;if(!e.value||i.key!=="Escape"&&document.querySelector(".fe-ctx-backdrop"))return;const s=i.target,l=!!(s&&(s.tagName==="INPUT"||s.tagName==="TEXTAREA"||s.tagName==="SELECT"||s.isContentEditable)),c=Us(i);if(!c)return;if(c==="Backspace"){if(l)return;(h=t.hasSelection)!=null&&h.call(t)&&t.onDelete?(i.preventDefault(),t.onDelete()):t.onGoUp&&(i.preventDefault(),t.onGoUp());return}const d=n.value.get(c);if(!d||l&&!d.inForms||c==="Space"&&s&&typeof s.closest=="function"&&s.closest('button, a, select, summary, [role="button"], [role="menuitem"]'))return;const u=t[pg[d.id]];u&&(d.prevent!==!1&&i.preventDefault(),u())}r.onMounted(()=>window.addEventListener("keydown",a)),r.onBeforeUnmount(()=>window.removeEventListener("keydown",a))}const ru={"toolbar.new_folder":"Yeni Klasör","toolbar.upload":"Yükle","toolbar.search":"Ara","toolbar.search.placeholder":"Dosya adı…","toolbar.view.list":"Liste","toolbar.view.grid":"Izgara","toolbar.refresh":"Yenile","toolbar.go_up":"Üst Klasör","ctx.open":"Aç","ctx.preview":"Önizle","ctx.download":"İndir","ctx.convert":"Dönüştür","ctx.rename":"Yeniden Adlandır","ctx.delete":"Sil","ctx.delete_perm":"Kalıcı Olarak Sil","ctx.restore":"Geri Getir","ctx.share":"Paylaş","ctx.move":"Taşı","ctx.copy":"Kopyala","ctx.cut":"Kes","ctx.show_hidden":"Gizli dosyaları göster","ctx.hide_hidden":"Gizli dosyaları gizle","ctx.paste":"Yapıştır","ctx.info":"Bilgi","ctx.duplicate":"Kopyasını Oluştur","ctx.new_file":"Yeni Dosya","modal.delete.title":"Silinsin mi?","modal.delete.message":"{count} öğe çöpe atılacak.","modal.delete.confirm":"Çöpe At","modal.delete.cancel":"Vazgeç","modal.rename.title":"Yeniden Adlandır","modal.rename.save":"Kaydet","modal.rename.cancel":"Vazgeç","modal.newfolder.title":"Yeni Klasör","modal.newfolder.placeholder":"Klasör adı","modal.newfolder.create":"Oluştur","modal.newfolder.cancel":"Vazgeç","modal.share.title":"Paylaşım Linki","modal.share.pin":"PIN koruması","modal.share.expires":"Son kullanma","modal.share.max_downloads":"İndirme limiti","modal.share.create":"Paylaş","modal.share.cancel":"Vazgeç","modal.share.copy":"Kopyala","modal.share.url_copied":"Link kopyalandı","modal.share.pin_copied":"PIN kopyalandı","modal.share.cli_copied":"CLI komutu kopyalandı","upload.progress":"Yükleniyor","upload.done":"Tamamlandı","upload.error":"Hata","upload.failed":"“{name}” yüklenemedi","upload.aborted":"İptal edildi","upload.cancel":"İptal","empty.folder":"Bu klasör boş","empty.search":"Sonuç bulunamadı",loading:"Yükleniyor…","notFound.title":"Klasör bulunamadı","notFound.desc":"Bu klasör mevcut değil, taşınmış ya da erişim yetkiniz yok.","notFound.goRoot":"Kök klasöre dön","col.name":"Ad","col.size":"Boyut","col.modified":"Tarih","col.type":"Tür","unit.bytes":"B","unit.kb":"KB","unit.mb":"MB","unit.gb":"GB","unit.tb":"TB","breadcrumb.root":"Kök","breadcrumb.copy_path":"Yolu Kopyala","breadcrumb.go_to_path":"Yola Git","breadcrumb.path_placeholder":"fileman/foo/bar","ops.copy":"Kopyalanıyor","ops.move":"Taşınıyor","ops.delete":"Siliniyor","ops.queued":"sırada","ops.done":"tamamlandı","ops.error":"hata","node.trash":"Çöp Kutusu","viewer.open_in_new_tab":"Yeni Sekmede Aç","viewer.loading":"Yükleniyor…","viewer.failed_to_load":"Dosya yüklenemedi","viewer.peer_not_installed":"Bu dosya tipi için opsiyonel kütüphane kurulu değil. Peer dependency yükle veya İndir düğmesini kullan.","viewer.format_unsupported_3d":"Bu 3B format tarayıcı önizlemesinde desteklenmiyor (model-viewer yalnızca .glb / .gltf / .usdz okur). Lütfen indirip yerel bir araçta açın.","viewer.zoom_in":"Yakınlaştır","viewer.zoom_out":"Uzaklaştır","viewer.fit_width":"Sayfa genişliğine sığdır","viewer.next_page":"Sonraki sayfa","viewer.prev_page":"Önceki sayfa","viewer.page_n_of_m":"Sayfa {n} / {m}","viewer.tags":"Etiketler","viewer.layers":"Katmanlar","viewer.toc":"İçindekiler","viewer.font_smaller":"Yazıyı küçült","viewer.font_larger":"Yazıyı büyüt","viewer.search":"Ara","viewer.download":"İndir","viewer.saving":"Kaydediliyor…","viewer.save":"Kaydet (Ctrl+S)","viewer.saved":"Kaydedildi","viewer.save_error":"Hata","viewer.editor_loading":"Editör yükleniyor…","viewer.no_preview":"Bu dosya tipi için önizleme henüz yok.","viewer.edit":"Düzenle","viewer.close":"Kapat","presence.expand":"İsimleri göster","presence.collapse":"Küçült","viewer.save_annotations":"Açıklamaları kaydet","viewer.annotations_on":"Açıklamalar: açık","viewer.annotations_off":"Açıklamalar: kapalı","viewer.read_only":"Salt okunur","viewer.csv_first_row_header":"İlk satır başlık olsun","viewer.csv_filter":"Satır filtrele…","viewer.epub_prev":"Önceki","viewer.epub_next":"Sonraki","viewer.drawio.disabled":"diagrams.net editörü bu filex kurulumunda yapılandırılmamış — yönetici FILEX_DRAWIO_URL'yi ayarlamalı.","viewer.archive.entries":"{n} dosya","viewer.archive.empty":"Arşiv boş.","viewer.archive.error":"Arşiv okunamadı.","viewer.name":"Ad","viewer.size":"Boyut","col.sort":"Sırala","group.today":"Bugün","group.yesterday":"Dün","group.this_week":"Bu Hafta","group.this_month":"Bu Ay","group.no_date":"Tarihsiz","toolbar.density.compact":"Sıkışık görünüm","toolbar.density.comfortable":"Rahat görünüm","palette.placeholder":"Dosya, klasör veya komut ara…","palette.files":"Dosyalar","palette.commands":"Komutlar","palette.goto":"Yola git","palette.empty":"Sonuç bulunamadı","palette.hint":"↑↓ gezin · Enter seç · Esc kapat","cmd.view_toggle":"Görünümü değiştir (liste ⇄ ızgara)","cmd.trash":"Çöp kutusunu aç","shortcuts.title":"Klavye Kısayolları","shortcuts.group.nav":"Gezinme","shortcuts.group.selection":"Seçim","shortcuts.group.file":"Dosya işlemleri","shortcuts.palette":"Komut paleti","shortcuts.search":"Aramaya odaklan","shortcuts.go_up":"Üst klasöre çık","shortcuts.open":"Seçili öğeyi aç","shortcuts.close":"Kapat / vazgeç","shortcuts.toggle_hidden":"Gizli dosyaları göster/gizle","shortcuts.help":"Bu yardım penceresi","shortcuts.select_all":"Tümünü seç","shortcuts.rename":"Yeniden adlandır","shortcuts.delete":"Sil","shortcuts.cut":"Kes","shortcuts.copy":"Kopyala","shortcuts.paste":"Yapıştır","breadcrumb.more":"Aradaki klasörler","empty.hint":"Dosyaları buraya sürükleyip bırakın","empty.upload":"Dosya yükle","empty.search.title":"Aramanla eşleşen dosya yok","empty.search.hint":"Farklı bir arama terimi deneyin","empty.trash.title":"Çöp kutusu boş","error.title":"Liste yüklenemedi","error.retry":"Yeniden dene","toast.undo":"Geri Al","toast.undone":"Geri alındı","toast.undo_failed":"Geri alınamadı","toast.renamed":"Yeniden adlandırıldı","toast.moved":"Taşındı","toast.trashed":"Çöpe taşındı","conn.offline":"Canlı bağlantı yok — değişiklikler gecikebilir","conn.tooltip":"Sunucuyla canlı bağlantı kurulamadı; liste belirli aralıklarla otomatik yenilenir. Bağlantı geri gelince bu uyarı kaybolur.","palette.everywhere":"Her yerde","palette.searching":"Aranıyor…","palette.saved":"Kayıtlı aramalar","palette.save":"Aramayı kaydet","palette.saved.delete":"Kayıtlı aramayı sil","search.in_content":"İçerikte","toolbar.more":"Diğer işlemler","toolbar.search.close":"Aramayı kapat","sheet.menu":"İşlemler","sheet.close":"Kapat","toolbar.inspector":"Ayrıntılar","ctx.details":"Ayrıntılar","shortcuts.inspector":"Ayrıntılar panelini aç/kapat","inspector.title":"Ayrıntılar","inspector.close":"Kapat","inspector.section.general":"Genel","inspector.section.versions":"Sürümler","inspector.section.permissions":"İzinler","inspector.section.shares":"Paylaşımlar","inspector.path":"Yol","inspector.size":"Boyut","inspector.modified":"Değiştirilme","inspector.mime":"MIME türü","inspector.etag":"ETag","inspector.copy":"Kopyala","inspector.copied":"Kopyalandı","inspector.error":"Yüklenemedi","inspector.items_summary":"{n} öğe, toplam {size}","inspector.folder_items":"{n} öğe","inspector.versions.empty":"Sürüm geçmişi yok","inspector.versions.v":"Sürüm {n}","inspector.versions.restore":"Geri yükle","inspector.versions.restore_confirm":"Bu sürüm geri yüklensin mi?","inspector.versions.snapshot_current":"Önce şimdiki halin sürümünü al","inspector.versions.confirm":"Onayla","inspector.versions.cancel":"Vazgeç","inspector.versions.take_snapshot":"Şimdiki halin sürümünü al","inspector.versions.restored":"Sürüm geri yüklendi","inspector.versions.snapshotted":"Sürüm alındı","inspector.versions.unsupported":"Sunucu bu işlemi desteklemiyor","inspector.perm.none":"Erişim yok","inspector.perm.viewer":"Görüntüleyen","inspector.perm.editor":"Düzenleyen","inspector.perm.owner":"Sahip","inspector.perm.manage":"İzinleri yönet","inspector.shares.empty":"Paylaşım linki yok","inspector.shares.copy":"Linki kopyala","theme.menu":"Tema","theme.title":"Tema Galerisi","theme.hint":"Tema yalnız renk paletini değiştirir; açık/koyu mod ayrı çalışmaya devam eder.","theme.reset":"Varsayılana dön","theme.close":"Kapat","theme.selected":"Seçili","theme.name.default":"Varsayılan","theme.name.night":"Gece Mavisi","theme.name.forest":"Orman","theme.name.amber":"Kehribar","theme.name.lilac":"Leylak","theme.name.contrast":"Yüksek Kontrast","theme.name.gray":"Yumuşak Gri","theme.name.terminal":"Terminal Yeşili","shortcuts.quicklook":"Hızlı bakış","shortcuts.customize":"Özelleştir","shortcuts.settings.menu":"Kısayollar","shortcuts.settings.title":"Kısayol Ayarları","shortcuts.settings.hint":'Bir kısayolu değiştirmek için "Değiştir"e basıp yeni tuş kombinasyonuna basın. Değişiklikler yalnızca bu tarayıcıda saklanır.',"shortcuts.settings.change":"Değiştir","shortcuts.settings.capture":"Tuşlara basın… (Esc iptal)","shortcuts.settings.reset":"Varsayılana dön","shortcuts.settings.reset_all":"Tümünü sıfırla","shortcuts.settings.unbound":"Atanmadı","shortcuts.settings.fixed":"Sabit","shortcuts.settings.customized":"Özelleştirildi","shortcuts.settings.conflict":'kombinasyonu "{name}" kısayolunda kullanılıyor.',"shortcuts.settings.conflict_fixed":'kombinasyonu "{name}" sabit kısayoluna ayrılmış — kullanılamaz.',"shortcuts.settings.conflict_take":"Eskisini boşa çıkar ve ata","shortcuts.settings.conflict_cancel":"Vazgeç","quicklook.hint_close":"kapat","quicklook.hint_nav":"önceki/sonraki","quicklook.hint_open":"aç","opc.title":"İşlemler","opc.aria_badge":"{n} işlem — işlem merkezini aç/kapat","opc.close":"Kapat","opc.active":"Sürüyor","opc.history":"Geçmiş","opc.clear":"Temizle","opc.empty":"İşlem yok","opc.cancel":"İptal","opc.retry":"Yeniden dene","opc.dismiss":"Kapat","opc.queued":"Sırada","opc.percent":"%{n}","opc.status.running":"Sürüyor","opc.status.done":"Bitti","opc.status.error":"Hata","opc.status.aborted":"İptal edildi","opc.kind.upload":"Yükleme","opc.kind.copy":"Kopyalama","opc.kind.move":"Taşıma","opc.kind.delete":"Silme","opc.kind.convert":"Dönüştürme","opc.kind.archive":"Arşiv","tour.aria":"Tanıtım turu","tour.restart":"Turu tekrar başlat","tour.skip":"Turu atla","tour.back":"Geri","tour.next":"İleri","tour.done":"Bitti","tour.progress":"{n} / {m}","tour.step.nav.title":"Depo ve klasörler","tour.step.nav.desc":"Bulunduğun konum burada görünür. Kırıntı çubuğundaki adımlara tıklayarak üst klasörlere ve depo köküne dönebilirsin.","tour.step.upload.title":"Dosya yükle","tour.step.upload.desc":"Bu düğmeyle dosya seçebilirsin; dosyaları doğrudan pencereye sürükleyip bırakmak da çalışır.","tour.step.search.title":"Arama","tour.step.search.desc":"Bu kutu bulunduğun klasörü filtreler. Ctrl+K komut paleti ile tüm depolarda arama yapabilir ve komut çalıştırabilirsin.","tour.step.view.title":"Görünümü değiştir","tour.step.view.desc":"Liste ve ızgara görünümü arasında geçiş yapabilirsin; seçimin hatırlanır.","tour.step.share.title":"Paylaşım","tour.step.share.desc":'Bir dosyaya sağ tıklayıp "Paylaş / İzinler" ile bağlantı oluşturabilir, PIN ve son kullanma süresi ekleyebilirsin.',"tour.step.help.title":"Kısayollar","tour.step.help.desc":'? tuşu kısayol kartını, Ctrl+K komut paletini açar. Bu turu menüdeki "Turu tekrar başlat" ile dilediğinde yeniden izleyebilirsin.',"error.hint":"Bağlantı ya da sunucu kaynaklı geçici bir sorun olabilir. Yeniden deneyin.","error.details":"Teknik ayrıntılar","col.star":"Yıldız","toolbar.view_label":"Görünüm","list.aria":"Dosya listesi","grid.aria":"Dosya ızgarası","tabs.strip":"Sekmeler","tabs.new":"Yeni sekme","tabs.close":"Sekmeyi kapat","tabs.split":"Görünümü böl","tabs.split_off":"Bölmeyi kapat","ctx.open_new_tab":"Yeni sekmede aç","shortcuts.group.tabs":"Sekmeler","shortcuts.tab_new":"Yeni sekme","shortcuts.tab_close":"Sekmeyi kapat","shortcuts.tab_next":"Sonraki sekme","shortcuts.tab_prev":"Önceki sekme","cmd.tab_new":"Yeni sekme aç","cmd.split_toggle":"Görünümü böl / birleştir","split.pane":"İkincil panel","split.close":"Yan paneli kapat","split.error":"Liste yüklenemedi","split.retry":"Yeniden dene","split.copy_queued":"Kopyalama kuyruğa alındı","split.cross_copy":"Depolar farklı — kopyalama kuyruğa alındı","split.cross_failed":"Depolar arası kopyalama bu sunucuda desteklenmiyor","toolbar.view.gallery":"Galeri","gallery.aria":"Dosya galerisi","inspector.section.comments":"Yorumlar","inspector.comments.empty":"Henüz yorum yok.","inspector.comments.placeholder":"Yorum yaz…","inspector.comments.send":"Gönder","inspector.comments.delete":"Yorumu sil","e2e.create.title":"Şifreli klasör oluştur","e2e.create.option":"Şifreli klasör oluştur…","e2e.create.pw_placeholder":"Klasör parolası (en az 8 karakter)","e2e.create.pw2_placeholder":"Parolayı tekrar girin","e2e.create.warn_title":"GERİ DÖNÜŞÜ YOK","e2e.create.warn_body":"Dosyalar yalnız bu parolayla açılır. Parola sunucuda TUTULMAZ; unutursanız içerik sonsuza dek kaybolur. Kurtarma yolu yoktur — yönetici dahil kimse açamaz.","e2e.create.ack":"Anladım: parolayı kaybedersem verilerim kurtarılamaz.","e2e.create.ack_required":"Devam etmek için uyarıyı onaylayın.","e2e.create.pw_short":"Parola en az 8 karakter olmalı.","e2e.create.pw_mismatch":"Parolalar birbirini tutmuyor.","e2e.create.bad_name":"Geçersiz klasör adı.","e2e.create.create":"Şifreli klasörü oluştur","e2e.create.busy":"Oluşturuluyor…","e2e.create.done":"Şifreli klasör oluşturuldu","e2e.create.failed":"Şifreli klasör oluşturulamadı","e2e.create.nested":"Şifreli klasörün içine ikinci bir şifreli klasör açılamaz.","e2e.locked.title":"Bu klasör uçtan uca şifreli","e2e.locked.hint":"İçeriği görmek için klasör parolasını girin. Parola yalnız bu sekmede, bellekte tutulur.","e2e.locked.pw_placeholder":"Klasör parolası","e2e.locked.unlock":"Kilidi aç","e2e.locked.busy":"Doğrulanıyor…","e2e.unlock.wrong":"Parola yanlış.","e2e.unlock.marker_missing":"Şifre dosyası (.filex-e2e.json) okunamadı.","e2e.strip.label":"Şifreli klasör — kilit açık","e2e.strip.lock":"Kilitle","e2e.locked_toast":"Klasör kilitlendi","e2e.upload.too_big":"200 MB üstü dosyalar şifreli klasöre yüklenemez (MVP sınırı)","e2e.upload.locked":"Önce klasörün kilidini açın","e2e.decrypting":"Çözülüyor…","e2e.decrypt_failed":"Dosya çözülemedi (parola değişmiş ya da dosya bozulmuş olabilir).","e2e.download.failed":"Şifreli dosya indirilemedi."},au={"toolbar.new_folder":"New Folder","toolbar.upload":"Upload","toolbar.search":"Search","toolbar.search.placeholder":"File name…","toolbar.view.list":"List","toolbar.view.grid":"Grid","toolbar.refresh":"Refresh","toolbar.go_up":"Up one level","ctx.open":"Open","ctx.preview":"Preview","ctx.download":"Download","ctx.convert":"Convert","ctx.rename":"Rename","ctx.delete":"Delete","ctx.delete_perm":"Delete Permanently","ctx.restore":"Restore","ctx.share":"Share","ctx.move":"Move","ctx.copy":"Copy","ctx.cut":"Cut","ctx.show_hidden":"Show hidden files","ctx.hide_hidden":"Hide hidden files","ctx.paste":"Paste","ctx.info":"Info","ctx.duplicate":"Duplicate","ctx.new_file":"New File","modal.delete.title":"Delete?","modal.delete.message":"{count} item(s) will be moved to trash.","modal.delete.confirm":"Move to Trash","modal.delete.cancel":"Cancel","modal.rename.title":"Rename","modal.rename.save":"Save","modal.rename.cancel":"Cancel","modal.newfolder.title":"New Folder","modal.newfolder.placeholder":"Folder name","modal.newfolder.create":"Create","modal.newfolder.cancel":"Cancel","modal.share.title":"Share Link","modal.share.pin":"PIN protected","modal.share.expires":"Expires at","modal.share.max_downloads":"Download limit","modal.share.create":"Share","modal.share.cancel":"Cancel","modal.share.copy":"Copy","modal.share.url_copied":"Link copied","modal.share.pin_copied":"PIN copied","modal.share.cli_copied":"CLI command copied","upload.progress":"Uploading","upload.done":"Done","upload.error":"Error","upload.failed":"Could not upload “{name}”","upload.aborted":"Aborted","upload.cancel":"Cancel","empty.folder":"This folder is empty","empty.search":"No results",loading:"Loading…","notFound.title":"Folder not found","notFound.desc":"This folder does not exist, was moved, or you do not have access to it.","notFound.goRoot":"Go to root folder","col.name":"Name","col.size":"Size","col.modified":"Modified","col.type":"Type","unit.bytes":"B","unit.kb":"KB","unit.mb":"MB","unit.gb":"GB","unit.tb":"TB","breadcrumb.root":"Root","breadcrumb.copy_path":"Copy Path","breadcrumb.go_to_path":"Go To Path","breadcrumb.path_placeholder":"fileman/foo/bar","ops.copy":"Copying","ops.move":"Moving","ops.delete":"Deleting","ops.queued":"queued","ops.done":"done","ops.error":"error","node.trash":"Trash","viewer.open_in_new_tab":"Open in New Tab","viewer.loading":"Loading…","viewer.failed_to_load":"Failed to load file","viewer.peer_not_installed":"Optional viewer library is not installed. Install the peer dependency or use the download button.","viewer.format_unsupported_3d":"This 3D format is not supported in the browser preview (model-viewer only reads .glb / .gltf / .usdz). Please download and open with a local tool.","viewer.zoom_in":"Zoom in","viewer.zoom_out":"Zoom out","viewer.fit_width":"Fit width","viewer.next_page":"Next page","viewer.prev_page":"Previous page","viewer.page_n_of_m":"Page {n} of {m}","viewer.tags":"Tags","viewer.layers":"Layers","viewer.toc":"Contents","viewer.font_smaller":"Smaller text","viewer.font_larger":"Larger text","viewer.search":"Search","viewer.download":"Download","viewer.saving":"Saving…","viewer.save":"Save (Ctrl+S)","viewer.saved":"Saved","viewer.save_error":"Error","viewer.editor_loading":"Loading editor…","viewer.no_preview":"No preview for this file type yet.","viewer.edit":"Edit","viewer.close":"Close","presence.expand":"Show names","presence.collapse":"Collapse","viewer.save_annotations":"Save annotations","viewer.annotations_on":"Annotations: on","viewer.annotations_off":"Annotations: off","viewer.read_only":"Read only","viewer.csv_first_row_header":"First row as header","viewer.csv_filter":"Filter rows…","viewer.epub_prev":"Previous","viewer.epub_next":"Next","viewer.drawio.disabled":"diagrams.net embed is not configured for this filex instance — operator must wire FILEX_DRAWIO_URL to enable the editor.","viewer.archive.entries":"{n} files","viewer.archive.empty":"Archive is empty.","viewer.archive.error":"Could not read archive contents.","viewer.name":"Name","viewer.size":"Size","col.sort":"Sort","group.today":"Today","group.yesterday":"Yesterday","group.this_week":"This Week","group.this_month":"This Month","group.no_date":"No date","toolbar.density.compact":"Compact view","toolbar.density.comfortable":"Comfortable view","palette.placeholder":"Search files, folders or commands…","palette.files":"Files","palette.commands":"Commands","palette.goto":"Go to path","palette.empty":"No results","palette.hint":"↑↓ navigate · Enter select · Esc close","cmd.view_toggle":"Toggle view (list ⇄ grid)","cmd.trash":"Open trash","shortcuts.title":"Keyboard Shortcuts","shortcuts.group.nav":"Navigation","shortcuts.group.selection":"Selection","shortcuts.group.file":"File operations","shortcuts.palette":"Command palette","shortcuts.search":"Focus search","shortcuts.go_up":"Go up one level","shortcuts.open":"Open selected item","shortcuts.close":"Close / cancel","shortcuts.toggle_hidden":"Show/hide hidden files","shortcuts.help":"This help dialog","shortcuts.select_all":"Select all","shortcuts.rename":"Rename","shortcuts.delete":"Delete","shortcuts.cut":"Cut","shortcuts.copy":"Copy","shortcuts.paste":"Paste","breadcrumb.more":"Hidden folders","empty.hint":"Drag and drop files here","empty.upload":"Upload files","empty.search.title":"No files match your search","empty.search.hint":"Try a different search term","empty.trash.title":"Trash is empty","error.title":"Could not load this folder","error.retry":"Try again","toast.undo":"Undo","toast.undone":"Undone","toast.undo_failed":"Could not undo","toast.renamed":"Renamed","toast.moved":"Moved","toast.trashed":"Moved to trash","conn.offline":"No live connection — changes may be delayed","conn.tooltip":"Live connection to the server is unavailable; the list refreshes periodically. This notice disappears once the connection is back.","palette.everywhere":"Everywhere","palette.searching":"Searching…","palette.saved":"Saved searches","palette.save":"Save search","palette.saved.delete":"Delete saved search","search.in_content":"In content","toolbar.more":"More actions","toolbar.search.close":"Close search","sheet.menu":"Actions","sheet.close":"Close","toolbar.inspector":"Details","ctx.details":"Details","shortcuts.inspector":"Toggle details panel","inspector.title":"Details","inspector.close":"Close","inspector.section.general":"General","inspector.section.versions":"Versions","inspector.section.permissions":"Permissions","inspector.section.shares":"Shares","inspector.path":"Path","inspector.size":"Size","inspector.modified":"Modified","inspector.mime":"MIME type","inspector.etag":"ETag","inspector.copy":"Copy","inspector.copied":"Copied","inspector.error":"Could not load","inspector.items_summary":"{n} items, {size} total","inspector.folder_items":"{n} items","inspector.versions.empty":"No version history","inspector.versions.v":"Version {n}","inspector.versions.restore":"Restore","inspector.versions.restore_confirm":"Restore this version?","inspector.versions.snapshot_current":"Snapshot the current state first","inspector.versions.confirm":"Confirm","inspector.versions.cancel":"Cancel","inspector.versions.take_snapshot":"Snapshot current state","inspector.versions.restored":"Version restored","inspector.versions.snapshotted":"Snapshot taken","inspector.versions.unsupported":"The server does not support this operation","inspector.perm.none":"No access","inspector.perm.viewer":"Viewer","inspector.perm.editor":"Editor","inspector.perm.owner":"Owner","inspector.perm.manage":"Manage permissions","inspector.shares.empty":"No share links","inspector.shares.copy":"Copy link","theme.menu":"Theme","theme.title":"Theme Gallery","theme.hint":"Themes only change the color palette; light/dark mode still applies separately.","theme.reset":"Reset to default","theme.close":"Close","theme.selected":"Selected","theme.name.default":"Default","theme.name.night":"Night Blue","theme.name.forest":"Forest","theme.name.amber":"Amber","theme.name.lilac":"Lilac","theme.name.contrast":"High Contrast","theme.name.gray":"Soft Gray","theme.name.terminal":"Terminal Green","shortcuts.quicklook":"Quick look","shortcuts.customize":"Customize","shortcuts.settings.menu":"Shortcuts","shortcuts.settings.title":"Shortcut Settings","shortcuts.settings.hint":'To remap a shortcut, press "Change" and then the new key combination. Changes are stored in this browser only.',"shortcuts.settings.change":"Change","shortcuts.settings.capture":"Press keys… (Esc cancels)","shortcuts.settings.reset":"Reset to default","shortcuts.settings.reset_all":"Reset all","shortcuts.settings.unbound":"Not set","shortcuts.settings.fixed":"Fixed","shortcuts.settings.customized":"Customized","shortcuts.settings.conflict":'is already used by "{name}".',"shortcuts.settings.conflict_fixed":'is reserved by the fixed shortcut "{name}" — it cannot be used.',"shortcuts.settings.conflict_take":"Unassign old and use here","shortcuts.settings.conflict_cancel":"Cancel","quicklook.hint_close":"close","quicklook.hint_nav":"previous/next","quicklook.hint_open":"open","opc.title":"Operations","opc.aria_badge":"{n} operations — toggle operations center","opc.close":"Close","opc.active":"In progress","opc.history":"History","opc.clear":"Clear","opc.empty":"No operations","opc.cancel":"Cancel","opc.retry":"Retry","opc.dismiss":"Dismiss","opc.queued":"Queued","opc.percent":"{n}%","opc.status.running":"In progress","opc.status.done":"Done","opc.status.error":"Failed","opc.status.aborted":"Cancelled","opc.kind.upload":"Upload","opc.kind.copy":"Copy","opc.kind.move":"Move","opc.kind.delete":"Delete","opc.kind.convert":"Convert","opc.kind.archive":"Archive","tour.aria":"Onboarding tour","tour.restart":"Restart the tour","tour.skip":"Skip tour","tour.back":"Back","tour.next":"Next","tour.done":"Done","tour.progress":"{n} / {m}","tour.step.nav.title":"Storages & folders","tour.step.nav.desc":"Your current location lives here. Click any crumb to jump back to parent folders or the storage root.","tour.step.upload.title":"Upload files","tour.step.upload.desc":"Pick files with this button — or simply drag & drop them anywhere in the window.","tour.step.search.title":"Search","tour.step.search.desc":"This box filters the current folder. The Ctrl+K command palette searches across all storages and runs commands.","tour.step.view.title":"Switch views","tour.step.view.desc":"Toggle between the list and grid layout; your choice is remembered.","tour.step.share.title":"Sharing","tour.step.share.desc":'Right-click any file and use "Share / Permissions" to create a link with an optional PIN and expiry.',"tour.step.help.title":"Shortcuts","tour.step.help.desc":'Press ? for the shortcut cheat-sheet and Ctrl+K for the command palette. Replay this tour any time via "Restart the tour" in the menu.',"error.hint":"This may be a temporary network or server problem. Please try again.","error.details":"Technical details","col.star":"Star","toolbar.view_label":"View","list.aria":"File list","grid.aria":"File grid","tabs.strip":"Tabs","tabs.new":"New tab","tabs.close":"Close tab","tabs.split":"Split view","tabs.split_off":"Close split","ctx.open_new_tab":"Open in new tab","shortcuts.group.tabs":"Tabs","shortcuts.tab_new":"New tab","shortcuts.tab_close":"Close tab","shortcuts.tab_next":"Next tab","shortcuts.tab_prev":"Previous tab","cmd.tab_new":"Open a new tab","cmd.split_toggle":"Toggle split view","split.pane":"Secondary pane","split.close":"Close the side pane","split.error":"Could not load the listing","split.retry":"Retry","split.copy_queued":"Copy queued","split.cross_copy":"Different storages — copy queued instead","split.cross_failed":"Cross-storage copy is not supported by this server","toolbar.view.gallery":"Gallery","gallery.aria":"File gallery","inspector.section.comments":"Comments","inspector.comments.empty":"No comments yet.","inspector.comments.placeholder":"Write a comment…","inspector.comments.send":"Send","inspector.comments.delete":"Delete comment","e2e.create.title":"Create encrypted folder","e2e.create.option":"Create encrypted folder…","e2e.create.pw_placeholder":"Folder password (min 8 characters)","e2e.create.pw2_placeholder":"Repeat the password","e2e.create.warn_title":"NO WAY BACK","e2e.create.warn_body":"Files open ONLY with this password. The password is NEVER stored on the server; if you forget it the content is lost forever. There is no recovery — not even an admin can open it.","e2e.create.ack":"I understand: if I lose the password my data cannot be recovered.","e2e.create.ack_required":"Please confirm the warning to continue.","e2e.create.pw_short":"Password must be at least 8 characters.","e2e.create.pw_mismatch":"Passwords do not match.","e2e.create.bad_name":"Invalid folder name.","e2e.create.create":"Create encrypted folder","e2e.create.busy":"Creating…","e2e.create.done":"Encrypted folder created","e2e.create.failed":"Could not create the encrypted folder","e2e.create.nested":"You cannot create an encrypted folder inside another one.","e2e.locked.title":"This folder is end-to-end encrypted","e2e.locked.hint":"Enter the folder password to see its contents. The password stays in this tab’s memory only.","e2e.locked.pw_placeholder":"Folder password","e2e.locked.unlock":"Unlock","e2e.locked.busy":"Verifying…","e2e.unlock.wrong":"Wrong password.","e2e.unlock.marker_missing":"Could not read the key file (.filex-e2e.json).","e2e.strip.label":"Encrypted folder — unlocked","e2e.strip.lock":"Lock","e2e.locked_toast":"Folder locked","e2e.upload.too_big":"Files over 200 MB cannot be uploaded to an encrypted folder (MVP limit)","e2e.upload.locked":"Unlock the folder first","e2e.decrypting":"Decrypting…","e2e.decrypt_failed":"Could not decrypt the file (password changed or file corrupted).","e2e.download.failed":"Could not download the encrypted file."},Gs={tr:ru,en:au};function Gt(e){const t=r.computed(()=>{const o=typeof e=="function"?e():e.value;return Gs[o]??Gs.tr});function n(o,s={}){const l=t.value[o]??o;return Object.entries(s).reduce((c,[d,u])=>c.replaceAll(`{${d}}`,String(u)),l)}function a(o){if(o==null||o<0)return"—";if(o===0)return`0 ${n("unit.bytes")}`;const s=[[1024**4,"unit.tb"],[1024**3,"unit.gb"],[1024**2,"unit.mb"],[1024,"unit.kb"],[1,"unit.bytes"]];for(const[l,c]of s)if(o>=l){const d=o/l;return`${d>=100?Math.round(d):d.toFixed(d>=10?1:2)} ${n(c)}`}return`${o} ${n("unit.bytes")}`}function i(o){if(o.basename===".trash")return n("node.trash");const s=o.basename.match(/^\d{8}-\d{6}-[A-Za-z0-9]+__(.+)$/);return s?s[1]:o.basename}return{t:n,formatSize:a,nodeDisplayName:i}}const bg=2e3,_g=8e3;function iu(e){const t=(...l)=>{for(const c of l)if(typeof c=="number")return c;return 0},n=(...l)=>{for(const c of l)if(typeof c=="string"&&c!=="")return c;return null},a=String(e.status??"pending"),i=a==="ok"||a==="done"?"done":a==="failed"||a==="partial"||a==="error"?"error":a==="running"?"running":"pending",o=Array.isArray(e.sources)?e.sources:[],s=n(e.op_type,e.kind)??"delete";return{id:t(e.id),op_type:s==="copy"||s==="move"?s:"delete",status:i,progress_total:t(e.progress_total,e.total,o.length),progress_done:t(e.progress_done,e.done),target_path:n(e.target_path,e.dest),source_dir:n(e.source_dir),source_count:t(e.source_count,o.length),error_message:n(e.error_message,e.error),started_at:n(e.started_at),finished_at:n(e.finished_at),created_at:n(e.created_at)}}function ou(e,t,n={}){const a=r.ref([]),i=new Set,o=new Map;let s=!1;const l=r.computed(()=>a.value.some(k=>k.status==="pending"||k.status==="running"));let c;function d(){c||t.endpoints.opsList&&(c=setInterval(()=>{h()},bg),h())}function u(){c&&(clearInterval(c),c=void 0)}async function h(){var k;if(t.endpoints.opsList)try{const b=((await t.jsonFetch(t.endpoints.opsList)).ops||[]).map(iu);for(const x of b)(x.status==="done"||x.status==="error")&&!i.has(x.id)&&(i.add(x.id),o.set(x.id,Date.now()),s&&((k=n.onSettled)==null||k.call(n,x)));const m=new Set(a.value.map(x=>x.id)),g=b.filter(x=>x.status==="pending"||x.status==="running"?!0:s?m.has(x.id):!1),_=new Set(g.map(x=>x.id)),y=a.value.filter(x=>!_.has(x.id)),E=[...g,...y];s=!0;const M=Date.now(),D=E.filter(x=>{if(x.status==="pending"||x.status==="running")return!0;const w=o.get(x.id);return w!==void 0&&M-w<_g});a.value=D,!l.value&&D.length===0&&u()}catch(v){console.warn("[usePendingOps] poll failed:",v)}}function f(k){const v=iu(k);a.value.some(m=>m.id===v.id)||(a.value=[v,...a.value]),d()}function p(k){a.value=a.value.filter(v=>v.id!==k),o.delete(k)}return r.onBeforeUnmount(()=>{u()}),{ops:a,hasActive:l,register:f,dismiss:p,poll:h,startPolling:d,stopPolling:u}}const kg=25e3,wg=15e3,xg=6;class Sg{constructor(t){kr(this,"ws",null);kr(this,"opts");kr(this,"closed",!1);kr(this,"connecting",!1);kr(this,"retries",0);kr(this,"fallback",!1);kr(this,"pingTimer",null);kr(this,"reconnectTimer",null);kr(this,"currentPath",null);kr(this,"currentFocus",null);this.opts=t,this.connect()}subscribe(t){this.currentPath=t,this.currentFocus=null,t&&this.send({type:"subscribe",path:t})}setFocus(t){this.currentFocus=t,this.send({type:"focus",file:t})}close(){this.closed=!0,this.clearTimers(),this.dropSocket()}async connect(){if(this.closed||this.connecting||this.ws)return;this.connecting=!0;let t=null;try{t=await this.opts.getTicket()}catch{t=null}if(this.connecting=!1,this.closed)return;if(!t||!t.ticket||!t.ws_url){this.fail();return}const n=t.ws_url.includes("?")?"&":"?";let a;try{a=new WebSocket(`${t.ws_url}${n}ticket=${encodeURIComponent(t.ticket)}`)}catch{this.fail();return}this.ws=a,a.onopen=()=>{var i,o;this.retries=0,this.setFallback(!1),(o=(i=this.opts.handlers).onStatus)==null||o.call(i,!0),this.currentPath&&this.send({type:"subscribe",path:this.currentPath}),this.currentFocus!==null&&this.send({type:"focus",file:this.currentFocus}),this.startPing()},a.onmessage=i=>{var l,c,d,u;let o;try{o=JSON.parse(typeof i.data=="string"?i.data:"")}catch{return}const s=o;(s==null?void 0:s.type)==="change"?(c=(l=this.opts.handlers).onChange)==null||c.call(l,o):(s==null?void 0:s.type)==="presence"&&((u=(d=this.opts.handlers).onPresence)==null||u.call(d,o))},a.onerror=()=>{},a.onclose=()=>{var i,o;this.stopPing(),this.ws=null,(o=(i=this.opts.handlers).onStatus)==null||o.call(i,!1),this.fail()}}fail(){if(this.closed||this.reconnectTimer)return;if(this.retries>=xg){this.setFallback(!0);return}const t=Math.min(1e3*2**this.retries,wg);this.retries+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},t)}setFallback(t){var n,a;this.fallback!==t&&(this.fallback=t,(a=(n=this.opts.handlers).onFallback)==null||a.call(n,t))}send(t){const n=this.ws;if(!(!n||n.readyState!==WebSocket.OPEN))try{n.send(JSON.stringify(t))}catch{}}startPing(){this.stopPing(),this.pingTimer=setInterval(()=>this.send({type:"ping"}),kg)}stopPing(){this.pingTimer&&(clearInterval(this.pingTimer),this.pingTimer=null)}dropSocket(){if(this.ws){try{this.ws.onclose=null,this.ws.close()}catch{}this.ws=null}}clearTimers(){this.stopPing(),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}}const Eg=200,Cg=12e3;function Bg(e,t){const n=r.ref([]),a=r.ref(!1),i=r.ref(!1);let o=null,s=null,l=null,c=null;function d(){l&&clearTimeout(l),l=setTimeout(()=>{l=null,t.reload()},Eg)}function u(b){s&&b.path&&b.path!==s||(n.value=Array.isArray(b.users)?b.users:[])}function h(b){i.value=b,b?(n.value=[],c||(c=setInterval(()=>t.reload(),Cg))):c&&(clearInterval(c),c=null)}function f(){o||(o=new Sg({getTicket:()=>e.wsTicket(),handlers:{onChange:d,onPresence:u,onFallback:h,onStatus:b=>{a.value=b}}}))}function p(b){n.value=[],s=b,o==null||o.subscribe(b)}function k(b){o==null||o.setFocus(b)}function v(){l&&(clearTimeout(l),l=null),c&&(clearInterval(c),c=null),o==null||o.close(),o=null,i.value=!1}return{presenceUsers:n,connected:a,degraded:i,start:f,subscribe:p,setFocus:k,stop:v}}const Dg=500;function Tg(e,t){const n=r.ref({}),a=[],i=new Set,o=new Set;function s(d){if(/^https?:\/\//i.test(d))return d;const u=(e||"").replace(/\/+$/,"");return u&&d.startsWith("/")?u+d:d}function l(d){const u=d.thumb_url;if(!u)return null;const h=n.value[u];return h||(!i.has(u)&&!o.has(u)&&c(u),null)}async function c(d){o.add(d);try{const u=await fetch(s(d),{headers:await t.authHeaders({Accept:"*/*"}),credentials:t.credentialsMode()});if(!u.ok)throw new Error(String(u.status));const h=await u.blob();if(a.length>=Dg){const f=a.shift();if(f&&n.value[f]){URL.revokeObjectURL(n.value[f]);const p={...n.value};delete p[f],n.value=p}}a.push(d),n.value={...n.value,[d]:URL.createObjectURL(h)}}catch{i.add(d)}finally{o.delete(d)}}return{src:l}}let jo=null,qo=null,Ko=null,Wo=null;function ji(){jo||(jo=import("monaco-editor").then(e=>(Ko=e.default??e,Ko)).catch(()=>(Ko=null,null))),qo||(qo=import("highlight.js").then(e=>(Wo=e.default??e,Wo)).catch(()=>(Wo=null,null)))}async function Yo(){return jo||ji(),jo}async function Xo(){return qo||ji(),qo}function js(){return Ko}function lu(){return Wo}function Ag(){return ji(),{ensureMonaco:Yo,ensureHighlight:Xo,getMonaco:js,getHighlight:lu}}const Mg={key:0,class:"fx-presence-chips"},Ng=["title"],Ig={key:0,class:"fx-presence-dot","aria-hidden":"true"},zg={class:"fx-presence-chip-name"},Fg={key:0,class:"fx-presence-chip-file"},Lg=["title"],Og=["title"],Pg={key:0,class:"fx-presence-dot","aria-hidden":"true"},Rg={key:0,class:"fx-presence-more"},Vg=["title"],$g={class:"fx-presence-file"},Ug=["title","aria-expanded"],su="filex.presence.expanded",Hg=r.defineComponent({__name:"PresenceBar",props:{users:{},selfId:{},locale:{}},setup(e){const t=e,{t:n}=Gt(()=>t.locale??"tr"),a=r.computed(()=>(t.users??[]).filter(u=>t.selfId==null||u.id!==t.selfId)),i=r.ref((()=>{try{return localStorage.getItem(su)==="1"}catch{return!1}})());function o(){i.value=!i.value;try{localStorage.setItem(su,i.value?"1":"0")}catch{}}function s(u){return u.uid??String(u.id)}function l(u){const h=u.trim().split(/\s+/).filter(Boolean);return h.length===0?"?":h.length===1?h[0].slice(0,2).toUpperCase():(h[0][0]+h[h.length-1][0]).toUpperCase()}function c(u){const h=s(u);let f=0;for(let p=0;p<h.length;p++)f=f*31+h.charCodeAt(p)>>>0;return f%360}function d(u){return u.file?`${u.name} · ${u.file}`:u.name}return(u,h)=>a.value.length?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fx-presence",{"fx-presence--wide":i.value}])},[i.value?(r.openBlock(),r.createElementBlock("div",Mg,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,f=>(r.openBlock(),r.createElementBlock("span",{key:s(f),class:"fx-presence-chip",title:d(f)},[r.createElementVNode("span",{class:"fx-presence-avatar",style:r.normalizeStyle({backgroundColor:`hsl(${c(f)} 60% 45%)`})},[r.createTextVNode(r.toDisplayString(l(f.name))+" ",1),f.file?(r.openBlock(),r.createElementBlock("span",Ig)):r.createCommentVNode("",!0)],4),r.createElementVNode("span",zg,r.toDisplayString(f.name),1),f.file?(r.openBlock(),r.createElementBlock("span",Fg,"· "+r.toDisplayString(f.file),1)):r.createCommentVNode("",!0)],8,Ng))),128))])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createElementVNode("div",{class:"fx-presence-avatars",title:a.value.map(d).join(", ")},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value.slice(0,5),f=>(r.openBlock(),r.createElementBlock("span",{key:s(f),class:"fx-presence-avatar",style:r.normalizeStyle({backgroundColor:`hsl(${c(f)} 60% 45%)`}),title:d(f)},[r.createTextVNode(r.toDisplayString(l(f.name))+" ",1),f.file?(r.openBlock(),r.createElementBlock("span",Pg)):r.createCommentVNode("",!0)],12,Og))),128)),a.value.length>5?(r.openBlock(),r.createElementBlock("span",Rg,"+"+r.toDisplayString(a.value.length-5),1)):r.createCommentVNode("",!0)],8,Lg),r.createElementVNode("span",{class:"fx-presence-text",title:a.value.map(d).join(", ")},[r.createTextVNode(r.toDisplayString(a.value.length===1?a.value[0].name:`${a.value.length} kişi`)+" ",1),a.value.length===1&&a.value[0].file?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[h[0]||(h[0]=r.createTextVNode(" · ",-1)),r.createElementVNode("span",$g,r.toDisplayString(a.value[0].file),1)],64)):r.createCommentVNode("",!0)],8,Vg)],64)),r.createElementVNode("button",{type:"button",class:"fx-presence-toggle",title:i.value?r.unref(n)("presence.collapse"):r.unref(n)("presence.expand"),"aria-expanded":i.value,onClick:o},r.toDisplayString(i.value?"‹":"›"),9,Ug)],2)):r.createCommentVNode("",!0)}}),xn=(e,t)=>{const n=e.__vccOpts||e;for(const[a,i]of t)n[a]=i;return n},Gg=xn(Hg,[["__scopeId","data-v-f9ddf216"]]),jg=["data-prefers-dark"],qg=["aria-label"],Kg=["aria-label","onKeydown"],Wg={class:"fe-sheet__items"},Yg={key:0,class:"fe-ctx__sep",role:"separator"},Xg=["disabled","onClick"],Zg={key:0,class:"fe-ctx__icon","aria-hidden":"true"},Jg={class:"fe-ctx__label"},Qg=["aria-label"],ev={key:0,class:"fe-ctx__sep",role:"separator"},tv=["disabled","onClick"],nv={key:0,class:"fe-ctx__icon","aria-hidden":"true"},rv={class:"fe-ctx__label"},qs=r.defineComponent({__name:"ContextMenu",props:{locale:{},actions:{},theme:{},sheet:{type:Boolean}},emits:["select"],setup(e,{expose:t,emit:n}){const a=e,i=n,{t:o}=Gt(()=>a.locale),s=r.ref(!1),l=r.ref(0),c=r.ref(0),d=r.ref([]),u=r.ref(null);let h=0,f=0,p=null;async function k($,V){var z;if(p=document.activeElement??null,s.value=!0,l.value=$.clientX,c.value=$.clientY,h=$.clientX,f=$.clientY,d.value=V,await r.nextTick(),a.sheet){(z=y.value)==null||z.focus();return}v(),g(0)}function v(){const $=u.value;if(!$||typeof window>"u")return;const V=$.getBoundingClientRect(),z=8,U=window.innerWidth,H=window.innerHeight;if(f+V.height>H-z){const de=f-V.height;c.value=de>=z?de:Math.max(z,H-V.height-z)}if(h+V.width>U-z){const de=h-V.width;l.value=de>=z?de:Math.max(z,U-V.width-z)}}function b(){var $;s.value=!1,E.value=!1,M.value=0,($=p==null?void 0:p.focus)==null||$.call(p),p=null}function m(){const $=a.sheet?y.value:u.value;return $?Array.from($.querySelectorAll(".fe-ctx__item:not(:disabled)")):[]}function g($){var U;const V=m();if(V.length===0)return;const z=($%V.length+V.length)%V.length;(U=V[z])==null||U.focus()}function _($){const V=m();if(V.length===0)return;const z=document.activeElement,U=z?V.indexOf(z):-1;if(U===-1){g($>0?0:V.length-1);return}g(U+$)}const y=r.ref(null),E=r.ref(!1),M=r.ref(0);let D=0;function x($){const V=$.touches[0];V&&(E.value=!0,D=V.clientY,M.value=0)}function w($){if(!E.value)return;const V=$.touches[0];V&&(M.value=Math.max(0,V.clientY-D))}function B(){if(!E.value)return;const $=M.value>72;E.value=!1,$?b():M.value=0}const N=r.computed(()=>M.value>0?{transform:`translateY(${M.value}px)`,transition:"none"}:void 0);function G($){$.disabled||(i("select",$,d.value),b())}function F($){if($.key==="Escape"){$.stopPropagation(),b();return}if($.key==="Enter"||$.key===" "){$.stopPropagation();return}$.key==="ArrowDown"?($.preventDefault(),$.stopPropagation(),_(1)):$.key==="ArrowUp"?($.preventDefault(),$.stopPropagation(),_(-1)):$.key==="Home"?($.preventDefault(),g(0)):$.key==="End"?($.preventDefault(),g(-1)):$.key==="Tab"&&($.preventDefault(),b())}const q=r.computed(()=>{const $=a.actions.filter(z=>!z.hidden),V=[];for(const z of $)z.divider&&(V.length===0||V[V.length-1].divider)||V.push(z);for(;V.length>0&&V[V.length-1].divider;)V.pop();return V}),Y=r.ref(!1);let K;function Q($){Y.value=!!($&&"matches"in $&&$.matches)}r.onMounted(()=>{var $;typeof window>"u"||(K=window.matchMedia("(prefers-color-scheme: dark)"),Q(K),($=K.addEventListener)==null||$.call(K,"change",Q))}),r.onBeforeUnmount(()=>{var $;($=K==null?void 0:K.removeEventListener)==null||$.call(K,"change",Q)});const re=r.computed(()=>`fe-ctx-backdrop--theme-${a.theme||"auto"}`);return t({show:k,hide:b}),($,V)=>(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[r.createVNode(r.Transition,{name:e.sheet?"fe-sheet":"fe-ctx"},{default:r.withCtx(()=>[s.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe-ctx-backdrop",[re.value,{"fe-ctx-backdrop--sheet":e.sheet}]]),"data-prefers-dark":Y.value?"1":"0",onClick:b,onContextmenu:r.withModifiers(b,["prevent"]),onKeydown:F},[e.sheet?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"sheetEl",ref:y,class:"fe-sheet",role:"menu","aria-label":r.unref(o)("sheet.menu"),tabindex:"-1",style:r.normalizeStyle(N.value),onClick:V[0]||(V[0]=r.withModifiers(()=>{},["stop"]))},[r.createElementVNode("div",{class:"fe-sheet__handle",role:"button",tabindex:"0","aria-label":r.unref(o)("sheet.close"),onClick:b,onKeydown:r.withKeys(r.withModifiers(b,["prevent"]),["enter"]),onTouchstartPassive:x,onTouchmovePassive:w,onTouchend:B,onTouchcancel:B},null,40,Kg),r.createElementVNode("div",Wg,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(q.value,(z,U)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:z.key||U},[z.divider?(r.openBlock(),r.createElementBlock("div",Yg)):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:r.normalizeClass(["fe-ctx__item fe-sheet__item",{"is-danger":z.danger,"is-disabled":z.disabled}]),disabled:z.disabled,role:"menuitem",onClick:H=>G(z)},[z.icon?(r.openBlock(),r.createElementBlock("span",Zg,r.toDisplayString(z.icon),1)):r.createCommentVNode("",!0),r.createElementVNode("span",Jg,r.toDisplayString(z.label),1)],10,Xg))],64))),128))])],12,qg)):(r.openBlock(),r.createElementBlock("div",{key:1,ref_key:"menuEl",ref:u,class:"fe-ctx",role:"menu","aria-orientation":"vertical","aria-label":r.unref(o)("sheet.menu"),style:r.normalizeStyle({top:c.value+"px",left:l.value+"px"}),onClick:V[1]||(V[1]=r.withModifiers(()=>{},["stop"]))},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(q.value,(z,U)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:z.key||U},[z.divider?(r.openBlock(),r.createElementBlock("div",ev)):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:r.normalizeClass(["fe-ctx__item",{"is-danger":z.danger,"is-disabled":z.disabled}]),disabled:z.disabled,role:"menuitem",onClick:H=>G(z)},[z.icon?(r.openBlock(),r.createElementBlock("span",nv,r.toDisplayString(z.icon),1)):r.createCommentVNode("",!0),r.createElementVNode("span",rv,r.toDisplayString(z.label),1)],10,tv))],64))),128))],12,Qg))],42,jg)):r.createCommentVNode("",!0)]),_:1},8,["name"])]))}}),av=["title","aria-label"],iv=["title"],ov={class:"fe-btn__label"},lv=["disabled","title","onClick"],sv={class:"fe-icon"},cv={class:"fe-btn__label"},dv=["title","aria-label"],uv={class:"fe-icon"},fv={class:"fe-btn__label"},hv=["title"],pv={class:"fe-btn__label"},mv={class:"fe-toolbar__search-group"},gv={class:"fe-search"},vv=["placeholder","value","aria-label"],yv=["title","aria-label"],bv=["title","aria-label"],_v=["aria-pressed","aria-label","title"],kv={key:0,class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","aria-hidden":"true",focusable:"false"},wv={key:1,class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","aria-hidden":"true",focusable:"false"},xv=["aria-pressed","title","aria-label"],Sv=["title","aria-label"],Ev=["aria-label"],Cv=["aria-selected","title","aria-label"],Bv=["aria-selected","title","aria-label"],Dv=["aria-selected","title","aria-label"],Tv={class:"fe-search fe-search--full"},Av=["placeholder","value","aria-label","onKeydown"],Mv=["title","aria-label"],Nv=["title","aria-label"],Iv=["title","aria-label"],zv=["title","aria-label"],Fv=["title","aria-label"],cu="filex.density",Lv=40,Ov=r.defineComponent({__name:"Toolbar",props:{viewMode:{},searchQuery:{},trashActive:{type:Boolean},actions:{},selectionMode:{},pasteEnabled:{type:Boolean},convertEnabled:{type:Boolean},canGoUp:{type:Boolean},atVirtualRoot:{type:Boolean},canWrite:{type:Boolean},locale:{},narrow:{type:Boolean},theme:{},inspectorOpen:{type:Boolean}},emits:["update:viewMode","update:searchQuery","new-folder","upload","refresh","go-up","action","open-recents","update:density","toggle-inspector","open-theme","open-shortcut-settings"],setup(e,{expose:t,emit:n}){const a=e,i=n,o=r.ref((()=>{try{return localStorage.getItem(cu)==="compact"?"compact":"comfortable"}catch{return"comfortable"}})());r.onMounted(()=>i("update:density",o.value));function s(){o.value=o.value==="compact"?"comfortable":"compact";try{localStorage.setItem(cu,o.value)}catch{}i("update:density",o.value)}const{t:l}=Gt(()=>a.locale),c=r.ref(null),d=r.ref(a.searchQuery);r.watch(()=>a.searchQuery,z=>{d.value=z});let u;function h(z){const U=z.target.value;d.value=U,u&&clearTimeout(u),u=setTimeout(()=>i("update:searchQuery",U),200)}async function f(){var z,U;a.narrow&&!B.value&&(B.value=!0,await r.nextTick()),(z=c.value)==null||z.focus(),(U=c.value)==null||U.select()}t({focusSearch:f});const p=r.computed(()=>a.selectionMode??"none"),k=r.computed(()=>a.actions.filter(z=>!z.divider&&!z.hidden)),v=r.ref(null),b=r.ref(null),m=r.ref(null),g=r.ref(null),_=r.ref(Number.MAX_SAFE_INTEGER),y=r.computed(()=>k.value.slice(0,_.value)),E=r.computed(()=>k.value.slice(_.value));function M(){if(a.narrow)return;const z=v.value,U=b.value;if(!z||!U){_.value=k.value.length;return}const H=parseFloat(getComputedStyle(z).gap)||8;let de=0;for(const me of Array.from(z.children))me===U||me===m.value||me.classList.contains("fe-btn--fold")||me.offsetWidth>0&&(de+=me.offsetWidth+H);const he=Array.from(U.children).map(me=>me.offsetWidth+H),ve=he.reduce((me,we)=>me+we,0),xe=z.clientWidth-de;if(ve<=xe){_.value=he.length;return}let ie=Lv+H,ge=0;for(const me of he){if(ie+me>xe)break;ie+=me,ge+=1}_.value=ge}let D;r.onMounted(()=>{typeof ResizeObserver<"u"&&v.value&&(D=new ResizeObserver(()=>M()),D.observe(v.value)),r.nextTick(M)}),r.onBeforeUnmount(()=>D==null?void 0:D.disconnect()),r.watch(()=>[k.value,a.narrow,a.trashActive,p.value],()=>void r.nextTick(M),{deep:!1});function x(){var U,H;const z=(U=m.value)==null?void 0:U.getBoundingClientRect();(H=g.value)==null||H.show({clientX:z?z.right:0,clientY:z?z.bottom+4:0},[])}function w(z){i("action",z)}const B=r.ref(!1);r.watch(()=>a.narrow,z=>{z||(B.value=!1)});async function N(){var z;B.value=!0,await r.nextTick(),(z=c.value)==null||z.focus()}function G(){B.value=!1}const F=r.ref(!1);let q;function Y(z){F.value=!!(z&&"matches"in z&&z.matches)}r.onMounted(()=>{var z;typeof window>"u"||!window.matchMedia||(q=window.matchMedia("(pointer: coarse)"),Y(q),(z=q.addEventListener)==null||z.call(q,"change",Y))}),r.onBeforeUnmount(()=>{var z;(z=q==null?void 0:q.removeEventListener)==null||z.call(q,"change",Y)});const K=r.ref(null),Q=r.ref(null),re=r.computed(()=>{const z=[],U=!a.trashActive&&!a.atVirtualRoot&&a.canWrite!==!1;return p.value==="none"&&U&&(z.push({key:"new-folder",label:l("toolbar.new_folder"),icon:"📁"}),a.pasteEnabled&&z.push({key:"paste",label:l("ctx.paste"),icon:"📋"})),z.push(...k.value),z.length&&z.push({divider:!0,key:"bag-sep",label:""}),z.push({key:"refresh",label:l("toolbar.refresh"),icon:"↻"}),z.push({key:"density",label:o.value==="compact"?l("toolbar.density.comfortable"):l("toolbar.density.compact"),icon:"⇅"}),a.viewMode!=="list"&&z.push({key:"view-list",label:l("toolbar.view.list"),icon:"☰"}),a.viewMode!=="grid"&&z.push({key:"view-grid",label:l("toolbar.view.grid"),icon:"▦"}),a.viewMode!=="gallery"&&z.push({key:"view-gallery",label:l("toolbar.view.gallery"),icon:"▣"}),z.push({key:"inspector",label:l("toolbar.inspector"),icon:"ℹ"}),z.push({key:"theme",label:l("theme.menu"),icon:"🎨"}),z.push({key:"shortcut-settings",label:l("shortcuts.settings.menu"),icon:"⌨"}),z.push({key:"tour",label:l("tour.restart"),icon:"🎓"}),z});function $(){var U,H;const z=(U=K.value)==null?void 0:U.getBoundingClientRect();(H=Q.value)==null||H.show({clientX:z?z.right:0,clientY:z?z.bottom+4:0},[])}function V(z){var U;switch(z.key){case"new-folder":i("new-folder");break;case"refresh":i("refresh");break;case"density":s();break;case"view-list":i("update:viewMode","list");break;case"view-grid":i("update:viewMode","grid");break;case"view-gallery":i("update:viewMode","gallery");break;case"inspector":i("toggle-inspector");break;case"theme":i("open-theme");break;case"shortcut-settings":i("open-shortcut-settings");break;case"tour":(U=K.value)==null||U.dispatchEvent(new CustomEvent("fe:tour-restart",{bubbles:!0}));break;default:w(z.key)}}return(z,U)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["fe-toolbar",{"fe-toolbar--narrow":e.narrow,"fe-toolbar--searching":e.narrow&&B.value}])},[e.narrow?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[B.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("div",Tv,[r.createElementVNode("input",{ref_key:"searchEl",ref:c,type:"search",class:"fe-search__input",placeholder:r.unref(l)("toolbar.search.placeholder"),value:d.value,"aria-label":r.unref(l)("toolbar.search"),onInput:h,onKeydown:r.withKeys(r.withModifiers(G,["stop","prevent"]),["esc"])},null,40,Av)]),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.search.close"),"aria-label":r.unref(l)("toolbar.search.close"),onClick:G},[...U[27]||(U[27]=[r.createElementVNode("span",{class:"fe-icon"},"✕",-1)])],8,Mv)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[e.canGoUp?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.go_up"),"aria-label":r.unref(l)("toolbar.go_up"),onClick:U[10]||(U[10]=H=>i("go-up"))},[...U[28]||(U[28]=[r.createElementVNode("span",{class:"fe-icon"},"↑",-1)])],8,Nv)):r.createCommentVNode("",!0),U[32]||(U[32]=r.createElementVNode("div",{class:"fe-toolbar__spacer"},null,-1)),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only fe-toolbar__search-toggle",{"is-active":!!d.value}]),title:r.unref(l)("toolbar.search"),"aria-label":r.unref(l)("toolbar.search"),onClick:N},[...U[29]||(U[29]=[r.createElementVNode("span",{class:"fe-icon"},"🔍",-1)])],10,Iv),!e.atVirtualRoot&&e.canWrite!==!1?(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.upload"),"aria-label":r.unref(l)("toolbar.upload"),onClick:U[11]||(U[11]=H=>i("upload"))},[...U[30]||(U[30]=[r.createElementVNode("span",{class:"fe-icon"},"⬆",-1)])],8,zv)):r.createCommentVNode("",!0),r.createElementVNode("button",{ref_key:"moreBtnEl",ref:K,type:"button",class:"fe-btn fe-btn--icon-only fe-toolbar__more",title:r.unref(l)("toolbar.more"),"aria-label":r.unref(l)("toolbar.more"),"aria-haspopup":"menu",onClick:$},[...U[31]||(U[31]=[r.createElementVNode("span",{class:"fe-icon"},"⋯",-1)])],8,Fv)],64)),r.createVNode(qs,{ref_key:"moreRef",ref:Q,locale:e.locale,theme:e.theme||"auto",sheet:F.value,actions:re.value,onSelect:V},null,8,["locale","theme","sheet","actions"])],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("div",{ref_key:"primaryEl",ref:v,class:"fe-toolbar__primary"},[e.canGoUp?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.go_up"),"aria-label":r.unref(l)("toolbar.go_up"),onClick:U[0]||(U[0]=H=>i("go-up"))},[...U[13]||(U[13]=[r.createElementVNode("span",{class:"fe-icon"},"↑",-1)])],8,av)):r.createCommentVNode("",!0),p.value==="none"&&!e.trashActive&&!e.atVirtualRoot&&e.canWrite!==!1?(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-btn fe-btn--primary",title:r.unref(l)("toolbar.new_folder"),onClick:U[1]||(U[1]=H=>i("new-folder"))},[U[14]||(U[14]=r.createElementVNode("span",{class:"fe-icon"},"📁",-1)),r.createElementVNode("span",ov,r.toDisplayString(r.unref(l)("toolbar.new_folder")),1)],8,iv)):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(y.value,H=>(r.openBlock(),r.createElementBlock("button",{key:H.key,type:"button",class:r.normalizeClass(["fe-btn fe-btn--fold",{"fe-btn--danger":H.danger,"is-disabled":H.disabled}]),disabled:H.disabled,title:H.label,onClick:de=>w(H.key)},[r.createElementVNode("span",sv,r.toDisplayString(H.icon),1),r.createElementVNode("span",cv,r.toDisplayString(H.label),1)],10,lv))),128)),E.value.length>0?(r.openBlock(),r.createElementBlock("button",{key:2,ref_key:"wideMoreBtnEl",ref:m,type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.more"),"aria-label":r.unref(l)("toolbar.more"),"aria-haspopup":"menu",onClick:x},[...U[15]||(U[15]=[r.createElementVNode("span",{class:"fe-icon"},"⋯",-1)])],8,dv)):r.createCommentVNode("",!0),r.createElementVNode("div",{ref_key:"measureEl",ref:b,class:"fe-toolbar__measure","aria-hidden":"true"},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(k.value,H=>(r.openBlock(),r.createElementBlock("button",{key:"m-"+H.key,type:"button",class:"fe-btn",tabindex:"-1"},[r.createElementVNode("span",uv,r.toDisplayString(H.icon),1),r.createElementVNode("span",fv,r.toDisplayString(H.label),1)]))),128))],512),e.pasteEnabled&&p.value==="none"&&!e.trashActive&&!e.atVirtualRoot&&e.canWrite!==!1?(r.openBlock(),r.createElementBlock("button",{key:3,type:"button",class:"fe-btn",title:r.unref(l)("ctx.paste"),onClick:U[2]||(U[2]=H=>w("paste"))},[U[16]||(U[16]=r.createElementVNode("span",{class:"fe-icon"},"📋",-1)),r.createElementVNode("span",pv,r.toDisplayString(r.unref(l)("ctx.paste")),1)],8,hv)):r.createCommentVNode("",!0)],512),U[26]||(U[26]=r.createElementVNode("div",{class:"fe-toolbar__spacer"},null,-1)),r.createElementVNode("div",mv,[r.createElementVNode("div",gv,[r.createElementVNode("input",{ref_key:"searchEl",ref:c,type:"search",class:"fe-search__input",placeholder:r.unref(l)("toolbar.search.placeholder"),value:d.value,"aria-label":r.unref(l)("toolbar.search"),onInput:h},null,40,vv)]),!e.atVirtualRoot&&e.canWrite!==!1?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.upload"),"aria-label":r.unref(l)("toolbar.upload"),onClick:U[3]||(U[3]=H=>i("upload"))},[...U[17]||(U[17]=[r.createElementVNode("span",{class:"fe-icon","aria-hidden":"true"},"⬆",-1)])],8,yv)):r.createCommentVNode("",!0),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--icon-only",title:r.unref(l)("toolbar.refresh"),"aria-label":r.unref(l)("toolbar.refresh"),onClick:U[4]||(U[4]=H=>i("refresh"))},[...U[18]||(U[18]=[r.createElementVNode("span",{class:"fe-icon","aria-hidden":"true"},"↻",-1)])],8,bv)]),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only fe-toolbar__density",{"is-active":o.value==="compact"}]),"aria-pressed":o.value==="compact","aria-label":o.value==="compact"?r.unref(l)("toolbar.density.comfortable"):r.unref(l)("toolbar.density.compact"),title:o.value==="compact"?r.unref(l)("toolbar.density.comfortable"):r.unref(l)("toolbar.density.compact"),onClick:s},[o.value==="compact"?(r.openBlock(),r.createElementBlock("svg",kv,[...U[19]||(U[19]=[r.createElementVNode("path",{d:"M4 6.5h16M4 10.5h16M4 14.5h16M4 18.5h16"},null,-1)])])):(r.openBlock(),r.createElementBlock("svg",wv,[...U[20]||(U[20]=[r.createElementVNode("path",{d:"M4 5.5h16M4 12h16M4 18.5h16"},null,-1)])]))],10,_v),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only fe-toolbar__inspector",{"is-active":e.inspectorOpen}]),"aria-pressed":!!e.inspectorOpen,title:r.unref(l)("toolbar.inspector"),"aria-label":r.unref(l)("toolbar.inspector"),onClick:U[5]||(U[5]=H=>i("toggle-inspector"))},[...U[21]||(U[21]=[r.createElementVNode("svg",{class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","aria-hidden":"true",focusable:"false"},[r.createElementVNode("circle",{cx:"12",cy:"12",r:"9"}),r.createElementVNode("path",{d:"M12 11v5"}),r.createElementVNode("circle",{cx:"12",cy:"7.6",r:"1",fill:"currentColor",stroke:"none"})],-1)])],10,xv),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--icon-only fe-toolbar__theme",title:r.unref(l)("theme.menu"),"aria-label":r.unref(l)("theme.menu"),onClick:U[6]||(U[6]=H=>i("open-theme"))},[...U[22]||(U[22]=[r.createElementVNode("svg",{class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false"},[r.createElementVNode("path",{d:"M12 3a9 9 0 1 0 0 18h1.4a2.1 2.1 0 0 0 1.5-3.6 2.1 2.1 0 0 1 1.5-3.6H19a2 2 0 0 0 2-2A9 9 0 0 0 12 3z"}),r.createElementVNode("circle",{cx:"7.8",cy:"10.2",r:"1.15",fill:"currentColor",stroke:"none"}),r.createElementVNode("circle",{cx:"11.6",cy:"7.2",r:"1.15",fill:"currentColor",stroke:"none"}),r.createElementVNode("circle",{cx:"16",cy:"8.6",r:"1.15",fill:"currentColor",stroke:"none"})],-1)])],8,Sv),r.createElementVNode("div",{class:"fe-toolbar__view",role:"tablist","aria-label":r.unref(l)("toolbar.view_label")},[r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="list"}]),role:"tab","aria-selected":e.viewMode==="list",title:r.unref(l)("toolbar.view.list"),"aria-label":r.unref(l)("toolbar.view.list"),onClick:U[7]||(U[7]=H=>i("update:viewMode","list"))},[...U[23]||(U[23]=[r.createElementVNode("span",{class:"fe-icon","aria-hidden":"true"},"☰",-1)])],10,Cv),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="grid"}]),role:"tab","aria-selected":e.viewMode==="grid",title:r.unref(l)("toolbar.view.grid"),"aria-label":r.unref(l)("toolbar.view.grid"),onClick:U[8]||(U[8]=H=>i("update:viewMode","grid"))},[...U[24]||(U[24]=[r.createElementVNode("span",{class:"fe-icon","aria-hidden":"true"},"▦",-1)])],10,Bv),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="gallery"}]),role:"tab","aria-selected":e.viewMode==="gallery",title:r.unref(l)("toolbar.view.gallery"),"aria-label":r.unref(l)("toolbar.view.gallery"),onClick:U[9]||(U[9]=H=>i("update:viewMode","gallery"))},[...U[25]||(U[25]=[r.createElementVNode("span",{class:"fe-icon","aria-hidden":"true"},"▣",-1)])],10,Dv)],8,Ev)],64)),e.narrow?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(qs,{key:2,ref_key:"wideMoreRef",ref:g,locale:e.locale,theme:e.theme||"auto",sheet:!1,actions:E.value,onSelect:U[12]||(U[12]=H=>w(H.key))},null,8,["locale","theme","actions"]))],2))}}),Pv=["onClick"],du=xn(r.defineComponent({__name:"TagPicker",props:{nodeId:{},apiBase:{},authHeaders:{type:Function},authCredentials:{},palette:{}},emits:["change","error"],setup(e,{emit:t}){const n=e,a=t,i=r.ref([]),o=r.ref(!1),s=r.ref(!1),l=r.ref(""),c=r.computed(()=>n.palette??["#ef4444","#f59e0b","#10b981","#3b82f6","#8b5cf6","#ec4899","#14b8a6","#f97316"]);function d(v){let b=0;for(let g=0;g<v.length;g++)b=b*31+v.charCodeAt(g)|0;const m=c.value;return m[Math.abs(b)%m.length]}async function u(v={}){return{...await(n.authHeaders??(()=>({})))(),...v}}async function h(){o.value=!0;try{const v=n.apiBase??"",b=await fetch(`${v}/api/files/manager/tags?node_id=${n.nodeId}`,{headers:await u(),credentials:n.authCredentials??"same-origin"});if(b.ok){const m=await b.json();i.value=Array.isArray(m.tags)?m.tags:[]}}catch(v){a("error",v instanceof Error?v.message:String(v))}finally{o.value=!1}}async function f(v){const b=[...i.value];i.value=v;try{const m=n.apiBase??"",g=await fetch(`${m}/api/files/manager/tags`,{method:"POST",headers:await u({"Content-Type":"application/json"}),credentials:n.authCredentials??"same-origin",body:JSON.stringify({node_id:n.nodeId,tags:v})});if(!g.ok)throw new Error(`tag save failed: ${g.status}`);a("change",v)}catch(m){i.value=b,a("error",m instanceof Error?m.message:String(m))}}function p(){const v=l.value.trim();if(!v||i.value.includes(v)){l.value="",s.value=!1;return}f([...i.value,v]),l.value="",s.value=!1}function k(v){f(i.value.filter(b=>b!==v))}return r.onMounted(h),r.watch(()=>n.nodeId,h),(v,b)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["filex-tag-picker",{"is-loading":o.value}])},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.value,m=>(r.openBlock(),r.createElementBlock("span",{key:m,class:"filex-tag",style:r.normalizeStyle({"--filex-tag-color":d(m)})},[r.createTextVNode(r.toDisplayString(m)+" ",1),r.createElementVNode("button",{class:"filex-tag-x",type:"button",onClick:g=>k(m),"aria-label":"Remove tag"},"×",8,Pv)],4))),128)),s.value?(r.openBlock(),r.createElementBlock("form",{key:0,class:"filex-tag-add",onSubmit:r.withModifiers(p,["prevent"])},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":b[0]||(b[0]=m=>l.value=m),autofocus:"",placeholder:"tag name",onBlur:p,onKeydown:b[1]||(b[1]=r.withKeys(m=>{s.value=!1,l.value=""},["escape"]))},null,544),[[r.vModelText,l.value]])],32)):(r.openBlock(),r.createElementBlock("button",{key:1,class:"filex-tag-add-btn",type:"button",onClick:b[2]||(b[2]=m=>s.value=!0)},"+ Add tag"))],2))}}),[["__scopeId","data-v-f45d1512"]]),Rv={class:"filex-recent"},Vv=["disabled"],$v={key:0},Uv=["onClick"],Hv={class:"filex-recent-name"},Gv={class:"filex-recent-meta"},jv={key:1,class:"filex-recent-empty"},qv={key:2,class:"filex-recent-empty"},uu=xn(r.defineComponent({__name:"RecentlyOpened",props:{apiBase:{},authHeaders:{type:Function},authCredentials:{},limit:{},refreshKey:{}},emits:["open","error"],setup(e,{emit:t}){const n=e,a=t,i=r.ref([]),o=r.ref(!1);async function s(){o.value=!0;try{const c=await(n.authHeaders??(()=>({})))(),d=n.apiBase??"",u=n.limit??20,h=await fetch(`${d}/api/files/manager/recent?limit=${u}`,{headers:c,credentials:n.authCredentials??"same-origin"});if(h.ok){const f=await h.json();i.value=Array.isArray(f.entries)?f.entries:Array.isArray(f)?f:[]}}catch(c){a("error",c instanceof Error?c.message:String(c))}finally{o.value=!1}}function l(c){if(!c)return"";const d=new Date(c).getTime();if(Number.isNaN(d))return"";const u=Date.now()-d;return u<6e4?"just now":u<36e5?`${Math.floor(u/6e4)}m ago`:u<864e5?`${Math.floor(u/36e5)}h ago`:`${Math.floor(u/864e5)}d ago`}return r.onMounted(s),r.watch(()=>n.refreshKey,s),(c,d)=>(r.openBlock(),r.createElementBlock("div",Rv,[r.createElementVNode("header",null,[d[0]||(d[0]=r.createElementVNode("h3",null,"Recently opened",-1)),r.createElementVNode("button",{class:"filex-recent-refresh",type:"button",onClick:s,disabled:o.value}," ↻ ",8,Vv)]),i.value.length?(r.openBlock(),r.createElementBlock("ul",$v,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.value,u=>(r.openBlock(),r.createElementBlock("li",{key:u.id},[r.createElementVNode("button",{type:"button",onClick:h=>a("open",u),class:"filex-recent-item"},[r.createElementVNode("span",Hv,r.toDisplayString(u.name),1),r.createElementVNode("span",Gv,r.toDisplayString(l(u.last_opened)),1)],8,Uv)]))),128))])):o.value?(r.openBlock(),r.createElementBlock("p",qv,"Loading…")):(r.openBlock(),r.createElementBlock("p",jv,"Nothing here yet."))]))}}),[["__scopeId","data-v-71358505"]]),Kv={class:"fe-breadcrumb","aria-label":"Breadcrumb"},Wv=["aria-current","onClick","onContextmenu","onDrop"],Yv={key:0,class:"fe-breadcrumb__sep","aria-hidden":"true"},Xv=["aria-expanded","aria-label","title"],Zv={key:0,class:"fe-breadcrumb__menu",role:"menu"},Jv=["onClick"],Qv=["aria-current","onClick","onContextmenu","onDrop"],ey={key:0,class:"fe-breadcrumb__sep","aria-hidden":"true"},ty=["title","aria-label"],ny=["placeholder","onKeydown"],ry=4,ay=r.defineComponent({__name:"Breadcrumb",props:{dirname:{},adapter:{},rootLabel:{},locale:{},multiStorageRoot:{type:Boolean},rootPath:{}},emits:["navigate","copy-path","crumb-context","crumb-drop"],setup(e,{emit:t}){const n=e,a=r.computed(()=>{if(!n.rootPath)return"";const N=n.rootPath,G=N.indexOf("://");return(G>=0?N.slice(G+3):N).replace(/^\/+|\/+$/g,"")}),i=r.computed(()=>{const N=a.value;if(!N)return n.rootLabel||n.adapter;const G=N.split("/");return G[G.length-1]||n.rootLabel||n.adapter}),{t:o}=Gt(()=>n.locale),s=t,l=r.computed(()=>{const N=`${n.adapter}://`,G=n.dirname.startsWith(N)?n.dirname.slice(N.length):n.dirname,F=G.split("/").filter(Boolean),q=[];if(n.rootPath){const K=a.value,Q=G.replace(/^\/+|\/+$/g,""),re=K&&(Q===K||Q.startsWith(K+"/"))?Q.slice(K.length).replace(/^\/+/,""):"";q.push({label:i.value,adapterPath:n.rootPath});let $=K;for(const V of re.split("/").filter(Boolean))$=$?`${$}/${V}`:V,q.push({label:V===".trash"?o("node.trash"):V,adapterPath:`${N}${$}`});return q}n.multiStorageRoot?(q.push({label:"/",adapterPath:""}),n.adapter&&q.push({label:n.rootLabel||n.adapter,adapterPath:N})):q.push({label:n.rootLabel||n.adapter,adapterPath:N});let Y="";for(const K of F){Y=Y?`${Y}/${K}`:K;const Q=K===".trash"?o("node.trash"):K;q.push({label:Q,adapterPath:`${N}${Y}`})}return q}),c=r.computed(()=>l.value.length>ry),d=r.computed(()=>c.value?l.value.slice(0,1):l.value),u=r.computed(()=>c.value?l.value.slice(1,-2):[]),h=r.computed(()=>c.value?l.value.slice(-2):[]),f=r.ref(!1),p=r.ref(null);function k(N){f.value=!1,s("navigate",N.adapterPath)}function v(N){const G=p.value;G&&N.target instanceof Node&&G.contains(N.target)||(f.value=!1)}function b(N){N.key==="Escape"&&(N.stopPropagation(),f.value=!1)}r.watch(f,N=>{N?(document.addEventListener("click",v,!0),document.addEventListener("keydown",b,!0)):(document.removeEventListener("click",v,!0),document.removeEventListener("keydown",b,!0))}),r.watch(l,()=>{f.value=!1}),r.onBeforeUnmount(()=>{document.removeEventListener("click",v,!0),document.removeEventListener("keydown",b,!0)});function m(N){s("navigate",N.adapterPath)}function g(N,G){N.preventDefault(),N.stopPropagation(),s("crumb-context",{x:N.clientX,y:N.clientY,adapterPath:G.adapterPath,label:G.label})}function _(N){var G;(G=N.dataTransfer)!=null&&G.types.includes("application/x-brf-files")&&(N.preventDefault(),N.stopPropagation(),N.dataTransfer&&(N.dataTransfer.dropEffect="move"))}function y(N,G){var F;(F=N.dataTransfer)!=null&&F.types.includes("application/x-brf-files")&&(N.preventDefault(),N.stopPropagation(),s("crumb-drop",G.adapterPath,N))}const E=r.ref(!1),M=r.ref(""),D=r.ref(null);function x(){const N=`${n.adapter}://`,G=n.dirname.startsWith(N)?n.dirname.slice(N.length):n.dirname;if(n.rootPath){const F=a.value,q=G.replace(/^\/+|\/+$/g,""),Y=F&&(q===F||q.startsWith(F+"/"))?q.slice(F.length).replace(/^\/+/,""):"";M.value=Y?`/${Y}`:"/",E.value=!0,r.nextTick(()=>{var K,Q;(K=D.value)==null||K.focus(),(Q=D.value)==null||Q.select()});return}if(n.multiStorageRoot)if(!n.adapter)M.value="/";else{const F=G.replace(/^\/+|\/+$/g,"");M.value=F?`/${n.adapter}/${F}`:`/${n.adapter}`}else M.value=G;E.value=!0,r.nextTick(()=>{var F,q;(F=D.value)==null||F.focus(),(q=D.value)==null||q.select()})}function w(){const N=M.value.trim();if(E.value=!1,n.rootPath){const F=N.replace(/^\/+|\/+$/g,""),q=a.value,Y=F?q?`${q}/${F}`:F:q;s("navigate",Y?`${n.adapter}://${Y}`:`${n.adapter}://`);return}if(n.multiStorageRoot){const F=N.replace(/^\/+|\/+$/g,"");if(!F){s("navigate","");return}const q=F.indexOf("/"),Y=q===-1?F:F.slice(0,q),K=q===-1?"":F.slice(q+1);s("navigate",K?`${Y}://${K}`:`${Y}://`);return}const G=N.replace(/^\/+|\/+$/g,"");G&&s("navigate",`${n.adapter}://${G}`)}function B(){E.value=!1}return(N,G)=>(r.openBlock(),r.createElementBlock("nav",Kv,[E.value?r.withDirectives((r.openBlock(),r.createElementBlock("input",{key:1,ref_key:"pathInput",ref:D,"onUpdate:modelValue":G[1]||(G[1]=F=>M.value=F),type:"text",class:"fe-breadcrumb__input",placeholder:r.unref(o)("breadcrumb.path_placeholder"),spellcheck:"false",autocomplete:"off",onKeydown:[r.withKeys(r.withModifiers(w,["prevent"]),["enter"]),r.withKeys(r.withModifiers(B,["prevent"]),["escape"])],onBlur:B},null,40,ny)),[[r.vModelText,M.value]]):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(d.value,(F,q)=>(r.openBlock(),r.createElementBlock("button",{key:F.adapterPath,class:r.normalizeClass(["fe-breadcrumb__crumb",{"is-last":!c.value&&q===d.value.length-1}]),type:"button","aria-current":!c.value&&q===d.value.length-1?"page":void 0,onClick:Y=>m(F),onContextmenu:Y=>g(Y,F),onDragover:_,onDrop:Y=>y(Y,F)},[r.createElementVNode("span",null,r.toDisplayString(F.label),1),c.value||q<d.value.length-1?(r.openBlock(),r.createElementBlock("span",Yv,"›")):r.createCommentVNode("",!0)],42,Wv))),128)),u.value.length?(r.openBlock(),r.createElementBlock("span",{key:0,ref_key:"moreWrapEl",ref:p,class:"fe-breadcrumb__more-wrap"},[r.createElementVNode("button",{type:"button",class:"fe-breadcrumb__more","aria-haspopup":"menu","aria-expanded":f.value,"aria-label":r.unref(o)("breadcrumb.more"),title:r.unref(o)("breadcrumb.more"),onClick:G[0]||(G[0]=F=>f.value=!f.value)},"…",8,Xv),G[2]||(G[2]=r.createElementVNode("span",{class:"fe-breadcrumb__sep","aria-hidden":"true"},"›",-1)),f.value?(r.openBlock(),r.createElementBlock("div",Zv,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(u.value,F=>(r.openBlock(),r.createElementBlock("button",{key:F.adapterPath,type:"button",class:"fe-breadcrumb__menu-item",role:"menuitem",onClick:q=>k(F)},r.toDisplayString(F.label),9,Jv))),128))])):r.createCommentVNode("",!0)],512)):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(h.value,(F,q)=>(r.openBlock(),r.createElementBlock("button",{key:F.adapterPath,class:r.normalizeClass(["fe-breadcrumb__crumb",{"is-last":q===h.value.length-1}]),type:"button","aria-current":q===h.value.length-1?"page":void 0,onClick:Y=>m(F),onContextmenu:Y=>g(Y,F),onDragover:_,onDrop:Y=>y(Y,F)},[r.createElementVNode("span",null,r.toDisplayString(F.label),1),q<h.value.length-1?(r.openBlock(),r.createElementBlock("span",ey,"›")):r.createCommentVNode("",!0)],42,Qv))),128)),r.createElementVNode("button",{type:"button",class:"fe-breadcrumb__edit",title:r.unref(o)("breadcrumb.go_to_path"),"aria-label":r.unref(o)("breadcrumb.go_to_path"),onClick:x},"✏",8,ty)],64))]))}}),fu={};function xr(e,t){for(const n of t)fu[n]=e}xr("image",["jpg","jpeg","png","webp","gif","bmp","avif","heic","svg","ico","tiff","tif"]),xr("video",["mp4","webm","mov","mkv","avi","ogv","m4v"]),xr("audio",["mp3","wav","flac","ogg","m4a","aac","opus"]),xr("pdf",["pdf"]),xr("doc",["doc","docx","odt","rtf"]),xr("sheet",["xls","xlsx","ods","csv"]),xr("slides",["ppt","pptx","odp"]),xr("archive",["zip","tar","gz","bz2","7z","rar","xz","zst"]),xr("code",["js","ts","jsx","tsx","mjs","cjs","vue","py","go","rs","php","rb","java","kt","swift","c","cpp","h","hpp","cs","css","scss","less","html","htm","json","yml","yaml","xml","sh","bash","ps1","sql","toml"]),xr("text",["txt","md","markdown","log","ini","conf","cfg","env"]);function iy(e){if(e.type==="dir")return"folder";const t=(e.extension||"").toLowerCase();return fu[t]??"unknown"}const la='<path d="M6.5 3h7L18.5 8v11.5a1.5 1.5 0 0 1-1.5 1.5H6.5A1.5 1.5 0 0 1 5 19.5v-15A1.5 1.5 0 0 1 6.5 3z"/><path d="M13.5 3v5h5"/>',oy={folder:'<path d="M3 7a2 2 0 0 1 2-2h4.2l2 2.4H19a2 2 0 0 1 2 2V17a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" fill="currentColor" fill-opacity="0.14"/>',image:'<rect x="3" y="5" width="18" height="14" rx="2"/><circle cx="8.6" cy="10" r="1.6"/><path d="M5.2 16.6l4.3-4.3 3 3 2.4-2.4 3.9 3.7"/>',video:'<rect x="3" y="5" width="18" height="14" rx="2"/><path d="M10.2 9.3v5.4l4.8-2.7z" fill="currentColor" stroke="none"/>',audio:'<path d="M9 17.5V7.2l9-2.2v10.4"/><circle cx="6.8" cy="17.6" r="2.2"/><circle cx="15.8" cy="15.5" r="2.2"/>',pdf:la+'<rect x="7.5" y="12" width="9" height="5" rx="1" fill="currentColor" fill-opacity="0.14"/>',doc:la+'<path d="M8.5 13h7M8.5 16h7"/>',sheet:la+'<path d="M8 12.5h8M8 15.5h8M8 18h8M12 12.5V18"/>',slides:la+'<rect x="8" y="12.5" width="8" height="5" rx="0.8"/>',archive:la+'<path d="M10 3v1.6M10 6.6v1.6M10 10.2v1.6"/><rect x="8.6" y="14" width="2.8" height="3.4" rx="0.8"/>',code:la+'<path d="M10.4 12.5L8.3 15l2.1 2.5M13.6 12.5l2.1 2.5-2.1 2.5"/>',text:la+'<path d="M8.5 12h7M8.5 15h7M8.5 18h4.5"/>',unknown:la+'<path d="M10.3 13.1a1.8 1.8 0 1 1 2.5 1.9c-.6.3-.8.7-.8 1.4"/><circle cx="12" cy="18.4" r="0.9" fill="currentColor" stroke="none"/>'},hu=new Map;function ly(e){let t=hu.get(e);return t||(t=`<svg class="fe-ficon fe-ficon--${e}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">${oy[e]}</svg>`,hu.set(e,t)),t}function Za(e){return ly(iy(e))}function qi(e){const t=[];if(!e)return t;const n=/«([^«»]*)»/g;let a=0,i;for(;(i=n.exec(e))!==null;)i.index>a&&t.push({text:e.slice(a,i.index),match:!1}),i[1]&&t.push({text:i[1],match:!0}),a=i.index+i[0].length;return a<e.length&&t.push({text:e.slice(a),match:!1}),t}function Ks(e){return e==="content"||e==="both"}function Ws(e,t,n){const a=e.dataTransfer;if(!(!a||typeof document>"u"||typeof a.setDragImage!="function"))try{const i=document.createElement("div");i.className="fe-dragghost";const o=document.createElement("span");if(o.className="fe-dragghost__name",o.textContent=t,i.appendChild(o),n>1){const s=document.createElement("span");s.className="fe-dragghost__badge",s.textContent=String(n),i.appendChild(s)}i.style.position="fixed",i.style.top="-1000px",i.style.left="-1000px",document.body.appendChild(i),a.setDragImage(i,14,14),setTimeout(()=>i.remove(),0)}catch{}}const sy=["aria-pressed","title"],cy={viewBox:"0 0 24 24",width:"16",height:"16","aria-hidden":"true"},dy=["fill"],uy={key:0,class:"filex-star-label"},pu=xn(r.defineComponent({__name:"StarButton",props:{starred:{type:Boolean},nodeId:{},apiBase:{},authHeaders:{type:Function},authCredentials:{},compact:{type:Boolean}},emits:["change","error"],setup(e,{emit:t}){const n=e,a=t,i=r.ref(n.starred);r.watch(()=>n.starred,s=>{i.value=s});async function o(){const s=!i.value;i.value=s;try{const l={"Content-Type":"application/json",...await(n.authHeaders??(()=>({})))()},c=n.apiBase??"",d=await fetch(`${c}/api/files/manager/star`,{method:"POST",headers:l,credentials:n.authCredentials??"same-origin",body:JSON.stringify({node_id:n.nodeId,starred:s})});if(!d.ok)throw new Error(`star toggle failed: ${d.status}`);a("change",s)}catch(l){i.value=!s,a("error",l instanceof Error?l.message:String(l))}}return(s,l)=>(r.openBlock(),r.createElementBlock("button",{type:"button",class:r.normalizeClass(["filex-star-btn",{"is-starred":i.value,"is-compact":e.compact}]),"aria-pressed":i.value,title:i.value?"Unstar":"Star",onClick:r.withModifiers(o,["stop"])},[(r.openBlock(),r.createElementBlock("svg",cy,[r.createElementVNode("path",{fill:i.value?"currentColor":"none",stroke:"currentColor","stroke-width":"2","stroke-linejoin":"round",d:"M12 2.5l3.09 6.26 6.91 1-5 4.87 1.18 6.87L12 18.27l-6.18 3.23L7 14.63 2 9.76l6.91-1z"},null,8,dy)])),e.compact?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("span",uy,r.toDisplayString(i.value?"Starred":"Star"),1))],10,sy))}}),[["__scopeId","data-v-f3b3f90a"]]),fy=["aria-label","aria-busy"],hy={class:"fe-list__head",role:"row"},py=["aria-label"],my=["aria-sort"],gy=["title"],vy={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},yy=["aria-sort"],by=["title"],_y={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},ky=["aria-sort"],wy=["title"],xy={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},Sy={class:"fe-list__body",role:"rowgroup"},Ey={key:0,class:"fe-list__group",role:"presentation"},Cy=["aria-selected","aria-label","data-fe-path","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],By={class:"fe-list__col fe-list__col--name",role:"gridcell"},Dy={key:0,class:"fe-list__icon","aria-hidden":"true"},Ty=["innerHTML"],Ay={class:"fe-list__name-wrap"},My=["title"],Ny={key:0,class:"fe-list__badge"},Iy=["title"],zy={key:1,class:"fe-list__snippet"},Fy={key:0,class:"fe-list__mark"},Ly={class:"fe-list__col fe-list__col--size",role:"gridcell"},Oy={class:"fe-list__col fe-list__col--mod",role:"gridcell"},Py={key:0,class:"fe-list__empty"},mu="filex.list-sort",gu=r.defineComponent({__name:"ListView",props:{files:{},selected:{},clipped:{},showParentPath:{type:Boolean},locale:{},loading:{type:Boolean},starredIds:{},apiBase:{},authHeaders:{type:Function},authCredentials:{}},emits:["click-row","dbl-row","context-row","item-drag-start","item-drop-into","star-change"],setup(e,{emit:t}){const n=e,a=t,{t:i,formatSize:o,nodeDisplayName:s}=Gt(()=>n.locale);function l(V){return n.selected.has(V.path)}function c(V,z){a("click-row",V,{ctrl:z.ctrlKey||z.metaKey,shift:z.shiftKey})}function d(V){a("dbl-row",V)}function u(V,z){z.preventDefault(),z.stopPropagation(),a("context-row",V,z)}function h(V,z){Ws(z,s(V),n.selected.has(V.path)?n.selected.size:1),a("item-drag-start",V,z)}const f=r.ref(null);function p(V,z){var U;V.type==="dir"&&(U=z.dataTransfer)!=null&&U.types.includes("application/x-brf-files")&&(z.preventDefault(),z.stopPropagation(),z.dataTransfer&&(z.dataTransfer.dropEffect="move"),f.value=V.path)}function k(V){f.value===V.path&&(f.value=null)}function v(V,z){var U;f.value=null,V.type==="dir"&&(U=z.dataTransfer)!=null&&U.types.includes("application/x-brf-files")&&(z.preventDefault(),z.stopPropagation(),a("item-drop-into",V,z))}let b,m=null;function g(V,z){m=V,b&&clearTimeout(b),b=setTimeout(()=>{if(m){const U=z.touches[0];a("context-row",m,{clientX:U.clientX,clientY:U.clientY,preventDefault:()=>{}})}},500)}function _(){b&&clearTimeout(b),m=null}function y(V){return V.basename===".trash"?"🗑":V.mime_type==="inode/storage"?"💾":V.type==="dir"&&V.e2e===!0?"🔒":null}function E(V){return V.basename===".trash"||V.mime_type==="inode/storage"}function M(V){return V?new Date(V*(V<1e12?1e3:1)).toLocaleString():"—"}function D(V){const z=V.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),U=z.lastIndexOf("/");return U===-1?"":z.slice(0,U)}function x(V){const z=V.snippet;return typeof z=="string"?z:""}function w(V){return Ks(V.matched)}const B=r.ref(null),N=r.ref("asc");try{const V=localStorage.getItem(mu);if(V){const z=JSON.parse(V);(z.key==="name"||z.key==="size"||z.key==="modified")&&(B.value=z.key),(z.dir==="asc"||z.dir==="desc")&&(N.value=z.dir)}}catch{}function G(V){return V==="modified"?"desc":"asc"}function F(V){B.value!==V?(B.value=V,N.value=G(V)):N.value===G(V)?N.value=N.value==="asc"?"desc":"asc":B.value=null;try{localStorage.setItem(mu,JSON.stringify({key:B.value,dir:N.value}))}catch{}}function q(V){return B.value!==V?"none":N.value==="asc"?"ascending":"descending"}function Y(V){const z=V.last_modified;return z?z*(z<1e12?1e3:1):null}const K=r.computed(()=>{const V=B.value;if(!V)return n.files;const z=[],U=[];for(const de of n.files)(E(de)?z:U).push(de);const H=N.value==="asc"?1:-1;return U.sort((de,he)=>{if(V==="name")return H*de.basename.localeCompare(he.basename,void 0,{numeric:!0,sensitivity:"base"});if(V==="size")return H*((de.size??-1)-(he.size??-1));const ve=Y(de),xe=Y(he);return ve==null&&xe==null?0:ve==null?1:xe==null?-1:H*(ve-xe)}),[...z,...U]}),Q=r.computed(()=>new Intl.DateTimeFormat(n.locale==="tr"?"tr-TR":"en-US",{month:"long",year:"numeric"}));function re(V){if(V==null)return{id:"none",label:i("group.no_date")};const z=new Date(V),U=new Date,H=xe=>new Date(xe.getFullYear(),xe.getMonth(),xe.getDate()).getTime(),de=H(U),he=H(z),ve=864e5;return he>=de?{id:"today",label:i("group.today")}:he===de-ve?{id:"yesterday",label:i("group.yesterday")}:he>de-7*ve?{id:"week",label:i("group.this_week")}:z.getFullYear()===U.getFullYear()&&z.getMonth()===U.getMonth()?{id:"month",label:i("group.this_month")}:{id:`m-${z.getFullYear()}-${z.getMonth()}`,label:Q.value.format(z)}}const $=r.computed(()=>{const V=K.value;if(B.value!=="modified")return[{id:"all",label:null,nodes:V}];const z=[];let U=null;for(const H of V){const de=E(H)?{id:"pinned",label:null}:re(Y(H));(!U||U.id!==de.id)&&(U={id:de.id,label:de.label,nodes:[]},z.push(U)),U.nodes.push(H)}return z});return(V,z)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["fe-list",{"is-loading":e.loading,"has-star-col":!!e.apiBase||e.apiBase===""}]),role:"grid","aria-label":r.unref(i)("list.aria"),"aria-busy":e.loading?"true":void 0},[r.createElementVNode("div",hy,[r.createElementVNode("div",{class:"fe-list__col fe-list__col--star",role:"columnheader","aria-label":r.unref(i)("col.star")},null,8,py),r.createElementVNode("div",{class:"fe-list__col fe-list__col--name",role:"columnheader","aria-sort":q("name")},[r.createElementVNode("button",{type:"button",class:"fe-list__sort",title:r.unref(i)("col.sort"),onClick:z[0]||(z[0]=U=>F("name"))},[r.createTextVNode(r.toDisplayString(r.unref(i)("col.name"))+" ",1),B.value==="name"?(r.openBlock(),r.createElementBlock("span",vy,r.toDisplayString(N.value==="asc"?"↑":"↓"),1)):r.createCommentVNode("",!0)],8,gy)],8,my),r.createElementVNode("div",{class:"fe-list__col fe-list__col--size",role:"columnheader","aria-sort":q("size")},[r.createElementVNode("button",{type:"button",class:"fe-list__sort",title:r.unref(i)("col.sort"),onClick:z[1]||(z[1]=U=>F("size"))},[r.createTextVNode(r.toDisplayString(r.unref(i)("col.size"))+" ",1),B.value==="size"?(r.openBlock(),r.createElementBlock("span",_y,r.toDisplayString(N.value==="asc"?"↑":"↓"),1)):r.createCommentVNode("",!0)],8,by)],8,yy),r.createElementVNode("div",{class:"fe-list__col fe-list__col--mod",role:"columnheader","aria-sort":q("modified")},[r.createElementVNode("button",{type:"button",class:"fe-list__sort",title:r.unref(i)("col.sort"),onClick:z[2]||(z[2]=U=>F("modified"))},[r.createTextVNode(r.toDisplayString(r.unref(i)("col.modified"))+" ",1),B.value==="modified"?(r.openBlock(),r.createElementBlock("span",xy,r.toDisplayString(N.value==="asc"?"↑":"↓"),1)):r.createCommentVNode("",!0)],8,wy)],8,ky)]),r.createElementVNode("div",Sy,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList($.value,U=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:U.id},[U.label?(r.openBlock(),r.createElementBlock("div",Ey,r.toDisplayString(U.label),1)):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(U.nodes,H=>{var de,he;return r.openBlock(),r.createElementBlock("div",{key:H.path,class:r.normalizeClass(["fe-list__row",{"is-selected":l(H),"is-dir":H.type==="dir","is-trash":H.trashed,"is-clipped":(de=e.clipped)==null?void 0:de.has(H.path),"is-droptarget":f.value===H.path}]),role:"row",tabindex:"0","aria-selected":l(H)?"true":"false","aria-label":r.unref(s)(H),"data-fe-path":H.path,draggable:"true",onClick:ve=>c(H,ve),onDblclick:ve=>d(H),onContextmenu:ve=>u(H,ve),onDragstart:ve=>h(H,ve),onDragover:ve=>p(H,ve),onDragleave:ve=>k(H),onDrop:ve=>v(H,ve),onTouchstartPassive:ve=>g(H,ve),onTouchend:_,onTouchmove:_},[r.createElementVNode("div",{class:"fe-list__col fe-list__col--star",role:"gridcell",onClick:z[3]||(z[3]=r.withModifiers(()=>{},["stop"]))},[typeof H.id=="number"&&H.type==="file"?(r.openBlock(),r.createBlock(pu,{key:0,starred:!!((he=e.starredIds)!=null&&he.has(H.id)),"node-id":H.id,"api-base":e.apiBase,"auth-headers":e.authHeaders,"auth-credentials":e.authCredentials,compact:"",onChange:ve=>a("star-change",H,ve)},null,8,["starred","node-id","api-base","auth-headers","auth-credentials","onChange"])):r.createCommentVNode("",!0)]),r.createElementVNode("div",By,[y(H)?(r.openBlock(),r.createElementBlock("span",Dy,r.toDisplayString(y(H)),1)):(r.openBlock(),r.createElementBlock("span",{key:1,class:"fe-list__icon fe-list__icon--svg","aria-hidden":"true",innerHTML:r.unref(Za)(H)},null,8,Ty)),r.createElementVNode("div",Ay,[r.createElementVNode("span",{class:"fe-list__name",title:H.basename},[r.createTextVNode(r.toDisplayString(r.unref(s)(H))+" ",1),w(H)?(r.openBlock(),r.createElementBlock("span",Ny,r.toDisplayString(r.unref(i)("search.in_content")),1)):r.createCommentVNode("",!0)],8,My),e.showParentPath?(r.openBlock(),r.createElementBlock("span",{key:0,class:"fe-list__parent",title:D(H.path)},r.toDisplayString(D(H.path)||"—"),9,Iy)):r.createCommentVNode("",!0),x(H)?(r.openBlock(),r.createElementBlock("span",zy,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(qi)(x(H)),(ve,xe)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:xe},[ve.match?(r.openBlock(),r.createElementBlock("mark",Fy,r.toDisplayString(ve.text),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(r.toDisplayString(ve.text),1)],64))],64))),128))])):r.createCommentVNode("",!0)])]),r.createElementVNode("div",Ly,r.toDisplayString(r.unref(o)(H.size)),1),r.createElementVNode("div",Oy,r.toDisplayString(M(H.last_modified)),1)],42,Cy)}),128))],64))),128)),!e.loading&&K.value.length===0?(r.openBlock(),r.createElementBlock("div",Py,r.toDisplayString(r.unref(i)("empty.folder")),1)):r.createCommentVNode("",!0)])],10,fy))}}),Ry=["aria-label","aria-busy"],Vy=["aria-selected","aria-label","data-fe-path","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],$y={class:"fe-grid__thumb"},Uy=["src","alt"],Hy={key:1,class:"fe-grid__icon"},Gy=["innerHTML"],jy=["title"],qy=["title"],Ky={class:"fe-grid__meta"},Wy=["title"],Yy={key:0,class:"fe-grid__mark"},Xy={key:0,class:"fe-grid__empty"},vu=r.defineComponent({__name:"GridView",props:{files:{},selected:{},clipped:{},showParentPath:{type:Boolean},locale:{},loading:{type:Boolean},thumbSrc:{type:Function}},emits:["click-card","dbl-card","context-card","item-drag-start","item-drop-into"],setup(e,{emit:t}){const n=e,a=t,{t:i,formatSize:o,nodeDisplayName:s}=Gt(()=>n.locale);function l(w){return n.thumbSrc?n.thumbSrc(w):w.thumb_url??null}function c(w){return n.selected.has(w.path)}function d(w,B){a("click-card",w,{ctrl:B.ctrlKey||B.metaKey,shift:B.shiftKey})}function u(w){a("dbl-card",w)}function h(w,B){B.preventDefault(),B.stopPropagation(),a("context-card",w,B)}function f(w,B){Ws(B,s(w),n.selected.has(w.path)?n.selected.size:1),a("item-drag-start",w,B)}const p=r.ref(null);function k(w,B){var N;w.type==="dir"&&(N=B.dataTransfer)!=null&&N.types.includes("application/x-brf-files")&&(B.preventDefault(),B.stopPropagation(),B.dataTransfer&&(B.dataTransfer.dropEffect="move"),p.value=w.path)}function v(w){p.value===w.path&&(p.value=null)}function b(w,B){var N;p.value=null,w.type==="dir"&&(N=B.dataTransfer)!=null&&N.types.includes("application/x-brf-files")&&(B.preventDefault(),B.stopPropagation(),a("item-drop-into",w,B))}let m,g=null;function _(w,B){g=w,m&&clearTimeout(m),m=setTimeout(()=>{if(g){const N=B.touches[0];a("context-card",g,{clientX:N.clientX,clientY:N.clientY,preventDefault:()=>{}})}},500)}function y(){m&&clearTimeout(m),g=null}function E(w){const B=w.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),N=B.lastIndexOf("/");return N===-1?"":B.slice(0,N)}function M(w){return w.basename===".trash"?"🗑":w.mime_type==="inode/storage"?"💾":w.type==="dir"&&w.e2e===!0?"🔒":null}function D(w){const B=w.snippet;return typeof B=="string"?B:""}function x(w){return qi(w).map(B=>B.text).join("")}return(w,B)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["fe-grid",{"is-loading":e.loading}]),role:"listbox","aria-multiselectable":"true","aria-label":r.unref(i)("grid.aria"),"aria-busy":e.loading?"true":void 0},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.files,N=>{var G;return r.openBlock(),r.createElementBlock("div",{key:N.path,class:r.normalizeClass(["fe-grid__card",{"is-selected":c(N),"is-dir":N.type==="dir","is-trash":N.trashed,"is-clipped":(G=e.clipped)==null?void 0:G.has(N.path),"is-droptarget":p.value===N.path}]),tabindex:"0",role:"option","aria-selected":c(N)?"true":"false","aria-label":r.unref(s)(N),"data-fe-path":N.path,draggable:"true",onClick:F=>d(N,F),onDblclick:F=>u(N),onContextmenu:F=>h(N,F),onDragstart:F=>f(N,F),onDragover:F=>k(N,F),onDragleave:F=>v(N),onDrop:F=>b(N,F),onTouchstartPassive:F=>_(N,F),onTouchend:y,onTouchmove:y},[r.createElementVNode("div",$y,[l(N)?(r.openBlock(),r.createElementBlock("img",{key:0,src:l(N),alt:N.basename,loading:"lazy",draggable:"false"},null,8,Uy)):M(N)?(r.openBlock(),r.createElementBlock("span",Hy,r.toDisplayString(M(N)),1)):(r.openBlock(),r.createElementBlock("span",{key:2,class:"fe-grid__icon fe-grid__icon--svg",innerHTML:r.unref(Za)(N)},null,8,Gy))]),r.createElementVNode("div",{class:"fe-grid__label",title:N.basename},r.toDisplayString(r.unref(s)(N)),9,jy),e.showParentPath?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fe-grid__parent",title:E(N.path)},r.toDisplayString(E(N.path)||"—"),9,qy)):r.createCommentVNode("",!0),r.createElementVNode("div",Ky,r.toDisplayString(r.unref(o)(N.size)),1),D(N)?(r.openBlock(),r.createElementBlock("div",{key:1,class:"fe-grid__snippet",title:x(D(N))},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(qi)(D(N)),(F,q)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:q},[F.match?(r.openBlock(),r.createElementBlock("mark",Yy,r.toDisplayString(F.text),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(r.toDisplayString(F.text),1)],64))],64))),128))],8,Wy)):r.createCommentVNode("",!0)],42,Vy)}),128)),!e.loading&&e.files.length===0?(r.openBlock(),r.createElementBlock("div",Xy,r.toDisplayString(r.unref(i)("empty.folder")),1)):r.createCommentVNode("",!0)],10,Ry))}}),Zy=["aria-label","aria-busy"],Jy=["aria-selected","aria-label","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],Qy={class:"fe-gal__thumb"},e3=["src","alt"],t3={key:1,class:"fe-gal__icon"},n3=["innerHTML"],r3={class:"fe-gal__meta","aria-hidden":"true"},a3={key:0,class:"fe-gal__meta-line"},i3=["title"],o3=["title"],l3={key:0,class:"fe-gal__empty"},yu=r.defineComponent({__name:"GalleryView",props:{files:{},selected:{},clipped:{},showParentPath:{type:Boolean},locale:{},loading:{type:Boolean},thumbSrc:{type:Function}},emits:["click-card","dbl-card","context-card","item-drag-start","item-drop-into"],setup(e,{emit:t}){const n=e,a=t,{t:i,formatSize:o,nodeDisplayName:s}=Gt(()=>n.locale);function l(w){return n.thumbSrc?n.thumbSrc(w):w.thumb_url??null}function c(w){return n.selected.has(w.path)}function d(w,B){a("click-card",w,{ctrl:B.ctrlKey||B.metaKey,shift:B.shiftKey})}function u(w){a("dbl-card",w)}function h(w,B){B.preventDefault(),B.stopPropagation(),a("context-card",w,B)}function f(w,B){Ws(B,s(w),n.selected.has(w.path)?n.selected.size:1),a("item-drag-start",w,B)}const p=r.ref(null);function k(w,B){var N;w.type==="dir"&&(N=B.dataTransfer)!=null&&N.types.includes("application/x-brf-files")&&(B.preventDefault(),B.stopPropagation(),B.dataTransfer&&(B.dataTransfer.dropEffect="move"),p.value=w.path)}function v(w){p.value===w.path&&(p.value=null)}function b(w,B){var N;p.value=null,w.type==="dir"&&(N=B.dataTransfer)!=null&&N.types.includes("application/x-brf-files")&&(B.preventDefault(),B.stopPropagation(),a("item-drop-into",w,B))}let m,g=null;function _(w,B){g=w,m&&clearTimeout(m),m=setTimeout(()=>{if(g){const N=B.touches[0];a("context-card",g,{clientX:N.clientX,clientY:N.clientY,preventDefault:()=>{}})}},500)}function y(){m&&clearTimeout(m),g=null}function E(w){const B=w.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),N=B.lastIndexOf("/");return N===-1?"":B.slice(0,N)}function M(w){return w.basename===".trash"?"🗑":w.mime_type==="inode/storage"?"💾":w.type==="dir"&&w.e2e===!0?"🔒":null}function D(w){return w?new Date(w*(w<1e12?1e3:1)).toLocaleString():""}function x(w){const B=D(w.last_modified);return[w.type==="dir"?"":o(w.size),B].filter(G=>!!G).join(" · ")}return(w,B)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["fe-gal",{"is-loading":e.loading}]),role:"listbox","aria-multiselectable":"true","aria-label":r.unref(i)("gallery.aria"),"aria-busy":e.loading?"true":void 0},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.files,N=>{var G;return r.openBlock(),r.createElementBlock("div",{key:N.path,class:r.normalizeClass(["fe-gal__card",{"is-selected":c(N),"is-dir":N.type==="dir","is-trash":N.trashed,"is-clipped":(G=e.clipped)==null?void 0:G.has(N.path),"is-droptarget":p.value===N.path}]),tabindex:"0",role:"option","aria-selected":c(N)?"true":"false","aria-label":r.unref(s)(N),draggable:"true",onClick:F=>d(N,F),onDblclick:F=>u(N),onContextmenu:F=>h(N,F),onDragstart:F=>f(N,F),onDragover:F=>k(N,F),onDragleave:F=>v(N),onDrop:F=>b(N,F),onTouchstartPassive:F=>_(N,F),onTouchend:y,onTouchmove:y},[r.createElementVNode("div",Qy,[l(N)?(r.openBlock(),r.createElementBlock("img",{key:0,src:l(N),alt:N.basename,loading:"lazy",draggable:"false"},null,8,e3)):M(N)?(r.openBlock(),r.createElementBlock("span",t3,r.toDisplayString(M(N)),1)):(r.openBlock(),r.createElementBlock("span",{key:2,class:"fe-gal__icon fe-gal__icon--svg",innerHTML:r.unref(Za)(N)},null,8,n3)),r.createElementVNode("div",r3,[x(N)?(r.openBlock(),r.createElementBlock("span",a3,r.toDisplayString(x(N)),1)):r.createCommentVNode("",!0),e.showParentPath&&E(N.path)?(r.openBlock(),r.createElementBlock("span",{key:1,class:"fe-gal__meta-line fe-gal__meta-line--path",title:E(N.path)},r.toDisplayString(E(N.path)),9,i3)):r.createCommentVNode("",!0)])]),r.createElementVNode("div",{class:"fe-gal__label",title:N.basename},r.toDisplayString(r.unref(s)(N)),9,o3)],42,Jy)}),128)),!e.loading&&e.files.length===0?(r.openBlock(),r.createElementBlock("div",l3,r.toDisplayString(r.unref(i)("empty.folder")),1)):r.createCommentVNode("",!0)],10,Zy))}}),s3=r.defineComponent({__name:"UploadProgress",props:{jobs:{},locale:{},center:{}},emits:["cancel","dismiss","retry"],setup(e,{emit:t}){const n=e,a=t;function i(o){return o==="done"?"done":o==="error"?"error":o==="aborted"?"aborted":"running"}return r.watch(()=>n.jobs,o=>{n.center.sync("upload",o.map(s=>({input:{id:s.id,kind:"upload",name:s.file.name,percent:s.totalBytes>0||s.status==="done"?s.percent:null,status:i(s.status),error:s.error??null,uploadedBytes:s.uploadedBytes,totalBytes:s.totalBytes,cancellable:s.status==="uploading"||s.status==="initializing",retryable:s.status==="error"},actions:{cancel:()=>a("cancel",s),dismiss:()=>a("dismiss",s),retry:()=>a("retry",s)}})))},{immediate:!0}),(o,s)=>r.createCommentVNode("",!0)}}),c3=r.defineComponent({__name:"PendingOpsTray",props:{ops:{},locale:{},center:{}},emits:["dismiss"],setup(e,{emit:t}){const n=e,a=t;function i(s){return s.status==="done"?"done":s.status==="error"?"error":"running"}function o(s){return s.status==="done"?100:s.progress_total<=0?null:Math.min(100,Math.round(s.progress_done/s.progress_total*100))}return r.watch(()=>n.ops,s=>{n.center.sync("ops",s.map(l=>({input:{id:l.id,kind:l.op_type,name:l.target_path||l.source_dir||"",percent:o(l),status:i(l),error:l.error_message,queued:l.status==="pending",doneCount:l.progress_done,totalCount:l.progress_total,cancellable:!1,retryable:!1},actions:{dismiss:()=>a("dismiss",l.id)}})))},{immediate:!0}),(s,l)=>r.createCommentVNode("",!0)}}),d3=["aria-label"],u3={class:"fe-inspector__head"},f3={class:"fe-inspector__title"},h3=["title","aria-label"],p3={class:"fe-inspector__scroll"},m3={class:"fe-inspector__section"},g3={class:"fe-inspector__heading"},v3={key:0,class:"fe-inspector__hero"},y3=["innerHTML"],b3={class:"fe-inspector__name"},_3={class:"fe-inspector__hero"},k3=["src"],w3=["innerHTML"],x3=["title"],S3={class:"fe-inspector__meta"},E3={class:"fe-inspector__row"},C3={class:"fe-inspector__pathcell"},B3=["title"],D3=["title","aria-label"],T3={key:0,class:"fe-inspector__row"},A3={class:"fe-inspector__row"},M3={key:1,class:"fe-inspector__row"},N3={class:"fe-inspector__mime"},I3={key:2,class:"fe-inspector__row"},z3={class:"fe-inspector__pathcell"},F3=["title"],L3=["title","aria-label"],O3={key:2,class:"fe-inspector__hero"},P3=["innerHTML"],R3=["title"],V3={class:"fe-inspector__sub"},$3={key:0,class:"fe-inspector__section"},U3={class:"fe-inspector__heading"},H3={key:0,class:"fe-inspector__empty"},G3={key:0,class:"fe-inspector__empty"},j3={key:1,class:"fe-inspector__versions"},q3={class:"fe-inspector__version-main"},K3={class:"fe-inspector__version-n"},W3={class:"fe-inspector__version-meta"},Y3={key:0,class:"fe-inspector__confirm"},X3={class:"fe-inspector__confirm-q"},Z3={class:"fe-inspector__check"},J3={class:"fe-inspector__confirm-actions"},Q3=["disabled","onClick"],e5=["disabled"],t5=["disabled","onClick"],n5=["disabled"],r5={key:1,class:"fe-inspector__section"},a5={class:"fe-inspector__heading"},i5={class:"fe-inspector__permrow"},o5={key:2,class:"fe-inspector__section"},l5={class:"fe-inspector__heading"},s5={key:0,class:"fe-inspector__empty"},c5={key:1,class:"fe-inspector__shares"},d5=["title"],u5={key:0,class:"fe-inspector__badge fe-inspector__badge--pin"},f5={key:1,class:"fe-inspector__share-exp"},h5=["title","aria-label","onClick"],p5={key:3,class:"fe-inspector__section"},m5={class:"fe-inspector__heading"},g5={key:0,class:"fe-inspector__countbadge"},v5={key:0,class:"fe-inspector__empty"},y5={key:0,class:"fe-inspector__empty"},b5={key:1,class:"fe-inspector__comments"},_5={class:"fe-inspector__comment-top"},k5=["title"],w5=["title"],x5=["disabled","title","aria-label","onClick"],S5={class:"fe-inspector__comment-body"},E5=["placeholder","aria-label","disabled"],C5=["disabled"],B5=r.defineComponent({__name:"InspectorPanel",props:{api:{},nodes:{},dirLabel:{},dirCount:{},dirPerm:{},locale:{},narrow:{type:Boolean},thumbSrc:{type:Function}},emits:["close","manage-permissions","toast","changed"],setup(e,{emit:t}){const n=e,a=t,{t:i,formatSize:o,nodeDisplayName:s}=Gt(()=>n.locale),l=r.computed(()=>n.nodes.length===1?n.nodes[0]:null),c=r.computed(()=>n.nodes.length>1),d=r.computed(()=>{var ie;return((ie=l.value)==null?void 0:ie.type)==="file"}),u=r.computed(()=>{var ie;return typeof((ie=l.value)==null?void 0:ie.id)=="number"?l.value.id:null}),h=r.computed(()=>n.nodes.reduce((ie,ge)=>ie+(typeof ge.size=="number"?ge.size:0),0)),f=r.computed(()=>{var ge;const ie=(ge=l.value)==null?void 0:ge.etag;return typeof ie=="string"&&ie!==""?ie:null}),p=r.computed(()=>l.value&&d.value&&n.thumbSrc?n.thumbSrc(l.value):null);function k(ie){return ie.length>12?`${ie.slice(0,12)}…`:ie}function v(ie){if(!ie)return"—";try{return new Date(ie).toLocaleString(n.locale==="en"?"en-GB":"tr-TR",{dateStyle:"medium",timeStyle:"short"})}catch{return new Date(ie).toISOString()}}function b(ie){if(!ie)return"—";const ge=Date.parse(ie);return Number.isNaN(ge)?ie:v(ge)}async function m(ie){try{await navigator.clipboard.writeText(ie),a("toast",i("inspector.copied"))}catch{a("toast",ie)}}const g=r.computed(()=>{if(!l.value)return"";const ie=l.value.perm;return typeof ie=="string"&&ie!==""?ie:n.dirPerm||""}),_=r.computed(()=>g.value==="editor"||g.value==="owner");function y(ie){return i(`inspector.perm.${ie}`)===`inspector.perm.${ie}`?ie:i(`inspector.perm.${ie}`)}const E=r.ref("idle"),M=r.ref([]),D=r.ref(null),x=r.ref(!0),w=r.ref(!1),B=r.ref("idle"),N=r.ref([]);let G=0;async function F(){const ie=++G;if(D.value=null,M.value=[],N.value=[],l.value&&d.value&&u.value!=null?(E.value="loading",q(ie)):E.value="hidden",l.value){B.value="loading";const ge=l.value.path;try{const{shares:me}=await n.api.listShares(ge);if(ie!==G)return;N.value=Array.isArray(me)?me:[],B.value="ok"}catch{if(ie!==G)return;B.value="hidden"}}else B.value="hidden"}async function q(ie){const ge=u.value;if(ge!=null)try{const me=await n.api.listVersions(ge);if(ie!==G)return;M.value=me,E.value="ok"}catch(me){if(ie!==G)return;const we=me.status;we===401||we===403||we===404?E.value="hidden":E.value="error"}}function Y(ie){D.value=ie.id,x.value=!0}async function K(ie){const ge=u.value;if(!(ge==null||w.value)){w.value=!0;try{await n.api.restoreVersion(ge,ie.id,x.value),a("toast",i("inspector.versions.restored")),D.value=null,a("changed"),await q(++G)}catch(me){a("toast",me.message)}finally{w.value=!1}}}async function Q(){const ie=u.value;if(!(ie==null||w.value)){w.value=!0;try{await n.api.snapshotVersion(ie),a("toast",i("inspector.versions.snapshotted")),await q(++G)}catch(ge){const me=ge.status;me===404||me===405||me===501?a("toast",i("inspector.versions.unsupported")):a("toast",ge.message)}finally{w.value=!1}}}r.watch(()=>n.nodes.map(ie=>ie.path).join("\0"),()=>void F(),{immediate:!0});const re=r.ref("hidden"),$=r.ref([]),V=r.ref(""),z=r.ref(!1),U=r.computed(()=>{var ie;return typeof((ie=l.value)==null?void 0:ie.id)=="number"?l.value.id:null});let H=0;async function de(){const ie=++H,ge=U.value;if(ge==null){re.value="hidden",$.value=[];return}re.value=$.value.length>0?"ok":"loading";try{const me=await n.api.listComments(ge);if(ie!==H)return;$.value=me,re.value="ok"}catch(me){if(ie!==H)return;$.value=[];const we=me.status;re.value=we===401||we===403||we===404?"hidden":"error"}}async function he(){const ie=U.value,ge=V.value.trim();if(!(ie==null||ge===""||z.value)){z.value=!0;try{await n.api.addComment(ie,ge),V.value="",await de()}catch(me){a("toast",me.message)}finally{z.value=!1}}}async function ve(ie){if(!z.value){z.value=!0;try{await n.api.deleteComment(ie.id),await de()}catch(ge){a("toast",ge.message)}finally{z.value=!1}}}function xe(ie){const ge=Date.parse(ie);if(Number.isNaN(ge))return ie;const me=Math.round((ge-Date.now())/1e3),we=Math.abs(me),Ge=[["year",31536e3],["month",2592e3],["day",86400],["hour",3600],["minute",60]];try{const Xe=new Intl.RelativeTimeFormat(n.locale==="en"?"en":"tr",{numeric:"auto"});for(const[tt,Ke]of Ge)if(we>=Ke)return Xe.format(Math.trunc(me/Ke),tt);return Xe.format(me,"second")}catch{return b(ie)}}return r.watch(()=>U.value,()=>{$.value=[],V.value="",de()},{immediate:!0}),(ie,ge)=>(r.openBlock(),r.createElementBlock("aside",{class:r.normalizeClass(["fe-inspector",{"fe-inspector--overlay":e.narrow}]),role:"complementary","aria-label":r.unref(i)("inspector.title")},[r.createElementVNode("header",u3,[r.createElementVNode("h2",f3,r.toDisplayString(r.unref(i)("inspector.title")),1),r.createElementVNode("button",{type:"button",class:"fe-inspector__close",title:r.unref(i)("inspector.close"),"aria-label":r.unref(i)("inspector.close"),onClick:ge[0]||(ge[0]=me=>a("close"))},"×",8,h3)]),r.createElementVNode("div",p3,[r.createElementVNode("section",m3,[r.createElementVNode("h3",g3,r.toDisplayString(r.unref(i)("inspector.section.general")),1),c.value?(r.openBlock(),r.createElementBlock("div",v3,[r.createElementVNode("span",{class:"fe-inspector__bigicon",innerHTML:r.unref(Za)({type:"dir"})},null,8,y3),r.createElementVNode("p",b3,r.toDisplayString(r.unref(i)("inspector.items_summary",{n:e.nodes.length,size:r.unref(o)(h.value)})),1)])):l.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createElementVNode("div",_3,[p.value?(r.openBlock(),r.createElementBlock("img",{key:0,class:"fe-inspector__thumb",src:p.value,alt:"","aria-hidden":"true"},null,8,k3)):(r.openBlock(),r.createElementBlock("span",{key:1,class:"fe-inspector__bigicon",innerHTML:r.unref(Za)(l.value)},null,8,w3)),r.createElementVNode("p",{class:"fe-inspector__name",title:l.value.basename},r.toDisplayString(r.unref(s)(l.value)),9,x3)]),r.createElementVNode("dl",S3,[r.createElementVNode("div",E3,[r.createElementVNode("dt",null,r.toDisplayString(r.unref(i)("inspector.path")),1),r.createElementVNode("dd",C3,[r.createElementVNode("span",{class:"fe-inspector__path",title:l.value.path},r.toDisplayString(l.value.path),9,B3),r.createElementVNode("button",{type:"button",class:"fe-inspector__copy",title:r.unref(i)("inspector.copy"),"aria-label":r.unref(i)("inspector.copy"),onClick:ge[1]||(ge[1]=me=>m(l.value.path))},"⧉",8,D3)])]),d.value?(r.openBlock(),r.createElementBlock("div",T3,[r.createElementVNode("dt",null,r.toDisplayString(r.unref(i)("inspector.size")),1),r.createElementVNode("dd",null,r.toDisplayString(r.unref(o)(typeof l.value.size=="number"?l.value.size:null)),1)])):r.createCommentVNode("",!0),r.createElementVNode("div",A3,[r.createElementVNode("dt",null,r.toDisplayString(r.unref(i)("inspector.modified")),1),r.createElementVNode("dd",null,r.toDisplayString(v(l.value.last_modified)),1)]),d.value&&l.value.mime_type?(r.openBlock(),r.createElementBlock("div",M3,[r.createElementVNode("dt",null,r.toDisplayString(r.unref(i)("inspector.mime")),1),r.createElementVNode("dd",N3,r.toDisplayString(l.value.mime_type),1)])):r.createCommentVNode("",!0),f.value?(r.openBlock(),r.createElementBlock("div",I3,[r.createElementVNode("dt",null,r.toDisplayString(r.unref(i)("inspector.etag")),1),r.createElementVNode("dd",z3,[r.createElementVNode("span",{class:"fe-inspector__path",title:f.value},r.toDisplayString(k(f.value)),9,F3),r.createElementVNode("button",{type:"button",class:"fe-inspector__copy",title:r.unref(i)("inspector.copy"),"aria-label":r.unref(i)("inspector.copy"),onClick:ge[2]||(ge[2]=me=>m(f.value))},"⧉",8,L3)])])):r.createCommentVNode("",!0)])],64)):(r.openBlock(),r.createElementBlock("div",O3,[r.createElementVNode("span",{class:"fe-inspector__bigicon",innerHTML:r.unref(Za)({type:"dir"})},null,8,P3),r.createElementVNode("p",{class:"fe-inspector__name",title:e.dirLabel},r.toDisplayString(e.dirLabel),9,R3),r.createElementVNode("p",V3,r.toDisplayString(r.unref(i)("inspector.folder_items",{n:e.dirCount})),1)]))]),E.value==="ok"||E.value==="error"?(r.openBlock(),r.createElementBlock("section",$3,[r.createElementVNode("h3",U3,r.toDisplayString(r.unref(i)("inspector.section.versions")),1),E.value==="error"?(r.openBlock(),r.createElementBlock("p",H3,r.toDisplayString(r.unref(i)("inspector.error")),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[M.value.length===0?(r.openBlock(),r.createElementBlock("p",G3,r.toDisplayString(r.unref(i)("inspector.versions.empty")),1)):(r.openBlock(),r.createElementBlock("ul",j3,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(M.value,me=>(r.openBlock(),r.createElementBlock("li",{key:me.id,class:"fe-inspector__version"},[r.createElementVNode("div",q3,[r.createElementVNode("span",K3,r.toDisplayString(r.unref(i)("inspector.versions.v",{n:me.version_n})),1),r.createElementVNode("span",W3,r.toDisplayString(b(me.created_at))+" · "+r.toDisplayString(r.unref(o)(me.size)),1)]),D.value===me.id?(r.openBlock(),r.createElementBlock("div",Y3,[r.createElementVNode("p",X3,r.toDisplayString(r.unref(i)("inspector.versions.restore_confirm")),1),r.createElementVNode("label",Z3,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":ge[3]||(ge[3]=we=>x.value=we),type:"checkbox"},null,512),[[r.vModelCheckbox,x.value]]),r.createTextVNode(" "+r.toDisplayString(r.unref(i)("inspector.versions.snapshot_current")),1)]),r.createElementVNode("div",J3,[r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary fe-btn--sm",disabled:w.value,onClick:we=>K(me)},r.toDisplayString(r.unref(i)("inspector.versions.confirm")),9,Q3),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--sm",disabled:w.value,onClick:ge[4]||(ge[4]=we=>D.value=null)},r.toDisplayString(r.unref(i)("inspector.versions.cancel")),9,e5)])])):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-btn fe-btn--sm",disabled:w.value,onClick:we=>Y(me)},r.toDisplayString(r.unref(i)("inspector.versions.restore")),9,t5))]))),128))])),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--sm fe-inspector__snapshot",disabled:w.value,onClick:Q},r.toDisplayString(r.unref(i)("inspector.versions.take_snapshot")),9,n5)],64))])):r.createCommentVNode("",!0),l.value&&g.value?(r.openBlock(),r.createElementBlock("section",r5,[r.createElementVNode("h3",a5,r.toDisplayString(r.unref(i)("inspector.section.permissions")),1),r.createElementVNode("div",i5,[r.createElementVNode("span",{class:r.normalizeClass(["fe-inspector__badge",`fe-inspector__badge--${g.value}`])},r.toDisplayString(y(g.value)),3),_.value?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--sm",onClick:ge[5]||(ge[5]=me=>a("manage-permissions",l.value))},r.toDisplayString(r.unref(i)("inspector.perm.manage")),1)):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0),B.value==="ok"?(r.openBlock(),r.createElementBlock("section",o5,[r.createElementVNode("h3",l5,r.toDisplayString(r.unref(i)("inspector.section.shares")),1),N.value.length===0?(r.openBlock(),r.createElementBlock("p",s5,r.toDisplayString(r.unref(i)("inspector.shares.empty")),1)):(r.openBlock(),r.createElementBlock("ul",c5,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(N.value,me=>(r.openBlock(),r.createElementBlock("li",{key:me.uuid,class:"fe-inspector__share"},[r.createElementVNode("span",{class:"fe-inspector__share-url",title:me.url},r.toDisplayString(me.url),9,d5),me.password_pin?(r.openBlock(),r.createElementBlock("span",u5,"PIN")):r.createCommentVNode("",!0),me.expires_at?(r.openBlock(),r.createElementBlock("span",f5,r.toDisplayString(b(me.expires_at)),1)):r.createCommentVNode("",!0),r.createElementVNode("button",{type:"button",class:"fe-inspector__copy",title:r.unref(i)("inspector.shares.copy"),"aria-label":r.unref(i)("inspector.shares.copy"),onClick:we=>m(me.url)},"⧉",8,h5)]))),128))]))])):r.createCommentVNode("",!0),re.value==="ok"||re.value==="error"?(r.openBlock(),r.createElementBlock("section",p5,[r.createElementVNode("h3",m5,[r.createTextVNode(r.toDisplayString(r.unref(i)("inspector.section.comments"))+" ",1),$.value.length>0?(r.openBlock(),r.createElementBlock("span",g5,r.toDisplayString($.value.length),1)):r.createCommentVNode("",!0)]),re.value==="error"?(r.openBlock(),r.createElementBlock("p",v5,r.toDisplayString(r.unref(i)("inspector.error")),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[$.value.length===0?(r.openBlock(),r.createElementBlock("p",y5,r.toDisplayString(r.unref(i)("inspector.comments.empty")),1)):(r.openBlock(),r.createElementBlock("ul",b5,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList($.value,me=>(r.openBlock(),r.createElementBlock("li",{key:me.id,class:"fe-inspector__comment"},[r.createElementVNode("div",_5,[r.createElementVNode("span",{class:"fe-inspector__comment-author",title:me.author_name},r.toDisplayString(me.author_name||"—"),9,k5),r.createElementVNode("span",{class:"fe-inspector__comment-time",title:b(me.created_at)},r.toDisplayString(xe(me.created_at)),9,w5),me.can_delete?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-inspector__comment-del",disabled:z.value,title:r.unref(i)("inspector.comments.delete"),"aria-label":r.unref(i)("inspector.comments.delete"),onClick:we=>ve(me)},"×",8,x5)):r.createCommentVNode("",!0)]),r.createElementVNode("p",S5,r.toDisplayString(me.body),1)]))),128))])),r.createElementVNode("form",{class:"fe-inspector__comment-form",onSubmit:r.withModifiers(he,["prevent"])},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":ge[6]||(ge[6]=me=>V.value=me),type:"text",class:"fe-inspector__comment-input",maxlength:"5000",placeholder:r.unref(i)("inspector.comments.placeholder"),"aria-label":r.unref(i)("inspector.comments.placeholder"),disabled:z.value},null,8,E5),[[r.vModelText,V.value]]),r.createElementVNode("button",{type:"submit",class:"fe-btn fe-btn--primary fe-btn--sm",disabled:z.value||V.value.trim()===""},r.toDisplayString(r.unref(i)("inspector.comments.send")),9,C5)],32)],64))])):r.createCommentVNode("",!0)])],10,d3))}}),D5=["aria-label"],T5={class:"fe-cmdp__inputwrap"},A5=["placeholder"],M5=["aria-selected","onMouseenter","onClick"],N5={class:"fe-cmdp__icon","aria-hidden":"true"},I5={class:"fe-cmdp__label"},z5={class:"fe-cmdp__group"},F5=["aria-selected","onMouseenter","onClick"],L5={class:"fe-cmdp__icon","aria-hidden":"true"},O5={class:"fe-cmdp__label"},P5={class:"fe-cmdp__group"},R5={key:0,class:"fe-cmdp__loading"},V5=["aria-selected","onMouseenter","onClick"],$5={class:"fe-cmdp__icon","aria-hidden":"true"},U5={class:"fe-cmdp__hitbody"},H5={class:"fe-cmdp__hitline"},G5={class:"fe-cmdp__label"},j5={key:0,class:"fe-cmdp__badge"},q5=["title"],K5={key:1,class:"fe-cmdp__snippet"},W5={key:0,class:"fe-cmdp__mark"},Y5={class:"fe-cmdp__group"},X5=["aria-selected","onMouseenter","onClick","onKeydown"],Z5={class:"fe-cmdp__icon","aria-hidden":"true"},J5={class:"fe-cmdp__label"},Q5=["title","aria-label","onClick"],eb={class:"fe-cmdp__group"},tb=["aria-selected","onMouseenter","onClick"],nb={class:"fe-cmdp__icon","aria-hidden":"true"},rb={class:"fe-cmdp__label"},ab={key:4,class:"fe-cmdp__empty"},ib={class:"fe-cmdp__hint"},ob=3,lb=8,sb=250,bu="filex.saved-searches",_u=10,cb=r.defineComponent({__name:"CommandPalette",props:{open:{type:Boolean},locale:{},files:{},viewMode:{},canWrite:{type:Boolean},canGoUp:{type:Boolean},globalSearch:{type:Function},splitEnabled:{type:Boolean}},emits:["close","open-node","navigate","new-folder","upload","toggle-view","open-trash","refresh","go-up","open-hit","open-theme","open-shortcut-settings","start-tour","tab-new","split-toggle"],setup(e,{emit:t}){const n=e,a=t,{t:i,nodeDisplayName:o}=Gt(()=>n.locale),s=r.ref(""),l=r.ref(0),c=r.ref(null),d=r.ref(null);function u($,V){if(!V)return 0;const z=$.toLocaleLowerCase(),U=V.toLocaleLowerCase(),H=z.indexOf(U);if(H===-1)return-1;let de=100-Math.min(H,50);return H===0&&(de+=40),de-=Math.min(z.length,40)/4,de}const h=r.computed(()=>{const $=s.value.trim();if(!$.includes("/"))return[];const V=$.replace(/^\/+|\/+$/g,"");return V?[{kind:"goto",id:`goto:${V}`,label:`${i("palette.goto")}: ${V}`,icon:"➜",path:V}]:[]}),f=r.computed(()=>{const $=s.value.trim(),V=n.files.map(z=>({f:z,name:o(z),s:u(o(z),$)})).filter(z=>z.s>=0);return $&&V.sort((z,U)=>U.s-z.s),V.slice(0,8).map(z=>({kind:"file",id:`file:${z.f.path}`,label:z.name,icon:z.f.type==="dir"?"📁":"📄",node:z.f}))}),p=r.computed(()=>{const $=s.value.trim();return[{command:"new-folder",label:i("toolbar.new_folder"),icon:"📁",enabled:n.canWrite!==!1},{command:"upload",label:i("toolbar.upload"),icon:"⬆",enabled:n.canWrite!==!1},{command:"toggle-view",label:i("cmd.view_toggle"),icon:n.viewMode==="list"?"▦":n.viewMode==="grid"?"▣":"☰",enabled:!0},{command:"open-trash",label:i("cmd.trash"),icon:"🗑",enabled:!0},{command:"refresh",label:i("toolbar.refresh"),icon:"⟳",enabled:!0},{command:"go-up",label:i("toolbar.go_up"),icon:"↑",enabled:n.canGoUp!==!1},{command:"open-theme",label:i("theme.menu"),icon:"🎨",enabled:!0},{command:"open-shortcut-settings",label:i("shortcuts.settings.menu"),icon:"⌨",enabled:!0},{command:"start-tour",label:i("tour.restart"),icon:"🎓",enabled:!0},{command:"tab-new",label:i("cmd.tab_new"),icon:"⧉",enabled:!0},{command:"split-toggle",label:i("cmd.split_toggle"),icon:"◫",enabled:n.splitEnabled!==!1}].filter(z=>z.enabled&&u(z.label,$)>=0).map(z=>({kind:"command",id:`cmd:${z.command}`,label:z.label,icon:z.icon,command:z.command}))}),k=r.ref([]),v=r.ref(!1);let b,m=0;function g($){b&&clearTimeout(b);const V=n.globalSearch;if(!V||$.length<ob){k.value=[],v.value=!1;return}v.value=!0,b=setTimeout(async()=>{const z=++m;try{const U=await V($);if(z!==m)return;k.value=Array.isArray(U)?U.slice(0,lb):[]}catch{z===m&&(k.value=[])}finally{z===m&&(v.value=!1)}},sb)}function _($){const V=String($.path??"").replace(/^\/+|\/+$/g,""),z=V.lastIndexOf("/"),U=z===-1?"":V.slice(0,z),H=typeof $.storage=="string"&&$.storage||typeof $.storage_name=="string"&&$.storage_name||"";return H&&U?`${H}/${U}`:H||U||"/"}const y=r.computed(()=>k.value.map($=>({kind:"hit",id:`hit:${$.storage_id??""}:${$.path??""}:${$.id??""}`,label:String($.name??$.path??""),icon:$.type==="dir"?"📁":"📄",hit:$,crumb:_($),inContent:Ks($.matched),snippet:typeof $.snippet=="string"?$.snippet:""}))),E=r.ref([]);function M(){try{const $=localStorage.getItem(bu);if(!$)return[];const V=JSON.parse($);return Array.isArray(V)?V.filter(z=>typeof z=="string"&&z.trim()!=="").slice(0,_u):[]}catch{return[]}}function D($){E.value=$.slice(0,_u);try{localStorage.setItem(bu,JSON.stringify(E.value))}catch{}}function x($){const V=$.trim();if(!V)return;const z=E.value.filter(U=>U!==V);z.unshift(V),D(z)}function w($){D(E.value.filter(V=>V!==$)),l.value>=N.value.length&&(l.value=Math.max(0,N.value.length-1))}const B=r.computed(()=>{const $=s.value.trim(),V=[];$&&!E.value.includes($)&&V.push({kind:"save",id:`save:${$}`,label:`${i("palette.save")}: ${$}`,icon:"💾",query:$});const z=E.value.map(U=>({s:U,sc:u(U,$)})).filter(U=>U.sc>=0||!$);for(const U of z)V.push({kind:"saved",id:`saved:${U.s}`,label:U.s,icon:"🔖",query:U.s});return V}),N=r.computed(()=>[...h.value,...f.value,...y.value,...B.value,...p.value]),G=r.computed(()=>h.value.length),F=r.computed(()=>G.value+f.value.length),q=r.computed(()=>F.value+y.value.length),Y=r.computed(()=>q.value+B.value.length);r.watch(s,$=>{l.value=0,g($.trim())});function K($){const V=N.value.length;V&&(l.value=(l.value+$+V)%V,r.nextTick(()=>{var z,U;(U=(z=d.value)==null?void 0:z.querySelector(".is-active"))==null||U.scrollIntoView({block:"nearest"})}))}function Q($){const V=$??N.value[l.value];if(V){if(V.kind==="saved"){s.value=V.query,r.nextTick(()=>{var z;return(z=c.value)==null?void 0:z.focus()});return}if(V.kind==="save"){x(V.query),r.nextTick(()=>{var z;return(z=c.value)==null?void 0:z.focus()});return}if(a("close"),V.kind==="hit"){a("open-hit",V.hit);return}if(V.kind==="file")a("open-node",V.node);else if(V.kind==="goto")a("navigate",V.path);else switch(V.command){case"new-folder":a("new-folder");break;case"upload":a("upload");break;case"toggle-view":a("toggle-view");break;case"open-trash":a("open-trash");break;case"refresh":a("refresh");break;case"go-up":a("go-up");break;case"open-theme":a("open-theme");break;case"open-shortcut-settings":a("open-shortcut-settings");break;case"start-tour":a("start-tour");break;case"tab-new":a("tab-new");break;case"split-toggle":a("split-toggle");break}}}function re($){if(n.open)switch($.key){case"ArrowDown":$.preventDefault(),$.stopPropagation(),K(1);break;case"ArrowUp":$.preventDefault(),$.stopPropagation(),K(-1);break;case"Enter":$.preventDefault(),$.stopPropagation(),Q();break;case"Escape":$.preventDefault(),$.stopPropagation(),a("close");break}}return r.watch(()=>n.open,$=>{$?(s.value="",l.value=0,k.value=[],v.value=!1,E.value=M(),document.addEventListener("keydown",re,!0),r.nextTick(()=>{var V;return(V=c.value)==null?void 0:V.focus()})):(b&&clearTimeout(b),document.removeEventListener("keydown",re,!0))}),r.onBeforeUnmount(()=>{b&&clearTimeout(b),document.removeEventListener("keydown",re,!0)}),($,V)=>(r.openBlock(),r.createBlock(r.Transition,{name:"fe-modal"},{default:r.withCtx(()=>[e.open?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fe-modal__backdrop fe-cmdp__backdrop",role:"presentation",onClick:V[2]||(V[2]=z=>a("close"))},[r.createElementVNode("div",{class:"fe-cmdp",role:"dialog","aria-modal":"true","aria-label":r.unref(i)("palette.placeholder"),onClick:V[1]||(V[1]=r.withModifiers(()=>{},["stop"]))},[r.createElementVNode("div",T5,[V[3]||(V[3]=r.createElementVNode("svg",{class:"fe-cmdp__glyph",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","aria-hidden":"true"},[r.createElementVNode("circle",{cx:"7",cy:"7",r:"4.5"}),r.createElementVNode("path",{d:"m10.5 10.5 3.5 3.5"})],-1)),r.withDirectives(r.createElementVNode("input",{ref_key:"inputEl",ref:c,"onUpdate:modelValue":V[0]||(V[0]=z=>s.value=z),type:"text",class:"fe-cmdp__input",placeholder:r.unref(i)("palette.placeholder"),autocomplete:"off",spellcheck:"false"},null,8,A5),[[r.vModelText,s.value]])]),r.createElementVNode("div",{ref_key:"listEl",ref:d,class:"fe-cmdp__list",role:"listbox"},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(h.value,(z,U)=>(r.openBlock(),r.createElementBlock("button",{key:z.id,type:"button",class:r.normalizeClass(["fe-cmdp__item",{"is-active":U===l.value}]),role:"option","aria-selected":U===l.value,onMouseenter:H=>l.value=U,onClick:H=>Q(z)},[r.createElementVNode("span",N5,r.toDisplayString(z.icon),1),r.createElementVNode("span",I5,r.toDisplayString(z.label),1)],42,M5))),128)),f.value.length?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("div",z5,r.toDisplayString(r.unref(i)("palette.files")),1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(f.value,(z,U)=>(r.openBlock(),r.createElementBlock("button",{key:z.id,type:"button",class:r.normalizeClass(["fe-cmdp__item",{"is-active":G.value+U===l.value}]),role:"option","aria-selected":G.value+U===l.value,onMouseenter:H=>l.value=G.value+U,onClick:H=>Q(z)},[r.createElementVNode("span",L5,r.toDisplayString(z.icon),1),r.createElementVNode("span",O5,r.toDisplayString(z.label),1)],42,F5))),128))],64)):r.createCommentVNode("",!0),y.value.length||v.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createElementVNode("div",P5,r.toDisplayString(r.unref(i)("palette.everywhere")),1),v.value&&!y.value.length?(r.openBlock(),r.createElementBlock("div",R5,r.toDisplayString(r.unref(i)("palette.searching")),1)):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(y.value,(z,U)=>(r.openBlock(),r.createElementBlock("button",{key:z.id,type:"button",class:r.normalizeClass(["fe-cmdp__item fe-cmdp__item--hit",{"is-active":F.value+U===l.value}]),role:"option","aria-selected":F.value+U===l.value,onMouseenter:H=>l.value=F.value+U,onClick:H=>Q(z)},[r.createElementVNode("span",$5,r.toDisplayString(z.icon),1),r.createElementVNode("span",U5,[r.createElementVNode("span",H5,[r.createElementVNode("span",G5,r.toDisplayString(z.label),1),z.inContent?(r.openBlock(),r.createElementBlock("span",j5,r.toDisplayString(r.unref(i)("search.in_content")),1)):r.createCommentVNode("",!0)]),z.crumb?(r.openBlock(),r.createElementBlock("span",{key:0,class:"fe-cmdp__crumb",title:z.crumb},r.toDisplayString(z.crumb),9,q5)):r.createCommentVNode("",!0),z.snippet?(r.openBlock(),r.createElementBlock("span",K5,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(qi)(z.snippet),(H,de)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:de},[H.match?(r.openBlock(),r.createElementBlock("mark",W5,r.toDisplayString(H.text),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(r.toDisplayString(H.text),1)],64))],64))),128))])):r.createCommentVNode("",!0)])],42,V5))),128))],64)):r.createCommentVNode("",!0),B.value.length?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[r.createElementVNode("div",Y5,r.toDisplayString(r.unref(i)("palette.saved")),1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(B.value,(z,U)=>(r.openBlock(),r.createElementBlock("div",{key:z.id,class:r.normalizeClass(["fe-cmdp__item fe-cmdp__item--saved",{"is-active":q.value+U===l.value}]),role:"option","aria-selected":q.value+U===l.value,tabindex:"-1",onMouseenter:H=>l.value=q.value+U,onClick:H=>Q(z),onKeydown:r.withKeys(r.withModifiers(H=>Q(z),["prevent"]),["enter"])},[r.createElementVNode("span",Z5,r.toDisplayString(z.icon),1),r.createElementVNode("span",J5,r.toDisplayString(z.label),1),z.kind==="saved"?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-cmdp__del",title:r.unref(i)("palette.saved.delete"),"aria-label":r.unref(i)("palette.saved.delete"),onClick:r.withModifiers(H=>w(z.query),["stop"])},"🗑",8,Q5)):r.createCommentVNode("",!0)],42,X5))),128))],64)):r.createCommentVNode("",!0),p.value.length?(r.openBlock(),r.createElementBlock(r.Fragment,{key:3},[r.createElementVNode("div",eb,r.toDisplayString(r.unref(i)("palette.commands")),1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(p.value,(z,U)=>(r.openBlock(),r.createElementBlock("button",{key:z.id,type:"button",class:r.normalizeClass(["fe-cmdp__item",{"is-active":Y.value+U===l.value}]),role:"option","aria-selected":Y.value+U===l.value,onMouseenter:H=>l.value=Y.value+U,onClick:H=>Q(z)},[r.createElementVNode("span",nb,r.toDisplayString(z.icon),1),r.createElementVNode("span",rb,r.toDisplayString(z.label),1)],42,tb))),128))],64)):r.createCommentVNode("",!0),N.value.length===0&&!v.value?(r.openBlock(),r.createElementBlock("div",ab,r.toDisplayString(r.unref(i)("palette.empty")),1)):r.createCommentVNode("",!0)],512),r.createElementVNode("div",ib,r.toDisplayString(r.unref(i)("palette.hint")),1)],8,D5)])):r.createCommentVNode("",!0)]),_:1}))}}),db=["aria-labelledby","aria-label"],ub={key:0,class:"fe-modal__head"},fb={class:"fe-modal__body"},hb={key:1,class:"fe-modal__actions"},ku='input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),a[href],[tabindex]:not([tabindex="-1"])',Rr=r.defineComponent({__name:"Modal",props:{open:{type:Boolean},title:{},size:{},closeOnBackdrop:{type:Boolean},chromeless:{type:Boolean},theme:{}},emits:["close"],setup(e,{emit:t}){const n=e,a=t,i=r.ref(null);let o=0;const s=`fe-modal-title-${++o}-${Math.random().toString(36).slice(2,7)}`;let l=null;r.watch(()=>n.open,u=>{var h;u?(l=document.activeElement??null,document.addEventListener("keydown",c),setTimeout(()=>{var p;const f=(p=i.value)==null?void 0:p.querySelector(ku);f==null||f.focus()},30)):(document.removeEventListener("keydown",c),(h=l==null?void 0:l.focus)==null||h.call(l),l=null)}),r.onBeforeUnmount(()=>document.removeEventListener("keydown",c));function c(u){if(u.key==="Escape"){a("close");return}if(u.key==="Tab"&&i.value){const h=Array.from(i.value.querySelectorAll(ku)).filter(v=>v.offsetParent!==null||v===document.activeElement);if(h.length===0)return;const f=h[0],p=h[h.length-1],k=document.activeElement;u.shiftKey&&(k===f||!i.value.contains(k))?(u.preventDefault(),p.focus()):!u.shiftKey&&(k===p||!i.value.contains(k))&&(u.preventDefault(),f.focus())}}function d(){n.closeOnBackdrop!==!1&&a("close")}return(u,h)=>(r.openBlock(),r.createBlock(r.Transition,{name:"fe-modal"},{default:r.withCtx(()=>[e.open?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe fe-modal__backdrop",[{"fe-modal__backdrop--chromeless":e.chromeless},e.theme==="light"?"fe--theme-light":"",e.theme==="dark"?"fe--theme-dark":""]]),role:"presentation",onClick:d},[r.createElementVNode("div",{ref_key:"cardEl",ref:i,class:r.normalizeClass(["fe-modal__card",[`fe-modal__card--${e.size||"md"}`,e.chromeless&&"fe-modal__card--chromeless"]]),role:"dialog","aria-modal":"true","aria-labelledby":e.title&&!e.chromeless?s:void 0,"aria-label":(!e.title||e.chromeless)&&e.title||void 0,onClick:h[1]||(h[1]=r.withModifiers(()=>{},["stop"]))},[e.title&&!e.chromeless?(r.openBlock(),r.createElementBlock("header",ub,[r.createElementVNode("h2",{id:s,class:"fe-modal__title"},r.toDisplayString(e.title),1),r.createElementVNode("button",{type:"button",class:"fe-modal__close","aria-label":"Close",onClick:h[0]||(h[0]=f=>a("close"))},"×")])):r.createCommentVNode("",!0),r.createElementVNode("div",fb,[r.renderSlot(u.$slots,"default")]),u.$slots.actions&&!e.chromeless?(r.openBlock(),r.createElementBlock("footer",hb,[r.renderSlot(u.$slots,"actions")])):r.createCommentVNode("",!0)],10,db)],2)):r.createCommentVNode("",!0)]),_:3}))}}),pb={class:"fe-shortcuts"},mb={class:"fe-shortcuts__heading"},gb={class:"fe-shortcuts__table"},vb={class:"fe-shortcuts__keys"},yb={key:0,class:"fe-shortcuts__unbound"},bb={class:"fe-kbd"},_b={key:0,class:"fe-shortcuts__or","aria-hidden":"true"},kb={class:"fe-shortcuts__desc"},wb=["title"],xb=r.defineComponent({__name:"ShortcutsHelp",props:{open:{type:Boolean},locale:{}},emits:["close","customize"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale),o=Hs(),s=r.computed(()=>{const l=[],c=new Map;for(const d of o.value)c.has(d.groupKey)||(c.set(d.groupKey,[]),l.push(d.groupKey)),c.get(d.groupKey).push(d);return l.map(d=>({key:d,items:c.get(d)}))});return(l,c)=>(r.openBlock(),r.createBlock(Rr,{open:e.open,title:r.unref(i)("shortcuts.title"),size:"md",onClose:c[2]||(c[2]=d=>a("close"))},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:c[0]||(c[0]=d=>a("customize"))}," ⌨ "+r.toDisplayString(r.unref(i)("shortcuts.customize")),1),r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:c[1]||(c[1]=d=>a("close"))},r.toDisplayString(r.unref(i)("viewer.close")),1)]),default:r.withCtx(()=>[r.createElementVNode("div",pb,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.value,d=>(r.openBlock(),r.createElementBlock("section",{key:d.key,class:"fe-shortcuts__group"},[r.createElementVNode("h3",mb,r.toDisplayString(r.unref(i)(d.key)),1),r.createElementVNode("div",gb,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(d.items,u=>(r.openBlock(),r.createElementBlock("div",{key:u.id,class:"fe-shortcuts__row"},[r.createElementVNode("span",vb,[u.keys.length===0?(r.openBlock(),r.createElementBlock("span",yb,r.toDisplayString(r.unref(i)("shortcuts.settings.unbound")),1)):(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(u.keys,(h,f)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:h},[r.createElementVNode("kbd",bb,r.toDisplayString(h),1),f<u.keys.length-1?(r.openBlock(),r.createElementBlock("span",_b,"/")):r.createCommentVNode("",!0)],64))),128))]),r.createElementVNode("span",kb,[r.createTextVNode(r.toDisplayString(r.unref(i)(u.labelKey))+" ",1),u.overridden?(r.openBlock(),r.createElementBlock("span",{key:0,class:"fe-shortcuts__custom",title:r.unref(i)("shortcuts.settings.customized")},"●",8,wb)):r.createCommentVNode("",!0)])]))),128))])]))),128))])]),_:1},8,["open","title"]))}}),Ki="filex.theme",dr="default",Zo=[{id:dr,nameKey:"theme.name.default",light:{"--fe-bg":"#ffffff","--fe-bg-elev":"#f7f8fa","--fe-bg-hover":"#edf0f5","--fe-bg-selected":"#dfe8ff","--fe-border":"#e2e6ed","--fe-border-strong":"#c7ced9","--fe-text":"#1a1e27","--fe-text-muted":"#5a6475","--fe-text-on-primary":"#ffffff","--fe-primary":"#3b82f6","--fe-primary-hover":"#2563eb","--fe-danger":"#dc2626","--fe-danger-hover":"#b91c1c"},dark:{"--fe-bg":"#0f1419","--fe-bg-elev":"#161c25","--fe-bg-hover":"#1f2733","--fe-bg-selected":"#23324a","--fe-border":"#2a323e","--fe-border-strong":"#3a4453","--fe-text":"#e5e9f0","--fe-text-muted":"#8b95a7","--fe-text-on-primary":"#ffffff","--fe-primary":"#60a5fa","--fe-primary-hover":"#3b82f6","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"night",nameKey:"theme.name.night",light:{"--fe-bg":"#f6f8fd","--fe-bg-elev":"#edf1fa","--fe-bg-hover":"#e2e9f7","--fe-bg-selected":"#d2ddf4","--fe-border":"#d6deee","--fe-border-strong":"#aebfda","--fe-text":"#151f38","--fe-text-muted":"#49587a","--fe-text-on-primary":"#ffffff","--fe-primary":"#2c4a9e","--fe-primary-hover":"#213a80","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f"},dark:{"--fe-bg":"#0a1024","--fe-bg-elev":"#111a35","--fe-bg-hover":"#1a2547","--fe-bg-selected":"#243665","--fe-border":"#26335a","--fe-border-strong":"#3c4e84","--fe-text":"#dfe6f7","--fe-text-muted":"#96a5cc","--fe-text-on-primary":"#050b26","--fe-primary":"#6d8dfc","--fe-primary-hover":"#5273f2","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"forest",nameKey:"theme.name.forest",light:{"--fe-bg":"#f5faf5","--fe-bg-elev":"#eaf3eb","--fe-bg-hover":"#dcecdf","--fe-bg-selected":"#c8e2ce","--fe-border":"#d2e2d4","--fe-border-strong":"#a2c3a8","--fe-text":"#182b1d","--fe-text-muted":"#42604a","--fe-text-on-primary":"#ffffff","--fe-primary":"#2b7a41","--fe-primary-hover":"#226334","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f"},dark:{"--fe-bg":"#0d1611","--fe-bg-elev":"#132019","--fe-bg-hover":"#1b2d23","--fe-bg-selected":"#264532","--fe-border":"#28402f","--fe-border-strong":"#3e5f49","--fe-text":"#dcebe0","--fe-text-muted":"#93b09b","--fe-text-on-primary":"#04180b","--fe-primary":"#54c17a","--fe-primary-hover":"#3fae66","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"amber",nameKey:"theme.name.amber",light:{"--fe-bg":"#fdf9f0","--fe-bg-elev":"#f7efdd","--fe-bg-hover":"#f0e3c8","--fe-bg-selected":"#ead6ab","--fe-border":"#e6dabf","--fe-border-strong":"#c6b184","--fe-text":"#33270f","--fe-text-muted":"#655631","--fe-text-on-primary":"#ffffff","--fe-primary":"#9a4b00","--fe-primary-hover":"#7c3c00","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f"},dark:{"--fe-bg":"#191307","--fe-bg-elev":"#231a0c","--fe-bg-hover":"#2f2312","--fe-bg-selected":"#44331b","--fe-border":"#3b2e17","--fe-border-strong":"#5b4a29","--fe-text":"#f2e7d4","--fe-text-muted":"#bda887","--fe-text-on-primary":"#2a1c02","--fe-primary":"#f5a524","--fe-primary-hover":"#ffb84d","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"lilac",nameKey:"theme.name.lilac",light:{"--fe-bg":"#faf7fd","--fe-bg-elev":"#f2ecfa","--fe-bg-hover":"#e8ddf5","--fe-bg-selected":"#dccaf0","--fe-border":"#e1d6ee","--fe-border-strong":"#bda6d9","--fe-text":"#241a33","--fe-text-muted":"#584871","--fe-text-on-primary":"#ffffff","--fe-primary":"#7231e0","--fe-primary-hover":"#5f21c4","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f"},dark:{"--fe-bg":"#130f1c","--fe-bg-elev":"#1b1527","--fe-bg-hover":"#261d37","--fe-bg-selected":"#37294f","--fe-border":"#302546","--fe-border-strong":"#4b3a6d","--fe-text":"#e9e2f5","--fe-text-muted":"#a999c5","--fe-text-on-primary":"#180d33","--fe-primary":"#b197fa","--fe-primary-hover":"#9c7cf4","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"contrast",nameKey:"theme.name.contrast",light:{"--fe-bg":"#ffffff","--fe-bg-elev":"#f2f2f2","--fe-bg-hover":"#e0e0e0","--fe-bg-selected":"#c9dcff","--fe-border":"#5c5c5c","--fe-border-strong":"#000000","--fe-text":"#000000","--fe-text-muted":"#3d3d3d","--fe-text-on-primary":"#ffffff","--fe-primary":"#003d99","--fe-primary-hover":"#002a6b","--fe-danger":"#a80000","--fe-danger-hover":"#7d0000","--fe-shadow":"0 0 0 1px #000000, 0 10px 32px rgba(0, 0, 0, 0.25)","--fe-shadow-sm":"0 0 0 1px #000000"},dark:{"--fe-bg":"#000000","--fe-bg-elev":"#0d0d0d","--fe-bg-hover":"#212121","--fe-bg-selected":"#003d80","--fe-border":"#8f8f8f","--fe-border-strong":"#ffffff","--fe-text":"#ffffff","--fe-text-muted":"#d6d6d6","--fe-text-on-primary":"#001430","--fe-primary":"#7ab8ff","--fe-primary-hover":"#9ccaff","--fe-danger":"#ff7575","--fe-danger-hover":"#ff9999","--fe-shadow":"0 0 0 1px #ffffff, 0 12px 32px rgba(0, 0, 0, 0.65)","--fe-shadow-sm":"0 0 0 1px #ffffff"}},{id:"gray",nameKey:"theme.name.gray",light:{"--fe-bg":"#f7f7f8","--fe-bg-elev":"#efeff1","--fe-bg-hover":"#e4e4e7","--fe-bg-selected":"#d6d7db","--fe-border":"#dfdfe2","--fe-border-strong":"#b9b9c0","--fe-text":"#26272b","--fe-text-muted":"#585a63","--fe-text-on-primary":"#ffffff","--fe-primary":"#4b4b54","--fe-primary-hover":"#38383f","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f"},dark:{"--fe-bg":"#131316","--fe-bg-elev":"#1b1b1f","--fe-bg-hover":"#26262b","--fe-bg-selected":"#35353c","--fe-border":"#2d2d33","--fe-border-strong":"#4a4a52","--fe-text":"#e6e6e9","--fe-text-muted":"#a4a4ad","--fe-text-on-primary":"#17171b","--fe-primary":"#b0b0ba","--fe-primary-hover":"#c4c4cd","--fe-danger":"#f87171","--fe-danger-hover":"#ef4444"}},{id:"terminal",nameKey:"theme.name.terminal",light:{"--fe-bg":"#f3f9f4","--fe-bg-elev":"#e5f2e8","--fe-bg-hover":"#d5ead9","--fe-bg-selected":"#bce3c6","--fe-border":"#cbe2d1","--fe-border-strong":"#94c2a0","--fe-text":"#0c2913","--fe-text-muted":"#31573c","--fe-text-on-primary":"#ffffff","--fe-primary":"#116b33","--fe-primary-hover":"#0c5427","--fe-danger":"#c62828","--fe-danger-hover":"#a51f1f","--fe-font":'ui-monospace, "SF Mono", Consolas, Menlo, monospace'},dark:{"--fe-bg":"#050d07","--fe-bg-elev":"#0a1710","--fe-bg-hover":"#112418","--fe-bg-selected":"#1a3a26","--fe-border":"#1c3a2a","--fe-border-strong":"#316144","--fe-text":"#4fdd8b","--fe-text-muted":"#38a668","--fe-text-on-primary":"#03180a","--fe-primary":"#25c95e","--fe-primary-hover":"#4fdd8b","--fe-danger":"#ff6b62","--fe-danger-hover":"#ff8d86","--fe-font":'ui-monospace, "SF Mono", Consolas, Menlo, monospace'}}];function Ja(e){return Zo.find(t=>t.id===e)}const Sb=Array.from(new Set(Zo.flatMap(e=>[...Object.keys(e.light),...Object.keys(e.dark)])));function Eb(){try{const e=localStorage.getItem(Ki);return e&&Ja(e)?e:dr}catch{return dr}}const Ys=r.ref(typeof window>"u"?dr:Eb());function wu(e){const t=Ja(e)?e:dr;Ys.value=t;try{t===dr?localStorage.removeItem(Ki):localStorage.setItem(Ki,t)}catch{}}function xu(){return{themeId:Ys,setTheme:wu}}if(typeof window<"u")try{window.addEventListener("storage",e=>{e.key===Ki&&(Ys.value=e.newValue&&Ja(e.newValue)?e.newValue:dr)})}catch{}function Su(e,t,n){for(const o of Sb)e.style.removeProperty(o);if(t===dr)return;const a=Ja(t);if(!a)return;const i=n?a.dark:a.light;for(const[o,s]of Object.entries(i))e.style.setProperty(o,s)}const Eu="data-filex-theme";function Cu(e){return Object.entries(e).map(([t,n])=>`${t}:${n};`).join("")}function Bu(e){const t=Cu(e.light),n=Cu(e.dark),a=[".fe--theme-dark",":root[data-theme='dark'] .fe",".fe.fe--theme-dark",":root.dark",".dark",":root.dark .fe",".dark .fe",".fe-ctx-backdrop--theme-dark",".fe-ctx-backdrop--theme-auto[data-prefers-dark='1']"].join(","),i=[".fe:not(.fe--theme-light)",".fe-ctx-backdrop--theme-auto:not(.fe-ctx-backdrop--theme-light)"].join(",");return`/* filex theme: ${e.id} */:root,.fe{${t}}${a}{${n}}@media (prefers-color-scheme: dark){${i}{${n}}}`}function Du(e){if(typeof document>"u")return;let t=document.head.querySelector(`style[${Eu}]`);const n=e===dr?void 0:Ja(e);if(!n){t&&(t.textContent="");return}t?t!==document.head.lastElementChild&&document.head.appendChild(t):(t=document.createElement("style"),t.setAttribute(Eu,""),document.head.appendChild(t));const a=Bu(n);t.textContent!==a&&(t.textContent=a)}const Cb={class:"fe-themes__hint"},Bb=["aria-label"],Db=["aria-selected","onClick"],Tb={class:"fe-themecard__name"},Ab=["title"],Mb=["disabled"],Tu=r.defineComponent({__name:"ThemeGallery",props:{open:{type:Boolean},locale:{},theme:{},dark:{type:Boolean},current:{}},emits:["close","select"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale);function o(l){return n.dark?l.dark:l.light}const s=dr;return(l,c)=>(r.openBlock(),r.createBlock(Rr,{open:e.open,title:r.unref(i)("theme.title"),size:"lg",theme:e.theme,onClose:c[2]||(c[2]=d=>a("close"))},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"fe-btn",disabled:e.current===r.unref(s),onClick:c[0]||(c[0]=d=>a("select",r.unref(s)))},r.toDisplayString(r.unref(i)("theme.reset")),9,Mb),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:c[1]||(c[1]=d=>a("close"))},r.toDisplayString(r.unref(i)("theme.close")),1)]),default:r.withCtx(()=>[r.createElementVNode("p",Cb,r.toDisplayString(r.unref(i)("theme.hint")),1),r.createElementVNode("div",{class:"fe-themes",role:"listbox","aria-label":r.unref(i)("theme.title")},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(Zo),d=>(r.openBlock(),r.createElementBlock("button",{key:d.id,type:"button",class:r.normalizeClass(["fe-themecard",{"is-selected":d.id===e.current}]),role:"option","aria-selected":d.id===e.current,style:r.normalizeStyle(o(d)),onClick:u=>a("select",d.id)},[c[3]||(c[3]=r.createElementVNode("span",{class:"fe-themecard__preview","aria-hidden":"true"},[r.createElementVNode("span",{class:"fe-themecard__topbar"},[r.createElementVNode("span",{class:"fe-themecard__chip fe-themecard__chip--primary"}),r.createElementVNode("span",{class:"fe-themecard__chip"}),r.createElementVNode("span",{class:"fe-themecard__chip fe-themecard__chip--ghost"})]),r.createElementVNode("span",{class:"fe-themecard__row"},[r.createElementVNode("span",{class:"fe-themecard__dot"}),r.createElementVNode("span",{class:"fe-themecard__line",style:{width:"62%"}})]),r.createElementVNode("span",{class:"fe-themecard__row fe-themecard__row--selected"},[r.createElementVNode("span",{class:"fe-themecard__dot fe-themecard__dot--primary"}),r.createElementVNode("span",{class:"fe-themecard__line",style:{width:"44%"}})]),r.createElementVNode("span",{class:"fe-themecard__row"},[r.createElementVNode("span",{class:"fe-themecard__dot fe-themecard__dot--muted"}),r.createElementVNode("span",{class:"fe-themecard__line fe-themecard__line--muted",style:{width:"74%"}})])],-1)),r.createElementVNode("span",Tb,[r.createTextVNode(r.toDisplayString(r.unref(i)(d.nameKey))+" ",1),d.id===e.current?(r.openBlock(),r.createElementBlock("span",{key:0,class:"fe-themecard__check",title:r.unref(i)("theme.selected")},"✓",8,Ab)):r.createCommentVNode("",!0)])],14,Db))),128))],8,Bb)]),_:1},8,["open","title","theme"]))}}),Nb={class:"fe-shortset"},Ib={class:"fe-shortset__topbar"},zb={class:"fe-shortset__hint"},Fb=["disabled"],Lb={class:"fe-shortcuts__heading"},Ob={class:"fe-shortset__row"},Pb={class:"fe-shortset__label"},Rb=["title"],Vb={class:"fe-shortset__keys"},$b={key:0,class:"fe-shortset__capture",role:"status"},Ub={key:0,class:"fe-shortcuts__unbound"},Hb={class:"fe-kbd"},Gb={key:0,class:"fe-shortcuts__or","aria-hidden":"true"},jb={class:"fe-shortset__actions"},qb=["onClick"],Kb=["title","aria-label","onClick"],Wb={key:1,class:"fe-shortset__fixed"},Yb={key:0,class:"fe-shortset__conflict",role:"alert"},Xb={class:"fe-shortset__conflict-msg"},Zb={class:"fe-kbd"},Jb={class:"fe-shortset__conflict-actions"},Au=r.defineComponent({__name:"ShortcutSettings",props:{open:{type:Boolean},locale:{},theme:{}},emits:["close"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale),o=Hs(),s=r.computed(()=>{const y=[],E=new Map;for(const M of o.value)E.has(M.groupKey)||(E.set(M.groupKey,[]),y.push(M.groupKey)),E.get(M.groupKey).push(M);return y.map(M=>({key:M,items:E.get(M)}))}),l=r.computed(()=>o.value.some(y=>y.overridden)),c=r.ref(null),d=r.ref(null);function u(y){const E=oa.find(M=>M.id===y);return E?i(E.labelKey):y}function h(y){d.value=null,c.value=y}function f(){c.value=null}function p(y,E){if(c.value=null,E===Gi(y))return;const M=tu(E,y);if(M){d.value={id:y,combo:E,conflictId:M.id,fixed:M.fixed};return}Go(y,E)}function k(){const y=d.value;!y||y.fixed||(Go(y.conflictId,""),Go(y.id,y.combo),d.value=null)}function v(){d.value=null}function b(y){d.value=null,Qd(y)}function m(){d.value=null,c.value=null,eu()}function g(y){if(c.value){if(y.preventDefault(),y.stopPropagation(),y.key==="Escape"){f();return}const E=Us(y);if(!E)return;p(c.value,E);return}y.key==="Escape"||y.key==="Tab"||y.stopPropagation()}r.watch(()=>n.open,y=>{y?window.addEventListener("keydown",g,!0):(window.removeEventListener("keydown",g,!0),c.value=null,d.value=null)}),r.onBeforeUnmount(()=>window.removeEventListener("keydown",g,!0));function _(){if(c.value){f();return}a("close")}return(y,E)=>(r.openBlock(),r.createBlock(Rr,{open:e.open,title:r.unref(i)("shortcuts.settings.title"),size:"lg",theme:e.theme,onClose:_},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:_},r.toDisplayString(r.unref(i)("viewer.close")),1)]),default:r.withCtx(()=>[r.createElementVNode("div",Nb,[r.createElementVNode("div",Ib,[r.createElementVNode("p",zb,r.toDisplayString(r.unref(i)("shortcuts.settings.hint")),1),r.createElementVNode("button",{type:"button",class:"fe-btn fe-shortset__reset-all",disabled:!l.value,onClick:m}," ↺ "+r.toDisplayString(r.unref(i)("shortcuts.settings.reset_all")),9,Fb)]),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.value,M=>(r.openBlock(),r.createElementBlock("section",{key:M.key,class:"fe-shortset__group"},[r.createElementVNode("h3",Lb,r.toDisplayString(r.unref(i)(M.key)),1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(M.items,D=>{var x;return r.openBlock(),r.createElementBlock("div",{key:D.id,class:r.normalizeClass(["fe-shortset__item",{"is-capturing":c.value===D.id,"is-conflict":((x=d.value)==null?void 0:x.id)===D.id}])},[r.createElementVNode("div",Ob,[r.createElementVNode("span",Pb,[r.createTextVNode(r.toDisplayString(r.unref(i)(D.labelKey))+" ",1),D.overridden?(r.openBlock(),r.createElementBlock("span",{key:0,class:"fe-shortcuts__custom",title:r.unref(i)("shortcuts.settings.customized")},"●",8,Rb)):r.createCommentVNode("",!0)]),r.createElementVNode("span",Vb,[c.value===D.id?(r.openBlock(),r.createElementBlock("span",$b,r.toDisplayString(r.unref(i)("shortcuts.settings.capture")),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[D.keys.length===0?(r.openBlock(),r.createElementBlock("span",Ub,r.toDisplayString(r.unref(i)("shortcuts.settings.unbound")),1)):(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(D.keys,(w,B)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:w},[r.createElementVNode("kbd",Hb,r.toDisplayString(w),1),B<D.keys.length-1?(r.openBlock(),r.createElementBlock("span",Gb,"/")):r.createCommentVNode("",!0)],64))),128))],64))]),r.createElementVNode("span",jb,[D.customizable?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[c.value!==D.id?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-shortset__btn",onClick:w=>h(D.id)},r.toDisplayString(r.unref(i)("shortcuts.settings.change")),9,qb)):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-btn fe-shortset__btn",onClick:f},r.toDisplayString(r.unref(i)("shortcuts.settings.conflict_cancel")),1)),D.overridden?(r.openBlock(),r.createElementBlock("button",{key:2,type:"button",class:"fe-btn fe-btn--icon-only fe-shortset__btn",title:r.unref(i)("shortcuts.settings.reset"),"aria-label":r.unref(i)("shortcuts.settings.reset"),onClick:w=>b(D.id)}," ↺ ",8,Kb)):r.createCommentVNode("",!0)],64)):(r.openBlock(),r.createElementBlock("span",Wb,r.toDisplayString(r.unref(i)("shortcuts.settings.fixed")),1))])]),d.value&&d.value.id===D.id?(r.openBlock(),r.createElementBlock("div",Yb,[r.createElementVNode("span",Xb,[r.createElementVNode("kbd",Zb,r.toDisplayString(d.value.combo),1),r.createTextVNode(" "+r.toDisplayString(d.value.fixed?r.unref(i)("shortcuts.settings.conflict_fixed",{name:u(d.value.conflictId)}):r.unref(i)("shortcuts.settings.conflict",{name:u(d.value.conflictId)})),1)]),r.createElementVNode("span",Jb,[d.value.fixed?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--danger fe-shortset__btn",onClick:k},r.toDisplayString(r.unref(i)("shortcuts.settings.conflict_take")),1)),r.createElementVNode("button",{type:"button",class:"fe-btn fe-shortset__btn",onClick:v},r.toDisplayString(r.unref(i)("shortcuts.settings.conflict_cancel")),1)])])):r.createCommentVNode("",!0)],2)}),128))]))),128))])]),_:1},8,["open","title","theme"]))}}),Qb={key:0,class:"fe-preview"},e6=["src","alt"],t6=["src"],n6=["src"],r6=["data"],a6={class:"fe-preview__fallback"},i6=["href"],o6={key:0,class:"fe-preview__fallback"},l6={key:1,class:"fe-preview__fallback"},s6=["href"],c6={key:2,class:"fe-preview__md-split"},d6={class:"fe-preview__md-split-bar"},u6={key:0,class:"fe-preview__md-split-error"},f6=["disabled"],h6={class:"fe-preview__md-split-body"},p6=["onKeydown"],m6=["innerHTML"],g6={key:3,class:"fe-preview__fallback"},v6=["href"],y6=["innerHTML"],b6={key:5,class:"fe-preview__pre"},_6={key:0,class:"fe-preview__fallback"},k6=["href"],w6={key:1,class:"fe-preview__fallback"},x6={key:0,class:"fe-preview__fallback"},S6={key:1,class:"fe-preview__fallback"},E6=["href"],C6={key:2,class:"fe-preview__fallback"},B6=["href"],D6={key:3,class:"fe-preview__code-wrap"},T6={class:"fe-preview__code-toolbar"},A6={class:"fe-preview__code-lang"},M6={key:0,class:"fe-preview__code-status"},N6={key:1,class:"fe-preview__code-status fe-preview__code-status--ok"},I6=["title"],z6={key:3,class:"fe-preview__code-status"},F6=["disabled"],L6={key:0,class:"fe-preview__pre fe-preview__code hljs"},O6=["innerHTML"],P6=["data-lang"],R6={key:0,class:"fe-preview__fallback"},V6=["href"],$6={key:8,class:"fe-preview__fallback"},U6=["href"],H6=["href"],Xs=1e6,Mu="fe-onlyoffice-api-js",Zs=r.defineComponent({__name:"PreviewModal",props:{open:{type:Boolean},locale:{},file:{},previewUrl:{type:Function},downloadUrl:{type:Function},onlyOfficeBase:{},onlyOfficeConfigEndpoint:{},saveTextEndpoint:{},openMode:{},authHeaders:{type:Function},authCredentials:{},drawioUrl:{},pdfWorkerUrl:{},pdfSaveUrl:{},viewerBaseUrl:{},newTabEnabled:{type:Boolean},chromeless:{type:Boolean},theme:{}},emits:["close"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale);function o(Me){return((Me==null?void 0:Me.extension)||"").toLowerCase()}const s=["jpg","jpeg","png","webp","gif","bmp","avif","svg","heic"],l=["mp4","webm","mov","mkv","m4v","ogv"],c=["mp3","wav","ogg","flac","m4a","aac","opus"],d={md:"markdown",markdown:"markdown",txt:"plaintext",log:"plaintext",js:"javascript",mjs:"javascript",cjs:"javascript",ts:"typescript",tsx:"typescript",jsx:"javascript",vue:"xml",svelte:"xml",html:"xml",htm:"xml",xml:"xml",svg:"xml",css:"css",scss:"scss",sass:"scss",less:"less",json:"json",jsonc:"json",yml:"yaml",yaml:"yaml",php:"php",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",kt:"kotlin",swift:"swift",cpp:"cpp",c:"c",h:"cpp",hpp:"cpp",cs:"csharp",dart:"dart",sh:"bash",bash:"bash",zsh:"bash",fish:"bash",sql:"sql",toml:"ini",ini:"ini",conf:"ini",env:"bash",cfg:"ini",dockerfile:"dockerfile",graphql:"graphql",gql:"graphql",diff:"diff",patch:"diff"},u=["txt","log"],h=["docx","doc","xlsx","xls","pptx","ppt","odt","ods","odp","rtf"],f={glb:()=>Promise.resolve().then(()=>ei),gltf:()=>Promise.resolve().then(()=>ei),obj:()=>Promise.resolve().then(()=>ei),stl:()=>Promise.resolve().then(()=>ei),fbx:()=>Promise.resolve().then(()=>ei),"3ds":()=>Promise.resolve().then(()=>ei),epub:()=>Promise.resolve().then(()=>Iw),mmd:()=>Promise.resolve().then(()=>uf),mermaid:()=>Promise.resolve().then(()=>uf),drawio:()=>Promise.resolve().then(()=>ff),dio:()=>Promise.resolve().then(()=>ff),tif:()=>Promise.resolve().then(()=>hf),tiff:()=>Promise.resolve().then(()=>hf),psd:()=>Promise.resolve().then(()=>Jw),ipynb:()=>Promise.resolve().then(()=>g9),csv:()=>Promise.resolve().then(()=>mf),tsv:()=>Promise.resolve().then(()=>mf),zip:()=>Promise.resolve().then(()=>P9)},p=r.computed(()=>{const Me=o(n.file);if(!Me)return"other";if(s.includes(Me))return"image";if(l.includes(Me))return"video";if(c.includes(Me))return"audio";if(Me==="pdf")return"pdf";const L=n.openMode!=="view";return Me==="md"||Me==="markdown"?"markdown":Me in d?"code":Me in f?"viewer":h.includes(Me)?"office":u.includes(Me)?L?"code":"text":"other"}),k=r.shallowRef(null),v=r.ref(null),b=r.ref(!1);async function m(Me){k.value=null,v.value=null;const L=f[Me];if(L)try{const se=await L();k.value=se.default??se}catch(se){v.value=se instanceof Error?se.message:"viewer load failed",Me==="pdf"&&(b.value=!0)}}function g(){b.value=!0}const _=r.computed(()=>{var se;const Me=o(n.file),L={url:w.value,ext:Me,mime:(se=n.file)==null?void 0:se.mime_type,t:i,authHeaders:n.authHeaders,authCredentials:n.authCredentials};return n.file&&(L.filePath=N(n.file.path),(Me==="zip"||Me==="rar"||Me==="7z"||Me==="tar"||Me==="gz"||Me==="tgz")&&(L.filePath=n.file.path)),(Me==="drawio"||Me==="dio")&&(L.drawioUrl=n.drawioUrl??void 0,L.saveUrl=n.saveTextEndpoint??void 0,L.readOnly=n.openMode==="view"),Me==="pdf"&&(L.pdfWorkerUrl=n.pdfWorkerUrl??void 0,L.pdfSaveUrl=n.pdfSaveUrl??void 0),L});function y(){M(n.openMode||"edit")}function E(){M("edit")}function M(Me){if(!n.file)return;const L=o(n.file),se=n.viewerBaseUrl||"/files/edit",be=se.includes("?")?"&":"?",Ee=`${se}${be}path=${encodeURIComponent(n.file.path)}&type=${encodeURIComponent(L)}&mode=${encodeURIComponent(Me)}`;window.open(Ee,"_blank","noopener")}const D=new Set(["docx","doc","xlsx","xls","pptx","ppt","odt","ods","odp","rtf","drawio","dio","mmd","mermaid","md","markdown","txt","log","json","jsonc","yaml","yml","xml","svg","html","htm","js","mjs","cjs","ts","tsx","jsx","vue","svelte","css","scss","sass","less","php","py","rb","go","rs","java","kt","swift","cpp","c","h","hpp","cs","dart","sh","bash","sql","toml","ini","conf","cfg","env","dockerfile","graphql","gql"]),x=r.computed(()=>!!n.file&&D.has(o(n.file))),w=r.computed(()=>n.file?n.previewUrl(n.file.path):""),B=r.computed(()=>n.file?n.downloadUrl(n.file.path):"");function N(Me){const L=Me.indexOf("://");return L===-1?Me:Me.slice(L+3)}const G=r.ref(!1),F=r.ref(null),q=r.ref(""),Y=r.ref(!1),K=r.ref(!1),Q=r.ref(!1);let re,$;function V(){K.value=!0,re&&clearTimeout(re),re=setTimeout(()=>{he(q.value)},250),$&&clearTimeout($),$=setTimeout(()=>{z()},1500)}async function z(){if(!(!n.saveTextEndpoint||!n.file||Q.value)){Q.value=!0,F.value=null;try{const Me={"Content-Type":"application/json",...await(n.authHeaders??(()=>({})))()},L=await fetch(n.saveTextEndpoint,{method:"POST",headers:Me,credentials:n.authCredentials||"same-origin",body:JSON.stringify({path:N(n.file.path),content:q.value})});if(!L.ok)throw new Error(`save failed: ${L.status} ${await L.text()}`);K.value=!1}catch(Me){F.value=Me instanceof Error?Me.message:String(Me)}finally{Q.value=!1}}}async function U(Me){G.value=!0,F.value=null,q.value="",Y.value=!1;try{const L={};n.authHeaders&&Object.assign(L,n.authHeaders());const se=await fetch(Me,{credentials:n.authCredentials||"same-origin",headers:L});if(!se.ok)throw new Error(`${se.status} ${se.statusText}`);if(Number(se.headers.get("content-length")||"0")>Xs){Y.value=!0;return}const Ee=await se.text();Ee.length>Xs?(Y.value=!0,q.value=Ee.slice(0,Xs)):q.value=Ee}catch(L){F.value=L instanceof Error?L.message:String(L)}finally{G.value=!1}}const H=r.ref(""),de=r.ref(null);async function he(Me){try{const L=await import("markdown-it").catch(()=>null);if(!L){H.value="";return}const se=L.default??L,Ee=new se({html:!0,linkify:!0,breaks:!0,typographer:!0}).render(Me);H.value=ve(Ee),await new Promise(ae=>setTimeout(ae,0)),await xe()}catch(L){H.value="",F.value=L instanceof Error?L.message:String(L)}}function ve(Me){return Me.replace(/<\s*script\b[^<]*(?:(?!<\s*\/\s*script\s*>)<[^<]*)*<\s*\/\s*script\s*>/gi,"").replace(/<\s*iframe\b[\s\S]*?<\s*\/\s*iframe\s*>/gi,"").replace(/<\s*object\b[\s\S]*?<\s*\/\s*object\s*>/gi,"").replace(/<\s*embed\b[^>]*>/gi,"").replace(/\son\w+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,"").replace(/(href|src|action|formaction|xlink:href)\s*=\s*(?:"\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi,'$1="#"')}async function xe(){var Ee,ae,ye;if(!de.value)return;const Me=de.value,L=Array.from(Me.querySelectorAll("pre > code"));if(L.length===0)return;let se,be;for(const R of L){const Ce=R.className||"",st=/\blanguage-mermaid\b/.test(Ce)||/\blanguage-mmd\b/.test(Ce),C=/\blanguage-math\b/.test(Ce)||/\blanguage-latex\b/.test(Ce)||/\blanguage-tex\b/.test(Ce);if(st){if(se===void 0)try{const Z=await import("mermaid");se=Z.default??Z,(Ee=se.initialize)==null||Ee.call(se,{startOnLoad:!1,securityLevel:"strict"})}catch{se=null}if(!se)continue;try{const Z=`filex-md-mermaid-${Math.random().toString(36).slice(2)}`,{svg:X}=await se.render(Z,R.textContent||""),O=document.createElement("div");O.className="fe-preview__md-mermaid",O.innerHTML=X,(ae=R.parentElement)==null||ae.replaceWith(O)}catch{}}else if(C){if(be===void 0)try{const Z=await Promise.resolve().then(()=>wS);be=Z.default??Z}catch{be=null}if(!be)continue;try{const Z=be.renderToString(R.textContent||"",{displayMode:!0,throwOnError:!1}),X=document.createElement("div");X.className="fe-preview__md-math",X.innerHTML=Z,(ye=R.parentElement)==null||ye.replaceWith(X)}catch{}}}}const ie=r.ref("");async function ge(Me,L){try{const se=await Xo();if(!se){ie.value="";return}const be=se.default??se;if(be.getLanguage(L)){const Ee=be.highlight(Me,{language:L,ignoreIllegals:!0});ie.value=Ee.value}else{const Ee=be.highlightAuto(Me);ie.value=Ee.value}}catch(se){ie.value="",F.value=se instanceof Error?se.message:String(se)}}const me=r.ref(null);let we=null,Ge;const Xe=r.ref(!1),tt=r.ref(!1),Ke=r.ref(!1),De=r.ref(null);function Ne(){if(we){try{we.dispose()}catch{}we=null}Xe.value=!1,Ke.value=!1,De.value=null}function ke(Me){return{js:"javascript",mjs:"javascript",cjs:"javascript",ts:"typescript",tsx:"typescript",jsx:"javascript",json:"json",jsonc:"json",css:"css",scss:"scss",sass:"scss",less:"less",html:"html",htm:"html",vue:"html",svelte:"html",xml:"xml",svg:"xml",md:"markdown",markdown:"markdown",php:"php",py:"python",yml:"yaml",yaml:"yaml",go:"go",rs:"rust",sql:"sql",cpp:"cpp",c:"c",h:"cpp",hpp:"cpp",sh:"shell",bash:"shell",dockerfile:"dockerfile",toml:"ini",ini:"ini",conf:"ini",cfg:"ini"}[Me]??"plaintext"}async function ce(Me,L){var be;const se=await Yo();if(!se||!me.value)return!1;try{Ne();const Ee=!!n.saveTextEndpoint&&n.openMode!=="view",ae=n.theme==="dark"?!0:n.theme==="light"?!1:(be=window.matchMedia)==null?void 0:be.call(window,"(prefers-color-scheme: dark)").matches;return we=se.editor.create(me.value,{value:Me,language:ke(L),readOnly:!Ee,theme:ae?"vs-dark":"vs",automaticLayout:!0,minimap:{enabled:!1},fontSize:13}),Ee&&(we.addCommand(se.KeyMod.CtrlCmd|se.KeyCode.KeyS,()=>void pe()),we.onDidChangeModelContent(()=>{Ge&&clearTimeout(Ge),Ge=setTimeout(()=>{pe()},1500)})),Xe.value=!0,!0}catch(Ee){return F.value=`Monaco mount fail: ${Ee.message}`,!1}}async function pe(){if(!(!n.saveTextEndpoint||!n.file)&&n.openMode!=="view"&&!tt.value){tt.value=!0,Ke.value=!1,De.value=null;try{const Me=we?we.getValue():"",L={"Content-Type":"application/json"};n.authHeaders&&Object.assign(L,n.authHeaders());const se=await fetch(n.saveTextEndpoint,{method:"POST",headers:L,credentials:n.authCredentials||"same-origin",body:JSON.stringify({path:N(n.file.path),content:Me})});if(!se.ok){const be=await se.text().catch(()=>"");throw new Error(`${se.status} ${se.statusText}${be?" — "+be.slice(0,150):""}`)}Ke.value=!0,setTimeout(()=>{Ke.value=!1},2500)}catch(Me){De.value=Me.message}finally{tt.value=!1}}}async function Ae(Me,L,se){if(q.value="",H.value="",ie.value="",F.value=null,et.value=null,k.value=null,v.value=null,b.value=!1,pt(),Ne(),!(!Me||!L)){if(se==="viewer"){await m(o(n.file));return}if(se==="markdown"||se==="code"||se==="text"){if(await U(L),Y.value)return;if(se==="markdown"){await he(q.value);return}const be=d[o(n.file)]||"";js()?(await new Promise(ye=>setTimeout(ye,0)),await ce(q.value,o(n.file))||await ge(q.value,be)):(se==="code"&&await ge(q.value,be),Yo().then(async ae=>{ae&&n.open&&(await new Promise(ye=>setTimeout(ye,0)),await ce(q.value,o(n.file)))}))}else se==="office"&&(await new Promise(be=>setTimeout(be,0)),await ct())}}r.watch(()=>[n.open,w.value,p.value,n.openMode],([Me,L,se])=>{Ae(Me,L,se)}),r.onMounted(()=>{r.nextTick(()=>{n.open&&Ae(n.open,w.value,p.value)})});const We=r.computed(()=>d[o(n.file)]||"plaintext"),wt=r.ref(null),et=r.ref(null);let ft=null;async function ct(){if(et.value=null,!(!n.file||p.value!=="office")){if(!n.onlyOfficeConfigEndpoint){et.value="OnlyOffice yapılandırması yok";return}if(wt.value)try{const Me={"Content-Type":"application/json"};n.authHeaders&&Object.assign(Me,n.authHeaders());const L=await fetch(n.onlyOfficeConfigEndpoint,{method:"POST",headers:Me,credentials:n.authCredentials||"same-origin",body:JSON.stringify({path:n.file.path,mode:n.openMode||"edit"})});if(!L.ok)throw new Error(`Config fetch ${L.status}: ${(await L.text()).slice(0,200)}`);const{config:se,documentServerUrl:be}=await L.json();await Pt(be),pt();const Ee="fe-onlyoffice-mount";wt.value.id=Ee,se.events={onError:ye=>{et.value=ht(ye)}};const ae=window;if(!ae.DocsAPI||!ae.DocsAPI.DocEditor)throw new Error("DocsAPI not available after script load");ft=new ae.DocsAPI.DocEditor(Ee,se)}catch(Me){et.value=Me instanceof Error?Me.message:String(Me)}}}function pt(){var Me;try{(Me=ft==null?void 0:ft.destroyEditor)==null||Me.call(ft)}catch{}ft=null}r.onBeforeUnmount(()=>{pt(),Ne()});function ht(Me){if(typeof Me=="string")return Me;const L=Me;if(L!=null&&L.data&&typeof L.data=="object"){const se=L.data;if(typeof se.errorDescription=="string")return se.errorDescription;if(typeof se.message=="string")return se.message;if(se.errorCode!==void 0)return`OnlyOffice error ${se.errorCode}`}if(typeof(L==null?void 0:L.data)=="string")return L.data;if(typeof(L==null?void 0:L.errorDescription)=="string")return L.errorDescription;if(typeof(L==null?void 0:L.message)=="string")return L.message;try{return JSON.stringify(Me)}catch{return"OnlyOffice error"}}function Pt(Me){return new Promise((L,se)=>{var ae;if((ae=window.DocsAPI)!=null&&ae.DocEditor){L();return}const be=document.getElementById(Mu);if(be){be.addEventListener("load",()=>L()),be.addEventListener("error",()=>se(new Error("OnlyOffice api.js load failed")));return}const Ee=document.createElement("script");Ee.id=Mu,Ee.src=`${Me.replace(/\/$/,"")}/web-apps/apps/api/documents/api.js`,Ee.async=!0,Ee.onload=()=>L(),Ee.onerror=()=>se(new Error("OnlyOffice api.js load failed")),document.head.appendChild(Ee)})}return(Me,L)=>{var se;return r.openBlock(),r.createBlock(Rr,{open:e.open,size:"xl",title:((se=e.file)==null?void 0:se.basename)||"",chromeless:e.chromeless,theme:e.theme,onClose:L[2]||(L[2]=be=>a("close"))},{actions:r.withCtx(()=>[e.file&&e.openMode==="view"&&x.value&&e.newTabEnabled!==!1?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--primary",onClick:E},"✏ "+r.toDisplayString(r.unref(i)("viewer.edit")),1)):r.createCommentVNode("",!0),e.file&&e.newTabEnabled!==!1?(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-btn",onClick:y},"↗ "+r.toDisplayString(r.unref(i)("viewer.open_in_new_tab")),1)):r.createCommentVNode("",!0),e.file?(r.openBlock(),r.createElementBlock("a",{key:2,href:B.value,class:"fe-btn"},r.toDisplayString(r.unref(i)("viewer.download")),9,H6)):r.createCommentVNode("",!0),r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:L[1]||(L[1]=be=>a("close"))},r.toDisplayString(r.unref(i)("viewer.close")),1)]),default:r.withCtx(()=>[e.file?(r.openBlock(),r.createElementBlock("div",Qb,[p.value==="image"?(r.openBlock(),r.createElementBlock("img",{key:0,src:w.value,alt:e.file.basename,class:"fe-preview__image"},null,8,e6)):p.value==="video"?(r.openBlock(),r.createElementBlock("video",{key:1,src:w.value,controls:"",preload:"metadata",class:"fe-preview__video"},null,8,t6)):p.value==="audio"?(r.openBlock(),r.createElementBlock("audio",{key:2,src:w.value,controls:"",class:"fe-preview__audio"},null,8,n6)):p.value==="pdf"?(r.openBlock(),r.createElementBlock("object",{key:3,data:w.value,type:"application/pdf",class:"fe-preview__iframe"},[r.createElementVNode("div",a6,[L[3]||(L[3]=r.createElementVNode("span",{class:"fe-preview__fallback-icon"},"📕",-1)),L[4]||(L[4]=r.createElementVNode("p",null,"Tarayıcı PDF'i inline açamadı.",-1)),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary",target:"_blank",rel:"noopener"},"PDF'i Yeni Sekmede Aç",8,i6)])],8,r6)):p.value==="markdown"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:4},[G.value?(r.openBlock(),r.createElementBlock("div",o6,r.toDisplayString(r.unref(i)("viewer.loading")),1)):Y.value?(r.openBlock(),r.createElementBlock("div",l6,[L[5]||(L[5]=r.createTextVNode(" Dosya çok büyük (>1 MB). ",-1)),r.createElementVNode("a",{href:B.value,class:"fe-btn"},r.toDisplayString(r.unref(i)("viewer.download")),9,s6)])):e.openMode==="edit"&&e.saveTextEndpoint?(r.openBlock(),r.createElementBlock("div",c6,[r.createElementVNode("div",d6,[L[6]||(L[6]=r.createElementVNode("span",{class:"fe-preview__md-split-label"},"MARKDOWN",-1)),F.value?(r.openBlock(),r.createElementBlock("span",u6,r.toDisplayString(F.value),1)):r.createCommentVNode("",!0),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",disabled:!K.value||Q.value,onClick:z},r.toDisplayString(Q.value?r.unref(i)("viewer.saving"):K.value?r.unref(i)("viewer.save"):r.unref(i)("viewer.saved")),9,f6)]),r.createElementVNode("div",h6,[r.withDirectives(r.createElementVNode("textarea",{class:"fe-preview__md-split-input","onUpdate:modelValue":L[0]||(L[0]=be=>q.value=be),onInput:V,onKeydown:[r.withKeys(r.withModifiers(z,["ctrl","prevent"]),["s"]),r.withKeys(r.withModifiers(z,["meta","prevent"]),["s"])],spellcheck:"false",placeholder:"# Markdown buraya…"},null,40,p6),[[r.vModelText,q.value]]),r.createElementVNode("div",{ref_key:"markdownEl",ref:de,class:"fe-preview__md-split-output fe-preview__md",innerHTML:H.value},null,8,m6)])])):F.value?(r.openBlock(),r.createElementBlock("div",g6,[r.createElementVNode("p",null,r.toDisplayString(F.value),1),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary"},r.toDisplayString(r.unref(i)("viewer.download")),9,v6)])):H.value?(r.openBlock(),r.createElementBlock("div",{key:4,ref_key:"markdownEl",ref:de,class:"fe-preview__md",innerHTML:H.value},null,8,y6)):(r.openBlock(),r.createElementBlock("pre",b6,r.toDisplayString(q.value),1))],64)):p.value==="viewer"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:5},[v.value&&!b.value?(r.openBlock(),r.createElementBlock("div",_6,[L[7]||(L[7]=r.createElementVNode("span",{class:"fe-preview__fallback-icon"},"⚠️",-1)),r.createElementVNode("p",null,r.toDisplayString(v.value),1),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary"},r.toDisplayString(r.unref(i)("viewer.download")),9,k6)])):k.value?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(k.value),r.mergeProps({key:2},_.value,{class:"fe-preview__viewer",onFallback:g}),null,16)):(r.openBlock(),r.createElementBlock("div",w6,[L[8]||(L[8]=r.createElementVNode("span",{class:"fe-preview__fallback-icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(r.unref(i)("viewer.loading")),1)]))],64)):p.value==="code"||p.value==="text"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:6},[G.value?(r.openBlock(),r.createElementBlock("div",x6,r.toDisplayString(r.unref(i)("viewer.loading")),1)):Y.value?(r.openBlock(),r.createElementBlock("div",S6,[L[9]||(L[9]=r.createTextVNode(" Dosya çok büyük (>1 MB). ",-1)),r.createElementVNode("a",{href:B.value,class:"fe-btn"},r.toDisplayString(r.unref(i)("viewer.download")),9,E6)])):F.value?(r.openBlock(),r.createElementBlock("div",C6,[r.createElementVNode("p",null,r.toDisplayString(F.value),1),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary"},r.toDisplayString(r.unref(i)("viewer.download")),9,B6)])):(r.openBlock(),r.createElementBlock("div",D6,[r.createElementVNode("div",T6,[r.createElementVNode("span",A6,r.toDisplayString(We.value),1),!Xe.value&&ie.value?(r.openBlock(),r.createElementBlock("span",M6,r.toDisplayString(e.saveTextEndpoint?r.unref(i)("viewer.editor_loading"):r.unref(i)("viewer.read_only")),1)):r.createCommentVNode("",!0),Ke.value?(r.openBlock(),r.createElementBlock("span",N6,"✓ "+r.toDisplayString(r.unref(i)("viewer.saved")),1)):r.createCommentVNode("",!0),De.value?(r.openBlock(),r.createElementBlock("span",{key:2,class:"fe-preview__code-status fe-preview__code-status--err",title:De.value},"✗ "+r.toDisplayString(r.unref(i)("viewer.save_error")),9,I6)):r.createCommentVNode("",!0),e.openMode==="view"?(r.openBlock(),r.createElementBlock("span",z6,r.toDisplayString(r.unref(i)("viewer.read_only")),1)):e.saveTextEndpoint&&Xe.value?(r.openBlock(),r.createElementBlock("button",{key:4,type:"button",class:"fe-btn fe-btn--primary",disabled:tt.value,onClick:pe},r.toDisplayString(tt.value?r.unref(i)("viewer.saving"):r.unref(i)("viewer.save")),9,F6)):r.createCommentVNode("",!0)]),r.createElementVNode("div",{ref_key:"monacoEl",ref:me,class:r.normalizeClass(["fe-preview__code-editor",{"is-hidden":!Xe.value}])},null,2),!Xe.value&&ie.value?(r.openBlock(),r.createElementBlock("pre",L6,[r.createElementVNode("code",{class:r.normalizeClass(`language-${We.value}`),innerHTML:ie.value},null,10,O6)])):!Xe.value&&!ie.value?(r.openBlock(),r.createElementBlock("pre",{key:1,class:"fe-preview__pre","data-lang":We.value},r.toDisplayString(q.value),9,P6)):r.createCommentVNode("",!0)]))],64)):p.value==="office"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:7},[et.value?(r.openBlock(),r.createElementBlock("div",R6,[L[10]||(L[10]=r.createElementVNode("span",{class:"fe-preview__fallback-icon"},"📄",-1)),r.createElementVNode("p",null,r.toDisplayString(et.value),1),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary"},r.toDisplayString(r.unref(i)("viewer.download")),9,V6)])):(r.openBlock(),r.createElementBlock("div",{key:1,ref_key:"officeEl",ref:wt,class:"fe-preview__office"},null,512))],64)):(r.openBlock(),r.createElementBlock("div",$6,[L[11]||(L[11]=r.createElementVNode("span",{class:"fe-preview__fallback-icon"},"📎",-1)),r.createElementVNode("p",null,r.toDisplayString(r.unref(i)("viewer.no_preview")),1),r.createElementVNode("a",{href:B.value,class:"fe-btn fe-btn--primary"},r.toDisplayString(r.unref(i)("viewer.download")),9,U6)]))])):r.createCommentVNode("",!0)]),_:1},8,["open","title","chromeless","theme"])}}}),Nu=r.defineComponent({__name:"QuickLook",props:{open:{type:Boolean},locale:{},file:{},previewUrl:{type:Function},downloadUrl:{type:Function},onlyOfficeBase:{},onlyOfficeConfigEndpoint:{},authHeaders:{type:Function},authCredentials:{},drawioUrl:{},pdfWorkerUrl:{},viewerBaseUrl:{},theme:{}},emits:["close","nav","open-full"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale);function o(l){const c=l;return!!(c&&(c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.tagName==="SELECT"||c.isContentEditable))}function s(l){if(n.open&&!(l.ctrlKey||l.metaKey||l.altKey)&&!o(l.target))switch(l.key){case" ":l.preventDefault(),l.stopPropagation(),a("close");break;case"ArrowRight":case"ArrowDown":l.preventDefault(),l.stopPropagation(),a("nav",1);break;case"ArrowLeft":case"ArrowUp":l.preventDefault(),l.stopPropagation(),a("nav",-1);break;case"Enter":l.preventDefault(),l.stopPropagation(),a("open-full");break}}return r.watch(()=>n.open,l=>{l?window.addEventListener("keydown",s,!0):window.removeEventListener("keydown",s,!0)},{immediate:!0}),r.onBeforeUnmount(()=>window.removeEventListener("keydown",s,!0)),(l,c)=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createVNode(Zs,{class:"fe-quicklook",open:e.open,locale:e.locale,file:e.file,theme:e.theme,"preview-url":e.previewUrl,"download-url":e.downloadUrl,"only-office-base":e.onlyOfficeBase,"only-office-config-endpoint":e.onlyOfficeConfigEndpoint,"open-mode":"view","auth-headers":e.authHeaders,"auth-credentials":e.authCredentials,"drawio-url":e.drawioUrl,"pdf-worker-url":e.pdfWorkerUrl,"viewer-base-url":e.viewerBaseUrl,onClose:c[0]||(c[0]=d=>a("close"))},null,8,["open","locale","file","theme","preview-url","download-url","only-office-base","only-office-config-endpoint","auth-headers","auth-credentials","drawio-url","pdf-worker-url","viewer-base-url"]),r.createVNode(r.Transition,{name:"fe-toast"},{default:r.withCtx(()=>[e.open?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe fe-ql-hint",{"fe--theme-light":e.theme==="light","fe--theme-dark":e.theme==="dark"}]),"aria-hidden":"true"},[c[1]||(c[1]=r.createElementVNode("kbd",{class:"fe-kbd"},"Space",-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(i)("quicklook.hint_close"))+" ",1),c[2]||(c[2]=r.createElementVNode("span",{class:"fe-ql-hint__sep"},"·",-1)),c[3]||(c[3]=r.createElementVNode("kbd",{class:"fe-kbd"},"↑",-1)),c[4]||(c[4]=r.createElementVNode("kbd",{class:"fe-kbd"},"↓",-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(i)("quicklook.hint_nav"))+" ",1),c[5]||(c[5]=r.createElementVNode("span",{class:"fe-ql-hint__sep"},"·",-1)),c[6]||(c[6]=r.createElementVNode("kbd",{class:"fe-kbd"},"Enter",-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(i)("quicklook.hint_open")),1)],2)):r.createCommentVNode("",!0)]),_:1})],64))}}),G6=["aria-label"],j6={class:"fe-opc__head"},q6=["aria-label"],K6={class:"fe-opc__body"},W6={key:0,class:"fe-opc__section","aria-live":"polite"},Y6={class:"fe-opc__section-title"},X6={class:"fe-opc__list"},Z6={class:"fe-opc__kicon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false"},J6=["d"],Q6={class:"fe-opc__mid"},e8=["title"],t8={class:"fe-opc__sub"},n8={class:"fe-opc__kind"},r8={class:"fe-opc__state"},a8=["aria-valuenow"],i8={key:0,class:"fe-opc__spin","aria-hidden":"true"},o8={class:"fe-opc__acts"},l8=["onClick"],s8=["onClick"],c8=["aria-label","onClick"],d8={key:1,class:"fe-opc__section"},u8={class:"fe-opc__section-title"},f8={class:"fe-opc__list fe-opc__list--history"},h8={class:"fe-opc__kicon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false"},p8=["d"],m8={class:"fe-opc__mid"},g8=["title"],v8={key:0,class:"fe-opc__sub fe-opc__sub--err"},y8={key:2,class:"fe-opc__empty"},b8=["aria-expanded","aria-label"],_8=["stroke-dashoffset"],k8={class:"fe-opc__count"},w8={key:0,class:"fe-opc__pct"},Js=8.5,Iu=r.defineComponent({__name:"OperationsCenter",props:{center:{},locale:{},narrow:{type:Boolean}},setup(e){const t=e,{t:n,formatSize:a}=Gt(()=>t.locale),i=r.ref(!1),o=r.ref(null),s=r.computed(()=>t.center.active.value),l=r.computed(()=>t.center.history.value),c=r.computed(()=>t.center.hasError.value),d=r.computed(()=>t.center.overallPercent.value),u=r.computed(()=>t.center.runningCount.value),h=r.computed(()=>s.value.length>0||i.value&&l.value.length>0);r.watch(h,x=>{x||(i.value=!1)});const f=2*Math.PI*Js,p=r.computed(()=>{const x=d.value;return x===null?f*.72:f*(1-Math.min(100,Math.max(0,x))/100)}),k=r.computed(()=>d.value===null&&u.value>0),v=r.computed(()=>u.value===0||d.value===null?"":n("opc.percent",{n:d.value})),b=r.computed(()=>n("opc.aria_badge",{n:s.value.length})),m={upload:"M12 16V5M7 9.5 12 5l5 4.5M5 19h14",copy:"M9 9h11v11H9zM5 15V4h11",move:"M4 12h13M12 6l6 6-6 6",delete:"M5 7h14M9 7V5h6v2M8 7l1 13h6l1-13",convert:"M20 8A8 8 0 0 0 6 6L4 8M4 16a8 8 0 0 0 14 2l2-2M20 3v5h-5M4 21v-5h5",archive:"M4 8V5h16v3zM5 8h14v12H5zM10 12h4"};function g(x){return n(`opc.kind.${x.kind}`)}function _(x){return x.name||g(x)}function y(x){return x.status==="running"?x.queued?n("opc.queued"):x.totalBytes&&x.totalBytes>0?`${a(x.uploadedBytes??0)} / ${a(x.totalBytes)}`:x.totalCount&&x.totalCount>0?`${x.doneCount??0}/${x.totalCount}`:n("opc.status.running"):x.status==="done"?n("opc.status.done"):x.status==="aborted"?n("opc.status.aborted"):x.error||n("opc.status.error")}function E(x){return n(`opc.status.${x.status==="running"?"running":x.status}`)}function M(x){if(!i.value)return;const w=o.value;w&&x.target instanceof Node&&!w.contains(x.target)&&(i.value=!1)}function D(x){i.value&&x.key==="Escape"&&(i.value=!1)}return r.onMounted(()=>{document.addEventListener("mousedown",M),document.addEventListener("keydown",D)}),r.onBeforeUnmount(()=>{document.removeEventListener("mousedown",M),document.removeEventListener("keydown",D)}),(x,w)=>h.value?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"rootEl",ref:o,class:r.normalizeClass(["fe-opc",{"fe-opc--narrow":e.narrow,"fe-opc--open":i.value}])},[r.createVNode(r.Transition,{name:"fe-opc-pop"},{default:r.withCtx(()=>[i.value?(r.openBlock(),r.createElementBlock("section",{key:0,class:"fe-opc__panel",role:"dialog","aria-label":r.unref(n)("opc.title")},[r.createElementVNode("header",j6,[r.createElementVNode("strong",null,r.toDisplayString(r.unref(n)("opc.title")),1),r.createElementVNode("button",{type:"button",class:"fe-opc__x","aria-label":r.unref(n)("opc.close"),onClick:w[0]||(w[0]=B=>i.value=!1)},"×",8,q6)]),r.createElementVNode("div",K6,[s.value.length>0?(r.openBlock(),r.createElementBlock("div",W6,[r.createElementVNode("h3",Y6,r.toDisplayString(r.unref(n)("opc.active")),1),r.createElementVNode("ul",X6,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.value,B=>(r.openBlock(),r.createElementBlock("li",{key:B.key,class:r.normalizeClass(["fe-opc__item",`is-${B.status}`])},[(r.openBlock(),r.createElementBlock("svg",Z6,[r.createElementVNode("path",{d:m[B.kind]},null,8,J6)])),r.createElementVNode("div",Q6,[r.createElementVNode("div",{class:"fe-opc__name",title:_(B)},r.toDisplayString(_(B)),9,e8),r.createElementVNode("div",t8,[r.createElementVNode("span",n8,r.toDisplayString(g(B)),1),w[3]||(w[3]=r.createElementVNode("span",{class:"fe-opc__dot","aria-hidden":"true"},"·",-1)),r.createElementVNode("span",r8,r.toDisplayString(y(B)),1)]),B.status==="running"&&B.percent!==null?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fe-opc__bar",role:"progressbar","aria-valuenow":B.percent,"aria-valuemin":"0","aria-valuemax":"100"},[r.createElementVNode("div",{class:"fe-opc__bar-fill",style:r.normalizeStyle({width:B.percent+"%"})},null,4)],8,a8)):r.createCommentVNode("",!0)]),B.status==="running"&&B.percent===null&&!B.queued?(r.openBlock(),r.createElementBlock("span",i8)):r.createCommentVNode("",!0),r.createElementVNode("div",o8,[B.status==="running"&&B.cancellable?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-opc__act",onClick:N=>e.center.cancel(B.key)},r.toDisplayString(r.unref(n)("opc.cancel")),9,l8)):r.createCommentVNode("",!0),B.status==="error"&&B.retryable?(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-opc__act fe-opc__act--retry",onClick:N=>e.center.retry(B.key)},r.toDisplayString(r.unref(n)("opc.retry")),9,s8)):r.createCommentVNode("",!0),B.status!=="running"?(r.openBlock(),r.createElementBlock("button",{key:2,type:"button",class:"fe-opc__x","aria-label":r.unref(n)("opc.dismiss"),onClick:N=>e.center.dismiss(B.key)},"×",8,c8)):r.createCommentVNode("",!0)])],2))),128))])])):r.createCommentVNode("",!0),l.value.length>0?(r.openBlock(),r.createElementBlock("div",d8,[r.createElementVNode("h3",u8,[r.createTextVNode(r.toDisplayString(r.unref(n)("opc.history"))+" ",1),r.createElementVNode("button",{type:"button",class:"fe-opc__act",onClick:w[1]||(w[1]=B=>e.center.clearHistory())},r.toDisplayString(r.unref(n)("opc.clear")),1)]),r.createElementVNode("ul",f8,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,B=>(r.openBlock(),r.createElementBlock("li",{key:"h-"+B.key,class:r.normalizeClass(["fe-opc__item fe-opc__item--history",`is-${B.status}`])},[(r.openBlock(),r.createElementBlock("svg",h8,[r.createElementVNode("path",{d:m[B.kind]},null,8,p8)])),r.createElementVNode("div",m8,[r.createElementVNode("div",{class:"fe-opc__name",title:_(B)},r.toDisplayString(_(B)),9,g8),B.status==="error"&&B.error?(r.openBlock(),r.createElementBlock("div",v8,r.toDisplayString(B.error),1)):r.createCommentVNode("",!0)]),r.createElementVNode("span",{class:r.normalizeClass(["fe-opc__chip",`is-${B.status}`])},r.toDisplayString(E(B)),3)],2))),128))])])):r.createCommentVNode("",!0),s.value.length===0&&l.value.length===0?(r.openBlock(),r.createElementBlock("p",y8,r.toDisplayString(r.unref(n)("opc.empty")),1)):r.createCommentVNode("",!0)])],8,G6)):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-opc__badge",{"is-error":c.value}]),"aria-expanded":i.value,"aria-label":b.value,onClick:w[2]||(w[2]=B=>i.value=!i.value)},[(r.openBlock(),r.createElementBlock("svg",{class:r.normalizeClass(["fe-opc__ring",{"fe-opc__ring--spin":k.value}]),viewBox:"0 0 22 22","aria-hidden":"true",focusable:"false"},[r.createElementVNode("circle",{class:"fe-opc__ring-track",cx:"11",cy:"11",r:Js,fill:"none","stroke-width":"2.5"}),r.createElementVNode("circle",{class:"fe-opc__ring-fill",cx:"11",cy:"11",r:Js,fill:"none","stroke-width":"2.5","stroke-linecap":"round","stroke-dasharray":f,"stroke-dashoffset":p.value,transform:"rotate(-90 11 11)"},null,8,_8)],2)),r.createElementVNode("span",k8,r.toDisplayString(s.value.length),1),v.value?(r.openBlock(),r.createElementBlock("span",w8,r.toDisplayString(v.value),1)):r.createCommentVNode("",!0)],10,b8)],2)):r.createCommentVNode("",!0)}}),x8=4e3,zu=50;function S8(e,t,n){const a=t.status!=="running";return{key:e,kind:t.kind,name:t.name,percent:t.percent,status:t.status,error:t.error??null,queued:t.queued??!1,doneCount:t.doneCount??null,totalCount:t.totalCount??null,uploadedBytes:t.uploadedBytes??null,totalBytes:t.totalBytes??null,cancellable:t.cancellable??!1,retryable:t.retryable??!1,startedAt:(n==null?void 0:n.startedAt)??Date.now(),settledAt:(n==null?void 0:n.settledAt)??(a?Date.now():null)}}function Fu(){const e=r.ref([]),t=r.ref([]),n=new Map,a=new Set,i=new Map;function o(m){const g=i.get(m);g!==void 0&&(clearTimeout(g),i.delete(m))}function s(m,g={}){o(m);const _=e.value.findIndex(E=>E.key===m);if(_===-1)return;const[y]=e.value.splice(_,1);e.value=[...e.value],a.add(m),g.toHistory!==!1&&(t.value=[{...y,settledAt:y.settledAt??Date.now()},...t.value].slice(0,zu))}function l(m){i.has(m)||i.set(m,setTimeout(()=>{var _;i.delete(m);const g=n.get(m);s(m),(_=g==null?void 0:g.dismiss)==null||_.call(g)},x8))}function c(m,g){const _=`${m}:`,y=new Set;let E=[...e.value],M=!1;for(const D of g){const x=`${m}:${D.input.id}`;if(y.add(x),D.actions&&n.set(x,D.actions),a.has(x))continue;const w=E.findIndex(N=>N.key===x),B=S8(x,D.input,w===-1?void 0:E[w]);w===-1?(E=[B,...E],M=!0):JSON.stringify(E[w])!==JSON.stringify(B)&&(E[w]=B,M=!0),(B.status==="done"||B.status==="aborted")&&l(x)}for(const D of[...E])!D.key.startsWith(_)||y.has(D.key)||D.status!=="error"&&(o(D.key),E=E.filter(x=>x.key!==D.key),M=!0,D.status!=="running"&&(a.add(D.key),t.value=[{...D,settledAt:D.settledAt??Date.now()},...t.value].slice(0,zu)));for(const D of[...a])D.startsWith(_)&&!y.has(D)&&a.delete(D);for(const D of[...n.keys()])D.startsWith(_)&&!y.has(D)&&!e.value.some(x=>x.key===D)&&(E.some(x=>x.key===D)||n.delete(D));M&&(e.value=E)}function d(m){var g,_;(_=(g=n.get(m))==null?void 0:g.cancel)==null||_.call(g)}function u(m){var _,y;const g=n.get(m);s(m),(_=g==null?void 0:g.dismiss)==null||_.call(g),(y=g==null?void 0:g.retry)==null||y.call(g)}function h(m){var _;const g=n.get(m);s(m),(_=g==null?void 0:g.dismiss)==null||_.call(g)}function f(){t.value=[]}const p=r.computed(()=>e.value.filter(m=>m.status==="running").length),k=r.computed(()=>e.value.filter(m=>m.status==="error").length),v=r.computed(()=>k.value>0),b=r.computed(()=>{const m=e.value.filter(y=>y.status==="running");let g=0,_=0;for(const y of m){let E=null;y.totalBytes&&y.totalBytes>0?E=Math.min(1,(y.uploadedBytes??0)/y.totalBytes):y.totalCount&&y.totalCount>0?E=Math.min(1,(y.doneCount??0)/y.totalCount):y.percent!==null&&(E=Math.min(1,y.percent/100)),E!==null&&(g+=E,_+=1)}return _===0?null:Math.round(g/_*100)});return r.getCurrentScope()&&r.onScopeDispose(()=>{for(const m of i.values())clearTimeout(m);i.clear()}),{active:e,history:t,runningCount:p,errorCount:k,hasError:v,overallPercent:b,sync:c,cancel:d,retry:u,dismiss:h,clearHistory:f}}const E8=["data-prefers-dark","aria-label"],C8={key:1,class:"fe-tour__dim","aria-hidden":"true"},B8={class:"fe-tour__progress","aria-hidden":"true"},D8={class:"fe-tour__title"},T8={class:"fe-tour__desc"},A8={class:"fe-tour__dots","aria-hidden":"true"},M8={class:"fe-tour__actions"},Qa=6,Lu=12,N8=r.defineComponent({__name:"OnboardingTour",props:{open:{type:Boolean},locale:{},root:{},theme:{}},emits:["close"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale);function o(w,B){const N=w.querySelectorAll("button[title]");for(const G of Array.from(N))if(G.getAttribute("title")===B)return G;return null}const s=[{id:"nav",titleKey:"tour.step.nav.title",descKey:"tour.step.nav.desc",target:w=>w.querySelector(".fe-breadcrumb")},{id:"upload",titleKey:"tour.step.upload.title",descKey:"tour.step.upload.desc",target:w=>o(w,i("toolbar.upload"))||w.querySelector(".fe-fab")},{id:"search",titleKey:"tour.step.search.title",descKey:"tour.step.search.desc",target:w=>w.querySelector(".fe-search__input")||w.querySelector(".fe-toolbar__search-toggle")},{id:"view",titleKey:"tour.step.view.title",descKey:"tour.step.view.desc",target:w=>w.querySelector(".fe-toolbar__view")},{id:"share",titleKey:"tour.step.share.title",descKey:"tour.step.share.desc",target:w=>w.querySelector(".fe__body")},{id:"help",titleKey:"tour.step.help.title",descKey:"tour.step.help.desc",target:()=>null}],l=r.ref([]),c=r.ref(0),d=r.computed(()=>l.value[c.value]??null),u=r.computed(()=>l.value.length);function h(){const w=n.root;l.value=s.filter(B=>{if(B.id==="help")return!0;if(!w)return!1;const N=B.target(w);if(!N)return!1;const G=N.getBoundingClientRect();return G.width>0&&G.height>0})}const f=r.ref(null),p=r.ref({}),k=r.ref(null);async function v(){var $;const w=d.value,B=n.root;if(!w)return;const N=B?w.target(B):null;if(!N){f.value=null,p.value={};return}const G=N.getBoundingClientRect();if(G.width<=0&&G.height<=0){f.value=null,p.value={};return}f.value={top:G.top-Qa,left:G.left-Qa,width:G.width+Qa*2,height:G.height+Qa*2},await r.nextTick();const F=window.innerWidth,q=window.innerHeight,Y=Math.min(340,F-24),K=(($=k.value)==null?void 0:$.offsetHeight)??160;let Q=G.bottom+Qa+Lu;Q+K>q-12&&(Q=Math.max(12,G.top-Qa-Lu-K));let re=G.left+G.width/2-Y/2;re=Math.min(Math.max(12,re),F-Y-12),p.value={top:`${Math.round(Q)}px`,left:`${Math.round(re)}px`,width:`${Y}px`}}function b(){n.open&&v()}function m(){if(c.value>=u.value-1){a("close");return}c.value+=1}function g(){c.value>0&&(c.value-=1)}function _(){a("close")}function y(w){n.open&&(w.key==="Escape"?(w.stopPropagation(),_()):w.key==="ArrowRight"||w.key==="Enter"?(w.preventDefault(),m()):w.key==="ArrowLeft"&&(w.preventDefault(),g()))}r.watch(()=>n.open,async w=>{var B;w&&(c.value=0,h(),await r.nextTick(),await v(),(B=k.value)==null||B.focus())}),r.watch(c,async()=>{var w;await v(),(w=k.value)==null||w.focus()}),r.onMounted(()=>{window.addEventListener("resize",b),window.addEventListener("scroll",b,!0)}),r.onBeforeUnmount(()=>{window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0)});const E=r.ref(!1);let M;function D(w){E.value=!!(w&&"matches"in w&&w.matches)}r.onMounted(()=>{var w;typeof window>"u"||(M=window.matchMedia("(prefers-color-scheme: dark)"),D(M),(w=M.addEventListener)==null||w.call(M,"change",D))}),r.onBeforeUnmount(()=>{var w;(w=M==null?void 0:M.removeEventListener)==null||w.call(M,"change",D)});const x=r.computed(()=>`fe-ctx-backdrop--theme-${n.theme||"auto"}`);return(w,B)=>(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[r.createVNode(r.Transition,{name:"fe-tour"},{default:r.withCtx(()=>[e.open&&d.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe-tour",x.value]),"data-prefers-dark":E.value?"1":"0",role:"dialog","aria-modal":"true","aria-label":r.unref(i)("tour.aria"),onKeydown:y},[f.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fe-tour__spot",style:r.normalizeStyle({top:f.value.top+"px",left:f.value.left+"px",width:f.value.width+"px",height:f.value.height+"px"}),"aria-hidden":"true"},null,4)):(r.openBlock(),r.createElementBlock("div",C8)),r.createElementVNode("div",{ref_key:"cardEl",ref:k,class:r.normalizeClass(["fe-tour__card",{"fe-tour__card--center":!f.value}]),style:r.normalizeStyle(f.value?p.value:{}),tabindex:"-1"},[r.createElementVNode("p",B8,r.toDisplayString(r.unref(i)("tour.progress",{n:c.value+1,m:u.value})),1),r.createElementVNode("h3",D8,r.toDisplayString(r.unref(i)(d.value.titleKey)),1),r.createElementVNode("p",T8,r.toDisplayString(r.unref(i)(d.value.descKey)),1),r.createElementVNode("div",A8,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,(N,G)=>(r.openBlock(),r.createElementBlock("span",{key:N.id,class:r.normalizeClass(["fe-tour__dot",{"is-active":G===c.value}])},null,2))),128))]),r.createElementVNode("div",M8,[r.createElementVNode("button",{type:"button",class:"fe-btn fe-tour__skip",onClick:_},r.toDisplayString(r.unref(i)("tour.skip")),1),B[0]||(B[0]=r.createElementVNode("span",{class:"fe-tour__actions-spacer"},null,-1)),c.value>0?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn",onClick:g},r.toDisplayString(r.unref(i)("tour.back")),1)):r.createCommentVNode("",!0),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:m},r.toDisplayString(c.value>=u.value-1?r.unref(i)("tour.done"):r.unref(i)("tour.next")),1)])],6)],42,E8)):r.createCommentVNode("",!0)]),_:1})]))}}),I8=["aria-label"],z8={class:"fe-tabs__scroll"},F8=["aria-selected","title","onClick","onKeydown","onAuxclick","onDragstart","onDragover","onDragleave","onDrop"],L8={key:0,class:"fe-tabs__splitdot","aria-hidden":"true"},O8={class:"fe-tabs__label"},P8=["aria-label","title","onClick"],R8=["aria-label","title"],V8=["aria-label","title","aria-pressed"],Ou=r.defineComponent({__name:"TabBar",props:{tabs:{},activeId:{},locale:{},splitEnabled:{type:Boolean},splitActive:{type:Boolean}},emits:["select","close","new","reorder","toggle-split"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale),o=r.ref(null),s=r.ref(null);function l(k,v){var b;o.value=k,v.dataTransfer&&(v.dataTransfer.effectAllowed="move",v.dataTransfer.setData("text/plain",((b=n.tabs[k])==null?void 0:b.id)??""))}function c(k,v){o.value!==null&&(v.preventDefault(),v.stopPropagation(),v.dataTransfer&&(v.dataTransfer.dropEffect="move"),s.value=k)}function d(k){s.value===k&&(s.value=null)}function u(k,v){o.value!==null&&(v.preventDefault(),v.stopPropagation(),o.value!==k&&a("reorder",o.value,k),o.value=null,s.value=null)}function h(){o.value=null,s.value=null}function f(k){k.button===1&&k.preventDefault()}function p(k,v){v.button===1&&(v.preventDefault(),v.stopPropagation(),a("close",k))}return(k,v)=>(r.openBlock(),r.createElementBlock("div",{class:"fe-tabs",role:"tablist","aria-label":r.unref(i)("tabs.strip")},[r.createElementVNode("div",z8,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.tabs,(b,m)=>(r.openBlock(),r.createElementBlock("div",{key:b.id,class:r.normalizeClass(["fe-tabs__tab",{"is-active":b.id===e.activeId,"is-dragover":s.value===m&&o.value!==null&&o.value!==m}]),role:"tab","aria-selected":b.id===e.activeId?"true":"false",tabindex:"0",draggable:"true",title:b.label,onClick:g=>a("select",b.id),onKeydown:r.withKeys(r.withModifiers(g=>a("select",b.id),["prevent"]),["enter"]),onMousedown:v[0]||(v[0]=g=>f(g)),onAuxclick:g=>p(b.id,g),onDragstart:g=>l(m,g),onDragover:g=>c(m,g),onDragleave:g=>d(m),onDrop:g=>u(m,g),onDragend:h},[b.split?(r.openBlock(),r.createElementBlock("span",L8)):r.createCommentVNode("",!0),r.createElementVNode("span",O8,r.toDisplayString(b.label),1),r.createElementVNode("button",{type:"button",class:"fe-tabs__close","aria-label":r.unref(i)("tabs.close"),title:r.unref(i)("tabs.close"),onClick:r.withModifiers(g=>a("close",b.id),["stop"])},"×",8,P8)],42,F8))),128)),r.createElementVNode("button",{type:"button",class:"fe-tabs__new","aria-label":r.unref(i)("tabs.new"),title:r.unref(i)("tabs.new"),onClick:v[1]||(v[1]=b=>a("new"))},"+",8,R8)]),e.splitEnabled!==!1?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:r.normalizeClass(["fe-tabs__split",{"is-active":e.splitActive}]),"aria-label":e.splitActive?r.unref(i)("tabs.split_off"):r.unref(i)("tabs.split"),title:e.splitActive?r.unref(i)("tabs.split_off"):r.unref(i)("tabs.split"),"aria-pressed":e.splitActive?"true":"false",onClick:v[2]||(v[2]=b=>a("toggle-split"))},[...v[3]||(v[3]=[r.createElementVNode("svg",{class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false"},[r.createElementVNode("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),r.createElementVNode("path",{d:"M12 4v16"})],-1)])],10,V8)):r.createCommentVNode("",!0)],8,I8))}}),Wi=".filex-e2e.json",Pu="filexe2e",Yi=1,Ru=6e5,$8=6e5,Qs=200*1024*1024,Vu=8,$u="filex-e2e-verify-v1",Jo=new TextEncoder().encode(Pu),Qo=97,e0=9,t0=21,U8=48,n0=69,Sr=12;class r0 extends Error{constructor(t="e2e: decrypt failed"){super(t),this.name="E2eDecryptError"}}function Uu(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function Hu(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}async function a0(e,t,n){const a=await crypto.subtle.importKey("raw",new TextEncoder().encode(e),"PBKDF2",!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:new Uint8Array(t).buffer,iterations:n,hash:"SHA-256"},a,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function Gu(e,t=Ru){const n=Math.max($8,t),a=crypto.getRandomValues(new Uint8Array(16)),i=await a0(e,a,n),o=crypto.getRandomValues(new Uint8Array(Sr)),s=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:o.buffer},i,new TextEncoder().encode($u))),l=new Uint8Array(Sr+s.length);return l.set(o,0),l.set(s,Sr),{marker:{v:Yi,salt:Uu(a),iter:n,verify:Uu(l)},kek:i}}function ju(e){try{const t=JSON.parse(e);return!t||t.v!==Yi||typeof t.salt!="string"||typeof t.verify!="string"||typeof t.iter!="number"||t.iter<1?null:t}catch{return null}}async function qu(e,t){const n=Hu(e.salt),a=await a0(t,n,e.iter),i=Hu(e.verify);if(i.length<=Sr)return null;try{const o=await crypto.subtle.decrypt({name:"AES-GCM",iv:i.slice(0,Sr).buffer},a,i.slice(Sr).buffer);return new TextDecoder().decode(o)!==$u?null:a}catch{return null}}function el(e){const t=e instanceof Uint8Array?e:new Uint8Array(e);if(t.length<Jo.length)return!1;for(let n=0;n<Jo.length;n++)if(t[n]!==Jo[n])return!1;return!0}async function Ku(e,t){if(t.byteLength>Qs)throw new Error("e2e: file exceeds the 200MB single-shot limit");const n=crypto.getRandomValues(new Uint8Array(32)),a=await crypto.subtle.importKey("raw",n.buffer,{name:"AES-GCM"},!1,["encrypt"]),i=crypto.getRandomValues(new Uint8Array(Sr)),o=crypto.getRandomValues(new Uint8Array(Sr)),s=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:i.buffer},e,n.buffer)),l=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:o.buffer},a,t));n.fill(0);const c=new Uint8Array(Qo+l.length);return c.set(Jo,0),c[8]=Yi,c.set(i,e0),c.set(s,t0),c.set(o,n0),c.set(l,Qo),c.buffer}async function i0(e,t){const n=new Uint8Array(t);if(!el(n)||n.length<Qo)throw new Error("e2e: not an encrypted file");if(n[8]!==Yi)throw new Error(`e2e: unsupported version ${n[8]}`);const a=n.slice(e0,e0+Sr),i=n.slice(t0,t0+U8),o=n.slice(n0,n0+Sr);let s;try{s=await crypto.subtle.decrypt({name:"AES-GCM",iv:a.buffer},e,i.buffer)}catch{throw new r0("e2e: DEK unwrap failed (wrong password?)")}const l=await crypto.subtle.importKey("raw",s,{name:"AES-GCM"},!1,["decrypt"]);try{return await crypto.subtle.decrypt({name:"AES-GCM",iv:o.buffer},l,n.slice(Qo).buffer)}catch{throw new r0("e2e: content decrypt failed")}}function Wu(){const e=new Map;return{get(t){return e.get(t)},set(t,n){e.set(t,n)},lock(t){e.delete(t)},has(t){return e.has(t)},clear(){e.clear()}}}function Yu(e){const t=e.indexOf("://");return t===-1?e:e.slice(t+3)}function H8(e){return(e||[]).filter(t=>!(t.path.includes(".thumbs")||t.path.includes(".versions")||t.basename===".versions"||t.basename===".trash"||t.basename===".keepdir"||t.basename===Wi))}const Xu="filex.showHidden";function G8(){try{return localStorage.getItem(Xu)==="1"}catch{return!1}}const Xi=r.ref(G8());function j8(e){Xi.value=e;try{localStorage.setItem(Xu,e?"1":"0")}catch{}}function q8(e,t){return t?e||[]:(e||[]).filter(n=>!(n.basename||"").startsWith("."))}function Zu(e){return q8(H8(e),Xi.value)}function K8(e){const t=Yu(e);return t==="fileman"||t===""}function W8(e){return Yu(e).startsWith("fileman/.trash")}function Y8(e){return{type:"dir",path:`${e}://fileman/.trash`,basename:".trash",extension:"",storage:e,visibility:"private",size:0,file_size:0,mime_type:"inode/directory",extra_metadata:{}}}function Ju(e,t,n,a){return!a||W8(n)||!K8(n)?!1:(e.unshift(Y8(t)),!0)}async function Qu(e,t,n){try{const{entries:a}=await n.listTrash(t),i=e.find(l=>l.basename===".trash");if(!i)return;let o=0,s=0;for(const l of a){o+=l.size||0;const c=Date.parse(l.deleted_at);!Number.isNaN(c)&&c>s&&(s=c)}i.size=o,s>0&&(i.last_modified=s)}catch{}}const X8=["aria-label"],Z8={class:"fe-split__crumbs"},J8=["title"],Q8=["title","onClick"],e7=["aria-label","title"],t7={key:0,class:"fe-split__state",role:"status"},n7={key:1,class:"fe-split__state"},r7={key:2,class:"fe-split__state"},o0="application/x-brf-files",ef="application/x-brf-files-src",tf=r.defineComponent({__name:"SecondaryPane",props:{api:{},initialPath:{},locale:{},qualify:{type:Function},toUser:{type:Function},clamp:{type:Function},rootLabel:{},floor:{},multiRoot:{type:Boolean},virtualRows:{type:Function},active:{type:Boolean},viewMode:{},thumbSrc:{type:Function},trashVisible:{type:Boolean}},emits:["navigate","activate","close","open-tab","transfer","context","open-trash"],setup(e,{expose:t,emit:n}){const a=e,i=n,{t:o}=Gt(()=>a.locale),s=r.ref(""),l=r.ref([]),c=r.ref(!1),d=r.ref(""),u=r.ref(new Set);function h(V){return V.mime_type==="inode/storage"}const f=r.computed(()=>!!a.multiRoot&&!(s.value??"").replace(/^\/+|\/+$/g,""));async function p(V){const z=a.clamp(V??s.value??"");c.value=!0,d.value="";try{if(a.multiRoot&&!z){l.value=a.virtualRows?a.virtualRows():[],s.value="",u.value=new Set,i("navigate","");return}const U=await a.api.index(a.qualify(z));l.value=Zu(U.files),Ju(l.value,U.adapter,U.dirname,a.trashVisible!==!1)&&Qu(l.value,U.adapter,a.api),s.value=a.toUser(U.dirname),u.value=new Set,i("navigate",s.value)}catch(U){d.value=U instanceof Error?U.message:String(U)}finally{c.value=!1}}p(a.initialPath??"");const k=r.computed(()=>{const V=(s.value||"").replace(/^\/+|\/+$/g,""),z=V?V.split("/"):[],U=(a.floor||"").replace(/^\/+|\/+$/g,""),H=[];let de="";for(const he of z)de=de?`${de}/${he}`:he,!(U&&!(de===U||de.startsWith(U+"/")))&&H.push({label:he,target:de,last:!1});return H.length>0&&(H[H.length-1].last=!0),H}),v=r.computed(()=>!a.floor);function b(V){i("activate"),p(V)}function m(V,z){i("activate");const U=z.ctrl||z.shift,H=new Set(U?u.value:[]);U&&H.has(V.path)?H.delete(V.path):H.add(V.path),u.value=H}function g(V,z){z.preventDefault(),z.stopPropagation(),i("activate"),u.value.has(V.path)||(u.value=new Set([V.path])),i("context",V,z)}function _(V){V.preventDefault(),V.stopPropagation(),i("activate"),u.value=new Set,i("context",null,V)}function y(V,z){x.value=!1,!(V.type!=="dir"||h(V))&&w(z)&&B(z,V.path)}function E(V){if(V.type==="dir"){if(V.basename===".trash"){i("activate"),i("open-trash");return}p(h(V)?V.path:a.toUser(V.path))}}function M(){u.value=new Set}function D(V,z){if(!z.dataTransfer)return;if(h(V)||f.value||V.basename===".trash"){z.preventDefault();return}u.value.has(V.path)||(u.value=new Set([V.path]));const U=l.value.filter(H=>u.value.has(H.path)&&!h(H)).map(H=>({path:H.path,basename:H.basename,type:H.type}));if(U.length===0){z.preventDefault();return}z.dataTransfer.setData(o0,JSON.stringify(U)),z.dataTransfer.setData(ef,a.qualify(s.value)),z.dataTransfer.setData("text/plain",U.map(H=>H.path).join(`
|
|
2
2
|
`)),z.dataTransfer.effectAllowed="move"}const x=r.ref(!1);function w(V){var z;return!!((z=V.dataTransfer)!=null&&z.types.includes(o0))}function B(V,z){var ve,xe;const U=(ve=V.dataTransfer)==null?void 0:ve.getData(o0);if(!U||!z)return;let H=[];try{H=JSON.parse(U)}catch{return}const de=((xe=V.dataTransfer)==null?void 0:xe.getData(ef))||void 0,he=H.map(ie=>ie.path).filter(ie=>ie&&ie!==z&&!z.startsWith(ie+"/"));he.length!==0&&(V.preventDefault(),V.stopPropagation(),i("transfer",{sources:he,targetWire:z,originWire:de}))}function N(V){!w(V)||f.value||(V.preventDefault(),V.stopPropagation(),V.dataTransfer&&(V.dataTransfer.dropEffect="move"),x.value=!0)}function G(){x.value=!1}function F(V){x.value=!1,!(!w(V)||f.value)&&B(V,a.qualify(s.value))}function q(){const V=(s.value??"").replace(/^\/+|\/+$/g,""),z=(a.floor||"").replace(/^\/+|\/+$/g,"");if(!V||V===z)return;const U=V.lastIndexOf("/");p(U===-1?"":V.slice(0,U))}function Y(){u.value=new Set(l.value.filter(V=>!h(V)).map(V=>V.path))}function K(){return l.value.filter(V=>u.value.has(V.path))}function Q(){const V=K()[0];V&&V.type==="dir"&&E(V)}function re(){return p()}function $(){return s.value}return t({reload:re,goUp:q,selectAll:Y,openSelected:Q,selectedNodes:K,getPath:$}),(V,z)=>(r.openBlock(),r.createElementBlock("section",{class:r.normalizeClass(["fe-split",{"fe-pane--focus":e.active}]),role:"region","aria-label":r.unref(o)("split.pane"),onPointerdown:z[3]||(z[3]=U=>i("activate"))},[r.createElementVNode("header",Z8,[v.value?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:r.normalizeClass(["fe-split__crumb",{"is-last":k.value.length===0}]),title:e.rootLabel,onClick:z[0]||(z[0]=U=>b(""))},r.toDisplayString(e.rootLabel),11,J8)):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(k.value,U=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:U.target},[z[4]||(z[4]=r.createElementVNode("span",{class:"fe-split__sep","aria-hidden":"true"},"›",-1)),r.createElementVNode("button",{type:"button",class:r.normalizeClass(["fe-split__crumb",{"is-last":U.last}]),title:U.label,onClick:H=>b(U.target)},r.toDisplayString(U.label),11,Q8)],64))),128)),z[5]||(z[5]=r.createElementVNode("span",{class:"fe-split__spacer"},null,-1)),r.createElementVNode("button",{type:"button",class:"fe-split__closebtn","aria-label":r.unref(o)("split.close"),title:r.unref(o)("split.close"),onClick:z[1]||(z[1]=U=>i("close"))},"×",8,e7)]),r.createElementVNode("div",{class:r.normalizeClass(["fe-split__body",{"is-dropover":x.value}]),onClick:r.withModifiers(M,["self"]),onContextmenu:_,onDragover:N,onDragleave:G,onDrop:F},[c.value&&l.value.length===0?(r.openBlock(),r.createElementBlock("div",t7,r.toDisplayString(r.unref(o)("loading")),1)):d.value?(r.openBlock(),r.createElementBlock("div",n7,[r.createElementVNode("span",null,r.toDisplayString(r.unref(o)("split.error")),1),r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:z[2]||(z[2]=()=>p())},r.toDisplayString(r.unref(o)("split.retry")),1)])):l.value.length===0?(r.openBlock(),r.createElementBlock("div",r7,r.toDisplayString(r.unref(o)("empty.folder")),1)):(e.viewMode??"list")==="list"?(r.openBlock(),r.createBlock(gu,{key:3,files:l.value,selected:u.value,locale:e.locale,loading:c.value,onClickRow:m,onDblRow:E,onContextRow:g,onItemDragStart:D,onItemDropInto:y},null,8,["files","selected","locale","loading"])):e.viewMode==="grid"?(r.openBlock(),r.createBlock(vu,{key:4,files:l.value,selected:u.value,locale:e.locale,loading:c.value,"thumb-src":e.thumbSrc,onClickCard:m,onDblCard:E,onContextCard:g,onItemDragStart:D,onItemDropInto:y},null,8,["files","selected","locale","loading","thumb-src"])):(r.openBlock(),r.createBlock(yu,{key:5,files:l.value,selected:u.value,locale:e.locale,loading:c.value,"thumb-src":e.thumbSrc,onClickCard:m,onDblCard:E,onContextCard:g,onItemDragStart:D,onItemDropInto:y},null,8,["files","selected","locale","loading","thumb-src"]))],34)],42,X8))}});function l0(){try{return crypto.randomUUID()}catch{return`t${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}}function nf(e){const t=r.ref([]),n=r.ref(""),a=r.computed(()=>t.value.find(b=>b.id===n.value)??null),i=r.computed(()=>t.value.findIndex(b=>b.id===n.value)),o=r.computed(()=>t.value.length>1);function s(){if(!e.storageKey)return!1;try{const b=localStorage.getItem(e.storageKey);if(!b)return!1;const m=JSON.parse(b);if(!m||!Array.isArray(m.tabs)||m.tabs.length===0)return!1;const g=[];for(const _ of m.tabs){if(!_||typeof _.path!="string")continue;const y=typeof _.viewMode=="string"&&_.viewMode?_.viewMode:"list",E=_.split,M=E&&typeof E=="object"&&typeof E.path=="string"?{path:E.path,viewMode:typeof E.viewMode=="string"&&E.viewMode?E.viewMode:void 0}:null;g.push({id:typeof _.id=="string"&&_.id?_.id:l0(),path:_.path,viewMode:y,split:M})}return g.length===0?!1:(t.value=g,n.value=g.some(_=>_.id===m.active)?String(m.active):g[0].id,!0)}catch{return!1}}function l(){if(e.storageKey)try{localStorage.setItem(e.storageKey,JSON.stringify({v:1,active:n.value,tabs:t.value}))}catch{}}r.watch([t,n],l,{deep:!0});function c(b,m){if(t.value.length>0)return;const g={id:l0(),path:b,viewMode:m,split:null};t.value=[g],n.value=g.id}function d(b){const m=a.value;m&&(b.path!==void 0&&(m.path=b.path),b.viewMode!==void 0&&(m.viewMode=b.viewMode))}function u(b,m){const g={id:l0(),path:b,viewMode:m.viewMode,split:m.split??null},_=i.value;return t.value.splice(_===-1?t.value.length:_+1,0,g),m.background||(n.value=g.id),g}function h(b){if(t.value.length<=1)return null;const m=t.value.findIndex(y=>y.id===b);if(m===-1)return null;const g=t.value[m].id===n.value;if(t.value.splice(m,1),!g)return null;const _=t.value[Math.min(m,t.value.length-1)];return n.value=_.id,_}function f(b){const m=t.value.find(g=>g.id===b);return!m||m.id===n.value?null:(n.value=m.id,m)}function p(b){if(t.value.length<2)return null;const m=i.value===-1?0:i.value,g=t.value[(m+b+t.value.length)%t.value.length];return f(g.id)}function k(b,m){if(b===m||b<0||m<0||b>=t.value.length||m>=t.value.length)return;const g=[...t.value],[_]=g.splice(b,1);g.splice(m,0,_),t.value=g}function v(b){const m=a.value;m&&(m.split=b)}return{tabs:t,activeId:n,activeTab:a,activeIndex:i,hasMultiple:o,restore:s,seed:c,syncActive:d,openTab:u,closeTab:h,activate:f,step:p,move:k,setSplit:v}}const a7=["placeholder","disabled"],i7=["placeholder","disabled"],o7=["placeholder","disabled","onKeydown"],l7={class:"fe-e2e-warn",role:"alert"},s7={class:"fe-e2e-ack"},c7=["disabled"],d7={key:0,class:"fe-form__error"},u7=["disabled"],f7=["disabled"],rf=r.defineComponent({__name:"EncryptedFolderModal",props:{open:{type:Boolean},locale:{},busy:{type:Boolean}},emits:["close","submit"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale),o=r.ref(""),s=r.ref(""),l=r.ref(""),c=r.ref(!1),d=r.ref(null);r.watch(()=>n.open,h=>{h&&(o.value="",s.value="",l.value="",c.value=!1,d.value=null)});function u(){if(n.busy)return;const h=o.value.trim();if(!h){d.value=i("modal.newfolder.placeholder");return}if(/[\\/]/.test(h)||h==="."||h===".."||h.startsWith(".filex")){d.value=i("e2e.create.bad_name");return}if(s.value.length<Vu){d.value=i("e2e.create.pw_short");return}if(s.value!==l.value){d.value=i("e2e.create.pw_mismatch");return}if(!c.value){d.value=i("e2e.create.ack_required");return}d.value=null,a("submit",{name:h,password:s.value})}return(h,f)=>(r.openBlock(),r.createBlock(Rr,{open:e.open,title:r.unref(i)("e2e.create.title"),size:"sm",onClose:f[5]||(f[5]=p=>a("close"))},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"fe-btn",disabled:e.busy,onClick:f[4]||(f[4]=p=>a("close"))},r.toDisplayString(r.unref(i)("modal.newfolder.cancel")),9,u7),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",disabled:e.busy,onClick:u},r.toDisplayString(e.busy?r.unref(i)("e2e.create.busy"):r.unref(i)("e2e.create.create")),9,f7)]),default:r.withCtx(()=>[r.createElementVNode("form",{class:"fe-e2e-form",onSubmit:r.withModifiers(u,["prevent"])},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=p=>o.value=p),type:"text",class:"fe-input",placeholder:r.unref(i)("modal.newfolder.placeholder"),autocomplete:"off",disabled:e.busy},null,8,a7),[[r.vModelText,o.value]]),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":f[1]||(f[1]=p=>s.value=p),type:"password",class:"fe-input",placeholder:r.unref(i)("e2e.create.pw_placeholder"),autocomplete:"new-password",disabled:e.busy},null,8,i7),[[r.vModelText,s.value]]),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":f[2]||(f[2]=p=>l.value=p),type:"password",class:"fe-input",placeholder:r.unref(i)("e2e.create.pw2_placeholder"),autocomplete:"new-password",disabled:e.busy,onKeydown:r.withKeys(r.withModifiers(u,["prevent"]),["enter"])},null,40,o7),[[r.vModelText,l.value]]),r.createElementVNode("div",l7,[r.createElementVNode("strong",null,r.toDisplayString(r.unref(i)("e2e.create.warn_title")),1),r.createElementVNode("p",null,r.toDisplayString(r.unref(i)("e2e.create.warn_body")),1)]),r.createElementVNode("label",s7,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":f[3]||(f[3]=p=>c.value=p),type:"checkbox",disabled:e.busy},null,8,c7),[[r.vModelCheckbox,c.value]]),r.createElementVNode("span",null,r.toDisplayString(r.unref(i)("e2e.create.ack")),1)]),d.value?(r.openBlock(),r.createElementBlock("p",d7,r.toDisplayString(d.value),1)):r.createCommentVNode("",!0)],32)]),_:1},8,["open","title"]))}}),h7=["placeholder","onKeydown"],p7={key:0,class:"fe-form__error"},m7=r.defineComponent({__name:"NewFolderModal",props:{open:{type:Boolean},locale:{},encryptedOption:{type:Boolean}},emits:["close","submit","encrypted"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale),o=r.ref(""),s=r.ref(null);r.watch(()=>n.open,c=>{c&&(o.value="",s.value=null)});function l(){const c=o.value.trim();if(!c){s.value=i("modal.newfolder.placeholder");return}if(/[\\/]/.test(c)||c==="."||c===".."){s.value="Geçersiz karakter";return}a("submit",c)}return(c,d)=>(r.openBlock(),r.createBlock(Rr,{open:e.open,title:r.unref(i)("modal.newfolder.title"),size:"sm",onClose:d[3]||(d[3]=u=>a("close"))},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:d[2]||(d[2]=u=>a("close"))},r.toDisplayString(r.unref(i)("modal.newfolder.cancel")),1),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:l},r.toDisplayString(r.unref(i)("modal.newfolder.create")),1)]),default:r.withCtx(()=>[r.createElementVNode("form",{onSubmit:r.withModifiers(l,["prevent"])},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":d[0]||(d[0]=u=>o.value=u),type:"text",class:"fe-input",placeholder:r.unref(i)("modal.newfolder.placeholder"),autocomplete:"off",onKeydown:r.withKeys(r.withModifiers(l,["prevent"]),["enter"])},null,40,h7),[[r.vModelText,o.value]]),s.value?(r.openBlock(),r.createElementBlock("p",p7,r.toDisplayString(s.value),1)):r.createCommentVNode("",!0),e.encryptedOption!==!1?(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"fe-e2e-optlink",onClick:d[1]||(d[1]=u=>a("encrypted"))}," 🔒 "+r.toDisplayString(r.unref(i)("e2e.create.option")),1)):r.createCommentVNode("",!0)],32)]),_:1},8,["open","title"]))}}),g7=["onKeydown"],v7=r.defineComponent({__name:"RenameModal",props:{open:{type:Boolean},locale:{},currentName:{}},emits:["close","submit"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale),o=r.ref("");r.watch(()=>[n.open,n.currentName],([l,c])=>{l&&(o.value=c)});function s(){const l=o.value.trim();l&&(/[\\/]/.test(l)||l==="."||l===".."||a("submit",l))}return(l,c)=>(r.openBlock(),r.createBlock(Rr,{open:e.open,title:r.unref(i)("modal.rename.title"),size:"sm",onClose:c[2]||(c[2]=d=>a("close"))},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:c[1]||(c[1]=d=>a("close"))},r.toDisplayString(r.unref(i)("modal.rename.cancel")),1),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:s},r.toDisplayString(r.unref(i)("modal.rename.save")),1)]),default:r.withCtx(()=>[r.createElementVNode("form",{onSubmit:r.withModifiers(s,["prevent"])},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>o.value=d),type:"text",class:"fe-input",autocomplete:"off",onKeydown:r.withKeys(r.withModifiers(s,["prevent"]),["enter"])},null,40,g7),[[r.vModelText,o.value]])],32)]),_:1},8,["open","title"]))}}),y7=r.defineComponent({__name:"DeleteConfirmModal",props:{open:{type:Boolean},locale:{},count:{}},emits:["close","confirm"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale);return(o,s)=>(r.openBlock(),r.createBlock(Rr,{open:e.open,title:r.unref(i)("modal.delete.title"),size:"sm",onClose:s[2]||(s[2]=l=>a("close"))},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:s[0]||(s[0]=l=>a("close"))},r.toDisplayString(r.unref(i)("modal.delete.cancel")),1),r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--danger",onClick:s[1]||(s[1]=l=>a("confirm"))},r.toDisplayString(r.unref(i)("modal.delete.confirm")),1)]),default:r.withCtx(()=>[r.createElementVNode("p",null,r.toDisplayString(r.unref(i)("modal.delete.message",{count:e.count})),1)]),_:1},8,["open","title"]))}}),b7={class:"fe-form__row"},_7={class:"fe-form__row fe-form__row--stack"},k7={class:"fe-form__row fe-form__row--stack"},w7={key:1,class:"fe-share-result"},x7={class:"fe-share-result__row"},S7={class:"fe-share-result__copy"},E7=["value"],C7={key:0,class:"fe-share-result__row"},B7={class:"fe-share-result__copy"},D7=["value"],T7={class:"fe-share-result__row"},A7={class:"fe-share-result__copy"},M7=["value"],N7=r.defineComponent({__name:"ShareModal",props:{open:{type:Boolean},locale:{},share:{}},emits:["close","submit","toast"],setup(e,{emit:t}){const n=e,a=t,{t:i}=Gt(()=>n.locale),o=r.ref(!1),s=r.ref(""),l=r.ref("");r.watch(()=>n.open,f=>{f&&(o.value=!1,s.value="",l.value="")});function c(){a("submit",{password:o.value,expires_at:s.value?new Date(s.value).toISOString():null,max_downloads:l.value?Number(l.value):null})}async function d(f,p){try{await navigator.clipboard.writeText(f),a("toast",p)}catch{}}function u(f){return`'${f.replace(/'/g,"'\\''")}'`}const h=r.computed(()=>{const f=n.share;if(!f)return"";let p=f.url;return f.password_pin&&(p+=(p.includes("?")?"&":"?")+"pin="+encodeURIComponent(f.password_pin)),`curl -fSL ${f.filename?`-o ${u(f.filename)} `:"-OJ "}${u(p)}`});return(f,p)=>(r.openBlock(),r.createBlock(Rr,{open:e.open,title:r.unref(i)("modal.share.title"),size:"md",onClose:p[7]||(p[7]=k=>a("close"))},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:p[6]||(p[6]=k=>a("close"))},r.toDisplayString(e.share?"Kapat":r.unref(i)("modal.share.cancel")),1),e.share?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-btn fe-btn--primary",onClick:c},r.toDisplayString(r.unref(i)("modal.share.create")),1))]),default:r.withCtx(()=>[e.share?(r.openBlock(),r.createElementBlock("div",w7,[r.createElementVNode("div",x7,[p[8]||(p[8]=r.createElementVNode("label",null,"Link",-1)),r.createElementVNode("div",S7,[r.createElementVNode("input",{value:e.share.url,readonly:"",class:"fe-input"},null,8,E7),r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:p[3]||(p[3]=k=>d(e.share.url,r.unref(i)("modal.share.url_copied")))},r.toDisplayString(r.unref(i)("modal.share.copy")),1)])]),e.share.password_pin?(r.openBlock(),r.createElementBlock("div",C7,[p[9]||(p[9]=r.createElementVNode("label",null,"PIN",-1)),r.createElementVNode("div",B7,[r.createElementVNode("input",{value:e.share.password_pin,readonly:"",class:"fe-input fe-input--mono"},null,8,D7),r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:p[4]||(p[4]=k=>d(e.share.password_pin,r.unref(i)("modal.share.pin_copied")))},r.toDisplayString(r.unref(i)("modal.share.copy")),1)])])):r.createCommentVNode("",!0),r.createElementVNode("div",T7,[p[10]||(p[10]=r.createElementVNode("label",null,"CLI",-1)),r.createElementVNode("div",A7,[r.createElementVNode("input",{value:h.value,readonly:"",class:"fe-input fe-input--mono"},null,8,M7),r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:p[5]||(p[5]=k=>d(h.value,r.unref(i)("modal.share.cli_copied")))},r.toDisplayString(r.unref(i)("modal.share.copy")),1)])])])):(r.openBlock(),r.createElementBlock("form",{key:0,class:"fe-form",onSubmit:r.withModifiers(c,["prevent"])},[r.createElementVNode("label",b7,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":p[0]||(p[0]=k=>o.value=k),type:"checkbox"},null,512),[[r.vModelCheckbox,o.value]]),r.createElementVNode("span",null,r.toDisplayString(r.unref(i)("modal.share.pin")),1)]),r.createElementVNode("label",_7,[r.createElementVNode("span",null,r.toDisplayString(r.unref(i)("modal.share.expires")),1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":p[1]||(p[1]=k=>s.value=k),type:"datetime-local",class:"fe-input"},null,512),[[r.vModelText,s.value]])]),r.createElementVNode("label",k7,[r.createElementVNode("span",null,r.toDisplayString(r.unref(i)("modal.share.max_downloads")),1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":p[2]||(p[2]=k=>l.value=k),type:"number",min:"1",class:"fe-input"},null,512),[[r.vModelText,l.value]])])],32))]),_:1},8,["open","title"]))}}),I7={class:"filex-cv"},z7={class:"filex-cv__head"},F7={key:0,class:"filex-cv__msg"},L7={key:1,class:"filex-cv__msg filex-cv__ok"},O7={class:"filex-cv__src"},P7=["placeholder"],R7={class:"filex-cv__list"},V7=["onClick"],$7={key:0,class:"filex-cv__empty"},U7={key:0,class:"filex-cv__err"},H7={class:"filex-cv__foot"},G7=["disabled"],j7=["src"],q7=xn(r.defineComponent({__name:"ConvertModal",props:{convertUrl:{},fileName:{},fetchBytes:{type:Function},upload:{type:Function},t:{type:Function}},emits:["close","done"],setup(e,{emit:t}){const n=e,a=t,i=r.ref(null),o=r.ref("loading"),s=r.ref(null),l=r.ref([]),c=r.ref(""),d=r.ref(null),u=r.computed(()=>(n.fileName.split(".").pop()||"").toLowerCase()),h=r.computed(()=>{const E=l.value.filter(M=>M.from);return E.find(M=>(M.ext||"").toLowerCase()===u.value)||E.find(M=>(M.format||"").toLowerCase()===u.value)||null}),f=r.computed(()=>{const E=c.value.trim().toLowerCase(),M=new Set,D=[];for(const x of l.value){if(!x.to)continue;const w=(x.ext||x.format||"").toLowerCase();!w||M.has(w)||(M.add(w),D.push(x))}return D.sort((x,w)=>(x.ext||x.format).localeCompare(w.ext||w.format)),E?D.filter(x=>(x.ext||"").toLowerCase().includes(E)||(x.format||"").toLowerCase().includes(E)||(x.name||"").toLowerCase().includes(E)||(x.mime||"").toLowerCase().includes(E)):D}),p=r.computed(()=>`${n.convertUrl.replace(/\/$/,"")}/?embed=1`);let k=0;const v=new Map;function b(E,M={},D=[]){const x=++k;return new Promise((w,B)=>{var N,G;v.set(x,{resolve:w,reject:B}),(G=(N=i.value)==null?void 0:N.contentWindow)==null||G.postMessage({target:"convert-embed",id:x,cmd:E,...M},"*",D),setTimeout(()=>{v.has(x)&&(v.delete(x),B(new Error("convert timeout")))},18e4)})}function m(E){const M=E.data;if(!M||M.source!=="convert-embed")return;if(M.event==="ready"){g();return}const D=v.get(M.id);D&&(v.delete(M.id),M.ok?D.resolve(M):D.reject(new Error(M.error||"convert error")))}async function g(){try{const E=await b("listFormats");l.value=E.formats||[],o.value="ready",h.value||(s.value=y("convert.unsupportedInput","Bu dosya tipi için kaynak format bulunamadı."))}catch(E){s.value=E.message,o.value="error"}}async function _(){if(!(!d.value||!h.value)){o.value="converting",s.value=null;try{const E=await n.fetchBytes(),M=await b("convert",{name:n.fileName,bytes:E,fromIndex:h.value.index,toIndex:d.value.index},[E]),D=n.fileName.replace(/\.[^.]+$/,""),x=M.ext||d.value.ext||d.value.format,w=`${D}.${x}`,B=new File([M.bytes],w,{type:d.value.mime||"application/octet-stream"});await n.upload(B),o.value="done",a("done",w)}catch(E){s.value=E.message,o.value="error"}}}function y(E,M){return n.t?n.t(E,M):M}return r.onMounted(()=>window.addEventListener("message",m)),r.onBeforeUnmount(()=>window.removeEventListener("message",m)),(E,M)=>(r.openBlock(),r.createElementBlock("div",{class:"filex-cv__bg",onClick:M[3]||(M[3]=r.withModifiers(D=>a("close"),["self"]))},[r.createElementVNode("div",I7,[r.createElementVNode("header",z7,[r.createElementVNode("h3",null,r.toDisplayString(y("convert.title","Dönüştür"))+" — "+r.toDisplayString(e.fileName),1),r.createElementVNode("button",{class:"filex-cv__x",onClick:M[0]||(M[0]=D=>a("close"))},"✕")]),o.value==="loading"?(r.openBlock(),r.createElementBlock("div",F7,r.toDisplayString(y("convert.loading","Dönüştürücü yükleniyor…")),1)):o.value==="done"?(r.openBlock(),r.createElementBlock("div",L7,[r.createElementVNode("p",null,"✓ "+r.toDisplayString(y("convert.done","Dönüştürüldü ve klasöre yüklendi.")),1),r.createElementVNode("button",{class:"filex-cv__convert",onClick:M[1]||(M[1]=D=>a("close"))},r.toDisplayString(y("convert.close","Kapat")),1)])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[r.createElementVNode("p",O7,[r.createTextVNode(r.toDisplayString(y("convert.from","Kaynak"))+": ",1),r.createElementVNode("b",null,r.toDisplayString(u.value||"?"),1)]),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":M[2]||(M[2]=D=>c.value=D),class:"filex-cv__search",placeholder:y("convert.searchFmt","Hedef format ara (pdf, mp4, png…)")},null,8,P7),[[r.vModelText,c.value]]),r.createElementVNode("div",R7,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(f.value,D=>{var x;return r.openBlock(),r.createElementBlock("button",{key:D.index,class:r.normalizeClass(["filex-cv__fmt",{"is-sel":((x=d.value)==null?void 0:x.index)===D.index}]),onClick:w=>d.value=D},[r.createElementVNode("b",null,r.toDisplayString((D.ext||D.format).toUpperCase()),1),r.createElementVNode("small",null,r.toDisplayString(D.name),1)],10,V7)}),128)),f.value.length===0?(r.openBlock(),r.createElementBlock("div",$7,r.toDisplayString(y("convert.noFmt","Eşleşen format yok.")),1)):r.createCommentVNode("",!0)]),s.value?(r.openBlock(),r.createElementBlock("div",U7,r.toDisplayString(s.value),1)):r.createCommentVNode("",!0),r.createElementVNode("footer",H7,[r.createElementVNode("button",{class:"filex-cv__convert",disabled:!d.value||!h.value||o.value==="converting",onClick:_},r.toDisplayString(o.value==="converting"?y("convert.converting","Dönüştürülüyor…"):y("convert.convert","Dönüştür")),9,G7)])],64)),r.createElementVNode("iframe",{ref_key:"iframeRef",ref:i,src:p.value,class:"filex-cv__frame",title:"converter"},null,8,j7)])]))}}),[["__scopeId","data-v-4363f1ac"]]),K7={class:"fx-perm-modal"},W7={class:"fx-perm-head"},Y7={class:"fx-perm-title"},X7={class:"fx-perm-ico","aria-hidden":"true"},Z7={class:"fx-perm-titletext"},J7=["title"],Q7={class:"fx-perm-subdim"},e_={class:"fx-perm-tabs"},t_={class:"fx-perm-body"},n_={key:0,class:"fx-perm-warn"},r_={key:1,class:"fx-perm-warn"},a_={key:2,class:"fx-perm-muted"},i_={class:"fx-perm-addcard"},o_={class:"fx-perm-add"},l_={class:"fx-perm-emailwrap"},s_=["placeholder"],c_={key:0,class:"fx-perm-suggest"},d_=["onMousedown"],u_={class:"fx-perm-suggest-av"},f_={class:"fx-perm-suggest-txt"},h_={class:"fx-perm-suggest-name"},p_={class:"fx-perm-suggest-meta"},m_=["title"],g_=["value"],v_=["disabled"],y_={key:0,class:"fx-perm-invite"},b_={class:"fx-perm-muted"},__={class:"fx-perm-invite-actions"},k_={class:"fx-perm-invite-row"},w_={value:"user"},x_={value:"viewer"},S_=["disabled"],E_=["disabled"],C_={key:1,class:"fx-perm-notice"},B_={key:2,class:"fx-perm-reveal"},D_={class:"fx-perm-section"},T_={key:0,class:"fx-perm-empty"},A_={class:"fx-perm-av"},M_=["title"],N_=["value","onChange"],I_=["value"],z_=["disabled","title","onClick"],F_={class:"fx-perm-av fx-perm-av--dim"},L_=["title"],O_={class:"fx-perm-badge"},P_=["title"],R_={class:"fx-perm-addcard"},V_={class:"fx-perm-share-opts"},$_={class:"fx-perm-check"},U_={class:"fx-perm-expiry"},H_={class:"fx-perm-muted"},G_=["value"],j_=["disabled"],q_={key:0,class:"fx-perm-warn"},K_={key:1,class:"fx-perm-result"},W_={class:"fx-perm-linkrow"},Y_=["href"],X_={key:0,class:"fx-perm-pin"},Z_={class:"fx-perm-mailrow"},J_=["placeholder"],Q_=["disabled"],ek={key:1,class:"fx-perm-notice"},tk={key:2,class:"fx-perm-hint"},nk={class:"fx-perm-section"},rk={key:0,class:"fx-perm-empty"},ak=["title"],ik=["onClick"],ok=["disabled","title","onClick"],lk={key:2,class:"fx-perm-addcard"},sk={class:"fx-perm-muted fx-perm-dropintro"},ck={class:"fx-perm-share-opts"},dk={class:"fx-perm-check"},uk={class:"fx-perm-expiry"},fk={class:"fx-perm-muted"},hk=["value"],pk=["disabled"],mk={key:0,class:"fx-perm-adv"},gk={class:"fx-perm-adv-row"},vk={class:"fx-perm-muted"},yk={class:"fx-perm-adv-row"},bk={class:"fx-perm-muted"},_k={class:"fx-perm-adv-row"},kk={class:"fx-perm-muted"},wk=["placeholder"],xk={class:"fx-perm-check"},Sk={key:1,class:"fx-perm-warn"},Ek={key:2,class:"fx-perm-result"},Ck={class:"fx-perm-linkrow"},Bk=["href"],Dk={key:0,class:"fx-perm-pin"},Tk={class:"fx-perm-mailrow"},Ak=["placeholder"],Mk=["disabled"],Nk={key:1,class:"fx-perm-notice"},Ik=xn(r.defineComponent({__name:"PermissionsModal",props:{api:{},path:{},isDir:{type:Boolean},size:{},locale:{}},emits:["close"],setup(e,{emit:t}){const n=e,a=t,i=r.computed(()=>(n.locale??"tr")!=="en");function o(Z,X){return i.value?Z:X}const s=r.computed(()=>{const Z=/^([^:]+):\/\/(.*)$/.exec(n.path),X=Z?Z[1]:"",O=Z?Z[2]:n.path,te=O.split("/").filter(Boolean);return{adapter:X,name:te.length?te[te.length-1]:X,rel:O}}),l=r.ref("perms"),c=r.ref(!1),d=r.ref(!0),u=r.ref(""),h=r.ref([]),f=r.ref([]),p=r.ref(!0),k=r.ref(""),v=r.ref("viewer"),b=r.ref(!1),m=r.ref(""),g=r.ref(!1),_=r.ref("user"),y=r.ref(null),E=r.ref([]),M=r.ref(!1);let D;const x=[{v:"viewer",l:o("Görüntüleyen","Viewer"),d:o("görüntüle + indir","view + download")},{v:"editor",l:o("Düzenleyen","Editor"),d:o("oku + yaz + sil","read + write + delete")},{v:"owner",l:o("Sahip","Owner"),d:o("düzenle + izin yönet","edit + manage access")}];function w(Z){var X;return((X=x.find(O=>O.v===Z))==null?void 0:X.l)??Z}const B=r.ref([]),N=r.ref(!1),G=r.ref(!1),F=r.ref(0),q=r.ref(null),Y=r.ref(""),K=r.ref(""),Q=r.ref(""),re=r.ref(!1),$=r.ref(""),V=[{v:0,l:o("Süresiz","Never")},{v:1,l:o("1 gün","1 day")},{v:7,l:o("7 gün","7 days")},{v:30,l:o("30 gün","30 days")}],z=r.ref(!1),U=r.ref(0),H=r.ref(!1),de=r.ref(""),he=r.ref(""),ve=r.ref(""),xe=r.ref(!0),ie=r.ref(!1),ge=r.ref(""),me=r.ref(null),we=r.ref(""),Ge=r.ref(!1),Xe=r.ref("");function tt(Z){const X=new Set,O=[];for(const te of Z.split(/[,;\s]+/)){const J=te.trim().toLowerCase();J&&J.includes("@")&&!X.has(J)&&(X.add(J),O.push(J))}return O}function Ke(Z){var te,J;const X=((te=Z.sent)==null?void 0:te.length)??0,O=((J=Z.failed)==null?void 0:J.length)??0;return O===0?o(`E-posta gönderildi ✓ (${X})`,`Email sent ✓ (${X})`):o(`${X} gönderildi, ${O} başarısız`,`${X} sent, ${O} failed`)}async function De(){d.value=!0,u.value="";try{const Z=await n.api.listPermissions(n.path);h.value=Z.direct??[],f.value=Z.inherited??[],p.value=Z.storage_rbac,c.value=!0}catch(Z){Z.status===403?(c.value=!1,l.value="share"):u.value=Z instanceof Error?Z.message:String(Z)}finally{d.value=!1}}async function Ne(){try{const Z=await n.api.listShares(n.path);B.value=Z.shares??[]}catch{B.value=[]}}r.onMounted(async()=>{await De(),await Ne()}),r.onBeforeUnmount(()=>{D&&clearTimeout(D)});function ke(){g.value=!1,y.value=null,m.value="";const Z=k.value.trim();if(D&&clearTimeout(D),Z.length<1){E.value=[],M.value=!1;return}D=setTimeout(async()=>{try{const X=await n.api.searchUsers(Z);E.value=X.users??[],M.value=E.value.length>0}catch{M.value=!1}},180)}async function ce(Z){M.value=!1,k.value=Z.email;let X=v.value;Z.role==="viewer"&&X!=="viewer"&&(X="viewer"),b.value=!0,m.value="";try{await n.api.addPermission({path:n.path,user_id:Z.id,level:X,is_dir:!!n.isDir}),k.value="",E.value=[],await De(),m.value=o("Yetki verildi.","Access granted.")}catch(O){m.value=O instanceof Error?O.message:String(O)}finally{b.value=!1}}async function pe(){const Z=k.value.trim().toLowerCase();if(!Z||!Z.includes("@")){m.value=o("Geçerli bir e-posta girin.","Enter a valid email.");return}M.value=!1,b.value=!0,m.value="",y.value=null;try{const X=await n.api.resolveEmail(Z);if(X.found&&X.user){let O=v.value;X.user.role==="viewer"&&O!=="viewer"&&(O="viewer"),await n.api.addPermission({path:n.path,user_id:X.user.id,level:O,is_dir:!!n.isDir}),k.value="",await De(),m.value=o("Yetki verildi.","Access granted.")}else g.value=!0}catch(X){m.value=X instanceof Error?X.message:String(X)}finally{b.value=!1}}async function Ae(){b.value=!0,m.value="";try{const Z=await n.api.invitePermission({path:n.path,email:k.value.trim().toLowerCase(),level:v.value,create_user:!0,role:_.value,is_dir:!!n.isDir,locale:n.locale??"tr"});y.value={tempPassword:Z.temp_password},m.value=Z.emailed?o("Kullanıcı açıldı, davet e-postası gönderildi.","User created, invite emailed."):o("Kullanıcı açıldı. Geçici parolayı iletin.","User created. Share the temp password."),g.value=!1,k.value="",await De()}catch(Z){m.value=Z instanceof Error?Z.message:String(Z)}finally{b.value=!1}}function We(){Q.value=k.value.trim().toLowerCase(),g.value=!1,m.value="",l.value="share"}async function wt(Z,X){if(X!==Z.level){b.value=!0;try{await n.api.updatePermission(Z.id,X),await De()}catch(O){m.value=O instanceof Error?O.message:String(O)}finally{b.value=!1}}}async function et(Z){b.value=!0;try{await n.api.deletePermission(Z.id),await De()}catch(X){m.value=X instanceof Error?X.message:String(X)}finally{b.value=!1}}function ft(Z){return Z.user_display_name||Z.user_email||`#${Z.user_id}`}function ct(Z){return(Z.user_display_name||Z.user_email||"?").charAt(0).toUpperCase()}function pt(){return F.value?new Date(Date.now()+F.value*864e5).toISOString():null}async function ht(){N.value=!0,Y.value="",q.value=null,$.value="";try{const Z=await n.api.createShare({path:n.path,password:G.value,expires_at:pt()});q.value={url:Z.share.url,pin:Z.share.password_pin??null},await Ne()}catch(Z){Y.value=Z instanceof Error?Z.message:String(Z)}finally{N.value=!1}}async function Pt(){var X;const Z=tt(Q.value);if(!Z.length){$.value=o("Geçerli bir e-posta girin.","Enter a valid email.");return}if((X=q.value)!=null&&X.url){re.value=!0,$.value="";try{const O=await n.api.shareMail({path:n.path,emails:Z,url:q.value.url,pin:q.value.pin??void 0,expires_days:F.value||void 0,locale:n.locale??"tr",is_dir:!!n.isDir,size:n.size});$.value=Ke(O)}catch(O){const te=O.detail??"";te.includes("not_configured")?$.value=o("SMTP ayarlı/doğrulanmış değil — linki elle iletin.","SMTP not set up/verified — share the link manually."):te.includes("send_failed")?$.value=o("Gönderilemedi (geçici hata) — tekrar deneyin.","Send failed (temporary) — please retry."):$.value=O instanceof Error?O.message:String(O)}finally{re.value=!1}}}function Me(){return U.value?new Date(Date.now()+U.value*864e5).toISOString():null}async function L(){ie.value=!0,ge.value="",me.value=null,Xe.value="";try{const Z={ask_name:xe.value};de.value&&(Z.max_files=Number(de.value)),he.value&&(Z.max_file_size_mb=Number(he.value));const X=ve.value.split(/[,\s]+/).map(te=>te.trim().replace(/^\./,"")).filter(Boolean);X.length&&(Z.allowed_ext=X);const O=await n.api.createShare({path:n.path,kind:"drop",password:z.value,expires_at:Me(),drop_settings:Z});me.value={url:O.share.url,pin:O.share.password_pin??null}}catch(Z){ge.value=Z instanceof Error?Z.message:String(Z)}finally{ie.value=!1}}async function se(){var X;const Z=tt(we.value);if(!Z.length){Xe.value=o("Geçerli bir e-posta girin.","Enter a valid email.");return}if((X=me.value)!=null&&X.url){Ge.value=!0,Xe.value="";try{const O=await n.api.shareMail({path:n.path,emails:Z,url:me.value.url,pin:me.value.pin??void 0,expires_days:U.value||void 0,locale:n.locale??"tr",is_dir:!0,mode:"drop"});Xe.value=Ke(O)}catch(O){(O.detail??"").includes("not_configured")?Xe.value=o("SMTP ayarlı/doğrulanmış değil — linki elle iletin.","SMTP not set up/verified — share the link manually."):Xe.value=O instanceof Error?O.message:String(O)}finally{Ge.value=!1}}}async function be(Z){N.value=!0;try{await n.api.revokeShare(Z.uuid),await Ne()}catch(X){Y.value=X instanceof Error?X.message:String(X)}finally{N.value=!1}}function Ee(Z,X="url"){var O;(O=navigator.clipboard)==null||O.writeText(Z),K.value=X,setTimeout(()=>{K.value===X&&(K.value="")},1400)}const ae=r.computed(()=>typeof navigator<"u"&&typeof navigator.share=="function");function ye(Z){if(!Z||Z<=0)return"";const X=1024;if(Z<X)return`${Z} B`;const O=["K","M","G","T","P","E"];let te=X,J=0;for(let Oe=Z/X;Oe>=X;Oe/=X)te*=X,J++;return`${(Z/te).toFixed(1)} ${O[J]}B`}function R(Z){return Z>0?o(`Bu bağlantı ${Z} gün geçerlidir.`,`This link is valid for ${Z} day(s).`):o("Bu bağlantının süresi yoktur.","This link does not expire.")}function Ce(){var je,Ve;const Z=s.value.name,X=((je=q.value)==null?void 0:je.url)??"",O=((Ve=q.value)==null?void 0:Ve.pin)??"",te=n.isDir?o("klasör","folder"):o("dosya","file"),J=i.value?`${Z} ${n.isDir?"klasörü":"dosyası"} sizinle paylaşıldı`:`${Z} has been shared with you`,Oe=[];if(Oe.push(o("Merhaba,","Hello,"),""),Oe.push(o(`Sizinle bir ${te} paylaşıldı:`,`A ${te} has been shared with you:`),""),n.isDir)Oe.push(o(`Klasör: ${Z}`,`Folder: ${Z}`));else{Oe.push(o(`Dosya: ${Z}`,`File: ${Z}`));const it=ye(n.size);it&&Oe.push(o(`Boyut: ${it}`,`Size: ${it}`))}return Oe.push("",o("İndirmek için:","Download it here:"),X),O&&Oe.push("",o(`PIN (erişim kodu): ${O}`,`PIN (access code): ${O}`)),Oe.push("",R(F.value)),{title:J,text:Oe.join(`
|
|
3
3
|
`)}}function st(){var it,Mn;const Z=s.value.name,X=((it=me.value)==null?void 0:it.url)??"",O=((Mn=me.value)==null?void 0:Mn.pin)??"",te=Number(de.value)||20,J=Number(he.value)||500,Oe=ve.value.split(/[,\s]+/).map(St=>St.trim().replace(/^\./,"")).filter(Boolean),je=o(`${Z} adlı klasöre dosya eklemeniz istendi`,`You've been asked to add files to ${Z}`),Ve=[];return Ve.push(o("Merhaba,","Hello,"),""),Ve.push(o("Dosya yüklemeniz istendi.","You've been invited to upload files."),""),Ve.push(o(`Klasör: ${Z}`,`Folder: ${Z}`)),Ve.push(o(`Sınır: en fazla ${te} dosya, dosya başına ${J} MB.`,`Limit: up to ${te} file(s), ${J} MB per file.`)),Ve.push(Oe.length?o(`İzinli türler: ${Oe.join(", ")}`,`Allowed types: ${Oe.join(", ")}`):o("İzinli türler: tüm türler","Allowed types: all")),Ve.push("",o("Dosyalarınızı buradan yükleyebilirsiniz:","Upload your files here:"),X),O&&Ve.push("",o(`PIN (erişim kodu): ${O}`,`PIN (access code): ${O}`)),Ve.push("",R(U.value)),{title:je,text:Ve.join(`
|
|
4
|
-
`)}}async function C(Z){if(ae.value)try{await navigator.share(Z)}catch{}}return(Z,X)=>{var O,te;return r.openBlock(),r.createElementBlock("div",{class:"fx-perm-overlay",onClick:X[24]||(X[24]=r.withModifiers(J=>a("close"),["self"]))},[r.createElementVNode("div",K7,[r.createElementVNode("header",W7,[r.createElementVNode("div",Y7,[r.createElementVNode("span",X7,r.toDisplayString(e.isDir?"📁":"📄"),1),r.createElementVNode("div",Z7,[r.createElementVNode("h3",null,r.toDisplayString(o("Paylaş / İzinler","Share / Permissions")),1),r.createElementVNode("span",{class:"fx-perm-sub",title:e.path},[r.createTextVNode(r.toDisplayString(s.value.name),1),r.createElementVNode("span",Q7," · "+r.toDisplayString(s.value.adapter),1)],8,J7)])]),r.createElementVNode("button",{class:"fx-perm-x",onClick:X[0]||(X[0]=J=>a("close")),"aria-label":"close"},"✕")]),r.createElementVNode("div",e_,[c.value?(r.openBlock(),r.createElementBlock("button",{key:0,class:r.normalizeClass(["fx-perm-tab",{"is-active":l.value==="perms"}]),onClick:X[1]||(X[1]=J=>l.value="perms")},r.toDisplayString(o("Kişiler","People")),3)):r.createCommentVNode("",!0),r.createElementVNode("button",{class:r.normalizeClass(["fx-perm-tab",{"is-active":l.value==="share"}]),onClick:X[2]||(X[2]=J=>l.value="share")},r.toDisplayString(o("Bağlantı","Link")),3),e.isDir?(r.openBlock(),r.createElementBlock("button",{key:1,class:r.normalizeClass(["fx-perm-tab",{"is-active":l.value==="drop"}]),onClick:X[3]||(X[3]=J=>l.value="drop")},r.toDisplayString(o("Dosya İste","Request files")),3)):r.createCommentVNode("",!0)]),r.createElementVNode("div",t_,[l.value==="perms"&&c.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[p.value?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",n_,r.toDisplayString(o("Bu diskte RBAC kapalı — izinler yalnızca RBAC açık disklerde geçerli.","RBAC is off on this storage — grants only apply when RBAC is enabled.")),1)),u.value?(r.openBlock(),r.createElementBlock("div",r_,r.toDisplayString(u.value),1)):r.createCommentVNode("",!0),d.value?(r.openBlock(),r.createElementBlock("div",a_,r.toDisplayString(o("Yükleniyor…","Loading…")),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:3},[r.createElementVNode("div",i_,[r.createElementVNode("div",o_,[r.createElementVNode("div",l_,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[4]||(X[4]=J=>k.value=J),type:"email",class:"fx-perm-input",autocomplete:"off",placeholder:o("İsim veya e-posta","Name or email"),onInput:ke,onKeyup:r.withKeys(pe,["enter"]),onFocus:ke},null,40,s_),[[r.vModelText,k.value]]),M.value?(r.openBlock(),r.createElementBlock("ul",c_,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(E.value,J=>(r.openBlock(),r.createElementBlock("li",{key:J.id,onMousedown:r.withModifiers(Oe=>ce(J),["prevent"])},[r.createElementVNode("span",u_,r.toDisplayString((J.display_name||J.email).charAt(0).toUpperCase()),1),r.createElementVNode("span",f_,[r.createElementVNode("span",h_,r.toDisplayString(J.display_name||J.email),1),r.createElementVNode("span",p_,r.toDisplayString(J.email)+" · "+r.toDisplayString(J.role),1)])],40,d_))),128))])):r.createCommentVNode("",!0)]),r.withDirectives(r.createElementVNode("select",{"onUpdate:modelValue":X[5]||(X[5]=J=>v.value=J),class:"fx-perm-sel",title:(O=x.find(J=>J.v===v.value))==null?void 0:O.d},[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(x,J=>r.createElementVNode("option",{key:J.v,value:J.v},r.toDisplayString(J.l),9,g_)),64))],8,m_),[[r.vModelSelect,v.value]]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:b.value,onClick:pe},r.toDisplayString(o("Ekle","Add")),9,v_)]),g.value?(r.openBlock(),r.createElementBlock("div",y_,[r.createElementVNode("p",b_,r.toDisplayString(o("Bu e-postada hesap yok. Ne yapmak istersiniz?","No account for this email — what next?")),1),r.createElementVNode("div",__,[r.createElementVNode("div",k_,[r.withDirectives(r.createElementVNode("select",{"onUpdate:modelValue":X[6]||(X[6]=J=>_.value=J),class:"fx-perm-sel"},[r.createElementVNode("option",w_,r.toDisplayString(o("Kullanıcı","User")),1),r.createElementVNode("option",x_,r.toDisplayString(o("Görüntüleyen","Viewer")),1)],512),[[r.vModelSelect,_.value]]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:b.value,onClick:Ae},r.toDisplayString(o("Kullanıcı oluştur + yetki ver","Create user + grant")),9,S_)]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--ghost",disabled:b.value,onClick:We},r.toDisplayString(o("Sadece paylaşım linki gönder →","Just send a share link →")),9,E_)])])):r.createCommentVNode("",!0),m.value?(r.openBlock(),r.createElementBlock("div",C_,r.toDisplayString(m.value),1)):r.createCommentVNode("",!0),(te=y.value)!=null&&te.tempPassword?(r.openBlock(),r.createElementBlock("div",B_,[r.createTextVNode(r.toDisplayString(o("Geçici parola:","Temp password:"))+" ",1),r.createElementVNode("code",null,r.toDisplayString(y.value.tempPassword),1)])):r.createCommentVNode("",!0)]),r.createElementVNode("div",D_,[r.createElementVNode("h4",null,r.toDisplayString(o("Erişimi olanlar","People with access")),1),!h.value.length&&!f.value.length?(r.openBlock(),r.createElementBlock("div",T_,r.toDisplayString(o("Henüz kimseyle paylaşılmadı.","Not shared with anyone yet.")),1)):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(h.value,J=>(r.openBlock(),r.createElementBlock("div",{key:"d"+J.id,class:"fx-perm-person"},[r.createElementVNode("span",A_,r.toDisplayString(ct(J)),1),r.createElementVNode("span",{class:"fx-perm-user",title:J.user_email},r.toDisplayString(ft(J)),9,M_),r.createElementVNode("select",{class:"fx-perm-sel fx-perm-sel--sm",value:J.level,onChange:Oe=>wt(J,Oe.target.value)},[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(x,Oe=>r.createElementVNode("option",{key:Oe.v,value:Oe.v},r.toDisplayString(Oe.l),9,I_)),64))],40,N_),r.createElementVNode("button",{class:"fx-perm-del",disabled:b.value,title:o("Kaldır","Remove"),onClick:Oe=>et(J)},"✕",8,z_)]))),128)),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(f.value,J=>(r.openBlock(),r.createElementBlock("div",{key:"i"+J.id,class:"fx-perm-person fx-perm-inh"},[r.createElementVNode("span",F_,r.toDisplayString(ct(J)),1),r.createElementVNode("span",{class:"fx-perm-user",title:J.user_email},r.toDisplayString(ft(J)),9,L_),r.createElementVNode("span",O_,r.toDisplayString(w(J.level)),1),r.createElementVNode("span",{class:"fx-perm-from",title:o("Üst klasörden gelir","Inherited from")+": "+(J.path_prefix||"/")}," ↳ "+r.toDisplayString(J.path_prefix||"/"),9,P_)]))),128))])],64))],64)):r.createCommentVNode("",!0),l.value==="share"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createElementVNode("div",R_,[r.createElementVNode("div",V_,[r.createElementVNode("label",$_,[r.withDirectives(r.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":X[7]||(X[7]=J=>G.value=J)},null,512),[[r.vModelCheckbox,G.value]]),r.createTextVNode(" "+r.toDisplayString(o("PIN ile koru","Protect with a PIN")),1)]),r.createElementVNode("label",U_,[r.createElementVNode("span",H_,r.toDisplayString(o("Süre","Expiry")),1),r.withDirectives(r.createElementVNode("select",{"onUpdate:modelValue":X[8]||(X[8]=J=>F.value=J),class:"fx-perm-sel fx-perm-sel--sm"},[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(V,J=>r.createElementVNode("option",{key:J.v,value:J.v},r.toDisplayString(J.l),9,G_)),64))],512),[[r.vModelSelect,F.value,void 0,{number:!0}]])]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:N.value,onClick:ht},r.toDisplayString(o("Bağlantı oluştur","Create link")),9,j_)]),Y.value?(r.openBlock(),r.createElementBlock("div",q_,r.toDisplayString(Y.value),1)):r.createCommentVNode("",!0),q.value?(r.openBlock(),r.createElementBlock("div",K_,[r.createElementVNode("div",W_,[r.createElementVNode("a",{href:q.value.url,target:"_blank",rel:"noopener",class:"fx-perm-link"},r.toDisplayString(q.value.url),9,Y_),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[9]||(X[9]=J=>Ee(q.value.url,"new"))},r.toDisplayString(K.value==="new"?o("Kopyalandı ✓","Copied ✓"):o("Kopyala","Copy")),1)]),q.value.pin?(r.openBlock(),r.createElementBlock("div",X_,[r.createElementVNode("span",null,[X[25]||(X[25]=r.createTextVNode("PIN: ",-1)),r.createElementVNode("code",null,r.toDisplayString(q.value.pin),1)]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[10]||(X[10]=J=>Ee(q.value.pin,"sharepin"))},r.toDisplayString(K.value==="sharepin"?o("Kopyalandı ✓","Copied ✓"):o("Kopyala","Copy")),1)])):r.createCommentVNode("",!0),r.createElementVNode("div",Z_,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[11]||(X[11]=J=>Q.value=J),type:"text",class:"fx-perm-input",autocomplete:"off",placeholder:o("e-posta(lar) — virgülle ayırın","email(s) — comma separated"),onKeyup:r.withKeys(Pt,["enter"])},null,40,J_),[[r.vModelText,Q.value]]),r.createElementVNode("button",{class:"fx-perm-btn",disabled:re.value,onClick:Pt},r.toDisplayString(o("Gönder","Send")),9,Q_)]),$.value?(r.openBlock(),r.createElementBlock("div",ek,r.toDisplayString($.value),1)):r.createCommentVNode("",!0),ae.value?(r.openBlock(),r.createElementBlock("button",{key:2,type:"button",class:"fx-perm-btn fx-perm-btn--ghost fx-perm-sharebtn",onClick:X[12]||(X[12]=J=>C(Ce()))},[X[26]||(X[26]=r.createElementVNode("span",{"aria-hidden":"true"},"📤",-1)),r.createTextVNode(" "+r.toDisplayString(o("Paylaş","Share")),1)])):r.createCommentVNode("",!0)])):Q.value?(r.openBlock(),r.createElementBlock("p",tk,[r.createTextVNode(r.toDisplayString(o("Aşağıdan bir bağlantı oluşturun, ardından","Create a link below, then it will be sent to"))+" ",1),r.createElementVNode("strong",null,r.toDisplayString(Q.value),1),r.createTextVNode(" "+r.toDisplayString(o("adresine gönderin.",".")),1)])):r.createCommentVNode("",!0)]),r.createElementVNode("div",nk,[r.createElementVNode("h4",null,r.toDisplayString(o("Mevcut bağlantılar","Existing links")),1),B.value.length?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",rk,r.toDisplayString(o("Yok","None")),1)),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(B.value,J=>(r.openBlock(),r.createElementBlock("div",{key:J.uuid,class:"fx-perm-person"},[r.createElementVNode("span",{class:"fx-perm-user fx-perm-link",title:J.url},r.toDisplayString(J.url),9,ak),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:Oe=>Ee(J.url,J.uuid)},r.toDisplayString(K.value===J.uuid?o("✓","✓"):o("Kopyala","Copy")),9,ik),r.createElementVNode("button",{class:"fx-perm-del",disabled:N.value,title:o("İptal","Revoke"),onClick:Oe=>be(J)},"✕",8,ok)]))),128))])],64)):r.createCommentVNode("",!0),l.value==="drop"?(r.openBlock(),r.createElementBlock("div",lk,[r.createElementVNode("p",sk,r.toDisplayString(o("Bu klasöre herkesin dosya YÜKLEYEBİLECEĞİ herkese açık bir bağlantı. Yükleyenler klasördeki mevcut dosyaları göremez.","A public link that lets anyone UPLOAD files into this folder. Uploaders never see the folder's existing files.")),1),r.createElementVNode("div",ck,[r.createElementVNode("label",dk,[r.withDirectives(r.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":X[13]||(X[13]=J=>z.value=J)},null,512),[[r.vModelCheckbox,z.value]]),r.createTextVNode(" "+r.toDisplayString(o("PIN ile koru","Protect with a PIN")),1)]),r.createElementVNode("label",uk,[r.createElementVNode("span",fk,r.toDisplayString(o("Süre","Expiry")),1),r.withDirectives(r.createElementVNode("select",{"onUpdate:modelValue":X[14]||(X[14]=J=>U.value=J),class:"fx-perm-sel fx-perm-sel--sm"},[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(V,J=>r.createElementVNode("option",{key:J.v,value:J.v},r.toDisplayString(J.l),9,hk)),64))],512),[[r.vModelSelect,U.value,void 0,{number:!0}]])]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:ie.value,onClick:L},r.toDisplayString(o("Bağlantı oluştur","Create link")),9,pk)]),r.createElementVNode("button",{type:"button",class:"fx-perm-btn fx-perm-btn--ghost fx-perm-advtoggle",onClick:X[15]||(X[15]=J=>H.value=!H.value)},r.toDisplayString(H.value?o("Gelişmiş ▲","Advanced ▲"):o("Gelişmiş ▼","Advanced ▼")),1),H.value?(r.openBlock(),r.createElementBlock("div",mk,[r.createElementVNode("label",gk,[r.createElementVNode("span",vk,r.toDisplayString(o("En fazla dosya","Max files")),1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[16]||(X[16]=J=>de.value=J),type:"number",min:"1",class:"fx-perm-input fx-perm-input--sm",placeholder:"20"},null,512),[[r.vModelText,de.value]])]),r.createElementVNode("label",yk,[r.createElementVNode("span",bk,r.toDisplayString(o("Dosya başı MB","MB / file")),1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[17]||(X[17]=J=>he.value=J),type:"number",min:"1",class:"fx-perm-input fx-perm-input--sm",placeholder:"500"},null,512),[[r.vModelText,he.value]])]),r.createElementVNode("label",_k,[r.createElementVNode("span",kk,r.toDisplayString(o("İzinli türler","Allowed types")),1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[18]||(X[18]=J=>ve.value=J),type:"text",class:"fx-perm-input fx-perm-input--sm",placeholder:o("hepsi (örn. pdf, jpg)","all (e.g. pdf, jpg)")},null,8,wk),[[r.vModelText,ve.value]])]),r.createElementVNode("label",xk,[r.withDirectives(r.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":X[19]||(X[19]=J=>xe.value=J)},null,512),[[r.vModelCheckbox,xe.value]]),r.createTextVNode(" "+r.toDisplayString(o("Yükleyenin adını sor","Ask uploader name")),1)])])):r.createCommentVNode("",!0),ge.value?(r.openBlock(),r.createElementBlock("div",Sk,r.toDisplayString(ge.value),1)):r.createCommentVNode("",!0),me.value?(r.openBlock(),r.createElementBlock("div",Ek,[r.createElementVNode("div",Ck,[r.createElementVNode("a",{href:me.value.url,target:"_blank",rel:"noopener",class:"fx-perm-link"},r.toDisplayString(me.value.url),9,Bk),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[20]||(X[20]=J=>Ee(me.value.url,"drop"))},r.toDisplayString(K.value==="drop"?o("Kopyalandı ✓","Copied ✓"):o("Kopyala","Copy")),1)]),me.value.pin?(r.openBlock(),r.createElementBlock("div",Dk,[r.createElementVNode("span",null,[X[27]||(X[27]=r.createTextVNode("PIN: ",-1)),r.createElementVNode("code",null,r.toDisplayString(me.value.pin),1)]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[21]||(X[21]=J=>Ee(me.value.pin,"droppin"))},r.toDisplayString(K.value==="droppin"?o("Kopyalandı ✓","Copied ✓"):o("Kopyala","Copy")),1)])):r.createCommentVNode("",!0),r.createElementVNode("div",Tk,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[22]||(X[22]=J=>we.value=J),type:"text",class:"fx-perm-input",autocomplete:"off",placeholder:o("e-posta(lar) — virgülle ayırın","email(s) — comma separated"),onKeyup:r.withKeys(se,["enter"])},null,40,Ak),[[r.vModelText,we.value]]),r.createElementVNode("button",{class:"fx-perm-btn",disabled:Ge.value,onClick:se},r.toDisplayString(o("Gönder","Send")),9,Mk)]),Xe.value?(r.openBlock(),r.createElementBlock("div",Nk,r.toDisplayString(Xe.value),1)):r.createCommentVNode("",!0),ae.value?(r.openBlock(),r.createElementBlock("button",{key:2,type:"button",class:"fx-perm-btn fx-perm-btn--ghost fx-perm-sharebtn",onClick:X[23]||(X[23]=J=>C(st()))},[X[28]||(X[28]=r.createElementVNode("span",{"aria-hidden":"true"},"📤",-1)),r.createTextVNode(" "+r.toDisplayString(o("Paylaş","Share")),1)])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-23e7820c"]]),zk={key:0,class:"fe__presence"},Fk=["title"],Lk={key:1,class:"fe-e2e-strip",role:"status"},Ok={class:"fe-e2e-strip__label"},Pk={key:0,class:"fe__skeleton",role:"status"},Rk={class:"fe-sr-only"},Vk={key:0,class:"fe-skel-grid","aria-hidden":"true"},$k={key:1,class:"fe-skel-list","aria-hidden":"true"},Uk={key:1,class:"fe-state"},Hk={class:"fe-state__title"},Gk={class:"fe-state__path"},jk={class:"fe-state__hint"},qk={class:"fe-state__actions"},Kk={key:2,class:"fe-state"},Wk={class:"fe-state__title"},Yk={class:"fe-state__hint"},Xk={class:"fe-state__actions"},Zk={class:"fe-state__details"},Jk={class:"fe-state__details-summary"},Qk={class:"fe-state__details-pre"},ew={key:3,class:"fe-state fe-e2e-lock"},tw={class:"fe-state__title"},nw={class:"fe-state__hint"},rw=["placeholder","disabled"],aw=["disabled"],iw={key:0,class:"fe-form__error",role:"alert"},ow={key:4,class:"fe-state"},lw={class:"fe-state__title"},sw={class:"fe-state__hint"},cw={key:5,class:"fe-state"},dw={class:"fe-state__title"},uw={key:6,class:"fe-state"},fw={class:"fe-state__art",viewBox:"0 0 120 100",width:"110",height:"92",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},hw={key:0},pw={class:"fe-state__title"},mw={key:0,class:"fe-state__hint"},gw={key:1,class:"fe-state__actions"},vw={key:1,class:"fe__dragover"},yw=["title","aria-label"],bw={class:"fe-recents__header"},_w={class:"fe-modal__head"},kw={class:"fe-modal__title"},ww={class:"fe-modal__body"},xw={class:"fe-toast__msg"},af="brf-file-explorer:view-mode",of="filex.inspector",s0="brf-file-explorer:path",sa="application/x-brf-files",lf="filex.tourDone",c0="application/x-brf-files-src",sf="filex.tabs",Sw=r.defineComponent({__name:"FileExplorer",props:{config:{}},emits:["share-created","file-opened","error","upload-progress","selection-change","navigate"],setup(e,{expose:t,emit:n}){const a=e,i=n,o=Yd(a.config),s=r.computed(()=>a.config.locale||"tr"),{t:l}=Gt(s),c=Bg(o,{reload:()=>Nt()}),d=c.presenceUsers,u=c.degraded;function h(T){const I=(T||"").replace(/^\/+|\/+$/g,"");if(I===".trash"||I.startsWith(".trash/"))return null;const oe=Zt(I);return!oe||!oe.includes("://")||oe.startsWith("://")?null:oe}r.onMounted(()=>{c.start(),c.subscribe(h(y.value))}),r.onBeforeUnmount(()=>c.stop());const f=Tg(a.config.apiBase,o),p=Xd(a.config,o),k=new Map,v=ou(a.config,o,{onSettled:T=>{var oe;const I=k.get(T.id);if(k.delete(T.id),T.status==="error")dt(T.error_message||"İşlem başarısız");else if(I)en(`${I.message} (${T.progress_total})`,I.fn);else{const fe=T.op_type==="copy"?"Kopyalandı":T.op_type==="move"?"Taşındı":"Silindi";dt(`${fe} (${T.progress_total})`)}Nt(),(oe=nn.value)==null||oe.reload()}}),b=r.ref(!1),m=(a.config.rootPath||"").trim(),g=m.replace("://","/").replace(/^\/+|\/+$/g,""),_=g||a.config.initialPath||"",y=r.ref(_),E=r.ref(a.config.defaultAdapter||"brf"),M=r.ref(_),D=r.ref([]),x=r.ref(""),w=r.ref(""),B=r.ref("");let N;function G(){Nt(N)}const F=r.customRef((T,I)=>{let oe=(()=>{try{const fe=localStorage.getItem(af);if(fe==="list"||fe==="grid"||fe==="gallery")return fe}catch{}return a.config.viewMode??"list"})();return{get(){return T(),oe},set(fe){if(fe!==oe){oe=fe;try{localStorage.setItem(af,fe)}catch{}I()}}}}),q=r.ref("comfortable"),Y=r.ref(""),K=r.ref(!1),Q=r.ref(""),re=r.computed(()=>K.value),$=r.computed(()=>{if(!tn.value)return"";const T=a.config.storages??[];return T.length===1?T[0].name:""}),V=r.computed(()=>{const T=(y.value??"").replace(/^\/+|\/+$/g,"");return g&&T===g||$.value&&T===$.value?!1:T.length>0}),z=r.computed(()=>tn.value?!(y.value??"").replace(/^\/+|\/+$/g,""):!1);function U(){if(K.value){Nt(Q.value);return}const T=(y.value??"").replace(/^\/+|\/+$/g,"");if(!T||T===g||$.value&&T===$.value)return;const I=T.lastIndexOf("/");let oe=I===-1?"":T.slice(0,I);g&&!(oe===g||oe.startsWith(g+"/"))&&(oe=g),Nt(oe)}const H=Zd(()=>D.value);r.watch(()=>[...H.selected.value],()=>{i("selection-change",H.nodes.value.map(I=>({path:I.path,basename:I.basename,type:I.type})));const T=H.nodes.value.filter(I=>I.type==="file");c.setFocus(T.length===1?T[0].basename:null)});const de=r.ref({mode:null,items:[],sourcePath:null}),he=r.ref(null),ve=r.ref(new Set),xe=r.ref(!1),ie=r.ref(!1),ge=r.ref(null),me=r.ref(0);async function we(){try{const T=await Xa(),I=a.config.apiBase??"",oe=await fetch(`${I}/api/files/manager/star/list?limit=500`,{headers:T,credentials:"include"});if(!oe.ok)return;const fe=await oe.json(),_e=Array.isArray(fe)?fe:Array.isArray(fe==null?void 0:fe.entries)?fe.entries:Array.isArray(fe==null?void 0:fe.nodes)?fe.nodes:[];ve.value=new Set(_e.map(ue=>ue.id).filter(ue=>typeof ue=="number"))}catch{}}function Ge(T,I){if(typeof T.id!="number")return;const oe=new Set(ve.value);I?oe.add(T.id):oe.delete(T.id),ve.value=oe}async function Xe(T){if(typeof T.id=="number")try{const I=a.config.apiBase??"";await fetch(`${I}/api/files/manager/recent`,{method:"POST",headers:await Xa({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify({node_id:T.id})}),me.value+=1}catch{}}function tt(T){typeof T.id=="number"&&(ge.value=T,ie.value=!0)}function Ke(T){const I={type:"file",path:T.path,basename:T.name,extension:(T.name.split(".").pop()||"").toLowerCase(),id:T.id};xe.value=!1,Or(I)}const De=r.computed(()=>{var I,oe,fe;if(a.config.onlyOfficeBase)return a.config.onlyOfficeBase;const T=(oe=(I=he.value)==null?void 0:I.external)==null?void 0:oe.onlyoffice;return T&&!Rs(T)?null:((fe=he.value)==null?void 0:fe.onlyoffice_url)||null}),Ne=r.computed(()=>De.value&&o.endpoints.onlyOfficeConfig||null),ke=r.computed(()=>{var oe,fe,_e;const T=a.config.drawioUrl||a.config.drawioBase;if(T)return T;const I=(fe=(oe=he.value)==null?void 0:oe.external)==null?void 0:fe.drawio;return I&&!Rs(I)?null:((_e=he.value)==null?void 0:_e.drawio_url)||null}),ce=r.computed(()=>{var T;return a.config.convertBase||((T=he.value)==null?void 0:T.convert_url)||null}),pe=r.ref([]),Ae=r.ref(null),We=r.ref(!1),wt=r.ref(!1),et=r.ref(!1),ft=r.ref(!1),ct=r.ref(!1),pt=r.ref(null),ht=r.ref(!1),Pt=r.ref(null),Me=r.ref(null),L=r.ref(null),se=r.ref("edit"),be=r.ref(!1),Ee=r.ref(null),ae=r.ref(!1),ye=r.ref(null),R=r.ref((()=>{try{return localStorage.getItem(of)==="1"}catch{return!1}})());function Ce(T){try{localStorage.setItem(of,T?"1":"0")}catch{}}function st(){R.value=!R.value,Ce(R.value)}function C(){R.value||(R.value=!0,Ce(!0))}function Z(){R.value&&(R.value=!1,Ce(!1))}const X=r.computed(()=>{if(K.value)return l("node.trash");const T=(y.value??"").replace(/^\/+|\/+$/g,"");return T?T.split("/").pop()||T:E.value||l("breadcrumb.root")});function O(T){ye.value=T,ae.value=!0}function te(T){return T===void 0||T==="editor"||T==="owner"}function J(T){var I;return T.length===1&&typeof((I=T[0])==null?void 0:I.perm)=="string"?T[0].perm:x.value}const Oe=r.computed(()=>te(x.value)),je=r.computed(()=>Oe.value&&!z.value&&!K.value),Ve=r.ref(null),it=r.ref(null),Mn=r.ref(null),St=r.ref(!1),Et=r.ref(!1);let Ht,Vt;function gn(T){Et.value=!!(T&&"matches"in T&&T.matches)}r.onMounted(()=>{var T;typeof ResizeObserver<"u"&&it.value&&(Ht=new ResizeObserver(I=>{var fe,_e,ue;const oe=((_e=(fe=I[0])==null?void 0:fe.contentRect)==null?void 0:_e.width)??((ue=it.value)==null?void 0:ue.clientWidth)??0;St.value=oe>0&&oe<560}),Ht.observe(it.value)),typeof window<"u"&&window.matchMedia&&(Vt=window.matchMedia("(pointer: coarse)"),gn(Vt),(T=Vt.addEventListener)==null||T.call(Vt,"change",gn))}),r.onBeforeUnmount(()=>{var T;Ht==null||Ht.disconnect(),Ht=void 0,(T=Vt==null?void 0:Vt.removeEventListener)==null||T.call(Vt,"change",gn),Vt=void 0});const Nn=r.ref(null);let _r;function Xt(T,I){Nn.value=T,_r&&clearTimeout(_r),_r=setTimeout(()=>Nn.value=null,I)}function dt(T){Xt({message:T},2500)}function en(T,I){Xt({message:T,actionLabel:l("toast.undo"),action:I},8e3)}function Yn(){_r&&(clearTimeout(_r),_r=void 0),Nn.value=null}async function lr(){var I;const T=(I=Nn.value)==null?void 0:I.action;if(Yn(),!!T)try{await T(),dt(l("toast.undone")),await Nt()}catch{dt(l("toast.undo_failed"))}}const tn=r.computed(()=>a.config.multiStorageRoot===!0);function eT(T){const I=T.replace(/^\/+|\/+$/g,"");if(!I)return{adapter:"",rel:""};const oe=I.indexOf("/");return oe===-1?{adapter:I,rel:""}:{adapter:I.slice(0,oe),rel:I.slice(oe+1)}}function Cd(T){if(T.includes("://"))return T;const{adapter:I,rel:oe}=eT(T);return I?oe?`${I}://${oe}`:`${I}://`:""}function Pi(T){const I=T.indexOf("://");if(I===-1)return T.replace(/^\/+|\/+$/g,"");const oe=T.slice(0,I),fe=T.slice(I+3).replace(/^\/+|\/+$/g,"");return fe?`${oe}/${fe}`:oe}function M4(){return(a.config.storages??[]).map(I=>({type:"dir",path:I.name,basename:I.label||I.name,extension:"",storage:I.name,visibility:"private",file_size:0,mime_type:"inode/storage",extra_metadata:{driver:I.driver,readOnly:I.readOnly}}))}function N4(){var T;j8(!Xi.value),Nt(),(T=nn.value)==null||T.reload()}async function Nt(T){b.value=!0,K.value=!1;let I=T??y.value??"";try{if(w.value="",B.value="",g){const _e=String(I).replace(/^\/+|\/+$/g,"");(!_e||!(_e===g||_e.startsWith(g+"/")))&&(I=g)}if(tn.value&&!Cd(I)){if($.value)return await Nt($.value);y.value="",E.value="",M.value="",Zn.value="",D.value=M4();return}const oe=tn.value?Cd(I):Zt(I),fe=Y.value?await o.search(oe,Y.value):await o.index(oe);E.value=fe.adapter,M.value=fe.dirname,x.value=fe.perm||"",Zn.value=typeof fe.e2e_root=="string"?fe.e2e_root:"",D.value=Zu(fe.files),Ju(D.value,fe.adapter,fe.dirname,a.config.trashVisible!==!1)&&Qu(D.value,fe.adapter,o),y.value=tn.value?Pi(fe.dirname):Ya(fe.dirname)}catch(oe){const fe=oe instanceof Error?oe.message:String(oe),_e=oe.status;if(_e===404||_e===403){w.value=String(I),Zn.value="",D.value=[],i("error",{message:fe,context:{path:T}});return}B.value=fe,N=typeof I=="string"?I:void 0,i("error",{message:fe,context:{path:T}}),D.value.length>0&&dt(fe)}finally{b.value=!1}}function Ya(T){const I=T.indexOf("://");return I===-1?T:T.slice(I+3)}function tT(){w.value="",P4(""),Nt("")}async function Oo(){b.value=!0,Q.value=E.value||"",K.value=!0,Zn.value="",H.clear();try{const{entries:T}=await o.listTrash();D.value=T.map(I=>({type:"file",id:I.id,path:I.storage_name?`${I.storage_name}://${I.path}`:I.path,basename:I.name,extension:I.name.includes(".")&&I.name.split(".").pop()||"",storage:I.storage_name||"",visibility:"private",file_size:I.size,mime_type:I.mime||"",extra_metadata:{deleted_at:I.deleted_at,ttl_days:I.ttl_days??null}})),M.value=".trash",y.value=".trash"}catch(T){const I=T instanceof Error?T.message:String(T);i("error",{message:I,context:{op:"trash-list"}}),dt(I)}finally{b.value=!1}}function Zt(T){if(T&&T.includes("://"))return T;if(tn.value){const I=Cd(T??"");return I||(E.value?`${E.value}://`:"")}return T?`${E.value}://${T.replace(/^\/+/,"")}`:`${E.value}://`}function I4(T){const I=T.indexOf("://"),oe=(I===-1?T:T.slice(I+3)).replace(/\/+$/,""),fe=oe.lastIndexOf("/");return fe===-1?oe:oe.slice(fe+1)}function Ds(T){const I=T.indexOf("://"),oe=I===-1?"":T.slice(0,I+3),fe=(I===-1?T:T.slice(I+3)).replace(/\/+$/,""),_e=fe.lastIndexOf("/");return _e===-1?oe:oe+fe.slice(0,_e)}function Bd(T,I){const oe=fe=>{const _e=fe.indexOf("://"),ue=_e===-1?"":fe.slice(0,_e+3),mt=(_e===-1?fe:fe.slice(_e+3)).replace(/\/+$/,"");return ue+mt};return oe(T)===oe(I)}function Po(T,I){return T?T.endsWith("://")||T.endsWith("/")?T+I:`${T}/${I}`:I}function z4(T,I,oe,fe){if(!fe||!oe)return;const _e=I.map(ue=>Po(oe,I4(ue)));_e.length!==0&&k.set(T,{message:l("toast.moved"),fn:async()=>{const{op:ue}=await o.moveAsync(_e,fe,oe);v.register(ue)}})}r.watch(()=>Y.value,()=>void Nt());function Ts(){return a.config.pathPersist??"hash"}function F4(){const T=Ts();return T==="hash"||T==="hash+localStorage"}function nT(T){try{return decodeURIComponent(T)}catch{return T}}function L4(){try{return localStorage.getItem(s0)||""}catch{return""}}function O4(){const T=window.location.hash||"";return T.startsWith("#")?nT(T.slice(1)).replace(/^\/+|\/+$/g,""):""}function rT(){if(typeof window>"u")return"";const T=Ts();if(T==="none")return"";if(T==="localStorage")return L4();const I=O4();return I||T==="hash"?I:_?"":L4()}function P4(T){if(typeof window>"u")return;const I=Ts();if(I==="none")return;if(I==="localStorage"||I==="hash+localStorage"){try{T?localStorage.setItem(s0,T):localStorage.removeItem(s0)}catch{}if(I==="localStorage")return}const oe=T?T.split("/").map(encodeURIComponent).join("/"):"",fe=oe?`#${oe}`:"";(window.location.hash||"")!==fe&&history.replaceState(null,"",fe||window.location.pathname+window.location.search)}function R4(){if(!F4())return;const T=O4();T&&T!==y.value&&Nt(T)}r.watch(y,T=>{P4(T),i("navigate",{path:T}),c.subscribe(h(T))}),t({reload:()=>Nt()}),r.onMounted(async()=>{var I;ji();const T=rT();await Nt(T||void 0),await r.nextTick(),(I=it.value)==null||I.focus(),we(),F4()&&window.addEventListener("hashchange",R4),o.endpoints.opsList&&v.startPolling(),o.endpoints.capabilities&&o.capabilities().then(oe=>{he.value=oe}).catch(()=>{})});const Dd=r.ref(!1),As=r.ref(!1);function aT(T){return o.globalSearch(T,{limit:8,scope:"all"})}async function iT(T){const I=String(T.path??"").replace(/^\/+|\/+$/g,"");if(!I)return;const oe=T.type==="dir",fe=I.lastIndexOf("/"),_e=oe?I:fe===-1?"":I.slice(0,fe);let ue=_e;if(tn.value){const Mt=a.config.storages??[],vn=typeof T.storage=="string"&&T.storage||typeof T.storage_name=="string"&&T.storage_name||(Mt.length===1?Mt[0].name:"")||E.value;if(!vn)return;ue=_e?`${vn}/${_e}`:vn}if(await Nt(ue),oe)return;const mt=String(T.name??I.slice(fe+1)),Ct=D.value.find(Mt=>Mt.type==="file"&&Mt.basename===mt);Ct&&(H.click(Ct.path),Or(Ct))}nu(it,{onDelete:()=>{var T;if(sr.value){const I=((T=nn.value)==null?void 0:T.selectedNodes())??[];I.length&&(Ri.value=I,ht.value=!0,et.value=!0)}else H.isEmpty.value||(ht.value=!1,et.value=!0)},onRename:()=>{var T;if(sr.value){const I=((T=nn.value)==null?void 0:T.selectedNodes())??[];I.length===1&&(pt.value=I[0],ht.value=!0,wt.value=!0)}else H.nodes.value.length===1&&(pt.value=H.nodes.value[0],ht.value=!1,wt.value=!0)},onSelectAll:()=>{var T;return sr.value?(T=nn.value)==null?void 0:T.selectAll():H.selectAll()},onOpen:()=>{var I;if(sr.value)return(I=nn.value)==null?void 0:I.openSelected();const T=H.nodes.value[0];T&&Or(T)},onClose:()=>{var T;We.value=!1,wt.value=!1,et.value=!1,ft.value=!1,ct.value=!1,(T=Ve.value)==null||T.hide(),Yn(),St.value&&Z()},onFocusSearch:()=>{var T;return(T=Mn.value)==null?void 0:T.focusSearch()},onCut:()=>sr.value?ng():_T(),onCopy:()=>sr.value?rg():kT(),onPaste:()=>sr.value?void ag():void $4(),onGoUp:()=>{var T;return sr.value?(T=nn.value)==null?void 0:T.goUp():U()},onPathJump:()=>{Dd.value=!0},onShowHelp:()=>{As.value=!0},onQuickLook:()=>jT(),onToggleHidden:()=>N4(),onToggleInspector:()=>st(),onTabNew:()=>$d(),onTabClose:()=>Y4(Vd.value),onTabNext:()=>rA(),onTabPrev:()=>aA(),hasSelection:()=>!H.isEmpty.value});const oT=new Set(["docx","xlsx","pptx","doc","xls","ppt","odt","ods","odp"]);function Or(T){if(T.basename===".trash"){Oo();return}if(T.type==="dir"){const oe=tn.value?Pi(T.path):Ya(T.path);Nt(oe);return}if(Pr.value&&T.type==="file"){Kd(T);return}if(Hd.value&&T.type==="file")return;const I=(T.extension||"").toLowerCase();se.value=te(T.perm??x.value)?sT(I):"view",L.value=T,ct.value=!0,i("file-opened",{path:T.path,basename:T.basename}),Xe(T)}const lT=new Set([...oT,"drawio","dio","pdf","epub","ipynb","tiff","tif","psd","mmd","mermaid","glb","gltf","obj","stl","fbx","3ds","zip","rar","7z","tar","gz","tgz","jpg","jpeg","png","webp","gif","bmp","avif","svg","heic","mp4","webm","mov","mkv","m4v","ogv","mp3","wav","ogg","flac","m4a","aac","opus"]);function sT(T){return lT.has(T)?"view":"edit"}async function cT(T){const I=T??H.nodes.value;if(I.length!==0)try{if(K.value){const _e=I.map(mt=>mt.id).filter(mt=>typeof mt=="number"),{restored:ue}=await o.restoreIds(_e);dt(`${ue} öğe geri getirildi`),H.clear(),await Oo();return}if(!o.endpoints.restore)return;const oe=I.map(_e=>_e.path),{restored:fe}=await o.restore(oe);dt(`${fe} öğe geri getirildi`),H.clear(),await Nt()}catch(oe){i("error",{message:oe.message,context:{op:"restore"}})}}function V4(T){if(Pr.value&&T.type==="file"){Kd(T);return}se.value="view",L.value=T,ct.value=!0,Xe(T)}function dT(T){if(T.type==="dir"){const ue=tn.value?Pi(T.path):Ya(T.path);Nt(ue);return}if(cr.value){Pr.value&&Kd(T);return}if(!te(T.perm??x.value)){V4(T);return}const I=(T.extension||"").toLowerCase(),oe=a.config.openPageBase;if(!oe){Or(T);return}const fe=oe.includes("?")?"&":"?",_e=`${oe}${fe}path=${encodeURIComponent(T.path)}&type=${encodeURIComponent(I)}&mode=edit`;window.open(_e,"_blank","noopener"),i("file-opened",{path:T.path,basename:T.basename}),Xe(T)}const Fn=r.ref("selection"),Td=r.ref(""),Ri=r.ref([]),uT=r.ref(""),fT=r.computed(()=>{const T=H.nodes.value;return T.length===0?"none":T.length===1?T[0].type==="dir"?"single-dir":"single-file":"multi"});async function hT(T){const I=H.nodes.value;if(T==="open"){I[0]&&Or(I[0]);return}await Nd(T,I)}async function Ad(T,I){var oe;Fn.value="selection",H.has(T.path)||(H.click(T.path),await r.nextTick()),(oe=Ve.value)==null||oe.show({clientX:I.clientX,clientY:I.clientY},H.nodes.value)}function pT(T){var I;T.preventDefault(),Fn.value="selection",H.clear(),(I=Ve.value)==null||I.show({clientX:T.clientX,clientY:T.clientY},[])}function mT(T){var I;Fn.value="breadcrumb",Td.value=T.adapterPath,uT.value=T.label,(I=Ve.value)==null||I.show({clientX:T.x,clientY:T.y},[])}function gT(T,I){var fe,_e;ia.value="split";const oe=((fe=nn.value)==null?void 0:fe.selectedNodes())??[];Ri.value=T?oe.length>0?oe:[T]:[],Fn.value="pane",(_e=Ve.value)==null||_e.show({clientX:I.clientX,clientY:I.clientY},Ri.value)}const vT=r.computed(()=>{if(Fn.value==="breadcrumb")return[{key:"open",label:l("ctx.open"),icon:"↗"},{key:"copy-path",label:l("breadcrumb.copy_path"),icon:"📋"}];if(Fn.value==="pane"){const ue=Ri.value;return ue.length===0?[{key:"new-folder",label:l("toolbar.new_folder"),icon:"📁"},{key:"paste",label:l("ctx.paste"),icon:"📋",disabled:!de.value.mode}]:Md(ue)}const T=H.nodes.value,I=T.length>0,oe=T.length===1;if(re.value)return I?[{key:"restore",label:l("ctx.restore"),icon:"↩"},{divider:!0,key:"sep1",label:""},{key:"delete",label:l("ctx.delete_perm"),icon:"🗑",danger:!0}]:[];const fe=(y.value??"").replace(/^\/+|\/+$/g,"");if(tn.value&&fe==="")return I?oe?[{key:"open",label:l("ctx.open"),icon:"↗"},{key:"open-tab",label:l("ctx.open_new_tab"),icon:"⧉"}]:[]:[];if(!I){const ue=[{key:"toggle-hidden",label:Xi.value?l("ctx.hide_hidden"):l("ctx.show_hidden"),icon:Xi.value?"🙈":"👁"}];return te(x.value)?[{key:"new-folder",label:l("toolbar.new_folder"),icon:"📁"},{key:"paste",label:l("ctx.paste"),icon:"📋",disabled:!de.value.mode},...ue]:ue}return Md(T)});function Md(T){var cg,dg,ug;const I=T.length>0,oe=T.length===1,fe=oe&&((cg=T[0])==null?void 0:cg.type)==="file",_e=s.value==="en"?"Tags…":"Etiketler…",ue=oe&&typeof((dg=T[0])==null?void 0:dg.id)=="number",mt=s.value==="en"?"Copy node id":"Node id'yi kopyala",Ct=J(T),Mt=te(Ct),vn=s.value==="en"?"Share / Permissions":"Paylaş / İzinler";return[{key:"open",label:l("ctx.open"),icon:"↗",hidden:!oe},{key:"open-tab",label:l("ctx.open_new_tab"),icon:"⧉",hidden:!oe||((ug=T[0])==null?void 0:ug.type)!=="dir"},{key:"preview",label:l("ctx.preview"),icon:"👁",hidden:!oe,disabled:!fe},{key:"download",label:l("ctx.download"),icon:"⬇",hidden:!oe,disabled:!fe},{key:"convert",label:l("ctx.convert"),icon:"🔄",hidden:!oe||!ce.value||!Mt||cr.value,disabled:!fe},{key:"access",label:vn,icon:"🔗",hidden:!oe||!Mt||cr.value},{key:"details",label:l("ctx.details"),icon:"ℹ",hidden:!I},{key:"copy-id",label:mt,icon:"🆔",hidden:!ue,disabled:!ue},{divider:!0,key:"sep1",label:"",hidden:!Mt},{key:"rename",label:l("ctx.rename"),icon:"✎",hidden:!oe||!Mt,disabled:!oe},{key:"cut",label:l("ctx.cut"),icon:"✂",hidden:!I||!Mt,disabled:!I},{key:"copy",label:l("ctx.copy"),icon:"❐",hidden:!I,disabled:!I},{key:"paste",label:l("ctx.paste"),icon:"📋",hidden:!Mt,disabled:!de.value.mode},{divider:!0,key:"sep-meta",label:"",hidden:!ue},{key:"tags",label:_e,icon:"🏷",hidden:!ue,disabled:!ue},{divider:!0,key:"sep2",label:"",hidden:!Mt},{key:"delete",label:l("ctx.delete"),icon:"🗑",danger:!0,hidden:!I||!Mt,disabled:!I}]}const yT=r.computed(()=>{const T=H.nodes.value;if(re.value)return T.length===0?[]:[{key:"restore",label:l("ctx.restore"),icon:"↩"},{key:"delete",label:l("ctx.delete_perm"),icon:"🗑",danger:!0}];const I=(y.value??"").replace(/^\/+|\/+$/g,"");return tn.value&&I===""?T.length===1?[{key:"open",label:l("ctx.open"),icon:"↗"}]:[]:T.length===0?[]:Md(T)});async function bT(T,I){if(Fn.value==="breadcrumb"){T.key==="open"?Nt(Ya(Td.value)):T.key==="copy-path"&&await j4(Td.value);return}if(Fn.value==="pane"){await Nd(T.key,Ri.value);return}await Nd(T.key,I)}async function Nd(T,I){var oe;switch(T){case"open":I[0]&&dT(I[0]);break;case"preview":I[0]&&V4(I[0]);break;case"download":I[0]&&xT(I[0]);break;case"convert":I[0]&&DT(I[0]);break;case"share":I[0]&&BT(I[0]);break;case"access":I[0]&&(ye.value=I[0],ae.value=!0);break;case"details":C();break;case"copy-id":if(I[0]&&typeof I[0].id=="number"){const fe=I[0].id;(oe=navigator.clipboard)==null||oe.writeText(String(fe)).then(()=>dt(s.value==="en"?`Node id ${fe} copied`:`Node id ${fe} kopyalandı`),()=>dt(`#${fe}`))}break;case"tags":I[0]&&tt(I[0]);break;case"rename":I[0]&&(pt.value=I[0],ht.value=Fn.value==="pane",wt.value=!0);break;case"cut":Fn.value==="pane"?ng():(de.value={mode:"cut",items:I,sourcePath:y.value},dt("Kes → Yapıştır hazır"));break;case"copy":Fn.value==="pane"?rg():(de.value={mode:"copy",items:I,sourcePath:y.value},dt("Kopyala → Yapıştır hazır"));break;case"paste":Fn.value==="pane"||sr.value?await ag():await $4();break;case"delete":ht.value=Fn.value==="pane",et.value=!0;break;case"restore":I.length>0&&await cT(I);break;case"toggle-hidden":N4();break;case"new-folder":ht.value=Fn.value==="pane",We.value=!0;break;case"duplicate":I[0]&&await wT(I[0]);break;case"open-tab":I[0]&&X4(I[0]);break}}function _T(){H.isEmpty.value||(de.value={mode:"cut",items:H.nodes.value,sourcePath:y.value},dt("Kesildi"))}function kT(){H.isEmpty.value||(de.value={mode:"copy",items:H.nodes.value,sourcePath:y.value},dt("Kopyalandı"))}async function $4(){const T=de.value;if(!(!T.mode||T.items.length===0))try{const I=T.items.map(_e=>_e.path),oe=T.sourcePath||"";if(T.mode==="cut"&&oe===y.value){dt("Aynı klasöre kesilemez");return}if(T.mode==="cut"){const _e=Zt(y.value),ue=Zt(oe)||void 0,{op:mt}=await o.moveAsync(I,_e,ue);z4(mt.id,I,_e,ue),v.register(mt),dt("Taşıma kuyruğa alındı")}else{const{op:_e}=await o.copy(I,Zt(y.value));v.register(_e),dt("Kopyalama kuyruğa alındı")}de.value={mode:null,items:[],sourcePath:null}}catch(I){i("error",{message:I.message,context:{op:"paste"}})}}async function wT(T){try{const{op:I}=await o.copy([T.path],Zt(y.value));v.register(I)}catch(I){i("error",{message:I.message,context:{op:"duplicate"}})}}function xT(T){if(Pr.value){vA(T);return}const I=o.downloadUrl(T.path);window.open(I,"_blank")}async function ST(T){var oe,fe;const I=ht.value;try{const _e=Zt(I?((oe=nn.value)==null?void 0:oe.getPath())??"":y.value);await o.newFolder(_e,T),We.value=!1,I?await((fe=nn.value)==null?void 0:fe.reload()):await Nt()}catch(_e){i("error",{message:_e.message,context:{op:"newfolder"}})}}async function ET(T){var fe,_e;const I=pt.value;if(!I)return;const oe=ht.value;try{const ue=Zt(oe?((fe=nn.value)==null?void 0:fe.getPath())??"":y.value),mt=I.path,Ct=I.basename;if(await o.rename(ue,mt,T),wt.value=!1,pt.value=null,oe?await((_e=nn.value)==null?void 0:_e.reload()):await Nt(),T&&T!==Ct){const Mt=Po(Ds(mt),T);en(l("toast.renamed"),async()=>{await o.rename(ue,Mt,Ct)})}}catch(ue){i("error",{message:ue.message,context:{op:"rename"}})}}async function CT(){var mt,Ct,Mt;if(K.value){et.value=!1,dt("Çöpteki öğeler saklama süresi sonunda otomatik silinir. Kalıcı silme yönetici panelinden yapılır.");return}const T=ht.value,I=T?Ri.value:H.nodes.value,oe=Zt(T?((mt=nn.value)==null?void 0:mt.getPath())??"":y.value),fe=I.map(vn=>vn.path);if(fe.length===0){et.value=!1;return}const _e=I.map(vn=>vn.id).filter(vn=>typeof vn=="number"),ue=o.endpoints.trashRestore&&_e.length===I.length?async()=>{const{restored:vn}=await o.restoreIds(_e);if(vn===0)throw new Error("restore failed")}:null;try{if(o.endpoints.deleteAsync){const{op:vn}=await o.deleteAsync(fe,oe);ue&&k.set(vn.id,{message:l("toast.trashed"),fn:ue}),v.register(vn),dt("Silme kuyruğa alındı")}else await o.deleteItems(oe,fe),T?await((Ct=nn.value)==null?void 0:Ct.reload()):await Nt(),ue&&en(l("toast.trashed"),ue);et.value=!1,T?(Mt=nn.value)==null||Mt.reload():H.clear()}catch(vn){i("error",{message:vn.message,context:{op:"delete"}})}}function BT(T){Pt.value=T,Me.value=null,ft.value=!0}function DT(T){Ee.value=T,be.value=!0}function TT(T){dt(s.value==="en"?`Converted → ${T}`:`Dönüştürüldü → ${T}`),Nt()}async function AT(T){const I=Pt.value;if(I)try{const{share:oe}=await o.createShare({path:I.path,password:T.password,expires_at:T.expires_at,max_downloads:T.max_downloads});Me.value=oe,i("share-created",{path:I.path,url:oe.url,pin:oe.password_pin??null})}catch(oe){i("error",{message:oe.message,context:{op:"share"}})}}function MT(){ft.value=!1,Pt.value=null,Me.value=null}function Ms(){var T;if(!Oe.value){dt(s.value==="en"?"Read-only here":"Burada yazma yetkiniz yok");return}(T=Ae.value)==null||T.click()}function NT(T){const I=T.target,oe=I.files?Array.from(I.files):[];I.value="",U4(oe)}async function U4(T){if(T.length===0)return;if(Hd.value){dt(l("e2e.upload.locked"));return}if(Pr.value&&(T=await yA(T),T.length===0))return;const I=!!(o.endpoints.uploadInit&&o.endpoints.uploadFinalize);for(const oe of T)I&&oe.size>=10*1024*1024&&await zT(oe)||await IT(oe);await Nt()}async function IT(T){const I=crypto.randomUUID(),oe=Zt(y.value);pe.value=[...pe.value,{id:I,file:T,path:oe,totalBytes:T.size,uploadedBytes:0,percent:0,status:"uploading",cancel(){}}];const fe=_e=>{const ue=pe.value.findIndex(Ct=>Ct.id===I);if(ue===-1)return;const mt=[...pe.value];mt[ue]={...mt[ue],..._e},pe.value=mt};try{await o.uploadMultipart(oe,[T],_e=>{fe({percent:_e,uploadedBytes:Math.round(_e/100*T.size)}),i("upload-progress",{uploadId:I,percent:_e,done:_e>=100})}),fe({percent:100,uploadedBytes:T.size,status:"done"}),i("upload-progress",{uploadId:I,percent:100,done:!0})}catch(_e){const ue=_e.message;fe({status:"error",error:ue}),dt(l("upload.failed",{name:T.name})),i("error",{message:ue,context:{op:"upload",file:T.name}})}}async function zT(T){const I=crypto.randomUUID();let oe=!1;try{return await p.uploadFile({path:Zt(y.value),file:T,onProgress:fe=>{if(oe){const _e=pe.value.findIndex(ue=>ue.id===I);if(_e!==-1){const ue=[...pe.value];ue[_e]={...fe,id:I},pe.value=ue}}else{if(fe.status!=="uploading"&&fe.uploadedBytes<=0)return;pe.value=[...pe.value,{...fe,id:I}],oe=!0}i("upload-progress",{uploadId:fe.uploadId??I,percent:fe.percent,done:fe.status==="done"})}}),!0}catch{return oe&&(pe.value=pe.value.filter(fe=>fe.id!==I)),!1}}const Ta=r.ref(0),Aa=r.ref(!1);function Id(T){const I=T.dataTransfer;if(!I||I.types&&I.types.includes(sa))return!1;if(I.items&&I.items.length>0){let oe=!1;for(const fe of Array.from(I.items))if(fe.kind==="file"){oe=!0;break}return oe}return I.types?I.types.includes("Files"):!1}function FT(T){Id(T)&&(T.preventDefault(),Ta.value++,Aa.value=!0)}function LT(){Ta.value=Math.max(0,Ta.value-1),Ta.value===0&&(Aa.value=!1)}function OT(T){var I;if((I=T.dataTransfer)!=null&&I.types.includes(sa)){T.preventDefault();return}Id(T)&&T.preventDefault()}function PT(T){var oe,fe,_e;if((oe=T.dataTransfer)!=null&&oe.types.includes(sa)){const ue=T.dataTransfer.getData(c0)||"",mt=Zt(y.value);if(ue&&mt&&ue!==mt&&!K.value&&Oe.value){T.preventDefault(),Ta.value=0,Aa.value=!1;try{const Ct=JSON.parse(T.dataTransfer.getData(sa));$o(Ct.map(Mt=>Mt.path),mt,ue)}catch{}return}}if((fe=T.dataTransfer)!=null&&fe.types.includes(sa)){Ta.value=0,Aa.value=!1;return}if(!Id(T)){Ta.value=0,Aa.value=!1;return}if(T.preventDefault(),Ta.value=0,Aa.value=!1,!Oe.value){dt(s.value==="en"?"Read-only here":"Burada yazma yetkiniz yok");return}const I=(_e=T.dataTransfer)!=null&&_e.files?Array.from(T.dataTransfer.files):[];I.length!==0&&U4(I)}function H4(T){var I;(I=T.dataTransfer)!=null&&I.types.includes("Files")&&T.preventDefault()}function G4(T){const I=it.value,oe=T.target;I&&oe&&!I.contains(oe)&&T.preventDefault()}r.onMounted(()=>{window.addEventListener("dragover",H4),window.addEventListener("drop",G4)}),r.onBeforeUnmount(()=>{window.removeEventListener("dragover",H4),window.removeEventListener("drop",G4),window.removeEventListener("hashchange",R4)});const Ns=r.computed(()=>de.value.mode!=="cut"?new Set:new Set(de.value.items.map(T=>T.path)));function zd(T,I){if(!I.dataTransfer)return;if(T.basename===".trash"){I.preventDefault();return}H.has(T.path)||H.click(T.path);const oe=H.nodes.value.filter(fe=>!Ns.value.has(fe.path)).filter(fe=>fe.basename!==".trash").map(fe=>({path:fe.path,basename:fe.basename,type:fe.type}));I.dataTransfer.setData(sa,JSON.stringify(oe)),I.dataTransfer.setData(c0,Zt(y.value)),I.dataTransfer.setData("text/plain",oe.map(fe=>fe.path).join(`
|
|
5
|
-
`)),I.dataTransfer.effectAllowed="move"}async function RT(T,I,oe,fe){try{const _e=fe??Zt(y.value);if(o.endpoints.moveAsync){const{op:ue}=await o.moveAsync(T,I,_e);z4(ue.id,T,I,_e),v.register(ue),dt("Taşıma kuyruğa alındı")}else{await o.move(_e,T,I),await Nt();const ue=T.map(mt=>Po(I,I4(mt)));en(l("toast.moved"),async()=>{await o.move(I,ue,_e)})}H.clear()}catch(_e){i("error",{message:_e.message,context:{op:oe,targetDir:I}})}}async function Fd(T,I){var mt;if(T.type!=="dir")return;const oe=(mt=I.dataTransfer)==null?void 0:mt.getData(sa);if(!oe)return;let fe=[];try{fe=JSON.parse(oe)}catch{return}if(fe.length===0)return;const _e=T.path,ue=fe.map(Ct=>Ct.path).filter(Ct=>Ct&&Ct!==_e&&!_e.startsWith(Ct+"/")&&!Bd(Ds(Ct),_e));ue.length!==0&&await $o(ue,_e,og(I))}async function VT(T,I){var mt;const oe=(mt=I.dataTransfer)==null?void 0:mt.getData(sa);if(!oe)return;let fe=[];try{fe=JSON.parse(oe)}catch{return}if(fe.length===0)return;const _e=T,ue=fe.map(Ct=>Ct.path).filter(Ct=>Ct&&Ct!==_e&&!_e.startsWith(Ct+"/")&&!Bd(Ds(Ct),_e));ue.length!==0&&await $o(ue,_e,og(I))}function $T(T){T.cancel()}function UT(T){pe.value=pe.value.filter(I=>I.id!==T.id)}function HT(T){if(tn.value&&!T){Nt("");return}if(tn.value){Nt(Pi(T));return}Nt(Ya(T))}async function j4(T){try{await navigator.clipboard.writeText(T),dt(l("breadcrumb.copy_path"))}catch{}}function Xa(T={}){return o.authHeadersSync({...T})}const Is=r.ref(!1),{themeId:zs,setTheme:GT}=xu(),Xn=typeof window<"u"&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):void 0,q4=r.ref(!!(Xn!=null&&Xn.matches));function K4(T){q4.value=T.matches}r.onMounted(()=>{var T;return(T=Xn==null?void 0:Xn.addEventListener)==null?void 0:T.call(Xn,"change",K4)}),r.onBeforeUnmount(()=>{var T;return(T=Xn==null?void 0:Xn.removeEventListener)==null?void 0:T.call(Xn,"change",K4)});const Ld=r.computed(()=>a.config.theme==="dark"||a.config.theme!=="light"&&q4.value);r.watch([zs,Ld,it],()=>{Du(zs.value),it.value&&Su(it.value,zs.value,Ld.value)},{immediate:!0});const Ro=r.ref(!1),Ma=r.ref(!1),ra=r.ref(null);function jT(){if(Ma.value){Ma.value=!1;return}const T=H.nodes.value,I=T.length===1?T[0]:null;if(!(!I||I.type!=="file"||I.basename===".trash")){if(cr.value){if(!Pr.value)return;(async()=>{try{await qd(I)}catch{dt(l("e2e.decrypt_failed"));return}ra.value=I,Ma.value=!0,Xe(I)})();return}ra.value=I,Ma.value=!0,Xe(I)}}function qT(T){const I=D.value.filter(ue=>ue.type==="file");if(I.length===0)return;const oe=ra.value;let fe=oe?I.findIndex(ue=>ue.path===oe.path):-1;fe=fe===-1?T>0?0:I.length-1:(fe+T+I.length)%I.length;const _e=I[fe];!_e||_e.path===(oe==null?void 0:oe.path)||H.click(_e.path)}function KT(){const T=ra.value;Ma.value=!1,T&&Or(T)}r.watch(()=>H.nodes.value,T=>{var oe,fe;if(!Ma.value)return;const I=T.length===1&&T[0].type==="file"?T[0]:null;if(I&&I.path!==((oe=ra.value)==null?void 0:oe.path)&&Pr.value){(async()=>{try{await qd(I)}catch{}ra.value=I,Xe(I)})();return}I&&I.path!==((fe=ra.value)==null?void 0:fe.path)&&(ra.value=I,Xe(I))});const Od=Fu();function WT(T){pe.value=pe.value.filter(ue=>ue.id!==T.id);const I=T.file,oe=T.path||Zt(y.value),fe=crypto.randomUUID();pe.value=[...pe.value,{id:fe,file:I,path:oe,totalBytes:I.size,uploadedBytes:0,percent:0,status:"uploading",cancel(){}}];const _e=ue=>{const mt=pe.value.findIndex(Mt=>Mt.id===fe);if(mt===-1)return;const Ct=[...pe.value];Ct[mt]={...Ct[mt],...ue},pe.value=Ct};o.uploadMultipart(oe,[I],ue=>{_e({percent:ue,uploadedBytes:Math.round(ue/100*I.size)}),i("upload-progress",{uploadId:fe,percent:ue,done:ue>=100})}).then(()=>{_e({percent:100,uploadedBytes:I.size,status:"done"}),i("upload-progress",{uploadId:fe,percent:100,done:!0}),Nt()}).catch(ue=>{_e({status:"error",error:ue.message}),dt(l("upload.failed",{name:I.name})),i("error",{message:ue.message,context:{op:"upload-retry",file:I.name}})})}const Fs=r.ref(!1);let Pd;function YT(){try{return localStorage.getItem(lf)==="1"}catch{return!0}}function Rd(){Fs.value=!0}function XT(){var T;Fs.value=!1;try{localStorage.setItem(lf,"1")}catch{}(T=it.value)==null||T.focus()}function W4(){Rd()}r.onMounted(()=>{var T;(T=it.value)==null||T.addEventListener("fe:tour-restart",W4),YT()||(Pd=setTimeout(()=>{Fs.value||Rd()},900))}),r.onBeforeUnmount(()=>{var T;Pd&&clearTimeout(Pd),(T=it.value)==null||T.removeEventListener("fe:tour-restart",W4)});function ZT(){return Ts()==="none"?null:m?`${sf}:${m}`:sf}const rn=nf({storageKey:ZT()}),JT=rn.restore(),Vd=rn.activeId,QT=r.computed(()=>rn.hasMultiple.value),aa=r.computed(()=>{var T;return((T=rn.activeTab.value)==null?void 0:T.split)??null});function eA(T){const I=(T||"").replace(/^\/+|\/+$/g,"");return I===".trash"?l("node.trash"):I?I.split("/").pop()||I:tn.value?l("breadcrumb.root"):E.value||l("breadcrumb.root")}const tA=r.computed(()=>rn.tabs.value.map(T=>({id:T.id,label:eA(T.path),split:!!T.split})));r.watch(y,T=>rn.syncActive({path:T})),r.watch(F,T=>rn.syncActive({viewMode:T})),r.onMounted(()=>{JT||rn.seed(y.value??"",F.value)});function Ls(T){if(T.viewMode&&T.viewMode!==F.value&&(F.value=T.viewMode),T.path===".trash"){Oo();return}Nt(T.path)}function nA(T){const I=rn.activate(T);I&&Ls(I)}function $d(){rn.openTab(y.value??"",{viewMode:F.value,background:!1})}function Y4(T){const I=rn.closeTab(T);I&&Ls(I)}function rA(){const T=rn.step(1);T&&Ls(T)}function aA(){const T=rn.step(-1);T&&Ls(T)}function X4(T){if(T.type!=="dir"||T.basename===".trash")return;const I=tn.value?Pi(T.path):Ya(T.path);rn.openTab(I,{viewMode:F.value,background:!0})}function Z4(T){if(T.button!==1)return;const I=T.target,oe=I&&typeof I.closest=="function"?I.closest("[data-fe-path]"):null,fe=oe==null?void 0:oe.getAttribute("data-fe-path");if(!fe)return;const _e=D.value.find(ue=>ue.path===fe);!_e||_e.type!=="dir"||_e.basename===".trash"||(T.preventDefault(),X4(_e))}function J4(T){if(T.button!==1)return;const I=T.target;I&&typeof I.closest=="function"&&I.closest("[data-fe-path]")&&T.preventDefault()}r.onMounted(()=>{var T,I;(T=it.value)==null||T.addEventListener("auxclick",Z4),(I=it.value)==null||I.addEventListener("mousedown",J4)}),r.onBeforeUnmount(()=>{var T,I;(T=it.value)==null||T.removeEventListener("auxclick",Z4),(I=it.value)==null||I.removeEventListener("mousedown",J4)});const nn=r.ref(null),Vo=r.computed(()=>!!aa.value&&!St.value);function Q4(){if(aa.value){rn.setSplit(null),ia.value="main";return}St.value||rn.setSplit({path:y.value??"",viewMode:F.value})}function iA(){rn.setSplit(null),ia.value="main"}function oA(T){rn.setSplit({...aa.value??{},path:T})}function lA(){ia.value="main",Oo()}const eg=r.computed(()=>{var T;return((T=aa.value)==null?void 0:T.viewMode)??F.value});function sA(T){aa.value&&rn.setSplit({...aa.value,viewMode:T})}const Ud=r.computed(()=>sr.value?eg.value:F.value);function tg(T){sr.value?sA(T):F.value=T}const ia=r.ref("main");function cA(){ia.value="main"}r.watch(Vo,T=>{T||(ia.value="main")});const sr=r.computed(()=>ia.value==="split"&&Vo.value),dA=r.computed(()=>Vo.value&&ia.value==="main");function uA(T){return tn.value?Pi(T):Ya(T)}function fA(T){const I=String(T??"").replace(/^\/+|\/+$/g,"");return g&&(!I||!(I===g||I.startsWith(g+"/")))?g:I}function ng(){var I,oe;const T=((I=nn.value)==null?void 0:I.selectedNodes())??[];T.length!==0&&(de.value={mode:"cut",items:T,sourcePath:((oe=nn.value)==null?void 0:oe.getPath())??""},dt("Kesildi"))}function rg(){var I,oe;const T=((I=nn.value)==null?void 0:I.selectedNodes())??[];T.length!==0&&(de.value={mode:"copy",items:T,sourcePath:((oe=nn.value)==null?void 0:oe.getPath())??""},dt("Kopyalandı"))}async function ag(){const T=de.value,I=nn.value;if(!T.mode||T.items.length===0||!I)return;const oe=Zt(I.getPath()??""),fe=Zt(T.sourcePath||"")||void 0;if(T.mode==="cut"&&fe===oe){dt("Aynı klasöre kesilemez");return}await $o(T.items.map(_e=>_e.path),oe,fe,T.mode==="copy"),de.value={mode:null,items:[],sourcePath:null}}function ig(T){const I=T.indexOf("://");return I===-1?"":T.slice(0,I)}function og(T){var oe;return((oe=T.dataTransfer)==null?void 0:oe.getData(c0))||void 0}async function $o(T,I,oe,fe=!1){var Ct;const _e=T.filter(Mt=>Mt&&Mt!==I&&!I.startsWith(Mt+"/")&&!Bd(Ds(Mt),I));if(_e.length===0||!I)return;const ue=ig(I),mt=_e.some(Mt=>ig(Mt)!==ue);if(mt||fe)try{const{op:Mt}=await o.copy(_e,I);v.register(Mt),dt(l(mt?"split.cross_copy":"split.copy_queued"))}catch(Mt){i("error",{message:Mt.message,context:{op:"transfer",targetWire:I}}),dt(mt?l("split.cross_failed"):Mt.message);return}else await RT(_e,I,"move-transfer",oe);(Ct=nn.value)==null||Ct.reload()}function hA(T){$o(T.sources,T.targetWire,T.originWire)}const Vi=Wu(),Uo=r.ref(0),Zn=r.ref(""),Ho=new Map,cr=r.computed(()=>!!Zn.value&&!K.value),Pr=r.computed(()=>(Uo.value,cr.value&&Vi.has(Zn.value))),Hd=r.computed(()=>(Uo.value,cr.value&&!Vi.has(Zn.value))),$i=r.ref(""),Ui=r.ref(!1),Hi=r.ref(""),Os=r.ref(!1),Gd=r.ref(!1);function jd(){return Vi.get(Zn.value)??null}function lg(){for(const T of Ho.values())URL.revokeObjectURL(T);Ho.clear()}r.onBeforeUnmount(lg);async function pA(){if(!(!$i.value||Ui.value||!Zn.value)){Ui.value=!0,Hi.value="";try{let T="";try{const{blob:fe,url:_e}=await o.fetchBlob(Po(Zn.value,Wi));URL.revokeObjectURL(_e),T=await fe.text()}catch{Hi.value=l("e2e.unlock.marker_missing");return}const I=ju(T);if(!I){Hi.value=l("e2e.unlock.marker_missing");return}const oe=await qu(I,$i.value);if(!oe){Hi.value=l("e2e.unlock.wrong");return}Vi.set(Zn.value,oe),Uo.value++,$i.value=""}finally{Ui.value=!1}}}function mA(){Zn.value&&(Vi.lock(Zn.value),Uo.value++,lg(),dt(l("e2e.locked_toast")))}const gA={txt:"text/plain",md:"text/markdown",log:"text/plain",csv:"text/csv",json:"application/json",xml:"application/xml",html:"text/html",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",bmp:"image/bmp",avif:"image/avif",svg:"image/svg+xml",pdf:"application/pdf",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",m4v:"video/mp4",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",flac:"audio/flac",m4a:"audio/mp4",aac:"audio/aac",opus:"audio/opus"};function sg(T){const I=(T.extension||"").toLowerCase();return gA[I]||"application/octet-stream"}async function qd(T){const I=Ho.get(T.path);if(I)return I;const oe=jd();if(!oe)return null;const fe=await o.fetchArrayBuffer(T.path);if(!el(fe))return null;const _e=await i0(oe,fe),ue=URL.createObjectURL(new Blob([_e],{type:sg(T)}));return Ho.set(T.path,ue),ue}function Ps(T){return Ho.get(T)??o.previewUrl(T)}async function Kd(T){try{await qd(T)}catch{dt(l("e2e.decrypt_failed"));return}se.value="view",L.value=T,ct.value=!0,i("file-opened",{path:T.path,basename:T.basename}),Xe(T)}async function vA(T){try{const I=await o.fetchArrayBuffer(T.path),oe=jd();let fe=I;if(el(I)){if(!oe)throw new Error("locked");fe=await i0(oe,I)}const _e=URL.createObjectURL(new Blob([fe],{type:sg(T)})),ue=document.createElement("a");ue.href=_e,ue.download=T.basename,document.body.appendChild(ue),ue.click(),ue.remove(),setTimeout(()=>URL.revokeObjectURL(_e),3e4)}catch{dt(l("e2e.download.failed"))}}async function yA(T){const I=jd();if(!I)return[];const oe=[];for(const fe of T)if(fe.name!==Wi){if(fe.size>Qs){dt(l("e2e.upload.too_big"));continue}try{const _e=await Ku(I,await fe.arrayBuffer());oe.push(new File([_e],fe.name,{type:"application/octet-stream"}))}catch(_e){i("error",{message:_e.message,context:{op:"e2e-encrypt",file:fe.name}})}}return oe}async function bA(T){if(cr.value){dt(l("e2e.create.nested"));return}Gd.value=!0;try{const I=Zt(y.value);await o.newFolder(I,T.name);const{marker:oe,kek:fe}=await Gu(T.password),_e=new File([JSON.stringify(oe)],Wi,{type:"application/json"}),ue=Po(I,T.name);await o.uploadMultipart(ue,[_e]),Vi.set(ue,fe),Uo.value++,Os.value=!1,dt(l("e2e.create.done")),await Nt()}catch(I){i("error",{message:I.message,context:{op:"e2e-create"}}),dt(l("e2e.create.failed"))}finally{Gd.value=!1}}return(T,I)=>{var oe,fe,_e;return r.openBlock(),r.createElementBlock("div",{ref_key:"rootEl",ref:it,class:r.normalizeClass(["fe",{"fe--theme-light":e.config.theme==="light","fe--theme-dark":e.config.theme==="dark","fe--is-dragover":Aa.value,"fe--density-compact":q.value==="compact","fe--narrow":St.value}]),tabindex:"-1",onDragenter:FT,onDragover:OT,onDragleave:LT,onDrop:PT,onContextmenu:pT},[QT.value?(r.openBlock(),r.createBlock(Ou,{key:0,tabs:tA.value,"active-id":r.unref(Vd),locale:s.value,"split-enabled":!St.value,"split-active":!!aa.value,onSelect:nA,onClose:Y4,onNew:$d,onReorder:I[0]||(I[0]=(ue,mt)=>r.unref(rn).move(ue,mt)),onToggleSplit:Q4},null,8,["tabs","active-id","locale","split-enabled","split-active"])):r.createCommentVNode("",!0),r.createVNode(Ov,{ref_key:"toolbarRef",ref:Mn,"view-mode":Ud.value,"search-query":Y.value,"trash-active":re.value,actions:yT.value,"selection-mode":fT.value,"paste-enabled":!!de.value.mode,"convert-enabled":!!ce.value,"can-go-up":V.value,"at-virtual-root":z.value,"can-write":Oe.value,locale:s.value,narrow:St.value,theme:e.config.theme||"auto","inspector-open":R.value,onToggleInspector:st,onOpenTheme:I[1]||(I[1]=ue=>Is.value=!0),"onUpdate:viewMode":I[2]||(I[2]=ue=>tg(ue)),"onUpdate:searchQuery":I[3]||(I[3]=ue=>Y.value=ue),"onUpdate:density":I[4]||(I[4]=ue=>q.value=ue),onOpenShortcutSettings:I[5]||(I[5]=ue=>Ro.value=!0),onNewFolder:I[6]||(I[6]=ue=>We.value=!0),onUpload:Ms,onRefresh:I[7]||(I[7]=()=>Nt()),onGoUp:U,onAction:hT,onOpenRecents:I[8]||(I[8]=ue=>xe.value=!0)},null,8,["view-mode","search-query","trash-active","actions","selection-mode","paste-enabled","convert-enabled","can-go-up","at-virtual-root","can-write","locale","narrow","theme","inspector-open","onToggleInspector"]),r.createElementVNode("div",{class:r.normalizeClass(["fe__main",{"fe__main--split":Vo.value}])},[r.createElementVNode("div",{class:r.normalizeClass(["fe__primary",{"fe-pane--focus":dA.value}])},[r.createVNode(ay,{dirname:M.value,adapter:E.value,"root-label":E.value,locale:s.value,"multi-storage-root":tn.value,"root-path":r.unref(m),onNavigate:HT,onCopyPath:j4,onCrumbContext:mT,onCrumbDrop:VT},null,8,["dirname","adapter","root-label","locale","multi-storage-root","root-path"]),r.unref(d).length||r.unref(u)?(r.openBlock(),r.createElementBlock("div",zk,[r.unref(d).length?(r.openBlock(),r.createBlock(Gg,{key:0,users:r.unref(d),locale:s.value},null,8,["users","locale"])):r.createCommentVNode("",!0),r.unref(u)?(r.openBlock(),r.createElementBlock("span",{key:1,class:"fe-connbadge",role:"status",title:r.unref(l)("conn.tooltip")},[I[50]||(I[50]=r.createElementVNode("span",{class:"fe-connbadge__dot","aria-hidden":"true"},null,-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(l)("conn.offline")),1)],8,Fk)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),Pr.value?(r.openBlock(),r.createElementBlock("div",Lk,[I[51]||(I[51]=r.createElementVNode("span",{class:"fe-e2e-strip__icon","aria-hidden":"true"},"🔒",-1)),r.createElementVNode("span",Ok,r.toDisplayString(r.unref(l)("e2e.strip.label")),1),r.createElementVNode("button",{type:"button",class:"fe-btn fe-e2e-strip__btn",onClick:mA},r.toDisplayString(r.unref(l)("e2e.strip.lock")),1)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:"fe__body",onPointerdownCapture:I[13]||(I[13]=ue=>cA()),onClick:I[14]||(I[14]=r.withModifiers(ue=>r.unref(H).clear(),["self"]))},[b.value&&D.value.length===0?(r.openBlock(),r.createElementBlock("div",Pk,[r.createElementVNode("span",Rk,r.toDisplayString(r.unref(l)("loading")),1),F.value!=="list"?(r.openBlock(),r.createElementBlock("div",Vk,[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(8,ue=>r.createElementVNode("div",{key:ue,class:"fe-skel-card"},[...I[52]||(I[52]=[r.createElementVNode("div",{class:"fe-skel fe-skel--thumb"},null,-1),r.createElementVNode("div",{class:"fe-skel fe-skel--label"},null,-1)])])),64))])):(r.openBlock(),r.createElementBlock("div",$k,[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(8,ue=>r.createElementVNode("div",{key:ue,class:"fe-skel-row"},[...I[53]||(I[53]=[r.createElementVNode("div",{class:"fe-skel fe-skel--icon"},null,-1),r.createElementVNode("div",{class:"fe-skel fe-skel--name"},null,-1),r.createElementVNode("div",{class:"fe-skel fe-skel--size"},null,-1),r.createElementVNode("div",{class:"fe-skel fe-skel--date"},null,-1)])])),64))]))])):w.value?(r.openBlock(),r.createElementBlock("div",Uk,[I[54]||(I[54]=r.createElementVNode("svg",{class:"fe-state__art",viewBox:"0 0 120 100",width:"110",height:"92",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[r.createElementVNode("path",{d:"M18 36v42a6 6 0 0 0 6 6h72a6 6 0 0 0 6-6V44a6 6 0 0 0-6-6H62l-9-10H24a6 6 0 0 0-6 6z"}),r.createElementVNode("path",{d:"M52 55c0-4.6 3.6-8 8-8s8 3.4 8 8c0 5.5-8 4.8-8 11"}),r.createElementVNode("circle",{cx:"60",cy:"73",r:"1.6",fill:"currentColor",stroke:"none"})],-1)),r.createElementVNode("p",Hk,r.toDisplayString(r.unref(l)("notFound.title")),1),r.createElementVNode("p",Gk,r.toDisplayString(w.value),1),r.createElementVNode("p",jk,r.toDisplayString(r.unref(l)("notFound.desc")),1),r.createElementVNode("div",qk,[r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:tT},r.toDisplayString(r.unref(l)("notFound.goRoot")),1)])])):B.value&&D.value.length===0?(r.openBlock(),r.createElementBlock("div",Kk,[I[55]||(I[55]=r.createStaticVNode('<svg class="fe-state__art" viewBox="0 0 120 100" width="110" height="92" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="60" cy="50" r="28"></circle><path d="M60 36v18"></path><circle cx="60" cy="63" r="1.8" fill="currentColor" stroke="none"></circle><path d="M24 88h72" stroke-dasharray="3 5"></path></svg>',1)),r.createElementVNode("p",Wk,r.toDisplayString(r.unref(l)("error.title")),1),r.createElementVNode("p",Yk,r.toDisplayString(r.unref(l)("error.hint")),1),r.createElementVNode("div",Xk,[r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:G},r.toDisplayString(r.unref(l)("error.retry")),1)]),r.createElementVNode("details",Zk,[r.createElementVNode("summary",Jk,r.toDisplayString(r.unref(l)("error.details")),1),r.createElementVNode("pre",Qk,r.toDisplayString(B.value),1)])])):Hd.value?(r.openBlock(),r.createElementBlock("div",ew,[I[56]||(I[56]=r.createStaticVNode('<svg class="fe-state__art" viewBox="0 0 120 100" width="110" height="92" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="38" y="44" width="44" height="34" rx="6"></rect><path d="M46 44v-8a14 14 0 0 1 28 0v8"></path><circle cx="60" cy="59" r="3" fill="currentColor" stroke="none"></circle><path d="M60 62v7"></path></svg>',1)),r.createElementVNode("p",tw,r.toDisplayString(r.unref(l)("e2e.locked.title")),1),r.createElementVNode("p",nw,r.toDisplayString(r.unref(l)("e2e.locked.hint")),1),r.createElementVNode("form",{class:"fe-e2e-lock__form",onSubmit:r.withModifiers(pA,["prevent"])},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":I[9]||(I[9]=ue=>$i.value=ue),type:"password",class:"fe-input fe-e2e-lock__input",placeholder:r.unref(l)("e2e.locked.pw_placeholder"),autocomplete:"current-password",disabled:Ui.value},null,8,rw),[[r.vModelText,$i.value]]),r.createElementVNode("button",{type:"submit",class:"fe-btn fe-btn--primary",disabled:Ui.value||!$i.value},r.toDisplayString(Ui.value?r.unref(l)("e2e.locked.busy"):r.unref(l)("e2e.locked.unlock")),9,aw)],32),Hi.value?(r.openBlock(),r.createElementBlock("p",iw,r.toDisplayString(Hi.value),1)):r.createCommentVNode("",!0)])):!b.value&&D.value.length===0&&Y.value?(r.openBlock(),r.createElementBlock("div",ow,[I[57]||(I[57]=r.createElementVNode("svg",{class:"fe-state__art",viewBox:"0 0 120 100",width:"110",height:"92",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[r.createElementVNode("circle",{cx:"52",cy:"44",r:"22"}),r.createElementVNode("path",{d:"M68 61l20 20"}),r.createElementVNode("path",{d:"M46 38l12 12M58 38l-12 12"})],-1)),r.createElementVNode("p",lw,r.toDisplayString(r.unref(l)("empty.search.title")),1),r.createElementVNode("p",sw,r.toDisplayString(r.unref(l)("empty.search.hint")),1)])):!b.value&&D.value.length===0&&K.value?(r.openBlock(),r.createElementBlock("div",cw,[I[58]||(I[58]=r.createStaticVNode('<svg class="fe-state__art" viewBox="0 0 120 100" width="110" height="92" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M38 34l4 48a6 6 0 0 0 6 5.6h24a6 6 0 0 0 6-5.6l4-48"></path><path d="M32 34h56"></path><path d="M50 34v-6a6 6 0 0 1 6-6h8a6 6 0 0 1 6 6v6"></path><path d="M52 44v32M60 44v32M68 44v32" opacity="0.5"></path></svg>',1)),r.createElementVNode("p",dw,r.toDisplayString(r.unref(l)("empty.trash.title")),1)])):!b.value&&D.value.length===0?(r.openBlock(),r.createElementBlock("div",uw,[(r.openBlock(),r.createElementBlock("svg",fw,[I[60]||(I[60]=r.createElementVNode("path",{d:"M18 36v42a6 6 0 0 0 6 6h72a6 6 0 0 0 6-6V44a6 6 0 0 0-6-6H62l-9-10H24a6 6 0 0 0-6 6z"},null,-1)),je.value?(r.openBlock(),r.createElementBlock("g",hw,[...I[59]||(I[59]=[r.createElementVNode("path",{d:"M60 50v14","stroke-dasharray":"3 4"},null,-1),r.createElementVNode("path",{d:"M53 59l7 8 7-8"},null,-1)])])):r.createCommentVNode("",!0)])),r.createElementVNode("p",pw,r.toDisplayString(r.unref(l)("empty.folder")),1),je.value?(r.openBlock(),r.createElementBlock("p",mw,r.toDisplayString(r.unref(l)("empty.hint")),1)):r.createCommentVNode("",!0),je.value?(r.openBlock(),r.createElementBlock("div",gw,[r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:Ms},r.toDisplayString(r.unref(l)("empty.upload")),1)])):r.createCommentVNode("",!0)])):F.value==="list"?(r.openBlock(),r.createBlock(gu,{key:7,files:D.value,selected:r.unref(H).selected.value,clipped:Ns.value,"show-parent-path":!!Y.value,locale:s.value,loading:b.value,"starred-ids":ve.value,"api-base":a.config.apiBase??"","auth-headers":()=>Xa(),onClickRow:I[10]||(I[10]=(ue,mt)=>r.unref(H).click(ue.path,mt)),onDblRow:Or,onContextRow:Ad,onItemDragStart:zd,onItemDropInto:Fd,onStarChange:Ge},null,8,["files","selected","clipped","show-parent-path","locale","loading","starred-ids","api-base","auth-headers"])):F.value==="grid"?(r.openBlock(),r.createBlock(vu,{key:8,files:D.value,selected:r.unref(H).selected.value,clipped:Ns.value,"show-parent-path":!!Y.value,locale:s.value,loading:b.value,"thumb-src":r.unref(f).src,onClickCard:I[11]||(I[11]=(ue,mt)=>r.unref(H).click(ue.path,mt)),onDblCard:Or,onContextCard:Ad,onItemDragStart:zd,onItemDropInto:Fd},null,8,["files","selected","clipped","show-parent-path","locale","loading","thumb-src"])):(r.openBlock(),r.createBlock(yu,{key:9,files:D.value,selected:r.unref(H).selected.value,clipped:Ns.value,"show-parent-path":!!Y.value,locale:s.value,loading:b.value,"thumb-src":r.unref(f).src,onClickCard:I[12]||(I[12]=(ue,mt)=>r.unref(H).click(ue.path,mt)),onDblCard:Or,onContextCard:Ad,onItemDragStart:zd,onItemDropInto:Fd},null,8,["files","selected","clipped","show-parent-path","locale","loading","thumb-src"]))],32)],2),Vo.value&&aa.value?(r.openBlock(),r.createBlock(tf,{ref_key:"splitPaneRef",ref:nn,key:"split-"+r.unref(Vd),api:r.unref(o),"initial-path":aa.value.path,locale:s.value,qualify:Zt,"to-user":uA,clamp:fA,"root-label":tn.value?"/":E.value||r.unref(l)("breadcrumb.root"),floor:r.unref(g),"multi-root":tn.value,"virtual-rows":M4,active:sr.value,"view-mode":eg.value,"thumb-src":r.unref(f).src,"trash-visible":e.config.trashVisible!==!1,onNavigate:oA,onActivate:I[15]||(I[15]=ue=>ia.value="split"),onClose:iA,onOpenTab:I[16]||(I[16]=ue=>r.unref(rn).openTab(ue,{viewMode:F.value,background:!0})),onTransfer:hA,onContext:gT,onOpenTrash:lA},null,8,["api","initial-path","locale","root-label","floor","multi-root","active","view-mode","thumb-src","trash-visible","onContext","onOpenTrash"])):r.createCommentVNode("",!0),R.value?(r.openBlock(),r.createBlock(B5,{key:1,api:r.unref(o),nodes:r.unref(H).nodes.value,"dir-label":X.value,"dir-count":D.value.length,"dir-perm":x.value,locale:s.value,narrow:St.value,"thumb-src":r.unref(f).src,onClose:Z,onManagePermissions:O,onToast:dt,onChanged:I[17]||(I[17]=()=>Nt())},null,8,["api","nodes","dir-label","dir-count","dir-perm","locale","narrow","thumb-src"])):r.createCommentVNode("",!0)],2),Aa.value?(r.openBlock(),r.createElementBlock("div",vw,[...I[61]||(I[61]=[r.createElementVNode("div",{class:"fe__dragover-card"},[r.createElementVNode("span",{class:"fe-icon"},"⬆"),r.createElementVNode("p",null,"Dosyaları buraya bırak")],-1)])])):r.createCommentVNode("",!0),r.createVNode(s3,{jobs:pe.value,locale:s.value,center:r.unref(Od),onCancel:$T,onDismiss:UT,onRetry:WT},null,8,["jobs","locale","center"]),r.createVNode(c3,{ops:r.unref(v).ops.value,locale:s.value,center:r.unref(Od),onDismiss:I[18]||(I[18]=ue=>r.unref(v).dismiss(ue))},null,8,["ops","locale","center"]),r.createVNode(Iu,{center:r.unref(Od),locale:s.value,narrow:St.value},null,8,["center","locale","narrow"]),St.value&&je.value?(r.openBlock(),r.createElementBlock("button",{key:2,type:"button",class:"fe-fab",title:r.unref(l)("toolbar.upload"),"aria-label":r.unref(l)("toolbar.upload"),onClick:Ms},[...I[62]||(I[62]=[r.createElementVNode("svg",{class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.2","stroke-linecap":"round","aria-hidden":"true",focusable:"false"},[r.createElementVNode("path",{d:"M12 5v14M5 12h14"})],-1)])],8,yw)):r.createCommentVNode("",!0),r.createVNode(qs,{ref_key:"ctxRef",ref:Ve,locale:s.value,theme:e.config.theme||"auto",sheet:Et.value,actions:vT.value,onSelect:bT},null,8,["locale","theme","sheet","actions"]),r.createVNode(m7,{open:We.value,locale:s.value,"encrypted-option":!cr.value,onClose:I[19]||(I[19]=ue=>We.value=!1),onSubmit:ST,onEncrypted:I[20]||(I[20]=ue=>{We.value=!1,Os.value=!0})},null,8,["open","locale","encrypted-option"]),r.createVNode(rf,{open:Os.value,locale:s.value,busy:Gd.value,onClose:I[21]||(I[21]=ue=>Os.value=!1),onSubmit:bA},null,8,["open","locale","busy"]),r.createVNode(v7,{open:wt.value,locale:s.value,"current-name":((oe=pt.value)==null?void 0:oe.basename)||"",onClose:I[22]||(I[22]=ue=>wt.value=!1),onSubmit:ET},null,8,["open","locale","current-name"]),r.createVNode(y7,{open:et.value,locale:s.value,count:r.unref(H).size.value,onClose:I[23]||(I[23]=ue=>et.value=!1),onConfirm:CT},null,8,["open","locale","count"]),r.createVNode(N7,{open:ft.value,locale:s.value,share:Me.value,onClose:MT,onSubmit:AT,onToast:dt},null,8,["open","locale","share"]),r.createVNode(Zs,{open:ct.value,locale:s.value,file:L.value,theme:e.config.theme||"auto","preview-url":ue=>Ps(ue),"download-url":ue=>Pr.value?Ps(ue):r.unref(o).downloadUrl(ue),"only-office-base":cr.value?null:De.value,"only-office-config-endpoint":Ne.value,"new-tab-enabled":!cr.value,"save-text-endpoint":cr.value?null:r.unref(o).endpoints.saveText||null,"open-mode":se.value,"auth-headers":()=>Xa({"Content-Type":"application/json"}),"auth-credentials":r.unref(o).credentialsMode(),"drawio-url":ke.value,"pdf-worker-url":a.config.pdfWorkerUrl||null,"pdf-save-url":a.config.pdfSaveUrl||null,"viewer-base-url":a.config.viewerBaseUrl||null,onClose:I[24]||(I[24]=ue=>ct.value=!1)},null,8,["open","locale","file","theme","preview-url","download-url","only-office-base","only-office-config-endpoint","new-tab-enabled","save-text-endpoint","open-mode","auth-headers","auth-credentials","drawio-url","pdf-worker-url","pdf-save-url","viewer-base-url"]),be.value&&Ee.value&&ce.value?(r.openBlock(),r.createBlock(q7,{key:3,"convert-url":ce.value,"file-name":((fe=Ee.value)==null?void 0:fe.basename)||((_e=Ee.value)==null?void 0:_e.path)||"","fetch-bytes":()=>{var ue;return r.unref(o).fetchArrayBuffer(((ue=Ee.value)==null?void 0:ue.path)??"")},upload:ue=>r.unref(o).uploadMultipart(Zt(y.value),[ue]).then(()=>{}),onClose:I[25]||(I[25]=ue=>be.value=!1),onDone:TT},null,8,["convert-url","file-name","fetch-bytes","upload"])):r.createCommentVNode("",!0),ae.value&&ye.value?(r.openBlock(),r.createBlock(Ik,{key:4,api:r.unref(o),path:ye.value.path,"is-dir":ye.value.type==="dir",size:typeof ye.value.size=="number"?ye.value.size:void 0,locale:s.value==="en"?"en":"tr",onClose:I[26]||(I[26]=ue=>ae.value=!1)},null,8,["api","path","is-dir","size","locale"])):r.createCommentVNode("",!0),r.createVNode(r.Transition,{name:"fe-modal"},{default:r.withCtx(()=>[xe.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe fe-modal__backdrop fe-recents__backdrop",{"fe--theme-light":e.config.theme==="light","fe--theme-dark":e.config.theme==="dark"}]),onClick:I[30]||(I[30]=ue=>xe.value=!1)},[r.createElementVNode("div",{class:"fe-recents__panel",onClick:I[29]||(I[29]=r.withModifiers(()=>{},["stop"]))},[r.createElementVNode("div",bw,[r.createElementVNode("strong",null,r.toDisplayString(s.value==="en"?"Recently opened":"Son açılanlar"),1),r.createElementVNode("button",{class:"fe-recents__close","aria-label":"Close",onClick:I[27]||(I[27]=ue=>xe.value=!1)},"×")]),r.createVNode(uu,{"api-base":a.config.apiBase??"","auth-headers":()=>Xa(),limit:20,"refresh-key":me.value,onOpen:Ke,onError:I[28]||(I[28]=ue=>i("error",{message:ue,context:{op:"recents"}}))},null,8,["api-base","auth-headers","refresh-key"])])],2)):r.createCommentVNode("",!0)]),_:1}),r.createVNode(r.Transition,{name:"fe-modal"},{default:r.withCtx(()=>[ie.value&&ge.value&&typeof ge.value.id=="number"?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fe-modal__backdrop",onClick:I[34]||(I[34]=ue=>ie.value=!1)},[r.createElementVNode("div",{class:"fe-modal__card fe-modal__card--md",onClick:I[33]||(I[33]=r.withModifiers(()=>{},["stop"]))},[r.createElementVNode("header",_w,[r.createElementVNode("h2",kw,r.toDisplayString(s.value==="en"?"Tags":"Etiketler")+" — "+r.toDisplayString(ge.value.basename),1),r.createElementVNode("button",{class:"fe-modal__close","aria-label":"Close",onClick:I[31]||(I[31]=ue=>ie.value=!1)},"×")]),r.createElementVNode("div",ww,[r.createVNode(du,{"node-id":ge.value.id,"api-base":a.config.apiBase??"","auth-headers":()=>Xa(),onError:I[32]||(I[32]=ue=>i("error",{message:ue,context:{op:"tags"}}))},null,8,["node-id","api-base","auth-headers"])])])])):r.createCommentVNode("",!0)]),_:1}),r.createVNode(cb,{open:Dd.value,locale:s.value,files:D.value,"view-mode":F.value,"can-write":Oe.value&&!z.value&&!re.value,"can-go-up":V.value,"global-search":aT,onClose:I[35]||(I[35]=ue=>Dd.value=!1),onOpenHit:iT,onOpenNode:Or,onNavigate:I[36]||(I[36]=ue=>Nt(ue)),onNewFolder:I[37]||(I[37]=ue=>We.value=!0),onUpload:Ms,onToggleView:I[38]||(I[38]=ue=>tg(Ud.value==="list"?"grid":Ud.value==="grid"?"gallery":"list")),onOpenTrash:Oo,onRefresh:I[39]||(I[39]=()=>Nt()),onGoUp:U,onOpenTheme:I[40]||(I[40]=ue=>Is.value=!0),onOpenShortcutSettings:I[41]||(I[41]=ue=>Ro.value=!0),onStartTour:I[42]||(I[42]=ue=>Rd()),"split-enabled":!St.value,onTabNew:I[43]||(I[43]=ue=>$d()),onSplitToggle:I[44]||(I[44]=ue=>Q4())},null,8,["open","locale","files","view-mode","can-write","can-go-up","split-enabled"]),r.createVNode(xb,{open:As.value,locale:s.value,onClose:I[45]||(I[45]=ue=>As.value=!1),onCustomize:I[46]||(I[46]=ue=>{As.value=!1,Ro.value=!0})},null,8,["open","locale"]),r.createVNode(Tu,{open:Is.value,locale:s.value,theme:e.config.theme||"auto",dark:Ld.value,current:r.unref(zs),onClose:I[47]||(I[47]=ue=>Is.value=!1),onSelect:r.unref(GT)},null,8,["open","locale","theme","dark","current","onSelect"]),r.createElementVNode("input",{ref_key:"fileInputEl",ref:Ae,type:"file",multiple:"",class:"fe__file-input",onChange:NT},null,544),r.createVNode(r.Transition,{name:"fe-toast"},{default:r.withCtx(()=>[Nn.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe-toast",{"fe-toast--action":!!Nn.value.actionLabel}]),role:"status",onClick:Yn},[r.createElementVNode("span",xw,r.toDisplayString(Nn.value.message),1),Nn.value.actionLabel&&Nn.value.action?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-toast__action",onClick:r.withModifiers(lr,["stop"])},r.toDisplayString(Nn.value.actionLabel),1)):r.createCommentVNode("",!0)],2)):r.createCommentVNode("",!0)]),_:1}),r.createVNode(Au,{open:Ro.value,locale:s.value,theme:e.config.theme||"auto",onClose:I[48]||(I[48]=ue=>Ro.value=!1)},null,8,["open","locale","theme"]),r.createVNode(Nu,{open:Ma.value,locale:s.value,file:ra.value,theme:e.config.theme||"auto","preview-url":ue=>Ps(ue),"download-url":ue=>Pr.value?Ps(ue):r.unref(o).downloadUrl(ue),"only-office-base":cr.value?null:De.value,"only-office-config-endpoint":Ne.value,"auth-headers":()=>Xa({"Content-Type":"application/json"}),"auth-credentials":r.unref(o).credentialsMode(),"drawio-url":ke.value,"pdf-worker-url":a.config.pdfWorkerUrl||null,"viewer-base-url":a.config.viewerBaseUrl||null,onClose:I[49]||(I[49]=ue=>Ma.value=!1),onNav:qT,onOpenFull:KT},null,8,["open","locale","file","theme","preview-url","download-url","only-office-base","only-office-config-endpoint","auth-headers","auth-credentials","drawio-url","pdf-worker-url","viewer-base-url"]),r.createVNode(N8,{open:Fs.value,locale:s.value,root:it.value,theme:e.config.theme||"auto",onClose:XT},null,8,["open","locale","root","theme"])],34)}}}),Ew={class:"filex-viewer-3d"},Cw={key:1,class:"filex-viewer-fallback"},Bw={key:2,class:"filex-viewer-fallback"},ei=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"Viewer3D",props:{url:{},mime:{},ext:{},t:{type:Function}},setup(e){const t=e,n=new Set(["glb","gltf","usdz"]),a=r.computed(()=>n.has((t.ext||"").toLowerCase())),i=r.ref(null),o=r.ref(!1);async function s(){if(o.value=!1,i.value=null,!a.value){i.value=t.t?t.t("viewer.format_unsupported_3d"):`3D format ".${t.ext}" not supported in browser preview — please download.`;return}try{await import("@google/model-viewer"),o.value=!0}catch{i.value=t.t?t.t("viewer.peer_not_installed"):"3D viewer requires `@google/model-viewer` — install or use download."}}return r.onMounted(s),r.watch(()=>t.url,()=>{s()}),(l,c)=>{const d=r.resolveComponent("model-viewer");return r.openBlock(),r.createElementBlock("div",Ew,[o.value&&!i.value?(r.openBlock(),r.createBlock(d,{key:0,src:e.url,"auto-rotate":"","camera-controls":"","touch-action":"pan-y","shadow-intensity":"1",alt:e.ext+" model",style:{width:"100%",height:"100%","min-height":"480px",display:"block"}},null,8,["src","alt"])):i.value?(r.openBlock(),r.createElementBlock("div",Cw,[c[0]||(c[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"📦",-1)),r.createElementVNode("p",null,r.toDisplayString(i.value),1)])):(r.openBlock(),r.createElementBlock("div",Bw,[c[1]||(c[1]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(e.t?e.t("viewer.loading"):"Loading…"),1)]))])}}}),[["__scopeId","data-v-f9492fd4"]])},Symbol.toStringTag,{value:"Module"})),Dw={key:0,class:"filex-viewer-fallback"},Tw={key:0,class:"filex-viewer-epub__nav"},Aw=["disabled"],Mw=["disabled"],Nw={key:1,class:"filex-viewer-epub__loading"},Iw=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"EpubViewer",props:{url:{},mime:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref(null),a=r.ref(null),i=r.ref(null),o=r.ref([]);r.ref(!1);const s=r.ref(100),l=r.ref(!1),c=r.ref(!0);let d=null,u=null;async function h(){c.value=!0,l.value=!1,i.value=null;let b=null;try{b=await import("epubjs")}catch{i.value=t.t?t.t("viewer.peer_not_installed"):"EPUB viewer requires `epubjs` — install or use download.",c.value=!1;return}try{const m=b.default??b;let g=t.url;if(t.authHeaders){const y=t.authHeaders(),E=await fetch(t.url,{headers:y,credentials:t.authCredentials||"same-origin"});if(!E.ok)throw new Error(`${E.status} ${E.statusText}`);g=await E.arrayBuffer()}if(d=m(g),!a.value)throw new Error("EPUB mount target missing");u=d.renderTo(a.value,{width:"100%",height:"100%",flow:"paginated",manager:"default"}),await u.display(),u.themes.fontSize(s.value+"%");const _=await d.loaded.navigation;o.value=(_==null?void 0:_.toc)??[],l.value=!0}catch(m){i.value=m instanceof Error?m.message:"EPUB load failed"}finally{c.value=!1}}function f(){var b;(b=u==null?void 0:u.next)==null||b.call(u)}function p(){var b;(b=u==null?void 0:u.prev)==null||b.call(u)}function k(b){b.key==="ArrowRight"||b.key==="PageDown"?f():(b.key==="ArrowLeft"||b.key==="PageUp")&&p()}r.onMounted(()=>{h(),window.addEventListener("keydown",k)}),r.onBeforeUnmount(()=>{var b,m;window.removeEventListener("keydown",k);try{(b=u==null?void 0:u.destroy)==null||b.call(u)}catch{}try{(m=d==null?void 0:d.destroy)==null||m.call(d)}catch{}u=null,d=null}),r.watch(()=>t.url,()=>{if(u)try{u.destroy()}catch{}if(d)try{d.destroy()}catch{}d=null,u=null,h()});function v(b,m){return t.t?t.t(b):m}return(b,m)=>(r.openBlock(),r.createElementBlock("div",{ref_key:"root",ref:n,class:"filex-viewer-epub"},[i.value?(r.openBlock(),r.createElementBlock("div",Dw,[m[0]||(m[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"📖",-1)),r.createElementVNode("p",null,r.toDisplayString(i.value),1)])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createElementVNode("div",{ref_key:"containerRef",ref:a,class:"filex-viewer-epub__rendition"},null,512),l.value?(r.openBlock(),r.createElementBlock("div",Tw,[r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",onClick:p,disabled:!l.value},"‹",8,Aw),r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",onClick:f,disabled:!l.value},"›",8,Mw)])):r.createCommentVNode("",!0),c.value?(r.openBlock(),r.createElementBlock("div",Nw,r.toDisplayString(v("viewer.loading","Loading…")),1)):r.createCommentVNode("",!0)],64))],512))}}),[["__scopeId","data-v-12eb7133"]])},Symbol.toStringTag,{value:"Module"}));async function cf(e){const t=await fetch(e.url,{headers:e.headers??{},credentials:e.credentials??"same-origin",signal:e.signal});if(!t.ok){const n=await t.text().catch(()=>"");throw new Error(`${t.status} ${t.statusText}${n?" — "+n.slice(0,200):""}`)}return t}async function df(e){return(await cf(e)).arrayBuffer()}async function tl(e){return(await cf(e)).text()}const zw={class:"filex-viewer-mermaid"},Fw={key:0,class:"filex-viewer-fallback"},Lw={key:1,class:"filex-viewer-fallback"},uf=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"MermaidViewer",props:{url:{},mime:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref(null),a=r.ref(null),i=r.ref(!0),o=r.ref(1),s=r.ref(0),l=r.ref(0);let c=!1,d=null,u=0,h=null;async function f(){var _,y;if(h)return h;try{const E=await import("mermaid");return h=E.default??E,(y=h.initialize)==null||y.call(h,{startOnLoad:!1,securityLevel:"strict",theme:(_=window.matchMedia)!=null&&_.call(window,"(prefers-color-scheme: dark)").matches?"dark":"default"}),h}catch{return null}}async function p(){var M;i.value=!0,a.value=null;const _=++u,y=await f();if(_!==u)return;if(!y){a.value=t.t?t.t("viewer.peer_not_installed"):"Mermaid viewer requires `mermaid` — install or use download.",i.value=!1;return}let E;try{E=await tl({url:t.url,headers:((M=t.authHeaders)==null?void 0:M.call(t))??{},credentials:t.authCredentials})}catch(D){a.value=D instanceof Error?D.message:"fetch failed",i.value=!1;return}if(_===u)try{const D=`filex-mermaid-${Date.now()}`,{svg:x}=await y.render(D,E);if(_!==u)return;if(n.value){n.value.innerHTML=x;const w=n.value.querySelector("svg");w&&(w.style.maxWidth="100%",w.style.height="auto")}}catch(D){a.value=D instanceof Error?D.message:"render failed"}finally{i.value=!1}}function k(_){if(!_.ctrlKey&&!_.metaKey)return;_.preventDefault();const E=-_.deltaY>0?1.1:1/1.1;o.value=Math.max(.2,Math.min(8,o.value*E))}function v(_){var y,E;c=!0,d={x:_.clientX,y:_.clientY,tx:s.value,ty:l.value},(E=(y=_.target).setPointerCapture)==null||E.call(y,_.pointerId)}function b(_){!c||!d||(s.value=d.tx+(_.clientX-d.x),l.value=d.ty+(_.clientY-d.y))}function m(){c=!1,d=null}r.onMounted(p),r.onBeforeUnmount(()=>{u++});function g(_,y){return t.t?t.t(_):y}return(_,y)=>(r.openBlock(),r.createElementBlock("div",zw,[r.createElementVNode("div",{class:"filex-viewer-mermaid__pane",onWheel:k,onPointerdown:v,onPointermove:b,onPointerup:m,onPointercancel:m},[a.value?(r.openBlock(),r.createElementBlock("div",Fw,[y[0]||(y[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"📊",-1)),r.createElementVNode("p",null,r.toDisplayString(a.value),1)])):i.value?(r.openBlock(),r.createElementBlock("div",Lw,[y[1]||(y[1]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(g("viewer.loading","Loading…")),1)])):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("div",{ref_key:"surface",ref:n,class:"filex-viewer-mermaid__surface",style:r.normalizeStyle({transform:`translate(${s.value}px, ${l.value}px) scale(${o.value})`})},null,4),[[r.vShow,!i.value&&!a.value]])],32)]))}}),[["__scopeId","data-v-939eea2b"]])},Symbol.toStringTag,{value:"Module"})),Ow={class:"filex-viewer-drawio"},Pw={key:0,class:"filex-viewer-fallback"},Rw=["src"],ff=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"DrawioViewer",props:{url:{},filePath:{},ext:{},drawioUrl:{},saveUrl:{},readOnly:{type:Boolean},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref(null),a=r.ref(null),i=r.ref("loading"),o=r.ref(!!t.readOnly||!t.saveUrl),s=r.computed(()=>t.drawioUrl?t.drawioUrl.replace(/\/$/,""):null),l=r.computed(()=>{if(!s.value)return"";const v=new URLSearchParams({embed:"1",proto:"json",spin:"1",saveAndExit:"0",noSaveBtn:o.value?"1":"0",noExitBtn:"1",ui:"kennedy",modified:"unsavedChanges"});return`${s.value}/?${v.toString()}`});let c="";async function d(){var v;i.value="loading",a.value=null;try{c=await tl({url:t.url,headers:((v=t.authHeaders)==null?void 0:v.call(t))??{},credentials:t.authCredentials})}catch(b){a.value=b instanceof Error?b.message:"fetch failed",i.value="error"}}function u(v){var b,m;(m=(b=n.value)==null?void 0:b.contentWindow)==null||m.postMessage(JSON.stringify(v),"*")}async function h(v){var b;if(t.saveUrl){i.value="saving";try{const m={"Content-Type":"application/json",...((b=t.authHeaders)==null?void 0:b.call(t))??{}},g=await fetch(t.saveUrl,{method:"POST",headers:m,credentials:t.authCredentials||"same-origin",body:JSON.stringify({path:t.filePath,content:v})});if(!g.ok)throw new Error(`${g.status} ${g.statusText}`);i.value="saved",setTimeout(()=>{i.value==="saved"&&(i.value="ready")},2500)}catch(m){a.value=m instanceof Error?m.message:"save failed",i.value="error"}}}function f(v){if(typeof v.data!="string"||v.data.length===0)return;const b=v.data[0];if(b!=="{"&&b!=="<")return;let m;try{m=JSON.parse(v.data)}catch{return}if(!(!m||typeof m!="object"))switch(m.event){case"init":u({action:"load",xml:c,autosave:0}),i.value="ready";break;case"save":typeof m.xml=="string"&&h(m.xml);break;case"export":break;case"autosave":typeof m.xml=="string"&&!o.value&&h(m.xml);break}}function p(){if(!s.value){a.value=k("viewer.drawio.disabled","Drawio (diagrams.net) yapılandırılmamış."),i.value="error";return}a.value===k("viewer.drawio.disabled","Drawio (diagrams.net) yapılandırılmamış.")&&(a.value=null,i.value="loading"),d()}r.onMounted(()=>{window.addEventListener("message",f),p()}),r.watch(()=>t.drawioUrl,p),r.onBeforeUnmount(()=>{window.removeEventListener("message",f)});function k(v,b){return t.t?t.t(v):b}return(v,b)=>(r.openBlock(),r.createElementBlock("div",Ow,[a.value?(r.openBlock(),r.createElementBlock("div",Pw,[b[0]||(b[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"📐",-1)),r.createElementVNode("p",null,r.toDisplayString(a.value),1)])):(r.openBlock(),r.createElementBlock("iframe",{key:1,ref_key:"iframeRef",ref:n,src:l.value,class:"filex-viewer-drawio__frame",title:"diagrams.net editor"},null,8,Rw))]))}}),[["__scopeId","data-v-2e4b5f3b"]])},Symbol.toStringTag,{value:"Module"})),Vw={class:"filex-viewer-tiff"},$w={class:"filex-viewer-tiff__pane"},Uw={key:0,class:"filex-viewer-fallback"},Hw={key:1,class:"filex-viewer-fallback"},Gw={key:2,class:"filex-viewer-tiff__pager"},jw=["disabled"],qw={class:"filex-viewer-tiff__pages"},Kw=["disabled"],hf=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"TiffViewer",props:{url:{},mime:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref(null),a=r.ref(null),i=r.ref(!0);r.ref(1);const o=r.ref(0),s=r.ref(0),l=r.ref({width:0,height:0});let c=null,d=null,u=0;async function h(){if(c)return c;try{const g=await Promise.resolve().then(()=>zS);return c=g.default??g,c}catch{return null}}async function f(){var y;i.value=!0,a.value=null,d=null,o.value=0,s.value=0;const g=++u,_=await h();if(g===u){if(!_){a.value=t.t?t.t("viewer.peer_not_installed"):"TIFF viewer requires `utif` — install or use download.",i.value=!1;return}try{const E=await df({url:t.url,headers:((y=t.authHeaders)==null?void 0:y.call(t))??{},credentials:t.authCredentials});if(g!==u)return;if(d=_.decode(E),s.value=(d==null?void 0:d.length)??0,s.value===0)throw new Error("No pages decoded");p()}catch(E){a.value=E instanceof Error?E.message:"TIFF decode failed"}finally{i.value=!1}}}function p(){if(!c||!d||!n.value)return;const g=Math.max(0,Math.min(o.value,d.length-1)),_=d[g];try{c.decodeImage(void 0,_)}catch{}const y=c.toRGBA8(_),E=_.width,M=_.height;l.value={width:E,height:M};const D=n.value;D.width=E,D.height=M;const x=D.getContext("2d");if(!x)return;const w=x.createImageData(E,M);w.data.set(y),x.putImageData(w,0,0)}function k(){o.value<s.value-1&&(o.value++,p())}function v(){o.value>0&&(o.value--,p())}r.onMounted(f),r.onBeforeUnmount(()=>{u++,d=null}),r.watch(()=>t.url,f);const b=r.computed(()=>(t.t&&t.t("viewer.page_n_of_m")||"Page {n} of {m}").replace("{n}",String(o.value+1)).replace("{m}",String(s.value)));function m(g,_){return t.t?t.t(g):_}return(g,_)=>(r.openBlock(),r.createElementBlock("div",Vw,[r.createElementVNode("div",$w,[a.value?(r.openBlock(),r.createElementBlock("div",Uw,[_[0]||(_[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"🖼️",-1)),r.createElementVNode("p",null,r.toDisplayString(a.value),1)])):i.value?(r.openBlock(),r.createElementBlock("div",Hw,[_[1]||(_[1]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(m("viewer.loading","Loading…")),1)])):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("canvas",{ref_key:"canvasEl",ref:n,style:{imageRendering:"pixelated"}},null,512),[[r.vShow,!i.value&&!a.value]]),!i.value&&!a.value&&s.value>1?(r.openBlock(),r.createElementBlock("div",Gw,[r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",disabled:o.value===0,onClick:v},"‹",8,jw),r.createElementVNode("span",qw,r.toDisplayString(b.value),1),r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",disabled:o.value>=s.value-1,onClick:k},"›",8,Kw)])):r.createCommentVNode("",!0)])]))}}),[["__scopeId","data-v-c6b84f5d"]])},Symbol.toStringTag,{value:"Module"})),Ww={class:"filex-viewer-psd"},Yw={class:"filex-viewer-psd__pane"},Xw={key:0,class:"filex-viewer-fallback"},Zw={key:1,class:"filex-viewer-fallback"},Jw=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"PsdViewer",props:{url:{},mime:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref(null),a=r.ref([]),i=r.ref(null),o=r.ref(!0);r.ref(!1);const s=r.ref({width:0,height:0});r.ref(1);let l=0,c=null;async function d(){if(c)return c;try{return c=await Promise.resolve().then(()=>JD),c}catch{return null}}function u(p,k){if(p&&Array.isArray(p.children))for(const v of p.children)k.push({index:k.length,name:v.name??"(unnamed)",hidden:!!v.hidden}),v.children&&u(v,k)}async function h(){var v;o.value=!0,i.value=null,a.value=[];const p=++l,k=await d();if(p===l){if(!k){i.value=t.t?t.t("viewer.peer_not_installed"):"PSD viewer requires `ag-psd` — install or use download.",o.value=!1;return}try{const b=await df({url:t.url,headers:((v=t.authHeaders)==null?void 0:v.call(t))??{},credentials:t.authCredentials});if(p!==l)return;const m=k.readPsd(b,{skipLayerImageData:!1,skipCompositeImageData:!1,skipThumbnail:!0});s.value={width:m.width,height:m.height};const g=m.canvas;if(g&&n.value){const y=n.value;y.width=m.width,y.height=m.height;const E=y.getContext("2d");E==null||E.drawImage(g,0,0)}else throw new Error("PSD has no composite image (skipCompositeImageData?)");const _=[];u(m,_),a.value=_}catch(b){i.value=b instanceof Error?b.message:"PSD decode failed"}finally{o.value=!1}}}r.onMounted(h),r.onBeforeUnmount(()=>{l++}),r.watch(()=>t.url,h);function f(p,k){return t.t?t.t(p):k}return(p,k)=>(r.openBlock(),r.createElementBlock("div",Ww,[r.createElementVNode("div",Yw,[i.value?(r.openBlock(),r.createElementBlock("div",Xw,[k[0]||(k[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"🎨",-1)),r.createElementVNode("p",null,r.toDisplayString(i.value),1)])):o.value?(r.openBlock(),r.createElementBlock("div",Zw,[k[1]||(k[1]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(f("viewer.loading","Loading…")),1)])):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("canvas",{ref_key:"canvasEl",ref:n},null,512),[[r.vShow,!o.value&&!i.value]])])]))}}),[["__scopeId","data-v-001123c3"]])},Symbol.toStringTag,{value:"Module"})),Qw={class:"filex-viewer-ipynb"},e9={class:"filex-viewer-ipynb__pane"},t9={key:0,class:"filex-viewer-fallback"},n9={key:1,class:"filex-viewer-fallback"},r9={key:2},a9=["data-type"],i9={class:"filex-viewer-ipynb__exec"},o9={class:"filex-viewer-ipynb__src hljs"},l9=["innerHTML"],s9={key:1},c9={key:0,class:"filex-viewer-ipynb__outputs"},d9=["src","alt"],u9=["innerHTML"],f9=["data-type"],h9=["innerHTML"],p9={key:1,class:"filex-viewer-ipynb__md-raw"},m9={key:2,class:"filex-viewer-ipynb__src"},g9=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"IpynbViewer",props:{url:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref([]),a=r.ref("python"),i=r.ref(null),o=r.ref(!0),s=r.ref(new Map),l=r.ref(new Map);let c=0,d=null,u=null;async function h(){if(u!==null)return u||null;try{const g=await import("markdown-it"),_=g.default??g;return u=new _({html:!1,linkify:!0,breaks:!0}),u}catch{return u=!1,null}}function f(g){return Array.isArray(g)?g.join(""):g??""}async function p(){var M,D,x,w;o.value=!0,i.value=null,n.value=[],s.value=new Map,l.value=new Map;const g=++c;let _;try{_=await tl({url:t.url,headers:((M=t.authHeaders)==null?void 0:M.call(t))??{},credentials:t.authCredentials})}catch(B){i.value=B instanceof Error?B.message:"fetch failed",o.value=!1;return}if(g!==c)return;let y;try{y=JSON.parse(_)}catch{i.value="Invalid notebook JSON",o.value=!1;return}if(n.value=Array.isArray(y.cells)?y.cells:[],a.value=((x=(D=y.metadata)==null?void 0:D.kernelspec)==null?void 0:x.language)||"python",d=await Xo(),g!==c)return;if(d){const B=d.default??d,N=(w=B.getLanguage)!=null&&w.call(B,a.value)?a.value:null;n.value.forEach((G,F)=>{if(G.cell_type==="code"){const q=f(G.source);try{const Y=N?B.highlight(q,{language:N,ignoreIllegals:!0}):B.highlightAuto(q);s.value.set(F,Y.value)}catch{}}})}const E=await h();g===c&&(E&&n.value.forEach((B,N)=>{if(B.cell_type==="markdown")try{l.value.set(N,E.render(f(B.source)))}catch{}}),o.value=!1)}function k(g){var _;return g?g.output_type==="stream"?f(g.text):g.output_type==="error"?[g.ename,g.evalue,...g.traceback||[]].filter(Boolean).join(`
|
|
4
|
+
`)}}async function C(Z){if(ae.value)try{await navigator.share(Z)}catch{}}return(Z,X)=>{var O,te;return r.openBlock(),r.createElementBlock("div",{class:"fx-perm-overlay",onClick:X[24]||(X[24]=r.withModifiers(J=>a("close"),["self"]))},[r.createElementVNode("div",K7,[r.createElementVNode("header",W7,[r.createElementVNode("div",Y7,[r.createElementVNode("span",X7,r.toDisplayString(e.isDir?"📁":"📄"),1),r.createElementVNode("div",Z7,[r.createElementVNode("h3",null,r.toDisplayString(o("Paylaş / İzinler","Share / Permissions")),1),r.createElementVNode("span",{class:"fx-perm-sub",title:e.path},[r.createTextVNode(r.toDisplayString(s.value.name),1),r.createElementVNode("span",Q7," · "+r.toDisplayString(s.value.adapter),1)],8,J7)])]),r.createElementVNode("button",{class:"fx-perm-x",onClick:X[0]||(X[0]=J=>a("close")),"aria-label":"close"},"✕")]),r.createElementVNode("div",e_,[c.value?(r.openBlock(),r.createElementBlock("button",{key:0,class:r.normalizeClass(["fx-perm-tab",{"is-active":l.value==="perms"}]),onClick:X[1]||(X[1]=J=>l.value="perms")},r.toDisplayString(o("Kişiler","People")),3)):r.createCommentVNode("",!0),r.createElementVNode("button",{class:r.normalizeClass(["fx-perm-tab",{"is-active":l.value==="share"}]),onClick:X[2]||(X[2]=J=>l.value="share")},r.toDisplayString(o("Bağlantı","Link")),3),e.isDir?(r.openBlock(),r.createElementBlock("button",{key:1,class:r.normalizeClass(["fx-perm-tab",{"is-active":l.value==="drop"}]),onClick:X[3]||(X[3]=J=>l.value="drop")},r.toDisplayString(o("Dosya İste","Request files")),3)):r.createCommentVNode("",!0)]),r.createElementVNode("div",t_,[l.value==="perms"&&c.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[p.value?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",n_,r.toDisplayString(o("Bu diskte RBAC kapalı — izinler yalnızca RBAC açık disklerde geçerli.","RBAC is off on this storage — grants only apply when RBAC is enabled.")),1)),u.value?(r.openBlock(),r.createElementBlock("div",r_,r.toDisplayString(u.value),1)):r.createCommentVNode("",!0),d.value?(r.openBlock(),r.createElementBlock("div",a_,r.toDisplayString(o("Yükleniyor…","Loading…")),1)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:3},[r.createElementVNode("div",i_,[r.createElementVNode("div",o_,[r.createElementVNode("div",l_,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[4]||(X[4]=J=>k.value=J),type:"email",class:"fx-perm-input",autocomplete:"off",placeholder:o("İsim veya e-posta","Name or email"),onInput:ke,onKeyup:r.withKeys(pe,["enter"]),onFocus:ke},null,40,s_),[[r.vModelText,k.value]]),M.value?(r.openBlock(),r.createElementBlock("ul",c_,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(E.value,J=>(r.openBlock(),r.createElementBlock("li",{key:J.id,onMousedown:r.withModifiers(Oe=>ce(J),["prevent"])},[r.createElementVNode("span",u_,r.toDisplayString((J.display_name||J.email).charAt(0).toUpperCase()),1),r.createElementVNode("span",f_,[r.createElementVNode("span",h_,r.toDisplayString(J.display_name||J.email),1),r.createElementVNode("span",p_,r.toDisplayString(J.email)+" · "+r.toDisplayString(J.role),1)])],40,d_))),128))])):r.createCommentVNode("",!0)]),r.withDirectives(r.createElementVNode("select",{"onUpdate:modelValue":X[5]||(X[5]=J=>v.value=J),class:"fx-perm-sel",title:(O=x.find(J=>J.v===v.value))==null?void 0:O.d},[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(x,J=>r.createElementVNode("option",{key:J.v,value:J.v},r.toDisplayString(J.l),9,g_)),64))],8,m_),[[r.vModelSelect,v.value]]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:b.value,onClick:pe},r.toDisplayString(o("Ekle","Add")),9,v_)]),g.value?(r.openBlock(),r.createElementBlock("div",y_,[r.createElementVNode("p",b_,r.toDisplayString(o("Bu e-postada hesap yok. Ne yapmak istersiniz?","No account for this email — what next?")),1),r.createElementVNode("div",__,[r.createElementVNode("div",k_,[r.withDirectives(r.createElementVNode("select",{"onUpdate:modelValue":X[6]||(X[6]=J=>_.value=J),class:"fx-perm-sel"},[r.createElementVNode("option",w_,r.toDisplayString(o("Kullanıcı","User")),1),r.createElementVNode("option",x_,r.toDisplayString(o("Görüntüleyen","Viewer")),1)],512),[[r.vModelSelect,_.value]]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:b.value,onClick:Ae},r.toDisplayString(o("Kullanıcı oluştur + yetki ver","Create user + grant")),9,S_)]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--ghost",disabled:b.value,onClick:We},r.toDisplayString(o("Sadece paylaşım linki gönder →","Just send a share link →")),9,E_)])])):r.createCommentVNode("",!0),m.value?(r.openBlock(),r.createElementBlock("div",C_,r.toDisplayString(m.value),1)):r.createCommentVNode("",!0),(te=y.value)!=null&&te.tempPassword?(r.openBlock(),r.createElementBlock("div",B_,[r.createTextVNode(r.toDisplayString(o("Geçici parola:","Temp password:"))+" ",1),r.createElementVNode("code",null,r.toDisplayString(y.value.tempPassword),1)])):r.createCommentVNode("",!0)]),r.createElementVNode("div",D_,[r.createElementVNode("h4",null,r.toDisplayString(o("Erişimi olanlar","People with access")),1),!h.value.length&&!f.value.length?(r.openBlock(),r.createElementBlock("div",T_,r.toDisplayString(o("Henüz kimseyle paylaşılmadı.","Not shared with anyone yet.")),1)):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(h.value,J=>(r.openBlock(),r.createElementBlock("div",{key:"d"+J.id,class:"fx-perm-person"},[r.createElementVNode("span",A_,r.toDisplayString(ct(J)),1),r.createElementVNode("span",{class:"fx-perm-user",title:J.user_email},r.toDisplayString(ft(J)),9,M_),r.createElementVNode("select",{class:"fx-perm-sel fx-perm-sel--sm",value:J.level,onChange:Oe=>wt(J,Oe.target.value)},[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(x,Oe=>r.createElementVNode("option",{key:Oe.v,value:Oe.v},r.toDisplayString(Oe.l),9,I_)),64))],40,N_),r.createElementVNode("button",{class:"fx-perm-del",disabled:b.value,title:o("Kaldır","Remove"),onClick:Oe=>et(J)},"✕",8,z_)]))),128)),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(f.value,J=>(r.openBlock(),r.createElementBlock("div",{key:"i"+J.id,class:"fx-perm-person fx-perm-inh"},[r.createElementVNode("span",F_,r.toDisplayString(ct(J)),1),r.createElementVNode("span",{class:"fx-perm-user",title:J.user_email},r.toDisplayString(ft(J)),9,L_),r.createElementVNode("span",O_,r.toDisplayString(w(J.level)),1),r.createElementVNode("span",{class:"fx-perm-from",title:o("Üst klasörden gelir","Inherited from")+": "+(J.path_prefix||"/")}," ↳ "+r.toDisplayString(J.path_prefix||"/"),9,P_)]))),128))])],64))],64)):r.createCommentVNode("",!0),l.value==="share"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createElementVNode("div",R_,[r.createElementVNode("div",V_,[r.createElementVNode("label",$_,[r.withDirectives(r.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":X[7]||(X[7]=J=>G.value=J)},null,512),[[r.vModelCheckbox,G.value]]),r.createTextVNode(" "+r.toDisplayString(o("PIN ile koru","Protect with a PIN")),1)]),r.createElementVNode("label",U_,[r.createElementVNode("span",H_,r.toDisplayString(o("Süre","Expiry")),1),r.withDirectives(r.createElementVNode("select",{"onUpdate:modelValue":X[8]||(X[8]=J=>F.value=J),class:"fx-perm-sel fx-perm-sel--sm"},[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(V,J=>r.createElementVNode("option",{key:J.v,value:J.v},r.toDisplayString(J.l),9,G_)),64))],512),[[r.vModelSelect,F.value,void 0,{number:!0}]])]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:N.value,onClick:ht},r.toDisplayString(o("Bağlantı oluştur","Create link")),9,j_)]),Y.value?(r.openBlock(),r.createElementBlock("div",q_,r.toDisplayString(Y.value),1)):r.createCommentVNode("",!0),q.value?(r.openBlock(),r.createElementBlock("div",K_,[r.createElementVNode("div",W_,[r.createElementVNode("a",{href:q.value.url,target:"_blank",rel:"noopener",class:"fx-perm-link"},r.toDisplayString(q.value.url),9,Y_),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[9]||(X[9]=J=>Ee(q.value.url,"new"))},r.toDisplayString(K.value==="new"?o("Kopyalandı ✓","Copied ✓"):o("Kopyala","Copy")),1)]),q.value.pin?(r.openBlock(),r.createElementBlock("div",X_,[r.createElementVNode("span",null,[X[25]||(X[25]=r.createTextVNode("PIN: ",-1)),r.createElementVNode("code",null,r.toDisplayString(q.value.pin),1)]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[10]||(X[10]=J=>Ee(q.value.pin,"sharepin"))},r.toDisplayString(K.value==="sharepin"?o("Kopyalandı ✓","Copied ✓"):o("Kopyala","Copy")),1)])):r.createCommentVNode("",!0),r.createElementVNode("div",Z_,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[11]||(X[11]=J=>Q.value=J),type:"text",class:"fx-perm-input",autocomplete:"off",placeholder:o("e-posta(lar) — virgülle ayırın","email(s) — comma separated"),onKeyup:r.withKeys(Pt,["enter"])},null,40,J_),[[r.vModelText,Q.value]]),r.createElementVNode("button",{class:"fx-perm-btn",disabled:re.value,onClick:Pt},r.toDisplayString(o("Gönder","Send")),9,Q_)]),$.value?(r.openBlock(),r.createElementBlock("div",ek,r.toDisplayString($.value),1)):r.createCommentVNode("",!0),ae.value?(r.openBlock(),r.createElementBlock("button",{key:2,type:"button",class:"fx-perm-btn fx-perm-btn--ghost fx-perm-sharebtn",onClick:X[12]||(X[12]=J=>C(Ce()))},[X[26]||(X[26]=r.createElementVNode("span",{"aria-hidden":"true"},"📤",-1)),r.createTextVNode(" "+r.toDisplayString(o("Paylaş","Share")),1)])):r.createCommentVNode("",!0)])):Q.value?(r.openBlock(),r.createElementBlock("p",tk,[r.createTextVNode(r.toDisplayString(o("Aşağıdan bir bağlantı oluşturun, ardından","Create a link below, then it will be sent to"))+" ",1),r.createElementVNode("strong",null,r.toDisplayString(Q.value),1),r.createTextVNode(" "+r.toDisplayString(o("adresine gönderin.",".")),1)])):r.createCommentVNode("",!0)]),r.createElementVNode("div",nk,[r.createElementVNode("h4",null,r.toDisplayString(o("Mevcut bağlantılar","Existing links")),1),B.value.length?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",rk,r.toDisplayString(o("Yok","None")),1)),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(B.value,J=>(r.openBlock(),r.createElementBlock("div",{key:J.uuid,class:"fx-perm-person"},[r.createElementVNode("span",{class:"fx-perm-user fx-perm-link",title:J.url},r.toDisplayString(J.url),9,ak),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:Oe=>Ee(J.url,J.uuid)},r.toDisplayString(K.value===J.uuid?o("✓","✓"):o("Kopyala","Copy")),9,ik),r.createElementVNode("button",{class:"fx-perm-del",disabled:N.value,title:o("İptal","Revoke"),onClick:Oe=>be(J)},"✕",8,ok)]))),128))])],64)):r.createCommentVNode("",!0),l.value==="drop"?(r.openBlock(),r.createElementBlock("div",lk,[r.createElementVNode("p",sk,r.toDisplayString(o("Bu klasöre herkesin dosya YÜKLEYEBİLECEĞİ herkese açık bir bağlantı. Yükleyenler klasördeki mevcut dosyaları göremez.","A public link that lets anyone UPLOAD files into this folder. Uploaders never see the folder's existing files.")),1),r.createElementVNode("div",ck,[r.createElementVNode("label",dk,[r.withDirectives(r.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":X[13]||(X[13]=J=>z.value=J)},null,512),[[r.vModelCheckbox,z.value]]),r.createTextVNode(" "+r.toDisplayString(o("PIN ile koru","Protect with a PIN")),1)]),r.createElementVNode("label",uk,[r.createElementVNode("span",fk,r.toDisplayString(o("Süre","Expiry")),1),r.withDirectives(r.createElementVNode("select",{"onUpdate:modelValue":X[14]||(X[14]=J=>U.value=J),class:"fx-perm-sel fx-perm-sel--sm"},[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(V,J=>r.createElementVNode("option",{key:J.v,value:J.v},r.toDisplayString(J.l),9,hk)),64))],512),[[r.vModelSelect,U.value,void 0,{number:!0}]])]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:ie.value,onClick:L},r.toDisplayString(o("Bağlantı oluştur","Create link")),9,pk)]),r.createElementVNode("button",{type:"button",class:"fx-perm-btn fx-perm-btn--ghost fx-perm-advtoggle",onClick:X[15]||(X[15]=J=>H.value=!H.value)},r.toDisplayString(H.value?o("Gelişmiş ▲","Advanced ▲"):o("Gelişmiş ▼","Advanced ▼")),1),H.value?(r.openBlock(),r.createElementBlock("div",mk,[r.createElementVNode("label",gk,[r.createElementVNode("span",vk,r.toDisplayString(o("En fazla dosya","Max files")),1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[16]||(X[16]=J=>de.value=J),type:"number",min:"1",class:"fx-perm-input fx-perm-input--sm",placeholder:"20"},null,512),[[r.vModelText,de.value]])]),r.createElementVNode("label",yk,[r.createElementVNode("span",bk,r.toDisplayString(o("Dosya başı MB","MB / file")),1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[17]||(X[17]=J=>he.value=J),type:"number",min:"1",class:"fx-perm-input fx-perm-input--sm",placeholder:"500"},null,512),[[r.vModelText,he.value]])]),r.createElementVNode("label",_k,[r.createElementVNode("span",kk,r.toDisplayString(o("İzinli türler","Allowed types")),1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[18]||(X[18]=J=>ve.value=J),type:"text",class:"fx-perm-input fx-perm-input--sm",placeholder:o("hepsi (örn. pdf, jpg)","all (e.g. pdf, jpg)")},null,8,wk),[[r.vModelText,ve.value]])]),r.createElementVNode("label",xk,[r.withDirectives(r.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":X[19]||(X[19]=J=>xe.value=J)},null,512),[[r.vModelCheckbox,xe.value]]),r.createTextVNode(" "+r.toDisplayString(o("Yükleyenin adını sor","Ask uploader name")),1)])])):r.createCommentVNode("",!0),ge.value?(r.openBlock(),r.createElementBlock("div",Sk,r.toDisplayString(ge.value),1)):r.createCommentVNode("",!0),me.value?(r.openBlock(),r.createElementBlock("div",Ek,[r.createElementVNode("div",Ck,[r.createElementVNode("a",{href:me.value.url,target:"_blank",rel:"noopener",class:"fx-perm-link"},r.toDisplayString(me.value.url),9,Bk),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[20]||(X[20]=J=>Ee(me.value.url,"drop"))},r.toDisplayString(K.value==="drop"?o("Kopyalandı ✓","Copied ✓"):o("Kopyala","Copy")),1)]),me.value.pin?(r.openBlock(),r.createElementBlock("div",Dk,[r.createElementVNode("span",null,[X[27]||(X[27]=r.createTextVNode("PIN: ",-1)),r.createElementVNode("code",null,r.toDisplayString(me.value.pin),1)]),r.createElementVNode("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[21]||(X[21]=J=>Ee(me.value.pin,"droppin"))},r.toDisplayString(K.value==="droppin"?o("Kopyalandı ✓","Copied ✓"):o("Kopyala","Copy")),1)])):r.createCommentVNode("",!0),r.createElementVNode("div",Tk,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":X[22]||(X[22]=J=>we.value=J),type:"text",class:"fx-perm-input",autocomplete:"off",placeholder:o("e-posta(lar) — virgülle ayırın","email(s) — comma separated"),onKeyup:r.withKeys(se,["enter"])},null,40,Ak),[[r.vModelText,we.value]]),r.createElementVNode("button",{class:"fx-perm-btn",disabled:Ge.value,onClick:se},r.toDisplayString(o("Gönder","Send")),9,Mk)]),Xe.value?(r.openBlock(),r.createElementBlock("div",Nk,r.toDisplayString(Xe.value),1)):r.createCommentVNode("",!0),ae.value?(r.openBlock(),r.createElementBlock("button",{key:2,type:"button",class:"fx-perm-btn fx-perm-btn--ghost fx-perm-sharebtn",onClick:X[23]||(X[23]=J=>C(st()))},[X[28]||(X[28]=r.createElementVNode("span",{"aria-hidden":"true"},"📤",-1)),r.createTextVNode(" "+r.toDisplayString(o("Paylaş","Share")),1)])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-23e7820c"]]),zk={key:0,class:"fe__presence"},Fk=["title"],Lk={key:1,class:"fe-e2e-strip",role:"status"},Ok={class:"fe-e2e-strip__label"},Pk={key:0,class:"fe__skeleton",role:"status"},Rk={class:"fe-sr-only"},Vk={key:0,class:"fe-skel-grid","aria-hidden":"true"},$k={key:1,class:"fe-skel-list","aria-hidden":"true"},Uk={key:1,class:"fe-state"},Hk={class:"fe-state__title"},Gk={class:"fe-state__path"},jk={class:"fe-state__hint"},qk={class:"fe-state__actions"},Kk={key:2,class:"fe-state"},Wk={class:"fe-state__title"},Yk={class:"fe-state__hint"},Xk={class:"fe-state__actions"},Zk={class:"fe-state__details"},Jk={class:"fe-state__details-summary"},Qk={class:"fe-state__details-pre"},ew={key:3,class:"fe-state fe-e2e-lock"},tw={class:"fe-state__title"},nw={class:"fe-state__hint"},rw=["placeholder","disabled"],aw=["disabled"],iw={key:0,class:"fe-form__error",role:"alert"},ow={key:4,class:"fe-state"},lw={class:"fe-state__title"},sw={class:"fe-state__hint"},cw={key:5,class:"fe-state"},dw={class:"fe-state__title"},uw={key:6,class:"fe-state"},fw={class:"fe-state__art",viewBox:"0 0 120 100",width:"110",height:"92",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},hw={key:0},pw={class:"fe-state__title"},mw={key:0,class:"fe-state__hint"},gw={key:1,class:"fe-state__actions"},vw={key:1,class:"fe__dragover"},yw=["title","aria-label"],bw={class:"fe-recents__header"},_w={class:"fe-modal__head"},kw={class:"fe-modal__title"},ww={class:"fe-modal__body"},xw={class:"fe-toast__msg"},af="brf-file-explorer:view-mode",of="filex.inspector",s0="brf-file-explorer:path",sa="application/x-brf-files",lf="filex.tourDone",c0="application/x-brf-files-src",sf="filex.tabs",Sw=r.defineComponent({__name:"FileExplorer",props:{config:{}},emits:["share-created","file-opened","error","upload-progress","selection-change","navigate"],setup(e,{expose:t,emit:n}){const a=e,i=n,o=Yd(a.config),s=r.computed(()=>a.config.locale||"tr"),{t:l}=Gt(s),c=Bg(o,{reload:()=>Nt()}),d=c.presenceUsers,u=c.degraded;function h(T){const I=(T||"").replace(/^\/+|\/+$/g,"");if(I===".trash"||I.startsWith(".trash/"))return null;const oe=Zt(I);return!oe||!oe.includes("://")||oe.startsWith("://")?null:oe}r.onMounted(()=>{c.start(),c.subscribe(h(y.value))}),r.onBeforeUnmount(()=>c.stop());const f=Tg(a.config.apiBase,o),p=Xd(a.config,o),k=new Map,v=ou(a.config,o,{onSettled:T=>{var oe;const I=k.get(T.id);if(k.delete(T.id),T.status==="error")dt(T.error_message||"İşlem başarısız");else if(I)en(`${I.message} (${T.progress_total})`,I.fn);else{const fe=T.op_type==="copy"?"Kopyalandı":T.op_type==="move"?"Taşındı":"Silindi";dt(`${fe} (${T.progress_total})`)}Nt(),(oe=nn.value)==null||oe.reload()}}),b=r.ref(!1),m=(a.config.rootPath||"").trim(),g=m.replace("://","/").replace(/^\/+|\/+$/g,""),_=g||a.config.initialPath||"",y=r.ref(_),E=r.ref(a.config.defaultAdapter||"brf"),M=r.ref(_),D=r.ref([]),x=r.ref(""),w=r.ref(""),B=r.ref("");let N;function G(){Nt(N)}const F=r.customRef((T,I)=>{let oe=(()=>{try{const fe=localStorage.getItem(af);if(fe==="list"||fe==="grid"||fe==="gallery")return fe}catch{}return a.config.viewMode??"list"})();return{get(){return T(),oe},set(fe){if(fe!==oe){oe=fe;try{localStorage.setItem(af,fe)}catch{}I()}}}}),q=r.ref("comfortable"),Y=r.ref(""),K=r.ref(!1),Q=r.ref(""),re=r.computed(()=>K.value),$=r.computed(()=>{if(!tn.value)return"";const T=a.config.storages??[];return T.length===1?T[0].name:""}),V=r.computed(()=>{const T=(y.value??"").replace(/^\/+|\/+$/g,"");return g&&T===g||$.value&&T===$.value?!1:T.length>0}),z=r.computed(()=>tn.value?!(y.value??"").replace(/^\/+|\/+$/g,""):!1);function U(){if(K.value){Nt(Q.value);return}const T=(y.value??"").replace(/^\/+|\/+$/g,"");if(!T||T===g||$.value&&T===$.value)return;const I=T.lastIndexOf("/");let oe=I===-1?"":T.slice(0,I);g&&!(oe===g||oe.startsWith(g+"/"))&&(oe=g),Nt(oe)}const H=Zd(()=>D.value);r.watch(()=>[...H.selected.value],()=>{i("selection-change",H.nodes.value.map(I=>({path:I.path,basename:I.basename,type:I.type})));const T=H.nodes.value.filter(I=>I.type==="file");c.setFocus(T.length===1?T[0].basename:null)});const de=r.ref({mode:null,items:[],sourcePath:null}),he=r.ref(null),ve=r.ref(new Set),xe=r.ref(!1),ie=r.ref(!1),ge=r.ref(null),me=r.ref(0);async function we(){try{const T=await Xa(),I=a.config.apiBase??"",oe=await fetch(`${I}/api/files/manager/star/list?limit=500`,{headers:T,credentials:o.credentialsMode()});if(!oe.ok)return;const fe=await oe.json(),_e=Array.isArray(fe)?fe:Array.isArray(fe==null?void 0:fe.entries)?fe.entries:Array.isArray(fe==null?void 0:fe.nodes)?fe.nodes:[];ve.value=new Set(_e.map(ue=>ue.id).filter(ue=>typeof ue=="number"))}catch{}}function Ge(T,I){if(typeof T.id!="number")return;const oe=new Set(ve.value);I?oe.add(T.id):oe.delete(T.id),ve.value=oe}async function Xe(T){if(typeof T.id=="number")try{const I=a.config.apiBase??"";await fetch(`${I}/api/files/manager/recent`,{method:"POST",headers:await Xa({"Content-Type":"application/json"}),credentials:o.credentialsMode(),body:JSON.stringify({node_id:T.id})}),me.value+=1}catch{}}function tt(T){typeof T.id=="number"&&(ge.value=T,ie.value=!0)}function Ke(T){const I={type:"file",path:T.path,basename:T.name,extension:(T.name.split(".").pop()||"").toLowerCase(),id:T.id};xe.value=!1,Or(I)}const De=r.computed(()=>{var I,oe,fe;if(a.config.onlyOfficeBase)return a.config.onlyOfficeBase;const T=(oe=(I=he.value)==null?void 0:I.external)==null?void 0:oe.onlyoffice;return T&&!Rs(T)?null:((fe=he.value)==null?void 0:fe.onlyoffice_url)||null}),Ne=r.computed(()=>De.value&&o.endpoints.onlyOfficeConfig||null),ke=r.computed(()=>{var oe,fe,_e;const T=a.config.drawioUrl||a.config.drawioBase;if(T)return T;const I=(fe=(oe=he.value)==null?void 0:oe.external)==null?void 0:fe.drawio;return I&&!Rs(I)?null:((_e=he.value)==null?void 0:_e.drawio_url)||null}),ce=r.computed(()=>{var T;return a.config.convertBase||((T=he.value)==null?void 0:T.convert_url)||null}),pe=r.ref([]),Ae=r.ref(null),We=r.ref(!1),wt=r.ref(!1),et=r.ref(!1),ft=r.ref(!1),ct=r.ref(!1),pt=r.ref(null),ht=r.ref(!1),Pt=r.ref(null),Me=r.ref(null),L=r.ref(null),se=r.ref("edit"),be=r.ref(!1),Ee=r.ref(null),ae=r.ref(!1),ye=r.ref(null),R=r.ref((()=>{try{return localStorage.getItem(of)==="1"}catch{return!1}})());function Ce(T){try{localStorage.setItem(of,T?"1":"0")}catch{}}function st(){R.value=!R.value,Ce(R.value)}function C(){R.value||(R.value=!0,Ce(!0))}function Z(){R.value&&(R.value=!1,Ce(!1))}const X=r.computed(()=>{if(K.value)return l("node.trash");const T=(y.value??"").replace(/^\/+|\/+$/g,"");return T?T.split("/").pop()||T:E.value||l("breadcrumb.root")});function O(T){ye.value=T,ae.value=!0}function te(T){return T===void 0||T==="editor"||T==="owner"}function J(T){var I;return T.length===1&&typeof((I=T[0])==null?void 0:I.perm)=="string"?T[0].perm:x.value}const Oe=r.computed(()=>te(x.value)),je=r.computed(()=>Oe.value&&!z.value&&!K.value),Ve=r.ref(null),it=r.ref(null),Mn=r.ref(null),St=r.ref(!1),Et=r.ref(!1);let Ht,Vt;function gn(T){Et.value=!!(T&&"matches"in T&&T.matches)}r.onMounted(()=>{var T;typeof ResizeObserver<"u"&&it.value&&(Ht=new ResizeObserver(I=>{var fe,_e,ue;const oe=((_e=(fe=I[0])==null?void 0:fe.contentRect)==null?void 0:_e.width)??((ue=it.value)==null?void 0:ue.clientWidth)??0;St.value=oe>0&&oe<560}),Ht.observe(it.value)),typeof window<"u"&&window.matchMedia&&(Vt=window.matchMedia("(pointer: coarse)"),gn(Vt),(T=Vt.addEventListener)==null||T.call(Vt,"change",gn))}),r.onBeforeUnmount(()=>{var T;Ht==null||Ht.disconnect(),Ht=void 0,(T=Vt==null?void 0:Vt.removeEventListener)==null||T.call(Vt,"change",gn),Vt=void 0});const Nn=r.ref(null);let _r;function Xt(T,I){Nn.value=T,_r&&clearTimeout(_r),_r=setTimeout(()=>Nn.value=null,I)}function dt(T){Xt({message:T},2500)}function en(T,I){Xt({message:T,actionLabel:l("toast.undo"),action:I},8e3)}function Yn(){_r&&(clearTimeout(_r),_r=void 0),Nn.value=null}async function lr(){var I;const T=(I=Nn.value)==null?void 0:I.action;if(Yn(),!!T)try{await T(),dt(l("toast.undone")),await Nt()}catch{dt(l("toast.undo_failed"))}}const tn=r.computed(()=>a.config.multiStorageRoot===!0);function eT(T){const I=T.replace(/^\/+|\/+$/g,"");if(!I)return{adapter:"",rel:""};const oe=I.indexOf("/");return oe===-1?{adapter:I,rel:""}:{adapter:I.slice(0,oe),rel:I.slice(oe+1)}}function Cd(T){if(T.includes("://"))return T;const{adapter:I,rel:oe}=eT(T);return I?oe?`${I}://${oe}`:`${I}://`:""}function Pi(T){const I=T.indexOf("://");if(I===-1)return T.replace(/^\/+|\/+$/g,"");const oe=T.slice(0,I),fe=T.slice(I+3).replace(/^\/+|\/+$/g,"");return fe?`${oe}/${fe}`:oe}function M4(){return(a.config.storages??[]).map(I=>({type:"dir",path:I.name,basename:I.label||I.name,extension:"",storage:I.name,visibility:"private",file_size:0,mime_type:"inode/storage",extra_metadata:{driver:I.driver,readOnly:I.readOnly}}))}function N4(){var T;j8(!Xi.value),Nt(),(T=nn.value)==null||T.reload()}async function Nt(T){b.value=!0,K.value=!1;let I=T??y.value??"";try{if(w.value="",B.value="",g){const _e=String(I).replace(/^\/+|\/+$/g,"");(!_e||!(_e===g||_e.startsWith(g+"/")))&&(I=g)}if(tn.value&&!Cd(I)){if($.value)return await Nt($.value);y.value="",E.value="",M.value="",Zn.value="",D.value=M4();return}const oe=tn.value?Cd(I):Zt(I),fe=Y.value?await o.search(oe,Y.value):await o.index(oe);E.value=fe.adapter,M.value=fe.dirname,x.value=fe.perm||"",Zn.value=typeof fe.e2e_root=="string"?fe.e2e_root:"",D.value=Zu(fe.files),Ju(D.value,fe.adapter,fe.dirname,a.config.trashVisible!==!1)&&Qu(D.value,fe.adapter,o),y.value=tn.value?Pi(fe.dirname):Ya(fe.dirname)}catch(oe){const fe=oe instanceof Error?oe.message:String(oe),_e=oe.status;if(_e===404||_e===403){w.value=String(I),Zn.value="",D.value=[],i("error",{message:fe,context:{path:T}});return}B.value=fe,N=typeof I=="string"?I:void 0,i("error",{message:fe,context:{path:T}}),D.value.length>0&&dt(fe)}finally{b.value=!1}}function Ya(T){const I=T.indexOf("://");return I===-1?T:T.slice(I+3)}function tT(){w.value="",P4(""),Nt("")}async function Oo(){b.value=!0,Q.value=E.value||"",K.value=!0,Zn.value="",H.clear();try{const{entries:T}=await o.listTrash();D.value=T.map(I=>({type:"file",id:I.id,path:I.storage_name?`${I.storage_name}://${I.path}`:I.path,basename:I.name,extension:I.name.includes(".")&&I.name.split(".").pop()||"",storage:I.storage_name||"",visibility:"private",file_size:I.size,mime_type:I.mime||"",extra_metadata:{deleted_at:I.deleted_at,ttl_days:I.ttl_days??null}})),M.value=".trash",y.value=".trash"}catch(T){const I=T instanceof Error?T.message:String(T);i("error",{message:I,context:{op:"trash-list"}}),dt(I)}finally{b.value=!1}}function Zt(T){if(T&&T.includes("://"))return T;if(tn.value){const I=Cd(T??"");return I||(E.value?`${E.value}://`:"")}return T?`${E.value}://${T.replace(/^\/+/,"")}`:`${E.value}://`}function I4(T){const I=T.indexOf("://"),oe=(I===-1?T:T.slice(I+3)).replace(/\/+$/,""),fe=oe.lastIndexOf("/");return fe===-1?oe:oe.slice(fe+1)}function Ds(T){const I=T.indexOf("://"),oe=I===-1?"":T.slice(0,I+3),fe=(I===-1?T:T.slice(I+3)).replace(/\/+$/,""),_e=fe.lastIndexOf("/");return _e===-1?oe:oe+fe.slice(0,_e)}function Bd(T,I){const oe=fe=>{const _e=fe.indexOf("://"),ue=_e===-1?"":fe.slice(0,_e+3),mt=(_e===-1?fe:fe.slice(_e+3)).replace(/\/+$/,"");return ue+mt};return oe(T)===oe(I)}function Po(T,I){return T?T.endsWith("://")||T.endsWith("/")?T+I:`${T}/${I}`:I}function z4(T,I,oe,fe){if(!fe||!oe)return;const _e=I.map(ue=>Po(oe,I4(ue)));_e.length!==0&&k.set(T,{message:l("toast.moved"),fn:async()=>{const{op:ue}=await o.moveAsync(_e,fe,oe);v.register(ue)}})}r.watch(()=>Y.value,()=>void Nt());function Ts(){return a.config.pathPersist??"hash"}function F4(){const T=Ts();return T==="hash"||T==="hash+localStorage"}function nT(T){try{return decodeURIComponent(T)}catch{return T}}function L4(){try{return localStorage.getItem(s0)||""}catch{return""}}function O4(){const T=window.location.hash||"";return T.startsWith("#")?nT(T.slice(1)).replace(/^\/+|\/+$/g,""):""}function rT(){if(typeof window>"u")return"";const T=Ts();if(T==="none")return"";if(T==="localStorage")return L4();const I=O4();return I||T==="hash"?I:_?"":L4()}function P4(T){if(typeof window>"u")return;const I=Ts();if(I==="none")return;if(I==="localStorage"||I==="hash+localStorage"){try{T?localStorage.setItem(s0,T):localStorage.removeItem(s0)}catch{}if(I==="localStorage")return}const oe=T?T.split("/").map(encodeURIComponent).join("/"):"",fe=oe?`#${oe}`:"";(window.location.hash||"")!==fe&&history.replaceState(null,"",fe||window.location.pathname+window.location.search)}function R4(){if(!F4())return;const T=O4();T&&T!==y.value&&Nt(T)}r.watch(y,T=>{P4(T),i("navigate",{path:T}),c.subscribe(h(T))}),t({reload:()=>Nt()}),r.onMounted(async()=>{var I;ji();const T=rT();await Nt(T||void 0),await r.nextTick(),(I=it.value)==null||I.focus(),we(),F4()&&window.addEventListener("hashchange",R4),o.endpoints.opsList&&v.startPolling(),o.endpoints.capabilities&&o.capabilities().then(oe=>{he.value=oe}).catch(()=>{})});const Dd=r.ref(!1),As=r.ref(!1);function aT(T){return o.globalSearch(T,{limit:8,scope:"all"})}async function iT(T){const I=String(T.path??"").replace(/^\/+|\/+$/g,"");if(!I)return;const oe=T.type==="dir",fe=I.lastIndexOf("/"),_e=oe?I:fe===-1?"":I.slice(0,fe);let ue=_e;if(tn.value){const Mt=a.config.storages??[],vn=typeof T.storage=="string"&&T.storage||typeof T.storage_name=="string"&&T.storage_name||(Mt.length===1?Mt[0].name:"")||E.value;if(!vn)return;ue=_e?`${vn}/${_e}`:vn}if(await Nt(ue),oe)return;const mt=String(T.name??I.slice(fe+1)),Ct=D.value.find(Mt=>Mt.type==="file"&&Mt.basename===mt);Ct&&(H.click(Ct.path),Or(Ct))}nu(it,{onDelete:()=>{var T;if(sr.value){const I=((T=nn.value)==null?void 0:T.selectedNodes())??[];I.length&&(Ri.value=I,ht.value=!0,et.value=!0)}else H.isEmpty.value||(ht.value=!1,et.value=!0)},onRename:()=>{var T;if(sr.value){const I=((T=nn.value)==null?void 0:T.selectedNodes())??[];I.length===1&&(pt.value=I[0],ht.value=!0,wt.value=!0)}else H.nodes.value.length===1&&(pt.value=H.nodes.value[0],ht.value=!1,wt.value=!0)},onSelectAll:()=>{var T;return sr.value?(T=nn.value)==null?void 0:T.selectAll():H.selectAll()},onOpen:()=>{var I;if(sr.value)return(I=nn.value)==null?void 0:I.openSelected();const T=H.nodes.value[0];T&&Or(T)},onClose:()=>{var T;We.value=!1,wt.value=!1,et.value=!1,ft.value=!1,ct.value=!1,(T=Ve.value)==null||T.hide(),Yn(),St.value&&Z()},onFocusSearch:()=>{var T;return(T=Mn.value)==null?void 0:T.focusSearch()},onCut:()=>sr.value?ng():_T(),onCopy:()=>sr.value?rg():kT(),onPaste:()=>sr.value?void ag():void $4(),onGoUp:()=>{var T;return sr.value?(T=nn.value)==null?void 0:T.goUp():U()},onPathJump:()=>{Dd.value=!0},onShowHelp:()=>{As.value=!0},onQuickLook:()=>jT(),onToggleHidden:()=>N4(),onToggleInspector:()=>st(),onTabNew:()=>$d(),onTabClose:()=>Y4(Vd.value),onTabNext:()=>rA(),onTabPrev:()=>aA(),hasSelection:()=>!H.isEmpty.value});const oT=new Set(["docx","xlsx","pptx","doc","xls","ppt","odt","ods","odp"]);function Or(T){if(T.basename===".trash"){Oo();return}if(T.type==="dir"){const oe=tn.value?Pi(T.path):Ya(T.path);Nt(oe);return}if(Pr.value&&T.type==="file"){Kd(T);return}if(Hd.value&&T.type==="file")return;const I=(T.extension||"").toLowerCase();se.value=te(T.perm??x.value)?sT(I):"view",L.value=T,ct.value=!0,i("file-opened",{path:T.path,basename:T.basename}),Xe(T)}const lT=new Set([...oT,"drawio","dio","pdf","epub","ipynb","tiff","tif","psd","mmd","mermaid","glb","gltf","obj","stl","fbx","3ds","zip","rar","7z","tar","gz","tgz","jpg","jpeg","png","webp","gif","bmp","avif","svg","heic","mp4","webm","mov","mkv","m4v","ogv","mp3","wav","ogg","flac","m4a","aac","opus"]);function sT(T){return lT.has(T)?"view":"edit"}async function cT(T){const I=T??H.nodes.value;if(I.length!==0)try{if(K.value){const _e=I.map(mt=>mt.id).filter(mt=>typeof mt=="number"),{restored:ue}=await o.restoreIds(_e);dt(`${ue} öğe geri getirildi`),H.clear(),await Oo();return}if(!o.endpoints.restore)return;const oe=I.map(_e=>_e.path),{restored:fe}=await o.restore(oe);dt(`${fe} öğe geri getirildi`),H.clear(),await Nt()}catch(oe){i("error",{message:oe.message,context:{op:"restore"}})}}function V4(T){if(Pr.value&&T.type==="file"){Kd(T);return}se.value="view",L.value=T,ct.value=!0,Xe(T)}function dT(T){if(T.type==="dir"){const ue=tn.value?Pi(T.path):Ya(T.path);Nt(ue);return}if(cr.value){Pr.value&&Kd(T);return}if(!te(T.perm??x.value)){V4(T);return}const I=(T.extension||"").toLowerCase(),oe=a.config.openPageBase;if(!oe){Or(T);return}const fe=oe.includes("?")?"&":"?",_e=`${oe}${fe}path=${encodeURIComponent(T.path)}&type=${encodeURIComponent(I)}&mode=edit`;window.open(_e,"_blank","noopener"),i("file-opened",{path:T.path,basename:T.basename}),Xe(T)}const Fn=r.ref("selection"),Td=r.ref(""),Ri=r.ref([]),uT=r.ref(""),fT=r.computed(()=>{const T=H.nodes.value;return T.length===0?"none":T.length===1?T[0].type==="dir"?"single-dir":"single-file":"multi"});async function hT(T){const I=H.nodes.value;if(T==="open"){I[0]&&Or(I[0]);return}await Nd(T,I)}async function Ad(T,I){var oe;Fn.value="selection",H.has(T.path)||(H.click(T.path),await r.nextTick()),(oe=Ve.value)==null||oe.show({clientX:I.clientX,clientY:I.clientY},H.nodes.value)}function pT(T){var I;T.preventDefault(),Fn.value="selection",H.clear(),(I=Ve.value)==null||I.show({clientX:T.clientX,clientY:T.clientY},[])}function mT(T){var I;Fn.value="breadcrumb",Td.value=T.adapterPath,uT.value=T.label,(I=Ve.value)==null||I.show({clientX:T.x,clientY:T.y},[])}function gT(T,I){var fe,_e;ia.value="split";const oe=((fe=nn.value)==null?void 0:fe.selectedNodes())??[];Ri.value=T?oe.length>0?oe:[T]:[],Fn.value="pane",(_e=Ve.value)==null||_e.show({clientX:I.clientX,clientY:I.clientY},Ri.value)}const vT=r.computed(()=>{if(Fn.value==="breadcrumb")return[{key:"open",label:l("ctx.open"),icon:"↗"},{key:"copy-path",label:l("breadcrumb.copy_path"),icon:"📋"}];if(Fn.value==="pane"){const ue=Ri.value;return ue.length===0?[{key:"new-folder",label:l("toolbar.new_folder"),icon:"📁"},{key:"paste",label:l("ctx.paste"),icon:"📋",disabled:!de.value.mode}]:Md(ue)}const T=H.nodes.value,I=T.length>0,oe=T.length===1;if(re.value)return I?[{key:"restore",label:l("ctx.restore"),icon:"↩"},{divider:!0,key:"sep1",label:""},{key:"delete",label:l("ctx.delete_perm"),icon:"🗑",danger:!0}]:[];const fe=(y.value??"").replace(/^\/+|\/+$/g,"");if(tn.value&&fe==="")return I?oe?[{key:"open",label:l("ctx.open"),icon:"↗"},{key:"open-tab",label:l("ctx.open_new_tab"),icon:"⧉"}]:[]:[];if(!I){const ue=[{key:"toggle-hidden",label:Xi.value?l("ctx.hide_hidden"):l("ctx.show_hidden"),icon:Xi.value?"🙈":"👁"}];return te(x.value)?[{key:"new-folder",label:l("toolbar.new_folder"),icon:"📁"},{key:"paste",label:l("ctx.paste"),icon:"📋",disabled:!de.value.mode},...ue]:ue}return Md(T)});function Md(T){var cg,dg,ug;const I=T.length>0,oe=T.length===1,fe=oe&&((cg=T[0])==null?void 0:cg.type)==="file",_e=s.value==="en"?"Tags…":"Etiketler…",ue=oe&&typeof((dg=T[0])==null?void 0:dg.id)=="number",mt=s.value==="en"?"Copy node id":"Node id'yi kopyala",Ct=J(T),Mt=te(Ct),vn=s.value==="en"?"Share / Permissions":"Paylaş / İzinler";return[{key:"open",label:l("ctx.open"),icon:"↗",hidden:!oe},{key:"open-tab",label:l("ctx.open_new_tab"),icon:"⧉",hidden:!oe||((ug=T[0])==null?void 0:ug.type)!=="dir"},{key:"preview",label:l("ctx.preview"),icon:"👁",hidden:!oe,disabled:!fe},{key:"download",label:l("ctx.download"),icon:"⬇",hidden:!oe,disabled:!fe},{key:"convert",label:l("ctx.convert"),icon:"🔄",hidden:!oe||!ce.value||!Mt||cr.value,disabled:!fe},{key:"access",label:vn,icon:"🔗",hidden:!oe||!Mt||cr.value},{key:"details",label:l("ctx.details"),icon:"ℹ",hidden:!I},{key:"copy-id",label:mt,icon:"🆔",hidden:!ue,disabled:!ue},{divider:!0,key:"sep1",label:"",hidden:!Mt},{key:"rename",label:l("ctx.rename"),icon:"✎",hidden:!oe||!Mt,disabled:!oe},{key:"cut",label:l("ctx.cut"),icon:"✂",hidden:!I||!Mt,disabled:!I},{key:"copy",label:l("ctx.copy"),icon:"❐",hidden:!I,disabled:!I},{key:"paste",label:l("ctx.paste"),icon:"📋",hidden:!Mt,disabled:!de.value.mode},{divider:!0,key:"sep-meta",label:"",hidden:!ue},{key:"tags",label:_e,icon:"🏷",hidden:!ue,disabled:!ue},{divider:!0,key:"sep2",label:"",hidden:!Mt},{key:"delete",label:l("ctx.delete"),icon:"🗑",danger:!0,hidden:!I||!Mt,disabled:!I}]}const yT=r.computed(()=>{const T=H.nodes.value;if(re.value)return T.length===0?[]:[{key:"restore",label:l("ctx.restore"),icon:"↩"},{key:"delete",label:l("ctx.delete_perm"),icon:"🗑",danger:!0}];const I=(y.value??"").replace(/^\/+|\/+$/g,"");return tn.value&&I===""?T.length===1?[{key:"open",label:l("ctx.open"),icon:"↗"}]:[]:T.length===0?[]:Md(T)});async function bT(T,I){if(Fn.value==="breadcrumb"){T.key==="open"?Nt(Ya(Td.value)):T.key==="copy-path"&&await j4(Td.value);return}if(Fn.value==="pane"){await Nd(T.key,Ri.value);return}await Nd(T.key,I)}async function Nd(T,I){var oe;switch(T){case"open":I[0]&&dT(I[0]);break;case"preview":I[0]&&V4(I[0]);break;case"download":I[0]&&xT(I[0]);break;case"convert":I[0]&&DT(I[0]);break;case"share":I[0]&&BT(I[0]);break;case"access":I[0]&&(ye.value=I[0],ae.value=!0);break;case"details":C();break;case"copy-id":if(I[0]&&typeof I[0].id=="number"){const fe=I[0].id;(oe=navigator.clipboard)==null||oe.writeText(String(fe)).then(()=>dt(s.value==="en"?`Node id ${fe} copied`:`Node id ${fe} kopyalandı`),()=>dt(`#${fe}`))}break;case"tags":I[0]&&tt(I[0]);break;case"rename":I[0]&&(pt.value=I[0],ht.value=Fn.value==="pane",wt.value=!0);break;case"cut":Fn.value==="pane"?ng():(de.value={mode:"cut",items:I,sourcePath:y.value},dt("Kes → Yapıştır hazır"));break;case"copy":Fn.value==="pane"?rg():(de.value={mode:"copy",items:I,sourcePath:y.value},dt("Kopyala → Yapıştır hazır"));break;case"paste":Fn.value==="pane"||sr.value?await ag():await $4();break;case"delete":ht.value=Fn.value==="pane",et.value=!0;break;case"restore":I.length>0&&await cT(I);break;case"toggle-hidden":N4();break;case"new-folder":ht.value=Fn.value==="pane",We.value=!0;break;case"duplicate":I[0]&&await wT(I[0]);break;case"open-tab":I[0]&&X4(I[0]);break}}function _T(){H.isEmpty.value||(de.value={mode:"cut",items:H.nodes.value,sourcePath:y.value},dt("Kesildi"))}function kT(){H.isEmpty.value||(de.value={mode:"copy",items:H.nodes.value,sourcePath:y.value},dt("Kopyalandı"))}async function $4(){const T=de.value;if(!(!T.mode||T.items.length===0))try{const I=T.items.map(_e=>_e.path),oe=T.sourcePath||"";if(T.mode==="cut"&&oe===y.value){dt("Aynı klasöre kesilemez");return}if(T.mode==="cut"){const _e=Zt(y.value),ue=Zt(oe)||void 0,{op:mt}=await o.moveAsync(I,_e,ue);z4(mt.id,I,_e,ue),v.register(mt),dt("Taşıma kuyruğa alındı")}else{const{op:_e}=await o.copy(I,Zt(y.value));v.register(_e),dt("Kopyalama kuyruğa alındı")}de.value={mode:null,items:[],sourcePath:null}}catch(I){i("error",{message:I.message,context:{op:"paste"}})}}async function wT(T){try{const{op:I}=await o.copy([T.path],Zt(y.value));v.register(I)}catch(I){i("error",{message:I.message,context:{op:"duplicate"}})}}function xT(T){if(Pr.value){vA(T);return}const I=o.downloadUrl(T.path);window.open(I,"_blank")}async function ST(T){var oe,fe;const I=ht.value;try{const _e=Zt(I?((oe=nn.value)==null?void 0:oe.getPath())??"":y.value);await o.newFolder(_e,T),We.value=!1,I?await((fe=nn.value)==null?void 0:fe.reload()):await Nt()}catch(_e){i("error",{message:_e.message,context:{op:"newfolder"}})}}async function ET(T){var fe,_e;const I=pt.value;if(!I)return;const oe=ht.value;try{const ue=Zt(oe?((fe=nn.value)==null?void 0:fe.getPath())??"":y.value),mt=I.path,Ct=I.basename;if(await o.rename(ue,mt,T),wt.value=!1,pt.value=null,oe?await((_e=nn.value)==null?void 0:_e.reload()):await Nt(),T&&T!==Ct){const Mt=Po(Ds(mt),T);en(l("toast.renamed"),async()=>{await o.rename(ue,Mt,Ct)})}}catch(ue){i("error",{message:ue.message,context:{op:"rename"}})}}async function CT(){var mt,Ct,Mt;if(K.value){et.value=!1,dt("Çöpteki öğeler saklama süresi sonunda otomatik silinir. Kalıcı silme yönetici panelinden yapılır.");return}const T=ht.value,I=T?Ri.value:H.nodes.value,oe=Zt(T?((mt=nn.value)==null?void 0:mt.getPath())??"":y.value),fe=I.map(vn=>vn.path);if(fe.length===0){et.value=!1;return}const _e=I.map(vn=>vn.id).filter(vn=>typeof vn=="number"),ue=o.endpoints.trashRestore&&_e.length===I.length?async()=>{const{restored:vn}=await o.restoreIds(_e);if(vn===0)throw new Error("restore failed")}:null;try{if(o.endpoints.deleteAsync){const{op:vn}=await o.deleteAsync(fe,oe);ue&&k.set(vn.id,{message:l("toast.trashed"),fn:ue}),v.register(vn),dt("Silme kuyruğa alındı")}else await o.deleteItems(oe,fe),T?await((Ct=nn.value)==null?void 0:Ct.reload()):await Nt(),ue&&en(l("toast.trashed"),ue);et.value=!1,T?(Mt=nn.value)==null||Mt.reload():H.clear()}catch(vn){i("error",{message:vn.message,context:{op:"delete"}})}}function BT(T){Pt.value=T,Me.value=null,ft.value=!0}function DT(T){Ee.value=T,be.value=!0}function TT(T){dt(s.value==="en"?`Converted → ${T}`:`Dönüştürüldü → ${T}`),Nt()}async function AT(T){const I=Pt.value;if(I)try{const{share:oe}=await o.createShare({path:I.path,password:T.password,expires_at:T.expires_at,max_downloads:T.max_downloads});Me.value=oe,i("share-created",{path:I.path,url:oe.url,pin:oe.password_pin??null})}catch(oe){i("error",{message:oe.message,context:{op:"share"}})}}function MT(){ft.value=!1,Pt.value=null,Me.value=null}function Ms(){var T;if(!Oe.value){dt(s.value==="en"?"Read-only here":"Burada yazma yetkiniz yok");return}(T=Ae.value)==null||T.click()}function NT(T){const I=T.target,oe=I.files?Array.from(I.files):[];I.value="",U4(oe)}async function U4(T){if(T.length===0)return;if(Hd.value){dt(l("e2e.upload.locked"));return}if(Pr.value&&(T=await yA(T),T.length===0))return;const I=!!(o.endpoints.uploadInit&&o.endpoints.uploadFinalize);for(const oe of T)I&&oe.size>=10*1024*1024&&await zT(oe)||await IT(oe);await Nt()}async function IT(T){const I=crypto.randomUUID(),oe=Zt(y.value);pe.value=[...pe.value,{id:I,file:T,path:oe,totalBytes:T.size,uploadedBytes:0,percent:0,status:"uploading",cancel(){}}];const fe=_e=>{const ue=pe.value.findIndex(Ct=>Ct.id===I);if(ue===-1)return;const mt=[...pe.value];mt[ue]={...mt[ue],..._e},pe.value=mt};try{await o.uploadMultipart(oe,[T],_e=>{fe({percent:_e,uploadedBytes:Math.round(_e/100*T.size)}),i("upload-progress",{uploadId:I,percent:_e,done:_e>=100})}),fe({percent:100,uploadedBytes:T.size,status:"done"}),i("upload-progress",{uploadId:I,percent:100,done:!0})}catch(_e){const ue=_e.message;fe({status:"error",error:ue}),dt(l("upload.failed",{name:T.name})),i("error",{message:ue,context:{op:"upload",file:T.name}})}}async function zT(T){const I=crypto.randomUUID();let oe=!1;try{return await p.uploadFile({path:Zt(y.value),file:T,onProgress:fe=>{if(oe){const _e=pe.value.findIndex(ue=>ue.id===I);if(_e!==-1){const ue=[...pe.value];ue[_e]={...fe,id:I},pe.value=ue}}else{if(fe.status!=="uploading"&&fe.uploadedBytes<=0)return;pe.value=[...pe.value,{...fe,id:I}],oe=!0}i("upload-progress",{uploadId:fe.uploadId??I,percent:fe.percent,done:fe.status==="done"})}}),!0}catch{return oe&&(pe.value=pe.value.filter(fe=>fe.id!==I)),!1}}const Ta=r.ref(0),Aa=r.ref(!1);function Id(T){const I=T.dataTransfer;if(!I||I.types&&I.types.includes(sa))return!1;if(I.items&&I.items.length>0){let oe=!1;for(const fe of Array.from(I.items))if(fe.kind==="file"){oe=!0;break}return oe}return I.types?I.types.includes("Files"):!1}function FT(T){Id(T)&&(T.preventDefault(),Ta.value++,Aa.value=!0)}function LT(){Ta.value=Math.max(0,Ta.value-1),Ta.value===0&&(Aa.value=!1)}function OT(T){var I;if((I=T.dataTransfer)!=null&&I.types.includes(sa)){T.preventDefault();return}Id(T)&&T.preventDefault()}function PT(T){var oe,fe,_e;if((oe=T.dataTransfer)!=null&&oe.types.includes(sa)){const ue=T.dataTransfer.getData(c0)||"",mt=Zt(y.value);if(ue&&mt&&ue!==mt&&!K.value&&Oe.value){T.preventDefault(),Ta.value=0,Aa.value=!1;try{const Ct=JSON.parse(T.dataTransfer.getData(sa));$o(Ct.map(Mt=>Mt.path),mt,ue)}catch{}return}}if((fe=T.dataTransfer)!=null&&fe.types.includes(sa)){Ta.value=0,Aa.value=!1;return}if(!Id(T)){Ta.value=0,Aa.value=!1;return}if(T.preventDefault(),Ta.value=0,Aa.value=!1,!Oe.value){dt(s.value==="en"?"Read-only here":"Burada yazma yetkiniz yok");return}const I=(_e=T.dataTransfer)!=null&&_e.files?Array.from(T.dataTransfer.files):[];I.length!==0&&U4(I)}function H4(T){var I;(I=T.dataTransfer)!=null&&I.types.includes("Files")&&T.preventDefault()}function G4(T){const I=it.value,oe=T.target;I&&oe&&!I.contains(oe)&&T.preventDefault()}r.onMounted(()=>{window.addEventListener("dragover",H4),window.addEventListener("drop",G4)}),r.onBeforeUnmount(()=>{window.removeEventListener("dragover",H4),window.removeEventListener("drop",G4),window.removeEventListener("hashchange",R4)});const Ns=r.computed(()=>de.value.mode!=="cut"?new Set:new Set(de.value.items.map(T=>T.path)));function zd(T,I){if(!I.dataTransfer)return;if(T.basename===".trash"){I.preventDefault();return}H.has(T.path)||H.click(T.path);const oe=H.nodes.value.filter(fe=>!Ns.value.has(fe.path)).filter(fe=>fe.basename!==".trash").map(fe=>({path:fe.path,basename:fe.basename,type:fe.type}));I.dataTransfer.setData(sa,JSON.stringify(oe)),I.dataTransfer.setData(c0,Zt(y.value)),I.dataTransfer.setData("text/plain",oe.map(fe=>fe.path).join(`
|
|
5
|
+
`)),I.dataTransfer.effectAllowed="move"}async function RT(T,I,oe,fe){try{const _e=fe??Zt(y.value);if(o.endpoints.moveAsync){const{op:ue}=await o.moveAsync(T,I,_e);z4(ue.id,T,I,_e),v.register(ue),dt("Taşıma kuyruğa alındı")}else{await o.move(_e,T,I),await Nt();const ue=T.map(mt=>Po(I,I4(mt)));en(l("toast.moved"),async()=>{await o.move(I,ue,_e)})}H.clear()}catch(_e){i("error",{message:_e.message,context:{op:oe,targetDir:I}})}}async function Fd(T,I){var mt;if(T.type!=="dir")return;const oe=(mt=I.dataTransfer)==null?void 0:mt.getData(sa);if(!oe)return;let fe=[];try{fe=JSON.parse(oe)}catch{return}if(fe.length===0)return;const _e=T.path,ue=fe.map(Ct=>Ct.path).filter(Ct=>Ct&&Ct!==_e&&!_e.startsWith(Ct+"/")&&!Bd(Ds(Ct),_e));ue.length!==0&&await $o(ue,_e,og(I))}async function VT(T,I){var mt;const oe=(mt=I.dataTransfer)==null?void 0:mt.getData(sa);if(!oe)return;let fe=[];try{fe=JSON.parse(oe)}catch{return}if(fe.length===0)return;const _e=T,ue=fe.map(Ct=>Ct.path).filter(Ct=>Ct&&Ct!==_e&&!_e.startsWith(Ct+"/")&&!Bd(Ds(Ct),_e));ue.length!==0&&await $o(ue,_e,og(I))}function $T(T){T.cancel()}function UT(T){pe.value=pe.value.filter(I=>I.id!==T.id)}function HT(T){if(tn.value&&!T){Nt("");return}if(tn.value){Nt(Pi(T));return}Nt(Ya(T))}async function j4(T){try{await navigator.clipboard.writeText(T),dt(l("breadcrumb.copy_path"))}catch{}}function Xa(T={}){return o.authHeadersSync({...T})}const Is=r.ref(!1),{themeId:zs,setTheme:GT}=xu(),Xn=typeof window<"u"&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):void 0,q4=r.ref(!!(Xn!=null&&Xn.matches));function K4(T){q4.value=T.matches}r.onMounted(()=>{var T;return(T=Xn==null?void 0:Xn.addEventListener)==null?void 0:T.call(Xn,"change",K4)}),r.onBeforeUnmount(()=>{var T;return(T=Xn==null?void 0:Xn.removeEventListener)==null?void 0:T.call(Xn,"change",K4)});const Ld=r.computed(()=>a.config.theme==="dark"||a.config.theme!=="light"&&q4.value);r.watch([zs,Ld,it],()=>{Du(zs.value),it.value&&Su(it.value,zs.value,Ld.value)},{immediate:!0});const Ro=r.ref(!1),Ma=r.ref(!1),ra=r.ref(null);function jT(){if(Ma.value){Ma.value=!1;return}const T=H.nodes.value,I=T.length===1?T[0]:null;if(!(!I||I.type!=="file"||I.basename===".trash")){if(cr.value){if(!Pr.value)return;(async()=>{try{await qd(I)}catch{dt(l("e2e.decrypt_failed"));return}ra.value=I,Ma.value=!0,Xe(I)})();return}ra.value=I,Ma.value=!0,Xe(I)}}function qT(T){const I=D.value.filter(ue=>ue.type==="file");if(I.length===0)return;const oe=ra.value;let fe=oe?I.findIndex(ue=>ue.path===oe.path):-1;fe=fe===-1?T>0?0:I.length-1:(fe+T+I.length)%I.length;const _e=I[fe];!_e||_e.path===(oe==null?void 0:oe.path)||H.click(_e.path)}function KT(){const T=ra.value;Ma.value=!1,T&&Or(T)}r.watch(()=>H.nodes.value,T=>{var oe,fe;if(!Ma.value)return;const I=T.length===1&&T[0].type==="file"?T[0]:null;if(I&&I.path!==((oe=ra.value)==null?void 0:oe.path)&&Pr.value){(async()=>{try{await qd(I)}catch{}ra.value=I,Xe(I)})();return}I&&I.path!==((fe=ra.value)==null?void 0:fe.path)&&(ra.value=I,Xe(I))});const Od=Fu();function WT(T){pe.value=pe.value.filter(ue=>ue.id!==T.id);const I=T.file,oe=T.path||Zt(y.value),fe=crypto.randomUUID();pe.value=[...pe.value,{id:fe,file:I,path:oe,totalBytes:I.size,uploadedBytes:0,percent:0,status:"uploading",cancel(){}}];const _e=ue=>{const mt=pe.value.findIndex(Mt=>Mt.id===fe);if(mt===-1)return;const Ct=[...pe.value];Ct[mt]={...Ct[mt],...ue},pe.value=Ct};o.uploadMultipart(oe,[I],ue=>{_e({percent:ue,uploadedBytes:Math.round(ue/100*I.size)}),i("upload-progress",{uploadId:fe,percent:ue,done:ue>=100})}).then(()=>{_e({percent:100,uploadedBytes:I.size,status:"done"}),i("upload-progress",{uploadId:fe,percent:100,done:!0}),Nt()}).catch(ue=>{_e({status:"error",error:ue.message}),dt(l("upload.failed",{name:I.name})),i("error",{message:ue.message,context:{op:"upload-retry",file:I.name}})})}const Fs=r.ref(!1);let Pd;function YT(){try{return localStorage.getItem(lf)==="1"}catch{return!0}}function Rd(){Fs.value=!0}function XT(){var T;Fs.value=!1;try{localStorage.setItem(lf,"1")}catch{}(T=it.value)==null||T.focus()}function W4(){Rd()}r.onMounted(()=>{var T;(T=it.value)==null||T.addEventListener("fe:tour-restart",W4),YT()||(Pd=setTimeout(()=>{Fs.value||Rd()},900))}),r.onBeforeUnmount(()=>{var T;Pd&&clearTimeout(Pd),(T=it.value)==null||T.removeEventListener("fe:tour-restart",W4)});function ZT(){return Ts()==="none"?null:m?`${sf}:${m}`:sf}const rn=nf({storageKey:ZT()}),JT=rn.restore(),Vd=rn.activeId,QT=r.computed(()=>rn.hasMultiple.value),aa=r.computed(()=>{var T;return((T=rn.activeTab.value)==null?void 0:T.split)??null});function eA(T){const I=(T||"").replace(/^\/+|\/+$/g,"");return I===".trash"?l("node.trash"):I?I.split("/").pop()||I:tn.value?l("breadcrumb.root"):E.value||l("breadcrumb.root")}const tA=r.computed(()=>rn.tabs.value.map(T=>({id:T.id,label:eA(T.path),split:!!T.split})));r.watch(y,T=>rn.syncActive({path:T})),r.watch(F,T=>rn.syncActive({viewMode:T})),r.onMounted(()=>{JT||rn.seed(y.value??"",F.value)});function Ls(T){if(T.viewMode&&T.viewMode!==F.value&&(F.value=T.viewMode),T.path===".trash"){Oo();return}Nt(T.path)}function nA(T){const I=rn.activate(T);I&&Ls(I)}function $d(){rn.openTab(y.value??"",{viewMode:F.value,background:!1})}function Y4(T){const I=rn.closeTab(T);I&&Ls(I)}function rA(){const T=rn.step(1);T&&Ls(T)}function aA(){const T=rn.step(-1);T&&Ls(T)}function X4(T){if(T.type!=="dir"||T.basename===".trash")return;const I=tn.value?Pi(T.path):Ya(T.path);rn.openTab(I,{viewMode:F.value,background:!0})}function Z4(T){if(T.button!==1)return;const I=T.target,oe=I&&typeof I.closest=="function"?I.closest("[data-fe-path]"):null,fe=oe==null?void 0:oe.getAttribute("data-fe-path");if(!fe)return;const _e=D.value.find(ue=>ue.path===fe);!_e||_e.type!=="dir"||_e.basename===".trash"||(T.preventDefault(),X4(_e))}function J4(T){if(T.button!==1)return;const I=T.target;I&&typeof I.closest=="function"&&I.closest("[data-fe-path]")&&T.preventDefault()}r.onMounted(()=>{var T,I;(T=it.value)==null||T.addEventListener("auxclick",Z4),(I=it.value)==null||I.addEventListener("mousedown",J4)}),r.onBeforeUnmount(()=>{var T,I;(T=it.value)==null||T.removeEventListener("auxclick",Z4),(I=it.value)==null||I.removeEventListener("mousedown",J4)});const nn=r.ref(null),Vo=r.computed(()=>!!aa.value&&!St.value);function Q4(){if(aa.value){rn.setSplit(null),ia.value="main";return}St.value||rn.setSplit({path:y.value??"",viewMode:F.value})}function iA(){rn.setSplit(null),ia.value="main"}function oA(T){rn.setSplit({...aa.value??{},path:T})}function lA(){ia.value="main",Oo()}const eg=r.computed(()=>{var T;return((T=aa.value)==null?void 0:T.viewMode)??F.value});function sA(T){aa.value&&rn.setSplit({...aa.value,viewMode:T})}const Ud=r.computed(()=>sr.value?eg.value:F.value);function tg(T){sr.value?sA(T):F.value=T}const ia=r.ref("main");function cA(){ia.value="main"}r.watch(Vo,T=>{T||(ia.value="main")});const sr=r.computed(()=>ia.value==="split"&&Vo.value),dA=r.computed(()=>Vo.value&&ia.value==="main");function uA(T){return tn.value?Pi(T):Ya(T)}function fA(T){const I=String(T??"").replace(/^\/+|\/+$/g,"");return g&&(!I||!(I===g||I.startsWith(g+"/")))?g:I}function ng(){var I,oe;const T=((I=nn.value)==null?void 0:I.selectedNodes())??[];T.length!==0&&(de.value={mode:"cut",items:T,sourcePath:((oe=nn.value)==null?void 0:oe.getPath())??""},dt("Kesildi"))}function rg(){var I,oe;const T=((I=nn.value)==null?void 0:I.selectedNodes())??[];T.length!==0&&(de.value={mode:"copy",items:T,sourcePath:((oe=nn.value)==null?void 0:oe.getPath())??""},dt("Kopyalandı"))}async function ag(){const T=de.value,I=nn.value;if(!T.mode||T.items.length===0||!I)return;const oe=Zt(I.getPath()??""),fe=Zt(T.sourcePath||"")||void 0;if(T.mode==="cut"&&fe===oe){dt("Aynı klasöre kesilemez");return}await $o(T.items.map(_e=>_e.path),oe,fe,T.mode==="copy"),de.value={mode:null,items:[],sourcePath:null}}function ig(T){const I=T.indexOf("://");return I===-1?"":T.slice(0,I)}function og(T){var oe;return((oe=T.dataTransfer)==null?void 0:oe.getData(c0))||void 0}async function $o(T,I,oe,fe=!1){var Ct;const _e=T.filter(Mt=>Mt&&Mt!==I&&!I.startsWith(Mt+"/")&&!Bd(Ds(Mt),I));if(_e.length===0||!I)return;const ue=ig(I),mt=_e.some(Mt=>ig(Mt)!==ue);if(mt||fe)try{const{op:Mt}=await o.copy(_e,I);v.register(Mt),dt(l(mt?"split.cross_copy":"split.copy_queued"))}catch(Mt){i("error",{message:Mt.message,context:{op:"transfer",targetWire:I}}),dt(mt?l("split.cross_failed"):Mt.message);return}else await RT(_e,I,"move-transfer",oe);(Ct=nn.value)==null||Ct.reload()}function hA(T){$o(T.sources,T.targetWire,T.originWire)}const Vi=Wu(),Uo=r.ref(0),Zn=r.ref(""),Ho=new Map,cr=r.computed(()=>!!Zn.value&&!K.value),Pr=r.computed(()=>(Uo.value,cr.value&&Vi.has(Zn.value))),Hd=r.computed(()=>(Uo.value,cr.value&&!Vi.has(Zn.value))),$i=r.ref(""),Ui=r.ref(!1),Hi=r.ref(""),Os=r.ref(!1),Gd=r.ref(!1);function jd(){return Vi.get(Zn.value)??null}function lg(){for(const T of Ho.values())URL.revokeObjectURL(T);Ho.clear()}r.onBeforeUnmount(lg);async function pA(){if(!(!$i.value||Ui.value||!Zn.value)){Ui.value=!0,Hi.value="";try{let T="";try{const{blob:fe,url:_e}=await o.fetchBlob(Po(Zn.value,Wi));URL.revokeObjectURL(_e),T=await fe.text()}catch{Hi.value=l("e2e.unlock.marker_missing");return}const I=ju(T);if(!I){Hi.value=l("e2e.unlock.marker_missing");return}const oe=await qu(I,$i.value);if(!oe){Hi.value=l("e2e.unlock.wrong");return}Vi.set(Zn.value,oe),Uo.value++,$i.value=""}finally{Ui.value=!1}}}function mA(){Zn.value&&(Vi.lock(Zn.value),Uo.value++,lg(),dt(l("e2e.locked_toast")))}const gA={txt:"text/plain",md:"text/markdown",log:"text/plain",csv:"text/csv",json:"application/json",xml:"application/xml",html:"text/html",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",bmp:"image/bmp",avif:"image/avif",svg:"image/svg+xml",pdf:"application/pdf",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",m4v:"video/mp4",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",flac:"audio/flac",m4a:"audio/mp4",aac:"audio/aac",opus:"audio/opus"};function sg(T){const I=(T.extension||"").toLowerCase();return gA[I]||"application/octet-stream"}async function qd(T){const I=Ho.get(T.path);if(I)return I;const oe=jd();if(!oe)return null;const fe=await o.fetchArrayBuffer(T.path);if(!el(fe))return null;const _e=await i0(oe,fe),ue=URL.createObjectURL(new Blob([_e],{type:sg(T)}));return Ho.set(T.path,ue),ue}function Ps(T){return Ho.get(T)??o.previewUrl(T)}async function Kd(T){try{await qd(T)}catch{dt(l("e2e.decrypt_failed"));return}se.value="view",L.value=T,ct.value=!0,i("file-opened",{path:T.path,basename:T.basename}),Xe(T)}async function vA(T){try{const I=await o.fetchArrayBuffer(T.path),oe=jd();let fe=I;if(el(I)){if(!oe)throw new Error("locked");fe=await i0(oe,I)}const _e=URL.createObjectURL(new Blob([fe],{type:sg(T)})),ue=document.createElement("a");ue.href=_e,ue.download=T.basename,document.body.appendChild(ue),ue.click(),ue.remove(),setTimeout(()=>URL.revokeObjectURL(_e),3e4)}catch{dt(l("e2e.download.failed"))}}async function yA(T){const I=jd();if(!I)return[];const oe=[];for(const fe of T)if(fe.name!==Wi){if(fe.size>Qs){dt(l("e2e.upload.too_big"));continue}try{const _e=await Ku(I,await fe.arrayBuffer());oe.push(new File([_e],fe.name,{type:"application/octet-stream"}))}catch(_e){i("error",{message:_e.message,context:{op:"e2e-encrypt",file:fe.name}})}}return oe}async function bA(T){if(cr.value){dt(l("e2e.create.nested"));return}Gd.value=!0;try{const I=Zt(y.value);await o.newFolder(I,T.name);const{marker:oe,kek:fe}=await Gu(T.password),_e=new File([JSON.stringify(oe)],Wi,{type:"application/json"}),ue=Po(I,T.name);await o.uploadMultipart(ue,[_e]),Vi.set(ue,fe),Uo.value++,Os.value=!1,dt(l("e2e.create.done")),await Nt()}catch(I){i("error",{message:I.message,context:{op:"e2e-create"}}),dt(l("e2e.create.failed"))}finally{Gd.value=!1}}return(T,I)=>{var oe,fe,_e;return r.openBlock(),r.createElementBlock("div",{ref_key:"rootEl",ref:it,class:r.normalizeClass(["fe",{"fe--theme-light":e.config.theme==="light","fe--theme-dark":e.config.theme==="dark","fe--is-dragover":Aa.value,"fe--density-compact":q.value==="compact","fe--narrow":St.value}]),tabindex:"-1",onDragenter:FT,onDragover:OT,onDragleave:LT,onDrop:PT,onContextmenu:pT},[QT.value?(r.openBlock(),r.createBlock(Ou,{key:0,tabs:tA.value,"active-id":r.unref(Vd),locale:s.value,"split-enabled":!St.value,"split-active":!!aa.value,onSelect:nA,onClose:Y4,onNew:$d,onReorder:I[0]||(I[0]=(ue,mt)=>r.unref(rn).move(ue,mt)),onToggleSplit:Q4},null,8,["tabs","active-id","locale","split-enabled","split-active"])):r.createCommentVNode("",!0),r.createVNode(Ov,{ref_key:"toolbarRef",ref:Mn,"view-mode":Ud.value,"search-query":Y.value,"trash-active":re.value,actions:yT.value,"selection-mode":fT.value,"paste-enabled":!!de.value.mode,"convert-enabled":!!ce.value,"can-go-up":V.value,"at-virtual-root":z.value,"can-write":Oe.value,locale:s.value,narrow:St.value,theme:e.config.theme||"auto","inspector-open":R.value,onToggleInspector:st,onOpenTheme:I[1]||(I[1]=ue=>Is.value=!0),"onUpdate:viewMode":I[2]||(I[2]=ue=>tg(ue)),"onUpdate:searchQuery":I[3]||(I[3]=ue=>Y.value=ue),"onUpdate:density":I[4]||(I[4]=ue=>q.value=ue),onOpenShortcutSettings:I[5]||(I[5]=ue=>Ro.value=!0),onNewFolder:I[6]||(I[6]=ue=>We.value=!0),onUpload:Ms,onRefresh:I[7]||(I[7]=()=>Nt()),onGoUp:U,onAction:hT,onOpenRecents:I[8]||(I[8]=ue=>xe.value=!0)},null,8,["view-mode","search-query","trash-active","actions","selection-mode","paste-enabled","convert-enabled","can-go-up","at-virtual-root","can-write","locale","narrow","theme","inspector-open","onToggleInspector"]),r.createElementVNode("div",{class:r.normalizeClass(["fe__main",{"fe__main--split":Vo.value}])},[r.createElementVNode("div",{class:r.normalizeClass(["fe__primary",{"fe-pane--focus":dA.value}])},[r.createVNode(ay,{dirname:M.value,adapter:E.value,"root-label":E.value,locale:s.value,"multi-storage-root":tn.value,"root-path":r.unref(m),onNavigate:HT,onCopyPath:j4,onCrumbContext:mT,onCrumbDrop:VT},null,8,["dirname","adapter","root-label","locale","multi-storage-root","root-path"]),r.unref(d).length||r.unref(u)?(r.openBlock(),r.createElementBlock("div",zk,[r.unref(d).length?(r.openBlock(),r.createBlock(Gg,{key:0,users:r.unref(d),locale:s.value},null,8,["users","locale"])):r.createCommentVNode("",!0),r.unref(u)?(r.openBlock(),r.createElementBlock("span",{key:1,class:"fe-connbadge",role:"status",title:r.unref(l)("conn.tooltip")},[I[50]||(I[50]=r.createElementVNode("span",{class:"fe-connbadge__dot","aria-hidden":"true"},null,-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(l)("conn.offline")),1)],8,Fk)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),Pr.value?(r.openBlock(),r.createElementBlock("div",Lk,[I[51]||(I[51]=r.createElementVNode("span",{class:"fe-e2e-strip__icon","aria-hidden":"true"},"🔒",-1)),r.createElementVNode("span",Ok,r.toDisplayString(r.unref(l)("e2e.strip.label")),1),r.createElementVNode("button",{type:"button",class:"fe-btn fe-e2e-strip__btn",onClick:mA},r.toDisplayString(r.unref(l)("e2e.strip.lock")),1)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:"fe__body",onPointerdownCapture:I[13]||(I[13]=ue=>cA()),onClick:I[14]||(I[14]=r.withModifiers(ue=>r.unref(H).clear(),["self"]))},[b.value&&D.value.length===0?(r.openBlock(),r.createElementBlock("div",Pk,[r.createElementVNode("span",Rk,r.toDisplayString(r.unref(l)("loading")),1),F.value!=="list"?(r.openBlock(),r.createElementBlock("div",Vk,[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(8,ue=>r.createElementVNode("div",{key:ue,class:"fe-skel-card"},[...I[52]||(I[52]=[r.createElementVNode("div",{class:"fe-skel fe-skel--thumb"},null,-1),r.createElementVNode("div",{class:"fe-skel fe-skel--label"},null,-1)])])),64))])):(r.openBlock(),r.createElementBlock("div",$k,[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(8,ue=>r.createElementVNode("div",{key:ue,class:"fe-skel-row"},[...I[53]||(I[53]=[r.createElementVNode("div",{class:"fe-skel fe-skel--icon"},null,-1),r.createElementVNode("div",{class:"fe-skel fe-skel--name"},null,-1),r.createElementVNode("div",{class:"fe-skel fe-skel--size"},null,-1),r.createElementVNode("div",{class:"fe-skel fe-skel--date"},null,-1)])])),64))]))])):w.value?(r.openBlock(),r.createElementBlock("div",Uk,[I[54]||(I[54]=r.createElementVNode("svg",{class:"fe-state__art",viewBox:"0 0 120 100",width:"110",height:"92",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[r.createElementVNode("path",{d:"M18 36v42a6 6 0 0 0 6 6h72a6 6 0 0 0 6-6V44a6 6 0 0 0-6-6H62l-9-10H24a6 6 0 0 0-6 6z"}),r.createElementVNode("path",{d:"M52 55c0-4.6 3.6-8 8-8s8 3.4 8 8c0 5.5-8 4.8-8 11"}),r.createElementVNode("circle",{cx:"60",cy:"73",r:"1.6",fill:"currentColor",stroke:"none"})],-1)),r.createElementVNode("p",Hk,r.toDisplayString(r.unref(l)("notFound.title")),1),r.createElementVNode("p",Gk,r.toDisplayString(w.value),1),r.createElementVNode("p",jk,r.toDisplayString(r.unref(l)("notFound.desc")),1),r.createElementVNode("div",qk,[r.createElementVNode("button",{type:"button",class:"fe-btn",onClick:tT},r.toDisplayString(r.unref(l)("notFound.goRoot")),1)])])):B.value&&D.value.length===0?(r.openBlock(),r.createElementBlock("div",Kk,[I[55]||(I[55]=r.createStaticVNode('<svg class="fe-state__art" viewBox="0 0 120 100" width="110" height="92" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="60" cy="50" r="28"></circle><path d="M60 36v18"></path><circle cx="60" cy="63" r="1.8" fill="currentColor" stroke="none"></circle><path d="M24 88h72" stroke-dasharray="3 5"></path></svg>',1)),r.createElementVNode("p",Wk,r.toDisplayString(r.unref(l)("error.title")),1),r.createElementVNode("p",Yk,r.toDisplayString(r.unref(l)("error.hint")),1),r.createElementVNode("div",Xk,[r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:G},r.toDisplayString(r.unref(l)("error.retry")),1)]),r.createElementVNode("details",Zk,[r.createElementVNode("summary",Jk,r.toDisplayString(r.unref(l)("error.details")),1),r.createElementVNode("pre",Qk,r.toDisplayString(B.value),1)])])):Hd.value?(r.openBlock(),r.createElementBlock("div",ew,[I[56]||(I[56]=r.createStaticVNode('<svg class="fe-state__art" viewBox="0 0 120 100" width="110" height="92" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="38" y="44" width="44" height="34" rx="6"></rect><path d="M46 44v-8a14 14 0 0 1 28 0v8"></path><circle cx="60" cy="59" r="3" fill="currentColor" stroke="none"></circle><path d="M60 62v7"></path></svg>',1)),r.createElementVNode("p",tw,r.toDisplayString(r.unref(l)("e2e.locked.title")),1),r.createElementVNode("p",nw,r.toDisplayString(r.unref(l)("e2e.locked.hint")),1),r.createElementVNode("form",{class:"fe-e2e-lock__form",onSubmit:r.withModifiers(pA,["prevent"])},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":I[9]||(I[9]=ue=>$i.value=ue),type:"password",class:"fe-input fe-e2e-lock__input",placeholder:r.unref(l)("e2e.locked.pw_placeholder"),autocomplete:"current-password",disabled:Ui.value},null,8,rw),[[r.vModelText,$i.value]]),r.createElementVNode("button",{type:"submit",class:"fe-btn fe-btn--primary",disabled:Ui.value||!$i.value},r.toDisplayString(Ui.value?r.unref(l)("e2e.locked.busy"):r.unref(l)("e2e.locked.unlock")),9,aw)],32),Hi.value?(r.openBlock(),r.createElementBlock("p",iw,r.toDisplayString(Hi.value),1)):r.createCommentVNode("",!0)])):!b.value&&D.value.length===0&&Y.value?(r.openBlock(),r.createElementBlock("div",ow,[I[57]||(I[57]=r.createElementVNode("svg",{class:"fe-state__art",viewBox:"0 0 120 100",width:"110",height:"92",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[r.createElementVNode("circle",{cx:"52",cy:"44",r:"22"}),r.createElementVNode("path",{d:"M68 61l20 20"}),r.createElementVNode("path",{d:"M46 38l12 12M58 38l-12 12"})],-1)),r.createElementVNode("p",lw,r.toDisplayString(r.unref(l)("empty.search.title")),1),r.createElementVNode("p",sw,r.toDisplayString(r.unref(l)("empty.search.hint")),1)])):!b.value&&D.value.length===0&&K.value?(r.openBlock(),r.createElementBlock("div",cw,[I[58]||(I[58]=r.createStaticVNode('<svg class="fe-state__art" viewBox="0 0 120 100" width="110" height="92" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M38 34l4 48a6 6 0 0 0 6 5.6h24a6 6 0 0 0 6-5.6l4-48"></path><path d="M32 34h56"></path><path d="M50 34v-6a6 6 0 0 1 6-6h8a6 6 0 0 1 6 6v6"></path><path d="M52 44v32M60 44v32M68 44v32" opacity="0.5"></path></svg>',1)),r.createElementVNode("p",dw,r.toDisplayString(r.unref(l)("empty.trash.title")),1)])):!b.value&&D.value.length===0?(r.openBlock(),r.createElementBlock("div",uw,[(r.openBlock(),r.createElementBlock("svg",fw,[I[60]||(I[60]=r.createElementVNode("path",{d:"M18 36v42a6 6 0 0 0 6 6h72a6 6 0 0 0 6-6V44a6 6 0 0 0-6-6H62l-9-10H24a6 6 0 0 0-6 6z"},null,-1)),je.value?(r.openBlock(),r.createElementBlock("g",hw,[...I[59]||(I[59]=[r.createElementVNode("path",{d:"M60 50v14","stroke-dasharray":"3 4"},null,-1),r.createElementVNode("path",{d:"M53 59l7 8 7-8"},null,-1)])])):r.createCommentVNode("",!0)])),r.createElementVNode("p",pw,r.toDisplayString(r.unref(l)("empty.folder")),1),je.value?(r.openBlock(),r.createElementBlock("p",mw,r.toDisplayString(r.unref(l)("empty.hint")),1)):r.createCommentVNode("",!0),je.value?(r.openBlock(),r.createElementBlock("div",gw,[r.createElementVNode("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:Ms},r.toDisplayString(r.unref(l)("empty.upload")),1)])):r.createCommentVNode("",!0)])):F.value==="list"?(r.openBlock(),r.createBlock(gu,{key:7,files:D.value,selected:r.unref(H).selected.value,clipped:Ns.value,"show-parent-path":!!Y.value,locale:s.value,loading:b.value,"starred-ids":ve.value,"api-base":a.config.apiBase??"","auth-headers":()=>Xa(),"auth-credentials":r.unref(o).credentialsMode(),onClickRow:I[10]||(I[10]=(ue,mt)=>r.unref(H).click(ue.path,mt)),onDblRow:Or,onContextRow:Ad,onItemDragStart:zd,onItemDropInto:Fd,onStarChange:Ge},null,8,["files","selected","clipped","show-parent-path","locale","loading","starred-ids","api-base","auth-headers","auth-credentials"])):F.value==="grid"?(r.openBlock(),r.createBlock(vu,{key:8,files:D.value,selected:r.unref(H).selected.value,clipped:Ns.value,"show-parent-path":!!Y.value,locale:s.value,loading:b.value,"thumb-src":r.unref(f).src,onClickCard:I[11]||(I[11]=(ue,mt)=>r.unref(H).click(ue.path,mt)),onDblCard:Or,onContextCard:Ad,onItemDragStart:zd,onItemDropInto:Fd},null,8,["files","selected","clipped","show-parent-path","locale","loading","thumb-src"])):(r.openBlock(),r.createBlock(yu,{key:9,files:D.value,selected:r.unref(H).selected.value,clipped:Ns.value,"show-parent-path":!!Y.value,locale:s.value,loading:b.value,"thumb-src":r.unref(f).src,onClickCard:I[12]||(I[12]=(ue,mt)=>r.unref(H).click(ue.path,mt)),onDblCard:Or,onContextCard:Ad,onItemDragStart:zd,onItemDropInto:Fd},null,8,["files","selected","clipped","show-parent-path","locale","loading","thumb-src"]))],32)],2),Vo.value&&aa.value?(r.openBlock(),r.createBlock(tf,{ref_key:"splitPaneRef",ref:nn,key:"split-"+r.unref(Vd),api:r.unref(o),"initial-path":aa.value.path,locale:s.value,qualify:Zt,"to-user":uA,clamp:fA,"root-label":tn.value?"/":E.value||r.unref(l)("breadcrumb.root"),floor:r.unref(g),"multi-root":tn.value,"virtual-rows":M4,active:sr.value,"view-mode":eg.value,"thumb-src":r.unref(f).src,"trash-visible":e.config.trashVisible!==!1,onNavigate:oA,onActivate:I[15]||(I[15]=ue=>ia.value="split"),onClose:iA,onOpenTab:I[16]||(I[16]=ue=>r.unref(rn).openTab(ue,{viewMode:F.value,background:!0})),onTransfer:hA,onContext:gT,onOpenTrash:lA},null,8,["api","initial-path","locale","root-label","floor","multi-root","active","view-mode","thumb-src","trash-visible","onContext","onOpenTrash"])):r.createCommentVNode("",!0),R.value?(r.openBlock(),r.createBlock(B5,{key:1,api:r.unref(o),nodes:r.unref(H).nodes.value,"dir-label":X.value,"dir-count":D.value.length,"dir-perm":x.value,locale:s.value,narrow:St.value,"thumb-src":r.unref(f).src,onClose:Z,onManagePermissions:O,onToast:dt,onChanged:I[17]||(I[17]=()=>Nt())},null,8,["api","nodes","dir-label","dir-count","dir-perm","locale","narrow","thumb-src"])):r.createCommentVNode("",!0)],2),Aa.value?(r.openBlock(),r.createElementBlock("div",vw,[...I[61]||(I[61]=[r.createElementVNode("div",{class:"fe__dragover-card"},[r.createElementVNode("span",{class:"fe-icon"},"⬆"),r.createElementVNode("p",null,"Dosyaları buraya bırak")],-1)])])):r.createCommentVNode("",!0),r.createVNode(s3,{jobs:pe.value,locale:s.value,center:r.unref(Od),onCancel:$T,onDismiss:UT,onRetry:WT},null,8,["jobs","locale","center"]),r.createVNode(c3,{ops:r.unref(v).ops.value,locale:s.value,center:r.unref(Od),onDismiss:I[18]||(I[18]=ue=>r.unref(v).dismiss(ue))},null,8,["ops","locale","center"]),r.createVNode(Iu,{center:r.unref(Od),locale:s.value,narrow:St.value},null,8,["center","locale","narrow"]),St.value&&je.value?(r.openBlock(),r.createElementBlock("button",{key:2,type:"button",class:"fe-fab",title:r.unref(l)("toolbar.upload"),"aria-label":r.unref(l)("toolbar.upload"),onClick:Ms},[...I[62]||(I[62]=[r.createElementVNode("svg",{class:"fe-ficon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.2","stroke-linecap":"round","aria-hidden":"true",focusable:"false"},[r.createElementVNode("path",{d:"M12 5v14M5 12h14"})],-1)])],8,yw)):r.createCommentVNode("",!0),r.createVNode(qs,{ref_key:"ctxRef",ref:Ve,locale:s.value,theme:e.config.theme||"auto",sheet:Et.value,actions:vT.value,onSelect:bT},null,8,["locale","theme","sheet","actions"]),r.createVNode(m7,{open:We.value,locale:s.value,"encrypted-option":!cr.value,onClose:I[19]||(I[19]=ue=>We.value=!1),onSubmit:ST,onEncrypted:I[20]||(I[20]=ue=>{We.value=!1,Os.value=!0})},null,8,["open","locale","encrypted-option"]),r.createVNode(rf,{open:Os.value,locale:s.value,busy:Gd.value,onClose:I[21]||(I[21]=ue=>Os.value=!1),onSubmit:bA},null,8,["open","locale","busy"]),r.createVNode(v7,{open:wt.value,locale:s.value,"current-name":((oe=pt.value)==null?void 0:oe.basename)||"",onClose:I[22]||(I[22]=ue=>wt.value=!1),onSubmit:ET},null,8,["open","locale","current-name"]),r.createVNode(y7,{open:et.value,locale:s.value,count:r.unref(H).size.value,onClose:I[23]||(I[23]=ue=>et.value=!1),onConfirm:CT},null,8,["open","locale","count"]),r.createVNode(N7,{open:ft.value,locale:s.value,share:Me.value,onClose:MT,onSubmit:AT,onToast:dt},null,8,["open","locale","share"]),r.createVNode(Zs,{open:ct.value,locale:s.value,file:L.value,theme:e.config.theme||"auto","preview-url":ue=>Ps(ue),"download-url":ue=>Pr.value?Ps(ue):r.unref(o).downloadUrl(ue),"only-office-base":cr.value?null:De.value,"only-office-config-endpoint":Ne.value,"new-tab-enabled":!cr.value,"save-text-endpoint":cr.value?null:r.unref(o).endpoints.saveText||null,"open-mode":se.value,"auth-headers":()=>Xa({"Content-Type":"application/json"}),"auth-credentials":r.unref(o).credentialsMode(),"drawio-url":ke.value,"pdf-worker-url":a.config.pdfWorkerUrl||null,"pdf-save-url":a.config.pdfSaveUrl||null,"viewer-base-url":a.config.viewerBaseUrl||null,onClose:I[24]||(I[24]=ue=>ct.value=!1)},null,8,["open","locale","file","theme","preview-url","download-url","only-office-base","only-office-config-endpoint","new-tab-enabled","save-text-endpoint","open-mode","auth-headers","auth-credentials","drawio-url","pdf-worker-url","pdf-save-url","viewer-base-url"]),be.value&&Ee.value&&ce.value?(r.openBlock(),r.createBlock(q7,{key:3,"convert-url":ce.value,"file-name":((fe=Ee.value)==null?void 0:fe.basename)||((_e=Ee.value)==null?void 0:_e.path)||"","fetch-bytes":()=>{var ue;return r.unref(o).fetchArrayBuffer(((ue=Ee.value)==null?void 0:ue.path)??"")},upload:ue=>r.unref(o).uploadMultipart(Zt(y.value),[ue]).then(()=>{}),onClose:I[25]||(I[25]=ue=>be.value=!1),onDone:TT},null,8,["convert-url","file-name","fetch-bytes","upload"])):r.createCommentVNode("",!0),ae.value&&ye.value?(r.openBlock(),r.createBlock(Ik,{key:4,api:r.unref(o),path:ye.value.path,"is-dir":ye.value.type==="dir",size:typeof ye.value.size=="number"?ye.value.size:void 0,locale:s.value==="en"?"en":"tr",onClose:I[26]||(I[26]=ue=>ae.value=!1)},null,8,["api","path","is-dir","size","locale"])):r.createCommentVNode("",!0),r.createVNode(r.Transition,{name:"fe-modal"},{default:r.withCtx(()=>[xe.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe fe-modal__backdrop fe-recents__backdrop",{"fe--theme-light":e.config.theme==="light","fe--theme-dark":e.config.theme==="dark"}]),onClick:I[30]||(I[30]=ue=>xe.value=!1)},[r.createElementVNode("div",{class:"fe-recents__panel",onClick:I[29]||(I[29]=r.withModifiers(()=>{},["stop"]))},[r.createElementVNode("div",bw,[r.createElementVNode("strong",null,r.toDisplayString(s.value==="en"?"Recently opened":"Son açılanlar"),1),r.createElementVNode("button",{class:"fe-recents__close","aria-label":"Close",onClick:I[27]||(I[27]=ue=>xe.value=!1)},"×")]),r.createVNode(uu,{"api-base":a.config.apiBase??"","auth-headers":()=>Xa(),"auth-credentials":r.unref(o).credentialsMode(),limit:20,"refresh-key":me.value,onOpen:Ke,onError:I[28]||(I[28]=ue=>i("error",{message:ue,context:{op:"recents"}}))},null,8,["api-base","auth-headers","auth-credentials","refresh-key"])])],2)):r.createCommentVNode("",!0)]),_:1}),r.createVNode(r.Transition,{name:"fe-modal"},{default:r.withCtx(()=>[ie.value&&ge.value&&typeof ge.value.id=="number"?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fe-modal__backdrop",onClick:I[34]||(I[34]=ue=>ie.value=!1)},[r.createElementVNode("div",{class:"fe-modal__card fe-modal__card--md",onClick:I[33]||(I[33]=r.withModifiers(()=>{},["stop"]))},[r.createElementVNode("header",_w,[r.createElementVNode("h2",kw,r.toDisplayString(s.value==="en"?"Tags":"Etiketler")+" — "+r.toDisplayString(ge.value.basename),1),r.createElementVNode("button",{class:"fe-modal__close","aria-label":"Close",onClick:I[31]||(I[31]=ue=>ie.value=!1)},"×")]),r.createElementVNode("div",ww,[r.createVNode(du,{"node-id":ge.value.id,"api-base":a.config.apiBase??"","auth-headers":()=>Xa(),"auth-credentials":r.unref(o).credentialsMode(),onError:I[32]||(I[32]=ue=>i("error",{message:ue,context:{op:"tags"}}))},null,8,["node-id","api-base","auth-headers","auth-credentials"])])])])):r.createCommentVNode("",!0)]),_:1}),r.createVNode(cb,{open:Dd.value,locale:s.value,files:D.value,"view-mode":F.value,"can-write":Oe.value&&!z.value&&!re.value,"can-go-up":V.value,"global-search":aT,onClose:I[35]||(I[35]=ue=>Dd.value=!1),onOpenHit:iT,onOpenNode:Or,onNavigate:I[36]||(I[36]=ue=>Nt(ue)),onNewFolder:I[37]||(I[37]=ue=>We.value=!0),onUpload:Ms,onToggleView:I[38]||(I[38]=ue=>tg(Ud.value==="list"?"grid":Ud.value==="grid"?"gallery":"list")),onOpenTrash:Oo,onRefresh:I[39]||(I[39]=()=>Nt()),onGoUp:U,onOpenTheme:I[40]||(I[40]=ue=>Is.value=!0),onOpenShortcutSettings:I[41]||(I[41]=ue=>Ro.value=!0),onStartTour:I[42]||(I[42]=ue=>Rd()),"split-enabled":!St.value,onTabNew:I[43]||(I[43]=ue=>$d()),onSplitToggle:I[44]||(I[44]=ue=>Q4())},null,8,["open","locale","files","view-mode","can-write","can-go-up","split-enabled"]),r.createVNode(xb,{open:As.value,locale:s.value,onClose:I[45]||(I[45]=ue=>As.value=!1),onCustomize:I[46]||(I[46]=ue=>{As.value=!1,Ro.value=!0})},null,8,["open","locale"]),r.createVNode(Tu,{open:Is.value,locale:s.value,theme:e.config.theme||"auto",dark:Ld.value,current:r.unref(zs),onClose:I[47]||(I[47]=ue=>Is.value=!1),onSelect:r.unref(GT)},null,8,["open","locale","theme","dark","current","onSelect"]),r.createElementVNode("input",{ref_key:"fileInputEl",ref:Ae,type:"file",multiple:"",class:"fe__file-input",onChange:NT},null,544),r.createVNode(r.Transition,{name:"fe-toast"},{default:r.withCtx(()=>[Nn.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["fe-toast",{"fe-toast--action":!!Nn.value.actionLabel}]),role:"status",onClick:Yn},[r.createElementVNode("span",xw,r.toDisplayString(Nn.value.message),1),Nn.value.actionLabel&&Nn.value.action?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"fe-toast__action",onClick:r.withModifiers(lr,["stop"])},r.toDisplayString(Nn.value.actionLabel),1)):r.createCommentVNode("",!0)],2)):r.createCommentVNode("",!0)]),_:1}),r.createVNode(Au,{open:Ro.value,locale:s.value,theme:e.config.theme||"auto",onClose:I[48]||(I[48]=ue=>Ro.value=!1)},null,8,["open","locale","theme"]),r.createVNode(Nu,{open:Ma.value,locale:s.value,file:ra.value,theme:e.config.theme||"auto","preview-url":ue=>Ps(ue),"download-url":ue=>Pr.value?Ps(ue):r.unref(o).downloadUrl(ue),"only-office-base":cr.value?null:De.value,"only-office-config-endpoint":Ne.value,"auth-headers":()=>Xa({"Content-Type":"application/json"}),"auth-credentials":r.unref(o).credentialsMode(),"drawio-url":ke.value,"pdf-worker-url":a.config.pdfWorkerUrl||null,"viewer-base-url":a.config.viewerBaseUrl||null,onClose:I[49]||(I[49]=ue=>Ma.value=!1),onNav:qT,onOpenFull:KT},null,8,["open","locale","file","theme","preview-url","download-url","only-office-base","only-office-config-endpoint","auth-headers","auth-credentials","drawio-url","pdf-worker-url","viewer-base-url"]),r.createVNode(N8,{open:Fs.value,locale:s.value,root:it.value,theme:e.config.theme||"auto",onClose:XT},null,8,["open","locale","root","theme"])],34)}}}),Ew={class:"filex-viewer-3d"},Cw={key:1,class:"filex-viewer-fallback"},Bw={key:2,class:"filex-viewer-fallback"},ei=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"Viewer3D",props:{url:{},mime:{},ext:{},t:{type:Function}},setup(e){const t=e,n=new Set(["glb","gltf","usdz"]),a=r.computed(()=>n.has((t.ext||"").toLowerCase())),i=r.ref(null),o=r.ref(!1);async function s(){if(o.value=!1,i.value=null,!a.value){i.value=t.t?t.t("viewer.format_unsupported_3d"):`3D format ".${t.ext}" not supported in browser preview — please download.`;return}try{await import("@google/model-viewer"),o.value=!0}catch{i.value=t.t?t.t("viewer.peer_not_installed"):"3D viewer requires `@google/model-viewer` — install or use download."}}return r.onMounted(s),r.watch(()=>t.url,()=>{s()}),(l,c)=>{const d=r.resolveComponent("model-viewer");return r.openBlock(),r.createElementBlock("div",Ew,[o.value&&!i.value?(r.openBlock(),r.createBlock(d,{key:0,src:e.url,"auto-rotate":"","camera-controls":"","touch-action":"pan-y","shadow-intensity":"1",alt:e.ext+" model",style:{width:"100%",height:"100%","min-height":"480px",display:"block"}},null,8,["src","alt"])):i.value?(r.openBlock(),r.createElementBlock("div",Cw,[c[0]||(c[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"📦",-1)),r.createElementVNode("p",null,r.toDisplayString(i.value),1)])):(r.openBlock(),r.createElementBlock("div",Bw,[c[1]||(c[1]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(e.t?e.t("viewer.loading"):"Loading…"),1)]))])}}}),[["__scopeId","data-v-f9492fd4"]])},Symbol.toStringTag,{value:"Module"})),Dw={key:0,class:"filex-viewer-fallback"},Tw={key:0,class:"filex-viewer-epub__nav"},Aw=["disabled"],Mw=["disabled"],Nw={key:1,class:"filex-viewer-epub__loading"},Iw=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"EpubViewer",props:{url:{},mime:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref(null),a=r.ref(null),i=r.ref(null),o=r.ref([]);r.ref(!1);const s=r.ref(100),l=r.ref(!1),c=r.ref(!0);let d=null,u=null;async function h(){c.value=!0,l.value=!1,i.value=null;let b=null;try{b=await import("epubjs")}catch{i.value=t.t?t.t("viewer.peer_not_installed"):"EPUB viewer requires `epubjs` — install or use download.",c.value=!1;return}try{const m=b.default??b;let g=t.url;if(t.authHeaders){const y=t.authHeaders(),E=await fetch(t.url,{headers:y,credentials:t.authCredentials||"same-origin"});if(!E.ok)throw new Error(`${E.status} ${E.statusText}`);g=await E.arrayBuffer()}if(d=m(g),!a.value)throw new Error("EPUB mount target missing");u=d.renderTo(a.value,{width:"100%",height:"100%",flow:"paginated",manager:"default"}),await u.display(),u.themes.fontSize(s.value+"%");const _=await d.loaded.navigation;o.value=(_==null?void 0:_.toc)??[],l.value=!0}catch(m){i.value=m instanceof Error?m.message:"EPUB load failed"}finally{c.value=!1}}function f(){var b;(b=u==null?void 0:u.next)==null||b.call(u)}function p(){var b;(b=u==null?void 0:u.prev)==null||b.call(u)}function k(b){b.key==="ArrowRight"||b.key==="PageDown"?f():(b.key==="ArrowLeft"||b.key==="PageUp")&&p()}r.onMounted(()=>{h(),window.addEventListener("keydown",k)}),r.onBeforeUnmount(()=>{var b,m;window.removeEventListener("keydown",k);try{(b=u==null?void 0:u.destroy)==null||b.call(u)}catch{}try{(m=d==null?void 0:d.destroy)==null||m.call(d)}catch{}u=null,d=null}),r.watch(()=>t.url,()=>{if(u)try{u.destroy()}catch{}if(d)try{d.destroy()}catch{}d=null,u=null,h()});function v(b,m){return t.t?t.t(b):m}return(b,m)=>(r.openBlock(),r.createElementBlock("div",{ref_key:"root",ref:n,class:"filex-viewer-epub"},[i.value?(r.openBlock(),r.createElementBlock("div",Dw,[m[0]||(m[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"📖",-1)),r.createElementVNode("p",null,r.toDisplayString(i.value),1)])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createElementVNode("div",{ref_key:"containerRef",ref:a,class:"filex-viewer-epub__rendition"},null,512),l.value?(r.openBlock(),r.createElementBlock("div",Tw,[r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",onClick:p,disabled:!l.value},"‹",8,Aw),r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",onClick:f,disabled:!l.value},"›",8,Mw)])):r.createCommentVNode("",!0),c.value?(r.openBlock(),r.createElementBlock("div",Nw,r.toDisplayString(v("viewer.loading","Loading…")),1)):r.createCommentVNode("",!0)],64))],512))}}),[["__scopeId","data-v-12eb7133"]])},Symbol.toStringTag,{value:"Module"}));async function cf(e){const t=await fetch(e.url,{headers:e.headers??{},credentials:e.credentials??"same-origin",signal:e.signal});if(!t.ok){const n=await t.text().catch(()=>"");throw new Error(`${t.status} ${t.statusText}${n?" — "+n.slice(0,200):""}`)}return t}async function df(e){return(await cf(e)).arrayBuffer()}async function tl(e){return(await cf(e)).text()}const zw={class:"filex-viewer-mermaid"},Fw={key:0,class:"filex-viewer-fallback"},Lw={key:1,class:"filex-viewer-fallback"},uf=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"MermaidViewer",props:{url:{},mime:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref(null),a=r.ref(null),i=r.ref(!0),o=r.ref(1),s=r.ref(0),l=r.ref(0);let c=!1,d=null,u=0,h=null;async function f(){var _,y;if(h)return h;try{const E=await import("mermaid");return h=E.default??E,(y=h.initialize)==null||y.call(h,{startOnLoad:!1,securityLevel:"strict",theme:(_=window.matchMedia)!=null&&_.call(window,"(prefers-color-scheme: dark)").matches?"dark":"default"}),h}catch{return null}}async function p(){var M;i.value=!0,a.value=null;const _=++u,y=await f();if(_!==u)return;if(!y){a.value=t.t?t.t("viewer.peer_not_installed"):"Mermaid viewer requires `mermaid` — install or use download.",i.value=!1;return}let E;try{E=await tl({url:t.url,headers:((M=t.authHeaders)==null?void 0:M.call(t))??{},credentials:t.authCredentials})}catch(D){a.value=D instanceof Error?D.message:"fetch failed",i.value=!1;return}if(_===u)try{const D=`filex-mermaid-${Date.now()}`,{svg:x}=await y.render(D,E);if(_!==u)return;if(n.value){n.value.innerHTML=x;const w=n.value.querySelector("svg");w&&(w.style.maxWidth="100%",w.style.height="auto")}}catch(D){a.value=D instanceof Error?D.message:"render failed"}finally{i.value=!1}}function k(_){if(!_.ctrlKey&&!_.metaKey)return;_.preventDefault();const E=-_.deltaY>0?1.1:1/1.1;o.value=Math.max(.2,Math.min(8,o.value*E))}function v(_){var y,E;c=!0,d={x:_.clientX,y:_.clientY,tx:s.value,ty:l.value},(E=(y=_.target).setPointerCapture)==null||E.call(y,_.pointerId)}function b(_){!c||!d||(s.value=d.tx+(_.clientX-d.x),l.value=d.ty+(_.clientY-d.y))}function m(){c=!1,d=null}r.onMounted(p),r.onBeforeUnmount(()=>{u++});function g(_,y){return t.t?t.t(_):y}return(_,y)=>(r.openBlock(),r.createElementBlock("div",zw,[r.createElementVNode("div",{class:"filex-viewer-mermaid__pane",onWheel:k,onPointerdown:v,onPointermove:b,onPointerup:m,onPointercancel:m},[a.value?(r.openBlock(),r.createElementBlock("div",Fw,[y[0]||(y[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"📊",-1)),r.createElementVNode("p",null,r.toDisplayString(a.value),1)])):i.value?(r.openBlock(),r.createElementBlock("div",Lw,[y[1]||(y[1]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(g("viewer.loading","Loading…")),1)])):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("div",{ref_key:"surface",ref:n,class:"filex-viewer-mermaid__surface",style:r.normalizeStyle({transform:`translate(${s.value}px, ${l.value}px) scale(${o.value})`})},null,4),[[r.vShow,!i.value&&!a.value]])],32)]))}}),[["__scopeId","data-v-939eea2b"]])},Symbol.toStringTag,{value:"Module"})),Ow={class:"filex-viewer-drawio"},Pw={key:0,class:"filex-viewer-fallback"},Rw=["src"],ff=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"DrawioViewer",props:{url:{},filePath:{},ext:{},drawioUrl:{},saveUrl:{},readOnly:{type:Boolean},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref(null),a=r.ref(null),i=r.ref("loading"),o=r.ref(!!t.readOnly||!t.saveUrl),s=r.computed(()=>t.drawioUrl?t.drawioUrl.replace(/\/$/,""):null),l=r.computed(()=>{if(!s.value)return"";const v=new URLSearchParams({embed:"1",proto:"json",spin:"1",saveAndExit:"0",noSaveBtn:o.value?"1":"0",noExitBtn:"1",ui:"kennedy",modified:"unsavedChanges"});return`${s.value}/?${v.toString()}`});let c="";async function d(){var v;i.value="loading",a.value=null;try{c=await tl({url:t.url,headers:((v=t.authHeaders)==null?void 0:v.call(t))??{},credentials:t.authCredentials})}catch(b){a.value=b instanceof Error?b.message:"fetch failed",i.value="error"}}function u(v){var b,m;(m=(b=n.value)==null?void 0:b.contentWindow)==null||m.postMessage(JSON.stringify(v),"*")}async function h(v){var b;if(t.saveUrl){i.value="saving";try{const m={"Content-Type":"application/json",...((b=t.authHeaders)==null?void 0:b.call(t))??{}},g=await fetch(t.saveUrl,{method:"POST",headers:m,credentials:t.authCredentials||"same-origin",body:JSON.stringify({path:t.filePath,content:v})});if(!g.ok)throw new Error(`${g.status} ${g.statusText}`);i.value="saved",setTimeout(()=>{i.value==="saved"&&(i.value="ready")},2500)}catch(m){a.value=m instanceof Error?m.message:"save failed",i.value="error"}}}function f(v){if(typeof v.data!="string"||v.data.length===0)return;const b=v.data[0];if(b!=="{"&&b!=="<")return;let m;try{m=JSON.parse(v.data)}catch{return}if(!(!m||typeof m!="object"))switch(m.event){case"init":u({action:"load",xml:c,autosave:0}),i.value="ready";break;case"save":typeof m.xml=="string"&&h(m.xml);break;case"export":break;case"autosave":typeof m.xml=="string"&&!o.value&&h(m.xml);break}}function p(){if(!s.value){a.value=k("viewer.drawio.disabled","Drawio (diagrams.net) yapılandırılmamış."),i.value="error";return}a.value===k("viewer.drawio.disabled","Drawio (diagrams.net) yapılandırılmamış.")&&(a.value=null,i.value="loading"),d()}r.onMounted(()=>{window.addEventListener("message",f),p()}),r.watch(()=>t.drawioUrl,p),r.onBeforeUnmount(()=>{window.removeEventListener("message",f)});function k(v,b){return t.t?t.t(v):b}return(v,b)=>(r.openBlock(),r.createElementBlock("div",Ow,[a.value?(r.openBlock(),r.createElementBlock("div",Pw,[b[0]||(b[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"📐",-1)),r.createElementVNode("p",null,r.toDisplayString(a.value),1)])):(r.openBlock(),r.createElementBlock("iframe",{key:1,ref_key:"iframeRef",ref:n,src:l.value,class:"filex-viewer-drawio__frame",title:"diagrams.net editor"},null,8,Rw))]))}}),[["__scopeId","data-v-2e4b5f3b"]])},Symbol.toStringTag,{value:"Module"})),Vw={class:"filex-viewer-tiff"},$w={class:"filex-viewer-tiff__pane"},Uw={key:0,class:"filex-viewer-fallback"},Hw={key:1,class:"filex-viewer-fallback"},Gw={key:2,class:"filex-viewer-tiff__pager"},jw=["disabled"],qw={class:"filex-viewer-tiff__pages"},Kw=["disabled"],hf=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"TiffViewer",props:{url:{},mime:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref(null),a=r.ref(null),i=r.ref(!0);r.ref(1);const o=r.ref(0),s=r.ref(0),l=r.ref({width:0,height:0});let c=null,d=null,u=0;async function h(){if(c)return c;try{const g=await Promise.resolve().then(()=>zS);return c=g.default??g,c}catch{return null}}async function f(){var y;i.value=!0,a.value=null,d=null,o.value=0,s.value=0;const g=++u,_=await h();if(g===u){if(!_){a.value=t.t?t.t("viewer.peer_not_installed"):"TIFF viewer requires `utif` — install or use download.",i.value=!1;return}try{const E=await df({url:t.url,headers:((y=t.authHeaders)==null?void 0:y.call(t))??{},credentials:t.authCredentials});if(g!==u)return;if(d=_.decode(E),s.value=(d==null?void 0:d.length)??0,s.value===0)throw new Error("No pages decoded");p()}catch(E){a.value=E instanceof Error?E.message:"TIFF decode failed"}finally{i.value=!1}}}function p(){if(!c||!d||!n.value)return;const g=Math.max(0,Math.min(o.value,d.length-1)),_=d[g];try{c.decodeImage(void 0,_)}catch{}const y=c.toRGBA8(_),E=_.width,M=_.height;l.value={width:E,height:M};const D=n.value;D.width=E,D.height=M;const x=D.getContext("2d");if(!x)return;const w=x.createImageData(E,M);w.data.set(y),x.putImageData(w,0,0)}function k(){o.value<s.value-1&&(o.value++,p())}function v(){o.value>0&&(o.value--,p())}r.onMounted(f),r.onBeforeUnmount(()=>{u++,d=null}),r.watch(()=>t.url,f);const b=r.computed(()=>(t.t&&t.t("viewer.page_n_of_m")||"Page {n} of {m}").replace("{n}",String(o.value+1)).replace("{m}",String(s.value)));function m(g,_){return t.t?t.t(g):_}return(g,_)=>(r.openBlock(),r.createElementBlock("div",Vw,[r.createElementVNode("div",$w,[a.value?(r.openBlock(),r.createElementBlock("div",Uw,[_[0]||(_[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"🖼️",-1)),r.createElementVNode("p",null,r.toDisplayString(a.value),1)])):i.value?(r.openBlock(),r.createElementBlock("div",Hw,[_[1]||(_[1]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(m("viewer.loading","Loading…")),1)])):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("canvas",{ref_key:"canvasEl",ref:n,style:{imageRendering:"pixelated"}},null,512),[[r.vShow,!i.value&&!a.value]]),!i.value&&!a.value&&s.value>1?(r.openBlock(),r.createElementBlock("div",Gw,[r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",disabled:o.value===0,onClick:v},"‹",8,jw),r.createElementVNode("span",qw,r.toDisplayString(b.value),1),r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",disabled:o.value>=s.value-1,onClick:k},"›",8,Kw)])):r.createCommentVNode("",!0)])]))}}),[["__scopeId","data-v-c6b84f5d"]])},Symbol.toStringTag,{value:"Module"})),Ww={class:"filex-viewer-psd"},Yw={class:"filex-viewer-psd__pane"},Xw={key:0,class:"filex-viewer-fallback"},Zw={key:1,class:"filex-viewer-fallback"},Jw=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"PsdViewer",props:{url:{},mime:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref(null),a=r.ref([]),i=r.ref(null),o=r.ref(!0);r.ref(!1);const s=r.ref({width:0,height:0});r.ref(1);let l=0,c=null;async function d(){if(c)return c;try{return c=await Promise.resolve().then(()=>JD),c}catch{return null}}function u(p,k){if(p&&Array.isArray(p.children))for(const v of p.children)k.push({index:k.length,name:v.name??"(unnamed)",hidden:!!v.hidden}),v.children&&u(v,k)}async function h(){var v;o.value=!0,i.value=null,a.value=[];const p=++l,k=await d();if(p===l){if(!k){i.value=t.t?t.t("viewer.peer_not_installed"):"PSD viewer requires `ag-psd` — install or use download.",o.value=!1;return}try{const b=await df({url:t.url,headers:((v=t.authHeaders)==null?void 0:v.call(t))??{},credentials:t.authCredentials});if(p!==l)return;const m=k.readPsd(b,{skipLayerImageData:!1,skipCompositeImageData:!1,skipThumbnail:!0});s.value={width:m.width,height:m.height};const g=m.canvas;if(g&&n.value){const y=n.value;y.width=m.width,y.height=m.height;const E=y.getContext("2d");E==null||E.drawImage(g,0,0)}else throw new Error("PSD has no composite image (skipCompositeImageData?)");const _=[];u(m,_),a.value=_}catch(b){i.value=b instanceof Error?b.message:"PSD decode failed"}finally{o.value=!1}}}r.onMounted(h),r.onBeforeUnmount(()=>{l++}),r.watch(()=>t.url,h);function f(p,k){return t.t?t.t(p):k}return(p,k)=>(r.openBlock(),r.createElementBlock("div",Ww,[r.createElementVNode("div",Yw,[i.value?(r.openBlock(),r.createElementBlock("div",Xw,[k[0]||(k[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"🎨",-1)),r.createElementVNode("p",null,r.toDisplayString(i.value),1)])):o.value?(r.openBlock(),r.createElementBlock("div",Zw,[k[1]||(k[1]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(f("viewer.loading","Loading…")),1)])):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("canvas",{ref_key:"canvasEl",ref:n},null,512),[[r.vShow,!o.value&&!i.value]])])]))}}),[["__scopeId","data-v-001123c3"]])},Symbol.toStringTag,{value:"Module"})),Qw={class:"filex-viewer-ipynb"},e9={class:"filex-viewer-ipynb__pane"},t9={key:0,class:"filex-viewer-fallback"},n9={key:1,class:"filex-viewer-fallback"},r9={key:2},a9=["data-type"],i9={class:"filex-viewer-ipynb__exec"},o9={class:"filex-viewer-ipynb__src hljs"},l9=["innerHTML"],s9={key:1},c9={key:0,class:"filex-viewer-ipynb__outputs"},d9=["src","alt"],u9=["innerHTML"],f9=["data-type"],h9=["innerHTML"],p9={key:1,class:"filex-viewer-ipynb__md-raw"},m9={key:2,class:"filex-viewer-ipynb__src"},g9=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"IpynbViewer",props:{url:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref([]),a=r.ref("python"),i=r.ref(null),o=r.ref(!0),s=r.ref(new Map),l=r.ref(new Map);let c=0,d=null,u=null;async function h(){if(u!==null)return u||null;try{const g=await import("markdown-it"),_=g.default??g;return u=new _({html:!1,linkify:!0,breaks:!0}),u}catch{return u=!1,null}}function f(g){return Array.isArray(g)?g.join(""):g??""}async function p(){var M,D,x,w;o.value=!0,i.value=null,n.value=[],s.value=new Map,l.value=new Map;const g=++c;let _;try{_=await tl({url:t.url,headers:((M=t.authHeaders)==null?void 0:M.call(t))??{},credentials:t.authCredentials})}catch(B){i.value=B instanceof Error?B.message:"fetch failed",o.value=!1;return}if(g!==c)return;let y;try{y=JSON.parse(_)}catch{i.value="Invalid notebook JSON",o.value=!1;return}if(n.value=Array.isArray(y.cells)?y.cells:[],a.value=((x=(D=y.metadata)==null?void 0:D.kernelspec)==null?void 0:x.language)||"python",d=await Xo(),g!==c)return;if(d){const B=d.default??d,N=(w=B.getLanguage)!=null&&w.call(B,a.value)?a.value:null;n.value.forEach((G,F)=>{if(G.cell_type==="code"){const q=f(G.source);try{const Y=N?B.highlight(q,{language:N,ignoreIllegals:!0}):B.highlightAuto(q);s.value.set(F,Y.value)}catch{}}})}const E=await h();g===c&&(E&&n.value.forEach((B,N)=>{if(B.cell_type==="markdown")try{l.value.set(N,E.render(f(B.source)))}catch{}}),o.value=!1)}function k(g){var _;return g?g.output_type==="stream"?f(g.text):g.output_type==="error"?[g.ename,g.evalue,...g.traceback||[]].filter(Boolean).join(`
|
|
6
6
|
`):(g.output_type==="execute_result"||g.output_type==="display_data")&&(_=g.data)!=null&&_["text/plain"]?f(g.data["text/plain"]):null:null}function v(g){if(!(g!=null&&g.data))return null;if(g.data["image/png"])return`data:image/png;base64,${g.data["image/png"]}`;if(g.data["image/jpeg"])return`data:image/jpeg;base64,${g.data["image/jpeg"]}`;if(g.data["image/svg+xml"]){const _=f(g.data["image/svg+xml"]);return`data:image/svg+xml;utf8,${encodeURIComponent(_)}`}return null}function b(g){return g!=null&&g.data&&g.data["text/html"]?f(g.data["text/html"]).replace(/<script[\s\S]*?<\/script>/gi,""):null}r.onMounted(p),r.onBeforeUnmount(()=>{c++}),r.watch(()=>t.url,p),r.computed(()=>{const g=n.value.filter(y=>y.cell_type==="code").length,_=n.value.filter(y=>y.cell_type==="markdown").length;return{code:g,md:_,total:n.value.length}});function m(g,_){return t.t?t.t(g):_}return(g,_)=>(r.openBlock(),r.createElementBlock("div",Qw,[r.createElementVNode("div",e9,[i.value?(r.openBlock(),r.createElementBlock("div",t9,[_[0]||(_[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"📓",-1)),r.createElementVNode("p",null,r.toDisplayString(i.value),1)])):o.value?(r.openBlock(),r.createElementBlock("div",n9,[_[1]||(_[1]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(m("viewer.loading","Loading…")),1)])):(r.openBlock(),r.createElementBlock("div",r9,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.value,(y,E)=>(r.openBlock(),r.createElementBlock("div",{key:E,class:"filex-viewer-ipynb__cell","data-type":y.cell_type},[y.cell_type==="code"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("div",i9," In ["+r.toDisplayString(y.execution_count??" ")+"]: ",1),r.createElementVNode("pre",o9,[s.value.get(E)?(r.openBlock(),r.createElementBlock("code",{key:0,innerHTML:s.value.get(E)},null,8,l9)):(r.openBlock(),r.createElementBlock("code",s9,r.toDisplayString(f(y.source)),1))]),y.outputs&&y.outputs.length?(r.openBlock(),r.createElementBlock("div",c9,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(y.outputs,(M,D)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:D},[v(M)?(r.openBlock(),r.createElementBlock("img",{key:0,src:v(M)||"",class:"filex-viewer-ipynb__img",alt:`output ${D}`},null,8,d9)):b(M)?(r.openBlock(),r.createElementBlock("div",{key:1,class:"filex-viewer-ipynb__html",innerHTML:b(M)},null,8,u9)):k(M)?(r.openBlock(),r.createElementBlock("pre",{key:2,class:"filex-viewer-ipynb__out","data-type":M.output_type},r.toDisplayString(k(M)),9,f9)):r.createCommentVNode("",!0)],64))),128))])):r.createCommentVNode("",!0)],64)):y.cell_type==="markdown"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[l.value.get(E)?(r.openBlock(),r.createElementBlock("div",{key:0,class:"filex-viewer-ipynb__md",innerHTML:l.value.get(E)},null,8,h9)):(r.openBlock(),r.createElementBlock("pre",p9,r.toDisplayString(f(y.source)),1))],64)):(r.openBlock(),r.createElementBlock("pre",m9,r.toDisplayString(f(y.source)),1))],8,a9))),128))]))])]))}}),[["__scopeId","data-v-eece712d"]])},Symbol.toStringTag,{value:"Module"})),v9={class:"filex-viewer-csv"},y9={class:"filex-viewer-csv__pane"},b9={key:0,class:"filex-viewer-fallback"},_9={key:1,class:"filex-viewer-fallback"},k9={key:2,class:"filex-viewer-csv__table"},w9={class:"filex-viewer-csv__rownum"},x9={key:0,class:"filex-viewer-csv__pager"},S9=["disabled"],E9={class:"filex-viewer-csv__pageno"},C9=["disabled"],d0=100,pf=1e3,mf=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"CsvViewer",props:{url:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref([]),a=r.ref(null),i=r.ref(!0),o=r.ref(!0),s=r.ref(""),l=r.ref(1),c=r.ref(","),d=r.ref("auto");let u=0;function h(y){const E=y.split(/\r?\n/).slice(0,5).join(`
|
|
7
|
-
`),M=(E.match(/\t/g)||[]).length,D=(E.match(/;/g)||[]).length,x=(E.match(/,/g)||[]).length;return M>x&&M>D?" ":D>x&&D>M?";":","}async function f(y,E){try{const M=await Promise.resolve().then(()=>QD);return(M.default??M).parse(y,{delimiter:E,skipEmptyLines:!0,header:!1}).data.slice(0,pf)}catch{return y.split(/\r?\n/).filter(M=>M.length>0).slice(0,pf).map(M=>M.split(E))}}async function p(){var D;i.value=!0,a.value=null,n.value=[],l.value=1;const y=++u;let E;try{E=await tl({url:t.url,headers:((D=t.authHeaders)==null?void 0:D.call(t))??{},credentials:t.authCredentials})}catch(x){a.value=x instanceof Error?x.message:"fetch failed",i.value=!1;return}if(y!==u)return;t.ext==="tsv"?c.value=" ":c.value=h(E.slice(0,4096));const M=d.value==="auto"?c.value:d.value;n.value=await f(E,M),i.value=!1}r.onMounted(p),r.watch(()=>t.url,p),r.watch(()=>d.value,()=>{n.value.length!==0&&p()});const k=r.computed(()=>!o.value||n.value.length===0?n.value.length===0?[]:n.value[0].map((y,E)=>`Col ${E+1}`):n.value[0]),v=r.computed(()=>o.value?n.value.slice(1):n.value),b=r.computed(()=>{const y=s.value.trim().toLowerCase();return y?v.value.filter(E=>E.some(M=>(M||"").toLowerCase().includes(y))):v.value}),m=r.computed(()=>Math.max(1,Math.ceil(b.value.length/d0))),g=r.computed(()=>{const y=(l.value-1)*d0;return b.value.slice(y,y+d0)});r.watch(s,()=>{l.value=1});function _(y,E){return t.t?t.t(y):E}return(y,E)=>(r.openBlock(),r.createElementBlock("div",v9,[r.createElementVNode("div",y9,[a.value?(r.openBlock(),r.createElementBlock("div",b9,[E[2]||(E[2]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"📊",-1)),r.createElementVNode("p",null,r.toDisplayString(a.value),1)])):i.value?(r.openBlock(),r.createElementBlock("div",_9,[E[3]||(E[3]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(_("viewer.loading","Loading…")),1)])):(r.openBlock(),r.createElementBlock("table",k9,[r.createElementVNode("thead",null,[r.createElementVNode("tr",null,[E[4]||(E[4]=r.createElementVNode("th",{class:"filex-viewer-csv__rownum"},"#",-1)),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(k.value,(M,D)=>(r.openBlock(),r.createElementBlock("th",{key:D},r.toDisplayString(M),1))),128))])]),r.createElementVNode("tbody",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(g.value,(M,D)=>(r.openBlock(),r.createElementBlock("tr",{key:D},[r.createElementVNode("td",w9,r.toDisplayString((l.value-1)*100+D+1),1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(M,(x,w)=>(r.openBlock(),r.createElementBlock("td",{key:w},r.toDisplayString(x),1))),128))]))),128))])]))]),!i.value&&!a.value&&m.value>1?(r.openBlock(),r.createElementBlock("div",x9,[r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",disabled:l.value<=1,onClick:E[0]||(E[0]=M=>l.value--)},"‹",8,S9),r.createElementVNode("span",E9,r.toDisplayString(l.value)+" / "+r.toDisplayString(m.value)+" ("+r.toDisplayString(b.value.length)+" satır)",1),r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",disabled:l.value>=m.value,onClick:E[1]||(E[1]=M=>l.value++)},"›",8,C9)])):r.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-db55a104"]])},Symbol.toStringTag,{value:"Module"})),B9={class:"filex-viewer-archive"},D9={key:0,class:"filex-viewer-fallback"},T9={key:1,class:"filex-viewer-fallback"},A9={key:2,class:"filex-viewer-fallback"},M9={key:3,class:"filex-viewer-archive__pane"},N9={class:"filex-viewer-archive__summary"},I9={class:"filex-viewer-archive__table"},z9={class:"filex-viewer-archive__size"},F9=["data-dir"],L9={class:"filex-viewer-archive__icon"},O9={class:"filex-viewer-archive__size"},P9=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"ArchiveViewer",props:{url:{},filePath:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref([]),a=r.ref(!0),i=r.ref(null);function o(u,h){return t.t?t.t(u):h}function s(u){return u<1024?`${u} B`:u<1024*1024?`${(u/1024).toFixed(1)} KB`:u<1024*1024*1024?`${(u/(1024*1024)).toFixed(1)} MB`:`${(u/(1024*1024*1024)).toFixed(2)} GB`}async function l(){if(a.value=!0,i.value=null,n.value=[],!t.filePath){i.value=o("viewer.archive.error","Could not read archive contents."),a.value=!1;return}try{const u=await fetch("/api/files/archive/list",{method:"POST",credentials:t.authCredentials||"include",headers:{"Content-Type":"application/json",...t.authHeaders?t.authHeaders():{}},body:JSON.stringify({path:t.filePath})});if(!u.ok)throw new Error(`${u.status} ${u.statusText}`);const h=await u.json();n.value=h.entries??[]}catch(u){i.value=u instanceof Error?u.message:o("viewer.archive.error","Could not read archive contents.")}finally{a.value=!1}}r.onMounted(l),r.watch(()=>t.filePath,l);const c=r.computed(()=>n.value.reduce((u,h)=>u+(h.size||0),0)),d=r.computed(()=>n.value.filter(u=>!u.is_dir).length);return(u,h)=>(r.openBlock(),r.createElementBlock("div",B9,[i.value?(r.openBlock(),r.createElementBlock("div",D9,[h[0]||(h[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"🗜️",-1)),r.createElementVNode("p",null,r.toDisplayString(i.value),1)])):a.value?(r.openBlock(),r.createElementBlock("div",T9,[h[1]||(h[1]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(o("viewer.loading","Loading…")),1)])):n.value.length===0?(r.openBlock(),r.createElementBlock("div",A9,[h[2]||(h[2]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"🗜️",-1)),r.createElementVNode("p",null,r.toDisplayString(o("viewer.archive.empty","Archive is empty.")),1)])):(r.openBlock(),r.createElementBlock("div",M9,[r.createElementVNode("div",N9,r.toDisplayString(d.value)+" "+r.toDisplayString(o("viewer.archive.entries","{n} files").replace("{n}",String(d.value)))+" · "+r.toDisplayString(s(c.value)),1),r.createElementVNode("table",I9,[r.createElementVNode("thead",null,[r.createElementVNode("tr",null,[r.createElementVNode("th",null,r.toDisplayString(o("viewer.name","Name")),1),r.createElementVNode("th",z9,r.toDisplayString(o("viewer.size","Size")),1)])]),r.createElementVNode("tbody",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.value,(f,p)=>(r.openBlock(),r.createElementBlock("tr",{key:p,"data-dir":f.is_dir?"1":"0"},[r.createElementVNode("td",null,[r.createElementVNode("span",L9,r.toDisplayString(f.is_dir?"📁":"📄"),1),r.createTextVNode(" "+r.toDisplayString(f.name),1)]),r.createElementVNode("td",O9,r.toDisplayString(f.is_dir?"":s(f.size)),1)],8,F9))),128))])])]))]))}}),[["__scopeId","data-v-93df7b13"]])},Symbol.toStringTag,{value:"Module"}));class ze extends Error{constructor(t,n){var a="KaTeX parse error: "+t,i,o,s=n&&n.loc;if(s&&s.start<=s.end){var l=s.lexer.input;i=s.start,o=s.end,i===l.length?a+=" at end of input: ":a+=" at position "+(i+1)+": ";var c=l.slice(i,o).replace(/[^]/g,"$&̲"),d;i>15?d="…"+l.slice(i-15,i):d=l.slice(0,i);var u;o+15<l.length?u=l.slice(o,o+15)+"…":u=l.slice(o),a+=d+c+u}super(a),this.name="ParseError",Object.setPrototypeOf(this,ze.prototype),this.position=i,i!=null&&o!=null&&(this.length=o-i),this.rawMessage=t}}var R9=/([A-Z])/g,u0=e=>e.replace(R9,"-$1").toLowerCase(),V9={"&":"&",">":">","<":"<",'"':""","'":"'"},$9=/[&><"']/g,_n=e=>String(e).replace($9,t=>V9[t]),nl=e=>e.type==="ordgroup"||e.type==="color"?e.body.length===1?nl(e.body[0]):e:e.type==="font"?nl(e.body):e,U9=new Set(["mathord","textord","atom"]),Vr=e=>U9.has(nl(e).type),H9=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},rl={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>e==="Infinity"?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function G9(e){if("default"in e)return e.default;var t=e.type,n=Array.isArray(t)?t[0]:t;if(typeof n!="string")return n.enum[0];switch(n){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class f0{constructor(t){t===void 0&&(t={}),t=t||{};for(var n of Object.keys(rl)){var a=rl[n],i=t[n];this[n]=i!==void 0?a.processor?a.processor(i):i:G9(a)}}reportNonstrict(t,n,a){var i=this.strict;if(typeof i=="function"&&(i=i(t,n,a)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new ze("LaTeX-incompatible input and strict mode is set to 'error': "+(n+" ["+t+"]"),a);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]"))}}useStrictBehavior(t,n,a){var i=this.strict;if(typeof i=="function")try{i=i(t,n,a)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]")),!1)}isTrusted(t){if("url"in t&&t.url&&!t.protocol){var n=H9(t.url);if(n==null)return!1;t.protocol=n}var a=typeof this.trust=="function"?this.trust(t):this.trust;return!!a}}class ca{constructor(t,n,a){this.id=t,this.size=n,this.cramped=a}sup(){return Er[j9[this.id]]}sub(){return Er[q9[this.id]]}fracNum(){return Er[K9[this.id]]}fracDen(){return Er[W9[this.id]]}cramp(){return Er[Y9[this.id]]}text(){return Er[X9[this.id]]}isTight(){return this.size>=2}}var h0=0,al=1,ti=2,$r=3,Zi=4,Jn=5,ni=6,Sn=7,Er=[new ca(h0,0,!1),new ca(al,0,!0),new ca(ti,1,!1),new ca($r,1,!0),new ca(Zi,2,!1),new ca(Jn,2,!0),new ca(ni,3,!1),new ca(Sn,3,!0)],j9=[Zi,Jn,Zi,Jn,ni,Sn,ni,Sn],q9=[Jn,Jn,Jn,Jn,Sn,Sn,Sn,Sn],K9=[ti,$r,Zi,Jn,ni,Sn,ni,Sn],W9=[$r,$r,Jn,Jn,Sn,Sn,Sn,Sn],Y9=[al,al,$r,$r,Jn,Jn,Sn,Sn],X9=[h0,al,ti,$r,ti,$r,ti,$r],vt={DISPLAY:Er[h0],TEXT:Er[ti],SCRIPT:Er[Zi],SCRIPTSCRIPT:Er[ni]},p0=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function Z9(e){for(var t=0;t<p0.length;t++)for(var n=p0[t],a=0;a<n.blocks.length;a++){var i=n.blocks[a];if(e>=i[0]&&e<=i[1])return n.name}return null}var il=[];p0.forEach(e=>e.blocks.forEach(t=>il.push(...t)));function gf(e){for(var t=0;t<il.length;t+=2)if(e>=il[t]&&e<=il[t+1])return!0;return!1}var dn=e=>e+" "+e,ri=80,J9=function(t,n){return"M95,"+(622+t+n)+`
|
|
7
|
+
`),M=(E.match(/\t/g)||[]).length,D=(E.match(/;/g)||[]).length,x=(E.match(/,/g)||[]).length;return M>x&&M>D?" ":D>x&&D>M?";":","}async function f(y,E){try{const M=await Promise.resolve().then(()=>QD);return(M.default??M).parse(y,{delimiter:E,skipEmptyLines:!0,header:!1}).data.slice(0,pf)}catch{return y.split(/\r?\n/).filter(M=>M.length>0).slice(0,pf).map(M=>M.split(E))}}async function p(){var D;i.value=!0,a.value=null,n.value=[],l.value=1;const y=++u;let E;try{E=await tl({url:t.url,headers:((D=t.authHeaders)==null?void 0:D.call(t))??{},credentials:t.authCredentials})}catch(x){a.value=x instanceof Error?x.message:"fetch failed",i.value=!1;return}if(y!==u)return;t.ext==="tsv"?c.value=" ":c.value=h(E.slice(0,4096));const M=d.value==="auto"?c.value:d.value;n.value=await f(E,M),i.value=!1}r.onMounted(p),r.watch(()=>t.url,p),r.watch(()=>d.value,()=>{n.value.length!==0&&p()});const k=r.computed(()=>!o.value||n.value.length===0?n.value.length===0?[]:n.value[0].map((y,E)=>`Col ${E+1}`):n.value[0]),v=r.computed(()=>o.value?n.value.slice(1):n.value),b=r.computed(()=>{const y=s.value.trim().toLowerCase();return y?v.value.filter(E=>E.some(M=>(M||"").toLowerCase().includes(y))):v.value}),m=r.computed(()=>Math.max(1,Math.ceil(b.value.length/d0))),g=r.computed(()=>{const y=(l.value-1)*d0;return b.value.slice(y,y+d0)});r.watch(s,()=>{l.value=1});function _(y,E){return t.t?t.t(y):E}return(y,E)=>(r.openBlock(),r.createElementBlock("div",v9,[r.createElementVNode("div",y9,[a.value?(r.openBlock(),r.createElementBlock("div",b9,[E[2]||(E[2]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"📊",-1)),r.createElementVNode("p",null,r.toDisplayString(a.value),1)])):i.value?(r.openBlock(),r.createElementBlock("div",_9,[E[3]||(E[3]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(_("viewer.loading","Loading…")),1)])):(r.openBlock(),r.createElementBlock("table",k9,[r.createElementVNode("thead",null,[r.createElementVNode("tr",null,[E[4]||(E[4]=r.createElementVNode("th",{class:"filex-viewer-csv__rownum"},"#",-1)),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(k.value,(M,D)=>(r.openBlock(),r.createElementBlock("th",{key:D},r.toDisplayString(M),1))),128))])]),r.createElementVNode("tbody",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(g.value,(M,D)=>(r.openBlock(),r.createElementBlock("tr",{key:D},[r.createElementVNode("td",w9,r.toDisplayString((l.value-1)*100+D+1),1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(M,(x,w)=>(r.openBlock(),r.createElementBlock("td",{key:w},r.toDisplayString(x),1))),128))]))),128))])]))]),!i.value&&!a.value&&m.value>1?(r.openBlock(),r.createElementBlock("div",x9,[r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",disabled:l.value<=1,onClick:E[0]||(E[0]=M=>l.value--)},"‹",8,S9),r.createElementVNode("span",E9,r.toDisplayString(l.value)+" / "+r.toDisplayString(m.value)+" ("+r.toDisplayString(b.value.length)+" satır)",1),r.createElementVNode("button",{type:"button",class:"filex-viewer-btn",disabled:l.value>=m.value,onClick:E[1]||(E[1]=M=>l.value++)},"›",8,C9)])):r.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-db55a104"]])},Symbol.toStringTag,{value:"Module"})),B9={class:"filex-viewer-archive"},D9={key:0,class:"filex-viewer-fallback"},T9={key:1,class:"filex-viewer-fallback"},A9={key:2,class:"filex-viewer-fallback"},M9={key:3,class:"filex-viewer-archive__pane"},N9={class:"filex-viewer-archive__summary"},I9={class:"filex-viewer-archive__table"},z9={class:"filex-viewer-archive__size"},F9=["data-dir"],L9={class:"filex-viewer-archive__icon"},O9={class:"filex-viewer-archive__size"},P9=Object.freeze(Object.defineProperty({__proto__:null,default:xn(r.defineComponent({__name:"ArchiveViewer",props:{url:{},filePath:{},ext:{},t:{type:Function},authHeaders:{type:Function},authCredentials:{}},setup(e){const t=e,n=r.ref([]),a=r.ref(!0),i=r.ref(null);function o(u,h){return t.t?t.t(u):h}function s(u){return u<1024?`${u} B`:u<1024*1024?`${(u/1024).toFixed(1)} KB`:u<1024*1024*1024?`${(u/(1024*1024)).toFixed(1)} MB`:`${(u/(1024*1024*1024)).toFixed(2)} GB`}async function l(){if(a.value=!0,i.value=null,n.value=[],!t.filePath){i.value=o("viewer.archive.error","Could not read archive contents."),a.value=!1;return}try{const u=await fetch("/api/files/archive/list",{method:"POST",credentials:t.authCredentials||"same-origin",headers:{"Content-Type":"application/json",...t.authHeaders?t.authHeaders():{}},body:JSON.stringify({path:t.filePath})});if(!u.ok)throw new Error(`${u.status} ${u.statusText}`);const h=await u.json();n.value=h.entries??[]}catch(u){i.value=u instanceof Error?u.message:o("viewer.archive.error","Could not read archive contents.")}finally{a.value=!1}}r.onMounted(l),r.watch(()=>t.filePath,l);const c=r.computed(()=>n.value.reduce((u,h)=>u+(h.size||0),0)),d=r.computed(()=>n.value.filter(u=>!u.is_dir).length);return(u,h)=>(r.openBlock(),r.createElementBlock("div",B9,[i.value?(r.openBlock(),r.createElementBlock("div",D9,[h[0]||(h[0]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"🗜️",-1)),r.createElementVNode("p",null,r.toDisplayString(i.value),1)])):a.value?(r.openBlock(),r.createElementBlock("div",T9,[h[1]||(h[1]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"⏳",-1)),r.createElementVNode("p",null,r.toDisplayString(o("viewer.loading","Loading…")),1)])):n.value.length===0?(r.openBlock(),r.createElementBlock("div",A9,[h[2]||(h[2]=r.createElementVNode("span",{class:"filex-viewer-fallback__icon"},"🗜️",-1)),r.createElementVNode("p",null,r.toDisplayString(o("viewer.archive.empty","Archive is empty.")),1)])):(r.openBlock(),r.createElementBlock("div",M9,[r.createElementVNode("div",N9,r.toDisplayString(d.value)+" "+r.toDisplayString(o("viewer.archive.entries","{n} files").replace("{n}",String(d.value)))+" · "+r.toDisplayString(s(c.value)),1),r.createElementVNode("table",I9,[r.createElementVNode("thead",null,[r.createElementVNode("tr",null,[r.createElementVNode("th",null,r.toDisplayString(o("viewer.name","Name")),1),r.createElementVNode("th",z9,r.toDisplayString(o("viewer.size","Size")),1)])]),r.createElementVNode("tbody",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.value,(f,p)=>(r.openBlock(),r.createElementBlock("tr",{key:p,"data-dir":f.is_dir?"1":"0"},[r.createElementVNode("td",null,[r.createElementVNode("span",L9,r.toDisplayString(f.is_dir?"📁":"📄"),1),r.createTextVNode(" "+r.toDisplayString(f.name),1)]),r.createElementVNode("td",O9,r.toDisplayString(f.is_dir?"":s(f.size)),1)],8,F9))),128))])])]))]))}}),[["__scopeId","data-v-49535b4c"]])},Symbol.toStringTag,{value:"Module"}));class ze extends Error{constructor(t,n){var a="KaTeX parse error: "+t,i,o,s=n&&n.loc;if(s&&s.start<=s.end){var l=s.lexer.input;i=s.start,o=s.end,i===l.length?a+=" at end of input: ":a+=" at position "+(i+1)+": ";var c=l.slice(i,o).replace(/[^]/g,"$&̲"),d;i>15?d="…"+l.slice(i-15,i):d=l.slice(0,i);var u;o+15<l.length?u=l.slice(o,o+15)+"…":u=l.slice(o),a+=d+c+u}super(a),this.name="ParseError",Object.setPrototypeOf(this,ze.prototype),this.position=i,i!=null&&o!=null&&(this.length=o-i),this.rawMessage=t}}var R9=/([A-Z])/g,u0=e=>e.replace(R9,"-$1").toLowerCase(),V9={"&":"&",">":">","<":"<",'"':""","'":"'"},$9=/[&><"']/g,_n=e=>String(e).replace($9,t=>V9[t]),nl=e=>e.type==="ordgroup"||e.type==="color"?e.body.length===1?nl(e.body[0]):e:e.type==="font"?nl(e.body):e,U9=new Set(["mathord","textord","atom"]),Vr=e=>U9.has(nl(e).type),H9=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},rl={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>e==="Infinity"?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function G9(e){if("default"in e)return e.default;var t=e.type,n=Array.isArray(t)?t[0]:t;if(typeof n!="string")return n.enum[0];switch(n){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class f0{constructor(t){t===void 0&&(t={}),t=t||{};for(var n of Object.keys(rl)){var a=rl[n],i=t[n];this[n]=i!==void 0?a.processor?a.processor(i):i:G9(a)}}reportNonstrict(t,n,a){var i=this.strict;if(typeof i=="function"&&(i=i(t,n,a)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new ze("LaTeX-incompatible input and strict mode is set to 'error': "+(n+" ["+t+"]"),a);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]"))}}useStrictBehavior(t,n,a){var i=this.strict;if(typeof i=="function")try{i=i(t,n,a)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]")),!1)}isTrusted(t){if("url"in t&&t.url&&!t.protocol){var n=H9(t.url);if(n==null)return!1;t.protocol=n}var a=typeof this.trust=="function"?this.trust(t):this.trust;return!!a}}class ca{constructor(t,n,a){this.id=t,this.size=n,this.cramped=a}sup(){return Er[j9[this.id]]}sub(){return Er[q9[this.id]]}fracNum(){return Er[K9[this.id]]}fracDen(){return Er[W9[this.id]]}cramp(){return Er[Y9[this.id]]}text(){return Er[X9[this.id]]}isTight(){return this.size>=2}}var h0=0,al=1,ti=2,$r=3,Zi=4,Jn=5,ni=6,Sn=7,Er=[new ca(h0,0,!1),new ca(al,0,!0),new ca(ti,1,!1),new ca($r,1,!0),new ca(Zi,2,!1),new ca(Jn,2,!0),new ca(ni,3,!1),new ca(Sn,3,!0)],j9=[Zi,Jn,Zi,Jn,ni,Sn,ni,Sn],q9=[Jn,Jn,Jn,Jn,Sn,Sn,Sn,Sn],K9=[ti,$r,Zi,Jn,ni,Sn,ni,Sn],W9=[$r,$r,Jn,Jn,Sn,Sn,Sn,Sn],Y9=[al,al,$r,$r,Jn,Jn,Sn,Sn],X9=[h0,al,ti,$r,ti,$r,ti,$r],vt={DISPLAY:Er[h0],TEXT:Er[ti],SCRIPT:Er[Zi],SCRIPTSCRIPT:Er[ni]},p0=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function Z9(e){for(var t=0;t<p0.length;t++)for(var n=p0[t],a=0;a<n.blocks.length;a++){var i=n.blocks[a];if(e>=i[0]&&e<=i[1])return n.name}return null}var il=[];p0.forEach(e=>e.blocks.forEach(t=>il.push(...t)));function gf(e){for(var t=0;t<il.length;t+=2)if(e>=il[t]&&e<=il[t+1])return!0;return!1}var dn=e=>e+" "+e,ri=80,J9=function(t,n){return"M95,"+(622+t+n)+`
|
|
8
8
|
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
|
|
9
9
|
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
|
|
10
10
|
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
|