@mappedin/mappedin-js 4.0.14 → 4.0.17

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.
@@ -1,10 +1,12 @@
1
1
  // Generated by dts-bundle v0.7.3
2
+ // Dependencies for this module:
3
+ // ../geojson
2
4
 
3
5
  declare module '@mappedin/mappedin-js/lib/esm/get-venue' {
4
6
  import type { TGetVenueOptions } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.types';
5
7
  import { Mappedin } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin';
6
8
  /** Classes */
7
- export { Mappedin } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin';
9
+ export { Mappedin, MappedinCollectionType } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin';
8
10
  export { MappedinLocation } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinLocation';
9
11
  export { MappedinPolygon } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinPolygon';
10
12
  export { MappedinNode } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinNode';
@@ -27,6 +29,7 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue' {
27
29
  /** API data types */
28
30
  export type { TLocationType, TNode, TImage, TLogo, TGalleryImage, TPhone, TSocial, TColor, TVortex, TPicture, TOpeningHours, TSiblingGroup, TState, TCategory, TEvent, TGeoReference, TMap, TMapGroup, TBuilding, TLocation, TPolygon, TPolygonRanking, TVenue, TMappedinAPI } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.API.types';
29
31
  export type { TGetVenueOptions } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.types';
32
+ import { MAP_RENDER_MODE } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.types';
30
33
  export type TShowVenueOptions = {
31
34
  /**
32
35
  * Sets the initial background color of the map, including while loading.
@@ -38,14 +41,24 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue' {
38
41
  */
39
42
  backgroundAlpha?: number;
40
43
  /**
41
- * Whether or not to display labels initially
44
+ * Whether or not to display default styled Floating Labels initially
42
45
  */
43
46
  labelAllLocationsOnInit?: boolean;
44
47
  /**
45
48
  * The id of the first map to show on map load
46
49
  */
47
50
  firstMapId?: string;
51
+ loadOptions?: {
52
+ /**
53
+ * Set the map render strategy in order to optimize FPS
54
+ *
55
+ * @beta
56
+ */
57
+ mapRenderStrategy?: MAP_RENDER_MODE;
58
+ };
48
59
  };
60
+ export { MAP_RENDER_MODE };
61
+ export function getVenueMVF(userOptions: TGetVenueOptions): Promise<Mappedin>;
49
62
  /**
50
63
  * Get Venue Data for a Mappedin Venue
51
64
  */
@@ -82,42 +95,70 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue' {
82
95
  url: any;
83
96
  updated_at: any;
84
97
  }): Promise<Mappedin>;
98
+ /**
99
+ * Get the bundle URL and updated_at time.
100
+ * @internal
101
+ */
102
+ export function getVenueMVFURL(userOptions: TGetVenueBundleOptions): Promise<{
103
+ url: string;
104
+ updated_at: string;
105
+ }>;
106
+ /**
107
+ * @internal
108
+ */
109
+ export function downloadVenueBundleMVF(options: TGetVenueOptions,
110
+ /**
111
+ * use Web Workers to speed up MVF parsing. This is likely only benefitial for larger venues,
112
+ * and may be determental to smaller ones, hence it is off by default
113
+ */
114
+ useWorker?: boolean): Promise<unknown>;
85
115
  }
86
116
 
87
117
  declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.types' {
88
118
  export type TGetVenueOptions = {
89
- accessToken?: string;
90
- clientId?: string;
91
- clientSecret?: string;
92
- baseUrl?: string;
93
- includeHidden?: boolean;
94
- noAuth?: boolean;
95
- perspective?: string;
96
- language?: string;
97
- headers?: {
98
- [key in string]: string;
99
- };
100
- venue: string;
101
- things?: any;
119
+ accessToken?: string;
120
+ clientId?: string;
121
+ clientSecret?: string;
122
+ baseUrl?: string;
123
+ includeHidden?: boolean;
124
+ noAuth?: boolean;
125
+ perspective?: string;
126
+ language?: string;
127
+ headers?: {
128
+ [key in string]: string;
129
+ };
130
+ venue: string;
131
+ things?: any;
102
132
  };
