Skip to content
← Inventory

ReducedMotionProvider

App-level motion provider. Place once in each app's root layout to cover all animated descendants. It does two things: 1. MotionConfig respects the user's prefers-reduced-motion OS setting. 2. LazyMotion loads the animation feature bundle (domMax) as one shared, code-split chunk, so

Motion honours your OS setting

ReducedMotionProvider

Usage

import { ReducedMotionProvider } from "@desk/ui/components/motion-config";

Best practices

  • Mount ReducedMotionProvider once in each app's root layout, wrapping everything — every

  • It's required app-side, not inside

  • Rely on it (not per-component code) for reduced motion: its MotionConfig reducedMotion="user" honours the OS setting for all descendants.

Props

PropTypeDefaultDescription
children(required)ReactNode