import{n as e,s as t}from"./jsx-runtime-Bzw2jH9X.js";import{Ct as n,Ot as r,Tt as i,X as a,ft as o,kt as s,mt as c,pt as l,vt as u}from"./useSize--KU1gilk.js";function d(e){return e instanceof HTMLElement||e instanceof SVGElement}function f(e){return e&&typeof e==`object`&&d(e.nativeElement)?e.nativeElement:d(e)?e:null}var p=t(e()),m=p.createContext({}),h=e=>{let{children:t,...n}=e,r=p.useMemo(()=>({motion:n.motion}),[n.motion]);return p.createElement(m.Provider,{value:r},t)},g=`none`,_=`appear`,v=`enter`,y=`leave`,b=`none`,x=`prepare`,S=`start`,C=`active`,w=`prepared`;function T(e,t){let n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit${e}`]=`webkit${t}`,n[`Moz${e}`]=`moz${t}`,n[`ms${e}`]=`MS${t}`,n[`O${e}`]=`o${t.toLowerCase()}`,n}function E(e,t){let n={animationend:T(`Animation`,`AnimationEnd`),transitionend:T(`Transition`,`TransitionEnd`)};return e&&(`AnimationEvent`in t||delete n.animationend.animation,`TransitionEvent`in t||delete n.transitionend.transition),n}var D=E(r(),typeof window<`u`?window:{}),O={};r()&&({style:O}=document.createElement(`div`));var k={};function A(e){if(k[e])return k[e];let t=D[e];if(t){let n=Object.keys(t),r=n.length;for(let i=0;i<r;i+=1){let r=n[i];if(Object.prototype.hasOwnProperty.call(t,r)&&r in O)return k[e]=t[r],k[e]}}return``}var j=A(`animationend`),M=A(`transitionend`),N=!!(j&&M),P=j||`animationend`,F=M||`transitionend`;function I(e,t){return e?typeof e==`object`?e[t.replace(/-\w/g,e=>e[1].toUpperCase())]:`${e}-${t}`:null}var ee=(e=>{let t=(0,p.useRef)();function n(t){t&&(t.removeEventListener(F,e),t.removeEventListener(P,e))}function r(r){t.current&&t.current!==r&&n(t.current),r&&r!==t.current&&(r.addEventListener(F,e),r.addEventListener(P,e),t.current=r)}return p.useEffect(()=>()=>{n(t.current),t.current=null},[]),[r,n]}),L=r()?p.useLayoutEffect:p.useEffect,R=(()=>{let e=p.useRef(null);function t(){n.cancel(e.current)}function r(i,a=2){t();let o=n(()=>{a<=1?i({isCanceled:()=>o!==e.current}):r(i,a-1)});e.current=o}return p.useEffect(()=>()=>{t()},[]),[r,t]}),z=[x,S,C,`end`],B=[x,w];function V(e){return e===`active`||e===`end`}var te=((e,t,n)=>{let[r,a]=i(b),[o,s]=R();function c(){a(x,!0)}let l=t?B:z;return L(()=>{if(r!==`none`&&r!==`end`){let e=l.indexOf(r),t=l[e+1],i=n(r);i===!1?a(t,!0):t&&o(e=>{function n(){e.isCanceled()||a(t,!0)}i===!0?n():Promise.resolve(i).then(n)})}},[e,r]),p.useEffect(()=>()=>{s()},[]),[c,r]});function H(e,t,n,{motionEnter:r=!0,motionAppear:i=!0,motionLeave:a=!0,motionDeadline:o,motionLeaveImmediately:c,onAppearPrepare:l,onEnterPrepare:d,onLeavePrepare:f,onAppearStart:m,onEnterStart:h,onLeaveStart:b,onAppearActive:w,onEnterActive:T,onLeaveActive:E,onAppearEnd:D,onEnterEnd:O,onLeaveEnd:k,onVisibleChanged:A}){let[j,M]=p.useState(),[N,P]=u(g),[F,I]=p.useState([null,null]),R=N(),z=(0,p.useRef)(!1),B=(0,p.useRef)(null);function H(){return n()}let U=(0,p.useRef)(!1);function W(){P(g),I([null,null])}let G=s(e=>{let t=N();if(t===`none`)return;let n=H();if(e&&!e.deadline&&e.target!==n)return;let r=U.current,i;t===`appear`&&r?i=D?.(n,e):t===`enter`&&r?i=O?.(n,e):t===`leave`&&r&&(i=k?.(n,e)),r&&i!==!1&&W()}),[K]=ee(G),q=e=>{switch(e){case _:return{[x]:l,[S]:m,[C]:w};case v:return{[x]:d,[S]:h,[C]:T};case y:return{[x]:f,[S]:b,[C]:E};default:return{}}},J=p.useMemo(()=>q(R),[R]),[Y,X]=te(R,!e,e=>{if(e===`prepare`){let e=J[x];return e?e(H()):!1}return e in J&&I([J[e]?.(H(),null)||null,e]),e===`active`&&R!==`none`&&(K(H()),o>0&&(clearTimeout(B.current),B.current=setTimeout(()=>{G({deadline:!0})},o))),e===`prepared`&&W(),!0});U.current=V(X);let Z=(0,p.useRef)(null);L(()=>{if(z.current&&Z.current===t)return;M(t);let n=z.current;z.current=!0;let o;!n&&t&&i&&(o=_),n&&t&&r&&(o=v),(n&&!t&&a||!n&&c&&!t&&a)&&(o=y);let s=q(o);o&&(e||s.prepare)?(P(o),Y()):P(g),Z.current=t},[t]),(0,p.useEffect)(()=>{(R===`appear`&&!i||R===`enter`&&!r||R===`leave`&&!a)&&P(g)},[i,r,a]),(0,p.useEffect)(()=>()=>{z.current=!1,clearTimeout(B.current)},[]);let Q=p.useRef(!1);(0,p.useEffect)(()=>{j&&(Q.current=!0),j!==void 0&&R===`none`&&((Q.current||j)&&A?.(j),Q.current=!0)},[j,R]);let $=F[0];J.prepare&&X===`start`&&($={transition:`none`,...$});let ne=F[1];return[N,X,$,j??t,!z.current&&R===`none`&&e&&i?`NONE`:X===`start`||X===`active`?ne===X:!0]}function U(e){return e?.length<2}function W(e){let t=e;typeof e==`object`&&({transitionSupport:t}=e);function n(e,n){return!!(e.motionName&&t&&n!==!1)}let r=p.forwardRef((e,t)=>{let{visible:r=!0,removeOnLeave:i=!0,forceRender:s,children:u,motionName:d,leavedClassName:h,eventProps:_}=e,{motion:v}=p.useContext(m),y=n(e,v),b=(0,p.useRef)();function x(){return f(b.current)}let[S,C,w,T,E]=H(y,r,x,e),D=S(),O=p.useRef(T);T&&(O.current=!0);let k=p.useMemo(()=>{let e={};return Object.defineProperties(e,{nativeElement:{enumerable:!0,get:x},inMotion:{enumerable:!0,get:()=>()=>S()!==g},enableMotion:{enumerable:!0,get:()=>()=>y}}),e},[]);p.useImperativeHandle(t,()=>k,[]);let A=p.useRef(0);E&&(A.current+=1);let j=p.useMemo(()=>{if(E===`NONE`)return null;let e,t={..._,visible:r};if(!u)e=null;else if(D===`none`)e=T?u({...t},b):!i&&O.current&&h?u({...t,className:h},b):s||!i&&!h?u({...t,style:{display:`none`}},b):null;else{let n;C===`prepare`?n=`prepare`:V(C)?n=`active`:C===`start`&&(n=`start`);let r=I(d,`${D}-${n}`);e=u({...t,className:a(I(d,D),{[r]:r&&n,[d]:typeof d==`string`}),style:w},b)}return e},[A.current]);if(U(u)&&c(j)){let e=l(j);if(e!==b)return p.cloneElement(j,{ref:o(e,b)})}return j});return r.displayName=`CSSMotion`,r}var G=W(N),K=`keep`,q=`remove`,J=`removed`;function Y(e){let t;return t=e&&typeof e==`object`&&`key`in e?e:{key:e},{...t,key:String(t.key)}}function X(e=[]){return e.map(Y)}function Z(e=[],t=[]){let n=[],r=0,i=t.length,a=X(e),o=X(t);a.forEach(e=>{let t=!1;for(let a=r;a<i;a+=1){let i=o[a];if(i.key===e.key){r<a&&(n=n.concat(o.slice(r,a).map(e=>({...e,status:`add`}))),r=a),n.push({...i,status:K}),r+=1,t=!0;break}}t||n.push({...e,status:q})}),r<i&&(n=n.concat(o.slice(r).map(e=>({...e,status:`add`}))));let s={};return n.forEach(({key:e})=>{s[e]=(s[e]||0)+1}),Object.keys(s).filter(e=>s[e]>1).forEach(e=>{n=n.filter(({key:t,status:n})=>t!==e||n!==`remove`),n.forEach(t=>{t.key===e&&(t.status=K)})}),n}function Q(){return Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)}var $=[`eventProps`,`visible`,`children`,`motionName`,`motionAppear`,`motionEnter`,`motionLeave`,`motionLeaveImmediately`,`motionDeadline`,`removeOnLeave`,`leavedClassName`,`onAppearPrepare`,`onAppearStart`,`onAppearActive`,`onAppearEnd`,`onEnterStart`,`onEnterActive`,`onEnterEnd`,`onLeaveStart`,`onLeaveActive`,`onLeaveEnd`];function ne(e,t=G){class n extends p.Component{static defaultProps={component:`div`};state={keyEntities:[]};static getDerivedStateFromProps({keys:e},{keyEntities:t}){return{keyEntities:Z(t,X(e)).filter(e=>{let n=t.find(({key:t})=>e.key===t);return!(n&&n.status===`removed`&&e.status===`remove`)})}}removeKey=e=>{this.setState(t=>({keyEntities:t.keyEntities.map(t=>t.key===e?{...t,status:J}:t)}),()=>{let{keyEntities:e}=this.state;e.filter(({status:e})=>e!==`removed`).length===0&&this.props.onAllRemoved&&this.props.onAllRemoved()})};render(){let{keyEntities:e}=this.state,{component:n,children:r,onVisibleChanged:i,onAllRemoved:a,...o}=this.props,s=n||p.Fragment,c={};return $.forEach(e=>{c[e]=o[e],delete o[e]}),delete o.keys,p.createElement(s,o,e.map(({status:e,...n},a)=>{let o=e===`add`||e===`keep`;return p.createElement(t,Q({},c,{key:n.key,visible:o,eventProps:n,onVisibleChanged:e=>{i?.(e,{key:n.key}),e||this.removeKey(n.key)}}),U(r)?e=>r({...e,index:a}):(e,t)=>r({...e,index:a},t))}))}}return n}var re=ne(N),ie=G;export{d as a,f as i,re as n,h as r,ie as t};