@mappedin/react-native-sdk 5.16.0 → 5.18.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.ts CHANGED
@@ -126,7 +126,7 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
126
126
  /**
127
127
  * @category Component
128
128
  */
129
- export const MiMapView: React.MemoExoticComponent<React.ForwardRefExoticComponent<Pick<TMiMapViewProps, "options" | "style" | "onFirstMapLoaded" | "venueData" | "onPolygonClicked" | "onBlueDotStateChanged" | "onBlueDotPositionUpdated" | "onCameraChanged" | "onDataLoaded" | "onNothingClicked" | "onClick" | "onMapChanged" | "onStateChanged" | "onVenueLoadError"> & React.RefAttributes<MapViewStore>>>;
129
+ export const MiMapView: React.MemoExoticComponent<React.ForwardRefExoticComponent<Pick<TMiMapViewProps, "options" | "style" | "onClick" | "onFirstMapLoaded" | "venueData" | "onPolygonClicked" | "onBlueDotStateChanged" | "onBlueDotPositionUpdated" | "onCameraChanged" | "onDataLoaded" | "onNothingClicked" | "onMapChanged" | "onStateChanged" | "onVenueLoadError"> & React.RefAttributes<MapViewStore>>>;
130
130
  }
131
131
 
132
132
  declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMiniMap' {
@@ -301,7 +301,7 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
301
301
  /**
302
302
  * Gets the nearest node by screen coordinate
303
303
  */
304
- getNearestNodeByScreenCoordinates(x: number, y: number, mapIdOrMap?: MappedinMap['id'] | MappedinMap): Promise<MappedinNode | null | undefined>;
304
+ getNearestNodeByScreenCoordinates(x: number, y: number, mapIdOrMap?: MappedinMap['id'] | MappedinMap): Promise<MappedinNode>;
305
305
  /**
306
306
  * Label all polygons with locations either loaded via the API or passed in
307
307
  * @deprecated Please use FloatingLabels.labelAllLocations or FlatLabels.labelAllLocations instead.
@@ -369,7 +369,7 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
369
369
  /**
370
370
  * Enable BlueDot
371
371
  */
372
- enable: (options?: TEnableBlueDotOptions | undefined) => Promise<undefined>;
372
+ enable: (options?: TEnableBlueDotOptions) => Promise<undefined>;
373
373
  /**
374
374
  * Disable BlueDot
375
375
  */
@@ -392,7 +392,7 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
392
392
  * Add or remove paths from the map
393
393
  */
394
394
  Paths: {
395
- add: (nodes: MappedinNode[], options?: TPathOptions | undefined) => Promise<unknown>;
395
+ add: (nodes: MappedinNode[], options?: TPathOptions) => Promise<unknown>;
396
396
  remove: (path: {
397
397
  id: string;
398
398
  }) => Promise<void>;
@@ -626,7 +626,12 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
626
626
  import type { Path } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/PathsController';
627
627
  import { TOOLTIP_ANCHOR } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartTooltip';
628
628
  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/react-native-sdk/core/packages/renderer/MapView.enums';
629
+ import { TOutdoorViewControllerOptions } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/OutdoorViewController';
629
630
  export type { TEnableBlueDotOptions, TFloatingLabelAppearance };
631
+ export type Without<T, U> = {
632
+ [P in Exclude<keyof T, keyof U>]?: never;
633
+ };
634
+ export type XOR<T, U> = T | U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
630
635
  /**
631
636
  An extension of the GeolocationPosition type.
632
637
  https://developer.mozilla.org/en-US/docs/Web/API/GeolocationPosition
@@ -714,6 +719,27 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
714
719
  * @defaultValue false
715
720
  */
716
721
  interactive?: boolean;
722
+ /**
723
+ * @experimental
724
+ *
725
+ * @defaultValue false
726
+ * The path will be adjusted vertically to the tallest polygon altitude.
727
+ */
728
+ adjustedAltitude?: boolean;
729
+ /**
730
+ * @experimental
731
+ *
732
+ * The maximum altitude of the path in meters
733
+ * @defaultValue Infinite
734
+ */
735
+ maxAdjustedAltitude?: number;
736
+ /**
737
+ * @experimental
738
+ *
739
+ * @defaultValue -Infinite
740
+ * The minimum altitude of the path in meters
741
+ */
742
+ minAdjustedAltitude?: number;
717
743
  };
718
744
  export type TConnectionProps = {
719
745
  /**
@@ -784,11 +810,11 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
784
810
  marker: {
785
811
  foregroundColor: {
786
812
  active: string;
787
- inactive: undefined;
813
+ inactive: any;
788
814
  };
789
815
  backgroundColor: {
790
816
  active: string;
791
- inactive: undefined;
817
+ inactive: any;
792
818
  };
793
819
  size: number;
794
820
  };
@@ -806,11 +832,11 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
806
832
  marker: {
807
833
  foregroundColor: {
808
834
  active: string;
809
- inactive: undefined;
835
+ inactive: any;
810
836
  };
811
837
  backgroundColor: {
812
838
  active: string;
813
- inactive: undefined;
839
+ inactive: any;
814
840
  };
815
841
  size: number;
816
842
  };
@@ -980,6 +1006,14 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
980
1006
  */
981
1007
  outdoorGeometryLayers?: string[];
982
1008
  };
1009
+ /**
1010
+ * Settings for experimental vector tile -based outdoor context
1011
+ * Requires `multiBufferRendering` to be enabled.
1012
+ * @experimental
1013
+ */
1014
+ outdoorView?: TOutdoorViewControllerOptions & {
1015
+ enabled?: boolean;
1016
+ };
983
1017
  /**
984
1018
  * First map to be rendered
985
1019
  */
@@ -1147,6 +1181,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
1147
1181
  * Customize the appearance of the Floating Labels and their pins
1148
1182
  */
1149
1183
  appearance?: TFloatingLabelAppearance;
1184
+ /**
1185
+ * Group analytics based ranking by {@link MappedinCategory.sortOrder} value
1186
+ */
1187
+ groupRankingByCategory?: boolean;
1150
1188
  };
1151
1189
  export type TAddFlatLabelOptions = {
1152
1190
  appearance?: TFlatLabelAppearance;
@@ -1156,6 +1194,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
1156
1194
  rank?: COLLISION_RANKING_TIERS | number;
1157
1195
  appearance?: TFloatingLabelAppearance;
1158
1196
  interactive?: boolean;
1197
+ /**
1198
+ * Group analytics based ranking by {@link MappedinCategory.sortOrder} value
1199
+ */
1200
+ groupRankingByCategory?: boolean;
1159
1201
  };
1160
1202
  export type TLabelAllLocationCommonOptions = {
1161
1203
  /**
@@ -1220,6 +1262,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
1220
1262
  export type TFloatingLabelAllLocationsOptions = TLabelAllLocationCommonOptions & {
1221
1263
  appearance?: TFloatingLabelAppearance;
1222
1264
  interactive?: boolean;
1265
+ /**
1266
+ * Group analytics based ranking by {@link MappedinCategory.sortOrder} value
1267
+ */
1268
+ groupRankingByCategory?: boolean;
1223
1269
  };
1224
1270
  /**
1225
1271
  * Options for controlling bulk location labelling
@@ -1275,6 +1321,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
1275
1321
  [E_SDK_EVENT.STATE_CHANGE]: STATE;
1276
1322
  [E_SDK_EVENT.POLYGON_CLICKED]: MappedinPolygon;
1277
1323
  [E_SDK_EVENT.NOTHING_CLICKED]: undefined;
1324
+ [E_SDK_EVENT.OUTDOOR_VIEW_LOADED]: undefined;
1278
1325
  [E_SDK_EVENT.MAP_CHANGED]: MappedinMap;
1279
1326
  };
1280
1327
  /**
@@ -1355,6 +1402,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
1355
1402
  export { MappedinRankings } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinRankings';
1356
1403
  export { MappedinDestinationSet } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinDestinationSet';
1357
1404
  export { MappedinNavigatable } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinNavigatable';
1405
+ export { MappedinLocationState } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocationState';
1358
1406
  /**
1359
1407
  * @internal
1360
1408
  * @hidden
@@ -1362,7 +1410,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
1362
1410
  * Export this only so our internal pre-built products can use it. We don't want to document it for external developers.
1363
1411
  */
1364
1412
  export { default as CustomerAnalytics } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.CustomerAnalytics';
1365
- export type { TTHINGS } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
1413
+ export type { TTHINGS, TAccessors } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
1366
1414
  export type { TMappedinDirective } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinDirections';
1367
1415
  export type { IDirectionsResult } from '@mappedin/react-native-sdk/core/packages/navigator';
1368
1416
  export type { TOperationHoursMap } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocation';
@@ -1401,6 +1449,20 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
1401
1449
  */
1402
1450
  mapRenderStrategy?: MAP_RENDER_MODE;
1403
1451
  };
1452
+ /**
1453
+ * @experimental
1454
+ * Enable outdoor context. Requires multi-buffer rendering to be enabled
1455
+ */
1456
+ outdoorContext?: {
1457
+ enabled?: boolean;
1458
+ url?: string;
1459
+ authURL?: string;
1460
+ };
1461
+ /**
1462
+ * @experimental
1463
+ * Enable multi-buffer rendering
1464
+ */
1465
+ multiBufferRendering?: boolean;
1404
1466
  };
1405
1467
  export { MAP_RENDER_MODE };
1406
1468
  /**
@@ -1612,7 +1674,14 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums'
1612
1674
  /**
1613
1675
  * Emitted when the map is changed
1614
1676
  */
1615
- MAP_CHANGED = "MAP_CHANGED"
1677
+ MAP_CHANGED = "MAP_CHANGED",
1678
+ /**
1679
+ * Emitted when the outdoor view is ready. All currently requested tiles have loaded, and all fade and transition
1680
+ * animations have completed. {@link showVenue} is resolved when the indoor map is ready even if the outdoor tiles are not yet loaded.
1681
+ * Use this event to create a loading screen that ensures outdoor view is fully loaded and rendered.
1682
+ * @experimental
1683
+ */
1684
+ OUTDOOR_VIEW_LOADED = "OUTDOOR_VIEW_LOADED"
1616
1685
  }
1617
1686
  /**
1618
1687
  * @enum
@@ -1810,7 +1879,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Fla
1810
1879
  }
1811
1880
 
1812
1881
  declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/FloatingLabels' {
1813
- import { MappedinNode, MappedinPolygon } from '@mappedin/react-native-sdk/core/packages/get-venue';
1882
+ import { MappedinCoordinate, MappedinNode, MappedinPolygon } from '@mappedin/react-native-sdk/core/packages/get-venue';
1814
1883
  import { TAddFloatingLabelOptions, TFloatingLabelAllLocationsOptions, TFloatingLabelAppearance } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
1815
1884
  import FloatingLabelsController from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/FloatingLabelsController';
1816
1885
  /**
@@ -1845,11 +1914,11 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Flo
1845
1914
  * mapView.FloatingLabels.add(location.nodes[0], "Apple Store");
1846
1915
  * ```
1847
1916
  *
1848
- * @param polygonOrNode The {@link MappedinPolygon} or {@link MappedinNode} to label.
1917
+ * @param polygonOrNode The {@link MappedinPolygon} or {@link MappedinNode} or {@link MappedinCoordinate} to label.
1849
1918
  * @param text The text to display on the label.
1850
1919
  * @param options
1851
1920
  */
1852
- add(polygonOrNode: MappedinPolygon | MappedinNode, text: string, options?: TAddFloatingLabelOptions): T;
1921
+ add(polygonOrNode: MappedinPolygon | MappedinNode | MappedinCoordinate, text: string, options?: TAddFloatingLabelOptions): T;
1853
1922
  /**
1854
1923
  * Update the appearance attributes of an already-existing label. If the
1855
1924
  * provided polygon or node does not have a label already, this is a no-op.
@@ -1862,10 +1931,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Flo
1862
1931
  * });
1863
1932
  * ```
1864
1933
  *
1865
- * @param polygonOrNode The {@link MappedinPolygon} or {@link MappedinNode} with a label to update.
1934
+ * @param polygonOrNode The {@link MappedinPolygon} or {@link MappedinNode} or {@link MappedinCoordinate} with a label to update.
1866
1935
  * @param appearance The new {@link TFlatLabelAppearance} settings to apply to the polygon's label.
1867
1936
  */
1868
- setAppearance(polygonOrNode: MappedinPolygon | MappedinNode, appearance: TFloatingLabelAppearance): T;
1937
+ setAppearance(polygonOrNode: MappedinPolygon | MappedinNode | MappedinCoordinate, appearance: TFloatingLabelAppearance): T;
1869
1938
  /**
1870
1939
  * Remove a floating label from a single polygon or node.
1871
1940
  *
@@ -1878,9 +1947,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Flo
1878
1947
  * mapView.FloatingLabels.remove(polygon.entrances[0]);
1879
1948
  * ```
1880
1949
  *
1881
- * @param polygonOrNode The {@link MappedinPolygon} or {@link MappedinNode} with a label to remove.
1950
+ * @param polygonOrNode The {@link MappedinPolygon} or {@link MappedinNode} or {@link MappedinCoordinate} with a label to remove.
1882
1951
  */
1883
- remove(polygonOrNode: MappedinPolygon | MappedinNode): T;
1952
+ remove(polygonOrNode: MappedinPolygon | MappedinNode | MappedinCoordinate): T;
1884
1953
  /**
1885
1954
  * Remove all floating labels from the venue.
1886
1955
  *
@@ -1906,9 +1975,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Flo
1906
1975
  * mapView.FloatingLabels.setPriority(polygon1, 1);
1907
1976
  * ```
1908
1977
  *
1909
- * @param polygonOrNode The {@link MappedinPolygon} or {@link MappedinNode} with a label to update.
1978
+ * @param polygonOrNode The {@link MappedinPolygon} or {@link MappedinNode} or {@link MappedinCoordinate} with a label to update.
1910
1979
  */
1911
- setPriority(polygonOrNode: MappedinPolygon | MappedinNode, priority: number): T;
1980
+ setPriority(polygonOrNode: MappedinPolygon | MappedinNode | MappedinCoordinate, priority: number): T;
1912
1981
  /**
1913
1982
  * Resets the priority of an existing floating label (or labels, in the case
1914
1983
  * of a polygon)
@@ -1923,9 +1992,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Flo
1923
1992
  * mapView.FloatingLabels.resetPriority();
1924
1993
  * ```
1925
1994
  *
1926
- * @param polygonOrNode The {@link MappedinPolygon} or {@link MappedinNode} with a label to update.
1995
+ * @param polygonOrNode The {@link MappedinPolygon} or {@link MappedinNode} or {@link MappedinCoordinate} with a label to update.
1927
1996
  */
1928
- resetPriority(polygonOrNode: MappedinPolygon | MappedinNode): T;
1997
+ resetPriority(polygonOrNode: MappedinPolygon | MappedinNode | MappedinCoordinate): T;
1929
1998
  }
1930
1999
  export class FloatingLabels implements IFloatingLabels {
1931
2000
  #private;
@@ -1934,12 +2003,12 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Flo
1934
2003
  */
1935
2004
  constructor(controller: FloatingLabelsController);
1936
2005
  labelAllLocations(options?: TFloatingLabelAllLocationsOptions | undefined): void;
1937
- add(polygonOrNode: MappedinPolygon | MappedinNode, text: string, options?: TAddFloatingLabelOptions | undefined): void;
1938
- setAppearance(polygonOrNode: MappedinPolygon | MappedinNode, appearance: TFloatingLabelAppearance): void;
1939
- remove(polygonOrNode: MappedinPolygon | MappedinNode): void;
2006
+ add(polygonOrNode: MappedinPolygon | MappedinNode | MappedinCoordinate, text: string, options?: TAddFloatingLabelOptions | undefined): void;
2007
+ setAppearance(polygonOrNode: MappedinPolygon | MappedinNode | MappedinCoordinate, appearance: TFloatingLabelAppearance): void;
2008
+ remove(polygonOrNode: MappedinPolygon | MappedinNode | MappedinCoordinate): void;
1940
2009
  removeAll(): void;
1941
- setPriority(polygonOrNode: MappedinPolygon | MappedinNode, priority: number): void;
1942
- resetPriority(polygonOrNode: MappedinPolygon | MappedinNode): void;
2010
+ setPriority(polygonOrNode: MappedinPolygon | MappedinNode | MappedinCoordinate, priority: number): void;
2011
+ resetPriority(polygonOrNode: MappedinPolygon | MappedinNode | MappedinCoordinate): void;
1943
2012
  }
1944
2013
  }
1945
2014
 
@@ -1948,7 +2017,7 @@ declare module '@mappedin/react-native-sdk/core/packages/navigator' {
1948
2017
  import Navigator from '@mappedin/react-native-sdk/core/packages/navigator/Navigator';
1949
2018
  export { ACTION_TYPE, BEARING_TYPE } from '@mappedin/react-native-sdk/core/packages/navigator/Directive';
1950
2019
  export { Navigator, NavigationGraph };
1951
- export type { IDirectionsResult } from '@mappedin/react-native-sdk/core/packages/navigator/Navigator';
2020
+ export type { IDirectionsResult, TSimplifyDirectionsOptions } from '@mappedin/react-native-sdk/core/packages/navigator/Navigator';
1952
2021
  export { E_MESSAGES } from '@mappedin/react-native-sdk/core/packages/navigator/Navigator';
1953
2022
  export { E_SDK_LOG_LEVEL, setLoggerLevel } from '@mappedin/react-native-sdk/core/common/Mappedin.Logger';
1954
2023
  }
@@ -1999,6 +2068,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
1999
2068
  * See also {@link Camera.setSafeAreaInsets}.
2000
2069
  */
2001
2070
  safeAreaInsets?: TSafeAreaInsets;
2071
+ /**
2072
+ * Whether {@link Camera.minZoom} and {@link Camera.maxZoom} should be recalculated during the focusing animation.
2073
+ */
2074
+ updateZoomLimits?: boolean;
2002
2075
  };
2003
2076
  /**
2004
2077
  * A configuration of the camera in space.
@@ -2022,8 +2095,27 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
2022
2095
  position?: MappedinCoordinate | MappedinNode;
2023
2096
  };
2024
2097
  export type TCameraAnimationOptions = TAnimationOptions;
2098
+ /**
2099
+ * The configuration for camera interactions on or off.
2100
+ */
2101
+ export type TCameraInteractionsSetOptions = {
2102
+ /**
2103
+ * Enable or disable pan controls.
2104
+ */
2105
+ pan?: boolean;
2106
+ /**
2107
+ * Enable or disable zoom controls.
2108
+ */
2109
+ zoom?: boolean;
2110
+ /**
2111
+ * Enable or disable rotation and tilt controls.
2112
+ * See {@link maxTilt} for controlling the range of tilt.
2113
+ */
2114
+ rotationAndTilt?: boolean;
2115
+ };
2025
2116
  /**
2026
2117
  * The Camera object specifies a view of the map and allows manipulation of that view.
2118
+ * @internal
2027
2119
  */