103
133
  export type TGetVenueOptionsInternal = {
104
- baseUrl?: string;
105
- supplementaryUrl?: string;
106
- noAuth?: boolean;
107
- includeHidden?: boolean;
108
- apiGateway?: string;
109
- authorization?: string;
110
- /**
111
- * @deprecated 2D support will be removed in the future
112
- */
113
- do2D?: boolean;
114
- things?: any;
115
- headers?: any;
134
+ baseUrl?: string;
135
+ supplementaryUrl?: string;
136
+ noAuth?: boolean;
137
+ includeHidden?: boolean;
138
+ apiGateway?: string;
139
+ authorization?: string;
140
+ /**
141
+ * @deprecated 2D support will be removed in the future
142
+ */
143
+ do2D?: boolean;
144
+ things?: any;
145
+ headers?: any;
116
146
  };
147
+ export enum MAP_RENDER_MODE {
148
+ /** Each polygon, its geometry and mesh are sent to the GPU every render frame.
149
+ * This was the default rendering mode before 4.0.17
150
+ */
151
+ MULTI_GEOMETRY = "MULTI_GEOMETRY",
152
+ /** Polygons' geometries are grouped by material and merged together, resulting in far fewer
153
+ * draw calls to the GPU. Default rendering mode since 4.0.17
154
+ */
155
+ SINGLE_GEOMETRY = "SINGLE_GEOMETRY"
156
+ }
117
157
  }
118
158
 
119
159
  declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin' {
120
160
  import { Navigator } from '@mappedin/mappedin-js/lib/esm/get-venue/navigator';
161
+ import { MVFData } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.MVF.types';
121
162
  import type { TGetVenueOptions, TGetVenueOptionsInternal } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.types';
122
163
  import { MappedinCategory } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinCategory';
123
164
  import { MappedinEvent } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinEvent';
@@ -133,7 +174,7 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin' {
133
174
  import { MappedinVenue } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinVenue';
134
175
  import { MappedinVortex } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinVortex';
135
176
  export const defaultOptions: TGetVenueOptionsInternal & TGetVenueOptions;
136
- export enum CollectionType {
177
+ export enum MappedinCollectionType {
137
178
  CATEGORY = "categories",
138
179
  EVENT = "events",
139
180
  LOCATION = "locations",
@@ -144,14 +185,14 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin' {
144
185
  VORTEX = "vortexes"
145
186
  }
146
187
  type TAccessors = {
147
- [CollectionType.CATEGORY]: MappedinCategory;
148
- [CollectionType.EVENT]: MappedinEvent;
149
- [CollectionType.LOCATION]: MappedinLocation;
150
- [CollectionType.MAPGROUP]: MappedinMapGroup;
151
- [CollectionType.MAP]: MappedinMap;
152
- [CollectionType.NODE]: MappedinNode;
153
- [CollectionType.POLYGON]: MappedinPolygon;
154
- [CollectionType.VORTEX]: MappedinVortex;
188
+ [MappedinCollectionType.CATEGORY]: MappedinCategory;
189
+ [MappedinCollectionType.EVENT]: MappedinEvent;
190
+ [MappedinCollectionType.LOCATION]: MappedinLocation;
191
+ [MappedinCollectionType.MAPGROUP]: MappedinMapGroup;
192
+ [MappedinCollectionType.MAP]: MappedinMap;
193
+ [MappedinCollectionType.NODE]: MappedinNode;
194
+ [MappedinCollectionType.POLYGON]: MappedinPolygon;
195
+ [MappedinCollectionType.VORTEX]: MappedinVortex;
155
196
  };
156
197
  const THINGS: {
157
198
  categories: typeof MappedinCategory;
@@ -347,6 +388,11 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin' {
347
388
  [id: string]: MappedinRankings;
348
389
  };
349
390
  getCollectionItemById<T extends keyof TAccessors, I extends string>(name: T, id: I): TAccessors[T] | null;
391
+ /**
392
+ * @hidden
393
+ * @internal
394
+ */
395
+ hydrateFromMVF(mvfData: MVFData): Promise<undefined>;
350
396
  /**
351
397
  *
352
398
  * [experimental] Hydrate the Mappedin instance using a response from either {@link IMappedin.toString()}, {@link getVenueBundle} or by downloading the bundle manually
@@ -481,6 +527,59 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinPolygo
481
527
  export class MappedinPolygon extends MappedinNavigatable {
482
528
  #private;
483
529
  geometry: any;
530
+ image?: {
531
+ visible: boolean;
532
+ url: string | Blob;
533
+ original: string | Blob;
534
+ useLocalScaling: boolean;
535
+ viewBox: {
536
+ width: number;
537
+ height: number;
538
+ };
539
+ scale: {
540
+ x: number;
541
+ y: number;
542
+ };
543
+ fitToBounds: boolean;
544
+ position: {
545
+ x: number;
546
+ y: number;
547
+ z: number;
548
+ };
549
+ rotation: {
550
+ x: number;
551
+ y: number;
552
+ z: number;
553
+ };
554
+ };
555
+ holes?: unknown[];
556
+ textures?: {
557
+ image: any;
558
+ name: 'front' | 'side';
559
+ useFrontFaceImage?: boolean;
560
+ }[];
561
+ material: {
562
+ color: string;
563
+ opacity?: number;
564
+ };
565
+ label?: {
566
+ visible: boolean;
567
+ text: string;
568
+ align: string;
569
+ position: {
570
+ x: number;
571
+ y: number;
572
+ z: number;
573
+ };
574
+ rotation: {
575
+ x: number;
576
+ y: number;
577
+ z: number;
578
+ };
579
+ fontFamily: string;
580
+ fontSize: number;
581
+ color: string;
582
+ };
484
583
  /**
485
584
  * Node ID.
486
585
  *
@@ -667,6 +766,7 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinMap' {
667
766
  import type { TGeoReference } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.API.types';
668
767
  import type { MappedinMapGroup } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinMapGroup';
669
768
  import { MappedinCoordinate } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinCoordinate';
769
+ import { MappedinLocation } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue';
670
770
  /**
671
771
  * A {@link MappedinMap} belonging to a specific {@link MappedinVenue}. Typically represents a certain floor. Give this to a {@link MapView} to display to the user.
672
772
  *
@@ -693,6 +793,11 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinMap' {
693
793
  shortName: string;
694
794
  elevation: number;
695
795
  scale?: number;
796
+ layers: {
797
+ visible: boolean;
798
+ name: string;
799
+ id: string;
800
+ }[];
696
801
  x_scale?: number;
697
802
  perspectiveId?: string;
698
803
  scene: any;
@@ -707,6 +812,11 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinMap' {
707
812
  * @property polygons {[MappedinPolygon]}
708
813
  */
709
814
  get polygons(): MappedinPolygon[] | undefined;
815
+ /**
816
+ * Locations on this map
817
+ */
818
+ get locations(): MappedinLocation[];
819
+ get nodes(): import("./MappedinNode").MappedinNode[];
710
820
  /**
711
821
  * Map Group this map belongs to.
712
822
  *
@@ -744,28 +854,56 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinEvent'
744
854
  import type { Mappedin } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin';
745
855
  import type { MappedinLocation } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinLocation';
746
856
  /**
747
- * An event.
857
+ * An event such as a promotion attached to a location in a venue for a period of time. Events can be created in the Mappedin CMS.
748
858
  *
749
859
  * @class MappedinEvent
750
860
  */
751
861
  export class MappedinEvent {
752
862
  #private;
863
+ /**
864
+ * Unique id string of the event.
865
+ */
753
866
  id: string;
754
867
  type: string;
868
+ /**
869
+ * Event name
870
+ */
755
871
  name: string;
872
+ /**
873
+ * Optional, longer description of the event.
874
+ */
756
875
  description?: string | undefined;
876
+ /**
877
+ * Optional image to be used for displaying the event.
878
+ */
757
879
  image?: TImage | undefined;
880
+ /**
881
+ * Start timestamp of the event. Javascript date in milliseconds since 1 January 1970 UTC.
882
+ */
758
883
  startDate?: number | undefined;
884
+ /**
885
+ * Start timestamp of the event. Javascript date in milliseconds since 1 January 1970 UTC.
886
+ */
759
887
  endDate?: number | undefined;
888
+ /**
889
+ * Timestamp when the event should be displayed. Javascript date in milliseconds since 1 January 1970 UTC.
890
+ */
760
891
  showDate?: number | undefined;
892
+ /**
893
+ * @internal
894
+ */
761
895
  constructor(mappedin: Mappedin, data: any);
762
896
  /**
763
- * Location this Event is occuring at.
764
- *
765
- * @property location {MappedinLocation}
897
+ * Location this event is occuring at.
766
898
  */
767
899
  location(): MappedinLocation | undefined;
900
+ /**
901
+ * @internal
902
+ */
768
903
  static hydrate(events: any, mappedin: Mappedin): MappedinEvent[];
904
+ /**
905
+ * @internal
906
+ */
769
907
  static fetch(mappedin: Mappedin): Promise<MappedinEvent[]>;
770
908
  toJSON(): any;
771
909
  }
@@ -1181,9 +1319,6 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.API.t
1181
1319
  export type TMapGroup = {
1182
1320
  name: string;
1183
1321
  id: string;
1184
- maps: {
1185
- id: TMap['id'];
1186
- }[];
1187
1322
  };
1188
1323
  export type TBuilding = TLocation & {
1189
1324
  groupId: string;
@@ -1236,27 +1371,32 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.API.t
1236
1371
  entranceNodeId: string;
1237
1372
  score: number;
1238
1373
  };
1239
- export type TVenue = {
1240
- address: string;
1241
- city: string;
1242
- countrycode: string;
1243
- defaultMap: string;
1244
- externalId: string;
1374
+ export type TLocationState = {
1245
1375
  id: string;
1246
- latitude: number;
1247
- logo: TLogo;
1248
- longitude: number;
1249
- metadata?: any;
1250
1376
  name: string;
1251
- operationHours: TOpeningHours[];
1252
- postal: string;
1253
- slug: string;
1254
- state: string;
1255
- telephone: string;
1256
- tzid: string;
1257
- tzidOverride: string;
1258
- utcOffset: string;
1259
- website: string;
1377
+ value: string;
1378
+ };
1379
+ export type TVenue = {
1380
+ address?: string;
1381
+ city?: string;
1382
+ countrycode?: string;
1383
+ defaultMap?: string;
1384
+ externalId?: string;
1385
+ id?: string;
1386
+ latitude?: number;
1387
+ logo?: TLogo;
1388
+ longitude?: number;
1389
+ metadata?: any;
1390
+ name?: string;
1391
+ operationHours?: TOpeningHours[];
1392
+ postal?: string;
1393
+ slug?: string;
1394
+ state?: string;
1395
+ telephone?: string;
1396
+ tzid?: string;
1397
+ tzidOverride?: string;
1398
+ utcOffset?: string;
1399
+ website?: string;
1260
1400
  };
1261
1401
  export type TMappedinAPI = {
1262
1402
  nodes: TNode[];
@@ -1268,9 +1408,213 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.API.t
1268
1408
  themes: any;
1269
1409
  venue: TVenue;
1270
1410
  vortexes: TVortex[];
1411
+ locationStates?: TLocationState[];
1271
1412
  };
1272
1413
  }
1273
1414
 
1415
+ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.MVF.types' {
1416
+ import { FeatureCollection, Polygon, Point, MultiPolygon } from 'geojson';
1417
+ type ManifestFile = {
1418
+ type: 'file';
1419
+ name: string;
1420
+ };
1421
+ type ManifestFolder = {
1422
+ type: 'folder';
1423
+ name: string;
1424
+ children: ManifestFile[];
1425
+ };
1426
+ type OpeningHours = {
1427
+ opens: string;
1428
+ closes: string;
1429
+ dayOfWeek: string;
1430
+ validFrom?: string;
1431
+ validThrough?: string;
1432
+ };
1433
+ type Image = {
1434
+ original?: string;
1435
+ xlarge?: string;
1436
+ xxlarge?: string;
1437
+ medium?: string;
1438
+ '140x140'?: string;
1439
+ xsmall?: string;
1440
+ xxsmall?: string;
1441
+ '66x66'?: string;
1442
+ small?: string;
1443
+ large?: string;
1444
+ };
1445
+ type PolygonImage = string;
1446
+ type Phone = {
1447
+ number: string;
1448
+ extension?: string;
1449
+ };
1450
+ type Link = {
1451
+ label: string;
1452
+ url: string;
1453
+ };
1454
+ type Social = {
1455
+ facebook?: string;
1456
+ twitter?: string;
1457
+ instagram?: string;
1458
+ website?: string;
1459
+ };
1460
+ type LocationState = {
1461
+ type: string;
1462
+ start?: string;
1463
+ end?: string;
1464
+ };
1465
+ type ImageTransform = {
1466
+ position: {
1467
+ x: number;
1468
+ y: number;
1469
+ z: number;
1470
+ };
1471
+ rotation: number;
1472
+ scale: {
1473
+ x: number;
1474
+ y: number;
1475
+ };
1476
+ };
1477
+ type SiblingGroup = {
1478
+ label: string;
1479
+ siblings: string[];
1480
+ };
1481
+ export type MILocationProperties = {
1482
+ id: string;
1483
+ address?: string | null;
1484
+ categories: string[];
1485
+ description?: string | null;
1486
+ email?: string | null;
1487
+ externalId?: string | null;
1488
+ hours?: OpeningHours[] | null;
1489
+ links?: Link[] | null;
1490
+ logo?: Image | null;
1491
+ name: string;
1492
+ phone?: Phone | null;
1493
+ picture?: Image | null;
1494
+ services?: string | null;
1495
+ siblingGroups?: SiblingGroup[] | null;
1496
+ social?: Social | null;
1497
+ spaces?: TLocationSpaceReference[] | null;
1498
+ states?: LocationState[] | null;
1499
+ type: string;
1500
+ };
1501
+ export type MICategoryProperties = {
1502
+ id: string;
1503
+ name: string;
1504
+ picture?: Image;
1505
+ };
1506
+ export type MIBuildingProperties = {
1507
+ id: string;
1508
+ name: string;
1509
+ venue: string;
1510
+ };
1511
+ export type MILevelProperties = {
1512
+ id: string;
1513
+ abbreviation?: string;
1514
+ building?: string;
1515
+ elevation?: number;
1516
+ name: string;
1517
+ };
1518
+ export type MIPolygonlikeProperties = {
1519
+ id: string;
1520
+ altitude?: string;
1521
+ color?: string;
1522
+ externalId?: string | null;
1523
+ height?: string;
1524
+ layer?: string;
1525
+ level: string;
1526
+ parent?: string | null;
1527
+ };
1528
+ type TPseudoNodeSpaceReference = {
1529
+ node: string;
1530
+ map: string;
1531
+ };
1532
+ export type TRealSpaceReference = {
1533
+ id: string;
1534
+ map: string;
1535
+ };
1536
+ type TLocationSpaceReference = TPseudoNodeSpaceReference | TRealSpaceReference;
1537
+ export type TEntrances = {
1538
+ id: string;
1539
+ level: string;
1540
+ };
1541
+ export type MISpaceProperties = MIPolygonlikeProperties & {
1542
+ entrances: TEntrances[];
1543
+ };
1544
+ export type MIObstructionProperties = MIPolygonlikeProperties;
1545
+ export type MIConnectionProperties = {
1546
+ id: string;
1547
+ accessible: boolean;
1548
+ destinations: string[];
1549
+ level: string;
1550
+ multiplier: number;
1551
+ name: string;
1552
+ type: string;
1553
+ weight: number;
1554
+ };
1555
+ export type MINodeProperties = {
1556
+ id: string;
1557
+ accessible: boolean;
1558
+ externalId: string | null;
1559
+ level: string;
1560
+ multiplier: number;
1561
+ neighbors: string[];
1562
+ weight: number;
1563
+ };
1564
+ export type MIManifestProperties = {
1565
+ name: string;
1566
+ folder_struct: (ManifestFolder | ManifestFile)[];
1567
+ version: string;
1568
+ time: string;
1569
+ };
1570
+ export type MILayerStyleProperties = {
1571
+ layer: string;
1572
+ altitude: number;
1573
+ color: string;
1574
+ height: number;
1575
+ opacity: number;
1576
+ };
1577
+ export type MIPolygonStyleProperties = {
1578
+ id: string;
1579
+ altitude: number;
1580
+ color: string;
1581
+ height: number;
1582
+ image: PolygonImage;
1583
+ imageTransform: ImageTransform;
1584
+ opacity: number;
1585
+ };
1586
+ export type MIGeoJSONManifestCollection = FeatureCollection<Point, MIManifestProperties>;
1587
+ export type MIGeoJSONBuildingCollection = FeatureCollection<Polygon, MIBuildingProperties>;
1588
+ export type MIGeoJSONConnectionCollection = FeatureCollection<Point, MIConnectionProperties>;
1589
+ export type MIGeoJSONLevelCollection = FeatureCollection<Polygon | MultiPolygon, MILevelProperties>;
1590
+ export type MIGeoJSONSpaceCollection = FeatureCollection<Polygon, MISpaceProperties>;
1591
+ export type MIGeoJSONObstructionCollection = FeatureCollection<Polygon, MIObstructionProperties>;
1592
+ export type MIGeoJSONNodeCollection = FeatureCollection<Point, MINodeProperties>;
1593
+ export type MIGeoJSONLocationCollection = FeatureCollection<null, MILocationProperties>;
1594
+ export type MIGeoJSONCategoryCollection = FeatureCollection<null, MICategoryProperties>;
1595
+ export type MIGeoJSONLayerStyleCollection = FeatureCollection<null, MILayerStyleProperties>;
1596
+ export type MIGeoJSONPolygonStyleCollection = FeatureCollection<null, MIPolygonStyleProperties>;
1597
+ export type WithIDs<T> = Map<string, T>;
1598
+ /**
1599
+ * The entire data collection for an MVF, in a single JSON collection.
1600
+ *
1601
+ */
1602
+ export type MVFData = {
1603
+ connection: WithIDs<MIGeoJSONConnectionCollection>;
1604
+ level: WithIDs<MIGeoJSONLevelCollection>;
1605
+ node: WithIDs<MIGeoJSONNodeCollection>;
1606
+ obstruction: WithIDs<MIGeoJSONObstructionCollection>;
1607
+ polygonStyle: WithIDs<MIGeoJSONPolygonStyleCollection>;
1608
+ space: WithIDs<MIGeoJSONSpaceCollection>;
1609
+ building: MIGeoJSONBuildingCollection;
1610
+ category: MIGeoJSONCategoryCollection;
1611
+ layerStyle: MIGeoJSONLayerStyleCollection;
1612
+ location: MIGeoJSONLocationCollection;
1613
+ manifest: MIGeoJSONManifestCollection;
1614
+ };
1615
+ export {};
1616
+ }
1617
+
1274
1618
  declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinLocationRankings' {
