@mappedin/react-sdk 6.0.1-beta.32 → 6.0.1-beta.34

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.
@@ -70,7 +70,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
70
70
  export type { PubSub } from '@packages/internal/common/pubsub';
71
71
  import type { TMappedinMapLibreOverlayEvents } from '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay';
72
72
  import { MappedinMapLibreOverlay } from '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay';
73
- import type { LanguagePackHydrationItem } from '@mappedin/react-sdk/mappedin-js/src/types';
73
+ import type { LanguagePackHydrationItem, TImagePlacementOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
74
74
  import { MAPPEDIN_COLORS } from '@mappedin/react-sdk/mappedin-js/src/constants';
75
75
  import { type Environment } from '@packages/internal/mvf-utils/mvf-utils';
76
76
  import type { TBlueDotEvents, TBlueDotAction, TBlueDotState, GeolocationPositionExtended, TFollowMode, TFollowCameraOptions } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
@@ -126,6 +126,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
126
126
  * @default ['building', 'building-top']
127
127
  */
128
128
  layersHiddenByGeometry?: string[];
129
+ /**
130
+ * Reduces the pixel ratio for MapLibre rendering to improve framerate performance.
131
+ * When enabled, the rendering quality will be lower but performance will be better,
132
+ * which can be useful on devices with high-DPI displays or limited GPU capabilities.
133
+ *
134
+ * @default false
135
+ */
136
+ lowDpi?: boolean;
129
137
  };
130
138
  /**
131
139
  * The initial bearing of the map, in degrees.
@@ -265,6 +273,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
265
273
  */
266
274
  enabled?: boolean;
267
275
  };
276
+ /**
277
+ * @experimental
278
+ * @internal
279
+ */
280
+ imagePlacementOptions?: TImagePlacementOptions;
268
281
  };
269
282
  /**
270
283
  * @internal
@@ -352,7 +365,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
352
365
  export type { Debug } from '@mappedin/react-sdk/mappedin-js/src/debug';
353
366
  export type { Navigation, TNavigationOptions } from '@mappedin/react-sdk/mappedin-js/src/navigation';
354
367
  export type { TSpaceType } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
355
- export { Coordinate, Annotation, Connection, Door, Floor, FloorStack, MapObject, PointOfInterest, Space, Image as ImageData, Hyperlink, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, Facade, Node, Area, type Places, } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
368
+ export { Coordinate, Annotation, Connection, Door, Floor, FloorStack, MapObject, PointOfInterest, Space, Image as ImageData, Hyperlink, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, LocationProfile, LocationCategory, Facade, Node, Area, type Places, } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
356
369
  export type { Camera, Models, Labels, BlueDot, Markers, Paths, Exporter, Directions, Style, Shapes, Outdoor, Images, StackedMaps, DynamicFocus, } from '@mappedin/react-sdk/mappedin-js/src/api-geojson';
357
370
  export type { SearchResult, SearchResultItem, SearchResultEnterpriseCategory, SearchResultEnterpriseLocations, SearchResultPlaces, SearchOptions, Search, Suggestion, MatchInfo, } from '@mappedin/react-sdk/mappedin-js/src/search';
358
371
  export type { TFindNearestOptions, TFindNearestResult, TQueriables, Query } from '@mappedin/react-sdk/mappedin-js/src/query';
@@ -672,7 +685,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
672
685
  import { Analytics } from '@mappedin/react-sdk/mappedin-js/src/analytics';
673
686
  import { PubSub } from '@packages/internal/common';
674
687
  import type { TSearchOptions } from '@packages/internal/mvf-utils';
675
- import type { Connection, Door, Floor, MapDataInternal, Space, MapObject, PointOfInterest, Annotation, Coordinate, FloorStack, Node, Facade, Area, EnterpriseCategory, EnterpriseLocation, EnterpriseVenue } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
688
+ import type { Connection, Door, Floor, MapDataInternal, Space, MapObject, PointOfInterest, Annotation, Coordinate, FloorStack, Node, Facade, Area, EnterpriseCategory, EnterpriseLocation, EnterpriseVenue, LocationProfile, LocationCategory } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
676
689
  import { Search } from '@mappedin/react-sdk/mappedin-js/src/search';
677
690
  import type { TNavigationTarget, TGetDirectionsOptions, TMapDataObjectTypes } from '@mappedin/react-sdk/mappedin-js/src/types';
678
691
  import type { Directions } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/directions';
@@ -836,6 +849,18 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
836
849
  * const nodes = mapData.getByType('node');
837
850
  */
838
851
  getByType(type: 'node'): Node[];
852
+ /**
853
+ * @returns The location profiles ({@link LocationProfile}) on the map.
854
+ * @example
855
+ * const locationProfiles = mapData.getByType('location-profile');
856
+ */
857
+ getByType(type: 'location-profile'): LocationProfile[];
858
+ /**
859
+ * @returns The location categories ({@link LocationCategory}) on the map.
860
+ * @example
861
+ * const locationCategories = mapData.getByType('location-category');
862
+ */
863
+ getByType(type: 'location-category'): LocationCategory[];
839
864
  /**
840
865
  * @returns The enterprise locations ({@link EnterpriseLocation}) on the map.
841
866
  * @example
@@ -898,6 +923,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
898
923
  * @internal
899
924
  */
900
925
  get currentLanguage(): import("@mappedin/mvf").Language | undefined;
926
+ /**
927
+ * Retrieves the natural bearing of the map, which is the angle, in degrees, the map is considered to be "naturally oriented" towards.
928
+ * Typically the angle perpendicular to the street the map is facing, or the main entrance. Other print maps inside the map may have this direction be up.
929
+ * 90 degrees means East is "up"
930
+ *
931
+ * @returns The natural bearing of the map.
932
+ */
933
+ get naturalBearing(): number;
901
934
  /**
902
935
  * Retrieves directions ({@link Directions}) from one navigable point ({@link TNavigationTarget}) to another on the map.
903
936
  *
@@ -1129,7 +1162,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1129
1162
  import { PubSub } from '@packages/internal/common';
1130
1163
  import type { LanguagePack, Places, TMapDataInternalOptions } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
1131
1164
  import { type LocalePackUrls } from '@packages/internal/mvf-utils';
1132
- import type { EnvControl } from '@packages/internal/mvf-utils/mvf-utils';
1165
+ import type { EnvControl, TGetMapDataOptions } from '@packages/internal/mvf-utils/mvf-utils';
1133
1166
  import type { TMapDataObjectTypes, TGetDirectionsOptions, TNavigationTarget } from '@mappedin/react-sdk/mappedin-js/src/types';
1134
1167
  import { type Directions, DirectionsInternal } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/directions';
1135
1168
  import { type THydrateMapDataBundle } from '@mappedin/react-sdk/mappedin-js/src';
@@ -1206,6 +1239,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1206
1239
  mvfFloorsById: MapDataRecords['mvfFloorsById'];
1207
1240
  mvfFloorStacksById: MapDataRecords['mvfFloorStacksById'];
1208
1241
  mvfAreasById: MapDataRecords['mvfAreasById'];
1242
+ connectionSpaceIdsByLatLon: MapDataRecords['connectionIdsByLatLon'];
1243
+ locationProfilesByAttachedFeatureId: MapDataRecords['locationProfilesByAttachedFeatureId'];
1209
1244
  spacesByExternalId: MapDataRecords['spacesByExternalId'];
1210
1245
  nodesByExternalId: MapDataRecords['nodesByExternalId'];
1211
1246
  objectsByExternalId: MapDataRecords['objectsByExternalId'];
@@ -1235,6 +1270,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1235
1270
  };
1236
1271
  binaryBundle?: Uint8Array;
1237
1272
  envControl: EnvControl;
1273
+ getMapDataOptions?: TGetMapDataOptions;
1238
1274
  /**
1239
1275
  * @internal
1240
1276
  */
