@mappedin/mappedin-js 5.9.1 → 5.10.1

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.
@@ -3,16 +3,17 @@
3
3
  // ../three
4
4
  // ../@tweenjs/tween.js
5
5
  // ../minisearch
6
- // ../geojson
6
+ // ../@mappedin/mvf
7
7
 
8
8
  declare module '@mappedin/mappedin-js' {
9
9
  import { MapView } from '@mappedin/mappedin-js/renderer/public/MapView';
10
- import { getVenue, getVenueBundle, Mappedin, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/mappedin-js/get-venue';
10
+ import { getVenue, getVenueMVF, getVenueBundle, Mappedin, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/mappedin-js/get-venue';
11
11
  import { PositionUpdater } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
12
12
  import type { TMapViewOptions } from '@mappedin/mappedin-js/renderer/MapView.types';
13
13
  import { MARKER_ANCHOR } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Marker';
14
- export type { Marker } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Markers';
15
- export type { Path } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths';
14
+ export { E_SDK_LOG_LEVEL, setLoggerLevel } from '@mappedin/mappedin-js/--/common/Mappedin.Logger';
15
+ export type { Marker } from '@mappedin/mappedin-js/renderer/private/controllers/MarkersController';
16
+ export type { Path } from '@mappedin/mappedin-js/renderer/private/controllers/PathsController';
16
17
  export { BEARING_TYPE, ACTION_TYPE } from '@mappedin/mappedin-js/navigator';
17
18
  export type { IDirectionsResult, E_MESSAGES as E_GET_DIRECTIONS_MESSAGES } from '@mappedin/mappedin-js/navigator';
18
19
  export type { IFlatLabels, FlatLabels } from '@mappedin/mappedin-js/renderer/public/api/FlatLabels';
@@ -41,9 +42,9 @@ declare module '@mappedin/mappedin-js' {
41
42
  */
42
43
  function showVenue<T extends Mappedin>(el: HTMLElement, venue: T, options?: TMapViewOptions): Promise<MapView>;
43
44
  export { COLLISION_RANKING_TIERS, STATE, E_SDK_EVENT, E_BLUEDOT_STATE_REASON, E_BLUEDOT_MARKER_STATE, E_BLUEDOT_EVENT, E_BLUEDOT_STATE, E_CAMERA_EVENT, E_CAMERA_DIRECTION, SAFE_AREA_INSET_TYPE, ANIMATION_TWEENS, CAMERA_EASING_MODE, } from '@mappedin/mappedin-js/renderer/MapView.enums';
44
- export { getVenue, getVenueBundle, showVenue, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, PositionUpdater, MappedinDestinationSet, MARKER_ANCHOR, };
45
+ export { getVenue, getVenueMVF, getVenueBundle, showVenue, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, PositionUpdater, MappedinDestinationSet, MARKER_ANCHOR, };
45
46
  import DefaultAssetManager from '@mappedin/mappedin-js/renderer/internal/Mappedin.AssetManager';
46
- import { TTileManagerOptions } from '@mappedin/mappedin-js/renderer/layers/Outdoor-Context/Mappedin.TileManager';
47
+ import { TTileManagerOptions } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.TileManager';
47
48
  /**
48
49
  * @internal
49
50
  */
@@ -61,7 +62,7 @@ declare module '@mappedin/mappedin-js' {
61
62
  export type { TMappedinInitializeOptions };
62
63
  export * from '@mappedin/mappedin-js/renderer/MapView.types';
63
64
  export type { MapView } from '@mappedin/mappedin-js/renderer/public/MapView';
64
- export type { TSafeAreaInsets, TCameraTargets, TFocusOnCameraOptions, TCameraTransform, TCameraAnimationOptions, default as Camera, } from '@mappedin/mappedin-js/renderer/Camera';
65
+ export type { TSafeAreaInsets, TCameraTargets, TFocusOnCameraOptions, TCameraTransform, TCameraAnimationOptions, default as CameraController, } from '@mappedin/mappedin-js/renderer/private/controllers/CameraController';
65
66
  export type { TGetVenueOptions, TShowVenueOptions, TMappedinOfflineSearchOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineAllSearchMatch, TMappedinOfflineSearchAllOptions, } from '@mappedin/mappedin-js/get-venue';
66
67
  export { Mappedin, MappedinDirections, MappedinLocation, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinNavigatable, MappedinCoordinate, OfflineSearch, MAP_RENDER_MODE, setFetchFn, MappedinCollectionType, } from '@mappedin/mappedin-js/get-venue';
67
68
  /**
@@ -85,12 +86,12 @@ declare module '@mappedin/mappedin-js' {
85
86
  /**
86
87
  * @internal
87
88
  */
88
- OpenStreetMapOutdoorContext, } from './layers/Outdoor-Context/Outdoor-Context.provider';
89
+ OpenStreetMapOutdoorContext, } from './internal/outdoor-context/Outdoor-Context.provider';
89
90
  export type {
90
91
  /**
91
92
  * @internal
92
93
  */
93
- IOutdoorContextProvider, } from './layers/Outdoor-Context/Outdoor-Context.provider';
94
+ IOutdoorContextProvider, } from './internal/outdoor-context/Outdoor-Context.provider';
94
95
  }
95
96
 
96
97
  declare module '@mappedin/mappedin-js/renderer/public/MapView' {
@@ -100,16 +101,16 @@ declare module '@mappedin/mappedin-js/renderer/public/MapView' {
100
101
  import { E_SDK_EVENT_PAYLOAD, TCreateMarkerOptions, TLabelAllLocationFlatLabelOptions, TLabelAllLocationFloatingLabelOptions, TMapViewOptions, TPathOptions, TCreateTooltipCommonOptions, TCreateTooltipOptions, TMapClickEvent } from '@mappedin/mappedin-js/renderer/MapView.types';
101
102
  import { E_SDK_EVENT, STATE } from '@mappedin/mappedin-js/renderer/MapView.enums';
102
103
  import SmartTooltip from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartTooltip';
103
- import Camera from '@mappedin/mappedin-js/renderer/Camera';
104
- import { Marker } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Markers';
104
+ import { Marker } from '@mappedin/mappedin-js/renderer/private/controllers/MarkersController';
105
105
  import { PubSub } from '@mappedin/mappedin-js/renderer/internal/pub-sub.typed';
106
- import BlueDotLayer from '@mappedin/mappedin-js/renderer/layers/BlueDot';
107
- import JourneyLayer from '@mappedin/mappedin-js/renderer/layers/Journey';
106
+ import Journey from '@mappedin/mappedin-js/renderer/public/api/Journey';
108
107
  import { TGetPolygonsAtCoordinateOptions } from '@mappedin/mappedin-js/renderer';
109
108
  import { IFlatLabels } from '@mappedin/mappedin-js/renderer/public/api/FlatLabels';
110
109
  import { IFloatingLabels } from '@mappedin/mappedin-js/renderer/public/api/FloatingLabels';
111
- import { MarkersLayer } from '@mappedin/mappedin-js/renderer/layers/Markers';
112
- import { PathsLayer } from '@mappedin/mappedin-js/renderer/layers/Paths';
110
+ import { Markers } from '@mappedin/mappedin-js/renderer/public/api/Markers';
111
+ import { Paths } from '@mappedin/mappedin-js/renderer/public/api/Paths';
112
+ import { BlueDot } from '@mappedin/mappedin-js/renderer/public/api/BlueDot';
113
+ import { Camera } from '@mappedin/mappedin-js/renderer/public/api/Camera';
113
114
  export enum INTERNAL_EVENT {
114
115
  ON_FIRST_MAP_LOADED = 0,
115
116
  TEXTURE_LOADED = 1,
@@ -175,14 +176,13 @@ declare module '@mappedin/mappedin-js/renderer/public/MapView' {
175
176
  };
176
177
  export class MapView extends PubSub<E_SDK_EVENT_PAYLOAD, E_SDK_EVENT> {
177
178
  #private;
178
- currentPath?: MappedinNode[];
179
- BlueDot: BlueDotLayer;
180
- Journey: JourneyLayer;
179
+ Journey: Journey;
181
180
  Camera: Camera;
182
181
  FlatLabels: IFlatLabels<void>;
183
182
  FloatingLabels: IFloatingLabels<void>;
184
- Markers: MarkersLayer;
185
- Paths: PathsLayer;
183
+ Markers: Markers;
184
+ Paths: Paths;
185
+ BlueDot: BlueDot;
186
186
  options: TMapViewOptions;
187
187
  constructor(container: HTMLElement, venue: Mappedin, options?: TMapViewOptions & {
188
188
  onFirstMapLoaded: () => void;
@@ -469,6 +469,7 @@ declare module '@mappedin/mappedin-js/renderer/public/MapView' {
469
469
  declare module '@mappedin/mappedin-js/get-venue' {
470
470
  import type { TGetVenueOptions } from '@mappedin/mappedin-js/get-venue/Mappedin.types';
471
471
  import { Mappedin } from '@mappedin/mappedin-js/get-venue/Mappedin';
472
+ export { E_SDK_LOG_LEVEL, setLoggerLevel } from '@mappedin/mappedin-js/--/common/Mappedin.Logger';
472
473
  /**
473
474
  * This is how we can avoid bundling in node-fetch (via isomorphic fetch),
474
475
  * which keeps popping up in security advisories
@@ -601,12 +602,7 @@ declare module '@mappedin/mappedin-js/get-venue' {
601
602
  /**
602
603
  * @internal
603
604
  */
604
- export function downloadVenueBundleMVF(options: TGetVenueBundleOptions,
605
- /**
606
- * use Web Workers to speed up MVF parsing. This is likely only benefitial for larger venues,
607
- * and may be determental to smaller ones, hence it is off by default
608
- */
609
- useWorker?: boolean): Promise<unknown>;
605
+ export function downloadVenueBundleMVF(options: TGetVenueBundleOptions): Promise<unknown>;
610
606
  /**
611
607
  * Returns a {@link Mappedin} object hydrated with JSON data.
612
608
  * @param {string|Object} mappedinSerializableData A JSON string or object representing a venue.
@@ -623,7 +619,6 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedi
623
619
  import { PubSub, IPubSub } from '@mappedin/mappedin-js/renderer/internal/pub-sub';
624
620
  import { MappedinMap, MappedinNode } from '@mappedin/mappedin-js/get-venue';
625
621
  import { TGeolocationObject } from '@mappedin/mappedin-js/renderer/MapView.types';
626
- import { MapView } from '@mappedin/mappedin-js/renderer';
627
622
  import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
628
623
  import BlueDotManager from '@mappedin/mappedin-js/renderer/internal/blue-dot-manager';
629
624
  export const DEFAULT_BLUE_DOT_COLOR = "#2266ff";
@@ -700,6 +695,7 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedi
700
695
  enableBlueDot: (options?: TEnableBlueDotOptions) => void;
701
696
  disableBlueDot: () => void;
702
697
  enableBlueDotOptions: TEnableBlueDotOptions;
698
+ enabled: boolean;
703
699
  state: TBlueDotStateChange;
704
700
  /**
705
701
  Whether blue dot should be allowed with missing floor level information.
@@ -769,13 +765,12 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedi
769
765
  export const FALLBACK_TO_GPS_TIMEOUT = 10000;
770
766
  type TBlueDotProps = {
771
767
  data: any;
772
- mapView: MapView;
773
768
  core: ICore;
774
769
  manager: BlueDotManager;
775
770
  };
776
771
  export type TLatLonProps = [number, number];
777
772
  const BlueDot: {
778
- ({ data, mapView, core, manager }: TBlueDotProps): IBlueDotCore;
773
+ ({ data, core, manager }: TBlueDotProps): IBlueDotCore;
779
774
  FakeGeolocation: typeof FakeGeolocation;
780
775
  };
781
776
  export default BlueDot;
@@ -788,7 +783,7 @@ declare module '@mappedin/mappedin-js/renderer/MapView.types' {
788
783
  import { TOOLTIP_ANCHOR } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartTooltip';
789
784
  import type { Euler, Object3D, Vector3 } from 'three';
790
785
  import { GEOLOCATION_STATUS, COLLISION_RANKING_TIERS, STATE, MARKER_ANCHOR, E_SDK_EVENT, E_BLUEDOT_EVENT, E_CAMERA_EVENT, MAP_RENDER_MODE, CAMERA_EASING_MODE } from '@mappedin/mappedin-js/renderer/MapView.enums';
791
- import { Path } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths';
786
+ import { Path } from '@mappedin/mappedin-js/renderer/private/controllers/PathsController';
792
787
  export type { TEnableBlueDotOptions, TFloatingLabelAppearance };
793
788
  /**
794
789
  An extension of the GeolocationPosition type.
@@ -1410,8 +1405,8 @@ declare module '@mappedin/mappedin-js/renderer/MapView.types' {
1410
1405
  */
1411
1406
  [E_CAMERA_EVENT.TILT_CHANGED]: number;
1412
1407
  };
1413
- export type { default as BlueDotLayer } from '@mappedin/mappedin-js/renderer/layers/BlueDot';
1414
- export type { default as JourneyLayer } from '@mappedin/mappedin-js/renderer/layers/Journey';
1408
+ export type { default as BlueDotController } from '@mappedin/mappedin-js/renderer/private/controllers/BlueDotController';
1409
+ export type { default as Journey } from '@mappedin/mappedin-js/renderer/public/api/Journey';
1415
1410
  }
1416
1411
 
1417
1412
  declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.Marker' {
@@ -1421,60 +1416,48 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.Marker' {
1421
1416
  import { Vector3 } from 'three';
1422
1417
  import { TColliderStrategy } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollider';
1423
1418
  /**
1424
- *
1425
- * A Marker is an html element that allows users to attach an image or text to a MappedinNode, while interacting (colliding) with other elements.
1426
- *
1427
- * Make your own and add it directly to the map with {{#crossLink "MapView/createSmartMarker:method"}}{{/crossLink}}, or use the constructor and add it when you want.
1428
- *
1429
- * You will need to specify at least `options.position`, `options.contentHtml` and `options.map`.
1430
- *
1431
- *
1432
- * @class Marker
1433
- *
1434
- * @constructor
1435
- * @param options {Object} Passes on options (e.g. contentHtml, position, map, padding, defaultAnchorType, enabledAnchorTypes, collisionRank) to MapView.Tooltip's options argument.
1436
- * @param [options.contentHtml] Use mappedin's default tooltip styling with custom inner html content
1437
- * @param [options.id] If omitted, an id will be generated automatically
1438
- * @param [options.position] should be something you got from {{#crossLink "MapView/getPositionPolygon:method"}}{{/crossLink}} or {{#crossLink "MapView/getPositionNode:method"}}{{/crossLink}}.
1439
- * @param [options.anchor] Anchor point to node
1440
- * @param [options.map] The map ID where the tooltip should be displayed
1441
- * @param [options.collisionRank] The rank of the object used when comparing colliders to determine which should be shown.
1442
- */
1419
+ * @hidden
1420
+ * @internal
1421
+ */
1443
1422
  export type TSmartMarkerOptions = {
1444
- contentHtml?: string;
1445
- position: Vector3;
1446
- mapId: string;
1447
- id?: string;
1448
- anchor?: MARKER_ANCHOR;
1449
- collisionRank?: COLLISION_RANKING_TIERS;
1423
+ contentHtml?: string;
1424
+ position: Vector3;
1425
+ mapId: string;
1426
+ id?: string;
1427
+ anchor?: MARKER_ANCHOR;
1428
+ collisionRank?: COLLISION_RANKING_TIERS;
1450
1429
  };
1451
1430
  type TTooltipStyle = {
1452
- top?: string;
1453
- left?: string;
1431
+ top?: string;
1432
+ left?: string;
1454
1433
  };
1455
1434
  export enum MARKER_ANCHOR {
1456
- CENTER = 0,
1457
- TOP = 1,
1458
- BOTTOM = 2,
1459
- LEFT = 3,
1460
- RIGHT = 4
1435
+ CENTER = 0,
1436
+ TOP = 1,
1437
+ BOTTOM = 2,
1438
+ LEFT = 3,
1439
+ RIGHT = 4
1461
1440
  }
1441
+ /**
1442
+ * @hidden
1443
+ * @internal
1444
+ */
1462
1445
  class InternalMarker extends HTMLCollider implements IHTMLCollider {
1463
- _el: Element | null;
1464
- style: TTooltipStyle;
1465
- polygon: any;
1466
- constructor(options: TSmartMarkerOptions);
1467
- get strategies(): TColliderStrategy[];
1468
- colliderDidMount(): void;
1469
- setAction(action: any): void;
1470
- colliderDidNotFindAHome(): void;
1471
- colliderDidGoOffscreen(): void;
1472
- colliderDidUpdateVisiblity(): void;
1446
+ _el: Element | null;
1447
+ style: TTooltipStyle;
1448
+ polygon: any;
1449
+ constructor(options: TSmartMarkerOptions);
1450
+ get strategies(): TColliderStrategy[];
1451
+ colliderDidMount(): void;
1452
+ setAction(action: any): void;
1453
+ colliderDidNotFindAHome(): void;
1454
+ colliderDidGoOffscreen(): void;
1455
+ colliderDidUpdateVisiblity(): void;
1473
1456
  }
1474
1457
  export default InternalMarker;
1475
1458
  }
1476
1459
 
1477
- declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.Markers' {
1460
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/MarkersController' {
1478
1461
  import { MappedinCoordinate, MappedinNode } from '@mappedin/mappedin-js/get-venue';
1479
1462
  import { TCreateMarkerOptions, TAnimationOptions } from '@mappedin/mappedin-js/renderer';
1480
1463
  import InternalMarker from '@mappedin/mappedin-js/renderer/internal/Mappedin.Marker';
@@ -1545,10 +1528,14 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.Markers' {
1545
1528
  export default MarkersController;
1546
1529
  }
1547
1530
 
1548
- declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths' {
1531
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/PathsController' {
1549
1532
  import { TPathOptions, MappedinNode } from '@mappedin/mappedin-js/renderer';
1550
1533
  import { ANIMATION_TWEENS } from '@mappedin/mappedin-js/renderer/MapView.enums';
1551
1534
  import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
1535
+ /**
1536
+ * @hidden
1537
+ * @internal
1538
+ */
1552
1539
  export type TPathOptionsInternal = TPathOptions & {
1553
1540
  curve?: typeof ANIMATION_TWEENS;
1554
1541
  drawConnectionSegments?: boolean;
@@ -1556,6 +1543,10 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths' {
1556
1543
  curve?: typeof ANIMATION_TWEENS;
1557
1544
  };
1558
1545
  };
1546
+ /**
1547
+ * @hidden
1548
+ * @internal
1549
+ */
1559
1550
  export type TInternalPathSegment = {
1560
1551
  id: string;
1561
1552
  nodes: MappedinNode[];
@@ -1585,6 +1576,9 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths' {
1585
1576
  get nodes(): MappedinNode[];
1586
1577
  }
1587
1578
  /**
1579
+ * @hidden
1580
+ * @internal
1581
+ *
1588
1582
  * Represents all the segments created for a single call to drawPath()
1589
1583
  */
1590
1584
  export class InternalPath {
@@ -1594,6 +1588,10 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths' {
1594
1588
  options: TPathOptionsInternal;
1595
1589
  constructor(nodes: MappedinNode[], pathSegments: TInternalPathSegment[], options: TPathOptionsInternal);
1596
1590
  }
1591
+ /**
1592
+ * @hidden
1593
+ * @internal
1594
+ */
1597
1595
  class PathsController {
1598
1596
  #private;
1599
1597
  constructor(core: ICore);
@@ -1661,6 +1659,7 @@ declare module '@mappedin/mappedin-js/navigator' {
1661
1659
  export { Navigator, NavigationGraph };
1662
1660
  export type { IDirectionsResult } from '@mappedin/mappedin-js/navigator/Navigator';
1663
1661
  export { E_MESSAGES } from '@mappedin/mappedin-js/navigator/Navigator';
1662
+ export { E_SDK_LOG_LEVEL, setLoggerLevel } from '@mappedin/mappedin-js/--/common/Mappedin.Logger';
1664
1663
  }
1665
1664
 
1666
1665
  declare module '@mappedin/mappedin-js/renderer/public/api/FlatLabels' {
@@ -1960,14 +1959,13 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.AssetManager' {
1960
1959
  }
1961
1960
  }
1962
1961
 
1963
- declare module '@mappedin/mappedin-js/renderer/layers/Outdoor-Context/Mappedin.TileManager' {
1962
+ declare module '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.TileManager' {
1964
1963
  import { Box3 } from 'three';
1965
1964
  import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
1966
1965
  import { MappedinCoordinate, MappedinMap } from '@mappedin/mappedin-js/renderer/index.rn';
1967
1966
  import Object3D from '@mappedin/mappedin-js/renderer/internal/object3D.destroy';
1968
- import { MapView } from '@mappedin/mappedin-js/renderer/public/MapView';
1969
- import { Tile } from '@mappedin/mappedin-js/renderer/layers/Outdoor-Context/Mappedin.Tile';
1970
- import { IOutdoorContextProvider } from '@mappedin/mappedin-js/renderer/layers/Outdoor-Context/Outdoor-Context.provider';
1967
+ import { Tile } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.Tile';
1968
+ import { IOutdoorContextProvider } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Outdoor-Context.provider';
1971
1969
  export enum TILE_RENDER_MODES {
1972
1970
  NORMAL = 0,
1973
1971
  AGGRESSIVE = 1
@@ -1991,7 +1989,7 @@ declare module '@mappedin/mappedin-js/renderer/layers/Outdoor-Context/Mappedin.T
1991
1989
  currentAbortController: AbortController;
1992
1990
  attributionEl: HTMLDivElement;
1993
1991
  outdoorContextProvider: IOutdoorContextProvider;
1994
- constructor(mapView: MapView, core: ICore);
1992
+ constructor(core: ICore);
1995
1993
  createAttributionEl(): void;
1996
1994
  renderVisibleTiles: () => void;
1997
1995
  _renderVisibleTiles(): void;
@@ -2076,7 +2074,7 @@ declare module '@mappedin/mappedin-js/get-venue/MappedinDirections' {
2076
2074
  export {};
2077
2075
  }
2078
2076
 
2079
- declare module '@mappedin/mappedin-js/renderer/Camera' {
2077
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/CameraController' {
2080
2078
  import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
2081
2079
  import { MappedinNode, MappedinPolygon, MappedinCoordinate } from '@mappedin/mappedin-js/get-venue';
2082
2080
  import { PubSub } from '@mappedin/mappedin-js/renderer/internal/pub-sub.typed';
@@ -2120,80 +2118,27 @@ declare module '@mappedin/mappedin-js/renderer/Camera' {
2120
2118
  /**
2121
2119
  * The Camera object specifies a view of the map and allows manipulation of that view.
2122
2120
  */
2123
- class Camera extends PubSub<CAMERA_EVENT_PAYLOAD, E_CAMERA_EVENT> {
2121
+ class CameraController extends PubSub<CAMERA_EVENT_PAYLOAD, E_CAMERA_EVENT> {
2124
2122
  #private;
2123
+ core: ICore;
2124
+ currentAnimation?: Promise<undefined>;
2125
2125
  /**
2126
2126
  *
2127
2127
  * @private
2128
2128
  */
2129
2129
  constructor(core: ICore);
2130
- /**
2131
- * The current camera animation, if any. Resolves when the animation finishes.
2132
- */
2133
- get currentAnimation(): Promise<undefined> | undefined;
2134
- /**
2135
- * Current Camera zoom (in meters)
2136
- */
2137
2130
  get zoom(): number;
2138
- /**
2139
- * Current Camera rotation (in radians) from north
2140
- */
2141
2131
  get rotation(): number;
2142
- /**
2143
- * Current camera tilt angle (in radians), relative to a top-down view.
2144
- *
2145
- * ex: 0 means the camera is facing top-down, π/2 means the camera is
2146
- * facing directly from the side.
2147
- */
2148
2132
  get tilt(): number;
2149
- /**
2150
- * Get the minimum distance (in meters) the camera is allowed to get to the ground.
2151
- */
2152
2133
  get minZoom(): number;
2153
- /**
2154
- * Set the minimum distance (in meters) the camera is allowed to get to the ground.
2155
- */
2156
2134
  set minZoom(meters: number);
2157
- /**
2158
- * Get the maximum distance (in meters) the camera is allowed to get from the ground.
2159
- */
2160
2135
  get maxZoom(): number;
2161
- /**
2162
- * Set the maximum distance (in meters) the camera is allowed to get from the ground.
2163
- */
2164
2136
  set maxZoom(meters: number);
2165
- /**
2166
- * Get the current maximum tilt angle (in radians) the camera is allowed to use.
2167
- */
2168
2137
  get maxTilt(): number;
2169
- /**
2170
- * Sets the maximum tilt angle (in radians) the camera is allowed to use.
2171
- *
2172
- * Tilt angle must be between 0 and π/2 radians. It will be clamped within
2173
- * this range if it exceeds it on either end.
2174
- *
2175
- * As tilt angle approaches π/2 radians, this will impact overall touch controls
2176
- * and should be used sparingly.
2177
- */
2178
2138
  set maxTilt(radians: number);
2179
- /**
2180
- * Get the current camera position, which is at the center of the map.
2181
- * @returns the position as a coordinate
2182
- */
2183
2139
  get position(): MappedinCoordinate;
2184
- /**
2185
- * User camera interactions
2186
- */
2187
2140
  interactions: {
2188
- /**
2189
- * Enable all user interactions. This does not affect programmatic
2190
- * Camera controls, such as `set` and `focusOn`
2191
- */
2192
2141
  enable: () => void;
2193
- /**
2194
- * Disable all user interactions. This does not affect programmatic
2195
- * Camera controls, such as `set` and `focusOn`
2196
- */
2197
2142
  disable: () => void;
2198
2143
  };
2199
2144
  setSafeAreaInsets(insets: {
@@ -2202,7 +2147,7 @@ declare module '@mappedin/mappedin-js/renderer/Camera' {
2202
2147
  bottom: number;
2203
2148
  right: number;
2204
2149
  }): void;
2205
- getSafeAreaInsets(): import("./MapView.types").TPadding;
2150
+ getSafeAreaInsets(): import("../../MapView.types").TPadding;
2206
2151
  /**
2207
2152
  * Focus the Camera view on a collection of targets and animate to that state.
2208
2153
  * @returns a Promise that resolves when the animation finishes, or rejects when it is cancelled.
@@ -2228,7 +2173,7 @@ declare module '@mappedin/mappedin-js/renderer/Camera' {
2228
2173
  */
2229
2174
  cancelAnimation(): void;
2230
2175
  }
2231
- export default Camera;
2176
+ export default CameraController;
2232
2177
  }
2233
2178
 
2234
2179
  declare module '@mappedin/mappedin-js/renderer/bundle-asset-manager' {
@@ -2343,50 +2288,18 @@ declare module '@mappedin/mappedin-js/renderer/internal/pub-sub.typed' {
2343
2288
  }
2344
2289
  }
2345
2290
 
2346
- declare module '@mappedin/mappedin-js/renderer/layers/BlueDot' {
2347
- import { MapView } from '@mappedin/mappedin-js/renderer/public/MapView';
2348
- import { E_BLUEDOT_EVENT_PAYLOAD, E_BLUEDOT_EVENT } from '@mappedin/mappedin-js/renderer';
2349
- import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
2350
- import { TEnableBlueDotOptions } from '@mappedin/mappedin-js/renderer/MapView.types';
2351
- import { PubSub } from '@mappedin/mappedin-js/renderer/internal/pub-sub.typed';
2352
- import EventSystemLayer from '@mappedin/mappedin-js/renderer/layers/EventSystem';
2353
- /**
2354
- * Blue Dot Layer used for controlling the Blue Dot and listening to Blue Dot state change and position update events. Use the {@link on}-method to set listeners for {@link TBlueDotStateChange} and {@link TBlueDotPositionUpdate} events.
2355
- */
2356
- class BlueDotLayer extends PubSub<E_BLUEDOT_EVENT_PAYLOAD, E_BLUEDOT_EVENT> {
2357
- #private;
2358
- /**
2359
- * @private
2360
- */
2361
- constructor(mapView: MapView, core: ICore, eventsLayer: EventSystemLayer);
2362
- on<EVENT_NAME extends E_BLUEDOT_EVENT>(eventName: EVENT_NAME, fn: (payload: E_BLUEDOT_EVENT_PAYLOAD[EVENT_NAME] extends {
2363
- data: null;
2364
- } ? E_BLUEDOT_EVENT_PAYLOAD[EVENT_NAME]['data'] : E_BLUEDOT_EVENT_PAYLOAD[EVENT_NAME]) => void): void;
2365
- off<EVENT_NAME extends E_BLUEDOT_EVENT>(eventName: EVENT_NAME, fn: (payload: E_BLUEDOT_EVENT_PAYLOAD[EVENT_NAME]) => void): void;
2366
- /**
2367
- * Enables Blue Dot. BlueDot then emits {@link TBlueDotStateChange} and {@link TBlueDotPositionUpdate} events via {@link E_BLUEDOT_EVENT}
2368
- */
2369
- enable(options?: TEnableBlueDotOptions): void;
2370
- /**
2371
- * Disables Blue Dot and stops emitting events.
2372
- */
2373
- disable(): void;
2374
- }
2375
- export default BlueDotLayer;
2376
- }
2377
-
2378
- declare module '@mappedin/mappedin-js/renderer/layers/Journey' {
2379
- import { MapView, TJourneyOptions } from '@mappedin/mappedin-js/renderer';
2291
+ declare module '@mappedin/mappedin-js/renderer/public/api/Journey' {
2292
+ import { TJourneyOptions } from '@mappedin/mappedin-js/renderer';
2380
2293
  import { MappedinDirections } from '@mappedin/mappedin-js/get-venue';
2381
- import { Journey } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Journey';
2294
+ import { JourneyController } from '@mappedin/mappedin-js/renderer/private/controllers/JourneyController';
2295
+ import { Path } from '@mappedin/mappedin-js/renderer/private/controllers/PathsController';
2382
2296
  import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
2383
- import { Path } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths';
2384
- class JourneyLayer {
2297
+ class Journey {
2385
2298
  #private;
2386
2299
  /**
2387
2300
  * @private
2388
2301
  */
2389
- constructor(mapView: MapView, core: ICore);
2302
+ constructor(core: ICore);
2390
2303
  /**
2391
2304
  * Draw a Journey based on directions. Example usage:
2392
2305
  *
@@ -2400,7 +2313,7 @@ declare module '@mappedin/mappedin-js/renderer/layers/Journey' {
2400
2313
  *
2401
2314
  * Use options to set connection (such as elevators and escalators) HTML tooltip template, departure and destination marker templates, path style and polygon higlight color. If no options are set, sane defaults are used to draw markers, tooltips and polygon highlights.
2402
2315
  */
2403
- draw(directions: MappedinDirections | MappedinDirections[], options?: TJourneyOptions): Journey;
2316
+ draw(directions: MappedinDirections | MappedinDirections[], options?: TJourneyOptions): JourneyController;
2404
2317
  /**
2405
2318
  * Set the step of a multipart Journey
2406
2319
  */
@@ -2414,17 +2327,18 @@ declare module '@mappedin/mappedin-js/renderer/layers/Journey' {
2414
2327
  */
2415
2328
  clear(): void;
2416
2329
  }
2417
- export default JourneyLayer;
2330
+ export default Journey;
2418
2331
  }
2419
2332
 
2420
2333
  declare module '@mappedin/mappedin-js/renderer' {
2421
2334
  import { MapView } from '@mappedin/mappedin-js/renderer/public/MapView';
2422
- import { getVenue, getVenueBundle, Mappedin, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/mappedin-js/get-venue';
2335
+ import { getVenue, getVenueMVF, getVenueBundle, Mappedin, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/mappedin-js/get-venue';
2423
2336
  import { PositionUpdater } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
2424
2337
  import type { TMapViewOptions } from '@mappedin/mappedin-js/renderer/MapView.types';
2425
2338
  import { MARKER_ANCHOR } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Marker';
2426
- export type { Marker } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Markers';
2427
- export type { Path } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths';
2339
+ export { E_SDK_LOG_LEVEL, setLoggerLevel } from '@mappedin/mappedin-js/--/common/Mappedin.Logger';
2340
+ export type { Marker } from '@mappedin/mappedin-js/renderer/private/controllers/MarkersController';
2341
+ export type { Path } from '@mappedin/mappedin-js/renderer/private/controllers/PathsController';
2428
2342
  export { BEARING_TYPE, ACTION_TYPE } from '@mappedin/mappedin-js/navigator';
2429
2343
  export type { IDirectionsResult, E_MESSAGES as E_GET_DIRECTIONS_MESSAGES } from '@mappedin/mappedin-js/navigator';
2430
2344
  export type { IFlatLabels, FlatLabels } from '@mappedin/mappedin-js/renderer/public/api/FlatLabels';
@@ -2453,9 +2367,9 @@ declare module '@mappedin/mappedin-js/renderer' {
2453
2367
  */
2454
2368
  function showVenue<T extends Mappedin>(el: HTMLElement, venue: T, options?: TMapViewOptions): Promise<MapView>;
2455
2369
  export { COLLISION_RANKING_TIERS, STATE, E_SDK_EVENT, E_BLUEDOT_STATE_REASON, E_BLUEDOT_MARKER_STATE, E_BLUEDOT_EVENT, E_BLUEDOT_STATE, E_CAMERA_EVENT, E_CAMERA_DIRECTION, SAFE_AREA_INSET_TYPE, ANIMATION_TWEENS, CAMERA_EASING_MODE, } from '@mappedin/mappedin-js/renderer/MapView.enums';
2456
- export { getVenue, getVenueBundle, showVenue, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, PositionUpdater, MappedinDestinationSet, MARKER_ANCHOR, };
2370
+ export { getVenue, getVenueMVF, getVenueBundle, showVenue, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, PositionUpdater, MappedinDestinationSet, MARKER_ANCHOR, };
2457
2371
  import DefaultAssetManager from '@mappedin/mappedin-js/renderer/internal/Mappedin.AssetManager';
2458
- import { TTileManagerOptions } from '@mappedin/mappedin-js/renderer/layers/Outdoor-Context/Mappedin.TileManager';
2372
+ import { TTileManagerOptions } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.TileManager';
2459
2373
  /**
2460
2374
  * @internal
2461
2375
  */
@@ -2473,7 +2387,7 @@ declare module '@mappedin/mappedin-js/renderer' {
2473
2387
  export type { TMappedinInitializeOptions };
2474
2388
  export * from '@mappedin/mappedin-js/renderer/MapView.types';
2475
2389
  export type { MapView } from '@mappedin/mappedin-js/renderer/public/MapView';
2476
- export type { TSafeAreaInsets, TCameraTargets, TFocusOnCameraOptions, TCameraTransform, TCameraAnimationOptions, default as Camera, } from '@mappedin/mappedin-js/renderer/Camera';
2390
+ export type { TSafeAreaInsets, TCameraTargets, TFocusOnCameraOptions, TCameraTransform, TCameraAnimationOptions, default as CameraController, } from '@mappedin/mappedin-js/renderer/private/controllers/CameraController';
2477
2391
  export type { TGetVenueOptions, TShowVenueOptions, TMappedinOfflineSearchOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineAllSearchMatch, TMappedinOfflineSearchAllOptions, } from '@mappedin/mappedin-js/get-venue';
2478
2392
  export { Mappedin, MappedinDirections, MappedinLocation, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinNavigatable, MappedinCoordinate, OfflineSearch, MAP_RENDER_MODE, setFetchFn, MappedinCollectionType, } from '@mappedin/mappedin-js/get-venue';
2479
2393
  /**
@@ -2497,20 +2411,20 @@ declare module '@mappedin/mappedin-js/renderer' {
2497
2411
  /**
2498
2412
  * @internal
2499
2413
  */
2500
- OpenStreetMapOutdoorContext, } from './layers/Outdoor-Context/Outdoor-Context.provider';
2414
+ OpenStreetMapOutdoorContext, } from './internal/outdoor-context/Outdoor-Context.provider';
2501
2415
  export type {
2502
2416
  /**
2503
2417
  * @internal
2504
2418
  */
2505
- IOutdoorContextProvider, } from './layers/Outdoor-Context/Outdoor-Context.provider';
2419
+ IOutdoorContextProvider, } from './internal/outdoor-context/Outdoor-Context.provider';
2506
2420
  }
2507
2421
 
2508
- declare module '@mappedin/mappedin-js/renderer/layers/Markers' {
2422
+ declare module '@mappedin/mappedin-js/renderer/public/api/Markers' {
2509
2423
  import { TAnimationOptions } from '@mappedin/mappedin-js/renderer';
2510
2424
  import { MappedinCoordinate, MappedinNode } from '@mappedin/mappedin-js/get-venue';
2511
2425
  import { TCreateMarkerOptions } from '@mappedin/mappedin-js/renderer/index.rn';
2512
- import MarkersController, { Marker } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Markers';
2513
- export class MarkersLayer {
2426
+ import MarkersController, { Marker } from '@mappedin/mappedin-js/renderer/private/controllers/MarkersController';
2427
+ export class Markers {
2514
2428
  #private;
2515
2429
  constructor(markersController: MarkersController);
2516
2430
  get markers(): Marker[];
@@ -2547,14 +2461,14 @@ declare module '@mappedin/mappedin-js/renderer/layers/Markers' {
2547
2461
  }
2548
2462
  }
2549
2463
 
2550
- declare module '@mappedin/mappedin-js/renderer/layers/Paths' {
2464
+ declare module '@mappedin/mappedin-js/renderer/public/api/Paths' {
2551
2465
  import { MappedinNode } from '@mappedin/mappedin-js/get-venue';
2552
2466
  import { TPathOptions } from '@mappedin/mappedin-js/renderer/index.rn';
2553
- import PathsController, { Path } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths';
2467
+ import PathsController, { Path } from '@mappedin/mappedin-js/renderer/private/controllers/PathsController';
2554
2468
  /**
2555
2469
  * Add and remove paths from maps.
2556
2470
  */
2557
- export class PathsLayer {
2471
+ export class Paths {
2558
2472
  #private;
2559
2473
  constructor(pathsController: PathsController);
2560
2474
  /**
@@ -2571,7 +2485,7 @@ declare module '@mappedin/mappedin-js/renderer/layers/Paths' {
2571
2485
  /**
2572
2486
  * Remove a path from all maps it exists on.
2573
2487
  *
2574
- * @param path A {@link Path} instance returned from {@link PathsLayer.add}.
2488
+ * @param path A {@link Path} instance returned from {@link Paths.add}.
2575
2489
  */
2576
2490
  remove(path: Path): void;
2577
2491
  /**
@@ -2581,6 +2495,135 @@ declare module '@mappedin/mappedin-js/renderer/layers/Paths' {
2581
2495
  }
2582
2496
  }
2583
2497
 
2498
+ declare module '@mappedin/mappedin-js/renderer/public/api/BlueDot' {
2499
+ import { BlueDotController, TEnableBlueDotOptions } from '@mappedin/mappedin-js/renderer/MapView.types';
2500
+ export class BlueDot {
2501
+ #private;
2502
+ constructor(controller: BlueDotController);
2503
+ on: BlueDotController['on'];
2504
+ off: BlueDotController['off'];
2505
+ /**
2506
+ * Enables Blue Dot. BlueDot then emits {@link TBlueDotStateChange} and {@link TBlueDotPositionUpdate} events via {@link E_BLUEDOT_EVENT}
2507
+ */
2508
+ enable(options?: TEnableBlueDotOptions): void;
2509
+ /**
2510
+ * Disables Blue Dot and stops emitting events.
2511
+ */
2512
+ disable(): void;
2513
+ }
2514
+ }
2515
+
2516
+ declare module '@mappedin/mappedin-js/renderer/public/api/Camera' {
2517
+ import { E_CAMERA_DIRECTION } from '@mappedin/mappedin-js/renderer/MapView.enums';
2518
+ import CameraController, { TCameraAnimationOptions, TCameraTargets, TCameraTransform, TFocusOnCameraOptions } from '@mappedin/mappedin-js/renderer/private/controllers/CameraController';
2519
+ export class Camera {
2520
+ #private;
2521
+ constructor(controller: CameraController);
2522
+ on: CameraController['on'];
2523
+ off: CameraController['off'];
2524
+ /**
2525
+ * The current camera animation, if any. Resolves when the animation finishes.
2526
+ */
2527
+ get currentAnimation(): Promise<undefined> | undefined;
2528
+ /**
2529
+ * Current Camera zoom (in meters)
2530
+ */
2531
+ get zoom(): number;
2532
+ /**
2533
+ * Current Camera rotation (in radians) from north
2534
+ */
2535
+ get rotation(): number;
2536
+ /**
2537
+ * Current camera tilt angle (in radians), relative to a top-down view.
2538
+ *
2539
+ * ex: 0 means the camera is facing top-down, π/2 means the camera is
2540
+ * facing directly from the side.
2541
+ */
2542
+ get tilt(): number;
2543
+ /**
2544
+ * Get the minimum distance (in meters) the camera is allowed to get to the ground.
2545
+ */
2546
+ get minZoom(): number;
2547
+ /**
2548
+ * Set the minimum distance (in meters) the camera is allowed to get to the ground.
2549
+ */
2550
+ set minZoom(meters: number);
2551
+ /**
2552
+ * Get the maximum distance (in meters) the camera is allowed to get from the ground.
2553
+ */
2554
+ get maxZoom(): number;
2555
+ /**
2556
+ * Set the maximum distance (in meters) the camera is allowed to get from the ground.
2557
+ */
2558
+ set maxZoom(meters: number);
2559
+ /**
2560
+ * Get the current maximum tilt angle (in radians) the camera is allowed to use.
2561
+ */
2562
+ get maxTilt(): number;
2563
+ /**
2564
+ * Sets the maximum tilt angle (in radians) the camera is allowed to use.
2565
+ *
2566
+ * Tilt angle must be between 0 and π/2 radians. It will be clamped within
2567
+ * this range if it exceeds it on either end.
2568
+ *
2569
+ * As tilt angle approaches π/2 radians, this will impact overall touch controls
2570
+ * and should be used sparingly.
2571
+ */
2572
+ set maxTilt(radians: number);
2573
+ /**
2574
+ * Get the current camera position, which is at the center of the map.
2575
+ * @returns the position as a coordinate
2576
+ */
2577
+ get position(): import("../..").MappedinCoordinate;
2578
+ /**
2579
+ * User camera interactions
2580
+ */
2581
+ interactions: {
2582
+ /**
2583
+ * Enable all user interactions. This does not affect programmatic
2584
+ * Camera controls, such as `set` and `focusOn`
2585
+ */
2586
+ enable: () => void;
2587
+ /**
2588
+ * Disable all user interactions. This does not affect programmatic
2589
+ * Camera controls, such as `set` and `focusOn`
2590
+ */
2591
+ disable: () => void;
2592
+ };
2593
+ setSafeAreaInsets(insets: {
2594
+ top: number;
2595
+ left: number;
2596
+ bottom: number;
2597
+ right: number;
2598
+ }): void;
2599
+ getSafeAreaInsets(): import("../..").TPadding;
2600
+ /**
2601
+ * Focus the Camera view on a collection of targets and animate to that state.
2602
+ * @returns a Promise that resolves when the animation finishes, or rejects when it is cancelled.
2603
+ */
2604
+ focusOn(targets: TCameraTargets, options?: TFocusOnCameraOptions & TCameraAnimationOptions): Promise<any>;
2605
+ /**
2606
+ * Set the Camera's view to a new state.
2607
+ */
2608
+ set(transform: TCameraTransform): void;
2609
+ /**
2610
+ * Animate the Camera's view to smoothly transition to a new state over time.
2611
+ *
2612
+ * @returns a Promise that resolves when the animation finishes, or rejects when it is cancelled.
2613
+ */
2614
+ animate(transform: TCameraTransform, options?: TCameraAnimationOptions): Promise<undefined>;
2615
+ /**
2616
+ * Moves the Camera view in a relative direction by a given distance in meters.
2617
+ * @returns a Promise that resolves when the translation animation finishes, or rejects when it is cancelled.
2618
+ */
2619
+ translate(direction: E_CAMERA_DIRECTION, distance: number, options?: TCameraAnimationOptions): Promise<unknown>;
2620
+ /**
2621
+ * Cancel the currently active Camera animation.
2622
+ */
2623
+ cancelAnimation(): void;
2624
+ }
2625
+ }
2626
+
2584
2627
  declare module '@mappedin/mappedin-js/get-venue/Mappedin.types' {
2585
2628
  export type TGetVenueOptions = {
2586
2629
  accessToken?: string;
@@ -4319,7 +4362,7 @@ declare module '@mappedin/mappedin-js/renderer/internal/pub-sub' {
4319
4362
  }
4320
4363
 
4321
4364
  declare module '@mappedin/mappedin-js/renderer/private/Core.interface' {
4322
- import { TPadding } from '@mappedin/mappedin-js/renderer';
4365
+ import { BlueDotController, CameraController, STATE, TPadding } from '@mappedin/mappedin-js/renderer';
4323
4366
  import { MappedinMap, Mappedin, MappedinCoordinate, MappedinPolygon, MappedinNode } from '@mappedin/mappedin-js/get-venue';
4324
4367
  import { Vector2, Vector3, Mesh } from 'three';
4325
4368
  import { changeListenerFn, TGetPolygonsAtCoordinateOptions, TMapViewOptions } from '@mappedin/mappedin-js/renderer/MapView.types';
@@ -4331,9 +4374,17 @@ declare module '@mappedin/mappedin-js/renderer/private/Core.interface' {
4331
4374
  import { PubSub } from '@mappedin/mappedin-js/renderer/internal/pub-sub.typed';
4332
4375
  import { FlatLabel } from '@mappedin/mappedin-js/renderer/internal/Mappedin.LabelAtlas';
4333
4376
  import MapObject from '@mappedin/mappedin-js/renderer/internal/Mappedin.MapObject';
4334
- import PathsController from '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths';
4377
+ import PathsController from '@mappedin/mappedin-js/renderer/private/controllers/PathsController';
4335
4378
  import FloatingLabelsController from '@mappedin/mappedin-js/renderer/private/controllers/FloatingLabelsController';
4336
4379
  import FlatLabelsController from '@mappedin/mappedin-js/renderer/private/controllers/FlatLabelsController';
4380
+ import PolygonColorsController from '@mappedin/mappedin-js/renderer/private/controllers/PolygonColorsController';
4381
+ import MarkersController from '@mappedin/mappedin-js/renderer/private/controllers/MarkersController';
4382
+ import PolygonInteractionController from '@mappedin/mappedin-js/renderer/private/controllers/PolygonInteractionController';
4383
+ import TooltipsController from '@mappedin/mappedin-js/renderer/private/controllers/TooltipsController';
4384
+ import PolygonStatesController from '@mappedin/mappedin-js/renderer/private/controllers/PolygonStatesController';
4385
+ import PolygonImagesController from '@mappedin/mappedin-js/renderer/private/controllers/PolygonImagesController';
4386
+ import ThreeDMarkersController from '@mappedin/mappedin-js/renderer/private/controllers/ThreeDMarkersController';
4387
+ import EventSystem from '@mappedin/mappedin-js/renderer/private/controllers/EventSystem';
4337
4388
  export type TFocusOptionsLegacy = {
4338
4389
  /**
4339
4390
  * An array of Nodes to focus in on
@@ -4389,9 +4440,25 @@ declare module '@mappedin/mappedin-js/renderer/private/Core.interface' {
4389
4440
  /**
4390
4441
  * Controllers
4391
4442
  */
4443
+ eventSystem: EventSystem;
4392
4444
  floatingLabels: FloatingLabelsController;
4393
4445
  flatLabels: FlatLabelsController;
4394
4446
  paths: PathsController;
4447
+ polygonColors: PolygonColorsController;
4448
+ polygonInteraction: PolygonInteractionController;
4449
+ polygonStates: PolygonStatesController;
4450
+ polygonImages: PolygonImagesController;
4451
+ markers: MarkersController;
4452
+ tooltips: TooltipsController;
4453
+ threeDMarkers: ThreeDMarkersController;
4454
+ blueDot: BlueDotController;
4455
+ camera: CameraController;
4456
+ state: STATE;
4457
+ options: TMapViewOptions & {
4458
+ onDataLoaded?: (data: Mappedin) => void;
4459
+ onFirstMapLoaded?: (data: Mappedin) => void;
4460
+ };
4461
+ currentPath?: MappedinNode[];
4395
4462
  referenceMap: MappedinMap;
4396
4463
  taskScheduler: TaskScheduler;
4397
4464
  sceneManager: SceneManager | undefined;
@@ -4492,7 +4559,7 @@ declare module '@mappedin/mappedin-js/renderer/private/Core.interface' {
4492
4559
  * @param hoverableMeshChildren
4493
4560
  * @param options {@link TGetPolygonsAtCoordinateOptions}
4494
4561
  */
4495
- getPolygonsAtScreenCoordinate(coordinate: Vector2, hoverableMeshChildren: any[], options?: TGetPolygonsAtCoordinateOptions): MappedinPolygon[];
4562
+ getPolygonsAtScreenCoordinate(x: number, y: number, options?: TGetPolygonsAtCoordinateOptions): MappedinPolygon[];
4496
4563
  /**
4497
4564
  * Returns all polygons at the specified screen coordinate.
4498
4565
  *
@@ -4500,7 +4567,7 @@ declare module '@mappedin/mappedin-js/renderer/private/Core.interface' {
4500
4567
  * @param hoverableMeshChildren
4501
4568
  * @param options {@link TGetPolygonsAtCoordinateOptions}
4502
4569
  */
4503
- getPolygonsAtCoordinate(coordinate: MappedinCoordinate, hoverableMeshChildren: any[], options?: TGetPolygonsAtCoordinateOptions): MappedinPolygon[];
4570
+ getPolygonsAtCoordinate(coordinate: MappedinCoordinate, options?: TGetPolygonsAtCoordinateOptions): MappedinPolygon[];
4504
4571
  currentInteractionEvent: INTERNAL_EVENT | undefined;
4505
4572
  interactivePolygons: Record<string, boolean>;
4506
4573
  highlightedPolygons: Record<string, string>;
@@ -4549,6 +4616,8 @@ declare module '@mappedin/mappedin-js/renderer/private/Core.interface' {
4549
4616
  focusOn(focusOptions: TFocusOptionsLegacy): Tween;
4550
4617
  canvasWidth: number;
4551
4618
  canvasHeight: number;
4619
+ setState(state: STATE): Promise<void>;
4620
+ getNearestNodeByScreenCoordinate(x: number, y: number, mapOrMapId?: MappedinMap | MappedinMap['id']): MappedinNode;
4552
4621
  destroy(): void;
4553
4622
  }
4554
4623
  }
@@ -4561,7 +4630,6 @@ declare module '@mappedin/mappedin-js/renderer/internal/blue-dot-manager' {
4561
4630
  /**
4562
4631
  * @private
4563
4632
  * An interface for showing a position (typically the user's position) on a 3D map.
4564
- * Constructed automatically by {{#crossLink "MapView3D"}}{{/crossLink}}.
4565
4633
  *
4566
4634
  * @class BlueDotManager
4567
4635
  */
@@ -4570,8 +4638,7 @@ declare module '@mappedin/mappedin-js/renderer/internal/blue-dot-manager' {
4570
4638
  * @param [options.minRadius] The ring around the blue dot will only be drawn if `options.radius` is greater than or equal to this value, in metres. Must be >= 0.
4571
4639
  * @param [options.radiusUpdateInterval] The width of radius update steps, in metres. For example, if interval is 3 and assume `minRadius` is 8, then the radius will be updated on 8, 11, 14, 17, etc. Must be >= 0.
4572
4640
  */
4573
- constructor({ mapView, threeDMarkerLayer, core, minRadius, maxRadius, radiusUpdateInterval, radiusTweenOptions, }?: {
4574
- mapView: any;
4641
+ constructor({ threeDMarkerLayer, core, minRadius, maxRadius, radiusUpdateInterval, radiusTweenOptions, }?: {
4575
4642
  threeDMarkerLayer: any;
4576
4643
  core: any;
4577
4644
  minRadius?: number | undefined;
@@ -4582,7 +4649,6 @@ declare module '@mappedin/mappedin-js/renderer/internal/blue-dot-manager' {
4582
4649
  easing: any;
4583
4650
  } | undefined;
4584
4651
  });
4585
- mapView: any;
4586
4652
  threeDMarkerLayer: any;
4587
4653
  core: any;
4588
4654
  minRadius: number;
@@ -4841,7 +4907,7 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.FloatingLabel'
4841
4907
  enable(updateEngine?: boolean): void;
4842
4908
  get totalTextBoxHeight(): number;
4843
4909
  get totalTextBoxWidth(): number;
4844
- get totalMarkerSize(): number;
4910
+ get totalMarkerSize(): any;
4845
4911
  get strategies(): TColliderStrategy[];
4846
4912
  getCachedSymbol(orientation: any, textAlign: any, xCoordinate: any): any;
4847
4913
  invalidate(): void;
@@ -4861,6 +4927,32 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.FloatingLabel'
4861
4927
  export default FloatingLabel;
4862
4928
  }
4863
4929
 
4930
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/BlueDotController' {
4931
+ import { E_BLUEDOT_EVENT_PAYLOAD, E_BLUEDOT_EVENT } from '@mappedin/mappedin-js/renderer';
4932
+ import { IBlueDotCore } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
4933
+ import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
4934
+ import { TEnableBlueDotOptions } from '@mappedin/mappedin-js/renderer/MapView.types';
4935
+ import { PubSub } from '@mappedin/mappedin-js/renderer/internal/pub-sub.typed';
4936
+ /**
4937
+ * @hidden
4938
+ * @internal
4939
+ *
4940
+ * Blue Dot Layer used for controlling the Blue Dot and listening to Blue Dot state change and position update events. Use the {@link on}-method to set listeners for {@link TBlueDotStateChange} and {@link TBlueDotPositionUpdate} events.
4941
+ */
4942
+ class BlueDotController extends PubSub<E_BLUEDOT_EVENT_PAYLOAD, E_BLUEDOT_EVENT> {
4943
+ #private;
4944
+ core: ICore;
4945
+ blueDotCore: IBlueDotCore;
4946
+ /**
4947
+ * @private
4948
+ */
4949
+ constructor(core: ICore);
4950
+ enable(options?: TEnableBlueDotOptions): void;
4951
+ disable(): void;
4952
+ }
4953
+ export default BlueDotController;
4954
+ }
4955
+
4864
4956
  declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.HTMLCollider' {
4865
4957
  import BaseCollider, { ICollider } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollider';
4866
4958
  export type TRange = [number, number, number, number];
@@ -5225,18 +5317,18 @@ declare module '@mappedin/mappedin-js/renderer/index.rn' {
5225
5317
  export type { IDirectionsResult, E_MESSAGES as E_GET_DIRECTIONS_MESSAGES } from '@mappedin/mappedin-js/navigator';
5226
5318
  export type { TGetVenueBundleOptions, TGetVenueOptions, TMappedinDirective, TShowVenueOptions, TMappedinOfflineSearchOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineSearchAllOptions, TMappedinOfflineAllSearchMatch, } from '@mappedin/mappedin-js/get-venue';
5227
5319
  export { MappedinLocation, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinDirections, MappedinNavigatable, MappedinCoordinate, MappedinRankings, OfflineSearch, MappedinCollectionType, } from '@mappedin/mappedin-js/get-venue';
5228
- export type { TSafeAreaInsets, TCameraTargets, TFocusOnCameraOptions, TCameraTransform, TCameraAnimationOptions, } from '@mappedin/mappedin-js/renderer/Camera';
5320
+ export type { TSafeAreaInsets, TCameraTargets, TFocusOnCameraOptions, TCameraTransform, TCameraAnimationOptions, } from '@mappedin/mappedin-js/renderer/private/controllers/CameraController';
5229
5321
  }
5230
5322
 
5231
5323
  declare module '@mappedin/mappedin-js/renderer/internal/object3D.destroy' {
5232
5324
  export default Object3D;
5233
5325
  }
5234
5326
 
5235
- declare module '@mappedin/mappedin-js/renderer/layers/Outdoor-Context/Mappedin.Tile' {
5327
+ declare module '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.Tile' {
5236
5328
  import { Texture, Mesh, MeshBasicMaterial } from 'three';
5237
5329
  import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
5238
5330
  import { MappedinCoordinate, MappedinMap } from '@mappedin/mappedin-js/renderer/index.rn';
5239
- import { TileManager } from '@mappedin/mappedin-js/renderer/layers/Outdoor-Context/Mappedin.TileManager';
5331
+ import { TileManager } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.TileManager';
5240
5332
  export class Tile {
5241
5333
  #private;
5242
5334
  center: MappedinCoordinate;
@@ -5264,7 +5356,7 @@ declare module '@mappedin/mappedin-js/renderer/layers/Outdoor-Context/Mappedin.T
5264
5356
  }
5265
5357
  }
5266
5358
 
5267
- declare module '@mappedin/mappedin-js/renderer/layers/Outdoor-Context/Outdoor-Context.provider' {
5359
+ declare module '@mappedin/mappedin-js/renderer/internal/outdoor-context/Outdoor-Context.provider' {
5268
5360
  /**
5269
5361
  * @experimental
5270
5362
  * The universal outdoor context interface
@@ -5334,93 +5426,13 @@ declare module '@mappedin/mappedin-js/renderer/layers/Outdoor-Context/Outdoor-Co
5334
5426
  }
5335
5427
  }
5336
5428
 
5337
- declare module '@mappedin/mappedin-js/renderer/layers/EventSystem' {
5338
- import { Object3D, Color } from 'three';
5339
- import { MapView } from '@mappedin/mappedin-js/renderer';
5340
- import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
5341
- import BlueDotManager from '@mappedin/mappedin-js/renderer/internal/blue-dot-manager';
5342
- import { Path } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths';
5343
- class EventSystemLayer {
5344
- mapView: MapView;
5345
- core: ICore;
5346
- blueDotManager?: BlueDotManager;
5347
- rendererDomElement: any;
5348
- currentHover: string | null;
5349
- hoverLabel: any;
5350
- hoverColor: Color;
5351
- options: {
5352
- disableHover: boolean;
5353
- };
5354
- blueDot?: Object3D;
5355
- constructor(mapView: MapView, core: ICore);
5356
- setBlueDotManager: (blueDotManager: any) => void;
5357
- touchCount: number;
5358
- zoomOut(): void;
5359
- zoomIn(event: any): void;
5360
- onPointerMove: (event: any) => void;
5361
- onPointerUp: (event: any) => void;
5362
- /**
5363
- * We've confirmed that a map click has occured, so handle that here
5364
- */
5365
- handleMapClick(event: any): void;
5366
- onPointerDown: (event: any) => void;
5367
- incrementTouches: (event: any) => void;
5368
- decrementTouches: (event: any) => void;
5369
- clearMouse: () => void;
5370
- getMousePos: (event: any) => {
5371
- x: number;
5372
- y: number;
5373
- };
5374
- getScaledMousePos: (event: any) => {
5375
- x: number;
5376
- y: number;
5377
- };
5378
- cursorPos: {
5379
- x: number;
5380
- y: number;
5381
- };
5382
- mouse: {
5383
- x: number;
5384
- y: number;
5385
- };
5386
- mouseDownStart: {
5387
- time: number;
5388
- clientX: number;
5389
- clientY: number;
5390
- };
5391
- scaledCursorPos: {
5392
- x: number;
5393
- y: number;
5394
- };
5395
- hasTouched: boolean;
5396
- calculateMouseCoordinates: (event: any) => void;
5397
- getMouseRayIntersects: (objects: Object3D | Object3D[]) => any;
5398
- detectCollidersUnderMouse: () => any;
5399
- detectPolygonsUnderMouse: () => string[];
5400
- detectPathsUnderMouse: () => Path[];
5401
- detectMapsUnderMouse: () => any;
5402
- getMouseMapPosition: () => {
5403
- x: number;
5404
- y: number;
5405
- };
5406
- checkMouseIntersectsBlueDot: () => boolean;
5407
- doHoverEffect: () => void;
5408
- onPolygonHoverOut: (polygonId: any) => false | undefined;
5409
- onPolygonHoverOver: (polygon: any) => false | undefined;
5410
- setHoverColor: (color: string) => void;
5411
- destroy(): void;
5412
- }
5413
- export default EventSystemLayer;
5414
- }
5415
-
5416
- declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.Journey' {
5429
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/JourneyController' {
5417
5430
  import type Directive from '@mappedin/mappedin-js/navigator/Directive';
5418
5431
  import type INode from '@mappedin/mappedin-js/navigator/interfaces/INode';
5419
5432
  import { TJourneyOptions } from '@mappedin/mappedin-js/renderer/MapView.types';
5420
5433
  import { MappedinDirections } from '@mappedin/mappedin-js/get-venue';
5421
- import { MapView } from '@mappedin/mappedin-js/renderer';
5422
5434
  import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
5423
- import { Path } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Paths';
5435
+ import { Path } from '@mappedin/mappedin-js/renderer/private/controllers/PathsController';
5424
5436
  export type TMappedinDirections = {
5425
5437
  distance: number;
5426
5438
  path: INode[];
@@ -5434,244 +5446,40 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.Journey' {
5434
5446
  *
5435
5447
  * @internal
5436
5448
  */
5437
- export class Journey {
5449
+ export class JourneyController {
5438
5450
  #private;
5439
5451
  distance: number;
5440
5452
  accessible: boolean;
5453
+ core: ICore;
5441
5454
  get isMultiFloor(): boolean;
5442
5455
  get mapIdsInvolvedInJourney(): string[];
5443
- constructor(directions: MappedinDirections | MappedinDirections[], options: TJourneyOptions | undefined, mapView: MapView, core: ICore);
5456
+ constructor(directions: MappedinDirections | MappedinDirections[], options: TJourneyOptions | undefined, core: ICore);
5444
5457
  setStep: (step: any) => void;
5445
5458
  setStepByPath: (path: Path) => void;
5446
- static instance: Journey | null;
5447
- static create(directions: MappedinDirections | MappedinDirections[], options: any, mapView: MapView, core: ICore): Journey;
5459
+ static instance: JourneyController | null;
5460
+ static create(directions: MappedinDirections | MappedinDirections[], options: any, core: ICore): JourneyController;
5448
5461
  destroy(): void;
5449
5462
  }
5450
5463
  }
5451
5464
 
5452
5465
  declare module '@mappedin/mappedin-js/get-venue/Mappedin.MVF.types' {
5453
- import { FeatureCollection, Polygon, Point, MultiPolygon, Position } from 'geojson';
5454
- type ManifestFile = {
5455
- type: 'file';
5456
- name: string;
5457
- };
5458
- type ManifestFolder = {
5459
- type: 'folder';
5460
- name: string;
5461
- children: ManifestFile[];
5462
- };
5463
- type OpeningHours = {
5464
- opens: string;
5465
- closes: string;
5466
- dayOfWeek: string;
5467
- validFrom?: string;
5468
- validThrough?: string;
5469
- };
5470
- type Image = {
5471
- original?: string;
5472
- xlarge?: string;
5473
- xxlarge?: string;
5474
- medium?: string;
5475
- '140x140'?: string;
5476
- xsmall?: string;
5477
- xxsmall?: string;
5478
- '66x66'?: string;
5479
- small?: string;
5480
- large?: string;
5481
- };
5482
- type PolygonImage = string;
5483
- type Phone = {
5484
- number: string;
5485
- extension?: string;
5486
- };
5487
- type Link = {
5488
- label: string;
5489
- url: string;
5490
- };
5491
- type Social = {
5492
- facebook?: string;
5493
- twitter?: string;
5494
- instagram?: string;
5495
- website?: string;
5496
- };
5497
- type LocationState = {
5498
- type: string;
5499
- start?: string;
5500
- end?: string;
5501
- };
5502
- type SiblingGroup = {
5503
- label: string;
5504
- siblings: string[];
5505
- };
5506
- export type MILocationProperties = {
5507
- id: string;
5508
- address?: string | null;
5509
- categories: string[];
5510
- description?: string | null;
5511
- email?: string | null;
5512
- externalId?: string | null;
5513
- hours?: OpeningHours[] | null;
5514
- links?: Link[] | null;
5515
- logo?: Image | null;
5516
- name: string;
5517
- phone?: Phone | null;
5518
- picture?: Image | null;
5519
- services?: string | null;
5520
- siblingGroups?: SiblingGroup[] | null;
5521
- social?: Social | null;
5522
- spaces?: TLocationSpaceReference[] | null;
5523
- states?: LocationState[] | null;
5524
- type: string;
5525
- };
5526
- export type MICategoryProperties = {
5527
- id: string;
5528
- name: string;
5529
- picture?: Image;
5530
- };
5531
- export type MIBuildingProperties = {
5532
- id: string;
5533
- name: string;
5534
- venue: string;
5535
- };
5536
- export type MILevelProperties = {
5537
- id: string;
5538
- abbreviation?: string;
5539
- building?: string;
5540
- elevation?: number;
5541
- name: string;
5542
- };
5543
- export type MIPolygonlikeProperties = {
5544
- id: string;
5545
- altitude?: string;
5546
- color?: string;
5547
- externalId?: string | null;
5548
- height?: string;
5549
- layer?: string;
5550
- level: string;
5551
- parent?: string | null;
5552
- };
5553
- type TPseudoNodeSpaceReference = {
5554
- node: string;
5555
- map: string;
5556
- };
5557
- export type TRealSpaceReference = {
5558
- id: string;
5559
- map: string;
5560
- };
5561
- type TLocationSpaceReference = TPseudoNodeSpaceReference | TRealSpaceReference;
5562
- export type TEntrances = {
5563
- id: string;
5564
- level: string;
5565
- };
5566
- export type MISpaceProperties = MIPolygonlikeProperties & {
5567
- entrances: TEntrances[];
5568
- };
5569
- export type MIObstructionProperties = MIPolygonlikeProperties;
5570
- export type MIConnectionProperties = {
5571
- id: string;
5572
- accessible: boolean;
5573
- destinations: string[];
5574
- level: string;
5575
- multiplier: number;
5576
- name: string;
5577
- type: string;
5578
- weight: number;
5579
- };
5580
- export type MINodeProperties = {
5581
- id: string;
5582
- accessible: boolean;
5583
- externalId: string | null;
5584
- level: string;
5585
- multiplier: number;
5586
- neighbors: string[];
5587
- weight: number;
5588
- };
5589
- export type MIManifestProperties = {
5590
- name: string;
5591
- folder_struct: (ManifestFolder | ManifestFile)[];
5592
- version: string;
5593
- time: string;
5594
- };
5595
- export type MIStyle = {
5596
- id: string;
5597
- /** The altitude of the bottom of the geometry, in metres. */
5598
- altitude: number;
5599
- color: string;
5600
- height: number;
5601
- image?: PolygonImage;
5602
- opacity: number;
5603
- };
5604
- export type MIImageInstance = {
5605
- /** The local path or URL of the image. */
5606
- path: string;
5607
- /** The position of the centre of the image, in [long, lat] form. */
5608
- position: Position;
5609
- /** The altitude of the image, in metres. */
5610
- altitude: number;
5611
- /** Euler angles representing the rotation of the image, in degrees. Angles are in XYZ order. */
5612
- rotation: {
5613
- x: number;
5614
- y: number;
5615
- z: number;
5616
- };
5617
- /** The size of the image, in metres. */
5618
- size: {
5619
- x: number;
5620
- y: number;
5621
- };
5622
- /** The portion of the image to display. */
5623
- viewBox: {
5624
- top: number;
5625
- left: number;
5626
- width: number;
5627
- height: number;
5628
- };
5629
- /**
5630
- * A space or obstruction to associate this image with. If provided,
5631
- * changes to the polygon's visibility will affect this image.
5632
- * */
5633
- polygonId?: string;
5634
- };
5635
- export type MIGeoJSONManifestCollection = FeatureCollection<Point, MIManifestProperties>;
5636
- export type MIGeoJSONBuildingCollection = FeatureCollection<Polygon, MIBuildingProperties>;
5637
- export type MIGeoJSONConnectionCollection = FeatureCollection<Point, MIConnectionProperties>;
5638
- export type MIGeoJSONLevelCollection = FeatureCollection<Polygon | MultiPolygon, MILevelProperties>;
5639
- export type MIGeoJSONSpaceCollection = FeatureCollection<Polygon, MISpaceProperties>;
5640
- export type MIGeoJSONObstructionCollection = FeatureCollection<Polygon, MIObstructionProperties>;
5641
- export type MIGeoJSONNodeCollection = FeatureCollection<Point, MINodeProperties>;
5642
- export type MIGeoJSONLocationCollection = FeatureCollection<null, MILocationProperties>;
5643
- export type MIGeoJSONCategoryCollection = FeatureCollection<null, MICategoryProperties>;
5466
+ import { ManifestCollection, NodeCollection, ObstructionCollection, SpaceCollection, Connections, Maps, EntranceCollection, MapStacks, StyleCollection } from '@mappedin/mvf';
5644
5467
  export type WithIDs<T> = Map<string, T>;
5645
- export type MIStyleCollection = MIStyle[];
5646
- /**
5647
- * A mapping of polygon IDs to style IDs;
5648
- */
5649
- export type MIPolygonStyle = {
5650
- [key in string]: string;
5651
- };
5652
- export type MIImageInstanceCollection = MIImageInstance[];
5653
5468
  /**
5654
- * The entire data collection for an MVF, in a single JSON collection.
5655
- *
5656
- */
5657
- export type MVFDataJSON = {
5658
- connection: WithIDs<MIGeoJSONConnectionCollection>;
5659
- level: WithIDs<MIGeoJSONLevelCollection>;
5660
- node: WithIDs<MIGeoJSONNodeCollection>;
5661
- obstruction: WithIDs<MIGeoJSONObstructionCollection>;
5662
- space: WithIDs<MIGeoJSONSpaceCollection>;
5663
- building: MIGeoJSONBuildingCollection;
5664
- category: MIGeoJSONCategoryCollection;
5665
- style: MIStyleCollection;
5666
- polygonStyle: WithIDs<MIPolygonStyle>;
5667
- imageInstance: WithIDs<MIImageInstanceCollection>;
5668
- location: MIGeoJSONLocationCollection;
5669
- manifest: MIGeoJSONManifestCollection;
5670
- };
5671
- export type MVFData = MVFDataJSON & {
5672
- imageBinaries: WithIDs<Uint8Array>;
5469
+ * The entire data collection for an MVF, in a single JSON collection.
5470
+ *
5471
+ */
5472
+ export type MVFData = {
5473
+ obstruction: WithIDs<ObstructionCollection>;
5474
+ space: WithIDs<SpaceCollection>;
5475
+ node: WithIDs<NodeCollection>;
5476
+ entrance: WithIDs<EntranceCollection>;
5477
+ connection: Connections;
5478
+ map: Maps;
5479
+ mapstack: MapStacks;
5480
+ manifest: ManifestCollection;
5481
+ style: StyleCollection;
5673
5482
  };
5674
- export {};
5675
5483
  }
5676
5484
 
5677
5485
  declare module '@mappedin/mappedin-js/get-venue/MappedinLocationRankings' {
@@ -6266,7 +6074,7 @@ declare module '@mappedin/mappedin-js/get-venue/Mappedin.TaskScheduler' {
6266
6074
 
6267
6075
  declare module '@mappedin/mappedin-js/renderer/MapView.SceneManager' {
6268
6076
  import { MappedinMap } from '@mappedin/mappedin-js/get-venue';
6269
- import { TCameraTransform, TCameraAnimationOptions } from '@mappedin/mappedin-js/renderer/Camera';
6077
+ import { TCameraTransform, TCameraAnimationOptions } from '@mappedin/mappedin-js/renderer/private/controllers/CameraController';
6270
6078
  import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
6271
6079
  import MapViewScene from '@mappedin/mappedin-js/renderer/MapView.Scene';
6272
6080
  export type TSceneTransitionOptions = {
@@ -6578,6 +6386,175 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.MapObject' {
6578
6386
  import { FrameTaskGroup } from "@mappedin/mappedin-js/get-venue/Mappedin.TaskScheduler";
6579
6387
  }
6580
6388
 
6389
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/PolygonColorsController' {
6390
+ import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
6391
+ class PolygonColorsController {
6392
+ #private;
6393
+ constructor(core: ICore);
6394
+ setPolygonColor(polygon: any, color: any): void;
6395
+ clearPolygonColor(polygon: any): void;
6396
+ clearAllPolygonColors(): void;
6397
+ }
6398
+ export default PolygonColorsController;
6399
+ }
6400
+
6401
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/PolygonInteractionController' {
6402
+ import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
6403
+ class PolygonInteractionController {
6404
+ #private;
6405
+ constructor(core: ICore);
6406
+ addInteractivePolygon(polygon: any): void;
6407
+ addInteractivePolygonsForAllLocations(options: any): void;
6408
+ removeInteractivePolygon(polygon: any): void;
6409
+ removeAllInteractivePolygons(): void;
6410
+ }
6411
+ export default PolygonInteractionController;
6412
+ }
6413
+
6414
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/TooltipsController' {
6415
+ import { MappedinCoordinate, TCreateTooltipCommonOptions, TCreateTooltipOptions } from '@mappedin/mappedin-js/renderer';
6416
+ import { MappedinNode } from '@mappedin/mappedin-js/get-venue';
6417
+ import SmartTooltip from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartTooltip';
6418
+ import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
6419
+ class TooltipsController {
6420
+ #private;
6421
+ constructor(core: ICore);
6422
+ createTooltip(nodeOrCoordinate: MappedinNode | MappedinCoordinate,
6423
+ /**
6424
+ * Html that will be placed inside a wrapper with its own styling in the tooltip
6425
+ */
6426
+ contentHtml: string, options?: TCreateTooltipOptions): SmartTooltip;
6427
+ createCustomTooltip(nodeOrCoordinate: MappedinNode | MappedinCoordinate,
6428
+ /**
6429
+ * Html that will be displayed by the tooltip without any added styling
6430
+ */
6431
+ contentHtml: string, selector: string, options?: TCreateTooltipCommonOptions): SmartTooltip;
6432
+ /**
6433
+ * Removes a {@link Tooltip} you have added previously.
6434
+ *
6435
+ * @param tooltip {Tooltip} A Tooltip that has previously been returned from {@link IMapView3D.createTooltip}.
6436
+ */
6437
+ removeTooltip(tooltipOrTooltipId: SmartTooltip | SmartTooltip['id']): void;
6438
+ removeAllTooltips(): void;
6439
+ }
6440
+ export default TooltipsController;
6441
+ }
6442
+
6443
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/PolygonStatesController' {
6444
+ import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
6445
+ class PolygonStatesController {
6446
+ #private;
6447
+ constructor(core: ICore);
6448
+ updateClosedStateForPolygon(options: any): void;
6449
+ openAllPolygons(): void;
6450
+ destroy(): void;
6451
+ }
6452
+ export default PolygonStatesController;
6453
+ }
6454
+
6455
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/PolygonImagesController' {
6456
+ import { MappedinPolygon } from '@mappedin/mappedin-js/renderer';
6457
+ import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
6458
+ class PolygonImagesController {
6459
+ #private;
6460
+ constructor(core: ICore);
6461
+ enableImageFlippingForAllLocations(options: any): void;
6462
+ enableImageFlippingForPolygon(polygon: MappedinPolygon): void;
6463
+ disableImageFlippingForAllPolygons(): void;
6464
+ }
6465
+ export default PolygonImagesController;
6466
+ }
6467
+
6468
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/ThreeDMarkersController' {
6469
+ import { TCreateThreeDMarkerOptions } from '@mappedin/mappedin-js/renderer';
6470
+ import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
6471
+ import { ThreeJSMarkerHandle } from '@mappedin/mappedin-js/renderer/internal/Mappedin.MapObject';
6472
+ class ThreeDMarkersController {
6473
+ #private;
6474
+ constructor(core: ICore);
6475
+ createThreeJSMarker(options: TCreateThreeDMarkerOptions): ThreeJSMarkerHandle;
6476
+ removeThreeJSMarker(markerHandle: ThreeJSMarkerHandle): boolean;
6477
+ removeAllThreeJSMarkers(): void;
6478
+ }
6479
+ export default ThreeDMarkersController;
6480
+ }
6481
+
6482
+ declare module '@mappedin/mappedin-js/renderer/private/controllers/EventSystem' {
6483
+ import { Object3D, Color } from 'three';
6484
+ import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
6485
+ import BlueDotManager from '@mappedin/mappedin-js/renderer/internal/blue-dot-manager';
6486
+ import { Path } from '@mappedin/mappedin-js/renderer/private/controllers/PathsController';
6487
+ class EventSystem {
6488
+ core: ICore;
6489
+ blueDotManager?: BlueDotManager;
6490
+ rendererDomElement: any;
6491
+ currentHover: string | null;
6492
+ hoverLabel: any;
6493
+ hoverColor: Color;
6494
+ options: {
6495
+ disableHover: boolean;
6496
+ };
6497
+ constructor(core: ICore);
6498
+ setBlueDotManager: (blueDotManager: any) => void;
6499
+ touchCount: number;
6500
+ zoomOut(): void;
6501
+ zoomIn(event: any): void;
6502
+ onPointerMove: (event: any) => void;
6503
+ onPointerUp: (event: any) => void;
6504
+ /**
6505
+ * We've confirmed that a map click has occured, so handle that here
6506
+ */
6507
+ handleMapClick(event: any): void;
6508
+ onPointerDown: (event: any) => void;
6509
+ incrementTouches: (event: any) => void;
6510
+ decrementTouches: (event: any) => void;
6511
+ clearMouse: () => void;
6512
+ getMousePos: (event: any) => {
6513
+ x: number;
6514
+ y: number;
6515
+ };
6516
+ getScaledMousePos: (event: any) => {
6517
+ x: number;
6518
+ y: number;
6519
+ };
6520
+ cursorPos: {
6521
+ x: number;
6522
+ y: number;
6523
+ };
6524
+ mouse: {
6525
+ x: number;
6526
+ y: number;
6527
+ };
6528
+ mouseDownStart: {
6529
+ time: number;
6530
+ clientX: number;
6531
+ clientY: number;
6532
+ };
6533
+ scaledCursorPos: {
6534
+ x: number;
6535
+ y: number;
6536
+ };
6537
+ hasTouched: boolean;
6538
+ calculateMouseCoordinates: (event: any) => void;
6539
+ getMouseRayIntersects: (objects: Object3D | Object3D[]) => any;
6540
+ detectCollidersUnderMouse: () => any;
6541
+ detectPolygonsUnderMouse: () => string[];
6542
+ detectPathsUnderMouse: () => Path[];
6543
+ detectMapsUnderMouse: () => any;
6544
+ getMouseMapPosition: () => {
6545
+ x: number;
6546
+ y: number;
6547
+ };
6548
+ checkMouseIntersectsBlueDot: () => boolean;
6549
+ doHoverEffect: () => void;
6550
+ onPolygonHoverOut: (polygonId: any) => false | undefined;
6551
+ onPolygonHoverOver: (polygon: any) => false | undefined;
6552
+ setHoverColor: (color: string) => void;
6553
+ destroy(): void;
6554
+ }
6555
+ export default EventSystem;
6556
+ }
6557
+
6581
6558
  declare module '@mappedin/mappedin-js/renderer/internal/shave-text' {
6582
6559
  export type TDrawFn = (ctx: CanvasRenderingContext2D, x: number, y: number) => void;
6583
6560
  type TShave = (str: string, size: number, maxWidth: number, maxLines?: number, lineHeight?: number, options?: {
@@ -6595,7 +6572,7 @@ declare module '@mappedin/mappedin-js/renderer/internal/shave-text' {
6595
6572
  declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollisionEngine' {
6596
6573
  import './Mappedin.SmartCollisionEngine.scss';
6597
6574
  import { ICollider, TRange, TColliderPosition } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollider';
6598
- import { MappedinMap, MapView } from '@mappedin/mappedin-js/renderer';
6575
+ import { MappedinMap } from '@mappedin/mappedin-js/renderer';
6599
6576
  import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
6600
6577
  import { Rectangle, QuadTree } from '@mappedin/mappedin-js/renderer/internal/quad-tree';
6601
6578
  export const COLLIDER_STRATEGY_LOW_PRIORITY = "LOW_PRIORITY";
@@ -6615,10 +6592,9 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollisionE
6615
6592
  offscreenRanges: TRange[];
6616
6593
  get sortedColliders(): ICollider[];
6617
6594
  initialized: boolean;
6618
- mapView: MapView;
6619
6595
  core: ICore;
6620
6596
  screen: Rectangle;
6621
- constructor(mapView: any, core: ICore);
6597
+ constructor(core: ICore);
6622
6598
  beginUpdate(): void;
6623
6599
  init: (container: HTMLDivElement, projectFn: (position: TColliderPosition, mapId: MappedinMap['id']) => {
6624
6600
  x: number;
@@ -6760,6 +6736,13 @@ declare module '@mappedin/mappedin-js/renderer/MapView.Scene' {
6760
6736
  import { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
6761
6737
  import MapObject from '@mappedin/mappedin-js/renderer/internal/Mappedin.MapObject';
6762
6738
  import { TSceneTransitionOptions } from '@mappedin/mappedin-js/renderer/MapView.SceneManager';
6739
+ export function getPanBoundsForObject(mapObject: MapObject, currentPanBounds: any): {
6740
+ min: any;
6741
+ max: any;
6742
+ margin: any;
6743
+ radius: any;
6744
+ center: any;
6745
+ };
6763
6746
  class MapViewScene {
6764
6747
  #private;
6765
6748
  maps: MappedinMap[];