1275
1619
  import type { Mappedin } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin';
1276
1620
  import type { TLocation } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.API.types';
@@ -1320,75 +1664,11 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinTheme'
1320
1664
  }
1321
1665
  }
1322
1666
 
1323
- declare module '@mappedin/mappedin-js/lib/esm/get-venue/navigator/Directive' {
1324
- import ILocation from '@mappedin/mappedin-js/lib/esm/get-venue/navigator/interfaces/ILocation';
1325
- import IMap from '@mappedin/mappedin-js/lib/esm/get-venue/navigator/interfaces/IMap';
1326
- import INode from '@mappedin/mappedin-js/lib/esm/get-venue/navigator/interfaces/INode';
1327
- export enum ACTION_TYPE {
1328
- DEPARTURE = "Departure",
1329
- TAKEVORTEX = "TakeVortex",
1330
- EXITVORTEX = "ExitVortex",
1331
- TURN = "Turn",
1332
- ARRIVAL = "Arrival"
1333
- }
1334
- export enum BEARING_TYPE {
1335
- STRAIGHT = "Straight",
1336
- RIGHT = "Right",
1337
- SLIGHTRIGHT = "SlightRight",
1338
- LEFT = "Left",
1339
- SLIGHTLEFT = "SlightLeft"
1340
- }
1341
- export enum VORTEX_DIRECTION_TYPE {
1342
- UP = "up",
1343
- DOWN = "down",
1344
- NONE = "none"
1345
- }
1346
- interface IActionDeparture {
1347
- type: ACTION_TYPE.DEPARTURE;
1348
- }
1349
- interface IActionArrival {
1350
- type: ACTION_TYPE.ARRIVAL;
1351
- }
1352
- interface IActionTakeVortex {
1353
- type: ACTION_TYPE.TAKEVORTEX;
1354
- toMap: IMap;
1355
- fromMap: IMap;
1356
- direction: VORTEX_DIRECTION_TYPE;
1357
- }
1358
- interface IActionExitVortex {
1359
- type: ACTION_TYPE.EXITVORTEX;
1360
- toMap: IMap;
1361
- fromMap: IMap;
1362
- }
1363
- interface IActionTurn {
1364
- type: ACTION_TYPE.TURN;
1365
- bearing: BEARING_TYPE;
1366
- referencePosition?: string;
1367
- }
1368
- export type IAction = IActionArrival | IActionDeparture | IActionTurn | IActionTakeVortex | IActionExitVortex;
1369
- class Directive {
1370
- node?: INode;
1371
- instruction: string;
1372
- action?: IAction;
1373
- atLocation?: ILocation;
1374
- type?: BEARING_TYPE;
1375
- distance: number;
1376
- constructor({ origin, action, distance, atLocation, instruction }: {
1377
- origin?: INode;
1378
- action?: IAction;
1379
- distance?: number;
1380
- atLocation?: ILocation;
1381
- instruction?: string;
1382
- });
1383
- }
1384
- export default Directive;
1385
- }
1386
-
1387
1667
  declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue' {
1388
1668
  import type { TGetVenueOptions } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.types';
1389
1669
  import { Mappedin } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin';
1390
1670
  /** Classes */
1391
- export { Mappedin } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin';
1671
+ export { Mappedin, MappedinCollectionType } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin';
1392
1672
  export { MappedinLocation } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinLocation';
1393
1673
  export { MappedinPolygon } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinPolygon';
1394
1674
  export { MappedinNode } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/MappedinNode';
@@ -1411,6 +1691,7 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue' {
1411
1691
  /** API data types */
1412
1692
  export type { TLocationType, TNode, TImage, TLogo, TGalleryImage, TPhone, TSocial, TColor, TVortex, TPicture, TOpeningHours, TSiblingGroup, TState, TCategory, TEvent, TGeoReference, TMap, TMapGroup, TBuilding, TLocation, TPolygon, TPolygonRanking, TVenue, TMappedinAPI } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.API.types';
1413
1693
  export type { TGetVenueOptions } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.types';
1694
+ import { MAP_RENDER_MODE } from '@mappedin/mappedin-js/lib/esm/get-venue/get-venue/Mappedin.types';
1414
1695
  export type TShowVenueOptions = {
1415
1696
  /**
1416
1697
  * Sets the initial background color of the map, including while loading.
@@ -1422,14 +1703,24 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue' {
1422
1703
  */
1423
1704
  backgroundAlpha?: number;
1424
1705
  /**
1425
- * Whether or not to display labels initially
1706
+ * Whether or not to display default styled Floating Labels initially
1426
1707
  */
1427
1708
  labelAllLocationsOnInit?: boolean;
1428
1709
  /**
1429
1710
  * The id of the first map to show on map load
1430
1711
  */
1431
1712
  firstMapId?: string;
1713
+ loadOptions?: {
1714
+ /**
1715
+ * Set the map render strategy in order to optimize FPS
1716
+ *
1717
+ * @beta
1718
+ */
1719
+ mapRenderStrategy?: MAP_RENDER_MODE;
1720
+ };
1432
1721
  };
