Shoji API Reference
    Preparing search index...

    Interface AutoplayOptions

    interface AutoplayOptions {
        interval?: number;
        showProgress?: boolean;
        autoStart?: boolean;
        onZoom?: false | "stop" | "pause";
        onRotateFlip?: false | "stop" | "pause";
        onCaptionExpand?: false | "stop" | "pause";
        stopOnManualNavigate?: boolean;
    }
    Index
    interval?: number

    Milliseconds between advances for timed (photo) slides. Default 5000.

    showProgress?: boolean

    Shows the thin progress bar (--shoji-progress) tracking time-to-next-advance along the dialog's bottom edge, for timed slides only — never shown during video slides, whose own runtime drives advancement instead. Default true. Purely presentational: turning it off doesn't change any timing, only whether it's drawn.

    autoStart?: boolean

    Starts the slideshow automatically as soon as the gallery opens — every open(), not just the first — instead of waiting for the toolbar button/Space. Default false.

    onZoom?: false | "stop" | "pause"

    How the slideshow reacts to the viewer zooming in on the active slide (Zoom plugin). 'stop' (default): pauses immediately and stays paused until Play is pressed again, even once un-zoomed back to neutral — no auto-resume. 'pause': same immediate pause, but auto-resumes on its own once genuinely disengaged (see the module-level doc comment on RESUME_DEBOUNCE_MS for why that's debounced rather than instant). false: a complete no-op, regardless of zoom state. A no-op either way if Zoom isn't loaded. Was a plain pauseOnZoom boolean (true meaning today's 'stop') before 'pause' existed as an option at all.

    onRotateFlip?: false | "stop" | "pause"

    Same shape as onZoom, for RotateFlip: 'stop' (default) pauses on any interaction — including one that lands back on the original orientation, since the click itself is still an active interruption, not just its end state — and stays paused; 'pause' does the same immediate pause but auto-resumes once genuinely disengaged (debounced, same as onZoom); false is a no-op. A no-op either way if RotateFlip isn't loaded. Was pauseOnRotateFlip before 'pause' existed.

    onCaptionExpand?: false | "stop" | "pause"

    Same shape as onZoom/onRotateFlip, for the viewer expanding a truncated caption to read the rest (core's own caption modal, DESIGN.md §2.3a). 'stop' (default) pauses and stays paused; 'pause' auto-resumes once the modal closes (debounced, same as the other two — even though the modal itself makes no further engagement possible once closed, the same short window still applies for consistency and because it costs nothing here). false is a no-op. Was pauseOnCaptionExpand before 'pause' existed. Unlike onZoom/ onRotateFlip, no re-check on Play is needed either mode: the modal traps both pointer and keyboard input while open (core blocks every key, not just Escape), so Play is physically unreachable until the modal is already closed.

    stopOnManualNavigate?: boolean

    Pauses the slideshow the moment the viewer navigates manually — arrow keys/buttons, a completed swipe, a thumbnail click, or any other goTo() not caused by Autoplay's own advance() — instead of silently re-timing itself on whatever slide they land on. Stays paused until Play is pressed again — always a hard stop, no 'pause'-style auto-resume variant: unlike zoom/rotate-flip/caption-expand, navigating away has no "returns to its original state" to resume from, so there's nothing for an auto-resume to key off. Default true, same reasoning as onZoom/onRotateFlip/onCaptionExpand above — reaching for the navigation controls at all is a clear signal of active engagement, and a slideshow that keeps ticking underneath that reads as broken, not helpful. Set false to restore the original "manual nav just re-times the current slide" behavior. Was pauseOnManualNavigate before the other three options gained a 'pause' mode — renamed alongside them so "stop" only ever means stop now, not a mix of stop and pause depending which option you're reading.