@ericchen1990/pano-view 3.8.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1415,6 +1415,17 @@ type ProjectHotspotDefinition = HotspotDefinition & {
1415
1415
  };
1416
1416
  declare function resolveHotspotAssets(hotspot: ProjectHotspotDefinition, baseUrl: string, sceneId: string, resolver?: AssetUrlResolver): ProjectHotspotDefinition;
1417
1417
 
1418
+ /**
1419
+ * Shared drag inertia and edge bounce for map pan and scene-menu scrolling.
1420
+ * Axis motion is pure; hosts own pointer capture and rAF loops.
1421
+ */
1422
+ type PanoDragMotion = {
1423
+ /** Continue sliding after release from pointer velocity. Defaults to true. */
1424
+ inertia?: boolean;
1425
+ /** Rubber-band past edges while dragging; spring back on release. Defaults to true. */
1426
+ bounce?: boolean;
1427
+ };
1428
+
1418
1429
  type PanoMapCorner = "top-left" | "top-right" | "bottom-left" | "bottom-right";
1419
1430
  type PanoMapGradientStop = {
1420
1431
  offset: number;
@@ -1506,6 +1517,11 @@ type PanoMapDefinition = {
1506
1517
  * Only applies when `interaction` is `"zoom"`. Defaults to 8.
1507
1518
  */
1508
1519
  maxScale?: number;
1520
+ /**
1521
+ * Pan inertia and edge bounce when `interaction` is `"zoom"`.
1522
+ * Omit for both on; set `false` or flag fields to disable.
1523
+ */
1524
+ dragMotion?: PanoDragMotion | false;
1509
1525
  spots: PanoMapSpotDefinition[];
1510
1526
  sector?: PanoMapSectorDefinition;
1511
1527
  };
@@ -1793,6 +1809,93 @@ declare const WEBVR_PROFILES: Record<WebVRProfileId, WebVRProfile>;
1793
1809
 
1794
1810
  declare const DEFAULT_WEBVR_CURSOR_DWELL_MS = 1500;
1795
1811
 
1812
+ type PanoSceneMenuItem = {
1813
+ id: string;
1814
+ thumbnailUrl: string;
1815
+ title?: string;
1816
+ };
1817
+ type PanoSceneMenuPlacement = "top" | "bottom" | "left" | "right";
1818
+ /** Cross-axis alignment along the dock edge. Defaults to `"center"`. */
1819
+ type PanoSceneMenuAlign = "start" | "center" | "end";
1820
+ type PanoSceneMenuInset = number | string | {
1821
+ top?: number | string;
1822
+ right?: number | string;
1823
+ bottom?: number | string;
1824
+ left?: number | string;
1825
+ };
1826
+ type PanoSceneMenuLabelAlign = "start" | "center" | "end";
1827
+ type PanoSceneMenuAppearance = {
1828
+ background?: string;
1829
+ padding?: number | string;
1830
+ itemWidth?: number;
1831
+ itemHeight?: number;
1832
+ gap?: number | string;
1833
+ borderRadius?: number | string;
1834
+ selectionColor?: string;
1835
+ selectionWidth?: number;
1836
+ labelBackground?: string;
1837
+ labelColor?: string;
1838
+ /** Scene title alignment on the thumbnail. Defaults to `"start"`. */
1839
+ labelAlign?: PanoSceneMenuLabelAlign;
1840
+ fontSize?: number | string;
1841
+ controlColor?: string;
1842
+ controlBackground?: string;
1843
+ };
1844
+ type PanoSceneMenuProps = {
1845
+ items: readonly PanoSceneMenuItem[];
1846
+ activeId?: string | null;
1847
+ onSelect?: (id: string) => void;
1848
+ /** Dock edge inside the viewer overlay. Defaults to `"bottom"`. */
1849
+ placement?: PanoSceneMenuPlacement;
1850
+ /**
1851
+ * Align the menu along the dock edge when its main-axis size is smaller than
1852
+ * the available space. Also aligns short lists inside the strip. Defaults to
1853
+ * `"center"`.
1854
+ */
1855
+ align?: PanoSceneMenuAlign;
1856
+ /**
1857
+ * Gap from the viewer edges. A single value applies to every side;
1858
+ * an object sets each side. Numbers are pixels. Defaults to `12`.
1859
+ */
1860
+ inset?: PanoSceneMenuInset;
1861
+ /** Menu width. Numbers are pixels; strings may be `%`, `rem`, etc. */
1862
+ width?: number | string;
1863
+ /** Menu height. Numbers are pixels; strings may be `%`, `rem`, etc. */
1864
+ height?: number | string;
1865
+ /**
1866
+ * When `false` (default), the menu stays expanded.
1867
+ * When `true`, a toggle shows or hides the scene list.
1868
+ */
1869
+ collapsible?: boolean;
1870
+ /** Uncontrolled expanded state when `collapsible` is true. Defaults to `true`. */
1871
+ defaultExpanded?: boolean;
1872
+ /** Controlled expanded state when `collapsible` is true. */
1873
+ expanded?: boolean;
1874
+ onExpandedChange?: (expanded: boolean) => void;
1875
+ /** Show previous/next controls at both ends of the list. Defaults to `false`. */
1876
+ showArrows?: boolean;
1877
+ /**
1878
+ * When `true`, previous/next arrows and arrow keys wrap from the last item
1879
+ * to the first and vice versa. Defaults to `false` (stop at the ends).
1880
+ */
1881
+ loop?: boolean;
1882
+ /**
1883
+ * Scroll drag inertia and edge bounce.
1884
+ * Omit for both on (custom pointer scrolling). Set `false` for native overflow scroll.
1885
+ */
1886
+ dragMotion?: PanoDragMotion | false;
1887
+ appearance?: PanoSceneMenuAppearance;
1888
+ className?: string;
1889
+ style?: CSSProperties;
1890
+ label?: string;
1891
+ previousLabel?: string;
1892
+ nextLabel?: string;
1893
+ expandLabel?: string;
1894
+ collapseLabel?: string;
1895
+ };
1896
+ declare const DEFAULT_PANO_SCENE_MENU_APPEARANCE: Required<PanoSceneMenuAppearance>;
1897
+ declare function PanoSceneMenu({ items, activeId, onSelect, placement, align, inset, width, height, collapsible, defaultExpanded, expanded: expandedProp, onExpandedChange, showArrows, loop, dragMotion: dragMotionProp, appearance, className, style, label, previousLabel, nextLabel, expandLabel, collapseLabel, }: PanoSceneMenuProps): react.JSX.Element;
1898
+
1796
1899
  type ViewInteractionSource = "mouse" | "touch" | "keyboard";
1797
1900
  type PanoWheelEvent = {
1798
1901
  /** Signed wheel delta (same sign convention as WheelEvent.deltaY). */
@@ -2164,12 +2267,18 @@ type PanoMapProps = {
2164
2267
  onCollapsedChange?: (collapsed: boolean) => void;
2165
2268
  /** Extra chrome rendered above the map surface. */
2166
2269
  renderChrome?: (controls: ReactNode) => ReactNode;
2270
+ /**
2271
+ * Opening zoom relative to the contain-fit scale.
2272
+ * Clamped to `[1, maxScale]`. Applies after the image is measured and recenters.
2273
+ * Resets only when this value or interaction mode changes.
2274
+ */
2275
+ initialScale?: number;
2167
2276
  };
2168
2277
  /**
2169
2278
  * Floor-plan map surface. Fills its parent; hosts decide docked vs dialog chrome.
2170
2279
  * Icons and sectors keep CSS-pixel size while the background image zooms.
2171
2280
  */
2172
- declare function PanoMap({ map, activeSceneId, onSelectScene, view: controlledView, mode, selectedSpotId, onSelectedSpotIdChange, onEditChange, placementSceneId, className, style, showZoomControls, showCollapseControl, collapsed: controlledCollapsed, onCollapsedChange, renderChrome, }: PanoMapProps): react.JSX.Element;
2281
+ declare function PanoMap({ map, activeSceneId, onSelectScene, view: controlledView, mode, selectedSpotId, onSelectedSpotIdChange, onEditChange, placementSceneId, className, style, showZoomControls, showCollapseControl, collapsed: controlledCollapsed, onCollapsedChange, renderChrome, initialScale, }: PanoMapProps): react.JSX.Element;
2173
2282
 
2174
2283
  type PanoMapOverlayProps = {
2175
2284
  map: PanoMapDefinition;
@@ -2183,6 +2292,38 @@ type PanoMapOverlayProps = {
2183
2292
  placementSceneId?: string | null;
2184
2293
  /** Force presentation while authoring, ignoring document presentation temporarily. */
2185
2294
  presentationOverride?: PanoMapDefinition["presentation"];
2295
+ /** Override presentation mode for this mount. */
2296
+ presentation?: "docked" | "dialog";
2297
+ /** Override docked corner (or dialog launcher corner). */
2298
+ corner?: PanoMapCorner;
2299
+ /** Override docked panel or dialog-launcher width in CSS pixels. */
2300
+ width?: number;
2301
+ /** Override docked panel or dialog-launcher height in CSS pixels. */
2302
+ height?: number;
2303
+ /** Horizontal inset from the chosen corner in CSS pixels. */
2304
+ offsetX?: number;
2305
+ /** Vertical inset from the chosen corner in CSS pixels. */
2306
+ offsetY?: number;
2307
+ /** Preferred dialog body width in CSS pixels; clamped to the viewer. */
2308
+ dialogWidth?: number;
2309
+ /** Preferred dialog body height in CSS pixels; clamped to the viewer. */
2310
+ dialogHeight?: number;
2311
+ /** Override map interaction for this mount. */
2312
+ interaction?: PanoMapDefinition["interaction"];
2313
+ /**
2314
+ * Maximum zoom multiplier relative to the contain-fit scale.
2315
+ * Values below 1 are treated as 1.
2316
+ */
2317
+ maxScale?: number;
2318
+ /**
2319
+ * Opening zoom relative to the contain-fit scale.
2320
+ * Clamped to `[1, maxScale]`. View state only; not written to the map document.
2321
+ */
2322
+ initialScale?: number;
2323
+ showZoomControls?: boolean;
2324
+ showCollapseControl?: boolean;
2325
+ /** Override spot icon edge length in CSS pixels. */
2326
+ iconSize?: number;
2186
2327
  openLabel?: string;
2187
2328
  closeLabel?: string;
2188
2329
  title?: string;
@@ -2195,7 +2336,7 @@ type PanoMapOverlayProps = {
2195
2336
  * Visitor-facing map chrome for `PanoViewer.renderOverlay`.
2196
2337
  * Docked panels stay in a corner; dialog mode opens the same map in a modal.
2197
2338
  */
2198
- declare function PanoMapOverlay({ map, activeSceneId, onSelectScene, view, mode, selectedSpotId, onSelectedSpotIdChange, onEditChange, placementSceneId, presentationOverride, openLabel, closeLabel, title, className, style, editorSurface, }: PanoMapOverlayProps): react.JSX.Element;
2339
+ declare function PanoMapOverlay({ map, activeSceneId, onSelectScene, view, mode, selectedSpotId, onSelectedSpotIdChange, onEditChange, placementSceneId, presentationOverride, presentation: presentationModeProp, corner: cornerProp, width: widthProp, height: heightProp, offsetX: offsetXProp, offsetY: offsetYProp, dialogWidth, dialogHeight, interaction, maxScale, initialScale, showZoomControls, showCollapseControl, iconSize, openLabel, closeLabel, title, className, style, editorSurface, }: PanoMapOverlayProps): react.JSX.Element;
2199
2340
 
2200
2341
  type MapRect = {
2201
2342
  left: number;
@@ -2229,4 +2370,4 @@ declare function containerPointToImage(point: MapPoint, viewport: MapViewport):
2229
2370
  /** Clockwise degrees from image up for a vector in container space. */
2230
2371
  declare function headingFromVector(dx: number, dy: number): number;
2231
2372
 
2232
- export { type ArrowGraphic, type AssetUrlContext, type AssetUrlResolver, AudioHotspot, type AudioHotspotDefinition, type AudioHotspotErrorEvent, type AudioHotspotProps, type AudioPlaybackState, AutoRotate, type AutoRotateProps, BackgroundAudio, type BackgroundAudioController, type BackgroundAudioErrorEvent, type BackgroundAudioProps, type BackgroundAudioSnapshot, type BackgroundAudioSource, type CircleGraphic, type CubeFaceCode, type CubemapViewerConfig, DEFAULT_HOTSPOT_TOOLTIP_APPEARANCE, DEFAULT_HOTSPOT_TOOLTIP_OFFSET, DEFAULT_PANO_CURSORS, DEFAULT_PANO_VIDEO_CAPTION_APPEARANCE, DEFAULT_PANO_VIDEO_CONTROLS_APPEARANCE, DEFAULT_PANO_VIDEO_PLAYBACK_RATES, DEFAULT_WEBVR_CHROME_APPEARANCE, DEFAULT_WEBVR_CURSOR_DWELL_MS, type DiamondGraphic, type GraphicDefinition, GraphicHotspot, type GraphicHotspotDefinition, type GraphicHotspotProps, Gyro, type GyroHandle, type GyroProps, type GyroTouchMode, type HotspotCommonProps, type HotspotDefinition, type HotspotDefinitionBase, type HotspotDragEvent, type HotspotInputSource, type HotspotInteractionEvent, type HotspotMode, type HotspotPointerEvents, type HotspotPosition, type HotspotScaleMode, type HotspotTooltipAppearance, type HotspotTooltipContent, type HotspotTooltipPlacement, type HotspotTooltipTrigger, IframeHotspot, type IframeHotspotDefinition, type IframeHotspotProps, type IframePointerPolicy, ImageHotspot, type ImageHotspotDefinition, type ImageHotspotProps, type JsonObject, type JsonRequestOptions, type JsonValue, type KeyboardControlAction, type KeyboardControlKeys, KeyboardControls, type KeyboardControlsProps, type LoadPanoProjectOptions, type LoadSceneFromJsonOptions, type LoadedPanoProject, type LoadedProjectScene, MAX_HOTSPOT_PITCH, MIN_PANO_CONTEXT_MENU_BACKGROUND_OPACITY, type MouseControlButton, MouseControls, type MouseControlsOptions, type MouseControlsProps, PANO_FILTER_PRESETS, type PanoColorMatrix, PanoContextMenu, type PanoContextMenuActionItem, type PanoContextMenuAppearance, type PanoContextMenuEntry, type PanoContextMenuItem, type PanoContextMenuPresetActions, type PanoContextMenuPresetId, type PanoContextMenuPresetRef, type PanoContextMenuPresets, type PanoContextMenuProps, type PanoContextMenuRenderProps, type PanoContextMenuSelectContext, type PanoContextMenuSeparatorItem, type PanoCursor, type PanoCursors, PanoDataError, type PanoDataErrorCode, type PanoEventBus, type PanoEventListener, type PanoEventMap, type PanoEventType, PanoEvents, type PanoEventsProps, PanoFilter, type PanoFilterPreset, type PanoFilterProps, PanoMap, type PanoMapControlsDefinition, type PanoMapCorner, type PanoMapDefinition, type PanoMapDialogPresentation, type PanoMapDockedPresentation, type PanoMapEditChange, type PanoMapGradientStop, PanoMapOverlay, type PanoMapOverlayProps, type PanoMapPresentation, type PanoMapProps, type PanoMapSectorDefinition, type PanoMapSectorGradient, type PanoMapSpotDefinition, type PanoMediaActivationControls, type PanoMediaActivationOptions, PanoOverlayPortalProvider, type PanoOverlayRenderContext, type PanoProjectDefinition, type PanoProjectSceneDefinition, type PanoResizeEvent, PanoVideo, type PanoVideoCaptionAppearance, type PanoVideoController, PanoVideoControls, type PanoVideoControlsAppearance, type PanoVideoControlsProps, type PanoVideoErrorEvent, type PanoVideoErrorSource, type PanoVideoPlaybackSnapshot, type PanoVideoProps, type PanoVideoSource, type PanoVideoTrack, type PanoVideoTrackKind, type PanoVideoVariant, type PanoViewEasing, type PanoViewLimits, type PanoViewLookToOptions, type PanoViewNavigationOptions, type PanoViewNavigationResult, PanoViewer, type PanoViewerHandle, type PanoViewerProps, type PanoViewerState, type PanoWheelEvent, type PanoramaControlsOptions, type PanoramaPointerEvent, type PointHotspotDefinition, type PointHotspotDefinitionBase, PolygonHotspot, type PolygonHotspotDefinition, type PolygonHotspotProps, type PolygonValidationCode, type PolygonValidationIssue, type PolygonVerticesChangeEvent, PolylineHotspot, type PolylineHotspotDefinition, type PolylineHotspotProps, type PolylineValidationIssue, type PolylineVerticesChangeEvent, type PopupAssetUrlContext, type PopupAssetUrlResolver, type ProjectCustomActionEvent, type ProjectCustomHotspotAction, type ProjectHotspotAction, type ProjectHotspotClickEvent, type ProjectHotspotDefinition, type ProjectHotspotErrorEvent, type ProjectHotspotEvent, type ProjectHotspotRenderContext, type ProjectHotspotTrigger, type ProjectPopupBlock, type ProjectPopupDefinition, type ProjectPopupRequestEvent, ProjectScenes, type ProjectScenesProps, type RectangleGraphic, type RingGraphic, type Scene, type SceneFromViewerConfigOptions, type SceneTransition, type SceneTransitionEndEvent, type SceneTransitionErrorEvent, type SceneTransitionPreset, Scenes, type ScenesController, type ScenesProps, type SequenceFrameDirection, type SequenceFrameEvent, SequenceHotspot, type SequenceHotspotDefinition, type SequenceHotspotErrorEvent, type SequenceHotspotProps, type SequenceLoadProgress, type SequencePlaybackState, type SetPanoViewerOptions, Sphere, type SphereProps, type SphereScene, SphereTile, type SphereTileAddress, type SphereTileLevel, type SphereTileLoadError, type SphereTileMultiresConfig, type SphereTileProps, type SphereTileScene, type SphereViewerConfig, type StarGraphic, type SvgGraphic, type SvgPathGraphic, TextHotspot, type TextHotspotAlign, type TextHotspotDefinition, type TextHotspotFontStyle, type TextHotspotProps, type TextHotspotStyle, type TextHotspotVerticalAlign, type TextHotspotWhiteSpace, Tile, type TileAddress, type TileLoadError, type TileLoadProgress, type TileMultiresConfig, type TileProps, type TileScene, TouchControls, type TouchControlsOptions, type TouchControlsProps, type TriangleGraphic, type UsePanoViewerResult, VideoHotspot, type VideoHotspotDefinition, type VideoHotspotErrorEvent, type VideoHotspotProps, type VideoPlaybackState, type ViewInteractionEvent, type ViewInteractionSource, type ViewerConfig, type ViewerDocument, WEBVR_PROFILES, WEBVR_PROFILE_IDS, WebVR, type WebVRChrome, type WebVRChromeAppearance, type WebVRHandle, type WebVRMode, type WebVRProfile, type WebVRProfileId, type WebVRProps, type WebVRSettings, clampPanoPitch, composePanoContextMenuItems, containRect, containerPointToImage, createDefaultPanoContextMenuItems, createPanoContextMenuPresets, cycleSceneId, headingFromVector, horizontalFov, hotspotAction, imagePointToContainer, loadPanoProject, loadSceneFromJson, normalizePanoPosition, normalizePanoYaw, panoPositionToVector3, parsePanoMap, parsePanoProject, projectHotspotTriggers, resolvePanoContextMenuEntries, resolvePanoMapAssets, resolveHotspotAssets as resolveProjectHotspotAssets, resolveProjectPopupAssets, sceneFromViewerConfig, sectorRotation, setHotspotAction, unwrapPolygonVertices, usePanoEvents, usePanoModal, usePanoOverlay, usePanoViewer, validatePolygonVertices, validatePolylineVertices, vector3ToPanoPosition };
2373
+ export { type ArrowGraphic, type AssetUrlContext, type AssetUrlResolver, AudioHotspot, type AudioHotspotDefinition, type AudioHotspotErrorEvent, type AudioHotspotProps, type AudioPlaybackState, AutoRotate, type AutoRotateProps, BackgroundAudio, type BackgroundAudioController, type BackgroundAudioErrorEvent, type BackgroundAudioProps, type BackgroundAudioSnapshot, type BackgroundAudioSource, type CircleGraphic, type CubeFaceCode, type CubemapViewerConfig, DEFAULT_HOTSPOT_TOOLTIP_APPEARANCE, DEFAULT_HOTSPOT_TOOLTIP_OFFSET, DEFAULT_PANO_CURSORS, DEFAULT_PANO_SCENE_MENU_APPEARANCE, DEFAULT_PANO_VIDEO_CAPTION_APPEARANCE, DEFAULT_PANO_VIDEO_CONTROLS_APPEARANCE, DEFAULT_PANO_VIDEO_PLAYBACK_RATES, DEFAULT_WEBVR_CHROME_APPEARANCE, DEFAULT_WEBVR_CURSOR_DWELL_MS, type DiamondGraphic, type GraphicDefinition, GraphicHotspot, type GraphicHotspotDefinition, type GraphicHotspotProps, Gyro, type GyroHandle, type GyroProps, type GyroTouchMode, type HotspotCommonProps, type HotspotDefinition, type HotspotDefinitionBase, type HotspotDragEvent, type HotspotInputSource, type HotspotInteractionEvent, type HotspotMode, type HotspotPointerEvents, type HotspotPosition, type HotspotScaleMode, type HotspotTooltipAppearance, type HotspotTooltipContent, type HotspotTooltipPlacement, type HotspotTooltipTrigger, IframeHotspot, type IframeHotspotDefinition, type IframeHotspotProps, type IframePointerPolicy, ImageHotspot, type ImageHotspotDefinition, type ImageHotspotProps, type JsonObject, type JsonRequestOptions, type JsonValue, type KeyboardControlAction, type KeyboardControlKeys, KeyboardControls, type KeyboardControlsProps, type LoadPanoProjectOptions, type LoadSceneFromJsonOptions, type LoadedPanoProject, type LoadedProjectScene, MAX_HOTSPOT_PITCH, MIN_PANO_CONTEXT_MENU_BACKGROUND_OPACITY, type MouseControlButton, MouseControls, type MouseControlsOptions, type MouseControlsProps, PANO_FILTER_PRESETS, type PanoColorMatrix, PanoContextMenu, type PanoContextMenuActionItem, type PanoContextMenuAppearance, type PanoContextMenuEntry, type PanoContextMenuItem, type PanoContextMenuPresetActions, type PanoContextMenuPresetId, type PanoContextMenuPresetRef, type PanoContextMenuPresets, type PanoContextMenuProps, type PanoContextMenuRenderProps, type PanoContextMenuSelectContext, type PanoContextMenuSeparatorItem, type PanoCursor, type PanoCursors, PanoDataError, type PanoDataErrorCode, type PanoDragMotion, type PanoEventBus, type PanoEventListener, type PanoEventMap, type PanoEventType, PanoEvents, type PanoEventsProps, PanoFilter, type PanoFilterPreset, type PanoFilterProps, PanoMap, type PanoMapControlsDefinition, type PanoMapCorner, type PanoMapDefinition, type PanoMapDialogPresentation, type PanoMapDockedPresentation, type PanoMapEditChange, type PanoMapGradientStop, PanoMapOverlay, type PanoMapOverlayProps, type PanoMapPresentation, type PanoMapProps, type PanoMapSectorDefinition, type PanoMapSectorGradient, type PanoMapSpotDefinition, type PanoMediaActivationControls, type PanoMediaActivationOptions, PanoOverlayPortalProvider, type PanoOverlayRenderContext, type PanoProjectDefinition, type PanoProjectSceneDefinition, type PanoResizeEvent, PanoSceneMenu, type PanoSceneMenuAlign, type PanoSceneMenuAppearance, type PanoSceneMenuInset, type PanoSceneMenuItem, type PanoSceneMenuLabelAlign, type PanoSceneMenuPlacement, type PanoSceneMenuProps, PanoVideo, type PanoVideoCaptionAppearance, type PanoVideoController, PanoVideoControls, type PanoVideoControlsAppearance, type PanoVideoControlsProps, type PanoVideoErrorEvent, type PanoVideoErrorSource, type PanoVideoPlaybackSnapshot, type PanoVideoProps, type PanoVideoSource, type PanoVideoTrack, type PanoVideoTrackKind, type PanoVideoVariant, type PanoViewEasing, type PanoViewLimits, type PanoViewLookToOptions, type PanoViewNavigationOptions, type PanoViewNavigationResult, PanoViewer, type PanoViewerHandle, type PanoViewerProps, type PanoViewerState, type PanoWheelEvent, type PanoramaControlsOptions, type PanoramaPointerEvent, type PointHotspotDefinition, type PointHotspotDefinitionBase, PolygonHotspot, type PolygonHotspotDefinition, type PolygonHotspotProps, type PolygonValidationCode, type PolygonValidationIssue, type PolygonVerticesChangeEvent, PolylineHotspot, type PolylineHotspotDefinition, type PolylineHotspotProps, type PolylineValidationIssue, type PolylineVerticesChangeEvent, type PopupAssetUrlContext, type PopupAssetUrlResolver, type ProjectCustomActionEvent, type ProjectCustomHotspotAction, type ProjectHotspotAction, type ProjectHotspotClickEvent, type ProjectHotspotDefinition, type ProjectHotspotErrorEvent, type ProjectHotspotEvent, type ProjectHotspotRenderContext, type ProjectHotspotTrigger, type ProjectPopupBlock, type ProjectPopupDefinition, type ProjectPopupRequestEvent, ProjectScenes, type ProjectScenesProps, type RectangleGraphic, type RingGraphic, type Scene, type SceneFromViewerConfigOptions, type SceneTransition, type SceneTransitionEndEvent, type SceneTransitionErrorEvent, type SceneTransitionPreset, Scenes, type ScenesController, type ScenesProps, type SequenceFrameDirection, type SequenceFrameEvent, SequenceHotspot, type SequenceHotspotDefinition, type SequenceHotspotErrorEvent, type SequenceHotspotProps, type SequenceLoadProgress, type SequencePlaybackState, type SetPanoViewerOptions, Sphere, type SphereProps, type SphereScene, SphereTile, type SphereTileAddress, type SphereTileLevel, type SphereTileLoadError, type SphereTileMultiresConfig, type SphereTileProps, type SphereTileScene, type SphereViewerConfig, type StarGraphic, type SvgGraphic, type SvgPathGraphic, TextHotspot, type TextHotspotAlign, type TextHotspotDefinition, type TextHotspotFontStyle, type TextHotspotProps, type TextHotspotStyle, type TextHotspotVerticalAlign, type TextHotspotWhiteSpace, Tile, type TileAddress, type TileLoadError, type TileLoadProgress, type TileMultiresConfig, type TileProps, type TileScene, TouchControls, type TouchControlsOptions, type TouchControlsProps, type TriangleGraphic, type UsePanoViewerResult, VideoHotspot, type VideoHotspotDefinition, type VideoHotspotErrorEvent, type VideoHotspotProps, type VideoPlaybackState, type ViewInteractionEvent, type ViewInteractionSource, type ViewerConfig, type ViewerDocument, WEBVR_PROFILES, WEBVR_PROFILE_IDS, WebVR, type WebVRChrome, type WebVRChromeAppearance, type WebVRHandle, type WebVRMode, type WebVRProfile, type WebVRProfileId, type WebVRProps, type WebVRSettings, clampPanoPitch, composePanoContextMenuItems, containRect, containerPointToImage, createDefaultPanoContextMenuItems, createPanoContextMenuPresets, cycleSceneId, headingFromVector, horizontalFov, hotspotAction, imagePointToContainer, loadPanoProject, loadSceneFromJson, normalizePanoPosition, normalizePanoYaw, panoPositionToVector3, parsePanoMap, parsePanoProject, projectHotspotTriggers, resolvePanoContextMenuEntries, resolvePanoMapAssets, resolveHotspotAssets as resolveProjectHotspotAssets, resolveProjectPopupAssets, sceneFromViewerConfig, sectorRotation, setHotspotAction, unwrapPolygonVertices, usePanoEvents, usePanoModal, usePanoOverlay, usePanoViewer, validatePolygonVertices, validatePolylineVertices, vector3ToPanoPosition };
package/dist/index.d.ts CHANGED
@@ -1415,6 +1415,17 @@ type ProjectHotspotDefinition = HotspotDefinition & {
1415
1415
  };
1416
1416
  declare function resolveHotspotAssets(hotspot: ProjectHotspotDefinition, baseUrl: string, sceneId: string, resolver?: AssetUrlResolver): ProjectHotspotDefinition;
1417
1417
 
1418
+ /**
1419
+ * Shared drag inertia and edge bounce for map pan and scene-menu scrolling.
1420
+ * Axis motion is pure; hosts own pointer capture and rAF loops.
1421
+ */
1422
+ type PanoDragMotion = {
1423
+ /** Continue sliding after release from pointer velocity. Defaults to true. */
1424
+ inertia?: boolean;
1425
+ /** Rubber-band past edges while dragging; spring back on release. Defaults to true. */
1426
+ bounce?: boolean;
1427
+ };
1428
+
1418
1429
  type PanoMapCorner = "top-left" | "top-right" | "bottom-left" | "bottom-right";
1419
1430
  type PanoMapGradientStop = {
1420
1431
  offset: number;
@@ -1506,6 +1517,11 @@ type PanoMapDefinition = {
1506
1517
  * Only applies when `interaction` is `"zoom"`. Defaults to 8.
1507
1518
  */
1508
1519
  maxScale?: number;
1520
+ /**
1521
+ * Pan inertia and edge bounce when `interaction` is `"zoom"`.
1522
+ * Omit for both on; set `false` or flag fields to disable.
1523
+ */
1524
+ dragMotion?: PanoDragMotion | false;
1509
1525
  spots: PanoMapSpotDefinition[];
1510
1526
  sector?: PanoMapSectorDefinition;
1511
1527
  };
@@ -1793,6 +1809,93 @@ declare const WEBVR_PROFILES: Record<WebVRProfileId, WebVRProfile>;
1793
1809
 
1794
1810
  declare const DEFAULT_WEBVR_CURSOR_DWELL_MS = 1500;
1795
1811
 
1812
+ type PanoSceneMenuItem = {
1813
+ id: string;
1814
+ thumbnailUrl: string;
1815
+ title?: string;
1816
+ };
1817
+ type PanoSceneMenuPlacement = "top" | "bottom" | "left" | "right";
1818
+ /** Cross-axis alignment along the dock edge. Defaults to `"center"`. */
1819
+ type PanoSceneMenuAlign = "start" | "center" | "end";
1820
+ type PanoSceneMenuInset = number | string | {
1821
+ top?: number | string;
1822
+ right?: number | string;
1823
+ bottom?: number | string;
1824
+ left?: number | string;
1825
+ };
1826
+ type PanoSceneMenuLabelAlign = "start" | "center" | "end";
1827
+ type PanoSceneMenuAppearance = {
1828
+ background?: string;
1829
+ padding?: number | string;
1830
+ itemWidth?: number;
1831
+ itemHeight?: number;
1832
+ gap?: number | string;
1833
+ borderRadius?: number | string;
1834
+ selectionColor?: string;
1835
+ selectionWidth?: number;
1836
+ labelBackground?: string;
1837
+ labelColor?: string;
1838
+ /** Scene title alignment on the thumbnail. Defaults to `"start"`. */
1839
+ labelAlign?: PanoSceneMenuLabelAlign;
1840
+ fontSize?: number | string;
1841
+ controlColor?: string;
1842
+ controlBackground?: string;
1843
+ };
1844
+ type PanoSceneMenuProps = {
1845
+ items: readonly PanoSceneMenuItem[];
1846
+ activeId?: string | null;
1847
+ onSelect?: (id: string) => void;
1848
+ /** Dock edge inside the viewer overlay. Defaults to `"bottom"`. */
1849
+ placement?: PanoSceneMenuPlacement;
1850
+ /**
1851
+ * Align the menu along the dock edge when its main-axis size is smaller than
1852
+ * the available space. Also aligns short lists inside the strip. Defaults to
1853
+ * `"center"`.
1854
+ */
1855
+ align?: PanoSceneMenuAlign;
1856
+ /**
1857
+ * Gap from the viewer edges. A single value applies to every side;
1858
+ * an object sets each side. Numbers are pixels. Defaults to `12`.
1859
+ */
1860
+ inset?: PanoSceneMenuInset;
1861
+ /** Menu width. Numbers are pixels; strings may be `%`, `rem`, etc. */
1862
+ width?: number | string;
1863
+ /** Menu height. Numbers are pixels; strings may be `%`, `rem`, etc. */
1864
+ height?: number | string;
1865
+ /**
1866
+ * When `false` (default), the menu stays expanded.
1867
+ * When `true`, a toggle shows or hides the scene list.
1868
+ */
1869
+ collapsible?: boolean;
1870
+ /** Uncontrolled expanded state when `collapsible` is true. Defaults to `true`. */
1871
+ defaultExpanded?: boolean;
1872
+ /** Controlled expanded state when `collapsible` is true. */
1873
+ expanded?: boolean;
1874
+ onExpandedChange?: (expanded: boolean) => void;
1875
+ /** Show previous/next controls at both ends of the list. Defaults to `false`. */
1876
+ showArrows?: boolean;
1877
+ /**
1878
+ * When `true`, previous/next arrows and arrow keys wrap from the last item
1879
+ * to the first and vice versa. Defaults to `false` (stop at the ends).
1880
+ */
1881
+ loop?: boolean;
1882
+ /**
1883
+ * Scroll drag inertia and edge bounce.
1884
+ * Omit for both on (custom pointer scrolling). Set `false` for native overflow scroll.
1885
+ */
1886
+ dragMotion?: PanoDragMotion | false;
1887
+ appearance?: PanoSceneMenuAppearance;
1888
+ className?: string;
1889
+ style?: CSSProperties;
1890
+ label?: string;
1891
+ previousLabel?: string;
1892
+ nextLabel?: string;
1893
+ expandLabel?: string;
1894
+ collapseLabel?: string;
1895
+ };
1896
+ declare const DEFAULT_PANO_SCENE_MENU_APPEARANCE: Required<PanoSceneMenuAppearance>;
1897
+ declare function PanoSceneMenu({ items, activeId, onSelect, placement, align, inset, width, height, collapsible, defaultExpanded, expanded: expandedProp, onExpandedChange, showArrows, loop, dragMotion: dragMotionProp, appearance, className, style, label, previousLabel, nextLabel, expandLabel, collapseLabel, }: PanoSceneMenuProps): react.JSX.Element;
1898
+
1796
1899
  type ViewInteractionSource = "mouse" | "touch" | "keyboard";
1797
1900
  type PanoWheelEvent = {
1798
1901
  /** Signed wheel delta (same sign convention as WheelEvent.deltaY). */
@@ -2164,12 +2267,18 @@ type PanoMapProps = {
2164
2267
  onCollapsedChange?: (collapsed: boolean) => void;
2165
2268
  /** Extra chrome rendered above the map surface. */
2166
2269
  renderChrome?: (controls: ReactNode) => ReactNode;
2270
+ /**
2271
+ * Opening zoom relative to the contain-fit scale.
2272
+ * Clamped to `[1, maxScale]`. Applies after the image is measured and recenters.
2273
+ * Resets only when this value or interaction mode changes.
2274
+ */
2275
+ initialScale?: number;
2167
2276
  };
2168
2277
  /**
2169
2278
  * Floor-plan map surface. Fills its parent; hosts decide docked vs dialog chrome.
2170
2279
  * Icons and sectors keep CSS-pixel size while the background image zooms.
2171
2280
  */
2172
- declare function PanoMap({ map, activeSceneId, onSelectScene, view: controlledView, mode, selectedSpotId, onSelectedSpotIdChange, onEditChange, placementSceneId, className, style, showZoomControls, showCollapseControl, collapsed: controlledCollapsed, onCollapsedChange, renderChrome, }: PanoMapProps): react.JSX.Element;
2281
+ declare function PanoMap({ map, activeSceneId, onSelectScene, view: controlledView, mode, selectedSpotId, onSelectedSpotIdChange, onEditChange, placementSceneId, className, style, showZoomControls, showCollapseControl, collapsed: controlledCollapsed, onCollapsedChange, renderChrome, initialScale, }: PanoMapProps): react.JSX.Element;
2173
2282
 
2174
2283
  type PanoMapOverlayProps = {
2175
2284
  map: PanoMapDefinition;
@@ -2183,6 +2292,38 @@ type PanoMapOverlayProps = {
2183
2292
  placementSceneId?: string | null;
2184
2293
  /** Force presentation while authoring, ignoring document presentation temporarily. */
2185
2294
  presentationOverride?: PanoMapDefinition["presentation"];
2295
+ /** Override presentation mode for this mount. */
2296
+ presentation?: "docked" | "dialog";
2297
+ /** Override docked corner (or dialog launcher corner). */
2298
+ corner?: PanoMapCorner;
2299
+ /** Override docked panel or dialog-launcher width in CSS pixels. */
2300
+ width?: number;
2301
+ /** Override docked panel or dialog-launcher height in CSS pixels. */
2302
+ height?: number;
2303
+ /** Horizontal inset from the chosen corner in CSS pixels. */
2304
+ offsetX?: number;
2305
+ /** Vertical inset from the chosen corner in CSS pixels. */
2306
+ offsetY?: number;
2307
+ /** Preferred dialog body width in CSS pixels; clamped to the viewer. */
2308
+ dialogWidth?: number;
2309
+ /** Preferred dialog body height in CSS pixels; clamped to the viewer. */
2310
+ dialogHeight?: number;
2311
+ /** Override map interaction for this mount. */
2312
+ interaction?: PanoMapDefinition["interaction"];
2313
+ /**
2314
+ * Maximum zoom multiplier relative to the contain-fit scale.
2315
+ * Values below 1 are treated as 1.
2316
+ */
2317
+ maxScale?: number;
2318
+ /**
2319
+ * Opening zoom relative to the contain-fit scale.
2320
+ * Clamped to `[1, maxScale]`. View state only; not written to the map document.
2321
+ */
2322
+ initialScale?: number;
2323
+ showZoomControls?: boolean;
2324
+ showCollapseControl?: boolean;
2325
+ /** Override spot icon edge length in CSS pixels. */
2326
+ iconSize?: number;
2186
2327
  openLabel?: string;
2187
2328
  closeLabel?: string;
2188
2329
  title?: string;
@@ -2195,7 +2336,7 @@ type PanoMapOverlayProps = {
2195
2336
  * Visitor-facing map chrome for `PanoViewer.renderOverlay`.
2196
2337
  * Docked panels stay in a corner; dialog mode opens the same map in a modal.
2197
2338
  */
2198
- declare function PanoMapOverlay({ map, activeSceneId, onSelectScene, view, mode, selectedSpotId, onSelectedSpotIdChange, onEditChange, placementSceneId, presentationOverride, openLabel, closeLabel, title, className, style, editorSurface, }: PanoMapOverlayProps): react.JSX.Element;
2339
+ declare function PanoMapOverlay({ map, activeSceneId, onSelectScene, view, mode, selectedSpotId, onSelectedSpotIdChange, onEditChange, placementSceneId, presentationOverride, presentation: presentationModeProp, corner: cornerProp, width: widthProp, height: heightProp, offsetX: offsetXProp, offsetY: offsetYProp, dialogWidth, dialogHeight, interaction, maxScale, initialScale, showZoomControls, showCollapseControl, iconSize, openLabel, closeLabel, title, className, style, editorSurface, }: PanoMapOverlayProps): react.JSX.Element;
2199
2340
 
2200
2341
  type MapRect = {
2201
2342
  left: number;
@@ -2229,4 +2370,4 @@ declare function containerPointToImage(point: MapPoint, viewport: MapViewport):
2229
2370
  /** Clockwise degrees from image up for a vector in container space. */
2230
2371
  declare function headingFromVector(dx: number, dy: number): number;
2231
2372
 
2232
- export { type ArrowGraphic, type AssetUrlContext, type AssetUrlResolver, AudioHotspot, type AudioHotspotDefinition, type AudioHotspotErrorEvent, type AudioHotspotProps, type AudioPlaybackState, AutoRotate, type AutoRotateProps, BackgroundAudio, type BackgroundAudioController, type BackgroundAudioErrorEvent, type BackgroundAudioProps, type BackgroundAudioSnapshot, type BackgroundAudioSource, type CircleGraphic, type CubeFaceCode, type CubemapViewerConfig, DEFAULT_HOTSPOT_TOOLTIP_APPEARANCE, DEFAULT_HOTSPOT_TOOLTIP_OFFSET, DEFAULT_PANO_CURSORS, DEFAULT_PANO_VIDEO_CAPTION_APPEARANCE, DEFAULT_PANO_VIDEO_CONTROLS_APPEARANCE, DEFAULT_PANO_VIDEO_PLAYBACK_RATES, DEFAULT_WEBVR_CHROME_APPEARANCE, DEFAULT_WEBVR_CURSOR_DWELL_MS, type DiamondGraphic, type GraphicDefinition, GraphicHotspot, type GraphicHotspotDefinition, type GraphicHotspotProps, Gyro, type GyroHandle, type GyroProps, type GyroTouchMode, type HotspotCommonProps, type HotspotDefinition, type HotspotDefinitionBase, type HotspotDragEvent, type HotspotInputSource, type HotspotInteractionEvent, type HotspotMode, type HotspotPointerEvents, type HotspotPosition, type HotspotScaleMode, type HotspotTooltipAppearance, type HotspotTooltipContent, type HotspotTooltipPlacement, type HotspotTooltipTrigger, IframeHotspot, type IframeHotspotDefinition, type IframeHotspotProps, type IframePointerPolicy, ImageHotspot, type ImageHotspotDefinition, type ImageHotspotProps, type JsonObject, type JsonRequestOptions, type JsonValue, type KeyboardControlAction, type KeyboardControlKeys, KeyboardControls, type KeyboardControlsProps, type LoadPanoProjectOptions, type LoadSceneFromJsonOptions, type LoadedPanoProject, type LoadedProjectScene, MAX_HOTSPOT_PITCH, MIN_PANO_CONTEXT_MENU_BACKGROUND_OPACITY, type MouseControlButton, MouseControls, type MouseControlsOptions, type MouseControlsProps, PANO_FILTER_PRESETS, type PanoColorMatrix, PanoContextMenu, type PanoContextMenuActionItem, type PanoContextMenuAppearance, type PanoContextMenuEntry, type PanoContextMenuItem, type PanoContextMenuPresetActions, type PanoContextMenuPresetId, type PanoContextMenuPresetRef, type PanoContextMenuPresets, type PanoContextMenuProps, type PanoContextMenuRenderProps, type PanoContextMenuSelectContext, type PanoContextMenuSeparatorItem, type PanoCursor, type PanoCursors, PanoDataError, type PanoDataErrorCode, type PanoEventBus, type PanoEventListener, type PanoEventMap, type PanoEventType, PanoEvents, type PanoEventsProps, PanoFilter, type PanoFilterPreset, type PanoFilterProps, PanoMap, type PanoMapControlsDefinition, type PanoMapCorner, type PanoMapDefinition, type PanoMapDialogPresentation, type PanoMapDockedPresentation, type PanoMapEditChange, type PanoMapGradientStop, PanoMapOverlay, type PanoMapOverlayProps, type PanoMapPresentation, type PanoMapProps, type PanoMapSectorDefinition, type PanoMapSectorGradient, type PanoMapSpotDefinition, type PanoMediaActivationControls, type PanoMediaActivationOptions, PanoOverlayPortalProvider, type PanoOverlayRenderContext, type PanoProjectDefinition, type PanoProjectSceneDefinition, type PanoResizeEvent, PanoVideo, type PanoVideoCaptionAppearance, type PanoVideoController, PanoVideoControls, type PanoVideoControlsAppearance, type PanoVideoControlsProps, type PanoVideoErrorEvent, type PanoVideoErrorSource, type PanoVideoPlaybackSnapshot, type PanoVideoProps, type PanoVideoSource, type PanoVideoTrack, type PanoVideoTrackKind, type PanoVideoVariant, type PanoViewEasing, type PanoViewLimits, type PanoViewLookToOptions, type PanoViewNavigationOptions, type PanoViewNavigationResult, PanoViewer, type PanoViewerHandle, type PanoViewerProps, type PanoViewerState, type PanoWheelEvent, type PanoramaControlsOptions, type PanoramaPointerEvent, type PointHotspotDefinition, type PointHotspotDefinitionBase, PolygonHotspot, type PolygonHotspotDefinition, type PolygonHotspotProps, type PolygonValidationCode, type PolygonValidationIssue, type PolygonVerticesChangeEvent, PolylineHotspot, type PolylineHotspotDefinition, type PolylineHotspotProps, type PolylineValidationIssue, type PolylineVerticesChangeEvent, type PopupAssetUrlContext, type PopupAssetUrlResolver, type ProjectCustomActionEvent, type ProjectCustomHotspotAction, type ProjectHotspotAction, type ProjectHotspotClickEvent, type ProjectHotspotDefinition, type ProjectHotspotErrorEvent, type ProjectHotspotEvent, type ProjectHotspotRenderContext, type ProjectHotspotTrigger, type ProjectPopupBlock, type ProjectPopupDefinition, type ProjectPopupRequestEvent, ProjectScenes, type ProjectScenesProps, type RectangleGraphic, type RingGraphic, type Scene, type SceneFromViewerConfigOptions, type SceneTransition, type SceneTransitionEndEvent, type SceneTransitionErrorEvent, type SceneTransitionPreset, Scenes, type ScenesController, type ScenesProps, type SequenceFrameDirection, type SequenceFrameEvent, SequenceHotspot, type SequenceHotspotDefinition, type SequenceHotspotErrorEvent, type SequenceHotspotProps, type SequenceLoadProgress, type SequencePlaybackState, type SetPanoViewerOptions, Sphere, type SphereProps, type SphereScene, SphereTile, type SphereTileAddress, type SphereTileLevel, type SphereTileLoadError, type SphereTileMultiresConfig, type SphereTileProps, type SphereTileScene, type SphereViewerConfig, type StarGraphic, type SvgGraphic, type SvgPathGraphic, TextHotspot, type TextHotspotAlign, type TextHotspotDefinition, type TextHotspotFontStyle, type TextHotspotProps, type TextHotspotStyle, type TextHotspotVerticalAlign, type TextHotspotWhiteSpace, Tile, type TileAddress, type TileLoadError, type TileLoadProgress, type TileMultiresConfig, type TileProps, type TileScene, TouchControls, type TouchControlsOptions, type TouchControlsProps, type TriangleGraphic, type UsePanoViewerResult, VideoHotspot, type VideoHotspotDefinition, type VideoHotspotErrorEvent, type VideoHotspotProps, type VideoPlaybackState, type ViewInteractionEvent, type ViewInteractionSource, type ViewerConfig, type ViewerDocument, WEBVR_PROFILES, WEBVR_PROFILE_IDS, WebVR, type WebVRChrome, type WebVRChromeAppearance, type WebVRHandle, type WebVRMode, type WebVRProfile, type WebVRProfileId, type WebVRProps, type WebVRSettings, clampPanoPitch, composePanoContextMenuItems, containRect, containerPointToImage, createDefaultPanoContextMenuItems, createPanoContextMenuPresets, cycleSceneId, headingFromVector, horizontalFov, hotspotAction, imagePointToContainer, loadPanoProject, loadSceneFromJson, normalizePanoPosition, normalizePanoYaw, panoPositionToVector3, parsePanoMap, parsePanoProject, projectHotspotTriggers, resolvePanoContextMenuEntries, resolvePanoMapAssets, resolveHotspotAssets as resolveProjectHotspotAssets, resolveProjectPopupAssets, sceneFromViewerConfig, sectorRotation, setHotspotAction, unwrapPolygonVertices, usePanoEvents, usePanoModal, usePanoOverlay, usePanoViewer, validatePolygonVertices, validatePolylineVertices, vector3ToPanoPosition };
2373
+ export { type ArrowGraphic, type AssetUrlContext, type AssetUrlResolver, AudioHotspot, type AudioHotspotDefinition, type AudioHotspotErrorEvent, type AudioHotspotProps, type AudioPlaybackState, AutoRotate, type AutoRotateProps, BackgroundAudio, type BackgroundAudioController, type BackgroundAudioErrorEvent, type BackgroundAudioProps, type BackgroundAudioSnapshot, type BackgroundAudioSource, type CircleGraphic, type CubeFaceCode, type CubemapViewerConfig, DEFAULT_HOTSPOT_TOOLTIP_APPEARANCE, DEFAULT_HOTSPOT_TOOLTIP_OFFSET, DEFAULT_PANO_CURSORS, DEFAULT_PANO_SCENE_MENU_APPEARANCE, DEFAULT_PANO_VIDEO_CAPTION_APPEARANCE, DEFAULT_PANO_VIDEO_CONTROLS_APPEARANCE, DEFAULT_PANO_VIDEO_PLAYBACK_RATES, DEFAULT_WEBVR_CHROME_APPEARANCE, DEFAULT_WEBVR_CURSOR_DWELL_MS, type DiamondGraphic, type GraphicDefinition, GraphicHotspot, type GraphicHotspotDefinition, type GraphicHotspotProps, Gyro, type GyroHandle, type GyroProps, type GyroTouchMode, type HotspotCommonProps, type HotspotDefinition, type HotspotDefinitionBase, type HotspotDragEvent, type HotspotInputSource, type HotspotInteractionEvent, type HotspotMode, type HotspotPointerEvents, type HotspotPosition, type HotspotScaleMode, type HotspotTooltipAppearance, type HotspotTooltipContent, type HotspotTooltipPlacement, type HotspotTooltipTrigger, IframeHotspot, type IframeHotspotDefinition, type IframeHotspotProps, type IframePointerPolicy, ImageHotspot, type ImageHotspotDefinition, type ImageHotspotProps, type JsonObject, type JsonRequestOptions, type JsonValue, type KeyboardControlAction, type KeyboardControlKeys, KeyboardControls, type KeyboardControlsProps, type LoadPanoProjectOptions, type LoadSceneFromJsonOptions, type LoadedPanoProject, type LoadedProjectScene, MAX_HOTSPOT_PITCH, MIN_PANO_CONTEXT_MENU_BACKGROUND_OPACITY, type MouseControlButton, MouseControls, type MouseControlsOptions, type MouseControlsProps, PANO_FILTER_PRESETS, type PanoColorMatrix, PanoContextMenu, type PanoContextMenuActionItem, type PanoContextMenuAppearance, type PanoContextMenuEntry, type PanoContextMenuItem, type PanoContextMenuPresetActions, type PanoContextMenuPresetId, type PanoContextMenuPresetRef, type PanoContextMenuPresets, type PanoContextMenuProps, type PanoContextMenuRenderProps, type PanoContextMenuSelectContext, type PanoContextMenuSeparatorItem, type PanoCursor, type PanoCursors, PanoDataError, type PanoDataErrorCode, type PanoDragMotion, type PanoEventBus, type PanoEventListener, type PanoEventMap, type PanoEventType, PanoEvents, type PanoEventsProps, PanoFilter, type PanoFilterPreset, type PanoFilterProps, PanoMap, type PanoMapControlsDefinition, type PanoMapCorner, type PanoMapDefinition, type PanoMapDialogPresentation, type PanoMapDockedPresentation, type PanoMapEditChange, type PanoMapGradientStop, PanoMapOverlay, type PanoMapOverlayProps, type PanoMapPresentation, type PanoMapProps, type PanoMapSectorDefinition, type PanoMapSectorGradient, type PanoMapSpotDefinition, type PanoMediaActivationControls, type PanoMediaActivationOptions, PanoOverlayPortalProvider, type PanoOverlayRenderContext, type PanoProjectDefinition, type PanoProjectSceneDefinition, type PanoResizeEvent, PanoSceneMenu, type PanoSceneMenuAlign, type PanoSceneMenuAppearance, type PanoSceneMenuInset, type PanoSceneMenuItem, type PanoSceneMenuLabelAlign, type PanoSceneMenuPlacement, type PanoSceneMenuProps, PanoVideo, type PanoVideoCaptionAppearance, type PanoVideoController, PanoVideoControls, type PanoVideoControlsAppearance, type PanoVideoControlsProps, type PanoVideoErrorEvent, type PanoVideoErrorSource, type PanoVideoPlaybackSnapshot, type PanoVideoProps, type PanoVideoSource, type PanoVideoTrack, type PanoVideoTrackKind, type PanoVideoVariant, type PanoViewEasing, type PanoViewLimits, type PanoViewLookToOptions, type PanoViewNavigationOptions, type PanoViewNavigationResult, PanoViewer, type PanoViewerHandle, type PanoViewerProps, type PanoViewerState, type PanoWheelEvent, type PanoramaControlsOptions, type PanoramaPointerEvent, type PointHotspotDefinition, type PointHotspotDefinitionBase, PolygonHotspot, type PolygonHotspotDefinition, type PolygonHotspotProps, type PolygonValidationCode, type PolygonValidationIssue, type PolygonVerticesChangeEvent, PolylineHotspot, type PolylineHotspotDefinition, type PolylineHotspotProps, type PolylineValidationIssue, type PolylineVerticesChangeEvent, type PopupAssetUrlContext, type PopupAssetUrlResolver, type ProjectCustomActionEvent, type ProjectCustomHotspotAction, type ProjectHotspotAction, type ProjectHotspotClickEvent, type ProjectHotspotDefinition, type ProjectHotspotErrorEvent, type ProjectHotspotEvent, type ProjectHotspotRenderContext, type ProjectHotspotTrigger, type ProjectPopupBlock, type ProjectPopupDefinition, type ProjectPopupRequestEvent, ProjectScenes, type ProjectScenesProps, type RectangleGraphic, type RingGraphic, type Scene, type SceneFromViewerConfigOptions, type SceneTransition, type SceneTransitionEndEvent, type SceneTransitionErrorEvent, type SceneTransitionPreset, Scenes, type ScenesController, type ScenesProps, type SequenceFrameDirection, type SequenceFrameEvent, SequenceHotspot, type SequenceHotspotDefinition, type SequenceHotspotErrorEvent, type SequenceHotspotProps, type SequenceLoadProgress, type SequencePlaybackState, type SetPanoViewerOptions, Sphere, type SphereProps, type SphereScene, SphereTile, type SphereTileAddress, type SphereTileLevel, type SphereTileLoadError, type SphereTileMultiresConfig, type SphereTileProps, type SphereTileScene, type SphereViewerConfig, type StarGraphic, type SvgGraphic, type SvgPathGraphic, TextHotspot, type TextHotspotAlign, type TextHotspotDefinition, type TextHotspotFontStyle, type TextHotspotProps, type TextHotspotStyle, type TextHotspotVerticalAlign, type TextHotspotWhiteSpace, Tile, type TileAddress, type TileLoadError, type TileLoadProgress, type TileMultiresConfig, type TileProps, type TileScene, TouchControls, type TouchControlsOptions, type TouchControlsProps, type TriangleGraphic, type UsePanoViewerResult, VideoHotspot, type VideoHotspotDefinition, type VideoHotspotErrorEvent, type VideoHotspotProps, type VideoPlaybackState, type ViewInteractionEvent, type ViewInteractionSource, type ViewerConfig, type ViewerDocument, WEBVR_PROFILES, WEBVR_PROFILE_IDS, WebVR, type WebVRChrome, type WebVRChromeAppearance, type WebVRHandle, type WebVRMode, type WebVRProfile, type WebVRProfileId, type WebVRProps, type WebVRSettings, clampPanoPitch, composePanoContextMenuItems, containRect, containerPointToImage, createDefaultPanoContextMenuItems, createPanoContextMenuPresets, cycleSceneId, headingFromVector, horizontalFov, hotspotAction, imagePointToContainer, loadPanoProject, loadSceneFromJson, normalizePanoPosition, normalizePanoYaw, panoPositionToVector3, parsePanoMap, parsePanoProject, projectHotspotTriggers, resolvePanoContextMenuEntries, resolvePanoMapAssets, resolveHotspotAssets as resolveProjectHotspotAssets, resolveProjectPopupAssets, sceneFromViewerConfig, sectorRotation, setHotspotAction, unwrapPolygonVertices, usePanoEvents, usePanoModal, usePanoOverlay, usePanoViewer, validatePolygonVertices, validatePolylineVertices, vector3ToPanoPosition };