2028
2120
  class CameraController extends PubSub<CAMERA_EVENT_PAYLOAD, E_CAMERA_EVENT> {
2029
2121
  #private;
@@ -2045,6 +2137,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
2045
2137
  set maxTilt(radians: number);
2046
2138
  get position(): MappedinCoordinate;
2047
2139
  interactions: {
2140
+ set: (options: TCameraInteractionsSetOptions) => void;
2048
2141
  enable: () => void;
2049
2142
  disable: () => void;
2050
2143
  };
@@ -2679,9 +2772,10 @@ declare module '@mappedin/react-native-sdk/wrappers/common/pub-sub' {
2679
2772
 
2680
2773
  declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core.interface' {
2681
2774
  import { Vector2, Vector3, Mesh } from 'three';
2682
- import type { TPadding, TGetPolygonsAtCoordinateOptions, TMapViewOptions, TileManager, BillboardManager, StackedMapsController } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
2775
+ import type { TPadding, TGetPolygonsAtCoordinateOptions, TMapViewOptions, TileManager, BillboardManager, StackedMapsController, SmartCollisionEngine, OutdoorViewController } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
2683
2776
  import { BlueDotController, CameraController, STATE, MappedinMap, Mappedin, MappedinCoordinate, MappedinPolygon, MappedinNode, changeListenerFn, RENDER, INTERNAL_EVENT_PAYLOAD, INTERNAL_EVENT, TaskScheduler, SceneManager, PubSub, FlatLabel, MapObject, PathsController, FloatingLabelsController, FlatLabelsController, PolygonColorsController, MarkersController, PolygonInteractionController, TooltipsController, PolygonStatesController, PolygonImagesController, ThreeDMarkersController, EventSystem } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
2684
2777
  import Tween, { Easing } from '@tweenjs/tween.js';
2778
+ import WatermarkController from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/WatermarkController';
2685
2779
  export type TFocusOptionsLegacy = {
2686
2780
  /**
2687
2781
  * An array of Nodes to focus in on
@@ -2722,6 +2816,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core.i
2722
2816
  * @defaultValue: 0
2723
2817
  */
2724
2818
  minZoom?: number;
2819
+ /**
2820
+ * Whether {@link Camera.minZoom} and {@link Camera.maxZoom} should be recalculated during the focusing animation.
2821
+ */
2822
+ updateZoomLimits?: boolean;
2725
2823
  padding?: TPadding;
2726
2824
  points?: any[];
2727
2825
  boundingBox?: any;
@@ -2755,6 +2853,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core.i
2755
2853
  tileManager: TileManager;
2756
2854
  billboardManager: BillboardManager;
2757
2855
  stackedMaps: StackedMapsController;
2856
+ outdoorViewController?: OutdoorViewController;
2857
+ watermark: WatermarkController;
2758
2858
  state: STATE;
2759
2859
  options: TMapViewOptions & {
2760
2860
  onDataLoaded?: (data: Mappedin) => void;
@@ -2902,7 +3002,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core.i
2902
3002
  bottom: number;
2903
3003
  right: number;
2904
3004
  }): void;
2905
- smartCollisionEngine: any;
3005
+ smartCollisionEngine: SmartCollisionEngine;
2906
3006
  mapObjects: Map<MappedinMap['id'], MapObject>;
2907
3007
  /**
2908
3008
  * The scene only renders when something has changed. This should be something a 3rd party developer doesn't need to worry about,
@@ -2936,39 +3036,39 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
2936
3036
  */
2937
3037
  privateEventBus: PubSub<{
2938
3038
  REJECT: {
2939
- msgID?: string | undefined;
3039
+ msgID?: string;
2940
3040
  data: any;
2941
3041
  };
2942
3042
  RESOLVE: {
2943
- msgID?: string | undefined;
3043
+ msgID?: string;
2944
3044
  data: any;
2945
3045
  };
2946
3046
  READY: {
2947
- msgID?: string | undefined;
3047
+ msgID?: string;
2948
3048
  data: null;
2949
3049
  };
2950
3050
  LOG: {
2951
- msgID?: string | undefined;
3051
+ msgID?: string;
2952
3052
  data: string;
2953
3053
  };
2954
3054
  GET_IMAGE: {
2955
- msgID?: string | undefined;
3055
+ msgID?: string;
2956
3056
  data: {
2957
3057
  fileName: string;
2958
3058
  };
2959
3059
  };
2960
3060
  GET_MAP_POLYGONS: {
2961
- msgID?: string | undefined;
3061
+ msgID?: string;
2962
3062
  data: {
2963
3063
  mapId: string;
2964
3064
  };
2965
3065
  };
2966
3066
  MINIMAP_READY: {
2967
- msgID?: string | undefined;
3067
+ msgID?: string;
2968
3068
  data: null;
2969
3069
  };
2970
3070
  SHOW_MINIMAP: {
2971
- msgID?: string | undefined;
3071
+ msgID?: string;
2972
3072
  data: {
2973
3073
  format: "jsonstring";
2974
3074
  venueData: string;
@@ -2976,77 +3076,77 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
2976
3076
  };
2977
3077
  };
2978
3078
  LOAD_MINIMAP: {
2979
- msgID?: string | undefined;
3079
+ msgID?: string;
2980
3080
  data: {
2981
3081
  options: import("../react-native-sdk/src").TGetVenueOptions;
2982
3082
  };
2983
3083
  };
2984
3084
  CACHE_IMAGE: {
2985
- msgID?: string | undefined;
3085
+ msgID?: string;
2986
3086
  data: {
2987
- url?: string | undefined;
3087
+ url?: string;
2988
3088
  options: import("../react-native-sdk/src").TGetVenueOptions;
2989
3089
  locationId: string;
2990
- polygonHighlightColor?: string | undefined;
2991
- focusOptions?: (import("../react-native-sdk/src").TFocusOnCameraOptions & import("../../core/packages/renderer").TAnimationOptions) | undefined;
3090
+ polygonHighlightColor?: string;
3091
+ focusOptions?: import("../react-native-sdk/src").TFocusOnCameraOptions & import("../../core/packages/renderer").TAnimationOptions;
2992
3092
  };
2993
3093
  };
2994
3094
  SET_DEBUG_FLAGS: {
2995
- msgID?: string | undefined;
3095
+ msgID?: string;
2996
3096
  data: any;
2997
3097
  };
2998
3098
  CLEAR_BUNDLE_CACHE: {
2999
- msgID?: string | undefined;
3099
+ msgID?: string;
3000
3100
  data: null;
3001
3101
  };
3002
3102
  NOTHING_CLICKED: {
3003
- msgID?: string | undefined;
3103
+ msgID?: string;
3004
3104
  data: null;
3005
3105
  };
3006
3106
  STATE_CHANGED: {
3007
- msgID?: string | undefined;
3107
+ msgID?: string;
3008
3108
  data: {
3009
3109
  state: import("../react-native-sdk/src").STATE;
3010
3110
  };
3011
3111
  };
3012
3112
  DATA_LOADED: {
3013
- msgID?: string | undefined;
3113
+ msgID?: string;
3014
3114
  data: {
3015
3115
  venueData: any;
3016
3116
  };
3017
3117
  };
3018
3118
  FIRST_MAP_LOADED: {
3019
- msgID?: string | undefined;
3119
+ msgID?: string;
3020
3120
  data: {
3021
3121
  venueData?: any;
3022
3122
  };
3023
3123
  };
3024
3124
  MAP_CHANGED: {
3025
- msgID?: string | undefined;
3125
+ msgID?: string;
3026
3126
  data: {
3027
3127
  mapId: string;
3028
3128
  };
3029
3129
  };
3030
3130
  POLYGON_CLICKED: {
3031
- msgID?: string | undefined;
3131
+ msgID?: string;
3032
3132
  data: {
3033
3133
  polygonId: string;
3034
3134
  };
3035
3135
  };
3036
3136
  ROTATION_CHANGED: {
3037
- msgID?: string | undefined;
3137
+ msgID?: string;
3038
3138
  data: {
3039
3139
  rotation: number;
3040
3140
  };
3041
3141
  };
3042
3142
  TILT_CHANGED: {
3043
- msgID?: string | undefined;
3143
+ msgID?: string;
3044
3144
  data: {
3045
3145
  tilt: number;
3046
3146
  };
3047
3147
  };
3048
3148
  POSITION_CHANGED: {
3049
- msgID?: string | undefined;
3149
+ msgID?: string;
3050
3150
  data: {
3051
3151
  position: {
3052
3152
  /**
@@ -3059,7 +3159,7 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
3059
3159
  };
3060
3160
  };
3061
3161
  CAMERA_CHANGED: {
3062
- msgID?: string | undefined;
3162
+ msgID?: string;
3063
3163
  data: {
3064
3164
  rotation: number;
3065
3165
  tilt: number;
@@ -3068,41 +3168,41 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
3068
3168
  };
3069
3169
  };
3070
3170
  ZOOM_CHANGED: {
3071
- msgID?: string | undefined;
3171
+ msgID?: string;
3072
3172
  data: {
3073
3173
  zoom: number;
3074
3174
  };
3075
3175
  };
3076
3176
  UPDATE_GEOLOCATION: {
3077
- msgID?: string | undefined;
3177
+ msgID?: string;
3078
3178
  data: {
3079
3179
  msgID: undefined;
3080
3180
  data: unknown;
3081
3181
  };
3082
3182
  };
3083
3183
  BLUEDOT_STATE_CHANGE: {
3084
- msgID?: string | undefined;
3184
+ msgID?: string;
3085
3185
  data: {
3086
3186
  stateChange: import("../react-native-sdk/src").TBlueDotStateChange;
3087
3187
  };
3088
3188
  };
3089
3189
  BLUEDOT_POSITION_UPDATE: {
3090
- msgID?: string | undefined;
3190
+ msgID?: string;
3091
3191
  data: {
3092
3192
  update: Omit<import("../react-native-sdk/src").TBlueDotPositionUpdate, "map" | "nearestNode"> & {
3093
- nearestNode?: string | undefined;
3094
- map?: string | undefined;
3193
+ nearestNode?: string;
3194
+ map?: string;
3095
3195
  };
3096
3196
  };
3097
3197
  };
3098
3198
  SET_JOURNEY_STEP: {
3099
- msgID?: string | undefined;
3199
+ msgID?: string;
3100
3200
  data: {
3101
3201
  step: number;
3102
3202
  };
3103
3203
  };
3104
3204
  SET_JOURNEY_STEP_BY_PATH: {
3105
- msgID?: string | undefined;
3205
+ msgID?: string;
3106
3206
  data: {
3107
3207
  path: {
3108
3208
  id: string;
@@ -3110,61 +3210,61 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
3110
3210
  };
3111
3211
  };
3112
3212
  LOAD_VENUE: {
3113
- msgID?: string | undefined;
3213
+ msgID?: string;
3114
3214
  data: {
3115
3215
  options: import("../react-native-sdk/src").TGetVenueOptions & {
3116
- useBundle?: boolean | undefined;
3216
+ useBundle?: boolean;
3117
3217
  };
3118
3218
  showVenueOptions: import("../react-native-sdk/src").TShowVenueOptions & {
3119
- prepareSearch?: boolean | undefined;
3120
- searchOptions?: Partial<import("../react-native-sdk/src").TMappedinOfflineSearchAllOptions> | undefined;
3219
+ prepareSearch?: boolean;
3220
+ searchOptions?: Partial<import("../react-native-sdk/src").TMappedinOfflineSearchAllOptions>;
3121
3221
  };
3122
3222
  };
3123
3223
  };
3124
3224
  SHOW_VENUE: {
3125
- msgID?: string | undefined;
3225
+ msgID?: string;
3126
3226
  data: {
3127
3227
  venueData: string;
3128
3228
  format: "jsonstring";
3129
3229
  showVenueOptions: import("../react-native-sdk/src").TShowVenueOptions & {
3130
- prepareSearch?: boolean | undefined;
3131
- searchOptions?: Partial<import("../react-native-sdk/src").TMappedinOfflineSearchAllOptions> | undefined;
3230
+ prepareSearch?: boolean;
3231
+ searchOptions?: Partial<import("../react-native-sdk/src").TMappedinOfflineSearchAllOptions>;
3132
3232
  };
3133
3233
  };
3134
3234
  };
3135
3235
  SET_MAP: {
3136
- msgID?: string | undefined;
3236
+ msgID?: string;
3137
3237
  data: {
3138
3238
  mapId: string;
3139
3239
  };
3140
3240
  };
3141
3241
  CAMERA_SET: {
3142
- msgID?: string | undefined;
3242
+ msgID?: string;
3143
3243
  data: {
3144
3244
  positionOptions: Omit<import("../react-native-sdk/src").TCameraTransform, "position"> & {
3145
- position?: import("./types").TSerializedCoordinate | import("./types").TSerializedNode | undefined;
3245
+ position?: import("./types").TSerializedCoordinate | import("./types").TSerializedNode;
3146
3246
  };
3147
3247
  };
3148
3248
  };
3149
3249
  CAMERA_ANIMATE: {
3150
- msgID?: string | undefined;
3250
+ msgID?: string;
3151
3251
  data: {
3152
3252
  config: Omit<import("../react-native-sdk/src").TCameraTransform, "position"> & {
3153
- position?: import("./types").TSerializedCoordinate | import("./types").TSerializedNode | undefined;
3253
+ position?: import("./types").TSerializedCoordinate | import("./types").TSerializedNode;
3154
3254
  };
3155
- options?: import("../../core/packages/renderer").TAnimationOptions | undefined;
3255
+ options?: import("../../core/packages/renderer").TAnimationOptions;
3156
3256
  };
3157
3257
  };
3158
3258
  CAMERA_TRANSLATE: {
3159
- msgID?: string | undefined;
3259
+ msgID?: string;
3160
3260
  data: {
3161
3261
  direction: import("../react-native-sdk/src").E_CAMERA_DIRECTION;
3162
3262
  distance: number;
3163
- options?: import("../../core/packages/renderer").TAnimationOptions | undefined;
3263
+ options?: import("../../core/packages/renderer").TAnimationOptions;
3164
3264
  };
3165
3265
  };
3166
3266
  CAMERA_SET_SAFE_AREA_INSETS: {
3167
- msgID?: string | undefined;
3267
+ msgID?: string;
3168
3268
  data: {
3169
3269
  safeAreaInsets: {
3170
3270
  top: number;
@@ -3175,196 +3275,196 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
3175
3275
  };
3176
3276
  };
3177
3277
  CLEAR_POLYGON_COLOR: {
3178
- msgID?: string | undefined;
3278
+ msgID?: string;
3179
3279
  data: {
3180
3280
  polygonId: string;
3181
3281
  };
3182
3282
  };
3183
3283
  FOCUS_ON: {
3184
- msgID?: string | undefined;
3284
+ msgID?: string;
3185
3285
  data: {
3186
3286
  targets: import("./types").TFocusOnTargetsSerializable;
3187
- options?: (import("../react-native-sdk/src").TFocusOnCameraOptions & import("../../core/packages/renderer").TAnimationOptions) | undefined;
3287
+ options?: import("../react-native-sdk/src").TFocusOnCameraOptions & import("../../core/packages/renderer").TAnimationOptions;
3188
3288
  };
3189
3289
  };
3190
3290
  SET_POLYGON_COLOR: {
3191
- msgID?: string | undefined;
3291
+ msgID?: string;
3192
3292
  data: {
3193
3293
  polygon: import("./types").TSerializedPolygon;
3194
3294
  color: string;
3195
3295
  };
3196
3296
  };
3197
3297
  SET_BACKGROUND_COLOR: {
3198
- msgID?: string | undefined;
3298
+ msgID?: string;
3199
3299
  data: {
3200
3300
  backgroundColor: string;
3201
3301
  };
3202
3302
  };
3203
3303
  CLEAR_ALL_POLYGON_COLORS: {
3204
- msgID?: string | undefined;
3304
+ msgID?: string;
3205
3305
  data: null;
3206
3306
  };
3207
3307
  ADD_INTERACTIVE_POLYGON: {
3208
- msgID?: string | undefined;
3308
+ msgID?: string;
3209
3309
  data: {
3210
3310
  polygonId: string;
3211
3311
  };
3212
3312
  };
3213
3313
  REMOVE_INTERACTIVE_POLYGONS: {
3214
- msgID?: string | undefined;
3314
+ msgID?: string;
3215
3315
  data: null;
3216
3316
  };
3217
3317
  ENABLE_IMAGE_FLIPPING_FOR_POLYGON: {
3218
- msgID?: string | undefined;
3318
+ msgID?: string;
3219
3319
  data: {
3220
3320
  polygon: import("./types").TSerializedPolygon;
3221
3321
  };
3222
3322
  };
3223
3323
  LABEL_ALL_LOCATIONS: {
3224
- msgID?: string | undefined;
3324
+ msgID?: string;
3225
3325
  data: {
3226
- options?: ((Omit<import("../react-native-sdk/src").TFloatingLabelAllLocationsOptions, "locations"> | Omit<import("../react-native-sdk/src").TFlatLabelAllLocationsOptions, "locations">) & {
3227
- locations?: string[] | undefined;
3228
- flatLabels?: boolean | undefined;
3229
- interactive?: boolean | undefined;
3230
- }) | undefined;
3326
+ options?: (Omit<import("../react-native-sdk/src").TFloatingLabelAllLocationsOptions, "locations"> | Omit<import("../react-native-sdk/src").TFlatLabelAllLocationsOptions, "locations">) & {
3327
+ locations?: string[];
3328
+ flatLabels?: boolean;
3329
+ interactive?: boolean;
3330
+ };
3231
3331
  };
3232
3332
  };
3233
3333
  FLAT_LABEL_ALL_LOCATIONS: {
3234
- msgID?: string | undefined;
3334
+ msgID?: string;
3235
3335
  data: {
3236
- options?: (Omit<import("../react-native-sdk/src").TFlatLabelAllLocationsOptions, "locations"> & {
3237
- locations?: string[] | undefined;
3238
- }) | undefined;
3336
+ options?: Omit<import("../react-native-sdk/src").TFlatLabelAllLocationsOptions, "locations"> & {
3337
+ locations?: string[];
3338
+ };
3239
3339
  };
3240
3340
  };
3241
3341
  FLOATING_LABEL_ALL_LOCATIONS: {
3242
- msgID?: string | undefined;
3342
+ msgID?: string;
3243
3343
  data: {
3244
- options?: (Omit<import("../react-native-sdk/src").TFloatingLabelAllLocationsOptions, "locations"> & {
3245
- locations?: string[] | undefined;
3246
- }) | undefined;
3344
+ options?: Omit<import("../react-native-sdk/src").TFloatingLabelAllLocationsOptions, "locations"> & {
3345
+ locations?: string[];
3346
+ };
3247
3347
  };
3248
3348
  };
3249
3349
  REMOVE_ALL_FLAT_LABELS: {
3250
- msgID?: string | undefined;
3350
+ msgID?: string;
3251
3351
  data: null;
3252
3352
  };
3253
3353
  REMOVE_ALL_FLOATING_LABELS: {
3254
- msgID?: string | undefined;
3354
+ msgID?: string;
3255
3355
  data: null;
3256
3356
  };
3257
3357
  ADD_FLAT_LABEL: {
3258
- msgID?: string | undefined;
3358
+ msgID?: string;
3259
3359
  data: {
3260
3360
  polygon: import("./types").TSerializedPolygon;
3261
3361
  text: string;
3262
- options?: import("../react-native-sdk/src").TAddFlatLabelOptions | undefined;
3362
+ options?: import("../react-native-sdk/src").TAddFlatLabelOptions;
3263
3363
  };
3264
3364
  };
3265
3365
  SET_FLAT_LABEL_HOVER_COLOR_FOR_ALL: {
3266
- msgID?: string | undefined;
3366
+ msgID?: string;
3267
3367
  data: {
3268
3368
  color: string;
3269
3369
  };
3270
3370
  };
3271
3371
  ADD_FLOATING_LABEL: {
3272
- msgID?: string | undefined;
3372
+ msgID?: string;
3273
3373
  data: {
3274
3374
  polygonOrNode: import("./types").TSerializedNode | import("./types").TSerializedPolygon;
3275
3375
  text: string;
3276
- options?: import("../react-native-sdk/src").TAddFloatingLabelOptions | undefined;
3376
+ options?: import("../react-native-sdk/src").TAddFloatingLabelOptions;
3277
3377
  };
3278
3378
  };
3279
3379
  REMOVE_FLAT_LABEL: {
3280
- msgID?: string | undefined;
3380
+ msgID?: string;
3281
3381
  data: {
3282
3382
  polygon: import("./types").TSerializedPolygon;
3283
3383
  };
3284
3384
  };
3285
3385
  REMOVE_FLOATING_LABEL: {
3286
- msgID?: string | undefined;
3386
+ msgID?: string;
3287
3387
  data: {
3288
3388
  polygonOrNode: import("./types").TSerializedNode | import("./types").TSerializedPolygon;
3289
3389
  };
3290
3390
  };
3291
3391
  SET_FLOATING_LABEL_PRIORITY: {
3292
- msgID?: string | undefined;
3392
+ msgID?: string;
3293
3393
  data: {
3294
3394
  polygonOrNode: import("./types").TSerializedNode | import("./types").TSerializedPolygon;
3295
3395
  priority: number;
3296
3396
  };
3297
3397
  };
3298
3398
  RESET_FLOATING_LABEL_PRIORITY: {
3299
- msgID?: string | undefined;
3399
+ msgID?: string;
3300
3400
  data: {
3301
3401
  polygonOrNode: import("./types").TSerializedNode | import("./types").TSerializedPolygon;
3302
3402
  };
3303
3403
  };
3304
3404
  SET_FLAT_LABEL_APPEARANCE: {
3305
- msgID?: string | undefined;
3405
+ msgID?: string;
3306
3406
  data: {
3307
3407
  polygon: import("./types").TSerializedPolygon;
3308
3408
  appearance: import("../react-native-sdk/src").TFlatLabelAppearance;
3309
3409
  };
3310
3410
  };
3311
3411
  SET_FLOATING_LABEL_APPEARANCE: {
3312
- msgID?: string | undefined;
3412
+ msgID?: string;
3313
3413
  data: {
3314
3414
  polygonOrNode: import("./types").TSerializedNode | import("./types").TSerializedPolygon;
3315
3415
  appearance: import("../react-native-sdk/src").TFloatingLabelAppearance;
3316
3416
  };
3317
3417
  };
3318
3418
  ENABLE_BLUE_DOT: {
3319
- msgID?: string | undefined;
3419
+ msgID?: string;
3320
3420
  data: {
3321
- options?: import("../react-native-sdk/src").TEnableBlueDotOptionsBase | undefined;
3421
+ options?: import("../react-native-sdk/src").TEnableBlueDotOptionsBase;
3322
3422
  };
3323
3423
  };
3324
3424
  DISABLE_BLUE_DOT: {
3325
- msgID?: string | undefined;
3425
+ msgID?: string;
3326
3426
  data: null;
3327
3427
  };
3328
3428
  GET_DIRECTIONS: {
3329
- msgID?: string | undefined;
3429
+ msgID?: string;
3330
3430
  data: {
3331
3431
  to: import("./types").TSerializedNode | import("./types").TSerializedLocation | import("./types").TSerializedPolygon;
3332
3432
  from: import("./types").TSerializedNode | import("./types").TSerializedLocation | import("./types").TSerializedPolygon;
3333
- accessible?: boolean | undefined;
3433
+ accessible?: boolean;
3334
3434
  };
3335
3435
  };
3336
3436
  GET_DISTANCE_TO: {
3337
- msgID?: string | undefined;
3437
+ msgID?: string;
3338
3438
  data: {
3339
3439
  to: import("./types").TSerializedNode | import("./types").TSerializedLocation | import("./types").TSerializedPolygon;
3340
3440
  from: import("./types").TSerializedNode | import("./types").TSerializedLocation | import("./types").TSerializedPolygon;
3341
- accessible?: boolean | undefined;
3441
+ accessible?: boolean;
3342
3442
  };
3343
3443
  };
3344
3444
  DESTROY: {
3345
- msgID?: string | undefined;
3445
+ msgID?: string;
3346
3446
  data: null;
3347
3447
  };
3348
3448
  SET_MIN_ZOOM: {
3349
- msgID?: string | undefined;
3449
+ msgID?: string;
3350
3450
  data: {
3351
3451
  zoomLevel: number;
3352
3452
  };
3353
3453
  };
3354
3454
  SET_MAX_ZOOM: {
3355
- msgID?: string | undefined;
3455
+ msgID?: string;
3356
3456
  data: {
3357
3457
  zoomLevel: number;
3358
3458
  };
3359
3459
  };
3360
3460
  SET_MAX_TILT: {
3361
- msgID?: string | undefined;
3461
+ msgID?: string;
3362
3462
  data: {
3363
3463
  tiltAngle: number;
3364
3464
  };
3365
3465
  };
3366
3466
  CREATE_MARKER: {
3367
- msgID?: string | undefined;
3467
+ msgID?: string;
3368
3468
  data: {
3369
3469
  nodeOrCoordinate: import("./types").TSerializedCoordinate | import("./types").TSerializedNode;
3370
3470
  contentHtml: string;
@@ -3372,20 +3472,20 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
3372
3472
  };
3373
3473
  };
3374
3474
  REMOVE_MARKER: {
3375
- msgID?: string | undefined;
3475
+ msgID?: string;
3376
3476
  data: {
3377
3477
  markerId: string;
3378
3478
  };
3379
3479
  };
3380
3480
  SET_MARKER_POSITION: {
3381
- msgID?: string | undefined;
3481
+ msgID?: string;
3382
3482
  data: {
3383
3483
  markerId: string;
3384
3484
  nodeOrCoordinate: import("./types").TSerializedCoordinate | import("./types").TSerializedNode;
3385
3485
  };
3386
3486
  };
3387
3487
  ANIMATE_MARKER: {
3388
- msgID?: string | undefined;
3488
+ msgID?: string;
3389
3489
  data: {
3390
3490
  markerId: string;
3391
3491
  nodeOrCoordinate: import("./types").TSerializedCoordinate | import("./types").TSerializedNode;
@@ -3393,27 +3493,27 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
3393
3493
  };
3394
3494
  };
3395
3495
  OVERRIDE_LOCATION: {
3396
- msgID?: string | undefined;
3496
+ msgID?: string;
3397
3497
  data: {
3398
3498
  location: import("../react-native-sdk/src").TGeolocationObject;
3399
3499
  };
3400
3500
  };
3401
3501
  DRAW_PATH: {
3402
- msgID?: string | undefined;
3502
+ msgID?: string;
3403
3503
  data: {
3404
3504
  path: string[];
3405
3505
  pathOptions: import("../react-native-sdk/src").TPathOptions;
3406
3506
  };
3407
3507
  };
3408
3508
  ADD_PATH: {
3409
- msgID?: string | undefined;
3509
+ msgID?: string;
3410
3510
  data: {
3411
3511
  nodes: import("./types").TSerializedNode[];
3412
3512
  options: import("../react-native-sdk/src").TPathOptions;
3413
3513
  };
3414
3514
  };
3415
3515
  REMOVE_PATH: {
3416
- msgID?: string | undefined;
3516
+ msgID?: string;
3417
3517
  data: {
3418
3518
  path: {
3419
3519
  id: string;
@@ -3421,65 +3521,65 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
3421
3521
  };
3422
3522
  };
3423
3523
  REMOVE_ALL_PATHS: {
3424
- msgID?: string | undefined;
3524
+ msgID?: string;
3425
3525
  data: null;
3426
3526
  };
3427
3527
  SET_STATE: {
3428
- msgID?: string | undefined;
3528
+ msgID?: string;
3429
3529
  data: {
3430
3530
  state: import("../react-native-sdk/src").STATE;
3431
3531
  };
3432
3532
  };
3433
3533
  CLEAR_JOURNEY: {
3434
- msgID?: string | undefined;
3534
+ msgID?: string;
3435
3535
  data: null;
3436
3536
  };
3437
3537
  DRAW_JOURNEY: {
3438
- msgID?: string | undefined;
3538
+ msgID?: string;
3439
3539
  data: {
3440
3540
  directions: import("../react-native-sdk/src").IDirectionsResult;
3441
3541
  options: import("./types").TSerializableJourneyOptions;
3442
3542
  };
3443
3543
  };
3444
3544
  SET_COOKIE: {
3445
- msgID?: string | undefined;
3545
+ msgID?: string;
3446
3546
  data: {
3447
3547
  cookie: any;
3448
3548
  };
3449
3549
  };
3450
3550
  GET_NEAREST_NODE_BY_SCREEN_COORDINATES: {
3451
- msgID?: string | undefined;
3551
+ msgID?: string;
3452
3552
  data: {
3453
3553
  x: number;
3454
3554
  y: number;
3455
- map?: string | undefined;
3555
+ map?: string;
3456
3556
  };
3457
3557
  };
3458
3558
  SEARCH: {
3459
- msgID?: string | undefined;
3559
+ msgID?: string;
3460
3560
  data: {
3461
3561
  query: string;
3462
3562
  };
3463
3563
  };
3464
3564
  SUGGEST: {
3465
- msgID?: string | undefined;
3565
+ msgID?: string;
3466
3566
  data: {
3467
3567
  query: string;
3468
3568
  };
3469
3569
  };
3470
3570
  ADD_SEARCH_QUERY: {
3471
- msgID?: string | undefined;
3571
+ msgID?: string;
3472
3572
  data: {
3473
3573
  query: string;
3474
3574
  object: {
3475
3575
  type: "MappedinLocation" | "MappedinCategory" | "Custom";
3476
3576
  id: string;
3477
3577
  };
3478
- weight?: number | undefined;
3578
+ weight?: number;
3479
3579
  };
3480
3580
  };
3481
3581
  CLICK: {
3482
- msgID?: string | undefined;
3582
+ msgID?: string;
3483
3583
  data: {
3484
3584
  position: {
3485
3585
  latitude: number;
@@ -3498,45 +3598,45 @@ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
3498
3598
  };
3499
3599
  };
3500
3600
  GET_PRIMARY_LOCATION_FOR_POLYGON: {
3501
- msgID?: string | undefined;
3601
+ msgID?: string;
3502
3602
  data: {
3503
3603
  polygon: import("./types").TSerializedPolygon;
3504
3604
  };
3505
3605
  };
3506
3606
  GET_POLYGONS_AT_COORDINATE: {
3507
- msgID?: string | undefined;
3607
+ msgID?: string;
3508
3608
  data: {
3509
3609
  coordinate: import("./types").TSerializedCoordinate;
3510
- options?: import("../../core/packages/renderer").TGetPolygonsAtCoordinateOptions | undefined;
3610
+ options?: import("../../core/packages/renderer").TGetPolygonsAtCoordinateOptions;
3511
3611
  };
3512
3612
  };
3513
3613
  GET_POLYGONS_AT_SCREEN_COORDINATE: {
3514
- msgID?: string | undefined;
3614
+ msgID?: string;
3515
3615
  data: {
3516
3616
  x: number;
3517
3617
  y: number;
3518
- options?: import("../../core/packages/renderer").TGetPolygonsAtCoordinateOptions | undefined;
3618
+ options?: import("../../core/packages/renderer").TGetPolygonsAtCoordinateOptions;
3519
3619
  };
3520
3620
  };
3521
3621
  CREATE_TOOLTIP: {
3522
- msgID?: string | undefined;
3622
+ msgID?: string;
3523
3623
  data: {
3524
3624
  nodeOrCoordinate: import("./types").TSerializedCoordinate | import("./types").TSerializedNode;
3525
3625
  contentHtml: string;
3526
- options?: import("../../core/packages/renderer").TCreateTooltipOptions | undefined;
3626
+ options?: import("../../core/packages/renderer").TCreateTooltipOptions;
3527
3627
  };
3528
3628
  };
3529
3629
  CREATE_CUSTOM_TOOLTIP: {
3530
- msgID?: string | undefined;
3630
+ msgID?: string;
3531
3631
  data: {
3532
3632
  nodeOrCoordinate: import("./types").TSerializedCoordinate | import("./types").TSerializedNode;
3533
3633
  contentHtml: string;
3534
3634
  selector: string;
3535
- options?: import("../../core/packages/renderer").TCreateTooltipCommonOptions | undefined;
3635
+ options?: import("../../core/packages/renderer").TCreateTooltipCommonOptions;
3536
3636
  };
3537
3637
  };
3538
3638
  REMOVE_TOOLTIP: {
3539
- msgID?: string | undefined;
3639
+ msgID?: string;
3540
3640
  data: {
3541
3641
  tooltipId: string;
3542
3642
  };
@@ -3755,7 +3855,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
3755
3855
  #private;
3756
3856
  lines: number;
3757
3857
  contextConfigured: boolean;
3758
- fillText: TDrawFn | undefined;
3858
+ fillText: TDrawFn;
3759
3859
  newStyle: {
3760
3860
  pinVisibility: PINVISIBILITY;
3761
3861
  };
@@ -3792,7 +3892,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
3792
3892
  }
3793
3893
 
3794
3894
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core' {
3795
- import FakeGeolocation from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/fake-geolocation';
3796
3895
  import { IStateMachine } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.StateMachine';
3797
3896
  import { E_BLUEDOT_MARKER_STATE, E_BLUEDOT_STATE, E_BLUEDOT_STATE_REASON } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums';
3798
3897
  import { PubSub, IPubSub } from '@mappedin/react-native-sdk/core/packages/renderer/internal/pub-sub';
@@ -3950,7 +4049,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
3950
4049
  export type TLatLonProps = [number, number];
3951
4050
  const BlueDot: {
3952
4051
  ({ data, core, manager }: TBlueDotProps): IBlueDotCore;
3953
- FakeGeolocation: typeof FakeGeolocation;
4052
+ FakeGeolocation: any;
3954
4053
  };
3955
4054
  export default BlueDot;
3956
4055
  }
@@ -4165,6 +4264,49 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
4165
4264
  export default SmartTooltip;
4166
4265
  }
4167
4266
 
4267
+ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/OutdoorViewController' {
4268
+ import './OutdoorViewController.scss';
4269
+ import type { ICore } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
4270
+ import { XOR } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
4271
+ export type TAttributionPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
4272
+ export type TOutdoorViewControllerOptionsWithHeaders = {
4273
+ url?: string;
4274
+ attributionPosition?: TAttributionPosition;
4275
+ headers: {
4276
+ [key: string]: string | null;
4277
+ };
4278
+ };
4279
+ export type TOutdoorViewControllerOptionsWithAuthURL = {
4280
+ url?: string;
4281
+ authURL?: string;
4282
+ attributionPosition?: TAttributionPosition;
4283
+ };
4284
+ export type TOutdoorViewControllerOptions = XOR<TOutdoorViewControllerOptionsWithHeaders, TOutdoorViewControllerOptionsWithAuthURL>;
4285
+ class OutdoorViewController {
4286
+ _attribution: any;
4287
+ core: ICore;
4288
+ map: any;
4289
+ enabled: boolean;
4290
+ url: string;
4291
+ authURL: string;
4292
+ headers?: TOutdoorViewControllerOptions['headers'];
4293
+ attributionPosition?: TAttributionPosition;
4294
+ loaded: boolean;
4295
+ constructor(core: ICore, options?: TOutdoorViewControllerOptions);
4296
+ module: any;
4297
+ load(): Promise<void>;
4298
+ get attributions(): any;
4299
+ hide(): void;
4300
+ show(): void;
4301
+ resize(): void;
4302
+ getRequestHeaders: () => Promise<TOutdoorViewControllerOptions['headers']>;
4303
+ render(): void;
4304
+ setStyle(style: any): void;
4305
+ setAttributionPosition(position: TAttributionPosition): void;
4306
+ }
4307
+ export default OutdoorViewController;
4308
+ }
4309
+
4168
4310
  declare module '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/BlueDotController' {
4169
4311
  import type { IBlueDotCore, ICore, TEnableBlueDotOptions } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
4170
4312
  import { E_BLUEDOT_EVENT_PAYLOAD, E_BLUEDOT_EVENT, PubSub } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
@@ -4365,7 +4507,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin' {
4365
4507
  POLYGON = "polygons",
4366
4508
  VORTEX = "vortexes"
4367
4509
  }
4368
- type TAccessors = {
4510
+ export type TAccessors = {
4369
4511
  [MappedinCollectionType.CATEGORY]: MappedinCategory;
4370
4512
  [MappedinCollectionType.EVENT]: MappedinEvent;
4371
4513
  [MappedinCollectionType.LOCATION]: MappedinLocation;
@@ -4712,7 +4854,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocat
4712
4854
  * @type [MappedinCategory]
4713
4855
  */
4714
4856
  get categories(): MappedinCategory[];
4715
- get state(): MappedinLocationState | undefined;
4857
+ get state(): MappedinLocationState;
4716
4858
  clone(): MappedinLocation;
4717
4859
  get nodeOperationHours(): TOperationHoursMap;
4718
4860
  static hydrate(locations: any, mappedin: Mappedin): MappedinLocation[];
@@ -4815,6 +4957,15 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinPolyg
4815
4957
  x: number;
4816
4958
  y: number;
4817
4959
  }[];
4960
+ /**
4961
+ * @internal
4962
+ *
4963
+ * The center coordinate of the polygon used for positioning {@link FloatingLabels} for MVF venues.
4964
+ */
4965
+ center?: {
4966
+ x: number;
4967
+ y: number;
4968
+ };
4818
4969
  canvasBounds?: {
4819
4970
  align: string;
4820
4971
  maxHeight: number;
@@ -4823,6 +4974,8 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinPolyg
4823
4974
  x: number;
4824
4975
  y: number;
4825
4976
  };
4977
+ /** Category grouped ranking determined by the {@link MappedinCategory.sortOrder} and {@link rank} for this polygon. */
4978
+ categoryRank?: number;
4826
4979
  constructor(mappedin: Mappedin, data: any);
4827
4980
  /**
4828
4981
  * Map Object that this Polygon is located on.
@@ -4985,6 +5138,8 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinCateg
4985
5138
  id?: string | undefined;
4986
5139
  icon?: TPicture | undefined;
4987
5140
  iconFromDefaultList?: string | undefined;
5141
+ /** Category sort priority. */
5142
+ sortOrder?: number | undefined;
4988
5143
  constructor(mappedin: Mappedin, data: any);
4989
5144
  /**
4990
5145
  * Locations in this Category.
@@ -5031,6 +5186,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMap'
5031
5186
  name: string;
5032
5187
  shortName: string;
5033
5188
  elevation: number;
5189
+ subtitle?: string;
5034
5190
  scale?: number;
5035
5191
  layers: {
5036
5192
  visible: boolean;
@@ -5219,6 +5375,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinVenue
5219
5375
  name: string;
5220
5376
  code: string;
5221
5377
  }[];
5378
+ topLocations?: string[];
5222
5379
  constructor(mappedin: Mappedin, data: any);
5223
5380
  get metadata(): any;
5224
5381
  set metadata(value: any);
@@ -5246,6 +5403,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinVorte
5246
5403
  * @property id {string}
5247
5404
  */
5248
5405
  id: string;
5406
+ accessible?: boolean;
5249
5407
  name?: string;
5250
5408
  type?: string;
5251
5409
  weight?: number;
@@ -5265,23 +5423,23 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinDirec
5265
5423
  import type { MappedinMap } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMap';
5266
5424
  import type { MappedinNode } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinNode';
5267
5425
  import type { MappedinVortex } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinVortex';
5268
- interface IActionDeparture {
5426
+ export interface IActionDeparture {
5269
5427
  type: ACTION_TYPE.DEPARTURE;
5270
5428
  }
5271
- interface IActionArrival {
5429
+ export interface IActionArrival {
5272
5430
  type: ACTION_TYPE.ARRIVAL;
5273
5431
  }
5274
- interface IActionTakeVortex {
5432
+ export interface IActionTakeVortex {
5275
5433
  type: ACTION_TYPE.TAKEVORTEX;
5276
5434
  toMap: MappedinMap;
5277
5435
  fromMap: MappedinMap;
5278
5436
  }
5279
- interface IActionExitVortex {
5437
+ export interface IActionExitVortex {
5280
5438
  type: ACTION_TYPE.EXITVORTEX;
5281
5439
  toMap: MappedinMap;
5282
5440
  fromMap: MappedinMap;
5283
5441
  }
5284
- interface IActionTurn {
5442
+ export interface IActionTurn {
5285
5443
  type: ACTION_TYPE.TURN;
5286
5444
  bearing: BEARING_TYPE;
5287
5445
  referencePosition?: string;
@@ -5313,7 +5471,6 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinDirec
5313
5471
  constructor(mappedin: Mappedin, directions: IDirectionsResult);
5314
5472
  toJSON(): IDirectionsResult;
5315
5473
  }
5316
- export {};
5317
5474
  }
5318
5475
 
5319
5476
  declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinCoordinate' {
@@ -5442,8 +5599,26 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinNavig
5442
5599
  import { MappedinDestinationSet } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinDestinationSet';
5443
5600
  import { Mappedin } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
5444
5601
  import { MappedinDirections } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinDirections';
5602
+ import { TSimplifyDirectionsOptions } from '@mappedin/react-native-sdk/core/packages/navigator';
5445
5603
  export type TDirectionToOptions = {
5604
+ /**
5605
+ * If true directions will only take accessible routes
5606
+ * @default false
5607
+ */
5446
5608
  accessible?: boolean;
5609
+ /**
5610
+ * Include all the vortexes matching the given IDs
5611
+ */
5612
+ includedVortexIds?: string[];
5613
+ /**
5614
+ * Exclude all the vortexes matching the given IDs
5615
+ */
5616
+ excludedVortexIds?: string[];
5617
+ /**
5618
+ * @experimental
5619
+ * Apply line-of-sight simplifying to directions. This will attempt to remove unnecessary nodes between turns.
5620
+ */
5621
+ simplify?: TSimplifyDirectionsOptions;
5447
5622
  };
5448
5623
  export abstract class MappedinNavigatable {
5449
5624
  #private;
@@ -5462,6 +5637,33 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinNavig
5462
5637
  }
5463
5638
  }
5464
5639
 
5640
+ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocationState' {
5641
+ import type { Mappedin } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
5642
+ /**
5643
+ * A location state, that can belong to any number of {@link MappedinLocation}s.
5644
+ * @class MappedinLocationState
5645
+ */
5646
+ export class MappedinLocationState {
5647
+ #private;
5648
+ /**
5649
+ * @internal
5650
+ */
5651
+ constructor(data: any);
5652
+ /**
5653
+ * @internal
5654
+ */
5655
+ static hydrate(locationStates: any): MappedinLocationState[];
5656
+ id: string;
5657
+ name: string;
5658
+ value: string;
5659
+ /**
5660
+ * @internal
5661
+ */
5662
+ static fetch(mappedin: Mappedin): Promise<MappedinLocationState[]>;
5663
+ toJSON(): any;
5664
+ }
5665
+ }
5666
+
5465
5667
  declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.CustomerAnalytics' {
5466
5668
  import { MappedinCategory, MappedinLocation, MappedinNavigatable } from '@mappedin/react-native-sdk/core/packages/get-venue';
5467
5669
  type AnalyticsOptions = {
@@ -5512,7 +5714,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.Cust
5512
5714
  class Analytics implements IInternalAnalytics {
5513
5715
  #private;
5514
5716
  constructor(options: AnalyticsOptions);
5515
- track(target: any, query: any): void;
5717
+ track(target: string, query: Record<string, any>): void;
5516
5718
  /**
5517
5719
  * Whenever a location is selected, you should fire this event. What "selected" means can vary by venue,
5518
5720
  * but a good rule of thumb is that you fire the event whenever you would show the location's details.
@@ -5819,6 +6021,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.
5819
6021
  paths: {
5820
6022
  node: string;
5821
6023
  map: string;
6024
+ weight?: number;
5822
6025
  }[];
5823
6026
  [propName: string]: any;
5824
6027
  };
@@ -5869,6 +6072,8 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.
5869
6072
  opens: string;
5870
6073
  closes: string;
5871
6074
  dayOfWeek: string[];
6075
+ validFrom?: string;
6076
+ validThrough?: string;
5872
6077
  };
5873
6078
  export type TSiblingGroup = {
5874
6079
  label: string;
@@ -5964,7 +6169,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.API.
5964
6169
  name?: string;
5965
6170
  entrances: {
5966
6171
  map: TMap['id'];
5967
- node: TNode['id'];
6172
+ id: TNode['id'];
5968
6173
  }[];
5969
6174
  };
5970
6175
  export type TPolygonRanking = {
@@ -6035,7 +6240,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
6035
6240
  };
6036
6241
  labeledPolygons: {};
6037
6242
  labelAllLocations(options?: TFlatLabelAllLocationsOptions): FlatLabel[];
6038
- labelPolygon(polygonOrPolygonId: MappedinPolygon | MappedinPolygon['id'], text: string, options?: TAddFlatLabelOptions): FlatLabel;
6243
+ labelPolygon(polygonOrPolygonId: MappedinPolygon | MappedinPolygon['id'], text: string, options?: TAddFlatLabelOptions): any;
6039
6244
  removeLabel(polygonOrPolygonId: MappedinPolygon | MappedinPolygon['id']): void;
6040
6245
  setAppearance(polygon: MappedinPolygon, appearance: TFlatLabelAppearance): void;
6041
6246
  setHoverColorForAll(color: string): void;
@@ -6047,28 +6252,31 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
6047
6252
  declare module '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/FloatingLabelsController' {
6048
6253
  import { FloatingLabel } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
6049
6254
  import type { ICore, TFloatingLabelAllLocationsOptions, TAddFloatingLabelOptions, TFloatingLabelPolygonOptions, TFloatingLabelAppearance } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
6050
- import { MappedinPolygon, MappedinNode } from '@mappedin/react-native-sdk/core/packages/get-venue';
6255
+ import { MappedinMap, MappedinPolygon, MappedinCoordinate, MappedinNode } from '@mappedin/react-native-sdk/core/packages/get-venue';
6051
6256
  export type TLabelRenderOptions = TFloatingLabelPolygonOptions & {
6257
+ id?: string;
6052
6258
  polygon?: MappedinPolygon;
6053
6259
  rank: number;
6054
- entranceNode: MappedinNode;
6260
+ entranceNode?: MappedinNode;
6261
+ map: MappedinMap;
6055
6262
  text: string;
6056
6263
  createDespiteImage: boolean | undefined;
6264
+ coordinate?: MappedinCoordinate;
6057
6265
  };
6058
6266
  class FloatingLabelsController {
6059
6267
  #private;
6060
6268
  core: ICore;
6061
- constructor(core: ICore);
6062
- addLabel(polygonOrNode: MappedinPolygon | MappedinNode, text: string, options?: TAddFloatingLabelOptions): FloatingLabel | FloatingLabel[] | null;
6063
- removeLabel(polygonOrNode: MappedinPolygon | MappedinNode, bulk?: boolean): void;
6064
- setPriority(polygonOrNode: MappedinPolygon | MappedinNode, rank: number): void;
6065
- resetPriority(polygonOrNode: MappedinPolygon | MappedinNode): void;
6066
- removeAllLabels(): void;
6067
- setAppearance(polygonOrNode: MappedinPolygon | MappedinNode, appearance: TFloatingLabelAppearance): void;
6068
- labelAllLocations(options?: TFloatingLabelAllLocationsOptions): FloatingLabel[];
6069
6269
  floatingLabels: {
6070
6270
  [key in MappedinNode['id']]: FloatingLabel;
6071
6271
  };
6272
+ constructor(core: ICore);
6273
+ addLabel(target: MappedinPolygon | MappedinNode | MappedinCoordinate, text: string, options?: TAddFloatingLabelOptions): FloatingLabel | FloatingLabel[];
6274
+ removeLabel(target: MappedinPolygon | MappedinNode | MappedinCoordinate, bulk?: boolean): void;
6275
+ setPriority(target: MappedinPolygon | MappedinNode | MappedinCoordinate, rank: number): void;
6276
+ resetPriority(target: MappedinPolygon | MappedinNode | MappedinCoordinate): void;
6277
+ removeAllLabels(): void;
6278
+ setAppearance(target: MappedinPolygon | MappedinNode | MappedinCoordinate, appearance: TFloatingLabelAppearance): void;
6279
+ labelAllLocations(options?: TFloatingLabelAllLocationsOptions): FloatingLabel[];
6072
6280
  }
6073
6281
  export default FloatingLabelsController;
6074
6282
  }
@@ -6104,8 +6312,16 @@ declare module '@mappedin/react-native-sdk/core/packages/navigator/NavigationGra
6104
6312
  * @param originIds array - of one or more node ids
6105
6313
  * @param destinationNodeIds array - of onr or more node ids
6106
6314
  * @param accessible boolean - optional, if true directions will only take accessible route, defaults to false
6315
+ * @param includedVortexIds set - optional, exclude all the vertexes matching the given IDs
6316
+ * @param excludedVortexIds set - optional, exclude all the vertexes matching the given IDs
6107
6317
  */
6108
- aStar(originIds: string[], destinationNodeIds: string[], accessible: boolean): Edge[];
6318
+ aStar({ originIds, destinationNodeIds, accessible, includedVortexIds, excludedVortexIds, }: {
6319
+ originIds: string[];
6320
+ destinationNodeIds: string[];
6321
+ accessible: boolean;
6322
+ includedVortexIds?: Set<string>;
6323
+ excludedVortexIds?: Set<string>;
6324
+ }): Edge[];
6109
6325
  getDistance(origin: INode, destination: INode): number;
6110
6326
  getShortestEuclideanDistance(origin: INode, destinations: INode[]): number;
6111
6327
  }
@@ -6118,46 +6334,68 @@ declare module '@mappedin/react-native-sdk/core/packages/navigator/Navigator' {
6118
6334
  import ILocation from '@mappedin/react-native-sdk/core/packages/navigator/interfaces/ILocation';
6119
6335
  import IMap from '@mappedin/react-native-sdk/core/packages/navigator/interfaces/IMap';
6120
6336
  import INode from '@mappedin/react-native-sdk/core/packages/navigator/interfaces/INode';
6337
+ import IPolygon from '@mappedin/react-native-sdk/core/packages/navigator/interfaces/IPolygon';
6121
6338
  import IVortex from '@mappedin/react-native-sdk/core/packages/navigator/interfaces/IVortex';
6122
6339
  export enum E_MESSAGES {
6123
- NO_VALID_PATH = "No Valid Path Available"
6340
+ NO_VALID_PATH = "No Valid Path Available"
6124
6341
  }
6125
6342
  export function differenceBetweenAngles(a: any, b: any): number;
6126
6343
  export interface IDirectionsResult {
6127
- distance: number;
6128
- path: INode[];
6129
- instructions: Directive[];
6344
+ distance: number;
6345
+ path: INode[];
6346
+ instructions: Directive[];
6130
6347
  }
6348
+ /**
6349
+ * @experimental
6350
+ * Configuration options for directions simplifying.
6351
+ */
6352
+ export type TSimplifyDirectionsOptions = {
6353
+ /**
6354
+ * Enable or disable simplifying.
6355
+ */
6356
+ enabled: boolean;
6357
+ /**
6358
+ * The radius of the buffer around the path.
6359
+ * @default 1.8
6360
+ */
6361
+ bufferRadius?: number;
6362
+ };
6131
6363
  class Navigator {
6132
- constructor({ locations, nodes, vortexes, maps, showVortexNames, }: {
6133
- locations: ILocation[];
6134
- nodes: INode[];
6135
- vortexes: IVortex[];
6136
- maps: IMap[];
6137
- showVortexNames?: boolean;
6138
- });
6139
- getClosestLocationInRay(startingEdge: Edge, angleThreshold?: number, distanceThreshold?: number): ILocation | null;
6140
- /**
6141
- * getDirections takes one or more origin node ids, one or more destination node ids
6142
- * and returns a distance, array of directives, and an array of nodes that define the
6143
- * path to take.
6144
- *
6145
- * The returned directives array defines nodes, vortexes, and locations along the path
6146
- * along with text directions.
6147
- *
6148
- * @param originIds array - of one or more node ids
6149
- * @param destinationNodeIds array - of onr or more node ids
6150
- * @param accessible boolean - optional, if true directions will only take accessible route, defaults to false
6151
- * @param departFrom ILocation - optional, id and name of a location to represent start of journey
6152
- * @param arriveAt ILocation - optional, id and name of a location to represent end of journey
6153
- */
6154
- getDirections({ originIds, destinationNodeIds, accessible, departFrom, arriveAt, }: {
6155
- originIds: string[];
6156
- destinationNodeIds: string[];
6157
- accessible: boolean;
6158
- departFrom?: ILocation;
6159
- arriveAt?: ILocation;
6160
- }): IDirectionsResult;
6364
+ constructor({ locations, nodes, vortexes, maps, polygons, showVortexNames, }: {
6365
+ locations: ILocation[];
6366
+ nodes: INode[];
6367
+ vortexes: IVortex[];
6368
+ maps: IMap[];
6369
+ polygons?: IPolygon[];
6370
+ showVortexNames?: boolean;
6371
+ });
6372
+ getClosestLocationInRay(startingEdge: Edge, angleThreshold?: number, distanceThreshold?: number): ILocation;
6373
+ /**
6374
+ * getDirections takes one or more origin node ids, one or more destination node ids
6375
+ * and returns a distance, array of directives, and an array of nodes that define the
6376
+ * path to take.
6377
+ *
6378
+ * The returned directives array defines nodes, vortexes, and locations along the path
6379
+ * along with text directions.
6380
+ *
6381
+ * @param originIds array - of one or more node ids
6382
+ * @param destinationNodeIds array - of onr or more node ids
6383
+ * @param accessible boolean - optional, if true directions will only take accessible route, defaults to false
6384
+ * @param departFrom ILocation - optional, id and name of a location to represent start of journey
6385
+ * @param arriveAt ILocation - optional, id and name of a location to represent end of journey
6386
+ * @param includedVortexIds set - optional, exclude all the vertexes matching the given IDs
6387
+ * @param excludedVortexIds set - optional, exclude all the vertexes matching the given IDs
6388
+ */
6389
+ getDirections({ originIds, destinationNodeIds, accessible, departFrom, arriveAt, includedVortexIds, excludedVortexIds, simplify, }: {
6390
+ originIds: string[];
6391
+ includedVortexIds?: Set<string>;
6392
+ excludedVortexIds?: Set<string>;
6393
+ destinationNodeIds: string[];
6394
+ accessible: boolean;
6395
+ departFrom?: ILocation;
6396
+ arriveAt?: ILocation;
6397
+ simplify?: TSimplifyDirectionsOptions;
6398
+ }): IDirectionsResult;
6161
6399
  }
6162
6400
  export default Navigator;
6163
6401
  }
@@ -6294,13 +6532,15 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal' {
6294
6532
  USER_MULTI_END = 24,
6295
6533
  FOCUSON_BEGIN = 25,
6296
6534
  USER_HANDS_ON = 26,
6297
- USER_HANDS_OFF = 27
6535
+ USER_HANDS_OFF = 27,
6536
+ OUTDOOR_VIEW_LOADED = 28
6298
6537
  }
6299
6538
  export type INTERNAL_EVENT_PAYLOAD = {
6300
6539
  [INTERNAL_EVENT.SET_SCENE_START]: undefined;
6301
6540
  [INTERNAL_EVENT.SET_SCENE_MAP]: undefined;
6302
6541
  [INTERNAL_EVENT.ON_FIRST_MAP_LOADED]: undefined;
6303
6542
  [INTERNAL_EVENT.TEXTURE_LOADED]: Texture;
6543
+ [INTERNAL_EVENT.OUTDOOR_VIEW_LOADED]: undefined;
6304
6544
  [INTERNAL_EVENT.RENDER]: undefined;
6305
6545
  [INTERNAL_EVENT.RENDER_NOW]: undefined;
6306
6546
  [INTERNAL_EVENT.UPDATE_FLIPPABLES]: undefined | boolean;
@@ -6369,6 +6609,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal' {
6369
6609
  export { default as SmartCollisionEngine } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollisionEngine';
6370
6610
  export { default as BillboardManager } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/BillboardManager';
6371
6611
  export { default as StackedMapsController } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/StackedMapsController';
6612
+ export { MultiBufferRenderer } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.Renderer';
6613
+ export { default as OutdoorViewController } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/OutdoorViewController';
6372
6614
  /**
6373
6615
  * Types
6374
6616
  */
@@ -6398,15 +6640,14 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal' {
6398
6640
 
6399
6641
  declare module '@mappedin/react-native-sdk/core/packages/renderer' {
6400
6642
  import { MapView } from '@mappedin/react-native-sdk/core/packages/renderer/public/MapView';
6401
- import { getVenue, getVenueMVF, getVenueBundle, Mappedin, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue';
6643
+ import { getVenue, getVenueMVF, getVenueBundle, Mappedin, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions, hydrateVenue } from '@mappedin/react-native-sdk/core/packages/get-venue';
6402
6644
  import { PositionUpdater } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
6403
6645
  import type { TMapViewOptions } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
6404
- import { MARKER_ANCHOR } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.Marker';
6405
6646
  export { E_SDK_LOG_LEVEL, setLoggerLevel } from '@mappedin/react-native-sdk/core/common/Mappedin.Logger';
6406
6647
  export type { Marker } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/MarkersController';
6407
6648
  export type { Path } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/PathsController';
6408
6649
  export { BEARING_TYPE, ACTION_TYPE } from '@mappedin/react-native-sdk/core/packages/navigator';
6409
- export type { IDirectionsResult, E_MESSAGES as E_GET_DIRECTIONS_MESSAGES } from '@mappedin/react-native-sdk/core/packages/navigator';
6650
+ export type { IDirectionsResult, TSimplifyDirectionsOptions, E_MESSAGES as E_GET_DIRECTIONS_MESSAGES, } from '@mappedin/react-native-sdk/core/packages/navigator';
6410
6651
  /**
6411
6652
  * APIs for TypeDoc
6412
6653
  */
@@ -6416,6 +6657,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
6416
6657
  export type { BlueDot } from '@mappedin/react-native-sdk/core/packages/renderer/public/api/BlueDot';
6417
6658
  export type { Markers } from '@mappedin/react-native-sdk/core/packages/renderer/public/api/Markers';
6418
6659
  export type { Paths } from '@mappedin/react-native-sdk/core/packages/renderer/public/api/Paths';
6660
+ export type { StackedMaps } from '@mappedin/react-native-sdk/core/packages/renderer/public/api/StackedMaps';
6661
+ export type { OutdoorView } from '@mappedin/react-native-sdk/core/packages/renderer/public/api/OutdoorView';
6419
6662
  export type { TOOLTIP_ANCHOR } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartTooltip';
6420
6663
  export type TMappedinInitializeOutput = {
6421
6664
  mapView: MapView;
@@ -6440,14 +6683,15 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
6440
6683
  * @returns
6441
6684
  */
6442
6685
  function showVenue<T extends Mappedin>(el: HTMLElement, venue: T, options?: TMapViewOptions): Promise<MapView>;
6443
- 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, STACKED_MAPS_STATE, } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums';
6444
- export { getVenue, getVenueMVF, getVenueBundle, showVenue, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, PositionUpdater, MappedinDestinationSet, MARKER_ANCHOR, };
6686
+ 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, STACKED_MAPS_STATE, MARKER_ANCHOR, GEOLOCATION_STATUS, } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums';
6687
+ export { getVenue, getVenueMVF, getVenueBundle, showVenue, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, hydrateVenue, PositionUpdater, MappedinDestinationSet, };
6445
6688
  import DefaultAssetManager from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.AssetManager';
6446
6689
  import { TTileManagerOptions } from '@mappedin/react-native-sdk/core/packages/renderer/internal/outdoor-context/Mappedin.TileManager';
6690
+ import { TShowWatermarkOptions } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/WatermarkController';
6447
6691
  /**
6448
6692
  * @internal
6449
6693
  */
6450
- const setAssetManager: <T extends DefaultAssetManager>(am: T) => void;
6694
+ const setAssetManager: any;
6451
6695
  export {
6452
6696
  /**
6453
6697
  * @internal
@@ -6457,13 +6701,13 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
6457
6701
  * @internal
6458
6702
  */
6459
6703
  DefaultAssetManager as AssetManager, };
6460
- export type { TMappedinDirective } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinDirections';
6704
+ export type { TMappedinDirective, IAction, IActionArrival, IActionDeparture, IActionExitVortex, IActionTakeVortex, IActionTurn, } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinDirections';
6461
6705
  export type { TMappedinInitializeOptions };
6462
6706
  export * from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
6463
6707
  export type { MapView } from '@mappedin/react-native-sdk/core/packages/renderer/public/MapView';
6464
- export type { TSafeAreaInsets, TCameraTargets, TFocusOnCameraOptions, TCameraTransform, TCameraAnimationOptions, default as CameraController, } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/CameraController';
6465
- export type { TGetVenueOptions, TShowVenueOptions, TMappedinOfflineSearchOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineAllSearchMatch, TMappedinOfflineSearchAllOptions, } from '@mappedin/react-native-sdk/core/packages/get-venue';
6466
- export { Mappedin, MappedinDirections, MappedinLocation, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinNavigatable, MappedinCoordinate, OfflineSearch, MAP_RENDER_MODE, setFetchFn, MappedinCollectionType, } from '@mappedin/react-native-sdk/core/packages/get-venue';
6708
+ export type { TSafeAreaInsets, TCameraTargets, TFocusOnCameraOptions, TCameraTransform, TCameraInteractionsSetOptions, TCameraAnimationOptions, default as CameraController, } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/CameraController';
6709
+ export type { TGetVenueOptions, TGetVenueBundleOptions, TShowVenueOptions, TMappedinOfflineSearchOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineAllSearchMatch, TMappedinOfflineSearchAllOptions, TDirectionToOptions, TPicture, TImage, TColor, TGalleryImage, TOpeningHours, TPhone, TSiblingGroup, TSocial, TState, TGeoReference, TPolygonRanking, TOperationHoursMap, TAccessors, } from '@mappedin/react-native-sdk/core/packages/get-venue';
6710
+ export { Mappedin, MappedinDirections, MappedinLocation, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinRankings, MappedinNavigatable, MappedinCoordinate, OfflineSearch, MAP_RENDER_MODE, setFetchFn, MappedinCollectionType, MappedinLocationState, } from '@mappedin/react-native-sdk/core/packages/get-venue';
6467
6711
  /**
6468
6712
  * @internal
6469
6713
  * @hidden
@@ -6472,7 +6716,31 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
6472
6716
  */
6473
6717
  export { CustomerAnalytics } from '@mappedin/react-native-sdk/core/packages/get-venue';
6474
6718
  export { BundleAssetManager } from '@mappedin/react-native-sdk/core/packages/renderer/bundle-asset-manager';
6719
+ /**
6720
+ * @deprecated Use {@link OutdoorView} instead.
6721
+ * Enable Tile Manager to render outdoor tiles around the venue. Must be called before {@link showVenue}.
6722
+ *
6723
+ * @example
6724
+ * ```ts
6725
+ * __enableTileManager({
6726
+ * provider: new AzureOutdoorContextProvider(
6727
+ * venue.options.language,
6728
+ * 256,
6729
+ * "Your Azure API Key",
6730
+ * undefined //Omitted when using API Key.
6731
+ * )
6732
+ * });
6733
+ * ```
6734
+ */
6475
6735
  export function __enableTileManager(options?: TTileManagerOptions): void;
6736
+ /**
6737
+ * @hidden
6738
+ * @internal
6739
+ *
6740
+ * Show a Mappedin logo in the 3D scene. Must be called before {@link showVenue}.
6741
+ */
6742
+ export function __showWatermark(options?: TShowWatermarkOptions): void;
6743
+ export type { TTileManagerOptions, TILE_RENDER_MODES } from '@mappedin/react-native-sdk/core/packages/renderer/internal/outdoor-context/Mappedin.TileManager';
6476
6744
  export {
6477
6745
  /**
6478
6746
  * @internal
@@ -6489,6 +6757,29 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
6489
6757
  IOutdoorContextProvider, } from './internal/outdoor-context/Outdoor-Context.provider';
6490
6758
  }
6491
6759
 
6760
+ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/WatermarkController' {
6761
+ import { ICore } from '@mappedin/react-native-sdk/core/packages/renderer/private/Core.interface';
6762
+ import { Sprite } from 'three';
6763
+ type TPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'center' | 'top' | 'bottom' | 'left' | 'right';
6764
+ export type TShowWatermarkOptions = {
6765
+ padding?: number;
6766
+ position?: TPosition;
6767
+ scale?: number;
6768
+ onClick?: () => void;
6769
+ };
6770
+ class WatermarkController {
6771
+ #private;
6772
+ static ENABLED: boolean;
6773
+ static OPTIONS: Required<TShowWatermarkOptions>;
6774
+ object: Sprite;
6775
+ constructor(core: ICore);
6776
+ show: () => void;
6777
+ hide: () => void;
6778
+ resize: () => void;
6779
+ }
6780
+ export default WatermarkController;
6781
+ }
6782
+
6492
6783
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/shave-text' {
6493
6784
  export type TDrawFn = (ctx: CanvasRenderingContext2D, x: number, y: number) => void;
6494
6785
  type TShave = (str: string, size: number, maxWidth: number, maxLines?: number, lineHeight?: number, options?: {
@@ -6503,35 +6794,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/shave
6503
6794
  export {};
6504
6795
  }
6505
6796
 
6506
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/fake-geolocation' {
6507
- export default FakeGeolocation;
6508
- class FakeGeolocation {
6509
- constructor(options: any);
6510
- active: boolean;
6511
- positions: any[];
6512
- positionIndex: number;
6513
- timerList: any[];
6514
- timeElapsed: number;
6515
- startTime: number | undefined;
6516
- startPos: number;
6517
- endPos: number;
6518
- smoothingType: any;
6519
- isActive(): boolean;
6520
- setCallbacks(success: any, error: any, options: any): void;
6521
- watchPosition(success: any, error: any, options: any): void;
6522
- sendPositionResponse(position: any): void;
6523
- start(): void;
6524
- pause(): void;
6525
- speed: any;
6526
- setPositions(positions: any): void;
6527
- successCallback: any;
6528
- errorCallback: any;
6529
- options: any;
6530
- clearWatch(): void;
6531
- reset(): void;
6532
- }
6533
- }
6534
-
6535
6797
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.StateMachine' {
6536
6798
  import { IPubSub } from '@mappedin/react-native-sdk/core/packages/renderer/internal/pub-sub';
6537
6799
  import { E_BLUEDOT_STATE, E_BLUEDOT_MARKER_STATE } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
@@ -6614,7 +6876,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
6614
6876
  get isMultiFloor(): boolean;
6615
6877
  get mapsInJourney(): any[];
6616
6878
  get mapIdsInvolvedInJourney(): string[];
6617
- constructor(directions: MappedinDirections | MappedinDirections[], options: TJourneyOptions | undefined, core: ICore);
6879
+ constructor(directions: MappedinDirections | MappedinDirections[], options: TJourneyOptions, core: ICore);
6618
6880
  setStep: (step: any) => void;
6619
6881
  setStepByPath: (path: Path) => void;
6620
6882
  static instance: JourneyController | null;
@@ -6637,24 +6899,6 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocat
6637
6899
  }
6638
6900
  }
6639
6901
 
6640
- declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinLocationState' {
6641
- import type { Mappedin } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
6642
- /**
6643
- * A location state, that can belong to any number of {@link MappedinLocation}s.
6644
- * @class MappedinLocationState
6645
- */
6646
- export class MappedinLocationState {
6647
- #private;
6648
- constructor(data: any);
6649
- static hydrate(locationStates: any): MappedinLocationState[];
6650
- id: string;
6651
- name: string;
6652
- value: string;
6653
- static fetch(mappedin: Mappedin): Promise<MappedinLocationState[]>;
6654
- toJSON(): any;
6655
- }
6656
- }
6657
-
6658
6902
  declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinTheme' {
6659
6903
  import type { Mappedin } from '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin';
6660
6904
  export class MappedinTheme {
@@ -6682,13 +6926,14 @@ declare module '@mappedin/react-native-sdk/core/packages/navigator/Edge' {
6682
6926
  distance: number;
6683
6927
  angle: number;
6684
6928
  weight: number;
6685
- constructor({ origin, destination, vortex, elevationDelta, distance, angle, }: {
6929
+ constructor({ origin, destination, vortex, elevationDelta, distance, angle, pathWeight, }: {
6686
6930
  origin: INode;
6687
6931
  destination: INode;
6688
6932
  vortex?: IVortex;
6689
6933
  elevationDelta?: number;
6690
6934
  distance?: number;
6691
6935
  angle?: number;
6936
+ pathWeight?: number;
6692
6937
  });
6693
6938
  }
6694
6939
  export default Edge;
@@ -6751,6 +6996,22 @@ declare module '@mappedin/react-native-sdk/core/packages/navigator/interfaces/IL
6751
6996
  export default ILocation;
6752
6997
  }
6753
6998
 
6999
+ declare module '@mappedin/react-native-sdk/core/packages/navigator/interfaces/IPolygon' {
7000
+ interface IPolygon {
7001
+ id: string;
7002
+ map: string;
7003
+ layer?: string;
7004
+ layerId?: string;
7005
+ externalId?: string;
7006
+ name?: string;
7007
+ vertexes: {
7008
+ x: number;
7009
+ y: number;
7010
+ }[];
7011
+ }
7012
+ export default IPolygon;
7013
+ }
7014
+
6754
7015
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.RenderTasks' {
6755
7016
  /**
6756
7017
  * Tasks that can be submitted to the renderer. The `STATIC_AND_ANIMATED` task
@@ -6760,7 +7021,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
6760
7021
  ANIMATED = "animated",
6761
7022
  ALWAYS_ON_TOP = "always_on_top",
6762
7023
  ALL = "all",
6763
- TWEEN = "tween"
7024
+ TWEEN = "tween",
7025
+ ALL_WITHOUT_EFFECTS = "all_without_effects"
6764
7026
  }
6765
7027
  export default RENDER;
6766
7028
  }
@@ -7295,7 +7557,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.Task
7295
7557
  declare module '@mappedin/react-native-sdk/core/packages/renderer/private/scene-manager/MapView.SceneManager' {
7296
7558
  import { MappedinMap } from '@mappedin/react-native-sdk/core/packages/get-venue';
7297
7559
  import type { ICore, TCameraAnimationOptions, TFocusOnCameraOptions, TCameraTargets } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
7298
- import { MapObject, MapViewScene } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
7560
+ import { MapViewScene } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
7299
7561
  export type TSceneTransitionOptions = {
7300
7562
  /**
7301
7563
  * Map to set as active during the transition. This will decide where the camera will be positioned, as well as which
@@ -7356,238 +7618,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/pub-s
7356
7618
  }
7357
7619
  }
7358
7620
 
7359
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.MapObject' {
7360
- export namespace TASK_PRIORITY {
7361
- const VISIBLE_MAP_HIGH: number;
7362
- const VISIBLE_MAP_LOW: number;
7363
- const VISIBLE_MAP_MARKER: number;
7364
- const ASYNC_MAP_HIGH: number;
7365
- const ASYNC_MAP_LOW: number;
7366
- const ASYNC_MAP_MARKER: number;
7367
- const MAP_LOADED: number;
7368
- }
7369
- export const SCENE_FROM_LIVE_JSON: false;
7370
- /**
7371
- * A handle to a 3D marker added to a map.
7372
- *
7373
- * @class ThreeJSMarkerHandle
7374
- */
7375
- export class ThreeJSMarkerHandle {
7376
- constructor({ mapId, object }: {
7377
- mapId: any;
7378
- object: any;
7379
- });
7380
- _mapId: any;
7381
- _object: any;
7382
- /**
7383
- * Return the ThreeJS object associated with this marker, so that it
7384
- * can be moved around, scaled, etc.
7385
- *
7386
- * @property {Object3D} object
7387
- */
7388
- get object(): any;
7389
- _destroy(): void;
7390
- }
7391
- export default MapObject;
7392
- class MapObject extends PubSub {
7393
- constructor(mapClass: any, polygonMeshesById: any, showCount: any, core: any, loadOptions?: {});
7394
- _flippableImagedById: {};
7395
- _started: boolean;
7396
- _loaderPromise: null;
7397
- _promiseResolve: null;
7398
- hoverableMeshChildren: any[];
7399
- visible: boolean;
7400
- objectsDictionary: {};
7401
- north: null;
7402
- mapScale: null;
7403
- object: any;
7404
- labels: Set<any>;
7405
- tooltips: Set<any>;
7406
- markers: Set<any>;
7407
- box: any;
7408
- textObjects: any[];
7409
- labelBatchCreator: null;
7410
- imagesToFlip: any[];
7411
- seenByCamera: boolean;
7412
- threeJSMarkers: Map<any, any>;
7413
- core: any;
7414
- mapClass: any;
7415
- polygonMeshesById: any;
7416
- _showCount: any;
7417
- loadMethod: string;
7418
- loadAsync: any;
7419
- _taskScheduler: any;
7420
- id: any;
7421
- mapRenderingStrategy: any;
7422
- _highPriorityTasks: FrameTaskGroup;
7423
- _lowPriorityTasks: FrameTaskGroup;
7424
- _markerTasks: FrameTaskGroup;
7425
- _mapLoadedTasks: FrameTaskGroup;
7426
- _visibilityLatch: boolean | null;
7427
- _objLoadedComplete: boolean;
7428
- _objLoaded(object: any): any;
7429
- _objLoadedMerged(object: any): Promise<any>;
7430
- enableImageFlipping(polygonId: any, rotation: any): void;
7431
- fadeIn(options?: {}): {
7432
- start: () => Promise<void>;
7433
- };
7434
- fadeOut(options?: {}): {
7435
- start: () => Promise<void>;
7436
- };
7437
- fade({ direction, duration, delay, easing, onStart, onComplete, layers, }: {
7438
- direction?: string | undefined;
7439
- duration?: number | undefined;
7440
- delay?: number | undefined;
7441
- easing?: any;
7442
- onStart?: (() => void) | undefined;
7443
- onComplete?: (() => void) | undefined;
7444
- layers?: any[] | undefined;
7445
- }): {
7446
- start: () => Promise<void>;
7447
- };
7448
- elements: any;
7449
- boundingBox: {
7450
- min: any;
7451
- max: any;
7452
- } | undefined;
7453
- loadPolygonNow(polygonId: any): void;
7454
- _addElementToScene(element: any): void;
7455
- /** *
7456
- Load the map, if it's not already loaded. Returns the old promise if it's already done, so you can safely call it whenever needed.
7457
-
7458
- If needed, this could be modified to
7459
-
7460
- Returns a Promise that will be Done when the OBJ, MTL and textures have been downloaded, and the objectsDictionary has been generated.
7461
-
7462
- **/
7463
- load(): null;
7464
- loadMethodUsed: string | undefined;
7465
- _dispose(objectToDispose: any): void;
7466
- add(childObjectToAdd: any): void;
7467
- /**
7468
- * Convert lat/lon to local map position vector
7469
- */
7470
- getPositionLatLon(lat: any, lon: any): any;
7471
- /**
7472
- * Previously, each map was centered around 0,0,0 and scaled to fit the map.
7473
- * With scene manager, each map is positioned and scaled relative to the base map/world
7474
- * Since most 3D objects (like blue dot) are added to the map via `getPositionLatLon`, they already
7475
- * have the map's matrix applied, on top of being affected as a child of the map's own transform
7476
- * This method inverts the map's matrix to resolve the double matrix application issue.
7477
- * TODO: investigate a better way to handle this
7478
- */
7479
- addToObject(child: any): void;
7480
- /**
7481
- * Translates objects that are added to the map (such as blue dot), assuming they are added via `getPositionLatLon`,
7482
- * or `convertTo3DMapPosition`, where the map's matrix has already been applied.
7483
- */
7484
- translateChild(child: any, position: any): void;
7485
- getMapScale(): null;
7486
- getNorth(): null;
7487
- disableAllImageFlipping(): void;
7488
- /**
7489
- * Return true if this map has been loaded to the point where it can be
7490
- * manipulated as a complete object. In synchronous mode, this requires all
7491
- * loading tasks to be completed, but in async mode, only high-priority
7492
- * tasks (adding polygons to the world) have to be completed.
7493
- */
7494
- isReady(): boolean;
7495
- /**
7496
- * Return true if this map has been loaded to the point where the only tasks
7497
- * remaining are marker tasks.
7498
- */
7499
- isFullyLoaded(): boolean;
7500
- /**
7501
- * A function that should be called when the map is made visible, in order
7502
- * to kick off its tasks.
7503
- */
7504
- onVisible(): void;
7505
- /**
7506
- * A function that should be called when the map is made invisible, in order
7507
- * to postpone its tasks.
7508
- */
7509
- onInvisible(): void;
7510
- /**
7511
- * Queue a task on this map that will be executed when the high and low
7512
- * priority tasks have been processed.
7513
- */
7514
- addPendingMarkerTask(marker: any, callback: any): void;
7515
- /**
7516
- * Queue a task on this map that must be completed before the map will be
7517
- * considered `isReady` in synchronous loading mode.
7518
- */
7519
- addPendingLowPriorityTask(name: any, callback: any): void;
7520
- /**
7521
- * Queue a task on this map that will be queued when the map is loaded, or
7522
- * immediately if the map has already been loaded.
7523
- */
7524
- addPendingMapLoadedTask(name: any, callback: any): void;
7525
- /**
7526
- * Queue a task on this map that must be completed before the map will be
7527
- * considered `isReady`, and will be evaluated before any low-priority
7528
- * tasks.
7529
- */
7530
- _addPendingHighPriorityTask(name: any, callback: any): void;
7531
- /**
7532
- * Add a ThreeJS marker to this map object. This should be called through
7533
- * the `MapView3D`.
7534
- *
7535
- * @method addThreeJSMarker
7536
- * @param {Object} options
7537
- * @param {Object3D} [options.object] the marker object to add to the scene
7538
- * @param {Vector3} [options.position=null] if provided, sets the object's position on the map
7539
- * @param {Euler} [options.rotation=null] if provided, sets the object's rotation relative to the map
7540
- * @param {Vector3} [options.scale=null] if provided, sets the object's scale relative to the map
7541
- * @return {ThreeJSMarkerHandle} a unique identifier for the marker
7542
- */
7543
- addThreeJSMarker(options: {
7544
- object?: any;
7545
- position?: any;
7546
- rotation?: any;
7547
- scale?: any;
7548
- }): ThreeJSMarkerHandle;
7549
- /**
7550
- * Remove the given `ThreeJSMarker` from this map.
7551
- *
7552
- * @method removeThreeJSMarker
7553
- * @param {ThreeJSMarkerHandle} markerHandle the marker to remove
7554
- * @return {boolean} true if the marker existed on the map and was removed;
7555
- * false if the marker does not exist on the map
7556
- */
7557
- removeThreeJSMarker(markerHandle: ThreeJSMarkerHandle): boolean;
7558
- /**
7559
- * Remove all `ThreeJSMarker` from this map.
7560
- *
7561
- * @method removeThreeJSMarker
7562
- */
7563
- _removeThreeJSMarkers(): void;
7564
- removeLabels(): void;
7565
- /**
7566
- * Called when a task group that may be required for map loading completes,
7567
- * to see if all the relevant task groups have been completed.
7568
- */
7569
- _checkIfLoaded(): void;
7570
- mapLoaded: any;
7571
- /**
7572
- * Called when the root ThreeJS object has been created, and child elements
7573
- * may be added.
7574
- */
7575
- _onRootObjectCreated(): void;
7576
- _popinChildObjects(): void;
7577
- }
7578
- import { PubSub } from "@mappedin/react-native-sdk/core/packages/renderer/internal/pub-sub";
7579
- import { FrameTaskGroup } from "@mappedin/react-native-sdk/core/packages/get-venue/Mappedin.TaskScheduler";
7580
- }
7581
-
7582
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.CameraLayers' {
7583
- export default CAMERA_LAYER;
7584
- namespace CAMERA_LAYER {
7585
- const STATIC: number;
7586
- const ANIMATED: number;
7587
- const ALWAYS_ON_TOP: number;
7588
- }
7589
- }
7590
-
7591
7621
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.AssetManager' {
7592
7622
  import { Texture } from 'three';
7593
7623
  import type { MappedinMap } from '@mappedin/react-native-sdk/core/packages/get-venue';
@@ -7610,14 +7640,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/bundle-asset-m
7610
7640
  }
7611
7641
  }
7612
7642
 
7613
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.HoverLabel' {
7614
- export default HoverLabel;
7615
- /**
7616
- * @type {any}
7617
- */
7618
- let HoverLabel: any;
7619
- }
7620
-
7621
7643
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollider' {
7622
7644
  import SmartCollisionEngine from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollisionEngine';
7623
7645
  import { Rectangle } from '@mappedin/react-native-sdk/core/packages/renderer/internal/quad-tree';
@@ -7691,7 +7713,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
7691
7713
  mapId: string;
7692
7714
  id: string;
7693
7715
  action: EColliderAction;
7694
- getBoundingBoxForCurrentStrategy: undefined;
7716
+ getBoundingBoxForCurrentStrategy: any;
7695
7717
  rank: number;
7696
7718
  visible: boolean;
7697
7719
  offscreen: boolean;
@@ -7771,11 +7793,16 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
7771
7793
  /**
7772
7794
  * The container element for this marker. This element's position is automatically updated.
7773
7795
  */
7774
- get containerEl(): any;
7796
+ get containerEl(): HTMLDivElement;
7775
7797
  /**
7776
7798
  * The content that was provided when creating this marker.
7777
7799
  */
7778
- get contentEl(): any;
7800
+ get contentEl(): HTMLDivElement;
7801
+ /**
7802
+ * Force an update on the Marker. Call this if the contents of the Marker have changed since
7803
+ * it was created. Otherwise, the Marker may still collide as if it were the original size.
7804
+ */
7805
+ update(): void;
7779
7806
  }
7780
7807
  class MarkersController {
7781
7808
  #private;
@@ -7876,6 +7903,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
7876
7903
  colliderDidMount(): void;
7877
7904
  setAction(action: any): void;
7878
7905
  colliderDidNotFindAHome(): void;
7906
+ colliderDidUpdatePosition(pos: any): void;
7879
7907
  colliderDidGoOffscreen(): void;
7880
7908
  colliderDidUpdateVisiblity(): void;
7881
7909
  }
@@ -8009,7 +8037,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
8009
8037
  };
8010
8038
  static scale: number;
8011
8039
  static overlayHeight: number;
8012
- static getDefaultMaterial(): any;
8040
+ static getDefaultMaterial(): MeshLambertMaterial;
8013
8041
  static getWeightedCenter(vertices: any): any;
8014
8042
  static getBoundingCentre(vertices: any): {
8015
8043
  x: number;
@@ -8032,7 +8060,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
8032
8060
  };
8033
8061
  load(): Promise<this>;
8034
8062
  _addLabel(poly: MappedinPolygon, mapClass: MappedinMap): void;
8035
- static imagesLoadingInProgress: Map<string, Promise<[any, any]>>;
8063
+ static imagesLoadingInProgress: Map<string, Promise<[Texture, MeshLambertMaterial]>>;
8036
8064
  _addImage(polygon: MappedinPolygon, mapClass: MappedinMap): void;
8037
8065
  static _normalizeColor(color: any): number;
8038
8066
  static _getMaterial(color: string, opacity: number, map: MappedinMap['id']): any;
@@ -8041,14 +8069,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
8041
8069
  export default Element;
8042
8070
  }
8043
8071
 
8044
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.FlippableImage' {
8045
- export default FlippableImage;
8046
- /**
8047
- * @type {any}
8048
- */
8049
- let FlippableImage: any;
8050
- }
8051
-
8052
8072
  declare module '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/PolygonColorsController' {
8053
8073
  import { ICore } from '@mappedin/react-native-sdk/core/packages/renderer/private/Core.interface';
8054
8074
  class PolygonColorsController {
@@ -8140,115 +8160,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
8140
8160
  export default ThreeDMarkersController;
8141
8161
  }
8142
8162
 
8143
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/blue-dot-manager' {
8144
- export const DEFAULT_MIN_RADIUS: 8;
8145
- export const DEFAULT_MAX_RADIUS: 65;
8146
- export const DEFAULT_RADIUS_UPDATE_INTERVAL: 3;
8147
- export default BlueDotManager;
8148
- /**
8149
- * @private
8150
- * An interface for showing a position (typically the user's position) on a 3D map.
8151
- *
8152
- * @class BlueDotManager
8153
- */
8154
- class BlueDotManager extends PubSub {
8155
- /**
8156
- * @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.
8157
- * @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.
8158
- */
8159
- constructor({ threeDMarkerLayer, core, minRadius, maxRadius, radiusUpdateInterval, radiusTweenOptions, }?: {
8160
- threeDMarkerLayer: any;
8161
- core: any;
8162
- minRadius?: number | undefined;
8163
- maxRadius?: number | undefined;
8164
- radiusUpdateInterval?: number | undefined;
8165
- radiusTweenOptions?: {
8166
- duration: number;
8167
- easing: any;
8168
- } | undefined;
8169
- });
8170
- threeDMarkerLayer: any;
8171
- core: any;
8172
- minRadius: number;
8173
- maxRadius: number;
8174
- radiusUpdateInterval: number;
8175
- radiusTweenOptions: {
8176
- duration: number;
8177
- easing: any;
8178
- };
8179
- /**
8180
- * The current state of the 3D blue dots. Null if blue dot is not currently being displayed.
8181
- */
8182
- state: any;
8183
- /**
8184
- * The last known radius that was set, in the original metres units.
8185
- */
8186
- prevRadius: any;
8187
- /**
8188
- * Used to animate the blue dot accuracy ring size change.
8189
- */
8190
- radiusTween: any;
8191
- /**
8192
- * The last known bearing angle that was set, in degrees.
8193
- */
8194
- prevBearing: any;
8195
- /**
8196
- * Used to animate the blue dot bearing angle change.
8197
- */
8198
- bearingTween: any;
8199
- /**
8200
- The current zoom level, so new dots can be added at the proper size.
8201
- */
8202
- currentX: any;
8203
- /**
8204
- * Calculates the new radius given the candidate value as well as other relevant parameters. @see constructor
8205
- * @param {number} candidateRadius
8206
- */
8207
- computeNewRadius(candidateRadius: number): number;
8208
- updateBlueDotSize(): void;
8209
- setBlueDotSizeFromZoom(cameraX: any): void;
8210
- /**
8211
- * Update the state of the 3D blue dot, creating blue dots if necessary.
8212
- *
8213
- * @method update
8214
- * @param {Object} options
8215
- * @param {Coordinates} options.coordinates The lat-long coordinates for the blue dot. Follows the Coordinates Web API.
8216
- * @param {string} [options.mode]
8217
- * @param {number} [options.bearing] The angle in degrees around the blue dot at which the bearing indicator should appear.
8218
- * @param {number} options.radius The outer radius of the blue dot, in metres.
8219
- * @param {string} [options.mapId] The primary map of the blue dot. Specify this or options.map.
8220
- * @param {MapObject} [options.map] The primary map of the blue dot. Specify this or options.mapId.
8221
- * @param {number} [options.minRadius] The ring around the blue dot will only be drawn if `options.radius` is greater than or equal to this value. Must be >= 0.
8222
- * @param {number} [options.minRadiusDelta] The minimum amount by which the radius must change in order for the blue dot ring radius to be updated. Must be >= 0.
8223
- * @param {string} [options.baseColor] Base Color of Active Blue Dot that we use to interpolate into other variants
8224
- */
8225
- update(options: {
8226
- coordinates: any;
8227
- mode?: string | undefined;
8228
- bearing?: number | undefined;
8229
- radius: number;
8230
- mapId?: string | undefined;
8231
- map?: any;
8232
- minRadius?: number | undefined;
8233
- minRadiusDelta?: number | undefined;
8234
- baseColor?: string | undefined;
8235
- }): void;
8236
- blueDots: any[] | undefined;
8237
- positionTween: any;
8238
- currentPositionLatLon: any;
8239
- animateBearing(fromBearing: any, toBearing: any): void;
8240
- setBearing(bearing: any): void;
8241
- getBlueDotForMap(mapOrMapId: any): any;
8242
- /**
8243
- * Remove the 3D blue dot from the maps.
8244
- *
8245
- * @method cleanup
8246
- */
8247
- cleanup(): void;
8248
- }
8249
- import { PubSub } from "@mappedin/react-native-sdk/core/packages/renderer/internal/pub-sub";
8250
- }
8251
-
8252
8163
  declare module '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/EventSystem' {
8253
8164
  import { Object3D, Color } from 'three';
8254
8165
  import type { ICore } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
@@ -8306,9 +8217,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
8306
8217
  hasTouched: boolean;
8307
8218
  calculateMouseCoordinates: (event: any) => void;
8308
8219
  getMouseRayIntersects: (objects: Object3D | Object3D[]) => any;
8309
- detectCollidersUnderMouse: () => any;
8220
+ detectCollidersUnderMouse: () => any[];
8310
8221
  detectPolygonsUnderMouse: () => string[];
8311
8222
  detectPathsUnderMouse: () => Path[];
8223
+ detectWatermarkUnderMouse: () => boolean;
8312
8224
  detectMapsUnderMouse: () => any;
8313
8225
  getMouseMapPosition: () => {
8314
8226
  x: number;
@@ -8316,36 +8228,14 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
8316
8228
  };
8317
8229
  checkMouseIntersectsBlueDot: () => boolean;
8318
8230
  doHoverEffect: () => void;
8319
- onPolygonHoverOut: (polygonId: any) => false | undefined;
8320
- onPolygonHoverOver: (polygon: any) => false | undefined;
8231
+ onPolygonHoverOut: (polygonId: any) => boolean;
8232
+ onPolygonHoverOver: (polygon: any) => boolean;
8321
8233
  setHoverColor: (color: string) => void;
8322
8234
  destroy(): void;
8323
8235
  }
8324
8236
  export default EventSystem;
8325
8237
  }
8326
8238
 
8327
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.ClosedPolygonManager' {
8328
- export default ClosedPolygonManager;
8329
- class ClosedPolygonManager {
8330
- constructor({ scene, getPolygonMeshFromId, tryRendering }: {
8331
- scene: any;
8332
- getPolygonMeshFromId: any;
8333
- tryRendering: any;
8334
- });
8335
- scene: any;
8336
- getPolygonMeshFromId: any;
8337
- tryRendering: any;
8338
- stencilSheet: any;
8339
- polygonsMarkedAsClosed: {};
8340
- onMapChanged(map: any): void;
8341
- currentMap: any;
8342
- dispose(): void;
8343
- markPolygonAsClosed(polygonId: any): void;
8344
- markPolygonAsOpen(polygonId: any): void;
8345
- markAllPolygonsAsOpen(): void;
8346
- }
8347
- }
8348
-
8349
8239
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BinaryAssetManager' {
8350
8240
  import { Texture } from 'three';
