Every DashPannellum prop — configuration, behavior and read-only state

API Reference

Every DashPannellum prop — configuration, behavior and read-only state


Component props

The table below is generated from the component's own metadata, so it always matches the installed version.

PropTypeDescription
idstring; optionalThe ID used to identify this component in Dash callbacks.
autoLoadboolean; default TrueIf True, automatically loads the panorama without user interaction.
callbackHotspotsdict; optionalExtra hotspots that report clicks back to Dash. Keys are scene IDs, values are arrays of hotspot objects ({pitch, yaw, type, text, name}). Clicking one updates the lastClickedHotspot prop.
compassboolean; default FalseIf True, displays a compass in the panorama viewer.
currentScenestring; optionalRead-only. The ID of the current scene in tour mode.
customControlsboolean; default FalseIf True, hides the built-in zoom/fullscreen controls so you can build your own controls with Dash components.
dynamicUpdateboolean; default FalseIf True, the viewer re-uploads its panorama texture every frame — required for scenes backed by a live <canvas> (panoramaCanvasId). This is the movement-mechanics primitive: redraw the canvas from a game loop and the sphere follows with no rebuild. Leave False for static panoramas.
heightstring; default '400px'The height of the panorama viewer (any CSS size, e.g. '400px').
hfovnumber; optionalRead-only. The current horizontal field of view (zoom), in degrees.
hideLoadingSpinnerboolean; default FalseIf True, suppresses Pannellum's "Loading..." box for this viewer — useful with preloaded scenes or data-URI panoramas where the flash is the only visible part of an otherwise instant transition.
lastClickedHotspotstring; optionalRead-only. The name of the last clicked callback hotspot.
loadScenestring; optionalImperative scene switch — set to a scene ID from the tour config to load that scene without rebuilding the viewer. Unknown IDs and the already-active scene are ignored.
loadedboolean; optionalRead-only. True once the panorama has loaded.
lookAtdict; optionalImperative camera write — set {pitch, yaw, hfov, animated} to pan/zoom the existing viewer without rebuilding it. Omitted fields keep their current value; animated is the transition duration in ms (default 1000, use a small value for joystick-style continuous steering). Image panorama modes only.
multiResdict; optionalConfiguration object for multi-resolution (tiled) panoramas: {basePath, path, fallbackPath, extension, tileResolution, maxLevel, cubeResolution}.
northOffsetnumber; default 0The offset, in degrees, of the center of the panorama from North.
orientationboolean; default FalseRequest gyroscope look-around (device orientation). Works on mobile devices with motion sensors; Pannellum runs the iOS 13+ permission prompt when needed, so on iOS set this to True from a clientside callback on a direct user tap. Whether it actually engaged is reported through orientationSupported and orientationActive.
orientationActiveboolean; optionalRead-only. True while gyro look-around is actively steering the camera (False if permission was denied or orientation is off).
orientationSupportedboolean; optionalRead-only. True when the device/browser can drive the camera from the gyroscope (requires motion sensors and a mobile browser).
pitchnumber; optionalRead-only. The current pitch of the panorama view, in degrees.
preloadScenesboolean; default TrueIf True (default), the other scenes' panorama images are prefetched into the browser cache once the viewer is up, so tour jumps don't show a loading box.
showCenterDotboolean; default FalseIf True, displays a center dot in the panorama viewer — useful as a crosshair when authoring hotspot positions.
tourdict; optionalConfiguration object for tour mode. Follows the Pannellum tour format: {default: {firstScene, ...}, scenes: {sceneId: {...scene config}}}. A single equirectangular panorama is a tour with one scene. A scene may set panoramaCanvasId (the DOM id of a <canvas> element) instead of panorama to use Pannellum's dynamic mode: redraw the canvas and the sphere updates in place — no rebuild, no camera reset. Pair with the dynamicUpdate prop.
useHttpStreamingboolean; default FalseIf True, loads the video.js HTTP streaming plugin so HLS/DASH sources (e.g. live streams) can be played as 360° video.
videodict; optionalConfiguration object for 360° video panoramas, rendered through video.js: {sources: [{src, type}], poster}.
widthstring; default '600px'The width of the panorama viewer (any CSS size, e.g. '100%' or '600px').
yawnumber; optionalRead-only. The current yaw of the panorama view, in degrees.

Read-only props

These update from the viewer — use them as callback Inputs, never set them yourself:

PropUpdates when
loadedThe panorama or video finishes loading
pitchThe camera pitch changes (throttled, change-detected)
yawThe camera yaw changes (throttled, change-detected)
hfovThe zoom changes (throttled, change-detected) — new in 0.2.0
currentSceneThe active tour scene changes
lastClickedHotspotA callback hotspot is clicked
orientationSupportedGyro steering is possible here (mobile + HTTPS) — new in 0.4.0
orientationActiveThe gyroscope is steering right now — new in 0.4.0

Imperative props (0.2.0 / 0.3.0)

These act on the live viewer without a rebuild — output them from callbacks (or window.dash_clientside.set_props for high-frequency use):

PropAction
lookAt{pitch, yaw, hfov, animated} — pan/zoom the camera; omitted fields hold
loadSceneScene ID string — switch tour scenes
callbackHotspotsLive: per-name diff — position-only changes move the existing DOM node in place (0.3.1), other changes recreate just that hotspot
dynamicUpdateRe-upload the texture each frame — pairs with the panoramaCanvasId scene key (0.3.0) for canvas-backed worlds
orientationRequest gyro look-around (0.4.0) — set from a clientside callback on a tap for the iOS permission prompt

See Scene Configuration for the fly-to pattern, the Joystick Arena for the full movement stack, and Gyro Look-Around for device-orientation steering.


Changes since 0.0.6

New in 0.1.0: configuration props are live — output a new tour (or multiRes/video) from a callback and the viewer re-initializes with it, so panoramas can be swapped dynamically. Callback hotspots use real Pannellum click handlers (they previously relied on a viewer event that never fired reliably), script loading is deduplicated so several viewers can share one page, and the loaded prop is properly declared.


Source: /api

Note for AI agents: This is the static, prerendered view of an interactive Dash application served because we detected a non-JS user agent. Full prose docs: