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 +5 -1
- package/dist/cjs/index.js +23 -21
- package/dist/cjs/mini.js +1 -1
- package/dist/cjs/react-client.js +7 -8
- package/dist/cjs/react-m.js +3 -1
- package/dist/cjs/react-mini.js +1 -1
- package/dist/es/framer-motion/dist/es/render/dom/scroll/attach-animation.mjs +1 -1
- package/dist/es/framer-motion/dist/es/render/dom/scroll/track.mjs +1 -1
- package/dist/es/framer-motion/dist/es/render/dom/scroll/utils/get-timeline.mjs +11 -10
- package/dist/es/framer-motion/dist/es/render/utils/motion-values.mjs +1 -1
- package/dist/es/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs +0 -1
- package/dist/es/motion-dom/dist/es/animation/JSAnimation.mjs +0 -2
- package/dist/es/motion-dom/dist/es/animation/NativeAnimation.mjs +1 -1
- package/dist/es/motion-dom/dist/es/animation/generators/spring/index.mjs +1 -1
- package/dist/es/motion-dom/dist/es/frameloop/batcher.mjs +2 -1
- package/dist/es/motion-dom/dist/es/frameloop/order.mjs +1 -0
- package/dist/es/motion-dom/dist/es/scroll/observe.mjs +1 -1
- package/dist/es/motion-dom/dist/es/stats/index.mjs +2 -0
- package/dist/es/motion-dom/dist/es/value/index.mjs +1 -1
- package/dist/motion.dev.js +23 -21
- package/dist/motion.js +1 -1
- package/package.json +3 -3
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
6837
|
-
|
|
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
|
-
|
|
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
|
}
|
package/dist/cjs/react-client.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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)) {
|
package/dist/cjs/react-m.js
CHANGED
|
@@ -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);
|
package/dist/cjs/react-mini.js
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
18
|
-
|
|
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
|
-
|
|
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.
|
|
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)) {
|
|
@@ -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);
|
|
@@ -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.
|
|
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
|
package/dist/motion.dev.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
6838
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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": "
|
|
98
|
+
"gitHead": "ad9f56d693da4613d1524fa41447e010dedc8a5d"
|
|
99
99
|
}
|