8351
8241
  /**
@@ -8496,17 +8386,17 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
8496
8386
  nodes: MappedinNode[];
8497
8387
  };
8498
8388
  options: {
8499
- zoom?: number | undefined;
8389
+ zoom?: number;
8500
8390
  tilt: number;
8501
8391
  rotation: number;
8502
- position?: MappedinNode | import("../../internal").MappedinCoordinate | undefined;
8392
+ position?: MappedinNode | import("../../internal").MappedinCoordinate;
8503
8393
  easing: CAMERA_EASING_MODE;
8504
8394
  };
8505
8395
  };
8506
- })[] | undefined;
8396
+ })[];
8507
8397
  getDisableOptions: (params: TParams) => (MapViewScene | {
8508
8398
  activeMap: MappedinMap;
8509
- })[] | undefined;
8399
+ })[];
8510
8400
  getShowOverviewOptions: (params: TParams) => (MapViewStackScene | {
8511
8401
  activeMap: MappedinMap;
8512
8402
  focusOn: {
@@ -8515,8 +8405,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
8515
8405
  duration: number;
8516
8406
  };
8517
8407
  };
8518
- verticalDistanceBetweenMaps: number | undefined;
8519
- })[] | undefined;
8408
+ verticalDistanceBetweenMaps: number;
8409
+ })[];
8520
8410
  getScrollToMapOptions: (params: TParams) => (MapViewStackScene | {
8521
8411
  focusOn: {
8522
8412
  targets: {
@@ -8528,7 +8418,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
8528
8418
  };
8529
8419
  };
8530
8420
  activeMap: MappedinMap;
8531
- })[] | undefined;
8421
+ })[];
8532
8422
  getEnableOptions: (params: TParams) => void;
8533
8423
  getShowOverviewTransition: (options: any) => () => Promise<void>;
8534
8424
  getZoomInToMapTransition: (options: any) => () => Promise<void>;
@@ -8540,12 +8430,12 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/contro
8540
8430
  exec(transitions: TTargetTransitionFunction[] | void, params: TParams): Promise<void>;
8541
8431
  disable: () => Promise<void>;
8542
8432
  enable: (opts?: {
8543
- verticalDistanceBetweenMaps?: number | undefined;
8544
- } | undefined) => Promise<void>;
8433
+ verticalDistanceBetweenMaps?: number;
8434
+ }) => Promise<void>;
8545
8435
  get nodesInJourney(): MappedinNode[];
8546
8436
  showOverview: () => Promise<void>;
8547
8437
  scrollToMap: (map: MappedinMap) => Promise<void>;
8548
- zoomInToMap: (map: MappedinMap, cameraTransform?: TCameraTransform | undefined) => Promise<void>;
8438
+ zoomInToMap: (map: MappedinMap, cameraTransform?: TCameraTransform) => Promise<void>;
8549
8439
  get currentMap(): MappedinMap;
8550
8440
  }
8551
8441
  export default StackedMapsController;
@@ -8585,564 +8475,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
8585
8475
  export default BlueDotUI;
8586
8476
  }
8587
8477
 
8588
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/utils' {
8589
- /**
8590
- * Utils function listing
8591
- *
8592
- * - scrubMaterial
8593
- * - getDeviceID
8594
- * - getSessionID
8595
- * - getObjectID
8596
- * - getObject
8597
- * - getBoundingBox
8598
- * - getBiggestBoundingBox
8599
- * - upackBoundingBox
8600
- * - getMapScale
8601
- * - throttle -> taken from lodash.js
8602
- * - getProjectionScaleFactor
8603
- * - getZoom
8604
- */
8605
- export function isGatewayKey(key: any): boolean;
8606
- export function getCombinedBoundingBox(objects: any): any;
8607
- export function getMapsBoundingBox(maps: any, mapPadding: any): any;
8608
- export function scrubMaterial(material: any): void;
8609
- export function getDeviceID(): string;
8610
- export function getSessionID(): string;
8611
- export function getObjectId(object: any): any;
8612
- export function getObject(obj: any, array: any): any;
8613
- export function getBoundingBox(object: any): any;
8614
- export function getBiggestBoundingBox(objects: any): {
8615
- min: any;
8616
- max: any;
8617
- };
8618
- export function unpackBoundingBox(boundingBox: any): any[];
8619
- export function getMapScale(map: any): number;
8620
- export function getNorth(map: any): number;
8621
- export function throttle(func: any, wait: any, options: any): (...args: any[]) => any;
8622
- export function debounce(func: any, wait: any, immediate: any): (...args: any[]) => void;
8623
- export function flatten(list: any): any;
8624
- export function uniq(arr: any): any;
8625
- export function toStyleString(styles: any): string;
8626
- /**
8627
- /* getProjectionScaleFactor()
8628
- /* finds the scale ratio between screen coordinates and 3D coordinates (in X-Z plane)
8629
- /*
8630
- * R
8631
- * /|
8632
- * C : Camera / |
8633
- * PQ : Projection Plane / |
8634
- * OR : Origin / |
8635
- * F : FOV / |
8636
- * Q / |
8637
- * /| |
8638
- * / | |
8639
- * / | |
8640
- * / | |
8641
- * / | |
8642
- * / F/2 | |
8643
- * C ------------P------------ O
8644
- *
8645
- *
8646
- * ProjectionScaleFactor = ( OR / PQ )
8647
- * PQ = canvasHeight / 2
8648
- * CQ = zoom
8649
- *
8650
- * OR / C0 = tan(F/2)
8651
- * so OR = CO * tan(F/2)
8652
- */
8653
- export function getProjectionScaleFactor(FOV: any, canvasHeight: any, zoom: any): number;
8654
- /** getZoom
8655
- *
8656
- * C - Camera, OP -- picture plane (canvas), S - origin,
8657
- * QR - front side of maps Bounding Box, F: FOV
8658
- *
8659
- * Z-axis
8660
- * R_____|______
8661
- * /| | |
8662
- * / | | |
8663
- * P/ | | | maps BB
8664
- * /| | | |
8665
- * / | | | |
8666
- * / | | | |
8667
- * / F |E |T |S |
8668
- * C /--------|-----|-----|-----|------ orthogonal to Y axis, midpoint of focus maps
8669
- * \ | | | |
8670
- * \ | | | |
8671
- * \ | | | |
8672
- * \ | | | |
8673
- * \| | | |
8674
- * O\ | | |
8675
- * \ | | |
8676
- * \|_____|_____|
8677
- * Q
8678
- *
8679
- *
8680
- * We want to get CS, which is the camera zoom
8681
- *
8682
- */
8683
- export function getZoom(focusBox: any, focusBoxHeight: any, FOV: any): any;
8684
- export function calculateTwoDProjections({ maps, width, height, camera }: {
8685
- maps: any;
8686
- width: any;
8687
- height: any;
8688
- camera: any;
8689
- }): any;
8690
- export function splitLine(startNode: any, endNode: any, segments: any): any[];
8691
- export function isObject(item: any): any;
8692
- export function cyrb53(str: any, seed?: number): number;
8693
- export function addMarginMultiplierToBoundingBox(bbox: any, multiplier: any): any;
8694
- export function tweenPromise({ from, to, duration, easing, delay, onUpdate, onStart, onComplete, }: {
8695
- from: any;
8696
- to: any;
8697
- duration?: number | undefined;
8698
- easing?: any;
8699
- delay?: number | undefined;
8700
- onUpdate?: ((_: any) => void) | undefined;
8701
- onStart?: (() => void) | undefined;
8702
- onComplete?: (() => void) | undefined;
8703
- }): {
8704
- start(core: any): Promise<any>;
8705
- };
8706
- export function getPrimaryLocationForPolygon(polygon: any, venue: any): any;
8707
- export function determineStartingMap(venue: any, options: any): any;
8708
- }
8709
-
8710
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.MapManager' {
8711
- export default MapManager;
8712
- class MapManager extends PubSub {
8713
- constructor(polygonMeshesById: any, renderer: any, core: any, taskScheduler: any, loadOptions?: {});
8714
- mapObjects: Map<any, any>;
8715
- currentMap: undefined;
8716
- object: any;
8717
- _showCount: number;
8718
- _mapObjectsSortedByElevationDirty: boolean;
8719
- expanded: boolean;
8720
- polygonMeshesById: any;
8721
- core: any;
8722
- renderer: any;
8723
- loadOptions: {};
8724
- addMap(mapClass: any, callback?: () => void): any;
8725
- setMap(mapClassOrId: any, callback: any): Promise<any>;
8726
- removeMap(mapClassOrId: any): void;
8727
- removeAllMaps(): void;
8728
- loadMaps(maps: any, startingMap: any, onFirstMapLoaded?: () => void, onDataLoaded?: () => void, onError?: () => void): void;
8729
- /**
8730
- * Expand maps to display within view, typically used for multi-floor navigation. When passed a connection, maps included will not be displayed, instead, their 2d projection
8731
- will be available in the resulting promise, which can be used to display a 2D component in the client-side app.
8732
- *
8733
- * @method expandMaps
8734
- * @param mapIds {Array} Array of mapIds or mapObjects to display while expanded. For connections, pass &#123; connection: true, maps: [], connectionNodes: [], &#125;
8735
- * @param options {Object} Options object @optional
8736
- @param [options.focus=false] {Boolean} Focus the camera onto expanded maps
8737
- @param [options.debug=false] {Boolean} Display cubes around focus bounding box for debug info
8738
- @param [options.rotation=0] {Number} Rotation of scene relative to zero (degrees)
8739
- @param [options.duration=300] {Number} Duration of focus animation in ms
8740
- @returns {Promise} Promise that resolves to 2d screen projections of each layer/map (see example)
8741
- @example
8742
- // expand maps with 3 connection maps in between
8743
- expandMaps(
8744
- '55e89771d982bc06ca000000',
8745
- {
8746
- connection: true,
8747
- // connection nodes are an exit node from the '55e89771' man and entry node for the '55e9c73f' map
8748
- connectionNodes: [{
8749
- map: "55e89771",
8750
- x: 6232,
8751
- y: 4575
8752
- }, {
8753
- map: "55e9c73",
8754
- x: 5945.000000000001,
8755
- y: 4059.000000000001
8756
- }],
8757
- maps: [
8758
- '55e9acbf',
8759
- '55e8a9ed',
8760
- '55e85e23'
8761
- ]
8762
- },
8763
- '55e9c73f'
8764
- );
8765
-
8766
- // resulting promise (sorted by elevation (top to bottom))
8767
-
8768
- [
8769
- {
8770
- min: { x: -100, y: -50 },
8771
- max: { x: -100, y: -50 }
8772
- },
8773
- {
8774
- min: { x: -100, y: -50 },
8775
- max: { x: -100, y: -50 }
8776
- },
8777
- {
8778
- min: { x: -100, y: -50 },
8779
- max: { x: -100, y: -50 }
8780
- }
8781
- ]
8782
- */
8783
- expandMaps(mapsToExpand: any, options: any): Promise<any>;
8784
- /**
8785
- * Contract maps and display the current map
8786
- *
8787
- * @method contractMaps
8788
- * @param options {Object} Options object @optional
8789
- @param [options.focus] {Boolean} Focus the camera onto current map
8790
- @param [options.debug] {Boolean} Display cubes around focus bounding box for debug info
8791
- @param [options.duration=300] {Number} Duration of focus animation in ms
8792
- */
8793
- contractMaps(options?: any): Promise<any>;
8794
- expandPanBounds(bounds: any): void;
8795
- /**
8796
- * This can be used to invoke a callback function for _every_ set map invocation.
8797
- * @param {Function} cb callback function
8798
- */
8799
- addPersistentSetMapCallback(cb: Function): void;
8800
- persistentSetMapCallbacks: any;
8801
- setMapCallbacks: any[] | undefined;
8802
- get mapObjectsSortedByElevation(): any[];
8803
- _mapObjectsSortedByElevation: any[] | undefined;
8804
- get visibleMaps(): any[];
8805
- getCompoundBoundingBoxPoints(objects: any): any[];
8806
- multiFloorView: MultiFloorView | undefined;
8807
- renderedMaps: any[] | undefined;
8808
- projections: any[] | undefined;
8809
- mapsFullyLoaded(callback?: () => void): Promise<void>;
8810
- /**
8811
- * Scroll maps up
8812
- * This will shift maps down to show next one (above)
8813
- */
8814
- scrollMapsUp(): Promise<any>;
8815
- /**
8816
- * Scroll maps down
8817
- * This will shift maps up to show next one (below)
8818
- */
8819
- scrollMapsDown(): Promise<any>;
8820
- tiltMaps(tilt: any): void;
8821
- resize(): void;
8822
- }
8823
- import { PubSub } from "@mappedin/react-native-sdk/core/packages/renderer/internal/pub-sub";
8824
- import MultiFloorView from "@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.MultiFloorView";
8825
- }
8826
-
8827
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.DebugUI' {
8828
- /**
8829
- * A DOM element that can be populated with performance information.
8830
- *
8831
- * @class DebugUI
8832
- * @private
8833
- */
8834
- export default class DebugUI {
8835
- _element: HTMLDivElement;
8836
- _titleElement: HTMLSelectElement;
8837
- _minimizeElement: HTMLButtonElement;
8838
- _performancePanelElement: HTMLDivElement;
8839
- _performanceEntries: Map<any, any>;
8840
- _sortedPerformanceEntryNames: any[];
8841
- _overviewGraph: LineGraph;
8842
- _controlPanels: Map<any, any>;
8843
- _sortedControlPanelNames: any[];
8844
- _minimized: boolean;
8845
- destroy(): void;
8846
- /**
8847
- * Return the DOM element used by this `DebugUI`, which may be
8848
- * added as a child of any other DOM element to display it.
8849
- *
8850
- * @method element
8851
- * @return {Element} the ui's root element
8852
- */
8853
- get element(): Element;
8854
- /**
8855
- * Log the given entries to this performance logger, and update the display
8856
- * accordingly. If a given key isn't already being logged, an entry will be
8857
- * added for it. If a key is being logged but isn't reported, it will be
8858
- * treated as if it had a value of `0` reported.
8859
- *
8860
- * @method reportFramePerformance
8861
- * @param {string -> number} entries the most recent recorded values for each
8862
- * named frame update
8863
- */
8864
- reportFramePerformance(entries: any): void;
8865
- /**
8866
- * Add the given controls to the given panels. More efficient than adding
8867
- * controls one-by-one since it only recomputes positions after all controls
8868
- * are added.
8869
- *
8870
- * @method addDebugControls
8871
- * @param {category: string: [{name: string, description: string, control: DebugUIControl}]} categories
8872
- * a mapping from category to a list of control names and controls
8873
- */
8874
- addDebugControls(categories: any): void;
8875
- /**
8876
- * Add the given control to a panel.
8877
- *
8878
- * @method addDebugControl
8879
- * @param {string} category the name of the panel the control will be put under
8880
- * @param {string} name the name of the control
8881
- * @param {string} description a description for the control (tooltip)
8882
- * @param {DebugUIControl} control the control to add to the panel
8883
- */
8884
- addDebugControl(category: string, name: string, description: string, control: any): void;
8885
- /**
8886
- * Remove the given controls from the UI.
8887
- *
8888
- * @method removeDebugControls
8889
- * @param {category: string: [name: string]} categories
8890
- * a mapping from category to a list of control names to remove
8891
- */
8892
- removeDebugControls(categories: any): void;
8893
- /**
8894
- * Remove the given control from a panel.
8895
- *
8896
- * @method removeDebugControl
8897
- * @param {string} category the name of the panel the control will be put under
8898
- * @param {string} name the name of the control
8899
- */
8900
- removeDebugControl(category: string, name: string): void;
8901
- _addDebugControl(category: any, name: any, description: any, control: any): void;
8902
- _removeDebugControl(category: any, name: any): void;
8903
- _onMinimizeClicked(): void;
8904
- _onCategoryChanged(): void;
8905
- }
8906
- /**
8907
- * A graph on a HTML canvas element that will display the values in the given
8908
- * time series.
8909
- *
8910
- * @class LineGraph
8911
- * @private
8912
- */
8913
- class LineGraph {
8914
- /**
8915
- * Return a new `LineGraph` displaying information from the given list of
8916
- * time series.
8917
- *
8918
- * @constructor
8919
- * @param {[TimeSeries]} seriesList the list of time series that will be
8920
- * displayed on this graph.
8921
- * @param {number} width the width of this canvas element, in pixels
8922
- * @param {number} height the width of this canvas element, in pixels
8923
- */
8924
- constructor({ seriesList, width, height }: [TimeSeries]);
8925
- _gradients: Map<any, any>;
8926
- _canvas: HTMLCanvasElement;
8927
- _context: CanvasRenderingContext2D | null;
8928
- destroy(): void;
8929
- /**
8930
- * @method element
8931
- * @return {Element} DOM element that can be added to display this graph
8932
- */
8933
- get element(): Element;
8934
- /**
8935
- * Clear this canvas and re-draw the time series lines.
8936
- *
8937
- * @method redraw
8938
- */
8939
- redraw(): void;
8940
- /**
8941
- * Set the list of time series that this graph displays.
8942
- *
8943
- * @method setSeriesList
8944
- * @param {[TimeSeries]} series series to display
8945
- */
8946
- setSeriesList(series: [TimeSeries]): void;
8947
- _seriesList: [TimeSeries] | undefined;
8948
- }
8949
- /**
8950
- * A time series that averages values that are reported to it and inserts them
8951
- * into a ring buffer.
8952
- *
8953
- * @class TimeSeries
8954
- * @private
8955
- */
8956
- class TimeSeries {
8957
- constructor({ windowSize, totalAccumulationCount, hue, }: {
8958
- windowSize?: number | undefined;
8959
- totalAccumulationCount?: number | undefined;
8960
- hue?: number | undefined;
8961
- });
8962
- windowSize: number;
8963
- hue: number;
8964
- _totalAccumulationCount: number;
8965
- _ringBuffer: any[];
8966
- _ringBufferLength: number;
8967
- _ringBufferPointer: number;
8968
- _accumulatorValue: number;
8969
- _accumulatorCount: number;
8970
- _changed: boolean;
8971
- destroy(): void;
8972
- /**
8973
- * Incorporate the given value into the time series. This will accumulate up
8974
- * to `LINE_GRAPH_ACCUMULATION_COUNT` values, at which point they will be
8975
- * averaged and inserted into the time series. If the number of averaged entries
8976
- * exceeds `LINE_GRAPH_WINDOW_SIZE`, the ring buffer will drop the oldest
8977
- * entry.
8978
- *
8979
- * This will set the `changed()` flag if an accumulated value has been added
8980
- * to the ring buffer.
8981
- *
8982
- * @method report
8983
- * @param {number} value the value to add to the time series
8984
- */
8985
- report(value: number): void;
8986
- /**
8987
- * Return the entry at the given index in the ring buffer. The value
8988
- * at `length - 1` is the most recently accumulated value.
8989
- *
8990
- * @method at
8991
- * @param {number} i the index to retrieve
8992
- * @return {number} the accumulated value at the given index
8993
- */
8994
- at(i: number): number;
8995
- /**
8996
- * @method maximumValue
8997
- * @return {number} the maximum value in this time series
8998
- */
8999
- maximumValue(): number;
9000
- /**
9001
- * Return true if this time series has changed since the previous `report()`
9002
- * invocation.
9003
- *
9004
- * @method changed
9005
- * @return {boolean}
9006
- */
9007
- changed(): boolean;
9008
- /**
9009
- * Return the number of accumulated values in this time series. Will never
9010
- * exceed `LINE_GRAPH_WINDOW_SIZE`.
9011
- *
9012
- * @return {number} number of accumulated entries
9013
- */
9014
- get length(): number;
9015
- }
9016
- export {};
9017
- }
9018
-
9019
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.DebugUIControl' {
9020
- export class DebugUIScalarSlider {
9021
- constructor({ minimum, maximum, step, current, onValueChanged }: {
9022
- minimum: any;
9023
- maximum: any;
9024
- step: any;
9025
- current: any;
9026
- onValueChanged: any;
9027
- });
9028
- _minimum: any;
9029
- _maximum: any;
9030
- _step: any;
9031
- _onValueChanged: any;
9032
- _element: HTMLInputElement;
9033
- destroy(): void;
9034
- addValueChangedListener(listener: any): void;
9035
- setValue(value: any): void;
9036
- get element(): HTMLInputElement;
9037
- get value(): string;
9038
- get displayedValue(): string;
9039
- get height(): number;
9040
- }
9041
- export class DebugUICheckbox {
9042
- constructor({ current, onValueChanged }: {
9043
- current: any;
9044
- onValueChanged: any;
9045
- });
9046
- _onValueChanged: any;
9047
- _element: HTMLDivElement;
9048
- _titleElement: HTMLInputElement;
9049
- destroy(): void;
9050
- addValueChangedListener(listener: any): void;
9051
- get element(): HTMLDivElement;
9052
- get titleElement(): HTMLInputElement;
9053
- get value(): boolean;
9054
- get displayedValue(): "true" | "false";
9055
- get height(): number;
9056
- get titleElementWidth(): number;
9057
- }
9058
- export class DebugUIDropdown {
9059
- constructor({ values, current, onValueChanged }: {
9060
- values: any;
9061
- current: any;
9062
- onValueChanged: any;
9063
- });
9064
- _values: any;
9065
- _onValueChanged: any;
9066
- _element: HTMLSelectElement;
9067
- destroy(): void;
9068
- addValueChangedListener(listener: any): void;
9069
- get element(): HTMLSelectElement;
9070
- get value(): string;
9071
- get displayedValue(): string;
9072
- get height(): number;
9073
- }
9074
- export class DebugUIButton {
9075
- constructor({ label, onClick }: {
9076
- label: any;
9077
- onClick: any;
9078
- });
9079
- _onClick: any;
9080
- _element: HTMLButtonElement;
9081
- destroy(): void;
9082
- addValueChangedListener(): void;
9083
- addClickListener(listener: any): void;
9084
- get element(): HTMLButtonElement;
9085
- get value(): string;
9086
- get displayedValue(): string;
9087
- get height(): number;
9088
- }
9089
- export class DebugUIColorPicker {
9090
- constructor({ current, onValueChanged }: {
9091
- current: any;
9092
- onValueChanged: any;
9093
- });
9094
- _onValueChanged: any;
9095
- _element: HTMLDivElement;
9096
- _titleElement: HTMLDivElement;
9097
- _color: any;
9098
- _listeners: any[];
9099
- _colorPickerMain: HTMLCanvasElement;
9100
- _colorPickerBottomSlider: HTMLCanvasElement;
9101
- _requestAnimationFrameHandle: number | null;
9102
- _requestAnimationFrameUpdate(): void;
9103
- _pickingMain: boolean;
9104
- _pickingX: number;
9105
- _pickingY: number;
9106
- _moveListener: (e: any) => void;
9107
- _upListener: any;
9108
- _pickingBottomSlider: boolean;
9109
- _bottomMoveListener: (e: any) => void;
9110
- _bottomUpListener: any;
9111
- _mode: string;
9112
- _modeButtons: {};
9113
- destroy(): void;
9114
- _destroyed: boolean | undefined;
9115
- addValueChangedListener(listener: any): void;
9116
- setValue(color: any): void;
9117
- _requestAnimationFrame(): void;
9118
- _notify(): void;
9119
- _updateMain(x: any, y: any): void;
9120
- _updateBottomSlider(x: any): void;
9121
- redraw(): void;
9122
- get element(): HTMLDivElement;
9123
- get titleElement(): HTMLDivElement;
9124
- get value(): any;
9125
- get displayedValue(): string;
9126
- get height(): number;
9127
- get titleElementWidth(): number;
9128
- }
9129
- export class DebugUIPanel {
9130
- constructor({ name }: {
9131
- name: any;
9132
- });
9133
- _name: any;
9134
- _element: HTMLDivElement;
9135
- _entries: any[];
9136
- _height: number;
9137
- destroy(): void;
9138
- get element(): HTMLDivElement;
9139
- get height(): number;
9140
- addControl(name: any, description: any, control: any): void;
9141
- removeControl(name: any): void;
9142
- _updateLayout(): void;
9143
- }
9144
- }
9145
-
9146
8478
  declare module '@mappedin/react-native-sdk/core/packages/renderer/public/MapView' {
9147
8479
  import '../internal/Mappedin.css';
9148
8480
  import { Mappedin, MappedinCoordinate, MappedinLocation, MappedinMap, MappedinNode, MappedinPolygon } from '@mappedin/react-native-sdk/core/packages/get-venue';
@@ -9160,6 +8492,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/MapView
9160
8492
  import { BlueDot } from '@mappedin/react-native-sdk/core/packages/renderer/public/api/BlueDot';
9161
8493
  import { Camera } from '@mappedin/react-native-sdk/core/packages/renderer/public/api/Camera';
9162
8494
  import { StackedMaps } from '@mappedin/react-native-sdk/core/packages/renderer/public/api/StackedMaps';
8495
+ import OutdoorView from '@mappedin/react-native-sdk/core/packages/renderer/public/api/OutdoorView';
9163
8496
  /**
9164
8497
  * Primary API class for controlling and interacting with a 3D map.
9165
8498
  */
@@ -9198,9 +8531,13 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/MapView
9198
8531
  */
9199
8532
  options: TMapViewOptions;
9200
8533
  /**
9201
- * @hidden
8534
+ * API for showing multiple maps as a vertical stack.
9202
8535
  */
9203
8536
  StackedMaps: StackedMaps;
8537
+ /**
8538
+ * API to control outdoor context rendering.
8539
+ */
8540
+ OutdoorView: OutdoorView;
9204
8541
  /**
9205
8542
  * @hidden
9206
8543
  */
@@ -9214,7 +8551,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/MapView
9214
8551
  * @deprecated Please use {@link FloatingLabels.labelAllLocations} or {@link FlatLabels.labelAllLocations} instead.
9215
8552
  * This may be removed in a future version of the SDK. The array this returns is now always empty.
9216
8553
  */
9217
- labelAllLocations(options?: TLabelAllLocationFloatingLabelOptions | TLabelAllLocationFlatLabelOptions): never[];
8554
+ labelAllLocations(options?: TLabelAllLocationFloatingLabelOptions | TLabelAllLocationFlatLabelOptions): any[];
9218
8555
  /**
9219
8556
  * Get the nearest {@link MappedinNode} on a map to an XY-coordinate on the screen.
9220
8557
  * This can be useful for generating directions from an arbitrary point on the map.
@@ -9642,6 +8979,15 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/MapView
9642
8979
  * @returns An array of {@link MappedinPolygon} instances intersecting the given coordinate.
9643
8980
  */
9644
8981
  getPolygonsAtScreenCoordinate(x: number, y: number, options?: TGetPolygonsAtCoordinateOptions): MappedinPolygon[];
8982
+ /**
8983
+ * Create a {@link MappedinCoordinate} on a given {@link MappedinMap} from an XY-coordinate on screen.
8984
+ *
8985
+ * @param x The x value of a screen coordinate.
8986
+ * @param y The y value of a screen coordinate.
8987
+ * @param map The {@link MappedinMap} the coordinate should belong to.
8988
+ * @returns A {@link MappedinCoordinate} on the given map.
8989
+ */
8990
+ getMappedinCoordinateAtScreenCoordinate(x: number, y: number, map: MappedinMap): MappedinCoordinate;
9645
8991
  /**
9646
8992
  * Destroy the mapView instance and reclaim memory.
9647
8993
  *
@@ -9664,13 +9010,16 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/outdo
9664
9010
  import Object3D from '@mappedin/react-native-sdk/core/packages/renderer/internal/object3D.destroy';
9665
9011
  import { Tile } from '@mappedin/react-native-sdk/core/packages/renderer/internal/outdoor-context/Mappedin.Tile';
9666
9012
  import { IOutdoorContextProvider } from '@mappedin/react-native-sdk/core/packages/renderer/internal/outdoor-context/Outdoor-Context.provider';
9013
+ /**
9014
+ * @deprecated Use {@link OutdoorView} instead.
9015
+ */
9667
9016
  export enum TILE_RENDER_MODES {
9668
9017
  NORMAL = 0,
9669
9018
  AGGRESSIVE = 1
9670
9019
  }
9671
9020
  export const TILE_COLOR = "#f0f0f1";
9672
9021
  /**
9673
- * @internal
9022
+ * @deprecated Use {@link OutdoorView} instead.
9674
9023
  */
9675
9024
  export type TTileManagerOptions = {
9676
9025
  tileRenderMode?: TILE_RENDER_MODES;
@@ -9697,8 +9046,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/outdo
9697
9046
  _renderVisibleTiles(): void;
9698
9047
  cachedZoomLevel: number;
9699
9048
  visible: boolean;
9700
- fadeOut(): Promise<any>;
9701
- fadeIn(): Promise<any>;
9049
+ fadeOut(): any;
9050
+ fadeIn(): any;
9702
9051
  fetchTiles(): void;
9703
9052
  zoomLevelToAltitudeMap: number[][];
9704
9053
  plane: Object3D;
@@ -9716,7 +9065,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/outdo
9716
9065
  * [ ][7][6][5][ ]
9717
9066
  * [ ][ ][ ][ ][ ]
9718
9067
  */
9719
- populateLayer(layerId: number | undefined, center: MappedinCoordinate, zoomLevel: number, metersPerTile: number, referenceMap: MappedinMap): void;
9068
+ populateLayer(layerId: number, center: MappedinCoordinate, zoomLevel: number, metersPerTile: number, referenceMap: MappedinMap): void;
9720
9069
  checkIfTileIsInBoundingBox(tile: Tile): any;
9721
9070
  }
9722
9071
  }