@@ -1253,6 +1289,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1253
1289
  get mapName(): string;
1254
1290
  get organizationId(): string;
1255
1291
  get mapCenter(): Coordinate;
1292
+ get naturalBearing(): number;
1256
1293
  /**
1257
1294
  * Retrieves all spaces in the map.
1258
1295
  *
@@ -1369,9 +1406,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
1369
1406
  changeLanguage(languageCode: string): Promise<void>;
1370
1407
  getDirectionsMultiDestination: (from: TNavigationTarget | TNavigationTarget[], to: TNavigationTarget | (TNavigationTarget | TNavigationTarget[])[], opt?: TGetDirectionsOptions) => Directions | Directions[] | undefined;
1371
1408
  getDirections: (from: TNavigationTarget | TNavigationTarget[], to: TNavigationTarget | (TNavigationTarget | TNavigationTarget[])[], opt?: TGetDirectionsOptions & {
1372
- multiDestination?: true;
1409
+ multiDestination?: boolean;
1373
1410
  }) => Directions | Directions[] | undefined;
1374
1411
  getDistance(from: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation | Area, to: Space | Door | Coordinate | MapObject | PointOfInterest | Annotation | Node | EnterpriseLocation | Area): number;
1412
+ transformImageRequest: (url: string) => Promise<{
1413
+ url: string;
1414
+ }>;
1375
1415
  toJSONBundle({ downloadLanguagePacks, }?: {
1376
1416
  downloadLanguagePacks?: boolean;
1377
1417
  }): Promise<THydrateMapDataBundle>;
@@ -1641,7 +1681,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
1641
1681
  * @hidden
1642
1682
  * @experimental
1643
1683
  */
1644
- auto(): void;
1684
+ auto(): {
1685
+ labels: Label[];
1686
+ };
1645
1687
  /**
1646
1688
  * Subscribe a function to an event.
1647
1689
  *
@@ -1698,6 +1740,16 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
1698
1740
  * @internal
1699
1741
  */
1700
1742
  Debug: Debug;
1743
+ /**
1744
+ * Takes a screenshot of the current scene and returns it as a data URL.
1745
+ *
1746
+ * NOTE: This only captures the 3D scene, not the UI elements like labels, markers, etc.
1747
+ * Also, this does not cause the screenshot to be saved to the user's device, it only returns
1748
+ * the data.
1749
+ * @returns A Promise that resolves with the screenshot as a base64-encoded data URL string
1750
+ * @experimental
1751
+ */
1752
+ takeScreenshot(): Promise<string>;
1701
1753
  }
1702
1754
  }
1703
1755
 
@@ -1806,7 +1858,7 @@ declare module '@mappedin/react-sdk/geojson/src' {
1806
1858
  */
1807
1859
  export { enableTestMode } from '@mappedin/react-sdk/geojson/src/services/test-mode';
1808
1860
  export { mountSceneGraphVisualizer };
1809
- export type { EntityId, EntityState, LineStyle, PaintStyle, ModelProperties, Shading } from '@mappedin/react-sdk/geojson/src/types';
1861
+ export type { EntityId, EntityState, LineStyle, PaintStyle, ModelProperties, Shading, ImagePlacementOptions, } from '@mappedin/react-sdk/geojson/src/types';
1810
1862
  export type * from 'geojson';
1811
1863
  export type { WatermarkUpdateOptions, WatermarkOptions, WatermarkPosition } from '@mappedin/react-sdk/geojson/src/systems/watermark/system';
1812
1864
  export { preloadFont } from '@mappedin/react-sdk/geojson/src/systems/text3d/system';
@@ -1897,7 +1949,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
1897
1949
  import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, EnterpriseLocation, Node, Area, Facade, FloorStack, Annotation, EnterpriseCategory, EnterpriseVenue, LocationCategory, LocationProfile } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
1898
1950
  import type { Label, Marker, Model, Image, Shape, Text3D } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
1899
1951
  import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf';
1900
- import type { InsetPaddingOption, UpdatableText3DState, Text3DState, AddText3DOptions, EnvMapOptions, InitializeModelState, ModelState, UpdateModelState } from '@mappedin/react-sdk/geojson/src';
1952
+ import type { InsetPaddingOption, UpdatableText3DState, Text3DState, AddText3DOptions, EnvMapOptions, InitializeModelState, ModelState, UpdateModelState, ImagePlacementOptions } from '@mappedin/react-sdk/geojson/src';
1901
1953
  export type DeepRequired<T> = Required<{
1902
1954
  [K in keyof T]: T[K] extends Required<T[K]> ? T[K] : DeepRequired<T[K]>;
1903
1955
  }>;
@@ -2608,7 +2660,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2608
2660
  /**
2609
2661
  * The target for the model to be placed on.
2610
2662
  */
2611
- target: Space | Door | Coordinate;
2663
+ target: IAnchorable;
2612
2664
  /**
2613
2665
  * Optional. Determines the opacity of the model.
2614
2666
  * @default 1
@@ -2916,6 +2968,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
2916
2968
  area: Area;
2917
2969
  facade: Facade;
2918
2970
  };
2971
+ /**
2972
+ * @interface
2973
+ * @internal
2974
+ */
2975
+ export type TImagePlacementOptions = ImagePlacementOptions;
2919
2976
  }
2920
2977
 
2921
2978
  declare module '@mappedin/react-sdk/mappedin-js/src/constants' {
@@ -2936,6 +2993,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/constants' {
2936
2993
  outdoorView: {
2937
2994
  layersHiddenByGeometry: string[];
2938
2995
  };
2996
+ imagePlacementOptions: {
2997
+ mode: "default";
2998
+ };
2939
2999
  };
2940
3000
  export const EXTERIOR_WALLS_ID = "ExteriorWalls";
2941
3001
  export const WALLS_ID = "Walls";
@@ -3136,6 +3196,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/sta
3136
3196
  import { type Floor } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
3137
3197
  import { type TCameraAnimationOptions } from '@mappedin/react-sdk/mappedin-js/src';
3138
3198
  export const GAP_BELOW_FLOORS = 50;
3199
+ export const DEBUG = false;
3139
3200
  export const DURATION = 1000;
3140
3201
  export type TStackedMapsState =
3141
3202
  /**
@@ -3158,8 +3219,21 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/sta
3158
3219
  includedFloors?: Floor[];
3159
3220
  /**
3160
3221
  * The distance between floors in the stack in meters.
3222
+ * - When set to 'auto', the system automatically calculates the optimal distance
3223
+ * needed to visually separate first two floors in the current view.
3224
+ * - When set to a numeric value, that exact distance in meters is used between each floor.
3225
+ * @default 50
3226
+ *
3227
+ * @example
3228
+ * // Use automatic distance calculation
3229
+ * await mapView.StackedMaps.expand({ distanceBetweenFloors: 'auto' });
3230
+ * console.log(mapView.distanceBetweenFloors) // output: computed value
3231
+ *
3232
+ * // Use fixed distance of 75 meters between floors
3233
+ * mapView.StackedMaps.expand({ distanceBetweenFloors: 75 });
3234
+ * console.log(mapView.distanceBetweenFloors) // output: 75 as specified
3161
3235
  */
