Optional layoutOptional layoutOptional layoutEnable shared layout transitions between different components with the same layoutId.
When a component with a layoutId is removed from the React tree, and then added elsewhere, it will visually animate from the previous component's bounding box and its latest animated values.
{items.map(item => (
<motion.li layout>
{item.name}
{item.isSelected && <motion.div layoutId="underline" />}
</motion.li>
))}
If the previous component remains in the tree it will crossfade with the new component.
Optional layoutWhether an element should be considered a "layout root", where
all children will be forced to resolve relatively to it.
Currently used for position: sticky elements in Framer.
Optional layoutWhether a projection node should measure its scroll when it or its descendants update their layout.
Optional onOptional onGenerated using TypeDoc
If
true, this component will automatically animate to its new position when its layout changes.This will perform a layout animation using performant transforms. Part of this technique involved animating an element's scale. This can introduce visual distortions on children,
boxShadowandborderRadius.To correct distortion on immediate children, add
layoutto those too.boxShadowandborderRadiuswill automatically be corrected if they are already being animated on this component. Otherwise, set them directly via theinitialprop.If
layoutis set to"position", the size of the component will change instantly and only its position will animate. Iflayoutis set to"size", the position of the component will change instantly but its size will animate.If
layoutis set to"size", the position of the component will change instantly and only its size will animate.If
layoutis set to"preserve-aspect", the component will animate size & position if the aspect ratio remains the same between renders, and just position if the ratio changes.