Advance slides automatically every N milliseconds; 0 disables (issue #380)
With autoplay on, wait for the current slide's audio or video to end
before advancing instead of using the autoplay millisecond timer,
which stays as the fallback. Slides without playable media keep the
timer, so a mixed story never stalls.
OptionalbasemapsSelectable base maps for the layer switcher. Entry 0 is the initial
basemap unless map_type says otherwise; omit for an overlays-only
control. Constructor- and runtime-only when labels are functions
(functions cannot ride storymap JSON — see label).
Ask for permission before loading anything from external services
(media embeds, map tiles, external font CSS) — GDPR consent mode.
Decisions are remembered per service in localStorage under
storymapjs-consent with no expiry: clearing site data is what makes
the viewer ask again.
Font theme stylesheet: stock:<name>, a URL/path, or false for no
injected stylesheet (the host bundles the theme itself).
Show a fullscreen toggle button in the menubar (default: true)
OptionalfxmodeSlide transition effect (slideshow fxmode): "slide" (default) is
the current glide, "fade" cross-fades slides, "none" jumps without
animation. prefers-reduced-motion still forces "none". Honored
only with slideshow_source.
OptionalhudbgcolorHUD background color override (slideshow hudbgcolor): sets the
--vco-hud-bg CSS variable. Absent follows the theme. Honored only
with slideshow_source.
OptionalhudcolorHUD foreground color override (slideshow hudcolor): sets the
--vco-hud-fg CSS variable. Absent follows the theme. Honored only
with slideshow_source.
OptionalhudopacityHUD opacity percent 0..100 (slideshow hudopacity): applied to the
HUD background. Absent means fully opaque theme background. Honored
only with slideshow_source.
IIIF image service for image maps. url is the info.json; width
and height record the canvas size so region clamping and the static
fallback work without another fetch; fallbackUrl is a full-size
image used when info.json cannot be loaded (slideshow
image_static).
Navigate slides with arrow keys anywhere on the page (default false: arrows only work when the slide panel has focus). Form elements and the map itself (which pans) are always skipped. Read at construction.
Landscape map layout: "full" (default) spans the whole width with the
slide panel fading in over it (the map view is offset so markers clear
the panel); "left" limits the map to the left, visible half with an
opaque slide panel — no offset needed, fits and constraints align with
the visible area directly. Portrait layouts are unaffected.
Limit the map to a bounding box [west, south, east, north] (lon/lat;
raw image pixel coordinates for image-space maps). The view center is
constrained to the box; null (default) leaves the map unconstrained.
Raw OpenLayers map configuration. controls replaces the StoryMapJS
defaults, interactions are added to the viewer's own pan/zoom
interactions, and view is merged over the computed default view
and element (an HTMLElement or DOM id) replaces the auto-created map
container div.
Override the overview fit center (issues #107, #271)
OptionalmodeReading mode (slideshow mode): "standard" (default) is the
slider; "static" stacks all slides in a scrollable list and follows
the map to the slide in view. Honored only with slideshow_source.
Re-fetch the source file on every load, bypassing caches (issue #417)
Stacked raster overlays above the base map, below the route lines.
Each entry accepts any map_type value (XYZ template, osm:style,
…) plus per-layer presentation; see StorymapOverlayLayer. Empty
(default) means base map only.
Constrain the minimap overview to a bounding box [west, south, east, north] in lon/lat (mercator maps only); null (default) leaves the
overview unconstrained.
OptionalprogressbarProgress indicator style (slideshow progressbar): false/"off"
hides it (same as show_progress: false), true/"bar" is the
classic fill bar, dots/squares render one step per slide,
block/thinblock are fill-bar height variants. Absent means the
show_progress boolean decides and the style is "bar". Honored
only with slideshow_source.
Optionalsee_The seeAlso targets a IIIF manifest points at, recorded but not
fetched — see loadSeeAlso().
Show the back-to-the-beginning button in the menubar (default: true)
Show the great-circle route distance in the menubar (issue #341)
Optionalshow_Render slide headlines (slideshow showheadings). Default true;
false hides headline elements via CSS. Honored only with
slideshow_source.
Optionalshow_Show media captions and credits (slideshow showinfo). Default true;
false hides the caption/credit block. Honored only with
slideshow_source.
Show the basemap/overlay switcher in the menubar (default false)
Show the map overview button in the menubar (default: true)
Show a progress bar in the menubar (issue #247)
Optionalshow_Show scrollbars in the slide panel (slideshow showscrollbars).
Default true; false hides them via CSS (content still scrolls).
Honored only with slideshow_source.
OptionalshownavShow the previous/next slide navigation (slideshow shownav).
Default true; false hides the nav chrome (keyboard/AT navigation
still works, like show_progress: false keeps the story usable).
Honored only with slideshow_source.
OptionalslideshowDetect slideshow tours automatically (default true): an
AnnotationCollection shaped like one loads through the translator.
Set false to disable detection (such documents then fail validation
as before).
Optional Internalslideshow_Source marker: true when the loaded document came from a slideshow tour (set programmatically by the viewer, never from data). The slideshow-motivated presentation fields (location rotation/filter/mask/basemap, narration/media playback bags, slidetimeout, imgoverlay, and the player-chrome options above) render only with this set — internal documents keep the long-standing behavior. Absent from constructor defaults and schema, so storymap data cannot inject it; it travels via options copies. Hosts may pass it explicitly as an escape hatch.
Default text alignment for slide text: left, center or right (issue #244)
Slide panel background color override (issue #177)
Slide text color override, sets --vco-color-text (issue #177)
OptionaltextmodeSlide panel dock (slideshow textmode): which side the text panel
occupies in landscape. "right" (default) is the current layout;
"left" mirrors it; "bottom" docks the panel below the map.
Portrait layouts always behave like "bottom". Honored only with
slideshow_source.
OptionaltextsizeSlide panel size as a percentage (slideshow textsize): percent of
the width for side docks, of the height for the bottom dock.
Range 10..80; absent keeps the built-in 50/50 split. Honored only
with slideshow_source.
OptionalthemeColour theme: "dark" forces the dark palette, "light" pins the
light one (overriding an OS dark preference), unset follows
prefers-color-scheme. Construction-time only, like map_type.
Custom OpenLayers tile layer/source factory (issue #473): consulted
by the tile layer factory before the built-in map_type switch, for
every base, overlay and minimap layer. Return a TileLayer (or a
bare Source, auto-wrapped in one) for custom handling — e.g. WMS —
or null/undefined to fall through to the default types.
Constructor- and runtime-only: functions cannot ride storymap JSON.
OptionaltilejsonOptionalviewerheightFixed viewer height (slideshow viewerheight), e.g. "400px":
applied as a container height override when set. Absent keeps the
measured-container behavior. Only px, % and vh units accepted.
Honored only with slideshow_source.
OptionalzoomifyLegacy zoomify image pyramid (map_type: "zoomify"): the tiles are placed at the standard mercator tile positions, stretched from the world's top-left corner.
Public data and options types for constructing a StoryMap.
The data types are exported rather than only referenced: they are what a host actually types its document and options with, and TypeDoc warns about a documented member whose type it cannot link.