@mappedin/react-native-sdk 4.0.9 → 4.0.12

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +987 -346
  2. package/dist/index.js +198 -202
  3. package/package.json +6 -2
package/dist/index.d.ts CHANGED
@@ -27,6 +27,7 @@ declare module '@mappedin/react-native-sdk' {
27
27
  export type TLabelAllLocationCommonOptions = Omit<TLabelAllLocationCommonOptionsBase, 'sortFunction' | 'translationMap'>;
28
28
  export type { IDirectionsResult, MappedinDirections, TMappedinDirective } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
29
29
  export type { TShowVenueOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
30
+ export { ERROR, ERROR_MESSAGES } from '@mappedin/react-native-sdk/wrappers/common/errors';
30
31
  export { E_GET_DIRECTIONS_MESSAGES, BEARING_TYPE, ACTION_TYPE, MappedinLocation, Mappedin, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinRankings, MappedinDestinationSet } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
31
32
  }
32
33
 
@@ -36,6 +37,7 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
36
37
  import { STATE } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src';
37
38
  import { MapViewStore } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store';
38
39
  import type { TBlueDotPositionUpdate, TBlueDotStateChange, MappedinPolygon, MappedinMap, Mappedin } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
40
+ import { ERROR, ERROR_MESSAGES } from '@mappedin/react-native-sdk/wrappers/common/errors';
39
41
  export type TMiMapViewProps = {
40
42
  /**
41
43
  * The MapViewStore instance will be returned here
@@ -44,7 +46,13 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
44
46
  /**
45
47
  * Options to initialze MiMapView with
46
48
  */
47
- options: TMiMapViewOptions;
49
+ options: TMiMapViewOptions & {
50
+ /**
51
+ * Use a bundle for venue loading and cache it for faster subsequent loading
52
+ * @beta
53
+ */
54
+ useBundle?: boolean;
55
+ };
48
56
  /**
49
57
  * Venue Data to render inside the MapView. This is returned by {@link getVenue} or {@link getVenueBundle}
50
58
  */
@@ -94,6 +102,16 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
94
102
  onStateChanged?: (prop: {
95
103
  state: STATE;
96
104
  }) => void;
105
+ /**
106
+ * Called if an error occurs loading the venue map
107
+ */
108
+ onVenueLoadError?: (prop: {
109
+ error: {
110
+ name: ERROR;
111
+ message: ERROR_MESSAGES;
112
+ stack?: string;
113
+ };
114
+ }) => void;
97
115
  };
98
116
  /**
99
117
  * Mappedin MapView component
@@ -102,14 +120,15 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
102
120
  /**
103
121
  * @category Component
104
122
  */
105
- export const MiMapView: React.MemoExoticComponent<React.ForwardRefExoticComponent<Pick<TMiMapViewProps, "options" | "onFirstMapLoaded" | "onDataLoaded" | "style" | "venueData" | "onPolygonClicked" | "onBlueDotStateChanged" | "onBlueDotPositionUpdated" | "onNothingClicked" | "onMapChanged" | "onStateChanged"> & React.RefAttributes<MapViewStore>>>;
123
+ export const MiMapView: React.MemoExoticComponent<React.ForwardRefExoticComponent<Pick<TMiMapViewProps, "onFirstMapLoaded" | "onDataLoaded" | "venueData" | "options" | "style" | "onPolygonClicked" | "onBlueDotStateChanged" | "onBlueDotPositionUpdated" | "onNothingClicked" | "onMapChanged" | "onStateChanged" | "onVenueLoadError"> & React.RefAttributes<MapViewStore>>>;
106
124
  }
107
125
 
108
126
  declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMiniMap' {
109
- import React from "react";
110
- import { TMiMapViewOptions } from "@mappedin/react-native-sdk/wrappers/common";
111
- import { TFocusOnOptions } from "@mappedin/react-native-sdk/core/packages/renderer/index.rn";
112
- import type { MappedinLocation, Mappedin } from "@mappedin/react-native-sdk/core/packages/renderer/index.rn";
127
+ import React from 'react';
128
+ import { TMiMapViewOptions } from '@mappedin/react-native-sdk/wrappers/common';
129
+ import { TFocusOnOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
130
+ import type { MappedinLocation, Mappedin } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
131
+ import { ERROR, ERROR_MESSAGES } from '@mappedin/react-native-sdk/wrappers/common/errors';
113
132
  export type TMiMiniMapProps = {
114
133
  /**
115
134
  * Options to initialze MiMapView with
@@ -125,8 +144,18 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMiniM
125
144
  * Venue Data to render inside the MapView. This is returned by {@link getVenue}
126
145
  */
127
146
  venueData?: Mappedin;
128
- location: MappedinLocation["id"] | MappedinLocation;
147
+ location: MappedinLocation['id'] | MappedinLocation;
129
148
  focusOptions?: TFocusOnOptions;
149
+ /**
150
+ * Called if there's an error loading the minimap
151
+ */
152
+ onMiniMapLoadError?: (prop: {
153
+ error: {
154
+ name: ERROR;
155
+ message: ERROR_MESSAGES;
156
+ stack?: string;
157
+ };
158
+ }) => void;
130
159
  };
131
160
  /**
132
161
  * Mappedin MiniMap component
@@ -140,12 +169,12 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMiniM
140
169
  }
141
170
 
142
171
  declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store' {
143
- import { MappedinController } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MappedinController';
172
+ import { RNMappedinController } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MappedinController';
144
173
  import { TReactNativeFlatLabelAllLocations, TReactNativeFlatLabelAllLocationsLegacy, TReactNativeFlatLabelPolygonOptions, TReactNativeFloatingLabelPolygonOptions, TSerializableJourneyOptions } from '@mappedin/react-native-sdk/wrappers/common';
145
174
  import type { TGeolocationObject, TEnableBlueDotOptions, TPathOptions, TFocusOnOptions, TAnimatePositionOptions, TLabelAllLocationFloatingLabelOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
146
175
  import { STATE, Mappedin, MappedinNode, MappedinMap, MappedinLocation, MappedinDirections, MappedinPolygon, TGetVenueOptions, TShowVenueOptions, MappedinCoordinate, MappedinDestinationSet, TCreateMarkerOptions, E_BLUEDOT_STATE } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
147
176
  import { TFocusOptionsLegacy } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store.types';
148
- export class MapViewStore extends MappedinController {
177
+ export class MapViewStore extends RNMappedinController {
149
178
  #private;
150
179
  state: STATE;
151
180
  /**
@@ -156,10 +185,6 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
156
185
  * @hidden
157
186
  */
158
187
  constructor();
159
- /**
160
- * Venue Data
161
- */
162
- venueData?: Mappedin;
163
188
  /**
164
189
  * Current map of Venue
165
190
  */
@@ -168,12 +193,17 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
168
193
  /**
169
194
  * @hidden
170
195
  */
171
- loadVenue(options: TGetVenueOptions, showVenueOptions: TShowVenueOptions): Promise<Mappedin | undefined>;
196
+ loadVenue(options: TGetVenueOptions, showVenueOptions: TShowVenueOptions): Promise<unknown>;
172
197
  /**
173
198
  *
174
199
  * @hidden
175
200
  */
176
- showVenue(venueData: Mappedin, showVenueOptions: TShowVenueOptions): Promise<void>;
201
+ showVenue(venueData: Mappedin, showVenueOptions: TShowVenueOptions): Promise<unknown>;
202
+ /**
203
+ * Clear any cached venue bundles that were downloaded as part of LOAD_VENUE with useBundle: true
204
+ * This ensure that the next time keys are passed in, we get a fresh bundle
205
+ */
206
+ clearBundleCache(): Promise<void>;
177
207
  /**
178
208
  * Create a marker attached to a {@link MappedinNode}, with any abitrary HTML code inside.
179
209
  * @returns markerId This marker id can later be used to remove the marker
@@ -257,12 +287,12 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
257
287
  */
258
288
  setTilt: (tilt: number) => Promise<undefined>;
259
289
  /**
260
- * The current rotation in degrees from north.
290
+ * The current rotation in radians from north.
261
291
  * @deprecated Use CameraControls.rotation instead
262
292
  */
263
293
  rotation: number;
264
294
  /**
265
- * @param rotation The new value to set the rotation to, in degrees from north..
295
+ * @param rotation The new value to set the rotation to, in radians from north..
266
296
  * @deprecated Use CameraControls.setRotation instead
267
297
  */
268
298
  setRotation: (rotation: number) => Promise<undefined>;
@@ -280,7 +310,7 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapVi
280
310
  */
281
311
  set: (positionOptions?: TAnimatePositionOptions | undefined) => Promise<unknown>;
282
312
  /**
283
- * The current rotation in degrees from north.
313
+ * The current rotation in radians from north.
284
314
  */
285
315
  rotation: number;
286
316
  /**
@@ -386,6 +416,20 @@ declare module '@mappedin/react-native-sdk/wrappers/common' {
386
416
  export { PubSub } from '@mappedin/react-native-sdk/wrappers/common/pub-sub';
387
417
  }
388
418
 
419
+ declare module '@mappedin/react-native-sdk/wrappers/common/errors' {
420
+ export enum ERROR {
421
+ LOAD_VENUE_FAILED = "LOAD_VENUE_FAILED",
422
+ SHOW_VENUE_FAILED = "SHOW_VENUE_FAILED",
423
+ SET_MAP_FAILED = "SET_MAP_FAILED",
424
+ SHOW_MINIMAP_ERROR = "SHOW_MINIMAP_ERROR",
425
+ LOAD_MINIMAP_ERROR = "LOAD_MINIMAP_ERROR"
426
+ }
427
+ export enum ERROR_MESSAGES {
428
+ GENERIC_LOAD_VENUE_ERROR = "Unable to load Venue. Please check your keys",
429
+ GENERIC_SET_MAP_ERROR = "Unable to set map, check that you're passing a valid map"
430
+ }
431
+ }
432
+
389
433
  declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src' {
390
434
  export { MiMapView } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView';
391
435
  export type { TMiMapViewProps } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView';
@@ -404,21 +448,22 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src' {
404
448
  export type TLabelAllLocationCommonOptions = Omit<TLabelAllLocationCommonOptionsBase, 'sortFunction' | 'translationMap'>;
405
449
  export type { IDirectionsResult, MappedinDirections, TMappedinDirective } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
406
450
  export type { TShowVenueOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
451
+ export { ERROR, ERROR_MESSAGES } from '@mappedin/react-native-sdk/wrappers/common/errors';
407
452
  export { E_GET_DIRECTIONS_MESSAGES, BEARING_TYPE, ACTION_TYPE, MappedinLocation, Mappedin, MappedinPolygon, MappedinNode, MappedinCategory, MappedinMap, MappedinEvent, MappedinMapGroup, MappedinVenue, MappedinVortex, MappedinRankings, MappedinDestinationSet } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
408
453
  }
409
454
 
410
455
  declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MappedinController' {
411
456
  import WebView from 'react-native-webview';
412
457
  import { WebViewMessage } from 'react-native-webview/lib/WebViewTypes';
413
- import { BRIDGE_EVENT_PAYLOADS } from '@mappedin/react-native-sdk/wrappers/common';
414
- import { PubSub } from '@mappedin/react-native-sdk/wrappers/common';
415
- export function uuid(): string;
416
- export class MappedinController extends PubSub<any> {
458
+ import { BRIDGE_EVENT_PAYLOADS, PubSub } from '@mappedin/react-native-sdk/wrappers/common';
459
+ import { MappedinController } from '@mappedin/react-native-sdk/wrappers/common/controller';
460
+ import { Mappedin } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src';
461
+ export class RNMappedinController extends MappedinController {
417
462
  #private;
418
463
  /**
419
464
  * @hidden
420
465
  */
421
- eventBus: PubSub<BRIDGE_EVENT_PAYLOADS>;
466
+ publicEventBus: PubSub<BRIDGE_EVENT_PAYLOADS[keyof BRIDGE_EVENT_PAYLOADS]>;
422
467
  /**
423
468
  * @hidden
424
469
  */
@@ -428,27 +473,32 @@ declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/Mappedi
428
473
  */
429
474
  _setiFrame(iframe: any): void;
430
475
  /**
476
+ * Override how we handle messages we receive from the native side here
431
477
  * @hidden
432
478
  */
433
- _onMessageReceived(data: WebViewMessage['data']): void;
479
+ onMessageReceived(data: WebViewMessage['data']): void;
434
480
  /**
435
- * @hidden
481
+ * Venue Data
436
482
  */
437
- constructor();
483
+ venueData?: Mappedin;
438
484
  /**
439
485
  * @hidden
440
486
  */
441
- protected emit<EVENT_NAME extends keyof BRIDGE_EVENT_PAYLOADS>(eventName: EVENT_NAME, payload?: BRIDGE_EVENT_PAYLOADS[EVENT_NAME]['data']): void;
487
+ constructor();
442
488
  /**
489
+ * Override how we send the message to the native side
443
490
  * @hidden
444
491
  */
445
- protected emitAsync<T, EVENT_NAME extends keyof BRIDGE_EVENT_PAYLOADS>(eventName: EVENT_NAME, payload?: BRIDGE_EVENT_PAYLOADS[EVENT_NAME]['data']): Promise<T>;
492
+ sendMessage<EVENT_NAME extends keyof BRIDGE_EVENT_PAYLOADS>(eventName: EVENT_NAME, payload?: {
493
+ msgID?: string;
494
+ data: BRIDGE_EVENT_PAYLOADS[EVENT_NAME] | null;
495
+ }): void;
446
496
  }