@@ -9726,8 +9075,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core'
9726
9075
  import { Mesh, PerspectiveCamera, Scene, Vector2 } from 'three';
9727
9076
  import '../internal/object3D.destroy';
9728
9077
  import type { TGetPolygonsAtCoordinateOptions, TMapViewOptions, TPadding } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
9729
- import { Renderer, TaskScheduler, MapManager, FlatLabel, SmartCollisionEngine, PubSub, INTERNAL_EVENT, INTERNAL_EVENT_PAYLOAD, MapView, STATE, MapObject, SceneManager, TileManager, PathsController, FloatingLabelsController, FlatLabelsController, PolygonColorsController, MarkersController, PolygonInteractionController, TooltipsController, PolygonStatesController, PolygonImagesController, ThreeDMarkersController, EventSystem, BlueDotController, CameraController, BillboardManager, StackedMapsController } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
9078
+ import { Renderer, TaskScheduler, MapManager, FlatLabel, SmartCollisionEngine, PubSub, INTERNAL_EVENT, INTERNAL_EVENT_PAYLOAD, MapView, STATE, MapObject, SceneManager, TileManager, PathsController, FloatingLabelsController, FlatLabelsController, PolygonColorsController, MarkersController, PolygonInteractionController, TooltipsController, PolygonStatesController, PolygonImagesController, ThreeDMarkersController, EventSystem, BlueDotController, CameraController, BillboardManager, StackedMapsController, OutdoorViewController } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
9730
9079
  import { Mappedin as IMappedin, MappedinCoordinate, MappedinMap, MappedinNode } from '@mappedin/react-native-sdk/core/packages/get-venue';
