import{r as e,j as t}from"./jsx-runtime-BnbLqBWP.js";function n(n,r){const o=e.createContext(r),s=n=>{const{children:r,...s}=n,c=e.useMemo((()=>s),Object.values(s));return t.jsx(o.Provider,{value:c,children:r})};return s.displayName=n+"Provider",[s,function(t){const s=e.useContext(o);if(s)return s;if(void 0!==r)return r;throw new Error(`\`${t}\` must be used within \`${n}\``)}]}function r(n,r=[]){let s=[];const c=()=>{const t=s.map((t=>e.createContext(t)));return function(r){const o=r?.[n]||t;return e.useMemo((()=>({[`__scope${n}`]:{...r,[n]:o}})),[r,o])}};return c.scopeName=n,[function(r,o){const c=e.createContext(o),u=s.length;s=[...s,o];const i=r=>{const{scope:o,children:s,...i}=r,a=o?.[n]?.[u]||c,m=e.useMemo((()=>i),Object.values(i));return t.jsx(a.Provider,{value:m,children:s})};return i.displayName=r+"Provider",[i,function(t,s){const i=s?.[n]?.[u]||c,a=e.useContext(i);if(a)return a;if(void 0!==o)return o;throw new Error(`\`${t}\` must be used within \`${r}\``)}]},o(c,...r)]}function o(...t){const n=t[0];if(1===t.length)return n;const r=()=>{const r=t.map((e=>({useScope:e(),scopeName:e.scopeName})));return function(t){const o=r.reduce(((e,{useScope:n,scopeName:r})=>({...e,...n(t)[`__scope${r}`]})),{});return e.useMemo((()=>({[`__scope${n.scopeName}`]:o})),[o])}};return r.scopeName=n.scopeName,r}export{n as a,r as c};