framer-motion 11.3.11 → 11.3.13

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.
@@ -279,7 +279,7 @@ class MotionValue {
279
279
  * This will be replaced by the build step with the latest version number.
280
280
  * When MotionValues are provided to motion components, warn if versions are mixed.
281
281
  */
282
- this.version = "11.3.11";
282
+ this.version = "11.3.13";
283
283
  /**
284
284
  * Tracks whether this value can output a velocity. Currently this is only true
285
285
  * if the value is numerical, but we might be able to widen the scope here and support
@@ -3752,7 +3752,7 @@ function updateMotionValuesFromProps(element, next, prev) {
3752
3752
  * and warn against mismatches.
3753
3753
  */
3754
3754
  if (process.env.NODE_ENV === "development") {
3755
- warnOnce(nextValue.version === "11.3.11", `Attempting to mix Framer Motion versions ${nextValue.version} with 11.3.11 may not work as expected.`);
3755
+ warnOnce(nextValue.version === "11.3.13", `Attempting to mix Framer Motion versions ${nextValue.version} with 11.3.13 may not work as expected.`);
3756
3756
  }
3757
3757
  }
3758
3758
  else if (isMotionValue(prevValue)) {
@@ -3965,7 +3965,7 @@ class VisualElement {
3965
3965
  * initial values for this component.
3966
3966
  *
3967
3967
  * TODO: This is impure and we should look at changing this to run on mount.
3968
- * Doing so will break some tests but this isn't neccessarily a breaking change,
3968
+ * Doing so will break some tests but this isn't necessarily a breaking change,
3969
3969
  * more a reflection of the test.
3970
3970
  */
3971
3971
  const { willChange, ...initialMotionValues } = this.scrapeMotionValuesFromProps(props, {}, this);
@@ -4396,7 +4396,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4396
4396
  * Loop over all our latest animated values and decide whether to handle them
4397
4397
  * as a style or CSS variable.
4398
4398
  *
4399
- * Transforms and transform origins are kept seperately for further processing.
4399
+ * Transforms and transform origins are kept separately for further processing.
4400
4400
  */
4401
4401
  for (const key in latestValues) {
4402
4402
  const value = latestValues[key];
package/dist/cjs/index.js CHANGED
@@ -603,7 +603,7 @@ function createMotionProxy(createConfig) {
603
603
  }
604
604
 
605
605
  /**
606
- * We keep these listed seperately as we use the lowercase tag names as part
606
+ * We keep these listed separately as we use the lowercase tag names as part
607
607
  * of the runtime bundle to detect SVG components
608
608
  */
609
609
  const lowercaseSVGElements = [
@@ -902,7 +902,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
902
902
  * Loop over all our latest animated values and decide whether to handle them
903
903
  * as a style or CSS variable.
904
904
  *
905
- * Transforms and transform origins are kept seperately for further processing.
905
+ * Transforms and transform origins are kept separately for further processing.
906
906
  */
907
907
  for (const key in latestValues) {
908
908
  const value = latestValues[key];
@@ -4813,7 +4813,7 @@ class MotionValue {
4813
4813
  * This will be replaced by the build step with the latest version number.
4814
4814
  * When MotionValues are provided to motion components, warn if versions are mixed.
4815
4815
  */
4816
- this.version = "11.3.11";
4816
+ this.version = "11.3.13";
4817
4817
  /**
4818
4818
  * Tracks whether this value can output a velocity. Currently this is only true
4819
4819
  * if the value is numerical, but we might be able to widen the scope here and support
@@ -7277,7 +7277,7 @@ function updateMotionValuesFromProps(element, next, prev) {
7277
7277
  * and warn against mismatches.
7278
7278
  */
7279
7279
  if (process.env.NODE_ENV === "development") {
7280
- warnOnce(nextValue.version === "11.3.11", `Attempting to mix Framer Motion versions ${nextValue.version} with 11.3.11 may not work as expected.`);
7280
+ warnOnce(nextValue.version === "11.3.13", `Attempting to mix Framer Motion versions ${nextValue.version} with 11.3.13 may not work as expected.`);
7281
7281
  }
7282
7282
  }
7283
7283
  else if (isMotionValue(prevValue)) {
@@ -7457,7 +7457,7 @@ class VisualElement {
7457
7457
  * initial values for this component.
7458
7458
  *
7459
7459
  * TODO: This is impure and we should look at changing this to run on mount.
7460
- * Doing so will break some tests but this isn't neccessarily a breaking change,
7460
+ * Doing so will break some tests but this isn't necessarily a breaking change,
7461
7461
  * more a reflection of the test.
7462
7462
  */
7463
7463
  const { willChange, ...initialMotionValues } = this.scrapeMotionValuesFromProps(props, {}, this);
@@ -9409,11 +9409,13 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
9409
9409
  needsMeasurement = false;
9410
9410
  }
9411
9411
  if (needsMeasurement) {
9412
+ const isRoot = checkIsScrollRoot(this.instance);
9412
9413
  this.scroll = {
9413
9414
  animationId: this.root.animationId,
9414
9415
  phase,
9415
- isRoot: checkIsScrollRoot(this.instance),
9416
+ isRoot,
9416
9417
  offset: measureScroll(this.instance),
9418
+ wasRoot: this.scroll ? this.scroll.isRoot : isRoot,
9417
9419
  };
9418
9420
  }
9419
9421
  }
@@ -9459,21 +9461,29 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
9459
9461
  };
9460
9462
  }
9461
9463
  measurePageBox() {
9464
+ var _a;
9462
9465
  const { visualElement } = this.options;
9463
9466
  if (!visualElement)
9464
9467
  return createBox();
9465
9468
  const box = visualElement.measureViewportBox();
9466
- // Remove viewport scroll to give page-relative coordinates
9467
- const { scroll } = this.root;
9468
- if (scroll) {
9469
- translateAxis(box.x, scroll.offset.x);
9470
- translateAxis(box.y, scroll.offset.y);
9469
+ const wasInScrollRoot = ((_a = this.scroll) === null || _a === void 0 ? void 0 : _a.wasRoot) || this.path.some(checkNodeWasScrollRoot);
9470
+ if (!wasInScrollRoot) {
9471
+ // Remove viewport scroll to give page-relative coordinates
9472
+ const { scroll } = this.root;
9473
+ if (scroll) {
9474
+ translateAxis(box.x, scroll.offset.x);
9475
+ translateAxis(box.y, scroll.offset.y);
9476
+ }
9471
9477
  }
9472
9478
  return box;
9473
9479
  }
9474
9480
  removeElementScroll(box) {
9481
+ var _a;
9475
9482
  const boxWithoutScroll = createBox();
9476
9483
  copyBoxInto(boxWithoutScroll, box);
9484
+ if ((_a = this.scroll) === null || _a === void 0 ? void 0 : _a.wasRoot) {
9485
+ return boxWithoutScroll;
9486
+ }
9477
9487
  /**
9478
9488
  * Performance TODO: Keep a cumulative scroll offset down the tree
9479
9489
  * rather than loop back up the path.
@@ -9486,17 +9496,8 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
9486
9496
  * If this is a new scroll root, we want to remove all previous scrolls
9487
9497
  * from the viewport box.
9488
9498
  */
9489
- if (scroll.isRoot) {
9499
+ if (scroll.wasRoot) {
9490
9500
  copyBoxInto(boxWithoutScroll, box);
9491
- const { scroll: rootScroll } = this.root;
9492
- /**
9493
- * Undo the application of page scroll that was originally added
9494
- * to the measured bounding box.
9495
- */
9496
- if (rootScroll) {
9497
- translateAxis(boxWithoutScroll.x, -rootScroll.offset.x);
9498
- translateAxis(boxWithoutScroll.y, -rootScroll.offset.y);
9499
- }
9500
9501
  }
9501
9502
  translateAxis(boxWithoutScroll.x, scroll.offset.x);
9502
9503
  translateAxis(boxWithoutScroll.y, scroll.offset.y);
@@ -10443,6 +10444,10 @@ function shouldAnimatePositionOnly(animationType, snapshot, layout) {
10443
10444
  (animationType === "preserve-aspect" &&
10444
10445
  !isNear(aspectRatio(snapshot), aspectRatio(layout), 0.2)));
10445
10446
  }
10447
+ function checkNodeWasScrollRoot(node) {
10448
+ var _a;
10449
+ return node !== node.root && ((_a = node.scroll) === null || _a === void 0 ? void 0 : _a.wasRoot);
10450
+ }
10446
10451
 
10447
10452
  const DocumentProjectionNode = createProjectionNode({
10448
10453
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
@@ -11499,6 +11504,11 @@ function useMotionTemplate(fragments, ...values) {
11499
11504
  return useCombineMotionValues(values.filter(isMotionValue), buildValue);
11500
11505
  }
11501
11506
 
11507
+ function toNumber(v) {
11508
+ if (typeof v === "number")
11509
+ return v;
11510
+ return parseFloat(v);
11511
+ }
11502
11512
  /**
11503
11513
  * Creates a `MotionValue` that, when `set`, will use a spring animation to animate to its new state.
11504
11514
  *
@@ -11521,7 +11531,7 @@ function useMotionTemplate(fragments, ...values) {
11521
11531
  function useSpring(source, config = {}) {
11522
11532
  const { isStatic } = React.useContext(MotionConfigContext);
11523
11533
  const activeSpringAnimation = React.useRef(null);
11524
- const value = useMotionValue(isMotionValue(source) ? source.get() : source);
11534
+ const value = useMotionValue(isMotionValue(source) ? toNumber(source.get()) : source);
11525
11535
  const latestValue = React.useRef(value.get());
11526
11536
  const latestSetter = React.useRef(() => { });
11527
11537
  const startAnimation = () => {
@@ -11564,7 +11574,7 @@ function useSpring(source, config = {}) {
11564
11574
  }, [JSON.stringify(config)]);
11565
11575
  useIsomorphicLayoutEffect(() => {
11566
11576
  if (isMotionValue(source)) {
11567
- return source.on("change", (v) => value.set(parseFloat(v)));
11577
+ return source.on("change", (v) => value.set(toNumber(v)));
11568
11578
  }
11569
11579
  }, [value]);
11570
11580
  return value;
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";const e=t=>t,n=!1;const s=["read","resolveKeyframes","update","preRender","render","postRender"];const{schedule:r,cancel:i,state:o,steps:a}=function(t,e){let n=!1,r=!0;const i={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,a=s.reduce((t,e)=>(t[e]=function(t){let e=new Set,n=new Set,s=!1,r=!1;const i=new WeakSet;let o={delta:0,timestamp:0,isProcessing:!1};function a(e){i.has(e)&&(l.schedule(e),t()),e(o)}const l={schedule:(t,r=!1,o=!1)=>{const a=o&&s?e:n;return r&&i.add(t),a.has(t)||a.add(t),t},cancel:t=>{n.delete(t),i.delete(t)},process:t=>{o=t,s?r=!0:(s=!0,[e,n]=[n,e],n.clear(),e.forEach(a),s=!1,r&&(r=!1,l.process(t)))}};return l}(o),t),{}),{read:l,resolveKeyframes:u,update:c,preRender:h,render:d,postRender:p}=a,f=()=>{const s=performance.now();n=!1,i.delta=r?1e3/60:Math.max(Math.min(s-i.timestamp,40),1),i.timestamp=s,i.isProcessing=!0,l.process(i),u.process(i),c.process(i),h.process(i),d.process(i),p.process(i),i.isProcessing=!1,n&&e&&(r=!1,t(f))};return{schedule:s.reduce((e,s)=>{const o=a[s];return e[s]=(e,s=!1,a=!1)=>(n||(n=!0,r=!0,i.isProcessing||t(f)),o.schedule(e,s,a)),e},{}),cancel:t=>{for(let e=0;e<s.length;e++)a[s[e]].cancel(t)},state:i,steps:a}}("undefined"!=typeof requestAnimationFrame?requestAnimationFrame:e,!0);function l(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}class u{constructor(){this.subscriptions=[]}add(t){var e,n;return e=this.subscriptions,n=t,-1===e.indexOf(n)&&e.push(n),()=>l(this.subscriptions,t)}notify(t,e,n){const s=this.subscriptions.length;if(s)if(1===s)this.subscriptions[0](t,e,n);else for(let r=0;r<s;r++){const s=this.subscriptions[r];s&&s(t,e,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}function c(t,e){return e?t*(1e3/e):0}let h;function d(){h=void 0}const p={now:()=>(void 0===h&&p.set(o.isProcessing||n?o.timestamp:performance.now()),h),set:t=>{h=t,queueMicrotask(d)}};class f{constructor(t,e={}){this.version="11.3.11",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(t,e=!0)=>{const n=p.now();this.updatedAt!==n&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(t),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),e&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(t),this.owner=e.owner}setCurrent(t){var e;this.current=t,this.updatedAt=p.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 u);const n=this.events[t].add(e);return"change"===t?()=>{n(),r.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,e=!0){e&&this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t,e)}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()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=p.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||t-this.updatedAt>30)return 0;const e=Math.min(this.updatedAt-this.prevUpdatedAt,30);return c(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.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function m(t,e){return new f(t,e)}let g=e,v=e;function y(t,e,n){var s;if("string"==typeof t){let r=document;e&&(v(Boolean(e.current)),r=e.current),n?(null!==(s=n[t])&&void 0!==s||(n[t]=r.querySelectorAll(t)),t=n[t]):t=r.querySelectorAll(t)}else t instanceof Element&&(t=[t]);return Array.from(t||[])}const w=new WeakMap;function b(t,e){let n;const s=()=>{const{currentTime:s}=e,r=(null===s?0:s.value)/100;n!==r&&t(r),n=r};return r.update(s,!0),()=>i(s)}function x(t){let e;return()=>(void 0===e&&(e=t()),e)}const S=x(()=>void 0!==window.ScrollTimeline);class V{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}then(t,e){return Promise.all(this.animations).then(t).catch(e)}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=>{if(!S()||!e.attachTimeline)return e.pause(),b(t=>{e.time=e.duration*t},t);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 duration(){let t=0;for(let e=0;e<this.animations.length;e++)t=Math.max(t,this.animations[e].duration);return t}runAll(t){this.animations.forEach(e=>e[t]())}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}const T=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],A=new Set(T),M=t=>1e3*t,k=t=>t/1e3,P={type:"spring",stiffness:500,damping:25,restSpeed:10},C={type:"keyframes",duration:.8},F={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},E=(t,{keyframes:e})=>e.length>2?C:A.has(t)?t.startsWith("scale")?{type:"spring",stiffness:550,damping:0===e[1]?2*Math.sqrt(550):30,restSpeed:10}:P:F;function O(t,e){return t[e]||t.default||t}const R=t=>null!==t;function B(t,{repeat:e,repeatType:n="loop"},s){const r=t.filter(R),i=e&&"loop"!==n&&e%2==1?0:r.length-1;return i&&void 0!==s?s:r[i]}const I=t=>/^0[^.\s]+$/u.test(t);const W=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t),D=t=>e=>"string"==typeof e&&e.startsWith(t),L=D("--"),K=D("var(--"),N=t=>!!K(t)&&z.test(t.split("/*")[0].trim()),z=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,j=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function $(t,e,n=1){const[s,r]=function(t){const e=j.exec(t);if(!e)return[,];const[,n,s,r]=e;return["--"+(null!=n?n:s),r]}(t);if(!s)return;const i=window.getComputedStyle(e).getPropertyValue(s);if(i){const t=i.trim();return W(t)?parseFloat(t):t}return N(r)?$(r,e,n+1):r}const H=(t,e,n)=>n>e?e:n<t?t:n,U={test:t=>"number"==typeof t,parse:parseFloat,transform:t=>t},Y={...U,transform:t=>H(0,1,t)},q={...U,default:1},X=t=>Math.round(1e5*t)/1e5,G=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu,Z=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu,_=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;function J(t){return"string"==typeof t}const Q=t=>({test:e=>J(e)&&e.endsWith(t)&&1===e.split(" ").length,parse:parseFloat,transform:e=>`${e}${t}`}),tt=Q("deg"),et=Q("%"),nt=Q("px"),st=Q("vh"),rt=Q("vw"),it={...et,parse:t=>et.parse(t)/100,transform:t=>et.transform(100*t)},ot=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),at=t=>t===U||t===nt,lt=(t,e)=>parseFloat(t.split(", ")[e]),ut=(t,e)=>(n,{transform:s})=>{if("none"===s||!s)return 0;const r=s.match(/^matrix3d\((.+)\)$/u);if(r)return lt(r[1],e);{const e=s.match(/^matrix\((.+)\)$/u);return e?lt(e[1],t):0}},ct=new Set(["x","y","z"]),ht=T.filter(t=>!ct.has(t));const dt={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:ut(4,13),y:ut(5,14)};dt.translateX=dt.x,dt.translateY=dt.y;const pt=t=>e=>e.test(t),ft=[U,nt,et,tt,rt,st,{test:t=>"auto"===t,parse:t=>t}],mt=t=>ft.find(pt(t)),gt=new Set;let vt=!1,yt=!1;function wt(){if(yt){const t=Array.from(gt).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 ht.forEach(n=>{const s=t.getValue(n);void 0!==s&&(e.push([n,s.get()]),s.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])=>{var s;null===(s=t.getValue(e))||void 0===s||s.set(n)})}),t.forEach(t=>t.measureEndState()),t.forEach(t=>{void 0!==t.suspendedScrollY&&window.scrollTo(0,t.suspendedScrollY)})}yt=!1,vt=!1,gt.forEach(t=>t.complete()),gt.clear()}function bt(){gt.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(yt=!0)})}class xt{constructor(t,e,n,s,r,i=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...t],this.onComplete=e,this.name=n,this.motionValue=s,this.element=r,this.isAsync=i}scheduleResolve(){this.isScheduled=!0,this.isAsync?(gt.add(this),vt||(vt=!0,r.read(bt),r.resolveKeyframes(wt))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:e,element:n,motionValue:s}=this;for(let r=0;r<t.length;r++)if(null===t[r])if(0===r){const r=null==s?void 0:s.get(),i=t[t.length-1];if(void 0!==r)t[0]=r;else if(n&&e){const s=n.readValue(e,i);null!=s&&(t[0]=s)}void 0===t[0]&&(t[0]=i),s&&void 0===r&&s.set(t[0])}else t[r]=t[r-1]}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(){this.isComplete=!0,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe),gt.delete(this)}cancel(){this.isComplete||(this.isScheduled=!1,gt.delete(this))}resume(){this.isComplete||this.scheduleResolve()}}const St=(t,e)=>n=>Boolean(J(n)&&_.test(n)&&n.startsWith(t)||e&&!function(t){return null==t}(n)&&Object.prototype.hasOwnProperty.call(n,e)),Vt=(t,e,n)=>s=>{if(!J(s))return s;const[r,i,o,a]=s.match(G);return{[t]:parseFloat(r),[e]:parseFloat(i),[n]:parseFloat(o),alpha:void 0!==a?parseFloat(a):1}},Tt={...U,transform:t=>Math.round((t=>H(0,255,t))(t))},At={test:St("rgb","red"),parse:Vt("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:s=1})=>"rgba("+Tt.transform(t)+", "+Tt.transform(e)+", "+Tt.transform(n)+", "+X(Y.transform(s))+")"};const Mt={test:St("#"),parse:function(t){let e="",n="",s="",r="";return t.length>5?(e=t.substring(1,3),n=t.substring(3,5),s=t.substring(5,7),r=t.substring(7,9)):(e=t.substring(1,2),n=t.substring(2,3),s=t.substring(3,4),r=t.substring(4,5),e+=e,n+=n,s+=s,r+=r),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:r?parseInt(r,16)/255:1}},transform:At.transform},kt={test:St("hsl","hue"),parse:Vt("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:s=1})=>"hsla("+Math.round(t)+", "+et.transform(X(e))+", "+et.transform(X(n))+", "+X(Y.transform(s))+")"},Pt={test:t=>At.test(t)||Mt.test(t)||kt.test(t),parse:t=>At.test(t)?At.parse(t):kt.test(t)?kt.parse(t):Mt.parse(t),transform:t=>J(t)?t:t.hasOwnProperty("red")?At.transform(t):kt.transform(t)};const Ct=/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 Ft(t){const e=t.toString(),n=[],s={color:[],number:[],var:[]},r=[];let i=0;const o=e.replace(Ct,t=>(Pt.test(t)?(s.color.push(i),r.push("color"),n.push(Pt.parse(t))):t.startsWith("var(")?(s.var.push(i),r.push("var"),n.push(t)):(s.number.push(i),r.push("number"),n.push(parseFloat(t))),++i,"${}")).split("${}");return{values:n,split:o,indexes:s,types:r}}function Et(t){return Ft(t).values}function Ot(t){const{split:e,types:n}=Ft(t),s=e.length;return t=>{let r="";for(let i=0;i<s;i++)if(r+=e[i],void 0!==t[i]){const e=n[i];r+="number"===e?X(t[i]):"color"===e?Pt.transform(t[i]):t[i]}return r}}const Rt=t=>"number"==typeof t?0:t;const Bt={test:function(t){var e,n;return isNaN(t)&&J(t)&&((null===(e=t.match(G))||void 0===e?void 0:e.length)||0)+((null===(n=t.match(Z))||void 0===n?void 0:n.length)||0)>0},parse:Et,createTransformer:Ot,getAnimatableNone:function(t){const e=Et(t);return Ot(t)(e.map(Rt))}},It=new Set(["brightness","contrast","saturate","opacity"]);function Wt(t){const[e,n]=t.slice(0,-1).split("(");if("drop-shadow"===e)return t;const[s]=n.match(G)||[];if(!s)return t;const r=n.replace(s,"");let i=It.has(e)?1:0;return s!==n&&(i*=100),e+"("+i+r+")"}const Dt=/\b([a-z-]*)\(.*?\)/gu,Lt={...Bt,getAnimatableNone:t=>{const e=t.match(Dt);return e?e.map(Wt).join(" "):t}},Kt={...U,transform:Math.round},Nt={borderWidth:nt,borderTopWidth:nt,borderRightWidth:nt,borderBottomWidth:nt,borderLeftWidth:nt,borderRadius:nt,radius:nt,borderTopLeftRadius:nt,borderTopRightRadius:nt,borderBottomRightRadius:nt,borderBottomLeftRadius:nt,width:nt,maxWidth:nt,height:nt,maxHeight:nt,size:nt,top:nt,right:nt,bottom:nt,left:nt,padding:nt,paddingTop:nt,paddingRight:nt,paddingBottom:nt,paddingLeft:nt,margin:nt,marginTop:nt,marginRight:nt,marginBottom:nt,marginLeft:nt,rotate:tt,rotateX:tt,rotateY:tt,rotateZ:tt,scale:q,scaleX:q,scaleY:q,scaleZ:q,skew:tt,skewX:tt,skewY:tt,distance:nt,translateX:nt,translateY:nt,translateZ:nt,x:nt,y:nt,z:nt,perspective:nt,transformPerspective:nt,opacity:Y,originX:it,originY:it,originZ:nt,zIndex:Kt,backgroundPositionX:nt,backgroundPositionY:nt,fillOpacity:Y,strokeOpacity:Y,numOctaves:Kt},zt={...Nt,color:Pt,backgroundColor:Pt,outlineColor:Pt,fill:Pt,stroke:Pt,borderColor:Pt,borderTopColor:Pt,borderRightColor:Pt,borderBottomColor:Pt,borderLeftColor:Pt,filter:Lt,WebkitFilter:Lt},jt=t=>zt[t];function $t(t,e){let n=jt(t);return n!==Lt&&(n=Bt),n.getAnimatableNone?n.getAnimatableNone(e):void 0}const Ht=new Set(["auto","none","0"]);class Ut extends xt{constructor(t,e,n,s){super(t,e,n,s,null==s?void 0:s.owner,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:e,name:n}=this;if(!e.current)return;super.readKeyframes();for(let n=0;n<t.length;n++){let s=t[n];if("string"==typeof s&&(s=s.trim(),N(s))){const r=$(s,e.current);void 0!==r&&(t[n]=r),n===t.length-1&&(this.finalKeyframe=s)}}if(this.resolveNoneKeyframes(),!ot.has(n)||2!==t.length)return;const[s,r]=t,i=mt(s),o=mt(r);if(i!==o)if(at(i)&&at(o))for(let e=0;e<t.length;e++){const n=t[e];"string"==typeof n&&(t[e]=parseFloat(n))}else this.needsMeasurement=!0}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:e}=this,n=[];for(let e=0;e<t.length;e++)("number"==typeof(s=t[e])?0===s:null===s||"none"===s||"0"===s||I(s))&&n.push(e);var s;n.length&&function(t,e,n){let s=0,r=void 0;for(;s<t.length&&!r;){const e=t[s];"string"==typeof e&&!Ht.has(e)&&Ft(e).values.length&&(r=t[s]),s++}if(r&&n)for(const s of e)t[s]=$t(n,r)}(t,n,e)}measureInitialState(){const{element:t,unresolvedKeyframes:e,name:n}=this;if(!t.current)return;"height"===n&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=dt[n](t.measureViewportBox(),window.getComputedStyle(t.current)),e[0]=this.measuredOrigin;const s=e[e.length-1];void 0!==s&&t.getValue(n,s).jump(s,!1)}measureEndState(){var t;const{element:e,name:n,unresolvedKeyframes:s}=this;if(!e.current)return;const r=e.getValue(n);r&&r.jump(this.measuredOrigin,!1);const i=s.length-1,o=s[i];s[i]=dt[n](e.measureViewportBox(),window.getComputedStyle(e.current)),null!==o&&void 0===this.finalKeyframe&&(this.finalKeyframe=o),(null===(t=this.removedTransforms)||void 0===t?void 0:t.length)&&this.removedTransforms.forEach(([t,n])=>{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}}const Yt=(t,e)=>"zIndex"!==e&&(!("number"!=typeof t&&!Array.isArray(t))||!("string"!=typeof t||!Bt.test(t)&&"0"!==t||t.startsWith("url(")));class qt{constructor({autoplay:t=!0,delay:e=0,type:n="keyframes",repeat:s=0,repeatDelay:r=0,repeatType:i="loop",...o}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.options={autoplay:t,delay:e,type:n,repeat:s,repeatDelay:r,repeatType:i,...o},this.updateFinishedPromise()}get resolved(){return this._resolved||this.hasAttemptedResolve||(bt(),wt()),this._resolved}onKeyframesResolved(t,e){this.hasAttemptedResolve=!0;const{name:n,type:s,velocity:r,delay:i,onComplete:o,onUpdate:a,isGenerator:l}=this.options;if(!l&&!function(t,e,n,s){const r=t[0];if(null===r)return!1;if("display"===e||"visibility"===e)return!0;const i=t[t.length-1],o=Yt(r,e),a=Yt(i,e);return!(!o||!a)&&(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}(t)||"spring"===n&&s)}(t,n,s,r)){if(!i)return null==a||a(B(t,this.options,e)),null==o||o(),void this.resolveFinishedPromise();this.options.duration=0}const u=this.initPlayback(t,e);!1!==u&&(this._resolved={keyframes:t,finalKeyframe:e,...u},this.onPostResolved())}onPostResolved(){}then(t,e){return this.currentFinishedPromise.then(t,e)}updateFinishedPromise(){this.currentFinishedPromise=new Promise(t=>{this.resolveFinishedPromise=t})}}function Xt(t,e,n){const s=Math.max(e-5,0);return c(n-t(s),e-s)}function Gt({duration:t=800,bounce:e=.25,velocity:n=0,mass:s=1}){let r,i,o=1-e;o=H(.05,1,o),t=H(.01,10,k(t)),o<1?(r=e=>{const s=e*o,r=s*t;return.001-(s-n)/Zt(e,o)*Math.exp(-r)},i=e=>{const s=e*o*t,i=s*n+n,a=Math.pow(o,2)*Math.pow(e,2)*t,l=Math.exp(-s),u=Zt(Math.pow(e,2),o);return(.001-r(e)>0?-1:1)*((i-a)*l)/u}):(r=e=>Math.exp(-e*t)*((e-n)*t+1)-.001,i=e=>Math.exp(-e*t)*(t*t*(n-e)));const a=function(t,e,n){let s=n;for(let n=1;n<12;n++)s-=t(s)/e(s);return s}(r,i,5/t);if(t=M(t),isNaN(a))return{stiffness:100,damping:10,duration:t};{const e=Math.pow(a,2)*s;return{stiffness:e,damping:2*o*Math.sqrt(s*e),duration:t}}}function Zt(t,e){return t*Math.sqrt(1-e*e)}const _t=["duration","bounce"],Jt=["stiffness","damping","mass"];function Qt(t,e){return e.some(e=>void 0!==t[e])}function te({keyframes:t,restDelta:e,restSpeed:n,...s}){const r=t[0],i=t[t.length-1],o={done:!1,value:r},{stiffness:a,damping:l,mass:u,duration:c,velocity:h,isResolvedFromDuration:d}=function(t){let e={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...t};if(!Qt(t,Jt)&&Qt(t,_t)){const n=Gt(t);e={...e,...n,mass:1},e.isResolvedFromDuration=!0}return e}({...s,velocity:-k(s.velocity||0)}),p=h||0,f=l/(2*Math.sqrt(a*u)),m=i-r,g=k(Math.sqrt(a/u)),v=Math.abs(m)<5;let y;if(n||(n=v?.01:2),e||(e=v?.005:.5),f<1){const t=Zt(g,f);y=e=>{const n=Math.exp(-f*g*e);return i-n*((p+f*g*m)/t*Math.sin(t*e)+m*Math.cos(t*e))}}else if(1===f)y=t=>i-Math.exp(-g*t)*(m+(p+g*m)*t);else{const t=g*Math.sqrt(f*f-1);y=e=>{const n=Math.exp(-f*g*e),s=Math.min(t*e,300);return i-n*((p+f*g*m)*Math.sinh(s)+t*m*Math.cosh(s))/t}}return{calculatedDuration:d&&c||null,next:t=>{const s=y(t);if(d)o.done=t>=c;else{let r=p;0!==t&&(r=f<1?Xt(y,t,s):0);const a=Math.abs(r)<=n,l=Math.abs(i-s)<=e;o.done=a&&l}return o.value=o.done?i:s,o}}}function ee({keyframes:t,velocity:e=0,power:n=.8,timeConstant:s=325,bounceDamping:r=10,bounceStiffness:i=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 v=t=>-f*Math.exp(-t/s),y=t=>g+v(t),w=t=>{const e=v(t),n=y(t);d.done=Math.abs(e)<=u,d.value=d.done?g:n};let b,x;const S=t=>{var e;(e=d.value,void 0!==a&&e<a||void 0!==l&&e>l)&&(b=t,x=te({keyframes:[d.value,p(d.value)],velocity:Xt(y,t,d.value),damping:r,stiffness:i,restDelta:u,restSpeed:c}))};return S(0),{calculatedDuration:null,next:t=>{let e=!1;return x||void 0!==b||(e=!0,w(t),S(t)),void 0!==b&&t>=b?x.next(t-b):(!e&&w(t),d)}}}const ne=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t;function se(t,n,s,r){if(t===n&&s===r)return e;const i=e=>function(t,e,n,s,r){let i,o,a=0;do{o=e+(n-e)/2,i=ne(o,s,r)-t,i>0?n=o:e=o}while(Math.abs(i)>1e-7&&++a<12);return o}(e,0,1,t,s);return t=>0===t||1===t?t:ne(i(t),n,r)}const re=se(.42,0,1,1),ie=se(0,0,.58,1),oe=se(.42,0,.58,1),ae=t=>Array.isArray(t)&&"number"!=typeof t[0],le=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,ue=t=>e=>1-t(1-e),ce=t=>1-Math.sin(Math.acos(t)),he=ue(ce),de=le(ce),pe=se(.33,1.53,.69,.99),fe=ue(pe),me=le(fe),ge=t=>(t*=2)<1?.5*fe(t):.5*(2-Math.pow(2,-10*(t-1))),ve={linear:e,easeIn:re,easeInOut:oe,easeOut:ie,circIn:ce,circInOut:de,circOut:he,backIn:fe,backInOut:me,backOut:pe,anticipate:ge},ye=t=>{if(Array.isArray(t)){v(4===t.length);const[e,n,s,r]=t;return se(e,n,s,r)}return"string"==typeof t?ve[t]:t},we=(t,e)=>n=>e(t(n)),be=(...t)=>t.reduce(we),xe=(t,e,n)=>{const s=e-t;return 0===s?1:(n-t)/s},Se=(t,e,n)=>t+(e-t)*n;function Ve(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 Te(t,e){return n=>n>0?e:t}const Ae=(t,e,n)=>{const s=t*t,r=n*(e*e-s)+s;return r<0?0:Math.sqrt(r)},Me=[Mt,At,kt];function ke(t){const e=(n=t,Me.find(t=>t.test(n)));var n;if(!Boolean(e))return!1;let s=e.parse(t);return e===kt&&(s=function({hue:t,saturation:e,lightness:n,alpha:s}){t/=360,n/=100;let r=0,i=0,o=0;if(e/=100){const s=n<.5?n*(1+e):n+e-n*e,a=2*n-s;r=Ve(a,s,t+1/3),i=Ve(a,s,t),o=Ve(a,s,t-1/3)}else r=i=o=n;return{red:Math.round(255*r),green:Math.round(255*i),blue:Math.round(255*o),alpha:s}}(s)),s}const Pe=(t,e)=>{const n=ke(t),s=ke(e);if(!n||!s)return Te(t,e);const r={...n};return t=>(r.red=Ae(n.red,s.red,t),r.green=Ae(n.green,s.green,t),r.blue=Ae(n.blue,s.blue,t),r.alpha=Se(n.alpha,s.alpha,t),At.transform(r))},Ce=new Set(["none","hidden"]);function Fe(t,e){return n=>Se(t,e,n)}function Ee(t){return"number"==typeof t?Fe:"string"==typeof t?N(t)?Te:Pt.test(t)?Pe:Be:Array.isArray(t)?Oe:"object"==typeof t?Pt.test(t)?Pe:Re:Te}function Oe(t,e){const n=[...t],s=n.length,r=t.map((t,n)=>Ee(t)(t,e[n]));return t=>{for(let e=0;e<s;e++)n[e]=r[e](t);return n}}function Re(t,e){const n={...t,...e},s={};for(const r in n)void 0!==t[r]&&void 0!==e[r]&&(s[r]=Ee(t[r])(t[r],e[r]));return t=>{for(const e in s)n[e]=s[e](t);return n}}const Be=(t,e)=>{const n=Bt.createTransformer(e),s=Ft(t),r=Ft(e);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?Ce.has(t)&&!r.values.length||Ce.has(e)&&!s.values.length?function(t,e){return Ce.has(t)?n=>n<=0?t:e:n=>n>=1?e:t}(t,e):be(Oe(function(t,e){var n;const s=[],r={color:0,var:0,number:0};for(let i=0;i<e.values.length;i++){const o=e.types[i],a=t.indexes[o][r[o]],l=null!==(n=t.values[a])&&void 0!==n?n:0;s[i]=l,r[o]++}return s}(s,r),r.values),n):Te(t,e)};function Ie(t,e,n){if("number"==typeof t&&"number"==typeof e&&"number"==typeof n)return Se(t,e,n);return Ee(t)(t,e)}function We(t,n,{clamp:s=!0,ease:r,mixer:i}={}){const o=t.length;if(v(o===n.length),1===o)return()=>n[0];if(2===o&&t[0]===t[1])return()=>n[1];t[0]>t[o-1]&&(t=[...t].reverse(),n=[...n].reverse());const a=function(t,n,s){const r=[],i=s||Ie,o=t.length-1;for(let s=0;s<o;s++){let o=i(t[s],t[s+1]);if(n){const t=Array.isArray(n)?n[s]||e:n;o=be(t,o)}r.push(o)}return r}(n,r,i),l=a.length,u=e=>{let n=0;if(l>1)for(;n<t.length-2&&!(e<t[n+1]);n++);const s=xe(t[n],t[n+1],e);return a[n](s)};return s?e=>u(H(t[0],t[o-1],e)):u}function De(t,e){const n=t[t.length-1];for(let s=1;s<=e;s++){const r=xe(0,e,s);t.push(Se(n,1,r))}}function Le(t){const e=[0];return De(e,t.length-1),e}function Ke({duration:t=300,keyframes:e,times:n,ease:s="easeInOut"}){const r=ae(s)?s.map(ye):ye(s),i={done:!1,value:e[0]},o=We(function(t,e){return t.map(t=>t*e)}(n&&n.length===e.length?n:Le(e),t),e,{ease:Array.isArray(r)?r:(a=e,l=r,a.map(()=>l||oe).splice(0,a.length-1))});var a,l;return{calculatedDuration:t,next:e=>(i.value=o(e),i.done=e>=t,i)}}function Ne(t){let e=0;let n=t.next(e);for(;!n.done&&e<2e4;)e+=50,n=t.next(e);return e>=2e4?1/0:e}const ze=t=>{const e=({timestamp:e})=>t(e);return{start:()=>r.update(e,!0),stop:()=>i(e),now:()=>o.isProcessing?o.timestamp:p.now()}},je={decay:ee,inertia:ee,tween:Ke,keyframes:Ke,spring:te},$e=t=>t/100;class He extends qt{constructor({KeyframeResolver:t=xt,...e}){super(e),this.holdTime=null,this.startTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState="running",this.state="idle",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,"idle"===this.state)return;this.teardown();const{onStop:t}=this.options;t&&t()};const{name:n,motionValue:s,keyframes:r}=this.options,i=(t,e)=>this.onKeyframesResolved(t,e);n&&s&&s.owner?this.resolver=s.owner.resolveKeyframes(r,i,n,s):this.resolver=new t(r,i,n,s),this.resolver.scheduleResolve()}initPlayback(t){const{type:e="keyframes",repeat:n=0,repeatDelay:s=0,repeatType:r,velocity:i=0}=this.options,o=je[e]||Ke;let a,l;o!==Ke&&"number"!=typeof t[0]&&(a=be($e,Ie(t[0],t[1])),t=[0,100]);const u=o({...this.options,keyframes:t});"mirror"===r&&(l=o({...this.options,keyframes:[...t].reverse(),velocity:-i})),null===u.calculatedDuration&&(u.calculatedDuration=Ne(u));const{calculatedDuration:c}=u,h=c+s;return{generator:u,mirroredGenerator:l,mapPercentToKeyframes:a,calculatedDuration:c,resolvedDuration:h,totalDuration:h*(n+1)-s}}onPostResolved(){const{autoplay:t=!0}=this.options;this.play(),"paused"!==this.pendingPlayState&&t?this.state=this.pendingPlayState:this.pause()}tick(t,e=!1){const{resolved:n}=this;if(!n){const{keyframes:t}=this.options;return{done:!0,value:t[t.length-1]}}const{finalKeyframe:s,generator:r,mirroredGenerator:i,mapPercentToKeyframes:o,keyframes:a,calculatedDuration:l,totalDuration:u,resolvedDuration:c}=n;if(null===this.startTime)return r.next(0);const{delay:h,repeat:d,repeatType:p,repeatDelay:f,onUpdate:m}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-u/this.speed,this.startTime)),e?this.currentTime=t:null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=Math.round(t-this.startTime)*this.speed;const g=this.currentTime-h*(this.speed>=0?1:-1),v=this.speed>=0?g<0:g>u;this.currentTime=Math.max(g,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=u);let y=this.currentTime,w=r;if(d){const t=Math.min(this.currentTime,u)/c;let e=Math.floor(t),n=t%1;!n&&t>=1&&(n=1),1===n&&e--,e=Math.min(e,d+1);Boolean(e%2)&&("reverse"===p?(n=1-n,f&&(n-=f/c)):"mirror"===p&&(w=i)),y=H(0,1,n)*c}const b=v?{done:!1,value:a[0]}:w.next(y);o&&(b.value=o(b.value));let{done:x}=b;v||null===l||(x=this.speed>=0?this.currentTime>=u:this.currentTime<=0);const S=null===this.holdTime&&("finished"===this.state||"running"===this.state&&x);return S&&void 0!==s&&(b.value=B(a,this.options,s)),m&&m(b.value),S&&this.finish(),b}get duration(){const{resolved:t}=this;return t?k(t.calculatedDuration):0}get time(){return k(this.currentTime)}set time(t){t=M(t),this.currentTime=t,null!==this.holdTime||0===this.speed?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.speed)}get speed(){return this.playbackSpeed}set speed(t){const e=this.playbackSpeed!==t;this.playbackSpeed=t,e&&(this.time=k(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved)return void(this.pendingPlayState="running");if(this.isStopped)return;const{driver:t=ze,onPlay:e}=this.options;this.driver||(this.driver=t(t=>this.tick(t))),e&&e();const n=this.driver.now();null!==this.holdTime?this.startTime=n-this.holdTime:this.startTime&&"finished"!==this.state||(this.startTime=n),"finished"===this.state&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var t;this._resolved?(this.state="paused",this.holdTime=null!==(t=this.currentTime)&&void 0!==t?t:0):this.pendingPlayState="paused"}complete(){"running"!==this.state&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:t}=this.options;t&&t()}cancel(){null!==this.cancelTime&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}}const Ue=new Set(["opacity","clipPath","filter","transform"]),Ye=t=>Array.isArray(t)&&"number"==typeof t[0];function qe(t){return Boolean(!t||"string"==typeof t&&t in Ge||Ye(t)||Array.isArray(t)&&t.every(qe))}const Xe=([t,e,n,s])=>`cubic-bezier(${t}, ${e}, ${n}, ${s})`,Ge={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Xe([0,.65,.55,1]),circOut:Xe([.55,0,1,.45]),backIn:Xe([.31,.01,.66,-.59]),backOut:Xe([.33,1.53,.69,.99])};function Ze(t){return _e(t)||Ge.easeOut}function _e(t){return t?Ye(t)?Xe(t):Array.isArray(t)?t.map(Ze):Ge[t]:void 0}const Je=x(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));class Qe extends qt{constructor(t){super(t);const{name:e,motionValue:n,keyframes:s}=this.options;this.resolver=new Ut(s,(t,e)=>this.onKeyframesResolved(t,e),e,n),this.resolver.scheduleResolve()}initPlayback(t,e){var n;let{duration:s=300,times:r,ease:i,type:o,motionValue:a,name:l}=this.options;if(!(null===(n=a.owner)||void 0===n?void 0:n.current))return!1;if("spring"===(u=this.options).type||!qe(u.ease)){const{onComplete:e,onUpdate:n,motionValue:a,...l}=this.options,u=function(t,e){const n=new He({...e,keyframes:t,repeat:0,delay:0,isGenerator:!0});let s={done:!1,value:t[0]};const r=[];let i=0;for(;!s.done&&i<2e4;)s=n.sample(i),r.push(s.value),i+=10;return{times:void 0,keyframes:r,duration:i-10,ease:"linear"}}(t,l);1===(t=u.keyframes).length&&(t[1]=t[0]),s=u.duration,r=u.times,i=u.ease,o="keyframes"}var u;const c=function(t,e,n,{delay:s=0,duration:r=300,repeat:i=0,repeatType:o="loop",ease:a,times:l}={}){const u={[e]:n};l&&(u.offset=l);const c=_e(a);return Array.isArray(c)&&(u.easing=c),t.animate(u,{delay:s,duration:r,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:i+1,direction:"reverse"===o?"alternate":"normal"})}(a.owner.current,l,t,{...this.options,duration:s,times:r,ease:i});return c.startTime=p.now(),this.pendingTimeline?(c.timeline=this.pendingTimeline,this.pendingTimeline=void 0):c.onfinish=()=>{const{onComplete:n}=this.options;a.set(B(t,this.options,e)),n&&n(),this.cancel(),this.resolveFinishedPromise()},{animation:c,duration:s,times:r,type:o,ease:i,keyframes:t}}get duration(){const{resolved:t}=this;if(!t)return 0;const{duration:e}=t;return k(e)}get time(){const{resolved:t}=this;if(!t)return 0;const{animation:e}=t;return k(e.currentTime||0)}set time(t){const{resolved:e}=this;if(!e)return;const{animation:n}=e;n.currentTime=M(t)}get speed(){const{resolved:t}=this;if(!t)return 1;const{animation:e}=t;return e.playbackRate}set speed(t){const{resolved:e}=this;if(!e)return;const{animation:n}=e;n.playbackRate=t}get state(){const{resolved:t}=this;if(!t)return"idle";const{animation:e}=t;return e.playState}attachTimeline(t){if(this._resolved){const{resolved:n}=this;if(!n)return e;const{animation:s}=n;s.timeline=t,s.onfinish=null}else this.pendingTimeline=t;return e}play(){if(this.isStopped)return;const{resolved:t}=this;if(!t)return;const{animation:e}=t;"finished"===e.playState&&this.updateFinishedPromise(),e.play()}pause(){const{resolved:t}=this;if(!t)return;const{animation:e}=t;e.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,"idle"===this.state)return;const{resolved:t}=this;if(!t)return;const{animation:e,keyframes:n,duration:s,type:r,ease:i,times:o}=t;if("idle"===e.playState||"finished"===e.playState)return;if(this.time){const{motionValue:t,onUpdate:e,onComplete:a,...l}=this.options,u=new He({...l,keyframes:n,duration:s,type:r,ease:i,times:o,isGenerator:!0}),c=M(this.time);t.setWithVelocity(u.sample(c-10).value,u.sample(c).value,10)}const{onStop:a}=this.options;a&&a(),this.cancel()}complete(){const{resolved:t}=this;t&&t.animation.finish()}cancel(){const{resolved:t}=this;t&&t.animation.cancel()}static supports(t){const{motionValue:e,name:n,repeatDelay:s,repeatType:r,damping:i,type:o}=t;return Je()&&n&&Ue.has(n)&&e&&e.owner&&e.owner.current instanceof HTMLElement&&!e.owner.getProps().onUpdate&&!s&&"mirror"!==r&&0!==i&&"inertia"!==o}}const tn=(t,e,n,s={},i,o,a)=>l=>{const u=O(s,t)||{},c=u.delay||s.delay||0;let{elapsed:h=0}=s;h-=M(c);let d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:e.getVelocity(),...u,delay:-h,onUpdate:t=>{e.set(t),u.onUpdate&&u.onUpdate(t)},onComplete:()=>{l(),u.onComplete&&u.onComplete(),a&&a()},onStop:a,name:t,motionValue:e,element:o?void 0:i};(function({when:t,delay:e,delayChildren:n,staggerChildren:s,staggerDirection:r,repeat:i,repeatType:o,repeatDelay:a,from:l,elapsed:u,...c}){return!!Object.keys(c).length})(u)||(d={...d,...E(t,d)}),d.duration&&(d.duration=M(d.duration)),d.repeatDelay&&(d.repeatDelay=M(d.repeatDelay)),void 0!==d.from&&(d.keyframes[0]=d.from);let p=!1;if((!1===d.type||0===d.duration&&!d.repeatDelay)&&(d.duration=0,0===d.delay&&(p=!0)),p&&!o&&void 0!==e.get()){const t=B(d.keyframes,u);if(void 0!==t)return r.update(()=>{d.onUpdate(t),d.onComplete()}),new V([])}return!o&&Qe.supports(d)?new Qe(d):new He(d)},en=t=>(t=>Array.isArray(t))(t)?t[t.length-1]||0:t;function nn(t){const e=[{},{}];return null==t||t.values.forEach((t,n)=>{e[0][n]=t.get(),e[1][n]=t.getVelocity()}),e}function sn(t,e,n,s){if("function"==typeof e){const[r,i]=nn(s);e=e(void 0!==n?n:t.custom,r,i)}if("string"==typeof e&&(e=t.variants&&t.variants[e]),"function"==typeof e){const[r,i]=nn(s);e=e(void 0!==n?n:t.custom,r,i)}return e}function rn(t,e,n){t.hasValue(e)?t.getValue(e).set(n):t.addValue(e,m(n))}function on(t,e){const n=function(t,e,n){const s=t.getProps();return sn(s,e,void 0!==n?n:s.custom,t)}(t,e);let{transitionEnd:s={},transition:r={},...i}=n||{};i={...i,...s};for(const e in i){rn(t,e,en(i[e]))}}const an=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),ln="data-"+an("framerAppearId");function un(t){return t.getProps()[ln]}class cn extends f{constructor(){super(...arguments),this.output=[],this.counts=new Map}add(t){const e=function(t){return A.has(t)?"transform":Ue.has(t)?an(t):void 0}(t);if(!e)return;const n=this.counts.get(e)||0;this.counts.set(e,n+1),0===n&&(this.output.push(e),this.update());let s=!1;return()=>{if(s)return;s=!0;const t=this.counts.get(e)-1;this.counts.set(e,t),0===t&&(l(this.output,e),this.update())}}update(){this.set(this.output.length?this.output.join(", "):"auto")}}const hn=t=>Boolean(t&&t.getVelocity);function dn(t,e){var n;if(!t.applyWillChange)return;let s=t.getValue("willChange");return s||(null===(n=t.props.style)||void 0===n?void 0:n.willChange)||(s=new cn("auto"),t.addValue("willChange",s)),r=s,Boolean(hn(r)&&r.add)?s.add(e):void 0;var r}function pn({protectedKeys:t,needsAnimating:e},n){const s=t.hasOwnProperty(n)&&!0!==e[n];return e[n]=!1,s}function fn(t,e,{delay:n=0,transitionOverride:s,type:i}={}){var o;let{transition:a=t.getDefaultTransition(),transitionEnd:l,...u}=e;s&&(a=s);const c=[],h=i&&t.animationState&&t.animationState.getState()[i];for(const e in u){const s=t.getValue(e,null!==(o=t.latestValues[e])&&void 0!==o?o:null),i=u[e];if(void 0===i||h&&pn(h,e))continue;const l={delay:n,elapsed:0,...O(a||{},e)};let d=!1;if(window.HandoffAppearAnimations){const n=un(t);if(n){const t=window.HandoffAppearAnimations(n,e,s,r);null!==t&&(l.elapsed=t,d=!0)}}s.start(tn(e,s,i,t.shouldReduceMotion&&A.has(e)?{type:!1}:l,t,d,dn(t,e)));const p=s.animation;p&&c.push(p)}return l&&Promise.all(c).then(()=>{r.update(()=>{l&&on(t,l)})}),c}const mn={};function gn(t,{layout:e,layoutId:n}){return A.has(t)||t.startsWith("origin")||(e||void 0!==n)&&(!!mn[t]||"opacity"===t)}function vn(t,e,n){var s;const{style:r}=t,i={};for(const o in r)(hn(r[o])||e.style&&hn(e.style[o])||gn(o,t)||void 0!==(null===(s=null==n?void 0:n.getValue(o))||void 0===s?void 0:s.liveStyle))&&(i[o]=r[o]);return n&&r&&"string"==typeof r.willChange&&(n.applyWillChange=!1),i}const yn="undefined"!=typeof window,wn={current:null},bn={current:!1};function xn(t){return"string"==typeof t||Array.isArray(t)}const Sn=["initial","animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"];function Vn(t){return null!==(e=t.animate)&&"object"==typeof e&&"function"==typeof e.start||Sn.some(e=>xn(t[e]));var e}const Tn={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"]},An={};for(const t in Tn)An[t]={isEnabled:e=>Tn[t].some(t=>!!e[t])};const Mn=[...ft,Pt,Bt],kn=()=>({x:{min:0,max:0},y:{min:0,max:0}}),Pn=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],Cn=Sn.length;class Fn extends class{scrapeMotionValuesFromProps(t,e,n){return{}}constructor({parent:t,props:e,presenceContext:n,reducedMotionConfig:s,blockInitialAnimation:i,visualState:o},a={}){this.applyWillChange=!1,this.resolveKeyframes=(t,e,n,s)=>new this.KeyframeResolver(t,e,n,s,this),this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=xt,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.isRenderScheduled=!1,this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.isRenderScheduled=!1,this.scheduleRender=()=>{this.isRenderScheduled||(this.isRenderScheduled=!0,r.render(this.render,!1,!0))};const{latestValues:l,renderState:u}=o;this.latestValues=l,this.baseTarget={...l},this.initialValues=e.initial?{...l}:{},this.renderState=u,this.parent=t,this.props=e,this.presenceContext=n,this.depth=t?t.depth+1:0,this.reducedMotionConfig=s,this.options=a,this.blockInitialAnimation=Boolean(i),this.isControllingVariants=Vn(e),this.isVariantNode=function(t){return Boolean(Vn(t)||t.variants)}(e),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(t&&t.current);const{willChange:c,...h}=this.scrapeMotionValuesFromProps(e,{},this);for(const t in h){const e=h[t];void 0!==l[t]&&hn(e)&&e.set(l[t],!1)}}mount(t){this.current=t,w.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)),bn.current||function(){if(bn.current=!0,yn)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>wn.current=t.matches;t.addListener(e),e()}else wn.current=!1}(),this.shouldReduceMotion="never"!==this.reducedMotionConfig&&("always"===this.reducedMotionConfig||wn.current),this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){w.delete(this.current),this.projection&&this.projection.unmount(),i(this.notifyUpdate),i(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(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}bindToMotionValue(t,e){const n=A.has(t),s=e.on("change",e=>{this.latestValues[t]=e,this.props.onUpdate&&r.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0)}),i=e.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{s(),i(),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 An){const e=An[t];if(!e)continue;const{isEnabled:n,Feature:s}=e;if(!this.features[t]&&s&&n(this.props)&&(this.features[t]=new s(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<Pn.length;e++){const n=Pn[e];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);const s=t["on"+n];s&&(this.propEventSubscriptions[n]=this.on(n,s))}this.prevMotionValues=function(t,e,n){for(const s in e){const r=e[s],i=n[s];if(hn(r))t.addValue(s,r);else if(hn(i))t.addValue(s,m(r,{owner:t}));else if(i!==r)if(t.hasValue(s)){const e=t.getValue(s);!0===e.liveStyle?e.jump(r):e.hasAnimated||e.set(r)}else{const e=t.getStaticValue(s);t.addValue(s,m(void 0!==e?e:r,{owner:t}))}}for(const s in n)void 0===e[s]&&t.removeValue(s);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}getVariantContext(t=!1){if(t)return this.parent?this.parent.getVariantContext():void 0;if(!this.isControllingVariants){const t=this.parent&&this.parent.getVariantContext()||{};return void 0!==this.props.initial&&(t.initial=this.props.initial),t}const e={};for(let t=0;t<Cn;t++){const n=Sn[t],s=this.props[n];(xn(s)||!1===s)&&(e[n]=s)}return e}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=m(null===e?void 0:e,{owner:this}),this.addValue(t,n)),n}readValue(t,e){var n;let s=void 0===this.latestValues[t]&&this.current?null!==(n=this.getBaseTargetFromProps(this.props,t))&&void 0!==n?n:this.readValueFromInstance(this.current,t,this.options):this.latestValues[t];var r;return null!=s&&("string"==typeof s&&(W(s)||I(s))?s=parseFloat(s):(r=s,!Mn.find(pt(r))&&Bt.test(e)&&(s=$t(t,e))),this.setBaseTarget(t,hn(s)?s.get():s)),hn(s)?s.get():s}setBaseTarget(t,e){this.baseTarget[t]=e}getBaseTarget(t){var e;const{initial:n}=this.props;let s;if("string"==typeof n||"object"==typeof n){const r=sn(this.props,n,null===(e=this.presenceContext)||void 0===e?void 0:e.custom);r&&(s=r[t])}if(n&&void 0!==s)return s;const r=this.getBaseTargetFromProps(this.props,t);return void 0===r||hn(r)?void 0!==this.initialValues[t]&&void 0===s?void 0:this.baseTarget[t]:r}on(t,e){return this.events[t]||(this.events[t]=new u),this.events[t].add(e)}notify(t,...e){this.events[t]&&this.events[t].notify(...e)}}{constructor(){super(...arguments),this.KeyframeResolver=Ut}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]}}const En={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},On=T.length;const Rn=(t,e)=>e&&"number"==typeof t?e.transform(t):t;function Bn(t,e,n){const{style:s,vars:r,transform:i,transformOrigin:o}=t;let a=!1,l=!1,u=!0;for(const t in e){const n=e[t];if(L(t)){r[t]=n;continue}const c=Nt[t],h=Rn(n,c);if(A.has(t)){if(a=!0,i[t]=h,!u)continue;n!==(c.default||0)&&(u=!1)}else t.startsWith("origin")?(l=!0,o[t]=h):s[t]=h}if(e.transform||(a||n?s.transform=function(t,e,n){let s="";for(let e=0;e<On;e++){const n=T[e];if(void 0!==t[n]){s+=`${En[n]||n}(${t[n]}) `}}return s=s.trim(),n?s=n(t,e?"":s):e&&(s="none"),s}(t.transform,u,n):s.transform&&(s.transform="none")),l){const{originX:t="50%",originY:e="50%",originZ:n=0}=o;s.transformOrigin=`${t} ${e} ${n}`}}function In(t,e,n){return"string"==typeof t?t:nt.transform(e+n*t)}const Wn={offset:"stroke-dashoffset",array:"stroke-dasharray"},Dn={offset:"strokeDashoffset",array:"strokeDasharray"};function Ln(t,{attrX:e,attrY:n,attrScale:s,originX:r,originY:i,pathLength:o,pathSpacing:a=1,pathOffset:l=0,...u},c,h){if(Bn(t,u,h),c)return void(t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox));t.attrs=t.style,t.style={};const{attrs:d,style:p,dimensions:f}=t;d.transform&&(f&&(p.transform=d.transform),delete d.transform),f&&(void 0!==r||void 0!==i||p.transform)&&(p.transformOrigin=function(t,e,n){return`${In(e,t.x,t.width)} ${In(n,t.y,t.height)}`}(f,void 0!==r?r:.5,void 0!==i?i:.5)),void 0!==e&&(d.x=e),void 0!==n&&(d.y=n),void 0!==s&&(d.scale=s),void 0!==o&&function(t,e,n=1,s=0,r=!0){t.pathLength=1;const i=r?Wn:Dn;t[i.offset]=nt.transform(-s);const o=nt.transform(e),a=nt.transform(n);t[i.array]=`${o} ${a}`}(d,o,a,l,!1)}const Kn=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"]);function Nn(t,{style:e,vars:n},s,r){Object.assign(t.style,e,r&&r.getProjectionStyles(s));for(const e in n)t.style.setProperty(e,n[e])}class zn extends Fn{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=kn}getBaseTargetFromProps(t,e){return t[e]}readValueFromInstance(t,e){if(A.has(e)){const t=jt(e);return t&&t.default||0}return e=Kn.has(e)?e:an(e),t.getAttribute(e)}scrapeMotionValuesFromProps(t,e,n){return function(t,e,n){const s=vn(t,e,n);for(const n in t)if(hn(t[n])||hn(e[n])){s[-1!==T.indexOf(n)?"attr"+n.charAt(0).toUpperCase()+n.substring(1):n]=t[n]}return s}(t,e,n)}build(t,e,n){Ln(t,e,this.isSVGTag,n.transformTemplate)}renderInstance(t,e,n,s){!function(t,e,n,s){Nn(t,e,void 0,s);for(const n in e.attrs)t.setAttribute(Kn.has(n)?n:an(n),e.attrs[n])}(t,e,0,s)}mount(t){var e;this.isSVGTag="string"==typeof(e=t.tagName)&&"svg"===e.toLowerCase(),super.mount(t)}}class jn extends Fn{constructor(){super(...arguments),this.type="html",this.applyWillChange=!0,this.renderInstance=Nn}readValueFromInstance(t,e){if(A.has(e)){const t=jt(e);return t&&t.default||0}{const s=(n=t,window.getComputedStyle(n)),r=(L(e)?s.getPropertyValue(e):s[e])||0;return"string"==typeof r?r.trim():r}var n}measureInstanceViewportBox(t,{transformPagePoint:e}){return function(t,e){return function({top:t,left:e,right:n,bottom:s}){return{x:{min:e,max:n},y:{min:t,max:s}}}(function(t,e){if(!e)return t;const n=e({x:t.left,y:t.top}),s=e({x:t.right,y:t.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}(t.getBoundingClientRect(),e))}(t,e)}build(t,e,n){Bn(t,e,n.transformTemplate)}scrapeMotionValuesFromProps(t,e,n){return vn(t,e,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;hn(t)&&(this.childSubscription=t.on("change",t=>{this.current&&(this.current.textContent=""+t)}))}}function $n(t){const e={presenceContext:null,props:{},visualState:{renderState:{transform:{},transformOrigin:{},style:{},vars:{},attrs:{}},latestValues:{}}},n=function(t){return t instanceof SVGElement&&"svg"!==t.tagName}(t)?new zn(e):new jn(e);n.mount(t),w.set(t,n)}function Hn(t,e,n){const s=hn(t)?t:m(t);return s.start(tn("",s,e,n)),s.animation}function Un(t,e=100){const n=te({keyframes:[0,e],...t}),s=Math.min(Ne(n),2e4);return{type:"keyframes",ease:t=>n.next(s*t).value/e,duration:k(s)}}function Yn(t,e,n,s){var r;return"number"==typeof e?e:e.startsWith("-")||e.startsWith("+")?Math.max(0,t+parseFloat(e)):"<"===e?n:null!==(r=s.get(e))&&void 0!==r?r:t}const qn=(t,e,n)=>{const s=e-t;return((n-t)%s+s)%s+t};function Xn(t,e){return ae(t)?t[qn(0,t.length,e)]:t}function Gn(t,e,n,s,r,i){!function(t,e,n){for(let s=0;s<t.length;s++){const r=t[s];r.at>e&&r.at<n&&(l(t,r),s--)}}(t,r,i);for(let o=0;o<e.length;o++)t.push({value:e[o],at:Se(r,i,s[o]),easing:Xn(n,o)})}function Zn(t,e){return t.at===e.at?null===t.value?1:null===e.value?-1:0:t.at-e.at}function _n(t,e){return!e.has(t)&&e.set(t,{}),e.get(t)}function Jn(t,e){return e[t]||(e[t]=[]),e[t]}function Qn(t){return Array.isArray(t)?t:[t]}function ts(t,e){return t[e]?{...t,...t[e]}:{...t}}const es=t=>"number"==typeof t,ns=t=>t.every(es);function ss(t,e,n,s){const r=y(t,s),i=r.length,o=[];for(let t=0;t<i;t++){const s=r[t];w.has(s)||$n(s);const a=w.get(s),l={...n};"function"==typeof l.delay&&(l.delay=l.delay(t,i)),o.push(...fn(a,{...e,transition:l},{}))}return new V(o)}function rs(t,e,n){const s=[];return function(t,{defaultTransition:e={},...n}={},s){const r=e.duration||.3,i=new Map,o=new Map,a={},l=new Map;let u=0,c=0,h=0;for(let n=0;n<t.length;n++){const i=t[n];if("string"==typeof i){l.set(i,c);continue}if(!Array.isArray(i)){l.set(i.name,Yn(c,i.at,u,l));continue}let[d,p,f={}]=i;void 0!==f.at&&(c=Yn(c,f.at,u,l));let m=0;const g=(t,n,s,i=0,o=0)=>{const a=Qn(t),{delay:l=0,times:u=Le(a),type:d="keyframes",...p}=n;let{ease:f=e.ease||"easeOut",duration:g}=n;const v="function"==typeof l?l(i,o):l,y=a.length;if(y<=2&&"spring"===d){let t=100;if(2===y&&ns(a)){const e=a[1]-a[0];t=Math.abs(e)}const e={...p};void 0!==g&&(e.duration=M(g));const n=Un(e,t);f=n.ease,g=n.duration}null!=g||(g=r);const w=c+v,b=w+g;1===u.length&&0===u[0]&&(u[1]=1);const x=u.length-a.length;x>0&&De(u,x),1===a.length&&a.unshift(null),Gn(s,a,f,u,w,b),m=Math.max(v+g,m),h=Math.max(b,h)};if(hn(d)){g(p,f,Jn("default",_n(d,o)))}else{const t=y(d,s,a),e=t.length;for(let n=0;n<e;n++){p=p,f=f;const s=_n(t[n],o);for(const t in p)g(p[t],ts(f,t),Jn(t,s),n,e)}}u=c,c+=m}return o.forEach((t,s)=>{for(const r in t){const o=t[r];o.sort(Zn);const a=[],l=[],u=[];for(let t=0;t<o.length;t++){const{at:e,value:n,easing:s}=o[t];a.push(n),l.push(xe(0,h,e)),u.push(s||"easeOut")}0!==l[0]&&(l.unshift(0),a.unshift(a[0]),u.unshift("easeInOut")),1!==l[l.length-1]&&(l.push(1),a.push(null)),i.has(s)||i.set(s,{keyframes:{},transition:{}});const c=i.get(s);c.keyframes[r]=a,c.transition[r]={...e,duration:h,ease:u,times:l,...n}}}),i}(t,e,n).forEach(({keyframes:t,transition:e},n)=>{let r;r=hn(n)?Hn(n,t.default,e.default):ss(n,t,e),s.push(r)}),new V(s)}const is=t=>function(e,n,s){let r;var i;return i=e,r=Array.isArray(i)&&Array.isArray(i[0])?rs(e,n,t):function(t){return"object"==typeof t&&!Array.isArray(t)}(n)?ss(e,n,s,t):Hn(e,n,s),t&&t.animations.push(r),r},os=is(),as=new WeakMap;let ls;function us({target:t,contentRect:e,borderBoxSize:n}){var s;null===(s=as.get(t))||void 0===s||s.forEach(s=>{s({target:t,contentSize:e,get size(){return function(t,e){if(e){const{inlineSize:t,blockSize:n}=e[0];return{width:t,height:n}}return t instanceof SVGElement&&"getBBox"in t?t.getBBox():{width:t.offsetWidth,height:t.offsetHeight}}(t,n)}})})}function cs(t){t.forEach(us)}function hs(t,e){ls||"undefined"!=typeof ResizeObserver&&(ls=new ResizeObserver(cs));const n=y(t);return n.forEach(t=>{let n=as.get(t);n||(n=new Set,as.set(t,n)),n.add(e),null==ls||ls.observe(t)}),()=>{n.forEach(t=>{const n=as.get(t);null==n||n.delete(e),(null==n?void 0:n.size)||null==ls||ls.unobserve(t)})}}const ds=new Set;let ps;function fs(t){return ds.add(t),ps||(ps=()=>{const t={width:window.innerWidth,height:window.innerHeight},e={target:window,size:t,contentSize:t};ds.forEach(t=>t(e))},window.addEventListener("resize",ps)),()=>{ds.delete(t),!ds.size&&ps&&(ps=void 0)}}const ms={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function gs(t,e,n,s){const r=n[e],{length:i,position:o}=ms[e],a=r.current,l=n.time;r.current=t["scroll"+o],r.scrollLength=t["scroll"+i]-t["client"+i],r.offset.length=0,r.offset[0]=0,r.offset[1]=r.scrollLength,r.progress=xe(0,r.scrollLength,r.current);const u=s-l;r.velocity=u>50?0:c(r.current-a,u)}const vs={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},ys={start:0,center:.5,end:1};function ws(t,e,n=0){let s=0;if(t in ys&&(t=ys[t]),"string"==typeof t){const e=parseFloat(t);t.endsWith("px")?s=e:t.endsWith("%")?t=e/100:t.endsWith("vw")?s=e/100*document.documentElement.clientWidth:t.endsWith("vh")?s=e/100*document.documentElement.clientHeight:t=e}return"number"==typeof t&&(s=e*t),n+s}const bs=[0,0];function xs(t,e,n,s){let r=Array.isArray(t)?t:bs,i=0,o=0;return"number"==typeof t?r=[t,t]:"string"==typeof t&&(r=(t=t.trim()).includes(" ")?t.split(" "):[t,ys[t]?t:"0"]),i=ws(r[0],n,s),o=ws(r[1],e),i-o}const Ss={x:0,y:0};function Vs(t,e,n){const{offset:s=vs.All}=n,{target:r=t,axis:i="y"}=n,o="y"===i?"height":"width",a=r!==t?function(t,e){const n={x:0,y:0};let s=t;for(;s&&s!==e;)if(s instanceof HTMLElement)n.x+=s.offsetLeft,n.y+=s.offsetTop,s=s.offsetParent;else if("svg"===s.tagName){const t=s.getBoundingClientRect();s=s.parentElement;const e=s.getBoundingClientRect();n.x+=t.left-e.left,n.y+=t.top-e.top}else{if(!(s instanceof SVGGraphicsElement))break;{const{x:t,y:e}=s.getBBox();n.x+=t,n.y+=e;let r=null,i=s.parentNode;for(;!r;)"svg"===i.tagName&&(r=i),i=s.parentNode;s=r}}return n}(r,t):Ss,l=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),u={width:t.clientWidth,height:t.clientHeight};e[i].offset.length=0;let c=!e[i].interpolate;const h=s.length;for(let t=0;t<h;t++){const n=xs(s[t],u[o],l[o],a[i]);c||n===e[i].interpolatorOffsets[t]||(c=!0),e[i].offset[t]=n}c&&(e[i].interpolate=We(e[i].offset,Le(s)),e[i].interpolatorOffsets=[...e[i].offset]),e[i].progress=e[i].interpolate(e[i].current)}function Ts(t,e,n,s={}){return{measure:()=>function(t,e=t,n){if(n.x.targetOffset=0,n.y.targetOffset=0,e!==t){let s=e;for(;s&&s!==t;)n.x.targetOffset+=s.offsetLeft,n.y.targetOffset+=s.offsetTop,s=s.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,s.target,n),update:e=>{!function(t,e,n){gs(t,"x",e,n),gs(t,"y",e,n),e.time=n}(t,n,e),(s.offset||s.target)&&Vs(t,n,s)},notify:()=>e(n)}}const As=new WeakMap,Ms=new WeakMap,ks=new WeakMap,Ps=t=>t===document.documentElement?window:t;function Cs(t,{container:e=document.documentElement,...n}={}){let s=ks.get(e);s||(s=new Set,ks.set(e,s));const a=Ts(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(s.add(a),!As.has(e)){const t=()=>{for(const t of s)t.measure()},n=()=>{for(const t of s)t.update(o.timestamp)},i=()=>{for(const t of s)t.notify()},a=()=>{r.read(t,!1,!0),r.read(n,!1,!0),r.update(i,!1,!0)};As.set(e,a);const c=Ps(e);window.addEventListener("resize",a,{passive:!0}),e!==document.documentElement&&Ms.set(e,(u=a,"function"==typeof(l=e)?fs(l):hs(l,u))),c.addEventListener("scroll",a,{passive:!0})}var l,u;const c=As.get(e);return r.read(c,!1,!0),()=>{var t;i(c);const n=ks.get(e);if(!n)return;if(n.delete(a),n.size)return;const s=As.get(e);As.delete(e),s&&(Ps(e).removeEventListener("scroll",s),null===(t=Ms.get(e))||void 0===t||t(),window.removeEventListener("resize",s))}}const Fs=new Map;function Es({source:t=document.documentElement,axis:e="y"}={}){Fs.has(t)||Fs.set(t,{});const n=Fs.get(t);return n[e]||(n[e]=S()?new ScrollTimeline({source:t,axis:e}):function({source:t,axis:e="y"}){const n={value:0},s=Cs(t=>{n.value=100*t[e].progress},{container:t,axis:e});return{currentTime:n,cancel:s}}({source:t,axis:e})),n[e]}const Os={some:0,all:1};const Rs=(t,e)=>Math.abs(t-e);const Bs=r,Is=s.reduce((t,e)=>(t[e]=t=>i(t),t),{});t.MotionValue=f,t.animate=os,t.anticipate=ge,t.backIn=fe,t.backInOut=me,t.backOut=pe,t.cancelFrame=i,t.cancelSync=Is,t.circIn=ce,t.circInOut=de,t.circOut=he,t.clamp=H,t.createScopedAnimate=is,t.cubicBezier=se,t.delay=function(t,e){const n=p.now(),s=({timestamp:r})=>{const o=r-n;o>=e&&(i(s),t(o-e))};return r.read(s,!0),()=>i(s)},t.distance=Rs,t.distance2D=function(t,e){const n=Rs(t.x,e.x),s=Rs(t.y,e.y);return Math.sqrt(n**2+s**2)},t.easeIn=re,t.easeInOut=oe,t.easeOut=ie,t.frame=r,t.frameData=o,t.inView=function(t,e,{root:n,margin:s,amount:r="some"}={}){const i=y(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);"function"==typeof n?o.set(t.target,n):a.unobserve(t.target)}else n&&(n(t),o.delete(t.target))})},{root:n,rootMargin:s,threshold:"number"==typeof r?r:Os[r]});return i.forEach(t=>a.observe(t)),()=>a.disconnect()},t.interpolate=We,t.invariant=v,t.mirrorEasing=le,t.mix=Ie,t.motionValue=m,t.pipe=be,t.progress=xe,t.reverseEasing=ue,t.scroll=function(t,e){const n=Es(e);return"function"==typeof t?b(t,n):t.attachTimeline(n)},t.scrollInfo=Cs,t.stagger=function(t=.1,{startDelay:e=0,from:n=0,ease:s}={}){return(r,i)=>{const o="number"==typeof n?n:function(t,e){if("first"===t)return 0;{const n=e-1;return"last"===t?n:n/2}}(n,i),a=Math.abs(o-r);let l=t*a;if(s){const e=i*t;l=ye(s)(l/e)*e}return e+l}},t.steps=a,t.sync=Bs,t.transform=function(...t){const e=!Array.isArray(t[0]),n=e?0:-1,s=t[0+n],r=t[1+n],i=t[2+n],o=t[3+n],a=We(r,i,{mixer:(l=i[0],(t=>t&&"object"==typeof t&&t.mix)(l)?l.mix:void 0),...o});var l;return e?a(s):a},t.warning=g,t.wrap=qn}));
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";const e=t=>t,n=!1;const s=["read","resolveKeyframes","update","preRender","render","postRender"];const{schedule:r,cancel:i,state:o,steps:a}=function(t,e){let n=!1,r=!0;const i={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,a=s.reduce((t,e)=>(t[e]=function(t){let e=new Set,n=new Set,s=!1,r=!1;const i=new WeakSet;let o={delta:0,timestamp:0,isProcessing:!1};function a(e){i.has(e)&&(l.schedule(e),t()),e(o)}const l={schedule:(t,r=!1,o=!1)=>{const a=o&&s?e:n;return r&&i.add(t),a.has(t)||a.add(t),t},cancel:t=>{n.delete(t),i.delete(t)},process:t=>{o=t,s?r=!0:(s=!0,[e,n]=[n,e],n.clear(),e.forEach(a),s=!1,r&&(r=!1,l.process(t)))}};return l}(o),t),{}),{read:l,resolveKeyframes:u,update:c,preRender:h,render:d,postRender:p}=a,f=()=>{const s=performance.now();n=!1,i.delta=r?1e3/60:Math.max(Math.min(s-i.timestamp,40),1),i.timestamp=s,i.isProcessing=!0,l.process(i),u.process(i),c.process(i),h.process(i),d.process(i),p.process(i),i.isProcessing=!1,n&&e&&(r=!1,t(f))};return{schedule:s.reduce((e,s)=>{const o=a[s];return e[s]=(e,s=!1,a=!1)=>(n||(n=!0,r=!0,i.isProcessing||t(f)),o.schedule(e,s,a)),e},{}),cancel:t=>{for(let e=0;e<s.length;e++)a[s[e]].cancel(t)},state:i,steps:a}}("undefined"!=typeof requestAnimationFrame?requestAnimationFrame:e,!0);function l(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}class u{constructor(){this.subscriptions=[]}add(t){var e,n;return e=this.subscriptions,n=t,-1===e.indexOf(n)&&e.push(n),()=>l(this.subscriptions,t)}notify(t,e,n){const s=this.subscriptions.length;if(s)if(1===s)this.subscriptions[0](t,e,n);else for(let r=0;r<s;r++){const s=this.subscriptions[r];s&&s(t,e,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}function c(t,e){return e?t*(1e3/e):0}let h;function d(){h=void 0}const p={now:()=>(void 0===h&&p.set(o.isProcessing||n?o.timestamp:performance.now()),h),set:t=>{h=t,queueMicrotask(d)}};class f{constructor(t,e={}){this.version="11.3.13",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(t,e=!0)=>{const n=p.now();this.updatedAt!==n&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(t),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),e&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(t),this.owner=e.owner}setCurrent(t){var e;this.current=t,this.updatedAt=p.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 u);const n=this.events[t].add(e);return"change"===t?()=>{n(),r.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,e=!0){e&&this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t,e)}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()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=p.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||t-this.updatedAt>30)return 0;const e=Math.min(this.updatedAt-this.prevUpdatedAt,30);return c(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.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function m(t,e){return new f(t,e)}let g=e,v=e;function y(t,e,n){var s;if("string"==typeof t){let r=document;e&&(v(Boolean(e.current)),r=e.current),n?(null!==(s=n[t])&&void 0!==s||(n[t]=r.querySelectorAll(t)),t=n[t]):t=r.querySelectorAll(t)}else t instanceof Element&&(t=[t]);return Array.from(t||[])}const w=new WeakMap;function b(t,e){let n;const s=()=>{const{currentTime:s}=e,r=(null===s?0:s.value)/100;n!==r&&t(r),n=r};return r.update(s,!0),()=>i(s)}function x(t){let e;return()=>(void 0===e&&(e=t()),e)}const S=x(()=>void 0!==window.ScrollTimeline);class V{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}then(t,e){return Promise.all(this.animations).then(t).catch(e)}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=>{if(!S()||!e.attachTimeline)return e.pause(),b(t=>{e.time=e.duration*t},t);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 duration(){let t=0;for(let e=0;e<this.animations.length;e++)t=Math.max(t,this.animations[e].duration);return t}runAll(t){this.animations.forEach(e=>e[t]())}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}const T=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],A=new Set(T),M=t=>1e3*t,k=t=>t/1e3,P={type:"spring",stiffness:500,damping:25,restSpeed:10},C={type:"keyframes",duration:.8},F={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},E=(t,{keyframes:e})=>e.length>2?C:A.has(t)?t.startsWith("scale")?{type:"spring",stiffness:550,damping:0===e[1]?2*Math.sqrt(550):30,restSpeed:10}:P:F;function O(t,e){return t[e]||t.default||t}const R=t=>null!==t;function B(t,{repeat:e,repeatType:n="loop"},s){const r=t.filter(R),i=e&&"loop"!==n&&e%2==1?0:r.length-1;return i&&void 0!==s?s:r[i]}const I=t=>/^0[^.\s]+$/u.test(t);const W=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t),D=t=>e=>"string"==typeof e&&e.startsWith(t),L=D("--"),K=D("var(--"),N=t=>!!K(t)&&z.test(t.split("/*")[0].trim()),z=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,j=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function $(t,e,n=1){const[s,r]=function(t){const e=j.exec(t);if(!e)return[,];const[,n,s,r]=e;return["--"+(null!=n?n:s),r]}(t);if(!s)return;const i=window.getComputedStyle(e).getPropertyValue(s);if(i){const t=i.trim();return W(t)?parseFloat(t):t}return N(r)?$(r,e,n+1):r}const H=(t,e,n)=>n>e?e:n<t?t:n,U={test:t=>"number"==typeof t,parse:parseFloat,transform:t=>t},Y={...U,transform:t=>H(0,1,t)},q={...U,default:1},X=t=>Math.round(1e5*t)/1e5,G=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu,Z=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu,_=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;function J(t){return"string"==typeof t}const Q=t=>({test:e=>J(e)&&e.endsWith(t)&&1===e.split(" ").length,parse:parseFloat,transform:e=>`${e}${t}`}),tt=Q("deg"),et=Q("%"),nt=Q("px"),st=Q("vh"),rt=Q("vw"),it={...et,parse:t=>et.parse(t)/100,transform:t=>et.transform(100*t)},ot=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),at=t=>t===U||t===nt,lt=(t,e)=>parseFloat(t.split(", ")[e]),ut=(t,e)=>(n,{transform:s})=>{if("none"===s||!s)return 0;const r=s.match(/^matrix3d\((.+)\)$/u);if(r)return lt(r[1],e);{const e=s.match(/^matrix\((.+)\)$/u);return e?lt(e[1],t):0}},ct=new Set(["x","y","z"]),ht=T.filter(t=>!ct.has(t));const dt={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:ut(4,13),y:ut(5,14)};dt.translateX=dt.x,dt.translateY=dt.y;const pt=t=>e=>e.test(t),ft=[U,nt,et,tt,rt,st,{test:t=>"auto"===t,parse:t=>t}],mt=t=>ft.find(pt(t)),gt=new Set;let vt=!1,yt=!1;function wt(){if(yt){const t=Array.from(gt).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 ht.forEach(n=>{const s=t.getValue(n);void 0!==s&&(e.push([n,s.get()]),s.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])=>{var s;null===(s=t.getValue(e))||void 0===s||s.set(n)})}),t.forEach(t=>t.measureEndState()),t.forEach(t=>{void 0!==t.suspendedScrollY&&window.scrollTo(0,t.suspendedScrollY)})}yt=!1,vt=!1,gt.forEach(t=>t.complete()),gt.clear()}function bt(){gt.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(yt=!0)})}class xt{constructor(t,e,n,s,r,i=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...t],this.onComplete=e,this.name=n,this.motionValue=s,this.element=r,this.isAsync=i}scheduleResolve(){this.isScheduled=!0,this.isAsync?(gt.add(this),vt||(vt=!0,r.read(bt),r.resolveKeyframes(wt))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:e,element:n,motionValue:s}=this;for(let r=0;r<t.length;r++)if(null===t[r])if(0===r){const r=null==s?void 0:s.get(),i=t[t.length-1];if(void 0!==r)t[0]=r;else if(n&&e){const s=n.readValue(e,i);null!=s&&(t[0]=s)}void 0===t[0]&&(t[0]=i),s&&void 0===r&&s.set(t[0])}else t[r]=t[r-1]}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(){this.isComplete=!0,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe),gt.delete(this)}cancel(){this.isComplete||(this.isScheduled=!1,gt.delete(this))}resume(){this.isComplete||this.scheduleResolve()}}const St=(t,e)=>n=>Boolean(J(n)&&_.test(n)&&n.startsWith(t)||e&&!function(t){return null==t}(n)&&Object.prototype.hasOwnProperty.call(n,e)),Vt=(t,e,n)=>s=>{if(!J(s))return s;const[r,i,o,a]=s.match(G);return{[t]:parseFloat(r),[e]:parseFloat(i),[n]:parseFloat(o),alpha:void 0!==a?parseFloat(a):1}},Tt={...U,transform:t=>Math.round((t=>H(0,255,t))(t))},At={test:St("rgb","red"),parse:Vt("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:s=1})=>"rgba("+Tt.transform(t)+", "+Tt.transform(e)+", "+Tt.transform(n)+", "+X(Y.transform(s))+")"};const Mt={test:St("#"),parse:function(t){let e="",n="",s="",r="";return t.length>5?(e=t.substring(1,3),n=t.substring(3,5),s=t.substring(5,7),r=t.substring(7,9)):(e=t.substring(1,2),n=t.substring(2,3),s=t.substring(3,4),r=t.substring(4,5),e+=e,n+=n,s+=s,r+=r),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:r?parseInt(r,16)/255:1}},transform:At.transform},kt={test:St("hsl","hue"),parse:Vt("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:s=1})=>"hsla("+Math.round(t)+", "+et.transform(X(e))+", "+et.transform(X(n))+", "+X(Y.transform(s))+")"},Pt={test:t=>At.test(t)||Mt.test(t)||kt.test(t),parse:t=>At.test(t)?At.parse(t):kt.test(t)?kt.parse(t):Mt.parse(t),transform:t=>J(t)?t:t.hasOwnProperty("red")?At.transform(t):kt.transform(t)};const Ct=/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 Ft(t){const e=t.toString(),n=[],s={color:[],number:[],var:[]},r=[];let i=0;const o=e.replace(Ct,t=>(Pt.test(t)?(s.color.push(i),r.push("color"),n.push(Pt.parse(t))):t.startsWith("var(")?(s.var.push(i),r.push("var"),n.push(t)):(s.number.push(i),r.push("number"),n.push(parseFloat(t))),++i,"${}")).split("${}");return{values:n,split:o,indexes:s,types:r}}function Et(t){return Ft(t).values}function Ot(t){const{split:e,types:n}=Ft(t),s=e.length;return t=>{let r="";for(let i=0;i<s;i++)if(r+=e[i],void 0!==t[i]){const e=n[i];r+="number"===e?X(t[i]):"color"===e?Pt.transform(t[i]):t[i]}return r}}const Rt=t=>"number"==typeof t?0:t;const Bt={test:function(t){var e,n;return isNaN(t)&&J(t)&&((null===(e=t.match(G))||void 0===e?void 0:e.length)||0)+((null===(n=t.match(Z))||void 0===n?void 0:n.length)||0)>0},parse:Et,createTransformer:Ot,getAnimatableNone:function(t){const e=Et(t);return Ot(t)(e.map(Rt))}},It=new Set(["brightness","contrast","saturate","opacity"]);function Wt(t){const[e,n]=t.slice(0,-1).split("(");if("drop-shadow"===e)return t;const[s]=n.match(G)||[];if(!s)return t;const r=n.replace(s,"");let i=It.has(e)?1:0;return s!==n&&(i*=100),e+"("+i+r+")"}const Dt=/\b([a-z-]*)\(.*?\)/gu,Lt={...Bt,getAnimatableNone:t=>{const e=t.match(Dt);return e?e.map(Wt).join(" "):t}},Kt={...U,transform:Math.round},Nt={borderWidth:nt,borderTopWidth:nt,borderRightWidth:nt,borderBottomWidth:nt,borderLeftWidth:nt,borderRadius:nt,radius:nt,borderTopLeftRadius:nt,borderTopRightRadius:nt,borderBottomRightRadius:nt,borderBottomLeftRadius:nt,width:nt,maxWidth:nt,height:nt,maxHeight:nt,size:nt,top:nt,right:nt,bottom:nt,left:nt,padding:nt,paddingTop:nt,paddingRight:nt,paddingBottom:nt,paddingLeft:nt,margin:nt,marginTop:nt,marginRight:nt,marginBottom:nt,marginLeft:nt,rotate:tt,rotateX:tt,rotateY:tt,rotateZ:tt,scale:q,scaleX:q,scaleY:q,scaleZ:q,skew:tt,skewX:tt,skewY:tt,distance:nt,translateX:nt,translateY:nt,translateZ:nt,x:nt,y:nt,z:nt,perspective:nt,transformPerspective:nt,opacity:Y,originX:it,originY:it,originZ:nt,zIndex:Kt,backgroundPositionX:nt,backgroundPositionY:nt,fillOpacity:Y,strokeOpacity:Y,numOctaves:Kt},zt={...Nt,color:Pt,backgroundColor:Pt,outlineColor:Pt,fill:Pt,stroke:Pt,borderColor:Pt,borderTopColor:Pt,borderRightColor:Pt,borderBottomColor:Pt,borderLeftColor:Pt,filter:Lt,WebkitFilter:Lt},jt=t=>zt[t];function $t(t,e){let n=jt(t);return n!==Lt&&(n=Bt),n.getAnimatableNone?n.getAnimatableNone(e):void 0}const Ht=new Set(["auto","none","0"]);class Ut extends xt{constructor(t,e,n,s){super(t,e,n,s,null==s?void 0:s.owner,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:e,name:n}=this;if(!e.current)return;super.readKeyframes();for(let n=0;n<t.length;n++){let s=t[n];if("string"==typeof s&&(s=s.trim(),N(s))){const r=$(s,e.current);void 0!==r&&(t[n]=r),n===t.length-1&&(this.finalKeyframe=s)}}if(this.resolveNoneKeyframes(),!ot.has(n)||2!==t.length)return;const[s,r]=t,i=mt(s),o=mt(r);if(i!==o)if(at(i)&&at(o))for(let e=0;e<t.length;e++){const n=t[e];"string"==typeof n&&(t[e]=parseFloat(n))}else this.needsMeasurement=!0}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:e}=this,n=[];for(let e=0;e<t.length;e++)("number"==typeof(s=t[e])?0===s:null===s||"none"===s||"0"===s||I(s))&&n.push(e);var s;n.length&&function(t,e,n){let s=0,r=void 0;for(;s<t.length&&!r;){const e=t[s];"string"==typeof e&&!Ht.has(e)&&Ft(e).values.length&&(r=t[s]),s++}if(r&&n)for(const s of e)t[s]=$t(n,r)}(t,n,e)}measureInitialState(){const{element:t,unresolvedKeyframes:e,name:n}=this;if(!t.current)return;"height"===n&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=dt[n](t.measureViewportBox(),window.getComputedStyle(t.current)),e[0]=this.measuredOrigin;const s=e[e.length-1];void 0!==s&&t.getValue(n,s).jump(s,!1)}measureEndState(){var t;const{element:e,name:n,unresolvedKeyframes:s}=this;if(!e.current)return;const r=e.getValue(n);r&&r.jump(this.measuredOrigin,!1);const i=s.length-1,o=s[i];s[i]=dt[n](e.measureViewportBox(),window.getComputedStyle(e.current)),null!==o&&void 0===this.finalKeyframe&&(this.finalKeyframe=o),(null===(t=this.removedTransforms)||void 0===t?void 0:t.length)&&this.removedTransforms.forEach(([t,n])=>{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}}const Yt=(t,e)=>"zIndex"!==e&&(!("number"!=typeof t&&!Array.isArray(t))||!("string"!=typeof t||!Bt.test(t)&&"0"!==t||t.startsWith("url(")));class qt{constructor({autoplay:t=!0,delay:e=0,type:n="keyframes",repeat:s=0,repeatDelay:r=0,repeatType:i="loop",...o}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.options={autoplay:t,delay:e,type:n,repeat:s,repeatDelay:r,repeatType:i,...o},this.updateFinishedPromise()}get resolved(){return this._resolved||this.hasAttemptedResolve||(bt(),wt()),this._resolved}onKeyframesResolved(t,e){this.hasAttemptedResolve=!0;const{name:n,type:s,velocity:r,delay:i,onComplete:o,onUpdate:a,isGenerator:l}=this.options;if(!l&&!function(t,e,n,s){const r=t[0];if(null===r)return!1;if("display"===e||"visibility"===e)return!0;const i=t[t.length-1],o=Yt(r,e),a=Yt(i,e);return!(!o||!a)&&(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}(t)||"spring"===n&&s)}(t,n,s,r)){if(!i)return null==a||a(B(t,this.options,e)),null==o||o(),void this.resolveFinishedPromise();this.options.duration=0}const u=this.initPlayback(t,e);!1!==u&&(this._resolved={keyframes:t,finalKeyframe:e,...u},this.onPostResolved())}onPostResolved(){}then(t,e){return this.currentFinishedPromise.then(t,e)}updateFinishedPromise(){this.currentFinishedPromise=new Promise(t=>{this.resolveFinishedPromise=t})}}function Xt(t,e,n){const s=Math.max(e-5,0);return c(n-t(s),e-s)}function Gt({duration:t=800,bounce:e=.25,velocity:n=0,mass:s=1}){let r,i,o=1-e;o=H(.05,1,o),t=H(.01,10,k(t)),o<1?(r=e=>{const s=e*o,r=s*t;return.001-(s-n)/Zt(e,o)*Math.exp(-r)},i=e=>{const s=e*o*t,i=s*n+n,a=Math.pow(o,2)*Math.pow(e,2)*t,l=Math.exp(-s),u=Zt(Math.pow(e,2),o);return(.001-r(e)>0?-1:1)*((i-a)*l)/u}):(r=e=>Math.exp(-e*t)*((e-n)*t+1)-.001,i=e=>Math.exp(-e*t)*(t*t*(n-e)));const a=function(t,e,n){let s=n;for(let n=1;n<12;n++)s-=t(s)/e(s);return s}(r,i,5/t);if(t=M(t),isNaN(a))return{stiffness:100,damping:10,duration:t};{const e=Math.pow(a,2)*s;return{stiffness:e,damping:2*o*Math.sqrt(s*e),duration:t}}}function Zt(t,e){return t*Math.sqrt(1-e*e)}const _t=["duration","bounce"],Jt=["stiffness","damping","mass"];function Qt(t,e){return e.some(e=>void 0!==t[e])}function te({keyframes:t,restDelta:e,restSpeed:n,...s}){const r=t[0],i=t[t.length-1],o={done:!1,value:r},{stiffness:a,damping:l,mass:u,duration:c,velocity:h,isResolvedFromDuration:d}=function(t){let e={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...t};if(!Qt(t,Jt)&&Qt(t,_t)){const n=Gt(t);e={...e,...n,mass:1},e.isResolvedFromDuration=!0}return e}({...s,velocity:-k(s.velocity||0)}),p=h||0,f=l/(2*Math.sqrt(a*u)),m=i-r,g=k(Math.sqrt(a/u)),v=Math.abs(m)<5;let y;if(n||(n=v?.01:2),e||(e=v?.005:.5),f<1){const t=Zt(g,f);y=e=>{const n=Math.exp(-f*g*e);return i-n*((p+f*g*m)/t*Math.sin(t*e)+m*Math.cos(t*e))}}else if(1===f)y=t=>i-Math.exp(-g*t)*(m+(p+g*m)*t);else{const t=g*Math.sqrt(f*f-1);y=e=>{const n=Math.exp(-f*g*e),s=Math.min(t*e,300);return i-n*((p+f*g*m)*Math.sinh(s)+t*m*Math.cosh(s))/t}}return{calculatedDuration:d&&c||null,next:t=>{const s=y(t);if(d)o.done=t>=c;else{let r=p;0!==t&&(r=f<1?Xt(y,t,s):0);const a=Math.abs(r)<=n,l=Math.abs(i-s)<=e;o.done=a&&l}return o.value=o.done?i:s,o}}}function ee({keyframes:t,velocity:e=0,power:n=.8,timeConstant:s=325,bounceDamping:r=10,bounceStiffness:i=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 v=t=>-f*Math.exp(-t/s),y=t=>g+v(t),w=t=>{const e=v(t),n=y(t);d.done=Math.abs(e)<=u,d.value=d.done?g:n};let b,x;const S=t=>{var e;(e=d.value,void 0!==a&&e<a||void 0!==l&&e>l)&&(b=t,x=te({keyframes:[d.value,p(d.value)],velocity:Xt(y,t,d.value),damping:r,stiffness:i,restDelta:u,restSpeed:c}))};return S(0),{calculatedDuration:null,next:t=>{let e=!1;return x||void 0!==b||(e=!0,w(t),S(t)),void 0!==b&&t>=b?x.next(t-b):(!e&&w(t),d)}}}const ne=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t;function se(t,n,s,r){if(t===n&&s===r)return e;const i=e=>function(t,e,n,s,r){let i,o,a=0;do{o=e+(n-e)/2,i=ne(o,s,r)-t,i>0?n=o:e=o}while(Math.abs(i)>1e-7&&++a<12);return o}(e,0,1,t,s);return t=>0===t||1===t?t:ne(i(t),n,r)}const re=se(.42,0,1,1),ie=se(0,0,.58,1),oe=se(.42,0,.58,1),ae=t=>Array.isArray(t)&&"number"!=typeof t[0],le=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,ue=t=>e=>1-t(1-e),ce=t=>1-Math.sin(Math.acos(t)),he=ue(ce),de=le(ce),pe=se(.33,1.53,.69,.99),fe=ue(pe),me=le(fe),ge=t=>(t*=2)<1?.5*fe(t):.5*(2-Math.pow(2,-10*(t-1))),ve={linear:e,easeIn:re,easeInOut:oe,easeOut:ie,circIn:ce,circInOut:de,circOut:he,backIn:fe,backInOut:me,backOut:pe,anticipate:ge},ye=t=>{if(Array.isArray(t)){v(4===t.length);const[e,n,s,r]=t;return se(e,n,s,r)}return"string"==typeof t?ve[t]:t},we=(t,e)=>n=>e(t(n)),be=(...t)=>t.reduce(we),xe=(t,e,n)=>{const s=e-t;return 0===s?1:(n-t)/s},Se=(t,e,n)=>t+(e-t)*n;function Ve(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 Te(t,e){return n=>n>0?e:t}const Ae=(t,e,n)=>{const s=t*t,r=n*(e*e-s)+s;return r<0?0:Math.sqrt(r)},Me=[Mt,At,kt];function ke(t){const e=(n=t,Me.find(t=>t.test(n)));var n;if(!Boolean(e))return!1;let s=e.parse(t);return e===kt&&(s=function({hue:t,saturation:e,lightness:n,alpha:s}){t/=360,n/=100;let r=0,i=0,o=0;if(e/=100){const s=n<.5?n*(1+e):n+e-n*e,a=2*n-s;r=Ve(a,s,t+1/3),i=Ve(a,s,t),o=Ve(a,s,t-1/3)}else r=i=o=n;return{red:Math.round(255*r),green:Math.round(255*i),blue:Math.round(255*o),alpha:s}}(s)),s}const Pe=(t,e)=>{const n=ke(t),s=ke(e);if(!n||!s)return Te(t,e);const r={...n};return t=>(r.red=Ae(n.red,s.red,t),r.green=Ae(n.green,s.green,t),r.blue=Ae(n.blue,s.blue,t),r.alpha=Se(n.alpha,s.alpha,t),At.transform(r))},Ce=new Set(["none","hidden"]);function Fe(t,e){return n=>Se(t,e,n)}function Ee(t){return"number"==typeof t?Fe:"string"==typeof t?N(t)?Te:Pt.test(t)?Pe:Be:Array.isArray(t)?Oe:"object"==typeof t?Pt.test(t)?Pe:Re:Te}function Oe(t,e){const n=[...t],s=n.length,r=t.map((t,n)=>Ee(t)(t,e[n]));return t=>{for(let e=0;e<s;e++)n[e]=r[e](t);return n}}function Re(t,e){const n={...t,...e},s={};for(const r in n)void 0!==t[r]&&void 0!==e[r]&&(s[r]=Ee(t[r])(t[r],e[r]));return t=>{for(const e in s)n[e]=s[e](t);return n}}const Be=(t,e)=>{const n=Bt.createTransformer(e),s=Ft(t),r=Ft(e);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?Ce.has(t)&&!r.values.length||Ce.has(e)&&!s.values.length?function(t,e){return Ce.has(t)?n=>n<=0?t:e:n=>n>=1?e:t}(t,e):be(Oe(function(t,e){var n;const s=[],r={color:0,var:0,number:0};for(let i=0;i<e.values.length;i++){const o=e.types[i],a=t.indexes[o][r[o]],l=null!==(n=t.values[a])&&void 0!==n?n:0;s[i]=l,r[o]++}return s}(s,r),r.values),n):Te(t,e)};function Ie(t,e,n){if("number"==typeof t&&"number"==typeof e&&"number"==typeof n)return Se(t,e,n);return Ee(t)(t,e)}function We(t,n,{clamp:s=!0,ease:r,mixer:i}={}){const o=t.length;if(v(o===n.length),1===o)return()=>n[0];if(2===o&&t[0]===t[1])return()=>n[1];t[0]>t[o-1]&&(t=[...t].reverse(),n=[...n].reverse());const a=function(t,n,s){const r=[],i=s||Ie,o=t.length-1;for(let s=0;s<o;s++){let o=i(t[s],t[s+1]);if(n){const t=Array.isArray(n)?n[s]||e:n;o=be(t,o)}r.push(o)}return r}(n,r,i),l=a.length,u=e=>{let n=0;if(l>1)for(;n<t.length-2&&!(e<t[n+1]);n++);const s=xe(t[n],t[n+1],e);return a[n](s)};return s?e=>u(H(t[0],t[o-1],e)):u}function De(t,e){const n=t[t.length-1];for(let s=1;s<=e;s++){const r=xe(0,e,s);t.push(Se(n,1,r))}}function Le(t){const e=[0];return De(e,t.length-1),e}function Ke({duration:t=300,keyframes:e,times:n,ease:s="easeInOut"}){const r=ae(s)?s.map(ye):ye(s),i={done:!1,value:e[0]},o=We(function(t,e){return t.map(t=>t*e)}(n&&n.length===e.length?n:Le(e),t),e,{ease:Array.isArray(r)?r:(a=e,l=r,a.map(()=>l||oe).splice(0,a.length-1))});var a,l;return{calculatedDuration:t,next:e=>(i.value=o(e),i.done=e>=t,i)}}function Ne(t){let e=0;let n=t.next(e);for(;!n.done&&e<2e4;)e+=50,n=t.next(e);return e>=2e4?1/0:e}const ze=t=>{const e=({timestamp:e})=>t(e);return{start:()=>r.update(e,!0),stop:()=>i(e),now:()=>o.isProcessing?o.timestamp:p.now()}},je={decay:ee,inertia:ee,tween:Ke,keyframes:Ke,spring:te},$e=t=>t/100;class He extends qt{constructor({KeyframeResolver:t=xt,...e}){super(e),this.holdTime=null,this.startTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState="running",this.state="idle",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,"idle"===this.state)return;this.teardown();const{onStop:t}=this.options;t&&t()};const{name:n,motionValue:s,keyframes:r}=this.options,i=(t,e)=>this.onKeyframesResolved(t,e);n&&s&&s.owner?this.resolver=s.owner.resolveKeyframes(r,i,n,s):this.resolver=new t(r,i,n,s),this.resolver.scheduleResolve()}initPlayback(t){const{type:e="keyframes",repeat:n=0,repeatDelay:s=0,repeatType:r,velocity:i=0}=this.options,o=je[e]||Ke;let a,l;o!==Ke&&"number"!=typeof t[0]&&(a=be($e,Ie(t[0],t[1])),t=[0,100]);const u=o({...this.options,keyframes:t});"mirror"===r&&(l=o({...this.options,keyframes:[...t].reverse(),velocity:-i})),null===u.calculatedDuration&&(u.calculatedDuration=Ne(u));const{calculatedDuration:c}=u,h=c+s;return{generator:u,mirroredGenerator:l,mapPercentToKeyframes:a,calculatedDuration:c,resolvedDuration:h,totalDuration:h*(n+1)-s}}onPostResolved(){const{autoplay:t=!0}=this.options;this.play(),"paused"!==this.pendingPlayState&&t?this.state=this.pendingPlayState:this.pause()}tick(t,e=!1){const{resolved:n}=this;if(!n){const{keyframes:t}=this.options;return{done:!0,value:t[t.length-1]}}const{finalKeyframe:s,generator:r,mirroredGenerator:i,mapPercentToKeyframes:o,keyframes:a,calculatedDuration:l,totalDuration:u,resolvedDuration:c}=n;if(null===this.startTime)return r.next(0);const{delay:h,repeat:d,repeatType:p,repeatDelay:f,onUpdate:m}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-u/this.speed,this.startTime)),e?this.currentTime=t:null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=Math.round(t-this.startTime)*this.speed;const g=this.currentTime-h*(this.speed>=0?1:-1),v=this.speed>=0?g<0:g>u;this.currentTime=Math.max(g,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=u);let y=this.currentTime,w=r;if(d){const t=Math.min(this.currentTime,u)/c;let e=Math.floor(t),n=t%1;!n&&t>=1&&(n=1),1===n&&e--,e=Math.min(e,d+1);Boolean(e%2)&&("reverse"===p?(n=1-n,f&&(n-=f/c)):"mirror"===p&&(w=i)),y=H(0,1,n)*c}const b=v?{done:!1,value:a[0]}:w.next(y);o&&(b.value=o(b.value));let{done:x}=b;v||null===l||(x=this.speed>=0?this.currentTime>=u:this.currentTime<=0);const S=null===this.holdTime&&("finished"===this.state||"running"===this.state&&x);return S&&void 0!==s&&(b.value=B(a,this.options,s)),m&&m(b.value),S&&this.finish(),b}get duration(){const{resolved:t}=this;return t?k(t.calculatedDuration):0}get time(){return k(this.currentTime)}set time(t){t=M(t),this.currentTime=t,null!==this.holdTime||0===this.speed?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.speed)}get speed(){return this.playbackSpeed}set speed(t){const e=this.playbackSpeed!==t;this.playbackSpeed=t,e&&(this.time=k(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved)return void(this.pendingPlayState="running");if(this.isStopped)return;const{driver:t=ze,onPlay:e}=this.options;this.driver||(this.driver=t(t=>this.tick(t))),e&&e();const n=this.driver.now();null!==this.holdTime?this.startTime=n-this.holdTime:this.startTime&&"finished"!==this.state||(this.startTime=n),"finished"===this.state&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var t;this._resolved?(this.state="paused",this.holdTime=null!==(t=this.currentTime)&&void 0!==t?t:0):this.pendingPlayState="paused"}complete(){"running"!==this.state&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:t}=this.options;t&&t()}cancel(){null!==this.cancelTime&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}}const Ue=new Set(["opacity","clipPath","filter","transform"]),Ye=t=>Array.isArray(t)&&"number"==typeof t[0];function qe(t){return Boolean(!t||"string"==typeof t&&t in Ge||Ye(t)||Array.isArray(t)&&t.every(qe))}const Xe=([t,e,n,s])=>`cubic-bezier(${t}, ${e}, ${n}, ${s})`,Ge={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Xe([0,.65,.55,1]),circOut:Xe([.55,0,1,.45]),backIn:Xe([.31,.01,.66,-.59]),backOut:Xe([.33,1.53,.69,.99])};function Ze(t){return _e(t)||Ge.easeOut}function _e(t){return t?Ye(t)?Xe(t):Array.isArray(t)?t.map(Ze):Ge[t]:void 0}const Je=x(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));class Qe extends qt{constructor(t){super(t);const{name:e,motionValue:n,keyframes:s}=this.options;this.resolver=new Ut(s,(t,e)=>this.onKeyframesResolved(t,e),e,n),this.resolver.scheduleResolve()}initPlayback(t,e){var n;let{duration:s=300,times:r,ease:i,type:o,motionValue:a,name:l}=this.options;if(!(null===(n=a.owner)||void 0===n?void 0:n.current))return!1;if("spring"===(u=this.options).type||!qe(u.ease)){const{onComplete:e,onUpdate:n,motionValue:a,...l}=this.options,u=function(t,e){const n=new He({...e,keyframes:t,repeat:0,delay:0,isGenerator:!0});let s={done:!1,value:t[0]};const r=[];let i=0;for(;!s.done&&i<2e4;)s=n.sample(i),r.push(s.value),i+=10;return{times:void 0,keyframes:r,duration:i-10,ease:"linear"}}(t,l);1===(t=u.keyframes).length&&(t[1]=t[0]),s=u.duration,r=u.times,i=u.ease,o="keyframes"}var u;const c=function(t,e,n,{delay:s=0,duration:r=300,repeat:i=0,repeatType:o="loop",ease:a,times:l}={}){const u={[e]:n};l&&(u.offset=l);const c=_e(a);return Array.isArray(c)&&(u.easing=c),t.animate(u,{delay:s,duration:r,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:i+1,direction:"reverse"===o?"alternate":"normal"})}(a.owner.current,l,t,{...this.options,duration:s,times:r,ease:i});return c.startTime=p.now(),this.pendingTimeline?(c.timeline=this.pendingTimeline,this.pendingTimeline=void 0):c.onfinish=()=>{const{onComplete:n}=this.options;a.set(B(t,this.options,e)),n&&n(),this.cancel(),this.resolveFinishedPromise()},{animation:c,duration:s,times:r,type:o,ease:i,keyframes:t}}get duration(){const{resolved:t}=this;if(!t)return 0;const{duration:e}=t;return k(e)}get time(){const{resolved:t}=this;if(!t)return 0;const{animation:e}=t;return k(e.currentTime||0)}set time(t){const{resolved:e}=this;if(!e)return;const{animation:n}=e;n.currentTime=M(t)}get speed(){const{resolved:t}=this;if(!t)return 1;const{animation:e}=t;return e.playbackRate}set speed(t){const{resolved:e}=this;if(!e)return;const{animation:n}=e;n.playbackRate=t}get state(){const{resolved:t}=this;if(!t)return"idle";const{animation:e}=t;return e.playState}attachTimeline(t){if(this._resolved){const{resolved:n}=this;if(!n)return e;const{animation:s}=n;s.timeline=t,s.onfinish=null}else this.pendingTimeline=t;return e}play(){if(this.isStopped)return;const{resolved:t}=this;if(!t)return;const{animation:e}=t;"finished"===e.playState&&this.updateFinishedPromise(),e.play()}pause(){const{resolved:t}=this;if(!t)return;const{animation:e}=t;e.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,"idle"===this.state)return;const{resolved:t}=this;if(!t)return;const{animation:e,keyframes:n,duration:s,type:r,ease:i,times:o}=t;if("idle"===e.playState||"finished"===e.playState)return;if(this.time){const{motionValue:t,onUpdate:e,onComplete:a,...l}=this.options,u=new He({...l,keyframes:n,duration:s,type:r,ease:i,times:o,isGenerator:!0}),c=M(this.time);t.setWithVelocity(u.sample(c-10).value,u.sample(c).value,10)}const{onStop:a}=this.options;a&&a(),this.cancel()}complete(){const{resolved:t}=this;t&&t.animation.finish()}cancel(){const{resolved:t}=this;t&&t.animation.cancel()}static supports(t){const{motionValue:e,name:n,repeatDelay:s,repeatType:r,damping:i,type:o}=t;return Je()&&n&&Ue.has(n)&&e&&e.owner&&e.owner.current instanceof HTMLElement&&!e.owner.getProps().onUpdate&&!s&&"mirror"!==r&&0!==i&&"inertia"!==o}}const tn=(t,e,n,s={},i,o,a)=>l=>{const u=O(s,t)||{},c=u.delay||s.delay||0;let{elapsed:h=0}=s;h-=M(c);let d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:e.getVelocity(),...u,delay:-h,onUpdate:t=>{e.set(t),u.onUpdate&&u.onUpdate(t)},onComplete:()=>{l(),u.onComplete&&u.onComplete(),a&&a()},onStop:a,name:t,motionValue:e,element:o?void 0:i};(function({when:t,delay:e,delayChildren:n,staggerChildren:s,staggerDirection:r,repeat:i,repeatType:o,repeatDelay:a,from:l,elapsed:u,...c}){return!!Object.keys(c).length})(u)||(d={...d,...E(t,d)}),d.duration&&(d.duration=M(d.duration)),d.repeatDelay&&(d.repeatDelay=M(d.repeatDelay)),void 0!==d.from&&(d.keyframes[0]=d.from);let p=!1;if((!1===d.type||0===d.duration&&!d.repeatDelay)&&(d.duration=0,0===d.delay&&(p=!0)),p&&!o&&void 0!==e.get()){const t=B(d.keyframes,u);if(void 0!==t)return r.update(()=>{d.onUpdate(t),d.onComplete()}),new V([])}return!o&&Qe.supports(d)?new Qe(d):new He(d)},en=t=>(t=>Array.isArray(t))(t)?t[t.length-1]||0:t;function nn(t){const e=[{},{}];return null==t||t.values.forEach((t,n)=>{e[0][n]=t.get(),e[1][n]=t.getVelocity()}),e}function sn(t,e,n,s){if("function"==typeof e){const[r,i]=nn(s);e=e(void 0!==n?n:t.custom,r,i)}if("string"==typeof e&&(e=t.variants&&t.variants[e]),"function"==typeof e){const[r,i]=nn(s);e=e(void 0!==n?n:t.custom,r,i)}return e}function rn(t,e,n){t.hasValue(e)?t.getValue(e).set(n):t.addValue(e,m(n))}function on(t,e){const n=function(t,e,n){const s=t.getProps();return sn(s,e,void 0!==n?n:s.custom,t)}(t,e);let{transitionEnd:s={},transition:r={},...i}=n||{};i={...i,...s};for(const e in i){rn(t,e,en(i[e]))}}const an=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),ln="data-"+an("framerAppearId");function un(t){return t.getProps()[ln]}class cn extends f{constructor(){super(...arguments),this.output=[],this.counts=new Map}add(t){const e=function(t){return A.has(t)?"transform":Ue.has(t)?an(t):void 0}(t);if(!e)return;const n=this.counts.get(e)||0;this.counts.set(e,n+1),0===n&&(this.output.push(e),this.update());let s=!1;return()=>{if(s)return;s=!0;const t=this.counts.get(e)-1;this.counts.set(e,t),0===t&&(l(this.output,e),this.update())}}update(){this.set(this.output.length?this.output.join(", "):"auto")}}const hn=t=>Boolean(t&&t.getVelocity);function dn(t,e){var n;if(!t.applyWillChange)return;let s=t.getValue("willChange");return s||(null===(n=t.props.style)||void 0===n?void 0:n.willChange)||(s=new cn("auto"),t.addValue("willChange",s)),r=s,Boolean(hn(r)&&r.add)?s.add(e):void 0;var r}function pn({protectedKeys:t,needsAnimating:e},n){const s=t.hasOwnProperty(n)&&!0!==e[n];return e[n]=!1,s}function fn(t,e,{delay:n=0,transitionOverride:s,type:i}={}){var o;let{transition:a=t.getDefaultTransition(),transitionEnd:l,...u}=e;s&&(a=s);const c=[],h=i&&t.animationState&&t.animationState.getState()[i];for(const e in u){const s=t.getValue(e,null!==(o=t.latestValues[e])&&void 0!==o?o:null),i=u[e];if(void 0===i||h&&pn(h,e))continue;const l={delay:n,elapsed:0,...O(a||{},e)};let d=!1;if(window.HandoffAppearAnimations){const n=un(t);if(n){const t=window.HandoffAppearAnimations(n,e,s,r);null!==t&&(l.elapsed=t,d=!0)}}s.start(tn(e,s,i,t.shouldReduceMotion&&A.has(e)?{type:!1}:l,t,d,dn(t,e)));const p=s.animation;p&&c.push(p)}return l&&Promise.all(c).then(()=>{r.update(()=>{l&&on(t,l)})}),c}const mn={};function gn(t,{layout:e,layoutId:n}){return A.has(t)||t.startsWith("origin")||(e||void 0!==n)&&(!!mn[t]||"opacity"===t)}function vn(t,e,n){var s;const{style:r}=t,i={};for(const o in r)(hn(r[o])||e.style&&hn(e.style[o])||gn(o,t)||void 0!==(null===(s=null==n?void 0:n.getValue(o))||void 0===s?void 0:s.liveStyle))&&(i[o]=r[o]);return n&&r&&"string"==typeof r.willChange&&(n.applyWillChange=!1),i}const yn="undefined"!=typeof window,wn={current:null},bn={current:!1};function xn(t){return"string"==typeof t||Array.isArray(t)}const Sn=["initial","animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"];function Vn(t){return null!==(e=t.animate)&&"object"==typeof e&&"function"==typeof e.start||Sn.some(e=>xn(t[e]));var e}const Tn={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"]},An={};for(const t in Tn)An[t]={isEnabled:e=>Tn[t].some(t=>!!e[t])};const Mn=[...ft,Pt,Bt],kn=()=>({x:{min:0,max:0},y:{min:0,max:0}}),Pn=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],Cn=Sn.length;class Fn extends class{scrapeMotionValuesFromProps(t,e,n){return{}}constructor({parent:t,props:e,presenceContext:n,reducedMotionConfig:s,blockInitialAnimation:i,visualState:o},a={}){this.applyWillChange=!1,this.resolveKeyframes=(t,e,n,s)=>new this.KeyframeResolver(t,e,n,s,this),this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=xt,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.isRenderScheduled=!1,this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.isRenderScheduled=!1,this.scheduleRender=()=>{this.isRenderScheduled||(this.isRenderScheduled=!0,r.render(this.render,!1,!0))};const{latestValues:l,renderState:u}=o;this.latestValues=l,this.baseTarget={...l},this.initialValues=e.initial?{...l}:{},this.renderState=u,this.parent=t,this.props=e,this.presenceContext=n,this.depth=t?t.depth+1:0,this.reducedMotionConfig=s,this.options=a,this.blockInitialAnimation=Boolean(i),this.isControllingVariants=Vn(e),this.isVariantNode=function(t){return Boolean(Vn(t)||t.variants)}(e),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(t&&t.current);const{willChange:c,...h}=this.scrapeMotionValuesFromProps(e,{},this);for(const t in h){const e=h[t];void 0!==l[t]&&hn(e)&&e.set(l[t],!1)}}mount(t){this.current=t,w.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)),bn.current||function(){if(bn.current=!0,yn)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>wn.current=t.matches;t.addListener(e),e()}else wn.current=!1}(),this.shouldReduceMotion="never"!==this.reducedMotionConfig&&("always"===this.reducedMotionConfig||wn.current),this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){w.delete(this.current),this.projection&&this.projection.unmount(),i(this.notifyUpdate),i(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(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}bindToMotionValue(t,e){const n=A.has(t),s=e.on("change",e=>{this.latestValues[t]=e,this.props.onUpdate&&r.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0)}),i=e.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{s(),i(),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 An){const e=An[t];if(!e)continue;const{isEnabled:n,Feature:s}=e;if(!this.features[t]&&s&&n(this.props)&&(this.features[t]=new s(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<Pn.length;e++){const n=Pn[e];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);const s=t["on"+n];s&&(this.propEventSubscriptions[n]=this.on(n,s))}this.prevMotionValues=function(t,e,n){for(const s in e){const r=e[s],i=n[s];if(hn(r))t.addValue(s,r);else if(hn(i))t.addValue(s,m(r,{owner:t}));else if(i!==r)if(t.hasValue(s)){const e=t.getValue(s);!0===e.liveStyle?e.jump(r):e.hasAnimated||e.set(r)}else{const e=t.getStaticValue(s);t.addValue(s,m(void 0!==e?e:r,{owner:t}))}}for(const s in n)void 0===e[s]&&t.removeValue(s);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}getVariantContext(t=!1){if(t)return this.parent?this.parent.getVariantContext():void 0;if(!this.isControllingVariants){const t=this.parent&&this.parent.getVariantContext()||{};return void 0!==this.props.initial&&(t.initial=this.props.initial),t}const e={};for(let t=0;t<Cn;t++){const n=Sn[t],s=this.props[n];(xn(s)||!1===s)&&(e[n]=s)}return e}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=m(null===e?void 0:e,{owner:this}),this.addValue(t,n)),n}readValue(t,e){var n;let s=void 0===this.latestValues[t]&&this.current?null!==(n=this.getBaseTargetFromProps(this.props,t))&&void 0!==n?n:this.readValueFromInstance(this.current,t,this.options):this.latestValues[t];var r;return null!=s&&("string"==typeof s&&(W(s)||I(s))?s=parseFloat(s):(r=s,!Mn.find(pt(r))&&Bt.test(e)&&(s=$t(t,e))),this.setBaseTarget(t,hn(s)?s.get():s)),hn(s)?s.get():s}setBaseTarget(t,e){this.baseTarget[t]=e}getBaseTarget(t){var e;const{initial:n}=this.props;let s;if("string"==typeof n||"object"==typeof n){const r=sn(this.props,n,null===(e=this.presenceContext)||void 0===e?void 0:e.custom);r&&(s=r[t])}if(n&&void 0!==s)return s;const r=this.getBaseTargetFromProps(this.props,t);return void 0===r||hn(r)?void 0!==this.initialValues[t]&&void 0===s?void 0:this.baseTarget[t]:r}on(t,e){return this.events[t]||(this.events[t]=new u),this.events[t].add(e)}notify(t,...e){this.events[t]&&this.events[t].notify(...e)}}{constructor(){super(...arguments),this.KeyframeResolver=Ut}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]}}const En={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},On=T.length;const Rn=(t,e)=>e&&"number"==typeof t?e.transform(t):t;function Bn(t,e,n){const{style:s,vars:r,transform:i,transformOrigin:o}=t;let a=!1,l=!1,u=!0;for(const t in e){const n=e[t];if(L(t)){r[t]=n;continue}const c=Nt[t],h=Rn(n,c);if(A.has(t)){if(a=!0,i[t]=h,!u)continue;n!==(c.default||0)&&(u=!1)}else t.startsWith("origin")?(l=!0,o[t]=h):s[t]=h}if(e.transform||(a||n?s.transform=function(t,e,n){let s="";for(let e=0;e<On;e++){const n=T[e];if(void 0!==t[n]){s+=`${En[n]||n}(${t[n]}) `}}return s=s.trim(),n?s=n(t,e?"":s):e&&(s="none"),s}(t.transform,u,n):s.transform&&(s.transform="none")),l){const{originX:t="50%",originY:e="50%",originZ:n=0}=o;s.transformOrigin=`${t} ${e} ${n}`}}function In(t,e,n){return"string"==typeof t?t:nt.transform(e+n*t)}const Wn={offset:"stroke-dashoffset",array:"stroke-dasharray"},Dn={offset:"strokeDashoffset",array:"strokeDasharray"};function Ln(t,{attrX:e,attrY:n,attrScale:s,originX:r,originY:i,pathLength:o,pathSpacing:a=1,pathOffset:l=0,...u},c,h){if(Bn(t,u,h),c)return void(t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox));t.attrs=t.style,t.style={};const{attrs:d,style:p,dimensions:f}=t;d.transform&&(f&&(p.transform=d.transform),delete d.transform),f&&(void 0!==r||void 0!==i||p.transform)&&(p.transformOrigin=function(t,e,n){return`${In(e,t.x,t.width)} ${In(n,t.y,t.height)}`}(f,void 0!==r?r:.5,void 0!==i?i:.5)),void 0!==e&&(d.x=e),void 0!==n&&(d.y=n),void 0!==s&&(d.scale=s),void 0!==o&&function(t,e,n=1,s=0,r=!0){t.pathLength=1;const i=r?Wn:Dn;t[i.offset]=nt.transform(-s);const o=nt.transform(e),a=nt.transform(n);t[i.array]=`${o} ${a}`}(d,o,a,l,!1)}const Kn=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"]);function Nn(t,{style:e,vars:n},s,r){Object.assign(t.style,e,r&&r.getProjectionStyles(s));for(const e in n)t.style.setProperty(e,n[e])}class zn extends Fn{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=kn}getBaseTargetFromProps(t,e){return t[e]}readValueFromInstance(t,e){if(A.has(e)){const t=jt(e);return t&&t.default||0}return e=Kn.has(e)?e:an(e),t.getAttribute(e)}scrapeMotionValuesFromProps(t,e,n){return function(t,e,n){const s=vn(t,e,n);for(const n in t)if(hn(t[n])||hn(e[n])){s[-1!==T.indexOf(n)?"attr"+n.charAt(0).toUpperCase()+n.substring(1):n]=t[n]}return s}(t,e,n)}build(t,e,n){Ln(t,e,this.isSVGTag,n.transformTemplate)}renderInstance(t,e,n,s){!function(t,e,n,s){Nn(t,e,void 0,s);for(const n in e.attrs)t.setAttribute(Kn.has(n)?n:an(n),e.attrs[n])}(t,e,0,s)}mount(t){var e;this.isSVGTag="string"==typeof(e=t.tagName)&&"svg"===e.toLowerCase(),super.mount(t)}}class jn extends Fn{constructor(){super(...arguments),this.type="html",this.applyWillChange=!0,this.renderInstance=Nn}readValueFromInstance(t,e){if(A.has(e)){const t=jt(e);return t&&t.default||0}{const s=(n=t,window.getComputedStyle(n)),r=(L(e)?s.getPropertyValue(e):s[e])||0;return"string"==typeof r?r.trim():r}var n}measureInstanceViewportBox(t,{transformPagePoint:e}){return function(t,e){return function({top:t,left:e,right:n,bottom:s}){return{x:{min:e,max:n},y:{min:t,max:s}}}(function(t,e){if(!e)return t;const n=e({x:t.left,y:t.top}),s=e({x:t.right,y:t.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}(t.getBoundingClientRect(),e))}(t,e)}build(t,e,n){Bn(t,e,n.transformTemplate)}scrapeMotionValuesFromProps(t,e,n){return vn(t,e,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;hn(t)&&(this.childSubscription=t.on("change",t=>{this.current&&(this.current.textContent=""+t)}))}}function $n(t){const e={presenceContext:null,props:{},visualState:{renderState:{transform:{},transformOrigin:{},style:{},vars:{},attrs:{}},latestValues:{}}},n=function(t){return t instanceof SVGElement&&"svg"!==t.tagName}(t)?new zn(e):new jn(e);n.mount(t),w.set(t,n)}function Hn(t,e,n){const s=hn(t)?t:m(t);return s.start(tn("",s,e,n)),s.animation}function Un(t,e=100){const n=te({keyframes:[0,e],...t}),s=Math.min(Ne(n),2e4);return{type:"keyframes",ease:t=>n.next(s*t).value/e,duration:k(s)}}function Yn(t,e,n,s){var r;return"number"==typeof e?e:e.startsWith("-")||e.startsWith("+")?Math.max(0,t+parseFloat(e)):"<"===e?n:null!==(r=s.get(e))&&void 0!==r?r:t}const qn=(t,e,n)=>{const s=e-t;return((n-t)%s+s)%s+t};function Xn(t,e){return ae(t)?t[qn(0,t.length,e)]:t}function Gn(t,e,n,s,r,i){!function(t,e,n){for(let s=0;s<t.length;s++){const r=t[s];r.at>e&&r.at<n&&(l(t,r),s--)}}(t,r,i);for(let o=0;o<e.length;o++)t.push({value:e[o],at:Se(r,i,s[o]),easing:Xn(n,o)})}function Zn(t,e){return t.at===e.at?null===t.value?1:null===e.value?-1:0:t.at-e.at}function _n(t,e){return!e.has(t)&&e.set(t,{}),e.get(t)}function Jn(t,e){return e[t]||(e[t]=[]),e[t]}function Qn(t){return Array.isArray(t)?t:[t]}function ts(t,e){return t[e]?{...t,...t[e]}:{...t}}const es=t=>"number"==typeof t,ns=t=>t.every(es);function ss(t,e,n,s){const r=y(t,s),i=r.length,o=[];for(let t=0;t<i;t++){const s=r[t];w.has(s)||$n(s);const a=w.get(s),l={...n};"function"==typeof l.delay&&(l.delay=l.delay(t,i)),o.push(...fn(a,{...e,transition:l},{}))}return new V(o)}function rs(t,e,n){const s=[];return function(t,{defaultTransition:e={},...n}={},s){const r=e.duration||.3,i=new Map,o=new Map,a={},l=new Map;let u=0,c=0,h=0;for(let n=0;n<t.length;n++){const i=t[n];if("string"==typeof i){l.set(i,c);continue}if(!Array.isArray(i)){l.set(i.name,Yn(c,i.at,u,l));continue}let[d,p,f={}]=i;void 0!==f.at&&(c=Yn(c,f.at,u,l));let m=0;const g=(t,n,s,i=0,o=0)=>{const a=Qn(t),{delay:l=0,times:u=Le(a),type:d="keyframes",...p}=n;let{ease:f=e.ease||"easeOut",duration:g}=n;const v="function"==typeof l?l(i,o):l,y=a.length;if(y<=2&&"spring"===d){let t=100;if(2===y&&ns(a)){const e=a[1]-a[0];t=Math.abs(e)}const e={...p};void 0!==g&&(e.duration=M(g));const n=Un(e,t);f=n.ease,g=n.duration}null!=g||(g=r);const w=c+v,b=w+g;1===u.length&&0===u[0]&&(u[1]=1);const x=u.length-a.length;x>0&&De(u,x),1===a.length&&a.unshift(null),Gn(s,a,f,u,w,b),m=Math.max(v+g,m),h=Math.max(b,h)};if(hn(d)){g(p,f,Jn("default",_n(d,o)))}else{const t=y(d,s,a),e=t.length;for(let n=0;n<e;n++){p=p,f=f;const s=_n(t[n],o);for(const t in p)g(p[t],ts(f,t),Jn(t,s),n,e)}}u=c,c+=m}return o.forEach((t,s)=>{for(const r in t){const o=t[r];o.sort(Zn);const a=[],l=[],u=[];for(let t=0;t<o.length;t++){const{at:e,value:n,easing:s}=o[t];a.push(n),l.push(xe(0,h,e)),u.push(s||"easeOut")}0!==l[0]&&(l.unshift(0),a.unshift(a[0]),u.unshift("easeInOut")),1!==l[l.length-1]&&(l.push(1),a.push(null)),i.has(s)||i.set(s,{keyframes:{},transition:{}});const c=i.get(s);c.keyframes[r]=a,c.transition[r]={...e,duration:h,ease:u,times:l,...n}}}),i}(t,e,n).forEach(({keyframes:t,transition:e},n)=>{let r;r=hn(n)?Hn(n,t.default,e.default):ss(n,t,e),s.push(r)}),new V(s)}const is=t=>function(e,n,s){let r;var i;return i=e,r=Array.isArray(i)&&Array.isArray(i[0])?rs(e,n,t):function(t){return"object"==typeof t&&!Array.isArray(t)}(n)?ss(e,n,s,t):Hn(e,n,s),t&&t.animations.push(r),r},os=is(),as=new WeakMap;let ls;function us({target:t,contentRect:e,borderBoxSize:n}){var s;null===(s=as.get(t))||void 0===s||s.forEach(s=>{s({target:t,contentSize:e,get size(){return function(t,e){if(e){const{inlineSize:t,blockSize:n}=e[0];return{width:t,height:n}}return t instanceof SVGElement&&"getBBox"in t?t.getBBox():{width:t.offsetWidth,height:t.offsetHeight}}(t,n)}})})}function cs(t){t.forEach(us)}function hs(t,e){ls||"undefined"!=typeof ResizeObserver&&(ls=new ResizeObserver(cs));const n=y(t);return n.forEach(t=>{let n=as.get(t);n||(n=new Set,as.set(t,n)),n.add(e),null==ls||ls.observe(t)}),()=>{n.forEach(t=>{const n=as.get(t);null==n||n.delete(e),(null==n?void 0:n.size)||null==ls||ls.unobserve(t)})}}const ds=new Set;let ps;function fs(t){return ds.add(t),ps||(ps=()=>{const t={width:window.innerWidth,height:window.innerHeight},e={target:window,size:t,contentSize:t};ds.forEach(t=>t(e))},window.addEventListener("resize",ps)),()=>{ds.delete(t),!ds.size&&ps&&(ps=void 0)}}const ms={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function gs(t,e,n,s){const r=n[e],{length:i,position:o}=ms[e],a=r.current,l=n.time;r.current=t["scroll"+o],r.scrollLength=t["scroll"+i]-t["client"+i],r.offset.length=0,r.offset[0]=0,r.offset[1]=r.scrollLength,r.progress=xe(0,r.scrollLength,r.current);const u=s-l;r.velocity=u>50?0:c(r.current-a,u)}const vs={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},ys={start:0,center:.5,end:1};function ws(t,e,n=0){let s=0;if(t in ys&&(t=ys[t]),"string"==typeof t){const e=parseFloat(t);t.endsWith("px")?s=e:t.endsWith("%")?t=e/100:t.endsWith("vw")?s=e/100*document.documentElement.clientWidth:t.endsWith("vh")?s=e/100*document.documentElement.clientHeight:t=e}return"number"==typeof t&&(s=e*t),n+s}const bs=[0,0];function xs(t,e,n,s){let r=Array.isArray(t)?t:bs,i=0,o=0;return"number"==typeof t?r=[t,t]:"string"==typeof t&&(r=(t=t.trim()).includes(" ")?t.split(" "):[t,ys[t]?t:"0"]),i=ws(r[0],n,s),o=ws(r[1],e),i-o}const Ss={x:0,y:0};function Vs(t,e,n){const{offset:s=vs.All}=n,{target:r=t,axis:i="y"}=n,o="y"===i?"height":"width",a=r!==t?function(t,e){const n={x:0,y:0};let s=t;for(;s&&s!==e;)if(s instanceof HTMLElement)n.x+=s.offsetLeft,n.y+=s.offsetTop,s=s.offsetParent;else if("svg"===s.tagName){const t=s.getBoundingClientRect();s=s.parentElement;const e=s.getBoundingClientRect();n.x+=t.left-e.left,n.y+=t.top-e.top}else{if(!(s instanceof SVGGraphicsElement))break;{const{x:t,y:e}=s.getBBox();n.x+=t,n.y+=e;let r=null,i=s.parentNode;for(;!r;)"svg"===i.tagName&&(r=i),i=s.parentNode;s=r}}return n}(r,t):Ss,l=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),u={width:t.clientWidth,height:t.clientHeight};e[i].offset.length=0;let c=!e[i].interpolate;const h=s.length;for(let t=0;t<h;t++){const n=xs(s[t],u[o],l[o],a[i]);c||n===e[i].interpolatorOffsets[t]||(c=!0),e[i].offset[t]=n}c&&(e[i].interpolate=We(e[i].offset,Le(s)),e[i].interpolatorOffsets=[...e[i].offset]),e[i].progress=e[i].interpolate(e[i].current)}function Ts(t,e,n,s={}){return{measure:()=>function(t,e=t,n){if(n.x.targetOffset=0,n.y.targetOffset=0,e!==t){let s=e;for(;s&&s!==t;)n.x.targetOffset+=s.offsetLeft,n.y.targetOffset+=s.offsetTop,s=s.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,s.target,n),update:e=>{!function(t,e,n){gs(t,"x",e,n),gs(t,"y",e,n),e.time=n}(t,n,e),(s.offset||s.target)&&Vs(t,n,s)},notify:()=>e(n)}}const As=new WeakMap,Ms=new WeakMap,ks=new WeakMap,Ps=t=>t===document.documentElement?window:t;function Cs(t,{container:e=document.documentElement,...n}={}){let s=ks.get(e);s||(s=new Set,ks.set(e,s));const a=Ts(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(s.add(a),!As.has(e)){const t=()=>{for(const t of s)t.measure()},n=()=>{for(const t of s)t.update(o.timestamp)},i=()=>{for(const t of s)t.notify()},a=()=>{r.read(t,!1,!0),r.read(n,!1,!0),r.update(i,!1,!0)};As.set(e,a);const c=Ps(e);window.addEventListener("resize",a,{passive:!0}),e!==document.documentElement&&Ms.set(e,(u=a,"function"==typeof(l=e)?fs(l):hs(l,u))),c.addEventListener("scroll",a,{passive:!0})}var l,u;const c=As.get(e);return r.read(c,!1,!0),()=>{var t;i(c);const n=ks.get(e);if(!n)return;if(n.delete(a),n.size)return;const s=As.get(e);As.delete(e),s&&(Ps(e).removeEventListener("scroll",s),null===(t=Ms.get(e))||void 0===t||t(),window.removeEventListener("resize",s))}}const Fs=new Map;function Es({source:t=document.documentElement,axis:e="y"}={}){Fs.has(t)||Fs.set(t,{});const n=Fs.get(t);return n[e]||(n[e]=S()?new ScrollTimeline({source:t,axis:e}):function({source:t,axis:e="y"}){const n={value:0},s=Cs(t=>{n.value=100*t[e].progress},{container:t,axis:e});return{currentTime:n,cancel:s}}({source:t,axis:e})),n[e]}const Os={some:0,all:1};const Rs=(t,e)=>Math.abs(t-e);const Bs=r,Is=s.reduce((t,e)=>(t[e]=t=>i(t),t),{});t.MotionValue=f,t.animate=os,t.anticipate=ge,t.backIn=fe,t.backInOut=me,t.backOut=pe,t.cancelFrame=i,t.cancelSync=Is,t.circIn=ce,t.circInOut=de,t.circOut=he,t.clamp=H,t.createScopedAnimate=is,t.cubicBezier=se,t.delay=function(t,e){const n=p.now(),s=({timestamp:r})=>{const o=r-n;o>=e&&(i(s),t(o-e))};return r.read(s,!0),()=>i(s)},t.distance=Rs,t.distance2D=function(t,e){const n=Rs(t.x,e.x),s=Rs(t.y,e.y);return Math.sqrt(n**2+s**2)},t.easeIn=re,t.easeInOut=oe,t.easeOut=ie,t.frame=r,t.frameData=o,t.inView=function(t,e,{root:n,margin:s,amount:r="some"}={}){const i=y(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);"function"==typeof n?o.set(t.target,n):a.unobserve(t.target)}else n&&(n(t),o.delete(t.target))})},{root:n,rootMargin:s,threshold:"number"==typeof r?r:Os[r]});return i.forEach(t=>a.observe(t)),()=>a.disconnect()},t.interpolate=We,t.invariant=v,t.mirrorEasing=le,t.mix=Ie,t.motionValue=m,t.pipe=be,t.progress=xe,t.reverseEasing=ue,t.scroll=function(t,e){const n=Es(e);return"function"==typeof t?b(t,n):t.attachTimeline(n)},t.scrollInfo=Cs,t.stagger=function(t=.1,{startDelay:e=0,from:n=0,ease:s}={}){return(r,i)=>{const o="number"==typeof n?n:function(t,e){if("first"===t)return 0;{const n=e-1;return"last"===t?n:n/2}}(n,i),a=Math.abs(o-r);let l=t*a;if(s){const e=i*t;l=ye(s)(l/e)*e}return e+l}},t.steps=a,t.sync=Bs,t.transform=function(...t){const e=!Array.isArray(t[0]),n=e?0:-1,s=t[0+n],r=t[1+n],i=t[2+n],o=t[3+n],a=We(r,i,{mixer:(l=i[0],(t=>t&&"object"==typeof t&&t.mix)(l)?l.mix:void 0),...o});var l;return e?a(s):a},t.warning=g,t.wrap=qn}));
@@ -542,11 +542,13 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
542
542
  needsMeasurement = false;
543
543
  }
544
544
  if (needsMeasurement) {
545
+ const isRoot = checkIsScrollRoot(this.instance);
545
546
  this.scroll = {
546
547
  animationId: this.root.animationId,
547
548
  phase,
548
- isRoot: checkIsScrollRoot(this.instance),
549
+ isRoot,
549
550
  offset: measureScroll(this.instance),
551
+ wasRoot: this.scroll ? this.scroll.isRoot : isRoot,
550
552
  };
551
553
  }
552
554
  }
@@ -592,21 +594,29 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
592
594
  };
593
595
  }
594
596
  measurePageBox() {
597
+ var _a;
595
598
  const { visualElement } = this.options;
596
599
  if (!visualElement)
597
600
  return createBox();
598
601
  const box = visualElement.measureViewportBox();
599
- // Remove viewport scroll to give page-relative coordinates
600
- const { scroll } = this.root;
601
- if (scroll) {
602
- translateAxis(box.x, scroll.offset.x);
603
- translateAxis(box.y, scroll.offset.y);
602
+ const wasInScrollRoot = ((_a = this.scroll) === null || _a === void 0 ? void 0 : _a.wasRoot) || this.path.some(checkNodeWasScrollRoot);
603
+ if (!wasInScrollRoot) {
604
+ // Remove viewport scroll to give page-relative coordinates
605
+ const { scroll } = this.root;
606
+ if (scroll) {
607
+ translateAxis(box.x, scroll.offset.x);
608
+ translateAxis(box.y, scroll.offset.y);
609
+ }
604
610
  }
605
611
  return box;
606
612
  }
607
613
  removeElementScroll(box) {
614
+ var _a;
608
615
  const boxWithoutScroll = createBox();
609
616
  copyBoxInto(boxWithoutScroll, box);
617
+ if ((_a = this.scroll) === null || _a === void 0 ? void 0 : _a.wasRoot) {
618
+ return boxWithoutScroll;
619
+ }
610
620
  /**
611
621
  * Performance TODO: Keep a cumulative scroll offset down the tree
612
622
  * rather than loop back up the path.
@@ -619,17 +629,8 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
619
629
  * If this is a new scroll root, we want to remove all previous scrolls
620
630
  * from the viewport box.
621
631
  */
622
- if (scroll.isRoot) {
632
+ if (scroll.wasRoot) {
623
633
  copyBoxInto(boxWithoutScroll, box);
624
- const { scroll: rootScroll } = this.root;
625
- /**
626
- * Undo the application of page scroll that was originally added
627
- * to the measured bounding box.
628
- */
629
- if (rootScroll) {
630
- translateAxis(boxWithoutScroll.x, -rootScroll.offset.x);
631
- translateAxis(boxWithoutScroll.y, -rootScroll.offset.y);
632
- }
633
634
  }
634
635
  translateAxis(boxWithoutScroll.x, scroll.offset.x);
635
636
  translateAxis(boxWithoutScroll.y, scroll.offset.y);
@@ -1576,5 +1577,9 @@ function shouldAnimatePositionOnly(animationType, snapshot, layout) {
1576
1577
  (animationType === "preserve-aspect" &&
1577
1578
  !isNear(aspectRatio(snapshot), aspectRatio(layout), 0.2)));
1578
1579
  }
1580
+ function checkNodeWasScrollRoot(node) {
1581
+ var _a;
1582
+ return node !== node.root && ((_a = node.scroll) === null || _a === void 0 ? void 0 : _a.wasRoot);
1583
+ }
1579
1584
 
1580
1585
  export { cleanDirtyNodes, createProjectionNode, mixAxis, mixAxisDelta, mixBox, propagateDirtyNodes };
@@ -153,7 +153,7 @@ class VisualElement {
153
153
  * initial values for this component.
154
154
  *
155
155
  * TODO: This is impure and we should look at changing this to run on mount.
156
- * Doing so will break some tests but this isn't neccessarily a breaking change,
156
+ * Doing so will break some tests but this isn't necessarily a breaking change,
157
157
  * more a reflection of the test.
158
158
  */
159
159
  const { willChange, ...initialMotionValues } = this.scrapeMotionValuesFromProps(props, {}, this);
@@ -15,7 +15,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
15
15
  * Loop over all our latest animated values and decide whether to handle them
16
16
  * as a style or CSS variable.
17
17
  *
18
- * Transforms and transform origins are kept seperately for further processing.
18
+ * Transforms and transform origins are kept separately for further processing.
19
19
  */
20
20
  for (const key in latestValues) {
21
21
  const value = latestValues[key];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * We keep these listed seperately as we use the lowercase tag names as part
2
+ * We keep these listed separately as we use the lowercase tag names as part
3
3
  * of the runtime bundle to detect SVG components
4
4
  */
5
5
  const lowercaseSVGElements = [
@@ -17,7 +17,7 @@ function updateMotionValuesFromProps(element, next, prev) {
17
17
  * and warn against mismatches.
18
18
  */
19
19
  if (process.env.NODE_ENV === "development") {
20
- warnOnce(nextValue.version === "11.3.11", `Attempting to mix Framer Motion versions ${nextValue.version} with 11.3.11 may not work as expected.`);
20
+ warnOnce(nextValue.version === "11.3.13", `Attempting to mix Framer Motion versions ${nextValue.version} with 11.3.13 may not work as expected.`);
21
21
  }
22
22
  }
23
23
  else if (isMotionValue(prevValue)) {
@@ -34,7 +34,7 @@ class MotionValue {
34
34
  * This will be replaced by the build step with the latest version number.
35
35
  * When MotionValues are provided to motion components, warn if versions are mixed.
36
36
  */
37
- this.version = "11.3.11";
37
+ this.version = "11.3.13";
38
38
  /**
39
39
  * Tracks whether this value can output a velocity. Currently this is only true
40
40
  * if the value is numerical, but we might be able to widen the scope here and support