3162
- distanceBetweenFloors?: number;
3236
+ distanceBetweenFloors?: number | 'auto';
3163
3237
  /**
3164
3238
  * The pan mode to use when animating the camera.
3165
3239
  * @default 'elevation'
@@ -3196,9 +3270,42 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/sta
3196
3270
  */
3197
3271
  get expanded(): boolean;
3198
3272
  /**
3199
- * The distance between floors in the stack in meters.
3273
+ * Gets the distance between floors in meters.
3274
+ *
3275
+ * This property returns different values based on how the `expand()` method was called:
3276
+ *
3277
+ * - When `expand()` was called with `distanceBetweenFloors: 'auto'`, this returns the computed
3278
+ * value needed to visually separate the first two floors in clip space.
3279
+ * - When `expand()` was called with a numeric value (e.g., `distanceBetweenFloors: 50`),
3280
+ * this returns that specified value.
3281
+
3282
+ * This value is cached for performance until `clearCachedFloorSeparationDistance()` is called
3283
+ * to force a recalculation.
3284
+ *
3285
+ * @example
3286
+ * // Using automatic floor separation distance
3287
+ * await mapView.StackedMaps.expand({ distanceBetweenFloors: 'auto' });
3288
+ * console.log(mapView.StackedMaps.distanceBetweenFloors); // Returns computed separation value
3289
+ *
3290
+ * // Using fixed floor separation distance
3291
+ * await mapView.StackedMaps.expand({ distanceBetweenFloors: 50 });
3292
+ * console.log(mapView.StackedMaps.distanceBetweenFloors); // Returns 50
3293
+ */
3294
+ get distanceBetweenFloors(): number;
3295
+ /**
3296
+ * Clears the cached value for the computed distance between floors.
3297
+ *
3298
+ * Call this method to invalidate the calculation of the optimal distance between floors
3299
+ * when using `distanceBetweenFloors: 'auto'` option with the expand() method. This is useful
3300
+ * when the camera position or viewport has changed significantly, which may affect the optimal
3301
+ * floor separation distance.
3302
+ *
3303
+ * @example
3304
+ * // Force recalculation before expanding with auto distance
3305
+ * mapView.StackedMaps.clearCachedFloorSeparationDistance();
3306
+ * await mapView.StackedMaps.expand({ distanceBetweenFloors: 'auto' });
3200
3307
  */
3201
- get gapBelowFloors(): number;
3308
+ clearCachedFloorSeparationDistance(): void;
3202
3309
  /**
3203
3310
  * The factor of the expanded floor stack. 0 is collapsed, 1 is fully expanded.
3204
3311
  */
@@ -3654,7 +3761,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types' {
3654
3761
  import type { PartialExcept } from '@mappedin/mvf/dist/locale';
3655
3762
  import type { LocalePackUrls } from '@packages/internal/mvf-utils';
3656
3763
  import type { LanguagePackHydrationItem } from '@mappedin/react-sdk/mappedin-js/src/types';
3657
- import type { EnvControl } from '@packages/internal/mvf-utils/mvf-utils';
3764
+ import type { EnvControl, TGetMapDataOptions } from '@packages/internal/mvf-utils/mvf-utils';
3658
3765
  /**
3659
3766
  * Places are the main objects that can be searched for.
3660
3767
  */
@@ -3683,6 +3790,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types' {
3683
3790
  languagePacks?: LanguagePackHydrationItem[];
3684
3791
  binaryBundle?: Uint8Array;
3685
3792
  sasToken?: string;
3793
+ getMapDataOptions?: TGetMapDataOptions;
3686
3794
  };
3687
3795
  /**
3688
3796
  * A class that implements IGeoJSONData has a underlying GeoJSON datathat can be accessed.
@@ -3827,6 +3935,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
3827
3935
  latitude: number;
3828
3936
  longitude: number;
3829
3937
  floor: string | undefined;
3938
+ verticalOffset: number;
3830
3939
  };
3831
3940
  neighbors: string[];
3832
3941
  };
@@ -3842,7 +3951,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
3842
3951
 
3843
3952
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
3844
3953
  import type { AreaCollection } from '@mappedin/mvf';
3845
- import { Coordinate, type MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
3954
+ import { Coordinate, LocationProfile, type MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
3846
3955
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
3847
3956
  import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
3848
3957
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
@@ -3909,6 +4018,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
3909
4018
  * @throws Will throw an error if the floor is not found.
3910
4019
  */
3911
4020
  get floor(): Floor;
4021
+ /**
4022
+ * Gets the {@link LocationProfile} objects attached to this area.
4023
+ *
4024
+ * @returns {LocationProfile[]} An array of location profile objects.
4025
+ */
4026
+ get locationProfiles(): LocationProfile[];
3912
4027
  /**
3913
4028
  * Gets the underlying GeoJSON Feature representation of this Area.
3914
4029
  */
@@ -3945,7 +4060,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
3945
4060
  import type { EntranceCollection } from '@mappedin/mvf';
3946
4061
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
3947
4062
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
3948
- import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4063
+ import type { LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
3949
4064
  import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
3950
4065
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
3951
4066
  import type { IAnchorable, IFocusable } from '@mappedin/react-sdk/mappedin-js/src/types';
@@ -4036,6 +4151,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4036
4151
  * Gets whether this door is an exterior door.
4037
4152
  */
4038
4153
  get isExterior(): boolean;
4154
+ /**
4155
+ * Gets the {@link LocationProfile} objects attached to this door.
4156
+ *
4157
+ * @returns {LocationProfile[]} An array of location profile objects.
4158
+ */
4159
+ get locationProfiles(): LocationProfile[];
4039
4160
  /**
4040
4161
  * Gets the underlying GeoJSON Feature representation of this Door.
4041
4162
  */
@@ -4061,6 +4182,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4061
4182
  latitude: number;
4062
4183
  longitude: number;
4063
4184
  floor: string | undefined;
4185
+ verticalOffset: number;
4064
4186
  };
4065
4187
  };
4066
4188
  /**
@@ -4076,7 +4198,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
4076
4198
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4077
4199
  import type { SpaceCollection } from '@mappedin/mvf';
4078
4200
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4079
- import type { EnterpriseLocation, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4201
+ import type { EnterpriseLocation, LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4080
4202
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
4081
4203
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4082
4204
  import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
@@ -4175,6 +4297,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4175
4297
  * @returns {Coordinate} The space's center coordinate.
4176
4298
  */
4177
4299
  get center(): Coordinate;
4300
+ /**
4301
+ * Gets the {@link LocationProfile} objects attached to this space.
4302
+ *
4303
+ * @returns {LocationProfile[]} An array of location profile objects.
4304
+ */
4305
+ get locationProfiles(): LocationProfile[];
4178
4306
  /**
4179
4307
  * Gets the underlying GeoJSON Feature representation of this Space.
4180
4308
  */
@@ -4201,6 +4329,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
4201
4329
  latitude: number;
4202
4330
  longitude: number;
4203
4331
  floor: string | undefined;
4332
+ verticalOffset: number;
4204
4333
  };
4205
4334
  };
4206
4335
  /**
@@ -4350,7 +4479,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4350
4479
  import type { Feature, FeatureCollection, Point, SpaceProperties, Connection as MVFConnection } from '@mappedin/mvf';
4351
4480
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4352
4481
  import type Node from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node';
4353
- import type { Floor, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4482
+ import type { Floor, LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4354
4483
  import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4355
4484
  import type { IFocusable } from '@mappedin/react-sdk/mappedin-js/src/types';
4356
4485
  /**
@@ -4424,6 +4553,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4424
4553
  * @returns {Floor[]} An array of floors for the connection.
4425
4554
  */