447
497
  }
448
498
 
449
499
  declare module '@mappedin/react-native-sdk/wrappers/react-native-sdk/src/MiMapView.store.types' {
450
- import { MappedinNode, MappedinPolygon } from "@mappedin/react-native-sdk/wrappers/react-native-sdk/src";
451
- import { TFocusOptionsLegacy } from "@mappedin/react-native-sdk/core/packages/renderer/Core.interface";
500
+ import { MappedinNode, MappedinPolygon } from '@mappedin/react-native-sdk/wrappers/react-native-sdk/src';
501
+ import { TFocusOptionsLegacy } from '@mappedin/react-native-sdk/core/packages/renderer/Core.interface';
452
502
  export type TPolygonColorOptions = {
453
503
  color: string;
454
504
  opacity?: number;
@@ -527,6 +577,22 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue' {
527
577
  * Note 2: This may behave a lot slower for large venues, especially those with many images. We are actively working on improving load times.
528
578
  */
529
579
  export function getVenueBundle(userOptions: TGetVenueBundleOptions): Promise<Mappedin>;
580
+ /**
581
+ * Get the bundle URL and updated_at time.
582
+ * @internal
583
+ */
584
+ export function getVenueBundleURL(userOptions: TGetVenueBundleOptions): Promise<{
585
+ url: string;
586
+ updated_at: string;
587
+ }>;
588
+ /**
589
+ * Download a bundle and return a Mappedin instance
590
+ * @internal
591
+ */
592
+ export function downloadBundle(userOptions: any, { url, updated_at }: {
593
+ url: any;
594
+ updated_at: any;
595
+ }): Promise<Mappedin>;
530
596
  }
531
597
 
532
598
  declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums' {
@@ -625,6 +691,10 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums'
625
691
  RIGHT = 4
626
692
  }