9080
+ import WatermarkController from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/WatermarkController';
9731
9081
  export const raycaster: any;
9732
9082
  let Mappedin: any;
9733
9083
  /**
@@ -9767,6 +9117,8 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core'
9767
9117
  threeDMarkers: ThreeDMarkersController;
9768
9118
  blueDot: BlueDotController;
9769
9119
  camera: CameraController;
9120
+ outdoorViewController?: OutdoorViewController;
9121
+ watermark: WatermarkController;
9770
9122
  options: TMapViewOptions & {
9771
9123
  onDataLoaded?: (data: IMappedin) => void;
9772
9124
  onFirstMapLoaded?: (data: IMappedin) => void;
@@ -9791,6 +9143,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core'
9791
9143
  polygonMeshesById: Record<string, Mesh>;
9792
9144
  textLabelsByPolygonId: Record<string, FlatLabel>;
9793
9145
  labelOrientationDelay: number;
9146
+ isWebGL2: boolean;
9794
9147
  interactivePolygons: Record<string, boolean>;
9795
9148
  mapManager: MapManager | undefined;
9796
9149
  sceneManager: SceneManager | undefined;
@@ -9815,10 +9168,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core'
9815
9168
  * Get all maps that are "visible" in the scene.
9816
9169
  */
9817
9170
  get visibleMapsInCurrentScene(): any[];
