"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("react"),P=require("../../../../../@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-compose-refs/dist/index.cjs.js"),g=require("../../../../../@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs.js");function S(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const i=S(T);function E(n,e){return i.useReducer((t,r)=>e[t][r]??t,n)}var O=n=>{const{present:e,children:t}=n,r=R(e),a=typeof t=="function"?t({present:r.isPresent}):i.Children.only(t),u=P.useComposedRefs(r.ref,v(a));return typeof t=="function"||r.isPresent?i.cloneElement(a,{ref:u}):null};O.displayName="Presence";function R(n){const[e,t]=i.useState(),r=i.useRef(null),a=i.useRef(n),u=i.useRef("none"),p=n?"mounted":"unmounted",[N,s]=E(p,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return i.useEffect(()=>{const o=l(r.current);u.current=N==="mounted"?o:"none"},[N]),g.useLayoutEffect(()=>{const o=r.current,d=a.current;if(d!==n){const f=u.current,c=l(o);n?s("MOUNT"):c==="none"||o?.display==="none"?s("UNMOUNT"):s(d&&f!==c?"ANIMATION_OUT":"UNMOUNT"),a.current=n}},[n,s]),g.useLayoutEffect(()=>{if(e){let o;const d=e.ownerDocument.defaultView??window,m=c=>{const A=l(r.current).includes(CSS.escape(c.animationName));if(c.target===e&&A&&(s("ANIMATION_END"),!a.current)){const M=e.style.animationFillMode;e.style.animationFillMode="forwards",o=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=M)})}},f=c=>{c.target===e&&(u.current=l(r.current))};return e.addEventListener("animationstart",f),e.addEventListener("animationcancel",m),e.addEventListener("animationend",m),()=>{d.clearTimeout(o),e.removeEventListener("animationstart",f),e.removeEventListener("animationcancel",m),e.removeEventListener("animationend",m)}}else s("ANIMATION_END")},[e,s]),{isPresent:["mounted","unmountSuspended"].includes(N),ref:i.useCallback(o=>{r.current=o?getComputedStyle(o):null,t(o)},[])}}function l(n){return n?.animationName||"none"}function v(n){let e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get,t=e&&"isReactWarning"in e&&e.isReactWarning;return t?n.ref:(e=Object.getOwnPropertyDescriptor(n,"ref")?.get,t=e&&"isReactWarning"in e&&e.isReactWarning,t?n.props.ref:n.props.ref||n.ref)}exports.Presence=O;
//# sourceMappingURL=index.cjs.js.map
