import{r as s,a as h,$ as C,e as g}from"./app-6e13b0c9.js";import{u as O}from"./index-79a730ad.js";function w(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function L(e,t){const n=s.createContext(t);function r(u){const{children:i,...a}=u,f=s.useMemo(()=>a,Object.values(a));return h(n.Provider,{value:f,children:i})}function o(u){const i=s.useContext(n);if(i)return i;if(t!==void 0)return t;throw new Error(`\`${u}\` must be used within \`${e}\``)}return r.displayName=e+"Provider",[r,o]}function D(e,t=[]){let n=[];function r(u,i){const a=s.createContext(i),f=n.length;n=[...n,i];function c(d){const{scope:m,children:N,...p}=d,P=(m==null?void 0:m[e][f])||a,A=s.useMemo(()=>p,Object.values(p));return h(P.Provider,{value:A,children:N})}function l(d,m){const N=(m==null?void 0:m[e][f])||a,p=s.useContext(N);if(p)return p;if(i!==void 0)return i;throw new Error(`\`${d}\` must be used within \`${u}\``)}return c.displayName=u+"Provider",[c,l]}const o=()=>{const u=n.map(i=>s.createContext(i));return function(a){const f=(a==null?void 0:a[e])||u;return s.useMemo(()=>({[`__scope${e}`]:{...a,[e]:f}}),[a,f])}};return o.scopeName=e,[r,M(o,...t)]}function M(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(u){const i=r.reduce((a,{useScope:f,scopeName:c})=>{const d=f(u)[`__scope${c}`];return{...a,...d}},{});return s.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var v=globalThis!=null&&globalThis.document?s.useLayoutEffect:()=>{},R=C["useId".toString()]||(()=>{}),E=0;function j(e){const[t,n]=s.useState(R());return v(()=>{e||n(r=>r??String(E++))},[e]),e||(t?`radix-${t}`:"")}function x(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),s.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function W({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=T({defaultProp:t,onChange:n}),u=e!==void 0,i=u?e:r,a=x(n),f=s.useCallback(c=>{if(u){const d=typeof c=="function"?c(e):c;d!==e&&a(d)}else o(c)},[u,e,o,a]);return[i,f]}function T({defaultProp:e,onChange:t}){const n=s.useState(e),[r]=n,o=s.useRef(r),u=x(t);return s.useEffect(()=>{o.current!==r&&(u(r),o.current=r)},[r,o,u]),n}function U(e,t){return s.useReducer((n,r)=>t[n][r]??n,e)}var I=e=>{const{present:t,children:n}=e,r=b(t),o=typeof n=="function"?n({present:r.isPresent}):s.Children.only(n),u=O(r.ref,y(o));return typeof n=="function"||r.isPresent?s.cloneElement(o,{ref:u}):null};I.displayName="Presence";function b(e){const[t,n]=s.useState(),r=s.useRef({}),o=s.useRef(e),u=s.useRef("none"),i=e?"mounted":"unmounted",[a,f]=U(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{const c=S(r.current);u.current=a==="mounted"?c:"none"},[a]),v(()=>{const c=r.current,l=o.current;if(l!==e){const m=u.current,N=S(c);e?f("MOUNT"):N==="none"||(c==null?void 0:c.display)==="none"?f("UNMOUNT"):f(l&&m!==N?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,f]),v(()=>{if(t){const c=d=>{const N=S(r.current).includes(d.animationName);d.target===t&&N&&g.flushSync(()=>f("ANIMATION_END"))},l=d=>{d.target===t&&(u.current=S(r.current))};return t.addEventListener("animationstart",l),t.addEventListener("animationcancel",c),t.addEventListener("animationend",c),()=>{t.removeEventListener("animationstart",l),t.removeEventListener("animationcancel",c),t.removeEventListener("animationend",c)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:s.useCallback(c=>{c&&(r.current=getComputedStyle(c)),n(c)},[])}}function S(e){return(e==null?void 0:e.animationName)||"none"}function y(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}export{I as P,w as a,x as b,D as c,j as d,v as e,L as f,W as u};