9818
- constructor(container: HTMLDivElement, venue: IMappedin, options: (TMapViewOptions & {
9819
- onDataLoaded?: ((data: IMappedin) => void) | undefined;
9820
- onFirstMapLoaded?: ((data: IMappedin) => void) | undefined;
9821
- }) | undefined, MapView: MapView);
9171
+ constructor(container: HTMLDivElement, venue: IMappedin, options: TMapViewOptions & {
9172
+ onDataLoaded?: (data: IMappedin) => void;
9173
+ onFirstMapLoaded?: (data: IMappedin) => void;
9174
+ }, MapView: MapView);
9822
9175
  get currentMap(): string | null;
9823
9176
  setState(state: STATE): Promise<void>;
9824
9177
  getPolygon: (polygon: any) => any;
@@ -9831,7 +9184,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core'
9831
9184
  position: any;
9832
9185
  zoom: any;
9833
9186
  };
9834
- setPadding: (padding?: TPadding | undefined) => void;
9187
+ setPadding: (padding?: TPadding) => void;
9835
9188
  getZoomLevelForPolygon: (polygon: any) => any;
9836
9189
  getZoomLevelForCurrentMap: () => any;
9837
9190
  getZoomLevelForObject: (object: any) => any;
@@ -9844,7 +9197,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core'
9844
9197
  * @param longitude {Number} Longitude of position
