framer-motion 12.24.6 → 12.24.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +9 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/dom.js +1 -1
- package/dist/es/components/AnimatePresence/index.mjs +9 -0
- package/dist/es/components/AnimatePresence/index.mjs.map +1 -1
- package/dist/framer-motion.dev.js +31 -0
- package/dist/framer-motion.js +1 -1
- package/dist/projection.d.ts +912 -0
- package/dist/size-rollup-animate.js +1 -1
- package/dist/size-rollup-animate.js.map +1 -1
- package/dist/size-rollup-dom-animation-assets.js +1 -1
- package/dist/size-rollup-dom-animation.js +1 -1
- package/dist/size-rollup-dom-max-assets.js +1 -1
- package/dist/size-rollup-dom-max.js +1 -1
- package/dist/size-rollup-m.js.map +1 -1
- package/dist/size-rollup-motion.js +1 -1
- package/dist/size-rollup-motion.js.map +1 -1
- package/dist/size-rollup-scroll.js.map +1 -1
- package/package.json +4 -3
package/dist/dom.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Motion={})}(this,function(t){"use strict";function e(t,e){-1===t.indexOf(e)&&t.push(e)}function n(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const i=(t,e,n)=>n>e?e:n<t?t:n;function s(t,e){return e?`${t}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${e}`:t}t.warning=()=>{},t.invariant=()=>{},"undefined"!=typeof process&&"production"!==process.env?.NODE_ENV&&(t.warning=(t,e,n)=>{t||"undefined"==typeof console||console.warn(s(e,n))},t.invariant=(t,e,n)=>{if(!t)throw new Error(s(e,n))});const r={},o=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t);function a(t){return"object"==typeof t&&null!==t}const l=t=>/^0[^.\s]+$/u.test(t);function u(t){let e;return()=>(void 0===e&&(e=t()),e)}const c=t=>t,h=(t,e)=>n=>e(t(n)),d=(...t)=>t.reduce(h),p=(t,e,n)=>{const i=e-t;return 0===i?1:(n-t)/i};class f{constructor(){this.subscriptions=[]}add(t){return e(this.subscriptions,t),()=>n(this.subscriptions,t)}notify(t,e,n){const i=this.subscriptions.length;if(i)if(1===i)this.subscriptions[0](t,e,n);else for(let s=0;s<i;s++){const i=this.subscriptions[s];i&&i(t,e,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const m=t=>1e3*t,g=t=>t/1e3;function y(t,e){return e?t*(1e3/e):0}const v=new Set;const w=(t,e,n)=>{const i=e-t;return((n-t)%i+i)%i+t},b=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t;function T(t,e,n,i){if(t===e&&n===i)return c;const s=e=>function(t,e,n,i,s){let r,o,a=0;do{o=e+(n-e)/2,r=b(o,i,s)-t,r>0?n=o:e=o}while(Math.abs(r)>1e-7&&++a<12);return o}(e,0,1,t,n);return t=>0===t||1===t?t:b(s(t),e,i)}const x=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,S=t=>e=>1-t(1-e),M=T(.33,1.53,.69,.99),V=S(M),A=x(V),k=t=>(t*=2)<1?.5*V(t):.5*(2-Math.pow(2,-10*(t-1))),E=t=>1-Math.sin(Math.acos(t)),P=S(E),C=x(E),B=T(.42,0,1,1),O=T(0,0,.58,1),R=T(.42,0,.58,1);const F=t=>Array.isArray(t)&&"number"!=typeof t[0];function I(t,e){return F(t)?t[w(0,t.length,e)]:t}const D=t=>Array.isArray(t)&&"number"==typeof t[0],L={linear:c,easeIn:B,easeInOut:R,easeOut:O,circIn:E,circInOut:C,circOut:P,backIn:V,backInOut:A,backOut:M,anticipate:k},W=e=>{if(D(e)){t.invariant(4===e.length,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[n,i,s,r]=e;return T(n,i,s,r)}return"string"==typeof e?(t.invariant(void 0!==L[e],`Invalid easing type '${e}'`,"invalid-easing-type"),L[e]):e},N=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"],j={value:null,addProjectionMetrics:null};function $(t,e){let n=!1,i=!0;const s={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,a=N.reduce((t,n)=>(t[n]=function(t,e){let n=new Set,i=new Set,s=!1,r=!1;const o=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1},l=0;function u(e){o.has(e)&&(c.schedule(e),t()),l++,e(a)}const c={schedule:(t,e=!1,r=!1)=>{const a=r&&s?n:i;return e&&o.add(t),a.has(t)||a.add(t),t},cancel:t=>{i.delete(t),o.delete(t)},process:t=>{a=t,s?r=!0:(s=!0,[n,i]=[i,n],n.forEach(u),e&&j.value&&j.value.frameloop[e].push(l),l=0,n.clear(),s=!1,r&&(r=!1,c.process(t)))}};return c}(o,e?n:void 0),t),{}),{setup:l,read:u,resolveKeyframes:c,preUpdate:h,update:d,preRender:p,render:f,postRender:m}=a,g=()=>{const o=r.useManualTiming?s.timestamp:performance.now();n=!1,r.useManualTiming||(s.delta=i?1e3/60:Math.max(Math.min(o-s.timestamp,40),1)),s.timestamp=o,s.isProcessing=!0,l.process(s),u.process(s),c.process(s),h.process(s),d.process(s),p.process(s),f.process(s),m.process(s),s.isProcessing=!1,n&&e&&(i=!1,t(g))};return{schedule:N.reduce((e,r)=>{const o=a[r];return e[r]=(e,r=!1,a=!1)=>(n||(n=!0,i=!0,s.isProcessing||t(g)),o.schedule(e,r,a)),e},{}),cancel:t=>{for(let e=0;e<N.length;e++)a[N[e]].cancel(t)},state:s,steps:a}}const{schedule:K,cancel:U,state:Y,steps:z}=$("undefined"!=typeof requestAnimationFrame?requestAnimationFrame:c,!0);let X;function H(){X=void 0}const G={now:()=>(void 0===X&&G.set(Y.isProcessing||r.useManualTiming?Y.timestamp:performance.now()),X),set:t=>{X=t,queueMicrotask(H)}},q={layout:0,mainThread:0,waapi:0},Z=t=>e=>"string"==typeof e&&e.startsWith(t),_=Z("--"),J=Z("var(--"),Q=t=>!!J(t)&&tt.test(t.split("/*")[0].trim()),tt=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,et={test:t=>"number"==typeof t,parse:parseFloat,transform:t=>t},nt={...et,transform:t=>i(0,1,t)},it={...et,default:1},st=t=>Math.round(1e5*t)/1e5,rt=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;const ot=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,at=(t,e)=>n=>Boolean("string"==typeof n&&ot.test(n)&&n.startsWith(t)||e&&!function(t){return null==t}(n)&&Object.prototype.hasOwnProperty.call(n,e)),lt=(t,e,n)=>i=>{if("string"!=typeof i)return i;const[s,r,o,a]=i.match(rt);return{[t]:parseFloat(s),[e]:parseFloat(r),[n]:parseFloat(o),alpha:void 0!==a?parseFloat(a):1}},ut={...et,transform:t=>Math.round((t=>i(0,255,t))(t))},ct={test:at("rgb","red"),parse:lt("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:i=1})=>"rgba("+ut.transform(t)+", "+ut.transform(e)+", "+ut.transform(n)+", "+st(nt.transform(i))+")"};const ht={test:at("#"),parse:function(t){let e="",n="",i="",s="";return t.length>5?(e=t.substring(1,3),n=t.substring(3,5),i=t.substring(5,7),s=t.substring(7,9)):(e=t.substring(1,2),n=t.substring(2,3),i=t.substring(3,4),s=t.substring(4,5),e+=e,n+=n,i+=i,s+=s),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(i,16),alpha:s?parseInt(s,16)/255:1}},transform:ct.transform},dt=t=>({test:e=>"string"==typeof e&&e.endsWith(t)&&1===e.split(" ").length,parse:parseFloat,transform:e=>`${e}${t}`}),pt=dt("deg"),ft=dt("%"),mt=dt("px"),gt=dt("vh"),yt=dt("vw"),vt=(()=>({...ft,parse:t=>ft.parse(t)/100,transform:t=>ft.transform(100*t)}))(),wt={test:at("hsl","hue"),parse:lt("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:i=1})=>"hsla("+Math.round(t)+", "+ft.transform(st(e))+", "+ft.transform(st(n))+", "+st(nt.transform(i))+")"},bt={test:t=>ct.test(t)||ht.test(t)||wt.test(t),parse:t=>ct.test(t)?ct.parse(t):wt.test(t)?wt.parse(t):ht.parse(t),transform:t=>"string"==typeof t?t:t.hasOwnProperty("red")?ct.transform(t):wt.transform(t),getAnimatableNone:t=>{const e=bt.parse(t);return e.alpha=0,bt.transform(e)}},Tt=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;const xt="number",St="color",Mt=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Vt(t){const e=t.toString(),n=[],i={color:[],number:[],var:[]},s=[];let r=0;const o=e.replace(Mt,t=>(bt.test(t)?(i.color.push(r),s.push(St),n.push(bt.parse(t))):t.startsWith("var(")?(i.var.push(r),s.push("var"),n.push(t)):(i.number.push(r),s.push(xt),n.push(parseFloat(t))),++r,"${}")).split("${}");return{values:n,split:o,indexes:i,types:s}}function At(t){return Vt(t).values}function kt(t){const{split:e,types:n}=Vt(t),i=e.length;return t=>{let s="";for(let r=0;r<i;r++)if(s+=e[r],void 0!==t[r]){const e=n[r];s+=e===xt?st(t[r]):e===St?bt.transform(t[r]):t[r]}return s}}const Et=t=>"number"==typeof t?0:bt.test(t)?bt.getAnimatableNone(t):t;const Pt={test:function(t){return isNaN(t)&&"string"==typeof t&&(t.match(rt)?.length||0)+(t.match(Tt)?.length||0)>0},parse:At,createTransformer:kt,getAnimatableNone:function(t){const e=At(t);return kt(t)(e.map(Et))}};function Ct(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function Bt({hue:t,saturation:e,lightness:n,alpha:i}){t/=360,n/=100;let s=0,r=0,o=0;if(e/=100){const i=n<.5?n*(1+e):n+e-n*e,a=2*n-i;s=Ct(a,i,t+1/3),r=Ct(a,i,t),o=Ct(a,i,t-1/3)}else s=r=o=n;return{red:Math.round(255*s),green:Math.round(255*r),blue:Math.round(255*o),alpha:i}}function Ot(t,e){return n=>n>0?e:t}const Rt=(t,e,n)=>t+(e-t)*n,Ft=(t,e,n)=>{const i=t*t,s=n*(e*e-i)+i;return s<0?0:Math.sqrt(s)},It=[ht,ct,wt];function Dt(e){const n=(i=e,It.find(t=>t.test(i)));var i;if(t.warning(Boolean(n),`'${e}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!Boolean(n))return!1;let s=n.parse(e);return n===wt&&(s=Bt(s)),s}const Lt=(t,e)=>{const n=Dt(t),i=Dt(e);if(!n||!i)return Ot(t,e);const s={...n};return t=>(s.red=Ft(n.red,i.red,t),s.green=Ft(n.green,i.green,t),s.blue=Ft(n.blue,i.blue,t),s.alpha=Rt(n.alpha,i.alpha,t),ct.transform(s))},Wt=new Set(["none","hidden"]);function Nt(t,e){return Wt.has(t)?n=>n<=0?t:e:n=>n>=1?e:t}function jt(t,e){return n=>Rt(t,e,n)}function $t(t){return"number"==typeof t?jt:"string"==typeof t?Q(t)?Ot:bt.test(t)?Lt:Yt:Array.isArray(t)?Kt:"object"==typeof t?bt.test(t)?Lt:Ut:Ot}function Kt(t,e){const n=[...t],i=n.length,s=t.map((t,n)=>$t(t)(t,e[n]));return t=>{for(let e=0;e<i;e++)n[e]=s[e](t);return n}}function Ut(t,e){const n={...t,...e},i={};for(const s in n)void 0!==t[s]&&void 0!==e[s]&&(i[s]=$t(t[s])(t[s],e[s]));return t=>{for(const e in i)n[e]=i[e](t);return n}}const Yt=(e,n)=>{const i=Pt.createTransformer(n),s=Vt(e),r=Vt(n);return s.indexes.var.length===r.indexes.var.length&&s.indexes.color.length===r.indexes.color.length&&s.indexes.number.length>=r.indexes.number.length?Wt.has(e)&&!r.values.length||Wt.has(n)&&!s.values.length?Nt(e,n):d(Kt(function(t,e){const n=[],i={color:0,var:0,number:0};for(let s=0;s<e.values.length;s++){const r=e.types[s],o=t.indexes[r][i[r]],a=t.values[o]??0;n[s]=a,i[r]++}return n}(s,r),r.values),i):(t.warning(!0,`Complex values '${e}' and '${n}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),Ot(e,n))};function zt(t,e,n){if("number"==typeof t&&"number"==typeof e&&"number"==typeof n)return Rt(t,e,n);return $t(t)(t,e)}const Xt=t=>{const e=({timestamp:e})=>t(e);return{start:(t=!0)=>K.update(e,t),stop:()=>U(e),now:()=>Y.isProcessing?Y.timestamp:G.now()}},Ht=(t,e,n=10)=>{let i="";const s=Math.max(Math.round(e/n),2);for(let e=0;e<s;e++)i+=Math.round(1e4*t(e/(s-1)))/1e4+", ";return`linear(${i.substring(0,i.length-2)})`},Gt=2e4;function qt(t){let e=0;let n=t.next(e);for(;!n.done&&e<Gt;)e+=50,n=t.next(e);return e>=Gt?1/0:e}function Zt(t,e=100,n){const i=n({...t,keyframes:[0,e]}),s=Math.min(qt(i),Gt);return{type:"keyframes",ease:t=>i.next(s*t).value/e,duration:g(s)}}function _t(t,e,n){const i=Math.max(e-5,0);return y(n-t(i),e-i)}const Jt=100,Qt=10,te=1,ee=0,ne=800,ie=.3,se=.3,re={granular:.01,default:2},oe={granular:.005,default:.5},ae=.01,le=10,ue=.05,ce=1,he=.001;function de({duration:e=ne,bounce:n=ie,velocity:s=ee,mass:r=te}){let o,a;t.warning(e<=m(le),"Spring duration must be 10 seconds or less","spring-duration-limit");let l=1-n;l=i(ue,ce,l),e=i(ae,le,g(e)),l<1?(o=t=>{const n=t*l,i=n*e,r=n-s,o=fe(t,l),a=Math.exp(-i);return he-r/o*a},a=t=>{const n=t*l*e,i=n*s+s,r=Math.pow(l,2)*Math.pow(t,2)*e,a=Math.exp(-n),u=fe(Math.pow(t,2),l);return(-o(t)+he>0?-1:1)*((i-r)*a)/u}):(o=t=>Math.exp(-t*e)*((t-s)*e+1)-.001,a=t=>Math.exp(-t*e)*(e*e*(s-t)));const u=function(t,e,n){let i=n;for(let n=1;n<pe;n++)i-=t(i)/e(i);return i}(o,a,5/e);if(e=m(e),isNaN(u))return{stiffness:Jt,damping:Qt,duration:e};{const t=Math.pow(u,2)*r;return{stiffness:t,damping:2*l*Math.sqrt(r*t),duration:e}}}const pe=12;function fe(t,e){return t*Math.sqrt(1-e*e)}const me=["duration","bounce"],ge=["stiffness","damping","mass"];function ye(t,e){return e.some(e=>void 0!==t[e])}function ve(t=se,e=ie){const n="object"!=typeof t?{visualDuration:t,keyframes:[0,1],bounce:e}:t;let{restSpeed:s,restDelta:r}=n;const o=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],l={done:!1,value:o},{stiffness:u,damping:c,mass:h,duration:d,velocity:p,isResolvedFromDuration:f}=function(t){let e={velocity:ee,stiffness:Jt,damping:Qt,mass:te,isResolvedFromDuration:!1,...t};if(!ye(t,ge)&&ye(t,me))if(t.visualDuration){const n=t.visualDuration,s=2*Math.PI/(1.2*n),r=s*s,o=2*i(.05,1,1-(t.bounce||0))*Math.sqrt(r);e={...e,mass:te,stiffness:r,damping:o}}else{const n=de(t);e={...e,...n,mass:te},e.isResolvedFromDuration=!0}return e}({...n,velocity:-g(n.velocity||0)}),y=p||0,v=c/(2*Math.sqrt(u*h)),w=a-o,b=g(Math.sqrt(u/h)),T=Math.abs(w)<5;let x;if(s||(s=T?re.granular:re.default),r||(r=T?oe.granular:oe.default),v<1){const t=fe(b,v);x=e=>{const n=Math.exp(-v*b*e);return a-n*((y+v*b*w)/t*Math.sin(t*e)+w*Math.cos(t*e))}}else if(1===v)x=t=>a-Math.exp(-b*t)*(w+(y+b*w)*t);else{const t=b*Math.sqrt(v*v-1);x=e=>{const n=Math.exp(-v*b*e),i=Math.min(t*e,300);return a-n*((y+v*b*w)*Math.sinh(i)+t*w*Math.cosh(i))/t}}const S={calculatedDuration:f&&d||null,next:t=>{const e=x(t);if(f)l.done=t>=d;else{let n=0===t?y:0;v<1&&(n=0===t?m(y):_t(x,t,e));const i=Math.abs(n)<=s,o=Math.abs(a-e)<=r;l.done=i&&o}return l.value=l.done?a:e,l},toString:()=>{const t=Math.min(qt(S),Gt),e=Ht(e=>S.next(t*e).value,t,30);return t+"ms "+e},toTransition:()=>{}};return S}function we({keyframes:t,velocity:e=0,power:n=.8,timeConstant:i=325,bounceDamping:s=10,bounceStiffness:r=500,modifyTarget:o,min:a,max:l,restDelta:u=.5,restSpeed:c}){const h=t[0],d={done:!1,value:h},p=t=>void 0===a?l:void 0===l||Math.abs(a-t)<Math.abs(l-t)?a:l;let f=n*e;const m=h+f,g=void 0===o?m:o(m);g!==m&&(f=g-h);const y=t=>-f*Math.exp(-t/i),v=t=>g+y(t),w=t=>{const e=y(t),n=v(t);d.done=Math.abs(e)<=u,d.value=d.done?g:n};let b,T;const x=t=>{var e;(e=d.value,void 0!==a&&e<a||void 0!==l&&e>l)&&(b=t,T=ve({keyframes:[d.value,p(d.value)],velocity:_t(v,t,d.value),damping:s,stiffness:r,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:t=>{let e=!1;return T||void 0!==b||(e=!0,w(t),x(t)),void 0!==b&&t>=b?T.next(t-b):(!e&&w(t),d)}}}function be(e,n,{clamp:s=!0,ease:o,mixer:a}={}){const l=e.length;if(t.invariant(l===n.length,"Both input and output ranges must be the same length","range-length"),1===l)return()=>n[0];if(2===l&&n[0]===n[1])return()=>n[1];const u=e[0]===e[1];e[0]>e[l-1]&&(e=[...e].reverse(),n=[...n].reverse());const h=function(t,e,n){const i=[],s=n||r.mix||zt,o=t.length-1;for(let n=0;n<o;n++){let r=s(t[n],t[n+1]);if(e){const t=Array.isArray(e)?e[n]||c:e;r=d(t,r)}i.push(r)}return i}(n,o,a),f=h.length,m=t=>{if(u&&t<e[0])return n[0];let i=0;if(f>1)for(;i<e.length-2&&!(t<e[i+1]);i++);const s=p(e[i],e[i+1],t);return h[i](s)};return s?t=>m(i(e[0],e[l-1],t)):m}function Te(t,e){const n=t[t.length-1];for(let i=1;i<=e;i++){const s=p(0,e,i);t.push(Rt(n,1,s))}}function xe(t){const e=[0];return Te(e,t.length-1),e}function Se(t,e){return t.map(t=>t*e)}function Me(t,e){return t.map(()=>e||R).splice(0,t.length-1)}function Ve({duration:t=300,keyframes:e,times:n,ease:i="easeInOut"}){const s=F(i)?i.map(W):W(i),r={done:!1,value:e[0]},o=be(Se(n&&n.length===e.length?n:xe(e),t),e,{ease:Array.isArray(s)?s:Me(e,s)});return{calculatedDuration:t,next:e=>(r.value=o(e),r.done=e>=t,r)}}ve.applyToOptions=t=>{const e=Zt(t,100,ve);return t.ease=e.ease,t.duration=m(e.duration),t.type="keyframes",t};const Ae=t=>null!==t;function ke(t,{repeat:e,repeatType:n="loop"},i,s=1){const r=t.filter(Ae),o=s<0||e&&"loop"!==n&&e%2==1?0:r.length-1;return o&&void 0!==i?i:r[o]}const Ee={decay:we,inertia:we,tween:Ve,keyframes:Ve,spring:ve};function Pe(t){"string"==typeof t.type&&(t.type=Ee[t.type])}class Ce{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,e){return this.finished.then(t,e)}}const Be=t=>t/100;class Oe extends Ce{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:t}=this.options;t&&t.updatedAt!==G.now()&&this.tick(G.now()),this.isStopped=!0,"idle"!==this.state&&(this.teardown(),this.options.onStop?.())},q.mainThread++,this.options=t,this.initAnimation(),this.play(),!1===t.autoplay&&this.pause()}initAnimation(){const{options:t}=this;Pe(t);const{type:e=Ve,repeat:n=0,repeatDelay:i=0,repeatType:s,velocity:r=0}=t;let{keyframes:o}=t;const a=e||Ve;a!==Ve&&"number"!=typeof o[0]&&(this.mixKeyframes=d(Be,zt(o[0],o[1])),o=[0,100]);const l=a({...t,keyframes:o});"mirror"===s&&(this.mirroredGenerator=a({...t,keyframes:[...o].reverse(),velocity:-r})),null===l.calculatedDuration&&(l.calculatedDuration=qt(l));const{calculatedDuration:u}=l;this.calculatedDuration=u,this.resolvedDuration=u+i,this.totalDuration=this.resolvedDuration*(n+1)-i,this.generator=l}updateTime(t){const e=Math.round(t-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=e}tick(t,e=!1){const{generator:n,totalDuration:s,mixKeyframes:r,mirroredGenerator:o,resolvedDuration:a,calculatedDuration:l}=this;if(null===this.startTime)return n.next(0);const{delay:u=0,keyframes:c,repeat:h,repeatType:d,repeatDelay:p,type:f,onUpdate:m,finalKeyframe:g}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-s/this.speed,this.startTime)),e?this.currentTime=t:this.updateTime(t);const y=this.currentTime-u*(this.playbackSpeed>=0?1:-1),v=this.playbackSpeed>=0?y<0:y>s;this.currentTime=Math.max(y,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=s);let w=this.currentTime,b=n;if(h){const t=Math.min(this.currentTime,s)/a;let e=Math.floor(t),n=t%1;!n&&t>=1&&(n=1),1===n&&e--,e=Math.min(e,h+1);Boolean(e%2)&&("reverse"===d?(n=1-n,p&&(n-=p/a)):"mirror"===d&&(b=o)),w=i(0,1,n)*a}const T=v?{done:!1,value:c[0]}:b.next(w);r&&(T.value=r(T.value));let{done:x}=T;v||null===l||(x=this.playbackSpeed>=0?this.currentTime>=s:this.currentTime<=0);const S=null===this.holdTime&&("finished"===this.state||"running"===this.state&&x);return S&&f!==we&&(T.value=ke(c,this.options,g,this.speed)),m&&m(T.value),S&&this.finish(),T}then(t,e){return this.finished.then(t,e)}get duration(){return g(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+g(t)}get time(){return g(this.currentTime)}set time(t){t=m(t),this.currentTime=t,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(G.now());const e=this.playbackSpeed!==t;this.playbackSpeed=t,e&&(this.time=g(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=Xt,startTime:e}=this.options;this.driver||(this.driver=t(t=>this.tick(t))),this.options.onPlay?.();const n=this.driver.now();"finished"===this.state?(this.updateFinished(),this.startTime=n):null!==this.holdTime?this.startTime=n-this.holdTime:this.startTime||(this.startTime=e??n),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(G.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null,q.mainThread--}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}function Re(t){for(let e=1;e<t.length;e++)t[e]??(t[e]=t[e-1])}const Fe=t=>180*t/Math.PI,Ie=t=>{const e=Fe(Math.atan2(t[1],t[0]));return Le(e)},De={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:t=>(Math.abs(t[0])+Math.abs(t[3]))/2,rotate:Ie,rotateZ:Ie,skewX:t=>Fe(Math.atan(t[1])),skewY:t=>Fe(Math.atan(t[2])),skew:t=>(Math.abs(t[1])+Math.abs(t[2]))/2},Le=t=>((t%=360)<0&&(t+=360),t),We=t=>Math.sqrt(t[0]*t[0]+t[1]*t[1]),Ne=t=>Math.sqrt(t[4]*t[4]+t[5]*t[5]),je={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:We,scaleY:Ne,scale:t=>(We(t)+Ne(t))/2,rotateX:t=>Le(Fe(Math.atan2(t[6],t[5]))),rotateY:t=>Le(Fe(Math.atan2(-t[2],t[0]))),rotateZ:Ie,rotate:Ie,skewX:t=>Fe(Math.atan(t[4])),skewY:t=>Fe(Math.atan(t[1])),skew:t=>(Math.abs(t[1])+Math.abs(t[4]))/2};function $e(t){return t.includes("scale")?1:0}function Ke(t,e){if(!t||"none"===t)return $e(e);const n=t.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let i,s;if(n)i=je,s=n;else{const e=t.match(/^matrix\(([-\d.e\s,]+)\)$/u);i=De,s=e}if(!s)return $e(e);const r=i[e],o=s[1].split(",").map(Ye);return"function"==typeof r?r(o):o[r]}const Ue=(t,e)=>{const{transform:n="none"}=getComputedStyle(t);return Ke(n,e)};function Ye(t){return parseFloat(t.trim())}const ze=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Xe=(()=>new Set(ze))(),He=t=>t===et||t===mt,Ge=new Set(["x","y","z"]),qe=ze.filter(t=>!Ge.has(t));const Ze={width:({x:t},{paddingLeft:e="0",paddingRight:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),height:({y:t},{paddingTop:e="0",paddingBottom:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),top:(t,{top:e})=>parseFloat(e),left:(t,{left:e})=>parseFloat(e),bottom:({y:t},{top:e})=>parseFloat(e)+(t.max-t.min),right:({x:t},{left:e})=>parseFloat(e)+(t.max-t.min),x:(t,{transform:e})=>Ke(e,"x"),y:(t,{transform:e})=>Ke(e,"y")};Ze.translateX=Ze.x,Ze.translateY=Ze.y;const _e=new Set;let Je=!1,Qe=!1,tn=!1;function en(){if(Qe){const t=Array.from(_e).filter(t=>t.needsMeasurement),e=new Set(t.map(t=>t.element)),n=new Map;e.forEach(t=>{const e=function(t){const e=[];return qe.forEach(n=>{const i=t.getValue(n);void 0!==i&&(e.push([n,i.get()]),i.set(n.startsWith("scale")?1:0))}),e}(t);e.length&&(n.set(t,e),t.render())}),t.forEach(t=>t.measureInitialState()),e.forEach(t=>{t.render();const e=n.get(t);e&&e.forEach(([e,n])=>{t.getValue(e)?.set(n)})}),t.forEach(t=>t.measureEndState()),t.forEach(t=>{void 0!==t.suspendedScrollY&&window.scrollTo(0,t.suspendedScrollY)})}Qe=!1,Je=!1,_e.forEach(t=>t.complete(tn)),_e.clear()}function nn(){_e.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(Qe=!0)})}function sn(){tn=!0,nn(),en(),tn=!1}class rn{constructor(t,e,n,i,s,r=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=e,this.name=n,this.motionValue=i,this.element=s,this.isAsync=r}scheduleResolve(){this.state="scheduled",this.isAsync?(_e.add(this),Je||(Je=!0,K.read(nn),K.resolveKeyframes(en))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:e,element:n,motionValue:i}=this;if(null===t[0]){const s=i?.get(),r=t[t.length-1];if(void 0!==s)t[0]=s;else if(n&&e){const i=n.readValue(e,r);null!=i&&(t[0]=i)}void 0===t[0]&&(t[0]=r),i&&void 0===s&&i.set(t[0])}Re(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),_e.delete(this)}cancel(){"scheduled"===this.state&&(_e.delete(this),this.state="pending")}resume(){"pending"===this.state&&this.scheduleResolve()}}const on=t=>t.startsWith("--");function an(t,e,n){on(e)?t.style.setProperty(e,n):t.style[e]=n}const ln=u(()=>void 0!==window.ScrollTimeline),un={};function cn(t,e){const n=u(t);return()=>un[e]??n()}const hn=cn(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(t){return!1}return!0},"linearEasing"),dn=([t,e,n,i])=>`cubic-bezier(${t}, ${e}, ${n}, ${i})`,pn={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:dn([0,.65,.55,1]),circOut:dn([.55,0,1,.45]),backIn:dn([.31,.01,.66,-.59]),backOut:dn([.33,1.53,.69,.99])};function fn(t,e){return t?"function"==typeof t?hn()?Ht(t,e):"ease-out":D(t)?dn(t):Array.isArray(t)?t.map(t=>fn(t,e)||pn.easeOut):pn[t]:void 0}function mn(t,e,n,{delay:i=0,duration:s=300,repeat:r=0,repeatType:o="loop",ease:a="easeOut",times:l}={},u=void 0){const c={[e]:n};l&&(c.offset=l);const h=fn(a,s);Array.isArray(h)&&(c.easing=h),j.value&&q.waapi++;const d={delay:i,duration:s,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:r+1,direction:"reverse"===o?"alternate":"normal"};u&&(d.pseudoElement=u);const p=t.animate(c,d);return j.value&&p.finished.finally(()=>{q.waapi--}),p}function gn(t){return"function"==typeof t&&"applyToOptions"in t}function yn({type:t,...e}){return gn(t)&&hn()?t.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}class vn extends Ce{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,!e)return;const{element:n,name:i,keyframes:s,pseudoElement:r,allowFlatten:o=!1,finalKeyframe:a,onComplete:l}=e;this.isPseudoElement=Boolean(r),this.allowFlatten=o,this.options=e,t.invariant("string"!=typeof e.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");const u=yn(e);this.animation=mn(n,i,s,u,r),!1===u.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!r){const t=ke(s,this.options,a,this.speed);this.updateMotionValue?this.updateMotionValue(t):an(n,i,t),this.animation.cancel()}l?.(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(t){}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;"idle"!==t&&"finished"!==t&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return g(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+g(t)}get time(){return g(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=m(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(t){this.animation.startTime=t}attachTimeline({timeline:t,observe:e}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&ln()?(this.animation.timeline=t,c):e(this)}}const wn={anticipate:k,backInOut:A,circInOut:C};function bn(t){"string"==typeof t.ease&&t.ease in wn&&(t.ease=wn[t.ease])}class Tn extends vn{constructor(t){bn(t),Pe(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:e,onUpdate:n,onComplete:i,element:s,...r}=this.options;if(!e)return;if(void 0!==t)return void e.set(t);const o=new Oe({...r,autoplay:!1}),a=m(this.finishedTime??this.time);e.setWithVelocity(o.sample(a-10).value,o.sample(a).value,10),o.stop()}}const xn=(t,e)=>"zIndex"!==e&&(!("number"!=typeof t&&!Array.isArray(t))||!("string"!=typeof t||!Pt.test(t)&&"0"!==t||t.startsWith("url(")));function Sn(t){t.duration=0,t.type="keyframes"}const Mn=new Set(["opacity","clipPath","filter","transform"]),Vn=u(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function An(t){const{motionValue:e,name:n,repeatDelay:i,repeatType:s,damping:r,type:o}=t,a=e?.owner?.current;if(!(a instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:u}=e.owner.getProps();return Vn()&&n&&Mn.has(n)&&("transform"!==n||!u)&&!l&&!i&&"mirror"!==s&&0!==r&&"inertia"!==o}class kn extends Ce{constructor({autoplay:t=!0,delay:e=0,type:n="keyframes",repeat:i=0,repeatDelay:s=0,repeatType:r="loop",keyframes:o,name:a,motionValue:l,element:u,...c}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=G.now();const h={autoplay:t,delay:e,type:n,repeat:i,repeatDelay:s,repeatType:r,name:a,motionValue:l,element:u,...c},d=u?.KeyframeResolver||rn;this.keyframeResolver=new d(o,(t,e,n)=>this.onKeyframesResolved(t,e,h,!n),a,l,u),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,n,i,s){this.keyframeResolver=void 0;const{name:o,type:a,velocity:l,delay:u,isHandoff:h,onUpdate:d}=i;this.resolvedAt=G.now(),function(e,n,i,s){const r=e[0];if(null===r)return!1;if("display"===n||"visibility"===n)return!0;const o=e[e.length-1],a=xn(r,n),l=xn(o,n);return t.warning(a===l,`You are trying to animate ${n} from "${r}" to "${o}". "${a?o:r}" is not an animatable value.`,"value-not-animatable"),!(!a||!l)&&(function(t){const e=t[0];if(1===t.length)return!0;for(let n=0;n<t.length;n++)if(t[n]!==e)return!0}(e)||("spring"===i||gn(i))&&s)}(e,o,a,l)||(!r.instantAnimations&&u||d?.(ke(e,i,n)),e[0]=e[e.length-1],Sn(i),i.repeat=0);const p={startTime:s?this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:n,...i,keyframes:e},f=!h&&An(p)?new Tn({...p,element:p.motionValue.owner.current}):new Oe(p);f.finished.then(()=>this.notifyFinished()).catch(c),this.pendingTimeline&&(this.stopTimeline=f.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=f}get finished(){return this._animation?this.animation.finished:this._finished}then(t,e){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),sn()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}class En{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map(t=>t.finished))}getAll(t){return this.animations[0][t]}setAll(t,e){for(let n=0;n<this.animations.length;n++)this.animations[n][t]=e}attachTimeline(t){const e=this.animations.map(e=>e.attachTimeline(t));return()=>{e.forEach((t,e)=>{t&&t(),this.animations[e].stop()})}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get state(){return this.getAll("state")}get startTime(){return this.getAll("startTime")}get duration(){return Pn(this.animations,"duration")}get iterationDuration(){return Pn(this.animations,"iterationDuration")}runAll(t){this.animations.forEach(e=>e[t]())}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}function Pn(t,e){let n=0;for(let i=0;i<t.length;i++){const s=t[i][e];null!==s&&s>n&&(n=s)}return n}class Cn extends En{then(t,e){return this.finished.finally(t).then(()=>{})}}class Bn extends vn{constructor(t){super(),this.animation=t,t.onfinish=()=>{this.finishedTime=this.time,this.notifyFinished()}}}const On=new WeakMap,Rn=(t,e="")=>`${t}:${e}`;function Fn(t){const e=On.get(t)||new Map;return On.set(t,e),e}const In=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Dn(t){const e=In.exec(t);if(!e)return[,];const[,n,i,s]=e;return[`--${n??i}`,s]}function Ln(e,n,i=1){t.invariant(i<=4,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[s,r]=Dn(e);if(!s)return;const a=window.getComputedStyle(n).getPropertyValue(s);if(a){const t=a.trim();return o(t)?parseFloat(t):t}return Q(r)?Ln(r,n,i+1):r}function Wn(t,e){return t?.[e]??t?.default??t}const Nn=new Set(["width","height","top","left","right","bottom",...ze]),jn=t=>e=>e.test(t),$n=[et,mt,ft,pt,yt,gt,{test:t=>"auto"===t,parse:t=>t}],Kn=t=>$n.find(jn(t));function Un(t){return"number"==typeof t?0===t:null===t||("none"===t||"0"===t||l(t))}const Yn=new Set(["brightness","contrast","saturate","opacity"]);function zn(t){const[e,n]=t.slice(0,-1).split("(");if("drop-shadow"===e)return t;const[i]=n.match(rt)||[];if(!i)return t;const s=n.replace(i,"");let r=Yn.has(e)?1:0;return i!==n&&(r*=100),e+"("+r+s+")"}const Xn=/\b([a-z-]*)\(.*?\)/gu,Hn={...Pt,getAnimatableNone:t=>{const e=t.match(Xn);return e?e.map(zn).join(" "):t}},Gn={...et,transform:Math.round},qn={rotate:pt,rotateX:pt,rotateY:pt,rotateZ:pt,scale:it,scaleX:it,scaleY:it,scaleZ:it,skew:pt,skewX:pt,skewY:pt,distance:mt,translateX:mt,translateY:mt,translateZ:mt,x:mt,y:mt,z:mt,perspective:mt,transformPerspective:mt,opacity:nt,originX:vt,originY:vt,originZ:mt},Zn={borderWidth:mt,borderTopWidth:mt,borderRightWidth:mt,borderBottomWidth:mt,borderLeftWidth:mt,borderRadius:mt,radius:mt,borderTopLeftRadius:mt,borderTopRightRadius:mt,borderBottomRightRadius:mt,borderBottomLeftRadius:mt,width:mt,maxWidth:mt,height:mt,maxHeight:mt,top:mt,right:mt,bottom:mt,left:mt,inset:mt,insetBlock:mt,insetBlockStart:mt,insetBlockEnd:mt,insetInline:mt,insetInlineStart:mt,insetInlineEnd:mt,padding:mt,paddingTop:mt,paddingRight:mt,paddingBottom:mt,paddingLeft:mt,paddingBlock:mt,paddingBlockStart:mt,paddingBlockEnd:mt,paddingInline:mt,paddingInlineStart:mt,paddingInlineEnd:mt,margin:mt,marginTop:mt,marginRight:mt,marginBottom:mt,marginLeft:mt,marginBlock:mt,marginBlockStart:mt,marginBlockEnd:mt,marginInline:mt,marginInlineStart:mt,marginInlineEnd:mt,backgroundPositionX:mt,backgroundPositionY:mt,...qn,zIndex:Gn,fillOpacity:nt,strokeOpacity:nt,numOctaves:Gn},_n={...Zn,color:bt,backgroundColor:bt,outlineColor:bt,fill:bt,stroke:bt,borderColor:bt,borderTopColor:bt,borderRightColor:bt,borderBottomColor:bt,borderLeftColor:bt,filter:Hn,WebkitFilter:Hn},Jn=t=>_n[t];function Qn(t,e){let n=Jn(t);return n!==Hn&&(n=Pt),n.getAnimatableNone?n.getAnimatableNone(e):void 0}const ti=new Set(["auto","none","0"]);class ei extends rn{constructor(t,e,n,i,s){super(t,e,n,i,s,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:e,name:n}=this;if(!e||!e.current)return;super.readKeyframes();for(let n=0;n<t.length;n++){let i=t[n];if("string"==typeof i&&(i=i.trim(),Q(i))){const s=Ln(i,e.current);void 0!==s&&(t[n]=s),n===t.length-1&&(this.finalKeyframe=i)}}if(this.resolveNoneKeyframes(),!Nn.has(n)||2!==t.length)return;const[i,s]=t,r=Kn(i),o=Kn(s);if(r!==o)if(He(r)&&He(o))for(let e=0;e<t.length;e++){const n=t[e];"string"==typeof n&&(t[e]=parseFloat(n))}else Ze[n]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:e}=this,n=[];for(let e=0;e<t.length;e++)(null===t[e]||Un(t[e]))&&n.push(e);n.length&&function(t,e,n){let i,s=0;for(;s<t.length&&!i;){const e=t[s];"string"==typeof e&&!ti.has(e)&&Vt(e).values.length&&(i=t[s]),s++}if(i&&n)for(const s of e)t[s]=Qn(n,i)}(t,n,e)}measureInitialState(){const{element:t,unresolvedKeyframes:e,name:n}=this;if(!t||!t.current)return;"height"===n&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Ze[n](t.measureViewportBox(),window.getComputedStyle(t.current)),e[0]=this.measuredOrigin;const i=e[e.length-1];void 0!==i&&t.getValue(n,i).jump(i,!1)}measureEndState(){const{element:t,name:e,unresolvedKeyframes:n}=this;if(!t||!t.current)return;const i=t.getValue(e);i&&i.jump(this.measuredOrigin,!1);const s=n.length-1,r=n[s];n[s]=Ze[e](t.measureViewportBox(),window.getComputedStyle(t.current)),null!==r&&void 0===this.finalKeyframe&&(this.finalKeyframe=r),this.removedTransforms?.length&&this.removedTransforms.forEach(([e,n])=>{t.getValue(e).set(n)}),this.resolveNoneKeyframes()}}const ni=new Set(["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","width","maxWidth","height","maxHeight","top","right","bottom","left","inset","insetBlock","insetBlockStart","insetBlockEnd","insetInline","insetInlineStart","insetInlineEnd","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingBlockStart","paddingBlockEnd","paddingInline","paddingInlineStart","paddingInlineEnd","margin","marginTop","marginRight","marginBottom","marginLeft","marginBlock","marginBlockStart","marginBlockEnd","marginInline","marginInlineStart","marginInlineEnd","backgroundPositionX","backgroundPositionY"]);function ii(t,e){for(let n=0;n<t.length;n++)"number"==typeof t[n]&&ni.has(e)&&(t[n]=t[n]+"px")}const si=u(()=>{try{document.createElement("div").animate({opacity:[1]})}catch(t){return!1}return!0}),ri=new Set(["opacity","clipPath","filter","transform"]);function oi(t,e,n){if(t instanceof EventTarget)return[t];if("string"==typeof t){let i=document;e&&(i=e.current);const s=n?.[t]??i.querySelectorAll(t);return s?Array.from(s):[]}return Array.from(t)}function ai(t){return(e,n)=>{const i=oi(e),s=[];for(const e of i){const i=t(e,n);s.push(i)}return()=>{for(const t of s)t()}}}const li=(t,e)=>e&&"number"==typeof t?e.transform(t):t;class ui{constructor(){this.latest={},this.values=new Map}set(t,e,n,i,s=!0){const r=this.values.get(t);r&&r.onRemove();const o=()=>{const i=e.get();this.latest[t]=s?li(i,Zn[t]):i,n&&K.render(n)};o();const a=e.on("change",o);i&&e.addDependent(i);const l=()=>{a(),n&&U(n),this.values.delete(t),i&&e.removeDependent(i)};return this.values.set(t,{value:e,onRemove:l}),l}get(t){return this.values.get(t)?.value}destroy(){for(const t of this.values.values())t.onRemove()}}function ci(t){const e=new WeakMap,n=[];return(i,s)=>{const r=e.get(i)??new ui;e.set(i,r);for(const e in s){const o=s[e],a=t(i,r,e,o);n.push(a)}return()=>{for(const t of n)t()}}}const hi=(t,e,n,i)=>{const s=function(t,e){if(!(e in t))return!1;const n=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),e)||Object.getOwnPropertyDescriptor(t,e);return n&&"function"==typeof n.set}(t,n),r=s?n:n.startsWith("data")||n.startsWith("aria")?n.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`):n;const o=s?()=>{t[r]=e.latest[n]}:()=>{const i=e.latest[n];null==i?t.removeAttribute(r):t.setAttribute(r,String(i))};return e.set(n,i,o)},di=ai(ci(hi)),pi=ci((t,e,n,i)=>e.set(n,i,()=>{t[n]=e.latest[n]},void 0,!1));function fi(t){return a(t)&&"offsetHeight"in t}const mi={current:void 0};class gi{constructor(t,e={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=t=>{const e=G.now();if(this.updatedAt!==e&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(t),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const t of this.dependents)t.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=e.owner}setCurrent(t){var e;this.current=t,this.updatedAt=G.now(),null===this.canTrackVelocity&&void 0!==t&&(this.canTrackVelocity=(e=this.current,!isNaN(parseFloat(e))))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,e){this.events[t]||(this.events[t]=new f);const n=this.events[t].add(e);return"change"===t?()=>{n(),K.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,e){this.passiveEffect=t,this.stopPassiveEffect=e}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,e,n){this.set(e),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-n}jump(t,e=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,e&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return mi.current&&mi.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){const t=G.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||t-this.updatedAt>30)return 0;const e=Math.min(this.updatedAt-this.prevUpdatedAt,30);return y(parseFloat(this.current)-parseFloat(this.prevFrameValue),e)}start(t){return this.stop(),new Promise(e=>{this.hasAnimated=!0,this.animation=t(e),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function yi(t,e){return new gi(t,e)}const vi={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"};const wi=new Set(["originX","originY","originZ"]),bi=(t,e,n,i)=>{let s,r;return Xe.has(n)?(e.get("transform")||(fi(t)||e.get("transformBox")||bi(t,e,"transformBox",new gi("fill-box")),e.set("transform",new gi("none"),()=>{t.style.transform=function(t){let e="",n=!0;for(let i=0;i<ze.length;i++){const s=ze[i],r=t.latest[s];if(void 0===r)continue;let o=!0;o="number"==typeof r?r===(s.startsWith("scale")?1:0):0===parseFloat(r),o||(n=!1,e+=`${vi[s]||s}(${t.latest[s]}) `)}return n?"none":e.trim()}(e)})),r=e.get("transform")):wi.has(n)?(e.get("transformOrigin")||e.set("transformOrigin",new gi(""),()=>{const n=e.latest.originX??"50%",i=e.latest.originY??"50%",s=e.latest.originZ??0;t.style.transformOrigin=`${n} ${i} ${s}`}),r=e.get("transformOrigin")):s=on(n)?()=>{t.style.setProperty(n,e.latest[n])}:()=>{t.style[n]=e.latest[n]},e.set(n,i,s,r)},Ti=ai(ci(bi)),xi=mt.transform;const Si=ai(ci((t,e,n,i)=>{if(n.startsWith("path"))return function(t,e,n,i){return K.render(()=>t.setAttribute("pathLength","1")),"pathOffset"===n?e.set(n,i,()=>t.setAttribute("stroke-dashoffset",xi(-e.latest[n]))):(e.get("stroke-dasharray")||e.set("stroke-dasharray",new gi("1 1"),()=>{const{pathLength:n=1,pathSpacing:i}=e.latest;t.setAttribute("stroke-dasharray",`${xi(n)} ${xi(i??1-Number(n))}`)}),e.set(n,i,void 0,e.get("stroke-dasharray")))}(t,e,n,i);if(n.startsWith("attr"))return hi(t,e,function(t){return t.replace(/^attr([A-Z])/,(t,e)=>e.toLowerCase())}(n),i);return(n in t.style?bi:hi)(t,e,n,i)}));const{schedule:Mi,cancel:Vi}=$(queueMicrotask,!1),Ai={x:!1,y:!1};function ki(){return Ai.x||Ai.y}function Ei(t,e){const n=oi(t),i=new AbortController;return[n,{passive:!0,...e,signal:i.signal},()=>i.abort()]}function Pi(t){return!("touch"===t.pointerType||ki())}const Ci=(t,e)=>!!e&&(t===e||Ci(t,e.parentElement)),Bi=t=>"mouse"===t.pointerType?"number"!=typeof t.button||t.button<=0:!1!==t.isPrimary,Oi=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);const Ri=new WeakSet;function Fi(t){return e=>{"Enter"===e.key&&t(e)}}function Ii(t,e){t.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}function Di(t){return Bi(t)&&!ki()}function Li(t,e){const n=window.getComputedStyle(t);return on(e)?n.getPropertyValue(e):n[e]}function Wi(t){return a(t)&&"ownerSVGElement"in t}const Ni=new WeakMap;let ji;const $i=(t,e,n)=>(i,s)=>s&&s[0]?s[0][t+"Size"]:Wi(i)&&"getBBox"in i?i.getBBox()[e]:i[n],Ki=$i("inline","width","offsetWidth"),Ui=$i("block","height","offsetHeight");function Yi({target:t,borderBoxSize:e}){Ni.get(t)?.forEach(n=>{n(t,{get width(){return Ki(t,e)},get height(){return Ui(t,e)}})})}function zi(t){t.forEach(Yi)}function Xi(t,e){ji||"undefined"!=typeof ResizeObserver&&(ji=new ResizeObserver(zi));const n=oi(t);return n.forEach(t=>{let n=Ni.get(t);n||(n=new Set,Ni.set(t,n)),n.add(e),ji?.observe(t)}),()=>{n.forEach(t=>{const n=Ni.get(t);n?.delete(e),n?.size||ji?.unobserve(t)})}}const Hi=new Set;let Gi;function qi(t){return Hi.add(t),Gi||(Gi=()=>{const t={get width(){return window.innerWidth},get height(){return window.innerHeight}};Hi.forEach(e=>e(t))},window.addEventListener("resize",Gi)),()=>{Hi.delete(t),Hi.size||"function"!=typeof Gi||(window.removeEventListener("resize",Gi),Gi=void 0)}}function Zi(t,e){return"function"==typeof t?qi(t):Xi(t,e)}function _i(t,e){let n;const i=()=>{const{currentTime:i}=e,s=(null===i?0:i.value)/100;n!==s&&t(s),n=s};return K.preUpdate(i,!0),()=>U(i)}function Ji(){const{value:t}=j;null!==t?(t.frameloop.rate.push(Y.delta),t.animations.mainThread.push(q.mainThread),t.animations.waapi.push(q.waapi),t.animations.layout.push(q.layout)):U(Ji)}function Qi(t){return t.reduce((t,e)=>t+e,0)/t.length}function ts(t,e=Qi){return 0===t.length?{min:0,max:0,avg:0}:{min:Math.min(...t),max:Math.max(...t),avg:e(t)}}const es=t=>Math.round(1e3/t);function ns(){j.value=null,j.addProjectionMetrics=null}function is(){const{value:t}=j;if(!t)throw new Error("Stats are not being measured");ns(),U(Ji);const e={frameloop:{setup:ts(t.frameloop.setup),rate:ts(t.frameloop.rate),read:ts(t.frameloop.read),resolveKeyframes:ts(t.frameloop.resolveKeyframes),preUpdate:ts(t.frameloop.preUpdate),update:ts(t.frameloop.update),preRender:ts(t.frameloop.preRender),render:ts(t.frameloop.render),postRender:ts(t.frameloop.postRender)},animations:{mainThread:ts(t.animations.mainThread),waapi:ts(t.animations.waapi),layout:ts(t.animations.layout)},layoutProjection:{nodes:ts(t.layoutProjection.nodes),calculatedTargetDeltas:ts(t.layoutProjection.calculatedTargetDeltas),calculatedProjections:ts(t.layoutProjection.calculatedProjections)}},{rate:n}=e.frameloop;return n.min=es(n.min),n.max=es(n.max),n.avg=es(n.avg),[n.min,n.max]=[n.max,n.min],e}function ss(t){return Wi(t)&&"svg"===t.tagName}function rs(t,e){if("first"===t)return 0;{const n=e-1;return"last"===t?n:n/2}}function os(...t){const e=!Array.isArray(t[0]),n=e?0:-1,i=t[0+n],s=be(t[1+n],t[2+n],t[3+n]);return e?s(i):s}function as(t){const e=[];mi.current=e;const n=t();mi.current=void 0;const i=yi(n);return function(t,e,n){const i=()=>e.set(n()),s=()=>K.preRender(i,!1,!0),r=t.map(t=>t.on("change",s));e.on("destroy",()=>{r.forEach(t=>t()),U(i)})}(e,i,t),i}const ls=t=>Boolean(t&&t.getVelocity);function us(t,e,n){const i=t.get();let s,r=null,o=i;const a="string"==typeof i?i.replace(/[\d.-]/g,""):void 0,l=()=>{r&&(r.stop(),r=null)};if(t.attach((e,i)=>{o=e,s=t=>i(cs(t,a)),K.postRender(()=>{l(),r=new Oe({keyframes:[hs(t.get()),hs(o)],velocity:t.getVelocity(),type:"spring",restDelta:.001,restSpeed:.01,...n,onUpdate:s}),t.events.animationStart?.notify(),r?.then(()=>{t.events.animationComplete?.notify()})})},l),ls(e)){const n=e.on("change",e=>t.set(cs(e,a))),i=t.on("destroy",n);return()=>{n(),i()}}return l}function cs(t,e){return e?t+e:t}function hs(t){return"number"==typeof t?t:parseFloat(t)}const ds=[...$n,bt,Pt],ps=t=>ds.find(jn(t));function fs(t){return"layout"===t?"group":"enter"===t||"new"===t?"new":"exit"===t||"old"===t?"old":"group"}let ms={},gs=null;const ys=(t,e)=>{ms[t]=e},vs=()=>{gs||(gs=document.createElement("style"),gs.id="motion-view");let t="";for(const e in ms){const n=ms[e];t+=`${e} {\n`;for(const[e,i]of Object.entries(n))t+=` ${e}: ${i};\n`;t+="}\n"}gs.textContent=t,document.head.appendChild(gs),ms={}},ws=()=>{gs&&gs.parentElement&&gs.parentElement.removeChild(gs)};function bs(t){const e=t.match(/::view-transition-(old|new|group|image-pair)\((.*?)\)/);return e?{layer:e[2],type:e[1]}:null}function Ts(t){const{effect:e}=t;return!!e&&(e.target===document.documentElement&&e.pseudoElement?.startsWith("::view-transition"))}function xs(){return document.getAnimations().filter(Ts)}const Ss=["layout","enter","exit","new","old"];function Ms(t){const{update:e,targets:n,options:i}=t;if(!document.startViewTransition)return new Promise(async t=>{await e(),t(new En([]))});(function(t,e){return e.has(t)&&Object.keys(e.get(t)).length>0})("root",n)||ys(":root",{"view-transition-name":"none"}),ys("::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*)",{"animation-timing-function":"linear !important"}),vs();const s=document.startViewTransition(async()=>{await e()});return s.finished.finally(()=>{ws()}),new Promise(t=>{s.ready.then(()=>{const e=xs(),s=[];n.forEach((t,e)=>{for(const n of Ss){if(!t[n])continue;const{keyframes:r,options:o}=t[n];for(let[t,a]of Object.entries(r)){if(!a)continue;const r={...Wn(i,t),...Wn(o,t)},l=fs(n);if("opacity"===t&&!Array.isArray(a)){a=["new"===l?0:1,a]}"function"==typeof r.delay&&(r.delay=r.delay(0,1)),r.duration&&(r.duration=m(r.duration)),r.delay&&(r.delay=m(r.delay));const u=new vn({...r,element:document.documentElement,name:t,pseudoElement:`::view-transition-${l}(${e})`,keyframes:a});s.push(u)}}});for(const t of e){if("finished"===t.playState)continue;const{effect:e}=t;if(!(e&&e instanceof KeyframeEffect))continue;const{pseudoElement:r}=e;if(!r)continue;const o=bs(r);if(!o)continue;const a=n.get(o.layer);if(a)Vs(a,"enter")&&Vs(a,"exit")&&e.getKeyframes().some(t=>t.mixBlendMode)?s.push(new Bn(t)):t.cancel();else{const n="group"===o.type?"layout":"";let r={...Wn(i,n)};r.duration&&(r.duration=m(r.duration)),r=yn(r);const a=fn(r.ease,r.duration);e.updateTiming({delay:m(r.delay??0),duration:r.duration,easing:a}),s.push(new Bn(t))}}t(new En(s))})})}function Vs(t,e){return t?.[e]?.keyframes.opacity}let As=[],ks=null;function Es(){ks=null;const[t]=As;var e;t&&(n(As,e=t),ks=e,Ms(e).then(t=>{e.notifyReady(t),t.finished.finally(Es)}))}function Ps(){for(let t=As.length-1;t>=0;t--){const e=As[t],{interrupt:n}=e.options;if("immediate"===n){const n=As.slice(0,t+1).map(t=>t.update),i=As.slice(t+1);e.update=()=>{n.forEach(t=>t())},As=[e,...i];break}}ks&&"immediate"!==As[0]?.options.interrupt||Es()}class Cs{constructor(t,e={}){var n;this.currentSubject="root",this.targets=new Map,this.notifyReady=c,this.readyPromise=new Promise(t=>{this.notifyReady=t}),this.update=t,this.options={interrupt:"wait",...e},n=this,As.push(n),Mi.render(Ps)}get(t){return this.currentSubject=t,this}layout(t,e){return this.updateTarget("layout",t,e),this}new(t,e){return this.updateTarget("new",t,e),this}old(t,e){return this.updateTarget("old",t,e),this}enter(t,e){return this.updateTarget("enter",t,e),this}exit(t,e){return this.updateTarget("exit",t,e),this}crossfade(t){return this.updateTarget("enter",{opacity:1},t),this.updateTarget("exit",{opacity:0},t),this}updateTarget(t,e,n={}){const{currentSubject:i,targets:s}=this;s.has(i)||s.set(i,{});s.get(i)[t]={keyframes:e,options:n}}then(t,e){return this.readyPromise.then(t,e)}}const Bs=K,Os=N.reduce((t,e)=>(t[e]=t=>U(t),t),{});function Rs(t){return"object"==typeof t&&!Array.isArray(t)}function Fs(t,e,n,i){return"string"==typeof t&&Rs(e)?oi(t,n,i):t instanceof NodeList?Array.from(t):Array.isArray(t)?t:[t]}function Is(t,e,n){return t*(e+1)}function Ds(t,e,n,i){return"number"==typeof e?e:e.startsWith("-")||e.startsWith("+")?Math.max(0,t+parseFloat(e)):"<"===e?n:e.startsWith("<")?Math.max(0,n+parseFloat(e.slice(1))):i.get(e)??t}function Ls(t,e,i,s,r,o){!function(t,e,i){for(let s=0;s<t.length;s++){const r=t[s];r.at>e&&r.at<i&&(n(t,r),s--)}}(t,r,o);for(let n=0;n<e.length;n++)t.push({value:e[n],at:Rt(r,o,s[n]),easing:I(i,n)})}function Ws(t,e){for(let n=0;n<t.length;n++)t[n]=t[n]/(e+1)}function Ns(t,e){return t.at===e.at?null===t.value?1:null===e.value?-1:0:t.at-e.at}function js(t,e){return!e.has(t)&&e.set(t,{}),e.get(t)}function $s(t,e){return e[t]||(e[t]=[]),e[t]}function Ks(t){return Array.isArray(t)?t:[t]}function Us(t,e){return t&&t[e]?{...t,...t[e]}:{...t}}const Ys=t=>"number"==typeof t,zs=t=>t.every(Ys),Xs=new WeakMap;function Hs(t){const e=[{},{}];return t?.values.forEach((t,n)=>{e[0][n]=t.get(),e[1][n]=t.getVelocity()}),e}function Gs(t,e,n,i){if("function"==typeof e){const[s,r]=Hs(i);e=e(void 0!==n?n:t.custom,s,r)}if("string"==typeof e&&(e=t.variants&&t.variants[e]),"function"==typeof e){const[s,r]=Hs(i);e=e(void 0!==n?n:t.custom,s,r)}return e}function qs(t,e,n){t.hasValue(e)?t.getValue(e).set(n):t.addValue(e,yi(n))}function Zs(t){return(t=>Array.isArray(t))(t)?t[t.length-1]||0:t}function _s(t,e){const n=function(t,e){const n=t.getProps();return Gs(n,e,n.custom,t)}(t,e);let{transitionEnd:i={},transition:s={},...r}=n||{};r={...r,...i};for(const e in r){qs(t,e,Zs(r[e]))}}function Js(t,e){const n=t.getValue("willChange");if(i=n,Boolean(ls(i)&&i.add))return n.add(e);if(!n&&r.WillChange){const n=new r.WillChange("auto");t.addValue("willChange",n),n.add(e)}var i}const Qs=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),tr="data-"+Qs("framerAppearId");function er(t){return t.props[tr]}const nr=t=>null!==t;const ir={type:"spring",stiffness:500,damping:25,restSpeed:10},sr={type:"keyframes",duration:.8},rr={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},or=(t,{keyframes:e})=>e.length>2?sr:Xe.has(t)?t.startsWith("scale")?{type:"spring",stiffness:550,damping:0===e[1]?2*Math.sqrt(550):30,restSpeed:10}:ir:rr;const ar=(t,e,n,i={},s,o)=>a=>{const l=Wn(i,t)||{},u=l.delay||i.delay||0;let{elapsed:c=0}=i;c-=m(u);const h={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:e.getVelocity(),...l,delay:-c,onUpdate:t=>{e.set(t),l.onUpdate&&l.onUpdate(t)},onComplete:()=>{a(),l.onComplete&&l.onComplete()},name:t,motionValue:e,element:o?void 0:s};(function({when:t,delay:e,delayChildren:n,staggerChildren:i,staggerDirection:s,repeat:r,repeatType:o,repeatDelay:a,from:l,elapsed:u,...c}){return!!Object.keys(c).length})(l)||Object.assign(h,or(t,h)),h.duration&&(h.duration=m(h.duration)),h.repeatDelay&&(h.repeatDelay=m(h.repeatDelay)),void 0!==h.from&&(h.keyframes[0]=h.from);let d=!1;if((!1===h.type||0===h.duration&&!h.repeatDelay)&&(Sn(h),0===h.delay&&(d=!0)),(r.instantAnimations||r.skipAnimations)&&(d=!0,Sn(h),h.delay=0),h.allowFlatten=!l.type&&!l.ease,d&&!o&&void 0!==e.get()){const t=function(t,{repeat:e,repeatType:n="loop"},i){const s=t.filter(nr),r=e&&"loop"!==n&&e%2==1?0:s.length-1;return r&&void 0!==i?i:s[r]}(h.keyframes,l);if(void 0!==t)return void K.update(()=>{h.onUpdate(t),h.onComplete()})}return l.isSync?new Oe(h):new kn(h)};function lr({protectedKeys:t,needsAnimating:e},n){const i=t.hasOwnProperty(n)&&!0!==e[n];return e[n]=!1,i}function ur(t,e,{delay:n=0,transitionOverride:i,type:s}={}){let{transition:r=t.getDefaultTransition(),transitionEnd:o,...a}=e;i&&(r=i);const l=[],u=s&&t.animationState&&t.animationState.getState()[s];for(const e in a){const i=t.getValue(e,t.latestValues[e]??null),s=a[e];if(void 0===s||u&&lr(u,e))continue;const o={delay:n,...Wn(r||{},e)},c=i.get();if(void 0!==c&&!i.isAnimating&&!Array.isArray(s)&&s===c&&!o.velocity)continue;let h=!1;if(window.MotionHandoffAnimation){const n=er(t);if(n){const t=window.MotionHandoffAnimation(n,e,K);null!==t&&(o.startTime=t,h=!0)}}Js(t,e),i.start(ar(e,i,s,t.shouldReduceMotion&&Nn.has(e)?{type:!1}:o,t,h));const d=i.animation;d&&l.push(d)}return o&&Promise.all(l).then(()=>{K.update(()=>{o&&_s(t,o)})}),l}const cr={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},hr={};for(const t in cr)hr[t]={isEnabled:e=>cr[t].some(t=>!!e[t])};const dr=()=>({x:{min:0,max:0},y:{min:0,max:0}}),pr="undefined"!=typeof window,fr={current:null},mr={current:!1};const gr=["initial","animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"];function yr(t){return null!==(e=t.animate)&&"object"==typeof e&&"function"==typeof e.start||gr.some(e=>function(t){return"string"==typeof t||Array.isArray(t)}(t[e]));var e}const vr=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class wr{scrapeMotionValuesFromProps(t,e,n){return{}}constructor({parent:t,props:e,presenceContext:n,reducedMotionConfig:i,blockInitialAnimation:s,visualState:r},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=rn,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const t=G.now();this.renderScheduledAt<t&&(this.renderScheduledAt=t,K.render(this.render,!1,!0))};const{latestValues:a,renderState:l}=r;this.latestValues=a,this.baseTarget={...a},this.initialValues=e.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=e,this.presenceContext=n,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=o,this.blockInitialAnimation=Boolean(s),this.isControllingVariants=yr(e),this.isVariantNode=function(t){return Boolean(yr(t)||t.variants)}(e),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(e,{},this);for(const t in c){const e=c[t];void 0!==a[t]&&ls(e)&&e.set(a[t])}}mount(t){this.current=t,Xs.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((t,e)=>this.bindToMotionValue(e,t)),"never"===this.reducedMotionConfig?this.shouldReduceMotion=!1:"always"===this.reducedMotionConfig?this.shouldReduceMotion=!0:(mr.current||function(){if(mr.current=!0,pr)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>fr.current=t.matches;t.addEventListener("change",e),e()}else fr.current=!1}(),this.shouldReduceMotion=fr.current),this.parent?.addChild(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),U(this.notifyUpdate),U(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const e=this.features[t];e&&(e.unmount(),e.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,e){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const n=Xe.has(t);n&&this.onBindTransform&&this.onBindTransform();const i=e.on("change",e=>{this.latestValues[t]=e,this.props.onUpdate&&K.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let s;window.MotionCheckAppearSync&&(s=window.MotionCheckAppearSync(this,t,e)),this.valueSubscriptions.set(t,()=>{i(),s&&s(),e.owner&&e.stop()})}sortNodePosition(t){return this.current&&this.sortInstanceNodePosition&&this.type===t.type?this.sortInstanceNodePosition(this.current,t.current):0}updateFeatures(){let t="animation";for(t in hr){const e=hr[t];if(!e)continue;const{isEnabled:n,Feature:i}=e;if(!this.features[t]&&i&&n(this.props)&&(this.features[t]=new i(this)),this.features[t]){const e=this.features[t];e.isMounted?e.update():(e.mount(),e.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):{x:{min:0,max:0},y:{min:0,max:0}}}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,e){this.latestValues[t]=e}update(t,e){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=e;for(let e=0;e<vr.length;e++){const n=vr[e];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);const i=t["on"+n];i&&(this.propEventSubscriptions[n]=this.on(n,i))}this.prevMotionValues=function(t,e,n){for(const i in e){const s=e[i],r=n[i];if(ls(s))t.addValue(i,s);else if(ls(r))t.addValue(i,yi(s,{owner:t}));else if(r!==s)if(t.hasValue(i)){const e=t.getValue(i);!0===e.liveStyle?e.jump(s):e.hasAnimated||e.set(s)}else{const e=t.getStaticValue(i);t.addValue(i,yi(void 0!==e?e:s,{owner:t}))}}for(const i in n)void 0===e[i]&&t.removeValue(i);return e}(this,this.scrapeMotionValuesFromProps(t,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const e=this.getClosestVariantNode();if(e)return e.variantChildren&&e.variantChildren.add(t),()=>e.variantChildren.delete(t)}addValue(t,e){const n=this.values.get(t);e!==n&&(n&&this.removeValue(t),this.bindToMotionValue(t,e),this.values.set(t,e),this.latestValues[t]=e.get())}removeValue(t){this.values.delete(t);const e=this.valueSubscriptions.get(t);e&&(e(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,e){if(this.props.values&&this.props.values[t])return this.props.values[t];let n=this.values.get(t);return void 0===n&&void 0!==e&&(n=yi(null===e?void 0:e,{owner:this}),this.addValue(t,n)),n}readValue(t,e){let n=void 0===this.latestValues[t]&&this.current?this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options):this.latestValues[t];return null!=n&&("string"==typeof n&&(o(n)||l(n))?n=parseFloat(n):!ps(n)&&Pt.test(e)&&(n=Qn(t,e)),this.setBaseTarget(t,ls(n)?n.get():n)),ls(n)?n.get():n}setBaseTarget(t,e){this.baseTarget[t]=e}getBaseTarget(t){const{initial:e}=this.props;let n;if("string"==typeof e||"object"==typeof e){const i=Gs(this.props,e,this.presenceContext?.custom);i&&(n=i[t])}if(e&&void 0!==n)return n;const i=this.getBaseTargetFromProps(this.props,t);return void 0===i||ls(i)?void 0!==this.initialValues[t]&&void 0===n?void 0:this.baseTarget[t]:i}on(t,e){return this.events[t]||(this.events[t]=new f),this.events[t].add(e)}notify(t,...e){this.events[t]&&this.events[t].notify(...e)}scheduleRenderMicrotask(){Mi.render(this.render)}}class br extends wr{constructor(){super(...arguments),this.KeyframeResolver=ei}sortInstanceNodePosition(t,e){return 2&t.compareDocumentPosition(e)?1:-1}getBaseTargetFromProps(t,e){return t.style?t.style[e]:void 0}removeValueFromRenderState(t,{vars:e,style:n}){delete e[t],delete n[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ls(t)&&(this.childSubscription=t.on("change",t=>{this.current&&(this.current.textContent=`${t}`)}))}}const Tr={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},xr=ze.length;function Sr(t,e,n){const{style:i,vars:s,transformOrigin:r}=t;let o=!1,a=!1;for(const t in e){const n=e[t];if(Xe.has(t))o=!0;else if(_(t))s[t]=n;else{const e=li(n,Zn[t]);t.startsWith("origin")?(a=!0,r[t]=e):i[t]=e}}if(e.transform||(o||n?i.transform=function(t,e,n){let i="",s=!0;for(let r=0;r<xr;r++){const o=ze[r],a=t[o];if(void 0===a)continue;let l=!0;if(l="number"==typeof a?a===(o.startsWith("scale")?1:0):0===parseFloat(a),!l||n){const t=li(a,Zn[o]);l||(s=!1,i+=`${Tr[o]||o}(${t}) `),n&&(e[o]=t)}}return i=i.trim(),n?i=n(e,s?"":i):s&&(i="none"),i}(e,t.transform,n):i.transform&&(i.transform="none")),a){const{originX:t="50%",originY:e="50%",originZ:n=0}=r;i.transformOrigin=`${t} ${e} ${n}`}}function Mr(t,{style:e,vars:n},i,s){const r=t.style;let o;for(o in e)r[o]=e[o];for(o in s?.applyProjectionStyles(r,i),n)r.setProperty(o,n[o])}function Vr(t,e){return e.max===e.min?0:t/(e.max-e.min)*100}const Ar={correct:(t,e)=>{if(!e.target)return t;if("string"==typeof t){if(!mt.test(t))return t;t=parseFloat(t)}return`${Vr(t,e.target.x)}% ${Vr(t,e.target.y)}%`}},kr={correct:(t,{treeScale:e,projectionDelta:n})=>{const i=t,s=Pt.parse(t);if(s.length>5)return i;const r=Pt.createTransformer(t),o="number"!=typeof s[0]?1:0,a=n.x.scale*e.x,l=n.y.scale*e.y;s[0+o]/=a,s[1+o]/=l;const u=Rt(a,l,.5);return"number"==typeof s[2+o]&&(s[2+o]/=u),"number"==typeof s[3+o]&&(s[3+o]/=u),r(s)}},Er={borderRadius:{...Ar,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Ar,borderTopRightRadius:Ar,borderBottomLeftRadius:Ar,borderBottomRightRadius:Ar,boxShadow:kr};function Pr(t,{layout:e,layoutId:n}){return Xe.has(t)||t.startsWith("origin")||(e||void 0!==n)&&(!!Er[t]||"opacity"===t)}function Cr(t,e,n){const{style:i}=t,s={};for(const r in i)(ls(i[r])||e.style&&ls(e.style[r])||Pr(r,t)||void 0!==n?.getValue(r)?.liveStyle)&&(s[r]=i[r]);return s}class Br extends br{constructor(){super(...arguments),this.type="html",this.renderInstance=Mr}readValueFromInstance(t,e){if(Xe.has(e))return this.projection?.isProjecting?$e(e):Ue(t,e);{const i=(n=t,window.getComputedStyle(n)),s=(_(e)?i.getPropertyValue(e):i[e])||0;return"string"==typeof s?s.trim():s}var n}measureInstanceViewportBox(t,{transformPagePoint:e}){return function(t,e){return function({top:t,left:e,right:n,bottom:i}){return{x:{min:e,max:n},y:{min:t,max:i}}}(function(t,e){if(!e)return t;const n=e({x:t.left,y:t.top}),i=e({x:t.right,y:t.bottom});return{top:n.y,left:n.x,bottom:i.y,right:i.x}}(t.getBoundingClientRect(),e))}(t,e)}build(t,e,n){Sr(t,e,n.transformTemplate)}scrapeMotionValuesFromProps(t,e,n){return Cr(t,e,n)}}class Or extends wr{constructor(){super(...arguments),this.type="object"}readValueFromInstance(t,e){if(function(t,e){return t in e}(e,t)){const n=t[e];if("string"==typeof n||"number"==typeof n)return n}}getBaseTargetFromProps(){}removeValueFromRenderState(t,e){delete e.output[t]}measureInstanceViewportBox(){return{x:{min:0,max:0},y:{min:0,max:0}}}build(t,e){Object.assign(t.output,e)}renderInstance(t,{output:e}){Object.assign(t,e)}sortInstanceNodePosition(){return 0}}const Rr={offset:"stroke-dashoffset",array:"stroke-dasharray"},Fr={offset:"strokeDashoffset",array:"strokeDasharray"};const Ir=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function Dr(t,{attrX:e,attrY:n,attrScale:i,pathLength:s,pathSpacing:r=1,pathOffset:o=0,...a},l,u,c){if(Sr(t,a,u),l)return void(t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox));t.attrs=t.style,t.style={};const{attrs:h,style:d}=t;h.transform&&(d.transform=h.transform,delete h.transform),(d.transform||h.transformOrigin)&&(d.transformOrigin=h.transformOrigin??"50% 50%",delete h.transformOrigin),d.transform&&(d.transformBox=c?.transformBox??"fill-box",delete h.transformBox);for(const t of Ir)void 0!==h[t]&&(d[t]=h[t],delete h[t]);void 0!==e&&(h.x=e),void 0!==n&&(h.y=n),void 0!==i&&(h.scale=i),void 0!==s&&function(t,e,n=1,i=0,s=!0){t.pathLength=1;const r=s?Rr:Fr;t[r.offset]=mt.transform(-i);const o=mt.transform(e),a=mt.transform(n);t[r.array]=`${o} ${a}`}(h,s,r,o,!1)}const Lr=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);class Wr extends br{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=dr}getBaseTargetFromProps(t,e){return t[e]}readValueFromInstance(t,e){if(Xe.has(e)){const t=Jn(e);return t&&t.default||0}return e=Lr.has(e)?e:Qs(e),t.getAttribute(e)}scrapeMotionValuesFromProps(t,e,n){return function(t,e,n){const i=Cr(t,e,n);for(const n in t)(ls(t[n])||ls(e[n]))&&(i[-1!==ze.indexOf(n)?"attr"+n.charAt(0).toUpperCase()+n.substring(1):n]=t[n]);return i}(t,e,n)}build(t,e,n){Dr(t,e,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(t,e,n,i){!function(t,e,n,i){Mr(t,e,void 0,i);for(const n in e.attrs)t.setAttribute(Lr.has(n)?n:Qs(n),e.attrs[n])}(t,e,0,i)}mount(t){var e;this.isSVGTag="string"==typeof(e=t.tagName)&&"svg"===e.toLowerCase(),super.mount(t)}}function Nr(t){const e={presenceContext:null,props:{},visualState:{renderState:{transform:{},transformOrigin:{},style:{},vars:{},attrs:{}},latestValues:{}}},n=Wi(t)&&!ss(t)?new Wr(e):new Br(e);n.mount(t),Xs.set(t,n)}function jr(t){const e=new Or({presenceContext:null,props:{},visualState:{renderState:{output:{}},latestValues:{}}});e.mount(t),Xs.set(t,e)}function $r(e,n,i,s){const r=[];if(function(t,e){return ls(t)||"number"==typeof t||"string"==typeof t&&!Rs(e)}(e,n))r.push(function(t,e,n){const i=ls(t)?t:yi(t);return i.start(ar("",i,e,n)),i.animation}(e,Rs(n)&&n.default||n,i&&i.default||i));else{const o=Fs(e,n,s),a=o.length;t.invariant(Boolean(a),"No valid elements provided.","no-valid-elements");for(let e=0;e<a;e++){const s=o[e];t.invariant(null!==s,"You're trying to perform an animation on null. Ensure that selectors are correctly finding elements and refs are correctly hydrated.","animate-null");const l=s instanceof Element?Nr:jr;Xs.has(s)||l(s);const u=Xs.get(s),c={...i};"delay"in c&&"function"==typeof c.delay&&(c.delay=c.delay(e,a)),r.push(...ur(u,{...n,transition:c},{}))}}return r}function Kr(e,n,i){const s=[],r=function(e,{defaultTransition:n={},...i}={},s,r){const o=n.duration||.3,a=new Map,l=new Map,u={},c=new Map;let h=0,d=0,f=0;for(let i=0;i<e.length;i++){const a=e[i];if("string"==typeof a){c.set(a,d);continue}if(!Array.isArray(a)){c.set(a.name,Ds(d,a.at,h,c));continue}let[p,g,y={}]=a;void 0!==y.at&&(d=Ds(d,y.at,h,c));let v=0;const w=(e,i,s,a=0,l=0)=>{const u=Ks(e),{delay:c=0,times:h=xe(u),type:p="keyframes",repeat:g,repeatType:y,repeatDelay:w=0,...b}=i;let{ease:T=n.ease||"easeOut",duration:x}=i;const S="function"==typeof c?c(a,l):c,M=u.length,V=gn(p)?p:r?.[p||"keyframes"];if(M<=2&&V){let t=100;if(2===M&&zs(u)){const e=u[1]-u[0];t=Math.abs(e)}const e={...b};void 0!==x&&(e.duration=m(x));const n=Zt(e,t,V);T=n.ease,x=n.duration}x??(x=o);const A=d+S;1===h.length&&0===h[0]&&(h[1]=1);const k=h.length-u.length;if(k>0&&Te(h,k),1===u.length&&u.unshift(null),g){t.invariant(g<20,"Repeat count too high, must be less than 20","repeat-count-high"),x=Is(x,g);const e=[...u],n=[...h];T=Array.isArray(T)?[...T]:[T];const i=[...T];for(let t=0;t<g;t++){u.push(...e);for(let s=0;s<e.length;s++)h.push(n[s]+(t+1)),T.push(0===s?"linear":I(i,s-1))}Ws(h,g)}const E=A+x;Ls(s,u,T,h,A,E),v=Math.max(S+x,v),f=Math.max(E,f)};if(ls(p))w(g,y,$s("default",js(p,l)));else{const t=Fs(p,g,s,u),e=t.length;for(let n=0;n<e;n++){const i=js(t[n],l);for(const t in g)w(g[t],Us(y,t),$s(t,i),n,e)}}h=d,d+=v}return l.forEach((t,e)=>{for(const s in t){const r=t[s];r.sort(Ns);const o=[],l=[],u=[];for(let t=0;t<r.length;t++){const{at:e,value:n,easing:i}=r[t];o.push(n),l.push(p(0,f,e)),u.push(i||"easeOut")}0!==l[0]&&(l.unshift(0),o.unshift(o[0]),u.unshift("easeInOut")),1!==l[l.length-1]&&(l.push(1),o.push(null)),a.has(e)||a.set(e,{keyframes:{},transition:{}});const c=a.get(e);c.keyframes[s]=o,c.transition[s]={...n,duration:f,ease:u,times:l,...i}}}),a}(e,n,i,{spring:ve});return r.forEach(({keyframes:t,transition:e},n)=>{s.push(...$r(n,t,e))}),s}function Ur(t){return function(e,i,s){let r,o=[];if(a=e,Array.isArray(a)&&a.some(Array.isArray))o=Kr(e,i,t);else{const{onComplete:n,...a}=s||{};"function"==typeof n&&(r=n),o=$r(e,i,a,t)}var a;const l=new Cn(o);return r&&l.finished.then(r),t&&(t.animations.push(l),l.finished.then(()=>{n(t.animations,l)})),l}}const Yr=Ur();const zr=e=>function(n,i,s){return new Cn(function(e,n,i,s){const r=oi(e,s),o=r.length;t.invariant(Boolean(o),"No valid elements provided.","no-valid-elements");const a=[];for(let t=0;t<o;t++){const e=r[t],s={...i};"function"==typeof s.delay&&(s.delay=s.delay(t,o));for(const t in n){let i=n[t];Array.isArray(i)||(i=[i]);const r={...Wn(s,t)};r.duration&&(r.duration=m(r.duration)),r.delay&&(r.delay=m(r.delay));const o=Fn(e),l=Rn(t,r.pseudoElement||""),u=o.get(l);u&&u.stop(),a.push({map:o,key:l,unresolvedKeyframes:i,options:{...r,element:e,name:t,allowFlatten:!s.type&&!s.ease}})}}for(let t=0;t<a.length;t++){const{unresolvedKeyframes:e,options:n}=a[t],{element:i,name:s,pseudoElement:r}=n;r||null!==e[0]||(e[0]=Li(i,s)),Re(e),ii(e,s),!r&&e.length<2&&e.unshift(Li(i,s)),n.keyframes=e}const l=[];for(let t=0;t<a.length;t++){const{map:e,key:n,options:i}=a[t],s=new vn(i);e.set(n,s),s.finished.finally(()=>e.delete(n)),l.push(s)}return l}(n,i,s,e))},Xr=zr(),Hr={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function Gr(t,e,n,i){const s=n[e],{length:r,position:o}=Hr[e],a=s.current,l=n.time;s.current=t[`scroll${o}`],s.scrollLength=t[`scroll${r}`]-t[`client${r}`],s.offset.length=0,s.offset[0]=0,s.offset[1]=s.scrollLength,s.progress=p(0,s.scrollLength,s.current);const u=i-l;s.velocity=u>50?0:y(s.current-a,u)}const qr={start:0,center:.5,end:1};function Zr(t,e,n=0){let i=0;if(t in qr&&(t=qr[t]),"string"==typeof t){const e=parseFloat(t);t.endsWith("px")?i=e:t.endsWith("%")?t=e/100:t.endsWith("vw")?i=e/100*document.documentElement.clientWidth:t.endsWith("vh")?i=e/100*document.documentElement.clientHeight:t=e}return"number"==typeof t&&(i=e*t),n+i}const _r=[0,0];function Jr(t,e,n,i){let s=Array.isArray(t)?t:_r,r=0,o=0;return"number"==typeof t?s=[t,t]:"string"==typeof t&&(s=(t=t.trim()).includes(" ")?t.split(" "):[t,qr[t]?t:"0"]),r=Zr(s[0],n,i),o=Zr(s[1],e),r-o}const Qr={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},to={x:0,y:0};function eo(t,e,n){const{offset:s=Qr.All}=n,{target:r=t,axis:o="y"}=n,a="y"===o?"height":"width",l=r!==t?function(t,e){const n={x:0,y:0};let i=t;for(;i&&i!==e;)if(fi(i))n.x+=i.offsetLeft,n.y+=i.offsetTop,i=i.offsetParent;else if("svg"===i.tagName){const t=i.getBoundingClientRect();i=i.parentElement;const e=i.getBoundingClientRect();n.x+=t.left-e.left,n.y+=t.top-e.top}else{if(!(i instanceof SVGGraphicsElement))break;{const{x:t,y:e}=i.getBBox();n.x+=t,n.y+=e;let s=null,r=i.parentNode;for(;!s;)"svg"===r.tagName&&(s=r),r=i.parentNode;i=s}}return n}(r,t):to,u=r===t?{width:t.scrollWidth,height:t.scrollHeight}:function(t){return"getBBox"in t&&"svg"!==t.tagName?t.getBBox():{width:t.clientWidth,height:t.clientHeight}}(r),c={width:t.clientWidth,height:t.clientHeight};e[o].offset.length=0;let h=!e[o].interpolate;const d=s.length;for(let t=0;t<d;t++){const n=Jr(s[t],c[a],u[a],l[o]);h||n===e[o].interpolatorOffsets[t]||(h=!0),e[o].offset[t]=n}h&&(e[o].interpolate=be(e[o].offset,xe(s),{clamp:!1}),e[o].interpolatorOffsets=[...e[o].offset]),e[o].progress=i(0,1,e[o].interpolate(e[o].current))}function no(t,e,n,i={}){return{measure:e=>{!function(t,e=t,n){if(n.x.targetOffset=0,n.y.targetOffset=0,e!==t){let i=e;for(;i&&i!==t;)n.x.targetOffset+=i.offsetLeft,n.y.targetOffset+=i.offsetTop,i=i.offsetParent}n.x.targetLength=e===t?e.scrollWidth:e.clientWidth,n.y.targetLength=e===t?e.scrollHeight:e.clientHeight,n.x.containerLength=t.clientWidth,n.y.containerLength=t.clientHeight}(t,i.target,n),function(t,e,n){Gr(t,"x",e,n),Gr(t,"y",e,n),e.time=n}(t,n,e),(i.offset||i.target)&&eo(t,n,i)},notify:()=>e(n)}}const io=new WeakMap,so=new WeakMap,ro=new WeakMap,oo=t=>t===document.scrollingElement?window:t;function ao(t,{container:e=document.scrollingElement,...n}={}){if(!e)return c;let i=ro.get(e);i||(i=new Set,ro.set(e,i));const s=no(e,t,{time:0,x:{current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0},y:{current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}},n);if(i.add(s),!io.has(e)){const t=()=>{for(const t of i)t.measure(Y.timestamp);K.preUpdate(n)},n=()=>{for(const t of i)t.notify()},s=()=>K.read(t);io.set(e,s);const r=oo(e);window.addEventListener("resize",s,{passive:!0}),e!==document.documentElement&&so.set(e,Zi(e,s)),r.addEventListener("scroll",s,{passive:!0}),s()}const r=io.get(e);return K.read(r,!1,!0),()=>{U(r);const t=ro.get(e);if(!t)return;if(t.delete(s),t.size)return;const n=io.get(e);io.delete(e),n&&(oo(e).removeEventListener("scroll",n),so.get(e)?.(),window.removeEventListener("resize",n))}}const lo=new Map;function uo({source:t,container:e,...n}){const{axis:i}=n;t&&(e=t);const s=lo.get(e)??new Map;lo.set(e,s);const r=n.target??"self",o=s.get(r)??{},a=i+(n.offset??[]).join(",");return o[a]||(o[a]=!n.target&&ln()?new ScrollTimeline({source:e,axis:i}):function(t){const e={value:0},n=ao(n=>{e.value=100*n[t.axis].progress},t);return{currentTime:e,cancel:n}}({container:e,...n})),o[a]}const co={some:0,all:1};const ho=(t,e)=>Math.abs(t-e);t.AsyncMotionValueAnimation=kn,t.DOMKeyframesResolver=ei,t.GroupAnimation=En,t.GroupAnimationWithThen=Cn,t.JSAnimation=Oe,t.KeyframeResolver=rn,t.MotionGlobalConfig=r,t.MotionValue=gi,t.NativeAnimation=vn,t.NativeAnimationExtended=Tn,t.NativeAnimationWrapper=Bn,t.SubscriptionManager=f,t.ViewTransitionBuilder=Cs,t.acceleratedValues=ri,t.activeAnimations=q,t.addAttrValue=hi,t.addStyleValue=bi,t.addUniqueItem=e,t.alpha=nt,t.analyseComplexValue=Vt,t.animate=Yr,t.animateMini=Xr,t.animateValue=function(t){return new Oe(t)},t.animateView=function(t,e={}){return new Cs(t,e)},t.animationMapKey=Rn,t.anticipate=k,t.applyGeneratorOptions=yn,t.applyPxDefaults=ii,t.attachSpring=us,t.attrEffect=di,t.backIn=V,t.backInOut=A,t.backOut=M,t.calcGeneratorDuration=qt,t.cancelFrame=U,t.cancelMicrotask=Vi,t.cancelSync=Os,t.circIn=E,t.circInOut=C,t.circOut=P,t.clamp=i,t.collectMotionValues=mi,t.color=bt,t.complex=Pt,t.convertOffsetToTimes=Se,t.createGeneratorEasing=Zt,t.createRenderBatcher=$,t.createScopedAnimate=Ur,t.cubicBezier=T,t.cubicBezierAsString=dn,t.defaultEasing=Me,t.defaultOffset=xe,t.defaultTransformValue=$e,t.defaultValueTypes=_n,t.degrees=pt,t.delay=function(t,e){return function(t,e){const n=G.now(),i=({timestamp:s})=>{const r=s-n;r>=e&&(U(i),t(r-e))};return K.setup(i,!0),()=>U(i)}(t,m(e))},t.dimensionValueTypes=$n,t.distance=ho,t.distance2D=function(t,e){const n=ho(t.x,e.x),i=ho(t.y,e.y);return Math.sqrt(n**2+i**2)},t.easeIn=B,t.easeInOut=R,t.easeOut=O,t.easingDefinitionToFunction=W,t.fillOffset=Te,t.fillWildcards=Re,t.findDimensionValueType=Kn,t.findValueType=ps,t.flushKeyframeResolvers=sn,t.frame=K,t.frameData=Y,t.frameSteps=z,t.generateLinearEasing=Ht,t.getAnimatableNone=Qn,t.getAnimationMap=Fn,t.getComputedStyle=Li,t.getDefaultValueType=Jn,t.getEasingForSegment=I,t.getMixer=$t,t.getOriginIndex=rs,t.getValueAsType=li,t.getValueTransition=Wn,t.getVariableValue=Ln,t.getViewAnimationLayerInfo=bs,t.getViewAnimations=xs,t.hasWarned=function(t){return v.has(t)},t.hex=ht,t.hover=function(t,e,n={}){const[i,s,r]=Ei(t,n),o=t=>{if(!Pi(t))return;const{target:n}=t,i=e(n,t);if("function"!=typeof i||!n)return;const r=t=>{Pi(t)&&(i(t),n.removeEventListener("pointerleave",r))};n.addEventListener("pointerleave",r,s)};return i.forEach(t=>{t.addEventListener("pointerenter",o,s)}),r},t.hsla=wt,t.hslaToRgba=Bt,t.inView=function(t,e,{root:n,margin:i,amount:s="some"}={}){const r=oi(t),o=new WeakMap,a=new IntersectionObserver(t=>{t.forEach(t=>{const n=o.get(t.target);if(t.isIntersecting!==Boolean(n))if(t.isIntersecting){const n=e(t.target,t);"function"==typeof n?o.set(t.target,n):a.unobserve(t.target)}else"function"==typeof n&&(n(t),o.delete(t.target))})},{root:n,rootMargin:i,threshold:"number"==typeof s?s:co[s]});return r.forEach(t=>a.observe(t)),()=>a.disconnect()},t.inertia=we,t.interpolate=be,t.invisibleValues=Wt,t.isBezierDefinition=D,t.isCSSVariableName=_,t.isCSSVariableToken=Q,t.isDragActive=ki,t.isDragging=Ai,t.isEasingArray=F,t.isGenerator=gn,t.isHTMLElement=fi,t.isMotionValue=ls,t.isNodeOrChild=Ci,t.isNumericalString=o,t.isObject=a,t.isPrimaryPointer=Bi,t.isSVGElement=Wi,t.isSVGSVGElement=ss,t.isWaapiSupportedEasing=function t(e){return Boolean("function"==typeof e&&hn()||!e||"string"==typeof e&&(e in pn||hn())||D(e)||Array.isArray(e)&&e.every(t))},t.isZeroValueString=l,t.keyframes=Ve,t.makeAnimationInstant=Sn,t.mapEasingToNativeEasing=fn,t.mapValue=function(t,e,n,i){const s=os(e,n,i);return as(()=>s(t.get()))},t.maxGeneratorDuration=Gt,t.memo=u,t.microtask=Mi,t.millisecondsToSeconds=g,t.mirrorEasing=x,t.mix=zt,t.mixArray=Kt,t.mixColor=Lt,t.mixComplex=Yt,t.mixImmediate=Ot,t.mixLinearColor=Ft,t.mixNumber=Rt,t.mixObject=Ut,t.mixVisibility=Nt,t.motionValue=yi,t.moveItem=function([...t],e,n){const i=e<0?t.length+e:e;if(i>=0&&i<t.length){const i=n<0?t.length+n:n,[s]=t.splice(e,1);t.splice(i,0,s)}return t},t.noop=c,t.number=et,t.numberValueTypes=Zn,t.observeTimeline=_i,t.parseCSSVariable=Dn,t.parseValueFromTransform=Ke,t.percent=ft,t.pipe=d,t.positionalKeys=Nn,t.press=function(t,e,n={}){const[i,s,r]=Ei(t,n),o=t=>{const i=t.currentTarget;if(!Di(t))return;Ri.add(i);const r=e(i,t),o=(t,e)=>{window.removeEventListener("pointerup",a),window.removeEventListener("pointercancel",l),Ri.has(i)&&Ri.delete(i),Di(t)&&"function"==typeof r&&r(t,{success:e})},a=t=>{o(t,i===window||i===document||n.useGlobalTarget||Ci(i,t.target))},l=t=>{o(t,!1)};window.addEventListener("pointerup",a,s),window.addEventListener("pointercancel",l,s)};return i.forEach(t=>{var e;(n.useGlobalTarget?window:t).addEventListener("pointerdown",o,s),fi(t)&&(t.addEventListener("focus",t=>((t,e)=>{const n=t.currentTarget;if(!n)return;const i=Fi(()=>{if(Ri.has(n))return;Ii(n,"down");const t=Fi(()=>{Ii(n,"up")});n.addEventListener("keyup",t,e),n.addEventListener("blur",()=>Ii(n,"cancel"),e)});n.addEventListener("keydown",i,e),n.addEventListener("blur",()=>n.removeEventListener("keydown",i),e)})(t,s)),e=t,Oi.has(e.tagName)||-1!==e.tabIndex||t.hasAttribute("tabindex")||(t.tabIndex=0))}),r},t.progress=p,t.progressPercentage=vt,t.propEffect=pi,t.px=mt,t.readTransformValue=Ue,t.recordStats=function(){if(j.value)throw ns(),new Error("Stats are already being measured");const t=j;return t.value={frameloop:{setup:[],rate:[],read:[],resolveKeyframes:[],preUpdate:[],update:[],preRender:[],render:[],postRender:[]},animations:{mainThread:[],waapi:[],layout:[]},layoutProjection:{nodes:[],calculatedTargetDeltas:[],calculatedProjections:[]}},t.addProjectionMetrics=e=>{const{layoutProjection:n}=t.value;n.nodes.push(e.nodes),n.calculatedTargetDeltas.push(e.calculatedTargetDeltas),n.calculatedProjections.push(e.calculatedProjections)},K.postRender(Ji,!0),is},t.removeItem=n,t.resize=Zi,t.resolveElements=oi,t.reverseEasing=S,t.rgbUnit=ut,t.rgba=ct,t.scale=it,t.scroll=function(t,{axis:e="y",container:n=document.scrollingElement,...i}={}){if(!n)return c;const s={axis:e,container:n,...i};return"function"==typeof t?function(t,e){return function(t){return 2===t.length}(t)?ao(n=>{t(n[e.axis].progress,n)},e):_i(t,uo(e))}(t,s):function(t,e){const n=uo(e);return t.attachTimeline({timeline:e.target?void 0:n,observe:t=>(t.pause(),_i(e=>{t.time=t.iterationDuration*e},n))})}(t,s)},t.scrollInfo=ao,t.secondsToMilliseconds=m,t.setDragLock=function(t){return"x"===t||"y"===t?Ai[t]?null:(Ai[t]=!0,()=>{Ai[t]=!1}):Ai.x||Ai.y?null:(Ai.x=Ai.y=!0,()=>{Ai.x=Ai.y=!1})},t.setStyle=an,t.spring=ve,t.springValue=function(t,e){const n=yi(ls(t)?t.get():t);return us(n,t,e),n},t.stagger=function(t=.1,{startDelay:e=0,from:n=0,ease:i}={}){return(s,r)=>{const o="number"==typeof n?n:rs(n,r),a=Math.abs(o-s);let l=t*a;if(i){const e=r*t;l=W(i)(l/e)*e}return e+l}},t.startWaapiAnimation=mn,t.statsBuffer=j,t.steps=function(t,e="end"){return n=>{const s=(n="end"===e?Math.min(n,.999):Math.max(n,.001))*t,r="end"===e?Math.floor(s):Math.ceil(s);return i(0,1,r/t)}},t.styleEffect=Ti,t.supportedWaapiEasing=pn,t.supportsBrowserAnimation=An,t.supportsFlags=un,t.supportsLinearEasing=hn,t.supportsPartialKeyframes=si,t.supportsScrollTimeline=ln,t.svgEffect=Si,t.sync=Bs,t.testValueType=jn,t.time=G,t.transform=os,t.transformPropOrder=ze,t.transformProps=Xe,t.transformValue=as,t.transformValueTypes=qn,t.velocityPerSecond=y,t.vh=gt,t.vw=yt,t.warnOnce=function(t,e,n){t||v.has(e)||(console.warn(s(e,n)),v.add(e))},t.wrap=w});
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Motion={})}(this,function(t){"use strict";function e(t,e){-1===t.indexOf(e)&&t.push(e)}function n(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const i=(t,e,n)=>n>e?e:n<t?t:n;function s(t,e){return e?`${t}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${e}`:t}t.warning=()=>{},t.invariant=()=>{},"undefined"!=typeof process&&"production"!==process.env?.NODE_ENV&&(t.warning=(t,e,n)=>{t||"undefined"==typeof console||console.warn(s(e,n))},t.invariant=(t,e,n)=>{if(!t)throw new Error(s(e,n))});const r={},o=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t);function a(t){return"object"==typeof t&&null!==t}const l=t=>/^0[^.\s]+$/u.test(t);function u(t){let e;return()=>(void 0===e&&(e=t()),e)}const c=t=>t,h=(t,e)=>n=>e(t(n)),d=(...t)=>t.reduce(h),p=(t,e,n)=>{const i=e-t;return 0===i?1:(n-t)/i};class f{constructor(){this.subscriptions=[]}add(t){return e(this.subscriptions,t),()=>n(this.subscriptions,t)}notify(t,e,n){const i=this.subscriptions.length;if(i)if(1===i)this.subscriptions[0](t,e,n);else for(let s=0;s<i;s++){const i=this.subscriptions[s];i&&i(t,e,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const m=t=>1e3*t,g=t=>t/1e3;function y(t,e){return e?t*(1e3/e):0}const v=new Set;const w=(t,e,n)=>{const i=e-t;return((n-t)%i+i)%i+t},b=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t;function T(t,e,n,i){if(t===e&&n===i)return c;const s=e=>function(t,e,n,i,s){let r,o,a=0;do{o=e+(n-e)/2,r=b(o,i,s)-t,r>0?n=o:e=o}while(Math.abs(r)>1e-7&&++a<12);return o}(e,0,1,t,n);return t=>0===t||1===t?t:b(s(t),e,i)}const x=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,S=t=>e=>1-t(1-e),M=T(.33,1.53,.69,.99),V=S(M),A=x(V),k=t=>(t*=2)<1?.5*V(t):.5*(2-Math.pow(2,-10*(t-1))),E=t=>1-Math.sin(Math.acos(t)),C=S(E),P=x(E),B=T(.42,0,1,1),O=T(0,0,.58,1),R=T(.42,0,.58,1);const F=t=>Array.isArray(t)&&"number"!=typeof t[0];function I(t,e){return F(t)?t[w(0,t.length,e)]:t}const D=t=>Array.isArray(t)&&"number"==typeof t[0],L={linear:c,easeIn:B,easeInOut:R,easeOut:O,circIn:E,circInOut:P,circOut:C,backIn:V,backInOut:A,backOut:M,anticipate:k},W=e=>{if(D(e)){t.invariant(4===e.length,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[n,i,s,r]=e;return T(n,i,s,r)}return"string"==typeof e?(t.invariant(void 0!==L[e],`Invalid easing type '${e}'`,"invalid-easing-type"),L[e]):e},N=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"],j={value:null,addProjectionMetrics:null};function $(t,e){let n=!1,i=!0;const s={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,a=N.reduce((t,n)=>(t[n]=function(t,e){let n=new Set,i=new Set,s=!1,r=!1;const o=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1},l=0;function u(e){o.has(e)&&(c.schedule(e),t()),l++,e(a)}const c={schedule:(t,e=!1,r=!1)=>{const a=r&&s?n:i;return e&&o.add(t),a.has(t)||a.add(t),t},cancel:t=>{i.delete(t),o.delete(t)},process:t=>{a=t,s?r=!0:(s=!0,[n,i]=[i,n],n.forEach(u),e&&j.value&&j.value.frameloop[e].push(l),l=0,n.clear(),s=!1,r&&(r=!1,c.process(t)))}};return c}(o,e?n:void 0),t),{}),{setup:l,read:u,resolveKeyframes:c,preUpdate:h,update:d,preRender:p,render:f,postRender:m}=a,g=()=>{const o=r.useManualTiming?s.timestamp:performance.now();n=!1,r.useManualTiming||(s.delta=i?1e3/60:Math.max(Math.min(o-s.timestamp,40),1)),s.timestamp=o,s.isProcessing=!0,l.process(s),u.process(s),c.process(s),h.process(s),d.process(s),p.process(s),f.process(s),m.process(s),s.isProcessing=!1,n&&e&&(i=!1,t(g))};return{schedule:N.reduce((e,r)=>{const o=a[r];return e[r]=(e,r=!1,a=!1)=>(n||(n=!0,i=!0,s.isProcessing||t(g)),o.schedule(e,r,a)),e},{}),cancel:t=>{for(let e=0;e<N.length;e++)a[N[e]].cancel(t)},state:s,steps:a}}const{schedule:K,cancel:U,state:Y,steps:z}=$("undefined"!=typeof requestAnimationFrame?requestAnimationFrame:c,!0);let X;function H(){X=void 0}const G={now:()=>(void 0===X&&G.set(Y.isProcessing||r.useManualTiming?Y.timestamp:performance.now()),X),set:t=>{X=t,queueMicrotask(H)}},q={layout:0,mainThread:0,waapi:0},Z=t=>e=>"string"==typeof e&&e.startsWith(t),_=Z("--"),J=Z("var(--"),Q=t=>!!J(t)&&tt.test(t.split("/*")[0].trim()),tt=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function et(t){return"string"==typeof t&&t.split("/*")[0].includes("var(--")}const nt={test:t=>"number"==typeof t,parse:parseFloat,transform:t=>t},it={...nt,transform:t=>i(0,1,t)},st={...nt,default:1},rt=t=>Math.round(1e5*t)/1e5,ot=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;const at=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,lt=(t,e)=>n=>Boolean("string"==typeof n&&at.test(n)&&n.startsWith(t)||e&&!function(t){return null==t}(n)&&Object.prototype.hasOwnProperty.call(n,e)),ut=(t,e,n)=>i=>{if("string"!=typeof i)return i;const[s,r,o,a]=i.match(ot);return{[t]:parseFloat(s),[e]:parseFloat(r),[n]:parseFloat(o),alpha:void 0!==a?parseFloat(a):1}},ct={...nt,transform:t=>Math.round((t=>i(0,255,t))(t))},ht={test:lt("rgb","red"),parse:ut("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:i=1})=>"rgba("+ct.transform(t)+", "+ct.transform(e)+", "+ct.transform(n)+", "+rt(it.transform(i))+")"};const dt={test:lt("#"),parse:function(t){let e="",n="",i="",s="";return t.length>5?(e=t.substring(1,3),n=t.substring(3,5),i=t.substring(5,7),s=t.substring(7,9)):(e=t.substring(1,2),n=t.substring(2,3),i=t.substring(3,4),s=t.substring(4,5),e+=e,n+=n,i+=i,s+=s),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(i,16),alpha:s?parseInt(s,16)/255:1}},transform:ht.transform},pt=t=>({test:e=>"string"==typeof e&&e.endsWith(t)&&1===e.split(" ").length,parse:parseFloat,transform:e=>`${e}${t}`}),ft=pt("deg"),mt=pt("%"),gt=pt("px"),yt=pt("vh"),vt=pt("vw"),wt=(()=>({...mt,parse:t=>mt.parse(t)/100,transform:t=>mt.transform(100*t)}))(),bt={test:lt("hsl","hue"),parse:ut("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:i=1})=>"hsla("+Math.round(t)+", "+mt.transform(rt(e))+", "+mt.transform(rt(n))+", "+rt(it.transform(i))+")"},Tt={test:t=>ht.test(t)||dt.test(t)||bt.test(t),parse:t=>ht.test(t)?ht.parse(t):bt.test(t)?bt.parse(t):dt.parse(t),transform:t=>"string"==typeof t?t:t.hasOwnProperty("red")?ht.transform(t):bt.transform(t),getAnimatableNone:t=>{const e=Tt.parse(t);return e.alpha=0,Tt.transform(e)}},xt=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;const St="number",Mt="color",Vt=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function At(t){const e=t.toString(),n=[],i={color:[],number:[],var:[]},s=[];let r=0;const o=e.replace(Vt,t=>(Tt.test(t)?(i.color.push(r),s.push(Mt),n.push(Tt.parse(t))):t.startsWith("var(")?(i.var.push(r),s.push("var"),n.push(t)):(i.number.push(r),s.push(St),n.push(parseFloat(t))),++r,"${}")).split("${}");return{values:n,split:o,indexes:i,types:s}}function kt(t){return At(t).values}function Et(t){const{split:e,types:n}=At(t),i=e.length;return t=>{let s="";for(let r=0;r<i;r++)if(s+=e[r],void 0!==t[r]){const e=n[r];s+=e===St?rt(t[r]):e===Mt?Tt.transform(t[r]):t[r]}return s}}const Ct=t=>"number"==typeof t?0:Tt.test(t)?Tt.getAnimatableNone(t):t;const Pt={test:function(t){return isNaN(t)&&"string"==typeof t&&(t.match(ot)?.length||0)+(t.match(xt)?.length||0)>0},parse:kt,createTransformer:Et,getAnimatableNone:function(t){const e=kt(t);return Et(t)(e.map(Ct))}};function Bt(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function Ot({hue:t,saturation:e,lightness:n,alpha:i}){t/=360,n/=100;let s=0,r=0,o=0;if(e/=100){const i=n<.5?n*(1+e):n+e-n*e,a=2*n-i;s=Bt(a,i,t+1/3),r=Bt(a,i,t),o=Bt(a,i,t-1/3)}else s=r=o=n;return{red:Math.round(255*s),green:Math.round(255*r),blue:Math.round(255*o),alpha:i}}function Rt(t,e){return n=>n>0?e:t}const Ft=(t,e,n)=>t+(e-t)*n,It=(t,e,n)=>{const i=t*t,s=n*(e*e-i)+i;return s<0?0:Math.sqrt(s)},Dt=[dt,ht,bt];function Lt(e){const n=(i=e,Dt.find(t=>t.test(i)));var i;if(t.warning(Boolean(n),`'${e}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!Boolean(n))return!1;let s=n.parse(e);return n===bt&&(s=Ot(s)),s}const Wt=(t,e)=>{const n=Lt(t),i=Lt(e);if(!n||!i)return Rt(t,e);const s={...n};return t=>(s.red=It(n.red,i.red,t),s.green=It(n.green,i.green,t),s.blue=It(n.blue,i.blue,t),s.alpha=Ft(n.alpha,i.alpha,t),ht.transform(s))},Nt=new Set(["none","hidden"]);function jt(t,e){return Nt.has(t)?n=>n<=0?t:e:n=>n>=1?e:t}function $t(t,e){return n=>Ft(t,e,n)}function Kt(t){return"number"==typeof t?$t:"string"==typeof t?Q(t)?Rt:Tt.test(t)?Wt:zt:Array.isArray(t)?Ut:"object"==typeof t?Tt.test(t)?Wt:Yt:Rt}function Ut(t,e){const n=[...t],i=n.length,s=t.map((t,n)=>Kt(t)(t,e[n]));return t=>{for(let e=0;e<i;e++)n[e]=s[e](t);return n}}function Yt(t,e){const n={...t,...e},i={};for(const s in n)void 0!==t[s]&&void 0!==e[s]&&(i[s]=Kt(t[s])(t[s],e[s]));return t=>{for(const e in i)n[e]=i[e](t);return n}}const zt=(e,n)=>{const i=Pt.createTransformer(n),s=At(e),r=At(n);return s.indexes.var.length===r.indexes.var.length&&s.indexes.color.length===r.indexes.color.length&&s.indexes.number.length>=r.indexes.number.length?Nt.has(e)&&!r.values.length||Nt.has(n)&&!s.values.length?jt(e,n):d(Ut(function(t,e){const n=[],i={color:0,var:0,number:0};for(let s=0;s<e.values.length;s++){const r=e.types[s],o=t.indexes[r][i[r]],a=t.values[o]??0;n[s]=a,i[r]++}return n}(s,r),r.values),i):(t.warning(!0,`Complex values '${e}' and '${n}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),Rt(e,n))};function Xt(t,e,n){if("number"==typeof t&&"number"==typeof e&&"number"==typeof n)return Ft(t,e,n);return Kt(t)(t,e)}const Ht=t=>{const e=({timestamp:e})=>t(e);return{start:(t=!0)=>K.update(e,t),stop:()=>U(e),now:()=>Y.isProcessing?Y.timestamp:G.now()}},Gt=(t,e,n=10)=>{let i="";const s=Math.max(Math.round(e/n),2);for(let e=0;e<s;e++)i+=Math.round(1e4*t(e/(s-1)))/1e4+", ";return`linear(${i.substring(0,i.length-2)})`},qt=2e4;function Zt(t){let e=0;let n=t.next(e);for(;!n.done&&e<qt;)e+=50,n=t.next(e);return e>=qt?1/0:e}function _t(t,e=100,n){const i=n({...t,keyframes:[0,e]}),s=Math.min(Zt(i),qt);return{type:"keyframes",ease:t=>i.next(s*t).value/e,duration:g(s)}}function Jt(t,e,n){const i=Math.max(e-5,0);return y(n-t(i),e-i)}const Qt=100,te=10,ee=1,ne=0,ie=800,se=.3,re=.3,oe={granular:.01,default:2},ae={granular:.005,default:.5},le=.01,ue=10,ce=.05,he=1,de=.001;function pe({duration:e=ie,bounce:n=se,velocity:s=ne,mass:r=ee}){let o,a;t.warning(e<=m(ue),"Spring duration must be 10 seconds or less","spring-duration-limit");let l=1-n;l=i(ce,he,l),e=i(le,ue,g(e)),l<1?(o=t=>{const n=t*l,i=n*e,r=n-s,o=me(t,l),a=Math.exp(-i);return de-r/o*a},a=t=>{const n=t*l*e,i=n*s+s,r=Math.pow(l,2)*Math.pow(t,2)*e,a=Math.exp(-n),u=me(Math.pow(t,2),l);return(-o(t)+de>0?-1:1)*((i-r)*a)/u}):(o=t=>Math.exp(-t*e)*((t-s)*e+1)-.001,a=t=>Math.exp(-t*e)*(e*e*(s-t)));const u=function(t,e,n){let i=n;for(let n=1;n<fe;n++)i-=t(i)/e(i);return i}(o,a,5/e);if(e=m(e),isNaN(u))return{stiffness:Qt,damping:te,duration:e};{const t=Math.pow(u,2)*r;return{stiffness:t,damping:2*l*Math.sqrt(r*t),duration:e}}}const fe=12;function me(t,e){return t*Math.sqrt(1-e*e)}const ge=["duration","bounce"],ye=["stiffness","damping","mass"];function ve(t,e){return e.some(e=>void 0!==t[e])}function we(t=re,e=se){const n="object"!=typeof t?{visualDuration:t,keyframes:[0,1],bounce:e}:t;let{restSpeed:s,restDelta:r}=n;const o=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],l={done:!1,value:o},{stiffness:u,damping:c,mass:h,duration:d,velocity:p,isResolvedFromDuration:f}=function(t){let e={velocity:ne,stiffness:Qt,damping:te,mass:ee,isResolvedFromDuration:!1,...t};if(!ve(t,ye)&&ve(t,ge))if(t.visualDuration){const n=t.visualDuration,s=2*Math.PI/(1.2*n),r=s*s,o=2*i(.05,1,1-(t.bounce||0))*Math.sqrt(r);e={...e,mass:ee,stiffness:r,damping:o}}else{const n=pe(t);e={...e,...n,mass:ee},e.isResolvedFromDuration=!0}return e}({...n,velocity:-g(n.velocity||0)}),y=p||0,v=c/(2*Math.sqrt(u*h)),w=a-o,b=g(Math.sqrt(u/h)),T=Math.abs(w)<5;let x;if(s||(s=T?oe.granular:oe.default),r||(r=T?ae.granular:ae.default),v<1){const t=me(b,v);x=e=>{const n=Math.exp(-v*b*e);return a-n*((y+v*b*w)/t*Math.sin(t*e)+w*Math.cos(t*e))}}else if(1===v)x=t=>a-Math.exp(-b*t)*(w+(y+b*w)*t);else{const t=b*Math.sqrt(v*v-1);x=e=>{const n=Math.exp(-v*b*e),i=Math.min(t*e,300);return a-n*((y+v*b*w)*Math.sinh(i)+t*w*Math.cosh(i))/t}}const S={calculatedDuration:f&&d||null,next:t=>{const e=x(t);if(f)l.done=t>=d;else{let n=0===t?y:0;v<1&&(n=0===t?m(y):Jt(x,t,e));const i=Math.abs(n)<=s,o=Math.abs(a-e)<=r;l.done=i&&o}return l.value=l.done?a:e,l},toString:()=>{const t=Math.min(Zt(S),qt),e=Gt(e=>S.next(t*e).value,t,30);return t+"ms "+e},toTransition:()=>{}};return S}function be({keyframes:t,velocity:e=0,power:n=.8,timeConstant:i=325,bounceDamping:s=10,bounceStiffness:r=500,modifyTarget:o,min:a,max:l,restDelta:u=.5,restSpeed:c}){const h=t[0],d={done:!1,value:h},p=t=>void 0===a?l:void 0===l||Math.abs(a-t)<Math.abs(l-t)?a:l;let f=n*e;const m=h+f,g=void 0===o?m:o(m);g!==m&&(f=g-h);const y=t=>-f*Math.exp(-t/i),v=t=>g+y(t),w=t=>{const e=y(t),n=v(t);d.done=Math.abs(e)<=u,d.value=d.done?g:n};let b,T;const x=t=>{var e;(e=d.value,void 0!==a&&e<a||void 0!==l&&e>l)&&(b=t,T=we({keyframes:[d.value,p(d.value)],velocity:Jt(v,t,d.value),damping:s,stiffness:r,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:t=>{let e=!1;return T||void 0!==b||(e=!0,w(t),x(t)),void 0!==b&&t>=b?T.next(t-b):(!e&&w(t),d)}}}function Te(e,n,{clamp:s=!0,ease:o,mixer:a}={}){const l=e.length;if(t.invariant(l===n.length,"Both input and output ranges must be the same length","range-length"),1===l)return()=>n[0];if(2===l&&n[0]===n[1])return()=>n[1];const u=e[0]===e[1];e[0]>e[l-1]&&(e=[...e].reverse(),n=[...n].reverse());const h=function(t,e,n){const i=[],s=n||r.mix||Xt,o=t.length-1;for(let n=0;n<o;n++){let r=s(t[n],t[n+1]);if(e){const t=Array.isArray(e)?e[n]||c:e;r=d(t,r)}i.push(r)}return i}(n,o,a),f=h.length,m=t=>{if(u&&t<e[0])return n[0];let i=0;if(f>1)for(;i<e.length-2&&!(t<e[i+1]);i++);const s=p(e[i],e[i+1],t);return h[i](s)};return s?t=>m(i(e[0],e[l-1],t)):m}function xe(t,e){const n=t[t.length-1];for(let i=1;i<=e;i++){const s=p(0,e,i);t.push(Ft(n,1,s))}}function Se(t){const e=[0];return xe(e,t.length-1),e}function Me(t,e){return t.map(t=>t*e)}function Ve(t,e){return t.map(()=>e||R).splice(0,t.length-1)}function Ae({duration:t=300,keyframes:e,times:n,ease:i="easeInOut"}){const s=F(i)?i.map(W):W(i),r={done:!1,value:e[0]},o=Te(Me(n&&n.length===e.length?n:Se(e),t),e,{ease:Array.isArray(s)?s:Ve(e,s)});return{calculatedDuration:t,next:e=>(r.value=o(e),r.done=e>=t,r)}}we.applyToOptions=t=>{const e=_t(t,100,we);return t.ease=e.ease,t.duration=m(e.duration),t.type="keyframes",t};const ke=t=>null!==t;function Ee(t,{repeat:e,repeatType:n="loop"},i,s=1){const r=t.filter(ke),o=s<0||e&&"loop"!==n&&e%2==1?0:r.length-1;return o&&void 0!==i?i:r[o]}const Ce={decay:be,inertia:be,tween:Ae,keyframes:Ae,spring:we};function Pe(t){"string"==typeof t.type&&(t.type=Ce[t.type])}class Be{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,e){return this.finished.then(t,e)}}const Oe=t=>t/100;class Re extends Be{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:t}=this.options;t&&t.updatedAt!==G.now()&&this.tick(G.now()),this.isStopped=!0,"idle"!==this.state&&(this.teardown(),this.options.onStop?.())},q.mainThread++,this.options=t,this.initAnimation(),this.play(),!1===t.autoplay&&this.pause()}initAnimation(){const{options:t}=this;Pe(t);const{type:e=Ae,repeat:n=0,repeatDelay:i=0,repeatType:s,velocity:r=0}=t;let{keyframes:o}=t;const a=e||Ae;a!==Ae&&"number"!=typeof o[0]&&(this.mixKeyframes=d(Oe,Xt(o[0],o[1])),o=[0,100]);const l=a({...t,keyframes:o});"mirror"===s&&(this.mirroredGenerator=a({...t,keyframes:[...o].reverse(),velocity:-r})),null===l.calculatedDuration&&(l.calculatedDuration=Zt(l));const{calculatedDuration:u}=l;this.calculatedDuration=u,this.resolvedDuration=u+i,this.totalDuration=this.resolvedDuration*(n+1)-i,this.generator=l}updateTime(t){const e=Math.round(t-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=e}tick(t,e=!1){const{generator:n,totalDuration:s,mixKeyframes:r,mirroredGenerator:o,resolvedDuration:a,calculatedDuration:l}=this;if(null===this.startTime)return n.next(0);const{delay:u=0,keyframes:c,repeat:h,repeatType:d,repeatDelay:p,type:f,onUpdate:m,finalKeyframe:g}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-s/this.speed,this.startTime)),e?this.currentTime=t:this.updateTime(t);const y=this.currentTime-u*(this.playbackSpeed>=0?1:-1),v=this.playbackSpeed>=0?y<0:y>s;this.currentTime=Math.max(y,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=s);let w=this.currentTime,b=n;if(h){const t=Math.min(this.currentTime,s)/a;let e=Math.floor(t),n=t%1;!n&&t>=1&&(n=1),1===n&&e--,e=Math.min(e,h+1);Boolean(e%2)&&("reverse"===d?(n=1-n,p&&(n-=p/a)):"mirror"===d&&(b=o)),w=i(0,1,n)*a}const T=v?{done:!1,value:c[0]}:b.next(w);r&&(T.value=r(T.value));let{done:x}=T;v||null===l||(x=this.playbackSpeed>=0?this.currentTime>=s:this.currentTime<=0);const S=null===this.holdTime&&("finished"===this.state||"running"===this.state&&x);return S&&f!==be&&(T.value=Ee(c,this.options,g,this.speed)),m&&m(T.value),S&&this.finish(),T}then(t,e){return this.finished.then(t,e)}get duration(){return g(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+g(t)}get time(){return g(this.currentTime)}set time(t){t=m(t),this.currentTime=t,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(G.now());const e=this.playbackSpeed!==t;this.playbackSpeed=t,e&&(this.time=g(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=Ht,startTime:e}=this.options;this.driver||(this.driver=t(t=>this.tick(t))),this.options.onPlay?.();const n=this.driver.now();"finished"===this.state?(this.updateFinished(),this.startTime=n):null!==this.holdTime?this.startTime=n-this.holdTime:this.startTime||(this.startTime=e??n),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(G.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null,q.mainThread--}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}function Fe(t){for(let e=1;e<t.length;e++)t[e]??(t[e]=t[e-1])}const Ie=t=>180*t/Math.PI,De=t=>{const e=Ie(Math.atan2(t[1],t[0]));return We(e)},Le={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:t=>(Math.abs(t[0])+Math.abs(t[3]))/2,rotate:De,rotateZ:De,skewX:t=>Ie(Math.atan(t[1])),skewY:t=>Ie(Math.atan(t[2])),skew:t=>(Math.abs(t[1])+Math.abs(t[2]))/2},We=t=>((t%=360)<0&&(t+=360),t),Ne=t=>Math.sqrt(t[0]*t[0]+t[1]*t[1]),je=t=>Math.sqrt(t[4]*t[4]+t[5]*t[5]),$e={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Ne,scaleY:je,scale:t=>(Ne(t)+je(t))/2,rotateX:t=>We(Ie(Math.atan2(t[6],t[5]))),rotateY:t=>We(Ie(Math.atan2(-t[2],t[0]))),rotateZ:De,rotate:De,skewX:t=>Ie(Math.atan(t[4])),skewY:t=>Ie(Math.atan(t[1])),skew:t=>(Math.abs(t[1])+Math.abs(t[4]))/2};function Ke(t){return t.includes("scale")?1:0}function Ue(t,e){if(!t||"none"===t)return Ke(e);const n=t.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let i,s;if(n)i=$e,s=n;else{const e=t.match(/^matrix\(([-\d.e\s,]+)\)$/u);i=Le,s=e}if(!s)return Ke(e);const r=i[e],o=s[1].split(",").map(ze);return"function"==typeof r?r(o):o[r]}const Ye=(t,e)=>{const{transform:n="none"}=getComputedStyle(t);return Ue(n,e)};function ze(t){return parseFloat(t.trim())}const Xe=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],He=(()=>new Set(Xe))(),Ge=t=>t===nt||t===gt,qe=new Set(["x","y","z"]),Ze=Xe.filter(t=>!qe.has(t));const _e={width:({x:t},{paddingLeft:e="0",paddingRight:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),height:({y:t},{paddingTop:e="0",paddingBottom:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),top:(t,{top:e})=>parseFloat(e),left:(t,{left:e})=>parseFloat(e),bottom:({y:t},{top:e})=>parseFloat(e)+(t.max-t.min),right:({x:t},{left:e})=>parseFloat(e)+(t.max-t.min),x:(t,{transform:e})=>Ue(e,"x"),y:(t,{transform:e})=>Ue(e,"y")};_e.translateX=_e.x,_e.translateY=_e.y;const Je=new Set;let Qe=!1,tn=!1,en=!1;function nn(){if(tn){const t=Array.from(Je).filter(t=>t.needsMeasurement),e=new Set(t.map(t=>t.element)),n=new Map;e.forEach(t=>{const e=function(t){const e=[];return Ze.forEach(n=>{const i=t.getValue(n);void 0!==i&&(e.push([n,i.get()]),i.set(n.startsWith("scale")?1:0))}),e}(t);e.length&&(n.set(t,e),t.render())}),t.forEach(t=>t.measureInitialState()),e.forEach(t=>{t.render();const e=n.get(t);e&&e.forEach(([e,n])=>{t.getValue(e)?.set(n)})}),t.forEach(t=>t.measureEndState()),t.forEach(t=>{void 0!==t.suspendedScrollY&&window.scrollTo(0,t.suspendedScrollY)})}tn=!1,Qe=!1,Je.forEach(t=>t.complete(en)),Je.clear()}function sn(){Je.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(tn=!0)})}function rn(){en=!0,sn(),nn(),en=!1}class on{constructor(t,e,n,i,s,r=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=e,this.name=n,this.motionValue=i,this.element=s,this.isAsync=r}scheduleResolve(){this.state="scheduled",this.isAsync?(Je.add(this),Qe||(Qe=!0,K.read(sn),K.resolveKeyframes(nn))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:e,element:n,motionValue:i}=this;if(null===t[0]){const s=i?.get(),r=t[t.length-1];if(void 0!==s)t[0]=s;else if(n&&e){const i=n.readValue(e,r);null!=i&&(t[0]=i)}void 0===t[0]&&(t[0]=r),i&&void 0===s&&i.set(t[0])}Fe(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),Je.delete(this)}cancel(){"scheduled"===this.state&&(Je.delete(this),this.state="pending")}resume(){"pending"===this.state&&this.scheduleResolve()}}const an=t=>t.startsWith("--");function ln(t,e,n){an(e)?t.style.setProperty(e,n):t.style[e]=n}const un=u(()=>void 0!==window.ScrollTimeline),cn={};function hn(t,e){const n=u(t);return()=>cn[e]??n()}const dn=hn(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(t){return!1}return!0},"linearEasing"),pn=([t,e,n,i])=>`cubic-bezier(${t}, ${e}, ${n}, ${i})`,fn={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:pn([0,.65,.55,1]),circOut:pn([.55,0,1,.45]),backIn:pn([.31,.01,.66,-.59]),backOut:pn([.33,1.53,.69,.99])};function mn(t,e){return t?"function"==typeof t?dn()?Gt(t,e):"ease-out":D(t)?pn(t):Array.isArray(t)?t.map(t=>mn(t,e)||fn.easeOut):fn[t]:void 0}function gn(t,e,n,{delay:i=0,duration:s=300,repeat:r=0,repeatType:o="loop",ease:a="easeOut",times:l}={},u=void 0){const c={[e]:n};l&&(c.offset=l);const h=mn(a,s);Array.isArray(h)&&(c.easing=h),j.value&&q.waapi++;const d={delay:i,duration:s,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:r+1,direction:"reverse"===o?"alternate":"normal"};u&&(d.pseudoElement=u);const p=t.animate(c,d);return j.value&&p.finished.finally(()=>{q.waapi--}),p}function yn(t){return"function"==typeof t&&"applyToOptions"in t}function vn({type:t,...e}){return yn(t)&&dn()?t.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}class wn extends Be{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,!e)return;const{element:n,name:i,keyframes:s,pseudoElement:r,allowFlatten:o=!1,finalKeyframe:a,onComplete:l}=e;this.isPseudoElement=Boolean(r),this.allowFlatten=o,this.options=e,t.invariant("string"!=typeof e.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");const u=vn(e);this.animation=gn(n,i,s,u,r),!1===u.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!r){const t=Ee(s,this.options,a,this.speed);this.updateMotionValue?this.updateMotionValue(t):ln(n,i,t),this.animation.cancel()}l?.(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(t){}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;"idle"!==t&&"finished"!==t&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return g(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+g(t)}get time(){return g(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=m(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(t){this.animation.startTime=t}attachTimeline({timeline:t,observe:e}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&un()?(this.animation.timeline=t,c):e(this)}}const bn={anticipate:k,backInOut:A,circInOut:P};function Tn(t){"string"==typeof t.ease&&t.ease in bn&&(t.ease=bn[t.ease])}class xn extends wn{constructor(t){Tn(t),Pe(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:e,onUpdate:n,onComplete:i,element:s,...r}=this.options;if(!e)return;if(void 0!==t)return void e.set(t);const o=new Re({...r,autoplay:!1}),a=m(this.finishedTime??this.time);e.setWithVelocity(o.sample(a-10).value,o.sample(a).value,10),o.stop()}}const Sn=(t,e)=>"zIndex"!==e&&(!("number"!=typeof t&&!Array.isArray(t))||!("string"!=typeof t||!Pt.test(t)&&"0"!==t||t.startsWith("url(")));function Mn(t){t.duration=0,t.type="keyframes"}const Vn=new Set(["opacity","clipPath","filter","transform"]),An=u(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function kn(t){const{motionValue:e,name:n,repeatDelay:i,repeatType:s,damping:r,type:o}=t,a=e?.owner?.current;if(!(a instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:u}=e.owner.getProps();return An()&&n&&Vn.has(n)&&("transform"!==n||!u)&&!l&&!i&&"mirror"!==s&&0!==r&&"inertia"!==o}class En extends Be{constructor({autoplay:t=!0,delay:e=0,type:n="keyframes",repeat:i=0,repeatDelay:s=0,repeatType:r="loop",keyframes:o,name:a,motionValue:l,element:u,...c}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=G.now();const h={autoplay:t,delay:e,type:n,repeat:i,repeatDelay:s,repeatType:r,name:a,motionValue:l,element:u,...c},d=u?.KeyframeResolver||on;this.keyframeResolver=new d(o,(t,e,n)=>this.onKeyframesResolved(t,e,h,!n),a,l,u),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,n,i,s){this.keyframeResolver=void 0;const{name:o,type:a,velocity:l,delay:u,isHandoff:h,onUpdate:d}=i;this.resolvedAt=G.now(),function(e,n,i,s){const r=e[0];if(null===r)return!1;if("display"===n||"visibility"===n)return!0;const o=e[e.length-1],a=Sn(r,n),l=Sn(o,n);return t.warning(a===l,`You are trying to animate ${n} from "${r}" to "${o}". "${a?o:r}" is not an animatable value.`,"value-not-animatable"),!(!a||!l)&&(function(t){const e=t[0];if(1===t.length)return!0;for(let n=0;n<t.length;n++)if(t[n]!==e)return!0}(e)||("spring"===i||yn(i))&&s)}(e,o,a,l)||(!r.instantAnimations&&u||d?.(Ee(e,i,n)),e[0]=e[e.length-1],Mn(i),i.repeat=0);const p={startTime:s?this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:n,...i,keyframes:e},f=!h&&kn(p)?new xn({...p,element:p.motionValue.owner.current}):new Re(p);f.finished.then(()=>this.notifyFinished()).catch(c),this.pendingTimeline&&(this.stopTimeline=f.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=f}get finished(){return this._animation?this.animation.finished:this._finished}then(t,e){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),rn()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}class Cn{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map(t=>t.finished))}getAll(t){return this.animations[0][t]}setAll(t,e){for(let n=0;n<this.animations.length;n++)this.animations[n][t]=e}attachTimeline(t){const e=this.animations.map(e=>e.attachTimeline(t));return()=>{e.forEach((t,e)=>{t&&t(),this.animations[e].stop()})}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get state(){return this.getAll("state")}get startTime(){return this.getAll("startTime")}get duration(){return Pn(this.animations,"duration")}get iterationDuration(){return Pn(this.animations,"iterationDuration")}runAll(t){this.animations.forEach(e=>e[t]())}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}function Pn(t,e){let n=0;for(let i=0;i<t.length;i++){const s=t[i][e];null!==s&&s>n&&(n=s)}return n}class Bn extends Cn{then(t,e){return this.finished.finally(t).then(()=>{})}}class On extends wn{constructor(t){super(),this.animation=t,t.onfinish=()=>{this.finishedTime=this.time,this.notifyFinished()}}}const Rn=new WeakMap,Fn=(t,e="")=>`${t}:${e}`;function In(t){const e=Rn.get(t)||new Map;return Rn.set(t,e),e}const Dn=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Ln(t){const e=Dn.exec(t);if(!e)return[,];const[,n,i,s]=e;return[`--${n??i}`,s]}function Wn(e,n,i=1){t.invariant(i<=4,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[s,r]=Ln(e);if(!s)return;const a=window.getComputedStyle(n).getPropertyValue(s);if(a){const t=a.trim();return o(t)?parseFloat(t):t}return Q(r)?Wn(r,n,i+1):r}function Nn(t,e){return t?.[e]??t?.default??t}const jn=new Set(["width","height","top","left","right","bottom",...Xe]),$n=t=>e=>e.test(t),Kn=[nt,gt,mt,ft,vt,yt,{test:t=>"auto"===t,parse:t=>t}],Un=t=>Kn.find($n(t));function Yn(t){return"number"==typeof t?0===t:null===t||("none"===t||"0"===t||l(t))}const zn=new Set(["brightness","contrast","saturate","opacity"]);function Xn(t){const[e,n]=t.slice(0,-1).split("(");if("drop-shadow"===e)return t;const[i]=n.match(ot)||[];if(!i)return t;const s=n.replace(i,"");let r=zn.has(e)?1:0;return i!==n&&(r*=100),e+"("+r+s+")"}const Hn=/\b([a-z-]*)\(.*?\)/gu,Gn={...Pt,getAnimatableNone:t=>{const e=t.match(Hn);return e?e.map(Xn).join(" "):t}},qn={...nt,transform:Math.round},Zn={rotate:ft,rotateX:ft,rotateY:ft,rotateZ:ft,scale:st,scaleX:st,scaleY:st,scaleZ:st,skew:ft,skewX:ft,skewY:ft,distance:gt,translateX:gt,translateY:gt,translateZ:gt,x:gt,y:gt,z:gt,perspective:gt,transformPerspective:gt,opacity:it,originX:wt,originY:wt,originZ:gt},_n={borderWidth:gt,borderTopWidth:gt,borderRightWidth:gt,borderBottomWidth:gt,borderLeftWidth:gt,borderRadius:gt,radius:gt,borderTopLeftRadius:gt,borderTopRightRadius:gt,borderBottomRightRadius:gt,borderBottomLeftRadius:gt,width:gt,maxWidth:gt,height:gt,maxHeight:gt,top:gt,right:gt,bottom:gt,left:gt,inset:gt,insetBlock:gt,insetBlockStart:gt,insetBlockEnd:gt,insetInline:gt,insetInlineStart:gt,insetInlineEnd:gt,padding:gt,paddingTop:gt,paddingRight:gt,paddingBottom:gt,paddingLeft:gt,paddingBlock:gt,paddingBlockStart:gt,paddingBlockEnd:gt,paddingInline:gt,paddingInlineStart:gt,paddingInlineEnd:gt,margin:gt,marginTop:gt,marginRight:gt,marginBottom:gt,marginLeft:gt,marginBlock:gt,marginBlockStart:gt,marginBlockEnd:gt,marginInline:gt,marginInlineStart:gt,marginInlineEnd:gt,backgroundPositionX:gt,backgroundPositionY:gt,...Zn,zIndex:qn,fillOpacity:it,strokeOpacity:it,numOctaves:qn},Jn={..._n,color:Tt,backgroundColor:Tt,outlineColor:Tt,fill:Tt,stroke:Tt,borderColor:Tt,borderTopColor:Tt,borderRightColor:Tt,borderBottomColor:Tt,borderLeftColor:Tt,filter:Gn,WebkitFilter:Gn},Qn=t=>Jn[t];function ti(t,e){let n=Qn(t);return n!==Gn&&(n=Pt),n.getAnimatableNone?n.getAnimatableNone(e):void 0}const ei=new Set(["auto","none","0"]);class ni extends on{constructor(t,e,n,i,s){super(t,e,n,i,s,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:e,name:n}=this;if(!e||!e.current)return;super.readKeyframes();for(let n=0;n<t.length;n++){let i=t[n];if("string"==typeof i&&(i=i.trim(),Q(i))){const s=Wn(i,e.current);void 0!==s&&(t[n]=s),n===t.length-1&&(this.finalKeyframe=i)}}if(this.resolveNoneKeyframes(),!jn.has(n)||2!==t.length)return;const[i,s]=t,r=Un(i),o=Un(s);if(et(i)!==et(s)&&_e[n])this.needsMeasurement=!0;else if(r!==o)if(Ge(r)&&Ge(o))for(let e=0;e<t.length;e++){const n=t[e];"string"==typeof n&&(t[e]=parseFloat(n))}else _e[n]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:e}=this,n=[];for(let e=0;e<t.length;e++)(null===t[e]||Yn(t[e]))&&n.push(e);n.length&&function(t,e,n){let i,s=0;for(;s<t.length&&!i;){const e=t[s];"string"==typeof e&&!ei.has(e)&&At(e).values.length&&(i=t[s]),s++}if(i&&n)for(const s of e)t[s]=ti(n,i)}(t,n,e)}measureInitialState(){const{element:t,unresolvedKeyframes:e,name:n}=this;if(!t||!t.current)return;"height"===n&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=_e[n](t.measureViewportBox(),window.getComputedStyle(t.current)),e[0]=this.measuredOrigin;const i=e[e.length-1];void 0!==i&&t.getValue(n,i).jump(i,!1)}measureEndState(){const{element:t,name:e,unresolvedKeyframes:n}=this;if(!t||!t.current)return;const i=t.getValue(e);i&&i.jump(this.measuredOrigin,!1);const s=n.length-1,r=n[s];n[s]=_e[e](t.measureViewportBox(),window.getComputedStyle(t.current)),null!==r&&void 0===this.finalKeyframe&&(this.finalKeyframe=r),this.removedTransforms?.length&&this.removedTransforms.forEach(([e,n])=>{t.getValue(e).set(n)}),this.resolveNoneKeyframes()}}const ii=new Set(["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","width","maxWidth","height","maxHeight","top","right","bottom","left","inset","insetBlock","insetBlockStart","insetBlockEnd","insetInline","insetInlineStart","insetInlineEnd","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingBlock","paddingBlockStart","paddingBlockEnd","paddingInline","paddingInlineStart","paddingInlineEnd","margin","marginTop","marginRight","marginBottom","marginLeft","marginBlock","marginBlockStart","marginBlockEnd","marginInline","marginInlineStart","marginInlineEnd","backgroundPositionX","backgroundPositionY"]);function si(t,e){for(let n=0;n<t.length;n++)"number"==typeof t[n]&&ii.has(e)&&(t[n]=t[n]+"px")}const ri=u(()=>{try{document.createElement("div").animate({opacity:[1]})}catch(t){return!1}return!0}),oi=new Set(["opacity","clipPath","filter","transform"]);function ai(t,e,n){if(t instanceof EventTarget)return[t];if("string"==typeof t){let i=document;e&&(i=e.current);const s=n?.[t]??i.querySelectorAll(t);return s?Array.from(s):[]}return Array.from(t)}function li(t){return(e,n)=>{const i=ai(e),s=[];for(const e of i){const i=t(e,n);s.push(i)}return()=>{for(const t of s)t()}}}const ui=(t,e)=>e&&"number"==typeof t?e.transform(t):t;class ci{constructor(){this.latest={},this.values=new Map}set(t,e,n,i,s=!0){const r=this.values.get(t);r&&r.onRemove();const o=()=>{const i=e.get();this.latest[t]=s?ui(i,_n[t]):i,n&&K.render(n)};o();const a=e.on("change",o);i&&e.addDependent(i);const l=()=>{a(),n&&U(n),this.values.delete(t),i&&e.removeDependent(i)};return this.values.set(t,{value:e,onRemove:l}),l}get(t){return this.values.get(t)?.value}destroy(){for(const t of this.values.values())t.onRemove()}}function hi(t){const e=new WeakMap,n=[];return(i,s)=>{const r=e.get(i)??new ci;e.set(i,r);for(const e in s){const o=s[e],a=t(i,r,e,o);n.push(a)}return()=>{for(const t of n)t()}}}const di=(t,e,n,i)=>{const s=function(t,e){if(!(e in t))return!1;const n=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),e)||Object.getOwnPropertyDescriptor(t,e);return n&&"function"==typeof n.set}(t,n),r=s?n:n.startsWith("data")||n.startsWith("aria")?n.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`):n;const o=s?()=>{t[r]=e.latest[n]}:()=>{const i=e.latest[n];null==i?t.removeAttribute(r):t.setAttribute(r,String(i))};return e.set(n,i,o)},pi=li(hi(di)),fi=hi((t,e,n,i)=>e.set(n,i,()=>{t[n]=e.latest[n]},void 0,!1));function mi(t){return a(t)&&"offsetHeight"in t}const gi={current:void 0};class yi{constructor(t,e={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=t=>{const e=G.now();if(this.updatedAt!==e&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(t),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const t of this.dependents)t.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=e.owner}setCurrent(t){var e;this.current=t,this.updatedAt=G.now(),null===this.canTrackVelocity&&void 0!==t&&(this.canTrackVelocity=(e=this.current,!isNaN(parseFloat(e))))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,e){this.events[t]||(this.events[t]=new f);const n=this.events[t].add(e);return"change"===t?()=>{n(),K.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,e){this.passiveEffect=t,this.stopPassiveEffect=e}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,e,n){this.set(e),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-n}jump(t,e=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,e&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return gi.current&&gi.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){const t=G.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||t-this.updatedAt>30)return 0;const e=Math.min(this.updatedAt-this.prevUpdatedAt,30);return y(parseFloat(this.current)-parseFloat(this.prevFrameValue),e)}start(t){return this.stop(),new Promise(e=>{this.hasAnimated=!0,this.animation=t(e),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function vi(t,e){return new yi(t,e)}const wi={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"};const bi=new Set(["originX","originY","originZ"]),Ti=(t,e,n,i)=>{let s,r;return He.has(n)?(e.get("transform")||(mi(t)||e.get("transformBox")||Ti(t,e,"transformBox",new yi("fill-box")),e.set("transform",new yi("none"),()=>{t.style.transform=function(t){let e="",n=!0;for(let i=0;i<Xe.length;i++){const s=Xe[i],r=t.latest[s];if(void 0===r)continue;let o=!0;o="number"==typeof r?r===(s.startsWith("scale")?1:0):0===parseFloat(r),o||(n=!1,e+=`${wi[s]||s}(${t.latest[s]}) `)}return n?"none":e.trim()}(e)})),r=e.get("transform")):bi.has(n)?(e.get("transformOrigin")||e.set("transformOrigin",new yi(""),()=>{const n=e.latest.originX??"50%",i=e.latest.originY??"50%",s=e.latest.originZ??0;t.style.transformOrigin=`${n} ${i} ${s}`}),r=e.get("transformOrigin")):s=an(n)?()=>{t.style.setProperty(n,e.latest[n])}:()=>{t.style[n]=e.latest[n]},e.set(n,i,s,r)},xi=li(hi(Ti)),Si=gt.transform;const Mi=li(hi((t,e,n,i)=>{if(n.startsWith("path"))return function(t,e,n,i){return K.render(()=>t.setAttribute("pathLength","1")),"pathOffset"===n?e.set(n,i,()=>t.setAttribute("stroke-dashoffset",Si(-e.latest[n]))):(e.get("stroke-dasharray")||e.set("stroke-dasharray",new yi("1 1"),()=>{const{pathLength:n=1,pathSpacing:i}=e.latest;t.setAttribute("stroke-dasharray",`${Si(n)} ${Si(i??1-Number(n))}`)}),e.set(n,i,void 0,e.get("stroke-dasharray")))}(t,e,n,i);if(n.startsWith("attr"))return di(t,e,function(t){return t.replace(/^attr([A-Z])/,(t,e)=>e.toLowerCase())}(n),i);return(n in t.style?Ti:di)(t,e,n,i)}));const{schedule:Vi,cancel:Ai}=$(queueMicrotask,!1),ki={x:!1,y:!1};function Ei(){return ki.x||ki.y}function Ci(t,e){const n=ai(t),i=new AbortController;return[n,{passive:!0,...e,signal:i.signal},()=>i.abort()]}function Pi(t){return!("touch"===t.pointerType||Ei())}const Bi=(t,e)=>!!e&&(t===e||Bi(t,e.parentElement)),Oi=t=>"mouse"===t.pointerType?"number"!=typeof t.button||t.button<=0:!1!==t.isPrimary,Ri=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);const Fi=new WeakSet;function Ii(t){return e=>{"Enter"===e.key&&t(e)}}function Di(t,e){t.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}function Li(t){return Oi(t)&&!Ei()}function Wi(t,e){const n=window.getComputedStyle(t);return an(e)?n.getPropertyValue(e):n[e]}function Ni(t){return a(t)&&"ownerSVGElement"in t}const ji=new WeakMap;let $i;const Ki=(t,e,n)=>(i,s)=>s&&s[0]?s[0][t+"Size"]:Ni(i)&&"getBBox"in i?i.getBBox()[e]:i[n],Ui=Ki("inline","width","offsetWidth"),Yi=Ki("block","height","offsetHeight");function zi({target:t,borderBoxSize:e}){ji.get(t)?.forEach(n=>{n(t,{get width(){return Ui(t,e)},get height(){return Yi(t,e)}})})}function Xi(t){t.forEach(zi)}function Hi(t,e){$i||"undefined"!=typeof ResizeObserver&&($i=new ResizeObserver(Xi));const n=ai(t);return n.forEach(t=>{let n=ji.get(t);n||(n=new Set,ji.set(t,n)),n.add(e),$i?.observe(t)}),()=>{n.forEach(t=>{const n=ji.get(t);n?.delete(e),n?.size||$i?.unobserve(t)})}}const Gi=new Set;let qi;function Zi(t){return Gi.add(t),qi||(qi=()=>{const t={get width(){return window.innerWidth},get height(){return window.innerHeight}};Gi.forEach(e=>e(t))},window.addEventListener("resize",qi)),()=>{Gi.delete(t),Gi.size||"function"!=typeof qi||(window.removeEventListener("resize",qi),qi=void 0)}}function _i(t,e){return"function"==typeof t?Zi(t):Hi(t,e)}function Ji(t,e){let n;const i=()=>{const{currentTime:i}=e,s=(null===i?0:i.value)/100;n!==s&&t(s),n=s};return K.preUpdate(i,!0),()=>U(i)}function Qi(){const{value:t}=j;null!==t?(t.frameloop.rate.push(Y.delta),t.animations.mainThread.push(q.mainThread),t.animations.waapi.push(q.waapi),t.animations.layout.push(q.layout)):U(Qi)}function ts(t){return t.reduce((t,e)=>t+e,0)/t.length}function es(t,e=ts){return 0===t.length?{min:0,max:0,avg:0}:{min:Math.min(...t),max:Math.max(...t),avg:e(t)}}const ns=t=>Math.round(1e3/t);function is(){j.value=null,j.addProjectionMetrics=null}function ss(){const{value:t}=j;if(!t)throw new Error("Stats are not being measured");is(),U(Qi);const e={frameloop:{setup:es(t.frameloop.setup),rate:es(t.frameloop.rate),read:es(t.frameloop.read),resolveKeyframes:es(t.frameloop.resolveKeyframes),preUpdate:es(t.frameloop.preUpdate),update:es(t.frameloop.update),preRender:es(t.frameloop.preRender),render:es(t.frameloop.render),postRender:es(t.frameloop.postRender)},animations:{mainThread:es(t.animations.mainThread),waapi:es(t.animations.waapi),layout:es(t.animations.layout)},layoutProjection:{nodes:es(t.layoutProjection.nodes),calculatedTargetDeltas:es(t.layoutProjection.calculatedTargetDeltas),calculatedProjections:es(t.layoutProjection.calculatedProjections)}},{rate:n}=e.frameloop;return n.min=ns(n.min),n.max=ns(n.max),n.avg=ns(n.avg),[n.min,n.max]=[n.max,n.min],e}function rs(t){return Ni(t)&&"svg"===t.tagName}function os(t,e){if("first"===t)return 0;{const n=e-1;return"last"===t?n:n/2}}function as(...t){const e=!Array.isArray(t[0]),n=e?0:-1,i=t[0+n],s=Te(t[1+n],t[2+n],t[3+n]);return e?s(i):s}function ls(t){const e=[];gi.current=e;const n=t();gi.current=void 0;const i=vi(n);return function(t,e,n){const i=()=>e.set(n()),s=()=>K.preRender(i,!1,!0),r=t.map(t=>t.on("change",s));e.on("destroy",()=>{r.forEach(t=>t()),U(i)})}(e,i,t),i}const us=t=>Boolean(t&&t.getVelocity);function cs(t,e,n){const i=t.get();let s,r=null,o=i;const a="string"==typeof i?i.replace(/[\d.-]/g,""):void 0,l=()=>{r&&(r.stop(),r=null)};if(t.attach((e,i)=>{o=e,s=t=>i(hs(t,a)),K.postRender(()=>{l(),r=new Re({keyframes:[ds(t.get()),ds(o)],velocity:t.getVelocity(),type:"spring",restDelta:.001,restSpeed:.01,...n,onUpdate:s}),t.events.animationStart?.notify(),r?.then(()=>{t.events.animationComplete?.notify()})})},l),us(e)){const n=e.on("change",e=>t.set(hs(e,a))),i=t.on("destroy",n);return()=>{n(),i()}}return l}function hs(t,e){return e?t+e:t}function ds(t){return"number"==typeof t?t:parseFloat(t)}const ps=[...Kn,Tt,Pt],fs=t=>ps.find($n(t));function ms(t){return"layout"===t?"group":"enter"===t||"new"===t?"new":"exit"===t||"old"===t?"old":"group"}let gs={},ys=null;const vs=(t,e)=>{gs[t]=e},ws=()=>{ys||(ys=document.createElement("style"),ys.id="motion-view");let t="";for(const e in gs){const n=gs[e];t+=`${e} {\n`;for(const[e,i]of Object.entries(n))t+=` ${e}: ${i};\n`;t+="}\n"}ys.textContent=t,document.head.appendChild(ys),gs={}},bs=()=>{ys&&ys.parentElement&&ys.parentElement.removeChild(ys)};function Ts(t){const e=t.match(/::view-transition-(old|new|group|image-pair)\((.*?)\)/);return e?{layer:e[2],type:e[1]}:null}function xs(t){const{effect:e}=t;return!!e&&(e.target===document.documentElement&&e.pseudoElement?.startsWith("::view-transition"))}function Ss(){return document.getAnimations().filter(xs)}const Ms=["layout","enter","exit","new","old"];function Vs(t){const{update:e,targets:n,options:i}=t;if(!document.startViewTransition)return new Promise(async t=>{await e(),t(new Cn([]))});(function(t,e){return e.has(t)&&Object.keys(e.get(t)).length>0})("root",n)||vs(":root",{"view-transition-name":"none"}),vs("::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*)",{"animation-timing-function":"linear !important"}),ws();const s=document.startViewTransition(async()=>{await e()});return s.finished.finally(()=>{bs()}),new Promise(t=>{s.ready.then(()=>{const e=Ss(),s=[];n.forEach((t,e)=>{for(const n of Ms){if(!t[n])continue;const{keyframes:r,options:o}=t[n];for(let[t,a]of Object.entries(r)){if(!a)continue;const r={...Nn(i,t),...Nn(o,t)},l=ms(n);if("opacity"===t&&!Array.isArray(a)){a=["new"===l?0:1,a]}"function"==typeof r.delay&&(r.delay=r.delay(0,1)),r.duration&&(r.duration=m(r.duration)),r.delay&&(r.delay=m(r.delay));const u=new wn({...r,element:document.documentElement,name:t,pseudoElement:`::view-transition-${l}(${e})`,keyframes:a});s.push(u)}}});for(const t of e){if("finished"===t.playState)continue;const{effect:e}=t;if(!(e&&e instanceof KeyframeEffect))continue;const{pseudoElement:r}=e;if(!r)continue;const o=Ts(r);if(!o)continue;const a=n.get(o.layer);if(a)As(a,"enter")&&As(a,"exit")&&e.getKeyframes().some(t=>t.mixBlendMode)?s.push(new On(t)):t.cancel();else{const n="group"===o.type?"layout":"";let r={...Nn(i,n)};r.duration&&(r.duration=m(r.duration)),r=vn(r);const a=mn(r.ease,r.duration);e.updateTiming({delay:m(r.delay??0),duration:r.duration,easing:a}),s.push(new On(t))}}t(new Cn(s))})})}function As(t,e){return t?.[e]?.keyframes.opacity}let ks=[],Es=null;function Cs(){Es=null;const[t]=ks;var e;t&&(n(ks,e=t),Es=e,Vs(e).then(t=>{e.notifyReady(t),t.finished.finally(Cs)}))}function Ps(){for(let t=ks.length-1;t>=0;t--){const e=ks[t],{interrupt:n}=e.options;if("immediate"===n){const n=ks.slice(0,t+1).map(t=>t.update),i=ks.slice(t+1);e.update=()=>{n.forEach(t=>t())},ks=[e,...i];break}}Es&&"immediate"!==ks[0]?.options.interrupt||Cs()}class Bs{constructor(t,e={}){var n;this.currentSubject="root",this.targets=new Map,this.notifyReady=c,this.readyPromise=new Promise(t=>{this.notifyReady=t}),this.update=t,this.options={interrupt:"wait",...e},n=this,ks.push(n),Vi.render(Ps)}get(t){return this.currentSubject=t,this}layout(t,e){return this.updateTarget("layout",t,e),this}new(t,e){return this.updateTarget("new",t,e),this}old(t,e){return this.updateTarget("old",t,e),this}enter(t,e){return this.updateTarget("enter",t,e),this}exit(t,e){return this.updateTarget("exit",t,e),this}crossfade(t){return this.updateTarget("enter",{opacity:1},t),this.updateTarget("exit",{opacity:0},t),this}updateTarget(t,e,n={}){const{currentSubject:i,targets:s}=this;s.has(i)||s.set(i,{});s.get(i)[t]={keyframes:e,options:n}}then(t,e){return this.readyPromise.then(t,e)}}const Os=K,Rs=N.reduce((t,e)=>(t[e]=t=>U(t),t),{});function Fs(t){return"object"==typeof t&&!Array.isArray(t)}function Is(t,e,n,i){return"string"==typeof t&&Fs(e)?ai(t,n,i):t instanceof NodeList?Array.from(t):Array.isArray(t)?t:[t]}function Ds(t,e,n){return t*(e+1)}function Ls(t,e,n,i){return"number"==typeof e?e:e.startsWith("-")||e.startsWith("+")?Math.max(0,t+parseFloat(e)):"<"===e?n:e.startsWith("<")?Math.max(0,n+parseFloat(e.slice(1))):i.get(e)??t}function Ws(t,e,i,s,r,o){!function(t,e,i){for(let s=0;s<t.length;s++){const r=t[s];r.at>e&&r.at<i&&(n(t,r),s--)}}(t,r,o);for(let n=0;n<e.length;n++)t.push({value:e[n],at:Ft(r,o,s[n]),easing:I(i,n)})}function Ns(t,e){for(let n=0;n<t.length;n++)t[n]=t[n]/(e+1)}function js(t,e){return t.at===e.at?null===t.value?1:null===e.value?-1:0:t.at-e.at}function $s(t,e){return!e.has(t)&&e.set(t,{}),e.get(t)}function Ks(t,e){return e[t]||(e[t]=[]),e[t]}function Us(t){return Array.isArray(t)?t:[t]}function Ys(t,e){return t&&t[e]?{...t,...t[e]}:{...t}}const zs=t=>"number"==typeof t,Xs=t=>t.every(zs),Hs=new WeakMap;function Gs(t){const e=[{},{}];return t?.values.forEach((t,n)=>{e[0][n]=t.get(),e[1][n]=t.getVelocity()}),e}function qs(t,e,n,i){if("function"==typeof e){const[s,r]=Gs(i);e=e(void 0!==n?n:t.custom,s,r)}if("string"==typeof e&&(e=t.variants&&t.variants[e]),"function"==typeof e){const[s,r]=Gs(i);e=e(void 0!==n?n:t.custom,s,r)}return e}function Zs(t,e,n){t.hasValue(e)?t.getValue(e).set(n):t.addValue(e,vi(n))}function _s(t){return(t=>Array.isArray(t))(t)?t[t.length-1]||0:t}function Js(t,e){const n=function(t,e){const n=t.getProps();return qs(n,e,n.custom,t)}(t,e);let{transitionEnd:i={},transition:s={},...r}=n||{};r={...r,...i};for(const e in r){Zs(t,e,_s(r[e]))}}function Qs(t,e){const n=t.getValue("willChange");if(i=n,Boolean(us(i)&&i.add))return n.add(e);if(!n&&r.WillChange){const n=new r.WillChange("auto");t.addValue("willChange",n),n.add(e)}var i}const tr=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),er="data-"+tr("framerAppearId");function nr(t){return t.props[er]}const ir=t=>null!==t;const sr={type:"spring",stiffness:500,damping:25,restSpeed:10},rr={type:"keyframes",duration:.8},or={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},ar=(t,{keyframes:e})=>e.length>2?rr:He.has(t)?t.startsWith("scale")?{type:"spring",stiffness:550,damping:0===e[1]?2*Math.sqrt(550):30,restSpeed:10}:sr:or;const lr=(t,e,n,i={},s,o)=>a=>{const l=Nn(i,t)||{},u=l.delay||i.delay||0;let{elapsed:c=0}=i;c-=m(u);const h={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:e.getVelocity(),...l,delay:-c,onUpdate:t=>{e.set(t),l.onUpdate&&l.onUpdate(t)},onComplete:()=>{a(),l.onComplete&&l.onComplete()},name:t,motionValue:e,element:o?void 0:s};(function({when:t,delay:e,delayChildren:n,staggerChildren:i,staggerDirection:s,repeat:r,repeatType:o,repeatDelay:a,from:l,elapsed:u,...c}){return!!Object.keys(c).length})(l)||Object.assign(h,ar(t,h)),h.duration&&(h.duration=m(h.duration)),h.repeatDelay&&(h.repeatDelay=m(h.repeatDelay)),void 0!==h.from&&(h.keyframes[0]=h.from);let d=!1;if((!1===h.type||0===h.duration&&!h.repeatDelay)&&(Mn(h),0===h.delay&&(d=!0)),(r.instantAnimations||r.skipAnimations)&&(d=!0,Mn(h),h.delay=0),h.allowFlatten=!l.type&&!l.ease,d&&!o&&void 0!==e.get()){const t=function(t,{repeat:e,repeatType:n="loop"},i){const s=t.filter(ir),r=e&&"loop"!==n&&e%2==1?0:s.length-1;return r&&void 0!==i?i:s[r]}(h.keyframes,l);if(void 0!==t)return void K.update(()=>{h.onUpdate(t),h.onComplete()})}return l.isSync?new Re(h):new En(h)};function ur({protectedKeys:t,needsAnimating:e},n){const i=t.hasOwnProperty(n)&&!0!==e[n];return e[n]=!1,i}function cr(t,e,{delay:n=0,transitionOverride:i,type:s}={}){let{transition:r=t.getDefaultTransition(),transitionEnd:o,...a}=e;i&&(r=i);const l=[],u=s&&t.animationState&&t.animationState.getState()[s];for(const e in a){const i=t.getValue(e,t.latestValues[e]??null),s=a[e];if(void 0===s||u&&ur(u,e))continue;const o={delay:n,...Nn(r||{},e)},c=i.get();if(void 0!==c&&!i.isAnimating&&!Array.isArray(s)&&s===c&&!o.velocity)continue;let h=!1;if(window.MotionHandoffAnimation){const n=nr(t);if(n){const t=window.MotionHandoffAnimation(n,e,K);null!==t&&(o.startTime=t,h=!0)}}Qs(t,e),i.start(lr(e,i,s,t.shouldReduceMotion&&jn.has(e)?{type:!1}:o,t,h));const d=i.animation;d&&l.push(d)}return o&&Promise.all(l).then(()=>{K.update(()=>{o&&Js(t,o)})}),l}const hr={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},dr={};for(const t in hr)dr[t]={isEnabled:e=>hr[t].some(t=>!!e[t])};const pr=()=>({x:{min:0,max:0},y:{min:0,max:0}}),fr="undefined"!=typeof window,mr={current:null},gr={current:!1};const yr=["initial","animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"];function vr(t){return null!==(e=t.animate)&&"object"==typeof e&&"function"==typeof e.start||yr.some(e=>function(t){return"string"==typeof t||Array.isArray(t)}(t[e]));var e}const wr=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class br{scrapeMotionValuesFromProps(t,e,n){return{}}constructor({parent:t,props:e,presenceContext:n,reducedMotionConfig:i,blockInitialAnimation:s,visualState:r},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=on,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const t=G.now();this.renderScheduledAt<t&&(this.renderScheduledAt=t,K.render(this.render,!1,!0))};const{latestValues:a,renderState:l}=r;this.latestValues=a,this.baseTarget={...a},this.initialValues=e.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=e,this.presenceContext=n,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=o,this.blockInitialAnimation=Boolean(s),this.isControllingVariants=vr(e),this.isVariantNode=function(t){return Boolean(vr(t)||t.variants)}(e),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(e,{},this);for(const t in c){const e=c[t];void 0!==a[t]&&us(e)&&e.set(a[t])}}mount(t){this.current=t,Hs.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((t,e)=>this.bindToMotionValue(e,t)),"never"===this.reducedMotionConfig?this.shouldReduceMotion=!1:"always"===this.reducedMotionConfig?this.shouldReduceMotion=!0:(gr.current||function(){if(gr.current=!0,fr)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>mr.current=t.matches;t.addEventListener("change",e),e()}else mr.current=!1}(),this.shouldReduceMotion=mr.current),this.parent?.addChild(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),U(this.notifyUpdate),U(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const e=this.features[t];e&&(e.unmount(),e.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,e){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const n=He.has(t);n&&this.onBindTransform&&this.onBindTransform();const i=e.on("change",e=>{this.latestValues[t]=e,this.props.onUpdate&&K.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let s;window.MotionCheckAppearSync&&(s=window.MotionCheckAppearSync(this,t,e)),this.valueSubscriptions.set(t,()=>{i(),s&&s(),e.owner&&e.stop()})}sortNodePosition(t){return this.current&&this.sortInstanceNodePosition&&this.type===t.type?this.sortInstanceNodePosition(this.current,t.current):0}updateFeatures(){let t="animation";for(t in dr){const e=dr[t];if(!e)continue;const{isEnabled:n,Feature:i}=e;if(!this.features[t]&&i&&n(this.props)&&(this.features[t]=new i(this)),this.features[t]){const e=this.features[t];e.isMounted?e.update():(e.mount(),e.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):{x:{min:0,max:0},y:{min:0,max:0}}}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,e){this.latestValues[t]=e}update(t,e){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=e;for(let e=0;e<wr.length;e++){const n=wr[e];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);const i=t["on"+n];i&&(this.propEventSubscriptions[n]=this.on(n,i))}this.prevMotionValues=function(t,e,n){for(const i in e){const s=e[i],r=n[i];if(us(s))t.addValue(i,s);else if(us(r))t.addValue(i,vi(s,{owner:t}));else if(r!==s)if(t.hasValue(i)){const e=t.getValue(i);!0===e.liveStyle?e.jump(s):e.hasAnimated||e.set(s)}else{const e=t.getStaticValue(i);t.addValue(i,vi(void 0!==e?e:s,{owner:t}))}}for(const i in n)void 0===e[i]&&t.removeValue(i);return e}(this,this.scrapeMotionValuesFromProps(t,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const e=this.getClosestVariantNode();if(e)return e.variantChildren&&e.variantChildren.add(t),()=>e.variantChildren.delete(t)}addValue(t,e){const n=this.values.get(t);e!==n&&(n&&this.removeValue(t),this.bindToMotionValue(t,e),this.values.set(t,e),this.latestValues[t]=e.get())}removeValue(t){this.values.delete(t);const e=this.valueSubscriptions.get(t);e&&(e(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,e){if(this.props.values&&this.props.values[t])return this.props.values[t];let n=this.values.get(t);return void 0===n&&void 0!==e&&(n=vi(null===e?void 0:e,{owner:this}),this.addValue(t,n)),n}readValue(t,e){let n=void 0===this.latestValues[t]&&this.current?this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options):this.latestValues[t];return null!=n&&("string"==typeof n&&(o(n)||l(n))?n=parseFloat(n):!fs(n)&&Pt.test(e)&&(n=ti(t,e)),this.setBaseTarget(t,us(n)?n.get():n)),us(n)?n.get():n}setBaseTarget(t,e){this.baseTarget[t]=e}getBaseTarget(t){const{initial:e}=this.props;let n;if("string"==typeof e||"object"==typeof e){const i=qs(this.props,e,this.presenceContext?.custom);i&&(n=i[t])}if(e&&void 0!==n)return n;const i=this.getBaseTargetFromProps(this.props,t);return void 0===i||us(i)?void 0!==this.initialValues[t]&&void 0===n?void 0:this.baseTarget[t]:i}on(t,e){return this.events[t]||(this.events[t]=new f),this.events[t].add(e)}notify(t,...e){this.events[t]&&this.events[t].notify(...e)}scheduleRenderMicrotask(){Vi.render(this.render)}}class Tr extends br{constructor(){super(...arguments),this.KeyframeResolver=ni}sortInstanceNodePosition(t,e){return 2&t.compareDocumentPosition(e)?1:-1}getBaseTargetFromProps(t,e){return t.style?t.style[e]:void 0}removeValueFromRenderState(t,{vars:e,style:n}){delete e[t],delete n[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;us(t)&&(this.childSubscription=t.on("change",t=>{this.current&&(this.current.textContent=`${t}`)}))}}const xr={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Sr=Xe.length;function Mr(t,e,n){const{style:i,vars:s,transformOrigin:r}=t;let o=!1,a=!1;for(const t in e){const n=e[t];if(He.has(t))o=!0;else if(_(t))s[t]=n;else{const e=ui(n,_n[t]);t.startsWith("origin")?(a=!0,r[t]=e):i[t]=e}}if(e.transform||(o||n?i.transform=function(t,e,n){let i="",s=!0;for(let r=0;r<Sr;r++){const o=Xe[r],a=t[o];if(void 0===a)continue;let l=!0;if(l="number"==typeof a?a===(o.startsWith("scale")?1:0):0===parseFloat(a),!l||n){const t=ui(a,_n[o]);l||(s=!1,i+=`${xr[o]||o}(${t}) `),n&&(e[o]=t)}}return i=i.trim(),n?i=n(e,s?"":i):s&&(i="none"),i}(e,t.transform,n):i.transform&&(i.transform="none")),a){const{originX:t="50%",originY:e="50%",originZ:n=0}=r;i.transformOrigin=`${t} ${e} ${n}`}}function Vr(t,{style:e,vars:n},i,s){const r=t.style;let o;for(o in e)r[o]=e[o];for(o in s?.applyProjectionStyles(r,i),n)r.setProperty(o,n[o])}function Ar(t,e){return e.max===e.min?0:t/(e.max-e.min)*100}const kr={correct:(t,e)=>{if(!e.target)return t;if("string"==typeof t){if(!gt.test(t))return t;t=parseFloat(t)}return`${Ar(t,e.target.x)}% ${Ar(t,e.target.y)}%`}},Er={correct:(t,{treeScale:e,projectionDelta:n})=>{const i=t,s=Pt.parse(t);if(s.length>5)return i;const r=Pt.createTransformer(t),o="number"!=typeof s[0]?1:0,a=n.x.scale*e.x,l=n.y.scale*e.y;s[0+o]/=a,s[1+o]/=l;const u=Ft(a,l,.5);return"number"==typeof s[2+o]&&(s[2+o]/=u),"number"==typeof s[3+o]&&(s[3+o]/=u),r(s)}},Cr={borderRadius:{...kr,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:kr,borderTopRightRadius:kr,borderBottomLeftRadius:kr,borderBottomRightRadius:kr,boxShadow:Er};function Pr(t,{layout:e,layoutId:n}){return He.has(t)||t.startsWith("origin")||(e||void 0!==n)&&(!!Cr[t]||"opacity"===t)}function Br(t,e,n){const{style:i}=t,s={};for(const r in i)(us(i[r])||e.style&&us(e.style[r])||Pr(r,t)||void 0!==n?.getValue(r)?.liveStyle)&&(s[r]=i[r]);return s}class Or extends Tr{constructor(){super(...arguments),this.type="html",this.renderInstance=Vr}readValueFromInstance(t,e){if(He.has(e))return this.projection?.isProjecting?Ke(e):Ye(t,e);{const i=(n=t,window.getComputedStyle(n)),s=(_(e)?i.getPropertyValue(e):i[e])||0;return"string"==typeof s?s.trim():s}var n}measureInstanceViewportBox(t,{transformPagePoint:e}){return function(t,e){return function({top:t,left:e,right:n,bottom:i}){return{x:{min:e,max:n},y:{min:t,max:i}}}(function(t,e){if(!e)return t;const n=e({x:t.left,y:t.top}),i=e({x:t.right,y:t.bottom});return{top:n.y,left:n.x,bottom:i.y,right:i.x}}(t.getBoundingClientRect(),e))}(t,e)}build(t,e,n){Mr(t,e,n.transformTemplate)}scrapeMotionValuesFromProps(t,e,n){return Br(t,e,n)}}class Rr extends br{constructor(){super(...arguments),this.type="object"}readValueFromInstance(t,e){if(function(t,e){return t in e}(e,t)){const n=t[e];if("string"==typeof n||"number"==typeof n)return n}}getBaseTargetFromProps(){}removeValueFromRenderState(t,e){delete e.output[t]}measureInstanceViewportBox(){return{x:{min:0,max:0},y:{min:0,max:0}}}build(t,e){Object.assign(t.output,e)}renderInstance(t,{output:e}){Object.assign(t,e)}sortInstanceNodePosition(){return 0}}const Fr={offset:"stroke-dashoffset",array:"stroke-dasharray"},Ir={offset:"strokeDashoffset",array:"strokeDasharray"};const Dr=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function Lr(t,{attrX:e,attrY:n,attrScale:i,pathLength:s,pathSpacing:r=1,pathOffset:o=0,...a},l,u,c){if(Mr(t,a,u),l)return void(t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox));t.attrs=t.style,t.style={};const{attrs:h,style:d}=t;h.transform&&(d.transform=h.transform,delete h.transform),(d.transform||h.transformOrigin)&&(d.transformOrigin=h.transformOrigin??"50% 50%",delete h.transformOrigin),d.transform&&(d.transformBox=c?.transformBox??"fill-box",delete h.transformBox);for(const t of Dr)void 0!==h[t]&&(d[t]=h[t],delete h[t]);void 0!==e&&(h.x=e),void 0!==n&&(h.y=n),void 0!==i&&(h.scale=i),void 0!==s&&function(t,e,n=1,i=0,s=!0){t.pathLength=1;const r=s?Fr:Ir;t[r.offset]=gt.transform(-i);const o=gt.transform(e),a=gt.transform(n);t[r.array]=`${o} ${a}`}(h,s,r,o,!1)}const Wr=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);class Nr extends Tr{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=pr}getBaseTargetFromProps(t,e){return t[e]}readValueFromInstance(t,e){if(He.has(e)){const t=Qn(e);return t&&t.default||0}return e=Wr.has(e)?e:tr(e),t.getAttribute(e)}scrapeMotionValuesFromProps(t,e,n){return function(t,e,n){const i=Br(t,e,n);for(const n in t)(us(t[n])||us(e[n]))&&(i[-1!==Xe.indexOf(n)?"attr"+n.charAt(0).toUpperCase()+n.substring(1):n]=t[n]);return i}(t,e,n)}build(t,e,n){Lr(t,e,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(t,e,n,i){!function(t,e,n,i){Vr(t,e,void 0,i);for(const n in e.attrs)t.setAttribute(Wr.has(n)?n:tr(n),e.attrs[n])}(t,e,0,i)}mount(t){var e;this.isSVGTag="string"==typeof(e=t.tagName)&&"svg"===e.toLowerCase(),super.mount(t)}}function jr(t){const e={presenceContext:null,props:{},visualState:{renderState:{transform:{},transformOrigin:{},style:{},vars:{},attrs:{}},latestValues:{}}},n=Ni(t)&&!rs(t)?new Nr(e):new Or(e);n.mount(t),Hs.set(t,n)}function $r(t){const e=new Rr({presenceContext:null,props:{},visualState:{renderState:{output:{}},latestValues:{}}});e.mount(t),Hs.set(t,e)}function Kr(e,n,i,s){const r=[];if(function(t,e){return us(t)||"number"==typeof t||"string"==typeof t&&!Fs(e)}(e,n))r.push(function(t,e,n){const i=us(t)?t:vi(t);return i.start(lr("",i,e,n)),i.animation}(e,Fs(n)&&n.default||n,i&&i.default||i));else{const o=Is(e,n,s),a=o.length;t.invariant(Boolean(a),"No valid elements provided.","no-valid-elements");for(let e=0;e<a;e++){const s=o[e];t.invariant(null!==s,"You're trying to perform an animation on null. Ensure that selectors are correctly finding elements and refs are correctly hydrated.","animate-null");const l=s instanceof Element?jr:$r;Hs.has(s)||l(s);const u=Hs.get(s),c={...i};"delay"in c&&"function"==typeof c.delay&&(c.delay=c.delay(e,a)),r.push(...cr(u,{...n,transition:c},{}))}}return r}function Ur(e,n,i){const s=[],r=function(e,{defaultTransition:n={},...i}={},s,r){const o=n.duration||.3,a=new Map,l=new Map,u={},c=new Map;let h=0,d=0,f=0;for(let i=0;i<e.length;i++){const a=e[i];if("string"==typeof a){c.set(a,d);continue}if(!Array.isArray(a)){c.set(a.name,Ls(d,a.at,h,c));continue}let[p,g,y={}]=a;void 0!==y.at&&(d=Ls(d,y.at,h,c));let v=0;const w=(e,i,s,a=0,l=0)=>{const u=Us(e),{delay:c=0,times:h=Se(u),type:p="keyframes",repeat:g,repeatType:y,repeatDelay:w=0,...b}=i;let{ease:T=n.ease||"easeOut",duration:x}=i;const S="function"==typeof c?c(a,l):c,M=u.length,V=yn(p)?p:r?.[p||"keyframes"];if(M<=2&&V){let t=100;if(2===M&&Xs(u)){const e=u[1]-u[0];t=Math.abs(e)}const e={...b};void 0!==x&&(e.duration=m(x));const n=_t(e,t,V);T=n.ease,x=n.duration}x??(x=o);const A=d+S;1===h.length&&0===h[0]&&(h[1]=1);const k=h.length-u.length;if(k>0&&xe(h,k),1===u.length&&u.unshift(null),g){t.invariant(g<20,"Repeat count too high, must be less than 20","repeat-count-high"),x=Ds(x,g);const e=[...u],n=[...h];T=Array.isArray(T)?[...T]:[T];const i=[...T];for(let t=0;t<g;t++){u.push(...e);for(let s=0;s<e.length;s++)h.push(n[s]+(t+1)),T.push(0===s?"linear":I(i,s-1))}Ns(h,g)}const E=A+x;Ws(s,u,T,h,A,E),v=Math.max(S+x,v),f=Math.max(E,f)};if(us(p))w(g,y,Ks("default",$s(p,l)));else{const t=Is(p,g,s,u),e=t.length;for(let n=0;n<e;n++){const i=$s(t[n],l);for(const t in g)w(g[t],Ys(y,t),Ks(t,i),n,e)}}h=d,d+=v}return l.forEach((t,e)=>{for(const s in t){const r=t[s];r.sort(js);const o=[],l=[],u=[];for(let t=0;t<r.length;t++){const{at:e,value:n,easing:i}=r[t];o.push(n),l.push(p(0,f,e)),u.push(i||"easeOut")}0!==l[0]&&(l.unshift(0),o.unshift(o[0]),u.unshift("easeInOut")),1!==l[l.length-1]&&(l.push(1),o.push(null)),a.has(e)||a.set(e,{keyframes:{},transition:{}});const c=a.get(e);c.keyframes[s]=o,c.transition[s]={...n,duration:f,ease:u,times:l,...i}}}),a}(e,n,i,{spring:we});return r.forEach(({keyframes:t,transition:e},n)=>{s.push(...Kr(n,t,e))}),s}function Yr(t){return function(e,i,s){let r,o=[];if(a=e,Array.isArray(a)&&a.some(Array.isArray))o=Ur(e,i,t);else{const{onComplete:n,...a}=s||{};"function"==typeof n&&(r=n),o=Kr(e,i,a,t)}var a;const l=new Bn(o);return r&&l.finished.then(r),t&&(t.animations.push(l),l.finished.then(()=>{n(t.animations,l)})),l}}const zr=Yr();const Xr=e=>function(n,i,s){return new Bn(function(e,n,i,s){const r=ai(e,s),o=r.length;t.invariant(Boolean(o),"No valid elements provided.","no-valid-elements");const a=[];for(let t=0;t<o;t++){const e=r[t],s={...i};"function"==typeof s.delay&&(s.delay=s.delay(t,o));for(const t in n){let i=n[t];Array.isArray(i)||(i=[i]);const r={...Nn(s,t)};r.duration&&(r.duration=m(r.duration)),r.delay&&(r.delay=m(r.delay));const o=In(e),l=Fn(t,r.pseudoElement||""),u=o.get(l);u&&u.stop(),a.push({map:o,key:l,unresolvedKeyframes:i,options:{...r,element:e,name:t,allowFlatten:!s.type&&!s.ease}})}}for(let t=0;t<a.length;t++){const{unresolvedKeyframes:e,options:n}=a[t],{element:i,name:s,pseudoElement:r}=n;r||null!==e[0]||(e[0]=Wi(i,s)),Fe(e),si(e,s),!r&&e.length<2&&e.unshift(Wi(i,s)),n.keyframes=e}const l=[];for(let t=0;t<a.length;t++){const{map:e,key:n,options:i}=a[t],s=new wn(i);e.set(n,s),s.finished.finally(()=>e.delete(n)),l.push(s)}return l}(n,i,s,e))},Hr=Xr(),Gr={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function qr(t,e,n,i){const s=n[e],{length:r,position:o}=Gr[e],a=s.current,l=n.time;s.current=t[`scroll${o}`],s.scrollLength=t[`scroll${r}`]-t[`client${r}`],s.offset.length=0,s.offset[0]=0,s.offset[1]=s.scrollLength,s.progress=p(0,s.scrollLength,s.current);const u=i-l;s.velocity=u>50?0:y(s.current-a,u)}const Zr={start:0,center:.5,end:1};function _r(t,e,n=0){let i=0;if(t in Zr&&(t=Zr[t]),"string"==typeof t){const e=parseFloat(t);t.endsWith("px")?i=e:t.endsWith("%")?t=e/100:t.endsWith("vw")?i=e/100*document.documentElement.clientWidth:t.endsWith("vh")?i=e/100*document.documentElement.clientHeight:t=e}return"number"==typeof t&&(i=e*t),n+i}const Jr=[0,0];function Qr(t,e,n,i){let s=Array.isArray(t)?t:Jr,r=0,o=0;return"number"==typeof t?s=[t,t]:"string"==typeof t&&(s=(t=t.trim()).includes(" ")?t.split(" "):[t,Zr[t]?t:"0"]),r=_r(s[0],n,i),o=_r(s[1],e),r-o}const to={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},eo={x:0,y:0};function no(t,e,n){const{offset:s=to.All}=n,{target:r=t,axis:o="y"}=n,a="y"===o?"height":"width",l=r!==t?function(t,e){const n={x:0,y:0};let i=t;for(;i&&i!==e;)if(mi(i))n.x+=i.offsetLeft,n.y+=i.offsetTop,i=i.offsetParent;else if("svg"===i.tagName){const t=i.getBoundingClientRect();i=i.parentElement;const e=i.getBoundingClientRect();n.x+=t.left-e.left,n.y+=t.top-e.top}else{if(!(i instanceof SVGGraphicsElement))break;{const{x:t,y:e}=i.getBBox();n.x+=t,n.y+=e;let s=null,r=i.parentNode;for(;!s;)"svg"===r.tagName&&(s=r),r=i.parentNode;i=s}}return n}(r,t):eo,u=r===t?{width:t.scrollWidth,height:t.scrollHeight}:function(t){return"getBBox"in t&&"svg"!==t.tagName?t.getBBox():{width:t.clientWidth,height:t.clientHeight}}(r),c={width:t.clientWidth,height:t.clientHeight};e[o].offset.length=0;let h=!e[o].interpolate;const d=s.length;for(let t=0;t<d;t++){const n=Qr(s[t],c[a],u[a],l[o]);h||n===e[o].interpolatorOffsets[t]||(h=!0),e[o].offset[t]=n}h&&(e[o].interpolate=Te(e[o].offset,Se(s),{clamp:!1}),e[o].interpolatorOffsets=[...e[o].offset]),e[o].progress=i(0,1,e[o].interpolate(e[o].current))}function io(t,e,n,i={}){return{measure:e=>{!function(t,e=t,n){if(n.x.targetOffset=0,n.y.targetOffset=0,e!==t){let i=e;for(;i&&i!==t;)n.x.targetOffset+=i.offsetLeft,n.y.targetOffset+=i.offsetTop,i=i.offsetParent}n.x.targetLength=e===t?e.scrollWidth:e.clientWidth,n.y.targetLength=e===t?e.scrollHeight:e.clientHeight,n.x.containerLength=t.clientWidth,n.y.containerLength=t.clientHeight}(t,i.target,n),function(t,e,n){qr(t,"x",e,n),qr(t,"y",e,n),e.time=n}(t,n,e),(i.offset||i.target)&&no(t,n,i)},notify:()=>e(n)}}const so=new WeakMap,ro=new WeakMap,oo=new WeakMap,ao=t=>t===document.scrollingElement?window:t;function lo(t,{container:e=document.scrollingElement,...n}={}){if(!e)return c;let i=oo.get(e);i||(i=new Set,oo.set(e,i));const s=io(e,t,{time:0,x:{current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0},y:{current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}},n);if(i.add(s),!so.has(e)){const t=()=>{for(const t of i)t.measure(Y.timestamp);K.preUpdate(n)},n=()=>{for(const t of i)t.notify()},s=()=>K.read(t);so.set(e,s);const r=ao(e);window.addEventListener("resize",s,{passive:!0}),e!==document.documentElement&&ro.set(e,_i(e,s)),r.addEventListener("scroll",s,{passive:!0}),s()}const r=so.get(e);return K.read(r,!1,!0),()=>{U(r);const t=oo.get(e);if(!t)return;if(t.delete(s),t.size)return;const n=so.get(e);so.delete(e),n&&(ao(e).removeEventListener("scroll",n),ro.get(e)?.(),window.removeEventListener("resize",n))}}const uo=new Map;function co({source:t,container:e,...n}){const{axis:i}=n;t&&(e=t);const s=uo.get(e)??new Map;uo.set(e,s);const r=n.target??"self",o=s.get(r)??{},a=i+(n.offset??[]).join(",");return o[a]||(o[a]=!n.target&&un()?new ScrollTimeline({source:e,axis:i}):function(t){const e={value:0},n=lo(n=>{e.value=100*n[t.axis].progress},t);return{currentTime:e,cancel:n}}({container:e,...n})),o[a]}const ho={some:0,all:1};const po=(t,e)=>Math.abs(t-e);t.AsyncMotionValueAnimation=En,t.DOMKeyframesResolver=ni,t.GroupAnimation=Cn,t.GroupAnimationWithThen=Bn,t.JSAnimation=Re,t.KeyframeResolver=on,t.MotionGlobalConfig=r,t.MotionValue=yi,t.NativeAnimation=wn,t.NativeAnimationExtended=xn,t.NativeAnimationWrapper=On,t.SubscriptionManager=f,t.ViewTransitionBuilder=Bs,t.acceleratedValues=oi,t.activeAnimations=q,t.addAttrValue=di,t.addStyleValue=Ti,t.addUniqueItem=e,t.alpha=it,t.analyseComplexValue=At,t.animate=zr,t.animateMini=Hr,t.animateValue=function(t){return new Re(t)},t.animateView=function(t,e={}){return new Bs(t,e)},t.animationMapKey=Fn,t.anticipate=k,t.applyGeneratorOptions=vn,t.applyPxDefaults=si,t.attachSpring=cs,t.attrEffect=pi,t.backIn=V,t.backInOut=A,t.backOut=M,t.calcGeneratorDuration=Zt,t.cancelFrame=U,t.cancelMicrotask=Ai,t.cancelSync=Rs,t.circIn=E,t.circInOut=P,t.circOut=C,t.clamp=i,t.collectMotionValues=gi,t.color=Tt,t.complex=Pt,t.containsCSSVariable=et,t.convertOffsetToTimes=Me,t.createGeneratorEasing=_t,t.createRenderBatcher=$,t.createScopedAnimate=Yr,t.cubicBezier=T,t.cubicBezierAsString=pn,t.defaultEasing=Ve,t.defaultOffset=Se,t.defaultTransformValue=Ke,t.defaultValueTypes=Jn,t.degrees=ft,t.delay=function(t,e){return function(t,e){const n=G.now(),i=({timestamp:s})=>{const r=s-n;r>=e&&(U(i),t(r-e))};return K.setup(i,!0),()=>U(i)}(t,m(e))},t.dimensionValueTypes=Kn,t.distance=po,t.distance2D=function(t,e){const n=po(t.x,e.x),i=po(t.y,e.y);return Math.sqrt(n**2+i**2)},t.easeIn=B,t.easeInOut=R,t.easeOut=O,t.easingDefinitionToFunction=W,t.fillOffset=xe,t.fillWildcards=Fe,t.findDimensionValueType=Un,t.findValueType=fs,t.flushKeyframeResolvers=rn,t.frame=K,t.frameData=Y,t.frameSteps=z,t.generateLinearEasing=Gt,t.getAnimatableNone=ti,t.getAnimationMap=In,t.getComputedStyle=Wi,t.getDefaultValueType=Qn,t.getEasingForSegment=I,t.getMixer=Kt,t.getOriginIndex=os,t.getValueAsType=ui,t.getValueTransition=Nn,t.getVariableValue=Wn,t.getViewAnimationLayerInfo=Ts,t.getViewAnimations=Ss,t.hasWarned=function(t){return v.has(t)},t.hex=dt,t.hover=function(t,e,n={}){const[i,s,r]=Ci(t,n),o=t=>{if(!Pi(t))return;const{target:n}=t,i=e(n,t);if("function"!=typeof i||!n)return;const r=t=>{Pi(t)&&(i(t),n.removeEventListener("pointerleave",r))};n.addEventListener("pointerleave",r,s)};return i.forEach(t=>{t.addEventListener("pointerenter",o,s)}),r},t.hsla=bt,t.hslaToRgba=Ot,t.inView=function(t,e,{root:n,margin:i,amount:s="some"}={}){const r=ai(t),o=new WeakMap,a=new IntersectionObserver(t=>{t.forEach(t=>{const n=o.get(t.target);if(t.isIntersecting!==Boolean(n))if(t.isIntersecting){const n=e(t.target,t);"function"==typeof n?o.set(t.target,n):a.unobserve(t.target)}else"function"==typeof n&&(n(t),o.delete(t.target))})},{root:n,rootMargin:i,threshold:"number"==typeof s?s:ho[s]});return r.forEach(t=>a.observe(t)),()=>a.disconnect()},t.inertia=be,t.interpolate=Te,t.invisibleValues=Nt,t.isBezierDefinition=D,t.isCSSVariableName=_,t.isCSSVariableToken=Q,t.isDragActive=Ei,t.isDragging=ki,t.isEasingArray=F,t.isGenerator=yn,t.isHTMLElement=mi,t.isMotionValue=us,t.isNodeOrChild=Bi,t.isNumericalString=o,t.isObject=a,t.isPrimaryPointer=Oi,t.isSVGElement=Ni,t.isSVGSVGElement=rs,t.isWaapiSupportedEasing=function t(e){return Boolean("function"==typeof e&&dn()||!e||"string"==typeof e&&(e in fn||dn())||D(e)||Array.isArray(e)&&e.every(t))},t.isZeroValueString=l,t.keyframes=Ae,t.makeAnimationInstant=Mn,t.mapEasingToNativeEasing=mn,t.mapValue=function(t,e,n,i){const s=as(e,n,i);return ls(()=>s(t.get()))},t.maxGeneratorDuration=qt,t.memo=u,t.microtask=Vi,t.millisecondsToSeconds=g,t.mirrorEasing=x,t.mix=Xt,t.mixArray=Ut,t.mixColor=Wt,t.mixComplex=zt,t.mixImmediate=Rt,t.mixLinearColor=It,t.mixNumber=Ft,t.mixObject=Yt,t.mixVisibility=jt,t.motionValue=vi,t.moveItem=function([...t],e,n){const i=e<0?t.length+e:e;if(i>=0&&i<t.length){const i=n<0?t.length+n:n,[s]=t.splice(e,1);t.splice(i,0,s)}return t},t.noop=c,t.number=nt,t.numberValueTypes=_n,t.observeTimeline=Ji,t.parseCSSVariable=Ln,t.parseValueFromTransform=Ue,t.percent=mt,t.pipe=d,t.positionalKeys=jn,t.press=function(t,e,n={}){const[i,s,r]=Ci(t,n),o=t=>{const i=t.currentTarget;if(!Li(t))return;Fi.add(i);const r=e(i,t),o=(t,e)=>{window.removeEventListener("pointerup",a),window.removeEventListener("pointercancel",l),Fi.has(i)&&Fi.delete(i),Li(t)&&"function"==typeof r&&r(t,{success:e})},a=t=>{o(t,i===window||i===document||n.useGlobalTarget||Bi(i,t.target))},l=t=>{o(t,!1)};window.addEventListener("pointerup",a,s),window.addEventListener("pointercancel",l,s)};return i.forEach(t=>{var e;(n.useGlobalTarget?window:t).addEventListener("pointerdown",o,s),mi(t)&&(t.addEventListener("focus",t=>((t,e)=>{const n=t.currentTarget;if(!n)return;const i=Ii(()=>{if(Fi.has(n))return;Di(n,"down");const t=Ii(()=>{Di(n,"up")});n.addEventListener("keyup",t,e),n.addEventListener("blur",()=>Di(n,"cancel"),e)});n.addEventListener("keydown",i,e),n.addEventListener("blur",()=>n.removeEventListener("keydown",i),e)})(t,s)),e=t,Ri.has(e.tagName)||-1!==e.tabIndex||t.hasAttribute("tabindex")||(t.tabIndex=0))}),r},t.progress=p,t.progressPercentage=wt,t.propEffect=fi,t.px=gt,t.readTransformValue=Ye,t.recordStats=function(){if(j.value)throw is(),new Error("Stats are already being measured");const t=j;return t.value={frameloop:{setup:[],rate:[],read:[],resolveKeyframes:[],preUpdate:[],update:[],preRender:[],render:[],postRender:[]},animations:{mainThread:[],waapi:[],layout:[]},layoutProjection:{nodes:[],calculatedTargetDeltas:[],calculatedProjections:[]}},t.addProjectionMetrics=e=>{const{layoutProjection:n}=t.value;n.nodes.push(e.nodes),n.calculatedTargetDeltas.push(e.calculatedTargetDeltas),n.calculatedProjections.push(e.calculatedProjections)},K.postRender(Qi,!0),ss},t.removeItem=n,t.resize=_i,t.resolveElements=ai,t.reverseEasing=S,t.rgbUnit=ct,t.rgba=ht,t.scale=st,t.scroll=function(t,{axis:e="y",container:n=document.scrollingElement,...i}={}){if(!n)return c;const s={axis:e,container:n,...i};return"function"==typeof t?function(t,e){return function(t){return 2===t.length}(t)?lo(n=>{t(n[e.axis].progress,n)},e):Ji(t,co(e))}(t,s):function(t,e){const n=co(e);return t.attachTimeline({timeline:e.target?void 0:n,observe:t=>(t.pause(),Ji(e=>{t.time=t.iterationDuration*e},n))})}(t,s)},t.scrollInfo=lo,t.secondsToMilliseconds=m,t.setDragLock=function(t){return"x"===t||"y"===t?ki[t]?null:(ki[t]=!0,()=>{ki[t]=!1}):ki.x||ki.y?null:(ki.x=ki.y=!0,()=>{ki.x=ki.y=!1})},t.setStyle=ln,t.spring=we,t.springValue=function(t,e){const n=vi(us(t)?t.get():t);return cs(n,t,e),n},t.stagger=function(t=.1,{startDelay:e=0,from:n=0,ease:i}={}){return(s,r)=>{const o="number"==typeof n?n:os(n,r),a=Math.abs(o-s);let l=t*a;if(i){const e=r*t;l=W(i)(l/e)*e}return e+l}},t.startWaapiAnimation=gn,t.statsBuffer=j,t.steps=function(t,e="end"){return n=>{const s=(n="end"===e?Math.min(n,.999):Math.max(n,.001))*t,r="end"===e?Math.floor(s):Math.ceil(s);return i(0,1,r/t)}},t.styleEffect=xi,t.supportedWaapiEasing=fn,t.supportsBrowserAnimation=kn,t.supportsFlags=cn,t.supportsLinearEasing=dn,t.supportsPartialKeyframes=ri,t.supportsScrollTimeline=un,t.svgEffect=Mi,t.sync=Os,t.testValueType=$n,t.time=G,t.transform=as,t.transformPropOrder=Xe,t.transformProps=He,t.transformValue=ls,t.transformValueTypes=Zn,t.velocityPerSecond=y,t.vh=yt,t.vw=vt,t.warnOnce=function(t,e,n){t||v.has(e)||(console.warn(s(e,n)),v.add(e))},t.wrap=w});
|
|
@@ -67,6 +67,10 @@ const AnimatePresence = ({ children, custom, initial = true, onExitComplete, pre
|
|
|
67
67
|
* Track which exiting children have finished animating out.
|
|
68
68
|
*/
|
|
69
69
|
const exitComplete = useConstant(() => new Map());
|
|
70
|
+
/**
|
|
71
|
+
* Track which components are currently processing exit to prevent duplicate processing.
|
|
72
|
+
*/
|
|
73
|
+
const exitingComponents = useRef(new Set());
|
|
70
74
|
/**
|
|
71
75
|
* Save children to render as React state. To ensure this component is concurrent-safe,
|
|
72
76
|
* we check for exiting children via an effect.
|
|
@@ -88,6 +92,7 @@ const AnimatePresence = ({ children, custom, initial = true, onExitComplete, pre
|
|
|
88
92
|
}
|
|
89
93
|
else {
|
|
90
94
|
exitComplete.delete(key);
|
|
95
|
+
exitingComponents.current.delete(key);
|
|
91
96
|
}
|
|
92
97
|
}
|
|
93
98
|
}, [renderedChildren, presentKeys.length, presentKeys.join("-")]);
|
|
@@ -139,6 +144,10 @@ const AnimatePresence = ({ children, custom, initial = true, onExitComplete, pre
|
|
|
139
144
|
: presentChildren === renderedChildren ||
|
|
140
145
|
presentKeys.includes(key);
|
|
141
146
|
const onExit = () => {
|
|
147
|
+
if (exitingComponents.current.has(key)) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
exitingComponents.current.add(key);
|
|
142
151
|
if (exitComplete.has(key)) {
|
|
143
152
|
exitComplete.set(key, true);
|
|
144
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../src/components/AnimatePresence/index.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { useContext, useMemo, useRef, useState } from \"react\"\nimport { LayoutGroupContext } from \"../../context/LayoutGroupContext\"\nimport { useConstant } from \"../../utils/use-constant\"\nimport { useIsomorphicLayoutEffect } from \"../../utils/use-isomorphic-effect\"\nimport { PresenceChild } from \"./PresenceChild\"\nimport { AnimatePresenceProps } from \"./types\"\nimport { usePresence } from \"./use-presence\"\nimport { ComponentKey, getChildKey, onlyElements } from \"./utils\"\n\n/**\n * `AnimatePresence` enables the animation of components that have been removed from the tree.\n *\n * When adding/removing more than a single child, every child **must** be given a unique `key` prop.\n *\n * Any `motion` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { motion, AnimatePresence } from 'framer-motion'\n *\n * export const Items = ({ items }) => (\n * <AnimatePresence>\n * {items.map(item => (\n * <motion.div\n * key={item.id}\n * initial={{ opacity: 0 }}\n * animate={{ opacity: 1 }}\n * exit={{ opacity: 0 }}\n * />\n * ))}\n * </AnimatePresence>\n * )\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * If a child contains multiple `motion` components with `exit` props, it will only unmount the child\n * once all `motion` components have finished animating out. Likewise, any components using\n * `usePresence` all need to call `safeToRemove`.\n *\n * @public\n */\nexport const AnimatePresence = ({\n children,\n custom,\n initial = true,\n onExitComplete,\n presenceAffectsLayout = true,\n mode = \"sync\",\n propagate = false,\n anchorX = \"left\",\n root\n}: React.PropsWithChildren<AnimatePresenceProps>) => {\n const [isParentPresent, safeToRemove] = usePresence(propagate)\n\n /**\n * Filter any children that aren't ReactElements. We can only track components\n * between renders with a props.key.\n */\n const presentChildren = useMemo(() => onlyElements(children), [children])\n\n /**\n * Track the keys of the currently rendered children. This is used to\n * determine which children are exiting.\n */\n const presentKeys =\n propagate && !isParentPresent ? [] : presentChildren.map(getChildKey)\n\n /**\n * If `initial={false}` we only want to pass this to components in the first render.\n */\n const isInitialRender = useRef(true)\n\n /**\n * A ref containing the currently present children. When all exit animations\n * are complete, we use this to re-render the component with the latest children\n * *committed* rather than the latest children *rendered*.\n */\n const pendingPresentChildren = useRef(presentChildren)\n\n /**\n * Track which exiting children have finished animating out.\n */\n const exitComplete = useConstant(() => new Map<ComponentKey, boolean>())\n\n /**\n * Save children to render as React state. To ensure this component is concurrent-safe,\n * we check for exiting children via an effect.\n */\n const [diffedChildren, setDiffedChildren] = useState(presentChildren)\n const [renderedChildren, setRenderedChildren] = useState(presentChildren)\n\n useIsomorphicLayoutEffect(() => {\n isInitialRender.current = false\n pendingPresentChildren.current = presentChildren\n\n /**\n * Update complete status of exiting children.\n */\n for (let i = 0; i < renderedChildren.length; i++) {\n const key = getChildKey(renderedChildren[i])\n\n if (!presentKeys.includes(key)) {\n if (exitComplete.get(key) !== true) {\n exitComplete.set(key, false)\n }\n } else {\n exitComplete.delete(key)\n }\n }\n }, [renderedChildren, presentKeys.length, presentKeys.join(\"-\")])\n\n const exitingChildren: any[] = []\n\n if (presentChildren !== diffedChildren) {\n let nextChildren = [...presentChildren]\n\n /**\n * Loop through all the currently rendered components and decide which\n * are exiting.\n */\n for (let i = 0; i < renderedChildren.length; i++) {\n const child = renderedChildren[i]\n const key = getChildKey(child)\n\n if (!presentKeys.includes(key)) {\n nextChildren.splice(i, 0, child)\n exitingChildren.push(child)\n }\n }\n\n /**\n * If we're in \"wait\" mode, and we have exiting children, we want to\n * only render these until they've all exited.\n */\n if (mode === \"wait\" && exitingChildren.length) {\n nextChildren = exitingChildren\n }\n\n setRenderedChildren(onlyElements(nextChildren))\n setDiffedChildren(presentChildren)\n\n /**\n * Early return to ensure once we've set state with the latest diffed\n * children, we can immediately re-render.\n */\n return null\n }\n\n if (\n process.env.NODE_ENV !== \"production\" &&\n mode === \"wait\" &&\n renderedChildren.length > 1\n ) {\n console.warn(\n `You're attempting to animate multiple children within AnimatePresence, but its mode is set to \"wait\". This will lead to odd visual behaviour.`\n )\n }\n\n /**\n * If we've been provided a forceRender function by the LayoutGroupContext,\n * we can use it to force a re-render amongst all surrounding components once\n * all components have finished animating out.\n */\n const { forceRender } = useContext(LayoutGroupContext)\n\n return (\n <>\n {renderedChildren.map((child) => {\n const key = getChildKey(child)\n\n const isPresent =\n propagate && !isParentPresent\n ? false\n : presentChildren === renderedChildren ||\n presentKeys.includes(key)\n\n const onExit = () => {\n if (exitComplete.has(key)) {\n exitComplete.set(key, true)\n } else {\n return\n }\n\n let isEveryExitComplete = true\n exitComplete.forEach((isExitComplete) => {\n if (!isExitComplete) isEveryExitComplete = false\n })\n\n if (isEveryExitComplete) {\n forceRender?.()\n setRenderedChildren(pendingPresentChildren.current)\n\n propagate && safeToRemove?.()\n\n onExitComplete && onExitComplete()\n }\n }\n\n return (\n <PresenceChild\n key={key}\n isPresent={isPresent}\n initial={\n !isInitialRender.current || initial\n ? undefined\n : false\n }\n custom={custom}\n presenceAffectsLayout={presenceAffectsLayout}\n mode={mode}\n root={root}\n onExitComplete={isPresent ? undefined : onExit}\n anchorX={anchorX}\n >\n {child}\n </PresenceChild>\n )\n })}\n </>\n )\n}\n"],"names":[],"mappings":";;;;;;;;;;AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCG;AACI;;AAaH;;;AAGG;AACH;AAEA;;;AAGG;AACH;AAGA;;AAEG;AACH;AAEA;;;;AAIG;AACH;AAEA;;AAEG;;AAGH;;;AAGG;;;;AAKC;AACA;AAEA;;AAEG;AACH;;;;AAKY;;;;AAGJ;;;AAGZ;;AAIA;AACI;AAEA;;;AAGG;AACH;AACI;AACA;;;AAII;;;AAIR;;;AAGG;;;;AAKH;;AAGA;;;AAGG;AACH;;AAGJ;AAEI;AACA;AAEA;;AAKJ;;;;AAIG;;;AAMS;AAEA;AAEQ;;AAEE
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../src/components/AnimatePresence/index.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { useContext, useMemo, useRef, useState } from \"react\"\nimport { LayoutGroupContext } from \"../../context/LayoutGroupContext\"\nimport { useConstant } from \"../../utils/use-constant\"\nimport { useIsomorphicLayoutEffect } from \"../../utils/use-isomorphic-effect\"\nimport { PresenceChild } from \"./PresenceChild\"\nimport { AnimatePresenceProps } from \"./types\"\nimport { usePresence } from \"./use-presence\"\nimport { ComponentKey, getChildKey, onlyElements } from \"./utils\"\n\n/**\n * `AnimatePresence` enables the animation of components that have been removed from the tree.\n *\n * When adding/removing more than a single child, every child **must** be given a unique `key` prop.\n *\n * Any `motion` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { motion, AnimatePresence } from 'framer-motion'\n *\n * export const Items = ({ items }) => (\n * <AnimatePresence>\n * {items.map(item => (\n * <motion.div\n * key={item.id}\n * initial={{ opacity: 0 }}\n * animate={{ opacity: 1 }}\n * exit={{ opacity: 0 }}\n * />\n * ))}\n * </AnimatePresence>\n * )\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * If a child contains multiple `motion` components with `exit` props, it will only unmount the child\n * once all `motion` components have finished animating out. Likewise, any components using\n * `usePresence` all need to call `safeToRemove`.\n *\n * @public\n */\nexport const AnimatePresence = ({\n children,\n custom,\n initial = true,\n onExitComplete,\n presenceAffectsLayout = true,\n mode = \"sync\",\n propagate = false,\n anchorX = \"left\",\n root\n}: React.PropsWithChildren<AnimatePresenceProps>) => {\n const [isParentPresent, safeToRemove] = usePresence(propagate)\n\n /**\n * Filter any children that aren't ReactElements. We can only track components\n * between renders with a props.key.\n */\n const presentChildren = useMemo(() => onlyElements(children), [children])\n\n /**\n * Track the keys of the currently rendered children. This is used to\n * determine which children are exiting.\n */\n const presentKeys =\n propagate && !isParentPresent ? [] : presentChildren.map(getChildKey)\n\n /**\n * If `initial={false}` we only want to pass this to components in the first render.\n */\n const isInitialRender = useRef(true)\n\n /**\n * A ref containing the currently present children. When all exit animations\n * are complete, we use this to re-render the component with the latest children\n * *committed* rather than the latest children *rendered*.\n */\n const pendingPresentChildren = useRef(presentChildren)\n\n /**\n * Track which exiting children have finished animating out.\n */\n const exitComplete = useConstant(() => new Map<ComponentKey, boolean>())\n\n /**\n * Track which components are currently processing exit to prevent duplicate processing.\n */\n const exitingComponents = useRef(new Set<ComponentKey>())\n\n /**\n * Save children to render as React state. To ensure this component is concurrent-safe,\n * we check for exiting children via an effect.\n */\n const [diffedChildren, setDiffedChildren] = useState(presentChildren)\n const [renderedChildren, setRenderedChildren] = useState(presentChildren)\n\n useIsomorphicLayoutEffect(() => {\n isInitialRender.current = false\n pendingPresentChildren.current = presentChildren\n\n /**\n * Update complete status of exiting children.\n */\n for (let i = 0; i < renderedChildren.length; i++) {\n const key = getChildKey(renderedChildren[i])\n\n if (!presentKeys.includes(key)) {\n if (exitComplete.get(key) !== true) {\n exitComplete.set(key, false)\n }\n } else {\n exitComplete.delete(key)\n exitingComponents.current.delete(key)\n }\n }\n }, [renderedChildren, presentKeys.length, presentKeys.join(\"-\")])\n\n const exitingChildren: any[] = []\n\n if (presentChildren !== diffedChildren) {\n let nextChildren = [...presentChildren]\n\n /**\n * Loop through all the currently rendered components and decide which\n * are exiting.\n */\n for (let i = 0; i < renderedChildren.length; i++) {\n const child = renderedChildren[i]\n const key = getChildKey(child)\n\n if (!presentKeys.includes(key)) {\n nextChildren.splice(i, 0, child)\n exitingChildren.push(child)\n }\n }\n\n /**\n * If we're in \"wait\" mode, and we have exiting children, we want to\n * only render these until they've all exited.\n */\n if (mode === \"wait\" && exitingChildren.length) {\n nextChildren = exitingChildren\n }\n\n setRenderedChildren(onlyElements(nextChildren))\n setDiffedChildren(presentChildren)\n\n /**\n * Early return to ensure once we've set state with the latest diffed\n * children, we can immediately re-render.\n */\n return null\n }\n\n if (\n process.env.NODE_ENV !== \"production\" &&\n mode === \"wait\" &&\n renderedChildren.length > 1\n ) {\n console.warn(\n `You're attempting to animate multiple children within AnimatePresence, but its mode is set to \"wait\". This will lead to odd visual behaviour.`\n )\n }\n\n /**\n * If we've been provided a forceRender function by the LayoutGroupContext,\n * we can use it to force a re-render amongst all surrounding components once\n * all components have finished animating out.\n */\n const { forceRender } = useContext(LayoutGroupContext)\n\n return (\n <>\n {renderedChildren.map((child) => {\n const key = getChildKey(child)\n\n const isPresent =\n propagate && !isParentPresent\n ? false\n : presentChildren === renderedChildren ||\n presentKeys.includes(key)\n\n const onExit = () => {\n if (exitingComponents.current.has(key)) {\n return\n }\n exitingComponents.current.add(key)\n\n if (exitComplete.has(key)) {\n exitComplete.set(key, true)\n } else {\n return\n }\n\n let isEveryExitComplete = true\n exitComplete.forEach((isExitComplete) => {\n if (!isExitComplete) isEveryExitComplete = false\n })\n\n if (isEveryExitComplete) {\n forceRender?.()\n setRenderedChildren(pendingPresentChildren.current)\n\n propagate && safeToRemove?.()\n\n onExitComplete && onExitComplete()\n }\n }\n\n return (\n <PresenceChild\n key={key}\n isPresent={isPresent}\n initial={\n !isInitialRender.current || initial\n ? undefined\n : false\n }\n custom={custom}\n presenceAffectsLayout={presenceAffectsLayout}\n mode={mode}\n root={root}\n onExitComplete={isPresent ? undefined : onExit}\n anchorX={anchorX}\n >\n {child}\n </PresenceChild>\n )\n })}\n </>\n )\n}\n"],"names":[],"mappings":";;;;;;;;;;AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCG;AACI;;AAaH;;;AAGG;AACH;AAEA;;;AAGG;AACH;AAGA;;AAEG;AACH;AAEA;;;;AAIG;AACH;AAEA;;AAEG;;AAGH;;AAEG;;AAGH;;;AAGG;;;;AAKC;AACA;AAEA;;AAEG;AACH;;;;AAKY;;;;AAGJ;AACA;;;AAGZ;;AAIA;AACI;AAEA;;;AAGG;AACH;AACI;AACA;;;AAII;;;AAIR;;;AAGG;;;;AAKH;;AAGA;;;AAGG;AACH;;AAGJ;AAEI;AACA;AAEA;;AAKJ;;;;AAIG;;;AAMS;AAEA;AAEQ;;AAEE;;;;;AAMN;AAEA;AACI;;;;;;AAMJ;AACI;;AACJ;;;AAII;AAEA;;;AAIR;AAEA;AAMgB;AACA;;AAehC;;"}
|
|
@@ -606,6 +606,17 @@
|
|
|
606
606
|
return singleCssVariableRegex.test(value.split("/*")[0].trim());
|
|
607
607
|
};
|
|
608
608
|
const singleCssVariableRegex = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;
|
|
609
|
+
/**
|
|
610
|
+
* Check if a value contains a CSS variable anywhere (e.g. inside calc()).
|
|
611
|
+
* Unlike isCSSVariableToken which checks if the value IS a var() token,
|
|
612
|
+
* this checks if the value CONTAINS var() somewhere in the string.
|
|
613
|
+
*/
|
|
614
|
+
function containsCSSVariable(value) {
|
|
615
|
+
if (typeof value !== "string")
|
|
616
|
+
return false;
|
|
617
|
+
// Strip comments to avoid false positives
|
|
618
|
+
return value.split("/*")[0].includes("var(--");
|
|
619
|
+
}
|
|
609
620
|
|
|
610
621
|
const number = {
|
|
611
622
|
test: (v) => typeof v === "number",
|
|
@@ -3326,6 +3337,16 @@
|
|
|
3326
3337
|
const [origin, target] = unresolvedKeyframes;
|
|
3327
3338
|
const originType = findDimensionValueType(origin);
|
|
3328
3339
|
const targetType = findDimensionValueType(target);
|
|
3340
|
+
/**
|
|
3341
|
+
* If one keyframe contains embedded CSS variables (e.g. in calc()) and the other
|
|
3342
|
+
* doesn't, we need to measure to convert to pixels. This handles GitHub issue #3410.
|
|
3343
|
+
*/
|
|
3344
|
+
const originHasVar = containsCSSVariable(origin);
|
|
3345
|
+
const targetHasVar = containsCSSVariable(target);
|
|
3346
|
+
if (originHasVar !== targetHasVar && positionalValues[name]) {
|
|
3347
|
+
this.needsMeasurement = true;
|
|
3348
|
+
return;
|
|
3349
|
+
}
|
|
3329
3350
|
/**
|
|
3330
3351
|
* Either we don't recognise these value types or we can animate between them.
|
|
3331
3352
|
*/
|
|
@@ -5436,6 +5457,10 @@
|
|
|
5436
5457
|
* Track which exiting children have finished animating out.
|
|
5437
5458
|
*/
|
|
5438
5459
|
const exitComplete = useConstant(() => new Map());
|
|
5460
|
+
/**
|
|
5461
|
+
* Track which components are currently processing exit to prevent duplicate processing.
|
|
5462
|
+
*/
|
|
5463
|
+
const exitingComponents = React$1.useRef(new Set());
|
|
5439
5464
|
/**
|
|
5440
5465
|
* Save children to render as React state. To ensure this component is concurrent-safe,
|
|
5441
5466
|
* we check for exiting children via an effect.
|
|
@@ -5457,6 +5482,7 @@
|
|
|
5457
5482
|
}
|
|
5458
5483
|
else {
|
|
5459
5484
|
exitComplete.delete(key);
|
|
5485
|
+
exitingComponents.current.delete(key);
|
|
5460
5486
|
}
|
|
5461
5487
|
}
|
|
5462
5488
|
}, [renderedChildren, presentKeys.length, presentKeys.join("-")]);
|
|
@@ -5507,6 +5533,10 @@
|
|
|
5507
5533
|
: presentChildren === renderedChildren ||
|
|
5508
5534
|
presentKeys.includes(key);
|
|
5509
5535
|
const onExit = () => {
|
|
5536
|
+
if (exitingComponents.current.has(key)) {
|
|
5537
|
+
return;
|
|
5538
|
+
}
|
|
5539
|
+
exitingComponents.current.add(key);
|
|
5510
5540
|
if (exitComplete.has(key)) {
|
|
5511
5541
|
exitComplete.set(key, true);
|
|
5512
5542
|
}
|
|
@@ -14344,6 +14374,7 @@
|
|
|
14344
14374
|
exports.collectMotionValues = collectMotionValues;
|
|
14345
14375
|
exports.color = color;
|
|
14346
14376
|
exports.complex = complex;
|
|
14377
|
+
exports.containsCSSVariable = containsCSSVariable;
|
|
14347
14378
|
exports.convertOffsetToTimes = convertOffsetToTimes;
|
|
14348
14379
|
exports.createBox = createBox;
|
|
14349
14380
|
exports.createGeneratorEasing = createGeneratorEasing;
|