framer-motion 12.7.3 → 12.7.5-alpha.0
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/README.md +1 -1
- package/dist/cjs/client.js +1 -1
- package/dist/cjs/{create-DwAwaNot.js → create-C7kXmWbI.js} +99 -2828
- package/dist/cjs/dom-mini.js +82 -66
- package/dist/cjs/dom.js +264 -3000
- package/dist/cjs/index.js +163 -218
- package/dist/cjs/m.js +13 -170
- package/dist/cjs/mini.js +77 -9
- package/dist/dom-mini.js +1 -1
- package/dist/dom.d.ts +5 -94
- package/dist/dom.js +1 -1
- package/dist/es/animation/animate/sequence.mjs +1 -1
- package/dist/es/animation/animators/waapi/animate-elements.mjs +78 -10
- package/dist/es/animation/interfaces/motion-value.mjs +11 -30
- package/dist/es/animation/interfaces/visual-element-target.mjs +1 -2
- package/dist/es/animation/optimized-appear/store-id.mjs +1 -1
- package/dist/es/animation/sequence/create.mjs +2 -5
- package/dist/es/animation/sequence/utils/edit.mjs +2 -3
- package/dist/es/animation/utils/default-transitions.mjs +1 -1
- package/dist/es/animation/utils/stagger.mjs +1 -1
- package/dist/es/components/AnimatePresence/PresenceChild.mjs +26 -23
- package/dist/es/components/Reorder/utils/check-reorder.mjs +1 -1
- package/dist/es/dom.mjs +2 -18
- package/dist/es/gestures/drag/VisualElementDragControls.mjs +1 -3
- package/dist/es/gestures/drag/utils/constraints.mjs +2 -3
- package/dist/es/gestures/focus.mjs +1 -1
- package/dist/es/gestures/pan/PanSession.mjs +1 -2
- package/dist/es/index.mjs +3 -24
- package/dist/es/motion/utils/is-forced-motion-value.mjs +1 -1
- package/dist/es/projection/animation/mix-values.mjs +2 -4
- package/dist/es/projection/geometry/delta-apply.mjs +1 -1
- package/dist/es/projection/geometry/delta-calc.mjs +1 -1
- package/dist/es/projection/geometry/delta-remove.mjs +1 -2
- package/dist/es/projection/node/create-projection-node.mjs +3 -7
- package/dist/es/projection/styles/scale-border-radius.mjs +1 -1
- package/dist/es/projection/styles/scale-box-shadow.mjs +1 -2
- package/dist/es/projection/styles/scale-correction.mjs +1 -1
- package/dist/es/projection.mjs +1 -3
- package/dist/es/render/VisualElement.mjs +2 -9
- package/dist/es/render/dom/DOMVisualElement.mjs +1 -1
- package/dist/es/render/dom/scroll/attach-animation.mjs +17 -0
- package/dist/es/render/dom/scroll/attach-function.mjs +23 -0
- package/dist/es/render/dom/scroll/index.mjs +6 -82
- package/dist/es/render/dom/scroll/offsets/index.mjs +2 -3
- package/dist/es/render/dom/scroll/utils/get-timeline.mjs +29 -0
- package/dist/es/render/html/HTMLVisualElement.mjs +1 -3
- package/dist/es/render/html/utils/build-styles.mjs +1 -4
- package/dist/es/render/html/utils/build-transform.mjs +1 -3
- package/dist/es/render/svg/SVGVisualElement.mjs +1 -3
- package/dist/es/render/svg/config-motion.mjs +1 -2
- package/dist/es/render/svg/utils/path.mjs +1 -1
- package/dist/es/render/svg/utils/scrape-motion-values.mjs +1 -1
- package/dist/es/render/svg/utils/transform-origin.mjs +1 -1
- package/dist/es/render/utils/motion-values.mjs +1 -1
- package/dist/es/utils/delay.mjs +1 -1
- package/dist/es/utils/transform.mjs +1 -1
- package/dist/es/utils/use-cycle.mjs +1 -1
- package/dist/es/utils/use-instant-transition.mjs +4 -4
- package/dist/es/value/use-spring.mjs +2 -3
- package/dist/es/value/use-will-change/get-will-change-name.mjs +1 -2
- package/dist/framer-motion.dev.js +3881 -3419
- package/dist/framer-motion.js +1 -1
- package/dist/m.d.ts +3 -50
- package/dist/mini.js +1 -1
- package/dist/size-rollup-animate.js +1 -1
- package/dist/size-rollup-dom-animation-assets.js +1 -1
- package/dist/size-rollup-dom-animation.js +1 -1
- package/dist/size-rollup-dom-max-assets.js +1 -1
- package/dist/size-rollup-dom-max.js +1 -1
- package/dist/size-rollup-m.js +1 -1
- package/dist/size-rollup-motion.js +1 -1
- package/dist/size-rollup-scroll.js +1 -1
- package/dist/size-rollup-waapi-animate.js +1 -1
- package/dist/types/client.d.ts +4 -3
- package/dist/types/index.d.ts +56 -351
- package/dist/{types.d-B50aGbjN.d.ts → types.d-B1Voffvi.d.ts} +3 -138
- package/package.json +9 -9
- package/dist/es/animation/animators/AcceleratedAnimation.mjs +0 -319
- package/dist/es/animation/animators/BaseAnimation.mjs +0 -120
- package/dist/es/animation/animators/MainThreadAnimation.mjs +0 -394
- package/dist/es/animation/animators/drivers/driver-frameloop.mjs +0 -16
- package/dist/es/animation/animators/utils/accelerated-values.mjs +0 -14
- package/dist/es/animation/animators/utils/can-animate.mjs +0 -42
- package/dist/es/animation/animators/waapi/utils/supports-waapi.mjs +0 -5
- package/dist/es/animation/generators/inertia.mjs +0 -87
- package/dist/es/animation/generators/keyframes.mjs +0 -51
- package/dist/es/animation/generators/spring/defaults.mjs +0 -27
- package/dist/es/animation/generators/spring/find.mjs +0 -85
- package/dist/es/animation/generators/spring/index.mjs +0 -174
- package/dist/es/animation/generators/utils/velocity.mjs +0 -9
- package/dist/es/animation/utils/is-animatable.mjs +0 -30
- package/dist/es/animation/utils/is-none.mjs +0 -15
- package/dist/es/easing/anticipate.mjs +0 -5
- package/dist/es/easing/back.mjs +0 -9
- package/dist/es/easing/circ.mjs +0 -8
- package/dist/es/easing/cubic-bezier.mjs +0 -51
- package/dist/es/easing/ease.mjs +0 -7
- package/dist/es/easing/modifiers/mirror.mjs +0 -5
- package/dist/es/easing/modifiers/reverse.mjs +0 -5
- package/dist/es/easing/steps.mjs +0 -15
- package/dist/es/easing/utils/get-easing-for-segment.mjs +0 -8
- package/dist/es/easing/utils/is-easing-array.mjs +0 -5
- package/dist/es/easing/utils/map.mjs +0 -37
- package/dist/es/render/dom/DOMKeyframesResolver.mjs +0 -130
- package/dist/es/render/dom/scroll/observe.mjs +0 -18
- package/dist/es/render/dom/utils/css-variables-conversion.mjs +0 -42
- package/dist/es/render/dom/utils/is-css-variable.mjs +0 -15
- package/dist/es/render/dom/utils/unit-conversion.mjs +0 -36
- package/dist/es/render/dom/value-types/animatable-none.mjs +0 -15
- package/dist/es/render/dom/value-types/defaults.mjs +0 -30
- package/dist/es/render/dom/value-types/dimensions.mjs +0 -15
- package/dist/es/render/dom/value-types/find.mjs +0 -15
- package/dist/es/render/dom/value-types/get-as-type.mjs +0 -10
- package/dist/es/render/dom/value-types/number-browser.mjs +0 -41
- package/dist/es/render/dom/value-types/number.mjs +0 -18
- package/dist/es/render/dom/value-types/test.mjs +0 -6
- package/dist/es/render/dom/value-types/transform.mjs +0 -31
- package/dist/es/render/dom/value-types/type-auto.mjs +0 -9
- package/dist/es/render/dom/value-types/type-int.mjs +0 -8
- package/dist/es/render/html/utils/keys-position.mjs +0 -13
- package/dist/es/render/html/utils/keys-transform.mjs +0 -28
- package/dist/es/render/html/utils/make-none-animatable.mjs +0 -30
- package/dist/es/render/html/utils/parse-transform.mjs +0 -83
- package/dist/es/render/utils/KeyframesResolver.mjs +0 -163
- package/dist/es/utils/clamp.mjs +0 -9
- package/dist/es/utils/hsla-to-rgba.mjs +0 -42
- package/dist/es/utils/interpolate.mjs +0 -76
- package/dist/es/utils/is-numerical-string.mjs +0 -6
- package/dist/es/utils/is-zero-value-string.mjs +0 -6
- package/dist/es/utils/mix/color.mjs +0 -47
- package/dist/es/utils/mix/complex.mjs +0 -93
- package/dist/es/utils/mix/immediate.mjs +0 -5
- package/dist/es/utils/mix/index.mjs +0 -14
- package/dist/es/utils/mix/number.mjs +0 -26
- package/dist/es/utils/mix/visibility.mjs +0 -16
- package/dist/es/utils/offsets/default.mjs +0 -9
- package/dist/es/utils/offsets/fill.mjs +0 -12
- package/dist/es/utils/offsets/time.mjs +0 -5
- package/dist/es/utils/pipe.mjs +0 -11
- package/dist/es/utils/use-instant-transition-state.mjs +0 -5
- package/dist/es/utils/wrap.mjs +0 -6
- package/dist/es/value/types/color/hex.mjs +0 -40
- package/dist/es/value/types/color/hsla.mjs +0 -22
- package/dist/es/value/types/color/index.mjs +0 -27
- package/dist/es/value/types/color/rgba.mjs +0 -25
- package/dist/es/value/types/color/utils.mjs +0 -29
- package/dist/es/value/types/complex/filter.mjs +0 -30
- package/dist/es/value/types/complex/index.mjs +0 -91
- package/dist/es/value/types/numbers/index.mjs +0 -17
- package/dist/es/value/types/numbers/units.mjs +0 -17
- package/dist/es/value/types/utils/color-regex.mjs +0 -3
- package/dist/es/value/types/utils/float-regex.mjs +0 -3
- package/dist/es/value/types/utils/is-nullish.mjs +0 -5
- package/dist/es/value/types/utils/sanitize.mjs +0 -5
- package/dist/es/value/types/utils/single-color-regex.mjs +0 -3
package/dist/types/index.d.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { F as FeatureBundle, M as MotionProps, a as MotionConfigContext, H as HTMLMotionProps, b as HTMLElements, G as GenericKeyframesTarget,
|
|
3
|
-
export {
|
|
2
|
+
import { F as FeatureBundle, M as MotionProps, a as MotionConfigContext, H as HTMLMotionProps, b as HTMLElements, G as GenericKeyframesTarget, D as DOMMotionComponents, c as MotionComponentProps, d as HTMLMotionComponents, S as SVGMotionComponents, E as EventInfo, e as FeaturePackages, C as CustomValueType, A as AnimationControls, V as VisualElement, f as AnimationDefinition, g as VisualElementAnimationOptions, I as IProjectionNode, R as ResolvedValues, h as HTMLRenderState } from '../types.d-B1Voffvi.js';
|
|
3
|
+
export { W as AnimationLifecycles, z as AnimationProps, k as AnimationType, X as CreateVisualElement, l as DragControls, w as DragElastic, y as DragHandlers, x as DraggableProps, ai as FeatureDefinition, aj as FeatureDefinitions, ak as FeaturePackage, Y as FlatTree, n as FocusHandlers, O as ForwardRefComponent, o as HoverHandlers, ag as HydratedFeatureDefinition, ah as HydratedFeatureDefinitions, Z as Inertia, _ as Keyframes, $ as KeyframesTarget, L as LayoutProps, al as LazyFeatureBundle, B as MotionAdvancedProps, J as MotionStyle, K as MotionTransform, a0 as None, a1 as Orchestration, p as PanHandlers, P as PanInfo, t as PresenceContext, am as RenderComponent, a2 as Repeat, af as ResolveKeyframes, a3 as ResolvedKeyframesTarget, a4 as ResolvedSingleTarget, a5 as ResolvedValueTarget, Q as SVGAttributesAsMotionValues, U as SVGMotionProps, i as ScrapeMotionValuesFromProps, a6 as SingleTarget, a7 as Spring, v as SwitchLayoutGroupContext, T as TapHandlers, q as TapInfo, a8 as Target, a9 as TargetAndTransition, aa as Transition, ab as Tween, ac as ValueTarget, ad as Variant, N as VariantLabels, ae as Variants, j as VisualState, r as createRendererMotionComponent, m as makeUseVisualState, s as optimizedAppearDataAttribute, u as useDragControls } from '../types.d-B1Voffvi.js';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import * as React$1 from 'react';
|
|
6
6
|
import { useEffect, RefObject } from 'react';
|
|
7
7
|
import * as motion_dom from 'motion-dom';
|
|
8
|
-
import { MotionValue, UnresolvedValueKeyframe, Transition, ElementOrSelector, DOMKeyframesDefinition, AnimationOptions, AnimationPlaybackOptions,
|
|
8
|
+
import { MotionValue, UnresolvedValueKeyframe, Transition, ElementOrSelector, DOMKeyframesDefinition, AnimationOptions, AnimationPlaybackOptions, AnimationScope, AnimationPlaybackControlsWithThen, ValueAnimationTransition, AnimationPlaybackControls, DynamicOption, MotionValueEventCallbacks, SpringOptions } from 'motion-dom';
|
|
9
9
|
export * from 'motion-dom';
|
|
10
|
-
|
|
11
|
-
export
|
|
10
|
+
import { Easing, EasingFunction, Point, Axis, Box } from 'motion-utils';
|
|
11
|
+
export * from 'motion-utils';
|
|
12
|
+
export { MotionGlobalConfig } from 'motion-utils';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* @public
|
|
@@ -394,6 +395,51 @@ declare const animate: {
|
|
|
394
395
|
|
|
395
396
|
declare const animateMini: (elementOrSelector: ElementOrSelector, keyframes: DOMKeyframesDefinition, options?: AnimationOptions) => AnimationPlaybackControlsWithThen;
|
|
396
397
|
|
|
398
|
+
interface ScrollOptions {
|
|
399
|
+
source?: HTMLElement;
|
|
400
|
+
container?: HTMLElement;
|
|
401
|
+
target?: Element;
|
|
402
|
+
axis?: "x" | "y";
|
|
403
|
+
offset?: ScrollOffset;
|
|
404
|
+
}
|
|
405
|
+
type OnScrollProgress = (progress: number) => void;
|
|
406
|
+
type OnScrollWithInfo = (progress: number, info: ScrollInfo) => void;
|
|
407
|
+
type OnScroll = OnScrollProgress | OnScrollWithInfo;
|
|
408
|
+
interface AxisScrollInfo {
|
|
409
|
+
current: number;
|
|
410
|
+
offset: number[];
|
|
411
|
+
progress: number;
|
|
412
|
+
scrollLength: number;
|
|
413
|
+
velocity: number;
|
|
414
|
+
targetOffset: number;
|
|
415
|
+
targetLength: number;
|
|
416
|
+
containerLength: number;
|
|
417
|
+
interpolatorOffsets?: number[];
|
|
418
|
+
interpolate?: EasingFunction;
|
|
419
|
+
}
|
|
420
|
+
interface ScrollInfo {
|
|
421
|
+
time: number;
|
|
422
|
+
x: AxisScrollInfo;
|
|
423
|
+
y: AxisScrollInfo;
|
|
424
|
+
}
|
|
425
|
+
type OnScrollInfo = (info: ScrollInfo) => void;
|
|
426
|
+
type SupportedEdgeUnit = "px" | "vw" | "vh" | "%";
|
|
427
|
+
type EdgeUnit = `${number}${SupportedEdgeUnit}`;
|
|
428
|
+
type NamedEdges = "start" | "end" | "center";
|
|
429
|
+
type EdgeString = NamedEdges | EdgeUnit | `${number}`;
|
|
430
|
+
type Edge = EdgeString | number;
|
|
431
|
+
type ProgressIntersection = [number, number];
|
|
432
|
+
type Intersection = `${Edge} ${Edge}`;
|
|
433
|
+
type ScrollOffset = Array<Edge | Intersection | ProgressIntersection>;
|
|
434
|
+
interface ScrollInfoOptions {
|
|
435
|
+
container?: HTMLElement;
|
|
436
|
+
target?: Element;
|
|
437
|
+
axis?: "x" | "y";
|
|
438
|
+
offset?: ScrollOffset;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
declare function scroll(onScroll: OnScroll | AnimationPlaybackControls, { axis, container, ...options }?: ScrollOptions): VoidFunction;
|
|
442
|
+
|
|
397
443
|
declare function scrollInfo(onScroll: OnScrollInfo, { container, ...options }?: ScrollInfoOptions): () => void;
|
|
398
444
|
|
|
399
445
|
type ViewChangeHandler = (entry: IntersectionObserverEntry) => void;
|
|
@@ -406,38 +452,6 @@ interface InViewOptions {
|
|
|
406
452
|
}
|
|
407
453
|
declare function inView(elementOrSelector: ElementOrSelector, onStart: (element: Element, entry: IntersectionObserverEntry) => void | ViewChangeHandler, { root, margin: rootMargin, amount }?: InViewOptions): VoidFunction;
|
|
408
454
|
|
|
409
|
-
declare const anticipate: (p: number) => number;
|
|
410
|
-
|
|
411
|
-
declare const backOut: (t: number) => number;
|
|
412
|
-
declare const backIn: motion_dom.EasingFunction;
|
|
413
|
-
declare const backInOut: motion_dom.EasingFunction;
|
|
414
|
-
|
|
415
|
-
declare const circIn: EasingFunction;
|
|
416
|
-
declare const circOut: EasingFunction;
|
|
417
|
-
declare const circInOut: EasingFunction;
|
|
418
|
-
|
|
419
|
-
declare function cubicBezier(mX1: number, mY1: number, mX2: number, mY2: number): (t: number) => number;
|
|
420
|
-
|
|
421
|
-
declare const easeIn: (t: number) => number;
|
|
422
|
-
declare const easeOut: (t: number) => number;
|
|
423
|
-
declare const easeInOut: (t: number) => number;
|
|
424
|
-
|
|
425
|
-
declare const mirrorEasing: EasingModifier;
|
|
426
|
-
|
|
427
|
-
declare const reverseEasing: EasingModifier;
|
|
428
|
-
|
|
429
|
-
type Direction = "start" | "end";
|
|
430
|
-
declare function steps(numSteps: number, direction?: Direction): EasingFunction;
|
|
431
|
-
|
|
432
|
-
declare function inertia({ keyframes, velocity, power, timeConstant, bounceDamping, bounceStiffness, modifyTarget, min, max, restDelta, restSpeed, }: ValueAnimationOptions<number>): KeyframeGenerator<number>;
|
|
433
|
-
|
|
434
|
-
declare function keyframes<T extends string | number>({ duration, keyframes: keyframeValues, times, ease, }: ValueAnimationOptions<T>): KeyframeGenerator<T>;
|
|
435
|
-
|
|
436
|
-
declare function spring(optionsOrVisualDuration?: ValueAnimationOptions<number> | number, bounce?: number): KeyframeGenerator<number>;
|
|
437
|
-
declare namespace spring {
|
|
438
|
-
var applyToOptions: (options: Transition) => Transition;
|
|
439
|
-
}
|
|
440
|
-
|
|
441
455
|
type StaggerOrigin = "first" | "last" | "center" | number;
|
|
442
456
|
type StaggerOptions = {
|
|
443
457
|
startDelay?: number;
|
|
@@ -446,8 +460,6 @@ type StaggerOptions = {
|
|
|
446
460
|
};
|
|
447
461
|
declare function stagger(duration?: number, { startDelay, from, ease }?: StaggerOptions): DynamicOption<number>;
|
|
448
462
|
|
|
449
|
-
declare const clamp: (min: number, max: number, v: number) => number;
|
|
450
|
-
|
|
451
463
|
type DelayedFunction = (overshoot: number) => void;
|
|
452
464
|
/**
|
|
453
465
|
* Timeout defined in ms
|
|
@@ -457,41 +469,6 @@ declare function delay(callback: DelayedFunction, timeout: number): () => void;
|
|
|
457
469
|
declare const distance: (a: number, b: number) => number;
|
|
458
470
|
declare function distance2D(a: Point, b: Point): number;
|
|
459
471
|
|
|
460
|
-
type Mix<T> = (v: number) => T;
|
|
461
|
-
type MixerFactory<T> = (from: T, to: T) => Mix<T>;
|
|
462
|
-
interface InterpolateOptions<T> {
|
|
463
|
-
clamp?: boolean;
|
|
464
|
-
ease?: EasingFunction | EasingFunction[];
|
|
465
|
-
mixer?: MixerFactory<T>;
|
|
466
|
-
}
|
|
467
|
-
/**
|
|
468
|
-
* Create a function that maps from a numerical input array to a generic output array.
|
|
469
|
-
*
|
|
470
|
-
* Accepts:
|
|
471
|
-
* - Numbers
|
|
472
|
-
* - Colors (hex, hsl, hsla, rgb, rgba)
|
|
473
|
-
* - Complex (combinations of one or more numbers or strings)
|
|
474
|
-
*
|
|
475
|
-
* ```jsx
|
|
476
|
-
* const mixColor = interpolate([0, 1], ['#fff', '#000'])
|
|
477
|
-
*
|
|
478
|
-
* mixColor(0.5) // 'rgba(128, 128, 128, 1)'
|
|
479
|
-
* ```
|
|
480
|
-
*
|
|
481
|
-
* TODO Revist this approach once we've moved to data models for values,
|
|
482
|
-
* probably not needed to pregenerate mixer functions.
|
|
483
|
-
*
|
|
484
|
-
* @public
|
|
485
|
-
*/
|
|
486
|
-
declare function interpolate<T>(input: number[], output: T[], { clamp: isClamp, ease, mixer }?: InterpolateOptions<T>): (v: number) => T;
|
|
487
|
-
|
|
488
|
-
type Mixer<T> = (p: number) => T;
|
|
489
|
-
|
|
490
|
-
declare function mix<T>(from: T, to: T): Mixer<T>;
|
|
491
|
-
declare function mix(from: number, to: number, p: number): number;
|
|
492
|
-
|
|
493
|
-
declare const pipe: (...transformers: Function[]) => Function;
|
|
494
|
-
|
|
495
472
|
/**
|
|
496
473
|
* @public
|
|
497
474
|
*/
|
|
@@ -585,28 +562,26 @@ declare function transform<T>(inputValue: number, inputRange: number[], outputRa
|
|
|
585
562
|
*/
|
|
586
563
|
declare function transform<T>(inputRange: number[], outputRange: T[], options?: TransformOptions<T>): (inputValue: number) => T;
|
|
587
564
|
|
|
588
|
-
declare const wrap: (min: number, max: number, v: number) => number;
|
|
589
|
-
|
|
590
565
|
declare const m: (<Props, TagName extends string = "div">(Component: string | TagName | React$1.ComponentType<Props>, { forwardMotionProps }?: {
|
|
591
566
|
forwardMotionProps: boolean;
|
|
592
|
-
}) => TagName extends "symbol" | "clipPath" | "filter" | "mask" | "marker" | "text" | "animate" | "path" | "image" | "circle" | "switch" | "
|
|
567
|
+
}) => TagName extends "symbol" | "clipPath" | "filter" | "mask" | "marker" | "text" | "animate" | "path" | "image" | "circle" | "switch" | "svg" | "stop" | keyof HTMLElements | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "line" | "linearGradient" | "metadata" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "textPath" | "tspan" | "use" | "view" ? DOMMotionComponents[TagName] : React$1.ComponentType<Omit<MotionComponentProps<Props>, "children"> & {
|
|
593
568
|
children?: ("children" extends keyof Props ? Props[keyof Props & "children"] | MotionComponentProps<Props>[keyof Props & "children"] : MotionComponentProps<Props>["children"]) | undefined;
|
|
594
569
|
}>) & HTMLMotionComponents & SVGMotionComponents & {
|
|
595
570
|
create: <Props, TagName extends string = "div">(Component: string | TagName | React$1.ComponentType<Props>, { forwardMotionProps }?: {
|
|
596
571
|
forwardMotionProps: boolean;
|
|
597
|
-
}) => TagName extends "symbol" | "clipPath" | "filter" | "mask" | "marker" | "text" | "animate" | "path" | "image" | "circle" | "switch" | "
|
|
572
|
+
}) => TagName extends "symbol" | "clipPath" | "filter" | "mask" | "marker" | "text" | "animate" | "path" | "image" | "circle" | "switch" | "svg" | "stop" | keyof HTMLElements | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "line" | "linearGradient" | "metadata" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "textPath" | "tspan" | "use" | "view" ? DOMMotionComponents[TagName] : React$1.ComponentType<Omit<MotionComponentProps<Props>, "children"> & {
|
|
598
573
|
children?: ("children" extends keyof Props ? Props[keyof Props & "children"] | MotionComponentProps<Props>[keyof Props & "children"] : MotionComponentProps<Props>["children"]) | undefined;
|
|
599
574
|
}>;
|
|
600
575
|
};
|
|
601
576
|
|
|
602
577
|
declare const motion: (<Props, TagName extends string = "div">(Component: string | TagName | React$1.ComponentType<Props>, { forwardMotionProps }?: {
|
|
603
578
|
forwardMotionProps: boolean;
|
|
604
|
-
}) => TagName extends "symbol" | "clipPath" | "filter" | "mask" | "marker" | "text" | "animate" | "path" | "image" | "circle" | "switch" | "
|
|
579
|
+
}) => TagName extends "symbol" | "clipPath" | "filter" | "mask" | "marker" | "text" | "animate" | "path" | "image" | "circle" | "switch" | "svg" | "stop" | keyof HTMLElements | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "line" | "linearGradient" | "metadata" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "textPath" | "tspan" | "use" | "view" ? DOMMotionComponents[TagName] : React$1.ComponentType<Omit<MotionComponentProps<Props>, "children"> & {
|
|
605
580
|
children?: ("children" extends keyof Props ? Props[keyof Props & "children"] | MotionComponentProps<Props>[keyof Props & "children"] : MotionComponentProps<Props>["children"]) | undefined;
|
|
606
581
|
}>) & HTMLMotionComponents & SVGMotionComponents & {
|
|
607
582
|
create: <Props, TagName extends string = "div">(Component: string | TagName | React$1.ComponentType<Props>, { forwardMotionProps }?: {
|
|
608
583
|
forwardMotionProps: boolean;
|
|
609
|
-
}) => TagName extends "symbol" | "clipPath" | "filter" | "mask" | "marker" | "text" | "animate" | "path" | "image" | "circle" | "switch" | "
|
|
584
|
+
}) => TagName extends "symbol" | "clipPath" | "filter" | "mask" | "marker" | "text" | "animate" | "path" | "image" | "circle" | "switch" | "svg" | "stop" | keyof HTMLElements | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "line" | "linearGradient" | "metadata" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "textPath" | "tspan" | "use" | "view" ? DOMMotionComponents[TagName] : React$1.ComponentType<Omit<MotionComponentProps<Props>, "children"> & {
|
|
610
585
|
children?: ("children" extends keyof Props ? Props[keyof Props & "children"] | MotionComponentProps<Props>[keyof Props & "children"] : MotionComponentProps<Props>["children"]) | undefined;
|
|
611
586
|
}>;
|
|
612
587
|
};
|
|
@@ -904,220 +879,6 @@ declare function useReducedMotion(): boolean | null;
|
|
|
904
879
|
|
|
905
880
|
declare function useReducedMotionConfig(): boolean | null;
|
|
906
881
|
|
|
907
|
-
interface ValueAnimationOptionsWithDefaults<T extends string | number> extends ValueAnimationOptionsWithRenderContext<T> {
|
|
908
|
-
autoplay: boolean;
|
|
909
|
-
delay: number;
|
|
910
|
-
repeat: number;
|
|
911
|
-
repeatDelay: number;
|
|
912
|
-
repeatType: RepeatType;
|
|
913
|
-
}
|
|
914
|
-
declare abstract class BaseAnimation<T extends string | number, Resolved> implements AnimationPlaybackControls {
|
|
915
|
-
protected options: ValueAnimationOptionsWithDefaults<T>;
|
|
916
|
-
protected resolveFinishedPromise: VoidFunction;
|
|
917
|
-
protected currentFinishedPromise: Promise<void>;
|
|
918
|
-
protected isStopped: boolean;
|
|
919
|
-
protected _resolved: Resolved & {
|
|
920
|
-
keyframes: ResolvedKeyframes<T>;
|
|
921
|
-
};
|
|
922
|
-
protected hasAttemptedResolve: boolean;
|
|
923
|
-
protected resolver: KeyframeResolver<T>;
|
|
924
|
-
private createdAt;
|
|
925
|
-
private resolvedAt;
|
|
926
|
-
constructor({ autoplay, delay, type, repeat, repeatDelay, repeatType, ...options }: ValueAnimationOptions<T>);
|
|
927
|
-
/**
|
|
928
|
-
* This method uses the createdAt and resolvedAt to calculate the
|
|
929
|
-
* animation startTime. *Ideally*, we would use the createdAt time as t=0
|
|
930
|
-
* as the following frame would then be the first frame of the animation in
|
|
931
|
-
* progress, which would feel snappier.
|
|
932
|
-
*
|
|
933
|
-
* However, if there's a delay (main thread work) between the creation of
|
|
934
|
-
* the animation and the first commited frame, we prefer to use resolvedAt
|
|
935
|
-
* to avoid a sudden jump into the animation.
|
|
936
|
-
*/
|
|
937
|
-
calcStartTime(): number;
|
|
938
|
-
protected abstract initPlayback(keyframes: ResolvedKeyframes<T>, finalKeyframe?: T): Resolved | false;
|
|
939
|
-
abstract play(): void;
|
|
940
|
-
abstract pause(): void;
|
|
941
|
-
abstract stop(): void;
|
|
942
|
-
abstract cancel(): void;
|
|
943
|
-
abstract complete(): void;
|
|
944
|
-
abstract get speed(): number;
|
|
945
|
-
abstract set speed(newSpeed: number);
|
|
946
|
-
abstract get time(): number;
|
|
947
|
-
abstract set time(newTime: number);
|
|
948
|
-
abstract get duration(): number;
|
|
949
|
-
abstract get state(): AnimationPlayState;
|
|
950
|
-
abstract get startTime(): number | null;
|
|
951
|
-
abstract get finished(): Promise<void>;
|
|
952
|
-
/**
|
|
953
|
-
* A getter for resolved data. If keyframes are not yet resolved, accessing
|
|
954
|
-
* this.resolved will synchronously flush all pending keyframe resolvers.
|
|
955
|
-
* This is a deoptimisation, but at its worst still batches read/writes.
|
|
956
|
-
*/
|
|
957
|
-
get resolved(): (Resolved & {
|
|
958
|
-
keyframes: ResolvedKeyframes<T>;
|
|
959
|
-
finalKeyframe?: T;
|
|
960
|
-
}) | undefined;
|
|
961
|
-
/**
|
|
962
|
-
* A method to be called when the keyframes resolver completes. This method
|
|
963
|
-
* will check if its possible to run the animation and, if not, skip it.
|
|
964
|
-
* Otherwise, it will call initPlayback on the implementing class.
|
|
965
|
-
*/
|
|
966
|
-
protected onKeyframesResolved(keyframes: ResolvedKeyframes<T>, finalKeyframe?: T): void;
|
|
967
|
-
onPostResolved(): void;
|
|
968
|
-
/**
|
|
969
|
-
* Allows the returned animation to be awaited or promise-chained. Currently
|
|
970
|
-
* resolves when the animation finishes at all but in a future update could/should
|
|
971
|
-
* reject if its cancels.
|
|
972
|
-
*/
|
|
973
|
-
then(resolve: VoidFunction, reject?: VoidFunction): Promise<void>;
|
|
974
|
-
flatten(): void;
|
|
975
|
-
protected updateFinishedPromise(): void;
|
|
976
|
-
}
|
|
977
|
-
|
|
978
|
-
interface AcceleratedValueAnimationOptions<T extends string | number = number> extends ValueAnimationOptions<T> {
|
|
979
|
-
name: string;
|
|
980
|
-
motionValue: MotionValue<T>;
|
|
981
|
-
}
|
|
982
|
-
interface ResolvedAcceleratedAnimation {
|
|
983
|
-
animation: Animation;
|
|
984
|
-
duration: number;
|
|
985
|
-
times: ValueAnimationOptions["times"];
|
|
986
|
-
type: ValueAnimationOptions["type"];
|
|
987
|
-
ease: ValueAnimationOptions["ease"];
|
|
988
|
-
keyframes: string[] | number[];
|
|
989
|
-
}
|
|
990
|
-
declare class AcceleratedAnimation<T extends string | number> extends BaseAnimation<T, ResolvedAcceleratedAnimation> {
|
|
991
|
-
protected options: ValueAnimationOptionsWithDefaults<T> & {
|
|
992
|
-
name: string;
|
|
993
|
-
motionValue: MotionValue<T>;
|
|
994
|
-
};
|
|
995
|
-
constructor(options: ValueAnimationOptionsWithRenderContext<T>);
|
|
996
|
-
/**
|
|
997
|
-
* An AnimationTimline to attach to the WAAPI animation once it's created.
|
|
998
|
-
*/
|
|
999
|
-
private pendingTimeline;
|
|
1000
|
-
protected initPlayback(keyframes: ResolvedKeyframes<T>, finalKeyframe: T): false | {
|
|
1001
|
-
animation: Animation;
|
|
1002
|
-
duration: number;
|
|
1003
|
-
times: number[] | undefined;
|
|
1004
|
-
type: motion_dom.AnimationGeneratorType | undefined;
|
|
1005
|
-
ease: motion_dom.Easing | motion_dom.Easing[] | undefined;
|
|
1006
|
-
keyframes: number[] | string[];
|
|
1007
|
-
};
|
|
1008
|
-
get duration(): number;
|
|
1009
|
-
get time(): number;
|
|
1010
|
-
set time(newTime: number);
|
|
1011
|
-
get speed(): number;
|
|
1012
|
-
get finished(): Promise<void>;
|
|
1013
|
-
set speed(newSpeed: number);
|
|
1014
|
-
get state(): AnimationPlayState;
|
|
1015
|
-
get startTime(): number | null;
|
|
1016
|
-
/**
|
|
1017
|
-
* Replace the default DocumentTimeline with another AnimationTimeline.
|
|
1018
|
-
* Currently used for scroll animations.
|
|
1019
|
-
*/
|
|
1020
|
-
attachTimeline(timeline: any): (any: void) => void;
|
|
1021
|
-
play(): void;
|
|
1022
|
-
pause(): void;
|
|
1023
|
-
stop(): void;
|
|
1024
|
-
complete(): void;
|
|
1025
|
-
cancel(): void;
|
|
1026
|
-
static supports(options: ValueAnimationOptionsWithRenderContext): options is AcceleratedValueAnimationOptions;
|
|
1027
|
-
}
|
|
1028
|
-
|
|
1029
|
-
interface ResolvedData<T extends string | number> {
|
|
1030
|
-
generator: KeyframeGenerator<T>;
|
|
1031
|
-
mirroredGenerator: KeyframeGenerator<T> | undefined;
|
|
1032
|
-
mapPercentToKeyframes: ((v: number) => T) | undefined;
|
|
1033
|
-
/**
|
|
1034
|
-
* Duration of the animation as calculated by the generator.
|
|
1035
|
-
*/
|
|
1036
|
-
calculatedDuration: number;
|
|
1037
|
-
/**
|
|
1038
|
-
* Duration of the animation plus repeatDelay.
|
|
1039
|
-
*/
|
|
1040
|
-
resolvedDuration: number;
|
|
1041
|
-
/**
|
|
1042
|
-
* Total duration of the animation including repeats.
|
|
1043
|
-
*/
|
|
1044
|
-
totalDuration: number;
|
|
1045
|
-
}
|
|
1046
|
-
/**
|
|
1047
|
-
* Animation that runs on the main thread. Designed to be WAAPI-spec in the subset of
|
|
1048
|
-
* features we expose publically. Mostly the compatibility is to ensure visual identity
|
|
1049
|
-
* between both WAAPI and main thread animations.
|
|
1050
|
-
*/
|
|
1051
|
-
declare class MainThreadAnimation<T extends string | number> extends BaseAnimation<T, ResolvedData<T>> {
|
|
1052
|
-
/**
|
|
1053
|
-
* The driver that's controlling the animation loop. Normally this is a requestAnimationFrame loop
|
|
1054
|
-
* but in tests we can pass in a synchronous loop.
|
|
1055
|
-
*/
|
|
1056
|
-
private driver?;
|
|
1057
|
-
/**
|
|
1058
|
-
* The time at which the animation was paused.
|
|
1059
|
-
*/
|
|
1060
|
-
private holdTime;
|
|
1061
|
-
/**
|
|
1062
|
-
* The time at which the animation was cancelled.
|
|
1063
|
-
*/
|
|
1064
|
-
private cancelTime;
|
|
1065
|
-
/**
|
|
1066
|
-
* The current time of the animation.
|
|
1067
|
-
*/
|
|
1068
|
-
private currentTime;
|
|
1069
|
-
/**
|
|
1070
|
-
* Playback speed as a factor. 0 would be stopped, -1 reverse and 2 double speed.
|
|
1071
|
-
*/
|
|
1072
|
-
private playbackSpeed;
|
|
1073
|
-
/**
|
|
1074
|
-
* The state of the animation to apply when the animation is resolved. This
|
|
1075
|
-
* allows calls to the public API to control the animation before it is resolved,
|
|
1076
|
-
* without us having to resolve it first.
|
|
1077
|
-
*/
|
|
1078
|
-
private pendingPlayState;
|
|
1079
|
-
/**
|
|
1080
|
-
* The time at which the animation was started.
|
|
1081
|
-
*/
|
|
1082
|
-
startTime: number | null;
|
|
1083
|
-
constructor(options: ValueAnimationOptions<T>);
|
|
1084
|
-
flatten(): void;
|
|
1085
|
-
protected initPlayback(keyframes: ResolvedKeyframes<T>): {
|
|
1086
|
-
generator: KeyframeGenerator<any>;
|
|
1087
|
-
mirroredGenerator: KeyframeGenerator<T> | undefined;
|
|
1088
|
-
mapPercentToKeyframes: ((v: number) => T) | undefined;
|
|
1089
|
-
calculatedDuration: number;
|
|
1090
|
-
resolvedDuration: number;
|
|
1091
|
-
totalDuration: number;
|
|
1092
|
-
};
|
|
1093
|
-
onPostResolved(): void;
|
|
1094
|
-
tick(timestamp: number, sample?: boolean): {
|
|
1095
|
-
done: boolean;
|
|
1096
|
-
value: T;
|
|
1097
|
-
};
|
|
1098
|
-
state: AnimationPlayState;
|
|
1099
|
-
get duration(): number;
|
|
1100
|
-
get time(): number;
|
|
1101
|
-
set time(newTime: number);
|
|
1102
|
-
get speed(): number;
|
|
1103
|
-
set speed(newSpeed: number);
|
|
1104
|
-
play(): void;
|
|
1105
|
-
pause(): void;
|
|
1106
|
-
/**
|
|
1107
|
-
* This method is bound to the instance to fix a pattern where
|
|
1108
|
-
* animation.stop is returned as a reference from a useEffect.
|
|
1109
|
-
*/
|
|
1110
|
-
stop: () => void;
|
|
1111
|
-
complete(): void;
|
|
1112
|
-
finish(): void;
|
|
1113
|
-
cancel(): void;
|
|
1114
|
-
private teardown;
|
|
1115
|
-
private stopDriver;
|
|
1116
|
-
sample(time: number): AnimationState<T>;
|
|
1117
|
-
get finished(): Promise<void>;
|
|
1118
|
-
}
|
|
1119
|
-
declare function animateValue(options: ValueAnimationOptionsWithRenderContext<any>): MainThreadAnimation<any>;
|
|
1120
|
-
|
|
1121
882
|
/**
|
|
1122
883
|
* @public
|
|
1123
884
|
*/
|
|
@@ -1336,62 +1097,6 @@ declare function useInView(ref: RefObject<Element | null>, { root, margin, amoun
|
|
|
1336
1097
|
declare function useInstantTransition(): (callback: () => void) => void;
|
|
1337
1098
|
declare function disableInstantTransitions(): void;
|
|
1338
1099
|
|
|
1339
|
-
type Transformer = (v: any) => any;
|
|
1340
|
-
type ValueType = {
|
|
1341
|
-
test: (v: any) => boolean;
|
|
1342
|
-
parse: (v: any) => any;
|
|
1343
|
-
transform?: Transformer;
|
|
1344
|
-
createTransformer?: (template: string) => Transformer;
|
|
1345
|
-
default?: any;
|
|
1346
|
-
getAnimatableNone?: (v: any) => any;
|
|
1347
|
-
};
|
|
1348
|
-
type RGBA = {
|
|
1349
|
-
red: number;
|
|
1350
|
-
green: number;
|
|
1351
|
-
blue: number;
|
|
1352
|
-
alpha: number;
|
|
1353
|
-
};
|
|
1354
|
-
type HSLA = {
|
|
1355
|
-
hue: number;
|
|
1356
|
-
saturation: number;
|
|
1357
|
-
lightness: number;
|
|
1358
|
-
alpha: number;
|
|
1359
|
-
};
|
|
1360
|
-
type Color = HSLA | RGBA;
|
|
1361
|
-
|
|
1362
|
-
declare const color: {
|
|
1363
|
-
test: (v: any) => boolean;
|
|
1364
|
-
parse: (v: any) => RGBA | HSLA;
|
|
1365
|
-
transform: (v: HSLA | RGBA | string) => string;
|
|
1366
|
-
};
|
|
1367
|
-
|
|
1368
|
-
type CSSVariableName = `--${string}`;
|
|
1369
|
-
type CSSVariableToken = `var(${CSSVariableName})`;
|
|
1370
|
-
|
|
1371
|
-
declare function test(v: any): boolean;
|
|
1372
|
-
type ComplexValues = Array<CSSVariableToken | string | number | Color>;
|
|
1373
|
-
declare function parseComplexValue(v: string | number): ComplexValues;
|
|
1374
|
-
declare function createTransformer(source: string | number): (v: Array<CSSVariableToken | Color | number | string>) => string;
|
|
1375
|
-
declare function getAnimatableNone(v: string | number): string;
|
|
1376
|
-
declare const complex: {
|
|
1377
|
-
test: typeof test;
|
|
1378
|
-
parse: typeof parseComplexValue;
|
|
1379
|
-
createTransformer: typeof createTransformer;
|
|
1380
|
-
getAnimatableNone: typeof getAnimatableNone;
|
|
1381
|
-
};
|
|
1382
|
-
|
|
1383
|
-
declare const px: {
|
|
1384
|
-
test: (v: string | number) => boolean;
|
|
1385
|
-
parse: typeof parseFloat;
|
|
1386
|
-
transform: (v: number | string) => string;
|
|
1387
|
-
};
|
|
1388
|
-
|
|
1389
|
-
declare function findSpring({ duration, bounce, velocity, mass, }: SpringOptions): {
|
|
1390
|
-
stiffness: number;
|
|
1391
|
-
damping: number;
|
|
1392
|
-
duration: number;
|
|
1393
|
-
};
|
|
1394
|
-
|
|
1395
1100
|
declare function startOptimizedAppearAnimation(element: HTMLElement, name: string, keyframes: string[] | number[], options: ValueAnimationTransition<number | string>, onReady?: (animation: Animation) => void): void;
|
|
1396
1101
|
|
|
1397
1102
|
interface NodeGroup {
|
|
@@ -1464,4 +1169,4 @@ interface ScaleMotionValues {
|
|
|
1464
1169
|
*/
|
|
1465
1170
|
declare function useInvertedScale(scale?: Partial<ScaleMotionValues>): ScaleMotionValues;
|
|
1466
1171
|
|
|
1467
|
-
export { type AbsoluteKeyframe,
|
|
1172
|
+
export { type AbsoluteKeyframe, AnimatePresence, type AnimatePresenceProps, AnimateSharedLayout, AnimationControls, AnimationDefinition, type AnimationSequence, type At, CustomValueType, type Cycle, type CycleState, DOMMotionComponents, type DOMSegment, type DOMSegmentWithTransition, type DelayedFunction, DeprecatedLayoutGroupContext, EventInfo, FeatureBundle, FeaturePackages, HTMLMotionProps, IProjectionNode, LayoutGroup, LayoutGroupContext, LazyMotion, type LazyProps, MotionConfig, MotionConfigContext, type MotionConfigProps, MotionContext, MotionProps, type MotionValueSegment, type MotionValueSegmentWithTransition, type ObjectSegment, type ObjectSegmentWithTransition, type ObjectTarget, namespace_d as Reorder, type ResolvedAnimationDefinition, type ResolvedAnimationDefinitions, ResolvedValues, type ScrollMotionValues, type Segment, type SequenceLabel, type SequenceLabelWithTime, type SequenceMap, type SequenceOptions, type SequenceTime, type UseInViewOptions, type UseScrollOptions, type ValueSequence, VisualElement, WillChangeMotionValue, addPointerEvent, addPointerInfo, addScaleCorrector, animate, animateMini, animateVisualElement, animationControls, animations, buildTransform, calcLength, createBox, createScopedAnimate, delay, disableInstantTransitions, distance, distance2D, domAnimation, domMax, domMin, filterProps, inView, isBrowser, isMotionComponent, isMotionValue, isValidMotionProp, m, motion, resolveMotionValue, scroll, scrollInfo, stagger, startOptimizedAppearAnimation, transform, unwrapMotionComponent, useAnimate, useAnimateMini, useAnimation, useAnimationControls, useAnimationFrame, useCycle, useAnimatedState as useDeprecatedAnimatedState, useInvertedScale as useDeprecatedInvertedScale, useDomEvent, useElementScroll, useForceUpdate, useInView, useInstantLayoutTransition, useInstantTransition, useIsPresent, useIsomorphicLayoutEffect, useMotionTemplate, useMotionValue, useMotionValueEvent, usePresence, usePresenceData, useReducedMotion, useReducedMotionConfig, useResetProjection, useScroll, useSpring, useTime, useTransform, useUnmountEffect, useVelocity, useViewportScroll, useWillChange, visualElementStore };
|