9845
9198
  * @returns A position you can use with a Marker either initially or to update later when the user (for example) moves
9846
9199
  */
9847
- getPositionLatLon: (lat: number, lon: number, map?: string | MappedinMap | null | undefined) => any;
9200
+ getPositionLatLon: (lat: number, lon: number, map?: string | MappedinMap | null) => any;
9848
9201
  lockNorth: (element: any, offset?: number) => void;
9849
9202
  unlockNorth: (element: any) => void;
9850
9203
  convertTo3DMapPosition: (nodeOrCoordinate: MappedinNode | MappedinCoordinate) => any;
@@ -9883,9 +9236,9 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core'
9883
9236
  */
9884
9237
  hideDebugUI: () => void;
9885
9238
  determineNewLabelSize: () => void;
9886
- setMap: (map: string | MappedinMap) => Promise<null>;
9887
- getPolygonsAtScreenCoordinate: (x: number, y: number, options?: TGetPolygonsAtCoordinateOptions | undefined) => any;
9888
- getPolygonsAtCoordinate: (coordinate: MappedinCoordinate, options?: TGetPolygonsAtCoordinateOptions | undefined) => any;
9239
+ setMap: (map: string | MappedinMap) => Promise<any>;
9240
+ getPolygonsAtScreenCoordinate: (x: number, y: number, options?: TGetPolygonsAtCoordinateOptions) => any;
9241
+ getPolygonsAtCoordinate: (coordinate: MappedinCoordinate, options?: TGetPolygonsAtCoordinateOptions) => any;
9889
9242
  getNearestNodeByScreenCoordinate(x: number, y: number, mapOrMapId?: MappedinMap | MappedinMap['id']): MappedinNode;
