import{_ as D}from"./XJADXMZO.js";import{_ as B}from"./Ciyi0QpJ.js";import{o as c,m as _,k as s,d as S,r as h,b_ as j,b$ as P,aA as U,a as p,ah as A,i as l,j as u,F as f,U as E,f as i,l as G,n as I,t as v,G as R,h as W,ap as z,A as H}from"./CCqMIw4K.js";import{_ as L}from"./BrvzvG46.js";import"./CjURGq3V.js";const q={class:"markdown-body"},J=s("h1",null,"Virtual Files",-1),K=s("p",null,"Virtual files are generated on the fly to support the conventions of the framework, and to provide a better developer experience.",-1),M=[J,K],O={__name:"virtual-files",setup(x,{expose:o}){return o({frontmatter:{}}),(d,a)=>(c(),_("div",q,M))}},Q=["onClick"],T=s("div",{"x-divider":""},null,-1),X={key:0,"h-full":"","of-hidden":"",flex:"~ col"},Y={border:"b base","flex-none":"",px4:"",py2:"","text-sm":"",op75:""},Z=s("span",{op75:""},"Select a file to start",-1),re=S({__name:"virtual-files",setup(x){const o=h(""),n=j(),d=P(),a=h();U(()=>{if(!d.value)return;const e=`/_vfs.json/${encodeURIComponent(d.value)}`;fetch(e,{headers:{accept:"application/json"}}).then(t=>t.json()).then(t=>a.value=t.current)});function k(e){if(n.value?.rootDir)return e.startsWith(n.value?.rootDir)?e.slice(n.value.rootDir.length):e}const m=p(()=>n.value?n.value.entries.filter(e=>!e.id.startsWith(`${n.value?.rootDir||""}/.nuxt/`)).sort((e,t)=>e.id.localeCompare(t.id)):[]),b=p(()=>new A(m.value,{keys:["id","path"]})),y=p(()=>o.value?b.value.search(o.value).map(e=>e.item):m.value);return(e,t)=>{const $=D,g=B,C=z,F=H,N=E,V=O,w=L;return c(),_(f,null,[l(N,{class:"virtual-files","storage-key":"tab-virtual-files"},{left:u(()=>[l($,{search:i(o),"onUpdate:search":t[0]||(t[0]=r=>G(o)?o.value=r:null),"no-padding":"",p3:""},null,8,["search"]),(c(!0),_(f,null,I(i(y),r=>(c(),_(f,{key:r.id},[s("button",{block:"","w-full":"","select-none":"",truncate:"",px2:"",py1:"","text-start":"","text-sm":"","font-mono":"",class:R(r.id===i(a)?.id?"text-primary n-bg-active":"text-secondary hover:n-bg-hover"),onClick:ee=>d.value=r.id},v(k(r.id)),11,Q),T],64))),128))]),right:u(()=>[i(a)?.content?(c(),_("div",X,[s("div",Y,[s("code",null,v(i(a).id),1)]),l(g,{"h-full":"","of-auto":"","text-sm":"",code:i(a).content,lang:"typescript"},null,8,["code"])])):(c(),W(F,{key:1},{default:u(()=>[l(C,{px6:"",py2:""},{default:u(()=>[Z]),_:1})]),_:1}))]),_:1}),l(w,null,{default:u(()=>[l(V)]),_:1})],64)}}});export{re as default};