4426
4555
  get floors(): Floor[];
4556
+ /**
4557
+ * Gets the {@link LocationProfile} objects attached to this connection.
4558
+ *
4559
+ * @returns {LocationProfile[]} An array of location profile objects.
4560
+ */
4561
+ get locationProfiles(): LocationProfile[];
4427
4562
  /** @internal */
4428
4563
  get focusTarget(): Coordinate[];
4429
4564
  /**
@@ -4440,6 +4575,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4440
4575
  latitude: number;
4441
4576
  longitude: number;
4442
4577
  floor: string | undefined;
4578
+ verticalOffset: number;
4443
4579
  }[];
4444
4580
  floors: string[];
4445
4581
  };
@@ -4456,7 +4592,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection'
4456
4592
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4457
4593
  import type { ObstructionCollection } from '@mappedin/mvf';
4458
4594
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4459
- import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4595
+ import type { LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4460
4596
  import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
4461
4597
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4462
4598
  import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
@@ -4530,6 +4666,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4530
4666
  * @returns {Coordinate} The object's center coordinate.
4531
4667
  */
4532
4668
  get center(): Coordinate;
4669
+ /**
4670
+ * Gets the {@link LocationProfile} objects attached to this object.
4671
+ *
4672
+ * @returns {LocationProfile[]} An array of location profile objects.
4673
+ */
4674
+ get locationProfiles(): LocationProfile[];
4533
4675
  /**
4534
4676
  * Gets the underlying GeoJSON Feature representation of this Object.
4535
4677
  */
@@ -4556,6 +4698,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4556
4698
  latitude: number;
4557
4699
  longitude: number;
4558
4700
  floor: string | undefined;
4701
+ verticalOffset: number;
4559
4702
  };
4560
4703
  };
4561
4704
  /**
@@ -4570,6 +4713,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
4570
4713
 
4571
4714
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate' {
4572
4715
  import type { IFocusable, IAnchorable } from '@mappedin/react-sdk/mappedin-js/src/types';
4716
+ type TCoordinateParams = {
4717
+ latitude: number;
4718
+ longitude: number;
4719
+ floorId?: string;
4720
+ verticalOffset?: number;
4721
+ };
4573
4722
  /**
4574
4723
  * Class representing a pseudo-mercator coordinate.
4575
4724
  *
@@ -4602,6 +4751,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate'
4602
4751
  * The floor ID of the coordinate.
4603
4752
  */
4604
4753
  readonly floorId?: string;
4754
+ /**
4755
+ * The vertical position of the coordinate, offset from the floor.
4756
+ * @internal
4757
+ */
4758
+ readonly verticalOffset: number;
4605
4759
  /**
4606
4760
  * Checks if the provided instance is of type Coordinate.
4607
4761
  *
@@ -4612,7 +4766,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate'
4612
4766
  /**
4613
4767
  * @internal
4614
4768
  */
4615
- constructor(latitude: number, longitude: number, floorId?: string);
4769
+ constructor(latitudeOrParams: TCoordinateParams);
4770
+ /**
4771
+ * @deprecated
4772
+ * @internal
4773
+ */
4774
+ constructor(latitudeOrParams: number, longitude: number, floorId?: string);
4616
4775
  /**
4617
4776
  * @internal
4618
4777
  */
@@ -4637,6 +4796,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate'
4637
4796
  latitude: number;
4638
4797
  longitude: number;
4639
4798
  floor: string | undefined;
4799
+ verticalOffset: number;
4640
4800
  };
4641
4801
  /**
4642
4802
  * Cleans up resources used by the instance.
@@ -4650,7 +4810,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate'
4650
4810
 
4651
4811
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4652
4812
  import type { FeatureCollection, Point, SpaceProperties } from '@mappedin/mvf';
4653
- import type { Floor, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4813
+ import type { Floor, LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4654
4814
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4655
4815
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
4656
4816
  import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
@@ -4716,6 +4876,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4716
4876
  * @returns {string} The external ID of the POI.
4717
4877
  */
4718
4878
  get externalId(): string;
4879
+ /**
4880
+ * Gets the {@link LocationProfile} objects attached to this POI.
4881
+ *
4882
+ * @returns {LocationProfile[]} An array of location profile objects.
4883
+ */
4884
+ get locationProfiles(): LocationProfile[];
4719
4885
  /**
4720
4886
  * Gets the underlying GeoJSON Feature representation of this PointOfInterest.
4721
4887
  */
@@ -4741,6 +4907,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4741
4907
  latitude: number;
4742
4908
  longitude: number;
4743
4909
  floor: string | undefined;
4910
+ verticalOffset: number;
4744
4911
  };
4745
4912
  };
4746
4913
  /**
@@ -4755,7 +4922,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
4755
4922
 
4756
4923
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation' {
4757
4924
  import type { AnnotationCollection } from '@mappedin/mvf';
4758
- import type { Floor, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4925
+ import type { Floor, LocationProfile, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
4759
4926
  import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
4760
4927
  import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
4761
4928
  import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
@@ -4822,6 +4989,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
4822
4989
  * @throws Will throw an error if the floor is not found.
4823
4990
  */
4824
4991
  get floor(): Floor;
4992
+ /**
4993
+ * Gets the {@link LocationProfile} objects attached to this annotation.
4994
+ *
4995
+ * @returns {LocationProfile[]} An array of location profile objects.
4996
+ */
4997
+ get locationProfiles(): LocationProfile[];
4825
4998
  /**
4826
4999
  * Gets the underlying GeoJSON Feature representation of this Annotation.
4827
5000
  */
@@ -4847,6 +5020,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
4847
5020
  latitude: number;
4848
5021
  longitude: number;
4849
5022
  floor: string | undefined;
5023
+ verticalOffset: number;
4850
5024
  };
4851
5025
  };
4852
5026
  /**
@@ -5142,6 +5316,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5142
5316
  objectEntranceNodeIdsByObstructionId: Record<string, string[]>;
5143
5317
  obstructionIdByEntranceId: Record<string, string>;
5144
5318
  connectionIdsByLatLon: Record<string, string[]>;
5319
+ locationProfilesByAttachedFeatureId: Record<string, LocationProfile[]>;
5145
5320
  mvfSpacesById: Record<string, SpaceCollection['features'][number]>;
5146
5321
  mvfNodesById: Record<string, NodeCollection['features'][number]>;
5147
5322
  mvfObstructionById: Record<string, ObstructionCollection['features'][number]>;
@@ -5187,6 +5362,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
5187
5362
  locationCategoriesById: Record<string, LocationCategory>;
5188
5363
  locationProfilesByExternalId: Record<string, LocationProfile[]>;
5189
5364
  locationProfilesByCategoryId: Record<string, LocationProfile[]>;
5365
+ locationProfilesByAttachedFeatureId: Record<string, LocationProfile[]>;
5190
5366
  };
5191
5367
  export const processMVFSpaces: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "spacesById" | "spacesByExternalId" | "spaceIdsByDestinationNodeId" | "poisById" | "poisByExternalId" | "mvfSpacesById" | "objectEntranceNodeIdsByObstructionId" | "connectionsById" | "connectionIdsByLatLon" | "mvfSpacesByFloorId" | "mvfPoisByFloorId">;
5192
5368
  export const processMVFNodes: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "nodesById" | "nodesByExternalId" | "mvfNodesById" | "mvfNodesByFloorId">;
@@ -5460,6 +5636,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/category' {
5460
5636
  * The sort order of the category.
5461
5637
  */