9890
9243
  /**
9891
9244
  * Destroys instance and frees resources
@@ -9899,7 +9252,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/private/Core'
9899
9252
 
9900
9253
  declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Camera' {
9901
9254
  import { E_CAMERA_DIRECTION } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums';
9902
- import CameraController, { TCameraAnimationOptions, TCameraTargets, TCameraTransform, TFocusOnCameraOptions } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/CameraController';
9255
+ import CameraController, { TCameraAnimationOptions, TCameraInteractionsSetOptions, TCameraTargets, TCameraTransform, TFocusOnCameraOptions } from '@mappedin/react-native-sdk/core/packages/renderer/private/controllers/CameraController';
9903
9256
  /**
9904
9257
  * API to control and respond to the state of the camera within the scene.
9905
9258
  */
@@ -9944,7 +9297,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Cam
9944
9297
  /**
9945
9298
  * The current camera animation, if any. Resolves when the animation finishes.
9946
9299
  */
9947
- get currentAnimation(): Promise<undefined> | undefined;
9300
+ get currentAnimation(): Promise<undefined>;
9948
9301
  /**
9949
9302
  * Current Camera zoom (in meters)
9950
9303
  */
@@ -10008,6 +9361,17 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Cam
10008
9361
  * ```
10009
9362
  */
10010
9363
  interactions: {
9364
+ /**
9365
+ * Enable or disable specific user interactions.
9366
+ *
9367
+ * ```ts
9368
+ * mapView.Camera.interactions.set({ zoom: false });
9369
+ * ```
9370
+ *
9371
+ * @param options An object defining the interactions to switch on or off.
9372
+ *
9373
+ */
9374
+ set: (options: TCameraInteractionsSetOptions) => void;
10011
9375
  /**
10012
9376
  * Enable all user interactions.
10013
9377
  */
@@ -10345,141 +9709,11 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Pat
10345
9709
  }
10346
9710
  }
10347
9711
 
10348
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/quad-tree' {
10349
- export function contains(rect1: Rectangle, rect2: Rectangle): boolean;
10350
- export function intersects(rect1: Rectangle, rect2: Rectangle): boolean;
10351
- class Rectangle {
10352
- x: number;
10353
- y: number;
10354
- w: number;
10355
- h: number;
10356
- userData?: any;
10357
- constructor(x: number, y: number, w: number, h: number, userData?: any);
10358
- contains(rectangle: Rectangle): boolean;
10359
- intersects(rectangle: Rectangle): boolean;
10360
- draw(context: CanvasRenderingContext2D): void;
10361
- }
10362
- class QuadTree {
10363
- boundary: Rectangle;
10364
- capacity: number;
10365
- objects: Rectangle[];
10366
- topLeft: QuadTree;
10367
- topRight: QuadTree;
10368
- bottomLeft: QuadTree;
10369
- bottomRight: QuadTree;
10370
- divided: boolean;
10371
- parent?: QuadTree;
10372
- getSize(): any;
10373
- constructor(boundary: Rectangle, parent?: QuadTree);
10374
- subdivide(): void;
10375
- query(rectangle: Rectangle): Rectangle[];
10376
- insert(rectangle: Rectangle): boolean;
10377
- drawObjects(context: CanvasRenderingContext2D): void;
10378
- draw(context: CanvasRenderingContext2D): void;
10379
- }
10380
- export { QuadTree, Rectangle };
10381
- }
10382
-
10383
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.MultiFloorView' {
10384
- export namespace VIEW_STATE {
10385
- const SINGLE_FLOOR: string;
10386
- const MULTI_FLOOR: string;
10387
- }
10388
- export namespace START {
10389
- const TOP: string;
10390
- const BOTTOM: string;
10391
- }
10392
- export namespace DIR {
10393
- const DOWN: string;
10394
- const UP: string;
10395
- }
10396
- export default MultiFloorView;
10397
- class MultiFloorView {
10398
- constructor(mapView: any, object: any, maps: any, options: any);
10399
- _focusMapsStart: string;
10400
- _focusMapsDir: string;
10401
- _focusMapsLen: number;
10402
- _focusAnimCurve: any;
10403
- _focusAnimDuration: number;
10404
- rotationAxis: any;
10405
- mapBoundingBoxes: any[];
10406
- _helperBoundingBoxes: any[];
10407
- mapAxesHelpers: any[];
10408
- mapView: any;
10409
- object: any;
10410
- options: any;
10411
- padding: any;
10412
- rotation: any;
10413
- maps: any;
10414
- debug: any;
10415
- mapSpacing: number;
10416
- mapTilt: number;
10417
- resize(): void;
10418
- focusOnMaps({ start, len, dir, mapIndices, duration, curve, }?: {
10419
- start?: string | undefined;
10420
- len?: number | undefined;
10421
- dir?: string | undefined;
10422
- mapIndices: any;
10423
- duration?: number | undefined;
10424
- curve?: any;
10425
- }): Promise<any>;
10426
- get viewPortHeight(): number;
10427
- get viewPortWidth(): number;
10428
- positionMaps(): void;
10429
- addMaps(maps: any): void;
10430
- removeMaps(): void;
10431
- addMapBoundingBoxes(): void;
10432
- removeMapBoundingBoxes(): void;
10433
- removeHelperBoundingBoxes(): void;
10434
- addAxesHelpers(): void;
10435
- removeAxesHelpers(): void;
10436
- set mapTiltDegrees(arg: number);
10437
- get mapTiltDegrees(): number;
10438
- /**
10439
- * Display 2D screen projections of each 3D map object in the journey. Useful for drawing 2D elements on screen.
10440
- *
10441
- * @attribute projections
10442
- * @readOnly
10443
- *
10444
- * @returns {Array} Array for Objects with min/max x/y values
10445
- * @example
10446
-
10447
- projections = [{
10448
- max: {
10449
- x: 1062.4393974378236,
10450
- y: 745.7583492891705
10451
- },
10452
- min: {
10453
- x: 17.560602562176346,
10454
- y: 225.0806956450056
10455
- }
10456
- ...
10457
- ]
10458
- */
10459
- get projections(): any[];
10460
- tiltMaps(tiltRad: any): void;
10461
- _focusBox: any;
10462
- _scrollWindow: number | undefined;
10463
- tween: any;
10464
- getFocusMaps(start: any, dir: any, len: any): any;
10465
- getFocusBox(): any;
10466
- getVisibleMaps(): any;
10467
- getVisibleMapIds(): any;
10468
- getVisibleMapIndices(): number[];
10469
- getMapsByIndices(indices: any): any;
10470
- get bottomMapVisible(): any;
10471
- get topMapVisible(): any;
10472
- scrollMapsUp(): Promise<any>;
10473
- scrollMapsDown(): Promise<any>;
10474
- destroy(): void;
10475
- }
10476
- }
10477
-
10478
9712
  declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/StackedMaps' {
10479
9713
  import { MappedinMap } from '@mappedin/react-native-sdk/core/packages/get-venue';
10480
9714
  import { STACKED_MAPS_STATE, StackedMapsController, TCameraTransform } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
10481
9715
  /**
10482
- * Stacked Maps API
9716
+ * API for showing multiple maps involved in a {@link Journey} as a vertical stack.
10483
9717
  */
10484
9718
  export class StackedMaps {
10485
9719
  #private;
@@ -10489,49 +9723,101 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Sta
10489
9723
  constructor(markersController: StackedMapsController);
10490
9724
  /**
10491
9725
  * @experimental
10492
- * Enable stacked maps, which can be used to view maps involved in current journey as a vertical stack
9726
+ * Enable Stacked Maps. A {@link Journey} must be drawn beforehand or this method will fail.
9727
+ * Use {@link showOverview} to expand the maps vertically after enabling.
9728
+ *
9729
+ * Upon enabling, map state will become {@link STATE.STACKED | STACKED} and Stacked Maps state will become {@link STACKED_MAPS_STATE.ACTIVE | ACTIVE}.
9730
+ *
9731
+ * @example
9732
+ * ```ts
9733
+ * // Create a Journey
9734
+ * const startLocation = mapView.venue.locations.find(...);
9735
+ * const endLocation = mapView.venue.locations.find(...);
9736
+ * mapView.Journey.draw(startLocation.directionsTo(endLocation));
9737
+ *
9738
+ * // Enable and show Stacked Maps Overview
9739
+ * mapView.StackedMaps.enable({
9740
+ * verticalDistanceBetweenMaps: 150
9741
+ * });
9742
+ * mapView.StackedMaps.showOverview();
9743
+ * ```
10493
9744
  *
10494
- * @returns Promise when all animations are complete
9745
+ * @returns Promise when all animations are complete.
10495
9746
  */
10496
9747
  enable: (opts?: {
10497
- verticalDistanceBetweenMaps?: number | undefined;
10498
- } | undefined) => Promise<void>;
9748
+ verticalDistanceBetweenMaps?: number;
9749
+ }) => Promise<void>;
10499
9750
  /**
10500
9751
  * @experimental
10501
9752
  *
10502
- * Disables the current stacked maps experience and returns to the current map view
9753
+ * Disable Stacked Maps and zoom in to the current map. Stacked Maps state will become {@link STACKED_MAPS_STATE.INACTIVE | INACTIVE}.
9754
+ *
9755
+ * @example
9756
+ * ```ts
9757
+ * mapView.StackedMaps.disable();
9758
+ * ```
10503
9759
  *
10504
- * @returns Promise when all animations are complete
9760
+ * @returns Promise when all animations are complete.
10505
9761
  */
10506
9762
  disable: () => Promise<void>;
10507
9763
  /**
10508
9764
  * @experimental
10509
9765
  *
10510
- * Expand the maps in current journey vertically and add vertical paths
9766
+ * Expand the maps in the current {@link Journey} vertically and add vertical paths between connections.
9767
+ * Stacked Maps must be enabled beforehand and state will become {@link STACKED_MAPS_STATE.OVERVIEW | OVERVIEW}.
9768
+ *
9769
+ * @example
9770
+ * ```ts
9771
+ * mapView.Journey.draw(...)
9772
+ * mapView.StackedMaps.enable();
9773
+ * mapView.StackedMaps.showOverview();
9774
+ * ```
10511
9775
  *
10512
- * @returns Promise when all animations are complete
9776
+ * @returns Promise when all animations are complete.
10513
9777
  */
10514
9778
  showOverview: () => Promise<void>;
10515
9779
  /**
10516
9780
  * @experimental
10517
9781
  *
10518
- * Scroll to a specific map in the current journey (only available in Overview mode)
9782
+ * Scroll the camera to a specific map in {@link STACKED_MAPS_STATE.OVERVIEW | OVERVIEW} state.
10519
9783
  *
10520
- * @returns Promise when all animations are complete
9784
+ * @example
9785
+ * ```ts
9786
+ * // Zoom into a clicked map if Stacked Maps is in Overview state
9787
+ * mapView.on(E_SDK_EVENT.CLICK, ({ maps }) => {
9788
+ * if (maps.length <= 0) return;
9789
+ * if (mapView.StackedMaps.state === STACKED_MAPS_STATE.OVERVIEW) {
9790
+ * mapView.StackedMaps.scrollToMap(maps[0]);
9791
+ * }
9792
+ * });
9793
+ * ```
9794
+ *
9795
+ * @returns Promise when all animations are complete.
10521
9796
  */
10522
9797
  scrollToMap: (map: MappedinMap) => Promise<void>;
10523
9798
  /**
10524
9799
  * @experimental
10525
9800
  *
10526
- * Scroll and zoom to a specific map in the current journey (only available in Overview mode)
9801
+ * Scroll and zoom into a specific map in {@link STACKED_MAPS_STATE.OVERVIEW | OVERVIEW} state. Stacked Maps state will become {@link STACKED_MAPS_STATE.ZOOMED_IN | ZOOMED_IN}.
10527
9802
  *
10528
- * @returns Promise when all animations are complete
9803
+ * @example
9804
+ * ```ts
9805
+ * // Zoom into a clicked map if Stacked Maps is in Overview state
9806
+ * mapView.on(E_SDK_EVENT.CLICK, ({ maps }) => {
9807
+ * if (maps.length <= 0) return;
9808
+ * if (mapView.StackedMaps.state === STACKED_MAPS_STATE.OVERVIEW) {
9809
+ * mapView.StackedMaps.zoomInToMap(maps[0]);
9810
+ * }
9811
+ * });
9812
+ * ```
9813
+ *
9814
+ * @returns Promise when all animations are complete.
10529
9815
  */
10530
- zoomInToMap: (map: MappedinMap, cameraTransform?: TCameraTransform | undefined) => Promise<void>;
9816
+ zoomInToMap: (map: MappedinMap, cameraTransform?: TCameraTransform) => Promise<void>;
10531
9817
  /**
10532
9818
  * @experimental
10533
9819
  *
10534
- * Get the current state (such as Overview or Zoomed In) of Stacked Maps
9820
+ * Get the current state of Stacked Maps.
10535
9821
  *
10536
9822
  * @returns The current {@link STACKED_MAPS_STATE}
10537
9823
  */
@@ -10539,8 +9825,78 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/Sta
10539
9825
  }
10540
9826
  }
10541
9827
 
10542
- declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/object3D.destroy' {
10543
- export default Object3D;
9828
+ declare module '@mappedin/react-native-sdk/core/packages/renderer/public/api/OutdoorView' {
9829
+ import { OutdoorViewController } from '@mappedin/react-native-sdk/core/packages/renderer/internal';
9830
+ /**
9831
+ * @experimental
9832
+ * API to control outdoor view rendering. Outdoor view can be enabled when
9833
+ * initializing the {@link MapView} with {@link TMapViewOptions.outdoorView.enabled}.
9834
+ * @example
9835
+ * ```typescript
9836
+ * const mapView = await showVenue(document.getElementById('mappedin-map'), venue, {
9837
+ * multiBufferRendering: true,
9838
+ * outdoorView: {
9839
+ * enabled: true,
9840
+ * },
9841
+ * });
9842
+ * ```
9843
+ */
9844
+ export class OutdoorView {
9845
+ #private;
9846
+ /**
9847
+ * @private
9848
+ */
9849
+ constructor(outdoorViewController: OutdoorViewController | undefined);
9850
+ /**
9851
+ *
9852
+ * @param style A style object conforming to the [Maplibre Style Spec](https://maplibre.org/maplibre-style-spec/)
9853
+ * @returns
9854
+ */
9855
+ setStyle(style: any): void;
9856
+ /**
9857
+ * * A position definition for the attribution control to be placed, can be in one of the corners of the map.
9858
+ *
9859
+ * @param {string} style A position definition
9860
+ * @returns
9861
+ */
9862
+ setAttributionPosition(position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'): void;
9863
+ }
9864
+ export default OutdoorView;
9865
+ }
9866
+
9867
+ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/quad-tree' {
9868
+ export function contains(rect1: Rectangle, rect2: Rectangle): boolean;
9869
+ export function intersects(rect1: Rectangle, rect2: Rectangle): boolean;
9870
+ class Rectangle {
9871
+ x: number;
9872
+ y: number;
9873
+ w: number;
9874
+ h: number;
9875
+ userData?: any;
9876
+ constructor(x: number, y: number, w: number, h: number, userData?: any);
9877
+ contains(rectangle: Rectangle): boolean;
9878
+ intersects(rectangle: Rectangle): boolean;
9879
+ draw(context: CanvasRenderingContext2D): void;
9880
+ }
9881
+ class QuadTree {
9882
+ boundary: Rectangle;
9883
+ capacity: number;
9884
+ objects: Rectangle[];
9885
+ topLeft: QuadTree;
9886
+ topRight: QuadTree;
9887
+ bottomLeft: QuadTree;
9888
+ bottomRight: QuadTree;
9889
+ divided: boolean;
9890
+ parent?: QuadTree;
9891
+ getSize(): any;
9892
+ constructor(boundary: Rectangle, parent?: QuadTree);
9893
+ subdivide(): void;
9894
+ query(rectangle: Rectangle): Rectangle[];
9895
+ insert(rectangle: Rectangle): boolean;
9896
+ drawObjects(context: CanvasRenderingContext2D): void;
9897
+ draw(context: CanvasRenderingContext2D): void;
9898
+ }
9899
+ export { QuadTree, Rectangle };
10544
9900
  }
10545
9901
 
10546
9902
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/outdoor-context/Mappedin.Tile' {
@@ -10571,13 +9927,13 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/outdo
10571
9927
  rendered: boolean;
10572
9928
  discardTexture(): void;
10573
9929
  applyTexture(): void;
10574
- render(metersPerTile: number, referenceMap: MappedinMap): any;
9930
+ render(metersPerTile: number, referenceMap: MappedinMap): Mesh;
10575
9931
  }
10576
9932
  }
10577
9933
 
10578
9934
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/outdoor-context/Outdoor-Context.provider' {
10579
9935
  /**
10580
- * @experimental
9936
+ * @deprecated Use {@link OutdoorView} instead.
10581
9937
  * The universal outdoor context interface
10582
9938
  */
10583
9939
  export interface IOutdoorContextProvider {
@@ -10592,7 +9948,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/outdo
10592
9948
  fetchAttribution?(zoomLevel: number, bounds: [number, number, number, number]): Promise<Response>;
10593
9949
  }
10594
9950
  /**
10595
- * @experimental
9951
+ * @deprecated Use {@link OutdoorView} instead.
10596
9952
  * Azure maps outdoor context class
10597
9953
  */
10598
9954
  export class AzureOutdoorContextProvider implements IOutdoorContextProvider {
@@ -10614,14 +9970,14 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/outdo
10614
9970
  fetchTile(tileX: number, tileY: number, zoom: number, signal: AbortSignal): Promise<Response>;
10615
9971
  }
10616
9972
  /**
10617
- * @experimental
9973
+ * @deprecated Use {@link OutdoorView} instead.
10618
9974
  * Google maps outdoor context class
10619
9975
  */
10620
9976
  export class GoogleOutdoorContextProvider implements IOutdoorContextProvider {
10621
9977
  apiKey: string;
10622
9978
  sessionToken: string;
10623
9979
  lang: string;
10624
- constructor(lang: string | undefined, apiKey: string);
9980
+ constructor(lang: string, apiKey: string);
10625
9981
  makeURL(x: number, y: number, zoom: number): string;
10626
9982
  /**
10627
9983
  * Returns the Google session token
@@ -10633,7 +9989,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/outdo
10633
9989
  fetchTile(tileX: number, tileY: number, zoom: number, signal: any): Promise<Response>;
10634
9990
  }
10635
9991
  /**
10636
- * @experimental
9992
+ * @deprecated Use {@link OutdoorView} instead.
10637
9993
  * OpenStreetMap maps outdoor context class
10638
9994
  */
10639
9995
  export class OpenStreetMapOutdoorContext implements IOutdoorContextProvider {