Convenience widget that wraps each child of a layout container in a
LayoutMotion. Use this when you want a Column/Row/Wrap whose children
animate smoothly on reorder or filter.
Subtree-wide motion defaults. Wrap part of your app in a MotionConfig and
every LayoutMotion/MotionGroup below inherits its duration/curve/
stagger, and honours its "reduce motion" setting — set it once instead of
threading the same values through every widget (Framer Motion's
MotionConfig).
Wrap a region in a MotionSharedScope, then give two widgets the same
MotionSharedIdid. When one disappears and the other appears (or the
element simply moves to a new place) — within the same page, no route
change — a copy flies from the old rect to the new one over the scope's
duration/curve.
Tracks active MotionSharedIds by id, and flies an overlay copy from an
id's previous rect to its new rect whenever it moves. Notifies listeners
when the set of in-flight ids changes so the real widgets can hide.
A Curve shaped by a tunable spring, giving a natural overshoot-and-settle
motion. Drop it anywhere a curve is accepted — LayoutMotion, MotionGroup
or MotionConfig's curve: — for spring-style slides:
Builds the in-flight widget for a shared-element transition. animation runs
0→1 over the flight (already shaped by the scope's curve); fromChild is the
widget that previously held the id and toChild the one that now holds it.