Components
slidemotion is built from a small set of primitives:
Presentationowns config, state, theming, and animation loops.Presenterrenders the viewport, controls, overview, devtools, and speaker notes.Slidedeclares one slide plus its transition.Stepmakes content step-aware.Animatemaps step progress to styles.
Presentation
Section titled “Presentation”Use Presentation for deck-level defaults:
<Presentation defaultStepDuration={420} defaultSlideTransition={{ type: "fade", duration: 220 }}> <Presenter>{/* slides */}</Presenter></Presentation>themedefaults to the built-in theme.theme={false}disables default styling.defaultSlideTransitiongives every slide a baseline transition.
Slides must have an id and can override the deck transition:
<Slide id="intro" transition={{ type: "push", direction: "left", duration: 300 }}> ...</Slide>Step now supports per-step duration overrides and keeps content mounted while exiting backward.
<Step order={2} duration={500}> <FadeIn>Details</FadeIn></Step>Animate
Section titled “Animate”Animate supports enter, animate, and exit states.
<Animate enter={{ opacity: 0, y: 24 }} animate={{ opacity: 1, y: 0 }} exit={{ opacity: 0, y: -16 }}> <h2>Animated</h2></Animate>Built-in transitions
Section titled “Built-in transitions”FadeInsupportsexitOpacitySlideInsupportsexitToScaleInsupportsexitToStaggersupports progress-basedintervalandy