import{f as m,c,s as P,v,w as u,x as h,y as L,P as b,L as k}from"./BQXEuHbF.js";import{l as i,i as g,m as S,d as x,u as d,n as l,aq as R,v as j,S as T,p as _}from"./DyOeHwBK.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}},w=i({name:"NuxtLayout",inheritAttrs:!1,props:O,setup(t,a){const e=m(),s=g(b),n=s===c()?P():s,r=S(()=>{let o=d(t.name)??n.meta.layout??"default";return o&&!(o in u)&&t.fallback&&(o=d(t.fallback)),o}),y=x();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,f=n.meta.layoutTransition??h;return L(o&&f,{default:()=>l(T,{suspensible:!0,onResolve:()=>{j(p)}},{default:()=>l(B,{layoutProps:R(a.attrs,{ref:y}),key:r.value||void 0,name:r.value,shouldProvide:!t.name,hasTransition:!!f},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&&_(k,{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{w as _};