5462
5638
  sortOrder: number;
5639
+ /**
5640
+ * A URL to the picture of the category.
5641
+ */
5642
+ picture?: string | undefined;
5463
5643
  /**
5464
5644
  * Checks if the provided instance is of type EnterpriseCategory.
5465
5645
  *
@@ -5617,9 +5797,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/venue' {
5617
5797
  declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location-profile' {
5618
5798
  import type { LocationId, LocationLink, LocationPicture, LocationSocial, Location as MVFLocation } from '@mappedin/mvf';
5619
5799
  import BaseMetaData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metadata-object';
5620
- import type { Annotation, Connection, Door, LocationCategory, MapDataInternal, Space, MapObject } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
5800
+ import type { Annotation, Connection, Door, LocationCategory, MapDataInternal, Space, MapObject, PointOfInterest } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
5621
5801
  import type { TFocusTarget, TNavigationTarget, IFocusable, INavigatable } from '@mappedin/react-sdk/mappedin-js/src/types';
5622
- class LocationProfile extends BaseMetaData implements Omit<MVFLocation, 'categories' | 'spaces' | 'obstructions' | 'entrances' | 'shapes' | 'connections' | 'annotations'>, IFocusable, INavigatable {
5802
+ import { OpeningHours } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/opening-hours';
5803
+ class LocationProfile extends BaseMetaData implements Omit<MVFLocation, 'categories' | 'spaces' | 'obstructions' | 'entrances' | 'shapes' | 'connections' | 'annotations' | 'openingHoursSpecification'>, IFocusable, INavigatable {
5623
5804
  #private;
5624
5805
  /**
5625
5806
  * Checks if the provided instance is of type EnterpriseLocation.
@@ -5668,6 +5849,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location-pr
5668
5849
  * @returns {Space[]} The spaces array.
5669
5850
  */
5670
5851
  get spaces(): Space[];
5852
+ /**
5853
+ * Gets the {@link PointOfInterest}s associated with the location.
5854
+ *
5855
+ * @returns {PointOfInterest[]} The points of interest array.
5856
+ */
5857
+ get points(): PointOfInterest[];
5671
5858
  /**
5672
5859
  * Gets the {@link Door}s associated with the location.
5673
5860
  *
@@ -5700,6 +5887,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/location-pr
5700
5887
  get mapObjects(): MapObject[];
5701
5888
  /** @internal */
5702
5889
  get focusTarget(): TFocusTarget[];
5890
+ /**
5891
+ * Gets the {@link OpeningHours} associated with the location.
5892
+ *
5893
+ * @returns {OpeningHours} The opening hours.
5894
+ */
5895
+ get openingHours(): OpeningHours;
5703
5896
  /**
5704
5897
  * @internal
5705
5898
  */
@@ -5913,6 +6106,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
5913
6106
  * The z-index of the marker. Can be used used in conjunction with rank: 'always-visible' to make certain markers appear over others
5914
6107
  */
5915
6108
  zIndex?: number;
6109
+ /**
6110
+ * The vertical position of the marker relative to the floor.
6111
+ */
6112
+ verticalOffset?: number;
5916
6113
  };
5917
6114
  /**
5918
6115
  * Anchor point for the marker. This will determine the position of the marker relative to the position. A list will place the marker in the first empty placement.
@@ -5985,6 +6182,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
5985
6182
  * The z-index of the marker. Can be used used in conjunction with rank: 'always-visible' to make certain markers appear over others
5986
6183
  */
5987
6184
  zIndex?: number;
6185
+ /**
6186
+ * The vertical position of the marker relative to the floor.
6187
+ */
6188
+ verticalOffset?: number;
5988
6189
  };
5989
6190
  export class MarkerComponent {
5990
6191
  id: string | number;
@@ -6021,6 +6222,8 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
6021
6222
  left: string;
6022
6223
  };
6023
6224
  dirty: boolean;
6225
+ /** Flag used in 2d-projection system to determine if the parent has changed */
6226
+ parentDirty: boolean;
6024
6227
  collisionDirty: boolean;
6025
6228
  visibilityNeedsUpdate: 'show' | 'hide' | false;
6026
6229
  constructor(contentHtml: string, options?: AddMarkerOptions);
@@ -6615,6 +6818,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6615
6818
  * @internal
6616
6819
  */
6617
6820
  occluderId?: number;
6821
+ /**
6822
+ * The vertical position of the label relative to the floor.
6823
+ */
6824
+ verticalOffset?: number;
6618
6825
  };
6619
6826
  type TStyle = {
6620
6827
  top?: number;
@@ -6684,7 +6891,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6684
6891
  /**
6685
6892
  * The parent container of the label
6686
6893
  */
6687
- readonly parent: EntityId<GroupContainerState> | string | number;
6894
+ readonly parent: EntityId<GroupContainerState>;
6688
6895
  /**
6689
6896
  * Whether the label is enabled
6690
6897
  */
@@ -6707,6 +6914,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6707
6914
  * Options for the label
6708
6915
  */
6709
6916
  options: Omit<AddLabelOptions, 'id'>;
6917
+ /**
6918
+ * vertical offset of the model in meters off the floor
6919
+ */
6920
+ verticalOffset: number;
6710
6921
  };
6711
6922
  export class LabelComponent {
6712
6923
  lines: number;
@@ -6747,6 +6958,8 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
6747
6958
  currentStrategyIndex: number;
6748
6959
  totalMarkerSize: number;
6749
6960
  dirty: boolean;
6961
+ /** Flag used in 2d-projection system to determine if the parent has changed */
6962
+ parentDirty: boolean;
6750
6963
  collisionDirty: boolean;
6751
6964
  lastTextAlign: any;
6752
6965
  imageHash?: number;
@@ -7123,7 +7336,6 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
7123
7336
  */
7124
7337
  type?: InsetPadding['type'];
7125
7338
  };
7126
- export * from '@mappedin/react-sdk/geojson/src/types/constants';
7127
7339
  /**
7128
7340
  * Result of a user click event.
7129
7341
  */
@@ -7279,18 +7491,70 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
7279
7491
  * All of the entities in the scene
7280
7492
  */
7281
7493
  export type EntityTypes = Geometry3DTypes | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D;
7494
+ /** @internal */
7495
+ export type TransformImageRequest = (url: string) => Promise<{
7496
+ url: string;
7497
+ }>;
7498
+ /**
7499
+ * The mode to use for auto image placement.
7500
+ * - `default` will currently not rotate the image, but in the future it may be settable per-image, in which case this mode will use that setting.
7501
+ * - `none` will not rotate the image.
7502
+ * - `nearest 90` may rotate the image 90 degrees to fit the polygon better.
7503
+ * - `initial bearing` will rotate the images to face the initial bearing of the map view, then try to fit them to their polygon.
7504
+ *
7505
+ * @internal
7506
+ */
7507
+ export type ImagePlacementMode = 'default' | 'none' | 'fit-nearest-90' | 'fit-initial-bearing';
7508
+ /**
7509
+ * Options for configuring how images are automatically placed on polygons.
7510
+ *
7511
+ * @internal
7512
+ */
7513
+ export type ImagePlacementOptions = {
7514
+ /**
7515
+ * The mode to use for auto image placement. See {@link ImagePlacementMode} for more information.
7516
+ * @defaultValue 'default'
7517
+ */
7518
+ mode?: ImagePlacementMode;
7519
+ /**
7520
+ * Scale factor applied to the resulting rectangle dimensions.
7521
+ * Values less than 1 create a safety margin inside the polygon.
7522
+ * @defaultValue 0.9
7523
+ */
7524
+ scaleFactor?: number;
7525
+ /**
7526
+ * Controls the balance between optimizing for rectangle area vs. proximity to center.
7527
+ * Higher values prioritize center alignment over size.
7528
+ * @defaultValue 0.5
7529
+ */
7530
+ centerPriority?: number;
7531
+ /**
7532
+ * Resolution of the grid used for finding the rectangle.
7533
+ * Higher values provide more precise results but require more computation.
7534
+ * @defaultValue 100
7535
+ */
7536
+ resolution?: number;
7537
+ /**
7538
+ * Threshold ratio for determining when to fall back to the original rectangle.
7539
+ * If the calculated rectangle is smaller than this ratio of the original,
7540
+ * the original rectangle will be returned instead.
7541
+ * @defaultValue 0.5
7542
+ */
7543
+ minimumSizeRatio?: number;
7544
+ };
7282
7545
  }
