motion 12.7.5-alpha.0 → 12.7.5-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/debug.js CHANGED
@@ -11,6 +11,7 @@ const stepsOrder = [
11
11
  "setup", // Compute
12
12
  "read", // Read
13
13
  "resolveKeyframes", // Write/Read/Write/Read
14
+ "preUpdate", // Compute
14
15
  "update", // Compute
15
16
  "preRender", // Compute
16
17
  "render", // Write
@@ -125,7 +126,7 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
125
126
  acc[key] = createRenderStep(flagRunNextFrame, allowKeepAlive ? key : undefined);
126
127
  return acc;
127
128
  }, {});
128
- const { setup, read, resolveKeyframes, update, preRender, render, postRender, } = steps;
129
+ const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps;
129
130
  const processBatch = () => {
130
131
  const timestamp = MotionGlobalConfig.useManualTiming
131
132
  ? state.timestamp
@@ -142,6 +143,7 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
142
143
  setup.process(state);
143
144
  read.process(state);
144
145
  resolveKeyframes.process(state);
146
+ preUpdate.process(state);
145
147
  update.process(state);
146
148
  preRender.process(state);
147
149
  render.process(state);
@@ -230,6 +232,7 @@ function reportStats() {
230
232
  rate: summarise(value.frameloop.rate),
231
233
  read: summarise(value.frameloop.read),
232
234
  resolveKeyframes: summarise(value.frameloop.resolveKeyframes),
235
+ preUpdate: summarise(value.frameloop.preUpdate),
233
236
  update: summarise(value.frameloop.update),
234
237
  preRender: summarise(value.frameloop.preRender),
235
238
  render: summarise(value.frameloop.render),
@@ -268,6 +271,7 @@ function recordStats() {
268
271
  rate: [],
269
272
  read: [],
270
273
  resolveKeyframes: [],
274
+ preUpdate: [],
271
275
  update: [],
272
276
  preRender: [],
273
277
  render: [],
package/dist/cjs/index.js CHANGED
@@ -301,6 +301,7 @@ const stepsOrder = [
301
301
  "setup", // Compute
302
302
  "read", // Read
303
303
  "resolveKeyframes", // Write/Read/Write/Read
304
+ "preUpdate", // Compute
304
305
  "update", // Compute
305
306
  "preRender", // Compute
306
307
  "render", // Write
@@ -415,7 +416,7 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
415
416
  acc[key] = createRenderStep(flagRunNextFrame, allowKeepAlive ? key : undefined);
416
417
  return acc;
417
418
  }, {});
418
- const { setup, read, resolveKeyframes, update, preRender, render, postRender, } = steps;
419
+ const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps;
419
420
  const processBatch = () => {
420
421
  const timestamp = MotionGlobalConfig.useManualTiming
421
422
  ? state.timestamp
@@ -432,6 +433,7 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
432
433
  setup.process(state);
433
434
  read.process(state);
434
435
  resolveKeyframes.process(state);
436
+ preUpdate.process(state);
435
437
  update.process(state);
436
438
  preRender.process(state);
437
439
  render.process(state);
@@ -1270,7 +1272,7 @@ function spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce
1270
1272
  next: (t) => {
1271
1273
  const current = resolveSpring(t);
1272
1274
  if (!isResolvedFromDuration) {
1273
- let currentVelocity = 0.0;
1275
+ let currentVelocity = t === 0 ? initialVelocity : 0.0;
1274
1276
  /**
1275
1277
  * We only need to calculate velocity for under-damped springs
1276
1278
  * as over- and critically-damped springs can't overshoot, so
@@ -1833,7 +1835,6 @@ class JSAnimation extends WithPromise {
1833
1835
  this.startTime = now - this.holdTime;
1834
1836
  }
1835
1837
  else if (this.state === "finished") {
1836
- console.log("JSAnimation updateFinished");
1837
1838
  this.updateFinished();
1838
1839
  this.startTime = now;
1839
1840
  }
@@ -1893,7 +1894,6 @@ class JSAnimation extends WithPromise {
1893
1894
  return this.tick(sampleTime, true);
1894
1895
  }
1895
1896
  attachTimeline(timeline) {
1896
- this.pause();
1897
1897
  if (this.options.allowFlatten) {
1898
1898
  this.options.type = "keyframes";
1899
1899
  this.options.ease = "linear";
@@ -2456,7 +2456,7 @@ class NativeAnimation extends WithPromise {
2456
2456
  this.animation.effect?.updateTiming({ easing: "linear" });
2457
2457
  }
2458
2458
  this.animation.onfinish = null;
2459
- if (supportsScrollTimeline()) {
2459
+ if (timeline && supportsScrollTimeline()) {
2460
2460
  this.animation.timeline = timeline;
2461
2461
  return noop;
2462
2462
  }
@@ -2798,7 +2798,6 @@ class AsyncMotionValueAnimation extends WithPromise {
2798
2798
  this.animation.pause();
2799
2799
  }
2800
2800
  complete() {
2801
- console.log("async animation complete");
2802
2801
  this.animation.complete();
2803
2802
  }
2804
2803
  cancel() {
@@ -3623,7 +3622,7 @@ function observeTimeline(update, timeline) {
3623
3622
  }
3624
3623
  prevProgress = progress;
3625
3624
  };
3626
- frame.update(onFrame, true);
3625
+ frame.preUpdate(onFrame, true);
3627
3626
  return () => cancelFrame(onFrame);
3628
3627
  }
3629
3628
 
@@ -3673,6 +3672,7 @@ function reportStats() {
3673
3672
  rate: summarise(value.frameloop.rate),
3674
3673
  read: summarise(value.frameloop.read),
3675
3674
  resolveKeyframes: summarise(value.frameloop.resolveKeyframes),
3675
+ preUpdate: summarise(value.frameloop.preUpdate),
3676
3676
  update: summarise(value.frameloop.update),
3677
3677
  preRender: summarise(value.frameloop.preRender),
3678
3678
  render: summarise(value.frameloop.render),
@@ -3711,6 +3711,7 @@ function recordStats() {
3711
3711
  rate: [],
3712
3712
  read: [],
3713
3713
  resolveKeyframes: [],
3714
+ preUpdate: [],
3714
3715
  update: [],
3715
3716
  preRender: [],
3716
3717
  render: [],
@@ -3765,7 +3766,7 @@ class MotionValue {
3765
3766
  * This will be replaced by the build step with the latest version number.
3766
3767
  * When MotionValues are provided to motion components, warn if versions are mixed.
3767
3768
  */
3768
- this.version = "12.7.5-alpha.0";
3769
+ this.version = "12.7.5-alpha.2";
3769
3770
  /**
3770
3771
  * Tracks whether this value can output a velocity. Currently this is only true
3771
3772
  * if the value is numerical, but we might be able to widen the scope here and support
@@ -5145,7 +5146,7 @@ function updateMotionValuesFromProps(element, next, prev) {
5145
5146
  * and warn against mismatches.
5146
5147
  */
5147
5148
  if (process.env.NODE_ENV === "development") {
5148
- warnOnce(nextValue.version === "12.7.5-alpha.0", `Attempting to mix Motion versions ${nextValue.version} with 12.7.5-alpha.0 may not work as expected.`);
5149
+ warnOnce(nextValue.version === "12.7.5-alpha.2", `Attempting to mix Motion versions ${nextValue.version} with 12.7.5-alpha.2 may not work as expected.`);
5149
5150
  }
5150
5151
  }
5151
5152
  else if (isMotionValue(prevValue)) {
@@ -6784,7 +6785,7 @@ function scrollInfo(onScroll, { container = document.documentElement, ...options
6784
6785
  const listener = () => {
6785
6786
  frame.read(measureAll, false, true);
6786
6787
  frame.read(updateAll, false, true);
6787
- frame.update(notifyAll, false, true);
6788
+ frame.preUpdate(notifyAll, false, true);
6788
6789
  };
6789
6790
  scrollListeners.set(container, listener);
6790
6791
  const target = getEventTarget(container);
@@ -6830,25 +6831,26 @@ function scrollTimelineFallback(options) {
6830
6831
  }
6831
6832
  function getTimeline({ source, container, ...options }) {
6832
6833
  const { axis } = options;
6833
- // Support legacy source argument. Deprecate later.
6834
6834
  if (source)
6835
6835
  container = source;
6836
- if (!timelineCache.has(container)) {
6837
- timelineCache.set(container, {});
6836
+ const containerCache = timelineCache.get(container) ?? new Map();
6837
+ timelineCache.set(container, containerCache);
6838
+ const targetKey = options.target ?? "self";
6839
+ const targetCache = containerCache.get(targetKey) ?? {};
6840
+ const axisKey = axis + (options.offset ?? []).join(",");
6841
+ if (!targetCache[axisKey]) {
6842
+ targetCache[axisKey] =
6843
+ !options.target && supportsScrollTimeline()
6844
+ ? new ScrollTimeline({ source: container, axis })
6845
+ : scrollTimelineFallback({ container, ...options });
6838
6846
  }
6839
- const elementCache = timelineCache.get(container);
6840
- if (!elementCache[axis]) {
6841
- elementCache[axis] = supportsScrollTimeline()
6842
- ? new ScrollTimeline({ source: container, axis })
6843
- : scrollTimelineFallback({ container, ...options });
6844
- }
6845
- return elementCache[axis];
6847
+ return targetCache[axis];
6846
6848
  }
6847
6849
 
6848
6850
  function attachToAnimation(animation, options) {
6849
6851
  const timeline = getTimeline(options);
6850
6852
  return animation.attachTimeline({
6851
- timeline,
6853
+ timeline: options.target ? undefined : timeline,
6852
6854
  observe: (valueAnimation) => {
6853
6855
  valueAnimation.pause();
6854
6856
  return observeTimeline((progress) => {
package/dist/cjs/mini.js CHANGED
@@ -443,7 +443,7 @@ class NativeAnimation extends WithPromise {
443
443
  this.animation.effect?.updateTiming({ easing: "linear" });
444
444
  }
445
445
  this.animation.onfinish = null;
446
- if (supportsScrollTimeline()) {
446
+ if (timeline && supportsScrollTimeline()) {
447
447
  this.animation.timeline = timeline;
448
448
  return noop;
449
449
  }
@@ -316,6 +316,7 @@ const stepsOrder = [
316
316
  "setup", // Compute
317
317
  "read", // Read
318
318
  "resolveKeyframes", // Write/Read/Write/Read
319
+ "preUpdate", // Compute
319
320
  "update", // Compute
320
321
  "preRender", // Compute
321
322
  "render", // Write
@@ -430,7 +431,7 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
430
431
  acc[key] = createRenderStep(flagRunNextFrame, allowKeepAlive ? key : undefined);
431
432
  return acc;
432
433
  }, {});
433
- const { setup, read, resolveKeyframes, update, preRender, render, postRender, } = steps;
434
+ const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps;
434
435
  const processBatch = () => {
435
436
  const timestamp = MotionGlobalConfig.useManualTiming
436
437
  ? state.timestamp
@@ -447,6 +448,7 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
447
448
  setup.process(state);
448
449
  read.process(state);
449
450
  resolveKeyframes.process(state);
451
+ preUpdate.process(state);
450
452
  update.process(state);
451
453
  preRender.process(state);
452
454
  render.process(state);
@@ -1279,7 +1281,7 @@ function spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce
1279
1281
  next: (t) => {
1280
1282
  const current = resolveSpring(t);
1281
1283
  if (!isResolvedFromDuration) {
1282
- let currentVelocity = 0.0;
1284
+ let currentVelocity = t === 0 ? initialVelocity : 0.0;
1283
1285
  /**
1284
1286
  * We only need to calculate velocity for under-damped springs
1285
1287
  * as over- and critically-damped springs can't overshoot, so
@@ -1841,7 +1843,6 @@ class JSAnimation extends WithPromise {
1841
1843
  this.startTime = now - this.holdTime;
1842
1844
  }
1843
1845
  else if (this.state === "finished") {
1844
- console.log("JSAnimation updateFinished");
1845
1846
  this.updateFinished();
1846
1847
  this.startTime = now;
1847
1848
  }
@@ -1900,7 +1901,6 @@ class JSAnimation extends WithPromise {
1900
1901
  return this.tick(sampleTime, true);
1901
1902
  }
1902
1903
  attachTimeline(timeline) {
1903
- this.pause();
1904
1904
  if (this.options.allowFlatten) {
1905
1905
  this.options.type = "keyframes";
1906
1906
  this.options.ease = "linear";
@@ -2451,7 +2451,7 @@ class NativeAnimation extends WithPromise {
2451
2451
  this.animation.effect?.updateTiming({ easing: "linear" });
2452
2452
  }
2453
2453
  this.animation.onfinish = null;
2454
- if (supportsScrollTimeline()) {
2454
+ if (timeline && supportsScrollTimeline()) {
2455
2455
  this.animation.timeline = timeline;
2456
2456
  return noop;
2457
2457
  }
@@ -2793,7 +2793,6 @@ class AsyncMotionValueAnimation extends WithPromise {
2793
2793
  this.animation.pause();
2794
2794
  }
2795
2795
  complete() {
2796
- console.log("async animation complete");
2797
2796
  this.animation.complete();
2798
2797
  }
2799
2798
  cancel() {
@@ -3451,7 +3450,7 @@ class MotionValue {
3451
3450
  * This will be replaced by the build step with the latest version number.
3452
3451
  * When MotionValues are provided to motion components, warn if versions are mixed.
3453
3452
  */
3454
- this.version = "12.7.5-alpha.0";
3453
+ this.version = "12.7.5-alpha.2";
3455
3454
  /**
3456
3455
  * Tracks whether this value can output a velocity. Currently this is only true
3457
3456
  * if the value is numerical, but we might be able to widen the scope here and support
@@ -9240,7 +9239,7 @@ function updateMotionValuesFromProps(element, next, prev) {
9240
9239
  * and warn against mismatches.
9241
9240
  */
9242
9241
  if (process.env.NODE_ENV === "development") {
9243
- warnOnce(nextValue.version === "12.7.5-alpha.0", `Attempting to mix Motion versions ${nextValue.version} with 12.7.5-alpha.0 may not work as expected.`);
9242
+ warnOnce(nextValue.version === "12.7.5-alpha.2", `Attempting to mix Motion versions ${nextValue.version} with 12.7.5-alpha.2 may not work as expected.`);
9244
9243
  }
9245
9244
  }
9246
9245
  else if (isMotionValue(prevValue)) {
@@ -185,6 +185,7 @@ const stepsOrder = [
185
185
  "setup", // Compute
186
186
  "read", // Read
187
187
  "resolveKeyframes", // Write/Read/Write/Read
188
+ "preUpdate", // Compute
188
189
  "update", // Compute
189
190
  "preRender", // Compute
190
191
  "render", // Write
@@ -299,7 +300,7 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
299
300
  acc[key] = createRenderStep(flagRunNextFrame, allowKeepAlive ? key : undefined);
300
301
  return acc;
301
302
  }, {});
302
- const { setup, read, resolveKeyframes, update, preRender, render, postRender, } = steps;
303
+ const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps;
303
304
  const processBatch = () => {
304
305
  const timestamp = MotionGlobalConfig.useManualTiming
305
306
  ? state.timestamp
@@ -316,6 +317,7 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
316
317
  setup.process(state);
317
318
  read.process(state);
318
319
  resolveKeyframes.process(state);
320
+ preUpdate.process(state);
319
321
  update.process(state);
320
322
  preRender.process(state);
321
323
  render.process(state);
@@ -357,7 +357,7 @@ class NativeAnimation extends WithPromise {
357
357
  this.animation.effect?.updateTiming({ easing: "linear" });
358
358
  }
359
359
  this.animation.onfinish = null;
360
- if (supportsScrollTimeline()) {
360
+ if (timeline && supportsScrollTimeline()) {
361
361
  this.animation.timeline = timeline;
362
362
  return noop;
363
363
  }
@@ -4,7 +4,7 @@ import { observeTimeline } from '../../../../../../motion-dom/dist/es/scroll/obs
4
4
  function attachToAnimation(animation, options) {
5
5
  const timeline = getTimeline(options);
6
6
  return animation.attachTimeline({
7
- timeline,
7
+ timeline: options.target ? undefined : timeline,
8
8
  observe: (valueAnimation) => {
9
9
  valueAnimation.pause();
10
10
  return observeTimeline((progress) => {
@@ -44,7 +44,7 @@ function scrollInfo(onScroll, { container = document.documentElement, ...options
44
44
  const listener = () => {
45
45
  frame.read(measureAll, false, true);
46
46
  frame.read(updateAll, false, true);
47
- frame.update(notifyAll, false, true);
47
+ frame.preUpdate(notifyAll, false, true);
48
48
  };
49
49
  scrollListeners.set(container, listener);
50
50
  const target = getEventTarget(container);
@@ -11,19 +11,20 @@ function scrollTimelineFallback(options) {
11
11
  }
12
12
  function getTimeline({ source, container, ...options }) {
13
13
  const { axis } = options;
14
- // Support legacy source argument. Deprecate later.
15
14
  if (source)
16
15
  container = source;
17
- if (!timelineCache.has(container)) {
18
- timelineCache.set(container, {});
16
+ const containerCache = timelineCache.get(container) ?? new Map();
17
+ timelineCache.set(container, containerCache);
18
+ const targetKey = options.target ?? "self";
19
+ const targetCache = containerCache.get(targetKey) ?? {};
20
+ const axisKey = axis + (options.offset ?? []).join(",");
21
+ if (!targetCache[axisKey]) {
22
+ targetCache[axisKey] =
23
+ !options.target && supportsScrollTimeline()
24
+ ? new ScrollTimeline({ source: container, axis })
25
+ : scrollTimelineFallback({ container, ...options });
19
26
  }
20
- const elementCache = timelineCache.get(container);
21
- if (!elementCache[axis]) {
22
- elementCache[axis] = supportsScrollTimeline()
23
- ? new ScrollTimeline({ source: container, axis })
24
- : scrollTimelineFallback({ container, ...options });
25
- }
26
- return elementCache[axis];
27
+ return targetCache[axis];
27
28
  }
28
29
 
29
30
  export { getTimeline };
@@ -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 === "12.7.5-alpha.0", `Attempting to mix Motion versions ${nextValue.version} with 12.7.5-alpha.0 may not work as expected.`);
20
+ warnOnce(nextValue.version === "12.7.5-alpha.2", `Attempting to mix Motion versions ${nextValue.version} with 12.7.5-alpha.2 may not work as expected.`);
21
21
  }
22
22
  }
23
23
  else if (isMotionValue(prevValue)) {
@@ -168,7 +168,6 @@ class AsyncMotionValueAnimation extends WithPromise {
168
168
  this.animation.pause();
169
169
  }
170
170
  complete() {
171
- console.log("async animation complete");
172
171
  this.animation.complete();
173
172
  }
174
173
  cancel() {
@@ -272,7 +272,6 @@ class JSAnimation extends WithPromise {
272
272
  this.startTime = now - this.holdTime;
273
273
  }
274
274
  else if (this.state === "finished") {
275
- console.log("JSAnimation updateFinished");
276
275
  this.updateFinished();
277
276
  this.startTime = now;
278
277
  }
@@ -332,7 +331,6 @@ class JSAnimation extends WithPromise {
332
331
  return this.tick(sampleTime, true);
333
332
  }
334
333
  attachTimeline(timeline) {
335
- this.pause();
336
334
  if (this.options.allowFlatten) {
337
335
  this.options.type = "keyframes";
338
336
  this.options.ease = "linear";
@@ -144,7 +144,7 @@ class NativeAnimation extends WithPromise {
144
144
  this.animation.effect?.updateTiming({ easing: "linear" });
145
145
  }
146
146
  this.animation.onfinish = null;
147
- if (supportsScrollTimeline()) {
147
+ if (timeline && supportsScrollTimeline()) {
148
148
  this.animation.timeline = timeline;
149
149
  return noop;
150
150
  }
@@ -133,7 +133,7 @@ function spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce
133
133
  next: (t) => {
134
134
  const current = resolveSpring(t);
135
135
  if (!isResolvedFromDuration) {
136
- let currentVelocity = 0.0;
136
+ let currentVelocity = t === 0 ? initialVelocity : 0.0;
137
137
  /**
138
138
  * We only need to calculate velocity for under-damped springs
139
139
  * as over- and critically-damped springs can't overshoot, so
@@ -16,7 +16,7 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
16
16
  acc[key] = createRenderStep(flagRunNextFrame, allowKeepAlive ? key : undefined);
17
17
  return acc;
18
18
  }, {});
19
- const { setup, read, resolveKeyframes, update, preRender, render, postRender, } = steps;
19
+ const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps;
20
20
  const processBatch = () => {
21
21
  const timestamp = MotionGlobalConfig.useManualTiming
22
22
  ? state.timestamp
@@ -33,6 +33,7 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
33
33
  setup.process(state);
34
34
  read.process(state);
35
35
  resolveKeyframes.process(state);
36
+ preUpdate.process(state);
36
37
  update.process(state);
37
38
  preRender.process(state);
38
39
  render.process(state);
@@ -2,6 +2,7 @@ const stepsOrder = [
2
2
  "setup", // Compute
3
3
  "read", // Read
4
4
  "resolveKeyframes", // Write/Read/Write/Read
5
+ "preUpdate", // Compute
5
6
  "update", // Compute
6
7
  "preRender", // Compute
7
8
  "render", // Write
@@ -11,7 +11,7 @@ function observeTimeline(update, timeline) {
11
11
  }
12
12
  prevProgress = progress;
13
13
  };
14
- frame.update(onFrame, true);
14
+ frame.preUpdate(onFrame, true);
15
15
  return () => cancelFrame(onFrame);
16
16
  }
17
17
 
@@ -48,6 +48,7 @@ function reportStats() {
48
48
  rate: summarise(value.frameloop.rate),
49
49
  read: summarise(value.frameloop.read),
50
50
  resolveKeyframes: summarise(value.frameloop.resolveKeyframes),
51
+ preUpdate: summarise(value.frameloop.preUpdate),
51
52
  update: summarise(value.frameloop.update),
52
53
  preRender: summarise(value.frameloop.preRender),
53
54
  render: summarise(value.frameloop.render),
@@ -86,6 +87,7 @@ function recordStats() {
86
87
  rate: [],
87
88
  read: [],
88
89
  resolveKeyframes: [],
90
+ preUpdate: [],
89
91
  update: [],
90
92
  preRender: [],
91
93
  render: [],
@@ -32,7 +32,7 @@ class MotionValue {
32
32
  * This will be replaced by the build step with the latest version number.
33
33
  * When MotionValues are provided to motion components, warn if versions are mixed.
34
34
  */
35
- this.version = "12.7.5-alpha.0";
35
+ this.version = "12.7.5-alpha.2";
36
36
  /**
37
37
  * Tracks whether this value can output a velocity. Currently this is only true
38
38
  * if the value is numerical, but we might be able to widen the scope here and support
@@ -303,6 +303,7 @@
303
303
  "setup", // Compute
304
304
  "read", // Read
305
305
  "resolveKeyframes", // Write/Read/Write/Read
306
+ "preUpdate", // Compute
306
307
  "update", // Compute
307
308
  "preRender", // Compute
308
309
  "render", // Write
@@ -417,7 +418,7 @@
417
418
  acc[key] = createRenderStep(flagRunNextFrame, allowKeepAlive ? key : undefined);
418
419
  return acc;
419
420
  }, {});
420
- const { setup, read, resolveKeyframes, update, preRender, render, postRender, } = steps;
421
+ const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps;
421
422
  const processBatch = () => {
422
423
  const timestamp = MotionGlobalConfig.useManualTiming
423
424
  ? state.timestamp
@@ -434,6 +435,7 @@
434
435
  setup.process(state);
435
436
  read.process(state);
436
437
  resolveKeyframes.process(state);
438
+ preUpdate.process(state);
437
439
  update.process(state);
438
440
  preRender.process(state);
439
441
  render.process(state);
@@ -1272,7 +1274,7 @@
1272
1274
  next: (t) => {
1273
1275
  const current = resolveSpring(t);
1274
1276
  if (!isResolvedFromDuration) {
1275
- let currentVelocity = 0.0;
1277
+ let currentVelocity = t === 0 ? initialVelocity : 0.0;
1276
1278
  /**
1277
1279
  * We only need to calculate velocity for under-damped springs
1278
1280
  * as over- and critically-damped springs can't overshoot, so
@@ -1834,7 +1836,6 @@
1834
1836
  this.startTime = now - this.holdTime;
1835
1837
  }
1836
1838
  else if (this.state === "finished") {
1837
- console.log("JSAnimation updateFinished");
1838
1839
  this.updateFinished();
1839
1840
  this.startTime = now;
1840
1841
  }
@@ -1894,7 +1895,6 @@
1894
1895
  return this.tick(sampleTime, true);
1895
1896
  }
1896
1897
  attachTimeline(timeline) {
1897
- this.pause();
1898
1898
  if (this.options.allowFlatten) {
1899
1899
  this.options.type = "keyframes";
1900
1900
  this.options.ease = "linear";
@@ -2457,7 +2457,7 @@
2457
2457
  this.animation.effect?.updateTiming({ easing: "linear" });
2458
2458
  }
2459
2459
  this.animation.onfinish = null;
2460
- if (supportsScrollTimeline()) {
2460
+ if (timeline && supportsScrollTimeline()) {
2461
2461
  this.animation.timeline = timeline;
2462
2462
  return noop;
2463
2463
  }
@@ -2799,7 +2799,6 @@
2799
2799
  this.animation.pause();
2800
2800
  }
2801
2801
  complete() {
2802
- console.log("async animation complete");
2803
2802
  this.animation.complete();
2804
2803
  }
2805
2804
  cancel() {
@@ -3624,7 +3623,7 @@
3624
3623
  }
3625
3624
  prevProgress = progress;
3626
3625
  };
3627
- frame.update(onFrame, true);
3626
+ frame.preUpdate(onFrame, true);
3628
3627
  return () => cancelFrame(onFrame);
3629
3628
  }
3630
3629
 
@@ -3674,6 +3673,7 @@
3674
3673
  rate: summarise(value.frameloop.rate),
3675
3674
  read: summarise(value.frameloop.read),
3676
3675
  resolveKeyframes: summarise(value.frameloop.resolveKeyframes),
3676
+ preUpdate: summarise(value.frameloop.preUpdate),
3677
3677
  update: summarise(value.frameloop.update),
3678
3678
  preRender: summarise(value.frameloop.preRender),
3679
3679
  render: summarise(value.frameloop.render),
@@ -3712,6 +3712,7 @@
3712
3712
  rate: [],
3713
3713
  read: [],
3714
3714
  resolveKeyframes: [],
3715
+ preUpdate: [],
3715
3716
  update: [],
3716
3717
  preRender: [],
3717
3718
  render: [],
@@ -3766,7 +3767,7 @@
3766
3767
  * This will be replaced by the build step with the latest version number.
3767
3768
  * When MotionValues are provided to motion components, warn if versions are mixed.
3768
3769
  */
3769
- this.version = "12.7.5-alpha.0";
3770
+ this.version = "12.7.5-alpha.2";
3770
3771
  /**
3771
3772
  * Tracks whether this value can output a velocity. Currently this is only true
3772
3773
  * if the value is numerical, but we might be able to widen the scope here and support
@@ -5146,7 +5147,7 @@
5146
5147
  * and warn against mismatches.
5147
5148
  */
5148
5149
  {
5149
- warnOnce(nextValue.version === "12.7.5-alpha.0", `Attempting to mix Motion versions ${nextValue.version} with 12.7.5-alpha.0 may not work as expected.`);
5150
+ warnOnce(nextValue.version === "12.7.5-alpha.2", `Attempting to mix Motion versions ${nextValue.version} with 12.7.5-alpha.2 may not work as expected.`);
5150
5151
  }
5151
5152
  }
5152
5153
  else if (isMotionValue(prevValue)) {
@@ -6785,7 +6786,7 @@
6785
6786
  const listener = () => {
6786
6787
  frame.read(measureAll, false, true);
6787
6788
  frame.read(updateAll, false, true);
6788
- frame.update(notifyAll, false, true);
6789
+ frame.preUpdate(notifyAll, false, true);
6789
6790
  };
6790
6791
  scrollListeners.set(container, listener);
6791
6792
  const target = getEventTarget(container);
@@ -6831,25 +6832,26 @@
6831
6832
  }
6832
6833
  function getTimeline({ source, container, ...options }) {
6833
6834
  const { axis } = options;
6834
- // Support legacy source argument. Deprecate later.
6835
6835
  if (source)
6836
6836
  container = source;
6837
- if (!timelineCache.has(container)) {
6838
- timelineCache.set(container, {});
6837
+ const containerCache = timelineCache.get(container) ?? new Map();
6838
+ timelineCache.set(container, containerCache);
6839
+ const targetKey = options.target ?? "self";
6840
+ const targetCache = containerCache.get(targetKey) ?? {};
6841
+ const axisKey = axis + (options.offset ?? []).join(",");
6842
+ if (!targetCache[axisKey]) {
6843
+ targetCache[axisKey] =
6844
+ !options.target && supportsScrollTimeline()
6845
+ ? new ScrollTimeline({ source: container, axis })
6846
+ : scrollTimelineFallback({ container, ...options });
6839
6847
  }
6840
- const elementCache = timelineCache.get(container);
6841
- if (!elementCache[axis]) {
6842
- elementCache[axis] = supportsScrollTimeline()
6843
- ? new ScrollTimeline({ source: container, axis })
6844
- : scrollTimelineFallback({ container, ...options });
6845
- }
6846
- return elementCache[axis];
6848
+ return targetCache[axis];
6847
6849
  }
6848
6850
 
6849
6851
  function attachToAnimation(animation, options) {
6850
6852
  const timeline = getTimeline(options);
6851
6853
  return animation.attachTimeline({
6852
- timeline,
6854
+ timeline: options.target ? undefined : timeline,
6853
6855
  observe: (valueAnimation) => {
6854
6856
  valueAnimation.pause();
6855
6857
  return observeTimeline((progress) => {
package/dist/motion.js CHANGED
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Motion={})}(this,(function(t){"use strict";function e(t,e){-1===t.indexOf(e)&&t.push(e)}function n(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const s=(t,e,n)=>n>e?e:n<t?t:n;let i=()=>{};const r={},o=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t),a=t=>/^0[^.\s]+$/u.test(t);function u(t){let e;return()=>(void 0===e&&(e=t()),e)}const l=t=>t,c=(t,e)=>n=>e(t(n)),h=(...t)=>t.reduce(c),d=(t,e,n)=>{const s=e-t;return 0===s?1:(n-t)/s};class p{constructor(){this.subscriptions=[]}add(t){return e(this.subscriptions,t),()=>n(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 i=0;i<s;i++){const s=this.subscriptions[i];s&&s(t,e,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const f=t=>1e3*t,m=t=>t/1e3;function g(t,e){return e?t*(1e3/e):0}const y=new Set;const v=(t,e,n)=>{const s=e-t;return((n-t)%s+s)%s+t},w=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t;function b(t,e,n,s){if(t===e&&n===s)return l;const i=e=>function(t,e,n,s,i){let r,o,a=0;do{o=e+(n-e)/2,r=w(o,s,i)-t,r>0?n=o:e=o}while(Math.abs(r)>1e-7&&++a<12);return o}(e,0,1,t,n);return t=>0===t||1===t?t:w(i(t),e,s)}const T=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,x=t=>e=>1-t(1-e),S=b(.33,1.53,.69,.99),M=x(S),V=T(M),A=t=>(t*=2)<1?.5*M(t):.5*(2-Math.pow(2,-10*(t-1))),E=t=>1-Math.sin(Math.acos(t)),k=x(E),P=T(E),C=b(.42,0,1,1),F=b(0,0,.58,1),O=b(.42,0,.58,1);const R=t=>Array.isArray(t)&&"number"!=typeof t[0];function B(t,e){return R(t)?t[v(0,t.length,e)]:t}const L=t=>Array.isArray(t)&&"number"==typeof t[0],D={linear:l,easeIn:C,easeInOut:O,easeOut:F,circIn:E,circInOut:P,circOut:k,backIn:M,backInOut:V,backOut:S,anticipate:A},I=t=>{if(L(t)){t.length;const[e,n,s,i]=t;return b(e,n,s,i)}return"string"==typeof t?D[t]:t},W=["setup","read","resolveKeyframes","update","preRender","render","postRender"],N={value:null,addProjectionMetrics:null};function j(t,e){let n=!1,s=!0;const i={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,a=W.reduce(((t,n)=>(t[n]=function(t,e){let n=new Set,s=new Set,i=!1,r=!1;const o=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1},u=0;function l(e){o.has(e)&&(c.schedule(e),t()),u++,e(a)}const c={schedule:(t,e=!1,r=!1)=>{const a=r&&i?n:s;return e&&o.add(t),a.has(t)||a.add(t),t},cancel:t=>{s.delete(t),o.delete(t)},process:t=>{a=t,i?r=!0:(i=!0,[n,s]=[s,n],n.forEach(l),e&&N.value&&N.value.frameloop[e].push(u),u=0,n.clear(),i=!1,r&&(r=!1,c.process(t)))}};return c}(o,e?n:void 0),t)),{}),{setup:u,read:l,resolveKeyframes:c,update:h,preRender:d,render:p,postRender:f}=a,m=()=>{const o=r.useManualTiming?i.timestamp:performance.now();n=!1,r.useManualTiming||(i.delta=s?1e3/60:Math.max(Math.min(o-i.timestamp,40),1)),i.timestamp=o,i.isProcessing=!0,u.process(i),l.process(i),c.process(i),h.process(i),d.process(i),p.process(i),f.process(i),i.isProcessing=!1,n&&e&&(s=!1,t(m))};return{schedule:W.reduce(((e,r)=>{const o=a[r];return e[r]=(e,r=!1,a=!1)=>(n||(n=!0,s=!0,i.isProcessing||t(m)),o.schedule(e,r,a)),e}),{}),cancel:t=>{for(let e=0;e<W.length;e++)a[W[e]].cancel(t)},state:i,steps:a}}const{schedule:K,cancel:$,state:z,steps:U}=j("undefined"!=typeof requestAnimationFrame?requestAnimationFrame:l,!0);let Y;function X(){Y=void 0}const H={now:()=>(void 0===Y&&H.set(z.isProcessing||r.useManualTiming?z.timestamp:performance.now()),Y),set:t=>{Y=t,queueMicrotask(X)}},q={layout:0,mainThread:0,waapi:0},G=t=>e=>"string"==typeof e&&e.startsWith(t),Z=G("--"),_=G("var(--"),J=t=>!!_(t)&&Q.test(t.split("/*")[0].trim()),Q=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,tt={test:t=>"number"==typeof t,parse:parseFloat,transform:t=>t},et={...tt,transform:t=>s(0,1,t)},nt={...tt,default:1},st=t=>Math.round(1e5*t)/1e5,it=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;const rt=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,ot=(t,e)=>n=>Boolean("string"==typeof n&&rt.test(n)&&n.startsWith(t)||e&&!function(t){return null==t}(n)&&Object.prototype.hasOwnProperty.call(n,e)),at=(t,e,n)=>s=>{if("string"!=typeof s)return s;const[i,r,o,a]=s.match(it);return{[t]:parseFloat(i),[e]:parseFloat(r),[n]:parseFloat(o),alpha:void 0!==a?parseFloat(a):1}},ut={...tt,transform:t=>Math.round((t=>s(0,255,t))(t))},lt={test:ot("rgb","red"),parse:at("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:s=1})=>"rgba("+ut.transform(t)+", "+ut.transform(e)+", "+ut.transform(n)+", "+st(et.transform(s))+")"};const ct={test:ot("#"),parse:function(t){let e="",n="",s="",i="";return t.length>5?(e=t.substring(1,3),n=t.substring(3,5),s=t.substring(5,7),i=t.substring(7,9)):(e=t.substring(1,2),n=t.substring(2,3),s=t.substring(3,4),i=t.substring(4,5),e+=e,n+=n,s+=s,i+=i),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:i?parseInt(i,16)/255:1}},transform:lt.transform},ht=t=>({test:e=>"string"==typeof e&&e.endsWith(t)&&1===e.split(" ").length,parse:parseFloat,transform:e=>`${e}${t}`}),dt=ht("deg"),pt=ht("%"),ft=ht("px"),mt=ht("vh"),gt=ht("vw"),yt=(()=>({...pt,parse:t=>pt.parse(t)/100,transform:t=>pt.transform(100*t)}))(),vt={test:ot("hsl","hue"),parse:at("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:s=1})=>"hsla("+Math.round(t)+", "+pt.transform(st(e))+", "+pt.transform(st(n))+", "+st(et.transform(s))+")"},wt={test:t=>lt.test(t)||ct.test(t)||vt.test(t),parse:t=>lt.test(t)?lt.parse(t):vt.test(t)?vt.parse(t):ct.parse(t),transform:t=>"string"==typeof t?t:t.hasOwnProperty("red")?lt.transform(t):vt.transform(t)},bt=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;const Tt="number",xt="color",St=/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 Mt(t){const e=t.toString(),n=[],s={color:[],number:[],var:[]},i=[];let r=0;const o=e.replace(St,(t=>(wt.test(t)?(s.color.push(r),i.push(xt),n.push(wt.parse(t))):t.startsWith("var(")?(s.var.push(r),i.push("var"),n.push(t)):(s.number.push(r),i.push(Tt),n.push(parseFloat(t))),++r,"${}"))).split("${}");return{values:n,split:o,indexes:s,types:i}}function Vt(t){return Mt(t).values}function At(t){const{split:e,types:n}=Mt(t),s=e.length;return t=>{let i="";for(let r=0;r<s;r++)if(i+=e[r],void 0!==t[r]){const e=n[r];i+=e===Tt?st(t[r]):e===xt?wt.transform(t[r]):t[r]}return i}}const Et=t=>"number"==typeof t?0:t;const kt={test:function(t){return isNaN(t)&&"string"==typeof t&&(t.match(it)?.length||0)+(t.match(bt)?.length||0)>0},parse:Vt,createTransformer:At,getAnimatableNone:function(t){const e=Vt(t);return At(t)(e.map(Et))}};function Pt(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 Ct({hue:t,saturation:e,lightness:n,alpha:s}){t/=360,n/=100;let i=0,r=0,o=0;if(e/=100){const s=n<.5?n*(1+e):n+e-n*e,a=2*n-s;i=Pt(a,s,t+1/3),r=Pt(a,s,t),o=Pt(a,s,t-1/3)}else i=r=o=n;return{red:Math.round(255*i),green:Math.round(255*r),blue:Math.round(255*o),alpha:s}}function Ft(t,e){return n=>n>0?e:t}const Ot=(t,e,n)=>t+(e-t)*n,Rt=(t,e,n)=>{const s=t*t,i=n*(e*e-s)+s;return i<0?0:Math.sqrt(i)},Bt=[ct,lt,vt];function Lt(t){const e=(n=t,Bt.find((t=>t.test(n))));var n;if(!Boolean(e))return!1;let s=e.parse(t);return e===vt&&(s=Ct(s)),s}const Dt=(t,e)=>{const n=Lt(t),s=Lt(e);if(!n||!s)return Ft(t,e);const i={...n};return t=>(i.red=Rt(n.red,s.red,t),i.green=Rt(n.green,s.green,t),i.blue=Rt(n.blue,s.blue,t),i.alpha=Ot(n.alpha,s.alpha,t),lt.transform(i))},It=new Set(["none","hidden"]);function Wt(t,e){return It.has(t)?n=>n<=0?t:e:n=>n>=1?e:t}function Nt(t,e){return n=>Ot(t,e,n)}function jt(t){return"number"==typeof t?Nt:"string"==typeof t?J(t)?Ft:wt.test(t)?Dt:zt:Array.isArray(t)?Kt:"object"==typeof t?wt.test(t)?Dt:$t:Ft}function Kt(t,e){const n=[...t],s=n.length,i=t.map(((t,n)=>jt(t)(t,e[n])));return t=>{for(let e=0;e<s;e++)n[e]=i[e](t);return n}}function $t(t,e){const n={...t,...e},s={};for(const i in n)void 0!==t[i]&&void 0!==e[i]&&(s[i]=jt(t[i])(t[i],e[i]));return t=>{for(const e in s)n[e]=s[e](t);return n}}const zt=(t,e)=>{const n=kt.createTransformer(e),s=Mt(t),i=Mt(e);return s.indexes.var.length===i.indexes.var.length&&s.indexes.color.length===i.indexes.color.length&&s.indexes.number.length>=i.indexes.number.length?It.has(t)&&!i.values.length||It.has(e)&&!s.values.length?Wt(t,e):h(Kt(function(t,e){const n=[],s={color:0,var:0,number:0};for(let i=0;i<e.values.length;i++){const r=e.types[i],o=t.indexes[r][s[r]],a=t.values[o]??0;n[i]=a,s[r]++}return n}(s,i),i.values),n):Ft(t,e)};function Ut(t,e,n){if("number"==typeof t&&"number"==typeof e&&"number"==typeof n)return Ot(t,e,n);return jt(t)(t,e)}const Yt=t=>{const e=({timestamp:e})=>t(e);return{start:()=>K.update(e,!0),stop:()=>$(e),now:()=>z.isProcessing?z.timestamp:H.now()}},Xt=(t,e,n=10)=>{let s="";const i=Math.max(Math.round(e/n),2);for(let e=0;e<i;e++)s+=t(e/(i-1))+", ";return`linear(${s.substring(0,s.length-2)})`},Ht=2e4;function qt(t){let e=0;let n=t.next(e);for(;!n.done&&e<Ht;)e+=50,n=t.next(e);return e>=Ht?1/0:e}function Gt(t,e=100,n){const s=n({...t,keyframes:[0,e]}),i=Math.min(qt(s),Ht);return{type:"keyframes",ease:t=>s.next(i*t).value/e,duration:m(i)}}function Zt(t,e,n){const s=Math.max(e-5,0);return g(n-t(s),e-s)}const _t=100,Jt=10,Qt=1,te=0,ee=800,ne=.3,se=.3,ie={granular:.01,default:2},re={granular:.005,default:.5},oe=.01,ae=10,ue=.05,le=1,ce=.001;function he({duration:t=ee,bounce:e=ne,velocity:n=te,mass:i=Qt}){let r,o,a=1-e;a=s(ue,le,a),t=s(oe,ae,m(t)),a<1?(r=e=>{const s=e*a,i=s*t,r=s-n,o=pe(e,a),u=Math.exp(-i);return ce-r/o*u},o=e=>{const s=e*a*t,i=s*n+n,o=Math.pow(a,2)*Math.pow(e,2)*t,u=Math.exp(-s),l=pe(Math.pow(e,2),a);return(-r(e)+ce>0?-1:1)*((i-o)*u)/l}):(r=e=>Math.exp(-e*t)*((e-n)*t+1)-.001,o=e=>Math.exp(-e*t)*(t*t*(n-e)));const u=function(t,e,n){let s=n;for(let n=1;n<de;n++)s-=t(s)/e(s);return s}(r,o,5/t);if(t=f(t),isNaN(u))return{stiffness:_t,damping:Jt,duration:t};{const e=Math.pow(u,2)*i;return{stiffness:e,damping:2*a*Math.sqrt(i*e),duration:t}}}const de=12;function pe(t,e){return t*Math.sqrt(1-e*e)}const fe=["duration","bounce"],me=["stiffness","damping","mass"];function ge(t,e){return e.some((e=>void 0!==t[e]))}function ye(t=se,e=ne){const n="object"!=typeof t?{visualDuration:t,keyframes:[0,1],bounce:e}:t;let{restSpeed:i,restDelta:r}=n;const o=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],u={done:!1,value:o},{stiffness:l,damping:c,mass:h,duration:d,velocity:p,isResolvedFromDuration:g}=function(t){let e={velocity:te,stiffness:_t,damping:Jt,mass:Qt,isResolvedFromDuration:!1,...t};if(!ge(t,me)&&ge(t,fe))if(t.visualDuration){const n=t.visualDuration,i=2*Math.PI/(1.2*n),r=i*i,o=2*s(.05,1,1-(t.bounce||0))*Math.sqrt(r);e={...e,mass:Qt,stiffness:r,damping:o}}else{const n=he(t);e={...e,...n,mass:Qt},e.isResolvedFromDuration=!0}return e}({...n,velocity:-m(n.velocity||0)}),y=p||0,v=c/(2*Math.sqrt(l*h)),w=a-o,b=m(Math.sqrt(l/h)),T=Math.abs(w)<5;let x;if(i||(i=T?ie.granular:ie.default),r||(r=T?re.granular:re.default),v<1){const t=pe(b,v);x=e=>{const n=Math.exp(-v*b*e);return a-n*((y+v*b*w)/t*Math.sin(t*e)+w*Math.cos(t*e))}}else if(1===v)x=t=>a-Math.exp(-b*t)*(w+(y+b*w)*t);else{const t=b*Math.sqrt(v*v-1);x=e=>{const n=Math.exp(-v*b*e),s=Math.min(t*e,300);return a-n*((y+v*b*w)*Math.sinh(s)+t*w*Math.cosh(s))/t}}const S={calculatedDuration:g&&d||null,next:t=>{const e=x(t);if(g)u.done=t>=d;else{let n=0;v<1&&(n=0===t?f(y):Zt(x,t,e));const s=Math.abs(n)<=i,o=Math.abs(a-e)<=r;u.done=s&&o}return u.value=u.done?a:e,u},toString:()=>{const t=Math.min(qt(S),Ht),e=Xt((e=>S.next(t*e).value),t,30);return t+"ms "+e},toTransition:()=>{}};return S}function ve({keyframes:t,velocity:e=0,power:n=.8,timeConstant:s=325,bounceDamping:i=10,bounceStiffness:r=500,modifyTarget:o,min:a,max:u,restDelta:l=.5,restSpeed:c}){const h=t[0],d={done:!1,value:h},p=t=>void 0===a?u:void 0===u||Math.abs(a-t)<Math.abs(u-t)?a:u;let f=n*e;const m=h+f,g=void 0===o?m:o(m);g!==m&&(f=g-h);const y=t=>-f*Math.exp(-t/s),v=t=>g+y(t),w=t=>{const e=y(t),n=v(t);d.done=Math.abs(e)<=l,d.value=d.done?g:n};let b,T;const x=t=>{var e;(e=d.value,void 0!==a&&e<a||void 0!==u&&e>u)&&(b=t,T=ye({keyframes:[d.value,p(d.value)],velocity:Zt(v,t,d.value),damping:i,stiffness:r,restDelta:l,restSpeed:c}))};return x(0),{calculatedDuration:null,next:t=>{let e=!1;return T||void 0!==b||(e=!0,w(t),x(t)),void 0!==b&&t>=b?T.next(t-b):(!e&&w(t),d)}}}function we(t,e,{clamp:n=!0,ease:i,mixer:o}={}){const a=t.length;if(e.length,1===a)return()=>e[0];if(2===a&&e[0]===e[1])return()=>e[1];const u=t[0]===t[1];t[0]>t[a-1]&&(t=[...t].reverse(),e=[...e].reverse());const c=function(t,e,n){const s=[],i=n||r.mix||Ut,o=t.length-1;for(let n=0;n<o;n++){let r=i(t[n],t[n+1]);if(e){const t=Array.isArray(e)?e[n]||l:e;r=h(t,r)}s.push(r)}return s}(e,i,o),p=c.length,f=n=>{if(u&&n<t[0])return e[0];let s=0;if(p>1)for(;s<t.length-2&&!(n<t[s+1]);s++);const i=d(t[s],t[s+1],n);return c[s](i)};return n?e=>f(s(t[0],t[a-1],e)):f}function be(t,e){const n=t[t.length-1];for(let s=1;s<=e;s++){const i=d(0,e,s);t.push(Ot(n,1,i))}}function Te(t){const e=[0];return be(e,t.length-1),e}function xe(t,e){return t.map((t=>t*e))}function Se(t,e){return t.map((()=>e||O)).splice(0,t.length-1)}function Me({duration:t=300,keyframes:e,times:n,ease:s="easeInOut"}){const i=R(s)?s.map(I):I(s),r={done:!1,value:e[0]},o=we(xe(n&&n.length===e.length?n:Te(e),t),e,{ease:Array.isArray(i)?i:Se(e,i)});return{calculatedDuration:t,next:e=>(r.value=o(e),r.done=e>=t,r)}}ye.applyToOptions=t=>{const e=Gt(t,100,ye);return t.ease=e.ease,t.duration=f(e.duration),t.type="keyframes",t};const Ve=t=>null!==t;function Ae(t,{repeat:e,repeatType:n="loop"},s,i=1){const r=t.filter(Ve),o=i<0||e&&"loop"!==n&&e%2==1?0:r.length-1;return o&&void 0!==s?s:r[o]}const Ee={decay:ve,inertia:ve,tween:Me,keyframes:Me,spring:ye};function ke(t){"string"==typeof t.type&&(t.type=Ee[t.type])}class Pe{constructor(){this.count=0,this.updateFinished()}get finished(){return this._finished}updateFinished(){this.count++,this._finished=new Promise((t=>{this.resolve=t}))}notifyFinished(){this.resolve()}then(t,e){return this.finished.then(t,e)}}const Ce=t=>t/100;class Fe extends Pe{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:t}=this.options;if(t&&t.updatedAt!==H.now()&&this.tick(H.now()),this.isStopped=!0,"idle"===this.state)return;this.teardown();const{onStop:e}=this.options;e&&e()},q.mainThread++,this.options=t,this.initAnimation(),this.play(),!1===t.autoplay&&this.pause()}initAnimation(){const{options:t}=this;ke(t);const{type:e=Me,repeat:n=0,repeatDelay:s=0,repeatType:i,velocity:r=0}=t;let{keyframes:o}=t;const a=e||Me;a!==Me&&"number"!=typeof o[0]&&(this.mixKeyframes=h(Ce,Ut(o[0],o[1])),o=[0,100]);const u=a({...t,keyframes:o});"mirror"===i&&(this.mirroredGenerator=a({...t,keyframes:[...o].reverse(),velocity:-r})),null===u.calculatedDuration&&(u.calculatedDuration=qt(u));const{calculatedDuration:l}=u;this.calculatedDuration=l,this.resolvedDuration=l+s,this.totalDuration=this.resolvedDuration*(n+1)-s,this.generator=u}updateTime(t){const e=Math.round(t-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=e}tick(t,e=!1){const{generator:n,totalDuration:i,mixKeyframes:r,mirroredGenerator:o,resolvedDuration:a,calculatedDuration:u}=this;if(null===this.startTime)return n.next(0);const{delay:l=0,keyframes:c,repeat:h,repeatType:d,repeatDelay:p,type:f,onUpdate:m,finalKeyframe:g}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-i/this.speed,this.startTime)),e?this.currentTime=t:this.updateTime(t);const y=this.currentTime-l*(this.playbackSpeed>=0?1:-1),v=this.playbackSpeed>=0?y<0:y>i;this.currentTime=Math.max(y,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=i);let w=this.currentTime,b=n;if(h){const t=Math.min(this.currentTime,i)/a;let e=Math.floor(t),n=t%1;!n&&t>=1&&(n=1),1===n&&e--,e=Math.min(e,h+1);Boolean(e%2)&&("reverse"===d?(n=1-n,p&&(n-=p/a)):"mirror"===d&&(b=o)),w=s(0,1,n)*a}const T=v?{done:!1,value:c[0]}:b.next(w);r&&(T.value=r(T.value));let{done:x}=T;v||null===u||(x=this.playbackSpeed>=0?this.currentTime>=i:this.currentTime<=0);const S=null===this.holdTime&&("finished"===this.state||"running"===this.state&&x);return S&&f!==ve&&(T.value=Ae(c,this.options,g,this.speed)),m&&m(T.value),S&&this.finish(),T}then(t,e){return this.finished.then(t,e)}get duration(){return m(this.calculatedDuration)}get time(){return m(this.currentTime)}set time(t){t=f(t),this.currentTime=t,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(H.now());const e=this.playbackSpeed!==t;this.playbackSpeed=t,e&&(this.time=m(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=Yt,onPlay:e,startTime:n}=this.options;this.driver||(this.driver=t((t=>this.tick(t)))),e&&e();const s=this.driver.now();null!==this.holdTime?this.startTime=s-this.holdTime:"finished"===this.state?(console.log("JSAnimation updateFinished"),this.updateFinished(),this.startTime=s):this.startTime||(this.startTime=n??s),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(H.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished";const{onComplete:t}=this.options;t&&t()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null,q.mainThread--}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.pause(),this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),t.observe(this)}}function Oe(t){for(let e=1;e<t.length;e++)t[e]??(t[e]=t[e-1])}const Re=t=>180*t/Math.PI,Be=t=>{const e=Re(Math.atan2(t[1],t[0]));return De(e)},Le={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:t=>(Math.abs(t[0])+Math.abs(t[3]))/2,rotate:Be,rotateZ:Be,skewX:t=>Re(Math.atan(t[1])),skewY:t=>Re(Math.atan(t[2])),skew:t=>(Math.abs(t[1])+Math.abs(t[2]))/2},De=t=>((t%=360)<0&&(t+=360),t),Ie=t=>Math.sqrt(t[0]*t[0]+t[1]*t[1]),We=t=>Math.sqrt(t[4]*t[4]+t[5]*t[5]),Ne={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Ie,scaleY:We,scale:t=>(Ie(t)+We(t))/2,rotateX:t=>De(Re(Math.atan2(t[6],t[5]))),rotateY:t=>De(Re(Math.atan2(-t[2],t[0]))),rotateZ:Be,rotate:Be,skewX:t=>Re(Math.atan(t[4])),skewY:t=>Re(Math.atan(t[1])),skew:t=>(Math.abs(t[1])+Math.abs(t[4]))/2};function je(t){return t.includes("scale")?1:0}function Ke(t,e){if(!t||"none"===t)return je(e);const n=t.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,i;if(n)s=Ne,i=n;else{const e=t.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=Le,i=e}if(!i)return je(e);const r=s[e],o=i[1].split(",").map(ze);return"function"==typeof r?r(o):o[r]}const $e=(t,e)=>{const{transform:n="none"}=getComputedStyle(t);return Ke(n,e)};function ze(t){return parseFloat(t.trim())}const Ue=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Ye=(()=>new Set(Ue))(),Xe=t=>t===tt||t===ft,He=new Set(["x","y","z"]),qe=Ue.filter((t=>!He.has(t)));const Ge={width:({x:t},{paddingLeft:e="0",paddingRight:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),height:({y:t},{paddingTop:e="0",paddingBottom:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),top:(t,{top:e})=>parseFloat(e),left:(t,{left:e})=>parseFloat(e),bottom:({y:t},{top:e})=>parseFloat(e)+(t.max-t.min),right:({x:t},{left:e})=>parseFloat(e)+(t.max-t.min),x:(t,{transform:e})=>Ke(e,"x"),y:(t,{transform:e})=>Ke(e,"y")};Ge.translateX=Ge.x,Ge.translateY=Ge.y;const Ze=new Set;let _e=!1,Je=!1,Qe=!1;function tn(){if(Je){const t=Array.from(Ze).filter((t=>t.needsMeasurement)),e=new Set(t.map((t=>t.element))),n=new Map;e.forEach((t=>{const e=function(t){const e=[];return qe.forEach((n=>{const 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])=>{t.getValue(e)?.set(n)}))})),t.forEach((t=>t.measureEndState())),t.forEach((t=>{void 0!==t.suspendedScrollY&&window.scrollTo(0,t.suspendedScrollY)}))}Je=!1,_e=!1,Ze.forEach((t=>t.complete(Qe))),Ze.clear()}function en(){Ze.forEach((t=>{t.readKeyframes(),t.needsMeasurement&&(Je=!0)}))}function nn(){Qe=!0,en(),tn(),Qe=!1}class sn{constructor(t,e,n,s,i,r=!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=i,this.isAsync=r}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Ze.add(this),_e||(_e=!0,K.read(en),K.resolveKeyframes(tn))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:e,element:n,motionValue:s}=this;if(null===t[0]){const i=s?.get(),r=t[t.length-1];if(void 0!==i)t[0]=i;else if(n&&e){const s=n.readValue(e,r);null!=s&&(t[0]=s)}void 0===t[0]&&(t[0]=r),s&&void 0===i&&s.set(t[0])}Oe(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.isComplete=!0,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),Ze.delete(this)}cancel(){this.isComplete||(this.isScheduled=!1,Ze.delete(this))}resume(){this.isComplete||this.scheduleResolve()}}const rn=t=>t.startsWith("--");function on(t,e,n){rn(e)?t.style.setProperty(e,n):t.style[e]=n}const an=u((()=>void 0!==window.ScrollTimeline)),un={};function ln(t,e){const n=u(t);return()=>un[e]??n()}const cn=ln((()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(t){return!1}return!0}),"linearEasing"),hn=([t,e,n,s])=>`cubic-bezier(${t}, ${e}, ${n}, ${s})`,dn={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:hn([0,.65,.55,1]),circOut:hn([.55,0,1,.45]),backIn:hn([.31,.01,.66,-.59]),backOut:hn([.33,1.53,.69,.99])};function pn(t,e){return t?"function"==typeof t?cn()?Xt(t,e):"ease-out":L(t)?hn(t):Array.isArray(t)?t.map((t=>pn(t,e)||dn.easeOut)):dn[t]:void 0}function fn(t,e,n,{delay:s=0,duration:i=300,repeat:r=0,repeatType:o="loop",ease:a="easeOut",times:u}={},l=void 0){const c={[e]:n};u&&(c.offset=u);const h=pn(a,i);Array.isArray(h)&&(c.easing=h),N.value&&q.waapi++;const d={delay:s,duration:i,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:r+1,direction:"reverse"===o?"alternate":"normal"};l&&(d.pseudoElement=l);const p=t.animate(c,d);return N.value&&p.finished.finally((()=>{q.waapi--})),p}function mn(t){return"function"==typeof t&&"applyToOptions"in t}function gn({type:t,...e}){return mn(t)&&cn()?t.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}class yn extends Pe{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,!t)return;const{element:e,name:n,keyframes:s,pseudoElement:i,allowFlatten:r=!1,finalKeyframe:o}=t;this.isPseudoElement=Boolean(i),this.allowFlatten=r,this.options=t,t.type;const a=gn(t);this.animation=fn(e,n,s,a,i),!1===a.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){const t=Ae(s,this.options,o,this.speed);this.updateMotionValue?this.updateMotionValue(t):on(e,n,t),this.animation.cancel()}this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(t){}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;"idle"!==t&&"finished"!==t&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return m(Number(t))}get time(){return m(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=f(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(t){this.animation.startTime=t}attachTimeline({timeline:t,observe:e}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,an()?(this.animation.timeline=t,l):e(this)}}const vn={anticipate:A,backInOut:V,circInOut:P};function wn(t){"string"==typeof t.ease&&t.ease in vn&&(t.ease=vn[t.ease])}class bn extends yn{constructor(t){wn(t),ke(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:e,onUpdate:n,onComplete:s,element:i,...r}=this.options;if(!e)return;if(void 0!==t)return void e.set(t);const o=new Fe({...r,autoplay:!1}),a=f(this.finishedTime??this.time);e.setWithVelocity(o.sample(a-10).value,o.sample(a).value,10),o.stop()}}const Tn=(t,e)=>"zIndex"!==e&&(!("number"!=typeof t&&!Array.isArray(t))||!("string"!=typeof t||!kt.test(t)&&"0"!==t||t.startsWith("url(")));const xn=new Set(["opacity","clipPath","filter","transform"]),Sn=u((()=>Object.hasOwnProperty.call(Element.prototype,"animate")));function Mn(t){const{motionValue:e,name:n,repeatDelay:s,repeatType:i,damping:r,type:o}=t;if(!(e&&e.owner&&e.owner.current instanceof HTMLElement))return!1;const{onUpdate:a,transformTemplate:u}=e.owner.getProps();return Sn()&&n&&xn.has(n)&&("transform"!==n||!u)&&!a&&!s&&"mirror"!==i&&0!==r&&"inertia"!==o}class Vn extends Pe{constructor({autoplay:t=!0,delay:e=0,type:n="keyframes",repeat:s=0,repeatDelay:i=0,repeatType:r="loop",keyframes:o,name:a,motionValue:u,element:l,...c}){super(),this.stop=()=>{this._animation?(this._animation.stop(),this.stopTimeline?.()):this.keyframeResolver?.cancel()},this.createdAt=H.now();const h={autoplay:t,delay:e,type:n,repeat:s,repeatDelay:i,repeatType:r,name:a,motionValue:u,element:l,...c},d=l?.KeyframeResolver||sn;this.keyframeResolver=new d(o,((t,e,n)=>this.onKeyframesResolved(t,e,h,!n)),a,u,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,e,n,s){this.keyframeResolver=void 0;const{name:i,type:o,velocity:a,delay:u,isHandoff:c,onUpdate:h,onComplete:d}=n;this.resolvedAt=H.now(),function(t,e,n,s){const i=t[0];if(null===i)return!1;if("display"===e||"visibility"===e)return!0;const r=t[t.length-1],o=Tn(i,e),a=Tn(r,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||mn(n))&&s)}(t,i,o,a)||(!r.instantAnimations&&u||h?.(Ae(t,n,e)),t[0]=t[t.length-1],n.duration=0,n.repeat=0);const p={startTime:s?this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:e,...n,keyframes:t},f=!c&&Mn(p)?new bn({...p,element:p.motionValue.owner.current}):new Fe(p);f.finished.then((()=>{d?.(),this.notifyFinished()})).catch(l),this.pendingTimeline&&(this.stopTimeline=f.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=f}get finished(){return this._animation?this.animation.finished:this._finished}then(t,e){return this.finished.finally(t).then((()=>{}))}get animation(){return this._animation||nn(),this._animation}get duration(){return this.animation.duration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){console.log("async animation complete"),this.animation.complete()}cancel(){this.animation.cancel()}}class An{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map((t=>t.finished)))}getAll(t){return this.animations[0][t]}setAll(t,e){for(let n=0;n<this.animations.length;n++)this.animations[n][t]=e}attachTimeline(t){const e=this.animations.map((e=>e.attachTimeline(t)));return()=>{e.forEach(((t,e)=>{t&&t(),this.animations[e].stop()}))}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get state(){return this.getAll("state")}get startTime(){return this.getAll("startTime")}get duration(){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")}}class En extends An{then(t,e){return this.finished.finally(t).then((()=>{}))}}class kn extends yn{constructor(t){super(),this.animation=t,t.onfinish=()=>{this.finishedTime=this.time,this.notifyFinished()}}}const Pn=new WeakMap,Cn=(t,e="")=>`${t}:${e}`;function Fn(t){const e=Pn.get(t)||new Map;return Pn.set(t,e),e}const On=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Rn(t){const e=On.exec(t);if(!e)return[,];const[,n,s,i]=e;return[`--${n??s}`,i]}function Bn(t,e,n=1){const[s,i]=Rn(t);if(!s)return;const r=window.getComputedStyle(e).getPropertyValue(s);if(r){const t=r.trim();return o(t)?parseFloat(t):t}return J(i)?Bn(i,e,n+1):i}function Ln(t,e){return t?.[e]??t?.default??t}const Dn=new Set(["width","height","top","left","right","bottom",...Ue]),In=t=>e=>e.test(t),Wn=[tt,ft,pt,dt,gt,mt,{test:t=>"auto"===t,parse:t=>t}],Nn=t=>Wn.find(In(t));const jn=new Set(["brightness","contrast","saturate","opacity"]);function Kn(t){const[e,n]=t.slice(0,-1).split("(");if("drop-shadow"===e)return t;const[s]=n.match(it)||[];if(!s)return t;const i=n.replace(s,"");let r=jn.has(e)?1:0;return s!==n&&(r*=100),e+"("+r+i+")"}const $n=/\b([a-z-]*)\(.*?\)/gu,zn={...kt,getAnimatableNone:t=>{const e=t.match($n);return e?e.map(Kn).join(" "):t}},Un={...tt,transform:Math.round},Yn={rotate:dt,rotateX:dt,rotateY:dt,rotateZ:dt,scale:nt,scaleX:nt,scaleY:nt,scaleZ:nt,skew:dt,skewX:dt,skewY:dt,distance:ft,translateX:ft,translateY:ft,translateZ:ft,x:ft,y:ft,z:ft,perspective:ft,transformPerspective:ft,opacity:et,originX:yt,originY:yt,originZ:ft},Xn={borderWidth:ft,borderTopWidth:ft,borderRightWidth:ft,borderBottomWidth:ft,borderLeftWidth:ft,borderRadius:ft,radius:ft,borderTopLeftRadius:ft,borderTopRightRadius:ft,borderBottomRightRadius:ft,borderBottomLeftRadius:ft,width:ft,maxWidth:ft,height:ft,maxHeight:ft,top:ft,right:ft,bottom:ft,left:ft,padding:ft,paddingTop:ft,paddingRight:ft,paddingBottom:ft,paddingLeft:ft,margin:ft,marginTop:ft,marginRight:ft,marginBottom:ft,marginLeft:ft,backgroundPositionX:ft,backgroundPositionY:ft,...Yn,zIndex:Un,size:ft,fillOpacity:et,strokeOpacity:et,numOctaves:Un},Hn={...Xn,color:wt,backgroundColor:wt,outlineColor:wt,fill:wt,stroke:wt,borderColor:wt,borderTopColor:wt,borderRightColor:wt,borderBottomColor:wt,borderLeftColor:wt,filter:zn,WebkitFilter:zn},qn=t=>Hn[t];function Gn(t,e){let n=qn(t);return n!==zn&&(n=kt),n.getAnimatableNone?n.getAnimatableNone(e):void 0}const Zn=new Set(["auto","none","0"]);class _n extends sn{constructor(t,e,n,s,i){super(t,e,n,s,i,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:e,name:n}=this;if(!e||!e.current)return;super.readKeyframes();for(let n=0;n<t.length;n++){let s=t[n];if("string"==typeof s&&(s=s.trim(),J(s))){const i=Bn(s,e.current);void 0!==i&&(t[n]=i),n===t.length-1&&(this.finalKeyframe=s)}}if(this.resolveNoneKeyframes(),!Dn.has(n)||2!==t.length)return;const[s,i]=t,r=Nn(s),o=Nn(i);if(r!==o)if(Xe(r)&&Xe(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++)(null===t[e]||("number"==typeof(s=t[e])?0===s:null===s||"none"===s||"0"===s||a(s)))&&n.push(e);var s;n.length&&function(t,e,n){let s,i=0;for(;i<t.length&&!s;){const e=t[i];"string"==typeof e&&!Zn.has(e)&&Mt(e).values.length&&(s=t[i]),i++}if(s&&n)for(const i of e)t[i]=Gn(n,s)}(t,n,e)}measureInitialState(){const{element:t,unresolvedKeyframes:e,name:n}=this;if(!t||!t.current)return;"height"===n&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Ge[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(){const{element:t,name:e,unresolvedKeyframes:n}=this;if(!t||!t.current)return;const s=t.getValue(e);s&&s.jump(this.measuredOrigin,!1);const i=n.length-1,r=n[i];n[i]=Ge[e](t.measureViewportBox(),window.getComputedStyle(t.current)),null!==r&&void 0===this.finalKeyframe&&(this.finalKeyframe=r),this.removedTransforms?.length&&this.removedTransforms.forEach((([e,n])=>{t.getValue(e).set(n)})),this.resolveNoneKeyframes()}}const Jn=new Set(["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","width","maxWidth","height","maxHeight","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","backgroundPositionX","backgroundPositionY"]);function Qn(t,e){for(let n=0;n<t.length;n++)"number"==typeof t[n]&&Jn.has(e)&&(t[n]=t[n]+"px")}const ts=u((()=>{try{document.createElement("div").animate({opacity:[1]})}catch(t){return!1}return!0})),es=new Set(["opacity","clipPath","filter","transform"]),{schedule:ns,cancel:ss}=j(queueMicrotask,!1),is={x:!1,y:!1};function rs(){return is.x||is.y}function os(t,e,n){if(t instanceof EventTarget)return[t];if("string"==typeof t){let s=document;e&&(s=e.current);const i=n?.[t]??s.querySelectorAll(t);return i?Array.from(i):[]}return Array.from(t)}function as(t,e){const n=os(t),s=new AbortController;return[n,{passive:!0,...e,signal:s.signal},()=>s.abort()]}function us(t){return!("touch"===t.pointerType||rs())}const ls=(t,e)=>!!e&&(t===e||ls(t,e.parentElement)),cs=t=>"mouse"===t.pointerType?"number"!=typeof t.button||t.button<=0:!1!==t.isPrimary,hs=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);const ds=new WeakSet;function ps(t){return e=>{"Enter"===e.key&&t(e)}}function fs(t,e){t.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}function ms(t){return cs(t)&&!rs()}function gs(t,e){const n=window.getComputedStyle(t);return rn(e)?n.getPropertyValue(e):n[e]}function ys(t,e){let n;const s=()=>{const{currentTime:s}=e,i=(null===s?0:s.value)/100;n!==i&&t(i),n=i};return K.update(s,!0),()=>$(s)}function vs(){const{value:t}=N;null!==t?(t.frameloop.rate.push(z.delta),t.animations.mainThread.push(q.mainThread),t.animations.waapi.push(q.waapi),t.animations.layout.push(q.layout)):$(vs)}function ws(t){return t.reduce(((t,e)=>t+e),0)/t.length}function bs(t,e=ws){return 0===t.length?{min:0,max:0,avg:0}:{min:Math.min(...t),max:Math.max(...t),avg:e(t)}}const Ts=t=>Math.round(1e3/t);function xs(){N.value=null,N.addProjectionMetrics=null}function Ss(){const{value:t}=N;if(!t)throw new Error("Stats are not being measured");xs(),$(vs);const e={frameloop:{setup:bs(t.frameloop.setup),rate:bs(t.frameloop.rate),read:bs(t.frameloop.read),resolveKeyframes:bs(t.frameloop.resolveKeyframes),update:bs(t.frameloop.update),preRender:bs(t.frameloop.preRender),render:bs(t.frameloop.render),postRender:bs(t.frameloop.postRender)},animations:{mainThread:bs(t.animations.mainThread),waapi:bs(t.animations.waapi),layout:bs(t.animations.layout)},layoutProjection:{nodes:bs(t.layoutProjection.nodes),calculatedTargetDeltas:bs(t.layoutProjection.calculatedTargetDeltas),calculatedProjections:bs(t.layoutProjection.calculatedProjections)}},{rate:n}=e.frameloop;return n.min=Ts(n.min),n.max=Ts(n.max),n.avg=Ts(n.avg),[n.min,n.max]=[n.max,n.min],e}const Ms={current:void 0};class Vs{constructor(t,e={}){this.version="12.7.5-alpha.0",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(t,e=!0)=>{const n=H.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=H.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 p);const n=this.events[t].add(e);return"change"===t?()=>{n(),K.read((()=>{this.events.change.getSize()||this.stop()}))}:n}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,e){this.passiveEffect=t,this.stopPassiveEffect=e}set(t,e=!0){"none"===t&&console.trace(),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 Ms.current&&Ms.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){const t=H.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||t-this.updatedAt>30)return 0;const e=Math.min(this.updatedAt-this.prevUpdatedAt,30);return g(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 As(t,e){return new Vs(t,e)}const Es=[...Wn,wt,kt],ks=t=>Es.find(In(t)),Ps=(t,e)=>e&&"number"==typeof t?e.transform(t):t;function Cs(t){return"layout"===t?"group":"enter"===t||"new"===t?"new":"exit"===t||"old"===t?"old":"group"}let Fs={},Os=null;const Rs=(t,e)=>{Fs[t]=e},Bs=()=>{Os||(Os=document.createElement("style"),Os.id="motion-view");let t="";for(const e in Fs){const n=Fs[e];t+=`${e} {\n`;for(const[e,s]of Object.entries(n))t+=` ${e}: ${s};\n`;t+="}\n"}Os.textContent=t,document.head.appendChild(Os),Fs={}},Ls=()=>{Os&&Os.parentElement&&Os.parentElement.removeChild(Os)};function Ds(t){const e=t.match(/::view-transition-(old|new|group|image-pair)\((.*?)\)/);return e?{layer:e[2],type:e[1]}:null}function Is(t){const{effect:e}=t;return!!e&&(e.target===document.documentElement&&e.pseudoElement?.startsWith("::view-transition"))}const Ws=["layout","enter","exit","new","old"];function Ns(t){const{update:e,targets:n,options:s}=t;if(!document.startViewTransition)return new Promise((async t=>{await e(),t(new An([]))}));(function(t,e){return e.has(t)&&Object.keys(e.get(t)).length>0})("root",n)||Rs(":root",{"view-transition-name":"none"}),Rs("::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*)",{"animation-timing-function":"linear !important"}),Bs();const i=document.startViewTransition((async()=>{await e()}));return i.finished.finally((()=>{Ls()})),new Promise((t=>{i.ready.then((()=>{const e=document.getAnimations().filter(Is),i=[];n.forEach(((t,e)=>{for(const n of Ws){if(!t[n])continue;const{keyframes:r,options:o}=t[n];for(let[t,a]of Object.entries(r)){if(!a)continue;const r={...Ln(s,t),...Ln(o,t)},u=Cs(n);if("opacity"===t&&!Array.isArray(a)){a=["new"===u?0:1,a]}"function"==typeof r.delay&&(r.delay=r.delay(0,1)),r.duration&&(r.duration=f(r.duration)),r.delay&&(r.delay=f(r.delay));const l=new yn({...r,element:document.documentElement,name:t,pseudoElement:`::view-transition-${u}(${e})`,keyframes:a});i.push(l)}}}));for(const t of e){if("finished"===t.playState)continue;const{effect:e}=t;if(!(e&&e instanceof KeyframeEffect))continue;const{pseudoElement:r}=e;if(!r)continue;const o=Ds(r);if(!o)continue;const a=n.get(o.layer);if(a)js(a,"enter")&&js(a,"exit")&&e.getKeyframes().some((t=>t.mixBlendMode))?i.push(new kn(t)):t.cancel();else{const n="group"===o.type?"layout":"";let r={...Ln(s,n)};r.duration&&(r.duration=f(r.duration)),r=gn(r);const a=pn(r.ease,r.duration);e.updateTiming({delay:f(r.delay??0),duration:r.duration,easing:a}),i.push(new kn(t))}}t(new An(i))}))}))}function js(t,e){return t?.[e]?.keyframes.opacity}let Ks=[],$s=null;function zs(){$s=null;const[t]=Ks;var e;t&&(n(Ks,e=t),$s=e,Ns(e).then((t=>{e.notifyReady(t),t.finished.finally(zs)})))}function Us(){for(let t=Ks.length-1;t>=0;t--){const e=Ks[t],{interrupt:n}=e.options;if("immediate"===n){const n=Ks.slice(0,t+1).map((t=>t.update)),s=Ks.slice(t+1);e.update=()=>{n.forEach((t=>t()))},Ks=[e,...s];break}}$s&&"immediate"!==Ks[0]?.options.interrupt||zs()}class Ys{constructor(t,e={}){var n;this.currentTarget="root",this.targets=new Map,this.notifyReady=l,this.readyPromise=new Promise((t=>{this.notifyReady=t})),this.update=t,this.options={interrupt:"wait",...e},n=this,Ks.push(n),ns.render(Us)}get(t){return this.currentTarget=t,this}layout(t,e){return this.updateTarget("layout",t,e),this}new(t,e){return this.updateTarget("new",t,e),this}old(t,e){return this.updateTarget("old",t,e),this}enter(t,e){return this.updateTarget("enter",t,e),this}exit(t,e){return this.updateTarget("exit",t,e),this}crossfade(t){return this.updateTarget("enter",{opacity:1},t),this.updateTarget("exit",{opacity:0},t),this}updateTarget(t,e,n={}){const{currentTarget:s,targets:i}=this;i.has(s)||i.set(s,{});i.get(s)[t]={keyframes:e,options:n}}then(t,e){return this.readyPromise.then(t,e)}}const Xs=K,Hs=W.reduce(((t,e)=>(t[e]=t=>$(t),t)),{}),qs=t=>Boolean(t&&t.getVelocity);function Gs(t){return"object"==typeof t&&!Array.isArray(t)}function Zs(t,e,n,s){return"string"==typeof t&&Gs(e)?os(t,n,s):t instanceof NodeList?Array.from(t):Array.isArray(t)?t:[t]}function _s(t,e,n){return t*(e+1)}function Js(t,e,n,s){return"number"==typeof e?e:e.startsWith("-")||e.startsWith("+")?Math.max(0,t+parseFloat(e)):"<"===e?n:s.get(e)??t}function Qs(t,e,s,i,r,o){!function(t,e,s){for(let i=0;i<t.length;i++){const r=t[i];r.at>e&&r.at<s&&(n(t,r),i--)}}(t,r,o);for(let n=0;n<e.length;n++)t.push({value:e[n],at:Ot(r,o,i[n]),easing:B(s,n)})}function ti(t,e){for(let n=0;n<t.length;n++)t[n]=t[n]/(e+1)}function ei(t,e){return t.at===e.at?null===t.value?1:null===e.value?-1:0:t.at-e.at}function ni(t,e){return!e.has(t)&&e.set(t,{}),e.get(t)}function si(t,e){return e[t]||(e[t]=[]),e[t]}function ii(t){return Array.isArray(t)?t:[t]}function ri(t,e){return t&&t[e]?{...t,...t[e]}:{...t}}const oi=t=>"number"==typeof t,ai=t=>t.every(oi),ui=new WeakMap,li=t=>(t=>Array.isArray(t))(t)?t[t.length-1]||0:t;function ci(t){const e=[{},{}];return t?.values.forEach(((t,n)=>{e[0][n]=t.get(),e[1][n]=t.getVelocity()})),e}function hi(t,e,n,s){if("function"==typeof e){const[i,r]=ci(s);e=e(void 0!==n?n:t.custom,i,r)}if("string"==typeof e&&(e=t.variants&&t.variants[e]),"function"==typeof e){const[i,r]=ci(s);e=e(void 0!==n?n:t.custom,i,r)}return e}function di(t,e,n){t.hasValue(e)?t.getValue(e).set(n):t.addValue(e,As(n))}function pi(t,e){const n=function(t,e,n){const s=t.getProps();return hi(s,e,void 0!==n?n:s.custom,t)}(t,e);let{transitionEnd:s={},transition:i={},...r}=n||{};r={...r,...s};for(const e in r){di(t,e,li(r[e]))}}function fi(t,e){const n=t.getValue("willChange");if(s=n,Boolean(qs(s)&&s.add))return n.add(e);if(!n&&r.WillChange){const n=new r.WillChange("auto");t.addValue("willChange",n),n.add(e)}var s}const mi=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),gi="data-"+mi("framerAppearId");function yi(t){return t.props[gi]}const vi=t=>null!==t;const wi={type:"spring",stiffness:500,damping:25,restSpeed:10},bi={type:"keyframes",duration:.8},Ti={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},xi=(t,{keyframes:e})=>e.length>2?bi:Ye.has(t)?t.startsWith("scale")?{type:"spring",stiffness:550,damping:0===e[1]?2*Math.sqrt(550):30,restSpeed:10}:wi:Ti;const Si=(t,e,n,s={},i,o)=>a=>{const u=Ln(s,t)||{},l=u.delay||s.delay||0;let{elapsed:c=0}=s;c-=f(l);const h={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:e.getVelocity(),...u,delay:-c,onUpdate:t=>{e.set(t),u.onUpdate&&u.onUpdate(t)},onComplete:()=>{a(),u.onComplete&&u.onComplete()},name:t,motionValue:e,element:o?void 0:i};(function({when:t,delay:e,delayChildren:n,staggerChildren:s,staggerDirection:i,repeat:r,repeatType:o,repeatDelay:a,from:u,elapsed:l,...c}){return!!Object.keys(c).length})(u)||Object.assign(h,xi(t,h)),h.duration&&(h.duration=f(h.duration)),h.repeatDelay&&(h.repeatDelay=f(h.repeatDelay)),void 0!==h.from&&(h.keyframes[0]=h.from);let d=!1;if((!1===h.type||0===h.duration&&!h.repeatDelay)&&(h.duration=0,0===h.delay&&(d=!0)),(r.instantAnimations||r.skipAnimations)&&(d=!0,h.duration=0,h.delay=0),h.allowFlatten=!u.type&&!u.ease,d&&!o&&void 0!==e.get()){const t=function(t,{repeat:e,repeatType:n="loop"},s){const i=t.filter(vi),r=e&&"loop"!==n&&e%2==1?0:i.length-1;return r&&void 0!==s?s:i[r]}(h.keyframes,u);if(void 0!==t)return void K.update((()=>{h.onUpdate(t),h.onComplete()}))}return new Vn(h)};function Mi({protectedKeys:t,needsAnimating:e},n){const s=t.hasOwnProperty(n)&&!0!==e[n];return e[n]=!1,s}function Vi(t,e,{delay:n=0,transitionOverride:s,type:i}={}){let{transition:r=t.getDefaultTransition(),transitionEnd:o,...a}=e;s&&(r=s);const u=[],l=i&&t.animationState&&t.animationState.getState()[i];for(const e in a){const s=t.getValue(e,t.latestValues[e]??null),i=a[e];if(void 0===i||l&&Mi(l,e))continue;const o={delay:n,...Ln(r||{},e)};let c=!1;if(window.MotionHandoffAnimation){const n=yi(t);if(n){const t=window.MotionHandoffAnimation(n,e,K);null!==t&&(o.startTime=t,c=!0)}}fi(t,e),s.start(Si(e,s,i,t.shouldReduceMotion&&Dn.has(e)?{type:!1}:o,t,c));const h=s.animation;h&&u.push(h)}return o&&Promise.all(u).then((()=>{K.update((()=>{o&&pi(t,o)}))})),u}const Ai=()=>({x:{min:0,max:0},y:{min:0,max:0}}),Ei={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"]},ki={};for(const t in Ei)ki[t]={isEnabled:e=>Ei[t].some((t=>!!e[t]))};const Pi="undefined"!=typeof window,Ci={current:null},Fi={current:!1};const Oi=["initial","animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"];function Ri(t){return null!==(e=t.animate)&&"object"==typeof e&&"function"==typeof e.start||Oi.some((e=>function(t){return"string"==typeof t||Array.isArray(t)}(t[e])));var e}const Bi=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Li{scrapeMotionValuesFromProps(t,e,n){return{}}constructor({parent:t,props:e,presenceContext:n,reducedMotionConfig:s,blockInitialAnimation:i,visualState:r},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=sn,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const t=H.now();this.renderScheduledAt<t&&(this.renderScheduledAt=t,K.render(this.render,!1,!0))};const{latestValues:a,renderState:u,onUpdate:l}=r;this.onUpdate=l,this.latestValues=a,this.baseTarget={...a},this.initialValues=e.initial?{...a}:{},this.renderState=u,this.parent=t,this.props=e,this.presenceContext=n,this.depth=t?t.depth+1:0,this.reducedMotionConfig=s,this.options=o,this.blockInitialAnimation=Boolean(i),this.isControllingVariants=Ri(e),this.isVariantNode=function(t){return Boolean(Ri(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!==a[t]&&qs(e)&&e.set(a[t],!1)}}mount(t){this.current=t,ui.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))),Fi.current||function(){if(Fi.current=!0,Pi)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>Ci.current=t.matches;t.addListener(e),e()}else Ci.current=!1}(),this.shouldReduceMotion="never"!==this.reducedMotionConfig&&("always"===this.reducedMotionConfig||Ci.current),this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),$(this.notifyUpdate),$(this.render),this.valueSubscriptions.forEach((t=>t())),this.valueSubscriptions.clear(),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){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const n=Ye.has(t);n&&this.onBindTransform&&this.onBindTransform();const s=e.on("change",(e=>{this.latestValues[t]=e,this.props.onUpdate&&K.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0)})),i=e.on("renderRequest",this.scheduleRender);let r;window.MotionCheckAppearSync&&(r=window.MotionCheckAppearSync(this,t,e)),this.valueSubscriptions.set(t,(()=>{s(),i(),r&&r(),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 ki){const e=ki[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<Bi.length;e++){const n=Bi[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 i=e[s],r=n[s];if(qs(i))t.addValue(s,i);else if(qs(r))t.addValue(s,As(i,{owner:t}));else if(r!==i)if(t.hasValue(s)){const e=t.getValue(s);!0===e.liveStyle?e.jump(i):e.hasAnimated||e.set(i)}else{const e=t.getStaticValue(s);t.addValue(s,As(void 0!==e?e:i,{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(),this.onUpdate&&this.onUpdate(this)}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const e=this.getClosestVariantNode();if(e)return e.variantChildren&&e.variantChildren.add(t),()=>e.variantChildren.delete(t)}addValue(t,e){const n=this.values.get(t);e!==n&&(n&&this.removeValue(t),this.bindToMotionValue(t,e),this.values.set(t,e),this.latestValues[t]=e.get())}removeValue(t){this.values.delete(t);const e=this.valueSubscriptions.get(t);e&&(e(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,e){if(this.props.values&&this.props.values[t])return this.props.values[t];let n=this.values.get(t);return void 0===n&&void 0!==e&&(n=As(null===e?void 0:e,{owner:this}),this.addValue(t,n)),n}readValue(t,e){let n=void 0===this.latestValues[t]&&this.current?this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options):this.latestValues[t];return null!=n&&("string"==typeof n&&(o(n)||a(n))?n=parseFloat(n):!ks(n)&&kt.test(e)&&(n=Gn(t,e)),this.setBaseTarget(t,qs(n)?n.get():n)),qs(n)?n.get():n}setBaseTarget(t,e){this.baseTarget[t]=e}getBaseTarget(t){const{initial:e}=this.props;let n;if("string"==typeof e||"object"==typeof e){const s=hi(this.props,e,this.presenceContext?.custom);s&&(n=s[t])}if(e&&void 0!==n)return n;const s=this.getBaseTargetFromProps(this.props,t);return void 0===s||qs(s)?void 0!==this.initialValues[t]&&void 0===n?void 0:this.baseTarget[t]:s}on(t,e){return this.events[t]||(this.events[t]=new p),this.events[t].add(e)}notify(t,...e){this.events[t]&&this.events[t].notify(...e)}}class Di extends Li{constructor(){super(...arguments),this.KeyframeResolver=_n}sortInstanceNodePosition(t,e){return 2&t.compareDocumentPosition(e)?1:-1}getBaseTargetFromProps(t,e){return t.style?t.style[e]:void 0}removeValueFromRenderState(t,{vars:e,style:n}){delete e[t],delete n[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;qs(t)&&(this.childSubscription=t.on("change",(t=>{this.current&&(this.current.textContent=`${t}`)})))}}const Ii={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Wi=Ue.length;function Ni(t,e,n){const{style:s,vars:i,transformOrigin:r}=t;let o=!1,a=!1;for(const t in e){const n=e[t];if(Ye.has(t))o=!0;else if(Z(t))i[t]=n;else{const e=Ps(n,Xn[t]);t.startsWith("origin")?(a=!0,r[t]=e):s[t]=e}}if(e.transform||(o||n?s.transform=function(t,e,n){let s="",i=!0;for(let r=0;r<Wi;r++){const o=Ue[r],a=t[o];if(void 0===a)continue;let u=!0;if(u="number"==typeof a?a===(o.startsWith("scale")?1:0):0===parseFloat(a),!u||n){const t=Ps(a,Xn[o]);u||(i=!1,s+=`${Ii[o]||o}(${t}) `),n&&(e[o]=t)}}return s=s.trim(),n?s=n(e,i?"":s):i&&(s="none"),s}(e,t.transform,n):s.transform&&(s.transform="none")),a){const{originX:t="50%",originY:e="50%",originZ:n=0}=r;s.transformOrigin=`${t} ${e} ${n}`}}const ji={offset:"stroke-dashoffset",array:"stroke-dasharray"},Ki={offset:"strokeDashoffset",array:"strokeDasharray"};function $i(t,e,n){return"string"==typeof t?t:ft.transform(e+n*t)}function zi(t,{attrX:e,attrY:n,attrScale:s,originX:i,originY:r,pathLength:o,pathSpacing:a=1,pathOffset:u=0,...l},c,h){if(Ni(t,l,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!==i||void 0!==r||p.transform)&&(p.transformOrigin=function(t,e,n){return`${$i(e,t.x,t.width)} ${$i(n,t.y,t.height)}`}(f,void 0!==i?i:.5,void 0!==r?r:.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,i=!0){t.pathLength=1;const r=i?ji:Ki;t[r.offset]=ft.transform(-s);const o=ft.transform(e),a=ft.transform(n);t[r.array]=`${o} ${a}`}(d,o,a,u,!1)}const Ui=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 Yi(t,{style:e,vars:n},s,i){Object.assign(t.style,e,i&&i.getProjectionStyles(s));for(const e in n)t.style.setProperty(e,n[e])}const Xi={};function Hi(t,{layout:e,layoutId:n}){return Ye.has(t)||t.startsWith("origin")||(e||void 0!==n)&&(!!Xi[t]||"opacity"===t)}function qi(t,e,n){const{style:s}=t,i={};for(const r in s)(qs(s[r])||e.style&&qs(e.style[r])||Hi(r,t)||void 0!==n?.getValue(r)?.liveStyle)&&(i[r]=s[r]);return i}class Gi extends Di{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Ai,this.updateDimensions=()=>{this.current&&!this.renderState.dimensions&&function(t,e){try{e.dimensions="function"==typeof t.getBBox?t.getBBox():t.getBoundingClientRect()}catch(t){e.dimensions={x:0,y:0,width:0,height:0}}}(this.current,this.renderState)}}getBaseTargetFromProps(t,e){return t[e]}readValueFromInstance(t,e){if(Ye.has(e)){const t=qn(e);return t&&t.default||0}return e=Ui.has(e)?e:mi(e),t.getAttribute(e)}scrapeMotionValuesFromProps(t,e,n){return function(t,e,n){const s=qi(t,e,n);for(const n in t)(qs(t[n])||qs(e[n]))&&(s[-1!==Ue.indexOf(n)?"attr"+n.charAt(0).toUpperCase()+n.substring(1):n]=t[n]);return s}(t,e,n)}onBindTransform(){this.current&&!this.renderState.dimensions&&K.postRender(this.updateDimensions)}build(t,e,n){zi(t,e,this.isSVGTag,n.transformTemplate)}renderInstance(t,e,n,s){!function(t,e,n,s){Yi(t,e,void 0,s);for(const n in e.attrs)t.setAttribute(Ui.has(n)?n:mi(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 Zi extends Di{constructor(){super(...arguments),this.type="html",this.renderInstance=Yi}readValueFromInstance(t,e){if(Ye.has(e))return $e(t,e);{const s=(n=t,window.getComputedStyle(n)),i=(Z(e)?s.getPropertyValue(e):s[e])||0;return"string"==typeof i?i.trim():i}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){Ni(t,e,n.transformTemplate)}scrapeMotionValuesFromProps(t,e,n){return qi(t,e,n)}}class _i extends Li{constructor(){super(...arguments),this.type="object"}readValueFromInstance(t,e){if(function(t,e){return t in e}(e,t)){const n=t[e];if("string"==typeof n||"number"==typeof n)return n}}getBaseTargetFromProps(){}removeValueFromRenderState(t,e){delete e.output[t]}measureInstanceViewportBox(){return{x:{min:0,max:0},y:{min:0,max:0}}}build(t,e){Object.assign(t.output,e)}renderInstance(t,{output:e}){Object.assign(t,e)}sortInstanceNodePosition(){return 0}}function Ji(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 Gi(e):new Zi(e);n.mount(t),ui.set(t,n)}function Qi(t){const e=new _i({presenceContext:null,props:{},visualState:{renderState:{output:{}},latestValues:{}}});e.mount(t),ui.set(t,e)}function tr(t,e,n,s){const i=[];if(function(t,e){return qs(t)||"number"==typeof t||"string"==typeof t&&!Gs(e)}(t,e))i.push(function(t,e,n){const s=qs(t)?t:As(t);return s.start(Si("",s,e,n)),s.animation}(t,Gs(e)&&e.default||e,n&&n.default||n));else{const r=Zs(t,e,s),o=r.length;for(let t=0;t<o;t++){const s=r[t],a=s instanceof Element?Ji:Qi;ui.has(s)||a(s);const u=ui.get(s),l={...n};"delay"in l&&"function"==typeof l.delay&&(l.delay=l.delay(t,o)),i.push(...Vi(u,{...e,transition:l},{}))}}return i}function er(t,e,n){const s=[],i=function(t,{defaultTransition:e={},...n}={},s,i){const r=e.duration||.3,o=new Map,a=new Map,u={},l=new Map;let c=0,h=0,p=0;for(let n=0;n<t.length;n++){const o=t[n];if("string"==typeof o){l.set(o,h);continue}if(!Array.isArray(o)){l.set(o.name,Js(h,o.at,c,l));continue}let[d,m,g={}]=o;void 0!==g.at&&(h=Js(h,g.at,c,l));let y=0;const v=(t,n,s,o=0,a=0)=>{const u=ii(t),{delay:l=0,times:c=Te(u),type:d="keyframes",repeat:m,repeatType:g,repeatDelay:v=0,...w}=n;let{ease:b=e.ease||"easeOut",duration:T}=n;const x="function"==typeof l?l(o,a):l,S=u.length,M=mn(d)?d:i?.[d];if(S<=2&&M){let t=100;if(2===S&&ai(u)){const e=u[1]-u[0];t=Math.abs(e)}const e={...w};void 0!==T&&(e.duration=f(T));const n=Gt(e,t,M);b=n.ease,T=n.duration}T??(T=r);const V=h+x;1===c.length&&0===c[0]&&(c[1]=1);const A=c.length-u.length;if(A>0&&be(c,A),1===u.length&&u.unshift(null),m){T=_s(T,m);const t=[...u],e=[...c];b=Array.isArray(b)?[...b]:[b];const n=[...b];for(let s=0;s<m;s++){u.push(...t);for(let i=0;i<t.length;i++)c.push(e[i]+(s+1)),b.push(0===i?"linear":B(n,i-1))}ti(c,m)}const E=V+T;Qs(s,u,b,c,V,E),y=Math.max(x+T,y),p=Math.max(E,p)};if(qs(d))v(m,g,si("default",ni(d,a)));else{const t=Zs(d,m,s,u),e=t.length;for(let n=0;n<e;n++){const s=ni(t[n],a);for(const t in m)v(m[t],ri(g,t),si(t,s),n,e)}}c=h,h+=y}return a.forEach(((t,s)=>{for(const i in t){const r=t[i];r.sort(ei);const a=[],u=[],l=[];for(let t=0;t<r.length;t++){const{at:e,value:n,easing:s}=r[t];a.push(n),u.push(d(0,p,e)),l.push(s||"easeOut")}0!==u[0]&&(u.unshift(0),a.unshift(a[0]),l.unshift("easeInOut")),1!==u[u.length-1]&&(u.push(1),a.push(null)),o.has(s)||o.set(s,{keyframes:{},transition:{}});const c=o.get(s);c.keyframes[i]=a,c.transition[i]={...e,duration:p,ease:l,times:u,...n}}})),o}(t,e,n,{spring:ye});return i.forEach((({keyframes:t,transition:e},n)=>{s.push(...tr(n,t,e))})),s}function nr(t){return function(e,n,s){let i=[];var r;r=e,i=Array.isArray(r)&&r.some(Array.isArray)?er(e,n,t):tr(e,n,s,t);const o=new En(i);return t&&t.animations.push(o),o}}const sr=nr();const ir=t=>function(e,n,s){return new En(function(t,e,n,s){const i=os(t,s),r=i.length,o=[];for(let t=0;t<r;t++){const s=i[t],a={...n};"function"==typeof a.delay&&(a.delay=a.delay(t,r));for(const t in e){let n=e[t];Array.isArray(n)||(n=[n]);const i={...Ln(a,t)};i.duration&&(i.duration=f(i.duration)),i.delay&&(i.delay=f(i.delay));const r=Fn(s),u=Cn(t,i.pseudoElement||""),l=r.get(u);l&&l.stop(),o.push({map:r,key:u,unresolvedKeyframes:n,options:{...i,element:s,name:t,allowFlatten:!a.type&&!a.ease}})}}for(let t=0;t<o.length;t++){const{unresolvedKeyframes:e,options:n}=o[t],{element:s,name:i,pseudoElement:r}=n;r||null!==e[0]||(e[0]=gs(s,i)),Oe(e),Qn(e,i),!r&&e.length<2&&e.unshift(gs(s,i)),n.keyframes=e}const a=[];for(let t=0;t<o.length;t++){const{map:e,key:n,options:s}=o[t],i=new yn(s);e.set(n,i),i.finished.finally((()=>e.delete(n))),a.push(i)}return a}(e,n,s,t))},rr=ir(),or=new WeakMap;let ar;function ur({target:t,contentRect:e,borderBoxSize:n}){or.get(t)?.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 lr(t){t.forEach(ur)}function cr(t,e){ar||"undefined"!=typeof ResizeObserver&&(ar=new ResizeObserver(lr));const n=os(t);return n.forEach((t=>{let n=or.get(t);n||(n=new Set,or.set(t,n)),n.add(e),ar?.observe(t)})),()=>{n.forEach((t=>{const n=or.get(t);n?.delete(e),n?.size||ar?.unobserve(t)}))}}const hr=new Set;let dr;function pr(t){return hr.add(t),dr||(dr=()=>{const t={width:window.innerWidth,height:window.innerHeight},e={target:window,size:t,contentSize:t};hr.forEach((t=>t(e)))},window.addEventListener("resize",dr)),()=>{hr.delete(t),!hr.size&&dr&&(dr=void 0)}}const fr={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function mr(t,e,n,s){const i=n[e],{length:r,position:o}=fr[e],a=i.current,u=n.time;i.current=t[`scroll${o}`],i.scrollLength=t[`scroll${r}`]-t[`client${r}`],i.offset.length=0,i.offset[0]=0,i.offset[1]=i.scrollLength,i.progress=d(0,i.scrollLength,i.current);const l=s-u;i.velocity=l>50?0:g(i.current-a,l)}const gr={start:0,center:.5,end:1};function yr(t,e,n=0){let s=0;if(t in gr&&(t=gr[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 vr=[0,0];function wr(t,e,n,s){let i=Array.isArray(t)?t:vr,r=0,o=0;return"number"==typeof t?i=[t,t]:"string"==typeof t&&(i=(t=t.trim()).includes(" ")?t.split(" "):[t,gr[t]?t:"0"]),r=yr(i[0],n,s),o=yr(i[1],e),r-o}const br={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},Tr={x:0,y:0};function xr(t,e,n){const{offset:i=br.All}=n,{target:r=t,axis:o="y"}=n,a="y"===o?"height":"width",u=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 i=null,r=s.parentNode;for(;!i;)"svg"===r.tagName&&(i=r),r=s.parentNode;s=i}}return n}(r,t):Tr,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),c={width:t.clientWidth,height:t.clientHeight};e[o].offset.length=0;let h=!e[o].interpolate;const d=i.length;for(let t=0;t<d;t++){const n=wr(i[t],c[a],l[a],u[o]);h||n===e[o].interpolatorOffsets[t]||(h=!0),e[o].offset[t]=n}h&&(e[o].interpolate=we(e[o].offset,Te(i),{clamp:!1}),e[o].interpolatorOffsets=[...e[o].offset]),e[o].progress=s(0,1,e[o].interpolate(e[o].current))}function Sr(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){mr(t,"x",e,n),mr(t,"y",e,n),e.time=n}(t,n,e),(s.offset||s.target)&&xr(t,n,s)},notify:()=>e(n)}}const Mr=new WeakMap,Vr=new WeakMap,Ar=new WeakMap,Er=t=>t===document.documentElement?window:t;function kr(t,{container:e=document.documentElement,...n}={}){let s=Ar.get(e);s||(s=new Set,Ar.set(e,s));const i=Sr(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(i),!Mr.has(e)){const t=()=>{for(const t of s)t.measure()},n=()=>{for(const t of s)t.update(z.timestamp)},i=()=>{for(const t of s)t.notify()},a=()=>{K.read(t,!1,!0),K.read(n,!1,!0),K.update(i,!1,!0)};Mr.set(e,a);const u=Er(e);window.addEventListener("resize",a,{passive:!0}),e!==document.documentElement&&Vr.set(e,(o=a,"function"==typeof(r=e)?pr(r):cr(r,o))),u.addEventListener("scroll",a,{passive:!0})}var r,o;const a=Mr.get(e);return K.read(a,!1,!0),()=>{$(a);const t=Ar.get(e);if(!t)return;if(t.delete(i),t.size)return;const n=Mr.get(e);Mr.delete(e),n&&(Er(e).removeEventListener("scroll",n),Vr.get(e)?.(),window.removeEventListener("resize",n))}}const Pr=new Map;function Cr({source:t,container:e,...n}){const{axis:s}=n;t&&(e=t),Pr.has(e)||Pr.set(e,{});const i=Pr.get(e);return i[s]||(i[s]=an()?new ScrollTimeline({source:e,axis:s}):function(t){const e={value:0},n=kr((n=>{e.value=100*n[t.axis].progress}),t);return{currentTime:e,cancel:n}}({container:e,...n})),i[s]}const Fr={some:0,all:1};const Or=(t,e)=>Math.abs(t-e);t.AsyncMotionValueAnimation=Vn,t.DOMKeyframesResolver=_n,t.GroupAnimation=An,t.GroupAnimationWithThen=En,t.JSAnimation=Fe,t.KeyframeResolver=sn,t.MotionGlobalConfig=r,t.MotionValue=Vs,t.NativeAnimation=yn,t.NativeAnimationExtended=bn,t.NativeAnimationWrapper=kn,t.SubscriptionManager=p,t.ViewTransitionBuilder=Ys,t.acceleratedValues=es,t.activeAnimations=q,t.addUniqueItem=e,t.alpha=et,t.analyseComplexValue=Mt,t.animate=sr,t.animateMini=rr,t.animateValue=function(t){return new Fe(t)},t.animateView=function(t,e={}){return new Ys(t,e)},t.animationMapKey=Cn,t.anticipate=A,t.applyPxDefaults=Qn,t.backIn=M,t.backInOut=V,t.backOut=S,t.calcGeneratorDuration=qt,t.cancelFrame=$,t.cancelMicrotask=ss,t.cancelSync=Hs,t.circIn=E,t.circInOut=P,t.circOut=k,t.clamp=s,t.collectMotionValues=Ms,t.color=wt,t.complex=kt,t.convertOffsetToTimes=xe,t.createGeneratorEasing=Gt,t.createRenderBatcher=j,t.createScopedAnimate=nr,t.cubicBezier=b,t.cubicBezierAsString=hn,t.defaultEasing=Se,t.defaultOffset=Te,t.defaultValueTypes=Hn,t.degrees=dt,t.delay=function(t,e){return function(t,e){const n=H.now(),s=({timestamp:i})=>{const r=i-n;r>=e&&($(s),t(r-e))};return K.setup(s,!0),()=>$(s)}(t,f(e))},t.dimensionValueTypes=Wn,t.distance=Or,t.distance2D=function(t,e){const n=Or(t.x,e.x),s=Or(t.y,e.y);return Math.sqrt(n**2+s**2)},t.easeIn=C,t.easeInOut=O,t.easeOut=F,t.easingDefinitionToFunction=I,t.fillOffset=be,t.fillWildcards=Oe,t.findDimensionValueType=Nn,t.findValueType=ks,t.flushKeyframeResolvers=nn,t.frame=K,t.frameData=z,t.frameSteps=U,t.generateLinearEasing=Xt,t.getAnimatableNone=Gn,t.getAnimationMap=Fn,t.getComputedStyle=gs,t.getDefaultValueType=qn,t.getEasingForSegment=B,t.getMixer=jt,t.getValueAsType=Ps,t.getValueTransition=Ln,t.getVariableValue=Bn,t.hasWarned=function(t){return y.has(t)},t.hex=ct,t.hover=function(t,e,n={}){const[s,i,r]=as(t,n),o=t=>{if(!us(t))return;const{target:n}=t,s=e(n,t);if("function"!=typeof s||!n)return;const r=t=>{us(t)&&(s(t),n.removeEventListener("pointerleave",r))};n.addEventListener("pointerleave",r,i)};return s.forEach((t=>{t.addEventListener("pointerenter",o,i)})),r},t.hsla=vt,t.hslaToRgba=Ct,t.inView=function(t,e,{root:n,margin:s,amount:i="some"}={}){const r=os(t),o=new WeakMap,a=new IntersectionObserver((t=>{t.forEach((t=>{const n=o.get(t.target);if(t.isIntersecting!==Boolean(n))if(t.isIntersecting){const n=e(t.target,t);"function"==typeof n?o.set(t.target,n):a.unobserve(t.target)}else"function"==typeof n&&(n(t),o.delete(t.target))}))}),{root:n,rootMargin:s,threshold:"number"==typeof i?i:Fr[i]});return r.forEach((t=>a.observe(t))),()=>a.disconnect()},t.inertia=ve,t.interpolate=we,t.invariant=i,t.invisibleValues=It,t.isBezierDefinition=L,t.isCSSVariableName=Z,t.isCSSVariableToken=J,t.isDragActive=rs,t.isDragging=is,t.isEasingArray=R,t.isGenerator=mn,t.isNodeOrChild=ls,t.isNumericalString=o,t.isPrimaryPointer=cs,t.isWaapiSupportedEasing=function t(e){return Boolean("function"==typeof e&&cn()||!e||"string"==typeof e&&(e in dn||cn())||L(e)||Array.isArray(e)&&e.every(t))},t.isZeroValueString=a,t.keyframes=Me,t.mapEasingToNativeEasing=pn,t.maxGeneratorDuration=Ht,t.memo=u,t.microtask=ns,t.millisecondsToSeconds=m,t.mirrorEasing=T,t.mix=Ut,t.mixArray=Kt,t.mixColor=Dt,t.mixComplex=zt,t.mixImmediate=Ft,t.mixLinearColor=Rt,t.mixNumber=Ot,t.mixObject=$t,t.mixVisibility=Wt,t.motionValue=As,t.moveItem=function([...t],e,n){const s=e<0?t.length+e:e;if(s>=0&&s<t.length){const s=n<0?t.length+n:n,[i]=t.splice(e,1);t.splice(s,0,i)}return t},t.noop=l,t.number=tt,t.numberValueTypes=Xn,t.observeTimeline=ys,t.parseCSSVariable=Rn,t.parseValueFromTransform=Ke,t.percent=pt,t.pipe=h,t.positionalKeys=Dn,t.press=function(t,e,n={}){const[s,i,r]=as(t,n),o=t=>{const s=t.currentTarget;if(!ms(t)||ds.has(s))return;ds.add(s);const r=e(s,t),o=(t,e)=>{window.removeEventListener("pointerup",a),window.removeEventListener("pointercancel",u),ms(t)&&ds.has(s)&&(ds.delete(s),"function"==typeof r&&r(t,{success:e}))},a=t=>{o(t,s===window||s===document||n.useGlobalTarget||ls(s,t.target))},u=t=>{o(t,!1)};window.addEventListener("pointerup",a,i),window.addEventListener("pointercancel",u,i)};return s.forEach((t=>{var e;(n.useGlobalTarget?window:t).addEventListener("pointerdown",o,i),t instanceof HTMLElement&&(t.addEventListener("focus",(t=>((t,e)=>{const n=t.currentTarget;if(!n)return;const s=ps((()=>{if(ds.has(n))return;fs(n,"down");const t=ps((()=>{fs(n,"up")}));n.addEventListener("keyup",t,e),n.addEventListener("blur",(()=>fs(n,"cancel")),e)}));n.addEventListener("keydown",s,e),n.addEventListener("blur",(()=>n.removeEventListener("keydown",s)),e)})(t,i))),e=t,hs.has(e.tagName)||-1!==e.tabIndex||t.hasAttribute("tabindex")||(t.tabIndex=0))})),r},t.progress=d,t.progressPercentage=yt,t.px=ft,t.readTransformValue=$e,t.recordStats=function(){if(N.value)throw xs(),new Error("Stats are already being measured");const t=N;return t.value={frameloop:{setup:[],rate:[],read:[],resolveKeyframes:[],update:[],preRender:[],render:[],postRender:[]},animations:{mainThread:[],waapi:[],layout:[]},layoutProjection:{nodes:[],calculatedTargetDeltas:[],calculatedProjections:[]}},t.addProjectionMetrics=e=>{const{layoutProjection:n}=t.value;n.nodes.push(e.nodes),n.calculatedTargetDeltas.push(e.calculatedTargetDeltas),n.calculatedProjections.push(e.calculatedProjections)},K.postRender(vs,!0),Ss},t.removeItem=n,t.resolveElements=os,t.reverseEasing=x,t.rgbUnit=ut,t.rgba=lt,t.scale=nt,t.scroll=function(t,{axis:e="y",container:n=document.documentElement,...s}={}){const i={axis:e,container:n,...s};return"function"==typeof t?function(t,e){return function(t){return 2===t.length}(t)?kr((n=>{t(n[e.axis].progress,n)}),e):ys(t,Cr(e))}(t,i):function(t,e){const n=Cr(e);return t.attachTimeline({timeline:n,observe:t=>(t.pause(),ys((e=>{t.time=t.duration*e}),n))})}(t,i)},t.scrollInfo=kr,t.secondsToMilliseconds=f,t.setDragLock=function(t){return"x"===t||"y"===t?is[t]?null:(is[t]=!0,()=>{is[t]=!1}):is.x||is.y?null:(is.x=is.y=!0,()=>{is.x=is.y=!1})},t.setStyle=on,t.spring=ye,t.stagger=function(t=.1,{startDelay:e=0,from:n=0,ease:s}={}){return(i,r)=>{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,r),a=Math.abs(o-i);let u=t*a;if(s){const e=r*t;u=I(s)(u/e)*e}return e+u}},t.startWaapiAnimation=fn,t.statsBuffer=N,t.steps=function(t,e="end"){return n=>{const i=(n="end"===e?Math.min(n,.999):Math.max(n,.001))*t,r="end"===e?Math.floor(i):Math.ceil(i);return s(0,1,r/t)}},t.supportedWaapiEasing=dn,t.supportsBrowserAnimation=Mn,t.supportsFlags=un,t.supportsLinearEasing=cn,t.supportsPartialKeyframes=ts,t.supportsScrollTimeline=an,t.sync=Xs,t.testValueType=In,t.time=H,t.transform=function(...t){const e=!Array.isArray(t[0]),n=e?0:-1,s=t[0+n],i=t[1+n],r=t[2+n],o=t[3+n],a=we(i,r,{mixer:(u=r[0],(t=>t&&"object"==typeof t&&t.mix)(u)?u.mix:void 0),...o});var u;return e?a(s):a},t.transformPropOrder=Ue,t.transformProps=Ye,t.transformValueTypes=Yn,t.velocityPerSecond=g,t.vh=mt,t.vw=gt,t.warnOnce=function(t,e,n){t||y.has(e)||(console.warn(e),n&&console.warn(n),y.add(e))},t.warning=()=>{},t.wrap=v}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Motion={})}(this,(function(t){"use strict";function e(t,e){-1===t.indexOf(e)&&t.push(e)}function n(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const s=(t,e,n)=>n>e?e:n<t?t:n;let i=()=>{};const r={},o=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t),a=t=>/^0[^.\s]+$/u.test(t);function u(t){let e;return()=>(void 0===e&&(e=t()),e)}const l=t=>t,c=(t,e)=>n=>e(t(n)),h=(...t)=>t.reduce(c),d=(t,e,n)=>{const s=e-t;return 0===s?1:(n-t)/s};class p{constructor(){this.subscriptions=[]}add(t){return e(this.subscriptions,t),()=>n(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 i=0;i<s;i++){const s=this.subscriptions[i];s&&s(t,e,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const f=t=>1e3*t,m=t=>t/1e3;function g(t,e){return e?t*(1e3/e):0}const y=new Set;const v=(t,e,n)=>{const s=e-t;return((n-t)%s+s)%s+t},w=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t;function b(t,e,n,s){if(t===e&&n===s)return l;const i=e=>function(t,e,n,s,i){let r,o,a=0;do{o=e+(n-e)/2,r=w(o,s,i)-t,r>0?n=o:e=o}while(Math.abs(r)>1e-7&&++a<12);return o}(e,0,1,t,n);return t=>0===t||1===t?t:w(i(t),e,s)}const T=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,x=t=>e=>1-t(1-e),M=b(.33,1.53,.69,.99),S=x(M),V=T(S),A=t=>(t*=2)<1?.5*S(t):.5*(2-Math.pow(2,-10*(t-1))),E=t=>1-Math.sin(Math.acos(t)),k=x(E),P=T(E),C=b(.42,0,1,1),F=b(0,0,.58,1),O=b(.42,0,.58,1);const R=t=>Array.isArray(t)&&"number"!=typeof t[0];function B(t,e){return R(t)?t[v(0,t.length,e)]:t}const L=t=>Array.isArray(t)&&"number"==typeof t[0],D={linear:l,easeIn:C,easeInOut:O,easeOut:F,circIn:E,circInOut:P,circOut:k,backIn:S,backInOut:V,backOut:M,anticipate:A},I=t=>{if(L(t)){t.length;const[e,n,s,i]=t;return b(e,n,s,i)}return"string"==typeof t?D[t]:t},W=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"],N={value:null,addProjectionMetrics:null};function j(t,e){let n=!1,s=!0;const i={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,a=W.reduce(((t,n)=>(t[n]=function(t,e){let n=new Set,s=new Set,i=!1,r=!1;const o=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1},u=0;function l(e){o.has(e)&&(c.schedule(e),t()),u++,e(a)}const c={schedule:(t,e=!1,r=!1)=>{const a=r&&i?n:s;return e&&o.add(t),a.has(t)||a.add(t),t},cancel:t=>{s.delete(t),o.delete(t)},process:t=>{a=t,i?r=!0:(i=!0,[n,s]=[s,n],n.forEach(l),e&&N.value&&N.value.frameloop[e].push(u),u=0,n.clear(),i=!1,r&&(r=!1,c.process(t)))}};return c}(o,e?n:void 0),t)),{}),{setup:u,read:l,resolveKeyframes:c,preUpdate:h,update:d,preRender:p,render:f,postRender:m}=a,g=()=>{const o=r.useManualTiming?i.timestamp:performance.now();n=!1,r.useManualTiming||(i.delta=s?1e3/60:Math.max(Math.min(o-i.timestamp,40),1)),i.timestamp=o,i.isProcessing=!0,u.process(i),l.process(i),c.process(i),h.process(i),d.process(i),p.process(i),f.process(i),m.process(i),i.isProcessing=!1,n&&e&&(s=!1,t(g))};return{schedule:W.reduce(((e,r)=>{const o=a[r];return e[r]=(e,r=!1,a=!1)=>(n||(n=!0,s=!0,i.isProcessing||t(g)),o.schedule(e,r,a)),e}),{}),cancel:t=>{for(let e=0;e<W.length;e++)a[W[e]].cancel(t)},state:i,steps:a}}const{schedule:K,cancel:$,state:U,steps:z}=j("undefined"!=typeof requestAnimationFrame?requestAnimationFrame:l,!0);let Y;function X(){Y=void 0}const H={now:()=>(void 0===Y&&H.set(U.isProcessing||r.useManualTiming?U.timestamp:performance.now()),Y),set:t=>{Y=t,queueMicrotask(X)}},q={layout:0,mainThread:0,waapi:0},G=t=>e=>"string"==typeof e&&e.startsWith(t),Z=G("--"),_=G("var(--"),J=t=>!!_(t)&&Q.test(t.split("/*")[0].trim()),Q=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,tt={test:t=>"number"==typeof t,parse:parseFloat,transform:t=>t},et={...tt,transform:t=>s(0,1,t)},nt={...tt,default:1},st=t=>Math.round(1e5*t)/1e5,it=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;const rt=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,ot=(t,e)=>n=>Boolean("string"==typeof n&&rt.test(n)&&n.startsWith(t)||e&&!function(t){return null==t}(n)&&Object.prototype.hasOwnProperty.call(n,e)),at=(t,e,n)=>s=>{if("string"!=typeof s)return s;const[i,r,o,a]=s.match(it);return{[t]:parseFloat(i),[e]:parseFloat(r),[n]:parseFloat(o),alpha:void 0!==a?parseFloat(a):1}},ut={...tt,transform:t=>Math.round((t=>s(0,255,t))(t))},lt={test:ot("rgb","red"),parse:at("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:s=1})=>"rgba("+ut.transform(t)+", "+ut.transform(e)+", "+ut.transform(n)+", "+st(et.transform(s))+")"};const ct={test:ot("#"),parse:function(t){let e="",n="",s="",i="";return t.length>5?(e=t.substring(1,3),n=t.substring(3,5),s=t.substring(5,7),i=t.substring(7,9)):(e=t.substring(1,2),n=t.substring(2,3),s=t.substring(3,4),i=t.substring(4,5),e+=e,n+=n,s+=s,i+=i),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:i?parseInt(i,16)/255:1}},transform:lt.transform},ht=t=>({test:e=>"string"==typeof e&&e.endsWith(t)&&1===e.split(" ").length,parse:parseFloat,transform:e=>`${e}${t}`}),dt=ht("deg"),pt=ht("%"),ft=ht("px"),mt=ht("vh"),gt=ht("vw"),yt=(()=>({...pt,parse:t=>pt.parse(t)/100,transform:t=>pt.transform(100*t)}))(),vt={test:ot("hsl","hue"),parse:at("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:s=1})=>"hsla("+Math.round(t)+", "+pt.transform(st(e))+", "+pt.transform(st(n))+", "+st(et.transform(s))+")"},wt={test:t=>lt.test(t)||ct.test(t)||vt.test(t),parse:t=>lt.test(t)?lt.parse(t):vt.test(t)?vt.parse(t):ct.parse(t),transform:t=>"string"==typeof t?t:t.hasOwnProperty("red")?lt.transform(t):vt.transform(t)},bt=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;const Tt="number",xt="color",Mt=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function St(t){const e=t.toString(),n=[],s={color:[],number:[],var:[]},i=[];let r=0;const o=e.replace(Mt,(t=>(wt.test(t)?(s.color.push(r),i.push(xt),n.push(wt.parse(t))):t.startsWith("var(")?(s.var.push(r),i.push("var"),n.push(t)):(s.number.push(r),i.push(Tt),n.push(parseFloat(t))),++r,"${}"))).split("${}");return{values:n,split:o,indexes:s,types:i}}function Vt(t){return St(t).values}function At(t){const{split:e,types:n}=St(t),s=e.length;return t=>{let i="";for(let r=0;r<s;r++)if(i+=e[r],void 0!==t[r]){const e=n[r];i+=e===Tt?st(t[r]):e===xt?wt.transform(t[r]):t[r]}return i}}const Et=t=>"number"==typeof t?0:t;const kt={test:function(t){return isNaN(t)&&"string"==typeof t&&(t.match(it)?.length||0)+(t.match(bt)?.length||0)>0},parse:Vt,createTransformer:At,getAnimatableNone:function(t){const e=Vt(t);return At(t)(e.map(Et))}};function Pt(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 Ct({hue:t,saturation:e,lightness:n,alpha:s}){t/=360,n/=100;let i=0,r=0,o=0;if(e/=100){const s=n<.5?n*(1+e):n+e-n*e,a=2*n-s;i=Pt(a,s,t+1/3),r=Pt(a,s,t),o=Pt(a,s,t-1/3)}else i=r=o=n;return{red:Math.round(255*i),green:Math.round(255*r),blue:Math.round(255*o),alpha:s}}function Ft(t,e){return n=>n>0?e:t}const Ot=(t,e,n)=>t+(e-t)*n,Rt=(t,e,n)=>{const s=t*t,i=n*(e*e-s)+s;return i<0?0:Math.sqrt(i)},Bt=[ct,lt,vt];function Lt(t){const e=(n=t,Bt.find((t=>t.test(n))));var n;if(!Boolean(e))return!1;let s=e.parse(t);return e===vt&&(s=Ct(s)),s}const Dt=(t,e)=>{const n=Lt(t),s=Lt(e);if(!n||!s)return Ft(t,e);const i={...n};return t=>(i.red=Rt(n.red,s.red,t),i.green=Rt(n.green,s.green,t),i.blue=Rt(n.blue,s.blue,t),i.alpha=Ot(n.alpha,s.alpha,t),lt.transform(i))},It=new Set(["none","hidden"]);function Wt(t,e){return It.has(t)?n=>n<=0?t:e:n=>n>=1?e:t}function Nt(t,e){return n=>Ot(t,e,n)}function jt(t){return"number"==typeof t?Nt:"string"==typeof t?J(t)?Ft:wt.test(t)?Dt:Ut:Array.isArray(t)?Kt:"object"==typeof t?wt.test(t)?Dt:$t:Ft}function Kt(t,e){const n=[...t],s=n.length,i=t.map(((t,n)=>jt(t)(t,e[n])));return t=>{for(let e=0;e<s;e++)n[e]=i[e](t);return n}}function $t(t,e){const n={...t,...e},s={};for(const i in n)void 0!==t[i]&&void 0!==e[i]&&(s[i]=jt(t[i])(t[i],e[i]));return t=>{for(const e in s)n[e]=s[e](t);return n}}const Ut=(t,e)=>{const n=kt.createTransformer(e),s=St(t),i=St(e);return s.indexes.var.length===i.indexes.var.length&&s.indexes.color.length===i.indexes.color.length&&s.indexes.number.length>=i.indexes.number.length?It.has(t)&&!i.values.length||It.has(e)&&!s.values.length?Wt(t,e):h(Kt(function(t,e){const n=[],s={color:0,var:0,number:0};for(let i=0;i<e.values.length;i++){const r=e.types[i],o=t.indexes[r][s[r]],a=t.values[o]??0;n[i]=a,s[r]++}return n}(s,i),i.values),n):Ft(t,e)};function zt(t,e,n){if("number"==typeof t&&"number"==typeof e&&"number"==typeof n)return Ot(t,e,n);return jt(t)(t,e)}const Yt=t=>{const e=({timestamp:e})=>t(e);return{start:()=>K.update(e,!0),stop:()=>$(e),now:()=>U.isProcessing?U.timestamp:H.now()}},Xt=(t,e,n=10)=>{let s="";const i=Math.max(Math.round(e/n),2);for(let e=0;e<i;e++)s+=t(e/(i-1))+", ";return`linear(${s.substring(0,s.length-2)})`},Ht=2e4;function qt(t){let e=0;let n=t.next(e);for(;!n.done&&e<Ht;)e+=50,n=t.next(e);return e>=Ht?1/0:e}function Gt(t,e=100,n){const s=n({...t,keyframes:[0,e]}),i=Math.min(qt(s),Ht);return{type:"keyframes",ease:t=>s.next(i*t).value/e,duration:m(i)}}function Zt(t,e,n){const s=Math.max(e-5,0);return g(n-t(s),e-s)}const _t=100,Jt=10,Qt=1,te=0,ee=800,ne=.3,se=.3,ie={granular:.01,default:2},re={granular:.005,default:.5},oe=.01,ae=10,ue=.05,le=1,ce=.001;function he({duration:t=ee,bounce:e=ne,velocity:n=te,mass:i=Qt}){let r,o,a=1-e;a=s(ue,le,a),t=s(oe,ae,m(t)),a<1?(r=e=>{const s=e*a,i=s*t,r=s-n,o=pe(e,a),u=Math.exp(-i);return ce-r/o*u},o=e=>{const s=e*a*t,i=s*n+n,o=Math.pow(a,2)*Math.pow(e,2)*t,u=Math.exp(-s),l=pe(Math.pow(e,2),a);return(-r(e)+ce>0?-1:1)*((i-o)*u)/l}):(r=e=>Math.exp(-e*t)*((e-n)*t+1)-.001,o=e=>Math.exp(-e*t)*(t*t*(n-e)));const u=function(t,e,n){let s=n;for(let n=1;n<de;n++)s-=t(s)/e(s);return s}(r,o,5/t);if(t=f(t),isNaN(u))return{stiffness:_t,damping:Jt,duration:t};{const e=Math.pow(u,2)*i;return{stiffness:e,damping:2*a*Math.sqrt(i*e),duration:t}}}const de=12;function pe(t,e){return t*Math.sqrt(1-e*e)}const fe=["duration","bounce"],me=["stiffness","damping","mass"];function ge(t,e){return e.some((e=>void 0!==t[e]))}function ye(t=se,e=ne){const n="object"!=typeof t?{visualDuration:t,keyframes:[0,1],bounce:e}:t;let{restSpeed:i,restDelta:r}=n;const o=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],u={done:!1,value:o},{stiffness:l,damping:c,mass:h,duration:d,velocity:p,isResolvedFromDuration:g}=function(t){let e={velocity:te,stiffness:_t,damping:Jt,mass:Qt,isResolvedFromDuration:!1,...t};if(!ge(t,me)&&ge(t,fe))if(t.visualDuration){const n=t.visualDuration,i=2*Math.PI/(1.2*n),r=i*i,o=2*s(.05,1,1-(t.bounce||0))*Math.sqrt(r);e={...e,mass:Qt,stiffness:r,damping:o}}else{const n=he(t);e={...e,...n,mass:Qt},e.isResolvedFromDuration=!0}return e}({...n,velocity:-m(n.velocity||0)}),y=p||0,v=c/(2*Math.sqrt(l*h)),w=a-o,b=m(Math.sqrt(l/h)),T=Math.abs(w)<5;let x;if(i||(i=T?ie.granular:ie.default),r||(r=T?re.granular:re.default),v<1){const t=pe(b,v);x=e=>{const n=Math.exp(-v*b*e);return a-n*((y+v*b*w)/t*Math.sin(t*e)+w*Math.cos(t*e))}}else if(1===v)x=t=>a-Math.exp(-b*t)*(w+(y+b*w)*t);else{const t=b*Math.sqrt(v*v-1);x=e=>{const n=Math.exp(-v*b*e),s=Math.min(t*e,300);return a-n*((y+v*b*w)*Math.sinh(s)+t*w*Math.cosh(s))/t}}const M={calculatedDuration:g&&d||null,next:t=>{const e=x(t);if(g)u.done=t>=d;else{let n=0===t?y:0;v<1&&(n=0===t?f(y):Zt(x,t,e));const s=Math.abs(n)<=i,o=Math.abs(a-e)<=r;u.done=s&&o}return u.value=u.done?a:e,u},toString:()=>{const t=Math.min(qt(M),Ht),e=Xt((e=>M.next(t*e).value),t,30);return t+"ms "+e},toTransition:()=>{}};return M}function ve({keyframes:t,velocity:e=0,power:n=.8,timeConstant:s=325,bounceDamping:i=10,bounceStiffness:r=500,modifyTarget:o,min:a,max:u,restDelta:l=.5,restSpeed:c}){const h=t[0],d={done:!1,value:h},p=t=>void 0===a?u:void 0===u||Math.abs(a-t)<Math.abs(u-t)?a:u;let f=n*e;const m=h+f,g=void 0===o?m:o(m);g!==m&&(f=g-h);const y=t=>-f*Math.exp(-t/s),v=t=>g+y(t),w=t=>{const e=y(t),n=v(t);d.done=Math.abs(e)<=l,d.value=d.done?g:n};let b,T;const x=t=>{var e;(e=d.value,void 0!==a&&e<a||void 0!==u&&e>u)&&(b=t,T=ye({keyframes:[d.value,p(d.value)],velocity:Zt(v,t,d.value),damping:i,stiffness:r,restDelta:l,restSpeed:c}))};return x(0),{calculatedDuration:null,next:t=>{let e=!1;return T||void 0!==b||(e=!0,w(t),x(t)),void 0!==b&&t>=b?T.next(t-b):(!e&&w(t),d)}}}function we(t,e,{clamp:n=!0,ease:i,mixer:o}={}){const a=t.length;if(e.length,1===a)return()=>e[0];if(2===a&&e[0]===e[1])return()=>e[1];const u=t[0]===t[1];t[0]>t[a-1]&&(t=[...t].reverse(),e=[...e].reverse());const c=function(t,e,n){const s=[],i=n||r.mix||zt,o=t.length-1;for(let n=0;n<o;n++){let r=i(t[n],t[n+1]);if(e){const t=Array.isArray(e)?e[n]||l:e;r=h(t,r)}s.push(r)}return s}(e,i,o),p=c.length,f=n=>{if(u&&n<t[0])return e[0];let s=0;if(p>1)for(;s<t.length-2&&!(n<t[s+1]);s++);const i=d(t[s],t[s+1],n);return c[s](i)};return n?e=>f(s(t[0],t[a-1],e)):f}function be(t,e){const n=t[t.length-1];for(let s=1;s<=e;s++){const i=d(0,e,s);t.push(Ot(n,1,i))}}function Te(t){const e=[0];return be(e,t.length-1),e}function xe(t,e){return t.map((t=>t*e))}function Me(t,e){return t.map((()=>e||O)).splice(0,t.length-1)}function Se({duration:t=300,keyframes:e,times:n,ease:s="easeInOut"}){const i=R(s)?s.map(I):I(s),r={done:!1,value:e[0]},o=we(xe(n&&n.length===e.length?n:Te(e),t),e,{ease:Array.isArray(i)?i:Me(e,i)});return{calculatedDuration:t,next:e=>(r.value=o(e),r.done=e>=t,r)}}ye.applyToOptions=t=>{const e=Gt(t,100,ye);return t.ease=e.ease,t.duration=f(e.duration),t.type="keyframes",t};const Ve=t=>null!==t;function Ae(t,{repeat:e,repeatType:n="loop"},s,i=1){const r=t.filter(Ve),o=i<0||e&&"loop"!==n&&e%2==1?0:r.length-1;return o&&void 0!==s?s:r[o]}const Ee={decay:ve,inertia:ve,tween:Se,keyframes:Se,spring:ye};function ke(t){"string"==typeof t.type&&(t.type=Ee[t.type])}class Pe{constructor(){this.count=0,this.updateFinished()}get finished(){return this._finished}updateFinished(){this.count++,this._finished=new Promise((t=>{this.resolve=t}))}notifyFinished(){this.resolve()}then(t,e){return this.finished.then(t,e)}}const Ce=t=>t/100;class Fe extends Pe{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:t}=this.options;if(t&&t.updatedAt!==H.now()&&this.tick(H.now()),this.isStopped=!0,"idle"===this.state)return;this.teardown();const{onStop:e}=this.options;e&&e()},q.mainThread++,this.options=t,this.initAnimation(),this.play(),!1===t.autoplay&&this.pause()}initAnimation(){const{options:t}=this;ke(t);const{type:e=Se,repeat:n=0,repeatDelay:s=0,repeatType:i,velocity:r=0}=t;let{keyframes:o}=t;const a=e||Se;a!==Se&&"number"!=typeof o[0]&&(this.mixKeyframes=h(Ce,zt(o[0],o[1])),o=[0,100]);const u=a({...t,keyframes:o});"mirror"===i&&(this.mirroredGenerator=a({...t,keyframes:[...o].reverse(),velocity:-r})),null===u.calculatedDuration&&(u.calculatedDuration=qt(u));const{calculatedDuration:l}=u;this.calculatedDuration=l,this.resolvedDuration=l+s,this.totalDuration=this.resolvedDuration*(n+1)-s,this.generator=u}updateTime(t){const e=Math.round(t-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=e}tick(t,e=!1){const{generator:n,totalDuration:i,mixKeyframes:r,mirroredGenerator:o,resolvedDuration:a,calculatedDuration:u}=this;if(null===this.startTime)return n.next(0);const{delay:l=0,keyframes:c,repeat:h,repeatType:d,repeatDelay:p,type:f,onUpdate:m,finalKeyframe:g}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-i/this.speed,this.startTime)),e?this.currentTime=t:this.updateTime(t);const y=this.currentTime-l*(this.playbackSpeed>=0?1:-1),v=this.playbackSpeed>=0?y<0:y>i;this.currentTime=Math.max(y,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=i);let w=this.currentTime,b=n;if(h){const t=Math.min(this.currentTime,i)/a;let e=Math.floor(t),n=t%1;!n&&t>=1&&(n=1),1===n&&e--,e=Math.min(e,h+1);Boolean(e%2)&&("reverse"===d?(n=1-n,p&&(n-=p/a)):"mirror"===d&&(b=o)),w=s(0,1,n)*a}const T=v?{done:!1,value:c[0]}:b.next(w);r&&(T.value=r(T.value));let{done:x}=T;v||null===u||(x=this.playbackSpeed>=0?this.currentTime>=i:this.currentTime<=0);const M=null===this.holdTime&&("finished"===this.state||"running"===this.state&&x);return M&&f!==ve&&(T.value=Ae(c,this.options,g,this.speed)),m&&m(T.value),M&&this.finish(),T}then(t,e){return this.finished.then(t,e)}get duration(){return m(this.calculatedDuration)}get time(){return m(this.currentTime)}set time(t){t=f(t),this.currentTime=t,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(H.now());const e=this.playbackSpeed!==t;this.playbackSpeed=t,e&&(this.time=m(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=Yt,onPlay:e,startTime:n}=this.options;this.driver||(this.driver=t((t=>this.tick(t)))),e&&e();const s=this.driver.now();null!==this.holdTime?this.startTime=s-this.holdTime:"finished"===this.state?(this.updateFinished(),this.startTime=s):this.startTime||(this.startTime=n??s),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(H.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished";const{onComplete:t}=this.options;t&&t()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null,q.mainThread--}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),t.observe(this)}}function Oe(t){for(let e=1;e<t.length;e++)t[e]??(t[e]=t[e-1])}const Re=t=>180*t/Math.PI,Be=t=>{const e=Re(Math.atan2(t[1],t[0]));return De(e)},Le={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:t=>(Math.abs(t[0])+Math.abs(t[3]))/2,rotate:Be,rotateZ:Be,skewX:t=>Re(Math.atan(t[1])),skewY:t=>Re(Math.atan(t[2])),skew:t=>(Math.abs(t[1])+Math.abs(t[2]))/2},De=t=>((t%=360)<0&&(t+=360),t),Ie=t=>Math.sqrt(t[0]*t[0]+t[1]*t[1]),We=t=>Math.sqrt(t[4]*t[4]+t[5]*t[5]),Ne={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Ie,scaleY:We,scale:t=>(Ie(t)+We(t))/2,rotateX:t=>De(Re(Math.atan2(t[6],t[5]))),rotateY:t=>De(Re(Math.atan2(-t[2],t[0]))),rotateZ:Be,rotate:Be,skewX:t=>Re(Math.atan(t[4])),skewY:t=>Re(Math.atan(t[1])),skew:t=>(Math.abs(t[1])+Math.abs(t[4]))/2};function je(t){return t.includes("scale")?1:0}function Ke(t,e){if(!t||"none"===t)return je(e);const n=t.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,i;if(n)s=Ne,i=n;else{const e=t.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=Le,i=e}if(!i)return je(e);const r=s[e],o=i[1].split(",").map(Ue);return"function"==typeof r?r(o):o[r]}const $e=(t,e)=>{const{transform:n="none"}=getComputedStyle(t);return Ke(n,e)};function Ue(t){return parseFloat(t.trim())}const ze=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Ye=(()=>new Set(ze))(),Xe=t=>t===tt||t===ft,He=new Set(["x","y","z"]),qe=ze.filter((t=>!He.has(t)));const Ge={width:({x:t},{paddingLeft:e="0",paddingRight:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),height:({y:t},{paddingTop:e="0",paddingBottom:n="0"})=>t.max-t.min-parseFloat(e)-parseFloat(n),top:(t,{top:e})=>parseFloat(e),left:(t,{left:e})=>parseFloat(e),bottom:({y:t},{top:e})=>parseFloat(e)+(t.max-t.min),right:({x:t},{left:e})=>parseFloat(e)+(t.max-t.min),x:(t,{transform:e})=>Ke(e,"x"),y:(t,{transform:e})=>Ke(e,"y")};Ge.translateX=Ge.x,Ge.translateY=Ge.y;const Ze=new Set;let _e=!1,Je=!1,Qe=!1;function tn(){if(Je){const t=Array.from(Ze).filter((t=>t.needsMeasurement)),e=new Set(t.map((t=>t.element))),n=new Map;e.forEach((t=>{const e=function(t){const e=[];return qe.forEach((n=>{const 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])=>{t.getValue(e)?.set(n)}))})),t.forEach((t=>t.measureEndState())),t.forEach((t=>{void 0!==t.suspendedScrollY&&window.scrollTo(0,t.suspendedScrollY)}))}Je=!1,_e=!1,Ze.forEach((t=>t.complete(Qe))),Ze.clear()}function en(){Ze.forEach((t=>{t.readKeyframes(),t.needsMeasurement&&(Je=!0)}))}function nn(){Qe=!0,en(),tn(),Qe=!1}class sn{constructor(t,e,n,s,i,r=!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=i,this.isAsync=r}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Ze.add(this),_e||(_e=!0,K.read(en),K.resolveKeyframes(tn))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:e,element:n,motionValue:s}=this;if(null===t[0]){const i=s?.get(),r=t[t.length-1];if(void 0!==i)t[0]=i;else if(n&&e){const s=n.readValue(e,r);null!=s&&(t[0]=s)}void 0===t[0]&&(t[0]=r),s&&void 0===i&&s.set(t[0])}Oe(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.isComplete=!0,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),Ze.delete(this)}cancel(){this.isComplete||(this.isScheduled=!1,Ze.delete(this))}resume(){this.isComplete||this.scheduleResolve()}}const rn=t=>t.startsWith("--");function on(t,e,n){rn(e)?t.style.setProperty(e,n):t.style[e]=n}const an=u((()=>void 0!==window.ScrollTimeline)),un={};function ln(t,e){const n=u(t);return()=>un[e]??n()}const cn=ln((()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(t){return!1}return!0}),"linearEasing"),hn=([t,e,n,s])=>`cubic-bezier(${t}, ${e}, ${n}, ${s})`,dn={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:hn([0,.65,.55,1]),circOut:hn([.55,0,1,.45]),backIn:hn([.31,.01,.66,-.59]),backOut:hn([.33,1.53,.69,.99])};function pn(t,e){return t?"function"==typeof t?cn()?Xt(t,e):"ease-out":L(t)?hn(t):Array.isArray(t)?t.map((t=>pn(t,e)||dn.easeOut)):dn[t]:void 0}function fn(t,e,n,{delay:s=0,duration:i=300,repeat:r=0,repeatType:o="loop",ease:a="easeOut",times:u}={},l=void 0){const c={[e]:n};u&&(c.offset=u);const h=pn(a,i);Array.isArray(h)&&(c.easing=h),N.value&&q.waapi++;const d={delay:s,duration:i,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:r+1,direction:"reverse"===o?"alternate":"normal"};l&&(d.pseudoElement=l);const p=t.animate(c,d);return N.value&&p.finished.finally((()=>{q.waapi--})),p}function mn(t){return"function"==typeof t&&"applyToOptions"in t}function gn({type:t,...e}){return mn(t)&&cn()?t.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}class yn extends Pe{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,!t)return;const{element:e,name:n,keyframes:s,pseudoElement:i,allowFlatten:r=!1,finalKeyframe:o}=t;this.isPseudoElement=Boolean(i),this.allowFlatten=r,this.options=t,t.type;const a=gn(t);this.animation=fn(e,n,s,a,i),!1===a.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){const t=Ae(s,this.options,o,this.speed);this.updateMotionValue?this.updateMotionValue(t):on(e,n,t),this.animation.cancel()}this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(t){}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;"idle"!==t&&"finished"!==t&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return m(Number(t))}get time(){return m(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=f(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(t){this.animation.startTime=t}attachTimeline({timeline:t,observe:e}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&an()?(this.animation.timeline=t,l):e(this)}}const vn={anticipate:A,backInOut:V,circInOut:P};function wn(t){"string"==typeof t.ease&&t.ease in vn&&(t.ease=vn[t.ease])}class bn extends yn{constructor(t){wn(t),ke(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:e,onUpdate:n,onComplete:s,element:i,...r}=this.options;if(!e)return;if(void 0!==t)return void e.set(t);const o=new Fe({...r,autoplay:!1}),a=f(this.finishedTime??this.time);e.setWithVelocity(o.sample(a-10).value,o.sample(a).value,10),o.stop()}}const Tn=(t,e)=>"zIndex"!==e&&(!("number"!=typeof t&&!Array.isArray(t))||!("string"!=typeof t||!kt.test(t)&&"0"!==t||t.startsWith("url(")));const xn=new Set(["opacity","clipPath","filter","transform"]),Mn=u((()=>Object.hasOwnProperty.call(Element.prototype,"animate")));function Sn(t){const{motionValue:e,name:n,repeatDelay:s,repeatType:i,damping:r,type:o}=t;if(!(e&&e.owner&&e.owner.current instanceof HTMLElement))return!1;const{onUpdate:a,transformTemplate:u}=e.owner.getProps();return Mn()&&n&&xn.has(n)&&("transform"!==n||!u)&&!a&&!s&&"mirror"!==i&&0!==r&&"inertia"!==o}class Vn extends Pe{constructor({autoplay:t=!0,delay:e=0,type:n="keyframes",repeat:s=0,repeatDelay:i=0,repeatType:r="loop",keyframes:o,name:a,motionValue:u,element:l,...c}){super(),this.stop=()=>{this._animation?(this._animation.stop(),this.stopTimeline?.()):this.keyframeResolver?.cancel()},this.createdAt=H.now();const h={autoplay:t,delay:e,type:n,repeat:s,repeatDelay:i,repeatType:r,name:a,motionValue:u,element:l,...c},d=l?.KeyframeResolver||sn;this.keyframeResolver=new d(o,((t,e,n)=>this.onKeyframesResolved(t,e,h,!n)),a,u,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,e,n,s){this.keyframeResolver=void 0;const{name:i,type:o,velocity:a,delay:u,isHandoff:c,onUpdate:h,onComplete:d}=n;this.resolvedAt=H.now(),function(t,e,n,s){const i=t[0];if(null===i)return!1;if("display"===e||"visibility"===e)return!0;const r=t[t.length-1],o=Tn(i,e),a=Tn(r,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||mn(n))&&s)}(t,i,o,a)||(!r.instantAnimations&&u||h?.(Ae(t,n,e)),t[0]=t[t.length-1],n.duration=0,n.repeat=0);const p={startTime:s?this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:e,...n,keyframes:t},f=!c&&Sn(p)?new bn({...p,element:p.motionValue.owner.current}):new Fe(p);f.finished.then((()=>{d?.(),this.notifyFinished()})).catch(l),this.pendingTimeline&&(this.stopTimeline=f.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=f}get finished(){return this._animation?this.animation.finished:this._finished}then(t,e){return this.finished.finally(t).then((()=>{}))}get animation(){return this._animation||nn(),this._animation}get duration(){return this.animation.duration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this.animation.cancel()}}class An{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map((t=>t.finished)))}getAll(t){return this.animations[0][t]}setAll(t,e){for(let n=0;n<this.animations.length;n++)this.animations[n][t]=e}attachTimeline(t){const e=this.animations.map((e=>e.attachTimeline(t)));return()=>{e.forEach(((t,e)=>{t&&t(),this.animations[e].stop()}))}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get state(){return this.getAll("state")}get startTime(){return this.getAll("startTime")}get duration(){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")}}class En extends An{then(t,e){return this.finished.finally(t).then((()=>{}))}}class kn extends yn{constructor(t){super(),this.animation=t,t.onfinish=()=>{this.finishedTime=this.time,this.notifyFinished()}}}const Pn=new WeakMap,Cn=(t,e="")=>`${t}:${e}`;function Fn(t){const e=Pn.get(t)||new Map;return Pn.set(t,e),e}const On=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Rn(t){const e=On.exec(t);if(!e)return[,];const[,n,s,i]=e;return[`--${n??s}`,i]}function Bn(t,e,n=1){const[s,i]=Rn(t);if(!s)return;const r=window.getComputedStyle(e).getPropertyValue(s);if(r){const t=r.trim();return o(t)?parseFloat(t):t}return J(i)?Bn(i,e,n+1):i}function Ln(t,e){return t?.[e]??t?.default??t}const Dn=new Set(["width","height","top","left","right","bottom",...ze]),In=t=>e=>e.test(t),Wn=[tt,ft,pt,dt,gt,mt,{test:t=>"auto"===t,parse:t=>t}],Nn=t=>Wn.find(In(t));const jn=new Set(["brightness","contrast","saturate","opacity"]);function Kn(t){const[e,n]=t.slice(0,-1).split("(");if("drop-shadow"===e)return t;const[s]=n.match(it)||[];if(!s)return t;const i=n.replace(s,"");let r=jn.has(e)?1:0;return s!==n&&(r*=100),e+"("+r+i+")"}const $n=/\b([a-z-]*)\(.*?\)/gu,Un={...kt,getAnimatableNone:t=>{const e=t.match($n);return e?e.map(Kn).join(" "):t}},zn={...tt,transform:Math.round},Yn={rotate:dt,rotateX:dt,rotateY:dt,rotateZ:dt,scale:nt,scaleX:nt,scaleY:nt,scaleZ:nt,skew:dt,skewX:dt,skewY:dt,distance:ft,translateX:ft,translateY:ft,translateZ:ft,x:ft,y:ft,z:ft,perspective:ft,transformPerspective:ft,opacity:et,originX:yt,originY:yt,originZ:ft},Xn={borderWidth:ft,borderTopWidth:ft,borderRightWidth:ft,borderBottomWidth:ft,borderLeftWidth:ft,borderRadius:ft,radius:ft,borderTopLeftRadius:ft,borderTopRightRadius:ft,borderBottomRightRadius:ft,borderBottomLeftRadius:ft,width:ft,maxWidth:ft,height:ft,maxHeight:ft,top:ft,right:ft,bottom:ft,left:ft,padding:ft,paddingTop:ft,paddingRight:ft,paddingBottom:ft,paddingLeft:ft,margin:ft,marginTop:ft,marginRight:ft,marginBottom:ft,marginLeft:ft,backgroundPositionX:ft,backgroundPositionY:ft,...Yn,zIndex:zn,size:ft,fillOpacity:et,strokeOpacity:et,numOctaves:zn},Hn={...Xn,color:wt,backgroundColor:wt,outlineColor:wt,fill:wt,stroke:wt,borderColor:wt,borderTopColor:wt,borderRightColor:wt,borderBottomColor:wt,borderLeftColor:wt,filter:Un,WebkitFilter:Un},qn=t=>Hn[t];function Gn(t,e){let n=qn(t);return n!==Un&&(n=kt),n.getAnimatableNone?n.getAnimatableNone(e):void 0}const Zn=new Set(["auto","none","0"]);class _n extends sn{constructor(t,e,n,s,i){super(t,e,n,s,i,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:e,name:n}=this;if(!e||!e.current)return;super.readKeyframes();for(let n=0;n<t.length;n++){let s=t[n];if("string"==typeof s&&(s=s.trim(),J(s))){const i=Bn(s,e.current);void 0!==i&&(t[n]=i),n===t.length-1&&(this.finalKeyframe=s)}}if(this.resolveNoneKeyframes(),!Dn.has(n)||2!==t.length)return;const[s,i]=t,r=Nn(s),o=Nn(i);if(r!==o)if(Xe(r)&&Xe(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++)(null===t[e]||("number"==typeof(s=t[e])?0===s:null===s||"none"===s||"0"===s||a(s)))&&n.push(e);var s;n.length&&function(t,e,n){let s,i=0;for(;i<t.length&&!s;){const e=t[i];"string"==typeof e&&!Zn.has(e)&&St(e).values.length&&(s=t[i]),i++}if(s&&n)for(const i of e)t[i]=Gn(n,s)}(t,n,e)}measureInitialState(){const{element:t,unresolvedKeyframes:e,name:n}=this;if(!t||!t.current)return;"height"===n&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Ge[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(){const{element:t,name:e,unresolvedKeyframes:n}=this;if(!t||!t.current)return;const s=t.getValue(e);s&&s.jump(this.measuredOrigin,!1);const i=n.length-1,r=n[i];n[i]=Ge[e](t.measureViewportBox(),window.getComputedStyle(t.current)),null!==r&&void 0===this.finalKeyframe&&(this.finalKeyframe=r),this.removedTransforms?.length&&this.removedTransforms.forEach((([e,n])=>{t.getValue(e).set(n)})),this.resolveNoneKeyframes()}}const Jn=new Set(["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderRadius","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","width","maxWidth","height","maxHeight","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","backgroundPositionX","backgroundPositionY"]);function Qn(t,e){for(let n=0;n<t.length;n++)"number"==typeof t[n]&&Jn.has(e)&&(t[n]=t[n]+"px")}const ts=u((()=>{try{document.createElement("div").animate({opacity:[1]})}catch(t){return!1}return!0})),es=new Set(["opacity","clipPath","filter","transform"]),{schedule:ns,cancel:ss}=j(queueMicrotask,!1),is={x:!1,y:!1};function rs(){return is.x||is.y}function os(t,e,n){if(t instanceof EventTarget)return[t];if("string"==typeof t){let s=document;e&&(s=e.current);const i=n?.[t]??s.querySelectorAll(t);return i?Array.from(i):[]}return Array.from(t)}function as(t,e){const n=os(t),s=new AbortController;return[n,{passive:!0,...e,signal:s.signal},()=>s.abort()]}function us(t){return!("touch"===t.pointerType||rs())}const ls=(t,e)=>!!e&&(t===e||ls(t,e.parentElement)),cs=t=>"mouse"===t.pointerType?"number"!=typeof t.button||t.button<=0:!1!==t.isPrimary,hs=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);const ds=new WeakSet;function ps(t){return e=>{"Enter"===e.key&&t(e)}}function fs(t,e){t.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}function ms(t){return cs(t)&&!rs()}function gs(t,e){const n=window.getComputedStyle(t);return rn(e)?n.getPropertyValue(e):n[e]}function ys(t,e){let n;const s=()=>{const{currentTime:s}=e,i=(null===s?0:s.value)/100;n!==i&&t(i),n=i};return K.preUpdate(s,!0),()=>$(s)}function vs(){const{value:t}=N;null!==t?(t.frameloop.rate.push(U.delta),t.animations.mainThread.push(q.mainThread),t.animations.waapi.push(q.waapi),t.animations.layout.push(q.layout)):$(vs)}function ws(t){return t.reduce(((t,e)=>t+e),0)/t.length}function bs(t,e=ws){return 0===t.length?{min:0,max:0,avg:0}:{min:Math.min(...t),max:Math.max(...t),avg:e(t)}}const Ts=t=>Math.round(1e3/t);function xs(){N.value=null,N.addProjectionMetrics=null}function Ms(){const{value:t}=N;if(!t)throw new Error("Stats are not being measured");xs(),$(vs);const e={frameloop:{setup:bs(t.frameloop.setup),rate:bs(t.frameloop.rate),read:bs(t.frameloop.read),resolveKeyframes:bs(t.frameloop.resolveKeyframes),preUpdate:bs(t.frameloop.preUpdate),update:bs(t.frameloop.update),preRender:bs(t.frameloop.preRender),render:bs(t.frameloop.render),postRender:bs(t.frameloop.postRender)},animations:{mainThread:bs(t.animations.mainThread),waapi:bs(t.animations.waapi),layout:bs(t.animations.layout)},layoutProjection:{nodes:bs(t.layoutProjection.nodes),calculatedTargetDeltas:bs(t.layoutProjection.calculatedTargetDeltas),calculatedProjections:bs(t.layoutProjection.calculatedProjections)}},{rate:n}=e.frameloop;return n.min=Ts(n.min),n.max=Ts(n.max),n.avg=Ts(n.avg),[n.min,n.max]=[n.max,n.min],e}const Ss={current:void 0};class Vs{constructor(t,e={}){this.version="12.7.5-alpha.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(t,e=!0)=>{const n=H.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=H.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 p);const n=this.events[t].add(e);return"change"===t?()=>{n(),K.read((()=>{this.events.change.getSize()||this.stop()}))}:n}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,e){this.passiveEffect=t,this.stopPassiveEffect=e}set(t,e=!0){"none"===t&&console.trace(),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 Ss.current&&Ss.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){const t=H.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||t-this.updatedAt>30)return 0;const e=Math.min(this.updatedAt-this.prevUpdatedAt,30);return g(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 As(t,e){return new Vs(t,e)}const Es=[...Wn,wt,kt],ks=t=>Es.find(In(t)),Ps=(t,e)=>e&&"number"==typeof t?e.transform(t):t;function Cs(t){return"layout"===t?"group":"enter"===t||"new"===t?"new":"exit"===t||"old"===t?"old":"group"}let Fs={},Os=null;const Rs=(t,e)=>{Fs[t]=e},Bs=()=>{Os||(Os=document.createElement("style"),Os.id="motion-view");let t="";for(const e in Fs){const n=Fs[e];t+=`${e} {\n`;for(const[e,s]of Object.entries(n))t+=` ${e}: ${s};\n`;t+="}\n"}Os.textContent=t,document.head.appendChild(Os),Fs={}},Ls=()=>{Os&&Os.parentElement&&Os.parentElement.removeChild(Os)};function Ds(t){const e=t.match(/::view-transition-(old|new|group|image-pair)\((.*?)\)/);return e?{layer:e[2],type:e[1]}:null}function Is(t){const{effect:e}=t;return!!e&&(e.target===document.documentElement&&e.pseudoElement?.startsWith("::view-transition"))}const Ws=["layout","enter","exit","new","old"];function Ns(t){const{update:e,targets:n,options:s}=t;if(!document.startViewTransition)return new Promise((async t=>{await e(),t(new An([]))}));(function(t,e){return e.has(t)&&Object.keys(e.get(t)).length>0})("root",n)||Rs(":root",{"view-transition-name":"none"}),Rs("::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*)",{"animation-timing-function":"linear !important"}),Bs();const i=document.startViewTransition((async()=>{await e()}));return i.finished.finally((()=>{Ls()})),new Promise((t=>{i.ready.then((()=>{const e=document.getAnimations().filter(Is),i=[];n.forEach(((t,e)=>{for(const n of Ws){if(!t[n])continue;const{keyframes:r,options:o}=t[n];for(let[t,a]of Object.entries(r)){if(!a)continue;const r={...Ln(s,t),...Ln(o,t)},u=Cs(n);if("opacity"===t&&!Array.isArray(a)){a=["new"===u?0:1,a]}"function"==typeof r.delay&&(r.delay=r.delay(0,1)),r.duration&&(r.duration=f(r.duration)),r.delay&&(r.delay=f(r.delay));const l=new yn({...r,element:document.documentElement,name:t,pseudoElement:`::view-transition-${u}(${e})`,keyframes:a});i.push(l)}}}));for(const t of e){if("finished"===t.playState)continue;const{effect:e}=t;if(!(e&&e instanceof KeyframeEffect))continue;const{pseudoElement:r}=e;if(!r)continue;const o=Ds(r);if(!o)continue;const a=n.get(o.layer);if(a)js(a,"enter")&&js(a,"exit")&&e.getKeyframes().some((t=>t.mixBlendMode))?i.push(new kn(t)):t.cancel();else{const n="group"===o.type?"layout":"";let r={...Ln(s,n)};r.duration&&(r.duration=f(r.duration)),r=gn(r);const a=pn(r.ease,r.duration);e.updateTiming({delay:f(r.delay??0),duration:r.duration,easing:a}),i.push(new kn(t))}}t(new An(i))}))}))}function js(t,e){return t?.[e]?.keyframes.opacity}let Ks=[],$s=null;function Us(){$s=null;const[t]=Ks;var e;t&&(n(Ks,e=t),$s=e,Ns(e).then((t=>{e.notifyReady(t),t.finished.finally(Us)})))}function zs(){for(let t=Ks.length-1;t>=0;t--){const e=Ks[t],{interrupt:n}=e.options;if("immediate"===n){const n=Ks.slice(0,t+1).map((t=>t.update)),s=Ks.slice(t+1);e.update=()=>{n.forEach((t=>t()))},Ks=[e,...s];break}}$s&&"immediate"!==Ks[0]?.options.interrupt||Us()}class Ys{constructor(t,e={}){var n;this.currentTarget="root",this.targets=new Map,this.notifyReady=l,this.readyPromise=new Promise((t=>{this.notifyReady=t})),this.update=t,this.options={interrupt:"wait",...e},n=this,Ks.push(n),ns.render(zs)}get(t){return this.currentTarget=t,this}layout(t,e){return this.updateTarget("layout",t,e),this}new(t,e){return this.updateTarget("new",t,e),this}old(t,e){return this.updateTarget("old",t,e),this}enter(t,e){return this.updateTarget("enter",t,e),this}exit(t,e){return this.updateTarget("exit",t,e),this}crossfade(t){return this.updateTarget("enter",{opacity:1},t),this.updateTarget("exit",{opacity:0},t),this}updateTarget(t,e,n={}){const{currentTarget:s,targets:i}=this;i.has(s)||i.set(s,{});i.get(s)[t]={keyframes:e,options:n}}then(t,e){return this.readyPromise.then(t,e)}}const Xs=K,Hs=W.reduce(((t,e)=>(t[e]=t=>$(t),t)),{}),qs=t=>Boolean(t&&t.getVelocity);function Gs(t){return"object"==typeof t&&!Array.isArray(t)}function Zs(t,e,n,s){return"string"==typeof t&&Gs(e)?os(t,n,s):t instanceof NodeList?Array.from(t):Array.isArray(t)?t:[t]}function _s(t,e,n){return t*(e+1)}function Js(t,e,n,s){return"number"==typeof e?e:e.startsWith("-")||e.startsWith("+")?Math.max(0,t+parseFloat(e)):"<"===e?n:s.get(e)??t}function Qs(t,e,s,i,r,o){!function(t,e,s){for(let i=0;i<t.length;i++){const r=t[i];r.at>e&&r.at<s&&(n(t,r),i--)}}(t,r,o);for(let n=0;n<e.length;n++)t.push({value:e[n],at:Ot(r,o,i[n]),easing:B(s,n)})}function ti(t,e){for(let n=0;n<t.length;n++)t[n]=t[n]/(e+1)}function ei(t,e){return t.at===e.at?null===t.value?1:null===e.value?-1:0:t.at-e.at}function ni(t,e){return!e.has(t)&&e.set(t,{}),e.get(t)}function si(t,e){return e[t]||(e[t]=[]),e[t]}function ii(t){return Array.isArray(t)?t:[t]}function ri(t,e){return t&&t[e]?{...t,...t[e]}:{...t}}const oi=t=>"number"==typeof t,ai=t=>t.every(oi),ui=new WeakMap,li=t=>(t=>Array.isArray(t))(t)?t[t.length-1]||0:t;function ci(t){const e=[{},{}];return t?.values.forEach(((t,n)=>{e[0][n]=t.get(),e[1][n]=t.getVelocity()})),e}function hi(t,e,n,s){if("function"==typeof e){const[i,r]=ci(s);e=e(void 0!==n?n:t.custom,i,r)}if("string"==typeof e&&(e=t.variants&&t.variants[e]),"function"==typeof e){const[i,r]=ci(s);e=e(void 0!==n?n:t.custom,i,r)}return e}function di(t,e,n){t.hasValue(e)?t.getValue(e).set(n):t.addValue(e,As(n))}function pi(t,e){const n=function(t,e,n){const s=t.getProps();return hi(s,e,void 0!==n?n:s.custom,t)}(t,e);let{transitionEnd:s={},transition:i={},...r}=n||{};r={...r,...s};for(const e in r){di(t,e,li(r[e]))}}function fi(t,e){const n=t.getValue("willChange");if(s=n,Boolean(qs(s)&&s.add))return n.add(e);if(!n&&r.WillChange){const n=new r.WillChange("auto");t.addValue("willChange",n),n.add(e)}var s}const mi=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),gi="data-"+mi("framerAppearId");function yi(t){return t.props[gi]}const vi=t=>null!==t;const wi={type:"spring",stiffness:500,damping:25,restSpeed:10},bi={type:"keyframes",duration:.8},Ti={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},xi=(t,{keyframes:e})=>e.length>2?bi:Ye.has(t)?t.startsWith("scale")?{type:"spring",stiffness:550,damping:0===e[1]?2*Math.sqrt(550):30,restSpeed:10}:wi:Ti;const Mi=(t,e,n,s={},i,o)=>a=>{const u=Ln(s,t)||{},l=u.delay||s.delay||0;let{elapsed:c=0}=s;c-=f(l);const h={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:e.getVelocity(),...u,delay:-c,onUpdate:t=>{e.set(t),u.onUpdate&&u.onUpdate(t)},onComplete:()=>{a(),u.onComplete&&u.onComplete()},name:t,motionValue:e,element:o?void 0:i};(function({when:t,delay:e,delayChildren:n,staggerChildren:s,staggerDirection:i,repeat:r,repeatType:o,repeatDelay:a,from:u,elapsed:l,...c}){return!!Object.keys(c).length})(u)||Object.assign(h,xi(t,h)),h.duration&&(h.duration=f(h.duration)),h.repeatDelay&&(h.repeatDelay=f(h.repeatDelay)),void 0!==h.from&&(h.keyframes[0]=h.from);let d=!1;if((!1===h.type||0===h.duration&&!h.repeatDelay)&&(h.duration=0,0===h.delay&&(d=!0)),(r.instantAnimations||r.skipAnimations)&&(d=!0,h.duration=0,h.delay=0),h.allowFlatten=!u.type&&!u.ease,d&&!o&&void 0!==e.get()){const t=function(t,{repeat:e,repeatType:n="loop"},s){const i=t.filter(vi),r=e&&"loop"!==n&&e%2==1?0:i.length-1;return r&&void 0!==s?s:i[r]}(h.keyframes,u);if(void 0!==t)return void K.update((()=>{h.onUpdate(t),h.onComplete()}))}return new Vn(h)};function Si({protectedKeys:t,needsAnimating:e},n){const s=t.hasOwnProperty(n)&&!0!==e[n];return e[n]=!1,s}function Vi(t,e,{delay:n=0,transitionOverride:s,type:i}={}){let{transition:r=t.getDefaultTransition(),transitionEnd:o,...a}=e;s&&(r=s);const u=[],l=i&&t.animationState&&t.animationState.getState()[i];for(const e in a){const s=t.getValue(e,t.latestValues[e]??null),i=a[e];if(void 0===i||l&&Si(l,e))continue;const o={delay:n,...Ln(r||{},e)};let c=!1;if(window.MotionHandoffAnimation){const n=yi(t);if(n){const t=window.MotionHandoffAnimation(n,e,K);null!==t&&(o.startTime=t,c=!0)}}fi(t,e),s.start(Mi(e,s,i,t.shouldReduceMotion&&Dn.has(e)?{type:!1}:o,t,c));const h=s.animation;h&&u.push(h)}return o&&Promise.all(u).then((()=>{K.update((()=>{o&&pi(t,o)}))})),u}const Ai=()=>({x:{min:0,max:0},y:{min:0,max:0}}),Ei={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"]},ki={};for(const t in Ei)ki[t]={isEnabled:e=>Ei[t].some((t=>!!e[t]))};const Pi="undefined"!=typeof window,Ci={current:null},Fi={current:!1};const Oi=["initial","animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"];function Ri(t){return null!==(e=t.animate)&&"object"==typeof e&&"function"==typeof e.start||Oi.some((e=>function(t){return"string"==typeof t||Array.isArray(t)}(t[e])));var e}const Bi=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Li{scrapeMotionValuesFromProps(t,e,n){return{}}constructor({parent:t,props:e,presenceContext:n,reducedMotionConfig:s,blockInitialAnimation:i,visualState:r},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=sn,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const t=H.now();this.renderScheduledAt<t&&(this.renderScheduledAt=t,K.render(this.render,!1,!0))};const{latestValues:a,renderState:u,onUpdate:l}=r;this.onUpdate=l,this.latestValues=a,this.baseTarget={...a},this.initialValues=e.initial?{...a}:{},this.renderState=u,this.parent=t,this.props=e,this.presenceContext=n,this.depth=t?t.depth+1:0,this.reducedMotionConfig=s,this.options=o,this.blockInitialAnimation=Boolean(i),this.isControllingVariants=Ri(e),this.isVariantNode=function(t){return Boolean(Ri(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!==a[t]&&qs(e)&&e.set(a[t],!1)}}mount(t){this.current=t,ui.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))),Fi.current||function(){if(Fi.current=!0,Pi)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>Ci.current=t.matches;t.addListener(e),e()}else Ci.current=!1}(),this.shouldReduceMotion="never"!==this.reducedMotionConfig&&("always"===this.reducedMotionConfig||Ci.current),this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),$(this.notifyUpdate),$(this.render),this.valueSubscriptions.forEach((t=>t())),this.valueSubscriptions.clear(),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){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const n=Ye.has(t);n&&this.onBindTransform&&this.onBindTransform();const s=e.on("change",(e=>{this.latestValues[t]=e,this.props.onUpdate&&K.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0)})),i=e.on("renderRequest",this.scheduleRender);let r;window.MotionCheckAppearSync&&(r=window.MotionCheckAppearSync(this,t,e)),this.valueSubscriptions.set(t,(()=>{s(),i(),r&&r(),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 ki){const e=ki[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<Bi.length;e++){const n=Bi[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 i=e[s],r=n[s];if(qs(i))t.addValue(s,i);else if(qs(r))t.addValue(s,As(i,{owner:t}));else if(r!==i)if(t.hasValue(s)){const e=t.getValue(s);!0===e.liveStyle?e.jump(i):e.hasAnimated||e.set(i)}else{const e=t.getStaticValue(s);t.addValue(s,As(void 0!==e?e:i,{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(),this.onUpdate&&this.onUpdate(this)}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const e=this.getClosestVariantNode();if(e)return e.variantChildren&&e.variantChildren.add(t),()=>e.variantChildren.delete(t)}addValue(t,e){const n=this.values.get(t);e!==n&&(n&&this.removeValue(t),this.bindToMotionValue(t,e),this.values.set(t,e),this.latestValues[t]=e.get())}removeValue(t){this.values.delete(t);const e=this.valueSubscriptions.get(t);e&&(e(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,e){if(this.props.values&&this.props.values[t])return this.props.values[t];let n=this.values.get(t);return void 0===n&&void 0!==e&&(n=As(null===e?void 0:e,{owner:this}),this.addValue(t,n)),n}readValue(t,e){let n=void 0===this.latestValues[t]&&this.current?this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options):this.latestValues[t];return null!=n&&("string"==typeof n&&(o(n)||a(n))?n=parseFloat(n):!ks(n)&&kt.test(e)&&(n=Gn(t,e)),this.setBaseTarget(t,qs(n)?n.get():n)),qs(n)?n.get():n}setBaseTarget(t,e){this.baseTarget[t]=e}getBaseTarget(t){const{initial:e}=this.props;let n;if("string"==typeof e||"object"==typeof e){const s=hi(this.props,e,this.presenceContext?.custom);s&&(n=s[t])}if(e&&void 0!==n)return n;const s=this.getBaseTargetFromProps(this.props,t);return void 0===s||qs(s)?void 0!==this.initialValues[t]&&void 0===n?void 0:this.baseTarget[t]:s}on(t,e){return this.events[t]||(this.events[t]=new p),this.events[t].add(e)}notify(t,...e){this.events[t]&&this.events[t].notify(...e)}}class Di extends Li{constructor(){super(...arguments),this.KeyframeResolver=_n}sortInstanceNodePosition(t,e){return 2&t.compareDocumentPosition(e)?1:-1}getBaseTargetFromProps(t,e){return t.style?t.style[e]:void 0}removeValueFromRenderState(t,{vars:e,style:n}){delete e[t],delete n[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;qs(t)&&(this.childSubscription=t.on("change",(t=>{this.current&&(this.current.textContent=`${t}`)})))}}const Ii={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Wi=ze.length;function Ni(t,e,n){const{style:s,vars:i,transformOrigin:r}=t;let o=!1,a=!1;for(const t in e){const n=e[t];if(Ye.has(t))o=!0;else if(Z(t))i[t]=n;else{const e=Ps(n,Xn[t]);t.startsWith("origin")?(a=!0,r[t]=e):s[t]=e}}if(e.transform||(o||n?s.transform=function(t,e,n){let s="",i=!0;for(let r=0;r<Wi;r++){const o=ze[r],a=t[o];if(void 0===a)continue;let u=!0;if(u="number"==typeof a?a===(o.startsWith("scale")?1:0):0===parseFloat(a),!u||n){const t=Ps(a,Xn[o]);u||(i=!1,s+=`${Ii[o]||o}(${t}) `),n&&(e[o]=t)}}return s=s.trim(),n?s=n(e,i?"":s):i&&(s="none"),s}(e,t.transform,n):s.transform&&(s.transform="none")),a){const{originX:t="50%",originY:e="50%",originZ:n=0}=r;s.transformOrigin=`${t} ${e} ${n}`}}const ji={offset:"stroke-dashoffset",array:"stroke-dasharray"},Ki={offset:"strokeDashoffset",array:"strokeDasharray"};function $i(t,e,n){return"string"==typeof t?t:ft.transform(e+n*t)}function Ui(t,{attrX:e,attrY:n,attrScale:s,originX:i,originY:r,pathLength:o,pathSpacing:a=1,pathOffset:u=0,...l},c,h){if(Ni(t,l,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!==i||void 0!==r||p.transform)&&(p.transformOrigin=function(t,e,n){return`${$i(e,t.x,t.width)} ${$i(n,t.y,t.height)}`}(f,void 0!==i?i:.5,void 0!==r?r:.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,i=!0){t.pathLength=1;const r=i?ji:Ki;t[r.offset]=ft.transform(-s);const o=ft.transform(e),a=ft.transform(n);t[r.array]=`${o} ${a}`}(d,o,a,u,!1)}const zi=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 Yi(t,{style:e,vars:n},s,i){Object.assign(t.style,e,i&&i.getProjectionStyles(s));for(const e in n)t.style.setProperty(e,n[e])}const Xi={};function Hi(t,{layout:e,layoutId:n}){return Ye.has(t)||t.startsWith("origin")||(e||void 0!==n)&&(!!Xi[t]||"opacity"===t)}function qi(t,e,n){const{style:s}=t,i={};for(const r in s)(qs(s[r])||e.style&&qs(e.style[r])||Hi(r,t)||void 0!==n?.getValue(r)?.liveStyle)&&(i[r]=s[r]);return i}class Gi extends Di{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Ai,this.updateDimensions=()=>{this.current&&!this.renderState.dimensions&&function(t,e){try{e.dimensions="function"==typeof t.getBBox?t.getBBox():t.getBoundingClientRect()}catch(t){e.dimensions={x:0,y:0,width:0,height:0}}}(this.current,this.renderState)}}getBaseTargetFromProps(t,e){return t[e]}readValueFromInstance(t,e){if(Ye.has(e)){const t=qn(e);return t&&t.default||0}return e=zi.has(e)?e:mi(e),t.getAttribute(e)}scrapeMotionValuesFromProps(t,e,n){return function(t,e,n){const s=qi(t,e,n);for(const n in t)(qs(t[n])||qs(e[n]))&&(s[-1!==ze.indexOf(n)?"attr"+n.charAt(0).toUpperCase()+n.substring(1):n]=t[n]);return s}(t,e,n)}onBindTransform(){this.current&&!this.renderState.dimensions&&K.postRender(this.updateDimensions)}build(t,e,n){Ui(t,e,this.isSVGTag,n.transformTemplate)}renderInstance(t,e,n,s){!function(t,e,n,s){Yi(t,e,void 0,s);for(const n in e.attrs)t.setAttribute(zi.has(n)?n:mi(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 Zi extends Di{constructor(){super(...arguments),this.type="html",this.renderInstance=Yi}readValueFromInstance(t,e){if(Ye.has(e))return $e(t,e);{const s=(n=t,window.getComputedStyle(n)),i=(Z(e)?s.getPropertyValue(e):s[e])||0;return"string"==typeof i?i.trim():i}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){Ni(t,e,n.transformTemplate)}scrapeMotionValuesFromProps(t,e,n){return qi(t,e,n)}}class _i extends Li{constructor(){super(...arguments),this.type="object"}readValueFromInstance(t,e){if(function(t,e){return t in e}(e,t)){const n=t[e];if("string"==typeof n||"number"==typeof n)return n}}getBaseTargetFromProps(){}removeValueFromRenderState(t,e){delete e.output[t]}measureInstanceViewportBox(){return{x:{min:0,max:0},y:{min:0,max:0}}}build(t,e){Object.assign(t.output,e)}renderInstance(t,{output:e}){Object.assign(t,e)}sortInstanceNodePosition(){return 0}}function Ji(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 Gi(e):new Zi(e);n.mount(t),ui.set(t,n)}function Qi(t){const e=new _i({presenceContext:null,props:{},visualState:{renderState:{output:{}},latestValues:{}}});e.mount(t),ui.set(t,e)}function tr(t,e,n,s){const i=[];if(function(t,e){return qs(t)||"number"==typeof t||"string"==typeof t&&!Gs(e)}(t,e))i.push(function(t,e,n){const s=qs(t)?t:As(t);return s.start(Mi("",s,e,n)),s.animation}(t,Gs(e)&&e.default||e,n&&n.default||n));else{const r=Zs(t,e,s),o=r.length;for(let t=0;t<o;t++){const s=r[t],a=s instanceof Element?Ji:Qi;ui.has(s)||a(s);const u=ui.get(s),l={...n};"delay"in l&&"function"==typeof l.delay&&(l.delay=l.delay(t,o)),i.push(...Vi(u,{...e,transition:l},{}))}}return i}function er(t,e,n){const s=[],i=function(t,{defaultTransition:e={},...n}={},s,i){const r=e.duration||.3,o=new Map,a=new Map,u={},l=new Map;let c=0,h=0,p=0;for(let n=0;n<t.length;n++){const o=t[n];if("string"==typeof o){l.set(o,h);continue}if(!Array.isArray(o)){l.set(o.name,Js(h,o.at,c,l));continue}let[d,m,g={}]=o;void 0!==g.at&&(h=Js(h,g.at,c,l));let y=0;const v=(t,n,s,o=0,a=0)=>{const u=ii(t),{delay:l=0,times:c=Te(u),type:d="keyframes",repeat:m,repeatType:g,repeatDelay:v=0,...w}=n;let{ease:b=e.ease||"easeOut",duration:T}=n;const x="function"==typeof l?l(o,a):l,M=u.length,S=mn(d)?d:i?.[d];if(M<=2&&S){let t=100;if(2===M&&ai(u)){const e=u[1]-u[0];t=Math.abs(e)}const e={...w};void 0!==T&&(e.duration=f(T));const n=Gt(e,t,S);b=n.ease,T=n.duration}T??(T=r);const V=h+x;1===c.length&&0===c[0]&&(c[1]=1);const A=c.length-u.length;if(A>0&&be(c,A),1===u.length&&u.unshift(null),m){T=_s(T,m);const t=[...u],e=[...c];b=Array.isArray(b)?[...b]:[b];const n=[...b];for(let s=0;s<m;s++){u.push(...t);for(let i=0;i<t.length;i++)c.push(e[i]+(s+1)),b.push(0===i?"linear":B(n,i-1))}ti(c,m)}const E=V+T;Qs(s,u,b,c,V,E),y=Math.max(x+T,y),p=Math.max(E,p)};if(qs(d))v(m,g,si("default",ni(d,a)));else{const t=Zs(d,m,s,u),e=t.length;for(let n=0;n<e;n++){const s=ni(t[n],a);for(const t in m)v(m[t],ri(g,t),si(t,s),n,e)}}c=h,h+=y}return a.forEach(((t,s)=>{for(const i in t){const r=t[i];r.sort(ei);const a=[],u=[],l=[];for(let t=0;t<r.length;t++){const{at:e,value:n,easing:s}=r[t];a.push(n),u.push(d(0,p,e)),l.push(s||"easeOut")}0!==u[0]&&(u.unshift(0),a.unshift(a[0]),l.unshift("easeInOut")),1!==u[u.length-1]&&(u.push(1),a.push(null)),o.has(s)||o.set(s,{keyframes:{},transition:{}});const c=o.get(s);c.keyframes[i]=a,c.transition[i]={...e,duration:p,ease:l,times:u,...n}}})),o}(t,e,n,{spring:ye});return i.forEach((({keyframes:t,transition:e},n)=>{s.push(...tr(n,t,e))})),s}function nr(t){return function(e,n,s){let i=[];var r;r=e,i=Array.isArray(r)&&r.some(Array.isArray)?er(e,n,t):tr(e,n,s,t);const o=new En(i);return t&&t.animations.push(o),o}}const sr=nr();const ir=t=>function(e,n,s){return new En(function(t,e,n,s){const i=os(t,s),r=i.length,o=[];for(let t=0;t<r;t++){const s=i[t],a={...n};"function"==typeof a.delay&&(a.delay=a.delay(t,r));for(const t in e){let n=e[t];Array.isArray(n)||(n=[n]);const i={...Ln(a,t)};i.duration&&(i.duration=f(i.duration)),i.delay&&(i.delay=f(i.delay));const r=Fn(s),u=Cn(t,i.pseudoElement||""),l=r.get(u);l&&l.stop(),o.push({map:r,key:u,unresolvedKeyframes:n,options:{...i,element:s,name:t,allowFlatten:!a.type&&!a.ease}})}}for(let t=0;t<o.length;t++){const{unresolvedKeyframes:e,options:n}=o[t],{element:s,name:i,pseudoElement:r}=n;r||null!==e[0]||(e[0]=gs(s,i)),Oe(e),Qn(e,i),!r&&e.length<2&&e.unshift(gs(s,i)),n.keyframes=e}const a=[];for(let t=0;t<o.length;t++){const{map:e,key:n,options:s}=o[t],i=new yn(s);e.set(n,i),i.finished.finally((()=>e.delete(n))),a.push(i)}return a}(e,n,s,t))},rr=ir(),or=new WeakMap;let ar;function ur({target:t,contentRect:e,borderBoxSize:n}){or.get(t)?.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 lr(t){t.forEach(ur)}function cr(t,e){ar||"undefined"!=typeof ResizeObserver&&(ar=new ResizeObserver(lr));const n=os(t);return n.forEach((t=>{let n=or.get(t);n||(n=new Set,or.set(t,n)),n.add(e),ar?.observe(t)})),()=>{n.forEach((t=>{const n=or.get(t);n?.delete(e),n?.size||ar?.unobserve(t)}))}}const hr=new Set;let dr;function pr(t){return hr.add(t),dr||(dr=()=>{const t={width:window.innerWidth,height:window.innerHeight},e={target:window,size:t,contentSize:t};hr.forEach((t=>t(e)))},window.addEventListener("resize",dr)),()=>{hr.delete(t),!hr.size&&dr&&(dr=void 0)}}const fr={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function mr(t,e,n,s){const i=n[e],{length:r,position:o}=fr[e],a=i.current,u=n.time;i.current=t[`scroll${o}`],i.scrollLength=t[`scroll${r}`]-t[`client${r}`],i.offset.length=0,i.offset[0]=0,i.offset[1]=i.scrollLength,i.progress=d(0,i.scrollLength,i.current);const l=s-u;i.velocity=l>50?0:g(i.current-a,l)}const gr={start:0,center:.5,end:1};function yr(t,e,n=0){let s=0;if(t in gr&&(t=gr[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 vr=[0,0];function wr(t,e,n,s){let i=Array.isArray(t)?t:vr,r=0,o=0;return"number"==typeof t?i=[t,t]:"string"==typeof t&&(i=(t=t.trim()).includes(" ")?t.split(" "):[t,gr[t]?t:"0"]),r=yr(i[0],n,s),o=yr(i[1],e),r-o}const br={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},Tr={x:0,y:0};function xr(t,e,n){const{offset:i=br.All}=n,{target:r=t,axis:o="y"}=n,a="y"===o?"height":"width",u=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 i=null,r=s.parentNode;for(;!i;)"svg"===r.tagName&&(i=r),r=s.parentNode;s=i}}return n}(r,t):Tr,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),c={width:t.clientWidth,height:t.clientHeight};e[o].offset.length=0;let h=!e[o].interpolate;const d=i.length;for(let t=0;t<d;t++){const n=wr(i[t],c[a],l[a],u[o]);h||n===e[o].interpolatorOffsets[t]||(h=!0),e[o].offset[t]=n}h&&(e[o].interpolate=we(e[o].offset,Te(i),{clamp:!1}),e[o].interpolatorOffsets=[...e[o].offset]),e[o].progress=s(0,1,e[o].interpolate(e[o].current))}function Mr(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){mr(t,"x",e,n),mr(t,"y",e,n),e.time=n}(t,n,e),(s.offset||s.target)&&xr(t,n,s)},notify:()=>e(n)}}const Sr=new WeakMap,Vr=new WeakMap,Ar=new WeakMap,Er=t=>t===document.documentElement?window:t;function kr(t,{container:e=document.documentElement,...n}={}){let s=Ar.get(e);s||(s=new Set,Ar.set(e,s));const i=Mr(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(i),!Sr.has(e)){const t=()=>{for(const t of s)t.measure()},n=()=>{for(const t of s)t.update(U.timestamp)},i=()=>{for(const t of s)t.notify()},a=()=>{K.read(t,!1,!0),K.read(n,!1,!0),K.preUpdate(i,!1,!0)};Sr.set(e,a);const u=Er(e);window.addEventListener("resize",a,{passive:!0}),e!==document.documentElement&&Vr.set(e,(o=a,"function"==typeof(r=e)?pr(r):cr(r,o))),u.addEventListener("scroll",a,{passive:!0})}var r,o;const a=Sr.get(e);return K.read(a,!1,!0),()=>{$(a);const t=Ar.get(e);if(!t)return;if(t.delete(i),t.size)return;const n=Sr.get(e);Sr.delete(e),n&&(Er(e).removeEventListener("scroll",n),Vr.get(e)?.(),window.removeEventListener("resize",n))}}const Pr=new Map;function Cr({source:t,container:e,...n}){const{axis:s}=n;t&&(e=t);const i=Pr.get(e)??new Map;Pr.set(e,i);const r=n.target??"self",o=i.get(r)??{},a=s+(n.offset??[]).join(",");return o[a]||(o[a]=!n.target&&an()?new ScrollTimeline({source:e,axis:s}):function(t){const e={value:0},n=kr((n=>{e.value=100*n[t.axis].progress}),t);return{currentTime:e,cancel:n}}({container:e,...n})),o[s]}const Fr={some:0,all:1};const Or=(t,e)=>Math.abs(t-e);t.AsyncMotionValueAnimation=Vn,t.DOMKeyframesResolver=_n,t.GroupAnimation=An,t.GroupAnimationWithThen=En,t.JSAnimation=Fe,t.KeyframeResolver=sn,t.MotionGlobalConfig=r,t.MotionValue=Vs,t.NativeAnimation=yn,t.NativeAnimationExtended=bn,t.NativeAnimationWrapper=kn,t.SubscriptionManager=p,t.ViewTransitionBuilder=Ys,t.acceleratedValues=es,t.activeAnimations=q,t.addUniqueItem=e,t.alpha=et,t.analyseComplexValue=St,t.animate=sr,t.animateMini=rr,t.animateValue=function(t){return new Fe(t)},t.animateView=function(t,e={}){return new Ys(t,e)},t.animationMapKey=Cn,t.anticipate=A,t.applyPxDefaults=Qn,t.backIn=S,t.backInOut=V,t.backOut=M,t.calcGeneratorDuration=qt,t.cancelFrame=$,t.cancelMicrotask=ss,t.cancelSync=Hs,t.circIn=E,t.circInOut=P,t.circOut=k,t.clamp=s,t.collectMotionValues=Ss,t.color=wt,t.complex=kt,t.convertOffsetToTimes=xe,t.createGeneratorEasing=Gt,t.createRenderBatcher=j,t.createScopedAnimate=nr,t.cubicBezier=b,t.cubicBezierAsString=hn,t.defaultEasing=Me,t.defaultOffset=Te,t.defaultValueTypes=Hn,t.degrees=dt,t.delay=function(t,e){return function(t,e){const n=H.now(),s=({timestamp:i})=>{const r=i-n;r>=e&&($(s),t(r-e))};return K.setup(s,!0),()=>$(s)}(t,f(e))},t.dimensionValueTypes=Wn,t.distance=Or,t.distance2D=function(t,e){const n=Or(t.x,e.x),s=Or(t.y,e.y);return Math.sqrt(n**2+s**2)},t.easeIn=C,t.easeInOut=O,t.easeOut=F,t.easingDefinitionToFunction=I,t.fillOffset=be,t.fillWildcards=Oe,t.findDimensionValueType=Nn,t.findValueType=ks,t.flushKeyframeResolvers=nn,t.frame=K,t.frameData=U,t.frameSteps=z,t.generateLinearEasing=Xt,t.getAnimatableNone=Gn,t.getAnimationMap=Fn,t.getComputedStyle=gs,t.getDefaultValueType=qn,t.getEasingForSegment=B,t.getMixer=jt,t.getValueAsType=Ps,t.getValueTransition=Ln,t.getVariableValue=Bn,t.hasWarned=function(t){return y.has(t)},t.hex=ct,t.hover=function(t,e,n={}){const[s,i,r]=as(t,n),o=t=>{if(!us(t))return;const{target:n}=t,s=e(n,t);if("function"!=typeof s||!n)return;const r=t=>{us(t)&&(s(t),n.removeEventListener("pointerleave",r))};n.addEventListener("pointerleave",r,i)};return s.forEach((t=>{t.addEventListener("pointerenter",o,i)})),r},t.hsla=vt,t.hslaToRgba=Ct,t.inView=function(t,e,{root:n,margin:s,amount:i="some"}={}){const r=os(t),o=new WeakMap,a=new IntersectionObserver((t=>{t.forEach((t=>{const n=o.get(t.target);if(t.isIntersecting!==Boolean(n))if(t.isIntersecting){const n=e(t.target,t);"function"==typeof n?o.set(t.target,n):a.unobserve(t.target)}else"function"==typeof n&&(n(t),o.delete(t.target))}))}),{root:n,rootMargin:s,threshold:"number"==typeof i?i:Fr[i]});return r.forEach((t=>a.observe(t))),()=>a.disconnect()},t.inertia=ve,t.interpolate=we,t.invariant=i,t.invisibleValues=It,t.isBezierDefinition=L,t.isCSSVariableName=Z,t.isCSSVariableToken=J,t.isDragActive=rs,t.isDragging=is,t.isEasingArray=R,t.isGenerator=mn,t.isNodeOrChild=ls,t.isNumericalString=o,t.isPrimaryPointer=cs,t.isWaapiSupportedEasing=function t(e){return Boolean("function"==typeof e&&cn()||!e||"string"==typeof e&&(e in dn||cn())||L(e)||Array.isArray(e)&&e.every(t))},t.isZeroValueString=a,t.keyframes=Se,t.mapEasingToNativeEasing=pn,t.maxGeneratorDuration=Ht,t.memo=u,t.microtask=ns,t.millisecondsToSeconds=m,t.mirrorEasing=T,t.mix=zt,t.mixArray=Kt,t.mixColor=Dt,t.mixComplex=Ut,t.mixImmediate=Ft,t.mixLinearColor=Rt,t.mixNumber=Ot,t.mixObject=$t,t.mixVisibility=Wt,t.motionValue=As,t.moveItem=function([...t],e,n){const s=e<0?t.length+e:e;if(s>=0&&s<t.length){const s=n<0?t.length+n:n,[i]=t.splice(e,1);t.splice(s,0,i)}return t},t.noop=l,t.number=tt,t.numberValueTypes=Xn,t.observeTimeline=ys,t.parseCSSVariable=Rn,t.parseValueFromTransform=Ke,t.percent=pt,t.pipe=h,t.positionalKeys=Dn,t.press=function(t,e,n={}){const[s,i,r]=as(t,n),o=t=>{const s=t.currentTarget;if(!ms(t)||ds.has(s))return;ds.add(s);const r=e(s,t),o=(t,e)=>{window.removeEventListener("pointerup",a),window.removeEventListener("pointercancel",u),ms(t)&&ds.has(s)&&(ds.delete(s),"function"==typeof r&&r(t,{success:e}))},a=t=>{o(t,s===window||s===document||n.useGlobalTarget||ls(s,t.target))},u=t=>{o(t,!1)};window.addEventListener("pointerup",a,i),window.addEventListener("pointercancel",u,i)};return s.forEach((t=>{var e;(n.useGlobalTarget?window:t).addEventListener("pointerdown",o,i),t instanceof HTMLElement&&(t.addEventListener("focus",(t=>((t,e)=>{const n=t.currentTarget;if(!n)return;const s=ps((()=>{if(ds.has(n))return;fs(n,"down");const t=ps((()=>{fs(n,"up")}));n.addEventListener("keyup",t,e),n.addEventListener("blur",(()=>fs(n,"cancel")),e)}));n.addEventListener("keydown",s,e),n.addEventListener("blur",(()=>n.removeEventListener("keydown",s)),e)})(t,i))),e=t,hs.has(e.tagName)||-1!==e.tabIndex||t.hasAttribute("tabindex")||(t.tabIndex=0))})),r},t.progress=d,t.progressPercentage=yt,t.px=ft,t.readTransformValue=$e,t.recordStats=function(){if(N.value)throw xs(),new Error("Stats are already being measured");const t=N;return t.value={frameloop:{setup:[],rate:[],read:[],resolveKeyframes:[],preUpdate:[],update:[],preRender:[],render:[],postRender:[]},animations:{mainThread:[],waapi:[],layout:[]},layoutProjection:{nodes:[],calculatedTargetDeltas:[],calculatedProjections:[]}},t.addProjectionMetrics=e=>{const{layoutProjection:n}=t.value;n.nodes.push(e.nodes),n.calculatedTargetDeltas.push(e.calculatedTargetDeltas),n.calculatedProjections.push(e.calculatedProjections)},K.postRender(vs,!0),Ms},t.removeItem=n,t.resolveElements=os,t.reverseEasing=x,t.rgbUnit=ut,t.rgba=lt,t.scale=nt,t.scroll=function(t,{axis:e="y",container:n=document.documentElement,...s}={}){const i={axis:e,container:n,...s};return"function"==typeof t?function(t,e){return function(t){return 2===t.length}(t)?kr((n=>{t(n[e.axis].progress,n)}),e):ys(t,Cr(e))}(t,i):function(t,e){const n=Cr(e);return t.attachTimeline({timeline:e.target?void 0:n,observe:t=>(t.pause(),ys((e=>{t.time=t.duration*e}),n))})}(t,i)},t.scrollInfo=kr,t.secondsToMilliseconds=f,t.setDragLock=function(t){return"x"===t||"y"===t?is[t]?null:(is[t]=!0,()=>{is[t]=!1}):is.x||is.y?null:(is.x=is.y=!0,()=>{is.x=is.y=!1})},t.setStyle=on,t.spring=ye,t.stagger=function(t=.1,{startDelay:e=0,from:n=0,ease:s}={}){return(i,r)=>{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,r),a=Math.abs(o-i);let u=t*a;if(s){const e=r*t;u=I(s)(u/e)*e}return e+u}},t.startWaapiAnimation=fn,t.statsBuffer=N,t.steps=function(t,e="end"){return n=>{const i=(n="end"===e?Math.min(n,.999):Math.max(n,.001))*t,r="end"===e?Math.floor(i):Math.ceil(i);return s(0,1,r/t)}},t.supportedWaapiEasing=dn,t.supportsBrowserAnimation=Sn,t.supportsFlags=un,t.supportsLinearEasing=cn,t.supportsPartialKeyframes=ts,t.supportsScrollTimeline=an,t.sync=Xs,t.testValueType=In,t.time=H,t.transform=function(...t){const e=!Array.isArray(t[0]),n=e?0:-1,s=t[0+n],i=t[1+n],r=t[2+n],o=t[3+n],a=we(i,r,{mixer:(u=r[0],(t=>t&&"object"==typeof t&&t.mix)(u)?u.mix:void 0),...o});var u;return e?a(s):a},t.transformPropOrder=ze,t.transformProps=Ye,t.transformValueTypes=Yn,t.velocityPerSecond=g,t.vh=mt,t.vw=gt,t.warnOnce=function(t,e,n){t||y.has(e)||(console.warn(e),n&&console.warn(n),y.add(e))},t.warning=()=>{},t.wrap=v}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "motion",
3
- "version": "12.7.5-alpha.0",
3
+ "version": "12.7.5-alpha.2",
4
4
  "description": "An animation library for JavaScript and React.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/es/motion/lib/index.mjs",
@@ -76,7 +76,7 @@
76
76
  "postpublish": "git push --tags"
77
77
  },
78
78
  "dependencies": {
79
- "framer-motion": "^12.7.5-alpha.0",
79
+ "framer-motion": "^12.7.5-alpha.2",
80
80
  "tslib": "^2.4.0"
81
81
  },
82
82
  "peerDependencies": {
@@ -95,5 +95,5 @@
95
95
  "optional": true
96
96
  }
97
97
  },
98
- "gitHead": "187bd70fe43313377c136d91b04f6aba6cfbd37a"
98
+ "gitHead": "ad9f56d693da4613d1524fa41447e010dedc8a5d"
99
99
  }