@brftech/filex 0.16.2 → 0.17.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.
Files changed (25) hide show
  1. package/dist/{ArchiveViewer-BRhQeHjN.js → ArchiveViewer-iedTUlnO.js} +2 -2
  2. package/dist/{ArchiveViewer-BRhQeHjN.js.map → ArchiveViewer-iedTUlnO.js.map} +1 -1
  3. package/dist/{CsvViewer-DiKJunjU.js → CsvViewer-tJpSuHfA.js} +2 -2
  4. package/dist/{CsvViewer-DiKJunjU.js.map → CsvViewer-tJpSuHfA.js.map} +1 -1
  5. package/dist/{DrawioViewer-DHUNZ-cm.js → DrawioViewer-BRXinGxz.js} +2 -2
  6. package/dist/{DrawioViewer-DHUNZ-cm.js.map → DrawioViewer-BRXinGxz.js.map} +1 -1
  7. package/dist/{EpubViewer-DUccfRCX.js → EpubViewer-C4hng2mp.js} +2 -2
  8. package/dist/{EpubViewer-DUccfRCX.js.map → EpubViewer-C4hng2mp.js.map} +1 -1
  9. package/dist/{IpynbViewer-ByPvEj7P.js → IpynbViewer-DafrFVyB.js} +2 -2
  10. package/dist/{IpynbViewer-ByPvEj7P.js.map → IpynbViewer-DafrFVyB.js.map} +1 -1
  11. package/dist/{MermaidViewer-C-0RWB_P.js → MermaidViewer-C_6OuVT2.js} +2 -2
  12. package/dist/{MermaidViewer-C-0RWB_P.js.map → MermaidViewer-C_6OuVT2.js.map} +1 -1
  13. package/dist/{PsdViewer-DyhW99oB.js → PsdViewer-BoUZQx-I.js} +2 -2
  14. package/dist/{PsdViewer-DyhW99oB.js.map → PsdViewer-BoUZQx-I.js.map} +1 -1
  15. package/dist/{TiffViewer-CqNLy9fe.js → TiffViewer-MbyWD144.js} +2 -2
  16. package/dist/{TiffViewer-CqNLy9fe.js.map → TiffViewer-MbyWD144.js.map} +1 -1
  17. package/dist/{Viewer3D-B7nB2bLe.js → Viewer3D-DE8TJ0Bd.js} +2 -2
  18. package/dist/{Viewer3D-B7nB2bLe.js.map → Viewer3D-DE8TJ0Bd.js.map} +1 -1
  19. package/dist/filex.js +1 -1
  20. package/dist/filex.umd.cjs +2 -2
  21. package/dist/filex.umd.cjs.map +1 -1
  22. package/dist/{index-Cmzc-jRF.js → index-D6evpOpY.js} +2289 -2289
  23. package/dist/{index-Cmzc-jRF.js.map → index-D6evpOpY.js.map} +1 -1
  24. package/dist/style.css +1 -1
  25. package/package.json +2 -2
@@ -17,11 +17,11 @@
17
17
  * @vue/runtime-dom v3.5.34
18
18
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
19
19
  * @license MIT
20
- **/let id;const fg=typeof window<"u"&&window.trustedTypes;if(fg)try{id=fg.createPolicy("vue",{createHTML:e=>e})}catch{}const dg=id?e=>id.createHTML(e):e=>e,M7="http://www.w3.org/2000/svg",O7="http://www.w3.org/1998/Math/MathML",ci=typeof document<"u"?document:null,pg=ci&&ci.createElement("template"),I7={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,n)=>{const a=t==="svg"?ci.createElementNS(M7,e):t==="mathml"?ci.createElementNS(O7,e):r?ci.createElement(e,{is:r}):ci.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>ci.createTextNode(e),createComment:e=>ci.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ci.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,n,a,i){const o=r?r.previousSibling:t.lastChild;if(a&&(a===i||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),r),!(a===i||!(a=a.nextSibling)););else{pg.innerHTML=dg(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const s=pg.content;if(n==="svg"||n==="mathml"){const l=s.firstChild;for(;l.firstChild;)s.appendChild(l.firstChild);s.removeChild(l)}t.insertBefore(s,r)}return[o?o.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},Bi="transition",Cl="animation",Al=Symbol("_vtc"),hg={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},R7=Er({},pv,hg),fi=(e=>(e.displayName="Transition",e.props=R7,e))((e,{slots:t})=>cg(Ow,N7(e),t)),So=(e,t=[])=>{St(e)?e.forEach(r=>r(...t)):e&&e(...t)},mg=e=>e?St(e)?e.some(t=>t.length>1):e.length>1:!1;function N7(e){const t={};for(const P in e)P in hg||(t[P]=e[P]);if(e.css===!1)return t;const{name:r="v",type:n,duration:a,enterFromClass:i=`${r}-enter-from`,enterActiveClass:o=`${r}-enter-active`,enterToClass:s=`${r}-enter-to`,appearFromClass:l=i,appearActiveClass:u=o,appearToClass:c=s,leaveFromClass:f=`${r}-leave-from`,leaveActiveClass:d=`${r}-leave-active`,leaveToClass:p=`${r}-leave-to`}=e,h=F7(a),m=h&&h[0],b=h&&h[1],{onBeforeEnter:g,onEnter:v,onEnterCancelled:y,onLeave:_,onLeaveCancelled:k,onBeforeAppear:T=g,onAppear:E=v,onAppearCancelled:w=y}=t,x=(P,F,j,te)=>{P._enterCancelled=te,Co(P,F?c:s),Co(P,F?u:o),j&&j()},S=(P,F)=>{P._isLeaving=!1,Co(P,f),Co(P,p),Co(P,d),F&&F()},M=P=>(F,j)=>{const te=P?E:v,$=()=>x(F,P,j);So(te,[F,$]),vg(()=>{Co(F,P?l:i),di(F,P?c:s),mg(te)||gg(F,n,m,$)})};return Er(t,{onBeforeEnter(P){So(g,[P]),di(P,i),di(P,o)},onBeforeAppear(P){So(T,[P]),di(P,l),di(P,u)},onEnter:M(!1),onAppear:M(!0),onLeave(P,F){P._isLeaving=!0;const j=()=>S(P,F);di(P,f),P._enterCancelled?(di(P,d),yg(P)):(yg(P),di(P,d)),vg(()=>{P._isLeaving&&(Co(P,f),di(P,p),mg(_)||gg(P,n,b,j))}),So(_,[P,j])},onEnterCancelled(P){x(P,!1,void 0,!0),So(y,[P])},onAppearCancelled(P){x(P,!0,void 0,!0),So(w,[P])},onLeaveCancelled(P){S(P),So(k,[P])}})}function F7(e){if(e==null)return null;if(lr(e))return[od(e.enter),od(e.leave)];{const t=od(e);return[t,t]}}function od(e){return Sf(e)}function di(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.add(r)),(e[Al]||(e[Al]=new Set)).add(t)}function Co(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const r=e[Al];r&&(r.delete(t),r.size||(e[Al]=void 0))}function vg(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let L7=0;function gg(e,t,r,n){const a=e._endId=++L7,i=()=>{a===e._endId&&n()};if(r!=null)return setTimeout(i,r);const{type:o,timeout:s,propCount:l}=z7(e,t);if(!o)return n();const u=o+"end";let c=0;const f=()=>{e.removeEventListener(u,d),i()},d=p=>{p.target===e&&++c>=l&&f()};setTimeout(()=>{c<l&&f()},s+1),e.addEventListener(u,d)}function z7(e,t){const r=window.getComputedStyle(e),n=h=>(r[h]||"").split(", "),a=n(`${Bi}Delay`),i=n(`${Bi}Duration`),o=bg(a,i),s=n(`${Cl}Delay`),l=n(`${Cl}Duration`),u=bg(s,l);let c=null,f=0,d=0;t===Bi?o>0&&(c=Bi,f=o,d=i.length):t===Cl?u>0&&(c=Cl,f=u,d=l.length):(f=Math.max(o,u),c=f>0?o>u?Bi:Cl:null,d=c?c===Bi?i.length:l.length:0);const p=c===Bi&&/\b(?:transform|all)(?:,|$)/.test(n(`${Bi}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:p}}function bg(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((r,n)=>_g(r)+_g(e[n])))}function _g(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function yg(e){return(e?e.ownerDocument:document).body.offsetHeight}function P7(e,t,r){const n=e[Al];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const p0=Symbol("_vod"),xg=Symbol("_vsh"),sd={name:"show",beforeMount(e,{value:t},{transition:r}){e[p0]=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):Tl(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:n}){!t!=!r&&(n?t?(n.beforeEnter(e),Tl(e,!0),n.enter(e)):n.leave(e,()=>{Tl(e,!1)}):Tl(e,t))},beforeUnmount(e,{value:t}){Tl(e,t)}};function Tl(e,t){e.style.display=t?e[p0]:"none",e[xg]=!t}const B7=Symbol(""),$7=/(?:^|;)\s*display\s*:/;function U7(e,t,r){const n=e.style,a=vr(r);let i=!1;if(r&&!a){if(t)if(vr(t))for(const o of t.split(";")){const s=o.slice(0,o.indexOf(":")).trim();r[s]==null&&Dl(n,s,"")}else for(const o in t)r[o]==null&&Dl(n,o,"");for(const o in r){o==="display"&&(i=!0);const s=r[o];s!=null?q7(e,o,!vr(t)&&t?t[o]:void 0,s)||Dl(n,o,s):Dl(n,o,"")}}else if(a){if(t!==r){const o=n[B7];o&&(r+=";"+o),n.cssText=r,i=$7.test(r)}}else t&&e.removeAttribute("style");p0 in e&&(e[p0]=i?n.display:"",e[xg]&&(n.display="none"))}const wg=/\s*!important$/;function Dl(e,t,r){if(St(r))r.forEach(n=>Dl(e,t,n));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const n=H7(e,t);wg.test(r)?e.setProperty(Tn(n),r.replace(wg,""),"important"):e[n]=r}}const kg=["Webkit","Moz","ms"],ld={};function H7(e,t){const r=ld[t];if(r)return r;let n=Kr(t);if(n!=="filter"&&n in e)return ld[t]=n;n=Bu(n);for(let a=0;a<kg.length;a++){const i=kg[a]+n;if(i in e)return ld[t]=i}return t}function q7(e,t,r,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&vr(n)&&r===n}const Eg="http://www.w3.org/1999/xlink";function Sg(e,t,r,n,a,i=L8(t)){n&&t.startsWith("xlink:")?r==null?e.removeAttributeNS(Eg,t.slice(6,t.length)):e.setAttributeNS(Eg,t,r):r==null||i&&!Dm(r)?e.removeAttribute(t):e.setAttribute(t,i?"":fa(r)?String(r):r)}function Cg(e,t,r,n,a){if(t==="innerHTML"||t==="textContent"){r!=null&&(e[t]=t==="innerHTML"?dg(r):r);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const s=i==="OPTION"?e.getAttribute("value")||"":e.value,l=r==null?e.type==="checkbox"?"on":"":String(r);(s!==l||!("_value"in e))&&(e.value=l),r==null&&e.removeAttribute(t),e._value=r;return}let o=!1;if(r===""||r==null){const s=typeof e[t];s==="boolean"?r=Dm(r):r==null&&s==="string"?(r="",o=!0):s==="number"&&(r=0,o=!0)}try{e[t]=r}catch{}o&&e.removeAttribute(a||t)}function $i(e,t,r,n){e.addEventListener(t,r,n)}function G7(e,t,r,n){e.removeEventListener(t,r,n)}const Ag=Symbol("_vei");function K7(e,t,r,n,a=null){const i=e[Ag]||(e[Ag]={}),o=i[t];if(n&&o)o.value=n;else{const[s,l]=V7(t);if(n){const u=i[t]=Y7(n,a);$i(e,s,u,l)}else o&&(G7(e,s,o,l),i[t]=void 0)}}const Tg=/(?:Once|Passive|Capture)$/;function V7(e){let t;if(Tg.test(e)){t={};let n;for(;n=e.match(Tg);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Tn(e.slice(2)),t]}let ud=0;const j7=Promise.resolve(),W7=()=>ud||(j7.then(()=>ud=0),ud=Date.now());function Y7(e,t){const r=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=r.attached)return;ha(Z7(n,r.value),t,5,[n])};return r.value=e,r.attached=W7(),r}function Z7(e,t){if(St(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(n=>a=>!a._stopped&&n&&n(a))}else return t}const Dg=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,X7=(e,t,r,n,a,i)=>{const o=a==="svg";t==="class"?P7(e,n,o):t==="style"?U7(e,r,n):Fu(t)?Lu(t)||K7(e,t,r,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):J7(e,t,n,o))?(Cg(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Sg(e,t,n,o,i,t!=="value")):e._isVueCE&&(Q7(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!vr(n)))?Cg(e,Kr(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Sg(e,t,n,o))};function J7(e,t,r,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Dg(t)&&Mt(r));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Dg(t)&&vr(r)?!1:t in e}function Q7(e,t){const r=e._def.props;if(!r)return!1;const n=Kr(t);return Array.isArray(r)?r.some(a=>Kr(a)===n):Object.keys(r).some(a=>Kr(a)===n)}const Mg={};function ek(e,t,r){let n=Nt(e,t);zu(n)&&(n=Er({},n,t));class a extends cd{constructor(o){super(n,o,r)}}return a.def=n,a}const tk=typeof HTMLElement<"u"?HTMLElement:class{};class cd extends tk{constructor(t,r={},n=Pg){super(),this._def=t,this._props=r,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Pg?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Er({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof cd){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Hr(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const r of t)this._setAttr(r.attributeName)}_resolveDef(){if(this._pendingResolve)return;for(let n=0;n<this.attributes.length;n++)this._setAttr(this.attributes[n].name);this._ob=new MutationObserver(this._processMutations.bind(this)),this._ob.observe(this,{attributes:!0});const t=(n,a=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:o}=n;let s;if(i&&!St(i))for(const l in i){const u=i[l];(u===Number||u&&u.type===Number)&&(l in this._props&&(this._props[l]=Sf(this._props[l])),(s||(s=Object.create(null)))[Kr(l)]=!0)}this._numberProps=s,this._resolveProps(n),this.shadowRoot&&this._applyStyles(o),this._mount(n)},r=this._def.__asyncLoader;r?this._pendingResolve=r().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}):t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const r=this._instance&&this._instance.exposed;if(r)for(const n in r)rr(this,n)||Object.defineProperty(this,n,{get:()=>Z(r[n])})}_resolveProps(t){const{props:r}=t,n=St(r)?r:Object.keys(r||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(Kr))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(i){this._setProp(a,i,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const r=this.hasAttribute(t);let n=r?this.getAttribute(t):Mg;const a=Kr(t);r&&this._numberProps&&this._numberProps[a]&&(n=Sf(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,r,n=!0,a=!1){if(r!==this._props[t]&&(this._dirty=!0,r===Mg?delete this._props[t]:(this._props[t]=r,t==="key"&&this._app&&(this._app._ceVNode.key=r)),a&&this._instance&&this._update(),n)){const i=this._ob;i&&(this._processMutations(i.takeRecords()),i.disconnect()),r===!0?this.setAttribute(Tn(t),""):typeof r=="string"||typeof r=="number"?this.setAttribute(Tn(t),r+""):r||this.removeAttribute(Tn(t)),i&&i.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),sk(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const r=Ot(this._def,Er(t,this._props));return this._instance||(r.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(i,o)=>{this.dispatchEvent(new CustomEvent(i,zu(o[0])?Er({detail:o},o[0]):{detail:o}))};n.emit=(i,...o)=>{a(i,o),Tn(i)!==i&&a(Tn(i),o)},this._setParent()}),r}_applyStyles(t,r,n){if(!t)return;if(r){if(r===this._def||this._styleChildren.has(r))return;this._styleChildren.add(r)}const a=this._nonce,i=this.shadowRoot,o=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i);let s=null;for(let l=t.length-1;l>=0;l--){const u=document.createElement("style");a&&u.setAttribute("nonce",a),u.textContent=t[l],i.insertBefore(u,s||o),s=u,l===0&&(n||this._styleAnchors.set(this._def,u),r&&this._styleAnchors.set(r,u))}}_getStyleAnchor(t){if(!t)return null;const r=this._styleAnchors.get(t);return r&&r.parentNode===this.shadowRoot?r:(r&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let r=0;r<t.childNodes.length;r++){const n=t.childNodes[r];if(!(n instanceof HTMLStyleElement))return n}return null}_parseSlots(){const t=this._slots={};let r;for(;r=this.firstChild;){const n=r.nodeType===1&&r.getAttribute("slot")||"default";(t[n]||(t[n]=[])).push(r),this.removeChild(r)}}_renderSlots(){const t=this._getSlots(),r=this._instance.type.__scopeId;for(let n=0;n<t.length;n++){const a=t[n],i=a.getAttribute("name")||"default",o=this._slots[i],s=a.parentNode;if(o)for(const l of o){if(r&&l.nodeType===1){const u=r+"-s",c=document.createTreeWalker(l,1);l.setAttribute(u,"");let f;for(;f=c.nextNode();)f.setAttribute(u,"")}s.insertBefore(l,a)}else for(;a.firstChild;)s.insertBefore(a.firstChild,a);s.removeChild(a)}}_getSlots(){const t=[this];this._teleportTargets&&t.push(...this._teleportTargets);const r=new Set;for(const n of t){const a=n.querySelectorAll("slot");for(let i=0;i<a.length;i++)r.add(a[i])}return Array.from(r)}_injectChildStyle(t,r){this._applyStyles(t.styles,t,r)}_beginPatch(){this._patching=!0,this._dirty=!1}_endPatch(){this._patching=!1,this._dirty&&this._instance&&this._update()}_hasShadowRoot(){return this._def.shadowRoot!==!1}_removeChildStyle(t){}}const is=e=>{const t=e.props["onUpdate:modelValue"]||!1;return St(t)?r=>$u(t,r):t};function rk(e){e.target.composing=!0}function Og(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const pi=Symbol("_assign");function Ig(e,t,r){return t&&(e=e.trim()),r&&(e=Uu(e)),e}const Fr={created(e,{modifiers:{lazy:t,trim:r,number:n}},a){e[pi]=is(a);const i=n||a.props&&a.props.type==="number";$i(e,t?"change":"input",o=>{o.target.composing||e[pi](Ig(e.value,r,i))}),(r||i)&&$i(e,"change",()=>{e.value=Ig(e.value,r,i)}),t||($i(e,"compositionstart",rk),$i(e,"compositionend",Og),$i(e,"change",Og))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:r,modifiers:{lazy:n,trim:a,number:i}},o){if(e[pi]=is(o),e.composing)return;const s=(i||e.type==="number")&&!/^0\d/.test(e.value)?Uu(e.value):e.value,l=t??"";if(s===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(n&&t===r||a&&e.value.trim()===l)||(e.value=l)}},os={deep:!0,created(e,t,r){e[pi]=is(r),$i(e,"change",()=>{const n=e._modelValue,a=Ol(e),i=e.checked,o=e[pi];if(St(n)){const s=Cf(n,a),l=s!==-1;if(i&&!l)o(n.concat(a));else if(!i&&l){const u=[...n];u.splice(s,1),o(u)}}else if(Zo(n)){const s=new Set(n);i?s.add(a):s.delete(a),o(s)}else o(Fg(e,i))})},mounted:Rg,beforeUpdate(e,t,r){e[pi]=is(r),Rg(e,t,r)}};function Rg(e,{value:t,oldValue:r},n){e._modelValue=t;let a;if(St(t))a=Cf(t,n.props.value)>-1;else if(Zo(t))a=t.has(n.props.value);else{if(t===r)return;a=Xo(t,Fg(e,!0))}e.checked!==a&&(e.checked=a)}const Ml={deep:!0,created(e,{value:t,modifiers:{number:r}},n){const a=Zo(t);$i(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>r?Uu(Ol(o)):Ol(o));e[pi](e.multiple?a?new Set(i):i:i[0]),e._assigning=!0,Hr(()=>{e._assigning=!1})}),e[pi]=is(n)},mounted(e,{value:t}){Ng(e,t)},beforeUpdate(e,t,r){e[pi]=is(r)},updated(e,{value:t}){e._assigning||Ng(e,t)}};function Ng(e,t){const r=e.multiple,n=St(t);if(!(r&&!n&&!Zo(t))){for(let a=0,i=e.options.length;a<i;a++){const o=e.options[a],s=Ol(o);if(r)if(n){const l=typeof s;l==="string"||l==="number"?o.selected=t.some(u=>String(u)===String(s)):o.selected=Cf(t,s)>-1}else o.selected=t.has(s);else if(Xo(Ol(o),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!r&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ol(e){return"_value"in e?e._value:e.value}function Fg(e,t){const r=t?"_trueValue":"_falseValue";return r in e?e[r]:t}const nk=["ctrl","shift","alt","meta"],ak={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>nk.some(r=>e[`${r}Key`]&&!t.includes(r))},Gt=(e,t)=>{if(!e)return e;const r=e._withMods||(e._withMods={}),n=t.join(".");return r[n]||(r[n]=(a,...i)=>{for(let o=0;o<t.length;o++){const s=ak[t[o]];if(s&&s(a,t))return}return e(a,...i)})},ik={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},hn=(e,t)=>{const r=e._withKeys||(e._withKeys={}),n=t.join(".");return r[n]||(r[n]=a=>{if(!("key"in a))return;const i=Tn(a.key);if(t.some(o=>o===i||ik[o]===i))return e(a)})},ok=Er({patchProp:X7},I7);let Lg;function zg(){return Lg||(Lg=f7(ok))}const sk=(...e)=>{zg().render(...e)},Pg=(...e)=>{const t=zg().createApp(...e),{mount:r}=t;return t.mount=n=>{const a=uk(n);if(!a)return;const i=t._component;!Mt(i)&&!i.render&&!i.template&&(i.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const o=r(a,!1,lk(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),o},t};function lk(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function uk(e){return vr(e)?document.querySelector(e):e}function Bg(e){return!!e&&e.enabled&&e.state==="ok"}function ck(e){const t=e.apiBase!=null?e.apiBase.replace(/\/+$/,""):null;function r(a,i){return a||(t===null?null:`${t}${i}`)}const n=e.endpoint??(t!==null?`${t}/api/files/manager`:null);if(!n)throw new Error("[@brftech/filex-core] config requires either `apiBase` or `endpoint`");return{manager:n,uploadInit:r(e.uploadInit,"/api/files/upload/init"),uploadFinalize:r(e.uploadFinalize,"/api/files/upload/finalize"),uploadAbort:r(e.uploadAbort,"/api/files/upload/abort"),shareCreate:r(e.shareCreate,"/api/files/share"),shareList:r(e.shareList,"/api/files/share"),shareDelete:r(e.shareDelete,"/api/files/share/{uuid}"),limits:r(e.limits,"/api/files/limits"),capabilities:r(e.capabilities,"/api/files/capabilities"),archiveList:r(e.archiveList,"/api/files/archive/list"),archiveExtract:r(e.archiveExtract,"/api/files/archive/extract"),archiveAdd:r(e.archiveAdd,"/api/files/archive/add"),copy:r(e.copy,"/api/files/copy"),moveAsync:r(e.moveAsync,"/api/files/move"),deleteAsync:r(e.deleteAsync,"/api/files/delete"),opsList:r(e.opsList,"/api/files/ops"),opsShow:r(e.opsShow,"/api/files/ops/{id}"),onlyOfficeConfig:r(e.onlyOfficeConfig,"/api/files/onlyoffice/config"),saveText:r(e.saveText,"/api/files/save-text"),restore:r(e.restore,"/api/files/restore"),trashList:r(e.trashList,"/api/files/manager/trash"),trashRestore:r(e.trashRestore,"/api/files/manager/restore")}}async function fk(e){if(typeof e=="function"){const t=e();return t instanceof Promise?await t:t}return e}function dk(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 pk(e){const t=ck(e),r=dk(e.auth);let n=null;async function a(ie={}){const se={Accept:"application/json",...ie};if(r.kind==="bearer"){const Ie=await fk(r.token);Ie&&(se.Authorization=`Bearer ${Ie}`,n=Ie)}else if(r.kind==="csrf")se["X-CSRF-TOKEN"]=r.csrf,se["X-Requested-With"]="XMLHttpRequest";else if(r.kind==="basic"){const Ie=btoa(`${r.user}:${r.pass}`);se.Authorization=`Basic ${Ie}`}return se}function i(ie={}){const se={Accept:"application/json",...ie};if(r.kind==="bearer"){const Ie=typeof r.token=="string"?r.token:n;Ie&&(se.Authorization=`Bearer ${Ie}`)}else if(r.kind==="csrf")se["X-CSRF-TOKEN"]=r.csrf,se["X-Requested-With"]="XMLHttpRequest";else if(r.kind==="basic"){const Ie=btoa(`${r.user}:${r.pass}`);se.Authorization=`Basic ${Ie}`}return se}function o(){return r.kind==="csrf"?"include":"same-origin"}function s(ie){const se=(e.locale??"tr")!=="en",$e={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"]}[ie];return $e?se?$e[0]:$e[1]:se?`Hata (${ie})`:`Error (${ie})`}async function l(ie,se={}){const Ie={...await a(),...se.headers??{}},$e=await fetch(ie,{...se,headers:Ie,credentials:o()});if(!$e.ok){const je=await $e.text().catch(()=>""),Ze=new Error(s($e.status));throw Ze.status=$e.status,Ze.detail=je.slice(0,300),Ze}return $e.json()}function u(ie=""){return t.manager.replace(/\/manager(\?.*)?$/,"/permissions")+ie}async function c(ie){return l(u()+"?path="+encodeURIComponent(ie))}async function f(ie){return l(u("/resolve")+"?email="+encodeURIComponent(ie))}async function d(ie){return l(u("/users")+"?q="+encodeURIComponent(ie))}async function p(ie){return l(u(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ie)})}async function h(ie,se){return l(u("/"+ie),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({level:se})})}async function m(ie){return l(u("/"+ie),{method:"DELETE"})}async function b(ie){return l(u("/invite"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ie)})}async function g(ie){return l(u("/share-mail"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ie)})}function v(ie){const se=new URLSearchParams;for(const[Ie,$e]of Object.entries(ie))$e!=null&&se.set(Ie,String($e));return se.toString()}function y(ie,se={}){const Ie=t.manager.includes("?")?"&":"?";return`${t.manager}${Ie}${v({q:ie,action:ie,...se})}`}async function _(ie){return l(y("index",{path:ie}))}async function k(ie,se){return l(y("search",{path:ie,filter:se}))}async function T(ie,se={}){const Ie=t.manager.replace(/\/manager(\?.*)?$/,"/search"),$e=Ie.includes("?")?"&":"?",je=`${Ie}${$e}${v({q:ie,limit:se.limit,scope:se.scope})}`,Ze=await l(je);return Array.isArray(Ze==null?void 0:Ze.results)?Ze.results:[]}async function E(ie){return l(y("subfolders",{path:ie}))}async function w(ie,se){return l(y("newfolder"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ie,name:se})})}async function x(ie,se,Ie){return l(y("rename"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ie,item:se,name:Ie})})}async function S(ie,se,Ie){return l(y("move"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ie,item:Ie,items:se.map($e=>({path:$e}))})})}async function M(ie,se){return l(y("delete"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ie,items:se.map(Ie=>({path:Ie}))})})}async function P(ie,se){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:ie,target:se})})}async function F(ie,se,Ie){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:ie,target:se,sourceDir:Ie})})}async function j(ie,se){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:ie,sourceDir:se})})}async function te(ie){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:ie})})}async function $(ie){if(!t.trashList)throw new Error("trashList endpoint not configured");const se=t.trashList,Ie=se.includes("?")?"&":"?",$e=ie?`${se}${Ie}storage=${encodeURIComponent(ie)}`:se;return l($e)}async function Y(ie){const se=t.trashRestore;if(!se)throw new Error("trashRestore endpoint not configured");let Ie=0;for(const $e of ie)try{await l(se,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:$e})}),Ie++}catch{}return{restored:Ie}}async function re(ie,se,Ie){const $e=new FormData;$e.append("path",ie);for(const Ze of se)$e.append("file[]",Ze,Ze.name);const je=await a();return new Promise((Ze,Me)=>{const Pe=new XMLHttpRequest;Pe.open("POST",y("upload"));for(const[qe,it]of Object.entries(je))qe!=="Content-Type"&&Pe.setRequestHeader(qe,it);Pe.withCredentials=o()==="include",Pe.upload.onprogress=qe=>{Ie&&qe.lengthComputable&&Ie(Math.round(qe.loaded/qe.total*100))},Pe.onload=()=>{if(Pe.status>=200&&Pe.status<300)try{Ze(JSON.parse(Pe.responseText))}catch(qe){Me(qe)}else Me(new Error(`${Pe.status} ${Pe.statusText}: ${Pe.responseText.slice(0,200)}`))},Pe.onerror=()=>Me(new Error("Network error")),Pe.send($e)})}function H(ie){return y("download",{path:ie})}function U(ie){return y("preview",{path:ie})}async function N(ie){const se=await a(),Ie=await fetch(U(ie),{headers:se,credentials:o()});if(!Ie.ok){const Me=await Ie.text().catch(()=>"");throw new Error(`${Ie.status} ${Ie.statusText}${Me?" — "+Me.slice(0,200):""}`)}const $e=await Ie.blob(),je=$e.type||Ie.headers.get("content-type")||"";return{url:URL.createObjectURL($e),blob:$e,mime:je}}async function V(ie){const se=await a(),Ie=await fetch(U(ie),{headers:se,credentials:o()});if(!Ie.ok){const $e=await Ie.text().catch(()=>"");throw new Error(`${Ie.status} ${Ie.statusText}${$e?" — "+$e.slice(0,200):""}`)}return Ie.arrayBuffer()}async function W(){return t.limits?l(t.limits):{max_upload_mb:1024}}async function ge(){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 ke(ie){if(!t.shareCreate)throw new Error("shareCreate endpoint not configured");return l(t.shareCreate,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ie)})}async function Oe(ie){if(!t.shareList)return{shares:[]};const se=t.shareList.includes("?")?"&":"?";return l(`${t.shareList}${se}path=${encodeURIComponent(ie)}`)}async function ze(ie){if(!t.shareDelete)throw new Error("shareDelete endpoint not configured");const se=t.shareDelete.replace("{uuid}",encodeURIComponent(ie));return l(se,{method:"DELETE"})}async function de(ie){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:ie})})).entries.map(Ie=>({name:Ie.name,size:Ie.size,isDir:Ie.is_dir,lastModified:Ie.mtime}))}}async function De(ie,se){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:ie,members:se})})}async function Ne(ie,se){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:ie,files:se})})}function Ue(ie=""){return t.manager.replace(/\/manager(\?.*)?$/,"/versions")+ie}async function ee(ie){const se=await l(Ue()+"?node_id="+encodeURIComponent(String(ie)));return Array.isArray(se==null?void 0:se.versions)?se.versions:[]}async function oe(ie,se,Ie=!0){await l(Ue("/restore"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ie,version_id:se,snapshot_current:Ie})})}async function ye(ie){await l(Ue("/snapshot"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ie})})}function we(ie=""){return t.manager.replace(/\/manager(\?.*)?$/,"/comments")+ie}async function ve(ie){const se=await l(we()+"?node_id="+encodeURIComponent(String(ie)));return Array.isArray(se==null?void 0:se.comments)?se.comments:[]}async function be(ie,se){return(await l(we(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ie,body:se})})).comment}async function le(ie){await l(we("/"+encodeURIComponent(String(ie))),{method:"DELETE"})}async function Te(){const ie=t.manager.replace(/\/manager(\?.*)?$/,"/ws-ticket");try{return await l(ie,{method:"POST"})}catch{return null}}return{wsTicket:Te,index:_,search:k,globalSearch:T,subfolders:E,newFolder:w,rename:x,move:S,copy:P,moveAsync:F,deleteAsync:j,deleteItems:M,restore:te,listTrash:$,restoreIds:Y,uploadMultipart:re,downloadUrl:H,previewUrl:U,fetchBlob:N,fetchArrayBuffer:V,limits:W,capabilities:ge,createShare:ke,listShares:Oe,revokeShare:ze,archiveList:de,archiveExtract:De,archiveAdd:Ne,listVersions:ee,restoreVersion:oe,snapshotVersion:ye,listComments:ve,addComment:be,deleteComment:le,listPermissions:c,resolveEmail:f,searchUsers:d,addPermission:p,updatePermission:h,deletePermission:m,invitePermission:b,shareMail:g,endpoints:t,authHeaders:a,authHeadersSync:i,credentialsMode:o,jsonFetch:l}}function hk(e,t){const r=e.chunkSize??5242880,n=Math.max(1,Math.min(8,e.parallelChunks??4));async function a(i){var d,p;const o=i.chunkSize??r,s=i.parallelChunks??n,l={id:crypto.randomUUID(),file:i.file,path:i.path,totalBytes:i.file.size,uploadedBytes:0,percent:0,status:"initializing",cancel:()=>{}};let u=!1;const c=[];l.cancel=()=>{u=!0;for(const h of c)h.abort()};function f(){var h;l.percent=l.totalBytes>0?Math.min(100,Math.round(l.uploadedBytes/l.totalBytes*100)):0,(h=i.onProgress)==null||h.call(i,l)}try{if(!t.endpoints.uploadInit)throw new Error("uploadInit not configured");const h=await t.jsonFetch(t.endpoints.uploadInit,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:i.path,filename:i.file.name,size:i.file.size,mime:i.file.type||"application/octet-stream"})});l.uploadId=h.uploadId,l.status="uploading",f();const m=h.chunkBytes??o,b=new Map,g=[];let v=0;async function y(x){const M=(x.partNumber-1)*(h.chunkBytes??o),P=Math.min(M+(h.chunkBytes??o),i.file.size),F=i.file.slice(M,P),j=new AbortController;c.push(j),await new Promise((te,$)=>{const Y=new XMLHttpRequest;Y.open("PUT",x.presignedUrl),Y.upload.onprogress=re=>{if(re.lengthComputable){const H=b.get(x.partNumber)??0,U=re.loaded-H;b.set(x.partNumber,re.loaded),l.uploadedBytes+=U,f()}},Y.onload=()=>{if(Y.status>=200&&Y.status<300){const re=(Y.getResponseHeader("ETag")||Y.getResponseHeader("etag")||"").trim();if(!re){$(new Error("Missing ETag on S3 response"));return}const H=P-M,U=b.get(x.partNumber)??0;U<H&&(l.uploadedBytes+=H-U,b.set(x.partNumber,H)),g.push({partNumber:x.partNumber,etag:re}),te()}else $(new Error(`S3 PUT ${x.partNumber} → ${Y.status}: ${Y.responseText.slice(0,200)}`))},Y.onerror=()=>$(new Error(`S3 PUT ${x.partNumber} network error`)),Y.onabort=()=>$(new DOMException("Aborted","AbortError")),j.signal.addEventListener("abort",()=>Y.abort()),Y.send(F)})}const _=2;async function k(x,S=0){try{await y(x)}catch(M){if(u)throw M;const P=M instanceof Error?M:new Error(String(M));if(P.name==="AbortError"||S>=_)throw P;const F=b.get(x.partNumber)??0;F>0&&(l.uploadedBytes=Math.max(0,l.uploadedBytes-F),b.delete(x.partNumber),f());const j=500*(S+1)+Math.floor(Math.random()*250);return await new Promise(te=>setTimeout(te,j)),k(x,S+1)}}async function T(){for(;!u&&v<h.parts.length;){const x=h.parts[v++];await k(x)}}const E=[];for(let x=0;x<s;x++)E.push(T());if(await Promise.all(E),u)throw new DOMException("Aborted by user","AbortError");if(!t.endpoints.uploadFinalize)throw new Error("uploadFinalize not configured");l.status="finalizing",g.sort((x,S)=>x.partNumber-S.partNumber);const w=await t.jsonFetch(t.endpoints.uploadFinalize,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uploadId:h.uploadId,parts:g})});return l.status="done",l.uploadedBytes=l.totalBytes,l.percent=100,f(),(d=i.onDone)==null||d.call(i,l,w),w}catch(h){const m=h instanceof Error?h:new Error(String(h));if(l.status=m.name==="AbortError"?"aborted":"error",l.error=m.message,f(),l.uploadId&&t.endpoints.uploadAbort&&l.status==="aborted")try{await t.jsonFetch(t.endpoints.uploadAbort,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uploadId:l.uploadId})})}catch{}throw(p=i.onError)==null||p.call(i,l,m),m}}return{uploadFile:a}}function mk(e){const t=ae(new Set),r=ae(null);function n(d,p={}){if(p.shift&&r.value){const h=e(),m=h.findIndex(_=>_.path===r.value),b=h.findIndex(_=>_.path===d);if(m===-1||b===-1){t.value=new Set([d]),r.value=d;return}const[g,v]=m<b?[m,b]:[b,m],y=new Set;for(let _=g;_<=v;_++)y.add(h[_].path);t.value=y;return}if(p.ctrl){const h=new Set(t.value);h.has(d)?h.delete(d):h.add(d),t.value=h,r.value=d;return}t.value=new Set([d]),r.value=d}function a(){t.value=new Set,r.value=null}function i(){t.value=new Set(e().map(d=>d.path))}function o(d){return t.value.has(d)}function s(d){const p=new Set(t.value);p.add(d),t.value=p}function l(d){const p=new Set(t.value);p.delete(d),t.value=p}const u=He(()=>t.value.size),c=He(()=>t.value.size===0),f=He(()=>e().filter(p=>t.value.has(p.path)));return{selected:t,anchor:r,click:n,clear:a,selectAll:i,has:o,add:s,remove:l,size:u,isEmpty:c,nodes:f}}const Ao=[{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"}],vk={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"},fd="filex.shortcuts";function gk(){try{const e=localStorage.getItem(fd);if(!e)return{};const t=JSON.parse(e);if(!t||typeof t!="object")return{};const r={};for(const[n,a]of Object.entries(t))typeof a=="string"&&Ao.some(i=>i.id===n)&&(r[n]=a);return r}catch{return{}}}const La=ae(gk());function dd(){try{Object.keys(La.value).length===0?localStorage.removeItem(fd):localStorage.setItem(fd,JSON.stringify(La.value))}catch{}}function $g(e){return Ao.find(t=>t.id===e)}function h0(e){var r;const t=La.value[e];return t!==void 0?t:((r=$g(e))==null?void 0:r.defaultCombo)??""}function pd(e,t){const r=$g(e);if(!r||r.customizable===!1)return;const n={...La.value};t===r.defaultCombo?delete n[e]:n[e]=t,La.value=n,dd()}function bk(e){if(!(e in La.value))return;const t={...La.value};delete t[e],La.value=t,dd()}function _k(){La.value={},dd()}function yk(e,t){var r;if(!e)return null;for(const n of Ao)if(n.id!==t){if((r=n.fixedCombos)!=null&&r.includes(e))return{id:n.id,fixed:!0};if(h0(n.id)===e)return{id:n.id,fixed:n.customizable===!1}}return null}const xk={" ":"Space",Spacebar:"Space",Escape:"Esc",Delete:"Del",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",PageUp:"PgUp",PageDown:"PgDn"},wk=new Set(["Control","Alt","Shift","Meta","AltGraph","CapsLock","NumLock","ScrollLock","Fn","Dead"]);function kk(e){const t=e.key;if(!t||wk.has(t))return null;const r=xk[t];return r||(t.length===1?t.toUpperCase():t)}function Ug(e){const t=kk(e);if(!t)return null;const r=[];(e.ctrlKey||e.metaKey)&&r.push("Ctrl"),e.altKey&&r.push("Alt");const n=t.length===1&&t.toUpperCase()===t.toLowerCase();return e.shiftKey&&!n&&r.push("Shift"),r.push(t),r.join("+")}function Hg(){return He(()=>Ao.map(e=>{const t=h0(e.id),r=e.fixedCombos??[];return{id:e.id,combo:t,fixedCombos:r,keys:[t,...r].filter(n=>!!n),labelKey:e.labelKey,groupKey:e.groupKey,customizable:e.customizable!==!1,overridden:La.value[e.id]!==void 0}}))}Ao.map(e=>({keys:[e.defaultCombo,...e.fixedCombos??[]].filter(t=>!!t),labelKey:e.labelKey,groupKey:e.groupKey}));function Ek(e,t){const r=He(()=>{const a=new Map;for(const i of Ao){const o=h0(i.id);o&&a.set(o,i)}return a});function n(a){var f;if(!e.value||a.key!=="Escape"&&document.querySelector(".fe-ctx-backdrop"))return;const o=a.target,s=!!(o&&(o.tagName==="INPUT"||o.tagName==="TEXTAREA"||o.tagName==="SELECT"||o.isContentEditable)),l=Ug(a);if(!l)return;if(l==="Backspace"){if(s)return;(f=t.hasSelection)!=null&&f.call(t)&&t.onDelete?(a.preventDefault(),t.onDelete()):t.onGoUp&&(a.preventDefault(),t.onGoUp());return}const u=r.value.get(l);if(!u||s&&!u.inForms||l==="Space"&&o&&typeof o.closest=="function"&&o.closest('button, a, select, summary, [role="button"], [role="menuitem"]'))return;const c=t[vk[u.id]];c&&(u.prevent!==!1&&a.preventDefault(),c())}Qt(()=>window.addEventListener("keydown",n)),nr(()=>window.removeEventListener("keydown",n))}const qg={tr:{"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; gündüz mü gece mi olduğu yukarıdaki seçim.","theme.mode.label":"Görünüm","theme.mode.light":"Gündüz","theme.mode.dark":"Gece","theme.mode.auto":"Otomatik","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."},en:{"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":"A theme only changes the colour palette — day or night is the choice above.","theme.mode.label":"Appearance","theme.mode.light":"Day","theme.mode.dark":"Night","theme.mode.auto":"Automatic","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."}};function yr(e){const t=He(()=>{const i=typeof e=="function"?e():e.value;return qg[i]??qg.tr});function r(i,o={}){const s=t.value[i]??i;return Object.entries(o).reduce((l,[u,c])=>l.replaceAll(`{${u}}`,String(c)),s)}function n(i){if(i==null||i<0)return"—";if(i===0)return`0 ${r("unit.bytes")}`;const o=[[1024**4,"unit.tb"],[1024**3,"unit.gb"],[1024**2,"unit.mb"],[1024,"unit.kb"],[1,"unit.bytes"]];for(const[s,l]of o)if(i>=s){const u=i/s;return`${u>=100?Math.round(u):u.toFixed(u>=10?1:2)} ${r(l)}`}return`${i} ${r("unit.bytes")}`}function a(i){if(i.basename===".trash")return r("node.trash");const o=i.basename.match(/^\d{8}-\d{6}-[A-Za-z0-9]+__(.+)$/);return o?o[1]:i.basename}return{t:r,formatSize:n,nodeDisplayName:a}}const Sk=2e3,Ck=8e3;function Gg(e){const t=(...s)=>{for(const l of s)if(typeof l=="number")return l;return 0},r=(...s)=>{for(const l of s)if(typeof l=="string"&&l!=="")return l;return null},n=String(e.status??"pending"),a=n==="ok"||n==="done"?"done":n==="failed"||n==="partial"||n==="error"?"error":n==="running"?"running":"pending",i=Array.isArray(e.sources)?e.sources:[],o=r(e.op_type,e.kind)??"delete";return{id:t(e.id),op_type:o==="copy"||o==="move"?o:"delete",status:a,progress_total:t(e.progress_total,e.total,i.length),progress_done:t(e.progress_done,e.done),target_path:r(e.target_path,e.dest),source_dir:r(e.source_dir),source_count:t(e.source_count,i.length),error_message:r(e.error_message,e.error),started_at:r(e.started_at),finished_at:r(e.finished_at),created_at:r(e.created_at)}}function Ak(e,t,r={}){const n=ae([]),a=new Set,i=new Map;let o=!1;const s=He(()=>n.value.some(h=>h.status==="pending"||h.status==="running"));let l;function u(){l||t.endpoints.opsList&&(l=setInterval(()=>{f()},Sk),f())}function c(){l&&(clearInterval(l),l=void 0)}async function f(){var h;if(t.endpoints.opsList)try{const b=((await t.jsonFetch(t.endpoints.opsList)).ops||[]).map(Gg);for(const w of b)(w.status==="done"||w.status==="error")&&!a.has(w.id)&&(a.add(w.id),i.set(w.id,Date.now()),o&&((h=r.onSettled)==null||h.call(r,w)));const g=new Set(n.value.map(w=>w.id)),v=b.filter(w=>w.status==="pending"||w.status==="running"?!0:o?g.has(w.id):!1),y=new Set(v.map(w=>w.id)),_=n.value.filter(w=>!y.has(w.id)),k=[...v,..._];o=!0;const T=Date.now(),E=k.filter(w=>{if(w.status==="pending"||w.status==="running")return!0;const x=i.get(w.id);return x!==void 0&&T-x<Ck});n.value=E,!s.value&&E.length===0&&c()}catch(m){console.warn("[usePendingOps] poll failed:",m)}}function d(h){const m=Gg(h);n.value.some(g=>g.id===m.id)||(n.value=[m,...n.value]),u()}function p(h){n.value=n.value.filter(m=>m.id!==h),i.delete(h)}return nr(()=>{c()}),{ops:n,hasActive:s,register:d,dismiss:p,poll:f,startPolling:u,stopPolling:c}}const Tk=25e3,Dk=15e3,Mk=6;class Ok{constructor(t){Ca(this,"ws",null);Ca(this,"opts");Ca(this,"closed",!1);Ca(this,"connecting",!1);Ca(this,"retries",0);Ca(this,"fallback",!1);Ca(this,"pingTimer",null);Ca(this,"reconnectTimer",null);Ca(this,"currentPath",null);Ca(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 r=t.ws_url.includes("?")?"&":"?";let n;try{n=new WebSocket(`${t.ws_url}${r}ticket=${encodeURIComponent(t.ticket)}`)}catch{this.fail();return}this.ws=n,n.onopen=()=>{var a,i;this.retries=0,this.setFallback(!1),(i=(a=this.opts.handlers).onStatus)==null||i.call(a,!0),this.currentPath&&this.send({type:"subscribe",path:this.currentPath}),this.currentFocus!==null&&this.send({type:"focus",file:this.currentFocus}),this.startPing()},n.onmessage=a=>{var s,l,u,c;let i;try{i=JSON.parse(typeof a.data=="string"?a.data:"")}catch{return}const o=i;(o==null?void 0:o.type)==="change"?(l=(s=this.opts.handlers).onChange)==null||l.call(s,i):(o==null?void 0:o.type)==="presence"&&((c=(u=this.opts.handlers).onPresence)==null||c.call(u,i))},n.onerror=()=>{},n.onclose=()=>{var a,i;this.stopPing(),this.ws=null,(i=(a=this.opts.handlers).onStatus)==null||i.call(a,!1),this.fail()}}fail(){if(this.closed||this.reconnectTimer)return;if(this.retries>=Mk){this.setFallback(!0);return}const t=Math.min(1e3*2**this.retries,Dk);this.retries+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},t)}setFallback(t){var r,n;this.fallback!==t&&(this.fallback=t,(n=(r=this.opts.handlers).onFallback)==null||n.call(r,t))}send(t){const r=this.ws;if(!(!r||r.readyState!==WebSocket.OPEN))try{r.send(JSON.stringify(t))}catch{}}startPing(){this.stopPing(),this.pingTimer=setInterval(()=>this.send({type:"ping"}),Tk)}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 Ik=200,Rk=12e3;function Nk(e,t){const r=ae([]),n=ae(!1),a=ae(!1);let i=null,o=null,s=null,l=null;function u(){s&&clearTimeout(s),s=setTimeout(()=>{s=null,t.reload()},Ik)}function c(b){o&&b.path&&b.path!==o||(r.value=Array.isArray(b.users)?b.users:[])}function f(b){a.value=b,b?(r.value=[],l||(l=setInterval(()=>t.reload(),Rk))):l&&(clearInterval(l),l=null)}function d(){i||(i=new Ok({getTicket:()=>e.wsTicket(),handlers:{onChange:u,onPresence:c,onFallback:f,onStatus:b=>{n.value=b}}}))}function p(b){r.value=[],o=b,i==null||i.subscribe(b)}function h(b){i==null||i.setFocus(b)}function m(){s&&(clearTimeout(s),s=null),l&&(clearInterval(l),l=null),i==null||i.close(),i=null,a.value=!1}return{presenceUsers:r,connected:n,degraded:a,start:d,subscribe:p,setFocus:h,stop:m}}const Fk=500;function Lk(e,t){const r=ae({}),n=[],a=new Set,i=new Set;function o(u){if(/^https?:\/\//i.test(u))return u;const c=(e||"").replace(/\/+$/,"");return c&&u.startsWith("/")?c+u:u}function s(u){const c=u.thumb_url;if(!c)return null;const f=r.value[c];return f||(!a.has(c)&&!i.has(c)&&l(c),null)}async function l(u){i.add(u);try{const c=await fetch(o(u),{headers:await t.authHeaders({Accept:"*/*"}),credentials:t.credentialsMode()});if(!c.ok)throw new Error(String(c.status));const f=await c.blob();if(n.length>=Fk){const d=n.shift();if(d&&r.value[d]){URL.revokeObjectURL(r.value[d]);const p={...r.value};delete p[d],r.value=p}}n.push(u),r.value={...r.value,[u]:URL.createObjectURL(f)}}catch{a.add(u)}finally{i.delete(u)}}return{src:s}}let m0=null,v0=null,g0=null,hd=null;function md(){m0||(m0=import("monaco-editor").then(e=>(g0=e.default??e,g0)).catch(()=>(g0=null,null))),v0||(v0=Promise.resolve().then(()=>YF).then(e=>(hd=e.default??e,hd)).catch(()=>(hd=null,null)))}async function Kg(){return m0||md(),m0}async function Vg(){return v0||md(),v0}function zk(){return g0}const Pk={key:0,class:"fx-presence-chips"},Bk=["title"],$k={key:0,class:"fx-presence-dot","aria-hidden":"true"},Uk={class:"fx-presence-chip-name"},Hk={key:0,class:"fx-presence-chip-file"},qk=["title"],Gk=["title"],Kk={key:0,class:"fx-presence-dot","aria-hidden":"true"},Vk={key:0,class:"fx-presence-more"},jk=["title"],Wk={class:"fx-presence-file"},Yk=["title","aria-expanded"],jg="filex.presence.expanded",Zk=Nt({__name:"PresenceBar",props:{users:{},selfId:{},locale:{}},setup(e){const t=e,{t:r}=yr(()=>t.locale??"tr"),n=He(()=>(t.users??[]).filter(c=>t.selfId==null||c.id!==t.selfId)),a=ae((()=>{try{return localStorage.getItem(jg)==="1"}catch{return!1}})());function i(){a.value=!a.value;try{localStorage.setItem(jg,a.value?"1":"0")}catch{}}function o(c){return c.uid??String(c.id)}function s(c){const f=c.trim().split(/\s+/).filter(Boolean);return f.length===0?"?":f.length===1?f[0].slice(0,2).toUpperCase():(f[0][0]+f[f.length-1][0]).toUpperCase()}function l(c){const f=o(c);let d=0;for(let p=0;p<f.length;p++)d=d*31+f.charCodeAt(p)>>>0;return d%360}function u(c){return c.file?`${c.name} · ${c.file}`:c.name}return(c,f)=>n.value.length?(z(),B("div",{key:0,class:ht(["fx-presence",{"fx-presence--wide":a.value}])},[a.value?(z(),B("div",Pk,[(z(!0),B(We,null,kt(n.value,d=>(z(),B("span",{key:o(d),class:"fx-presence-chip",title:u(d)},[D("span",{class:"fx-presence-avatar",style:Dn({backgroundColor:`hsl(${l(d)} 60% 45%)`})},[$t(K(s(d.name))+" ",1),d.file?(z(),B("span",$k)):Re("",!0)],4),D("span",Uk,K(d.name),1),d.file?(z(),B("span",Hk,"· "+K(d.file),1)):Re("",!0)],8,Bk))),128))])):(z(),B(We,{key:1},[D("div",{class:"fx-presence-avatars",title:n.value.map(u).join(", ")},[(z(!0),B(We,null,kt(n.value.slice(0,5),d=>(z(),B("span",{key:o(d),class:"fx-presence-avatar",style:Dn({backgroundColor:`hsl(${l(d)} 60% 45%)`}),title:u(d)},[$t(K(s(d.name))+" ",1),d.file?(z(),B("span",Kk)):Re("",!0)],12,Gk))),128)),n.value.length>5?(z(),B("span",Vk,"+"+K(n.value.length-5),1)):Re("",!0)],8,qk),D("span",{class:"fx-presence-text",title:n.value.map(u).join(", ")},[$t(K(n.value.length===1?n.value[0].name:`${n.value.length} kişi`)+" ",1),n.value.length===1&&n.value[0].file?(z(),B(We,{key:0},[f[0]||(f[0]=$t(" · ",-1)),D("span",Wk,K(n.value[0].file),1)],64)):Re("",!0)],8,jk)],64)),D("button",{type:"button",class:"fx-presence-toggle",title:a.value?Z(r)("presence.collapse"):Z(r)("presence.expand"),"aria-expanded":a.value,onClick:i},K(a.value?"‹":"›"),9,Yk)],2)):Re("",!0)}}),Xk=["data-prefers-dark"],Jk=["aria-label"],Qk=["aria-label","onKeydown"],e9={class:"fe-sheet__items"},t9={key:0,class:"fe-ctx__sep",role:"separator"},r9=["disabled","onClick"],n9={key:0,class:"fe-ctx__icon","aria-hidden":"true"},a9={class:"fe-ctx__label"},i9=["aria-label"],o9={key:0,class:"fe-ctx__sep",role:"separator"},s9=["disabled","onClick"],l9={key:0,class:"fe-ctx__icon","aria-hidden":"true"},u9={class:"fe-ctx__label"},vd=Nt({__name:"ContextMenu",props:{locale:{},actions:{},theme:{},sheet:{type:Boolean}},emits:["select"],setup(e,{expose:t,emit:r}){const n=e,a=r,{t:i}=yr(()=>n.locale),o=ae(!1),s=ae(0),l=ae(0),u=ae([]),c=ae(null);let f=0,d=0,p=null;async function h(H,U){var N;if(p=document.activeElement??null,o.value=!0,s.value=H.clientX,l.value=H.clientY,f=H.clientX,d=H.clientY,u.value=U,await Hr(),n.sheet){(N=_.value)==null||N.focus();return}m(),v(0)}function m(){const H=c.value;if(!H||typeof window>"u")return;const U=H.getBoundingClientRect(),N=8,V=window.innerWidth,W=window.innerHeight;if(d+U.height>W-N){const ge=d-U.height;l.value=ge>=N?ge:Math.max(N,W-U.height-N)}if(f+U.width>V-N){const ge=f-U.width;s.value=ge>=N?ge:Math.max(N,V-U.width-N)}}function b(){var H;o.value=!1,k.value=!1,T.value=0,(H=p==null?void 0:p.focus)==null||H.call(p),p=null}function g(){const H=n.sheet?_.value:c.value;return H?Array.from(H.querySelectorAll(".fe-ctx__item:not(:disabled)")):[]}function v(H){var V;const U=g();if(U.length===0)return;const N=(H%U.length+U.length)%U.length;(V=U[N])==null||V.focus()}function y(H){const U=g();if(U.length===0)return;const N=document.activeElement,V=N?U.indexOf(N):-1;if(V===-1){v(H>0?0:U.length-1);return}v(V+H)}const _=ae(null),k=ae(!1),T=ae(0);let E=0;function w(H){const U=H.touches[0];U&&(k.value=!0,E=U.clientY,T.value=0)}function x(H){if(!k.value)return;const U=H.touches[0];U&&(T.value=Math.max(0,U.clientY-E))}function S(){if(!k.value)return;const H=T.value>72;k.value=!1,H?b():T.value=0}const M=He(()=>T.value>0?{transform:`translateY(${T.value}px)`,transition:"none"}:void 0);function P(H){H.disabled||(a("select",H,u.value),b())}function F(H){if(H.key==="Escape"){H.stopPropagation(),b();return}if(H.key==="Enter"||H.key===" "){H.stopPropagation();return}H.key==="ArrowDown"?(H.preventDefault(),H.stopPropagation(),y(1)):H.key==="ArrowUp"?(H.preventDefault(),H.stopPropagation(),y(-1)):H.key==="Home"?(H.preventDefault(),v(0)):H.key==="End"?(H.preventDefault(),v(-1)):H.key==="Tab"&&(H.preventDefault(),b())}const j=He(()=>{const H=n.actions.filter(N=>!N.hidden),U=[];for(const N of H)N.divider&&(U.length===0||U[U.length-1].divider)||U.push(N);for(;U.length>0&&U[U.length-1].divider;)U.pop();return U}),te=ae(!1);let $;function Y(H){te.value=!!(H&&"matches"in H&&H.matches)}Qt(()=>{var H;typeof window>"u"||($=window.matchMedia("(prefers-color-scheme: dark)"),Y($),(H=$.addEventListener)==null||H.call($,"change",Y))}),nr(()=>{var H;(H=$==null?void 0:$.removeEventListener)==null||H.call($,"change",Y)});const re=He(()=>`fe-ctx-backdrop--theme-${n.theme||"auto"}`);return t({show:h,hide:b}),(H,U)=>(z(),er(dv,{to:"body"},[Ot(fi,{name:e.sheet?"fe-sheet":"fe-ctx"},{default:cr(()=>[o.value?(z(),B("div",{key:0,class:ht(["fe-ctx-backdrop",[re.value,{"fe-ctx-backdrop--sheet":e.sheet}]]),"data-prefers-dark":te.value?"1":"0",onClick:b,onContextmenu:Gt(b,["prevent"]),onKeydown:F},[e.sheet?(z(),B("div",{key:0,ref_key:"sheetEl",ref:_,class:"fe-sheet",role:"menu","aria-label":Z(i)("sheet.menu"),tabindex:"-1",style:Dn(M.value),onClick:U[0]||(U[0]=Gt(()=>{},["stop"]))},[D("div",{class:"fe-sheet__handle",role:"button",tabindex:"0","aria-label":Z(i)("sheet.close"),onClick:b,onKeydown:hn(Gt(b,["prevent"]),["enter"]),onTouchstartPassive:w,onTouchmovePassive:x,onTouchend:S,onTouchcancel:S},null,40,Qk),D("div",e9,[(z(!0),B(We,null,kt(j.value,(N,V)=>(z(),B(We,{key:N.key||V},[N.divider?(z(),B("div",t9)):(z(),B("button",{key:1,type:"button",class:ht(["fe-ctx__item fe-sheet__item",{"is-danger":N.danger,"is-disabled":N.disabled}]),disabled:N.disabled,role:"menuitem",onClick:W=>P(N)},[N.icon?(z(),B("span",n9,K(N.icon),1)):Re("",!0),D("span",a9,K(N.label),1)],10,r9))],64))),128))])],12,Jk)):(z(),B("div",{key:1,ref_key:"menuEl",ref:c,class:"fe-ctx",role:"menu","aria-orientation":"vertical","aria-label":Z(i)("sheet.menu"),style:Dn({top:l.value+"px",left:s.value+"px"}),onClick:U[1]||(U[1]=Gt(()=>{},["stop"]))},[(z(!0),B(We,null,kt(j.value,(N,V)=>(z(),B(We,{key:N.key||V},[N.divider?(z(),B("div",o9)):(z(),B("button",{key:1,type:"button",class:ht(["fe-ctx__item",{"is-danger":N.danger,"is-disabled":N.disabled}]),disabled:N.disabled,role:"menuitem",onClick:W=>P(N)},[N.icon?(z(),B("span",l9,K(N.icon),1)):Re("",!0),D("span",u9,K(N.label),1)],10,s9))],64))),128))],12,i9))],42,Xk)):Re("",!0)]),_:1},8,["name"])]))}}),c9=["title","aria-label"],f9=["title"],d9={class:"fe-btn__label"},p9=["disabled","title","onClick"],h9={class:"fe-icon"},m9={class:"fe-btn__label"},v9=["title","aria-label"],g9={class:"fe-icon"},b9={class:"fe-btn__label"},_9=["title"],y9={class:"fe-btn__label"},x9={class:"fe-toolbar__search-group"},w9={class:"fe-search"},k9=["placeholder","value","aria-label"],E9=["title","aria-label"],S9=["title","aria-label"],C9=["aria-pressed","aria-label","title"],A9={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"},T9={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"},D9=["aria-pressed","title","aria-label"],M9=["title","aria-label"],O9=["aria-label"],I9=["aria-selected","title","aria-label"],R9=["aria-selected","title","aria-label"],N9=["aria-selected","title","aria-label"],F9={class:"fe-search fe-search--full"},L9=["placeholder","value","aria-label","onKeydown"],z9=["title","aria-label"],P9=["title","aria-label"],B9=["title","aria-label"],$9=["title","aria-label"],U9=["title","aria-label"],Wg="filex.density",H9=40,q9=Nt({__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:r}){const n=e,a=r,i=ae((()=>{try{return localStorage.getItem(Wg)==="compact"?"compact":"comfortable"}catch{return"comfortable"}})());Qt(()=>a("update:density",i.value));function o(){i.value=i.value==="compact"?"comfortable":"compact";try{localStorage.setItem(Wg,i.value)}catch{}a("update:density",i.value)}const{t:s}=yr(()=>n.locale),l=ae(null),u=ae(n.searchQuery);Tt(()=>n.searchQuery,N=>{u.value=N});let c;function f(N){const V=N.target.value;u.value=V,c&&clearTimeout(c),c=setTimeout(()=>a("update:searchQuery",V),200)}async function d(){var N,V;n.narrow&&!S.value&&(S.value=!0,await Hr()),(N=l.value)==null||N.focus(),(V=l.value)==null||V.select()}t({focusSearch:d});const p=He(()=>n.selectionMode??"none"),h=He(()=>n.actions.filter(N=>!N.divider&&!N.hidden)),m=ae(null),b=ae(null),g=ae(null),v=ae(null),y=ae(Number.MAX_SAFE_INTEGER),_=He(()=>h.value.slice(0,y.value)),k=He(()=>h.value.slice(y.value));function T(){if(n.narrow)return;const N=m.value,V=b.value;if(!N||!V){y.value=h.value.length;return}const W=parseFloat(getComputedStyle(N).gap)||8;let ge=0;for(const Ne of Array.from(N.children))Ne===V||Ne===g.value||Ne.classList.contains("fe-btn--fold")||Ne.offsetWidth>0&&(ge+=Ne.offsetWidth+W);const ke=Array.from(V.children).map(Ne=>Ne.offsetWidth+W),Oe=ke.reduce((Ne,Ue)=>Ne+Ue,0),ze=N.clientWidth-ge;if(Oe<=ze){y.value=ke.length;return}let de=H9+W,De=0;for(const Ne of ke){if(de+Ne>ze)break;de+=Ne,De+=1}y.value=De}let E;Qt(()=>{typeof ResizeObserver<"u"&&m.value&&(E=new ResizeObserver(()=>T()),E.observe(m.value)),Hr(T)}),nr(()=>E==null?void 0:E.disconnect()),Tt(()=>[h.value,n.narrow,n.trashActive,p.value],()=>void Hr(T),{deep:!1});function w(){var V,W;const N=(V=g.value)==null?void 0:V.getBoundingClientRect();(W=v.value)==null||W.show({clientX:N?N.right:0,clientY:N?N.bottom+4:0},[])}function x(N){a("action",N)}const S=ae(!1);Tt(()=>n.narrow,N=>{N||(S.value=!1)});async function M(){var N;S.value=!0,await Hr(),(N=l.value)==null||N.focus()}function P(){S.value=!1}const F=ae(!1);let j;function te(N){F.value=!!(N&&"matches"in N&&N.matches)}Qt(()=>{var N;typeof window>"u"||!window.matchMedia||(j=window.matchMedia("(pointer: coarse)"),te(j),(N=j.addEventListener)==null||N.call(j,"change",te))}),nr(()=>{var N;(N=j==null?void 0:j.removeEventListener)==null||N.call(j,"change",te)});const $=ae(null),Y=ae(null),re=He(()=>{const N=[],V=!n.trashActive&&!n.atVirtualRoot&&n.canWrite!==!1;return p.value==="none"&&V&&(N.push({key:"new-folder",label:s("toolbar.new_folder"),icon:"📁"}),n.pasteEnabled&&N.push({key:"paste",label:s("ctx.paste"),icon:"📋"})),N.push(...h.value),N.length&&N.push({divider:!0,key:"bag-sep",label:""}),N.push({key:"refresh",label:s("toolbar.refresh"),icon:"↻"}),N.push({key:"density",label:i.value==="compact"?s("toolbar.density.comfortable"):s("toolbar.density.compact"),icon:"⇅"}),n.viewMode!=="list"&&N.push({key:"view-list",label:s("toolbar.view.list"),icon:"☰"}),n.viewMode!=="grid"&&N.push({key:"view-grid",label:s("toolbar.view.grid"),icon:"▦"}),n.viewMode!=="gallery"&&N.push({key:"view-gallery",label:s("toolbar.view.gallery"),icon:"▣"}),N.push({key:"inspector",label:s("toolbar.inspector"),icon:"ℹ"}),N.push({key:"theme",label:s("theme.menu"),icon:"🎨"}),N.push({key:"shortcut-settings",label:s("shortcuts.settings.menu"),icon:"⌨"}),N.push({key:"tour",label:s("tour.restart"),icon:"🎓"}),N});function H(){var V,W;const N=(V=$.value)==null?void 0:V.getBoundingClientRect();(W=Y.value)==null||W.show({clientX:N?N.right:0,clientY:N?N.bottom+4:0},[])}function U(N){var V;switch(N.key){case"new-folder":a("new-folder");break;case"refresh":a("refresh");break;case"density":o();break;case"view-list":a("update:viewMode","list");break;case"view-grid":a("update:viewMode","grid");break;case"view-gallery":a("update:viewMode","gallery");break;case"inspector":a("toggle-inspector");break;case"theme":a("open-theme");break;case"shortcut-settings":a("open-shortcut-settings");break;case"tour":(V=$.value)==null||V.dispatchEvent(new CustomEvent("fe:tour-restart",{bubbles:!0}));break;default:x(N.key)}}return(N,V)=>(z(),B("div",{class:ht(["fe-toolbar",{"fe-toolbar--narrow":e.narrow,"fe-toolbar--searching":e.narrow&&S.value}])},[e.narrow?(z(),B(We,{key:1},[S.value?(z(),B(We,{key:0},[D("div",F9,[D("input",{ref_key:"searchEl",ref:l,type:"search",class:"fe-search__input",placeholder:Z(s)("toolbar.search.placeholder"),value:u.value,"aria-label":Z(s)("toolbar.search"),onInput:f,onKeydown:hn(Gt(P,["stop","prevent"]),["esc"])},null,40,L9)]),D("button",{type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.search.close"),"aria-label":Z(s)("toolbar.search.close"),onClick:P},[...V[27]||(V[27]=[D("span",{class:"fe-icon"},"✕",-1)])],8,z9)],64)):(z(),B(We,{key:1},[e.canGoUp?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.go_up"),"aria-label":Z(s)("toolbar.go_up"),onClick:V[10]||(V[10]=W=>a("go-up"))},[...V[28]||(V[28]=[D("span",{class:"fe-icon"},"↑",-1)])],8,P9)):Re("",!0),V[32]||(V[32]=D("div",{class:"fe-toolbar__spacer"},null,-1)),D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only fe-toolbar__search-toggle",{"is-active":!!u.value}]),title:Z(s)("toolbar.search"),"aria-label":Z(s)("toolbar.search"),onClick:M},[...V[29]||(V[29]=[D("span",{class:"fe-icon"},"🔍",-1)])],10,B9),!e.atVirtualRoot&&e.canWrite!==!1?(z(),B("button",{key:1,type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.upload"),"aria-label":Z(s)("toolbar.upload"),onClick:V[11]||(V[11]=W=>a("upload"))},[...V[30]||(V[30]=[D("span",{class:"fe-icon"},"⬆",-1)])],8,$9)):Re("",!0),D("button",{ref_key:"moreBtnEl",ref:$,type:"button",class:"fe-btn fe-btn--icon-only fe-toolbar__more",title:Z(s)("toolbar.more"),"aria-label":Z(s)("toolbar.more"),"aria-haspopup":"menu",onClick:H},[...V[31]||(V[31]=[D("span",{class:"fe-icon"},"⋯",-1)])],8,U9)],64)),Ot(vd,{ref_key:"moreRef",ref:Y,locale:e.locale,theme:e.theme||"auto",sheet:F.value,actions:re.value,onSelect:U},null,8,["locale","theme","sheet","actions"])],64)):(z(),B(We,{key:0},[D("div",{ref_key:"primaryEl",ref:m,class:"fe-toolbar__primary"},[e.canGoUp?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.go_up"),"aria-label":Z(s)("toolbar.go_up"),onClick:V[0]||(V[0]=W=>a("go-up"))},[...V[13]||(V[13]=[D("span",{class:"fe-icon"},"↑",-1)])],8,c9)):Re("",!0),p.value==="none"&&!e.trashActive&&!e.atVirtualRoot&&e.canWrite!==!1?(z(),B("button",{key:1,type:"button",class:"fe-btn fe-btn--primary",title:Z(s)("toolbar.new_folder"),onClick:V[1]||(V[1]=W=>a("new-folder"))},[V[14]||(V[14]=D("span",{class:"fe-icon"},"📁",-1)),D("span",d9,K(Z(s)("toolbar.new_folder")),1)],8,f9)):Re("",!0),(z(!0),B(We,null,kt(_.value,W=>(z(),B("button",{key:W.key,type:"button",class:ht(["fe-btn fe-btn--fold",{"fe-btn--danger":W.danger,"is-disabled":W.disabled}]),disabled:W.disabled,title:W.label,onClick:ge=>x(W.key)},[D("span",h9,K(W.icon),1),D("span",m9,K(W.label),1)],10,p9))),128)),k.value.length>0?(z(),B("button",{key:2,ref_key:"wideMoreBtnEl",ref:g,type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.more"),"aria-label":Z(s)("toolbar.more"),"aria-haspopup":"menu",onClick:w},[...V[15]||(V[15]=[D("span",{class:"fe-icon"},"⋯",-1)])],8,v9)):Re("",!0),D("div",{ref_key:"measureEl",ref:b,class:"fe-toolbar__measure","aria-hidden":"true"},[(z(!0),B(We,null,kt(h.value,W=>(z(),B("button",{key:"m-"+W.key,type:"button",class:"fe-btn",tabindex:"-1"},[D("span",g9,K(W.icon),1),D("span",b9,K(W.label),1)]))),128))],512),e.pasteEnabled&&p.value==="none"&&!e.trashActive&&!e.atVirtualRoot&&e.canWrite!==!1?(z(),B("button",{key:3,type:"button",class:"fe-btn",title:Z(s)("ctx.paste"),onClick:V[2]||(V[2]=W=>x("paste"))},[V[16]||(V[16]=D("span",{class:"fe-icon"},"📋",-1)),D("span",y9,K(Z(s)("ctx.paste")),1)],8,_9)):Re("",!0)],512),V[26]||(V[26]=D("div",{class:"fe-toolbar__spacer"},null,-1)),D("div",x9,[D("div",w9,[D("input",{ref_key:"searchEl",ref:l,type:"search",class:"fe-search__input",placeholder:Z(s)("toolbar.search.placeholder"),value:u.value,"aria-label":Z(s)("toolbar.search"),onInput:f},null,40,k9)]),!e.atVirtualRoot&&e.canWrite!==!1?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.upload"),"aria-label":Z(s)("toolbar.upload"),onClick:V[3]||(V[3]=W=>a("upload"))},[...V[17]||(V[17]=[D("span",{class:"fe-icon","aria-hidden":"true"},"⬆",-1)])],8,E9)):Re("",!0),D("button",{type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.refresh"),"aria-label":Z(s)("toolbar.refresh"),onClick:V[4]||(V[4]=W=>a("refresh"))},[...V[18]||(V[18]=[D("span",{class:"fe-icon","aria-hidden":"true"},"↻",-1)])],8,S9)]),D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only fe-toolbar__density",{"is-active":i.value==="compact"}]),"aria-pressed":i.value==="compact","aria-label":i.value==="compact"?Z(s)("toolbar.density.comfortable"):Z(s)("toolbar.density.compact"),title:i.value==="compact"?Z(s)("toolbar.density.comfortable"):Z(s)("toolbar.density.compact"),onClick:o},[i.value==="compact"?(z(),B("svg",A9,[...V[19]||(V[19]=[D("path",{d:"M4 6.5h16M4 10.5h16M4 14.5h16M4 18.5h16"},null,-1)])])):(z(),B("svg",T9,[...V[20]||(V[20]=[D("path",{d:"M4 5.5h16M4 12h16M4 18.5h16"},null,-1)])]))],10,C9),D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only fe-toolbar__inspector",{"is-active":e.inspectorOpen}]),"aria-pressed":!!e.inspectorOpen,title:Z(s)("toolbar.inspector"),"aria-label":Z(s)("toolbar.inspector"),onClick:V[5]||(V[5]=W=>a("toggle-inspector"))},[...V[21]||(V[21]=[D("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"},[D("circle",{cx:"12",cy:"12",r:"9"}),D("path",{d:"M12 11v5"}),D("circle",{cx:"12",cy:"7.6",r:"1",fill:"currentColor",stroke:"none"})],-1)])],10,D9),D("button",{type:"button",class:"fe-btn fe-btn--icon-only fe-toolbar__theme",title:Z(s)("theme.menu"),"aria-label":Z(s)("theme.menu"),onClick:V[6]||(V[6]=W=>a("open-theme"))},[...V[22]||(V[22]=[D("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"},[D("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"}),D("circle",{cx:"7.8",cy:"10.2",r:"1.15",fill:"currentColor",stroke:"none"}),D("circle",{cx:"11.6",cy:"7.2",r:"1.15",fill:"currentColor",stroke:"none"}),D("circle",{cx:"16",cy:"8.6",r:"1.15",fill:"currentColor",stroke:"none"})],-1)])],8,M9),D("div",{class:"fe-toolbar__view",role:"tablist","aria-label":Z(s)("toolbar.view_label")},[D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="list"}]),role:"tab","aria-selected":e.viewMode==="list",title:Z(s)("toolbar.view.list"),"aria-label":Z(s)("toolbar.view.list"),onClick:V[7]||(V[7]=W=>a("update:viewMode","list"))},[...V[23]||(V[23]=[D("span",{class:"fe-icon","aria-hidden":"true"},"☰",-1)])],10,I9),D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="grid"}]),role:"tab","aria-selected":e.viewMode==="grid",title:Z(s)("toolbar.view.grid"),"aria-label":Z(s)("toolbar.view.grid"),onClick:V[8]||(V[8]=W=>a("update:viewMode","grid"))},[...V[24]||(V[24]=[D("span",{class:"fe-icon","aria-hidden":"true"},"▦",-1)])],10,R9),D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="gallery"}]),role:"tab","aria-selected":e.viewMode==="gallery",title:Z(s)("toolbar.view.gallery"),"aria-label":Z(s)("toolbar.view.gallery"),onClick:V[9]||(V[9]=W=>a("update:viewMode","gallery"))},[...V[25]||(V[25]=[D("span",{class:"fe-icon","aria-hidden":"true"},"▣",-1)])],10,N9)],8,O9)],64)),e.narrow?Re("",!0):(z(),er(vd,{key:2,ref_key:"wideMoreRef",ref:v,locale:e.locale,theme:e.theme||"auto",sheet:!1,actions:k.value,onSelect:V[12]||(V[12]=W=>x(W.key))},null,8,["locale","theme","actions"]))],2))}}),G9=["onClick"],K9=Nt({__name:"TagPicker",props:{nodeId:{},apiBase:{},authHeaders:{type:Function},authCredentials:{},palette:{}},emits:["change","error"],setup(e,{emit:t}){const r=e,n=t,a=ae([]),i=ae(!1),o=ae(!1),s=ae(""),l=He(()=>r.palette??["#ef4444","#f59e0b","#10b981","#3b82f6","#8b5cf6","#ec4899","#14b8a6","#f97316"]);function u(m){let b=0;for(let v=0;v<m.length;v++)b=b*31+m.charCodeAt(v)|0;const g=l.value;return g[Math.abs(b)%g.length]}async function c(m={}){return{...await(r.authHeaders??(()=>({})))(),...m}}async function f(){i.value=!0;try{const m=r.apiBase??"",b=await fetch(`${m}/api/files/manager/tags?node_id=${r.nodeId}`,{headers:await c(),credentials:r.authCredentials??"same-origin"});if(b.ok){const g=await b.json();a.value=Array.isArray(g.tags)?g.tags:[]}}catch(m){n("error",m instanceof Error?m.message:String(m))}finally{i.value=!1}}async function d(m){const b=[...a.value];a.value=m;try{const g=r.apiBase??"",v=await fetch(`${g}/api/files/manager/tags`,{method:"POST",headers:await c({"Content-Type":"application/json"}),credentials:r.authCredentials??"same-origin",body:JSON.stringify({node_id:r.nodeId,tags:m})});if(!v.ok)throw new Error(`tag save failed: ${v.status}`);n("change",m)}catch(g){a.value=b,n("error",g instanceof Error?g.message:String(g))}}function p(){const m=s.value.trim();if(!m||a.value.includes(m)){s.value="",o.value=!1;return}d([...a.value,m]),s.value="",o.value=!1}function h(m){d(a.value.filter(b=>b!==m))}return Qt(f),Tt(()=>r.nodeId,f),(m,b)=>(z(),B("div",{class:ht(["filex-tag-picker",{"is-loading":i.value}])},[(z(!0),B(We,null,kt(a.value,g=>(z(),B("span",{key:g,class:"filex-tag",style:Dn({"--filex-tag-color":u(g)})},[$t(K(g)+" ",1),D("button",{class:"filex-tag-x",type:"button",onClick:v=>h(g),"aria-label":"Remove tag"},"×",8,G9)],4))),128)),o.value?(z(),B("form",{key:0,class:"filex-tag-add",onSubmit:Gt(p,["prevent"])},[Zt(D("input",{"onUpdate:modelValue":b[0]||(b[0]=g=>s.value=g),autofocus:"",placeholder:"tag name",onBlur:p,onKeydown:b[1]||(b[1]=hn(g=>{o.value=!1,s.value=""},["escape"]))},null,544),[[Fr,s.value]])],32)):(z(),B("button",{key:1,class:"filex-tag-add-btn",type:"button",onClick:b[2]||(b[2]=g=>o.value=!0)},"+ Add tag"))],2))}}),V9={class:"filex-recent"},j9=["disabled"],W9={key:0},Y9=["onClick"],Z9={class:"filex-recent-name"},X9={class:"filex-recent-meta"},J9={key:1,class:"filex-recent-empty"},Q9={key:2,class:"filex-recent-empty"},eE=Nt({__name:"RecentlyOpened",props:{apiBase:{},authHeaders:{type:Function},authCredentials:{},limit:{},refreshKey:{}},emits:["open","error"],setup(e,{emit:t}){const r=e,n=t,a=ae([]),i=ae(!1);async function o(){i.value=!0;try{const l=await(r.authHeaders??(()=>({})))(),u=r.apiBase??"",c=r.limit??20,f=await fetch(`${u}/api/files/manager/recent?limit=${c}`,{headers:l,credentials:r.authCredentials??"same-origin"});if(f.ok){const d=await f.json();a.value=Array.isArray(d.entries)?d.entries:Array.isArray(d)?d:[]}}catch(l){n("error",l instanceof Error?l.message:String(l))}finally{i.value=!1}}function s(l){if(!l)return"";const u=new Date(l).getTime();if(Number.isNaN(u))return"";const c=Date.now()-u;return c<6e4?"just now":c<36e5?`${Math.floor(c/6e4)}m ago`:c<864e5?`${Math.floor(c/36e5)}h ago`:`${Math.floor(c/864e5)}d ago`}return Qt(o),Tt(()=>r.refreshKey,o),(l,u)=>(z(),B("div",V9,[D("header",null,[u[0]||(u[0]=D("h3",null,"Recently opened",-1)),D("button",{class:"filex-recent-refresh",type:"button",onClick:o,disabled:i.value}," ↻ ",8,j9)]),a.value.length?(z(),B("ul",W9,[(z(!0),B(We,null,kt(a.value,c=>(z(),B("li",{key:c.id},[D("button",{type:"button",onClick:f=>n("open",c),class:"filex-recent-item"},[D("span",Z9,K(c.name),1),D("span",X9,K(s(c.last_opened)),1)],8,Y9)]))),128))])):i.value?(z(),B("p",Q9,"Loading…")):(z(),B("p",J9,"Nothing here yet."))]))}}),tE={class:"fe-breadcrumb","aria-label":"Breadcrumb"},rE=["aria-current","onClick","onContextmenu","onDrop"],nE={key:0,class:"fe-breadcrumb__sep","aria-hidden":"true"},aE=["aria-expanded","aria-label","title"],iE={key:0,class:"fe-breadcrumb__menu",role:"menu"},oE=["onClick"],sE=["aria-current","onClick","onContextmenu","onDrop"],lE={key:0,class:"fe-breadcrumb__sep","aria-hidden":"true"},uE=["title","aria-label"],cE=["placeholder","onKeydown"],fE=4,dE=Nt({__name:"Breadcrumb",props:{dirname:{},adapter:{},rootLabel:{},locale:{},multiStorageRoot:{type:Boolean},rootPath:{}},emits:["navigate","copy-path","crumb-context","crumb-drop"],setup(e,{emit:t}){const r=e,n=He(()=>{if(!r.rootPath)return"";const M=r.rootPath,P=M.indexOf("://");return(P>=0?M.slice(P+3):M).replace(/^\/+|\/+$/g,"")}),a=He(()=>{const M=n.value;if(!M)return r.rootLabel||r.adapter;const P=M.split("/");return P[P.length-1]||r.rootLabel||r.adapter}),{t:i}=yr(()=>r.locale),o=t,s=He(()=>{const M=`${r.adapter}://`,P=r.dirname.startsWith(M)?r.dirname.slice(M.length):r.dirname,F=P.split("/").filter(Boolean),j=[];if(r.rootPath){const $=n.value,Y=P.replace(/^\/+|\/+$/g,""),re=$&&(Y===$||Y.startsWith($+"/"))?Y.slice($.length).replace(/^\/+/,""):"";j.push({label:a.value,adapterPath:r.rootPath});let H=$;for(const U of re.split("/").filter(Boolean))H=H?`${H}/${U}`:U,j.push({label:U===".trash"?i("node.trash"):U,adapterPath:`${M}${H}`});return j}r.multiStorageRoot?(j.push({label:"/",adapterPath:""}),r.adapter&&j.push({label:r.rootLabel||r.adapter,adapterPath:M})):j.push({label:r.rootLabel||r.adapter,adapterPath:M});let te="";for(const $ of F){te=te?`${te}/${$}`:$;const Y=$===".trash"?i("node.trash"):$;j.push({label:Y,adapterPath:`${M}${te}`})}return j}),l=He(()=>s.value.length>fE),u=He(()=>l.value?s.value.slice(0,1):s.value),c=He(()=>l.value?s.value.slice(1,-2):[]),f=He(()=>l.value?s.value.slice(-2):[]),d=ae(!1),p=ae(null);function h(M){d.value=!1,o("navigate",M.adapterPath)}function m(M){const P=p.value;P&&M.target instanceof Node&&P.contains(M.target)||(d.value=!1)}function b(M){M.key==="Escape"&&(M.stopPropagation(),d.value=!1)}Tt(d,M=>{M?(document.addEventListener("click",m,!0),document.addEventListener("keydown",b,!0)):(document.removeEventListener("click",m,!0),document.removeEventListener("keydown",b,!0))}),Tt(s,()=>{d.value=!1}),nr(()=>{document.removeEventListener("click",m,!0),document.removeEventListener("keydown",b,!0)});function g(M){o("navigate",M.adapterPath)}function v(M,P){M.preventDefault(),M.stopPropagation(),o("crumb-context",{x:M.clientX,y:M.clientY,adapterPath:P.adapterPath,label:P.label})}function y(M){var P;(P=M.dataTransfer)!=null&&P.types.includes("application/x-brf-files")&&(M.preventDefault(),M.stopPropagation(),M.dataTransfer&&(M.dataTransfer.dropEffect="move"))}function _(M,P){var F;(F=M.dataTransfer)!=null&&F.types.includes("application/x-brf-files")&&(M.preventDefault(),M.stopPropagation(),o("crumb-drop",P.adapterPath,M))}const k=ae(!1),T=ae(""),E=ae(null);function w(){const M=`${r.adapter}://`,P=r.dirname.startsWith(M)?r.dirname.slice(M.length):r.dirname;if(r.rootPath){const F=n.value,j=P.replace(/^\/+|\/+$/g,""),te=F&&(j===F||j.startsWith(F+"/"))?j.slice(F.length).replace(/^\/+/,""):"";T.value=te?`/${te}`:"/",k.value=!0,Hr(()=>{var $,Y;($=E.value)==null||$.focus(),(Y=E.value)==null||Y.select()});return}if(r.multiStorageRoot)if(!r.adapter)T.value="/";else{const F=P.replace(/^\/+|\/+$/g,"");T.value=F?`/${r.adapter}/${F}`:`/${r.adapter}`}else T.value=P;k.value=!0,Hr(()=>{var F,j;(F=E.value)==null||F.focus(),(j=E.value)==null||j.select()})}function x(){const M=T.value.trim();if(k.value=!1,r.rootPath){const F=M.replace(/^\/+|\/+$/g,""),j=n.value,te=F?j?`${j}/${F}`:F:j;o("navigate",te?`${r.adapter}://${te}`:`${r.adapter}://`);return}if(r.multiStorageRoot){const F=M.replace(/^\/+|\/+$/g,"");if(!F){o("navigate","");return}const j=F.indexOf("/"),te=j===-1?F:F.slice(0,j),$=j===-1?"":F.slice(j+1);o("navigate",$?`${te}://${$}`:`${te}://`);return}const P=M.replace(/^\/+|\/+$/g,"");P&&o("navigate",`${r.adapter}://${P}`)}function S(){k.value=!1}return(M,P)=>(z(),B("nav",tE,[k.value?Zt((z(),B("input",{key:1,ref_key:"pathInput",ref:E,"onUpdate:modelValue":P[1]||(P[1]=F=>T.value=F),type:"text",class:"fe-breadcrumb__input",placeholder:Z(i)("breadcrumb.path_placeholder"),spellcheck:"false",autocomplete:"off",onKeydown:[hn(Gt(x,["prevent"]),["enter"]),hn(Gt(S,["prevent"]),["escape"])],onBlur:S},null,40,cE)),[[Fr,T.value]]):(z(),B(We,{key:0},[(z(!0),B(We,null,kt(u.value,(F,j)=>(z(),B("button",{key:F.adapterPath,class:ht(["fe-breadcrumb__crumb",{"is-last":!l.value&&j===u.value.length-1}]),type:"button","aria-current":!l.value&&j===u.value.length-1?"page":void 0,onClick:te=>g(F),onContextmenu:te=>v(te,F),onDragover:y,onDrop:te=>_(te,F)},[D("span",null,K(F.label),1),l.value||j<u.value.length-1?(z(),B("span",nE,"›")):Re("",!0)],42,rE))),128)),c.value.length?(z(),B("span",{key:0,ref_key:"moreWrapEl",ref:p,class:"fe-breadcrumb__more-wrap"},[D("button",{type:"button",class:"fe-breadcrumb__more","aria-haspopup":"menu","aria-expanded":d.value,"aria-label":Z(i)("breadcrumb.more"),title:Z(i)("breadcrumb.more"),onClick:P[0]||(P[0]=F=>d.value=!d.value)},"…",8,aE),P[2]||(P[2]=D("span",{class:"fe-breadcrumb__sep","aria-hidden":"true"},"›",-1)),d.value?(z(),B("div",iE,[(z(!0),B(We,null,kt(c.value,F=>(z(),B("button",{key:F.adapterPath,type:"button",class:"fe-breadcrumb__menu-item",role:"menuitem",onClick:j=>h(F)},K(F.label),9,oE))),128))])):Re("",!0)],512)):Re("",!0),(z(!0),B(We,null,kt(f.value,(F,j)=>(z(),B("button",{key:F.adapterPath,class:ht(["fe-breadcrumb__crumb",{"is-last":j===f.value.length-1}]),type:"button","aria-current":j===f.value.length-1?"page":void 0,onClick:te=>g(F),onContextmenu:te=>v(te,F),onDragover:y,onDrop:te=>_(te,F)},[D("span",null,K(F.label),1),j<f.value.length-1?(z(),B("span",lE,"›")):Re("",!0)],42,sE))),128)),D("button",{type:"button",class:"fe-breadcrumb__edit",title:Z(i)("breadcrumb.go_to_path"),"aria-label":Z(i)("breadcrumb.go_to_path"),onClick:w},"✏",8,uE)],64))]))}}),Yg={};function za(e,t){for(const r of t)Yg[r]=e}za("image",["jpg","jpeg","png","webp","gif","bmp","avif","heic","svg","ico","tiff","tif"]),za("video",["mp4","webm","mov","mkv","avi","ogv","m4v"]),za("audio",["mp3","wav","flac","ogg","m4a","aac","opus"]),za("pdf",["pdf"]),za("doc",["doc","docx","odt","rtf"]),za("sheet",["xls","xlsx","ods","csv"]),za("slides",["ppt","pptx","odp"]),za("archive",["zip","tar","gz","bz2","7z","rar","xz","zst"]),za("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"]),za("text",["txt","md","markdown","log","ini","conf","cfg","env"]);function pE(e){if(e.type==="dir")return"folder";const t=(e.extension||"").toLowerCase();return Yg[t]??"unknown"}const Ui='<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"/>',hE={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:Ui+'<rect x="7.5" y="12" width="9" height="5" rx="1" fill="currentColor" fill-opacity="0.14"/>',doc:Ui+'<path d="M8.5 13h7M8.5 16h7"/>',sheet:Ui+'<path d="M8 12.5h8M8 15.5h8M8 18h8M12 12.5V18"/>',slides:Ui+'<rect x="8" y="12.5" width="8" height="5" rx="0.8"/>',archive:Ui+'<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:Ui+'<path d="M10.4 12.5L8.3 15l2.1 2.5M13.6 12.5l2.1 2.5-2.1 2.5"/>',text:Ui+'<path d="M8.5 12h7M8.5 15h7M8.5 18h4.5"/>',unknown:Ui+'<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"/>'},Zg=new Map;function mE(e){let t=Zg.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">${hE[e]}</svg>`,Zg.set(e,t)),t}function ss(e){return mE(pE(e))}function b0(e){const t=[];if(!e)return t;const r=/«([^«»]*)»/g;let n=0,a;for(;(a=r.exec(e))!==null;)a.index>n&&t.push({text:e.slice(n,a.index),match:!1}),a[1]&&t.push({text:a[1],match:!0}),n=a.index+a[0].length;return n<e.length&&t.push({text:e.slice(n),match:!1}),t}function Xg(e){return e==="content"||e==="both"}function gd(e,t,r){const n=e.dataTransfer;if(!(!n||typeof document>"u"||typeof n.setDragImage!="function"))try{const a=document.createElement("div");a.className="fe-dragghost";const i=document.createElement("span");if(i.className="fe-dragghost__name",i.textContent=t,a.appendChild(i),r>1){const o=document.createElement("span");o.className="fe-dragghost__badge",o.textContent=String(r),a.appendChild(o)}a.style.position="fixed",a.style.top="-1000px",a.style.left="-1000px",document.body.appendChild(a),n.setDragImage(a,14,14),setTimeout(()=>a.remove(),0)}catch{}}const vE=["aria-pressed","title"],gE={viewBox:"0 0 24 24",width:"16",height:"16","aria-hidden":"true"},bE=["fill"],_E={key:0,class:"filex-star-label"},yE=Nt({__name:"StarButton",props:{starred:{type:Boolean},nodeId:{},apiBase:{},authHeaders:{type:Function},authCredentials:{},compact:{type:Boolean}},emits:["change","error"],setup(e,{emit:t}){const r=e,n=t,a=ae(r.starred);Tt(()=>r.starred,o=>{a.value=o});async function i(){const o=!a.value;a.value=o;try{const s={"Content-Type":"application/json",...await(r.authHeaders??(()=>({})))()},l=r.apiBase??"",u=await fetch(`${l}/api/files/manager/star`,{method:"POST",headers:s,credentials:r.authCredentials??"same-origin",body:JSON.stringify({node_id:r.nodeId,starred:o})});if(!u.ok)throw new Error(`star toggle failed: ${u.status}`);n("change",o)}catch(s){a.value=!o,n("error",s instanceof Error?s.message:String(s))}}return(o,s)=>(z(),B("button",{type:"button",class:ht(["filex-star-btn",{"is-starred":a.value,"is-compact":e.compact}]),"aria-pressed":a.value,title:a.value?"Unstar":"Star",onClick:Gt(i,["stop"])},[(z(),B("svg",gE,[D("path",{fill:a.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,bE)])),e.compact?Re("",!0):(z(),B("span",_E,K(a.value?"Starred":"Star"),1))],10,vE))}}),xE=["aria-label","aria-busy"],wE={class:"fe-list__head",role:"row"},kE=["aria-label"],EE=["aria-sort"],SE=["title"],CE={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},AE=["aria-sort"],TE=["title"],DE={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},ME=["aria-sort"],OE=["title"],IE={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},RE={class:"fe-list__body",role:"rowgroup"},NE={key:0,class:"fe-list__group",role:"presentation"},FE=["aria-selected","aria-label","data-fe-path","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],LE={class:"fe-list__col fe-list__col--name",role:"gridcell"},zE={key:0,class:"fe-list__icon","aria-hidden":"true"},PE=["innerHTML"],BE={class:"fe-list__name-wrap"},$E=["title"],UE={key:0,class:"fe-list__badge"},HE=["title"],qE={key:1,class:"fe-list__snippet"},GE={key:0,class:"fe-list__mark"},KE={class:"fe-list__col fe-list__col--size",role:"gridcell"},VE={class:"fe-list__col fe-list__col--mod",role:"gridcell"},jE={key:0,class:"fe-list__empty"},Jg="filex.list-sort",Qg=Nt({__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 r=e,n=t,{t:a,formatSize:i,nodeDisplayName:o}=yr(()=>r.locale);function s(U){return r.selected.has(U.path)}function l(U,N){n("click-row",U,{ctrl:N.ctrlKey||N.metaKey,shift:N.shiftKey})}function u(U){n("dbl-row",U)}function c(U,N){N.preventDefault(),N.stopPropagation(),n("context-row",U,N)}function f(U,N){gd(N,o(U),r.selected.has(U.path)?r.selected.size:1),n("item-drag-start",U,N)}const d=ae(null);function p(U,N){var V;U.type==="dir"&&(V=N.dataTransfer)!=null&&V.types.includes("application/x-brf-files")&&(N.preventDefault(),N.stopPropagation(),N.dataTransfer&&(N.dataTransfer.dropEffect="move"),d.value=U.path)}function h(U){d.value===U.path&&(d.value=null)}function m(U,N){var V;d.value=null,U.type==="dir"&&(V=N.dataTransfer)!=null&&V.types.includes("application/x-brf-files")&&(N.preventDefault(),N.stopPropagation(),n("item-drop-into",U,N))}let b,g=null;function v(U,N){g=U,b&&clearTimeout(b),b=setTimeout(()=>{if(g){const V=N.touches[0];n("context-row",g,{clientX:V.clientX,clientY:V.clientY,preventDefault:()=>{}})}},500)}function y(){b&&clearTimeout(b),g=null}function _(U){return U.basename===".trash"?"🗑":U.mime_type==="inode/storage"?"💾":U.type==="dir"&&U.e2e===!0?"🔒":null}function k(U){return U.basename===".trash"||U.mime_type==="inode/storage"}function T(U){return U?new Date(U*(U<1e12?1e3:1)).toLocaleString():"—"}function E(U){const N=U.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),V=N.lastIndexOf("/");return V===-1?"":N.slice(0,V)}function w(U){const N=U.snippet;return typeof N=="string"?N:""}function x(U){return Xg(U.matched)}const S=ae(null),M=ae("asc");try{const U=localStorage.getItem(Jg);if(U){const N=JSON.parse(U);(N.key==="name"||N.key==="size"||N.key==="modified")&&(S.value=N.key),(N.dir==="asc"||N.dir==="desc")&&(M.value=N.dir)}}catch{}function P(U){return U==="modified"?"desc":"asc"}function F(U){S.value!==U?(S.value=U,M.value=P(U)):M.value===P(U)?M.value=M.value==="asc"?"desc":"asc":S.value=null;try{localStorage.setItem(Jg,JSON.stringify({key:S.value,dir:M.value}))}catch{}}function j(U){return S.value!==U?"none":M.value==="asc"?"ascending":"descending"}function te(U){const N=U.last_modified;return N?N*(N<1e12?1e3:1):null}const $=He(()=>{const U=S.value;if(!U)return r.files;const N=[],V=[];for(const ge of r.files)(k(ge)?N:V).push(ge);const W=M.value==="asc"?1:-1;return V.sort((ge,ke)=>{if(U==="name")return W*ge.basename.localeCompare(ke.basename,void 0,{numeric:!0,sensitivity:"base"});if(U==="size")return W*((ge.size??-1)-(ke.size??-1));const Oe=te(ge),ze=te(ke);return Oe==null&&ze==null?0:Oe==null?1:ze==null?-1:W*(Oe-ze)}),[...N,...V]}),Y=He(()=>new Intl.DateTimeFormat(r.locale==="tr"?"tr-TR":"en-US",{month:"long",year:"numeric"}));function re(U){if(U==null)return{id:"none",label:a("group.no_date")};const N=new Date(U),V=new Date,W=ze=>new Date(ze.getFullYear(),ze.getMonth(),ze.getDate()).getTime(),ge=W(V),ke=W(N),Oe=864e5;return ke>=ge?{id:"today",label:a("group.today")}:ke===ge-Oe?{id:"yesterday",label:a("group.yesterday")}:ke>ge-7*Oe?{id:"week",label:a("group.this_week")}:N.getFullYear()===V.getFullYear()&&N.getMonth()===V.getMonth()?{id:"month",label:a("group.this_month")}:{id:`m-${N.getFullYear()}-${N.getMonth()}`,label:Y.value.format(N)}}const H=He(()=>{const U=$.value;if(S.value!=="modified")return[{id:"all",label:null,nodes:U}];const N=[];let V=null;for(const W of U){const ge=k(W)?{id:"pinned",label:null}:re(te(W));(!V||V.id!==ge.id)&&(V={id:ge.id,label:ge.label,nodes:[]},N.push(V)),V.nodes.push(W)}return N});return(U,N)=>(z(),B("div",{class:ht(["fe-list",{"is-loading":e.loading,"has-star-col":!!e.apiBase||e.apiBase===""}]),role:"grid","aria-label":Z(a)("list.aria"),"aria-busy":e.loading?"true":void 0},[D("div",wE,[D("div",{class:"fe-list__col fe-list__col--star",role:"columnheader","aria-label":Z(a)("col.star")},null,8,kE),D("div",{class:"fe-list__col fe-list__col--name",role:"columnheader","aria-sort":j("name")},[D("button",{type:"button",class:"fe-list__sort",title:Z(a)("col.sort"),onClick:N[0]||(N[0]=V=>F("name"))},[$t(K(Z(a)("col.name"))+" ",1),S.value==="name"?(z(),B("span",CE,K(M.value==="asc"?"↑":"↓"),1)):Re("",!0)],8,SE)],8,EE),D("div",{class:"fe-list__col fe-list__col--size",role:"columnheader","aria-sort":j("size")},[D("button",{type:"button",class:"fe-list__sort",title:Z(a)("col.sort"),onClick:N[1]||(N[1]=V=>F("size"))},[$t(K(Z(a)("col.size"))+" ",1),S.value==="size"?(z(),B("span",DE,K(M.value==="asc"?"↑":"↓"),1)):Re("",!0)],8,TE)],8,AE),D("div",{class:"fe-list__col fe-list__col--mod",role:"columnheader","aria-sort":j("modified")},[D("button",{type:"button",class:"fe-list__sort",title:Z(a)("col.sort"),onClick:N[2]||(N[2]=V=>F("modified"))},[$t(K(Z(a)("col.modified"))+" ",1),S.value==="modified"?(z(),B("span",IE,K(M.value==="asc"?"↑":"↓"),1)):Re("",!0)],8,OE)],8,ME)]),D("div",RE,[(z(!0),B(We,null,kt(H.value,V=>(z(),B(We,{key:V.id},[V.label?(z(),B("div",NE,K(V.label),1)):Re("",!0),(z(!0),B(We,null,kt(V.nodes,W=>{var ge,ke;return z(),B("div",{key:W.path,class:ht(["fe-list__row",{"is-selected":s(W),"is-dir":W.type==="dir","is-trash":W.trashed,"is-clipped":(ge=e.clipped)==null?void 0:ge.has(W.path),"is-droptarget":d.value===W.path}]),role:"row",tabindex:"0","aria-selected":s(W)?"true":"false","aria-label":Z(o)(W),"data-fe-path":W.path,draggable:"true",onClick:Oe=>l(W,Oe),onDblclick:Oe=>u(W),onContextmenu:Oe=>c(W,Oe),onDragstart:Oe=>f(W,Oe),onDragover:Oe=>p(W,Oe),onDragleave:Oe=>h(W),onDrop:Oe=>m(W,Oe),onTouchstartPassive:Oe=>v(W,Oe),onTouchend:y,onTouchmove:y},[D("div",{class:"fe-list__col fe-list__col--star",role:"gridcell",onClick:N[3]||(N[3]=Gt(()=>{},["stop"]))},[typeof W.id=="number"&&W.type==="file"?(z(),er(yE,{key:0,starred:!!((ke=e.starredIds)!=null&&ke.has(W.id)),"node-id":W.id,"api-base":e.apiBase,"auth-headers":e.authHeaders,"auth-credentials":e.authCredentials,compact:"",onChange:Oe=>n("star-change",W,Oe)},null,8,["starred","node-id","api-base","auth-headers","auth-credentials","onChange"])):Re("",!0)]),D("div",LE,[_(W)?(z(),B("span",zE,K(_(W)),1)):(z(),B("span",{key:1,class:"fe-list__icon fe-list__icon--svg","aria-hidden":"true",innerHTML:Z(ss)(W)},null,8,PE)),D("div",BE,[D("span",{class:"fe-list__name",title:W.basename},[$t(K(Z(o)(W))+" ",1),x(W)?(z(),B("span",UE,K(Z(a)("search.in_content")),1)):Re("",!0)],8,$E),e.showParentPath?(z(),B("span",{key:0,class:"fe-list__parent",title:E(W.path)},K(E(W.path)||"—"),9,HE)):Re("",!0),w(W)?(z(),B("span",qE,[(z(!0),B(We,null,kt(Z(b0)(w(W)),(Oe,ze)=>(z(),B(We,{key:ze},[Oe.match?(z(),B("mark",GE,K(Oe.text),1)):(z(),B(We,{key:1},[$t(K(Oe.text),1)],64))],64))),128))])):Re("",!0)])]),D("div",KE,K(Z(i)(W.size)),1),D("div",VE,K(T(W.last_modified)),1)],42,FE)}),128))],64))),128)),!e.loading&&$.value.length===0?(z(),B("div",jE,K(Z(a)("empty.folder")),1)):Re("",!0)])],10,xE))}}),WE=["aria-label","aria-busy"],YE=["aria-selected","aria-label","data-fe-path","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],ZE={class:"fe-grid__thumb"},XE=["src","alt"],JE={key:1,class:"fe-grid__icon"},QE=["innerHTML"],eS=["title"],tS=["title"],rS={class:"fe-grid__meta"},nS=["title"],aS={key:0,class:"fe-grid__mark"},iS={key:0,class:"fe-grid__empty"},eb=Nt({__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 r=e,n=t,{t:a,formatSize:i,nodeDisplayName:o}=yr(()=>r.locale);function s(x){return r.thumbSrc?r.thumbSrc(x):x.thumb_url??null}function l(x){return r.selected.has(x.path)}function u(x,S){n("click-card",x,{ctrl:S.ctrlKey||S.metaKey,shift:S.shiftKey})}function c(x){n("dbl-card",x)}function f(x,S){S.preventDefault(),S.stopPropagation(),n("context-card",x,S)}function d(x,S){gd(S,o(x),r.selected.has(x.path)?r.selected.size:1),n("item-drag-start",x,S)}const p=ae(null);function h(x,S){var M;x.type==="dir"&&(M=S.dataTransfer)!=null&&M.types.includes("application/x-brf-files")&&(S.preventDefault(),S.stopPropagation(),S.dataTransfer&&(S.dataTransfer.dropEffect="move"),p.value=x.path)}function m(x){p.value===x.path&&(p.value=null)}function b(x,S){var M;p.value=null,x.type==="dir"&&(M=S.dataTransfer)!=null&&M.types.includes("application/x-brf-files")&&(S.preventDefault(),S.stopPropagation(),n("item-drop-into",x,S))}let g,v=null;function y(x,S){v=x,g&&clearTimeout(g),g=setTimeout(()=>{if(v){const M=S.touches[0];n("context-card",v,{clientX:M.clientX,clientY:M.clientY,preventDefault:()=>{}})}},500)}function _(){g&&clearTimeout(g),v=null}function k(x){const S=x.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),M=S.lastIndexOf("/");return M===-1?"":S.slice(0,M)}function T(x){return x.basename===".trash"?"🗑":x.mime_type==="inode/storage"?"💾":x.type==="dir"&&x.e2e===!0?"🔒":null}function E(x){const S=x.snippet;return typeof S=="string"?S:""}function w(x){return b0(x).map(S=>S.text).join("")}return(x,S)=>(z(),B("div",{class:ht(["fe-grid",{"is-loading":e.loading}]),role:"listbox","aria-multiselectable":"true","aria-label":Z(a)("grid.aria"),"aria-busy":e.loading?"true":void 0},[(z(!0),B(We,null,kt(e.files,M=>{var P;return z(),B("div",{key:M.path,class:ht(["fe-grid__card",{"is-selected":l(M),"is-dir":M.type==="dir","is-trash":M.trashed,"is-clipped":(P=e.clipped)==null?void 0:P.has(M.path),"is-droptarget":p.value===M.path}]),tabindex:"0",role:"option","aria-selected":l(M)?"true":"false","aria-label":Z(o)(M),"data-fe-path":M.path,draggable:"true",onClick:F=>u(M,F),onDblclick:F=>c(M),onContextmenu:F=>f(M,F),onDragstart:F=>d(M,F),onDragover:F=>h(M,F),onDragleave:F=>m(M),onDrop:F=>b(M,F),onTouchstartPassive:F=>y(M,F),onTouchend:_,onTouchmove:_},[D("div",ZE,[s(M)?(z(),B("img",{key:0,src:s(M),alt:M.basename,loading:"lazy",draggable:"false"},null,8,XE)):T(M)?(z(),B("span",JE,K(T(M)),1)):(z(),B("span",{key:2,class:"fe-grid__icon fe-grid__icon--svg",innerHTML:Z(ss)(M)},null,8,QE))]),D("div",{class:"fe-grid__label",title:M.basename},K(Z(o)(M)),9,eS),e.showParentPath?(z(),B("div",{key:0,class:"fe-grid__parent",title:k(M.path)},K(k(M.path)||"—"),9,tS)):Re("",!0),D("div",rS,K(Z(i)(M.size)),1),E(M)?(z(),B("div",{key:1,class:"fe-grid__snippet",title:w(E(M))},[(z(!0),B(We,null,kt(Z(b0)(E(M)),(F,j)=>(z(),B(We,{key:j},[F.match?(z(),B("mark",aS,K(F.text),1)):(z(),B(We,{key:1},[$t(K(F.text),1)],64))],64))),128))],8,nS)):Re("",!0)],42,YE)}),128)),!e.loading&&e.files.length===0?(z(),B("div",iS,K(Z(a)("empty.folder")),1)):Re("",!0)],10,WE))}}),oS=["aria-label","aria-busy"],sS=["aria-selected","aria-label","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],lS={class:"fe-gal__thumb"},uS=["src","alt"],cS={key:1,class:"fe-gal__icon"},fS=["innerHTML"],dS={class:"fe-gal__meta","aria-hidden":"true"},pS={key:0,class:"fe-gal__meta-line"},hS=["title"],mS=["title"],vS={key:0,class:"fe-gal__empty"},tb=Nt({__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 r=e,n=t,{t:a,formatSize:i,nodeDisplayName:o}=yr(()=>r.locale);function s(x){return r.thumbSrc?r.thumbSrc(x):x.thumb_url??null}function l(x){return r.selected.has(x.path)}function u(x,S){n("click-card",x,{ctrl:S.ctrlKey||S.metaKey,shift:S.shiftKey})}function c(x){n("dbl-card",x)}function f(x,S){S.preventDefault(),S.stopPropagation(),n("context-card",x,S)}function d(x,S){gd(S,o(x),r.selected.has(x.path)?r.selected.size:1),n("item-drag-start",x,S)}const p=ae(null);function h(x,S){var M;x.type==="dir"&&(M=S.dataTransfer)!=null&&M.types.includes("application/x-brf-files")&&(S.preventDefault(),S.stopPropagation(),S.dataTransfer&&(S.dataTransfer.dropEffect="move"),p.value=x.path)}function m(x){p.value===x.path&&(p.value=null)}function b(x,S){var M;p.value=null,x.type==="dir"&&(M=S.dataTransfer)!=null&&M.types.includes("application/x-brf-files")&&(S.preventDefault(),S.stopPropagation(),n("item-drop-into",x,S))}let g,v=null;function y(x,S){v=x,g&&clearTimeout(g),g=setTimeout(()=>{if(v){const M=S.touches[0];n("context-card",v,{clientX:M.clientX,clientY:M.clientY,preventDefault:()=>{}})}},500)}function _(){g&&clearTimeout(g),v=null}function k(x){const S=x.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),M=S.lastIndexOf("/");return M===-1?"":S.slice(0,M)}function T(x){return x.basename===".trash"?"🗑":x.mime_type==="inode/storage"?"💾":x.type==="dir"&&x.e2e===!0?"🔒":null}function E(x){return x?new Date(x*(x<1e12?1e3:1)).toLocaleString():""}function w(x){const S=E(x.last_modified);return[x.type==="dir"?"":i(x.size),S].filter(P=>!!P).join(" · ")}return(x,S)=>(z(),B("div",{class:ht(["fe-gal",{"is-loading":e.loading}]),role:"listbox","aria-multiselectable":"true","aria-label":Z(a)("gallery.aria"),"aria-busy":e.loading?"true":void 0},[(z(!0),B(We,null,kt(e.files,M=>{var P;return z(),B("div",{key:M.path,class:ht(["fe-gal__card",{"is-selected":l(M),"is-dir":M.type==="dir","is-trash":M.trashed,"is-clipped":(P=e.clipped)==null?void 0:P.has(M.path),"is-droptarget":p.value===M.path}]),tabindex:"0",role:"option","aria-selected":l(M)?"true":"false","aria-label":Z(o)(M),draggable:"true",onClick:F=>u(M,F),onDblclick:F=>c(M),onContextmenu:F=>f(M,F),onDragstart:F=>d(M,F),onDragover:F=>h(M,F),onDragleave:F=>m(M),onDrop:F=>b(M,F),onTouchstartPassive:F=>y(M,F),onTouchend:_,onTouchmove:_},[D("div",lS,[s(M)?(z(),B("img",{key:0,src:s(M),alt:M.basename,loading:"lazy",draggable:"false"},null,8,uS)):T(M)?(z(),B("span",cS,K(T(M)),1)):(z(),B("span",{key:2,class:"fe-gal__icon fe-gal__icon--svg",innerHTML:Z(ss)(M)},null,8,fS)),D("div",dS,[w(M)?(z(),B("span",pS,K(w(M)),1)):Re("",!0),e.showParentPath&&k(M.path)?(z(),B("span",{key:1,class:"fe-gal__meta-line fe-gal__meta-line--path",title:k(M.path)},K(k(M.path)),9,hS)):Re("",!0)])]),D("div",{class:"fe-gal__label",title:M.basename},K(Z(o)(M)),9,mS)],42,sS)}),128)),!e.loading&&e.files.length===0?(z(),B("div",vS,K(Z(a)("empty.folder")),1)):Re("",!0)],10,oS))}}),gS=Nt({__name:"UploadProgress",props:{jobs:{},locale:{},center:{}},emits:["cancel","dismiss","retry"],setup(e,{emit:t}){const r=e,n=t;function a(i){return i==="done"?"done":i==="error"?"error":i==="aborted"?"aborted":"running"}return Tt(()=>r.jobs,i=>{r.center.sync("upload",i.map(o=>({input:{id:o.id,kind:"upload",name:o.file.name,percent:o.totalBytes>0||o.status==="done"?o.percent:null,status:a(o.status),error:o.error??null,uploadedBytes:o.uploadedBytes,totalBytes:o.totalBytes,cancellable:o.status==="uploading"||o.status==="initializing",retryable:o.status==="error"},actions:{cancel:()=>n("cancel",o),dismiss:()=>n("dismiss",o),retry:()=>n("retry",o)}})))},{immediate:!0}),(i,o)=>Re("",!0)}}),bS=Nt({__name:"PendingOpsTray",props:{ops:{},locale:{},center:{}},emits:["dismiss"],setup(e,{emit:t}){const r=e,n=t;function a(o){return o.status==="done"?"done":o.status==="error"?"error":"running"}function i(o){return o.status==="done"?100:o.progress_total<=0?null:Math.min(100,Math.round(o.progress_done/o.progress_total*100))}return Tt(()=>r.ops,o=>{r.center.sync("ops",o.map(s=>({input:{id:s.id,kind:s.op_type,name:s.target_path||s.source_dir||"",percent:i(s),status:a(s),error:s.error_message,queued:s.status==="pending",doneCount:s.progress_done,totalCount:s.progress_total,cancellable:!1,retryable:!1},actions:{dismiss:()=>n("dismiss",s.id)}})))},{immediate:!0}),(o,s)=>Re("",!0)}}),_S=["aria-label"],yS={class:"fe-inspector__head"},xS={class:"fe-inspector__title"},wS=["title","aria-label"],kS={class:"fe-inspector__scroll"},ES={class:"fe-inspector__section"},SS={class:"fe-inspector__heading"},CS={key:0,class:"fe-inspector__hero"},AS=["innerHTML"],TS={class:"fe-inspector__name"},DS={class:"fe-inspector__hero"},MS=["src"],OS=["innerHTML"],IS=["title"],RS={class:"fe-inspector__meta"},NS={class:"fe-inspector__row"},FS={class:"fe-inspector__pathcell"},LS=["title"],zS=["title","aria-label"],PS={key:0,class:"fe-inspector__row"},BS={class:"fe-inspector__row"},$S={key:1,class:"fe-inspector__row"},US={class:"fe-inspector__mime"},HS={key:2,class:"fe-inspector__row"},qS={class:"fe-inspector__pathcell"},GS=["title"],KS=["title","aria-label"],VS={key:2,class:"fe-inspector__hero"},jS=["innerHTML"],WS=["title"],YS={class:"fe-inspector__sub"},ZS={key:0,class:"fe-inspector__section"},XS={class:"fe-inspector__heading"},JS={key:0,class:"fe-inspector__empty"},QS={key:0,class:"fe-inspector__empty"},eC={key:1,class:"fe-inspector__versions"},tC={class:"fe-inspector__version-main"},rC={class:"fe-inspector__version-n"},nC={class:"fe-inspector__version-meta"},aC={key:0,class:"fe-inspector__confirm"},iC={class:"fe-inspector__confirm-q"},oC={class:"fe-inspector__check"},sC={class:"fe-inspector__confirm-actions"},lC=["disabled","onClick"],uC=["disabled"],cC=["disabled","onClick"],fC=["disabled"],dC={key:1,class:"fe-inspector__section"},pC={class:"fe-inspector__heading"},hC={class:"fe-inspector__permrow"},mC={key:2,class:"fe-inspector__section"},vC={class:"fe-inspector__heading"},gC={key:0,class:"fe-inspector__empty"},bC={key:1,class:"fe-inspector__shares"},_C=["title"],yC={key:0,class:"fe-inspector__badge fe-inspector__badge--pin"},xC={key:1,class:"fe-inspector__share-exp"},wC=["title","aria-label","onClick"],kC={key:3,class:"fe-inspector__section"},EC={class:"fe-inspector__heading"},SC={key:0,class:"fe-inspector__countbadge"},CC={key:0,class:"fe-inspector__empty"},AC={key:0,class:"fe-inspector__empty"},TC={key:1,class:"fe-inspector__comments"},DC={class:"fe-inspector__comment-top"},MC=["title"],OC=["title"],IC=["disabled","title","aria-label","onClick"],RC={class:"fe-inspector__comment-body"},NC=["placeholder","aria-label","disabled"],FC=["disabled"],LC=Nt({__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 r=e,n=t,{t:a,formatSize:i,nodeDisplayName:o}=yr(()=>r.locale),s=He(()=>r.nodes.length===1?r.nodes[0]:null),l=He(()=>r.nodes.length>1),u=He(()=>{var de;return((de=s.value)==null?void 0:de.type)==="file"}),c=He(()=>{var de;return typeof((de=s.value)==null?void 0:de.id)=="number"?s.value.id:null}),f=He(()=>r.nodes.reduce((de,De)=>de+(typeof De.size=="number"?De.size:0),0)),d=He(()=>{var De;const de=(De=s.value)==null?void 0:De.etag;return typeof de=="string"&&de!==""?de:null}),p=He(()=>s.value&&u.value&&r.thumbSrc?r.thumbSrc(s.value):null);function h(de){return de.length>12?`${de.slice(0,12)}…`:de}function m(de){if(!de)return"—";try{return new Date(de).toLocaleString(r.locale==="en"?"en-GB":"tr-TR",{dateStyle:"medium",timeStyle:"short"})}catch{return new Date(de).toISOString()}}function b(de){if(!de)return"—";const De=Date.parse(de);return Number.isNaN(De)?de:m(De)}async function g(de){try{await navigator.clipboard.writeText(de),n("toast",a("inspector.copied"))}catch{n("toast",de)}}const v=He(()=>{if(!s.value)return"";const de=s.value.perm;return typeof de=="string"&&de!==""?de:r.dirPerm||""}),y=He(()=>v.value==="editor"||v.value==="owner");function _(de){return a(`inspector.perm.${de}`)===`inspector.perm.${de}`?de:a(`inspector.perm.${de}`)}const k=ae("idle"),T=ae([]),E=ae(null),w=ae(!0),x=ae(!1),S=ae("idle"),M=ae([]);let P=0;async function F(){const de=++P;if(E.value=null,T.value=[],M.value=[],s.value&&u.value&&c.value!=null?(k.value="loading",j(de)):k.value="hidden",s.value){S.value="loading";const De=s.value.path;try{const{shares:Ne}=await r.api.listShares(De);if(de!==P)return;M.value=Array.isArray(Ne)?Ne:[],S.value="ok"}catch{if(de!==P)return;S.value="hidden"}}else S.value="hidden"}async function j(de){const De=c.value;if(De!=null)try{const Ne=await r.api.listVersions(De);if(de!==P)return;T.value=Ne,k.value="ok"}catch(Ne){if(de!==P)return;const Ue=Ne.status;Ue===401||Ue===403||Ue===404?k.value="hidden":k.value="error"}}function te(de){E.value=de.id,w.value=!0}async function $(de){const De=c.value;if(!(De==null||x.value)){x.value=!0;try{await r.api.restoreVersion(De,de.id,w.value),n("toast",a("inspector.versions.restored")),E.value=null,n("changed"),await j(++P)}catch(Ne){n("toast",Ne.message)}finally{x.value=!1}}}async function Y(){const de=c.value;if(!(de==null||x.value)){x.value=!0;try{await r.api.snapshotVersion(de),n("toast",a("inspector.versions.snapshotted")),await j(++P)}catch(De){const Ne=De.status;Ne===404||Ne===405||Ne===501?n("toast",a("inspector.versions.unsupported")):n("toast",De.message)}finally{x.value=!1}}}Tt(()=>r.nodes.map(de=>de.path).join("\0"),()=>void F(),{immediate:!0});const re=ae("hidden"),H=ae([]),U=ae(""),N=ae(!1),V=He(()=>{var de;return typeof((de=s.value)==null?void 0:de.id)=="number"?s.value.id:null});let W=0;async function ge(){const de=++W,De=V.value;if(De==null){re.value="hidden",H.value=[];return}re.value=H.value.length>0?"ok":"loading";try{const Ne=await r.api.listComments(De);if(de!==W)return;H.value=Ne,re.value="ok"}catch(Ne){if(de!==W)return;H.value=[];const Ue=Ne.status;re.value=Ue===401||Ue===403||Ue===404?"hidden":"error"}}async function ke(){const de=V.value,De=U.value.trim();if(!(de==null||De===""||N.value)){N.value=!0;try{await r.api.addComment(de,De),U.value="",await ge()}catch(Ne){n("toast",Ne.message)}finally{N.value=!1}}}async function Oe(de){if(!N.value){N.value=!0;try{await r.api.deleteComment(de.id),await ge()}catch(De){n("toast",De.message)}finally{N.value=!1}}}function ze(de){const De=Date.parse(de);if(Number.isNaN(De))return de;const Ne=Math.round((De-Date.now())/1e3),Ue=Math.abs(Ne),ee=[["year",31536e3],["month",2592e3],["day",86400],["hour",3600],["minute",60]];try{const oe=new Intl.RelativeTimeFormat(r.locale==="en"?"en":"tr",{numeric:"auto"});for(const[ye,we]of ee)if(Ue>=we)return oe.format(Math.trunc(Ne/we),ye);return oe.format(Ne,"second")}catch{return b(de)}}return Tt(()=>V.value,()=>{H.value=[],U.value="",ge()},{immediate:!0}),(de,De)=>(z(),B("aside",{class:ht(["fe-inspector",{"fe-inspector--overlay":e.narrow}]),role:"complementary","aria-label":Z(a)("inspector.title")},[D("header",yS,[D("h2",xS,K(Z(a)("inspector.title")),1),D("button",{type:"button",class:"fe-inspector__close",title:Z(a)("inspector.close"),"aria-label":Z(a)("inspector.close"),onClick:De[0]||(De[0]=Ne=>n("close"))},"×",8,wS)]),D("div",kS,[D("section",ES,[D("h3",SS,K(Z(a)("inspector.section.general")),1),l.value?(z(),B("div",CS,[D("span",{class:"fe-inspector__bigicon",innerHTML:Z(ss)({type:"dir"})},null,8,AS),D("p",TS,K(Z(a)("inspector.items_summary",{n:e.nodes.length,size:Z(i)(f.value)})),1)])):s.value?(z(),B(We,{key:1},[D("div",DS,[p.value?(z(),B("img",{key:0,class:"fe-inspector__thumb",src:p.value,alt:"","aria-hidden":"true"},null,8,MS)):(z(),B("span",{key:1,class:"fe-inspector__bigicon",innerHTML:Z(ss)(s.value)},null,8,OS)),D("p",{class:"fe-inspector__name",title:s.value.basename},K(Z(o)(s.value)),9,IS)]),D("dl",RS,[D("div",NS,[D("dt",null,K(Z(a)("inspector.path")),1),D("dd",FS,[D("span",{class:"fe-inspector__path",title:s.value.path},K(s.value.path),9,LS),D("button",{type:"button",class:"fe-inspector__copy",title:Z(a)("inspector.copy"),"aria-label":Z(a)("inspector.copy"),onClick:De[1]||(De[1]=Ne=>g(s.value.path))},"⧉",8,zS)])]),u.value?(z(),B("div",PS,[D("dt",null,K(Z(a)("inspector.size")),1),D("dd",null,K(Z(i)(typeof s.value.size=="number"?s.value.size:null)),1)])):Re("",!0),D("div",BS,[D("dt",null,K(Z(a)("inspector.modified")),1),D("dd",null,K(m(s.value.last_modified)),1)]),u.value&&s.value.mime_type?(z(),B("div",$S,[D("dt",null,K(Z(a)("inspector.mime")),1),D("dd",US,K(s.value.mime_type),1)])):Re("",!0),d.value?(z(),B("div",HS,[D("dt",null,K(Z(a)("inspector.etag")),1),D("dd",qS,[D("span",{class:"fe-inspector__path",title:d.value},K(h(d.value)),9,GS),D("button",{type:"button",class:"fe-inspector__copy",title:Z(a)("inspector.copy"),"aria-label":Z(a)("inspector.copy"),onClick:De[2]||(De[2]=Ne=>g(d.value))},"⧉",8,KS)])])):Re("",!0)])],64)):(z(),B("div",VS,[D("span",{class:"fe-inspector__bigicon",innerHTML:Z(ss)({type:"dir"})},null,8,jS),D("p",{class:"fe-inspector__name",title:e.dirLabel},K(e.dirLabel),9,WS),D("p",YS,K(Z(a)("inspector.folder_items",{n:e.dirCount})),1)]))]),k.value==="ok"||k.value==="error"?(z(),B("section",ZS,[D("h3",XS,K(Z(a)("inspector.section.versions")),1),k.value==="error"?(z(),B("p",JS,K(Z(a)("inspector.error")),1)):(z(),B(We,{key:1},[T.value.length===0?(z(),B("p",QS,K(Z(a)("inspector.versions.empty")),1)):(z(),B("ul",eC,[(z(!0),B(We,null,kt(T.value,Ne=>(z(),B("li",{key:Ne.id,class:"fe-inspector__version"},[D("div",tC,[D("span",rC,K(Z(a)("inspector.versions.v",{n:Ne.version_n})),1),D("span",nC,K(b(Ne.created_at))+" · "+K(Z(i)(Ne.size)),1)]),E.value===Ne.id?(z(),B("div",aC,[D("p",iC,K(Z(a)("inspector.versions.restore_confirm")),1),D("label",oC,[Zt(D("input",{"onUpdate:modelValue":De[3]||(De[3]=Ue=>w.value=Ue),type:"checkbox"},null,512),[[os,w.value]]),$t(" "+K(Z(a)("inspector.versions.snapshot_current")),1)]),D("div",sC,[D("button",{type:"button",class:"fe-btn fe-btn--primary fe-btn--sm",disabled:x.value,onClick:Ue=>$(Ne)},K(Z(a)("inspector.versions.confirm")),9,lC),D("button",{type:"button",class:"fe-btn fe-btn--sm",disabled:x.value,onClick:De[4]||(De[4]=Ue=>E.value=null)},K(Z(a)("inspector.versions.cancel")),9,uC)])])):(z(),B("button",{key:1,type:"button",class:"fe-btn fe-btn--sm",disabled:x.value,onClick:Ue=>te(Ne)},K(Z(a)("inspector.versions.restore")),9,cC))]))),128))])),D("button",{type:"button",class:"fe-btn fe-btn--sm fe-inspector__snapshot",disabled:x.value,onClick:Y},K(Z(a)("inspector.versions.take_snapshot")),9,fC)],64))])):Re("",!0),s.value&&v.value?(z(),B("section",dC,[D("h3",pC,K(Z(a)("inspector.section.permissions")),1),D("div",hC,[D("span",{class:ht(["fe-inspector__badge",`fe-inspector__badge--${v.value}`])},K(_(v.value)),3),y.value?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--sm",onClick:De[5]||(De[5]=Ne=>n("manage-permissions",s.value))},K(Z(a)("inspector.perm.manage")),1)):Re("",!0)])])):Re("",!0),S.value==="ok"?(z(),B("section",mC,[D("h3",vC,K(Z(a)("inspector.section.shares")),1),M.value.length===0?(z(),B("p",gC,K(Z(a)("inspector.shares.empty")),1)):(z(),B("ul",bC,[(z(!0),B(We,null,kt(M.value,Ne=>(z(),B("li",{key:Ne.uuid,class:"fe-inspector__share"},[D("span",{class:"fe-inspector__share-url",title:Ne.url},K(Ne.url),9,_C),Ne.password_pin?(z(),B("span",yC,"PIN")):Re("",!0),Ne.expires_at?(z(),B("span",xC,K(b(Ne.expires_at)),1)):Re("",!0),D("button",{type:"button",class:"fe-inspector__copy",title:Z(a)("inspector.shares.copy"),"aria-label":Z(a)("inspector.shares.copy"),onClick:Ue=>g(Ne.url)},"⧉",8,wC)]))),128))]))])):Re("",!0),re.value==="ok"||re.value==="error"?(z(),B("section",kC,[D("h3",EC,[$t(K(Z(a)("inspector.section.comments"))+" ",1),H.value.length>0?(z(),B("span",SC,K(H.value.length),1)):Re("",!0)]),re.value==="error"?(z(),B("p",CC,K(Z(a)("inspector.error")),1)):(z(),B(We,{key:1},[H.value.length===0?(z(),B("p",AC,K(Z(a)("inspector.comments.empty")),1)):(z(),B("ul",TC,[(z(!0),B(We,null,kt(H.value,Ne=>(z(),B("li",{key:Ne.id,class:"fe-inspector__comment"},[D("div",DC,[D("span",{class:"fe-inspector__comment-author",title:Ne.author_name},K(Ne.author_name||"—"),9,MC),D("span",{class:"fe-inspector__comment-time",title:b(Ne.created_at)},K(ze(Ne.created_at)),9,OC),Ne.can_delete?(z(),B("button",{key:0,type:"button",class:"fe-inspector__comment-del",disabled:N.value,title:Z(a)("inspector.comments.delete"),"aria-label":Z(a)("inspector.comments.delete"),onClick:Ue=>Oe(Ne)},"×",8,IC)):Re("",!0)]),D("p",RC,K(Ne.body),1)]))),128))])),D("form",{class:"fe-inspector__comment-form",onSubmit:Gt(ke,["prevent"])},[Zt(D("input",{"onUpdate:modelValue":De[6]||(De[6]=Ne=>U.value=Ne),type:"text",class:"fe-inspector__comment-input",maxlength:"5000",placeholder:Z(a)("inspector.comments.placeholder"),"aria-label":Z(a)("inspector.comments.placeholder"),disabled:N.value},null,8,NC),[[Fr,U.value]]),D("button",{type:"submit",class:"fe-btn fe-btn--primary fe-btn--sm",disabled:N.value||U.value.trim()===""},K(Z(a)("inspector.comments.send")),9,FC)],32)],64))])):Re("",!0)])],10,_S))}}),zC=["aria-label"],PC={class:"fe-cmdp__inputwrap"},BC=["placeholder"],$C=["aria-selected","onMouseenter","onClick"],UC={class:"fe-cmdp__icon","aria-hidden":"true"},HC={class:"fe-cmdp__label"},qC={class:"fe-cmdp__group"},GC=["aria-selected","onMouseenter","onClick"],KC={class:"fe-cmdp__icon","aria-hidden":"true"},VC={class:"fe-cmdp__label"},jC={class:"fe-cmdp__group"},WC={key:0,class:"fe-cmdp__loading"},YC=["aria-selected","onMouseenter","onClick"],ZC={class:"fe-cmdp__icon","aria-hidden":"true"},XC={class:"fe-cmdp__hitbody"},JC={class:"fe-cmdp__hitline"},QC={class:"fe-cmdp__label"},eA={key:0,class:"fe-cmdp__badge"},tA=["title"],rA={key:1,class:"fe-cmdp__snippet"},nA={key:0,class:"fe-cmdp__mark"},aA={class:"fe-cmdp__group"},iA=["aria-selected","onMouseenter","onClick","onKeydown"],oA={class:"fe-cmdp__icon","aria-hidden":"true"},sA={class:"fe-cmdp__label"},lA=["title","aria-label","onClick"],uA={class:"fe-cmdp__group"},cA=["aria-selected","onMouseenter","onClick"],fA={class:"fe-cmdp__icon","aria-hidden":"true"},dA={class:"fe-cmdp__label"},pA={key:4,class:"fe-cmdp__empty"},hA={class:"fe-cmdp__hint"},mA=3,vA=8,gA=250,rb="filex.saved-searches",nb=10,bA=Nt({__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 r=e,n=t,{t:a,nodeDisplayName:i}=yr(()=>r.locale),o=ae(""),s=ae(0),l=ae(null),u=ae(null);function c(H,U){if(!U)return 0;const N=H.toLocaleLowerCase(),V=U.toLocaleLowerCase(),W=N.indexOf(V);if(W===-1)return-1;let ge=100-Math.min(W,50);return W===0&&(ge+=40),ge-=Math.min(N.length,40)/4,ge}const f=He(()=>{const H=o.value.trim();if(!H.includes("/"))return[];const U=H.replace(/^\/+|\/+$/g,"");return U?[{kind:"goto",id:`goto:${U}`,label:`${a("palette.goto")}: ${U}`,icon:"➜",path:U}]:[]}),d=He(()=>{const H=o.value.trim(),U=r.files.map(N=>({f:N,name:i(N),s:c(i(N),H)})).filter(N=>N.s>=0);return H&&U.sort((N,V)=>V.s-N.s),U.slice(0,8).map(N=>({kind:"file",id:`file:${N.f.path}`,label:N.name,icon:N.f.type==="dir"?"📁":"📄",node:N.f}))}),p=He(()=>{const H=o.value.trim();return[{command:"new-folder",label:a("toolbar.new_folder"),icon:"📁",enabled:r.canWrite!==!1},{command:"upload",label:a("toolbar.upload"),icon:"⬆",enabled:r.canWrite!==!1},{command:"toggle-view",label:a("cmd.view_toggle"),icon:r.viewMode==="list"?"▦":r.viewMode==="grid"?"▣":"☰",enabled:!0},{command:"open-trash",label:a("cmd.trash"),icon:"🗑",enabled:!0},{command:"refresh",label:a("toolbar.refresh"),icon:"⟳",enabled:!0},{command:"go-up",label:a("toolbar.go_up"),icon:"↑",enabled:r.canGoUp!==!1},{command:"open-theme",label:a("theme.menu"),icon:"🎨",enabled:!0},{command:"open-shortcut-settings",label:a("shortcuts.settings.menu"),icon:"⌨",enabled:!0},{command:"start-tour",label:a("tour.restart"),icon:"🎓",enabled:!0},{command:"tab-new",label:a("cmd.tab_new"),icon:"⧉",enabled:!0},{command:"split-toggle",label:a("cmd.split_toggle"),icon:"◫",enabled:r.splitEnabled!==!1}].filter(N=>N.enabled&&c(N.label,H)>=0).map(N=>({kind:"command",id:`cmd:${N.command}`,label:N.label,icon:N.icon,command:N.command}))}),h=ae([]),m=ae(!1);let b,g=0;function v(H){b&&clearTimeout(b);const U=r.globalSearch;if(!U||H.length<mA){h.value=[],m.value=!1;return}m.value=!0,b=setTimeout(async()=>{const N=++g;try{const V=await U(H);if(N!==g)return;h.value=Array.isArray(V)?V.slice(0,vA):[]}catch{N===g&&(h.value=[])}finally{N===g&&(m.value=!1)}},gA)}function y(H){const U=String(H.path??"").replace(/^\/+|\/+$/g,""),N=U.lastIndexOf("/"),V=N===-1?"":U.slice(0,N),W=typeof H.storage=="string"&&H.storage||typeof H.storage_name=="string"&&H.storage_name||"";return W&&V?`${W}/${V}`:W||V||"/"}const _=He(()=>h.value.map(H=>({kind:"hit",id:`hit:${H.storage_id??""}:${H.path??""}:${H.id??""}`,label:String(H.name??H.path??""),icon:H.type==="dir"?"📁":"📄",hit:H,crumb:y(H),inContent:Xg(H.matched),snippet:typeof H.snippet=="string"?H.snippet:""}))),k=ae([]);function T(){try{const H=localStorage.getItem(rb);if(!H)return[];const U=JSON.parse(H);return Array.isArray(U)?U.filter(N=>typeof N=="string"&&N.trim()!=="").slice(0,nb):[]}catch{return[]}}function E(H){k.value=H.slice(0,nb);try{localStorage.setItem(rb,JSON.stringify(k.value))}catch{}}function w(H){const U=H.trim();if(!U)return;const N=k.value.filter(V=>V!==U);N.unshift(U),E(N)}function x(H){E(k.value.filter(U=>U!==H)),s.value>=M.value.length&&(s.value=Math.max(0,M.value.length-1))}const S=He(()=>{const H=o.value.trim(),U=[];H&&!k.value.includes(H)&&U.push({kind:"save",id:`save:${H}`,label:`${a("palette.save")}: ${H}`,icon:"💾",query:H});const N=k.value.map(V=>({s:V,sc:c(V,H)})).filter(V=>V.sc>=0||!H);for(const V of N)U.push({kind:"saved",id:`saved:${V.s}`,label:V.s,icon:"🔖",query:V.s});return U}),M=He(()=>[...f.value,...d.value,..._.value,...S.value,...p.value]),P=He(()=>f.value.length),F=He(()=>P.value+d.value.length),j=He(()=>F.value+_.value.length),te=He(()=>j.value+S.value.length);Tt(o,H=>{s.value=0,v(H.trim())});function $(H){const U=M.value.length;U&&(s.value=(s.value+H+U)%U,Hr(()=>{var N,V;(V=(N=u.value)==null?void 0:N.querySelector(".is-active"))==null||V.scrollIntoView({block:"nearest"})}))}function Y(H){const U=H??M.value[s.value];if(U){if(U.kind==="saved"){o.value=U.query,Hr(()=>{var N;return(N=l.value)==null?void 0:N.focus()});return}if(U.kind==="save"){w(U.query),Hr(()=>{var N;return(N=l.value)==null?void 0:N.focus()});return}if(n("close"),U.kind==="hit"){n("open-hit",U.hit);return}if(U.kind==="file")n("open-node",U.node);else if(U.kind==="goto")n("navigate",U.path);else switch(U.command){case"new-folder":n("new-folder");break;case"upload":n("upload");break;case"toggle-view":n("toggle-view");break;case"open-trash":n("open-trash");break;case"refresh":n("refresh");break;case"go-up":n("go-up");break;case"open-theme":n("open-theme");break;case"open-shortcut-settings":n("open-shortcut-settings");break;case"start-tour":n("start-tour");break;case"tab-new":n("tab-new");break;case"split-toggle":n("split-toggle");break}}}function re(H){if(r.open)switch(H.key){case"ArrowDown":H.preventDefault(),H.stopPropagation(),$(1);break;case"ArrowUp":H.preventDefault(),H.stopPropagation(),$(-1);break;case"Enter":H.preventDefault(),H.stopPropagation(),Y();break;case"Escape":H.preventDefault(),H.stopPropagation(),n("close");break}}return Tt(()=>r.open,H=>{H?(o.value="",s.value=0,h.value=[],m.value=!1,k.value=T(),document.addEventListener("keydown",re,!0),Hr(()=>{var U;return(U=l.value)==null?void 0:U.focus()})):(b&&clearTimeout(b),document.removeEventListener("keydown",re,!0))}),nr(()=>{b&&clearTimeout(b),document.removeEventListener("keydown",re,!0)}),(H,U)=>(z(),er(fi,{name:"fe-modal"},{default:cr(()=>[e.open?(z(),B("div",{key:0,class:"fe-modal__backdrop fe-cmdp__backdrop",role:"presentation",onClick:U[2]||(U[2]=N=>n("close"))},[D("div",{class:"fe-cmdp",role:"dialog","aria-modal":"true","aria-label":Z(a)("palette.placeholder"),onClick:U[1]||(U[1]=Gt(()=>{},["stop"]))},[D("div",PC,[U[3]||(U[3]=D("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"},[D("circle",{cx:"7",cy:"7",r:"4.5"}),D("path",{d:"m10.5 10.5 3.5 3.5"})],-1)),Zt(D("input",{ref_key:"inputEl",ref:l,"onUpdate:modelValue":U[0]||(U[0]=N=>o.value=N),type:"text",class:"fe-cmdp__input",placeholder:Z(a)("palette.placeholder"),autocomplete:"off",spellcheck:"false"},null,8,BC),[[Fr,o.value]])]),D("div",{ref_key:"listEl",ref:u,class:"fe-cmdp__list",role:"listbox"},[(z(!0),B(We,null,kt(f.value,(N,V)=>(z(),B("button",{key:N.id,type:"button",class:ht(["fe-cmdp__item",{"is-active":V===s.value}]),role:"option","aria-selected":V===s.value,onMouseenter:W=>s.value=V,onClick:W=>Y(N)},[D("span",UC,K(N.icon),1),D("span",HC,K(N.label),1)],42,$C))),128)),d.value.length?(z(),B(We,{key:0},[D("div",qC,K(Z(a)("palette.files")),1),(z(!0),B(We,null,kt(d.value,(N,V)=>(z(),B("button",{key:N.id,type:"button",class:ht(["fe-cmdp__item",{"is-active":P.value+V===s.value}]),role:"option","aria-selected":P.value+V===s.value,onMouseenter:W=>s.value=P.value+V,onClick:W=>Y(N)},[D("span",KC,K(N.icon),1),D("span",VC,K(N.label),1)],42,GC))),128))],64)):Re("",!0),_.value.length||m.value?(z(),B(We,{key:1},[D("div",jC,K(Z(a)("palette.everywhere")),1),m.value&&!_.value.length?(z(),B("div",WC,K(Z(a)("palette.searching")),1)):Re("",!0),(z(!0),B(We,null,kt(_.value,(N,V)=>(z(),B("button",{key:N.id,type:"button",class:ht(["fe-cmdp__item fe-cmdp__item--hit",{"is-active":F.value+V===s.value}]),role:"option","aria-selected":F.value+V===s.value,onMouseenter:W=>s.value=F.value+V,onClick:W=>Y(N)},[D("span",ZC,K(N.icon),1),D("span",XC,[D("span",JC,[D("span",QC,K(N.label),1),N.inContent?(z(),B("span",eA,K(Z(a)("search.in_content")),1)):Re("",!0)]),N.crumb?(z(),B("span",{key:0,class:"fe-cmdp__crumb",title:N.crumb},K(N.crumb),9,tA)):Re("",!0),N.snippet?(z(),B("span",rA,[(z(!0),B(We,null,kt(Z(b0)(N.snippet),(W,ge)=>(z(),B(We,{key:ge},[W.match?(z(),B("mark",nA,K(W.text),1)):(z(),B(We,{key:1},[$t(K(W.text),1)],64))],64))),128))])):Re("",!0)])],42,YC))),128))],64)):Re("",!0),S.value.length?(z(),B(We,{key:2},[D("div",aA,K(Z(a)("palette.saved")),1),(z(!0),B(We,null,kt(S.value,(N,V)=>(z(),B("div",{key:N.id,class:ht(["fe-cmdp__item fe-cmdp__item--saved",{"is-active":j.value+V===s.value}]),role:"option","aria-selected":j.value+V===s.value,tabindex:"-1",onMouseenter:W=>s.value=j.value+V,onClick:W=>Y(N),onKeydown:hn(Gt(W=>Y(N),["prevent"]),["enter"])},[D("span",oA,K(N.icon),1),D("span",sA,K(N.label),1),N.kind==="saved"?(z(),B("button",{key:0,type:"button",class:"fe-cmdp__del",title:Z(a)("palette.saved.delete"),"aria-label":Z(a)("palette.saved.delete"),onClick:Gt(W=>x(N.query),["stop"])},"🗑",8,lA)):Re("",!0)],42,iA))),128))],64)):Re("",!0),p.value.length?(z(),B(We,{key:3},[D("div",uA,K(Z(a)("palette.commands")),1),(z(!0),B(We,null,kt(p.value,(N,V)=>(z(),B("button",{key:N.id,type:"button",class:ht(["fe-cmdp__item",{"is-active":te.value+V===s.value}]),role:"option","aria-selected":te.value+V===s.value,onMouseenter:W=>s.value=te.value+V,onClick:W=>Y(N)},[D("span",fA,K(N.icon),1),D("span",dA,K(N.label),1)],42,cA))),128))],64)):Re("",!0),M.value.length===0&&!m.value?(z(),B("div",pA,K(Z(a)("palette.empty")),1)):Re("",!0)],512),D("div",hA,K(Z(a)("palette.hint")),1)],8,zC)])):Re("",!0)]),_:1}))}}),_A=["aria-labelledby","aria-label"],yA={key:0,class:"fe-modal__head"},xA={class:"fe-modal__body"},wA={key:1,class:"fe-modal__actions"},ab='input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),a[href],[tabindex]:not([tabindex="-1"])',hi=Nt({__name:"Modal",props:{open:{type:Boolean},title:{},size:{},closeOnBackdrop:{type:Boolean},chromeless:{type:Boolean},theme:{}},emits:["close"],setup(e,{emit:t}){const r=e,n=t,a=ae(null);let i=0;const o=`fe-modal-title-${++i}-${Math.random().toString(36).slice(2,7)}`;let s=null;Tt(()=>r.open,c=>{var f;c?(s=document.activeElement??null,document.addEventListener("keydown",l),setTimeout(()=>{var p;const d=(p=a.value)==null?void 0:p.querySelector(ab);d==null||d.focus()},30)):(document.removeEventListener("keydown",l),(f=s==null?void 0:s.focus)==null||f.call(s),s=null)}),nr(()=>document.removeEventListener("keydown",l));function l(c){if(c.key==="Escape"){n("close");return}if(c.key==="Tab"&&a.value){const f=Array.from(a.value.querySelectorAll(ab)).filter(m=>m.offsetParent!==null||m===document.activeElement);if(f.length===0)return;const d=f[0],p=f[f.length-1],h=document.activeElement;c.shiftKey&&(h===d||!a.value.contains(h))?(c.preventDefault(),p.focus()):!c.shiftKey&&(h===p||!a.value.contains(h))&&(c.preventDefault(),d.focus())}}function u(){r.closeOnBackdrop!==!1&&n("close")}return(c,f)=>(z(),er(fi,{name:"fe-modal"},{default:cr(()=>[e.open?(z(),B("div",{key:0,class:ht(["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:u},[D("div",{ref_key:"cardEl",ref:a,class:ht(["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?o:void 0,"aria-label":(!e.title||e.chromeless)&&e.title||void 0,onClick:f[1]||(f[1]=Gt(()=>{},["stop"]))},[e.title&&!e.chromeless?(z(),B("header",yA,[D("h2",{id:o,class:"fe-modal__title"},K(e.title),1),D("button",{type:"button",class:"fe-modal__close","aria-label":"Close",onClick:f[0]||(f[0]=d=>n("close"))},"×")])):Re("",!0),D("div",xA,[Tv(c.$slots,"default")]),c.$slots.actions&&!e.chromeless?(z(),B("footer",wA,[Tv(c.$slots,"actions")])):Re("",!0)],10,_A)],2)):Re("",!0)]),_:3}))}}),kA={class:"fe-shortcuts"},EA={class:"fe-shortcuts__heading"},SA={class:"fe-shortcuts__table"},CA={class:"fe-shortcuts__keys"},AA={key:0,class:"fe-shortcuts__unbound"},TA={class:"fe-kbd"},DA={key:0,class:"fe-shortcuts__or","aria-hidden":"true"},MA={class:"fe-shortcuts__desc"},OA=["title"],IA=Nt({__name:"ShortcutsHelp",props:{open:{type:Boolean},locale:{}},emits:["close","customize"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=Hg(),o=He(()=>{const s=[],l=new Map;for(const u of i.value)l.has(u.groupKey)||(l.set(u.groupKey,[]),s.push(u.groupKey)),l.get(u.groupKey).push(u);return s.map(u=>({key:u,items:l.get(u)}))});return(s,l)=>(z(),er(hi,{open:e.open,title:Z(a)("shortcuts.title"),size:"md",onClose:l[2]||(l[2]=u=>n("close"))},{actions:cr(()=>[D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:l[0]||(l[0]=u=>n("customize"))}," ⌨ "+K(Z(a)("shortcuts.customize")),1),D("button",{type:"button",class:"fe-btn",onClick:l[1]||(l[1]=u=>n("close"))},K(Z(a)("viewer.close")),1)]),default:cr(()=>[D("div",kA,[(z(!0),B(We,null,kt(o.value,u=>(z(),B("section",{key:u.key,class:"fe-shortcuts__group"},[D("h3",EA,K(Z(a)(u.key)),1),D("div",SA,[(z(!0),B(We,null,kt(u.items,c=>(z(),B("div",{key:c.id,class:"fe-shortcuts__row"},[D("span",CA,[c.keys.length===0?(z(),B("span",AA,K(Z(a)("shortcuts.settings.unbound")),1)):(z(!0),B(We,{key:1},kt(c.keys,(f,d)=>(z(),B(We,{key:f},[D("kbd",TA,K(f),1),d<c.keys.length-1?(z(),B("span",DA,"/")):Re("",!0)],64))),128))]),D("span",MA,[$t(K(Z(a)(c.labelKey))+" ",1),c.overridden?(z(),B("span",{key:0,class:"fe-shortcuts__custom",title:Z(a)("shortcuts.settings.customized")},"●",8,OA)):Re("",!0)])]))),128))])]))),128))])]),_:1},8,["open","title"]))}}),_0="filex.theme",Pa="default",bd=[{id:Pa,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 Il(e){return bd.find(t=>t.id===e)}const RA=Array.from(new Set(bd.flatMap(e=>[...Object.keys(e.light),...Object.keys(e.dark)])));function NA(){try{const e=localStorage.getItem(_0);return e&&Il(e)?e:Pa}catch{return Pa}}const _d=ae(typeof window>"u"?Pa:NA());function FA(e){const t=Il(e)?e:Pa;_d.value=t;try{t===Pa?localStorage.removeItem(_0):localStorage.setItem(_0,t)}catch{}}function LA(){return{themeId:_d,setTheme:FA}}const y0="filex.thememode",yd=["host","auto","light","dark"];function zA(){try{const e=localStorage.getItem(y0);return e&&yd.includes(e)?e:"host"}catch{return"host"}}const xd=ae(typeof window>"u"?"host":zA());function PA(e){const t=yd.includes(e)?e:"host";xd.value=t;try{t==="host"?localStorage.removeItem(y0):localStorage.setItem(y0,t)}catch{}}function BA(){return{themeMode:xd,setThemeMode:PA}}if(typeof window<"u")try{window.addEventListener("storage",e=>{if(e.key!==y0)return;const t=e.newValue;xd.value=t&&yd.includes(t)?t:"host"})}catch{}if(typeof window<"u")try{window.addEventListener("storage",e=>{e.key===_0&&(_d.value=e.newValue&&Il(e.newValue)?e.newValue:Pa)})}catch{}function $A(e,t,r){for(const i of RA)e.style.removeProperty(i);if(t===Pa)return;const n=Il(t);if(!n)return;const a=r?n.dark:n.light;for(const[i,o]of Object.entries(a))e.style.setProperty(i,o)}const ib="data-filex-theme";function ob(e){return Object.entries(e).map(([t,r])=>`${t}:${r};`).join("")}function UA(e){const t=ob(e.light),r=ob(e.dark),n=[".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(","),a=[".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}}${n}{${r}}@media (prefers-color-scheme: dark){${a}{${r}}}`}function HA(e){if(typeof document>"u")return;let t=document.head.querySelector(`style[${ib}]`);const r=e===Pa?void 0:Il(e);if(!r){t&&(t.textContent="");return}t?t!==document.head.lastElementChild&&document.head.appendChild(t):(t=document.createElement("style"),t.setAttribute(ib,""),document.head.appendChild(t));const n=UA(r);t.textContent!==n&&(t.textContent=n)}const qA=["aria-label"],GA={class:"fe-thememode__label"},KA={class:"fe-thememode__seg"},VA=["aria-pressed","onClick"],jA={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"},WA={key:1,d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"},YA={class:"fe-themes__hint"},ZA=["aria-label"],XA=["aria-selected","onClick"],JA={class:"fe-themecard__name"},QA=["title"],eT=["disabled"],tT=Nt({__name:"ThemeGallery",props:{open:{type:Boolean},locale:{},theme:{},dark:{type:Boolean},current:{},mode:{},hostMode:{}},emits:["close","select","mode"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=[{id:"light",labelKey:"theme.mode.light"},{id:"dark",labelKey:"theme.mode.dark"},{id:"auto",labelKey:"theme.mode.auto"}],o=He(()=>r.mode==="host"?r.hostMode:r.mode);function s(u){return r.dark?u.dark:u.light}const l=Pa;return(u,c)=>(z(),er(hi,{open:e.open,title:Z(a)("theme.title"),size:"lg",theme:e.theme,onClose:c[2]||(c[2]=f=>n("close"))},{actions:cr(()=>[D("button",{type:"button",class:"fe-btn",disabled:e.current===Z(l),onClick:c[0]||(c[0]=f=>n("select",Z(l)))},K(Z(a)("theme.reset")),9,eT),D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:c[1]||(c[1]=f=>n("close"))},K(Z(a)("theme.close")),1)]),default:cr(()=>[D("div",{class:"fe-thememode",role:"group","aria-label":Z(a)("theme.mode.label")},[D("span",GA,K(Z(a)("theme.mode.label")),1),D("div",KA,[(z(),B(We,null,kt(i,f=>D("button",{key:f.id,type:"button",class:ht(["fe-thememode__opt",{"is-active":o.value===f.id}]),"aria-pressed":o.value===f.id,onClick:d=>n("mode",f.id)},[(z(),B("svg",jA,[f.id==="light"?(z(),B(We,{key:0},[c[3]||(c[3]=D("circle",{cx:"12",cy:"12",r:"4"},null,-1)),c[4]||(c[4]=D("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"},null,-1))],64)):f.id==="dark"?(z(),B("path",WA)):(z(),B(We,{key:2},[c[5]||(c[5]=D("circle",{cx:"12",cy:"12",r:"9"},null,-1)),c[6]||(c[6]=D("path",{d:"M12 3a9 9 0 0 1 0 18z",fill:"currentColor",stroke:"none"},null,-1))],64))])),D("span",null,K(Z(a)(f.labelKey)),1)],10,VA)),64))])],8,qA),D("p",YA,K(Z(a)("theme.hint")),1),D("div",{class:"fe-themes",role:"listbox","aria-label":Z(a)("theme.title")},[(z(!0),B(We,null,kt(Z(bd),f=>(z(),B("button",{key:f.id,type:"button",class:ht(["fe-themecard",{"is-selected":f.id===e.current}]),role:"option","aria-selected":f.id===e.current,style:Dn(s(f)),onClick:d=>n("select",f.id)},[c[7]||(c[7]=D("span",{class:"fe-themecard__preview","aria-hidden":"true"},[D("span",{class:"fe-themecard__topbar"},[D("span",{class:"fe-themecard__chip fe-themecard__chip--primary"}),D("span",{class:"fe-themecard__chip"}),D("span",{class:"fe-themecard__chip fe-themecard__chip--ghost"})]),D("span",{class:"fe-themecard__row"},[D("span",{class:"fe-themecard__dot"}),D("span",{class:"fe-themecard__line",style:{width:"62%"}})]),D("span",{class:"fe-themecard__row fe-themecard__row--selected"},[D("span",{class:"fe-themecard__dot fe-themecard__dot--primary"}),D("span",{class:"fe-themecard__line",style:{width:"44%"}})]),D("span",{class:"fe-themecard__row"},[D("span",{class:"fe-themecard__dot fe-themecard__dot--muted"}),D("span",{class:"fe-themecard__line fe-themecard__line--muted",style:{width:"74%"}})])],-1)),D("span",JA,[$t(K(Z(a)(f.nameKey))+" ",1),f.id===e.current?(z(),B("span",{key:0,class:"fe-themecard__check",title:Z(a)("theme.selected")},"✓",8,QA)):Re("",!0)])],14,XA))),128))],8,ZA)]),_:1},8,["open","title","theme"]))}}),rT={class:"fe-shortset"},nT={class:"fe-shortset__topbar"},aT={class:"fe-shortset__hint"},iT=["disabled"],oT={class:"fe-shortcuts__heading"},sT={class:"fe-shortset__row"},lT={class:"fe-shortset__label"},uT=["title"],cT={class:"fe-shortset__keys"},fT={key:0,class:"fe-shortset__capture",role:"status"},dT={key:0,class:"fe-shortcuts__unbound"},pT={class:"fe-kbd"},hT={key:0,class:"fe-shortcuts__or","aria-hidden":"true"},mT={class:"fe-shortset__actions"},vT=["onClick"],gT=["title","aria-label","onClick"],bT={key:1,class:"fe-shortset__fixed"},_T={key:0,class:"fe-shortset__conflict",role:"alert"},yT={class:"fe-shortset__conflict-msg"},xT={class:"fe-kbd"},wT={class:"fe-shortset__conflict-actions"},kT=Nt({__name:"ShortcutSettings",props:{open:{type:Boolean},locale:{},theme:{}},emits:["close"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=Hg(),o=He(()=>{const _=[],k=new Map;for(const T of i.value)k.has(T.groupKey)||(k.set(T.groupKey,[]),_.push(T.groupKey)),k.get(T.groupKey).push(T);return _.map(T=>({key:T,items:k.get(T)}))}),s=He(()=>i.value.some(_=>_.overridden)),l=ae(null),u=ae(null);function c(_){const k=Ao.find(T=>T.id===_);return k?a(k.labelKey):_}function f(_){u.value=null,l.value=_}function d(){l.value=null}function p(_,k){if(l.value=null,k===h0(_))return;const T=yk(k,_);if(T){u.value={id:_,combo:k,conflictId:T.id,fixed:T.fixed};return}pd(_,k)}function h(){const _=u.value;!_||_.fixed||(pd(_.conflictId,""),pd(_.id,_.combo),u.value=null)}function m(){u.value=null}function b(_){u.value=null,bk(_)}function g(){u.value=null,l.value=null,_k()}function v(_){if(l.value){if(_.preventDefault(),_.stopPropagation(),_.key==="Escape"){d();return}const k=Ug(_);if(!k)return;p(l.value,k);return}_.key==="Escape"||_.key==="Tab"||_.stopPropagation()}Tt(()=>r.open,_=>{_?window.addEventListener("keydown",v,!0):(window.removeEventListener("keydown",v,!0),l.value=null,u.value=null)}),nr(()=>window.removeEventListener("keydown",v,!0));function y(){if(l.value){d();return}n("close")}return(_,k)=>(z(),er(hi,{open:e.open,title:Z(a)("shortcuts.settings.title"),size:"lg",theme:e.theme,onClose:y},{actions:cr(()=>[D("button",{type:"button",class:"fe-btn",onClick:y},K(Z(a)("viewer.close")),1)]),default:cr(()=>[D("div",rT,[D("div",nT,[D("p",aT,K(Z(a)("shortcuts.settings.hint")),1),D("button",{type:"button",class:"fe-btn fe-shortset__reset-all",disabled:!s.value,onClick:g}," ↺ "+K(Z(a)("shortcuts.settings.reset_all")),9,iT)]),(z(!0),B(We,null,kt(o.value,T=>(z(),B("section",{key:T.key,class:"fe-shortset__group"},[D("h3",oT,K(Z(a)(T.key)),1),(z(!0),B(We,null,kt(T.items,E=>{var w;return z(),B("div",{key:E.id,class:ht(["fe-shortset__item",{"is-capturing":l.value===E.id,"is-conflict":((w=u.value)==null?void 0:w.id)===E.id}])},[D("div",sT,[D("span",lT,[$t(K(Z(a)(E.labelKey))+" ",1),E.overridden?(z(),B("span",{key:0,class:"fe-shortcuts__custom",title:Z(a)("shortcuts.settings.customized")},"●",8,uT)):Re("",!0)]),D("span",cT,[l.value===E.id?(z(),B("span",fT,K(Z(a)("shortcuts.settings.capture")),1)):(z(),B(We,{key:1},[E.keys.length===0?(z(),B("span",dT,K(Z(a)("shortcuts.settings.unbound")),1)):(z(!0),B(We,{key:1},kt(E.keys,(x,S)=>(z(),B(We,{key:x},[D("kbd",pT,K(x),1),S<E.keys.length-1?(z(),B("span",hT,"/")):Re("",!0)],64))),128))],64))]),D("span",mT,[E.customizable?(z(),B(We,{key:0},[l.value!==E.id?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-shortset__btn",onClick:x=>f(E.id)},K(Z(a)("shortcuts.settings.change")),9,vT)):(z(),B("button",{key:1,type:"button",class:"fe-btn fe-shortset__btn",onClick:d},K(Z(a)("shortcuts.settings.conflict_cancel")),1)),E.overridden?(z(),B("button",{key:2,type:"button",class:"fe-btn fe-btn--icon-only fe-shortset__btn",title:Z(a)("shortcuts.settings.reset"),"aria-label":Z(a)("shortcuts.settings.reset"),onClick:x=>b(E.id)}," ↺ ",8,gT)):Re("",!0)],64)):(z(),B("span",bT,K(Z(a)("shortcuts.settings.fixed")),1))])]),u.value&&u.value.id===E.id?(z(),B("div",_T,[D("span",yT,[D("kbd",xT,K(u.value.combo),1),$t(" "+K(u.value.fixed?Z(a)("shortcuts.settings.conflict_fixed",{name:c(u.value.conflictId)}):Z(a)("shortcuts.settings.conflict",{name:c(u.value.conflictId)})),1)]),D("span",wT,[u.value.fixed?Re("",!0):(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--danger fe-shortset__btn",onClick:h},K(Z(a)("shortcuts.settings.conflict_take")),1)),D("button",{type:"button",class:"fe-btn fe-shortset__btn",onClick:m},K(Z(a)("shortcuts.settings.conflict_cancel")),1)])])):Re("",!0)],2)}),128))]))),128))])]),_:1},8,["open","title","theme"]))}}),ET={key:0,class:"fe-preview"},ST=["src","alt"],CT=["src"],AT=["src"],TT=["data"],DT={class:"fe-preview__fallback"},MT=["href"],OT={key:0,class:"fe-preview__fallback"},IT={key:1,class:"fe-preview__fallback"},RT=["href"],NT={key:2,class:"fe-preview__md-split"},FT={class:"fe-preview__md-split-bar"},LT={key:0,class:"fe-preview__md-split-error"},zT=["disabled"],PT={class:"fe-preview__md-split-body"},BT=["onKeydown"],$T={key:0,class:"fe-preview__md-split-output fe-preview__md"},UT=["innerHTML"],HT={key:3,class:"fe-preview__fallback"},qT=["href"],GT=["innerHTML"],KT={key:5,class:"fe-preview__pre"},VT={key:0,class:"fe-preview__fallback"},jT=["href"],WT={key:1,class:"fe-preview__fallback"},YT={key:0,class:"fe-preview__fallback"},ZT={key:1,class:"fe-preview__fallback"},XT=["href"],JT={key:2,class:"fe-preview__fallback"},QT=["href"],eD={key:3,class:"fe-preview__code-wrap"},tD={class:"fe-preview__code-toolbar"},rD={class:"fe-preview__code-lang"},nD={key:0,class:"fe-preview__code-status"},aD={key:1,class:"fe-preview__code-status fe-preview__code-status--ok"},iD=["title"],oD={key:3,class:"fe-preview__code-status"},sD=["disabled"],lD={key:0,class:"fe-preview__pre fe-preview__code hljs"},uD=["innerHTML"],cD=["data-lang"],fD={key:0,class:"fe-preview__fallback"},dD=["href"],pD={key:8,class:"fe-preview__fallback"},hD=["href"],mD=["href"],wd=1e6,sb="fe-onlyoffice-api-js",lb=Nt({__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 r=e,n=t,{t:a}=yr(()=>r.locale);function i(he){return((he==null?void 0:he.extension)||"").toLowerCase()}const o=["jpg","jpeg","png","webp","gif","bmp","avif","svg","heic"],s=["mp4","webm","mov","mkv","m4v","ogv"],l=["mp3","wav","ogg","flac","m4a","aac","opus"],u={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"},c=["txt","log"],f=["docx","doc","xlsx","xls","pptx","ppt","odt","ods","odp","rtf"],d={glb:()=>Promise.resolve().then(()=>fs),gltf:()=>Promise.resolve().then(()=>fs),obj:()=>Promise.resolve().then(()=>fs),stl:()=>Promise.resolve().then(()=>fs),fbx:()=>Promise.resolve().then(()=>fs),"3ds":()=>Promise.resolve().then(()=>fs),epub:()=>Promise.resolve().then(()=>aL),mmd:()=>Promise.resolve().then(()=>F2),mermaid:()=>Promise.resolve().then(()=>F2),drawio:()=>Promise.resolve().then(()=>L2),dio:()=>Promise.resolve().then(()=>L2),tif:()=>Promise.resolve().then(()=>z2),tiff:()=>Promise.resolve().then(()=>z2),psd:()=>Promise.resolve().then(()=>kL),ipynb:()=>Promise.resolve().then(()=>UL),csv:()=>Promise.resolve().then(()=>B2),tsv:()=>Promise.resolve().then(()=>B2),zip:()=>Promise.resolve().then(()=>uz)},p=He(()=>{const he=i(r.file);if(!he)return"other";if(o.includes(he))return"image";if(s.includes(he))return"video";if(l.includes(he))return"audio";if(he==="pdf")return"pdf";const pe=r.openMode!=="view";return he==="md"||he==="markdown"?"markdown":he in u?"code":he in d?"viewer":f.includes(he)?"office":c.includes(he)?pe?"code":"text":"other"}),h=ow(null),m=ae(null),b=ae(!1);async function g(he){h.value=null,m.value=null;const pe=d[he];if(pe)try{const Fe=await pe();h.value=Fe.default??Fe}catch(Fe){m.value=Fe instanceof Error?Fe.message:"viewer load failed",he==="pdf"&&(b.value=!0)}}function v(){b.value=!0}const y=He(()=>{var Fe;const he=i(r.file),pe={url:x.value,ext:he,mime:(Fe=r.file)==null?void 0:Fe.mime_type,t:a,authHeaders:r.authHeaders,authCredentials:r.authCredentials};return r.file&&(pe.filePath=M(r.file.path),(he==="zip"||he==="rar"||he==="7z"||he==="tar"||he==="gz"||he==="tgz")&&(pe.filePath=r.file.path)),(he==="drawio"||he==="dio")&&(pe.drawioUrl=r.drawioUrl??void 0,pe.saveUrl=r.saveTextEndpoint??void 0,pe.readOnly=r.openMode==="view"),he==="pdf"&&(pe.pdfWorkerUrl=r.pdfWorkerUrl??void 0,pe.pdfSaveUrl=r.pdfSaveUrl??void 0),pe});function _(){T(r.openMode||"edit")}function k(){T("edit")}function T(he){if(!r.file)return;const pe=i(r.file),Fe=r.viewerBaseUrl||"/files/edit",ce=Fe.includes("?")?"&":"?",Se=`${Fe}${ce}path=${encodeURIComponent(r.file.path)}&type=${encodeURIComponent(pe)}&mode=${encodeURIComponent(he)}`;window.open(Se,"_blank","noopener")}const E=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"]),w=He(()=>!!r.file&&E.has(i(r.file))),x=He(()=>r.file?r.previewUrl(r.file.path):""),S=He(()=>r.file?r.downloadUrl(r.file.path):"");function M(he){const pe=he.indexOf("://");return pe===-1?he:he.slice(pe+3)}const P=ae(!1),F=ae(null),j=ae(""),te=ae(!1),$=ae(!1),Y=ae(!1);let re,H;function U(){$.value=!0,re&&clearTimeout(re),re=setTimeout(()=>{Oe(j.value)},250),H&&clearTimeout(H),H=setTimeout(()=>{N()},1500)}async function N(){if(!(!r.saveTextEndpoint||!r.file||Y.value)){Y.value=!0,F.value=null;try{const he={"Content-Type":"application/json",...await(r.authHeaders??(()=>({})))()},pe=await fetch(r.saveTextEndpoint,{method:"POST",headers:he,credentials:r.authCredentials||"same-origin",body:JSON.stringify({path:M(r.file.path),content:j.value})});if(!pe.ok)throw new Error(`save failed: ${pe.status} ${await pe.text()}`);$.value=!1}catch(he){F.value=he instanceof Error?he.message:String(he)}finally{Y.value=!1}}}async function V(he){P.value=!0,F.value=null,j.value="",te.value=!1;try{const pe={};r.authHeaders&&Object.assign(pe,await r.authHeaders());const Fe=await fetch(he,{credentials:r.authCredentials||"same-origin",headers:pe});if(!Fe.ok)throw new Error(`${Fe.status} ${Fe.statusText}`);if(Number(Fe.headers.get("content-length")||"0")>wd){te.value=!0;return}const Se=await Fe.text();Se.length>wd?(te.value=!0,j.value=Se.slice(0,wd)):j.value=Se}catch(pe){F.value=pe instanceof Error?pe.message:String(pe)}finally{P.value=!1}}const W=ae(""),ge=ae(null),ke=ae(!1);async function Oe(he){try{const pe=await Promise.resolve().then(()=>D_).catch(()=>null);if(!pe){W.value="",ke.value=!0;return}ke.value=!1;const Fe=pe.default??pe,Se=new Fe({html:!0,linkify:!0,breaks:!0,typographer:!0}).render(he);W.value=ze(Se),await new Promise(q=>setTimeout(q,0)),await de()}catch(pe){W.value="",F.value=pe instanceof Error?pe.message:String(pe)}}function ze(he){return he.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 de(){var Se,q,Ke;if(!ge.value)return;const he=ge.value,pe=Array.from(he.querySelectorAll("pre > code"));if(pe.length===0)return;let Fe,ce;for(const vt of pe){const A=vt.className||"",Le=/\blanguage-mermaid\b/.test(A)||/\blanguage-mmd\b/.test(A),Be=/\blanguage-math\b/.test(A)||/\blanguage-latex\b/.test(A)||/\blanguage-tex\b/.test(A);if(Le){if(Fe===void 0)try{const L=await import("mermaid");Fe=L.default??L,(Se=Fe.initialize)==null||Se.call(Fe,{startOnLoad:!1,securityLevel:"strict"})}catch{Fe=null}if(!Fe)continue;try{const L=`filex-md-mermaid-${Math.random().toString(36).slice(2)}`,{svg:X}=await Fe.render(L,vt.textContent||""),me=document.createElement("div");me.className="fe-preview__md-mermaid",me.innerHTML=X,(q=vt.parentElement)==null||q.replaceWith(me)}catch{}}else if(Be){if(ce===void 0)try{const L=await Promise.resolve().then(()=>wU);ce=L.default??L}catch{ce=null}if(!ce)continue;try{const L=ce.renderToString(vt.textContent||"",{displayMode:!0,throwOnError:!1}),X=document.createElement("div");X.className="fe-preview__md-math",X.innerHTML=L,(Ke=vt.parentElement)==null||Ke.replaceWith(X)}catch{}}}}const De=ae("");async function Ne(he,pe){try{const Fe=await Vg();if(!Fe){De.value="";return}const ce=Fe.default??Fe;if(ce.getLanguage(pe)){const Se=ce.highlight(he,{language:pe,ignoreIllegals:!0});De.value=Se.value}else{const Se=ce.highlightAuto(he);De.value=Se.value}}catch(Fe){De.value="",F.value=Fe instanceof Error?Fe.message:String(Fe)}}const Ue=ae(null);let ee=null,oe;const ye=ae(!1),we=ae(!1),ve=ae(!1),be=ae(!1),le=ae(null);function Te(){if(ee){try{ee.dispose()}catch{}ee=null}ye.value=!1,be.value=!1,le.value=null}function ie(he){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"}[he]??"plaintext"}async function se(he,pe){var ce;const Fe=await Kg();if(Fe||(we.value=!0),!Fe||!Ue.value)return!1;try{Te();const Se=!!r.saveTextEndpoint&&r.openMode!=="view",q=r.theme==="dark"?!0:r.theme==="light"?!1:(ce=window.matchMedia)==null?void 0:ce.call(window,"(prefers-color-scheme: dark)").matches;return ee=Fe.editor.create(Ue.value,{value:he,language:ie(pe),readOnly:!Se,theme:q?"vs-dark":"vs",automaticLayout:!0,minimap:{enabled:!1},fontSize:13}),Se&&(ee.addCommand(Fe.KeyMod.CtrlCmd|Fe.KeyCode.KeyS,()=>void Ie()),ee.onDidChangeModelContent(()=>{oe&&clearTimeout(oe),oe=setTimeout(()=>{Ie()},1500)})),ye.value=!0,!0}catch(Se){return F.value=`Monaco mount fail: ${Se.message}`,!1}}async function Ie(){if(!(!r.saveTextEndpoint||!r.file)&&r.openMode!=="view"&&!ve.value){ve.value=!0,be.value=!1,le.value=null;try{const he=ee?ee.getValue():"",pe={"Content-Type":"application/json"};r.authHeaders&&Object.assign(pe,await r.authHeaders());const Fe=await fetch(r.saveTextEndpoint,{method:"POST",headers:pe,credentials:r.authCredentials||"same-origin",body:JSON.stringify({path:M(r.file.path),content:he})});if(!Fe.ok){const ce=await Fe.text().catch(()=>"");throw new Error(`${Fe.status} ${Fe.statusText}${ce?" — "+ce.slice(0,150):""}`)}be.value=!0,setTimeout(()=>{be.value=!1},2500)}catch(he){le.value=he.message}finally{ve.value=!1}}}async function $e(he,pe,Fe){if(j.value="",W.value="",De.value="",F.value=null,Me.value=null,h.value=null,m.value=null,b.value=!1,it(),Te(),!(!he||!pe)){if(Fe==="viewer"){await g(i(r.file));return}if(Fe==="markdown"||Fe==="code"||Fe==="text"){if(await V(pe),te.value)return;if(Fe==="markdown"){await Oe(j.value);return}const ce=u[i(r.file)]||"";zk()?(await new Promise(Ke=>setTimeout(Ke,0)),await se(j.value,i(r.file))||await Ne(j.value,ce)):(Fe==="code"&&await Ne(j.value,ce),Kg().then(async q=>{if(!q){we.value=!0;return}r.open&&(await new Promise(Ke=>setTimeout(Ke,0)),await se(j.value,i(r.file)))}))}else Fe==="office"&&(await new Promise(ce=>setTimeout(ce,0)),await qe())}}Tt(()=>[r.open,x.value,p.value,r.openMode],([he,pe,Fe])=>{$e(he,pe,Fe)}),Qt(()=>{Hr(()=>{r.open&&$e(r.open,x.value,p.value)})});const je=He(()=>u[i(r.file)]||"plaintext"),Ze=ae(null),Me=ae(null);let Pe=null;async function qe(){if(Me.value=null,!(!r.file||p.value!=="office")){if(!r.onlyOfficeConfigEndpoint){Me.value="OnlyOffice yapılandırması yok";return}if(Ze.value)try{const he={"Content-Type":"application/json"};r.authHeaders&&Object.assign(he,await r.authHeaders());const pe=await fetch(r.onlyOfficeConfigEndpoint,{method:"POST",headers:he,credentials:r.authCredentials||"same-origin",body:JSON.stringify({path:r.file.path,mode:r.openMode||"edit"})});if(!pe.ok)throw new Error(`Config fetch ${pe.status}: ${(await pe.text()).slice(0,200)}`);const{config:Fe,documentServerUrl:ce}=await pe.json();await J(ce),it();const Se="fe-onlyoffice-mount";Ze.value.id=Se,Fe.events={onError:Ke=>{Me.value=_t(Ke)}};const q=window;if(!q.DocsAPI||!q.DocsAPI.DocEditor)throw new Error("DocsAPI not available after script load");Pe=new q.DocsAPI.DocEditor(Se,Fe)}catch(he){Me.value=he instanceof Error?he.message:String(he)}}}function it(){var he;try{(he=Pe==null?void 0:Pe.destroyEditor)==null||he.call(Pe)}catch{}Pe=null}nr(()=>{it(),Te()});function _t(he){if(typeof he=="string")return he;const pe=he;if(pe!=null&&pe.data&&typeof pe.data=="object"){const Fe=pe.data;if(typeof Fe.errorDescription=="string")return Fe.errorDescription;if(typeof Fe.message=="string")return Fe.message;if(Fe.errorCode!==void 0)return`OnlyOffice error ${Fe.errorCode}`}if(typeof(pe==null?void 0:pe.data)=="string")return pe.data;if(typeof(pe==null?void 0:pe.errorDescription)=="string")return pe.errorDescription;if(typeof(pe==null?void 0:pe.message)=="string")return pe.message;try{return JSON.stringify(he)}catch{return"OnlyOffice error"}}function J(he){return new Promise((pe,Fe)=>{var q;if((q=window.DocsAPI)!=null&&q.DocEditor){pe();return}const ce=document.getElementById(sb);if(ce){ce.addEventListener("load",()=>pe()),ce.addEventListener("error",()=>Fe(new Error("OnlyOffice api.js load failed")));return}const Se=document.createElement("script");Se.id=sb,Se.src=`${he.replace(/\/$/,"")}/web-apps/apps/api/documents/api.js`,Se.async=!0,Se.onload=()=>pe(),Se.onerror=()=>Fe(new Error("OnlyOffice api.js load failed")),document.head.appendChild(Se)})}return(he,pe)=>{var Fe;return z(),er(hi,{open:e.open,size:"xl",title:((Fe=e.file)==null?void 0:Fe.basename)||"",chromeless:e.chromeless,theme:e.theme,onClose:pe[2]||(pe[2]=ce=>n("close"))},{actions:cr(()=>[e.file&&e.openMode==="view"&&w.value&&e.newTabEnabled!==!1?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--primary",onClick:k},"✏ "+K(Z(a)("viewer.edit")),1)):Re("",!0),e.file&&e.newTabEnabled!==!1?(z(),B("button",{key:1,type:"button",class:"fe-btn",onClick:_},"↗ "+K(Z(a)("viewer.open_in_new_tab")),1)):Re("",!0),e.file?(z(),B("a",{key:2,href:S.value,class:"fe-btn"},K(Z(a)("viewer.download")),9,mD)):Re("",!0),D("button",{type:"button",class:"fe-btn",onClick:pe[1]||(pe[1]=ce=>n("close"))},K(Z(a)("viewer.close")),1)]),default:cr(()=>[e.file?(z(),B("div",ET,[p.value==="image"?(z(),B("img",{key:0,src:x.value,alt:e.file.basename,class:"fe-preview__image"},null,8,ST)):p.value==="video"?(z(),B("video",{key:1,src:x.value,controls:"",preload:"metadata",class:"fe-preview__video"},null,8,CT)):p.value==="audio"?(z(),B("audio",{key:2,src:x.value,controls:"",class:"fe-preview__audio"},null,8,AT)):p.value==="pdf"?(z(),B("object",{key:3,data:x.value,type:"application/pdf",class:"fe-preview__iframe"},[D("div",DT,[pe[3]||(pe[3]=D("span",{class:"fe-preview__fallback-icon"},"📕",-1)),pe[4]||(pe[4]=D("p",null,"Tarayıcı PDF'i inline açamadı.",-1)),D("a",{href:S.value,class:"fe-btn fe-btn--primary",target:"_blank",rel:"noopener"},"PDF'i Yeni Sekmede Aç",8,MT)])],8,TT)):p.value==="markdown"?(z(),B(We,{key:4},[P.value?(z(),B("div",OT,K(Z(a)("viewer.loading")),1)):te.value?(z(),B("div",IT,[pe[5]||(pe[5]=$t(" Dosya çok büyük (>1 MB). ",-1)),D("a",{href:S.value,class:"fe-btn"},K(Z(a)("viewer.download")),9,RT)])):e.openMode==="edit"&&e.saveTextEndpoint?(z(),B("div",NT,[D("div",FT,[pe[6]||(pe[6]=D("span",{class:"fe-preview__md-split-label"},"MARKDOWN",-1)),F.value?(z(),B("span",LT,K(F.value),1)):Re("",!0),D("button",{type:"button",class:"fe-btn fe-btn--primary",disabled:!$.value||Y.value,onClick:N},K(Y.value?Z(a)("viewer.saving"):$.value?Z(a)("viewer.save"):Z(a)("viewer.saved")),9,zT)]),D("div",PT,[Zt(D("textarea",{class:"fe-preview__md-split-input","onUpdate:modelValue":pe[0]||(pe[0]=ce=>j.value=ce),onInput:U,onKeydown:[hn(Gt(N,["ctrl","prevent"]),["s"]),hn(Gt(N,["meta","prevent"]),["s"])],spellcheck:"false",placeholder:"# Markdown buraya…"},null,40,BT),[[Fr,j.value]]),ke.value?(z(),B("div",$T,K(Z(a)("viewer.peer_not_installed")),1)):(z(),B("div",{key:1,ref_key:"markdownEl",ref:ge,class:"fe-preview__md-split-output fe-preview__md",innerHTML:W.value},null,8,UT))])])):F.value?(z(),B("div",HT,[D("p",null,K(F.value),1),D("a",{href:S.value,class:"fe-btn fe-btn--primary"},K(Z(a)("viewer.download")),9,qT)])):W.value?(z(),B("div",{key:4,ref_key:"markdownEl",ref:ge,class:"fe-preview__md",innerHTML:W.value},null,8,GT)):(z(),B("pre",KT,K(j.value),1))],64)):p.value==="viewer"?(z(),B(We,{key:5},[m.value&&!b.value?(z(),B("div",VT,[pe[7]||(pe[7]=D("span",{class:"fe-preview__fallback-icon"},"⚠️",-1)),D("p",null,K(m.value),1),D("a",{href:S.value,class:"fe-btn fe-btn--primary"},K(Z(a)("viewer.download")),9,jT)])):h.value?(z(),er(qw(h.value),rg({key:2},y.value,{class:"fe-preview__viewer",onFallback:v}),null,16)):(z(),B("div",WT,[pe[8]||(pe[8]=D("span",{class:"fe-preview__fallback-icon"},"⏳",-1)),D("p",null,K(Z(a)("viewer.loading")),1)]))],64)):p.value==="code"||p.value==="text"?(z(),B(We,{key:6},[P.value?(z(),B("div",YT,K(Z(a)("viewer.loading")),1)):te.value?(z(),B("div",ZT,[pe[9]||(pe[9]=$t(" Dosya çok büyük (>1 MB). ",-1)),D("a",{href:S.value,class:"fe-btn"},K(Z(a)("viewer.download")),9,XT)])):F.value?(z(),B("div",JT,[D("p",null,K(F.value),1),D("a",{href:S.value,class:"fe-btn fe-btn--primary"},K(Z(a)("viewer.download")),9,QT)])):(z(),B("div",eD,[D("div",tD,[D("span",rD,K(je.value),1),!ye.value&&De.value?(z(),B("span",nD,K(e.saveTextEndpoint&&!we.value?Z(a)("viewer.editor_loading"):Z(a)("viewer.read_only")),1)):Re("",!0),be.value?(z(),B("span",aD,"✓ "+K(Z(a)("viewer.saved")),1)):Re("",!0),le.value?(z(),B("span",{key:2,class:"fe-preview__code-status fe-preview__code-status--err",title:le.value},"✗ "+K(Z(a)("viewer.save_error")),9,iD)):Re("",!0),e.openMode==="view"?(z(),B("span",oD,K(Z(a)("viewer.read_only")),1)):e.saveTextEndpoint&&ye.value?(z(),B("button",{key:4,type:"button",class:"fe-btn fe-btn--primary",disabled:ve.value,onClick:Ie},K(ve.value?Z(a)("viewer.saving"):Z(a)("viewer.save")),9,sD)):Re("",!0)]),D("div",{ref_key:"monacoEl",ref:Ue,class:ht(["fe-preview__code-editor",{"is-hidden":!ye.value}])},null,2),!ye.value&&De.value?(z(),B("pre",lD,[D("code",{class:ht(`language-${je.value}`),innerHTML:De.value},null,10,uD)])):!ye.value&&!De.value?(z(),B("pre",{key:1,class:"fe-preview__pre","data-lang":je.value},K(j.value),9,cD)):Re("",!0)]))],64)):p.value==="office"?(z(),B(We,{key:7},[Me.value?(z(),B("div",fD,[pe[10]||(pe[10]=D("span",{class:"fe-preview__fallback-icon"},"📄",-1)),D("p",null,K(Me.value),1),D("a",{href:S.value,class:"fe-btn fe-btn--primary"},K(Z(a)("viewer.download")),9,dD)])):(z(),B("div",{key:1,ref_key:"officeEl",ref:Ze,class:"fe-preview__office"},null,512))],64)):(z(),B("div",pD,[pe[11]||(pe[11]=D("span",{class:"fe-preview__fallback-icon"},"📎",-1)),D("p",null,K(Z(a)("viewer.no_preview")),1),D("a",{href:S.value,class:"fe-btn fe-btn--primary"},K(Z(a)("viewer.download")),9,hD)]))])):Re("",!0)]),_:1},8,["open","title","chromeless","theme"])}}}),vD=Nt({__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 r=e,n=t,{t:a}=yr(()=>r.locale);function i(s){const l=s;return!!(l&&(l.tagName==="INPUT"||l.tagName==="TEXTAREA"||l.tagName==="SELECT"||l.isContentEditable))}function o(s){if(r.open&&!(s.ctrlKey||s.metaKey||s.altKey)&&!i(s.target))switch(s.key){case" ":s.preventDefault(),s.stopPropagation(),n("close");break;case"ArrowRight":case"ArrowDown":s.preventDefault(),s.stopPropagation(),n("nav",1);break;case"ArrowLeft":case"ArrowUp":s.preventDefault(),s.stopPropagation(),n("nav",-1);break;case"Enter":s.preventDefault(),s.stopPropagation(),n("open-full");break}}return Tt(()=>r.open,s=>{s?window.addEventListener("keydown",o,!0):window.removeEventListener("keydown",o,!0)},{immediate:!0}),nr(()=>window.removeEventListener("keydown",o,!0)),(s,l)=>(z(),B(We,null,[Ot(lb,{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:l[0]||(l[0]=u=>n("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"]),Ot(fi,{name:"fe-toast"},{default:cr(()=>[e.open?(z(),B("div",{key:0,class:ht(["fe fe-ql-hint",{"fe--theme-light":e.theme==="light","fe--theme-dark":e.theme==="dark"}]),"aria-hidden":"true"},[l[1]||(l[1]=D("kbd",{class:"fe-kbd"},"Space",-1)),$t(" "+K(Z(a)("quicklook.hint_close"))+" ",1),l[2]||(l[2]=D("span",{class:"fe-ql-hint__sep"},"·",-1)),l[3]||(l[3]=D("kbd",{class:"fe-kbd"},"↑",-1)),l[4]||(l[4]=D("kbd",{class:"fe-kbd"},"↓",-1)),$t(" "+K(Z(a)("quicklook.hint_nav"))+" ",1),l[5]||(l[5]=D("span",{class:"fe-ql-hint__sep"},"·",-1)),l[6]||(l[6]=D("kbd",{class:"fe-kbd"},"Enter",-1)),$t(" "+K(Z(a)("quicklook.hint_open")),1)],2)):Re("",!0)]),_:1})],64))}}),gD=["aria-label"],bD={class:"fe-opc__head"},_D=["aria-label"],yD={class:"fe-opc__body"},xD={key:0,class:"fe-opc__section","aria-live":"polite"},wD={class:"fe-opc__section-title"},kD={class:"fe-opc__list"},ED={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"},SD=["d"],CD={class:"fe-opc__mid"},AD=["title"],TD={class:"fe-opc__sub"},DD={class:"fe-opc__kind"},MD={class:"fe-opc__state"},OD=["aria-valuenow"],ID={key:0,class:"fe-opc__spin","aria-hidden":"true"},RD={class:"fe-opc__acts"},ND=["onClick"],FD=["onClick"],LD=["aria-label","onClick"],zD={key:1,class:"fe-opc__section"},PD={class:"fe-opc__section-title"},BD={class:"fe-opc__list fe-opc__list--history"},$D={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"},UD=["d"],HD={class:"fe-opc__mid"},qD=["title"],GD={key:0,class:"fe-opc__sub fe-opc__sub--err"},KD={key:2,class:"fe-opc__empty"},VD=["aria-expanded","aria-label"],jD=["stroke-dashoffset"],WD={class:"fe-opc__count"},YD={key:0,class:"fe-opc__pct"},kd=8.5,ZD=Nt({__name:"OperationsCenter",props:{center:{},locale:{},narrow:{type:Boolean}},setup(e){const t=e,{t:r,formatSize:n}=yr(()=>t.locale),a=ae(!1),i=ae(null),o=He(()=>t.center.active.value),s=He(()=>t.center.history.value),l=He(()=>t.center.hasError.value),u=He(()=>t.center.overallPercent.value),c=He(()=>t.center.runningCount.value),f=He(()=>o.value.length>0||a.value&&s.value.length>0);Tt(f,w=>{w||(a.value=!1)});const d=2*Math.PI*kd,p=He(()=>{const w=u.value;return w===null?d*.72:d*(1-Math.min(100,Math.max(0,w))/100)}),h=He(()=>u.value===null&&c.value>0),m=He(()=>c.value===0||u.value===null?"":r("opc.percent",{n:u.value})),b=He(()=>r("opc.aria_badge",{n:o.value.length})),g={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 v(w){return r(`opc.kind.${w.kind}`)}function y(w){return w.name||v(w)}function _(w){return w.status==="running"?w.queued?r("opc.queued"):w.totalBytes&&w.totalBytes>0?`${n(w.uploadedBytes??0)} / ${n(w.totalBytes)}`:w.totalCount&&w.totalCount>0?`${w.doneCount??0}/${w.totalCount}`:r("opc.status.running"):w.status==="done"?r("opc.status.done"):w.status==="aborted"?r("opc.status.aborted"):w.error||r("opc.status.error")}function k(w){return r(`opc.status.${w.status==="running"?"running":w.status}`)}function T(w){if(!a.value)return;const x=i.value;x&&w.target instanceof Node&&!x.contains(w.target)&&(a.value=!1)}function E(w){a.value&&w.key==="Escape"&&(a.value=!1)}return Qt(()=>{document.addEventListener("mousedown",T),document.addEventListener("keydown",E)}),nr(()=>{document.removeEventListener("mousedown",T),document.removeEventListener("keydown",E)}),(w,x)=>f.value?(z(),B("div",{key:0,ref_key:"rootEl",ref:i,class:ht(["fe-opc",{"fe-opc--narrow":e.narrow,"fe-opc--open":a.value}])},[Ot(fi,{name:"fe-opc-pop"},{default:cr(()=>[a.value?(z(),B("section",{key:0,class:"fe-opc__panel",role:"dialog","aria-label":Z(r)("opc.title")},[D("header",bD,[D("strong",null,K(Z(r)("opc.title")),1),D("button",{type:"button",class:"fe-opc__x","aria-label":Z(r)("opc.close"),onClick:x[0]||(x[0]=S=>a.value=!1)},"×",8,_D)]),D("div",yD,[o.value.length>0?(z(),B("div",xD,[D("h3",wD,K(Z(r)("opc.active")),1),D("ul",kD,[(z(!0),B(We,null,kt(o.value,S=>(z(),B("li",{key:S.key,class:ht(["fe-opc__item",`is-${S.status}`])},[(z(),B("svg",ED,[D("path",{d:g[S.kind]},null,8,SD)])),D("div",CD,[D("div",{class:"fe-opc__name",title:y(S)},K(y(S)),9,AD),D("div",TD,[D("span",DD,K(v(S)),1),x[3]||(x[3]=D("span",{class:"fe-opc__dot","aria-hidden":"true"},"·",-1)),D("span",MD,K(_(S)),1)]),S.status==="running"&&S.percent!==null?(z(),B("div",{key:0,class:"fe-opc__bar",role:"progressbar","aria-valuenow":S.percent,"aria-valuemin":"0","aria-valuemax":"100"},[D("div",{class:"fe-opc__bar-fill",style:Dn({width:S.percent+"%"})},null,4)],8,OD)):Re("",!0)]),S.status==="running"&&S.percent===null&&!S.queued?(z(),B("span",ID)):Re("",!0),D("div",RD,[S.status==="running"&&S.cancellable?(z(),B("button",{key:0,type:"button",class:"fe-opc__act",onClick:M=>e.center.cancel(S.key)},K(Z(r)("opc.cancel")),9,ND)):Re("",!0),S.status==="error"&&S.retryable?(z(),B("button",{key:1,type:"button",class:"fe-opc__act fe-opc__act--retry",onClick:M=>e.center.retry(S.key)},K(Z(r)("opc.retry")),9,FD)):Re("",!0),S.status!=="running"?(z(),B("button",{key:2,type:"button",class:"fe-opc__x","aria-label":Z(r)("opc.dismiss"),onClick:M=>e.center.dismiss(S.key)},"×",8,LD)):Re("",!0)])],2))),128))])])):Re("",!0),s.value.length>0?(z(),B("div",zD,[D("h3",PD,[$t(K(Z(r)("opc.history"))+" ",1),D("button",{type:"button",class:"fe-opc__act",onClick:x[1]||(x[1]=S=>e.center.clearHistory())},K(Z(r)("opc.clear")),1)]),D("ul",BD,[(z(!0),B(We,null,kt(s.value,S=>(z(),B("li",{key:"h-"+S.key,class:ht(["fe-opc__item fe-opc__item--history",`is-${S.status}`])},[(z(),B("svg",$D,[D("path",{d:g[S.kind]},null,8,UD)])),D("div",HD,[D("div",{class:"fe-opc__name",title:y(S)},K(y(S)),9,qD),S.status==="error"&&S.error?(z(),B("div",GD,K(S.error),1)):Re("",!0)]),D("span",{class:ht(["fe-opc__chip",`is-${S.status}`])},K(k(S)),3)],2))),128))])])):Re("",!0),o.value.length===0&&s.value.length===0?(z(),B("p",KD,K(Z(r)("opc.empty")),1)):Re("",!0)])],8,gD)):Re("",!0)]),_:1}),D("button",{type:"button",class:ht(["fe-opc__badge",{"is-error":l.value}]),"aria-expanded":a.value,"aria-label":b.value,onClick:x[2]||(x[2]=S=>a.value=!a.value)},[(z(),B("svg",{class:ht(["fe-opc__ring",{"fe-opc__ring--spin":h.value}]),viewBox:"0 0 22 22","aria-hidden":"true",focusable:"false"},[D("circle",{class:"fe-opc__ring-track",cx:"11",cy:"11",r:kd,fill:"none","stroke-width":"2.5"}),D("circle",{class:"fe-opc__ring-fill",cx:"11",cy:"11",r:kd,fill:"none","stroke-width":"2.5","stroke-linecap":"round","stroke-dasharray":d,"stroke-dashoffset":p.value,transform:"rotate(-90 11 11)"},null,8,jD)],2)),D("span",WD,K(o.value.length),1),m.value?(z(),B("span",YD,K(m.value),1)):Re("",!0)],10,VD)],2)):Re("",!0)}}),XD=4e3,ub=50;function JD(e,t,r){const n=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:(r==null?void 0:r.startedAt)??Date.now(),settledAt:(r==null?void 0:r.settledAt)??(n?Date.now():null)}}function QD(){const e=ae([]),t=ae([]),r=new Map,n=new Set,a=new Map;function i(g){const v=a.get(g);v!==void 0&&(clearTimeout(v),a.delete(g))}function o(g,v={}){i(g);const y=e.value.findIndex(k=>k.key===g);if(y===-1)return;const[_]=e.value.splice(y,1);e.value=[...e.value],n.add(g),v.toHistory!==!1&&(t.value=[{..._,settledAt:_.settledAt??Date.now()},...t.value].slice(0,ub))}function s(g){a.has(g)||a.set(g,setTimeout(()=>{var y;a.delete(g);const v=r.get(g);o(g),(y=v==null?void 0:v.dismiss)==null||y.call(v)},XD))}function l(g,v){const y=`${g}:`,_=new Set;let k=[...e.value],T=!1;for(const E of v){const w=`${g}:${E.input.id}`;if(_.add(w),E.actions&&r.set(w,E.actions),n.has(w))continue;const x=k.findIndex(M=>M.key===w),S=JD(w,E.input,x===-1?void 0:k[x]);x===-1?(k=[S,...k],T=!0):JSON.stringify(k[x])!==JSON.stringify(S)&&(k[x]=S,T=!0),(S.status==="done"||S.status==="aborted")&&s(w)}for(const E of[...k])!E.key.startsWith(y)||_.has(E.key)||E.status!=="error"&&(i(E.key),k=k.filter(w=>w.key!==E.key),T=!0,E.status!=="running"&&(n.add(E.key),t.value=[{...E,settledAt:E.settledAt??Date.now()},...t.value].slice(0,ub)));for(const E of[...n])E.startsWith(y)&&!_.has(E)&&n.delete(E);for(const E of[...r.keys()])E.startsWith(y)&&!_.has(E)&&!e.value.some(w=>w.key===E)&&(k.some(w=>w.key===E)||r.delete(E));T&&(e.value=k)}function u(g){var v,y;(y=(v=r.get(g))==null?void 0:v.cancel)==null||y.call(v)}function c(g){var y,_;const v=r.get(g);o(g),(y=v==null?void 0:v.dismiss)==null||y.call(v),(_=v==null?void 0:v.retry)==null||_.call(v)}function f(g){var y;const v=r.get(g);o(g),(y=v==null?void 0:v.dismiss)==null||y.call(v)}function d(){t.value=[]}const p=He(()=>e.value.filter(g=>g.status==="running").length),h=He(()=>e.value.filter(g=>g.status==="error").length),m=He(()=>h.value>0),b=He(()=>{const g=e.value.filter(_=>_.status==="running");let v=0,y=0;for(const _ of g){let k=null;_.totalBytes&&_.totalBytes>0?k=Math.min(1,(_.uploadedBytes??0)/_.totalBytes):_.totalCount&&_.totalCount>0?k=Math.min(1,(_.doneCount??0)/_.totalCount):_.percent!==null&&(k=Math.min(1,_.percent/100)),k!==null&&(v+=k,y+=1)}return y===0?null:Math.round(v/y*100)});return Im()&&B8(()=>{for(const g of a.values())clearTimeout(g);a.clear()}),{active:e,history:t,runningCount:p,errorCount:h,hasError:m,overallPercent:b,sync:l,cancel:u,retry:c,dismiss:f,clearHistory:d}}const eM=["data-prefers-dark","aria-label"],tM={key:1,class:"fe-tour__dim","aria-hidden":"true"},rM={class:"fe-tour__progress","aria-hidden":"true"},nM={class:"fe-tour__title"},aM={class:"fe-tour__desc"},iM={class:"fe-tour__dots","aria-hidden":"true"},oM={class:"fe-tour__actions"},ls=6,cb=12,sM=Nt({__name:"OnboardingTour",props:{open:{type:Boolean},locale:{},root:{},theme:{}},emits:["close"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale);function i(x,S){const M=x.querySelectorAll("button[title]");for(const P of Array.from(M))if(P.getAttribute("title")===S)return P;return null}const o=[{id:"nav",titleKey:"tour.step.nav.title",descKey:"tour.step.nav.desc",target:x=>x.querySelector(".fe-breadcrumb")},{id:"upload",titleKey:"tour.step.upload.title",descKey:"tour.step.upload.desc",target:x=>i(x,a("toolbar.upload"))||x.querySelector(".fe-fab")},{id:"search",titleKey:"tour.step.search.title",descKey:"tour.step.search.desc",target:x=>x.querySelector(".fe-search__input")||x.querySelector(".fe-toolbar__search-toggle")},{id:"view",titleKey:"tour.step.view.title",descKey:"tour.step.view.desc",target:x=>x.querySelector(".fe-toolbar__view")},{id:"share",titleKey:"tour.step.share.title",descKey:"tour.step.share.desc",target:x=>x.querySelector(".fe__body")},{id:"help",titleKey:"tour.step.help.title",descKey:"tour.step.help.desc",target:()=>null}],s=ae([]),l=ae(0),u=He(()=>s.value[l.value]??null),c=He(()=>s.value.length);function f(){const x=r.root;s.value=o.filter(S=>{if(S.id==="help")return!0;if(!x)return!1;const M=S.target(x);if(!M)return!1;const P=M.getBoundingClientRect();return P.width>0&&P.height>0})}const d=ae(null),p=ae({}),h=ae(null);async function m(){var H;const x=u.value,S=r.root;if(!x)return;const M=S?x.target(S):null;if(!M){d.value=null,p.value={};return}const P=M.getBoundingClientRect();if(P.width<=0&&P.height<=0){d.value=null,p.value={};return}d.value={top:P.top-ls,left:P.left-ls,width:P.width+ls*2,height:P.height+ls*2},await Hr();const F=window.innerWidth,j=window.innerHeight,te=Math.min(340,F-24),$=((H=h.value)==null?void 0:H.offsetHeight)??160;let Y=P.bottom+ls+cb;Y+$>j-12&&(Y=Math.max(12,P.top-ls-cb-$));let re=P.left+P.width/2-te/2;re=Math.min(Math.max(12,re),F-te-12),p.value={top:`${Math.round(Y)}px`,left:`${Math.round(re)}px`,width:`${te}px`}}function b(){r.open&&m()}function g(){if(l.value>=c.value-1){n("close");return}l.value+=1}function v(){l.value>0&&(l.value-=1)}function y(){n("close")}function _(x){r.open&&(x.key==="Escape"?(x.stopPropagation(),y()):x.key==="ArrowRight"||x.key==="Enter"?(x.preventDefault(),g()):x.key==="ArrowLeft"&&(x.preventDefault(),v()))}Tt(()=>r.open,async x=>{var S;x&&(l.value=0,f(),await Hr(),await m(),(S=h.value)==null||S.focus())}),Tt(l,async()=>{var x;await m(),(x=h.value)==null||x.focus()}),Qt(()=>{window.addEventListener("resize",b),window.addEventListener("scroll",b,!0)}),nr(()=>{window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0)});const k=ae(!1);let T;function E(x){k.value=!!(x&&"matches"in x&&x.matches)}Qt(()=>{var x;typeof window>"u"||(T=window.matchMedia("(prefers-color-scheme: dark)"),E(T),(x=T.addEventListener)==null||x.call(T,"change",E))}),nr(()=>{var x;(x=T==null?void 0:T.removeEventListener)==null||x.call(T,"change",E)});const w=He(()=>`fe-ctx-backdrop--theme-${r.theme||"auto"}`);return(x,S)=>(z(),er(dv,{to:"body"},[Ot(fi,{name:"fe-tour"},{default:cr(()=>[e.open&&u.value?(z(),B("div",{key:0,class:ht(["fe-tour",w.value]),"data-prefers-dark":k.value?"1":"0",role:"dialog","aria-modal":"true","aria-label":Z(a)("tour.aria"),onKeydown:_},[d.value?(z(),B("div",{key:0,class:"fe-tour__spot",style:Dn({top:d.value.top+"px",left:d.value.left+"px",width:d.value.width+"px",height:d.value.height+"px"}),"aria-hidden":"true"},null,4)):(z(),B("div",tM)),D("div",{ref_key:"cardEl",ref:h,class:ht(["fe-tour__card",{"fe-tour__card--center":!d.value}]),style:Dn(d.value?p.value:{}),tabindex:"-1"},[D("p",rM,K(Z(a)("tour.progress",{n:l.value+1,m:c.value})),1),D("h3",nM,K(Z(a)(u.value.titleKey)),1),D("p",aM,K(Z(a)(u.value.descKey)),1),D("div",iM,[(z(!0),B(We,null,kt(s.value,(M,P)=>(z(),B("span",{key:M.id,class:ht(["fe-tour__dot",{"is-active":P===l.value}])},null,2))),128))]),D("div",oM,[D("button",{type:"button",class:"fe-btn fe-tour__skip",onClick:y},K(Z(a)("tour.skip")),1),S[0]||(S[0]=D("span",{class:"fe-tour__actions-spacer"},null,-1)),l.value>0?(z(),B("button",{key:0,type:"button",class:"fe-btn",onClick:v},K(Z(a)("tour.back")),1)):Re("",!0),D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:g},K(l.value>=c.value-1?Z(a)("tour.done"):Z(a)("tour.next")),1)])],6)],42,eM)):Re("",!0)]),_:1})]))}}),lM=["aria-label"],uM={class:"fe-tabs__scroll"},cM=["aria-selected","title","onClick","onKeydown","onAuxclick","onDragstart","onDragover","onDragleave","onDrop"],fM={key:0,class:"fe-tabs__splitdot","aria-hidden":"true"},dM={class:"fe-tabs__label"},pM=["aria-label","title","onClick"],hM=["aria-label","title"],mM=["aria-label","title","aria-pressed"],vM=Nt({__name:"TabBar",props:{tabs:{},activeId:{},locale:{},splitEnabled:{type:Boolean},splitActive:{type:Boolean}},emits:["select","close","new","reorder","toggle-split"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=ae(null),o=ae(null);function s(h,m){var b;i.value=h,m.dataTransfer&&(m.dataTransfer.effectAllowed="move",m.dataTransfer.setData("text/plain",((b=r.tabs[h])==null?void 0:b.id)??""))}function l(h,m){i.value!==null&&(m.preventDefault(),m.stopPropagation(),m.dataTransfer&&(m.dataTransfer.dropEffect="move"),o.value=h)}function u(h){o.value===h&&(o.value=null)}function c(h,m){i.value!==null&&(m.preventDefault(),m.stopPropagation(),i.value!==h&&n("reorder",i.value,h),i.value=null,o.value=null)}function f(){i.value=null,o.value=null}function d(h){h.button===1&&h.preventDefault()}function p(h,m){m.button===1&&(m.preventDefault(),m.stopPropagation(),n("close",h))}return(h,m)=>(z(),B("div",{class:"fe-tabs",role:"tablist","aria-label":Z(a)("tabs.strip")},[D("div",uM,[(z(!0),B(We,null,kt(e.tabs,(b,g)=>(z(),B("div",{key:b.id,class:ht(["fe-tabs__tab",{"is-active":b.id===e.activeId,"is-dragover":o.value===g&&i.value!==null&&i.value!==g}]),role:"tab","aria-selected":b.id===e.activeId?"true":"false",tabindex:"0",draggable:"true",title:b.label,onClick:v=>n("select",b.id),onKeydown:hn(Gt(v=>n("select",b.id),["prevent"]),["enter"]),onMousedown:m[0]||(m[0]=v=>d(v)),onAuxclick:v=>p(b.id,v),onDragstart:v=>s(g,v),onDragover:v=>l(g,v),onDragleave:v=>u(g),onDrop:v=>c(g,v),onDragend:f},[b.split?(z(),B("span",fM)):Re("",!0),D("span",dM,K(b.label),1),D("button",{type:"button",class:"fe-tabs__close","aria-label":Z(a)("tabs.close"),title:Z(a)("tabs.close"),onClick:Gt(v=>n("close",b.id),["stop"])},"×",8,pM)],42,cM))),128)),D("button",{type:"button",class:"fe-tabs__new","aria-label":Z(a)("tabs.new"),title:Z(a)("tabs.new"),onClick:m[1]||(m[1]=b=>n("new"))},"+",8,hM)]),e.splitEnabled!==!1?(z(),B("button",{key:0,type:"button",class:ht(["fe-tabs__split",{"is-active":e.splitActive}]),"aria-label":e.splitActive?Z(a)("tabs.split_off"):Z(a)("tabs.split"),title:e.splitActive?Z(a)("tabs.split_off"):Z(a)("tabs.split"),"aria-pressed":e.splitActive?"true":"false",onClick:m[2]||(m[2]=b=>n("toggle-split"))},[...m[3]||(m[3]=[D("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"},[D("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),D("path",{d:"M12 4v16"})],-1)])],10,mM)):Re("",!0)],8,lM))}}),x0=".filex-e2e.json",gM="filexe2e",w0=1,bM=6e5,_M=6e5,fb=200*1024*1024,yM=8,db="filex-e2e-verify-v1",k0=new TextEncoder().encode(gM),E0=97,Ed=9,Sd=21,xM=48,Cd=69,Ba=12;class pb extends Error{constructor(t="e2e: decrypt failed"){super(t),this.name="E2eDecryptError"}}function hb(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function mb(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}async function vb(e,t,r){const n=await crypto.subtle.importKey("raw",new TextEncoder().encode(e),"PBKDF2",!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:new Uint8Array(t).buffer,iterations:r,hash:"SHA-256"},n,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function wM(e,t=bM){const r=Math.max(_M,t),n=crypto.getRandomValues(new Uint8Array(16)),a=await vb(e,n,r),i=crypto.getRandomValues(new Uint8Array(Ba)),o=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:i.buffer},a,new TextEncoder().encode(db))),s=new Uint8Array(Ba+o.length);return s.set(i,0),s.set(o,Ba),{marker:{v:w0,salt:hb(n),iter:r,verify:hb(s)},kek:a}}function kM(e){try{const t=JSON.parse(e);return!t||t.v!==w0||typeof t.salt!="string"||typeof t.verify!="string"||typeof t.iter!="number"||t.iter<1?null:t}catch{return null}}async function EM(e,t){const r=mb(e.salt),n=await vb(t,r,e.iter),a=mb(e.verify);if(a.length<=Ba)return null;try{const i=await crypto.subtle.decrypt({name:"AES-GCM",iv:a.slice(0,Ba).buffer},n,a.slice(Ba).buffer);return new TextDecoder().decode(i)!==db?null:n}catch{return null}}function Ad(e){const t=e instanceof Uint8Array?e:new Uint8Array(e);if(t.length<k0.length)return!1;for(let r=0;r<k0.length;r++)if(t[r]!==k0[r])return!1;return!0}async function SM(e,t){if(t.byteLength>fb)throw new Error("e2e: file exceeds the 200MB single-shot limit");const r=crypto.getRandomValues(new Uint8Array(32)),n=await crypto.subtle.importKey("raw",r.buffer,{name:"AES-GCM"},!1,["encrypt"]),a=crypto.getRandomValues(new Uint8Array(Ba)),i=crypto.getRandomValues(new Uint8Array(Ba)),o=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:a.buffer},e,r.buffer)),s=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:i.buffer},n,t));r.fill(0);const l=new Uint8Array(E0+s.length);return l.set(k0,0),l[8]=w0,l.set(a,Ed),l.set(o,Sd),l.set(i,Cd),l.set(s,E0),l.buffer}async function gb(e,t){const r=new Uint8Array(t);if(!Ad(r)||r.length<E0)throw new Error("e2e: not an encrypted file");if(r[8]!==w0)throw new Error(`e2e: unsupported version ${r[8]}`);const n=r.slice(Ed,Ed+Ba),a=r.slice(Sd,Sd+xM),i=r.slice(Cd,Cd+Ba);let o;try{o=await crypto.subtle.decrypt({name:"AES-GCM",iv:n.buffer},e,a.buffer)}catch{throw new pb("e2e: DEK unwrap failed (wrong password?)")}const s=await crypto.subtle.importKey("raw",o,{name:"AES-GCM"},!1,["decrypt"]);try{return await crypto.subtle.decrypt({name:"AES-GCM",iv:i.buffer},s,r.slice(E0).buffer)}catch{throw new pb("e2e: content decrypt failed")}}function CM(){const e=new Map;return{get(t){return e.get(t)},set(t,r){e.set(t,r)},lock(t){e.delete(t)},has(t){return e.has(t)},clear(){e.clear()}}}function bb(e){const t=e.indexOf("://");return t===-1?e:e.slice(t+3)}function AM(e){return(e||[]).filter(t=>!(t.path.includes(".thumbs")||t.path.includes(".versions")||t.basename===".versions"||t.basename===".trash"||t.basename===".keepdir"||t.basename===x0))}const _b="filex.showHidden";function TM(){try{return localStorage.getItem(_b)==="1"}catch{return!1}}const Rl=ae(TM());function DM(e){Rl.value=e;try{localStorage.setItem(_b,e?"1":"0")}catch{}}function MM(e,t){return t?e||[]:(e||[]).filter(r=>!(r.basename||"").startsWith("."))}function yb(e){return MM(AM(e),Rl.value)}function OM(e){const t=bb(e);return t==="fileman"||t===""}function IM(e){return bb(e).startsWith("fileman/.trash")}function RM(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 xb(e,t,r,n){return!n||IM(r)||!OM(r)?!1:(e.unshift(RM(t)),!0)}async function wb(e,t,r){try{const{entries:n}=await r.listTrash(t),a=e.find(s=>s.basename===".trash");if(!a)return;let i=0,o=0;for(const s of n){i+=s.size||0;const l=Date.parse(s.deleted_at);!Number.isNaN(l)&&l>o&&(o=l)}a.size=i,o>0&&(a.last_modified=o)}catch{}}const NM=["aria-label"],FM={class:"fe-split__crumbs"},LM=["title"],zM=["title","onClick"],PM=["aria-label","title"],BM={key:0,class:"fe-split__state",role:"status"},$M={key:1,class:"fe-split__state"},UM={key:2,class:"fe-split__state"},Td="application/x-brf-files",kb="application/x-brf-files-src",HM=Nt({__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:r}){const n=e,a=r,{t:i}=yr(()=>n.locale),o=ae(""),s=ae([]),l=ae(!1),u=ae(""),c=ae(new Set);function f(U){return U.mime_type==="inode/storage"}const d=He(()=>!!n.multiRoot&&!(o.value??"").replace(/^\/+|\/+$/g,""));async function p(U){const N=n.clamp(U??o.value??"");l.value=!0,u.value="";try{if(n.multiRoot&&!N){s.value=n.virtualRows?n.virtualRows():[],o.value="",c.value=new Set,a("navigate","");return}const V=await n.api.index(n.qualify(N));s.value=yb(V.files),xb(s.value,V.adapter,V.dirname,n.trashVisible!==!1)&&wb(s.value,V.adapter,n.api),o.value=n.toUser(V.dirname),c.value=new Set,a("navigate",o.value)}catch(V){u.value=V instanceof Error?V.message:String(V)}finally{l.value=!1}}p(n.initialPath??"");const h=He(()=>{const U=(o.value||"").replace(/^\/+|\/+$/g,""),N=U?U.split("/"):[],V=(n.floor||"").replace(/^\/+|\/+$/g,""),W=[];let ge="";for(const ke of N)ge=ge?`${ge}/${ke}`:ke,!(V&&!(ge===V||ge.startsWith(V+"/")))&&W.push({label:ke,target:ge,last:!1});return W.length>0&&(W[W.length-1].last=!0),W}),m=He(()=>!n.floor);function b(U){a("activate"),p(U)}function g(U,N){a("activate");const V=N.ctrl||N.shift,W=new Set(V?c.value:[]);V&&W.has(U.path)?W.delete(U.path):W.add(U.path),c.value=W}function v(U,N){N.preventDefault(),N.stopPropagation(),a("activate"),c.value.has(U.path)||(c.value=new Set([U.path])),a("context",U,N)}function y(U){U.preventDefault(),U.stopPropagation(),a("activate"),c.value=new Set,a("context",null,U)}function _(U,N){w.value=!1,!(U.type!=="dir"||f(U))&&x(N)&&S(N,U.path)}function k(U){if(U.type==="dir"){if(U.basename===".trash"){a("activate"),a("open-trash");return}p(f(U)?U.path:n.toUser(U.path))}}function T(){c.value=new Set}function E(U,N){if(!N.dataTransfer)return;if(f(U)||d.value||U.basename===".trash"){N.preventDefault();return}c.value.has(U.path)||(c.value=new Set([U.path]));const V=s.value.filter(W=>c.value.has(W.path)&&!f(W)).map(W=>({path:W.path,basename:W.basename,type:W.type}));if(V.length===0){N.preventDefault();return}N.dataTransfer.setData(Td,JSON.stringify(V)),N.dataTransfer.setData(kb,n.qualify(o.value)),N.dataTransfer.setData("text/plain",V.map(W=>W.path).join(`
20
+ **/let id;const fg=typeof window<"u"&&window.trustedTypes;if(fg)try{id=fg.createPolicy("vue",{createHTML:e=>e})}catch{}const dg=id?e=>id.createHTML(e):e=>e,M7="http://www.w3.org/2000/svg",O7="http://www.w3.org/1998/Math/MathML",ci=typeof document<"u"?document:null,pg=ci&&ci.createElement("template"),I7={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,n)=>{const a=t==="svg"?ci.createElementNS(M7,e):t==="mathml"?ci.createElementNS(O7,e):r?ci.createElement(e,{is:r}):ci.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>ci.createTextNode(e),createComment:e=>ci.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ci.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,n,a,i){const o=r?r.previousSibling:t.lastChild;if(a&&(a===i||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),r),!(a===i||!(a=a.nextSibling)););else{pg.innerHTML=dg(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const s=pg.content;if(n==="svg"||n==="mathml"){const l=s.firstChild;for(;l.firstChild;)s.appendChild(l.firstChild);s.removeChild(l)}t.insertBefore(s,r)}return[o?o.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},Bi="transition",Cl="animation",Al=Symbol("_vtc"),hg={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},R7=Er({},pv,hg),fi=(e=>(e.displayName="Transition",e.props=R7,e))((e,{slots:t})=>cg(Ow,N7(e),t)),So=(e,t=[])=>{St(e)?e.forEach(r=>r(...t)):e&&e(...t)},mg=e=>e?St(e)?e.some(t=>t.length>1):e.length>1:!1;function N7(e){const t={};for(const P in e)P in hg||(t[P]=e[P]);if(e.css===!1)return t;const{name:r="v",type:n,duration:a,enterFromClass:i=`${r}-enter-from`,enterActiveClass:o=`${r}-enter-active`,enterToClass:s=`${r}-enter-to`,appearFromClass:l=i,appearActiveClass:u=o,appearToClass:c=s,leaveFromClass:f=`${r}-leave-from`,leaveActiveClass:d=`${r}-leave-active`,leaveToClass:p=`${r}-leave-to`}=e,h=F7(a),m=h&&h[0],b=h&&h[1],{onBeforeEnter:g,onEnter:v,onEnterCancelled:y,onLeave:_,onLeaveCancelled:k,onBeforeAppear:T=g,onAppear:E=v,onAppearCancelled:w=y}=t,x=(P,F,j,te)=>{P._enterCancelled=te,Co(P,F?c:s),Co(P,F?u:o),j&&j()},S=(P,F)=>{P._isLeaving=!1,Co(P,f),Co(P,p),Co(P,d),F&&F()},M=P=>(F,j)=>{const te=P?E:v,$=()=>x(F,P,j);So(te,[F,$]),vg(()=>{Co(F,P?l:i),di(F,P?c:s),mg(te)||gg(F,n,m,$)})};return Er(t,{onBeforeEnter(P){So(g,[P]),di(P,i),di(P,o)},onBeforeAppear(P){So(T,[P]),di(P,l),di(P,u)},onEnter:M(!1),onAppear:M(!0),onLeave(P,F){P._isLeaving=!0;const j=()=>S(P,F);di(P,f),P._enterCancelled?(di(P,d),yg(P)):(yg(P),di(P,d)),vg(()=>{P._isLeaving&&(Co(P,f),di(P,p),mg(_)||gg(P,n,b,j))}),So(_,[P,j])},onEnterCancelled(P){x(P,!1,void 0,!0),So(y,[P])},onAppearCancelled(P){x(P,!0,void 0,!0),So(w,[P])},onLeaveCancelled(P){S(P),So(k,[P])}})}function F7(e){if(e==null)return null;if(lr(e))return[od(e.enter),od(e.leave)];{const t=od(e);return[t,t]}}function od(e){return Sf(e)}function di(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.add(r)),(e[Al]||(e[Al]=new Set)).add(t)}function Co(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const r=e[Al];r&&(r.delete(t),r.size||(e[Al]=void 0))}function vg(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let L7=0;function gg(e,t,r,n){const a=e._endId=++L7,i=()=>{a===e._endId&&n()};if(r!=null)return setTimeout(i,r);const{type:o,timeout:s,propCount:l}=z7(e,t);if(!o)return n();const u=o+"end";let c=0;const f=()=>{e.removeEventListener(u,d),i()},d=p=>{p.target===e&&++c>=l&&f()};setTimeout(()=>{c<l&&f()},s+1),e.addEventListener(u,d)}function z7(e,t){const r=window.getComputedStyle(e),n=h=>(r[h]||"").split(", "),a=n(`${Bi}Delay`),i=n(`${Bi}Duration`),o=bg(a,i),s=n(`${Cl}Delay`),l=n(`${Cl}Duration`),u=bg(s,l);let c=null,f=0,d=0;t===Bi?o>0&&(c=Bi,f=o,d=i.length):t===Cl?u>0&&(c=Cl,f=u,d=l.length):(f=Math.max(o,u),c=f>0?o>u?Bi:Cl:null,d=c?c===Bi?i.length:l.length:0);const p=c===Bi&&/\b(?:transform|all)(?:,|$)/.test(n(`${Bi}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:p}}function bg(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((r,n)=>_g(r)+_g(e[n])))}function _g(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function yg(e){return(e?e.ownerDocument:document).body.offsetHeight}function P7(e,t,r){const n=e[Al];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const p0=Symbol("_vod"),xg=Symbol("_vsh"),sd={name:"show",beforeMount(e,{value:t},{transition:r}){e[p0]=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):Tl(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:n}){!t!=!r&&(n?t?(n.beforeEnter(e),Tl(e,!0),n.enter(e)):n.leave(e,()=>{Tl(e,!1)}):Tl(e,t))},beforeUnmount(e,{value:t}){Tl(e,t)}};function Tl(e,t){e.style.display=t?e[p0]:"none",e[xg]=!t}const B7=Symbol(""),$7=/(?:^|;)\s*display\s*:/;function U7(e,t,r){const n=e.style,a=vr(r);let i=!1;if(r&&!a){if(t)if(vr(t))for(const o of t.split(";")){const s=o.slice(0,o.indexOf(":")).trim();r[s]==null&&Dl(n,s,"")}else for(const o in t)r[o]==null&&Dl(n,o,"");for(const o in r){o==="display"&&(i=!0);const s=r[o];s!=null?q7(e,o,!vr(t)&&t?t[o]:void 0,s)||Dl(n,o,s):Dl(n,o,"")}}else if(a){if(t!==r){const o=n[B7];o&&(r+=";"+o),n.cssText=r,i=$7.test(r)}}else t&&e.removeAttribute("style");p0 in e&&(e[p0]=i?n.display:"",e[xg]&&(n.display="none"))}const wg=/\s*!important$/;function Dl(e,t,r){if(St(r))r.forEach(n=>Dl(e,t,n));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const n=H7(e,t);wg.test(r)?e.setProperty(Tn(n),r.replace(wg,""),"important"):e[n]=r}}const kg=["Webkit","Moz","ms"],ld={};function H7(e,t){const r=ld[t];if(r)return r;let n=Kr(t);if(n!=="filter"&&n in e)return ld[t]=n;n=Bu(n);for(let a=0;a<kg.length;a++){const i=kg[a]+n;if(i in e)return ld[t]=i}return t}function q7(e,t,r,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&vr(n)&&r===n}const Eg="http://www.w3.org/1999/xlink";function Sg(e,t,r,n,a,i=L8(t)){n&&t.startsWith("xlink:")?r==null?e.removeAttributeNS(Eg,t.slice(6,t.length)):e.setAttributeNS(Eg,t,r):r==null||i&&!Dm(r)?e.removeAttribute(t):e.setAttribute(t,i?"":fa(r)?String(r):r)}function Cg(e,t,r,n,a){if(t==="innerHTML"||t==="textContent"){r!=null&&(e[t]=t==="innerHTML"?dg(r):r);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const s=i==="OPTION"?e.getAttribute("value")||"":e.value,l=r==null?e.type==="checkbox"?"on":"":String(r);(s!==l||!("_value"in e))&&(e.value=l),r==null&&e.removeAttribute(t),e._value=r;return}let o=!1;if(r===""||r==null){const s=typeof e[t];s==="boolean"?r=Dm(r):r==null&&s==="string"?(r="",o=!0):s==="number"&&(r=0,o=!0)}try{e[t]=r}catch{}o&&e.removeAttribute(a||t)}function $i(e,t,r,n){e.addEventListener(t,r,n)}function G7(e,t,r,n){e.removeEventListener(t,r,n)}const Ag=Symbol("_vei");function K7(e,t,r,n,a=null){const i=e[Ag]||(e[Ag]={}),o=i[t];if(n&&o)o.value=n;else{const[s,l]=V7(t);if(n){const u=i[t]=Y7(n,a);$i(e,s,u,l)}else o&&(G7(e,s,o,l),i[t]=void 0)}}const Tg=/(?:Once|Passive|Capture)$/;function V7(e){let t;if(Tg.test(e)){t={};let n;for(;n=e.match(Tg);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Tn(e.slice(2)),t]}let ud=0;const j7=Promise.resolve(),W7=()=>ud||(j7.then(()=>ud=0),ud=Date.now());function Y7(e,t){const r=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=r.attached)return;ha(Z7(n,r.value),t,5,[n])};return r.value=e,r.attached=W7(),r}function Z7(e,t){if(St(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(n=>a=>!a._stopped&&n&&n(a))}else return t}const Dg=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,X7=(e,t,r,n,a,i)=>{const o=a==="svg";t==="class"?P7(e,n,o):t==="style"?U7(e,r,n):Fu(t)?Lu(t)||K7(e,t,r,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):J7(e,t,n,o))?(Cg(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Sg(e,t,n,o,i,t!=="value")):e._isVueCE&&(Q7(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!vr(n)))?Cg(e,Kr(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Sg(e,t,n,o))};function J7(e,t,r,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Dg(t)&&Mt(r));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Dg(t)&&vr(r)?!1:t in e}function Q7(e,t){const r=e._def.props;if(!r)return!1;const n=Kr(t);return Array.isArray(r)?r.some(a=>Kr(a)===n):Object.keys(r).some(a=>Kr(a)===n)}const Mg={};function ek(e,t,r){let n=Nt(e,t);zu(n)&&(n=Er({},n,t));class a extends cd{constructor(o){super(n,o,r)}}return a.def=n,a}const tk=typeof HTMLElement<"u"?HTMLElement:class{};class cd extends tk{constructor(t,r={},n=Pg){super(),this._def=t,this._props=r,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Pg?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Er({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof cd){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Hr(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const r of t)this._setAttr(r.attributeName)}_resolveDef(){if(this._pendingResolve)return;for(let n=0;n<this.attributes.length;n++)this._setAttr(this.attributes[n].name);this._ob=new MutationObserver(this._processMutations.bind(this)),this._ob.observe(this,{attributes:!0});const t=(n,a=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:o}=n;let s;if(i&&!St(i))for(const l in i){const u=i[l];(u===Number||u&&u.type===Number)&&(l in this._props&&(this._props[l]=Sf(this._props[l])),(s||(s=Object.create(null)))[Kr(l)]=!0)}this._numberProps=s,this._resolveProps(n),this.shadowRoot&&this._applyStyles(o),this._mount(n)},r=this._def.__asyncLoader;r?this._pendingResolve=r().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}):t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const r=this._instance&&this._instance.exposed;if(r)for(const n in r)rr(this,n)||Object.defineProperty(this,n,{get:()=>Z(r[n])})}_resolveProps(t){const{props:r}=t,n=St(r)?r:Object.keys(r||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(Kr))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(i){this._setProp(a,i,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const r=this.hasAttribute(t);let n=r?this.getAttribute(t):Mg;const a=Kr(t);r&&this._numberProps&&this._numberProps[a]&&(n=Sf(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,r,n=!0,a=!1){if(r!==this._props[t]&&(this._dirty=!0,r===Mg?delete this._props[t]:(this._props[t]=r,t==="key"&&this._app&&(this._app._ceVNode.key=r)),a&&this._instance&&this._update(),n)){const i=this._ob;i&&(this._processMutations(i.takeRecords()),i.disconnect()),r===!0?this.setAttribute(Tn(t),""):typeof r=="string"||typeof r=="number"?this.setAttribute(Tn(t),r+""):r||this.removeAttribute(Tn(t)),i&&i.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),sk(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const r=Ot(this._def,Er(t,this._props));return this._instance||(r.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(i,o)=>{this.dispatchEvent(new CustomEvent(i,zu(o[0])?Er({detail:o},o[0]):{detail:o}))};n.emit=(i,...o)=>{a(i,o),Tn(i)!==i&&a(Tn(i),o)},this._setParent()}),r}_applyStyles(t,r,n){if(!t)return;if(r){if(r===this._def||this._styleChildren.has(r))return;this._styleChildren.add(r)}const a=this._nonce,i=this.shadowRoot,o=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i);let s=null;for(let l=t.length-1;l>=0;l--){const u=document.createElement("style");a&&u.setAttribute("nonce",a),u.textContent=t[l],i.insertBefore(u,s||o),s=u,l===0&&(n||this._styleAnchors.set(this._def,u),r&&this._styleAnchors.set(r,u))}}_getStyleAnchor(t){if(!t)return null;const r=this._styleAnchors.get(t);return r&&r.parentNode===this.shadowRoot?r:(r&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let r=0;r<t.childNodes.length;r++){const n=t.childNodes[r];if(!(n instanceof HTMLStyleElement))return n}return null}_parseSlots(){const t=this._slots={};let r;for(;r=this.firstChild;){const n=r.nodeType===1&&r.getAttribute("slot")||"default";(t[n]||(t[n]=[])).push(r),this.removeChild(r)}}_renderSlots(){const t=this._getSlots(),r=this._instance.type.__scopeId;for(let n=0;n<t.length;n++){const a=t[n],i=a.getAttribute("name")||"default",o=this._slots[i],s=a.parentNode;if(o)for(const l of o){if(r&&l.nodeType===1){const u=r+"-s",c=document.createTreeWalker(l,1);l.setAttribute(u,"");let f;for(;f=c.nextNode();)f.setAttribute(u,"")}s.insertBefore(l,a)}else for(;a.firstChild;)s.insertBefore(a.firstChild,a);s.removeChild(a)}}_getSlots(){const t=[this];this._teleportTargets&&t.push(...this._teleportTargets);const r=new Set;for(const n of t){const a=n.querySelectorAll("slot");for(let i=0;i<a.length;i++)r.add(a[i])}return Array.from(r)}_injectChildStyle(t,r){this._applyStyles(t.styles,t,r)}_beginPatch(){this._patching=!0,this._dirty=!1}_endPatch(){this._patching=!1,this._dirty&&this._instance&&this._update()}_hasShadowRoot(){return this._def.shadowRoot!==!1}_removeChildStyle(t){}}const is=e=>{const t=e.props["onUpdate:modelValue"]||!1;return St(t)?r=>$u(t,r):t};function rk(e){e.target.composing=!0}function Og(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const pi=Symbol("_assign");function Ig(e,t,r){return t&&(e=e.trim()),r&&(e=Uu(e)),e}const Fr={created(e,{modifiers:{lazy:t,trim:r,number:n}},a){e[pi]=is(a);const i=n||a.props&&a.props.type==="number";$i(e,t?"change":"input",o=>{o.target.composing||e[pi](Ig(e.value,r,i))}),(r||i)&&$i(e,"change",()=>{e.value=Ig(e.value,r,i)}),t||($i(e,"compositionstart",rk),$i(e,"compositionend",Og),$i(e,"change",Og))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:r,modifiers:{lazy:n,trim:a,number:i}},o){if(e[pi]=is(o),e.composing)return;const s=(i||e.type==="number")&&!/^0\d/.test(e.value)?Uu(e.value):e.value,l=t??"";if(s===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(n&&t===r||a&&e.value.trim()===l)||(e.value=l)}},os={deep:!0,created(e,t,r){e[pi]=is(r),$i(e,"change",()=>{const n=e._modelValue,a=Ol(e),i=e.checked,o=e[pi];if(St(n)){const s=Cf(n,a),l=s!==-1;if(i&&!l)o(n.concat(a));else if(!i&&l){const u=[...n];u.splice(s,1),o(u)}}else if(Zo(n)){const s=new Set(n);i?s.add(a):s.delete(a),o(s)}else o(Fg(e,i))})},mounted:Rg,beforeUpdate(e,t,r){e[pi]=is(r),Rg(e,t,r)}};function Rg(e,{value:t,oldValue:r},n){e._modelValue=t;let a;if(St(t))a=Cf(t,n.props.value)>-1;else if(Zo(t))a=t.has(n.props.value);else{if(t===r)return;a=Xo(t,Fg(e,!0))}e.checked!==a&&(e.checked=a)}const Ml={deep:!0,created(e,{value:t,modifiers:{number:r}},n){const a=Zo(t);$i(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>r?Uu(Ol(o)):Ol(o));e[pi](e.multiple?a?new Set(i):i:i[0]),e._assigning=!0,Hr(()=>{e._assigning=!1})}),e[pi]=is(n)},mounted(e,{value:t}){Ng(e,t)},beforeUpdate(e,t,r){e[pi]=is(r)},updated(e,{value:t}){e._assigning||Ng(e,t)}};function Ng(e,t){const r=e.multiple,n=St(t);if(!(r&&!n&&!Zo(t))){for(let a=0,i=e.options.length;a<i;a++){const o=e.options[a],s=Ol(o);if(r)if(n){const l=typeof s;l==="string"||l==="number"?o.selected=t.some(u=>String(u)===String(s)):o.selected=Cf(t,s)>-1}else o.selected=t.has(s);else if(Xo(Ol(o),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!r&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ol(e){return"_value"in e?e._value:e.value}function Fg(e,t){const r=t?"_trueValue":"_falseValue";return r in e?e[r]:t}const nk=["ctrl","shift","alt","meta"],ak={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>nk.some(r=>e[`${r}Key`]&&!t.includes(r))},Gt=(e,t)=>{if(!e)return e;const r=e._withMods||(e._withMods={}),n=t.join(".");return r[n]||(r[n]=(a,...i)=>{for(let o=0;o<t.length;o++){const s=ak[t[o]];if(s&&s(a,t))return}return e(a,...i)})},ik={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},hn=(e,t)=>{const r=e._withKeys||(e._withKeys={}),n=t.join(".");return r[n]||(r[n]=a=>{if(!("key"in a))return;const i=Tn(a.key);if(t.some(o=>o===i||ik[o]===i))return e(a)})},ok=Er({patchProp:X7},I7);let Lg;function zg(){return Lg||(Lg=f7(ok))}const sk=(...e)=>{zg().render(...e)},Pg=(...e)=>{const t=zg().createApp(...e),{mount:r}=t;return t.mount=n=>{const a=uk(n);if(!a)return;const i=t._component;!Mt(i)&&!i.render&&!i.template&&(i.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const o=r(a,!1,lk(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),o},t};function lk(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function uk(e){return vr(e)?document.querySelector(e):e}function Bg(e){return!!e&&e.enabled&&e.state==="ok"}function ck(e){const t=e.apiBase!=null?e.apiBase.replace(/\/+$/,""):null;function r(a,i){return a||(t===null?null:`${t}${i}`)}const n=e.endpoint??(t!==null?`${t}/api/files/manager`:null);if(!n)throw new Error("[@brftech/filex-core] config requires either `apiBase` or `endpoint`");return{manager:n,uploadInit:r(e.uploadInit,"/api/files/upload/init"),uploadFinalize:r(e.uploadFinalize,"/api/files/upload/finalize"),uploadAbort:r(e.uploadAbort,"/api/files/upload/abort"),shareCreate:r(e.shareCreate,"/api/files/share"),shareList:r(e.shareList,"/api/files/share"),shareDelete:r(e.shareDelete,"/api/files/share/{uuid}"),limits:r(e.limits,"/api/files/limits"),capabilities:r(e.capabilities,"/api/files/capabilities"),archiveList:r(e.archiveList,"/api/files/archive/list"),archiveExtract:r(e.archiveExtract,"/api/files/archive/extract"),archiveAdd:r(e.archiveAdd,"/api/files/archive/add"),copy:r(e.copy,"/api/files/copy"),moveAsync:r(e.moveAsync,"/api/files/move"),deleteAsync:r(e.deleteAsync,"/api/files/delete"),opsList:r(e.opsList,"/api/files/ops"),opsShow:r(e.opsShow,"/api/files/ops/{id}"),onlyOfficeConfig:r(e.onlyOfficeConfig,"/api/files/onlyoffice/config"),saveText:r(e.saveText,"/api/files/save-text"),restore:r(e.restore,"/api/files/restore"),trashList:r(e.trashList,"/api/files/manager/trash"),trashRestore:r(e.trashRestore,"/api/files/manager/restore")}}async function fk(e){if(typeof e=="function"){const t=e();return t instanceof Promise?await t:t}return e}function dk(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 pk(e){const t=ck(e),r=dk(e.auth);let n=null;async function a(ie={}){const se={Accept:"application/json",...ie};if(r.kind==="bearer"){const Ie=await fk(r.token);Ie&&(se.Authorization=`Bearer ${Ie}`,n=Ie)}else if(r.kind==="csrf")se["X-CSRF-TOKEN"]=r.csrf,se["X-Requested-With"]="XMLHttpRequest";else if(r.kind==="basic"){const Ie=btoa(`${r.user}:${r.pass}`);se.Authorization=`Basic ${Ie}`}return se}function i(ie={}){const se={Accept:"application/json",...ie};if(r.kind==="bearer"){const Ie=typeof r.token=="string"?r.token:n;Ie&&(se.Authorization=`Bearer ${Ie}`)}else if(r.kind==="csrf")se["X-CSRF-TOKEN"]=r.csrf,se["X-Requested-With"]="XMLHttpRequest";else if(r.kind==="basic"){const Ie=btoa(`${r.user}:${r.pass}`);se.Authorization=`Basic ${Ie}`}return se}function o(){return r.kind==="csrf"?"include":"same-origin"}function s(ie){const se=(e.locale??"tr")!=="en",$e={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"]}[ie];return $e?se?$e[0]:$e[1]:se?`Hata (${ie})`:`Error (${ie})`}async function l(ie,se={}){const Ie={...await a(),...se.headers??{}},$e=await fetch(ie,{...se,headers:Ie,credentials:o()});if(!$e.ok){const je=await $e.text().catch(()=>""),Ze=new Error(s($e.status));throw Ze.status=$e.status,Ze.detail=je.slice(0,300),Ze}return $e.json()}function u(ie=""){return t.manager.replace(/\/manager(\?.*)?$/,"/permissions")+ie}async function c(ie){return l(u()+"?path="+encodeURIComponent(ie))}async function f(ie){return l(u("/resolve")+"?email="+encodeURIComponent(ie))}async function d(ie){return l(u("/users")+"?q="+encodeURIComponent(ie))}async function p(ie){return l(u(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ie)})}async function h(ie,se){return l(u("/"+ie),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({level:se})})}async function m(ie){return l(u("/"+ie),{method:"DELETE"})}async function b(ie){return l(u("/invite"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ie)})}async function g(ie){return l(u("/share-mail"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ie)})}function v(ie){const se=new URLSearchParams;for(const[Ie,$e]of Object.entries(ie))$e!=null&&se.set(Ie,String($e));return se.toString()}function y(ie,se={}){const Ie=t.manager.includes("?")?"&":"?";return`${t.manager}${Ie}${v({q:ie,action:ie,...se})}`}async function _(ie){return l(y("index",{path:ie}))}async function k(ie,se){return l(y("search",{path:ie,filter:se}))}async function T(ie,se={}){const Ie=t.manager.replace(/\/manager(\?.*)?$/,"/search"),$e=Ie.includes("?")?"&":"?",je=`${Ie}${$e}${v({q:ie,limit:se.limit,scope:se.scope})}`,Ze=await l(je);return Array.isArray(Ze==null?void 0:Ze.results)?Ze.results:[]}async function E(ie){return l(y("subfolders",{path:ie}))}async function w(ie,se){return l(y("newfolder"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ie,name:se})})}async function x(ie,se,Ie){return l(y("rename"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ie,item:se,name:Ie})})}async function S(ie,se,Ie){return l(y("move"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ie,item:Ie,items:se.map($e=>({path:$e}))})})}async function M(ie,se){return l(y("delete"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:ie,items:se.map(Ie=>({path:Ie}))})})}async function P(ie,se){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:ie,target:se})})}async function F(ie,se,Ie){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:ie,target:se,sourceDir:Ie})})}async function j(ie,se){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:ie,sourceDir:se})})}async function te(ie){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:ie})})}async function $(ie){if(!t.trashList)throw new Error("trashList endpoint not configured");const se=t.trashList,Ie=se.includes("?")?"&":"?",$e=ie?`${se}${Ie}storage=${encodeURIComponent(ie)}`:se;return l($e)}async function Y(ie){const se=t.trashRestore;if(!se)throw new Error("trashRestore endpoint not configured");let Ie=0;for(const $e of ie)try{await l(se,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:$e})}),Ie++}catch{}return{restored:Ie}}async function re(ie,se,Ie){const $e=new FormData;$e.append("path",ie);for(const Ze of se)$e.append("file[]",Ze,Ze.name);const je=await a();return new Promise((Ze,Me)=>{const Pe=new XMLHttpRequest;Pe.open("POST",y("upload"));for(const[qe,it]of Object.entries(je))qe!=="Content-Type"&&Pe.setRequestHeader(qe,it);Pe.withCredentials=o()==="include",Pe.upload.onprogress=qe=>{Ie&&qe.lengthComputable&&Ie(Math.round(qe.loaded/qe.total*100))},Pe.onload=()=>{if(Pe.status>=200&&Pe.status<300)try{Ze(JSON.parse(Pe.responseText))}catch(qe){Me(qe)}else Me(new Error(`${Pe.status} ${Pe.statusText}: ${Pe.responseText.slice(0,200)}`))},Pe.onerror=()=>Me(new Error("Network error")),Pe.send($e)})}function H(ie){return y("download",{path:ie})}function U(ie){return y("preview",{path:ie})}async function N(ie){const se=await a(),Ie=await fetch(U(ie),{headers:se,credentials:o()});if(!Ie.ok){const Me=await Ie.text().catch(()=>"");throw new Error(`${Ie.status} ${Ie.statusText}${Me?" — "+Me.slice(0,200):""}`)}const $e=await Ie.blob(),je=$e.type||Ie.headers.get("content-type")||"";return{url:URL.createObjectURL($e),blob:$e,mime:je}}async function V(ie){const se=await a(),Ie=await fetch(U(ie),{headers:se,credentials:o()});if(!Ie.ok){const $e=await Ie.text().catch(()=>"");throw new Error(`${Ie.status} ${Ie.statusText}${$e?" — "+$e.slice(0,200):""}`)}return Ie.arrayBuffer()}async function W(){return t.limits?l(t.limits):{max_upload_mb:1024}}async function ge(){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 ke(ie){if(!t.shareCreate)throw new Error("shareCreate endpoint not configured");return l(t.shareCreate,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ie)})}async function Oe(ie){if(!t.shareList)return{shares:[]};const se=t.shareList.includes("?")?"&":"?";return l(`${t.shareList}${se}path=${encodeURIComponent(ie)}`)}async function ze(ie){if(!t.shareDelete)throw new Error("shareDelete endpoint not configured");const se=t.shareDelete.replace("{uuid}",encodeURIComponent(ie));return l(se,{method:"DELETE"})}async function de(ie){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:ie})})).entries.map(Ie=>({name:Ie.name,size:Ie.size,isDir:Ie.is_dir,lastModified:Ie.mtime}))}}async function De(ie,se){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:ie,members:se})})}async function Ne(ie,se){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:ie,files:se})})}function Ue(ie=""){return t.manager.replace(/\/manager(\?.*)?$/,"/versions")+ie}async function ee(ie){const se=await l(Ue()+"?node_id="+encodeURIComponent(String(ie)));return Array.isArray(se==null?void 0:se.versions)?se.versions:[]}async function oe(ie,se,Ie=!0){await l(Ue("/restore"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ie,version_id:se,snapshot_current:Ie})})}async function ye(ie){await l(Ue("/snapshot"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ie})})}function we(ie=""){return t.manager.replace(/\/manager(\?.*)?$/,"/comments")+ie}async function ve(ie){const se=await l(we()+"?node_id="+encodeURIComponent(String(ie)));return Array.isArray(se==null?void 0:se.comments)?se.comments:[]}async function be(ie,se){return(await l(we(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({node_id:ie,body:se})})).comment}async function le(ie){await l(we("/"+encodeURIComponent(String(ie))),{method:"DELETE"})}async function Te(){const ie=t.manager.replace(/\/manager(\?.*)?$/,"/ws-ticket");try{return await l(ie,{method:"POST"})}catch{return null}}return{wsTicket:Te,index:_,search:k,globalSearch:T,subfolders:E,newFolder:w,rename:x,move:S,copy:P,moveAsync:F,deleteAsync:j,deleteItems:M,restore:te,listTrash:$,restoreIds:Y,uploadMultipart:re,downloadUrl:H,previewUrl:U,fetchBlob:N,fetchArrayBuffer:V,limits:W,capabilities:ge,createShare:ke,listShares:Oe,revokeShare:ze,archiveList:de,archiveExtract:De,archiveAdd:Ne,listVersions:ee,restoreVersion:oe,snapshotVersion:ye,listComments:ve,addComment:be,deleteComment:le,listPermissions:c,resolveEmail:f,searchUsers:d,addPermission:p,updatePermission:h,deletePermission:m,invitePermission:b,shareMail:g,endpoints:t,authHeaders:a,authHeadersSync:i,credentialsMode:o,jsonFetch:l}}function hk(e,t){const r=e.chunkSize??5242880,n=Math.max(1,Math.min(8,e.parallelChunks??4));async function a(i){var d,p;const o=i.chunkSize??r,s=i.parallelChunks??n,l={id:crypto.randomUUID(),file:i.file,path:i.path,totalBytes:i.file.size,uploadedBytes:0,percent:0,status:"initializing",cancel:()=>{}};let u=!1;const c=[];l.cancel=()=>{u=!0;for(const h of c)h.abort()};function f(){var h;l.percent=l.totalBytes>0?Math.min(100,Math.round(l.uploadedBytes/l.totalBytes*100)):0,(h=i.onProgress)==null||h.call(i,l)}try{if(!t.endpoints.uploadInit)throw new Error("uploadInit not configured");const h=await t.jsonFetch(t.endpoints.uploadInit,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:i.path,filename:i.file.name,size:i.file.size,mime:i.file.type||"application/octet-stream"})});l.uploadId=h.uploadId,l.status="uploading",f();const m=h.chunkBytes??o,b=new Map,g=[];let v=0;async function y(x){const M=(x.partNumber-1)*(h.chunkBytes??o),P=Math.min(M+(h.chunkBytes??o),i.file.size),F=i.file.slice(M,P),j=new AbortController;c.push(j),await new Promise((te,$)=>{const Y=new XMLHttpRequest;Y.open("PUT",x.presignedUrl),Y.upload.onprogress=re=>{if(re.lengthComputable){const H=b.get(x.partNumber)??0,U=re.loaded-H;b.set(x.partNumber,re.loaded),l.uploadedBytes+=U,f()}},Y.onload=()=>{if(Y.status>=200&&Y.status<300){const re=(Y.getResponseHeader("ETag")||Y.getResponseHeader("etag")||"").trim();if(!re){$(new Error("Missing ETag on S3 response"));return}const H=P-M,U=b.get(x.partNumber)??0;U<H&&(l.uploadedBytes+=H-U,b.set(x.partNumber,H)),g.push({partNumber:x.partNumber,etag:re}),te()}else $(new Error(`S3 PUT ${x.partNumber} → ${Y.status}: ${Y.responseText.slice(0,200)}`))},Y.onerror=()=>$(new Error(`S3 PUT ${x.partNumber} network error`)),Y.onabort=()=>$(new DOMException("Aborted","AbortError")),j.signal.addEventListener("abort",()=>Y.abort()),Y.send(F)})}const _=2;async function k(x,S=0){try{await y(x)}catch(M){if(u)throw M;const P=M instanceof Error?M:new Error(String(M));if(P.name==="AbortError"||S>=_)throw P;const F=b.get(x.partNumber)??0;F>0&&(l.uploadedBytes=Math.max(0,l.uploadedBytes-F),b.delete(x.partNumber),f());const j=500*(S+1)+Math.floor(Math.random()*250);return await new Promise(te=>setTimeout(te,j)),k(x,S+1)}}async function T(){for(;!u&&v<h.parts.length;){const x=h.parts[v++];await k(x)}}const E=[];for(let x=0;x<s;x++)E.push(T());if(await Promise.all(E),u)throw new DOMException("Aborted by user","AbortError");if(!t.endpoints.uploadFinalize)throw new Error("uploadFinalize not configured");l.status="finalizing",g.sort((x,S)=>x.partNumber-S.partNumber);const w=await t.jsonFetch(t.endpoints.uploadFinalize,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uploadId:h.uploadId,parts:g})});return l.status="done",l.uploadedBytes=l.totalBytes,l.percent=100,f(),(d=i.onDone)==null||d.call(i,l,w),w}catch(h){const m=h instanceof Error?h:new Error(String(h));if(l.status=m.name==="AbortError"?"aborted":"error",l.error=m.message,f(),l.uploadId&&t.endpoints.uploadAbort&&l.status==="aborted")try{await t.jsonFetch(t.endpoints.uploadAbort,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uploadId:l.uploadId})})}catch{}throw(p=i.onError)==null||p.call(i,l,m),m}}return{uploadFile:a}}function mk(e){const t=ae(new Set),r=ae(null);function n(d,p={}){if(p.shift&&r.value){const h=e(),m=h.findIndex(_=>_.path===r.value),b=h.findIndex(_=>_.path===d);if(m===-1||b===-1){t.value=new Set([d]),r.value=d;return}const[g,v]=m<b?[m,b]:[b,m],y=new Set;for(let _=g;_<=v;_++)y.add(h[_].path);t.value=y;return}if(p.ctrl){const h=new Set(t.value);h.has(d)?h.delete(d):h.add(d),t.value=h,r.value=d;return}t.value=new Set([d]),r.value=d}function a(){t.value=new Set,r.value=null}function i(){t.value=new Set(e().map(d=>d.path))}function o(d){return t.value.has(d)}function s(d){const p=new Set(t.value);p.add(d),t.value=p}function l(d){const p=new Set(t.value);p.delete(d),t.value=p}const u=He(()=>t.value.size),c=He(()=>t.value.size===0),f=He(()=>e().filter(p=>t.value.has(p.path)));return{selected:t,anchor:r,click:n,clear:a,selectAll:i,has:o,add:s,remove:l,size:u,isEmpty:c,nodes:f}}const Ao=[{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"}],vk={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"},fd="filex.shortcuts";function gk(){try{const e=localStorage.getItem(fd);if(!e)return{};const t=JSON.parse(e);if(!t||typeof t!="object")return{};const r={};for(const[n,a]of Object.entries(t))typeof a=="string"&&Ao.some(i=>i.id===n)&&(r[n]=a);return r}catch{return{}}}const La=ae(gk());function dd(){try{Object.keys(La.value).length===0?localStorage.removeItem(fd):localStorage.setItem(fd,JSON.stringify(La.value))}catch{}}function $g(e){return Ao.find(t=>t.id===e)}function h0(e){var r;const t=La.value[e];return t!==void 0?t:((r=$g(e))==null?void 0:r.defaultCombo)??""}function pd(e,t){const r=$g(e);if(!r||r.customizable===!1)return;const n={...La.value};t===r.defaultCombo?delete n[e]:n[e]=t,La.value=n,dd()}function bk(e){if(!(e in La.value))return;const t={...La.value};delete t[e],La.value=t,dd()}function _k(){La.value={},dd()}function yk(e,t){var r;if(!e)return null;for(const n of Ao)if(n.id!==t){if((r=n.fixedCombos)!=null&&r.includes(e))return{id:n.id,fixed:!0};if(h0(n.id)===e)return{id:n.id,fixed:n.customizable===!1}}return null}const xk={" ":"Space",Spacebar:"Space",Escape:"Esc",Delete:"Del",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",PageUp:"PgUp",PageDown:"PgDn"},wk=new Set(["Control","Alt","Shift","Meta","AltGraph","CapsLock","NumLock","ScrollLock","Fn","Dead"]);function kk(e){const t=e.key;if(!t||wk.has(t))return null;const r=xk[t];return r||(t.length===1?t.toUpperCase():t)}function Ug(e){const t=kk(e);if(!t)return null;const r=[];(e.ctrlKey||e.metaKey)&&r.push("Ctrl"),e.altKey&&r.push("Alt");const n=t.length===1&&t.toUpperCase()===t.toLowerCase();return e.shiftKey&&!n&&r.push("Shift"),r.push(t),r.join("+")}function Hg(){return He(()=>Ao.map(e=>{const t=h0(e.id),r=e.fixedCombos??[];return{id:e.id,combo:t,fixedCombos:r,keys:[t,...r].filter(n=>!!n),labelKey:e.labelKey,groupKey:e.groupKey,customizable:e.customizable!==!1,overridden:La.value[e.id]!==void 0}}))}Ao.map(e=>({keys:[e.defaultCombo,...e.fixedCombos??[]].filter(t=>!!t),labelKey:e.labelKey,groupKey:e.groupKey}));function Ek(e,t){const r=He(()=>{const a=new Map;for(const i of Ao){const o=h0(i.id);o&&a.set(o,i)}return a});function n(a){var f;if(!e.value||a.key!=="Escape"&&document.querySelector(".fe-ctx-backdrop"))return;const o=a.target,s=!!(o&&(o.tagName==="INPUT"||o.tagName==="TEXTAREA"||o.tagName==="SELECT"||o.isContentEditable)),l=Ug(a);if(!l)return;if(l==="Backspace"){if(s)return;(f=t.hasSelection)!=null&&f.call(t)&&t.onDelete?(a.preventDefault(),t.onDelete()):t.onGoUp&&(a.preventDefault(),t.onGoUp());return}const u=r.value.get(l);if(!u||s&&!u.inForms||l==="Space"&&o&&typeof o.closest=="function"&&o.closest('button, a, select, summary, [role="button"], [role="menuitem"]'))return;const c=t[vk[u.id]];c&&(u.prevent!==!1&&a.preventDefault(),c())}Qt(()=>window.addEventListener("keydown",n)),nr(()=>window.removeEventListener("keydown",n))}const qg={tr:{"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; gündüz mü gece mi olduğu yukarıdaki seçim.","theme.mode.label":"Görünüm","theme.mode.light":"Gündüz","theme.mode.dark":"Gece","theme.mode.auto":"Otomatik","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."},en:{"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":"A theme only changes the colour palette — day or night is the choice above.","theme.mode.label":"Appearance","theme.mode.light":"Day","theme.mode.dark":"Night","theme.mode.auto":"Automatic","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."}};function yr(e){const t=He(()=>{const i=typeof e=="function"?e():e.value;return qg[i]??qg.tr});function r(i,o={}){const s=t.value[i]??i;return Object.entries(o).reduce((l,[u,c])=>l.replaceAll(`{${u}}`,String(c)),s)}function n(i){if(i==null||i<0)return"—";if(i===0)return`0 ${r("unit.bytes")}`;const o=[[1024**4,"unit.tb"],[1024**3,"unit.gb"],[1024**2,"unit.mb"],[1024,"unit.kb"],[1,"unit.bytes"]];for(const[s,l]of o)if(i>=s){const u=i/s;return`${u>=100?Math.round(u):u.toFixed(u>=10?1:2)} ${r(l)}`}return`${i} ${r("unit.bytes")}`}function a(i){if(i.basename===".trash")return r("node.trash");const o=i.basename.match(/^\d{8}-\d{6}-[A-Za-z0-9]+__(.+)$/);return o?o[1]:i.basename}return{t:r,formatSize:n,nodeDisplayName:a}}const Sk=2e3,Ck=8e3;function Gg(e){const t=(...s)=>{for(const l of s)if(typeof l=="number")return l;return 0},r=(...s)=>{for(const l of s)if(typeof l=="string"&&l!=="")return l;return null},n=String(e.status??"pending"),a=n==="ok"||n==="done"?"done":n==="failed"||n==="partial"||n==="error"?"error":n==="running"?"running":"pending",i=Array.isArray(e.sources)?e.sources:[],o=r(e.op_type,e.kind)??"delete";return{id:t(e.id),op_type:o==="copy"||o==="move"?o:"delete",status:a,progress_total:t(e.progress_total,e.total,i.length),progress_done:t(e.progress_done,e.done),target_path:r(e.target_path,e.dest),source_dir:r(e.source_dir),source_count:t(e.source_count,i.length),error_message:r(e.error_message,e.error),started_at:r(e.started_at),finished_at:r(e.finished_at),created_at:r(e.created_at)}}function Ak(e,t,r={}){const n=ae([]),a=new Set,i=new Map;let o=!1;const s=He(()=>n.value.some(h=>h.status==="pending"||h.status==="running"));let l;function u(){l||t.endpoints.opsList&&(l=setInterval(()=>{f()},Sk),f())}function c(){l&&(clearInterval(l),l=void 0)}async function f(){var h;if(t.endpoints.opsList)try{const b=((await t.jsonFetch(t.endpoints.opsList)).ops||[]).map(Gg);for(const w of b)(w.status==="done"||w.status==="error")&&!a.has(w.id)&&(a.add(w.id),i.set(w.id,Date.now()),o&&((h=r.onSettled)==null||h.call(r,w)));const g=new Set(n.value.map(w=>w.id)),v=b.filter(w=>w.status==="pending"||w.status==="running"?!0:o?g.has(w.id):!1),y=new Set(v.map(w=>w.id)),_=n.value.filter(w=>!y.has(w.id)),k=[...v,..._];o=!0;const T=Date.now(),E=k.filter(w=>{if(w.status==="pending"||w.status==="running")return!0;const x=i.get(w.id);return x!==void 0&&T-x<Ck});n.value=E,!s.value&&E.length===0&&c()}catch(m){console.warn("[usePendingOps] poll failed:",m)}}function d(h){const m=Gg(h);n.value.some(g=>g.id===m.id)||(n.value=[m,...n.value]),u()}function p(h){n.value=n.value.filter(m=>m.id!==h),i.delete(h)}return nr(()=>{c()}),{ops:n,hasActive:s,register:d,dismiss:p,poll:f,startPolling:u,stopPolling:c}}const Tk=25e3,Dk=15e3,Mk=6;class Ok{constructor(t){Ca(this,"ws",null);Ca(this,"opts");Ca(this,"closed",!1);Ca(this,"connecting",!1);Ca(this,"retries",0);Ca(this,"fallback",!1);Ca(this,"pingTimer",null);Ca(this,"reconnectTimer",null);Ca(this,"currentPath",null);Ca(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 r=t.ws_url.includes("?")?"&":"?";let n;try{n=new WebSocket(`${t.ws_url}${r}ticket=${encodeURIComponent(t.ticket)}`)}catch{this.fail();return}this.ws=n,n.onopen=()=>{var a,i;this.retries=0,this.setFallback(!1),(i=(a=this.opts.handlers).onStatus)==null||i.call(a,!0),this.currentPath&&this.send({type:"subscribe",path:this.currentPath}),this.currentFocus!==null&&this.send({type:"focus",file:this.currentFocus}),this.startPing()},n.onmessage=a=>{var s,l,u,c;let i;try{i=JSON.parse(typeof a.data=="string"?a.data:"")}catch{return}const o=i;(o==null?void 0:o.type)==="change"?(l=(s=this.opts.handlers).onChange)==null||l.call(s,i):(o==null?void 0:o.type)==="presence"&&((c=(u=this.opts.handlers).onPresence)==null||c.call(u,i))},n.onerror=()=>{},n.onclose=()=>{var a,i;this.stopPing(),this.ws=null,(i=(a=this.opts.handlers).onStatus)==null||i.call(a,!1),this.fail()}}fail(){if(this.closed||this.reconnectTimer)return;if(this.retries>=Mk){this.setFallback(!0);return}const t=Math.min(1e3*2**this.retries,Dk);this.retries+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},t)}setFallback(t){var r,n;this.fallback!==t&&(this.fallback=t,(n=(r=this.opts.handlers).onFallback)==null||n.call(r,t))}send(t){const r=this.ws;if(!(!r||r.readyState!==WebSocket.OPEN))try{r.send(JSON.stringify(t))}catch{}}startPing(){this.stopPing(),this.pingTimer=setInterval(()=>this.send({type:"ping"}),Tk)}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 Ik=200,Rk=12e3;function Nk(e,t){const r=ae([]),n=ae(!1),a=ae(!1);let i=null,o=null,s=null,l=null;function u(){s&&clearTimeout(s),s=setTimeout(()=>{s=null,t.reload()},Ik)}function c(b){o&&b.path&&b.path!==o||(r.value=Array.isArray(b.users)?b.users:[])}function f(b){a.value=b,b?(r.value=[],l||(l=setInterval(()=>t.reload(),Rk))):l&&(clearInterval(l),l=null)}function d(){i||(i=new Ok({getTicket:()=>e.wsTicket(),handlers:{onChange:u,onPresence:c,onFallback:f,onStatus:b=>{n.value=b}}}))}function p(b){r.value=[],o=b,i==null||i.subscribe(b)}function h(b){i==null||i.setFocus(b)}function m(){s&&(clearTimeout(s),s=null),l&&(clearInterval(l),l=null),i==null||i.close(),i=null,a.value=!1}return{presenceUsers:r,connected:n,degraded:a,start:d,subscribe:p,setFocus:h,stop:m}}const Fk=500;function Lk(e,t){const r=ae({}),n=[],a=new Set,i=new Set;function o(u){if(/^https?:\/\//i.test(u))return u;const c=(e||"").replace(/\/+$/,"");return c&&u.startsWith("/")?c+u:u}function s(u){const c=u.thumb_url;if(!c)return null;const f=r.value[c];return f||(!a.has(c)&&!i.has(c)&&l(c),null)}async function l(u){i.add(u);try{const c=await fetch(o(u),{headers:await t.authHeaders({Accept:"*/*"}),credentials:t.credentialsMode()});if(!c.ok)throw new Error(String(c.status));const f=await c.blob();if(n.length>=Fk){const d=n.shift();if(d&&r.value[d]){URL.revokeObjectURL(r.value[d]);const p={...r.value};delete p[d],r.value=p}}n.push(u),r.value={...r.value,[u]:URL.createObjectURL(f)}}catch{a.add(u)}finally{i.delete(u)}}return{src:s}}let m0=null,v0=null,g0=null,hd=null;function md(){m0||(m0=import("monaco-editor").then(e=>(g0=e.default??e,g0)).catch(()=>(g0=null,null))),v0||(v0=Promise.resolve().then(()=>YF).then(e=>(hd=e.default??e,hd)).catch(()=>(hd=null,null)))}async function Kg(){return m0||md(),m0}async function Vg(){return v0||md(),v0}function zk(){return g0}const Pk={key:0,class:"fx-presence-chips"},Bk=["title"],$k={key:0,class:"fx-presence-dot","aria-hidden":"true"},Uk={class:"fx-presence-chip-name"},Hk={key:0,class:"fx-presence-chip-file"},qk=["title"],Gk=["title"],Kk={key:0,class:"fx-presence-dot","aria-hidden":"true"},Vk={key:0,class:"fx-presence-more"},jk=["title"],Wk={class:"fx-presence-file"},Yk=["title","aria-expanded"],jg="filex.presence.expanded",Zk=Nt({__name:"PresenceBar",props:{users:{},selfId:{},locale:{}},setup(e){const t=e,{t:r}=yr(()=>t.locale??"tr"),n=He(()=>(t.users??[]).filter(c=>t.selfId==null||c.id!==t.selfId)),a=ae((()=>{try{return localStorage.getItem(jg)==="1"}catch{return!1}})());function i(){a.value=!a.value;try{localStorage.setItem(jg,a.value?"1":"0")}catch{}}function o(c){return c.uid??String(c.id)}function s(c){const f=c.trim().split(/\s+/).filter(Boolean);return f.length===0?"?":f.length===1?f[0].slice(0,2).toUpperCase():(f[0][0]+f[f.length-1][0]).toUpperCase()}function l(c){const f=o(c);let d=0;for(let p=0;p<f.length;p++)d=d*31+f.charCodeAt(p)>>>0;return d%360}function u(c){return c.file?`${c.name} · ${c.file}`:c.name}return(c,f)=>n.value.length?(z(),B("div",{key:0,class:ht(["fx-presence",{"fx-presence--wide":a.value}])},[a.value?(z(),B("div",Pk,[(z(!0),B(We,null,kt(n.value,d=>(z(),B("span",{key:o(d),class:"fx-presence-chip",title:u(d)},[D("span",{class:"fx-presence-avatar",style:Dn({backgroundColor:`hsl(${l(d)} 60% 45%)`})},[$t(K(s(d.name))+" ",1),d.file?(z(),B("span",$k)):Re("",!0)],4),D("span",Uk,K(d.name),1),d.file?(z(),B("span",Hk,"· "+K(d.file),1)):Re("",!0)],8,Bk))),128))])):(z(),B(We,{key:1},[D("div",{class:"fx-presence-avatars",title:n.value.map(u).join(", ")},[(z(!0),B(We,null,kt(n.value.slice(0,5),d=>(z(),B("span",{key:o(d),class:"fx-presence-avatar",style:Dn({backgroundColor:`hsl(${l(d)} 60% 45%)`}),title:u(d)},[$t(K(s(d.name))+" ",1),d.file?(z(),B("span",Kk)):Re("",!0)],12,Gk))),128)),n.value.length>5?(z(),B("span",Vk,"+"+K(n.value.length-5),1)):Re("",!0)],8,qk),D("span",{class:"fx-presence-text",title:n.value.map(u).join(", ")},[$t(K(n.value.length===1?n.value[0].name:`${n.value.length} kişi`)+" ",1),n.value.length===1&&n.value[0].file?(z(),B(We,{key:0},[f[0]||(f[0]=$t(" · ",-1)),D("span",Wk,K(n.value[0].file),1)],64)):Re("",!0)],8,jk)],64)),D("button",{type:"button",class:"fx-presence-toggle",title:a.value?Z(r)("presence.collapse"):Z(r)("presence.expand"),"aria-expanded":a.value,onClick:i},K(a.value?"‹":"›"),9,Yk)],2)):Re("",!0)}}),Xk=["data-prefers-dark"],Jk=["aria-label"],Qk=["aria-label","onKeydown"],e9={class:"fe-sheet__items"},t9={key:0,class:"fe-ctx__sep",role:"separator"},r9=["disabled","onClick"],n9={key:0,class:"fe-ctx__icon","aria-hidden":"true"},a9={class:"fe-ctx__label"},i9=["aria-label"],o9={key:0,class:"fe-ctx__sep",role:"separator"},s9=["disabled","onClick"],l9={key:0,class:"fe-ctx__icon","aria-hidden":"true"},u9={class:"fe-ctx__label"},vd=Nt({__name:"ContextMenu",props:{locale:{},actions:{},theme:{},sheet:{type:Boolean}},emits:["select"],setup(e,{expose:t,emit:r}){const n=e,a=r,{t:i}=yr(()=>n.locale),o=ae(!1),s=ae(0),l=ae(0),u=ae([]),c=ae(null);let f=0,d=0,p=null;async function h(H,U){var N;if(p=document.activeElement??null,o.value=!0,s.value=H.clientX,l.value=H.clientY,f=H.clientX,d=H.clientY,u.value=U,await Hr(),n.sheet){(N=_.value)==null||N.focus();return}m(),v(0)}function m(){const H=c.value;if(!H||typeof window>"u")return;const U=H.getBoundingClientRect(),N=8,V=window.innerWidth,W=window.innerHeight;if(d+U.height>W-N){const ge=d-U.height;l.value=ge>=N?ge:Math.max(N,W-U.height-N)}if(f+U.width>V-N){const ge=f-U.width;s.value=ge>=N?ge:Math.max(N,V-U.width-N)}}function b(){var H;o.value=!1,k.value=!1,T.value=0,(H=p==null?void 0:p.focus)==null||H.call(p),p=null}function g(){const H=n.sheet?_.value:c.value;return H?Array.from(H.querySelectorAll(".fe-ctx__item:not(:disabled)")):[]}function v(H){var V;const U=g();if(U.length===0)return;const N=(H%U.length+U.length)%U.length;(V=U[N])==null||V.focus()}function y(H){const U=g();if(U.length===0)return;const N=document.activeElement,V=N?U.indexOf(N):-1;if(V===-1){v(H>0?0:U.length-1);return}v(V+H)}const _=ae(null),k=ae(!1),T=ae(0);let E=0;function w(H){const U=H.touches[0];U&&(k.value=!0,E=U.clientY,T.value=0)}function x(H){if(!k.value)return;const U=H.touches[0];U&&(T.value=Math.max(0,U.clientY-E))}function S(){if(!k.value)return;const H=T.value>72;k.value=!1,H?b():T.value=0}const M=He(()=>T.value>0?{transform:`translateY(${T.value}px)`,transition:"none"}:void 0);function P(H){H.disabled||(a("select",H,u.value),b())}function F(H){if(H.key==="Escape"){H.stopPropagation(),b();return}if(H.key==="Enter"||H.key===" "){H.stopPropagation();return}H.key==="ArrowDown"?(H.preventDefault(),H.stopPropagation(),y(1)):H.key==="ArrowUp"?(H.preventDefault(),H.stopPropagation(),y(-1)):H.key==="Home"?(H.preventDefault(),v(0)):H.key==="End"?(H.preventDefault(),v(-1)):H.key==="Tab"&&(H.preventDefault(),b())}const j=He(()=>{const H=n.actions.filter(N=>!N.hidden),U=[];for(const N of H)N.divider&&(U.length===0||U[U.length-1].divider)||U.push(N);for(;U.length>0&&U[U.length-1].divider;)U.pop();return U}),te=ae(!1);let $;function Y(H){te.value=!!(H&&"matches"in H&&H.matches)}Qt(()=>{var H;typeof window>"u"||($=window.matchMedia("(prefers-color-scheme: dark)"),Y($),(H=$.addEventListener)==null||H.call($,"change",Y))}),nr(()=>{var H;(H=$==null?void 0:$.removeEventListener)==null||H.call($,"change",Y)});const re=He(()=>`fe-ctx-backdrop--theme-${n.theme||"auto"}`);return t({show:h,hide:b}),(H,U)=>(z(),er(dv,{to:"body"},[Ot(fi,{name:e.sheet?"fe-sheet":"fe-ctx"},{default:cr(()=>[o.value?(z(),B("div",{key:0,class:ht(["fe-ctx-backdrop",[re.value,{"fe-ctx-backdrop--sheet":e.sheet}]]),"data-prefers-dark":te.value?"1":"0",onClick:b,onContextmenu:Gt(b,["prevent"]),onKeydown:F},[e.sheet?(z(),B("div",{key:0,ref_key:"sheetEl",ref:_,class:"fe-sheet",role:"menu","aria-label":Z(i)("sheet.menu"),tabindex:"-1",style:Dn(M.value),onClick:U[0]||(U[0]=Gt(()=>{},["stop"]))},[D("div",{class:"fe-sheet__handle",role:"button",tabindex:"0","aria-label":Z(i)("sheet.close"),onClick:b,onKeydown:hn(Gt(b,["prevent"]),["enter"]),onTouchstartPassive:w,onTouchmovePassive:x,onTouchend:S,onTouchcancel:S},null,40,Qk),D("div",e9,[(z(!0),B(We,null,kt(j.value,(N,V)=>(z(),B(We,{key:N.key||V},[N.divider?(z(),B("div",t9)):(z(),B("button",{key:1,type:"button",class:ht(["fe-ctx__item fe-sheet__item",{"is-danger":N.danger,"is-disabled":N.disabled}]),disabled:N.disabled,role:"menuitem",onClick:W=>P(N)},[N.icon?(z(),B("span",n9,K(N.icon),1)):Re("",!0),D("span",a9,K(N.label),1)],10,r9))],64))),128))])],12,Jk)):(z(),B("div",{key:1,ref_key:"menuEl",ref:c,class:"fe-ctx",role:"menu","aria-orientation":"vertical","aria-label":Z(i)("sheet.menu"),style:Dn({top:l.value+"px",left:s.value+"px"}),onClick:U[1]||(U[1]=Gt(()=>{},["stop"]))},[(z(!0),B(We,null,kt(j.value,(N,V)=>(z(),B(We,{key:N.key||V},[N.divider?(z(),B("div",o9)):(z(),B("button",{key:1,type:"button",class:ht(["fe-ctx__item",{"is-danger":N.danger,"is-disabled":N.disabled}]),disabled:N.disabled,role:"menuitem",onClick:W=>P(N)},[N.icon?(z(),B("span",l9,K(N.icon),1)):Re("",!0),D("span",u9,K(N.label),1)],10,s9))],64))),128))],12,i9))],42,Xk)):Re("",!0)]),_:1},8,["name"])]))}}),c9=["title","aria-label"],f9=["title"],d9={class:"fe-btn__label"},p9=["disabled","title","onClick"],h9={class:"fe-icon"},m9={class:"fe-btn__label"},v9=["title","aria-label"],g9={class:"fe-icon"},b9={class:"fe-btn__label"},_9=["title"],y9={class:"fe-btn__label"},x9={class:"fe-toolbar__search-group"},w9={class:"fe-search"},k9=["placeholder","value","aria-label"],E9=["title","aria-label"],S9=["title","aria-label"],C9=["aria-pressed","aria-label","title"],A9={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"},T9={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"},D9=["aria-pressed","title","aria-label"],M9=["title","aria-label"],O9=["aria-label"],I9=["aria-selected","title","aria-label"],R9=["aria-selected","title","aria-label"],N9=["aria-selected","title","aria-label"],F9={class:"fe-search fe-search--full"},L9=["placeholder","value","aria-label","onKeydown"],z9=["title","aria-label"],P9=["title","aria-label"],B9=["title","aria-label"],$9=["title","aria-label"],U9=["title","aria-label"],Wg="filex.density",H9=40,q9=Nt({__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:r}){const n=e,a=r,i=ae((()=>{try{return localStorage.getItem(Wg)==="compact"?"compact":"comfortable"}catch{return"comfortable"}})());Qt(()=>a("update:density",i.value));function o(){i.value=i.value==="compact"?"comfortable":"compact";try{localStorage.setItem(Wg,i.value)}catch{}a("update:density",i.value)}const{t:s}=yr(()=>n.locale),l=ae(null),u=ae(n.searchQuery);Tt(()=>n.searchQuery,N=>{u.value=N});let c;function f(N){const V=N.target.value;u.value=V,c&&clearTimeout(c),c=setTimeout(()=>a("update:searchQuery",V),200)}async function d(){var N,V;n.narrow&&!S.value&&(S.value=!0,await Hr()),(N=l.value)==null||N.focus(),(V=l.value)==null||V.select()}t({focusSearch:d});const p=He(()=>n.selectionMode??"none"),h=He(()=>n.actions.filter(N=>!N.divider&&!N.hidden)),m=ae(null),b=ae(null),g=ae(null),v=ae(null),y=ae(Number.MAX_SAFE_INTEGER),_=He(()=>h.value.slice(0,y.value)),k=He(()=>h.value.slice(y.value));function T(){if(n.narrow)return;const N=m.value,V=b.value;if(!N||!V){y.value=h.value.length;return}const W=parseFloat(getComputedStyle(N).gap)||8;let ge=0;for(const Ne of Array.from(N.children))Ne===V||Ne===g.value||Ne.classList.contains("fe-btn--fold")||Ne.offsetWidth>0&&(ge+=Ne.offsetWidth+W);const ke=Array.from(V.children).map(Ne=>Ne.offsetWidth+W),Oe=ke.reduce((Ne,Ue)=>Ne+Ue,0),ze=N.clientWidth-ge;if(Oe<=ze){y.value=ke.length;return}let de=H9+W,De=0;for(const Ne of ke){if(de+Ne>ze)break;de+=Ne,De+=1}y.value=De}let E;Qt(()=>{typeof ResizeObserver<"u"&&m.value&&(E=new ResizeObserver(()=>T()),E.observe(m.value)),Hr(T)}),nr(()=>E==null?void 0:E.disconnect()),Tt(()=>[h.value,n.narrow,n.trashActive,p.value],()=>void Hr(T),{deep:!1});function w(){var V,W;const N=(V=g.value)==null?void 0:V.getBoundingClientRect();(W=v.value)==null||W.show({clientX:N?N.right:0,clientY:N?N.bottom+4:0},[])}function x(N){a("action",N)}const S=ae(!1);Tt(()=>n.narrow,N=>{N||(S.value=!1)});async function M(){var N;S.value=!0,await Hr(),(N=l.value)==null||N.focus()}function P(){S.value=!1}const F=ae(!1);let j;function te(N){F.value=!!(N&&"matches"in N&&N.matches)}Qt(()=>{var N;typeof window>"u"||!window.matchMedia||(j=window.matchMedia("(pointer: coarse)"),te(j),(N=j.addEventListener)==null||N.call(j,"change",te))}),nr(()=>{var N;(N=j==null?void 0:j.removeEventListener)==null||N.call(j,"change",te)});const $=ae(null),Y=ae(null),re=He(()=>{const N=[],V=!n.trashActive&&!n.atVirtualRoot&&n.canWrite!==!1;return p.value==="none"&&V&&(N.push({key:"new-folder",label:s("toolbar.new_folder"),icon:"📁"}),n.pasteEnabled&&N.push({key:"paste",label:s("ctx.paste"),icon:"📋"})),N.push(...h.value),N.length&&N.push({divider:!0,key:"bag-sep",label:""}),N.push({key:"refresh",label:s("toolbar.refresh"),icon:"↻"}),N.push({key:"density",label:i.value==="compact"?s("toolbar.density.comfortable"):s("toolbar.density.compact"),icon:"⇅"}),n.viewMode!=="list"&&N.push({key:"view-list",label:s("toolbar.view.list"),icon:"☰"}),n.viewMode!=="grid"&&N.push({key:"view-grid",label:s("toolbar.view.grid"),icon:"▦"}),n.viewMode!=="gallery"&&N.push({key:"view-gallery",label:s("toolbar.view.gallery"),icon:"▣"}),N.push({key:"inspector",label:s("toolbar.inspector"),icon:"ℹ"}),N.push({key:"theme",label:s("theme.menu"),icon:"🎨"}),N.push({key:"shortcut-settings",label:s("shortcuts.settings.menu"),icon:"⌨"}),N.push({key:"tour",label:s("tour.restart"),icon:"🎓"}),N});function H(){var V,W;const N=(V=$.value)==null?void 0:V.getBoundingClientRect();(W=Y.value)==null||W.show({clientX:N?N.right:0,clientY:N?N.bottom+4:0},[])}function U(N){var V;switch(N.key){case"new-folder":a("new-folder");break;case"refresh":a("refresh");break;case"density":o();break;case"view-list":a("update:viewMode","list");break;case"view-grid":a("update:viewMode","grid");break;case"view-gallery":a("update:viewMode","gallery");break;case"inspector":a("toggle-inspector");break;case"theme":a("open-theme");break;case"shortcut-settings":a("open-shortcut-settings");break;case"tour":(V=$.value)==null||V.dispatchEvent(new CustomEvent("fe:tour-restart",{bubbles:!0}));break;default:x(N.key)}}return(N,V)=>(z(),B("div",{class:ht(["fe-toolbar",{"fe-toolbar--narrow":e.narrow,"fe-toolbar--searching":e.narrow&&S.value}])},[e.narrow?(z(),B(We,{key:1},[S.value?(z(),B(We,{key:0},[D("div",F9,[D("input",{ref_key:"searchEl",ref:l,type:"search",class:"fe-search__input",placeholder:Z(s)("toolbar.search.placeholder"),value:u.value,"aria-label":Z(s)("toolbar.search"),onInput:f,onKeydown:hn(Gt(P,["stop","prevent"]),["esc"])},null,40,L9)]),D("button",{type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.search.close"),"aria-label":Z(s)("toolbar.search.close"),onClick:P},[...V[27]||(V[27]=[D("span",{class:"fe-icon"},"✕",-1)])],8,z9)],64)):(z(),B(We,{key:1},[e.canGoUp?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.go_up"),"aria-label":Z(s)("toolbar.go_up"),onClick:V[10]||(V[10]=W=>a("go-up"))},[...V[28]||(V[28]=[D("span",{class:"fe-icon"},"↑",-1)])],8,P9)):Re("",!0),V[32]||(V[32]=D("div",{class:"fe-toolbar__spacer"},null,-1)),D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only fe-toolbar__search-toggle",{"is-active":!!u.value}]),title:Z(s)("toolbar.search"),"aria-label":Z(s)("toolbar.search"),onClick:M},[...V[29]||(V[29]=[D("span",{class:"fe-icon"},"🔍",-1)])],10,B9),!e.atVirtualRoot&&e.canWrite!==!1?(z(),B("button",{key:1,type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.upload"),"aria-label":Z(s)("toolbar.upload"),onClick:V[11]||(V[11]=W=>a("upload"))},[...V[30]||(V[30]=[D("span",{class:"fe-icon"},"⬆",-1)])],8,$9)):Re("",!0),D("button",{ref_key:"moreBtnEl",ref:$,type:"button",class:"fe-btn fe-btn--icon-only fe-toolbar__more",title:Z(s)("toolbar.more"),"aria-label":Z(s)("toolbar.more"),"aria-haspopup":"menu",onClick:H},[...V[31]||(V[31]=[D("span",{class:"fe-icon"},"⋯",-1)])],8,U9)],64)),Ot(vd,{ref_key:"moreRef",ref:Y,locale:e.locale,theme:e.theme||"auto",sheet:F.value,actions:re.value,onSelect:U},null,8,["locale","theme","sheet","actions"])],64)):(z(),B(We,{key:0},[D("div",{ref_key:"primaryEl",ref:m,class:"fe-toolbar__primary"},[e.canGoUp?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.go_up"),"aria-label":Z(s)("toolbar.go_up"),onClick:V[0]||(V[0]=W=>a("go-up"))},[...V[13]||(V[13]=[D("span",{class:"fe-icon"},"↑",-1)])],8,c9)):Re("",!0),p.value==="none"&&!e.trashActive&&!e.atVirtualRoot&&e.canWrite!==!1?(z(),B("button",{key:1,type:"button",class:"fe-btn fe-btn--primary",title:Z(s)("toolbar.new_folder"),onClick:V[1]||(V[1]=W=>a("new-folder"))},[V[14]||(V[14]=D("span",{class:"fe-icon"},"📁",-1)),D("span",d9,K(Z(s)("toolbar.new_folder")),1)],8,f9)):Re("",!0),(z(!0),B(We,null,kt(_.value,W=>(z(),B("button",{key:W.key,type:"button",class:ht(["fe-btn fe-btn--fold",{"fe-btn--danger":W.danger,"is-disabled":W.disabled}]),disabled:W.disabled,title:W.label,onClick:ge=>x(W.key)},[D("span",h9,K(W.icon),1),D("span",m9,K(W.label),1)],10,p9))),128)),k.value.length>0?(z(),B("button",{key:2,ref_key:"wideMoreBtnEl",ref:g,type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.more"),"aria-label":Z(s)("toolbar.more"),"aria-haspopup":"menu",onClick:w},[...V[15]||(V[15]=[D("span",{class:"fe-icon"},"⋯",-1)])],8,v9)):Re("",!0),D("div",{ref_key:"measureEl",ref:b,class:"fe-toolbar__measure","aria-hidden":"true"},[(z(!0),B(We,null,kt(h.value,W=>(z(),B("button",{key:"m-"+W.key,type:"button",class:"fe-btn",tabindex:"-1"},[D("span",g9,K(W.icon),1),D("span",b9,K(W.label),1)]))),128))],512),e.pasteEnabled&&p.value==="none"&&!e.trashActive&&!e.atVirtualRoot&&e.canWrite!==!1?(z(),B("button",{key:3,type:"button",class:"fe-btn",title:Z(s)("ctx.paste"),onClick:V[2]||(V[2]=W=>x("paste"))},[V[16]||(V[16]=D("span",{class:"fe-icon"},"📋",-1)),D("span",y9,K(Z(s)("ctx.paste")),1)],8,_9)):Re("",!0)],512),V[26]||(V[26]=D("div",{class:"fe-toolbar__spacer"},null,-1)),D("div",x9,[D("div",w9,[D("input",{ref_key:"searchEl",ref:l,type:"search",class:"fe-search__input",placeholder:Z(s)("toolbar.search.placeholder"),value:u.value,"aria-label":Z(s)("toolbar.search"),onInput:f},null,40,k9)]),!e.atVirtualRoot&&e.canWrite!==!1?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.upload"),"aria-label":Z(s)("toolbar.upload"),onClick:V[3]||(V[3]=W=>a("upload"))},[...V[17]||(V[17]=[D("span",{class:"fe-icon","aria-hidden":"true"},"⬆",-1)])],8,E9)):Re("",!0),D("button",{type:"button",class:"fe-btn fe-btn--icon-only",title:Z(s)("toolbar.refresh"),"aria-label":Z(s)("toolbar.refresh"),onClick:V[4]||(V[4]=W=>a("refresh"))},[...V[18]||(V[18]=[D("span",{class:"fe-icon","aria-hidden":"true"},"↻",-1)])],8,S9)]),D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only fe-toolbar__density",{"is-active":i.value==="compact"}]),"aria-pressed":i.value==="compact","aria-label":i.value==="compact"?Z(s)("toolbar.density.comfortable"):Z(s)("toolbar.density.compact"),title:i.value==="compact"?Z(s)("toolbar.density.comfortable"):Z(s)("toolbar.density.compact"),onClick:o},[i.value==="compact"?(z(),B("svg",A9,[...V[19]||(V[19]=[D("path",{d:"M4 6.5h16M4 10.5h16M4 14.5h16M4 18.5h16"},null,-1)])])):(z(),B("svg",T9,[...V[20]||(V[20]=[D("path",{d:"M4 5.5h16M4 12h16M4 18.5h16"},null,-1)])]))],10,C9),D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only fe-toolbar__inspector",{"is-active":e.inspectorOpen}]),"aria-pressed":!!e.inspectorOpen,title:Z(s)("toolbar.inspector"),"aria-label":Z(s)("toolbar.inspector"),onClick:V[5]||(V[5]=W=>a("toggle-inspector"))},[...V[21]||(V[21]=[D("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"},[D("circle",{cx:"12",cy:"12",r:"9"}),D("path",{d:"M12 11v5"}),D("circle",{cx:"12",cy:"7.6",r:"1",fill:"currentColor",stroke:"none"})],-1)])],10,D9),D("button",{type:"button",class:"fe-btn fe-btn--icon-only fe-toolbar__theme",title:Z(s)("theme.menu"),"aria-label":Z(s)("theme.menu"),onClick:V[6]||(V[6]=W=>a("open-theme"))},[...V[22]||(V[22]=[D("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"},[D("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"}),D("circle",{cx:"7.8",cy:"10.2",r:"1.15",fill:"currentColor",stroke:"none"}),D("circle",{cx:"11.6",cy:"7.2",r:"1.15",fill:"currentColor",stroke:"none"}),D("circle",{cx:"16",cy:"8.6",r:"1.15",fill:"currentColor",stroke:"none"})],-1)])],8,M9),D("div",{class:"fe-toolbar__view",role:"tablist","aria-label":Z(s)("toolbar.view_label")},[D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="list"}]),role:"tab","aria-selected":e.viewMode==="list",title:Z(s)("toolbar.view.list"),"aria-label":Z(s)("toolbar.view.list"),onClick:V[7]||(V[7]=W=>a("update:viewMode","list"))},[...V[23]||(V[23]=[D("span",{class:"fe-icon","aria-hidden":"true"},"☰",-1)])],10,I9),D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="grid"}]),role:"tab","aria-selected":e.viewMode==="grid",title:Z(s)("toolbar.view.grid"),"aria-label":Z(s)("toolbar.view.grid"),onClick:V[8]||(V[8]=W=>a("update:viewMode","grid"))},[...V[24]||(V[24]=[D("span",{class:"fe-icon","aria-hidden":"true"},"▦",-1)])],10,R9),D("button",{type:"button",class:ht(["fe-btn fe-btn--icon-only",{"is-active":e.viewMode==="gallery"}]),role:"tab","aria-selected":e.viewMode==="gallery",title:Z(s)("toolbar.view.gallery"),"aria-label":Z(s)("toolbar.view.gallery"),onClick:V[9]||(V[9]=W=>a("update:viewMode","gallery"))},[...V[25]||(V[25]=[D("span",{class:"fe-icon","aria-hidden":"true"},"▣",-1)])],10,N9)],8,O9)],64)),e.narrow?Re("",!0):(z(),er(vd,{key:2,ref_key:"wideMoreRef",ref:v,locale:e.locale,theme:e.theme||"auto",sheet:!1,actions:k.value,onSelect:V[12]||(V[12]=W=>x(W.key))},null,8,["locale","theme","actions"]))],2))}}),G9=["onClick"],K9=Nt({__name:"TagPicker",props:{nodeId:{},apiBase:{},authHeaders:{type:Function},authCredentials:{},palette:{}},emits:["change","error"],setup(e,{emit:t}){const r=e,n=t,a=ae([]),i=ae(!1),o=ae(!1),s=ae(""),l=He(()=>r.palette??["#ef4444","#f59e0b","#10b981","#3b82f6","#8b5cf6","#ec4899","#14b8a6","#f97316"]);function u(m){let b=0;for(let v=0;v<m.length;v++)b=b*31+m.charCodeAt(v)|0;const g=l.value;return g[Math.abs(b)%g.length]}async function c(m={}){return{...await(r.authHeaders??(()=>({})))(),...m}}async function f(){i.value=!0;try{const m=r.apiBase??"",b=await fetch(`${m}/api/files/manager/tags?node_id=${r.nodeId}`,{headers:await c(),credentials:r.authCredentials??"same-origin"});if(b.ok){const g=await b.json();a.value=Array.isArray(g.tags)?g.tags:[]}}catch(m){n("error",m instanceof Error?m.message:String(m))}finally{i.value=!1}}async function d(m){const b=[...a.value];a.value=m;try{const g=r.apiBase??"",v=await fetch(`${g}/api/files/manager/tags`,{method:"POST",headers:await c({"Content-Type":"application/json"}),credentials:r.authCredentials??"same-origin",body:JSON.stringify({node_id:r.nodeId,tags:m})});if(!v.ok)throw new Error(`tag save failed: ${v.status}`);n("change",m)}catch(g){a.value=b,n("error",g instanceof Error?g.message:String(g))}}function p(){const m=s.value.trim();if(!m||a.value.includes(m)){s.value="",o.value=!1;return}d([...a.value,m]),s.value="",o.value=!1}function h(m){d(a.value.filter(b=>b!==m))}return Qt(f),Tt(()=>r.nodeId,f),(m,b)=>(z(),B("div",{class:ht(["filex-tag-picker",{"is-loading":i.value}])},[(z(!0),B(We,null,kt(a.value,g=>(z(),B("span",{key:g,class:"filex-tag",style:Dn({"--filex-tag-color":u(g)})},[$t(K(g)+" ",1),D("button",{class:"filex-tag-x",type:"button",onClick:v=>h(g),"aria-label":"Remove tag"},"×",8,G9)],4))),128)),o.value?(z(),B("form",{key:0,class:"filex-tag-add",onSubmit:Gt(p,["prevent"])},[Zt(D("input",{"onUpdate:modelValue":b[0]||(b[0]=g=>s.value=g),autofocus:"",placeholder:"tag name",onBlur:p,onKeydown:b[1]||(b[1]=hn(g=>{o.value=!1,s.value=""},["escape"]))},null,544),[[Fr,s.value]])],32)):(z(),B("button",{key:1,class:"filex-tag-add-btn",type:"button",onClick:b[2]||(b[2]=g=>o.value=!0)},"+ Add tag"))],2))}}),V9={class:"filex-recent"},j9=["disabled"],W9={key:0},Y9=["onClick"],Z9={class:"filex-recent-name"},X9={class:"filex-recent-meta"},J9={key:1,class:"filex-recent-empty"},Q9={key:2,class:"filex-recent-empty"},eE=Nt({__name:"RecentlyOpened",props:{apiBase:{},authHeaders:{type:Function},authCredentials:{},limit:{},refreshKey:{}},emits:["open","error"],setup(e,{emit:t}){const r=e,n=t,a=ae([]),i=ae(!1);async function o(){i.value=!0;try{const l=await(r.authHeaders??(()=>({})))(),u=r.apiBase??"",c=r.limit??20,f=await fetch(`${u}/api/files/manager/recent?limit=${c}`,{headers:l,credentials:r.authCredentials??"same-origin"});if(f.ok){const d=await f.json();a.value=Array.isArray(d.entries)?d.entries:Array.isArray(d)?d:[]}}catch(l){n("error",l instanceof Error?l.message:String(l))}finally{i.value=!1}}function s(l){if(!l)return"";const u=new Date(l).getTime();if(Number.isNaN(u))return"";const c=Date.now()-u;return c<6e4?"just now":c<36e5?`${Math.floor(c/6e4)}m ago`:c<864e5?`${Math.floor(c/36e5)}h ago`:`${Math.floor(c/864e5)}d ago`}return Qt(o),Tt(()=>r.refreshKey,o),(l,u)=>(z(),B("div",V9,[D("header",null,[u[0]||(u[0]=D("h3",null,"Recently opened",-1)),D("button",{class:"filex-recent-refresh",type:"button",onClick:o,disabled:i.value}," ↻ ",8,j9)]),a.value.length?(z(),B("ul",W9,[(z(!0),B(We,null,kt(a.value,c=>(z(),B("li",{key:c.id},[D("button",{type:"button",onClick:f=>n("open",c),class:"filex-recent-item"},[D("span",Z9,K(c.name),1),D("span",X9,K(s(c.last_opened)),1)],8,Y9)]))),128))])):i.value?(z(),B("p",Q9,"Loading…")):(z(),B("p",J9,"Nothing here yet."))]))}}),tE={class:"fe-breadcrumb","aria-label":"Breadcrumb"},rE=["aria-current","onClick","onContextmenu","onDrop"],nE={key:0,class:"fe-breadcrumb__sep","aria-hidden":"true"},aE=["aria-expanded","aria-label","title"],iE={key:0,class:"fe-breadcrumb__menu",role:"menu"},oE=["onClick"],sE=["aria-current","onClick","onContextmenu","onDrop"],lE={key:0,class:"fe-breadcrumb__sep","aria-hidden":"true"},uE=["title","aria-label"],cE=["placeholder","onKeydown"],fE=4,dE=Nt({__name:"Breadcrumb",props:{dirname:{},adapter:{},rootLabel:{},locale:{},multiStorageRoot:{type:Boolean},rootPath:{}},emits:["navigate","copy-path","crumb-context","crumb-drop"],setup(e,{emit:t}){const r=e,n=He(()=>{if(!r.rootPath)return"";const M=r.rootPath,P=M.indexOf("://");return(P>=0?M.slice(P+3):M).replace(/^\/+|\/+$/g,"")}),a=He(()=>{const M=n.value;if(!M)return r.rootLabel||r.adapter;const P=M.split("/");return P[P.length-1]||r.rootLabel||r.adapter}),{t:i}=yr(()=>r.locale),o=t,s=He(()=>{const M=`${r.adapter}://`,P=r.dirname.startsWith(M)?r.dirname.slice(M.length):r.dirname,F=P.split("/").filter(Boolean),j=[];if(r.rootPath){const $=n.value,Y=P.replace(/^\/+|\/+$/g,""),re=$&&(Y===$||Y.startsWith($+"/"))?Y.slice($.length).replace(/^\/+/,""):"";j.push({label:a.value,adapterPath:r.rootPath});let H=$;for(const U of re.split("/").filter(Boolean))H=H?`${H}/${U}`:U,j.push({label:U===".trash"?i("node.trash"):U,adapterPath:`${M}${H}`});return j}r.multiStorageRoot?(j.push({label:"/",adapterPath:""}),r.adapter&&j.push({label:r.rootLabel||r.adapter,adapterPath:M})):j.push({label:r.rootLabel||r.adapter,adapterPath:M});let te="";for(const $ of F){te=te?`${te}/${$}`:$;const Y=$===".trash"?i("node.trash"):$;j.push({label:Y,adapterPath:`${M}${te}`})}return j}),l=He(()=>s.value.length>fE),u=He(()=>l.value?s.value.slice(0,1):s.value),c=He(()=>l.value?s.value.slice(1,-2):[]),f=He(()=>l.value?s.value.slice(-2):[]),d=ae(!1),p=ae(null);function h(M){d.value=!1,o("navigate",M.adapterPath)}function m(M){const P=p.value;P&&M.target instanceof Node&&P.contains(M.target)||(d.value=!1)}function b(M){M.key==="Escape"&&(M.stopPropagation(),d.value=!1)}Tt(d,M=>{M?(document.addEventListener("click",m,!0),document.addEventListener("keydown",b,!0)):(document.removeEventListener("click",m,!0),document.removeEventListener("keydown",b,!0))}),Tt(s,()=>{d.value=!1}),nr(()=>{document.removeEventListener("click",m,!0),document.removeEventListener("keydown",b,!0)});function g(M){o("navigate",M.adapterPath)}function v(M,P){M.preventDefault(),M.stopPropagation(),o("crumb-context",{x:M.clientX,y:M.clientY,adapterPath:P.adapterPath,label:P.label})}function y(M){var P;(P=M.dataTransfer)!=null&&P.types.includes("application/x-brf-files")&&(M.preventDefault(),M.stopPropagation(),M.dataTransfer&&(M.dataTransfer.dropEffect="move"))}function _(M,P){var F;(F=M.dataTransfer)!=null&&F.types.includes("application/x-brf-files")&&(M.preventDefault(),M.stopPropagation(),o("crumb-drop",P.adapterPath,M))}const k=ae(!1),T=ae(""),E=ae(null);function w(){const M=`${r.adapter}://`,P=r.dirname.startsWith(M)?r.dirname.slice(M.length):r.dirname;if(r.rootPath){const F=n.value,j=P.replace(/^\/+|\/+$/g,""),te=F&&(j===F||j.startsWith(F+"/"))?j.slice(F.length).replace(/^\/+/,""):"";T.value=te?`/${te}`:"/",k.value=!0,Hr(()=>{var $,Y;($=E.value)==null||$.focus(),(Y=E.value)==null||Y.select()});return}if(r.multiStorageRoot)if(!r.adapter)T.value="/";else{const F=P.replace(/^\/+|\/+$/g,"");T.value=F?`/${r.adapter}/${F}`:`/${r.adapter}`}else T.value=P;k.value=!0,Hr(()=>{var F,j;(F=E.value)==null||F.focus(),(j=E.value)==null||j.select()})}function x(){const M=T.value.trim();if(k.value=!1,r.rootPath){const F=M.replace(/^\/+|\/+$/g,""),j=n.value,te=F?j?`${j}/${F}`:F:j;o("navigate",te?`${r.adapter}://${te}`:`${r.adapter}://`);return}if(r.multiStorageRoot){const F=M.replace(/^\/+|\/+$/g,"");if(!F){o("navigate","");return}const j=F.indexOf("/"),te=j===-1?F:F.slice(0,j),$=j===-1?"":F.slice(j+1);o("navigate",$?`${te}://${$}`:`${te}://`);return}const P=M.replace(/^\/+|\/+$/g,"");P&&o("navigate",`${r.adapter}://${P}`)}function S(){k.value=!1}return(M,P)=>(z(),B("nav",tE,[k.value?Zt((z(),B("input",{key:1,ref_key:"pathInput",ref:E,"onUpdate:modelValue":P[1]||(P[1]=F=>T.value=F),type:"text",class:"fe-breadcrumb__input",placeholder:Z(i)("breadcrumb.path_placeholder"),spellcheck:"false",autocomplete:"off",onKeydown:[hn(Gt(x,["prevent"]),["enter"]),hn(Gt(S,["prevent"]),["escape"])],onBlur:S},null,40,cE)),[[Fr,T.value]]):(z(),B(We,{key:0},[(z(!0),B(We,null,kt(u.value,(F,j)=>(z(),B("button",{key:F.adapterPath,class:ht(["fe-breadcrumb__crumb",{"is-last":!l.value&&j===u.value.length-1}]),type:"button","aria-current":!l.value&&j===u.value.length-1?"page":void 0,onClick:te=>g(F),onContextmenu:te=>v(te,F),onDragover:y,onDrop:te=>_(te,F)},[D("span",null,K(F.label),1),l.value||j<u.value.length-1?(z(),B("span",nE,"›")):Re("",!0)],42,rE))),128)),c.value.length?(z(),B("span",{key:0,ref_key:"moreWrapEl",ref:p,class:"fe-breadcrumb__more-wrap"},[D("button",{type:"button",class:"fe-breadcrumb__more","aria-haspopup":"menu","aria-expanded":d.value,"aria-label":Z(i)("breadcrumb.more"),title:Z(i)("breadcrumb.more"),onClick:P[0]||(P[0]=F=>d.value=!d.value)},"…",8,aE),P[2]||(P[2]=D("span",{class:"fe-breadcrumb__sep","aria-hidden":"true"},"›",-1)),d.value?(z(),B("div",iE,[(z(!0),B(We,null,kt(c.value,F=>(z(),B("button",{key:F.adapterPath,type:"button",class:"fe-breadcrumb__menu-item",role:"menuitem",onClick:j=>h(F)},K(F.label),9,oE))),128))])):Re("",!0)],512)):Re("",!0),(z(!0),B(We,null,kt(f.value,(F,j)=>(z(),B("button",{key:F.adapterPath,class:ht(["fe-breadcrumb__crumb",{"is-last":j===f.value.length-1}]),type:"button","aria-current":j===f.value.length-1?"page":void 0,onClick:te=>g(F),onContextmenu:te=>v(te,F),onDragover:y,onDrop:te=>_(te,F)},[D("span",null,K(F.label),1),j<f.value.length-1?(z(),B("span",lE,"›")):Re("",!0)],42,sE))),128)),D("button",{type:"button",class:"fe-breadcrumb__edit",title:Z(i)("breadcrumb.go_to_path"),"aria-label":Z(i)("breadcrumb.go_to_path"),onClick:w},"✏",8,uE)],64))]))}}),Yg={};function za(e,t){for(const r of t)Yg[r]=e}za("image",["jpg","jpeg","png","webp","gif","bmp","avif","heic","svg","ico","tiff","tif"]),za("video",["mp4","webm","mov","mkv","avi","ogv","m4v"]),za("audio",["mp3","wav","flac","ogg","m4a","aac","opus"]),za("pdf",["pdf"]),za("doc",["doc","docx","odt","rtf"]),za("sheet",["xls","xlsx","ods","csv"]),za("slides",["ppt","pptx","odp"]),za("archive",["zip","tar","gz","bz2","7z","rar","xz","zst"]),za("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"]),za("text",["txt","md","markdown","log","ini","conf","cfg","env"]);function pE(e){if(e.type==="dir")return"folder";const t=(e.extension||"").toLowerCase();return Yg[t]??"unknown"}const Ui='<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"/>',hE={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:Ui+'<rect x="7.5" y="12" width="9" height="5" rx="1" fill="currentColor" fill-opacity="0.14"/>',doc:Ui+'<path d="M8.5 13h7M8.5 16h7"/>',sheet:Ui+'<path d="M8 12.5h8M8 15.5h8M8 18h8M12 12.5V18"/>',slides:Ui+'<rect x="8" y="12.5" width="8" height="5" rx="0.8"/>',archive:Ui+'<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:Ui+'<path d="M10.4 12.5L8.3 15l2.1 2.5M13.6 12.5l2.1 2.5-2.1 2.5"/>',text:Ui+'<path d="M8.5 12h7M8.5 15h7M8.5 18h4.5"/>',unknown:Ui+'<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"/>'},Zg=new Map;function mE(e){let t=Zg.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">${hE[e]}</svg>`,Zg.set(e,t)),t}function ss(e){return mE(pE(e))}function b0(e){const t=[];if(!e)return t;const r=/«([^«»]*)»/g;let n=0,a;for(;(a=r.exec(e))!==null;)a.index>n&&t.push({text:e.slice(n,a.index),match:!1}),a[1]&&t.push({text:a[1],match:!0}),n=a.index+a[0].length;return n<e.length&&t.push({text:e.slice(n),match:!1}),t}function Xg(e){return e==="content"||e==="both"}function gd(e,t,r){const n=e.dataTransfer;if(!(!n||typeof document>"u"||typeof n.setDragImage!="function"))try{const a=document.createElement("div");a.className="fe-dragghost";const i=document.createElement("span");if(i.className="fe-dragghost__name",i.textContent=t,a.appendChild(i),r>1){const o=document.createElement("span");o.className="fe-dragghost__badge",o.textContent=String(r),a.appendChild(o)}a.style.position="fixed",a.style.top="-1000px",a.style.left="-1000px",document.body.appendChild(a),n.setDragImage(a,14,14),setTimeout(()=>a.remove(),0)}catch{}}const vE=["aria-pressed","title"],gE={viewBox:"0 0 24 24",width:"16",height:"16","aria-hidden":"true"},bE=["fill"],_E={key:0,class:"filex-star-label"},yE=Nt({__name:"StarButton",props:{starred:{type:Boolean},nodeId:{},apiBase:{},authHeaders:{type:Function},authCredentials:{},compact:{type:Boolean}},emits:["change","error"],setup(e,{emit:t}){const r=e,n=t,a=ae(r.starred);Tt(()=>r.starred,o=>{a.value=o});async function i(){const o=!a.value;a.value=o;try{const s={"Content-Type":"application/json",...await(r.authHeaders??(()=>({})))()},l=r.apiBase??"",u=await fetch(`${l}/api/files/manager/star`,{method:"POST",headers:s,credentials:r.authCredentials??"same-origin",body:JSON.stringify({node_id:r.nodeId,starred:o})});if(!u.ok)throw new Error(`star toggle failed: ${u.status}`);n("change",o)}catch(s){a.value=!o,n("error",s instanceof Error?s.message:String(s))}}return(o,s)=>(z(),B("button",{type:"button",class:ht(["filex-star-btn",{"is-starred":a.value,"is-compact":e.compact}]),"aria-pressed":a.value,title:a.value?"Unstar":"Star",onClick:Gt(i,["stop"])},[(z(),B("svg",gE,[D("path",{fill:a.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,bE)])),e.compact?Re("",!0):(z(),B("span",_E,K(a.value?"Starred":"Star"),1))],10,vE))}}),xE=["aria-label","aria-busy"],wE={class:"fe-list__head",role:"row"},kE=["aria-label"],EE=["aria-sort"],SE=["title"],CE={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},AE=["aria-sort"],TE=["title"],DE={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},ME=["aria-sort"],OE=["title"],IE={key:0,class:"fe-list__sort-arrow","aria-hidden":"true"},RE={class:"fe-list__body",role:"rowgroup"},NE={key:0,class:"fe-list__group",role:"presentation"},FE=["aria-selected","aria-label","data-fe-path","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],LE={class:"fe-list__col fe-list__col--name",role:"gridcell"},zE={key:0,class:"fe-list__icon","aria-hidden":"true"},PE=["innerHTML"],BE={class:"fe-list__name-wrap"},$E=["title"],UE={key:0,class:"fe-list__badge"},HE=["title"],qE={key:1,class:"fe-list__snippet"},GE={key:0,class:"fe-list__mark"},KE={class:"fe-list__col fe-list__col--size",role:"gridcell"},VE={class:"fe-list__col fe-list__col--mod",role:"gridcell"},jE={key:0,class:"fe-list__empty"},Jg="filex.list-sort",Qg=Nt({__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 r=e,n=t,{t:a,formatSize:i,nodeDisplayName:o}=yr(()=>r.locale);function s(U){return r.selected.has(U.path)}function l(U,N){n("click-row",U,{ctrl:N.ctrlKey||N.metaKey,shift:N.shiftKey})}function u(U){n("dbl-row",U)}function c(U,N){N.preventDefault(),N.stopPropagation(),n("context-row",U,N)}function f(U,N){gd(N,o(U),r.selected.has(U.path)?r.selected.size:1),n("item-drag-start",U,N)}const d=ae(null);function p(U,N){var V;U.type==="dir"&&(V=N.dataTransfer)!=null&&V.types.includes("application/x-brf-files")&&(N.preventDefault(),N.stopPropagation(),N.dataTransfer&&(N.dataTransfer.dropEffect="move"),d.value=U.path)}function h(U){d.value===U.path&&(d.value=null)}function m(U,N){var V;d.value=null,U.type==="dir"&&(V=N.dataTransfer)!=null&&V.types.includes("application/x-brf-files")&&(N.preventDefault(),N.stopPropagation(),n("item-drop-into",U,N))}let b,g=null;function v(U,N){g=U,b&&clearTimeout(b),b=setTimeout(()=>{if(g){const V=N.touches[0];n("context-row",g,{clientX:V.clientX,clientY:V.clientY,preventDefault:()=>{}})}},500)}function y(){b&&clearTimeout(b),g=null}function _(U){return U.basename===".trash"?"🗑":U.mime_type==="inode/storage"?"💾":U.type==="dir"&&U.e2e===!0?"🔒":null}function k(U){return U.basename===".trash"||U.mime_type==="inode/storage"}function T(U){return U?new Date(U*(U<1e12?1e3:1)).toLocaleString():"—"}function E(U){const N=U.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),V=N.lastIndexOf("/");return V===-1?"":N.slice(0,V)}function w(U){const N=U.snippet;return typeof N=="string"?N:""}function x(U){return Xg(U.matched)}const S=ae(null),M=ae("asc");try{const U=localStorage.getItem(Jg);if(U){const N=JSON.parse(U);(N.key==="name"||N.key==="size"||N.key==="modified")&&(S.value=N.key),(N.dir==="asc"||N.dir==="desc")&&(M.value=N.dir)}}catch{}function P(U){return U==="modified"?"desc":"asc"}function F(U){S.value!==U?(S.value=U,M.value=P(U)):M.value===P(U)?M.value=M.value==="asc"?"desc":"asc":S.value=null;try{localStorage.setItem(Jg,JSON.stringify({key:S.value,dir:M.value}))}catch{}}function j(U){return S.value!==U?"none":M.value==="asc"?"ascending":"descending"}function te(U){const N=U.last_modified;return N?N*(N<1e12?1e3:1):null}const $=He(()=>{const U=S.value;if(!U)return r.files;const N=[],V=[];for(const ge of r.files)(k(ge)?N:V).push(ge);const W=M.value==="asc"?1:-1;return V.sort((ge,ke)=>{if(U==="name")return W*ge.basename.localeCompare(ke.basename,void 0,{numeric:!0,sensitivity:"base"});if(U==="size")return W*((ge.size??-1)-(ke.size??-1));const Oe=te(ge),ze=te(ke);return Oe==null&&ze==null?0:Oe==null?1:ze==null?-1:W*(Oe-ze)}),[...N,...V]}),Y=He(()=>new Intl.DateTimeFormat(r.locale==="tr"?"tr-TR":"en-US",{month:"long",year:"numeric"}));function re(U){if(U==null)return{id:"none",label:a("group.no_date")};const N=new Date(U),V=new Date,W=ze=>new Date(ze.getFullYear(),ze.getMonth(),ze.getDate()).getTime(),ge=W(V),ke=W(N),Oe=864e5;return ke>=ge?{id:"today",label:a("group.today")}:ke===ge-Oe?{id:"yesterday",label:a("group.yesterday")}:ke>ge-7*Oe?{id:"week",label:a("group.this_week")}:N.getFullYear()===V.getFullYear()&&N.getMonth()===V.getMonth()?{id:"month",label:a("group.this_month")}:{id:`m-${N.getFullYear()}-${N.getMonth()}`,label:Y.value.format(N)}}const H=He(()=>{const U=$.value;if(S.value!=="modified")return[{id:"all",label:null,nodes:U}];const N=[];let V=null;for(const W of U){const ge=k(W)?{id:"pinned",label:null}:re(te(W));(!V||V.id!==ge.id)&&(V={id:ge.id,label:ge.label,nodes:[]},N.push(V)),V.nodes.push(W)}return N});return(U,N)=>(z(),B("div",{class:ht(["fe-list",{"is-loading":e.loading,"has-star-col":!!e.apiBase||e.apiBase===""}]),role:"grid","aria-label":Z(a)("list.aria"),"aria-busy":e.loading?"true":void 0},[D("div",wE,[D("div",{class:"fe-list__col fe-list__col--star",role:"columnheader","aria-label":Z(a)("col.star")},null,8,kE),D("div",{class:"fe-list__col fe-list__col--name",role:"columnheader","aria-sort":j("name")},[D("button",{type:"button",class:"fe-list__sort",title:Z(a)("col.sort"),onClick:N[0]||(N[0]=V=>F("name"))},[$t(K(Z(a)("col.name"))+" ",1),S.value==="name"?(z(),B("span",CE,K(M.value==="asc"?"↑":"↓"),1)):Re("",!0)],8,SE)],8,EE),D("div",{class:"fe-list__col fe-list__col--size",role:"columnheader","aria-sort":j("size")},[D("button",{type:"button",class:"fe-list__sort",title:Z(a)("col.sort"),onClick:N[1]||(N[1]=V=>F("size"))},[$t(K(Z(a)("col.size"))+" ",1),S.value==="size"?(z(),B("span",DE,K(M.value==="asc"?"↑":"↓"),1)):Re("",!0)],8,TE)],8,AE),D("div",{class:"fe-list__col fe-list__col--mod",role:"columnheader","aria-sort":j("modified")},[D("button",{type:"button",class:"fe-list__sort",title:Z(a)("col.sort"),onClick:N[2]||(N[2]=V=>F("modified"))},[$t(K(Z(a)("col.modified"))+" ",1),S.value==="modified"?(z(),B("span",IE,K(M.value==="asc"?"↑":"↓"),1)):Re("",!0)],8,OE)],8,ME)]),D("div",RE,[(z(!0),B(We,null,kt(H.value,V=>(z(),B(We,{key:V.id},[V.label?(z(),B("div",NE,K(V.label),1)):Re("",!0),(z(!0),B(We,null,kt(V.nodes,W=>{var ge,ke;return z(),B("div",{key:W.path,class:ht(["fe-list__row",{"is-selected":s(W),"is-dir":W.type==="dir","is-trash":W.trashed,"is-clipped":(ge=e.clipped)==null?void 0:ge.has(W.path),"is-droptarget":d.value===W.path}]),role:"row",tabindex:"0","aria-selected":s(W)?"true":"false","aria-label":Z(o)(W),"data-fe-path":W.path,draggable:"true",onClick:Oe=>l(W,Oe),onDblclick:Oe=>u(W),onContextmenu:Oe=>c(W,Oe),onDragstart:Oe=>f(W,Oe),onDragover:Oe=>p(W,Oe),onDragleave:Oe=>h(W),onDrop:Oe=>m(W,Oe),onTouchstartPassive:Oe=>v(W,Oe),onTouchend:y,onTouchmove:y},[D("div",{class:"fe-list__col fe-list__col--star",role:"gridcell",onClick:N[3]||(N[3]=Gt(()=>{},["stop"]))},[typeof W.id=="number"&&W.type==="file"?(z(),er(yE,{key:0,starred:!!((ke=e.starredIds)!=null&&ke.has(W.id)),"node-id":W.id,"api-base":e.apiBase,"auth-headers":e.authHeaders,"auth-credentials":e.authCredentials,compact:"",onChange:Oe=>n("star-change",W,Oe)},null,8,["starred","node-id","api-base","auth-headers","auth-credentials","onChange"])):Re("",!0)]),D("div",LE,[_(W)?(z(),B("span",zE,K(_(W)),1)):(z(),B("span",{key:1,class:"fe-list__icon fe-list__icon--svg","aria-hidden":"true",innerHTML:Z(ss)(W)},null,8,PE)),D("div",BE,[D("span",{class:"fe-list__name",title:W.basename},[$t(K(Z(o)(W))+" ",1),x(W)?(z(),B("span",UE,K(Z(a)("search.in_content")),1)):Re("",!0)],8,$E),e.showParentPath?(z(),B("span",{key:0,class:"fe-list__parent",title:E(W.path)},K(E(W.path)||"—"),9,HE)):Re("",!0),w(W)?(z(),B("span",qE,[(z(!0),B(We,null,kt(Z(b0)(w(W)),(Oe,ze)=>(z(),B(We,{key:ze},[Oe.match?(z(),B("mark",GE,K(Oe.text),1)):(z(),B(We,{key:1},[$t(K(Oe.text),1)],64))],64))),128))])):Re("",!0)])]),D("div",KE,K(Z(i)(W.size)),1),D("div",VE,K(T(W.last_modified)),1)],42,FE)}),128))],64))),128)),!e.loading&&$.value.length===0?(z(),B("div",jE,K(Z(a)("empty.folder")),1)):Re("",!0)])],10,xE))}}),WE=["aria-label","aria-busy"],YE=["aria-selected","aria-label","data-fe-path","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],ZE={class:"fe-grid__thumb"},XE=["src","alt"],JE={key:1,class:"fe-grid__icon"},QE=["innerHTML"],eS=["title"],tS=["title"],rS={class:"fe-grid__meta"},nS=["title"],aS={key:0,class:"fe-grid__mark"},iS={key:0,class:"fe-grid__empty"},eb=Nt({__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 r=e,n=t,{t:a,formatSize:i,nodeDisplayName:o}=yr(()=>r.locale);function s(x){return r.thumbSrc?r.thumbSrc(x):x.thumb_url??null}function l(x){return r.selected.has(x.path)}function u(x,S){n("click-card",x,{ctrl:S.ctrlKey||S.metaKey,shift:S.shiftKey})}function c(x){n("dbl-card",x)}function f(x,S){S.preventDefault(),S.stopPropagation(),n("context-card",x,S)}function d(x,S){gd(S,o(x),r.selected.has(x.path)?r.selected.size:1),n("item-drag-start",x,S)}const p=ae(null);function h(x,S){var M;x.type==="dir"&&(M=S.dataTransfer)!=null&&M.types.includes("application/x-brf-files")&&(S.preventDefault(),S.stopPropagation(),S.dataTransfer&&(S.dataTransfer.dropEffect="move"),p.value=x.path)}function m(x){p.value===x.path&&(p.value=null)}function b(x,S){var M;p.value=null,x.type==="dir"&&(M=S.dataTransfer)!=null&&M.types.includes("application/x-brf-files")&&(S.preventDefault(),S.stopPropagation(),n("item-drop-into",x,S))}let g,v=null;function y(x,S){v=x,g&&clearTimeout(g),g=setTimeout(()=>{if(v){const M=S.touches[0];n("context-card",v,{clientX:M.clientX,clientY:M.clientY,preventDefault:()=>{}})}},500)}function _(){g&&clearTimeout(g),v=null}function k(x){const S=x.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),M=S.lastIndexOf("/");return M===-1?"":S.slice(0,M)}function T(x){return x.basename===".trash"?"🗑":x.mime_type==="inode/storage"?"💾":x.type==="dir"&&x.e2e===!0?"🔒":null}function E(x){const S=x.snippet;return typeof S=="string"?S:""}function w(x){return b0(x).map(S=>S.text).join("")}return(x,S)=>(z(),B("div",{class:ht(["fe-grid",{"is-loading":e.loading}]),role:"listbox","aria-multiselectable":"true","aria-label":Z(a)("grid.aria"),"aria-busy":e.loading?"true":void 0},[(z(!0),B(We,null,kt(e.files,M=>{var P;return z(),B("div",{key:M.path,class:ht(["fe-grid__card",{"is-selected":l(M),"is-dir":M.type==="dir","is-trash":M.trashed,"is-clipped":(P=e.clipped)==null?void 0:P.has(M.path),"is-droptarget":p.value===M.path}]),tabindex:"0",role:"option","aria-selected":l(M)?"true":"false","aria-label":Z(o)(M),"data-fe-path":M.path,draggable:"true",onClick:F=>u(M,F),onDblclick:F=>c(M),onContextmenu:F=>f(M,F),onDragstart:F=>d(M,F),onDragover:F=>h(M,F),onDragleave:F=>m(M),onDrop:F=>b(M,F),onTouchstartPassive:F=>y(M,F),onTouchend:_,onTouchmove:_},[D("div",ZE,[s(M)?(z(),B("img",{key:0,src:s(M),alt:M.basename,loading:"lazy",draggable:"false"},null,8,XE)):T(M)?(z(),B("span",JE,K(T(M)),1)):(z(),B("span",{key:2,class:"fe-grid__icon fe-grid__icon--svg",innerHTML:Z(ss)(M)},null,8,QE))]),D("div",{class:"fe-grid__label",title:M.basename},K(Z(o)(M)),9,eS),e.showParentPath?(z(),B("div",{key:0,class:"fe-grid__parent",title:k(M.path)},K(k(M.path)||"—"),9,tS)):Re("",!0),D("div",rS,K(Z(i)(M.size)),1),E(M)?(z(),B("div",{key:1,class:"fe-grid__snippet",title:w(E(M))},[(z(!0),B(We,null,kt(Z(b0)(E(M)),(F,j)=>(z(),B(We,{key:j},[F.match?(z(),B("mark",aS,K(F.text),1)):(z(),B(We,{key:1},[$t(K(F.text),1)],64))],64))),128))],8,nS)):Re("",!0)],42,YE)}),128)),!e.loading&&e.files.length===0?(z(),B("div",iS,K(Z(a)("empty.folder")),1)):Re("",!0)],10,WE))}}),oS=["aria-label","aria-busy"],sS=["aria-selected","aria-label","onClick","onDblclick","onContextmenu","onDragstart","onDragover","onDragleave","onDrop","onTouchstartPassive"],lS={class:"fe-gal__thumb"},uS=["src","alt"],cS={key:1,class:"fe-gal__icon"},fS=["innerHTML"],dS={class:"fe-gal__meta","aria-hidden":"true"},pS={key:0,class:"fe-gal__meta-line"},hS=["title"],mS=["title"],vS={key:0,class:"fe-gal__empty"},tb=Nt({__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 r=e,n=t,{t:a,formatSize:i,nodeDisplayName:o}=yr(()=>r.locale);function s(x){return r.thumbSrc?r.thumbSrc(x):x.thumb_url??null}function l(x){return r.selected.has(x.path)}function u(x,S){n("click-card",x,{ctrl:S.ctrlKey||S.metaKey,shift:S.shiftKey})}function c(x){n("dbl-card",x)}function f(x,S){S.preventDefault(),S.stopPropagation(),n("context-card",x,S)}function d(x,S){gd(S,o(x),r.selected.has(x.path)?r.selected.size:1),n("item-drag-start",x,S)}const p=ae(null);function h(x,S){var M;x.type==="dir"&&(M=S.dataTransfer)!=null&&M.types.includes("application/x-brf-files")&&(S.preventDefault(),S.stopPropagation(),S.dataTransfer&&(S.dataTransfer.dropEffect="move"),p.value=x.path)}function m(x){p.value===x.path&&(p.value=null)}function b(x,S){var M;p.value=null,x.type==="dir"&&(M=S.dataTransfer)!=null&&M.types.includes("application/x-brf-files")&&(S.preventDefault(),S.stopPropagation(),n("item-drop-into",x,S))}let g,v=null;function y(x,S){v=x,g&&clearTimeout(g),g=setTimeout(()=>{if(v){const M=S.touches[0];n("context-card",v,{clientX:M.clientX,clientY:M.clientY,preventDefault:()=>{}})}},500)}function _(){g&&clearTimeout(g),v=null}function k(x){const S=x.replace(/^[a-z][a-z0-9+.-]*:\/\//i,""),M=S.lastIndexOf("/");return M===-1?"":S.slice(0,M)}function T(x){return x.basename===".trash"?"🗑":x.mime_type==="inode/storage"?"💾":x.type==="dir"&&x.e2e===!0?"🔒":null}function E(x){return x?new Date(x*(x<1e12?1e3:1)).toLocaleString():""}function w(x){const S=E(x.last_modified);return[x.type==="dir"?"":i(x.size),S].filter(P=>!!P).join(" · ")}return(x,S)=>(z(),B("div",{class:ht(["fe-gal",{"is-loading":e.loading}]),role:"listbox","aria-multiselectable":"true","aria-label":Z(a)("gallery.aria"),"aria-busy":e.loading?"true":void 0},[(z(!0),B(We,null,kt(e.files,M=>{var P;return z(),B("div",{key:M.path,class:ht(["fe-gal__card",{"is-selected":l(M),"is-dir":M.type==="dir","is-trash":M.trashed,"is-clipped":(P=e.clipped)==null?void 0:P.has(M.path),"is-droptarget":p.value===M.path}]),tabindex:"0",role:"option","aria-selected":l(M)?"true":"false","aria-label":Z(o)(M),draggable:"true",onClick:F=>u(M,F),onDblclick:F=>c(M),onContextmenu:F=>f(M,F),onDragstart:F=>d(M,F),onDragover:F=>h(M,F),onDragleave:F=>m(M),onDrop:F=>b(M,F),onTouchstartPassive:F=>y(M,F),onTouchend:_,onTouchmove:_},[D("div",lS,[s(M)?(z(),B("img",{key:0,src:s(M),alt:M.basename,loading:"lazy",draggable:"false"},null,8,uS)):T(M)?(z(),B("span",cS,K(T(M)),1)):(z(),B("span",{key:2,class:"fe-gal__icon fe-gal__icon--svg",innerHTML:Z(ss)(M)},null,8,fS)),D("div",dS,[w(M)?(z(),B("span",pS,K(w(M)),1)):Re("",!0),e.showParentPath&&k(M.path)?(z(),B("span",{key:1,class:"fe-gal__meta-line fe-gal__meta-line--path",title:k(M.path)},K(k(M.path)),9,hS)):Re("",!0)])]),D("div",{class:"fe-gal__label",title:M.basename},K(Z(o)(M)),9,mS)],42,sS)}),128)),!e.loading&&e.files.length===0?(z(),B("div",vS,K(Z(a)("empty.folder")),1)):Re("",!0)],10,oS))}}),gS=Nt({__name:"UploadProgress",props:{jobs:{},locale:{},center:{}},emits:["cancel","dismiss","retry"],setup(e,{emit:t}){const r=e,n=t;function a(i){return i==="done"?"done":i==="error"?"error":i==="aborted"?"aborted":"running"}return Tt(()=>r.jobs,i=>{r.center.sync("upload",i.map(o=>({input:{id:o.id,kind:"upload",name:o.file.name,percent:o.totalBytes>0||o.status==="done"?o.percent:null,status:a(o.status),error:o.error??null,uploadedBytes:o.uploadedBytes,totalBytes:o.totalBytes,cancellable:o.status==="uploading"||o.status==="initializing",retryable:o.status==="error"},actions:{cancel:()=>n("cancel",o),dismiss:()=>n("dismiss",o),retry:()=>n("retry",o)}})))},{immediate:!0}),(i,o)=>Re("",!0)}}),bS=Nt({__name:"PendingOpsTray",props:{ops:{},locale:{},center:{}},emits:["dismiss"],setup(e,{emit:t}){const r=e,n=t;function a(o){return o.status==="done"?"done":o.status==="error"?"error":"running"}function i(o){return o.status==="done"?100:o.progress_total<=0?null:Math.min(100,Math.round(o.progress_done/o.progress_total*100))}return Tt(()=>r.ops,o=>{r.center.sync("ops",o.map(s=>({input:{id:s.id,kind:s.op_type,name:s.target_path||s.source_dir||"",percent:i(s),status:a(s),error:s.error_message,queued:s.status==="pending",doneCount:s.progress_done,totalCount:s.progress_total,cancellable:!1,retryable:!1},actions:{dismiss:()=>n("dismiss",s.id)}})))},{immediate:!0}),(o,s)=>Re("",!0)}}),_S=["aria-label"],yS={class:"fe-inspector__head"},xS={class:"fe-inspector__title"},wS=["title","aria-label"],kS={class:"fe-inspector__scroll"},ES={class:"fe-inspector__section"},SS={class:"fe-inspector__heading"},CS={key:0,class:"fe-inspector__hero"},AS=["innerHTML"],TS={class:"fe-inspector__name"},DS={class:"fe-inspector__hero"},MS=["src"],OS=["innerHTML"],IS=["title"],RS={class:"fe-inspector__meta"},NS={class:"fe-inspector__row"},FS={class:"fe-inspector__pathcell"},LS=["title"],zS=["title","aria-label"],PS={key:0,class:"fe-inspector__row"},BS={class:"fe-inspector__row"},$S={key:1,class:"fe-inspector__row"},US={class:"fe-inspector__mime"},HS={key:2,class:"fe-inspector__row"},qS={class:"fe-inspector__pathcell"},GS=["title"],KS=["title","aria-label"],VS={key:2,class:"fe-inspector__hero"},jS=["innerHTML"],WS=["title"],YS={class:"fe-inspector__sub"},ZS={key:0,class:"fe-inspector__section"},XS={class:"fe-inspector__heading"},JS={key:0,class:"fe-inspector__empty"},QS={key:0,class:"fe-inspector__empty"},eC={key:1,class:"fe-inspector__versions"},tC={class:"fe-inspector__version-main"},rC={class:"fe-inspector__version-n"},nC={class:"fe-inspector__version-meta"},aC={key:0,class:"fe-inspector__confirm"},iC={class:"fe-inspector__confirm-q"},oC={class:"fe-inspector__check"},sC={class:"fe-inspector__confirm-actions"},lC=["disabled","onClick"],uC=["disabled"],cC=["disabled","onClick"],fC=["disabled"],dC={key:1,class:"fe-inspector__section"},pC={class:"fe-inspector__heading"},hC={class:"fe-inspector__permrow"},mC={key:2,class:"fe-inspector__section"},vC={class:"fe-inspector__heading"},gC={key:0,class:"fe-inspector__empty"},bC={key:1,class:"fe-inspector__shares"},_C=["title"],yC={key:0,class:"fe-inspector__badge fe-inspector__badge--pin"},xC={key:1,class:"fe-inspector__share-exp"},wC=["title","aria-label","onClick"],kC={key:3,class:"fe-inspector__section"},EC={class:"fe-inspector__heading"},SC={key:0,class:"fe-inspector__countbadge"},CC={key:0,class:"fe-inspector__empty"},AC={key:0,class:"fe-inspector__empty"},TC={key:1,class:"fe-inspector__comments"},DC={class:"fe-inspector__comment-top"},MC=["title"],OC=["title"],IC=["disabled","title","aria-label","onClick"],RC={class:"fe-inspector__comment-body"},NC=["placeholder","aria-label","disabled"],FC=["disabled"],LC=Nt({__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 r=e,n=t,{t:a,formatSize:i,nodeDisplayName:o}=yr(()=>r.locale),s=He(()=>r.nodes.length===1?r.nodes[0]:null),l=He(()=>r.nodes.length>1),u=He(()=>{var de;return((de=s.value)==null?void 0:de.type)==="file"}),c=He(()=>{var de;return typeof((de=s.value)==null?void 0:de.id)=="number"?s.value.id:null}),f=He(()=>r.nodes.reduce((de,De)=>de+(typeof De.size=="number"?De.size:0),0)),d=He(()=>{var De;const de=(De=s.value)==null?void 0:De.etag;return typeof de=="string"&&de!==""?de:null}),p=He(()=>s.value&&u.value&&r.thumbSrc?r.thumbSrc(s.value):null);function h(de){return de.length>12?`${de.slice(0,12)}…`:de}function m(de){if(!de)return"—";try{return new Date(de).toLocaleString(r.locale==="en"?"en-GB":"tr-TR",{dateStyle:"medium",timeStyle:"short"})}catch{return new Date(de).toISOString()}}function b(de){if(!de)return"—";const De=Date.parse(de);return Number.isNaN(De)?de:m(De)}async function g(de){try{await navigator.clipboard.writeText(de),n("toast",a("inspector.copied"))}catch{n("toast",de)}}const v=He(()=>{if(!s.value)return"";const de=s.value.perm;return typeof de=="string"&&de!==""?de:r.dirPerm||""}),y=He(()=>v.value==="editor"||v.value==="owner");function _(de){return a(`inspector.perm.${de}`)===`inspector.perm.${de}`?de:a(`inspector.perm.${de}`)}const k=ae("idle"),T=ae([]),E=ae(null),w=ae(!0),x=ae(!1),S=ae("idle"),M=ae([]);let P=0;async function F(){const de=++P;if(E.value=null,T.value=[],M.value=[],s.value&&u.value&&c.value!=null?(k.value="loading",j(de)):k.value="hidden",s.value){S.value="loading";const De=s.value.path;try{const{shares:Ne}=await r.api.listShares(De);if(de!==P)return;M.value=Array.isArray(Ne)?Ne:[],S.value="ok"}catch{if(de!==P)return;S.value="hidden"}}else S.value="hidden"}async function j(de){const De=c.value;if(De!=null)try{const Ne=await r.api.listVersions(De);if(de!==P)return;T.value=Ne,k.value="ok"}catch(Ne){if(de!==P)return;const Ue=Ne.status;Ue===401||Ue===403||Ue===404?k.value="hidden":k.value="error"}}function te(de){E.value=de.id,w.value=!0}async function $(de){const De=c.value;if(!(De==null||x.value)){x.value=!0;try{await r.api.restoreVersion(De,de.id,w.value),n("toast",a("inspector.versions.restored")),E.value=null,n("changed"),await j(++P)}catch(Ne){n("toast",Ne.message)}finally{x.value=!1}}}async function Y(){const de=c.value;if(!(de==null||x.value)){x.value=!0;try{await r.api.snapshotVersion(de),n("toast",a("inspector.versions.snapshotted")),await j(++P)}catch(De){const Ne=De.status;Ne===404||Ne===405||Ne===501?n("toast",a("inspector.versions.unsupported")):n("toast",De.message)}finally{x.value=!1}}}Tt(()=>r.nodes.map(de=>de.path).join("\0"),()=>void F(),{immediate:!0});const re=ae("hidden"),H=ae([]),U=ae(""),N=ae(!1),V=He(()=>{var de;return typeof((de=s.value)==null?void 0:de.id)=="number"?s.value.id:null});let W=0;async function ge(){const de=++W,De=V.value;if(De==null){re.value="hidden",H.value=[];return}re.value=H.value.length>0?"ok":"loading";try{const Ne=await r.api.listComments(De);if(de!==W)return;H.value=Ne,re.value="ok"}catch(Ne){if(de!==W)return;H.value=[];const Ue=Ne.status;re.value=Ue===401||Ue===403||Ue===404?"hidden":"error"}}async function ke(){const de=V.value,De=U.value.trim();if(!(de==null||De===""||N.value)){N.value=!0;try{await r.api.addComment(de,De),U.value="",await ge()}catch(Ne){n("toast",Ne.message)}finally{N.value=!1}}}async function Oe(de){if(!N.value){N.value=!0;try{await r.api.deleteComment(de.id),await ge()}catch(De){n("toast",De.message)}finally{N.value=!1}}}function ze(de){const De=Date.parse(de);if(Number.isNaN(De))return de;const Ne=Math.round((De-Date.now())/1e3),Ue=Math.abs(Ne),ee=[["year",31536e3],["month",2592e3],["day",86400],["hour",3600],["minute",60]];try{const oe=new Intl.RelativeTimeFormat(r.locale==="en"?"en":"tr",{numeric:"auto"});for(const[ye,we]of ee)if(Ue>=we)return oe.format(Math.trunc(Ne/we),ye);return oe.format(Ne,"second")}catch{return b(de)}}return Tt(()=>V.value,()=>{H.value=[],U.value="",ge()},{immediate:!0}),(de,De)=>(z(),B("aside",{class:ht(["fe-inspector",{"fe-inspector--overlay":e.narrow}]),role:"complementary","aria-label":Z(a)("inspector.title")},[D("header",yS,[D("h2",xS,K(Z(a)("inspector.title")),1),D("button",{type:"button",class:"fe-inspector__close",title:Z(a)("inspector.close"),"aria-label":Z(a)("inspector.close"),onClick:De[0]||(De[0]=Ne=>n("close"))},"×",8,wS)]),D("div",kS,[D("section",ES,[D("h3",SS,K(Z(a)("inspector.section.general")),1),l.value?(z(),B("div",CS,[D("span",{class:"fe-inspector__bigicon",innerHTML:Z(ss)({type:"dir"})},null,8,AS),D("p",TS,K(Z(a)("inspector.items_summary",{n:e.nodes.length,size:Z(i)(f.value)})),1)])):s.value?(z(),B(We,{key:1},[D("div",DS,[p.value?(z(),B("img",{key:0,class:"fe-inspector__thumb",src:p.value,alt:"","aria-hidden":"true"},null,8,MS)):(z(),B("span",{key:1,class:"fe-inspector__bigicon",innerHTML:Z(ss)(s.value)},null,8,OS)),D("p",{class:"fe-inspector__name",title:s.value.basename},K(Z(o)(s.value)),9,IS)]),D("dl",RS,[D("div",NS,[D("dt",null,K(Z(a)("inspector.path")),1),D("dd",FS,[D("span",{class:"fe-inspector__path",title:s.value.path},K(s.value.path),9,LS),D("button",{type:"button",class:"fe-inspector__copy",title:Z(a)("inspector.copy"),"aria-label":Z(a)("inspector.copy"),onClick:De[1]||(De[1]=Ne=>g(s.value.path))},"⧉",8,zS)])]),u.value?(z(),B("div",PS,[D("dt",null,K(Z(a)("inspector.size")),1),D("dd",null,K(Z(i)(typeof s.value.size=="number"?s.value.size:null)),1)])):Re("",!0),D("div",BS,[D("dt",null,K(Z(a)("inspector.modified")),1),D("dd",null,K(m(s.value.last_modified)),1)]),u.value&&s.value.mime_type?(z(),B("div",$S,[D("dt",null,K(Z(a)("inspector.mime")),1),D("dd",US,K(s.value.mime_type),1)])):Re("",!0),d.value?(z(),B("div",HS,[D("dt",null,K(Z(a)("inspector.etag")),1),D("dd",qS,[D("span",{class:"fe-inspector__path",title:d.value},K(h(d.value)),9,GS),D("button",{type:"button",class:"fe-inspector__copy",title:Z(a)("inspector.copy"),"aria-label":Z(a)("inspector.copy"),onClick:De[2]||(De[2]=Ne=>g(d.value))},"⧉",8,KS)])])):Re("",!0)])],64)):(z(),B("div",VS,[D("span",{class:"fe-inspector__bigicon",innerHTML:Z(ss)({type:"dir"})},null,8,jS),D("p",{class:"fe-inspector__name",title:e.dirLabel},K(e.dirLabel),9,WS),D("p",YS,K(Z(a)("inspector.folder_items",{n:e.dirCount})),1)]))]),k.value==="ok"||k.value==="error"?(z(),B("section",ZS,[D("h3",XS,K(Z(a)("inspector.section.versions")),1),k.value==="error"?(z(),B("p",JS,K(Z(a)("inspector.error")),1)):(z(),B(We,{key:1},[T.value.length===0?(z(),B("p",QS,K(Z(a)("inspector.versions.empty")),1)):(z(),B("ul",eC,[(z(!0),B(We,null,kt(T.value,Ne=>(z(),B("li",{key:Ne.id,class:"fe-inspector__version"},[D("div",tC,[D("span",rC,K(Z(a)("inspector.versions.v",{n:Ne.version_n})),1),D("span",nC,K(b(Ne.created_at))+" · "+K(Z(i)(Ne.size)),1)]),E.value===Ne.id?(z(),B("div",aC,[D("p",iC,K(Z(a)("inspector.versions.restore_confirm")),1),D("label",oC,[Zt(D("input",{"onUpdate:modelValue":De[3]||(De[3]=Ue=>w.value=Ue),type:"checkbox"},null,512),[[os,w.value]]),$t(" "+K(Z(a)("inspector.versions.snapshot_current")),1)]),D("div",sC,[D("button",{type:"button",class:"fe-btn fe-btn--primary fe-btn--sm",disabled:x.value,onClick:Ue=>$(Ne)},K(Z(a)("inspector.versions.confirm")),9,lC),D("button",{type:"button",class:"fe-btn fe-btn--sm",disabled:x.value,onClick:De[4]||(De[4]=Ue=>E.value=null)},K(Z(a)("inspector.versions.cancel")),9,uC)])])):(z(),B("button",{key:1,type:"button",class:"fe-btn fe-btn--sm",disabled:x.value,onClick:Ue=>te(Ne)},K(Z(a)("inspector.versions.restore")),9,cC))]))),128))])),D("button",{type:"button",class:"fe-btn fe-btn--sm fe-inspector__snapshot",disabled:x.value,onClick:Y},K(Z(a)("inspector.versions.take_snapshot")),9,fC)],64))])):Re("",!0),s.value&&v.value?(z(),B("section",dC,[D("h3",pC,K(Z(a)("inspector.section.permissions")),1),D("div",hC,[D("span",{class:ht(["fe-inspector__badge",`fe-inspector__badge--${v.value}`])},K(_(v.value)),3),y.value?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--sm",onClick:De[5]||(De[5]=Ne=>n("manage-permissions",s.value))},K(Z(a)("inspector.perm.manage")),1)):Re("",!0)])])):Re("",!0),S.value==="ok"?(z(),B("section",mC,[D("h3",vC,K(Z(a)("inspector.section.shares")),1),M.value.length===0?(z(),B("p",gC,K(Z(a)("inspector.shares.empty")),1)):(z(),B("ul",bC,[(z(!0),B(We,null,kt(M.value,Ne=>(z(),B("li",{key:Ne.uuid,class:"fe-inspector__share"},[D("span",{class:"fe-inspector__share-url",title:Ne.url},K(Ne.url),9,_C),Ne.password_pin?(z(),B("span",yC,"PIN")):Re("",!0),Ne.expires_at?(z(),B("span",xC,K(b(Ne.expires_at)),1)):Re("",!0),D("button",{type:"button",class:"fe-inspector__copy",title:Z(a)("inspector.shares.copy"),"aria-label":Z(a)("inspector.shares.copy"),onClick:Ue=>g(Ne.url)},"⧉",8,wC)]))),128))]))])):Re("",!0),re.value==="ok"||re.value==="error"?(z(),B("section",kC,[D("h3",EC,[$t(K(Z(a)("inspector.section.comments"))+" ",1),H.value.length>0?(z(),B("span",SC,K(H.value.length),1)):Re("",!0)]),re.value==="error"?(z(),B("p",CC,K(Z(a)("inspector.error")),1)):(z(),B(We,{key:1},[H.value.length===0?(z(),B("p",AC,K(Z(a)("inspector.comments.empty")),1)):(z(),B("ul",TC,[(z(!0),B(We,null,kt(H.value,Ne=>(z(),B("li",{key:Ne.id,class:"fe-inspector__comment"},[D("div",DC,[D("span",{class:"fe-inspector__comment-author",title:Ne.author_name},K(Ne.author_name||"—"),9,MC),D("span",{class:"fe-inspector__comment-time",title:b(Ne.created_at)},K(ze(Ne.created_at)),9,OC),Ne.can_delete?(z(),B("button",{key:0,type:"button",class:"fe-inspector__comment-del",disabled:N.value,title:Z(a)("inspector.comments.delete"),"aria-label":Z(a)("inspector.comments.delete"),onClick:Ue=>Oe(Ne)},"×",8,IC)):Re("",!0)]),D("p",RC,K(Ne.body),1)]))),128))])),D("form",{class:"fe-inspector__comment-form",onSubmit:Gt(ke,["prevent"])},[Zt(D("input",{"onUpdate:modelValue":De[6]||(De[6]=Ne=>U.value=Ne),type:"text",class:"fe-inspector__comment-input",maxlength:"5000",placeholder:Z(a)("inspector.comments.placeholder"),"aria-label":Z(a)("inspector.comments.placeholder"),disabled:N.value},null,8,NC),[[Fr,U.value]]),D("button",{type:"submit",class:"fe-btn fe-btn--primary fe-btn--sm",disabled:N.value||U.value.trim()===""},K(Z(a)("inspector.comments.send")),9,FC)],32)],64))])):Re("",!0)])],10,_S))}}),zC=["aria-label"],PC={class:"fe-cmdp__inputwrap"},BC=["placeholder"],$C=["aria-selected","onMouseenter","onClick"],UC={class:"fe-cmdp__icon","aria-hidden":"true"},HC={class:"fe-cmdp__label"},qC={class:"fe-cmdp__group"},GC=["aria-selected","onMouseenter","onClick"],KC={class:"fe-cmdp__icon","aria-hidden":"true"},VC={class:"fe-cmdp__label"},jC={class:"fe-cmdp__group"},WC={key:0,class:"fe-cmdp__loading"},YC=["aria-selected","onMouseenter","onClick"],ZC={class:"fe-cmdp__icon","aria-hidden":"true"},XC={class:"fe-cmdp__hitbody"},JC={class:"fe-cmdp__hitline"},QC={class:"fe-cmdp__label"},eA={key:0,class:"fe-cmdp__badge"},tA=["title"],rA={key:1,class:"fe-cmdp__snippet"},nA={key:0,class:"fe-cmdp__mark"},aA={class:"fe-cmdp__group"},iA=["aria-selected","onMouseenter","onClick","onKeydown"],oA={class:"fe-cmdp__icon","aria-hidden":"true"},sA={class:"fe-cmdp__label"},lA=["title","aria-label","onClick"],uA={class:"fe-cmdp__group"},cA=["aria-selected","onMouseenter","onClick"],fA={class:"fe-cmdp__icon","aria-hidden":"true"},dA={class:"fe-cmdp__label"},pA={key:4,class:"fe-cmdp__empty"},hA={class:"fe-cmdp__hint"},mA=3,vA=8,gA=250,rb="filex.saved-searches",nb=10,bA=Nt({__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 r=e,n=t,{t:a,nodeDisplayName:i}=yr(()=>r.locale),o=ae(""),s=ae(0),l=ae(null),u=ae(null);function c(H,U){if(!U)return 0;const N=H.toLocaleLowerCase(),V=U.toLocaleLowerCase(),W=N.indexOf(V);if(W===-1)return-1;let ge=100-Math.min(W,50);return W===0&&(ge+=40),ge-=Math.min(N.length,40)/4,ge}const f=He(()=>{const H=o.value.trim();if(!H.includes("/"))return[];const U=H.replace(/^\/+|\/+$/g,"");return U?[{kind:"goto",id:`goto:${U}`,label:`${a("palette.goto")}: ${U}`,icon:"➜",path:U}]:[]}),d=He(()=>{const H=o.value.trim(),U=r.files.map(N=>({f:N,name:i(N),s:c(i(N),H)})).filter(N=>N.s>=0);return H&&U.sort((N,V)=>V.s-N.s),U.slice(0,8).map(N=>({kind:"file",id:`file:${N.f.path}`,label:N.name,icon:N.f.type==="dir"?"📁":"📄",node:N.f}))}),p=He(()=>{const H=o.value.trim();return[{command:"new-folder",label:a("toolbar.new_folder"),icon:"📁",enabled:r.canWrite!==!1},{command:"upload",label:a("toolbar.upload"),icon:"⬆",enabled:r.canWrite!==!1},{command:"toggle-view",label:a("cmd.view_toggle"),icon:r.viewMode==="list"?"▦":r.viewMode==="grid"?"▣":"☰",enabled:!0},{command:"open-trash",label:a("cmd.trash"),icon:"🗑",enabled:!0},{command:"refresh",label:a("toolbar.refresh"),icon:"⟳",enabled:!0},{command:"go-up",label:a("toolbar.go_up"),icon:"↑",enabled:r.canGoUp!==!1},{command:"open-theme",label:a("theme.menu"),icon:"🎨",enabled:!0},{command:"open-shortcut-settings",label:a("shortcuts.settings.menu"),icon:"⌨",enabled:!0},{command:"start-tour",label:a("tour.restart"),icon:"🎓",enabled:!0},{command:"tab-new",label:a("cmd.tab_new"),icon:"⧉",enabled:!0},{command:"split-toggle",label:a("cmd.split_toggle"),icon:"◫",enabled:r.splitEnabled!==!1}].filter(N=>N.enabled&&c(N.label,H)>=0).map(N=>({kind:"command",id:`cmd:${N.command}`,label:N.label,icon:N.icon,command:N.command}))}),h=ae([]),m=ae(!1);let b,g=0;function v(H){b&&clearTimeout(b);const U=r.globalSearch;if(!U||H.length<mA){h.value=[],m.value=!1;return}m.value=!0,b=setTimeout(async()=>{const N=++g;try{const V=await U(H);if(N!==g)return;h.value=Array.isArray(V)?V.slice(0,vA):[]}catch{N===g&&(h.value=[])}finally{N===g&&(m.value=!1)}},gA)}function y(H){const U=String(H.path??"").replace(/^\/+|\/+$/g,""),N=U.lastIndexOf("/"),V=N===-1?"":U.slice(0,N),W=typeof H.storage=="string"&&H.storage||typeof H.storage_name=="string"&&H.storage_name||"";return W&&V?`${W}/${V}`:W||V||"/"}const _=He(()=>h.value.map(H=>({kind:"hit",id:`hit:${H.storage_id??""}:${H.path??""}:${H.id??""}`,label:String(H.name??H.path??""),icon:H.type==="dir"?"📁":"📄",hit:H,crumb:y(H),inContent:Xg(H.matched),snippet:typeof H.snippet=="string"?H.snippet:""}))),k=ae([]);function T(){try{const H=localStorage.getItem(rb);if(!H)return[];const U=JSON.parse(H);return Array.isArray(U)?U.filter(N=>typeof N=="string"&&N.trim()!=="").slice(0,nb):[]}catch{return[]}}function E(H){k.value=H.slice(0,nb);try{localStorage.setItem(rb,JSON.stringify(k.value))}catch{}}function w(H){const U=H.trim();if(!U)return;const N=k.value.filter(V=>V!==U);N.unshift(U),E(N)}function x(H){E(k.value.filter(U=>U!==H)),s.value>=M.value.length&&(s.value=Math.max(0,M.value.length-1))}const S=He(()=>{const H=o.value.trim(),U=[];H&&!k.value.includes(H)&&U.push({kind:"save",id:`save:${H}`,label:`${a("palette.save")}: ${H}`,icon:"💾",query:H});const N=k.value.map(V=>({s:V,sc:c(V,H)})).filter(V=>V.sc>=0||!H);for(const V of N)U.push({kind:"saved",id:`saved:${V.s}`,label:V.s,icon:"🔖",query:V.s});return U}),M=He(()=>[...f.value,...d.value,..._.value,...S.value,...p.value]),P=He(()=>f.value.length),F=He(()=>P.value+d.value.length),j=He(()=>F.value+_.value.length),te=He(()=>j.value+S.value.length);Tt(o,H=>{s.value=0,v(H.trim())});function $(H){const U=M.value.length;U&&(s.value=(s.value+H+U)%U,Hr(()=>{var N,V;(V=(N=u.value)==null?void 0:N.querySelector(".is-active"))==null||V.scrollIntoView({block:"nearest"})}))}function Y(H){const U=H??M.value[s.value];if(U){if(U.kind==="saved"){o.value=U.query,Hr(()=>{var N;return(N=l.value)==null?void 0:N.focus()});return}if(U.kind==="save"){w(U.query),Hr(()=>{var N;return(N=l.value)==null?void 0:N.focus()});return}if(n("close"),U.kind==="hit"){n("open-hit",U.hit);return}if(U.kind==="file")n("open-node",U.node);else if(U.kind==="goto")n("navigate",U.path);else switch(U.command){case"new-folder":n("new-folder");break;case"upload":n("upload");break;case"toggle-view":n("toggle-view");break;case"open-trash":n("open-trash");break;case"refresh":n("refresh");break;case"go-up":n("go-up");break;case"open-theme":n("open-theme");break;case"open-shortcut-settings":n("open-shortcut-settings");break;case"start-tour":n("start-tour");break;case"tab-new":n("tab-new");break;case"split-toggle":n("split-toggle");break}}}function re(H){if(r.open)switch(H.key){case"ArrowDown":H.preventDefault(),H.stopPropagation(),$(1);break;case"ArrowUp":H.preventDefault(),H.stopPropagation(),$(-1);break;case"Enter":H.preventDefault(),H.stopPropagation(),Y();break;case"Escape":H.preventDefault(),H.stopPropagation(),n("close");break}}return Tt(()=>r.open,H=>{H?(o.value="",s.value=0,h.value=[],m.value=!1,k.value=T(),document.addEventListener("keydown",re,!0),Hr(()=>{var U;return(U=l.value)==null?void 0:U.focus()})):(b&&clearTimeout(b),document.removeEventListener("keydown",re,!0))}),nr(()=>{b&&clearTimeout(b),document.removeEventListener("keydown",re,!0)}),(H,U)=>(z(),er(fi,{name:"fe-modal"},{default:cr(()=>[e.open?(z(),B("div",{key:0,class:"fe-modal__backdrop fe-cmdp__backdrop",role:"presentation",onClick:U[2]||(U[2]=N=>n("close"))},[D("div",{class:"fe-cmdp",role:"dialog","aria-modal":"true","aria-label":Z(a)("palette.placeholder"),onClick:U[1]||(U[1]=Gt(()=>{},["stop"]))},[D("div",PC,[U[3]||(U[3]=D("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"},[D("circle",{cx:"7",cy:"7",r:"4.5"}),D("path",{d:"m10.5 10.5 3.5 3.5"})],-1)),Zt(D("input",{ref_key:"inputEl",ref:l,"onUpdate:modelValue":U[0]||(U[0]=N=>o.value=N),type:"text",class:"fe-cmdp__input",placeholder:Z(a)("palette.placeholder"),autocomplete:"off",spellcheck:"false"},null,8,BC),[[Fr,o.value]])]),D("div",{ref_key:"listEl",ref:u,class:"fe-cmdp__list",role:"listbox"},[(z(!0),B(We,null,kt(f.value,(N,V)=>(z(),B("button",{key:N.id,type:"button",class:ht(["fe-cmdp__item",{"is-active":V===s.value}]),role:"option","aria-selected":V===s.value,onMouseenter:W=>s.value=V,onClick:W=>Y(N)},[D("span",UC,K(N.icon),1),D("span",HC,K(N.label),1)],42,$C))),128)),d.value.length?(z(),B(We,{key:0},[D("div",qC,K(Z(a)("palette.files")),1),(z(!0),B(We,null,kt(d.value,(N,V)=>(z(),B("button",{key:N.id,type:"button",class:ht(["fe-cmdp__item",{"is-active":P.value+V===s.value}]),role:"option","aria-selected":P.value+V===s.value,onMouseenter:W=>s.value=P.value+V,onClick:W=>Y(N)},[D("span",KC,K(N.icon),1),D("span",VC,K(N.label),1)],42,GC))),128))],64)):Re("",!0),_.value.length||m.value?(z(),B(We,{key:1},[D("div",jC,K(Z(a)("palette.everywhere")),1),m.value&&!_.value.length?(z(),B("div",WC,K(Z(a)("palette.searching")),1)):Re("",!0),(z(!0),B(We,null,kt(_.value,(N,V)=>(z(),B("button",{key:N.id,type:"button",class:ht(["fe-cmdp__item fe-cmdp__item--hit",{"is-active":F.value+V===s.value}]),role:"option","aria-selected":F.value+V===s.value,onMouseenter:W=>s.value=F.value+V,onClick:W=>Y(N)},[D("span",ZC,K(N.icon),1),D("span",XC,[D("span",JC,[D("span",QC,K(N.label),1),N.inContent?(z(),B("span",eA,K(Z(a)("search.in_content")),1)):Re("",!0)]),N.crumb?(z(),B("span",{key:0,class:"fe-cmdp__crumb",title:N.crumb},K(N.crumb),9,tA)):Re("",!0),N.snippet?(z(),B("span",rA,[(z(!0),B(We,null,kt(Z(b0)(N.snippet),(W,ge)=>(z(),B(We,{key:ge},[W.match?(z(),B("mark",nA,K(W.text),1)):(z(),B(We,{key:1},[$t(K(W.text),1)],64))],64))),128))])):Re("",!0)])],42,YC))),128))],64)):Re("",!0),S.value.length?(z(),B(We,{key:2},[D("div",aA,K(Z(a)("palette.saved")),1),(z(!0),B(We,null,kt(S.value,(N,V)=>(z(),B("div",{key:N.id,class:ht(["fe-cmdp__item fe-cmdp__item--saved",{"is-active":j.value+V===s.value}]),role:"option","aria-selected":j.value+V===s.value,tabindex:"-1",onMouseenter:W=>s.value=j.value+V,onClick:W=>Y(N),onKeydown:hn(Gt(W=>Y(N),["prevent"]),["enter"])},[D("span",oA,K(N.icon),1),D("span",sA,K(N.label),1),N.kind==="saved"?(z(),B("button",{key:0,type:"button",class:"fe-cmdp__del",title:Z(a)("palette.saved.delete"),"aria-label":Z(a)("palette.saved.delete"),onClick:Gt(W=>x(N.query),["stop"])},"🗑",8,lA)):Re("",!0)],42,iA))),128))],64)):Re("",!0),p.value.length?(z(),B(We,{key:3},[D("div",uA,K(Z(a)("palette.commands")),1),(z(!0),B(We,null,kt(p.value,(N,V)=>(z(),B("button",{key:N.id,type:"button",class:ht(["fe-cmdp__item",{"is-active":te.value+V===s.value}]),role:"option","aria-selected":te.value+V===s.value,onMouseenter:W=>s.value=te.value+V,onClick:W=>Y(N)},[D("span",fA,K(N.icon),1),D("span",dA,K(N.label),1)],42,cA))),128))],64)):Re("",!0),M.value.length===0&&!m.value?(z(),B("div",pA,K(Z(a)("palette.empty")),1)):Re("",!0)],512),D("div",hA,K(Z(a)("palette.hint")),1)],8,zC)])):Re("",!0)]),_:1}))}}),_A=["aria-labelledby","aria-label"],yA={key:0,class:"fe-modal__head"},xA={class:"fe-modal__body"},wA={key:1,class:"fe-modal__actions"},ab='input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),a[href],[tabindex]:not([tabindex="-1"])',hi=Nt({__name:"Modal",props:{open:{type:Boolean},title:{},size:{},closeOnBackdrop:{type:Boolean},chromeless:{type:Boolean},theme:{}},emits:["close"],setup(e,{emit:t}){const r=e,n=t,a=ae(null);let i=0;const o=`fe-modal-title-${++i}-${Math.random().toString(36).slice(2,7)}`;let s=null;Tt(()=>r.open,c=>{var f;c?(s=document.activeElement??null,document.addEventListener("keydown",l),setTimeout(()=>{var p;const d=(p=a.value)==null?void 0:p.querySelector(ab);d==null||d.focus()},30)):(document.removeEventListener("keydown",l),(f=s==null?void 0:s.focus)==null||f.call(s),s=null)}),nr(()=>document.removeEventListener("keydown",l));function l(c){if(c.key==="Escape"){n("close");return}if(c.key==="Tab"&&a.value){const f=Array.from(a.value.querySelectorAll(ab)).filter(m=>m.offsetParent!==null||m===document.activeElement);if(f.length===0)return;const d=f[0],p=f[f.length-1],h=document.activeElement;c.shiftKey&&(h===d||!a.value.contains(h))?(c.preventDefault(),p.focus()):!c.shiftKey&&(h===p||!a.value.contains(h))&&(c.preventDefault(),d.focus())}}function u(){r.closeOnBackdrop!==!1&&n("close")}return(c,f)=>(z(),er(fi,{name:"fe-modal"},{default:cr(()=>[e.open?(z(),B("div",{key:0,class:ht(["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:u},[D("div",{ref_key:"cardEl",ref:a,class:ht(["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?o:void 0,"aria-label":(!e.title||e.chromeless)&&e.title||void 0,onClick:f[1]||(f[1]=Gt(()=>{},["stop"]))},[e.title&&!e.chromeless?(z(),B("header",yA,[D("h2",{id:o,class:"fe-modal__title"},K(e.title),1),D("button",{type:"button",class:"fe-modal__close","aria-label":"Close",onClick:f[0]||(f[0]=d=>n("close"))},"×")])):Re("",!0),D("div",xA,[Tv(c.$slots,"default")]),c.$slots.actions&&!e.chromeless?(z(),B("footer",wA,[Tv(c.$slots,"actions")])):Re("",!0)],10,_A)],2)):Re("",!0)]),_:3}))}}),kA={class:"fe-shortcuts"},EA={class:"fe-shortcuts__heading"},SA={class:"fe-shortcuts__table"},CA={class:"fe-shortcuts__keys"},AA={key:0,class:"fe-shortcuts__unbound"},TA={class:"fe-kbd"},DA={key:0,class:"fe-shortcuts__or","aria-hidden":"true"},MA={class:"fe-shortcuts__desc"},OA=["title"],IA=Nt({__name:"ShortcutsHelp",props:{open:{type:Boolean},locale:{}},emits:["close","customize"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=Hg(),o=He(()=>{const s=[],l=new Map;for(const u of i.value)l.has(u.groupKey)||(l.set(u.groupKey,[]),s.push(u.groupKey)),l.get(u.groupKey).push(u);return s.map(u=>({key:u,items:l.get(u)}))});return(s,l)=>(z(),er(hi,{open:e.open,title:Z(a)("shortcuts.title"),size:"md",onClose:l[2]||(l[2]=u=>n("close"))},{actions:cr(()=>[D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:l[0]||(l[0]=u=>n("customize"))}," ⌨ "+K(Z(a)("shortcuts.customize")),1),D("button",{type:"button",class:"fe-btn",onClick:l[1]||(l[1]=u=>n("close"))},K(Z(a)("viewer.close")),1)]),default:cr(()=>[D("div",kA,[(z(!0),B(We,null,kt(o.value,u=>(z(),B("section",{key:u.key,class:"fe-shortcuts__group"},[D("h3",EA,K(Z(a)(u.key)),1),D("div",SA,[(z(!0),B(We,null,kt(u.items,c=>(z(),B("div",{key:c.id,class:"fe-shortcuts__row"},[D("span",CA,[c.keys.length===0?(z(),B("span",AA,K(Z(a)("shortcuts.settings.unbound")),1)):(z(!0),B(We,{key:1},kt(c.keys,(f,d)=>(z(),B(We,{key:f},[D("kbd",TA,K(f),1),d<c.keys.length-1?(z(),B("span",DA,"/")):Re("",!0)],64))),128))]),D("span",MA,[$t(K(Z(a)(c.labelKey))+" ",1),c.overridden?(z(),B("span",{key:0,class:"fe-shortcuts__custom",title:Z(a)("shortcuts.settings.customized")},"●",8,OA)):Re("",!0)])]))),128))])]))),128))])]),_:1},8,["open","title"]))}}),_0="filex.theme",Pa="default",bd=[{id:Pa,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 Il(e){return bd.find(t=>t.id===e)}const RA=Array.from(new Set(bd.flatMap(e=>[...Object.keys(e.light),...Object.keys(e.dark)])));function NA(){try{const e=localStorage.getItem(_0);return e&&Il(e)?e:Pa}catch{return Pa}}const _d=ae(typeof window>"u"?Pa:NA());function FA(e){const t=Il(e)?e:Pa;_d.value=t;try{t===Pa?localStorage.removeItem(_0):localStorage.setItem(_0,t)}catch{}}function LA(){return{themeId:_d,setTheme:FA}}const y0="filex.thememode",yd=["host","auto","light","dark"];function zA(){try{const e=localStorage.getItem(y0);return e&&yd.includes(e)?e:"host"}catch{return"host"}}const xd=ae(typeof window>"u"?"host":zA());function PA(e){const t=yd.includes(e)?e:"host";xd.value=t;try{t==="host"?localStorage.removeItem(y0):localStorage.setItem(y0,t)}catch{}}function BA(){return{themeMode:xd,setThemeMode:PA}}if(typeof window<"u")try{window.addEventListener("storage",e=>{if(e.key!==y0)return;const t=e.newValue;xd.value=t&&yd.includes(t)?t:"host"})}catch{}if(typeof window<"u")try{window.addEventListener("storage",e=>{e.key===_0&&(_d.value=e.newValue&&Il(e.newValue)?e.newValue:Pa)})}catch{}function $A(e,t,r){for(const i of RA)e.style.removeProperty(i);if(t===Pa)return;const n=Il(t);if(!n)return;const a=r?n.dark:n.light;for(const[i,o]of Object.entries(a))e.style.setProperty(i,o)}const ib="data-filex-theme";function ob(e){return Object.entries(e).map(([t,r])=>`${t}:${r};`).join("")}function UA(e){const t=ob(e.light),r=ob(e.dark),n=[".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(","),a=[".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}}${n}{${r}}@media (prefers-color-scheme: dark){${a}{${r}}}`}function HA(e){if(typeof document>"u")return;let t=document.head.querySelector(`style[${ib}]`);const r=e===Pa?void 0:Il(e);if(!r){t&&(t.textContent="");return}t?t!==document.head.lastElementChild&&document.head.appendChild(t):(t=document.createElement("style"),t.setAttribute(ib,""),document.head.appendChild(t));const n=UA(r);t.textContent!==n&&(t.textContent=n)}const qA=["aria-label"],GA={class:"fe-thememode__label"},KA={class:"fe-thememode__seg"},VA=["aria-pressed","onClick"],jA={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"},WA={key:1,d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"},YA={class:"fe-themes__hint"},ZA=["aria-label"],XA=["aria-selected","onClick"],JA={class:"fe-themecard__name"},QA=["title"],eT=["disabled"],tT=Nt({__name:"ThemeGallery",props:{open:{type:Boolean},locale:{},theme:{},dark:{type:Boolean},current:{},mode:{},hostMode:{}},emits:["close","select","mode"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=[{id:"light",labelKey:"theme.mode.light"},{id:"dark",labelKey:"theme.mode.dark"},{id:"auto",labelKey:"theme.mode.auto"}],o=He(()=>r.mode==="host"?r.hostMode:r.mode);function s(u){return r.dark?u.dark:u.light}const l=Pa;return(u,c)=>(z(),er(hi,{open:e.open,title:Z(a)("theme.title"),size:"lg",theme:e.theme,onClose:c[2]||(c[2]=f=>n("close"))},{actions:cr(()=>[D("button",{type:"button",class:"fe-btn",disabled:e.current===Z(l),onClick:c[0]||(c[0]=f=>n("select",Z(l)))},K(Z(a)("theme.reset")),9,eT),D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:c[1]||(c[1]=f=>n("close"))},K(Z(a)("theme.close")),1)]),default:cr(()=>[D("div",{class:"fe-thememode",role:"group","aria-label":Z(a)("theme.mode.label")},[D("span",GA,K(Z(a)("theme.mode.label")),1),D("div",KA,[(z(),B(We,null,kt(i,f=>D("button",{key:f.id,type:"button",class:ht(["fe-thememode__opt",{"is-active":o.value===f.id}]),"aria-pressed":o.value===f.id,onClick:d=>n("mode",f.id)},[(z(),B("svg",jA,[f.id==="light"?(z(),B(We,{key:0},[c[3]||(c[3]=D("circle",{cx:"12",cy:"12",r:"4"},null,-1)),c[4]||(c[4]=D("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"},null,-1))],64)):f.id==="dark"?(z(),B("path",WA)):(z(),B(We,{key:2},[c[5]||(c[5]=D("circle",{cx:"12",cy:"12",r:"9"},null,-1)),c[6]||(c[6]=D("path",{d:"M12 3a9 9 0 0 1 0 18z",fill:"currentColor",stroke:"none"},null,-1))],64))])),D("span",null,K(Z(a)(f.labelKey)),1)],10,VA)),64))])],8,qA),D("p",YA,K(Z(a)("theme.hint")),1),D("div",{class:"fe-themes",role:"listbox","aria-label":Z(a)("theme.title")},[(z(!0),B(We,null,kt(Z(bd),f=>(z(),B("button",{key:f.id,type:"button",class:ht(["fe-themecard",{"is-selected":f.id===e.current}]),role:"option","aria-selected":f.id===e.current,style:Dn(s(f)),onClick:d=>n("select",f.id)},[c[7]||(c[7]=D("span",{class:"fe-themecard__preview","aria-hidden":"true"},[D("span",{class:"fe-themecard__topbar"},[D("span",{class:"fe-themecard__chip fe-themecard__chip--primary"}),D("span",{class:"fe-themecard__chip"}),D("span",{class:"fe-themecard__chip fe-themecard__chip--ghost"})]),D("span",{class:"fe-themecard__row"},[D("span",{class:"fe-themecard__dot"}),D("span",{class:"fe-themecard__line",style:{width:"62%"}})]),D("span",{class:"fe-themecard__row fe-themecard__row--selected"},[D("span",{class:"fe-themecard__dot fe-themecard__dot--primary"}),D("span",{class:"fe-themecard__line",style:{width:"44%"}})]),D("span",{class:"fe-themecard__row"},[D("span",{class:"fe-themecard__dot fe-themecard__dot--muted"}),D("span",{class:"fe-themecard__line fe-themecard__line--muted",style:{width:"74%"}})])],-1)),D("span",JA,[$t(K(Z(a)(f.nameKey))+" ",1),f.id===e.current?(z(),B("span",{key:0,class:"fe-themecard__check",title:Z(a)("theme.selected")},"✓",8,QA)):Re("",!0)])],14,XA))),128))],8,ZA)]),_:1},8,["open","title","theme"]))}}),rT={class:"fe-shortset"},nT={class:"fe-shortset__topbar"},aT={class:"fe-shortset__hint"},iT=["disabled"],oT={class:"fe-shortcuts__heading"},sT={class:"fe-shortset__row"},lT={class:"fe-shortset__label"},uT=["title"],cT={class:"fe-shortset__keys"},fT={key:0,class:"fe-shortset__capture",role:"status"},dT={key:0,class:"fe-shortcuts__unbound"},pT={class:"fe-kbd"},hT={key:0,class:"fe-shortcuts__or","aria-hidden":"true"},mT={class:"fe-shortset__actions"},vT=["onClick"],gT=["title","aria-label","onClick"],bT={key:1,class:"fe-shortset__fixed"},_T={key:0,class:"fe-shortset__conflict",role:"alert"},yT={class:"fe-shortset__conflict-msg"},xT={class:"fe-kbd"},wT={class:"fe-shortset__conflict-actions"},kT=Nt({__name:"ShortcutSettings",props:{open:{type:Boolean},locale:{},theme:{}},emits:["close"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=Hg(),o=He(()=>{const _=[],k=new Map;for(const T of i.value)k.has(T.groupKey)||(k.set(T.groupKey,[]),_.push(T.groupKey)),k.get(T.groupKey).push(T);return _.map(T=>({key:T,items:k.get(T)}))}),s=He(()=>i.value.some(_=>_.overridden)),l=ae(null),u=ae(null);function c(_){const k=Ao.find(T=>T.id===_);return k?a(k.labelKey):_}function f(_){u.value=null,l.value=_}function d(){l.value=null}function p(_,k){if(l.value=null,k===h0(_))return;const T=yk(k,_);if(T){u.value={id:_,combo:k,conflictId:T.id,fixed:T.fixed};return}pd(_,k)}function h(){const _=u.value;!_||_.fixed||(pd(_.conflictId,""),pd(_.id,_.combo),u.value=null)}function m(){u.value=null}function b(_){u.value=null,bk(_)}function g(){u.value=null,l.value=null,_k()}function v(_){if(l.value){if(_.preventDefault(),_.stopPropagation(),_.key==="Escape"){d();return}const k=Ug(_);if(!k)return;p(l.value,k);return}_.key==="Escape"||_.key==="Tab"||_.stopPropagation()}Tt(()=>r.open,_=>{_?window.addEventListener("keydown",v,!0):(window.removeEventListener("keydown",v,!0),l.value=null,u.value=null)}),nr(()=>window.removeEventListener("keydown",v,!0));function y(){if(l.value){d();return}n("close")}return(_,k)=>(z(),er(hi,{open:e.open,title:Z(a)("shortcuts.settings.title"),size:"lg",theme:e.theme,onClose:y},{actions:cr(()=>[D("button",{type:"button",class:"fe-btn",onClick:y},K(Z(a)("viewer.close")),1)]),default:cr(()=>[D("div",rT,[D("div",nT,[D("p",aT,K(Z(a)("shortcuts.settings.hint")),1),D("button",{type:"button",class:"fe-btn fe-shortset__reset-all",disabled:!s.value,onClick:g}," ↺ "+K(Z(a)("shortcuts.settings.reset_all")),9,iT)]),(z(!0),B(We,null,kt(o.value,T=>(z(),B("section",{key:T.key,class:"fe-shortset__group"},[D("h3",oT,K(Z(a)(T.key)),1),(z(!0),B(We,null,kt(T.items,E=>{var w;return z(),B("div",{key:E.id,class:ht(["fe-shortset__item",{"is-capturing":l.value===E.id,"is-conflict":((w=u.value)==null?void 0:w.id)===E.id}])},[D("div",sT,[D("span",lT,[$t(K(Z(a)(E.labelKey))+" ",1),E.overridden?(z(),B("span",{key:0,class:"fe-shortcuts__custom",title:Z(a)("shortcuts.settings.customized")},"●",8,uT)):Re("",!0)]),D("span",cT,[l.value===E.id?(z(),B("span",fT,K(Z(a)("shortcuts.settings.capture")),1)):(z(),B(We,{key:1},[E.keys.length===0?(z(),B("span",dT,K(Z(a)("shortcuts.settings.unbound")),1)):(z(!0),B(We,{key:1},kt(E.keys,(x,S)=>(z(),B(We,{key:x},[D("kbd",pT,K(x),1),S<E.keys.length-1?(z(),B("span",hT,"/")):Re("",!0)],64))),128))],64))]),D("span",mT,[E.customizable?(z(),B(We,{key:0},[l.value!==E.id?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-shortset__btn",onClick:x=>f(E.id)},K(Z(a)("shortcuts.settings.change")),9,vT)):(z(),B("button",{key:1,type:"button",class:"fe-btn fe-shortset__btn",onClick:d},K(Z(a)("shortcuts.settings.conflict_cancel")),1)),E.overridden?(z(),B("button",{key:2,type:"button",class:"fe-btn fe-btn--icon-only fe-shortset__btn",title:Z(a)("shortcuts.settings.reset"),"aria-label":Z(a)("shortcuts.settings.reset"),onClick:x=>b(E.id)}," ↺ ",8,gT)):Re("",!0)],64)):(z(),B("span",bT,K(Z(a)("shortcuts.settings.fixed")),1))])]),u.value&&u.value.id===E.id?(z(),B("div",_T,[D("span",yT,[D("kbd",xT,K(u.value.combo),1),$t(" "+K(u.value.fixed?Z(a)("shortcuts.settings.conflict_fixed",{name:c(u.value.conflictId)}):Z(a)("shortcuts.settings.conflict",{name:c(u.value.conflictId)})),1)]),D("span",wT,[u.value.fixed?Re("",!0):(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--danger fe-shortset__btn",onClick:h},K(Z(a)("shortcuts.settings.conflict_take")),1)),D("button",{type:"button",class:"fe-btn fe-shortset__btn",onClick:m},K(Z(a)("shortcuts.settings.conflict_cancel")),1)])])):Re("",!0)],2)}),128))]))),128))])]),_:1},8,["open","title","theme"]))}}),ET={key:0,class:"fe-preview"},ST=["src","alt"],CT=["src"],AT=["src"],TT=["data"],DT={class:"fe-preview__fallback"},MT=["href"],OT={key:0,class:"fe-preview__fallback"},IT={key:1,class:"fe-preview__fallback"},RT=["href"],NT={key:2,class:"fe-preview__md-split"},FT={class:"fe-preview__md-split-bar"},LT={key:0,class:"fe-preview__md-split-error"},zT=["disabled"],PT={class:"fe-preview__md-split-body"},BT=["onKeydown"],$T={key:0,class:"fe-preview__md-split-output fe-preview__md"},UT=["innerHTML"],HT={key:3,class:"fe-preview__fallback"},qT=["href"],GT=["innerHTML"],KT={key:5,class:"fe-preview__pre"},VT={key:0,class:"fe-preview__fallback"},jT=["href"],WT={key:1,class:"fe-preview__fallback"},YT={key:0,class:"fe-preview__fallback"},ZT={key:1,class:"fe-preview__fallback"},XT=["href"],JT={key:2,class:"fe-preview__fallback"},QT=["href"],eD={key:3,class:"fe-preview__code-wrap"},tD={class:"fe-preview__code-toolbar"},rD={class:"fe-preview__code-lang"},nD={key:0,class:"fe-preview__code-status"},aD={key:1,class:"fe-preview__code-status fe-preview__code-status--ok"},iD=["title"],oD={key:3,class:"fe-preview__code-status"},sD=["disabled"],lD={key:0,class:"fe-preview__pre fe-preview__code hljs"},uD=["innerHTML"],cD=["data-lang"],fD={key:0,class:"fe-preview__fallback"},dD=["href"],pD={key:8,class:"fe-preview__fallback"},hD=["href"],mD=["href"],wd=1e6,sb="fe-onlyoffice-api-js",lb=Nt({__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 r=e,n=t,{t:a}=yr(()=>r.locale);function i(he){return((he==null?void 0:he.extension)||"").toLowerCase()}const o=["jpg","jpeg","png","webp","gif","bmp","avif","svg","heic"],s=["mp4","webm","mov","mkv","m4v","ogv"],l=["mp3","wav","ogg","flac","m4a","aac","opus"],u={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"},c=["txt","log"],f=["docx","doc","xlsx","xls","pptx","ppt","odt","ods","odp","rtf"],d={glb:()=>Promise.resolve().then(()=>fs),gltf:()=>Promise.resolve().then(()=>fs),obj:()=>Promise.resolve().then(()=>fs),stl:()=>Promise.resolve().then(()=>fs),fbx:()=>Promise.resolve().then(()=>fs),"3ds":()=>Promise.resolve().then(()=>fs),epub:()=>Promise.resolve().then(()=>aL),mmd:()=>Promise.resolve().then(()=>F2),mermaid:()=>Promise.resolve().then(()=>F2),drawio:()=>Promise.resolve().then(()=>L2),dio:()=>Promise.resolve().then(()=>L2),tif:()=>Promise.resolve().then(()=>z2),tiff:()=>Promise.resolve().then(()=>z2),psd:()=>Promise.resolve().then(()=>kL),ipynb:()=>Promise.resolve().then(()=>UL),csv:()=>Promise.resolve().then(()=>B2),tsv:()=>Promise.resolve().then(()=>B2),zip:()=>Promise.resolve().then(()=>uz)},p=He(()=>{const he=i(r.file);if(!he)return"other";if(o.includes(he))return"image";if(s.includes(he))return"video";if(l.includes(he))return"audio";if(he==="pdf")return"pdf";const pe=r.openMode!=="view";return he==="md"||he==="markdown"?"markdown":he in u?"code":he in d?"viewer":f.includes(he)?"office":c.includes(he)?pe?"code":"text":"other"}),h=ow(null),m=ae(null),b=ae(!1);async function g(he){h.value=null,m.value=null;const pe=d[he];if(pe)try{const Fe=await pe();h.value=Fe.default??Fe}catch(Fe){m.value=Fe instanceof Error?Fe.message:"viewer load failed",he==="pdf"&&(b.value=!0)}}function v(){b.value=!0}const y=He(()=>{var Fe;const he=i(r.file),pe={url:x.value,ext:he,mime:(Fe=r.file)==null?void 0:Fe.mime_type,t:a,authHeaders:r.authHeaders,authCredentials:r.authCredentials};return r.file&&(pe.filePath=M(r.file.path),(he==="zip"||he==="rar"||he==="7z"||he==="tar"||he==="gz"||he==="tgz")&&(pe.filePath=r.file.path)),(he==="drawio"||he==="dio")&&(pe.drawioUrl=r.drawioUrl??void 0,pe.saveUrl=r.saveTextEndpoint??void 0,pe.readOnly=r.openMode==="view"),he==="pdf"&&(pe.pdfWorkerUrl=r.pdfWorkerUrl??void 0,pe.pdfSaveUrl=r.pdfSaveUrl??void 0),pe});function _(){T(r.openMode||"edit")}function k(){T("edit")}function T(he){if(!r.file)return;const pe=i(r.file),Fe=r.viewerBaseUrl||"/files/edit",ce=Fe.includes("?")?"&":"?",Se=`${Fe}${ce}path=${encodeURIComponent(r.file.path)}&type=${encodeURIComponent(pe)}&mode=${encodeURIComponent(he)}`;window.open(Se,"_blank","noopener")}const E=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"]),w=He(()=>!!r.file&&E.has(i(r.file))),x=He(()=>r.file?r.previewUrl(r.file.path):""),S=He(()=>r.file?r.downloadUrl(r.file.path):"");function M(he){const pe=he.indexOf("://");return pe===-1?he:he.slice(pe+3)}const P=ae(!1),F=ae(null),j=ae(""),te=ae(!1),$=ae(!1),Y=ae(!1);let re,H;function U(){$.value=!0,re&&clearTimeout(re),re=setTimeout(()=>{Oe(j.value)},250),H&&clearTimeout(H),H=setTimeout(()=>{N()},1500)}async function N(){if(!(!r.saveTextEndpoint||!r.file||Y.value)){Y.value=!0,F.value=null;try{const he={"Content-Type":"application/json",...await(r.authHeaders??(()=>({})))()},pe=await fetch(r.saveTextEndpoint,{method:"POST",headers:he,credentials:r.authCredentials||"same-origin",body:JSON.stringify({path:M(r.file.path),content:j.value})});if(!pe.ok)throw new Error(`save failed: ${pe.status} ${await pe.text()}`);$.value=!1}catch(he){F.value=he instanceof Error?he.message:String(he)}finally{Y.value=!1}}}async function V(he){P.value=!0,F.value=null,j.value="",te.value=!1;try{const pe={};r.authHeaders&&Object.assign(pe,await r.authHeaders());const Fe=await fetch(he,{credentials:r.authCredentials||"same-origin",headers:pe});if(!Fe.ok)throw new Error(`${Fe.status} ${Fe.statusText}`);if(Number(Fe.headers.get("content-length")||"0")>wd){te.value=!0;return}const Se=await Fe.text();Se.length>wd?(te.value=!0,j.value=Se.slice(0,wd)):j.value=Se}catch(pe){F.value=pe instanceof Error?pe.message:String(pe)}finally{P.value=!1}}const W=ae(""),ge=ae(null),ke=ae(!1);async function Oe(he){try{const pe=await Promise.resolve().then(()=>D_).catch(()=>null);if(!pe){W.value="",ke.value=!0;return}ke.value=!1;const Fe=pe.default??pe,Se=new Fe({html:!0,linkify:!0,breaks:!0,typographer:!0}).render(he);W.value=ze(Se),await new Promise(q=>setTimeout(q,0)),await de()}catch(pe){W.value="",F.value=pe instanceof Error?pe.message:String(pe)}}function ze(he){return he.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 de(){var Se,q,Ke;if(!ge.value)return;const he=ge.value,pe=Array.from(he.querySelectorAll("pre > code"));if(pe.length===0)return;let Fe,ce;for(const vt of pe){const A=vt.className||"",Le=/\blanguage-mermaid\b/.test(A)||/\blanguage-mmd\b/.test(A),Be=/\blanguage-math\b/.test(A)||/\blanguage-latex\b/.test(A)||/\blanguage-tex\b/.test(A);if(Le){if(Fe===void 0)try{const L=await import("mermaid");Fe=L.default??L,(Se=Fe.initialize)==null||Se.call(Fe,{startOnLoad:!1,securityLevel:"strict"})}catch{Fe=null}if(!Fe)continue;try{const L=`filex-md-mermaid-${Math.random().toString(36).slice(2)}`,{svg:X}=await Fe.render(L,vt.textContent||""),me=document.createElement("div");me.className="fe-preview__md-mermaid",me.innerHTML=X,(q=vt.parentElement)==null||q.replaceWith(me)}catch{}}else if(Be){if(ce===void 0)try{const L=await Promise.resolve().then(()=>wU);ce=L.default??L}catch{ce=null}if(!ce)continue;try{const L=ce.renderToString(vt.textContent||"",{displayMode:!0,throwOnError:!1}),X=document.createElement("div");X.className="fe-preview__md-math",X.innerHTML=L,(Ke=vt.parentElement)==null||Ke.replaceWith(X)}catch{}}}}const De=ae("");async function Ne(he,pe){try{const Fe=await Vg();if(!Fe){De.value="";return}const ce=Fe.default??Fe;if(ce.getLanguage(pe)){const Se=ce.highlight(he,{language:pe,ignoreIllegals:!0});De.value=Se.value}else{const Se=ce.highlightAuto(he);De.value=Se.value}}catch(Fe){De.value="",F.value=Fe instanceof Error?Fe.message:String(Fe)}}const Ue=ae(null);let ee=null,oe;const ye=ae(!1),we=ae(!1),ve=ae(!1),be=ae(!1),le=ae(null);function Te(){if(ee){try{ee.dispose()}catch{}ee=null}ye.value=!1,be.value=!1,le.value=null}function ie(he){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"}[he]??"plaintext"}async function se(he,pe){var ce;const Fe=await Kg();if(Fe||(we.value=!0),!Fe||!Ue.value)return!1;try{Te();const Se=!!r.saveTextEndpoint&&r.openMode!=="view",q=r.theme==="dark"?!0:r.theme==="light"?!1:(ce=window.matchMedia)==null?void 0:ce.call(window,"(prefers-color-scheme: dark)").matches;return ee=Fe.editor.create(Ue.value,{value:he,language:ie(pe),readOnly:!Se,theme:q?"vs-dark":"vs",automaticLayout:!0,minimap:{enabled:!1},fontSize:13}),Se&&(ee.addCommand(Fe.KeyMod.CtrlCmd|Fe.KeyCode.KeyS,()=>void Ie()),ee.onDidChangeModelContent(()=>{oe&&clearTimeout(oe),oe=setTimeout(()=>{Ie()},1500)})),ye.value=!0,!0}catch(Se){return F.value=`Monaco mount fail: ${Se.message}`,!1}}async function Ie(){if(!(!r.saveTextEndpoint||!r.file)&&r.openMode!=="view"&&!ve.value){ve.value=!0,be.value=!1,le.value=null;try{const he=ee?ee.getValue():"",pe={"Content-Type":"application/json"};r.authHeaders&&Object.assign(pe,await r.authHeaders());const Fe=await fetch(r.saveTextEndpoint,{method:"POST",headers:pe,credentials:r.authCredentials||"same-origin",body:JSON.stringify({path:M(r.file.path),content:he})});if(!Fe.ok){const ce=await Fe.text().catch(()=>"");throw new Error(`${Fe.status} ${Fe.statusText}${ce?" — "+ce.slice(0,150):""}`)}be.value=!0,setTimeout(()=>{be.value=!1},2500)}catch(he){le.value=he.message}finally{ve.value=!1}}}async function $e(he,pe,Fe){if(j.value="",W.value="",De.value="",F.value=null,Me.value=null,h.value=null,m.value=null,b.value=!1,it(),Te(),!(!he||!pe)){if(Fe==="viewer"){await g(i(r.file));return}if(Fe==="markdown"||Fe==="code"||Fe==="text"){if(await V(pe),te.value)return;if(Fe==="markdown"){await Oe(j.value);return}const ce=u[i(r.file)]||"";zk()?(await new Promise(Ke=>setTimeout(Ke,0)),await se(j.value,i(r.file))||await Ne(j.value,ce)):(Fe==="code"&&await Ne(j.value,ce),Kg().then(async q=>{if(!q){we.value=!0;return}r.open&&(await new Promise(Ke=>setTimeout(Ke,0)),await se(j.value,i(r.file)))}))}else Fe==="office"&&(await new Promise(ce=>setTimeout(ce,0)),await qe())}}Tt(()=>[r.open,x.value,p.value,r.openMode],([he,pe,Fe])=>{$e(he,pe,Fe)}),Qt(()=>{Hr(()=>{r.open&&$e(r.open,x.value,p.value)})});const je=He(()=>u[i(r.file)]||"plaintext"),Ze=ae(null),Me=ae(null);let Pe=null;async function qe(){if(Me.value=null,!(!r.file||p.value!=="office")){if(!r.onlyOfficeConfigEndpoint){Me.value="OnlyOffice yapılandırması yok";return}if(Ze.value)try{const he={"Content-Type":"application/json"};r.authHeaders&&Object.assign(he,await r.authHeaders());const pe=await fetch(r.onlyOfficeConfigEndpoint,{method:"POST",headers:he,credentials:r.authCredentials||"same-origin",body:JSON.stringify({path:r.file.path,mode:r.openMode||"edit"})});if(!pe.ok)throw new Error(`Config fetch ${pe.status}: ${(await pe.text()).slice(0,200)}`);const{config:Fe,documentServerUrl:ce}=await pe.json();await J(ce),it();const Se="fe-onlyoffice-mount";Ze.value.id=Se,Fe.events={onError:Ke=>{Me.value=_t(Ke)}};const q=window;if(!q.DocsAPI||!q.DocsAPI.DocEditor)throw new Error("DocsAPI not available after script load");Pe=new q.DocsAPI.DocEditor(Se,Fe)}catch(he){Me.value=he instanceof Error?he.message:String(he)}}}function it(){var he;try{(he=Pe==null?void 0:Pe.destroyEditor)==null||he.call(Pe)}catch{}Pe=null}nr(()=>{it(),Te()});function _t(he){if(typeof he=="string")return he;const pe=he;if(pe!=null&&pe.data&&typeof pe.data=="object"){const Fe=pe.data;if(typeof Fe.errorDescription=="string")return Fe.errorDescription;if(typeof Fe.message=="string")return Fe.message;if(Fe.errorCode!==void 0)return`OnlyOffice error ${Fe.errorCode}`}if(typeof(pe==null?void 0:pe.data)=="string")return pe.data;if(typeof(pe==null?void 0:pe.errorDescription)=="string")return pe.errorDescription;if(typeof(pe==null?void 0:pe.message)=="string")return pe.message;try{return JSON.stringify(he)}catch{return"OnlyOffice error"}}function J(he){return new Promise((pe,Fe)=>{var q;if((q=window.DocsAPI)!=null&&q.DocEditor){pe();return}const ce=document.getElementById(sb);if(ce){ce.addEventListener("load",()=>pe()),ce.addEventListener("error",()=>Fe(new Error("OnlyOffice api.js load failed")));return}const Se=document.createElement("script");Se.id=sb,Se.src=`${he.replace(/\/$/,"")}/web-apps/apps/api/documents/api.js`,Se.async=!0,Se.onload=()=>pe(),Se.onerror=()=>Fe(new Error("OnlyOffice api.js load failed")),document.head.appendChild(Se)})}return(he,pe)=>{var Fe;return z(),er(hi,{open:e.open,size:"xl",title:((Fe=e.file)==null?void 0:Fe.basename)||"",chromeless:e.chromeless,theme:e.theme,onClose:pe[2]||(pe[2]=ce=>n("close"))},{actions:cr(()=>[e.file&&e.openMode==="view"&&w.value&&e.newTabEnabled!==!1?(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--primary",onClick:k},"✏ "+K(Z(a)("viewer.edit")),1)):Re("",!0),e.file&&e.newTabEnabled!==!1?(z(),B("button",{key:1,type:"button",class:"fe-btn",onClick:_},"↗ "+K(Z(a)("viewer.open_in_new_tab")),1)):Re("",!0),e.file?(z(),B("a",{key:2,href:S.value,class:"fe-btn"},K(Z(a)("viewer.download")),9,mD)):Re("",!0),D("button",{type:"button",class:"fe-btn",onClick:pe[1]||(pe[1]=ce=>n("close"))},K(Z(a)("viewer.close")),1)]),default:cr(()=>[e.file?(z(),B("div",ET,[p.value==="image"?(z(),B("img",{key:0,src:x.value,alt:e.file.basename,class:"fe-preview__image"},null,8,ST)):p.value==="video"?(z(),B("video",{key:1,src:x.value,controls:"",preload:"metadata",class:"fe-preview__video"},null,8,CT)):p.value==="audio"?(z(),B("audio",{key:2,src:x.value,controls:"",class:"fe-preview__audio"},null,8,AT)):p.value==="pdf"?(z(),B("object",{key:3,data:x.value,type:"application/pdf",class:"fe-preview__iframe"},[D("div",DT,[pe[3]||(pe[3]=D("span",{class:"fe-preview__fallback-icon"},"📕",-1)),pe[4]||(pe[4]=D("p",null,"Tarayıcı PDF'i inline açamadı.",-1)),D("a",{href:S.value,class:"fe-btn fe-btn--primary",target:"_blank",rel:"noopener"},"PDF'i Yeni Sekmede Aç",8,MT)])],8,TT)):p.value==="markdown"?(z(),B(We,{key:4},[P.value?(z(),B("div",OT,K(Z(a)("viewer.loading")),1)):te.value?(z(),B("div",IT,[pe[5]||(pe[5]=$t(" Dosya çok büyük (>1 MB). ",-1)),D("a",{href:S.value,class:"fe-btn"},K(Z(a)("viewer.download")),9,RT)])):e.openMode==="edit"&&e.saveTextEndpoint?(z(),B("div",NT,[D("div",FT,[pe[6]||(pe[6]=D("span",{class:"fe-preview__md-split-label"},"MARKDOWN",-1)),F.value?(z(),B("span",LT,K(F.value),1)):Re("",!0),D("button",{type:"button",class:"fe-btn fe-btn--primary",disabled:!$.value||Y.value,onClick:N},K(Y.value?Z(a)("viewer.saving"):$.value?Z(a)("viewer.save"):Z(a)("viewer.saved")),9,zT)]),D("div",PT,[Zt(D("textarea",{class:"fe-preview__md-split-input","onUpdate:modelValue":pe[0]||(pe[0]=ce=>j.value=ce),onInput:U,onKeydown:[hn(Gt(N,["ctrl","prevent"]),["s"]),hn(Gt(N,["meta","prevent"]),["s"])],spellcheck:"false",placeholder:"# Markdown buraya…"},null,40,BT),[[Fr,j.value]]),ke.value?(z(),B("div",$T,K(Z(a)("viewer.peer_not_installed")),1)):(z(),B("div",{key:1,ref_key:"markdownEl",ref:ge,class:"fe-preview__md-split-output fe-preview__md",innerHTML:W.value},null,8,UT))])])):F.value?(z(),B("div",HT,[D("p",null,K(F.value),1),D("a",{href:S.value,class:"fe-btn fe-btn--primary"},K(Z(a)("viewer.download")),9,qT)])):W.value?(z(),B("div",{key:4,ref_key:"markdownEl",ref:ge,class:"fe-preview__md",innerHTML:W.value},null,8,GT)):(z(),B("pre",KT,K(j.value),1))],64)):p.value==="viewer"?(z(),B(We,{key:5},[m.value&&!b.value?(z(),B("div",VT,[pe[7]||(pe[7]=D("span",{class:"fe-preview__fallback-icon"},"⚠️",-1)),D("p",null,K(m.value),1),D("a",{href:S.value,class:"fe-btn fe-btn--primary"},K(Z(a)("viewer.download")),9,jT)])):h.value?(z(),er(qw(h.value),rg({key:2},y.value,{class:"fe-preview__viewer",onFallback:v}),null,16)):(z(),B("div",WT,[pe[8]||(pe[8]=D("span",{class:"fe-preview__fallback-icon"},"⏳",-1)),D("p",null,K(Z(a)("viewer.loading")),1)]))],64)):p.value==="code"||p.value==="text"?(z(),B(We,{key:6},[P.value?(z(),B("div",YT,K(Z(a)("viewer.loading")),1)):te.value?(z(),B("div",ZT,[pe[9]||(pe[9]=$t(" Dosya çok büyük (>1 MB). ",-1)),D("a",{href:S.value,class:"fe-btn"},K(Z(a)("viewer.download")),9,XT)])):F.value?(z(),B("div",JT,[D("p",null,K(F.value),1),D("a",{href:S.value,class:"fe-btn fe-btn--primary"},K(Z(a)("viewer.download")),9,QT)])):(z(),B("div",eD,[D("div",tD,[D("span",rD,K(je.value),1),!ye.value&&De.value?(z(),B("span",nD,K(e.saveTextEndpoint&&!we.value?Z(a)("viewer.editor_loading"):Z(a)("viewer.read_only")),1)):Re("",!0),be.value?(z(),B("span",aD,"✓ "+K(Z(a)("viewer.saved")),1)):Re("",!0),le.value?(z(),B("span",{key:2,class:"fe-preview__code-status fe-preview__code-status--err",title:le.value},"✗ "+K(Z(a)("viewer.save_error")),9,iD)):Re("",!0),e.openMode==="view"?(z(),B("span",oD,K(Z(a)("viewer.read_only")),1)):e.saveTextEndpoint&&ye.value?(z(),B("button",{key:4,type:"button",class:"fe-btn fe-btn--primary",disabled:ve.value,onClick:Ie},K(ve.value?Z(a)("viewer.saving"):Z(a)("viewer.save")),9,sD)):Re("",!0)]),D("div",{ref_key:"monacoEl",ref:Ue,class:ht(["fe-preview__code-editor",{"is-hidden":!ye.value}])},null,2),!ye.value&&De.value?(z(),B("pre",lD,[D("code",{class:ht(`language-${je.value}`),innerHTML:De.value},null,10,uD)])):!ye.value&&!De.value?(z(),B("pre",{key:1,class:"fe-preview__pre","data-lang":je.value},K(j.value),9,cD)):Re("",!0)]))],64)):p.value==="office"?(z(),B(We,{key:7},[Me.value?(z(),B("div",fD,[pe[10]||(pe[10]=D("span",{class:"fe-preview__fallback-icon"},"📄",-1)),D("p",null,K(Me.value),1),D("a",{href:S.value,class:"fe-btn fe-btn--primary"},K(Z(a)("viewer.download")),9,dD)])):(z(),B("div",{key:1,ref_key:"officeEl",ref:Ze,class:"fe-preview__office"},null,512))],64)):(z(),B("div",pD,[pe[11]||(pe[11]=D("span",{class:"fe-preview__fallback-icon"},"📎",-1)),D("p",null,K(Z(a)("viewer.no_preview")),1),D("a",{href:S.value,class:"fe-btn fe-btn--primary"},K(Z(a)("viewer.download")),9,hD)]))])):Re("",!0)]),_:1},8,["open","title","chromeless","theme"])}}}),vD=Nt({__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 r=e,n=t,{t:a}=yr(()=>r.locale);function i(s){const l=s;return!!(l&&(l.tagName==="INPUT"||l.tagName==="TEXTAREA"||l.tagName==="SELECT"||l.isContentEditable))}function o(s){if(r.open&&!(s.ctrlKey||s.metaKey||s.altKey)&&!i(s.target))switch(s.key){case" ":s.preventDefault(),s.stopPropagation(),n("close");break;case"ArrowRight":case"ArrowDown":s.preventDefault(),s.stopPropagation(),n("nav",1);break;case"ArrowLeft":case"ArrowUp":s.preventDefault(),s.stopPropagation(),n("nav",-1);break;case"Enter":s.preventDefault(),s.stopPropagation(),n("open-full");break}}return Tt(()=>r.open,s=>{s?window.addEventListener("keydown",o,!0):window.removeEventListener("keydown",o,!0)},{immediate:!0}),nr(()=>window.removeEventListener("keydown",o,!0)),(s,l)=>(z(),B(We,null,[Ot(lb,{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:l[0]||(l[0]=u=>n("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"]),Ot(fi,{name:"fe-toast"},{default:cr(()=>[e.open?(z(),B("div",{key:0,class:ht(["fe fe-ql-hint",{"fe--theme-light":e.theme==="light","fe--theme-dark":e.theme==="dark"}]),"aria-hidden":"true"},[l[1]||(l[1]=D("kbd",{class:"fe-kbd"},"Space",-1)),$t(" "+K(Z(a)("quicklook.hint_close"))+" ",1),l[2]||(l[2]=D("span",{class:"fe-ql-hint__sep"},"·",-1)),l[3]||(l[3]=D("kbd",{class:"fe-kbd"},"↑",-1)),l[4]||(l[4]=D("kbd",{class:"fe-kbd"},"↓",-1)),$t(" "+K(Z(a)("quicklook.hint_nav"))+" ",1),l[5]||(l[5]=D("span",{class:"fe-ql-hint__sep"},"·",-1)),l[6]||(l[6]=D("kbd",{class:"fe-kbd"},"Enter",-1)),$t(" "+K(Z(a)("quicklook.hint_open")),1)],2)):Re("",!0)]),_:1})],64))}}),gD=["aria-label"],bD={class:"fe-opc__head"},_D=["aria-label"],yD={class:"fe-opc__body"},xD={key:0,class:"fe-opc__section","aria-live":"polite"},wD={class:"fe-opc__section-title"},kD={class:"fe-opc__list"},ED={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"},SD=["d"],CD={class:"fe-opc__mid"},AD=["title"],TD={class:"fe-opc__sub"},DD={class:"fe-opc__kind"},MD={class:"fe-opc__state"},OD=["aria-valuenow"],ID={key:0,class:"fe-opc__spin","aria-hidden":"true"},RD={class:"fe-opc__acts"},ND=["onClick"],FD=["onClick"],LD=["aria-label","onClick"],zD={key:1,class:"fe-opc__section"},PD={class:"fe-opc__section-title"},BD={class:"fe-opc__list fe-opc__list--history"},$D={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"},UD=["d"],HD={class:"fe-opc__mid"},qD=["title"],GD={key:0,class:"fe-opc__sub fe-opc__sub--err"},KD={key:2,class:"fe-opc__empty"},VD=["aria-expanded","aria-label"],jD=["stroke-dashoffset"],WD={class:"fe-opc__count"},YD={key:0,class:"fe-opc__pct"},kd=8.5,ZD=Nt({__name:"OperationsCenter",props:{center:{},locale:{},narrow:{type:Boolean}},setup(e){const t=e,{t:r,formatSize:n}=yr(()=>t.locale),a=ae(!1),i=ae(null),o=He(()=>t.center.active.value),s=He(()=>t.center.history.value),l=He(()=>t.center.hasError.value),u=He(()=>t.center.overallPercent.value),c=He(()=>t.center.runningCount.value),f=He(()=>o.value.length>0||a.value&&s.value.length>0);Tt(f,w=>{w||(a.value=!1)});const d=2*Math.PI*kd,p=He(()=>{const w=u.value;return w===null?d*.72:d*(1-Math.min(100,Math.max(0,w))/100)}),h=He(()=>u.value===null&&c.value>0),m=He(()=>c.value===0||u.value===null?"":r("opc.percent",{n:u.value})),b=He(()=>r("opc.aria_badge",{n:o.value.length})),g={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 v(w){return r(`opc.kind.${w.kind}`)}function y(w){return w.name||v(w)}function _(w){return w.status==="running"?w.queued?r("opc.queued"):w.totalBytes&&w.totalBytes>0?`${n(w.uploadedBytes??0)} / ${n(w.totalBytes)}`:w.totalCount&&w.totalCount>0?`${w.doneCount??0}/${w.totalCount}`:r("opc.status.running"):w.status==="done"?r("opc.status.done"):w.status==="aborted"?r("opc.status.aborted"):w.error||r("opc.status.error")}function k(w){return r(`opc.status.${w.status==="running"?"running":w.status}`)}function T(w){if(!a.value)return;const x=i.value;x&&w.target instanceof Node&&!x.contains(w.target)&&(a.value=!1)}function E(w){a.value&&w.key==="Escape"&&(a.value=!1)}return Qt(()=>{document.addEventListener("mousedown",T),document.addEventListener("keydown",E)}),nr(()=>{document.removeEventListener("mousedown",T),document.removeEventListener("keydown",E)}),(w,x)=>f.value?(z(),B("div",{key:0,ref_key:"rootEl",ref:i,class:ht(["fe-opc",{"fe-opc--narrow":e.narrow,"fe-opc--open":a.value}])},[Ot(fi,{name:"fe-opc-pop"},{default:cr(()=>[a.value?(z(),B("section",{key:0,class:"fe-opc__panel",role:"dialog","aria-label":Z(r)("opc.title")},[D("header",bD,[D("strong",null,K(Z(r)("opc.title")),1),D("button",{type:"button",class:"fe-opc__x","aria-label":Z(r)("opc.close"),onClick:x[0]||(x[0]=S=>a.value=!1)},"×",8,_D)]),D("div",yD,[o.value.length>0?(z(),B("div",xD,[D("h3",wD,K(Z(r)("opc.active")),1),D("ul",kD,[(z(!0),B(We,null,kt(o.value,S=>(z(),B("li",{key:S.key,class:ht(["fe-opc__item",`is-${S.status}`])},[(z(),B("svg",ED,[D("path",{d:g[S.kind]},null,8,SD)])),D("div",CD,[D("div",{class:"fe-opc__name",title:y(S)},K(y(S)),9,AD),D("div",TD,[D("span",DD,K(v(S)),1),x[3]||(x[3]=D("span",{class:"fe-opc__dot","aria-hidden":"true"},"·",-1)),D("span",MD,K(_(S)),1)]),S.status==="running"&&S.percent!==null?(z(),B("div",{key:0,class:"fe-opc__bar",role:"progressbar","aria-valuenow":S.percent,"aria-valuemin":"0","aria-valuemax":"100"},[D("div",{class:"fe-opc__bar-fill",style:Dn({width:S.percent+"%"})},null,4)],8,OD)):Re("",!0)]),S.status==="running"&&S.percent===null&&!S.queued?(z(),B("span",ID)):Re("",!0),D("div",RD,[S.status==="running"&&S.cancellable?(z(),B("button",{key:0,type:"button",class:"fe-opc__act",onClick:M=>e.center.cancel(S.key)},K(Z(r)("opc.cancel")),9,ND)):Re("",!0),S.status==="error"&&S.retryable?(z(),B("button",{key:1,type:"button",class:"fe-opc__act fe-opc__act--retry",onClick:M=>e.center.retry(S.key)},K(Z(r)("opc.retry")),9,FD)):Re("",!0),S.status!=="running"?(z(),B("button",{key:2,type:"button",class:"fe-opc__x","aria-label":Z(r)("opc.dismiss"),onClick:M=>e.center.dismiss(S.key)},"×",8,LD)):Re("",!0)])],2))),128))])])):Re("",!0),s.value.length>0?(z(),B("div",zD,[D("h3",PD,[$t(K(Z(r)("opc.history"))+" ",1),D("button",{type:"button",class:"fe-opc__act",onClick:x[1]||(x[1]=S=>e.center.clearHistory())},K(Z(r)("opc.clear")),1)]),D("ul",BD,[(z(!0),B(We,null,kt(s.value,S=>(z(),B("li",{key:"h-"+S.key,class:ht(["fe-opc__item fe-opc__item--history",`is-${S.status}`])},[(z(),B("svg",$D,[D("path",{d:g[S.kind]},null,8,UD)])),D("div",HD,[D("div",{class:"fe-opc__name",title:y(S)},K(y(S)),9,qD),S.status==="error"&&S.error?(z(),B("div",GD,K(S.error),1)):Re("",!0)]),D("span",{class:ht(["fe-opc__chip",`is-${S.status}`])},K(k(S)),3)],2))),128))])])):Re("",!0),o.value.length===0&&s.value.length===0?(z(),B("p",KD,K(Z(r)("opc.empty")),1)):Re("",!0)])],8,gD)):Re("",!0)]),_:1}),D("button",{type:"button",class:ht(["fe-opc__badge",{"is-error":l.value}]),"aria-expanded":a.value,"aria-label":b.value,onClick:x[2]||(x[2]=S=>a.value=!a.value)},[(z(),B("svg",{class:ht(["fe-opc__ring",{"fe-opc__ring--spin":h.value}]),viewBox:"0 0 22 22","aria-hidden":"true",focusable:"false"},[D("circle",{class:"fe-opc__ring-track",cx:"11",cy:"11",r:kd,fill:"none","stroke-width":"2.5"}),D("circle",{class:"fe-opc__ring-fill",cx:"11",cy:"11",r:kd,fill:"none","stroke-width":"2.5","stroke-linecap":"round","stroke-dasharray":d,"stroke-dashoffset":p.value,transform:"rotate(-90 11 11)"},null,8,jD)],2)),D("span",WD,K(o.value.length),1),m.value?(z(),B("span",YD,K(m.value),1)):Re("",!0)],10,VD)],2)):Re("",!0)}}),XD=4e3,ub=50;function JD(e,t,r){const n=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:(r==null?void 0:r.startedAt)??Date.now(),settledAt:(r==null?void 0:r.settledAt)??(n?Date.now():null)}}function QD(){const e=ae([]),t=ae([]),r=new Map,n=new Set,a=new Map;function i(g){const v=a.get(g);v!==void 0&&(clearTimeout(v),a.delete(g))}function o(g,v={}){i(g);const y=e.value.findIndex(k=>k.key===g);if(y===-1)return;const[_]=e.value.splice(y,1);e.value=[...e.value],n.add(g),v.toHistory!==!1&&(t.value=[{..._,settledAt:_.settledAt??Date.now()},...t.value].slice(0,ub))}function s(g){a.has(g)||a.set(g,setTimeout(()=>{var y;a.delete(g);const v=r.get(g);o(g),(y=v==null?void 0:v.dismiss)==null||y.call(v)},XD))}function l(g,v){const y=`${g}:`,_=new Set;let k=[...e.value],T=!1;for(const E of v){const w=`${g}:${E.input.id}`;if(_.add(w),E.actions&&r.set(w,E.actions),n.has(w))continue;const x=k.findIndex(M=>M.key===w),S=JD(w,E.input,x===-1?void 0:k[x]);x===-1?(k=[S,...k],T=!0):JSON.stringify(k[x])!==JSON.stringify(S)&&(k[x]=S,T=!0),(S.status==="done"||S.status==="aborted")&&s(w)}for(const E of[...k])!E.key.startsWith(y)||_.has(E.key)||E.status!=="error"&&(i(E.key),k=k.filter(w=>w.key!==E.key),T=!0,E.status!=="running"&&(n.add(E.key),t.value=[{...E,settledAt:E.settledAt??Date.now()},...t.value].slice(0,ub)));for(const E of[...n])E.startsWith(y)&&!_.has(E)&&n.delete(E);for(const E of[...r.keys()])E.startsWith(y)&&!_.has(E)&&!e.value.some(w=>w.key===E)&&(k.some(w=>w.key===E)||r.delete(E));T&&(e.value=k)}function u(g){var v,y;(y=(v=r.get(g))==null?void 0:v.cancel)==null||y.call(v)}function c(g){var y,_;const v=r.get(g);o(g),(y=v==null?void 0:v.dismiss)==null||y.call(v),(_=v==null?void 0:v.retry)==null||_.call(v)}function f(g){var y;const v=r.get(g);o(g),(y=v==null?void 0:v.dismiss)==null||y.call(v)}function d(){t.value=[]}const p=He(()=>e.value.filter(g=>g.status==="running").length),h=He(()=>e.value.filter(g=>g.status==="error").length),m=He(()=>h.value>0),b=He(()=>{const g=e.value.filter(_=>_.status==="running");let v=0,y=0;for(const _ of g){let k=null;_.totalBytes&&_.totalBytes>0?k=Math.min(1,(_.uploadedBytes??0)/_.totalBytes):_.totalCount&&_.totalCount>0?k=Math.min(1,(_.doneCount??0)/_.totalCount):_.percent!==null&&(k=Math.min(1,_.percent/100)),k!==null&&(v+=k,y+=1)}return y===0?null:Math.round(v/y*100)});return Im()&&B8(()=>{for(const g of a.values())clearTimeout(g);a.clear()}),{active:e,history:t,runningCount:p,errorCount:h,hasError:m,overallPercent:b,sync:l,cancel:u,retry:c,dismiss:f,clearHistory:d}}const eM=["data-prefers-dark","aria-label"],tM={key:1,class:"fe-tour__dim","aria-hidden":"true"},rM={class:"fe-tour__progress","aria-hidden":"true"},nM={class:"fe-tour__title"},aM={class:"fe-tour__desc"},iM={class:"fe-tour__dots","aria-hidden":"true"},oM={class:"fe-tour__actions"},ls=6,cb=12,sM=Nt({__name:"OnboardingTour",props:{open:{type:Boolean},locale:{},root:{},theme:{}},emits:["close"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale);function i(x,S){const M=x.querySelectorAll("button[title]");for(const P of Array.from(M))if(P.getAttribute("title")===S)return P;return null}const o=[{id:"nav",titleKey:"tour.step.nav.title",descKey:"tour.step.nav.desc",target:x=>x.querySelector(".fe-breadcrumb")},{id:"upload",titleKey:"tour.step.upload.title",descKey:"tour.step.upload.desc",target:x=>i(x,a("toolbar.upload"))||x.querySelector(".fe-fab")},{id:"search",titleKey:"tour.step.search.title",descKey:"tour.step.search.desc",target:x=>x.querySelector(".fe-search__input")||x.querySelector(".fe-toolbar__search-toggle")},{id:"view",titleKey:"tour.step.view.title",descKey:"tour.step.view.desc",target:x=>x.querySelector(".fe-toolbar__view")},{id:"share",titleKey:"tour.step.share.title",descKey:"tour.step.share.desc",target:x=>x.querySelector(".fe__body")},{id:"help",titleKey:"tour.step.help.title",descKey:"tour.step.help.desc",target:()=>null}],s=ae([]),l=ae(0),u=He(()=>s.value[l.value]??null),c=He(()=>s.value.length);function f(){const x=r.root;s.value=o.filter(S=>{if(S.id==="help")return!0;if(!x)return!1;const M=S.target(x);if(!M)return!1;const P=M.getBoundingClientRect();return P.width>0&&P.height>0})}const d=ae(null),p=ae({}),h=ae(null);async function m(){var H;const x=u.value,S=r.root;if(!x)return;const M=S?x.target(S):null;if(!M){d.value=null,p.value={};return}const P=M.getBoundingClientRect();if(P.width<=0&&P.height<=0){d.value=null,p.value={};return}d.value={top:P.top-ls,left:P.left-ls,width:P.width+ls*2,height:P.height+ls*2},await Hr();const F=window.innerWidth,j=window.innerHeight,te=Math.min(340,F-24),$=((H=h.value)==null?void 0:H.offsetHeight)??160;let Y=P.bottom+ls+cb;Y+$>j-12&&(Y=Math.max(12,P.top-ls-cb-$));let re=P.left+P.width/2-te/2;re=Math.min(Math.max(12,re),F-te-12),p.value={top:`${Math.round(Y)}px`,left:`${Math.round(re)}px`,width:`${te}px`}}function b(){r.open&&m()}function g(){if(l.value>=c.value-1){n("close");return}l.value+=1}function v(){l.value>0&&(l.value-=1)}function y(){n("close")}function _(x){r.open&&(x.key==="Escape"?(x.stopPropagation(),y()):x.key==="ArrowRight"||x.key==="Enter"?(x.preventDefault(),g()):x.key==="ArrowLeft"&&(x.preventDefault(),v()))}Tt(()=>r.open,async x=>{var S;x&&(l.value=0,f(),await Hr(),await m(),(S=h.value)==null||S.focus())}),Tt(l,async()=>{var x;await m(),(x=h.value)==null||x.focus()}),Qt(()=>{window.addEventListener("resize",b),window.addEventListener("scroll",b,!0)}),nr(()=>{window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0)});const k=ae(!1);let T;function E(x){k.value=!!(x&&"matches"in x&&x.matches)}Qt(()=>{var x;typeof window>"u"||(T=window.matchMedia("(prefers-color-scheme: dark)"),E(T),(x=T.addEventListener)==null||x.call(T,"change",E))}),nr(()=>{var x;(x=T==null?void 0:T.removeEventListener)==null||x.call(T,"change",E)});const w=He(()=>`fe-ctx-backdrop--theme-${r.theme||"auto"}`);return(x,S)=>(z(),er(dv,{to:"body"},[Ot(fi,{name:"fe-tour"},{default:cr(()=>[e.open&&u.value?(z(),B("div",{key:0,class:ht(["fe-tour",w.value]),"data-prefers-dark":k.value?"1":"0",role:"dialog","aria-modal":"true","aria-label":Z(a)("tour.aria"),onKeydown:_},[d.value?(z(),B("div",{key:0,class:"fe-tour__spot",style:Dn({top:d.value.top+"px",left:d.value.left+"px",width:d.value.width+"px",height:d.value.height+"px"}),"aria-hidden":"true"},null,4)):(z(),B("div",tM)),D("div",{ref_key:"cardEl",ref:h,class:ht(["fe-tour__card",{"fe-tour__card--center":!d.value}]),style:Dn(d.value?p.value:{}),tabindex:"-1"},[D("p",rM,K(Z(a)("tour.progress",{n:l.value+1,m:c.value})),1),D("h3",nM,K(Z(a)(u.value.titleKey)),1),D("p",aM,K(Z(a)(u.value.descKey)),1),D("div",iM,[(z(!0),B(We,null,kt(s.value,(M,P)=>(z(),B("span",{key:M.id,class:ht(["fe-tour__dot",{"is-active":P===l.value}])},null,2))),128))]),D("div",oM,[D("button",{type:"button",class:"fe-btn fe-tour__skip",onClick:y},K(Z(a)("tour.skip")),1),S[0]||(S[0]=D("span",{class:"fe-tour__actions-spacer"},null,-1)),l.value>0?(z(),B("button",{key:0,type:"button",class:"fe-btn",onClick:v},K(Z(a)("tour.back")),1)):Re("",!0),D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:g},K(l.value>=c.value-1?Z(a)("tour.done"):Z(a)("tour.next")),1)])],6)],42,eM)):Re("",!0)]),_:1})]))}}),lM=["aria-label"],uM={class:"fe-tabs__scroll"},cM=["aria-selected","title","onClick","onKeydown","onAuxclick","onDragstart","onDragover","onDragleave","onDrop"],fM={key:0,class:"fe-tabs__splitdot","aria-hidden":"true"},dM={class:"fe-tabs__label"},pM=["aria-label","title","onClick"],hM=["aria-label","title"],mM=["aria-label","title","aria-pressed"],vM=Nt({__name:"TabBar",props:{tabs:{},activeId:{},locale:{},splitEnabled:{type:Boolean},splitActive:{type:Boolean}},emits:["select","close","new","reorder","toggle-split"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=ae(null),o=ae(null);function s(h,m){var b;i.value=h,m.dataTransfer&&(m.dataTransfer.effectAllowed="move",m.dataTransfer.setData("text/plain",((b=r.tabs[h])==null?void 0:b.id)??""))}function l(h,m){i.value!==null&&(m.preventDefault(),m.stopPropagation(),m.dataTransfer&&(m.dataTransfer.dropEffect="move"),o.value=h)}function u(h){o.value===h&&(o.value=null)}function c(h,m){i.value!==null&&(m.preventDefault(),m.stopPropagation(),i.value!==h&&n("reorder",i.value,h),i.value=null,o.value=null)}function f(){i.value=null,o.value=null}function d(h){h.button===1&&h.preventDefault()}function p(h,m){m.button===1&&(m.preventDefault(),m.stopPropagation(),n("close",h))}return(h,m)=>(z(),B("div",{class:"fe-tabs",role:"tablist","aria-label":Z(a)("tabs.strip")},[D("div",uM,[(z(!0),B(We,null,kt(e.tabs,(b,g)=>(z(),B("div",{key:b.id,class:ht(["fe-tabs__tab",{"is-active":b.id===e.activeId,"is-dragover":o.value===g&&i.value!==null&&i.value!==g}]),role:"tab","aria-selected":b.id===e.activeId?"true":"false",tabindex:"0",draggable:"true",title:b.label,onClick:v=>n("select",b.id),onKeydown:hn(Gt(v=>n("select",b.id),["prevent"]),["enter"]),onMousedown:m[0]||(m[0]=v=>d(v)),onAuxclick:v=>p(b.id,v),onDragstart:v=>s(g,v),onDragover:v=>l(g,v),onDragleave:v=>u(g),onDrop:v=>c(g,v),onDragend:f},[b.split?(z(),B("span",fM)):Re("",!0),D("span",dM,K(b.label),1),D("button",{type:"button",class:"fe-tabs__close","aria-label":Z(a)("tabs.close"),title:Z(a)("tabs.close"),onClick:Gt(v=>n("close",b.id),["stop"])},"×",8,pM)],42,cM))),128))]),D("button",{type:"button",class:"fe-tabs__new","aria-label":Z(a)("tabs.new"),title:Z(a)("tabs.new"),onClick:m[1]||(m[1]=b=>n("new"))},"+",8,hM),e.splitEnabled!==!1?(z(),B("button",{key:0,type:"button",class:ht(["fe-tabs__split",{"is-active":e.splitActive}]),"aria-label":e.splitActive?Z(a)("tabs.split_off"):Z(a)("tabs.split"),title:e.splitActive?Z(a)("tabs.split_off"):Z(a)("tabs.split"),"aria-pressed":e.splitActive?"true":"false",onClick:m[2]||(m[2]=b=>n("toggle-split"))},[...m[3]||(m[3]=[D("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"},[D("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),D("path",{d:"M12 4v16"})],-1)])],10,mM)):Re("",!0)],8,lM))}}),x0=".filex-e2e.json",gM="filexe2e",w0=1,bM=6e5,_M=6e5,fb=200*1024*1024,yM=8,db="filex-e2e-verify-v1",k0=new TextEncoder().encode(gM),E0=97,Ed=9,Sd=21,xM=48,Cd=69,Ba=12;class pb extends Error{constructor(t="e2e: decrypt failed"){super(t),this.name="E2eDecryptError"}}function hb(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function mb(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}async function vb(e,t,r){const n=await crypto.subtle.importKey("raw",new TextEncoder().encode(e),"PBKDF2",!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:new Uint8Array(t).buffer,iterations:r,hash:"SHA-256"},n,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function wM(e,t=bM){const r=Math.max(_M,t),n=crypto.getRandomValues(new Uint8Array(16)),a=await vb(e,n,r),i=crypto.getRandomValues(new Uint8Array(Ba)),o=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:i.buffer},a,new TextEncoder().encode(db))),s=new Uint8Array(Ba+o.length);return s.set(i,0),s.set(o,Ba),{marker:{v:w0,salt:hb(n),iter:r,verify:hb(s)},kek:a}}function kM(e){try{const t=JSON.parse(e);return!t||t.v!==w0||typeof t.salt!="string"||typeof t.verify!="string"||typeof t.iter!="number"||t.iter<1?null:t}catch{return null}}async function EM(e,t){const r=mb(e.salt),n=await vb(t,r,e.iter),a=mb(e.verify);if(a.length<=Ba)return null;try{const i=await crypto.subtle.decrypt({name:"AES-GCM",iv:a.slice(0,Ba).buffer},n,a.slice(Ba).buffer);return new TextDecoder().decode(i)!==db?null:n}catch{return null}}function Ad(e){const t=e instanceof Uint8Array?e:new Uint8Array(e);if(t.length<k0.length)return!1;for(let r=0;r<k0.length;r++)if(t[r]!==k0[r])return!1;return!0}async function SM(e,t){if(t.byteLength>fb)throw new Error("e2e: file exceeds the 200MB single-shot limit");const r=crypto.getRandomValues(new Uint8Array(32)),n=await crypto.subtle.importKey("raw",r.buffer,{name:"AES-GCM"},!1,["encrypt"]),a=crypto.getRandomValues(new Uint8Array(Ba)),i=crypto.getRandomValues(new Uint8Array(Ba)),o=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:a.buffer},e,r.buffer)),s=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:i.buffer},n,t));r.fill(0);const l=new Uint8Array(E0+s.length);return l.set(k0,0),l[8]=w0,l.set(a,Ed),l.set(o,Sd),l.set(i,Cd),l.set(s,E0),l.buffer}async function gb(e,t){const r=new Uint8Array(t);if(!Ad(r)||r.length<E0)throw new Error("e2e: not an encrypted file");if(r[8]!==w0)throw new Error(`e2e: unsupported version ${r[8]}`);const n=r.slice(Ed,Ed+Ba),a=r.slice(Sd,Sd+xM),i=r.slice(Cd,Cd+Ba);let o;try{o=await crypto.subtle.decrypt({name:"AES-GCM",iv:n.buffer},e,a.buffer)}catch{throw new pb("e2e: DEK unwrap failed (wrong password?)")}const s=await crypto.subtle.importKey("raw",o,{name:"AES-GCM"},!1,["decrypt"]);try{return await crypto.subtle.decrypt({name:"AES-GCM",iv:i.buffer},s,r.slice(E0).buffer)}catch{throw new pb("e2e: content decrypt failed")}}function CM(){const e=new Map;return{get(t){return e.get(t)},set(t,r){e.set(t,r)},lock(t){e.delete(t)},has(t){return e.has(t)},clear(){e.clear()}}}function bb(e){const t=e.indexOf("://");return t===-1?e:e.slice(t+3)}function AM(e){return(e||[]).filter(t=>!(t.path.includes(".thumbs")||t.path.includes(".versions")||t.basename===".versions"||t.basename===".trash"||t.basename===".keepdir"||t.basename===x0))}const _b="filex.showHidden";function TM(){try{return localStorage.getItem(_b)==="1"}catch{return!1}}const Rl=ae(TM());function DM(e){Rl.value=e;try{localStorage.setItem(_b,e?"1":"0")}catch{}}function MM(e,t){return t?e||[]:(e||[]).filter(r=>!(r.basename||"").startsWith("."))}function yb(e){return MM(AM(e),Rl.value)}function OM(e){const t=bb(e);return t==="fileman"||t===""}function IM(e){return bb(e).startsWith("fileman/.trash")}function RM(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 xb(e,t,r,n){return!n||IM(r)||!OM(r)?!1:(e.unshift(RM(t)),!0)}async function wb(e,t,r){try{const{entries:n}=await r.listTrash(t),a=e.find(s=>s.basename===".trash");if(!a)return;let i=0,o=0;for(const s of n){i+=s.size||0;const l=Date.parse(s.deleted_at);!Number.isNaN(l)&&l>o&&(o=l)}a.size=i,o>0&&(a.last_modified=o)}catch{}}const NM=["aria-label"],FM={class:"fe-split__crumbs"},LM=["title"],zM=["title","onClick"],PM=["aria-label","title"],BM={key:0,class:"fe-split__state",role:"status"},$M={key:1,class:"fe-split__state"},UM={key:2,class:"fe-split__state"},Td="application/x-brf-files",kb="application/x-brf-files-src",HM=Nt({__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:r}){const n=e,a=r,{t:i}=yr(()=>n.locale),o=ae(""),s=ae([]),l=ae(!1),u=ae(""),c=ae(new Set);function f(U){return U.mime_type==="inode/storage"}const d=He(()=>!!n.multiRoot&&!(o.value??"").replace(/^\/+|\/+$/g,""));async function p(U){const N=n.clamp(U??o.value??"");l.value=!0,u.value="";try{if(n.multiRoot&&!N){s.value=n.virtualRows?n.virtualRows():[],o.value="",c.value=new Set,a("navigate","");return}const V=await n.api.index(n.qualify(N));s.value=yb(V.files),xb(s.value,V.adapter,V.dirname,n.trashVisible!==!1)&&wb(s.value,V.adapter,n.api),o.value=n.toUser(V.dirname),c.value=new Set,a("navigate",o.value)}catch(V){u.value=V instanceof Error?V.message:String(V)}finally{l.value=!1}}p(n.initialPath??"");const h=He(()=>{const U=(o.value||"").replace(/^\/+|\/+$/g,""),N=U?U.split("/"):[],V=(n.floor||"").replace(/^\/+|\/+$/g,""),W=[];let ge="";for(const ke of N)ge=ge?`${ge}/${ke}`:ke,!(V&&!(ge===V||ge.startsWith(V+"/")))&&W.push({label:ke,target:ge,last:!1});return W.length>0&&(W[W.length-1].last=!0),W}),m=He(()=>!n.floor);function b(U){a("activate"),p(U)}function g(U,N){a("activate");const V=N.ctrl||N.shift,W=new Set(V?c.value:[]);V&&W.has(U.path)?W.delete(U.path):W.add(U.path),c.value=W}function v(U,N){N.preventDefault(),N.stopPropagation(),a("activate"),c.value.has(U.path)||(c.value=new Set([U.path])),a("context",U,N)}function y(U){U.preventDefault(),U.stopPropagation(),a("activate"),c.value=new Set,a("context",null,U)}function _(U,N){w.value=!1,!(U.type!=="dir"||f(U))&&x(N)&&S(N,U.path)}function k(U){if(U.type==="dir"){if(U.basename===".trash"){a("activate"),a("open-trash");return}p(f(U)?U.path:n.toUser(U.path))}}function T(){c.value=new Set}function E(U,N){if(!N.dataTransfer)return;if(f(U)||d.value||U.basename===".trash"){N.preventDefault();return}c.value.has(U.path)||(c.value=new Set([U.path]));const V=s.value.filter(W=>c.value.has(W.path)&&!f(W)).map(W=>({path:W.path,basename:W.basename,type:W.type}));if(V.length===0){N.preventDefault();return}N.dataTransfer.setData(Td,JSON.stringify(V)),N.dataTransfer.setData(kb,n.qualify(o.value)),N.dataTransfer.setData("text/plain",V.map(W=>W.path).join(`
21
21
  `)),N.dataTransfer.effectAllowed="move"}const w=ae(!1);function x(U){var N;return!!((N=U.dataTransfer)!=null&&N.types.includes(Td))}function S(U,N){var Oe,ze;const V=(Oe=U.dataTransfer)==null?void 0:Oe.getData(Td);if(!V||!N)return;let W=[];try{W=JSON.parse(V)}catch{return}const ge=((ze=U.dataTransfer)==null?void 0:ze.getData(kb))||void 0,ke=W.map(de=>de.path).filter(de=>de&&de!==N&&!N.startsWith(de+"/"));ke.length!==0&&(U.preventDefault(),U.stopPropagation(),a("transfer",{sources:ke,targetWire:N,originWire:ge}))}function M(U){!x(U)||d.value||(U.preventDefault(),U.stopPropagation(),U.dataTransfer&&(U.dataTransfer.dropEffect="move"),w.value=!0)}function P(){w.value=!1}function F(U){w.value=!1,!(!x(U)||d.value)&&S(U,n.qualify(o.value))}function j(){const U=(o.value??"").replace(/^\/+|\/+$/g,""),N=(n.floor||"").replace(/^\/+|\/+$/g,"");if(!U||U===N)return;const V=U.lastIndexOf("/");p(V===-1?"":U.slice(0,V))}function te(){c.value=new Set(s.value.filter(U=>!f(U)).map(U=>U.path))}function $(){return s.value.filter(U=>c.value.has(U.path))}function Y(){const U=$()[0];U&&U.type==="dir"&&k(U)}function re(){return p()}function H(){return o.value}return t({reload:re,goUp:j,selectAll:te,openSelected:Y,selectedNodes:$,getPath:H}),(U,N)=>(z(),B("section",{class:ht(["fe-split",{"fe-pane--focus":e.active}]),role:"region","aria-label":Z(i)("split.pane"),onPointerdown:N[3]||(N[3]=V=>a("activate"))},[D("header",FM,[m.value?(z(),B("button",{key:0,type:"button",class:ht(["fe-split__crumb",{"is-last":h.value.length===0}]),title:e.rootLabel,onClick:N[0]||(N[0]=V=>b(""))},K(e.rootLabel),11,LM)):Re("",!0),(z(!0),B(We,null,kt(h.value,V=>(z(),B(We,{key:V.target},[N[4]||(N[4]=D("span",{class:"fe-split__sep","aria-hidden":"true"},"›",-1)),D("button",{type:"button",class:ht(["fe-split__crumb",{"is-last":V.last}]),title:V.label,onClick:W=>b(V.target)},K(V.label),11,zM)],64))),128)),N[5]||(N[5]=D("span",{class:"fe-split__spacer"},null,-1)),D("button",{type:"button",class:"fe-split__closebtn","aria-label":Z(i)("split.close"),title:Z(i)("split.close"),onClick:N[1]||(N[1]=V=>a("close"))},"×",8,PM)]),D("div",{class:ht(["fe-split__body",{"is-dropover":w.value}]),onClick:Gt(T,["self"]),onContextmenu:y,onDragover:M,onDragleave:P,onDrop:F},[l.value&&s.value.length===0?(z(),B("div",BM,K(Z(i)("loading")),1)):u.value?(z(),B("div",$M,[D("span",null,K(Z(i)("split.error")),1),D("button",{type:"button",class:"fe-btn",onClick:N[2]||(N[2]=()=>p())},K(Z(i)("split.retry")),1)])):s.value.length===0?(z(),B("div",UM,K(Z(i)("empty.folder")),1)):(e.viewMode??"list")==="list"?(z(),er(Qg,{key:3,files:s.value,selected:c.value,locale:e.locale,loading:l.value,onClickRow:g,onDblRow:k,onContextRow:v,onItemDragStart:E,onItemDropInto:_},null,8,["files","selected","locale","loading"])):e.viewMode==="grid"?(z(),er(eb,{key:4,files:s.value,selected:c.value,locale:e.locale,loading:l.value,"thumb-src":e.thumbSrc,onClickCard:g,onDblCard:k,onContextCard:v,onItemDragStart:E,onItemDropInto:_},null,8,["files","selected","locale","loading","thumb-src"])):(z(),er(tb,{key:5,files:s.value,selected:c.value,locale:e.locale,loading:l.value,"thumb-src":e.thumbSrc,onClickCard:g,onDblCard:k,onContextCard:v,onItemDragStart:E,onItemDropInto:_},null,8,["files","selected","locale","loading","thumb-src"]))],34)],42,NM))}});function Dd(){try{return crypto.randomUUID()}catch{return`t${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}}function qM(e){const t=ae([]),r=ae(""),n=He(()=>t.value.find(b=>b.id===r.value)??null),a=He(()=>t.value.findIndex(b=>b.id===r.value)),i=He(()=>t.value.length>1);function o(){if(!e.storageKey)return!1;try{const b=localStorage.getItem(e.storageKey);if(!b)return!1;const g=JSON.parse(b);if(!g||!Array.isArray(g.tabs)||g.tabs.length===0)return!1;const v=[];for(const y of g.tabs){if(!y||typeof y.path!="string")continue;const _=typeof y.viewMode=="string"&&y.viewMode?y.viewMode:"list",k=y.split,T=k&&typeof k=="object"&&typeof k.path=="string"?{path:k.path,viewMode:typeof k.viewMode=="string"&&k.viewMode?k.viewMode:void 0}:null;v.push({id:typeof y.id=="string"&&y.id?y.id:Dd(),path:y.path,viewMode:_,split:T})}return v.length===0?!1:(t.value=v,r.value=v.some(y=>y.id===g.active)?String(g.active):v[0].id,!0)}catch{return!1}}function s(){if(e.storageKey)try{localStorage.setItem(e.storageKey,JSON.stringify({v:1,active:r.value,tabs:t.value}))}catch{}}Tt([t,r],s,{deep:!0});function l(b,g){if(t.value.length>0)return;const v={id:Dd(),path:b,viewMode:g,split:null};t.value=[v],r.value=v.id}function u(b){const g=n.value;g&&(b.path!==void 0&&(g.path=b.path),b.viewMode!==void 0&&(g.viewMode=b.viewMode))}function c(b,g){const v={id:Dd(),path:b,viewMode:g.viewMode,split:g.split??null},y=a.value;return t.value.splice(y===-1?t.value.length:y+1,0,v),g.background||(r.value=v.id),v}function f(b){if(t.value.length<=1)return null;const g=t.value.findIndex(_=>_.id===b);if(g===-1)return null;const v=t.value[g].id===r.value;if(t.value.splice(g,1),!v)return null;const y=t.value[Math.min(g,t.value.length-1)];return r.value=y.id,y}function d(b){const g=t.value.find(v=>v.id===b);return!g||g.id===r.value?null:(r.value=g.id,g)}function p(b){if(t.value.length<2)return null;const g=a.value===-1?0:a.value,v=t.value[(g+b+t.value.length)%t.value.length];return d(v.id)}function h(b,g){if(b===g||b<0||g<0||b>=t.value.length||g>=t.value.length)return;const v=[...t.value],[y]=v.splice(b,1);v.splice(g,0,y),t.value=v}function m(b){const g=n.value;g&&(g.split=b)}return{tabs:t,activeId:r,activeTab:n,activeIndex:a,hasMultiple:i,restore:o,seed:l,syncActive:u,openTab:c,closeTab:f,activate:d,step:p,move:h,setSplit:m}}const GM=["placeholder","disabled"],KM=["placeholder","disabled"],VM=["placeholder","disabled","onKeydown"],jM={class:"fe-e2e-warn",role:"alert"},WM={class:"fe-e2e-ack"},YM=["disabled"],ZM={key:0,class:"fe-form__error"},XM=["disabled"],JM=["disabled"],QM=Nt({__name:"EncryptedFolderModal",props:{open:{type:Boolean},locale:{},busy:{type:Boolean}},emits:["close","submit"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=ae(""),o=ae(""),s=ae(""),l=ae(!1),u=ae(null);Tt(()=>r.open,f=>{f&&(i.value="",o.value="",s.value="",l.value=!1,u.value=null)});function c(){if(r.busy)return;const f=i.value.trim();if(!f){u.value=a("modal.newfolder.placeholder");return}if(/[\\/]/.test(f)||f==="."||f===".."||f.startsWith(".filex")){u.value=a("e2e.create.bad_name");return}if(o.value.length<yM){u.value=a("e2e.create.pw_short");return}if(o.value!==s.value){u.value=a("e2e.create.pw_mismatch");return}if(!l.value){u.value=a("e2e.create.ack_required");return}u.value=null,n("submit",{name:f,password:o.value})}return(f,d)=>(z(),er(hi,{open:e.open,title:Z(a)("e2e.create.title"),size:"sm",onClose:d[5]||(d[5]=p=>n("close"))},{actions:cr(()=>[D("button",{type:"button",class:"fe-btn",disabled:e.busy,onClick:d[4]||(d[4]=p=>n("close"))},K(Z(a)("modal.newfolder.cancel")),9,XM),D("button",{type:"button",class:"fe-btn fe-btn--primary",disabled:e.busy,onClick:c},K(e.busy?Z(a)("e2e.create.busy"):Z(a)("e2e.create.create")),9,JM)]),default:cr(()=>[D("form",{class:"fe-e2e-form",onSubmit:Gt(c,["prevent"])},[Zt(D("input",{"onUpdate:modelValue":d[0]||(d[0]=p=>i.value=p),type:"text",class:"fe-input",placeholder:Z(a)("modal.newfolder.placeholder"),autocomplete:"off",disabled:e.busy},null,8,GM),[[Fr,i.value]]),Zt(D("input",{"onUpdate:modelValue":d[1]||(d[1]=p=>o.value=p),type:"password",class:"fe-input",placeholder:Z(a)("e2e.create.pw_placeholder"),autocomplete:"new-password",disabled:e.busy},null,8,KM),[[Fr,o.value]]),Zt(D("input",{"onUpdate:modelValue":d[2]||(d[2]=p=>s.value=p),type:"password",class:"fe-input",placeholder:Z(a)("e2e.create.pw2_placeholder"),autocomplete:"new-password",disabled:e.busy,onKeydown:hn(Gt(c,["prevent"]),["enter"])},null,40,VM),[[Fr,s.value]]),D("div",jM,[D("strong",null,K(Z(a)("e2e.create.warn_title")),1),D("p",null,K(Z(a)("e2e.create.warn_body")),1)]),D("label",WM,[Zt(D("input",{"onUpdate:modelValue":d[3]||(d[3]=p=>l.value=p),type:"checkbox",disabled:e.busy},null,8,YM),[[os,l.value]]),D("span",null,K(Z(a)("e2e.create.ack")),1)]),u.value?(z(),B("p",ZM,K(u.value),1)):Re("",!0)],32)]),_:1},8,["open","title"]))}}),eO=["placeholder","onKeydown"],tO={key:0,class:"fe-form__error"},rO=Nt({__name:"NewFolderModal",props:{open:{type:Boolean},locale:{},encryptedOption:{type:Boolean}},emits:["close","submit","encrypted"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=ae(""),o=ae(null);Tt(()=>r.open,l=>{l&&(i.value="",o.value=null)});function s(){const l=i.value.trim();if(!l){o.value=a("modal.newfolder.placeholder");return}if(/[\\/]/.test(l)||l==="."||l===".."){o.value="Geçersiz karakter";return}n("submit",l)}return(l,u)=>(z(),er(hi,{open:e.open,title:Z(a)("modal.newfolder.title"),size:"sm",onClose:u[3]||(u[3]=c=>n("close"))},{actions:cr(()=>[D("button",{type:"button",class:"fe-btn",onClick:u[2]||(u[2]=c=>n("close"))},K(Z(a)("modal.newfolder.cancel")),1),D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:s},K(Z(a)("modal.newfolder.create")),1)]),default:cr(()=>[D("form",{onSubmit:Gt(s,["prevent"])},[Zt(D("input",{"onUpdate:modelValue":u[0]||(u[0]=c=>i.value=c),type:"text",class:"fe-input",placeholder:Z(a)("modal.newfolder.placeholder"),autocomplete:"off",onKeydown:hn(Gt(s,["prevent"]),["enter"])},null,40,eO),[[Fr,i.value]]),o.value?(z(),B("p",tO,K(o.value),1)):Re("",!0),e.encryptedOption!==!1?(z(),B("button",{key:1,type:"button",class:"fe-e2e-optlink",onClick:u[1]||(u[1]=c=>n("encrypted"))}," 🔒 "+K(Z(a)("e2e.create.option")),1)):Re("",!0)],32)]),_:1},8,["open","title"]))}}),nO=["onKeydown"],aO=Nt({__name:"RenameModal",props:{open:{type:Boolean},locale:{},currentName:{}},emits:["close","submit"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=ae("");Tt(()=>[r.open,r.currentName],([s,l])=>{s&&(i.value=l)});function o(){const s=i.value.trim();s&&(/[\\/]/.test(s)||s==="."||s===".."||n("submit",s))}return(s,l)=>(z(),er(hi,{open:e.open,title:Z(a)("modal.rename.title"),size:"sm",onClose:l[2]||(l[2]=u=>n("close"))},{actions:cr(()=>[D("button",{type:"button",class:"fe-btn",onClick:l[1]||(l[1]=u=>n("close"))},K(Z(a)("modal.rename.cancel")),1),D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:o},K(Z(a)("modal.rename.save")),1)]),default:cr(()=>[D("form",{onSubmit:Gt(o,["prevent"])},[Zt(D("input",{"onUpdate:modelValue":l[0]||(l[0]=u=>i.value=u),type:"text",class:"fe-input",autocomplete:"off",onKeydown:hn(Gt(o,["prevent"]),["enter"])},null,40,nO),[[Fr,i.value]])],32)]),_:1},8,["open","title"]))}}),iO=Nt({__name:"DeleteConfirmModal",props:{open:{type:Boolean},locale:{},count:{}},emits:["close","confirm"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale);return(i,o)=>(z(),er(hi,{open:e.open,title:Z(a)("modal.delete.title"),size:"sm",onClose:o[2]||(o[2]=s=>n("close"))},{actions:cr(()=>[D("button",{type:"button",class:"fe-btn",onClick:o[0]||(o[0]=s=>n("close"))},K(Z(a)("modal.delete.cancel")),1),D("button",{type:"button",class:"fe-btn fe-btn--danger",onClick:o[1]||(o[1]=s=>n("confirm"))},K(Z(a)("modal.delete.confirm")),1)]),default:cr(()=>[D("p",null,K(Z(a)("modal.delete.message",{count:e.count})),1)]),_:1},8,["open","title"]))}}),oO={class:"fe-form__row"},sO={class:"fe-form__row fe-form__row--stack"},lO={class:"fe-form__row fe-form__row--stack"},uO={key:1,class:"fe-share-result"},cO={class:"fe-share-result__row"},fO={class:"fe-share-result__copy"},dO=["value"],pO={key:0,class:"fe-share-result__row"},hO={class:"fe-share-result__copy"},mO=["value"],vO={class:"fe-share-result__row"},gO={class:"fe-share-result__copy"},bO=["value"],_O=Nt({__name:"ShareModal",props:{open:{type:Boolean},locale:{},share:{}},emits:["close","submit","toast"],setup(e,{emit:t}){const r=e,n=t,{t:a}=yr(()=>r.locale),i=ae(!1),o=ae(""),s=ae("");Tt(()=>r.open,d=>{d&&(i.value=!1,o.value="",s.value="")});function l(){n("submit",{password:i.value,expires_at:o.value?new Date(o.value).toISOString():null,max_downloads:s.value?Number(s.value):null})}async function u(d,p){try{await navigator.clipboard.writeText(d),n("toast",p)}catch{}}function c(d){return`'${d.replace(/'/g,"'\\''")}'`}const f=He(()=>{const d=r.share;if(!d)return"";let p=d.url;return d.password_pin&&(p+=(p.includes("?")?"&":"?")+"pin="+encodeURIComponent(d.password_pin)),`curl -fSL ${d.filename?`-o ${c(d.filename)} `:"-OJ "}${c(p)}`});return(d,p)=>(z(),er(hi,{open:e.open,title:Z(a)("modal.share.title"),size:"md",onClose:p[7]||(p[7]=h=>n("close"))},{actions:cr(()=>[D("button",{type:"button",class:"fe-btn",onClick:p[6]||(p[6]=h=>n("close"))},K(e.share?"Kapat":Z(a)("modal.share.cancel")),1),e.share?Re("",!0):(z(),B("button",{key:0,type:"button",class:"fe-btn fe-btn--primary",onClick:l},K(Z(a)("modal.share.create")),1))]),default:cr(()=>[e.share?(z(),B("div",uO,[D("div",cO,[p[8]||(p[8]=D("label",null,"Link",-1)),D("div",fO,[D("input",{value:e.share.url,readonly:"",class:"fe-input"},null,8,dO),D("button",{type:"button",class:"fe-btn",onClick:p[3]||(p[3]=h=>u(e.share.url,Z(a)("modal.share.url_copied")))},K(Z(a)("modal.share.copy")),1)])]),e.share.password_pin?(z(),B("div",pO,[p[9]||(p[9]=D("label",null,"PIN",-1)),D("div",hO,[D("input",{value:e.share.password_pin,readonly:"",class:"fe-input fe-input--mono"},null,8,mO),D("button",{type:"button",class:"fe-btn",onClick:p[4]||(p[4]=h=>u(e.share.password_pin,Z(a)("modal.share.pin_copied")))},K(Z(a)("modal.share.copy")),1)])])):Re("",!0),D("div",vO,[p[10]||(p[10]=D("label",null,"CLI",-1)),D("div",gO,[D("input",{value:f.value,readonly:"",class:"fe-input fe-input--mono"},null,8,bO),D("button",{type:"button",class:"fe-btn",onClick:p[5]||(p[5]=h=>u(f.value,Z(a)("modal.share.cli_copied")))},K(Z(a)("modal.share.copy")),1)])])])):(z(),B("form",{key:0,class:"fe-form",onSubmit:Gt(l,["prevent"])},[D("label",oO,[Zt(D("input",{"onUpdate:modelValue":p[0]||(p[0]=h=>i.value=h),type:"checkbox"},null,512),[[os,i.value]]),D("span",null,K(Z(a)("modal.share.pin")),1)]),D("label",sO,[D("span",null,K(Z(a)("modal.share.expires")),1),Zt(D("input",{"onUpdate:modelValue":p[1]||(p[1]=h=>o.value=h),type:"datetime-local",class:"fe-input"},null,512),[[Fr,o.value]])]),D("label",lO,[D("span",null,K(Z(a)("modal.share.max_downloads")),1),Zt(D("input",{"onUpdate:modelValue":p[2]||(p[2]=h=>s.value=h),type:"number",min:"1",class:"fe-input"},null,512),[[Fr,s.value]])])],32))]),_:1},8,["open","title"]))}}),yO={class:"filex-cv"},xO={class:"filex-cv__head"},wO={key:0,class:"filex-cv__msg"},kO={key:1,class:"filex-cv__msg filex-cv__ok"},EO={class:"filex-cv__src"},SO=["placeholder"],CO={class:"filex-cv__list"},AO=["onClick"],TO={key:0,class:"filex-cv__empty"},DO={key:0,class:"filex-cv__err"},MO={class:"filex-cv__foot"},OO=["disabled"],IO=["src"],RO=Nt({__name:"ConvertModal",props:{convertUrl:{},fileName:{},fetchBytes:{type:Function},upload:{type:Function},t:{type:Function}},emits:["close","done"],setup(e,{emit:t}){const r=e,n=t,a=ae(null),i=ae("loading"),o=ae(null),s=ae([]),l=ae(""),u=ae(null),c=He(()=>(r.fileName.split(".").pop()||"").toLowerCase()),f=He(()=>{const k=s.value.filter(T=>T.from);return k.find(T=>(T.ext||"").toLowerCase()===c.value)||k.find(T=>(T.format||"").toLowerCase()===c.value)||null}),d=He(()=>{const k=l.value.trim().toLowerCase(),T=new Set,E=[];for(const w of s.value){if(!w.to)continue;const x=(w.ext||w.format||"").toLowerCase();!x||T.has(x)||(T.add(x),E.push(w))}return E.sort((w,x)=>(w.ext||w.format).localeCompare(x.ext||x.format)),k?E.filter(w=>(w.ext||"").toLowerCase().includes(k)||(w.format||"").toLowerCase().includes(k)||(w.name||"").toLowerCase().includes(k)||(w.mime||"").toLowerCase().includes(k)):E}),p=He(()=>`${r.convertUrl.replace(/\/$/,"")}/?embed=1`);let h=0;const m=new Map;function b(k,T={},E=[]){const w=++h;return new Promise((x,S)=>{var M,P;m.set(w,{resolve:x,reject:S}),(P=(M=a.value)==null?void 0:M.contentWindow)==null||P.postMessage({target:"convert-embed",id:w,cmd:k,...T},"*",E),setTimeout(()=>{m.has(w)&&(m.delete(w),S(new Error("convert timeout")))},18e4)})}function g(k){const T=k.data;if(!T||T.source!=="convert-embed")return;if(T.event==="ready"){v();return}const E=m.get(T.id);E&&(m.delete(T.id),T.ok?E.resolve(T):E.reject(new Error(T.error||"convert error")))}async function v(){try{const k=await b("listFormats");s.value=k.formats||[],i.value="ready",f.value||(o.value=_("convert.unsupportedInput","Bu dosya tipi için kaynak format bulunamadı."))}catch(k){o.value=k.message,i.value="error"}}async function y(){if(!(!u.value||!f.value)){i.value="converting",o.value=null;try{const k=await r.fetchBytes(),T=await b("convert",{name:r.fileName,bytes:k,fromIndex:f.value.index,toIndex:u.value.index},[k]),E=r.fileName.replace(/\.[^.]+$/,""),w=T.ext||u.value.ext||u.value.format,x=`${E}.${w}`,S=new File([T.bytes],x,{type:u.value.mime||"application/octet-stream"});await r.upload(S),i.value="done",n("done",x)}catch(k){o.value=k.message,i.value="error"}}}function _(k,T){return r.t?r.t(k,T):T}return Qt(()=>window.addEventListener("message",g)),nr(()=>window.removeEventListener("message",g)),(k,T)=>(z(),B("div",{class:"filex-cv__bg",onClick:T[3]||(T[3]=Gt(E=>n("close"),["self"]))},[D("div",yO,[D("header",xO,[D("h3",null,K(_("convert.title","Dönüştür"))+" — "+K(e.fileName),1),D("button",{class:"filex-cv__x",onClick:T[0]||(T[0]=E=>n("close"))},"✕")]),i.value==="loading"?(z(),B("div",wO,K(_("convert.loading","Dönüştürücü yükleniyor…")),1)):i.value==="done"?(z(),B("div",kO,[D("p",null,"✓ "+K(_("convert.done","Dönüştürüldü ve klasöre yüklendi.")),1),D("button",{class:"filex-cv__convert",onClick:T[1]||(T[1]=E=>n("close"))},K(_("convert.close","Kapat")),1)])):(z(),B(We,{key:2},[D("p",EO,[$t(K(_("convert.from","Kaynak"))+": ",1),D("b",null,K(c.value||"?"),1)]),Zt(D("input",{"onUpdate:modelValue":T[2]||(T[2]=E=>l.value=E),class:"filex-cv__search",placeholder:_("convert.searchFmt","Hedef format ara (pdf, mp4, png…)")},null,8,SO),[[Fr,l.value]]),D("div",CO,[(z(!0),B(We,null,kt(d.value,E=>{var w;return z(),B("button",{key:E.index,class:ht(["filex-cv__fmt",{"is-sel":((w=u.value)==null?void 0:w.index)===E.index}]),onClick:x=>u.value=E},[D("b",null,K((E.ext||E.format).toUpperCase()),1),D("small",null,K(E.name),1)],10,AO)}),128)),d.value.length===0?(z(),B("div",TO,K(_("convert.noFmt","Eşleşen format yok.")),1)):Re("",!0)]),o.value?(z(),B("div",DO,K(o.value),1)):Re("",!0),D("footer",MO,[D("button",{class:"filex-cv__convert",disabled:!u.value||!f.value||i.value==="converting",onClick:y},K(i.value==="converting"?_("convert.converting","Dönüştürülüyor…"):_("convert.convert","Dönüştür")),9,OO)])],64)),D("iframe",{ref_key:"iframeRef",ref:a,src:p.value,class:"filex-cv__frame",title:"converter"},null,8,IO)])]))}}),NO={class:"fx-perm-modal"},FO={class:"fx-perm-head"},LO={class:"fx-perm-title"},zO={class:"fx-perm-ico","aria-hidden":"true"},PO={class:"fx-perm-titletext"},BO=["title"],$O={class:"fx-perm-subdim"},UO={class:"fx-perm-tabs"},HO={class:"fx-perm-body"},qO={key:0,class:"fx-perm-warn"},GO={key:1,class:"fx-perm-warn"},KO={key:2,class:"fx-perm-muted"},VO={class:"fx-perm-addcard"},jO={class:"fx-perm-add"},WO={class:"fx-perm-emailwrap"},YO=["placeholder"],ZO={key:0,class:"fx-perm-suggest"},XO=["onMousedown"],JO={class:"fx-perm-suggest-av"},QO={class:"fx-perm-suggest-txt"},eI={class:"fx-perm-suggest-name"},tI={class:"fx-perm-suggest-meta"},rI=["title"],nI=["value"],aI=["disabled"],iI={key:0,class:"fx-perm-invite"},oI={class:"fx-perm-muted"},sI={class:"fx-perm-invite-actions"},lI={class:"fx-perm-invite-row"},uI={value:"user"},cI={value:"viewer"},fI=["disabled"],dI=["disabled"],pI={key:1,class:"fx-perm-notice"},hI={key:2,class:"fx-perm-reveal"},mI={class:"fx-perm-section"},vI={key:0,class:"fx-perm-empty"},gI={class:"fx-perm-av"},bI=["title"],_I=["value","onChange"],yI=["value"],xI=["disabled","title","onClick"],wI={class:"fx-perm-av fx-perm-av--dim"},kI=["title"],EI={class:"fx-perm-badge"},SI=["title"],CI={class:"fx-perm-addcard"},AI={class:"fx-perm-share-opts"},TI={class:"fx-perm-check"},DI={class:"fx-perm-expiry"},MI={class:"fx-perm-muted"},OI=["value"],II={class:"fx-perm-expiry"},RI={class:"fx-perm-muted"},NI=["value"],FI=["disabled"],LI={key:0,class:"fx-perm-warn"},zI={key:1,class:"fx-perm-result"},PI={class:"fx-perm-linkrow"},BI=["href"],$I={key:0,class:"fx-perm-pin"},UI={class:"fx-perm-mailrow"},HI=["placeholder"],qI=["disabled"],GI={key:1,class:"fx-perm-notice"},KI={key:2,class:"fx-perm-hint"},VI={class:"fx-perm-section"},jI={key:0,class:"fx-perm-empty"},WI=["title"],YI=["onClick"],ZI=["disabled","title","onClick"],XI={key:2,class:"fx-perm-addcard"},JI={class:"fx-perm-muted fx-perm-dropintro"},QI={class:"fx-perm-share-opts"},eR={class:"fx-perm-check"},tR={class:"fx-perm-expiry"},rR={class:"fx-perm-muted"},nR=["value"],aR=["disabled"],iR={key:0,class:"fx-perm-adv"},oR={class:"fx-perm-adv-row"},sR={class:"fx-perm-muted"},lR={class:"fx-perm-adv-row"},uR={class:"fx-perm-muted"},cR={class:"fx-perm-adv-row"},fR={class:"fx-perm-muted"},dR=["placeholder"],pR={class:"fx-perm-check"},hR={key:1,class:"fx-perm-warn"},mR={key:2,class:"fx-perm-result"},vR={class:"fx-perm-linkrow"},gR=["href"],bR={key:0,class:"fx-perm-pin"},_R={class:"fx-perm-mailrow"},yR=["placeholder"],xR=["disabled"],wR={key:1,class:"fx-perm-notice"},kR=Nt({__name:"PermissionsModal",props:{api:{},path:{},isDir:{type:Boolean},size:{},locale:{}},emits:["close"],setup(e,{emit:t}){const r=e,n=t,a=He(()=>(r.locale??"tr")!=="en");function i(L,X){return a.value?L:X}const o=He(()=>{const L=/^([^:]+):\/\/(.*)$/.exec(r.path),X=L?L[1]:"",me=L?L[2]:r.path,nt=me.split("/").filter(Boolean);return{adapter:X,name:nt.length?nt[nt.length-1]:X,rel:me}}),s=ae("perms"),l=ae(!1),u=ae(!0),c=ae(""),f=ae([]),d=ae([]),p=ae(!0),h=ae(""),m=ae("viewer"),b=ae(!1),g=ae(""),v=ae(!1),y=ae("user"),_=ae(null),k=ae([]),T=ae(!1);let E;const w=[{v:"viewer",l:i("Görüntüleyen","Viewer"),d:i("görüntüle + indir","view + download")},{v:"editor",l:i("Düzenleyen","Editor"),d:i("oku + yaz + sil","read + write + delete")},{v:"owner",l:i("Sahip","Owner"),d:i("düzenle + izin yönet","edit + manage access")}];function x(L){var X;return((X=w.find(me=>me.v===L))==null?void 0:X.l)??L}const S=ae([]),M=ae(!1),P=ae(!1),F=ae(0),j=ae(null),te=ae(""),$=ae(""),Y=ae(""),re=ae(!1),H=ae(""),U=[{v:0,l:i("Süresiz","Never")},{v:1,l:i("1 gün","1 day")},{v:7,l:i("7 gün","7 days")},{v:30,l:i("30 gün","30 days")}],N=ae(0),V=[{v:0,l:i("Sınırsız","Unlimited")},{v:1,l:i("1 indirme","1 download")},{v:3,l:i("3 indirme","3 downloads")},{v:5,l:i("5 indirme","5 downloads")},{v:10,l:i("10 indirme","10 downloads")},{v:25,l:i("25 indirme","25 downloads")}],W=ae(!1),ge=ae(0),ke=ae(!1),Oe=ae(""),ze=ae(""),de=ae(""),De=ae(!0),Ne=ae(!1),Ue=ae(""),ee=ae(null),oe=ae(""),ye=ae(!1),we=ae("");function ve(L){const X=new Set,me=[];for(const nt of L.split(/[,;\s]+/)){const Ee=nt.trim().toLowerCase();Ee&&Ee.includes("@")&&!X.has(Ee)&&(X.add(Ee),me.push(Ee))}return me}function be(L){var nt,Ee;const X=((nt=L.sent)==null?void 0:nt.length)??0,me=((Ee=L.failed)==null?void 0:Ee.length)??0;return me===0?i(`E-posta gönderildi ✓ (${X})`,`Email sent ✓ (${X})`):i(`${X} gönderildi, ${me} başarısız`,`${X} sent, ${me} failed`)}async function le(){u.value=!0,c.value="";try{const L=await r.api.listPermissions(r.path);f.value=L.direct??[],d.value=L.inherited??[],p.value=L.storage_rbac,l.value=!0}catch(L){L.status===403?(l.value=!1,s.value="share"):c.value=L instanceof Error?L.message:String(L)}finally{u.value=!1}}async function Te(){try{const L=await r.api.listShares(r.path);S.value=L.shares??[]}catch{S.value=[]}}Qt(async()=>{await le(),await Te()}),nr(()=>{E&&clearTimeout(E)});function ie(){v.value=!1,_.value=null,g.value="";const L=h.value.trim();if(E&&clearTimeout(E),L.length<1){k.value=[],T.value=!1;return}E=setTimeout(async()=>{try{const X=await r.api.searchUsers(L);k.value=X.users??[],T.value=k.value.length>0}catch{T.value=!1}},180)}async function se(L){T.value=!1,h.value=L.email;let X=m.value;L.role==="viewer"&&X!=="viewer"&&(X="viewer"),b.value=!0,g.value="";try{await r.api.addPermission({path:r.path,user_id:L.id,level:X,is_dir:!!r.isDir}),h.value="",k.value=[],await le(),g.value=i("Yetki verildi.","Access granted.")}catch(me){g.value=me instanceof Error?me.message:String(me)}finally{b.value=!1}}async function Ie(){const L=h.value.trim().toLowerCase();if(!L||!L.includes("@")){g.value=i("Geçerli bir e-posta girin.","Enter a valid email.");return}T.value=!1,b.value=!0,g.value="",_.value=null;try{const X=await r.api.resolveEmail(L);if(X.found&&X.user){let me=m.value;X.user.role==="viewer"&&me!=="viewer"&&(me="viewer"),await r.api.addPermission({path:r.path,user_id:X.user.id,level:me,is_dir:!!r.isDir}),h.value="",await le(),g.value=i("Yetki verildi.","Access granted.")}else v.value=!0}catch(X){g.value=X instanceof Error?X.message:String(X)}finally{b.value=!1}}async function $e(){b.value=!0,g.value="";try{const L=await r.api.invitePermission({path:r.path,email:h.value.trim().toLowerCase(),level:m.value,create_user:!0,role:y.value,is_dir:!!r.isDir,locale:r.locale??"tr"});_.value={tempPassword:L.temp_password},g.value=L.emailed?i("Kullanıcı açıldı, davet e-postası gönderildi.","User created, invite emailed."):i("Kullanıcı açıldı. Geçici parolayı iletin.","User created. Share the temp password."),v.value=!1,h.value="",await le()}catch(L){g.value=L instanceof Error?L.message:String(L)}finally{b.value=!1}}function je(){Y.value=h.value.trim().toLowerCase(),v.value=!1,g.value="",s.value="share"}async function Ze(L,X){if(X!==L.level){b.value=!0;try{await r.api.updatePermission(L.id,X),await le()}catch(me){g.value=me instanceof Error?me.message:String(me)}finally{b.value=!1}}}async function Me(L){b.value=!0;try{await r.api.deletePermission(L.id),await le()}catch(X){g.value=X instanceof Error?X.message:String(X)}finally{b.value=!1}}function Pe(L){return L.user_display_name||L.user_email||`#${L.user_id}`}function qe(L){return(L.user_display_name||L.user_email||"?").charAt(0).toUpperCase()}function it(){return F.value?new Date(Date.now()+F.value*864e5).toISOString():null}async function _t(){M.value=!0,te.value="",j.value=null,H.value="";try{const L=await r.api.createShare({path:r.path,password:P.value,expires_at:it(),max_downloads:N.value||null});j.value={url:L.share.url,pin:L.share.password_pin??null},await Te()}catch(L){te.value=L instanceof Error?L.message:String(L)}finally{M.value=!1}}async function J(){var X;const L=ve(Y.value);if(!L.length){H.value=i("Geçerli bir e-posta girin.","Enter a valid email.");return}if((X=j.value)!=null&&X.url){re.value=!0,H.value="";try{const me=await r.api.shareMail({path:r.path,emails:L,url:j.value.url,pin:j.value.pin??void 0,expires_days:F.value||void 0,locale:r.locale??"tr",is_dir:!!r.isDir,size:r.size});H.value=be(me)}catch(me){const nt=me.detail??"";nt.includes("not_configured")?H.value=i("SMTP ayarlı/doğrulanmış değil — linki elle iletin.","SMTP not set up/verified — share the link manually."):nt.includes("send_failed")?H.value=i("Gönderilemedi (geçici hata) — tekrar deneyin.","Send failed (temporary) — please retry."):H.value=me instanceof Error?me.message:String(me)}finally{re.value=!1}}}function he(){return ge.value?new Date(Date.now()+ge.value*864e5).toISOString():null}async function pe(){Ne.value=!0,Ue.value="",ee.value=null,we.value="";try{const L={ask_name:De.value};Oe.value&&(L.max_files=Number(Oe.value)),ze.value&&(L.max_file_size_mb=Number(ze.value));const X=de.value.split(/[,\s]+/).map(nt=>nt.trim().replace(/^\./,"")).filter(Boolean);X.length&&(L.allowed_ext=X);const me=await r.api.createShare({path:r.path,kind:"drop",password:W.value,expires_at:he(),drop_settings:L});ee.value={url:me.share.url,pin:me.share.password_pin??null}}catch(L){Ue.value=L instanceof Error?L.message:String(L)}finally{Ne.value=!1}}async function Fe(){var X;const L=ve(oe.value);if(!L.length){we.value=i("Geçerli bir e-posta girin.","Enter a valid email.");return}if((X=ee.value)!=null&&X.url){ye.value=!0,we.value="";try{const me=await r.api.shareMail({path:r.path,emails:L,url:ee.value.url,pin:ee.value.pin??void 0,expires_days:ge.value||void 0,locale:r.locale??"tr",is_dir:!0,mode:"drop"});we.value=be(me)}catch(me){(me.detail??"").includes("not_configured")?we.value=i("SMTP ayarlı/doğrulanmış değil — linki elle iletin.","SMTP not set up/verified — share the link manually."):we.value=me instanceof Error?me.message:String(me)}finally{ye.value=!1}}}async function ce(L){M.value=!0;try{await r.api.revokeShare(L.uuid),await Te()}catch(X){te.value=X instanceof Error?X.message:String(X)}finally{M.value=!1}}function Se(L,X="url"){var me;(me=navigator.clipboard)==null||me.writeText(L),$.value=X,setTimeout(()=>{$.value===X&&($.value="")},1400)}const q=He(()=>typeof navigator<"u"&&typeof navigator.share=="function");function Ke(L){if(!L||L<=0)return"";const X=1024;if(L<X)return`${L} B`;const me=["K","M","G","T","P","E"];let nt=X,Ee=0;for(let Je=L/X;Je>=X;Je/=X)nt*=X,Ee++;return`${(L/nt).toFixed(1)} ${me[Ee]}B`}function vt(L){return L>0?i(`Bu bağlantı ${L} gün geçerlidir.`,`This link is valid for ${L} day(s).`):i("Bu bağlantının süresi yoktur.","This link does not expire.")}function A(){var wt,_r;const L=o.value.name,X=((wt=j.value)==null?void 0:wt.url)??"",me=((_r=j.value)==null?void 0:_r.pin)??"",nt=r.isDir?i("klasör","folder"):i("dosya","file"),Ee=a.value?`${L} ${r.isDir?"klasörü":"dosyası"} sizinle paylaşıldı`:`${L} has been shared with you`,Je=[];if(Je.push(i("Merhaba,","Hello,"),""),Je.push(i(`Sizinle bir ${nt} paylaşıldı:`,`A ${nt} has been shared with you:`),""),r.isDir)Je.push(i(`Klasör: ${L}`,`Folder: ${L}`));else{Je.push(i(`Dosya: ${L}`,`File: ${L}`));const Pt=Ke(r.size);Pt&&Je.push(i(`Boyut: ${Pt}`,`Size: ${Pt}`))}return Je.push("",i("İndirmek için:","Download it here:"),X),me&&Je.push("",i(`PIN (erişim kodu): ${me}`,`PIN (access code): ${me}`)),Je.push("",vt(F.value)),{title:Ee,text:Je.join(`
22
22
  `)}}function Le(){var Pt,Ut;const L=o.value.name,X=((Pt=ee.value)==null?void 0:Pt.url)??"",me=((Ut=ee.value)==null?void 0:Ut.pin)??"",nt=Number(Oe.value)||20,Ee=Number(ze.value)||500,Je=de.value.split(/[,\s]+/).map(fr=>fr.trim().replace(/^\./,"")).filter(Boolean),wt=i(`${L} adlı klasöre dosya eklemeniz istendi`,`You've been asked to add files to ${L}`),_r=[];return _r.push(i("Merhaba,","Hello,"),""),_r.push(i("Dosya yüklemeniz istendi.","You've been invited to upload files."),""),_r.push(i(`Klasör: ${L}`,`Folder: ${L}`)),_r.push(i(`Sınır: en fazla ${nt} dosya, dosya başına ${Ee} MB.`,`Limit: up to ${nt} file(s), ${Ee} MB per file.`)),_r.push(Je.length?i(`İzinli türler: ${Je.join(", ")}`,`Allowed types: ${Je.join(", ")}`):i("İzinli türler: tüm türler","Allowed types: all")),_r.push("",i("Dosyalarınızı buradan yükleyebilirsiniz:","Upload your files here:"),X),me&&_r.push("",i(`PIN (erişim kodu): ${me}`,`PIN (access code): ${me}`)),_r.push("",vt(ge.value)),{title:wt,text:_r.join(`
23
23
  `)}}async function Be(L){if(q.value)try{await navigator.share(L)}catch{}}return(L,X)=>{var me,nt;return z(),B("div",{class:"fx-perm-overlay",onClick:X[25]||(X[25]=Gt(Ee=>n("close"),["self"]))},[D("div",NO,[D("header",FO,[D("div",LO,[D("span",zO,K(e.isDir?"📁":"📄"),1),D("div",PO,[D("h3",null,K(i("Paylaş / İzinler","Share / Permissions")),1),D("span",{class:"fx-perm-sub",title:e.path},[$t(K(o.value.name),1),D("span",$O," · "+K(o.value.adapter),1)],8,BO)])]),D("button",{class:"fx-perm-x",onClick:X[0]||(X[0]=Ee=>n("close")),"aria-label":"close"},"✕")]),D("div",UO,[l.value?(z(),B("button",{key:0,class:ht(["fx-perm-tab",{"is-active":s.value==="perms"}]),onClick:X[1]||(X[1]=Ee=>s.value="perms")},K(i("Kişiler","People")),3)):Re("",!0),D("button",{class:ht(["fx-perm-tab",{"is-active":s.value==="share"}]),onClick:X[2]||(X[2]=Ee=>s.value="share")},K(i("Bağlantı","Link")),3),e.isDir?(z(),B("button",{key:1,class:ht(["fx-perm-tab",{"is-active":s.value==="drop"}]),onClick:X[3]||(X[3]=Ee=>s.value="drop")},K(i("Dosya İste","Request files")),3)):Re("",!0)]),D("div",HO,[s.value==="perms"&&l.value?(z(),B(We,{key:0},[p.value?Re("",!0):(z(),B("div",qO,K(i("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)),c.value?(z(),B("div",GO,K(c.value),1)):Re("",!0),u.value?(z(),B("div",KO,K(i("Yükleniyor…","Loading…")),1)):(z(),B(We,{key:3},[D("div",VO,[D("div",jO,[D("div",WO,[Zt(D("input",{"onUpdate:modelValue":X[4]||(X[4]=Ee=>h.value=Ee),type:"email",class:"fx-perm-input",autocomplete:"off",placeholder:i("İsim veya e-posta","Name or email"),onInput:ie,onKeyup:hn(Ie,["enter"]),onFocus:ie},null,40,YO),[[Fr,h.value]]),T.value?(z(),B("ul",ZO,[(z(!0),B(We,null,kt(k.value,Ee=>(z(),B("li",{key:Ee.id,onMousedown:Gt(Je=>se(Ee),["prevent"])},[D("span",JO,K((Ee.display_name||Ee.email).charAt(0).toUpperCase()),1),D("span",QO,[D("span",eI,K(Ee.display_name||Ee.email),1),D("span",tI,K(Ee.email)+" · "+K(Ee.role),1)])],40,XO))),128))])):Re("",!0)]),Zt(D("select",{"onUpdate:modelValue":X[5]||(X[5]=Ee=>m.value=Ee),class:"fx-perm-sel",title:(me=w.find(Ee=>Ee.v===m.value))==null?void 0:me.d},[(z(),B(We,null,kt(w,Ee=>D("option",{key:Ee.v,value:Ee.v},K(Ee.l),9,nI)),64))],8,rI),[[Ml,m.value]]),D("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:b.value,onClick:Ie},K(i("Ekle","Add")),9,aI)]),v.value?(z(),B("div",iI,[D("p",oI,K(i("Bu e-postada hesap yok. Ne yapmak istersiniz?","No account for this email — what next?")),1),D("div",sI,[D("div",lI,[Zt(D("select",{"onUpdate:modelValue":X[6]||(X[6]=Ee=>y.value=Ee),class:"fx-perm-sel"},[D("option",uI,K(i("Kullanıcı","User")),1),D("option",cI,K(i("Görüntüleyen","Viewer")),1)],512),[[Ml,y.value]]),D("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:b.value,onClick:$e},K(i("Kullanıcı oluştur + yetki ver","Create user + grant")),9,fI)]),D("button",{class:"fx-perm-btn fx-perm-btn--ghost",disabled:b.value,onClick:je},K(i("Sadece paylaşım linki gönder →","Just send a share link →")),9,dI)])])):Re("",!0),g.value?(z(),B("div",pI,K(g.value),1)):Re("",!0),(nt=_.value)!=null&&nt.tempPassword?(z(),B("div",hI,[$t(K(i("Geçici parola:","Temp password:"))+" ",1),D("code",null,K(_.value.tempPassword),1)])):Re("",!0)]),D("div",mI,[D("h4",null,K(i("Erişimi olanlar","People with access")),1),!f.value.length&&!d.value.length?(z(),B("div",vI,K(i("Henüz kimseyle paylaşılmadı.","Not shared with anyone yet.")),1)):Re("",!0),(z(!0),B(We,null,kt(f.value,Ee=>(z(),B("div",{key:"d"+Ee.id,class:"fx-perm-person"},[D("span",gI,K(qe(Ee)),1),D("span",{class:"fx-perm-user",title:Ee.user_email},K(Pe(Ee)),9,bI),D("select",{class:"fx-perm-sel fx-perm-sel--sm",value:Ee.level,onChange:Je=>Ze(Ee,Je.target.value)},[(z(),B(We,null,kt(w,Je=>D("option",{key:Je.v,value:Je.v},K(Je.l),9,yI)),64))],40,_I),D("button",{class:"fx-perm-del",disabled:b.value,title:i("Kaldır","Remove"),onClick:Je=>Me(Ee)},"✕",8,xI)]))),128)),(z(!0),B(We,null,kt(d.value,Ee=>(z(),B("div",{key:"i"+Ee.id,class:"fx-perm-person fx-perm-inh"},[D("span",wI,K(qe(Ee)),1),D("span",{class:"fx-perm-user",title:Ee.user_email},K(Pe(Ee)),9,kI),D("span",EI,K(x(Ee.level)),1),D("span",{class:"fx-perm-from",title:i("Üst klasörden gelir","Inherited from")+": "+(Ee.path_prefix||"/")}," ↳ "+K(Ee.path_prefix||"/"),9,SI)]))),128))])],64))],64)):Re("",!0),s.value==="share"?(z(),B(We,{key:1},[D("div",CI,[D("div",AI,[D("label",TI,[Zt(D("input",{type:"checkbox","onUpdate:modelValue":X[7]||(X[7]=Ee=>P.value=Ee)},null,512),[[os,P.value]]),$t(" "+K(i("PIN ile koru","Protect with a PIN")),1)]),D("label",DI,[D("span",MI,K(i("Süre","Expiry")),1),Zt(D("select",{"onUpdate:modelValue":X[8]||(X[8]=Ee=>F.value=Ee),class:"fx-perm-sel fx-perm-sel--sm"},[(z(),B(We,null,kt(U,Ee=>D("option",{key:Ee.v,value:Ee.v},K(Ee.l),9,OI)),64))],512),[[Ml,F.value,void 0,{number:!0}]])]),D("label",II,[D("span",RI,K(i("İndirme limiti","Download limit")),1),Zt(D("select",{"onUpdate:modelValue":X[9]||(X[9]=Ee=>N.value=Ee),class:"fx-perm-sel fx-perm-sel--sm"},[(z(),B(We,null,kt(V,Ee=>D("option",{key:Ee.v,value:Ee.v},K(Ee.l),9,NI)),64))],512),[[Ml,N.value,void 0,{number:!0}]])]),D("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:M.value,onClick:_t},K(i("Bağlantı oluştur","Create link")),9,FI)]),te.value?(z(),B("div",LI,K(te.value),1)):Re("",!0),j.value?(z(),B("div",zI,[D("div",PI,[D("a",{href:j.value.url,target:"_blank",rel:"noopener",class:"fx-perm-link"},K(j.value.url),9,BI),D("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[10]||(X[10]=Ee=>Se(j.value.url,"new"))},K($.value==="new"?i("Kopyalandı ✓","Copied ✓"):i("Kopyala","Copy")),1)]),j.value.pin?(z(),B("div",$I,[D("span",null,[X[26]||(X[26]=$t("PIN: ",-1)),D("code",null,K(j.value.pin),1)]),D("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[11]||(X[11]=Ee=>Se(j.value.pin,"sharepin"))},K($.value==="sharepin"?i("Kopyalandı ✓","Copied ✓"):i("Kopyala","Copy")),1)])):Re("",!0),D("div",UI,[Zt(D("input",{"onUpdate:modelValue":X[12]||(X[12]=Ee=>Y.value=Ee),type:"text",class:"fx-perm-input",autocomplete:"off",placeholder:i("e-posta(lar) — virgülle ayırın","email(s) — comma separated"),onKeyup:hn(J,["enter"])},null,40,HI),[[Fr,Y.value]]),D("button",{class:"fx-perm-btn",disabled:re.value,onClick:J},K(i("Gönder","Send")),9,qI)]),H.value?(z(),B("div",GI,K(H.value),1)):Re("",!0),q.value?(z(),B("button",{key:2,type:"button",class:"fx-perm-btn fx-perm-btn--ghost fx-perm-sharebtn",onClick:X[13]||(X[13]=Ee=>Be(A()))},[X[27]||(X[27]=D("span",{"aria-hidden":"true"},"📤",-1)),$t(" "+K(i("Paylaş","Share")),1)])):Re("",!0)])):Y.value?(z(),B("p",KI,[$t(K(i("Aşağıdan bir bağlantı oluşturun, ardından","Create a link below, then it will be sent to"))+" ",1),D("strong",null,K(Y.value),1),$t(" "+K(i("adresine gönderin.",".")),1)])):Re("",!0)]),D("div",VI,[D("h4",null,K(i("Mevcut bağlantılar","Existing links")),1),S.value.length?Re("",!0):(z(),B("div",jI,K(i("Yok","None")),1)),(z(!0),B(We,null,kt(S.value,Ee=>(z(),B("div",{key:Ee.uuid,class:"fx-perm-person"},[D("span",{class:"fx-perm-user fx-perm-link",title:Ee.url},K(Ee.url),9,WI),D("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:Je=>Se(Ee.url,Ee.uuid)},K($.value===Ee.uuid?i("✓","✓"):i("Kopyala","Copy")),9,YI),D("button",{class:"fx-perm-del",disabled:M.value,title:i("İptal","Revoke"),onClick:Je=>ce(Ee)},"✕",8,ZI)]))),128))])],64)):Re("",!0),s.value==="drop"?(z(),B("div",XI,[D("p",JI,K(i("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),D("div",QI,[D("label",eR,[Zt(D("input",{type:"checkbox","onUpdate:modelValue":X[14]||(X[14]=Ee=>W.value=Ee)},null,512),[[os,W.value]]),$t(" "+K(i("PIN ile koru","Protect with a PIN")),1)]),D("label",tR,[D("span",rR,K(i("Süre","Expiry")),1),Zt(D("select",{"onUpdate:modelValue":X[15]||(X[15]=Ee=>ge.value=Ee),class:"fx-perm-sel fx-perm-sel--sm"},[(z(),B(We,null,kt(U,Ee=>D("option",{key:Ee.v,value:Ee.v},K(Ee.l),9,nR)),64))],512),[[Ml,ge.value,void 0,{number:!0}]])]),D("button",{class:"fx-perm-btn fx-perm-btn--primary",disabled:Ne.value,onClick:pe},K(i("Bağlantı oluştur","Create link")),9,aR)]),D("button",{type:"button",class:"fx-perm-btn fx-perm-btn--ghost fx-perm-advtoggle",onClick:X[16]||(X[16]=Ee=>ke.value=!ke.value)},K(ke.value?i("Gelişmiş ▲","Advanced ▲"):i("Gelişmiş ▼","Advanced ▼")),1),ke.value?(z(),B("div",iR,[D("label",oR,[D("span",sR,K(i("En fazla dosya","Max files")),1),Zt(D("input",{"onUpdate:modelValue":X[17]||(X[17]=Ee=>Oe.value=Ee),type:"number",min:"1",class:"fx-perm-input fx-perm-input--sm",placeholder:"20"},null,512),[[Fr,Oe.value]])]),D("label",lR,[D("span",uR,K(i("Dosya başı MB","MB / file")),1),Zt(D("input",{"onUpdate:modelValue":X[18]||(X[18]=Ee=>ze.value=Ee),type:"number",min:"1",class:"fx-perm-input fx-perm-input--sm",placeholder:"500"},null,512),[[Fr,ze.value]])]),D("label",cR,[D("span",fR,K(i("İzinli türler","Allowed types")),1),Zt(D("input",{"onUpdate:modelValue":X[19]||(X[19]=Ee=>de.value=Ee),type:"text",class:"fx-perm-input fx-perm-input--sm",placeholder:i("hepsi (örn. pdf, jpg)","all (e.g. pdf, jpg)")},null,8,dR),[[Fr,de.value]])]),D("label",pR,[Zt(D("input",{type:"checkbox","onUpdate:modelValue":X[20]||(X[20]=Ee=>De.value=Ee)},null,512),[[os,De.value]]),$t(" "+K(i("Yükleyenin adını sor","Ask uploader name")),1)])])):Re("",!0),Ue.value?(z(),B("div",hR,K(Ue.value),1)):Re("",!0),ee.value?(z(),B("div",mR,[D("div",vR,[D("a",{href:ee.value.url,target:"_blank",rel:"noopener",class:"fx-perm-link"},K(ee.value.url),9,gR),D("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[21]||(X[21]=Ee=>Se(ee.value.url,"drop"))},K($.value==="drop"?i("Kopyalandı ✓","Copied ✓"):i("Kopyala","Copy")),1)]),ee.value.pin?(z(),B("div",bR,[D("span",null,[X[28]||(X[28]=$t("PIN: ",-1)),D("code",null,K(ee.value.pin),1)]),D("button",{class:"fx-perm-btn fx-perm-btn--sm",onClick:X[22]||(X[22]=Ee=>Se(ee.value.pin,"droppin"))},K($.value==="droppin"?i("Kopyalandı ✓","Copied ✓"):i("Kopyala","Copy")),1)])):Re("",!0),D("div",_R,[Zt(D("input",{"onUpdate:modelValue":X[23]||(X[23]=Ee=>oe.value=Ee),type:"text",class:"fx-perm-input",autocomplete:"off",placeholder:i("e-posta(lar) — virgülle ayırın","email(s) — comma separated"),onKeyup:hn(Fe,["enter"])},null,40,yR),[[Fr,oe.value]]),D("button",{class:"fx-perm-btn",disabled:ye.value,onClick:Fe},K(i("Gönder","Send")),9,xR)]),we.value?(z(),B("div",wR,K(we.value),1)):Re("",!0),q.value?(z(),B("button",{key:2,type:"button",class:"fx-perm-btn fx-perm-btn--ghost fx-perm-sharebtn",onClick:X[24]||(X[24]=Ee=>Be(Le()))},[X[29]||(X[29]=D("span",{"aria-hidden":"true"},"📤",-1)),$t(" "+K(i("Paylaş","Share")),1)])):Re("",!0)])):Re("",!0)])):Re("",!0)])])])}}}),ER={key:0,class:"fe__presence"},SR=["title"],CR={key:1,class:"fe-e2e-strip",role:"status"},AR={class:"fe-e2e-strip__label"},TR={key:0,class:"fe__skeleton",role:"status"},DR={class:"fe-sr-only"},MR={key:0,class:"fe-skel-grid","aria-hidden":"true"},OR={key:1,class:"fe-skel-list","aria-hidden":"true"},IR={key:1,class:"fe-state"},RR={class:"fe-state__title"},NR={class:"fe-state__path"},FR={class:"fe-state__hint"},LR={class:"fe-state__actions"},zR={key:2,class:"fe-state"},PR={class:"fe-state__title"},BR={class:"fe-state__hint"},$R={class:"fe-state__actions"},UR={class:"fe-state__details"},HR={class:"fe-state__details-summary"},qR={class:"fe-state__details-pre"},GR={key:3,class:"fe-state fe-e2e-lock"},KR={class:"fe-state__title"},VR={class:"fe-state__hint"},jR=["placeholder","disabled"],WR=["disabled"],YR={key:0,class:"fe-form__error",role:"alert"},ZR={key:4,class:"fe-state"},XR={class:"fe-state__title"},JR={class:"fe-state__hint"},QR={key:5,class:"fe-state"},eN={class:"fe-state__title"},tN={key:6,class:"fe-state"},rN={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"},nN={key:0},aN={class:"fe-state__title"},iN={key:0,class:"fe-state__hint"},oN={key:1,class:"fe-state__actions"},sN={key:1,class:"fe__dragover"},lN=["title","aria-label"],uN={class:"fe-recents__header"},cN={class:"fe-modal__head"},fN={class:"fe-modal__title"},dN={class:"fe-modal__body"},pN={class:"fe-toast__msg"},Eb="brf-file-explorer:view-mode",Sb="filex.inspector",Md="brf-file-explorer:path",Hi="application/x-brf-files",hN="/files/edit",Cb="filex.tourDone",Od="application/x-brf-files-src",Ab="filex.tabs",mN=Nt({__name:"FileExplorer",props:{config:{}},emits:["share-created","file-opened","error","upload-progress","selection-change","navigate"],setup(e,{expose:t,emit:r}){const n=e,a=r,i=pk(n.config),o=He(()=>n.config.locale||"tr"),{t:s}=yr(o),l=Nk(i,{reload:()=>Xt()}),u=l.presenceUsers,c=l.degraded;function f(O){const R=(O||"").replace(/^\/+|\/+$/g,"");if(R===".trash"||R.startsWith(".trash/"))return null;const _e=Tr(R);return!_e||!_e.includes("://")||_e.startsWith("://")?null:_e}Qt(()=>{l.start(),l.subscribe(f(_.value))}),nr(()=>l.stop());const d=Lk(n.config.apiBase,i),p=hk(n.config,i),h=new Map,m=Ak(n.config,i,{onSettled:O=>{var _e;const R=h.get(O.id);if(h.delete(O.id),O.status==="error")Et(O.error_message||"İşlem başarısız");else if(R)Or(`${R.message} (${O.progress_total})`,R.fn);else{const Ae=O.op_type==="copy"?"Kopyalandı":O.op_type==="move"?"Taşındı":"Silindi";Et(`${Ae} (${O.progress_total})`)}Xt(),(_e=Rr.value)==null||_e.reload()}}),b=ae(!1),g=(n.config.rootPath||"").trim(),v=g.replace("://","/").replace(/^\/+|\/+$/g,""),y=v||n.config.initialPath||"",_=ae(y),k=ae(n.config.defaultAdapter||"brf"),T=ae(y),E=ae([]),w=ae(""),x=ae(""),S=ae("");let M;function P(){Xt(M)}const F=cw((O,R)=>{let _e=(()=>{try{const Ae=localStorage.getItem(Eb);if(Ae==="list"||Ae==="grid"||Ae==="gallery")return Ae}catch{}return n.config.viewMode??"list"})();return{get(){return O(),_e},set(Ae){if(Ae!==_e){_e=Ae;try{localStorage.setItem(Eb,Ae)}catch{}R()}}}}),j=ae("comfortable"),te=ae(""),$=ae(!1),Y=ae(""),re=He(()=>$.value),H=He(()=>{if(!Ir.value)return"";const O=n.config.storages??[];return O.length===1?O[0].name:""}),U=He(()=>{const O=(_.value??"").replace(/^\/+|\/+$/g,"");return v&&O===v||H.value&&O===H.value?!1:O.length>0}),N=He(()=>Ir.value?!(_.value??"").replace(/^\/+|\/+$/g,""):!1);function V(){if($.value){Xt(Y.value);return}const O=(_.value??"").replace(/^\/+|\/+$/g,"");if(!O||O===v||H.value&&O===H.value)return;const R=O.lastIndexOf("/");let _e=R===-1?"":O.slice(0,R);v&&!(_e===v||_e.startsWith(v+"/"))&&(_e=v),Xt(_e)}const W=mk(()=>E.value);Tt(()=>[...W.selected.value],()=>{a("selection-change",W.nodes.value.map(R=>({path:R.path,basename:R.basename,type:R.type})));const O=W.nodes.value.filter(R=>R.type==="file");l.setFocus(O.length===1?O[0].basename:null)});const ge=ae({mode:null,items:[],sourcePath:null}),ke=ae(null),Oe=ae(new Set),ze=ae(!1),de=ae(!1),De=ae(null),Ne=ae(0);async function Ue(){try{const O=await jo(),R=n.config.apiBase??"",_e=await fetch(`${R}/api/files/manager/star/list?limit=500`,{headers:O,credentials:i.credentialsMode()});if(!_e.ok)return;const Ae=await _e.json(),Ge=Array.isArray(Ae)?Ae:Array.isArray(Ae==null?void 0:Ae.entries)?Ae.entries:Array.isArray(Ae==null?void 0:Ae.nodes)?Ae.nodes:[];Oe.value=new Set(Ge.map(Ce=>Ce.id).filter(Ce=>typeof Ce=="number"))}catch{}}function ee(O,R){if(typeof O.id!="number")return;const _e=new Set(Oe.value);R?_e.add(O.id):_e.delete(O.id),Oe.value=_e}async function oe(O){if(typeof O.id=="number")try{const R=n.config.apiBase??"";await fetch(`${R}/api/files/manager/recent`,{method:"POST",headers:await jo({"Content-Type":"application/json"}),credentials:i.credentialsMode(),body:JSON.stringify({node_id:O.id})}),Ne.value+=1}catch{}}function ye(O){typeof O.id=="number"&&(De.value=O,de.value=!0)}function we(O){const R={type:"file",path:O.path,basename:O.name,extension:(O.name.split(".").pop()||"").toLowerCase(),id:O.id};ze.value=!1,ri(R)}const ve=He(()=>{var R,_e,Ae;if(n.config.onlyOfficeBase)return n.config.onlyOfficeBase;const O=(_e=(R=ke.value)==null?void 0:R.external)==null?void 0:_e.onlyoffice;return O&&!Bg(O)?null:((Ae=ke.value)==null?void 0:Ae.onlyoffice_url)||null}),be=He(()=>ve.value&&i.endpoints.onlyOfficeConfig||null),le=He(()=>{var _e,Ae,Ge;const O=n.config.drawioUrl||n.config.drawioBase;if(O)return O;const R=(Ae=(_e=ke.value)==null?void 0:_e.external)==null?void 0:Ae.drawio;return R&&!Bg(R)?null:((Ge=ke.value)==null?void 0:Ge.drawio_url)||null}),Te=He(()=>{var O;return n.config.convertBase||((O=ke.value)==null?void 0:O.convert_url)||null}),ie=ae([]),se=ae(null),Ie=ae(!1),$e=ae(!1),je=ae(!1),Ze=ae(!1),Me=ae(!1),Pe=ae(null),qe=ae(!1),it=ae(null),_t=ae(null),J=ae(null),he=ae("edit"),pe=ae(!1),Fe=ae(null),ce=ae(!1),Se=ae(null),q=ae((()=>{try{return localStorage.getItem(Sb)==="1"}catch{return!1}})());function Ke(O){try{localStorage.setItem(Sb,O?"1":"0")}catch{}}function vt(){q.value=!q.value,Ke(q.value)}function A(){q.value||(q.value=!0,Ke(!0))}function Le(){q.value&&(q.value=!1,Ke(!1))}const Be=He(()=>{if($.value)return s("node.trash");const O=(_.value??"").replace(/^\/+|\/+$/g,"");return O?O.split("/").pop()||O:k.value||s("breadcrumb.root")});function L(O){Se.value=O,ce.value=!0}function X(O){return O===void 0||O==="editor"||O==="owner"}function me(O){var R;return O.length===1&&typeof((R=O[0])==null?void 0:R.perm)=="string"?O[0].perm:w.value}const nt=He(()=>X(w.value)),Ee=He(()=>nt.value&&!N.value&&!$.value),Je=ae(null),wt=ae(null),_r=ae(null),Pt=ae(!1),Ut=ae(!1);let fr,dr;function Jr(O){Ut.value=!!(O&&"matches"in O&&O.matches)}Qt(()=>{var O;typeof ResizeObserver<"u"&&wt.value&&(fr=new ResizeObserver(R=>{var Ae,Ge,Ce;const _e=((Ge=(Ae=R[0])==null?void 0:Ae.contentRect)==null?void 0:Ge.width)??((Ce=wt.value)==null?void 0:Ce.clientWidth)??0;Pt.value=_e>0&&_e<560}),fr.observe(wt.value)),typeof window<"u"&&window.matchMedia&&(dr=window.matchMedia("(pointer: coarse)"),Jr(dr),(O=dr.addEventListener)==null||O.call(dr,"change",Jr))}),nr(()=>{var O;fr==null||fr.disconnect(),fr=void 0,(O=dr==null?void 0:dr.removeEventListener)==null||O.call(dr,"change",Jr),dr=void 0});const wn=ae(null);let Sa;function Ar(O,R){wn.value=O,Sa&&clearTimeout(Sa),Sa=setTimeout(()=>wn.value=null,R)}function Et(O){Ar({message:O},2500)}function Or(O,R){Ar({message:O,actionLabel:s("toast.undo"),action:R},8e3)}function Kn(){Sa&&(clearTimeout(Sa),Sa=void 0),wn.value=null}async function la(){var R;const O=(R=wn.value)==null?void 0:R.action;if(Kn(),!!O)try{await O(),Et(s("toast.undone")),await Xt()}catch{Et(s("toast.undo_failed"))}}const Ir=He(()=>n.config.multiStorageRoot===!0);function QK(O){const R=O.replace(/^\/+|\/+$/g,"");if(!R)return{adapter:"",rel:""};const _e=R.indexOf("/");return _e===-1?{adapter:R,rel:""}:{adapter:R.slice(0,_e),rel:R.slice(_e+1)}}function em(O){if(O.includes("://"))return O;const{adapter:R,rel:_e}=QK(O);return R?_e?`${R}://${_e}`:`${R}://`:""}function el(O){const R=O.indexOf("://");if(R===-1)return O.replace(/^\/+|\/+$/g,"");const _e=O.slice(0,R),Ae=O.slice(R+3).replace(/^\/+|\/+$/g,"");return Ae?`${_e}/${Ae}`:_e}function G5(){return(n.config.storages??[]).map(R=>({type:"dir",path:R.name,basename:R.label||R.name,extension:"",storage:R.name,visibility:"private",file_size:0,mime_type:"inode/storage",extra_metadata:{driver:R.driver,readOnly:R.readOnly}}))}function K5(){var O;DM(!Rl.value),Xt(),(O=Rr.value)==null||O.reload()}async function Xt(O){b.value=!0,$.value=!1;let R=O??_.value??"";try{if(x.value="",S.value="",v){const Ge=String(R).replace(/^\/+|\/+$/g,"");(!Ge||!(Ge===v||Ge.startsWith(v+"/")))&&(R=v)}if(Ir.value&&!em(R)){if(H.value)return await Xt(H.value);_.value="",k.value="",T.value="",Wn.value="",E.value=G5();return}const _e=Ir.value?em(R):Tr(R),Ae=te.value?await i.search(_e,te.value):await i.index(_e);k.value=Ae.adapter,T.value=Ae.dirname,w.value=Ae.perm||"",Wn.value=typeof Ae.e2e_root=="string"?Ae.e2e_root:"",E.value=yb(Ae.files),xb(E.value,Ae.adapter,Ae.dirname,n.config.trashVisible!==!1)&&wb(E.value,Ae.adapter,i),_.value=Ir.value?el(Ae.dirname):Vo(Ae.dirname)}catch(_e){const Ae=_e instanceof Error?_e.message:String(_e),Ge=_e.status;if(Ge===404||Ge===403){x.value=String(R),Wn.value="",E.value=[],a("error",{message:Ae,context:{path:O}});return}S.value=Ae,M=typeof R=="string"?R:void 0,a("error",{message:Ae,context:{path:O}}),E.value.length>0&&Et(Ae)}finally{b.value=!1}}function Vo(O){const R=O.indexOf("://");return R===-1?O:O.slice(R+3)}function eV(){x.value="",X5(""),Xt("")}async function Tu(){b.value=!0,Y.value=k.value||"",$.value=!0,Wn.value="",W.clear();try{const{entries:O}=await i.listTrash();E.value=O.map(R=>({type:"file",id:R.id,path:R.storage_name?`${R.storage_name}://${R.path}`:R.path,basename:R.name,extension:R.name.includes(".")&&R.name.split(".").pop()||"",storage:R.storage_name||"",visibility:"private",file_size:R.size,mime_type:R.mime||"",extra_metadata:{deleted_at:R.deleted_at,ttl_days:R.ttl_days??null}})),T.value=".trash",_.value=".trash"}catch(O){const R=O instanceof Error?O.message:String(O);a("error",{message:R,context:{op:"trash-list"}}),Et(R)}finally{b.value=!1}}function Tr(O){if(O&&O.includes("://"))return O;if(Ir.value){const R=em(O??"");return R||(k.value?`${k.value}://`:"")}return O?`${k.value}://${O.replace(/^\/+/,"")}`:`${k.value}://`}function V5(O){const R=O.indexOf("://"),_e=(R===-1?O:O.slice(R+3)).replace(/\/+$/,""),Ae=_e.lastIndexOf("/");return Ae===-1?_e:_e.slice(Ae+1)}function ff(O){const R=O.indexOf("://"),_e=R===-1?"":O.slice(0,R+3),Ae=(R===-1?O:O.slice(R+3)).replace(/\/+$/,""),Ge=Ae.lastIndexOf("/");return Ge===-1?_e:_e+Ae.slice(0,Ge)}function tm(O,R){const _e=Ae=>{const Ge=Ae.indexOf("://"),Ce=Ge===-1?"":Ae.slice(0,Ge+3),At=(Ge===-1?Ae:Ae.slice(Ge+3)).replace(/\/+$/,"");return Ce+At};return _e(O)===_e(R)}function Du(O,R){return O?O.endsWith("://")||O.endsWith("/")?O+R:`${O}/${R}`:R}function j5(O,R,_e,Ae){if(!Ae||!_e)return;const Ge=R.map(Ce=>Du(_e,V5(Ce)));Ge.length!==0&&h.set(O,{message:s("toast.moved"),fn:async()=>{const{op:Ce}=await i.moveAsync(Ge,Ae,_e);m.register(Ce)}})}Tt(()=>te.value,()=>void Xt());function df(){return n.config.pathPersist??"hash"}function W5(){const O=df();return O==="hash"||O==="hash+localStorage"}function tV(O){try{return decodeURIComponent(O)}catch{return O}}function Y5(){try{return localStorage.getItem(Md)||""}catch{return""}}function Z5(){const O=window.location.hash||"";return O.startsWith("#")?tV(O.slice(1)).replace(/^\/+|\/+$/g,""):""}function rV(){if(typeof window>"u")return"";const O=df();if(O==="none")return"";if(O==="localStorage")return Y5();const R=Z5();return R||O==="hash"?R:y?"":Y5()}function X5(O){if(typeof window>"u")return;const R=df();if(R==="none")return;if(R==="localStorage"||R==="hash+localStorage"){try{O?localStorage.setItem(Md,O):localStorage.removeItem(Md)}catch{}if(R==="localStorage")return}const _e=O?O.split("/").map(encodeURIComponent).join("/"):"",Ae=_e?`#${_e}`:"";(window.location.hash||"")!==Ae&&history.replaceState(null,"",Ae||window.location.pathname+window.location.search)}function J5(){if(!W5())return;const O=Z5();O&&O!==_.value&&Xt(O)}Tt(_,O=>{X5(O),a("navigate",{path:O}),l.subscribe(f(O))}),t({reload:()=>Xt()}),Qt(async()=>{var R;md();const O=rV();await Xt(O||void 0),await Hr(),(R=wt.value)==null||R.focus(),Ue(),W5()&&window.addEventListener("hashchange",J5),i.endpoints.opsList&&m.startPolling(),i.endpoints.capabilities&&i.capabilities().then(_e=>{ke.value=_e}).catch(()=>{})});const rm=ae(!1),pf=ae(!1);function nV(O){return i.globalSearch(O,{limit:8,scope:"all"})}async function aV(O){const R=String(O.path??"").replace(/^\/+|\/+$/g,"");if(!R)return;const _e=O.type==="dir",Ae=R.lastIndexOf("/"),Ge=_e?R:Ae===-1?"":R.slice(0,Ae);let Ce=Ge;if(Ir.value){const Yt=n.config.storages??[],Qr=typeof O.storage=="string"&&O.storage||typeof O.storage_name=="string"&&O.storage_name||(Yt.length===1?Yt[0].name:"")||k.value;if(!Qr)return;Ce=Ge?`${Qr}/${Ge}`:Qr}if(await Xt(Ce),_e)return;const At=String(O.name??R.slice(Ae+1)),qt=E.value.find(Yt=>Yt.type==="file"&&Yt.basename===At);qt&&(W.click(qt.path),ri(qt))}Ek(wt,{onDelete:()=>{var O;if(ua.value){const R=((O=Rr.value)==null?void 0:O.selectedNodes())??[];R.length&&(tl.value=R,qe.value=!0,je.value=!0)}else W.isEmpty.value||(qe.value=!1,je.value=!0)},onRename:()=>{var O;if(ua.value){const R=((O=Rr.value)==null?void 0:O.selectedNodes())??[];R.length===1&&(Pe.value=R[0],qe.value=!0,$e.value=!0)}else W.nodes.value.length===1&&(Pe.value=W.nodes.value[0],qe.value=!1,$e.value=!0)},onSelectAll:()=>{var O;return ua.value?(O=Rr.value)==null?void 0:O.selectAll():W.selectAll()},onOpen:()=>{var R;if(ua.value)return(R=Rr.value)==null?void 0:R.openSelected();const O=W.nodes.value[0];O&&ri(O)},onClose:()=>{var O;Ie.value=!1,$e.value=!1,je.value=!1,Ze.value=!1,Me.value=!1,(O=Je.value)==null||O.hide(),Kn(),Pt.value&&Le()},onFocusSearch:()=>{var O;return(O=_r.value)==null?void 0:O.focusSearch()},onCut:()=>ua.value?b8():_V(),onCopy:()=>ua.value?_8():yV(),onPaste:()=>ua.value?void y8():void e8(),onGoUp:()=>{var O;return ua.value?(O=Rr.value)==null?void 0:O.goUp():V()},onPathJump:()=>{rm.value=!0},onShowHelp:()=>{pf.value=!0},onQuickLook:()=>KV(),onToggleHidden:()=>K5(),onToggleInspector:()=>vt(),onTabNew:()=>vm(),onTabClose:()=>f8(mm.value),onTabNext:()=>rj(),onTabPrev:()=>nj(),hasSelection:()=>!W.isEmpty.value});const iV=new Set(["docx","xlsx","pptx","doc","xls","ppt","odt","ods","odp"]);function ri(O){if(O.basename===".trash"){Tu();return}if(O.type==="dir"){const _e=Ir.value?el(O.path):Vo(O.path);Xt(_e);return}if(ni.value&&O.type==="file"){wm(O);return}if(bm.value&&O.type==="file")return;const R=(O.extension||"").toLowerCase();he.value=X(O.perm??w.value)?sV(R):"view",J.value=O,Me.value=!0,a("file-opened",{path:O.path,basename:O.basename}),oe(O)}const oV=new Set([...iV,"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 sV(O){return oV.has(O)?"view":"edit"}async function lV(O){const R=O??W.nodes.value;if(R.length!==0)try{if($.value){const Ge=R.map(At=>At.id).filter(At=>typeof At=="number"),{restored:Ce}=await i.restoreIds(Ge);Et(`${Ce} öğe geri getirildi`),W.clear(),await Tu();return}if(!i.endpoints.restore)return;const _e=R.map(Ge=>Ge.path),{restored:Ae}=await i.restore(_e);Et(`${Ae} öğe geri getirildi`),W.clear(),await Xt()}catch(_e){a("error",{message:_e.message,context:{op:"restore"}})}}function Q5(O){if(ni.value&&O.type==="file"){wm(O);return}he.value="view",J.value=O,Me.value=!0,oe(O)}function uV(O){if(O.type==="dir"){const At=Ir.value?el(O.path):Vo(O.path);Xt(At);return}if(ca.value){ni.value&&wm(O);return}if(!X(O.perm??w.value)){Q5(O);return}const R=(O.extension||"").toLowerCase(),_e=n.config.openPageBase;if(!_e){ri(O);return}const Ae=i8(_e),Ge=Ae.includes("?")?"&":"?",Ce=`${Ae}${Ge}path=${encodeURIComponent(O.path)}&type=${encodeURIComponent(R)}&mode=edit`;window.open(Ce,"_blank","noopener"),a("file-opened",{path:O.path,basename:O.basename}),oe(O)}const An=ae("selection"),nm=ae(""),tl=ae([]),cV=ae(""),fV=He(()=>{const O=W.nodes.value;return O.length===0?"none":O.length===1?O[0].type==="dir"?"single-dir":"single-file":"multi"});async function dV(O){const R=W.nodes.value;if(O==="open"){R[0]&&ri(R[0]);return}await om(O,R)}async function am(O,R){var _e;An.value="selection",W.has(O.path)||(W.click(O.path),await Hr()),(_e=Je.value)==null||_e.show({clientX:R.clientX,clientY:R.clientY},W.nodes.value)}function pV(O){var R;O.preventDefault(),An.value="selection",W.clear(),(R=Je.value)==null||R.show({clientX:O.clientX,clientY:O.clientY},[])}function hV(O){var R;An.value="breadcrumb",nm.value=O.adapterPath,cV.value=O.label,(R=Je.value)==null||R.show({clientX:O.x,clientY:O.y},[])}function mV(O,R){var Ae,Ge;Ni.value="split";const _e=((Ae=Rr.value)==null?void 0:Ae.selectedNodes())??[];tl.value=O?_e.length>0?_e:[O]:[],An.value="pane",(Ge=Je.value)==null||Ge.show({clientX:R.clientX,clientY:R.clientY},tl.value)}const vV=He(()=>{if(An.value==="breadcrumb")return[{key:"open",label:s("ctx.open"),icon:"↗"},{key:"copy-path",label:s("breadcrumb.copy_path"),icon:"📋"}];if(An.value==="pane"){const Ce=tl.value;return Ce.length===0?[{key:"new-folder",label:s("toolbar.new_folder"),icon:"📁"},{key:"paste",label:s("ctx.paste"),icon:"📋",disabled:!ge.value.mode}]:im(Ce)}const O=W.nodes.value,R=O.length>0,_e=O.length===1;if(re.value)return R?[{key:"restore",label:s("ctx.restore"),icon:"↩"},{divider:!0,key:"sep1",label:""},{key:"delete",label:s("ctx.delete_perm"),icon:"🗑",danger:!0}]:[];const Ae=(_.value??"").replace(/^\/+|\/+$/g,"");if(Ir.value&&Ae==="")return R?_e?[{key:"open",label:s("ctx.open"),icon:"↗"},{key:"open-tab",label:s("ctx.open_new_tab"),icon:"⧉"}]:[]:[];if(!R){const Ce=[{key:"toggle-hidden",label:Rl.value?s("ctx.hide_hidden"):s("ctx.show_hidden"),icon:Rl.value?"🙈":"👁"}];return X(w.value)?[{key:"new-folder",label:s("toolbar.new_folder"),icon:"📁"},{key:"paste",label:s("ctx.paste"),icon:"📋",disabled:!ge.value.mode},...Ce]:Ce}return im(O)});function im(O){var S8,C8,A8;const R=O.length>0,_e=O.length===1,Ae=_e&&((S8=O[0])==null?void 0:S8.type)==="file",Ge=o.value==="en"?"Tags…":"Etiketler…",Ce=_e&&typeof((C8=O[0])==null?void 0:C8.id)=="number",At=o.value==="en"?"Copy node id":"Node id'yi kopyala",qt=me(O),Yt=X(qt),Qr=o.value==="en"?"Share / Permissions":"Paylaş / İzinler";return[{key:"open",label:s("ctx.open"),icon:"↗",hidden:!_e},{key:"open-tab",label:s("ctx.open_new_tab"),icon:"⧉",hidden:!_e||((A8=O[0])==null?void 0:A8.type)!=="dir"},{key:"preview",label:s("ctx.preview"),icon:"👁",hidden:!_e,disabled:!Ae},{key:"download",label:s("ctx.download"),icon:"⬇",hidden:!_e,disabled:!Ae},{key:"convert",label:s("ctx.convert"),icon:"🔄",hidden:!_e||!Te.value||!Yt||ca.value,disabled:!Ae},{key:"access",label:Qr,icon:"🔗",hidden:!_e||!Yt||ca.value},{key:"details",label:s("ctx.details"),icon:"ℹ",hidden:!R},{key:"copy-id",label:At,icon:"🆔",hidden:!Ce,disabled:!Ce},{divider:!0,key:"sep1",label:"",hidden:!Yt},{key:"rename",label:s("ctx.rename"),icon:"✎",hidden:!_e||!Yt,disabled:!_e},{key:"cut",label:s("ctx.cut"),icon:"✂",hidden:!R||!Yt,disabled:!R},{key:"copy",label:s("ctx.copy"),icon:"❐",hidden:!R,disabled:!R},{key:"paste",label:s("ctx.paste"),icon:"📋",hidden:!Yt,disabled:!ge.value.mode},{divider:!0,key:"sep-meta",label:"",hidden:!Ce},{key:"tags",label:Ge,icon:"🏷",hidden:!Ce,disabled:!Ce},{divider:!0,key:"sep2",label:"",hidden:!Yt},{key:"delete",label:s("ctx.delete"),icon:"🗑",danger:!0,hidden:!R||!Yt,disabled:!R}]}const gV=He(()=>{const O=W.nodes.value;if(re.value)return O.length===0?[]:[{key:"restore",label:s("ctx.restore"),icon:"↩"},{key:"delete",label:s("ctx.delete_perm"),icon:"🗑",danger:!0}];const R=(_.value??"").replace(/^\/+|\/+$/g,"");return Ir.value&&R===""?O.length===1?[{key:"open",label:s("ctx.open"),icon:"↗"}]:[]:O.length===0?[]:im(O)});async function bV(O,R){if(An.value==="breadcrumb"){O.key==="open"?Xt(Vo(nm.value)):O.key==="copy-path"&&await a8(nm.value);return}if(An.value==="pane"){await om(O.key,tl.value);return}await om(O.key,R)}async function om(O,R){var _e;switch(O){case"open":R[0]&&uV(R[0]);break;case"preview":R[0]&&Q5(R[0]);break;case"download":R[0]&&wV(R[0]);break;case"convert":R[0]&&AV(R[0]);break;case"share":R[0]&&CV(R[0]);break;case"access":R[0]&&(Se.value=R[0],ce.value=!0);break;case"details":A();break;case"copy-id":if(R[0]&&typeof R[0].id=="number"){const Ae=R[0].id;(_e=navigator.clipboard)==null||_e.writeText(String(Ae)).then(()=>Et(o.value==="en"?`Node id ${Ae} copied`:`Node id ${Ae} kopyalandı`),()=>Et(`#${Ae}`))}break;case"tags":R[0]&&ye(R[0]);break;case"rename":R[0]&&(Pe.value=R[0],qe.value=An.value==="pane",$e.value=!0);break;case"cut":An.value==="pane"?b8():(ge.value={mode:"cut",items:R,sourcePath:_.value},Et("Kes → Yapıştır hazır"));break;case"copy":An.value==="pane"?_8():(ge.value={mode:"copy",items:R,sourcePath:_.value},Et("Kopyala → Yapıştır hazır"));break;case"paste":An.value==="pane"||ua.value?await y8():await e8();break;case"delete":qe.value=An.value==="pane",je.value=!0;break;case"restore":R.length>0&&await lV(R);break;case"toggle-hidden":K5();break;case"new-folder":qe.value=An.value==="pane",Ie.value=!0;break;case"duplicate":R[0]&&await xV(R[0]);break;case"open-tab":R[0]&&d8(R[0]);break}}function _V(){W.isEmpty.value||(ge.value={mode:"cut",items:W.nodes.value,sourcePath:_.value},Et("Kesildi"))}function yV(){W.isEmpty.value||(ge.value={mode:"copy",items:W.nodes.value,sourcePath:_.value},Et("Kopyalandı"))}async function e8(){const O=ge.value;if(!(!O.mode||O.items.length===0))try{const R=O.items.map(Ge=>Ge.path),_e=O.sourcePath||"";if(O.mode==="cut"&&_e===_.value){Et("Aynı klasöre kesilemez");return}if(O.mode==="cut"){const Ge=Tr(_.value),Ce=Tr(_e)||void 0,{op:At}=await i.moveAsync(R,Ge,Ce);j5(At.id,R,Ge,Ce),m.register(At),Et("Taşıma kuyruğa alındı")}else{const{op:Ge}=await i.copy(R,Tr(_.value));m.register(Ge),Et("Kopyalama kuyruğa alındı")}ge.value={mode:null,items:[],sourcePath:null}}catch(R){a("error",{message:R.message,context:{op:"paste"}})}}async function xV(O){try{const{op:R}=await i.copy([O.path],Tr(_.value));m.register(R)}catch(R){a("error",{message:R.message,context:{op:"duplicate"}})}}function wV(O){if(ni.value){vj(O);return}const R=i.downloadUrl(O.path);window.open(R,"_blank")}async function kV(O){var _e,Ae;const R=qe.value;try{const Ge=Tr(R?((_e=Rr.value)==null?void 0:_e.getPath())??"":_.value);await i.newFolder(Ge,O),Ie.value=!1,R?await((Ae=Rr.value)==null?void 0:Ae.reload()):await Xt()}catch(Ge){a("error",{message:Ge.message,context:{op:"newfolder"}})}}async function EV(O){var Ae,Ge;const R=Pe.value;if(!R)return;const _e=qe.value;try{const Ce=Tr(_e?((Ae=Rr.value)==null?void 0:Ae.getPath())??"":_.value),At=R.path,qt=R.basename;if(await i.rename(Ce,At,O),$e.value=!1,Pe.value=null,_e?await((Ge=Rr.value)==null?void 0:Ge.reload()):await Xt(),O&&O!==qt){const Yt=Du(ff(At),O);Or(s("toast.renamed"),async()=>{await i.rename(Ce,Yt,qt)})}}catch(Ce){a("error",{message:Ce.message,context:{op:"rename"}})}}async function SV(){var At,qt,Yt;if($.value){je.value=!1,Et("Çöpteki öğeler saklama süresi sonunda otomatik silinir. Kalıcı silme yönetici panelinden yapılır.");return}const O=qe.value,R=O?tl.value:W.nodes.value,_e=Tr(O?((At=Rr.value)==null?void 0:At.getPath())??"":_.value),Ae=R.map(Qr=>Qr.path);if(Ae.length===0){je.value=!1;return}const Ge=R.map(Qr=>Qr.id).filter(Qr=>typeof Qr=="number"),Ce=i.endpoints.trashRestore&&Ge.length===R.length?async()=>{const{restored:Qr}=await i.restoreIds(Ge);if(Qr===0)throw new Error("restore failed")}:null;try{if(i.endpoints.deleteAsync){const{op:Qr}=await i.deleteAsync(Ae,_e);Ce&&h.set(Qr.id,{message:s("toast.trashed"),fn:Ce}),m.register(Qr),Et("Silme kuyruğa alındı")}else await i.deleteItems(_e,Ae),O?await((qt=Rr.value)==null?void 0:qt.reload()):await Xt(),Ce&&Or(s("toast.trashed"),Ce);je.value=!1,O?(Yt=Rr.value)==null||Yt.reload():W.clear()}catch(Qr){a("error",{message:Qr.message,context:{op:"delete"}})}}function CV(O){it.value=O,_t.value=null,Ze.value=!0}function AV(O){Fe.value=O,pe.value=!0}function TV(O){Et(o.value==="en"?`Converted → ${O}`:`Dönüştürüldü → ${O}`),Xt()}async function DV(O){const R=it.value;if(R)try{const{share:_e}=await i.createShare({path:R.path,password:O.password,expires_at:O.expires_at,max_downloads:O.max_downloads});_t.value=_e,a("share-created",{path:R.path,url:_e.url,pin:_e.password_pin??null})}catch(_e){a("error",{message:_e.message,context:{op:"share"}})}}function MV(){Ze.value=!1,it.value=null,_t.value=null}function hf(){var O;if(!nt.value){Et(o.value==="en"?"Read-only here":"Burada yazma yetkiniz yok");return}(O=se.value)==null||O.click()}function OV(O){const R=O.target,_e=R.files?Array.from(R.files):[];R.value="",t8(_e)}async function t8(O){if(O.length===0)return;if(bm.value){Et(s("e2e.upload.locked"));return}if(ni.value&&(O=await gj(O),O.length===0))return;const R=!!(i.endpoints.uploadInit&&i.endpoints.uploadFinalize);for(const _e of O)R&&_e.size>=10*1024*1024&&await RV(_e)||await IV(_e);await Xt()}async function IV(O){const R=crypto.randomUUID(),_e=Tr(_.value);ie.value=[...ie.value,{id:R,file:O,path:_e,totalBytes:O.size,uploadedBytes:0,percent:0,status:"uploading",cancel(){}}];const Ae=Ge=>{const Ce=ie.value.findIndex(qt=>qt.id===R);if(Ce===-1)return;const At=[...ie.value];At[Ce]={...At[Ce],...Ge},ie.value=At};try{await i.uploadMultipart(_e,[O],Ge=>{Ae({percent:Ge,uploadedBytes:Math.round(Ge/100*O.size)}),a("upload-progress",{uploadId:R,percent:Ge,done:Ge>=100})}),Ae({percent:100,uploadedBytes:O.size,status:"done"}),a("upload-progress",{uploadId:R,percent:100,done:!0})}catch(Ge){const Ce=Ge.message;Ae({status:"error",error:Ce}),Et(s("upload.failed",{name:O.name})),a("error",{message:Ce,context:{op:"upload",file:O.name}})}}async function RV(O){const R=crypto.randomUUID();let _e=!1;try{return await p.uploadFile({path:Tr(_.value),file:O,onProgress:Ae=>{if(_e){const Ge=ie.value.findIndex(Ce=>Ce.id===R);if(Ge!==-1){const Ce=[...ie.value];Ce[Ge]={...Ae,id:R},ie.value=Ce}}else{if(Ae.status!=="uploading"&&Ae.uploadedBytes<=0)return;ie.value=[...ie.value,{...Ae,id:R}],_e=!0}a("upload-progress",{uploadId:Ae.uploadId??R,percent:Ae.percent,done:Ae.status==="done"})}}),!0}catch{return _e&&(ie.value=ie.value.filter(Ae=>Ae.id!==R)),!1}}const mo=ae(0),vo=ae(!1);function sm(O){const R=O.dataTransfer;if(!R||R.types&&R.types.includes(Hi))return!1;if(R.items&&R.items.length>0){let _e=!1;for(const Ae of Array.from(R.items))if(Ae.kind==="file"){_e=!0;break}return _e}return R.types?R.types.includes("Files"):!1}function NV(O){sm(O)&&(O.preventDefault(),mo.value++,vo.value=!0)}function FV(){mo.value=Math.max(0,mo.value-1),mo.value===0&&(vo.value=!1)}function LV(O){var R;if((R=O.dataTransfer)!=null&&R.types.includes(Hi)){O.preventDefault();return}sm(O)&&O.preventDefault()}function zV(O){var _e,Ae,Ge;if((_e=O.dataTransfer)!=null&&_e.types.includes(Hi)){const Ce=O.dataTransfer.getData(Od)||"",At=Tr(_.value);if(Ce&&At&&Ce!==At&&!$.value&&nt.value){O.preventDefault(),mo.value=0,vo.value=!1;try{const qt=JSON.parse(O.dataTransfer.getData(Hi));Iu(qt.map(Yt=>Yt.path),At,Ce)}catch{}return}}if((Ae=O.dataTransfer)!=null&&Ae.types.includes(Hi)){mo.value=0,vo.value=!1;return}if(!sm(O)){mo.value=0,vo.value=!1;return}if(O.preventDefault(),mo.value=0,vo.value=!1,!nt.value){Et(o.value==="en"?"Read-only here":"Burada yazma yetkiniz yok");return}const R=(Ge=O.dataTransfer)!=null&&Ge.files?Array.from(O.dataTransfer.files):[];R.length!==0&&t8(R)}function r8(O){var R;(R=O.dataTransfer)!=null&&R.types.includes("Files")&&O.preventDefault()}function n8(O){const R=wt.value,_e=O.target;R&&_e&&!R.contains(_e)&&O.preventDefault()}Qt(()=>{window.addEventListener("dragover",r8),window.addEventListener("drop",n8)}),nr(()=>{window.removeEventListener("dragover",r8),window.removeEventListener("drop",n8),window.removeEventListener("hashchange",J5)});const mf=He(()=>ge.value.mode!=="cut"?new Set:new Set(ge.value.items.map(O=>O.path)));function lm(O,R){if(!R.dataTransfer)return;if(O.basename===".trash"){R.preventDefault();return}W.has(O.path)||W.click(O.path);const _e=W.nodes.value.filter(Ae=>!mf.value.has(Ae.path)).filter(Ae=>Ae.basename!==".trash").map(Ae=>({path:Ae.path,basename:Ae.basename,type:Ae.type}));R.dataTransfer.setData(Hi,JSON.stringify(_e)),R.dataTransfer.setData(Od,Tr(_.value)),R.dataTransfer.setData("text/plain",_e.map(Ae=>Ae.path).join(`
24
- `)),R.dataTransfer.effectAllowed="move"}async function PV(O,R,_e,Ae){try{const Ge=Ae??Tr(_.value);if(i.endpoints.moveAsync){const{op:Ce}=await i.moveAsync(O,R,Ge);j5(Ce.id,O,R,Ge),m.register(Ce),Et("Taşıma kuyruğa alındı")}else{await i.move(Ge,O,R),await Xt();const Ce=O.map(At=>Du(R,V5(At)));Or(s("toast.moved"),async()=>{await i.move(R,Ce,Ge)})}W.clear()}catch(Ge){a("error",{message:Ge.message,context:{op:_e,targetDir:R}})}}async function um(O,R){var At;if(O.type!=="dir")return;const _e=(At=R.dataTransfer)==null?void 0:At.getData(Hi);if(!_e)return;let Ae=[];try{Ae=JSON.parse(_e)}catch{return}if(Ae.length===0)return;const Ge=O.path,Ce=Ae.map(qt=>qt.path).filter(qt=>qt&&qt!==Ge&&!Ge.startsWith(qt+"/")&&!tm(ff(qt),Ge));Ce.length!==0&&await Iu(Ce,Ge,w8(R))}async function BV(O,R){var At;const _e=(At=R.dataTransfer)==null?void 0:At.getData(Hi);if(!_e)return;let Ae=[];try{Ae=JSON.parse(_e)}catch{return}if(Ae.length===0)return;const Ge=O,Ce=Ae.map(qt=>qt.path).filter(qt=>qt&&qt!==Ge&&!Ge.startsWith(qt+"/")&&!tm(ff(qt),Ge));Ce.length!==0&&await Iu(Ce,Ge,w8(R))}function $V(O){O.cancel()}function UV(O){ie.value=ie.value.filter(R=>R.id!==O.id)}function HV(O){if(Ir.value&&!O){Xt("");return}if(Ir.value){Xt(el(O));return}Xt(Vo(O))}async function a8(O){try{await navigator.clipboard.writeText(O),Et(s("breadcrumb.copy_path"))}catch{}}function jo(O={}){return i.authHeaders({...O})}function i8(O){if(/^[a-z][a-z0-9+.-]*:\/\//i.test(O))return O;const R=n.config.apiBase;if(!R)return O;try{return new URL(O,R.endsWith("/")?R:`${R}/`).toString()}catch{return O}}const o8=He(()=>i8(n.config.viewerBaseUrl||hN)),vf=ae(!1),{themeId:gf,setTheme:qV}=LA(),{themeMode:cm,setThemeMode:GV}=BA(),Vn=He(()=>cm.value==="host"?n.config.theme||"auto":cm.value),jn=typeof window<"u"&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):void 0,s8=ae(!!(jn!=null&&jn.matches));function l8(O){s8.value=O.matches}Qt(()=>{var O;return(O=jn==null?void 0:jn.addEventListener)==null?void 0:O.call(jn,"change",l8)}),nr(()=>{var O;return(O=jn==null?void 0:jn.removeEventListener)==null?void 0:O.call(jn,"change",l8)});const fm=He(()=>Vn.value==="dark"||Vn.value!=="light"&&s8.value);Tt([gf,fm,wt],()=>{HA(gf.value),wt.value&&$A(wt.value,gf.value,fm.value)},{immediate:!0});const Mu=ae(!1),go=ae(!1),Ii=ae(null);function KV(){if(go.value){go.value=!1;return}const O=W.nodes.value,R=O.length===1?O[0]:null;if(!(!R||R.type!=="file"||R.basename===".trash")){if(ca.value){if(!ni.value)return;(async()=>{try{await xm(R)}catch{Et(s("e2e.decrypt_failed"));return}Ii.value=R,go.value=!0,oe(R)})();return}Ii.value=R,go.value=!0,oe(R)}}function VV(O){const R=E.value.filter(Ce=>Ce.type==="file");if(R.length===0)return;const _e=Ii.value;let Ae=_e?R.findIndex(Ce=>Ce.path===_e.path):-1;Ae=Ae===-1?O>0?0:R.length-1:(Ae+O+R.length)%R.length;const Ge=R[Ae];!Ge||Ge.path===(_e==null?void 0:_e.path)||W.click(Ge.path)}function jV(){const O=Ii.value;go.value=!1,O&&ri(O)}Tt(()=>W.nodes.value,O=>{var _e,Ae;if(!go.value)return;const R=O.length===1&&O[0].type==="file"?O[0]:null;if(R&&R.path!==((_e=Ii.value)==null?void 0:_e.path)&&ni.value){(async()=>{try{await xm(R)}catch{}Ii.value=R,oe(R)})();return}R&&R.path!==((Ae=Ii.value)==null?void 0:Ae.path)&&(Ii.value=R,oe(R))});const dm=QD();function WV(O){ie.value=ie.value.filter(Ce=>Ce.id!==O.id);const R=O.file,_e=O.path||Tr(_.value),Ae=crypto.randomUUID();ie.value=[...ie.value,{id:Ae,file:R,path:_e,totalBytes:R.size,uploadedBytes:0,percent:0,status:"uploading",cancel(){}}];const Ge=Ce=>{const At=ie.value.findIndex(Yt=>Yt.id===Ae);if(At===-1)return;const qt=[...ie.value];qt[At]={...qt[At],...Ce},ie.value=qt};i.uploadMultipart(_e,[R],Ce=>{Ge({percent:Ce,uploadedBytes:Math.round(Ce/100*R.size)}),a("upload-progress",{uploadId:Ae,percent:Ce,done:Ce>=100})}).then(()=>{Ge({percent:100,uploadedBytes:R.size,status:"done"}),a("upload-progress",{uploadId:Ae,percent:100,done:!0}),Xt()}).catch(Ce=>{Ge({status:"error",error:Ce.message}),Et(s("upload.failed",{name:R.name})),a("error",{message:Ce.message,context:{op:"upload-retry",file:R.name}})})}const bf=ae(!1);let pm;function YV(){try{return localStorage.getItem(Cb)==="1"}catch{return!0}}function hm(){bf.value=!0}function ZV(){var O;bf.value=!1;try{localStorage.setItem(Cb,"1")}catch{}(O=wt.value)==null||O.focus()}function u8(){hm()}Qt(()=>{var O;(O=wt.value)==null||O.addEventListener("fe:tour-restart",u8),YV()||(pm=setTimeout(()=>{bf.value||hm()},900))}),nr(()=>{var O;pm&&clearTimeout(pm),(O=wt.value)==null||O.removeEventListener("fe:tour-restart",u8)});function XV(){return df()==="none"?null:g?`${Ab}:${g}`:Ab}const Nr=qM({storageKey:XV()}),JV=Nr.restore(),mm=Nr.activeId,Ri=He(()=>{var O;return((O=Nr.activeTab.value)==null?void 0:O.split)??null});function QV(O){const R=(O||"").replace(/^\/+|\/+$/g,"");return R===".trash"?s("node.trash"):R?R.split("/").pop()||R:Ir.value?s("breadcrumb.root"):k.value||s("breadcrumb.root")}const c8=He(()=>Nr.tabs.value.map(O=>({id:O.id,label:QV(O.path),split:!!O.split}))),ej=He(()=>Nr.hasMultiple.value||n.config.tabStrip==="always"&&c8.value.length>0);Tt(_,O=>Nr.syncActive({path:O})),Tt(F,O=>Nr.syncActive({viewMode:O})),Qt(()=>{JV||Nr.seed(_.value??"",F.value)});function _f(O){if(O.viewMode&&O.viewMode!==F.value&&(F.value=O.viewMode),O.path===".trash"){Tu();return}Xt(O.path)}function tj(O){const R=Nr.activate(O);R&&_f(R)}function vm(){Nr.openTab(_.value??"",{viewMode:F.value,background:!1})}function f8(O){const R=Nr.closeTab(O);R&&_f(R)}function rj(){const O=Nr.step(1);O&&_f(O)}function nj(){const O=Nr.step(-1);O&&_f(O)}function d8(O){if(O.type!=="dir"||O.basename===".trash")return;const R=Ir.value?el(O.path):Vo(O.path);Nr.openTab(R,{viewMode:F.value,background:!0})}function p8(O){if(O.button!==1)return;const R=O.target,_e=R&&typeof R.closest=="function"?R.closest("[data-fe-path]"):null,Ae=_e==null?void 0:_e.getAttribute("data-fe-path");if(!Ae)return;const Ge=E.value.find(Ce=>Ce.path===Ae);!Ge||Ge.type!=="dir"||Ge.basename===".trash"||(O.preventDefault(),d8(Ge))}function h8(O){if(O.button!==1)return;const R=O.target;R&&typeof R.closest=="function"&&R.closest("[data-fe-path]")&&O.preventDefault()}Qt(()=>{var O,R;(O=wt.value)==null||O.addEventListener("auxclick",p8),(R=wt.value)==null||R.addEventListener("mousedown",h8)}),nr(()=>{var O,R;(O=wt.value)==null||O.removeEventListener("auxclick",p8),(R=wt.value)==null||R.removeEventListener("mousedown",h8)});const Rr=ae(null),Ou=He(()=>!!Ri.value&&!Pt.value);function m8(){if(Ri.value){Nr.setSplit(null),Ni.value="main";return}Pt.value||Nr.setSplit({path:_.value??"",viewMode:F.value})}function aj(){Nr.setSplit(null),Ni.value="main"}function ij(O){Nr.setSplit({...Ri.value??{},path:O})}function oj(){Ni.value="main",Tu()}const v8=He(()=>{var O;return((O=Ri.value)==null?void 0:O.viewMode)??F.value});function sj(O){Ri.value&&Nr.setSplit({...Ri.value,viewMode:O})}const gm=He(()=>ua.value?v8.value:F.value);function g8(O){ua.value?sj(O):F.value=O}const Ni=ae("main");function lj(){Ni.value="main"}Tt(Ou,O=>{O||(Ni.value="main")});const ua=He(()=>Ni.value==="split"&&Ou.value),uj=He(()=>Ou.value&&Ni.value==="main");function cj(O){return Ir.value?el(O):Vo(O)}function fj(O){const R=String(O??"").replace(/^\/+|\/+$/g,"");return v&&(!R||!(R===v||R.startsWith(v+"/")))?v:R}function b8(){var R,_e;const O=((R=Rr.value)==null?void 0:R.selectedNodes())??[];O.length!==0&&(ge.value={mode:"cut",items:O,sourcePath:((_e=Rr.value)==null?void 0:_e.getPath())??""},Et("Kesildi"))}function _8(){var R,_e;const O=((R=Rr.value)==null?void 0:R.selectedNodes())??[];O.length!==0&&(ge.value={mode:"copy",items:O,sourcePath:((_e=Rr.value)==null?void 0:_e.getPath())??""},Et("Kopyalandı"))}async function y8(){const O=ge.value,R=Rr.value;if(!O.mode||O.items.length===0||!R)return;const _e=Tr(R.getPath()??""),Ae=Tr(O.sourcePath||"")||void 0;if(O.mode==="cut"&&Ae===_e){Et("Aynı klasöre kesilemez");return}await Iu(O.items.map(Ge=>Ge.path),_e,Ae,O.mode==="copy"),ge.value={mode:null,items:[],sourcePath:null}}function x8(O){const R=O.indexOf("://");return R===-1?"":O.slice(0,R)}function w8(O){var _e;return((_e=O.dataTransfer)==null?void 0:_e.getData(Od))||void 0}async function Iu(O,R,_e,Ae=!1){var qt;const Ge=O.filter(Yt=>Yt&&Yt!==R&&!R.startsWith(Yt+"/")&&!tm(ff(Yt),R));if(Ge.length===0||!R)return;const Ce=x8(R),At=Ge.some(Yt=>x8(Yt)!==Ce);if(At||Ae)try{const{op:Yt}=await i.copy(Ge,R);m.register(Yt),Et(s(At?"split.cross_copy":"split.copy_queued"))}catch(Yt){a("error",{message:Yt.message,context:{op:"transfer",targetWire:R}}),Et(At?s("split.cross_failed"):Yt.message);return}else await PV(Ge,R,"move-transfer",_e);(qt=Rr.value)==null||qt.reload()}function dj(O){Iu(O.sources,O.targetWire,O.originWire)}const rl=CM(),Ru=ae(0),Wn=ae(""),Nu=new Map,ca=He(()=>!!Wn.value&&!$.value),ni=He(()=>(Ru.value,ca.value&&rl.has(Wn.value))),bm=He(()=>(Ru.value,ca.value&&!rl.has(Wn.value))),nl=ae(""),al=ae(!1),il=ae(""),yf=ae(!1),_m=ae(!1);function ym(){return rl.get(Wn.value)??null}function k8(){for(const O of Nu.values())URL.revokeObjectURL(O);Nu.clear()}nr(k8);async function pj(){if(!(!nl.value||al.value||!Wn.value)){al.value=!0,il.value="";try{let O="";try{const{blob:Ae,url:Ge}=await i.fetchBlob(Du(Wn.value,x0));URL.revokeObjectURL(Ge),O=await Ae.text()}catch{il.value=s("e2e.unlock.marker_missing");return}const R=kM(O);if(!R){il.value=s("e2e.unlock.marker_missing");return}const _e=await EM(R,nl.value);if(!_e){il.value=s("e2e.unlock.wrong");return}rl.set(Wn.value,_e),Ru.value++,nl.value=""}finally{al.value=!1}}}function hj(){Wn.value&&(rl.lock(Wn.value),Ru.value++,k8(),Et(s("e2e.locked_toast")))}const mj={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 E8(O){const R=(O.extension||"").toLowerCase();return mj[R]||"application/octet-stream"}async function xm(O){const R=Nu.get(O.path);if(R)return R;const _e=ym();if(!_e)return null;const Ae=await i.fetchArrayBuffer(O.path);if(!Ad(Ae))return null;const Ge=await gb(_e,Ae),Ce=URL.createObjectURL(new Blob([Ge],{type:E8(O)}));return Nu.set(O.path,Ce),Ce}function xf(O){return Nu.get(O)??i.previewUrl(O)}async function wm(O){try{await xm(O)}catch{Et(s("e2e.decrypt_failed"));return}he.value="view",J.value=O,Me.value=!0,a("file-opened",{path:O.path,basename:O.basename}),oe(O)}async function vj(O){try{const R=await i.fetchArrayBuffer(O.path),_e=ym();let Ae=R;if(Ad(R)){if(!_e)throw new Error("locked");Ae=await gb(_e,R)}const Ge=URL.createObjectURL(new Blob([Ae],{type:E8(O)})),Ce=document.createElement("a");Ce.href=Ge,Ce.download=O.basename,document.body.appendChild(Ce),Ce.click(),Ce.remove(),setTimeout(()=>URL.revokeObjectURL(Ge),3e4)}catch{Et(s("e2e.download.failed"))}}async function gj(O){const R=ym();if(!R)return[];const _e=[];for(const Ae of O)if(Ae.name!==x0){if(Ae.size>fb){Et(s("e2e.upload.too_big"));continue}try{const Ge=await SM(R,await Ae.arrayBuffer());_e.push(new File([Ge],Ae.name,{type:"application/octet-stream"}))}catch(Ge){a("error",{message:Ge.message,context:{op:"e2e-encrypt",file:Ae.name}})}}return _e}async function bj(O){if(ca.value){Et(s("e2e.create.nested"));return}_m.value=!0;try{const R=Tr(_.value);await i.newFolder(R,O.name);const{marker:_e,kek:Ae}=await wM(O.password),Ge=new File([JSON.stringify(_e)],x0,{type:"application/json"}),Ce=Du(R,O.name);await i.uploadMultipart(Ce,[Ge]),rl.set(Ce,Ae),Ru.value++,yf.value=!1,Et(s("e2e.create.done")),await Xt()}catch(R){a("error",{message:R.message,context:{op:"e2e-create"}}),Et(s("e2e.create.failed"))}finally{_m.value=!1}}return(O,R)=>{var _e,Ae,Ge;return z(),B("div",{ref_key:"rootEl",ref:wt,class:ht(["fe",{"fe--theme-light":Vn.value==="light","fe--theme-dark":Vn.value==="dark","fe--is-dragover":vo.value,"fe--density-compact":j.value==="compact","fe--narrow":Pt.value}]),tabindex:"-1",onDragenter:NV,onDragover:LV,onDragleave:FV,onDrop:zV,onContextmenu:pV},[ej.value?(z(),er(vM,{key:0,tabs:c8.value,"active-id":Z(mm),locale:o.value,"split-enabled":!Pt.value,"split-active":!!Ri.value,onSelect:tj,onClose:f8,onNew:vm,onReorder:R[0]||(R[0]=(Ce,At)=>Z(Nr).move(Ce,At)),onToggleSplit:m8},null,8,["tabs","active-id","locale","split-enabled","split-active"])):Re("",!0),Ot(q9,{ref_key:"toolbarRef",ref:_r,"view-mode":gm.value,"search-query":te.value,"trash-active":re.value,actions:gV.value,"selection-mode":fV.value,"paste-enabled":!!ge.value.mode,"convert-enabled":!!Te.value,"can-go-up":U.value,"at-virtual-root":N.value,"can-write":nt.value,locale:o.value,narrow:Pt.value,theme:Vn.value,"inspector-open":q.value,onToggleInspector:vt,onOpenTheme:R[1]||(R[1]=Ce=>vf.value=!0),"onUpdate:viewMode":R[2]||(R[2]=Ce=>g8(Ce)),"onUpdate:searchQuery":R[3]||(R[3]=Ce=>te.value=Ce),"onUpdate:density":R[4]||(R[4]=Ce=>j.value=Ce),onOpenShortcutSettings:R[5]||(R[5]=Ce=>Mu.value=!0),onNewFolder:R[6]||(R[6]=Ce=>Ie.value=!0),onUpload:hf,onRefresh:R[7]||(R[7]=()=>Xt()),onGoUp:V,onAction:dV,onOpenRecents:R[8]||(R[8]=Ce=>ze.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"]),D("div",{class:ht(["fe__main",{"fe__main--split":Ou.value}])},[D("div",{class:ht(["fe__primary",{"fe-pane--focus":uj.value}])},[Ot(dE,{dirname:T.value,adapter:k.value,"root-label":k.value,locale:o.value,"multi-storage-root":Ir.value,"root-path":Z(g),onNavigate:HV,onCopyPath:a8,onCrumbContext:hV,onCrumbDrop:BV},null,8,["dirname","adapter","root-label","locale","multi-storage-root","root-path"]),Z(u).length||Z(c)?(z(),B("div",ER,[Z(u).length?(z(),er(Zk,{key:0,users:Z(u),locale:o.value},null,8,["users","locale"])):Re("",!0),Z(c)?(z(),B("span",{key:1,class:"fe-connbadge",role:"status",title:Z(s)("conn.tooltip")},[R[51]||(R[51]=D("span",{class:"fe-connbadge__dot","aria-hidden":"true"},null,-1)),$t(" "+K(Z(s)("conn.offline")),1)],8,SR)):Re("",!0)])):Re("",!0),ni.value?(z(),B("div",CR,[R[52]||(R[52]=D("span",{class:"fe-e2e-strip__icon","aria-hidden":"true"},"🔒",-1)),D("span",AR,K(Z(s)("e2e.strip.label")),1),D("button",{type:"button",class:"fe-btn fe-e2e-strip__btn",onClick:hj},K(Z(s)("e2e.strip.lock")),1)])):Re("",!0),D("div",{class:"fe__body",onPointerdownCapture:R[13]||(R[13]=Ce=>lj()),onClick:R[14]||(R[14]=Gt(Ce=>Z(W).clear(),["self"]))},[b.value&&E.value.length===0?(z(),B("div",TR,[D("span",DR,K(Z(s)("loading")),1),F.value!=="list"?(z(),B("div",MR,[(z(),B(We,null,kt(8,Ce=>D("div",{key:Ce,class:"fe-skel-card"},[...R[53]||(R[53]=[D("div",{class:"fe-skel fe-skel--thumb"},null,-1),D("div",{class:"fe-skel fe-skel--label"},null,-1)])])),64))])):(z(),B("div",OR,[(z(),B(We,null,kt(8,Ce=>D("div",{key:Ce,class:"fe-skel-row"},[...R[54]||(R[54]=[D("div",{class:"fe-skel fe-skel--icon"},null,-1),D("div",{class:"fe-skel fe-skel--name"},null,-1),D("div",{class:"fe-skel fe-skel--size"},null,-1),D("div",{class:"fe-skel fe-skel--date"},null,-1)])])),64))]))])):x.value?(z(),B("div",IR,[R[55]||(R[55]=D("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"},[D("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"}),D("path",{d:"M52 55c0-4.6 3.6-8 8-8s8 3.4 8 8c0 5.5-8 4.8-8 11"}),D("circle",{cx:"60",cy:"73",r:"1.6",fill:"currentColor",stroke:"none"})],-1)),D("p",RR,K(Z(s)("notFound.title")),1),D("p",NR,K(x.value),1),D("p",FR,K(Z(s)("notFound.desc")),1),D("div",LR,[D("button",{type:"button",class:"fe-btn",onClick:eV},K(Z(s)("notFound.goRoot")),1)])])):S.value&&E.value.length===0?(z(),B("div",zR,[R[56]||(R[56]=rd('<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)),D("p",PR,K(Z(s)("error.title")),1),D("p",BR,K(Z(s)("error.hint")),1),D("div",$R,[D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:P},K(Z(s)("error.retry")),1)]),D("details",UR,[D("summary",HR,K(Z(s)("error.details")),1),D("pre",qR,K(S.value),1)])])):bm.value?(z(),B("div",GR,[R[57]||(R[57]=rd('<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)),D("p",KR,K(Z(s)("e2e.locked.title")),1),D("p",VR,K(Z(s)("e2e.locked.hint")),1),D("form",{class:"fe-e2e-lock__form",onSubmit:Gt(pj,["prevent"])},[Zt(D("input",{"onUpdate:modelValue":R[9]||(R[9]=Ce=>nl.value=Ce),type:"password",class:"fe-input fe-e2e-lock__input",placeholder:Z(s)("e2e.locked.pw_placeholder"),autocomplete:"current-password",disabled:al.value},null,8,jR),[[Fr,nl.value]]),D("button",{type:"submit",class:"fe-btn fe-btn--primary",disabled:al.value||!nl.value},K(al.value?Z(s)("e2e.locked.busy"):Z(s)("e2e.locked.unlock")),9,WR)],32),il.value?(z(),B("p",YR,K(il.value),1)):Re("",!0)])):!b.value&&E.value.length===0&&te.value?(z(),B("div",ZR,[R[58]||(R[58]=D("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"},[D("circle",{cx:"52",cy:"44",r:"22"}),D("path",{d:"M68 61l20 20"}),D("path",{d:"M46 38l12 12M58 38l-12 12"})],-1)),D("p",XR,K(Z(s)("empty.search.title")),1),D("p",JR,K(Z(s)("empty.search.hint")),1)])):!b.value&&E.value.length===0&&$.value?(z(),B("div",QR,[R[59]||(R[59]=rd('<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)),D("p",eN,K(Z(s)("empty.trash.title")),1)])):!b.value&&E.value.length===0?(z(),B("div",tN,[(z(),B("svg",rN,[R[61]||(R[61]=D("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)),Ee.value?(z(),B("g",nN,[...R[60]||(R[60]=[D("path",{d:"M60 50v14","stroke-dasharray":"3 4"},null,-1),D("path",{d:"M53 59l7 8 7-8"},null,-1)])])):Re("",!0)])),D("p",aN,K(Z(s)("empty.folder")),1),Ee.value?(z(),B("p",iN,K(Z(s)("empty.hint")),1)):Re("",!0),Ee.value?(z(),B("div",oN,[D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:hf},K(Z(s)("empty.upload")),1)])):Re("",!0)])):F.value==="list"?(z(),er(Qg,{key:7,files:E.value,selected:Z(W).selected.value,clipped:mf.value,"show-parent-path":!!te.value,locale:o.value,loading:b.value,"starred-ids":Oe.value,"api-base":n.config.apiBase??"","auth-headers":()=>jo(),"auth-credentials":Z(i).credentialsMode(),onClickRow:R[10]||(R[10]=(Ce,At)=>Z(W).click(Ce.path,At)),onDblRow:ri,onContextRow:am,onItemDragStart:lm,onItemDropInto:um,onStarChange:ee},null,8,["files","selected","clipped","show-parent-path","locale","loading","starred-ids","api-base","auth-headers","auth-credentials"])):F.value==="grid"?(z(),er(eb,{key:8,files:E.value,selected:Z(W).selected.value,clipped:mf.value,"show-parent-path":!!te.value,locale:o.value,loading:b.value,"thumb-src":Z(d).src,onClickCard:R[11]||(R[11]=(Ce,At)=>Z(W).click(Ce.path,At)),onDblCard:ri,onContextCard:am,onItemDragStart:lm,onItemDropInto:um},null,8,["files","selected","clipped","show-parent-path","locale","loading","thumb-src"])):(z(),er(tb,{key:9,files:E.value,selected:Z(W).selected.value,clipped:mf.value,"show-parent-path":!!te.value,locale:o.value,loading:b.value,"thumb-src":Z(d).src,onClickCard:R[12]||(R[12]=(Ce,At)=>Z(W).click(Ce.path,At)),onDblCard:ri,onContextCard:am,onItemDragStart:lm,onItemDropInto:um},null,8,["files","selected","clipped","show-parent-path","locale","loading","thumb-src"]))],32)],2),Ou.value&&Ri.value?(z(),er(HM,{ref_key:"splitPaneRef",ref:Rr,key:"split-"+Z(mm),api:Z(i),"initial-path":Ri.value.path,locale:o.value,qualify:Tr,"to-user":cj,clamp:fj,"root-label":Ir.value?"/":k.value||Z(s)("breadcrumb.root"),floor:Z(v),"multi-root":Ir.value,"virtual-rows":G5,active:ua.value,"view-mode":v8.value,"thumb-src":Z(d).src,"trash-visible":e.config.trashVisible!==!1,onNavigate:ij,onActivate:R[15]||(R[15]=Ce=>Ni.value="split"),onClose:aj,onOpenTab:R[16]||(R[16]=Ce=>Z(Nr).openTab(Ce,{viewMode:F.value,background:!0})),onTransfer:dj,onContext:mV,onOpenTrash:oj},null,8,["api","initial-path","locale","root-label","floor","multi-root","active","view-mode","thumb-src","trash-visible","onContext","onOpenTrash"])):Re("",!0),q.value?(z(),er(LC,{key:1,api:Z(i),nodes:Z(W).nodes.value,"dir-label":Be.value,"dir-count":E.value.length,"dir-perm":w.value,locale:o.value,narrow:Pt.value,"thumb-src":Z(d).src,onClose:Le,onManagePermissions:L,onToast:Et,onChanged:R[17]||(R[17]=()=>Xt())},null,8,["api","nodes","dir-label","dir-count","dir-perm","locale","narrow","thumb-src"])):Re("",!0)],2),vo.value?(z(),B("div",sN,[...R[62]||(R[62]=[D("div",{class:"fe__dragover-card"},[D("span",{class:"fe-icon"},"⬆"),D("p",null,"Dosyaları buraya bırak")],-1)])])):Re("",!0),Ot(gS,{jobs:ie.value,locale:o.value,center:Z(dm),onCancel:$V,onDismiss:UV,onRetry:WV},null,8,["jobs","locale","center"]),Ot(bS,{ops:Z(m).ops.value,locale:o.value,center:Z(dm),onDismiss:R[18]||(R[18]=Ce=>Z(m).dismiss(Ce))},null,8,["ops","locale","center"]),Ot(ZD,{center:Z(dm),locale:o.value,narrow:Pt.value},null,8,["center","locale","narrow"]),Pt.value&&Ee.value?(z(),B("button",{key:2,type:"button",class:"fe-fab",title:Z(s)("toolbar.upload"),"aria-label":Z(s)("toolbar.upload"),onClick:hf},[...R[63]||(R[63]=[D("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"},[D("path",{d:"M12 5v14M5 12h14"})],-1)])],8,lN)):Re("",!0),Ot(vd,{ref_key:"ctxRef",ref:Je,locale:o.value,theme:Vn.value,sheet:Ut.value,actions:vV.value,onSelect:bV},null,8,["locale","theme","sheet","actions"]),Ot(rO,{open:Ie.value,locale:o.value,"encrypted-option":!ca.value,onClose:R[19]||(R[19]=Ce=>Ie.value=!1),onSubmit:kV,onEncrypted:R[20]||(R[20]=Ce=>{Ie.value=!1,yf.value=!0})},null,8,["open","locale","encrypted-option"]),Ot(QM,{open:yf.value,locale:o.value,busy:_m.value,onClose:R[21]||(R[21]=Ce=>yf.value=!1),onSubmit:bj},null,8,["open","locale","busy"]),Ot(aO,{open:$e.value,locale:o.value,"current-name":((_e=Pe.value)==null?void 0:_e.basename)||"",onClose:R[22]||(R[22]=Ce=>$e.value=!1),onSubmit:EV},null,8,["open","locale","current-name"]),Ot(iO,{open:je.value,locale:o.value,count:Z(W).size.value,onClose:R[23]||(R[23]=Ce=>je.value=!1),onConfirm:SV},null,8,["open","locale","count"]),Ot(_O,{open:Ze.value,locale:o.value,share:_t.value,onClose:MV,onSubmit:DV,onToast:Et},null,8,["open","locale","share"]),Ot(lb,{open:Me.value,locale:o.value,file:J.value,theme:Vn.value,"preview-url":Ce=>xf(Ce),"download-url":Ce=>ni.value?xf(Ce):Z(i).downloadUrl(Ce),"only-office-base":ca.value?null:ve.value,"only-office-config-endpoint":be.value,"new-tab-enabled":!ca.value,"save-text-endpoint":ca.value?null:Z(i).endpoints.saveText||null,"open-mode":he.value,"auth-headers":()=>jo({"Content-Type":"application/json"}),"auth-credentials":Z(i).credentialsMode(),"drawio-url":le.value,"pdf-worker-url":n.config.pdfWorkerUrl||null,"pdf-save-url":n.config.pdfSaveUrl||null,"viewer-base-url":o8.value,onClose:R[24]||(R[24]=Ce=>Me.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"]),pe.value&&Fe.value&&Te.value?(z(),er(RO,{key:3,"convert-url":Te.value,"file-name":((Ae=Fe.value)==null?void 0:Ae.basename)||((Ge=Fe.value)==null?void 0:Ge.path)||"","fetch-bytes":()=>{var Ce;return Z(i).fetchArrayBuffer(((Ce=Fe.value)==null?void 0:Ce.path)??"")},upload:Ce=>Z(i).uploadMultipart(Tr(_.value),[Ce]).then(()=>{}),onClose:R[25]||(R[25]=Ce=>pe.value=!1),onDone:TV},null,8,["convert-url","file-name","fetch-bytes","upload"])):Re("",!0),ce.value&&Se.value?(z(),er(kR,{key:4,api:Z(i),path:Se.value.path,"is-dir":Se.value.type==="dir",size:typeof Se.value.size=="number"?Se.value.size:void 0,locale:o.value==="en"?"en":"tr",onClose:R[26]||(R[26]=Ce=>ce.value=!1)},null,8,["api","path","is-dir","size","locale"])):Re("",!0),Ot(fi,{name:"fe-modal"},{default:cr(()=>[ze.value?(z(),B("div",{key:0,class:ht(["fe fe-modal__backdrop fe-recents__backdrop",{"fe--theme-light":Vn.value==="light","fe--theme-dark":Vn.value==="dark"}]),onClick:R[30]||(R[30]=Ce=>ze.value=!1)},[D("div",{class:"fe-recents__panel",onClick:R[29]||(R[29]=Gt(()=>{},["stop"]))},[D("div",uN,[D("strong",null,K(o.value==="en"?"Recently opened":"Son açılanlar"),1),D("button",{class:"fe-recents__close","aria-label":"Close",onClick:R[27]||(R[27]=Ce=>ze.value=!1)},"×")]),Ot(eE,{"api-base":n.config.apiBase??"","auth-headers":()=>jo(),"auth-credentials":Z(i).credentialsMode(),limit:20,"refresh-key":Ne.value,onOpen:we,onError:R[28]||(R[28]=Ce=>a("error",{message:Ce,context:{op:"recents"}}))},null,8,["api-base","auth-headers","auth-credentials","refresh-key"])])],2)):Re("",!0)]),_:1}),Ot(fi,{name:"fe-modal"},{default:cr(()=>[de.value&&De.value&&typeof De.value.id=="number"?(z(),B("div",{key:0,class:"fe-modal__backdrop",onClick:R[34]||(R[34]=Ce=>de.value=!1)},[D("div",{class:"fe-modal__card fe-modal__card--md",onClick:R[33]||(R[33]=Gt(()=>{},["stop"]))},[D("header",cN,[D("h2",fN,K(o.value==="en"?"Tags":"Etiketler")+" — "+K(De.value.basename),1),D("button",{class:"fe-modal__close","aria-label":"Close",onClick:R[31]||(R[31]=Ce=>de.value=!1)},"×")]),D("div",dN,[Ot(K9,{"node-id":De.value.id,"api-base":n.config.apiBase??"","auth-headers":()=>jo(),"auth-credentials":Z(i).credentialsMode(),onError:R[32]||(R[32]=Ce=>a("error",{message:Ce,context:{op:"tags"}}))},null,8,["node-id","api-base","auth-headers","auth-credentials"])])])])):Re("",!0)]),_:1}),Ot(bA,{open:rm.value,locale:o.value,files:E.value,"view-mode":F.value,"can-write":nt.value&&!N.value&&!re.value,"can-go-up":U.value,"global-search":nV,onClose:R[35]||(R[35]=Ce=>rm.value=!1),onOpenHit:aV,onOpenNode:ri,onNavigate:R[36]||(R[36]=Ce=>Xt(Ce)),onNewFolder:R[37]||(R[37]=Ce=>Ie.value=!0),onUpload:hf,onToggleView:R[38]||(R[38]=Ce=>g8(gm.value==="list"?"grid":gm.value==="grid"?"gallery":"list")),onOpenTrash:Tu,onRefresh:R[39]||(R[39]=()=>Xt()),onGoUp:V,onOpenTheme:R[40]||(R[40]=Ce=>vf.value=!0),onOpenShortcutSettings:R[41]||(R[41]=Ce=>Mu.value=!0),onStartTour:R[42]||(R[42]=Ce=>hm()),"split-enabled":!Pt.value,onTabNew:R[43]||(R[43]=Ce=>vm()),onSplitToggle:R[44]||(R[44]=Ce=>m8())},null,8,["open","locale","files","view-mode","can-write","can-go-up","split-enabled"]),Ot(IA,{open:pf.value,locale:o.value,onClose:R[45]||(R[45]=Ce=>pf.value=!1),onCustomize:R[46]||(R[46]=Ce=>{pf.value=!1,Mu.value=!0})},null,8,["open","locale"]),Ot(tT,{open:vf.value,locale:o.value,theme:Vn.value,dark:fm.value,current:Z(gf),mode:Z(cm),"host-mode":e.config.theme||"auto",onClose:R[47]||(R[47]=Ce=>vf.value=!1),onSelect:Z(qV),onMode:R[48]||(R[48]=Ce=>Z(GV)(Ce))},null,8,["open","locale","theme","dark","current","mode","host-mode","onSelect"]),D("input",{ref_key:"fileInputEl",ref:se,type:"file",multiple:"",class:"fe__file-input",onChange:OV},null,544),Ot(fi,{name:"fe-toast"},{default:cr(()=>[wn.value?(z(),B("div",{key:0,class:ht(["fe-toast",{"fe-toast--action":!!wn.value.actionLabel}]),role:"status",onClick:Kn},[D("span",pN,K(wn.value.message),1),wn.value.actionLabel&&wn.value.action?(z(),B("button",{key:0,type:"button",class:"fe-toast__action",onClick:Gt(la,["stop"])},K(wn.value.actionLabel),1)):Re("",!0)],2)):Re("",!0)]),_:1}),Ot(kT,{open:Mu.value,locale:o.value,theme:Vn.value,onClose:R[49]||(R[49]=Ce=>Mu.value=!1)},null,8,["open","locale","theme"]),Ot(vD,{open:go.value,locale:o.value,file:Ii.value,theme:Vn.value,"preview-url":Ce=>xf(Ce),"download-url":Ce=>ni.value?xf(Ce):Z(i).downloadUrl(Ce),"only-office-base":ca.value?null:ve.value,"only-office-config-endpoint":be.value,"auth-headers":()=>jo({"Content-Type":"application/json"}),"auth-credentials":Z(i).credentialsMode(),"drawio-url":le.value,"pdf-worker-url":n.config.pdfWorkerUrl||null,"viewer-base-url":o8.value,onClose:R[50]||(R[50]=Ce=>go.value=!1),onNav:VV,onOpenFull:jV},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"]),Ot(sM,{open:bf.value,locale:o.value,root:wt.value,theme:Vn.value,onClose:ZV},null,8,["open","locale","root","theme"])],34)}}}),vN='.fx-presence{display:inline-flex;align-items:center;gap:.5rem;max-width:100%}.fx-presence-avatars{display:inline-flex;align-items:center}.fx-presence-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-left:-.4rem;border-radius:9999px;border:2px solid var(--fx-presence-ring, #ffffff);color:#fff;font-size:.6rem;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.fx-presence-avatar:first-child{margin-left:0}.fx-presence-dot{position:absolute;right:-1px;bottom:-1px;width:.5rem;height:.5rem;border-radius:9999px;background:#22c55e;border:1.5px solid var(--fx-presence-ring, #ffffff)}.fx-presence-more{margin-left:.15rem;font-size:.7rem;color:#71717a}.fx-presence--wide{flex:1 1 auto;min-width:0}.fx-presence-chips{display:flex;align-items:center;gap:.4rem;overflow-x:auto;min-width:0;padding-bottom:2px;scrollbar-width:thin}.fx-presence-chip{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;padding:.15rem .5rem .15rem .2rem;border-radius:9999px;background:#f4f4f5;font-size:.75rem;color:#3f3f46;white-space:nowrap}.fx-presence-chip .fx-presence-avatar{margin-left:0}.fx-presence-chip-name{font-weight:500}.fx-presence-chip-file{color:#71717a;max-width:12rem;overflow:hidden;text-overflow:ellipsis}.fx-presence-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;border-radius:9999px;background:transparent;color:#71717a;font-size:.9rem;line-height:1;cursor:pointer}.fx-presence-toggle:hover{background:#e4e4e7;color:#3f3f46}.dark .fx-presence-chip,.dark .fx-presence-toggle:hover{background:#27272a;color:#d4d4d8}.fx-presence-text{font-size:.75rem;color:#71717a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14rem}.fx-presence-file{color:#52525b;font-weight:500}.dark .fx-presence-avatar,.dark .fx-presence-dot{--fx-presence-ring: #18181b}.filex-tag-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.filex-tag-picker.is-loading{opacity:.6;pointer-events:none}.filex-tag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;color:#fff;background:var(--filex-tag-color)}.filex-tag-x{background:transparent;border:none;color:#ffffffd9;cursor:pointer;padding:0 2px;font-size:14px;line-height:1}.filex-tag-x:hover{color:#fff}.filex-tag-add input{border:1px solid var(--filex-border, #d1d5db);border-radius:12px;padding:2px 10px;font-size:12px;width:110px}.filex-tag-add-btn{border:1px dashed var(--filex-border, #d1d5db);background:transparent;border-radius:999px;padding:2px 10px;font-size:12px;color:var(--filex-text-muted, #6b7280);cursor:pointer}.filex-tag-add-btn:hover{border-color:var(--filex-accent, #6366f1);color:var(--filex-accent, #6366f1)}.filex-recent{background:var(--fe-bg-elev, var(--filex-bg-card, #ffffff));border:1px solid var(--fe-border, var(--filex-border, #e5e7eb));border-radius:8px;padding:12px;font-size:13px}.filex-recent header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.filex-recent h3{margin:0;font-size:13px;font-weight:600;color:var(--fe-text, var(--filex-text, #111827))}.filex-recent-refresh{background:transparent;border:none;color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));cursor:pointer;font-size:14px;padding:2px 6px}.filex-recent ul{list-style:none;margin:0;padding:0}.filex-recent-item{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;padding:6px 8px;cursor:pointer;border-radius:4px;text-align:left}.filex-recent-item:hover{background:var(--fe-bg-hover, var(--filex-bg-soft, #f3f4f6))}.filex-recent-name{color:var(--fe-text, var(--filex-text, #111827));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filex-recent-meta{color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));font-size:11px;margin-left:8px;flex-shrink:0}.filex-recent-empty{color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));margin:4px 0 0}.filex-star-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 8px;color:var(--filex-text-muted, #9ca3af);cursor:pointer;transition:color .12s,background .12s}.filex-star-btn:hover{color:var(--filex-accent-amber, #f59e0b);background:var(--filex-bg-soft, rgba(0, 0, 0, .04))}.filex-star-btn.is-starred{color:var(--filex-accent-amber, #f59e0b)}.filex-star-btn.is-compact{padding:4px}.filex-star-label{font-size:13px}.fe-themes__hint{margin:0 0 12px;font-size:12.5px;color:var(--fe-text-muted)}.fe-themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.fe-themecard{display:flex;flex-direction:column;padding:0;border:2px solid var(--fe-border-strong);border-radius:var(--fe-radius, 8px);background:var(--fe-bg);cursor:pointer;overflow:hidden;text-align:left;transition:transform .12s ease,box-shadow .12s ease;font:inherit}.fe-themecard:hover{transform:translateY(-2px);box-shadow:var(--fe-shadow-sm, 0 2px 6px rgba(15, 23, 42, .08))}.fe-themecard:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px}.fe-themecard.is-selected{border-color:var(--fe-primary);box-shadow:0 0 0 2px var(--fe-primary)}.fe-themecard__preview{display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--fe-bg);border-bottom:1px solid var(--fe-border);min-height:84px}.fe-themecard__topbar{display:flex;gap:4px;margin-bottom:2px}.fe-themecard__chip{height:8px;width:22px;border-radius:4px;background:var(--fe-bg-hover);border:1px solid var(--fe-border)}.fe-themecard__chip--primary{background:var(--fe-primary);border-color:var(--fe-primary)}.fe-themecard__chip--ghost{background:var(--fe-bg-elev)}.fe-themecard__row{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:4px}.fe-themecard__row--selected{background:var(--fe-bg-selected)}.fe-themecard__dot{width:8px;height:8px;border-radius:50%;background:var(--fe-text);opacity:.75;flex:none}.fe-themecard__dot--primary{background:var(--fe-primary);opacity:1}.fe-themecard__dot--muted{background:var(--fe-text-muted)}.fe-themecard__line{height:6px;border-radius:3px;background:var(--fe-text);opacity:.55}.fe-themecard__line--muted{background:var(--fe-text-muted)}.fe-themecard__name{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;font-size:12.5px;font-weight:600;color:var(--fe-text);background:var(--fe-bg-elev);font-family:var(--fe-font, inherit)}.fe-themecard__check{flex:none;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--fe-primary);color:var(--fe-text-on-primary);font-size:11px;line-height:1}.fe-preview__code-editor.is-hidden{display:none}.fe-preview__viewer{width:100%;height:100%;min-height:70vh;display:flex;flex-direction:column}.fe-preview .fe-preview__viewer{align-self:stretch}.fe-preview__md-mermaid{display:flex;justify-content:center;margin:16px 0}.fe-preview__md-mermaid svg{max-width:100%;height:auto}.fe-preview__md-math{margin:16px 0;text-align:center;overflow-x:auto}.filex-cv__bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center}.filex-cv{width:min(560px,92vw);max-height:80vh;overflow:hidden;display:flex;flex-direction:column;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1f29);border:1px solid var(--fe-border, #e2e6ed);border-radius:12px;box-shadow:0 20px 60px #00000059}.filex-cv__head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--fe-border, #e2e6ed)}.filex-cv__head h3{margin:0;font-size:14px;font-weight:600}.filex-cv__x{border:0;background:none;cursor:pointer;font-size:16px;color:var(--fe-text-muted, #5a6475)}.filex-cv__msg{padding:28px;text-align:center;color:var(--fe-text-muted, #5a6475)}.filex-cv__ok{color:#059669}.filex-cv__src{padding:12px 16px 0;font-size:13px;color:var(--fe-text-muted, #5a6475)}.filex-cv__search{margin:8px 16px;padding:8px 10px;border:1px solid var(--fe-border, #e2e6ed);border-radius:8px;background:var(--fe-bg-elev, #f7f8fa);color:inherit;font-size:13px}.filex-cv__list{flex:1;overflow-y:auto;padding:4px 12px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.filex-cv__fmt{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:8px 10px;cursor:pointer;text-align:left;border:1px solid var(--fe-border, #e2e6ed);border-radius:8px;background:var(--fe-bg-elev, #f7f8fa);color:inherit}.filex-cv__fmt small{color:var(--fe-text-muted, #5a6475);font-size:11px}.filex-cv__fmt.is-sel{border-color:#44c878;background:#44c8781f}.filex-cv__empty{grid-column:1 / -1;text-align:center;color:var(--fe-text-muted, #5a6475);padding:16px}.filex-cv__err{padding:0 16px;color:var(--fe-danger, #dc2626);font-size:13px}.filex-cv__foot{padding:12px 16px;border-top:1px solid var(--fe-border, #e2e6ed);text-align:right}.filex-cv__convert{padding:8px 18px;border:0;border-radius:8px;cursor:pointer;background:#44c878;color:#03200f;font-weight:600;font-size:13px}.filex-cv__convert:disabled{opacity:.5;cursor:default}.filex-cv__frame{position:absolute;width:0;height:0;border:0;left:-9999px}.fx-perm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;font-family:var(--fe-font)}.fx-perm-modal{display:flex;flex-direction:column;background:var(--fe-bg);color:var(--fe-text);width:min(520px,94vw);max-height:86vh;border:1px solid var(--fe-border);border-radius:var(--fe-radius-lg, 14px);box-shadow:var(--fe-shadow);font-size:14px;overflow:hidden}.fx-perm-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 12px;flex:none}.fx-perm-title{display:flex;align-items:center;gap:10px;min-width:0}.fx-perm-ico{font-size:22px;line-height:1}.fx-perm-titletext{display:flex;flex-direction:column;min-width:0}.fx-perm-title h3{margin:0;font-size:15px;font-weight:600;color:var(--fe-text)}.fx-perm-sub{font-size:12px;color:var(--fe-text);max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-perm-subdim{color:var(--fe-text-muted)}.fx-perm-x{background:none;border:none;font-size:17px;cursor:pointer;color:var(--fe-text-muted);flex:none;line-height:1;padding:2px 4px;border-radius:6px}.fx-perm-x:hover{color:var(--fe-text);background:var(--fe-bg-hover)}.fx-perm-tabs{display:flex;gap:2px;padding:0 18px;border-bottom:1px solid var(--fe-border);flex:none}.fx-perm-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 12px;cursor:pointer;color:var(--fe-text-muted);font-size:13px;font-family:inherit;font-weight:500}.fx-perm-tab:hover{color:var(--fe-text)}.fx-perm-tab.is-active{color:var(--fe-primary);border-bottom-color:var(--fe-primary)}.fx-perm-body{flex:1 1 auto;overflow-y:auto;padding:14px 18px 18px}.fx-perm-addcard{padding:12px;border-radius:var(--fe-radius-md, 10px);background:var(--fe-bg-elev);border:1px solid var(--fe-border)}.fx-perm-section{margin-top:16px}.fx-perm-section h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fe-text-muted)}.fx-perm-empty{color:var(--fe-text-muted);font-size:13px;padding:8px 2px}.fx-perm-person{display:flex;align-items:center;gap:10px;padding:7px 2px}.fx-perm-person+.fx-perm-person{border-top:1px solid var(--fe-border)}.fx-perm-inh{color:var(--fe-text-muted)}.fx-perm-av{width:28px;height:28px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fe-primary);color:var(--fe-text-on-primary, #fff);font-size:12px;font-weight:600}.fx-perm-av--dim{background:var(--fe-bg-hover);color:var(--fe-text-muted)}.fx-perm-user{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fe-text);min-width:0}.fx-perm-from{font-size:11px;color:var(--fe-text-muted);white-space:nowrap}.fx-perm-badge{font-size:11px;padding:2px 9px;border-radius:999px;background:var(--fe-bg-hover);color:var(--fe-text)}.fx-perm-sel,.fx-perm-input{padding:7px 9px;border-radius:var(--fe-radius-sm, 7px);border:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text);font-size:13px;font-family:inherit}.fx-perm-sel--sm{padding:5px 7px;font-size:12px}.fx-perm-sel:focus,.fx-perm-input:focus{outline:none;border-color:var(--fe-primary)}.fx-perm-add{display:flex;gap:8px;align-items:stretch}.fx-perm-emailwrap{position:relative;flex:1;min-width:120px}.fx-perm-input{width:100%;box-sizing:border-box}.fx-perm-suggest{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:5;margin:0;padding:4px;list-style:none;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm, 7px);box-shadow:var(--fe-shadow);max-height:210px;overflow:auto}.fx-perm-suggest li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer}.fx-perm-suggest li:hover{background:var(--fe-bg-hover)}.fx-perm-suggest-av{width:24px;height:24px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fe-bg-hover);color:var(--fe-text);font-size:11px;font-weight:600}.fx-perm-suggest-txt{display:flex;flex-direction:column;min-width:0}.fx-perm-suggest-name{color:var(--fe-text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-perm-suggest-meta{color:var(--fe-text-muted);font-size:11px}.fx-perm-check{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--fe-text);cursor:pointer}.fx-perm-btn{padding:7px 13px;border-radius:var(--fe-radius-sm, 7px);border:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text);font-size:13px;font-family:inherit;cursor:pointer;white-space:nowrap}.fx-perm-btn:hover:not(:disabled){background:var(--fe-bg-hover)}.fx-perm-btn:disabled{opacity:.55;cursor:default}.fx-perm-btn--sm{padding:5px 10px;font-size:12px}.fx-perm-btn--primary{background:var(--fe-primary);border-color:var(--fe-primary);color:var(--fe-text-on-primary, #fff)}.fx-perm-btn--primary:hover:not(:disabled){background:var(--fe-primary-hover, var(--fe-primary));filter:brightness(1.05)}.fx-perm-btn--ghost{background:none;border-color:transparent;color:var(--fe-primary);padding-left:2px}.fx-perm-btn--ghost:hover:not(:disabled){background:none;text-decoration:underline}.fx-perm-del{background:none;border:none;color:var(--fe-danger);cursor:pointer;font-size:14px;flex:none;padding:2px 4px}.fx-perm-del:hover:not(:disabled){filter:brightness(1.15)}.fx-perm-invite{margin-top:10px;padding-top:10px;border-top:1px dashed var(--fe-border)}.fx-perm-invite-actions{display:flex;flex-direction:column;gap:8px;margin-top:6px}.fx-perm-invite-row{display:flex;gap:8px;align-items:stretch}.fx-perm-invite-row .fx-perm-btn--primary{flex:1}.fx-perm-share-opts{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.fx-perm-expiry{display:inline-flex;gap:6px;align-items:center;font-size:13px}.fx-perm-share-opts .fx-perm-btn--primary{margin-left:auto}.fx-perm-result{margin-top:12px;padding-top:12px;border-top:1px solid var(--fe-border)}.fx-perm-linkrow{display:flex;gap:8px;align-items:center}.fx-perm-link{color:var(--fe-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;text-decoration:none}.fx-perm-link:hover{text-decoration:underline}.fx-perm-pin{margin:8px 0 0;font-size:13px;color:var(--fe-text);display:flex;align-items:center;gap:8px}.fx-perm-pin code,.fx-perm-reveal code{font-family:var(--fe-font-mono, monospace);background:var(--fe-bg-hover);padding:1px 6px;border-radius:5px}.fx-perm-mailrow{display:flex;gap:8px;margin-top:10px}.fx-perm-mailrow .fx-perm-input{flex:1}.fx-perm-hint{font-size:13px;color:var(--fe-text-muted);margin:10px 0 0}.fx-perm-sharebtn{display:flex;width:100%;align-items:center;justify-content:center;gap:6px;margin-top:8px}.fx-perm-dropintro{margin:0 0 12px;line-height:1.4}.fx-perm-advtoggle{margin-top:10px;padding-left:2px}.fx-perm-adv{margin-top:8px;padding-top:10px;border-top:1px dashed var(--fe-border);display:flex;flex-direction:column;gap:8px}.fx-perm-adv-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.fx-perm-input--sm{width:130px;padding:5px 8px;font-size:12px}.fx-perm-warn{background:#f59e0b24;border:1px solid rgba(245,158,11,.4);border-radius:var(--fe-radius-sm, 7px);padding:8px 10px;font-size:13px;margin-bottom:10px;color:var(--fe-text)}.fx-perm-notice{margin-top:8px;font-size:13px;color:var(--fe-text-muted)}.fx-perm-reveal{margin-top:8px;font-size:13px;word-break:break-all;color:var(--fe-text)}.fx-perm-muted{color:var(--fe-text-muted);font-size:13px}:root{--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: #2f6fe0;--fe-primary-hover: #2563eb;--fe-danger: #dc2626;--fe-danger-hover: #b91c1c;--fe-shadow: 0 10px 32px rgba(15, 23, 42, .14);--fe-shadow-sm: 0 2px 6px rgba(15, 23, 42, .08);--fe-radius: 8px;--fe-radius-sm: 4px;--fe-radius-lg: 12px;--fe-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fe-font-mono: ui-monospace, "SF Mono", Consolas, Menlo, monospace;--fe-gap: 12px}.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"]{--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-primary: #60a5fa;--fe-primary-hover: #3b82f6;--fe-danger: #f87171;--fe-danger-hover: #ef4444;--fe-shadow: 0 12px 32px rgba(0, 0, 0, .45);--fe-shadow-sm: 0 2px 6px rgba(0, 0, 0, .25)}@media (prefers-color-scheme: dark){.fe:not(.fe--theme-light),.fe-ctx-backdrop--theme-auto:not(.fe-ctx-backdrop--theme-light){--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-primary: #60a5fa;--fe-primary-hover: #3b82f6;--fe-danger: #f87171;--fe-danger-hover: #ef4444;--fe-shadow: 0 12px 32px rgba(0, 0, 0, .45);--fe-shadow-sm: 0 2px 6px rgba(0, 0, 0, .25)}}:root{--fe-icon-folder: #d97706;--fe-icon-image: #7c3aed;--fe-icon-video: #db2777;--fe-icon-audio: #0d9488;--fe-icon-pdf: #dc2626;--fe-icon-doc: #2563eb;--fe-icon-sheet: #16a34a;--fe-icon-slides: #ea580c;--fe-icon-archive: #78716c;--fe-icon-code: #4f46e5;--fe-icon-text: #64748b;--fe-icon-unknown: #64748b}.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"]{--fe-icon-folder: #fbbf24;--fe-icon-image: #a78bfa;--fe-icon-video: #f472b6;--fe-icon-audio: #2dd4bf;--fe-icon-pdf: #f87171;--fe-icon-doc: #60a5fa;--fe-icon-sheet: #4ade80;--fe-icon-slides: #fb923c;--fe-icon-archive: #a8a29e;--fe-icon-code: #818cf8;--fe-icon-text: #94a3b8;--fe-icon-unknown: #8b95a7}@media (prefers-color-scheme: dark){.fe:not(.fe--theme-light),.fe-ctx-backdrop--theme-auto:not(.fe-ctx-backdrop--theme-light){--fe-icon-folder: #fbbf24;--fe-icon-image: #a78bfa;--fe-icon-video: #f472b6;--fe-icon-audio: #2dd4bf;--fe-icon-pdf: #f87171;--fe-icon-doc: #60a5fa;--fe-icon-sheet: #4ade80;--fe-icon-slides: #fb923c;--fe-icon-archive: #a8a29e;--fe-icon-code: #818cf8;--fe-icon-text: #94a3b8;--fe-icon-unknown: #8b95a7}}:root,.fe--theme-dark,:root.dark,.dark{--fe-warning: #f59e0b}.fe{position:relative;display:flex;flex-direction:column;box-sizing:border-box;min-height:420px;height:100%;background:var(--fe-bg);color:var(--fe-text);font-family:var(--fe-font);font-size:14px;border:1px solid var(--fe-border);border-radius:var(--fe-radius);overflow:hidden;outline:none}.fe *{box-sizing:border-box}.fe__body{flex:1 1 auto;overflow:auto;min-height:0;background:var(--fe-bg)}filex-explorer{display:block;height:100%}.fe__presence{flex:0 0 auto;padding:.25rem .75rem;border-bottom:1px solid var(--fe-border, rgba(0, 0, 0, .06))}.fe__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:240px;height:100%;color:var(--fe-text-muted)}.fe__spinner{width:34px;height:34px;border-radius:50%;border:3px solid color-mix(in srgb,var(--fe-text-muted) 30%,transparent);border-top-color:var(--fe-primary);animation:fe-spin .7s linear infinite}.fe__loading-text{margin:0;font-size:13px}@keyframes fe-spin{to{transform:rotate(360deg)}}.fe__notfound{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:240px;height:100%;color:var(--fe-text-muted);text-align:center;padding:24px}.fe__notfound-icon{font-size:40px;filter:grayscale(1);opacity:.6}.fe__notfound-title{margin:4px 0 0;font-size:15px;font-weight:600;color:var(--fe-text)}.fe__notfound-path{margin:0;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all;max-width:480px}.fe__notfound-desc{margin:0 0 10px;font-size:13px}.fe__file-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.fe-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--fe-bg-elev);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);color:var(--fe-text);font:inherit;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.fe-btn:hover:not(:disabled){background:var(--fe-bg-hover);border-color:var(--fe-border-strong)}.fe-btn:disabled{opacity:.5;cursor:not-allowed}.fe-btn--primary{background:var(--fe-primary);border-color:var(--fe-primary);color:var(--fe-text-on-primary)}.fe-btn--primary:hover:not(:disabled){background:var(--fe-primary-hover);border-color:var(--fe-primary-hover)}.fe-btn--danger{background:var(--fe-danger);border-color:var(--fe-danger);color:var(--fe-text-on-primary)}.fe-btn--danger:hover:not(:disabled){background:var(--fe-danger-hover);border-color:var(--fe-danger-hover)}.fe-btn--icon-only{padding:6px 8px}.fe-btn.is-active{background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-btn__label{line-height:1}.fe-icon{font-size:1.05em;line-height:1}.fe-toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);flex-wrap:wrap}.fe-toolbar__primary{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.fe-toolbar__spacer{flex:1 1 auto}.fe-toolbar__search-group{display:inline-flex;align-items:center;gap:4px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:2px}.fe-toolbar__search-group .fe-search__input{border:0;background:transparent;padding:4px 8px}.fe-toolbar__search-group .fe-btn{border:0;background:transparent;padding:4px 6px}.fe-toolbar__search-group .fe-btn:hover:not(:disabled){background:var(--fe-bg-hover)}.fe-toolbar__view{display:inline-flex;gap:2px;padding:2px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm)}.fe-toolbar__view .fe-btn{border:0;background:transparent}.fe-toolbar__view .fe-btn.is-active{background:var(--fe-bg-selected)}.fe-search{position:relative}.fe-search__input{background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:6px 10px;font:inherit;color:var(--fe-text);min-width:200px}.fe-search__input:focus-visible{outline:2px solid var(--fe-primary);outline-offset:1px}.fe-breadcrumb{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:6px 12px;min-height:37px;background:var(--fe-bg);border-bottom:1px solid var(--fe-border);font-size:13px;color:var(--fe-text-muted)}.fe-breadcrumb__crumb{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;color:inherit;padding:2px 6px;border-radius:var(--fe-radius-sm);cursor:pointer;font:inherit}.fe-breadcrumb__crumb:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-breadcrumb__crumb.is-last{color:var(--fe-text);font-weight:600}.fe-breadcrumb__sep{color:var(--fe-text-muted)}.fe-breadcrumb__edit{margin-left:auto;background:none;border:1px solid transparent;color:var(--fe-text-muted);cursor:pointer;font-size:14px;line-height:1;padding:4px 8px;border-radius:4px}.fe-breadcrumb__edit:hover{background:var(--fe-bg-hover);color:var(--fe-text);border-color:var(--fe-border)}.fe-breadcrumb__input{flex:1;background:var(--fe-bg);color:var(--fe-text);border:1px solid var(--fe-accent, #2563eb);border-radius:4px;padding:4px 8px;font-family:var(--fe-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:13px;outline:none}.fe-list{display:flex;flex-direction:column}.fe-list__head{display:grid;grid-template-columns:32px minmax(0,1fr) 120px 180px;gap:8px;padding:8px 12px;font-weight:600;color:var(--fe-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border)}.fe-list__body{display:flex;flex-direction:column}.fe-list__row{display:grid;grid-template-columns:32px minmax(0,1fr) 120px 180px;gap:8px;padding:8px 12px;align-items:center;cursor:pointer;border-bottom:1px solid var(--fe-border);transition:background .08s;-webkit-user-select:none;user-select:none}.fe-list__row:hover{background:var(--fe-bg-hover)}.fe-list__row.is-selected{background:var(--fe-bg-selected)}.fe-list__row.is-trash{opacity:.7}.fe-list__row.is-clipped,.fe-grid__card.is-clipped{opacity:.45;font-style:italic}.fe-list__row:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-list__col--star{display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s}.fe-list__row:hover .fe-list__col--star,.fe-list__row:focus-within .fe-list__col--star,.fe-list__col--star:has(.is-starred){opacity:1}.fe-list__col--star .filex-star-btn.is-starred{color:var(--fe-warning, #f59e0b)}.fe-list__col--name{display:flex;align-items:center;gap:8px;min-width:0}.fe-list__icon{flex-shrink:0;font-size:16px}.fe-list__name-wrap{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.fe-list__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-list__parent{font-size:11px;color:var(--fe-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.fe-list__col--size,.fe-list__col--mod{color:var(--fe-text-muted);font-size:13px}.fe-list__empty{padding:40px 20px;text-align:center;color:var(--fe-text-muted)}.fe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--fe-gap);padding:var(--fe-gap)}.fe-grid__card{display:flex;flex-direction:column;align-items:stretch;padding:8px;border:1px solid var(--fe-border);border-radius:var(--fe-radius);background:var(--fe-bg-elev);cursor:pointer;transition:background .08s,border-color .08s;-webkit-user-select:none;user-select:none}.fe-grid__card:hover{background:var(--fe-bg-hover);border-color:var(--fe-border-strong)}.fe-grid__card.is-selected{background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-grid__card.is-trash{opacity:.7}.fe-grid__thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;background:var(--fe-bg);border-radius:var(--fe-radius-sm);margin-bottom:8px;overflow:hidden}.fe-grid__thumb img{width:100%;height:100%;object-fit:cover}.fe-grid__icon{font-size:32px}.fe-grid__label{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-grid__meta{font-size:11px;color:var(--fe-text-muted);margin-top:2px}.fe-grid__parent{font-size:11px;color:var(--fe-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-style:italic}.fe-grid__snippet{margin-top:2px;font-size:11px;line-height:1.35;color:var(--fe-text-muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;text-align:left}.fe-grid__empty{grid-column:1 / -1;padding:40px 20px;text-align:center;color:var(--fe-text-muted)}.fe__dragover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#3b82f61f;border:3px dashed var(--fe-primary);pointer-events:none}.fe__dragover-card{background:var(--fe-bg);border-radius:var(--fe-radius-lg);padding:24px 40px;box-shadow:var(--fe-shadow);text-align:center}.fe__dragover-card .fe-icon{font-size:32px;display:block;margin-bottom:8px}.fe-upload{position:absolute;right:16px;bottom:16px;width:min(360px,calc(100% - 32px));background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);z-index:40;max-height:40vh;display:flex;flex-direction:column;overflow:hidden}.fe-upload__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);font-size:13px}.fe-upload__count{background:var(--fe-primary);color:var(--fe-text-on-primary);font-size:12px;padding:1px 7px;border-radius:999px}.fe-upload__list{list-style:none;padding:0;margin:0;overflow:auto}.fe-upload__item{padding:10px 14px;border-bottom:1px solid var(--fe-border)}.fe-upload__item:last-child{border-bottom:0}.fe-upload__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;margin-bottom:4px}.fe-upload__bar{background:var(--fe-bg-elev);border-radius:99px;height:6px;overflow:hidden;margin-bottom:4px}.fe-upload__bar-fill{background:var(--fe-primary);height:100%;transition:width .2s}.fe-upload__item.is-error .fe-upload__bar-fill,.fe-upload__item.is-aborted .fe-upload__bar-fill{background:var(--fe-danger)}.fe-upload__item.is-done .fe-upload__bar-fill{background:#16a34a}.fe-upload__meta{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:var(--fe-text-muted)}.fe-upload__cancel{background:transparent;border:0;color:var(--fe-primary);cursor:pointer;font:inherit}.fe-upload-slide-enter-active,.fe-upload-slide-leave-active{transition:transform .2s,opacity .2s}.fe-upload-slide-enter-from,.fe-upload-slide-leave-to{opacity:0;transform:translateY(10px)}.fe-ops{position:absolute;left:16px;bottom:16px;width:min(320px,calc(100% - 32px));display:flex;flex-direction:column;gap:8px;z-index:40}.fe-ops__item{background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);padding:10px 14px;font-size:13px}.fe-ops__item.is-done{border-color:#16a34a}.fe-ops__item.is-error{border-color:var(--fe-danger)}.fe-ops__row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.fe-ops__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.fe-ops__dismiss{background:transparent;border:0;color:var(--fe-text-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.fe-ops__bar{background:var(--fe-bg-elev);border-radius:99px;height:6px;overflow:hidden}.fe-ops__bar-fill{background:var(--fe-primary);height:100%;transition:width .25s}.fe-ops__item.is-done .fe-ops__bar-fill{background:#16a34a}.fe-ops__item.is-error .fe-ops__bar-fill{background:var(--fe-danger)}.fe-ops__error{margin-top:6px;font-size:11px;color:var(--fe-danger)}.fe-ops-slide-enter-active,.fe-ops-slide-leave-active{transition:transform .2s,opacity .2s}.fe-ops-slide-enter-from,.fe-ops-slide-leave-to{opacity:0;transform:translateY(10px)}.fe-ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;color:var(--fe-text);font-family:var(--fe-font);font-size:14px}.fe-ctx{position:absolute;min-width:180px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);padding:4px;z-index:90;color:var(--fe-text)}.fe-ctx__item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--fe-radius-sm);border:0;background:transparent;color:var(--fe-text);font:inherit;width:100%;text-align:left;cursor:pointer}.fe-ctx__item:hover:not(.is-disabled){background:var(--fe-bg-hover)}.fe-ctx__item.is-danger{color:var(--fe-danger)}.fe-ctx__item.is-disabled{opacity:.45;cursor:not-allowed}.fe-ctx__icon{width:1.2em;text-align:center}.fe-ctx__sep{height:1px;background:var(--fe-border);margin:4px 0}.fe-ctx-enter-active,.fe-ctx-leave-active{transition:opacity .1s}.fe-ctx-enter-from,.fe-ctx-leave-to{opacity:0}.fe-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#0d131b7a;padding:16px}.fe-modal__card{background:var(--fe-bg);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}.fe-modal__card--sm{max-width:420px}.fe-modal__card--md{max-width:560px}.fe-modal__card--lg{max-width:800px}.fe-modal__card--xl{max-width:1080px;height:calc(100vh - 64px)}.fe-recents__backdrop{align-items:flex-start!important;padding-top:60px}.fe-recents__panel{background:var(--fe-bg, #fff);border-radius:var(--fe-radius, 8px);box-shadow:var(--fe-shadow, 0 6px 24px rgba(0, 0, 0, .18));width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 96px);display:flex;flex-direction:column;overflow:hidden}.fe-recents__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--fe-border, #e2e6ed)}.fe-recents__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--fe-text-muted, #6b7280);padding:0 4px}.fe-recents__close:hover{color:var(--fe-text, #111)}.fe-preview__md-split{display:flex;flex-direction:column;height:100%;width:100%;min-height:0}.fe-preview__md-split-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:var(--fe-bg-elev, #f6f7f9);border-bottom:1px solid var(--fe-border, #e2e6ed);flex:0 0 auto}.fe-preview__md-split-label{font-family:var(--fe-font-mono, ui-monospace, monospace);font-size:11px;letter-spacing:.06em;color:var(--fe-text-muted, #6b7280)}.fe-preview__md-split-error{flex:1 1 auto;font-size:12px;color:var(--fe-danger, #dc2626);text-align:center}.fe-preview__md-split-body{flex:1 1 auto;display:grid;grid-template-columns:1fr 1fr;min-height:0}.fe-preview__md-split-input{resize:none;border:0;outline:0;padding:16px 20px;font-family:var(--fe-font-mono, ui-monospace, monospace);font-size:13px;line-height:1.6;background:var(--fe-bg, #fff);color:var(--fe-text, #111);border-right:1px solid var(--fe-border, #e2e6ed);overflow:auto;-moz-tab-size:2;tab-size:2}.fe-preview__md-split-output{overflow:auto;padding:16px 24px;background:var(--fe-bg, #fff)}.fe-preview__md-split-output.fe-preview__md{max-height:none;min-height:0;height:100%}@media (max-width: 900px){.fe-preview__md-split-body{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.fe-preview__md-split-input{border-right:0;border-bottom:1px solid var(--fe-border, #e2e6ed)}}.fe-modal__backdrop--chromeless{background:transparent;padding:0}.fe-modal__card--chromeless{max-width:none;width:100vw;height:100vh;max-height:100vh;border-radius:0;box-shadow:none}.fe-modal__card--chromeless .fe-modal__body{flex:1 1 auto;min-height:0;padding:0}.fe-modal__card--chromeless .fe-preview{align-items:stretch;justify-content:stretch;min-height:0;flex:1 1 auto}.fe-modal__card--chromeless .fe-preview>*{width:100%;height:100%}.fe-modal__head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--fe-border)}.fe-modal__title{font-size:16px;font-weight:600;margin:0}.fe-modal__close{background:transparent;border:0;color:var(--fe-text-muted);font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.fe-modal__body{padding:16px;overflow:auto;flex:1 1 auto}.fe-modal__actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--fe-border);background:var(--fe-bg-elev)}.fe-modal-enter-active,.fe-modal-leave-active{transition:opacity .15s}.fe-modal-enter-from,.fe-modal-leave-to{opacity:0}.fe-input{width:100%;padding:8px 10px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);font:inherit;color:var(--fe-text)}.fe-input:focus-visible{outline:2px solid var(--fe-primary);outline-offset:1px}.fe-input--mono{font-family:var(--fe-font-mono);letter-spacing:.1em}.fe-form{display:flex;flex-direction:column;gap:12px}.fe-form__row{display:flex;align-items:center;gap:8px}.fe-form__row--stack{flex-direction:column;align-items:stretch}.fe-form__error{color:var(--fe-danger);font-size:12px;margin:6px 0 0}.fe-share-result{display:flex;flex-direction:column;gap:12px}.fe-share-result__row label{display:block;font-size:12px;font-weight:600;color:var(--fe-text-muted);margin-bottom:4px}.fe-share-result__copy{display:flex;gap:6px}.fe-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:50vh;background:var(--fe-bg-elev)}.fe-preview__image{max-width:100%;max-height:70vh;object-fit:contain}.fe-preview__video,.fe-preview__audio{max-width:100%;max-height:70vh}.fe-preview__iframe{width:100%;height:70vh;border:0;background:#fff}.fe-preview__office{width:100%;height:78vh;background:var(--fe-bg)}.fe-preview__code-wrap{display:flex;flex-direction:column;width:100%;height:78vh}.fe-preview__code-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-hover, #f3f4f6);border-bottom:1px solid var(--fe-border, #e5e7eb);font-size:12px}.fe-preview__code-lang{font-family:var(--fe-font-mono, ui-monospace, monospace);color:var(--fe-text-muted);text-transform:uppercase;letter-spacing:.04em}.fe-preview__code-toolbar>.fe-btn{margin-left:auto}.fe-preview__code-status{font-size:12px;font-weight:500}.fe-preview__code-status--ok{color:#059669}.fe-preview__code-status--err{color:#dc2626;cursor:help}.fe-preview__code-editor{flex:1;min-height:0;overflow:hidden}.fe-preview__code-editor .cm-editor{height:100%;font-size:13px}.fe-preview__code-editor .cm-scroller{font-family:var(--fe-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)}.fe-preview__fallback{text-align:center;color:var(--fe-text-muted);padding:40px 20px}.fe-preview__fallback-icon{font-size:48px;display:block;margin-bottom:12px}.fe-preview__pre{margin:0;padding:16px;width:100%;max-height:70vh;overflow:auto;background:var(--fe-bg);color:var(--fe-text);font-family:var(--fe-font-mono);font-size:13px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.fe-preview__code{white-space:pre;word-wrap:normal}.hljs{background:var(--fe-bg);color:var(--fe-text)}.hljs-comment,.hljs-quote{color:var(--fe-text-muted);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-section,.hljs-meta{color:#c678dd}.hljs-string,.hljs-attr,.hljs-symbol,.hljs-bullet,.hljs-addition,.hljs-link{color:#98c379}.hljs-number,.hljs-literal,.hljs-deletion{color:#d19a66}.hljs-title,.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-template-tag,.hljs-template-variable{color:#61aeee}.hljs-type,.hljs-tag{color:#e06c75}.hljs-variable,.hljs-attribute{color:#d19a66}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.fe-preview__md{width:100%;max-height:70vh;overflow:auto;padding:24px 32px;background:var(--fe-bg);color:var(--fe-text);line-height:1.6;font-size:15px}.fe-preview__md h1,.fe-preview__md h2,.fe-preview__md h3,.fe-preview__md h4{margin:1.2em 0 .6em;font-weight:600}.fe-preview__md h1{font-size:1.8em;border-bottom:1px solid var(--fe-border);padding-bottom:.3em}.fe-preview__md h2{font-size:1.4em;border-bottom:1px solid var(--fe-border);padding-bottom:.3em}.fe-preview__md h3{font-size:1.2em}.fe-preview__md p{margin:.8em 0}.fe-preview__md a{color:var(--fe-primary);text-decoration:underline}.fe-preview__md code{font-family:var(--fe-font-mono);background:var(--fe-bg-elev);padding:1px 5px;border-radius:3px;font-size:.92em}.fe-preview__md pre{background:var(--fe-bg-elev);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:12px 16px;overflow:auto;font-size:.9em}.fe-preview__md pre code{background:transparent;padding:0}.fe-preview__md ul,.fe-preview__md ol{padding-left:2em;margin:.8em 0}.fe-preview__md li{margin:.3em 0}.fe-preview__md blockquote{border-left:3px solid var(--fe-border-strong);padding:0 1em;color:var(--fe-text-muted);margin:.8em 0}.fe-preview__md table{border-collapse:collapse;margin:1em 0;width:100%}.fe-preview__md th,.fe-preview__md td{border:1px solid var(--fe-border);padding:6px 10px;text-align:left}.fe-preview__md th{background:var(--fe-bg-elev)}.fe-preview__md img{max-width:100%}.fe-toast{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:var(--fe-text);color:var(--fe-bg);padding:8px 14px;border-radius:var(--fe-radius);font-size:13px;box-shadow:var(--fe-shadow-sm);z-index:95}.fe-toast-enter-active,.fe-toast-leave-active{transition:opacity .2s,transform .2s}.fe-toast-enter-from,.fe-toast-leave-to{opacity:0;transform:translate(-50%,10px)}@media (max-width: 640px){.fe-list__head,.fe-list__row{grid-template-columns:28px minmax(0,1fr) 90px}.fe-list__col--mod{display:none}.fe-toolbar{padding:8px}.fe-search__input{min-width:120px}}.fe-ficon{width:1em;height:1em;display:block;flex-shrink:0}.fe-ficon--folder{color:var(--fe-icon-folder)}.fe-ficon--image{color:var(--fe-icon-image)}.fe-ficon--video{color:var(--fe-icon-video)}.fe-ficon--audio{color:var(--fe-icon-audio)}.fe-ficon--pdf{color:var(--fe-icon-pdf)}.fe-ficon--doc{color:var(--fe-icon-doc)}.fe-ficon--sheet{color:var(--fe-icon-sheet)}.fe-ficon--slides{color:var(--fe-icon-slides)}.fe-ficon--archive{color:var(--fe-icon-archive)}.fe-ficon--code{color:var(--fe-icon-code)}.fe-ficon--text{color:var(--fe-icon-text)}.fe-ficon--unknown{color:var(--fe-icon-unknown)}.fe-grid__icon--svg{display:flex;align-items:center;justify-content:center}.fe-list__icon--svg{display:inline-flex;align-items:center}.fe-list__sort{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.fe-list__sort:hover{color:var(--fe-text)}.fe-list__sort:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px;border-radius:2px}.fe-list__sort-arrow{font-size:11px;color:var(--fe-primary)}.fe-list__group{padding:12px 12px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fe-text-muted);-webkit-user-select:none;user-select:none}.fe--density-compact .fe-toolbar{padding:6px 8px;gap:6px}.fe--density-compact .fe-breadcrumb,.fe--density-compact .fe-list__head{padding:4px 12px}.fe--density-compact .fe-list__row{padding:3px 12px}.fe--density-compact .fe-list__icon{font-size:14px}.fe--density-compact .fe-list__group{padding:8px 12px 2px}.fe--density-compact .fe-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;padding:8px}.fe--density-compact .fe-grid__card{padding:6px}.fe--density-compact .fe-grid__icon{font-size:24px}.fe-cmdp__backdrop{align-items:flex-start;padding-top:min(18vh,160px)}.fe-cmdp{background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-lg);box-shadow:var(--fe-shadow);width:min(560px,calc(100vw - 32px));display:flex;flex-direction:column;overflow:hidden}.fe-cmdp__inputwrap{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--fe-border);color:var(--fe-text-muted)}.fe-cmdp__glyph{flex:0 0 auto}.fe-cmdp__input{flex:1 1 auto;min-width:0;border:0;outline:none;background:transparent;color:var(--fe-text);font:inherit;font-size:15px}.fe-cmdp__input::placeholder{color:var(--fe-text-muted)}.fe-cmdp__list{max-height:min(48vh,380px);overflow-y:auto;padding:6px}.fe-cmdp__group{padding:8px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fe-text-muted)}.fe-cmdp__item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-radius:var(--fe-radius-sm);padding:8px 10px;color:var(--fe-text);font:inherit;font-size:14px;cursor:pointer}.fe-cmdp__item.is-active{background:var(--fe-bg-selected)}.fe-cmdp__item:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-cmdp__icon{flex:0 0 auto;width:20px;text-align:center}.fe-cmdp__label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-cmdp__empty{padding:20px 12px;text-align:center;color:var(--fe-text-muted);font-size:13px}.fe-cmdp__hint{padding:8px 14px;border-top:1px solid var(--fe-border);background:var(--fe-bg-elev);font-size:11px;color:var(--fe-text-muted)}.fe-shortcuts{display:flex;flex-direction:column;gap:16px}.fe-shortcuts__heading{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fe-text-muted)}.fe-shortcuts__table{display:flex;flex-direction:column}.fe-shortcuts__row{display:flex;align-items:center;gap:12px;padding:4px 0}.fe-shortcuts__keys{flex:0 0 40%;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fe-shortcuts__desc{flex:1 1 auto;font-size:13px;color:var(--fe-text)}.fe-shortcuts__or{color:var(--fe-text-muted);font-size:11px}.fe-kbd{display:inline-block;padding:2px 7px;border:1px solid var(--fe-border-strong);border-bottom-width:2px;border-radius:var(--fe-radius-sm);background:var(--fe-bg-elev);color:var(--fe-text);font-family:var(--fe-font-mono);font-size:11.5px;line-height:1.4}.fe-breadcrumb__more-wrap{position:relative;display:inline-flex;align-items:center;gap:4px}.fe-breadcrumb__more{background:transparent;border:0;color:inherit;padding:2px 8px;border-radius:var(--fe-radius-sm);cursor:pointer;font:inherit;line-height:1.2}.fe-breadcrumb__more:hover,.fe-breadcrumb__more[aria-expanded=true]{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-breadcrumb__more:focus-visible{outline:2px solid var(--fe-primary);outline-offset:1px}.fe-breadcrumb__menu{position:absolute;top:calc(100% + 4px);left:0;z-index:80;min-width:160px;max-width:280px;max-height:40vh;overflow-y:auto;display:flex;flex-direction:column;padding:4px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow)}.fe-breadcrumb__menu-item{text-align:left;background:transparent;border:0;padding:6px 10px;border-radius:var(--fe-radius-sm);color:var(--fe-text);font:inherit;font-size:13px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-breadcrumb__menu-item:hover,.fe-breadcrumb__menu-item:focus-visible{background:var(--fe-bg-hover)}.fe-breadcrumb__crumb>span:first-child{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.fe-breadcrumb__crumb>span:first-child{max-width:110px}}@media (prefers-reduced-motion: reduce){.fe-modal-enter-active,.fe-modal-leave-active{transition:none!important}}.fe-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.fe__skeleton{min-height:240px}.fe-skel{position:relative;overflow:hidden;border-radius:var(--fe-radius-sm);background:color-mix(in srgb,var(--fe-text-muted) 14%,transparent)}.fe-skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--fe-text-muted) 12%,transparent),transparent);animation:fe-skel-shimmer 1.4s ease-in-out infinite}@keyframes fe-skel-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.fe-skel:after{animation:none;content:none}}.fe-skel-list{padding-top:2px}.fe-skel-row{display:grid;grid-template-columns:32px minmax(0,1fr) 120px 180px;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--fe-border)}.fe-skel-row .fe-skel{height:12px}.fe-skel-row .fe-skel--icon{width:20px;height:20px;border-radius:6px}.fe-skel-row .fe-skel--name{width:55%}.fe-skel-row:nth-child(2n) .fe-skel--name{width:38%}.fe-skel-row:nth-child(3n) .fe-skel--name{width:70%}.fe-skel-row .fe-skel--size{width:56px;justify-self:start}.fe-skel-row .fe-skel--date{width:110px;justify-self:start}.fe-skel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--fe-gap);padding:var(--fe-gap)}.fe-skel-card{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid var(--fe-border);border-radius:var(--fe-radius);background:var(--fe-bg-elev)}.fe-skel-card .fe-skel--thumb{aspect-ratio:1 / 1}.fe-skel-card .fe-skel--label{height:12px;width:70%}.fe-skel-card:nth-child(2n) .fe-skel--label{width:50%}.fe-skel-card:nth-child(3n) .fe-skel--label{width:85%}.fe-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:240px;height:100%;padding:24px;text-align:center;color:var(--fe-text-muted)}.fe-state__art{color:var(--fe-text-muted);opacity:.7;margin-bottom:4px;flex:0 0 auto}.fe-state__title{margin:2px 0 0;font-size:15px;font-weight:600;color:var(--fe-text)}.fe-state__hint{margin:0;font-size:13px;max-width:420px}.fe-state__path{margin:0;font-size:12px;font-family:var(--fe-font-mono);word-break:break-all;max-width:480px}.fe-state__actions{margin-top:12px;display:flex;gap:8px}.fe-toast--action{display:flex;align-items:center;gap:14px;padding:8px 10px 8px 14px;cursor:pointer;max-width:min(480px,calc(100% - 32px))}.fe-toast__msg{min-width:0}.fe-toast__action{flex:0 0 auto;background:transparent;border:0;padding:4px 8px;border-radius:var(--fe-radius-sm);font:inherit;font-weight:600;color:color-mix(in srgb,var(--fe-primary) 70%,var(--fe-bg));cursor:pointer}.fe-toast__action:hover{background:color-mix(in srgb,var(--fe-bg) 14%,transparent)}.fe-toast__action:focus-visible{outline:2px solid var(--fe-bg);outline-offset:1px}.fe-connbadge{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1.4;color:var(--fe-text-muted);background:var(--fe-bg-elev);border:1px solid var(--fe-border);border-radius:999px;padding:2px 10px;cursor:help;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fe-connbadge__dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--fe-warning, #f59e0b)}.fe-cmdp__item--hit{align-items:flex-start}.fe-cmdp__item--hit .fe-cmdp__icon{margin-top:1px}.fe-cmdp__hitbody{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.fe-cmdp__hitline{display:flex;align-items:center;gap:8px;min-width:0}.fe-cmdp__badge,.fe-list__badge{flex:0 0 auto;display:inline-block;padding:1px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fe-primary) 35%,transparent);background:color-mix(in srgb,var(--fe-primary) 12%,transparent);color:var(--fe-primary);font-size:10px;font-weight:600;line-height:1.5;white-space:nowrap;vertical-align:middle}.fe-cmdp__crumb{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--fe-text-muted)}.fe-cmdp__snippet,.fe-list__snippet{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--fe-text-muted)}.fe-cmdp__mark,.fe-list__mark,.fe-grid__mark{background:color-mix(in srgb,var(--fe-primary) 22%,transparent);color:var(--fe-text);border-radius:2px;padding:0 1px;font-weight:600}.fe-cmdp__loading{padding:8px 12px;font-size:13px;color:var(--fe-text-muted)}.fe-cmdp__item--saved{-webkit-user-select:none;user-select:none}.fe-cmdp__del{flex:0 0 auto;background:transparent;border:0;border-radius:var(--fe-radius-sm);padding:2px 6px;font:inherit;font-size:13px;color:var(--fe-text-muted);cursor:pointer;opacity:.55}.fe-cmdp__item--saved:hover .fe-cmdp__del,.fe-cmdp__item--saved.is-active .fe-cmdp__del{opacity:1}.fe-cmdp__del:hover{background:var(--fe-bg-elev);color:var(--fe-danger, #dc2626)}.fe-cmdp__del:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-list__snippet{max-width:100%}.fe-toolbar--narrow{flex-wrap:nowrap;gap:6px}.fe-toolbar--narrow .fe-btn.is-active{background:var(--fe-bg-selected)}.fe-toolbar--narrow .fe-search--full{flex:1 1 auto;min-width:0}.fe-toolbar--narrow .fe-search--full .fe-search__input{width:100%;min-width:0}.fe-fab{position:absolute;right:16px;bottom:16px;width:56px;height:56px;border:0;border-radius:50%;background:var(--fe-primary);color:var(--fe-text-on-primary);font-size:24px;display:flex;align-items:center;justify-content:center;box-shadow:var(--fe-shadow);cursor:pointer;z-index:45;transition:background .15s,transform .15s}.fe-fab:hover{background:var(--fe-primary-hover)}.fe-fab:active{transform:scale(.94)}.fe-fab:focus-visible{outline:2px solid var(--fe-primary);outline-offset:3px}.fe--narrow .fe-upload,.fe--narrow .fe-ops{bottom:84px}.fe-ctx-backdrop--sheet{background:#0d131b6b}.fe-sheet{position:fixed;left:0;right:0;bottom:0;max-height:70vh;display:flex;flex-direction:column;background:var(--fe-bg);color:var(--fe-text);border:1px solid var(--fe-border);border-bottom:0;border-top-left-radius:var(--fe-radius-lg);border-top-right-radius:var(--fe-radius-lg);box-shadow:0 -10px 32px #0f172a47;padding:0 8px calc(8px + env(safe-area-inset-bottom,0px));outline:none;z-index:90}.fe-sheet__handle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:12px 0 8px;cursor:grab;touch-action:none}.fe-sheet__handle:before{content:"";width:40px;height:4px;border-radius:99px;background:var(--fe-border-strong)}.fe-sheet__items{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.fe-sheet__item{min-height:44px;padding:10px 14px;font-size:15px;gap:12px}.fe-sheet-enter-active,.fe-sheet-leave-active{transition:opacity .18s ease}.fe-sheet-enter-active .fe-sheet,.fe-sheet-leave-active .fe-sheet{transition:transform .22s ease}.fe-sheet-enter-from,.fe-sheet-leave-to{opacity:0}.fe-sheet-enter-from .fe-sheet,.fe-sheet-leave-to .fe-sheet{transform:translateY(100%)}@media (prefers-reduced-motion: reduce){.fe-sheet-enter-active,.fe-sheet-leave-active,.fe-sheet-enter-active .fe-sheet,.fe-sheet-leave-active .fe-sheet,.fe-fab{transition:none}}.fe__main{display:flex;flex-direction:row;flex:1 1 auto;min-height:0}.fe__main>.fe__body{min-width:0;height:100%}.fe-inspector{flex:0 0 300px;width:300px;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text)}.fe-inspector--overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;width:auto;border-left:none}.fe-inspector__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--fe-border);flex:0 0 auto}.fe-inspector__title{margin:0;font-size:13px;font-weight:600;letter-spacing:.02em}.fe-inspector__close{border:none;background:none;color:var(--fe-text-muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px}.fe-inspector__close:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-inspector__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px}.fe-inspector__section{margin-bottom:18px}.fe-inspector__section:last-child{margin-bottom:0}.fe-inspector__heading{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fe-text-muted)}.fe-inspector__hero{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:6px 0 4px}.fe-inspector__bigicon{display:inline-flex}.fe-inspector__bigicon .fe-ficon{width:56px;height:56px}.fe-inspector__thumb{width:96px;height:96px;object-fit:cover;border-radius:var(--fe-radius);border:1px solid var(--fe-border)}.fe-inspector__name{margin:0;font-size:13px;font-weight:600;word-break:break-word;max-width:100%}.fe-inspector__sub{margin:0;font-size:12px;color:var(--fe-text-muted)}.fe-inspector__meta{margin:8px 0 0;display:flex;flex-direction:column;gap:6px}.fe-inspector__row{display:flex;align-items:baseline;gap:8px;font-size:12px}.fe-inspector__row dt{flex:0 0 84px;color:var(--fe-text-muted)}.fe-inspector__row dd{margin:0;min-width:0;flex:1 1 auto;word-break:break-word}.fe-inspector__pathcell{display:flex;align-items:center;gap:4px}.fe-inspector__path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}.fe-inspector__mime{font-family:var(--fe-font-mono);font-size:11px}.fe-inspector__copy{flex:0 0 auto;border:none;background:none;color:var(--fe-text-muted);cursor:pointer;font-size:13px;line-height:1;padding:2px 4px;border-radius:4px}.fe-inspector__copy:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-inspector__empty{margin:0;font-size:12px;color:var(--fe-text-muted)}.fe-btn--sm{padding:3px 8px;font-size:12px}.fe-inspector__versions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fe-inspector__version{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--fe-border);border-radius:var(--fe-radius)}.fe-inspector__version-main{display:flex;flex-direction:column;gap:2px}.fe-inspector__version-n{font-size:12px;font-weight:600}.fe-inspector__version-meta{font-size:11px;color:var(--fe-text-muted)}.fe-inspector__confirm{display:flex;flex-direction:column;gap:6px}.fe-inspector__confirm-q{margin:0;font-size:12px}.fe-inspector__check{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--fe-text-muted);cursor:pointer}.fe-inspector__confirm-actions{display:flex;gap:6px}.fe-inspector__snapshot{margin-top:8px;width:100%}.fe-inspector__permrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fe-inspector__badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;border:1px solid var(--fe-border-strong);color:var(--fe-text);background:var(--fe-bg-hover)}.fe-inspector__badge--owner{border-color:var(--fe-primary);color:var(--fe-primary);background:transparent}.fe-inspector__badge--none{color:var(--fe-text-muted)}.fe-inspector__badge--pin{border-color:var(--fe-warning, #f59e0b);color:var(--fe-warning, #f59e0b);background:transparent}.fe-inspector__shares{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.fe-inspector__share{display:flex;align-items:center;gap:6px;font-size:12px;min-width:0}.fe-inspector__share-url{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-inspector__share-exp{flex:0 0 auto;font-size:11px;color:var(--fe-text-muted)}@media (prefers-reduced-motion: no-preference){.fe-inspector{animation:fe-inspector-in .16s ease}@keyframes fe-inspector-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}}.fe-shortcuts__unbound{font-size:12px;font-style:italic;color:var(--fe-text-muted)}.fe-shortcuts__custom{margin-left:4px;font-size:9px;vertical-align:2px;color:var(--fe-primary)}.fe-shortset{display:flex;flex-direction:column;gap:14px}.fe-shortset__topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.fe-shortset__hint{margin:0;font-size:12px;color:var(--fe-text-muted);flex:1 1 auto}.fe-shortset__reset-all{flex:0 0 auto}.fe-shortset__group{display:flex;flex-direction:column}.fe-shortset__item{border-radius:var(--fe-radius-sm);padding:2px 6px;margin:0 -6px}.fe-shortset__item.is-capturing{background:var(--fe-bg-hover);outline:1px dashed var(--fe-primary);outline-offset:-1px}.fe-shortset__item.is-conflict{background:color-mix(in srgb,var(--fe-danger) 8%,transparent);outline:1px solid var(--fe-danger);outline-offset:-1px}.fe-shortset__row{display:flex;align-items:center;gap:12px;padding:4px 0;min-height:34px}.fe-shortset__label{flex:1 1 auto;font-size:13px;color:var(--fe-text)}.fe-shortset__keys{flex:0 0 auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.fe-shortset__capture{font-size:12px;color:var(--fe-primary);animation:fe-shortset-blink 1.1s ease-in-out infinite}@keyframes fe-shortset-blink{0%,to{opacity:1}50%{opacity:.45}}.fe-shortset__actions{flex:0 0 auto;display:flex;align-items:center;gap:6px;min-width:118px;justify-content:flex-end}.fe-shortset__btn{padding:3px 9px;font-size:12px}.fe-shortset__fixed{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--fe-text-muted);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:2px 7px}.fe-shortset__conflict{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 2px 8px;font-size:12.5px;color:var(--fe-danger)}.fe-shortset__conflict-msg{flex:1 1 auto;display:inline-flex;align-items:center;gap:6px;min-width:200px}.fe-shortset__conflict-actions{flex:0 0 auto;display:flex;gap:6px}.fe-ql-hint{position:fixed;left:50%;bottom:14px;transform:translate(-50%);z-index:72;display:inline-flex;flex-direction:row;align-items:center;width:auto;height:auto;min-height:0;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--fe-border);background:var(--fe-bg-elev);color:var(--fe-text-muted);font-size:12px;box-shadow:var(--fe-shadow);pointer-events:none;white-space:nowrap}.fe-ql-hint .fe-kbd{font-size:10.5px;padding:1px 5px}.fe-ql-hint__sep{opacity:.5}.fe-opc{position:absolute;right:16px;bottom:16px;z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:10px;max-width:calc(100% - 32px)}.fe-opc__badge{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;border:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text);box-shadow:var(--fe-shadow);cursor:pointer;font:inherit;font-size:13px;line-height:1}.fe-opc__badge:hover{background:var(--fe-bg-hover)}.fe-opc__badge:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px}.fe-opc__badge.is-error{border-color:var(--fe-danger)}.fe-opc__badge.is-error .fe-opc__count{color:var(--fe-danger)}.fe-opc__ring{width:22px;height:22px;flex:0 0 auto}.fe-opc__ring-track{stroke:var(--fe-border-strong)}.fe-opc__ring-fill{stroke:var(--fe-primary);transition:stroke-dashoffset .25s}.fe-opc__badge.is-error .fe-opc__ring-fill{stroke:var(--fe-danger)}.fe-opc__ring--spin{animation:fe-opc-spin 1s linear infinite}@keyframes fe-opc-spin{to{transform:rotate(360deg)}}.fe-opc__count{font-weight:600}.fe-opc__pct{color:var(--fe-text-muted);font-size:12px}.fe-opc__panel{width:min(380px,calc(100vw - 32px));max-width:100%;max-height:min(420px,60vh);display:flex;flex-direction:column;overflow:hidden;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-lg);box-shadow:var(--fe-shadow)}.fe-opc__head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);font-size:13px}.fe-opc__body{overflow:auto;padding:6px 0 8px}.fe-opc__section+.fe-opc__section{border-top:1px solid var(--fe-border);margin-top:6px}.fe-opc__section-title{display:flex;align-items:center;justify-content:space-between;margin:0;padding:8px 14px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fe-text-muted)}.fe-opc__list{list-style:none;margin:0;padding:0}.fe-opc__item{display:flex;align-items:flex-start;gap:10px;padding:8px 14px}.fe-opc__item+.fe-opc__item{border-top:1px solid var(--fe-border)}.fe-opc__item.is-error{background:color-mix(in srgb,var(--fe-danger) 7%,transparent)}.fe-opc__kicon{width:18px;height:18px;flex:0 0 auto;margin-top:2px;color:var(--fe-text-muted)}.fe-opc__item.is-error .fe-opc__kicon{color:var(--fe-danger)}.fe-opc__mid{flex:1 1 auto;min-width:0}.fe-opc__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.fe-opc__sub{display:flex;align-items:baseline;gap:5px;font-size:11px;color:var(--fe-text-muted);margin-top:1px;min-width:0}.fe-opc__sub--err,.fe-opc__item.is-error .fe-opc__state{color:var(--fe-danger)}.fe-opc__state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-opc__bar{background:var(--fe-bg-elev);border-radius:99px;height:5px;overflow:hidden;margin-top:5px}.fe-opc__bar-fill{background:var(--fe-primary);height:100%;transition:width .2s}.fe-opc__spin{flex:0 0 auto;width:14px;height:14px;margin-top:4px;border-radius:50%;border:2px solid var(--fe-border-strong);border-top-color:var(--fe-primary);animation:fe-opc-spin .8s linear infinite}.fe-opc__acts{display:flex;align-items:center;gap:2px;flex:0 0 auto}.fe-opc__act{background:transparent;border:0;color:var(--fe-primary);cursor:pointer;font:inherit;font-size:12px;padding:2px 4px;border-radius:var(--fe-radius-sm)}.fe-opc__act:hover{background:var(--fe-bg-hover)}.fe-opc__act--retry{font-weight:600}.fe-opc__x{background:transparent;border:0;color:var(--fe-text-muted);cursor:pointer;font-size:16px;line-height:1;padding:0 4px;border-radius:var(--fe-radius-sm)}.fe-opc__x:hover{color:var(--fe-text)}.fe-opc__item--history .fe-opc__name{font-size:12px;color:var(--fe-text-muted)}.fe-opc__chip{flex:0 0 auto;font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--fe-bg-elev);color:var(--fe-text-muted)}.fe-opc__chip.is-done{color:var(--fe-ok, #16a34a);background:color-mix(in srgb,var(--fe-ok, #16a34a) 12%,transparent)}.fe-opc__chip.is-error{color:var(--fe-danger);background:color-mix(in srgb,var(--fe-danger) 12%,transparent)}.fe-opc__item.is-done .fe-opc__bar-fill{background:var(--fe-ok, #16a34a)}.fe-opc__empty{margin:0;padding:16px 14px;font-size:12px;color:var(--fe-text-muted);text-align:center}.fe-opc-pop-enter-active,.fe-opc-pop-leave-active{transition:transform .16s ease,opacity .16s ease}.fe-opc-pop-enter-from,.fe-opc-pop-leave-to{opacity:0;transform:translateY(8px) scale(.98)}.fe--narrow .fe-opc{left:12px;right:12px;bottom:84px;max-width:none}.fe--narrow .fe-opc__panel{width:100%;max-height:50vh}@media (prefers-reduced-motion: reduce){.fe-opc__ring--spin,.fe-opc__spin{animation-duration:3s}.fe-opc-pop-enter-active,.fe-opc-pop-leave-active{transition:none}}======= .fe-grid__card:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px}.fe-ctx__item:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px;background:var(--fe-bg-hover)}.fe-list__row.is-droptarget,.fe-grid__card.is-droptarget{outline:2px dashed var(--fe-primary);outline-offset:-2px;background:var(--fe-bg-selected)}.fe-grid__card.is-droptarget{border-color:var(--fe-primary)}.fe-dragghost{display:inline-flex;align-items:center;gap:8px;max-width:260px;padding:6px 10px;border:1px solid var(--fe-border-strong);border-radius:var(--fe-radius);background:var(--fe-bg-elev);color:var(--fe-text);font-family:var(--fe-font);font-size:13px;box-shadow:var(--fe-shadow-sm);pointer-events:none;z-index:96}.fe-dragghost__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-dragghost__badge{flex:0 0 auto;min-width:20px;padding:1px 6px;border-radius:999px;background:var(--fe-primary);color:var(--fe-text-on-primary);font-size:12px;font-weight:600;text-align:center}.fe-state__details{margin-top:10px;max-width:480px;font-size:12px;text-align:left}.fe-state__details-summary{cursor:pointer;text-align:center;color:var(--fe-text-muted);-webkit-user-select:none;user-select:none}.fe-state__details-summary:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px}.fe-state__details-pre{margin:8px 0 0;padding:8px 10px;border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);background:var(--fe-bg-elev);font-family:var(--fe-font-mono);font-size:11px;white-space:pre-wrap;word-break:break-word;max-height:160px;overflow:auto}.fe-tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:96;color:var(--fe-text);font-family:var(--fe-font);font-size:14px}.fe-tour__spot{position:fixed;border-radius:10px;box-shadow:0 0 0 9999px #0d131b8c;border:2px solid var(--fe-primary);pointer-events:none}.fe-tour__dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d131b8c;pointer-events:none}.fe-tour__card{position:fixed;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--fe-border-strong);border-radius:var(--fe-radius-lg);background:var(--fe-bg);color:var(--fe-text);box-shadow:var(--fe-shadow);outline:none}.fe-tour__card--center{top:50%;left:50%;transform:translate(-50%,-50%);width:min(360px,calc(100vw - 24px))}.fe-tour__progress{margin:0;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--fe-text-muted)}.fe-tour__title{margin:0;font-size:15px;font-weight:700}.fe-tour__desc{margin:0;font-size:13px;line-height:1.5;color:var(--fe-text-muted)}.fe-tour__dots{display:flex;gap:5px;margin-top:4px}.fe-tour__dot{width:7px;height:7px;border-radius:50%;background:var(--fe-border-strong);transition:background .15s}.fe-tour__dot.is-active{background:var(--fe-primary)}.fe-tour__actions{display:flex;align-items:center;gap:8px;margin-top:8px}.fe-tour__actions-spacer{flex:1 1 auto}.fe-tour__skip{color:var(--fe-text-muted)}.fe-tour-enter-active,.fe-tour-leave-active{transition:opacity .16s ease}.fe-tour-enter-from,.fe-tour-leave-to{opacity:0}@media (prefers-reduced-motion: reduce){.fe-tour-enter-active,.fe-tour-leave-active,.fe-ctx-enter-active,.fe-ctx-leave-active,.fe-sheet-enter-active,.fe-sheet-leave-active,.fe-toast-enter-active,.fe-toast-leave-active,.fe-list__row,.fe-grid__card,.fe-tour__dot,.fe-list__col--star{transition:none!important}}.fe-tabs{display:flex;align-items:stretch;gap:4px;flex:0 0 auto;padding:4px 6px 0;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);-webkit-user-select:none;user-select:none}.fe-tabs__scroll{display:flex;align-items:stretch;gap:2px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.fe-tabs__scroll::-webkit-scrollbar{display:none}.fe-tabs__tab{display:flex;align-items:center;gap:6px;max-width:180px;min-width:72px;padding:4px 6px 4px 10px;font-size:12px;color:var(--fe-text-muted);background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;white-space:nowrap;position:relative}.fe-tabs__tab:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-tabs__tab.is-active{background:var(--fe-bg);color:var(--fe-text);border-color:var(--fe-border)}.fe-tabs__tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--fe-bg)}.fe-tabs__tab.is-dragover{outline:1px dashed var(--fe-primary);outline-offset:-2px}.fe-tabs__tab:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-tabs__label{overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.fe-tabs__splitdot{width:6px;height:6px;border-radius:2px;background:var(--fe-primary);flex:0 0 auto}.fe-tabs__close{flex:0 0 auto;width:16px;height:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:inherit;font-size:13px;cursor:pointer;padding:0}.fe-tabs__close:hover{background:var(--fe-bg-hover)}.fe-tabs__new,.fe-tabs__split{flex:0 0 auto;align-self:center;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--fe-text-muted);font-size:15px;cursor:pointer;padding:0}.fe-tabs__split .fe-ficon{width:14px;height:14px}.fe-tabs__new:hover,.fe-tabs__split:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-tabs__split.is-active{background:var(--fe-bg-selected);color:var(--fe-primary);border-color:var(--fe-border)}.fe--narrow .fe-tabs__split{display:none}.fe__primary{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0}.fe__primary>.fe__body{min-width:0}.fe__main--split>.fe__primary{flex:1 1 50%}.fe-split{flex:1 1 50%;min-width:0;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text)}.fe__main--split>.fe__primary,.fe-split{box-shadow:inset 0 2px 0 transparent}.fe__main--split>.fe__primary.fe-pane--focus,.fe-split.fe-pane--focus{box-shadow:inset 0 2px 0 var(--fe-primary)}.fe-split__crumbs{display:flex;align-items:center;gap:4px;flex:0 0 auto;padding:6px 12px;min-height:37px;border-bottom:1px solid var(--fe-border);font-size:13px;color:var(--fe-text-muted);overflow:hidden;white-space:nowrap}.fe-split__crumb{border:none;background:transparent;color:inherit;font:inherit;padding:2px 6px;border-radius:var(--fe-radius-sm);cursor:pointer;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-split__crumb:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-split__crumb.is-last{color:var(--fe-text);font-weight:600}.fe-split__sep{opacity:.6;flex:0 0 auto}.fe-split__spacer{flex:1 1 auto}.fe-split__closebtn{flex:0 0 auto;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:5px;background:transparent;color:var(--fe-text-muted);font-size:14px;cursor:pointer;padding:0}.fe-split__closebtn:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-split__body{flex:1 1 auto;min-height:0;overflow:auto;position:relative}.fe-split__body.is-dropover{outline:2px dashed var(--fe-primary);outline-offset:-4px}.fe-split__list{padding:4px 0}.fe-split__row{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:13px;cursor:default}.fe-split__row:hover{background:var(--fe-bg-hover)}.fe-split__row.is-selected{background:var(--fe-bg-selected)}.fe-split__row.is-droptarget{outline:1.5px dashed var(--fe-primary);outline-offset:-2px;border-radius:6px}.fe-split__row:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-split__icon{flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:16px}.fe-split__icon .fe-ficon{width:16px;height:16px}.fe-split__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-split__size{flex:0 0 auto;color:var(--fe-text-muted);font-size:11.5px}.fe-split__state{padding:24px 12px;text-align:center;color:var(--fe-text-muted);font-size:12.5px;display:flex;flex-direction:column;gap:10px;align-items:center}.fe-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--fe-gap);padding:var(--fe-gap)}.fe-gal__card{display:flex;flex-direction:column;align-items:stretch;border:1px solid var(--fe-border);border-radius:var(--fe-radius);background:var(--fe-bg-elev);cursor:pointer;overflow:hidden;transition:background .08s,border-color .08s;-webkit-user-select:none;user-select:none}.fe-gal__card:hover{background:var(--fe-bg-hover);border-color:var(--fe-border-strong)}.fe-gal__card.is-selected{background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-gal__card.is-trash{opacity:.7}.fe-gal__card.is-clipped{opacity:.55;border-style:dashed}.fe-gal__card:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px}.fe-gal__card.is-droptarget{outline:2px dashed var(--fe-primary);outline-offset:-2px;background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-gal__thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;background:var(--fe-bg);overflow:hidden}.fe-gal__thumb img{width:100%;height:100%;object-fit:cover}.fe-gal__icon{font-size:44px}.fe-gal__icon--svg svg{width:64px;height:64px}.fe-gal__meta{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:1px;padding:6px 8px;font-size:11px;line-height:1.35;color:var(--fe-text);background:color-mix(in srgb,var(--fe-bg-elev) 88%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;pointer-events:none}.fe-gal__card:hover .fe-gal__meta,.fe-gal__card:focus-visible .fe-gal__meta{opacity:1;transform:translateY(0)}.fe-gal__meta-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-gal__meta-line--path{color:var(--fe-text-muted);font-style:italic}.fe-gal__label{padding:7px 9px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.fe-gal__empty{grid-column:1 / -1;padding:40px 20px;text-align:center;color:var(--fe-text-muted)}.fe--narrow .fe-gal{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.fe--density-compact .fe-gal{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:calc(var(--fe-gap) * .6)}.fe--density-compact .fe-gal__label{padding:5px 7px;font-size:12px}@media (prefers-reduced-motion: reduce){.fe-gal__card,.fe-gal__meta{transition:none!important;transform:none}}.fe-inspector__countbadge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:6px;border-radius:8px;font-size:10px;font-weight:600;letter-spacing:0;background:var(--fe-bg-hover);color:var(--fe-text);vertical-align:middle}.fe-inspector__comments{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}.fe-inspector__comment{border:1px solid var(--fe-border);border-radius:8px;padding:6px 8px;background:var(--fe-bg)}.fe-inspector__comment-top{display:flex;align-items:baseline;gap:6px;min-width:0}.fe-inspector__comment-author{font-size:12px;font-weight:600;color:var(--fe-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.fe-inspector__comment-time{font-size:11px;color:var(--fe-text-muted);flex:1 1 auto;white-space:nowrap}.fe-inspector__comment-del{border:none;background:none;color:var(--fe-text-muted);font-size:14px;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px;flex:0 0 auto}.fe-inspector__comment-del:hover{background:var(--fe-bg-hover);color:var(--fe-danger)}.fe-inspector__comment-del:disabled{opacity:.5;cursor:default}.fe-inspector__comment-body{margin:4px 0 0;font-size:12px;line-height:1.45;color:var(--fe-text);overflow-wrap:anywhere;white-space:pre-wrap}.fe-inspector__comment-form{display:flex;gap:6px;align-items:center}.fe-inspector__comment-input{flex:1 1 auto;min-width:0;border:1px solid var(--fe-border);border-radius:8px;background:var(--fe-bg);color:var(--fe-text);font:inherit;font-size:12px;padding:6px 8px}.fe-inspector__comment-input:focus{outline:none;border-color:var(--fe-accent)}.fe-inspector__comment-input:disabled{opacity:.6}.fe-e2e-strip{display:flex;align-items:center;gap:8px;padding:4px 12px;font-size:12.5px;color:var(--fe-text-muted);border-bottom:1px solid var(--fe-border);background:var(--fe-bg-elev)}.fe-e2e-strip__icon{font-size:13px;line-height:1}.fe-e2e-strip__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-e2e-strip__btn{padding:2px 10px;font-size:12px}.fe-e2e-lock__form{display:flex;gap:8px;align-items:stretch;margin-top:12px;width:min(340px,100%)}.fe-e2e-lock__input{flex:1;min-width:0}.fe-e2e-form{display:flex;flex-direction:column;gap:10px}.fe-e2e-warn{border:1px solid var(--fe-danger);border-radius:var(--fe-radius-sm);padding:8px 10px;font-size:12.5px;color:var(--fe-text);background:color-mix(in srgb,var(--fe-danger) 8%,transparent)}.fe-e2e-warn strong{display:block;color:var(--fe-danger);margin-bottom:2px}.fe-e2e-warn p{margin:0;color:var(--fe-text-muted)}.fe-e2e-ack{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--fe-text);cursor:pointer}.fe-e2e-ack input{margin-top:2px;accent-color:var(--fe-primary)}.fe-e2e-optlink{margin-top:10px;padding:0;border:none;background:none;font:inherit;font-size:12.5px;color:var(--fe-primary);cursor:pointer;text-align:left}.fe-e2e-optlink:hover{text-decoration:underline}.fe:not(.fe--narrow) .fe-toolbar{flex-wrap:nowrap}.fe:not(.fe--narrow) .fe-toolbar__primary{flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow:hidden;position:relative}.fe-toolbar__measure{position:absolute;visibility:hidden;pointer-events:none;height:0;overflow:hidden;display:flex;gap:8px;white-space:nowrap}.fe-toolbar__measure .fe-btn{flex:none}.fe,.fe *,.fe-ctx-backdrop,.fe-ctx-backdrop *,.fe-tour,.fe-tour *{scrollbar-width:thin;scrollbar-color:var(--fe-border-strong) transparent}.fe ::-webkit-scrollbar,.fe-ctx-backdrop ::-webkit-scrollbar,.fe-tour ::-webkit-scrollbar{width:10px;height:10px}.fe ::-webkit-scrollbar-track,.fe-ctx-backdrop ::-webkit-scrollbar-track,.fe-tour ::-webkit-scrollbar-track{background:transparent}.fe ::-webkit-scrollbar-thumb,.fe-ctx-backdrop ::-webkit-scrollbar-thumb,.fe-tour ::-webkit-scrollbar-thumb{background:var(--fe-border-strong);border:2px solid transparent;background-clip:padding-box;border-radius:8px}.fe ::-webkit-scrollbar-thumb:hover,.fe-ctx-backdrop ::-webkit-scrollbar-thumb:hover,.fe-tour ::-webkit-scrollbar-thumb:hover{background:var(--fe-text-muted);background-clip:padding-box}.fe ::-webkit-scrollbar-corner,.fe-ctx-backdrop ::-webkit-scrollbar-corner,.fe-tour ::-webkit-scrollbar-corner{background:transparent}.fe-thememode{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.fe-thememode__label{font-size:13px;font-weight:600;color:var(--fe-text-muted)}.fe-thememode__seg{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--fe-border);border-radius:var(--fe-radius-lg);background:var(--fe-bg-elev)}.fe-thememode__opt{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:calc(var(--fe-radius-lg) - 4px);background:transparent;color:var(--fe-text-muted);font:inherit;font-size:13px;cursor:pointer;transition:background .14s ease,color .14s ease}.fe-thememode__opt:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-thememode__opt.is-active{background:var(--fe-bg);color:var(--fe-text);box-shadow:var(--fe-shadow-sm)}.fe-thememode__opt .fe-ficon{width:15px;height:15px;flex:none}@media (max-width: 420px){.fe-thememode__seg{flex:1 1 100%}.fe-thememode__opt{flex:1;justify-content:center}}.filex-viewer-3d{width:100%;height:100%;min-height:480px;background:#1a1a1a;display:flex;align-items:center;justify-content:center}.filex-viewer-3d model-viewer{width:100%;height:100%;min-height:480px;background:#1a1a1a;display:block}.filex-viewer-fallback{text-align:center;color:#c8cdd6;padding:32px;max-width:480px}.filex-viewer-epub__nav{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:4px 8px;background:var(--fe-bg-elev, rgba(255, 255, 255, .9));border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.filex-viewer-epub{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);position:relative}.filex-viewer-epub__bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-epub__fs{display:inline-block;min-width:40px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-epub__main{flex:1;min-height:0;display:flex}.filex-viewer-epub__rendition{flex:1;min-height:0}.filex-viewer-epub__toc{width:260px;border-right:1px solid var(--fe-border, #e2e6ed);overflow-y:auto;padding:12px 0;background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-epub__toc ul{list-style:none;margin:0;padding:0}.filex-viewer-epub__toc-link{display:block;width:100%;text-align:left;background:transparent;border:0;padding:6px 14px;font:inherit;color:inherit;cursor:pointer}.filex-viewer-epub__toc-link:hover{background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-epub__toc-link.is-child{padding-left:28px;color:var(--fe-text-muted, #5a6475);font-size:12px}.filex-viewer-epub__loading{position:absolute;inset:auto 0 0 0;text-align:center;padding:6px;background:#0000000d;font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-btn:disabled{opacity:.5;cursor:not-allowed}.filex-viewer-mermaid{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-mermaid__bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-mermaid__zoom{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-mermaid__pane{flex:1;overflow:hidden;position:relative;cursor:grab;background:var(--fe-bg-elev, #f7f8fa);touch-action:none}.filex-viewer-mermaid__pane:active{cursor:grabbing}.filex-viewer-mermaid__surface{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transform-origin:center center;transition:transform .05s linear;-webkit-user-select:none;user-select:none}.filex-viewer-mermaid__surface svg{max-width:90%;max-height:90%}.filex-viewer-fallback{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475);width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.filex-viewer-drawio{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-drawio__bar{display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-drawio__status[data-state=error]{color:var(--fe-danger, #dc2626)}.filex-viewer-drawio__status[data-state=saved]{color:#059669}.filex-viewer-drawio__readonly{font-style:italic;margin-left:auto}.filex-viewer-drawio__frame{flex:1;width:100%;border:0;background:#fafafa;min-height:0}.filex-viewer-tiff__pager{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--fe-bg-elev, rgba(255, 255, 255, .9));border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.filex-viewer-tiff__pages{font-size:12px;font-variant-numeric:tabular-nums}.filex-viewer-tiff{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-tiff__bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-tiff__pages{min-width:110px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-tiff__zoom{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-tiff__pane{flex:1;overflow:auto;padding:16px;background:#2a2d33;display:flex;align-items:flex-start;justify-content:flex-start}.filex-viewer-tiff__pane canvas{background:#fff;box-shadow:0 4px 16px #0000004d}.filex-viewer-psd{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-psd__bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-psd__dim{font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-psd__zoom{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-psd__main{flex:1;display:flex;min-height:0}.filex-viewer-psd__layers{width:240px;border-right:1px solid var(--fe-border, #e2e6ed);overflow-y:auto;padding:8px 0;background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-psd__layers ul{list-style:none;margin:0;padding:0}.filex-viewer-psd__layers li{display:flex;align-items:center;gap:6px;padding:4px 12px;font-size:12px}.filex-viewer-psd__layer-vis{width:14px;text-align:center;color:var(--fe-text-muted, #5a6475)}.filex-viewer-psd__layer-vis[data-hidden="1"]{color:var(--fe-border-strong, #c7ced9)}.filex-viewer-psd__layer-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filex-viewer-psd__pane{flex:1;overflow:auto;padding:16px;background:#2a2d33;display:flex;align-items:flex-start;justify-content:flex-start}.filex-viewer-psd__pane canvas{background:#fff repeating-conic-gradient(#e0e0e0 0% 25%,transparent 0% 50%) 50% / 16px 16px;box-shadow:0 4px 16px #0000004d}.filex-viewer-fallback{text-align:center;padding:32px;color:#c8cdd6;margin:auto}.filex-viewer-btn.is-active{background:var(--fe-bg-selected, #dfe8ff);border-color:var(--fe-primary, #3b82f6)}.filex-viewer-ipynb{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-ipynb__bar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-ipynb__lang{font-family:var(--fe-font-mono, monospace);text-transform:uppercase;letter-spacing:.04em}.filex-viewer-ipynb__pane{flex:1;overflow:auto;padding:16px 24px}.filex-viewer-ipynb__cell{border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;margin-bottom:16px;overflow:hidden}.filex-viewer-ipynb__cell[data-type=code]{background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-ipynb__exec{padding:4px 12px;font-family:var(--fe-font-mono, monospace);font-size:11px;color:var(--fe-text-muted, #5a6475);background:#0000000a}.filex-viewer-ipynb__src{margin:0;padding:12px;font-family:var(--fe-font-mono, monospace);font-size:12px;line-height:1.5;white-space:pre;overflow-x:auto}.filex-viewer-ipynb__outputs{border-top:1px dashed var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);padding:8px 12px}.filex-viewer-ipynb__out{margin:0;padding:4px 0;font-family:var(--fe-font-mono, monospace);font-size:12px;white-space:pre-wrap;word-wrap:break-word}.filex-viewer-ipynb__out[data-type=error]{color:var(--fe-danger, #dc2626)}.filex-viewer-ipynb__img{display:block;max-width:100%;height:auto;margin:8px 0}.filex-viewer-ipynb__html{font-size:13px}.filex-viewer-ipynb__md{padding:12px 16px;font-size:14px;line-height:1.6}.filex-viewer-ipynb__md-raw{padding:12px;margin:0;font-family:var(--fe-font-mono, monospace);font-size:12px;white-space:pre-wrap}.filex-viewer-csv{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-csv__bar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px}.filex-viewer-csv__check{display:flex;align-items:center;gap:4px;font-size:12px}.filex-viewer-csv__select,.filex-viewer-csv__filter{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:inherit;padding:4px 8px;border-radius:4px;font:inherit;font-size:12px}.filex-viewer-csv__filter{flex:0 1 240px}.filex-viewer-spacer{flex:1}.filex-viewer-csv__count{font-size:11px;color:var(--fe-text-muted, #5a6475);font-variant-numeric:tabular-nums}.filex-viewer-csv__pane{flex:1;overflow:auto}.filex-viewer-csv__table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px;font-family:var(--fe-font-mono, monospace)}.filex-viewer-csv__table th,.filex-viewer-csv__table td{padding:4px 10px;border:1px solid var(--fe-border, #e2e6ed);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.filex-viewer-csv__table th{background:var(--fe-bg-elev, #f7f8fa);position:sticky;top:0;font-weight:600;text-align:left}.filex-viewer-csv__table tbody tr:nth-child(2n){background:var(--fe-bg-hover, rgba(0, 0, 0, .02))}.filex-viewer-csv__rownum{color:var(--fe-text-muted, #5a6475);text-align:right;background:var(--fe-bg-elev, #f7f8fa);font-variant-numeric:tabular-nums;position:sticky;left:0}.filex-viewer-csv__pager{display:flex;justify-content:center;align-items:center;gap:8px;padding:6px;background:var(--fe-bg-elev, #f7f8fa);border-top:1px solid var(--fe-border, #e2e6ed);font-size:12px}.filex-viewer-csv__pageno{font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-btn{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-btn:disabled{opacity:.4;cursor:not-allowed}.filex-viewer-archive{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-archive__pane{flex:1;overflow:auto;padding:16px 20px}.filex-viewer-archive__summary{font-size:12px;color:var(--fe-text-muted, #5a6475);margin-bottom:12px;font-variant-numeric:tabular-nums}.filex-viewer-archive__table{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--fe-font-mono, monospace)}.filex-viewer-archive__table th,.filex-viewer-archive__table td{padding:6px 12px;border-bottom:1px solid var(--fe-border, #e2e6ed);text-align:left}.filex-viewer-archive__table th{background:var(--fe-bg-elev, #f7f8fa);font-weight:600;position:sticky;top:0}.filex-viewer-archive__size{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--fe-text-muted, #5a6475)}.filex-viewer-archive__icon{margin-right:6px}.filex-viewer-archive__table tr[data-dir="1"]{color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon{font-size:48px;display:block;margin-bottom:12px}';let Tb=!1;function gN(){if(Tb||typeof document>"u")return;const e=document.createElement("style");e.setAttribute("data-filex",""),e.textContent=vN,document.head.appendChild(e),Tb=!0}function Db(e,t){const r={};return e.apiBase&&(r.apiBase=e.apiBase),e.endpoint&&(r.endpoint=e.endpoint),(e.locale==="tr"||e.locale==="en")&&(r.locale=e.locale),(e.theme==="light"||e.theme==="dark"||e.theme==="auto")&&(r.theme=e.theme),e.trashVisible!==void 0&&(r.trashVisible=e.trashVisible===!0||e.trashVisible==="true"||e.trashVisible===""),{...r,...t??{}}}const Mb=ek({inheritAttrs:!1,props:{config:{type:Object,default:null},apiBase:{type:String,default:""},endpoint:{type:String,default:""},locale:{type:String,default:""},theme:{type:String,default:""},trashVisible:{type:[Boolean,String],default:void 0}},emits:["share-created","file-opened","error","upload-progress","selection-change"],setup(e,{emit:t}){gN();const r=ae(Db({apiBase:e.apiBase,endpoint:e.endpoint,locale:e.locale,theme:e.theme,trashVisible:e.trashVisible},e.config));return Tt(()=>[e.config,e.apiBase,e.endpoint,e.locale,e.theme,e.trashVisible],()=>{r.value=Db({apiBase:e.apiBase,endpoint:e.endpoint,locale:e.locale,theme:e.theme,trashVisible:e.trashVisible},e.config)},{deep:!0}),()=>cg(mN,{config:r.value,onShareCreated:n=>t("share-created",n),onFileOpened:n=>t("file-opened",n),onError:n=>t("error",n),onUploadProgress:n=>t("upload-progress",n),onSelectionChange:n=>t("selection-change",n)})}},{shadowRoot:!1}),bN=Mb;typeof customElements<"u"&&!customElements.get("filex-explorer")&&customElements.define("filex-explorer",Mb);var _N=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Id(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Ob(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const r=e[t],n=typeof r;(n==="object"||n==="function")&&!Object.isFrozen(r)&&Ob(r)}),e}class Ib{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Rb(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function qi(e,...t){const r=Object.create(null);for(const n in e)r[n]=e[n];return t.forEach(function(n){for(const a in n)r[a]=n[a]}),r}const yN="</span>",Nb=e=>!!e.scope,xN=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const r=e.split(".");return[`${t}${r.shift()}`,...r.map((n,a)=>`${n}${"_".repeat(a+1)}`)].join(" ")}return`${t}${e}`};class wN{constructor(t,r){this.buffer="",this.classPrefix=r.classPrefix,t.walk(this)}addText(t){this.buffer+=Rb(t)}openNode(t){if(!Nb(t))return;const r=xN(t.scope,{prefix:this.classPrefix});this.span(r)}closeNode(t){Nb(t)&&(this.buffer+=yN)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}}const Fb=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class Rd{constructor(){this.rootNode=Fb(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const r=Fb({scope:t});this.add(r),this.stack.push(r)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,r){return typeof r=="string"?t.addText(r):r.children&&(t.openNode(r),r.children.forEach(n=>this._walk(t,n)),t.closeNode(r)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(r=>typeof r=="string")?t.children=[t.children.join("")]:t.children.forEach(r=>{Rd._collapse(r)}))}}class kN extends Rd{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,r){const n=t.root;r&&(n.scope=`language:${r}`),this.add(n)}toHTML(){return new wN(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Nl(e){return e?typeof e=="string"?e:e.source:null}function Lb(e){return To("(?=",e,")")}function EN(e){return To("(?:",e,")*")}function SN(e){return To("(?:",e,")?")}function To(...e){return e.map(r=>Nl(r)).join("")}function CN(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Nd(...e){return"("+(CN(e).capture?"":"?:")+e.map(n=>Nl(n)).join("|")+")"}function zb(e){return new RegExp(e.toString()+"|").exec("").length-1}function AN(e,t){const r=e&&e.exec(t);return r&&r.index===0}const TN=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Fd(e,{joinWith:t}){let r=0;return e.map(n=>{r+=1;const a=r;let i=Nl(n),o="";for(;i.length>0;){const s=TN.exec(i);if(!s){o+=i;break}o+=i.substring(0,s.index),i=i.substring(s.index+s[0].length),s[0][0]==="\\"&&s[1]?o+="\\"+String(Number(s[1])+a):(o+=s[0],s[0]==="("&&r++)}return o}).map(n=>`(${n})`).join(t)}const DN=/\b\B/,Pb="[a-zA-Z]\\w*",Ld="[a-zA-Z_]\\w*",Bb="\\b\\d+(\\.\\d+)?",$b="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ub="\\b(0b[01]+)",MN="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",ON=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=To(t,/.*\b/,e.binary,/\b.*/)),qi({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(r,n)=>{r.index!==0&&n.ignoreMatch()}},e)},Fl={begin:"\\\\[\\s\\S]",relevance:0},IN={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Fl]},RN={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Fl]},NN={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},S0=function(e,t,r={}){const n=qi({scope:"comment",begin:e,end:t,contains:[]},r);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const a=Nd("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:To(/[ ]+/,"(",a,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},FN=S0("//","$"),LN=S0("/\\*","\\*/"),zN=S0("#","$"),PN={scope:"number",begin:Bb,relevance:0},BN={scope:"number",begin:$b,relevance:0},$N={scope:"number",begin:Ub,relevance:0},UN={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Fl,{begin:/\[/,end:/\]/,relevance:0,contains:[Fl]}]},HN={scope:"title",begin:Pb,relevance:0},qN={scope:"title",begin:Ld,relevance:0},GN={begin:"\\.\\s*"+Ld,relevance:0};var C0=Object.freeze({__proto__:null,APOS_STRING_MODE:IN,BACKSLASH_ESCAPE:Fl,BINARY_NUMBER_MODE:$N,BINARY_NUMBER_RE:Ub,COMMENT:S0,C_BLOCK_COMMENT_MODE:LN,C_LINE_COMMENT_MODE:FN,C_NUMBER_MODE:BN,C_NUMBER_RE:$b,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(t,r)=>{r.data._beginMatch=t[1]},"on:end":(t,r)=>{r.data._beginMatch!==t[1]&&r.ignoreMatch()}})},HASH_COMMENT_MODE:zN,IDENT_RE:Pb,MATCH_NOTHING_RE:DN,METHOD_GUARD:GN,NUMBER_MODE:PN,NUMBER_RE:Bb,PHRASAL_WORDS_MODE:NN,QUOTE_STRING_MODE:RN,REGEXP_MODE:UN,RE_STARTERS_RE:MN,SHEBANG:ON,TITLE_MODE:HN,UNDERSCORE_IDENT_RE:Ld,UNDERSCORE_TITLE_MODE:qN});function KN(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function VN(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function jN(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=KN,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function WN(e,t){Array.isArray(e.illegal)&&(e.illegal=Nd(...e.illegal))}function YN(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function ZN(e,t){e.relevance===void 0&&(e.relevance=1)}const XN=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const r=Object.assign({},e);Object.keys(e).forEach(n=>{delete e[n]}),e.keywords=r.keywords,e.begin=To(r.beforeMatch,Lb(r.begin)),e.starts={relevance:0,contains:[Object.assign(r,{endsParent:!0})]},e.relevance=0,delete r.beforeMatch},JN=["of","and","for","in","not","or","if","then","parent","list","value"],QN="keyword";function Hb(e,t,r=QN){const n=Object.create(null);return typeof e=="string"?a(r,e.split(" ")):Array.isArray(e)?a(r,e):Object.keys(e).forEach(function(i){Object.assign(n,Hb(e[i],t,i))}),n;function a(i,o){t&&(o=o.map(s=>s.toLowerCase())),o.forEach(function(s){const l=s.split("|");n[l[0]]=[i,eF(l[0],l[1])]})}}function eF(e,t){return t?Number(t):tF(e)?0:1}function tF(e){return JN.includes(e.toLowerCase())}const qb={},Do=e=>{console.error(e)},Gb=(e,...t)=>{console.log(`WARN: ${e}`,...t)},us=(e,t)=>{qb[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),qb[`${e}/${t}`]=!0)},A0=new Error;function Kb(e,t,{key:r}){let n=0;const a=e[r],i={},o={};for(let s=1;s<=t.length;s++)o[s+n]=a[s],i[s+n]=!0,n+=zb(t[s-1]);e[r]=o,e[r]._emit=i,e[r]._multi=!0}function rF(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Do("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),A0;if(typeof e.beginScope!="object"||e.beginScope===null)throw Do("beginScope must be object"),A0;Kb(e,e.begin,{key:"beginScope"}),e.begin=Fd(e.begin,{joinWith:""})}}function nF(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Do("skip, excludeEnd, returnEnd not compatible with endScope: {}"),A0;if(typeof e.endScope!="object"||e.endScope===null)throw Do("endScope must be object"),A0;Kb(e,e.end,{key:"endScope"}),e.end=Fd(e.end,{joinWith:""})}}function aF(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function iF(e){aF(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),rF(e),nF(e)}function oF(e){function t(o,s){return new RegExp(Nl(o),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(s?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(s,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,s]),this.matchAt+=zb(s)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const s=this.regexes.map(l=>l[1]);this.matcherRe=t(Fd(s,{joinWith:"|"}),!0),this.lastIndex=0}exec(s){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(s);if(!l)return null;const u=l.findIndex((f,d)=>d>0&&f!==void 0),c=this.matchIndexes[u];return l.splice(0,u),Object.assign(l,c)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(s){if(this.multiRegexes[s])return this.multiRegexes[s];const l=new r;return this.rules.slice(s).forEach(([u,c])=>l.addRule(u,c)),l.compile(),this.multiRegexes[s]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(s,l){this.rules.push([s,l]),l.type==="begin"&&this.count++}exec(s){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let u=l.exec(s);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const c=this.getMatcher(0);c.lastIndex=this.lastIndex+1,u=c.exec(s)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function a(o){const s=new n;return o.contains.forEach(l=>s.addRule(l.begin,{rule:l,type:"begin"})),o.terminatorEnd&&s.addRule(o.terminatorEnd,{type:"end"}),o.illegal&&s.addRule(o.illegal,{type:"illegal"}),s}function i(o,s){const l=o;if(o.isCompiled)return l;[VN,YN,iF,XN].forEach(c=>c(o,s)),e.compilerExtensions.forEach(c=>c(o,s)),o.__beforeBegin=null,[jN,WN,ZN].forEach(c=>c(o,s)),o.isCompiled=!0;let u=null;return typeof o.keywords=="object"&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),u=o.keywords.$pattern,delete o.keywords.$pattern),u=u||/\w+/,o.keywords&&(o.keywords=Hb(o.keywords,e.case_insensitive)),l.keywordPatternRe=t(u,!0),s&&(o.begin||(o.begin=/\B|\b/),l.beginRe=t(l.begin),!o.end&&!o.endsWithParent&&(o.end=/\B|\b/),o.end&&(l.endRe=t(l.end)),l.terminatorEnd=Nl(l.end)||"",o.endsWithParent&&s.terminatorEnd&&(l.terminatorEnd+=(o.end?"|":"")+s.terminatorEnd)),o.illegal&&(l.illegalRe=t(o.illegal)),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map(function(c){return sF(c==="self"?o:c)})),o.contains.forEach(function(c){i(c,l)}),o.starts&&i(o.starts,s),l.matcher=a(l),l}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=qi(e.classNameAliases||{}),i(e)}function Vb(e){return e?e.endsWithParent||Vb(e.starts):!1}function sF(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return qi(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Vb(e)?qi(e,{starts:e.starts?qi(e.starts):null}):Object.isFrozen(e)?qi(e):e}var lF="11.11.1";class uF extends Error{constructor(t,r){super(t),this.name="HTMLInjectionError",this.html=r}}const zd=Rb,jb=qi,Wb=Symbol("nomatch"),cF=7,Yb=function(e){const t=Object.create(null),r=Object.create(null),n=[];let a=!0;const i="Could not find the language '{}', did you forget to load/include a language module?",o={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:kN};function l($){return s.noHighlightRe.test($)}function u($){let Y=$.className+" ";Y+=$.parentNode?$.parentNode.className:"";const re=s.languageDetectRe.exec(Y);if(re){const H=w(re[1]);return H||(Gb(i.replace("{}",re[1])),Gb("Falling back to no-highlight mode for this block.",$)),H?re[1]:"no-highlight"}return Y.split(/\s+/).find(H=>l(H)||w(H))}function c($,Y,re){let H="",U="";typeof Y=="object"?(H=$,re=Y.ignoreIllegals,U=Y.language):(us("10.7.0","highlight(lang, code, ...args) has been deprecated."),us("10.7.0",`Please use highlight(code, options) instead.
24
+ `)),R.dataTransfer.effectAllowed="move"}async function PV(O,R,_e,Ae){try{const Ge=Ae??Tr(_.value);if(i.endpoints.moveAsync){const{op:Ce}=await i.moveAsync(O,R,Ge);j5(Ce.id,O,R,Ge),m.register(Ce),Et("Taşıma kuyruğa alındı")}else{await i.move(Ge,O,R),await Xt();const Ce=O.map(At=>Du(R,V5(At)));Or(s("toast.moved"),async()=>{await i.move(R,Ce,Ge)})}W.clear()}catch(Ge){a("error",{message:Ge.message,context:{op:_e,targetDir:R}})}}async function um(O,R){var At;if(O.type!=="dir")return;const _e=(At=R.dataTransfer)==null?void 0:At.getData(Hi);if(!_e)return;let Ae=[];try{Ae=JSON.parse(_e)}catch{return}if(Ae.length===0)return;const Ge=O.path,Ce=Ae.map(qt=>qt.path).filter(qt=>qt&&qt!==Ge&&!Ge.startsWith(qt+"/")&&!tm(ff(qt),Ge));Ce.length!==0&&await Iu(Ce,Ge,w8(R))}async function BV(O,R){var At;const _e=(At=R.dataTransfer)==null?void 0:At.getData(Hi);if(!_e)return;let Ae=[];try{Ae=JSON.parse(_e)}catch{return}if(Ae.length===0)return;const Ge=O,Ce=Ae.map(qt=>qt.path).filter(qt=>qt&&qt!==Ge&&!Ge.startsWith(qt+"/")&&!tm(ff(qt),Ge));Ce.length!==0&&await Iu(Ce,Ge,w8(R))}function $V(O){O.cancel()}function UV(O){ie.value=ie.value.filter(R=>R.id!==O.id)}function HV(O){if(Ir.value&&!O){Xt("");return}if(Ir.value){Xt(el(O));return}Xt(Vo(O))}async function a8(O){try{await navigator.clipboard.writeText(O),Et(s("breadcrumb.copy_path"))}catch{}}function jo(O={}){return i.authHeaders({...O})}function i8(O){if(/^[a-z][a-z0-9+.-]*:\/\//i.test(O))return O;const R=n.config.apiBase;if(!R)return O;try{return new URL(O,R.endsWith("/")?R:`${R}/`).toString()}catch{return O}}const o8=He(()=>i8(n.config.viewerBaseUrl||hN)),vf=ae(!1),{themeId:gf,setTheme:qV}=LA(),{themeMode:cm,setThemeMode:GV}=BA(),Vn=He(()=>cm.value==="host"?n.config.theme||"auto":cm.value),jn=typeof window<"u"&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):void 0,s8=ae(!!(jn!=null&&jn.matches));function l8(O){s8.value=O.matches}Qt(()=>{var O;return(O=jn==null?void 0:jn.addEventListener)==null?void 0:O.call(jn,"change",l8)}),nr(()=>{var O;return(O=jn==null?void 0:jn.removeEventListener)==null?void 0:O.call(jn,"change",l8)});const fm=He(()=>Vn.value==="dark"||Vn.value!=="light"&&s8.value);Tt([gf,fm,wt],()=>{HA(gf.value),wt.value&&$A(wt.value,gf.value,fm.value)},{immediate:!0});const Mu=ae(!1),go=ae(!1),Ii=ae(null);function KV(){if(go.value){go.value=!1;return}const O=W.nodes.value,R=O.length===1?O[0]:null;if(!(!R||R.type!=="file"||R.basename===".trash")){if(ca.value){if(!ni.value)return;(async()=>{try{await xm(R)}catch{Et(s("e2e.decrypt_failed"));return}Ii.value=R,go.value=!0,oe(R)})();return}Ii.value=R,go.value=!0,oe(R)}}function VV(O){const R=E.value.filter(Ce=>Ce.type==="file");if(R.length===0)return;const _e=Ii.value;let Ae=_e?R.findIndex(Ce=>Ce.path===_e.path):-1;Ae=Ae===-1?O>0?0:R.length-1:(Ae+O+R.length)%R.length;const Ge=R[Ae];!Ge||Ge.path===(_e==null?void 0:_e.path)||W.click(Ge.path)}function jV(){const O=Ii.value;go.value=!1,O&&ri(O)}Tt(()=>W.nodes.value,O=>{var _e,Ae;if(!go.value)return;const R=O.length===1&&O[0].type==="file"?O[0]:null;if(R&&R.path!==((_e=Ii.value)==null?void 0:_e.path)&&ni.value){(async()=>{try{await xm(R)}catch{}Ii.value=R,oe(R)})();return}R&&R.path!==((Ae=Ii.value)==null?void 0:Ae.path)&&(Ii.value=R,oe(R))});const dm=QD();function WV(O){ie.value=ie.value.filter(Ce=>Ce.id!==O.id);const R=O.file,_e=O.path||Tr(_.value),Ae=crypto.randomUUID();ie.value=[...ie.value,{id:Ae,file:R,path:_e,totalBytes:R.size,uploadedBytes:0,percent:0,status:"uploading",cancel(){}}];const Ge=Ce=>{const At=ie.value.findIndex(Yt=>Yt.id===Ae);if(At===-1)return;const qt=[...ie.value];qt[At]={...qt[At],...Ce},ie.value=qt};i.uploadMultipart(_e,[R],Ce=>{Ge({percent:Ce,uploadedBytes:Math.round(Ce/100*R.size)}),a("upload-progress",{uploadId:Ae,percent:Ce,done:Ce>=100})}).then(()=>{Ge({percent:100,uploadedBytes:R.size,status:"done"}),a("upload-progress",{uploadId:Ae,percent:100,done:!0}),Xt()}).catch(Ce=>{Ge({status:"error",error:Ce.message}),Et(s("upload.failed",{name:R.name})),a("error",{message:Ce.message,context:{op:"upload-retry",file:R.name}})})}const bf=ae(!1);let pm;function YV(){try{return localStorage.getItem(Cb)==="1"}catch{return!0}}function hm(){bf.value=!0}function ZV(){var O;bf.value=!1;try{localStorage.setItem(Cb,"1")}catch{}(O=wt.value)==null||O.focus()}function u8(){hm()}Qt(()=>{var O;(O=wt.value)==null||O.addEventListener("fe:tour-restart",u8),YV()||(pm=setTimeout(()=>{bf.value||hm()},900))}),nr(()=>{var O;pm&&clearTimeout(pm),(O=wt.value)==null||O.removeEventListener("fe:tour-restart",u8)});function XV(){return df()==="none"?null:g?`${Ab}:${g}`:Ab}const Nr=qM({storageKey:XV()}),JV=Nr.restore(),mm=Nr.activeId,Ri=He(()=>{var O;return((O=Nr.activeTab.value)==null?void 0:O.split)??null});function QV(O){const R=(O||"").replace(/^\/+|\/+$/g,"");return R===".trash"?s("node.trash"):R?R.split("/").pop()||R:Ir.value?s("breadcrumb.root"):k.value||s("breadcrumb.root")}const c8=He(()=>Nr.tabs.value.map(O=>({id:O.id,label:QV(O.path),split:!!O.split}))),ej=He(()=>Nr.hasMultiple.value||n.config.tabStrip!=="auto"&&c8.value.length>0);Tt(_,O=>Nr.syncActive({path:O})),Tt(F,O=>Nr.syncActive({viewMode:O})),Qt(()=>{JV||Nr.seed(_.value??"",F.value)});function _f(O){if(O.viewMode&&O.viewMode!==F.value&&(F.value=O.viewMode),O.path===".trash"){Tu();return}Xt(O.path)}function tj(O){const R=Nr.activate(O);R&&_f(R)}function vm(){Nr.openTab(_.value??"",{viewMode:F.value,background:!1})}function f8(O){const R=Nr.closeTab(O);R&&_f(R)}function rj(){const O=Nr.step(1);O&&_f(O)}function nj(){const O=Nr.step(-1);O&&_f(O)}function d8(O){if(O.type!=="dir"||O.basename===".trash")return;const R=Ir.value?el(O.path):Vo(O.path);Nr.openTab(R,{viewMode:F.value,background:!0})}function p8(O){if(O.button!==1)return;const R=O.target,_e=R&&typeof R.closest=="function"?R.closest("[data-fe-path]"):null,Ae=_e==null?void 0:_e.getAttribute("data-fe-path");if(!Ae)return;const Ge=E.value.find(Ce=>Ce.path===Ae);!Ge||Ge.type!=="dir"||Ge.basename===".trash"||(O.preventDefault(),d8(Ge))}function h8(O){if(O.button!==1)return;const R=O.target;R&&typeof R.closest=="function"&&R.closest("[data-fe-path]")&&O.preventDefault()}Qt(()=>{var O,R;(O=wt.value)==null||O.addEventListener("auxclick",p8),(R=wt.value)==null||R.addEventListener("mousedown",h8)}),nr(()=>{var O,R;(O=wt.value)==null||O.removeEventListener("auxclick",p8),(R=wt.value)==null||R.removeEventListener("mousedown",h8)});const Rr=ae(null),Ou=He(()=>!!Ri.value&&!Pt.value);function m8(){if(Ri.value){Nr.setSplit(null),Ni.value="main";return}Pt.value||Nr.setSplit({path:_.value??"",viewMode:F.value})}function aj(){Nr.setSplit(null),Ni.value="main"}function ij(O){Nr.setSplit({...Ri.value??{},path:O})}function oj(){Ni.value="main",Tu()}const v8=He(()=>{var O;return((O=Ri.value)==null?void 0:O.viewMode)??F.value});function sj(O){Ri.value&&Nr.setSplit({...Ri.value,viewMode:O})}const gm=He(()=>ua.value?v8.value:F.value);function g8(O){ua.value?sj(O):F.value=O}const Ni=ae("main");function lj(){Ni.value="main"}Tt(Ou,O=>{O||(Ni.value="main")});const ua=He(()=>Ni.value==="split"&&Ou.value),uj=He(()=>Ou.value&&Ni.value==="main");function cj(O){return Ir.value?el(O):Vo(O)}function fj(O){const R=String(O??"").replace(/^\/+|\/+$/g,"");return v&&(!R||!(R===v||R.startsWith(v+"/")))?v:R}function b8(){var R,_e;const O=((R=Rr.value)==null?void 0:R.selectedNodes())??[];O.length!==0&&(ge.value={mode:"cut",items:O,sourcePath:((_e=Rr.value)==null?void 0:_e.getPath())??""},Et("Kesildi"))}function _8(){var R,_e;const O=((R=Rr.value)==null?void 0:R.selectedNodes())??[];O.length!==0&&(ge.value={mode:"copy",items:O,sourcePath:((_e=Rr.value)==null?void 0:_e.getPath())??""},Et("Kopyalandı"))}async function y8(){const O=ge.value,R=Rr.value;if(!O.mode||O.items.length===0||!R)return;const _e=Tr(R.getPath()??""),Ae=Tr(O.sourcePath||"")||void 0;if(O.mode==="cut"&&Ae===_e){Et("Aynı klasöre kesilemez");return}await Iu(O.items.map(Ge=>Ge.path),_e,Ae,O.mode==="copy"),ge.value={mode:null,items:[],sourcePath:null}}function x8(O){const R=O.indexOf("://");return R===-1?"":O.slice(0,R)}function w8(O){var _e;return((_e=O.dataTransfer)==null?void 0:_e.getData(Od))||void 0}async function Iu(O,R,_e,Ae=!1){var qt;const Ge=O.filter(Yt=>Yt&&Yt!==R&&!R.startsWith(Yt+"/")&&!tm(ff(Yt),R));if(Ge.length===0||!R)return;const Ce=x8(R),At=Ge.some(Yt=>x8(Yt)!==Ce);if(At||Ae)try{const{op:Yt}=await i.copy(Ge,R);m.register(Yt),Et(s(At?"split.cross_copy":"split.copy_queued"))}catch(Yt){a("error",{message:Yt.message,context:{op:"transfer",targetWire:R}}),Et(At?s("split.cross_failed"):Yt.message);return}else await PV(Ge,R,"move-transfer",_e);(qt=Rr.value)==null||qt.reload()}function dj(O){Iu(O.sources,O.targetWire,O.originWire)}const rl=CM(),Ru=ae(0),Wn=ae(""),Nu=new Map,ca=He(()=>!!Wn.value&&!$.value),ni=He(()=>(Ru.value,ca.value&&rl.has(Wn.value))),bm=He(()=>(Ru.value,ca.value&&!rl.has(Wn.value))),nl=ae(""),al=ae(!1),il=ae(""),yf=ae(!1),_m=ae(!1);function ym(){return rl.get(Wn.value)??null}function k8(){for(const O of Nu.values())URL.revokeObjectURL(O);Nu.clear()}nr(k8);async function pj(){if(!(!nl.value||al.value||!Wn.value)){al.value=!0,il.value="";try{let O="";try{const{blob:Ae,url:Ge}=await i.fetchBlob(Du(Wn.value,x0));URL.revokeObjectURL(Ge),O=await Ae.text()}catch{il.value=s("e2e.unlock.marker_missing");return}const R=kM(O);if(!R){il.value=s("e2e.unlock.marker_missing");return}const _e=await EM(R,nl.value);if(!_e){il.value=s("e2e.unlock.wrong");return}rl.set(Wn.value,_e),Ru.value++,nl.value=""}finally{al.value=!1}}}function hj(){Wn.value&&(rl.lock(Wn.value),Ru.value++,k8(),Et(s("e2e.locked_toast")))}const mj={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 E8(O){const R=(O.extension||"").toLowerCase();return mj[R]||"application/octet-stream"}async function xm(O){const R=Nu.get(O.path);if(R)return R;const _e=ym();if(!_e)return null;const Ae=await i.fetchArrayBuffer(O.path);if(!Ad(Ae))return null;const Ge=await gb(_e,Ae),Ce=URL.createObjectURL(new Blob([Ge],{type:E8(O)}));return Nu.set(O.path,Ce),Ce}function xf(O){return Nu.get(O)??i.previewUrl(O)}async function wm(O){try{await xm(O)}catch{Et(s("e2e.decrypt_failed"));return}he.value="view",J.value=O,Me.value=!0,a("file-opened",{path:O.path,basename:O.basename}),oe(O)}async function vj(O){try{const R=await i.fetchArrayBuffer(O.path),_e=ym();let Ae=R;if(Ad(R)){if(!_e)throw new Error("locked");Ae=await gb(_e,R)}const Ge=URL.createObjectURL(new Blob([Ae],{type:E8(O)})),Ce=document.createElement("a");Ce.href=Ge,Ce.download=O.basename,document.body.appendChild(Ce),Ce.click(),Ce.remove(),setTimeout(()=>URL.revokeObjectURL(Ge),3e4)}catch{Et(s("e2e.download.failed"))}}async function gj(O){const R=ym();if(!R)return[];const _e=[];for(const Ae of O)if(Ae.name!==x0){if(Ae.size>fb){Et(s("e2e.upload.too_big"));continue}try{const Ge=await SM(R,await Ae.arrayBuffer());_e.push(new File([Ge],Ae.name,{type:"application/octet-stream"}))}catch(Ge){a("error",{message:Ge.message,context:{op:"e2e-encrypt",file:Ae.name}})}}return _e}async function bj(O){if(ca.value){Et(s("e2e.create.nested"));return}_m.value=!0;try{const R=Tr(_.value);await i.newFolder(R,O.name);const{marker:_e,kek:Ae}=await wM(O.password),Ge=new File([JSON.stringify(_e)],x0,{type:"application/json"}),Ce=Du(R,O.name);await i.uploadMultipart(Ce,[Ge]),rl.set(Ce,Ae),Ru.value++,yf.value=!1,Et(s("e2e.create.done")),await Xt()}catch(R){a("error",{message:R.message,context:{op:"e2e-create"}}),Et(s("e2e.create.failed"))}finally{_m.value=!1}}return(O,R)=>{var _e,Ae,Ge;return z(),B("div",{ref_key:"rootEl",ref:wt,class:ht(["fe",{"fe--theme-light":Vn.value==="light","fe--theme-dark":Vn.value==="dark","fe--is-dragover":vo.value,"fe--density-compact":j.value==="compact","fe--narrow":Pt.value}]),tabindex:"-1",onDragenter:NV,onDragover:LV,onDragleave:FV,onDrop:zV,onContextmenu:pV},[ej.value?(z(),er(vM,{key:0,tabs:c8.value,"active-id":Z(mm),locale:o.value,"split-enabled":!Pt.value,"split-active":!!Ri.value,onSelect:tj,onClose:f8,onNew:vm,onReorder:R[0]||(R[0]=(Ce,At)=>Z(Nr).move(Ce,At)),onToggleSplit:m8},null,8,["tabs","active-id","locale","split-enabled","split-active"])):Re("",!0),Ot(q9,{ref_key:"toolbarRef",ref:_r,"view-mode":gm.value,"search-query":te.value,"trash-active":re.value,actions:gV.value,"selection-mode":fV.value,"paste-enabled":!!ge.value.mode,"convert-enabled":!!Te.value,"can-go-up":U.value,"at-virtual-root":N.value,"can-write":nt.value,locale:o.value,narrow:Pt.value,theme:Vn.value,"inspector-open":q.value,onToggleInspector:vt,onOpenTheme:R[1]||(R[1]=Ce=>vf.value=!0),"onUpdate:viewMode":R[2]||(R[2]=Ce=>g8(Ce)),"onUpdate:searchQuery":R[3]||(R[3]=Ce=>te.value=Ce),"onUpdate:density":R[4]||(R[4]=Ce=>j.value=Ce),onOpenShortcutSettings:R[5]||(R[5]=Ce=>Mu.value=!0),onNewFolder:R[6]||(R[6]=Ce=>Ie.value=!0),onUpload:hf,onRefresh:R[7]||(R[7]=()=>Xt()),onGoUp:V,onAction:dV,onOpenRecents:R[8]||(R[8]=Ce=>ze.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"]),D("div",{class:ht(["fe__main",{"fe__main--split":Ou.value}])},[D("div",{class:ht(["fe__primary",{"fe-pane--focus":uj.value}])},[Ot(dE,{dirname:T.value,adapter:k.value,"root-label":k.value,locale:o.value,"multi-storage-root":Ir.value,"root-path":Z(g),onNavigate:HV,onCopyPath:a8,onCrumbContext:hV,onCrumbDrop:BV},null,8,["dirname","adapter","root-label","locale","multi-storage-root","root-path"]),Z(u).length||Z(c)?(z(),B("div",ER,[Z(u).length?(z(),er(Zk,{key:0,users:Z(u),locale:o.value},null,8,["users","locale"])):Re("",!0),Z(c)?(z(),B("span",{key:1,class:"fe-connbadge",role:"status",title:Z(s)("conn.tooltip")},[R[51]||(R[51]=D("span",{class:"fe-connbadge__dot","aria-hidden":"true"},null,-1)),$t(" "+K(Z(s)("conn.offline")),1)],8,SR)):Re("",!0)])):Re("",!0),ni.value?(z(),B("div",CR,[R[52]||(R[52]=D("span",{class:"fe-e2e-strip__icon","aria-hidden":"true"},"🔒",-1)),D("span",AR,K(Z(s)("e2e.strip.label")),1),D("button",{type:"button",class:"fe-btn fe-e2e-strip__btn",onClick:hj},K(Z(s)("e2e.strip.lock")),1)])):Re("",!0),D("div",{class:"fe__body",onPointerdownCapture:R[13]||(R[13]=Ce=>lj()),onClick:R[14]||(R[14]=Gt(Ce=>Z(W).clear(),["self"]))},[b.value&&E.value.length===0?(z(),B("div",TR,[D("span",DR,K(Z(s)("loading")),1),F.value!=="list"?(z(),B("div",MR,[(z(),B(We,null,kt(8,Ce=>D("div",{key:Ce,class:"fe-skel-card"},[...R[53]||(R[53]=[D("div",{class:"fe-skel fe-skel--thumb"},null,-1),D("div",{class:"fe-skel fe-skel--label"},null,-1)])])),64))])):(z(),B("div",OR,[(z(),B(We,null,kt(8,Ce=>D("div",{key:Ce,class:"fe-skel-row"},[...R[54]||(R[54]=[D("div",{class:"fe-skel fe-skel--icon"},null,-1),D("div",{class:"fe-skel fe-skel--name"},null,-1),D("div",{class:"fe-skel fe-skel--size"},null,-1),D("div",{class:"fe-skel fe-skel--date"},null,-1)])])),64))]))])):x.value?(z(),B("div",IR,[R[55]||(R[55]=D("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"},[D("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"}),D("path",{d:"M52 55c0-4.6 3.6-8 8-8s8 3.4 8 8c0 5.5-8 4.8-8 11"}),D("circle",{cx:"60",cy:"73",r:"1.6",fill:"currentColor",stroke:"none"})],-1)),D("p",RR,K(Z(s)("notFound.title")),1),D("p",NR,K(x.value),1),D("p",FR,K(Z(s)("notFound.desc")),1),D("div",LR,[D("button",{type:"button",class:"fe-btn",onClick:eV},K(Z(s)("notFound.goRoot")),1)])])):S.value&&E.value.length===0?(z(),B("div",zR,[R[56]||(R[56]=rd('<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)),D("p",PR,K(Z(s)("error.title")),1),D("p",BR,K(Z(s)("error.hint")),1),D("div",$R,[D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:P},K(Z(s)("error.retry")),1)]),D("details",UR,[D("summary",HR,K(Z(s)("error.details")),1),D("pre",qR,K(S.value),1)])])):bm.value?(z(),B("div",GR,[R[57]||(R[57]=rd('<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)),D("p",KR,K(Z(s)("e2e.locked.title")),1),D("p",VR,K(Z(s)("e2e.locked.hint")),1),D("form",{class:"fe-e2e-lock__form",onSubmit:Gt(pj,["prevent"])},[Zt(D("input",{"onUpdate:modelValue":R[9]||(R[9]=Ce=>nl.value=Ce),type:"password",class:"fe-input fe-e2e-lock__input",placeholder:Z(s)("e2e.locked.pw_placeholder"),autocomplete:"current-password",disabled:al.value},null,8,jR),[[Fr,nl.value]]),D("button",{type:"submit",class:"fe-btn fe-btn--primary",disabled:al.value||!nl.value},K(al.value?Z(s)("e2e.locked.busy"):Z(s)("e2e.locked.unlock")),9,WR)],32),il.value?(z(),B("p",YR,K(il.value),1)):Re("",!0)])):!b.value&&E.value.length===0&&te.value?(z(),B("div",ZR,[R[58]||(R[58]=D("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"},[D("circle",{cx:"52",cy:"44",r:"22"}),D("path",{d:"M68 61l20 20"}),D("path",{d:"M46 38l12 12M58 38l-12 12"})],-1)),D("p",XR,K(Z(s)("empty.search.title")),1),D("p",JR,K(Z(s)("empty.search.hint")),1)])):!b.value&&E.value.length===0&&$.value?(z(),B("div",QR,[R[59]||(R[59]=rd('<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)),D("p",eN,K(Z(s)("empty.trash.title")),1)])):!b.value&&E.value.length===0?(z(),B("div",tN,[(z(),B("svg",rN,[R[61]||(R[61]=D("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)),Ee.value?(z(),B("g",nN,[...R[60]||(R[60]=[D("path",{d:"M60 50v14","stroke-dasharray":"3 4"},null,-1),D("path",{d:"M53 59l7 8 7-8"},null,-1)])])):Re("",!0)])),D("p",aN,K(Z(s)("empty.folder")),1),Ee.value?(z(),B("p",iN,K(Z(s)("empty.hint")),1)):Re("",!0),Ee.value?(z(),B("div",oN,[D("button",{type:"button",class:"fe-btn fe-btn--primary",onClick:hf},K(Z(s)("empty.upload")),1)])):Re("",!0)])):F.value==="list"?(z(),er(Qg,{key:7,files:E.value,selected:Z(W).selected.value,clipped:mf.value,"show-parent-path":!!te.value,locale:o.value,loading:b.value,"starred-ids":Oe.value,"api-base":n.config.apiBase??"","auth-headers":()=>jo(),"auth-credentials":Z(i).credentialsMode(),onClickRow:R[10]||(R[10]=(Ce,At)=>Z(W).click(Ce.path,At)),onDblRow:ri,onContextRow:am,onItemDragStart:lm,onItemDropInto:um,onStarChange:ee},null,8,["files","selected","clipped","show-parent-path","locale","loading","starred-ids","api-base","auth-headers","auth-credentials"])):F.value==="grid"?(z(),er(eb,{key:8,files:E.value,selected:Z(W).selected.value,clipped:mf.value,"show-parent-path":!!te.value,locale:o.value,loading:b.value,"thumb-src":Z(d).src,onClickCard:R[11]||(R[11]=(Ce,At)=>Z(W).click(Ce.path,At)),onDblCard:ri,onContextCard:am,onItemDragStart:lm,onItemDropInto:um},null,8,["files","selected","clipped","show-parent-path","locale","loading","thumb-src"])):(z(),er(tb,{key:9,files:E.value,selected:Z(W).selected.value,clipped:mf.value,"show-parent-path":!!te.value,locale:o.value,loading:b.value,"thumb-src":Z(d).src,onClickCard:R[12]||(R[12]=(Ce,At)=>Z(W).click(Ce.path,At)),onDblCard:ri,onContextCard:am,onItemDragStart:lm,onItemDropInto:um},null,8,["files","selected","clipped","show-parent-path","locale","loading","thumb-src"]))],32)],2),Ou.value&&Ri.value?(z(),er(HM,{ref_key:"splitPaneRef",ref:Rr,key:"split-"+Z(mm),api:Z(i),"initial-path":Ri.value.path,locale:o.value,qualify:Tr,"to-user":cj,clamp:fj,"root-label":Ir.value?"/":k.value||Z(s)("breadcrumb.root"),floor:Z(v),"multi-root":Ir.value,"virtual-rows":G5,active:ua.value,"view-mode":v8.value,"thumb-src":Z(d).src,"trash-visible":e.config.trashVisible!==!1,onNavigate:ij,onActivate:R[15]||(R[15]=Ce=>Ni.value="split"),onClose:aj,onOpenTab:R[16]||(R[16]=Ce=>Z(Nr).openTab(Ce,{viewMode:F.value,background:!0})),onTransfer:dj,onContext:mV,onOpenTrash:oj},null,8,["api","initial-path","locale","root-label","floor","multi-root","active","view-mode","thumb-src","trash-visible","onContext","onOpenTrash"])):Re("",!0),q.value?(z(),er(LC,{key:1,api:Z(i),nodes:Z(W).nodes.value,"dir-label":Be.value,"dir-count":E.value.length,"dir-perm":w.value,locale:o.value,narrow:Pt.value,"thumb-src":Z(d).src,onClose:Le,onManagePermissions:L,onToast:Et,onChanged:R[17]||(R[17]=()=>Xt())},null,8,["api","nodes","dir-label","dir-count","dir-perm","locale","narrow","thumb-src"])):Re("",!0)],2),vo.value?(z(),B("div",sN,[...R[62]||(R[62]=[D("div",{class:"fe__dragover-card"},[D("span",{class:"fe-icon"},"⬆"),D("p",null,"Dosyaları buraya bırak")],-1)])])):Re("",!0),Ot(gS,{jobs:ie.value,locale:o.value,center:Z(dm),onCancel:$V,onDismiss:UV,onRetry:WV},null,8,["jobs","locale","center"]),Ot(bS,{ops:Z(m).ops.value,locale:o.value,center:Z(dm),onDismiss:R[18]||(R[18]=Ce=>Z(m).dismiss(Ce))},null,8,["ops","locale","center"]),Ot(ZD,{center:Z(dm),locale:o.value,narrow:Pt.value},null,8,["center","locale","narrow"]),Pt.value&&Ee.value?(z(),B("button",{key:2,type:"button",class:"fe-fab",title:Z(s)("toolbar.upload"),"aria-label":Z(s)("toolbar.upload"),onClick:hf},[...R[63]||(R[63]=[D("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"},[D("path",{d:"M12 5v14M5 12h14"})],-1)])],8,lN)):Re("",!0),Ot(vd,{ref_key:"ctxRef",ref:Je,locale:o.value,theme:Vn.value,sheet:Ut.value,actions:vV.value,onSelect:bV},null,8,["locale","theme","sheet","actions"]),Ot(rO,{open:Ie.value,locale:o.value,"encrypted-option":!ca.value,onClose:R[19]||(R[19]=Ce=>Ie.value=!1),onSubmit:kV,onEncrypted:R[20]||(R[20]=Ce=>{Ie.value=!1,yf.value=!0})},null,8,["open","locale","encrypted-option"]),Ot(QM,{open:yf.value,locale:o.value,busy:_m.value,onClose:R[21]||(R[21]=Ce=>yf.value=!1),onSubmit:bj},null,8,["open","locale","busy"]),Ot(aO,{open:$e.value,locale:o.value,"current-name":((_e=Pe.value)==null?void 0:_e.basename)||"",onClose:R[22]||(R[22]=Ce=>$e.value=!1),onSubmit:EV},null,8,["open","locale","current-name"]),Ot(iO,{open:je.value,locale:o.value,count:Z(W).size.value,onClose:R[23]||(R[23]=Ce=>je.value=!1),onConfirm:SV},null,8,["open","locale","count"]),Ot(_O,{open:Ze.value,locale:o.value,share:_t.value,onClose:MV,onSubmit:DV,onToast:Et},null,8,["open","locale","share"]),Ot(lb,{open:Me.value,locale:o.value,file:J.value,theme:Vn.value,"preview-url":Ce=>xf(Ce),"download-url":Ce=>ni.value?xf(Ce):Z(i).downloadUrl(Ce),"only-office-base":ca.value?null:ve.value,"only-office-config-endpoint":be.value,"new-tab-enabled":!ca.value,"save-text-endpoint":ca.value?null:Z(i).endpoints.saveText||null,"open-mode":he.value,"auth-headers":()=>jo({"Content-Type":"application/json"}),"auth-credentials":Z(i).credentialsMode(),"drawio-url":le.value,"pdf-worker-url":n.config.pdfWorkerUrl||null,"pdf-save-url":n.config.pdfSaveUrl||null,"viewer-base-url":o8.value,onClose:R[24]||(R[24]=Ce=>Me.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"]),pe.value&&Fe.value&&Te.value?(z(),er(RO,{key:3,"convert-url":Te.value,"file-name":((Ae=Fe.value)==null?void 0:Ae.basename)||((Ge=Fe.value)==null?void 0:Ge.path)||"","fetch-bytes":()=>{var Ce;return Z(i).fetchArrayBuffer(((Ce=Fe.value)==null?void 0:Ce.path)??"")},upload:Ce=>Z(i).uploadMultipart(Tr(_.value),[Ce]).then(()=>{}),onClose:R[25]||(R[25]=Ce=>pe.value=!1),onDone:TV},null,8,["convert-url","file-name","fetch-bytes","upload"])):Re("",!0),ce.value&&Se.value?(z(),er(kR,{key:4,api:Z(i),path:Se.value.path,"is-dir":Se.value.type==="dir",size:typeof Se.value.size=="number"?Se.value.size:void 0,locale:o.value==="en"?"en":"tr",onClose:R[26]||(R[26]=Ce=>ce.value=!1)},null,8,["api","path","is-dir","size","locale"])):Re("",!0),Ot(fi,{name:"fe-modal"},{default:cr(()=>[ze.value?(z(),B("div",{key:0,class:ht(["fe fe-modal__backdrop fe-recents__backdrop",{"fe--theme-light":Vn.value==="light","fe--theme-dark":Vn.value==="dark"}]),onClick:R[30]||(R[30]=Ce=>ze.value=!1)},[D("div",{class:"fe-recents__panel",onClick:R[29]||(R[29]=Gt(()=>{},["stop"]))},[D("div",uN,[D("strong",null,K(o.value==="en"?"Recently opened":"Son açılanlar"),1),D("button",{class:"fe-recents__close","aria-label":"Close",onClick:R[27]||(R[27]=Ce=>ze.value=!1)},"×")]),Ot(eE,{"api-base":n.config.apiBase??"","auth-headers":()=>jo(),"auth-credentials":Z(i).credentialsMode(),limit:20,"refresh-key":Ne.value,onOpen:we,onError:R[28]||(R[28]=Ce=>a("error",{message:Ce,context:{op:"recents"}}))},null,8,["api-base","auth-headers","auth-credentials","refresh-key"])])],2)):Re("",!0)]),_:1}),Ot(fi,{name:"fe-modal"},{default:cr(()=>[de.value&&De.value&&typeof De.value.id=="number"?(z(),B("div",{key:0,class:"fe-modal__backdrop",onClick:R[34]||(R[34]=Ce=>de.value=!1)},[D("div",{class:"fe-modal__card fe-modal__card--md",onClick:R[33]||(R[33]=Gt(()=>{},["stop"]))},[D("header",cN,[D("h2",fN,K(o.value==="en"?"Tags":"Etiketler")+" — "+K(De.value.basename),1),D("button",{class:"fe-modal__close","aria-label":"Close",onClick:R[31]||(R[31]=Ce=>de.value=!1)},"×")]),D("div",dN,[Ot(K9,{"node-id":De.value.id,"api-base":n.config.apiBase??"","auth-headers":()=>jo(),"auth-credentials":Z(i).credentialsMode(),onError:R[32]||(R[32]=Ce=>a("error",{message:Ce,context:{op:"tags"}}))},null,8,["node-id","api-base","auth-headers","auth-credentials"])])])])):Re("",!0)]),_:1}),Ot(bA,{open:rm.value,locale:o.value,files:E.value,"view-mode":F.value,"can-write":nt.value&&!N.value&&!re.value,"can-go-up":U.value,"global-search":nV,onClose:R[35]||(R[35]=Ce=>rm.value=!1),onOpenHit:aV,onOpenNode:ri,onNavigate:R[36]||(R[36]=Ce=>Xt(Ce)),onNewFolder:R[37]||(R[37]=Ce=>Ie.value=!0),onUpload:hf,onToggleView:R[38]||(R[38]=Ce=>g8(gm.value==="list"?"grid":gm.value==="grid"?"gallery":"list")),onOpenTrash:Tu,onRefresh:R[39]||(R[39]=()=>Xt()),onGoUp:V,onOpenTheme:R[40]||(R[40]=Ce=>vf.value=!0),onOpenShortcutSettings:R[41]||(R[41]=Ce=>Mu.value=!0),onStartTour:R[42]||(R[42]=Ce=>hm()),"split-enabled":!Pt.value,onTabNew:R[43]||(R[43]=Ce=>vm()),onSplitToggle:R[44]||(R[44]=Ce=>m8())},null,8,["open","locale","files","view-mode","can-write","can-go-up","split-enabled"]),Ot(IA,{open:pf.value,locale:o.value,onClose:R[45]||(R[45]=Ce=>pf.value=!1),onCustomize:R[46]||(R[46]=Ce=>{pf.value=!1,Mu.value=!0})},null,8,["open","locale"]),Ot(tT,{open:vf.value,locale:o.value,theme:Vn.value,dark:fm.value,current:Z(gf),mode:Z(cm),"host-mode":e.config.theme||"auto",onClose:R[47]||(R[47]=Ce=>vf.value=!1),onSelect:Z(qV),onMode:R[48]||(R[48]=Ce=>Z(GV)(Ce))},null,8,["open","locale","theme","dark","current","mode","host-mode","onSelect"]),D("input",{ref_key:"fileInputEl",ref:se,type:"file",multiple:"",class:"fe__file-input",onChange:OV},null,544),Ot(fi,{name:"fe-toast"},{default:cr(()=>[wn.value?(z(),B("div",{key:0,class:ht(["fe-toast",{"fe-toast--action":!!wn.value.actionLabel}]),role:"status",onClick:Kn},[D("span",pN,K(wn.value.message),1),wn.value.actionLabel&&wn.value.action?(z(),B("button",{key:0,type:"button",class:"fe-toast__action",onClick:Gt(la,["stop"])},K(wn.value.actionLabel),1)):Re("",!0)],2)):Re("",!0)]),_:1}),Ot(kT,{open:Mu.value,locale:o.value,theme:Vn.value,onClose:R[49]||(R[49]=Ce=>Mu.value=!1)},null,8,["open","locale","theme"]),Ot(vD,{open:go.value,locale:o.value,file:Ii.value,theme:Vn.value,"preview-url":Ce=>xf(Ce),"download-url":Ce=>ni.value?xf(Ce):Z(i).downloadUrl(Ce),"only-office-base":ca.value?null:ve.value,"only-office-config-endpoint":be.value,"auth-headers":()=>jo({"Content-Type":"application/json"}),"auth-credentials":Z(i).credentialsMode(),"drawio-url":le.value,"pdf-worker-url":n.config.pdfWorkerUrl||null,"viewer-base-url":o8.value,onClose:R[50]||(R[50]=Ce=>go.value=!1),onNav:VV,onOpenFull:jV},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"]),Ot(sM,{open:bf.value,locale:o.value,root:wt.value,theme:Vn.value,onClose:ZV},null,8,["open","locale","root","theme"])],34)}}}),vN='.fx-presence{display:inline-flex;align-items:center;gap:.5rem;max-width:100%}.fx-presence-avatars{display:inline-flex;align-items:center}.fx-presence-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-left:-.4rem;border-radius:9999px;border:2px solid var(--fx-presence-ring, #ffffff);color:#fff;font-size:.6rem;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.fx-presence-avatar:first-child{margin-left:0}.fx-presence-dot{position:absolute;right:-1px;bottom:-1px;width:.5rem;height:.5rem;border-radius:9999px;background:#22c55e;border:1.5px solid var(--fx-presence-ring, #ffffff)}.fx-presence-more{margin-left:.15rem;font-size:.7rem;color:#71717a}.fx-presence--wide{flex:1 1 auto;min-width:0}.fx-presence-chips{display:flex;align-items:center;gap:.4rem;overflow-x:auto;min-width:0;padding-bottom:2px;scrollbar-width:thin}.fx-presence-chip{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;padding:.15rem .5rem .15rem .2rem;border-radius:9999px;background:#f4f4f5;font-size:.75rem;color:#3f3f46;white-space:nowrap}.fx-presence-chip .fx-presence-avatar{margin-left:0}.fx-presence-chip-name{font-weight:500}.fx-presence-chip-file{color:#71717a;max-width:12rem;overflow:hidden;text-overflow:ellipsis}.fx-presence-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;border-radius:9999px;background:transparent;color:#71717a;font-size:.9rem;line-height:1;cursor:pointer}.fx-presence-toggle:hover{background:#e4e4e7;color:#3f3f46}.dark .fx-presence-chip,.dark .fx-presence-toggle:hover{background:#27272a;color:#d4d4d8}.fx-presence-text{font-size:.75rem;color:#71717a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14rem}.fx-presence-file{color:#52525b;font-weight:500}.dark .fx-presence-avatar,.dark .fx-presence-dot{--fx-presence-ring: #18181b}.filex-tag-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.filex-tag-picker.is-loading{opacity:.6;pointer-events:none}.filex-tag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;color:#fff;background:var(--filex-tag-color)}.filex-tag-x{background:transparent;border:none;color:#ffffffd9;cursor:pointer;padding:0 2px;font-size:14px;line-height:1}.filex-tag-x:hover{color:#fff}.filex-tag-add input{border:1px solid var(--filex-border, #d1d5db);border-radius:12px;padding:2px 10px;font-size:12px;width:110px}.filex-tag-add-btn{border:1px dashed var(--filex-border, #d1d5db);background:transparent;border-radius:999px;padding:2px 10px;font-size:12px;color:var(--filex-text-muted, #6b7280);cursor:pointer}.filex-tag-add-btn:hover{border-color:var(--filex-accent, #6366f1);color:var(--filex-accent, #6366f1)}.filex-recent{background:var(--fe-bg-elev, var(--filex-bg-card, #ffffff));border:1px solid var(--fe-border, var(--filex-border, #e5e7eb));border-radius:8px;padding:12px;font-size:13px}.filex-recent header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.filex-recent h3{margin:0;font-size:13px;font-weight:600;color:var(--fe-text, var(--filex-text, #111827))}.filex-recent-refresh{background:transparent;border:none;color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));cursor:pointer;font-size:14px;padding:2px 6px}.filex-recent ul{list-style:none;margin:0;padding:0}.filex-recent-item{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;padding:6px 8px;cursor:pointer;border-radius:4px;text-align:left}.filex-recent-item:hover{background:var(--fe-bg-hover, var(--filex-bg-soft, #f3f4f6))}.filex-recent-name{color:var(--fe-text, var(--filex-text, #111827));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filex-recent-meta{color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));font-size:11px;margin-left:8px;flex-shrink:0}.filex-recent-empty{color:var(--fe-text-muted, var(--filex-text-muted, #9ca3af));margin:4px 0 0}.filex-star-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 8px;color:var(--filex-text-muted, #9ca3af);cursor:pointer;transition:color .12s,background .12s}.filex-star-btn:hover{color:var(--filex-accent-amber, #f59e0b);background:var(--filex-bg-soft, rgba(0, 0, 0, .04))}.filex-star-btn.is-starred{color:var(--filex-accent-amber, #f59e0b)}.filex-star-btn.is-compact{padding:4px}.filex-star-label{font-size:13px}.fe-themes__hint{margin:0 0 12px;font-size:12.5px;color:var(--fe-text-muted)}.fe-themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.fe-themecard{display:flex;flex-direction:column;padding:0;border:2px solid var(--fe-border-strong);border-radius:var(--fe-radius, 8px);background:var(--fe-bg);cursor:pointer;overflow:hidden;text-align:left;transition:transform .12s ease,box-shadow .12s ease;font:inherit}.fe-themecard:hover{transform:translateY(-2px);box-shadow:var(--fe-shadow-sm, 0 2px 6px rgba(15, 23, 42, .08))}.fe-themecard:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px}.fe-themecard.is-selected{border-color:var(--fe-primary);box-shadow:0 0 0 2px var(--fe-primary)}.fe-themecard__preview{display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--fe-bg);border-bottom:1px solid var(--fe-border);min-height:84px}.fe-themecard__topbar{display:flex;gap:4px;margin-bottom:2px}.fe-themecard__chip{height:8px;width:22px;border-radius:4px;background:var(--fe-bg-hover);border:1px solid var(--fe-border)}.fe-themecard__chip--primary{background:var(--fe-primary);border-color:var(--fe-primary)}.fe-themecard__chip--ghost{background:var(--fe-bg-elev)}.fe-themecard__row{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:4px}.fe-themecard__row--selected{background:var(--fe-bg-selected)}.fe-themecard__dot{width:8px;height:8px;border-radius:50%;background:var(--fe-text);opacity:.75;flex:none}.fe-themecard__dot--primary{background:var(--fe-primary);opacity:1}.fe-themecard__dot--muted{background:var(--fe-text-muted)}.fe-themecard__line{height:6px;border-radius:3px;background:var(--fe-text);opacity:.55}.fe-themecard__line--muted{background:var(--fe-text-muted)}.fe-themecard__name{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;font-size:12.5px;font-weight:600;color:var(--fe-text);background:var(--fe-bg-elev);font-family:var(--fe-font, inherit)}.fe-themecard__check{flex:none;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--fe-primary);color:var(--fe-text-on-primary);font-size:11px;line-height:1}.fe-preview__code-editor.is-hidden{display:none}.fe-preview__viewer{width:100%;height:100%;min-height:70vh;display:flex;flex-direction:column}.fe-preview .fe-preview__viewer{align-self:stretch}.fe-preview__md-mermaid{display:flex;justify-content:center;margin:16px 0}.fe-preview__md-mermaid svg{max-width:100%;height:auto}.fe-preview__md-math{margin:16px 0;text-align:center;overflow-x:auto}.filex-cv__bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center}.filex-cv{width:min(560px,92vw);max-height:80vh;overflow:hidden;display:flex;flex-direction:column;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1f29);border:1px solid var(--fe-border, #e2e6ed);border-radius:12px;box-shadow:0 20px 60px #00000059}.filex-cv__head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--fe-border, #e2e6ed)}.filex-cv__head h3{margin:0;font-size:14px;font-weight:600}.filex-cv__x{border:0;background:none;cursor:pointer;font-size:16px;color:var(--fe-text-muted, #5a6475)}.filex-cv__msg{padding:28px;text-align:center;color:var(--fe-text-muted, #5a6475)}.filex-cv__ok{color:#059669}.filex-cv__src{padding:12px 16px 0;font-size:13px;color:var(--fe-text-muted, #5a6475)}.filex-cv__search{margin:8px 16px;padding:8px 10px;border:1px solid var(--fe-border, #e2e6ed);border-radius:8px;background:var(--fe-bg-elev, #f7f8fa);color:inherit;font-size:13px}.filex-cv__list{flex:1;overflow-y:auto;padding:4px 12px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.filex-cv__fmt{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:8px 10px;cursor:pointer;text-align:left;border:1px solid var(--fe-border, #e2e6ed);border-radius:8px;background:var(--fe-bg-elev, #f7f8fa);color:inherit}.filex-cv__fmt small{color:var(--fe-text-muted, #5a6475);font-size:11px}.filex-cv__fmt.is-sel{border-color:#44c878;background:#44c8781f}.filex-cv__empty{grid-column:1 / -1;text-align:center;color:var(--fe-text-muted, #5a6475);padding:16px}.filex-cv__err{padding:0 16px;color:var(--fe-danger, #dc2626);font-size:13px}.filex-cv__foot{padding:12px 16px;border-top:1px solid var(--fe-border, #e2e6ed);text-align:right}.filex-cv__convert{padding:8px 18px;border:0;border-radius:8px;cursor:pointer;background:#44c878;color:#03200f;font-weight:600;font-size:13px}.filex-cv__convert:disabled{opacity:.5;cursor:default}.filex-cv__frame{position:absolute;width:0;height:0;border:0;left:-9999px}.fx-perm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;font-family:var(--fe-font)}.fx-perm-modal{display:flex;flex-direction:column;background:var(--fe-bg);color:var(--fe-text);width:min(520px,94vw);max-height:86vh;border:1px solid var(--fe-border);border-radius:var(--fe-radius-lg, 14px);box-shadow:var(--fe-shadow);font-size:14px;overflow:hidden}.fx-perm-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 12px;flex:none}.fx-perm-title{display:flex;align-items:center;gap:10px;min-width:0}.fx-perm-ico{font-size:22px;line-height:1}.fx-perm-titletext{display:flex;flex-direction:column;min-width:0}.fx-perm-title h3{margin:0;font-size:15px;font-weight:600;color:var(--fe-text)}.fx-perm-sub{font-size:12px;color:var(--fe-text);max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-perm-subdim{color:var(--fe-text-muted)}.fx-perm-x{background:none;border:none;font-size:17px;cursor:pointer;color:var(--fe-text-muted);flex:none;line-height:1;padding:2px 4px;border-radius:6px}.fx-perm-x:hover{color:var(--fe-text);background:var(--fe-bg-hover)}.fx-perm-tabs{display:flex;gap:2px;padding:0 18px;border-bottom:1px solid var(--fe-border);flex:none}.fx-perm-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 12px;cursor:pointer;color:var(--fe-text-muted);font-size:13px;font-family:inherit;font-weight:500}.fx-perm-tab:hover{color:var(--fe-text)}.fx-perm-tab.is-active{color:var(--fe-primary);border-bottom-color:var(--fe-primary)}.fx-perm-body{flex:1 1 auto;overflow-y:auto;padding:14px 18px 18px}.fx-perm-addcard{padding:12px;border-radius:var(--fe-radius-md, 10px);background:var(--fe-bg-elev);border:1px solid var(--fe-border)}.fx-perm-section{margin-top:16px}.fx-perm-section h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--fe-text-muted)}.fx-perm-empty{color:var(--fe-text-muted);font-size:13px;padding:8px 2px}.fx-perm-person{display:flex;align-items:center;gap:10px;padding:7px 2px}.fx-perm-person+.fx-perm-person{border-top:1px solid var(--fe-border)}.fx-perm-inh{color:var(--fe-text-muted)}.fx-perm-av{width:28px;height:28px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fe-primary);color:var(--fe-text-on-primary, #fff);font-size:12px;font-weight:600}.fx-perm-av--dim{background:var(--fe-bg-hover);color:var(--fe-text-muted)}.fx-perm-user{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fe-text);min-width:0}.fx-perm-from{font-size:11px;color:var(--fe-text-muted);white-space:nowrap}.fx-perm-badge{font-size:11px;padding:2px 9px;border-radius:999px;background:var(--fe-bg-hover);color:var(--fe-text)}.fx-perm-sel,.fx-perm-input{padding:7px 9px;border-radius:var(--fe-radius-sm, 7px);border:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text);font-size:13px;font-family:inherit}.fx-perm-sel--sm{padding:5px 7px;font-size:12px}.fx-perm-sel:focus,.fx-perm-input:focus{outline:none;border-color:var(--fe-primary)}.fx-perm-add{display:flex;gap:8px;align-items:stretch}.fx-perm-emailwrap{position:relative;flex:1;min-width:120px}.fx-perm-input{width:100%;box-sizing:border-box}.fx-perm-suggest{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:5;margin:0;padding:4px;list-style:none;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm, 7px);box-shadow:var(--fe-shadow);max-height:210px;overflow:auto}.fx-perm-suggest li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer}.fx-perm-suggest li:hover{background:var(--fe-bg-hover)}.fx-perm-suggest-av{width:24px;height:24px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fe-bg-hover);color:var(--fe-text);font-size:11px;font-weight:600}.fx-perm-suggest-txt{display:flex;flex-direction:column;min-width:0}.fx-perm-suggest-name{color:var(--fe-text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-perm-suggest-meta{color:var(--fe-text-muted);font-size:11px}.fx-perm-check{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--fe-text);cursor:pointer}.fx-perm-btn{padding:7px 13px;border-radius:var(--fe-radius-sm, 7px);border:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text);font-size:13px;font-family:inherit;cursor:pointer;white-space:nowrap}.fx-perm-btn:hover:not(:disabled){background:var(--fe-bg-hover)}.fx-perm-btn:disabled{opacity:.55;cursor:default}.fx-perm-btn--sm{padding:5px 10px;font-size:12px}.fx-perm-btn--primary{background:var(--fe-primary);border-color:var(--fe-primary);color:var(--fe-text-on-primary, #fff)}.fx-perm-btn--primary:hover:not(:disabled){background:var(--fe-primary-hover, var(--fe-primary));filter:brightness(1.05)}.fx-perm-btn--ghost{background:none;border-color:transparent;color:var(--fe-primary);padding-left:2px}.fx-perm-btn--ghost:hover:not(:disabled){background:none;text-decoration:underline}.fx-perm-del{background:none;border:none;color:var(--fe-danger);cursor:pointer;font-size:14px;flex:none;padding:2px 4px}.fx-perm-del:hover:not(:disabled){filter:brightness(1.15)}.fx-perm-invite{margin-top:10px;padding-top:10px;border-top:1px dashed var(--fe-border)}.fx-perm-invite-actions{display:flex;flex-direction:column;gap:8px;margin-top:6px}.fx-perm-invite-row{display:flex;gap:8px;align-items:stretch}.fx-perm-invite-row .fx-perm-btn--primary{flex:1}.fx-perm-share-opts{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.fx-perm-expiry{display:inline-flex;gap:6px;align-items:center;font-size:13px}.fx-perm-share-opts .fx-perm-btn--primary{margin-left:auto}.fx-perm-result{margin-top:12px;padding-top:12px;border-top:1px solid var(--fe-border)}.fx-perm-linkrow{display:flex;gap:8px;align-items:center}.fx-perm-link{color:var(--fe-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;text-decoration:none}.fx-perm-link:hover{text-decoration:underline}.fx-perm-pin{margin:8px 0 0;font-size:13px;color:var(--fe-text);display:flex;align-items:center;gap:8px}.fx-perm-pin code,.fx-perm-reveal code{font-family:var(--fe-font-mono, monospace);background:var(--fe-bg-hover);padding:1px 6px;border-radius:5px}.fx-perm-mailrow{display:flex;gap:8px;margin-top:10px}.fx-perm-mailrow .fx-perm-input{flex:1}.fx-perm-hint{font-size:13px;color:var(--fe-text-muted);margin:10px 0 0}.fx-perm-sharebtn{display:flex;width:100%;align-items:center;justify-content:center;gap:6px;margin-top:8px}.fx-perm-dropintro{margin:0 0 12px;line-height:1.4}.fx-perm-advtoggle{margin-top:10px;padding-left:2px}.fx-perm-adv{margin-top:8px;padding-top:10px;border-top:1px dashed var(--fe-border);display:flex;flex-direction:column;gap:8px}.fx-perm-adv-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.fx-perm-input--sm{width:130px;padding:5px 8px;font-size:12px}.fx-perm-warn{background:#f59e0b24;border:1px solid rgba(245,158,11,.4);border-radius:var(--fe-radius-sm, 7px);padding:8px 10px;font-size:13px;margin-bottom:10px;color:var(--fe-text)}.fx-perm-notice{margin-top:8px;font-size:13px;color:var(--fe-text-muted)}.fx-perm-reveal{margin-top:8px;font-size:13px;word-break:break-all;color:var(--fe-text)}.fx-perm-muted{color:var(--fe-text-muted);font-size:13px}:root{--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: #2f6fe0;--fe-primary-hover: #2563eb;--fe-danger: #dc2626;--fe-danger-hover: #b91c1c;--fe-shadow: 0 10px 32px rgba(15, 23, 42, .14);--fe-shadow-sm: 0 2px 6px rgba(15, 23, 42, .08);--fe-radius: 8px;--fe-radius-sm: 4px;--fe-radius-lg: 12px;--fe-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fe-font-mono: ui-monospace, "SF Mono", Consolas, Menlo, monospace;--fe-gap: 12px}.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"]{--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-primary: #60a5fa;--fe-primary-hover: #3b82f6;--fe-danger: #f87171;--fe-danger-hover: #ef4444;--fe-shadow: 0 12px 32px rgba(0, 0, 0, .45);--fe-shadow-sm: 0 2px 6px rgba(0, 0, 0, .25)}@media (prefers-color-scheme: dark){.fe:not(.fe--theme-light),.fe-ctx-backdrop--theme-auto:not(.fe-ctx-backdrop--theme-light){--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-primary: #60a5fa;--fe-primary-hover: #3b82f6;--fe-danger: #f87171;--fe-danger-hover: #ef4444;--fe-shadow: 0 12px 32px rgba(0, 0, 0, .45);--fe-shadow-sm: 0 2px 6px rgba(0, 0, 0, .25)}}:root{--fe-icon-folder: #d97706;--fe-icon-image: #7c3aed;--fe-icon-video: #db2777;--fe-icon-audio: #0d9488;--fe-icon-pdf: #dc2626;--fe-icon-doc: #2563eb;--fe-icon-sheet: #16a34a;--fe-icon-slides: #ea580c;--fe-icon-archive: #78716c;--fe-icon-code: #4f46e5;--fe-icon-text: #64748b;--fe-icon-unknown: #64748b}.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"]{--fe-icon-folder: #fbbf24;--fe-icon-image: #a78bfa;--fe-icon-video: #f472b6;--fe-icon-audio: #2dd4bf;--fe-icon-pdf: #f87171;--fe-icon-doc: #60a5fa;--fe-icon-sheet: #4ade80;--fe-icon-slides: #fb923c;--fe-icon-archive: #a8a29e;--fe-icon-code: #818cf8;--fe-icon-text: #94a3b8;--fe-icon-unknown: #8b95a7}@media (prefers-color-scheme: dark){.fe:not(.fe--theme-light),.fe-ctx-backdrop--theme-auto:not(.fe-ctx-backdrop--theme-light){--fe-icon-folder: #fbbf24;--fe-icon-image: #a78bfa;--fe-icon-video: #f472b6;--fe-icon-audio: #2dd4bf;--fe-icon-pdf: #f87171;--fe-icon-doc: #60a5fa;--fe-icon-sheet: #4ade80;--fe-icon-slides: #fb923c;--fe-icon-archive: #a8a29e;--fe-icon-code: #818cf8;--fe-icon-text: #94a3b8;--fe-icon-unknown: #8b95a7}}:root,.fe--theme-dark,:root.dark,.dark{--fe-warning: #f59e0b}.fe,.fe *,.fe-ctx-backdrop,.fe-ctx-backdrop *,.fe-tour,.fe-tour *{scrollbar-width:thin;scrollbar-color:var(--fe-border-strong) transparent}.fe ::-webkit-scrollbar,.fe-ctx-backdrop ::-webkit-scrollbar,.fe-tour ::-webkit-scrollbar{width:10px;height:10px}.fe ::-webkit-scrollbar-track,.fe-ctx-backdrop ::-webkit-scrollbar-track,.fe-tour ::-webkit-scrollbar-track{background:transparent}.fe ::-webkit-scrollbar-thumb,.fe-ctx-backdrop ::-webkit-scrollbar-thumb,.fe-tour ::-webkit-scrollbar-thumb{background:var(--fe-border-strong);border:2px solid transparent;background-clip:padding-box;border-radius:8px}.fe ::-webkit-scrollbar-thumb:hover,.fe-ctx-backdrop ::-webkit-scrollbar-thumb:hover,.fe-tour ::-webkit-scrollbar-thumb:hover{background:var(--fe-text-muted);background-clip:padding-box}.fe ::-webkit-scrollbar-corner,.fe-ctx-backdrop ::-webkit-scrollbar-corner,.fe-tour ::-webkit-scrollbar-corner{background:transparent}.fe{position:relative;display:flex;flex-direction:column;box-sizing:border-box;min-height:420px;height:100%;background:var(--fe-bg);color:var(--fe-text);font-family:var(--fe-font);font-size:14px;border:1px solid var(--fe-border);border-radius:var(--fe-radius);overflow:hidden;outline:none}.fe *{box-sizing:border-box}.fe__body{flex:1 1 auto;overflow:auto;min-height:0;background:var(--fe-bg)}filex-explorer{display:block;height:100%;min-width:0;max-width:100%}.fe__presence{flex:0 0 auto;padding:.25rem .75rem;border-bottom:1px solid var(--fe-border, rgba(0, 0, 0, .06))}.fe__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:240px;height:100%;color:var(--fe-text-muted)}.fe__spinner{width:34px;height:34px;border-radius:50%;border:3px solid color-mix(in srgb,var(--fe-text-muted) 30%,transparent);border-top-color:var(--fe-primary);animation:fe-spin .7s linear infinite}.fe__loading-text{margin:0;font-size:13px}@keyframes fe-spin{to{transform:rotate(360deg)}}.fe__notfound{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:240px;height:100%;color:var(--fe-text-muted);text-align:center;padding:24px}.fe__notfound-icon{font-size:40px;filter:grayscale(1);opacity:.6}.fe__notfound-title{margin:4px 0 0;font-size:15px;font-weight:600;color:var(--fe-text)}.fe__notfound-path{margin:0;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all;max-width:480px}.fe__notfound-desc{margin:0 0 10px;font-size:13px}.fe__file-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.fe-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--fe-bg-elev);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);color:var(--fe-text);font:inherit;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.fe-btn:hover:not(:disabled){background:var(--fe-bg-hover);border-color:var(--fe-border-strong)}.fe-btn:disabled{opacity:.5;cursor:not-allowed}.fe-btn--primary{background:var(--fe-primary);border-color:var(--fe-primary);color:var(--fe-text-on-primary)}.fe-btn--primary:hover:not(:disabled){background:var(--fe-primary-hover);border-color:var(--fe-primary-hover)}.fe-btn--danger{background:var(--fe-danger);border-color:var(--fe-danger);color:var(--fe-text-on-primary)}.fe-btn--danger:hover:not(:disabled){background:var(--fe-danger-hover);border-color:var(--fe-danger-hover)}.fe-btn--icon-only{padding:6px 8px}.fe-btn.is-active{background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-btn__label{line-height:1}.fe-icon{font-size:1.05em;line-height:1}.fe-toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);flex-wrap:wrap}.fe-toolbar__primary{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.fe-toolbar__spacer{flex:1 1 auto}.fe-toolbar__search-group{display:inline-flex;align-items:center;gap:4px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:2px}.fe-toolbar__search-group .fe-search__input{border:0;background:transparent;padding:4px 8px}.fe-toolbar__search-group .fe-btn{border:0;background:transparent;padding:4px 6px}.fe-toolbar__search-group .fe-btn:hover:not(:disabled){background:var(--fe-bg-hover)}.fe-toolbar__view{display:inline-flex;gap:2px;padding:2px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm)}.fe-toolbar__view .fe-btn{border:0;background:transparent}.fe-toolbar__view .fe-btn.is-active{background:var(--fe-bg-selected)}.fe-search{position:relative}.fe-search__input{background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:6px 10px;font:inherit;color:var(--fe-text);min-width:200px}.fe-search__input:focus-visible{outline:2px solid var(--fe-primary);outline-offset:1px}.fe-breadcrumb{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:6px 12px;min-height:37px;background:var(--fe-bg);border-bottom:1px solid var(--fe-border);font-size:13px;color:var(--fe-text-muted)}.fe-breadcrumb__crumb{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;color:inherit;padding:2px 6px;border-radius:var(--fe-radius-sm);cursor:pointer;font:inherit}.fe-breadcrumb__crumb:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-breadcrumb__crumb.is-last{color:var(--fe-text);font-weight:600}.fe-breadcrumb__sep{color:var(--fe-text-muted)}.fe-breadcrumb__edit{margin-left:auto;background:none;border:1px solid transparent;color:var(--fe-text-muted);cursor:pointer;font-size:14px;line-height:1;padding:4px 8px;border-radius:4px}.fe-breadcrumb__edit:hover{background:var(--fe-bg-hover);color:var(--fe-text);border-color:var(--fe-border)}.fe-breadcrumb__input{flex:1;background:var(--fe-bg);color:var(--fe-text);border:1px solid var(--fe-accent, #2563eb);border-radius:4px;padding:4px 8px;font-family:var(--fe-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:13px;outline:none}.fe-list{display:flex;flex-direction:column}.fe-list__head{display:grid;grid-template-columns:32px minmax(0,1fr) 120px 180px;gap:8px;padding:8px 12px;font-weight:600;color:var(--fe-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border)}.fe-list__body{display:flex;flex-direction:column}.fe-list__row{display:grid;grid-template-columns:32px minmax(0,1fr) 120px 180px;gap:8px;padding:8px 12px;align-items:center;cursor:pointer;border-bottom:1px solid var(--fe-border);transition:background .08s;-webkit-user-select:none;user-select:none}.fe-list__row:hover{background:var(--fe-bg-hover)}.fe-list__row.is-selected{background:var(--fe-bg-selected)}.fe-list__row.is-trash{opacity:.7}.fe-list__row.is-clipped,.fe-grid__card.is-clipped{opacity:.45;font-style:italic}.fe-list__row:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-list__col--star{display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s}.fe-list__row:hover .fe-list__col--star,.fe-list__row:focus-within .fe-list__col--star,.fe-list__col--star:has(.is-starred){opacity:1}.fe-list__col--star .filex-star-btn.is-starred{color:var(--fe-warning, #f59e0b)}.fe-list__col--name{display:flex;align-items:center;gap:8px;min-width:0}.fe-list__icon{flex-shrink:0;font-size:16px}.fe-list__name-wrap{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.fe-list__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-list__parent{font-size:11px;color:var(--fe-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.fe-list__col--size,.fe-list__col--mod{color:var(--fe-text-muted);font-size:13px}.fe-list__empty{padding:40px 20px;text-align:center;color:var(--fe-text-muted)}.fe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--fe-gap);padding:var(--fe-gap)}.fe-grid__card{display:flex;flex-direction:column;align-items:stretch;padding:8px;border:1px solid var(--fe-border);border-radius:var(--fe-radius);background:var(--fe-bg-elev);cursor:pointer;transition:background .08s,border-color .08s;-webkit-user-select:none;user-select:none}.fe-grid__card:hover{background:var(--fe-bg-hover);border-color:var(--fe-border-strong)}.fe-grid__card.is-selected{background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-grid__card.is-trash{opacity:.7}.fe-grid__thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;background:var(--fe-bg);border-radius:var(--fe-radius-sm);margin-bottom:8px;overflow:hidden}.fe-grid__thumb img{width:100%;height:100%;object-fit:cover}.fe-grid__icon{font-size:32px}.fe-grid__label{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-grid__meta{font-size:11px;color:var(--fe-text-muted);margin-top:2px}.fe-grid__parent{font-size:11px;color:var(--fe-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-style:italic}.fe-grid__snippet{margin-top:2px;font-size:11px;line-height:1.35;color:var(--fe-text-muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;text-align:left}.fe-grid__empty{grid-column:1 / -1;padding:40px 20px;text-align:center;color:var(--fe-text-muted)}.fe__dragover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#3b82f61f;border:3px dashed var(--fe-primary);pointer-events:none}.fe__dragover-card{background:var(--fe-bg);border-radius:var(--fe-radius-lg);padding:24px 40px;box-shadow:var(--fe-shadow);text-align:center}.fe__dragover-card .fe-icon{font-size:32px;display:block;margin-bottom:8px}.fe-upload{position:absolute;right:16px;bottom:16px;width:min(360px,calc(100% - 32px));background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);z-index:40;max-height:40vh;display:flex;flex-direction:column;overflow:hidden}.fe-upload__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);font-size:13px}.fe-upload__count{background:var(--fe-primary);color:var(--fe-text-on-primary);font-size:12px;padding:1px 7px;border-radius:999px}.fe-upload__list{list-style:none;padding:0;margin:0;overflow:auto}.fe-upload__item{padding:10px 14px;border-bottom:1px solid var(--fe-border)}.fe-upload__item:last-child{border-bottom:0}.fe-upload__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;margin-bottom:4px}.fe-upload__bar{background:var(--fe-bg-elev);border-radius:99px;height:6px;overflow:hidden;margin-bottom:4px}.fe-upload__bar-fill{background:var(--fe-primary);height:100%;transition:width .2s}.fe-upload__item.is-error .fe-upload__bar-fill,.fe-upload__item.is-aborted .fe-upload__bar-fill{background:var(--fe-danger)}.fe-upload__item.is-done .fe-upload__bar-fill{background:#16a34a}.fe-upload__meta{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:var(--fe-text-muted)}.fe-upload__cancel{background:transparent;border:0;color:var(--fe-primary);cursor:pointer;font:inherit}.fe-upload-slide-enter-active,.fe-upload-slide-leave-active{transition:transform .2s,opacity .2s}.fe-upload-slide-enter-from,.fe-upload-slide-leave-to{opacity:0;transform:translateY(10px)}.fe-ops{position:absolute;left:16px;bottom:16px;width:min(320px,calc(100% - 32px));display:flex;flex-direction:column;gap:8px;z-index:40}.fe-ops__item{background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);padding:10px 14px;font-size:13px}.fe-ops__item.is-done{border-color:#16a34a}.fe-ops__item.is-error{border-color:var(--fe-danger)}.fe-ops__row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.fe-ops__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.fe-ops__dismiss{background:transparent;border:0;color:var(--fe-text-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.fe-ops__bar{background:var(--fe-bg-elev);border-radius:99px;height:6px;overflow:hidden}.fe-ops__bar-fill{background:var(--fe-primary);height:100%;transition:width .25s}.fe-ops__item.is-done .fe-ops__bar-fill{background:#16a34a}.fe-ops__item.is-error .fe-ops__bar-fill{background:var(--fe-danger)}.fe-ops__error{margin-top:6px;font-size:11px;color:var(--fe-danger)}.fe-ops-slide-enter-active,.fe-ops-slide-leave-active{transition:transform .2s,opacity .2s}.fe-ops-slide-enter-from,.fe-ops-slide-leave-to{opacity:0;transform:translateY(10px)}.fe-ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;color:var(--fe-text);font-family:var(--fe-font);font-size:14px}.fe-ctx{position:absolute;min-width:180px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);padding:4px;z-index:90;color:var(--fe-text)}.fe-ctx__item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--fe-radius-sm);border:0;background:transparent;color:var(--fe-text);font:inherit;width:100%;text-align:left;cursor:pointer}.fe-ctx__item:hover:not(.is-disabled){background:var(--fe-bg-hover)}.fe-ctx__item.is-danger{color:var(--fe-danger)}.fe-ctx__item.is-disabled{opacity:.45;cursor:not-allowed}.fe-ctx__icon{width:1.2em;text-align:center}.fe-ctx__sep{height:1px;background:var(--fe-border);margin:4px 0}.fe-ctx-enter-active,.fe-ctx-leave-active{transition:opacity .1s}.fe-ctx-enter-from,.fe-ctx-leave-to{opacity:0}.fe-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#0d131b7a;padding:16px}.fe-modal__card{background:var(--fe-bg);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}.fe-modal__card--sm{max-width:420px}.fe-modal__card--md{max-width:560px}.fe-modal__card--lg{max-width:800px}.fe-modal__card--xl{max-width:1080px;height:calc(100vh - 64px)}.fe-recents__backdrop{align-items:flex-start!important;padding-top:60px}.fe-recents__panel{background:var(--fe-bg, #fff);border-radius:var(--fe-radius, 8px);box-shadow:var(--fe-shadow, 0 6px 24px rgba(0, 0, 0, .18));width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 96px);display:flex;flex-direction:column;overflow:hidden}.fe-recents__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--fe-border, #e2e6ed)}.fe-recents__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--fe-text-muted, #6b7280);padding:0 4px}.fe-recents__close:hover{color:var(--fe-text, #111)}.fe-preview__md-split{display:flex;flex-direction:column;height:100%;width:100%;min-height:0}.fe-preview__md-split-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:var(--fe-bg-elev, #f6f7f9);border-bottom:1px solid var(--fe-border, #e2e6ed);flex:0 0 auto}.fe-preview__md-split-label{font-family:var(--fe-font-mono, ui-monospace, monospace);font-size:11px;letter-spacing:.06em;color:var(--fe-text-muted, #6b7280)}.fe-preview__md-split-error{flex:1 1 auto;font-size:12px;color:var(--fe-danger, #dc2626);text-align:center}.fe-preview__md-split-body{flex:1 1 auto;display:grid;grid-template-columns:1fr 1fr;min-height:0}.fe-preview__md-split-input{resize:none;border:0;outline:0;padding:16px 20px;font-family:var(--fe-font-mono, ui-monospace, monospace);font-size:13px;line-height:1.6;background:var(--fe-bg, #fff);color:var(--fe-text, #111);border-right:1px solid var(--fe-border, #e2e6ed);overflow:auto;-moz-tab-size:2;tab-size:2}.fe-preview__md-split-output{overflow:auto;padding:16px 24px;background:var(--fe-bg, #fff)}.fe-preview__md-split-output.fe-preview__md{max-height:none;min-height:0;height:100%}@media (max-width: 900px){.fe-preview__md-split-body{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.fe-preview__md-split-input{border-right:0;border-bottom:1px solid var(--fe-border, #e2e6ed)}}.fe-modal__backdrop--chromeless{background:transparent;padding:0}.fe-modal__card--chromeless{max-width:none;width:100vw;height:100vh;max-height:100vh;border-radius:0;box-shadow:none}.fe-modal__card--chromeless .fe-modal__body{flex:1 1 auto;min-height:0;padding:0}.fe-modal__card--chromeless .fe-preview{align-items:stretch;justify-content:stretch;min-height:0;flex:1 1 auto}.fe-modal__card--chromeless .fe-preview>*{width:100%;height:100%}.fe-modal__head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--fe-border)}.fe-modal__title{font-size:16px;font-weight:600;margin:0}.fe-modal__close{background:transparent;border:0;color:var(--fe-text-muted);font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.fe-modal__body{padding:16px;overflow:auto;flex:1 1 auto}.fe-modal__actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--fe-border);background:var(--fe-bg-elev)}.fe-modal-enter-active,.fe-modal-leave-active{transition:opacity .15s}.fe-modal-enter-from,.fe-modal-leave-to{opacity:0}.fe-input{width:100%;padding:8px 10px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);font:inherit;color:var(--fe-text)}.fe-input:focus-visible{outline:2px solid var(--fe-primary);outline-offset:1px}.fe-input--mono{font-family:var(--fe-font-mono);letter-spacing:.1em}.fe-form{display:flex;flex-direction:column;gap:12px}.fe-form__row{display:flex;align-items:center;gap:8px}.fe-form__row--stack{flex-direction:column;align-items:stretch}.fe-form__error{color:var(--fe-danger);font-size:12px;margin:6px 0 0}.fe-share-result{display:flex;flex-direction:column;gap:12px}.fe-share-result__row label{display:block;font-size:12px;font-weight:600;color:var(--fe-text-muted);margin-bottom:4px}.fe-share-result__copy{display:flex;gap:6px}.fe-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:50vh;background:var(--fe-bg-elev)}.fe-preview__image{max-width:100%;max-height:70vh;object-fit:contain}.fe-preview__video,.fe-preview__audio{max-width:100%;max-height:70vh}.fe-preview__iframe{width:100%;height:70vh;border:0;background:#fff}.fe-preview__office{width:100%;height:78vh;background:var(--fe-bg)}.fe-preview__code-wrap{display:flex;flex-direction:column;width:100%;height:78vh}.fe-preview__code-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-hover, #f3f4f6);border-bottom:1px solid var(--fe-border, #e5e7eb);font-size:12px}.fe-preview__code-lang{font-family:var(--fe-font-mono, ui-monospace, monospace);color:var(--fe-text-muted);text-transform:uppercase;letter-spacing:.04em}.fe-preview__code-toolbar>.fe-btn{margin-left:auto}.fe-preview__code-status{font-size:12px;font-weight:500}.fe-preview__code-status--ok{color:#059669}.fe-preview__code-status--err{color:#dc2626;cursor:help}.fe-preview__code-editor{flex:1;min-height:0;overflow:hidden}.fe-preview__code-editor .cm-editor{height:100%;font-size:13px}.fe-preview__code-editor .cm-scroller{font-family:var(--fe-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)}.fe-preview__fallback{text-align:center;color:var(--fe-text-muted);padding:40px 20px}.fe-preview__fallback-icon{font-size:48px;display:block;margin-bottom:12px}.fe-preview__pre{margin:0;padding:16px;width:100%;max-height:70vh;overflow:auto;background:var(--fe-bg);color:var(--fe-text);font-family:var(--fe-font-mono);font-size:13px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.fe-preview__code{white-space:pre;word-wrap:normal}.hljs{background:var(--fe-bg);color:var(--fe-text)}.hljs-comment,.hljs-quote{color:var(--fe-text-muted);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-section,.hljs-meta{color:#c678dd}.hljs-string,.hljs-attr,.hljs-symbol,.hljs-bullet,.hljs-addition,.hljs-link{color:#98c379}.hljs-number,.hljs-literal,.hljs-deletion{color:#d19a66}.hljs-title,.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-template-tag,.hljs-template-variable{color:#61aeee}.hljs-type,.hljs-tag{color:#e06c75}.hljs-variable,.hljs-attribute{color:#d19a66}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.fe-preview__md{width:100%;max-height:70vh;overflow:auto;padding:24px 32px;background:var(--fe-bg);color:var(--fe-text);line-height:1.6;font-size:15px}.fe-preview__md h1,.fe-preview__md h2,.fe-preview__md h3,.fe-preview__md h4{margin:1.2em 0 .6em;font-weight:600}.fe-preview__md h1{font-size:1.8em;border-bottom:1px solid var(--fe-border);padding-bottom:.3em}.fe-preview__md h2{font-size:1.4em;border-bottom:1px solid var(--fe-border);padding-bottom:.3em}.fe-preview__md h3{font-size:1.2em}.fe-preview__md p{margin:.8em 0}.fe-preview__md a{color:var(--fe-primary);text-decoration:underline}.fe-preview__md code{font-family:var(--fe-font-mono);background:var(--fe-bg-elev);padding:1px 5px;border-radius:3px;font-size:.92em}.fe-preview__md pre{background:var(--fe-bg-elev);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:12px 16px;overflow:auto;font-size:.9em}.fe-preview__md pre code{background:transparent;padding:0}.fe-preview__md ul,.fe-preview__md ol{padding-left:2em;margin:.8em 0}.fe-preview__md li{margin:.3em 0}.fe-preview__md blockquote{border-left:3px solid var(--fe-border-strong);padding:0 1em;color:var(--fe-text-muted);margin:.8em 0}.fe-preview__md table{border-collapse:collapse;margin:1em 0;width:100%}.fe-preview__md th,.fe-preview__md td{border:1px solid var(--fe-border);padding:6px 10px;text-align:left}.fe-preview__md th{background:var(--fe-bg-elev)}.fe-preview__md img{max-width:100%}.fe-toast{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:var(--fe-text);color:var(--fe-bg);padding:8px 14px;border-radius:var(--fe-radius);font-size:13px;box-shadow:var(--fe-shadow-sm);z-index:95}.fe-toast-enter-active,.fe-toast-leave-active{transition:opacity .2s,transform .2s}.fe-toast-enter-from,.fe-toast-leave-to{opacity:0;transform:translate(-50%,10px)}@media (max-width: 640px){.fe-list__head,.fe-list__row{grid-template-columns:28px minmax(0,1fr) 90px}.fe-list__col--mod{display:none}.fe-toolbar{padding:8px}.fe-search__input{min-width:120px}}.fe-ficon{width:1em;height:1em;display:block;flex-shrink:0}.fe-ficon--folder{color:var(--fe-icon-folder)}.fe-ficon--image{color:var(--fe-icon-image)}.fe-ficon--video{color:var(--fe-icon-video)}.fe-ficon--audio{color:var(--fe-icon-audio)}.fe-ficon--pdf{color:var(--fe-icon-pdf)}.fe-ficon--doc{color:var(--fe-icon-doc)}.fe-ficon--sheet{color:var(--fe-icon-sheet)}.fe-ficon--slides{color:var(--fe-icon-slides)}.fe-ficon--archive{color:var(--fe-icon-archive)}.fe-ficon--code{color:var(--fe-icon-code)}.fe-ficon--text{color:var(--fe-icon-text)}.fe-ficon--unknown{color:var(--fe-icon-unknown)}.fe-grid__icon--svg{display:flex;align-items:center;justify-content:center}.fe-list__icon--svg{display:inline-flex;align-items:center}.fe-list__sort{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.fe-list__sort:hover{color:var(--fe-text)}.fe-list__sort:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px;border-radius:2px}.fe-list__sort-arrow{font-size:11px;color:var(--fe-primary)}.fe-list__group{padding:12px 12px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fe-text-muted);-webkit-user-select:none;user-select:none}.fe--density-compact .fe-toolbar{padding:6px 8px;gap:6px}.fe--density-compact .fe-breadcrumb,.fe--density-compact .fe-list__head{padding:4px 12px}.fe--density-compact .fe-list__row{padding:3px 12px}.fe--density-compact .fe-list__icon{font-size:14px}.fe--density-compact .fe-list__group{padding:8px 12px 2px}.fe--density-compact .fe-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;padding:8px}.fe--density-compact .fe-grid__card{padding:6px}.fe--density-compact .fe-grid__icon{font-size:24px}.fe-cmdp__backdrop{align-items:flex-start;padding-top:min(18vh,160px)}.fe-cmdp{background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-lg);box-shadow:var(--fe-shadow);width:min(560px,calc(100vw - 32px));display:flex;flex-direction:column;overflow:hidden}.fe-cmdp__inputwrap{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--fe-border);color:var(--fe-text-muted)}.fe-cmdp__glyph{flex:0 0 auto}.fe-cmdp__input{flex:1 1 auto;min-width:0;border:0;outline:none;background:transparent;color:var(--fe-text);font:inherit;font-size:15px}.fe-cmdp__input::placeholder{color:var(--fe-text-muted)}.fe-cmdp__list{max-height:min(48vh,380px);overflow-y:auto;padding:6px}.fe-cmdp__group{padding:8px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fe-text-muted)}.fe-cmdp__item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-radius:var(--fe-radius-sm);padding:8px 10px;color:var(--fe-text);font:inherit;font-size:14px;cursor:pointer}.fe-cmdp__item.is-active{background:var(--fe-bg-selected)}.fe-cmdp__item:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-cmdp__icon{flex:0 0 auto;width:20px;text-align:center}.fe-cmdp__label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-cmdp__empty{padding:20px 12px;text-align:center;color:var(--fe-text-muted);font-size:13px}.fe-cmdp__hint{padding:8px 14px;border-top:1px solid var(--fe-border);background:var(--fe-bg-elev);font-size:11px;color:var(--fe-text-muted)}.fe-shortcuts{display:flex;flex-direction:column;gap:16px}.fe-shortcuts__heading{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fe-text-muted)}.fe-shortcuts__table{display:flex;flex-direction:column}.fe-shortcuts__row{display:flex;align-items:center;gap:12px;padding:4px 0}.fe-shortcuts__keys{flex:0 0 40%;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fe-shortcuts__desc{flex:1 1 auto;font-size:13px;color:var(--fe-text)}.fe-shortcuts__or{color:var(--fe-text-muted);font-size:11px}.fe-kbd{display:inline-block;padding:2px 7px;border:1px solid var(--fe-border-strong);border-bottom-width:2px;border-radius:var(--fe-radius-sm);background:var(--fe-bg-elev);color:var(--fe-text);font-family:var(--fe-font-mono);font-size:11.5px;line-height:1.4}.fe-breadcrumb__more-wrap{position:relative;display:inline-flex;align-items:center;gap:4px}.fe-breadcrumb__more{background:transparent;border:0;color:inherit;padding:2px 8px;border-radius:var(--fe-radius-sm);cursor:pointer;font:inherit;line-height:1.2}.fe-breadcrumb__more:hover,.fe-breadcrumb__more[aria-expanded=true]{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-breadcrumb__more:focus-visible{outline:2px solid var(--fe-primary);outline-offset:1px}.fe-breadcrumb__menu{position:absolute;top:calc(100% + 4px);left:0;z-index:80;min-width:160px;max-width:280px;max-height:40vh;overflow-y:auto;display:flex;flex-direction:column;padding:4px;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius);box-shadow:var(--fe-shadow)}.fe-breadcrumb__menu-item{text-align:left;background:transparent;border:0;padding:6px 10px;border-radius:var(--fe-radius-sm);color:var(--fe-text);font:inherit;font-size:13px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-breadcrumb__menu-item:hover,.fe-breadcrumb__menu-item:focus-visible{background:var(--fe-bg-hover)}.fe-breadcrumb__crumb>span:first-child{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.fe-breadcrumb__crumb>span:first-child{max-width:110px}}@media (prefers-reduced-motion: reduce){.fe-modal-enter-active,.fe-modal-leave-active{transition:none!important}}.fe-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.fe__skeleton{min-height:240px}.fe-skel{position:relative;overflow:hidden;border-radius:var(--fe-radius-sm);background:color-mix(in srgb,var(--fe-text-muted) 14%,transparent)}.fe-skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--fe-text-muted) 12%,transparent),transparent);animation:fe-skel-shimmer 1.4s ease-in-out infinite}@keyframes fe-skel-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.fe-skel:after{animation:none;content:none}}.fe-skel-list{padding-top:2px}.fe-skel-row{display:grid;grid-template-columns:32px minmax(0,1fr) 120px 180px;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--fe-border)}.fe-skel-row .fe-skel{height:12px}.fe-skel-row .fe-skel--icon{width:20px;height:20px;border-radius:6px}.fe-skel-row .fe-skel--name{width:55%}.fe-skel-row:nth-child(2n) .fe-skel--name{width:38%}.fe-skel-row:nth-child(3n) .fe-skel--name{width:70%}.fe-skel-row .fe-skel--size{width:56px;justify-self:start}.fe-skel-row .fe-skel--date{width:110px;justify-self:start}.fe-skel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--fe-gap);padding:var(--fe-gap)}.fe-skel-card{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid var(--fe-border);border-radius:var(--fe-radius);background:var(--fe-bg-elev)}.fe-skel-card .fe-skel--thumb{aspect-ratio:1 / 1}.fe-skel-card .fe-skel--label{height:12px;width:70%}.fe-skel-card:nth-child(2n) .fe-skel--label{width:50%}.fe-skel-card:nth-child(3n) .fe-skel--label{width:85%}.fe-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:240px;height:100%;padding:24px;text-align:center;color:var(--fe-text-muted)}.fe-state__art{color:var(--fe-text-muted);opacity:.7;margin-bottom:4px;flex:0 0 auto}.fe-state__title{margin:2px 0 0;font-size:15px;font-weight:600;color:var(--fe-text)}.fe-state__hint{margin:0;font-size:13px;max-width:420px}.fe-state__path{margin:0;font-size:12px;font-family:var(--fe-font-mono);word-break:break-all;max-width:480px}.fe-state__actions{margin-top:12px;display:flex;gap:8px}.fe-toast--action{display:flex;align-items:center;gap:14px;padding:8px 10px 8px 14px;cursor:pointer;max-width:min(480px,calc(100% - 32px))}.fe-toast__msg{min-width:0}.fe-toast__action{flex:0 0 auto;background:transparent;border:0;padding:4px 8px;border-radius:var(--fe-radius-sm);font:inherit;font-weight:600;color:color-mix(in srgb,var(--fe-primary) 70%,var(--fe-bg));cursor:pointer}.fe-toast__action:hover{background:color-mix(in srgb,var(--fe-bg) 14%,transparent)}.fe-toast__action:focus-visible{outline:2px solid var(--fe-bg);outline-offset:1px}.fe-connbadge{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1.4;color:var(--fe-text-muted);background:var(--fe-bg-elev);border:1px solid var(--fe-border);border-radius:999px;padding:2px 10px;cursor:help;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fe-connbadge__dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--fe-warning, #f59e0b)}.fe-cmdp__item--hit{align-items:flex-start}.fe-cmdp__item--hit .fe-cmdp__icon{margin-top:1px}.fe-cmdp__hitbody{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.fe-cmdp__hitline{display:flex;align-items:center;gap:8px;min-width:0}.fe-cmdp__badge,.fe-list__badge{flex:0 0 auto;display:inline-block;padding:1px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fe-primary) 35%,transparent);background:color-mix(in srgb,var(--fe-primary) 12%,transparent);color:var(--fe-primary);font-size:10px;font-weight:600;line-height:1.5;white-space:nowrap;vertical-align:middle}.fe-cmdp__crumb{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--fe-text-muted)}.fe-cmdp__snippet,.fe-list__snippet{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--fe-text-muted)}.fe-cmdp__mark,.fe-list__mark,.fe-grid__mark{background:color-mix(in srgb,var(--fe-primary) 22%,transparent);color:var(--fe-text);border-radius:2px;padding:0 1px;font-weight:600}.fe-cmdp__loading{padding:8px 12px;font-size:13px;color:var(--fe-text-muted)}.fe-cmdp__item--saved{-webkit-user-select:none;user-select:none}.fe-cmdp__del{flex:0 0 auto;background:transparent;border:0;border-radius:var(--fe-radius-sm);padding:2px 6px;font:inherit;font-size:13px;color:var(--fe-text-muted);cursor:pointer;opacity:.55}.fe-cmdp__item--saved:hover .fe-cmdp__del,.fe-cmdp__item--saved.is-active .fe-cmdp__del{opacity:1}.fe-cmdp__del:hover{background:var(--fe-bg-elev);color:var(--fe-danger, #dc2626)}.fe-cmdp__del:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-list__snippet{max-width:100%}.fe-toolbar--narrow{flex-wrap:nowrap;gap:6px}.fe-toolbar--narrow .fe-btn.is-active{background:var(--fe-bg-selected)}.fe-toolbar--narrow .fe-search--full{flex:1 1 auto;min-width:0}.fe-toolbar--narrow .fe-search--full .fe-search__input{width:100%;min-width:0}.fe-fab{position:absolute;right:16px;bottom:16px;width:56px;height:56px;border:0;border-radius:50%;background:var(--fe-primary);color:var(--fe-text-on-primary);font-size:24px;display:flex;align-items:center;justify-content:center;box-shadow:var(--fe-shadow);cursor:pointer;z-index:45;transition:background .15s,transform .15s}.fe-fab:hover{background:var(--fe-primary-hover)}.fe-fab:active{transform:scale(.94)}.fe-fab:focus-visible{outline:2px solid var(--fe-primary);outline-offset:3px}.fe--narrow .fe-upload,.fe--narrow .fe-ops{bottom:84px}.fe-ctx-backdrop--sheet{background:#0d131b6b}.fe-sheet{position:fixed;left:0;right:0;bottom:0;max-height:70vh;display:flex;flex-direction:column;background:var(--fe-bg);color:var(--fe-text);border:1px solid var(--fe-border);border-bottom:0;border-top-left-radius:var(--fe-radius-lg);border-top-right-radius:var(--fe-radius-lg);box-shadow:0 -10px 32px #0f172a47;padding:0 8px calc(8px + env(safe-area-inset-bottom,0px));outline:none;z-index:90}.fe-sheet__handle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:12px 0 8px;cursor:grab;touch-action:none}.fe-sheet__handle:before{content:"";width:40px;height:4px;border-radius:99px;background:var(--fe-border-strong)}.fe-sheet__items{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.fe-sheet__item{min-height:44px;padding:10px 14px;font-size:15px;gap:12px}.fe-sheet-enter-active,.fe-sheet-leave-active{transition:opacity .18s ease}.fe-sheet-enter-active .fe-sheet,.fe-sheet-leave-active .fe-sheet{transition:transform .22s ease}.fe-sheet-enter-from,.fe-sheet-leave-to{opacity:0}.fe-sheet-enter-from .fe-sheet,.fe-sheet-leave-to .fe-sheet{transform:translateY(100%)}@media (prefers-reduced-motion: reduce){.fe-sheet-enter-active,.fe-sheet-leave-active,.fe-sheet-enter-active .fe-sheet,.fe-sheet-leave-active .fe-sheet,.fe-fab{transition:none}}.fe__main{display:flex;flex-direction:row;flex:1 1 auto;min-height:0}.fe__main>.fe__body{min-width:0;height:100%}.fe-inspector{flex:0 0 300px;width:300px;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text)}.fe-inspector--overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;width:auto;border-left:none}.fe-inspector__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--fe-border);flex:0 0 auto}.fe-inspector__title{margin:0;font-size:13px;font-weight:600;letter-spacing:.02em}.fe-inspector__close{border:none;background:none;color:var(--fe-text-muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px}.fe-inspector__close:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-inspector__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px}.fe-inspector__section{margin-bottom:18px}.fe-inspector__section:last-child{margin-bottom:0}.fe-inspector__heading{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fe-text-muted)}.fe-inspector__hero{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:6px 0 4px}.fe-inspector__bigicon{display:inline-flex}.fe-inspector__bigicon .fe-ficon{width:56px;height:56px}.fe-inspector__thumb{width:96px;height:96px;object-fit:cover;border-radius:var(--fe-radius);border:1px solid var(--fe-border)}.fe-inspector__name{margin:0;font-size:13px;font-weight:600;word-break:break-word;max-width:100%}.fe-inspector__sub{margin:0;font-size:12px;color:var(--fe-text-muted)}.fe-inspector__meta{margin:8px 0 0;display:flex;flex-direction:column;gap:6px}.fe-inspector__row{display:flex;align-items:baseline;gap:8px;font-size:12px}.fe-inspector__row dt{flex:0 0 84px;color:var(--fe-text-muted)}.fe-inspector__row dd{margin:0;min-width:0;flex:1 1 auto;word-break:break-word}.fe-inspector__pathcell{display:flex;align-items:center;gap:4px}.fe-inspector__path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}.fe-inspector__mime{font-family:var(--fe-font-mono);font-size:11px}.fe-inspector__copy{flex:0 0 auto;border:none;background:none;color:var(--fe-text-muted);cursor:pointer;font-size:13px;line-height:1;padding:2px 4px;border-radius:4px}.fe-inspector__copy:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-inspector__empty{margin:0;font-size:12px;color:var(--fe-text-muted)}.fe-btn--sm{padding:3px 8px;font-size:12px}.fe-inspector__versions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fe-inspector__version{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--fe-border);border-radius:var(--fe-radius)}.fe-inspector__version-main{display:flex;flex-direction:column;gap:2px}.fe-inspector__version-n{font-size:12px;font-weight:600}.fe-inspector__version-meta{font-size:11px;color:var(--fe-text-muted)}.fe-inspector__confirm{display:flex;flex-direction:column;gap:6px}.fe-inspector__confirm-q{margin:0;font-size:12px}.fe-inspector__check{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--fe-text-muted);cursor:pointer}.fe-inspector__confirm-actions{display:flex;gap:6px}.fe-inspector__snapshot{margin-top:8px;width:100%}.fe-inspector__permrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fe-inspector__badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;border:1px solid var(--fe-border-strong);color:var(--fe-text);background:var(--fe-bg-hover)}.fe-inspector__badge--owner{border-color:var(--fe-primary);color:var(--fe-primary);background:transparent}.fe-inspector__badge--none{color:var(--fe-text-muted)}.fe-inspector__badge--pin{border-color:var(--fe-warning, #f59e0b);color:var(--fe-warning, #f59e0b);background:transparent}.fe-inspector__shares{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.fe-inspector__share{display:flex;align-items:center;gap:6px;font-size:12px;min-width:0}.fe-inspector__share-url{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-inspector__share-exp{flex:0 0 auto;font-size:11px;color:var(--fe-text-muted)}@media (prefers-reduced-motion: no-preference){.fe-inspector{animation:fe-inspector-in .16s ease}@keyframes fe-inspector-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}}.fe-shortcuts__unbound{font-size:12px;font-style:italic;color:var(--fe-text-muted)}.fe-shortcuts__custom{margin-left:4px;font-size:9px;vertical-align:2px;color:var(--fe-primary)}.fe-shortset{display:flex;flex-direction:column;gap:14px}.fe-shortset__topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.fe-shortset__hint{margin:0;font-size:12px;color:var(--fe-text-muted);flex:1 1 auto}.fe-shortset__reset-all{flex:0 0 auto}.fe-shortset__group{display:flex;flex-direction:column}.fe-shortset__item{border-radius:var(--fe-radius-sm);padding:2px 6px;margin:0 -6px}.fe-shortset__item.is-capturing{background:var(--fe-bg-hover);outline:1px dashed var(--fe-primary);outline-offset:-1px}.fe-shortset__item.is-conflict{background:color-mix(in srgb,var(--fe-danger) 8%,transparent);outline:1px solid var(--fe-danger);outline-offset:-1px}.fe-shortset__row{display:flex;align-items:center;gap:12px;padding:4px 0;min-height:34px}.fe-shortset__label{flex:1 1 auto;font-size:13px;color:var(--fe-text)}.fe-shortset__keys{flex:0 0 auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.fe-shortset__capture{font-size:12px;color:var(--fe-primary);animation:fe-shortset-blink 1.1s ease-in-out infinite}@keyframes fe-shortset-blink{0%,to{opacity:1}50%{opacity:.45}}.fe-shortset__actions{flex:0 0 auto;display:flex;align-items:center;gap:6px;min-width:118px;justify-content:flex-end}.fe-shortset__btn{padding:3px 9px;font-size:12px}.fe-shortset__fixed{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--fe-text-muted);border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);padding:2px 7px}.fe-shortset__conflict{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 2px 8px;font-size:12.5px;color:var(--fe-danger)}.fe-shortset__conflict-msg{flex:1 1 auto;display:inline-flex;align-items:center;gap:6px;min-width:200px}.fe-shortset__conflict-actions{flex:0 0 auto;display:flex;gap:6px}.fe-ql-hint{position:fixed;left:50%;bottom:14px;transform:translate(-50%);z-index:72;display:inline-flex;flex-direction:row;align-items:center;width:auto;height:auto;min-height:0;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--fe-border);background:var(--fe-bg-elev);color:var(--fe-text-muted);font-size:12px;box-shadow:var(--fe-shadow);pointer-events:none;white-space:nowrap}.fe-ql-hint .fe-kbd{font-size:10.5px;padding:1px 5px}.fe-ql-hint__sep{opacity:.5}.fe-opc{position:absolute;right:16px;bottom:16px;z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:10px;max-width:calc(100% - 32px)}.fe-opc__badge{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;border:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text);box-shadow:var(--fe-shadow);cursor:pointer;font:inherit;font-size:13px;line-height:1}.fe-opc__badge:hover{background:var(--fe-bg-hover)}.fe-opc__badge:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px}.fe-opc__badge.is-error{border-color:var(--fe-danger)}.fe-opc__badge.is-error .fe-opc__count{color:var(--fe-danger)}.fe-opc__ring{width:22px;height:22px;flex:0 0 auto}.fe-opc__ring-track{stroke:var(--fe-border-strong)}.fe-opc__ring-fill{stroke:var(--fe-primary);transition:stroke-dashoffset .25s}.fe-opc__badge.is-error .fe-opc__ring-fill{stroke:var(--fe-danger)}.fe-opc__ring--spin{animation:fe-opc-spin 1s linear infinite}@keyframes fe-opc-spin{to{transform:rotate(360deg)}}.fe-opc__count{font-weight:600}.fe-opc__pct{color:var(--fe-text-muted);font-size:12px}.fe-opc__panel{width:min(380px,calc(100vw - 32px));max-width:100%;max-height:min(420px,60vh);display:flex;flex-direction:column;overflow:hidden;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:var(--fe-radius-lg);box-shadow:var(--fe-shadow)}.fe-opc__head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);font-size:13px}.fe-opc__body{overflow:auto;padding:6px 0 8px}.fe-opc__section+.fe-opc__section{border-top:1px solid var(--fe-border);margin-top:6px}.fe-opc__section-title{display:flex;align-items:center;justify-content:space-between;margin:0;padding:8px 14px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fe-text-muted)}.fe-opc__list{list-style:none;margin:0;padding:0}.fe-opc__item{display:flex;align-items:flex-start;gap:10px;padding:8px 14px}.fe-opc__item+.fe-opc__item{border-top:1px solid var(--fe-border)}.fe-opc__item.is-error{background:color-mix(in srgb,var(--fe-danger) 7%,transparent)}.fe-opc__kicon{width:18px;height:18px;flex:0 0 auto;margin-top:2px;color:var(--fe-text-muted)}.fe-opc__item.is-error .fe-opc__kicon{color:var(--fe-danger)}.fe-opc__mid{flex:1 1 auto;min-width:0}.fe-opc__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.fe-opc__sub{display:flex;align-items:baseline;gap:5px;font-size:11px;color:var(--fe-text-muted);margin-top:1px;min-width:0}.fe-opc__sub--err,.fe-opc__item.is-error .fe-opc__state{color:var(--fe-danger)}.fe-opc__state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-opc__bar{background:var(--fe-bg-elev);border-radius:99px;height:5px;overflow:hidden;margin-top:5px}.fe-opc__bar-fill{background:var(--fe-primary);height:100%;transition:width .2s}.fe-opc__spin{flex:0 0 auto;width:14px;height:14px;margin-top:4px;border-radius:50%;border:2px solid var(--fe-border-strong);border-top-color:var(--fe-primary);animation:fe-opc-spin .8s linear infinite}.fe-opc__acts{display:flex;align-items:center;gap:2px;flex:0 0 auto}.fe-opc__act{background:transparent;border:0;color:var(--fe-primary);cursor:pointer;font:inherit;font-size:12px;padding:2px 4px;border-radius:var(--fe-radius-sm)}.fe-opc__act:hover{background:var(--fe-bg-hover)}.fe-opc__act--retry{font-weight:600}.fe-opc__x{background:transparent;border:0;color:var(--fe-text-muted);cursor:pointer;font-size:16px;line-height:1;padding:0 4px;border-radius:var(--fe-radius-sm)}.fe-opc__x:hover{color:var(--fe-text)}.fe-opc__item--history .fe-opc__name{font-size:12px;color:var(--fe-text-muted)}.fe-opc__chip{flex:0 0 auto;font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--fe-bg-elev);color:var(--fe-text-muted)}.fe-opc__chip.is-done{color:var(--fe-ok, #16a34a);background:color-mix(in srgb,var(--fe-ok, #16a34a) 12%,transparent)}.fe-opc__chip.is-error{color:var(--fe-danger);background:color-mix(in srgb,var(--fe-danger) 12%,transparent)}.fe-opc__item.is-done .fe-opc__bar-fill{background:var(--fe-ok, #16a34a)}.fe-opc__empty{margin:0;padding:16px 14px;font-size:12px;color:var(--fe-text-muted);text-align:center}.fe-opc-pop-enter-active,.fe-opc-pop-leave-active{transition:transform .16s ease,opacity .16s ease}.fe-opc-pop-enter-from,.fe-opc-pop-leave-to{opacity:0;transform:translateY(8px) scale(.98)}.fe--narrow .fe-opc{left:12px;right:12px;bottom:84px;max-width:none}.fe--narrow .fe-opc__panel{width:100%;max-height:50vh}@media (prefers-reduced-motion: reduce){.fe-opc__ring--spin,.fe-opc__spin{animation-duration:3s}.fe-opc-pop-enter-active,.fe-opc-pop-leave-active{transition:none}}======= .fe-grid__card:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px}.fe-ctx__item:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px;background:var(--fe-bg-hover)}.fe-list__row.is-droptarget,.fe-grid__card.is-droptarget{outline:2px dashed var(--fe-primary);outline-offset:-2px;background:var(--fe-bg-selected)}.fe-grid__card.is-droptarget{border-color:var(--fe-primary)}.fe-dragghost{display:inline-flex;align-items:center;gap:8px;max-width:260px;padding:6px 10px;border:1px solid var(--fe-border-strong);border-radius:var(--fe-radius);background:var(--fe-bg-elev);color:var(--fe-text);font-family:var(--fe-font);font-size:13px;box-shadow:var(--fe-shadow-sm);pointer-events:none;z-index:96}.fe-dragghost__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-dragghost__badge{flex:0 0 auto;min-width:20px;padding:1px 6px;border-radius:999px;background:var(--fe-primary);color:var(--fe-text-on-primary);font-size:12px;font-weight:600;text-align:center}.fe-state__details{margin-top:10px;max-width:480px;font-size:12px;text-align:left}.fe-state__details-summary{cursor:pointer;text-align:center;color:var(--fe-text-muted);-webkit-user-select:none;user-select:none}.fe-state__details-summary:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px}.fe-state__details-pre{margin:8px 0 0;padding:8px 10px;border:1px solid var(--fe-border);border-radius:var(--fe-radius-sm);background:var(--fe-bg-elev);font-family:var(--fe-font-mono);font-size:11px;white-space:pre-wrap;word-break:break-word;max-height:160px;overflow:auto}.fe-tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:96;color:var(--fe-text);font-family:var(--fe-font);font-size:14px}.fe-tour__spot{position:fixed;border-radius:10px;box-shadow:0 0 0 9999px #0d131b8c;border:2px solid var(--fe-primary);pointer-events:none}.fe-tour__dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d131b8c;pointer-events:none}.fe-tour__card{position:fixed;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--fe-border-strong);border-radius:var(--fe-radius-lg);background:var(--fe-bg);color:var(--fe-text);box-shadow:var(--fe-shadow);outline:none}.fe-tour__card--center{top:50%;left:50%;transform:translate(-50%,-50%);width:min(360px,calc(100vw - 24px))}.fe-tour__progress{margin:0;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--fe-text-muted)}.fe-tour__title{margin:0;font-size:15px;font-weight:700}.fe-tour__desc{margin:0;font-size:13px;line-height:1.5;color:var(--fe-text-muted)}.fe-tour__dots{display:flex;gap:5px;margin-top:4px}.fe-tour__dot{width:7px;height:7px;border-radius:50%;background:var(--fe-border-strong);transition:background .15s}.fe-tour__dot.is-active{background:var(--fe-primary)}.fe-tour__actions{display:flex;align-items:center;gap:8px;margin-top:8px}.fe-tour__actions-spacer{flex:1 1 auto}.fe-tour__skip{color:var(--fe-text-muted)}.fe-tour-enter-active,.fe-tour-leave-active{transition:opacity .16s ease}.fe-tour-enter-from,.fe-tour-leave-to{opacity:0}@media (prefers-reduced-motion: reduce){.fe-tour-enter-active,.fe-tour-leave-active,.fe-ctx-enter-active,.fe-ctx-leave-active,.fe-sheet-enter-active,.fe-sheet-leave-active,.fe-toast-enter-active,.fe-toast-leave-active,.fe-list__row,.fe-grid__card,.fe-tour__dot,.fe-list__col--star{transition:none!important}}.fe-tabs{display:flex;align-items:stretch;gap:4px;flex:0 0 auto;min-width:0;padding:4px 6px 0;background:var(--fe-bg-elev);border-bottom:1px solid var(--fe-border);-webkit-user-select:none;user-select:none}.fe-tabs__scroll{display:flex;align-items:stretch;gap:2px;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--fe-border-strong) transparent}.fe-tabs__scroll::-webkit-scrollbar{height:6px;width:0}.fe-tabs__scroll::-webkit-scrollbar-track{background:transparent}.fe-tabs__scroll::-webkit-scrollbar-thumb{background:var(--fe-border-strong);border-radius:6px}.fe-tabs__scroll::-webkit-scrollbar-thumb:hover{background:var(--fe-text-muted)}.fe-tabs__tab{display:flex;align-items:center;gap:6px;max-width:180px;min-width:72px;padding:4px 6px 4px 10px;font-size:12px;color:var(--fe-text-muted);background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;white-space:nowrap;position:relative}.fe-tabs__tab:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-tabs__tab.is-active{background:var(--fe-bg);color:var(--fe-text);border-color:var(--fe-border)}.fe-tabs__tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--fe-bg)}.fe-tabs__tab.is-dragover{outline:1px dashed var(--fe-primary);outline-offset:-2px}.fe-tabs__tab:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-tabs__label{overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.fe-tabs__splitdot{width:6px;height:6px;border-radius:2px;background:var(--fe-primary);flex:0 0 auto}.fe-tabs__close{flex:0 0 auto;width:16px;height:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:inherit;font-size:13px;cursor:pointer;padding:0}.fe-tabs__close:hover{background:var(--fe-bg-hover)}.fe-tabs__new,.fe-tabs__split{flex:0 0 auto;align-self:center;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--fe-text-muted);font-size:15px;cursor:pointer;padding:0}.fe-tabs__split .fe-ficon{width:14px;height:14px}.fe-tabs__new:hover,.fe-tabs__split:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-tabs__split.is-active{background:var(--fe-bg-selected);color:var(--fe-primary);border-color:var(--fe-border)}.fe--narrow .fe-tabs__split{display:none}.fe__primary{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0}.fe__primary>.fe__body{min-width:0}.fe__main--split>.fe__primary{flex:1 1 50%}.fe-split{flex:1 1 50%;min-width:0;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--fe-border);background:var(--fe-bg);color:var(--fe-text)}.fe__main--split>.fe__primary,.fe-split{box-shadow:inset 0 2px 0 transparent}.fe__main--split>.fe__primary.fe-pane--focus,.fe-split.fe-pane--focus{box-shadow:inset 0 2px 0 var(--fe-primary)}.fe-split__crumbs{display:flex;align-items:center;gap:4px;flex:0 0 auto;padding:6px 12px;min-height:37px;border-bottom:1px solid var(--fe-border);font-size:13px;color:var(--fe-text-muted);overflow:hidden;white-space:nowrap}.fe-split__crumb{border:none;background:transparent;color:inherit;font:inherit;padding:2px 6px;border-radius:var(--fe-radius-sm);cursor:pointer;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-split__crumb:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-split__crumb.is-last{color:var(--fe-text);font-weight:600}.fe-split__sep{opacity:.6;flex:0 0 auto}.fe-split__spacer{flex:1 1 auto}.fe-split__closebtn{flex:0 0 auto;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:5px;background:transparent;color:var(--fe-text-muted);font-size:14px;cursor:pointer;padding:0}.fe-split__closebtn:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-split__body{flex:1 1 auto;min-height:0;overflow:auto;position:relative}.fe-split__body.is-dropover{outline:2px dashed var(--fe-primary);outline-offset:-4px}.fe-split__list{padding:4px 0}.fe-split__row{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:13px;cursor:default}.fe-split__row:hover{background:var(--fe-bg-hover)}.fe-split__row.is-selected{background:var(--fe-bg-selected)}.fe-split__row.is-droptarget{outline:1.5px dashed var(--fe-primary);outline-offset:-2px;border-radius:6px}.fe-split__row:focus-visible{outline:2px solid var(--fe-primary);outline-offset:-2px}.fe-split__icon{flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:16px}.fe-split__icon .fe-ficon{width:16px;height:16px}.fe-split__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-split__size{flex:0 0 auto;color:var(--fe-text-muted);font-size:11.5px}.fe-split__state{padding:24px 12px;text-align:center;color:var(--fe-text-muted);font-size:12.5px;display:flex;flex-direction:column;gap:10px;align-items:center}.fe-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--fe-gap);padding:var(--fe-gap)}.fe-gal__card{display:flex;flex-direction:column;align-items:stretch;border:1px solid var(--fe-border);border-radius:var(--fe-radius);background:var(--fe-bg-elev);cursor:pointer;overflow:hidden;transition:background .08s,border-color .08s;-webkit-user-select:none;user-select:none}.fe-gal__card:hover{background:var(--fe-bg-hover);border-color:var(--fe-border-strong)}.fe-gal__card.is-selected{background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-gal__card.is-trash{opacity:.7}.fe-gal__card.is-clipped{opacity:.55;border-style:dashed}.fe-gal__card:focus-visible{outline:2px solid var(--fe-primary);outline-offset:2px}.fe-gal__card.is-droptarget{outline:2px dashed var(--fe-primary);outline-offset:-2px;background:var(--fe-bg-selected);border-color:var(--fe-primary)}.fe-gal__thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;background:var(--fe-bg);overflow:hidden}.fe-gal__thumb img{width:100%;height:100%;object-fit:cover}.fe-gal__icon{font-size:44px}.fe-gal__icon--svg svg{width:64px;height:64px}.fe-gal__meta{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:1px;padding:6px 8px;font-size:11px;line-height:1.35;color:var(--fe-text);background:color-mix(in srgb,var(--fe-bg-elev) 88%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;pointer-events:none}.fe-gal__card:hover .fe-gal__meta,.fe-gal__card:focus-visible .fe-gal__meta{opacity:1;transform:translateY(0)}.fe-gal__meta-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-gal__meta-line--path{color:var(--fe-text-muted);font-style:italic}.fe-gal__label{padding:7px 9px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.fe-gal__empty{grid-column:1 / -1;padding:40px 20px;text-align:center;color:var(--fe-text-muted)}.fe--narrow .fe-gal{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.fe--density-compact .fe-gal{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:calc(var(--fe-gap) * .6)}.fe--density-compact .fe-gal__label{padding:5px 7px;font-size:12px}@media (prefers-reduced-motion: reduce){.fe-gal__card,.fe-gal__meta{transition:none!important;transform:none}}.fe-inspector__countbadge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:6px;border-radius:8px;font-size:10px;font-weight:600;letter-spacing:0;background:var(--fe-bg-hover);color:var(--fe-text);vertical-align:middle}.fe-inspector__comments{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}.fe-inspector__comment{border:1px solid var(--fe-border);border-radius:8px;padding:6px 8px;background:var(--fe-bg)}.fe-inspector__comment-top{display:flex;align-items:baseline;gap:6px;min-width:0}.fe-inspector__comment-author{font-size:12px;font-weight:600;color:var(--fe-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.fe-inspector__comment-time{font-size:11px;color:var(--fe-text-muted);flex:1 1 auto;white-space:nowrap}.fe-inspector__comment-del{border:none;background:none;color:var(--fe-text-muted);font-size:14px;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px;flex:0 0 auto}.fe-inspector__comment-del:hover{background:var(--fe-bg-hover);color:var(--fe-danger)}.fe-inspector__comment-del:disabled{opacity:.5;cursor:default}.fe-inspector__comment-body{margin:4px 0 0;font-size:12px;line-height:1.45;color:var(--fe-text);overflow-wrap:anywhere;white-space:pre-wrap}.fe-inspector__comment-form{display:flex;gap:6px;align-items:center}.fe-inspector__comment-input{flex:1 1 auto;min-width:0;border:1px solid var(--fe-border);border-radius:8px;background:var(--fe-bg);color:var(--fe-text);font:inherit;font-size:12px;padding:6px 8px}.fe-inspector__comment-input:focus{outline:none;border-color:var(--fe-accent)}.fe-inspector__comment-input:disabled{opacity:.6}.fe-e2e-strip{display:flex;align-items:center;gap:8px;padding:4px 12px;font-size:12.5px;color:var(--fe-text-muted);border-bottom:1px solid var(--fe-border);background:var(--fe-bg-elev)}.fe-e2e-strip__icon{font-size:13px;line-height:1}.fe-e2e-strip__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-e2e-strip__btn{padding:2px 10px;font-size:12px}.fe-e2e-lock__form{display:flex;gap:8px;align-items:stretch;margin-top:12px;width:min(340px,100%)}.fe-e2e-lock__input{flex:1;min-width:0}.fe-e2e-form{display:flex;flex-direction:column;gap:10px}.fe-e2e-warn{border:1px solid var(--fe-danger);border-radius:var(--fe-radius-sm);padding:8px 10px;font-size:12.5px;color:var(--fe-text);background:color-mix(in srgb,var(--fe-danger) 8%,transparent)}.fe-e2e-warn strong{display:block;color:var(--fe-danger);margin-bottom:2px}.fe-e2e-warn p{margin:0;color:var(--fe-text-muted)}.fe-e2e-ack{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--fe-text);cursor:pointer}.fe-e2e-ack input{margin-top:2px;accent-color:var(--fe-primary)}.fe-e2e-optlink{margin-top:10px;padding:0;border:none;background:none;font:inherit;font-size:12.5px;color:var(--fe-primary);cursor:pointer;text-align:left}.fe-e2e-optlink:hover{text-decoration:underline}.fe:not(.fe--narrow) .fe-toolbar{flex-wrap:nowrap}.fe:not(.fe--narrow) .fe-toolbar__primary{flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow:hidden;position:relative}.fe-toolbar__measure{position:absolute;visibility:hidden;pointer-events:none;height:0;overflow:hidden;display:flex;gap:8px;white-space:nowrap}.fe-toolbar__measure .fe-btn{flex:none}.fe-thememode{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.fe-thememode__label{font-size:13px;font-weight:600;color:var(--fe-text-muted)}.fe-thememode__seg{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--fe-border);border-radius:var(--fe-radius-lg);background:var(--fe-bg-elev)}.fe-thememode__opt{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:calc(var(--fe-radius-lg) - 4px);background:transparent;color:var(--fe-text-muted);font:inherit;font-size:13px;cursor:pointer;transition:background .14s ease,color .14s ease}.fe-thememode__opt:hover{background:var(--fe-bg-hover);color:var(--fe-text)}.fe-thememode__opt.is-active{background:var(--fe-bg);color:var(--fe-text);box-shadow:var(--fe-shadow-sm)}.fe-thememode__opt .fe-ficon{width:15px;height:15px;flex:none}@media (max-width: 420px){.fe-thememode__seg{flex:1 1 100%}.fe-thememode__opt{flex:1;justify-content:center}}.filex-viewer-3d{width:100%;height:100%;min-height:480px;background:#1a1a1a;display:flex;align-items:center;justify-content:center}.filex-viewer-3d model-viewer{width:100%;height:100%;min-height:480px;background:#1a1a1a;display:block}.filex-viewer-fallback{text-align:center;color:#c8cdd6;padding:32px;max-width:480px}.filex-viewer-epub__nav{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:4px 8px;background:var(--fe-bg-elev, rgba(255, 255, 255, .9));border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.filex-viewer-epub{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);position:relative}.filex-viewer-epub__bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-epub__fs{display:inline-block;min-width:40px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-epub__main{flex:1;min-height:0;display:flex}.filex-viewer-epub__rendition{flex:1;min-height:0}.filex-viewer-epub__toc{width:260px;border-right:1px solid var(--fe-border, #e2e6ed);overflow-y:auto;padding:12px 0;background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-epub__toc ul{list-style:none;margin:0;padding:0}.filex-viewer-epub__toc-link{display:block;width:100%;text-align:left;background:transparent;border:0;padding:6px 14px;font:inherit;color:inherit;cursor:pointer}.filex-viewer-epub__toc-link:hover{background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-epub__toc-link.is-child{padding-left:28px;color:var(--fe-text-muted, #5a6475);font-size:12px}.filex-viewer-epub__loading{position:absolute;inset:auto 0 0 0;text-align:center;padding:6px;background:#0000000d;font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-btn:disabled{opacity:.5;cursor:not-allowed}.filex-viewer-mermaid{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-mermaid__bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-mermaid__zoom{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-mermaid__pane{flex:1;overflow:hidden;position:relative;cursor:grab;background:var(--fe-bg-elev, #f7f8fa);touch-action:none}.filex-viewer-mermaid__pane:active{cursor:grabbing}.filex-viewer-mermaid__surface{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transform-origin:center center;transition:transform .05s linear;-webkit-user-select:none;user-select:none}.filex-viewer-mermaid__surface svg{max-width:90%;max-height:90%}.filex-viewer-fallback{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475);width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.filex-viewer-drawio{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-drawio__bar{display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-drawio__status[data-state=error]{color:var(--fe-danger, #dc2626)}.filex-viewer-drawio__status[data-state=saved]{color:#059669}.filex-viewer-drawio__readonly{font-style:italic;margin-left:auto}.filex-viewer-drawio__frame{flex:1;width:100%;border:0;background:#fafafa;min-height:0}.filex-viewer-tiff__pager{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--fe-bg-elev, rgba(255, 255, 255, .9));border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.filex-viewer-tiff__pages{font-size:12px;font-variant-numeric:tabular-nums}.filex-viewer-tiff{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-tiff__bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-tiff__pages{min-width:110px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-tiff__zoom{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-tiff__pane{flex:1;overflow:auto;padding:16px;background:#2a2d33;display:flex;align-items:flex-start;justify-content:flex-start}.filex-viewer-tiff__pane canvas{background:#fff;box-shadow:0 4px 16px #0000004d}.filex-viewer-psd{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff)}.filex-viewer-psd__bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:13px}.filex-viewer-psd__dim{font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-psd__zoom{min-width:50px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-psd__main{flex:1;display:flex;min-height:0}.filex-viewer-psd__layers{width:240px;border-right:1px solid var(--fe-border, #e2e6ed);overflow-y:auto;padding:8px 0;background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-psd__layers ul{list-style:none;margin:0;padding:0}.filex-viewer-psd__layers li{display:flex;align-items:center;gap:6px;padding:4px 12px;font-size:12px}.filex-viewer-psd__layer-vis{width:14px;text-align:center;color:var(--fe-text-muted, #5a6475)}.filex-viewer-psd__layer-vis[data-hidden="1"]{color:var(--fe-border-strong, #c7ced9)}.filex-viewer-psd__layer-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filex-viewer-psd__pane{flex:1;overflow:auto;padding:16px;background:#2a2d33;display:flex;align-items:flex-start;justify-content:flex-start}.filex-viewer-psd__pane canvas{background:#fff repeating-conic-gradient(#e0e0e0 0% 25%,transparent 0% 50%) 50% / 16px 16px;box-shadow:0 4px 16px #0000004d}.filex-viewer-fallback{text-align:center;padding:32px;color:#c8cdd6;margin:auto}.filex-viewer-btn.is-active{background:var(--fe-bg-selected, #dfe8ff);border-color:var(--fe-primary, #3b82f6)}.filex-viewer-ipynb{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-ipynb__bar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-ipynb__lang{font-family:var(--fe-font-mono, monospace);text-transform:uppercase;letter-spacing:.04em}.filex-viewer-ipynb__pane{flex:1;overflow:auto;padding:16px 24px}.filex-viewer-ipynb__cell{border:1px solid var(--fe-border, #e2e6ed);border-radius:6px;margin-bottom:16px;overflow:hidden}.filex-viewer-ipynb__cell[data-type=code]{background:var(--fe-bg-elev, #f7f8fa)}.filex-viewer-ipynb__exec{padding:4px 12px;font-family:var(--fe-font-mono, monospace);font-size:11px;color:var(--fe-text-muted, #5a6475);background:#0000000a}.filex-viewer-ipynb__src{margin:0;padding:12px;font-family:var(--fe-font-mono, monospace);font-size:12px;line-height:1.5;white-space:pre;overflow-x:auto}.filex-viewer-ipynb__outputs{border-top:1px dashed var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);padding:8px 12px}.filex-viewer-ipynb__out{margin:0;padding:4px 0;font-family:var(--fe-font-mono, monospace);font-size:12px;white-space:pre-wrap;word-wrap:break-word}.filex-viewer-ipynb__out[data-type=error]{color:var(--fe-danger, #dc2626)}.filex-viewer-ipynb__img{display:block;max-width:100%;height:auto;margin:8px 0}.filex-viewer-ipynb__html{font-size:13px}.filex-viewer-ipynb__md{padding:12px 16px;font-size:14px;line-height:1.6}.filex-viewer-ipynb__md-raw{padding:12px;margin:0;font-family:var(--fe-font-mono, monospace);font-size:12px;white-space:pre-wrap}.filex-viewer-csv{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-csv__bar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--fe-bg-elev, #f7f8fa);border-bottom:1px solid var(--fe-border, #e2e6ed);font-size:12px}.filex-viewer-csv__check{display:flex;align-items:center;gap:4px;font-size:12px}.filex-viewer-csv__select,.filex-viewer-csv__filter{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:inherit;padding:4px 8px;border-radius:4px;font:inherit;font-size:12px}.filex-viewer-csv__filter{flex:0 1 240px}.filex-viewer-spacer{flex:1}.filex-viewer-csv__count{font-size:11px;color:var(--fe-text-muted, #5a6475);font-variant-numeric:tabular-nums}.filex-viewer-csv__pane{flex:1;overflow:auto}.filex-viewer-csv__table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px;font-family:var(--fe-font-mono, monospace)}.filex-viewer-csv__table th,.filex-viewer-csv__table td{padding:4px 10px;border:1px solid var(--fe-border, #e2e6ed);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.filex-viewer-csv__table th{background:var(--fe-bg-elev, #f7f8fa);position:sticky;top:0;font-weight:600;text-align:left}.filex-viewer-csv__table tbody tr:nth-child(2n){background:var(--fe-bg-hover, rgba(0, 0, 0, .02))}.filex-viewer-csv__rownum{color:var(--fe-text-muted, #5a6475);text-align:right;background:var(--fe-bg-elev, #f7f8fa);font-variant-numeric:tabular-nums;position:sticky;left:0}.filex-viewer-csv__pager{display:flex;justify-content:center;align-items:center;gap:8px;padding:6px;background:var(--fe-bg-elev, #f7f8fa);border-top:1px solid var(--fe-border, #e2e6ed);font-size:12px}.filex-viewer-csv__pageno{font-variant-numeric:tabular-nums;font-size:12px}.filex-viewer-btn{border:1px solid var(--fe-border, #e2e6ed);background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27);padding:4px 10px;border-radius:4px;cursor:pointer;font:inherit;font-size:12px}.filex-viewer-btn:hover:not(:disabled){background:var(--fe-bg-hover, #edf0f5)}.filex-viewer-btn:disabled{opacity:.4;cursor:not-allowed}.filex-viewer-archive{display:flex;flex-direction:column;width:100%;height:100%;min-height:70vh;background:var(--fe-bg, #fff);color:var(--fe-text, #1a1e27)}.filex-viewer-archive__pane{flex:1;overflow:auto;padding:16px 20px}.filex-viewer-archive__summary{font-size:12px;color:var(--fe-text-muted, #5a6475);margin-bottom:12px;font-variant-numeric:tabular-nums}.filex-viewer-archive__table{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--fe-font-mono, monospace)}.filex-viewer-archive__table th,.filex-viewer-archive__table td{padding:6px 12px;border-bottom:1px solid var(--fe-border, #e2e6ed);text-align:left}.filex-viewer-archive__table th{background:var(--fe-bg-elev, #f7f8fa);font-weight:600;position:sticky;top:0}.filex-viewer-archive__size{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--fe-text-muted, #5a6475)}.filex-viewer-archive__icon{margin-right:6px}.filex-viewer-archive__table tr[data-dir="1"]{color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback{text-align:center;padding:32px;color:var(--fe-text-muted, #5a6475)}.filex-viewer-fallback__icon{font-size:48px;display:block;margin-bottom:12px}';let Tb=!1;function gN(){if(Tb||typeof document>"u")return;const e=document.createElement("style");e.setAttribute("data-filex",""),e.textContent=vN,document.head.appendChild(e),Tb=!0}function Db(e,t){const r={};return e.apiBase&&(r.apiBase=e.apiBase),e.endpoint&&(r.endpoint=e.endpoint),(e.locale==="tr"||e.locale==="en")&&(r.locale=e.locale),(e.theme==="light"||e.theme==="dark"||e.theme==="auto")&&(r.theme=e.theme),e.trashVisible!==void 0&&(r.trashVisible=e.trashVisible===!0||e.trashVisible==="true"||e.trashVisible===""),{...r,...t??{}}}const Mb=ek({inheritAttrs:!1,props:{config:{type:Object,default:null},apiBase:{type:String,default:""},endpoint:{type:String,default:""},locale:{type:String,default:""},theme:{type:String,default:""},trashVisible:{type:[Boolean,String],default:void 0}},emits:["share-created","file-opened","error","upload-progress","selection-change"],setup(e,{emit:t}){gN();const r=ae(Db({apiBase:e.apiBase,endpoint:e.endpoint,locale:e.locale,theme:e.theme,trashVisible:e.trashVisible},e.config));return Tt(()=>[e.config,e.apiBase,e.endpoint,e.locale,e.theme,e.trashVisible],()=>{r.value=Db({apiBase:e.apiBase,endpoint:e.endpoint,locale:e.locale,theme:e.theme,trashVisible:e.trashVisible},e.config)},{deep:!0}),()=>cg(mN,{config:r.value,onShareCreated:n=>t("share-created",n),onFileOpened:n=>t("file-opened",n),onError:n=>t("error",n),onUploadProgress:n=>t("upload-progress",n),onSelectionChange:n=>t("selection-change",n)})}},{shadowRoot:!1}),bN=Mb;typeof customElements<"u"&&!customElements.get("filex-explorer")&&customElements.define("filex-explorer",Mb);var _N=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Id(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Ob(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const r=e[t],n=typeof r;(n==="object"||n==="function")&&!Object.isFrozen(r)&&Ob(r)}),e}class Ib{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Rb(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function qi(e,...t){const r=Object.create(null);for(const n in e)r[n]=e[n];return t.forEach(function(n){for(const a in n)r[a]=n[a]}),r}const yN="</span>",Nb=e=>!!e.scope,xN=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const r=e.split(".");return[`${t}${r.shift()}`,...r.map((n,a)=>`${n}${"_".repeat(a+1)}`)].join(" ")}return`${t}${e}`};class wN{constructor(t,r){this.buffer="",this.classPrefix=r.classPrefix,t.walk(this)}addText(t){this.buffer+=Rb(t)}openNode(t){if(!Nb(t))return;const r=xN(t.scope,{prefix:this.classPrefix});this.span(r)}closeNode(t){Nb(t)&&(this.buffer+=yN)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}}const Fb=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class Rd{constructor(){this.rootNode=Fb(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const r=Fb({scope:t});this.add(r),this.stack.push(r)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,r){return typeof r=="string"?t.addText(r):r.children&&(t.openNode(r),r.children.forEach(n=>this._walk(t,n)),t.closeNode(r)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(r=>typeof r=="string")?t.children=[t.children.join("")]:t.children.forEach(r=>{Rd._collapse(r)}))}}class kN extends Rd{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,r){const n=t.root;r&&(n.scope=`language:${r}`),this.add(n)}toHTML(){return new wN(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Nl(e){return e?typeof e=="string"?e:e.source:null}function Lb(e){return To("(?=",e,")")}function EN(e){return To("(?:",e,")*")}function SN(e){return To("(?:",e,")?")}function To(...e){return e.map(r=>Nl(r)).join("")}function CN(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Nd(...e){return"("+(CN(e).capture?"":"?:")+e.map(n=>Nl(n)).join("|")+")"}function zb(e){return new RegExp(e.toString()+"|").exec("").length-1}function AN(e,t){const r=e&&e.exec(t);return r&&r.index===0}const TN=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Fd(e,{joinWith:t}){let r=0;return e.map(n=>{r+=1;const a=r;let i=Nl(n),o="";for(;i.length>0;){const s=TN.exec(i);if(!s){o+=i;break}o+=i.substring(0,s.index),i=i.substring(s.index+s[0].length),s[0][0]==="\\"&&s[1]?o+="\\"+String(Number(s[1])+a):(o+=s[0],s[0]==="("&&r++)}return o}).map(n=>`(${n})`).join(t)}const DN=/\b\B/,Pb="[a-zA-Z]\\w*",Ld="[a-zA-Z_]\\w*",Bb="\\b\\d+(\\.\\d+)?",$b="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ub="\\b(0b[01]+)",MN="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",ON=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=To(t,/.*\b/,e.binary,/\b.*/)),qi({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(r,n)=>{r.index!==0&&n.ignoreMatch()}},e)},Fl={begin:"\\\\[\\s\\S]",relevance:0},IN={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Fl]},RN={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Fl]},NN={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},S0=function(e,t,r={}){const n=qi({scope:"comment",begin:e,end:t,contains:[]},r);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const a=Nd("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:To(/[ ]+/,"(",a,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},FN=S0("//","$"),LN=S0("/\\*","\\*/"),zN=S0("#","$"),PN={scope:"number",begin:Bb,relevance:0},BN={scope:"number",begin:$b,relevance:0},$N={scope:"number",begin:Ub,relevance:0},UN={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Fl,{begin:/\[/,end:/\]/,relevance:0,contains:[Fl]}]},HN={scope:"title",begin:Pb,relevance:0},qN={scope:"title",begin:Ld,relevance:0},GN={begin:"\\.\\s*"+Ld,relevance:0};var C0=Object.freeze({__proto__:null,APOS_STRING_MODE:IN,BACKSLASH_ESCAPE:Fl,BINARY_NUMBER_MODE:$N,BINARY_NUMBER_RE:Ub,COMMENT:S0,C_BLOCK_COMMENT_MODE:LN,C_LINE_COMMENT_MODE:FN,C_NUMBER_MODE:BN,C_NUMBER_RE:$b,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(t,r)=>{r.data._beginMatch=t[1]},"on:end":(t,r)=>{r.data._beginMatch!==t[1]&&r.ignoreMatch()}})},HASH_COMMENT_MODE:zN,IDENT_RE:Pb,MATCH_NOTHING_RE:DN,METHOD_GUARD:GN,NUMBER_MODE:PN,NUMBER_RE:Bb,PHRASAL_WORDS_MODE:NN,QUOTE_STRING_MODE:RN,REGEXP_MODE:UN,RE_STARTERS_RE:MN,SHEBANG:ON,TITLE_MODE:HN,UNDERSCORE_IDENT_RE:Ld,UNDERSCORE_TITLE_MODE:qN});function KN(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function VN(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function jN(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=KN,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function WN(e,t){Array.isArray(e.illegal)&&(e.illegal=Nd(...e.illegal))}function YN(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function ZN(e,t){e.relevance===void 0&&(e.relevance=1)}const XN=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const r=Object.assign({},e);Object.keys(e).forEach(n=>{delete e[n]}),e.keywords=r.keywords,e.begin=To(r.beforeMatch,Lb(r.begin)),e.starts={relevance:0,contains:[Object.assign(r,{endsParent:!0})]},e.relevance=0,delete r.beforeMatch},JN=["of","and","for","in","not","or","if","then","parent","list","value"],QN="keyword";function Hb(e,t,r=QN){const n=Object.create(null);return typeof e=="string"?a(r,e.split(" ")):Array.isArray(e)?a(r,e):Object.keys(e).forEach(function(i){Object.assign(n,Hb(e[i],t,i))}),n;function a(i,o){t&&(o=o.map(s=>s.toLowerCase())),o.forEach(function(s){const l=s.split("|");n[l[0]]=[i,eF(l[0],l[1])]})}}function eF(e,t){return t?Number(t):tF(e)?0:1}function tF(e){return JN.includes(e.toLowerCase())}const qb={},Do=e=>{console.error(e)},Gb=(e,...t)=>{console.log(`WARN: ${e}`,...t)},us=(e,t)=>{qb[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),qb[`${e}/${t}`]=!0)},A0=new Error;function Kb(e,t,{key:r}){let n=0;const a=e[r],i={},o={};for(let s=1;s<=t.length;s++)o[s+n]=a[s],i[s+n]=!0,n+=zb(t[s-1]);e[r]=o,e[r]._emit=i,e[r]._multi=!0}function rF(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Do("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),A0;if(typeof e.beginScope!="object"||e.beginScope===null)throw Do("beginScope must be object"),A0;Kb(e,e.begin,{key:"beginScope"}),e.begin=Fd(e.begin,{joinWith:""})}}function nF(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Do("skip, excludeEnd, returnEnd not compatible with endScope: {}"),A0;if(typeof e.endScope!="object"||e.endScope===null)throw Do("endScope must be object"),A0;Kb(e,e.end,{key:"endScope"}),e.end=Fd(e.end,{joinWith:""})}}function aF(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function iF(e){aF(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),rF(e),nF(e)}function oF(e){function t(o,s){return new RegExp(Nl(o),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(s?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(s,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,s]),this.matchAt+=zb(s)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const s=this.regexes.map(l=>l[1]);this.matcherRe=t(Fd(s,{joinWith:"|"}),!0),this.lastIndex=0}exec(s){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(s);if(!l)return null;const u=l.findIndex((f,d)=>d>0&&f!==void 0),c=this.matchIndexes[u];return l.splice(0,u),Object.assign(l,c)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(s){if(this.multiRegexes[s])return this.multiRegexes[s];const l=new r;return this.rules.slice(s).forEach(([u,c])=>l.addRule(u,c)),l.compile(),this.multiRegexes[s]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(s,l){this.rules.push([s,l]),l.type==="begin"&&this.count++}exec(s){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let u=l.exec(s);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const c=this.getMatcher(0);c.lastIndex=this.lastIndex+1,u=c.exec(s)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function a(o){const s=new n;return o.contains.forEach(l=>s.addRule(l.begin,{rule:l,type:"begin"})),o.terminatorEnd&&s.addRule(o.terminatorEnd,{type:"end"}),o.illegal&&s.addRule(o.illegal,{type:"illegal"}),s}function i(o,s){const l=o;if(o.isCompiled)return l;[VN,YN,iF,XN].forEach(c=>c(o,s)),e.compilerExtensions.forEach(c=>c(o,s)),o.__beforeBegin=null,[jN,WN,ZN].forEach(c=>c(o,s)),o.isCompiled=!0;let u=null;return typeof o.keywords=="object"&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),u=o.keywords.$pattern,delete o.keywords.$pattern),u=u||/\w+/,o.keywords&&(o.keywords=Hb(o.keywords,e.case_insensitive)),l.keywordPatternRe=t(u,!0),s&&(o.begin||(o.begin=/\B|\b/),l.beginRe=t(l.begin),!o.end&&!o.endsWithParent&&(o.end=/\B|\b/),o.end&&(l.endRe=t(l.end)),l.terminatorEnd=Nl(l.end)||"",o.endsWithParent&&s.terminatorEnd&&(l.terminatorEnd+=(o.end?"|":"")+s.terminatorEnd)),o.illegal&&(l.illegalRe=t(o.illegal)),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map(function(c){return sF(c==="self"?o:c)})),o.contains.forEach(function(c){i(c,l)}),o.starts&&i(o.starts,s),l.matcher=a(l),l}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=qi(e.classNameAliases||{}),i(e)}function Vb(e){return e?e.endsWithParent||Vb(e.starts):!1}function sF(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return qi(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Vb(e)?qi(e,{starts:e.starts?qi(e.starts):null}):Object.isFrozen(e)?qi(e):e}var lF="11.11.1";class uF extends Error{constructor(t,r){super(t),this.name="HTMLInjectionError",this.html=r}}const zd=Rb,jb=qi,Wb=Symbol("nomatch"),cF=7,Yb=function(e){const t=Object.create(null),r=Object.create(null),n=[];let a=!0;const i="Could not find the language '{}', did you forget to load/include a language module?",o={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:kN};function l($){return s.noHighlightRe.test($)}function u($){let Y=$.className+" ";Y+=$.parentNode?$.parentNode.className:"";const re=s.languageDetectRe.exec(Y);if(re){const H=w(re[1]);return H||(Gb(i.replace("{}",re[1])),Gb("Falling back to no-highlight mode for this block.",$)),H?re[1]:"no-highlight"}return Y.split(/\s+/).find(H=>l(H)||w(H))}function c($,Y,re){let H="",U="";typeof Y=="object"?(H=$,re=Y.ignoreIllegals,U=Y.language):(us("10.7.0","highlight(lang, code, ...args) has been deprecated."),us("10.7.0",`Please use highlight(code, options) instead.
25
25
  https://github.com/highlightjs/highlight.js/issues/2277`),U=$,H=Y),re===void 0&&(re=!0);const N={code:H,language:U};j("before:highlight",N);const V=N.result?N.result:f(N.language,N.code,re);return V.code=N.code,j("after:highlight",V),V}function f($,Y,re,H){const U=Object.create(null);function N(Me,Pe){return Me.keywords[Pe]}function V(){if(!le.keywords){ie.addText(se);return}let Me=0;le.keywordPatternRe.lastIndex=0;let Pe=le.keywordPatternRe.exec(se),qe="";for(;Pe;){qe+=se.substring(Me,Pe.index);const it=we.case_insensitive?Pe[0].toLowerCase():Pe[0],_t=N(le,it);if(_t){const[J,he]=_t;if(ie.addText(qe),qe="",U[it]=(U[it]||0)+1,U[it]<=cF&&(Ie+=he),J.startsWith("_"))qe+=Pe[0];else{const pe=we.classNameAliases[J]||J;ke(Pe[0],pe)}}else qe+=Pe[0];Me=le.keywordPatternRe.lastIndex,Pe=le.keywordPatternRe.exec(se)}qe+=se.substring(Me),ie.addText(qe)}function W(){if(se==="")return;let Me=null;if(typeof le.subLanguage=="string"){if(!t[le.subLanguage]){ie.addText(se);return}Me=f(le.subLanguage,se,!0,Te[le.subLanguage]),Te[le.subLanguage]=Me._top}else Me=p(se,le.subLanguage.length?le.subLanguage:null);le.relevance>0&&(Ie+=Me.relevance),ie.__addSublanguage(Me._emitter,Me.language)}function ge(){le.subLanguage!=null?W():V(),se=""}function ke(Me,Pe){Me!==""&&(ie.startScope(Pe),ie.addText(Me),ie.endScope())}function Oe(Me,Pe){let qe=1;const it=Pe.length-1;for(;qe<=it;){if(!Me._emit[qe]){qe++;continue}const _t=we.classNameAliases[Me[qe]]||Me[qe],J=Pe[qe];_t?ke(J,_t):(se=J,V(),se=""),qe++}}function ze(Me,Pe){return Me.scope&&typeof Me.scope=="string"&&ie.openNode(we.classNameAliases[Me.scope]||Me.scope),Me.beginScope&&(Me.beginScope._wrap?(ke(se,we.classNameAliases[Me.beginScope._wrap]||Me.beginScope._wrap),se=""):Me.beginScope._multi&&(Oe(Me.beginScope,Pe),se="")),le=Object.create(Me,{parent:{value:le}}),le}function de(Me,Pe,qe){let it=AN(Me.endRe,qe);if(it){if(Me["on:end"]){const _t=new Ib(Me);Me["on:end"](Pe,_t),_t.isMatchIgnored&&(it=!1)}if(it){for(;Me.endsParent&&Me.parent;)Me=Me.parent;return Me}}if(Me.endsWithParent)return de(Me.parent,Pe,qe)}function De(Me){return le.matcher.regexIndex===0?(se+=Me[0],1):(Ze=!0,0)}function Ne(Me){const Pe=Me[0],qe=Me.rule,it=new Ib(qe),_t=[qe.__beforeBegin,qe["on:begin"]];for(const J of _t)if(J&&(J(Me,it),it.isMatchIgnored))return De(Pe);return qe.skip?se+=Pe:(qe.excludeBegin&&(se+=Pe),ge(),!qe.returnBegin&&!qe.excludeBegin&&(se=Pe)),ze(qe,Me),qe.returnBegin?0:Pe.length}function Ue(Me){const Pe=Me[0],qe=Y.substring(Me.index),it=de(le,Me,qe);if(!it)return Wb;const _t=le;le.endScope&&le.endScope._wrap?(ge(),ke(Pe,le.endScope._wrap)):le.endScope&&le.endScope._multi?(ge(),Oe(le.endScope,Me)):_t.skip?se+=Pe:(_t.returnEnd||_t.excludeEnd||(se+=Pe),ge(),_t.excludeEnd&&(se=Pe));do le.scope&&ie.closeNode(),!le.skip&&!le.subLanguage&&(Ie+=le.relevance),le=le.parent;while(le!==it.parent);return it.starts&&ze(it.starts,Me),_t.returnEnd?0:Pe.length}function ee(){const Me=[];for(let Pe=le;Pe!==we;Pe=Pe.parent)Pe.scope&&Me.unshift(Pe.scope);Me.forEach(Pe=>ie.openNode(Pe))}let oe={};function ye(Me,Pe){const qe=Pe&&Pe[0];if(se+=Me,qe==null)return ge(),0;if(oe.type==="begin"&&Pe.type==="end"&&oe.index===Pe.index&&qe===""){if(se+=Y.slice(Pe.index,Pe.index+1),!a){const it=new Error(`0 width match regex (${$})`);throw it.languageName=$,it.badRule=oe.rule,it}return 1}if(oe=Pe,Pe.type==="begin")return Ne(Pe);if(Pe.type==="illegal"&&!re){const it=new Error('Illegal lexeme "'+qe+'" for mode "'+(le.scope||"<unnamed>")+'"');throw it.mode=le,it}else if(Pe.type==="end"){const it=Ue(Pe);if(it!==Wb)return it}if(Pe.type==="illegal"&&qe==="")return se+=`
26
26
  `,1;if(je>1e5&&je>Pe.index*3)throw new Error("potential infinite loop, way more iterations than matches");return se+=qe,qe.length}const we=w($);if(!we)throw Do(i.replace("{}",$)),new Error('Unknown language: "'+$+'"');const ve=oF(we);let be="",le=H||ve;const Te={},ie=new s.__emitter(s);ee();let se="",Ie=0,$e=0,je=0,Ze=!1;try{if(we.__emitTokens)we.__emitTokens(Y,ie);else{for(le.matcher.considerAll();;){je++,Ze?Ze=!1:le.matcher.considerAll(),le.matcher.lastIndex=$e;const Me=le.matcher.exec(Y);if(!Me)break;const Pe=Y.substring($e,Me.index),qe=ye(Pe,Me);$e=Me.index+qe}ye(Y.substring($e))}return ie.finalize(),be=ie.toHTML(),{language:$,value:be,relevance:Ie,illegal:!1,_emitter:ie,_top:le}}catch(Me){if(Me.message&&Me.message.includes("Illegal"))return{language:$,value:zd(Y),illegal:!0,relevance:0,_illegalBy:{message:Me.message,index:$e,context:Y.slice($e-100,$e+100),mode:Me.mode,resultSoFar:be},_emitter:ie};if(a)return{language:$,value:zd(Y),illegal:!1,relevance:0,errorRaised:Me,_emitter:ie,_top:le};throw Me}}function d($){const Y={value:zd($),illegal:!1,relevance:0,_top:o,_emitter:new s.__emitter(s)};return Y._emitter.addText($),Y}function p($,Y){Y=Y||s.languages||Object.keys(t);const re=d($),H=Y.filter(w).filter(S).map(ge=>f(ge,$,!1));H.unshift(re);const U=H.sort((ge,ke)=>{if(ge.relevance!==ke.relevance)return ke.relevance-ge.relevance;if(ge.language&&ke.language){if(w(ge.language).supersetOf===ke.language)return 1;if(w(ke.language).supersetOf===ge.language)return-1}return 0}),[N,V]=U,W=N;return W.secondBest=V,W}function h($,Y,re){const H=Y&&r[Y]||re;$.classList.add("hljs"),$.classList.add(`language-${H}`)}function m($){let Y=null;const re=u($);if(l(re))return;if(j("before:highlightElement",{el:$,language:re}),$.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",$);return}if($.children.length>0&&(s.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn($)),s.throwUnescapedHTML))throw new uF("One of your code blocks includes unescaped HTML.",$.innerHTML);Y=$;const H=Y.textContent,U=re?c(H,{language:re,ignoreIllegals:!0}):p(H);$.innerHTML=U.value,$.dataset.highlighted="yes",h($,re,U.language),$.result={language:U.language,re:U.relevance,relevance:U.relevance},U.secondBest&&($.secondBest={language:U.secondBest.language,relevance:U.secondBest.relevance}),j("after:highlightElement",{el:$,result:U,text:H})}function b($){s=jb(s,$)}const g=()=>{_(),us("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function v(){_(),us("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let y=!1;function _(){function $(){_()}if(document.readyState==="loading"){y||window.addEventListener("DOMContentLoaded",$,!1),y=!0;return}document.querySelectorAll(s.cssSelector).forEach(m)}function k($,Y){let re=null;try{re=Y(e)}catch(H){if(Do("Language definition for '{}' could not be registered.".replace("{}",$)),a)Do(H);else throw H;re=o}re.name||(re.name=$),t[$]=re,re.rawDefinition=Y.bind(null,e),re.aliases&&x(re.aliases,{languageName:$})}function T($){delete t[$];for(const Y of Object.keys(r))r[Y]===$&&delete r[Y]}function E(){return Object.keys(t)}function w($){return $=($||"").toLowerCase(),t[$]||t[r[$]]}function x($,{languageName:Y}){typeof $=="string"&&($=[$]),$.forEach(re=>{r[re.toLowerCase()]=Y})}function S($){const Y=w($);return Y&&!Y.disableAutodetect}function M($){$["before:highlightBlock"]&&!$["before:highlightElement"]&&($["before:highlightElement"]=Y=>{$["before:highlightBlock"](Object.assign({block:Y.el},Y))}),$["after:highlightBlock"]&&!$["after:highlightElement"]&&($["after:highlightElement"]=Y=>{$["after:highlightBlock"](Object.assign({block:Y.el},Y))})}function P($){M($),n.push($)}function F($){const Y=n.indexOf($);Y!==-1&&n.splice(Y,1)}function j($,Y){const re=$;n.forEach(function(H){H[re]&&H[re](Y)})}function te($){return us("10.7.0","highlightBlock will be removed entirely in v12.0"),us("10.7.0","Please use highlightElement now."),m($)}Object.assign(e,{highlight:c,highlightAuto:p,highlightAll:_,highlightElement:m,highlightBlock:te,configure:b,initHighlighting:g,initHighlightingOnLoad:v,registerLanguage:k,unregisterLanguage:T,listLanguages:E,getLanguage:w,registerAliases:x,autoDetection:S,inherit:jb,addPlugin:P,removePlugin:F}),e.debugMode=function(){a=!1},e.safeMode=function(){a=!0},e.versionString=lF,e.regex={concat:To,lookahead:Lb,either:Nd,optional:SN,anyNumberOfTimes:EN};for(const $ in C0)typeof C0[$]=="object"&&Ob(C0[$]);return Object.assign(e,C0),e},cs=Yb({});cs.newInstance=()=>Yb({});var fF=cs;cs.HighlightJS=cs,cs.default=cs;var Pd,Zb;function dF(){if(Zb)return Pd;Zb=1;function e(t){const r=t.regex,n=r.concat(/[\p{L}_]/u,r.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a=/[\p{L}0-9._:-]+/u,i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},o={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=t.inherit(o,{begin:/\(/,end:/\)/}),l=t.inherit(t.APOS_STRING_MODE,{className:"string"}),u=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),c={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:a,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[o,u,l,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[o,s,u,l]}]}]},t.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},i,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[u]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[c],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[c],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:r.concat(/</,r.lookahead(r.concat(n,r.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:c}]},{className:"tag",begin:r.concat(/<\//,r.lookahead(r.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}return Pd=e,Pd}var Bd,Xb;function pF(){if(Xb)return Bd;Xb=1;function e(t){const r=t.regex,n={},a={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:r.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},o=t.inherit(t.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},l={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,n,i]};i.contains.push(l);const u={match:/\\"/},c={className:"string",begin:/'/,end:/'/},f={match:/\\'/},d={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,n]},p=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],h=t.SHEBANG({binary:`(${p.join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},b=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],g=["true","false"],v={match:/(\/[a-z._-]+)+/},y=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],_=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],k=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],T=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:b,literal:g,built_in:[...y,..._,"set","shopt",...k,...T]},contains:[h,t.SHEBANG(),m,d,o,s,v,l,u,c,f,n]}}return Bd=e,Bd}var $d,Jb;function hF(){if(Jb)return $d;Jb=1;function e(t){const r=t.regex,n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",s="("+a+"|"+r.optional(i)+"[a-zA-Z_]\\w*"+r.optional("<[^<>]+>")+")",l={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},c={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},f={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},d={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(c,{className:"string"}),{className:"string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:r.optional(i)+t.IDENT_RE,relevance:0},h=r.optional(i)+t.IDENT_RE+"\\s*\\(",g={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},v=[d,l,n,t.C_BLOCK_COMMENT_MODE,f,c],y={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:g,contains:v.concat([{begin:/\(/,end:/\)/,keywords:g,contains:v.concat(["self"]),relevance:0}]),relevance:0},_={begin:"("+s+"[\\*&\\s]+)+"+h,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:g,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:g,relevance:0},{begin:h,returnBegin:!0,contains:[t.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,c,f,l,{begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:["self",n,t.C_BLOCK_COMMENT_MODE,c,f,l]}]},l,n,t.C_BLOCK_COMMENT_MODE,d]};return{name:"C",aliases:["h"],keywords:g,disableAutodetect:!0,illegal:"</",contains:[].concat(y,_,v,[d,{begin:t.IDENT_RE+"::",keywords:g},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{preprocessor:d,strings:c,keywords:g}}}return $d=e,$d}var Ud,Qb;function mF(){if(Qb)return Ud;Qb=1;function e(t){const r=t.regex,n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",s="(?!struct)("+a+"|"+r.optional(i)+"[a-zA-Z_]\\w*"+r.optional("<[^<>]+>")+")",l={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},c={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},f={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},d={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(c,{className:"string"}),{className:"string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:r.optional(i)+t.IDENT_RE,relevance:0},h=r.optional(i)+t.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],b=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],g=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],v=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],k={type:b,keyword:m,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:g},T={className:"function.dispatch",relevance:0,keywords:{_hint:v},begin:r.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,t.IDENT_RE,r.lookahead(/(<[^<>]+>|)\s*\(/))},E=[T,d,l,n,t.C_BLOCK_COMMENT_MODE,f,c],w={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:k,contains:E.concat([{begin:/\(/,end:/\)/,keywords:k,contains:E.concat(["self"]),relevance:0}]),relevance:0},x={className:"function",begin:"("+s+"[\\*&\\s]+)+"+h,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:k,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:k,relevance:0},{begin:h,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[c,f]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,c,f,l,{begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:["self",n,t.C_BLOCK_COMMENT_MODE,c,f,l]}]},l,n,t.C_BLOCK_COMMENT_MODE,d]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:k,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(w,x,T,E,[d,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:k,contains:["self",l]},{begin:t.IDENT_RE+"::",keywords:k},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}return Ud=e,Ud}var Hd,e2;function vF(){if(e2)return Hd;e2=1;function e(t){const r=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],a=["default","false","null","true"],i=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],o=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],s={keyword:i.concat(o),built_in:r,literal:a},l=t.inherit(t.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),u={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},c={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},f={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},d=t.inherit(f,{illegal:/\n/}),p={className:"subst",begin:/\{/,end:/\}/,keywords:s},h=t.inherit(p,{illegal:/\n/}),m={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},t.BACKSLASH_ESCAPE,h]},b={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]},g=t.inherit(b,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]});p.contains=[b,m,f,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,u,t.C_BLOCK_COMMENT_MODE],h.contains=[g,m,d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,u,t.inherit(t.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const v={variants:[c,b,m,f,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},y={begin:"<",end:">",contains:[{beginKeywords:"in out"},l]},_=t.IDENT_RE+"(<"+t.IDENT_RE+"(\\s*,\\s*"+t.IDENT_RE+")*>)?(\\[\\])?",k={begin:"@"+t.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[t.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},v,u,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},l,y,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,y,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[t.TITLE_MODE,y],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[v,u,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},k]}}return Hd=e,Hd}var qd,t2;function gF(){if(t2)return qd;t2=1;const e=u=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:u.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[u.APOS_STRING_MODE,u.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:u.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),t=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],r=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],n=[...t,...r],a=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),s=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function l(u){const c=u.regex,f=e(u),d={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},p="and or not only",h=/@-?\w[\w]*(-\w+)*/,m="[a-zA-Z-][a-zA-Z0-9_-]*",b=[u.APOS_STRING_MODE,u.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[f.BLOCK_COMMENT,d,f.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+m,relevance:0},f.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+i.join("|")+")"},{begin:":(:)?("+o.join("|")+")"}]},f.CSS_VARIABLE,{className:"attribute",begin:"\\b("+s.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[f.BLOCK_COMMENT,f.HEXCOLOR,f.IMPORTANT,f.CSS_NUMBER_MODE,...b,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...b,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},f.FUNCTION_DISPATCH]},{begin:c.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:h},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:p,attribute:a.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...b,f.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+n.join("|")+")\\b"}]}}return qd=l,qd}var Gd,r2;function bF(){if(r2)return Gd;r2=1;function e(t){const r=t.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},a={begin:"^[-\\*]{3,}",end:"$"},i={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},o={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},l=/[A-Za-z][A-Za-z0-9+.-]*/,u={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:r.concat(/\[.+?\]\(/,l,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},c={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},f={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},d=t.inherit(c,{contains:[]}),p=t.inherit(f,{contains:[]});c.contains.push(p),f.contains.push(d);let h=[n,u];return[c,f,d,p].forEach(v=>{v.contains=v.contains.concat(h)}),h=h.concat(c,f),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:h},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:h}]}]},n,o,c,f,{className:"quote",begin:"^>\\s+",contains:h,end:"$"},i,a,u,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}return Gd=e,Gd}var Kd,n2;function _F(){if(n2)return Kd;n2=1;function e(t){const r=t.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:r.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:r.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}return Kd=e,Kd}var Vd,a2;function yF(){if(a2)return Vd;a2=1;function e(t){const r=t.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=r.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=r.concat(a,/(::\w+)*/),s={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},l={className:"doctag",begin:"@[A-Za-z]+"},u={begin:"#<",end:">"},c=[t.COMMENT("#","$",{contains:[l]}),t.COMMENT("^=begin","^=end",{contains:[l],relevance:10}),t.COMMENT("^__END__",t.MATCH_NOTHING_RE)],f={className:"subst",begin:/#\{/,end:/\}/,keywords:s},d={className:"string",contains:[t.BACKSLASH_ESCAPE,f],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:r.concat(/<<[-~]?'?/,r.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[t.BACKSLASH_ESCAPE,f]})]}]},p="[1-9](_?[0-9])*|0",h="[0-9](_?[0-9])*",m={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${h}))?([eE][+-]?(${h})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},E=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:s},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[b]},{begin:t.IDENT_RE+"::"},{className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[d,{begin:n}],relevance:0},m,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+t.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[t.BACKSLASH_ESCAPE,f],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(u,c),relevance:0}].concat(u,c);f.contains=E,b.contains=E;const M=[{begin:/^\s*=>/,starts:{end:"$",contains:E}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:s,contains:E}}];return c.unshift(u),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[t.SHEBANG({binary:"ruby"})].concat(M).concat(c).concat(E)}}return Vd=e,Vd}var jd,i2;function xF(){if(i2)return jd;i2=1;function e(t){const o={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:o,illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"string",variants:[t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[t.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:o,illegal:/["']/}]}]}}return jd=e,jd}var Wd,o2;function wF(){if(o2)return Wd;o2=1;function e(t){const r=t.regex,n=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[t.HASH_COMMENT_MODE,t.QUOTE_STRING_MODE,t.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:r.concat(n,r.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}return Wd=e,Wd}var Yd,s2;function kF(){if(s2)return Yd;s2=1;function e(t){const r=t.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:t.NUMBER_RE}]},a=t.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},o={className:"literal",begin:/\bon|off|true|false|yes|no\b/},s={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},l={begin:/\[/,end:/\]/,contains:[a,o,i,s,n,"self"],relevance:0},u=/[A-Za-z0-9_-]+/,c=/"(\\"|[^"])*"/,f=/'[^']*'/,d=r.either(u,c,f),p=r.concat(d,"(\\s*\\.\\s*",d,")*",r.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[a,l,o,i,s,n]}}]}}return Yd=e,Yd}var Zd,l2;function EF(){if(l2)return Zd;l2=1;var e="[0-9](_*[0-9])*",t=`\\.(${e})`,r="[0-9a-fA-F](_*[0-9a-fA-F])*",n={className:"number",variants:[{begin:`(\\b(${e})((${t})|\\.)?|(${t}))[eE][+-]?(${e})[fFdD]?\\b`},{begin:`\\b(${e})((${t})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${t})[fFdD]?\\b`},{begin:`\\b(${e})[fFdD]\\b`},{begin:`\\b0[xX]((${r})\\.?|(${r})?\\.(${r}))[pP][+-]?(${e})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${r})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function a(o,s,l){return l===-1?"":o.replace(s,u=>a(o,s,l-1))}function i(o){const s=o.regex,l="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",u=l+a("(?:<"+l+"~~~(?:\\s*,\\s*"+l+"~~~)*>)?",/~~~/g,2),h={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},m={className:"meta",begin:"@"+l,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},b={className:"params",begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[o.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:h,illegal:/<\/|#/,contains:[o.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},o.C_LINE_COMMENT_MODE,o.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[o.BACKSLASH_ESCAPE]},o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,l],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[s.concat(/(?!else)/,l),/\s+/,l,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,l],className:{1:"keyword",3:"title.class"},contains:[b,o.C_LINE_COMMENT_MODE,o.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+u+"\\s+)",o.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:h,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[m,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,n,o.C_BLOCK_COMMENT_MODE]},o.C_LINE_COMMENT_MODE,o.C_BLOCK_COMMENT_MODE]},n,m]}}return Zd=i,Zd}var Xd,u2;function SF(){if(u2)return Xd;u2=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],r=["true","false","null","undefined","NaN","Infinity"],n=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],a=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],i=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],s=[].concat(i,n,a);function l(u){const c=u.regex,f=(ze,{after:de})=>{const De="</"+ze[0].slice(1);return ze.input.indexOf(De,de)!==-1},d=e,p={begin:"<>",end:"</>"},h=/<[A-Za-z0-9\\._:-]+\s*\/>/,m={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ze,de)=>{const De=ze[0].length+ze.index,Ne=ze.input[De];if(Ne==="<"||Ne===","){de.ignoreMatch();return}Ne===">"&&(f(ze,{after:De})||de.ignoreMatch());let Ue;const ee=ze.input.substring(De);if(Ue=ee.match(/^\s*=/)){de.ignoreMatch();return}if((Ue=ee.match(/^\s+extends\s+/))&&Ue.index===0){de.ignoreMatch();return}}},b={$pattern:e,keyword:t,literal:r,built_in:s,"variable.language":o},g="[0-9](_?[0-9])*",v=`\\.(${g})`,y="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",_={className:"number",variants:[{begin:`(\\b(${y})((${v})|\\.)?|(${v}))[eE][+-]?(${g})\\b`},{begin:`\\b(${y})\\b((${v})\\b|\\.)?|(${v})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},k={className:"subst",begin:"\\$\\{",end:"\\}",keywords:b,contains:[]},T={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[u.BACKSLASH_ESCAPE,k],subLanguage:"xml"}},E={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[u.BACKSLASH_ESCAPE,k],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[u.BACKSLASH_ESCAPE,k],subLanguage:"graphql"}},x={className:"string",begin:"`",end:"`",contains:[u.BACKSLASH_ESCAPE,k]},M={className:"comment",variants:[u.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:d+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),u.C_BLOCK_COMMENT_MODE,u.C_LINE_COMMENT_MODE]},P=[u.APOS_STRING_MODE,u.QUOTE_STRING_MODE,T,E,w,x,{match:/\$\d+/},_];k.contains=P.concat({begin:/\{/,end:/\}/,keywords:b,contains:["self"].concat(P)});const F=[].concat(M,k.contains),j=F.concat([{begin:/(\s*)\(/,end:/\)/,keywords:b,contains:["self"].concat(F)}]),te={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:b,contains:j},$={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,c.concat(d,"(",c.concat(/\./,d),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,d],scope:{1:"keyword",3:"title.class"}}]},Y={relevance:0,match:c.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...n,...a]}},re={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},H={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[te],illegal:/%/},U={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function N(ze){return c.concat("(?!",ze.join("|"),")")}const V={match:c.concat(/\b/,N([...i,"super","import"].map(ze=>`${ze}\\s*\\(`)),d,c.lookahead(/\s*\(/)),className:"title.function",relevance:0},W={begin:c.concat(/\./,c.lookahead(c.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ge={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},te]},ke="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+u.UNDERSCORE_IDENT_RE+")\\s*=>",Oe={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(ke)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[te]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:b,exports:{PARAMS_CONTAINS:j,CLASS_REFERENCE:Y},illegal:/#(?![$_A-z])/,contains:[u.SHEBANG({label:"shebang",binary:"node",relevance:5}),re,u.APOS_STRING_MODE,u.QUOTE_STRING_MODE,T,E,w,x,M,{match:/\$\d+/},_,Y,{scope:"attr",match:d+c.lookahead(":"),relevance:0},Oe,{begin:"("+u.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[M,u.REGEXP_MODE,{className:"function",begin:ke,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:u.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:b,contains:j}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:p.begin,end:p.end},{match:h},{begin:m.begin,"on:begin":m.isTrulyOpeningTag,end:m.end}],subLanguage:"xml",contains:[{begin:m.begin,end:m.end,skip:!0,contains:["self"]}]}]},H,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+u.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[te,u.inherit(u.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},W,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[te]},V,U,$,ge,{match:/\$[(.]/}]}}return Xd=l,Xd}var Jd,c2;function CF(){if(c2)return Jd;c2=1;function e(t){const r={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},a=["true","false","null"],i={scope:"literal",beginKeywords:a.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:a},contains:[r,n,t.QUOTE_STRING_MODE,i,t.C_NUMBER_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}return Jd=e,Jd}var Qd,f2;function AF(){if(f2)return Qd;f2=1;var e="[0-9](_*[0-9])*",t=`\\.(${e})`,r="[0-9a-fA-F](_*[0-9a-fA-F])*",n={className:"number",variants:[{begin:`(\\b(${e})((${t})|\\.)?|(${t}))[eE][+-]?(${e})[fFdD]?\\b`},{begin:`\\b(${e})((${t})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${t})[fFdD]?\\b`},{begin:`\\b(${e})[fFdD]\\b`},{begin:`\\b0[xX]((${r})\\.?|(${r})?\\.(${r}))[pP][+-]?(${e})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${r})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function a(i){const o={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},s={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},l={className:"symbol",begin:i.UNDERSCORE_IDENT_RE+"@"},u={className:"subst",begin:/\$\{/,end:/\}/,contains:[i.C_NUMBER_MODE]},c={className:"variable",begin:"\\$"+i.UNDERSCORE_IDENT_RE},f={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[c,u]},{begin:"'",end:"'",illegal:/\n/,contains:[i.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[i.BACKSLASH_ESCAPE,c,u]}]};u.contains.push(f);const d={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+i.UNDERSCORE_IDENT_RE+")?"},p={className:"meta",begin:"@"+i.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[i.inherit(f,{className:"string"}),"self"]}]},h=n,m=i.COMMENT("/\\*","\\*/",{contains:[i.C_BLOCK_COMMENT_MODE]}),b={variants:[{className:"type",begin:i.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},g=b;return g.variants[1].contains=[b],b.variants[1].contains=[g],{name:"Kotlin",aliases:["kt","kts"],keywords:o,contains:[i.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),i.C_LINE_COMMENT_MODE,m,s,l,d,p,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:o,relevance:5,contains:[{begin:i.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[i.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:o,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[b,i.C_LINE_COMMENT_MODE,m],relevance:0},i.C_LINE_COMMENT_MODE,m,d,p,f,i.C_NUMBER_MODE]},m]},{begin:[/class|interface|trait/,/\s+/,i.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},i.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},d,p]},f,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
27
27
  `},h]}}return Qd=a,Qd}var ep,d2;function TF(){if(d2)return ep;d2=1;const e=c=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:c.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:c.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),t=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],r=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],n=[...t,...r],a=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),s=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),l=i.concat(o).sort().reverse();function u(c){const f=e(c),d=l,p="and or not only",h="[\\w-]+",m="("+h+"|@\\{"+h+"\\})",b=[],g=[],v=function(F){return{className:"string",begin:"~?"+F+".*?"+F}},y=function(F,j,te){return{className:F,begin:j,relevance:te}},_={$pattern:/[a-z-]+/,keyword:p,attribute:a.join(" ")},k={begin:"\\(",end:"\\)",contains:g,keywords:_,relevance:0};g.push(c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,v("'"),v('"'),f.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},f.HEXCOLOR,k,y("variable","@@?"+h,10),y("variable","@\\{"+h+"\\}"),y("built_in","~?`[^`]*?`"),{className:"attribute",begin:h+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},f.IMPORTANT,{beginKeywords:"and not"},f.FUNCTION_DISPATCH);const T=g.concat({begin:/\{/,end:/\}/,contains:b}),E={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(g)},w={begin:m+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},f.CSS_VARIABLE,{className:"attribute",begin:"\\b("+s.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:g}}]},x={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:_,returnEnd:!0,contains:g,relevance:0}},S={className:"variable",variants:[{begin:"@"+h+"\\s*:",relevance:15},{begin:"@"+h}],starts:{end:"[;}]",returnEnd:!0,contains:T}},M={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:m,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,E,y("keyword","all\\b"),y("variable","@\\{"+h+"\\}"),{begin:"\\b("+n.join("|")+")\\b",className:"selector-tag"},f.CSS_NUMBER_MODE,y("selector-tag",m,0),y("selector-id","#"+m),y("selector-class","\\."+m,0),y("selector-tag","&",0),f.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+o.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:T},{begin:"!important"},f.FUNCTION_DISPATCH]},P={begin:h+`:(:)?(${d.join("|")})`,returnBegin:!0,contains:[M]};return b.push(c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,x,S,P,w,M,E,f.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:b}}return ep=u,ep}var tp,p2;function DF(){if(p2)return tp;p2=1;function e(t){const r="\\[=*\\[",n="\\]=*\\]",a={begin:r,end:n,contains:["self"]},i=[t.COMMENT("--(?!"+r+")","$"),t.COMMENT("--"+r,n,{contains:[a],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:t.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[t.inherit(t.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},t.C_NUMBER_MODE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{className:"string",begin:r,end:n,contains:[a],relevance:5}])}}return tp=e,tp}var rp,h2;function MF(){if(h2)return rp;h2=1;function e(t){const r={className:"variable",variants:[{begin:"\\$\\("+t.UNDERSCORE_IDENT_RE+"\\)",contains:[t.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,r]},a={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[r,n]},i={begin:"^"+t.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},o={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},s={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[r]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[t.HASH_COMMENT_MODE,r,n,a,i,o,s]}}return rp=e,rp}var np,m2;function OF(){if(m2)return np;m2=1;function e(t){const r=t.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],a=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:n.join(" ")},o={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:i},s={begin:/->\{/,end:/\}/},l={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},u={scope:"variable",variants:[{begin:/\$\d/},{begin:r.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[l]},c={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},f=[t.BACKSLASH_ESCAPE,o,u],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],p=(b,g,v="\\1")=>{const y=v==="\\1"?v:r.concat(v,g);return r.concat(r.concat("(?:",b,")"),g,/(?:\\.|[^\\\/])*?/,y,/(?:\\.|[^\\\/])*?/,v,a)},h=(b,g,v)=>r.concat(r.concat("(?:",b,")"),g,/(?:\\.|[^\\\/])*?/,v,a),m=[u,t.HASH_COMMENT_MODE,t.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:f,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},c,{begin:"(\\/\\/|"+t.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[t.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:p("s|tr|y",r.either(...d,{capture:!0}))},{begin:p("s|tr|y","\\(","\\)")},{begin:p("s|tr|y","\\[","\\]")},{begin:p("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:h("(?:m|qr)?",/\//,/\//)},{begin:h("m|qr",r.either(...d,{capture:!0}),/\1/)},{begin:h("m|qr",/\(/,/\)/)},{begin:h("m|qr",/\[/,/\]/)},{begin:h("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,l]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,l,c]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return o.contains=m,s.contains=m,{name:"Perl",aliases:["pl","pm"],keywords:i,contains:m}}return np=e,np}var ap,v2;function IF(){if(v2)return ap;v2=1;function e(t){const r={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,l={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},u={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:l,illegal:"</",contains:[r,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.C_NUMBER_MODE,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+u.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:u,contains:[t.UNDERSCORE_TITLE_MODE]},{begin:"\\."+t.UNDERSCORE_IDENT_RE,relevance:0}]}}return ap=e,ap}var ip,g2;function RF(){if(g2)return ip;g2=1;function e(t){const r=t.regex,n=/(?![A-Za-z0-9])(?![$])/,a=r.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=r.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),o=r.concat(/[A-Z]+/,n),s={scope:"variable",match:"\\$+"+a},l={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},u={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},c=t.inherit(t.APOS_STRING_MODE,{illegal:null}),f=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(u)}),d={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(u),"on:begin":(te,$)=>{$.data._beginMatch=te[1]||te[2]},"on:end":(te,$)=>{$.data._beginMatch!==te[1]&&$.ignoreMatch()}},p=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),h=`[