import{f as i,bY as d,v as m,bZ as b,k as P,h,b_ as v,b$ as u,V as L,c0 as k,c1 as g,s as f,J as l,ai as R,ac as S,c2 as _,at as j,af as x,c3 as T}from"./TC-wanuA.js";const A=i({name:"LayoutLoader",inheritAttrs:!1,props:{name:String,layoutProps:Object},setup(t,a){return()=>l(u[t.name],t.layoutProps,a.slots)}}),O={name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},N=i({name:"NuxtLayout",inheritAttrs:!1,props:O,setup(t,a){const e=d(),s=L(j),n=s===m()?b():s,r=P(()=>{let o=f(t.name)??n.meta.layout??"default";return o&&!(o in u)&&t.fallback&&(o=f(t.fallback)),o}),y=h();a.expose({layoutRef:y});const p=e.deferHydration();if(e.isHydrating){const o=e.hooks.hookOnce("app:error",p);v().beforeEach(o)}return()=>{const o=r.value&&r.value in u,c=n.meta.layoutTransition??k;return g(o&&c,{default:()=>l(_,{suspensible:!0,onResolve:()=>{S(p)}},{default:()=>l(B,{layoutProps:R(a.attrs,{ref:y}),key:r.value||void 0,name:r.value,shouldProvide:!t.name,hasTransition:!!c},a.slots)})}).default()}}}),B=i({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(t,a){const e=t.name;return t.shouldProvide&&x(T,{isCurrent:s=>e===(s.meta.layout??"default")}),()=>{var s,n;return!e||typeof e=="string"&&!(e in u)?(n=(s=a.slots).default)==null?void 0:n.call(s):l(A,{key:e,layoutProps:t.layoutProps,name:e},a.slots)}}});export{N as _};
