import{d as ee,c as te}from"./DTcK9nyw.js";import{h as ae}from"./B-OxpdkT.js";import{w as ne,j as B}from"./B6orRp05.js";import{a as oe,b as se,s as le,u as ie}from"./DlDklb_P.js";import{u as ce}from"./47ncXYJH.js";import{i as re}from"./DYEtpFU4.js";import{g as de}from"./8CHAj4KV.js";import{d as ue,G as pe,H as fe,E as k,r as C,I as me,j as R,J as T,K as O,i as h,p as ve,L as he,m as E,M as N,F as M,T as D}from"./CGuWR5z3.js";import"./76RNkh61.js";import"./B-XSawTn.js";import"./BJ2ClxiI.js";import"./BVQKphmM.js";import"./DgCQikI8.js";import"./BnT9nVJI.js";const b="_islandPromises",H=/data-island-uid="([^"]*)"/,ye=/data-island-uid(="")?(?!="[^"])/g,ge=/data-island-slot="([^"]*)"/g,_e=/ data-island-slot="([^"]*)"[^>]*>/g,we=/^<[^> ]*/;let Se=1;const $e=()=>(Se++).toString(),L=new Map;async function U(t=se,r){if(!r)return;const y=[];for(const[g,_]of Object.entries(r))L.has(g)||y.push((async()=>{const m=await import(B(t,_.chunk)).then(u=>u.default||u);L.set(g,m)})());await Promise.all(y)}const Ue=ue({name:"NuxtIsland",inheritAttrs:!1,props:{name:{type:String,required:!0},lazy:Boolean,props:{type:Object,default:()=>{}},context:{type:Object,default:()=>({})},scopeId:{type:String,default:()=>{}},source:{type:String,default:()=>{}},dangerouslyLoadClientComponents:{type:Boolean,default:!1}},emits:["error"],async setup(t,{slots:r,expose:y,emit:g}){let _=!1;const d=O(0),m=O(0),u=h(()=>t.dangerouslyLoadClientComponents||!t.source),w=C(null),F=ie(),s=oe(),K=h(()=>t.props?Object.fromEntries(Object.entries(t.props).filter(([a])=>!a.startsWith("data-v-"))):{}),S=h(()=>ae([t.name,K.value,t.context,t.source]).replace(/[-_]/g,"")),f=ve(),Re=ce();let v;const P=globalThis.fetch,A=O(!1);pe(()=>{A.value=!0,d.value++}),fe(()=>{v&&v.dispose()});function z(a,e){const n={};e.props&&(n.props=e.props),e.slots&&(n.slots=e.slots),e.components&&(n.components=e.components),e.head&&(n.head=e.head),s.payload.data[a]={__nuxt_island:{key:a,params:{...t.context,props:t.props?JSON.stringify(t.props):void 0},result:n},...e}}const l={};if(f.vnode.el){const a=k(s.payload.data[`${t.name}_${S.value}`])?.slots;a&&(l.slots=a);{const e=k(s.payload.data[`${t.name}_${S.value}`])?.components;e&&(l.components=e)}}const p=C("");if(f.vnode?.el){p.value=de(f.vnode.el,!0)?.join("")||"";const a=`${t.name}_${S.value}`;s.payload.data[a]||={},s.payload.data[a].html=p.value.replaceAll(new RegExp(`data-island-uid="${p.value.match(H)?.[1]||""}"`,"g"),'data-island-uid=""')}const c=C(p.value.match(H)?.[1]||$e()),J=new Set(Object.keys(r)),q=h(()=>new Set([...p.value.matchAll(ge)].map(a=>a[1]))),j=h(()=>{let a=p.value;if(t.scopeId&&(a=a.replace(we,e=>e+" "+t.scopeId)),!u.value)for(const[e,n]of Object.entries(l.components||{}))a=a.replace(new RegExp(` data-island-uid="${c.value}" data-island-component="${e}"[^>]*>`),i=>i+n.html);return l.slots?a.replaceAll(_e,(e,n)=>J.has(n)?e:e+(l.slots?.[n]?.fallback||"")):a}),V=re();async function G(a=!1){const e=`${t.name}_${S.value}`;if(!a&&s.payload.data[e]?.html)return s.payload.data[e];const n=`/__nuxt_island/${e}.json`,i=await P(ne(t.source?n:B(F.app.baseURL??"",n),{...t.context,props:t.props?JSON.stringify(t.props):void 0}));if(!i.ok)throw te({statusCode:i.status,statusMessage:i.statusText});try{const o=await i.json();return z(e,o),o}catch(o){throw i.status!==200?new Error(o.toString(),{cause:i}):o}}async function $(a=!1){s[b]||={},s[b][c.value]||=G(a).finally(()=>{delete s[b][c.value]});try{const e=await s[b][c.value];p.value=e.html.replaceAll(ye,`data-island-uid="${c.value}"`),m.value++,w.value=null,l.slots=e.slots||{},l.components=e.components||{},le&&u.value&&e.components&&await U(t.source,e.components),e?.head&&(v?v.patch(e.head):v=V.push(e.head)),he(()=>{_=!0,d.value++})}catch(e){w.value=e,g("error",e)}}return y({refresh:()=>$(!0)}),me(t,ee(()=>$(),100),{deep:!0}),!f.vnode.el&&t.lazy?$():!f.vnode.el||!s.payload.serverRendered?await $():u.value&&await U(t.source,l.components),(a,e)=>!j.value||w.value?[r.fallback?.({error:w.value})??R("div")]:[T([m.value],()=>R(M,{key:m.value},[E(N(j.value||"",1))]),e,0),T([d.value],()=>{const n=[],i=d.value===0||!!(d.value&&!(d.value%2));if(c.value&&j.value&&(t.lazy?_:A.value||f.vnode?.el)){for(const o in r)q.value.has(o)&&n.push(R(D,{to:`${i?"div":""}[data-island-uid="${c.value}"][data-island-slot="${o}"]`},{default:()=>(l.slots?.[o]?.props?.length?l.slots[o].props:[{}]).map(x=>r[o]?.(x))}));if(u.value&&l.components)for(const[o,x]of Object.entries(l.components)){const{props:Q,slots:W}=x,X=L.get(o),Y=R(D,{to:`${i?"div":""}[data-island-uid='${c.value}'][data-island-component="${o}"]`},{default:()=>[E(X,Q,Object.fromEntries(Object.entries(W||{}).map(([I,Z])=>[I,()=>N(`