7283
7546
 
7284
7547
  declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
7285
7548
  import type { Texture, BufferGeometry, LineSegments, Mesh } from 'three';
7286
7549
  import { BatchedMesh, Color, Vector3 } from 'three';
7287
7550
  import type { BatchedStandardMaterial } from '@mappedin/react-sdk/geojson/src/systems/mesh-creation-and-optimization/batched-material';
7288
- import type { Position } from '@mappedin/react-sdk/geojson/src/types';
7551
+ import type { EntityId, Position } from '@mappedin/react-sdk/geojson/src/types';
7289
7552
  import type { Feature, LineString, MultiLineString, MultiPolygon, Polygon, Position as GeoJsonPosition } from 'geojson';
7290
7553
  import type { BBox } from '@turf/turf';
7291
7554
  import { type ImageProperties } from '@mappedin/react-sdk/geojson/src/components/image';
7292
7555
  import { type BaseTextAreaProperties } from '@mappedin/mvf';
7293
7556
  import type { Text } from 'troika-three-text';
7557
+ import type { GeometryGroupState } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
7294
7558
  export class EntityBatchedMesh extends BatchedMesh {
7295
7559
  type: "entityBatchedMesh";
7296
7560
  userData: {
@@ -7320,6 +7584,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
7320
7584
  * The position of the geometry in [lon, lat]
7321
7585
  */
7322
7586
  readonly position: Position;
7587
+ /**
7588
+ * The parent group of the geometry
7589
+ */
7590
+ readonly parent: EntityId<GeometryGroupState>;
7323
7591
  /**
7324
7592
  * Whether the geometry is visible. This is independent of the visibility of the children, but will affect the visibility of the children if set to false.
7325
7593
  */
@@ -7805,7 +8073,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
7805
8073
 
7806
8074
  declare module '@mappedin/react-sdk/geojson/src/renderer' {
7807
8075
  import './utils/object-this-polyfill';
7808
- import { Scene, Vector3, Raycaster, Camera as ThreeCamera } from 'three';
8076
+ import { PerspectiveCamera, Scene, Vector3, Raycaster, Camera as ThreeCamera } from 'three';
7809
8077
  import type { GroupContainerState } from '@mappedin/react-sdk/geojson/src/entities/group-container';
7810
8078
  import { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
7811
8079
  import { PubSub } from '@mappedin/react-sdk/packages/common/pubsub';
@@ -8025,6 +8293,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
8025
8293
  */
8026
8294
  getScene(): GroupContainerState;
8027
8295
  getThreeScene(): Scene | undefined;
8296
+ getThreeCamera(): PerspectiveCamera;
8028
8297
  setEnvironment(update: EnvMapOptions): Promise<void>;
8029
8298
  getEnvironment(): EnvMapOptions;
8030
8299
  /**
@@ -8873,8 +9142,7 @@ declare module '@mappedin/react-sdk/packages/geojson-navigator' {
8873
9142
  }
8874
9143
 
8875
9144
  declare module '@mappedin/react-sdk/geojson/src/utils' {
8876
- import type { Box3, Object3D, Camera as THREECamera } from 'three';
8877
- import { Box2 } from 'three';
9145
+ import type { Object3D, Camera as THREECamera } from 'three';
8878
9146
  import { MercatorCoordinate } from '@mappedin/react-sdk/packages/outdoor-context-v4';
8879
9147
  import type { CustomLayerInterface } from '@mappedin/react-sdk/packages/outdoor-context-v4';
8880
9148
  import type { GeometryGroupObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
@@ -8883,6 +9151,7 @@ declare module '@mappedin/react-sdk/geojson/src/utils' {
8883
9151
  import type { Geometry3DTypes } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
8884
9152
  import type { Position, RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
8885
9153
  import type { Camera } from '@mappedin/react-sdk/geojson/src/camera';
9154
+ export { isFiniteBox } from '@packages/internal/common';
8886
9155
  export function cartesianToGeographic(centerLat: number, centerLon: number, x: number, y: number): {
8887
9156
  lat: number;
8888
9157
  lon: number;
@@ -8950,7 +9219,6 @@ declare module '@mappedin/react-sdk/geojson/src/utils' {
8950
9219
  export function getGeometryByGeometryId(state: RendererState, geometryOrGeometryId?: string | number | Record<string, any>): Geometry3DTypes | GeometryGroupObject3D | GroupContainerObject3D | Geometry2D | undefined;
8951
9220
  export function getBoundingBoxCenter(bbox: Position[]): [number, number];
8952
9221
  export { getCornersOfBoundingBox } from '@mappedin/react-sdk/geojson/src/utils/bounding-box';
8953
- export function isFiniteBox(box: Box2 | Box3): boolean;
8954
9222
  export { getPixelRatio } from '@mappedin/react-sdk/geojson/src/utils/get-pixel-ratio';
8955
9223
  export { debounce } from '@mappedin/react-sdk/geojson/src/utils/async';
8956
9224
  export { shouldDisableOffscreenCanvas } from '@mappedin/react-sdk/geojson/src/utils/browser';
@@ -8960,6 +9228,8 @@ declare module '@mappedin/react-sdk/geojson/src/utils' {
8960
9228
  }
8961
9229
 
8962
9230
  declare module '@mappedin/react-sdk/geojson/src/utils/constants' {
9231
+ import type { InsetPadding } from '@mappedin/react-sdk/geojson/src/types';
9232
+ export const DEFAULT_INSET_PADDING: InsetPadding;
8963
9233
  export const MAPPEDIN_LAYER_ID = "mappedin";
8964
9234
  export enum ENTITY_3D_LAYERS {
8965
9235
  DEFAULT = 0,
@@ -9227,7 +9497,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
9227
9497
  createCoordinate(latitude: number, longitude: number, floor?: Floor): Coordinate;
9228
9498
  createCoordinateFromScreenCoordinate(x: number, y: number, floor?: Floor): Coordinate | undefined;
9229
9499
  isInView(target: Space | MapObject | Label | Marker | string): boolean;
9230
- auto(): void;
9500
+ auto(): {
9501
+ labels: Label[];
9502
+ };
9231
9503
  /**
9232
9504
  * @internal
9233
9505
  */
@@ -9336,7 +9608,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
9336
9608
  }) => void;
9337
9609
  add: (coordinate: Position, text: string, opts?: AddLabelOptions & {
9338
9610
  floorId?: string;
9339
- spaceId?: string;
9611
+ parentId?: string;
9612
+ verticalOffset?: number;
9340
9613
  }) => {
9341
9614
  id: string | number;
9342
9615
  };
@@ -9459,7 +9732,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/marker' {
9459
9732
  }
9460
9733
 
9461
9734
  declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/image' {
9462
- import type { Coordinate, Door, Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
9735
+ import type { IAnchorable } from '@mappedin/react-sdk/mappedin-js/src/types';
9463
9736
  /**
9464
9737
  * Class representing an Image on the {@link MapView}.
9465
9738
  */
@@ -9468,7 +9741,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/image' {
9468
9741
  /**
9469
9742
  * The image's target
9470
9743
  */
9471
- readonly target: Space | Door | Coordinate;
9744
+ readonly target: IAnchorable;
9472
9745
  /**
9473
9746
  * @internal
9474
9747
  */
@@ -9487,7 +9760,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/image' {
9487
9760
  /**
9488
9761
  * @internal
9489
9762
  */
9490
- constructor(id: string, url: string, target: Space | Door | Coordinate);
9763
+ constructor(id: string, url: string, target: IAnchorable);
9491
9764
  /**
9492
9765
  * The image's id
9493
9766
  */
@@ -9651,8 +9924,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/text3d' {
9651
9924
 
9652
9925
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
9653
9926
  import type { IFocusable, TCameraAnimationOptions, TCameraTarget, TFocusOnOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
9654
- import type { InsetPadding, RendererCore } from '@mappedin/core-sdk';
9927
+ import type { InsetPadding } from '@mappedin/core-sdk';
9655
9928
  import { Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
9929
+ import type { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
9656
9930
  /**
9657
9931
  * The Camera class is used to control the camera's position, pitch, bearing, and zoom level. It can also be used to focus
9658
9932
  * on one or more locations on the map. The camera can be repositioned instantly or animated to a new position.
@@ -9666,7 +9940,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
9666
9940
  /**
9667
9941
  * @internal
9668
9942
  */
9669
- constructor(rendererCore: RendererCore);
9943
+ constructor(api: GeoJsonApi);
9670
9944
  /**
9671
9945
  * Define an area of the screen that is safe for the camera. Anything outside the safe area is assumed to be covered in some way. The camera will not place any map elements there when calling {@link Camera.focusOn}.
9672
9946
  *
@@ -10457,10 +10731,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor' {
10457
10731
  }
10458
10732
 
10459
10733
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/images' {
10460
- import type { TAddImageOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
10734
+ import type { IAnchorable, TAddImageOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
10461
10735
  import { Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
10462
10736
  import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
10463
- import type { Space, Door, Coordinate } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
10464
10737
  /**
10465
10738
  * Images can enhance the fidelity of an indoor map. They can be used to add custom branding, highlight important features, or provide additional information to users.
10466
10739
  * Images can be placed on any {@link Door}, {@link Space}, or {@link Coordinate} on the map and given a verticalOffset to control the height at which the image is displayed.
@@ -10510,7 +10783,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/images' {
10510
10783
  * // Add an interactive {@link Image} to the map with custom HTML content.
10511
10784
  * mapView.Images.add(coordinate, '<div>Image Content</div>', { interactive: true });
10512
10785
  */
10513
- add(target: Space | Door | Coordinate, url: string, options: TAddImageOptions): Image;
10786
+ add(target: IAnchorable, url: string, options: TAddImageOptions): Image;
10514
10787
  /**
10515
10788
  * Removes a image from the map.
10516
10789
  *
@@ -11130,6 +11403,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object
11130
11403
  import Image from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/image';
11131
11404
  import type { Details } from '@mappedin/mvf';
11132
11405
  export default abstract class BaseMapData {
11406
+ #private;
11133
11407
  /**
11134
11408
  * The identity of the map data.
11135
11409
  */
@@ -11147,6 +11421,32 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object
11147
11421
  * @returns {Image[]} An array of Image objects, or an empty array if no images exist.
11148
11422
  */
11149
11423
  images: Image[];
11424
+ /**
11425
+ * Gets the bounding box of the geoJSON geometry.
11426
+ *
11427
+ * @returns {BBox} The bounding box of the geoJSON geometry
11428
+ */
11429
+ get geoJSONBoundingBox(): {};
11430
+ get geoJSON(): {
11431
+ properties: null;
11432
+ type: string;
11433
+ geometry: {};
11434
+ };
11435
+ }
11436
+ }
11437
+
11438
+ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/opening-hours' {
11439
+ import type { OpeningHoursSpecification } from '@mappedin/mvf';
11440
+ /**
11441
+ * Represents the opening hours of a location.
11442
+ */
11443
+ export class OpeningHours {
11444
+ #private;
11445
+ constructor(mvfData: OpeningHoursSpecification[]);
11446
+ /**
11447
+ * Gets the raw opening hours data.
11448
+ */
11449
+ get raw(): OpeningHoursSpecification[];
11150
11450
  }
11151
11451
  }
11152
11452
 
@@ -11396,6 +11696,7 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry2d' {
11396
11696
  id: string | number;
11397
11697
  get type(): 'label' | 'marker';
11398
11698
  get parentObject3D(): GroupContainerObject3D | GeometryGroupObject3D | null;
11699
+ verticalOffset: number;
11399
11700
  /**
11400
11701
  * When the position of the entity changes, this should be set to true, so that systems like pan bounds can update
11401
11702
  */
@@ -11404,7 +11705,7 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry2d' {
11404
11705
  object3d: Geometry2DObject3D;
11405
11706
  components: [MarkerComponent | LabelComponent, InteractionComponent?];
11406
11707
  disposed: boolean;
11407
- constructor(ui: MarkerComponent | LabelComponent, position: Vector3);
11708
+ constructor(ui: MarkerComponent | LabelComponent, position: Vector3, verticalOffset?: number);
11408
11709
  get position(): Vector3;
11409
11710
  setAltitude(z: number): void;
11410
11711
  }
@@ -11622,19 +11923,22 @@ declare module '@mappedin/react-sdk/geojson/src/types/options' {
11622
11923
  import type { Position } from '@mappedin/react-sdk/geojson/src/types/geometry';
11623
11924
  import type { Map as MapLibreMap } from '@mappedin/react-sdk/packages/outdoor-context-v4';
11624
11925
  import type { AttributionControlOptions } from '@mappedin/react-sdk/geojson/src/systems/html-controls/system';
11625
- import type { WatermarkOptions } from '@mappedin/react-sdk/geojson/src';
11926
+ import type { ImagePlacementOptions, WatermarkOptions } from '@mappedin/react-sdk/geojson/src';
11927
+ import type { TransformImageRequest } from '@mappedin/react-sdk/geojson/src/types';
11626
11928
  export type EnvMapOptions = 'basic' | false;
11627
11929
  export type RendererCoreOptions = Partial<{
11628
11930
  center?: Position;
11629
11931
  zoomLevel?: number;
11630
11932
  pitch?: number;
11631
11933
  bearing?: number;
11934
+ naturalBearing?: number;
11632
11935
  outdoorView: {
11633
11936
  headers: {
11634
11937
  'x-mappedin-tiles-key': string;
11635
11938
  };
11636
11939
  style?: string;
11637
11940
  enabled: boolean;
11941
+ lowDpi?: boolean;
11638
11942
  };
11639
11943
  gl?: WebGLRenderingContext;
11640
11944
  map?: MapLibreMap;
@@ -11648,20 +11952,18 @@ declare module '@mappedin/react-sdk/geojson/src/types/options' {
11648
11952
  onWebGLRendererError?: (error: Error) => void;
11649
11953
  watermark?: WatermarkOptions;
11650
11954
  attribution?: AttributionControlOptions;
11955
+ imagePlacementOptions?: ImagePlacementOptions;
11651
11956
  /**
11652
11957
  * environment map for reflections.
11653
11958
  * @default 'basic'
11654
11959
  */
11655
11960
  environment?: EnvMapOptions;
11656
11961
  occlusionEnabled?: boolean;
11962
+ /** Callback to intercept and modify requests for images. */
11963
+ transformImageRequest?: TransformImageRequest;
11657
11964
  }>;
11658
11965
  }
11659
11966
 
11660
- declare module '@mappedin/react-sdk/geojson/src/types/constants' {
11661
- import type { InsetPadding } from '@mappedin/react-sdk/geojson/src/types';
11662
- export const DEFAULT_INSET_PADDING: InsetPadding;
11663
- }
11664
-
11665
11967
  declare module '@mappedin/react-sdk/geojson/src/systems/mesh-creation-and-optimization/batched-material' {
11666
11968
  import { MeshLambertMaterial, type Color, type Texture, type MeshLambertMaterialParameters } from 'three';
11667
11969
  export class BatchedStandardMaterial extends MeshLambertMaterial {
@@ -11864,26 +12166,38 @@ declare module '@mappedin/react-sdk/geojson/src/systems/2d-projection/system' {
11864
12166
  }
11865
12167
 
11866
12168
  declare module '@mappedin/react-sdk/geojson/src/systems/2d-draw/system' {
11867
- import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
12169
+ import type { RendererState, TransformImageRequest } from '@mappedin/react-sdk/geojson/src/renderer';
11868
12170
  import LabelComponent from '@mappedin/react-sdk/geojson/src/components/label';
12171
+ import { PubSub } from '@packages/internal/common';
11869
12172
  export const INACTIVE_MARKER_SIZE_NO_ICON = 3.5;
11870
12173
  enum TEXTALIGN {
11871
12174
  LEFT = "left",
11872
12175
  CENTER = "center",
11873
12176
  RIGHT = "right"
11874
12177
  }
11875
- export class TwoDDrawSystem {
12178
+ export class TwoDDrawSystem extends PubSub<{
12179
+ 'img:loaded': undefined;
12180
+ }> {
11876
12181
  dirty: boolean;
11877
12182
  state: RendererState;
11878
12183
  colliderContext: CanvasRenderingContext2D;
11879
12184
  colliderCanvas: HTMLCanvasElement;
11880
- constructor(state: RendererState, colliderCanvas: HTMLCanvasElement);
12185
+ transformRequestFunc?: TransformImageRequest;
12186
+ constructor(state: RendererState, colliderCanvas: HTMLCanvasElement, transformImageRequest?: TransformImageRequest);
12187
+ transformRequest: (url: string) => Promise<{
12188
+ url: string;
12189
+ }>;
11881
12190
  pinCache: {
11882
12191
  [key in number]: [HTMLCanvasElement | OffscreenCanvas, HTMLCanvasElement | OffscreenCanvas];
11883
12192
  };
11884
- imagePromiseCache: {
12193
+ /** Stores the loaded images ready to be drawn. */
12194
+ imageCache: {
11885
12195
  [key in number]: HTMLImageElement | ImageBitmap;
11886
12196
  };
12197
+ /** Stores the promises for each image fetch. */
12198
+ imagePromiseCache: {
12199
+ [key in number]: Promise<HTMLImageElement | ImageBitmap>;
12200
+ };
11887
12201
  imageDimensionsCache: {
11888
12202
  [key in number]: {
11889
12203
  width: number;
@@ -12231,7 +12545,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/outline-interpolation/sy
12231
12545
  }
12232
12546
 
12233
12547
  declare module '@mappedin/react-sdk/geojson/src/systems/image/system' {
12234
- import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
12548
+ import type { ImagePlacementOptions, RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
12235
12549
  import { type Texture } from 'three';
12236
12550
  import type { RendererCore } from '@mappedin/react-sdk/geojson/src';
12237
12551
  import { PubSub } from '@packages/internal/common';
@@ -12239,7 +12553,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/image/system' {
12239
12553
  export class ImageSystem extends PubSub<{
12240
12554
  'image-loaded': void;
12241
12555
  }> {
12242
- constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']);
12556
+ constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition'], initialBearing?: number, naturalBearing?: number, imagePlacementOptions?: ImagePlacementOptions);
12243
12557
  imageLoadingCache: Map<string, Promise<Texture>>;
12244
12558
  update(cameraRotationRadians: number): void;
12245
12559
  }
@@ -12260,7 +12574,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/geometry-in-focus/system
12260
12574
  focusablesDirty: boolean;
12261
12575
  constructor(state: RendererState, camera: PerspectiveCamera);
12262
12576
  resize(): void;
12263
- update: (userIsInteracting?: boolean) => void;
12577
+ update: (cameraIsMoving?: boolean) => void;
12264
12578
  updateRaf(): void;
12265
12579
  showRaycasters(): void;
12266
12580
  hideRaycasters(): void;
@@ -12717,12 +13031,21 @@ declare module '@mappedin/react-sdk/geojson/src/components/styles/model-style' {
12717
13031
  * vertical offset of the model in meters off the floor
12718
13032
  */
12719
13033
  verticalOffset: number;
13034
+ /**
13035
+ * Color property designed for use with @mappedin/3d-assets.
13036
+ * Updates the accent color of 3d assets by applying the color to materials named
13037
+ * ['Default', 'Fabric', 'Mpdn_Logo', 'Fabric_Logo'].
13038
+ * For custom colors on non-Mappedin models, use the {@link ModelStyle.material | material} property.
13039
+ * If both the `material` and `color` properties are provided, `material` property updates will take higher precedence than `color` property updates.
13040
+ */
13041
+ color: string;
12720
13042
  };
12721
13043
  export class ModelStyleComponnet implements Partial<ModelStyle> {
12722
13044
  dirty: boolean;
12723
13045
  visible: boolean;
12724
13046
  opacity: number;
12725
13047
  verticalOffset: number;
13048
+ color?: string;
12726
13049
  material?: ModelStyle['material'];
12727
13050
  constructor(init?: Partial<ModelStyle>);
12728
13051
  }
@@ -12731,7 +13054,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/styles/model-style' {
12731
13054
 
12732
13055
  declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
12733
13056
  import type { Polygon, MultiPolygon, FloorProperties as MVFFloor, ParsedMVF, Feature } from '@mappedin/mvf';
12734
- import type { RendererCore } from '@mappedin/core-sdk';
13057
+ import type { RendererCore, BBox } from '@mappedin/core-sdk';
12735
13058
  import type { AggregatedStyleMap } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils';
12736
13059
  import type { TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
12737
13060
  class Layer {
@@ -12744,6 +13067,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
12744
13067
  hide(): void;
12745
13068
  }
12746
13069
  export class FloorObject implements MVFFloor {
13070
+ #private;
12747
13071
  id: string;
12748
13072
  name?: string;
12749
13073
  elevation: number;
@@ -12756,6 +13080,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
12756
13080
  layers: Map<string, Layer>;
12757
13081
  footprint?: Feature<Polygon | MultiPolygon | null, MVFFloor>;
12758
13082
  floorStackId: string;
13083
+ get geoJSONBoundingBox(): BBox | undefined;
12759
13084
  constructor(parentId: string, floor: MVFFloor, renderer: RendererCore, multiFloorView: Required<TShow3DMapOptions['multiFloorView']>, options: TShow3DMapOptions, mvf?: ParsedMVF, styleMap?: AggregatedStyleMap);
12760
13085
  load: () => this;
12761
13086
  get visible(): boolean;