1722
+ export { MAP_RENDER_MODE };
1723
+ export function getVenueMVF(userOptions: TGetVenueOptions): Promise<Mappedin>;
1433
1724
  /**
1434
1725
  * Get Venue Data for a Mappedin Venue
1435
1726
  */
@@ -1466,6 +1757,87 @@ declare module '@mappedin/mappedin-js/lib/esm/get-venue/get-venue' {
1466
1757
  url: any;
1467
1758
  updated_at: any;
1468
1759
  }): Promise<Mappedin>;
1760
+ /**
1761
+ * Get the bundle URL and updated_at time.
1762
+ * @internal
1763
+ */
1764
+ export function getVenueMVFURL(userOptions: TGetVenueBundleOptions): Promise<{
1765
+ url: string;
1766
+ updated_at: string;
1767
+ }>;
1768
+ /**
1769
+ * @internal
1770
+ */
1771
+ export function downloadVenueBundleMVF(options: TGetVenueOptions,
1772
+ /**
1773
+ * use Web Workers to speed up MVF parsing. This is likely only benefitial for larger venues,
1774
+ * and may be determental to smaller ones, hence it is off by default
1775
+ */
1776
+ useWorker?: boolean): Promise<unknown>;
1777
+ }
1778
+
1779
+ declare module '@mappedin/mappedin-js/lib/esm/get-venue/navigator/Directive' {
1780
+ import ILocation from '@mappedin/mappedin-js/lib/esm/get-venue/navigator/interfaces/ILocation';
1781
+ import IMap from '@mappedin/mappedin-js/lib/esm/get-venue/navigator/interfaces/IMap';
1782
+ import INode from '@mappedin/mappedin-js/lib/esm/get-venue/navigator/interfaces/INode';
1783
+ export enum ACTION_TYPE {
1784
+ DEPARTURE = "Departure",
1785
+ TAKEVORTEX = "TakeVortex",
1786
+ EXITVORTEX = "ExitVortex",
1787
+ TURN = "Turn",
1788
+ ARRIVAL = "Arrival"
1789
+ }
1790
+ export enum BEARING_TYPE {
1791
+ STRAIGHT = "Straight",
1792
+ RIGHT = "Right",
1793
+ SLIGHTRIGHT = "SlightRight",
1794
+ LEFT = "Left",
1795
+ SLIGHTLEFT = "SlightLeft"
1796
+ }
1797
+ export enum VORTEX_DIRECTION_TYPE {
1798
+ UP = "up",
1799
+ DOWN = "down",
1800
+ NONE = "none"
1801
+ }
1802
+ interface IActionDeparture {
1803
+ type: ACTION_TYPE.DEPARTURE;
1804
+ }
1805
+ interface IActionArrival {
1806
+ type: ACTION_TYPE.ARRIVAL;
1807
+ }
1808
+ interface IActionTakeVortex {
1809
+ type: ACTION_TYPE.TAKEVORTEX;
1810
+ toMap: IMap;
1811
+ fromMap: IMap;
1812
+ direction: VORTEX_DIRECTION_TYPE;
1813
+ }
1814
+ interface IActionExitVortex {
1815
+ type: ACTION_TYPE.EXITVORTEX;
1816
+ toMap: IMap;
1817
+ fromMap: IMap;
1818
+ }
1819
+ interface IActionTurn {
1820
+ type: ACTION_TYPE.TURN;
1821
+ bearing: BEARING_TYPE;
1822
+ referencePosition?: string;
1823
+ }
1824
+ export type IAction = IActionArrival | IActionDeparture | IActionTurn | IActionTakeVortex | IActionExitVortex;
1825
+ class Directive {
1826
+ node?: INode;
1827
+ instruction: string;
1828
+ action?: IAction;
1829
+ atLocation?: ILocation;
1830
+ type?: BEARING_TYPE;
1831
+ distance: number;
1832
+ constructor({ origin, action, distance, atLocation, instruction }: {
1833
+ origin?: INode;
1834
+ action?: IAction;
1835
+ distance?: number;
1836
+ atLocation?: ILocation;
1837
+ instruction?: string;
1838
+ });
1839
+ }
1840
+ export default Directive;
1469
1841
  }
1470
1842
 
1471
1843
  declare module '@mappedin/mappedin-js/lib/esm/get-venue/navigator/NavigationGraph' {