627
693
  export enum E_SDK_EVENT {
694
+ /**
695
+ * Emitted when the map is clicked
696
+ */
697
+ CLICK = "CLICK",
628
698
  /**
629
699
  * Emitted when the {@link STATE | SDK state} changes
630
700
  */
@@ -649,6 +719,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums'
649
719
  export enum E_CAMERA_EVENT {
650
720
  USER_INTERACTION_START = "USER_INTERACTION_START",
651
721
  USER_INTERACTION_END = "USER_INTERACTION_END",
722
+ /** @private */
652
723
  POSITION_CHANGED = "POSITION_CHANGED",
653
724
  ZOOM_CHANGED = "ZOOM_CHANGED",
654
725
  ROTATION_CHANGED = "ROTATION_CHANGED",
@@ -1162,7 +1233,29 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
1162
1233
  appearance?: TFlatLabelAppearance;
1163
1234
  };
1164
1235
  export type changeListenerFn<PAYLOAD> = (update: PAYLOAD) => void;
1236
+ export type TMapClickEvent = {
1237
+ /**
1238
+ * The latitude / longitude of where the user clicked the map.
1239
+ * Both components may be NaN if unable to compute these components.
1240
+ */
1241
+ position: {
1242
+ latitude: number;
1243
+ longitude: number;
1244
+ };
1245
+ /**
1246
+ * A list of MappedinPolygons corresponding to every polygon that a user's
1247
+ * click passed through. These are in order of first to last intersected.
1248
+ * Will be empty if no interactive polygons were clicked.
1249
+ */
1250
+ polygons: MappedinPolygon[];
1251
+ /**
1252
+ * Indicates whether the user clicked close to the Blue Dot object on the
1253
+ * map, if present. If Blue Dot is disabled, this will always be false.
1254
+ */
1255
+ nearBlueDot: boolean;
1256
+ };
1165
1257
  export type E_SDK_EVENT_PAYLOAD = {
1258
+ [E_SDK_EVENT.CLICK]: TMapClickEvent;
1166
1259
  [E_SDK_EVENT.STATE_CHANGE]: STATE;
1167
1260
  [E_SDK_EVENT.POLYGON_CLICKED]: MappedinPolygon;
1168
1261
  [E_SDK_EVENT.NOTHING_CLICKED]: undefined;
@@ -1181,6 +1274,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView.types'
1181
1274
  export type CAMERA_EVENT_PAYLOAD = {
1182
1275
  [E_CAMERA_EVENT.USER_INTERACTION_START]: void;
1183
1276
  [E_CAMERA_EVENT.USER_INTERACTION_END]: void;
1277
+ /** @private */
1184
1278
  [E_CAMERA_EVENT.POSITION_CHANGED]: {
1185
1279
  x: number;
1186
1280
  y: number;
@@ -1348,7 +1442,6 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Camera' {
1348
1442
 
1349
1443
  declare module '@mappedin/react-native-sdk/wrappers/common/events' {
1350
1444
  export enum EVENT {
1351
- READY = "READY",
1352
1445
  LOAD_VENUE = "LOAD_VENUE",
1353
1446
  SHOW_VENUE = "SHOW_VENUE",
1354
1447
  POLYGON_CLICKED = "POLYGON_CLICKED",
@@ -1385,9 +1478,21 @@ declare module '@mappedin/react-native-sdk/wrappers/common/events' {
1385
1478
  LABEL_POLYGON = "LABEL_POLYGON",
1386
1479
  ENABLE_BLUE_DOT = "ENABLE_BLUE_DOT",
1387
1480
  DISABLE_BLUE_DOT = "DISABLE_BLUE_DOT",
1481
+ /**
1482
+ * @deprecated
1483
+ */
1388
1484
  ENABLE_BEARING = "ENABLE_BEARING",
1485
+ /**
1486
+ * @deprecated
1487
+ */
1389
1488
  GET_NEAREST_NODE = "GET_NEAREST_NODE",
1489
+ /**
1490
+ * @deprecated
1491
+ */
1390
1492
  GET_BLUE_DOT_IS_FOLLOWING = "GET_BLUE_DOT_IS_FOLLOWING",
1493
+ /**
1494
+ * @deprecated
1495
+ */
1391
1496
  SET_BLUE_DOT_IS_FOLLOWING = "SET_BLUE_DOT_IS_FOLLOWING",
1392
1497
  GET_DIRECTIONS = "GET_DIRECTIONS",
1393
1498
  DESTROY = "DESTROY",
@@ -1407,7 +1512,8 @@ declare module '@mappedin/react-native-sdk/wrappers/common/events' {
1407
1512
  DRAW_JOURNEY = "DRAW_JOURNEY",
1408
1513
  CLEAR_JOURNEY = "CLEAR_JOURNEY",
1409
1514
  SET_COOKIE = "SET_COOKIE",
1410
- GET_NEAREST_NODE_BY_SCREEN_COORDINATES = "GET_NEAREST_NODE_BY_SCREEN_COORDINATES"
1515
+ GET_NEAREST_NODE_BY_SCREEN_COORDINATES = "GET_NEAREST_NODE_BY_SCREEN_COORDINATES",
1516
+ CLEAR_BUNDLE_CACHE = "CLEAR_BUNDLE_CACHE"
1411
1517
  }
1412
1518
  export enum WAYFINDING_EVENT {
1413
1519
  GET_MAPS_IN_NAVIGATION = "GET_MAPS_IN_NAVIGATION",
@@ -1419,7 +1525,6 @@ declare module '@mappedin/react-native-sdk/wrappers/common/events' {
1419
1525
  EXIT_NAVIGATION = "EXIT_NAVIGATION"
1420
1526
  }
1421
1527
  export enum BRIDGE_EVENT {
1422
- READY = "READY",
1423
1528
  RESOLVE = "RESOLVE",
1424
1529
  REJECT = "REJECT"
1425
1530
  }
@@ -1429,333 +1534,221 @@ declare module '@mappedin/react-native-sdk/wrappers/common/events' {
1429
1534
  READY = "MINIMAP_READY",
1430
1535
  CACHE_IMAGE = "CACHE_IMAGE"
1431
1536
  }
1537
+ export enum NATIVE_EVENT {
1538
+ LOG = "LOG",
1539
+ READY = "READY",
1540
+ GET_MAP_POLYGONS = "GET_MAP_POLYGONS",
1541
+ GET_IMAGE = "GET_IMAGE"
1542
+ }
1432
1543
  }
1433
1544
 
1434
1545
  declare module '@mappedin/react-native-sdk/wrappers/common/payloads' {
1435
1546
  import { IDirectionsResult, MappedinMap, MappedinNode, TBlueDotPositionUpdate, TBlueDotStateChange, TGetVenueOptions, TFloatingLabelPolygonOptions, TFlatLabelPolygonOptions, TAnimatePositionOptions, TPathOptions, TShowVenueOptions, STATE, TGeolocationObject, TEnableBlueDotOptions, MappedinLocation, TLabelAllLocationFloatingLabelOptions } from '@mappedin/react-native-sdk/core/packages/renderer/index.rn';
1436
1547
  import { TMiMapViewOptions } from '@mappedin/react-native-sdk/wrappers/common/types';
1437
- import { BRIDGE_EVENT, EVENT, MINIMAP_EVENT, TFocusOnOptionsLegacySerializable, TReactNativeFlatLabelAllLocationsLegacy, TReactNativeFlatLabelAllLocations } from '@mappedin/react-native-sdk/wrappers/common';
1548
+ import { BRIDGE_EVENT, EVENT, MINIMAP_EVENT, TFocusOnOptionsLegacySerializable, TReactNativeFlatLabelAllLocationsLegacy, TReactNativeFlatLabelAllLocations, NATIVE_EVENT } from '@mappedin/react-native-sdk/wrappers/common';
1438
1549
  import { TSerializableJourneyOptions, TFocusOnOptionsSerializable, TSerializedLocation, TSerializedNode, TSerializedPolygon } from '@mappedin/react-native-sdk/wrappers/common/types';
1439
1550
  export type BRIDGE_EVENT_PAYLOADS = {
1440
- [BRIDGE_EVENT.READY]: {
1441
- msgID: string;
1442
- data?: null;
1443
- };
1444
- [BRIDGE_EVENT.REJECT]: {
1445
- msgID: string;
1446
- payload?: string;
1447
- data?: null;
1448
- };
1449
- [BRIDGE_EVENT.RESOLVE]: {
1450
- msgID: string;
1451
- payload?: unknown;
1452
- data?: null;
1453
- };
1454
- [MINIMAP_EVENT.SHOW_MINIMAP]: {
1455
- msgID: string;
1456
- data: {
1457
- format: 'jsonstring';
1458
- venueData: string;
1459
- options: TMiMapViewOptions;
1551
+ [BRIDGE_EVENT.REJECT]: any;
1552
+ [BRIDGE_EVENT.RESOLVE]: any;
1553
+ [NATIVE_EVENT.READY]: null;
1554
+ [NATIVE_EVENT.LOG]: string;
1555
+ [NATIVE_EVENT.GET_IMAGE]: {
1556
+ fileName: string;
1460
1557
  };
1461
- };
1462
- [MINIMAP_EVENT.LOAD_MINIMAP]: {
1463
- msgID: string;
1464
- data: {
1465
- options: TGetVenueOptions;
1558
+ [NATIVE_EVENT.GET_MAP_POLYGONS]: {
1559
+ mapId: string;
1466
1560
  };
1467
- };
1468
- [MINIMAP_EVENT.CACHE_IMAGE]: {
1469
- msgID: string;
1470
- data: {
1471
- options: TGetVenueOptions;
1472
- locationId: MappedinLocation['id'];
1473
- polygonHighlightColor?: string;
1474
- focusOptions?: TFocusOnOptionsSerializable;
1561
+ [MINIMAP_EVENT.READY]: null;
1562
+ [MINIMAP_EVENT.SHOW_MINIMAP]: {
1563
+ format: 'jsonstring';
1564
+ venueData: string;
1565
+ options: TMiMapViewOptions;
1475
1566
  };
1476
- };
1477
- [EVENT.NOTHING_CLICKED]: {
1478
- data: null;
1479
- };
1480
- [EVENT.STATE_CHANGED]: {
1481
- state: STATE;
1482
- data?: null;
1483
- };
1484
- [EVENT.DATA_LOADED]: {
1485
- venueData: any;
1486
- data?: null;
1487
- };
1488
- [EVENT.FIRST_MAP_LOADED]: {
1489
- venueData: any;
1490
- data?: null;
1491
- };
1492
- [EVENT.MAP_CHANGED]: {
1493
- mapId: string;
1494
- data?: null;
1495
- };
1496
- [EVENT.POLYGON_CLICKED]: {
1497
- polygonId: string;
1498
- data?: null;
1499
- };
1500
- [EVENT.ROTATION_CHANGED]: {
1501
- rotation: number;
1502
- data?: null;
1503
- };
1504
- [EVENT.TILT_CHANGED]: {
1505
- tilt: number;
1506
- data?: null;
1507
- };
1508
- [EVENT.UPDATE_GEOLOCATION]: {
1509
- data: unknown;
1510
- };
1511
- [EVENT.BLUEDOT_STATE_CHANGE]: {
1512
- stateChange: TBlueDotStateChange;
1513
- data?: null;
1514
- };
1515
- [EVENT.BLUEDOT_POSITION_UPDATE]: {
1516
- update: Omit<TBlueDotPositionUpdate, 'nearestNode' | 'map'> & {
1517
- nearestNode?: MappedinNode['id'];
1518
- map?: MappedinMap['id'];
1567
+ [MINIMAP_EVENT.LOAD_MINIMAP]: {
1568
+ options: TGetVenueOptions;
1519
1569
  };
1520
- data?: null;
1521
- };
1522
- [EVENT.SET_JOURNEY_STEP]: {
1523
- msgID: string;
1524
- data: {
1525
- step: number;
1570
+ [MINIMAP_EVENT.CACHE_IMAGE]: {
1571
+ url?: string;
1572
+ options: TGetVenueOptions;
1573
+ locationId: MappedinLocation['id'];
1574
+ polygonHighlightColor?: string;
1575
+ focusOptions?: Omit<TFocusOnOptionsSerializable, 'targets'>;
1526
1576
  };
1527
- };
1528
- [EVENT.LOAD_VENUE]: {
1529
- msgID: string;
1530
- data: {
1531
- options: TGetVenueOptions;
1532
- showVenueOptions: TShowVenueOptions;
1577
+ [EVENT.CLEAR_BUNDLE_CACHE]: null;
1578
+ [EVENT.NOTHING_CLICKED]: null;
1579
+ [EVENT.STATE_CHANGED]: {
1580
+ state: STATE;
1533
1581
  };
1534
- };
1535
- [EVENT.SHOW_VENUE]: {
1536
- msgID: string;
1537
- data: {
1538
- venueData: string;
1539
- format: 'jsonstring';
1540
- showVenueOptions: TShowVenueOptions;
1582
+ [EVENT.DATA_LOADED]: {
1583
+ venueData: any;
1541
1584
  };
1542
- };
1543
- [EVENT.SET_MAP]: {
1544
- msgID: string;
1545
- data: {
1546
- mapId: string;
1585
+ [EVENT.FIRST_MAP_LOADED]: {
1586
+ venueData?: any;
1547
1587
  };
1548
- };
1549
- [EVENT.CAMERA_SET]: {
1550
- msgID: string;
1551
- data: {
1552
- positionOptions?: TAnimatePositionOptions;
1588
+ [EVENT.MAP_CHANGED]: {
1589
+ mapId: string;
1553
1590
  };
1554
- };
1555
- [EVENT.SET_ROTATION]: {
1556
- msgID: string;
1557
- data: {
1558
- rotation: number;
1591
+ [EVENT.POLYGON_CLICKED]: {
1592
+ polygonId: string;
1559
1593
  };
1560
- };
1561
- [EVENT.SET_TILT]: {
1562
- msgID: string;
1563
- data: {
1564
- tilt: number;
1594
+ [EVENT.ROTATION_CHANGED]: {
1595
+ rotation: number;
1565
1596
  };
1566
- };
1567
- [EVENT.CAMERA_SET_SAFE_AREA_INSETS]: {
1568
- msgID: string;
1569
- data: {
1570
- safeAreaInsets: {
1571
- top: number;
1572
- bottom: number;
1573
- left: number;
1574
- right: number;
1575
- };
1597
+ [EVENT.TILT_CHANGED]: {
1598
+ tilt: number;
1576
1599
  };
1577
- };
1578
- [EVENT.CLEAR_POLYGON_COLOR]: {
1579
- msgID: string;
1580
- data: {
1581
- polygonId: string;
1600
+ [EVENT.UPDATE_GEOLOCATION]: {
1601
+ msgID: undefined;
1602
+ data: unknown;
1582
1603
  };
1583
- };
1584
- [EVENT.FOCUS_ON]: {
1585
- msgID: string;
1586
- data: {
1587
- focusOptions: TFocusOnOptionsSerializable;
1604
+ [EVENT.BLUEDOT_STATE_CHANGE]: {
1605
+ stateChange: TBlueDotStateChange;
1588
1606
  };
1589
- };
1590
- [EVENT.FOCUS_ON_LEGACY]: {
1591
- msgID: string;
1592
- data: {
1593
- focusOptions: TFocusOnOptionsLegacySerializable;
1607
+ [EVENT.BLUEDOT_POSITION_UPDATE]: {
1608
+ update: Omit<TBlueDotPositionUpdate, 'nearestNode' | 'map'> & {
1609
+ nearestNode?: MappedinNode['id'];
1610
+ map?: MappedinMap['id'];
1611
+ };
1594
1612
  };
1595
- };
1596
- [EVENT.SET_POLYGON_COLOR]: {
1597
- msgID: string;
1598
- data: {
1599
- polygonId: string;
1600
- color: string;
1601
- textColor?: string;
1602
- opacity?: number;
1613
+ [EVENT.SET_JOURNEY_STEP]: {
1614
+ step: number;
1603
1615
  };
1604
- };
1605
- [EVENT.SET_BACKGROUND_COLOR]: {
1606
- msgID: string;
1607
- data: {
1608
- backgroundColor: string;
1616
+ [EVENT.LOAD_VENUE]: {
1617
+ options: TGetVenueOptions & {
1618
+ useBundle?: boolean;
1619
+ };
1620
+ showVenueOptions: TShowVenueOptions;
1609
1621
  };
1610
- };
1611
- [EVENT.CLEAR_ALL_POLYGON_COLORS]: {
1612
- msgID: string;
1613
- data?: null;
1614
- };
1615
- [EVENT.ADD_INTERACTIVE_POLYGON]: {
1616
- msgID: string;
1617
- data: {
1618
- polygonId: string;
1622
+ [EVENT.SHOW_VENUE]: {
1623
+ venueData: string;
1624
+ format: 'jsonstring';
1625
+ showVenueOptions: TShowVenueOptions;
1619
1626
  };
1620
- };
1621
- [EVENT.REMOVE_INTERACTIVE_POLYGONS]: {
1622
- msgID: string;
1623
- data?: null;
1624
- };
1625
- [EVENT.LABEL_ALL_LOCATIONS]: {
1626
- msgID: string;
1627
- data: {
1628
- options?: (Omit<TReactNativeFlatLabelAllLocations, 'locations'> | Omit<TLabelAllLocationFloatingLabelOptions, 'locations'> | Omit<TReactNativeFlatLabelAllLocationsLegacy, 'locations'>) & {
1629
- locations?: string[];
1630
- };
1627
+ [EVENT.SET_MAP]: {
1628
+ mapId: string;
1631
1629
  };
1632
- };
1633
- [EVENT.REMOVE_ALL_LABELS]: {
1634
- msgID: string;
1635
- data?: null;
1636
- };
1637
- [EVENT.LABEL_POLYGON]: {
1638
- msgID: string;
1639
- data: {
1640
- polygonId: string;
1641
- options: (TFloatingLabelPolygonOptions | TFlatLabelPolygonOptions) & {
1642
- /**
1643
- * @deprecated
1644
- */
1645
- legacyLabels?: boolean;
1646
- };
1630
+ [EVENT.CAMERA_SET]: {
1631
+ positionOptions?: TAnimatePositionOptions;
1647
1632
  };
1648
- };
1649
- [EVENT.ENABLE_BLUE_DOT]: {
1650
- msgID: string;
1651
- data: {
1652
- options?: TEnableBlueDotOptions;
1633
+ [EVENT.SET_ROTATION]: {
1634
+ rotation: number;
1653
1635
  };
1654
- };
1655
- [EVENT.DISABLE_BLUE_DOT]: {
1656
- msgID: string;
1657
- data?: null;
1658
- };
1659
- [EVENT.SET_BLUE_DOT_IS_FOLLOWING]: {
1660
- msgID: string;
1661
- data: {
1662
- isFollowing: boolean;
1636
+ [EVENT.SET_TILT]: {
1637
+ tilt: number;
1663
1638
  };
1664
- };
1665
- [EVENT.GET_DIRECTIONS]: {
1666
- msgID: string;
1667
- data: {
1668
- to: TSerializedNode | TSerializedLocation | TSerializedPolygon;
1669
- from: TSerializedNode | TSerializedLocation | TSerializedPolygon;
1670
- accessible?: boolean;
1639
+ [EVENT.CAMERA_SET_SAFE_AREA_INSETS]: {
1640
+ safeAreaInsets: {
1641
+ top: number;
1642
+ bottom: number;
1643
+ left: number;
1644
+ right: number;
1645
+ };
1671
1646
  };
1672
- };
1673
- [EVENT.DESTROY]: {
1674
- msgID: string;
1675
- data: null;
1676
- };
1677
- [EVENT.SET_MIN_ZOOM]: {
1678
- msgID: string;
1679
- data: {
1680
- zoomLevel: number;
1647
+ [EVENT.CLEAR_POLYGON_COLOR]: {
1648
+ polygonId: string;
1681
1649
  };
1682
- };
1683
- [EVENT.SET_MAX_ZOOM]: {
1684
- msgID: string;
1685
- data: {
1686
- zoomLevel: number;
1650
+ [EVENT.FOCUS_ON]: {
1651
+ focusOptions: TFocusOnOptionsSerializable;
1687
1652
  };
1688
- };
1689
- [EVENT.CREATE_MARKER]: {
1690
- msgID: string;
1691
- data: {
1692
- nodeOrCoordinate: {
1693
- type: 'Node';
1694
- id: string;
1695
- } | {
1696
- type: 'Coordinate';
1697
- mapId: string;
1698
- lat: number;
1699
- lon: number;
1700
- };
1701
- contentHtml: string;
1702
- options: any;
1653
+ [EVENT.FOCUS_ON_LEGACY]: {
1654
+ focusOptions: TFocusOnOptionsLegacySerializable;
1703
1655
  };
1704
- };
1705
- [EVENT.REMOVE_MARKER]: {
1706
- msgID: string;
1707
- data: {
1708
- markerId: string;
1656
+ [EVENT.SET_POLYGON_COLOR]: {
1657
+ polygonId: string;
1658
+ color: string;
1659
+ textColor?: string;
1660
+ opacity?: number;
1709
1661
  };
1710
- };
1711
- [EVENT.OVERRIDE_LOCATION]: {
1712
- msgID: string;
1713
- data: {
1714
- location: TGeolocationObject;
1662
+ [EVENT.SET_BACKGROUND_COLOR]: {
1663
+ backgroundColor: string;
1715
1664
  };
1716
- };
1717
- [EVENT.DRAW_PATH]: {
1718
- msgID: string;
1719
- data: {
1720
- path: MappedinNode['id'][];
1721
- pathOptions: TPathOptions;
1665
+ [EVENT.CLEAR_ALL_POLYGON_COLORS]: null;
1666
+ [EVENT.ADD_INTERACTIVE_POLYGON]: {
1667
+ polygonId: string;
1722
1668
  };
1723
- };
1724
- [EVENT.REMOVE_ALL_PATHS]: {
1725
- msgID: string;
1726
- data?: null;
1727
- };
1728
- [EVENT.SET_STATE]: {
1729
- msgID: string;
1730
- data: {
1731
- state: STATE;
1669
+ [EVENT.REMOVE_INTERACTIVE_POLYGONS]: null;
1670
+ [EVENT.LABEL_ALL_LOCATIONS]: {
1671
+ options?: (Omit<TReactNativeFlatLabelAllLocations, 'locations'> | Omit<TLabelAllLocationFloatingLabelOptions, 'locations'> | Omit<TReactNativeFlatLabelAllLocationsLegacy, 'locations'>) & {
1672
+ locations?: string[];
1673
+ /**
1674
+ * @deprecated
1675
+ */
1676
+ legacyLabels?: boolean;
1677
+ flatLabels?: boolean;
1678
+ };
1732
1679
  };
1733
- };
1734
- [EVENT.CLEAR_JOURNEY]: {
1735
- msgID: string;
1736
- data?: null;
1737
- };
1738
- [EVENT.DRAW_JOURNEY]: {
1739
- msgID: string;
1740
- data: {
1741
- directions: IDirectionsResult;
1742
- options: TSerializableJourneyOptions;
1680
+ [EVENT.REMOVE_ALL_LABELS]: null;
1681
+ [EVENT.LABEL_POLYGON]: {
1682
+ polygonId: string;
1683
+ options: (TFloatingLabelPolygonOptions | TFlatLabelPolygonOptions) & {
1684
+ /**
1685
+ * @deprecated
1686
+ */
1687
+ legacyLabels?: boolean;
1688
+ };
1743
1689
  };
1744
- };
1745
- [EVENT.SET_COOKIE]: {
1746
- msgID: string;
1747
- data: {
1748
- cookie: any;
1690
+ [EVENT.ENABLE_BLUE_DOT]: {
1691
+ options?: TEnableBlueDotOptions;
1749
1692
  };
1750
- };
1751
- [EVENT.GET_NEAREST_NODE_BY_SCREEN_COORDINATES]: {
1752
- msgID: string;
1753
- data: {
1754
- x: number;
1755
- y: number;
1756
- map?: MappedinMap['id'];
1693
+ [EVENT.DISABLE_BLUE_DOT]: null;
1694
+ [EVENT.ENABLE_BEARING]: any;
1695
+ [EVENT.GET_NEAREST_NODE]: any;
1696
+ [EVENT.GET_BLUE_DOT_IS_FOLLOWING]: any;
1697
+ [EVENT.SET_BLUE_DOT_IS_FOLLOWING]: {
1698
+ isFollowing: boolean;
1699
+ };
1700
+ [EVENT.GET_DIRECTIONS]: {
1701
+ to: TSerializedNode | TSerializedLocation | TSerializedPolygon;
1702
+ from: TSerializedNode | TSerializedLocation | TSerializedPolygon;
1703
+ accessible?: boolean;
1704
+ };
1705
+ [EVENT.DESTROY]: null;
1706
+ [EVENT.SET_MIN_ZOOM]: {
1707
+ zoomLevel: number;
1708
+ };
1709
+ [EVENT.SET_MAX_ZOOM]: {
1710
+ zoomLevel: number;
1711
+ };
1712
+ [EVENT.CREATE_MARKER]: {
1713
+ nodeOrCoordinate: {
1714
+ type: 'Node';
1715
+ id: string;
1716
+ } | {
1717
+ type: 'Coordinate';
1718
+ mapId: string;
1719
+ lat: number;
1720
+ lon: number;
1721
+ };
1722
+ contentHtml: string;
1723
+ options: any;
1724
+ };
1725
+ [EVENT.REMOVE_MARKER]: {
1726
+ markerId: string;
1727
+ };
1728
+ [EVENT.OVERRIDE_LOCATION]: {
1729
+ location: TGeolocationObject;
1730
+ };
1731
+ [EVENT.DRAW_PATH]: {
1732
+ path: MappedinNode['id'][];
1733
+ pathOptions: TPathOptions;
1734
+ };
1735
+ [EVENT.REMOVE_ALL_PATHS]: null;
1736
+ [EVENT.SET_STATE]: {
1737
+ state: STATE;
1738
+ };
1739
+ [EVENT.CLEAR_JOURNEY]: null;
1740
+ [EVENT.DRAW_JOURNEY]: {
1741
+ directions: IDirectionsResult;
1742
+ options: TSerializableJourneyOptions;
1743
+ };
1744
+ [EVENT.SET_COOKIE]: {
1745
+ cookie: any;
1746
+ };
1747
+ [EVENT.GET_NEAREST_NODE_BY_SCREEN_COORDINATES]: {
1748
+ x: number;
1749
+ y: number;
1750
+ map?: MappedinMap['id'];
1757
1751
  };
1758
- };
1759
1752
  };
1760
1753
  }
1761
1754
 
@@ -1840,15 +1833,449 @@ declare module '@mappedin/react-native-sdk/wrappers/common/types' {
1840
1833
  declare module '@mappedin/react-native-sdk/wrappers/common/pub-sub' {
1841
1834
  export class PubSub<EVENT_PAYLOAD> {
1842
1835
  _subscribers: any;
1843
- publish<EVENT_NAME extends keyof EVENT_PAYLOAD>(eventName: EVENT_NAME, data: EVENT_PAYLOAD[EVENT_NAME]): void;
1844
- on<EVENT_NAME extends keyof EVENT_PAYLOAD>(eventName: EVENT_NAME, fn: (payload: EVENT_PAYLOAD[EVENT_NAME] extends {
1845
- data: null;
1846
- } ? EVENT_PAYLOAD[EVENT_NAME]['data'] : EVENT_PAYLOAD[EVENT_NAME]) => void): void;
1836
+ publish<EVENT_NAME extends keyof EVENT_PAYLOAD>(eventName: EVENT_NAME, data?: EVENT_PAYLOAD[EVENT_NAME]): void;
1837
+ on<EVENT_NAME extends keyof EVENT_PAYLOAD>(eventName: EVENT_NAME, fn: (payload: EVENT_PAYLOAD[EVENT_NAME]) => void): void;
1847
1838
  off<EVENT_NAME extends keyof EVENT_PAYLOAD>(eventName: EVENT_NAME, fn: (payload: EVENT_PAYLOAD[EVENT_NAME]) => void): void;
1848
1839
  destroy(): void;
1849
1840
  }
1850
1841
  }
1851
1842
 
1843
+ declare module '@mappedin/react-native-sdk/wrappers/common/controller' {
1844
+ import { BRIDGE_EVENT, BRIDGE_EVENT_PAYLOADS } from '@mappedin/react-native-sdk/wrappers/common';
1845
+ import { PubSub } from '@mappedin/react-native-sdk/wrappers/common';
1846
+ export function uuid(): string;
1847
+ export class MappedinController {
1848
+ #private;
1849
+ privateEventBus: PubSub<{
1850
+ REJECT: {
1851
+ msgID?: string | undefined;
1852
+ data: any;
1853
+ };
1854
+ RESOLVE: {
1855
+ msgID?: string | undefined;
1856
+ data: any;
1857
+ };
1858
+ READY: {
1859
+ msgID?: string | undefined;
1860
+ data: null;
1861
+ };
1862
+ LOG: {
1863
+ msgID?: string | undefined;
1864
+ data: string;
1865
+ };
1866
+ GET_IMAGE: {
1867
+ msgID?: string | undefined;
1868
+ data: {
1869
+ fileName: string;
1870
+ };
1871
+ };
1872
+ GET_MAP_POLYGONS: {
1873
+ msgID?: string | undefined;
1874
+ data: {
1875
+ mapId: string;
1876
+ };
1877
+ };
1878
+ MINIMAP_READY: {
1879
+ msgID?: string | undefined;
1880
+ data: null;
1881
+ };
1882
+ SHOW_MINIMAP: {
1883
+ msgID?: string | undefined;
1884
+ data: {
1885
+ format: "jsonstring";
1886
+ venueData: string;
1887
+ options: import("./types").TMiMapViewOptions;
1888
+ };
1889
+ };
1890
+ LOAD_MINIMAP: {
1891
+ msgID?: string | undefined;
1892
+ data: {
1893
+ options: import("../react-native-sdk/src").TGetVenueOptions;
1894
+ };
1895
+ };
1896
+ CACHE_IMAGE: {
1897
+ msgID?: string | undefined;
1898
+ data: {
1899
+ url?: string | undefined;
1900
+ options: import("../react-native-sdk/src").TGetVenueOptions;
1901
+ locationId: string;
1902
+ polygonHighlightColor?: string | undefined;
1903
+ focusOptions?: Omit<import("./types").TFocusOnOptionsSerializable, "targets"> | undefined;
1904
+ };
1905
+ };
1906
+ CLEAR_BUNDLE_CACHE: {
1907
+ msgID?: string | undefined;
1908
+ data: null;
1909
+ };
1910
+ NOTHING_CLICKED: {
1911
+ msgID?: string | undefined;
1912
+ data: null;
1913
+ };
1914
+ STATE_CHANGED: {
1915
+ msgID?: string | undefined;
1916
+ data: {
1917
+ state: import("../react-native-sdk/src").STATE;
1918
+ };
1919
+ };
1920
+ DATA_LOADED: {
1921
+ msgID?: string | undefined;
1922
+ data: {
1923
+ venueData: any;
1924
+ };
1925
+ };
1926
+ FIRST_MAP_LOADED: {
1927
+ msgID?: string | undefined;
1928
+ data: {
1929
+ venueData?: any;
1930
+ };
1931
+ };
1932
+ MAP_CHANGED: {
1933
+ msgID?: string | undefined;
1934
+ data: {
1935
+ mapId: string;
1936
+ };
1937
+ };
1938
+ POLYGON_CLICKED: {
1939
+ msgID?: string | undefined;
1940
+ data: {
1941
+ polygonId: string;
1942
+ };
1943
+ };
1944
+ ROTATION_CHANGED: {
1945
+ msgID?: string | undefined;
1946
+ data: {
1947
+ rotation: number;
1948
+ };
1949
+ };
1950
+ TILT_CHANGED: {
1951
+ msgID?: string | undefined;
1952
+ data: {
1953
+ tilt: number;
1954
+ };
1955
+ };
1956
+ UPDATE_GEOLOCATION: {
1957
+ msgID?: string | undefined;
1958
+ data: {
1959
+ msgID: undefined;
1960
+ data: unknown;
1961
+ };
1962
+ };
1963
+ BLUEDOT_STATE_CHANGE: {
1964
+ msgID?: string | undefined;
1965
+ data: {
1966
+ stateChange: import("../../core/packages/renderer").TBlueDotStateChange;
1967
+ };
1968
+ };
1969
+ BLUEDOT_POSITION_UPDATE: {
1970
+ msgID?: string | undefined;
1971
+ data: {
1972
+ update: Omit<import("../../core/packages/renderer").TBlueDotPositionUpdate, "map" | "nearestNode"> & {
1973
+ nearestNode?: string | undefined;
1974
+ map?: string | undefined;
1975
+ };
1976
+ };
1977
+ };
1978
+ SET_JOURNEY_STEP: {
1979
+ msgID?: string | undefined;
1980
+ data: {
1981
+ step: number;
1982
+ };
1983
+ };
1984
+ LOAD_VENUE: {
1985
+ msgID?: string | undefined;
1986
+ data: {
1987
+ options: import("../react-native-sdk/src").TGetVenueOptions & {
1988
+ useBundle?: boolean | undefined;
1989
+ };
1990
+ showVenueOptions: import("../react-native-sdk/src").TShowVenueOptions;
1991
+ };
1992
+ };
1993
+ SHOW_VENUE: {
1994
+ msgID?: string | undefined;
1995
+ data: {
1996
+ venueData: string;
1997
+ format: "jsonstring";
1998
+ showVenueOptions: import("../react-native-sdk/src").TShowVenueOptions;
1999
+ };
2000
+ };
2001
+ SET_MAP: {
2002
+ msgID?: string | undefined;
2003
+ data: {
2004
+ mapId: string;
2005
+ };
2006
+ };
2007
+ CAMERA_SET: {
2008
+ msgID?: string | undefined;
2009
+ data: {
2010
+ positionOptions?: import("../react-native-sdk/src").TAnimatePositionOptions | undefined;
2011
+ };
2012
+ };
2013
+ SET_ROTATION: {
2014
+ msgID?: string | undefined;
2015
+ data: {
2016
+ rotation: number;
2017
+ };
2018
+ };
2019
+ SET_TILT: {
2020
+ msgID?: string | undefined;
2021
+ data: {
2022
+ tilt: number;
2023
+ };
2024
+ };
2025
+ CAMERA_SET_SAFE_AREA_INSETS: {
2026
+ msgID?: string | undefined;
2027
+ data: {
2028
+ safeAreaInsets: {
2029
+ top: number;
2030
+ bottom: number;
2031
+ left: number;
2032
+ right: number;
2033
+ };
2034
+ };
2035
+ };
2036
+ CLEAR_POLYGON_COLOR: {
2037
+ msgID?: string | undefined;
2038
+ data: {
2039
+ polygonId: string;
2040
+ };
2041
+ };
2042
+ FOCUS_ON: {
2043
+ msgID?: string | undefined;
2044
+ data: {
2045
+ focusOptions: import("./types").TFocusOnOptionsSerializable;
2046
+ };
2047
+ };
2048
+ FOCUS_ON_LEGACY: {
2049
+ msgID?: string | undefined;
2050
+ data: {
2051
+ focusOptions: import("./types").TFocusOnOptionsLegacySerializable;
2052
+ };
2053
+ };
2054
+ SET_POLYGON_COLOR: {
2055
+ msgID?: string | undefined;
2056
+ data: {
2057
+ polygonId: string;
2058
+ color: string;
2059
+ textColor?: string | undefined;
2060
+ opacity?: number | undefined;
2061
+ };
2062
+ };
2063
+ SET_BACKGROUND_COLOR: {
2064
+ msgID?: string | undefined;
2065
+ data: {
2066
+ backgroundColor: string;
2067
+ };
2068
+ };
2069
+ CLEAR_ALL_POLYGON_COLORS: {
2070
+ msgID?: string | undefined;
2071
+ data: null;
2072
+ };
2073
+ ADD_INTERACTIVE_POLYGON: {
2074
+ msgID?: string | undefined;
2075
+ data: {
2076
+ polygonId: string;
2077
+ };
2078
+ };
2079
+ REMOVE_INTERACTIVE_POLYGONS: {
2080
+ msgID?: string | undefined;
2081
+ data: null;
2082
+ };
2083
+ LABEL_ALL_LOCATIONS: {
2084
+ msgID?: string | undefined;
2085
+ data: {
2086
+ options?: ((Omit<import("./types").TReactNativeFlatLabelAllLocations, "locations"> | Omit<import("../react-native-sdk/src").TLabelAllLocationFloatingLabelOptions, "locations"> | Omit<import("./types").TReactNativeFlatLabelAllLocationsLegacy, "locations">) & {
2087
+ locations?: string[] | undefined;
2088
+ legacyLabels?: boolean | undefined;
2089
+ flatLabels?: boolean | undefined;
2090
+ }) | undefined;
2091
+ };
2092
+ };
2093
+ REMOVE_ALL_LABELS: {
2094
+ msgID?: string | undefined;
2095
+ data: null;
2096
+ };
2097
+ LABEL_POLYGON: {
2098
+ msgID?: string | undefined;
2099
+ data: {
2100
+ polygonId: string;
2101
+ options: (import("../react-native-sdk/src").TFloatingLabelPolygonOptions | import("../react-native-sdk/src").TFlatLabelPolygonOptions) & {
2102
+ legacyLabels?: boolean | undefined;
2103
+ };
2104
+ };
2105
+ };
2106
+ ENABLE_BLUE_DOT: {
2107
+ msgID?: string | undefined;
2108
+ data: {
2109
+ options?: import("../react-native-sdk/src").TEnableBlueDotOptionsBase | undefined;
2110
+ };
2111
+ };
2112
+ DISABLE_BLUE_DOT: {
2113
+ msgID?: string | undefined;
2114
+ data: null;
2115
+ };
2116
+ ENABLE_BEARING: {
2117
+ msgID?: string | undefined;
2118
+ data: any;
2119
+ };
2120
+ GET_NEAREST_NODE: {
2121
+ msgID?: string | undefined;
2122
+ data: any;
2123
+ };
2124
+ GET_BLUE_DOT_IS_FOLLOWING: {
2125
+ msgID?: string | undefined;
2126
+ data: any;
2127
+ };
2128
+ SET_BLUE_DOT_IS_FOLLOWING: {
2129
+ msgID?: string | undefined;
2130
+ data: {
2131
+ isFollowing: boolean;
2132
+ };
2133
+ };
2134
+ GET_DIRECTIONS: {
2135
+ msgID?: string | undefined;
2136
+ data: {
2137
+ to: import("./types").TSerializedNode | import("./types").TSerializedLocation | import("./types").TSerializedPolygon;
2138
+ from: import("./types").TSerializedNode | import("./types").TSerializedLocation | import("./types").TSerializedPolygon;
2139
+ accessible?: boolean | undefined;
2140
+ };
2141
+ };
2142
+ DESTROY: {
2143
+ msgID?: string | undefined;
2144
+ data: null;
2145
+ };
2146
+ SET_MIN_ZOOM: {
2147
+ msgID?: string | undefined;
2148
+ data: {
2149
+ zoomLevel: number;
2150
+ };
2151
+ };
2152
+ SET_MAX_ZOOM: {
2153
+ msgID?: string | undefined;
2154
+ data: {
2155
+ zoomLevel: number;
2156
+ };
2157
+ };
2158
+ CREATE_MARKER: {
2159
+ msgID?: string | undefined;
2160
+ data: {
2161
+ nodeOrCoordinate: {
2162
+ type: "Node";
2163
+ id: string;
2164
+ } | {
2165
+ type: "Coordinate";
2166
+ mapId: string;
2167
+ lat: number;
2168
+ lon: number;
2169
+ };
2170
+ contentHtml: string;
2171
+ options: any;
2172
+ };
2173
+ };
2174
+ REMOVE_MARKER: {
2175
+ msgID?: string | undefined;
2176
+ data: {
2177
+ markerId: string;
2178
+ };
2179
+ };
2180
+ OVERRIDE_LOCATION: {
2181
+ msgID?: string | undefined;
2182
+ data: {
2183
+ location: import("../react-native-sdk/src").TGeolocationObject;
2184
+ };
2185
+ };
2186
+ DRAW_PATH: {
2187
+ msgID?: string | undefined;
2188
+ data: {
2189
+ path: string[];
2190
+ pathOptions: import("../react-native-sdk/src").TPathOptions;
2191
+ };
2192
+ };
2193
+ REMOVE_ALL_PATHS: {
2194
+ msgID?: string | undefined;
2195
+ data: null;
2196
+ };
2197
+ SET_STATE: {
2198
+ msgID?: string | undefined;
2199
+ data: {
2200
+ state: import("../react-native-sdk/src").STATE;
2201
+ };
2202
+ };
2203
+ CLEAR_JOURNEY: {
2204
+ msgID?: string | undefined;
2205
+ data: null;
2206
+ };
2207
+ DRAW_JOURNEY: {
2208
+ msgID?: string | undefined;
2209
+ data: {
2210
+ directions: import("../react-native-sdk/src").IDirectionsResult;
2211
+ options: import("./types").TSerializableJourneyOptions;
2212
+ };
2213
+ };
2214
+ SET_COOKIE: {
2215
+ msgID?: string | undefined;
2216
+ data: {
2217
+ cookie: any;
2218
+ };
2219
+ };
2220
+ GET_NEAREST_NODE_BY_SCREEN_COORDINATES: {
2221
+ msgID?: string | undefined;
2222
+ data: {
2223
+ x: number;
2224
+ y: number;
2225
+ map?: string | undefined;
2226
+ };
2227
+ };
2228
+ }>;
2229
+ /**
2230
+ * Message received from the other side of the bridge
2231
+ * @hidden
2232
+ */
2233
+ onMessageReceived<EVENT_NAME extends keyof BRIDGE_EVENT_PAYLOADS>(eventName: EVENT_NAME, payload: {
2234
+ data: BRIDGE_EVENT_PAYLOADS[EVENT_NAME];
2235
+ msgID?: string;
2236
+ }): void;
2237
+ /**
2238
+ * Send a message to the other side of the bridge
2239
+ *
2240
+ * @hidden
2241
+ */
2242
+ sendMessage<EVENT_NAME extends keyof BRIDGE_EVENT_PAYLOADS>(eventName: EVENT_NAME, payload?: {
2243
+ msgID?: string;
2244
+ data: BRIDGE_EVENT_PAYLOADS[EVENT_NAME] | null;
2245
+ }): void;
2246
+ /**
2247
+ * Handle resolution from the other side, with a value if one was expected
2248
+ * @hidden
2249
+ */
2250
+ protected handleResolution: <EVENT_NAME extends BRIDGE_EVENT>(payload: {
2251
+ msgID: string;
2252
+ data: {
2253
+ payload: BRIDGE_EVENT_PAYLOADS[EVENT_NAME];
2254
+ };
2255
+ }) => void;
2256
+ /**
2257
+ * Handle rejection from the other side, typically when the request results in an error
2258
+ * @hidden
2259
+ */
2260
+ protected handleRejection: <EVENT_NAME extends BRIDGE_EVENT>(payload: {
2261
+ msgID: string;
2262
+ data: {
2263
+ payload: BRIDGE_EVENT_PAYLOADS[EVENT_NAME];
2264
+ };
2265
+ }) => void;
2266
+ /**
2267
+ * Emitting a message without expecting a response
2268
+ * @hidden
2269
+ */
2270
+ emit<EVENT_NAME extends keyof BRIDGE_EVENT_PAYLOADS>(eventName: EVENT_NAME, payload?: BRIDGE_EVENT_PAYLOADS[EVENT_NAME], msgID?: string): void;
2271
+ /**
2272
+ * Emitting a message and waiting for a reponse, via a promise
2273
+ * @hidden
2274
+ */
2275
+ emitAsync<T, EVENT_NAME extends keyof BRIDGE_EVENT_PAYLOADS>(eventName: EVENT_NAME, payload?: BRIDGE_EVENT_PAYLOADS[EVENT_NAME], msgID?: string): Promise<T>;
2276
+ }
2277
+ }
2278
+
1852
2279
  declare module '@mappedin/react-native-sdk/core/packages/renderer/Core.interface' {
1853
2280
  import { MappedinMap, Mappedin, MappedinCoordinate, MappedinPolygon, MappedinNode } from '@mappedin/react-native-sdk/core/packages/get-venue';
1854
2281
  import CameraControls from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.CameraControls';
@@ -1997,6 +2424,17 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/Core.interface
1997
2424
  interactivePolygons: any;
1998
2425
  highlightedPolygons: any;
1999
2426
  cameraPlane: any;
2427
+ /**
2428
+ * Called any time a user touches or clicks the map. Only fires on "single" touches/clicks.
2429
+ *
2430
+ * @param position Object containing the latitude & longitude of the location touched on the map
2431
+ * @param polygons Array of polygon IDs that were touched, in order of front to back.
2432
+ * @param nearBlueDot Whether the touch was close enough to the Blue Dot to be considered a touch on the Blue Dot.
2433
+ */
2434
+ onMapClicked(position: {
2435
+ latitude: number;
2436
+ longitude: number;
2437
+ }, polygons: string[], nearBlueDot: boolean): void;
2000
2438
  /**
2001
2439
  * This is called when an interactive Polygon is clicked on.
2002
2440
  * You will almost certainly want to replace this with your own function in your client app.
@@ -2657,6 +3095,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMap'
2657
3095
  scale?: number;
2658
3096
  x_scale?: number;
2659
3097
  perspectiveId?: string;
3098
+ scene: any;
2660
3099
  width: number;
2661
3100
  height: number;
2662
3101
  georeference: TGeoReference[];
@@ -2691,7 +3130,7 @@ declare module '@mappedin/react-native-sdk/core/packages/get-venue/MappedinMap'
2691
3130
  createCoordinate(lat: number, lon: number): MappedinCoordinate;
2692
3131
  /**
2693
3132
  *
2694
- * @returns map rotation in degrees from North
3133
+ * @returns map rotation in radians from north
2695
3134
  */
2696
3135
  getNorth(): any;
2697
3136
  static hydrate(maps: any, mappedin: Mappedin): MappedinMap[];
@@ -3398,6 +3837,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
3398
3837
  import { TGeolocationObject } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
3399
3838
  import { MapView } from '@mappedin/react-native-sdk/core/packages/renderer';
3400
3839
  import { ICore } from '@mappedin/react-native-sdk/core/packages/renderer/Core.interface';
3840
+ import BlueDotManager from '@mappedin/react-native-sdk/core/packages/renderer/internal/blue-dot-manager';
3401
3841
  export const DEFAULT_BLUE_DOT_COLOR = 2254591;
3402
3842
  export interface IPositionUpdater extends IPubSub {
3403
3843
  /**
@@ -3548,6 +3988,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
3548
3988
  data: any;
3549
3989
  mapView: MapView;
3550
3990
  core: ICore;
3991
+ manager: BlueDotManager;
3551
3992
  };
3552
3993
  export type TLatLonProps = [number, number];
3553
3994
  const BlueDot: {
@@ -3638,12 +4079,13 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/layers/BlueDot
3638
4079
  import { ICore } from '@mappedin/react-native-sdk/core/packages/renderer/Core.interface';
3639
4080
  import { TEnableBlueDotOptions } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
3640
4081
  import { PubSub } from '@mappedin/react-native-sdk/core/packages/renderer/internal/pub-sub.typed';
4082
+ import EventSystemLayer from '@mappedin/react-native-sdk/core/packages/renderer/layers/EventSystem';
3641
4083
  class BlueDotLayer extends PubSub<E_BLUEDOT_EVENT_PAYLOAD, E_BLUEDOT_EVENT> {
3642
4084
  #private;
3643
4085
  /**
3644
4086
  * @private
3645
4087
  */
3646
- constructor(mapView: MapView, core: ICore);
4088
+ constructor(mapView: MapView, core: ICore, eventsLayer: EventSystemLayer);
3647
4089
  /**
3648
4090
  * Enables Blue Dot. BlueDot then emits {@link TBlueDotStateChange} and {@link TBlueDotPositionUpdate} events via {@link E_BLUEDOT_EVENT}
3649
4091
  */
@@ -3769,7 +4211,7 @@ declare module '@mappedin/react-native-sdk/core/packages/navigator/NavigationGra
3769
4211
  mapsById: {
3770
4212
  [propName: string]: IMap;
3771
4213
  };
3772
- constructor({ nodes, vortexes, maps, showVortexNames, }: {
4214
+ constructor({ nodes, vortexes, maps, showVortexNames }: {
3773
4215
  nodes: INode[];
3774
4216
  vortexes: IVortex[];
3775
4217
  maps: IMap[];
@@ -3808,7 +4250,7 @@ declare module '@mappedin/react-native-sdk/core/packages/navigator/Navigator' {
3808
4250
  instructions: Directive[];
3809
4251
  }
3810
4252
  class Navigator {
3811
- constructor({ locations, nodes, vortexes, maps, showVortexNames, }: {
4253
+ constructor({ locations, nodes, vortexes, maps, showVortexNames }: {
3812
4254
  locations: ILocation[];
3813
4255
  nodes: INode[];
3814
4256
  vortexes: IVortex[];
@@ -3830,7 +4272,7 @@ declare module '@mappedin/react-native-sdk/core/packages/navigator/Navigator' {
3830
4272
  * @param departFrom ILocation - optional, id and name of a location to represent start of journey
3831
4273
  * @param arriveAt ILocation - optional, id and name of a location to represent end of journey
3832
4274
  */
3833
- getDirections({ originIds, destinationNodeIds, accessible, departFrom, arriveAt, }: {
4275
+ getDirections({ originIds, destinationNodeIds, accessible, departFrom, arriveAt }: {
3834
4276
  originIds: string[];
3835
4277
  destinationNodeIds: string[];
3836
4278
  accessible: boolean;
@@ -3894,7 +4336,7 @@ declare module '@mappedin/react-native-sdk/core/packages/navigator/Directive' {
3894
4336
  atLocation?: ILocation;
3895
4337
  type?: BEARING_TYPE;
3896
4338
  distance: number;
3897
- constructor({ origin, action, distance, atLocation, instruction, }: {
4339
+ constructor({ origin, action, distance, atLocation, instruction }: {
3898
4340
  origin?: INode;
3899
4341
  action?: IAction;
3900
4342
  distance?: number;
@@ -4276,6 +4718,19 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/MapView' {
4276
4718
  * @param polygon The Polygon you want the primary Location of.
4277
4719
  */
4278
4720
  getPrimaryLocationForPolygon(polygon: MappedinPolygon): MappedinLocation;
4721
+ /**
4722
+ * Finds all polygons that contain the specified MappedinCoordinate. If multiple
4723
+ * polygons are stacked on top of each other, the array of polygons returned will be
4724
+ * in the order of top to bottom.
4725
+ *
4726
+ * By default, this only considers interactive polygons.
4727
+ *
4728
+ * @param coordinate The MappedinCoordinate to check
4729
+ * @param includeNonInteractive Specifies if all polygons should be included rather
4730
+ * than just interactive polygons.
4731
+ * @returns MappedinPolygon[]
4732
+ */
4733
+ getPolygonsAtCoordinate(coordinate: MappedinCoordinate, includeNonInteractive?: boolean): MappedinPolygon[];
4279
4734
  /**
4280
4735
  * Destroy instance and clean up memory
4281
4736
  */
@@ -4287,7 +4742,7 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
4287
4742
  import Search from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.Search';
4288
4743
  import Analytics from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.Analytics';
4289
4744
  import { MapView } from '@mappedin/react-native-sdk/core/packages/renderer/MapView';
4290
- import { getVenue, getVenueBundle, Mappedin, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue';
4745
+ import { getVenue, getVenueBundle, Mappedin, downloadBundle, getVenueBundleURL, MappedinDestinationSet, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/react-native-sdk/core/packages/get-venue';
4291
4746
  import { PositionUpdater } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
4292
4747
  import type { TMapViewOptions, TJourneyOptions } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
4293
4748
  import { labelThemes } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
@@ -4295,33 +4750,41 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer' {
4295
4750
  export { BEARING_TYPE, ACTION_TYPE } from '@mappedin/react-native-sdk/core/packages/navigator';
4296
4751
  export type { IDirectionsResult, E_MESSAGES as E_GET_DIRECTIONS_MESSAGES } from '@mappedin/react-native-sdk/core/packages/navigator';
4297
4752
  export type TMappedinInitializeOutput = {
4298
- mapView: MapView;
4299
- venue: Mappedin;
4753
+ mapView: MapView;
4754
+ venue: Mappedin;
4300
4755
  };
4301
4756
  type _TGetVenueOptions = TGetVenueOptions & {
4302
- useVenueBundle?: false | undefined;
4757
+ useVenueBundle?: false | undefined;
4303
4758
  };
4304
4759
  type _TGetVenueBundleOptions = TGetVenueBundleOptions & {
4305
- useVenueBundle: true;
4760
+ useVenueBundle: true;
4306
4761
  };
4307
4762
  type TMappedinInitializeOptions = {
4308
- mapView?: TMapViewOptions;
4309
- venue: _TGetVenueOptions | _TGetVenueBundleOptions;
4310
- firstMapSelector?: (venue: Mappedin) => MappedinMap | MappedinMap['id'];
4763
+ mapView?: TMapViewOptions;
4764
+ venue: _TGetVenueOptions | _TGetVenueBundleOptions;
4765
+ firstMapSelector?: (venue: Mappedin) => MappedinMap | MappedinMap['id'];
4311
4766
  };
4312
4767
  /**
4313
- *
4314
- * @param el HTML Element where the mapView should be placed
4315
- * @param venue Venue Object returned by {@link getVenue}
4316
- * @param options MapView Options
4317
- * @returns
4318
- */
4768
+ *
4769
+ * @param el HTML Element where the mapView should be placed
4770
+ * @param venue Venue Object returned by {@link getVenue}
4771
+ * @param options MapView Options
4772
+ * @returns
4773
+ */
4319
4774
  function showVenue<T extends Mappedin>(el: HTMLElement, venue: T, options?: TMapViewOptions): Promise<MapView>;
4320
4775
  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 } from '@mappedin/react-native-sdk/core/packages/renderer/MapView.enums';
4321
- export { Search, getVenue, getVenueBundle, showVenue, PositionUpdater, Analytics, MappedinDestinationSet, MARKER_ANCHOR, labelThemes };
4776
+ export { Search, getVenue, getVenueBundle, showVenue, downloadBundle, getVenueBundleURL, PositionUpdater, Analytics, MappedinDestinationSet, MARKER_ANCHOR, labelThemes };
4777
+ import DefaultAssetManager from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.AssetManager';
4778
+ const setAssetManager: (am: any) => void;
4779
+ /**
4780
+ * @internal
4781
+ */
4782
+ export { setAssetManager, DefaultAssetManager as AssetManager };
4322
4783
  export type { TMappedinDirective } from '@mappedin/react-native-sdk/core/packages/get-venue/MappedinDirections';
4323
4784
  export type { TMapViewOptions, TMappedinInitializeOptions, TJourneyOptions };
4324
4785
  export type { TBlueDotPositionUpdate, TBlueDotStateChange, TEnableBlueDotOptions } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
4786
+ import FloatingLabel from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.FloatingLabel';
4787
+ export type { FloatingLabel };
4325
4788
  export * from '@mappedin/react-native-sdk/core/packages/renderer/MapView.types';
4326
4789
  export type { MapView } from '@mappedin/react-native-sdk/core/packages/renderer/MapView';
4327
4790
  export type { TSafeAreaInsets, TFocusOnTargets, TFocusOnCameraOptions, TAnimatePositionOptions, TCameraAnimationOptions, TFocusOnOptions, default as Camera } from '@mappedin/react-native-sdk/core/packages/renderer/Camera';
@@ -4567,6 +5030,111 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/pub-s
4567
5030
  export {};
4568
5031
  }
4569
5032
 
5033
+ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/blue-dot-manager' {
5034
+ export const DEFAULT_MIN_RADIUS: 8;
5035
+ export const DEFAULT_MAX_RADIUS: 65;
5036
+ export const DEFAULT_RADIUS_UPDATE_INTERVAL: 3;
5037
+ export default BlueDotManager;
5038
+ /**
5039
+ * @private
5040
+ * An interface for showing a position (typically the user's position) on a 3D map.
5041
+ * Constructed automatically by {{#crossLink "MapView3D"}}{{/crossLink}}.
5042
+ *
5043
+ * @class BlueDotManager
5044
+ */
5045
+ class BlueDotManager extends PubSub {
5046
+ /**
5047
+ * @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.
5048
+ * @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.
5049
+ */
5050
+ constructor({ mapManager, mapView, core, minRadius, maxRadius, radiusUpdateInterval, radiusTweenOptions }?: {
5051
+ mapManager: any;
5052
+ mapView: any;
5053
+ core: any;
5054
+ minRadius?: number | undefined;
5055
+ maxRadius?: number | undefined;
5056
+ radiusUpdateInterval?: number | undefined;
5057
+ radiusTweenOptions?: {
5058
+ duration: number;
5059
+ easing: any;
5060
+ } | undefined;
5061
+ });
5062
+ mapManager: any;
5063
+ mapView: any;
5064
+ core: any;
5065
+ minRadius: number;
5066
+ maxRadius: number;
5067
+ radiusUpdateInterval: number;
5068
+ radiusTweenOptions: {
5069
+ duration: number;
5070
+ easing: any;
5071
+ };
5072
+ /**
5073
+ * The current state of the 3D blue dots. Null if blue dot is not currently being displayed.
5074
+ */
5075
+ state: any;
5076
+ /**
5077
+ * The last known radius that was set, in the original metres units.
5078
+ */
5079
+ prevRadius: any;
5080
+ /**
5081
+ * Used to animate the blue dot accuracy ring size change.
5082
+ */
5083
+ radiusTween: any;
5084
+ /**
5085
+ * The last known bearing angle that was set, in degrees.
5086
+ */
5087
+ prevBearing: any;
5088
+ /**
5089
+ * Used to animate the blue dot bearing angle change.
5090
+ */
5091
+ bearingTween: any;
5092
+ /**
5093
+ The current zoom level, so new dots can be added at the proper size.
5094
+ */
5095
+ currentX: any;
5096
+ updateBlueDotSize(): void;
5097
+ setBlueDotSizeFromZoom(cameraX: any): void;
5098
+ /**
5099
+ * Update the state of the 3D blue dot, creating blue dots if necessary.
5100
+ *
5101
+ * @method update
5102
+ * @param {Object} options
5103
+ * @param {Coordinates} options.coordinates The lat-long coordinates for the blue dot. Follows the Coordinates Web API.
5104
+ * @param {string} [options.mode]
5105
+ * @param {number} [options.bearing] The angle in degrees around the blue dot at which the bearing indicator should appear.
5106
+ * @param {number} options.radius The outer radius of the blue dot, in metres.
5107
+ * @param {string} [options.mapId] The primary map of the blue dot. Specify this or options.map.
5108
+ * @param {MapObject} [options.map] The primary map of the blue dot. Specify this or options.mapId.
5109
+ * @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.
5110
+ * @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.
5111
+ * @param {number | string} [options.baseColor] Base Color of Active Blue Dot that we use to interpolate into other variants
5112
+ */
5113
+ update(options: {
5114
+ coordinates: any;
5115
+ mode?: string | undefined;
5116
+ bearing?: number | undefined;
5117
+ radius: number;
5118
+ mapId?: string | undefined;
5119
+ map?: any;
5120
+ minRadius?: number | undefined;
5121
+ minRadiusDelta?: number | undefined;
5122
+ baseColor?: string | number | undefined;
5123
+ }): void;
5124
+ blueDots: any[] | undefined;
5125
+ positionTween: any;
5126
+ currentPositionLatLon: any;
5127
+ getBlueDotForMap(mapOrMapId: any): any;
5128
+ /**
5129
+ * Remove the 3D blue dot from the maps.
5130
+ *
5131
+ * @method cleanup
5132
+ */
5133
+ cleanup(): void;
5134
+ }
5135
+ import { PubSub } from "@mappedin/react-native-sdk/core/packages/renderer/internal/pub-sub";
5136
+ }
5137
+
4570
5138
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.HTMLCollider' {
4571
5139
  import BaseCollider, { ICollider } from '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollider';
4572
5140
  export type TRange = [number, number, number, number];
@@ -4593,6 +5161,69 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
4593
5161
  export default HTMLCollider;
4594
5162
  }
4595
5163
 
5164
+ declare module '@mappedin/react-native-sdk/core/packages/renderer/layers/EventSystem' {
5165
+ import { Object3D, Raycaster } from 'three';
5166
+ import { MapView } from '@mappedin/react-native-sdk/core/packages/renderer';
5167
+ import { ICore } from '@mappedin/react-native-sdk/core/packages/renderer/Core.interface';
5168
+ import BlueDotManager from '@mappedin/react-native-sdk/core/packages/renderer/internal/blue-dot-manager';
5169
+ export const raycaster: Raycaster;
5170
+ class EventSystemLayer {
5171
+ mapView: MapView;
5172
+ core: ICore;
5173
+ blueDotManager?: BlueDotManager;
5174
+ rendererDomElement: any;
5175
+ currentHover: null;
5176
+ hoverLabel: any;
5177
+ hoverColor: string | number;
5178
+ options: {
5179
+ disableHover: boolean;
5180
+ };
5181
+ blueDot?: Object3D;
5182
+ constructor(mapView: MapView, core: ICore);
5183
+ setBlueDotManager: (blueDotManager: any) => void;
5184
+ touchCount: number;
5185
+ onMouseMove: (event: any) => void;
5186
+ onTouchEnd: (event: any) => void;
5187
+ onMouseUp: (event: any) => void;
5188
+ onMouseDown: (event: any) => void;
5189
+ onTouchStart: (event: any) => void;
5190
+ incrementTouches: (event: any) => void;
5191
+ decrementTouches: (event: any) => void;
5192
+ clearMouse: () => void;
5193
+ getMousePos: (event: any) => {
5194
+ x: number;
5195
+ y: number;
5196
+ };
5197
+ cursorPos: {
5198
+ x: number;
5199
+ y: number;
5200
+ };
5201
+ mouse: {
5202
+ x: number;
5203
+ y: number;
5204
+ };
5205
+ mouseDownStart: {
5206
+ time: number;
5207
+ clientX: number;
5208
+ clientY: number;
5209
+ };
5210
+ hasTouched: boolean;
5211
+ calculateMouseCoordinates: (event: any) => void;
5212
+ getMouseRayIntersects: (objects: Object3D | Object3D[]) => import("three").Intersection[];
5213
+ detectPolygonsUnderMouse: () => any[];
5214
+ getMouseMapPosition: () => {
5215
+ x: number;
5216
+ y: number;
5217
+ };
5218
+ checkMouseIntersectsBlueDot: () => boolean;
5219
+ doHoverEffect: () => void;
5220
+ onPolygonHoverOut: (polygonId: any) => false | undefined;
5221
+ onPolygonHoverOver: (polygon: any) => false | undefined;
5222
+ destroy(): void;
5223
+ }
5224
+ export default EventSystemLayer;
5225
+ }
5226
+
4596
5227
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.Journey' {
4597
5228
  import type Directive from '@mappedin/react-native-sdk/core/packages/navigator/Directive';
4598
5229
  import type INode from '@mappedin/react-native-sdk/core/packages/navigator/interfaces/INode';
@@ -4636,7 +5267,7 @@ declare module '@mappedin/react-native-sdk/core/packages/navigator/Edge' {
4636
5267
  distance: number;
4637
5268
  angle: number;
4638
5269
  weight: number;
4639
- constructor({ origin, destination, vortex, elevationDelta, distance, angle, }: {
5270
+ constructor({ origin, destination, vortex, elevationDelta, distance, angle }: {
4640
5271
  origin: INode;
4641
5272
  destination: INode;
4642
5273
  vortex?: IVortex;
@@ -4979,6 +5610,16 @@ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappe
4979
5610
  var Analytics: any;
4980
5611
  }
4981
5612
 
5613
+ declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.AssetManager' {
5614
+ import { TextureLoader } from 'three';
5615
+ import type { MappedinMap } from '@mappedin/react-native-sdk/core/packages/renderer';
5616
+ export default class DefaultAssetManager {
5617
+ textureLoader: TextureLoader;
5618
+ loadMapPolygons(map: MappedinMap): Promise<any>;
5619
+ loadImage(url: string): Promise<unknown>;
5620
+ }
5621
+ }
5622
+
4982
5623
  declare module '@mappedin/react-native-sdk/core/packages/renderer/internal/Mappedin.SmartCollisionEngine' {
4983
5624
  import { Vector3 } from 'three';
4984
5625
  import './Mappedin.SmartCollisionEngine.scss';